:root{--paper:#f8f7f2;--ink:#1d332f;--muted:#64736b;--line:#dce0d5;--green:#1f6556;--accent:#b94c35;--soft:#edf0e6}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;color:var(--ink);background:var(--paper);font-family:"PingFang SC","Microsoft YaHei",system-ui,sans-serif;font-size:16px;line-height:1.85}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:var(--green);text-underline-offset:4px}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #ca8b43;outline-offset:3px}.topbar{height:82px;position:sticky;top:0;background:#f8f7f2ed;backdrop-filter:blur(12px);border-bottom:1px solid var(--line);z-index:20;display:flex;align-items:center;justify-content:space-between;padding:0 36px}.brand{display:flex;gap:13px;align-items:center;text-decoration:none;color:var(--ink);font-weight:700;line-height:1.4;font-size:18px}.brand-symbol{font:38px Georgia,serif;color:var(--accent)}.brand small{display:block;font-size:10px;letter-spacing:2px;color:var(--muted);font-weight:500;margin-top:4px}.top-actions{display:flex;gap:10px;align-items:center}.top-actions button{border:1px solid var(--line);border-radius:6px;background:transparent;padding:7px 13px;color:var(--ink);font-size:13px}.top-actions kbd{font-size:11px;margin-left:25px;color:var(--muted);border:1px solid var(--line);padding:0 6px}#menu{display:none}.sidebar{position:fixed;top:82px;left:0;bottom:0;width:258px;border-right:1px solid var(--line);padding:32px 21px 20px 30px;overflow:auto;font-size:13px;z-index:15;background:var(--paper)}.side-caption{font-weight:700;letter-spacing:1px}.sidebar p{font-size:12px;color:var(--muted);margin:10px 0 24px}.sidebar nav{display:flex;flex-direction:column;gap:3px}.sidebar nav a{display:flex;justify-content:space-between;align-items:center;color:#53645b;text-decoration:none;padding:8px 12px;border-radius:4px;line-height:1.6}.sidebar nav a.active{background:#e4ece1;color:var(--green);font-weight:600}.sidebar nav a:hover{background:var(--soft)}.sidebar nav i{width:5px;height:5px;border-radius:50%}.sidebar nav a.read i{background:var(--green)}.side-note{margin:22px 10px;font-size:11px;color:var(--muted)}.read-status{margin:25px 10px 0;padding-top:14px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}main{margin-left:258px;padding:0 6.3%;max-width:1540px}.hero{padding:66px 0 42px;position:relative}.eyebrow,.section-kicker{font-size:11px;font-weight:600;letter-spacing:2px;color:var(--accent)}h1{font-family:"Songti SC","STSong",serif;font-size:clamp(46px,4.8vw,75px);line-height:1.22;letter-spacing:1px;margin:22px 0 24px;font-weight:600}h1 em{font-style:normal;color:var(--green)}.hero-intro{font-size:15px;color:var(--muted);max-width:650px;line-height:2}.hero-intro strong{font-weight:500;color:var(--ink)}.hero-equation{margin-top:34px;padding:20px 28px;border-left:3px solid var(--green);background:var(--soft);max-width:760px}.hero-equation>span{font-size:10px;letter-spacing:2px;color:var(--muted)}.hero-math{font-size:23px;margin:8px 0 4px;overflow-x:auto}.hero-equation p{font-size:12px;margin:5px 0;color:var(--muted)}.hero-equation b{margin:0 15px;font-weight:400;color:var(--accent)}.hero-links{display:flex;align-items:center;gap:25px;margin-top:26px;font-size:13px;flex-wrap:wrap}.hero-links a{text-decoration:none}.hero-links .primary{color:white;background:var(--green);padding:11px 20px;border-radius:4px}.hero-links span{font-size:11px;color:var(--muted)}.map-heading{margin-top:20px;border-top:1px solid var(--line);padding-top:30px}.map-heading>span{font-size:10px;letter-spacing:2px;color:var(--accent)}.map-heading h2{font-family:"Songti SC",serif;font-size:24px;margin:8px 0 20px}.map-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-bottom:0;border-right:0}.map-node{padding:20px 20px 24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;position:relative;text-decoration:none;color:var(--ink);transition:background .15s}.map-node:hover{background:#e9ede3}.map-node small{color:var(--accent);font-size:11px;letter-spacing:1px}.map-node strong{font-size:20px;font-weight:600;margin:8px 0}.map-node span{font-size:11px;color:var(--muted)}.map-node b{position:absolute;right:17px;top:17px;font-weight:400;color:var(--muted)}.rank-rail{display:flex;gap:14px;align-items:center;padding:17px 0;font-size:12px;flex-wrap:wrap;border-bottom:1px solid var(--line)}.rank-rail>span{font-size:10px;color:var(--accent);letter-spacing:1px}.rank-rail strong{font-size:13px}.rank-rail a{font-size:10px;margin-left:auto;text-decoration:none}.explorer{margin:45px 0 60px;background:#eaf0e7;border:1px solid #d5dfd1;padding:30px;border-radius:4px}.explorer h2{font-size:23px;margin:8px 0}.explorer p{font-size:13px;color:var(--muted);max-width:690px}.slider-row{display:flex;align-items:center;gap:20px;flex-wrap:wrap;border-top:1px solid #cedacd;padding-top:20px;margin-top:20px}.slider-row label{font:22px Georgia;min-width:80px}.slider-row input{flex:1;min-width:140px;accent-color:var(--green)}.presets{display:flex;gap:5px}.presets button{border:1px solid #c7d4c5;background:transparent;font:12px Georgia;padding:5px 10px;border-radius:3px}.explorer-results{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#d3ded0;margin-top:24px;border:1px solid #d3ded0}.explorer-result{background:#f6f8f1;padding:16px}.explorer-result span{font-size:10px;color:var(--muted);display:block}.explorer-result strong{font-size:15px;display:block;margin:5px 0;font-weight:600}.explorer-result small{font-size:10px;color:var(--muted)}.explorer p.explorer-tip{font-size:11px;margin-bottom:0}.book-divider{border-top:1px solid var(--ink);padding:18px 0;display:flex;align-items:baseline;justify-content:space-between;gap:12px}.book-divider span{font-size:13px;font-weight:600}.book-divider p{font-size:11px;color:var(--muted)}.doc-section{padding:55px 0 35px;border-bottom:1px solid var(--line);scroll-margin-top:0}.doc-section>h2{font-family:"Songti SC",serif;font-size:34px;line-height:1.4;margin:12px 0 30px;font-weight:600}.prose{font-size:15px;line-height:2.05;overflow-wrap:anywhere}.prose p{margin:15px 0}.prose h3{font-size:21px;color:var(--green);margin:36px 0 14px;line-height:1.6;scroll-margin-top:104px}.prose h4{font-size:17px;margin:26px 0 12px}.prose h5{font-size:15px}.prose li{margin:8px 0}.prose strong{font-weight:650;color:#203b32}.prose blockquote{border-left:3px solid #bd7d56;padding:8px 20px;margin:25px 0;background:#f0ecdf;font-size:14px}.prose blockquote p{margin:5px 0}.table-wrap{overflow-x:auto;max-width:100%;border:1px solid var(--line);margin:24px 0;border-radius:3px}table{border-collapse:collapse;width:100%;font-size:12px;line-height:1.8;min-width:600px}th{text-align:left;background:#e9ede4;font-weight:600;color:var(--ink);padding:12px 14px;vertical-align:top}td{padding:12px 14px;border-top:1px solid var(--line);vertical-align:top}tr:nth-child(even) td{background:#f3f4ed}td p{margin:0!important}.katex{font-size:1.1em}.katex-display{overflow:auto hidden;padding:10px 4px;max-width:100%}.prose code{font-size:12px;background:#e9ece4;padding:2px 5px;border-radius:3px}.prose pre{overflow:auto}.done{border:1px solid var(--line);color:var(--muted);border-radius:4px;background:transparent;font-size:12px;margin-top:24px;padding:8px 16px}.done.is-done{color:var(--green);background:#e5ede1;border-color:#c5d5be}.reading-progress{height:3px;width:0;background:var(--accent);position:fixed;top:0;left:0;z-index:30}footer{padding:45px 0 70px;font-size:14px}footer>a{float:right;font-size:12px}footer p{font-size:11px;color:var(--muted);max-width:650px;margin-top:20px}dialog{border:1px solid var(--line);border-radius:8px;padding:25px;background:var(--paper);width:min(720px,90vw);color:var(--ink);max-height:82vh;box-shadow:0 20px 100px #14291b22}dialog::backdrop{background:#16302666;backdrop-filter:blur(3px)}.search-top{display:flex;align-items:center;justify-content:space-between;font-size:14px;font-weight:600}.search-top button{background:none;border:0;font-size:25px;color:var(--muted)}#search-input{width:100%;border:1px solid var(--line);border-radius:4px;background:white;margin:15px 0;padding:12px;font-size:14px;color:var(--ink)}#search-results{max-height:52vh;overflow:auto;font-size:12px}#search-results a{display:block;text-decoration:none;border-top:1px solid var(--line);padding:14px 4px}#search-results a strong{display:block;font-size:14px;color:var(--ink)}#search-results a span{color:var(--muted);display:block;margin-top:4px}#search-results mark{background:#e9cdb2;color:inherit}#backtop{position:fixed;bottom:24px;right:24px;border:1px solid var(--line);background:var(--paper);color:var(--green);width:38px;height:38px;border-radius:50%;z-index:10}.focus-mode .sidebar{display:none}.focus-mode main{margin:auto;max-width:1100px}.focus-mode .topbar{border-bottom-color:transparent}#coverage table{font-size:11px}#coverage .prose h2{font-size:24px}
@media(min-width:1600px){main{padding-right:8%;padding-left:8%}}@media(max-width:1050px){.sidebar{width:220px;padding:25px 14px}.topbar{padding:0 24px}main{margin-left:220px;padding:0 5%}.top-actions kbd{display:none}.top-actions button{font-size:11px}.hero h1{font-size:55px}.rank-rail a{margin:0}}@media(max-width:760px){.topbar{height:68px;padding:0 18px}.brand{font-size:15px;gap:8px}.brand-symbol{font-size:30px}.brand small{font-size:8px;letter-spacing:1px}.top-actions{gap:6px}.top-actions button{padding:4px 8px}.top-actions #search-open span,.top-actions #focus,.top-actions #print{display:none}#menu{display:block}.sidebar{display:none;top:68px;width:260px;box-shadow:15px 0 40px #1c332222}.sidebar.open{display:block}main{margin-left:0;padding:0 22px}.hero{padding:40px 0 28px}.hero h1{font-size:49px}.hero-intro{font-size:13px}.hero-equation{padding:14px 17px}.hero-math{font-size:18px}.hero-links{gap:15px;font-size:11px}.hero-links span{width:100%}.map-heading h2{font-size:21px}.map-grid{grid-template-columns:repeat(2,1fr)}.map-node{padding:15px}.map-node strong{font-size:18px}.rank-rail{gap:7px}.rank-rail a{font-size:10px}.explorer{padding:20px;margin:30px 0 40px}.explorer h2{font-size:20px}.explorer-results{grid-template-columns:repeat(2,1fr)}.explorer-result{padding:12px}.explorer-result strong{font-size:13px}.slider-row{gap:12px}.presets{width:100%}.book-divider{display:block}.book-divider p{margin:6px 0}.doc-section{padding:36px 0 26px}.doc-section>h2{font-size:27px;margin:10px 0 24px}.prose{font-size:14px}.prose h3{font-size:19px}.table-wrap{margin:20px -3px;max-width:calc(100% + 6px)}.katex-display{font-size:12px}footer{font-size:13px}html{scroll-padding-top:85px}}
@media print{body{background:white;font-size:11pt;color:black}.topbar,.sidebar,.hero-links,.explorer,.done,dialog,#backtop,.reading-progress{display:none!important}main{margin:0;max-width:none;padding:0}.hero{padding:0 0 20px}.hero h1{font-size:36pt}.hero-equation{background:none}.map-grid{grid-template-columns:repeat(3,1fr)}.map-node{padding:8px}.map-node strong{font-size:13pt}.map-node span{font-size:8pt}.doc-section{padding:24px 0}.doc-section>h2{font-size:23pt}.prose{font-size:10.5pt;line-height:1.8}.prose h3{font-size:14pt;break-after:avoid}.table-wrap{overflow:visible;border:0}table{min-width:0;font-size:8pt;line-height:1.6}td,th{padding:7px;border:1px solid #bbb}tr{break-inside:avoid}.katex-display{overflow:visible;font-size:10pt}.book-divider{margin-top:20px}footer a{display:none}a{color:inherit;text-decoration:none}#coverage{break-before:page}@page{size:A4;margin:17mm 15mm}}

/* Reading revision: lessons stay complete; the first reading is paced. */
html{scroll-behavior:auto;scroll-padding-top:100px}
.js-ready .doc-section{display:none}.js-ready .doc-section.current,.continuous .doc-section{display:block}
body:not([data-current="map"]):not(.continuous) .hero{display:none}
.hero{padding:50px 0 34px}.hero h1{font-size:56px;margin:15px 0 20px}.hero-intro{font-size:15px;line-height:2.15;margin-bottom:25px}
.start-lesson{display:inline-block;text-decoration:none;color:white;background:var(--green);padding:9px 20px;border-radius:4px;font-size:13px}
.quick-link{font-size:12px;margin-left:24px;text-decoration:none}
.reading-hint{font-size:11px;color:var(--muted);padding:13px 0;border-bottom:1px solid var(--line)}
.doc-section{padding-top:38px}.doc-section>h2{font-size:31px;line-height:1.55;margin:13px 0 28px;max-width:860px}
.doc-section .map-grid{margin-bottom:35px}.prose{font-size:16px;line-height:2.15;max-width:920px}.prose p{margin:19px 0}
.prose h3{font-size:22px;margin-top:40px;line-height:1.6;scroll-margin-top:105px}.prose h4{font-size:18px;line-height:1.7;scroll-margin-top:105px}
.prose p.source-note{font-size:11px!important;color:#78877d;line-height:1.7;margin:20px 0 25px;padding-top:7px;border-top:1px dotted #dce2d6}
.prose table{font-size:13px;line-height:1.9}.prose td,.prose th{padding:13px 15px}.prose li{margin:10px 0}
.prose .katex-display{margin:22px 0;padding:13px 5px;line-height:1.3}.katex-display:has(.tag){background:#edf1e7;border-left:3px solid #9cb197;padding:19px 15px;}
.advanced{margin:29px 0;border:1px solid #d4decd;border-radius:4px;background:#f1f4eb;padding:0 20px}
.advanced>summary{font-size:14px;font-weight:600;cursor:pointer;color:var(--green);padding:15px 0;line-height:1.7}
.advanced[open]{padding-bottom:15px}.advanced>summary::marker{color:#779672}
.advanced h3{font-size:20px}.advanced p{font-size:15px}.advanced .advanced{background:#f8faf4}
.chapter-finish{margin-top:35px;border-top:1px solid var(--line);padding-top:15px}.chapter-turn{display:flex;justify-content:space-between;gap:20px;margin:27px 0 5px;font-size:13px}.chapter-turn a{text-decoration:none}.done{margin-top:8px}
.side-note{display:flex;flex-direction:column;gap:15px;font-size:11px;margin:18px 8px}.side-note button{font-size:11px;background:transparent;border:1px solid var(--line);padding:8px 10px;color:var(--green);border-radius:4px;text-align:left}.side-note button:disabled{opacity:.45;cursor:default}.side-note span{color:var(--muted)}
.materials{margin:45px 0 25px;border-top:1px solid var(--line);padding:17px 0;font-size:12px;color:var(--muted)}.materials>summary{cursor:pointer;color:var(--muted);font-size:12px}.materials>.prose{font-size:13px;line-height:1.85;padding-top:22px}.materials h2{font-size:23px}.materials h3{font-size:18px}.materials table{font-size:11px}.materials a{overflow-wrap:anywhere}
.vector-demo{background:#f0f4e9;border:1px solid #d8e1cf;border-radius:4px;padding:22px 25px;margin-bottom:32px}
.vector-demo h3{font-size:17px;margin:0 0 14px}.vector-demo-controls{display:flex;gap:10px;flex-wrap:wrap}.vector-demo-controls button{border:1px solid #c8d5bf;background:transparent;color:var(--green);padding:6px 12px;font-size:12px;border-radius:4px}.vector-demo-controls button[aria-pressed="true"]{background:var(--green);color:white;border-color:var(--green)}
.vector-demo svg{display:block;width:100%;max-width:530px;max-height:260px;margin:16px auto 3px}.vector-demo svg text{font:13px "PingFang SC",sans-serif;fill:#4c6054}.vector-demo p{font-size:13px;line-height:1.9;color:var(--muted);margin:8px 0}
#search-results small{font-size:10px;color:#8b795a;font-weight:400;margin-left:5px}.explorer h3{font-size:23px;margin:8px 0}
@media(max-width:1050px){.top-actions{gap:6px}.top-actions button{padding:6px 9px}.hero h1{font-size:49px}}
@media(max-width:760px){html{scroll-padding-top:84px}.hero{padding:32px 0 25px}.hero h1{font-size:43px}.hero-intro{font-size:13px}.topbar{padding:0 15px}.top-actions button{padding:5px 7px}#reading-mode{display:block;font-size:10px}.brand{font-size:14px}.brand small{font-size:7px}.doc-section{padding-top:25px}.doc-section>h2{font-size:25px;margin-bottom:24px}.prose{font-size:15px;line-height:2.05}.prose h3{font-size:20px;margin-top:32px}.prose h4{font-size:17px}.prose table{font-size:12px}.prose .katex-display{font-size:12px;margin:20px 0;padding:11px 2px}.katex-display:has(.tag){padding:14px 5px}.advanced{padding:0 13px;margin:24px 0}.advanced>summary{font-size:13px}.advanced p{font-size:14px}.chapter-turn{font-size:11px}.materials{margin-top:35px}.reading-hint{font-size:10px;line-height:1.8}.vector-demo{padding:18px 16px}.vector-demo h3{font-size:16px}.vector-demo p{font-size:12px}.map-node span{font-size:10px}.map-node strong{font-size:17px}.map-node{padding:13px}.quick-link{margin-left:18px;font-size:11px}.explorer h3{font-size:20px}}
@media print{.js-ready .doc-section{display:block!important}.hero,.reading-hint,.chapter-finish,.vector-demo-controls,.side-note,.materials:not([open]){display:none!important}.advanced{background:white;border:1px solid #ddd;padding:0 10px;margin:15px 0}.advanced>summary{font-size:10pt;padding:9px 0}.advanced[open]>summary{break-after:avoid}.doc-section{break-before:page;padding-top:0}.doc-section>h2{font-size:22pt}.prose{font-size:10.5pt;line-height:1.8}.prose h3{font-size:14pt;margin-top:20px}.prose .katex-display{font-size:9.5pt;padding:8px 3px;max-width:100%}.katex-display:has(.tag){background:transparent;padding:10px 5px}.prose table{font-size:8.5pt;min-width:0}.prose td,.prose th{padding:6px}.prose p.source-note{font-size:7.5pt!important}.advanced p{font-size:10pt}.materials>.prose{font-size:9pt}.vector-demo{break-inside:avoid;max-height:280px}.vector-demo svg{height:130px}}
.numbered-formula{display:block;scroll-margin-top:110px}.formula-catalog{border:1px solid var(--line);padding:15px 20px;border-radius:4px;background:#f0f3e9;margin:20px 0 32px;font-size:13px}.formula-catalog summary{font-size:14px;cursor:pointer;color:var(--green);font-weight:600}.formula-catalog p{font-size:12px;color:var(--muted)}.formula-catalog h3{font-size:16px;margin:20px 0 8px}.formula-catalog ul{display:grid;grid-template-columns:repeat(2,1fr);gap:7px 22px;padding:0;list-style:none}.formula-catalog a{text-decoration:none;font-size:12px}.formula-catalog b{font-weight:500;color:var(--accent);margin-right:6px}@media(max-width:760px){.formula-catalog ul{grid-template-columns:1fr}.formula-catalog{padding:14px}.formula-catalog summary{font-size:13px}.numbered-formula{scroll-margin-top:90px}}@media print{.printing:not(.continuous) .doc-section:not(.current){display:none!important}.formula-catalog{display:none!important}}
