@font-face{font-family:Geist;src:url('./assets/geist-400.ttf') format('truetype');font-weight:400 599;font-display:swap}
@font-face{font-family:Geist;src:url('./assets/geist-700.ttf') format('truetype');font-weight:600 749;font-display:swap}
@font-face{font-family:Geist;src:url('./assets/geist-800.ttf') format('truetype');font-weight:750 900;font-display:swap}
:root{
  --text-xs:clamp(.75rem,.72rem + .1vw,.8rem);--text-sm:clamp(.875rem,.84rem + .1vw,.95rem);--text-base:clamp(1rem,.98rem + .1vw,1.0625rem);--text-lg:clamp(1.15rem,1rem + .5vw,1.4rem);--text-xl:clamp(1.6rem,1.3rem + 1vw,2.2rem);--text-2xl:clamp(2rem,1.5rem + 2.2vw,3.4rem);
  --space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;
  --font-body:Geist,Inter,system-ui,sans-serif;--font-display:Geist,Inter,system-ui,sans-serif;--font-mono:'IBM Plex Mono',monospace;
  --accent:#22c3cb;--accent-text:#49d4da;--on-accent:#061416;--ink:#0a1316;--bg:#080e11;--surface:#101a1f;--surface-2:#16242b;--text:#edf4f5;--muted:#a8b8bf;--faint:#849aa5;--border:#ffffff1c;--success:#91d5ac;--warning:#f4bf8e;
  --radius-sm:.375rem;--radius-md:.75rem;--radius-lg:1.25rem;--radius-xl:1.5rem;--transition-interactive:180ms cubic-bezier(.16,1,.3,1);
  color-scheme:dark;
}
*,:before,:after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:none;text-size-adjust:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;scroll-behavior:smooth;scroll-padding-top:var(--space-8)}
body{font-family:var(--font-body);font-size:var(--text-base);line-height:1.6;background:var(--bg);color:var(--text);min-height:100dvh}
button,input,select,textarea{font:inherit;color:inherit}button,a,input,textarea,select{transition:color var(--transition-interactive),background var(--transition-interactive),border-color var(--transition-interactive),box-shadow var(--transition-interactive)}
button{cursor:pointer;background:none;border:0}a{color:inherit}button:active{transform:translateY(1px)}button:disabled{opacity:.45;cursor:not-allowed}img,svg{display:block;max-width:100%;height:auto}h1,h2,h3,h4{line-height:1.15;text-wrap:balance}h1{font-size:var(--text-2xl);font-weight:650;letter-spacing:-.055em}h2{font-size:var(--text-xl);font-weight:600;letter-spacing:-.04em}h3{font-size:var(--text-lg);font-weight:600;letter-spacing:-.025em}p,li{max-width:72ch;text-wrap:pretty}p+p{margin-top:var(--space-3)}:focus-visible{outline:2px solid var(--accent-text);outline-offset:4px;border-radius:var(--radius-sm)}
::selection{background:color-mix(in srgb,var(--accent) 30%,transparent)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;top:-70px;left:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--accent);color:var(--on-accent);z-index:100}.skip:focus{top:var(--space-3)}
[data-mode=light]{color-scheme:light;--bg:#f0f4f5;--surface:#ffffff;--surface-2:#e7edef;--text:#12252d;--muted:#4c606a;--faint:#536a73;--border:#132c3025;--success:#17603a;--warning:#8b3c0b}
.topbar{height:88px;display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);padding:0 clamp(var(--space-5),4vw,var(--space-16));border-bottom:1px solid var(--border);background:var(--ink);color:#edf4f5}.wordmark{font-size:var(--text-lg);letter-spacing:-.03em;font-weight:800;display:flex;align-items:baseline;text-decoration:none;gap:var(--space-1)}.wordmark>span{font-weight:450;color:var(--accent-text)}.wordmark small{font-size:var(--text-xs);letter-spacing:0;font-weight:450;color:#adbec4;margin-left:var(--space-3)}.top-actions{display:flex;align-items:center;gap:var(--space-5)}.session-indicator{font-size:var(--text-xs);color:#b3c3c9;display:flex;align-items:center;gap:var(--space-2)}.session-indicator i,.signal-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent)}.settings-trigger{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);min-height:44px}.settings-trigger:hover{color:var(--accent-text)}.settings-trigger>span{font-size:var(--text-lg)}
.power{width:76px;height:76px;flex:none;border-radius:50%;border:2px solid var(--accent);box-shadow:inset 0 0 0 5px var(--ink),inset 0 1px 1px #ffffff40,0 4px 20px #0005;background:var(--ink);color:var(--accent-text);display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;gap:var(--space-1)}.power>span{font-size:var(--text-xl)}.power>small{font-size:var(--text-xs);font-family:var(--font-mono);color:#c7d4d9}.power.small{width:46px;height:46px}.power.small>span{font-size:var(--text-lg)}.power[aria-pressed=true]{box-shadow:inset 0 0 0 5px var(--ink),0 0 22px color-mix(in srgb,var(--accent) 32%,transparent)}.power:hover{background:color-mix(in srgb,var(--accent) 12%,var(--ink))}
.intro{max-width:1480px;margin:auto;padding:var(--space-10) clamp(var(--space-5),4vw,var(--space-16)) var(--space-8);display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:var(--space-8);align-items:center}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-family:var(--font-mono);font-size:var(--text-xs);font-weight:500;color:var(--accent-text);margin-bottom:var(--space-3)}.intro h1{max-width:730px}.intro .lede{color:var(--muted);max-width:690px;margin-top:var(--space-5)}.intro-meta{display:flex;gap:var(--space-5);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--faint);margin-top:var(--space-5);flex-wrap:wrap}.intro-meta span:before{content:'+';color:var(--accent-text);margin-right:var(--space-2)}
.guide-block{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-4)}.guide-block img{width:120px;height:132px;object-fit:contain;filter:drop-shadow(0 10px 18px #0004)}.guide-copy{max-width:160px;font-size:var(--text-sm)}.guide-copy strong{display:block;font-weight:600;margin-bottom:var(--space-2)}.guide-copy p{color:var(--muted)}
.track-bar{max-width:1480px;padding:0 clamp(var(--space-5),4vw,var(--space-16));margin:0 auto var(--space-6);display:flex;align-items:center;justify-content:space-between;gap:var(--space-5)}.track-tabs{display:flex;padding:var(--space-1);border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-md);gap:var(--space-1)}.track-tab{min-height:50px;padding:var(--space-2) var(--space-5);font-size:var(--text-sm);font-weight:600;border-radius:var(--radius-sm);color:var(--muted);display:flex;gap:var(--space-3);align-items:center}.track-tab small{font-weight:400;font-size:var(--text-xs)}.track-tab[aria-selected=true]{background:var(--accent);color:var(--on-accent)}.track-tab:hover:not([aria-selected=true]){background:var(--surface-2);color:var(--text)}.track-status{color:var(--muted);font-size:var(--text-xs);font-family:var(--font-mono);display:flex;gap:var(--space-3);align-items:center}.track-status .line{width:80px;height:3px;background:var(--surface-2);overflow:hidden}.track-status .line>i{display:block;height:100%;background:var(--accent);transition:width .4s}
.lab-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:var(--space-8);max-width:1480px;margin:auto;padding:0 clamp(var(--space-5),4vw,var(--space-16)) var(--space-12)}.course-rail{padding-top:var(--space-5)}.rail-label{font-size:var(--text-xs);text-transform:uppercase;font-family:var(--font-mono);letter-spacing:.12em;color:var(--faint);margin-bottom:var(--space-4)}.mission-nav{display:grid;gap:var(--space-2)}.mission-link{display:grid;grid-template-columns:32px minmax(0,1fr);gap:var(--space-3);text-align:left;padding:var(--space-4) var(--space-3);border-radius:var(--radius-md);border:1px solid transparent}.mission-link:hover{background:var(--surface)}.mission-link[aria-current=step]{background:var(--surface);border-color:var(--border)}.mission-number{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--faint);padding-top:2px}.mission-link[aria-current=step] .mission-number,.mission-link.done .mission-number{color:var(--accent-text)}.mission-link b{display:block;font-size:var(--text-sm);font-weight:550}.mission-link small{display:block;color:var(--faint);font-size:var(--text-xs);margin-top:var(--space-1)}.rail-download{margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--border)}.rail-download p{font-size:var(--text-sm);color:var(--muted);margin-bottom:var(--space-4)}.text-button{font-size:var(--text-sm);color:var(--accent-text);text-align:left;min-height:44px;text-decoration:underline;text-underline-offset:5px}.rail-footnote{font-size:var(--text-xs);color:var(--faint);margin-top:var(--space-6)}
.mission-panel{min-width:0;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface)}.mission-heading{padding:var(--space-8) var(--space-8) var(--space-6);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;gap:var(--space-5)}.mission-heading .eyebrow{margin-bottom:var(--space-2)}.mission-heading h2{margin-bottom:var(--space-2)}.mission-heading .subtitle{color:var(--muted);font-size:var(--text-sm)}.mission-tag{font-size:var(--text-xs);font-family:var(--font-mono);color:var(--faint);white-space:nowrap;padding-top:var(--space-1)}.mission-tag.done{color:var(--success)}
.lesson{display:grid;grid-template-columns:1.25fr 1fr;gap:var(--space-8);padding:var(--space-6) var(--space-8);border-bottom:1px solid var(--border)}.lesson h3{font-size:var(--text-sm);margin-bottom:var(--space-3)}.lesson p{font-size:var(--text-sm);color:var(--muted)}.example{background:var(--surface-2);padding:var(--space-5);border-radius:var(--radius-md);align-self:start}.example .eyebrow{font-size:var(--text-xs);margin-bottom:var(--space-2)}.practice{padding:var(--space-8)}.workspace-heading{display:flex;justify-content:space-between;gap:var(--space-4);align-items:baseline;margin-bottom:var(--space-3)}.workspace-heading span{font-size:var(--text-xs);font-family:var(--font-mono);color:var(--faint)}.task{font-size:var(--text-sm);color:var(--muted);margin-bottom:var(--space-6);max-width:75ch}.work-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(230px,1fr);gap:var(--space-6);align-items:start}.fields{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}label{font-size:var(--text-sm);color:var(--muted)}.field{display:grid;gap:var(--space-2);min-width:0}.field.wide{grid-column:1/-1}.field.highlight label{color:var(--accent-text)}input[type=number],input[type=time],select,textarea{width:100%;min-width:0;min-height:48px;border:1px solid var(--border);background:var(--bg);border-radius:var(--radius-sm);padding:var(--space-3);font-size:var(--text-base);color:var(--text);outline-offset:2px}.field.highlight input{border-color:color-mix(in srgb,var(--accent) 60%,transparent);font-weight:600;font-family:var(--font-mono)}input[type=number]{font-variant-numeric:tabular-nums}textarea{resize:vertical;min-height:112px}.field .fine{font-size:var(--text-xs)}
.readout{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-5);font-variant-numeric:tabular-nums}.readout .readout-label{font-size:var(--text-xs);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--faint)}.metric-value{font-family:var(--font-mono);font-size:var(--text-xl);font-weight:500;letter-spacing:-.05em;line-height:1.2;margin:var(--space-3) 0 var(--space-1)}.metric-caption{font-size:var(--text-xs);color:var(--muted)}.meter{margin:var(--space-5) 0 var(--space-4);height:8px;background:var(--surface-2);position:relative}.meter>span{display:block;background:var(--accent);height:100%;max-width:100%;transition:width .25s}.meter .target-mark{position:absolute;top:-4px;height:16px;width:2px;background:var(--text)}.readout-row{display:flex;justify-content:space-between;gap:var(--space-3);font-size:var(--text-sm);color:var(--muted);padding:var(--space-2) 0;border-bottom:1px solid var(--border)}.readout-row:last-of-type{border:0}.readout-row b{font-family:var(--font-mono);color:var(--text);font-weight:450;text-align:right}.model-status{font-size:var(--text-xs);color:var(--warning);margin-top:var(--space-4);line-height:1.5}.model-status.good{color:var(--success)}.fine{font-size:var(--text-xs);color:var(--faint);line-height:1.6}.readout .fine{margin-top:var(--space-4)}.time-strip{display:grid;gap:var(--space-2);margin:var(--space-5) 0}.time-strip>div{padding:var(--space-2) var(--space-3);background:var(--surface-2);font-size:var(--text-xs);display:flex;justify-content:space-between;gap:var(--space-2)}.time-strip>div:first-child{background:color-mix(in srgb,var(--accent) 15%,var(--surface-2));color:var(--accent-text)}.inventory-blocks{display:flex;gap:var(--space-1);flex-wrap:wrap;margin:var(--space-5) 0}.inventory-blocks i{height:20px;width:20px;background:var(--accent);border-radius:3px}.inventory-blocks i.booked{background:var(--faint)}.inventory-blocks i.maintenance{background:var(--warning)}.inventory-legend{display:flex;gap:var(--space-3);flex-wrap:wrap;color:var(--muted);font-size:var(--text-xs)}.inventory-legend i{display:inline-block;width:8px;height:8px;background:var(--accent);margin-right:4px}.inventory-legend i.booked{background:var(--faint)}.inventory-legend i.maintenance{background:var(--warning)}
.handoff-fields{display:grid;gap:var(--space-4)}.checklist{display:grid;gap:var(--space-2);border:0;min-width:0}.checklist legend{font-size:var(--text-sm);margin-bottom:var(--space-3);color:var(--muted)}.check-label{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3);min-height:48px;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:var(--text-sm);cursor:pointer}.check-label:has(input:checked){border-color:color-mix(in srgb,var(--accent) 60%,transparent);background:color-mix(in srgb,var(--accent) 6%,transparent)}input[type=checkbox]{width:18px;height:18px;flex:none;margin-top:3px;accent-color:var(--accent)}.handoff-summary{font-size:var(--text-sm);margin-top:var(--space-4);color:var(--muted);overflow-wrap:anywhere}
.decision{margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--border)}.decision fieldset{border:0;min-width:0}.decision legend{font-size:var(--text-sm);font-weight:550;margin-bottom:var(--space-4)}.answers{display:grid;gap:var(--space-2)}.answer{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);border:1px solid var(--border);cursor:pointer;color:var(--muted);min-height:48px;font-size:var(--text-sm)}.answer input{accent-color:var(--accent);flex:none;width:17px;height:17px;margin-top:3px}.answer:has(input:checked){color:var(--text);background:color-mix(in srgb,var(--accent) 8%,transparent);border-color:var(--accent)}.answer:hover{background:var(--surface-2)}.decision-label{font-size:var(--text-xs);font-family:var(--font-mono);color:var(--accent-text);margin-bottom:var(--space-3);text-transform:uppercase;letter-spacing:.1em}
.mission-actions{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-top:var(--space-6)}.primary,.secondary{min-height:48px;padding:var(--space-3) var(--space-5);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:550;text-decoration:none}.primary{background:var(--accent);color:var(--on-accent);border:1px solid var(--accent)}.primary:hover{filter:brightness(1.1)}.secondary{border:1px solid var(--border);background:var(--surface);color:var(--text)}.secondary:hover{background:var(--surface-2);border-color:var(--faint)}.mission-actions .fine{max-width:280px}.feedback{margin-top:var(--space-5);padding:var(--space-5);border:1px solid color-mix(in srgb,var(--warning) 45%,transparent);border-radius:var(--radius-md);background:color-mix(in srgb,var(--warning) 5%,transparent);font-size:var(--text-sm)}.feedback h4{font-size:var(--text-sm);margin-bottom:var(--space-2);color:var(--warning)}.feedback.success{border-color:color-mix(in srgb,var(--success) 45%,transparent);background:color-mix(in srgb,var(--success) 5%,transparent)}.feedback.success h4{color:var(--success)}.feedback .secondary{margin-top:var(--space-4)}.feedback[hidden]{display:none}.feedback:focus{outline:0}
.next-step{max-width:1480px;margin:auto;padding:0 clamp(var(--space-5),4vw,var(--space-16)) var(--space-12)}.next-inner{border-top:1px solid var(--border);padding-top:var(--space-8);display:grid;grid-template-columns:1fr 1fr;gap:var(--space-12)}.next-inner h2{font-size:var(--text-lg);margin-bottom:var(--space-3)}.next-inner p{font-size:var(--text-sm);color:var(--muted)}.external-actions{display:flex;gap:var(--space-3);flex-wrap:wrap;margin:var(--space-5) 0}.destination{font-family:var(--font-mono);font-size:var(--text-xs);overflow-wrap:anywhere;user-select:all;color:var(--faint)}.external-note{font-size:var(--text-xs)!important}.download-block{padding:var(--space-6);border-radius:var(--radius-md);background:var(--surface);border:1px solid var(--border)}.download-block .secondary{margin-top:var(--space-4)}.site-footer{max-width:1480px;margin:auto;padding:var(--space-5) clamp(var(--space-5),4vw,var(--space-16));border-top:1px solid var(--border);display:flex;justify-content:space-between;gap:var(--space-5);font-size:var(--text-xs);color:var(--faint)}.site-footer a{text-underline-offset:4px}
dialog{position:fixed;inset:0 0 0 auto;margin:0;padding:var(--space-8);width:min(480px,100%);height:100dvh;max-height:100dvh;max-width:100%;border:0;border-left:1px solid var(--border);background:var(--surface);color:var(--text);overflow-y:auto;box-shadow:-15px 0 80px #0006}dialog::backdrop{background:#0009;backdrop-filter:blur(4px)}.sheet-header{display:flex;justify-content:space-between;gap:var(--space-5);align-items:center;margin-bottom:var(--space-8)}.sheet-header .eyebrow{margin-bottom:var(--space-2)}.sheet-header h2{font-size:var(--text-xl)}.icon-button{min-width:44px;min-height:44px;font-size:var(--text-xl);color:var(--muted);border:1px solid var(--border);border-radius:50%}.icon-button:hover{background:var(--surface-2)}.soundtrack{display:flex;gap:var(--space-5);align-items:center;margin-bottom:var(--space-5)}.soundtrack>div{min-width:0}.soundtrack .eyebrow{margin-bottom:var(--space-2)}.soundtrack strong{font-size:var(--text-sm);display:block}.muted{font-size:var(--text-sm);color:var(--muted)}.soundtrack .muted{font-size:var(--text-xs);margin-top:var(--space-1)}.audio-controls{display:flex;align-items:flex-end;gap:var(--space-3);margin-bottom:var(--space-4)}.audio-controls>label{flex:1;min-width:0}.audio-controls select{margin-top:var(--space-2);font-size:var(--text-sm)}.audio-controls .secondary{white-space:nowrap}.volume-label{display:flex;justify-content:space-between;margin-bottom:var(--space-1)}input[type=range]{width:100%;min-height:44px;accent-color:var(--accent);cursor:pointer}.sheet-divider{border-top:1px solid var(--border);margin:var(--space-6) 0}.section-line{display:flex;justify-content:space-between;gap:var(--space-3);align-items:center;margin-bottom:var(--space-4)}dialog h3{font-size:var(--text-sm);margin-bottom:var(--space-3)}.section-line h3{margin:0}.mode-control{display:flex;border:1px solid var(--border);border-radius:var(--radius-sm);padding:2px}.mode-control button{font-size:var(--text-xs);min-height:44px;padding:var(--space-2) var(--space-3);border-radius:4px}.mode-control button[aria-pressed=true]{background:var(--surface-2);color:var(--accent-text)}.theme-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3)}.theme-swatch{min-width:0;text-align:left;border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.theme-swatch[aria-pressed=true]{outline:2px solid var(--accent-text);outline-offset:2px}.theme-preview{background:var(--swatch-ink);height:48px;padding:var(--space-3);display:flex;align-items:flex-end;justify-content:space-between}.theme-preview i{display:block;width:60%;height:4px;background:var(--swatch-accent)}.theme-preview b{display:block;height:12px;width:12px;border-radius:50%;background:var(--swatch-accent)}.theme-swatch>span:last-child{display:block;font-size:var(--text-xs);padding:var(--space-2) var(--space-3);font-weight:500}.theme-swatch:hover{border-color:var(--faint)}.custom-theme{margin-top:var(--space-6)}.color-fields{display:flex;gap:var(--space-4);margin-bottom:var(--space-3)}.color-fields label{display:flex;align-items:center;gap:var(--space-3);flex:1;justify-content:space-between;font-size:var(--text-xs)}input[type=color]{width:44px;height:44px;border:1px solid var(--border);padding:4px;border-radius:var(--radius-sm);background:var(--bg);cursor:pointer}.session-actions{display:flex;gap:var(--space-3);margin-top:var(--space-4);flex-wrap:wrap}#session-message{margin-top:var(--space-3)}.noscript{padding:var(--space-12)}
.worksheet-preview{font-family:var(--font-mono);font-size:var(--text-xs);line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere;max-height:480px;overflow-y:auto;padding:var(--space-4);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);margin:var(--space-3) 0}.external-fallback{margin-top:var(--space-3)}summary{cursor:pointer}summary.text-button{display:list-item;margin-left:var(--space-4);padding-top:var(--space-3)}.topbar{--accent-text:#cdeef0}
@keyframes panel-in{from{opacity:.5}to{opacity:1}}.mission-panel{animation:panel-in .25s ease-out}
@media(min-width:1600px){.intro{padding-top:var(--space-12)}}
@media(max-width:1150px){.lab-layout{grid-template-columns:190px minmax(0,1fr);gap:var(--space-5)}.work-grid{grid-template-columns:1fr}.readout{display:block}.lesson{grid-template-columns:1fr;gap:var(--space-5)}.intro{grid-template-columns:1fr 250px}.guide-block img{width:100px}.guide-copy{max-width:135px}.track-tab small{display:none}.mission-heading,.practice{padding:var(--space-6)}.lesson{padding:var(--space-6)}}
@media(max-width:760px){.topbar{height:72px;padding:0 var(--space-5)}.wordmark small{display:none}.top-actions{gap:var(--space-3)}.session-indicator{display:none}.settings-trigger{font-size:var(--text-xs)}.intro{grid-template-columns:1fr;padding:var(--space-8) var(--space-5) var(--space-6);gap:var(--space-5)}.intro h1{max-width:560px}.intro .lede{margin-top:var(--space-4)}.guide-block{display:none}.intro-meta{gap:var(--space-3);margin-top:var(--space-4)}.track-bar{padding:0 var(--space-5);margin-bottom:var(--space-5);display:block}.track-tabs{width:100%}.track-tab{flex:1;justify-content:center;padding:var(--space-2) var(--space-3)}.track-status{margin-top:var(--space-4);justify-content:space-between}.track-status .line{flex:1;max-width:170px}.lab-layout{display:block;padding:0 var(--space-5) var(--space-8)}.course-rail{padding:0;margin-bottom:var(--space-5)}.rail-label,.rail-download,.rail-footnote{display:none}.mission-nav{display:flex;gap:var(--space-2)}.mission-link{flex:1;min-width:0;display:block;padding:var(--space-3) var(--space-2);border:1px solid var(--border);border-radius:var(--radius-sm)}.mission-number{font-size:var(--text-xs);display:block;margin-bottom:var(--space-1)}.mission-link b{font-size:var(--text-xs);font-weight:500;line-height:1.4}.mission-link small{display:none}.mission-link[aria-current=step]{border-color:var(--accent)}.mission-heading,.lesson,.practice{padding:var(--space-5)}.mission-heading{display:block}.mission-tag{display:block;margin-top:var(--space-3)}.lesson{gap:var(--space-4)}.example{padding:var(--space-4)}.workspace-heading{display:block}.workspace-heading span{display:block;margin-top:var(--space-2)}.work-grid{gap:var(--space-5)}.fields{gap:var(--space-3)}.field label{font-size:var(--text-xs)}.mission-actions{display:block}.mission-actions>.primary{width:100%}.mission-actions .fine{margin-top:var(--space-3);max-width:none}.next-step{padding:0 var(--space-5) var(--space-8)}.next-inner{grid-template-columns:1fr;gap:var(--space-8);padding-top:var(--space-6)}.site-footer{padding:var(--space-5);display:block}.site-footer span{display:block;margin-top:var(--space-2)}dialog{padding:var(--space-5)}.theme-grid{gap:var(--space-2)}.theme-swatch>span:last-child{padding:var(--space-2)}.audio-controls{gap:var(--space-2)}.audio-controls .secondary{padding:var(--space-3)}.color-fields{gap:var(--space-3)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
.power{color:var(--power-accent,var(--accent-text));border-color:var(--power-accent,var(--accent))}
.mission-tool{border-top:1px solid var(--border);padding:var(--space-6) var(--space-8);background:color-mix(in srgb,var(--accent) 3%,var(--surface));display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.48fr);gap:var(--space-6);align-items:center}.mission-tool .eyebrow{margin-bottom:var(--space-2)}.mission-tool h3{font-size:var(--text-lg);margin-bottom:var(--space-3)}.mission-tool-copy>p:not(.eyebrow):not(.fine){font-size:var(--text-sm);color:var(--muted)}.mission-tool-copy>.fine{margin-top:var(--space-3)}.mission-tool-action{min-width:0}.mission-tool-action>.secondary{width:100%;text-align:center}.mission-tool-action details{margin-top:var(--space-2)}.mission-tool-action .destination{margin-top:var(--space-3)}.mission-tool-action details>.fine{margin-top:var(--space-2)}
@media(max-width:1150px){.mission-tool{grid-template-columns:1fr;padding:var(--space-6)}.mission-tool-action>.secondary{width:auto}}
@media(max-width:760px){.mission-tool{padding:var(--space-5);gap:var(--space-4)}.mission-tool-action>.secondary{width:100%}}
.completion-area{max-width:1480px;margin:auto;padding:0 clamp(var(--space-5),4vw,var(--space-16)) var(--space-12)}
.completion-top{border-top:1px solid var(--border);padding-top:var(--space-8);display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:var(--space-10);align-items:center}.completion-top h2{margin-bottom:var(--space-4)}.completion-top>.muted{max-width:750px}.achievement-list{display:flex;gap:var(--space-5);flex-wrap:wrap;margin-top:var(--space-6)}.achievement{display:flex;align-items:center;gap:var(--space-3);color:var(--faint);font-size:var(--text-sm)}.achievement>span:first-child{font-family:var(--font-mono);font-size:var(--text-sm);align-self:flex-start;padding-top:var(--space-1)}.achievement small{display:block;font-size:var(--text-xs);color:var(--faint);margin-top:var(--space-1)}.achievement.earned{color:var(--text)}.achievement.earned>span:first-child{color:var(--success)}
.badge-preview{padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);text-align:center;min-width:0}.badge-preview .badge-state{font-size:var(--text-xs);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin-bottom:var(--space-4)}.badge-preview.earned .badge-state{color:var(--success)}.badge-face{clip-path:polygon(15% 0,85% 0,100% 14%,100% 78%,50% 100%,0 78%,0 14%);height:112px;width:118px;background:var(--surface-2);margin:0 auto var(--space-5);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1);padding-bottom:var(--space-3)}.badge-face>span{font-family:var(--font-mono);font-size:var(--text-xl);font-weight:600;color:var(--muted)}.badge-face small{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--muted);transform:scale(.85);white-space:nowrap}.badge-preview.earned .badge-face{background:color-mix(in srgb,var(--accent) 15%,var(--surface-2))}.badge-preview.earned .badge-face>span{color:var(--accent-text)}.badge-preview>strong{display:block;font-size:var(--text-sm)}.badge-preview>p{font-size:var(--text-xs);color:var(--muted);margin-top:var(--space-2)}.badge-preview>small{display:block;font-size:var(--text-xs);color:var(--faint);margin-top:var(--space-3)}
.checkpoint-lock{margin-top:var(--space-6);padding:var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:space-between;gap:var(--space-6)}.checkpoint-lock p{font-size:var(--text-sm);color:var(--muted)}.checkpoint-lock strong{color:var(--text);font-weight:550}.checkpoint-lock .text-button{white-space:nowrap}.final-checkpoint{margin-top:var(--space-6);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;background:var(--surface)}.final-checkpoint>summary{padding:var(--space-5) var(--space-6);font-size:var(--text-sm);font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:var(--space-4);align-items:center;min-height:60px}.final-checkpoint>summary:after{content:'+';font-family:var(--font-mono);font-size:var(--text-lg);color:var(--accent-text)}.final-checkpoint[open]>summary:after{content:'−'}.final-checkpoint>summary>.fine{font-weight:400;margin-left:auto}.final-checkpoint>summary::-webkit-details-marker{display:none}.final-checkpoint>summary:hover{background:var(--surface-2)}.checkpoint-body{padding:var(--space-6);border-top:1px solid var(--border)}.checkpoint-body h3{margin-bottom:var(--space-4)}.checkpoint-scenario{font-size:var(--text-base);max-width:92ch;color:var(--muted);margin-bottom:var(--space-3)}#final-form{margin-top:var(--space-6);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-6);align-items:start}#final-form fieldset{border:0;min-width:0}#final-form legend{font-size:var(--text-sm);font-weight:550;line-height:1.5;min-height:90px;margin-bottom:var(--space-3)}#final-form legend>span{display:block;font-size:var(--text-xs);font-family:var(--font-mono);color:var(--accent-text);margin-bottom:var(--space-2)}#final-form .answer{height:100%;font-size:var(--text-sm)}#final-form>.primary{grid-column:1/-1;justify-self:start}.final-feedback{margin-top:var(--space-6);padding:var(--space-5);border:1px solid color-mix(in srgb,var(--warning) 45%,transparent);border-radius:var(--radius-md)}.final-feedback.success{border-color:color-mix(in srgb,var(--success) 45%,transparent)}.final-feedback h3{font-size:var(--text-lg);color:var(--warning)}.final-feedback.success h3{color:var(--success)}.final-feedback>p{font-size:var(--text-sm);color:var(--muted)}.final-feedback ol{list-style:none;margin-top:var(--space-4);display:grid;gap:var(--space-4)}.final-feedback li{font-size:var(--text-sm);max-width:100ch}.final-feedback li strong{font-weight:550}.final-feedback li p{color:var(--muted);margin-top:var(--space-1)}.final-feedback:focus{outline:2px solid var(--accent-text);outline-offset:4px}
.completion-rewards{margin-top:var(--space-8);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-8);align-items:center;padding:var(--space-6);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.completion-rewards h3{margin-bottom:var(--space-3)}.learner-name{margin-top:var(--space-5)}input[type=text]{width:100%;min-width:0;min-height:48px;border:1px solid var(--border);background:var(--bg);border-radius:var(--radius-sm);padding:var(--space-3);font-size:var(--text-base);color:var(--text)}.reward-actions{display:flex;gap:var(--space-3);flex-wrap:wrap;margin:var(--space-5) 0}.reward-limit{color:var(--text);font-weight:550}.artifact-preview-wrap{min-width:0}.artifact-preview-wrap>.fine{margin-top:var(--space-3)}.certificate-preview{overflow:hidden;border-radius:var(--radius-sm);margin-top:var(--space-3);border:1px solid var(--border)}.certificate-preview svg{width:100%;height:auto}.completion-rewards .text-button{margin-bottom:var(--space-2)}
@media(max-width:1050px){#final-form{grid-template-columns:1fr}#final-form legend{min-height:0}#final-form fieldset{padding-bottom:var(--space-5);border-bottom:1px solid var(--border)}.completion-rewards{grid-template-columns:1fr}.completion-top{gap:var(--space-6);grid-template-columns:minmax(0,1fr) 240px}.achievement-list{gap:var(--space-4)}}
@media(max-width:760px){.completion-area{padding:0 var(--space-5) var(--space-8)}.completion-top{grid-template-columns:1fr;padding-top:var(--space-6);gap:var(--space-6)}.badge-preview{display:grid;grid-template-columns:82px minmax(0,1fr);text-align:left;gap:var(--space-1) var(--space-4);align-items:center;padding:var(--space-4)}.badge-preview .badge-state{grid-column:2;margin:0}.badge-face{grid-column:1;grid-row:1/5;width:82px;height:94px;margin:0}.badge-preview>strong,.badge-preview>p,.badge-preview>small{grid-column:2;margin:0}.badge-face small{transform:scale(.7)}.achievement-list{display:grid;grid-template-columns:1fr;gap:var(--space-3)}.achievement small{display:inline;margin-left:var(--space-2)}.checkpoint-lock{display:block;padding:var(--space-4)}.checkpoint-lock .text-button{margin-top:var(--space-3)}.final-checkpoint>summary{padding:var(--space-4);flex-wrap:wrap;gap:var(--space-2)}.final-checkpoint>summary>.fine{margin-left:0;order:2;flex-basis:100%}.checkpoint-body{padding:var(--space-4)}.checkpoint-scenario{font-size:var(--text-sm)}#final-form{gap:var(--space-5)}#final-form>.primary{justify-self:stretch;width:100%}.completion-rewards{padding:var(--space-4);gap:var(--space-5)}.reward-actions{display:grid;gap:var(--space-3)}.reward-actions button{width:100%}}
