:root{color-scheme:dark;--bg:#090f17;--panel:#101d2a;--line:#293b4c;--ink:#ecf3f7;--muted:#aabcca;--cyan:#6ce2eb}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 system-ui,sans-serif}header{padding:22px 4vw;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.brand{text-decoration:none;color:var(--ink);letter-spacing:.16em;font-weight:750;font-size:22px}.brand span{color:var(--cyan)}.brand small{display:block;font-size:12px;letter-spacing:.24em;margin-left:0}.edition,.eyebrow{font-size:12px;letter-spacing:.15em;color:var(--cyan);font-weight:650}.layout{max-width:1500px;margin:auto;display:grid;grid-template-columns:340px minmax(0,1fr);gap:48px;padding:36px 4vw}aside{border-right:1px solid var(--line);padding-right:32px}.portrait{border:1px solid #44695d;border-radius:4px;overflow:hidden}.portrait img{display:block;width:100%;height:auto}.guide{padding-top:25px}h1{font-weight:450;line-height:1.15;font-size:38px;letter-spacing:-.045em;margin:14px 0}h1 em{font-style:normal;color:var(--cyan)}p{color:var(--muted)}.guide p{font-size:15px}.progressbox{margin-top:30px;padding-top:22px;border-top:1px solid var(--line)}label{display:block}label strong{float:right}progress{width:100%;height:7px;accent-color:var(--cyan)}small{color:var(--muted);font-size:13px}h2{font-size:30px;line-height:1.25;letter-spacing:-.025em;font-weight:550;margin:12px 0}.intro p{margin-top:10px}nav{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:28px 0}button{font:inherit;cursor:pointer;background:#162738;color:var(--ink);border:1px solid #3b5267;border-radius:5px;padding:11px 17px;text-align:left}button:hover{background:#233d51}button:focus-visible,a:focus-visible,textarea:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--cyan);outline-offset:4px}nav button{padding:14px;font-size:14px;line-height:1.45}nav button span{display:block;color:var(--muted);font-size:12px;margin-bottom:9px}nav button[aria-current="step"]{background:#173139;border-color:var(--cyan)}#lesson{border:1px solid var(--line);background:var(--panel);padding:30px;border-radius:7px}.lessonhead{border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:24px}h3{font-size:22px;line-height:1.3;margin:6px 0 12px}h4{font-size:17px;margin:23px 0 8px}article p{margin:8px 0 18px}b{color:var(--ink)}.callout{border-left:3px solid var(--cyan);padding:14px 18px;background:#142b36;color:#d6e7ed;margin:20px 0}details{border:1px solid var(--line);padding:14px 18px;margin:20px 0}summary{cursor:pointer;color:var(--cyan)}.activity{background:#0a151f;border:1px solid var(--line);padding:22px;margin-top:27px;border-radius:6px}.activity .eyebrow{color:#ecbf7d}.choices{display:grid;gap:9px;margin:15px 0}.feedback{padding:12px 0;color:var(--cyan)}.feedback:empty{display:none}.primary{background:var(--cyan);color:#08212a;border-color:var(--cyan);font-weight:650}.primary:hover{background:#a0f4f8}.complete{margin-top:24px}.numbers{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.stat{padding:15px;background:#142534;border:1px solid var(--line)}.stat strong{display:block;font-size:30px;color:var(--cyan)}input[type=range]{width:100%;accent-color:var(--cyan);margin:18px 0}textarea{width:100%;min-height:95px;background:#101f2c;color:var(--ink);border:1px solid #456075;border-radius:4px;padding:12px;font:inherit;resize:vertical;margin:7px 0 16px}table{width:100%;border-collapse:collapse;font-size:14px}td,th{padding:10px;text-align:left;border-bottom:1px solid var(--line)}footer{font-size:13px;color:var(--muted);margin:26px 0}.next{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}.saved{color:var(--cyan)}@media(max-width:1000px){.layout{grid-template-columns:260px minmax(0,1fr);gap:25px}aside{padding-right:22px}nav{grid-template-columns:1fr}nav button span{display:inline;margin-right:14px}#lesson{padding:22px}h1{font-size:32px}}@media(max-width:700px){header{padding:18px 5vw}.edition{display:none}.layout{display:block;padding:24px 5vw}aside{border:0;padding:0;display:grid;grid-template-columns:120px 1fr;gap:18px}.guide{padding:0}.guide h1{font-size:27px;margin:7px 0}.guide p{display:none}.progressbox{grid-column:1/-1;margin:0 0 26px;padding-top:14px}.portrait{align-self:start}.intro h2{font-size:27px}#lesson{padding:18px}.activity{padding:16px}.numbers{gap:7px}.brand{font-size:19px}}@media(prefers-reduced-motion:no-preference){button{transition:background .15s}}
.lessonsteps{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 25px}.lessonsteps button{font-size:14px}.lessonsteps button[aria-pressed=true],.choices button[aria-pressed=true]{border-color:var(--cyan);background:#183740}.legacy{font-size:14px;border-left:2px solid #ecbf7d;padding-left:12px}.tablewrap{overflow-x:auto}article>h3{margin-top:10px}#assessment-progress{color:var(--cyan)}@media(max-width:500px){.lessonsteps{grid-template-columns:1fr}}
body{font-size:18px;line-height:1.75}p{color:#c2d0db}.guide p,small,footer,.legacy,.gentle{font-size:16px}.eyebrow{font-size:13px}.helpbar{margin:24px 0 12px;display:flex;flex-wrap:wrap;gap:12px;align-items:center}.helpbar p{font-size:16px;margin:0}.helpbar button{border-color:var(--cyan)}nav button,.lessonsteps button{font-size:16px}.stepmenu{margin:0 0 24px}.stepmenu .lessonsteps{margin:16px 0 0}.term{display:inline;border:0;padding:0;background:none;border-radius:0;color:var(--cyan);font:inherit;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:4px}.term:hover{background:#193947}.example{border:1px solid #385c65;background:#122830;border-radius:5px;padding:18px;margin:20px 0}.example p,.callout p{margin:8px 0 0}.gentle{color:#b7c8d2}.callout{margin-top:28px}.range-ends{display:flex;justify-content:space-between;font-size:16px;gap:20px}.legacy:empty{display:none}#prompt-result{white-space:pre-wrap;overflow-wrap:anywhere}.glossary-top{display:flex;align-items:center;justify-content:space-between;gap:20px;position:sticky;top:0;background:var(--panel);padding:12px 0;z-index:1}.glossary-top h2{margin:0;font-size:26px}.glossary-top button{flex-shrink:0}dialog{width:min(760px,94vw);max-height:88vh;background:var(--panel);color:var(--ink);border:1px solid #496474;border-radius:8px;padding:10px 26px 26px;box-shadow:0 20px 80px #000a}dialog::backdrop{background:#02080ec9}dialog input{width:100%;background:#091620;border:1px solid #587386;border-radius:5px;color:var(--ink);padding:12px;font:inherit;margin:8px 0 14px}.glossary-entry{border-top:1px solid var(--line);padding:25px 0 12px}.glossary-entry h3{font-size:22px}.glossary-entry .example{margin:12px 0}#glossary-count{font-size:16px;color:var(--muted)}@media(max-width:700px){.guide p{display:block;font-size:16px}.guide h1{font-size:28px}.glossary-top{align-items:flex-start;gap:8px}.glossary-top h2{font-size:21px}.glossary-top button{font-size:16px;padding:8px}.helpbar button{width:100%}dialog{padding:8px 16px 20px}.layout{padding:24px 4vw}aside{grid-template-columns:100px 1fr}.lessonsteps{grid-template-columns:1fr}}
.explanation{margin-top:28px;padding-top:8px;border-top:1px solid var(--line)}.completion{margin:28px 0;border:1px solid var(--cyan);background:linear-gradient(130deg,#12333d,#10202e);padding:30px;border-radius:8px}.completion[hidden]{display:none}.completion h2{font-size:30px;color:var(--ink)}.signature{color:var(--cyan);font-weight:600}@media(max-width:700px){.completion{padding:20px}.completion h2{font-size:26px}}
.install-panel{margin-top:28px;border-top:1px solid var(--line);padding-top:22px}.install-panel h2{font-size:22px}.install-panel p{font-size:16px}.install-actions{display:grid;gap:10px}.install-actions button{font-size:16px;border-color:#477686}.install-panel #offline-status{font-size:14px;color:var(--muted)}#install-dialog ol{padding-left:25px}#install-dialog li{margin:12px 0}#install-dialog a{color:var(--cyan)}button[hidden]{display:none}@media(max-width:700px){.install-panel{grid-column:1/-1;margin:0 0 20px}.install-actions{grid-template-columns:1fr 1fr}.install-panel p{margin:8px 0}.install-panel h2{margin:8px 0}}@media(max-width:380px){.install-actions{grid-template-columns:1fr}}
