@font-face{font-family:Lab Mono;src:url('fonts/jetbrains-mono-regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Lab Mono;src:url('fonts/jetbrains-mono-bold.ttf') format('truetype');font-weight:700;font-display:swap}
@font-face{font-family:Lab Display;src:url('fonts/vt323.ttf') format('truetype');font-weight:400;font-display:swap}
:root{--bg:#fafbf8;--card:#fafbf8;--ink:#20231f;--mut:#687184;--line:#d5d9df;--brand:#334bff;--brand-soft:#eef0ff;--ok:#28724c;--ok-soft:#eef7f0;--warn:#8a5a12;--warn-soft:#fff7e9;--bad:#af3034;--bad-soft:#fff0f0;--mono:'Lab Mono',ui-monospace,monospace;--body:'Iowan Old Style','Palatino Linotype',Georgia,serif;--display:'Lab Display',var(--mono)}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{font-family:var(--body);font-size:18px;background:var(--bg);color:var(--ink);line-height:1.65;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit;color:inherit}
button{touch-action:manipulation}
button,a,input,textarea,summary{outline-offset:5px}
:focus-visible{outline:2px solid var(--brand)}
a{color:var(--brand);text-underline-offset:4px}
h1,h2,h3,h4{font-family:var(--mono);line-height:1.3;font-weight:400;letter-spacing:-.045em}
p{margin:0 0 14px}
.wrap{max-width:1440px;padding:0 40px 34px;margin:auto}
.app-header{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line);margin-bottom:0!important;padding:14px 0}
.wordmark{font:17px/1.3 var(--mono);letter-spacing:-.6px;white-space:nowrap;background:none;border:0;cursor:pointer;padding:0}
.wordmark strong{color:var(--brand);font-weight:700}
.wordmark .brand-slash{margin:0 8px;color:var(--mut)}
nav.tabs{border:0;margin:0;display:flex;align-items:center;padding:0;gap:22px;font-family:var(--mono)}
nav.tabs button{font:12px/1.4 var(--mono);padding:12px 0;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:var(--mut)}
nav.tabs button.active{color:var(--brand);border-bottom-color:var(--brand);background:none}
nav.tabs button:hover{color:var(--brand)}
.header-tools{display:flex;gap:20px;align-items:center}
.utility-menu{position:relative;font:12px/1.5 var(--mono)}
.utility-menu>summary{list-style:none;cursor:pointer;color:var(--mut);padding:12px 0}
.utility-menu>summary::-webkit-details-marker{display:none}
.utility-menu>summary:hover{color:var(--brand)}
.utility-panel{position:absolute;right:0;top:100%;width:235px;background:var(--bg);border:1px solid var(--line);padding:10px;z-index:45;box-shadow:0 8px 20px #20231f0d;display:flex;flex-direction:column;align-items:stretch;gap:3px}
.utility-panel button{font:12px/1.5 var(--mono);padding:12px;text-align:left;border:0;background:none;cursor:pointer;border-radius:0;white-space:normal}
.utility-panel button:hover{background:var(--brand-soft);color:var(--brand)}
.utility-panel p{font:11px/1.6 var(--mono);padding:10px;margin:0;color:var(--mut)}
.storage-warning{background:var(--warn-soft);color:var(--warn);padding:10px 16px;font:12px/1.5 var(--mono);border-bottom:1px solid var(--line)}
.skip-link{position:fixed;left:16px;top:-100px;z-index:100;background:var(--brand);color:white;padding:12px 20px;font:14px var(--mono)}
.skip-link:focus{top:8px}
.learning-hero{display:grid;grid-template-columns:1.04fr 1fr;gap:40px;padding:58px 0 43px;align-items:center;background-image:radial-gradient(#334bff13 .75px,transparent .75px);background-size:20px 20px}
.hero-copy h1{font:400 clamp(52px,5.9vw,82px)/.99 var(--display);letter-spacing:.005em;color:var(--brand);margin:0 0 23px;white-space:nowrap}
.hero-copy p{font:24px/1.46 var(--body);max-width:540px;margin-bottom:24px}
.btn-row{gap:12px;margin-top:18px;align-items:center}
button.btn{border-radius:0;padding:12px 18px;min-height:44px;font:12px/1.4 var(--mono);border:1px solid var(--line);background:transparent;display:inline-flex;align-items:center;justify-content:center;gap:12px;color:var(--ink);transition:background .15s,color .15s,border-color .15s}
button.btn:hover{border-color:var(--brand);color:var(--brand);background:var(--brand-soft)}
button.btn.primary{background:var(--brand);border-color:var(--brand);color:white}
button.btn.primary:hover{background:#2339dd;filter:none}
.hero-copy .btn{font-size:13px;padding:15px 20px}
.hero-copy .btn:not(.primary){border-color:var(--brand);color:var(--brand)}
.ui-icon{display:inline-flex;flex:0 0 19px;width:19px;height:19px;vertical-align:middle}
.ui-icon svg{width:100%;height:100%}
.loop-figure{margin:0;color:var(--brand);align-self:stretch;display:flex;flex-direction:column;justify-content:center}
.loop-drawing{position:relative;width:100%;aspect-ratio:600/320}
.loop-drawing>svg{width:100%;height:100%;position:absolute;inset:0}
.diagram-node{position:absolute;width:25%;height:20%;border:1px solid var(--brand);background:var(--bg);padding:7px 12px;display:flex;align-items:center;justify-content:center;gap:10px;font:14px/1 var(--mono);color:var(--ink)}
.diagram-node>span{position:absolute;top:6px;left:8px;color:var(--brand);font-size:10px}
.diagram-node>strong{font-weight:400;margin-top:7px}
.diagram-node.predict{left:36.7%;top:7.8%}.diagram-node.understand{left:65.8%;top:37.2%}.diagram-node.practise{left:65.8%;top:74.7%}.diagram-node.check{left:18.3%;top:74.7%}.diagram-node.remember{left:5.8%;top:37.2%}
.loop-figure figcaption{font:italic 11px/1.5 var(--mono);text-align:center;color:var(--mut);margin:28px 0 0}
.facts-strip{display:grid;grid-template-columns:1fr 1fr 1.3fr;border-block:1px solid var(--line);padding:16px 0;font:12px/1.5 var(--mono);color:var(--mut)}
.facts-strip>span{text-align:center;border-right:1px solid var(--line)}
.facts-strip>span:last-child{border:0}.facts-strip strong{color:var(--brand);margin-right:7px;font-weight:400;font-size:17px}
.subject-section{padding-top:30px;margin-bottom:34px;scroll-margin-top:24px}
.subject-section>h2{font-size:20px;margin:0 0 14px}
.module-pick{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0;border-block:1px solid var(--line)}
.module-pick button{min-width:0;padding:17px 22px;border:0;border-left:1px solid var(--line);border-radius:0;text-align:left;background:transparent;font:14px/1.6 var(--mono);cursor:pointer;display:flex;flex-direction:column;color:var(--ink);white-space:normal;min-height:90px}
.module-pick button:first-child{border-left:3px solid transparent}
.module-pick button .module-code{font-size:11px;color:var(--mut);margin-bottom:3px}
.module-pick button:hover{background:var(--brand-soft)}
.module-pick button.active{color:var(--brand);background:transparent;box-shadow:inset 3px 0 var(--brand)}
.module-pick button.active .module-code{color:var(--brand)}
.module-pick button.stub{display:none}
#app{min-height:300px;margin-top:28px}
.curriculum-layout{display:grid;grid-template-columns:minmax(0,1fr) 275px;gap:36px}
.section-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:22px}
.section-heading h2{font-size:28px;margin:0 0 5px}
.section-intro{font:17px/1.5 var(--body);margin:0;color:#424b5a}
.search-box{border:1px solid var(--line);display:flex;align-items:center;padding:8px 10px;gap:8px;min-width:185px;max-width:230px;margin-top:6px}
.search-box .ui-icon{width:15px;height:15px;flex-basis:15px;color:var(--mut)}
.search-box input{border:0;background:none;width:100%;min-width:0;font:11px/1.5 var(--mono);padding:0;border-radius:0}
.phase-block{border:1px solid var(--line);border-bottom:0;border-radius:0;background:transparent;margin:0}
.phase-block:last-child{border-bottom:1px solid var(--line)}
.phase-block>summary{display:flex;align-items:center;gap:18px;list-style:none;padding:15px 18px;cursor:pointer;font:13px/1.5 var(--mono)}
.phase-block>summary::-webkit-details-marker{display:none}
.phase-block>summary:hover{background:#334bff06}
.phase-block>summary strong{font-weight:400;flex:1}
.phase-no{color:var(--brand);font-size:13px}.phase-count{font:10px/1.4 var(--mono);color:var(--mut)}
.chevron{width:9px;height:9px;flex-shrink:0;border-right:1px solid var(--mut);border-bottom:1px solid var(--mut);transform:rotate(45deg);margin:0 3px 4px 8px}
details[open]>.chevron,details[open]>summary>.chevron{transform:rotate(225deg);border-color:var(--brand);margin-top:6px}
.lesson-row{display:flex;gap:20px;justify-content:space-between;align-items:center;padding:20px 18px 20px 48px;border-top:1px solid var(--line);position:relative}
.lesson-row:before{content:'';position:absolute;left:32px;top:8px;bottom:8px;border-left:1px solid var(--line)}
.lesson-row h3{font:13px/1.5 var(--mono);margin:0 0 4px;letter-spacing:-.02em}
.lesson-row p{font:10px/1.5 var(--mono);margin:0}.lesson-row .btn{white-space:nowrap;font-size:10px;padding:10px 13px;min-height:38px}
.next-step{border-left:1px solid var(--line);padding-left:25px;padding-top:4px}
.micro{font:10px/1.6 var(--mono);color:var(--mut);letter-spacing:.04em}
.next-step h3{font-size:20px;margin:8px 0 10px;letter-spacing:-.04em}
.next-step p{font-size:17px;line-height:1.5}.next-step>.btn{width:100%;margin-top:12px}
.mastery-summary,.source-aside{border-top:1px solid var(--line);margin-top:28px;padding-top:18px}
.mastery-metric{margin:16px 0}.mastery-metric>div{display:flex;justify-content:space-between;font:10px/1.5 var(--mono);color:var(--mut)}
progress{display:block;appearance:none;border:0;border-radius:0;background:#e5e8ec;width:100%;height:6px;margin-top:7px;accent-color:var(--brand)}
progress::-webkit-progress-bar{background:#e5e8ec}progress::-webkit-progress-value{background:var(--brand)}
.mastery-summary p.muted,.source-aside p{font-size:13px}.source-aside .btn{font-size:10px;padding:8px}
.page-heading{padding:24px 0 30px;border-bottom:1px solid var(--line);margin-bottom:26px}
.page-heading h1{font:400 52px/1.1 var(--display);color:var(--brand);letter-spacing:0;margin-bottom:13px}
.page-heading p{font-size:21px;max-width:700px;margin:0}
.card{border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;padding:22px 0;margin-bottom:18px}
.card h2{font-size:23px;margin-bottom:12px}.card h3{font-size:17px}.muted{color:var(--mut);font-size:14px}
.badge{border-radius:0;font:10px/1.5 var(--mono);padding:3px 7px}.grid3{gap:0}
.stat{border-radius:0;border:0;border-left:1px solid var(--line);background:transparent;padding:10px 20px}.stat:first-child{border-left:0}.stat .lab{font:10px/1.5 var(--mono)}.stat .val{font:26px/1.5 var(--mono);color:var(--brand)}
.timer-bar{background:var(--bg);border:1px solid var(--line);border-radius:0;padding:12px 18px;font:12px var(--mono);top:10px}
.timer-bar .clock{font-size:24px}.stem{font:19px/1.7 var(--body);border-radius:0;background:transparent;padding:15px 0}
textarea.answer{border:1px solid var(--line);border-radius:0;background:#fff;font:15px/1.7 var(--body);padding:15px;min-height:140px;display:block}
textarea.answer:focus{outline:2px solid var(--brand);outline-offset:2px}.confidence{font:12px var(--mono);gap:8px;margin:20px 0}
.confidence button{border-radius:0;font:12px var(--mono)}
.step{padding:24px 20px;border:0;border-left:2px solid var(--line);border-radius:0;background:transparent;margin-bottom:25px}.step .why{border-radius:0;padding:20px;background:var(--brand-soft);margin-top:18px}
.hint-box,.model,.verdict,.part1-fail,.thought-exp,.break-machine{border-radius:0}.model{font:15px/1.7 var(--body);padding:20px}
.thought-exp{background:var(--brand-soft);padding:25px;border-left:2px solid var(--brand)}.thought-exp .tag{font:10px var(--mono);color:var(--brand);margin-bottom:15px}.thought-exp p{font-size:21px}
.lesson-loop{border-radius:0;margin:20px 0;padding:14px 0;border-block:1px solid var(--line);background:none;gap:10px;display:flex;flex-wrap:wrap;align-items:center}.step-pill{border-radius:0;font:11px/1.5 var(--mono);padding:5px 9px}.lesson-loop .arrow{font-size:14px;color:var(--mut)}
.rung-dot{border-radius:0}.topic-row,.today-item{padding:20px 0;border-bottom:1px solid var(--line);gap:16px}.topic-row strong{font:15px/1.6 var(--mono)}
.reader{display:grid;grid-template-columns:225px minmax(0,1fr);gap:52px;padding:0 0 50px}.reader-sidebar{border-right:1px solid var(--line);padding-right:20px}.reader-sidebar>h2{font-size:16px;margin:26px 0 20px}.reader-sidebar>.btn{font-size:10px;padding:8px 10px}
.syllabus-link{display:flex;gap:13px;width:100%;padding:13px 8px;border:0;border-left:2px solid transparent;background:none;font:11px/1.6 var(--mono);text-align:left;cursor:pointer;color:var(--mut)}
.syllabus-link>span:first-child{font-size:10px;color:var(--mut)}.syllabus-link.active{border-color:var(--brand);color:var(--brand);background:var(--brand-soft)}.syllabus-link:hover{color:var(--brand)}
.lesson-article{max-width:850px;min-width:0}.breadcrumb{font:10px/1.7 var(--mono);color:var(--mut);margin:2px 0 25px}
.lesson-article>h1{font-size:34px;line-height:1.25;margin-bottom:18px;letter-spacing:-.045em}
.lesson-question{font:20px/1.6 var(--body);color:#414b59;max-width:790px;margin-bottom:24px;white-space:pre-line}
.reader-steps{display:flex;gap:20px;border-bottom:1px solid var(--line);margin-bottom:35px;flex-wrap:wrap}
.reader-steps button{font:10px/1.5 var(--mono);padding:10px 0 15px;background:transparent;border:0;border-bottom:2px solid transparent;color:var(--mut);cursor:pointer}.reader-steps button span{color:var(--mut);font-size:9px}.reader-steps button.active{color:var(--brand);border-color:var(--brand)}
.reading-content h2,.checkpoint h2,.lesson-notebook h2{font-size:24px;margin-bottom:14px}.reading-lead{font:18px/1.7 var(--body);color:var(--mut);margin-bottom:30px}
.teaching-step{border-top:1px solid var(--line);padding:26px 0 24px 44px;position:relative}
.step-number{position:absolute;left:0;top:30px;font:12px var(--mono);color:var(--brand)}.teaching-step h3{font-size:19px;margin-bottom:12px}.teaching-text{font:19px/1.8 var(--body);white-space:pre-wrap;overflow-wrap:anywhere}
.think-prompt{margin-top:18px;font-size:16px}.think-prompt>summary{font:11px/1.7 var(--mono);color:var(--brand);cursor:pointer}.think-prompt p{margin:12px 0 0;color:var(--mut)}
.checkpoint{background:var(--brand-soft);border-left:2px solid var(--brand);padding:28px 30px;margin:30px 0}.checkpoint>.micro{color:var(--brand)}.checkpoint h2{margin-top:10px}.checkpoint-label{display:block;margin-top:25px;font-size:17px}.checkpoint-label textarea{margin-top:10px;min-height:95px}
.answer-reveal{margin:14px 0 20px}.answer-reveal summary,.lesson-sources summary{font:11px/1.6 var(--mono);color:var(--brand);cursor:pointer}.answer-reveal p,.answer-reveal ul{margin:12px 0 0;font-size:17px}.answer-reveal li{margin-left:20px}
.lesson-notebook{padding:30px 0;border-top:1px solid var(--line)}.lesson-sources{border-top:1px solid var(--line);padding:22px 0;font-size:13px;overflow-wrap:anywhere}.lesson-sources p{margin-top:15px}.lesson-sources ul{padding-left:20px}
.resume-banner{padding:18px;background:var(--brand-soft);display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.resume-banner p{margin:0;font-size:16px}
.lab-selectors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:1px solid var(--line);margin-bottom:32px}
.lab-selectors button{padding:22px 25px;border:0;border-left:1px solid var(--line);background:none;text-align:left;cursor:pointer;color:var(--ink)}.lab-selectors button:first-child{border-left:0}.lab-selectors button.active{box-shadow:inset 0 -3px var(--brand);background:var(--brand-soft)}.lab-selectors .micro{display:block;margin-bottom:9px}.lab-selectors strong{display:block;font:17px/1.4 var(--mono);letter-spacing:-.04em}
.lab-intro{max-width:850px}.lab-intro h2{font-size:29px;margin-bottom:15px}.lab-intro p{font-size:21px;line-height:1.6}
.network-board{display:grid;grid-template-columns:1fr 180px 1fr;align-items:center;padding:50px 30px;margin:28px 0;background-image:radial-gradient(#334bff20 1px,transparent 1px);background-size:18px 18px;border:1px solid var(--line)}
.machine-node{background:var(--bg);padding:28px;border:1px solid var(--brand);min-height:160px;display:flex;flex-direction:column;justify-content:center;gap:13px;min-width:0}.machine-node strong{font:20px/1.5 var(--mono);color:var(--brand)}.machine-node code{font:11px/1.5 var(--mono);overflow-wrap:anywhere}.wire{text-align:center;font:11px/1.5 var(--mono);color:var(--brand)}.wire .ui-icon{display:block;width:100%;height:35px}.wire span{display:block}
.lab-controls{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin:25px 0}.lab-controls label{font:12px/1.6 var(--mono);display:flex;align-items:center;gap:5px;cursor:pointer}.lab-controls input{width:18px;height:18px;accent-color:var(--brand)}
.lab-result{background:var(--brand-soft);border-left:2px solid var(--brand);padding:22px 25px;margin:25px 0}.lab-result p{margin:8px 0 0;font-size:20px}.lab-result h3{font-size:20px}.lab-result.fail{background:var(--bad-soft);border-color:var(--bad)}.lab-result.fail .micro{color:var(--bad)}.lab-result.pass{background:var(--ok-soft);border-color:var(--ok)}
.lab-caveat{font-size:16px;color:var(--mut);max-width:900px}.lab-foot{margin-top:35px;padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px}.lab-foot p{margin:0;font:10px/1.8 var(--mono)}
.distance-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center;margin:30px 0}.distance-plot svg{width:100%;max-height:430px;display:block}.distance-controls>label{display:block;font:12px/1.5 var(--mono);margin-top:20px}.distance-controls input{display:block;width:100%;margin-top:15px;accent-color:var(--brand)}.distance-values{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:35px}.distance-values p{display:flex;flex-direction:column;gap:8px}.distance-values span{font:10px/1.6 var(--mono);color:var(--mut)}.distance-values strong{font:36px/1 var(--mono);color:var(--brand);font-weight:400}.distance-values code{font:10px/1.8 var(--mono);overflow-wrap:anywhere}
.testing-layout{display:grid;grid-template-columns:1fr 1fr;gap:36px;margin:35px 0}.code-panel{background:#eef0f3;border-left:2px solid var(--brand);padding:30px;font:15px/2 var(--mono);white-space:pre-wrap;overflow-wrap:anywhere}.boundary-controls h3{font-size:18px;margin-bottom:20px}.age-buttons{display:flex;gap:10px;margin-bottom:25px}.age-buttons button{border:1px solid var(--line);background:none;padding:13px;font:14px var(--mono);cursor:pointer}.age-buttons button.active{background:var(--brand);color:white;border-color:var(--brand)}
.foot{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:22px;margin-top:45px;font:10px/1.8 var(--mono);color:var(--mut)}.foot p{margin:0;max-width:620px}.toast{border-radius:0;font:11px/1.6 var(--mono);background:var(--ink);max-width:min(600px,90vw);text-align:center}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.hidden{display:none!important}
.empty-state{padding:35px 20px;border:1px solid var(--line)}.empty-state h3{font-size:20px;margin-bottom:14px}
.settings-row{gap:15px;flex-wrap:wrap}.settings-row label{font:12px var(--mono)}input[type=date],input[type=number],select{border-radius:0;font:12px var(--mono);padding:10px}
.rubric-item{padding:12px 0;font-size:16px;border-color:var(--line)}.rubric-item input{margin-top:6px;accent-color:var(--brand)}table.simple{font:12px/1.7 var(--mono);display:block;overflow:auto}.paper-q{border-radius:0}
.d-risk{border-radius:0;background:var(--warn-soft);border-color:#e3d4b8;padding:22px}.d-risk h2{font-size:20px}.d-risk ul{font-size:15px}.lesson-loop .step-pill.active{background:var(--brand);color:white}
.save-status{font:10px/1.5 var(--mono);color:var(--mut);display:block;text-align:right;min-height:18px;margin-bottom:8px}
@media(min-width:1600px){.wrap{max-width:1480px}.hero-copy h1{font-size:88px}}
@media(max-width:1150px){.wrap{padding-inline:28px}.app-header{gap:12px}.wordmark{font-size:14px}nav.tabs{gap:14px}nav.tabs button{font-size:10px}.header-tools{gap:15px}.learning-hero{gap:25px}.hero-copy h1{font-size:68px}.hero-copy p{font-size:21px}.hero-copy .btn{font-size:11px;padding:13px}.curriculum-layout{grid-template-columns:minmax(0,1fr) 235px;gap:25px}.section-heading{flex-direction:column;gap:12px}.search-box{max-width:none;width:100%;margin:0}.module-pick button{padding:15px;font-size:12px}.reader{grid-template-columns:190px minmax(0,1fr);gap:30px}.reader-steps{gap:15px}.network-board{grid-template-columns:1fr 100px 1fr;padding:30px 20px}.machine-node{padding:20px}.machine-node strong{font-size:17px}}
@media(max-width:800px){.wrap{padding-inline:22px}.app-header{flex-wrap:wrap;row-gap:8px;padding:17px 0 8px}.wordmark{font-size:16px}.header-tools{margin-left:auto}.app-header>nav{order:3;flex-basis:100%;gap:25px}nav.tabs button{font-size:11px}.learning-hero{grid-template-columns:1fr;gap:24px;padding:38px 0 28px}.hero-copy h1{font-size:76px}.hero-copy p{font-size:23px;max-width:580px}.hero-copy .btn{font-size:12px}.loop-figure{max-width:540px;width:100%;margin:auto}.loop-figure figcaption{margin-top:15px}.facts-strip{font-size:10px;grid-template-columns:1fr 1fr}.facts-strip>span:nth-child(2){border:0}.facts-strip>span:last-child{grid-column:1/-1;margin-top:12px}.module-pick{grid-template-columns:1fr 1fr}.module-pick button:nth-child(3),.module-pick button:nth-child(4){border-top:1px solid var(--line)}.curriculum-layout{grid-template-columns:1fr}.next-step{border-left:0;border-top:1px solid var(--line);padding:25px 0;display:grid;grid-template-columns:1fr 1fr;column-gap:25px}.next-step>.micro,.next-step>h3,.next-step>p,.next-step>.btn{grid-column:1}.mastery-summary{grid-column:2;grid-row:1/5;border:0;margin:0;padding:0}.source-aside{grid-column:1/-1}.reader{grid-template-columns:1fr}.reader-sidebar{border:0;border-bottom:1px solid var(--line);padding:0 0 15px}.reader-sidebar h2{display:inline;margin-left:15px;font-size:14px}.syllabus-link{display:none}.lesson-article>h1{font-size:30px}.reader-steps{gap:20px}.lab-selectors button{padding:18px 12px}.lab-selectors strong{font-size:14px}.lab-selectors .micro{font-size:8px}.testing-layout{gap:20px}.code-panel{font-size:12px;padding:20px}.network-board{grid-template-columns:1fr 70px 1fr}.machine-node{padding:15px}.machine-node strong{font-size:15px}.machine-node code{font-size:9px}}
@media(max-width:480px){.wrap{padding-inline:18px}.wordmark{font-size:13px}.utility-menu{font-size:10px}.header-tools{gap:14px}nav.tabs{justify-content:space-between;gap:10px!important}.learning-hero{padding-top:32px}.hero-copy h1{font-size:clamp(45px,12.9vw,61px)}.hero-copy p{font-size:20px;line-height:1.55}.hero-copy .btn-row{flex-direction:column;align-items:stretch}.hero-copy .btn{font-size:11px}.loop-figure{margin-top:0}.diagram-node{font-size:10px;padding:3px}.diagram-node>span{font-size:8px;top:4px;left:5px}.diagram-node>strong{margin-top:9px}.loop-figure figcaption{font-size:8px}.module-pick button{font-size:11px;padding:13px;min-height:87px}.module-pick button .module-code{font-size:9px}.subject-section>h2{font-size:18px}.subject-section{margin-bottom:20px}.section-heading h2{font-size:25px}.section-intro{font-size:16px}.phase-block>summary{gap:11px;padding:14px 12px;font-size:11px}.phase-count{font-size:8px}.lesson-row{padding:18px 12px 18px 32px;gap:13px;align-items:flex-start;flex-direction:column}.lesson-row:before{left:20px}.lesson-row h3{font-size:12px}.lesson-row .btn{align-self:flex-end}.next-step{display:block}.mastery-summary{border-top:1px solid var(--line);padding-top:20px;margin-top:25px}.page-heading h1{font-size:40px}.page-heading p,.lab-intro p{font-size:18px}.lab-intro h2{font-size:24px}.lab-selectors{grid-template-columns:1fr}.lab-selectors button{border:0;border-bottom:1px solid var(--line);padding:16px}.lab-selectors strong{font-size:16px}.lab-selectors .micro{font-size:9px}.lab-selectors button.active{box-shadow:inset 3px 0 var(--brand)}.network-board{grid-template-columns:1fr;padding:24px;gap:12px}.wire .ui-icon{height:24px}.wire>span{display:inline}.wire{padding:0}.machine-node{min-height:135px}.machine-node strong{font-size:20px}.machine-node code{font-size:11px}.lab-controls{gap:18px}.lab-controls label{font-size:11px}.lab-controls .btn{flex:1}.lab-result p{font-size:18px}.distance-layout,.testing-layout{grid-template-columns:1fr;gap:20px}.lab-foot{align-items:flex-start;flex-direction:column}.reader-sidebar h2{display:none}.reader-steps{gap:10px;justify-content:space-between}.reader-steps button{font-size:8px}.reader-steps button span{display:block;font-size:8px;margin-bottom:5px}.lesson-article>h1{font-size:26px}.lesson-question{font-size:18px}.teaching-step{padding-left:30px}.teaching-text{font-size:18px;line-height:1.75}.teaching-step h3{font-size:17px}.checkpoint{padding:22px 17px}.checkpoint h2{font-size:22px}.resume-banner{align-items:flex-start;flex-direction:column}.card h2{font-size:21px}.grid3 .stat{padding:10px 0;border:0}.foot{font-size:9px}.code-panel{font-size:13px}.btn-row .btn{max-width:100%;white-space:normal}.timer-bar{padding:10px}.timer-bar .clock{font-size:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.reader{grid-template-columns:205px minmax(0,1fr) 170px;gap:30px}
.lesson-article>h1{font:400 47px/1.08 var(--display);color:var(--brand);letter-spacing:0}
.reader-source{border-left:1px solid var(--line);padding-left:20px;margin-top:205px;font-size:15px;line-height:1.6}
.reader-source-title{font:11px/1.7 var(--mono);color:var(--brand);margin:15px 0}
.guided-list{margin:22px 0 30px;border:1px solid var(--line)}
.guided-section{border-bottom:1px solid var(--line)}.guided-section:last-child{border:0}
.guided-section summary{display:flex;align-items:center;gap:15px;font:12px/1.7 var(--mono);padding:12px 16px;list-style:none;cursor:pointer}.guided-section summary::-webkit-details-marker{display:none}.guided-section summary>.chevron{margin-left:auto}
.guided-section p{font:17px/1.7 var(--body);padding:3px 20px 0 45px;margin-bottom:10px}.guided-section>.micro{display:block;padding:0 20px 16px 45px;font-size:9px}
@media(max-width:1200px){.reader{grid-template-columns:190px minmax(0,1fr)}.reader-source{grid-column:2;margin-top:0;border-left:0;border-top:1px solid var(--line);padding:20px 0 0;max-width:850px}.reader-source p{font-size:15px}.lesson-article>h1{font-size:45px}}
@media(max-width:800px){.reader{grid-template-columns:1fr}.reader-source{grid-column:1}.lesson-article>h1{font-size:46px}.reader-sidebar>h2{font-size:14px}}
@media(max-width:480px){.lesson-article>h1{font-size:37px}.guided-section summary{font-size:11px;gap:10px;padding:12px}.guided-section p{font-size:17px;padding-left:34px}.guided-section>.micro{padding-left:34px}.reading-content h2{font-size:22px}}
@media(min-width:1151px){
  .app-header{min-height:64px;padding-block:7px}
  .learning-hero{padding:40px 0 30px}
  .hero-copy h1{font-size:76px;margin-bottom:18px}
  .hero-copy p{font-size:23px;margin-bottom:20px}
  nav.tabs button{font-size:13px}
  .utility-menu{font-size:13px}
  .subject-section{padding-top:25px;margin-bottom:26px}
  .module-pick button{min-height:74px;padding-block:12px;font-weight:400}
  .module-pick button .module-code{font-size:12px}
  .facts-strip{padding-block:13px;font-size:13px}
  .lesson-row h3{font-size:15px}
  .lesson-row p{font-size:11px}
  .phase-block>summary{font-size:15px;padding-block:13px}
  .phase-count{font-size:11px}
  .lesson-row .btn{font-size:12px}
  .search-box input{font-size:12px}
  .next-step .micro{font-size:11px}
}
