:root{
  --main:#e50914;
  --accent:#f5c518;
  --bg:#0b0b0f;
  --text:#f5f5f7;
  --panel:#141419;
  --panel-2:#1b1b22;
  --line:#2c2c36;
  --muted:#9a9aa6;
  --shadow:8px 8px 0 0 #000;
  --shadow-accent:8px 8px 0 0 var(--accent);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  background:var(--bg);
  color:var(--text);
  font-family:'Inter',-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  font-weight:400;
  line-height:1.7;
  overflow-x:hidden;
}
h1,h2,h3,h4,h5,h6{
  font-weight:900;
  letter-spacing:-0.02em;
  line-height:1.15;
}
.mono{font-family:'SFMono-Regular',Consolas,"Liberation Mono",Menlo,monospace;}
a{text-decoration:none;color:inherit;}
::selection{background:var(--accent);color:#0b0b0f;}

/* ============ 顶部导航 ============ */
.site-nav{
  background:#0b0b0f;
  border-bottom:3px solid var(--line);
  position:sticky;top:0;z-index:1030;
}
.site-nav .navbar-brand{
  font-weight:900;
  font-size:1.25rem;
  color:var(--text);
  letter-spacing:-0.03em;
  display:flex;align-items:center;gap:.5rem;
}
.brand-mark{
  width:34px;height:34px;
  background:var(--main);
  color:#fff;
  display:inline-flex;align-items:center;justify-content:center;
  font-size:.95rem;
  border:3px solid #000;
  box-shadow:3px 3px 0 0 var(--accent);
  flex:0 0 auto;
}
.nav-link-custom{
  color:var(--muted);
  font-weight:600;
  font-size:.9rem;
  padding:.45rem .8rem;
  border:2px solid transparent;
  transition:.18s;
  display:inline-block;
}
.nav-link-custom:hover,.nav-link-custom.active{
  color:#0b0b0f;
  background:var(--accent);
  border:2px solid #000;
  box-shadow:3px 3px 0 0 var(--main);
}
.nav-toggler{
  border:2px solid var(--line);
  background:transparent;
  color:var(--text);
  padding:.35rem .6rem;
  font-size:1rem;
}
.mobile-menu{
  border-top:2px solid var(--line);
  background:var(--panel);
}

/* ============ Hero 轮播 ============ */
.hero{
  position:relative;
  border-bottom:4px solid #000;
  overflow:hidden;
  background:#000;
}
.hero-parallax{
  position:absolute;inset:-12% -6%;
  background:
    radial-gradient(ellipse at 78% 18%, rgba(229,9,20,.42), transparent 58%),
    radial-gradient(ellipse at 12% 82%, rgba(245,197,24,.20), transparent 55%),
    linear-gradient(140deg,#12121a 0%,#0b0b0f 62%,#151520 100%);
  z-index:0;
  will-change:transform;
}
.hero-grid-lines{
  position:absolute;inset:0;
  background-image:linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);
  background-size:64px 100%;
  z-index:1;pointer-events:none;
}
.hero-inner{position:relative;z-index:2;padding:clamp(2.6rem,7vw,5.6rem) 0;}

.hero-slide{
  display:none;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:clamp(1.4rem,4vw,3rem);
  align-items:center;
}
.hero-slide.active{display:grid;}
@media(max-width:860px){.hero-slide.active{grid-template-columns:1fr;}}

.hero-eyebrow{
  display:inline-flex;align-items:center;gap:.5rem;
  background:var(--main);
  color:#fff;
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.16em;
  padding:.32rem .72rem;
  border:2px solid #000;
  box-shadow:4px 4px 0 0 var(--accent);
  margin-bottom:1.1rem;
  text-transform:uppercase;
}
.hero-title{
  font-size:clamp(2rem,5.4vw,3.9rem);
  font-weight:900;
  margin:0 0 .9rem;
  color:var(--text);
  text-shadow:5px 5px 0 rgba(0,0,0,.9);
  min-height:1.2em;
}
.hero-title .caret{
  display:inline-block;width:.09em;height:.92em;
  background:var(--accent);
  margin-left:.08em;vertical-align:-0.06em;
  animation:blink 1s steps(1) infinite;
}
@keyframes blink{50%{opacity:0;}}
.hero-desc{
  color:#c9c9d4;
  font-size:clamp(.94rem,1.3vw,1.05rem);
  max-width:46ch;
  margin-bottom:1.5rem;
}
.hero-meta{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.6rem;}
.chip{
  display:inline-block;
  font-size:.76rem;
  font-weight:700;
  padding:.26rem .68rem;
  border:2px solid var(--line);
  color:#d5d5e0;
  background:rgba(255,255,255,.03);
}
.chip-red{border-color:var(--main);color:#ff9ba1;}
.chip-gold{border-color:var(--accent);color:var(--accent);}

.btn-brut{
  display:inline-flex;align-items:center;gap:.55rem;
  background:var(--main);
  color:#fff;
  font-weight:800;
  font-size:.92rem;
  padding:.72rem 1.4rem;
  border:3px solid #000;
  box-shadow:6px 6px 0 0 var(--accent);
  transition:.15s;
}
.btn-brut:hover{transform:translate(3px,3px);box-shadow:3px 3px 0 0 var(--accent);color:#fff;}
.btn-ghost{
  background:transparent;
  color:var(--text);
  border:3px solid var(--line);
  box-shadow:6px 6px 0 0 #000;
}
.btn-ghost:hover{background:var(--panel-2);color:var(--accent);border-color:var(--accent);transform:translate(3px,3px);box-shadow:3px 3px 0 0 #000;}

.hero-poster-frame{
  border:4px solid #000;
  box-shadow:14px 14px 0 0 var(--main);
  background:var(--panel);
  position:relative;
  aspect-ratio:2/3;
  max-width:380px;
  margin-left:auto;
  overflow:hidden;
}
.hero-poster-frame img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .7s cubic-bezier(.2,.7,.2,1);
}
.hero-poster-frame:hover img{transform:scale(1.07);}
.hero-poster-frame .frame-label{
  position:absolute;left:0;bottom:0;right:0;
  background:linear-gradient(0deg,rgba(0,0,0,.92),rgba(0,0,0,0));
  padding:2.2rem .9rem .8rem;
  font-weight:800;font-size:.9rem;
}

.hero-dots{display:flex;gap:.6rem;margin-top:1.8rem;}
.hero-dot{
  width:34px;height:8px;background:#2c2c36;border:none;padding:0;cursor:pointer;
  transition:.2s;
}
.hero-dot.on{background:var(--accent);box-shadow:0 0 0 2px #000;}

/* ============ 通用区块 ============ */
.section{padding:clamp(2.6rem,6vw,4.6rem) 0;position:relative;}
.section-head{
  display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;
  gap:1rem;margin-bottom:2rem;
  border-bottom:3px solid var(--line);padding-bottom:1rem;
}
.section-title{
  font-size:clamp(1.5rem,3.2vw,2.35rem);
  font-weight:900;
  margin:0;
  display:flex;align-items:center;gap:.7rem;
}
.section-title .bar{
  display:inline-block;width:12px;height:1.05em;background:var(--main);
  box-shadow:4px 4px 0 0 var(--accent);
}
.section-sub{
  color:var(--muted);font-size:.88rem;margin:.4rem 0 0;
  font-weight:500;
}
.section-link{
  font-size:.84rem;font-weight:800;color:var(--accent);
  border-bottom:2px solid var(--accent);padding-bottom:2px;
}
.section-link:hover{color:#fff;border-color:#fff;}

/* ============ 海报网格 ============ */
.poster-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(.85rem,1.8vw,1.35rem);
  width:100%;
}
@media(min-width:576px){.poster-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(min-width:992px){.poster-grid{grid-template-columns:repeat(4,minmax(0,1fr));}}
@media(min-width:1400px){.poster-grid{grid-template-columns:repeat(6,minmax(0,1fr));}}

.poster-card{
  background:var(--panel);
  border:3px solid #000;
  box-shadow:6px 6px 0 0 #000;
  transition:.2s;
  position:relative;
  display:block;
  width:100%;
}
.poster-card:hover{transform:translate(-2px,-2px);box-shadow:9px 9px 0 0 var(--main);border-color:var(--accent);}
.poster-thumb{
  position:relative;
  aspect-ratio:2/3;
  overflow:hidden;
  background:linear-gradient(150deg,#1d1d26,#101017);
}
.poster-thumb img{
  width:100%;height:100%;object-fit:cover;display:block;
  opacity:0;transition:opacity .55s ease, transform .6s cubic-bezier(.2,.7,.2,1);
}
.poster-thumb img.loaded{opacity:1;}
.poster-card:hover .poster-thumb img{transform:scale(1.08);}
.poster-mask{
  position:absolute;inset:0;
  background:linear-gradient(0deg,rgba(11,11,15,.96) 0%,rgba(11,11,15,.45) 46%,rgba(11,11,15,0) 78%);
  opacity:0;transition:.28s;
  display:flex;align-items:flex-end;padding:.7rem;
  font-size:.74rem;font-weight:700;color:var(--accent);line-height:1.4;
}
.poster-card:hover .poster-mask{opacity:1;}
.poster-body{padding:.6rem .68rem .72rem;}
.poster-name{
  font-size:.86rem;font-weight:800;color:var(--text);
  margin:0 0 .3rem;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.poster-foot{
  display:flex;align-items:center;justify-content:space-between;gap:.4rem;
  font-size:.72rem;color:var(--muted);font-weight:600;
}
.score{
  font-family:'SFMono-Regular',Consolas,monospace;
  color:var(--accent);font-weight:800;font-size:.8rem;
}
.tag-mini{
  font-size:.66rem;font-weight:800;
  padding:.1rem .4rem;
  border:1.5px solid var(--line);
  color:#b9b9c6;
}

/* ============ 分类标签页 ============ */
.tab-strip{
  display:flex;flex-wrap:wrap;gap:.55rem;margin-bottom:1.7rem;
}
.tab-btn{
  background:var(--panel);
  border:2px solid var(--line);
  color:#c3c3cf;
  font-weight:800;font-size:.82rem;
  padding:.45rem .95rem;
  cursor:pointer;
  transition:.16s;
}
.tab-btn:hover{border-color:var(--accent);color:var(--accent);}
.tab-btn.on{
  background:var(--accent);color:#0b0b0f;border-color:#000;
  box-shadow:4px 4px 0 0 var(--main);
}
.tab-panel{display:none;}
.tab-panel.on{display:block;animation:fadeUp .38s ease both;}
@keyframes fadeUp{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:none;}}

/* ============ 时间线 (小小影视官网选片标准) ============ */
.timeline{
  position:relative;
  padding-left:2.1rem;
  border-left:3px solid var(--line);
}
.tl-item{position:relative;padding-bottom:1.85rem;}
.tl-item:last-child{padding-bottom:0;}
.tl-item::before{
  content:"";
  position:absolute;left:-2.1rem;top:.35rem;
  transform:translateX(-50%);
  width:15px;height:15px;
  background:var(--main);
  border:3px solid #000;
  box-shadow:0 0 0 3px var(--accent);
}
.tl-year{
  font-family:'SFMono-Regular',Consolas,monospace;
  font-size:.82rem;font-weight:800;color:var(--accent);
  letter-spacing:.06em;margin-bottom:.2rem;
}
.tl-title{font-size:1.02rem;font-weight:900;margin:0 0 .3rem;}
.tl-text{color:#a9a9b6;font-size:.88rem;margin:0;max-width:60ch;}

/* ============ 排行榜 ============ */
.rank-list{display:flex;flex-direction:column;gap:.7rem;counter-reset:rk;}
.rank-row{
  display:grid;
  grid-template-columns:auto 1fr auto auto;
  align-items:center;
  gap:.9rem;
  background:var(--panel);
  border:3px solid #000;
  box-shadow:5px 5px 0 0 #000;
  padding:.7rem .9rem;
  transition:.18s;
}
.rank-row:hover{border-color:var(--accent);transform:translate(-2px,-2px);box-shadow:8px 8px 0 0 var(--main);}
.rank-num{
  width:44px;height:44px;
  display:flex;align-items:center;justify-content:center;
  font-family:'SFMono-Regular',Consolas,monospace;
  font-weight:900;font-size:1.05rem;
  border:3px solid #000;
  background:#1e1e27;color:#8b8b99;
  flex:0 0 auto;
}
.rank-row.top1 .rank-num{background:var(--accent);color:#0b0b0f;box-shadow:0 0 0 3px #000;}
.rank-row.top2 .rank-num{background:#c9ccd6;color:#0b0b0f;}
.rank-row.top3 .rank-num{background:#b8743a;color:#0b0b0f;}
.rank-info{min-width:0;}
.rank-name{
  font-weight:900;font-size:.95rem;margin:0 0 .14rem;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.rank-meta{font-size:.73rem;color:var(--muted);font-weight:600;}
.rank-hot{
  font-family:'SFMono-Regular',Consolas,monospace;
  font-size:.86rem;font-weight:800;color:var(--main);
  white-space:nowrap;
}
@media(max-width:575px){
  .rank-row{grid-template-columns:auto 1fr auto;gap:.6rem;padding:.6rem .7rem;}
  .rank-num{width:36px;height:36px;font-size:.9rem;}
  .rank-meta{display:none;}
}

/* ============ 数据条 ============ */
.stats-strip{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
  border:3px solid var(--line);
  background:var(--panel);
  padding:1.4rem;
  box-shadow:8px 8px 0 0 #000;
}
@media(min-width:768px){.stats-strip{grid-template-columns:repeat(4,minmax(0,1fr));}}
.stat-item{text-align:left;border-left:4px solid var(--main);padding-left:.85rem;}
.stat-num{
  font-family:'SFMono-Regular',Consolas,monospace;
  font-size:clamp(1.5rem,3.4vw,2.2rem);
  font-weight:900;color:var(--accent);line-height:1.1;
}
.stat-label{font-size:.78rem;color:var(--muted);font-weight:700;letter-spacing:.05em;}

/* ============ FAQ ============ */
.faq-item{
  border:3px solid var(--line);
  background:var(--panel);
  margin-bottom:.75rem;
  box-shadow:5px 5px 0 0 #000;
}
.faq-q{
  width:100%;text-align:left;background:transparent;border:none;
  color:var(--text);font-weight:800;font-size:.94rem;
  padding:.95rem 1rem;cursor:pointer;
  display:flex;justify-content:space-between;align-items:center;gap:1rem;
}
.faq-q:hover{color:var(--accent);}
.faq-q i{color:var(--main);transition:.2s;flex:0 0 auto;}
.faq-item.open .faq-q i{transform:rotate(45deg);}
.faq-a{
  max-height:0;overflow:hidden;transition:max-height .32s ease;
  color:#a9a9b6;font-size:.88rem;
}
.faq-a p{margin:0;padding:0 1rem 1rem;}

/* ============ 友链 ============ */
.friend-zone{
  border-top:3px solid var(--line);
  padding:2rem 0;
  background:#0e0e13;
}
.friend-title{
  font-size:.85rem;font-weight:900;letter-spacing:.14em;
  color:var(--muted);margin-bottom:.8rem;text-transform:uppercase;
}
.friend-zone .friend-line{color:#8d8d9c;font-size:.85rem;line-height:2;word-break:break-all;}

/* ============ 页脚 ============ */
.site-footer{
  background:#08080b;
  border-top:4px solid var(--main);
  padding:2.6rem 0 1.6rem;
}
.footer-brand{
  font-weight:900;font-size:1.15rem;
  display:flex;align-items:center;gap:.55rem;margin-bottom:.7rem;
}
.footer-desc{color:#8d8d9c;font-size:.85rem;max-width:44ch;}
.footer-h{
  font-size:.8rem;font-weight:900;letter-spacing:.14em;
  color:var(--accent);margin-bottom:.8rem;text-transform:uppercase;
}
.footer-links{list-style:none;padding:0;margin:0;}
.footer-links li{margin-bottom:.45rem;}
.footer-links a{color:#9a9aa6;font-size:.86rem;font-weight:600;}
.footer-links a:hover{color:var(--accent);}
.footer-bottom{
  border-top:2px solid var(--line);
  margin-top:2rem;padding-top:1.2rem;
  color:#6e6e7c;font-size:.79rem;
  display:flex;flex-wrap:wrap;gap:.6rem;justify-content:space-between;
}

/* 渐显 */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease;}
.reveal.in{opacity:1;transform:none;}
@media(prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none;}
  html{scroll-behavior:auto;}
}

/* --- 子页面追加 --- */
/* 本页专属少量样式，沿用站点变量 */
    .guide-hero { padding: 64px 0 32px; position: relative; overflow: hidden; }
.guide-hero .hero-inner { max-width: 880px; }
.guide-title { font-size: clamp(28px, 5vw, 52px); line-height: 1.1; font-weight: 900; letter-spacing: -.5px; margin: 14px 0 16px; }
.guide-title .hl { color: var(--accent); }
.guide-lead { color: var(--muted); font-size: clamp(15px, 1.6vw, 18px); line-height: 1.85; max-width: 720px; }
.toc { background: var(--panel); border: 2px solid var(--line); box-shadow: var(--shadow); padding: 20px 22px; }
.toc-title { font-weight: 800; font-size: 15px; letter-spacing: .5px; margin-bottom: 12px; color: var(--text); }
.toc a { display: block; color: var(--muted); text-decoration: none; padding: 7px 0; font-size: 14px; border-bottom: 1px dashed var(--line); transition: .2s; }
.toc a:last-child { border-bottom: 0; }
.toc a:hover { color: var(--accent); padding-left: 6px; }
.toc a .num { color: var(--main); font-weight: 800; margin-right: 8px; }
.g-card { background: var(--panel); border: 2px solid var(--line); padding: 24px; height: 100%; transition: .2s; }
.g-card:hover { border-color: var(--main); box-shadow: var(--shadow); transform: translate(-2px,-2px); }
.g-card .ico { width: 44px; height: 44px; display: grid; place-items: center; background: var(--main); color: #fff; font-size: 18px; margin-bottom: 14px; }
.g-card h3 { font-size: 18px; font-weight: 800; margin-bottom: 10px; }
.g-card p { color: var(--muted); font-size: 14px; line-height: 1.8; margin: 0; }
.step-list { counter-reset: st; }
.step-item { display: flex; gap: 18px; padding: 20px 0; border-bottom: 1px solid var(--line); }
.step-item:last-child { border-bottom: 0; }
.step-no { flex: 0 0 auto; width: 44px; height: 44px; display: grid; place-items: center; font-weight: 900; font-size: 18px; background: var(--panel-2); border: 2px solid var(--accent); color: var(--accent); }
.step-body h3 { font-size: 17px; font-weight: 800; margin-bottom: 8px; }
.step-body p { color: var(--muted); font-size: 14.5px; line-height: 1.9; margin: 0; }
.step-body p + p { margin-top: 8px; }
.faq-item.open .faq-a { display: block; }
.note-box { background: var(--panel-2); border-left: 4px solid var(--accent); padding: 16px 20px; color: var(--muted); font-size: 14.5px; line-height: 1.85; }
.note-box strong { color: var(--text); }
.tag-row { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }

/* --- 子页面追加 --- */
.mg-hero {padding:56px 0 24px;}
.mg-panel {background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);padding:22px;border-radius:2px;}
.mg-panel-2 {background:var(--panel-2);border:1px solid var(--line);padding:18px;border-radius:2px;}
.mg-lead {color:var(--muted);font-size:1.02rem;line-height:1.85;}
.mg-h2 {font-weight:800;letter-spacing:-.01em;margin-bottom:14px;}
.mg-h2 .accent-dot {color:var(--main);}
.mg-list {list-style:none;padding:0;margin:0;}
.mg-list li {position:relative;padding-left:26px;margin-bottom:12px;color:var(--muted);line-height:1.8;}
.mg-list li::before {content:"\f111";font-family:"Font Awesome 6 Free";font-weight:400;position:absolute;left:0;top:2px;color:var(--main);font-size:.55rem;}
.mg-step {display:flex;gap:16px;padding:16px 0;border-bottom:1px dashed var(--line);}
.mg-step:last-child {border-bottom:0;}
.mg-step .num {flex:0 0 44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--main);color:#fff;font-weight:900;font-family:'Inter',sans-serif;box-shadow:4px 4px 0 0 #000;}
.mg-step h3 {font-size:1.05rem;font-weight:700;margin:0 0 6px;}
.mg-step p {margin:0;color:var(--muted);line-height:1.8;font-size:.95rem;}
.mg-quote {border-left:3px solid var(--accent);padding:10px 0 10px 18px;color:var(--text);font-style:italic;line-height:1.9;background:rgba(245,197,24,.05);}
.mg-tag {display:inline-block;font-size:.78rem;padding:4px 10px;border:1px solid var(--line);color:var(--muted);margin:0 8px 8px 0;border-radius:2px;font-family:'Inter',sans-serif;}
.mg-faq {border:1px solid var(--line);background:var(--panel-2);padding:18px 20px;margin-bottom:14px;border-radius:2px;}
.mg-faq h3 {font-size:1rem;font-weight:700;margin:0 0 8px;color:var(--text);}
.mg-faq p {margin:0;color:var(--muted);line-height:1.8;font-size:.95rem;}
.mg-score {font-family:'Inter',sans-serif;font-weight:900;font-size:2.6rem;color:var(--accent);line-height:1;}
.mg-side-card {background:var(--panel);border:1px solid var(--line);padding:0;overflow:hidden;box-shadow:var(--shadow);}
.mg-side-card img {width:100%;display:block;aspect-ratio:2/3;object-fit:cover;filter:grayscale(.15) contrast(1.05);}
.mg-side-body {padding:16px;}
.mg-side-body h3 {font-size:1.1rem;font-weight:800;margin:0 0 6px;}
.mg-side-body p {color:var(--muted);font-size:.88rem;margin:0 0 12px;line-height:1.7;}
.mg-meta-row {display:flex;justify-content:space-between;font-size:.82rem;color:var(--muted);padding:6px 0;border-bottom:1px solid var(--line);}
.mg-meta-row:last-child {border-bottom:0;}
.mg-meta-row strong {color:var(--text);font-weight:600;}
.mg-score {font-size:2rem;}

/* --- 子页面追加 --- */
.rank-hero {padding:72px 0 40px;position:relative;overflow:hidden;border-bottom:1px solid var(--line)}
.rank-hero h1 {font-size:clamp(1.9rem,4.6vw,3.2rem);font-weight:900;line-height:1.1;letter-spacing:-.02em;margin:16px 0 14px}
.rank-hero h1 em {font-style:normal;color:var(--accent)}
.rank-hero p {color:var(--muted);max-width:720px;line-height:1.85;margin:0}
.rank-tabs {display:flex;flex-wrap:wrap;gap:10px;margin:28px 0 8px}
.rank-tab {border:1px solid var(--line);background:var(--panel);color:var(--text);padding:9px 18px;font-size:.86rem;font-weight:600;cursor:pointer;transition:.18s;text-decoration:none;display:inline-block}
.rank-tab:hover {border-color:var(--accent);color:var(--accent)}
.rank-tab.on {background:var(--main);border-color:var(--main);color:#fff;box-shadow:4px 4px 0 0 #000}
.rank-board {display:grid;gap:14px;margin-top:26px}
.rank-no {font-size:2rem;font-weight:900;line-height:1;color:var(--line);text-align:center;font-variant-numeric:tabular-nums}
.rank-row.top1 .rank-no {color:var(--accent)}
.rank-row.top2 .rank-no {color:#cfcfd6}
.rank-row.top3 .rank-no {color:#c08a4a}
.rank-info h3 {font-size:1.02rem;font-weight:700;margin:0 0 6px;letter-spacing:-.01em}
.rank-info .meta {font-size:.79rem;color:var(--muted);display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.rank-info .meta span {border:1px solid var(--line);padding:2px 8px;font-size:.72rem;letter-spacing:.03em}
.rank-info .why {font-size:.82rem;color:var(--muted);margin:8px 0 0;line-height:1.65}
.rank-score {text-align:right;min-width:88px}
.rank-score b {display:block;font-size:1.5rem;font-weight:900;color:var(--accent);line-height:1;font-variant-numeric:tabular-nums}
.rank-score small {font-size:.68rem;color:var(--muted);letter-spacing:.08em}
.rule-card {background:var(--panel-2);border:1px solid var(--line);padding:24px;height:100%}
.rule-card h3 {font-size:1rem;font-weight:800;margin:0 0 12px;color:var(--accent)}
.rule-card p,.rule-card li {font-size:.87rem;color:var(--muted);line-height:1.8}
.rule-card ul {padding-left:18px;margin:0}
.faq-item h3 {font-size:.95rem;font-weight:700;margin:0 0 8px}
.faq-item p {margin:0;font-size:.86rem;color:var(--muted);line-height:1.8}
.rank-score {grid-column:1/-1;text-align:left;display:flex;align-items:baseline;gap:8px;padding-left:64px}
.rank-score b {font-size:1.2rem}
.rank-no {font-size:1.55rem}

/* --- 子页面追加 --- */
.about-lead {color:var(--muted);font-size:1.02rem;line-height:1.95;max-width:820px;}
.about-block {background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:26px 24px;height:100%;}
.about-block h3 {font-size:1.05rem;font-weight:800;letter-spacing:.2px;margin-bottom:12px;color:var(--text);}
.about-block p {color:var(--muted);font-size:.94rem;line-height:1.85;margin:0;}
.about-num {font-family:'Inter',monospace;font-weight:900;font-size:1.6rem;color:var(--main);line-height:1;margin-bottom:10px;display:block;}
.about-item {display:flex;gap:14px;padding:16px 0;border-bottom:1px dashed var(--line);}
.about-item:last-child {border-bottom:0;}
.about-item .ico {flex:0 0 38px;width:38px;height:38px;border-radius:10px;background:var(--panel-2);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--accent);font-size:.95rem;}
.about-item h4 {font-size:.98rem;font-weight:700;margin:0 0 5px;color:var(--text);}
.about-item p {color:var(--muted);font-size:.9rem;line-height:1.8;margin:0;}
.about-quote {border-left:3px solid var(--accent);background:var(--panel-2);padding:16px 20px;border-radius:0 12px 12px 0;color:var(--text);font-size:.95rem;line-height:1.9;}
.about-faq {border:1px solid var(--line);border-radius:12px;overflow:hidden;}
.about-faq .q {background:var(--panel-2);padding:14px 18px;font-weight:700;font-size:.95rem;color:var(--text);}
.about-faq .a {padding:14px 18px;color:var(--muted);font-size:.92rem;line-height:1.85;}
.about-faq .faq-row + .faq-row {border-top:1px solid var(--line);}
.about-strip {background:var(--panel-2);border:1px solid var(--line);border-radius:14px;padding:22px 24px;}
.about-strip .k {font-family:'Inter',monospace;color:var(--accent);font-weight:800;font-size:1.25rem;display:block;line-height:1.2;}
.about-strip .l {color:var(--muted);font-size:.82rem;letter-spacing:.5px;margin-top:4px;display:block;}
.about-cta {background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:30px 24px;text-align:center;}
.about-cta p {color:var(--muted);max-width:600px;margin:10px auto 20px;font-size:.94rem;line-height:1.85;}
.about-block {padding:20px 18px;}
.about-cta {padding:22px 16px;}

/* --- 子页面追加 --- */
.legal-wrap {max-width:900px;margin:0 auto;}
.legal-card {
    background:var(--panel);
    border:1px solid var(--line);
    box-shadow:var(--shadow);
    padding:clamp(20px,4vw,44px);
  }
.legal-card h2 {
    font-size:clamp(1.15rem,2.4vw,1.5rem);
    font-weight:800;
    margin:2.2rem 0 .9rem;
    padding-left:.75rem;
    border-left:5px solid var(--main);
    line-height:1.35;
  }
.legal-card h2:first-of-type {margin-top:0;}
.legal-card h3 {
    font-size:1.02rem;
    font-weight:700;
    color:var(--accent);
    margin:1.4rem 0 .5rem;
  }
.legal-card p,.legal-card li {
    color:var(--muted);
    line-height:1.85;
    font-size:.95rem;
  }
.legal-card p {margin-bottom:.85rem;}
.legal-card ul {padding-left:1.15rem;margin-bottom:1rem;}
.legal-card li {margin-bottom:.45rem;}
.legal-card strong {color:var(--text);font-weight:600;}
.legal-card a {color:var(--accent);text-decoration:none;}
.legal-card a:hover {text-decoration:underline;}
.legal-note {
    background:var(--panel-2);
    border:1px solid var(--line);
    border-left:4px solid var(--accent);
    padding:1rem 1.15rem;
    margin:1.2rem 0;
    color:var(--muted);
    font-size:.92rem;
    line-height:1.8;
  }
.legal-stamp {
    display:flex;flex-wrap:wrap;gap:.6rem .9rem;align-items:center;
    margin-top:2rem;padding-top:1.2rem;border-top:1px dashed var(--line);
    font-size:.85rem;color:var(--muted);
  }
.legal-stamp .chip {font-size:.78rem;}

/* --- 子页面追加 --- */
.sitemap-grid {display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:22px}
.sitemap-card {background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:24px 22px;box-shadow:var(--shadow);transition:transform .18s ease,border-color .18s ease}
.sitemap-card:hover {transform:translateY(-3px);border-color:var(--main)}
.sitemap-card h3 {font-size:1.06rem;font-weight:800;margin:0 0 6px;color:var(--text);display:flex;align-items:center;gap:9px}
.sitemap-card h3 i {color:var(--main);font-size:.95rem}
.sitemap-card .sm-sub {color:var(--muted);font-size:.82rem;line-height:1.7;margin:0 0 14px}
.sitemap-links {list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px}
.sitemap-links a {display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;border-radius:8px;color:var(--text);text-decoration:none;font-size:.92rem;border:1px solid transparent;transition:background .15s ease,border-color .15s ease,color .15s ease}
.sitemap-links a:hover {background:var(--panel-2);border-color:var(--line);color:var(--accent)}
.sitemap-links a i {color:var(--muted);font-size:.72rem}
.sitemap-links a:hover i {color:var(--accent)}
.sm-tag {font-size:.68rem;padding:2px 7px;border-radius:999px;background:rgba(229,9,20,.14);color:var(--main);border:1px solid rgba(229,9,20,.35);font-weight:700;white-space:nowrap}
.sm-tag.gold {background:rgba(245,197,24,.14);color:var(--accent);border-color:rgba(245,197,24,.35)}
.anchor-note {background:var(--panel-2);border-left:3px solid var(--accent);padding:14px 18px;border-radius:8px;color:var(--muted);font-size:.88rem;line-height:1.85}
.anchor-note strong {color:var(--text)}
.quick-row {display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-top:18px}
.quick-item {background:var(--panel-2);border:1px solid var(--line);border-radius:10px;padding:16px 18px;text-decoration:none;color:var(--text);display:block;transition:border-color .18s ease,transform .18s ease}
.quick-item:hover {transform:translateY(-2px);border-color:var(--main);color:var(--text)}
.quick-item .qi-num {font-family:'Inter',monospace;font-weight:900;color:var(--accent);font-size:1.2rem;display:block;margin-bottom:4px}
.quick-item span.qi-t {font-weight:700;font-size:.95rem;display:block}
.quick-item span.qi-d {color:var(--muted);font-size:.8rem;display:block;margin-top:3px}
.sm-table {width:100%;border-collapse:collapse;font-size:.88rem}
.sm-table th,.sm-table td {text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top}
.sm-table th {color:var(--muted);font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}
.sm-table td {color:var(--text)}
.sm-table td a {color:var(--accent);text-decoration:none}
.sm-table td a:hover {text-decoration:underline}
.sm-table tr:hover td {background:var(--panel-2)}
.sitemap-card {padding:20px 16px}
.sm-table th,.sm-table td {padding:10px 8px;font-size:.82rem}