:root{--paper:#FAFAFB;--ink:#14171F;--muted:#68717B;--line:#D7DCE1;--data:#245EDB;--q:#8B2CDE;--p:#0F766E;--noise:#AA4E08;--loss:#BE123C;--d:#147737;--scale:1;--font:"Avenir Next",Avenir,"Helvetica Neue",Arial,sans-serif}
*{box-sizing:border-box}html,body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font)}body{overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}button:focus-visible,a:focus-visible{outline:2px solid var(--q);outline-offset:4px}a{color:var(--p)}.loading{padding:48px;font-size:26px}.scene{flex-direction:column;width:1280px;height:720px;padding:38px 64px 34px;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(var(--scale));transform-origin:center;display:none;overflow:hidden}.scene.current{display:flex;flex-direction:column}.kicker{margin:0 0 10px;color:var(--p);font-size:14px;font-weight:650;letter-spacing:1.4px;text-transform:uppercase}h1,h2,h3,p{margin:0}h2 sub,h2 sup{line-height:0}h2{font-size:40px;line-height:1.15;letter-spacing:-1px;font-weight:650;max-width:1152px}.content{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:center;padding:22px 0;gap:16px}.content>*{min-width:0;max-width:100%}.columns{display:grid;gap:36px;align-items:center;width:100%;min-width:0}.columns>*{min-width:0;max-width:100%}.lead{font-size:28px;line-height:1.45}.small{font-size:26px;line-height:1.4}.muted{color:var(--muted)}.p,.target{color:var(--p)}.q,.guess{color:var(--q)}.data{color:var(--data)}.noise{color:var(--noise)}.loss{color:var(--loss)}.d{color:var(--d)}.centre{text-align:center}.math{display:inline-block}.math .katex{font-size:1em}.display{display:block;font-size:32px;line-height:1.3}.display .katex-display{margin:.32em 0;text-align:left}.centre .katex-display{text-align:center}.formula-scroll{min-width:0;max-width:100%}.equation-stack{display:flex;flex-direction:column;gap:18px}.caption,figcaption{font-size:22px;line-height:1.35;color:var(--muted)}.callout{font-size:28px;line-height:1.4;margin-top:12px}.result{font-size:44px;line-height:1.2;color:var(--q)}.prompt{font-size:25px;line-height:1.35;min-height:34px;padding-left:15px;border-left:3px solid var(--q);margin-top:10px}.footer{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;color:var(--muted);font-size:11px;line-height:1.35;margin-top:15px}.source{max-width:1030px}.page-number{white-space:nowrap;font-variant-numeric:tabular-nums}.code{font:25px/1.5 "SFMono-Regular",Menlo,Consolas,monospace;white-space:pre;margin:8px 0;background:#F4F6F8;border:1px solid #E1E6EB;border-left:4px solid var(--q);border-radius:10px;padding:14px 22px;max-width:100%;overflow:auto;tab-size:2;color:#1F2328}.code code{font:inherit}.eq-sm .display{font-size:26px}.code-sm .code{font-size:20px;line-height:1.45}.table-sm table{font-size:22px}.table-sm th,.table-sm td{padding:7px 14px}.tok-k{color:#CF222E;font-weight:600}.tok-s{color:#0A3069}.tok-n{color:#0550AE}.tok-c{color:#6E7781;font-style:italic}.tok-f{color:#8250DF}.tok-d{color:#953800;font-weight:600}.scene>header{position:relative}.nb-link{position:absolute;top:-7px;right:0;display:inline-block;font-size:15px;line-height:1;font-weight:650;color:var(--p);background:#0F766E10;border:1px solid #0F766E66;border-radius:999px;padding:6px 14px;text-decoration:none;white-space:nowrap}.nb-link:hover{background:#0F766E24}.scene>header:has(.nb-link) .kicker{padding-right:190px}.kicker .chapter{color:var(--ink)}.pi{font-family:"Times New Roman",Georgia,serif;font-style:italic}.panel li.ov-chapter{list-style:none;margin:14px 0 2px -24px;padding:0;font-weight:650;color:var(--p)}.toc{display:grid;grid-template-columns:1fr 1fr;gap:0 56px;font-size:20px;line-height:1.25}.toc h3{font-size:20px;font-weight:650;color:var(--p);margin:8px 0 2px}.toc ol{list-style:none;margin:0;padding:0}.toc li{padding:2px 0}.toc li.toc-sub{padding:1px 0 1px 22px;font-size:.9em}.toc li.toc-sub a:first-child{color:var(--muted)}.toc a{color:var(--ink);text-decoration:none}.toc a:hover{text-decoration:underline}.toc-flow{display:block;column-count:3;column-gap:44px;font-size:19px}.toc-flow h3{break-after:avoid;margin-top:6px}.toc-flow ol{break-before:avoid}.toc h3 a{color:inherit;text-decoration:none}.part-break{display:flex;flex-direction:column;gap:26px}.pb-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px;font-size:30px;line-height:1.3}.pb-list li{display:flex;align-items:baseline;gap:18px}.pb-list .pb-num{color:var(--p);font-weight:650;min-width:70px;font-variant-numeric:tabular-nums}.pb-list a{color:var(--ink);text-decoration:none}.pb-list a:hover{text-decoration:underline}.pb-grid{list-style:none;margin:4px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:4px 40px;font-size:22px;line-height:1.3}.pb-grid li{display:flex;align-items:baseline;gap:12px}.pb-grid .pb-num{color:var(--p);font-weight:650;min-width:40px;font-variant-numeric:tabular-nums}.pb-grid a{color:var(--ink);text-decoration:none}.pb-grid a:hover{text-decoration:underline}.pb-grid .toc-nb{font-size:14px;font-weight:650;color:var(--p)}.pb-list .toc-nb{font-size:16px;font-weight:650;color:var(--p)}.toc .toc-nb{font-size:14px;font-weight:650;color:var(--p);margin-left:8px;white-space:nowrap}.evidence{margin:0;min-width:0;display:flex;flex-direction:column;gap:10px}.evidence img{width:100%;height:auto;max-height:390px;object-fit:contain;display:block}.image-pair{display:grid;grid-template-columns:1fr 1fr;gap:28px}.image-pair>*{min-width:0;max-width:100%}.diagram-scroll{min-width:0;max-width:100%}.diagram,.plot{display:block;width:100%;height:auto;max-height:400px;font-family:var(--font);overflow:visible}.diagram text,.plot text{font-family:var(--font)}.table-scroll{max-width:100%;min-width:0}table{border-collapse:collapse;width:100%;font-size:25px;line-height:1.35}th{text-align:left;font-weight:650;color:var(--muted);border-bottom:1.5px solid var(--line)}th,td{padding:12px 16px;vertical-align:middle}tbody tr+tr{border-top:1px solid var(--line)}.state-slot{display:grid;min-width:0;max-width:100%}.state-slot>*{grid-area:1/1;min-width:0;max-width:100%}[data-at],[data-only]{transition:opacity .15s ease}.reveal-hidden{visibility:hidden!important;opacity:0!important;pointer-events:none!important}.read-notes{display:none}.controls{position:fixed;z-index:20;bottom:6px;right:20px;display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);opacity:.5}.controls:hover,.controls:focus-within{opacity:1}.controls button,.controls a{color:inherit;background:transparent;border:0;padding:5px;cursor:pointer;text-decoration:none}.controls #position{font-variant-numeric:tabular-nums;margin-right:6px}.panel{position:fixed;z-index:30;right:24px;bottom:44px;background:var(--paper);border:1px solid var(--line);box-shadow:0 12px 50px #14171F16;padding:26px;width:min(600px,calc(100vw - 32px));max-height:82vh;overflow:auto;font-size:18px;line-height:1.5}.panel[hidden]{display:none}.panel h3{font-size:24px;margin-bottom:12px}.panel dt{font-weight:650;color:var(--q);margin-top:14px}.panel dd{margin:5px 0 0}.panel ol{padding-left:24px}.panel li{padding:5px}.panel a{text-decoration:none}.note-source{font-size:15px;word-break:break-word}.optional-label{color:var(--noise)}.reading{overflow:auto}.reading #lecture{max-width:1280px;margin:auto}.reading .scene{position:relative;left:auto;top:auto;transform:none;display:flex;width:100%;height:auto;min-height:720px;overflow:visible;border-bottom:1px solid var(--line)}.reading .content{min-height:450px;flex:none}.reading .read-notes{display:block;border-top:1px solid var(--line);margin-top:24px;padding-top:20px;font-size:18px;line-height:1.55;color:var(--muted)}.read-notes summary{cursor:pointer;font-weight:650;color:var(--ink)}.read-notes dt{font-weight:650;color:var(--q);margin-top:12px}.read-notes dd{margin:4px 0 0}.reading .controls{position:sticky;bottom:0;justify-content:center;opacity:1;background:var(--paper);padding:8px;border-top:1px solid var(--line)}.reading .controls [data-action],.reading .controls #position{display:none}.print{overflow:auto}.print #lecture{width:1280px}.print .scene{position:relative;left:auto;top:auto;transform:none;display:flex;break-after:page}.print .controls,.print .panel{display:none}.print [data-at],.print [data-only]{transition:none}
@media(max-width:760px){.reading .coin-tosses{grid-template-columns:repeat(10,minmax(0,1fr))!important;gap:4px!important}.reading .coin-tosses>div{font-size:22px!important;height:34px!important}.reading .scene{padding:30px 22px;min-height:0}.reading h2{font-size:30px}.reading .kicker{font-size:12px}.reading .content{min-height:0;padding:26px 0}.reading .columns,.reading .image-pair{grid-template-columns:1fr!important;gap:26px}.reading .lead,.reading .small{font-size:21px}.reading .display{font-size:26px}.reading .caption,.reading figcaption{font-size:18px}.reading .prompt{font-size:21px}.reading .formula-scroll,.reading .diagram-scroll,.reading .table-scroll{overflow:auto;max-width:100%}.reading .formula-scroll .display{min-width:max-content}.reading .diagram,.reading .plot{min-width:650px;max-height:none}.reading .diagram-scroll:after{content:"Diagram: scroll sideways to inspect at full size";display:block;font-size:12px;color:var(--muted);margin-top:10px}.reading .code{font-size:17px;padding:10px 12px}.reading .nb-link{position:static;margin-top:10px}.reading .scene>header:has(.nb-link) .kicker{padding-right:0}.reading .toc{grid-template-columns:1fr;font-size:18px}.reading .toc-flow{column-count:1}.reading table{font-size:18px;min-width:540px}.reading .evidence img{max-height:none}.reading .footer{align-items:flex-start}.reading .callout{font-size:23px}.reading .result{font-size:34px}.reading .content,.reading .state-slot,.reading .state-slot>*{min-width:0;max-width:100%}.reading .controls{right:auto;font-size:12px}.reading .pb-list{font-size:21px;gap:10px}.reading .pb-grid{grid-template-columns:1fr;font-size:19px}.reading .part-break{gap:18px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media print{@page{size:1280px 720px;margin:0}html,body{width:1280px;background:var(--paper);overflow:visible!important}.scene,.reading .scene{display:flex!important;position:relative!important;left:auto!important;top:auto!important;transform:none!important;width:1280px!important;height:720px!important;min-height:720px!important;padding:38px 64px 34px!important;overflow:hidden!important;border:0!important;break-after:page}.content,.reading .content{min-height:0!important;flex:1!important}.read-notes,.panel,.controls{display:none!important}.scene{-webkit-print-color-adjust:exact;print-color-adjust:exact}*{transition:none!important}}

/* Live figures (widgets): a figure plus a compact control row; print and PDF show a static state */
.widget{display:flex;flex-direction:column;gap:6px;min-width:0;max-width:100%}
.w-fig{min-width:0}.w-fig svg,.widget>svg,.state-slot svg.wsvg{display:block;width:100%;height:auto;font-family:var(--font);overflow:visible}
.w-controls{display:flex;align-items:center;gap:12px 16px;flex-wrap:wrap;font-size:19px;color:var(--muted)}
.w-controls button{font:inherit;font-size:18px;line-height:1.2;color:var(--q);background:transparent;border:1.5px solid var(--q);border-radius:999px;padding:4px 14px;cursor:pointer;white-space:nowrap}
.w-controls button[aria-pressed="true"]{background:var(--q);color:var(--paper)}
.w-controls input[type=range]{flex:1;min-width:110px;accent-color:var(--q)}
.w-controls label{display:flex;align-items:center;gap:8px;flex:1;min-width:180px}
.w-readout{font-variant-numeric:tabular-nums;white-space:nowrap}
.act-strip{display:flex;gap:8px;flex-wrap:wrap;font-size:16px;line-height:1.2;color:var(--muted)}
.act-strip span{padding:4px 11px;border:1px solid var(--line);border-radius:999px;white-space:nowrap}
.act-strip .done{color:var(--p);border-color:#0F766E66}.act-strip .now{color:var(--paper);background:var(--q);border-color:var(--q);font-weight:650}
@media(max-width:760px){.reading .w-controls{font-size:15px}.reading .w-controls button{font-size:14px;padding:3px 10px}.reading .act-strip{font-size:12px}}
.act-body{display:flex;flex-direction:column;gap:18px;margin:auto 0;min-width:0;max-width:100%}
