/* ============================================================
   DEMAN PLAY · Home Concept B — 沉浸游戏官网风 (暗色霓虹 · 强视觉冲击)
   Full-bleed atmosphere, neon glow, spotlight rail, game zones.
   ============================================================ */
:root{
  --neon: #9d6bff;          /* tweakable neon hue */
  --neon-2: #22d3ee;
  --glow: 26px;             /* tweakable glow radius */
  --shade: .62;             /* tweakable hero overlay darkness */
  --radius: 20px;

  --bg:#0c0a14;
  --bg-2:#120e1e;
  --panel: rgba(255,255,255,.04);
  --panel-2: rgba(255,255,255,.06);
  --line: rgba(255,255,255,.10);
  --line-2: rgba(255,255,255,.07);
  --ink:#f4f0ff;
  --ink-2:#b6acd0;
  --ink-3:#7d7498;
  --ok:#34e3b0;

  --sans:"Space Grotesk","Noto Sans SC",system-ui,sans-serif;
  --cn:"Noto Sans SC","Space Grotesk",system-ui,sans-serif;
  --disp:"Saira","Noto Sans SC",sans-serif;
  --mono:"JetBrains Mono",ui-monospace,monospace;
  --hud:"Chakra Petch","Noto Sans SC",sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:var(--cn);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;line-height:1.5;overflow-x:hidden;
  background-image:
    radial-gradient(60% 50% at 80% -5%, color-mix(in srgb,var(--neon) 38%,transparent), transparent 60%),
    radial-gradient(55% 45% at 5% 8%, color-mix(in srgb,var(--neon-2) 24%,transparent), transparent 60%);
  background-attachment:fixed;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
.wrap{width:min(1260px,92vw);margin:0 auto;}
::selection{background:var(--neon);color:#fff;}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:9px;font-family:var(--hud);font-weight:700;font-size:14px;letter-spacing:.01em;
  padding:13px 24px;border-radius:12px;border:1.5px solid transparent;cursor:pointer;transition:.2s;white-space:nowrap;text-transform:uppercase;}
.btn svg{width:17px;height:17px;}
.btn-primary{background:linear-gradient(135deg,var(--neon),color-mix(in srgb,var(--neon) 55%,#000));color:#fff;
  box-shadow:0 0 0 1px color-mix(in srgb,var(--neon) 60%,transparent),0 0 var(--glow) -4px var(--neon),0 14px 30px -14px var(--neon);}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 0 0 1px var(--neon),0 0 calc(var(--glow)+12px) -2px var(--neon);}
.btn-ghost{background:var(--panel);border-color:var(--line);color:var(--ink);}
.btn-ghost:hover{border-color:var(--neon);color:#fff;box-shadow:0 0 var(--glow) -8px var(--neon);}
.btn-lg{padding:16px 30px;font-size:15px;}
.btn-sm{padding:9px 16px;font-size:12px;border-radius:9px;}

/* ---------- nav ---------- */
.nav{position:sticky;top:0;z-index:100;background:color-mix(in srgb,var(--bg) 72%,transparent);
  -webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--line-2);}
.nav .wrap{display:flex;align-items:center;gap:18px;height:68px;}
.logo{font-family:var(--disp);font-style:italic;font-weight:900;text-transform:uppercase;letter-spacing:-.01em;
  font-size:23px;display:inline-flex;align-items:baseline;gap:.3em;white-space:nowrap;flex:none;}
.logo .pl{color:var(--neon);text-shadow:0 0 18px var(--neon);}
.logo .tld{font-family:var(--mono);font-style:normal;font-weight:500;font-size:.44em;color:var(--ink-3);letter-spacing:.08em;align-self:center;white-space:nowrap;}
.nav .links{display:flex;gap:2px;margin-left:16px;}
.nav .links a{font-family:var(--hud);font-weight:600;font-size:14px;color:var(--ink-2);padding:9px 14px;border-radius:999px;transition:.16s;letter-spacing:.02em;white-space:nowrap;}
.nav .links a:hover{color:#fff;background:var(--panel);}
.nav .right{margin-left:auto;display:flex;align-items:center;gap:9px;}
/* nav-area action buttons: compact pills, identical to inner pages */
.nav .right .btn{font-family:var(--cn);font-size:13.5px;font-weight:700;padding:9px 17px;border-radius:999px;border-width:1.5px;text-transform:none;letter-spacing:0;}
.icon-btn{width:40px;height:40px;border-radius:10px;border:1.5px solid var(--line);background:var(--panel);color:var(--ink-2);cursor:pointer;display:grid;place-items:center;transition:.16s;}
.icon-btn:hover{color:var(--neon);border-color:var(--neon);}
.icon-btn svg{width:17px;height:17px;}
.lang-btn{width:auto;gap:7px;padding:0 13px;font-family:var(--mono);font-size:12px;font-weight:600;}
.burger{display:none;}

/* ---------- HERO full-bleed ---------- */
.hero{position:relative;min-height:min(92vh,860px);display:flex;align-items:center;overflow:hidden;}
.hero-bg{position:absolute;inset:0;z-index:0;background:
  radial-gradient(80% 70% at 75% 18%, color-mix(in srgb,var(--neon) 30%,transparent), transparent 60%),
  radial-gradient(62% 60% at 16% 92%, color-mix(in srgb,var(--neon-2) 22%,transparent), transparent 60%),
  linear-gradient(160deg, var(--bg-2), var(--bg));}
.hero-bg image-slot{background:transparent;}
.hero-bg image-slot{position:absolute;inset:0;width:100%;height:100%;}
.hero-bg::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg, color-mix(in srgb,var(--bg) calc(var(--shade)*60%),transparent), var(--bg) 96%),
            linear-gradient(90deg, color-mix(in srgb,var(--bg) calc(var(--shade)*100%),transparent) 8%, transparent 70%);}
.hero-grid{position:absolute;inset:0;z-index:0;opacity:.5;
  background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);
  background-size:54px 54px;mask:radial-gradient(70% 80% at 30% 40%,#000,transparent 78%);}
.hero .wrap{position:relative;z-index:2;padding:60px 0;}
.hero-eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--neon);padding:8px 16px;border:1px solid color-mix(in srgb,var(--neon) 40%,transparent);border-radius:999px;
  background:color-mix(in srgb,var(--neon) 10%,transparent);margin-bottom:26px;white-space:nowrap;max-width:100%;}
