/* Self-contained lecture theme, inspired by the collection's CNN worksheet. */
:root{--paper:#f6f4ed;--white:#fffefa;--ink:#183c35;--muted:#586c62;--teal:#12655b;--deep:#124b47;--mint:#dceadd;--line:#cbd7ca;--coral:#b24a30;--sand:#f4e5d0;--gold:#e2b457;--sans:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--mono:ui-monospace,SFMono-Regular,Consolas,monospace}
*{box-sizing:border-box}html{scroll-padding-top:105px}body{margin:0;background:var(--paper);font:16px/1.75 var(--sans);color:var(--ink)}a{color:var(--teal);text-underline-offset:4px}button,input,select,textarea{font:inherit}button,select,summary{cursor:pointer}button,.button{border:1px solid var(--line);border-radius:8px;background:var(--white);color:var(--ink);padding:9px 14px;font-size:13px;font-weight:600;text-decoration:none;display:inline-block}button:hover,.button:hover{border-color:var(--teal);background:var(--mint)}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #a06610;outline-offset:4px}input[type=range]{accent-color:var(--teal);width:100%}input[type=radio]{accent-color:var(--teal);width:18px;height:18px;flex:none}select,input[type=text],textarea{border:1px solid #99afa0;background:var(--white);border-radius:7px;padding:9px 10px;max-width:100%;color:var(--ink)}textarea{width:100%;min-height:110px;resize:vertical}::selection{background:var(--gold)}[hidden]{display:none!important}.skip{position:fixed;top:-80px;left:20px;background:white;padding:12px;z-index:100}.skip:focus{top:12px}
.topbar{position:sticky;top:0;z-index:20;min-height:78px;background:#f6f4edf5;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:20px;padding:14px 30px}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:var(--ink);font-size:11px;font-weight:750;letter-spacing:.13em;line-height:1.5}.brand small{display:block;letter-spacing:0;font-size:12px;font-weight:400;color:var(--muted)}.logo{width:39px;height:39px;background:var(--deep);color:var(--mint);border-radius:50%;display:grid;place-items:center;font:29px Georgia,serif}.progress-wrap{margin-left:auto;max-width:230px;width:25%;font-size:11px;color:var(--muted)}progress{display:block;width:100%;height:5px;accent-color:var(--teal);margin-top:6px;border:0;background:var(--line)}progress::-webkit-progress-bar{background:var(--line)}progress::-webkit-progress-value{background:var(--teal)}.topbar .quiet{background:none;font-weight:400}
.layout{display:grid;grid-template-columns:200px minmax(0,1fr);gap:48px;max-width:1450px;margin:0 auto;padding:45px 36px 80px}.sidebar{position:sticky;top:120px;align-self:start;max-height:calc(100vh - 145px);overflow:auto}.eyebrow,.step-label{font:500 11px/1.6 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--teal)}.sidebar nav{display:flex;flex-direction:column;gap:5px;margin:20px 0}.sidebar nav a{font-size:13px;text-decoration:none;padding:10px 9px;border-radius:7px;color:var(--muted);display:flex;gap:10px}.sidebar nav a span{font:11px var(--mono);padding-top:4px;opacity:.7}.sidebar nav a[aria-current]{color:var(--teal);background:var(--mint);font-weight:650}.sidebar-note{border-top:1px solid var(--line);margin-top:22px;padding-top:20px;font-size:18px;line-height:1.55}.sidebar .asset-link{display:block;font-size:12px;margin-top:12px}.prose{max-width:1080px;min-width:0}h1{font-size:clamp(43px,5.2vw,76px);line-height:1.09;font-weight:500;letter-spacing:-.065em;margin:25px 0}h1 em{font-family:Georgia,serif;font-weight:400;color:var(--teal)}h2{font-size:clamp(28px,3.2vw,43px);line-height:1.16;font-weight:500;letter-spacing:-.045em;margin:6px 0 0}h3{font-size:22px;line-height:1.3;font-weight:600;letter-spacing:-.025em}h4{font-size:18px;margin:5px 0}p{margin:12px 0}.intro .back{font-size:12px;display:inline-block;margin-bottom:28px}.intro .lede{max-width:680px;font-size:18px;color:var(--muted);line-height:1.8}.pills{display:flex;flex-wrap:wrap;gap:9px;margin:22px 0 30px}.pills span{padding:5px 10px;background:#e8ede2;border-radius:5px;font-size:11px;color:var(--teal)}.orientation{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;margin:25px 0 50px}.orientation b{display:block;font:11px var(--mono);color:var(--teal)}.orientation p{font-size:12px;color:var(--muted);margin:6px 0}
.mission{background:var(--deep);color:var(--white);border-radius:18px;padding:32px;margin:0 0 40px}.mission .eyebrow{color:#cce0c8}.mission h2{font-size:31px;color:var(--white);max-width:680px}.mission-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:26px;margin-top:24px}.cue-card{background:#ffffff12;border:1px solid #ffffff40;border-radius:12px;padding:22px}.cue-word{font:30px var(--mono);letter-spacing:.14em;color:#efcd82;display:block;margin:8px 0 18px}.mission p,.mission li{font-size:14px;line-height:1.8}.mission ol{padding-left:22px}.mission .note{font-size:12px;color:#d2dfd5}.learning-goals{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.learning-goals>div{border-left:2px solid var(--line);padding:0 15px;font-size:13px}.learning-goals b{display:block;font-size:15px;margin-bottom:5px}.bridge{background:#e8ede2;border-radius:10px;padding:16px 20px;font-size:14px;margin:25px 0}
.lab{margin-top:75px;padding-top:36px;border-top:1px solid var(--line);scroll-margin-top:20px}.section-heading{display:flex;gap:20px;align-items:flex-start;margin-bottom:30px}.section-number{font:24px var(--mono);color:#6a8977;padding-top:6px;min-width:36px}.step-label{display:block;margin:24px 0 10px}.lesson-hook>p{font-size:25px;line-height:1.5;letter-spacing:-.025em;max-width:790px;margin:8px 0 18px}.hook-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.hook-card{background:var(--white);border:1px solid var(--line);border-radius:10px;padding:17px 20px}.hook-card small{display:block;color:var(--muted);font:11px var(--mono);margin-bottom:8px}.hook-card b{font-size:19px;font-weight:550}.hook-card mark{background:var(--mint);padding:2px 5px;color:var(--teal)}.problem-visual{margin:22px 0;padding:22px;border:1px solid var(--line);border-radius:14px;background:#edeee5}.problem-visual img{display:block;width:100%;height:auto}.problem-visual figcaption{font-size:13px;line-height:1.7;color:var(--muted);margin-top:15px}.problem-visual .step-label{margin-top:0}.problem-flow{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.problem-flow>div{flex:1;min-width:140px;padding:15px;border:1px solid #bccdba;background:var(--white);border-radius:10px}.problem-flow b{display:block;font-size:18px}.problem-flow span{font-size:12px;color:var(--muted)}.lesson-explanation p{line-height:1.9;max-width:850px}.analogy{border-left:3px solid #9dbb9d;padding:2px 18px;margin:20px 0}.analogy p{font-size:15px}.formula-card{padding:21px 24px;background:var(--mint);border:1px solid #bacfba;border-radius:12px;margin:24px 0 12px}.formula-card .step-label{margin:0 0 10px}.equation{font:21px/1.75 var(--mono);overflow-x:auto;white-space:normal}.notation{font-size:12px;color:#3c5e4c;margin-top:10px}.theory-fold{border:1px solid var(--line);border-radius:11px;margin:14px 0;background:var(--white)}summary{padding:15px 19px;font-size:14px;font-weight:600}summary small{font-weight:400;color:var(--muted);margin-left:6px}.fold-body{padding:0 23px 20px}.fold-body p,.fold-body li{font-size:14px;line-height:1.85}.fold-body h3{font-size:18px;margin-top:23px}.fold-body ul{padding-left:20px}.math-scroll{overflow:auto}.math-table{border-collapse:collapse;width:100%;min-width:400px;font-size:13px;margin:15px 0}.math-table th,.math-table td{border-bottom:1px solid var(--line);padding:10px 12px;text-align:left}.math-table th{font-size:11px;color:var(--muted)}.math-table .number{font-family:var(--mono)}.caution{padding:12px 17px;border-left:3px solid var(--coral);background:#f5ebdf;font-size:13px;margin:20px 0}.matrix-row{display:flex;gap:22px;align-items:center;flex-wrap:wrap}.matrix{border-collapse:collapse;font:18px var(--mono);margin:10px 0}.matrix caption{font:13px var(--sans);padding:8px;text-align:left}.matrix td{border:1px solid #bdcdbb;text-align:center;padding:12px 16px;background:#e6eee1}
.animation{background:var(--white);border:1px solid var(--line);border-radius:16px;margin:18px 0 30px;overflow:hidden}.anim-heading{padding:23px 25px 10px}.anim-heading h3{margin:6px 0}.anim-heading p{font-size:13px;color:var(--muted);margin:8px 0}.lab-controls{display:flex;flex-wrap:wrap;gap:15px;background:#edf0e7;padding:16px 24px;border-block:1px solid var(--line)}.lab-controls label{flex:1 1 145px;font-size:12px;min-width:0;max-width:280px}.lab-controls select{display:block;margin-top:6px;width:100%;font-size:13px}.lab-controls output{float:right;font:13px var(--mono);color:var(--teal)}.lab-controls .preset-row{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.lab-controls .preset-row button{font-size:12px}.anim-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:7px;padding:15px 24px 6px}.anim-play{background:var(--deep);color:var(--white);min-width:103px}.anim-play:hover{background:var(--teal);color:white}.anim-toolbar label{font-size:11px;margin-left:auto;display:flex;align-items:center;gap:8px}.anim-toolbar select{font-size:12px;padding:6px}.anim-counter{font:11px var(--mono);color:var(--muted)}.anim-viewport{overflow-x:auto;overscroll-behavior-x:contain;padding:8px 14px 0}.anim-canvas{min-width:740px}.anim-canvas svg{display:block;width:100%;height:auto}.anim-pan-hint{display:none;font-size:11px;color:var(--muted);padding:0 20px}.anim-timeline{display:flex;gap:20px;align-items:center;padding:0 24px 15px}.anim-timeline label{font-size:11px;color:var(--muted);flex:1}.anim-download{font-size:11px;white-space:nowrap}.anim-beats{display:flex;gap:6px;overflow:auto;padding:8px 24px 16px}.anim-beats button{flex:1 0 95px;max-width:145px;text-align:left;font-size:11px;font-weight:400;line-height:1.45}.anim-beats button span{display:block;font:10px var(--mono);opacity:.7;margin-bottom:5px}.anim-beats .current{background:var(--mint);border-color:var(--teal);color:var(--teal)}.anim-beats i{font-style:normal;color:var(--coral);font-size:10px;display:block;margin-top:5px}.anim-caption{padding:20px 24px;background:#eaf0e2;border-top:1px solid var(--line);min-height:176px}.anim-caption.is-checkpoint{background:var(--sand);border-color:#d3b681}.anim-phase{font:10px var(--mono);letter-spacing:.06em;color:var(--teal)}.anim-caption h4{font-size:19px;line-height:1.35;margin:6px 0}.anim-narration{font-size:14px;line-height:1.8;margin:8px 0}.anim-equation{font:13px/1.8 var(--mono)}.anim-prompt{font-size:12px;font-weight:600;color:var(--coral)}.anim-assumptions,.anim-reduced{padding:0 24px;font-size:11px;line-height:1.8;color:var(--muted)}.readout{padding:16px 24px 21px;border-top:1px solid var(--line)}.readout .stats{display:flex;gap:13px;flex-wrap:wrap}.stat{flex:1 1 140px;padding:12px 15px;border-radius:8px;background:#f0f1e8}.stat small{display:block;color:var(--muted);font-size:11px}.stat strong{font:23px var(--mono);color:var(--teal);display:block}.readout p{font-size:12px;color:var(--muted)}.try-this{font-size:13px;background:var(--sand);padding:15px 20px;border-radius:9px;margin:15px 0 24px}.try-this b{font:11px var(--mono);color:var(--coral);display:block;margin-bottom:5px}
.question-grid{display:grid;grid-template-columns:1fr;gap:13px}.check{padding:21px 24px;border:1px solid var(--line);border-radius:12px;background:var(--white)}.check .qnum{font:11px var(--mono);color:var(--teal)}.check h3{font-size:16px;font-weight:550;line-height:1.7;margin:7px 0 12px;letter-spacing:0}.check input[type=text]{width:160px;font-family:var(--mono);font-size:16px}.answer-row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.options{border:0;padding:0;margin:0 0 15px;display:flex;gap:10px;flex-wrap:wrap}.options legend{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.options label{display:flex;align-items:center;gap:7px;padding:8px 11px;border:1px solid var(--line);border-radius:6px;font-size:13px;max-width:100%}.feedback{font-size:13px;margin:7px 0 0;color:var(--coral)}.check.correct{border-color:#72a782}.check.correct .feedback{color:var(--teal)}.answer{margin-top:12px}.answer summary{font-size:12px;color:var(--teal);padding:5px 0}.answer div{font-size:13px;line-height:1.8;padding:5px 0}.exit-grid{display:grid;gap:18px;margin-top:22px}.exit-grid label{font-size:14px;display:block;margin-bottom:9px}.exit-ticket{padding:26px;border-radius:14px;background:var(--mint)}.closing{font:24px/1.5 Georgia,serif;padding:25px 0;color:var(--teal)}.resources{margin-top:70px;border-top:1px solid var(--line);padding-top:25px;font-size:13px}.resources h2{font-size:28px}.resources li{margin:12px 0}.resource-links{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.storage-note{font-size:11px;color:var(--muted)}footer{font-size:12px;color:var(--muted);padding:28px 0 10px}.noscript{padding:16px;background:var(--sand)}
@media(min-width:1500px){.layout{gap:60px}}@media(max-width:1120px){.layout{grid-template-columns:165px minmax(0,1fr);gap:26px;padding:35px 24px}.anim-pan-hint{display:block}.brand small{display:none}.topbar{gap:12px}.topbar button{padding:7px 9px}.learning-goals{gap:9px}}@media(max-width:800px){.layout{display:block;padding:24px 18px}.sidebar{position:relative;top:auto;max-height:none;margin-bottom:32px}.sidebar>.eyebrow,.sidebar-note,.sidebar>.asset-link{display:none}.sidebar nav{flex-direction:row;overflow:auto;margin:0;gap:6px}.sidebar nav a{flex:none;padding:8px 12px;background:#e8ede2}.sidebar nav a span{display:none}.topbar{padding:12px 16px;min-height:68px;flex-wrap:wrap;gap:10px}.topbar .brand{font-size:10px}.topbar .quiet{display:none}.progress-wrap{width:130px;font-size:10px}.topbar #print{display:none}.mission{padding:24px}.mission-grid{grid-template-columns:1fr}.learning-goals{grid-template-columns:1fr;gap:15px}.orientation{gap:15px;margin-bottom:30px}.hook-pair{grid-template-columns:1fr}.lab{margin-top:48px;padding-top:28px}.section-heading{gap:12px}.lesson-hook>p{font-size:22px}.anim-heading{padding:20px}.anim-toolbar{padding:12px 17px}.lab-controls{padding:14px 18px}.anim-beats{padding:8px 18px 15px}.anim-caption{padding:18px;min-height:205px}.anim-timeline{padding:0 18px 12px}.formula-card{padding:18px}.equation{font-size:17px}.check{padding:18px}.options{flex-direction:column;align-items:flex-start}.options label{width:100%}.problem-visual{padding:16px}.question-grid{display:block}.check{margin-bottom:12px}.lab-controls label{max-width:none}.mission h2{font-size:28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
@media print{@page{margin:16mm}body{background:white;font-size:11pt;color:#152d26}.topbar,.sidebar,.skip,.anim-toolbar,.anim-beats,.anim-timeline,.anim-pan-hint,.lab-controls,.resource-links,button,.progress-wrap,.storage-note,.anim-reduced,.noscript{display:none!important}.layout{display:block;padding:0}.prose{max-width:none}.intro h1{font-size:36pt}.lab{margin-top:25px;padding-top:20px;break-before:page}.mission{background:#eef3e9;color:#183c35;border:1px solid #bbcdb5;padding:20px}.mission h2,.mission .eyebrow,.mission .note,.cue-word{color:#183c35}.cue-card{border-color:#bbcdb5}.anim-canvas{min-width:0}.anim-viewport{overflow:visible;padding:0}.animation,.formula-card,.check,.hook-card{break-inside:avoid}.anim-caption{min-height:0;padding:12px}.anim-heading{padding:12px}.readout{padding:12px}.math-table{min-width:0}.answer{display:none}.theory-fold:not([open]){display:none}.lesson-explanation p{font-size:11pt}.resources{break-before:page}.mission-grid{grid-template-columns:1fr 1fr}textarea{min-height:80px}.cue-word{visibility:visible!important}}
