
:root{--navy:#071a36;--navy2:#0c2a55;--blue:#145dcc;--cyan:#63d7ff;--ice:#edf6ff;--paper:#f7f9fc;--text:#172033;--muted:#66738a;--line:#dfe7f2;--red:#d94b4b;--shadow:0 18px 55px rgba(7,26,54,.10);--radius:22px;}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;color:var(--text);background:var(--paper);line-height:1.75;-webkit-font-smoothing:antialiased}
a{color:var(--blue);text-decoration:none} a:hover{text-decoration:underline} button,input{font:inherit}
.topbar{position:sticky;top:0;z-index:50;height:72px;background:rgba(247,249,252,.88);backdrop-filter:blur(18px);border-bottom:1px solid rgba(220,229,241,.85)}
.topbar-inner{max-width:1220px;height:100%;margin:auto;padding:0 26px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center;gap:12px;color:var(--navy);font-weight:750;letter-spacing:.02em} .brand:hover{text-decoration:none}
.brand-mark{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,var(--navy),#164b91);color:white;font-size:12px;line-height:1.05;box-shadow:0 8px 24px rgba(7,26,54,.22)}
.brand small{display:block;font-size:11px;color:#76839a;font-weight:600;letter-spacing:.08em;margin-top:1px}
.top-actions{display:flex;align-items:center;gap:10px} .ghost-btn,.primary-btn{border:0;border-radius:13px;padding:10px 15px;cursor:pointer;display:inline-flex;align-items:center;gap:7px;font-weight:650}
.ghost-btn{background:white;color:var(--navy);box-shadow:0 0 0 1px var(--line) inset} .primary-btn{background:var(--navy);color:white}
.hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#05162f 0%,#0a2b5b 58%,#0c4f86 100%);color:white}
.hero:before{content:"";position:absolute;inset:-20% -10%;background:radial-gradient(circle at 75% 28%,rgba(99,215,255,.24),transparent 26%),radial-gradient(circle at 24% 10%,rgba(83,127,255,.25),transparent 25%);pointer-events:none}
.hero-orbit{position:absolute;width:520px;height:520px;border:1px solid rgba(255,255,255,.11);border-radius:50%;right:-110px;top:-150px;transform:rotate(20deg)} .hero-orbit:before,.hero-orbit:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.11);border-radius:50%;inset:70px -50px;transform:rotate(55deg)} .hero-orbit:after{inset:155px -90px;transform:rotate(-28deg)}
.hero-inner{position:relative;max-width:1220px;margin:auto;padding:76px 26px 68px;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:52px;align-items:end}
.hero-eyebrow{font-size:12px;letter-spacing:.22em;color:#9ddfff;font-weight:700;margin-bottom:12px} .hero h1{font-size:clamp(38px,6vw,72px);line-height:1.06;margin:0 0 18px;letter-spacing:-.04em} .hero h1 em{font-style:normal;color:#8fe0ff}
.hero-copy{max-width:720px;color:#cdd9eb;font-size:16px;margin:0 0 30px}
.hero-search{position:relative;max-width:700px} .hero-search input{width:100%;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.12);color:white;border-radius:18px;padding:17px 54px 17px 20px;outline:none;box-shadow:0 18px 60px rgba(0,0,0,.16)} .hero-search input::placeholder{color:#b9c9df} .hero-search button{position:absolute;right:7px;top:7px;width:44px;height:44px;border-radius:13px;border:0;background:white;color:var(--navy);cursor:pointer;font-size:19px}
.hero-meta{margin-top:14px;display:flex;gap:8px;flex-wrap:wrap;color:#abc2df;font-size:12px} .hero-meta span{padding:5px 9px;border:1px solid rgba(255,255,255,.13);border-radius:999px}
.countdown-card{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(12px);border-radius:26px;padding:26px;box-shadow:0 24px 80px rgba(0,0,0,.18)} .countdown-card .label{font-size:12px;color:#bcd0e9;letter-spacing:.12em} .countdown-card strong{display:block;font-size:56px;line-height:1.1;margin:8px 0 4px} .countdown-card strong small{font-size:20px;margin-left:6px;color:#9ddfff} .countdown-card p{margin:0;color:#d6e3f2;font-size:14px}
.section-shell{max-width:1220px;margin:auto;padding:0 26px} .overview{margin-top:-28px;position:relative;z-index:4}
.facts-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px} .fact-card{background:white;border:1px solid var(--line);border-radius:19px;padding:20px;box-shadow:var(--shadow);min-height:142px;display:flex;flex-direction:column;align-items:flex-start} .fact-label{font-size:12px;color:var(--muted);font-weight:700;margin-bottom:9px} .fact-card strong{font-size:20px;color:var(--navy);margin-bottom:5px} .fact-card>span:last-child{font-size:13px;color:var(--muted)} .copy-btn{margin-top:auto;border:0;background:#edf4ff;color:var(--blue);border-radius:9px;padding:6px 9px;font-size:12px;cursor:pointer}
.home-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:22px;margin-top:44px} .panel{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:0 14px 46px rgba(7,26,54,.06)} .panel-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:20px} .panel h2{margin:0;color:var(--navy);font-size:24px} .panel-head p{margin:0;color:var(--muted);font-size:13px}
.timeline{display:grid;gap:0} .time-item{display:grid;grid-template-columns:78px 1fr;gap:18px;position:relative;padding:4px 0 20px} .time-item:not(:last-child):before{content:"";position:absolute;left:37px;top:35px;bottom:0;width:1px;background:var(--line)} .time-date{width:76px;height:34px;border-radius:11px;background:#edf4ff;color:var(--blue);font-weight:800;font-size:13px;display:grid;place-items:center;z-index:1} .time-item strong{color:var(--navy)} .time-item p{margin:2px 0 0;color:var(--muted);font-size:13px}
.official-box{background:linear-gradient(160deg,#f6fbff,#eef5ff);border:1px solid #d9e9fb;border-radius:20px;padding:21px} .source-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0} .source-chip{border:1px solid #d3e0ef;background:white;color:#3b4c64;padding:8px 11px;border-radius:999px;font-size:12px;cursor:pointer} .source-chip.active{background:var(--navy);color:white;border-color:var(--navy)} .official-search{display:flex;gap:8px} .official-search input{min-width:0;flex:1;border:1px solid #cfdeee;background:white;border-radius:12px;padding:11px 12px;outline:none} .official-search button{white-space:nowrap;border:0;background:var(--blue);color:white;border-radius:12px;padding:11px 14px;cursor:pointer;font-weight:700} .official-note{font-size:11px;color:#728198;margin:10px 0 0} .official-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px} .official-links a{font-size:12px;color:#31547a;background:white;border:1px solid #d6e4f2;border-radius:9px;padding:7px 9px}
.intro-card{margin-top:22px;padding:26px 28px;background:white;border:1px solid var(--line);border-radius:var(--radius);color:#4a576c} .intro-card p{margin:0 0 8px} .intro-card p:first-child{font-weight:800;color:var(--navy);font-size:17px}
.chapter-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:34px 0 54px} .chapter-card{position:relative;min-height:138px;padding:18px;border-radius:18px;background:white;border:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;color:var(--navy);transition:.2s ease} .chapter-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(7,26,54,.08);text-decoration:none} .chapter-card-no{font-size:12px;color:#8a97aa;font-weight:800} .chapter-card strong{font-size:16px;line-height:1.35} .chapter-card-arrow{position:absolute;right:14px;top:12px;color:#8a97aa}
.content-layout{max-width:1220px;margin:0 auto;padding:0 26px 80px;display:grid;grid-template-columns:230px minmax(0,1fr);gap:34px} .side-nav{position:sticky;top:94px;align-self:start} .side-nav .side-title{font-size:11px;color:#8a97aa;font-weight:800;letter-spacing:.12em;margin-bottom:10px} .side-nav a{display:flex;align-items:center;gap:10px;padding:10px 11px;border-radius:11px;color:#4c5d74;font-size:13px;margin-bottom:3px} .side-nav a span{font-size:10px;color:#94a2b4;font-weight:800} .side-nav a:hover{background:white;text-decoration:none;color:var(--blue)} .side-note{margin-top:20px;padding:14px;border-radius:14px;background:#eef5ff;color:#617089;font-size:11px;line-height:1.6}
.chapter{margin-bottom:70px} .chapter-head{display:flex;gap:20px;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:18px} .chapter-no{font-size:48px;line-height:1;color:#d6e4f3;font-weight:850;letter-spacing:-.05em} .chapter-head .eyebrow{font-size:10px;letter-spacing:.16em;color:#8fa0b8;font-weight:800;margin-bottom:5px} .chapter-head h2{margin:0;color:var(--navy);font-size:31px;line-height:1.25}
.guide-section{scroll-margin-top:94px;background:white;border:1px solid var(--line);border-radius:20px;padding:26px 30px;margin-top:14px;box-shadow:0 12px 40px rgba(7,26,54,.04);position:relative} .section-kicker{font-size:11px;color:var(--blue);font-weight:850;letter-spacing:.08em} .guide-section h3{font-size:21px;color:var(--navy);margin:3px 0 16px;line-height:1.3} .guide-section h4{font-size:15px;color:#203a60;margin:18px 0 8px;padding-left:12px;border-left:3px solid #79c8ff} .section-content p{margin:10px 0;color:#3f4b5f;text-align:justify} .section-content a{word-break:break-all} .warning-line{border-left:3px solid #e66b6b;padding-left:13px;color:#7e3030!important;background:#fff9f9;border-radius:0 8px 8px 0;padding-top:6px;padding-bottom:6px}
.math-card{margin:14px 0;padding:16px 18px;border-radius:14px;background:linear-gradient(135deg,#f2f7ff,#f7fbff);border:1px solid #d9e6f5;display:flex;gap:12px;align-items:center;flex-wrap:wrap} .math-card span{font-size:10px;font-weight:850;letter-spacing:.12em;color:#6f89a9;background:white;border:1px solid #dbe6f2;border-radius:999px;padding:4px 8px} .math-card strong{font-size:15px;color:#17385f;letter-spacing:.01em} .tips-label{margin:18px 0 9px} .tips-label span{display:inline-flex;background:#e9f7ff;color:#1972a6;border:1px solid #cceafd;border-radius:999px;padding:5px 10px;font-size:11px;font-weight:800;letter-spacing:.04em} .tip-item{display:grid;grid-template-columns:10px 1fr;gap:10px;align-items:start;background:#f6fbff;border:1px solid #dceefb;border-radius:12px;padding:10px 13px;margin:8px 0} .tip-item p{margin:0!important;color:#36526e!important} .tip-dot{width:6px;height:6px;border-radius:50%;background:#39a9e9;margin-top:10px} .numbered-line,.route-line{padding-left:13px;border-left:2px solid #d8e4f0} .route-line{background:#fbfdff;border-radius:0 9px 9px 0;padding-top:7px;padding-bottom:7px}
.doc-figure{margin:20px 0 16px;padding:14px;background:#f8fafc;border:1px solid #e6ecf4;border-radius:16px} .image-grid{display:grid;grid-template-columns:1fr;gap:10px} .image-grid.multi{grid-template-columns:repeat(2,minmax(0,1fr))} .figure-image{border:0;padding:0;background:transparent;cursor:zoom-in;border-radius:11px;overflow:hidden} .figure-image img{width:100%;max-height:720px;object-fit:contain;display:block;background:white;border-radius:11px} figcaption{text-align:center;color:#79869a;font-size:12px;margin-top:9px} .to-top{display:none;margin-top:18px;border:0;background:transparent;color:#94a0b2;font-size:11px;cursor:pointer}
.search-panel{position:fixed;inset:0;z-index:100;display:none} .search-panel.open{display:block} .search-backdrop{position:absolute;inset:0;background:rgba(2,11,25,.58);backdrop-filter:blur(8px)} .search-dialog{position:relative;width:min(760px,calc(100% - 28px));max-height:min(78vh,760px);margin:9vh auto 0;background:white;border-radius:24px;box-shadow:0 35px 110px rgba(0,0,0,.32);overflow:hidden;display:flex;flex-direction:column} .search-top{display:flex;align-items:center;gap:10px;padding:15px;border-bottom:1px solid var(--line)} .search-top input{flex:1;border:0;outline:0;padding:8px;font-size:17px} .close-btn{border:0;background:#f1f4f8;border-radius:10px;width:36px;height:36px;cursor:pointer;color:#536176} .search-hint{padding:10px 18px;color:#8793a5;font-size:11px;background:#fbfcfe} .search-results{overflow:auto;padding:8px 10px 14px} .search-result{display:block;width:100%;text-align:left;border:0;background:white;border-radius:14px;padding:13px 14px;cursor:pointer} .search-result:hover{background:#f2f7fc} .search-result small{display:block;color:#8794a7;font-size:11px;margin-bottom:2px} .search-result strong{display:block;color:var(--navy);font-size:14px;margin-bottom:3px} .search-result p{margin:0;color:#657287;font-size:12px;line-height:1.6} .empty-result{padding:36px;text-align:center;color:#8794a7}
.lightbox{position:fixed;inset:0;z-index:120;background:rgba(0,0,0,.88);display:none;align-items:center;justify-content:center;padding:24px} .lightbox.open{display:flex} .lightbox img{max-width:96vw;max-height:92vh;object-fit:contain} .lightbox button{position:absolute;right:18px;top:18px;border:0;background:rgba(255,255,255,.16);color:white;border-radius:50%;width:42px;height:42px;font-size:22px;cursor:pointer}
.pulse{animation:pulse 1.1s ease} @keyframes pulse{0%{box-shadow:0 0 0 0 rgba(20,93,204,.35)}100%{box-shadow:0 0 0 22px rgba(20,93,204,0)}}
.footer{background:#06162e;color:#a9bad1} .footer-inner{max-width:1220px;margin:auto;padding:38px 26px;display:flex;justify-content:space-between;gap:20px;align-items:flex-end} .footer strong{color:white;display:block;margin-bottom:5px} .footer p{margin:0;font-size:12px;max-width:760px} .footer .motto{font-size:12px;letter-spacing:.18em;color:#6f8db2;white-space:nowrap}
@media(max-width:980px){.hero-inner{grid-template-columns:1fr;padding-top:56px}.countdown-card{display:none}.facts-grid{grid-template-columns:repeat(2,1fr)}.home-grid{grid-template-columns:1fr}.chapter-cards{grid-template-columns:repeat(2,1fr)}.content-layout{grid-template-columns:1fr}.side-nav{display:none}.to-top{display:inline-block}}
@media(max-width:640px){.topbar{height:64px}.topbar-inner{padding:0 16px}.brand>span:last-child{font-size:13px}.brand small{display:none}.brand-mark{width:38px;height:38px;border-radius:12px}.top-actions .ghost-btn{display:none}.primary-btn{padding:9px 12px;font-size:12px}.hero-inner{padding:46px 18px 50px;gap:28px}.hero h1{font-size:43px}.hero-copy{font-size:14px;line-height:1.8}.hero-search input{padding:15px 50px 15px 16px;font-size:14px}.section-shell{padding:0 14px}.overview{margin-top:-18px}.facts-grid{grid-template-columns:1fr 1fr;gap:8px}.fact-card{padding:15px;min-height:132px;border-radius:15px}.fact-card strong{font-size:16px}.home-grid{margin-top:28px;gap:14px}.panel{padding:20px;border-radius:18px}.panel h2{font-size:20px}.panel-head{align-items:flex-start;flex-direction:column;gap:4px}.official-search{flex-direction:column}.official-search button{width:100%}.intro-card{padding:20px;border-radius:18px}.chapter-cards{margin:22px 0 38px;grid-template-columns:1fr 1fr;gap:8px}.chapter-card{min-height:118px;padding:15px}.chapter-card:last-child{grid-column:1/-1;min-height:90px}.content-layout{padding:0 14px 56px}.chapter{margin-bottom:52px}.chapter-head{gap:13px}.chapter-no{font-size:38px}.chapter-head h2{font-size:25px}.guide-section{padding:20px 18px;border-radius:17px;margin-top:10px}.guide-section h3{font-size:19px}.section-content p{text-align:left;font-size:14px}.image-grid.multi{grid-template-columns:1fr}.doc-figure{margin-left:-6px;margin-right:-6px;padding:8px}.search-dialog{margin-top:5vh;max-height:86vh;border-radius:20px}.footer-inner{padding:30px 18px;display:block}.footer .motto{margin-top:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}

/* ===== 2026 visual refinement ===== */
:root{
  --navy:#071a36;--navy2:#0b2f61;--blue:#155eef;--cyan:#5bd6ff;--sky:#eaf4ff;
  --paper:#f3f6fa;--surface:#ffffff;--text:#182235;--muted:#6d798e;--line:#dfe6ef;
  --gold:#c7a86a;--shadow:0 18px 50px rgba(20,42,78,.08);--shadow-soft:0 8px 26px rgba(20,42,78,.06);
  --radius:24px;
}
body{background:linear-gradient(180deg,#f7f9fc 0,#f3f6fa 42%,#f6f8fb 100%);color:var(--text)}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background-image:linear-gradient(rgba(13,51,100,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(13,51,100,.018) 1px,transparent 1px);background-size:36px 36px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.6),transparent 55%)}
.topbar{height:76px;background:rgba(249,251,253,.78);border-bottom:1px solid rgba(199,213,231,.72);box-shadow:0 1px 0 rgba(255,255,255,.86) inset}
.topbar-inner{max-width:1280px;padding:0 30px}
.brand{gap:13px;font-weight:800;letter-spacing:0}.brand-mark{width:44px;height:44px;border-radius:13px;background:linear-gradient(150deg,#081c3a,#0e4a8d);box-shadow:0 10px 25px rgba(8,28,58,.22),inset 0 0 0 1px rgba(255,255,255,.12);letter-spacing:.05em}.brand small{letter-spacing:.13em;color:#8090a7}
.ghost-btn,.primary-btn{border-radius:12px;padding:10px 15px;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.ghost-btn:hover,.primary-btn:hover{transform:translateY(-1px);text-decoration:none}.ghost-btn{box-shadow:0 0 0 1px #dbe3ee inset,0 5px 16px rgba(20,42,78,.04)}.primary-btn{background:linear-gradient(135deg,#0a2854,#103e79);box-shadow:0 8px 20px rgba(8,42,84,.19)}
.hero{min-height:510px;background:radial-gradient(circle at 76% 22%,rgba(46,165,255,.24),transparent 24%),radial-gradient(circle at 18% 16%,rgba(64,103,213,.18),transparent 28%),linear-gradient(135deg,#06162e 0%,#082d5d 58%,#0b4a82 100%)}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,rgba(255,255,255,.025),transparent 38%,rgba(255,255,255,.018) 58%,transparent);pointer-events:none}.hero-orbit{width:610px;height:610px;right:-95px;top:-175px;border-color:rgba(145,219,255,.16);box-shadow:0 0 100px rgba(31,159,255,.04)}.hero-orbit:before,.hero-orbit:after{border-color:rgba(145,219,255,.12)}
.hero-inner{max-width:1280px;padding:82px 30px 86px;gap:70px}.hero-eyebrow{font-size:11px;color:#9ad8ff;letter-spacing:.25em}.hero h1{font-size:clamp(46px,6vw,78px);font-weight:850;letter-spacing:-.055em;text-shadow:0 8px 30px rgba(0,0,0,.12)}.hero h1 em{background:linear-gradient(90deg,#ffffff 0,#89dcff 80%);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-copy{max-width:690px;color:#c9d6e8;font-size:16px;line-height:1.85}.hero-search{max-width:740px}.hero-search input{height:60px;border-radius:17px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.105);box-shadow:0 20px 55px rgba(0,0,0,.14),inset 0 1px 0 rgba(255,255,255,.08);padding-left:21px}.hero-search input:focus{border-color:rgba(142,220,255,.62);box-shadow:0 0 0 4px rgba(89,199,255,.11),0 20px 55px rgba(0,0,0,.14)}.hero-search button{width:46px;height:46px;top:7px;right:7px;border-radius:12px;box-shadow:0 7px 20px rgba(0,0,0,.12)}.hero-meta{margin-top:16px;gap:9px}.hero-meta span{padding:6px 10px;background:rgba(255,255,255,.045);border-color:rgba(255,255,255,.12);color:#b6c9df}
.countdown-card{border-radius:28px;padding:28px;background:linear-gradient(145deg,rgba(255,255,255,.14),rgba(255,255,255,.07));border:1px solid rgba(255,255,255,.15);box-shadow:0 30px 80px rgba(0,0,0,.19),inset 0 1px 0 rgba(255,255,255,.09)}.countdown-card strong{font-size:62px;letter-spacing:-.05em}.countdown-card .label{color:#bdd4ec}
.section-shell{max-width:1280px;padding:0 30px}.overview{margin-top:-44px}.facts-grid{gap:13px}.fact-card{position:relative;overflow:hidden;min-height:152px;padding:22px 22px 19px;border-radius:20px;border:1px solid rgba(215,225,237,.95);box-shadow:0 18px 46px rgba(20,42,78,.075),0 1px 0 #fff inset}.fact-card:before{content:"";position:absolute;left:0;top:0;width:100%;height:3px;background:linear-gradient(90deg,#0d5ad7,#66d7ff);opacity:.78}.fact-label{font-size:11px;letter-spacing:.08em;color:#7b899e}.fact-card strong{font-size:21px;letter-spacing:-.02em}.copy-btn{border-radius:9px;background:#edf5ff}
.home-grid{grid-template-columns:1.12fr .88fr;gap:18px;margin-top:38px}.panel{padding:30px;border-radius:24px;border:1px solid rgba(218,227,238,.92);box-shadow:var(--shadow-soft)}.panel-head{margin-bottom:22px}.panel h2{font-size:25px;letter-spacing:-.02em}.panel-head p{font-size:12px;color:#7c899d}
.timeline{padding:2px 0}.time-item{grid-template-columns:86px 1fr;gap:18px;padding-bottom:22px}.time-item:not(:last-child):before{left:42px;background:linear-gradient(#c4d8f0,#e3ebf4)}.time-date{width:84px;height:36px;border-radius:11px;background:linear-gradient(135deg,#eaf3ff,#f3f8ff);color:#0a5ed6;border:1px solid #d7e6f8}.time-item strong{font-size:15px}.time-item p{font-size:12px;line-height:1.65}
.official-panel{background:linear-gradient(145deg,#ffffff 0%,#fbfdff 100%)}.official-box{padding:0;background:none;border:0}.official-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.official-card{min-height:94px;display:flex;align-items:center;gap:13px;padding:16px;border:1px solid #dce6f1;border-radius:16px;background:linear-gradient(145deg,#f9fbfe,#ffffff);color:var(--navy);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.official-card:hover{transform:translateY(-2px);border-color:#bad4f0;box-shadow:0 12px 28px rgba(16,54,98,.08);text-decoration:none}.official-card-icon{flex:none;width:39px;height:39px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(145deg,#092d5c,#0c5c9d);color:#fff;font-size:14px;font-weight:850;box-shadow:0 7px 18px rgba(9,45,92,.15)}.official-card-copy{min-width:0;display:flex;flex-direction:column}.official-card-copy strong{font-size:14px;color:#17375d}.official-card-copy small{font-size:10px;color:#8491a4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.official-card-arrow{margin-left:auto;color:#8fa0b6;font-size:16px}.official-card:nth-child(2) .official-card-icon{background:linear-gradient(145deg,#0a3f78,#1688b5)}.official-card:nth-child(3) .official-card-icon{background:linear-gradient(145deg,#1f5c95,#4aa4d9)}.official-card:nth-child(4) .official-card-icon{background:linear-gradient(145deg,#172d54,#315c9a)}
.intro-card{position:relative;margin-top:20px;padding:28px 32px 29px 34px;border-radius:22px;border:1px solid #dde5ef;background:linear-gradient(130deg,#ffffff,#fbfdff);box-shadow:0 8px 30px rgba(20,42,78,.04)}.intro-card:before{content:"“";position:absolute;left:13px;top:12px;font-family:Georgia,serif;font-size:52px;line-height:1;color:#dbeafb;pointer-events:none}.intro-card p:first-child{padding-left:14px;font-size:16px}.intro-card p:last-child{padding-left:14px;line-height:1.9;color:#526076}
.chapter-cards{gap:12px;margin:30px 0 62px}.chapter-card{min-height:148px;padding:19px;border-radius:19px;border:1px solid #dce4ee;background:linear-gradient(145deg,#fff,#fbfcfe);box-shadow:0 8px 20px rgba(20,42,78,.035)}.chapter-card:before{content:"";position:absolute;inset:auto 0 0;height:3px;background:linear-gradient(90deg,#0a5ed6,#57c9ed);opacity:0;transition:opacity .2s ease}.chapter-card:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(20,42,78,.08);border-color:#c9d9ec}.chapter-card:hover:before{opacity:1}.chapter-card-no{font-size:11px;letter-spacing:.13em;color:#9ba8b9}.chapter-card strong{font-size:17px;max-width:145px}.chapter-card-arrow{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#f0f5fb;color:#6e8199}
.content-layout{max-width:1280px;padding:0 30px 88px;grid-template-columns:242px minmax(0,1fr);gap:38px}.side-nav{top:100px;padding-top:4px}.side-nav .side-title{padding:0 11px;color:#9aa5b5}.side-nav a{border:1px solid transparent;padding:10px 12px;transition:.16s ease}.side-nav a:hover{background:#fff;border-color:#e2e8f0;box-shadow:0 7px 20px rgba(20,42,78,.04)}.side-note{background:linear-gradient(145deg,#edf5ff,#f7fbff);border:1px solid #dce9f7;color:#687a91}
.chapter{margin-bottom:78px}.chapter-head{position:relative;gap:18px;padding-bottom:22px;border-bottom:1px solid #dce4ee}.chapter-head:after{content:"";position:absolute;bottom:-1px;left:0;width:92px;height:2px;background:linear-gradient(90deg,#0f65da,#5fcdf0)}.chapter-no{font-size:52px;color:#cbd9e8}.chapter-head .eyebrow{letter-spacing:.2em;color:#91a0b3}.chapter-head h2{font-size:32px;letter-spacing:-.035em}
.guide-section{scroll-margin-top:100px;padding:28px 32px 30px;border-radius:20px;border:1px solid #dee6ef;background:rgba(255,255,255,.93);box-shadow:0 9px 28px rgba(20,42,78,.035);transition:border-color .2s ease,box-shadow .2s ease}.guide-section:hover{border-color:#d2deec;box-shadow:0 12px 34px rgba(20,42,78,.052)}.section-kicker{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:24px;padding:0 8px;border-radius:999px;background:#eef5ff;border:1px solid #d8e7f8;color:#0c61d4;font-size:10px;letter-spacing:.09em}.guide-section h3{font-size:22px;margin:9px 0 17px;letter-spacing:-.015em}.guide-section h4{border-left:0;padding-left:0;color:#24476f}.guide-section h4:before{content:"";display:inline-block;width:3px;height:13px;border-radius:999px;background:#55bce9;margin-right:9px;vertical-align:-1px}.section-content p{color:#445267;line-height:1.9}.section-content a{color:#0b62d7;text-decoration:underline;text-decoration-color:#bed4ee;text-underline-offset:3px}.section-content a:hover{text-decoration-color:#0b62d7}.warning-line{border-left-color:#e35f5f;background:linear-gradient(90deg,#fff6f6,transparent);color:#713b3b!important}.math-card{border-radius:15px;background:linear-gradient(135deg,#f2f7ff,#fbfdff);border-color:#dce7f4}.tips-label span{background:#ecf8ff;border-color:#cfeafa}.tip-item{background:linear-gradient(145deg,#f7fbff,#fbfdff);border-color:#dceaf6}.doc-figure{padding:12px;border-radius:16px;background:#f8fafc;border-color:#e4eaf1}.figure-image img{border-radius:10px}.figure-image:hover img{filter:brightness(.995)}
.search-dialog{border:1px solid rgba(255,255,255,.58);box-shadow:0 38px 120px rgba(3,15,32,.34)}.search-head{background:linear-gradient(180deg,#fff,#fcfdff)}.search-input-wrap{box-shadow:0 0 0 1px #dce5ef inset}.search-result{transition:background .15s ease,transform .15s ease}.search-result:hover{transform:translateX(2px)}
.footer{background:linear-gradient(135deg,#05152c,#08264d);border-top:1px solid rgba(255,255,255,.05)}.footer-inner{max-width:1280px;padding:42px 30px}.footer .motto{color:#7396bd}
@media(max-width:980px){.official-grid{grid-template-columns:repeat(2,1fr)}.hero{min-height:auto}.hero-inner{padding-bottom:64px}.home-grid{gap:14px}.content-layout{padding-top:4px}}
@media(max-width:640px){
  .topbar{height:64px}.topbar-inner{padding:0 15px}.brand-mark{width:37px;height:37px}.brand>span:last-child{font-size:12px}.primary-btn{border-radius:11px}
  .hero-inner{padding:48px 18px 51px}.hero h1{font-size:45px}.hero-copy{font-size:14px}.hero-search input{height:55px;border-radius:15px}.hero-search button{width:41px;height:41px}.hero-meta{gap:6px}.hero-meta span{font-size:10px}
  .section-shell{padding:0 13px}.overview{margin-top:-21px}.facts-grid{gap:7px}.fact-card{min-height:129px;padding:15px 14px;border-radius:15px}.fact-card:before{height:2px}.fact-label{font-size:10px}.fact-card strong{font-size:16px}.fact-card>span:last-child{font-size:11px}.copy-btn{font-size:10px;padding:5px 8px}
  .home-grid{margin-top:24px}.panel{padding:19px;border-radius:18px}.panel h2{font-size:20px}.panel-head{margin-bottom:16px}.time-item{grid-template-columns:72px 1fr;gap:12px}.time-date{width:70px;height:32px}.time-item:not(:last-child):before{left:35px}.official-grid{grid-template-columns:1fr 1fr;gap:7px}.official-card{min-height:88px;padding:12px 10px;gap:9px;border-radius:14px}.official-card-icon{width:34px;height:34px;border-radius:10px}.official-card-copy strong{font-size:12px}.official-card-copy small{font-size:9px}.official-card-arrow{display:none}
  .intro-card{padding:22px 19px 22px 23px}.intro-card:before{left:8px;top:8px}.intro-card p:first-child,.intro-card p:last-child{padding-left:11px}
  .chapter-cards{gap:7px;margin-bottom:42px}.chapter-card{min-height:112px;padding:14px}.chapter-card strong{font-size:14px}.chapter-card-arrow{width:24px;height:24px}.chapter-card:last-child{min-height:86px}
  .content-layout{padding:0 13px 60px}.chapter-head{gap:12px}.chapter-no{font-size:37px}.chapter-head h2{font-size:24px}.guide-section{padding:19px 17px 22px;border-radius:16px}.guide-section h3{font-size:19px;margin-top:8px}.section-content p{font-size:14px;line-height:1.85}.doc-figure{padding:7px}.footer-inner{padding:30px 18px}
}


/* 精确章节锚点：避免固定顶栏遮挡章节标题 */
.chapter-head[id]{scroll-margin-top:96px}
@media(max-width:640px){.chapter-head[id]{scroll-margin-top:80px}}

/* ===== Mobile / iOS WebView hardening ===== */
html{
  width:100%;
  max-width:100%;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}
body{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
}
img,svg,video,canvas{
  max-width:100%;
  height:auto;
}
.section-content,
.section-content p,
.section-content li,
.section-content a,
.guide-section,
.official-card-copy,
.fact-card,
.chapter-card{
  min-width:0;
  overflow-wrap:anywhere;
  word-break:break-word;
}
.section-content a{word-break:break-all;}

@media screen and (max-width:768px){
  html,body,main,.topbar,.hero,.footer{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }

  .topbar-inner,.hero-inner,.section-shell,.content-layout,.footer-inner{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .topbar{height:62px !important;}
  .topbar-inner{padding:0 14px !important;gap:8px !important;}
  .brand{min-width:0 !important;gap:9px !important;}
  .brand-mark{
    width:36px !important;height:36px !important;flex:0 0 36px !important;
    font-size:10px !important;
  }
  .brand>span:last-child{
    min-width:0 !important;font-size:12px !important;white-space:nowrap;
    overflow:hidden;text-overflow:ellipsis;
  }
  .brand small,.ghost-btn{display:none !important;}
  .primary-btn{
    flex:none !important;padding:8px 11px !important;font-size:12px !important;
    border-radius:10px !important;
  }

  .hero{min-height:0 !important;}
  .hero-inner{display:block !important;padding:38px 16px 44px !important;}
  .hero-orbit{
    width:360px !important;height:360px !important;right:-180px !important;
    top:-120px !important;opacity:.7;
  }
  .hero-eyebrow{
    font-size:10px !important;letter-spacing:.16em !important;margin-bottom:10px !important;
  }
  .hero h1{
    font-size:clamp(38px,12vw,48px) !important;line-height:1.08 !important;
    margin-bottom:18px !important;letter-spacing:-.045em !important;
  }
  .hero-copy{font-size:14px !important;line-height:1.75 !important;margin-bottom:22px !important;}
  .hero-search{width:100% !important;max-width:none !important;}
  .hero-search input{
    width:100% !important;height:54px !important;font-size:16px !important;
    padding:13px 52px 13px 16px !important;
  }
  .hero-search button{
    width:40px !important;height:40px !important;top:7px !important;right:7px !important;
  }
  .hero-meta{margin-top:12px !important;gap:6px !important;}
  .hero-meta span{font-size:10px !important;padding:4px 8px !important;}
  .countdown-card{display:none !important;}

  .section-shell{padding-left:14px !important;padding-right:14px !important;}
  .overview{margin-top:-16px !important;}

  .facts-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:9px !important;
  }
  .fact-card{
    width:100% !important;min-height:124px !important;padding:14px !important;
    border-radius:15px !important;
  }
  .fact-label{font-size:10px !important;}
  .fact-card strong{font-size:16px !important;line-height:1.45 !important;}
  .fact-card>span:last-child{font-size:11px !important;line-height:1.55 !important;}

  .home-grid{
    display:grid !important;grid-template-columns:minmax(0,1fr) !important;
    width:100% !important;gap:12px !important;margin-top:22px !important;
  }
  .panel{
    width:100% !important;min-width:0 !important;padding:18px !important;
    border-radius:17px !important;
  }
  .panel-head{margin-bottom:15px !important;}
  .panel h2{font-size:20px !important;}

  .time-item{
    grid-template-columns:68px minmax(0,1fr) !important;gap:11px !important;
    padding-bottom:18px !important;
  }
  .time-date{width:68px !important;height:31px !important;font-size:11px !important;}
  .time-item:not(:last-child):before{left:34px !important;}

  .official-grid{grid-template-columns:minmax(0,1fr) !important;gap:8px !important;}
  .official-card{
    width:100% !important;min-height:74px !important;padding:12px 13px !important;
    border-radius:14px !important;
  }
  .official-card-icon{
    width:36px !important;height:36px !important;flex:0 0 36px !important;
  }
  .official-card-copy strong{font-size:13px !important;}
  .official-card-copy small{font-size:10px !important;}
  .official-card-arrow{display:block !important;}

  .intro-card{
    width:100% !important;margin-top:16px !important;padding:20px 17px 20px 20px !important;
    border-radius:17px !important;
  }
  .intro-card p{font-size:14px !important;}

  .chapter-cards{
    width:100% !important;display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;gap:8px !important;
    margin:18px 0 38px !important;
  }
  .chapter-card,.chapter-card:last-child{
    width:100% !important;min-height:74px !important;grid-column:auto !important;
    padding:13px 15px !important;display:flex !important;align-items:center !important;
    gap:11px !important;
  }
  .chapter-card-no{flex:none !important;margin:0 !important;}
  .chapter-card strong{flex:1 !important;max-width:none !important;font-size:15px !important;}
  .chapter-card-arrow{position:static !important;flex:none !important;}

  .content-layout{display:block !important;padding:0 14px 56px !important;}
  .side-nav{display:none !important;}
  .content-layout>div{
    width:100% !important;max-width:100% !important;min-width:0 !important;
  }
  .chapter{width:100% !important;margin-bottom:48px !important;}
  .chapter-head{
    width:100% !important;gap:10px !important;padding-bottom:16px !important;
    margin-bottom:14px !important;
  }
  .chapter-no{font-size:34px !important;line-height:1 !important;}
  .chapter-head h2{font-size:23px !important;line-height:1.35 !important;}
  .chapter-head .eyebrow{font-size:9px !important;}

  .guide-section{
    width:100% !important;max-width:100% !important;margin-top:10px !important;
    padding:18px 16px 20px !important;border-radius:15px !important;
  }
  .guide-section h3{
    font-size:19px !important;line-height:1.45 !important;margin:8px 0 14px !important;
  }
  .guide-section h4{font-size:15px !important;}
  .section-content{
    width:100% !important;max-width:100% !important;min-width:0 !important;
  }
  .section-content p,.section-content li{
    font-size:14px !important;line-height:1.82 !important;text-align:left !important;
  }

  .doc-figure{
    width:100% !important;max-width:100% !important;margin-left:0 !important;
    margin-right:0 !important;padding:6px !important;overflow:hidden !important;
  }
  .image-grid,.image-grid.multi{grid-template-columns:minmax(0,1fr) !important;}
  .figure-image,.figure-image img{width:100% !important;max-width:100% !important;}

  .section-content table{
    display:block !important;width:100% !important;max-width:100% !important;
    overflow-x:auto !important;-webkit-overflow-scrolling:touch;
  }

  .search-dialog{
    width:calc(100% - 20px) !important;max-width:none !important;
    margin:4vh 10px 0 !important;max-height:88vh !important;border-radius:18px !important;
  }
  .search-top input{min-width:0 !important;font-size:16px !important;}

  .footer-inner{display:block !important;padding:28px 16px !important;}
  .footer .motto{margin-top:14px !important;white-space:normal !important;}
  .chapter-head[id]{scroll-margin-top:76px !important;}
}

/* 兼容部分微信/QQ/iOS WebView 对 layout viewport 的异常处理 */
html.mobile-device,
html.mobile-device body{
  width:100% !important;max-width:100% !important;min-width:0 !important;
  overflow-x:hidden !important;
}
html.mobile-device main,
html.mobile-device .topbar,
html.mobile-device .hero,
html.mobile-device .footer{
  width:100vw !important;max-width:100vw !important;min-width:100vw !important;
}
html.mobile-device .topbar-inner,
html.mobile-device .hero-inner,
html.mobile-device .section-shell,
html.mobile-device .content-layout,
html.mobile-device .footer-inner{
  width:100vw !important;max-width:100vw !important;min-width:0 !important;
  margin-left:0 !important;margin-right:0 !important;
}
html.mobile-device .hero-inner{display:block !important;padding:38px 16px 44px !important;}
html.mobile-device .countdown-card,
html.mobile-device .side-nav,
html.mobile-device .brand small,
html.mobile-device .ghost-btn{display:none !important;}
html.mobile-device .facts-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
html.mobile-device .home-grid,
html.mobile-device .chapter-cards,
html.mobile-device .official-grid{
  display:grid !important;grid-template-columns:minmax(0,1fr) !important;
}
html.mobile-device .content-layout{display:block !important;}
html.mobile-device .section-shell,
html.mobile-device .content-layout{padding-left:14px !important;padding-right:14px !important;}
html.mobile-device .content-layout>div,
html.mobile-device .chapter,
html.mobile-device .guide-section,
html.mobile-device .panel,
html.mobile-device .official-card,
html.mobile-device .chapter-card{
  width:100% !important;max-width:100% !important;min-width:0 !important;
}
html.mobile-device .official-grid,
html.mobile-device .chapter-cards{gap:8px !important;}
html.mobile-device .chapter-card,
html.mobile-device .chapter-card:last-child{grid-column:auto !important;}
html.mobile-device .image-grid.multi{grid-template-columns:minmax(0,1fr) !important;}
html.mobile-device .section-content,
html.mobile-device .section-content p,
html.mobile-device .section-content li,
html.mobile-device .section-content a{
  max-width:100% !important;overflow-wrap:anywhere !important;
}


/* ===== Detailed desktop guide index ===== */
.detailed-toc{
  position:sticky;
  top:92px;
  align-self:start;
  padding:0 !important;
}
.toc-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:10px;
  padding:0 9px 12px;
  border-bottom:1px solid #e3e9f1;
  margin-bottom:9px;
}
.toc-heading .side-title{
  margin:0 0 3px !important;
  padding:0 !important;
}
.toc-heading strong{
  display:block;
  color:#102946;
  font-size:16px;
  letter-spacing:-.02em;
}
.toc-hint{
  color:#91a0b3;
  font-size:10px;
  white-space:nowrap;
  padding-bottom:2px;
}
.toc-scroll{
  max-height:calc(100vh - 142px);
  overflow-y:auto;
  overscroll-behavior:contain;
  padding:2px 7px 18px 3px;
  scrollbar-width:thin;
  scrollbar-color:#c9d5e3 transparent;
}
.toc-scroll::-webkit-scrollbar{width:5px}
.toc-scroll::-webkit-scrollbar-track{background:transparent}
.toc-scroll::-webkit-scrollbar-thumb{
  background:#c9d5e3;
  border-radius:999px;
}
.toc-group{
  position:relative;
  margin:3px 0 13px;
}
.side-nav a.toc-chapter-title{
  display:flex;
  align-items:center;
  gap:9px;
  margin:0 0 3px;
  padding:8px 8px;
  border:0;
  border-radius:10px;
  color:#17385e;
  font-size:12px;
  font-weight:800;
  line-height:1.35;
  background:transparent;
  box-shadow:none;
}
.side-nav a.toc-chapter-title:hover{
  background:#f3f7fc;
  border:0;
  box-shadow:none;
  color:#0a61cf;
}
.toc-chapter-no{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:27px;
  height:27px;
  border-radius:9px;
  color:#0d61ce !important;
  background:#eaf3ff;
  border:1px solid #d7e7fa;
  font-size:9px !important;
  letter-spacing:.05em;
}
.toc-items{
  position:relative;
  margin-left:13px;
  padding-left:13px;
  border-left:1px solid #e2e9f1;
}
.side-nav a.toc-item{
  position:relative;
  display:flex;
  align-items:flex-start;
  gap:8px;
  min-height:31px;
  margin:0 0 1px;
  padding:6px 7px 6px 8px;
  border:0;
  border-radius:8px;
  color:#627187;
  font-size:11px;
  font-weight:580;
  line-height:1.45;
  box-shadow:none;
  transition:background .15s ease,color .15s ease,transform .15s ease;
}
.side-nav a.toc-item:hover{
  background:#f5f8fc;
  border:0;
  box-shadow:none;
  color:#0b61cf;
}
.toc-number{
  flex:0 0 27px;
  color:#9aa9ba !important;
  font-size:9px !important;
  font-weight:800;
  line-height:1.65;
  font-variant-numeric:tabular-nums;
}
.toc-text{
  min-width:0;
  flex:1;
}
.side-nav a.toc-sub{
  min-height:27px;
  margin-left:35px;
  padding:5px 7px 5px 4px;
  color:#8390a3;
  font-size:10px;
  font-weight:520;
}
.toc-sub-dot{
  flex:0 0 4px;
  width:4px;
  height:4px;
  border-radius:50%;
  background:#b6c2d1;
  margin-top:6px;
}
.side-nav a.toc-item.active,
.side-nav a.toc-chapter-title.active{
  color:#075fcf;
  background:linear-gradient(90deg,#eaf4ff,#f6faff);
}
.side-nav a.toc-item.active{
  font-weight:750;
}
.side-nav a.toc-item.active:before{
  content:"";
  position:absolute;
  left:-14px;
  top:7px;
  bottom:7px;
  width:2px;
  border-radius:99px;
  background:#1e79e8;
}
.side-nav a.toc-item.active .toc-number,
.side-nav a.toc-chapter-title.active .toc-chapter-no{
  color:#075fcf !important;
}
.side-nav a.toc-sub.active .toc-sub-dot{
  background:#1680ed;
  box-shadow:0 0 0 3px #e5f2ff;
}
.guide-section h4[id]{
  scroll-margin-top:104px;
}
@media(max-width:980px){
  .detailed-toc{display:none !important}
}




/* ===== Mobile detailed TOC + fast-loading layout v2 ===== */
.toc-toggle-btn{
  display:none;
  border:1px solid #d5e2f0;
  background:#fff;
  color:#0a396c;
  border-radius:11px;
  padding:9px 13px;
  font-weight:750;
  cursor:pointer;
}
.mobile-toc-drawer{display:none;}

@media (max-width:980px){
  .toc-toggle-btn{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    min-width:48px;
    height:38px;
    padding:0 11px;
    font-size:12px;
    line-height:1;
  }
  .top-actions{
    display:flex;
    align-items:center;
    gap:6px !important;
    flex:none;
  }
  .search-main-btn{
    min-width:48px !important;
    height:38px !important;
    padding:0 11px !important;
    font-size:0 !important;
    line-height:1 !important;
  }
  .search-main-btn::before{
    content:"搜索";
    font-size:12px;
    font-weight:750;
  }
  .brand{
    min-width:0 !important;
    flex:1 1 auto;
  }
  .brand>span:last-child{
    min-width:0 !important;
    max-width:145px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  .mobile-toc-drawer{
    display:block;
    position:fixed;
    inset:0;
    z-index:1000;
    pointer-events:none;
    visibility:hidden;
  }
  .mobile-toc-drawer.is-open{
    pointer-events:auto;
    visibility:visible;
  }
  .mobile-toc-backdrop{
    position:absolute;
    inset:0;
    background:rgba(4,18,38,.42);
    opacity:0;
    transition:opacity .2s ease;
    -webkit-backdrop-filter:blur(2px);
    backdrop-filter:blur(2px);
  }
  .mobile-toc-drawer.is-open .mobile-toc-backdrop{opacity:1;}
  .mobile-toc-panel{
    position:absolute;
    left:0;
    top:0;
    bottom:0;
    width:min(88vw,390px);
    background:#f8fbff;
    box-shadow:18px 0 55px rgba(5,25,51,.24);
    transform:translateX(-102%);
    transition:transform .22s ease;
    display:flex;
    flex-direction:column;
    overflow:hidden;
    padding-top:env(safe-area-inset-top);
  }
  .mobile-toc-drawer.is-open .mobile-toc-panel{transform:translateX(0);}
  .mobile-toc-header{
    flex:0 0 auto;
    min-height:76px;
    padding:15px 16px 13px 18px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    background:rgba(255,255,255,.95);
    border-bottom:1px solid #dde7f2;
  }
  .mobile-toc-header>div{
    display:flex;
    flex-direction:column;
    line-height:1.25;
  }
  .mobile-toc-kicker{
    font-size:9px;
    font-weight:850;
    letter-spacing:.16em;
    color:#7d90a8;
    margin-bottom:4px;
  }
  .mobile-toc-header strong{
    color:#0b294d;
    font-size:20px;
    letter-spacing:-.02em;
  }
  .mobile-toc-close{
    width:38px;
    height:38px;
    border:0;
    border-radius:12px;
    background:#edf4fc;
    color:#173b64;
    font-size:25px;
    line-height:1;
    cursor:pointer;
  }
  .mobile-toc-body{
    min-height:0;
    flex:1 1 auto;
    overflow:hidden;
  }
  .mobile-toc-scroll{
    height:100%;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
    padding:14px 12px calc(28px + env(safe-area-inset-bottom)) 12px;
  }
  .mobile-toc-scroll .toc-group{
    margin:0 0 15px;
    padding:0;
  }
  .mobile-toc-scroll .toc-chapter-title{
    display:flex;
    align-items:center;
    gap:10px;
    width:100%;
    padding:10px 9px;
    color:#153858;
    font-size:14px;
    font-weight:850;
    border-radius:11px;
    text-decoration:none;
  }
  .mobile-toc-scroll .toc-chapter-title:active{
    background:#eaf4ff;
  }
  .mobile-toc-scroll .toc-chapter-no{
    flex:0 0 30px;
    width:30px;
    height:30px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:9px;
    background:#e8f2ff;
    border:1px solid #d4e5fb;
    color:#0b66d7 !important;
    font-size:10px !important;
    font-weight:850;
  }
  .mobile-toc-scroll .toc-items{
    position:relative;
    margin:2px 0 0 15px;
    padding-left:13px;
    border-left:1px solid #dce7f2;
  }
  .mobile-toc-scroll .toc-item{
    display:flex;
    align-items:flex-start;
    gap:8px;
    padding:8px 7px;
    color:#52677f;
    border-radius:8px;
    font-size:12px;
    line-height:1.48;
    text-decoration:none;
  }
  .mobile-toc-scroll .toc-item:active{
    color:#0763cf;
    background:#edf6ff;
  }
  .mobile-toc-scroll .toc-number{
    flex:0 0 31px;
    color:#91a2b5 !important;
    font-size:10px !important;
    font-weight:800;
    font-variant-numeric:tabular-nums;
  }
  .mobile-toc-scroll .toc-text{
    flex:1;
    min-width:0;
  }
  .mobile-toc-scroll .toc-sub{
    margin-left:37px;
    padding:6px 7px 6px 2px;
    font-size:11px;
    color:#7a899b;
  }
  .mobile-toc-scroll .toc-sub-dot{
    flex:0 0 5px;
    width:5px;
    height:5px;
    margin-top:6px;
    border-radius:50%;
    background:#b6c6d6;
  }
  .mobile-toc-scroll a.active{
    color:#075fcf !important;
    background:linear-gradient(90deg,#e8f3ff,#f5faff);
    font-weight:800;
  }
  .mobile-toc-scroll .toc-sub.active .toc-sub-dot{
    background:#1680ed;
    box-shadow:0 0 0 3px #e2f0ff;
  }
  body.mobile-toc-open{
    overflow:hidden !important;
    touch-action:none;
  }

  /* 让五个模块入口在手机上明确可点击 */
  .chapter-card{
    cursor:pointer !important;
    -webkit-tap-highlight-color:rgba(20,93,204,.10);
    touch-action:manipulation;
  }
  .chapter-card:active{
    transform:scale(.992) !important;
    background:#f2f7fd !important;
  }
}

/* 图片异步加载时保持正确比例 */
.figure-image img,
.doc-figure img{
  object-fit:contain;
}



/* ===== Persistent mobile top actions ===== */
@media (max-width:980px){
  .topbar{
    position:fixed !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    z-index:950 !important;
    width:100% !important;
    height:calc(58px + env(safe-area-inset-top)) !important;
    padding-top:env(safe-area-inset-top) !important;
    background:rgba(255,255,255,.94) !important;
    border-bottom:1px solid rgba(204,218,234,.92) !important;
    box-shadow:0 7px 22px rgba(9,40,76,.08) !important;
    -webkit-backdrop-filter:blur(14px) saturate(1.18);
    backdrop-filter:blur(14px) saturate(1.18);
    transform:translateZ(0);
  }

  .topbar-inner{
    height:58px !important;
    min-height:58px !important;
    padding:0 12px !important;
  }

  /* 为固定顶栏留出空间，避免遮挡首屏和锚点 */
  body{
    padding-top:calc(58px + env(safe-area-inset-top)) !important;
  }

  .toc-toggle-btn,
  .search-main-btn{
    position:relative;
    z-index:2;
    height:38px !important;
    min-width:50px !important;
    border-radius:11px !important;
  }

  .toc-toggle-btn{
    background:#edf5ff !important;
    color:#075fcf !important;
    border-color:#d6e7fb !important;
  }

  .search-main-btn{
    background:#0b477f !important;
    color:#fff !important;
    border-color:#0b477f !important;
  }

  /* 小屏幕进一步压缩品牌，确保目录/搜索始终可见 */
  @media (max-width:430px){
    .brand-mark{
      width:34px !important;
      height:34px !important;
      flex-basis:34px !important;
    }
    .brand>span:last-child{
      max-width:112px !important;
      font-size:11px !important;
    }
    .top-actions{
      gap:5px !important;
    }
    .toc-toggle-btn,
    .search-main-btn{
      min-width:47px !important;
      padding:0 9px !important;
    }
  }

  @media (max-width:360px){
    .brand>span:last-child{
      display:none !important;
    }
  }

  /* 目录抽屉仍覆盖整屏，固定顶栏不会影响操作 */
  .mobile-toc-drawer{
    z-index:1200 !important;
  }

  .chapter-head[id],
  .guide-section[id],
  .guide-section h4[id]{
    scroll-margin-top:calc(76px + env(safe-area-inset-top)) !important;
  }
}


/* ===== v2026.1 product-style refinement ===== */
:root{
  --success:#16865f;--success-bg:#e9f8f2;--warn:#b76a07;--warn-bg:#fff5df;
  --danger:#b54242;--danger-bg:#fff0f0;--violet:#6456cf;--violet-bg:#f0efff;
}
.version-tag{display:inline-flex;align-items:center;height:26px;padding:0 9px;border-radius:999px;background:#eaf3ff;color:#0a61cf;font-size:10px;font-weight:850;letter-spacing:.04em;border:1px solid #d7e7fa;white-space:nowrap}
.hero-copy{margin:0 0 23px!important;color:#d7e5f4!important;font-size:17px!important;max-width:650px!important}
.hero-quick{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:14px;color:#aac3df;font-size:11px}.hero-quick a{color:#d8ebff;background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:4px 9px}.hero-quick a:hover{background:rgba(255,255,255,.14);text-decoration:none}.fact-source{display:block;margin-top:8px;color:#9aa6b6;font-size:10px}
.panel-link{font-size:12px;font-weight:750;white-space:nowrap}.panel-footnote{margin:14px 0 0;color:#8a96a8;font-size:10px}
.home-grid{grid-template-columns:minmax(0,1.58fr) minmax(320px,.72fr)!important;align-items:stretch}.action-panel{min-width:0}.milestone-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.milestone{position:relative;display:flex;min-width:0;min-height:176px;flex-direction:column;align-items:flex-start;padding:18px 14px 15px;border:1px solid #e1e8f1;border-radius:16px;background:linear-gradient(180deg,#fbfdff,#f7fafe);color:#183653;transition:.18s ease}.milestone:hover{transform:translateY(-2px);border-color:#bfd5ed;box-shadow:0 10px 24px rgba(20,42,78,.07);text-decoration:none}.milestone-status{align-self:flex-start;border-radius:999px;padding:4px 8px;background:#edf2f7;color:#79889a;font-size:9px;font-weight:850}.milestone-status.is-open{background:var(--success-bg);color:var(--success)}.milestone-status.is-soon{background:var(--warn-bg);color:var(--warn)}.milestone-status.is-ended{background:#f0f2f5;color:#929dac}.milestone-icon{display:grid;place-items:center;width:36px;height:36px;margin:12px 0 9px;border-radius:12px;background:#eaf3ff;color:#0a61cf;font-weight:900;font-size:11px}.milestone strong{font-size:13px;line-height:1.35}.milestone b{margin-top:5px;color:#425a75;font-size:11px}.milestone small{margin-top:5px;color:#7e8c9f;font-size:10px;line-height:1.5}
.prep-panel,.quick-panel{margin-top:18px}.prep-head{align-items:center}.reset-checklist{border:1px solid #dce5ef;background:#f7f9fc;color:#65758b;border-radius:10px;padding:8px 11px;font-size:11px;font-weight:750;cursor:pointer}.prep-progress{display:flex;align-items:center;gap:16px;margin:-2px 0 16px}.prep-progress>div:first-child{white-space:nowrap;color:#67768a;font-size:11px}.prep-progress strong{color:#0a61cf;font-size:15px}.progress-track{flex:1;height:7px;border-radius:999px;background:#edf1f5;overflow:hidden}.progress-track span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#0a61cf,#3c8df3);transition:width .24s ease}.prep-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.prep-item{display:flex;gap:9px;min-width:0;padding:13px 12px;border:1px solid #e4eaf2;border-radius:13px;background:#fbfcfe;cursor:pointer;transition:.16s ease}.prep-item:hover{border-color:#cbd9e9;background:#f7fbff}.prep-item input{flex:none;width:16px;height:16px;margin-top:2px;accent-color:#0a61cf}.prep-item span{min-width:0}.prep-item strong{display:block;color:#24415f;font-size:12px;line-height:1.4}.prep-item small{display:block;margin-top:4px;color:#8793a4;font-size:10px;line-height:1.45}.prep-item:has(input:checked){background:#f0f7ff;border-color:#cbdff5}.prep-item:has(input:checked) strong{text-decoration:line-through;color:#70849a}
.utility-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.utility-card{display:flex;min-width:0;flex-direction:column;padding:16px;border:1px solid #e1e8f0;border-radius:14px;background:linear-gradient(145deg,#fff,#fafcff);color:#1b3858}.utility-card:hover{text-decoration:none;border-color:#c9d9ec;box-shadow:0 8px 22px rgba(20,42,78,.055)}.utility-card>span{width:max-content;border-radius:8px;padding:4px 7px;background:#eef5ff;color:#0c62d4;font-size:9px;font-weight:850}.utility-card strong{margin-top:10px;font-size:13px}.utility-card small{margin-top:4px;color:#8794a5;font-size:10px}
.welcome-card{margin-top:18px!important}.welcome-label{display:inline-flex;margin:0 0 8px 14px;color:#0b61cf;font-size:10px;font-weight:850;letter-spacing:.08em}.chapter-card-desc{display:block;margin-top:5px;color:#8390a2;font-size:10px;line-height:1.5}.chapter-card-count{display:inline-block;margin-top:12px;color:#0a61cf;font-size:10px;font-weight:750}.update-strip{display:flex;align-items:center;justify-content:space-between;gap:22px;margin:-38px 0 58px;padding:16px 18px;border:1px solid #dbe8f5;border-radius:16px;background:linear-gradient(90deg,#f2f8ff,#fbfdff);color:#53677e}.update-strip>div{position:relative;padding-left:16px}.update-dot{position:absolute;left:0;top:7px;width:7px;height:7px;border-radius:50%;background:#1a73e8;box-shadow:0 0 0 4px #e1efff}.update-strip strong{display:block;color:#183a60;font-size:12px}.update-strip p{margin:2px 0 0;font-size:10px}.update-strip a{font-size:10px;font-weight:750;white-space:nowrap}
.section-badges{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-size:9px;font-weight:850;letter-spacing:.02em}.badge-required{background:var(--success-bg);color:var(--success)}.badge-dynamic{background:var(--warn-bg);color:var(--warn)}.badge-safety{background:var(--danger-bg);color:var(--danger)}.dynamic-note{margin:0 0 14px!important;padding:10px 12px!important;border:1px solid #f0ddb7;border-radius:11px!important;background:#fff9ec!important;color:#7d641f!important;font-size:11px!important}
.step-list{display:grid;gap:9px;margin:15px 0}.step-item{display:grid;grid-template-columns:34px 1fr;gap:12px;align-items:start;padding:13px 14px;border:1px solid #dfe8f2;border-radius:13px;background:#f9fbfe}.step-no{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:#eaf3ff;color:#0b61cf;font-weight:900;font-size:12px}.step-item p{margin:2px 0!important}
.dorm-compare{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 18px}.dorm-compare article{padding:16px 17px;border:1px solid #dfe8f2;border-radius:14px;background:linear-gradient(145deg,#f7fbff,#fff)}.dorm-compare span{display:inline-flex;border-radius:8px;padding:4px 7px;background:#eef5ff;color:#0b61cf;font-size:9px;font-weight:850}.dorm-compare strong{display:block;margin:8px 0 4px;color:#1f4164}.dorm-compare p{margin:0!important;color:#728197!important;font-size:11px!important;text-align:left!important}
.plan-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0}.plan-grid>div{display:flex;flex-direction:column;padding:14px;border:1px solid #dfe8f2;border-radius:13px;background:#fafcff}.plan-grid .featured{border-color:#bcd6f2;background:#f1f7ff}.plan-grid strong{color:#0a61cf;font-size:19px}.plan-grid span{color:#274764;font-weight:800;font-size:12px}.plan-grid small{color:#8995a5;font-size:9px}
.route-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:0 0 20px}.route-summary-grid article{padding:15px;border:1px solid #dfe7f1;border-radius:14px;background:#fbfcfe}.route-summary-grid article>span{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#eaf3ff;color:#0b61cf;font-size:11px;font-weight:900}.route-summary-grid strong{display:block;margin:8px 0 7px;color:#1e4164;font-size:13px}.route-summary-grid p{margin:3px 0!important;color:#718096!important;font-size:10px!important;text-align:left!important}.route-summary-grid b{color:#405873}
.footer-version{margin-top:8px!important;color:#7f9dbf!important}
/* accessible focus */
a:focus-visible,button:focus-visible,input:focus-visible,label:has(input:focus-visible){outline:3px solid rgba(21,94,239,.25);outline-offset:3px}
@media(max-width:1180px){.milestone-grid{grid-template-columns:repeat(3,1fr)}.prep-grid{grid-template-columns:repeat(3,1fr)}.utility-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:980px){.home-grid{grid-template-columns:1fr!important}.milestone-grid{grid-template-columns:repeat(2,1fr)}.prep-grid{grid-template-columns:repeat(2,1fr)}.utility-grid{grid-template-columns:repeat(2,1fr)}.version-tag{display:none}.update-strip{margin-top:-28px}.hero-copy{font-size:15px!important}}
@media(max-width:640px){.hero-copy{font-size:13px!important;margin-bottom:18px!important}.hero-quick{margin-top:10px}.milestone-grid{grid-template-columns:1fr 1fr;gap:7px}.milestone{min-height:160px;padding:13px 11px}.milestone:nth-child(5){grid-column:1/-1;min-height:118px}.prep-grid,.utility-grid,.dorm-compare,.route-summary-grid{grid-template-columns:1fr}.plan-grid{grid-template-columns:1fr 1fr}.prep-panel,.quick-panel{padding:18px!important}.prep-progress{display:block}.progress-track{margin-top:8px}.update-strip{display:block;margin:-18px 0 42px}.update-strip a{display:inline-block;margin-top:9px}.chapter-card-desc{display:none}.chapter-card-count{margin-top:0;margin-left:auto;margin-right:8px}.section-badges{margin-top:6px}}
/* v2026.1 QA fixes */
.official-grid,.official-card{min-width:0}
.official-card-copy{min-width:0}
.official-card-copy small{max-width:100%}
@media(min-width:981px){
  .home-grid .official-card-arrow{display:none}
  .home-grid .official-card-copy strong{font-size:12px;white-space:nowrap}
  .home-grid .official-card-copy small{display:none}
}

/* ===== v2026.1.2 image performance ===== */
.figure-image{
  position:relative;
  display:block;
  width:100%;
  min-height:80px;
  background:linear-gradient(110deg,#f2f5f9 8%,#fafcff 18%,#f2f5f9 33%);
  background-size:200% 100%;
  animation:image-skeleton 1.35s linear infinite;
}
.figure-image picture{display:block;width:100%;}
.figure-image .deferred-image{
  opacity:0;
  transition:opacity .22s ease;
}
.figure-image .deferred-image.is-loaded{opacity:1;}
.figure-image:has(.deferred-image.is-loaded){animation:none;background:#fff;}
@keyframes image-skeleton{to{background-position-x:-200%;}}
@media(prefers-reduced-motion:reduce){.figure-image{animation:none}.figure-image .deferred-image{transition:none}}


/* ===== v2026.1.3 supplemental notices & student project links ===== */
.badge-law{background:#edf1ff;color:#4a52b8}.badge-student{background:#f1ecff;color:#6e4bb5;white-space:nowrap}
.policy-note{margin:16px 0;padding:15px 16px;border:1px solid #d9e3f6;border-radius:14px;background:linear-gradient(145deg,#f5f8ff,#fbfdff)}
.policy-note strong{display:block;color:#243f69;font-size:13px}.policy-note p{margin:5px 0 0!important;color:#5d6e86!important;font-size:12px!important;line-height:1.7!important}
.compact-steps{margin:14px 0 6px;padding-left:22px;color:#445267}.compact-steps li{margin:7px 0;line-height:1.75}.source-line{margin-top:13px!important;color:#8793a5!important;font-size:10px!important}
.announcement-box{margin:20px 0 2px;padding:18px 19px;border:1px solid #d9e7f6;border-radius:16px;background:linear-gradient(145deg,#f4f9ff,#fbfdff);box-shadow:0 8px 22px rgba(20,42,78,.035)}
.announcement-title{display:flex;align-items:center;gap:9px;margin-bottom:9px;color:#163c69}.announcement-title span{font-size:20px;line-height:1}.announcement-title strong{font-size:16px;line-height:1.4}
.announcement-box>p{margin:6px 0!important;font-size:13px!important;color:#506177!important}.notice-steps{margin:11px 0 8px;padding-left:22px}.notice-steps li{margin:9px 0;color:#40536b;font-size:13px;line-height:1.8}.announcement-foot{padding-top:9px;border-top:1px dashed #d7e3ef;color:#7c8797!important;font-size:11px!important}
.student-project-card{margin:12px 0 18px;padding:18px;border:1px solid #dedff1;border-radius:17px;background:linear-gradient(145deg,#fbfbff,#f7faff);box-shadow:0 7px 22px rgba(31,45,85,.04)}
.student-project-head{display:flex;align-items:center;gap:12px}.student-project-icon{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border-radius:13px;background:linear-gradient(145deg,#4e60c8,#7655c6);color:#fff;font-weight:900;box-shadow:0 7px 18px rgba(83,76,184,.2)}
.student-project-copy{min-width:0;flex:1}.student-project-copy strong{display:block;color:#253d64;font-size:15px}.student-project-copy small{display:block;margin-top:2px;color:#8792a5;font-size:10px}
.student-project-card>p{margin:13px 0!important;color:#526176!important;font-size:12px!important;line-height:1.8!important}.student-project-actions{display:flex;gap:8px;flex-wrap:wrap}.project-btn{display:inline-flex;align-items:center;justify-content:center;padding:9px 12px;border:1px solid #d7dfeb;border-radius:10px;background:#fff;color:#31527d;font-size:11px;font-weight:800}.project-btn:hover{text-decoration:none;border-color:#bdcce0}.project-btn-primary{border-color:#345fc7;background:#345fc7;color:#fff}.project-btn-primary:hover{border-color:#294fab;background:#294fab;color:#fff}
.file-integrity{margin-top:11px;padding-top:10px;border-top:1px dashed #dde4ee;color:#909aab;font-size:9px;line-height:1.55;overflow-wrap:anywhere;word-break:break-all}
.student-links-panel{margin-top:18px}.student-link-card{display:flex;align-items:center;gap:13px;padding:16px 17px;border:1px solid #dfe3f2;border-radius:15px;background:linear-gradient(135deg,#fafaff,#f7fbff);color:#1f3b5d}.student-link-card:hover{text-decoration:none;border-color:#c9d3ea;box-shadow:0 8px 22px rgba(20,42,78,.05)}.student-link-icon{display:grid;place-items:center;width:40px;height:40px;flex:0 0 40px;border-radius:12px;background:#ececff;color:#5859b9;font-weight:900}.student-link-copy{min-width:0;flex:1}.student-link-copy strong{display:block;font-size:13px}.student-link-copy small{display:block;margin-top:2px;color:#8591a2;font-size:10px;line-height:1.45}.student-link-flag{flex:none;padding:4px 8px;border-radius:999px;background:#f1ecff;color:#6e4bb5;font-size:9px;font-weight:850}.student-link-arrow{flex:none;color:#8190a4;font-size:17px}
@media(max-width:640px){.announcement-box{padding:15px 14px}.announcement-title strong{font-size:14px}.notice-steps li{font-size:12px}.student-project-head{align-items:flex-start;flex-wrap:wrap}.student-project-head .badge{margin-left:54px;margin-top:-8px}.student-project-actions{display:grid;grid-template-columns:1fr}.project-btn{width:100%}.student-link-card{align-items:flex-start;padding:14px}.student-link-flag{display:none}.student-link-copy small{font-size:9px}}
