:root{--paper:#f5f3ec;--white:#fffefa;--ink:#222c35;--muted:#65716e;--line:#dcded4;--teal:#187d79;--teal-light:#e6f1e9;--orange:#ce6747;--gold:#b49245;--blue:#5e75a5;--serif:Georgia,'Times New Roman',serif;--sans:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--sans)}button,input,select{font:inherit}button,a,input{touch-action:manipulation}a{color:var(--teal);text-underline-offset:4px}button{cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:4px}button{border:1px solid var(--line);border-radius:6px;background:var(--white);padding:9px 15px;color:var(--ink);font-size:.85rem;font-weight:600;transition:background .15s,border-color .15s}button:hover:not(:disabled){border-color:var(--teal);background:var(--teal-light)}button.primary{background:var(--teal);border-color:var(--teal);color:white}button.primary:hover{background:#11635f}button.subtle{background:transparent}button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:white}h1,h2,h3,p{margin-top:0}h1{font-family:var(--serif);font-size:clamp(2.5rem,4.6vw,4.25rem);font-weight:400;letter-spacing:-.045em;line-height:1.08;margin:20px 0 24px;max-width:850px}h1 em{color:var(--teal);font-style:italic}h2{font:400 clamp(1.7rem,2.5vw,2.3rem)/1.2 var(--serif);letter-spacing:-.025em;margin:0 0 18px}h3{font-size:1.05rem;font-weight:650;line-height:1.4;margin:0 0 12px}p{margin-bottom:18px}strong{font-weight:650}.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:.68rem;font-weight:750;color:var(--muted)}.lead{font-size:1.12rem;line-height:1.7;color:#586560;max-width:750px}.small{font-size:.82rem;color:var(--muted)}.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.85em}.skip-link{position:fixed;top:-60px;left:20px;z-index:99;background:var(--ink);color:white;padding:12px}.skip-link:focus{top:10px}[hidden]{display:none!important}
.sidebar{position:fixed;inset:0 auto 0 0;width:250px;padding:35px 24px;background:#eeeee5;border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:20}.brand{color:var(--ink);text-decoration:none;display:flex;gap:12px;align-items:center;font:700 1rem/1.1 var(--sans);letter-spacing:-.03em}.brand-icon{display:grid;grid-template-columns:repeat(2,9px);gap:4px;transform:rotate(-13deg)}.brand-icon i{width:9px;height:9px;border-radius:2px;background:var(--teal)}.brand-icon i:nth-child(2){background:var(--orange)}.brand-icon i:nth-child(3){background:var(--gold)}.brand-icon i:nth-child(4){background:var(--ink)}.sidebar .edition{font-size:.66rem;color:var(--muted);margin:17px 0 32px;letter-spacing:.08em;text-transform:uppercase}.chapter-nav{display:grid;gap:5px}.chapter-nav a{display:grid;grid-template-columns:25px 1fr 14px;gap:8px;align-items:center;color:#626c66;padding:12px 10px;border-radius:5px;text-decoration:none;font-size:.8rem;line-height:1.45}.chapter-nav a .num{font:11px var(--sans);color:#8b938a}.chapter-nav a.active{background:var(--white);color:var(--ink);box-shadow:0 1px 3px #24372a08}.chapter-nav a.active .num{color:var(--teal)}.chapter-nav a:hover{background:#fffefa90}.nav-done{font-size:.7rem;color:var(--teal)}.progress-box{margin-top:auto;padding-top:30px}.progress-track{height:4px;background:#d9ddd1;border-radius:10px;margin:10px 0;overflow:hidden}.progress-track span{display:block;height:100%;width:0;background:var(--teal);transition:width .3s}.sidebar-bottom{font-size:.7rem;color:var(--muted);padding-top:18px}.sidebar-bottom button{font-size:.69rem;padding:0;border:0;font-weight:400;text-decoration:underline;background:none;margin-top:5px}.shell{margin-left:250px}.topbar{border-bottom:1px solid var(--line);height:70px;display:flex;align-items:center;justify-content:space-between;padding:0 48px;gap:15px}.topbar .wordmark{font:400 1.1rem var(--serif)}.topbar .wordmark span{color:#9ca293;padding:0 7px}.topbar .status{font-size:.7rem;color:var(--muted);display:flex;gap:8px;align-items:center}.live-dot{width:6px;height:6px;background:var(--teal);border-radius:50%}.main{max-width:1190px;margin:auto;padding:42px 48px 55px}.chapter-label{display:flex;align-items:center;gap:12px}.chapter-label .pill{background:var(--teal-light);color:#276a5e;border:1px solid #cbded0;font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;padding:3px 9px;border-radius:20px;font-weight:650}.lesson-section{margin-top:44px}.prose{max-width:760px}.prose ul{padding-left:20px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:30px}.reading-aside{border-left:3px solid var(--gold);padding:5px 0 5px 19px;margin:28px 0;color:#56615a;font-size:.9rem}.reading-aside strong{color:var(--ink)}.formula{background:#ecefe5;padding:17px 20px;border-radius:5px;text-align:center;overflow-x:auto;margin:24px 0;font-size:1.08rem}.formula small{display:block;text-align:left;font:.75rem/1.5 var(--sans);color:var(--muted);margin-top:12px}.insight{padding:20px 23px;background:var(--teal-light);border-left:3px solid var(--teal);font-size:.93rem;margin:24px 0}.insight p:last-child{margin-bottom:0}.experiment{background:var(--white);border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-top:28px;box-shadow:0 6px 24px #263d2d03}.experiment-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding:17px 24px}.experiment-heading h3{margin:0;font-size:.87rem}.experiment-tag{font-size:.63rem;letter-spacing:.1em;color:var(--teal);text-transform:uppercase}.experiment-body{padding:24px}.controls{display:flex;flex-wrap:wrap;gap:15px 24px;align-items:center}.controls.stacked{display:grid;gap:18px}.control{display:grid;gap:6px;min-width:130px;flex:1}.control>label{font-size:.75rem;font-weight:600;display:flex;justify-content:space-between;gap:14px}.control output{color:var(--teal);font-variant-numeric:tabular-nums;font-weight:650}.control input[type=range]{width:100%;accent-color:var(--teal);margin:4px 0;height:20px}.controls select{border:1px solid var(--line);padding:7px 11px;background:white;border-radius:5px;color:var(--ink);max-width:100%}.check-label{display:flex;align-items:center;gap:8px;font-size:.78rem;cursor:pointer}.check-label input{accent-color:var(--teal);width:16px;height:16px}.button-group{display:flex;flex-wrap:wrap;gap:8px}.plot-row{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:20px 0}.plot-row.three{grid-template-columns:1fr 1fr 1fr}.plot{min-width:0}.plot-title{font-size:.7rem;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px;font-weight:650}.plot svg{width:100%;display:block;overflow:visible}.plot-note{font-size:.76rem;color:var(--muted);margin-top:6px;line-height:1.5}.plot svg text{font-family:var(--sans);font-size:10px;fill:var(--muted)}.plot svg .axis-label{font-size:11px;fill:var(--ink)}.plot svg .plot-label{font-size:11px;font-weight:650}.legend{display:flex;flex-wrap:wrap;gap:18px;font-size:.73rem;color:var(--muted);align-items:center;margin:10px 0}.legend span{display:flex;align-items:center;gap:7px}.legend i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--teal)}.legend i.orange{background:var(--orange)}.legend i.blue{background:var(--blue)}.legend i.line{width:16px;height:2px;border-radius:0}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;border-top:1px solid var(--line);padding:19px 24px;background:#fbfbf5}.metric .label{font-size:.66rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.metric .value{font:400 1.6rem/1.4 var(--serif);font-variant-numeric:tabular-nums}.metric .value.small-value{font-size:1.1rem;margin-top:6px}.metric small{font-size:.7rem;color:var(--muted)}.experiment-caption{font-size:.82rem;color:var(--muted);line-height:1.65;padding:17px 24px;border-top:1px solid var(--line);margin:0}.experiment-caption strong{color:var(--ink)}.matrix-controls{display:grid;grid-template-columns:1fr 1fr;gap:10px 24px;max-width:430px}.matrix-display{display:inline-grid;grid-template-columns:1fr 1fr;gap:4px 15px;position:relative;padding:5px 12px;font:14px ui-monospace,monospace;font-variant-numeric:tabular-nums}.matrix-display:before,.matrix-display:after{content:'';position:absolute;top:0;bottom:0;width:5px;border-top:1px solid;border-bottom:1px solid}.matrix-display:before{left:0;border-left:1px solid}.matrix-display:after{right:0;border-right:1px solid}.matrix-display span{text-align:right;min-width:40px}.matrix-equation{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:15px;font-size:.85rem;margin:20px 0}.matrix-block{text-align:center}.matrix-block .matrix-name{font-size:.71rem;color:var(--muted);display:block;margin-top:9px}.pipeline{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-bottom:24px}.pipeline button{padding:10px 4px;font-size:.8rem}.pipeline button small{display:block;font-size:.64rem;color:var(--muted);font-weight:400}.pipeline button[aria-pressed=true] small{color:#c7dbd2}.step-explanation{min-height:75px;font-size:.9rem;max-width:700px;margin:auto;text-align:center}.svd-stage{max-width:600px;margin:auto}.canvas-row{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin:25px 0}.canvas-row figure{margin:0;min-width:0}.canvas-row canvas{width:100%;aspect-ratio:1;display:block;image-rendering:pixelated;border-radius:4px;background:#e8e9df}.canvas-row figcaption{font-size:.73rem;color:var(--muted);margin-top:8px}.spectrum{height:105px;width:100%;display:block}.spectrum text{font:9px var(--sans);fill:var(--muted)}.energy-bar{background:#e2e8dc;height:6px;border-radius:4px;overflow:hidden;margin:10px 0}.energy-bar span{height:100%;background:var(--teal);display:block}.mini-equation{display:flex;align-items:center;gap:10px;font-size:.8rem;color:var(--muted);flex-wrap:wrap}.inline-tag{border:1px solid var(--line);border-radius:4px;padding:2px 7px;font-size:.75rem;color:var(--teal)}.histogram svg{width:100%;height:auto;display:block}.conditional-note{min-height:45px}.score-plot{max-width:100%;overflow:hidden}.score-plot svg{width:100%;height:auto;display:block}.score-plot svg text{font:10px var(--sans);fill:var(--muted)}.source-reveal{border-top:1px dashed var(--line);padding-top:20px;margin-top:22px}.trace-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.trace svg{width:100%;height:auto;display:block}.trace svg text{font:10px var(--sans);fill:var(--muted)}
.quiz{margin-top:40px;padding:27px 29px;border:1px solid #d5d8c7;border-radius:9px;background:#eeeee3}.quiz-top{display:flex;justify-content:space-between;gap:15px;margin-bottom:21px}.quiz-top .eyebrow{color:#687358}.quiz-top .quiz-status{font-size:.7rem;color:var(--teal)}.question+.question{border-top:1px solid #d8dccc;margin-top:27px;padding-top:25px}.question h3{font-size:.96rem;line-height:1.6;font-weight:600;margin-bottom:15px}.quiz-options{display:grid;gap:8px}.quiz-option{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:11px 13px;background:#fffefaad;font-size:.85rem;font-weight:400;line-height:1.5}.quiz-letter{font-size:.68rem;min-width:23px;height:23px;border-radius:50%;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--muted)}.quiz-option.correct{background:#e0edde;border-color:#82aa87;color:#254e38}.quiz-option.wrong{background:#f6e6df;border-color:#d3a28c;color:#754430}.quiz-feedback{margin:13px 0 0;font-size:.82rem;line-height:1.65;padding:12px 15px;border-radius:4px;background:#e5eadb}.quiz-feedback.wrong-feedback{background:#f2e2d7}.quiz-feedback[hidden]{display:none}.quiz-feedback strong{display:block;margin-bottom:3px}.chapter-footer{display:flex;justify-content:space-between;align-items:center;gap:15px;border-top:1px solid var(--line);padding-top:27px;margin-top:45px}.chapter-footer .small{font-size:.74rem}.sources-list{display:grid;gap:0}.source-item{display:grid;grid-template-columns:45px 1fr auto;gap:15px;align-items:start;padding:18px 0;border-top:1px solid var(--line)}.source-item .source-concept{font-size:.68rem;color:var(--teal);padding-top:4px}.source-item p{margin:4px 0 0;font-size:.8rem;color:var(--muted)}.source-item a{font-size:.8rem}.source-author{font-weight:600;font-size:.9rem}.table-wrap{overflow-x:auto}table.comparison{border-collapse:collapse;width:100%;font-size:.84rem}table.comparison th,table.comparison td{padding:15px 14px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}table.comparison thead{background:#e9ede2;font-size:.72rem}table.comparison th:first-child{min-width:125px}table.comparison td{min-width:165px}.glossary{display:grid;grid-template-columns:1fr 1fr;gap:10px 30px;font-size:.85rem}.glossary dt{font-weight:650}.glossary dd{margin:3px 0 14px;color:var(--muted)}details{border-top:1px solid var(--line);padding:17px 0;margin-top:16px}summary{cursor:pointer;font-size:.9rem;font-weight:600}details[open] summary{margin-bottom:17px}.finish-banner{background:var(--ink);color:#fffefa;padding:27px;border-radius:7px;margin:28px 0}.finish-banner h3{font:1.5rem var(--serif)}.finish-banner p{font-size:.87rem;color:#d1d9d1;margin:0}.mobile-progress{display:none}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}mjx-container[display=true]{overflow-x:auto;overflow-y:hidden}noscript{display:block;padding:30px;margin-left:250px;background:#fff3d6}
@media(min-width:1550px){.main{padding-top:55px}.sidebar{width:275px;padding-left:30px;padding-right:30px}.shell{margin-left:275px}}
@media(max-width:1100px){.sidebar{width:215px;padding:28px 17px}.shell{margin-left:215px}.main{padding:32px 28px}.topbar{padding:0 28px}.plot-row{gap:12px}.experiment-body{padding:19px}.plot-row.three{grid-template-columns:1fr 1fr}.plot-row.three .plot:last-child{grid-column:1/-1;max-width:430px;width:100%;margin:auto}.metrics{gap:12px;padding:16px 19px}.two-col{gap:23px}.canvas-row{gap:15px}}
@media(max-width:760px){.sidebar{position:static;width:auto;padding:17px 20px;border-right:0;border-bottom:1px solid var(--line);display:block}.brand{font-size:.9rem}.sidebar .edition,.progress-box,.sidebar-bottom{display:none}.chapter-nav{display:flex;overflow-x:auto;margin:17px -5px 0;padding-bottom:3px;gap:5px;scrollbar-width:thin}.chapter-nav a{white-space:nowrap;display:flex;padding:8px 10px;font-size:.7rem;gap:7px}.chapter-nav a .num{font-size:.65rem}.nav-done{display:none}.shell{margin-left:0}.topbar{height:52px;padding:0 20px}.topbar .wordmark{font-size:.96rem}.topbar .status{font-size:.62rem}.main{padding:28px 20px 35px}.lead{font-size:1rem}h1{font-size:2.8rem;margin:18px 0}.two-col{grid-template-columns:1fr;gap:10px}.lesson-section{margin-top:35px}.experiment-heading{padding:15px 17px}.experiment-body{padding:17px}.experiment-tag{font-size:.58rem}.plot-row{gap:12px}.plot-title{font-size:.59rem;letter-spacing:.07em}.plot-note{font-size:.7rem}.metrics{padding:15px 17px;gap:12px}.metric .label{font-size:.56rem;letter-spacing:.03em}.metric .value{font-size:1.3rem}.metric .value.small-value{font-size:.88rem}.metric small{font-size:.63rem}.quiz{padding:21px 18px;margin-top:30px}.quiz-top{margin-bottom:17px}.question h3{font-size:.9rem}.quiz-option{font-size:.8rem}.matrix-controls{max-width:none;gap:5px 20px}.canvas-row{gap:12px}.canvas-row figcaption{font-size:.63rem}.pipeline{gap:5px}.pipeline button{font-size:.74rem}.pipeline button small{font-size:.58rem}.experiment-caption{padding:15px 17px;font-size:.76rem}.source-item{grid-template-columns:32px 1fr;gap:10px}.source-item>a{grid-column:2}.glossary{grid-template-columns:1fr}.trace-row{grid-template-columns:1fr}.chapter-footer button{font-size:.78rem}.chapter-footer .small{display:none}.formula{padding:15px 10px;font-size:.9rem}.source-author{font-size:.85rem}noscript{margin-left:0}}
@media(max-width:430px){.main{padding-left:14px;padding-right:14px}h1{font-size:2.45rem}.experiment-body{padding:14px}.plot-row{grid-template-columns:1fr}.plot-row.three{grid-template-columns:1fr}.plot-row.three .plot:last-child{grid-column:auto}.plot-row .plot{max-width:410px;width:100%;margin:auto}.canvas-row{gap:9px}.metrics{gap:7px}.topbar .status{max-width:110px;text-align:right;line-height:1.4}.experiment-tag{display:none}.matrix-equation{gap:7px}.matrix-display{font-size:11px;padding:5px 9px;gap:4px 8px}.matrix-display span{min-width:32px}.control{min-width:115px}.quiz-top .quiz-status{font-size:.64rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
.main:focus{outline:none}
.quiz-option.wrong:hover{background:#f6e6df;border-color:#d3a28c}
.quiz-option.correct:hover{background:#e0edde;border-color:#82aa87}
@media(max-width:760px){.controls>.control{flex:1 1 100%;min-width:0;width:100%}.controls select{width:100%;min-width:0}.controls>.check-label{flex-basis:100%}}
.variance-budget{margin-top:23px;border-top:1px solid var(--line);padding-top:20px}.variance-split{height:12px;display:flex;overflow:hidden;border-radius:4px;background:#e2e8dc}.variance-split span:first-child{background:var(--teal)}.variance-split span:last-child{background:var(--orange)}.variance-labels{display:flex;gap:8px 20px;flex-wrap:wrap;font-size:.75rem;margin:9px 0}.variance-labels span:first-child{color:var(--teal)}.variance-labels span:nth-child(2){color:#a64c32}.variance-budget p{margin:9px 0 0}.marginal-plots{margin:23px 0 10px}.marginal-plots+.small{margin-bottom:23px}
@media(max-width:600px){.marginal-plots{grid-template-columns:1fr}}
.button-group button[aria-pressed=true]:hover,.pipeline button[aria-pressed=true]:hover{background:var(--ink);border-color:var(--ink);color:white}
@media(max-width:600px){.score-plot svg text{font-size:21px}}