.hero-eyebrow .live-dot{width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 10px var(--ok);}
.hero h1{font-family:var(--disp);font-style:italic;font-weight:900;text-transform:uppercase;line-height:.92;letter-spacing:-.02em;
  font-size:clamp(48px,8.5vw,118px);max-width:14ch;}
.hero h1 .gl{background:linear-gradient(120deg,var(--neon),var(--neon-2));-webkit-background-clip:text;background-clip:text;color:transparent;
  text-shadow:0 0 60px color-mix(in srgb,var(--neon) 60%,transparent);}
.hero .sub{font-family:var(--cn);font-size:clamp(16px,1.5vw,19px);color:var(--ink-2);max-width:560px;margin:26px 0 34px;text-wrap:pretty;}
.hero .cta-row{display:flex;gap:14px;flex-wrap:wrap;align-items:center;}
.hero-stats{display:flex;gap:34px;margin-top:46px;flex-wrap:wrap;}
.hero-stats .hs .n{font-family:var(--disp);font-style:italic;font-weight:800;font-size:34px;line-height:1;color:#fff;}
.hero-stats .hs .n b{color:var(--neon);}
.hero-stats .hs .l{font-family:var(--mono);font-size:11.5px;color:var(--ink-3);letter-spacing:.06em;margin-top:7px;text-transform:uppercase;}

/* ---------- section heading ---------- */
.sec{padding:80px 0;position:relative;}
.sec-hd{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:40px;}
.kicker{font-family:var(--mono);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--neon);
  display:inline-flex;align-items:center;gap:10px;margin-bottom:16px;}
