:root{--bg: #F5F3FC;--surface: #FFFFFF;--surface-soft: #EAE5F8;--line: #D3CAEE;--line-strong: #7A6DB3;--ink: #15123F;--ink-mid: #4A4472;--primary: #4B3590;--primary-press:#3A2775;--on-primary: #FFFFFF;--link: #3F3DD6;--star: #FEBC02;--on-star: #15123F;--badge: #A62961;--go: #0F6B5C;--alert: #B3261E;--space: #0B0A3A;--space-raised: #17145A;--space-line: #2E2A78;--space-ink: #ECE8FA;--space-mute: #B3ACD6;--space-dim: #8F88C8;--space-go: #5FD4BE;--space-alert: #FF8A80;--space-route: #5A54A8;--space-wall: #4C468F;--syn-keyword: #FEBC02;--syn-string: #7FE0C4;--syn-number: #A9BEFF;--syn-comment: #9A93CF;--syn-type: #F2C6E6;--syn-function: #ECE8FA;--syn-annotation: #C5BAE8;--syn-operator: #B3ACD6;--face-display: "Fredoka", "Nunito", "Trebuchet MS", sans-serif;--face-text: "Atkinson Hyperlegible Next", "Atkinson Hyperlegible", Verdana, sans-serif;--face-code: ui-monospace, "SF Mono", "Cascadia Mono", Menlo, Consolas, monospace;--size-prose: 1.125rem;--size-code: .9375rem;--size-label: .9375rem;--size-h1: 1.875rem;--size-h2: 1.4375rem;--size-h3: 1.1875rem;--lh-prose: 1.6;--radius-xs: 5px;--radius-sm: 8px;--radius: 12px;--radius-lg: 20px;--radius-pill: 999px;--shadow-sm: 0 1px 2px rgb(21 18 63 / .08);--shadow: 0 1px 2px rgb(21 18 63 / .06), 0 8px 24px -10px rgb(75 53 144 / .28);--shadow-lift: 0 2px 4px rgb(21 18 63 / .08), 0 14px 32px -12px rgb(75 53 144 / .38);--seam-w: 1px;--tap: 44px;--rail: 168px;--rail-narrow: 76px;--console-side: 400px;--reading-max: 62ch;--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 24px;--s6: 32px;--s7: 48px;--s8: 64px;--z-sticky: 10;--z-skip: 100;--ease-out: cubic-bezier(.22, 1, .36, 1);color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #100E3E;--surface: #1A1752;--surface-soft: #221F60;--line: #35317F;--line-strong: #8F88C8;--ink: #ECE8FA;--ink-mid: #BDB6E0;--primary: #B9A6F5;--primary-press:#CDBFFA;--on-primary: #15123F;--link: #A8A6FF;--badge: #EE8DB8;--go: #5FD4BE;--alert: #FF8A80;--space: #07062A;--shadow-sm: 0 1px 2px rgb(0 0 0 / .3);--shadow: 0 1px 2px rgb(0 0 0 / .3), 0 10px 28px -12px rgb(0 0 0 / .6);--shadow-lift: 0 2px 4px rgb(0 0 0 / .35), 0 16px 36px -12px rgb(0 0 0 / .7);color-scheme:dark}}:root[data-theme=dark]{--bg: #100E3E;--surface: #1A1752;--surface-soft: #221F60;--line: #35317F;--line-strong: #8F88C8;--ink: #ECE8FA;--ink-mid: #BDB6E0;--primary: #B9A6F5;--primary-press:#CDBFFA;--on-primary: #15123F;--link: #A8A6FF;--badge: #EE8DB8;--go: #5FD4BE;--alert: #FF8A80;--space: #07062A;--shadow-sm: 0 1px 2px rgb(0 0 0 / .3);--shadow: 0 1px 2px rgb(0 0 0 / .3), 0 10px 28px -12px rgb(0 0 0 / .6);--shadow-lift: 0 2px 4px rgb(0 0 0 / .35), 0 16px 36px -12px rgb(0 0 0 / .7);color-scheme:dark}:root[data-mode=explorer]{--size-prose: 1.3125rem;--size-code: 1.0625rem;--size-label: 1rem;--size-h1: 2.125rem;--size-h2: 1.625rem;--size-h3: 1.3125rem;--lh-prose: 1.65}:root[data-bigtype=on]{--size-prose: 1.5rem;--size-code: 1.1875rem;--size-label: 1.0625rem}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-block-start:88px}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--face-text);font-size:var(--size-prose);line-height:var(--lh-prose)}h1,h2,h3,h4,button,th,.display{font-family:var(--face-display);font-weight:600}h1{font-size:var(--size-h1);line-height:1.15;margin:0 0 var(--s4);text-wrap:balance}h2{font-size:var(--size-h2);line-height:1.2;margin:var(--s6) 0 var(--s3);text-wrap:balance}h3{font-size:var(--size-h3);line-height:1.3;margin:var(--s5) 0 var(--s2);text-wrap:balance}p,li{max-width:var(--reading-max);text-wrap:pretty}code,pre,.code{font-family:var(--face-code);font-size:var(--size-code)}:where(a){color:var(--link);text-decoration-thickness:2px;text-underline-offset:3px}:focus-visible{outline:3px solid var(--link);outline-offset:2px}.on-dark :focus-visible,.on-dark:focus-visible{outline-color:var(--star)}.on-dark{background:var(--space);color:var(--space-ink)}button,.btn,[role=button],input,select,summary{min-height:var(--tap);font-family:var(--face-display);font-size:var(--size-label)}button,.btn{min-width:var(--tap);padding:var(--s2) var(--s5);border:var(--seam-w) solid var(--line-strong);border-radius:var(--radius-pill);background:var(--surface);color:var(--ink);font-weight:600;cursor:pointer;transition:background-color .16s var(--ease-out),border-color .16s var(--ease-out),transform .12s var(--ease-out),box-shadow .16s var(--ease-out)}button:active:not(:disabled),.btn:active{transform:translateY(1px)}button[aria-pressed=true]{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}button:disabled{color:var(--ink-mid);border-color:var(--line);background:transparent;box-shadow:none;cursor:not-allowed}.panel{background:var(--surface);border:var(--seam-w) solid var(--line);border-radius:var(--radius)}.seam-t{border-top:var(--seam-w) solid var(--line)}.seam-r{border-right:var(--seam-w) solid var(--line)}.muted{color:var(--ink-mid)}.pass{color:var(--go)}.fail{color:var(--alert)}.on-dark .pass{color:var(--space-go)}.on-dark .fail{color:var(--space-alert)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:var(--s4);top:var(--s4);z-index:var(--z-skip);min-height:var(--tap);display:inline-flex;align-items:center;background:var(--surface);color:var(--ink);padding:var(--s3) var(--s4);border-radius:var(--radius-sm);box-shadow:var(--shadow)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}#app{min-height:100vh;display:flex;flex-direction:column}.site-header{display:flex;align-items:center;gap:var(--s4);padding:var(--s2) var(--s4);min-height:64px;background:var(--surface);border-bottom:var(--seam-w) solid var(--line);box-shadow:var(--shadow-sm);position:sticky;top:0;z-index:var(--z-sticky);flex-wrap:wrap}.wordmark{display:flex;align-items:center;gap:var(--s2);min-height:var(--tap);min-width:var(--tap);padding-inline-end:var(--s2);border-radius:var(--radius-pill);text-decoration:none;color:var(--ink)}.wordmark img{display:block;height:44px;width:auto}.wordmark-name{font-family:var(--face-display);font-weight:600;font-size:20px;line-height:1;white-space:nowrap}.site-nav{display:flex;gap:var(--s1);margin-inline-start:auto;flex-wrap:wrap}.nav-link{display:inline-flex;align-items:center;gap:var(--s2);min-height:var(--tap);padding:0 var(--s4);border-radius:var(--radius-pill);text-decoration:none;font-family:var(--face-display);font-weight:500;font-size:var(--size-label);color:var(--ink);transition:background-color .16s var(--ease-out),color .16s var(--ease-out)}.nav-link[aria-current=page]{background:var(--surface-soft);color:var(--primary);font-weight:600}@media(hover:hover){.nav-link:hover{background:var(--surface-soft)}}.header-controls{display:flex;align-items:center;gap:var(--s2)}.mode-toggle{display:flex;padding:3px;gap:2px;background:var(--surface-soft);border:var(--seam-w) solid var(--line);border-radius:var(--radius-pill)}.mode-button{min-height:var(--tap);padding:0 var(--s4);border:0;border-radius:var(--radius-pill);background:transparent;color:var(--ink-mid);font-weight:600;cursor:pointer}.mode-button[aria-pressed=true]{background:var(--primary);color:var(--on-primary);box-shadow:var(--shadow-sm)}@media(hover:hover){.mode-button:hover:not([aria-pressed=true]){color:var(--ink)}}.icon-button{display:inline-flex;align-items:center;justify-content:center;min-width:var(--tap);min-height:var(--tap);padding:0;background:var(--surface);border:var(--seam-w) solid var(--line-strong);border-radius:50%;color:var(--ink);cursor:pointer}.icon-button[aria-pressed=true]{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.bigtype-label{display:none}@media(min-width:1281px){.bigtype-button{gap:var(--s2);padding:0 var(--s4) 0 var(--s3);border-radius:var(--radius-pill);font-weight:600}.bigtype-label{display:inline}}@media(min-width:761px)and (min-height:561px){#app:has(.lesson){height:100vh;height:100dvh;min-height:0;overflow:hidden}}.outlet{flex:1;min-height:0;display:flex;flex-direction:column}.outlet:focus{outline:none}.prose-page{max-width:68ch;margin:0 auto;padding:var(--s6) var(--s4) var(--s8)}.prose-page p,.prose-page li{max-width:var(--reading-max)}.lede{font-size:calc(var(--size-prose) + 2px);color:var(--ink-mid)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);text-decoration:none}.btn-next,.btn-start,.btn-check{background:var(--primary);color:var(--on-primary);border-color:var(--primary);box-shadow:var(--shadow)}.btn-quiet{background:transparent;border-color:var(--line-strong)}.btn-danger{border-color:var(--alert);color:var(--alert)}.btn-run{border-color:var(--primary);color:var(--primary)}.btn-run.is-live{background:var(--primary);color:var(--on-primary)}.lesson-shell[data-step=try] .btn-run{background:var(--primary);color:var(--on-primary);box-shadow:var(--shadow)}.lesson-shell[data-step=try] .btn-check,.lesson-shell:has(.lesson-actions .btn-next) .btn-check{background:var(--surface);color:var(--primary);border-color:var(--primary);box-shadow:none}@media(hover:hover){.btn:hover:not(:disabled){border-color:var(--primary)}.btn-next:hover,.btn-check:hover{background:var(--primary-press);box-shadow:var(--shadow-lift)}}.button-row{display:flex;flex-wrap:wrap;gap:var(--s3);margin:var(--s4) 0}.link-button{min-height:var(--tap);padding:0 var(--s2);background:none;border:0;border-radius:var(--radius-sm);color:var(--link);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px;cursor:pointer;font-size:var(--size-label)}.on-dark .link-button{color:var(--space-ink)}.plain-list{list-style:none;padding:0}.plain-list li{padding:var(--s2) 0;border-bottom:var(--seam-w) solid var(--line)}.home{padding:var(--s5) var(--s4) var(--s8);display:flex;flex-direction:column;gap:var(--s6)}.hero{position:relative;display:grid;grid-template-columns:minmax(260px,420px) minmax(0,1fr);gap:var(--s7);align-items:center;width:100%;max-width:1180px;margin:0 auto;padding:var(--s6);background:var(--space);color:var(--space-ink);border:var(--seam-w) solid var(--space-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-lift);overflow:hidden;isolation:isolate}.hero-field{aspect-ratio:1;max-height:420px;display:grid;place-items:center;background:var(--space);border:var(--seam-w) solid var(--space-line);border-radius:var(--radius);overflow:hidden}.field-canvas{display:block}.hero-aside{position:relative;display:flex;flex-direction:column;gap:var(--s4);align-items:flex-start;padding-inline-end:150px}.hero-title{margin:0;font-size:clamp(30px,3.4vw,46px);line-height:1.1;font-weight:600;letter-spacing:-.01em;color:var(--space-ink)}.hero-sub{margin:0;color:var(--space-mute);font-size:calc(var(--size-prose) + 1px)}.hero-progress{margin:0;color:var(--star);font-family:var(--face-display);font-weight:500}.btn-start{margin-top:var(--s2);background:var(--star);color:var(--on-star);border-color:var(--star);font-size:calc(var(--size-label) + 3px);padding:var(--s3) var(--s6);min-height:56px}@media(hover:hover){.btn-start:hover{box-shadow:0 0 0 6px color-mix(in srgb,var(--star) 22%,transparent)}}.btn-start:focus-visible{outline-color:var(--space-ink)}.start-choice{display:flex;flex-direction:column;gap:var(--s3);margin-top:var(--s2)}.start-choice-label{margin:0;font-family:var(--face-display);font-weight:600;font-size:calc(var(--size-label) + 3px);color:var(--space-ink)}.start-choice-buttons{display:flex;flex-wrap:wrap;gap:var(--s3)}.start-choice .btn-start{margin-top:0}.start-choice-note{margin:0;color:var(--space-mute);font-size:var(--size-label)}.hero-mascot{position:absolute;right:0;bottom:calc(var(--s6) * -1);width:132px;height:auto;transform:rotate(8deg);pointer-events:none;z-index:-1}@media(prefers-reduced-motion:no-preference){.hero-mascot{animation:drift 7s var(--ease-out) infinite alternate}}@keyframes drift{0%{transform:translateY(0) rotate(8deg)}to{transform:translateY(-10px) rotate(4deg)}}.home-panels{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));width:100%;max-width:1180px;margin:0 auto;background:var(--surface);border:var(--seam-w) solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.home-panel{padding:var(--s5);border-inline-start:var(--seam-w) solid var(--line)}.home-panel:first-child{border-inline-start:0}.home-panel h2{margin-top:0;font-size:var(--size-h3)}.home-panel p{color:var(--ink-mid)}.panel-link{display:inline-flex;align-items:center;gap:var(--s2);min-height:var(--tap);font-family:var(--face-display);font-weight:600;font-size:var(--size-label)}.home-tiers{width:100%;max-width:1180px;margin:0 auto}.home-tiers h2{margin-top:0}.tier-list{list-style:none;padding:0;margin:0;background:var(--surface);border:var(--seam-w) solid var(--line);border-radius:var(--radius-lg);overflow:hidden}.tier-list li{max-width:none;border-bottom:var(--seam-w) solid var(--line)}.tier-list li:last-child{border-bottom:0}.tier-row{display:grid;grid-template-columns:48px minmax(0,1fr) auto auto 20px;gap:var(--s4);align-items:center;min-height:var(--tap);padding:var(--s3) var(--s5);color:var(--ink);text-decoration:none;transition:background-color .16s var(--ease-out)}.tier-row .icon{color:var(--ink-mid)}.tier-row:focus-visible{outline-offset:-3px}@media(hover:hover){.tier-row:hover{background:var(--surface-soft)}}.tier-row-number{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--surface-soft);color:var(--primary);font-size:var(--size-label)}.tier-row-robot{font-size:calc(var(--size-label) - 1px);padding:2px var(--s3);border-radius:var(--radius-pill);background:var(--surface-soft)}.chart-page{width:100%;padding:var(--s5) var(--s4) var(--s8);max-width:1280px;margin:0 auto}.chart-head{margin-bottom:var(--s4)}.chart-head h1{margin-bottom:var(--s1)}.chart-frame{background:var(--space);border:var(--seam-w) solid var(--space-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-lift);overflow:hidden}.chart{display:block;width:100%;height:auto}.chart-star{fill:var(--space-dim)}.chart-ticks path{stroke:var(--space-line);stroke-width:1;fill:none}.chart-route,.chart-hop{fill:none;stroke-linecap:round}.chart-route{stroke-width:2.5}.chart-hop{stroke-width:2}.chart-route.is-flown,.chart-hop.is-flown{stroke:var(--star)}.chart-route.is-open{stroke:var(--space-route)}.chart-route.is-locked,.chart-hop.is-locked{stroke:var(--space-wall);stroke-dasharray:3 9}.chart-hit{fill:transparent}.chart-dot{fill:var(--star)}.chart-ring{fill:none;stroke:var(--space-ink);stroke-width:2}.chart-hollow{fill:none;stroke:var(--space-dim);stroke-width:2;stroke-dasharray:2 3}.chart-waypoint.is-locked .chart-dot{fill:var(--space-wall)}.chart-waypoint-label{fill:var(--space-mute);font-family:var(--face-display);font-size:18px;font-weight:500}.chart-link{cursor:pointer}.chart-link:focus-visible .chart-hit{fill:color-mix(in srgb,var(--star) 20%,transparent);stroke:var(--star);stroke-width:3}@media(hover:hover){.chart-link:hover .chart-hit{fill:color-mix(in srgb,var(--star) 12%,transparent)}}.chart-station-shell{fill:var(--space-raised);stroke:var(--space-route);stroke-width:2}.chart-station.is-locked .chart-station-shell{stroke:var(--space-wall);stroke-dasharray:6 4}.chart-station-name{fill:var(--space-ink);font-family:var(--face-display);font-size:20px;font-weight:600}.chart-station-count{fill:var(--space-mute);font-family:var(--face-display);font-size:18px}.chart-station.is-open .chart-station-count{fill:var(--star)}.chart-note{fill:var(--space-dim);font-family:var(--face-display);font-size:18px}.chart-station-link{cursor:pointer}.chart-station-link:focus-visible{outline:none}.chart-station-link:focus-visible .chart-station-shell{stroke:var(--star);stroke-width:4}@media(hover:hover){.chart-station-link:hover .chart-station-shell{stroke:var(--star)}}.chart-route.is-extending{stroke-dasharray:220;animation:route-extend .9s var(--ease-out) 1}@keyframes route-extend{0%{stroke-dashoffset:220}to{stroke-dashoffset:0}}.chart-index{margin-top:var(--s6)}.chart-index-tier{padding:var(--s3) 0;border-top:var(--seam-w) solid var(--line)}.chart-index-tier.is-locked{color:var(--ink-mid)}.chart-index-list{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:var(--s2) var(--s5)}.chart-index-list li{display:flex;align-items:center;gap:var(--s2);max-width:none}.chart-index-list a{display:inline-flex;align-items:center;gap:var(--s2);min-height:var(--tap)}.chart-index-number{color:var(--ink-mid);font-size:var(--size-label)}.lesson{display:flex;flex-direction:column;flex:1;min-height:0}.lesson-bar{display:flex;align-items:center;gap:var(--s4);padding:var(--s2) var(--s4);border-bottom:var(--seam-w) solid var(--line);background:var(--bg);flex-wrap:wrap}.back-link{display:inline-flex;align-items:center;gap:var(--s1);min-height:var(--tap);padding:0 var(--s3) 0 var(--s2);border-radius:var(--radius-pill);font-family:var(--face-display);font-weight:600;font-size:var(--size-label);text-decoration:none}@media(hover:hover){.back-link:hover{background:var(--surface-soft)}}.lesson-title{display:flex;align-items:baseline;gap:var(--s3);flex:1;min-width:0;flex-wrap:wrap}.lesson-title h1{margin:0;font-size:var(--size-h2)}.lesson-tag{align-self:center;padding:2px var(--s3);border-radius:var(--radius-pill);background:var(--surface-soft);color:var(--primary);font-size:calc(var(--size-label) - 1px);letter-spacing:.02em}.lesson-minutes{font-size:var(--size-label)}.lesson-shell{flex:1;display:grid;gap:0;min-height:0;grid-template-columns:var(--rail) minmax(0,1fr) var(--console-side);grid-template-areas:"rail reading side";overflow:hidden}.lesson-shell[data-state=console]{grid-template-columns:var(--rail-narrow) minmax(0,1fr) var(--console-side);grid-template-areas:"rail console side"}.step-rail{grid-area:rail;display:flex;flex-direction:column;overflow:auto;padding:var(--s3) var(--s2);gap:var(--s1);border-inline-end:var(--seam-w) solid var(--line);background:var(--bg)}.step-button{display:flex;align-items:center;gap:var(--s3);min-height:var(--tap);padding:0 var(--s3);background:none;border:0;border-radius:var(--radius-pill);color:var(--ink-mid);font-weight:500;text-align:start;cursor:pointer}.step-mark{flex:none;width:14px;height:14px;border:2px solid var(--line-strong);border-radius:50%}.step-button.is-done{color:var(--go)}.step-button.is-done .step-mark{background:var(--go);border-color:var(--go)}.step-button.is-current{color:var(--primary);background:var(--surface-soft);font-weight:600}.step-button.is-current .step-mark{border-color:var(--primary);border-width:4px}@media(hover:hover){.step-button:hover:not(.is-current){background:var(--surface-soft)}}.lesson-shell[data-state=console] .step-button{flex-direction:column;justify-content:center;gap:2px;min-height:56px;padding:var(--s1) 2px;border-radius:var(--radius)}.lesson-shell[data-state=console] .step-name{font-size:14px;line-height:1.1}.lesson-prose [tabindex="-1"]:focus,.lesson-reminder:focus{outline:none}.lesson-reading{grid-area:reading;padding:var(--s5) var(--s6);overflow:auto;min-height:0;background:var(--surface)}.lesson-shell[data-state=console] .lesson-reading{display:none}.lesson-console{grid-area:console;display:none;flex-direction:column;min-height:0}.lesson-shell[data-state=console] .lesson-console{display:flex}.lesson-reminder{margin:0;padding:var(--s2) var(--s4);border-bottom:var(--seam-w) solid var(--line);background:var(--surface-soft);font-family:var(--face-display);font-weight:500;font-size:var(--size-label);max-width:none}.editor{flex:1;min-height:160px;overflow:hidden;border-bottom:var(--seam-w) solid var(--space-line)}.editor .cm-editor{height:100%}.run-bar{display:flex;align-items:center;gap:var(--s3);padding:var(--s2) var(--s4);border-bottom:var(--seam-w) solid var(--line);background:var(--surface);flex-wrap:wrap}.run-spacer{flex:1}.reset-notice{display:flex;align-items:center;gap:var(--s1);margin:0;font-size:var(--size-label);color:var(--ink-mid)}.clear-question{font-weight:700}.clear-question:focus{outline:none}.results-slot{min-height:0}.lesson-console>.results-slot{flex:0 1 auto;overflow:auto;padding:0 var(--s4);max-height:34%;border-bottom:var(--seam-w) solid var(--line);background:var(--surface)}.lesson-console>.results-slot:not(:has(>:not([hidden]):not(:empty))){display:none}.lesson-console>.results-slot .check-results{margin-top:var(--s3)}.lesson-console>.results-slot .lesson-actions{margin:var(--s3) 0}.lesson-side{grid-area:side;display:flex;flex-direction:column;gap:var(--s3);padding:var(--s3);border-inline-start:var(--seam-w) solid var(--line);overflow:auto;min-height:0;background:var(--bg)}.field-box{flex:0 1 auto;min-height:200px;aspect-ratio:1;display:grid;place-items:center;background:var(--space);border:var(--seam-w) solid var(--space-line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.field-caption{flex:none;margin:0;font-size:var(--size-label);min-height:1.5em}.field-caption:empty{min-height:0}.mission{font-size:calc(var(--size-prose) + 5px);line-height:1.35}.why-panel{margin:var(--s5) 0;padding:var(--s4) var(--s5);background:var(--surface-soft);border:var(--seam-w) solid var(--line);border-radius:var(--radius)}.why-title{margin:0 0 var(--s2);font-size:var(--size-h3);color:var(--primary)}.why-panel code,.hint-box code{background:var(--surface)}.lesson-actions{display:flex;flex-wrap:wrap;gap:var(--s3);margin-top:var(--s5);align-items:center}.console{display:flex;flex-direction:column;flex:0 0 auto;min-height:120px;max-height:38%;padding:var(--s3) var(--s4);gap:var(--s2);overflow:auto}.console-head{display:flex;align-items:baseline;gap:var(--s3)}.console-title{font-size:var(--size-label);letter-spacing:.02em;color:var(--space-mute)}.console-status{margin:0;font-size:var(--size-label);color:var(--star);max-width:none}.console-output{margin:0;font-family:var(--face-code);font-size:var(--size-code);white-space:pre-wrap;color:var(--space-ink);overflow:auto}.console-raw{margin:var(--s2) 0 0;font-family:var(--face-code);font-size:calc(var(--size-code) - 1px);white-space:pre-wrap;color:var(--space-mute);border-top:var(--seam-w) solid var(--space-line);padding-top:var(--s2)}.problem{padding:var(--s3);background:color-mix(in srgb,var(--space-alert) 12%,transparent);border:var(--seam-w) solid color-mix(in srgb,var(--space-alert) 45%,transparent);border-radius:var(--radius-sm)}.problem-limit{background:color-mix(in srgb,var(--star) 10%,transparent);border-color:color-mix(in srgb,var(--star) 45%,transparent)}.problem-headline{display:flex;gap:var(--s2);align-items:flex-start;margin:0 0 var(--s1);font-family:var(--face-display);font-weight:600;max-width:none}.problem-fix{margin:0;color:var(--space-mute);max-width:none}.problem-actions{display:flex;gap:var(--s3);flex-wrap:wrap;margin:var(--s1) 0 0}.cm-error-gutter{color:var(--space-alert);font-weight:700}.cm-error-gutter-col{min-width:14px}.telemetry{flex:0 1 auto;min-height:140px;overflow:auto;padding:var(--s3) var(--s4);border-radius:var(--radius);font-size:var(--size-label);box-shadow:var(--shadow)}.telemetry-head{display:flex;justify-content:space-between;align-items:baseline}.telemetry-title{font-size:var(--size-label);letter-spacing:.02em;color:var(--space-mute)}.telemetry-sub{margin:var(--s3) 0 var(--s1);font-size:calc(var(--size-label) - 1px);letter-spacing:.02em;color:var(--space-mute)}.telemetry-list{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px var(--s3);margin:var(--s2) 0 0}.telemetry-list dt{color:var(--space-mute);font-family:var(--face-display)}.telemetry-list dd{margin:0;font-family:var(--face-code);color:var(--star);text-align:end}.telemetry-list-muted dd{color:var(--space-ink)}.telemetry-bare{grid-column:1 / -1;color:var(--space-ink)}.telemetry-empty{margin:var(--s2) 0 0;color:var(--space-mute);max-width:none}.telemetry-divider{border-top:var(--seam-w) solid var(--space-line);margin-top:var(--s3)}.gamepad{flex:none;padding:var(--s3);border-radius:var(--radius);box-shadow:var(--shadow)}.pad-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:var(--s2)}.pad-title{font-size:var(--size-label);letter-spacing:.02em;color:var(--space-mute)}.pad-connected{font-size:max(14px,calc(var(--size-label) - 1px));color:var(--star)}.pad-shoulders{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s2);margin-bottom:var(--s3)}.pad-button{min-width:var(--tap);min-height:var(--tap);padding:0;background:var(--space-raised);border:var(--seam-w) solid var(--space-wall);border-radius:var(--radius-pill);color:var(--space-ink);font-family:var(--face-display);font-weight:600;font-size:var(--size-label);cursor:pointer;touch-action:none}.pad-button[aria-pressed=true]{background:var(--star);color:var(--on-star);border-color:var(--star)}@media(hover:hover){.pad-button:hover{border-color:var(--space-mute)}}.pad-main{display:grid;grid-template-columns:auto auto;gap:var(--s3) var(--s4);align-items:center;justify-content:space-around}.stick{position:relative;width:96px;height:96px;display:grid;place-items:center;background:var(--space-raised);border:var(--seam-w) solid var(--space-wall);border-radius:50%;touch-action:none;cursor:grab}.stick-well{width:76px;height:76px;border:var(--seam-w) dashed var(--space-wall);border-radius:50%;display:grid;place-items:center}.stick-thumb{width:34px;height:34px;background:var(--space-mute);border-radius:50%}.stick-label{position:absolute;bottom:4px;font-family:var(--face-display);font-size:14px;line-height:1;color:var(--space-mute)}.stick:focus-visible{outline:3px solid var(--star);outline-offset:2px}.dpad{display:grid;grid-template-columns:repeat(3,var(--tap));grid-template-rows:repeat(3,var(--tap));gap:2px}.dpad-up{grid-area:1 / 2}.dpad-left{grid-area:2 / 1}.dpad-right{grid-area:2 / 3}.dpad-down{grid-area:3 / 2}.dpad-button span{font-size:14px}.pad-face{display:grid;grid-template-columns:repeat(3,var(--tap));grid-template-rows:repeat(3,var(--tap));gap:2px}.pad-y{grid-area:1 / 2}.pad-x{grid-area:2 / 1}.pad-b{grid-area:2 / 3}.pad-a{grid-area:3 / 2}.check-results{margin-top:var(--s4)}.check-summary{font-family:var(--face-display);font-weight:600;margin:0 0 var(--s3);max-width:none}.check-items{list-style:none;padding:0;margin:0}.check-item{display:grid;grid-template-columns:24px minmax(0,1fr);gap:var(--s1) var(--s3);padding:var(--s3) 0;border-bottom:var(--seam-w) solid var(--line);max-width:none}.check-item .icon{grid-row:span 2}.check-label{font-family:var(--face-display);font-weight:500}.check-detail{font-size:var(--size-label)}.check-item.pass .check-label{color:var(--go)}.check-item.fail .check-label{color:var(--alert)}.check-blocked{margin-top:var(--s3)}.celebrate-line{margin:0;font-size:var(--size-h2);color:var(--badge)}.hint-box{margin-top:var(--s5);padding:var(--s4) var(--s5);background:var(--surface-soft);border:var(--seam-w) solid var(--line);border-radius:var(--radius)}.hint-title{margin:0 0 var(--s2);font-size:var(--size-h3)}.hint{display:grid;grid-template-columns:24px minmax(0,1fr);gap:var(--s2);margin:0 0 var(--s3);max-width:none}.hint-number{color:var(--primary)}.hint-more{margin-top:var(--s1)}.hint-box [tabindex="-1"]:focus{outline:none}.hint-solution{margin-top:var(--s4);border-top:var(--seam-w) solid var(--line);padding-top:var(--s3)}.code-block{margin:var(--s3) 0;padding:var(--s3) var(--s4);background:var(--space);color:var(--space-ink);border-radius:var(--radius-sm);overflow-x:auto;font-family:var(--face-code);font-size:var(--size-code);line-height:1.55}.code-block code{font-family:inherit;font-size:inherit}.lesson-prose code,.prose-page code,.mentor-body code{padding:1px 5px;background:var(--surface-soft);border:var(--seam-w) solid var(--line);border-radius:var(--radius-xs);font-size:.94em}.lesson-prose .code-block code,.prose-page .code-block code,.mentor-body .code-block code{padding:0;background:none;border:0}.md-table-wrap{overflow-x:auto;margin:var(--s4) 0;border:var(--seam-w) solid var(--line);border-radius:var(--radius)}.md-table{border-collapse:collapse;width:100%;font-size:var(--size-label)}.md-table th,.md-table td{border-bottom:var(--seam-w) solid var(--line);padding:var(--s2) var(--s3);text-align:start;vertical-align:top}.md-table tr:last-child td{border-bottom:0}.md-table th{background:var(--surface-soft);font-family:var(--face-display)}.md-list{padding-inline-start:var(--s5)}.md-list li{margin-bottom:var(--s2)}blockquote{margin:var(--s4) 0;padding:var(--s3) var(--s4);background:var(--surface-soft);border-radius:var(--radius);color:var(--ink-mid)}hr{border:0;border-top:var(--seam-w) solid var(--line);margin:var(--s5) 0}.mentor-page{max-width:80ch}.mentor-body>h2:first-child{margin-top:var(--s6)}.raw-error summary{display:inline-flex;align-items:center;cursor:pointer;font-weight:600;color:var(--link)}.tier-tabs{display:flex;flex-wrap:wrap;gap:var(--s2);margin:var(--s4) 0}.tier-tab{display:inline-flex;flex-direction:column;justify-content:center;min-height:var(--tap);padding:var(--s2) var(--s4);border:var(--seam-w) solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink);text-decoration:none;font-family:var(--face-display);font-weight:600;font-size:var(--size-label)}.tier-tab[aria-current=page]{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.tier-tab-name{font-weight:400;font-size:max(14px,calc(var(--size-label) - 1px))}@media(hover:hover){.tier-tab:hover:not([aria-current=page]){border-color:var(--primary)}}.progress-count{font-size:calc(var(--size-prose) + 4px)}.progress-tiers{list-style:none;padding:0}.progress-tiers li{display:flex;justify-content:space-between;gap:var(--s4);padding:var(--s2) 0;border-bottom:var(--seam-w) solid var(--line);max-width:var(--reading-max)}.progress-tier-name{font-family:var(--face-display);font-weight:500}@media(max-width:1180px){:root{--console-side: 320px}.lesson-shell:has(.gamepad){--console-side: 352px}.hero{grid-template-columns:minmax(0,1fr);gap:var(--s5)}.hero-field{max-height:360px;width:min(100%,360px)}.hero-aside{padding-inline-end:120px}.hero-mascot{width:110px}}@media(max-width:980px){.lesson-shell,.lesson-shell[data-state=console]{grid-template-columns:var(--rail-narrow) minmax(0,1fr) var(--console-side)}.lesson-shell .step-button{flex-direction:column;justify-content:center;gap:2px;min-height:56px;padding:var(--s1) 2px;border-radius:var(--radius)}.lesson-shell .step-name{font-size:14px;line-height:1.1}}@media(max-height:560px){.site-header{position:static}html{scroll-padding-block-start:0}.lesson{flex:none}.lesson-shell{overflow:visible}}@media(max-width:760px){.lesson{flex:none}.lesson-shell{overflow:visible}.site-header{gap:var(--s2);padding:var(--s2) var(--s3)}.wordmark-name{display:none}.header-controls{margin-inline-start:auto}.site-nav{order:3;width:100%;margin-inline-start:0;justify-content:space-between}.nav-link{padding:0 var(--s3);font-size:calc(var(--size-label) - 1px)}.nav-link .icon{display:none}.mode-button{padding:0 var(--s3)}.home{padding:var(--s3) var(--s3) var(--s7);gap:var(--s5)}.hero{padding:var(--s4);border-radius:var(--radius)}.hero-aside{padding-inline-end:0}.hero-mascot{display:none}.btn-start,.start-choice-buttons{width:100%}.lesson-shell,.lesson-shell[data-state=console]{grid-template-columns:minmax(0,1fr);grid-template-areas:"rail" "reading" "side"}.lesson-shell[data-state=console]{grid-template-areas:"rail" "console" "side"}.step-rail{flex-direction:row;overflow-x:auto;border-inline-end:0;border-bottom:var(--seam-w) solid var(--line)}.lesson-shell .step-name{font-size:inherit}.lesson-shell .step-button,.lesson-shell[data-state=console] .step-button{flex-direction:row;justify-content:flex-start;gap:var(--s3);min-height:var(--tap);padding:0 var(--s3);border-radius:var(--radius-pill);flex:none}.lesson-side{flex-direction:column;max-height:none}.field-box{width:100%;height:auto;aspect-ratio:1}.lesson-reading,.home-panel,.chart-page{padding:var(--s4)}.tier-row{padding:var(--s3) var(--s4)}.prose-page{padding:var(--s4) var(--s4) var(--s7)}.tier-row{grid-template-columns:40px minmax(0,1fr) 20px}.tier-row-count,.tier-row-robot{display:none}.editor{min-height:260px}}
