:root{color-scheme:light;--paper:#f7f4ec;--surface:#fffdf8;--ink:#183149;--muted:#64727c;--line:#d9dedb;--blue:#246d94;--wash:#e9f1f5;--rail:230px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.8 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}a{color:var(--blue);text-underline-offset:4px}button,input{font:inherit}button{cursor:pointer;color:inherit}a,button,summary,input{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid var(--blue);outline-offset:4px}[hidden]{display:none!important}.skip{position:fixed;top:-80px;z-index:100;background:var(--ink);color:white;padding:8px 15px}.skip:focus{top:10px}
.outline{position:fixed;inset:0 auto 0 0;width:var(--rail);overflow:auto;padding:28px 20px;border-right:1px solid var(--line);background:var(--paper)}.chapter-no{font:48px Georgia,serif;color:var(--blue)}.outline p{font-size:13px}.outline a{display:block;text-decoration:none;color:var(--muted);font-size:13px;padding:7px 8px;border-radius:4px}.outline a:hover,.outline a[aria-current]{background:var(--wash);color:var(--blue)}.outline ul{padding-left:14px;list-style:none;border-left:1px solid var(--line);margin:6px 0}.outline summary{cursor:pointer;padding:9px 0;font-size:13px}.outline details+details{border-top:1px solid var(--line)}
.workspace{margin-left:var(--rail)}.masthead{max-width:1200px;margin:auto;padding:35px 40px 15px}.eyebrow{font-size:12px;color:var(--muted);letter-spacing:.08em}h1{font-size:clamp(28px,3vw,42px);line-height:1.35;margin:8px 0 14px}h2{font-size:26px;line-height:1.45;margin:40px 0 17px}h3{font-size:19px;line-height:1.5}.intro{color:var(--muted);max-width:48em}.template-notice{padding:10px 15px;border-left:3px solid #b77939;background:#fbf0da;font-size:13px}.toolbar{position:sticky;top:0;z-index:10;display:flex;gap:25px;padding:0 40px;background:var(--paper);border-bottom:1px solid var(--line)}.toolbar button{border:0;border-bottom:3px solid transparent;background:none;padding:14px 4px;min-height:48px}.toolbar button[aria-selected="true"]{border-color:var(--ink);font-weight:700}main{max-width:1200px;margin:auto;padding:12px 40px 35px}.prose{max-width:46em;margin:auto;line-height:1.95;overflow-wrap:anywhere}.prose p{margin:0 0 20px}.prose .lead{font-size:18px}.aside-note{padding-left:16px;border-left:2px solid #afc9d7;color:#486173;font-size:14px}figure{margin:25px 0 30px}.figure-link{display:block;cursor:zoom-in}.figure-link img{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:4px}figcaption{font-size:13px;color:var(--muted);padding-top:9px;line-height:1.7}details.related{border-block:1px solid var(--line);padding:10px 0;font-size:14px}.related summary{cursor:pointer;font-weight:600}.related p{margin:12px 0}.next-reading{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:22px;border-top:1px solid var(--line);margin-top:35px}
.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.fact{border:1px solid var(--line);background:var(--surface);padding:20px;border-radius:5px}.fact h3{margin-top:0}.fact p{font-size:14px}.fact.wide{grid-column:1/-1}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;vertical-align:top;padding:10px;border-bottom:1px solid var(--line)}.chapter-list{list-style:none;padding:0;display:grid;gap:12px}.chapter-list li{padding:15px 0;border-bottom:1px solid var(--line)}.chapter-list p{margin:5px 0;color:var(--muted);font-size:14px}.chapter-list a{font-size:20px}.section-label{font-size:12px;color:var(--muted)}
.quiz-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.quiz-toolbar button,.question button{background:var(--surface);border:1px solid var(--line);border-radius:4px;padding:8px 13px;font-size:13px;min-height:42px}.quiz-progress{display:flex;gap:15px;align-items:center;font-size:13px;color:var(--muted);margin:18px 0}progress{width:180px;max-width:40%;height:8px;accent-color:var(--blue)}.quiz-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.question{min-width:0;margin:0;padding:20px;border:1px solid var(--line);border-radius:5px;background:var(--surface)}.question legend{font-size:13px;color:var(--blue);padding:0 7px}.question h3{font-size:16px;margin:0 0 16px}.options{display:grid;gap:9px}.option{display:flex;gap:9px;align-items:flex-start;border:1px solid var(--line);padding:10px;border-radius:4px;cursor:pointer;font-size:14px}.option input{margin-top:7px;accent-color:var(--blue)}.option:has(input:checked){background:var(--wash)}.option.correct{border-color:#80a78d;background:#edf6ef}.option.incorrect{border-color:#c28a7b;background:#fff0eb}.feedback{font-size:14px;border-top:1px solid var(--line);padding-top:12px}.storage-note{font-size:13px;color:var(--muted);margin:18px 0}.sources{font-size:13px;color:var(--muted);margin-top:35px}.sources summary{cursor:pointer}.sources li{margin:7px 0}footer{font-size:12px;color:var(--muted);padding:20px 40px;border-top:1px solid var(--line)}
.image-dialog{width:min(1500px,96vw);max-width:96vw;max-height:95vh;padding:0;border:0;border-radius:5px;background:var(--surface)}.image-dialog::backdrop{background:#102033dd}.dialog-bar{position:sticky;top:0;display:flex;justify-content:space-between;gap:15px;padding:10px;background:var(--surface);border-bottom:1px solid var(--line)}.dialog-bar button{padding:7px 12px;background:none;border:1px solid var(--line);border-radius:4px;min-height:40px}.dialog-scroll{overflow:auto;max-height:calc(95vh - 65px)}.dialog-scroll img{display:block;max-width:100%;max-height:calc(95vh - 65px);width:auto;height:auto;margin:auto}.actual-size .dialog-scroll img{max-width:none;max-height:none;margin:0}.noscript{background:#fbf0da;padding:12px;font-size:14px}
@media(max-width:1000px){:root{--rail:0px}.outline{position:relative;width:100%;border-right:0;border-bottom:1px solid var(--line);padding:15px 20px}.outline .chapter-no{font-size:28px}.outline>p{margin:5px 0}.workspace{margin:0}.masthead{padding:22px 20px 10px}.toolbar{padding:0 20px;gap:20px}main{padding:10px 20px 28px}.quick-grid,.quiz-grid{grid-template-columns:1fr}.prose{font-size:16px}.prose h2{font-size:23px}.prose .lead{font-size:17px}footer{padding:18px 20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{body{background:white;color:black}.outline,.toolbar,.skip,.template-notice,.next-reading,footer,.sources{display:none!important}.workspace{margin:0}.masthead,main{padding:0;max-width:none}[data-panel][hidden]{display:block!important}[data-panel="quiz"]{display:none!important}.prose{font-size:11pt;line-height:1.65;max-width:none}.prose h2{font-size:17pt;break-after:avoid}figure,.fact{break-inside:avoid}.figure-link img{max-height:175mm;object-fit:contain}.quick-grid{display:block}.fact{margin:10px 0}.image-dialog{display:none!important}}
/* This chapter uses larger teaching diagrams; prose remains a continuous column. */
.prose{max-width:56em;font-size:17px}.prose table{margin:18px 0 28px;table-layout:fixed}.prose td,.prose th{overflow-wrap:anywhere}.feedback strong,.feedback span{display:block}.fact h2{font-size:20px;margin:0 0 14px}.fact ul{padding-left:20px}.fact li{margin:7px 0}.sources{overflow-wrap:anywhere}.prose figure{margin:34px 0}.outline details p{padding:6px 8px}
.fact a{display:inline-block;max-width:100%}
@media(max-width:1000px){.prose{font-size:16px}.prose table{font-size:13px}td,th{padding:8px 5px}}
@media print{.prose{font-size:11pt}}