.kicker::before{content:"";width:26px;height:2px;background:var(--neon);box-shadow:0 0 10px var(--neon);}
.sec-hd h2{font-family:var(--disp);font-style:italic;font-weight:800;text-transform:uppercase;font-size:clamp(30px,4.4vw,56px);
  letter-spacing:-.01em;line-height:1;}
.sec-hd .sub{font-family:var(--cn);color:var(--ink-2);font-size:16px;margin-top:12px;max-width:560px;}

/* ---------- SPOTLIGHT RAIL ---------- */
.rail-wrap{position:relative;margin:0 calc((100vw - min(1260px,92vw))/-2);padding:0 calc((100vw - min(1260px,92vw))/2);}
.rail{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 4px 22px;scrollbar-width:none;}
.rail::-webkit-scrollbar{display:none;}
.spot{flex:0 0 340px;scroll-snap-align:start;border-radius:var(--radius);overflow:hidden;position:relative;
  border:1.5px solid var(--line);background:var(--bg-2);transition:.25s;display:flex;flex-direction:column;}
.spot:hover{border-color:color-mix(in srgb,var(--neon) 60%,transparent);transform:translateY(-6px);
  box-shadow:0 0 var(--glow) -4px var(--neon),0 30px 60px -30px #000;}
.spot .cover{position:relative;height:230px;overflow:hidden;}
.spot .cover .cg{position:absolute;inset:0;background:var(--cg,linear-gradient(140deg,var(--neon),var(--neon-2)));}
.spot .cover image-slot{position:absolute;inset:0;width:100%;height:100%;}
.spot .cover::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,var(--bg-2));}
.spot .cover .dots{position:absolute;inset:0;opacity:.4;
  background-image:radial-gradient(rgba(255,255,255,.5) 1px,transparent 1.4px);background-size:14px 14px;mask:linear-gradient(180deg,#000,transparent 70%);}
.spot .gbadge{position:absolute;top:14px;left:14px;font-family:var(--hud);font-weight:700;font-size:11px;letter-spacing:.06em;
  padding:6px 11px;border-radius:8px;background:rgba(0,0,0,.5);color:#fff;border:1px solid rgba(255,255,255,.2);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);}
.spot .status{position:absolute;top:14px;right:14px;font-family:var(--mono);font-size:11px;display:flex;align-items:center;gap:6px;
  padding:6px 11px;border-radius:999px;background:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);}
.spot .status .d{width:7px;height:7px;border-radius:50%;}
.spot .status.online .d{background:var(--ok);box-shadow:0 0 8px var(--ok);} .spot .status.online{color:var(--ok);}
.spot .status.busy .d{background:#fbbf24;} .spot .status.busy{color:#fbbf24;}
.spot .status.offline .d{background:var(--ink-3);} .spot .status.offline{color:var(--ink-3);}
.spot .av{position:absolute;left:18px;bottom:-26px;width:72px;height:72px;border-radius:18px;display:grid;place-items:center;color:#fff;
  font-family:var(--disp);font-style:italic;font-weight:800;font-size:26px;border:2px solid var(--bg-2);z-index:2;
  background:var(--g,linear-gradient(135deg,var(--neon),var(--neon-2)));box-shadow:0 0 24px -6px var(--neon);}
.spot .body{padding:34px 20px 20px;display:flex;flex-direction:column;gap:12px;flex:1;}
.spot .nm{font-family:var(--cn);font-weight:800;font-size:20px;letter-spacing:-.01em;display:flex;align-items:center;gap:8px;}
.spot .nm .pro{font-family:var(--hud);font-size:10px;font-weight:700;padding:2px 7px;border-radius:5px;background:linear-gradient(135deg,#ffd56a,#ffb02e);color:#5a3a00;}
.spot .hd{font-family:var(--mono);font-size:11.5px;color:var(--ink-3);margin-top:-6px;}
.spot .bio{font-size:13.5px;color:var(--ink-2);line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.spot .tags{display:flex;flex-wrap:wrap;gap:6px;}
.tag{font-family:var(--cn);font-weight:600;font-size:11.5px;padding:4px 10px;border-radius:7px;border:1px solid var(--line);
  background:var(--panel);color:var(--ink-2);}
.tag b{color:var(--neon);}
.tag.rt{display:inline-flex;align-items:center;gap:5px;color:var(--rc,var(--neon));border-color:color-mix(in srgb,var(--rc,var(--neon)) 35%,transparent);
  background:color-mix(in srgb,var(--rc,var(--neon)) 14%,transparent);}
.tag.rt::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--rc,var(--neon));}
.spot .foot{display:flex;align-items:center;gap:10px;margin-top:auto;padding-top:14px;border-top:1px solid var(--line-2);}
.spot .price{font-family:var(--disp);font-style:italic;font-weight:800;font-size:26px;color:#fff;line-height:1;}
.spot .price span{font-family:var(--cn);font-style:normal;font-size:12px;color:var(--ink-3);font-weight:400;}
.spot .rate{font-family:var(--mono);font-size:12px;color:var(--ink-2);display:flex;align-items:center;gap:5px;}
.spot .rate svg{width:14px;height:14px;color:#ffb02e;}
.spot .foot .btn{margin-left:auto;}
.rail-nav{display:flex;gap:8px;}
.rail-nav button{width:46px;height:46px;border-radius:12px;border:1.5px solid var(--line);background:var(--panel);color:var(--ink);cursor:pointer;display:grid;place-items:center;transition:.16s;}
.rail-nav button:hover{border-color:var(--neon);color:var(--neon);box-shadow:0 0 var(--glow) -8px var(--neon);}
.rail-nav button svg{width:20px;height:20px;}

/* ---------- GAME ZONES ---------- */
.zones{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.zone{position:relative;aspect-ratio:3/3.6;border-radius:var(--radius);overflow:hidden;border:1.5px solid var(--line);
  display:flex;flex-direction:column;justify-content:flex-end;padding:20px;cursor:pointer;transition:.25s;}
.zone:hover{transform:translateY(-6px);border-color:color-mix(in srgb,var(--neon) 60%,transparent);box-shadow:0 0 var(--glow) -6px var(--neon);}
.zone .zg{position:absolute;inset:0;background:var(--zg);transition:.3s;}
.zone:hover .zg{transform:scale(1.06);}
.zone .zg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(0,0,0,.78));}
.zone .zdots{position:absolute;inset:0;opacity:.3;background-image:radial-gradient(rgba(255,255,255,.5) 1px,transparent 1.4px);background-size:13px 13px;}
.zone .zn{position:relative;font-family:var(--cn);font-weight:800;font-size:19px;color:#fff;letter-spacing:-.01em;}
.zone .ze{position:relative;font-family:var(--mono);font-size:11px;color:rgba(255,255,255,.7);margin-top:3px;}
.zone .zc{position:relative;margin-top:10px;font-family:var(--hud);font-weight:700;font-size:11.5px;color:var(--neon);display:flex;align-items:center;gap:6px;}
.zone .zc .live-dot{width:6px;height:6px;border-radius:50%;background:var(--ok);box-shadow:0 0 8px var(--ok);}

/* ---------- HOW (cinematic) ---------- */
.flow{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;}
.flow .fs{background:var(--bg-2);padding:38px 30px;position:relative;transition:.2s;}
.flow .fs:hover{background:color-mix(in srgb,var(--neon) 6%,var(--bg-2));}
.flow .fn{font-family:var(--disp);font-style:italic;font-weight:900;font-size:64px;line-height:1;color:transparent;
  -webkit-text-stroke:1.5px color-mix(in srgb,var(--neon) 60%,transparent);margin-bottom:20px;}
.flow .ft{font-family:var(--cn);font-weight:800;font-size:21px;margin-bottom:9px;}
.flow .fd{font-family:var(--cn);font-size:14.5px;color:var(--ink-2);line-height:1.6;}

/* ---------- TRUST counters ---------- */
.counters{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.counter{border:1.5px solid var(--line);border-radius:var(--radius);padding:30px 26px;background:var(--panel);position:relative;overflow:hidden;}
.counter::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--neon),transparent);}
.counter .n{font-family:var(--disp);font-style:italic;font-weight:800;font-size:clamp(34px,4vw,52px);line-height:1;color:#fff;
  text-shadow:0 0 30px color-mix(in srgb,var(--neon) 50%,transparent);}
.counter .l{font-family:var(--cn);font-size:14px;color:var(--ink-2);margin-top:12px;}

/* ---------- DISCORD ---------- */
.disc{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;}
.dpanel{border:1.5px solid var(--line);border-radius:var(--radius);background:var(--panel);overflow:hidden;}
.dphd{display:flex;align-items:center;gap:11px;padding:18px 22px;border-bottom:1px solid var(--line-2);}
.dphd .dico{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:#5865F2;color:#fff;}
.dphd .dico svg{width:21px;height:21px;}
.dphd .dn{font-family:var(--cn);font-weight:800;font-size:15px;}
.dphd .dm{font-family:var(--mono);font-size:11px;color:var(--ink-3);}
.dphd .on{margin-left:auto;font-family:var(--mono);font-size:11.5px;color:var(--ok);display:flex;align-items:center;gap:6px;}
.dphd .on .live-dot{width:7px;height:7px;border-radius:50%;background:var(--ok);box-shadow:0 0 8px var(--ok);}
.chans{padding:8px 10px;}
.cat{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);padding:12px 10px 5px;}
.chan{display:flex;align-items:center;gap:9px;padding:9px 11px;border-radius:9px;font-size:14px;color:var(--ink-2);transition:.14s;}
.chan:hover{background:var(--panel-2);color:#fff;}
.chan .h{font-family:var(--mono);color:var(--ink-3);}
.chan.v .h{color:var(--ok);}
.chan .num{margin-left:auto;font-family:var(--mono);font-size:11px;color:var(--ink-3);}
.chan.v .num{color:var(--ok);}
.vroom{display:flex;align-items:center;gap:9px;padding:12px 14px;border-radius:12px;background:var(--panel-2);margin:7px 12px;border:1px solid var(--line-2);}
.vroom .vu{display:flex;}
.vroom .vu .a{width:28px;height:28px;border-radius:8px;border:2px solid var(--bg-2);margin-left:-9px;display:grid;place-items:center;color:#fff;font-size:11px;font-family:var(--disp);font-weight:800;font-style:italic;}
.vroom .vu .a:first-child{margin-left:0;}
.vroom .vt{font-size:13.5px;font-weight:600;}
.vroom .vc{margin-left:auto;font-family:var(--mono);font-size:11px;color:var(--ok);}

/* ---------- REVIEW WALL ---------- */
.revwall{columns:3;column-gap:18px;}
.rw{break-inside:avoid;margin-bottom:18px;border:1.5px solid var(--line);border-radius:var(--radius);padding:20px;background:var(--panel);}
.rw .rh{display:flex;align-items:center;gap:10px;margin-bottom:12px;}
.rw .ra{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;color:#fff;font-family:var(--disp);font-style:italic;font-weight:800;font-size:15px;flex:none;}
.rw .rn{font-weight:700;font-size:14px;}
.rw .rg{font-family:var(--mono);font-size:11px;color:var(--ink-3);}
.rw .stars{margin-left:auto;color:#ffb02e;font-size:13px;letter-spacing:1px;}
.rw p{font-size:14.5px;color:var(--ink-2);line-height:1.6;}
.rw .tm{font-family:var(--mono);font-size:10.5px;color:var(--ink-3);margin-top:11px;}

/* ---------- FAQ ---------- */
.faq{max-width:840px;margin:0 auto;}
.qa{border:1.5px solid var(--line);border-radius:14px;background:var(--panel);margin-bottom:12px;overflow:hidden;}
.qa summary{list-style:none;cursor:pointer;padding:20px 24px;font-family:var(--cn);font-weight:700;font-size:16px;display:flex;align-items:center;gap:14px;}
.qa summary::-webkit-details-marker{display:none;}
.qa summary .ic{margin-left:auto;width:22px;height:22px;flex:none;color:var(--ink-3);transition:.2s;}
.qa[open] summary .ic{transform:rotate(45deg);color:var(--neon);}
.qa .ans{padding:0 24px 22px;color:var(--ink-2);font-size:14.5px;line-height:1.65;}

/* ---------- JOIN ---------- */
.joinband{position:relative;border-radius:calc(var(--radius)+8px);overflow:hidden;border:1.5px solid color-mix(in srgb,var(--neon) 40%,var(--line));
  padding:64px 52px;text-align:center;background:
    radial-gradient(80% 120% at 50% -20%, color-mix(in srgb,var(--neon) 30%,transparent), transparent 60%),var(--bg-2);}
.joinband .jm{font-family:var(--disp);font-style:italic;font-weight:900;text-transform:uppercase;font-size:clamp(36px,6vw,80px);line-height:.95;
  background:linear-gradient(120deg,var(--neon),var(--neon-2));-webkit-background-clip:text;background-clip:text;color:transparent;
  text-shadow:0 0 70px color-mix(in srgb,var(--neon) 50%,transparent);margin-bottom:18px;}
.joinband p{font-family:var(--cn);color:var(--ink-2);max-width:560px;margin:0 auto 30px;font-size:16px;}
.joinband .jc{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}

/* ---------- footer ---------- */
.ft{border-top:1px solid var(--line-2);margin-top:40px;padding:34px 0;}
.ft .wrap{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;}
.ft .cp{font-family:var(--mono);font-size:11.5px;color:var(--ink-3);}
.ft .fl{display:flex;gap:18px;flex-wrap:wrap;font-family:var(--mono);font-size:11.5px;}
.ft .fl a{color:var(--ink-3);}
.ft .fl a:hover{color:var(--neon);}

/* ---------- reveal ---------- */
html.js .reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.3,1);}
html.js .reveal.in{opacity:1;transform:none;}
@media(prefers-reduced-motion:reduce){html.js .reveal{opacity:1;transform:none;}}

/* ---------- quick filter band ---------- */
.quickfilter{padding:4px 0 14px;}
.quickfilter .wrap{display:flex;align-items:center;gap:16px 18px;flex-wrap:wrap;
  background:var(--panel);border:1.5px solid var(--line);border-radius:16px;padding:15px 20px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);}
.qf-label{font-family:var(--cn);font-weight:700;font-size:14.5px;color:var(--ink);flex:none;}
.qf-groups{display:flex;align-items:center;gap:14px 16px;flex-wrap:wrap;}
.qf-g{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.qf-k{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);white-space:nowrap;}
.qf-chip{font-family:var(--cn);font-weight:600;font-size:13px;padding:8px 14px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.03);color:var(--ink-2);transition:.16s;white-space:nowrap;}
.qf-chip:hover{border-color:var(--neon);color:#fff;box-shadow:0 0 var(--glow) -10px var(--neon);transform:translateY(-1px);}
.qf-more{font-family:var(--hud);font-weight:700;font-size:13px;color:var(--neon);padding:8px 4px;white-space:nowrap;}
.qf-more:hover{text-shadow:0 0 12px var(--neon);}

/* ---------- spotlight sort tabs ---------- */
.rail-tabs{display:flex;gap:8px;margin-bottom:18px;flex-wrap:wrap;}
.rtab{font-family:var(--hud);font-weight:700;font-size:13px;padding:9px 16px;border-radius:10px;border:1.5px solid var(--line);background:var(--panel);color:var(--ink-2);cursor:pointer;transition:.16s;}
.rtab:hover{color:#fff;border-color:color-mix(in srgb,var(--neon) 50%,transparent);}
.rtab.on{background:linear-gradient(135deg,var(--neon),color-mix(in srgb,var(--neon) 55%,#000));color:#fff;border-color:transparent;box-shadow:0 0 var(--glow) -6px var(--neon);}

/* ---------- voice preview chip ---------- */
.spot .vpreview{display:inline-flex;align-items:center;gap:8px;font-family:var(--cn);font-weight:600;font-size:12.5px;color:var(--ink);
  padding:8px 13px;border-radius:999px;border:1px solid color-mix(in srgb,var(--neon) 35%,var(--line));
  background:color-mix(in srgb,var(--neon) 10%,transparent);cursor:pointer;transition:.16s;width:max-content;max-width:100%;white-space:nowrap;}
.spot .vpreview:hover{border-color:var(--neon);box-shadow:0 0 var(--glow) -10px var(--neon);}
.spot .vpreview svg{width:13px;height:13px;color:var(--neon);flex:none;}
.spot .vpreview .vp-dur{font-family:var(--mono);font-size:10.5px;color:var(--ink-3);}
.spot .vpreview.playing{border-color:var(--neon);background:color-mix(in srgb,var(--neon) 20%,transparent);color:#fff;}
.spot .vpreview .eq{display:inline-flex;align-items:flex-end;gap:2px;height:12px;}
.spot .vpreview .eq i{width:2.5px;background:var(--neon);border-radius:2px;height:40%;}
.spot .vpreview.playing .eq i{animation:eq .9s ease-in-out infinite;}
.spot .vpreview.playing .eq i:nth-child(2){animation-delay:.15s;} .spot .vpreview.playing .eq i:nth-child(3){animation-delay:.3s;} .spot .vpreview.playing .eq i:nth-child(4){animation-delay:.45s;}
@keyframes eq{0%,100%{height:30%}50%{height:100%}}

/* ---------- view-all spotlight card ---------- */
.spot-all{flex:0 0 248px;scroll-snap-align:start;display:flex;align-items:center;justify-content:center;text-align:center;
  border:1.5px dashed color-mix(in srgb,var(--neon) 40%,var(--line));border-radius:var(--radius);
  background:color-mix(in srgb,var(--neon) 6%,var(--bg-2));text-decoration:none;transition:.25s;}
.spot-all:hover{border-color:var(--neon);transform:translateY(-6px);box-shadow:0 0 var(--glow) -6px var(--neon);}
.spot-all .sa-in{padding:24px;}
.spot-all .sa-ic{width:56px;height:56px;border-radius:16px;margin:0 auto 16px;display:grid;place-items:center;color:#fff;
  background:linear-gradient(135deg,var(--neon),var(--neon-2));box-shadow:0 0 26px -6px var(--neon);}
.spot-all .sa-ic svg{width:26px;height:26px;}
.spot-all .sa-t{font-family:var(--cn);font-weight:800;font-size:18px;color:#fff;}
.spot-all .sa-d{font-size:12.5px;color:var(--ink-2);margin-top:8px;line-height:1.5;}

/* ---------- mobile sticky CTA ---------- */
.mobile-cta{display:none;}

/* ---------- responsive ---------- */
@media(max-width:980px){
  .zones{grid-template-columns:repeat(2,1fr);}
  .disc{grid-template-columns:1fr;}
  .revwall{columns:2;}
  .flow{grid-template-columns:1fr;}
}
@media(max-width:680px){
  .mobile-cta{display:flex;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:200;
    padding:11px 14px calc(11px + env(safe-area-inset-bottom));
    background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--line);}
  .mobile-cta .btn{flex:1;justify-content:center;}
  body{padding-bottom:74px;}
  .quickfilter .wrap{padding:14px;}
}

/* ============================================================
   THEMES — default :root = 暗色霓虹. Switch via html[data-theme].
   ============================================================ */
html[data-theme="day"]{
  --neon:#7C4DFF; --neon-2:#2aa6d4;
  --bg:#f4f1fb; --bg-2:#ffffff;
  --panel:#ffffff; --panel-2:#f1ecfa;
  --line:rgba(40,28,70,.13); --line-2:rgba(40,28,70,.07);
  --ink:#1c1730; --ink-2:#5a5370; --ink-3:#8d8699;
}
html[data-theme="pink"]{
  --neon:#ff5ca8; --neon-2:#ffa6d4;
  --bg:#fff3f9; --bg-2:#ffffff;
  --panel:#ffffff; --panel-2:#ffeef6;
  --line:rgba(150,40,95,.15); --line-2:rgba(150,40,95,.08);
  --ink:#3a1730; --ink-2:#8a5570; --ink-3:#b890a4;
}
/* round3: 全站 8 皮肤统一 —— 首页补齐 day + 5 套 VIP(VIP 为暗色,继承安全暗色文字;非VIP由 play-neon.js 门控回落) */
html[data-theme="aurora"]{ --neon:#1fc7e6; --neon-2:#34e3b0; --bg:#07171b; --bg-2:#0c2026; }
html[data-theme="magenta"]{ --neon:#ff5cab; --neon-2:#c264ff; --bg:#180a1a; --bg-2:#211030; }
html[data-theme="jade"]{ --neon:#1fc78f; --neon-2:#2fe6a8; --bg:#07190f; --bg-2:#0c241a; }
html[data-theme="sunset"]{ --neon:#ff8a3c; --neon-2:#ffc53d; --bg:#1c0f06; --bg-2:#261609; }
html[data-theme="goldlux"]{ --neon:#e8b23d; --neon-2:#ffe08a; --bg:#15100a; --bg-2:#201810; }
/* fix text that assumed a dark background */
html[data-theme="day"] .hero-stats .hs .n, html[data-theme="pink"] .hero-stats .hs .n,
html[data-theme="day"] .spot .price, html[data-theme="pink"] .spot .price,
html[data-theme="day"] .counter .n, html[data-theme="pink"] .counter .n,
html[data-theme="day"] .spot-all .sa-t, html[data-theme="pink"] .spot-all .sa-t{ color:var(--ink); }
/* hover text shouldn't flip to white on light surfaces */
html[data-theme="day"] .nav .links a:hover, html[data-theme="pink"] .nav .links a:hover,
html[data-theme="day"] .chan:hover, html[data-theme="pink"] .chan:hover,
html[data-theme="day"] .rtab:hover, html[data-theme="pink"] .rtab:hover,
html[data-theme="day"] .qf-chip:hover, html[data-theme="pink"] .qf-chip:hover,
html[data-theme="day"] .btn-ghost:hover, html[data-theme="pink"] .btn-ghost:hover{ color:var(--neon); }
/* softer, tinted shadows on light/pink */
html[data-theme="day"] .spot:hover, html[data-theme="pink"] .spot:hover,
html[data-theme="day"] .counter, html[data-theme="pink"] .counter{ box-shadow:0 18px 44px -28px color-mix(in srgb,var(--neon) 60%,#000); }
html[data-theme="pink"] .logo .pl{ text-shadow:0 0 18px color-mix(in srgb,var(--neon) 70%,transparent); }

/* theme switcher control */
.theme-switch{display:flex;gap:5px;align-items:center;padding:5px 6px;border:1.5px solid var(--line);border-radius:999px;background:var(--panel);}
.theme-switch button{width:19px;height:19px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0;transition:.15s;}
.theme-switch button[data-theme-set="dark"]{background:linear-gradient(135deg,#9d6bff,#22d3ee);}
.theme-switch button[data-theme-set="pink"]{background:linear-gradient(135deg,#ff5ca8,#ffd1e8);}
.theme-switch button[data-theme-set="aurora"]{background:linear-gradient(135deg,#22d3ee,#34e3b0);}
.theme-switch button[data-theme-set="magenta"]{background:linear-gradient(135deg,#ff5cab,#c264ff);}
.theme-switch button{position:relative;}
.theme-switch button[data-vip]::after{content:"";position:absolute;right:-3px;top:-3px;width:9px;height:9px;border-radius:50%;background:linear-gradient(135deg,#ffd56a,#ffb02e);box-shadow:0 0 0 1.5px var(--panel);}
.theme-switch button[data-vip].unlocked::after{display:none;}
.theme-switch button.on{border-color:var(--ink-2);transform:scale(1.14);}
.theme-switch button:hover{transform:scale(1.18);}
@media(max-width:680px){ .theme-switch{order:-1;} }
