@font-face{font-family:DM;src:url(./assets/fonts/dm-sans.woff2)}@font-face{font-family:DM;src:url(./assets/fonts/dm-sans-semibold.woff2);font-weight:600 900}
@font-face{font-family:Barlow;src:url(./assets/fonts/barlow-condensed.woff2);font-weight:600}
:root{--ink:#193630;--muted:#50645d;--line:#cbd3c9;--paper:#fbfcf7;--green:#226749;--lime:#d8ef9e;--blue:#1058c6;--mono:ui-monospace,Menlo,monospace}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.5 DM,Arial,sans-serif;-webkit-font-smoothing:antialiased}
button,summary,input,a{touch-action:manipulation}button,input{font:inherit}button,summary{cursor:pointer}button{color:inherit}button:focus-visible,input:focus-visible,summary:focus-visible,a:focus-visible,#model:focus-visible{outline:3px solid #2a7eaf;outline-offset:3px}
.brandbar{height:62px;background:#17332d;color:#f4f7ed}.brandinner,main{width:min(1510px,100%);margin:0 auto;padding:0 clamp(20px,4vw,65px)}
.brandinner,.brand,.modelname{display:flex;align-items:center}.brandinner{height:100%;justify-content:space-between}.brand{gap:12px}.brand img{width:31px;height:31px}.brand strong{font-size:22px;letter-spacing:-.9px}.brand i{display:block;height:20px;border-left:1px solid #547164;margin:0 3px}.brand span{font-size:13px;color:#ccdbcf}.modelname{font:12px var(--mono);gap:9px;letter-spacing:.2px}.modelmark{width:13px;height:14px;background:#cbe3a6;clip-path:polygon(50% 0,98% 25%,98% 75%,50% 100%,2% 75%,2% 25%);position:relative}.modelmark:after{content:'';position:absolute;inset:2px;clip-path:inherit;background:#17332d}
.pageheading{display:flex;align-items:end;justify-content:space-between;gap:30px;padding:32px 0 26px}.eyebrow,.sectionnum,.stagecaption{font:600 10px/1.3 var(--mono);letter-spacing:1.6px}.eyebrow{color:#536b5a;display:flex;align-items:center;gap:10px}.eyebrow span{width:28px;height:2px;background:#78a856}
h1{font:600 clamp(52px,5.1vw,78px)/1 Barlow,'Arial Narrow',sans-serif;letter-spacing:-1.6px;margin:8px 0 0}.pageheading>p{margin:0 0 4px;max-width:360px;color:var(--muted);line-height:1.5}
#chapters{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:17px}#chapters button{border:0;border-bottom:3px solid transparent;background:transparent;display:flex;align-items:center;justify-content:center;gap:11px;padding:12px 22px 13px;font-weight:600;color:#67736d}#chapters button:first-child{padding-left:12px}#chapters button:hover{background:#edf2e9}#chapters button[aria-current]{color:var(--ink);border-color:var(--green)}.tabnum{font:10px var(--mono);padding:3px 5px;border:1px solid #c4ccc1;border-radius:3px;color:#627063}#chapters button[aria-current] .tabnum{color:#234030;background:var(--lime);border-color:#bacc99}
.workspace{display:grid;grid-template-columns:minmax(0,1.95fr) minmax(310px,.95fr);gap:16px;align-items:stretch}.viewport,.workbench{border:1px solid var(--line);border-radius:8px;overflow:hidden}
.viewport{position:relative;background:#f3f5f2;min-height:466px;isolation:isolate}#model{position:absolute;inset:0;overflow:hidden;touch-action:none}#model canvas{display:block;outline:none}.stageheader{position:absolute;top:15px;left:18px;right:15px;display:flex;justify-content:space-between;align-items:center;pointer-events:none}.stageheader button,.stagefooter button{pointer-events:auto}.stagecaption{color:#476254;display:flex;align-items:center;gap:8px;letter-spacing:1px;text-transform:uppercase}.cross{width:12px;height:12px;background:linear-gradient(90deg,transparent 45%,#73937a 45% 55%,transparent 55%),linear-gradient(transparent 45%,#73937a 45% 55%,transparent 55%)}
#homeview{background:#f8faf5df;border:1px solid #c3cfc3;border-radius:5px;display:grid;place-items:center;width:34px;height:34px}#homeview:hover,#pause:hover{background:#e1ebdc}.viewlegend{position:absolute;bottom:54px;left:20px;display:flex;flex-wrap:wrap;gap:12px;pointer-events:none;color:#354b40;font-size:11px;line-height:1}.key{display:flex;align-items:center;gap:6px}.dot{border-radius:50%;width:8px;height:8px;display:inline-block}
.stagefooter{position:absolute;bottom:0;left:0;right:0;min-height:38px;border-top:1px solid #ccd4cc;background:#f3f5eeee;display:flex;align-items:center;justify-content:space-between;padding:0 14px;gap:4px;color:#53635b;font-size:11px;pointer-events:none}.mouse-hint{display:flex;align-items:center;gap:6px}.mouse-hint b{font-weight:400}.stagefooter button{border:0;background:transparent;font-size:11px;padding:6px 4px;display:flex;align-items:center;gap:6px}.stagefooter button span:first-child{font:600 13px var(--mono)}
#model-status{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);padding:12px 16px;border:1px solid var(--line);background:var(--paper);border-radius:5px;text-align:center;font-size:13px}[hidden]{display:none!important}
.workbench{display:flex;flex-direction:column;background:#fffefa;padding:clamp(18px,1.7vw,28px)}.sectionnum{color:var(--green);font-weight:500;letter-spacing:1.3px}h2{font:600 clamp(32px,2.85vw,43px)/1.04 Barlow,'Arial Narrow',sans-serif;letter-spacing:-.5px;margin:7px 0 9px}.chapterintro p,.observation p{margin:0;font-size:14px;line-height:1.48;color:#4f6057}.controls{border-top:1px solid var(--line);margin-top:18px;padding-top:16px}.slider-head,.toggle{display:flex;align-items:center;justify-content:space-between;gap:8px}.slider-head label,.toggle label{font-weight:600;font-size:13px}.slider-head output{font:600 12px var(--mono);color:var(--green)}
.slider{margin:8px 0 13px}.slider input{width:100%;accent-color:#22593f;cursor:pointer;height:18px;margin:0;display:block}.ends{display:flex;justify-content:space-between;margin-top:3px;color:#5c6b61;font:10px var(--mono)}
.toggle{margin:8px 0;position:relative;min-height:25px}.toggle label{display:flex;align-items:center;justify-content:space-between;width:100%;cursor:pointer}.toggle input{width:32px;height:19px;appearance:none;border:1px solid #aebbb0;border-radius:14px;background:#d7ded4;cursor:pointer;position:relative;transition:background .15s}.toggle input:after{content:'';position:absolute;top:2px;left:2px;width:13px;height:13px;background:#fff;border-radius:50%;box-shadow:0 1px 2px #0003;transition:transform .15s}.toggle input:checked{background:#356d50;border-color:#356d50}.toggle input:checked:after{transform:translateX(12px)}
.observation{background:#edf3e7;border-left:3px solid #88a874;border-radius:0 4px 4px 0;padding:11px 13px;margin:9px 0 16px}.obstop{display:flex;align-items:center;gap:7px}.obstop span:last-child{font-size:13px;font-weight:600}.signal{width:7px;height:7px;border-radius:50%;background:#4f8759;flex:none}.observation p{margin-top:3px;font-size:12px;line-height:1.48;color:#425448}
.navfoot{margin-top:auto}.next{display:flex;align-items:center;justify-content:space-between;width:100%;background:var(--ink);color:#f4faef;border:0;border-radius:5px;padding:10px 14px;font-weight:600;font-size:13px}.next:hover{background:#265642}.next span:last-child{font-size:19px;line-height:1}
.notes{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:20px 0 0}.notes summary{display:flex;align-items:center;justify-content:space-between;padding:15px 3px;font-weight:600;font-size:14px;list-style:none}.notes summary::-webkit-details-marker{display:none}.notelabel{display:flex;align-items:center;gap:9px}.expand{font:20px var(--mono);margin-right:8px}.notes[open] .expand{transform:rotate(45deg)}.notesbody{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;padding:2px 4px 18px}.notesbody h3{font-size:14px;margin:2px 0 4px}.notesbody p{margin:0;color:var(--muted);font-size:13px}.notesbody a{color:var(--green)}footer{padding:15px 2px 23px;display:flex;justify-content:space-between;font:10px var(--mono);color:#667469}footer em{font-style:normal;color:#9cae9c;margin:0 5px}
@media(min-width:1450px){.viewport{min-height:535px}.workbench{padding:26px 30px}.chapterintro p{font-size:15px}.controls{margin-top:22px}}
@media(max-width:900px){.workspace{grid-template-columns:minmax(0,1.5fr) minmax(270px,1fr)}.pageheading{padding-top:24px}.pageheading>p{max-width:280px;font-size:14px}.viewport{min-height:490px}.viewlegend{font-size:10px;gap:8px}}
@media(max-width:710px){.brandbar{height:53px}.brand i,.brand span{display:none}.pageheading{display:block;padding:20px 0 13px}.pageheading>p{max-width:480px;margin:8px 0 0;font-size:13px}h1{font-size:50px}.workspace{display:flex;flex-direction:column;gap:12px}.viewport{min-height:0;height:clamp(360px,58vh,470px)}#chapters{gap:0;margin-bottom:12px}#chapters button,#chapters button:first-child{flex:1;padding:11px 3px 10px;gap:6px;font-size:13px}.tabnum{font-size:9px;padding:2px 3px}.workbench{padding:19px 21px}.stageheader{left:12px;right:10px;top:8px}.viewlegend{bottom:44px;left:12px}.stagefooter{min-height:32px;padding:0 9px}.mouse-hint,.stagefooter button{font-size:10px}.notesbody{grid-template-columns:1fr;gap:12px}.notes{margin-top:14px}.brandinner,main{padding-left:15px;padding-right:15px}.workbench h2{font-size:34px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.lesson-links,.lesson-bottom{display:flex;align-items:center;gap:24px}.lesson-links a{color:#f2f8e9;font-size:14px;font-weight:600;text-decoration:none}.lesson-links a:hover,.lesson-bottom a:hover{text-decoration:underline;text-underline-offset:4px}
.manifold-guide{display:grid;grid-template-columns:minmax(240px,1fr) minmax(300px,1.36fr);align-items:center;gap:clamp(22px,5vw,80px);margin-top:26px;padding:24px clamp(18px,3vw,42px);background:#eff3ea;border:1px solid var(--line);border-radius:8px}.guide-intro h2{font-size:clamp(30px,2.8vw,40px);margin:8px 0}.guide-intro p{font-size:14px;margin:4px 0;color:var(--muted)}.guide-intro .sectionnum{font-size:10px;color:var(--green)}
.control-map label{font-size:13px;font-weight:600;margin-right:8px}.control-map select{font:600 14px DM,Arial;color:var(--ink);background:#fbfcf7;border:1px solid #99ada1;border-radius:4px;padding:6px 9px}.control-map table{width:100%;margin-top:9px;border-collapse:collapse;text-align:left;font-size:14px}.control-map td,.control-map th{padding:6px 3px;border-bottom:1px solid var(--line)}.control-map thead th{font-size:12px;color:#53645b}.control-map tbody th,.control-map td:last-child{font:600 12px var(--mono);white-space:nowrap}.control-map td:last-child,.control-map th:last-child{text-align:right}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.switch-note{max-width:840px;color:var(--muted);font-size:14px;padding:0 4px 12px}.switch-note a{color:var(--green)}.secondary-notes{margin-top:0}.lesson-bottom{justify-content:space-between;padding:19px 3px 7px}.lesson-bottom a{color:var(--green);font-weight:600;font-size:14px}
@media(max-width:710px){.manifold-guide{grid-template-columns:1fr;gap:14px;padding:19px 16px;margin-top:16px}.lesson-links{gap:14px}.lesson-links a,.lesson-bottom a{font-size:12px}.lesson-bottom{gap:12px}.control-map td,.control-map th{padding-left:1px;padding-right:1px}.control-map td{font-size:13px}.brand{gap:7px}}
