:root{
  --brand:#6d5dfc;
  --accent:#22d3ee;
  --bg:#0f1020;
  --text:#e8eaf6;
  --line:rgba(232,234,246,.12);
  --line-strong:rgba(232,234,246,.22);
  --muted:#9aa0c3;
  --panel:#15162b;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  background:var(--bg);
  color:var(--text);
  font-family:'Inter','PingFang SC','Microsoft YaHei',sans-serif;
  font-size:14px;
  line-height:1.6;
  overflow-x:hidden;
}
h1,h2,h3,h4,h5{font-weight:900;letter-spacing:-.02em;color:#fff;}
a{color:inherit;text-decoration:none;}
.mono{font-family:'SFMono-Regular',Consolas,'Courier New',monospace;font-variant-numeric:tabular-nums;}
.text-muted-2{color:var(--muted)!important;}
.container-x{max-width:1440px;margin:0 auto;padding:0 20px;}

/* NAV */
.topbar{
  position:sticky;top:0;z-index:1030;
  background:rgba(15,16,32,.88);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
}
.topbar-inner{display:flex;align-items:center;gap:26px;height:62px;}
.brand-logo{
  font-weight:900;font-size:19px;letter-spacing:-.03em;color:#fff;
  display:flex;align-items:center;gap:8px;white-space:nowrap;
}
.brand-logo i{color:var(--accent);font-size:16px;}
.brand-logo .dot{width:6px;height:6px;border-radius:50%;background:var(--brand);display:inline-block;}
.nav-links{display:flex;align-items:center;gap:4px;flex:1;flex-wrap:wrap;}
.nav-links a{
  padding:6px 11px;border-radius:6px;font-size:13px;font-weight:500;color:var(--muted);
  transition:.2s;border:1px solid transparent;
}
.nav-links a:hover{color:#fff;background:rgba(109,93,252,.14);border-color:rgba(109,93,252,.35);}
.nav-links a.active{color:#fff;border-color:var(--line-strong);}
.nav-cta{
  font-size:12.5px;font-weight:600;padding:7px 16px;border-radius:6px;
  background:linear-gradient(100deg,var(--brand),var(--accent));
  color:#0b0c18;white-space:nowrap;position:relative;overflow:hidden;border:none;
}
.nav-cta::after{
  content:"";position:absolute;top:0;left:-120%;width:60%;height:100%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);
  transform:skewX(-18deg);transition:left .6s;
}
.nav-cta:hover::after{left:140%;}
.burger{display:none;background:none;border:1px solid var(--line-strong);color:var(--text);border-radius:6px;padding:5px 10px;}

/* HERO */
.hero{
  position:relative;border-bottom:1px solid var(--line);
  padding:64px 0 56px;overflow:hidden;
  background:
    radial-gradient(700px 320px at 12% -10%,rgba(109,93,252,.30),transparent 70%),
    radial-gradient(600px 300px at 88% 0%,rgba(34,211,238,.16),transparent 70%);
}
.hero::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(var(--line) 1px,transparent 1px);background-size:100% 96px;opacity:.25;
}
.hero-grid{position:relative;z-index:2;}
.hero .tag{
  display:inline-flex;align-items:center;gap:8px;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;
  border:1px solid var(--line-strong);border-radius:999px;padding:4px 14px;color:var(--accent);margin-bottom:20px;font-weight:600;
}
.hero h1{font-size:clamp(30px,5vw,58px);line-height:1.05;font-weight:900;}
.hero h1 .hl{
  background:linear-gradient(100deg,var(--brand),var(--accent));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.hero p.lead2{color:var(--muted);font-size:15px;max-width:620px;margin:20px 0 28px;}
.btn-x{
  display:inline-flex;align-items:center;gap:9px;font-size:13.5px;font-weight:700;
  padding:11px 26px;border-radius:7px;position:relative;overflow:hidden;transition:.25s;border:1px solid transparent;
}
.btn-solid{background:linear-gradient(100deg,var(--brand),var(--accent));color:#0b0c18;}
.btn-solid::after{
  content:"";position:absolute;top:0;left:-120%;width:55%;height:100%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.6),transparent);
  transform:skewX(-18deg);transition:left .65s;
}
.btn-solid:hover::after{left:150%;}
.btn-ghost{border-color:var(--line-strong);color:var(--text);}
.btn-ghost:hover{border-color:var(--accent);color:var(--accent);}
.hero-stats{display:flex;gap:34px;margin-top:44px;flex-wrap:wrap;}
.hero-stats .st b{display:block;font-size:26px;font-weight:800;font-family:monospace;color:#fff;line-height:1.1;}
.hero-stats .st span{font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);}
.hero-side{border-left:1px solid var(--line);padding-left:24px;}
.hero-side .mini{display:flex;gap:12px;padding:10px 0;border-bottom:1px dashed var(--line);align-items:center;}
.hero-side .mini:last-child{border-bottom:none;}
.hero-side .mini .rk{font-size:12px;font-weight:800;color:var(--accent);width:20px;font-family:monospace;}
.hero-side .mini .nm{font-size:13px;font-weight:600;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.hero-side .mini .sc{font-size:12px;color:var(--muted);font-family:monospace;}

/* SECTION HEAD */
.sec{padding:54px 0;border-bottom:1px solid var(--line);}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:26px;flex-wrap:wrap;}
.sec-head h2{font-size:clamp(20px,2.4vw,28px);margin:0;}
.sec-head .kicker{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);font-weight:700;display:block;margin-bottom:6px;}
.sec-head .desc{font-size:12.5px;color:var(--muted);max-width:520px;margin-top:6px;}
.more-link{font-size:12.5px;font-weight:600;color:var(--muted);border-bottom:1px solid var(--line-strong);padding-bottom:2px;transition:.2s;white-space:nowrap;}
.more-link:hover{color:var(--accent);border-color:var(--accent);}

