:root{
  --primary:#6d5dfc;
  --accent:#22d3ee;
  --bg:#0f1020;
  --text:#e8eaf6;
  --panel:#181a2f;
  --panel-2:#1f2140;
  --line:rgba(232,234,246,.10);
  --muted:#9aa0c3;
  --radius:8px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  background:var(--bg);
  color:var(--text);
  font-family:'Inter','PingFang SC','Microsoft YaHei',system-ui,sans-serif;
  font-size:15px;
  line-height:1.7;
  overflow-x:hidden;
}
a{text-decoration:none;color:inherit;}
h1,h2,h3,h4,.font-round{
  font-family:'Inter','PingFang SC','Microsoft YaHei',sans-serif;
  letter-spacing:.5px;
  font-weight:800;
}
.section-title{
  font-size:clamp(22px,3vw,32px);
  margin-bottom:6px;
  color:#fff;
}
.section-title .mark{
  display:inline-block;
  width:6px;height:22px;border-radius:3px;
  background:linear-gradient(180deg,var(--accent),var(--primary));
  margin-right:10px;vertical-align:-3px;
}
.section-sub{color:var(--muted);font-size:13.5px;margin-bottom:22px;}
.wrap{max-width:1240px;margin:0 auto;padding:0 18px;}
/* ======= NAV ======= */
.site-nav{
  position:sticky;top:0;z-index:1030;
  background:rgba(15,16,32,.92);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
}
.nav-inner{display:flex;align-items:center;gap:20px;height:62px;}
.brand{
  font-weight:900;font-size:19px;color:#fff;white-space:nowrap;
  display:flex;align-items:center;gap:8px;
}
.brand i{color:var(--accent);font-size:17px;}
.brand:hover{color:#fff;}
.nav-links{display:flex;gap:4px;margin-left:auto;flex-wrap:wrap;}
.nav-links a{
  padding:8px 13px;border-radius:var(--radius);font-size:14px;color:var(--muted);
  transition:.22s;white-space:nowrap;
}
.nav-links a:hover{background:rgba(109,93,252,.16);color:#fff;}
.nav-toggle{
  margin-left:auto;background:none;border:1px solid var(--line);color:var(--text);
  border-radius:var(--radius);width:42px;height:38px;display:none;
}
.mobile-menu{display:none;padding:6px 0 14px;border-top:1px solid var(--line);}
.mobile-menu a{display:block;padding:11px 6px;color:var(--muted);border-bottom:1px solid var(--line);}
.mobile-menu a:last-child{border-bottom:none;}
.mobile-menu.show{display:block;}
@media(max-width:900px){
  .nav-links{display:none;}
  .nav-toggle{display:block;}
  .nav-inner{height:58px;}
}
/* ======= HERO ======= */
.hero{
  position:relative;overflow:hidden;
  border-bottom:1px solid var(--line);
  background:radial-gradient(900px 400px at 82% -10%,rgba(109,93,252,.30),transparent 65%),
             radial-gradient(700px 380px at 8% 110%,rgba(34,211,238,.16),transparent 60%);
}
.hero-inner{padding:54px 0 40px;display:grid;grid-template-columns:1.05fr .95fr;gap:38px;align-items:center;}
@media(max-width:900px){.hero-inner{grid-template-columns:1fr;padding:36px 0 28px;gap:26px;}}
.hero-kicker{
  display:inline-flex;align-items:center;gap:8px;font-size:12.5px;letter-spacing:1.5px;
  text-transform:uppercase;color:var(--accent);border:1px solid rgba(34,211,238,.35);
  padding:5px 12px;border-radius:999px;margin-bottom:18px;
}
.hero h1{
  font-size:clamp(26px,4.4vw,46px);line-height:1.28;color:#fff;min-height:2.6em;
  font-weight:900;
}
.hero h1 .cursor{
  display:inline-block;width:3px;height:1em;background:var(--accent);
  vertical-align:-2px;margin-left:4px;animation:blink 1s steps(1) infinite;
}
@keyframes blink{50%{opacity:0;}}
.hero p.lead-txt{color:var(--muted);font-size:15px;margin:18px 0 26px;max-width:520px;}
.btn-glow{
  position:relative;overflow:hidden;border:none;border-radius:var(--radius);
  padding:12px 26px;font-weight:700;font-size:14.5px;color:#fff;
  background:linear-gradient(100deg,var(--primary),#8b7bff,var(--primary));
  background-size:200% 100%;
  transition:background-position .6s ease, transform .2s ease;
  display:inline-flex;align-items:center;gap:9px;
}
.btn-glow:hover{background-position:-100% 0;color:#fff;transform:translateY(-1px);}
.btn-glow::after{
  content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);
  transform:skewX(-18deg);transition:left .55s ease;
}
.btn-glow:hover::after{left:130%;}
.btn-ghost{
  border:1px solid var(--line);background:transparent;color:var(--text);
  border-radius:var(--radius);padding:11px 22px;font-size:14px;font-weight:600;transition:.22s;
}
.btn-ghost:hover{border-color:var(--accent);color:var(--accent);}
/* hero poster strip */
.hero-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.hero-strip .hp{
  position:relative;border-radius:var(--radius);overflow:hidden;
  border:1px solid var(--line);background:var(--panel);
  aspect-ratio:2/3;transition:.3s;
}
.hero-strip .hp img{width:100%;height:100%;object-fit:cover;display:block;transition:.45s;}
.hero-strip .hp:hover img{transform:scale(1.06);}
.hero-strip .hp:hover{border-color:rgba(109,93,252,.7);}
.hp .badge-ep{
  position:absolute;top:7px;left:7px;background:rgba(15,16,32,.82);
  color:var(--accent);font-size:10.5px;padding:2px 7px;border-radius:4px;
  border:1px solid rgba(34,211,238,.3);font-weight:700;
}
.hp .hp-name{
  position:absolute;left:0;right:0;bottom:0;padding:22px 8px 7px;
  font-size:12px;font-weight:700;color:#fff;
  background:linear-gradient(transparent,rgba(6,7,18,.92));
}
/* ======= CARD / POSTER WALL ======= */
.section{padding:52px 0;border-bottom:1px solid var(--line);}
.poster-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(158px,1fr));gap:18px;
}
@media(max-width:560px){.poster-grid{grid-template-columns:repeat(2,1fr);gap:13px;}}
.mcard{
  background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);
  overflow:hidden;cursor:pointer;transition:transform .28s ease,border-color .28s,box-shadow .28s;
  position:relative;
}
.mcard:hover{transform:translateY(-5px);border-color:rgba(109,93,252,.65);box-shadow:0 12px 26px -14px rgba(109,93,252,.6);}
.mcard .thumb{position:relative;aspect-ratio:2/3;overflow:hidden;background:#12132a;}
.mcard .thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease;}
.mcard:hover .thumb img{transform:scale(1.07);}
.tag-ep{
  position:absolute;top:7px;left:7px;font-size:10.5px;font-weight:700;
  padding:2px 7px;border-radius:4px;color:#0b0c1a;
  background:linear-gradient(95deg,var(--accent),#6ff0ff);
}
.score-badge{
  position:absolute;right:7px;bottom:7px;font-size:12px;font-weight:800;
  color:#fff;background:rgba(15,16,32,.78);border:1px solid rgba(232,234,246,.16);
  padding:1px 7px;border-radius:5px;
}
.score-badge i{color:#ffc93c;font-size:10.5px;margin-right:3px;}
.mcard .meta{padding:10px 10px 12px;}
.mcard .meta .name{
  font-size:13.5px;font-weight:700;color:#fff;line-height:1.4;
  display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;
}
.mcard .meta .sub{
  font-size:11.5px;color:var(--muted);margin-top:4px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
/* ======= TABS ======= */
.tab-bar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px;}
.tab-btn{
  padding:8px 17px;border-radius:999px;font-size:13.5px;font-weight:600;
  background:var(--panel);border:1px solid var(--line);color:var(--muted);
  transition:.22s;cursor:pointer;
}
.tab-btn:hover{color:#fff;border-color:rgba(109,93,252,.6);}
.tab-btn.active{
  background:linear-gradient(95deg,var(--primary),#8b7bff);
  color:#fff;border-color:transparent;
}
.tab-panel{display:none;}
.tab-panel.active{display:block;animation:fadeUp .45s ease;}
@keyframes fadeUp{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:none;}}
/* ======= RANK ======= */
.rank-wrap{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;}
.rank-row{
  display:flex;align-items:center;gap:14px;padding:13px 16px;
  border-bottom:1px solid var(--line);cursor:pointer;transition:.2s;
}
.rank-row:last-child{border-bottom:none;}
.rank-row:hover{background:var(--panel-2);}
.rank-no{
  font-size:19px;font-weight:900;width:36px;text-align:center;
  color:var(--muted);font-style:italic;flex:none;
}
.rank-row:nth-child(1) .rank-no{color:#ff6b6b;}
.rank-row:nth-child(2) .rank-no{color:#ffb354;}
.rank-row:nth-child(3) .rank-no{color:#22d3ee;}
.rank-thumb{width:44px;height:60px;border-radius:5px;overflow:hidden;flex:none;background:#12132a;}
.rank-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.rank-info{min-width:0;flex:1;}
.rank-info .rname{font-size:14.5px;font-weight:700;color:#fff;}
.rank-info .rdesc{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.rank-hot{
  font-size:12px;font-weight:800;color:var(--accent);
  background:rgba(34,211,238,.10);border:1px solid rgba(34,211,238,.28);
  padding:3px 9px;border-radius:999px;flex:none;
}
.rank-score{font-size:15px;font-weight:900;color:#ffc93c;flex:none;width:52px;text-align:right;}
@media(max-width:560px){.rank-info .rdesc{display:none;} .rank-score{width:44px;font-size:14px;}}
/* ======= TIMELINE / SPECIAL ======= */
.timeline{position:relative;padding-left:28px;}
.timeline::before{
  content:"";position:absolute;left:7px;top:6px;bottom:6px;width:2px;
  background:linear-gradient(180deg,var(--primary),var(--accent));
  opacity:.5;
}
.tl-item{position:relative;padding-bottom:26px;}
.tl-item:last-child{padding-bottom:0;}
.tl-item::before{
  content:"";position:absolute;left:-27px;top:7px;width:11px;height:11px;border-radius:50%;
  background:var(--bg);border:2px solid var(--accent);
}
.tl-item h4{font-size:15.5px;color:#fff;margin-bottom:6px;}
.tl-item p{font-size:13.5px;color:var(--muted);margin:0;}
.tl-tag{
  font-size:11px;color:var(--primary);border:1px solid rgba(109,93,252,.45);
  padding:1px 8px;border-radius:999px;margin-left:8px;font-weight:700;vertical-align:2px;
}
/* 精选片单 */
.pick-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;}
.pick-card{
  background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);
  padding:16px 17px;transition:.25s;
}
.pick-card:hover{border-color:rgba(34,211,238,.5);transform:translateY(-3px);}
.pick-card h4{font-size:15px;color:#fff;margin-bottom:7px;display:flex;gap:8px;align-items:center;}
.pick-card h4 .pc-no{color:var(--accent);font-size:13px;font-weight:900;font-style:italic;}
.pick-card p{font-size:13px;color:var(--muted);margin:0;line-height:1.75;}
.pick-card .pc-meta{font-size:11.5px;color:rgba(154,160,195,.8);margin-top:9px;}
/* 专题 */
.topic-hero{
  background:linear-gradient(120deg,rgba(109,93,252,.22),rgba(34,211,238,.10));
  border:1px solid var(--line);border-radius:var(--radius);padding:26px 24px;margin-bottom:24px;
}
.topic-hero h3{font-size:20px;color:#fff;margin-bottom:9px;}
.topic-hero p{color:var(--muted);font-size:13.8px;margin:0;max-width:760px;}
.mini-tag{
  display:inline-block;font-size:11.5px;padding:2px 10px;border-radius:999px;
  background:rgba(109,93,252,.16);color:#b3aaff;margin:10px 6px 0 0;border:1px solid rgba(109,93,252,.3);
}
/* ======= SIDE DRAWER ======= */
.drawer-mask{
  position:fixed;inset:0;background:rgba(5,6,16,.72);backdrop-filter:blur(3px);
  opacity:0;pointer-events:none;transition:opacity .3s ease;z-index:1050;
}
.drawer-mask.show{opacity:1;pointer-events:auto;}
.drawer{
  position:fixed;top:0;right:0;height:100%;width:min(430px,92vw);z-index:1060;
  background:var(--panel);border-left:1px solid var(--line);
  transform:translateX(102%);transition:transform .35s cubic-bezier(.4,0,.2,1);
  overflow-y:auto;box-shadow:-20px 0 50px -20px rgba(0,0,0,.8);
}
.drawer.show{transform:translateX(0);}
.drawer-head{position:relative;}
.drawer-head img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block;}
.drawer-head::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(transparent 30%,var(--panel));
}
.drawer-close{
  position:absolute;top:12px;right:12px;z-index:3;width:34px;height:34px;
  border-radius:50%;border:1px solid rgba(232,234,246,.25);background:rgba(15,16,32,.7);
  color:#fff;font-size:15px;display:flex;align-items:center;justify-content:center;transition:.2s;
}
.drawer-close:hover{background:var(--primary);border-color:var(--primary);}
.drawer-body{padding:0 22px 36px;margin-top:-30px;position:relative;z-index:2;}
.drawer-title{font-size:23px;font-weight:900;color:#fff;line-height:1.35;}
.drawer-score{display:flex;align-items:center;gap:10px;margin:10px 0 16px;}
.drawer-score .big{font-size:32px;font-weight:900;color:#ffc93c;line-height:1;}
.drawer-score .stars{color:#ffc93c;font-size:13px;letter-spacing:1px;}
.d-field{display:flex;gap:10px;padding:9px 0;border-bottom:1px dashed var(--line);font-size:13.5px;}
.d-field .k{color:var(--muted);flex:none;width:56px;}
.d-field .v{color:var(--text);}
.d-plot{font-size:13.8px;color:#c8cce8;line-height:1.85;margin-top:16px;}
.d-section-label{font-size:13px;font-weight:800;color:var(--accent);margin:20px 0 8px;letter-spacing:1px;}
/* ======= FOOTER / FRIEND ======= */
.friend{
  background:var(--panel);border-top:1px solid var(--line);padding:34px 0;
}
.friend h4{font-size:15px;color:#fff;margin-bottom:14px;}
.friend .flinks{
  font-size:13px;color:var(--muted);line-height:2.2;
  border:1px dashed var(--line);border-radius:var(--radius);padding:14px 16px;
}
footer.site-foot{
  background:#0b0c18;border-top:1px solid var(--line);padding:34px 0 26px;font-size:13px;color:var(--muted);
}
footer.site-foot .f-brand{font-size:17px;font-weight:900;color:#fff;margin-bottom:10px;display:inline-flex;gap:8px;align-items:center;}
footer.site-foot .f-brand i{color:var(--accent);}
footer.site-foot a:hover{color:var(--accent);}
.foot-links{display:flex;flex-wrap:wrap;gap:8px 20px;margin:14px 0 18px;}
/* back to top */
#toTop{
  position:fixed;right:20px;bottom:24px;width:44px;height:44px;border-radius:50%;
  border:1px solid rgba(109,93,252,.6);background:rgba(24,26,47,.95);color:var(--accent);
  display:flex;align-items:center;justify-content:center;font-size:16px;
  opacity:0;pointer-events:none;transform:translateY(14px);transition:.3s;z-index:1040;
}
#toTop.show{opacity:1;pointer-events:auto;transform:none;}
#toTop:hover{background:var(--primary);color:#fff;border-color:var(--primary);}
/* reveal */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease;}
.reveal.in{opacity:1;transform:none;}

/* --- 子页面追加 --- */
/* 本页专属少量样式：沿用站点变量，不覆盖全局 */
  .about-hero { padding: 64px 0 40px; position: relative; }
.about-hero h1 { font-size: clamp(28px, 4.4vw, 46px); font-weight: 800; line-height: 1.25; letter-spacing: -.5px; margin: 14px 0 16px; }
.about-hero h1 em { font-style: normal; color: var(--accent); }
.about-lead { color: var(--muted); font-size: 16.5px; line-height: 1.9; max-width: 760px; }
.about-meta { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px; }
.about-chip { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border-radius: 999px;
    background: var(--panel); border: 1px solid var(--line); color: var(--text); font-size: 13.5px; }
.about-chip i { color: var(--accent); font-size: 12px; }
.about-block { background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius);
    padding: 28px 26px; height: 100%; }
.about-block h3 { font-size: 19px; font-weight: 700; margin: 0 0 12px; color: var(--text); }
.about-block h3 i { color: var(--primary); margin-right: 9px; font-size: 16px; }
.about-block p { color: var(--muted); font-size: 14.5px; line-height: 1.95; margin: 0; }
.about-block p + p { margin-top: 12px; }
.principle { display: flex; gap: 16px; padding: 20px 0; border-bottom: 1px dashed var(--line); }
.principle:last-child { border-bottom: 0; padding-bottom: 0; }
.principle .p-num { flex: 0 0 44px; height: 44px; border-radius: var(--radius);
    background: linear-gradient(135deg, var(--primary), var(--accent));
    color: #fff; font-weight: 800; display: flex; align-items: center; justify-content: center; font-size: 15px; }
.principle h4 { font-size: 16px; font-weight: 700; margin: 2px 0 8px; color: var(--text); }
.principle p { color: var(--muted); font-size: 14px; line-height: 1.85; margin: 0; }
.source-note { background: var(--panel-2); border: 1px solid var(--line); border-left: 3px solid var(--accent);
    border-radius: var(--radius); padding: 20px 22px; color: var(--muted); font-size: 14.5px; line-height: 1.95; }
.source-note strong { color: var(--text); font-weight: 600; }
.stat-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.stat-cell { background: var(--panel-2); border: 1px solid var(--line); border-radius: var(--radius);
    padding: 20px 16px; text-align: center; }
.stat-cell .num { font-size: 26px; font-weight: 800; color: var(--accent); letter-spacing: -.5px; }
.stat-cell .lbl { color: var(--muted); font-size: 13px; margin-top: 6px; }
.faq-item { border: 1px solid var(--line); border-radius: var(--radius); background: var(--panel); margin-bottom: 12px; overflow: hidden; }
.faq-q { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 20px;
    cursor: pointer; font-weight: 600; font-size: 15px; color: var(--text); }
.faq-q i { color: var(--muted); transition: transform .25s; font-size: 13px; }
.faq-item.open .faq-q i { transform: rotate(180deg); color: var(--accent); }
.faq-a { display: none; padding: 0 20px 18px; color: var(--muted); font-size: 14px; line-height: 1.9; }
.faq-item.open .faq-a { display: block; }
.cta-band { margin-top: 8px; background: linear-gradient(135deg, rgba(109,93,252,.18), rgba(34,211,238,.10));
    border: 1px solid var(--line); border-radius: var(--radius); padding: 30px 26px; text-align: center; }
.cta-band h3 { font-size: 21px; font-weight: 800; margin: 0 0 10px; }
.cta-band p { color: var(--muted); font-size: 14.5px; margin: 0 auto 20px; max-width: 620px; line-height: 1.9; }
.cta-band .btn-glow, .cta-band .btn-ghost { margin: 6px; }
.about-hero { padding: 40px 0 26px; }
.stat-grid { grid-template-columns: repeat(2, 1fr); }
.about-block { padding: 22px 18px; }
.principle .p-num { flex: 0 0 38px; height: 38px; font-size: 13px; }

/* --- 子页面追加 --- */
.guide-hero {position:relative;overflow:hidden;padding:72px 0 56px;background:
    radial-gradient(900px 420px at 12% -10%, rgba(109,93,252,.35), transparent 62%),
    radial-gradient(700px 380px at 88% 0%, rgba(34,211,238,.18), transparent 60%),
    var(--bg);
    border-bottom:1px solid var(--line);}
.guide-hero .hero-kicker {display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;
    background:rgba(109,93,252,.16);border:1px solid rgba(109,93,252,.38);color:var(--text);
    font-size:13px;letter-spacing:.06em;text-transform:uppercase;}
.guide-hero h1 {font-size:clamp(28px,4.4vw,46px);font-weight:900;line-height:1.2;margin:18px 0 14px;color:var(--text);}
.guide-hero h1 em {font-style:normal;background:linear-gradient(92deg,var(--primary),var(--accent));
    -webkit-background-clip:text;background-clip:text;color:transparent;}
.guide-hero p {max-width:760px;color:var(--muted);font-size:16px;line-height:1.85;}
.guide-meta {display:flex;flex-wrap:wrap;gap:10px;margin-top:22px;}
.guide-meta span {font-size:13px;color:var(--muted);background:var(--panel);border:1px solid var(--line);
    border-radius:999px;padding:6px 14px;}
.guide-toc {background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px;}
.guide-toc h3 {font-size:15px;font-weight:700;color:var(--text);margin:0 0 14px;letter-spacing:.04em;}
.guide-toc ol {margin:0;padding-left:18px;color:var(--muted);font-size:14px;line-height:2.1;}
.guide-toc a {color:var(--muted);text-decoration:none;transition:.2s;}
.guide-toc a:hover {color:var(--accent);}
.gcard {background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);
    padding:26px 26px 24px;height:100%;transition:.22s;}
.gcard:hover {border-color:rgba(109,93,252,.55);transform:translateY(-3px);background:var(--panel-2);}
.gcard .gicon {width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;
    background:linear-gradient(135deg,rgba(109,93,252,.28),rgba(34,211,238,.20));
    border:1px solid var(--line);color:var(--accent);font-size:18px;margin-bottom:16px;}
.gcard h3 {font-size:17px;font-weight:700;color:var(--text);margin:0 0 10px;}
.gcard p {font-size:14.5px;line-height:1.85;color:var(--muted);margin:0;}
.steps {position:relative;padding-left:0;}
.step {display:flex;gap:18px;padding:20px 0;border-bottom:1px dashed var(--line);}
.step:last-child {border-bottom:none;}
.step .num {flex:0 0 42px;width:42px;height:42px;border-radius:50%;
    display:flex;align-items:center;justify-content:center;font-weight:800;font-size:16px;color:#fff;
    background:linear-gradient(135deg,var(--primary),var(--accent));}
.step h3 {font-size:16.5px;font-weight:700;color:var(--text);margin:2px 0 8px;}
.step p {font-size:14.5px;line-height:1.85;color:var(--muted);margin:0;}
.step code {background:rgba(34,211,238,.12);color:var(--accent);border-radius:4px;padding:2px 7px;font-size:13px;}
.tipbox {background:linear-gradient(135deg,rgba(109,93,252,.14),rgba(34,211,238,.08));
    border:1px solid rgba(109,93,252,.34);border-radius:var(--radius);padding:20px 22px;}
.tipbox p {margin:0;font-size:14.5px;line-height:1.9;color:var(--text);}
.tipbox i {color:var(--accent);margin-right:8px;}
.faq-q::-webkit-details-marker {display:none;}
.faq-item[open] .faq-q i {transform:rotate(180deg);}
.gtable {width:100%;border-collapse:collapse;font-size:14.5px;}
.gtable th,.gtable td {padding:13px 16px;text-align:left;border-bottom:1px solid var(--line);}
.gtable th {color:var(--text);font-weight:700;background:var(--panel-2);font-size:14px;letter-spacing:.03em;}
.gtable td {color:var(--muted);}
.gtable tr:last-child td {border-bottom:none;}
.gtable-wrap {background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;}
.gtable-wrap .table-scroll {overflow-x:auto;}
.site-footer {border-top:1px solid var(--line);background:var(--panel);padding:48px 0 28px;margin-top:20px;}
.site-footer .fbrand {display:inline-flex;align-items:center;gap:8px;font-weight:800;font-size:18px;color:var(--text);text-decoration:none;}
.site-footer .fbrand i {color:var(--accent);}
.site-footer p {color:var(--muted);font-size:14px;line-height:1.9;margin:14px 0 0;max-width:420px;}
.site-footer h4 {font-size:14px;font-weight:700;color:var(--text);letter-spacing:.05em;margin:0 0 16px;}
.flinks li {margin-bottom:10px;}
.flinks a {color:var(--muted);font-size:14px;text-decoration:none;transition:.2s;}
.flinks a:hover {color:var(--accent);}
.fcopy {border-top:1px solid var(--line);margin-top:34px;padding-top:20px;color:var(--muted);font-size:13px;
    display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;}
.guide-hero {padding:52px 0 40px;}
.gcard {padding:22px 20px;}
.step {gap:14px;}
.step .num {flex:0 0 34px;width:34px;height:34px;font-size:14px;}

/* --- 子页面追加 --- */
.rank-doc-hero {padding:56px 0 32px;border-bottom:1px solid var(--line);background:
    radial-gradient(700px 260px at 15% 0%,rgba(109,93,252,.22),transparent 70%),
    radial-gradient(600px 240px at 85% 20%,rgba(34,211,238,.14),transparent 70%);}
.rank-doc-hero h1 {font-size:clamp(1.7rem,4vw,2.6rem);font-weight:800;line-height:1.25;margin:0 0 14px;color:var(--text);}
.rank-doc-hero h1 .hl {background:linear-gradient(90deg,var(--primary),var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent;}
.rank-doc-hero p {color:var(--muted);max-width:760px;margin:0;font-size:1.02rem;line-height:1.85;}
.doc-body {padding:48px 0 64px;}
.doc-section {margin-bottom:52px;}
.doc-section h2 {font-size:clamp(1.2rem,2.4vw,1.55rem);font-weight:700;color:var(--text);margin:0 0 10px;display:flex;align-items:center;gap:10px;}
.doc-section h2 i {color:var(--accent);font-size:.9em;}
.doc-section h2 .num {display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;border-radius:6px;background:rgba(109,93,252,.18);color:var(--accent);font-size:.8rem;font-weight:700;}
.doc-section .lead {color:var(--muted);font-size:.95rem;line-height:1.9;margin:0 0 20px;}
.doc-section p {color:var(--muted);line-height:1.95;font-size:.94rem;margin:0 0 14px;}
.doc-section strong {color:var(--text);font-weight:600;}
.rule-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;margin-top:6px;}
.rule-card {background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:20px 20px 18px;transition:.25s;}
.rule-card:hover {border-color:rgba(109,93,252,.5);transform:translateY(-2px);}
.rule-card .rc-icon {width:38px;height:38px;border-radius:9px;display:flex;align-items:center;justify-content:center;background:rgba(34,211,238,.12);color:var(--accent);margin-bottom:12px;font-size:1rem;}
.rule-card h3 {font-size:1rem;font-weight:700;color:var(--text);margin:0 0 8px;}
.rule-card p {font-size:.87rem;color:var(--muted);margin:0;line-height:1.8;}
.weight-list {list-style:none;padding:0;margin:8px 0 0;}
.weight-list li {display:flex;align-items:center;gap:14px;padding:13px 0;border-bottom:1px dashed var(--line);}
.weight-list li:last-child {border-bottom:0;}
.weight-list .wl-name {flex:0 0 118px;color:var(--text);font-size:.9rem;font-weight:600;}
.weight-list .wl-bar {flex:1;height:8px;border-radius:99px;background:rgba(232,234,246,.08);overflow:hidden;}
.weight-list .wl-bar span {display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--primary),var(--accent));}
.weight-list .wl-pct {flex:0 0 48px;text-align:right;font-size:.85rem;color:var(--accent);font-weight:600;}
.doc-table {width:100%;border-collapse:collapse;margin-top:8px;font-size:.9rem;}
.doc-table th,.doc-table td {padding:12px 14px;text-align:left;border-bottom:1px solid var(--line);}
.doc-table th {color:var(--accent);font-weight:600;font-size:.82rem;letter-spacing:.04em;text-transform:uppercase;background:var(--panel-2);}
.doc-table td {color:var(--muted);}
.doc-table td:first-child {color:var(--text);font-weight:600;white-space:nowrap;}
.doc-table tr:last-child td {border-bottom:0;}
.doc-table-wrap {background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;}
.note-box {background:rgba(109,93,252,.08);border-left:3px solid var(--primary);border-radius:0 var(--radius) var(--radius) 0;padding:16px 20px;margin-top:18px;}
.note-box p {margin:0;font-size:.88rem;color:var(--muted);line-height:1.85;}
.note-box p + p {margin-top:8px;}
.note-box b {color:var(--text);}
.faq-mini {margin-top:8px;}
.faq-mini .fq {background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px 20px;margin-bottom:12px;}
.faq-mini .fq h3 {font-size:.95rem;font-weight:700;color:var(--text);margin:0 0 8px;}
.faq-mini .fq p {margin:0;font-size:.88rem;color:var(--muted);line-height:1.85;}
.doc-cta {margin-top:10px;display:flex;flex-wrap:wrap;gap:14px;}
.weight-list li {flex-wrap:wrap;gap:8px;}
.weight-list .wl-name {flex:0 0 100%;}
.doc-table-wrap {overflow-x:auto;}
.doc-table {min-width:520px;}

/* --- 子页面追加 --- */
.legal-hero {
    padding:64px 0 34px;
    background:
      radial-gradient(760px 320px at 12% -10%, rgba(109,93,252,.30), transparent 68%),
      radial-gradient(680px 300px at 88% 0%, rgba(34,211,238,.16), transparent 70%);
    border-bottom:1px solid var(--line);
  }
.legal-hero h1 {
    font-size:clamp(26px,4vw,42px);
    font-weight:800;
    line-height:1.25;
    margin:14px 0 12px;
    letter-spacing:-.5px;
  }
.legal-hero h1 em {
    font-style:normal;
    background:linear-gradient(90deg,var(--accent),var(--primary));
    -webkit-background-clip:text;
    background-clip:text;
    -webkit-text-fill-color:transparent;
  }
.legal-kicker {
    display:inline-flex;align-items:center;gap:8px;
    font-size:12.5px;letter-spacing:1.6px;text-transform:uppercase;
    color:var(--accent);font-weight:700;
    padding:6px 14px;border-radius:999px;
    background:rgba(34,211,238,.10);
    border:1px solid rgba(34,211,238,.28);
  }
.legal-meta {
    display:flex;flex-wrap:wrap;gap:10px 22px;
    color:var(--muted);font-size:13.5px;margin-top:6px;
  }
.legal-meta i {color:var(--primary);margin-right:6px;}
.legal-body {padding:48px 0 72px;}
.legal-layout {display:grid;grid-template-columns:236px 1fr;gap:38px;align-items:start;}
.legal-toc {
    position:sticky;top:22px;
    background:var(--panel);
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:20px 18px;
  }
.legal-toc h3 {
    font-size:13px;letter-spacing:1.2px;text-transform:uppercase;
    color:var(--muted);margin:0 0 14px;font-weight:700;
  }
.legal-toc a {
    display:block;color:var(--text);text-decoration:none;
    font-size:14px;padding:8px 10px;border-radius:6px;
    border-left:2px solid transparent;
    transition:.18s;
  }
.legal-toc a:hover {
    background:var(--panel-2);
    border-left-color:var(--accent);
    color:var(--accent);
  }
.legal-card {
    background:var(--panel);
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:26px 26px 24px;
    margin-bottom:22px;
    scroll-margin-top:90px;
  }
.legal-card h2 {
    font-size:20px;
    font-weight:800;
    line-height:1.4;
    margin:0 0 14px;
    padding-left:13px;
    border-left:3px solid var(--primary);
  }
.legal-card h2 span {color:var(--accent);}
.legal-card p {
    color:var(--muted);
    font-size:14.6px;
    line-height:1.95;
    margin:0 0 12px;
  }
.legal-card p strong {color:var(--text);font-weight:600;}
.legal-card ul {
    margin:0 0 12px;padding-left:0;list-style:none;
  }
.legal-card ul li {
    position:relative;
    padding-left:22px;
    color:var(--muted);
    font-size:14.6px;
    line-height:1.9;
    margin-bottom:8px;
  }
.legal-card ul li::before {
    content:"\f0da";
    font-family:"Font Awesome 6 Free";
    font-weight:900;
    position:absolute;left:2px;top:1px;
    color:var(--accent);font-size:11px;
  }
.legal-card ul li strong {color:var(--text);font-weight:600;}
.legal-note {
    display:flex;gap:12px;
    background:rgba(109,93,252,.10);
    border:1px solid rgba(109,93,252,.30);
    border-radius:var(--radius);
    padding:14px 16px;
    margin-top:6px;
  }
.legal-note i {color:var(--primary);font-size:16px;margin-top:3px;}
.legal-note p {margin:0;font-size:13.8px;line-height:1.85;color:var(--muted);}
.legal-note p strong {color:var(--text);}
.legal-timeline {
    display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
    gap:14px;margin-top:6px;
  }
.legal-step {
    background:var(--panel-2);
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:16px 15px;
  }
.legal-step b {
    display:block;font-size:12px;letter-spacing:1px;
    color:var(--accent);margin-bottom:8px;font-weight:700;
  }
.legal-step span {font-size:13.6px;color:var(--muted);line-height:1.8;display:block;}
.legal-back {
    display:inline-flex;align-items:center;gap:9px;
    margin-top:8px;padding:11px 22px;border-radius:999px;
    background:linear-gradient(135deg,var(--primary),#8b7dff);
    color:#fff;text-decoration:none;font-weight:600;font-size:14px;
    box-shadow:0 10px 26px -12px rgba(109,93,252,.9);
    transition:.2s;
  }
.legal-back:hover {transform:translateY(-2px);color:#fff;}
.legal-layout {grid-template-columns:1fr;gap:22px;}
.legal-toc {position:static;}
.legal-toc a {display:inline-block;margin:0 6px 6px 0;border-left:0;border:1px solid var(--line);}
.legal-hero {padding:44px 0 26px;}
.legal-card {padding:20px 17px;}
.legal-card h2 {font-size:17.5px;}

/* --- 子页面追加 --- */
.legal-hero p {color:var(--muted);max-width:760px;line-height:1.85;margin:0;}
.legal-meta span {
    font-size:.8rem;color:var(--muted);
    border:1px solid var(--line);
    background:rgba(255,255,255,.03);
    padding:6px 12px;border-radius:999px;
  }
.legal-card h2 .num {
    flex:0 0 auto;
    width:32px;height:32px;border-radius:8px;
    display:inline-flex;align-items:center;justify-content:center;
    font-size:.9rem;font-weight:800;
    background:linear-gradient(135deg,var(--primary),var(--accent));
    color:#0b0c18;
  }
.legal-card h3 {
    font-size:1.02rem;font-weight:700;margin:22px 0 10px;color:#fff;
  }
.legal-card p, .legal-card li {
    color:var(--muted);line-height:1.9;font-size:.95rem;
  }
.legal-card li {margin-bottom:8px;}
.legal-card strong {color:var(--text);font-weight:600;}
.legal-card a {color:var(--accent);text-decoration:none;border-bottom:1px dashed rgba(34,211,238,.4);}
.legal-card a:hover {color:#fff;}
.legal-table {
    width:100%;border-collapse:collapse;margin:6px 0 18px;font-size:.9rem;
  }
.legal-table th,.legal-table td {
    border:1px solid var(--line);
    padding:12px 14px;text-align:left;vertical-align:top;
  }
.legal-table th {
    background:var(--panel-2);color:var(--text);font-weight:700;white-space:nowrap;
  }
.legal-table td {color:var(--muted);line-height:1.8;}
.legal-card.warn {border-color:rgba(109,93,252,.4);}