:root{color-scheme:dark;--bg:#0f1115;--panel:#1b2029;--panel2:#222834;--line:#2d3544;--ink:#e8ecf2;--mute:#9aa6b8;--acc:#7cc4ff;--violet:#b69cff;--ok:#4cd07d;--warn:#f5c451;--bad:#ff6b6b}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 system-ui,sans-serif}a{color:var(--acc)}button,input,select,textarea{font:inherit}button,a.btn{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--acc);outline-offset:3px}.skip{position:absolute;left:10px;top:-70px}.skip:focus{top:10px;background:var(--panel);padding:10px;z-index:9}.top{position:sticky;top:0;background:#0f1115f5;border-bottom:1px solid var(--line);z-index:5}.bar{max-width:1180px;margin:auto;padding:12px 20px;display:flex;gap:20px;align-items:center}.brand{font-weight:700;white-space:nowrap}.brand small{display:block;color:var(--mute);font-size:.75rem;font-weight:400}.mainnav{display:flex;gap:3px;overflow:auto;scrollbar-width:none}.mainnav a{display:inline-flex;align-items:center;min-height:44px;white-space:nowrap;padding:7px 10px;border-radius:8px;text-decoration:none;color:var(--mute);font-size:.9rem}.mainnav a.active{background:var(--panel2);color:var(--acc)}main,.foot{max-width:1180px;margin:auto;padding:24px 20px}h1{font-size:clamp(1.9rem,4vw,2.7rem);line-height:1.15;letter-spacing:-.025em;margin:10px 0 16px}h2{font-size:1.3rem;line-height:1.35}h3{font-size:1.05rem}p{margin:.6em 0}.muted,.small{color:var(--mute)}.small{font-size:.85rem}.eyebrow{text-transform:uppercase;letter-spacing:.1em;font-size:.75rem;color:var(--violet)}.lede{max-width:78ch;color:var(--mute)}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.spread{justify-content:space-between}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:20px 0}.stat,.card{border:1px solid var(--line);background:var(--panel);padding:20px;border-radius:14px;min-width:0}.stat strong{display:block;font-size:1.9rem}.stat span{color:var(--mute);font-size:.8rem}.card{margin:14px 0}.grid .card{margin:0;display:flex;flex-direction:column}.card h2:first-child,.card h3:first-child{margin-top:0}.card .row:last-child{margin-top:auto;padding-top:12px}.card>p{max-width:90ch}.btn{display:inline-flex;justify-content:center;align-items:center;padding:9px 14px;min-height:44px;background:var(--panel2);color:var(--ink);border:1px solid var(--line);border-radius:9px;text-decoration:none;gap:7px}.btn.pri{background:#205f95;border-color:#3980b8}.btn:hover{border-color:var(--acc)}.btn:disabled{opacity:.45;cursor:default}.badge{display:inline-block;max-width:100%;border:1px solid var(--line);border-radius:30px;padding:2px 9px;font-size:.73rem;color:var(--mute)}.badge.ok{color:var(--ok)}.badge.warn{color:var(--warn)}.callout{padding:14px 18px;border-left:3px solid var(--warn);background:#28231a;border-radius:0 10px 10px 0;margin:20px 0}.progress{height:6px;background:var(--panel2);border-radius:30px;overflow:hidden;margin:12px 0}.progress i{display:block;background:linear-gradient(90deg,var(--acc),var(--violet));height:100%}.tabs{display:flex;gap:8px;overflow-x:auto;margin:20px 0}.tabs .btn{flex-shrink:0}.tabs .active{border-color:var(--acc);color:var(--acc)}.lesson{max-width:920px}.source summary,details summary{cursor:pointer;color:var(--acc);padding:8px 0}.source{margin:12px 0;border-top:1px solid var(--line)}.source-body{padding:14px;background:#11151c;border-radius:10px}.source pre{white-space:pre-wrap;font:inherit;font-size:.9rem;overflow-wrap:anywhere}.source h4{margin:0 0 8px}table{border-collapse:collapse;width:100%;font-size:.9rem}th,td{padding:9px;border:1px solid var(--line);text-align:left;vertical-align:top}.table-scroll{overflow-x:auto}.prompt{font-size:1.1rem;white-space:pre-wrap}.item{max-width:850px;margin:16px auto}.option{display:flex;align-items:center;gap:12px;width:100%;text-align:left;margin:9px 0;padding:13px;background:#141922;border:1px solid var(--line);border-radius:10px}.option input{accent-color:var(--acc);flex-shrink:0}.option:has(input:checked){border-color:var(--acc);background:#152b3d}.option .letter{color:var(--mute);min-width:22px}.feedback{border-left:3px solid var(--acc);background:#152432;padding:16px;margin:20px 0;border-radius:0 10px 10px 0}.feedback.good{border-color:var(--ok);background:#11261d}.feedback.bad{border-color:var(--bad);background:#291a20}.confidence{display:flex;gap:8px;margin:12px 0;flex-wrap:wrap}.confidence label{padding:8px 12px;background:var(--panel2);border:1px solid var(--line);border-radius:8px;cursor:pointer}.confidence label:has(input:checked){border-color:var(--violet)}.confidence input{accent-color:var(--violet)}fieldset{border:none;padding:0;margin:12px 0}legend{padding:0;font-size:.9rem;color:var(--mute)}textarea,input[type=text],select{background:#11151c;color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:10px}textarea{width:100%;resize:vertical;min-height:120px}select{max-width:100%}.questionmap{display:flex;gap:6px;flex-wrap:wrap}.questionmap a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:5px 10px;border:1px solid var(--line);border-radius:6px;text-decoration:none}.questionmap a.checked{border-color:var(--ok)}.questionmap a.current{background:#205f95}.visual{margin:18px 0;background:#11151c;border:1px solid var(--line);border-radius:12px;overflow:hidden}.visual svg{width:100%;display:block;max-height:340px}.visual-controls{padding:15px;display:flex;gap:8px;flex-wrap:wrap}.visual-caption{padding:0 20px 18px}.visual svg text{font-family:system-ui,sans-serif;fill:#e8ecf2;font-size:18px}.visual .moving{transition:all .7s ease}.visual .node{fill:#1b2029;stroke:#7cc4ff;stroke-width:2}.visual .path{stroke:#7cc4ff;stroke-width:3;fill:none}.visual .water{fill:#7cc4ff}.visual .signal{fill:#b69cff}.visual input[type=range]{width:100%}video{width:100%;border-radius:12px;background:#000}.movie-stage a{font-size:.85rem}.movie-stage .btn{flex:1 1 9rem}.table-scroll:focus-visible{outline:3px solid var(--acc);outline-offset:3px}.foot{border-top:1px solid var(--line);font-size:.82rem;color:var(--mute);padding-top:18px}.statusmsg{color:var(--warn);font-size:.9rem}.coverage-row{padding:12px 0;border-top:1px solid var(--line)}.coverage-row .original{font-size:.92rem}.scope-note{color:var(--warn);font-size:.85rem}.longtext{white-space:pre-wrap}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:800px){.bar{flex-direction:column;align-items:stretch;gap:7px}.mainnav{width:100%}.brand small{display:inline;margin-left:8px}.stats{grid-template-columns:repeat(2,1fr)}main{padding:18px 14px}.grid{grid-template-columns:repeat(auto-fit,minmax(235px,1fr))}.card{padding:16px}.visual svg text{font-size:19px}}@media(max-width:480px){.grid{grid-template-columns:1fr}.row .btn{flex:1}.brand{font-size:.92rem}.visual svg{min-height:210px}.tabs .btn{flex:0}.questionmap a{min-width:38px;text-align:center}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}@media print{body,.card,.stat,.callout,.source-body,.feedback{background:white;color:#111}h1,h2,h3,a,.muted,.small,.eyebrow{color:#222}.top,.foot,.btn,.tabs,.confidence,.visual-controls,video{display:none}.card{break-inside:avoid}.grid,.stats{display:block}.source pre{font-size:10pt}.visual svg text{fill:#111}details{display:block}details>*{display:block!important}}

@media(max-width:480px){.row.movie-stage .btn{flex:1 1 9rem}}

/* Checked feedback uses one green for the correct choice and its explanation. */
.option.answer-correct{--answer-color:var(--ok);--answer-bg:#11261d}
.option.answer-wrong{--answer-color:var(--bad);--answer-bg:#291a20}
.option.answer-correct,.option.answer-wrong,
.option.answer-correct:has(input:checked),.option.answer-wrong:has(input:checked){
  border-color:var(--answer-color);background:var(--answer-bg);color:var(--answer-color)
}
.option.answer-correct .letter,.option.answer-wrong .letter{color:inherit}
.option.answer-correct input,.option.answer-wrong input{
  appearance:none;width:16px;height:16px;border:2px solid currentColor;
  border-radius:50%;background:transparent;color:inherit;opacity:1
}
.option.answer-correct input:checked,.option.answer-wrong input:checked{
  background:currentColor;box-shadow:inset 0 0 0 3px var(--answer-bg)
}
.feedback .correct-answer{color:var(--ok)}
@media(forced-colors:active){
  .option.answer-correct input,.option.answer-wrong input{appearance:auto}
}
@media print{
  .option.answer-correct,.option.answer-wrong,
  .option.answer-correct:has(input:checked),.option.answer-wrong:has(input:checked){
    --answer-bg:white;--answer-color:#111;background:white;color:#111;border-color:#111
  }
  .feedback .correct-answer{color:#111}
}