/* LAYOUT: sidebar + poster flow */
.layout{display:grid;grid-template-columns:210px 1fr;gap:32px;align-items:start;}
.filter-side{border-right:1px solid var(--line);padding-right:20px;position:sticky;top:80px;}
.filter-side h4{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 12px;font-weight:700;}
.filter-side .grp{margin-bottom:26px;}
.filter-side .fitem{
  display:flex;justify-content:space-between;align-items:center;
  font-size:12.5px;padding:6px 0;color:var(--muted);border-bottom:1px dashed var(--line);transition:.2s;cursor:pointer;
}
.filter-side .fitem:hover{color:#fff;padding-left:4px;}
.filter-side .fitem.on{color:var(--accent);font-weight:700;}
.filter-side .fitem .n{font-family:monospace;font-size:11px;opacity:.7;}

/* POSTER CARD */
.poster-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(158px,1fr));gap:16px;}
.pcard{
  perspective:1200px;position:relative;cursor:pointer;border:1px solid var(--line);
  border-radius:8px;overflow:hidden;background:var(--panel);transition:border-color .25s;
}
.pcard:hover{border-color:rgba(109,93,252,.6);}
.pcard .flip{position:relative;transform-style:preserve-3d;transition:transform .65s cubic-bezier(.4,.2,.2,1);}
.pcard.flipped .flip{transform:rotateY(180deg);}
.pcard .face{backface-visibility:hidden;-webkit-backface-visibility:hidden;}
.pcard .front{position:relative;}
.pcard .thumb{position:relative;aspect-ratio:2/3;background:#1b1c33;overflow:hidden;}
.pcard .thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s;}
.pcard:hover .thumb img{transform:scale(1.05);}
.pcard .thumb::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(15,16,32,0) 35%,rgba(15,16,32,.55) 70%,rgba(15,16,32,.94) 100%);
}
.play-float{
  position:absolute;inset:0;z-index:3;display:flex;align-items:center;justify-content:center;
  opacity:0;transition:.3s;
}
.pcard:hover .play-float{opacity:1;}
.play-float .circle{
  width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:rgba(109,93,252,.9);color:#fff;box-shadow:0 0 0 6px rgba(109,93,252,.22);font-size:15px;
}
.pcard .rate{
  position:absolute;top:8px;right:8px;z-index:4;font-family:monospace;font-size:11.5px;font-weight:700;
  background:rgba(15,16,32,.82);border:1px solid var(--line-strong);color:var(--accent);
  padding:1px 7px;border-radius:4px;
}
.pcard .meta{
  position:absolute;left:10px;right:10px;bottom:8px;z-index:4;
}
.pcard .meta .nm{font-size:13px;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pcard .meta .sub{font-size:11px;color:#b8bcd8;display:flex;gap:8px;margin-top:1px;}
.pcard .meta .sub .y{font-family:monospace;}
/* BACK FACE */
.pcard .back{
  position:absolute;inset:0;transform:rotateY(180deg);
  background:linear-gradient(160deg,#181a33,#101124);
  border:1px solid rgba(109,93,252,.45);border-radius:8px;
  padding:13px 12px;display:flex;flex-direction:column;gap:7px;overflow:auto;
}
.pcard .back .bt{font-size:13px;font-weight:800;color:#fff;line-height:1.25;display:flex;justify-content:space-between;gap:6px;}
.pcard .back .bt .bs{font-family:monospace;font-size:11.5px;color:var(--accent);}
.pcard .back .row{font-size:10.5px;color:var(--muted);line-height:1.45;}
.pcard .back .row b{color:#c7cbe8;font-weight:600;}
.pcard .back .plot{font-size:10.5px;color:#b3b8d8;line-height:1.5;flex:1;overflow:auto;}
.pcard .back .closex{
  position:absolute;top:6px;right:8px;font-size:13px;color:var(--muted);cursor:pointer;
  line-height:1;border:none;background:none;
}
.pcard .back .closex:hover{color:var(--accent);}

/* RANK LIST */
.rank-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:0 32px;}
.rank-row{
  display:flex;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--line);
  cursor:pointer;transition:.2s;
}
.rank-row:hover{background:rgba(109,93,252,.06);padding-left:6px;}
.rank-row .no{
  font-family:monospace;font-size:15px;font-weight:800;width:28px;color:var(--muted);flex:none;
}
.rank-row:nth-child(1) .no,.rank-row:nth-child(2) .no,.rank-row:nth-child(3) .no{color:var(--accent);}
.rank-row .t{flex:1;min-width:0;}
.rank-row .t .n{font-size:13px;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.rank-row .t .g{font-size:11px;color:var(--muted);font-family:monospace;}
.rank-row .s{font-family:monospace;font-size:13px;font-weight:700;color:var(--brand);flex:none;}

/* FEATURE CARDS */
.feat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;}
.feat{
  border:1px solid var(--line);border-radius:8px;padding:20px 18px;background:rgba(21,22,43,.55);
  transition:.25s;
}
.feat:hover{border-color:rgba(34,211,238,.45);transform:translateY(-2px);}
.feat .ic{
  width:36px;height:36px;border-radius:7px;display:flex;align-items:center;justify-content:center;
  background:rgba(109,93,252,.16);color:var(--accent);font-size:15px;margin-bottom:12px;border:1px solid rgba(109,93,252,.3);
}
.feat h5{font-size:14px;margin:0 0 6px;}
.feat p{font-size:12px;color:var(--muted);margin:0;line-height:1.65;}

/* STEPS */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0;}
.step{position:relative;padding:0 22px 0 0;}
.step::before{
  content:attr(data-step);display:block;font-family:monospace;font-size:11px;font-weight:800;
  color:var(--accent);letter-spacing:.14em;margin-bottom:8px;
}
.step h5{font-size:13.5px;margin:0 0 6px;}
.step p{font-size:12px;color:var(--muted);margin:0;}
.step:not(:last-child)::after{
  content:"";position:absolute;top:6px;right:8px;width:18px;height:1px;background:var(--line-strong);
}

/* TIPS / GENRE */
.two-col{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;}
.tips-li{list-style:none;padding:0;margin:0;}
.tips-li li{
  padding:11px 0 11px 24px;border-bottom:1px dashed var(--line);font-size:12.5px;color:#c3c7e2;position:relative;
}
.tips-li li::before{
  content:"\f0da";font-family:"Font Awesome 6 Free";font-weight:900;position:absolute;left:4px;top:11px;
  font-size:10px;color:var(--brand);
}
.tips-li li:last-child{border-bottom:none;}
.tips-li b{color:#fff;}
.genre-box{border:1px solid var(--line);border-radius:8px;padding:20px;background:rgba(21,22,43,.5);}
.genre-box .gtitle{font-size:14px;font-weight:800;margin-bottom:8px;color:#fff;}
.genre-box p{font-size:12.5px;color:var(--muted);line-height:1.7;margin-bottom:14px;}
.chips{display:flex;flex-wrap:wrap;gap:7px;}
.chip{
  font-size:11px;padding:3px 10px;border-radius:999px;border:1px solid var(--line-strong);color:#b9bede;transition:.2s;
}
.chip:hover{border-color:var(--accent);color:var(--accent);}

/* TOPIC */
.topic-wrap{
  border:1px solid var(--line);border-radius:10px;overflow:hidden;
  background:radial-gradient(600px 260px at 85% 0%,rgba(109,93,252,.20),transparent 70%);
}
.topic-head{padding:26px 26px 0;}
.topic-head .kicker{font-size:11px;letter-spacing:.2em;color:var(--accent);font-weight:700;text-transform:uppercase;}
.topic-head h3{font-size:clamp(19px,2.2vw,25px);margin:8px 0 10px;}
.topic-head p{font-size:13px;color:var(--muted);max-width:640px;margin:0;}
.topic-body{padding:22px 26px 26px;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;}
.topic-item{border:1px solid var(--line);border-radius:7px;padding:14px;}
.topic-item .tn{font-size:13px;font-weight:700;color:#fff;margin-bottom:4px;}
.topic-item .td{font-size:11.5px;color:var(--muted);line-height:1.6;}
.topic-item .tg{font-size:10.5px;font-family:monospace;color:var(--accent);margin-top:6px;display:block;}

/* FAQ */
.faq-item{border-bottom:1px solid var(--line);padding:16px 0;}
.faq-q{font-size:13.5px;font-weight:700;color:#fff;cursor:pointer;display:flex;justify-content:space-between;gap:14px;align-items:flex-start;}
.faq-q i{color:var(--brand);font-size:12px;transition:.25s;margin-top:3px;}
.faq-item.open .faq-q i{transform:rotate(180deg);color:var(--accent);}
.faq-a{font-size:12.5px;color:var(--muted);line-height:1.75;max-height:0;overflow:hidden;transition:max-height .35s ease,padding .3s;}
.faq-item.open .faq-a{max-height:300px;padding-top:10px;}

/* FRIEND LINKS */
.friend{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:34px 0;}
.friend h5{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:700;margin-bottom:14px;}
.friend .fl{display:flex;flex-wrap:wrap;gap:8px 22px;font-size:12.5px;color:#b9bede;}
.friend .fl a{border-bottom:1px solid transparent;transition:.2s;}
.friend .fl a:hover{border-color:var(--accent);color:var(--accent);}

/* FOOTER */
footer.site-foot{padding:46px 0 34px;}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:34px;}
.foot-grid h6{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:700;margin-bottom:14px;}
.foot-grid ul{list-style:none;padding:0;margin:0;}
.foot-grid ul li{margin-bottom:9px;font-size:12.5px;color:#b9bede;}
.foot-grid ul li a:hover{color:var(--accent);}
.foot-brand p{font-size:12.5px;color:var(--muted);line-height:1.75;max-width:340px;margin:12px 0 0;}
.foot-bottom{
  margin-top:34px;padding-top:18px;border-top:1px solid var(--line);
  display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:11.5px;color:var(--muted);
}
.foot-bottom .mono{font-family:monospace;}

/* ANIM */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease;}
.reveal.in{opacity:1;transform:none;}

/* RESPONSIVE */
@media (max-width:991px){
  .layout{grid-template-columns:1fr;}
  .filter-side{position:static;border-right:none;border-bottom:1px solid var(--line);padding:0 0 18px;margin-bottom:18px;display:flex;gap:34px;flex-wrap:wrap;}
  .filter-side .grp{margin-bottom:0;}
  .two-col{grid-template-columns:1fr;gap:28px;}
  .hero-side{border-left:none;border-top:1px solid var(--line);padding:22px 0 0;margin-top:26px;}
  .foot-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:767px){
  .nav-links{
    display:none;position:absolute;top:62px;left:0;right:0;
    background:#121326;border-bottom:1px solid var(--line);padding:12px 20px 18px;
    flex-direction:column;align-items:flex-start;gap:2px;
  }
  .nav-links.open{display:flex;}
  .nav-links a{width:100%;padding:9px 6px;}
  .burger{display:block;margin-left:auto;}
  .nav-cta{display:none;}
  .poster-grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:12px;}
  .hero{padding:44px 0 38px;}
  .sec{padding:40px 0;}
  .rank-grid{grid-template-columns:1fr;}
  .steps{gap:22px;}
  .step{padding-right:0;}
  .step::after{display:none;}
  .foot-grid{grid-template-columns:1fr;}
  .pcard.flipped .flip{transform:none;}
  .pcard .front{display:none;}
  .pcard .back{position:relative;transform:none;border-radius:8px;min-height:230px;}
  .pcard .back .closex{top:8px;right:10px;}
}

/* --- 子页面追加 --- */
.topic-hero {padding:72px 0 48px;position:relative;overflow:hidden}
.topic-hero::before {content:"";position:absolute;inset:0;background:radial-gradient(circle at 18% 10%,rgba(109,93,252,.22),transparent 55%),radial-gradient(circle at 82% 30%,rgba(34,211,238,.14),transparent 50%);pointer-events:none}
.topic-hero .container-x {position:relative;z-index:1}
.topic-tag {display:inline-flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);border:1px solid var(--line-strong);padding:6px 14px;border-radius:999px;margin-bottom:20px}
.topic-hero h1 {font-size:clamp(28px,4.4vw,48px);font-weight:800;line-height:1.22;margin:0 0 18px;letter-spacing:-.02em}
.topic-hero h1 em {font-style:normal;background:linear-gradient(96deg,var(--brand),var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent}
.topic-hero p {max-width:720px;color:var(--muted);font-size:16px;line-height:1.85;margin:0}
.topic-meta {display:flex;flex-wrap:wrap;gap:28px;margin-top:30px}
.topic-meta div {display:flex;flex-direction:column;gap:4px}
.topic-meta strong {font-size:22px;font-weight:800;color:var(--text)}
.topic-meta span {font-size:12.5px;color:var(--muted);letter-spacing:.06em}
.topic-list {display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:8px}
.topic-card {background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:26px 26px 22px;position:relative;transition:border-color .25s,transform .25s;overflow:hidden}
.topic-card:hover {border-color:var(--line-strong);transform:translateY(-3px)}
.topic-card .tc-no {font-family:'Inter',monospace;font-size:12px;color:var(--accent);letter-spacing:.2em;margin-bottom:12px}
.topic-card h3 {font-size:19px;font-weight:700;margin:0 0 10px;line-height:1.4}
.topic-card p {font-size:14px;line-height:1.8;color:var(--muted);margin:0 0 16px}
.topic-card .tc-foot {display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.topic-card .tc-count {margin-left:auto;font-size:12.5px;color:var(--accent);font-family:'Inter',monospace}
.note-box {margin-top:34px;border-left:2px solid var(--brand);background:linear-gradient(90deg,rgba(109,93,252,.12),rgba(109,93,252,0));padding:18px 22px;border-radius:0 12px 12px 0}
.note-box p {margin:0;font-size:14px;line-height:1.85;color:var(--muted)}
.note-box p strong {color:var(--text);font-weight:600}
.pick-grid {display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:8px}
.pick {background:var(--panel);border:1px solid var(--line);border-radius:14px;overflow:hidden;transition:border-color .25s,transform .25s}
.pick:hover {border-color:var(--line-strong);transform:translateY(-3px)}
.pick .pk-pic {position:relative;aspect-ratio:3/4;overflow:hidden;background:#0b0c18}
.pick .pk-pic img {width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.pick:hover .pk-pic img {transform:scale(1.05)}
.pick .pk-score {position:absolute;top:10px;right:10px;font-family:'Inter',monospace;font-size:12px;font-weight:700;color:#0f1020;background:var(--accent);border-radius:6px;padding:2px 8px}
.pick .pk-body {padding:14px 14px 16px}
.pick h3 {font-size:15px;font-weight:600;margin:0 0 6px;line-height:1.4}
.pick span {font-size:12.5px;color:var(--muted)}
.step .st-ic {width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:rgba(109,93,252,.16);color:var(--accent);font-size:17px;margin-bottom:16px}
.step h3 {font-size:16px;font-weight:700;margin:0 0 10px;line-height:1.45}
.faq-item h3 {font-size:15.5px;font-weight:600;margin:0 0 8px;display:flex;gap:10px;align-items:baseline}
.faq-item h3 i {color:var(--accent);font-size:12px}
.faq-item p {font-size:13.8px;line-height:1.85;color:var(--muted);margin:0}
.topic-list {grid-template-columns:1fr}
.pick-grid {grid-template-columns:repeat(2,1fr)}
.topic-hero {padding:52px 0 34px}
.topic-meta {gap:20px}
.pick-grid {grid-template-columns:repeat(2,1fr);gap:14px}
.topic-card {padding:22px 20px}

/* --- 子页面追加 --- */
.guide-lead {max-width:820px;color:var(--muted);line-height:1.9;font-size:15.5px}
.guide-lead strong {color:var(--text)}
.step-list {display:grid;gap:14px;margin-top:26px}
.step-item {display:grid;grid-template-columns:46px 1fr;gap:16px;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:20px 22px}
.step-item:hover {border-color:var(--line-strong)}
.step-num {width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-family:'Inter',monospace;font-weight:800;font-size:15px;color:#0f1020;background:linear-gradient(135deg,var(--brand),var(--accent))}
.step-item h3 {margin:0 0 6px;font-size:16.5px;font-weight:700;color:var(--text)}
.step-item p {margin:0;color:var(--muted);font-size:14px;line-height:1.85}
.tip-card {background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:22px;height:100%}
.tip-card h3 {margin:0 0 10px;font-size:16px;font-weight:700;color:var(--text);display:flex;align-items:center;gap:8px}
.tip-card h3 i {color:var(--accent);font-size:14px}
.tip-card p {margin:0;color:var(--muted);font-size:14px;line-height:1.85}
.qa-item {border-bottom:1px solid var(--line);padding:20px 0}
.qa-item:last-child {border-bottom:0}
.qa-q {font-size:15.5px;font-weight:700;color:var(--text);margin:0 0 8px}
.qa-q i {color:var(--brand);margin-right:8px;font-size:13px}
.qa-a {margin:0;color:var(--muted);font-size:14px;line-height:1.9}
.qa-a code {font-family:'Inter',monospace;background:rgba(109,93,252,.16);color:var(--accent);padding:1px 6px;border-radius:5px;font-size:12.5px}
.device-row {display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:24px}
.device-box {background:rgba(109,93,252,.08);border:1px solid var(--line);border-radius:14px;padding:18px}
.device-box h4 {margin:0 0 8px;font-size:14.5px;font-weight:700;color:var(--text)}
.device-box p {margin:0;font-size:13.5px;color:var(--muted);line-height:1.8}
.check-list {list-style:none;padding:0;margin:18px 0 0}
.check-list li {display:flex;gap:10px;align-items:flex-start;color:var(--muted);font-size:14px;line-height:1.85;padding:7px 0}
.check-list li i {color:var(--accent);margin-top:4px;font-size:13px}
.guide-cta {margin-top:34px;background:linear-gradient(135deg,rgba(109,93,252,.18),rgba(34,211,238,.1));border:1px solid var(--line-strong);border-radius:18px;padding:26px 28px;display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between}
.guide-cta p {margin:0;color:var(--text);font-size:15px;line-height:1.7}
.step-item {grid-template-columns:1fr;gap:10px;padding:18px}
.guide-cta {padding:20px}

/* --- 子页面追加 --- */
.rank-hero {padding:56px 0 26px;border-bottom:1px solid var(--line);}
.rank-hero h1 {font-size:clamp(1.7rem,4vw,2.7rem);font-weight:800;letter-spacing:-.5px;line-height:1.25;margin:0 0 14px;}
.rank-hero h1 span {color:var(--accent);}
.rank-hero p {color:var(--muted);max-width:760px;line-height:1.85;margin:0;}
.rank-tabs {display:flex;flex-wrap:wrap;gap:10px;margin:26px 0 0;}
.rank-tabs a {font-size:.86rem;padding:8px 16px;border-radius:999px;border:1px solid var(--line-strong);color:var(--muted);text-decoration:none;transition:.2s;}
.rank-tabs a:hover,.rank-tabs a.on {background:var(--brand);border-color:var(--brand);color:#fff;}
.rank-block {padding:46px 0;border-bottom:1px solid var(--line);}
.rank-block h2 {font-size:1.32rem;font-weight:700;margin:0 0 8px;display:flex;align-items:center;gap:10px;}
.rank-block h2 i {color:var(--accent);font-size:1rem;}
.rank-block .sub {color:var(--muted);font-size:.9rem;margin:0 0 22px;line-height:1.7;}
.rank-table {width:100%;border-collapse:collapse;}
.rank-table th {font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600;text-align:left;padding:10px 12px;border-bottom:1px solid var(--line-strong);white-space:nowrap;}
.rank-table td {padding:14px 12px;border-bottom:1px solid var(--line);vertical-align:middle;font-size:.92rem;}
.rank-table tr:hover td {background:rgba(109,93,252,.07);}
.rank-table .no {font-family:'Inter',monospace;font-weight:800;color:var(--muted);width:52px;}
.rank-table tr:nth-child(1) .no {color:#ffd166;}
.rank-table tr:nth-child(2) .no {color:#c9d1e8;}
.rank-table tr:nth-child(3) .no {color:#e0915c;}
.rk-title {font-weight:600;color:var(--text);}
.rk-title small {display:block;font-weight:400;color:var(--muted);font-size:.78rem;margin-top:3px;}
.tag-line {display:inline-block;font-size:.72rem;padding:2px 9px;border-radius:999px;border:1px solid var(--line-strong);color:var(--muted);margin-right:6px;}
.score {font-family:'Inter',monospace;font-weight:700;color:var(--accent);}
.bar {height:5px;border-radius:99px;background:rgba(232,234,246,.12);overflow:hidden;min-width:70px;}
.bar i {display:block;height:100%;background:linear-gradient(90deg,var(--brand),var(--accent));}
.rank-note {background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:24px 26px;line-height:1.85;color:var(--muted);font-size:.92rem;}
.rank-note strong {color:var(--text);}
.rank-note ul {margin:12px 0 0;padding-left:18px;}
.rank-note li {margin-bottom:8px;}
.rank-table .hide-sm {display:none;}
.rank-table td,.rank-table th {padding:11px 8px;font-size:.86rem;}

/* --- 子页面追加 --- */
/* 本页专属少量样式，复用站点变量与类名 */
  :root {
    --brand:#6d5dfc;
    --accent:#22d3ee;
    --bg:#0f1020;
    --text:#e8eaf6;
    --line:rgba(232,234,246,.12);
    --line-strong:rgba(232,234,246,.22);
    --muted:#9aa0c3;
    --panel:#15162b;
  }
.new-hero {
    padding:56px 0 28px;
    border-bottom:1px solid var(--line);
    background:
      radial-gradient(680px 320px at 12% -10%, rgba(109,93,252,.28), transparent 62%),
      radial-gradient(560px 300px at 88% 0%, rgba(34,211,238,.16), transparent 60%);
  }
.new-hero h1 {
    font-size:clamp(26px,4vw,44px);
    font-weight:800;
    line-height:1.22;
    letter-spacing:-.5px;
    margin:0 0 14px;
  }
.new-hero h1 em {
    font-style:normal;
    background:linear-gradient(92deg,var(--brand),var(--accent));
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
  }
.new-hero p {
    color:var(--muted);
    max-width:640px;
    margin:0;
    font-size:15px;
    line-height:1.8;
  }
.day-bar {
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:26px;
  }
.day-chip {
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:8px 16px;
    border-radius:999px;
    border:1px solid var(--line-strong);
    background:rgba(21,22,43,.7);
    color:var(--text);
    font-size:13px;
    font-weight:500;
    text-decoration:none;
    transition:.2s;
  }
.day-chip:hover,.day-chip.on {
    background:linear-gradient(92deg,var(--brand),var(--accent));
    border-color:transparent;
    color:#0b0c18;
  }
.day-chip .n {
    font-family:ui-monospace,Menlo,Consolas,monospace;
    opacity:.75;
    font-size:12px;
  }
.new-item {
    display:flex;
    gap:16px;
    padding:18px;
    border:1px solid var(--line);
    border-radius:16px;
    background:var(--panel);
    margin-bottom:14px;
    transition:.22s;
  }
.new-item:hover {
    border-color:var(--line-strong);
    transform:translateY(-2px);
    box-shadow:0 14px 34px rgba(0,0,0,.35);
  }
.new-item .thumb {
    flex:0 0 104px;
    height:140px;
    border-radius:12px;
    overflow:hidden;
    background:linear-gradient(150deg,#23244a,#15162b);
    position:relative;
  }
.new-item .thumb img {
    width:100%;height:100%;object-fit:cover;display:block;
  }
.new-item .badge-new {
    position:absolute;
    top:8px;left:8px;
    font-size:11px;
    font-weight:700;
    padding:3px 8px;
    border-radius:6px;
    background:linear-gradient(92deg,var(--brand),var(--accent));
    color:#0b0c18;
    letter-spacing:.5px;
  }
.new-item h3 {
    font-size:16px;
    font-weight:700;
    margin:0 0 8px;
    line-height:1.4;
  }
.new-item h3 a {color:var(--text);text-decoration:none;}
.new-item h3 a:hover {color:var(--accent);}
.new-item .meta {
    font-size:12.5px;
    color:var(--muted);
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-bottom:10px;
  }
.new-item .meta i {margin-right:5px;opacity:.8;}
.new-item .desc {
    font-size:13.5px;
    line-height:1.75;
    color:var(--muted);
    margin:0;
  }
.new-item .tags {
    margin-top:10px;
    display:flex;
    flex-wrap:wrap;
    gap:8px;
  }
.new-item .tags span {
    font-size:11.5px;
    padding:3px 10px;
    border-radius:999px;
    border:1px solid var(--line);
    color:var(--muted);
    background:rgba(109,93,252,.08);
  }
.side-box {
    border:1px solid var(--line);
    border-radius:16px;
    background:var(--panel);
    padding:20px;
    margin-bottom:18px;
  }
.side-box h3 {
    font-size:15px;
    font-weight:700;
    margin:0 0 14px;
    padding-left:12px;
    position:relative;
  }
.side-box h3::before {
    content:"";
    position:absolute;
    left:0;top:3px;bottom:3px;
    width:3px;
    border-radius:3px;
    background:linear-gradient(180deg,var(--brand),var(--accent));
  }
.side-list {list-style:none;margin:0;padding:0;}
.side-list li {
    display:flex;
    align-items:center;
    gap:10px;
    padding:9px 0;
    border-bottom:1px dashed var(--line);
    font-size:13.5px;
  }
.side-list li:last-child {border-bottom:none;}
.side-list li .rk {
    font-family:ui-monospace,Menlo,Consolas,monospace;
    font-size:12px;
    width:20px;
    color:var(--accent);
    flex:0 0 auto;
  }
.side-list li a {
    color:var(--text);
    text-decoration:none;
    flex:1;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
.side-list li a:hover {color:var(--accent);}
.side-list li .tm {
    font-size:11.5px;
    color:var(--muted);
    flex:0 0 auto;
  }
.note-box strong {color:var(--text);}
.new-item {flex-direction:column;}
.new-item .thumb {width:100%;flex:auto;height:170px;}

/* --- 子页面追加 --- */
.about-hero {padding:64px 0 40px;border-bottom:1px solid var(--line);}
.about-hero h1 {font-size:clamp(26px,4vw,42px);font-weight:800;line-height:1.25;margin:0 0 18px;letter-spacing:-.5px;}
.about-hero h1 em {font-style:normal;background:linear-gradient(120deg,var(--brand),var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent;}
.about-hero p {color:var(--muted);font-size:16px;line-height:1.9;max-width:820px;margin:0;}
.about-tag {display:inline-flex;align-items:center;gap:8px;font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--accent);border:1px solid var(--line-strong);border-radius:999px;padding:6px 14px;margin-bottom:22px;}
.val-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px;margin-top:26px;}
.val-card {background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:24px 22px;transition:.25s;height:100%;}
.val-card:hover {border-color:var(--line-strong);transform:translateY(-3px);}
.val-card i {font-size:22px;color:var(--accent);margin-bottom:14px;display:block;}
.val-card h3 {font-size:17px;font-weight:700;margin:0 0 10px;color:var(--text);}
.val-card p {font-size:14px;line-height:1.85;color:var(--muted);margin:0;}
.prose {font-size:15px;line-height:2;color:var(--muted);}
.prose p {margin:0 0 16px;}
.prose strong {color:var(--text);font-weight:600;}
.timeline {list-style:none;padding:0;margin:26px 0 0;border-left:1px solid var(--line-strong);}
.timeline li {position:relative;padding:0 0 26px 26px;}
.timeline li::before {content:"";position:absolute;left:-5px;top:6px;width:9px;height:9px;border-radius:50%;background:var(--brand);box-shadow:0 0 0 4px rgba(109,93,252,.15);}
.timeline h4 {font-size:15px;font-weight:700;margin:0 0 6px;color:var(--text);}
.timeline p {font-size:14px;line-height:1.85;color:var(--muted);margin:0;}
.rule-list {list-style:none;padding:0;margin:22px 0 0;}
.rule-list li {display:flex;gap:14px;padding:16px 0;border-bottom:1px dashed var(--line);font-size:14px;line-height:1.85;color:var(--muted);}
.rule-list li:last-child {border-bottom:none;}
.rule-list li i {color:var(--brand);margin-top:4px;flex-shrink:0;}
.stat-strip {display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px;margin-top:30px;}
.stat-strip div {background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:20px 18px;text-align:center;}
.stat-strip b {display:block;font-size:26px;font-weight:800;background:linear-gradient(120deg,var(--brand),var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent;}
.stat-strip span {font-size:12.5px;color:var(--muted);letter-spacing:.5px;}
.cta-box {margin-top:14px;background:linear-gradient(135deg,rgba(109,93,252,.16),rgba(34,211,238,.10));border:1px solid var(--line-strong);border-radius:18px;padding:34px 28px;text-align:center;}
.cta-box h2 {font-size:22px;font-weight:800;margin:0 0 12px;}
.cta-box p {font-size:14.5px;color:var(--muted);line-height:1.85;max-width:620px;margin:0 auto 22px;}
.cta-box .btn-x {margin:0 6px 10px;}
.about-hero {padding:44px 0 30px;}
.val-card {padding:20px 18px;}

/* --- 子页面追加 --- */
.legal-wrap {max-width:980px;margin:0 auto;}
.legal-hero {padding:56px 0 28px;}
.legal-kicker {display:inline-flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-family:'Inter',monospace;border:1px solid var(--line-strong);border-radius:999px;padding:6px 14px;margin-bottom:18px;}
.legal-hero h1 {font-size:clamp(26px,4vw,42px);font-weight:800;line-height:1.25;margin:0 0 14px;color:var(--text);}
.legal-hero p {color:var(--muted);font-size:15px;line-height:1.85;margin:0;max-width:780px;}
.legal-update {display:flex;flex-wrap:wrap;gap:18px;margin-top:22px;font-size:12.5px;color:var(--muted);font-family:'Inter',monospace;}
.legal-update span {display:inline-flex;align-items:center;gap:7px;}
.legal-toc {background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:22px 24px;margin:8px 0 34px;}
.legal-toc h2 {font-size:14px;letter-spacing:.06em;color:var(--accent);margin:0 0 14px;font-weight:700;font-family:'Inter',monospace;text-transform:uppercase;}
.legal-toc ol {margin:0;padding-left:20px;columns:2;column-gap:32px;}
.legal-toc li {margin-bottom:9px;font-size:14px;break-inside:avoid;}
.legal-toc a {color:var(--text);text-decoration:none;border-bottom:1px dashed var(--line-strong);padding-bottom:1px;transition:.2s;}
.legal-toc a:hover {color:var(--accent);border-bottom-color:var(--accent);}
.legal-block {background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:28px 30px;margin-bottom:22px;transition:border-color .25s;}
.legal-block:hover {border-color:var(--line-strong);}
.legal-block h2 {font-size:19px;font-weight:700;color:var(--text);margin:0 0 16px;display:flex;align-items:center;gap:12px;line-height:1.4;}
.legal-block h2 .idx {flex:none;width:30px;height:30px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;color:#fff;background:linear-gradient(135deg,var(--brand),var(--accent));font-family:'Inter',monospace;}
.legal-block h3 {font-size:15px;font-weight:700;color:var(--accent);margin:22px 0 10px;}
.legal-block p {color:var(--muted);font-size:14.5px;line-height:1.9;margin:0 0 12px;}
.legal-block p:last-child {margin-bottom:0;}
.legal-block ul {margin:0 0 12px;padding-left:0;list-style:none;}
.legal-block ul li {position:relative;padding-left:20px;color:var(--muted);font-size:14.5px;line-height:1.9;margin-bottom:8px;}
.legal-block ul li::before {content:"";position:absolute;left:2px;top:11px;width:6px;height:6px;border-radius:50%;background:var(--brand);}
.legal-note {border-left:3px solid var(--accent);background:rgba(34,211,238,.06);border-radius:0 10px 10px 0;padding:14px 18px;margin:16px 0 0;}
.legal-note p {color:var(--text);font-size:14px;margin:0;}
.legal-cta {display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;background:linear-gradient(135deg,rgba(109,93,252,.16),rgba(34,211,238,.09));border:1px solid var(--line-strong);border-radius:16px;padding:26px 30px;margin:34px 0 10px;}
.legal-cta h2 {font-size:17px;margin:0 0 6px;color:var(--text);font-weight:700;}
.legal-cta p {margin:0;color:var(--muted);font-size:13.5px;}
.legal-toc ol {columns:1;}
.legal-block {padding:22px 20px;}
.legal-hero {padding:34px 0 18px;}
.legal-cta {padding:22px 20px;}

/* --- 子页面追加 --- */
.policy-wrap {max-width:980px;margin:0 auto;padding:0 20px;}
.policy-hero {padding:56px 0 32px;border-bottom:1px solid var(--line);}
.policy-hero h1 {font-size:clamp(26px,4vw,42px);font-weight:800;line-height:1.25;margin:0 0 14px;}
.policy-hero h1 em {font-style:normal;color:var(--accent);}
.policy-meta {display:flex;flex-wrap:wrap;gap:10px 22px;color:var(--muted);font-size:14px;}
.policy-meta span {display:inline-flex;align-items:center;gap:7px;}
.policy-card {background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:22px 24px;margin:26px 0;}
.policy-card h2 {font-size:20px;font-weight:700;margin:0 0 12px;color:var(--text);}
.policy-card h2 i {color:var(--brand);margin-right:9px;}
.policy-card h3 {font-size:16px;font-weight:600;margin:18px 0 8px;color:var(--accent);}
.policy-card p {color:var(--muted);font-size:15px;line-height:1.85;margin:0 0 10px;}
.policy-card ul {color:var(--muted);font-size:15px;line-height:1.85;margin:0 0 10px;padding-left:20px;}
.policy-card li {margin-bottom:6px;}
.policy-card a {color:var(--accent);text-decoration:none;}
.policy-card a:hover {text-decoration:underline;}
.policy-toc {background:rgba(109,93,252,.08);border:1px solid var(--line-strong);border-radius:16px;padding:18px 22px;margin-bottom:8px;}
.policy-toc strong {display:block;font-size:15px;margin-bottom:10px;color:var(--text);}
.policy-toc ol {margin:0;padding-left:20px;color:var(--muted);font-size:14.5px;line-height:1.95;}
.policy-toc a {color:var(--muted);text-decoration:none;}
.policy-toc a:hover {color:var(--accent);}
.policy-note {border-left:3px solid var(--brand);background:rgba(109,93,252,.08);border-radius:0 10px 10px 0;padding:14px 18px;color:var(--muted);font-size:14.5px;line-height:1.8;margin:14px 0 0;}
.policy-table {width:100%;border-collapse:collapse;margin:8px 0 4px;font-size:14.5px;}
.policy-table th,.policy-table td {border:1px solid var(--line);padding:11px 13px;text-align:left;vertical-align:top;color:var(--muted);line-height:1.75;}
.policy-table th {background:rgba(232,234,246,.05);color:var(--text);font-weight:600;}
.policy-cta {display:flex;flex-wrap:wrap;gap:14px;margin:34px 0 60px;}
.policy-card {padding:18px 16px;}
.policy-table th,.policy-table td {padding:9px 10px;font-size:13.5px;}

/* --- 子页面追加 --- */
.contact-hero {padding:56px 0 28px;}
.contact-hero h1 {font-size:clamp(26px,4vw,44px);line-height:1.25;margin:0 0 14px;font-weight:800;letter-spacing:-.5px;}
.contact-hero h1 .hl {background:linear-gradient(90deg,var(--brand),var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent;}
.contact-lead {color:var(--muted);font-size:16px;line-height:1.9;max-width:760px;margin:0;}
.chan-grid {display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:8px;}
.chan {background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:22px 18px;transition:.25s;}
.chan:hover {border-color:var(--line-strong);transform:translateY(-3px);}
.chan .ic {width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:rgba(109,93,252,.16);color:var(--accent);font-size:18px;margin-bottom:14px;}
.chan h3 {font-size:15px;margin:0 0 8px;font-weight:700;}
.chan p {color:var(--muted);font-size:13px;line-height:1.8;margin:0 0 10px;}
.chan .addr {font-size:13px;color:var(--accent);word-break:break-all;}
.info-list {list-style:none;padding:0;margin:0;}
.info-list li {display:flex;gap:14px;padding:16px 0;border-bottom:1px dashed var(--line);}
.info-list li:last-child {border-bottom:none;}
.info-list .k {flex:0 0 118px;color:var(--muted);font-size:13.5px;}
.info-list .v {flex:1;font-size:14px;line-height:1.85;color:var(--text);}
.panel-box {background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:24px;}
.form-x label {display:block;font-size:13px;color:var(--muted);margin:0 0 7px;}
.form-x .field {margin-bottom:16px;}
.form-x input,.form-x select,.form-x textarea {width:100%;background:rgba(0,0,0,.35);border:1px solid var(--line);border-radius:10px;color:var(--text);padding:11px 13px;font-size:14px;font-family:inherit;outline:none;transition:.2s;}
.form-x input:focus,.form-x select:focus,.form-x textarea:focus {border-color:var(--brand);box-shadow:0 0 0 3px rgba(109,93,252,.16);}
.form-x input::placeholder,.form-x textarea::placeholder {color:rgba(232,234,246,.35);}
.form-x textarea {resize:vertical;min-height:120px;}
.form-x select option {background:var(--panel);color:var(--text);}
.form-tip {font-size:12.5px;color:var(--muted);line-height:1.8;margin-top:12px;}
.warn-box {border-left:3px solid var(--accent);background:rgba(34,211,238,.07);border-radius:0 12px 12px 0;padding:16px 18px;font-size:13.5px;color:var(--muted);line-height:1.9;}
.chan-grid {grid-template-columns:repeat(2,1fr);}
.chan-grid {grid-template-columns:1fr;}
.info-list li {flex-direction:column;gap:4px;}
.info-list .k {flex:none;}