:root {
  --bg: #07070F;
  --bg2: #0E0E1A;
  --bg3: #141425;
  --accent: #6C3DE8;
  --cyan: #00D4FF;
  --cyan2: #00AACC;
  --white: #F0F0FF;
  --muted: #AAAACC;
}
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { background:var(--bg); color:var(--white); font-family:'Noto Sans JP',sans-serif; font-weight:300; overflow-x:hidden; }

/* PARTICLES */
#particles { position:fixed; top:0; left:0; width:100%; height:100%; pointer-events:none; z-index:0; overflow:hidden; }
.particle { position:absolute; border-radius:50%; animation:floatup linear infinite; opacity:0; }
@keyframes floatup {
  0%   { transform:translateY(100vh) scale(0); opacity:0; }
  10%  { opacity:0.9; }
  90%  { opacity:0.5; }
  100% { transform:translateY(-120px) scale(1.2); opacity:0; }
}

/* HEADER */
header {
  position:fixed; top:0; left:0; width:100%; z-index:100;
  padding:0.9rem 2rem;
  background:rgba(7,7,15,0.88); backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(108,61,232,0.25);
  display:flex; align-items:center; justify-content:space-between;
}

.logo {
  font-family:'Orbitron',sans-serif; font-weight:900; font-size:1.3rem;
  background:linear-gradient(90deg,var(--accent),var(--cyan));
  -webkit-background-clip:text; -webkit-text-fill-color:transparent;
  letter-spacing:0.1em; flex-shrink:0;
}
.header-equalizer-wrap {
  display:flex; align-items:center; flex-shrink:0;
  width:140px; height:34px;
}
.header-equalizer {
  display:block;
  width:100%; height:100%;
  opacity:0.85;
  filter:drop-shadow(0 0 6px rgba(120,160,255,0.7)) drop-shadow(0 0 12px rgba(0,212,255,0.35));
}
nav { display:flex; align-items:center; gap:0.2rem; }
nav a { color:var(--muted); text-decoration:none; padding:0.4rem 0.9rem; border-radius:50px; font-size:0.82rem; transition:all 0.3s; }
nav a:hover { color:var(--white); }
nav a.nav-player  { border:1px solid rgba(108,61,232,0.4); color:rgba(180,160,255,0.9); }
nav a.nav-player:hover  { background:rgba(108,61,232,0.15); border-color:var(--accent); color:var(--white); }
nav a.nav-converter { border:1px solid rgba(0,212,255,0.35); color:rgba(120,220,255,0.9); }
nav a.nav-converter:hover { background:rgba(0,212,255,0.1); border-color:var(--cyan); color:var(--white); }

/* HERO */
#hero {
  position:relative; min-height:100vh;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center; padding:7rem 2rem 5rem; z-index:1; overflow:hidden;
}
.hero-2col {
  display:grid; grid-template-columns:1fr 1.5fr;
  align-items:center; width:100%; max-width:1100px; margin-bottom:2rem; gap:0;
}
.hero-img-col {
  position:relative;
}
.hero-logo {
  position:absolute;
  left:0%;
  top:-20%;
  transform:none;
  font-family:'Orbitron',sans-serif;
  font-weight:900;
  font-size:2.7rem;
  letter-spacing:0.06em;
  background:linear-gradient(90deg,var(--accent),var(--cyan));
  -webkit-background-clip:text; -webkit-text-fill-color:transparent;
  z-index:2;
  pointer-events:none;
  white-space:nowrap;
  filter:drop-shadow(0 2px 18px rgba(108,61,232,0.55));
}
.hero-img-col img {
  width:85%; height:100%; max-height:460px;
  object-fit:contain; object-position:bottom center; display:block;
  -webkit-mask-image: linear-gradient(to right, black 60%, transparent 95%),
                      linear-gradient(to top, transparent 0%, black 8%),
                      linear-gradient(to bottom, transparent 0%, black 6%);
  -webkit-mask-composite: destination-in, destination-in;
  mask-image: linear-gradient(to right, black 60%, transparent 95%),
              linear-gradient(to top, transparent 0%, black 8%),
              linear-gradient(to bottom, transparent 0%, black 6%);
  mask-composite: intersect, intersect;
}
.hero-text-col {
  display:flex; flex-direction:column; align-items:center; text-align:center;
}
.hero-glow {
  position:absolute; width:700px; height:700px; border-radius:50%;
  background:radial-gradient(circle,rgba(108,61,232,0.18) 0%,transparent 70%);
  top:50%; left:50%; transform:translate(-50%,-50%);
  animation:hpulse 5s ease-in-out infinite;
}
@keyframes hpulse { 0%,100%{transform:translate(-50%,-50%) scale(1);opacity:0.6} 50%{transform:translate(-50%,-50%) scale(1.15);opacity:1} }
.orbit-ring { position:absolute; border-radius:50%; border:1px solid rgba(108,61,232,0.12); animation:spin linear infinite; pointer-events:none; }
@keyframes spin { from{transform:rotate(0deg)} to{transform:rotate(360deg)} }

