:root{color-scheme:dark;--canvas:#09141d;--paper:#11212c;--panel:#192e3a;--ink:#e7f0f3;--muted:#b4c7d2;--rule:#3a5262;--accent:#8edbd4;--accent2:#b8b5ff;--shadow:0 16px 50px #0003}
html[data-theme=light]{color-scheme:light;--canvas:#eef3f2;--paper:#fffefa;--panel:#edf4f2;--ink:#17343d;--muted:#45626b;--rule:#b8ccc9;--accent:#075f62;--accent2:#554383;--shadow:0 12px 40px #1232}
*{box-sizing:border-box}html{background:var(--canvas);scroll-behavior:smooth;scroll-padding-top:5rem;font-size:18px}body{margin:0;color:var(--ink);font-family:Georgia,'Times New Roman','Microsoft YaHei',serif;line-height:1.65}a{color:var(--accent);text-underline-offset:.2em}a:hover{filter:brightness(1.16)}a:focus-visible,button:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.topbar{padding:1rem max(1.2rem,calc((100vw - 1340px)/2));background:var(--paper);border-bottom:1px solid var(--rule);display:flex;gap:1.3rem;flex-wrap:wrap;align-items:center;font:600 .8rem/1.5 system-ui,sans-serif}.topbar .brand{text-decoration:none;color:var(--ink);margin-right:auto}.theme-tools{position:fixed;right:1.2rem;bottom:1.2rem;z-index:20}button,.button{font:600 .82rem/1.4 system-ui,sans-serif;padding:.65rem 1rem;background:var(--panel);border:1px solid var(--rule);border-radius:.55rem;color:var(--accent);cursor:pointer;text-decoration:none;display:inline-block}.theme-tools button{box-shadow:var(--shadow)}button:hover,.button:hover{border-color:var(--accent)}
.page-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:2.6rem;max-width:1380px;margin:auto;padding:2rem 1.5rem 5rem}.sidebar{position:sticky;top:1.5rem;align-self:start;max-height:calc(100vh - 3rem);overflow:auto;font:.78rem/1.45 system-ui,sans-serif}.sidebar h2{font:600 .78rem/1.4 system-ui,sans-serif;text-transform:uppercase;letter-spacing:.06em}.sidebar a{display:block;padding:.45rem .5rem;border-left:2px solid var(--rule);text-decoration:none}.sidebar a:hover{background:var(--panel)}.sidebar .toc a{font-size:.73rem}.reading{min-width:0;max-width:990px}.chapter-header{padding:1.8rem 2rem 2rem;border:1px solid var(--rule);border-top:4px solid var(--accent);background:var(--paper);margin-bottom:2rem;border-radius:.4rem}.eyebrow{font:600 .72rem/1.4 system-ui,sans-serif;text-transform:uppercase;letter-spacing:.12em;color:var(--accent)}h1,h2,h3,h4{line-height:1.22;font-weight:500}h1{font-size:2.25rem;letter-spacing:-.025em;margin:.55rem 0 .6rem}h2{font-size:1.52rem;margin:2.5rem 0 .6rem}h3{font-size:1.15rem;margin:1.7rem 0 .6rem}h4{font-size:1rem}.heading-pair .zh{margin-top:0;color:var(--muted);font-size:.87em}.chapter-header h1.zh{font-size:1.6rem;color:var(--muted)}.chapter-body{background:var(--paper);padding:1.8rem 2rem 2.4rem;border:1px solid var(--rule);border-radius:.4rem}.zh{font-family:'Microsoft YaHei','Noto Serif CJK SC','SimSun',serif;font-size:.94em}p{margin:.6rem 0 1rem}.lang-pair>p.zh{margin-top:-.65rem;color:var(--muted)}.lang-pair{margin-bottom:.6rem}.lang-pair p:empty{display:none}.callout,.scope,.assumptions,.worked,.audit,.warning{padding:.9rem 1.2rem;margin:1.1rem 0;background:var(--panel);border-left:3px solid var(--accent);border-radius:.2rem}.warning{border-color:#ffb38e}.symbols{font:.8rem/1.55 system-ui,sans-serif;background:var(--panel);padding:.85rem 1rem;margin-bottom:.6rem;border-radius:.4rem}.symbols .zh{font-size:.95em}.equation-unit{margin:1.5rem 0 1.7rem;border-top:1px solid var(--rule);padding-top:1rem}.equation-heading{font:.7rem/1.5 system-ui,sans-serif;color:var(--accent);text-transform:uppercase;letter-spacing:.035em}.math-display{overflow-x:auto;padding:.65rem .4rem;font-size:1.06rem}.katex-display{margin:.5em 0}.katex-display>.katex{text-align:left}.katex .base{white-space:nowrap}.formula-figure{margin:.55rem 0 0;border:1px solid var(--rule);border-radius:.4rem;overflow:hidden;background:var(--panel)}.formula-figure img{display:block;width:100%;height:auto}.formula-figure figcaption{padding:.7rem .95rem;font-size:.78rem;line-height:1.45}.formula-figure figcaption .lang-pair{margin:0}.formula-figure figcaption p{margin:.1rem 0 .7rem}.formula-figure figcaption p.zh{margin:0;color:var(--muted)}html[data-theme=light] .formula-figure img{filter:invert(1) hue-rotate(180deg)}
.table-wrap{overflow:auto;margin:1.3rem 0}table{width:100%;border-collapse:collapse;font:.8rem/1.45 system-ui,sans-serif}th,td{text-align:left;vertical-align:top;border:1px solid var(--rule);padding:.6rem .7rem}th{background:var(--panel)}td .lang-pair,th .lang-pair{margin:0}td p,th p{margin:.15rem 0 .6rem}ul,ol{padding-left:1.4rem}li{padding:.1rem 0}.keyword{font-weight:600;border-radius:.22rem;padding:.04em .17em;box-decoration-break:clone}.citation{font:600 .75em system-ui,sans-serif;white-space:nowrap}
.course-map{margin:0 0 2.2rem;padding:1.1rem 1.5rem 1.2rem;background:var(--paper);border:1px solid var(--accent);border-radius:.6rem}.course-map h2{margin-top:.5rem}.course-map th:first-child{width:24%}.course-map th:nth-child(2){width:39%}.unit-map{margin:1.2rem 0}.unit-map table{font-size:.73rem}.unit-map th:first-child{width:25%}.unit-map th:nth-child(2){width:37%}.unit-map th{font-size:.71rem}
.defense{margin-top:2rem;padding:1rem 1.3rem;border:1px solid var(--rule);border-radius:.55rem;background:var(--panel)}.defense h3{margin-top:.45rem}.defense label{display:block;font:.8rem/1.4 system-ui,sans-serif;color:var(--muted);margin:.65rem 0}.defense textarea{width:100%;resize:vertical;min-height:8rem;padding:.8rem;font:1rem/1.5 system-ui,sans-serif;border:1px solid var(--rule);border-radius:.45rem;background:var(--paper);color:var(--ink)}details.answer{margin:1rem 0 .4rem;border:1px solid var(--rule);border-radius:.45rem;padding:.7rem .85rem;background:var(--paper)}summary{cursor:pointer;color:var(--accent);font:600 .82rem/1.5 system-ui,sans-serif}.answer[open] summary{border-bottom:1px solid var(--rule);padding-bottom:.7rem;margin-bottom:1rem}.answer .equation-unit{font-size:.9em}.submission-panel{margin:2rem 0 0;padding:1.2rem;border:1px solid var(--accent);border-radius:.5rem;background:var(--panel)}.submission-panel .actions{display:flex;gap:.6rem;flex-wrap:wrap}.save-status{display:block;font:.75rem/1.5 system-ui,sans-serif;color:var(--muted);margin-top:.7rem}.progress-badge{display:inline-block;font:600 .75rem/1.3 system-ui,sans-serif;border:1px solid var(--rule);border-radius:1rem;padding:.35rem .7rem;color:var(--muted)}.progress-badge[data-status=mastered]{color:var(--accent);border-color:var(--accent)}.chapter-navigation{display:flex;justify-content:space-between;gap:1rem;margin-top:1.5rem}.chapter-navigation a{font:.8rem/1.5 system-ui,sans-serif;max-width:48%}.site-footer{max-width:1280px;margin:auto;padding:1.5rem 2rem 4rem;color:var(--muted);font-size:.75rem;border-top:1px solid var(--rule)}.home{max-width:1220px;margin:auto;padding:3rem 1.5rem 5rem}.hero{max-width:910px;margin:0 auto 2.3rem}.hero h1{font-size:3.1rem}.hero h1.zh{font-size:2rem;color:var(--muted)}.hero .lead{font-size:1.1rem}.chain{padding:1rem 1.4rem;background:var(--panel);border:1px solid var(--rule);border-radius:.5rem;margin:1.8rem 0}.chapter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem}.chapter-card{padding:1.35rem 1.5rem;background:var(--paper);border:1px solid var(--rule);border-radius:.6rem;box-shadow:var(--shadow)}.chapter-card h2{margin:.4rem 0 .75rem;font-size:1.3rem}.chapter-card h2 a{text-decoration:none;color:var(--ink)}.chapter-card h2.zh{font-size:1.08rem;color:var(--muted)}.chapter-card:last-child{grid-column:1/-1}.card-number{font:600 .7rem/1.3 system-ui,sans-serif;color:var(--accent);letter-spacing:.09em}.resource-nav{display:flex;gap:.7rem;flex-wrap:wrap;margin:1.5rem 0}.reference-content{max-width:1020px;margin:auto;padding:2rem 1.5rem 5rem}.reference-content>main{background:var(--paper);padding:1.5rem 2rem;border:1px solid var(--rule)}pre{overflow:auto;background:var(--panel);padding:1rem;border-radius:.4rem;font:.8rem/1.5 monospace}code{font-size:.85em}.source-list li{margin-bottom:1.7rem}
@media(max-width:1060px){.page-layout{grid-template-columns:180px minmax(0,1fr);gap:1.2rem;padding:1.2rem}.chapter-body,.chapter-header{padding:1.4rem}.math-display{font-size:.92rem}}
@media(max-width:760px){html{font-size:16px}.page-layout{display:block;padding:.9rem}.sidebar{position:static;max-height:none;margin-bottom:1.2rem}.sidebar .toc{display:none}.sidebar nav:not(.toc){display:flex;flex-wrap:wrap;gap:.2rem}.sidebar a{padding:.35rem .45rem;border-left:none;border-bottom:1px solid var(--rule)}.chapter-body,.chapter-header{padding:1rem}.chapter-grid{grid-template-columns:1fr}.chapter-card:last-child{grid-column:auto}.hero h1{font-size:2.35rem}.hero h1.zh{font-size:1.6rem}.theme-tools{right:.6rem;bottom:.6rem}.symbols{font-size:.76rem}.defense{padding:.8rem}.topbar{padding:.85rem 1rem;gap:.8rem}.reference-content>main{padding:1rem}}
@media print{:root,html[data-theme=dark]{color-scheme:light;--ink:#132b34;--muted:#405861;--paper:#fff;--panel:#f0f4f4;--rule:#bbb;--accent:#075f62;--canvas:#fff}html{font-size:10pt}body{background:#fff}.topbar,.sidebar,.theme-tools,.submission-panel,.chapter-navigation,textarea,.defense label{display:none}.page-layout,.home{display:block;padding:0;max-width:none}.reading{max-width:none}.chapter-header,.chapter-body{border:0;padding:0}.formula-figure img{filter:invert(1) hue-rotate(180deg)}.formula-figure{break-inside:avoid}.equation-unit{break-inside:auto}.chapter-grid{display:block}.chapter-card{box-shadow:none;margin-bottom:1rem}.defense{break-inside:auto}.answer{display:block}.site-footer{padding:1rem 0}.reference-content{padding:0}.reference-content>main{border:0;padding:0}}
/* Equation titles share a line: English / Chinese, with natural narrow-screen wrapping. */
.equation-heading.inline-pair > p,
.equation-heading.inline-pair > p.zh { display: inline; margin: 0; font-size: 1em; color: inherit; }
.equation-heading.inline-pair > p.zh { font-family: 'Microsoft YaHei', system-ui, sans-serif; }

/* Keep each symbol and its SI unit readable in the individual glossary rows. */
.symbol-glossary .symbol-cell { white-space: nowrap; }
.symbol-glossary td:nth-child(3) { white-space: nowrap; }

/* One definition per cell; the collapsed center border spans every row. */
.symbol-panel-heading p { margin: .15rem 0 .8rem; }
.symbol-table-scroll { overflow-x: auto; }
.symbol-definitions { table-layout: fixed; margin: .3rem 0 .75rem; }
.symbol-definitions td { width: 50%; border: 0; padding: .65rem .9rem .65rem 0; overflow-wrap: anywhere; }
.symbol-definitions td + td { border-left: 2px solid var(--rule); padding-left: .9rem; padding-right: 0; }
.symbol-definitions .katex { font-size: 1.1em; }
.symbol-definitions p { margin: .1rem 0 .65rem; }
.symbol-definitions .lang-pair > p.zh { margin-top: -.35rem; }
.symbol-conventions { border-top: 1px solid var(--rule); padding-top: .7rem; font-size: .95em; }
.symbol-conventions p { margin: .2rem 0 .75rem; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.unit-resources { font-size: .9rem; margin: .8rem 0 1.2rem; }
.unit-resources .lang-pair { margin: 0; }
.unit-resources p { margin: .2rem 0; }
.unit-study { border-top: 1px solid var(--rule); margin-top: 2rem; padding-top: .5rem; }
@media(max-width:600px) {
  .symbol-definitions tbody { display: block; border-left: 2px solid var(--rule); }
  .symbol-definitions tr { display: contents; }
  .symbol-definitions td, .symbol-definitions td + td { display: block; width: 100%; border: 0; padding: .6rem 0 .6rem .8rem; }
  .symbol-definitions .symbol-placeholder { display: none; }
}

/* Compact forms: tight rows, no overlap (owner request 2026-10-18). */
.table-wrap { margin: .7rem 0; }
table { line-height: 1.3; }
th, td { padding: .16rem .5rem; }
td p, th p { margin: 0; }
.symbol-panel-heading p { margin: .1rem 0 .3rem; }
.symbol-definitions { margin: .1rem 0 .35rem; }
.symbol-definitions td { padding: .14rem .8rem .14rem 0; line-height: 1.3; }
.symbol-definitions td + td { padding-left: .8rem; }
.symbol-definitions p { margin: 0; }
.symbol-definitions .lang-pair > p.zh { margin-top: 0; }
.symbol-conventions { padding-top: .35rem; }
.symbol-conventions p { margin: .1rem 0 .3rem; }
.symbol-glossary td, .symbol-glossary th { padding: .12rem .5rem; }
.course-map th, .course-map td { padding: .2rem .5rem; }
@media(max-width:600px) {
  .symbol-definitions td, .symbol-definitions td + td { padding: .15rem 0 .15rem .7rem; }
}
td .lang-pair > p.zh, th .lang-pair > p.zh,
.symbol-conventions.lang-pair > p.zh, .symbol-panel-heading.lang-pair > p.zh,
.symbol-definitions .lang-pair > p.zh { margin-top: 0; }
