*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:#f3f1e9;color:#172a38;font:18px/1.65 system-ui,-apple-system,sans-serif}
a{color:#086667;text-underline-offset:4px}a:hover{color:#8a3d0c}
button,.button{font:inherit;font-size:14px;cursor:pointer;border:1px solid #46616c;background:white;color:#17323d;padding:9px 13px;border-radius:4px;text-decoration:none;display:inline-block}
button:hover,.button:hover{background:#e5f1eb}button:focus-visible,a:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #b65013;outline-offset:3px}
.skip{position:absolute;left:-9999px}.skip:focus{left:20px;top:10px;background:white;padding:10px;z-index:10}
.hero{background:#102c3d;color:#fff;padding:60px max(24px,calc((100vw - 1060px)/2))}.hero.teacher{background:#3b2414}
.hero h1{font-family:Georgia,serif;font-size:clamp(42px,6vw,76px);font-weight:400;line-height:1.05;max-width:820px;margin:20px 0}
.eyebrow{font:700 12px/1.5 system-ui;letter-spacing:.18em;text-transform:uppercase}.hero .sub{font-size:22px;color:#aee2d2}.hero.teacher .sub{color:#f3c9a3}.hero p{max-width:700px}.hero a{color:#b9e6d5}
.bar{position:sticky;top:0;z-index:5;padding:10px 20px;background:#fffcf3f5;border-bottom:1px solid #b9c3bc;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.bar span{font-size:12px;margin-left:auto;max-width:340px}
main{max-width:1180px;margin:auto;display:grid;grid-template-columns:200px minmax(0,1fr);gap:36px;padding:42px 24px}main.single{display:block;max-width:980px}
nav{font-size:14px;align-self:start;position:sticky;top:108px}nav a{display:block;text-decoration:none;padding:7px 8px;border-left:2px solid #b7c5bd}nav a:hover{border-color:#ac531b}
article{min-width:0}section.page{background:#fffcf5;border-top:4px solid #236a66;padding:34px 40px;margin-bottom:32px;box-shadow:0 3px 15px #23352808;scroll-margin-top:115px}
.teacher-doc section.page{border-top-color:#9a5a24}
h2{font:400 36px/1.17 Georgia,serif;letter-spacing:-.02em;margin:12px 0 18px}h3{font-size:20px;line-height:1.3;margin:26px 0 9px}h4{font-size:16px;margin:18px 0 6px}p{margin:12px 0}
.intro{font-size:20px;color:#425e67}.meta{display:flex;justify-content:space-between;gap:20px;color:#41636a;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;flex-wrap:wrap}
.callout{border-left:4px solid #b55416;background:#f6ebd5;padding:14px 18px;margin:22px 0}.evidence{border-left:4px solid #236a66;background:#e4eee7;padding:12px 16px;margin:24px 0 0;font-size:15px}
.private{border:2px solid #9a2d16;background:#fff1ea;padding:12px 16px;font-weight:600;color:#6c1f0f}
.small{font-size:14px;color:#435c63}.field{margin:20px 0}.field label{font-weight:600;display:block;font-size:16px;margin-bottom:8px}
textarea{font:17px/1.6 system-ui;width:100%;background:#fff;border:1px solid #9bacaf;border-radius:3px;padding:12px;color:#132f3c;resize:vertical;min-height:80px}
.table-wrap{overflow-x:auto;margin:14px 0}table{border-collapse:collapse;width:100%;font-size:15px}td,th{border-bottom:1px solid #c6d0ca;text-align:left;vertical-align:top;padding:9px 8px}th{background:#e4eee7}
td.blank{min-width:60px;height:34px;background:#fff}figure{margin:22px 0}figure img{width:100%;height:auto;border:1px solid #c6d0ca}figcaption{font-size:13px;color:#4c646b}
li{margin:7px 0}footer{padding:30px;text-align:center;font-size:13px}.answer-print{display:none;white-space:pre-wrap}details{margin:14px 0}summary{cursor:pointer;font-weight:600}
.no-js{padding:15px;background:#f6ebd5}code{background:#eef1ec;padding:1px 5px;border-radius:3px;font-size:.92em}
.q{margin:18px 0;break-inside:avoid}.q ol{list-style:upper-alpha;margin:6px 0}.lines{border-bottom:1px solid #9aa;height:30px}

/* Sprint 3 adaptive, step-based student view */
.bar{padding-inline:max(16px,calc((100vw - 1180px)/2));box-shadow:0 2px 14px #102c3d12}.utility-main{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.danger-zone{margin-left:auto;position:relative}.danger-zone summary{font-size:13px;color:#6c1f0f}.danger-zone button{margin-top:8px;border-color:#9a2d16;color:#7a2614}.bar #save-state{margin-left:0;flex:1;min-width:220px}
main{grid-template-columns:220px minmax(0,1fr)}nav a[aria-current="page"]{border-color:#086667;background:#e4eee7;color:#123d40;font-weight:700}section.page{min-height:610px;margin-bottom:0;position:relative;padding-bottom:96px}.step-rail{display:flex;gap:7px;overflow-x:auto;margin:22px -10px 0;padding:8px 10px 12px;border-block:1px solid #cbd5cf}.step-pill{white-space:nowrap;border-radius:999px;max-width:220px;overflow:hidden;text-overflow:ellipsis}.step-pill span{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#e4eee7;font-weight:700}.step-pill[aria-current="step"]{background:#102c3d;color:white;border-color:#102c3d}.step-pill[aria-current="step"] span{background:#aee2d2;color:#102c3d}.lesson-step{padding-top:12px;animation:step-in .16s ease-out}.lesson-step>h3:first-child{margin-top:14px}.full-source{border:1px solid #b9c3bc;border-radius:7px;padding:11px 14px;background:#fff}.full-source summary{color:#086667}.full-source summary span{font-size:12px;color:#52676e;font-weight:500;margin-left:8px}
.lesson-controls{position:absolute;bottom:0;left:0;right:0;display:flex;gap:8px;align-items:center;padding:14px 40px;background:#e9eee9;border-top:1px solid #bdc9c2;box-shadow:0 -4px 15px #102c3d0b}.lesson-controls .control-spacer{flex:1}.lesson-controls .journal{background:#086667;color:white;border-color:#086667;font-weight:700}.lesson-controls .support-open{color:#64458f;border-color:#76559e}.lesson-controls .step-count{font-size:13px;color:#41636a}.lesson-controls button:disabled{opacity:.45;cursor:not-allowed}
.support-shell{position:fixed;z-index:20;right:0;top:0;bottom:0;width:min(410px,94vw);background:#fffcf5;border-left:1px solid #9daca5;box-shadow:-12px 0 35px #102c3d29;padding:22px;overflow:auto;transform:translateX(105%);transition:transform .18s ease}.support-shell.open{transform:translateX(0)}.support-head{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}.support-head h3{font:400 30px/1.15 Georgia,serif;margin:3px 0}.support-toggles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:16px 0}.support-toggle{display:flex;align-items:center;gap:7px;border:1px solid #c3b4da;background:#f0eaf8;padding:8px;border-radius:7px;font-size:14px}.support-toggle input{accent-color:#694a94}.support-panel{border-left:4px solid #6b4fa0;background:#f3eef8;padding:12px 14px;margin:10px 0;border-radius:0 7px 7px 0}.support-label{font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:800;color:#64458f}.support-panel h4{margin-top:5px}.support-panel dl{margin:8px 0}.support-panel dl div{padding:7px 0;border-bottom:1px solid #d8cee6}.support-panel dt{font-weight:800}.support-panel dd{margin:2px 0 0}.support-checks{list-style:none;padding:0}.support-checks label{display:flex;gap:8px}.support-panel[hidden]{display:none}
.engagement-card{margin:24px 0;padding:18px;border:1px solid #b9c7c0;border-radius:9px;background:#f8f5eb}.engagement-card h3{margin:4px 0 10px;font-family:Georgia,serif;font-size:25px}.engagement-kicker{text-transform:uppercase;font-size:11px;letter-spacing:.15em;font-weight:800;color:#086667}.engagement-card.hook{background:#102c3d;color:white;border:0}.engagement-card.hook .engagement-kicker{color:#aee2d2}.hook-vote,.context-options{display:flex;gap:8px;flex-wrap:wrap}.hook-vote button[aria-pressed="true"],.context-options button[aria-pressed="true"],.self-check button[aria-pressed="true"]{background:#086667;color:white}.preview-flag{display:inline-block;background:#fff0cc;color:#704800;padding:4px 9px;border-radius:999px;text-transform:uppercase;font-size:11px;font-weight:800;letter-spacing:.08em}.video-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.video-meta div{background:white;border:1px solid #cbd4cf;border-radius:6px;padding:7px 9px}.video-meta dt{font-size:11px;text-transform:uppercase;color:#4c646b;font-weight:800}.video-meta dd{margin:2px 0 0}.slot-status{border:1px dashed #b55416;padding:9px;background:#fff3df}.data-chip{font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;background:#e4eee7;color:#086667;border-radius:999px;padding:4px 8px}.self-check fieldset{border:0;border-top:1px solid #cbd4cf;margin:14px 0;padding:14px 0 0}.self-check legend{font-weight:700}.self-check fieldset button{margin:6px 6px 0 0}.check-feedback{min-height:1.5em;font-weight:600;color:#315a50}
dialog{width:min(720px,92vw);border:1px solid #94a59d;border-radius:10px;padding:24px;color:#172a38;background:#fffcf5;box-shadow:0 20px 70px #102c3d55}dialog::backdrop{background:#102c3dbb}dialog h2{margin-top:0}dialog textarea{min-height:280px;font:14px/1.45 ui-monospace,SFMono-Regular,monospace}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}#journal-open{background:#086667;color:white;border-color:#086667}
@keyframes step-in{from{opacity:.2;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.lesson-step{animation:none}.support-shell{transition:none}}
@media(max-width:800px){.bar{position:static}html{scroll-padding-top:12px}section.page{scroll-margin-top:12px;padding:24px 20px}main{display:block;padding:20px 12px}nav{position:static;display:flex;overflow:auto;gap:4px;margin-bottom:20px}nav a{white-space:nowrap}.bar span{width:100%;margin:0}.hero{padding:36px 22px}h2{font-size:30px}}
@media(max-width:800px){.utility-main{display:grid;grid-template-columns:1fr 1fr;width:100%}.utility-main>*{text-align:center}.danger-zone{margin-left:0}.lesson-controls{position:sticky;bottom:0;margin:20px -20px -24px;padding:10px 12px;z-index:4}.lesson-controls .step-count{display:none}.lesson-controls button{padding:8px 10px}.step-rail{margin-inline:-20px;padding-inline:20px}.video-meta{grid-template-columns:1fr}section.page{min-height:620px}.support-toggles{grid-template-columns:1fr 1fr}}
@media print{section.page[hidden],.lesson-step[hidden]{display:block!important}@page{size:letter;margin:15mm}body{background:white;font:11pt/1.45 Georgia,serif}.hero,.bar,nav,.no-print,footer{display:none}main{display:block;padding:0;max-width:none}
section.page{box-shadow:none;border-top:2px solid #236a66;margin:0;padding:8px 0;break-before:page}section.page:first-child{break-before:auto}
h2{font-size:22pt}h3{font-size:13pt}p,.intro{font-size:11pt}.meta,.small{font-size:9pt}textarea{display:none}
.answer-print{display:block;border:1px solid #aab;min-height:70px;padding:8px;overflow-wrap:anywhere}.field{break-inside:avoid}.table-wrap{overflow:visible}table{font-size:9.5pt}
td,th{padding:5px}figure{max-width:560px;break-inside:avoid}a{color:#172a38}.callout,.evidence{padding:8px 12px}.field label{font-size:10pt}.print-url:after{content:" (" attr(href) ")";font-size:8pt;overflow-wrap:anywhere}}
