:root{--ink:#132437;--muted:#526477;--blue:#174ed0;--line:#dce3ed;--paper:#fff;--soft:#f3f6fb;--nav:#11243a;--accent:#ffca6b}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;font-size:17px;line-height:1.9}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:4px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #e99c22;outline-offset:4px}aside{position:fixed;inset:0 auto 0 0;width:286px;overflow-y:auto;background:var(--nav);color:#fff;padding:30px 20px 22px;z-index:10}.brand{display:flex;align-items:center;gap:12px;color:#fff;font-size:23px;font-weight:700;line-height:1.4;margin:0 0 24px}.brand:hover{text-decoration:none}.brand-mark{display:grid;place-items:center;border:1px solid #7c97b3;width:44px;height:48px;font-family:serif;color:var(--accent);font-size:29px}.brand small{display:block;color:#aebfd3;font-size:12px;letter-spacing:1px;font-weight:400;margin-top:6px}.overview{display:block;color:#dbe7f6;border-bottom:1px solid #32465d;padding:14px 4px 22px;margin-bottom:14px;font-size:14px}.navgroup{border-bottom:1px solid #2d4159;padding:8px 0}.navgroup summary{cursor:pointer;font-size:15px;list-style:none;padding:6px 4px;color:#e8eff9;font-weight:600;display:flex;justify-content:space-between}.navgroup summary span{color:#9eb5ce;font-weight:400}.navgroup summary:before{content:'+';margin-right:9px;color:#96acc7}.navgroup[open] summary:before{content:'−'}.navgroup summary span{margin-left:auto}.navgroup a{display:flex;align-items:baseline;gap:9px;color:#b9cce1;font-size:14px;line-height:1.5;padding:9px 9px;border-radius:4px;overflow-wrap:anywhere}.navgroup a:hover{background:#233d5c;text-decoration:none}.navgroup a[aria-current]{color:#fff;background:#2353b4}.num{font-size:12px;color:#97b2d0;min-width:21px}.sidefoot{font-size:12px;line-height:1.8;color:#9eb5ce;margin:28px 4px}main{margin-left:286px;max-width:1290px;padding:64px clamp(30px,5.5vw,92px) 36px}.eyebrow,.section-label{color:var(--blue);font-size:13px;font-weight:700;letter-spacing:1.5px;line-height:1.6}.eyebrow{padding-top:3px;overflow-wrap:anywhere}h1{font-family:Georgia,"Songti SC","STSong",serif;letter-spacing:-1px;font-size:clamp(38px,4.5vw,66px);line-height:1.22;margin:24px 0 26px;font-weight:650}h1 em{font-style:normal;color:var(--blue)}.lesson-title{font-size:clamp(32px,3.6vw,47px);line-height:1.35;max-width:900px}.deck{font-size:20px;line-height:1.85;color:#405469;margin:0 0 30px;max-width:800px}.facts{display:flex;gap:clamp(24px,5vw,78px);border-block:1px solid var(--line);padding:20px 0;margin:26px 0}.facts div{display:flex;flex-direction:column}.facts strong{font-size:25px;line-height:1.5;letter-spacing:-.5px}.facts span{font-size:14px;color:var(--muted)}.notice{padding:22px 24px;background:#f1f5fc;border-left:3px solid var(--blue);margin:26px 0;font-size:15px;line-height:1.9}.notice p{margin:8px 0}.notice strong{font-size:17px}.notice.compact{padding:15px 20px}.notice code,code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.85em;overflow-wrap:anywhere}.primary{display:inline-flex;align-items:center;gap:40px;color:#fff;background:var(--blue);padding:13px 20px;font-size:16px;margin:0 0 24px}.primary:hover{background:#0c3ea8;text-decoration:none}.primary span{font-size:23px}section{margin-top:52px;padding-top:14px;scroll-margin-top:20px}h2{font-size:28px;line-height:1.5;letter-spacing:-.4px;margin:12px 0 20px}h3{font-size:20px;line-height:1.65;margin:28px 0 12px}p{margin:16px 0}ol,ul{padding-left:27px}li{padding-left:5px;margin:10px 0}.reading-steps li{margin:17px 0}.group-title{margin-top:35px;padding-bottom:10px;border-bottom:2px solid var(--ink)}.lesson-list{margin-bottom:24px}.lesson-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto 20px;gap:12px;align-items:center;color:var(--ink);border-bottom:1px solid var(--line);padding:18px 4px}.lesson-row:hover{background:var(--soft);text-decoration:none}.row-num{align-self:start;padding-top:2px;color:#75879a;font-size:14px;font-family:monospace}.lesson-row b{font-size:17px;line-height:1.65;font-weight:600;display:block}.lesson-row small{display:block;color:var(--muted);font-family:monospace;font-size:13px;overflow-wrap:anywhere;margin-top:3px}.row-arrow{color:var(--blue);font-size:19px}.pill{display:inline-block;background:#edf3ff;border:1px solid #d6e3ff;color:#2450a8;padding:2px 8px;font-size:12px;line-height:1.8;white-space:nowrap}.pill.historical{color:#635f69;background:#f3f2f6;border-color:#dfdce4}.pill.in-progress{color:#805100;background:#fff6df;border-color:#f2dfad}.pill.misc{color:#45596f;background:#eff3f6;border-color:#d8e0e8}.lesson-meta{display:flex;align-items:center;gap:16px;color:var(--muted);font-size:14px;margin-top:20px}.jump{display:flex;flex-wrap:wrap;gap:8px 26px;padding:16px 0;border-block:1px solid var(--line);font-size:15px}.process{border-left:2px solid #dce6f9;padding-left:29px;margin-left:9px}.process li{padding:5px 0 5px 7px}.caption{font-size:14px;color:var(--muted)}.source-meta{background:var(--soft);padding:16px 20px;font-size:14px;line-height:1.8}.source-meta p{margin:5px 0}.source-meta strong{margin-right:8px}.source-meta a{display:inline-block;margin-right:20px;margin-top:9px}.original{border:1px solid var(--line);margin-top:22px}.original summary{padding:16px 20px;cursor:pointer;font-size:16px;font-weight:600;background:#f6f8fc}.original summary span{font-size:13px;color:var(--muted);font-weight:400;display:block;margin-left:17px}.source{margin:0;padding:20px 10px 20px 0;background:#102238;color:#e3edf8;max-height:720px;overflow:auto;font-size:14px;line-height:1.75;white-space:normal;tab-size:2}.source code{font-size:14px;white-space:normal}.source-line{display:grid;grid-template-columns:43px minmax(0,1fr);white-space:pre-wrap;overflow-wrap:anywhere;min-height:24px}.source-line>span:last-child{padding-left:12px;border-left:1px solid #33475e}.line-no{color:#86a0ba;text-align:right;padding-right:9px;font-size:12px;user-select:none}.question{border-top:1px solid var(--line);padding:24px 0 18px}.question h3{margin:10px 0}.question p{font-size:16px}.q-num{font-size:13px;font-weight:700;color:var(--blue);letter-spacing:1px}.answer{background:#f2f6fc;padding:12px 18px;margin-top:18px}.answer summary{cursor:pointer;font-size:15px;color:var(--blue)}.answer p{margin:10px 0 4px}.class-note{font-size:14px;color:#4c6077;padding:16px 20px;border:1px dashed #b7c8dd}.related{display:flex;flex-direction:column;gap:12px}.related a{font-family:monospace;font-size:15px;overflow-wrap:anywhere}.related span{font-family:inherit;color:var(--muted);font-size:14px}.pager{margin:52px 0 20px;border-top:2px solid var(--ink);padding-top:23px;display:flex;justify-content:space-between;gap:25px}.pager a{font-size:16px;max-width:48%}.pager a:last-child{text-align:right}.pager small{display:block;color:var(--muted);font-size:13px;overflow-wrap:anywhere}footer{border-top:1px solid var(--line);margin-top:48px;padding-top:22px;font-size:12px;color:var(--muted);line-height:1.8}.mobile{display:none}.skip{position:fixed;left:300px;top:-70px;padding:10px;background:white;z-index:50}.skip:focus{top:10px}@media(min-width:1600px){main{margin-left:calc(286px + (100vw - 1600px)/2)}}@media(max-width:1050px){aside{width:245px;padding-inline:14px}main{margin-left:245px;padding:42px 28px}.lesson-row{grid-template-columns:28px minmax(0,1fr) auto}.row-arrow{display:none}.lesson-row .pill{font-size:11px}.facts{gap:30px}}@media(max-width:760px){html{scroll-padding-top:80px}.mobile{height:60px;display:flex;justify-content:space-between;align-items:center;padding:0 20px;position:sticky;top:0;background:#fff;border-bottom:1px solid var(--line);z-index:30}.mobile a{color:var(--ink);font-size:20px;font-weight:700}.mobile button{font:inherit;font-size:14px;border:1px solid var(--line);background:#f5f7fa;padding:6px 12px;color:var(--ink)}aside{display:none;inset:60px 0 0 0;width:100%;padding:22px;z-index:25}aside.show{display:block}.brand{display:none}main{margin:0;padding:32px 20px 26px}h1{font-size:39px}.lesson-title{font-size:33px}.deck{font-size:18px}.facts{gap:25px}.facts strong{font-size:21px}.facts span{font-size:12px}.notice{padding:16px 17px;font-size:14px}h2{font-size:25px}h3{font-size:19px}.lesson-row{grid-template-columns:25px minmax(0,1fr);gap:8px;padding:15px 0}.lesson-row .pill{grid-column:2;justify-self:start}.lesson-meta{flex-wrap:wrap;gap:8px}.jump{gap:12px 20px}.source-meta{padding:13px}.source{max-height:560px}.related span{display:block}.skip{left:10px}section{margin-top:38px}body{font-size:17px}.pager small{font-size:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{aside,.mobile,.jump,.pager,.primary,.skip{display:none!important}main{margin:0;padding:0;max-width:none}body{font-size:12pt;line-height:1.7;color:black}h1,.lesson-title{font-size:26pt}h2{font-size:19pt}section{margin-top:22px}.notice,.answer{background:none}.source{max-height:none;color:black;background:white;font-size:10pt}.lesson-row{break-inside:avoid}a{color:black}footer{font-size:9pt}.question{break-inside:avoid}}

/* Full Chinese translations are distinct from authored teaching commentary. */
.download-panel{margin:32px 0;padding:28px;background:#f1f5fa;border:1px solid #d8e2ed;border-radius:12px}.download-panel h2{margin-top:0}.translation-text{font-size:17px;line-height:1.95;color:#26374a;border-left:3px solid #a9bdd1;padding-left:26px;margin:30px 0}.translation-text h3{font-size:25px;margin-top:40px;line-height:1.45}.translation-text h4{font-size:21px;margin-top:32px}.translation-text h5,.translation-text h6{font-size:18px;margin-top:26px}.translation-text pre,.translation-fields pre{white-space:pre;overflow:auto;background:#eef2f6;color:#26374a;padding:18px;border-radius:8px;font-size:13px;line-height:1.65}.translation-text table{display:block;overflow-x:auto;border-collapse:collapse;width:100%;font-size:15px;margin:24px 0}.translation-text th,.translation-text td{border:1px solid #d5dee8;padding:10px 14px;text-align:left;min-width:120px}.translation-text th{background:#edf2f7}.translation-text blockquote{margin:20px 0;padding:1px 18px;border-left:3px solid #b7c8d8;background:#f6f8fa}.translation-text li{margin-bottom:8px}.translation-text a{overflow-wrap:anywhere}.translation-fields{margin:20px 0;font-size:14px}.translation-fields summary{cursor:pointer;color:#486783}.translation-text hr{border:0;border-top:1px solid #d8e2ed;margin:30px 0}@media(max-width:640px){.translation-text{padding-left:14px;font-size:16px}.download-panel{padding:18px}.translation-text h3{font-size:23px}}

/* Bilingual reading: complete content in normal page flow, without collapsed source. */
main.reading-page{max-width:none;margin-left:286px;padding:36px 36px 40px}.reading-page>.deck{max-width:960px}.reading-page #bilingual{margin-top:24px}.reading-page #explanation,.reading-page #questions,.reading-page #scenario{max-width:960px}.parallel-reader{border:1px solid var(--line);margin:24px 0}.parallel-labels,.parallel-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.parallel-labels{background:#163658;color:white;font-size:16px}.parallel-labels strong{padding:13px 22px}.parallel-row{border-bottom:1px solid var(--line)}.parallel-row:last-child{border-bottom:0}.parallel-reader .reading-cell{min-width:0;border:0;padding:16px 22px;margin:0;font-size:17px;line-height:1.9;overflow-wrap:anywhere}.parallel-reader .english{border-left:1px solid var(--line);background:#f6f8fb;color:#35475b}.reading-cell>:first-child+*{margin-top:0}.reading-cell h3,.reading-cell h4,.reading-cell h5,.reading-cell h6{margin-top:12px}.reading-cell pre{max-height:none;font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere}.reading-cell pre code{font-size:inherit}.cell-label{display:none}.reading-cell table{font-size:16px}.document-fields{font-size:14px!important;line-height:1.7}.reading-page .lesson-title{margin-top:16px}.reading-page .deck{margin-bottom:20px}
@media(max-width:1200px){main.reading-page{margin-left:245px;padding:30px 24px}.parallel-labels{display:none}.parallel-row{display:block;border-bottom:3px solid #b7c8dd}.parallel-reader .english{border-left:0;border-top:1px dashed #c6d3e0}.cell-label{display:block;font-size:14px;font-weight:700;color:#315b87;margin-bottom:12px}.parallel-reader .reading-cell{padding:18px 22px}}
@media(max-width:760px){main.reading-page{margin:0;padding:26px 16px}.parallel-reader .reading-cell{padding:16px;font-size:16px}.reading-cell h3{font-size:22px}.reading-cell h4{font-size:20px}}
@media print{main.reading-page{margin:0;padding:0}.parallel-labels{position:static}.parallel-row{break-inside:auto}.reading-cell pre{white-space:pre-wrap}}

/* Beginner teaching lives beside the matching source section, in normal page flow. */
.lesson-grounding>p{max-width:52em}.term-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:26px 0}.term-entry{margin:0;padding:18px 20px;background:#f3f6fa;border-top:2px solid #b5c9df;min-width:0;line-height:1.95;font-size:16px}.term-entry h3{margin:0 0 10px;font-size:18px}.term-entry p{margin:10px 0}.annotation-index{border-left:3px solid #c49b53;padding:14px 22px;margin:25px 0;background:#fffaf0;font-size:16px}.annotation-index ol{margin:10px 0 0}.annotation-index li{margin:7px 0}.teaching-group{padding:24px clamp(18px,4vw,56px) 32px;border-block:1px solid #ddd0b6;background:#fffaf0}.annotation-label{color:#715720;font-size:13px;font-weight:700;letter-spacing:.5px}.teaching-annotation{max-width:54em;margin:22px 0 0;padding:0;scroll-margin-top:80px}.teaching-annotation+.teaching-annotation{padding-top:22px;border-top:1px solid #e8ddc8;margin-top:25px}.teaching-annotation h3{margin:10px 0 15px;font-size:22px;color:#27394c}.teaching-prose{font-size:18px;line-height:2.05;color:#293d51;overflow-wrap:anywhere}.teaching-prose p{margin:16px 0}.teaching-prose p:last-child{margin-bottom:0}.teaching-prose table{border-collapse:collapse;max-width:100%;display:block;overflow:auto;font-size:16px}.teaching-prose th,.teaching-prose td{border:1px solid #ded5c3;padding:10px 14px;text-align:left}.teaching-prose th{background:#f1e9d8}.teaching-prose blockquote{margin:20px 0;border-left:3px solid #c0a16d;padding:1px 20px;background:#f5eddc}.teaching-prose pre{background:#f0ede6;padding:18px;white-space:pre-wrap;font-size:15px;line-height:1.8}.teaching-prose li{margin:10px 0}.teaching-prose a{overflow-wrap:anywhere}.revision-notice{padding:20px 24px;background:#fffaf0;border-left:3px solid #c49b53;margin:26px 0}.revision-notice p{margin:8px 0}
@media(max-width:900px){.term-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:760px){.teaching-group{padding:22px 17px 28px}.teaching-prose{font-size:17px;line-height:2}.teaching-annotation h3{font-size:20px}.term-entry{padding:16px}.annotation-index{padding:13px 16px}.teaching-annotation{scroll-margin-top:84px}}
@media print{.term-grid{display:block}.term-entry{break-inside:avoid;margin:15px 0}.teaching-group{background:none;padding:20px 0}.teaching-prose{font-size:12pt}.teaching-annotation h3{font-size:15pt}}

/* Foundational lessons: long-form teaching, readable before any engineering prerequisites. */
.foundation-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:22px 0}.foundation-card{display:flex;flex-direction:column;gap:10px;padding:22px;border:1px solid #c8d8ed;border-top:3px solid #2353b4;color:#253a50;background:#f4f8ff}.foundation-card:hover{background:#eaf2ff;text-decoration:none}.foundation-card strong{font-size:19px;line-height:1.7}.foundation-card>span:last-child{font-size:16px;line-height:1.8;color:#506479}.foundation-number{font-size:14px;color:#2353b4;font-weight:700}.foundation-transition{border-top:1px solid var(--line);margin-top:38px;padding-top:22px}.foundation-prose{max-width:54em;font-size:18px;line-height:2.1;overflow-wrap:anywhere}.foundation-prose h2{margin:46px 0 20px;font-size:27px;scroll-margin-top:80px}.foundation-prose p{margin:20px 0}.foundation-prose li{margin:14px 0}.foundation-prose pre{padding:20px;background:#edf3fa;border:1px solid #d6e1ef;white-space:pre-wrap;font-size:16px;line-height:1.85;overflow-wrap:anywhere}.foundation-prose pre code{font-size:inherit}.foundation-prose table{display:block;overflow:auto;border-collapse:collapse;font-size:16px;line-height:1.95;margin:25px 0;width:100%}.foundation-prose th,.foundation-prose td{border:1px solid #cddaea;padding:12px 16px;text-align:left;min-width:130px}.foundation-prose th{background:#edf3fa}.foundation-prose blockquote{margin:24px 0;padding:1px 22px;border-left:3px solid #2353b4;background:#f0f5ff}.foundation-toc{max-width:54em;background:#f4f7fb;border-left:3px solid #9bb8db;padding:18px 24px;margin:26px 0;font-size:16px;line-height:1.8}.foundation-toc ol{margin:12px 0 0}.foundation-toc li{margin:8px 0}.foundation-reminder{padding:12px 16px;background:#f3f7fd;border:1px solid #d9e4f2}
@media(max-width:760px){.foundation-list{grid-template-columns:minmax(0,1fr)}.foundation-card{padding:18px}.foundation-prose{font-size:17px}.foundation-prose h2{font-size:24px}.foundation-toc{padding:16px}.foundation-prose pre{padding:16px;font-size:15px}.foundation-prose table{font-size:16px}}
@media print{.foundation-prose{max-width:none;font-size:12pt}.foundation-toc{display:none}.foundation-prose h2{font-size:19pt}}
/* journal home start */
.journal-home{margin:0 0 40px;padding:24px;border:1px solid var(--line);border-top:4px solid var(--blue);background:var(--soft)}.journal-home h2{font-size:26px;margin:10px 0}.journal-home p{margin:10px 0 20px}.journal-home .primary{margin:0}
/* journal home end */
