:root{--paper:var(--palette-ffffff,#f4f2eb);--ink:var(--palette-18232d,#152d2c);--muted:var(--palette-566573,#60706c);--line:var(--palette-d0d9e0,#c9d2c9);--green:var(--palette-007fbd,#23664e);--lime:var(--palette-bfe8ff,#dff28c);--orange:var(--palette-006da3,#d36a40);--mono:ui-monospace,SFMono-Regular,Consolas,monospace;--sans:Inter,Arial,Helvetica,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans)}button,a,input,select,textarea{touch-action:manipulation}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--palette-006da3,#d36a40);outline-offset:4px}button:disabled{opacity:.35;cursor:default}.toolbar{height:72px;padding:0 4.3vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:16px}.wordmark{font-weight:800;letter-spacing:-.6px;color:var(--ink);text-decoration:none;font-size:19px}.wordmark span{color:var(--green);padding:0 3px}.tools{display:flex;align-items:center;gap:8px}.tools button,.notes-head button,.dialog-head button{border:0;background:transparent;padding:9px 10px;font-size:13px;color:var(--ink)}.tools button:hover{background:var(--palette-eaf5fc,#e8ece1)}kbd{font:10px var(--mono);border:1px solid var(--line);border-radius:3px;padding:2px 4px;margin-left:4px}#timer{font:12px var(--mono);color:var(--muted)}#slide{min-height:calc(100dvh - 142px);padding:5.2vh 6.5vw 4vh;display:flex;flex-direction:column;justify-content:center}.eyebrow{font:600 12px var(--mono);text-transform:uppercase;letter-spacing:2px;color:var(--green);margin:0 0 20px}.slide-title{font-size:clamp(34px,4.6vw,72px);line-height:1.04;letter-spacing:-2.5px;font-weight:650;margin:0 0 24px;max-width:1000px}.lead{font-size:clamp(19px,2vw,29px);line-height:1.38;max-width:960px;margin:0 0 24px;color:var(--palette-435565,#435752)}.slide-layout{display:grid;grid-template-columns:1fr 1fr;gap:5vw;align-items:center}.slide-layout .slide-title{font-size:clamp(32px,4vw,58px)}.points{margin:20px 0 28px;padding:0;list-style:none}.points li{font-size:clamp(18px,1.7vw,25px);line-height:1.45;padding:12px 0;border-top:1px solid var(--line)}.points li:last-child{border-bottom:1px solid var(--line)}.code-block{margin:0;background:var(--palette-102a43,#142c2b);color:var(--palette-f1f8fd,#eef6eb);padding:30px;border-radius:4px;box-shadow:10px 10px 0 var(--palette-cce8f7,#d8dfd1);overflow:auto;font:clamp(13px,1.25vw,19px)/1.65 var(--mono);white-space:pre;tab-size:2}.code-label{font:11px var(--mono);text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin-bottom:12px}.actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:25px}.primary,.secondary{border:1px solid var(--ink);border-radius:3px;padding:13px 20px;text-decoration:none;font-weight:600;font-size:15px;display:inline-block}.primary{background:var(--ink);color:var(--paper)}.primary:hover{background:var(--green)}.secondary{background:transparent;color:var(--ink)}.prediction{border-left:3px solid var(--green);padding-left:17px;margin-top:26px}.prediction p{font-size:20px;line-height:1.4;margin:0 0 10px}.prediction .prompt-label{font:11px var(--mono);text-transform:uppercase;letter-spacing:1.4px;color:var(--green);margin-bottom:10px}.reveal{background:transparent;border:0;border-bottom:1px solid var(--green);padding:3px 0;font-size:14px;color:var(--green)}.answer{font-size:17px!important;color:var(--green);margin-top:14px!important;max-width:780px}.nav{min-height:70px;border-top:1px solid var(--line);padding:15px 4.3vw;display:flex;align-items:center;justify-content:space-between;position:relative;gap:20px}.nav>div:first-child{display:flex;gap:25px;align-items:center}#section-label{font:12px var(--mono);color:var(--green)}.footer-hint{font-size:12px;color:var(--muted)}.nav-right{display:flex;gap:20px;align-items:center}.nav-right button{border:0;background:transparent;font-size:25px;color:var(--ink);padding:0 10px}#slide-count{font:12px var(--mono)}.progress{position:absolute;height:3px;background:var(--palette-cce8f7,#d8dfd1);bottom:0;left:0;right:0}.progress span{display:block;height:100%;background:var(--green);transition:width .2s}#notes{background:var(--palette-ffffff,#f4f2eb);border-top:2px solid var(--green);padding:24px 6.5vw 30px}#notes[hidden]{display:none}.notes-head{display:flex;justify-content:space-between}.notes-head strong{font-size:18px}#notes-body{columns:2;column-gap:50px;font-size:15px;line-height:1.65}#notes-body p{break-inside:avoid;margin:14px 0}#notes-body a{color:var(--green)}dialog{border:1px solid var(--line);border-radius:6px;background:var(--paper);width:min(850px,90vw);max-height:85vh;color:var(--ink);padding:28px}dialog::backdrop{background:var(--palette-102a4399,#102c2b99)}.dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.dialog-head h2{margin:0;font-size:28px;letter-spacing:-1px}#contents-list{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}#contents-list button{display:flex;text-align:left;gap:12px;padding:13px 0;background:none;border:0;border-top:1px solid var(--line);color:var(--ink);font-size:14px}#contents-list button span{font:12px var(--mono);color:var(--green)}.cover{display:grid;grid-template-columns:1.3fr 1fr;gap:6vw;align-items:center}.cover .slide-title{font-size:clamp(50px,6.2vw,96px);max-width:760px;line-height:.99;letter-spacing:-4px}.cover .lead{font-size:22px;max-width:550px}.cover-topic{font-size:clamp(26px,3vw,45px);letter-spacing:-1.5px;padding:24px 0;border-top:1px solid var(--palette-38627e,#456453);display:flex;align-items:baseline;gap:25px}.cover-topic span{font:12px var(--mono);letter-spacing:0;color:var(--lime)}.cover-graphic{background:var(--ink);color:var(--paper);padding:40px 32px}.cover-graphic .eyebrow{color:var(--lime);margin-bottom:40px}.cover-graphic .footnote{font:12px/1.7 var(--mono);color:var(--palette-bfe8ff,#dff28c);margin:35px 0 0}.meta{font:12px var(--mono);color:var(--muted);margin-top:35px}.agenda{display:grid;grid-template-columns:100px 1fr;gap:0 25px;max-width:950px;margin-top:15px}.agenda>*{padding:17px 0;border-top:1px solid var(--line);font-size:21px;margin:0}.agenda time{font:14px var(--mono);color:var(--green);padding-top:21px}.flow{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin:25px 0}.flow-item{border-top:2px solid var(--green);padding-top:20px}.flow-item b{font:12px var(--mono);color:var(--green)}.flow-item h3{font-size:27px;margin:14px 0 10px;font-weight:500;letter-spacing:-.7px}.flow-item p{font-size:17px;line-height:1.5;color:var(--muted);margin:0}.exercise .slide-title{max-width:1000px}.exercise-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:6vw}.exercise-steps{list-style:none;counter-reset:step;padding:0;margin:0}.exercise-steps li{counter-increment:step;border-top:1px solid var(--line);padding:17px 0;display:flex;gap:22px;font-size:22px;line-height:1.4}.exercise-steps li:before{content:'0' counter(step);font:13px var(--mono);color:var(--green);padding-top:6px}.success{background:var(--palette-eaf5fc,#e8ece1);padding:30px;align-self:start}.success h3{font-size:12px;text-transform:uppercase;letter-spacing:1.5px;margin:0 0 20px;color:var(--green)}.success p{font-size:20px;line-height:1.5}.break-title{font-size:clamp(65px,11vw,160px);font-weight:600;letter-spacing:-7px;margin:0 0 20px}.break .lead{max-width:700px}#print-deck{display:none}@media(max-width:900px){.toolbar{padding:0 20px}.tools{gap:0}.tools button{padding:8px 6px}#timer,.footer-hint{display:none}.slide-layout,.cover,.exercise-grid{grid-template-columns:1fr;gap:28px}#slide{padding:35px 7vw}.cover-graphic{padding:25px}.cover-topic{padding:15px 0}.cover-graphic .eyebrow{margin-bottom:20px}.cover-graphic .footnote{margin-top:20px}.slide-title{letter-spacing:-1.5px}.code-block{font-size:15px;padding:22px}.flow{grid-template-columns:1fr 1fr}.tools kbd{display:none}.cover .slide-title{letter-spacing:-2.5px}.wordmark{font-size:15px}#notes-body{columns:1}}@media(max-width:540px){.toolbar{height:auto;min-height:72px;align-items:start;padding:16px;flex-wrap:wrap}.tools{flex-wrap:wrap}.tools button{font-size:12px}.flow,#contents-list{grid-template-columns:1fr}.nav{padding:14px 20px}.nav-right{gap:6px}.cover .slide-title{font-size:52px}.agenda{grid-template-columns:70px 1fr}.agenda>*{font-size:17px}.prediction p{font-size:18px}}@media print{@page{size:landscape;margin:12mm}body{background:white}.toolbar,#slide,#notes,.nav,dialog{display:none!important}#print-deck{display:block}.print-slide{break-after:page;page-break-after:always;min-height:160mm;padding:8mm}.print-slide:last-child{break-after:auto}.print-slide .slide-title{font-size:32pt}.print-slide .lead{font-size:17pt}.print-slide .points li{font-size:15pt}.print-slide .code-block{font-size:10pt;box-shadow:none;white-space:pre-wrap;color:var(--palette-102a43,#142c2b);background:var(--palette-eaf5fc,#e8ece1);padding:15px}.print-slide .actions,.print-slide .reveal{display:none}.print-slide .answer{display:block!important}.print-slide .slide-layout,.print-slide .cover{grid-template-columns:1fr 1fr}.print-slide .cover .slide-title{font-size:50pt}.print-slide .cover-topic{font-size:22pt}.print-slide .flow{gap:12px}.print-slide .flow-item h3{font-size:18pt}.print-slide .flow-item p{font-size:12pt}.print-slide .exercise-steps li{font-size:16pt}.print-slide .break-title{font-size:80pt}}
/* Keep the six-stage walkthrough readable on laptop and projector viewports. */
#slide[data-kind="flow"]{padding-top:3vh;padding-bottom:3vh}
#slide[data-kind="flow"] .slide-title{font-size:clamp(32px,4vw,58px);margin-bottom:15px}
#slide[data-kind="flow"] .lead{font-size:clamp(18px,1.65vw,24px);margin-bottom:10px}
#slide[data-kind="flow"] .flow{gap:18px 26px;margin:17px 0}
#slide[data-kind="flow"] .flow-item{padding-top:12px}
#slide[data-kind="flow"] .flow-item h3{font-size:23px;margin:9px 0 7px}
#slide[data-kind="flow"] .flow-item p{font-size:15px;line-height:1.45}
#slide[data-kind="flow"] .prediction{margin-top:12px}
#slide[data-kind="flow"] .prediction p{font-size:18px}
#slide[data-kind="flow"] .prediction .prompt-label{font-size:10px}
#slide[data-kind="flow"] .actions{margin-top:16px}
@media (min-width:901px) and (max-height:780px){#slide{padding-top:3vh;padding-bottom:3vh}.slide-title{font-size:clamp(34px,4vw,60px)}.slide-layout .slide-title{font-size:clamp(32px,3.5vw,52px)}.points li{padding:9px 0}.lead{margin-bottom:18px}.prediction{margin-top:18px}.code-block{padding:24px}.actions{margin-top:18px}}
#answer-dialog{max-width:720px;padding:38px}#answer-dialog h2{font-size:29px;line-height:1.25;letter-spacing:-.7px;margin:0 0 22px}#answer-text{font-size:23px;line-height:1.5;color:var(--palette-435565,#435752);margin:0 0 28px}
@media(min-width:901px) and (max-height:780px){#slide[data-kind="flow"]{padding-top:1vh;padding-bottom:1vh}#slide[data-kind="flow"] .flow{margin:12px 0;gap:14px 26px}}
#help-toggle{font-weight:700;color:var(--green);border:1px solid var(--line);border-radius:3px}#slide-help{width:min(860px,94vw);max-height:88dvh;padding:0;overscroll-behavior:contain}.help-header{display:flex;justify-content:space-between;align-items:start;gap:20px;padding:26px 32px 20px;border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:0;z-index:1}.help-header .eyebrow{margin-bottom:10px;font-size:10px}.help-header h2{font-size:27px;line-height:1.2;letter-spacing:-.7px;margin:0}.help-header button{border:1px solid var(--line);border-radius:3px;padding:8px 12px;background:transparent;color:var(--ink)}#help-body{padding:5px 32px 15px}#help-body section{padding:17px 0;border-bottom:1px solid var(--line)}#help-body section:last-child{border:0}#help-body h3{font:600 11px var(--mono);text-transform:uppercase;letter-spacing:1.2px;color:var(--green);margin:0 0 10px}#help-body p,#help-body li{font-size:16px;line-height:1.6;margin:0}#help-body ol{margin:0;padding-left:23px}#help-body li{padding-left:6px;margin-bottom:11px}#help-body li:last-child{margin-bottom:0}#help-body .help-goal p{font-size:19px;font-weight:600}#help-body .help-stop{border-left:3px solid var(--green);padding-left:16px;margin:12px 0}.help-footer{border-top:1px solid var(--line);padding:20px 32px;display:flex;align-items:center;gap:18px}.help-footer span{font-size:12px;color:var(--muted)}@media(max-width:900px){.toolbar{height:auto;min-height:72px;flex-wrap:wrap;padding-top:12px;padding-bottom:12px}.tools{flex-wrap:wrap}.help-header{padding:20px}.help-header h2{font-size:23px}#help-body{padding:5px 20px 12px}.help-footer{padding:18px 20px;flex-wrap:wrap}.footer-hint{display:none}}

.help-footer{flex-wrap:wrap}.help-footer span{flex-basis:100%}.help-footer [hidden]{display:none!important}