.hero-tag { font-family:'Orbitron',sans-serif; font-size:0.72rem; letter-spacing:0.3em; color:var(--cyan); text-transform:uppercase; border:1px solid rgba(0,212,255,0.3); padding:0.28rem 1rem; border-radius:50px; margin-bottom:1.5rem; }
h1.hero-title { font-family:'Orbitron',sans-serif; font-size:clamp(1.9rem,5.5vw,4rem); font-weight:900; line-height:1.15; margin-bottom:1.3rem; background:linear-gradient(135deg,#fff 0%,var(--cyan) 50%,var(--accent) 100%); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-size:200%; animation:shimmer 3s linear infinite; }
@keyframes shimmer { 0%{background-position:0% 50%} 100%{background-position:200% 50%} }
.hero-desc { font-size:1rem; color:var(--muted); max-width:520px; line-height:1.9; margin-bottom:2.5rem; }

/* HERO PRODUCT CARDS */
.hero-products { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; max-width:1060px; width:100%; margin-bottom:2.5rem; }
.hero-pcard { border-radius:20px; padding:2.4rem 2.2rem 2.2rem; text-decoration:none; display:block; transition:all 0.35s; position:relative; overflow:hidden; text-align:left; }
.hpc-top { display:flex; align-items:flex-start; gap:1.2rem; margin-bottom:1rem; }
.hero-pcard:hover { transform:translateY(-5px); }
.hpc-player  { background:linear-gradient(135deg,rgba(108,61,232,0.18),rgba(60,20,120,0.25)); border:1px solid rgba(108,61,232,0.45); }
.hpc-player:hover  { border-color:var(--accent); box-shadow:0 12px 40px rgba(108,61,232,0.3); }
.hpc-converter { background:linear-gradient(135deg,rgba(0,180,220,0.12),rgba(0,60,80,0.22)); border:1px solid rgba(0,212,255,0.3); }
.hpc-converter:hover { border-color:var(--cyan); box-shadow:0 12px 40px rgba(0,212,255,0.2); }
.hpc-icon { flex-shrink:0; width:68px; height:68px; }
.hpc-icon img { width:100%; height:auto; display:block; }
.hpc-top-row { display:flex; align-items:flex-start; gap:1rem; margin-bottom:0.8rem; }
.hpc-top-info { flex:1; }
.hpc-fmt-tags { display:flex; flex-wrap:wrap; gap:0.35rem; margin-top:0.6rem; }
.hpc-tag { font-family:'Orbitron',sans-serif; font-size:0.55rem; padding:0.2rem 0.5rem; border-radius:4px; }
.hpc-tag-p { background:rgba(108,61,232,0.15); border:1px solid rgba(108,61,232,0.4); color:rgba(180,140,255,0.9); }
.hpc-tag-c { background:rgba(0,212,255,0.08); border:1px solid rgba(0,212,255,0.3); color:rgba(100,220,255,0.9); }
.hpc-num { font-family:'Orbitron',sans-serif; font-size:0.62rem; letter-spacing:0.25em; margin-bottom:0.5rem; }
.hpc-player .hpc-num { color:rgba(180,140,255,0.7); }
.hpc-converter .hpc-num { color:rgba(0,200,240,0.7); }
.hpc-catch {
  font-size:1.2rem; font-weight:700; margin-bottom:0.4rem; line-height:1.3;
  letter-spacing:0.02em;
}
.hpc-player .hpc-catch { color:rgba(210,190,255,1); }
.hpc-converter .hpc-catch { color:rgba(140,230,255,1); }
.hpc-name { font-family:'Orbitron',sans-serif; font-size:0.85rem; font-weight:700; margin-bottom:0.6rem; }
.hpc-player .hpc-name { color:rgba(180,140,255,0.85); }
.hpc-converter .hpc-name { color:rgba(100,210,255,0.85); }
.hpc-sub { font-size:0.82rem; color:var(--muted); line-height:1.6; padding-right:1.5rem; margin-bottom:1rem; }
.hpc-points { list-style:none; padding:0; margin:0 0 0.5rem 0; display:flex; flex-direction:column; gap:0.35rem; }
.hpc-points li { font-size:0.78rem; color:var(--muted); display:flex; align-items:center; gap:0.5rem; }
.hpc-points li::before { content:'✦'; font-size:0.6rem; flex-shrink:0; }
.hpc-player .hpc-points li::before { color:var(--accent); }
.hpc-converter .hpc-points li::before { color:var(--cyan); }
.hpc-arrow { position:absolute; right:1.4rem; bottom:1.4rem; font-size:1.1rem; transition:transform 0.3s; }
.hpc-player .hpc-arrow { color:var(--accent); }
.hpc-converter .hpc-arrow { color:var(--cyan); }
.hero-pcard:hover .hpc-arrow { transform:translateX(5px); }

.hero-btns { display:flex; gap:1rem; flex-wrap:wrap; justify-content:center; }
.btn-primary { padding:0.85rem 2.2rem; border-radius:50px; background:linear-gradient(135deg,var(--accent),var(--cyan)); color:#fff; font-weight:600; font-size:0.92rem; text-decoration:none; border:none; cursor:pointer; transition:transform 0.2s,box-shadow 0.2s; box-shadow:0 0 20px rgba(108,61,232,0.5); letter-spacing:0.05em; }
.btn-primary:hover { transform:translateY(-3px); box-shadow:0 0 40px rgba(0,212,255,0.6); }
.scroll-hint { position:absolute; bottom:2rem; left:50%; transform:translateX(-50%); display:flex; flex-direction:column; align-items:center; gap:0.5rem; color:var(--muted); font-size:0.72rem; letter-spacing:0.2em; animation:sbounce 2s ease-in-out infinite; }
.scroll-arrow { width:18px; height:18px; border-right:2px solid var(--accent); border-bottom:2px solid var(--accent); transform:rotate(45deg); }
@keyframes sbounce { 0%,100%{transform:translateX(-50%) translateY(0)} 50%{transform:translateX(-50%) translateY(8px)} }

/* DIVIDER */
.divider { width:100%; height:1px; background:linear-gradient(90deg,transparent,var(--accent),transparent); }

/* SECTION COMMON */
section { position:relative; z-index:1; }
.section-inner { max-width:1100px; margin:0 auto; padding:3.5rem 2rem; }
.section-tag { display:inline-block; font-family:'Orbitron',sans-serif; font-size:0.68rem; letter-spacing:0.28em; text-transform:uppercase; border:1px solid; padding:0.28rem 1rem; border-radius:50px; margin-bottom:1.5rem; }
.tag-player    { color:rgba(180,140,255,1); border-color:rgba(108,61,232,0.5); }
.tag-converter { color:var(--cyan); border-color:rgba(0,212,255,0.4); }
.section-title { font-family:'Orbitron',sans-serif; font-size:clamp(1.5rem,3vw,2.3rem); font-weight:700; margin-bottom:0.8rem; }
.section-desc  { color:var(--muted); font-size:0.95rem; line-height:1.85; max-width:560px; }

/* ── 製品セクション：上段（画像＋右カラム）、下段（機能詳細全幅） ── */
.prod-top {
  display:grid; grid-template-columns:1fr 1fr; gap:3rem;
  align-items:start; margin-top:3.5rem;
}
.prod-top.reverse { direction:rtl; }
.prod-top.reverse > * { direction:ltr; }

/* 画像フレーム */
.screenshot-wrap { border-radius:16px; overflow:hidden; border:1px solid; background:var(--bg2); }
.sw-player    { border-color:rgba(108,61,232,0.45); }
.sw-converter { border-color:rgba(0,212,255,0.35); }
.screenshot-topbar { display:flex; align-items:center; gap:6px; padding:10px 14px; border-bottom:1px solid; }
.sw-player .screenshot-topbar    { border-color:rgba(108,61,232,0.25); background:rgba(108,61,232,0.08); }
.sw-converter .screenshot-topbar { border-color:rgba(0,212,255,0.2);   background:rgba(0,212,255,0.05); }
.dot   { width:10px; height:10px; border-radius:50%; }
.dot-r { background:#ff5f57; } .dot-y { background:#ffbd2e; } .dot-g { background:#28c941; }
.topbar-title { flex:1; text-align:center; font-family:'Orbitron',sans-serif; font-size:0.6rem; letter-spacing:0.15em; }
.sw-player .topbar-title    { color:rgba(180,140,255,0.6); }
.sw-converter .topbar-title { color:rgba(0,200,240,0.6); }
.screenshot-img-area { width:100%; position:relative; overflow:hidden; min-height:240px; display:flex; align-items:center; justify-content:center; }
.screenshot-img-area img { width:100%; height:auto; display:block; object-fit:cover; cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Ccircle cx='16' cy='16' r='11' fill='rgba(0,0,0,0.45)' stroke='white' stroke-width='2.5'/%3E%3Cline x1='24' y1='24' x2='36' y2='36' stroke='white' stroke-width='3' stroke-linecap='round'/%3E%3Cline x1='11' y1='16' x2='21' y2='16' stroke='white' stroke-width='2' stroke-linecap='round'/%3E%3Cline x1='16' y1='11' x2='16' y2='21' stroke='white' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") 16 16, zoom-in; }
.screenshot-placeholder { width:100%; min-height:260px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1rem; padding:2rem; }
.sw-player .screenshot-placeholder    { background:linear-gradient(160deg,#0D0820 0%,#160B30 50%,#0A0618 100%); }
.sw-converter .screenshot-placeholder { background:linear-gradient(160deg,#06141A 0%,#0A2030 50%,#051018 100%); }
.ph-icon { font-size:3rem; opacity:0.5; }
.ph-text { font-family:'Orbitron',sans-serif; font-size:0.62rem; letter-spacing:0.2em; text-align:center; line-height:1.6; }
.sw-player .ph-text    { color:rgba(150,110,240,0.5); }
.sw-converter .ph-text { color:rgba(0,180,220,0.4); }
.ph-border-hint { border:1px dashed; border-radius:8px; padding:0.5rem 1.2rem; font-size:0.65rem; }
.sw-player .ph-border-hint    { border-color:rgba(108,61,232,0.3); color:rgba(150,110,240,0.5); }
.sw-converter .ph-border-hint { border-color:rgba(0,212,255,0.2);   color:rgba(0,180,220,0.4); }
.ph-viz { display:flex; align-items:flex-end; gap:3px; height:40px; }
.ph-vbar { width:5px; border-radius:2px; background:linear-gradient(to top,rgba(108,61,232,0.6),rgba(0,212,255,0.6)); animation:vwave 1s ease-in-out infinite; }
.ph-convert-row { display:flex; align-items:center; gap:10px; }
.ph-fbox { width:52px; height:34px; border-radius:6px; display:flex; align-items:center; justify-content:center; font-family:'Orbitron',sans-serif; font-size:0.58rem; font-weight:700; border:1px solid; }
.ph-fbox-in  { background:rgba(0,212,255,0.08); border-color:rgba(0,212,255,0.3); color:var(--cyan); }
.ph-fbox-out { background:rgba(108,61,232,0.1);  border-color:rgba(108,61,232,0.4); color:var(--accent); }
.ph-carr { font-size:1.4rem; color:var(--cyan); animation:slide-right 1.5s ease-in-out infinite; }
@keyframes slide-right { 0%,100%{transform:translateX(-4px);opacity:0.4} 50%{transform:translateX(4px);opacity:1} }

/* 右カラム（バッジ・名前・説明・フォーマットタグ） */
.prod-side { display:flex; flex-direction:column; }
.prod-badge { display:inline-flex; align-items:center; gap:0.5rem; font-size:0.63rem; letter-spacing:0.15em; text-transform:uppercase; padding:0.28rem 0.8rem; border-radius:50px; margin-bottom:1rem; align-self:flex-start; }
.badge-player    { background:rgba(108,61,232,0.15); border:1px solid rgba(108,61,232,0.5); color:rgba(180,140,255,1); }
.badge-converter { background:rgba(0,212,255,0.08);  border:1px solid rgba(0,212,255,0.35); color:var(--cyan); }
.prod-name { font-family:'Orbitron',sans-serif; font-size:1.4rem; font-weight:700; margin-bottom:0.8rem; line-height:1.2; }
.prod-desc { color:var(--muted); font-size:0.95rem; line-height:1.85; margin-bottom:1.5rem; }

.fmt-group-label { font-family:'Orbitron',sans-serif; font-size:0.62rem; color:var(--muted); letter-spacing:0.15em; margin-bottom:0.45rem; }
.format-tags { display:flex; flex-wrap:wrap; gap:0.4rem; margin-bottom:1rem; }
.format-tag { font-family:'Orbitron',sans-serif; font-size:0.58rem; padding:0.22rem 0.55rem; border-radius:4px; letter-spacing:0.08em; }
.ft-player    { background:rgba(108,61,232,0.12); border:1px solid rgba(108,61,232,0.35); color:rgba(180,140,255,0.9); }
.ft-converter { background:rgba(0,212,255,0.07);  border:1px solid rgba(0,212,255,0.25);  color:var(--cyan); }

/* ── 下段：全幅機能グリッド ── */
.prod-bottom {
  margin-top:2.5rem;
  border-top:1px solid rgba(108,61,232,0.15);
  padding-top:2.5rem;
}
.sw-converter ~ .prod-bottom,
.sec-tint-converter .prod-bottom { border-top-color:rgba(0,212,255,0.12); }

/* スペックバー（横並び） */
.spec-bar {
  display:flex; flex-wrap:wrap; gap:0.6rem;
  margin-bottom:2.5rem;
}
.spec-chip {
  display:flex; align-items:center; gap:0.5rem;
  padding:0.4rem 1rem; border-radius:50px;
  font-size:0.82rem;
}
.spec-chip-player    { background:rgba(108,61,232,0.1); border:1px solid rgba(108,61,232,0.3); }
.spec-chip-converter { background:rgba(0,212,255,0.07); border:1px solid rgba(0,212,255,0.22); }
.spec-chip-key   { color:var(--muted); font-size:0.72rem; }
.spec-chip-val-p { color:rgba(180,140,255,1); font-family:'Orbitron',sans-serif; font-size:0.72rem; }
.spec-chip-val-c { color:var(--cyan); font-family:'Orbitron',sans-serif; font-size:0.72rem; }

/* 機能グリッド */
.feat-grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem;
  margin-bottom:2.5rem;
}
.feat-card {
  border-radius:12px; padding:1.2rem 1.3rem;
  background:var(--bg2);
  border:1px solid;
  transition:transform 0.3s, box-shadow 0.3s;
}
.feat-card:hover { transform:translateY(-3px); }
.feat-card-player    { border-color:rgba(108,61,232,0.22); }
.feat-card-player:hover    { box-shadow:0 8px 28px rgba(108,61,232,0.18); border-color:rgba(108,61,232,0.5); }
.feat-card-converter { border-color:rgba(0,212,255,0.18); }
.feat-card-converter:hover { box-shadow:0 8px 28px rgba(0,212,255,0.15); border-color:rgba(0,212,255,0.45); }
.feat-card-title {
  font-size:0.95rem; font-weight:600; margin-bottom:0.5rem; line-height:1.3;
  display:flex; align-items:center; gap:0.5rem;
}
.feat-card-title svg { width:17px; height:17px; flex-shrink:0; }
.feat-card-player    .feat-card-title { color:rgba(200,175,255,1); }
.feat-card-converter .feat-card-title { color:rgba(100,220,255,1); }
.feat-card-body { color:var(--muted); font-size:0.875rem; line-height:1.7; }

/* ダウンロードボタン */
.btn-dl { display:inline-flex; align-items:center; gap:0.6rem; padding:0.9rem 2.2rem; border-radius:50px; font-weight:600; font-size:0.95rem; text-decoration:none; border:none; cursor:pointer; transition:all 0.3s; letter-spacing:0.04em; }
.btn-dl svg { width:18px; height:18px; flex-shrink:0; }
.btn-dl-player    { background:linear-gradient(135deg,var(--accent),#7B50FF); color:#fff; box-shadow:0 0 22px rgba(108,61,232,0.45); }
.btn-dl-player:hover    { box-shadow:0 0 36px rgba(108,61,232,0.7); transform:translateY(-3px); }
.btn-dl-converter { background:linear-gradient(135deg,var(--cyan2),var(--accent)); color:#fff; box-shadow:0 0 22px rgba(0,212,255,0.35); }
.btn-dl-converter:hover { box-shadow:0 0 36px rgba(0,212,255,0.6); transform:translateY(-3px); }

/* BG TINT */
.sec-tint-player    { background:linear-gradient(180deg,transparent 0%,rgba(108,61,232,0.04) 50%,transparent 100%); }
.sec-tint-converter { background:linear-gradient(180deg,transparent 0%,rgba(0,212,255,0.03) 50%,transparent 100%); }

/* FAQ */
.faq-list { display:grid; gap:1rem; max-width:780px; }
.faq-item { background:var(--bg2); border:1px solid rgba(108,61,232,0.2); border-radius:12px; overflow:hidden; }
.faq-q { padding:1.1rem 1.4rem; font-size:0.88rem; font-weight:600; cursor:pointer; display:flex; justify-content:space-between; align-items:center; transition:color 0.3s; }
.faq-q:hover { color:var(--cyan); }
.faq-q span { color:var(--cyan); font-size:1.2rem; transition:transform 0.3s; }
.faq-a { padding:0 1.4rem; max-height:0; overflow:hidden; transition:all 0.4s; color:var(--muted); font-size:0.875rem; line-height:1.8; }
.faq-item.open .faq-a { max-height:300px; padding:0 1.4rem 1.2rem; }
.faq-item.open .faq-q span { transform:rotate(45deg); }

/* FOOTER */
footer { text-align:center; padding:3rem 2rem; border-top:1px solid rgba(108,61,232,0.2); color:var(--muted); font-size:0.8rem; line-height:2; position:relative; z-index:1; }
.footer-logo { font-family:'Orbitron',sans-serif; font-weight:900; font-size:1.4rem; background:linear-gradient(90deg,var(--accent),var(--cyan)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; margin-bottom:0.8rem; }

/* FADE IN */
.fade-in { opacity:0; transform:translateY(28px); transition:opacity 0.7s ease,transform 0.7s ease; }
.fade-in.visible { opacity:1; transform:translateY(0); }

/* RESPONSIVE */
@media (max-width:900px) {
  .prod-top { grid-template-columns:1fr; }
  .prod-top.reverse { direction:ltr; }
  .feat-grid { grid-template-columns:1fr 1fr; }
  .hero-products { grid-template-columns:1fr; }
  nav a.nav-player, nav a.nav-converter { display:none; }
  .hero-logo { font-size:1.9rem; left:3%; top:4%; }
}
@media (max-width:580px) {
  nav { display:none; }
  .feat-grid { grid-template-columns:1fr; }
}

/* Modal */
#imgModal.open { opacity:1 !important; pointer-events:auto !important; }
#imgModal.open img { transform:scale(1) !important; }
#imgModalClose:hover { background:rgba(255,255,255,0.22); }
/* PLATFORM BANNER */
.platform-banner {
  display:inline-flex; align-items:center; gap:0.8rem;
  padding:0.6rem 1.8rem 0.6rem 1.4rem;
  border-radius:50px;
  border:1px solid rgba(108,61,232,0.45);
  background:linear-gradient(90deg,rgba(108,61,232,0.12),rgba(0,212,255,0.07));
  margin-bottom:1.4rem;
  backdrop-filter:blur(6px);
  position:relative;
  overflow:hidden;
}
.platform-banner::before {
  content:'';
  position:absolute; top:0; left:0; right:0; height:1px;
  background:linear-gradient(90deg,transparent,rgba(108,61,232,0.6),rgba(0,212,255,0.6),transparent);
}
.platform-banner-dot {
  width:10px; height:10px; border-radius:50%;
  background:var(--cyan);
  box-shadow:0 0 8px var(--cyan);
  flex-shrink:0;
  animation:dot-pulse 2s ease-in-out infinite;
}
@keyframes dot-pulse {
  0%,100%{opacity:1;box-shadow:0 0 6px var(--cyan);}
  50%{opacity:0.5;box-shadow:0 0 3px var(--cyan);}
}
.platform-banner-text {
  font-family:'Orbitron',sans-serif;
  font-size:0.9rem;
  font-weight:700;
  letter-spacing:0.22em;
  text-transform:uppercase;
  background:linear-gradient(90deg,rgba(180,160,255,1),rgba(0,212,255,0.9));
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
}
.platform-banner-sep {
  font-size:0.85rem;
  color:rgba(108,61,232,0.5);
  font-weight:300;
  -webkit-text-fill-color:rgba(108,61,232,0.5);
}