:root{font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif;color:#293a36;background:#f8f9f6;font-synthesis:none;--muted:#839086;--border:#dce2d8;--green:#536e50;--orange:#b97643}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.38}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #bca266;outline-offset:3px}button{color:inherit}header{height:72px;margin:0 4%;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit;font-size:14px;font-weight:600}.brand-icon{font-size:30px;color:#69805b}.divider{width:1px;height:15px;background:#cfd8ca;margin:0 7px}.series,.edition{font-size:9px;letter-spacing:1.7px;color:#8c9889;font-weight:400}.edition{display:flex;align-items:center;gap:10px}.edition i,.live-dot{width:6px;height:6px;background:#849872;border-radius:50%;display:inline-block}.edition b{border:1px solid var(--border);padding:5px 7px;border-radius:4px;font-weight:400;letter-spacing:1px}main{max-width:1800px;margin:auto;padding:32px 4% 0}.intro{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:28px}.eyebrow{font-size:9px;letter-spacing:2.3px;color:#8b997e;margin-bottom:12px}h1{margin:0 0 12px;font-size:clamp(29px,3.1vw,44px);font-weight:550;letter-spacing:-1.6px}h1>span{color:#b5985b}.intro p{font-size:12px;color:#82907e;margin:0;line-height:1.8}.intro-note{text-align:right;margin-bottom:4px}.intro-note>span{font-size:12px;letter-spacing:1px}.intro-note em{color:#acb5a2;margin:0 10px;font-style:normal}.intro-note small{display:block;font-size:9px;color:#95a08c;margin-top:12px}.chapters{display:flex;gap:4px;margin:0 0 12px;overflow-x:auto;padding:0 0 5px;scrollbar-width:thin}.chapters button{flex:1;white-space:nowrap;border:1px solid transparent;border-radius:5px;padding:11px 10px;background:none;color:#89967e;font-size:11px}.chapters button span{font-size:9px;margin-right:6px;color:#a4ad9a}.chapters button.active{color:#455d3c;border-color:#d7dfcb;background:#ebf0e3}.chapters button:hover{background:#eff2e9}.workspace{border:1px solid var(--border);border-radius:11px;display:grid;grid-template-columns:minmax(0,1fr) 340px;overflow:hidden;background:#eef0eb}.visual{min-width:0}#scene{height:570px;position:relative;overflow:hidden;touch-action:none;background:#eef0eb}canvas{display:block;width:100%;height:100%}.scene-heading{position:absolute;top:22px;left:22px;z-index:2;display:flex;align-items:center;gap:8px;font-size:11px;pointer-events:none}.scene-heading small{font-size:8px;letter-spacing:1.1px;color:#99a38e;margin-left:8px}.scene-tools{position:absolute;right:18px;top:15px;display:flex;gap:12px;align-items:center;z-index:3;background:#fafcf7dd;border:1px solid #dde3d5;border-radius:5px;padding:6px 10px}.scene-tools label{font-size:10px;display:flex;align-items:center;gap:5px;color:#74866c}.scene-tools input,input[type=checkbox]{accent-color:#75895d}.scene-tools button{border:0;background:none;font-size:19px;color:#718165;padding:0 3px}.scene-context{position:absolute;top:65px;left:22px;display:flex;flex-direction:column;gap:6px;pointer-events:none;max-width:calc(100% - 44px)}.scene-context b{font-size:12px;font-weight:500;color:#5f7456}.scene-context span{font-size:9px;color:#8c9a81;line-height:1.6}.scene-note{position:absolute;bottom:17px;left:22px;font-size:8px;color:#87967c;letter-spacing:.5px;pointer-events:none}.scene-note span{display:block;margin-top:5px;font-size:8px;color:#a0ab94;letter-spacing:0}.compass{position:absolute;right:24px;bottom:18px;display:flex;align-items:center;gap:4px;color:#90a081;font-size:8px}.compass b{font-size:28px;font-weight:300}#labels{position:absolute;inset:0;pointer-events:none}.label{position:absolute;transform:translate(-50%,-100%);display:flex;flex-direction:column;align-items:center;white-space:nowrap;border:0;background:none;padding:0;color:#50634a;font-size:10px;pointer-events:auto;line-height:1.3}.label span{padding:5px 8px;background:#fbfcf7ed;border:1px solid #d7e0cf;border-radius:4px;box-shadow:0 2px 6px #263b2510}.label:after{content:"";height:16px;border-left:1px solid #a6b69a;pointer-events:none}.label:hover span{border-color:#839e71;background:#fff}.label.hot{color:#aa6436}.label.electric{color:#497561}.label.micro{font-size:9px}.transport{height:61px;border-top:1px solid #dce2d6;background:#f9fbf5;display:flex;align-items:center;gap:16px;padding:0 20px}.transport button{border:0;background:none;font-size:20px;color:#778a68;min-width:24px}.transport .play{width:32px;height:32px;border-radius:50%;color:#fff;background:#74885c;font-size:13px}.play-info{display:flex;flex-direction:column;gap:5px}.play-info b{font-size:10px;font-weight:500}.play-info span{font-size:8px;color:#95a38a}.transport .tour{font-size:10px;border:1px solid #dce4d2;border-radius:5px;padding:7px 10px;margin-left:6px}.transport .tour.active{background:#e5ecd8;border-color:#acbe94}.transport-spacer{flex:1}.speed-label{font-size:9px;color:#9caa90;display:flex;align-items:center;gap:6px}select{border:1px solid #dce3d3;background:transparent;padding:5px;border-radius:4px;font-size:10px;color:#74866a}.mode-bar{display:flex;gap:6px;align-items:center;padding:14px 18px;background:#f9fbf5;border-top:1px solid #e5e9de;min-height:58px;flex-wrap:wrap}.mode-label{font-size:9px;color:#9aaa8b;margin-right:8px}.mode-bar button{background:transparent;border:1px solid #dce4d3;border-radius:4px;font-size:10px;color:#8d9b7e;padding:7px 10px}.mode-bar button.active{border-color:#a5b68c;color:#536c43;background:#edf3e3}aside{padding:24px 24px 18px;border-left:1px solid var(--border);background:#fbfcf8;display:flex;flex-direction:column;min-width:0}.aside-top{display:flex;align-items:center;justify-content:space-between;gap:5px}.aside-top>span{font-size:8px;letter-spacing:.9px;color:#95a586}.aside-top button{border:1px solid #dfe7d6;background:none;border-radius:4px;padding:6px 7px;font-size:9px;color:#7e926e;white-space:nowrap}.aside-top button[aria-pressed=true]{background:#e8efdf}aside h2{font-size:23px;line-height:1.5;font-weight:550;margin:20px 0 12px;letter-spacing:-.7px}#chapter-lead{font-size:12px;line-height:1.9;color:#798b70;margin:0 0 15px}.conversion-badge{font-size:11px;color:#aa7240;background:#f5f0e3;border:1px solid #ece1c8;padding:10px 12px;border-radius:5px;line-height:1.7}.explanation{list-style:none;padding:0;margin:20px 0;counter-reset:step;display:flex;flex-direction:column;gap:16px}.explanation li{counter-increment:step;display:grid;grid-template-columns:20px 1fr;column-gap:9px}.explanation li:before{content:"0" counter(step);font-size:9px;color:#98aa86;padding-top:4px;grid-row:1/3}.explanation b{font-size:12px;font-weight:550;color:#5a7050}.explanation p{font-size:11px;line-height:1.85;color:#8a9b7c;margin:5px 0 0}.key-fact{border-top:1px solid #e2e8da;margin-top:auto;padding-top:14px}.key-fact>span{font-size:9px;letter-spacing:1px;color:#9bac8a}.key-fact p{font-size:11px;line-height:1.85;color:#73886a;margin:8px 0 0}.chapter-nav{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #e2e8da;padding-top:14px;margin-top:16px}.chapter-nav button{background:none;border:0;padding:3px 0;font-size:10px;color:#708960}.chapter-nav span{font-size:9px;color:#a0ae94}#speech-status{font-size:9px;color:#a58a53;margin:8px 0 0;line-height:1.7}#waveform-panel{padding:10px 12px;margin:0 0 16px;background:#f0f4e9;border-radius:5px}#waveform-panel[hidden]{display:none}.wave-label{display:flex;justify-content:space-between;font-size:8px;color:#8a9d7b}.wave-axis{fill:none;stroke:#cad6be;stroke-width:1}.wave{fill:none;stroke-width:1.5}.wave.a{stroke:#b97d50}.wave.b{stroke:#729a7a}.wave.c{stroke:#7596a9}#waveform-panel small{font-size:8px;color:#97a889}.energy-strip{margin-top:30px;border:1px solid var(--border);border-radius:9px;padding:24px 28px;background:#fcfdf9}.strip-heading{display:flex;align-items:baseline;gap:17px;flex-wrap:wrap}.strip-heading>span{font-size:9px;letter-spacing:1.5px;color:#97a789}.strip-heading h2{font-size:17px;font-weight:500;margin:0}.strip-heading p{font-size:10px;color:#98a68a;margin:0 0 0 auto}.energy-chain{display:flex;justify-content:space-between;align-items:center;margin:25px 0}.energy-chain>button{display:flex;flex-direction:column;align-items:center;gap:7px;background:none;border:0;padding:7px 10px;border-radius:5px}.energy-chain>button:hover{background:#f0f4e9}.energy-chain i{font-size:26px;line-height:1;font-style:normal;margin-bottom:2px}.gold{color:#bc9b50}.orange{color:#c78047}.cyan{color:#79a3a7}.slate{color:#84918d}.green{color:#779b73}.energy-chain b{font-size:11px;font-weight:500}.energy-chain small{font-size:9px;color:#9bac8d}.energy-chain>span{color:#bac6ad;font-size:16px}.heat-loss{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #e7ecdf;padding-top:14px;color:#96a487;font-size:10px;line-height:1.8}.heat-loss>span:last-child{color:#ac8c57;white-space:nowrap}.dispatch{margin-top:40px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:24px}.section-heading h2,.reading h2{font-size:27px;font-weight:500;letter-spacing:-.8px;margin:0 0 12px}.section-heading p{font-size:11px;color:#929f85;margin:0;line-height:1.8}.battery-option{display:flex;align-items:center;gap:7px;font-size:11px;color:#7d9170;white-space:nowrap}.battery-option small{font-size:8px;background:#eaf0e0;border:1px solid #dae3cd;border-radius:4px;padding:4px 5px}.dispatch-grid{display:grid;grid-template-columns:1fr 1fr .9fr;gap:16px}.reservoir,.controls{border:1px solid var(--border);border-radius:8px;padding:23px;background:#fcfdf9}.reservoir-heading{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#778b67;gap:10px}.tag{font-size:9px;color:#b47a46;background:#f6f0e5;border-radius:4px;padding:4px 7px}.battery .tag{color:#678b63;background:#eef4e7}.reservoir-value{display:flex;align-items:baseline;gap:6px;margin:21px 0 15px}.reservoir-value strong{font-size:40px;font-weight:400;font-variant-numeric:tabular-nums;letter-spacing:-2px;color:#a97a45}.battery .reservoir-value strong{color:#678865}.reservoir-value>span{font-size:9px;color:#a8b29b}.reservoir-value>b{font-size:9px;font-weight:400;margin-left:auto;color:#9caa8d}.meter{height:6px;background:#ecefe5;border-radius:10px;overflow:hidden}.meter>div{height:100%;background:#c69761;width:62%;border-radius:10px;transition:width .3s}.battery .meter>div{width:50%;background:#95ad7b}.reservoir>p{font-size:11px;line-height:1.9;color:#889b7a;min-height:42px;margin:17px 0 12px}.mini-path{font-size:9px;color:#8e9e81;line-height:2}.mini-path>span{color:#abb79d}.text-link{border:0;border-bottom:1px solid #becdb0;background:none;padding:5px 0;font-size:10px;margin-top:14px;color:#7a9169}.control-kicker{display:block;font-size:11px;color:#6c855e;margin-bottom:23px}.controls>label{display:flex;justify-content:space-between;font-size:10px;color:#8f9f80}.controls output{font-variant-numeric:tabular-nums;color:#678359}.controls input[type=range]{display:block;width:100%;height:4px;accent-color:#8b9e72;margin:14px 0 26px;cursor:pointer}.balance-status{font-size:10px;color:#718c61;background:#eef4e5;padding:9px 10px;border-radius:4px}.balance-status.deficit{color:#b66f4c;background:#faf0e7}.controls>small{display:block;font-size:8px;line-height:1.8;color:#a2af94;margin-top:12px}.ledger{display:flex;align-items:center;gap:20px;margin:19px 0 12px;border:1px solid #e0e7d7;border-radius:7px;padding:20px 23px;background:#f0f4e8}.ledger>div{flex:1}.ledger small{display:block;font-size:9px;color:#98a78b;line-height:1.7}.ledger b{font-size:22px;font-weight:450;margin-top:8px;display:block;font-variant-numeric:tabular-nums;color:#768f65}.ledger>span{color:#b7c6a5}.ledger .loss{border-left:1px solid #d9e3cd;padding-left:20px}.ledger .loss b{color:#b49364}.dispatch-footnote{color:#a6b29a;font-size:9px;line-height:1.9;margin:0}.reading{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin:44px 0 28px;padding-top:35px;border-top:1px solid var(--border)}.reading>div>p{font-size:12px;line-height:2.1;color:#889d7b;max-width:540px}.comparison>div{border-left:2px solid #d7b27c;padding:0 0 0 20px;margin-bottom:25px}.comparison>div:last-child{border-color:#9db68b}.comparison span{font-size:11px;color:#8b9d7d}.comparison p{font-size:13px;color:#6c825e;line-height:1.8;margin:7px 0}.comparison small{font-size:10px;color:#a1af93;line-height:1.8}.notes{border-top:1px solid var(--border);padding:20px 0;color:#8ea17e}.notes summary{font-size:11px;cursor:pointer}.notes summary span{float:right;color:#a1b292;font-size:9px}.notes p{font-size:10px;line-height:2;max-width:1000px}.notes ul{font-size:10px;line-height:2.2;padding-left:18px}.notes a{color:#6c875c;text-underline-offset:3px}footer{display:flex;justify-content:space-between;border-top:1px solid var(--border);padding:20px 0 25px;font-size:9px;color:#a8b49b;letter-spacing:.7px}footer i{width:4px;height:4px;background:#97aa80;border-radius:50%;display:inline-block;margin-right:7px}#fallback{position:absolute;inset:40% 10%;font-size:13px;color:#7d926d;line-height:2}
@media(min-width:1550px){#scene{height:640px}.workspace{grid-template-columns:minmax(0,1fr) 360px}aside{padding:29px}.explanation{gap:22px}.chapters button{font-size:12px}}
@media(max-width:1200px){.intro-note{display:none}.workspace{grid-template-columns:minmax(0,1fr) 310px}aside{padding:22px 20px}.scene-heading small{display:none}.chapters button{padding:10px 9px}.mode-label{display:none}.mode-bar{gap:5px}.mode-bar button{padding:7px 8px;font-size:9px}.strip-heading p{display:none}.ledger{gap:12px}.ledger small{font-size:8px}.ledger b{font-size:20px}.dispatch-grid{gap:12px}.reservoir,.controls{padding:19px}.energy-strip{padding:24px}.reading{gap:40px}.section-heading h2,.reading h2{font-size:24px}}
@media(max-width:950px){main{padding:26px 3% 0}header{margin:0 3%}.workspace{grid-template-columns:minmax(0,1fr) 290px}aside{padding:20px 18px}aside h2{font-size:20px}#chapter-lead{font-size:11px}.explanation p{font-size:10px}.scene-heading{left:16px}.scene-tools{right:13px}.scene-context{left:16px}.scene-context span{max-width:340px}.scene-note{left:16px}.mode-bar{padding:12px}.transport{padding:0 14px;gap:10px}.transport .tour{margin-left:0;padding:6px;font-size:9px}.dispatch-grid{grid-template-columns:1fr 1fr}.controls{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:12px 24px}.control-kicker{grid-column:1/-1;margin-bottom:8px}.controls input[type=range]{margin:2px 0 12px;grid-row:3}.controls>label{grid-row:2}.controls>small{margin:0}.ledger{flex-wrap:wrap}.ledger>div{min-width:100px}.ledger .loss{min-width:100%;border-left:0;border-top:1px solid #d9e3cd;padding:13px 0 0;display:flex;align-items:center;justify-content:space-between}.ledger .loss b{margin:0;font-size:17px}.energy-chain>button{padding:6px 4px}.energy-chain b{font-size:10px}.energy-chain small{font-size:8px}}
@media(max-width:740px){header{height:60px}.series,.divider,.edition{display:none}.intro{margin-bottom:20px}h1{font-size:29px}.intro p{font-size:10px}.eyebrow{font-size:8px;letter-spacing:1.8px}.chapters button{flex:0;padding:9px 11px}.workspace{display:flex;flex-direction:column}#scene{height:500px}.scene-heading{font-size:10px}.scene-tools{font-size:9px}.scene-context{top:63px}.scene-context b{font-size:11px}.scene-context span{font-size:8px;max-width:calc(100% - 40px)}aside{border-left:0;border-top:1px solid var(--border);padding:24px}.explanation{gap:15px}.explanation p{font-size:11px}.aside-top>span{font-size:9px}aside h2{font-size:23px;margin:16px 0 9px}.mode-bar{justify-content:center}.mode-bar button{font-size:10px;padding:8px 9px}.energy-strip{margin-top:22px;padding:20px 16px}.strip-heading{gap:9px}.strip-heading h2{font-size:15px}.strip-heading>span{font-size:8px}.energy-chain{display:grid;grid-template-columns:1fr 16px 1fr 16px 1fr;gap:10px;margin:20px 0}.energy-chain>span:nth-of-type(3){display:none}.energy-chain b{font-size:11px}.energy-chain small{font-size:9px}.energy-chain>button{padding:9px 3px}.heat-loss{flex-direction:column;gap:5px;font-size:9px}.section-heading{flex-direction:column;align-items:flex-start}.section-heading h2,.reading h2{font-size:23px}.section-heading p{font-size:10px}.dispatch{margin-top:30px}.dispatch-grid{gap:10px}.reservoir{padding:16px}.reservoir-heading{font-size:10px;flex-wrap:wrap;gap:8px}.tag{font-size:8px}.reservoir-value{gap:4px;flex-wrap:wrap}.reservoir-value strong{font-size:33px}.reservoir-value>span{font-size:8px}.reservoir-value>b{font-size:8px;width:100%;margin-top:4px}.reservoir>p{font-size:10px;min-height:75px}.mini-path{font-size:8px;min-height:32px}.text-link{font-size:9px}.controls{padding:20px}.ledger{padding:16px;gap:12px}.ledger>div{min-width:42%;flex:1}.ledger>span{display:none}.ledger small{font-size:9px}.ledger b{font-size:21px}.dispatch-footnote{font-size:8px}.reading{grid-template-columns:1fr;gap:15px;margin-top:32px;padding-top:26px}.reading>div>p{font-size:11px}.comparison p{font-size:12px}.scene-note{font-size:7px;bottom:15px}.scene-note span{font-size:7px}.transport{height:60px;gap:12px}.transport .tour{margin-left:6px}.speech-status{font-size:9px}.compass{right:17px}footer{font-size:8px;gap:15px}}@media(prefers-reduced-motion:reduce){.meter>div{transition:none}}

.scene-legend{position:absolute;bottom:59px;left:22px;display:flex;gap:13px;align-items:center;font-size:8px;color:#8b9a80;pointer-events:none}.scene-legend>span{display:flex;align-items:center;gap:5px}.scene-legend i{height:2px;width:12px;display:inline-block}.scene-legend .light{background:#bda25e}.scene-legend .hot{background:#cf7a43}.scene-legend .cold{background:#885044}.scene-legend .water{background:#7aa9b5}.scene-legend .electric{background:#659b71}.ledger .loss em{font-style:normal;color:#8b9b7e;margin-left:6px}@media(max-width:740px){.scene-legend{left:16px;gap:10px;font-size:7px}}

.lecture{display:grid;grid-template-columns:1.35fr 1fr;gap:48px;border:1px solid #dce2d8;border-radius:9px;background:#fbfcf8;padding:28px 30px;margin-top:24px}.lecture h2{font-size:21px;font-weight:500;letter-spacing:-.5px;margin:0 0 17px}.lecture-main p{font-size:12px;line-height:2.1;color:#6f8267;margin:0 0 13px}.lecture-main p:last-child{margin-bottom:0}.lecture-observe{border-left:1px solid #e2e8d9;padding-left:27px}.lecture-observe>div>span{font-size:10px;letter-spacing:.6px;color:#9aab87}.lecture-observe p{font-size:11px;line-height:1.95;color:#809470;margin:9px 0 0}.lecture-observe .operating{border-top:1px solid #e2e8d9;padding-top:16px;margin-top:18px}.operating>span{display:flex;align-items:center;gap:6px}.operating i{height:5px;width:5px;border-radius:50%;background:#8aa16d}.lecture-observe>small{display:block;font-size:9px;line-height:1.8;color:#a0af91;margin-top:17px}@media(max-width:950px){.lecture{gap:25px;padding:24px}.lecture-observe{padding-left:22px}}@media(max-width:740px){.lecture{grid-template-columns:1fr;gap:20px;padding:23px 21px;margin-top:20px}.lecture-observe{border-left:0;border-top:1px solid #e2e8d9;padding:20px 0 0}.lecture-main p{font-size:11px}.lecture h2{font-size:20px}.lecture-observe p{font-size:11px}}
