:root{
  --main:#2563eb;
  --accent:#06b6d4;
  --bg:#f4f8ff;
  --ink:#0f1e3d;
  --ink-soft:#40527a;
  --line:#0f1e3d;
  --card:#ffffff;
  --gold:#d9a406;
  --silver:#8b98ad;
  --bronze:#b06a2c;
  --shadow-hard:6px 6px 0 var(--ink);
  --shadow-soft:4px 4px 0 rgba(15,30,61,.18);
}
*{border-radius:0 !important;}
html{scroll-behavior:smooth;}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:"Inter","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  font-weight:400;
  overflow-x:hidden;
}
h1,h2,h3,h4,.hand{
  font-family:"Inter","PingFang SC","Microsoft YaHei",sans-serif;
  font-weight:900;
  letter-spacing:-.02em;
  color:var(--ink);
}
a{text-decoration:none;color:var(--main);}
a:hover{color:var(--accent);}
::selection{background:var(--accent);color:#fff;}

/* ============ 导航 ============ */
.topbar{
  position:sticky;top:0;z-index:1000;
  background:var(--bg);
  border-bottom:4px solid var(--ink);
}
.brand-lock{
  display:inline-flex;align-items:center;gap:.5rem;
  font-weight:900;font-size:1.35rem;color:var(--ink);
  border:3px solid var(--ink);
  background:#fff;
  padding:.28rem .7rem;
  box-shadow:var(--shadow-soft);
  white-space:nowrap;
}
.brand-lock:hover{color:var(--ink);background:#eef4ff;}
.brand-lock i{color:var(--main);}
.nav-links{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;}
.nav-links a{
  display:inline-block;
  padding:.42rem .78rem;
  font-size:.92rem;font-weight:600;
  color:var(--ink);
  border:2px solid transparent;
  transition:.18s;
}
.nav-links a:hover,.nav-links a.active{
  border-color:var(--ink);
  background:#fff;
  box-shadow:3px 3px 0 var(--ink);
  color:var(--main);
  transform:translate(-1px,-1px);
}
.nav-links a.is-page{color:var(--main);}
.menu-toggle{
  display:none;
  border:3px solid var(--ink);background:#fff;color:var(--ink);
  font-size:1.1rem;padding:.35rem .7rem;box-shadow:var(--shadow-soft);
}
@media(max-width:991.98px){
  .menu-toggle{display:inline-block;}
  .nav-links{
    display:none;width:100%;flex-direction:column;align-items:stretch;
    margin-top:.7rem;border-top:3px solid var(--ink);padding-top:.7rem;gap:.3rem;
  }
  .nav-links.open{display:flex;}
  .nav-links a{width:100%;border:2px solid var(--ink);background:#fff;box-shadow:3px 3px 0 rgba(15,30,61,.2);}
}

/* ============ HERO ============ */
.hero{
  position:relative;
  min-height:min(76vh,620px);
  display:flex;align-items:center;
  overflow:hidden;
  border-bottom:4px solid var(--ink);
  background:#0b1730;
}
.hero-bg{
  position:absolute;inset:-14% 0;
  background-image:linear-gradient(180deg,rgba(8,18,40,.82),rgba(8,18,40,.9)),url('{随机图片}');
  background-size:cover;background-position:center;
  will-change:transform;
  z-index:0;
}
.hero-inner{position:relative;z-index:2;width:100%;padding:4.5rem 0 4rem;}
.hero-kicker{
  display:inline-block;
  background:var(--accent);color:#03212b;
  font-weight:800;font-size:.8rem;letter-spacing:.18em;
  padding:.32rem .8rem;border:3px solid #fff;
  margin-bottom:1.2rem;
}
.hero h1{
  color:#fff;font-size:clamp(2.1rem,5.4vw,4.1rem);
  line-height:1.02;margin-bottom:1rem;
  text-shadow:5px 5px 0 rgba(37,99,235,.85);
}
.hero h1 .hl{color:#7ee8f5;}
.hero p.lead-txt{
  color:#d7e3ff;max-width:640px;font-size:1.02rem;line-height:1.85;
  font-weight:400;
}
.hero-stats{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.9rem;}
.hstat{
  background:#fff;border:3px solid var(--ink);
  padding:.7rem 1.1rem;min-width:130px;
  box-shadow:5px 5px 0 var(--main);
}
.hstat .num{font-size:1.9rem;font-weight:900;color:var(--main);line-height:1;}
.hstat .lbl{font-size:.78rem;color:var(--ink-soft);font-weight:700;letter-spacing:.05em;margin-top:.3rem;}
.hero-cta{
  display:inline-block;margin-top:1.9rem;
  background:var(--main);color:#fff;font-weight:800;
  padding:.85rem 1.7rem;border:3px solid #fff;
  box-shadow:6px 6px 0 var(--accent);
  transition:.16s;
}
.hero-cta:hover{color:#fff;transform:translate(-2px,-2px);box-shadow:9px 9px 0 var(--accent);}

/* ============ 通用区块 ============ */
section.block{padding:4rem 0;position:relative;}
section.block.alt{background:#e9f1ff;border-top:4px solid var(--ink);border-bottom:4px solid var(--ink);}
.sec-head{margin-bottom:2.2rem;}
.sec-tag{
  display:inline-block;background:var(--ink);color:#fff;
  font-size:.72rem;font-weight:800;letter-spacing:.16em;
  padding:.28rem .7rem;margin-bottom:.7rem;border:2px solid var(--ink);
}
.sec-head h2{
  font-size:clamp(1.65rem,3.6vw,2.5rem);line-height:1.12;margin:0 0 .6rem;
}
.sec-head h2 .bar{color:var(--main);}
.sec-head p{margin:0;color:var(--ink-soft);font-size:.96rem;line-height:1.8;max-width:720px;}

/* ============ 顶部榜单 ============ */
.rank-wrap{display:grid;grid-template-columns:1fr;gap:1.1rem;}
@media(min-width:768px){.rank-wrap{grid-template-columns:1fr 1fr;}}
.rank-item{
  display:flex;gap:.95rem;align-items:stretch;
  background:var(--card);border:3px solid var(--ink);
  box-shadow:var(--shadow-soft);
  padding:.7rem;
  transition:.18s;
}
.rank-item:hover{transform:translate(-2px,-2px);box-shadow:8px 8px 0 var(--ink);}
.rank-no{
  flex:0 0 58px;display:flex;flex-direction:column;
  align-items:center;justify-content:center;
  border:3px solid var(--ink);background:#f0f5ff;
  font-weight:900;
}
.rank-no .n{font-size:1.5rem;line-height:1;}
.rank-no .medal{font-size:.95rem;margin-top:.15rem;}
.rk-1{background:linear-gradient(160deg,#ffe89a,#f2c94c);}
.rk-2{background:linear-gradient(160deg,#eef2f7,#cfd8e3);}
.rk-3{background:linear-gradient(160deg,#f3d3b3,#d9a274);}
.rank-body{flex:1;min-width:0;}
.rank-body h3{font-size:1.02rem;margin:0 0 .28rem;line-height:1.35;}
.rank-meta{font-size:.8rem;color:var(--ink-soft);font-weight:600;margin-bottom:.4rem;}
.rank-meta span+span::before{content:"·";margin:0 .4rem;color:var(--accent);}
.rank-bar{height:9px;background:#e3ecfb;border:2px solid var(--ink);overflow:hidden;}
.rank-bar i{display:block;height:100%;background:var(--accent);}
.rank-score{font-size:.78rem;font-weight:800;color:var(--main);margin-top:.32rem;}

/* ============ 推荐位海报行 ============ */
.poster-grid{
  display:grid;width:100%;gap:1.15rem;
  grid-template-columns:repeat(2,minmax(0,1fr));
}
@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));}}
.p-card{
  background:var(--card);border:3px solid var(--ink);
  box-shadow:var(--shadow-soft);overflow:hidden;
  transition:transform .18s ease,box-shadow .18s ease;
  display:flex;flex-direction:column;
}
.p-card:hover{transform:translateY(-7px);box-shadow:9px 12px 0 var(--ink);}
.p-thumb{
  position:relative;width:100%;aspect-ratio:2/3;overflow:hidden;background:#dbe7fb;
  border-bottom:3px solid var(--ink);
}
.p-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.p-badge{
  position:absolute;top:0;left:0;
  background:var(--main);color:#fff;font-size:.7rem;font-weight:800;
  padding:.22rem .5rem;border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);
  letter-spacing:.04em;
}
.p-badge.alt-b{background:var(--accent);color:#022b33;}
.p-body{padding:.65rem .7rem .8rem;flex:1;display:flex;flex-direction:column;}
.p-body h3{font-size:.92rem;line-height:1.35;margin:0 0 .35rem;}
.p-sub{font-size:.75rem;color:var(--ink-soft);font-weight:600;margin-top:auto;}

/* ============ 分类筛选区 ============ */
.pill-row{display:flex;flex-wrap:wrap;gap:.55rem;margin-bottom:1.9rem;}
.pill{
  display:inline-block;padding:.42rem 1rem;
  border:3px solid var(--ink);background:#fff;
  color:var(--ink);font-weight:700;font-size:.86rem;
  box-shadow:3px 3px 0 rgba(15,30,61,.16);
  transition:.16s;
}
.pill:hover{background:var(--main);color:#fff;box-shadow:3px 3px 0 var(--ink);transform:translate(-1px,-1px);}
.pill.on{background:var(--accent);color:#03252c;box-shadow:3px 3px 0 var(--ink);}
.sub-head{
  display:flex;align-items:center;gap:.6rem;margin:2.4rem 0 1.1rem;
}
.sub-head .dot{width:14px;height:14px;background:var(--main);border:3px solid var(--ink);display:inline-block;flex:0 0 auto;}
.sub-head h3{font-size:1.18rem;margin:0;}
.sub-head small{color:var(--ink-soft);font-weight:600;font-size:.78rem;}

/* ============ 经典专区 - 对比表格 ============ */
.cmp-table{width:100%;border-collapse:collapse;background:#fff;border:4px solid var(--ink);box-shadow:8px 8px 0 var(--ink);}
.cmp-table th,.cmp-table td{border:2px solid var(--ink);padding:.85rem .9rem;vertical-align:top;font-size:.9rem;}
.cmp-table thead th{background:var(--ink);color:#fff;font-size:.9rem;font-weight:800;letter-spacing:.05em;}
.cmp-table tbody tr:nth-child(even){background:#f1f6ff;}
.cmp-table td:first-child{font-weight:800;color:var(--main);white-space:nowrap;}
.cmp-table .ok{color:#0e9f6e;font-weight:800;}
.cmp-table .no{color:#c2410c;font-weight:800;}
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;}

/* ============ 预告专区 - 编号清单 ============ */
.trailer-list{list-style:none;padding:0;margin:0;display:grid;gap:.95rem;}
@media(min-width:768px){.trailer-list{grid-template-columns:1fr 1fr;}}
.trailer-list li{
  display:flex;gap:.9rem;background:#fff;
  border:3px solid var(--ink);box-shadow:var(--shadow-soft);
  padding:.85rem .95rem;transition:.18s;
}
.trailer-list li:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--ink);}
.t-no{
  flex:0 0 42px;height:42px;display:flex;align-items:center;justify-content:center;
  background:var(--accent);color:#022b33;border:3px solid var(--ink);
  font-weight:900;font-size:1.05rem;
}
.t-txt strong{display:block;font-size:.96rem;margin-bottom:.2rem;}
.t-txt span{font-size:.8rem;color:var(--ink-soft);line-height:1.6;display:block;}

/* ============ 数据条 ============ */
.counter-band{
  background:var(--main);color:#fff;border-top:4px solid var(--ink);border-bottom:4px solid var(--ink);
  padding:2.6rem 0;
}
.counter-band .cb-item{text-align:center;padding:.6rem 0;}
.counter-band .cb-num{font-size:clamp(2rem,5vw,3.1rem);font-weight:900;line-height:1;color:#fff;}
.counter-band .cb-num small{font-size:.5em;margin-left:.1em;color:#bfe3ff;}
.counter-band .cb-lbl{font-size:.82rem;font-weight:700;letter-spacing:.12em;color:#cfe3ff;margin-top:.45rem;}

/* ============ FAQ ============ */
.faq-grid{display:grid;gap:1rem;}
@media(min-width:768px){.faq-grid{grid-template-columns:1fr 1fr;}}
.faq-item{background:#fff;border:3px solid var(--ink);box-shadow:var(--shadow-soft);padding:1.05rem 1.1rem;}
.faq-item h4{font-size:.98rem;margin:0 0 .5rem;display:flex;gap:.55rem;align-items:flex-start;}
.faq-item h4 i{color:var(--accent);margin-top:.18rem;font-size:.85rem;}
.faq-item p{margin:0;font-size:.87rem;line-height:1.78;color:var(--ink-soft);}

/* ============ 友链 ============ */
.friend-zone{background:#e9f1ff;border-top:4px solid var(--ink);padding:2.6rem 0;}
.friend-zone h2{font-size:1.15rem;margin:0 0 .35rem;}
.friend-zone .fz-note{font-size:.82rem;color:var(--ink-soft);margin-bottom:1.1rem;}
.friend-links{
  border:3px dashed var(--ink);background:#fff;
  padding:1rem 1.1rem;font-size:.85rem;line-height:2;
  color:var(--ink-soft);word-break:break-all;
}

/* ============ 页脚 ============ */
footer.site-foot{background:var(--ink);color:#c7d5ee;padding:3rem 0 1.6rem;border-top:4px solid var(--main);}
footer.site-foot h5{color:#fff;font-size:.92rem;letter-spacing:.1em;margin-bottom:.9rem;font-weight:800;}
footer.site-foot a{color:#c7d5ee;font-size:.86rem;display:inline-block;padding:.16rem 0;}
footer.site-foot a:hover{color:#7ee8f5;}
.foot-brand{font-weight:900;font-size:1.2rem;color:#fff;border:3px solid #fff;display:inline-block;padding:.3rem .75rem;margin-bottom:.9rem;}
.foot-desc{font-size:.85rem;line-height:1.85;color:#a9bbdc;max-width:420px;}
.foot-bottom{border-top:1px solid rgba(255,255,255,.18);margin-top:2rem;padding-top:1.2rem;font-size:.8rem;color:#8fa3c8;}

/* 回到顶部 */
#toTop{
  position:fixed;right:16px;bottom:18px;z-index:1200;
  width:48px;height:48px;display:none;align-items:center;justify-content:center;
  background:var(--main);color:#fff;border:3px solid var(--ink);
  box-shadow:4px 4px 0 var(--ink);cursor:pointer;font-size:1rem;
}
#toTop.show{display:flex;}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  .hero-bg{transform:none !important;}
  *{transition:none !important;}
}

/* --- 子页面追加 --- */
/* 本页专属：仅补充指南页需要的少量样式，其余全部复用站点样式表 */
  .guide-lead {max-width:820px;margin:0 auto;text-align:center;color:var(--ink-soft);font-size:1.02rem;line-height:1.9}
.guide-block {background:var(--card);border:2px solid var(--line);box-shadow:var(--shadow-hard);border-radius:18px;padding:28px 26px;margin-bottom:26px}
.guide-block h2 {font-size:1.35rem;font-weight:800;color:var(--ink);margin-bottom:14px;display:flex;align-items:center;gap:10px}
.guide-block h2 i {color:var(--main)}
.guide-block h3 {font-size:1.05rem;font-weight:700;color:var(--ink);margin:20px 0 8px}
.guide-block p {color:var(--ink-soft);line-height:1.95;margin-bottom:10px;font-size:.96rem}
.guide-block ul {list-style:none;padding-left:0;margin:0}
.guide-block ul li {position:relative;padding-left:24px;color:var(--ink-soft);line-height:1.95;font-size:.95rem;margin-bottom:6px}
.guide-block ul li::before {content:"\f058";font-family:"Font Awesome 6 Free";font-weight:900;color:var(--accent);position:absolute;left:0;top:1px;font-size:.85rem}
.step-list {counter-reset:st;display:grid;gap:14px;margin-top:6px}
.step-item {display:flex;gap:14px;align-items:flex-start;background:var(--bg);border:1px solid rgba(15,30,61,.14);border-radius:14px;padding:14px 16px}
.step-item .no {flex:0 0 34px;height:34px;border-radius:50%;background:var(--main);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;font-size:.95rem;box-shadow:var(--shadow-soft)}
.step-item b {color:var(--ink);display:block;margin-bottom:3px}
.step-item span {color:var(--ink-soft);font-size:.93rem;line-height:1.8}
.faq-item:first-of-type {border-top:none}
.faq-q {font-weight:700;color:var(--ink);margin-bottom:6px;font-size:.98rem}
.faq-a {color:var(--ink-soft);font-size:.93rem;line-height:1.9}
.tag-chips {display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.tag-chips span {background:rgba(37,99,235,.1);color:var(--main);border:1px solid rgba(37,99,235,.25);border-radius:999px;padding:4px 12px;font-size:.82rem;font-weight:600}
.guide-tip {background:linear-gradient(135deg,rgba(6,182,212,.12),rgba(37,99,235,.1));border-left:4px solid var(--accent);border-radius:10px;padding:14px 16px;color:var(--ink-soft);font-size:.92rem;line-height:1.9;margin-top:14px}
.guide-block {padding:20px 16px;box-shadow:var(--shadow-soft)}
.guide-block h2 {font-size:1.15rem}

/* --- 子页面追加 --- */
/* ===== 页面专属少量样式，全部沿用首页的硬阴影+描边语言 ===== */
  .about-hero {
    position:relative;overflow:hidden;
    background:
      radial-gradient(circle at 12% 18%, rgba(6,182,212,.22), transparent 42%),
      radial-gradient(circle at 88% 8%, rgba(37,99,235,.18), transparent 46%),
      linear-gradient(160deg,#eaf2ff 0%, #f4f8ff 60%, #ffffff 100%);
    border-bottom:2px solid var(--line);
    padding:64px 0 56px;
  }
.about-hero .hero-kicker {
    display:inline-flex;align-items:center;gap:8px;
    background:var(--card);border:2px solid var(--line);border-radius:999px;
    padding:6px 16px;font-size:.8rem;font-weight:700;letter-spacing:.06em;
    text-transform:uppercase;box-shadow:var(--shadow-soft);color:var(--ink);
  }
.about-hero h1 {
    font-size:clamp(1.9rem,4.4vw,3.1rem);font-weight:900;line-height:1.18;
    letter-spacing:-.02em;margin:20px 0 18px;max-width:20ch;
  }
.about-hero h1 .hl {
    background:linear-gradient(transparent 62%, rgba(6,182,212,.42) 62%);
    padding:0 2px;
  }
.about-hero p.lead-txt {
    color:var(--ink-soft);font-size:1.02rem;line-height:1.85;max-width:60ch;margin:0;
  }
.hstat b {display:block;font-size:1.45rem;font-weight:900;color:var(--main);line-height:1.1;}
.hstat span {font-size:.78rem;color:var(--ink-soft);font-weight:600;letter-spacing:.02em;}
.sec-block {padding:62px 0;}
.sec-block.alt {background:#fff;border-top:2px solid var(--line);border-bottom:2px solid var(--line);}
.ab-card {
    background:var(--card);border:2px solid var(--line);border-radius:16px;
    padding:26px 24px;box-shadow:var(--shadow-soft);height:100%;
    transition:transform .18s ease, box-shadow .18s ease;
  }
.ab-card:hover {transform:translate(-2px,-2px);box-shadow:var(--shadow-hard);}
.ab-card .ico {
    width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;
    background:linear-gradient(135deg,var(--main),var(--accent));color:#fff;
    border:2px solid var(--line);font-size:1.1rem;margin-bottom:16px;
  }
.ab-card h3 {font-size:1.05rem;font-weight:800;margin:0 0 10px;line-height:1.4;}
.ab-card p {color:var(--ink-soft);font-size:.92rem;line-height:1.8;margin:0;}
.std-list {list-style:none;padding:0;margin:0;}
.std-list li {
    background:var(--card);border:2px solid var(--line);border-radius:14px;
    padding:18px 20px 18px 58px;position:relative;margin-bottom:14px;
    box-shadow:var(--shadow-soft);color:var(--ink-soft);font-size:.94rem;line-height:1.78;
  }
.std-list li b {color:var(--ink);display:block;margin-bottom:4px;font-size:1rem;}
.std-list li .num {
    position:absolute;left:16px;top:16px;width:28px;height:28px;border-radius:8px;
    background:var(--main);color:#fff;font-weight:900;font-size:.85rem;
    display:flex;align-items:center;justify-content:center;border:2px solid var(--line);
  }
.timeline {
    position:relative;padding-left:26px;border-left:3px dashed rgba(15,30,61,.28);
  }
.tl-item {position:relative;margin-bottom:26px;}
.tl-item:last-child {margin-bottom:0;}
.tl-item::before {
    content:"";position:absolute;left:-35px;top:4px;width:15px;height:15px;border-radius:50%;
    background:var(--accent);border:3px solid var(--ink);
  }
.tl-item h3 {font-size:1rem;font-weight:800;margin:0 0 6px;}
.tl-item span.date {
    display:inline-block;font-size:.74rem;font-weight:800;color:var(--main);
    background:rgba(37,99,235,.1);border-radius:6px;padding:2px 8px;margin-bottom:8px;
  }
.tl-item p {margin:0;color:var(--ink-soft);font-size:.92rem;line-height:1.78;}
.quote-box {
    background:linear-gradient(135deg,#0f1e3d,#1d3566 55%,#2563eb);
    color:#eaf2ff;border:2px solid var(--line);border-radius:18px;
    padding:34px 30px;box-shadow:var(--shadow-hard);
  }
.quote-box h2 {color:#fff;font-size:clamp(1.2rem,2.4vw,1.6rem);font-weight:900;margin:0 0 14px;line-height:1.35;}
.quote-box p {color:rgba(234,242,255,.84);line-height:1.9;font-size:.95rem;margin:0 0 12px;}
.quote-box p:last-child {margin-bottom:0;}
.tip-strip {
    background:#fff;border:2px solid var(--line);border-radius:14px;
    padding:18px 20px;box-shadow:var(--shadow-soft);display:flex;gap:14px;align-items:flex-start;
  }
.tip-strip i {color:var(--accent);font-size:1.25rem;margin-top:2px;}
.tip-strip p {margin:0;font-size:.9rem;color:var(--ink-soft);line-height:1.78;}
.tip-strip p b {color:var(--ink);}
.cta-row {display:flex;flex-wrap:wrap;gap:14px;margin-top:28px;}
.btn-hard {
    display:inline-flex;align-items:center;gap:9px;
    background:var(--main);color:#fff;font-weight:800;font-size:.94rem;
    padding:13px 26px;border:2px solid var(--line);border-radius:12px;
    box-shadow:var(--shadow-soft);text-decoration:none;
    transition:transform .16s ease, box-shadow .16s ease;
  }
.btn-hard:hover {transform:translate(-2px,-2px);box-shadow:var(--shadow-hard);color:#fff;}
.btn-ghost {
    display:inline-flex;align-items:center;gap:9px;
    background:var(--card);color:var(--ink);font-weight:800;font-size:.94rem;
    padding:13px 26px;border:2px solid var(--line);border-radius:12px;
    box-shadow:var(--shadow-soft);text-decoration:none;
    transition:transform .16s ease, box-shadow .16s ease;
  }
.btn-ghost:hover {transform:translate(-2px,-2px);box-shadow:var(--shadow-hard);color:var(--main);}
.about-hero {padding:44px 0 40px;}
.sec-block {padding:44px 0;}
.hstat b {font-size:1.2rem;}
.quote-box {padding:26px 20px;}

/* --- 子页面追加 --- */
.page-wrap {max-width:1080px;margin:0 auto;padding:0 20px;}
.page-hero {padding:56px 0 34px;}
.page-hero h1 {font-size:clamp(1.7rem,4vw,2.7rem);font-weight:900;letter-spacing:-.5px;color:var(--ink);line-height:1.2;margin:0 0 16px;}
.page-hero p.lead {color:var(--ink-soft);font-size:1.02rem;line-height:1.85;max-width:760px;margin:0;}
.disc-card {background:var(--card);border:2px solid var(--line);border-radius:16px;box-shadow:var(--shadow-hard);padding:30px 32px;margin-bottom:34px;}
.disc-card h2 {font-size:1.28rem;font-weight:800;color:var(--ink);margin:0 0 16px;display:flex;align-items:center;gap:10px;line-height:1.4;}
.disc-card h2 i {color:var(--main);font-size:1.05rem;}
.disc-card p {color:var(--ink-soft);line-height:1.95;font-size:.97rem;margin:0 0 14px;}
.disc-card p:last-child {margin-bottom:0;}
.disc-list {list-style:none;padding:0;margin:0;}
.disc-list li {position:relative;padding:0 0 0 26px;margin-bottom:13px;color:var(--ink-soft);line-height:1.85;font-size:.96rem;}
.disc-list li:last-child {margin-bottom:0;}
.disc-list li::before {content:"\f058";font-family:"Font Awesome 6 Free";font-weight:900;color:var(--accent);position:absolute;left:0;top:2px;font-size:.9rem;}
.warn-box {background:rgba(6,182,212,.08);border-left:4px solid var(--accent);border-radius:0 12px 12px 0;padding:16px 20px;margin:18px 0 0;color:var(--ink-soft);line-height:1.9;font-size:.94rem;}
.warn-box strong {color:var(--ink);}
.toc {background:var(--card);border:2px solid var(--line);border-radius:16px;box-shadow:var(--shadow-soft);padding:22px 26px;margin-bottom:34px;}
.toc h2 {font-size:1.05rem;font-weight:800;color:var(--ink);margin:0 0 14px;}
.toc-links {display:flex;flex-wrap:wrap;gap:10px;}
.toc-links a {display:inline-block;padding:7px 15px;border-radius:999px;background:rgba(37,99,235,.08);color:var(--main);font-size:.86rem;font-weight:600;text-decoration:none;border:1px solid rgba(37,99,235,.22);transition:.2s;}
.toc-links a:hover {background:var(--main);color:#fff;border-color:var(--main);}
.meta-line {display:flex;flex-wrap:wrap;gap:18px;color:var(--silver);font-size:.85rem;margin-top:18px;}
.meta-line span i {margin-right:6px;color:var(--main);}
.disc-card {padding:22px 20px;border-radius:14px;box-shadow:var(--shadow-soft);}
.page-hero {padding:36px 0 22px;}
.disc-card h2 {font-size:1.12rem;}

/* --- 子页面追加 --- */
/* 本页专属少量样式：站点地图卡片与目录树，沿用站点配色变量 */
  .map-hero { padding: 56px 0 24px; }
.map-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 22px; margin-top: 8px; }
.map-card {
    background: var(--card);
    border: 2px solid var(--line);
    box-shadow: var(--shadow-hard);
    padding: 22px 22px 18px;
    border-radius: 6px;
    transition: transform .18s ease, box-shadow .18s ease;
  }
.map-card:hover { transform: translate(-2px,-2px); box-shadow: 8px 8px 0 var(--ink); }
.map-card h3 {
    font-size: 1.08rem; font-weight: 800; color: var(--ink);
    margin: 0 0 4px; display: flex; align-items: center; gap: 10px;
  }
.map-card h3 i { color: var(--main); font-size: 1rem; }
.map-card .map-desc { color: var(--ink-soft); font-size: .86rem; margin: 0 0 14px; line-height: 1.6; }
.map-links { list-style: none; padding: 0; margin: 0; }
.map-links li { margin-bottom: 9px; }
.map-links a {
    display: flex; align-items: center; gap: 8px;
    color: var(--ink); text-decoration: none; font-size: .92rem; font-weight: 600;
    padding: 7px 10px; border-radius: 5px; border-left: 3px solid transparent;
    transition: all .16s ease;
  }
.map-links a:hover { background: rgba(37,99,235,.08); border-left-color: var(--main); color: var(--main); }
.map-links a i { color: var(--accent); font-size: .8rem; }
.map-links .map-note { color: var(--silver); font-size: .78rem; font-weight: 500; margin-left: auto; }
.map-badge {
    display: inline-block; background: var(--gold); color: var(--ink);
    font-size: .72rem; font-weight: 800; padding: 2px 8px; border-radius: 4px;
    margin-left: 8px; vertical-align: middle;
  }
.map-tip {
    background: var(--bg); border: 2px dashed var(--line); border-radius: 6px;
    padding: 18px 22px; margin-top: 34px; color: var(--ink-soft); font-size: .9rem; line-height: 1.8;
  }
.map-tip strong { color: var(--ink); }
.map-meta-line { display: flex; flex-wrap: wrap; gap: 8px 26px; color: var(--ink-soft); font-size: .84rem; margin-top: 12px; }
.map-meta-line span i { color: var(--accent); margin-right: 6px; }
.map-hero { padding: 34px 0 12px; }
.map-card { padding: 18px 16px 14px; }