:root{--ink:#152b40;--muted:#546578;--blue:#215ad7;--pale:#eaf0ff;--line:#d9e0e7;--paper:#f6f7f9;--green:#13734a;--orange:#a9470d}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.65 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:var(--blue);text-underline-offset:4px}button,input,select{font:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);background:white;color:var(--ink);border-radius:9px;padding:9px 14px;font-weight:650;cursor:pointer;text-decoration:none}button:hover,.button:hover{border-color:var(--blue);background:var(--pale)}button:disabled{opacity:.45;cursor:default}.primary{background:var(--blue);border-color:var(--blue);color:#fff}.primary:hover{background:#1949b3;color:#fff}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #df7619;outline-offset:4px}.skip{position:absolute;inset-block-start:-100px;inset-inline-start:15px;z-index:5;background:white;padding:12px}.skip:focus{inset-block-start:10px}.shell{max-width:1600px;margin:auto;display:grid;grid-template-columns:246px minmax(0,1fr);min-height:100vh}aside{background:white;border-inline-end:1px solid var(--line);padding:30px 20px;position:sticky;top:0;height:100vh;overflow:auto}.brand{font-weight:800;font-size:21px;letter-spacing:-.5px;margin-bottom:7px;display:block;color:var(--ink);text-decoration:none}.brand span{display:inline-grid;place-items:center;background:var(--blue);color:white;width:35px;height:35px;border-radius:10px;margin-inline-end:9px;font-family:monospace}.eyebrow{color:var(--blue);font-size:12px;font-weight:800;letter-spacing:1.6px;text-transform:uppercase}.aside-note{font-size:13px;color:var(--muted);padding-bottom:16px;border-bottom:1px solid var(--line)}nav{display:grid;gap:7px}nav a{color:var(--ink);border:1px solid transparent;border-radius:9px;padding:11px 9px;text-decoration:none;display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.5}nav a:hover{background:var(--paper)}nav a[aria-current=page]{background:var(--pale);border-color:#bfd0fa;color:var(--blue);font-weight:750}nav b{font-family:monospace;line-height:1.7;min-width:21px;color:var(--blue)}.nav-other{margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}main{padding:26px 38px 48px;min-width:0}header{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:32px}.controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}label{font-size:14px;font-weight:650}select,input{padding:9px 10px;border:1px solid #aebdcc;background:white;border-radius:8px;color:var(--ink);min-width:0;max-width:100%}select{max-width:230px}input[type=number]{width:105px;direction:ltr}h1{font-size:clamp(28px,3.2vw,43px);letter-spacing:-1px;line-height:1.2;margin:8px 0 16px;max-width:920px}h2{font-size:23px;line-height:1.35;letter-spacing:-.3px;margin:0 0 12px}h3{font-size:18px;line-height:1.45;margin:0 0 12px}p{margin:0 0 14px}.lede{font-size:18px;color:var(--muted);max-width:850px}.small{font-size:13px;color:var(--muted)}.hero{margin-bottom:28px}.tags{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.tag{font-size:12px;font-weight:700;background:white;border:1px solid var(--line);border-radius:30px;padding:4px 10px}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.card,.lesson,.lab,.callout{background:white;border:1px solid var(--line);border-radius:14px;box-shadow:0 10px 30px #18314f05}.card{padding:25px;display:flex;flex-direction:column}.card .number{font-size:32px;color:#4268ae;letter-spacing:-1px;font-weight:800}.card ol{padding-inline-start:22px;margin:6px 0 22px;flex:1;font-size:14px}.card li{margin:6px 0}.card li a{color:var(--ink);text-decoration:none}.card li a:hover{color:var(--blue);text-decoration:underline}.card .button{align-self:flex-start}.callout{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:23px 25px;margin:24px 0;background:var(--pale);border-color:#c6d5f5}.callout h2{font-size:20px;margin-bottom:5px}.callout p{margin-bottom:0}.lessons{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;margin:24px 0}.lesson{min-width:0;padding:25px;scroll-margin-top:24px}.lesson:target{border-color:var(--blue);box-shadow:0 0 0 3px #215ad714}.lesson h2{font-size:21px}.lesson h2 a{color:inherit;text-decoration:none}.lesson p{max-width:1000px}.lesson code, .callout code,p code,td code{background:#eef2f7;color:#1e3a62;padding:2px 5px;border-radius:4px;font-size:.9em;direction:ltr;unicode-bidi:isolate;display:inline-block;overflow-wrap:anywhere}.lesson .topic-no{color:var(--blue);font:700 13px/1.4 monospace;display:block;margin-bottom:6px}.lab{overflow:hidden;margin:26px 0}.lab-head{padding:22px 25px;border-bottom:1px solid var(--line)}.lab-head h2{margin-bottom:4px}.lab-head p{margin:0}.lab-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.stage{padding:25px;background-image:radial-gradient(#d3dbe5 1px,transparent 1px);background-size:17px 17px;min-width:0;display:flex;flex-direction:column;gap:17px}.stage p{margin:0}.code-pane{background:#102033;color:#e3edf9;min-width:0;padding:22px 0}.code-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 20px 12px;flex-wrap:wrap}.code-head h3{margin:0;color:#a7c0ee;font-size:13px}.code-head button{font-size:12px;padding:5px 10px;background:#1b314c;border-color:#405777;color:#e7efff}.code-head button:hover{background:#284567}.code-head select{font-size:12px;width:auto}.code-pane pre{margin:0;padding:10px 20px;max-height:510px;overflow:auto}.code-pane .small{padding:12px 20px 0;color:#b2c2d5}.code-line{display:block;min-height:1.6em;border-inline-start:3px solid transparent;padding-inline-start:8px}.code-line.active{background:#244b7d;border-color:#f0b65e}.line-num{color:#9aabc0;display:inline-block;min-width:23px;user-select:none}pre,code,.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;direction:ltr;unicode-bidi:isolate;text-align:left}pre{font-size:13px;line-height:1.7;white-space:pre;tab-size:8;max-width:100%;overflow:auto}pre.output{background:#102033;color:#dce9fa;border-radius:9px;padding:18px;min-height:78px;margin:0}.placeholder{color:var(--muted);padding:20px;border:1px dashed #9badc1;border-radius:9px;min-height:78px;background:white}.metrics{display:flex;gap:12px;flex-wrap:wrap}.metric{background:white;border:1px solid var(--line);border-radius:10px;padding:11px 17px;min-width:100px}.metric span{display:block;font-size:12px;color:var(--muted)}.metric strong{font-size:27px;line-height:1.4}.trace{display:flex;gap:6px;flex-wrap:wrap;direction:ltr}.trace span{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--line);background:white;border-radius:7px;font:600 13px monospace}.trace span.done{background:#e3f5ed;color:var(--green);border-color:#a4d2bd}.trace span.current{background:var(--blue);color:white;border-color:var(--blue)}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:10px;background:white;margin:14px 0}table{border-collapse:collapse;width:100%;font-size:14px;line-height:1.55}caption{text-align:start;font-weight:700;padding:12px;background:var(--pale)}th{text-align:start;background:#f0f4f9;color:#334a66;font-size:12px}th,td{padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top}tr:last-child td{border-bottom:0}tr.chosen td{background:#eaf0ff;font-weight:750}.truth-table th,.truth-table td{text-align:center;padding:8px}.truth-table{direction:ltr}.truth-table .chosen td{outline:1px solid #bed0f2}.notice{border-inline-start:4px solid #d18b3a;background:#fff6e9;padding:15px 18px;border-radius:0 8px 8px 0}.exercise{padding:24px;background:#eef6f2;border:1px solid #c4decf;border-radius:12px;margin:24px 0}.exercise summary{cursor:pointer;font-weight:650;color:var(--green)}.exercise details p{margin-top:12px}.sample{margin-top:17px;border-top:1px solid var(--line);padding-top:14px}.sample summary{cursor:pointer;font-weight:650;color:var(--blue)}.sample pre{background:#102033;color:#e3edf9;border-radius:9px;padding:18px}.sample .controls{margin:12px 0}.flow{width:100%;height:auto;max-height:350px;direction:ltr}.flow text{font:14px system-ui;fill:var(--ink)}.flow .node{fill:white;stroke:#99aec6;stroke-width:1.5}.flow .decision{fill:#eaf0ff;stroke:var(--blue);stroke-width:1.5}.flow .arrow{stroke:#7187a1;fill:none;stroke-width:1.6}.flow .active-node{fill:#def2e7;stroke:#13734a;stroke-width:2}.foot{font-size:12px;color:var(--muted);margin-top:32px;border-top:1px solid var(--line);padding-top:20px}.pager{display:flex;justify-content:space-between;gap:14px;margin-top:24px}.pager a{max-width:48%}[hidden]{display:none!important}html[dir=rtl] h1{letter-spacing:0}html[dir=rtl] .eyebrow{letter-spacing:0}.status{min-height:22px;font-size:13px;color:var(--muted);margin:12px 0}.reference-section{margin:28px 0}.reference-section>p{max-width:1020px}.noscript{margin:25px;padding:25px;background:white;border:2px solid var(--blue)}
@media(min-width:1400px){main{padding-inline:50px}}@media(max-width:1050px){.shell{grid-template-columns:205px minmax(0,1fr)}aside{padding:22px 13px}main{padding:24px}.lab-grid{grid-template-columns:1fr}.cards{gap:14px}.card{padding:20px}}@media(max-width:730px){.shell{display:block}aside{position:relative;height:auto;padding:15px;border-inline-end:0;border-bottom:1px solid var(--line)}.brand{font-size:18px}.aside-note{display:none}nav{display:flex;overflow-x:auto;padding-bottom:5px;gap:5px}nav a{min-width:145px;font-size:12px;padding:9px}.nav-other{margin-top:7px;padding-top:7px}main{padding:18px 15px 32px}header{margin-bottom:25px;align-items:flex-start;flex-wrap:wrap}header .eyebrow{display:none}.cards{grid-template-columns:1fr}.hero .lede{font-size:16px}.callout{align-items:flex-start;flex-direction:column;padding:20px}.lesson,.stage,.lab-head{padding:20px}h1{font-size:30px}.controls select{max-width:190px}.pager{flex-wrap:wrap}.pager a{max-width:100%}th,td{padding:10px} .reference-section td code{white-space:nowrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{aside,header,.skip,.controls,.pager,.code-head button,.code-head select,.exercise summary{display:none!important}.shell,main{display:block;padding:0}.cards{display:block}.card,.lesson,.lab,.exercise,.callout{box-shadow:none;break-inside:avoid;border:1px solid #aaa;margin:15px 0}body{background:white;font-size:11pt}.code-pane,pre.output,.sample pre{background:#f3f3f3;color:#111}.code-pane pre{max-height:none;white-space:pre-wrap}.lab-grid{display:block}.stage{background:none}.code-pane .small{color:#333}.code-head h3{color:#333}.foot{font-size:9pt}}

/* Two independent language selectors. */
header{flex-wrap:wrap}header .controls{justify-content:flex-end}#program-language{min-width:118px}.reference-section td code{white-space:normal;overflow-wrap:anywhere}

/* Module 01: concepts, illustrations and real execution. */
.module-intro{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(230px,1fr);align-items:center;gap:36px;margin:28px 0 32px;padding:30px 34px;border:1px solid #ccd9ed;border-radius:20px;background:linear-gradient(115deg,#edf3ff,#f8fbff 65%,#e4f5ef)}.module-intro .lede{color:#334d66;font-size:18px;line-height:1.8}.machine-art{height:250px;position:relative;display:grid;place-items:center;isolation:isolate}.machine-art:before,.machine-art:after{content:"";position:absolute;width:200px;height:200px;border:1px dashed #a9bed4;border-radius:50%;z-index:-1}.machine-art:after{width:125px;height:125px;border-style:solid;background:#ffffff88}.art-chip{display:grid;place-items:center;background:#183b60;color:white;border-radius:20px;width:102px;height:105px;box-shadow:0 14px 35px #1d477e25;transform:rotate(-5deg);font:700 12px monospace}.art-chip .concept-icon{width:58px;height:58px}.art-node{position:absolute;background:white;border:1px solid #cddce9;border-radius:12px;width:53px;height:53px;display:grid;place-items:center;box-shadow:0 8px 15px #20406008}.art-node .concept-icon{width:36px;height:36px}.art-a{top:35px;left:12%}.art-b{top:25px;right:14%;color:#215ad7}.art-c{bottom:28px;left:13%;color:#147553}.art-d{bottom:38px;right:9%;color:#af5910}.orbit-small{position:absolute;top:0;font:11px monospace;letter-spacing:4px;color:#526c89}.orbit-small.bottom{top:auto;bottom:0}.learning-goals{padding:24px 28px;background:#fff;border:1px solid var(--line);border-radius:14px}.learning-goals h2{font-size:18px}.learning-goals ol{display:grid;grid-template-columns:1fr 1fr;gap:12px 25px;padding-inline-start:22px;margin:10px 0 0;font-size:14px}.learning-goals li::marker{color:var(--blue);font-weight:700}.module-outline{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 0}.module-outline a{background:#fff;border-color:var(--line);font-size:12px;padding:8px 10px}.module-outline a:hover{border-color:var(--blue)}.concept-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:25px 0}.concept{border-block-start:2px solid #d5e2ef;padding-top:15px}.concept-index{font:600 12px monospace;color:#607d9a;letter-spacing:1px}.concept h3{margin-top:8px;font-size:17px}.concept p{font-size:14px;line-height:1.85;color:#3e5266;margin:0}.case-study{display:flex;align-items:flex-start;gap:18px;background:#f0f5fa;border-radius:12px;padding:22px;margin:24px 0}.case-study h3{font-size:15px;margin-bottom:8px}.case-study p{font-size:14px;margin:0;line-height:1.8}.concept-icon{width:48px;height:48px;flex-shrink:0;color:inherit}.case-study>.concept-icon{color:#3d658e}.concept-lab{border:1px solid #c8d9e6;border-radius:13px;padding:22px;background:linear-gradient(135deg,#f9fcff,#eef6fc);margin:24px 0}.concept-lab-title{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:18px}.concept-lab-title h3{font-size:16px;margin:0}.concept-lab .small{margin-top:15px;margin-bottom:0}.concept-lab input[type=range]{width:min(100%,260px);accent-color:var(--blue);padding:0}.concept-lab output{font-weight:700;font-size:14px}.hardware-flow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:22px}.hardware-node{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:9px;border:1px solid #cfdce8;border-radius:12px;background:white;padding:16px 6px;transition:background .2s}.hardware-node:not(:last-child):after{content:'→';position:absolute;right:-13px;top:40%;color:#486d97;z-index:1}.hardware-node span{font-size:12px;font-weight:700;line-height:1.4;min-height:2.8em}.hardware-node code{font-size:11px;white-space:normal;overflow-wrap:anywhere}.hardware-node.selected{border:2px solid #215ad7;background:#e6efff;box-shadow:0 0 0 3px #215ad70b}.hardware-node .concept-icon{width:38px;height:38px;color:#315b86}.function-route{display:grid;grid-template-columns:1fr 1.6fr 1fr;gap:14px;margin:22px 0;align-items:stretch;text-align:center}.function-route>div{padding:18px 8px;border-radius:12px;background:white;border:1px solid #d2dfeb;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-width:0}.function-route>div:nth-child(2){background:#193d66;color:#fff}.function-route>div:nth-child(2) code{background:transparent;color:white;font-size:13px}.function-route strong{font:700 30px monospace;color:#215ad7}.function-route span{font-size:12px;font-weight:700}.training-chips{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:15px}.training-chips span{border:1px solid #a7d9c6;background:#e0f3eb;padding:8px 12px;border-radius:8px;font:600 13px system-ui}.training-chips span+span{background:#fff0d9;border-color:#e4bb83}.model-readout{font-size:14px;margin-top:14px!important}.fruit-chart{display:block;max-width:600px;width:100%;margin:auto;direction:ltr}.fruit-chart text{font:12px system-ui;fill:#3e5266}.prediction{background:white;border:1px solid var(--line);border-radius:9px;padding:10px 15px;margin:0!important}.feedback-loop{display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:20px;margin-top:20px;align-items:stretch}.feedback-loop>div{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;padding:15px;border:1px solid #cfdfec;border-radius:12px;background:white;min-width:0}.feedback-loop span{font-size:13px;font-weight:700}.feedback-loop strong{font:700 20px system-ui}.decision-card code{font-size:12px;white-space:normal;overflow-wrap:anywhere}.fan-card svg{width:85px;height:85px;color:#92a4b5}.fan-card.is-on svg{color:#178563}.fan-card.is-on{background:#e5f7ee;border-color:#95cbb3}.fan-card.is-on .fan-blades{transform-origin:50px 50px;animation:fan-spin 1.8s linear infinite}.feedback-arrow{margin:8px auto -15px;font:40px system-ui;color:#527497;text-align:center}.data-metrics{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:22px 0}.data-metrics>div{display:flex;flex-direction:column;padding:18px;background:#173754;color:white;border-radius:11px}.data-metrics strong{font-size:clamp(19px,2.5vw,31px);font-weight:750;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.data-metrics span{font-size:12px;color:#c4d9ec}.data-pipeline{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.data-pipeline>div{padding:14px 9px;background:white;border:1px solid var(--line);border-radius:9px}.data-pipeline span{display:block;color:#3e759d;font:700 12px monospace}.data-pipeline b{font-size:13px}.knowledge-check{border:1px solid #bddbc9;border-radius:10px;background:#f1f8f4;padding:17px 20px;margin-top:22px;font-size:14px}.knowledge-check summary{cursor:pointer;color:#185d3e;font-weight:700}.knowledge-check p{margin:14px 0 0;line-height:1.8}.build-route{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:25px 0}.build-route>div{background:#f0f5fa;border:1px solid var(--line);padding:18px;border-radius:11px;display:flex;flex-direction:column;gap:9px;min-width:0}.build-route b{color:#315b86;font:700 12px monospace}.build-route span{font-size:14px;font-weight:700}.build-route code{font-size:12px;white-space:normal}.runner-callout{background:#ebf2ff;border:1px solid #bfceeb;border-radius:12px;padding:22px;margin-top:22px}.runner-callout .small{margin:14px 0 0}.anatomy{margin-top:25px}.anatomy dl{display:grid;grid-template-columns:1fr 1fr;gap:12px}.anatomy dl>div{border:1px solid var(--line);padding:15px;border-radius:10px;min-width:0}.anatomy dt{font-size:13px;font-weight:750;margin-bottom:8px}.anatomy dd{margin:0}.anatomy code{font-size:12px;white-space:normal}.runner-dialog{width:min(1180px,96vw);max-width:96vw;height:94vh;max-height:94vh;overflow:auto;padding:24px;border:1px solid #a7bcd5;border-radius:16px;color:var(--ink);background:#f8fafc;box-shadow:0 30px 100px #071c4366}.runner-dialog::backdrop{background:#0b2039b8;backdrop-filter:blur(3px)}.runner-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:10px}.runner-heading h2{margin:3px 0;font-size:21px}.runner-heading button{white-space:nowrap}.runner-dialog>p{font-size:14px;margin:8px 0}.runner-dialog>.small{font-size:12px}.runner-dialog .controls{margin:15px 0}.runner-dialog [data-runner-status]{flex:1;min-width:180px}.runner-frame{height:570px;min-height:400px;border:1px solid #c2d3e3;border-radius:9px;overflow:hidden;background:white}.runner-frame iframe{display:block;width:100%;height:100%;border:0}.runner-stdin{font-size:13px;margin:12px 0}.runner-stdin summary{cursor:pointer}.runner-stdin pre{padding:10px;background:#e9eef5;max-height:120px}.runner-fallback{margin-top:10px!important}button[data-run]{border-color:#7c9dcc;background:#ebf2ff;color:#173f79}.code-head button[data-run]{background:#2454a1;color:#fff;border-color:#6089c8}button,textarea{font:inherit}textarea:focus-visible{outline:3px solid #df7619;outline-offset:3px}
/* First interactive lesson; scoped so the existing labs keep their layout. */
:is(.for-lesson,.arrays-lesson,.switch-lesson,.functions-lesson){margin-top:24px;min-width:0}:is(.for-lesson,.arrays-lesson,.switch-lesson,.functions-lesson)>section{margin-top:32px;padding-top:24px;border-top:1px solid var(--line)}:is(.for-lesson,.arrays-lesson,.switch-lesson,.functions-lesson) nav.controls{display:flex;flex-wrap:wrap;overflow:visible}:is(.for-lesson,.arrays-lesson,.switch-lesson,.functions-lesson) nav.controls a{min-width:0}:is(.for-lesson,.arrays-lesson,.switch-lesson,.functions-lesson) h3{font-size:22px}:is(.for-lesson,.arrays-lesson,.switch-lesson,.functions-lesson) h4{font-size:18px}:is(.for-lesson,.arrays-lesson,.switch-lesson,.functions-lesson) pre{overflow:auto;max-width:100%;background:#edf2f8;padding:16px;border-radius:10px;text-align:left;direction:ltr;white-space:pre;font-size:14px}:is(.for-lesson,.arrays-lesson,.switch-lesson,.functions-lesson) pre.output{background:#142c43;color:#fff;min-height:80px}:is(.for-lesson,.arrays-lesson,.switch-lesson,.functions-lesson) code{direction:ltr;unicode-bidi:isolate}:is(.for-lesson,.arrays-lesson,.switch-lesson,.functions-lesson) .controls label{display:flex;flex-wrap:wrap;align-items:center;gap:8px}:is(.for-lesson,.arrays-lesson,.switch-lesson,.functions-lesson) input[type=number]{width:85px}.for-sim-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:24px}.for-sim-grid>div{min-width:0}.for-source .executing{background:#ffe8a3;color:#152b40;outline:2px solid #a65a00;border-radius:2px;font-weight:700}.for-metrics,.for-anatomy{display:grid;gap:12px}.for-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.for-metrics>div,.for-anatomy>div{padding:12px;border:1px solid var(--line);border-radius:10px;background:#f6f8fb}.for-metrics dt{font-size:12px;color:var(--muted)}.for-metrics dd{margin:4px 0 0;font-weight:700;overflow-wrap:anywhere}.for-anatomy{grid-template-columns:1fr 1fr}.for-anatomy dt{font-weight:700}.for-anatomy dd{margin:8px 0 0}.quiz-question{min-width:0;border:1px solid var(--line);border-radius:12px;margin:20px 0;padding:18px}.quiz-question legend{font-weight:700;padding:0 8px;max-width:100%}.quiz-options{display:grid;gap:8px}.quiz-options label{display:flex;gap:10px;align-items:baseline;padding:10px;border:1px solid var(--line);border-radius:8px;cursor:pointer}.quiz-options input{accent-color:var(--blue);flex-shrink:0}.quiz-options input:checked+span{font-weight:750}.quiz-feedback:empty{display:none}.quiz-feedback{padding:12px;background:#edf4ff;border-inline-start:3px solid var(--blue)}.quiz-score{font-weight:700}.for-challenge{border:1px solid var(--line);border-radius:12px;padding:20px;margin:18px 0}.for-challenge details{margin-top:16px}.for-challenge summary{font-weight:650;cursor:pointer}:is(.for-lesson,.arrays-lesson,.switch-lesson,.functions-lesson) [role=status]:focus{outline:3px solid #df7619;outline-offset:3px}
@media(max-width:900px){.for-sim-grid,.for-anatomy{grid-template-columns:1fr}.for-metrics{grid-template-columns:1fr 1fr}.for-challenge,.quiz-question{padding:14px}}
@media print{:is(.for-lesson,.arrays-lesson,.switch-lesson,.functions-lesson) button,:is(.for-lesson,.arrays-lesson,.switch-lesson,.functions-lesson) form,:is(.for-lesson,.arrays-lesson,.switch-lesson,.functions-lesson) nav{display:none}.for-sim-grid{display:block}:is(.for-lesson,.arrays-lesson,.switch-lesson,.functions-lesson) pre{white-space:pre-wrap}.quiz-question,.for-challenge{break-inside:avoid}}
@keyframes fan-spin{to{transform:rotate(360deg)}}
@media(max-width:1100px){.concept-grid{grid-template-columns:1fr;gap:18px}.concept{display:block}.concept p{font-size:15px}.module-intro{grid-template-columns:minmax(0,1fr) 230px;padding:24px;gap:18px}.hardware-flow{gap:8px}.hardware-node:not(:last-child):after{right:-10px}}
@media(max-width:730px){.module-intro{grid-template-columns:1fr;margin-top:20px;padding:22px}.machine-art{height:190px;max-width:320px;width:100%;margin:auto}.machine-art:before{width:180px;height:180px}.learning-goals{padding:20px}.learning-goals ol{grid-template-columns:1fr}.module-outline{overflow:visible}.module-outline a{min-width:0;flex:1 1 45%}.concept-grid{gap:15px}.case-study{padding:17px;gap:12px}.case-study>.concept-icon{width:32px;height:32px}.concept-lab{padding:16px}.hardware-flow{grid-template-columns:1fr;gap:10px}.hardware-node{display:grid;grid-template-columns:36px 1fr 1fr;padding:11px;gap:10px;text-align:start}.hardware-node span{min-height:0}.hardware-node:not(:last-child):after{content:'↓';top:auto;bottom:-15px;right:50%}.hardware-node .concept-icon{width:30px;height:30px}.function-route{gap:7px}.function-route strong{font-size:23px}.feedback-loop{gap:8px;grid-template-columns:1fr}.feedback-loop>div{display:flex;flex-direction:row;flex-wrap:wrap}.fan-card svg{width:65px;height:65px}.data-metrics{grid-template-columns:1fr}.data-pipeline{grid-template-columns:1fr 1fr}.build-route{grid-template-columns:1fr}.anatomy dl{grid-template-columns:1fr}.runner-dialog{padding:14px;width:98vw;max-width:98vw;height:97vh;max-height:97vh}.runner-heading h2{font-size:17px}.runner-heading button{font-size:12px;padding:8px}.runner-frame{height:560px}.concept-lab .controls{gap:8px}.concept-lab-title{align-items:flex-start}.concept-lab input[type=range]{max-width:180px}}
@media(prefers-reduced-motion:reduce){.fan-blades{animation:none!important}.hardware-node{transition:none}}
@media print{.machine-art,.module-outline,.runner-callout,.runner-dialog,.knowledge-check summary{display:none!important}.module-intro,.concept-grid,.learning-goals ol{display:block}.concept,.case-study,.concept-lab{break-inside:avoid;margin-top:15px}.data-metrics>div{color:#111;background:#eee}.data-metrics span{color:#333}.fan-blades{animation:none!important}.hardware-flow{grid-template-columns:repeat(5,1fr)}.hardware-node{display:flex}.hardware-node:not(:last-child):after{display:none}}

/* Arrays retain symbolic offsets and left-to-right cell ordering in every locale. */
.array-cells{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:20px 0}.array-cell{display:flex;flex-direction:column;padding:14px 6px;gap:6px;min-width:0}.array-cell span{font-size:12px}.array-cell strong{font:750 28px monospace}.array-cell small{font-size:10px;overflow-wrap:anywhere;font-weight:400}.array-cell.selected{outline:2px solid var(--blue);outline-offset:1px;background:var(--pale)}.array-cell.visited{background:#fff1c5;border-color:#a65a00}.arrays-example{min-width:0}.arrays-lesson #arrays-step-status{margin-top:20px}.arrays-lesson #arrays-access-status{padding:12px;background:#edf4ff;overflow-wrap:anywhere}.arrays-lesson #arrays-explorer>select{margin-bottom:12px}@media(max-width:730px){.array-cells{gap:4px}.array-cell{padding:10px 3px}.array-cell strong{font-size:22px}.array-cell small{font-size:9px}}

.switch-path{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.switch-path span{padding:8px 15px;border:1px solid var(--line);border-radius:8px;font-family:monospace}.switch-path .selected{border-color:var(--blue);background:var(--pale)}.switch-path .executing{background:#fff1c5;border-color:#a65a00}.switch-lesson #switch-step-status{margin-top:16px}

.function-frames{display:grid;gap:10px;padding-inline-start:24px}.function-frames li{padding:12px;border:1px solid var(--line);border-radius:10px;background:#f5f8fc}.function-frames li[aria-current]{border-color:#215ad7;background:#edf3ff}.function-frames span{display:block;font-size:13px}.functions-lesson section{scroll-margin-top:16px}

.pointers-lesson{margin-top:24px;min-width:0}.pointers-lesson>section{margin-top:32px;padding-top:24px;border-top:1px solid var(--line);scroll-margin-top:16px}.pointers-lesson h3{font-size:22px}.pointers-lesson h4{font-size:18px}.pointers-lesson pre{overflow:auto;max-width:100%;background:#edf2f8;padding:16px;border-radius:10px;text-align:left;direction:ltr;white-space:pre;font-size:14px}.pointers-lesson pre.output{background:#142c43;color:#fff;min-height:80px}.pointers-lesson code{direction:ltr;unicode-bidi:isolate}.pointers-lesson .controls{display:flex;flex-wrap:wrap;gap:8px}.pointers-lesson .controls label{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.pointers-lesson [role=status]:focus{outline:3px solid #df7619;outline-offset:3px}.pointer-cells{display:flex;flex-wrap:wrap;gap:8px;padding:0;list-style:none}.pointer-cells li{display:flex;flex-direction:column;gap:6px;min-width:130px;padding:12px;border:1px solid var(--line);border-radius:10px;background:#f5f8fc}.pointer-cells li.released{opacity:.7;text-decoration:line-through}
@media(max-width:900px){.pointers-lesson .for-sim-grid{grid-template-columns:1fr}}
@media print{.pointers-lesson button,.pointers-lesson nav{display:none}.pointers-lesson .for-sim-grid{display:block}.pointers-lesson pre{white-space:pre-wrap}}

.oop-lesson{margin-top:24px;min-width:0}.oop-lesson>section{margin-top:32px;padding-top:24px;border-top:1px solid var(--line);scroll-margin-top:16px}.oop-lesson section section{margin-top:18px;padding-top:12px;border-top:1px solid var(--line)}.oop-lesson h3{font-size:22px}.oop-lesson pre{overflow:auto;max-width:100%;background:#edf2f8;padding:16px;border-radius:10px;text-align:left;direction:ltr;white-space:pre;font-size:14px}.oop-lesson pre.output{background:#142c43;color:#fff;min-height:80px}.oop-lesson code{direction:ltr;unicode-bidi:isolate}.oop-lesson .controls{display:flex;flex-wrap:wrap;gap:8px}.oop-lesson [role=status]:focus{outline:3px solid #df7619;outline-offset:3px}
.file-handling-lesson{margin-top:24px;min-width:0}.file-handling-lesson>section{margin-top:32px;padding-top:24px;border-top:1px solid var(--line);scroll-margin-top:16px}.file-handling-lesson h3{font-size:22px}.file-handling-lesson pre{overflow:auto;max-width:100%;background:#edf2f8;padding:16px;border-radius:10px;text-align:left;direction:ltr;white-space:pre;font-size:14px}.file-handling-lesson pre.output{background:#142c43;color:#fff;min-height:80px}.file-handling-lesson code{direction:ltr;unicode-bidi:isolate}.file-handling-lesson .controls{display:flex;flex-wrap:wrap;gap:8px}
.exception-handling-lesson{margin-top:24px;min-width:0}.exception-handling-lesson>section{margin-top:32px;padding-top:24px;border-top:1px solid var(--line);scroll-margin-top:16px}.exception-handling-lesson h3{font-size:22px}.exception-handling-lesson pre{overflow:auto;max-width:100%;background:#edf2f8;padding:16px;border-radius:10px;text-align:left;direction:ltr;white-space:pre;font-size:14px}.exception-handling-lesson pre.output{background:#142c43;color:#fff;min-height:80px}.exception-handling-lesson code{direction:ltr;unicode-bidi:isolate}.exception-handling-lesson .controls{display:flex;flex-wrap:wrap;gap:8px}
.unit-testing-lesson{margin-top:24px;min-width:0}.unit-testing-lesson>section{margin-top:32px;padding-top:24px;border-top:1px solid var(--line);scroll-margin-top:16px}.unit-testing-lesson h3{font-size:22px}.unit-testing-lesson pre{overflow:auto;max-width:100%;background:#edf2f8;padding:16px;border-radius:10px;text-align:left;direction:ltr;white-space:pre;font-size:14px}.unit-testing-lesson pre.output{background:#142c43;color:#fff;min-height:80px}.unit-testing-lesson code{direction:ltr;unicode-bidi:isolate}.unit-testing-lesson .controls{display:flex;flex-wrap:wrap;gap:8px}
@media print{.oop-lesson button,.oop-lesson nav{display:none}.oop-lesson pre{white-space:pre-wrap}}

/* Product-wide learning workspace polish */
:root{--ink:#14233b;--muted:#607089;--blue:#315fe9;--pale:#edf2ff;--line:#dbe3ef;--paper:#f4f7fb;--green:#167653;--orange:#a9470d;--navy:#101d33;--navy-soft:#192a45}
html{scroll-padding-top:88px}
body{background:linear-gradient(180deg,#f7f9fc 0,#f2f5fa 45%,#f7f9fc 100%);color:var(--ink)}
.shell{max-width:1720px;grid-template-columns:268px minmax(0,1fr)}
aside{z-index:4;background:linear-gradient(180deg,var(--navy),#14243c 70%,#182b47);border:0;padding:27px 18px;color:#dbe5f4;box-shadow:8px 0 28px #0c18300c}
.brand{color:#fff;display:flex;align-items:center;font-size:22px;letter-spacing:-.7px}
.brand span{background:linear-gradient(135deg,#5685ff,#315fe9);box-shadow:0 8px 18px #315fe955;border-radius:12px}
.aside-note{color:#9fb0c8;border-color:#ffffff20;line-height:1.6}
aside nav{gap:5px}
aside nav a{color:#d1dced;border-radius:10px;padding:10px 9px;align-items:center;transition:background .16s ease,border-color .16s ease,transform .16s ease}
aside nav a:hover{background:#ffffff0c;border-color:#ffffff12;transform:translateX(2px)}
aside nav a[aria-current=page]{background:linear-gradient(100deg,#315fe933,#315fe911);border-color:#688aff55;color:#fff;box-shadow:inset 3px 0 #6e95ff}
aside nav b{color:#89a8ff}
main{padding:30px clamp(24px,4vw,64px) 64px;max-width:1520px;width:100%;margin-inline:auto}
header{position:sticky;top:0;z-index:3;margin:-30px calc(clamp(24px,4vw,64px) * -1) 34px;padding:15px clamp(24px,4vw,64px);background:#f7f9fcdf;border-bottom:1px solid #dbe3ef99;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
header .controls{gap:9px}
header label{color:#586880;font-size:12px;letter-spacing:.02em}
header select{min-height:42px;border-color:#d3dce9;box-shadow:0 2px 5px #182b4708}
button,.button{border-radius:11px;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease}
button:hover,.button:hover{transform:translateY(-1px);box-shadow:0 7px 18px #203e6b12}
button:active,.button:active{transform:translateY(0)}
.primary{background:linear-gradient(135deg,#3b6af0,#2855d7);box-shadow:0 6px 14px #315fe92b}
h1{font-size:clamp(34px,4vw,52px);letter-spacing:-1.7px;line-height:1.12}
h2{letter-spacing:-.55px}
.hero{position:relative;isolation:isolate;overflow:hidden;margin:0 0 28px;padding:clamp(28px,4vw,52px);border:1px solid #d7e2f4;border-radius:24px;background:radial-gradient(ellipse at 92% 8%,#dce8ff 0,transparent 37%),linear-gradient(120deg,#fff 4%,#f5f8ff 67%,#eef5ff);box-shadow:0 18px 50px #1e3e7010}
.hero:after{content:"";position:absolute;z-index:-1;width:250px;height:250px;border:1px solid #cddaff66;border-radius:50%;inset-inline-end:-86px;bottom:-136px;box-shadow:0 0 0 30px #dce7ff33,0 0 0 60px #dce7ff20}
.hero .lede{font-size:clamp(17px,1.5vw,20px);line-height:1.75;max-width:760px}
.tags{margin:24px 0 0}
.tag{padding:7px 12px;color:#415575;background:#ffffffd9;border-color:#d8e2f0}
.cards{gap:20px}
.card,.lesson,.lab,.callout{border-color:#dce4ef;border-radius:18px;box-shadow:0 12px 36px #1b345008}
.card{position:relative;overflow:hidden;padding:26px;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.card:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,#315fe9,#7da1ff 48%,transparent)}
.card:hover{transform:translateY(-3px);border-color:#c3d2ef;box-shadow:0 18px 40px #1b345014}
.card .number{font-size:29px;color:#88a3df}
.card h2{font-size:20px}
.card .button{margin-top:14px}
.lessons{gap:20px}
.lesson{padding:clamp(24px,3vw,38px);scroll-margin-top:100px}
.lesson:target{border-color:#8eaaf7;box-shadow:0 0 0 4px #315fe914,0 18px 44px #1b345010}
.lesson>.topic-no{width:max-content;padding:5px 10px;border-radius:7px;background:#edf2ff;color:#315fe9}
.lesson>h1{margin-top:12px}
.lesson>h2{font-size:clamp(22px,2.4vw,28px)}
.lesson p{line-height:1.82;color:#44546c}
.lesson strong{color:#203451}
.module-outline{gap:9px;margin:22px 0 14px}
.module-outline a{flex:0 1 auto;min-height:40px;padding:9px 13px;border-color:#dbe3ef;border-radius:10px;background:#fff;color:#394b65;font-size:12px}
.module-outline a[aria-current=step]{background:#edf2ff;border-color:#9db4fa;color:#234dcc;box-shadow:0 0 0 3px #315fe90c}
.lesson-progress{display:grid;grid-template-columns:auto minmax(90px,1fr) auto;align-items:center;gap:12px;margin:12px 0 26px;padding:11px 14px;border:1px solid #e1e8f2;border-radius:12px;background:#f8faff;color:#64748b;font-size:12px;font-weight:700}
.lesson-progress progress{appearance:none;width:100%;height:7px;border:0;border-radius:99px;overflow:hidden;background:#e1e8f3}
.lesson-progress progress::-webkit-progress-bar{background:#e1e8f3;border-radius:99px}
.lesson-progress progress::-webkit-progress-value{background:linear-gradient(90deg,#315fe9,#7ba0ff);border-radius:99px;transition:width .22s ease}
.lesson-progress progress::-moz-progress-bar{background:linear-gradient(90deg,#315fe9,#7ba0ff);border-radius:99px}
.lesson-progress-count{color:#315fe9;font-variant-numeric:tabular-nums}
.aaa-visual{display:grid;gap:16px;margin:20px 0;padding:20px;border:1px solid #dce5f1;border-radius:16px;background:linear-gradient(135deg,#f8faff,#fff)}
.aaa-step-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.aaa-step-controls button{min-width:0;color:#51627c}
.aaa-step-controls button[aria-pressed=true]{color:#244dcc;background:#edf2ff;border-color:#9db4fa;box-shadow:0 0 0 3px #315fe90c}
.aaa-flow{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:10px}
.aaa-flow>[data-aaa-node]{display:grid;gap:10px;min-width:0;padding:16px;border:1px solid #dce5f1;border-radius:12px;background:#fff;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.aaa-flow>[data-aaa-node][data-active]{transform:translateY(-2px);border-color:#829ff4;box-shadow:0 8px 22px #315fe91a}
.aaa-flow>[data-aaa-node]>span,.aaa-result>span{color:#687992;font-size:12px;font-weight:750;text-transform:uppercase;letter-spacing:.07em}
.aaa-flow code{overflow-wrap:anywhere;color:#233958;font-weight:700}
.aaa-arrow{color:#8195b5;font-size:22px}
.aaa-explanation{position:relative;padding:17px 18px;border:1px solid #dce5f1;border-radius:12px;background:#fff}
.aaa-explanation>[data-aaa-count]{color:#315fe9;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.aaa-explanation h3{margin:5px 0;font-size:17px}
.aaa-explanation p{margin:0;color:#586982}
.aaa-result{position:absolute;inset-block-start:14px;inset-inline-end:15px;display:grid;justify-items:end;gap:2px}
.aaa-result strong{color:#167653;font-size:14px}
.lab{box-shadow:0 18px 45px #14294312}
.lab-head{padding:22px 26px;background:linear-gradient(110deg,#fff,#f7f9ff)}
.lab-head h2{font-size:21px}
.stage{background-color:#f8faff}
.code-pane{background:linear-gradient(145deg,#0e1a2e,#162943);box-shadow:inset 1px 0 #ffffff0b}
.code-pane pre,.runner-dialog pre{font-size:13px;line-height:1.8}
.code-line.active{background:#274b7b;border-color:#f2bd66}
.metrics{gap:10px}
.metric{border-color:#dce5f1;box-shadow:0 4px 12px #1b345008}
.table-wrap{box-shadow:0 5px 18px #1b345008}
th{background:#f3f6fb}
.notice{border-radius:0 12px 12px 0;box-shadow:0 6px 18px #8148130a}
.exercise{background:linear-gradient(135deg,#f0f8f3,#f7fbf8);border-radius:15px}
.sample{padding:16px 18px;border:1px solid #e0e7f0;border-radius:13px;background:#fbfcfe}
.sample[open]{background:#fff;border-color:#cbd8eb}
.quiz-question{border:1px solid #dce5ef;border-radius:14px;padding:18px 20px;background:#fff;box-shadow:0 6px 18px #1b345008}
.quiz-question legend{padding:0 7px;font-weight:750;color:#1c3150}
.quiz-options label{transition:border-color .16s ease,background .16s ease}
.quiz-options label:hover{border-color:#9cb4f7;background:#f6f8ff}
.quiz-feedback{border-radius:8px}
.quiz-score{font-weight:750;color:#315fe9}
.pager{gap:12px;margin-top:32px}
.foot{margin-top:40px;padding-top:22px;border-top:1px solid var(--line);color:var(--muted)}
.runner-dialog{border-color:#d4deec;border-radius:20px;box-shadow:0 32px 100px #071c4377}
@media(max-width:1050px){.shell{grid-template-columns:220px minmax(0,1fr)}main{padding-inline:28px}header{margin-inline: -28px;padding-inline:28px}}
@media(max-width:730px){.shell{display:block}aside{position:sticky;top:0;height:auto;padding:12px 14px;border-bottom:1px solid #ffffff20;box-shadow:0 8px 22px #0c18301c}.brand{font-size:18px;margin-bottom:8px}.brand span{width:31px;height:31px}.aside-note{display:none}aside nav{display:flex;overflow-x:auto;gap:5px;padding:2px 0 4px;scrollbar-width:thin}aside nav a{flex:0 0 auto;min-width:0;max-width:220px;padding:8px 10px;font-size:12px;align-items:center}aside nav a:hover{transform:none}main{padding:18px 15px 36px}header{top:85px;margin:-18px -15px 22px;padding:10px 15px;background:#f7f9fcee}header .controls{justify-content:flex-start;gap:7px}header label{font-size:11px}header select{min-height:38px;font-size:13px;max-width:150px}.hero{padding:25px 21px;border-radius:19px;margin-top:0}.hero:after{width:170px;height:170px;inset-inline-end:-88px;bottom:-105px}.hero .lede{font-size:16px}.cards{grid-template-columns:1fr;gap:14px}.card{padding:21px}.lesson{padding:21px 17px;border-radius:15px}.lesson-progress{grid-template-columns:1fr auto;gap:6px 10px}.lesson-progress progress{grid-column:1/-1;grid-row:2}.module-outline{display:flex;overflow-x:auto;flex-wrap:nowrap;padding:4px 1px 10px;margin-inline:-2px;scroll-snap-type:x proximity}.module-outline a{flex:0 0 auto;scroll-snap-align:start}.aaa-visual{padding:14px}.aaa-step-controls{gap:6px}.aaa-step-controls button{padding:8px 5px;font-size:12px}.aaa-flow{grid-template-columns:1fr;gap:6px}.aaa-flow>[data-aaa-node]{grid-template-columns:90px minmax(0,1fr);align-items:center;padding:11px}.aaa-arrow{transform:rotate(90deg);line-height:1;text-align:center}.aaa-explanation{padding:15px 14px 48px}.aaa-result{inset-block-start:auto;inset-block-end:12px;inset-inline-start:14px;inset-inline-end:auto;justify-items:start}.lab-grid{grid-template-columns:1fr}.stage{padding:20px}.lab-head{padding:19px}.quiz-question{padding:15px}.sample{padding:13px}.callout{padding:19px}.pager a{flex:1 1 45%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
@media(max-width:730px){html{scroll-padding-top:150px}header{position:static;top:auto}.unit-testing-lesson>section{scroll-margin-top:0}}
.topic-assignment{margin:22px 0 2px;padding:20px 22px;border:1px solid #cddaf0;border-radius:15px;background:linear-gradient(125deg,#f1f5ff,#fbfcff 62%,#f1f8ff)}
.topic-assignment>.eyebrow{margin:0 0 7px;color:#315fe9}
.topic-assignment>p:not(.eyebrow){margin-bottom:14px;color:#364b68;line-height:1.7}
.topic-assignment h3{margin:0 0 8px;font-size:15px}
.assignment-expected{margin:0 0 15px;padding:12px 14px;border:1px solid #dbe4f1;border-radius:9px;background:#fff;color:#203451;font-size:13px;white-space:pre-wrap}
.topic-assignment .controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.topic-assignment .controls .small{max-width:560px;margin:0}
.topic-assignment button{min-height:42px}
.assignment-solution{margin-top:16px}
.assignment-solution h3{margin-bottom:8px}
.assignment-solution pre{max-width:100%;margin:0;padding:14px;border:1px solid #dbe4f1;border-radius:9px;background:#fff;color:#203451;font-size:13px;overflow:auto;white-space:pre}
@media(max-width:730px){.topic-assignment{padding:16px}.topic-assignment .controls{align-items:flex-start}.topic-assignment .controls .small{flex-basis:100%}}
@media print{.topic-assignment .controls{display:none}.assignment-solution[hidden]{display:none}.assignment-solution:not([hidden]){break-inside:avoid}}

/* Public information links, placed below interactive learning content. */
.site-legal-links{margin:0 auto;padding:20px 24px 34px;max-width:1100px;text-align:center;font-size:14px}
.site-legal-links nav{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 24px}
.site-legal-links a{color:var(--muted,#546578)}
.site-legal-links a:focus-visible{outline:2px solid var(--blue,#215ad7);outline-offset:3px}

/* Public beta announcement: compact, accessible and responsive. */
.beta-banner{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:12px 0 20px;padding:12px 16px;background:#edf4fc;border:1px solid #bad0e8;border-radius:12px;color:#234466;font-size:.9rem;line-height:1.5;direction:ltr}
.beta-banner strong{font-weight:800;color:#173f69;white-space:nowrap}
.beta-banner span{flex:1 1 250px;min-width:0}
.beta-banner a{font-weight:750;white-space:normal}
@media(max-width:600px){.beta-banner{padding:11px 12px;font-size:.875rem;margin:10px 0 14px}}
