@import url('./fonts/fonts.css');
:root{--paper:#FAF6ED;--ink:#14181F;--muted:#59616c;--blue:#2A6FDB;--orange:#E8743B;--line:#D9D3C5}*{box-sizing:border-box}body{margin:0;background:#25282e;color:var(--ink);font-family:'IBM Plex Sans',Arial,sans-serif}#viewport{width:100vw;height:calc(100vh - 58px);display:flex;align-items:center;justify-content:center;overflow:hidden}#stage{width:1600px;height:900px;flex:none;position:relative;transform-origin:center center}.slide{display:none;width:1600px;height:900px;background:var(--paper);padding:55px 76px 45px;position:absolute;inset:0;overflow:hidden}.slide.active{display:flex;flex-direction:column}header{flex:none}h1{font-size:53px;line-height:1.08;letter-spacing:-1.2px;margin:6px 0 17px;max-width:1448px;font-weight:600}h2{font-size:33px;line-height:1.15;font-weight:600;margin:0 0 18px}h3{font-size:29px;margin:0 0 14px}.kicker{font-size:18px;line-height:1.3;letter-spacing:2.1px;text-transform:uppercase;color:var(--blue);font-weight:600;min-height:24px}.kicker:empty{display:none}.subtitle{font-size:28px;line-height:1.3;color:var(--muted);margin:0 0 16px}main{flex:1;min-height:0;display:flex;flex-direction:column;gap:15px;font-size:30px;line-height:1.37}.body p{margin:0 0 15px}.body p:last-child{margin-bottom:0}.body ul,.column ul{margin:0;padding-left:1.05em}.body li,.column li{padding-left:.2em;margin:0 0 16px}.body li:last-child{margin-bottom:0}strong{color:var(--blue);font-weight:600}em{color:#B85020;font-style:normal}code,.mono{font-family:'JetBrains Mono',monospace;font-size:.83em;white-space:pre-wrap}pre{font-family:'JetBrains Mono',monospace;font-size:23px;line-height:1.45;white-space:pre-wrap;background:#EEE9DD;padding:25px}.formula{font-family:'Newsreader',Georgia,serif;font-size:45px;line-height:1.35;text-align:center;margin:25px 0;color:var(--blue)}.big{font-size:43px;line-height:1.25}.small{font-size:24px;line-height:1.35}.muted{color:var(--muted)}.takeaway{border-left:5px solid var(--orange);padding:5px 0 5px 23px;font-size:29px;margin-top:5px!important}.question{font-family:'Newsreader',Georgia,serif;font-size:48px;line-height:1.2;margin:25px 0}.columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:50px;flex:1;min-height:0;align-items:start}.cols-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:35px}.cols-4{grid-template-columns:repeat(4,minmax(0,1fr));gap:30px}.column{min-width:0}.column p{margin:0 0 17px}.column img{max-height:450px;width:100%;object-fit:contain}.layout-columns main{justify-content:center}.layout-text main{justify-content:center}.layout-figure main{gap:8px}.layout-figure .body{flex:none;font-size:27px}.layout-figure figure{flex:1;min-height:0}.layout-figure figure img,.layout-figure figure svg{width:100%;height:100%;object-fit:contain}.layout-figure figure:has(figcaption){display:flex;flex-direction:column}.layout-figure figure:has(figcaption) img{flex:1;min-height:0}.layout-hero h1{font-family:'Newsreader',Georgia,serif;font-size:76px;font-weight:500;max-width:1300px;line-height:1.02;letter-spacing:-1px}.layout-hero main{justify-content:center}.split-content{display:grid;grid-template-columns:1.3fr .7fr;align-items:center;gap:40px;flex:1;min-height:0}.split-content .body{font-size:36px}.split-content figure{height:100%;min-height:0;display:flex;align-items:center}.split-content figure img{width:100%;max-height:560px;object-fit:contain}.layout-split .split-content{grid-template-columns:1.15fr .85fr}.layout-split .body{font-size:29px}figure{margin:0;min-width:0}figcaption{font-size:19px;line-height:1.3;color:var(--muted);margin-top:6px}footer{position:absolute;bottom:24px;left:76px;right:76px;display:flex;justify-content:space-between;color:#727675;font-size:16px;letter-spacing:.3px}table{border-collapse:collapse;width:100%;font-size:26px;line-height:1.32}th{text-align:left;color:var(--blue);font-weight:600;padding:12px 12px;border-bottom:2px solid var(--blue)}td{padding:14px 12px;border-bottom:1px solid var(--line);vertical-align:top}table.compact{font-size:26px}table.compact td,table.compact th{padding:12px}.flow{display:flex;align-items:center;justify-content:space-around;gap:16px;margin:25px 0}.flow>span{flex:1;text-align:center;padding:25px 14px;border-top:4px solid var(--blue);background:#F0EBDD;font-size:29px}.flow>b{color:var(--orange);font-size:40px}#controls{height:58px;display:flex;align-items:center;justify-content:center;gap:9px;font:14px system-ui;color:#fff}button{font:inherit;cursor:pointer;border:1px solid #69717c;background:#353b45;color:#fff;padding:7px 12px;border-radius:5px}button:hover,button:focus-visible{background:#475468;outline:2px solid #E8743B;outline-offset:2px}button[aria-pressed=true]{background:#A34221}#position{width:75px;text-align:center}#annotation{position:absolute;inset:0;z-index:5;pointer-events:none;width:1600px;height:900px;touch-action:none}#annotation.enabled{pointer-events:auto;cursor:crosshair}.speaker-content{display:none}#notesPanel{position:fixed;right:20px;top:20px;width:min(560px,95vw);max-height:85vh;overflow:auto;background:#fffdf7;padding:28px;z-index:20;box-shadow:0 15px 60px #0008;font-size:19px;line-height:1.5;border:3px solid var(--blue)}#notesPanel h2{font-size:27px}#notesPanel a{color:#1B4FA0}.timing{color:#B85020}#overviewPanel{position:fixed;inset:20px 20px 75px;background:#eee9df;padding:25px;overflow:auto;z-index:30;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}#overviewPanel:not([hidden]){display:grid}.thumbnail{height:150px;background:var(--paper);color:var(--ink);font-size:23px;line-height:1.2;text-align:left;padding:18px;border:2px solid var(--line);border-radius:0}.thumbnail small{display:block;color:var(--blue);font-size:15px;margin-bottom:10px}.thumbnail.current{border-color:var(--orange)}#helpPanel{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);max-width:850px;width:85vw;background:#fffdf7;padding:32px;z-index:40;font:21px/1.6 system-ui;border:3px solid var(--orange)}[hidden]{display:none!important}body.fullscreen #viewport{height:100vh}body.fullscreen #controls{position:fixed;bottom:0;width:100%;opacity:0;transition:opacity .2s}body.fullscreen #controls:hover{opacity:1}@media print{@page{size:1600px 900px;margin:0}html,body{background:var(--paper)!important;width:1600px;margin:0;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact}#viewport{display:block;width:1600px;height:auto;overflow:visible}#stage{width:1600px;height:auto;transform:none!important;position:static}.slide,.slide.active{position:relative;display:flex!important;flex-direction:column;width:1600px;height:900px;break-after:page;page-break-after:always;overflow:hidden}.slide:last-of-type{break-after:auto;page-break-after:auto}#controls,#annotation,#notesPanel,#overviewPanel,#helpPanel{display:none!important}a{color:inherit}}

figure img,figure svg{display:block}.layout-hero figure img,.layout-split figure img{mix-blend-mode:multiply}

.body a{color:var(--blue);text-underline-offset:4px}

/* Student-facing course navigation outside the slide canvas. */
#controls .course-return{font:inherit;color:inherit;padding:7px 10px;text-decoration:none;border:1px solid #D9D3C5;border-radius:4px;white-space:nowrap}#controls .course-return:focus-visible{outline:3px solid #2A6FDB;outline-offset:2px}
@media(max-width:780px){#controls{justify-content:flex-start;overflow-x:auto;max-width:100vw;padding:0 10px}#controls>*{flex-shrink:0}}
