:root{
  --primary:#6C2BD9;
  --pink:#ff3d8a;
  --cyan:#2de2e6;
  --orange:#ff9e3d;
  --bg:#170a2c;
}
/* video51 — Retro Synthwave 蒸汽波复古 / 落日渐变 + 网格地平线 + 霓虹铬色 */
*{box-sizing:border-box;}
body{
  background:#170a2c;color:#c3b6e0;
  font-family:"Segoe UI",-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;
  background-image:
    radial-gradient(46rem 30rem at 50% -8%,rgba(255,61,138,.3),transparent 62%),
    radial-gradient(40rem 26rem at 0% 100%,rgba(45,226,230,.2),transparent 60%);
  background-attachment:fixed;
}
.mono{font-family:"SF Mono",ui-monospace,Menlo,Consolas,monospace;}
::selection{background:#ff3d8a;color:#170a2c;}
::-webkit-scrollbar{width:10px;}
::-webkit-scrollbar-track{background:#170a2c;}
::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#ff3d8a,#2de2e6);}

.sunset{background:linear-gradient(180deg,#ff9e3d,#ff3d8a 55%,#7b2ff7);}
.t-chrome{background:linear-gradient(180deg,#fff 10%,#2de2e6 45%,#ff3d8a 80%);-webkit-background-clip:text;background-clip:text;color:transparent;}
.t-pink{color:#ff3d8a;}
.t-cyan{color:#2de2e6;}
.grid-floor{
  background-image:linear-gradient(rgba(45,226,230,.4) 1px,transparent 1px),linear-gradient(90deg,rgba(45,226,230,.4) 1px,transparent 1px);
  background-size:40px 40px;
}

.sw-card{background:rgba(35,18,62,.85);border:1px solid rgba(255,61,138,.3);border-radius:.6rem;transition:border-color .3s,box-shadow .3s,transform .3s;}
.sw-card:hover,.sw-card.video-card:hover{border-color:#2de2e6;box-shadow:0 0 26px -6px rgba(45,226,230,.55);transform:translateY(-4px);}
.sw-panel{background:rgba(35,18,62,.8);border:1px solid rgba(123,47,247,.4);border-radius:.7rem;}

.sw-btn{display:inline-flex;align-items:center;gap:.45rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;border-radius:.5rem;padding:.85rem 1.8rem;background:linear-gradient(120deg,#ff3d8a,#ff9e3d);color:#170a2c;box-shadow:0 0 24px -6px rgba(255,61,138,.8);transition:transform .25s;}
.sw-btn:hover{transform:translateY(-2px);}
.sw-btn-ghost{display:inline-flex;align-items:center;gap:.45rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;border-radius:.5rem;padding:.8rem 1.8rem;background:transparent;color:#2de2e6;border:1px solid #2de2e6;transition:.25s;}
.sw-btn-ghost:hover{background:rgba(45,226,230,.12);box-shadow:0 0 20px -6px rgba(45,226,230,.7);}

.chip{border-radius:9999px;background:rgba(255,61,138,.16);color:#ff7dae;border:1px solid rgba(255,61,138,.35);}
.glow-pink{text-shadow:0 0 12px rgba(255,61,138,.8);}
.glow-cyan{text-shadow:0 0 12px rgba(45,226,230,.8);}

.cat-tab{border-radius:.45rem;background:rgba(35,18,62,.8);border:1px solid rgba(123,47,247,.4);color:#9d8fc4;font-weight:600;text-transform:uppercase;font-size:.74rem;transition:.25s;}
.cat-tab:hover{color:#2de2e6;}
.cat-tab.active{background:linear-gradient(120deg,#ff3d8a,#ff9e3d);color:#170a2c;border-color:transparent;}

.nav-link{color:#9d8fc4;font-weight:600;text-transform:uppercase;font-size:.78rem;letter-spacing:.06em;transition:.25s;}
.nav-link:hover{color:#2de2e6;}
.nav-link.active{color:#ff3d8a;}

.nav{display:flex;}
@media(max-width:1023px){
  .nav{position:fixed;top:0;right:0;bottom:0;width:80%;max-width:320px;flex-direction:column;align-items:flex-start;gap:1.2rem;background:#1d0f37;border-left:1px solid #ff3d8a;box-shadow:-14px 0 44px -10px rgba(255,61,138,.5);padding:5.5rem 2rem 2rem;transform:translateX(102%);transition:transform .3s ease;z-index:60;overflow-y:auto;}
  .nav.active{transform:translateX(0);}
  .menu-overlay{position:fixed;inset:0;background:rgba(10,4,22,.8);opacity:0;visibility:hidden;transition:opacity .3s;z-index:55;}
  .menu-overlay.active{opacity:1;visibility:visible;}
  body.menu-open{overflow:hidden;}
}

.faq-answer{max-height:0;overflow:hidden;opacity:0;transition:max-height .3s ease,opacity .3s ease;}
.faq-item.active .faq-icon{transform:rotate(45deg);}
.faq-icon{transition:transform .25s ease;}

.back-to-top{opacity:0;visibility:hidden;transition:opacity .3s;}
.back-to-top.visible{opacity:1;visibility:visible;}

@media print{header,footer,.no-print{display:none;}body{background:#fff;color:#000;}}
