:root{color-scheme:light;--paper:#f4f6f8;--panel:#fff;--ink:#152e43;--muted:#516476;--rule:#b8c6d1;--blue:#165d91;--red:#b7432b;--soft:#e7eef4;--green:#256247;--grid:#dbe3e9}
html[data-theme=dark]{color-scheme:dark;--paper:#121f2a;--panel:#192b39;--ink:#e6edf2;--muted:#b2c4d1;--rule:#486071;--blue:#85c4f0;--red:#ffa387;--soft:#203645;--green:#9bd1b1;--grid:#324958}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:5rem}body{margin:0;background:var(--paper);color:var(--ink);font:1.15rem/1.8 Georgia,'Times New Roman',serif}a{color:var(--blue);text-underline-offset:.18em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}button,input{font:inherit}button{color:var(--ink);background:var(--panel);border:1px solid var(--rule);cursor:pointer;min-height:44px;padding:.45rem .85rem;border-radius:3px;font: .88rem/1.5 ui-monospace,monospace}button:hover{border-color:var(--blue);background:var(--soft)}:focus-visible{outline:3px solid var(--red);outline-offset:4px}.skip{position:absolute;top:-100px;background:var(--panel);z-index:30;padding:.8rem}.skip:focus{top:10px}#progress{height:3px;width:0;position:fixed;top:0;left:0;z-index:20;background:var(--red)}.top{max-width:1050px;margin:auto;padding:1.2rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;font:.87rem/1.5 ui-monospace,monospace}.top a{color:var(--ink);text-decoration:none}.cover{max-width:1000px;margin:1.2rem auto 3rem;padding:1rem 2rem 0;border-top:1px solid var(--rule)}.eyebrow,.section-no,.eq-label{font:.78rem/1.6 ui-monospace,monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}h1{font-size:clamp(2.8rem,6.5vw,5.5rem);line-height:1.08;letter-spacing:-.047em;font-weight:normal;margin:2rem 0 1.75rem}h1 span{display:block;color:var(--blue);font-size:clamp(6.5rem,17vw,12rem);font-weight:bold;line-height:.95;letter-spacing:-.07em;margin:1.3rem 0 1rem}.dek{max-width:690px;font-size:1.35rem;line-height:1.65}.cover-line{display:flex;justify-content:space-between;gap:1rem;margin-top:2.5rem;border-top:3px solid var(--ink);border-bottom:1px solid var(--rule);padding:.7rem 0;font:.8rem/1.5 ui-monospace,monospace;text-transform:uppercase;letter-spacing:.04em}.cover-line span:last-child{color:var(--red)}main{max-width:760px;margin:auto;padding:0 1.5rem 3rem}p{margin:1.25rem 0}.opening{font-size:1.25rem}.opening:first-letter{font-size:3.65rem;line-height:.8;float:left;padding:.16em .12em 0 0;color:var(--blue)}strong{font-weight:700}.ref{font:.76em ui-monospace,monospace;white-space:nowrap;text-decoration:none}section{padding-top:2.3rem;margin-top:1.8rem;border-top:1px solid var(--rule)}.section-no{color:var(--blue);margin:.4rem 0 1rem}h2{font-weight:normal;font-size:clamp(2rem,4vw,2.75rem);letter-spacing:-.025em;line-height:1.2;margin:0 0 1.5rem}h3{font-size:1.45rem;line-height:1.35;margin:2rem 0 .8rem}code{font:.88em/1.6 ui-monospace,monospace;overflow-wrap:anywhere}var{font-family:Georgia,serif}.scope,.insight{font-size:1.03rem;line-height:1.7;background:var(--soft);border-left:3px solid var(--blue);padding:1.15rem 1.35rem;margin:2rem 0}.scope strong{color:var(--blue)}.insight{border-left-color:var(--red);font-size:1.22rem}.contents{font-size:1.04rem;margin:2.5rem 0}.contents ol{padding-left:1.4rem}.contents li{padding:.2rem 0}summary{cursor:pointer;color:var(--blue);min-height:44px;padding:.6rem 0}details[open]>summary{margin-bottom:.6rem}.equation{margin:1.8rem 0;padding:1.4rem 1.5rem;background:var(--panel);border-top:2px solid var(--blue);border-bottom:1px solid var(--rule);font:1.15rem/1.75 ui-monospace,monospace;overflow-wrap:anywhere}.equation span{display:block}.equation strong{color:var(--blue)}.equation .eq-label{margin-bottom:.5rem}.equation.small{font-size:.98rem;line-height:1.9}.fraction-line{padding-left:1rem}.table-wrap{overflow-x:auto;margin:2rem 0}table{width:100%;border-collapse:collapse;font-size:1rem;line-height:1.6}caption{text-align:left;font:.8rem/1.5 ui-monospace,monospace;color:var(--muted);margin-bottom:.9rem}th,td{text-align:left;padding:.8rem .7rem;border-bottom:1px solid var(--rule);vertical-align:top}thead th{font:.78rem/1.5 ui-monospace,monospace;color:var(--muted);text-transform:uppercase}tbody tr.best{background:var(--soft);color:var(--blue);font-weight:bold}.compare table{min-width:620px}.compare small{font:.76rem/1.4 ui-monospace,monospace;color:var(--muted)}.compare tbody th{width:95px}
.lab{margin:2.3rem -4.5rem;padding:1.6rem 1.6rem 1rem;background:var(--panel);border:1px solid var(--rule);border-top:4px solid var(--blue)}.lab figcaption h3{font-weight:normal;font-size:1.9rem;letter-spacing:-.015em;margin:.6rem 0 1.2rem}.lab>label{font:.94rem/1.5 ui-monospace,monospace;display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem}.lab output{color:var(--blue);font-weight:bold;white-space:nowrap}.lab input[type=range]{width:100%;height:38px;accent-color:var(--blue);cursor:pointer;margin:.4rem 0}.presets{display:flex;gap:.5rem;flex-wrap:wrap}.plot-pair{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1rem 0}.plot-pair svg{width:100%;height:auto;display:block;overflow:visible;color:var(--ink)}svg text{font:15px ui-monospace,monospace;fill:var(--muted)}svg .plot-title{fill:var(--ink);font-size:16px}svg .grid{stroke:var(--grid);stroke-width:1}svg .axis{stroke:var(--rule);stroke-width:1}svg .blue-line{fill:none;stroke:var(--blue);stroke-width:3}svg .red-line{fill:none;stroke:var(--red);stroke-width:3}svg .blue-dot{fill:var(--blue);stroke:var(--panel);stroke-width:2}svg .red-dot{fill:var(--red);stroke:var(--panel);stroke-width:2}svg .knee{stroke:var(--muted);stroke-dasharray:3 5;opacity:.7}svg .area{fill:var(--red);fill-opacity:.12}svg .blue-text{fill:var(--blue)}svg .red-text{fill:var(--red)}.readout{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;border-top:1px solid var(--rule);padding:1rem 0}.readout span{display:block;font:.78rem/1.5 ui-monospace,monospace;color:var(--muted);margin-bottom:.5rem}.readout strong{font:1.45rem/1.25 ui-monospace,monospace;color:var(--blue)}.interpretation{font-size:1.07rem;line-height:1.6;margin:.4rem 0 1rem;min-height:3.3em}.fine{font-size:.86rem;color:var(--muted);line-height:1.6;margin:1rem 0 .3rem}.lab fieldset{border:0;padding:0;margin:1rem 0}.lab legend{font:.85rem/1.5 ui-monospace,monospace;margin-bottom:.5rem}.choices{display:flex;flex-wrap:wrap;gap:.6rem}.choices label{border:1px solid var(--rule);padding:.65rem .8rem;cursor:pointer;font:.9rem/1.5 ui-monospace,monospace;min-height:44px}.choices label:has(input:checked){border-color:var(--blue);background:var(--soft);color:var(--blue)}.choices input{accent-color:var(--blue);margin-right:.3rem}.phases{margin:2rem 0}.phases>div{position:relative;border-top:1px solid var(--rule);padding:.3rem 0 1.1rem 3.5rem}.phases h3{font:1.1rem/1.5 ui-monospace,monospace;color:var(--blue);margin:1rem 0 .5rem}.phases p{margin:.8rem 0}.phase-num{position:absolute;left:0;top:1.2rem;color:var(--blue);font:1rem/1 ui-monospace,monospace;border:1px solid var(--rule);width:2.2rem;height:2.2rem;display:grid;place-items:center}.reconstruct{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:.7rem 0;margin:2rem 0}.reconstruct details{border-left:2px solid var(--blue);padding-left:1rem}.next{font-size:1.05rem}.sources{margin-top:3rem;padding-top:2rem;border-top:3px solid var(--ink);font-size:.95rem;line-height:1.7;color:var(--muted)}.sources h2{font-size:1.6rem}.sources ol{padding-left:1.35rem}.sources li{padding:.45rem 0}.sources li:target{background:var(--soft);color:var(--ink)}
@media(max-width:950px){.lab{margin-left:0;margin-right:0}.cover{margin-left:1.5rem;margin-right:1.5rem;padding-left:0;padding-right:0}}
@media(max-width:620px){body{font-size:1.125rem;line-height:1.78}.top{font-size:.74rem;padding:.9rem 1.15rem}.top button{font-size:.8rem}.cover{margin:1rem 1.15rem 2rem}.cover>.eyebrow{font-size:.73rem;max-width:28rem}h1{font-size:2.8rem}h1 span{font-size:7rem}.dek{font-size:1.2rem}.cover-line{font-size:.66rem;gap:.65rem}.cover-line span:last-child{max-width:9rem;text-align:right}main{padding-left:1.15rem;padding-right:1.15rem}.opening{font-size:1.18rem}.lab{padding:1rem .8rem}.lab figcaption h3{font-size:1.65rem}.lab>label{font-size:.83rem}.presets button{font-size:.72rem;padding:.4rem .5rem}.plot-pair{grid-template-columns:1fr;gap:.5rem}.readout{gap:.45rem}.readout span{font-size:.71rem}.readout strong{font-size:1.12rem}.interpretation{font-size:1rem}.equation{padding:1rem;font-size:1rem}.equation.small{font-size:.84rem}.scope,.insight{padding:1rem}.table-wrap:not(.compare) table{font-size:.87rem}.table-wrap:not(.compare) th,.table-wrap:not(.compare) td{padding:.65rem .35rem}.phases>div{padding-left:2.9rem}.choices label{font-size:.8rem}section{padding-top:1.8rem}.fine{font-size:.83rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{.top,#progress,.skip,.presets,input,fieldset,button{display:none}body{background:#fff;color:#000;font-size:11pt}.cover{margin-top:0}h1 span{font-size:65pt}.lab{break-inside:avoid}.sources{font-size:9pt}a{color:inherit}section{break-before:auto}details>*{display:block}}
