:root{
  --main:#10b981;
  --accent:#fbbf24;
  --bg:#0a1410;
  --text:#ecfdf5;
  --panel:#0f1f18;
  --line:#1f3a2e;
  --hard:#000000;
}
*{border-radius:0!important;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-weight:400;
  line-height:1.7;
  overflow-x:hidden;
}
h1,h2,h3,h4,h5,h6,.display-font{
  font-family:'Inter','PingFang SC','Microsoft YaHei',sans-serif;
  font-weight:900;
  letter-spacing:-.02em;
  line-height:1.15;
}
.mono{font-family:'SFMono-Regular',Consolas,'Courier New',monospace;}
a{text-decoration:none;color:inherit;}
.container-x{max-width:1280px;margin:0 auto;padding:0 18px;}
/* ===== NAV ===== */
.top-nav{
  position:sticky;top:0;z-index:1000;
  background:rgba(10,20,16,.94);
  backdrop-filter:blur(10px);
  border-bottom:3px solid var(--main);
}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:70px;}
.brand-lock{
  display:inline-flex;align-items:center;gap:9px;
  font-weight:900;font-size:1.35rem;color:var(--text);
  letter-spacing:-.03em;white-space:nowrap;
}
.brand-lock i{color:var(--main);font-size:1.15rem;}
.brand-lock:hover{color:var(--accent);}
.nav-links{display:flex;align-items:center;gap:4px;list-style:none;margin:0;padding:0;}
.nav-links a{
  display:block;padding:8px 13px;font-weight:600;font-size:.94rem;
  color:#b9d4c7;border:2px solid transparent;transition:.2s;
}
.nav-links a:hover{color:var(--accent);border-color:var(--line);background:#0f1f18;}
.nav-toggle{
  display:none;background:none;border:2px solid var(--main);
  color:var(--text);font-size:1.1rem;padding:6px 11px;cursor:pointer;
}
@media(max-width:991px){
  .nav-toggle{display:block;}
  .nav-links{
    position:absolute;top:70px;left:0;right:0;
    flex-direction:column;align-items:stretch;gap:0;
    background:#0b1712;border-bottom:3px solid var(--main);
    max-height:0;overflow:hidden;transition:max-height .3s ease;
  }
  .nav-links.open{max-height:520px;}
  .nav-links a{border-bottom:1px solid var(--line);padding:14px 18px;}
}
/* ===== HERO ===== */
.hero{
  position:relative;
  border-bottom:4px solid var(--main);
  background:
    linear-gradient(90deg,rgba(10,20,16,.96) 0%,rgba(10,20,16,.82) 46%,rgba(10,20,16,.36) 100%),
    linear-gradient(135deg,#0f2a1f 0%,#0a1410 100%);
  overflow:hidden;
}
.hero::after{
  content:"";position:absolute;inset:0;
  background-image:repeating-linear-gradient(90deg,transparent 0 78px,rgba(16,185,129,.06) 78px 79px);
  pointer-events:none;
}
.hero-inner{
  position:relative;z-index:2;
  display:grid;grid-template-columns:1.15fr .85fr;gap:34px;align-items:center;
  padding:64px 0 58px;
}
.hero-kicker{
  display:inline-block;background:var(--accent);color:#111;
  font-weight:900;font-size:.76rem;letter-spacing:.16em;
  padding:5px 12px;margin-bottom:20px;text-transform:uppercase;
}
.hero h1{
  font-size:clamp(2.1rem,5vw,4rem);
  margin:0 0 18px;
}
.hero h1 em{
  font-style:normal;color:var(--main);
  text-shadow:5px 5px 0 rgba(251,191,36,.22);
}
.hero-sub{
  font-size:1.06rem;color:#a9c9bb;max-width:560px;margin-bottom:30px;
}
.btn-hard{
  display:inline-flex;align-items:center;gap:9px;
  padding:14px 30px;font-weight:800;font-size:.98rem;
  border:3px solid var(--main);
  position:relative;overflow:hidden;
  transition:.22s;cursor:pointer;
}
.btn-solid{background:var(--main);color:#04140d;}
.btn-solid:hover{color:#04140d;box-shadow:7px 7px 0 var(--hard);transform:translate(-3px,-3px);}
.btn-ghost{background:transparent;color:var(--text);border-color:var(--accent);}
.btn-ghost:hover{color:#111;background:var(--accent);box-shadow:7px 7px 0 var(--hard);transform:translate(-3px,-3px);}
.btn-hard::before{
  content:"";position:absolute;top:0;left:-120%;width:60%;height:100%;
  background:linear-gradient(120deg,transparent,rgba(255,255,255,.5),transparent);
  transform:skewX(-22deg);transition:left .55s ease;
}
.btn-hard:hover::before{left:150%;}
.hero-figure{
  position:relative;border:4px solid var(--line);
  box-shadow:14px 14px 0 rgba(16,185,129,.18);
  aspect-ratio:2/3;max-width:330px;margin-left:auto;width:100%;
}
.hero-figure img{width:100%;height:100%;object-fit:cover;display:block;}
.hero-figure figcaption{
  position:absolute;left:0;right:0;bottom:0;
  background:linear-gradient(0deg,rgba(4,10,8,.96),transparent);
  padding:28px 16px 14px;font-weight:800;font-size:1rem;
}
.hero-stats{
  display:flex;flex-wrap:wrap;gap:30px;margin-top:34px;
  padding-top:26px;border-top:2px dashed var(--line);
}
.hstat strong{
  display:block;font-family:'SFMono-Regular',Consolas,monospace;
  font-size:2rem;font-weight:700;color:var(--main);line-height:1;
}
.hstat span{font-size:.8rem;color:#8fb4a3;letter-spacing:.05em;}
@media(max-width:860px){
  .hero-inner{grid-template-columns:1fr;padding:44px 0 40px;}
  .hero-figure{margin:0 auto;max-width:260px;}
}
/* ===== SECTION ===== */
.sec{padding:66px 0;border-bottom:2px solid var(--line);}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:34px;flex-wrap:wrap;}
.sec-title{
  font-size:clamp(1.6rem,3.4vw,2.5rem);
  margin:0;position:relative;padding-left:18px;
}
.sec-title::before{
  content:"";position:absolute;left:0;top:6px;bottom:6px;width:8px;background:var(--accent);
}
.sec-desc{color:#8fb4a3;font-size:.95rem;margin:8px 0 0;padding-left:18px;}
.sec-link{
  font-weight:800;font-size:.86rem;letter-spacing:.08em;
  border:2px solid var(--main);padding:8px 16px;color:var(--main);
  transition:.2s;white-space:nowrap;
}
.sec-link:hover{background:var(--main);color:#04140d;box-shadow:5px 5px 0 var(--hard);transform:translate(-2px,-2px);}
/* ===== POSTER GRID ===== */
.poster-grid{
  display:grid;gap:18px;
  grid-template-columns:repeat(6,minmax(0,1fr));
  width:100%;
}
@media(max-width:1180px){.poster-grid{grid-template-columns:repeat(4,minmax(0,1fr));}}
@media(max-width:760px){.poster-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}}
@media(max-width:480px){.poster-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}}
.pcard{
  display:block;position:relative;width:100%;
  background:var(--panel);border:3px solid var(--line);
  transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease;
  overflow:hidden;
}
.pcard figure{margin:0;width:100%;aspect-ratio:2/3;overflow:hidden;}
.pcard img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .38s ease;}
.pcard:hover{transform:translate(-4px,-4px);border-color:var(--main);box-shadow:9px 9px 0 rgba(251,191,36,.28);}
.pcard:hover img{transform:scale(1.07);}
.ptag{
  position:absolute;top:0;right:0;z-index:3;
  background:var(--main);color:#04140d;
  font-family:'SFMono-Regular',Consolas,monospace;
  font-weight:700;font-size:.68rem;letter-spacing:.05em;
  padding:3px 8px;border-left:2px solid #04140d;border-bottom:2px solid #04140d;
}
.ptag.gold{background:var(--accent);}
.pinfo{padding:9px 10px 11px;border-top:2px solid var(--line);}
.pinfo h3{
  font-size:.86rem;font-weight:800;margin:0 0 3px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.pinfo p{margin:0;font-size:.72rem;color:#7fa695;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
/* ===== TABLE ===== */
.hard-table{width:100%;border-collapse:collapse;border:3px solid var(--line);background:var(--panel);}
.hard-table th,.hard-table td{padding:14px 16px;border:2px solid var(--line);font-size:.92rem;vertical-align:middle;}
.hard-table thead th{background:#132b21;color:var(--main);font-weight:900;letter-spacing:.05em;font-size:.84rem;}
.hard-table tbody tr:hover{background:#13291f;}
.hard-table td.num{font-family:'SFMono-Regular',Consolas,monospace;font-weight:700;color:var(--accent);}
/* ===== LIST ===== */
.num-list{list-style:none;counter-reset:step;padding:0;margin:0;display:grid;gap:16px;}
.num-list li{
  counter-increment:step;position:relative;
  padding:18px 20px 18px 74px;background:var(--panel);
  border:3px solid var(--line);border-left:8px solid var(--main);
}
.num-list li::before{
  content:counter(step,decimal-leading-zero);
  position:absolute;left:18px;top:16px;
  font-family:'SFMono-Regular',Consolas,monospace;
  font-size:1.5rem;font-weight:700;color:var(--main);line-height:1;
}
.num-list h4{font-size:1.02rem;margin:0 0 5px;}
.num-list p{margin:0;font-size:.9rem;color:#a0c0b2;}
/* ===== RANK ===== */
.rank-row{
  display:grid;grid-template-columns:64px 1fr auto;gap:16px;align-items:center;
  padding:16px 18px;border:3px solid var(--line);background:var(--panel);
  margin-bottom:12px;transition:.2s;
}
.rank-row:hover{border-color:var(--accent);transform:translateX(6px);box-shadow:-6px 6px 0 rgba(16,185,129,.2);}
.rank-no{font-family:'SFMono-Regular',Consolas,monospace;font-size:1.7rem;font-weight:700;color:var(--main);line-height:1;}
.rank-row:nth-child(-n+3) .rank-no{color:var(--accent);}
.rank-name{font-weight:800;font-size:1rem;margin:0 0 2px;}
.rank-meta{font-size:.8rem;color:#7fa695;margin:0;}
.rank-score{
  font-family:'SFMono-Regular',Consolas,monospace;
  font-weight:700;font-size:1.15rem;color:var(--accent);
  border:2px solid var(--accent);padding:4px 10px;
}
/* ===== FRIENDS ===== */
.friend-sec{padding:52px 0;border-bottom:2px solid var(--line);}
.friend-sec h2{font-size:1.15rem;margin:0 0 16px;display:flex;align-items:center;gap:9px;}
.friend-sec h2 i{color:var(--main);}
.friend-box{
  border:3px dashed var(--line);padding:20px;font-size:.9rem;
  color:#9fbfb1;line-height:2.1;background:#0c1a14;
}
.friend-box a{color:var(--main);}
.friend-box a:hover{color:var(--accent);}
/* ===== FOOTER ===== */
footer{background:#07100c;border-top:4px solid var(--main);padding:54px 0 26px;}
.f-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:34px;}
@media(max-width:860px){.f-grid{grid-template-columns:1fr 1fr;gap:26px;}}
@media(max-width:520px){.f-grid{grid-template-columns:1fr;}}
.f-brand{font-weight:900;font-size:1.3rem;margin-bottom:12px;display:inline-flex;align-items:center;gap:9px;}
.f-brand i{color:var(--main);}
.f-grid p{font-size:.88rem;color:#8fb4a3;margin:0 0 9px;}
.f-col h5{
  font-size:.82rem;letter-spacing:.12em;color:var(--accent);
  margin:0 0 14px;text-transform:uppercase;
}
.f-col ul{list-style:none;padding:0;margin:0;}
.f-col li{margin-bottom:9px;}
.f-col a{font-size:.88rem;color:#a9c9bb;transition:.2s;}
.f-col a:hover{color:var(--main);padding-left:4px;}
.f-bottom{
  margin-top:38px;padding-top:20px;border-top:1px solid var(--line);
  display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;
  font-size:.82rem;color:#6f9384;
}
/* ===== ANIM ===== */
.reveal{opacity:0;transform:translateY(34px);transition:opacity .7s ease,transform .7s ease;}
.reveal.in{opacity:1;transform:translateY(0);}

/* --- 子页面追加 --- */
/* 本页专属少量补充样式，复用站点变量与类名 */
        .about-page {
            background: var(--bg);
            color: var(--text);
        }
.about-hero {
            padding: 6rem 0 3rem;
            position: relative;
            overflow: hidden;
        }
.about-hero::after {
            content: '';
            position: absolute;
            top: -40%;
            right: -10%;
            width: 500px;
            height: 500px;
            background: radial-gradient(circle, rgba(16, 185, 129, 0.12) 0%, transparent 70%);
            border-radius: 50%;
            pointer-events: none;
        }
.about-hero h1 {
            font-size: clamp(2.2rem, 5vw, 3.6rem);
            font-weight: 800;
            line-height: 1.2;
            letter-spacing: -0.02em;
            margin-bottom: 1.5rem;
            color: var(--text);
        }
.about-hero h1 span {
            color: var(--main);
        }
.about-hero .lead {
            font-size: 1.15rem;
            color: rgba(236, 253, 245, 0.72);
            max-width: 720px;
            line-height: 1.8;
        }
.about-hero .lead strong {
            color: var(--accent);
            font-weight: 600;
        }
/* 段落区块 */
        .about-block {
            padding: 3.5rem 0;
            border-bottom: 1px solid var(--line);
        }
.about-block:last-child {
            border-bottom: none;
        }
.about-block h2 {
            font-size: clamp(1.5rem, 3vw, 2.1rem);
            font-weight: 700;
            margin-bottom: 1.5rem;
            letter-spacing: -0.01em;
            color: var(--text);
        }
.about-block h2 .accent {
            color: var(--main);
        }
.about-block p {
            color: rgba(236, 253, 245, 0.78);
            font-size: 1.02rem;
            line-height: 1.85;
            margin-bottom: 1.2rem;
        }
.about-block p:last-child {
            margin-bottom: 0;
        }
.about-block .highlight-box {
            background: var(--panel);
            border-left: 3px solid var(--main);
            padding: 1.5rem 2rem;
            border-radius: 0 12px 12px 0;
            margin: 1.8rem 0;
        }
.about-block .highlight-box p {
            margin-bottom: 0.5rem;
            color: var(--text);
        }
.about-block .highlight-box p:last-child {
            margin-bottom: 0;
        }
.about-block .highlight-box i {
            color: var(--main);
            margin-right: 0.5rem;
        }
/* 数据统计条 */
        .stat-strip {
            display: flex;
            flex-wrap: wrap;
            gap: 2rem;
            justify-content: space-between;
            background: var(--panel);
            border: 1px solid var(--line);
            border-radius: 16px;
            padding: 2rem 2.5rem;
            margin: 2.5rem 0;
        }
.stat-item {
            flex: 1 1 140px;
            text-align: center;
        }
.stat-item .num {
            font-size: 2.2rem;
            font-weight: 800;
            color: var(--main);
            line-height: 1.2;
            font-variant-numeric: tabular-nums;
        }
.stat-item .label {
            font-size: 0.88rem;
            color: rgba(236, 253, 245, 0.6);
            margin-top: 0.25rem;
            letter-spacing: 0.02em;
        }
/* 特色卡片网格 */
        .feature-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
            gap: 1.5rem;
            margin: 2rem 0;
        }
.feature-card {
            background: var(--panel);
            border: 1px solid var(--line);
            border-radius: 14px;
            padding: 1.8rem 1.5rem;
            transition: border-color 0.25s ease, transform 0.2s ease;
        }
.feature-card:hover {
            border-color: rgba(16, 185, 129, 0.5);
            transform: translateY(-3px);
        }
.feature-card i {
            font-size: 1.6rem;
            color: var(--main);
            margin-bottom: 1rem;
            display: inline-block;
        }
.feature-card h3 {
            font-size: 1.1rem;
            font-weight: 600;
            margin-bottom: 0.6rem;
            color: var(--text);
        }
.feature-card p {
            font-size: 0.92rem;
            color: rgba(236, 253, 245, 0.65);
            line-height: 1.7;
            margin-bottom: 0;
        }
/* 时间线 */
        .timeline {
            margin: 2rem 0 0;
            padding: 0;
            list-style: none;
        }
.timeline li {
            position: relative;
            padding-left: 2rem;
            padding-bottom: 1.8rem;
            border-left: 2px solid var(--line);
            margin-left: 0.5rem;
        }
.timeline li:last-child {
            padding-bottom: 0;
            border-left-color: transparent;
        }
.timeline li::before {
            content: '';
            position: absolute;
            left: -7px;
            top: 0.25rem;
            width: 12px;
            height: 12px;
            border-radius: 50%;
            background: var(--main);
            border: 2px solid var(--bg);
            box-shadow: 0 0 0 2px var(--main);
        }
.timeline .tl-year {
            font-weight: 700;
            color: var(--accent);
            font-size: 0.95rem;
            margin-bottom: 0.25rem;
        }
.timeline .tl-desc {
            color: rgba(236, 253, 245, 0.72);
            font-size: 0.98rem;
            line-height: 1.6;
        }
/* 团队小卡片 */
        .team-row {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
            gap: 1.5rem;
            margin-top: 2rem;
        }
.team-member {
            background: var(--panel);
            border: 1px solid var(--line);
            border-radius: 14px;
            padding: 1.5rem;
            text-align: center;
        }
.team-member .avatar {
            width: 64px;
            height: 64px;
            border-radius: 50%;
            background: rgba(16, 185, 129, 0.15);
            display: inline-flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 1rem;
            color: var(--main);
            font-size: 1.6rem;
        }
.team-member h4 {
            font-size: 1rem;
            font-weight: 600;
            margin-bottom: 0.25rem;
            color: var(--text);
        }
.team-member p {
            font-size: 0.85rem;
            color: rgba(236, 253, 245, 0.5);
            margin-bottom: 0;
        }
/* 页脚轻量补充 */
        .footer-note {
            font-size: 0.85rem;
            color: rgba(236, 253, 245, 0.4);
        }
.about-hero {
                padding: 4rem 0 2rem;
            }
.stat-strip {
                padding: 1.5rem 1.2rem;
                gap: 1.2rem;
            }
.stat-item .num {
                font-size: 1.6rem;
            }
.about-block .highlight-box {
                padding: 1.2rem 1.2rem;
            }

/* --- 子页面追加 --- */
/* 本页专属少量样式，沿用站点配色变量 */
  .doc-wrap {max-width:900px;margin:0 auto;}
.doc-card {
    background:var(--panel);
    border:1px solid var(--line);
    border-radius:16px;
    padding:28px 26px;
    margin-bottom:20px;
  }
.doc-card h2 {
    font-size:1.18rem;
    font-weight:800;
    color:var(--text);
    margin:0 0 12px;
    display:flex;
    align-items:center;
    gap:10px;
    line-height:1.5;
  }
.doc-card h2 i {color:var(--main);font-size:1rem;}
.doc-card p {
    color:rgba(236,253,245,.8);
    font-size:.94rem;
    line-height:1.9;
    margin:0 0 12px;
  }
.doc-card p:last-child {margin-bottom:0;}
.doc-card ul {
    margin:0;
    padding-left:0;
    list-style:none;
  }
.doc-card ul li {
    color:rgba(236,253,245,.8);
    font-size:.94rem;
    line-height:1.9;
    padding-left:20px;
    position:relative;
    margin-bottom:8px;
  }
.doc-card ul li::before {
    content:"";
    position:absolute;
    left:4px;
    top:.72em;
    width:7px;
    height:7px;
    border-radius:50%;
    background:var(--accent);
  }
.doc-card ul li:last-child {margin-bottom:0;}
.doc-note {
    background:rgba(251,191,36,.08);
    border:1px solid rgba(251,191,36,.35);
    border-radius:12px;
    padding:16px 18px;
    color:rgba(236,253,245,.85);
    font-size:.9rem;
    line-height:1.85;
    margin-top:18px;
  }
.doc-note strong {color:var(--accent);}
.doc-meta {
    font-family:'Inter',monospace;
    font-size:.78rem;
    letter-spacing:.06em;
    color:rgba(236,253,245,.45);
    margin-bottom:22px;
  }
.doc-toc {
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-bottom:26px;
  }
.doc-toc a {
    font-size:.82rem;
    color:var(--text);
    text-decoration:none;
    border:1px solid var(--line);
    background:rgba(16,185,129,.06);
    border-radius:999px;
    padding:6px 14px;
    transition:.2s;
  }
.doc-toc a:hover {
    border-color:var(--main);
    color:var(--main);
    background:rgba(16,185,129,.14);
  }
.doc-back {
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-top:8px;
  }
.doc-card {padding:20px 18px;}
.doc-card h2 {font-size:1.05rem;}

/* --- 子页面追加 --- */
.guide-hero { padding: 64px 0 40px; }
.guide-hero h1 { font-size: clamp(1.9rem, 4.4vw, 3rem); line-height: 1.18; font-weight: 800; margin: 0 0 16px; }
.guide-hero h1 em { font-style: normal; color: var(--main); }
.guide-lead { color: rgba(236,253,245,.72); font-size: 1.02rem; max-width: 760px; line-height: 1.85; }
.g-toc { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px; }
.g-toc a {
    font-size: .82rem; padding: 8px 14px; border-radius: 999px;
    border: 1px solid var(--line); color: rgba(236,253,245,.8);
    text-decoration: none; background: rgba(15,31,24,.6); transition: .2s;
  }
.g-toc a:hover { border-color: var(--main); color: var(--main); }
.g-step {
    background: var(--panel); border: 1px solid var(--line); border-radius: 14px;
    padding: 26px 24px; height: 100%; position: relative;
  }
.g-step .num {
    font-family: 'Inter', monospace; font-weight: 800; font-size: .78rem;
    color: var(--accent); letter-spacing: .12em; margin-bottom: 12px; display: block;
  }
.g-step h3 { font-size: 1.02rem; font-weight: 700; margin: 0 0 10px; color: var(--text); }
.g-step p { font-size: .9rem; line-height: 1.8; color: rgba(236,253,245,.66); margin: 0; }
.g-block { background: var(--panel); border: 1px solid var(--line); border-radius: 16px; padding: 30px 28px; }
.g-block h3 { font-size: 1.12rem; font-weight: 700; margin: 0 0 14px; color: var(--text); }
.g-block h3 .dot { color: var(--main); margin-right: 8px; }
.g-block p { font-size: .93rem; line-height: 1.9; color: rgba(236,253,245,.72); margin: 0 0 12px; }
.g-block p:last-child { margin-bottom: 0; }
.g-block strong { color: var(--accent); font-weight: 600; }
.g-faq { border-top: 1px solid var(--line); padding: 20px 0; }
.g-faq:first-of-type { border-top: none; padding-top: 4px; }
.g-faq h4 { font-size: .96rem; font-weight: 700; margin: 0 0 8px; color: var(--text); }
.g-faq h4 i { color: var(--main); margin-right: 8px; font-size: .8rem; }
.g-faq p { font-size: .9rem; line-height: 1.85; color: rgba(236,253,245,.66); margin: 0; }
.g-tip { border-left: 3px solid var(--accent); padding: 4px 0 4px 16px; margin: 18px 0 0; font-size: .88rem; line-height: 1.8; color: rgba(236,253,245,.7); }
.g-tip strong { color: var(--accent); }
.guide-hero { padding: 42px 0 24px; }
.g-block { padding: 22px 18px; }

/* --- 子页面追加 --- */
.map-sec { padding: 36px 0; border-bottom: 1px solid var(--line); }
.map-sec:last-of-type { border-bottom: none; }
.map-h2 { font-size: 1.35rem; font-weight: 800; color: var(--text); margin-bottom: 6px; }
.map-h2 .mono { color: var(--main); margin-right: 8px; font-size: .95rem; }
.map-note { color: rgba(236,253,245,.62); font-size: .92rem; margin-bottom: 22px; }
.link-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.map-link {
    display: flex; align-items: flex-start; gap: 12px;
    background: var(--panel); border: 1px solid var(--line); border-radius: 10px;
    padding: 16px 18px; text-decoration: none; transition: .2s;
  }
.map-link:hover { border-color: var(--main); transform: translateY(-2px); background: #12261d; }
.map-link i { color: var(--main); font-size: 1.05rem; margin-top: 3px; width: 18px; text-align: center; }
.map-link .lk-t { display: block; color: var(--text); font-weight: 700; font-size: .98rem; margin-bottom: 3px; }
.map-link .lk-d { display: block; color: rgba(236,253,245,.55); font-size: .82rem; line-height: 1.5; }
.map-link.is-current { border-color: var(--accent); }
.map-link.is-current i, .map-link.is-current .lk-t { color: var(--accent); }
.map-tree { font-size: .9rem; line-height: 2; color: rgba(236,253,245,.7); }
.map-tree .mono { color: var(--main); }
.map-tip {
    background: rgba(16,185,129,.07); border: 1px solid var(--line); border-left: 3px solid var(--main);
    border-radius: 8px; padding: 18px 20px; color: rgba(236,253,245,.75); font-size: .9rem; line-height: 1.85;
  }
.map-tip strong { color: var(--accent); font-weight: 600; }
.link-grid { grid-template-columns: 1fr 1fr; }
.link-grid { grid-template-columns: 1fr; }