@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-latin-700-normal-Dort48En.woff2)format("woff2"),url(/assets/nunito-latin-700-normal-OcDqTBcA.woff)format("woff")}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-latin-400-normal-DQi5PRDE.woff2)format("woff2"),url(/assets/source-sans-3-latin-400-normal-AFMiCETP.woff)format("woff")}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:500;src:url(/assets/source-sans-3-latin-500-normal-DiWS0tcR.woff2)format("woff2"),url(/assets/source-sans-3-latin-500-normal-BtDzq-z9.woff)format("woff")}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-sans-3-latin-600-normal-DeckBYAU.woff2)format("woff2"),url(/assets/source-sans-3-latin-600-normal-BvDVuF-j.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-500-normal-CJOVTJB7.woff)format("woff")}:root{--bg-0:#0f1013;--bg-1:#15161a;--bg-2:#1a1c20;--bg-3:#23262b;--surface-inset:#0b0c0e;--border:#6c6f77;--border-strong:#8f939c;--text-primary:#edeef1;--text-secondary:#b6b9c0;--text-muted:#90949d;--text-inverse:#0f1013;--accent:#4da3ff;--accent-hover:#6fb5ff;--accent-pressed:#3a8ce0;--accent-subtle:#12202e;--accent-text:#8ec5ff;--success:#3fbf7f;--success-text:#6fd5a0;--success-subtle:#0f231a;--warn:#e0a63c;--warn-text:#f0c369;--warn-subtle:#2a2113;--danger:#f0645f;--danger-text:#ff8b87;--danger-subtle:#2c1719;--info:var(--accent);--mastery-locked:#4b4f57;--mastery-available:#90949d;--mastery-learning:#4da3ff;--mastery-practising:#9a7cf0;--mastery-established:#35b9a8;--mastery-mastered:#3fbf7f;--mastery-due:#e0a63c;--mastery-lapsed:#f0645f;--mastery-unauthored:#2b2e34;--brand:#d13c6c;--brand-hover:#bd3260;--brand-pressed:#a52952;--brand-ink:#fff;--brand-text:#ff8cb4;--brand-soft:#331821;--radius-sm:5px;--radius-md:8px;--radius-lg:12px;--radius-xl:18px;--radius-pill:999px;--radius-control:min(var(--radius-md), 8px);--control-sm:28px;--control-md:36px;--control-lg:44px;--hit-x:12px;--hit-y:8px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;--rhythm-tight:var(--space-2);--rhythm-base:var(--space-4);--rhythm-loose:var(--space-6);--gutter:clamp(16px, 4vw, 32px);--shadow-1:0 1px 2px #00000073;--shadow-2:0 4px 12px #00000080;--shadow-3:0 12px 28px #0000008c;--shadow-focus:0 0 0 3px var(--focus-ring-color);--font-display:"Nunito", ui-rounded, "Segoe UI Variable Display", "Trebuchet MS", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-ui:"Source Sans 3", "Source Sans Pro", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", SFMono-Regular, "Fira Code", Menlo, Consolas, monospace;--tracking-display:-.014em;--tracking-ui:-.002em;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.375rem;--text-2xl:1.75rem;--text-3xl:2.25rem;--leading-tight:1.22;--leading-snug:1.4;--leading-normal:1.6;--weight-normal:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--weight-display:700;--measure:68ch;--page-max:68rem;--duration-fast:.12s;--duration-base:.2s;--duration-slow:.36s;--ease:cubic-bezier(.2, 0, .2, 1);--focus-ring-color:#ffc94d;--focus-ring-width:3px;--lightningcss-light: ;--lightningcss-dark:initial;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--topbar-height:56px;--rail-width:56px;--compass-height:44px;--text-scale:1;--letter-spacing-pref:0em}html{font-size:calc(100% * var(--text-scale));letter-spacing:var(--letter-spacing-pref)}:root{--motion-fast:var(--duration-fast);--motion-base:var(--duration-base);--motion-slow:var(--duration-slow);--motion-cinematic:.6s;--motion-rise:8px;--ease-out:cubic-bezier(.16, .84, .44, 1);--ease-spring:cubic-bezier(.22, 1, .36, 1)}@media (prefers-reduced-motion:reduce){:root{--duration-fast:0s;--duration-base:0s;--duration-slow:0s;--motion-cinematic:0s;--motion-rise:0px}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root[data-reduced-motion=true]{--duration-fast:0s;--duration-base:0s;--duration-slow:0s;--motion-cinematic:0s;--motion-rise:0px}:root[data-reduced-motion=true] *,:root[data-reduced-motion=true] :before,:root[data-reduced-motion=true] :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}:root[data-theme=light],:root[data-theme=system]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root[data-theme=light],:root[data-theme=system]{--lightningcss-light: ;--lightningcss-dark:initial}}@media (prefers-color-scheme:light){:root[data-theme=system]{--bg-0:#f7f7f5;--bg-1:#f1f1ee;--bg-2:#fff;--bg-3:#e8e8e4;--surface-inset:#f4f4f1;--border:#7f8289;--border-strong:#5f6269;--text-primary:#17181b;--text-secondary:#4a4e57;--text-muted:#63676e;--text-inverse:#fff;--accent:#0b62c4;--accent-hover:#0a55ab;--accent-pressed:#084a95;--accent-subtle:#e2edfb;--accent-text:#0a4e9e;--success:#17754a;--success-text:#12603c;--success-subtle:#ddf1e6;--warn:#8a5a05;--warn-text:#6e4804;--warn-subtle:#f8eeda;--danger:#b3251f;--danger-text:#97201b;--danger-subtle:#fbe3e2;--mastery-locked:#7c8087;--mastery-available:#63676e;--mastery-learning:#0b62c4;--mastery-established:#0b6a5f;--mastery-practising:#6134b8;--mastery-mastered:#17754a;--mastery-due:#8a5a05;--mastery-lapsed:#b3251f;--mastery-unauthored:#d8d8d4;--brand:#d13c6c;--brand-hover:#bd3260;--brand-pressed:#a52952;--brand-ink:#fff;--brand-text:#a8264f;--brand-soft:#fce8ef;--shadow-1:0 1px 2px #11121614;--shadow-2:0 4px 12px #1112161a;--shadow-3:0 12px 28px #11121624;--focus-ring-color:#9a4b00}}:root[data-theme=light]{--bg-0:#f7f7f5;--bg-1:#f1f1ee;--bg-2:#fff;--bg-3:#e8e8e4;--surface-inset:#f4f4f1;--border:#7f8289;--border-strong:#5f6269;--text-primary:#17181b;--text-secondary:#4a4e57;--text-muted:#63676e;--text-inverse:#fff;--accent:#0b62c4;--accent-hover:#0a55ab;--accent-pressed:#084a95;--accent-subtle:#e2edfb;--accent-text:#0a4e9e;--success:#17754a;--success-text:#12603c;--success-subtle:#ddf1e6;--warn:#8a5a05;--warn-text:#6e4804;--warn-subtle:#f8eeda;--danger:#b3251f;--danger-text:#97201b;--danger-subtle:#fbe3e2;--mastery-locked:#7c8087;--mastery-available:#63676e;--mastery-learning:#0b62c4;--mastery-established:#0b6a5f;--mastery-practising:#6134b8;--mastery-mastered:#17754a;--mastery-due:#8a5a05;--mastery-lapsed:#b3251f;--mastery-unauthored:#d8d8d4;--brand:#d13c6c;--brand-hover:#bd3260;--brand-pressed:#a52952;--brand-ink:#fff;--brand-text:#a8264f;--brand-soft:#fce8ef;--shadow-1:0 1px 2px #11121614;--shadow-2:0 4px 12px #1112161a;--shadow-3:0 12px 28px #11121624;--focus-ring-color:#9a4b00}.page{max-width:var(--page-max);padding-inline:var(--gutter);padding-block:var(--rhythm-loose);margin-inline:auto}.page[data-width=prose]{max-width:var(--measure)}.page[data-width=full]{max-width:none}.page__head{margin-bottom:var(--rhythm-loose)}.page__head>:last-child{margin-bottom:0}.page__lede{max-width:var(--measure);color:var(--text-secondary);font-size:var(--text-base)}.section{gap:var(--rhythm-base);flex-direction:column;display:flex}.section+.section{margin-top:var(--rhythm-loose)}.section__head{justify-content:space-between;align-items:flex-end;gap:var(--space-4);flex-wrap:wrap;display:flex}.section__head>*{margin-bottom:0}.section[data-ruled]>.section__head{padding-bottom:var(--space-3);border-bottom:1px solid var(--border)}.stack{gap:var(--stack-gap,var(--rhythm-base));flex-direction:column;display:flex}.stack[data-gap=tight]{--stack-gap:var(--rhythm-tight)}.stack[data-gap=loose]{--stack-gap:var(--rhythm-loose)}.stack>*{margin-bottom:0}.cluster{align-items:center;gap:var(--cluster-gap,var(--space-3));flex-wrap:wrap;display:flex}.cluster[data-gap=tight]{--cluster-gap:var(--space-2)}.cluster[data-gap=loose]{--cluster-gap:var(--space-5)}.cluster[data-align=end]{justify-content:flex-end}.cluster[data-align=between]{justify-content:space-between}.divide>*+*{border-top:1px solid var(--border)}.divide[data-pad]>*{padding-block:var(--space-3)}.divide[data-pad]>:first-child{padding-top:0}.divide[data-pad]>:last-child{padding-bottom:0}.empty{align-items:center;gap:var(--space-3);padding:var(--rhythm-loose) var(--space-5);border:1px dashed var(--border);border-radius:var(--radius-lg);text-align:center;flex-direction:column;display:flex}.empty__icon{background:var(--bg-3);width:40px;height:40px;color:var(--text-secondary);border-radius:var(--radius-md);font-size:var(--text-lg);place-items:center;line-height:1;display:grid}.empty__title{color:var(--text-primary);font-family:var(--font-ui);font-size:var(--text-base);font-weight:var(--weight-semibold);line-height:var(--leading-snug);margin:0}.empty__text{max-width:46ch;color:var(--text-secondary);font-size:var(--text-sm);margin:0}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;tab-size:2}body{background:var(--bg-0);min-height:100vh;color:var(--text-primary);font-family:var(--font-ui);font-size:var(--text-base);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}h1,h2,h3,h4,h5,h6{margin:0 0 var(--space-3);line-height:var(--leading-tight);font-weight:var(--weight-bold);text-wrap:balance}h1{font-size:var(--text-2xl)}h2{font-size:var(--text-xl)}h3{font-size:var(--text-lg)}p,ul,ol{margin:0 0 var(--space-4)}p{max-width:var(--measure)}a{color:var(--accent-text);text-underline-offset:2px}a:hover{color:var(--accent-hover)}code,kbd,samp,pre{font-family:var(--font-mono);font-size:.925em}pre{padding:var(--space-4);background:var(--surface-inset);border:1px solid var(--border);border-radius:var(--radius-md);overflow-x:auto}img,svg,video,canvas{max-width:100%;display:block}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:2px;border-radius:var(--radius-sm)}:focus:not(:focus-visible){outline:none}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{left:var(--space-3);z-index:100;padding:var(--space-2) var(--space-4);background:var(--bg-3);color:var(--text-primary);border-radius:var(--radius-md);transition:top var(--duration-fast) var(--ease);position:absolute;top:-100px}.skip-link:focus{top:var(--space-3)}h1,.display{font-family:var(--font-display);font-weight:var(--weight-display);letter-spacing:var(--tracking-display)}h2,h3,h4,h5,h6{font-family:var(--font-ui);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-ui)}.eyebrow{margin:0 0 var(--space-1);font-family:var(--font-ui);font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);display:block}input,select,textarea,progress{accent-color:var(--brand)}hr{border:0;border-top:1px solid var(--border);margin:var(--rhythm-loose) 0}.stem-code{box-sizing:border-box;min-width:0;max-width:100%;margin:var(--space-3) 0;border:1px solid var(--border);border-left:3px solid var(--brand);border-radius:var(--radius-md);background:var(--bg-1);padding:var(--space-3);color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-sm);line-height:var(--leading-normal);white-space:pre;tab-size:4;overflow-x:auto}.stem-code code{font:inherit;color:inherit;white-space:inherit}.inline-code{border:1px solid var(--border);border-radius:var(--radius-sm,4px);background:var(--bg-1);color:var(--text-primary);white-space:pre-wrap;overflow-wrap:anywhere;padding:.05em .3em}.choice-code{font-family:var(--font-mono);white-space:pre;vertical-align:bottom;max-width:100%;display:inline-block;overflow-x:auto}.rise-in{animation:atlas-rise-in var(--motion-base) var(--ease-out) both}.rise-in--slow{animation-duration:var(--motion-slow)}@keyframes atlas-rise-in{0%{opacity:0;transform:translateY(var(--motion-rise))}to{opacity:1;transform:translateY(0)}}.pulse-once{animation:atlas-pulse-once var(--motion-base) var(--ease-spring) 1;transform-origin:50%}@keyframes atlas-pulse-once{0%{transform:scale(1)}50%{transform:scale(1.04)}to{transform:scale(1)}}.slide-step{animation:atlas-slide-step var(--motion-base) var(--ease-out) both}.slide-step[data-direction=back]{animation-name:atlas-slide-step-back}@keyframes atlas-slide-step{0%{opacity:0;transform:translateX(calc(var(--motion-rise) * 1.5))}to{opacity:1;transform:translate(0)}}@keyframes atlas-slide-step-back{0%{opacity:0;transform:translateX(calc(var(--motion-rise) * -1.5))}to{opacity:1;transform:translate(0)}}@media (prefers-reduced-motion:reduce){.rise-in,.rise-in--slow,.slide-step,.slide-step[data-direction=back]{animation-name:atlas-fade-in}.pulse-once{animation:none}}:root[data-reduced-motion=true] .rise-in,:root[data-reduced-motion=true] .rise-in--slow,:root[data-reduced-motion=true] .slide-step,:root[data-reduced-motion=true] .slide-step[data-direction=back]{animation-name:atlas-fade-in}:root[data-reduced-motion=true] .pulse-once{animation:none}@keyframes atlas-fade-in{0%{opacity:0}to{opacity:1}}.shortcuts__scrim{z-index:200;padding:var(--space-4);background:#0000008c;place-items:center;display:grid;position:fixed;inset:0}.shortcuts{width:min(48rem,100%);max-height:min(80vh,40rem);padding:var(--space-5);background:var(--bg-2);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-2);overflow-y:auto}.shortcuts__head{justify-content:space-between;align-items:baseline;gap:var(--space-4);display:flex}.shortcuts__head h2{margin:0}.shortcuts__head button{min-height:44px;padding:var(--space-2) var(--space-4);background:var(--bg-3);color:var(--text-primary);border:1px solid var(--border-strong);border-radius:var(--radius-md)}.shortcuts__group h3{margin:var(--space-5) 0 var(--space-2);font-size:var(--text-base);color:var(--text-secondary)}.shortcuts__group dl{margin:0}.shortcuts__row{gap:var(--space-3);padding:var(--space-2) 0;border-top:1px solid var(--border);grid-template-columns:minmax(8rem,max-content) 1fr;display:grid}.shortcuts__row dt,.shortcuts__row dd{margin:0}.shortcuts kbd{padding:2px var(--space-2);background:var(--surface-inset);border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-size:var(--text-sm);display:inline-block}@media (width<=30rem){.shortcuts__row{gap:var(--space-1);grid-template-columns:1fr}}.empty-state{gap:var(--space-2) var(--space-4);padding:var(--rhythm-base);color:var(--text-primary);border:1px dashed var(--border);border-radius:var(--radius-lg);background:0 0;grid-template-columns:auto 1fr;align-items:start;display:grid}.empty-state__glyph{background:var(--bg-3);width:36px;height:36px;color:var(--text-secondary);border-radius:var(--radius-md);font-size:var(--text-lg);grid-row:1/span 3;place-items:center;line-height:1;display:grid}.empty-state[data-tone=waiting] .empty-state__glyph{background:var(--bg-3);color:var(--warn-text)}.empty-state[data-tone=problem] .empty-state__glyph{background:var(--bg-3);color:var(--danger-text)}.empty-state__title{min-width:0;font-family:var(--font-ui);font-size:var(--text-base);font-weight:var(--weight-semibold);line-height:var(--leading-snug);color:var(--text-primary);align-self:center;margin:0}.empty-state__body{max-width:var(--measure);color:var(--text-secondary);font-size:var(--text-sm)}.empty-state__body p:last-child{margin-bottom:0}.empty-state__action{margin-top:var(--space-2)}.ui-disclosure{--disclosure-line:var(--border);max-width:var(--measure);border:1px solid var(--disclosure-line);border-radius:var(--radius-md);background:var(--bg-2);color:var(--text-primary)}.ui-disclosure[data-tone=quiet]{background:0 0;border-color:#0000}.ui-disclosure+.ui-disclosure{margin-top:var(--space-2)}.ui-disclosure__summary{align-items:center;gap:var(--space-2);min-height:var(--control-sm);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-ui);font-size:var(--text-sm);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-ui);cursor:pointer;list-style:none;display:flex}.ui-disclosure__summary::-webkit-details-marker{display:none}.ui-disclosure__summary:hover{background:var(--bg-3)}.ui-disclosure__summary:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:2px}.ui-disclosure__caret{border-block:4px solid #0000;border-inline-start:6px solid var(--text-secondary);transform-origin:2px;width:0;height:0;transition:transform var(--duration-fast) var(--ease);flex:none;transform:rotate(0)}.ui-disclosure[open]>.ui-disclosure__summary .ui-disclosure__caret{transform:rotate(90deg)}.ui-disclosure__label{min-width:0}.ui-disclosure__meta{color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--weight-normal);margin-inline-start:auto}.ui-disclosure__body{padding:0 var(--space-3) var(--space-3);color:var(--text-primary);font-size:var(--text-base);line-height:var(--leading-normal)}.ui-disclosure[data-tone=quiet]>.ui-disclosure__body{padding-inline:var(--space-3)}.ui-disclosure__body>:first-child{margin-top:0}.ui-disclosure__body>:last-child{margin-bottom:0}@media (prefers-reduced-motion:reduce){.ui-disclosure__caret{transition:none}}:root[data-reduced-motion=true] .ui-disclosure__caret,.ui-disclosure[data-motion=off] .ui-disclosure__caret{transition:none}.notes-box{z-index:1;pointer-events:none;font-family:var(--font-ui);position:fixed;inset:0}.notes-box__tab{pointer-events:auto;border:1px solid var(--border);background:var(--bg-2);block-size:96px;inline-size:32px;color:var(--text-secondary);box-shadow:var(--shadow-2);cursor:pointer;border-inline-end:none;border-start-start-radius:var(--radius-md);border-end-start-radius:var(--radius-md);justify-content:center;align-items:center;padding:0;display:flex;position:absolute;inset-block-start:50%;inset-inline-end:0;transform:translateY(-50%)}.notes-box__tab:hover{background:var(--bg-3);color:var(--text-primary)}.notes-box__tab:focus-visible{outline:2px solid var(--focus-ring-color,var(--accent));outline-offset:2px}.notes-box__tab-word{writing-mode:vertical-rl;font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;font-weight:600}.notes-box[data-open=true] .notes-box__tab{background:var(--bg-3);color:var(--text-primary)}.notes-box__panel{pointer-events:auto;gap:var(--space-2);max-block-size:min(560px,100vh - 64px);inline-size:320px;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-2);box-shadow:var(--shadow-3);color:var(--text-primary);flex-direction:column;display:flex;position:absolute;inset-block-start:50%;inset-inline-end:32px;overflow-y:auto;transform:translateY(-50%)}.notes-box__head{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.notes-box__title{font-family:var(--font-display);font-size:var(--text-base);margin:0;font-weight:700}.notes-box__close{inline-size:var(--control-sm);block-size:var(--control-sm);border-radius:var(--radius-control);color:var(--text-secondary);font-size:var(--text-sm);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:flex}.notes-box__close:hover{background:var(--bg-3);color:var(--text-primary)}.notes-box__close:focus-visible{outline:2px solid var(--focus-ring-color,var(--accent));outline-offset:2px}.notes-box__input{min-block-size:64px;max-block-size:220px;inline-size:100%;padding:var(--space-2);resize:none;border:1px solid var(--border-strong);border-radius:var(--radius-control);background:var(--surface-inset);color:var(--text-primary);font-family:inherit;font-size:var(--text-sm);line-height:1.45}.notes-box__input::placeholder{color:var(--text-muted)}.notes-box__input:focus-visible{outline:2px solid var(--focus-ring-color,var(--accent));outline-offset:1px}.notes-box__where{color:var(--text-muted);font-size:var(--text-xs);overflow-wrap:anywhere;margin:0}.notes-box__actions{align-items:center;gap:var(--space-2);display:flex}.notes-box__hint{color:var(--text-muted);font-size:var(--text-xs)}.notes-box__status{min-block-size:1.2em;font-size:var(--text-xs);color:var(--success-text);margin:0}.notes-box__status[data-tone=error]{color:var(--danger-text)}.notes-box__history{margin-block-start:var(--space-1)}.notes-box__list{gap:var(--space-3);flex-direction:column;max-block-size:260px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.notes-box__note{border-inline-start:2px solid var(--border);padding-inline-start:var(--space-2)}.notes-box__meta{justify-content:space-between;gap:var(--space-2);margin:0 0 var(--space-1);color:var(--text-muted);font-size:var(--text-xs);display:flex}.notes-box__route{overflow-wrap:anywhere}.notes-box__body{color:var(--text-secondary);font-size:var(--text-sm);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;line-height:1.45}.notes-box__empty{color:var(--text-muted);font-size:var(--text-sm);margin:0}@media (width<=26rem){.notes-box__panel{inline-size:calc(100vw - 48px)}}.placement-doors{gap:var(--rhythm-base);flex-direction:column;display:flex}.placement-doors[data-lead="1"] .ui-radiocard:first-child,.placement-doors[data-lead="2"] .ui-radiocard:nth-child(2),.placement-doors[data-lead="3"] .ui-radiocard:nth-child(3){border-width:2px;border-color:var(--border-strong);padding:calc(var(--space-3) - 1px) calc(var(--space-4) - 1px)}.placement-doors[data-lead="1"] .ui-radiocard:first-child .ui-radiocard__label,.placement-doors[data-lead="2"] .ui-radiocard:nth-child(2) .ui-radiocard__label,.placement-doors[data-lead="3"] .ui-radiocard:nth-child(3) .ui-radiocard__label{font-weight:var(--weight-semibold)}.placement-doors__go{z-index:1;padding:var(--space-3) 0 var(--space-1);background:var(--bg-0);display:flex;position:sticky;bottom:0}.placement-row{color:var(--text-secondary);font-size:var(--text-sm);line-height:var(--leading-normal);max-width:var(--measure);margin:0}.placement-row__label{color:var(--text-muted)}.placement-row__state{color:var(--text-primary)}.placement-row__note{margin-top:var(--space-1);color:var(--text-muted);display:block}.placement-card{margin:0 0 var(--space-3);align-items:baseline;gap:var(--space-2);font-size:var(--text-sm);line-height:var(--leading-normal);display:flex}.placement-card:before{content:"";background:var(--text-muted);border-radius:50%;flex:none;width:.5rem;height:.5rem}.placement-card[data-state=in_progress]:before{background:var(--brand)}.placement-card__link{color:var(--text-primary);font-weight:var(--weight-medium)}.rail{justify-content:space-between;gap:var(--space-4);width:var(--rail-width);height:100dvh;min-height:0;padding:var(--space-2) var(--space-1);background:var(--bg-1);border-right:1px solid var(--border);flex-direction:column;flex:none;align-self:flex-start;display:flex;position:sticky;top:0;overflow:hidden}.rail__nav{overscroll-behavior:contain;flex:0 auto;min-height:0;overflow-y:auto}@media (height<=800px){.rail{gap:var(--space-2)}.rail__link,.rail__fullscreen{min-height:44px;padding-block:var(--space-1)}.rail__foot{padding-top:var(--space-2)}}.rail__nav ul{gap:var(--space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.rail__link{--rail-ground:var(--bg-1);align-content:center;justify-items:center;gap:var(--space-1);min-height:48px;padding:var(--space-2) 1px;border-radius:var(--radius-md);color:var(--text-secondary);transition:background var(--motion-fast) var(--ease-out), color var(--motion-fast) var(--ease-out);text-decoration:none;display:grid;position:relative}.rail__link:after{content:"";position:absolute;inset:-2px 0}.rail__link:before{content:"";inset-inline-start:0;border-radius:var(--radius-pill);width:2px;height:20px;transition:background var(--motion-fast) var(--ease-out);background:0 0;position:absolute;top:50%;transform:translateY(-50%)}.rail__link:hover{--rail-ground:var(--bg-2);color:var(--text-primary);background:var(--bg-2)}.rail__link:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:1px;border-radius:var(--radius-md)}.rail__link--active,.rail__link--active:hover{--rail-ground:var(--bg-3);color:var(--text-primary);background:var(--bg-3)}.rail__link--active:before{background:var(--brand)}.rail__link--active .rail__label{font-weight:var(--weight-semibold)}.rail__icon{color:var(--text-muted);transition:color var(--motion-fast) var(--ease-out)}.rail__link:hover .rail__icon,.rail__link--active .rail__icon{color:var(--text-primary)}.rail__label{font-family:var(--font-ui);font-size:10px;font-weight:var(--weight-medium);text-align:center;overflow-wrap:anywhere;line-height:1.15}.rail__count{top:1px;background:var(--bg-0);border:1px solid var(--border);border-radius:var(--radius-pill);min-width:14px;box-shadow:0 0 0 2px var(--rail-ground);color:var(--text-secondary);font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:center;transition:box-shadow var(--motion-fast) var(--ease-out);padding:0 3px;font-size:10px;line-height:13px;position:absolute;inset-inline-end:1px}.rail__foot{padding-top:var(--space-3);border-top:1px solid var(--border);flex:none}.rail__xp{justify-content:center;align-items:baseline;gap:0 var(--space-1);padding:var(--space-2) var(--space-1);background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-muted);font-family:var(--font-ui);flex-wrap:wrap;margin:0;font-size:10px;line-height:1.3;display:flex}.rail__xp-number{color:var(--text-muted);font-size:var(--text-xs,.75rem);font-variant-numeric:tabular-nums;text-align:center;line-height:1.15}.rail__xp-level{min-block-size:24px;color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--weight-semibold);text-align:center;flex-basis:100%;text-decoration:none}.rail__xp-bar{background:var(--bg-3,var(--border));border-radius:2px;flex-basis:100%;block-size:4px;margin-block:2px;display:block;overflow:hidden}.rail__xp-fill{background:var(--accent,var(--brand));border-radius:2px;block-size:100%;transition:inline-size .4s ease-out;display:block}@media (prefers-reduced-motion:reduce){.rail__xp-fill{transition:none}}:root[data-reduced-motion=true] .rail__xp-fill{transition:none}@media (width<=40rem){.rail{align-items:center;gap:var(--space-2);width:100%;height:auto;min-height:0;padding:var(--space-1) var(--space-2);border-right:0;border-bottom:1px solid var(--border);flex-direction:row;position:static}.rail__nav{align-items:center;gap:var(--space-1);flex:auto;min-width:0;display:flex;overflow:auto hidden}.rail__nav ul{flex-flow:row}.rail__badge{margin-top:0}.rail__link{min-width:var(--control-lg);padding-inline:var(--space-2)}.rail__label{white-space:nowrap}.rail__link:after{inset:0 -2px}.rail__link:before{inset-inline-start:50%;width:20px;height:2px;top:auto;bottom:2px;transform:translate(-50%)}.rail__foot{padding-top:0;border-top:0;border-inline-start:1px solid var(--border);padding-inline-start:var(--space-2)}.rail__xp{padding:var(--space-1) var(--space-2);flex-wrap:nowrap}.rail__xp-number,.rail__xp-level{flex-basis:auto}.rail__xp-bar{flex-basis:2.5rem}}.rail__badge{margin-top:var(--space-2);padding:var(--space-1) 2px;border-radius:var(--radius-md);color:var(--text-secondary);flex-direction:column;align-items:center;gap:2px;text-decoration:none;display:flex}.rail__badge:hover{background:var(--bg-2);color:var(--text-primary)}.rail__badge:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:1px}.rail__badge-mark{background:var(--brand);border-radius:50%;width:.5rem;height:.5rem}.rail__badge-label{text-align:center;font-size:10px;line-height:1.1}.rail__badge-count{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-muted);font-size:10px;line-height:1.1}.rail__more-start{margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--border)}@media (width<=40rem){.rail__more-start{padding-top:0;padding-left:var(--space-1);margin-top:0;margin-left:var(--space-1);border-top:0;border-left:1px solid var(--border)}}.rail__xp-level:hover{text-decoration:underline}.rail__xp-level:focus-visible{outline:3px solid var(--focus-ring-color,var(--accent));outline-offset:2px}@media (height<=800px){.rail__nav ul{gap:0}.rail__link{gap:2px;padding-block:2px}}.evidence-chips{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.evidence-chips__chip{align-items:baseline;gap:var(--space-2);padding:var(--space-1) var(--space-3);background:var(--bg-3);border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--text-secondary);font-size:var(--text-sm);line-height:var(--leading-normal);display:inline-flex}.evidence-chips__chip[data-kind=when]{border-color:var(--mastery-due);color:var(--warn-text)}.evidence-chips__none{color:var(--text-secondary);font-size:var(--text-sm);margin:0}.mastery-chip{align-items:center;gap:var(--space-2);padding:3px var(--space-3);border:1.5px solid var(--chip-colour,var(--border-strong));border-radius:var(--radius-pill);color:var(--text-primary);background:var(--bg-2);font-family:var(--font-ui);font-size:var(--text-sm);font-weight:var(--weight-medium);white-space:nowrap;display:inline-flex}.mastery-chip[data-size=sm]{font-size:var(--text-xs);padding:1px var(--space-2)}.mastery-chip__glyph{color:var(--chip-colour,var(--text-secondary));font-size:1.1em;line-height:1}.mastery-chip[data-mastery=not_started]{--chip-colour:var(--mastery-available)}.mastery-chip[data-mastery=practicing]{--chip-colour:var(--mastery-learning)}.mastery-chip[data-mastery=check_due]{--chip-colour:var(--mastery-due)}.mastery-chip[data-mastery=solid]{--chip-colour:var(--mastery-established)}.mastery-chip[data-mastery=mastered]{--chip-colour:var(--mastery-mastered)}.compass{min-height:var(--compass-height);padding:var(--space-2) var(--space-4);background:var(--bg-2);border-bottom:1px solid var(--border)}.compass[data-variant=panel]{min-height:0;padding:var(--space-4) 0 0;border-bottom:0;border-top:1px solid var(--border);background:0 0}.compass[data-variant=panel] .compass__fields{gap:var(--rhythm-base) var(--space-5)}.compass[data-variant=panel] .compass__field dd{margin-top:2px}.compass__fields{gap:var(--space-1) var(--space-5);grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));align-items:start;margin:0;display:grid}.compass__field{min-width:0}.compass__field dt{color:var(--text-muted);font-family:var(--font-ui);font-size:var(--text-xs);font-weight:var(--weight-medium);text-transform:uppercase;letter-spacing:.06em;margin:0}.compass__field dd{color:var(--text-primary);font-size:var(--text-sm);overflow-wrap:anywhere;margin:0}.compass__field[data-field=how-close] dd{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}@media (width<=40rem){.compass__fields{grid-template-columns:1fr}}.duki{flex:none;overflow:visible}.duki *{transform-box:view-box}.duki__rig{transform-origin:52px 110px}.duki__head{transform-origin:58px 62px}.duki__crest{transform-origin:58px 36px}.duki__wing{transform-origin:58px 72px}.duki__wing-far{transform-origin:56px 66px}.duki__tail{transform-origin:28px 82px}.duki__leg--back{transform-origin:45px 104px}.duki__leg--front{transform-origin:59px 104px}.duki__shadow{transform-origin:52px 113px}.duki__beak-lower{transform-origin:79px 49px}.duki__flame{transform-origin:23px 88px}.duki__arc{transform-origin:68px 42px}.duki__lid{transform-origin:68px 36px;transform:scaleY(var(--lid,0))}.duki__lid-edge{transform:translateY(var(--lid-y,0))}.duki[data-emote] .duki__rig,.duki[data-emote] .duki__head,.duki[data-emote] .duki__crest,.duki[data-emote] .duki__wing,.duki[data-emote] .duki__wing-far,.duki[data-emote] .duki__tail,.duki[data-emote] .duki__leg,.duki[data-emote] .duki__shadow,.duki[data-emote] .duki__lid,.duki[data-emote] .duki__lid-edge,.duki[data-emote] .duki__arc,.duki[data-emote] .duki__flame,.duki[data-emote] .duki__bit,.duki[data-emote] .duki__z,.duki[data-emote] .duki__wing-chin,.duki[data-emote] .duki__thought-puff,.duki[data-emote] .duki__thought-cloud,.duki[data-emote] .duki__sparkle,.duki[data-emote] .duki__puff{animation-duration:var(--duki-ms,.8s);animation-timing-function:cubic-bezier(.34,1.2,.64,1);animation-fill-mode:both}.duki[data-live=true] .duki__rig{animation:4.2s ease-in-out infinite duki-breathe}.duki[data-live=true] .duki__lid{animation:5.6s linear infinite duki-idle-blink}.duki[data-live=true] .duki__lid-edge{animation:5.6s linear infinite duki-idle-blink-edge}@keyframes duki-breathe{0%,to{transform:none}50%{transform:scale(1.012,1.03)}}@keyframes duki-idle-blink{0%,94%,to{transform:scaleY(var(--lid,0))}97%{transform:scaleY(1)}}@keyframes duki-idle-blink-edge{0%,94%,to{transform:translateY(var(--lid-y,0))}97%{transform:translateY(12px)}}.duki[data-emote=blink] .duki__lid{animation-name:duki-shut;animation-timing-function:ease-in-out}.duki[data-emote=blink] .duki__lid-edge{animation-name:duki-shut-edge;animation-timing-function:ease-in-out}@keyframes duki-shut{0%,to{transform:scaleY(var(--lid,0))}40%,60%{transform:scaleY(1)}}@keyframes duki-shut-edge{0%,to{transform:translateY(var(--lid-y,0))}40%,60%{transform:translateY(12px)}}.duki[data-emote=wink] .duki__head{animation-name:duki-wink-head}.duki[data-emote=wink] .duki__arc{animation-name:duki-wink-arc}.duki[data-emote=wink] .duki__sparkle{transform-origin:88px 33px;animation-name:duki-sparkle}@keyframes duki-wink-head{0%{transform:rotate(6deg)}35%,75%{transform:rotate(-4deg)}to{transform:none}}@keyframes duki-wink-arc{0%{opacity:.4;transform:scaleY(2.2)}25%{opacity:1;transform:scaleY(.7)}to{transform:none}}@keyframes duki-sparkle{0%,20%{opacity:0;transform:scale(0)rotate(0)}50%{opacity:1;transform:scale(1.2)rotate(45deg)}to{opacity:0;transform:scale(.2)rotate(90deg)}}.duki[data-emote=happy] .duki__rig{animation-name:duki-bounce;animation-timing-function:ease-in-out}.duki[data-emote=happy] .duki__crest{animation-name:duki-crest-wiggle}.duki[data-emote=happy] .duki__tail{animation-name:duki-tail-wag}@keyframes duki-bounce{0%{transform:none}18%{transform:translateY(-9px)}34%{transform:translateY(0)scale(1.04,.95)}52%{transform:translateY(-5px)}70%{transform:translateY(0)scale(1.02,.97)}to{transform:none}}@keyframes duki-crest-wiggle{0%,to{transform:none}25%{transform:rotate(8deg)}50%{transform:rotate(-5deg)}75%{transform:rotate(4deg)}}@keyframes duki-tail-wag{0%,to{transform:none}25%{transform:rotate(-12deg)}50%{transform:rotate(8deg)}75%{transform:rotate(-8deg)}}.duki[data-emote=jump] .duki__rig{animation-name:duki-jump;animation-timing-function:ease-out}.duki[data-emote=jump] .duki__wing,.duki[data-emote=jump] .duki__wing-far{animation-name:duki-wings-up}.duki[data-emote=jump] .duki__crest{animation-name:duki-crest-pop}.duki[data-emote=jump] .duki__shadow{animation-name:duki-shadow-far}@keyframes duki-jump{0%{transform:none}16%{transform:translateY(2px)scale(1.1,.84)}42%{transform:translateY(-34px)scale(.93,1.1)}58%{transform:translateY(-36px)scale(1)}80%{transform:translateY(0)scale(1.12,.86)}91%{transform:scale(.97,1.04)}to{transform:none}}@keyframes duki-wings-up{0%,to{transform:none}30%,62%{transform:rotate(58deg)}}@keyframes duki-crest-pop{0%,to{transform:none}45%{transform:rotate(10deg)scale(1.14)}}@keyframes duki-shadow-far{0%,to{opacity:.16;transform:none}45%,60%{opacity:.08;transform:scale(.55)}80%{transform:scaleX(1.1)}}.duki[data-emote=dance] .duki__rig{animation-name:duki-dance;animation-timing-function:ease-in-out}.duki[data-emote=dance] .duki__head{animation-name:duki-dance-head;animation-timing-function:ease-in-out}.duki[data-emote=dance] .duki__wing{animation-name:duki-dance-wing;animation-timing-function:ease-in-out}.duki[data-emote=dance] .duki__wing-far{animation-name:duki-dance-wing-far;animation-timing-function:ease-in-out}.duki[data-emote=dance] .duki__leg--back{animation-name:duki-step-a;animation-timing-function:ease-in-out}.duki[data-emote=dance] .duki__leg--front{animation-name:duki-step-b;animation-timing-function:ease-in-out}.duki[data-emote=dance] .duki__tail{animation-name:duki-tail-wag}.duki[data-emote=dance] .duki__crest{animation-name:duki-crest-wiggle}@keyframes duki-dance{0%,25%,50%,75%,to{transform:none}12.5%,62.5%{transform:translate(-5px,-4px)rotate(-8deg)}37.5%,87.5%{transform:translate(5px,-4px)rotate(8deg)}}@keyframes duki-dance-head{0%,25%,50%,75%,to{transform:none}12.5%,62.5%{transform:rotate(9deg)}37.5%,87.5%{transform:rotate(-9deg)}}@keyframes duki-dance-wing{0%,25%,50%,75%,to{transform:rotate(10deg)}12.5%,62.5%{transform:rotate(48deg)}37.5%,87.5%{transform:rotate(4deg)}}@keyframes duki-dance-wing-far{0%,25%,50%,75%,to{transform:rotate(8deg)}12.5%,62.5%{transform:rotate(2deg)}37.5%,87.5%{transform:rotate(46deg)}}@keyframes duki-step-a{0%,25%,50%,75%,to{transform:none}12.5%,62.5%{transform:translateY(-5px)rotate(-12deg)}}@keyframes duki-step-b{0%,25%,50%,75%,to{transform:none}37.5%,87.5%{transform:translateY(-5px)rotate(12deg)}}.duki[data-emote=cheer] .duki__wing,.duki[data-emote=cheer] .duki__wing-far{animation-name:duki-flap;animation-timing-function:ease-in-out}.duki[data-emote=cheer] .duki__rig{animation-name:duki-lift;animation-timing-function:ease-in-out}.duki[data-emote=cheer] .duki__crest{animation-name:duki-crest-pop}@keyframes duki-flap{0%,24%,48%,72%,to{transform:none}12%,36%,60%{transform:rotate(56deg)}}@keyframes duki-lift{0%,to{transform:none}30%,70%{transform:translateY(-7px)}}.duki[data-emote=surprise] .duki__crest{animation-name:duki-crest-raise}.duki[data-emote=surprise] .duki__rig{animation-name:duki-jolt}.duki[data-emote=surprise] .duki__head{animation-name:duki-jolt-head}@keyframes duki-crest-raise{0%{transform:rotate(-34deg)scale(.8)}30%{transform:rotate(6deg)scale(1.2)}55%{transform:rotate(-2deg)scale(1.05)}to{transform:none}}@keyframes duki-jolt{0%{transform:none}22%{transform:translateY(-8px)scale(.96,1.06)}50%{transform:translateY(0)scale(1.03,.97)}to{transform:none}}@keyframes duki-jolt-head{0%{transform:none}22%{transform:rotate(-6deg)}to{transform:none}}.duki__wing-chin{transform-origin:50px 80px}.duki__thought-puff--1{transform-origin:79px 32px}.duki__thought-puff--2{transform-origin:84.5px 26.5px}.duki__thought-cloud{transform-origin:90px 22px}.duki[data-emote=think] .duki__head{animation-name:duki-ponder;animation-timing-function:ease-in-out}.duki[data-emote=think] .duki__wing-chin{animation-name:duki-chin-rise;animation-timing-function:ease-out}.duki[data-emote=think] .duki__thought-puff--1{animation-name:duki-puff-1;animation-timing-function:ease-out}.duki[data-emote=think] .duki__thought-puff--2{animation-name:duki-puff-2;animation-timing-function:ease-out}.duki[data-emote=think] .duki__thought-cloud{animation-name:duki-cloud;animation-timing-function:ease-out}.duki__thought-dot{animation:1.5s ease-in-out infinite duki-thought-dot}.duki__thought-dot--2{animation-delay:.25s}.duki__thought-dot--3{animation-delay:.5s}@keyframes duki-ponder{0%{transform:rotate(9deg)}40%{transform:rotate(-4deg)}65%{transform:rotate(1deg)}82%{transform:rotate(-1.5deg)}to{transform:none}}@keyframes duki-chin-rise{0%{transform:rotate(32deg)}45%{transform:rotate(-5deg)}65%{transform:rotate(1.5deg)}to{transform:none}}@keyframes duki-puff-1{0%,25%{opacity:0;transform:scale(0)}38%{opacity:1;transform:scale(1.2)}to{opacity:1;transform:none}}@keyframes duki-puff-2{0%,38%{opacity:0;transform:scale(0)}52%{opacity:1;transform:scale(1.2)}to{opacity:1;transform:none}}@keyframes duki-cloud{0%,50%{opacity:0;transform:scale(0)}70%{opacity:1;transform:scale(1.08)}84%{transform:scale(.97)}to{opacity:1;transform:none}}@keyframes duki-thought-dot{0%,60%,to{opacity:.3;transform:none}30%{opacity:1;transform:translateY(-1.5px)}}.duki[data-emote=sad] .duki__head{animation-name:duki-droop;animation-timing-function:ease-in-out}.duki[data-emote=sad] .duki__crest{animation-name:duki-crest-fold;animation-timing-function:ease-in-out}.duki[data-emote=sad] .duki__rig{animation-name:duki-slump;animation-timing-function:ease-in-out}.duki[data-emote=sad] .duki__tail{animation-name:duki-tail-drop;animation-timing-function:ease-in-out}.duki[data-emote=sad] .duki__lid{animation-name:duki-slow-blink;animation-timing-function:ease-in-out}.duki[data-emote=sad] .duki__lid-edge{animation-name:duki-slow-blink-edge;animation-timing-function:ease-in-out}@keyframes duki-droop{0%{transform:rotate(-10deg)}70%{transform:rotate(2deg)}to{transform:none}}@keyframes duki-crest-fold{0%{transform:rotate(40deg)}70%{transform:rotate(-3deg)}to{transform:none}}@keyframes duki-slump{0%,to{transform:none}55%{transform:translateY(3px)scale(1.02,.96)}}@keyframes duki-tail-drop{0%,to{transform:none}55%{transform:rotate(-10deg)}}@keyframes duki-slow-blink{0%{transform:scaleY(0)}45%,65%{transform:scaleY(1)}to{transform:scaleY(var(--lid,0))}}@keyframes duki-slow-blink-edge{0%{transform:translateY(0)}45%,65%{transform:translateY(12px)}to{transform:translateY(var(--lid-y,0))}}.duki[data-emote=sleepy] .duki__head{animation-name:duki-nod;animation-timing-function:ease-in-out}.duki[data-emote=sleepy] .duki__lid{animation-name:duki-drowse;animation-timing-function:ease-in}.duki[data-emote=sleepy] .duki__lid-edge{animation-name:duki-drowse-edge;animation-timing-function:ease-in}.duki[data-emote=sleepy] .duki__z{animation-name:duki-float;animation-timing-function:ease-out}.duki[data-emote=sleepy] .duki__z--2{animation-name:duki-float-2}.duki[data-emote=sleepy] .duki__z--3{animation-name:duki-float-3}@keyframes duki-nod{0%{transform:rotate(-8deg)}45%{transform:rotate(5deg)}70%{transform:rotate(-2deg)}to{transform:none}}@keyframes duki-drowse{0%{transform:scaleY(0)}to{transform:scaleY(var(--lid,0))}}@keyframes duki-drowse-edge{0%{transform:translateY(0)}to{transform:translateY(var(--lid-y,0))}}@keyframes duki-float{0%{opacity:0;transform:translateY(6px)}30%,70%{opacity:1}to{opacity:0;transform:translateY(-6px)}}@keyframes duki-float-2{0%,20%{opacity:0;transform:translateY(6px)}50%,80%{opacity:1}to{opacity:0;transform:translateY(-6px)}}@keyframes duki-float-3{0%,40%{opacity:0;transform:translateY(6px)}70%,90%{opacity:1}to{opacity:0;transform:translateY(-6px)}}.duki[data-emote=wave] .duki__wing{animation-name:duki-wave;animation-timing-function:ease-in-out}.duki[data-emote=wave] .duki__head{animation-name:duki-wave-head;animation-timing-function:ease-in-out}@keyframes duki-wave{0%,to{transform:none}18%{transform:rotate(74deg)}34%{transform:rotate(52deg)}50%{transform:rotate(78deg)}66%{transform:rotate(52deg)}82%{transform:rotate(72deg)}}@keyframes duki-wave-head{0%,to{transform:none}20%,80%{transform:rotate(-6deg)}}.duki[data-emote=celebrate] .duki__rig{animation-name:duki-hop-big;animation-timing-function:ease-out}.duki[data-emote=celebrate] .duki__wing,.duki[data-emote=celebrate] .duki__wing-far{animation-name:duki-wings-up}.duki[data-emote=celebrate] .duki__crest{animation-name:duki-crest-pop}.duki[data-emote=celebrate] .duki__bit{transform-origin:60px 31px;animation-name:duki-confetti;animation-timing-function:cubic-bezier(.2,.7,.4,1)}@keyframes duki-hop-big{0%{transform:none}18%{transform:translateY(2px)scale(1.07,.9)}44%{transform:translateY(-20px)scale(.96,1.06)}72%{transform:translateY(0)scale(1.06,.94)}88%{transform:scale(.98,1.02)}to{transform:none}}@keyframes duki-confetti{0%{opacity:0;transform:translate(0)scale(.4)}12%{opacity:1}60%{transform:translate(var(--dx), var(--dy)) rotate(var(--spin)) scale(1);opacity:1}to{transform:translate(var(--dx), calc(var(--dy) + 26px)) rotate(var(--spin)) scale(.9);opacity:0}}.duki[data-emote=blastoff] .duki__rig{animation-name:duki-blastoff;animation-timing-function:linear}.duki[data-emote=blastoff] .duki__flame{animation-name:duki-thrust;animation-timing-function:linear}.duki[data-emote=blastoff] .duki__wing,.duki[data-emote=blastoff] .duki__wing-far{animation-name:duki-tuck;animation-timing-function:ease-in-out}.duki[data-emote=blastoff] .duki__shadow{animation-name:duki-shadow-gone;animation-timing-function:linear}.duki[data-emote=blastoff] .duki__puff{animation-name:duki-puff;animation-timing-function:ease-out}.duki[data-emote=blastoff] .duki__puff--1{transform-origin:32px 110px}.duki[data-emote=blastoff] .duki__puff--2{transform-origin:52px 113px}.duki[data-emote=blastoff] .duki__puff--3{transform-origin:72px 110px}@keyframes duki-blastoff{0%{opacity:1;animation-timing-function:ease-out;transform:none}12%{animation-timing-function:ease-in;transform:translateY(4px)scale(1.08,.84)}20%{animation-timing-function:ease-in;transform:translateY(-10px)scale(.92,1.12)}42%{opacity:1;transform:translateY(-170px)scale(.86,1.18)}48%{opacity:0;transform:translateY(-190px)scale(.86,1.18)}56%{opacity:0;animation-timing-function:ease-out;transform:translateY(-120px)}60%{opacity:1;animation-timing-function:ease-out;transform:translateY(-110px)}84%{transform:translateY(0)scale(1.1,.86)}93%{transform:scale(.97,1.04)}to{opacity:1;transform:none}}@keyframes duki-thrust{0%,12%{opacity:0;transform:scaleY(0)}16%{opacity:1;transform:scaleY(1.3)}22%{transform:scaleY(.9)}28%{transform:scaleY(1.35)}34%{transform:scaleY(1)}42%{opacity:1;transform:scaleY(1.3)}48%,58%{opacity:0;transform:scaleY(.4)}62%{opacity:1;transform:scaleY(.7)}70%{transform:scaleY(.5)}78%{opacity:1;transform:scaleY(.8)}86%,to{opacity:0;transform:scaleY(0)}}@keyframes duki-tuck{0%,12%,88%,to{transform:none}20%,80%{transform:rotate(-10deg)}}@keyframes duki-shadow-gone{0%,12%,to{opacity:.16;transform:none}36%,64%{opacity:0;transform:scale(.2)}84%{opacity:.16;transform:scaleX(1.12)}}@keyframes duki-puff{0%,12%{opacity:0;transform:scale(0)}20%{opacity:.9;transform:scale(1)}40%{opacity:0;transform:scale(1.8)translateY(-4px)}76%{opacity:0;transform:scale(0)}86%{opacity:.8;transform:scale(1.1)}to{opacity:0;transform:scale(1.7)translateY(-3px)}}@media (prefers-reduced-motion:reduce){.duki,.duki *{animation:none!important}}:root[data-reduced-motion=true] .duki,:root[data-reduced-motion=true] .duki *{animation:none!important}.courses{--page-max:72rem}.courses__totals{margin:var(--space-3) 0 0;max-width:var(--measure);color:var(--text-muted);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.courses__legend{margin:var(--space-2) 0 0;gap:var(--space-2);flex-direction:column;padding:0;list-style:none;display:flex}.courses__legend b{font-weight:var(--weight-semibold)}.plate{--plate-bg:#1a1c20;border-radius:var(--radius-md);background:0 0;border:1px solid #0000;flex:none;line-height:0;display:block;overflow:hidden}.plate[data-loaded=true]{background:var(--plate-bg);border-color:var(--border)}.plate img{object-fit:cover;width:100%;height:100%;display:block}.plate[data-size=sm]{width:44px;height:44px}.plate[data-size=md]{border-radius:var(--radius-lg);width:56px;height:56px}.plate[data-size=lg]{width:132px;height:132px;margin:0 auto var(--space-4);border-radius:var(--radius-lg)}.courses__grid{align-items:start;gap:var(--space-4);margin:var(--rhythm-loose) 0 0;grid-template-columns:repeat(auto-fill,minmax(min(100%,19rem),1fr));padding:0;list-style:none;display:grid}.subject-card{gap:var(--space-3);transition:border-color var(--motion-fast) var(--ease), transform var(--motion-fast) var(--ease);flex-direction:column;display:flex;position:relative}.subject-card:hover{border-color:var(--border-strong);transform:translateY(-1px)}.subject-card:focus-within{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:2px}.subject-card__title{font-family:var(--font-ui);font-size:var(--text-lg);font-weight:var(--weight-semibold);line-height:var(--leading-snug);letter-spacing:var(--tracking-ui);margin:0}.subject-card__link{color:var(--text-primary);text-decoration:none}.subject-card__link:hover{color:var(--text-primary);text-decoration:underline}.subject-card__link:after{content:"";border-radius:inherit;position:absolute;inset:0}.subject-card__link:focus-visible{outline:none}.subject-card__plain{color:var(--text-secondary);font-size:var(--text-sm);line-height:var(--leading-normal);margin:0}.subject-card__counts{align-items:center;gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--border);flex-wrap:wrap;margin:0;display:flex}.subject-card__numbers{margin:var(--space-2) 0 0;color:var(--text-muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.subject-card__more{margin-top:var(--space-2);max-width:none}.subject-card__more .ui-disclosure__summary{padding-inline:0}.subject-card__more .ui-disclosure__body{padding-inline:0;padding-bottom:0}.courses__aside{margin-bottom:var(--rhythm-base)}.subject-card__areas{color:var(--text-muted);font-size:var(--text-xs);margin:0}.subject-card__lessons{font-size:var(--text-xs);font-variant-numeric:tabular-nums;margin:0}.count-facts{gap:var(--space-1) var(--space-3);margin:var(--space-1) 0 0;color:var(--text-muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums;flex-wrap:wrap;display:flex}.count-facts__row{gap:var(--space-1);display:flex}.count-facts dt:after{content:":"}.count-facts dd{margin:0}.courses__back{margin:0 0 var(--rhythm-base);font-size:var(--text-sm)}.subject-hero{margin-bottom:var(--rhythm-loose);position:relative}.subject-hero__world{background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius-xl);height:clamp(96px,22vw,168px);line-height:0;display:block;overflow:hidden}.subject-hero__world img{object-fit:cover;opacity:.72;width:100%;height:100%}.subject-hero__body{gap:var(--space-3);padding:var(--space-5);background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;display:flex;position:relative}.subject-hero[data-world=yes] .subject-hero__body{margin:calc(var(--space-6) * -1) var(--space-5) 0}.subject-hero__body h1{color:var(--text-primary);font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--weight-display);line-height:var(--leading-tight);letter-spacing:var(--tracking-display);margin:0}.subject-hero__body h1:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:4px}.subject-hero__plain{max-width:var(--measure);color:var(--text-secondary);background:var(--bg-2);line-height:var(--leading-normal);margin:0}.subject-hero__counts{align-items:center;gap:var(--space-2) var(--space-3);color:var(--text-muted);background:var(--bg-2);font-size:var(--text-sm);font-variant-numeric:tabular-nums;flex-wrap:wrap;margin:0;display:flex}.section__meta{color:var(--text-muted);font-size:var(--text-sm);margin:0}.area-list{margin:0;padding:0;list-style:none}.area-row{align-items:start;gap:var(--space-3) var(--space-4);padding:var(--space-4) var(--space-2);border-top:1px solid var(--border);grid-template-columns:44px minmax(0,1fr) auto;display:grid}.area-row:last-child{border-bottom:1px solid var(--border)}.area-row[data-charted=playable]{box-shadow:inset 3px 0 0 0 var(--mastery-established)}.area-row__slot{width:44px;display:block}.area-row__body{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.area-row__title{color:var(--text-primary);font-family:var(--font-ui);font-size:var(--text-base);font-weight:var(--weight-semibold);line-height:var(--leading-snug);margin:0}.area-row__description{max-width:var(--measure);color:var(--text-secondary);font-size:var(--text-sm);line-height:var(--leading-normal);margin:0}.area-row__counts{align-items:center;gap:var(--space-2);color:var(--text-muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums;flex-wrap:wrap;margin:0;display:flex}.area-row__sources{color:var(--text-muted);font-size:var(--text-xs);margin:0}.area-row__action{font-size:var(--text-sm);white-space:nowrap;justify-self:end;margin:0}.area-row__map{min-height:var(--control-sm);color:var(--accent-text);align-items:center;display:inline-flex}.area-row__note{color:var(--text-muted)}.courses__credit{max-width:var(--measure);color:var(--text-secondary);font-size:var(--text-sm);line-height:var(--leading-normal);margin:0}.courses__sources{gap:var(--space-1) var(--space-4);grid-template-columns:repeat(auto-fill,minmax(min(100%,22rem),1fr));margin:0;padding:0;list-style:none;display:grid}.course-ref a{align-items:baseline;gap:var(--space-2);min-height:var(--control-sm);padding:var(--space-2) 0;color:var(--text-secondary);grid-template-columns:auto minmax(0,1fr) auto;text-decoration:none;display:grid}.course-ref a:hover{color:var(--text-primary);text-decoration:underline}.course-ref__number{color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-sm)}.course-ref__title{font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.course-ref__external{color:var(--text-muted);font-size:var(--text-sm)}.courses__cta{min-height:var(--control-md);padding:0 var(--space-4);color:var(--text-primary);background:var(--bg-2);border:1px solid var(--border-strong);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--weight-medium);transition:background var(--motion-fast) var(--ease);align-items:center;text-decoration:none;display:inline-flex}.courses__cta:hover{color:var(--text-primary);background:var(--bg-3)}@media (width<=34rem){.area-row{grid-template-columns:44px minmax(0,1fr)}.area-row__action{grid-column:1/-1;justify-self:start}.subject-hero[data-world=yes] .subject-hero__body{margin-inline:var(--space-2)}.course-ref__title{font-size:var(--text-xs)}}.courses__group{margin:var(--rhythm-loose) 0 0}.courses__group-head{align-items:baseline;gap:var(--space-2) var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--border);flex-wrap:wrap;display:flex}.courses__group-head h2{font-family:var(--font-ui);font-size:var(--text-lg);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-ui);margin:0}.courses__group-line{color:var(--text-secondary);font-size:var(--text-sm);margin:0}.courses__group-parent{margin:var(--space-3) 0 0;max-width:var(--measure);color:var(--text-secondary);font-size:var(--text-sm)}.courses__group .courses__grid{margin-top:var(--space-4)}.benchmark-line{z-index:1;color:var(--text-muted);font-size:var(--text-xs);line-height:var(--leading-normal);font-variant-numeric:tabular-nums;margin:0;position:relative}.benchmark-line__course{color:var(--text-secondary);text-underline-offset:.15em;text-decoration:underline}.benchmark-line__course:hover{color:var(--text-primary)}.benchmark-line__external{margin-left:.2em;font-size:.9em}.benchmark-line__pct{color:var(--text-secondary);font-weight:var(--weight-medium)}.subject-card__presented{margin:calc(var(--space-2) * -1) 0 0;color:var(--text-muted);font-size:var(--text-xs)}.coverage__lede,.coverage__lab,.coverage__none,.coverage__uncovered-lede{margin:var(--space-3) 0 0;max-width:var(--measure);color:var(--text-secondary);font-size:var(--text-sm);line-height:var(--leading-normal)}.coverage__lab{color:var(--text-primary)}.coverage__rows{margin:var(--rhythm-base) 0 0;border-top:1px solid var(--border);padding:0;list-style:none}.coverage__row{align-items:baseline;gap:var(--space-2) var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--border);font-size:var(--text-sm);grid-template-columns:1.25rem 1fr auto;display:grid}.coverage__glyph{color:var(--text-muted);text-align:center}.coverage__row[data-evidence=demonstrable] .coverage__glyph,.coverage__row[data-evidence=partial] .coverage__glyph{color:var(--text-primary)}.coverage__title{color:var(--text-primary);line-height:var(--leading-normal)}.coverage__word{color:var(--text-muted);font-size:var(--text-xs)}.coverage__gloss{color:var(--text-muted)}.coverage__uncovered{margin:var(--rhythm-loose) 0 0;padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md)}.coverage__uncovered h3{font-family:var(--font-ui);font-size:var(--text-base);font-weight:var(--weight-semibold);margin:0}.coverage__uncovered dl{margin:var(--rhythm-base) 0 0}.coverage__uncovered-row+.coverage__uncovered-row{margin-top:var(--space-4)}.coverage__uncovered dt{color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--weight-semibold);margin:0}.coverage__uncovered dd{margin:var(--space-1) 0 0;max-width:var(--measure);color:var(--text-secondary);font-size:var(--text-sm);line-height:var(--leading-normal)}.area-row__absorbed,.subject-hero__absorbed{margin:var(--space-2) 0 0;color:var(--text-muted);font-size:var(--text-xs);line-height:var(--leading-normal);padding:0;list-style:none}.area-row__absorbed-count{color:var(--text-secondary);font-variant-numeric:tabular-nums}@media (width<=32rem){.coverage__row{row-gap:var(--space-1);grid-template-columns:1.25rem 1fr}.coverage__word{grid-column:2}.courses__group-head{gap:var(--space-1);flex-direction:column}}.subject-card__tagline{margin:calc(var(--space-2) * -1) 0 0;color:var(--text-secondary);font-size:var(--text-sm);line-height:var(--leading-snug)}.subject-card__start{z-index:1;position:relative}.subject-card__start,.subject-hero__start{align-items:flex-start;gap:var(--space-1);margin:calc(var(--space-1) * -1) 0 0;flex-direction:column;display:flex}.subject-card__cta{min-height:var(--control-md);padding:0 var(--space-4);color:var(--brand-ink);background:var(--brand);border:1px solid var(--brand);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--weight-medium);transition:background var(--motion-fast) var(--ease);align-items:center;text-decoration:none;display:inline-flex}.subject-card__cta:hover{background:var(--brand-hover,var(--brand))}.subject-card__progress{color:var(--text-muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums;margin:0}.subject-card__start--presented{margin:calc(var(--space-1) * -1) 0 0}.subject-card__cta-quiet{color:var(--accent-text);font-size:var(--text-sm)}.area-row__jump{gap:var(--space-1);margin:var(--space-1) 0 0;flex-direction:column;padding:0;list-style:none;display:flex}.area-row__jump a{font-size:var(--text-xs);color:var(--accent-text)}.videos{max-width:980px;padding:var(--space-4,16px);margin:0 auto}.videos-title{font-family:var(--font-display);margin:0 0 var(--space-3,12px)}.videos-lede,.videos-summary,.videos-lessons{color:var(--color-text-muted,inherit);margin:var(--space-3,12px) 0}.videos-back{margin:0 0 var(--space-2,8px)}.videos-placeholder{aspect-ratio:16/9;border-radius:var(--radius-lg,12px);background:#0b1030}.videos-grid{gap:var(--space-3,12px);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));margin:0;padding:0;list-style:none;display:grid}.videos-card{height:100%;padding:var(--space-4,16px);border-radius:var(--radius-lg,12px);color:#f7f3ea;background:linear-gradient(160deg,#16305a,#0b1030);flex-direction:column;gap:4px;text-decoration:none;display:flex}.videos-card:hover,.videos-card:focus-visible{outline-offset:2px;outline:3px solid #ffd23f}.videos-card-title{font-family:var(--font-display);font-size:1.2rem;font-weight:700}.videos-card-meta{color:#ffd23f;font-size:.9rem}.videos-card-summary{color:#f7f3eacc;font-size:.95rem}.videos-sources{margin-top:var(--space-4,16px);font-size:.92rem}.videos-credits{color:var(--color-text-muted,inherit)}@media (width<=520px){.videos-one .xp{width:calc(100% + 2 * var(--space-4,16px));max-width:none;margin:0 calc(-1 * var(--space-4,16px));border-radius:0}}.basecamp{gap:var(--rhythm-loose);flex-direction:column;display:flex}.basecamp>.section+.section{margin-top:0}.basecamp__title{font-size:var(--text-2xl);line-height:var(--leading-tight);color:var(--text-primary);margin:0}.basecamp .section__head h2{font-family:var(--font-ui);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin:0}.card{min-width:0}.card--mission .card__head{align-items:center;gap:var(--space-3);margin-bottom:var(--rhythm-tight);display:flex}.card--mission .card__head h2{font-family:var(--font-ui);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--brand-text);text-transform:uppercase;letter-spacing:.06em;margin:0}.basecamp__lead{font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--text-primary);margin:0}.basecamp__meta{color:var(--text-secondary);font-size:var(--text-sm);margin:0}.basecamp__pair{gap:var(--rhythm-loose);grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));display:grid}.basecamp__pair>.section+.section{margin-top:0}.basecamp__primary,.basecamp__secondary{border-radius:var(--radius-md);font-family:var(--font-ui);font-weight:var(--weight-medium);transition:background var(--motion-fast) var(--ease-out);align-items:center;text-decoration:none;display:inline-flex}.basecamp__primary{min-height:var(--control-lg);padding:var(--space-3) var(--space-5);margin-top:var(--rhythm-tight);background:var(--brand);color:var(--brand-ink);border:1px solid var(--brand)}.basecamp__primary:hover{background:var(--brand-hover);color:var(--brand-ink)}.basecamp__secondary{min-height:var(--control-md);padding:var(--space-2) var(--space-4);background:var(--bg-2);color:var(--text-primary);border:1px solid var(--border-strong);font-size:var(--text-sm)}.basecamp__secondary:hover{background:var(--bg-3);color:var(--text-primary)}.rhythm{gap:var(--space-4);margin:0;padding:0;list-style:none;display:flex}.rhythm__day{justify-items:center;gap:var(--space-1);display:grid}.rhythm__dot{border:2px solid var(--border-strong);background:0 0;border-radius:50%;width:18px;height:18px;display:block}.rhythm__dot[data-state=active]{background:var(--mastery-established);border-color:var(--mastery-established)}.rhythm__dot[data-state=rest]{border-style:dashed;border-color:var(--border-strong)}.rhythm__label{font-size:var(--text-xs);color:var(--text-muted)}.node-list,.projects,.achievements{margin:0;padding:0;list-style:none}.achievement{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) 0;color:var(--text-primary);display:flex}.achievement__glyph{color:var(--text-secondary);font-size:var(--text-base);line-height:var(--leading-normal);flex:none}.achievement__sentence{min-width:0}.node-list__row{align-items:center;gap:var(--space-3);min-height:var(--control-md);padding:var(--space-3) 0;flex-wrap:wrap;display:flex}.projects__row{align-items:flex-start;gap:var(--space-2);padding:var(--space-3) 0;color:var(--text-primary);flex-direction:column;display:flex}.projects__head{align-items:center;gap:var(--space-3);flex-wrap:wrap;width:100%;display:flex}.node-list__title,.projects__title{min-width:0;font-weight:var(--weight-semibold);flex:auto}.calibration{margin:0}.calibration__svg{width:200px;max-width:100%;height:auto}.calibration__axis{stroke:var(--border-strong);stroke-width:1px}.calibration__diagonal{stroke:var(--text-muted);stroke-width:1px;stroke-dasharray:3 4}.calibration__line{fill:none;stroke:var(--brand);stroke-width:2px}.calibration__point{fill:var(--brand)}.calibration figcaption{margin-top:var(--space-2);color:var(--text-secondary);font-size:var(--text-sm);max-width:var(--measure)}.prefs{max-width:46rem}.prefs__theme .ui-segmented-group__legend{font-size:var(--text-base);font-weight:var(--weight-medium)}.prefs__rest{border:0;min-width:0;margin:0;padding-inline:0}.prefs__rest-legend{margin-bottom:var(--space-2);color:var(--text-primary);font-family:var(--font-ui);font-size:var(--text-base);font-weight:var(--weight-medium);line-height:var(--leading-snug);padding:0}.prefs__rest-days{gap:var(--space-1) var(--space-5);flex-wrap:wrap;display:flex}.prefs__rest-day{gap:var(--space-3);flex:none}.basecamp--today{max-width:46rem}.today-card .today-card__eyebrow{color:var(--brand-text);font-size:var(--text-sm);letter-spacing:var(--tracking-ui);text-transform:uppercase}.today-card .today-card__continue{box-sizing:border-box;width:100%;min-height:64px;font-size:var(--text-xl);align-items:center;display:flex}.today-card__meta{margin:var(--space-3) 0 0;color:var(--text-secondary);font-size:var(--text-base)}.today-card .ui-disclosure{margin-top:var(--space-4)}.today-rows{gap:var(--space-2);margin:var(--space-5) 0 var(--space-6);padding:0;list-style:none;display:grid}.today-row{align-items:baseline;gap:var(--space-1) var(--space-3);box-sizing:border-box;min-height:52px;padding:var(--space-3) var(--space-4);color:var(--text-primary);background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius-lg);transition:background var(--motion-fast) var(--ease-out);flex-wrap:wrap;text-decoration:none;display:flex}.today-row:hover{background:var(--bg-2)}.today-row:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:2px}.today-row__what{font-weight:var(--weight-semibold)}.today-row__how{color:var(--text-secondary)}.today-more{margin-top:var(--space-4)}@media (width<=40rem){.today-card .today-card__continue{font-size:var(--text-lg)}}.onboarding{--page-max:44rem;gap:var(--rhythm-loose);flex-direction:column;display:flex}.onboarding__hero{align-items:center;gap:var(--rhythm-base);grid-template-columns:auto 1fr;display:grid}.onboarding__duki{flex:none}.onboarding__hero-copy{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--weight-display);line-height:var(--leading-normal);letter-spacing:var(--tracking-display);color:var(--text-primary);text-wrap:balance;margin:0}@media (width<=34rem){.onboarding__hero{justify-items:start;gap:var(--space-4);grid-template-columns:1fr}}.onboarding__form{flex-direction:column;display:flex}.onboarding__form>*+*{margin-top:var(--rhythm-loose);padding-top:var(--rhythm-loose);border-top:1px solid var(--border)}:where(.onboarding__question){border:0;margin:0;padding:0}.onboarding__question{min-width:0}.onboarding__prefs{border:0;min-width:0;margin:0;padding:0}.onboarding__prefs>legend{padding:0}.onboarding__label{margin-bottom:var(--space-3);font-size:var(--text-lg);font-weight:var(--weight-semibold);line-height:var(--leading-tight);color:var(--text-primary);display:block}.onboarding__question input[type=text]{width:100%;min-height:var(--control-lg);padding:var(--space-3);background:var(--surface-inset);color:var(--text-primary);border:1px solid var(--border-strong);border-radius:var(--radius-md);font-family:var(--font-ui);font-size:var(--text-base)}.onboarding__question input[type=text]::placeholder{color:var(--text-muted)}.onboarding__reassurance{margin:var(--rhythm-base) 0 0;padding:var(--space-3) var(--space-4);background:var(--brand-soft);color:var(--text-primary);border-inline-start:3px solid var(--brand);border-radius:var(--radius-md)}.onboarding__theme .ui-segmented-group__legend{font-size:var(--text-base);font-weight:var(--weight-medium)}.onboarding__doors{margin-top:var(--rhythm-base)}.onboarding__submit{justify-content:flex-start;display:flex}.unlock{gap:var(--rhythm-base);max-width:var(--measure);padding:var(--space-8) var(--gutter);flex-direction:column;margin:0 auto;display:flex}.unlock__title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--weight-display);letter-spacing:var(--tracking-display);margin:0}.unlock__body{color:var(--text-secondary);line-height:var(--leading-normal);margin:0}.unlock__form{gap:var(--space-2);flex-direction:column;align-items:flex-start;display:flex}.unlock__label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-secondary)}.unlock__input{width:100%;height:var(--control-md);padding:0 var(--space-3);border:1px solid var(--border);border-radius:var(--radius-control);background:var(--bg-1);color:var(--text-primary);font:inherit;font-family:var(--font-mono)}.unlock__input:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:1px;border-color:var(--border-strong)}.app{background:var(--bg-0);min-height:100vh;display:flex}.app-main{background:var(--bg-0);flex:auto;min-width:0}@media (width<=40rem){.app{flex-direction:column}}.app[data-fullscreen=true]{--rail-width:48px;z-index:40;height:100%;min-height:0;position:fixed;inset:0;overflow:hidden}.app[data-fullscreen=true] .rail{height:100%;min-height:0;position:relative;overflow:hidden}.app[data-fullscreen=true] .rail__label,.app[data-fullscreen=true] .rail__key-label{display:none}.app[data-fullscreen=true] .app-main{height:100%;min-height:0;overflow:auto}.app[data-fullscreen=true] .app-main>.lab-shell,.app[data-fullscreen=true] .app-main>.brain-lab,.app[data-fullscreen=true] .app-main>.brain-lab>.lab-shell{height:100%}.app[data-fullscreen=true] .app-main .lab-shell__body,.app[data-fullscreen=true] .app-main .lab-shell__stage{min-height:0}.app[data-fullscreen=true] .app-main .lab-shell__stage>.lab-viewport{flex:auto;height:auto;min-height:0}.rail__fullscreen{align-content:center;justify-items:center;gap:var(--space-1);width:100%;min-height:48px;padding:var(--space-2) 1px;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:background var(--motion-fast) var(--ease-out), color var(--motion-fast) var(--ease-out);background:0 0;border:0;display:grid}.rail__fullscreen:hover{background:var(--bg-2);color:var(--text-primary)}.rail__fullscreen:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:1px}.rail__fullscreen[aria-pressed=true]{background:var(--bg-3);color:var(--text-primary)}.rail__fullscreen .rail__icon{color:inherit}.rail__key-label{font-family:var(--font-ui);font-size:10px;font-weight:var(--weight-medium);text-align:center;line-height:1.15}.rail__foot{gap:var(--space-2);flex-direction:column;display:flex}@media (width<=40rem){.rail__foot{flex-direction:row;align-items:center}.rail__fullscreen{width:auto;min-width:var(--control-lg);padding-inline:var(--space-2)}}.app-portal-root{z-index:100;position:absolute;inset-block-start:0;inset-inline-start:0}:root[data-simple-mode=true] .ui-button[data-variant=primary]{min-block-size:52px;padding-inline:var(--space-5,1.5rem);font-size:var(--text-lg,1.125rem)}:root[data-night-owl=true] body{background-image:radial-gradient(1px 1px at 12% 18%,#ffffff80,#0000 60%),radial-gradient(1px 1px at 68% 9%,#ffffff73,#0000 60%),radial-gradient(1.5px 1.5px at 85% 42%,#fff6,#0000 60%),radial-gradient(1px 1px at 33% 71%,#ffffff59,#0000 60%)}:root[data-map-theme=theme_parchment] .linemap{border-radius:var(--radius-md,8px);background:linear-gradient(#c8a05a24,#aa783c1a)}:root[data-map-theme=theme_night] .linemap{border-radius:var(--radius-md,8px);background:radial-gradient(1.5px 1.5px at 20% 30%,#a0b4ff80,#0000 60%),radial-gradient(1.5px 1.5px at 70% 20%,#a0b4ff73,#0000 60%),radial-gradient(1px 1px at 45% 80%,#a0b4ff66,#0000 60%),#1e32781f}:root[data-map-theme=theme_blueprint] .linemap{border-radius:var(--radius-md,8px);background:repeating-linear-gradient(0deg,#508cff1f 0 1px,#0000 1px 24px),repeating-linear-gradient(90deg,#508cff1f 0 1px,#0000 1px 24px),#285ab414}
