:root{color-scheme:light;--ink:#183744;--muted:#526970;--sea:#176c65;--line:#d6e2e2;--navy:#102d3d;--gold:#f5cb88;--mint:#91e5d4;font-family:Tahoma,Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 10% 15%,#21566c,transparent 55%),#102d3d;color:#edf8f5;font-size:17px;line-height:1.85}button,input,summary{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}button{border:0;border-radius:13px;min-height:48px;padding:12px 21px;background:var(--sea);color:#fff;font-weight:700;cursor:pointer}button:disabled{cursor:default;opacity:.5}button:hover:not(:disabled){filter:brightness(1.06)}:focus-visible{outline:3px solid #cc7b2e;outline-offset:4px}a{color:inherit}header{max-width:1200px;margin:auto;padding:25px 30px;display:flex;align-items:center;gap:28px}.brand{text-decoration:none;color:var(--mint);font-size:36px;font-weight:900;line-height:1.2}.brand span{display:block;color:#c8dadc;font-size:11px;margin-top:9px;font-weight:400}.course{font-size:16px}.course span{display:block;color:#b7cfd7;font-size:13px}.edition{margin-inline-start:auto;font-size:12px;color:#cae1e5;border:1px solid #7e9daa55;border-radius:30px;padding:7px 15px}main{max-width:1200px;margin:auto;padding:10px 30px 0}.layout{display:grid;grid-template-columns:285px minmax(0,1fr);gap:34px;align-items:start}.rail{padding:17px 0}.mission-number{font-size:12px;color:#b5d2d7}.rail h1{font-size:40px;line-height:1.35;margin:10px 0 0;color:var(--gold)}.harbor-art{margin:12px 0 0}.harbor-art svg{display:block;width:100%;max-height:190px}.harbor-art span{display:block;color:#afccd0;text-align:center;font-size:12px}.mission-brief{font-size:14px;line-height:1.9;color:#c4d8de}.path{list-style:none;padding:0;margin:24px 0;display:grid;gap:12px}.path li{display:flex;align-items:center;gap:11px;font-size:13px;color:#bdd0d8}.node{width:30px;height:30px;border:1px solid #78939f;border-radius:10px;display:grid;place-items:center;flex:none;font:14px Arial}.path .active{color:var(--gold);font-weight:bold}.active .node{background:var(--gold);color:var(--navy);border-color:var(--gold)}.done .node{background:#1f635f;color:var(--mint);border-color:#91e5d477}.side-points{border-top:1px solid #78939f66;padding-top:16px;color:var(--gold);font-size:15px}.side-points small{display:block;font-size:11px;color:#bcd1d4}.surface{color:var(--ink);background:#f7faf6;border-radius:25px;border-top:5px solid #a3dec7;padding:32px;box-shadow:0 18px 55px #05162438;min-width:0}.surface h1{font-size:39px;line-height:1.35;margin:10px 0 16px;letter-spacing:-.7px}.surface h2{font-size:28px;line-height:1.55;margin:6px 0 18px}.surface h3{font-size:19px;margin:0 0 10px;line-height:1.65}.surface p{margin:12px 0}.eyebrow{font-size:12px;color:#176c65;font-weight:700;letter-spacing:.4px}.subtitle{font-size:17px;color:var(--muted)}.start-route{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:24px 0;font-size:12px}.start-route span{background:#e8f1eb;padding:7px 12px;border-radius:10px}.start-route i{font-style:normal;color:#859f9f}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field label{display:block;font-size:14px;font-weight:bold;margin:0 0 8px}.field input{width:100%;min-height:51px;padding:12px 14px;background:white;border:1px solid #b5cecb;border-radius:12px;color:var(--ink);outline-color:var(--sea)}.calm-note{font-size:13px;background:#eaf0ea;border-radius:12px;padding:13px 15px;color:#4a645f}.launch{width:100%;display:flex;align-items:center;justify-content:space-between;margin:20px 0 5px;box-shadow:0 4px 0 #0a4e49;font-size:18px}.launch span{font-size:26px}.math,.equation{direction:ltr;unicode-bidi:isolate;font-family:Arial,Tahoma,sans-serif}.math{display:inline-block}.equation{padding:18px 12px;margin:19px 0;text-align:center;background:#e6f0eb;border:1px solid #bad7ca;border-radius:15px;font-size:25px;overflow-wrap:anywhere;line-height:1.5}.prompt{font-size:22px;font-weight:700;line-height:1.85}.progressline{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:12px;color:var(--muted)}.progress{height:7px;background:#dce7e3;border-radius:8px;overflow:hidden;margin:13px 0 24px}.progress div{height:100%;background:#247d6d}.options{display:grid;gap:12px;margin:20px 0}.option{display:flex;align-items:center;gap:14px;text-align:right;background:#fff;border:1px solid #c9dcd6;color:var(--ink);border-radius:14px;box-shadow:0 3px 0 #e0e8e1;padding:14px 17px;min-height:63px;font-weight:500}.option>span:last-child{min-width:0;overflow-wrap:anywhere}.option.selected{background:#e2f2e8;border:2px solid #176c65;padding:13px 16px;box-shadow:0 3px 0 #176c65}.option:disabled{opacity:1}.letter{width:32px;height:32px;background:#eef4ef;color:#57706c;border-radius:9px;display:grid;place-items:center;flex:none;font-size:13px}.option.selected .letter{background:#176c65;color:white}.actions{display:flex;flex-wrap:wrap;gap:11px;margin-top:24px}.actions button{flex:1}.secondary{background:#ddece4;color:var(--ink)}.ghost{background:transparent;color:var(--sea);border:1px solid #bad1c7;font-weight:500}.small{font-size:12px;min-height:40px;padding:8px 12px}.danger{color:#ad3e38;background:#fff1ef;border-color:#e1aaa4}.tools{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:24px;border-top:1px solid var(--line);padding-top:16px}.session-options{font-size:12px}.session-options summary{cursor:pointer;min-height:44px;display:flex;align-items:center;color:#526e69}.saving{font-size:11px;line-height:1.8;color:#60746f}.saving p{margin:8px 0}.muted{color:var(--muted);font-size:14px}.callout{background:#e9f2e9;border:1px solid #caddc8;border-radius:14px;padding:16px;margin:18px 0;font-size:14px}.callout.warn{background:#fff1d8;border-color:#e5ca98}.skill-summaries{display:grid;gap:10px;margin:20px 0}.skill-summaries article{display:flex;justify-content:space-between;align-items:center;gap:12px;background:white;border:1px solid #d4e0d8;border-radius:13px;padding:12px 15px}.skill-summaries small{display:block;color:var(--muted);font-size:12px}.skill-summaries bdi{font-family:Arial,sans-serif;font-size:23px;white-space:nowrap;color:var(--sea)}.module{background:white;border:1px solid #d7e3dc;border-radius:14px;margin:18px 0;padding:18px}.module ol{padding-inline-start:22px;margin:0}.module li{margin-bottom:10px;font-size:15px}.module p{font-size:16px}.pill{display:inline-block;font-size:11px;padding:4px 10px;border-radius:18px;background:#e3f1e9;color:#176c65}.lab{background:#163b49;color:#e6f5f3;border-radius:16px;padding:19px;margin:22px 0}.lab .eyebrow{color:#99dece}.lab-controls{display:flex;flex-wrap:wrap;gap:8px}.lab-controls button{font-size:12px;background:#28515e;border:1px solid #638a92;padding:8px 12px;min-height:44px}.lab-controls button[aria-pressed=true]{background:#91e5d4;color:#102d3d}.lab-output{font-size:14px;margin-top:15px;min-height:50px}.lab-output .equation{font-size:21px}.feedback{border:2px solid #41966c;border-radius:14px;padding:18px;margin-top:20px;background:#e1f4e6}.feedback.incorrect{border-color:#cb766f;background:#fff0ec}.feedback h3{color:#176b4e}.feedback.incorrect h3{color:#a23d38}.feedback p{font-size:15px}.review{margin:22px 0}.review details{background:#fff;border:1px solid #d9e3dc;padding:12px 14px;border-radius:12px;margin:10px 0;font-size:14px}.review summary{cursor:pointer;min-height:40px;line-height:1.85}.reveal-answer{color:#14634b;font-weight:bold}.badge{background:#163b49;border-radius:16px;color:#f9d595;padding:20px;margin:18px 0}.badge strong{display:block;font-size:23px}.badge span{display:block;color:#d8e9e7;font-size:14px;margin-top:7px}.scoregrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.score{padding:15px 9px;border:1px solid #c8dad1;border-radius:14px;text-align:center;background:#fff}.score>span{display:block;font-size:12px}.score b{display:block;font-size:28px;line-height:1.8;color:var(--sea)}.score small{font-size:12px;color:var(--muted)}.growth-note{font-size:14px;background:#e5f0e9;padding:14px;border-radius:12px}.result-skills{display:grid;gap:16px;margin:22px 0}.result-skills article{background:#fff;border:1px solid #cadbd1;border-radius:15px;padding:18px}.result-skills p{font-size:14px}.result-skills small{color:var(--muted);font-size:12px}.skill-numbers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.skill-numbers>div{background:#f0f5ef;border-radius:10px;text-align:center;padding:8px 4px;min-width:0}.skill-numbers span,.skill-numbers small{display:block;font-size:11px}.skill-evidence{font-weight:bold;color:var(--sea)}.author{padding:25px 15px 35px;text-align:center;color:#d9e6de;font-size:13px}#notice{position:fixed;bottom:15px;inset-inline:15px;max-width:650px;margin:auto;background:#153945;color:white;border:1px solid #8bcebc;border-radius:13px;padding:14px 20px;display:none;font-size:14px;z-index:20}#notice.show{display:block}dialog{max-width:min(90vw,500px);border:0;border-radius:20px;padding:25px;color:var(--ink);direction:rtl}dialog::backdrop{background:#10232dbb}.print-only,.wrapcode{display:none}.empty-note{padding:22px}.question-code{display:none}noscript{display:block;text-align:center;padding:20px}
@media(max-width:850px){header{padding:20px 20px;gap:20px}main{padding:0 18px}.layout{grid-template-columns:1fr;gap:15px}.rail{padding:5px 4px;display:grid;grid-template-columns:1fr auto;gap:9px}.rail h1{font-size:27px;margin:0}.mission-number{grid-column:1/-1}.harbor-art,.mission-brief{display:none}.side-points{grid-column:2;grid-row:2;padding:0;border:0;font-size:12px;align-self:center}.side-points small{display:none}.path{display:flex;flex-wrap:wrap;gap:8px;grid-column:1/-1;margin:5px 0 8px}.path li{gap:4px;font-size:10px}.node{width:23px;height:23px;font-size:11px;border-radius:7px}.edition{display:none}.surface{padding:26px}}
@media(max-width:540px){body{font-size:16px}header{padding:18px 17px;justify-content:space-between;gap:12px}.brand{font-size:30px}.brand span{font-size:10px}.course{text-align:left;font-size:13px}.course span{font-size:11px;max-width:170px}main{padding:0 11px}.surface{border-radius:19px;padding:23px 17px}.surface h1{font-size:34px}.surface h2{font-size:25px}.rail h1{font-size:24px}.side-points{font-size:11px}.formgrid{grid-template-columns:1fr;gap:12px}.prompt{font-size:20px}.equation{font-size:24px;padding:17px 8px}.option{padding:13px 12px;font-size:16px;gap:11px}.option.selected{padding:12px 11px}.actions{gap:9px}.actions button{flex-basis:100%;font-size:15px}.start-route{font-size:11px;gap:5px}.start-route i{display:none}.start-route span{padding:5px 7px}.scoregrid{grid-template-columns:1fr;gap:8px}.score{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 13px}.score b{font-size:25px}.score span{font-size:11px}.result-skills article{padding:14px}.skill-summaries article{padding:11px}.skill-summaries strong{font-size:14px}.badge strong{font-size:22px}.lab{padding:16px}.lab-controls button{flex:1;min-width:90px}.path li{font-size:10px}.path{gap:7px}.tools{gap:9px}.author{font-size:12px}}
@media(prefers-reduced-motion:no-preference){.surface{animation:arrive .18s ease-out}@keyframes arrive{from{opacity:.75;transform:translateY(3px)}to{opacity:1;transform:none}}}
@media print{@page{size:A4;margin:13mm}body{background:white;color:#15352e;font-size:11px;line-height:1.65}header{padding:0 0 12px;color:#15352e}.brand{font-size:23px;color:#146854}.brand span,.course span{color:#526970}.edition,.rail,.actions,.tools,.saving,#notice,.no-print,.lab,dialog{display:none!important}main{max-width:none;margin:0;padding:0}.layout{display:block}.surface{border:0;box-shadow:none;padding:0;background:white}.surface h1,.surface h2{font-size:21px}.surface h3{font-size:15px}.surface p{font-size:11px;margin:7px 0}.badge{background:#f3f5f2;border:1px solid #9fbbab;padding:10px;color:#15352e}.badge strong{font-size:18px}.badge span{color:#15352e;font-size:11px}.scoregrid{display:grid;grid-template-columns:repeat(3,1fr)}.score{display:block;padding:8px}.score b{font-size:23px}.score span,.score small{font-size:10px}.result-skills{gap:10px;margin:14px 0}.result-skills article{padding:11px;break-inside:avoid}.skill-numbers{grid-template-columns:repeat(3,1fr)}.callout{font-size:11px;padding:10px;break-inside:avoid}.growth-note{font-size:11px}.print-only{display:block}.wrapcode{display:block;direction:ltr;unicode-bidi:isolate;overflow-wrap:anywhere;font-size:9px!important}.author{color:#15352e;font-size:11px;padding:15px 0}.badge,.score{break-inside:avoid}}
[tabindex="-1"]:focus{outline:none}
/* Function network: a technical, bright routing theme. */
:root{--ink:#222c4e;--muted:#5c6480;--sea:#563bc6;--line:#dce0ef;--navy:#171e42;--gold:#b9b5ff;--mint:#9eefff}body{background:radial-gradient(ellipse at 7% 12%,#263575,transparent 55%),#111731}.network-mark{display:flex;align-items:center;justify-content:center;gap:12px;margin:32px 0 8px;direction:ltr;font-family:Georgia,serif}.network-mark span,.network-mark strong{display:grid;place-items:center;width:52px;height:52px;border:1px solid #9eefff77;border-radius:14px;color:#9eefff;font-size:32px}.network-mark strong{height:76px;width:70px;background:#9e96fb25;font-size:50px;border-color:#b9b5ff}.network-mark i{font:24px Arial;color:#b9b5ff}.network-caption{text-align:center;color:#b9c2e8;font-size:14px}.diagram{background:#fff;border-color:#dce0ef}.diagram svg{max-width:340px;margin:auto;display:block}.diagram figcaption{font-size:14px;color:#56607b}.equation{background:#f0edff;color:#32276f}.lab{background:#f3f1ff;border-color:#d8d1f8}.lab select{font:inherit;min-height:48px;padding:8px 20px;border:1px solid #9b8ec9;border-radius:10px;margin:10px;background:#fff;color:#222c4e}.lab-controls button{min-height:48px}.extension{margin:22px 0;padding:18px;border:1px solid #d8d1f8;border-radius:15px;background:#f8f6ff}.extension summary{cursor:pointer;font-weight:700}.extension .lab-controls{margin:15px 0}.brand span,.course span,.edition,.mission-number,.path li,.network-caption{font-size:14px}.surface{box-shadow:0 18px 55px #0003}.rail h1{font-size:42px}.option.selected{border-color:#563bc6;background:#ede9ff}.path .active .node{background:#9eefff;color:#171e42;border-color:#9eefff}.progress>div{background:#563bc6}.options .option{line-height:1.65}.lab-output,#lab-output{overflow-wrap:anywhere}.math,bdi{max-width:100%;overflow-wrap:anywhere}.network-mark+ p{margin-top:0}@media(max-width:760px){.network-mark,.network-caption{display:none}.rail h1{font-size:26px}.diagram svg{max-width:315px}.edition{font-size:12px}.course span{font-size:13px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

.diagram{margin:18px 0;width:100%}.diagram svg{width:100%;height:auto}#lab-output bdi{font-size:18px} .rail .mission-brief{line-height:1.8}
.lab{color:#222c4e}.lab .eyebrow{color:#563bc6;font-size:14px}.lab-controls button{font-size:14px;background:#4934a1;border-color:#4934a1}.eyebrow{font-size:14px}.lab h3{color:#222c4e}

.adventure-mark{display:flex;align-items:center;justify-content:center;gap:25px;margin:30px 0 5px;color:#fff}.adventure-mark strong{display:grid;place-items:center;min-width:92px;height:92px;padding:0 14px;border:2px solid var(--mint);border-radius:25px;background:#ffffff12;box-shadow:0 0 35px #b4f2ff19;font-size:36px;direction:ltr}.adventure-mark span{color:var(--gold);font-size:30px}.matrix{display:inline-grid;grid-template-columns:repeat(var(--cols),minmax(30px,auto));gap:3px 13px;align-items:center;justify-items:center;border-inline:2px solid currentColor;border-radius:6px;padding:4px 9px;font:500 20px/1.65 Georgia,serif;vertical-align:middle;max-width:100%}.matrix span{direction:ltr;white-space:nowrap}.matrix-group{display:flex;align-items:center;justify-content:center;gap:24px;flex-wrap:wrap;margin:20px 0}.matrix-named{display:inline-flex;align-items:center;gap:12px}.piecewise{display:flex;justify-content:center;align-items:center;gap:14px;margin:20px 0;font:21px/1.6 Georgia,serif}.piecewise>div{border-left:2px solid;border-radius:14px 0 0 14px;padding-left:14px}.branch{display:flex;justify-content:space-between;gap:24px}.equation{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.9}.math{overflow-wrap:anywhere}.lab select{font:inherit;border:1px solid #76828e;border-radius:9px;padding:8px;min-width:80px;background:#fff;color:#172743}.lab button{margin:8px}.option>span:last-child{min-width:0}sup{font-size:.72em}@media(max-width:520px){.matrix{font-size:18px;gap:2px 10px}.matrix-group{gap:16px}.adventure-mark{margin:12px}.adventure-mark strong{height:64px;min-width:70px;font-size:29px}.piecewise{font-size:19px}.equation{font-size:20px}.option{padding:13px 12px}}@media print{.matrix{font-size:16px}.equation{color:#000}}

:root{--navy:#171e42;--sea:#563bc6;--mint:#bce5fa}body{background:radial-gradient(ellipse at 10% 15%,#563bc677,transparent 55%),#171e42}.rail{background:#171e42}
