:root{color-scheme:light;font-family:Noto Sans KR,Apple SD Gothic Neo,system-ui,sans-serif;font-synthesis:none;--color-white: #ffffff;--color-ivory: #fcfbf7;--color-neutral-50: #f7f8fa;--color-neutral-100: #eef1f4;--color-neutral-200: #dce1e7;--color-neutral-400: #98a2b3;--color-neutral-450: #7c8899;--color-neutral-500: #667180;--color-neutral-600: #475467;--color-navy-950: #0b1b33;--color-navy-800: #17345c;--color-cobalt-700: #1754b5;--color-cobalt-800: #144494;--color-cobalt-600: #1f66d1;--color-cobalt-100: #eaf2ff;--color-green-700: #246b2a;--color-green-100: #eff7eb;--color-amber-700: #a3460a;--color-amber-100: #fff3e2;--color-red-700: #b42318;--color-red-800: #912012;--color-red-900: #7d1a10;--color-red-100: #feeceb;--color-code-keyword: #7cb7ff;--color-code-number: #ffc76a;--color-code-string: #8fd694;--color-code-type: #d5b3ff;--color-code-function: #7ddde8;--color-code-operator: #c8d3e1;--color-code-error: #ff8a80;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--space-20: 80px;--font-size-2xs: 11px;--font-size-xs: 12px;--font-size-sm: 13px;--font-size-md: 14px;--font-size-base: 16px;--font-size-lg: 18px;--font-size-xl: 20px;--font-size-2xl: 24px;--font-size-3xl: 30px;--font-size-4xl: 36px;--line-height-tight: 1.25;--line-height-snug: 1.4;--line-height-normal: 1.6;--line-height-relaxed: 1.9;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 18px;--radius-pill: 999px;--radius-circle: 50%;--header-height: 68px;--sidebar-width: 232px;--content-max: 1120px;--studio-canvas: #0b1016;--studio-panel: #111820;--studio-border: #2a333d;--studio-text: #f4f5f6;--studio-muted: #9aa3ae;--studio-accent: #f1f51c;--studio-accent-hover: #d7db19;--studio-accent-active: #c3c717;--studio-python: #45c7e8;--studio-cpp: #ff7164;--studio-sunken: #151d26;--studio-inset: #1d2630;--studio-text-tertiary: #828d99;--studio-border-control: #687482;--studio-accent-contrast: #252811;--studio-success: #85d693;--studio-success-surface: #15281e;--studio-warning: #f4bd78;--studio-warning-surface: #2b2415;--studio-danger: #ff8a80;--studio-danger-hover: #ff736a;--studio-danger-active: #f45c52;--studio-danger-surface: #301b1d;--studio-step-connector: #687482;--surface-canvas: var(--color-ivory);--surface-raised: var(--color-white);--surface-sunken: var(--color-neutral-50);--surface-inset: var(--color-neutral-100);--surface-overlay: var(--color-white);--surface-accent-subtle: var(--color-cobalt-100);--surface-code: var(--color-navy-950);--text-primary: var(--color-navy-950);--text-secondary: var(--color-neutral-600);--text-tertiary: var(--color-neutral-500);--text-inverse: var(--color-white);--text-accent: var(--color-cobalt-600);--text-on-accent: var(--color-white);--border-subtle: var(--color-neutral-100);--border-default: var(--color-neutral-200);--border-strong: var(--color-neutral-400);--border-accent: var(--color-cobalt-600);--border-control: var(--color-neutral-450);--interactive-primary-bg: var(--color-cobalt-600);--interactive-primary-bg-hover: var(--color-cobalt-700);--interactive-primary-bg-active: var(--color-cobalt-800);--interactive-primary-fg: var(--color-white);--interactive-secondary-bg: var(--color-white);--interactive-secondary-bg-hover: var(--color-neutral-50);--interactive-secondary-bg-active: var(--color-neutral-100);--interactive-secondary-fg: var(--color-navy-950);--interactive-ghost-bg-hover: var(--color-neutral-100);--interactive-ghost-bg-active: var(--color-neutral-200);--interactive-ghost-fg: var(--color-neutral-600);--interactive-danger-bg: var(--color-red-700);--interactive-danger-bg-hover: var(--color-red-800);--interactive-danger-bg-active: var(--color-red-900);--interactive-danger-fg: var(--color-white);--interactive-disabled-bg: var(--color-neutral-100);--interactive-disabled-fg: var(--color-neutral-500);--feedback-success-bg: var(--color-green-100);--feedback-success-fg: var(--color-green-700);--feedback-warning-bg: var(--color-amber-100);--feedback-warning-fg: var(--color-amber-700);--feedback-danger-bg: var(--color-red-100);--feedback-danger-fg: var(--color-red-700);--feedback-info-bg: var(--color-cobalt-100);--feedback-info-fg: var(--color-cobalt-700);--focus-ring-color: var(--color-cobalt-600);--focus-ring-width: 2px;--focus-ring-offset: 3px;--elevation-0: none;--elevation-1: 0 1px 2px rgb(11 27 51 / 8%);--elevation-2: 0 4px 12px rgb(11 27 51 / 12%);--elevation-3: 0 12px 32px rgb(11 27 51 / 16%);--elevation-drawer: 20px 0 50px rgb(11 27 51 / 14%);--ring-soft: 0 0 0 3px rgb(31 102 209 / 10%);--overlay-scrim: rgb(11 27 51 / 36%);--duration-instant: 80ms;--duration-fast: .12s;--duration-normal: .2s;--duration-slow: .32s;--ease-standard: cubic-bezier(.2, 0, .2, 1);--ease-emphasized: cubic-bezier(.2, 0, 0, 1);--ease-exit: cubic-bezier(.4, 0, 1, 1);--code-keyword: var(--color-code-keyword);--code-number: var(--color-code-number);--code-string: var(--color-code-string);--code-type: var(--color-code-type);--code-function: var(--color-code-function);--code-operator: var(--color-code-operator);--code-error: var(--color-code-error);--code-comment: #8fbf72;--code-text: var(--color-neutral-100);--code-text-dim: var(--color-neutral-400);--code-caret: var(--color-white);--code-surface-raised: var(--color-navy-800);--code-border: var(--color-neutral-600);--code-search-match: var(--color-amber-100);--code-bracket-match: var(--color-cobalt-100)}[data-theme=studio]{--surface-canvas: var(--studio-canvas);--surface-raised: var(--studio-panel);--surface-sunken: var(--studio-sunken);--surface-inset: var(--studio-inset);--surface-overlay: var(--studio-panel);--surface-accent-subtle: var(--studio-accent-contrast);--surface-code: var(--studio-canvas);--text-primary: var(--studio-text);--text-secondary: var(--studio-muted);--text-tertiary: var(--studio-text-tertiary);--text-inverse: var(--studio-canvas);--text-accent: var(--studio-accent);--text-on-accent: var(--studio-accent-contrast);--border-subtle: var(--studio-inset);--border-default: var(--studio-border);--border-strong: var(--studio-step-connector);--border-accent: var(--studio-accent);--border-control: var(--studio-border-control);--interactive-primary-bg: var(--studio-accent);--interactive-primary-bg-hover: var(--studio-accent-hover);--interactive-primary-bg-active: var(--studio-accent-active);--interactive-primary-fg: var(--studio-accent-contrast);--interactive-secondary-bg: var(--studio-panel);--interactive-secondary-bg-hover: var(--studio-sunken);--interactive-secondary-bg-active: var(--studio-inset);--interactive-secondary-fg: var(--studio-text);--interactive-ghost-bg-hover: var(--studio-sunken);--interactive-ghost-bg-active: var(--studio-inset);--interactive-ghost-fg: var(--studio-muted);--interactive-danger-bg: var(--studio-danger);--interactive-danger-bg-hover: var(--studio-danger-hover);--interactive-danger-bg-active: var(--studio-danger-active);--interactive-danger-fg: var(--studio-danger-surface);--interactive-disabled-bg: var(--studio-inset);--interactive-disabled-fg: var(--studio-text-tertiary);--feedback-success-bg: var(--studio-success-surface);--feedback-success-fg: var(--studio-success);--feedback-warning-bg: var(--studio-warning-surface);--feedback-warning-fg: var(--studio-warning);--feedback-danger-bg: var(--studio-danger-surface);--feedback-danger-fg: var(--studio-danger);--feedback-info-bg: var(--studio-accent-contrast);--feedback-info-fg: var(--studio-accent);--focus-ring-color: var(--studio-accent);--elevation-0: none;--elevation-1: none;--elevation-2: none;--elevation-3: 0 12px 32px rgb(0 0 0 / 48%);--elevation-drawer: 20px 0 50px rgb(0 0 0 / 52%);--ring-soft: 0 0 0 3px rgb(241 245 28 / 12%);--overlay-scrim: rgb(0 0 0 / 60%);--code-text: var(--color-neutral-100);--code-text-dim: var(--color-neutral-400);--code-caret: var(--color-white);--code-surface-raised: var(--color-navy-800);--code-border: var(--color-neutral-600);--code-search-match: var(--color-amber-100);--code-bracket-match: var(--color-cobalt-100)}*{box-sizing:border-box}html{background:var(--surface-canvas)}body{margin:0;min-width:320px;min-height:100vh;color:var(--text-primary);background:var(--surface-canvas);-webkit-font-smoothing:antialiased}button,select,textarea,input{font:inherit}a{color:inherit}button,a,select,input,textarea,[tabindex]:not([tabindex="-1"]){outline:none}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible,[tabindex]:not([tabindex="-1"]):focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.skip-link{position:fixed;z-index:100;top:var(--space-3);left:var(--space-3);padding:var(--space-3) var(--space-4);min-height:44px;color:var(--text-on-accent);background:var(--interactive-primary-bg);border-radius:var(--radius-md);transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.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}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.page-eyebrow{margin:0 0 var(--space-4);color:var(--text-accent);font-family:JetBrains Mono,ui-monospace,monospace;font-size:var(--font-size-xs);font-weight:700}.page-title{margin:0;max-width:760px;font-size:clamp(36px,4vw,52px);line-height:1.18;letter-spacing:-.045em}.page-description{margin:var(--space-5) 0 0;max-width:720px;color:var(--text-secondary);font-size:var(--font-size-base);line-height:1.7}.surface{background:var(--surface-raised);border:1px solid var(--border-default);border-radius:var(--radius-lg)}.language-select select{width:132px;height:44px;padding:0 var(--space-10) 0 var(--space-4);color:var(--text-primary);background:var(--surface-inset);border:1px solid var(--border-control);border-radius:var(--radius-md);font-size:var(--font-size-md);font-weight:600}.button{min-width:152px;height:44px;padding:0 var(--space-5);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-3);border:1px solid transparent;border-radius:var(--radius-md);text-decoration:none;font-size:var(--font-size-md);font-weight:700;cursor:pointer}.button--large{min-width:176px;height:52px;padding-inline:var(--space-6)}.button--primary{color:var(--text-on-accent);background:var(--interactive-primary-bg)}.button--secondary{color:var(--text-accent);background:var(--interactive-secondary-bg);border-color:var(--border-control)}.button--ghost{color:var(--text-accent);background:transparent;border-color:var(--border-control)}.page-actions{margin-top:var(--space-10);display:flex;flex-wrap:wrap;gap:var(--space-3)}.status-badge{width:fit-content;padding:var(--space-1) var(--space-2);display:inline-flex;align-items:center;border-radius:var(--radius-pill);font-size:var(--font-size-xs);font-weight:800}.status-badge--green{color:var(--feedback-success-fg);background:var(--feedback-success-bg)}.status-badge--blue{color:var(--feedback-info-fg);background:var(--feedback-info-bg)}.toggle{min-width:48px;min-height:44px;padding:var(--space-2) 0;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;cursor:pointer}.toggle__track{position:relative;width:48px;height:28px;padding:var(--space-1);display:block;background:var(--surface-inset);border-radius:var(--radius-pill)}.toggle__thumb{width:22px;height:22px;display:block;background:var(--surface-raised);border-radius:var(--radius-pill);transition:transform var(--duration-fast) var(--ease-standard)}.toggle[aria-checked=true] .toggle__track{background:var(--interactive-primary-bg)}.toggle[aria-checked=true] .toggle__thumb{transform:translate(20px)}.segmented-control{padding:var(--space-1);display:flex!important;gap:var(--space-1)!important;background:var(--surface-inset);border-radius:var(--radius-md)}.segmented-control label{min-width:82px;min-height:36px;display:grid;place-items:center;border-radius:var(--radius-md);font-size:var(--font-size-xs);font-weight:700;cursor:pointer}.segmented-control input{position:absolute;opacity:0}.segmented-control label:has(input:checked){color:var(--text-accent);background:var(--surface-raised);box-shadow:var(--elevation-1)}.button--small{min-width:152px;height:44px;padding:0 var(--space-5)}.button--full-width{width:100%}.button--danger{color:var(--interactive-danger-fg);background:var(--interactive-danger-bg)}.icon-button{min-width:44px;min-height:44px;padding:0;display:inline-flex;align-items:center;justify-content:center;color:var(--text-accent);background:transparent;border:0;border-radius:var(--radius-md);cursor:pointer}.spinner{display:inline-block;flex:0 0 auto;animation:spinner-rotate 1s linear infinite}.spinner__track,.spinner__arc{fill:none;stroke:currentColor;stroke-width:2}.spinner__track{opacity:.35}.spinner__arc{stroke-linecap:round}@keyframes spinner-rotate{to{transform:rotate(360deg)}}.skeleton{display:grid;gap:var(--space-2)}.skeleton__line{min-height:var(--space-4);display:block;background:var(--surface-inset);border-radius:var(--radius-sm)}.state-view{width:min(100%,480px);min-height:min(320px,40vh);margin-inline:auto;display:grid;place-content:center;justify-items:center;gap:var(--space-3);text-align:center}.state-view__title,.state-view__description{margin:0}.state-view__description{color:var(--text-secondary)}.alert{padding:var(--space-3) var(--space-4);display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);border:1px solid;border-radius:var(--radius-md)}.alert>p{flex:1 1 auto;min-width:0;margin:0}.alert--info{color:var(--feedback-info-fg);background:var(--feedback-info-bg);border-color:var(--feedback-info-fg)}.alert--success{color:var(--feedback-success-fg);background:var(--feedback-success-bg);border-color:var(--feedback-success-fg)}.alert--warning{color:var(--feedback-warning-fg);background:var(--feedback-warning-bg);border-color:var(--feedback-warning-fg)}.alert--danger{color:var(--feedback-danger-fg);background:var(--feedback-danger-bg);border-color:var(--feedback-danger-fg)}.status-badge--warning{color:var(--feedback-warning-fg);background:var(--feedback-warning-bg)}.status-badge--danger{color:var(--feedback-danger-fg);background:var(--feedback-danger-bg)}.status-badge--neutral{color:var(--text-secondary);background:var(--surface-inset)}.card--elevation-0{box-shadow:none}.field{display:grid;gap:var(--space-2)}.field__label{font-weight:700}.field__control{min-width:0}.field__hint,.field__error{margin:0;font-size:var(--font-size-md)}.field__hint{color:var(--text-secondary)}.field__error{color:var(--feedback-danger-fg)}@media(hover:hover){.button--primary:hover{background:var(--interactive-primary-bg-hover)}.button--secondary:hover{background:var(--interactive-secondary-bg-hover)}.button--ghost:hover{background:var(--interactive-ghost-bg-hover)}.button--danger:hover{background:var(--interactive-danger-bg-hover)}.icon-button:hover,.toggle:hover .toggle__track{background:var(--interactive-ghost-bg-hover)}.language-select>select:hover,.segmented-control>label:hover{background:var(--interactive-secondary-bg-hover)}}.button--primary:active{background:var(--interactive-primary-bg-active)}.button--secondary:active{background:var(--interactive-secondary-bg-active)}.button--ghost:active,.icon-button:active,.toggle:active .toggle__track{background:var(--interactive-ghost-bg-active)}.button--danger:active{background:var(--interactive-danger-bg-active)}.language-select>select:active,.segmented-control>label:active{background:var(--interactive-secondary-bg-active)}.button:focus-visible,.icon-button:focus-visible,.toggle:focus-visible,.language-select>select:focus-visible,.segmented-control>label:has(input:focus-visible){outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.button:disabled{color:var(--interactive-disabled-fg);background:var(--interactive-disabled-bg);border-color:transparent;cursor:not-allowed}.icon-button:disabled{color:var(--interactive-disabled-fg);background:var(--interactive-disabled-bg);cursor:not-allowed}.toggle:disabled,.language-select>select:disabled{color:var(--interactive-disabled-fg);cursor:not-allowed}.toggle:disabled .toggle__track,.language-select>select:disabled{background:var(--interactive-disabled-bg)}.toggle:disabled{opacity:.55}.button:is(button,a),.icon-button:is(button),.toggle>.toggle__track,.language-select>select,.segmented-control>label{transition:color var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),opacity var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard)}.profile-boundary{min-height:100vh;margin:0;padding:var(--space-6);display:grid;place-content:center;gap:var(--space-4);text-align:center}.profile-save-alert button{min-height:40px;padding:0 var(--space-4);border:0;border-radius:var(--radius-md);cursor:pointer}.profile-save-alert{position:fixed;z-index:90;right:var(--space-4);bottom:var(--space-4);max-width:min(360px,calc(100vw - var(--space-8)));padding:var(--space-4);display:flex;align-items:center;gap:var(--space-3);color:var(--text-primary);background:var(--surface-raised);border:1px solid var(--feedback-danger-fg);border-radius:var(--radius-md);box-shadow:var(--elevation-3)}.profile-save-alert p{margin:0}.app-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:var(--header-height) minmax(0,1fr);color:var(--text-primary);background:var(--surface-canvas)}.app-topbar{position:sticky;top:0;z-index:20;height:var(--header-height);padding:0 var(--space-10);display:flex;align-items:center;gap:var(--space-10);background:var(--surface-raised);border-bottom:1px solid var(--border-default)}.app-topbar__brand{color:var(--text-primary);font-size:var(--font-size-lg);font-weight:800;letter-spacing:-.02em;text-decoration:none}.primary-nav{align-self:stretch;display:flex;align-items:stretch;gap:var(--space-2)}.nav-link,.settings-link{min-height:44px;padding:0 var(--space-3);display:flex;align-items:center;gap:var(--space-3);color:var(--text-primary);text-decoration:none;border-radius:var(--radius-md);font-size:var(--font-size-md);font-weight:600}.nav-link:hover,.settings-link:hover{background:var(--surface-sunken)}.nav-link.is-active{color:var(--text-accent);background:var(--surface-accent-subtle)}.settings-link{margin-top:var(--space-5);color:var(--text-secondary)}.app-topbar__tools{margin-left:auto;padding-inline:1px;display:flex;gap:var(--space-2)}.app-topbar__tools .settings-link{width:44px;height:44px;min-height:44px;padding:0;margin:0;justify-content:center}.sidebar-progress{margin-top:auto;padding:0 var(--space-3);display:grid;gap:var(--space-2)}.sidebar-progress>span{color:var(--text-accent);font-family:JetBrains Mono,ui-monospace,monospace;font-size:var(--font-size-xs);font-weight:800}.sidebar-progress>strong{font-size:var(--font-size-xs)}.sidebar-progress [role=progressbar]{height:6px;margin-top:var(--space-1);overflow:hidden;background:var(--surface-inset);border-radius:var(--radius-pill)}.sidebar-progress [role=progressbar] span{height:100%;display:block;background:var(--interactive-primary-bg);border-radius:var(--radius-pill)}.app-header{position:sticky;top:0;z-index:10;grid-column:1;min-width:0;height:var(--header-height);padding:0 var(--space-10);display:flex;align-items:center;gap:var(--space-8);background:#fffffff5;border-bottom:1px solid var(--border-default)}.app-header strong{font-size:var(--font-size-base)}.app-header span{color:var(--text-secondary);font-size:var(--font-size-md)}.app-header__actions{margin-left:auto;display:flex;align-items:center;gap:var(--space-3)}.mobile-menu-button,.mobile-navigation-layer,.studio-mobile-tools,.studio-bottom-nav{display:none}.touch-target{min-width:44px;min-height:44px}.app-main{grid-column:1;grid-row:2;min-width:0;padding:var(--space-10) var(--space-12) var(--space-16)}.app-shell--studio{min-height:100vh;grid-template-rows:var(--header-height) minmax(0,1fr)}.app-shell--studio .primary-nav{gap:var(--space-2)}.app-shell--studio .nav-link{min-height:var(--header-height);padding:0 var(--space-3);gap:var(--space-2);border-radius:0;font-size:var(--font-size-md)}.app-shell--studio .nav-link:hover,.app-shell--studio .settings-link:hover{background:transparent}.app-shell--studio .nav-link.is-active{background:transparent;box-shadow:inset 0 -2px var(--interactive-primary-bg)}.app-shell--studio .app-topbar__tools{gap:var(--space-1)}.app-shell--studio .settings-link{border-radius:0}.app-shell--studio .app-header{display:none}.app-shell--studio .app-main{min-height:100vh;grid-column:1;grid-row:2;padding:var(--space-12) var(--space-16)}.content-frame{width:min(100%,var(--content-max));margin-inline:auto}.learning-shell{min-height:100vh;color:var(--text-primary);background:var(--surface-canvas)}.learning-header{position:sticky;top:0;z-index:30;height:56px;padding:0 var(--space-4);display:flex;align-items:center;gap:var(--space-4);background:var(--surface-raised);border-bottom:1px solid var(--border-default)}.learning-brand{color:var(--text-primary);font-size:var(--font-size-base);font-weight:800;text-decoration:none}.learning-breadcrumb{max-width:240px;padding-left:var(--space-4);overflow:hidden;color:var(--text-secondary);border-left:1px solid var(--border-default);font-size:var(--font-size-sm);text-overflow:ellipsis;white-space:nowrap}.learning-header__actions{display:flex;align-items:center;gap:var(--space-3)}.compare-label{font-size:var(--font-size-sm);font-weight:700}.stage-navigation{height:100%;min-width:0;flex:1;display:flex;justify-content:center;align-items:center;background:transparent;border:0}.stage-link{min-height:56px;padding:0 var(--space-3);display:flex;align-items:center;gap:var(--space-2);color:var(--text-secondary);text-decoration:none;border-radius:0;font-size:var(--font-size-sm);font-weight:600}.stage-marker{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border:1px solid var(--border-default);border-radius:var(--radius-pill)}.stage-link.is-current{color:var(--text-accent)}.stage-link[aria-current=step]{box-shadow:inset 0 -2px var(--interactive-primary-bg)}.stage-link.is-current .stage-marker{color:var(--text-on-accent);background:var(--interactive-primary-bg);border-color:var(--border-accent)}.stage-link.is-complete{color:var(--feedback-success-fg)}.stage-link.is-complete .stage-marker{color:var(--text-on-accent);background:var(--feedback-success-fg);border-color:var(--feedback-success-fg)}.stage-link.is-locked{color:var(--text-tertiary);pointer-events:none}.lesson-curriculum-trigger{min-width:116px;height:44px}.curriculum-drawer-layer{position:fixed;z-index:80;top:0;right:0;bottom:0;left:0}.curriculum-drawer-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;background:var(--overlay-scrim);border:0}.curriculum-drawer{position:relative;width:min(88vw,380px);height:100%;padding:var(--space-8) var(--space-6);background:var(--surface-raised);border-right:1px solid var(--border-default);box-shadow:var(--elevation-drawer)}.curriculum-drawer>header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-5)}.curriculum-drawer>header span{color:var(--text-accent);font-family:JetBrains Mono,ui-monospace,monospace;font-size:var(--font-size-xs);font-weight:800}.curriculum-drawer h2{margin:var(--space-2) 0 0;font-size:var(--font-size-3xl);letter-spacing:-.035em}.curriculum-drawer>header button{width:44px;height:44px;color:var(--text-primary);background:var(--surface-raised);border:1px solid var(--border-default)}.curriculum-drawer>p{margin:var(--space-5) 0 0;color:var(--text-secondary);font-size:var(--font-size-sm);line-height:1.6}.curriculum-drawer nav{margin-top:var(--space-6);display:grid;gap:var(--space-3)}.curriculum-drawer nav a{min-height:76px;padding:var(--space-4) var(--space-4);display:flex;align-items:center;gap:var(--space-3);color:var(--text-secondary);background:var(--surface-raised);border:1px solid var(--border-default);border-radius:var(--radius-md);text-decoration:none}.curriculum-drawer nav a.is-current{color:var(--text-accent);background:var(--surface-accent-subtle);border-color:var(--border-accent)}.curriculum-drawer nav a>span{display:grid;gap:var(--space-1)}.curriculum-drawer nav strong{color:var(--text-primary);font-size:var(--font-size-md)}.curriculum-drawer nav small{color:var(--text-secondary);font-size:var(--font-size-xs)}.learning-main{width:100%;min-height:calc(100vh - 56px);margin-inline:auto;padding:var(--space-8) var(--space-8) var(--space-16)}.learning-shell--studio .learning-header,.learning-shell--studio .stage-navigation,.learning-shell--studio .curriculum-drawer{background:var(--surface-raised);border-color:var(--border-default)}.learning-shell--studio .curriculum-drawer>header button,.learning-shell--studio .curriculum-drawer nav a{color:var(--text-primary);background:var(--surface-raised);border-color:var(--border-default)}.learning-shell--studio .curriculum-drawer nav a.is-current{color:var(--text-accent);background:var(--surface-accent-subtle);border-color:var(--border-accent)}.course-home{width:100%;max-width:1180px;margin-inline:auto}.course-home__header h1{margin:var(--space-2) 0 0;font-size:clamp(36px,3.2vw,46px);line-height:1.15;letter-spacing:-.045em}.course-home__header p{margin:0;color:var(--text-secondary);font-size:var(--font-size-base)}.course-home__lesson{margin-top:var(--space-12)}.course-home__lesson>p{margin:0;color:var(--text-secondary);font-size:var(--font-size-base)}.course-home__lesson>h2{margin:var(--space-3) 0 0;font-size:clamp(30px,3vw,42px);line-height:1.18;letter-spacing:-.045em}.course-code-comparison{margin-top:var(--space-8);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--border-default)}.course-code+.course-code{border-left:1px solid var(--border-default)}.course-code>header{min-height:74px;padding:0 var(--space-8);display:flex;align-items:center;gap:var(--space-4);border-bottom:1px solid var(--border-default);font-size:var(--font-size-lg)}.course-code--python>header{color:var(--studio-python)}.course-code--cpp>header{color:var(--studio-cpp)}.course-code__body{min-height:252px;padding:var(--space-5) var(--space-6);display:grid;grid-template-columns:28px minmax(0,1fr);gap:var(--space-5);overflow:auto;background:var(--surface-raised)}.course-code__lines{display:grid;align-content:start;color:var(--text-secondary);font-family:JetBrains Mono,ui-monospace,monospace;font-size:var(--font-size-base);line-height:1.9;text-align:right;-webkit-user-select:none;user-select:none}.course-code pre{min-width:max-content;margin:0;color:var(--text-primary);font-family:JetBrains Mono,ui-monospace,monospace;font-size:var(--font-size-base);line-height:1.9;-moz-tab-size:4;tab-size:4}.course-code .tok-keyword,.course-code .tok-bool,.course-code .tok-null{color:var(--code-keyword)}.course-code .tok-typeName,.course-code .tok-className{color:var(--code-type)}.course-code .tok-number{color:var(--code-number)}.course-code .tok-string{color:var(--code-string)}.course-code .tok-comment{color:var(--code-comment)}.course-home__plan{margin-top:var(--space-10)}.course-home__plan h3{margin:0 0 var(--space-4);font-size:var(--font-size-lg)}.course-stages{padding:0;margin:0;border-top:1px solid var(--border-default);list-style:none}.course-stages li{min-height:58px;padding:0 var(--space-2);display:flex;align-items:center;gap:var(--space-4);color:var(--text-secondary);border-bottom:1px solid var(--border-default);font-size:var(--font-size-base)}.course-stages li>span{width:28px;height:28px;display:grid;place-items:center;border:1px solid var(--border-strong);border-radius:var(--radius-circle);font-size:var(--font-size-sm);font-weight:700}.course-stages li[aria-current=step]{color:var(--text-accent);font-weight:700}.course-stages li[aria-current=step]>span{color:var(--text-on-accent);background:var(--interactive-primary-bg);border-color:var(--border-accent)}.course-home__actions{margin-top:var(--space-6);display:flex;align-items:center;gap:var(--space-6)}.course-home__meta{margin-left:auto;display:flex;align-items:center;gap:var(--space-8);color:var(--text-secondary)}.course-home__meta>span{display:flex;align-items:center;gap:var(--space-3);font-size:var(--font-size-base)}.course-home__meta>strong{padding-left:var(--space-6);color:var(--text-accent);border-left:1px solid var(--border-default);font-size:var(--font-size-3xl)}.course-home__meta small{color:var(--text-secondary);font-size:var(--font-size-base);font-weight:500}.course-home__primary{min-width:250px;min-height:56px;padding:0 var(--space-6);display:flex;align-items:center;justify-content:center;gap:var(--space-3);color:var(--text-on-accent);background:var(--interactive-primary-bg);border-radius:var(--radius-sm);text-decoration:none;font-size:var(--font-size-lg);font-weight:800;transition:color var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),opacity var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard)}@media(hover:hover){.course-home__primary:hover{background:var(--interactive-primary-bg-hover)}}.course-home__primary:active{background:var(--interactive-primary-bg-active)}.course-home__history{display:flex;align-items:center;gap:var(--space-3);color:var(--text-secondary);text-decoration:none;font-size:var(--font-size-base);font-weight:700;white-space:nowrap}.course-home-enrollment,.course-home-complete{width:min(100%,760px);min-height:calc(100vh - 106px);margin-inline:auto;display:grid;place-content:center;gap:var(--space-5);color:var(--text-secondary);text-align:center}.course-home-enrollment h1,.course-home-enrollment p,.course-home-complete h1,.course-home-complete p{margin:0}.course-home-enrollment h1,.course-home-complete h1{color:var(--text-primary);font-size:clamp(34px,4vw,48px);line-height:1.2}.course-home-enrollment button,.course-home-enrollment a,.course-home-complete button,.course-home-complete a{width:fit-content;min-height:52px;padding:0 var(--space-6);margin:var(--space-3) auto 0;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border:0;border-radius:var(--radius-sm);text-decoration:none;font-weight:800;cursor:pointer}.course-home-enrollment button:disabled,.course-home-complete button:disabled{opacity:.65;cursor:wait}.public-landing{min-height:100vh}.public-landing__header{min-height:var(--header-height);padding:0 var(--space-12);display:flex;align-items:center;background:var(--surface-raised);border-bottom:1px solid var(--border-default)}.public-landing__header .brand-lockup{display:grid;gap:var(--space-1)}.public-landing__header .brand-lockup strong{font-size:var(--font-size-lg)}.public-landing__header .brand-lockup span{color:var(--text-secondary);font-size:var(--font-size-xs)}.public-landing>main{padding:var(--space-10) var(--space-12) var(--space-16)}.auth-error{width:min(calc(100% - 32px),520px);margin:12vh auto 0;padding:var(--space-10)}.focus-page>.auth-error{background:transparent;border:0;border-radius:0}.auth-error h1{margin:0;font-size:var(--font-size-3xl);letter-spacing:-.035em}.auth-error>p:not(.page-eyebrow){margin:var(--space-4) 0 var(--space-8);color:var(--text-secondary);line-height:1.65}.landing-hero{min-height:510px;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(310px,.7fr);align-items:center;gap:var(--space-16)}.landing-path-card{padding:var(--space-8)}.landing-path-card>strong{margin-top:var(--space-5);display:block;font-size:var(--font-size-xl);letter-spacing:-.025em}.landing-path-card>p{margin:var(--space-2) 0 var(--space-5);color:var(--text-secondary);font-size:var(--font-size-md);line-height:1.6}.landing-path-card ol{padding:0;margin:0;display:grid;gap:var(--space-1);list-style:none}.landing-path-card li{min-height:42px;display:flex;align-items:center;gap:var(--space-3);font-size:var(--font-size-md);font-weight:700}.landing-path-card li span{width:28px;height:28px;display:grid;place-items:center;color:var(--text-accent);background:var(--surface-accent-subtle);border-radius:var(--radius-pill);font-size:var(--font-size-xs)}.landing-path-card>a{margin-top:var(--space-5);padding-top:var(--space-5);display:flex;align-items:center;justify-content:space-between;color:var(--text-accent);border-top:1px solid var(--border-default);text-decoration:none;font-size:var(--font-size-md);font-weight:800}.depth-section{padding:var(--space-12) 0 var(--space-5);border-top:1px solid var(--border-default)}.depth-section h2,.section-heading h1,.focus-intro h1,.assessment-question h1{margin:0;font-size:var(--font-size-4xl);line-height:1.28;letter-spacing:-.035em}.depth-grid{margin-top:var(--space-8);display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}.depth-card{min-height:188px;padding:var(--space-6)}.depth-card>svg{color:var(--text-accent)}.depth-card h3{margin:var(--space-8) 0 var(--space-2);font-size:var(--font-size-lg)}.depth-card p{margin:0;color:var(--text-secondary);font-size:var(--font-size-md);line-height:1.65}.landing-dashboard{display:grid}.landing-dashboard__hero{min-height:calc(100vh - var(--header-height) - var(--space-16));padding:var(--space-12) 0;display:flex;align-items:center}.landing-dashboard__hero .page-title{max-width:670px;font-size:clamp(34px,3.2vw,44px)}.landing-dashboard__hero .page-description{max-width:670px;margin-top:var(--space-4);line-height:1.55}.landing-dashboard__hero .page-actions{margin-top:var(--space-8)}.focus-page,.assessment-page{min-height:100vh;background:var(--surface-canvas)}.focus-header,.assessment-header{min-height:var(--header-height);padding:0 var(--space-10);display:flex;align-items:center;gap:var(--space-4);background:var(--surface-raised);border-bottom:1px solid var(--border-default)}.focus-header>strong,.assessment-header>strong{font-size:var(--font-size-base);letter-spacing:-.01em}.focus-header>span{margin-left:auto;color:var(--text-secondary);font-family:JetBrains Mono,ui-monospace,monospace;font-size:var(--font-size-sm);font-weight:700}.focus-back{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--border-default);border-radius:var(--radius-md)}.focus-content{width:min(100% - 48px,980px);margin-inline:auto;padding:var(--space-12) 0 var(--space-20)}.focus-intro>p:last-child,.section-heading>div>p:last-child,.assessment-question>p:last-of-type{margin:var(--space-3) 0 0;color:var(--text-secondary);line-height:1.7}.onboarding-page{display:flex;align-items:center;justify-content:center}.onboarding-form{width:min(100% - 48px,980px);padding:0}.onboarding-form .focus-intro{text-align:center}.onboarding-form .focus-intro h1{font-size:var(--font-size-3xl)}.onboarding-form .language-choice-grid{margin-top:var(--space-12);display:grid;grid-template-columns:repeat(4,160px);justify-content:center;gap:var(--space-4)}.onboarding-form .language-choice-grid--anchor{grid-template-columns:repeat(3,160px)}.language-choice-card{position:relative;width:160px;display:grid;justify-items:center;gap:var(--space-2);cursor:pointer}.language-choice-card__tile{width:160px;height:160px;display:grid;place-items:center;background:var(--surface-sunken);border:1px solid var(--border-default);border-radius:var(--radius-lg);transition:background-color .18s ease-out,border-color .18s ease-out}.language-choice-card:hover .language-choice-card__tile{border-color:var(--border-strong)}.language-choice-card:has(input:checked) .language-choice-card__tile{background:var(--surface-raised);border-width:2px;border-color:var(--border-accent)}.language-choice-card--python:has(input:checked) .language-choice-card__tile{border-color:var(--code-function)}.language-choice-card--cpp:has(input:checked) .language-choice-card__tile{border-color:var(--feedback-danger-fg)}.language-choice-card--java:has(input:checked) .language-choice-card__tile{border-color:var(--feedback-warning-fg)}.language-choice-card--csharp:has(input:checked) .language-choice-card__tile{border-color:var(--code-type)}.language-choice-card:has(input:focus-visible) .language-choice-card__tile{box-shadow:0 0 0 2px var(--focus-ring-color)}.choice-card:has(input:focus-visible){outline:2px solid transparent;outline-offset:3px}.choice-card:has(input:checked) .choice-card__indicator{outline:1px solid var(--focus-ring-color)}.language-choice-card input{position:absolute;width:1px;height:1px;opacity:0}.language-choice-card__icon{width:96px;height:96px;display:grid;place-items:center;color:var(--text-tertiary)}.language-choice-card__icon svg{width:72px;height:72px;transition:width .18s ease-out,height .18s ease-out}.language-choice-card:has(input:checked) .language-choice-card__icon svg{width:96px;height:96px}.language-choice-card:has(input:checked) .language-choice-card__icon--python{color:var(--code-function)}.language-choice-card:has(input:checked) .language-choice-card__icon--cpp{color:var(--feedback-danger-fg)}.language-choice-card:has(input:checked) .language-choice-card__icon--java{color:var(--feedback-warning-fg)}.language-choice-card:has(input:checked) .language-choice-card__icon--csharp{color:var(--code-type)}.language-choice-card strong{font-size:var(--font-size-md);color:var(--text-tertiary)}.language-choice-card:has(input:checked) strong{color:var(--text-primary)}.focus-actions,.assessment-actions{margin-top:var(--space-8);padding-top:var(--space-6);display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);border-top:1px solid var(--border-default)}.focus-actions>span,.assessment-actions>span{color:var(--text-secondary);font-size:var(--font-size-sm)}.onboarding-form .focus-actions{justify-content:center;border-top:0}.onboarding-form .button.button--large{height:64px;color:var(--text-primary)}.assessment-header{justify-content:space-between}.assessment-progress{display:flex;align-items:center;gap:var(--space-4);color:var(--text-secondary);font-size:var(--font-size-sm)}.assessment-progress>div{width:200px;height:6px;overflow:hidden;background:var(--surface-inset);border-radius:var(--radius-pill)}.assessment-progress>div>span{width:100%;height:100%;display:block;background:var(--interactive-primary-bg)}.assessment-lock{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:700}.assessment-card{width:min(100% - 48px,760px);margin:var(--space-12) auto var(--space-20);padding:var(--space-10)}.assessment-question pre{margin:var(--space-8) 0 0;padding:var(--space-5);overflow-x:auto;color:var(--code-operator);background:var(--surface-code);border-radius:var(--radius-md);font-family:JetBrains Mono,ui-monospace,monospace;font-size:var(--font-size-base);line-height:1.7}.answer-list{padding:0;margin:var(--space-6) 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3);border:0}.answer-list label{min-height:54px;display:grid;place-items:center;background:var(--surface-raised);border:1px solid var(--border-default);border-radius:var(--radius-md);font-weight:700;cursor:pointer}.answer-list label:has(input:checked){color:var(--text-accent);background:var(--surface-accent-subtle);border-color:var(--border-accent)}.answer-list label:has(input:focus-visible){outline:2px solid var(--focus-ring-color);outline-offset:3px}.answer-list input{position:absolute;opacity:0}.diagnostic-result{margin-top:var(--space-6);padding:var(--space-5) var(--space-5);display:flex;gap:var(--space-3);color:var(--feedback-success-fg);background:var(--feedback-success-bg);border-radius:var(--radius-md)}.diagnostic-result p{margin:var(--space-1) 0 0;font-size:var(--font-size-sm);line-height:1.5}.curriculum-page{display:grid;gap:var(--space-10)}.problem-bank-page{display:grid;gap:var(--space-8)}.problem-bank-heading>strong{min-width:92px;padding:var(--space-3) var(--space-4);color:var(--text-accent);background:var(--surface-accent-subtle);border-radius:var(--radius-pill);text-align:center;font-family:JetBrains Mono,ui-monospace,monospace;font-size:var(--font-size-sm)}.problem-filters{padding:0 0 var(--space-6);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-4)}.problem-bank-page>.problem-filters{background:transparent;border:0;border-bottom:1px solid var(--border-default);border-radius:0}.problem-search,.problem-filter{min-width:0;display:grid;gap:var(--space-2)}.problem-search{grid-column:span 2}.problem-search>span:first-child,.problem-filter>span{color:var(--text-secondary);font-size:var(--font-size-xs);font-weight:700}.problem-search__control{position:relative;display:flex;align-items:center}.problem-search__control>svg{position:absolute;left:14px;color:var(--text-secondary);pointer-events:none}.problem-search input,.problem-filter select{width:100%;height:44px;color:var(--text-primary);background:var(--surface-raised);border:1px solid var(--border-control);border-radius:var(--radius-md);font-size:var(--font-size-md)}.problem-search input{padding:0 var(--space-4) 0 var(--space-10)}.problem-filter select{padding:0 var(--space-8) 0 var(--space-3)}.problem-card-grid{display:grid;grid-template-columns:minmax(0,1fr);border-top:1px solid var(--border-default)}.problem-card{min-width:0;padding:var(--space-6);display:grid;align-content:start;gap:var(--space-5)}.problem-card-grid>.problem-card{background:transparent;border:0;border-bottom:1px solid var(--border-default);border-radius:0}.problem-card__topline{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.difficulty,.server-related{width:fit-content;padding:var(--space-1) var(--space-2);display:inline-flex;align-items:center;gap:var(--space-1);border-radius:var(--radius-pill);font-size:var(--font-size-2xs);font-weight:800}.difficulty--easy{color:var(--feedback-success-fg);background:var(--feedback-success-bg)}.difficulty--medium{color:var(--feedback-warning-fg);background:var(--feedback-warning-bg)}.difficulty--hard{color:var(--feedback-danger-fg);background:var(--feedback-danger-bg)}.server-related{color:var(--text-accent);background:var(--surface-accent-subtle)}.problem-card h2{margin:0;font-size:var(--font-size-xl);letter-spacing:-.025em}.problem-card h2 a{text-decoration:none}.problem-card h2 a:hover{color:var(--text-accent);text-decoration:underline;text-underline-offset:4px}.problem-card__concepts{margin:var(--space-2) 0 0;color:var(--text-secondary);font-size:var(--font-size-sm)}.problem-card__facts{padding:var(--space-4) 0;margin:0;display:grid;grid-template-columns:.8fr 1.2fr;gap:var(--space-3);border-block:1px solid var(--border-default)}.problem-card__facts>div{min-width:0;display:grid;gap:var(--space-1)}.problem-card__facts dt{display:flex;align-items:center;gap:var(--space-1);color:var(--text-secondary);font-size:var(--font-size-2xs)}.problem-card__facts dd{margin:0;font-family:JetBrains Mono,ui-monospace,monospace;font-size:var(--font-size-xs);font-weight:700}.prerequisite-note{padding:var(--space-3) var(--space-4);display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-1) var(--space-2);color:var(--feedback-warning-fg);background:var(--feedback-warning-bg);border-radius:var(--radius-md)}.prerequisite-note.is-met{color:var(--feedback-success-fg);background:var(--feedback-success-bg)}.prerequisite-note>svg{grid-row:span 2}.prerequisite-note span{font-size:var(--font-size-xs);font-weight:800}.prerequisite-note small{overflow:hidden;color:var(--text-secondary);font-size:var(--font-size-2xs);text-overflow:ellipsis;white-space:nowrap}.language-status-list{padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-2);list-style:none}.language-status-list li{min-width:0;padding:var(--space-2) var(--space-2);display:grid;gap:var(--space-1);background:var(--surface-sunken);border-radius:var(--radius-sm);text-align:center}.language-status-list span,.language-status-list strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.language-status-list span{color:var(--text-secondary);font-size:var(--font-size-2xs)}.language-status-list strong{font-size:var(--font-size-2xs)}.empty-filter-result{padding:var(--space-12) var(--space-6);text-align:center}.empty-filter-result h2{margin:0}.empty-filter-result p{color:var(--text-secondary)}.empty-filter-result button{min-height:44px;padding-inline:var(--space-5);border:0;border-radius:var(--radius-md);font-weight:700;cursor:pointer}.daily-snippet-empty>svg{margin-bottom:var(--space-3);color:var(--text-accent)}.daily-snippet-page{display:grid;gap:var(--space-8)}.daily-snippet-practice-header h1{margin:var(--space-2) 0 var(--space-3);color:var(--text-primary);font-size:clamp(32px,4vw,48px);letter-spacing:-.04em}.daily-snippet-practice-header p:last-child,.daily-snippet-setup>div:first-child>p:last-child,.daily-snippet-step p{margin-block:0;color:var(--text-secondary);line-height:1.7}.daily-snippet-setup,.daily-snippet-editor-card,.daily-snippet-result{padding:var(--space-8)}.daily-snippet-setup{display:grid;gap:var(--space-6)}.daily-snippet-setup h2,.daily-snippet-editor-card h2,.daily-snippet-result h2{margin:var(--space-1) 0 var(--space-2)}.daily-snippet-track-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-4)}.daily-snippet-track{padding:var(--space-5);display:grid;justify-items:start;gap:var(--space-4);background:var(--surface-sunken);border:1px solid var(--border-default);border-radius:var(--radius-md)}.daily-snippet-track h3,.daily-snippet-track p{margin:0}.daily-snippet-track p{min-height:48px;color:var(--text-secondary);line-height:1.6}.daily-snippet-current{width:min(100%,720px);min-height:calc(100vh - var(--space-16) - var(--space-12));margin-inline:auto;display:grid;align-content:center;justify-items:center;gap:var(--space-16)}.daily-snippet-current__copy{display:grid;justify-items:center;gap:var(--space-4)}.daily-snippet-meta{display:flex;flex-wrap:wrap;gap:var(--space-2)}.daily-snippet-meta>span:not(.status-badge){color:var(--text-secondary);font-size:var(--font-size-md)}.daily-snippet-practice-header>span{padding:var(--space-1) var(--space-2);color:var(--text-secondary);background:var(--surface-inset);border-radius:var(--radius-pill);font-size:var(--font-size-xs);font-weight:700}.daily-snippet-status{width:fit-content;padding:var(--space-1) var(--space-3);color:var(--text-accent);background:var(--surface-accent-subtle);border-radius:var(--radius-pill);font-size:var(--font-size-xs);font-weight:800}.daily-snippet-current h1{margin:0;display:flex;align-items:center;gap:var(--space-3);color:var(--text-primary);font-size:var(--font-size-4xl)}.daily-snippet-current h1>svg{flex:0 0 auto;color:var(--feedback-success-fg)}.daily-snippet-current>a.button{width:320px;max-width:100%;height:64px;color:var(--text-primary)}.daily-snippet-status.is-completed{color:var(--feedback-success-fg);background:var(--feedback-success-bg)}.daily-snippet-status.is-not-started{color:var(--text-secondary);background:var(--surface-inset)}.daily-snippet-status.is-open{color:var(--feedback-warning-fg);background:var(--feedback-warning-bg)}.daily-snippet-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:flex-end}.daily-snippet-history-list{padding:0;margin:0;display:grid;border-top:1px solid var(--border-default);list-style:none}.daily-snippet-history-list li{min-width:0}.daily-snippet-history-row{min-height:72px;padding:var(--space-5) var(--space-5);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-5);color:inherit;text-decoration:none}.daily-snippet-history-list .daily-snippet-history-row{background:transparent;border:0;border-bottom:1px solid var(--border-default);border-radius:0}.daily-snippet-history-row:hover{background:var(--surface-sunken)}.daily-snippet-history-row:focus-visible{position:relative;z-index:1}.daily-snippet-history-row .daily-snippet-status{width:40px;height:40px;padding:0;display:grid;place-items:center;border-radius:var(--radius-circle)}.daily-snippet-history-list h2,.daily-snippet-history-list p,.daily-snippet-history-list time{margin:var(--space-1) 0 0}.daily-snippet-history-list time,.daily-snippet-history-list p{color:var(--text-secondary);font-size:var(--font-size-sm)}.daily-snippet-history-filters{width:fit-content}.daily-snippet-history-filters label{height:44px}.daily-snippet-history-filters label:has(input:checked) span{color:var(--text-primary)}.daily-snippet-practice{max-width:none}.daily-snippet-immersive{min-height:100vh;background:var(--surface-canvas)}.daily-snippet-immersive.daily-snippet-page{gap:0}.daily-snippet-context{min-height:56px;padding:var(--space-2) var(--space-8);display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);border-bottom:1px solid var(--border-default)}.daily-snippet-context__identity,.daily-snippet-context__actions{display:flex;align-items:center;gap:var(--space-3)}.daily-snippet-context__identity>svg{flex:0 0 auto;color:var(--text-secondary)}.daily-snippet-context__identity h1{margin:0;font-size:var(--font-size-lg);letter-spacing:-.02em}.daily-snippet-context__direction{color:var(--text-secondary);font-size:var(--font-size-sm);white-space:nowrap}.daily-snippet-context__recall{min-height:44px;padding-inline:var(--space-3);display:inline-flex;align-items:center;gap:var(--space-2)}.daily-snippet-context__recall>span{display:inline-flex;align-items:center;gap:var(--space-2)}.daily-snippet-context__peek{min-width:44px;height:44px;padding-inline:var(--space-2);color:var(--text-secondary);border-color:transparent}.daily-snippet-context__peek>span{display:inline-flex;align-items:center;gap:var(--space-2)}.daily-snippet-context__peek.has-count{color:var(--feedback-warning-fg)}.daily-snippet-context__exit{width:44px;height:44px;display:inline-grid;place-items:center;color:var(--text-secondary);border-radius:var(--radius-md)}.daily-snippet-context__exit:hover{color:var(--text-primary);background:var(--surface-sunken)}.daily-snippet-practice-header{display:flex;align-items:start;justify-content:space-between;gap:var(--space-6)}.daily-snippet-editor-card{min-height:calc(100vh - 56px);padding:0;display:grid;gap:0;overflow:hidden}.daily-snippet-step{display:flex;align-items:center;gap:var(--space-4)}.daily-snippet-step>span{width:38px;height:38px;display:grid;flex:0 0 auto;place-items:center;color:var(--text-on-accent);background:var(--interactive-primary-bg);border-radius:var(--radius-circle);font-weight:800}.daily-snippet-editor-card .shadow-editor-shell,.daily-snippet-editor-card .code-editor{width:100%;border-radius:0;overflow:hidden}.daily-snippet-editor-card .shadow-code-layer,.daily-snippet-editor-card .shadow-code-editor .cm-editor,.daily-snippet-editor-card .shadow-code-editor .cm-scroller,.daily-snippet-editor-card .code-editor .cm-editor,.daily-snippet-editor-card .code-editor .cm-scroller{min-height:65vh}.daily-snippet-editor-card .cm-editor.cm-focused{outline-color:transparent;box-shadow:inset 0 2px var(--focus-ring-color)}.daily-snippet-editor-card .shadow-editor-shell.is-complete .cm-editor.cm-focused{box-shadow:inset 0 2px var(--feedback-success-fg)}.daily-snippet-editor-card .shadow-code-layer.has-error{box-shadow:none}.daily-snippet-editor-card .cm-shadow-complete{background:transparent;box-shadow:none}.daily-snippet-editor-card .cm-shadow-remaining{color:var(--text-tertiary);opacity:1}.daily-snippet-editor-card .cm-shadow-mistake{color:var(--feedback-danger-bg);background:var(--feedback-danger-fg);border-radius:var(--radius-sm)}.daily-snippet-recall-surface{position:relative;min-height:65vh}.daily-snippet-recall-peek{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;min-height:65vh;padding:var(--space-8);margin:0;overflow:auto;color:var(--text-primary);background:var(--surface-code);font-family:JetBrains Mono,ui-monospace,monospace;line-height:1.65;white-space:pre-wrap;pointer-events:none}.daily-snippet-submit-error{margin:0;color:var(--feedback-danger-fg)}.daily-snippet-result{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-5)}.daily-snippet-result.is-passed>svg{color:var(--feedback-success-fg)}.daily-snippet-result.is-passed{min-height:100vh;padding:var(--space-8);display:grid;grid-template-columns:1fr;place-content:center;justify-items:center;gap:var(--space-6);text-align:center}.daily-snippet-result.is-passed h2,.daily-snippet-result.is-passed p{margin:0}.daily-snippet-result.is-passed .button{width:320px;max-width:100%;height:64px;color:var(--text-primary)}.daily-snippet-result__next{color:var(--text-secondary);font-size:var(--font-size-md)}.daily-snippet-result__metrics{display:flex;align-items:center;gap:var(--space-8)}.daily-snippet-result__metrics span{display:inline-flex;align-items:center;gap:var(--space-2)}.daily-snippet-result__metrics svg{color:var(--text-secondary)}.daily-snippet-result.is-wrong_answer>svg{color:var(--feedback-warning-fg)}.daily-snippet-comparison{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.daily-snippet-comparison section{min-width:0;overflow:hidden;border:1px solid var(--border-default);border-radius:var(--radius-md)}.daily-snippet-comparison h3{padding:var(--space-3) var(--space-4);margin:0;background:var(--surface-sunken);border-bottom:1px solid var(--border-default);font-size:var(--font-size-sm)}.daily-snippet-comparison pre{min-height:180px;padding:var(--space-5);margin:0;overflow:auto;color:var(--code-operator);background:var(--surface-code);font-family:JetBrains Mono,ui-monospace,monospace;line-height:1.65}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:var(--space-8)}@media(max-width:700px){.daily-snippet-page .section-heading,.daily-snippet-practice-header{align-items:stretch;flex-direction:column}.daily-snippet-current,.daily-snippet-history-list li>a,.daily-snippet-result{grid-template-columns:1fr}.daily-snippet-current>.button,.daily-snippet-actions .button{width:100%}.daily-snippet-setup,.daily-snippet-editor-card,.daily-snippet-result{padding:var(--space-5)}.daily-snippet-history-list .daily-snippet-status{grid-row:1}.daily-snippet-comparison{grid-template-columns:1fr}}.practice-home-page{display:grid;gap:var(--space-6)}.practice-home__header{padding-block:var(--space-4) var(--space-3)}.practice-home__header .page-description{margin-top:var(--space-4)}.practice-home__progress{padding:var(--space-5) var(--space-6);display:flex;flex-wrap:wrap;gap:var(--space-8)}.practice-home__progress>div{min-width:180px;display:grid;gap:var(--space-1)}.practice-home__progress span,.practice-home__action-copy small{color:var(--text-secondary);font-size:var(--font-size-xs)}.practice-home__progress strong{font-size:var(--font-size-xl)}.practice-home__action{padding:var(--space-6);display:flex;align-items:center;justify-content:space-between;gap:var(--space-8)}.practice-home__review{border-color:var(--border-accent);background:var(--surface-accent-subtle)}.practice-home__action-copy{min-width:0}.practice-home__eyebrow{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--text-accent);font-size:var(--font-size-xs);font-weight:800}.practice-home__action h2{margin:var(--space-2) 0 0;font-size:var(--font-size-2xl)}.practice-home__action p{margin:var(--space-2) 0 0;font-size:var(--font-size-lg);font-weight:700}.practice-home__action small{display:block;margin-top:var(--space-1)}.practice-home__complete{padding:var(--space-6);display:flex;align-items:center;gap:var(--space-4)}.practice-home__complete>svg{flex:0 0 auto;color:var(--feedback-success-fg)}.practice-home__complete h2,.practice-home__complete p{margin:0}.practice-home__complete p{margin-top:var(--space-1);color:var(--text-secondary)}.practice-home__complete>a{margin-left:auto;display:inline-flex;align-items:center;gap:var(--space-2);color:var(--text-accent);font-weight:700;text-decoration:none}.practice-problem-card{gap:var(--space-4)}.practice-problem-card__sequence{color:var(--text-secondary);font-family:JetBrains Mono,ui-monospace,monospace;font-size:var(--font-size-xs);font-weight:700}.practice-problem-card__completion{padding:var(--space-1) var(--space-2);display:inline-flex;align-items:center;gap:var(--space-1);border-radius:var(--radius-pill);font-size:var(--font-size-xs);font-weight:800}.practice-problem-card__completion.is-completed{color:var(--feedback-success-fg);background:var(--feedback-success-bg)}.practice-problem-card__completion.is-not_started{color:var(--text-secondary);background:var(--surface-inset)}.practice-problem-card__facts{padding:var(--space-3) 0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4);border-block:1px solid var(--border-default)}.practice-problem-card__facts>div{min-width:0;display:grid;gap:var(--space-1)}.practice-problem-card__facts dt{color:var(--text-secondary);font-size:var(--font-size-2xs)}.practice-problem-card__facts dd{margin:0;display:inline-flex;align-items:center;gap:var(--space-1);overflow-wrap:anywhere;font-size:var(--font-size-xs);font-weight:700}.practice-problem-card__facts dd a{color:var(--text-accent)}.practice-problem-card__facts dd.is-due,.practice-problem-card__facts dd.is-overdue{color:var(--feedback-warning-fg)}.practice-problem-card__facts dd.is-finished{color:var(--feedback-success-fg)}.practice-problem-workspace .problem-workspace__intro>div:first-child>a{display:inline-flex;margin-top:var(--space-4);color:var(--text-accent);font-size:var(--font-size-sm);font-weight:700}.practice-problem-workspace .problem-statement-grid{align-content:start}.practice-problem-workspace .problem-solution-panel .code-editor .cm-editor,.practice-problem-workspace .problem-solution-panel .code-editor .cm-scroller{min-height:460px}@media(max-width:700px){.practice-home__action,.practice-home__complete{align-items:stretch;flex-direction:column}.practice-home__action .button,.practice-home__complete>a{width:100%;margin-left:0;justify-content:center}.practice-problem-card__facts{grid-template-columns:1fr}}.path-summary{min-width:230px;padding:var(--space-5) var(--space-5);display:grid;gap:var(--space-1)}.path-summary span,.path-summary small{color:var(--text-secondary);font-size:var(--font-size-xs)}.current-lesson{padding:var(--space-8);display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-6);border-color:var(--border-accent)}.current-lesson__icon{width:64px;height:64px;display:grid;place-items:center;color:var(--text-accent);background:var(--surface-accent-subtle);border-radius:var(--radius-lg)}.current-lesson h2{margin:var(--space-3) 0 var(--space-2);font-size:var(--font-size-2xl);letter-spacing:-.025em}.current-lesson p{margin:0;color:var(--text-secondary);font-size:var(--font-size-base);line-height:1.6}.current-lesson ul{padding:0;margin:var(--space-4) 0 0;display:flex;flex-wrap:wrap;gap:var(--space-5);list-style:none;font-size:var(--font-size-xs);font-weight:700}.current-lesson li{display:inline-flex;align-items:center;gap:var(--space-1)}.current-lesson li:first-child{color:var(--feedback-success-fg)}.current-lesson__action{display:grid;justify-items:end;gap:var(--space-3)}.current-lesson__action>span{color:var(--text-secondary);font-size:var(--font-size-xs)}.locked-track-section{margin-top:var(--space-1)}.section-title-row{display:flex;align-items:end;justify-content:space-between;gap:var(--space-6)}.section-title-row h2{margin:0;font-size:var(--font-size-xl)}.section-title-row p{margin:var(--space-2) 0 0;color:var(--text-secondary);font-size:var(--font-size-md)}.section-title-row>span{color:var(--text-secondary);font-family:JetBrains Mono,ui-monospace,monospace;font-size:var(--font-size-xs)}.locked-track-grid{margin-top:var(--space-5);display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-3)}.locked-track-card{position:relative;min-height:156px;padding:var(--space-5);display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3);color:var(--text-secondary);text-align:left}.locked-track-card:disabled{cursor:not-allowed}.locked-track-card strong{color:var(--text-primary);font-size:var(--font-size-base)}.locked-track-card small{font-size:var(--font-size-xs)}.locked-track-card__lock{position:absolute;top:20px;right:20px}.lesson-frame h1{margin:0;font-size:var(--font-size-4xl);line-height:1.25;letter-spacing:-.04em}.learning-main>.lesson-frame,.learning-main>.course-lesson{width:min(100%,1120px);margin-inline:auto}.lesson-frame p{margin:var(--space-5) 0 0;color:var(--text-secondary);font-size:var(--font-size-base);line-height:1.7}.lesson-intro{max-width:760px}.lesson-intro--compact{max-width:840px}.lesson-intro .page-eyebrow{margin-bottom:var(--space-3);font-size:var(--font-size-xs)}.concept-progress{padding:0;margin:var(--space-6) 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-2);list-style:none}.concept-progress li{min-height:68px;padding:var(--space-3);display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:var(--space-2);color:var(--text-secondary);background:var(--surface-raised);border:1px solid var(--border-default);border-radius:var(--radius-md)}.concept-progress li>span{width:28px;height:28px;display:grid;place-items:center;border:1px solid var(--border-default);border-radius:var(--radius-pill);font-size:var(--font-size-xs);font-weight:800}.concept-progress li>strong{font-size:var(--font-size-xs);line-height:1.4}.concept-progress li.is-current{color:var(--text-accent);background:var(--surface-accent-subtle);border-color:var(--border-accent)}.concept-progress li.is-current>span{color:var(--text-on-accent);background:var(--interactive-primary-bg);border-color:var(--border-accent)}.concept-progress li.is-complete{color:var(--feedback-success-fg);border-color:#246b2a4d}.concept-section{margin-top:var(--space-6)}.concept-section__header>span{color:var(--text-accent);font-family:JetBrains Mono,ui-monospace,monospace;font-size:var(--font-size-xs);font-weight:800}.concept-section__header h2{margin:var(--space-2) 0 0;font-size:var(--font-size-2xl);letter-spacing:-.03em}.concept-section__header p{margin:var(--space-2) 0 0;font-size:var(--font-size-md)}.animation-panel{margin-top:var(--space-6);overflow:hidden}.animation-panel>header,.code-panel>header,.comparison-panel>header,.test-console>header,.tick-visualization>header{min-height:58px;padding:0 var(--space-5);display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);border-bottom:1px solid var(--border-default)}.animation-panel>header span,.code-panel>header span,.comparison-panel>header span,.test-console>header span,.tick-visualization>header span{color:var(--text-secondary);font-family:JetBrains Mono,ui-monospace,monospace;font-size:var(--font-size-xs);font-weight:700}.animation-panel>header h2,.animation-panel>header h3{margin:var(--space-1) 0 0;font-size:var(--font-size-base)}.animation-panel>header>strong{color:var(--text-accent);font-family:JetBrains Mono,ui-monospace,monospace;font-size:var(--font-size-sm)}.player-viewport{min-height:258px;padding:var(--space-16) var(--space-12);display:grid;grid-template-columns:repeat(4,1fr);align-items:center;gap:var(--space-4);background:var(--surface-sunken)}.player-node{position:relative;min-height:108px;display:grid;place-content:center;gap:var(--space-1);text-align:center;background:var(--surface-raised);border:1px solid var(--border-default);border-radius:var(--radius-lg)}.player-node:not(:last-child):after{content:"";position:absolute;top:50%;right:-17px;width:17px;height:1px;background:var(--border-default)}.player-node span{font-family:JetBrains Mono,ui-monospace,monospace;font-size:var(--font-size-lg);font-weight:800}.player-node>svg{margin-inline:auto;color:var(--text-secondary)}.player-node.is-current>svg,.player-node.is-visited>svg{color:currentColor}.player-node small{color:var(--text-secondary);font-size:var(--font-size-xs)}.player-node.is-current{color:var(--text-accent);background:var(--surface-accent-subtle);border-color:var(--border-accent);box-shadow:var(--ring-soft)}.player-node.is-visited{color:var(--feedback-success-fg);background:var(--feedback-success-bg);border-color:#246b2a4d}.animation-controls{min-height:68px;padding:var(--space-3) var(--space-5);display:flex;align-items:center;gap:var(--space-2);border-top:1px solid var(--border-default)}.animation-controls .button{min-width:0}.animation-controls .button>span,.code-panel .button>span{display:inline-flex;align-items:center;gap:var(--space-2)}.animation-controls>span{margin-left:auto;color:var(--text-secondary);font-size:var(--font-size-xs)}.key-concept{margin-top:var(--space-5);padding:var(--space-5) var(--space-6);display:flex;gap:var(--space-4);color:var(--feedback-success-fg);background:var(--feedback-success-bg);border-radius:var(--radius-md)}.key-concept p{margin:var(--space-1) 0 0;color:var(--text-primary);font-size:var(--font-size-base)}.checkpoint-card{margin-top:var(--space-6);padding:var(--space-6);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-5) var(--space-8)}.checkpoint-card>div>span{color:var(--text-accent);font-size:var(--font-size-xs);font-weight:800}.checkpoint-card h2,.checkpoint-card h3{margin:var(--space-2) 0 0;font-size:var(--font-size-lg)}.checkpoint-card fieldset{padding:0;display:flex;gap:var(--space-2);border:0}.checkpoint-card label{min-height:44px;padding:0 var(--space-4);display:flex;align-items:center;gap:var(--space-2);background:var(--surface-sunken);border:1px solid var(--border-default);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:700;cursor:pointer}.checkpoint-card label:has(input:checked){color:var(--text-accent);background:var(--surface-accent-subtle);border-color:var(--border-accent)}.checkpoint-card .button{grid-column:2;justify-self:end}.checkpoint-success{grid-column:1 / -1;margin:0!important;display:flex;align-items:center;gap:var(--space-2);color:var(--feedback-success-fg)!important;font-size:var(--font-size-sm)!important;font-weight:700}.checkpoint-error{color:var(--feedback-danger-fg)}.concept-feedback{margin:var(--space-4) 0 0!important;padding:var(--space-4) var(--space-4);display:flex;align-items:center;gap:var(--space-2);background:var(--feedback-success-bg);border-radius:var(--radius-md);font-size:var(--font-size-sm)!important;font-weight:700}.concept-feedback.checkpoint-error{color:var(--feedback-danger-fg)!important;background:var(--feedback-danger-bg)}.complexity-card{margin-top:var(--space-5);overflow-x:auto}.complexity-card table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.complexity-card caption{padding:var(--space-5) var(--space-5);text-align:left;font-weight:800}.complexity-card th,.complexity-card td{padding:var(--space-4) var(--space-5);text-align:left;border-top:1px solid var(--border-default)}.complexity-card th{color:var(--text-secondary);background:var(--surface-sunken);font-size:var(--font-size-xs)}.complexity-card td:nth-child(2){color:var(--text-accent);font-weight:800;white-space:nowrap}.container-grid,.server-concern-grid{margin-top:var(--space-5);display:grid;gap:var(--space-3)}.container-grid{grid-template-columns:repeat(2,1fr)}.container-card,.server-concern-card{padding:var(--space-5)}.container-card>span{color:var(--text-accent);font-family:JetBrains Mono,ui-monospace,monospace;font-size:var(--font-size-xs);font-weight:800}.container-card>strong,.server-concern-card>strong{margin-top:var(--space-2);display:block;font-size:var(--font-size-base)}.container-card p,.server-concern-card p{margin:var(--space-2) 0 0;font-size:var(--font-size-sm);line-height:1.6}.server-concern-grid{grid-template-columns:repeat(5,1fr)}.server-concern-card{min-height:154px}.server-concern-card>strong{color:var(--text-accent);font-family:JetBrains Mono,ui-monospace,monospace;font-size:var(--font-size-sm)}.explanation-checkpoint{margin-top:var(--space-5);padding:var(--space-5);display:grid;gap:var(--space-4)}.explanation-checkpoint label{font-size:var(--font-size-base);font-weight:800}.explanation-checkpoint textarea{width:100%;min-height:120px;padding:var(--space-4) var(--space-4);resize:vertical;color:var(--text-primary);background:var(--surface-raised);border:1px solid var(--border-control);border-radius:var(--radius-md);line-height:1.6}.explanation-checkpoint .button{justify-self:end}.engineer-note{margin-top:var(--space-5);padding:0 var(--space-5)}.engineer-note summary{min-height:54px;display:flex;align-items:center;font-size:var(--font-size-md);font-weight:800;cursor:pointer}.engineer-note p{margin:0 0 var(--space-5);font-size:var(--font-size-md)}.lesson-footer{margin-top:var(--space-8);padding-top:var(--space-6);display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);border-top:1px solid var(--border-default)}.lesson-footer>span{color:var(--text-secondary);font-size:var(--font-size-sm)}.editor-workspace{margin-top:var(--space-8)}.editor-workspace.has-comparison{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:var(--space-4)}.code-panel{overflow:hidden}.code-panel>header span,.test-console>header>span{display:inline-flex;align-items:center;gap:var(--space-2)}.code-panel>header small{color:var(--text-secondary);font-size:var(--font-size-xs)}.code-panel textarea{width:100%;min-height:310px;padding:var(--space-5) var(--space-6);display:block;resize:vertical;color:var(--code-operator);background:var(--surface-code);border:0;border-radius:0;font-family:JetBrains Mono,ui-monospace,monospace;font-size:var(--font-size-md);line-height:1.7;-moz-tab-size:4;tab-size:4}.code-editor{background:var(--surface-code)}.code-editor .cm-editor,.code-editor .cm-scroller{min-height:310px}.code-editor .cm-editor{border-radius:0}.shadow-editor-shell{background:var(--surface-code)}.shadow-metrics{min-height:44px;padding:0 var(--space-6);display:flex;align-items:center;gap:var(--space-5);color:var(--text-tertiary);background:#ffffff0a;border-bottom:1px solid rgb(255 255 255 / 10%);font-family:JetBrains Mono,ui-monospace,monospace;font-size:var(--font-size-xs)}.shadow-code-layer{position:relative;min-height:310px;overflow:auto;background:var(--surface-code);box-shadow:inset 0 0 0 2px transparent;transition:box-shadow var(--duration-fast) var(--ease-standard)}.shadow-code-layer.has-error{box-shadow:inset 0 0 0 2px var(--feedback-danger-fg)}.shadow-code-editor .cm-editor,.shadow-code-editor .cm-scroller{min-height:310px}.shadow-code-editor .cm-editor{border-radius:0}.shadow-code-editor .cm-shadow-complete{background:#8fd6941a;box-shadow:inset 0 -2px var(--code-string)}.shadow-code-editor .cm-shadow-current{background:var(--interactive-primary-bg);box-shadow:0 0 0 2px var(--interactive-primary-bg)}.shadow-code-editor .cm-shadow-remaining{opacity:.9}.shadow-code-editor .cm-shadow-mistake{color:var(--code-error);white-space:pre}.shadow-code-editor .cm-shadow-mistake--space,.shadow-code-editor .cm-shadow-mistake--line-break{display:inline-block;color:transparent;background:#ff8a8052;border-radius:var(--radius-sm)}.shadow-live-status{min-height:36px;padding:var(--space-2) var(--space-6);margin:0;color:var(--text-tertiary);border-top:1px solid rgb(255 255 255 / 10%);font-size:var(--font-size-xs)}.code-panel>footer{min-height:68px;padding:var(--space-3) var(--space-4) var(--space-3) var(--space-5);display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);border-top:1px solid var(--border-default)}.code-panel>footer>span{color:var(--text-secondary);font-size:var(--font-size-xs)}.comparison-panel pre{min-height:188px;padding:var(--space-5);margin:0;overflow-x:auto;color:var(--text-primary);background:var(--surface-accent-subtle);font-family:JetBrains Mono,ui-monospace,monospace;font-size:var(--font-size-base);line-height:1.65}.comparison-panel p{padding:var(--space-5) var(--space-5);margin:0;font-size:var(--font-size-base)}.test-console{margin-top:var(--space-4);overflow:hidden}.test-console>header strong{color:var(--text-secondary);font-size:var(--font-size-xs)}.test-console>header strong.is-passed{color:var(--feedback-success-fg)}.fixture-list{display:grid;grid-template-columns:repeat(3,1fr)}.fixture-list>div{min-height:76px;padding:var(--space-4) var(--space-5);display:grid;grid-template-columns:20px 1fr;align-content:center;gap:var(--space-1) var(--space-2);border-right:1px solid var(--border-default)}.fixture-list>div:last-child{border-right:0}.fixture-list svg{grid-row:1 / 3;color:var(--feedback-success-fg)}.fixture-list>div>span{grid-row:1 / 3;width:10px;height:10px;margin:var(--space-2) var(--space-1);background:var(--border-default);border-radius:var(--radius-pill)}.fixture-list strong{font-size:var(--font-size-sm)}.fixture-list small{color:var(--text-secondary);font-size:var(--font-size-xs)}.independent-badge{width:fit-content;margin-bottom:var(--space-4);padding:var(--space-2) var(--space-3);display:inline-flex;align-items:center;gap:var(--space-2);color:var(--text-secondary);background:var(--surface-inset);border-radius:var(--radius-pill);font-size:var(--font-size-xs);font-weight:800}.problem-layout{margin-top:var(--space-8);display:grid;grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr);gap:var(--space-4)}.problem-detail-page,.problem-workspace{display:grid}.problem-workspace{grid-template-columns:minmax(340px,42fr) minmax(0,58fr);gap:0;border:1px solid var(--border-default)}.problem-workspace__intro{grid-column:1;grid-row:1;padding:var(--space-6);display:flex;align-items:end;justify-content:space-between;gap:var(--space-8);border-right:1px solid var(--border-default);border-bottom:1px solid var(--border-default)}.problem-workspace__intro h1{margin:0;font-size:var(--font-size-4xl);line-height:1.25;letter-spacing:-.035em}.problem-workspace__intro>div:first-child>p:last-child{max-width:720px;margin:var(--space-3) 0 0;color:var(--text-secondary);line-height:1.7}.problem-language-control{display:grid;gap:var(--space-2)}.problem-language-control>span{color:var(--text-secondary);font-size:var(--font-size-xs);font-weight:700}.problem-statement-grid{grid-column:1;grid-row:2;display:grid;grid-template-columns:minmax(0,1fr);gap:0;border-right:1px solid var(--border-default)}.problem-reference-card{padding:var(--space-6)}.problem-statement-grid>.surface{background:transparent;border:0;border-bottom:1px solid var(--border-default);border-radius:0}.problem-reference-card h2{margin:0;font-size:var(--font-size-base)}.problem-reference-card ul{padding-left:var(--space-5);margin:var(--space-5) 0 0;display:grid;gap:var(--space-2);color:var(--text-secondary);font-size:var(--font-size-base);line-height:1.6}.problem-example{margin:var(--space-5) 0 0;display:grid;gap:var(--space-3)}.problem-example>div{display:grid;grid-template-columns:42px minmax(0,1fr);gap:var(--space-3)}.problem-example dt{color:var(--text-secondary);font-size:var(--font-size-2xs);font-weight:700}.problem-example dd{margin:0;overflow-wrap:anywhere;font-family:JetBrains Mono,ui-monospace,monospace;font-size:var(--font-size-xs);line-height:1.55}.problem-example__note dd{font-family:inherit;font-size:var(--font-size-base)}.problem-solution-panel .code-editor .cm-editor,.problem-solution-panel .code-editor .cm-scroller{min-height:380px}.problem-solution-panel{grid-column:2;grid-row:1 / span 2}.problem-workspace>.problem-solution-panel{border:0;border-radius:0}.problem-workspace>.ai-tutor-panel,.problem-workspace>.complexity-evidence,.problem-workspace>.hint-panel,.problem-workspace>.submission-success,.problem-workspace>.solution-explanation,.problem-workspace>.lesson-footer{grid-column:1 / -1;margin:var(--space-5)}.problem-run-actions>div{display:flex;gap:var(--space-2)}.problem-run-actions .button{min-width:0}.complexity-evidence{padding:var(--space-5);display:grid;grid-template-columns:minmax(190px,.65fr) repeat(2,minmax(0,1fr));align-items:start;gap:var(--space-5)}.complexity-evidence>div>span{color:var(--text-accent);font-family:JetBrains Mono,ui-monospace,monospace;font-size:var(--font-size-2xs);font-weight:800}.complexity-evidence>div>strong{margin-top:var(--space-2);display:block;font-family:JetBrains Mono,ui-monospace,monospace;font-size:var(--font-size-md)}.complexity-evidence p{margin:var(--space-2) 0 0;color:var(--text-secondary);font-size:var(--font-size-xs);line-height:1.55}.complexity-evidence fieldset{min-width:0;padding:0;display:grid;gap:var(--space-2);border:0}.complexity-evidence__actions{grid-column:2 / -1;display:flex;justify-content:flex-end}.complexity-evidence legend{padding:0;font-size:var(--font-size-xs);font-weight:800}.complexity-evidence select{width:100%;min-height:44px;padding:var(--space-3) var(--space-4);color:var(--text-primary);background:var(--surface-raised);border:1px solid var(--border-control);border-radius:var(--radius-md);font-size:var(--font-size-sm)}.complexity-evidence .complexity-feedback{margin:0;font-size:var(--font-size-xs);font-weight:700}.complexity-evidence .complexity-feedback.is-error{color:var(--feedback-danger-fg)}.run-result{min-height:54px;padding:var(--space-4) var(--space-5);display:flex;align-items:center;gap:var(--space-3);color:var(--text-secondary);background:var(--surface-inset);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:700}.run-result small{margin-left:auto;font-weight:500}.run-result--passed{color:var(--feedback-success-fg);background:var(--feedback-success-bg)}.run-result--compile_error,.run-result--runtime_error,.run-result--wrong_answer,.run-result--time_limit,.run-result--memory_limit,.run-result--output_limit,.run-result--timed_out,.run-result--unavailable{color:var(--feedback-danger-fg);background:var(--feedback-danger-bg)}.solution-explanation{padding:var(--space-5);color:var(--text-secondary);background:var(--surface-sunken)}.solution-explanation>p{margin:0;display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm)}.solution-explanation.is-open{color:var(--text-primary);background:var(--surface-raised)}.solution-explanation h2,.solution-explanation h3{margin:0}.solution-explanation h2{font-size:var(--font-size-lg)}.solution-explanation h3{margin-top:var(--space-5);font-size:var(--font-size-base)}.solution-explanation.is-open>p{margin-top:var(--space-2);display:block;line-height:1.65}.solution-explanation aside{margin-top:var(--space-5);padding:var(--space-4);color:var(--text-accent);background:var(--surface-accent-subtle);border-radius:var(--radius-md)}.solution-explanation aside p{margin:var(--space-2) 0 0;color:var(--text-primary);font-size:var(--font-size-sm);line-height:1.6}.content-error{max-width:720px;padding:var(--space-10)}.content-error h1{margin:0;font-size:var(--font-size-3xl)}.content-error p{margin:var(--space-3) 0 var(--space-6);color:var(--text-secondary);line-height:1.7}.problem-brief{padding:var(--space-6)}.problem-brief h2{margin:0;font-size:var(--font-size-base)}.problem-brief ol{padding-left:var(--space-5);margin:var(--space-5) 0 0;display:grid;gap:var(--space-3);color:var(--text-secondary);font-size:var(--font-size-base);line-height:1.55}.constraint-list{margin-top:var(--space-6);padding-top:var(--space-5);display:grid;gap:var(--space-2);color:var(--text-secondary);border-top:1px solid var(--border-default);font-family:JetBrains Mono,ui-monospace,monospace;font-size:var(--font-size-xs)}.problem-layout .code-panel textarea{min-height:340px}.hint-panel{margin-top:var(--space-4);padding:var(--space-5) var(--space-5)}.hint-panel>div{display:flex;align-items:flex-start;gap:var(--space-3)}.hint-panel>div>svg{color:var(--feedback-warning-fg)}.hint-panel p{margin:var(--space-1) 0 0;font-size:var(--font-size-xs)}.hint-panel ol{margin:var(--space-5) 0;display:grid;gap:var(--space-2);color:var(--text-secondary);font-size:var(--font-size-sm);line-height:1.55}.ai-tutor-panel__notice{margin:var(--space-5) 0 0;display:flex;align-items:center;gap:var(--space-2);color:var(--text-secondary)}.ai-tutor-panel__answer{margin:var(--space-5) 0;padding-top:var(--space-5);display:block!important;border-top:1px solid var(--border-default)}.ai-tutor-panel__answer p{margin-top:var(--space-2);color:var(--text-secondary);font-size:var(--font-size-sm);line-height:1.65}.submission-success{margin-top:var(--space-4);padding:var(--space-5) var(--space-5);display:flex;gap:var(--space-3);color:var(--feedback-success-fg);background:var(--feedback-success-bg);border-radius:var(--radius-md)}.submission-success p{margin:var(--space-1) 0 0;font-size:var(--font-size-xs)}.server-scenario-grid{margin-top:var(--space-8);display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:var(--space-4)}.server-cost-model{margin-top:var(--space-8);overflow:hidden}.server-cost-model>header{min-height:76px;padding:var(--space-4) var(--space-5);display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);border-bottom:1px solid var(--border-default)}.server-cost-model>header span{color:var(--text-accent);font-family:JetBrains Mono,ui-monospace,monospace;font-size:var(--font-size-2xs);font-weight:800}.server-cost-model>header h2{margin:var(--space-1) 0 0;font-size:var(--font-size-lg)}.server-cost-model>header small{color:var(--text-secondary);white-space:nowrap}.server-cost-table-wrap{overflow-x:auto}.server-cost-model table{width:100%;min-width:720px;border-collapse:collapse;text-align:left}.server-cost-model th,.server-cost-model td{padding:var(--space-4) var(--space-5);border-top:1px solid var(--border-default);font-size:var(--font-size-xs);line-height:1.55}.server-cost-model thead th{color:var(--text-secondary);background:var(--surface-sunken)}.server-cost-model tbody th{color:var(--text-accent);font-family:JetBrains Mono,ui-monospace,monospace;white-space:nowrap}.engineer-note__grid{padding-bottom:var(--space-5);display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3)}.engineer-note__grid>div{padding:var(--space-4);background:var(--surface-sunken);border-radius:var(--radius-md)}.engineer-note__grid strong{color:var(--text-accent);font-family:JetBrains Mono,ui-monospace,monospace;font-size:var(--font-size-xs)}.engineer-note__grid p{margin:var(--space-2) 0 0;color:var(--text-secondary);font-size:var(--font-size-xs);line-height:1.6}.not-found-state{max-width:720px;padding:var(--space-12)}.app-main>.not-found-state{background:transparent;border:0;border-radius:0}.not-found-state>svg{margin-bottom:var(--space-5);color:var(--text-accent)}.not-found-state h1{margin:0;font-size:var(--font-size-4xl);letter-spacing:-.035em}.not-found-state>p:not(.page-eyebrow){margin:var(--space-3) 0 var(--space-6);color:var(--text-secondary);line-height:1.7}.not-found-state>div{display:flex;gap:var(--space-3)}.scenario-brief{padding:var(--space-5);display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3)}.scenario-stat{min-height:100px;padding:var(--space-4);display:grid;align-content:space-between;color:var(--text-accent);background:var(--surface-accent-subtle);border-radius:var(--radius-md)}.scenario-stat span{color:var(--text-secondary);font-size:var(--font-size-xs)}.scenario-stat strong{color:var(--text-primary);font-family:JetBrains Mono,ui-monospace,monospace;font-size:var(--font-size-base)}.mutation-warning{grid-column:1 / -1;padding:var(--space-4);display:flex;gap:var(--space-3);color:var(--feedback-warning-fg);background:var(--feedback-warning-bg);border-radius:var(--radius-md)}.mutation-warning p{margin:0;color:var(--feedback-warning-fg);font-size:var(--font-size-base);line-height:1.55}.strategy-picker{padding:var(--space-5);display:grid;gap:var(--space-3)}.strategy-picker legend{padding:0 var(--space-1);font-size:var(--font-size-md);font-weight:800}.strategy-picker label{min-height:76px;padding:var(--space-4) var(--space-4);display:flex;align-items:flex-start;gap:var(--space-3);background:var(--surface-sunken);border:1px solid var(--border-default);border-radius:var(--radius-md);cursor:pointer}.strategy-picker label:has(input:checked){background:var(--surface-accent-subtle);border-color:var(--border-accent)}.strategy-picker label>span{display:grid;gap:var(--space-1)}.strategy-picker small{color:var(--text-secondary);font-size:var(--font-size-xs);line-height:1.45}.strategy-picker .button{justify-self:end;margin-top:var(--space-2)}.tick-visualization{margin-top:var(--space-4);overflow:hidden}.tick-visualization>header>div{display:grid;gap:var(--space-1)}.tick-visualization>header>div>strong{font-size:var(--font-size-base)}.measurement-badge{display:inline-flex;gap:var(--space-2)}.measurement-badge strong{color:var(--text-primary)}.tick-visualization ol{padding:var(--space-8);margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-3);list-style:none;background:var(--surface-sunken)}.tick-visualization li{min-height:78px;display:grid;place-content:center;gap:var(--space-1);text-align:center;background:var(--surface-raised);border:1px solid var(--border-default);border-radius:var(--radius-md)}.tick-visualization li.is-complete,.tick-visualization li.is-deferred{color:var(--feedback-success-fg);background:var(--feedback-success-bg)}.tick-visualization li.is-danger{color:var(--feedback-danger-fg);background:var(--feedback-danger-bg);border-color:var(--feedback-danger-fg)}.tick-visualization li span{font-family:JetBrains Mono,ui-monospace,monospace;font-weight:800}.tick-visualization li small{font-size:var(--font-size-xs)}.tick-visualization>p{padding:var(--space-4) var(--space-5);margin:0;display:flex;align-items:center;gap:var(--space-2);color:var(--feedback-danger-fg);font-size:var(--font-size-sm)}.tick-visualization.is-safe>p{color:var(--feedback-success-fg)}.result-page{display:grid;gap:0}.result-page>.result-hero{padding:var(--space-10) 0;background:transparent;border:0;border-bottom:1px solid var(--border-default);border-radius:0;text-align:center}.result-hero__icon{width:68px;height:68px;margin:0 auto var(--space-5);display:grid;place-items:center;color:var(--feedback-success-fg);background:var(--feedback-success-bg);border-radius:var(--radius-pill)}.result-hero h1{margin:0;font-size:var(--font-size-4xl);letter-spacing:-.035em}.result-hero>p:not(.page-eyebrow){max-width:620px;margin:var(--space-3) auto 0;color:var(--text-secondary);line-height:1.65}.result-actions{margin-top:var(--space-6);display:flex;justify-content:center;gap:var(--space-3)}.result-grid{display:grid;grid-template-columns:1fr;gap:0}.result-grid>.mastery-card,.result-grid>.evidence-card{padding:var(--space-6) 0;background:transparent;border:0;border-bottom:1px solid var(--border-default);border-radius:0}.mastery-card header{display:flex;align-items:end;justify-content:space-between}.mastery-card header span,.evidence-card>span{color:var(--text-secondary);font-size:var(--font-size-xs);font-weight:700}.mastery-card h2{margin:var(--space-1) 0 0;font-size:var(--font-size-xl)}.mastery-card header>strong{color:var(--text-accent);font-family:JetBrains Mono,ui-monospace,monospace}.mastery-card ol{padding:0;margin:var(--space-6) 0 0;display:grid;grid-template-columns:repeat(6,1fr);gap:var(--space-2);list-style:none}.mastery-card li{min-height:68px;display:grid;place-items:center;align-content:center;gap:var(--space-2);color:var(--text-secondary);background:var(--surface-sunken);border-radius:var(--radius-md);font-size:var(--font-size-xs)}.mastery-card li span{width:24px;height:24px;display:grid;place-items:center;border:1px solid var(--border-default);border-radius:var(--radius-pill)}.mastery-card li.is-earned{color:var(--feedback-success-fg);background:var(--feedback-success-bg);font-weight:700}.mastery-card li.is-earned span{color:var(--text-on-accent);background:var(--feedback-success-fg);border-color:var(--feedback-success-fg)}.evidence-card ul{padding:0;margin:var(--space-5) 0 0;display:grid;gap:var(--space-4);list-style:none}.evidence-card li{display:flex;gap:var(--space-2);color:var(--text-secondary);font-size:var(--font-size-base);line-height:1.5}.evidence-card li svg{flex:0 0 auto;color:var(--feedback-success-fg)}.result-page>.retention-card{padding:var(--space-5) 0;display:flex;align-items:center;gap:var(--space-4);background:transparent;border:0;border-bottom:1px solid var(--border-default);border-radius:0}.retention-card>svg:first-child{color:var(--text-accent)}.retention-card p{margin:var(--space-1) 0 0;color:var(--text-secondary);font-size:var(--font-size-xs)}.retention-card>svg:last-child{margin-left:auto}.settings-page,.profile-page,.lab-page{display:grid;gap:var(--space-5)}.settings-section{overflow:hidden}.settings-page>.settings-section{background:transparent;border-right:0;border-left:0;border-radius:0}.settings-section>header{min-height:74px;padding:var(--space-4) var(--space-5);display:flex;align-items:center;gap:var(--space-3);background:transparent;border-bottom:1px solid var(--border-default)}.settings-section>header>svg{color:var(--text-accent)}.settings-section h2{margin:0;font-size:var(--font-size-base)}.settings-section header p{margin:var(--space-1) 0 0;color:var(--text-secondary);font-size:var(--font-size-xs)}.setting-row{min-height:82px;padding:var(--space-4) var(--space-5);display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);border-bottom:1px solid var(--border-default)}.setting-row:last-child{border-bottom:0}.setting-row>div:first-child{display:grid;gap:var(--space-1)}.setting-row span{color:var(--text-secondary);font-size:var(--font-size-xs)}.settings-saved{margin:0;padding:var(--space-4) var(--space-5);display:flex;align-items:center;gap:var(--space-2);color:var(--feedback-success-fg);background:var(--feedback-success-bg);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:700}.profile-header{padding:var(--space-4) 0 var(--space-6);display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:var(--space-5);border-bottom:1px solid var(--border-default);color:var(--text-primary)}.profile-avatar{width:66px;height:66px;display:grid;place-items:center;color:var(--text-primary);background:var(--surface-raised);border-radius:var(--radius-pill);font-family:JetBrains Mono,ui-monospace,monospace;font-weight:800}.profile-header>div:nth-child(2)>span{color:var(--text-secondary);font-size:var(--font-size-xs)}.profile-header h1{margin:var(--space-1) 0;font-size:var(--font-size-2xl)}.profile-header p{margin:0;color:var(--text-secondary);font-size:var(--font-size-sm)}.evidence-summary-card{padding:var(--space-6) 0;border-bottom:1px solid var(--border-default)}.evidence-summary-card>header{display:flex;align-items:flex-start;justify-content:space-between;color:var(--text-accent)}.evidence-summary-card header span{color:var(--text-secondary);font-family:JetBrains Mono,ui-monospace,monospace;font-size:var(--font-size-xs)}.evidence-summary-card h2{margin:var(--space-1) 0 0;color:var(--text-primary);font-size:var(--font-size-lg)}.evidence-summary-card ul{padding:0;margin:var(--space-6) 0 0;display:grid;gap:var(--space-4);list-style:none}.evidence-summary-card li{display:flex;gap:var(--space-3)}.evidence-summary-card li>svg{flex:0 0 auto;color:var(--feedback-success-fg)}.evidence-summary-card li>div{display:grid;gap:var(--space-1)}.evidence-summary-card li strong{font-size:var(--font-size-sm)}.evidence-summary-card li span{color:var(--text-secondary);font-size:var(--font-size-xs)}.next-learning-card{padding:var(--space-6) 0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-5)}.profile-page>.next-learning-card{background:transparent;border:0;border-bottom:1px solid var(--border-default);border-radius:0}.next-learning-card__icon{width:56px;height:56px;display:grid;place-items:center;color:var(--text-accent);background:var(--surface-accent-subtle);border-radius:var(--radius-md)}.next-learning-card span{color:var(--text-accent);font-size:var(--font-size-xs);font-weight:800}.next-learning-card h2{margin:var(--space-1) 0;font-size:var(--font-size-lg)}.next-learning-card p{margin:0;color:var(--text-secondary);font-size:var(--font-size-xs)}.profile-account-card{padding:var(--space-5) 0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-4)}.profile-page>.profile-account-card{background:transparent;border:0;border-bottom:1px solid var(--border-default);border-radius:0}.profile-account-card__icon{width:44px;height:44px;display:grid;place-items:center;color:var(--text-accent);background:var(--surface-accent-subtle);border-radius:var(--radius-md)}.profile-account-card h2,.profile-account-card p{margin:0}.profile-account-card h2{font-size:var(--font-size-base)}.profile-account-card p{margin-top:var(--space-1);color:var(--text-secondary);font-size:var(--font-size-xs)}.profile-account-card .profile-account-card__error{color:var(--feedback-danger-fg);font-weight:700}.lab-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-6)}.lab-title-row h1{margin:0;max-width:760px;font-size:var(--font-size-3xl);letter-spacing:-.035em}.lab-title-row>div>p:last-child{margin:var(--space-3) 0 0;color:var(--text-secondary);font-size:var(--font-size-md)}.lab-view-tabs{display:none}.lab-workspace{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:var(--space-4)}.lab-code-panel,.lab-workspace-state-panel,.lab-log-panel{overflow:hidden}.lab-code-panel>header,.lab-workspace-state-panel>header,.lab-log-panel>header{min-height:56px;padding:0 var(--space-5);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);border-bottom:1px solid var(--border-default)}.lab-code-panel>header>span,.lab-log-panel>header>strong{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-xs)}.lab-code-panel>header small,.lab-workspace-state-panel>header span,.lab-log-panel>header span{color:var(--text-secondary);font-size:var(--font-size-xs)}.lab-code-panel pre{min-height:310px;padding:var(--space-5);margin:0;overflow:auto;color:var(--code-operator);background:var(--surface-code);font-family:JetBrains Mono,ui-monospace,monospace;font-size:var(--font-size-base);line-height:1.7}.lab-code-panel aside{min-height:58px;padding:var(--space-3) var(--space-5);display:flex;align-items:center;gap:var(--space-3);color:var(--feedback-warning-fg);background:var(--feedback-warning-bg);font-size:var(--font-size-xs)}.lab-code-panel aside span{color:var(--text-secondary)}.lab-workspace-state-panel>header>div{display:grid;gap:var(--space-1)}.lab-workspace-state-panel>header>div>span{font-family:JetBrains Mono,ui-monospace,monospace}.lab-workspace-state-panel>header>div>strong{font-size:var(--font-size-md)}.lab-server-map{min-height:310px;padding:var(--space-8);display:grid;grid-template-columns:repeat(2,1fr);align-content:center;gap:var(--space-3);background:var(--surface-sunken)}.lab-server-map>div{min-height:94px;display:grid;place-content:center;gap:var(--space-1);text-align:center;background:var(--surface-raised);border:1px solid var(--border-default);border-radius:var(--radius-md)}.lab-server-map>div.is-queued{color:var(--feedback-warning-fg);background:var(--feedback-warning-bg);border-color:var(--feedback-warning-fg)}.lab-server-map strong{font-family:JetBrains Mono,ui-monospace,monospace}.lab-server-map span{color:var(--text-secondary);font-size:var(--font-size-xs)}.lab-control-bar{min-height:58px;padding:var(--space-2) var(--space-4);display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);border-top:1px solid var(--border-default)}.lab-control-bar .button{min-width:44px;padding:0 var(--space-3)}.lab-control-bar .button>span{display:grid;place-items:center}.lab-lower-grid{display:grid;grid-template-columns:minmax(260px,.65fr) minmax(0,1.35fr);gap:var(--space-4)}.fault-panel{padding:var(--space-5);display:grid;gap:var(--space-5)}.fault-panel>header{display:flex;gap:var(--space-3);color:var(--feedback-danger-fg)}.fault-panel>header>div{display:grid;gap:var(--space-1)}.fault-panel header span{color:var(--text-secondary);font-size:var(--font-size-xs)}.lab-log-panel>header{justify-content:flex-start}.lab-log-panel>header>span{margin-left:auto}.lab-log-panel ol{max-height:190px;padding:var(--space-3) var(--space-5);margin:0;overflow-y:auto;display:grid;gap:var(--space-2);color:var(--code-text-dim);background:var(--surface-code);list-style:none;font-family:JetBrains Mono,ui-monospace,monospace;font-size:var(--font-size-xs)}.lab-log-panel li{display:flex;gap:var(--space-3)}.lab-log-panel li span{color:var(--text-accent)}.course-lesson{display:grid;gap:var(--space-8)}.course-lesson>.page-eyebrow,.course-lesson>h1,.course-lesson__summary,.course-lesson__lead h2,.course-lesson__lead p,.course-lesson__lead strong,.course-lesson__grid h2,.course-lesson__grid dl,.course-lesson__grid ul{margin:0}.course-lesson>.page-eyebrow{color:var(--text-accent)}.course-lesson>h1{font-size:clamp(34px,4vw,48px)}.course-lesson__summary{color:var(--text-secondary);font-size:var(--font-size-lg);line-height:1.7}.course-lesson__lead,.course-lesson__grid>section{padding:var(--space-8)}.course-lesson>.course-lesson__lead,.course-lesson__grid>section{background:transparent;border-right:0;border-left:0;border-radius:0}.course-lesson__lead{display:grid;gap:var(--space-4);border-color:var(--border-accent)}.course-lesson__lead p,.course-lesson__grid dd,.course-lesson__grid li{color:var(--text-secondary);line-height:1.7}.course-lesson__lead strong{display:flex;align-items:center;gap:var(--space-2);color:var(--text-accent)}.course-lesson__grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:var(--space-4)}.course-lesson__grid>section{display:grid;align-content:start;gap:var(--space-5)}.course-lesson__grid dl{display:grid;gap:var(--space-4)}.course-lesson__grid dl>div{display:grid;gap:var(--space-2)}.course-lesson__grid dt{color:var(--text-accent);font-weight:800}.course-lesson__grid dd{margin:0}.course-lesson__grid ul{padding-left:var(--space-5)}.course-problem{display:grid;gap:var(--space-5)}.course-progress-error,.course-review-result,.course-review-due{margin:0;padding:var(--space-5) var(--space-5)}.course-progress-error{color:var(--feedback-danger-fg);border:1px solid var(--feedback-danger-fg)}.course-review-result{color:var(--feedback-success-fg);border:1px solid var(--feedback-success-fg)}.course-review-due{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5)}.course-review-due p{margin:0;color:var(--text-secondary)}.course-history{width:min(100%,1080px);margin-inline:auto}.course-history>header{display:grid;grid-template-columns:1fr auto;align-items:end;gap:var(--space-3) var(--space-8)}.course-history>header p,.course-history>header h1{margin:0}.course-history>header p{grid-column:1 / -1;color:var(--text-secondary)}.course-history>header h1{font-size:clamp(36px,4vw,50px)}.course-history>header a{color:var(--text-accent);font-weight:800}.course-history>ol{padding:0;margin:var(--space-10) 0 0;display:grid;list-style:none;border-top:1px solid var(--border-default)}.course-history>ol>li{min-height:88px;padding:var(--space-4) var(--space-5);display:grid;grid-template-columns:auto 32px minmax(0,1fr) auto auto;align-items:center;gap:var(--space-5);border-bottom:1px solid var(--border-default)}.course-history li>svg,.course-history li>b{color:var(--text-accent)}.course-history li>div{display:grid;gap:var(--space-2)}.course-history li small{color:var(--text-secondary)}.course-history li>a{display:inline-flex;align-items:center;min-height:44px;color:var(--text-secondary)}@media(max-width:900px){.app-shell{grid-template-columns:minmax(0,1fr)}.brand-lockup span,.nav-link span,.settings-link span,.sidebar-progress{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.brand-lockup{padding:0;text-align:center}.brand-lockup strong{font-size:var(--font-size-xs)}.app-shell--studio .brand-lockup{padding-inline:0}.app-shell--studio .brand-lockup strong{font-size:var(--font-size-xs)}.nav-link,.settings-link{justify-content:center;padding:0}.app-main{padding-inline:var(--space-8)}.landing-hero{grid-template-columns:1fr;gap:var(--space-10)}.landing-path-card{max-width:560px}.problem-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.landing-dashboard__hero{grid-template-columns:1fr}.landing-current-card{max-width:520px}.language-choice-grid,.locked-track-grid{grid-template-columns:repeat(2,1fr)}.current-lesson{grid-template-columns:auto minmax(0,1fr)}.current-lesson__action{grid-column:2;justify-items:start}.course-home__actions{grid-template-columns:1fr;gap:var(--space-6)}.editor-workspace.has-comparison,.problem-layout,.complexity-evidence,.server-scenario-grid,.result-grid,.profile-grid{grid-template-columns:1fr}.server-concern-grid{grid-template-columns:repeat(2,1fr)}.engineer-note__grid{grid-template-columns:1fr}.profile-header{grid-template-columns:auto minmax(0,1fr)}.profile-stat{padding:var(--space-4) 0 0;border-top:1px solid rgb(255 255 255 / 15%);border-left:0}.lab-workspace,.lab-lower-grid{grid-template-columns:1fr}}@media(max-width:600px){.public-landing__header{min-height:56px;padding:0 var(--space-4)}.public-landing>main{padding:var(--space-8) var(--space-4) var(--space-12)}.app-shell{display:block}.app-topbar{display:none}.app-header{height:56px;padding:0 var(--space-4)}.mobile-menu-button{width:44px;height:44px;display:inline-flex;color:var(--text-primary)}.mobile-navigation-layer{position:fixed;z-index:50;top:56px;right:0;bottom:0;left:0;display:block}.mobile-navigation-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;background:#0b1b334d;border:0}.mobile-navigation{position:relative;width:min(82vw,304px);height:100%;padding:var(--space-6) var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);background:var(--surface-raised);border-right:1px solid var(--border-default)}.mobile-navigation .brand-lockup{margin-bottom:var(--space-5);padding:0 var(--space-3) var(--space-5);text-align:left;border-bottom:1px solid var(--border-default)}.mobile-navigation .brand-lockup span,.mobile-navigation .nav-link span,.mobile-navigation .settings-link span{position:static;width:auto;height:auto;overflow:visible;clip:auto}.mobile-navigation .nav-link,.mobile-navigation .settings-link{justify-content:flex-start;padding:0 var(--space-3)}.mobile-navigation .settings-link{margin-top:auto}.app-header span{display:none}.app-main{padding:var(--space-8) var(--space-4) var(--space-12)}.page-title{font-size:var(--font-size-4xl)}.page-description{font-size:var(--font-size-base)}.landing-hero{min-height:0}.landing-dashboard{gap:var(--space-5)}.landing-dashboard__hero{min-height:0;padding:var(--space-6) var(--space-5);gap:var(--space-8)}.landing-current-card__stages,.landing-mastery-map ol{grid-template-columns:repeat(2,1fr)}.landing-mastery-map>header{align-items:flex-start;flex-direction:column}.depth-grid,.landing-feature-grid,.language-choice-grid,.experience-choice-grid,.locked-track-grid{grid-template-columns:1fr}.focus-header,.assessment-header{min-height:56px;padding:0 var(--space-4)}.focus-content{width:100%;padding:var(--space-8) var(--space-5) var(--space-12)}.focus-intro h1,.assessment-question h1,.section-heading h1{font-size:var(--font-size-3xl)}.choice-card{min-height:112px;display:grid;grid-template-columns:1fr auto;align-items:start;column-gap:var(--space-4)}.choice-card strong,.choice-card small{grid-column:1}.choice-card__indicator{grid-column:2;grid-row:1;margin-left:0}.choice-card--bare{min-height:auto}.preference-row,.focus-actions,.assessment-actions,.section-heading,.section-title-row{align-items:flex-start;flex-direction:column}.focus-actions .button,.assessment-actions .button{width:100%}.assessment-progress>span,.assessment-lock{display:none}.assessment-progress>div{width:100px}.assessment-card{width:calc(100% - 32px);margin:var(--space-6) auto var(--space-12);padding:var(--space-6) var(--space-5)}.answer-list{grid-template-columns:1fr}.path-summary{min-width:0;width:100%}.problem-filters{grid-template-columns:1fr 1fr}.problem-statement-grid{grid-template-columns:1fr}.problem-workspace__intro,.problem-run-actions,.problem-run-actions>div,.run-result{align-items:stretch;flex-direction:column}.server-cost-model>header,.not-found-state>div{align-items:stretch;flex-direction:column}.not-found-state{padding:var(--space-8) var(--space-5)}.not-found-state .button,.problem-language-control,.problem-language-control select,.problem-run-actions .button,.complexity-evidence__actions,.complexity-evidence__actions .button,.ai-tutor-panel .button{width:100%}.run-result small{margin-left:0}.problem-search{grid-column:1 / -1}.problem-card-grid{grid-template-columns:1fr}.current-lesson{padding:var(--space-5);grid-template-columns:1fr}.current-lesson__action{grid-column:1}.current-lesson__action .button{width:100%}.learning-header{height:56px;padding:0 var(--space-4)}.learning-brand{min-height:44px;display:inline-flex;align-items:center}.learning-breadcrumb,.compare-label,.learning-header__actions .toggle{display:none}.learning-header__actions{gap:var(--space-2)}.learning-header__actions .language-select select{width:118px}.mobile-learning-menu{width:44px;height:44px;display:inline-flex;color:var(--text-primary);text-decoration:none}.stage-navigation{height:56px;grid-template-columns:1fr auto;justify-content:stretch;padding-inline:var(--space-5)}.stage-link:not(.is-current){display:none}.stage-link.is-current{padding:0}.stage-navigation:after{content:attr(data-step-label);color:var(--text-secondary);font-size:var(--font-size-md);font-weight:600}.lesson-tools{display:none}.learning-main{width:100%;padding:var(--space-6) var(--space-5) var(--space-12)}.lesson-frame h1{font-size:var(--font-size-3xl)}.lesson-frame p{font-size:var(--font-size-base)}.concept-progress{gap:var(--space-2)}.concept-progress li{min-height:44px;padding:var(--space-2);display:grid;grid-template-columns:1fr;justify-items:center}.concept-progress li>strong{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.concept-section__header h2{font-size:var(--font-size-xl)}.animation-panel>header,.tick-visualization>header{padding:var(--space-4);align-items:flex-start;flex-direction:column}.player-viewport{min-height:116px;padding:var(--space-4) var(--space-3);grid-template-columns:repeat(4,minmax(64px,1fr));gap:var(--space-2)}.player-node:not(:last-child):after{display:none}.player-node{min-height:84px;border-radius:var(--radius-md)}.player-node span{font-size:var(--font-size-md)}.player-node small{font-size:var(--font-size-xs)}.animation-panel>header{min-height:58px;padding:var(--space-3) var(--space-4)}.animation-panel>header h2,.animation-panel>header h3{display:none}.animation-panel>header>strong{font-size:var(--font-size-xs)}.checkpoint-card>div>span{font-size:var(--font-size-xs)}.animation-controls{padding:var(--space-3);flex-wrap:wrap}.animation-controls>span{display:none}.animation-controls .button{flex:1;padding-inline:var(--space-3)}.animation-controls .button--ghost{min-width:44px;flex:0 0 auto}.key-concept{padding:var(--space-4)}.key-concept p{font-size:var(--font-size-md)}.checkpoint-card{grid-template-columns:1fr}.checkpoint-card fieldset{flex-direction:column}.checkpoint-card .button{grid-column:1;justify-self:stretch}.container-grid,.server-concern-grid{grid-template-columns:1fr}.server-concern-card{min-height:0}.complexity-card th,.complexity-card td{padding:var(--space-3)}.explanation-checkpoint .button{width:100%;justify-self:stretch}.lesson-footer,.code-panel>footer,.retention-card{align-items:stretch;flex-direction:column}.lesson-footer .button,.code-panel>footer .button,.result-actions .button{width:100%}.shadow-metrics{padding-inline:var(--space-4);gap:var(--space-3);overflow-x:auto;white-space:nowrap}.shadow-code-editor .cm-editor,.shadow-code-editor .cm-scroller{min-height:360px}.code-panel .code-editor .cm-content,.shadow-code-editor .cm-content{font-size:var(--font-size-base)}.code-panel .code-editor .cm-line,.shadow-code-editor .cm-line{padding-inline:var(--space-4)}.shadow-code-layer{min-height:360px}.shadow-live-status{padding-inline:var(--space-4)}.fixture-list,.scenario-brief,.tick-visualization ol,.mastery-card ol{grid-template-columns:1fr 1fr}.fixture-list>div{border-right:0;border-bottom:1px solid var(--border-default)}.problem-brief,.mastery-card,.evidence-card{padding:var(--space-5)}.strategy-picker .button{width:100%}.result-hero{padding:var(--space-8) var(--space-5)}.result-hero h1{font-size:var(--font-size-3xl)}.result-actions{flex-direction:column}.retention-card>svg:last-child{display:none}.settings-page .section-heading .button{width:100%}.setting-row{align-items:flex-start;flex-direction:column}.setting-row .language-select select{width:100%}.profile-header{padding:var(--space-5);grid-template-columns:auto 1fr}.profile-header p{display:none}.profile-stat{min-width:0}.next-learning-card{grid-template-columns:auto minmax(0,1fr)}.next-learning-card .button{grid-column:1 / -1;width:100%}.profile-account-card{grid-template-columns:auto minmax(0,1fr)}.profile-account-card .button{grid-column:1 / -1;width:100%}.profile-retention{padding:var(--space-4);align-items:flex-start;flex-direction:column}.profile-retention>svg:last-child{display:none}.lab-title-row{align-items:flex-start;flex-direction:column}.lab-title-row h1{font-size:var(--font-size-3xl)}.lab-view-tabs{padding:var(--space-1);display:grid;grid-template-columns:1fr 1fr;background:var(--surface-inset);border-radius:var(--radius-md)}.lab-view-tabs button{min-height:44px;display:flex;align-items:center;justify-content:center;gap:var(--space-2);color:var(--text-secondary);background:transparent;border:0;border-radius:var(--radius-md);font-size:var(--font-size-xs);font-weight:700}.lab-view-tabs button[aria-selected=true]{color:var(--text-accent);background:var(--surface-raised)}.lab-workspace>article{display:none}.lab-workspace>article.is-mobile-active{display:block}.learning-shell--studio .learning-main{width:100%}.course-lesson__grid{grid-template-columns:1fr}.course-lesson__lead,.course-lesson__grid>section{padding:var(--space-5)}.course-review-due{align-items:stretch;flex-direction:column}.course-history>header{grid-template-columns:1fr}.course-history>header p{grid-column:1}.course-history>ol>li{grid-template-columns:auto 28px minmax(0,1fr)}.course-history li>b,.course-history li>a{grid-column:3}.app-shell--studio{min-height:100vh;padding-bottom:calc(var(--space-16) + env(safe-area-inset-bottom));overflow-x:clip}.app-shell--studio .app-header{position:sticky;z-index:30;top:0;height:60px;padding:0 var(--space-2) 0 var(--space-5);display:flex;color:var(--text-primary);background:#10161df5;border-color:var(--border-default);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.app-shell--studio .app-header>strong{min-width:0;overflow:hidden;color:var(--text-primary);font-size:var(--font-size-base);text-overflow:ellipsis;white-space:nowrap}.studio-mobile-tools{margin-left:auto;display:flex;align-items:center;gap:var(--space-1)}.studio-mobile-tool{display:grid;place-items:center;color:var(--text-secondary);text-decoration:none}.studio-bottom-nav{position:fixed;z-index:40;right:0;bottom:0;left:0;min-height:calc(72px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);display:grid;grid-template-columns:repeat(3,1fr);background:#10161dfa;border-top:1px solid var(--border-default)}.studio-bottom-nav__link{min-width:0;min-height:72px;display:grid;place-items:center;align-content:center;gap:var(--space-1);color:var(--text-secondary);text-decoration:none;font-size:var(--font-size-xs);font-weight:700}.studio-bottom-nav__link.is-active{color:var(--text-accent)}.app-shell--studio .app-main{min-height:calc(100vh - 132px);padding:var(--space-8) var(--space-5) var(--space-10)}.course-home__header h1{font-size:var(--font-size-4xl)}.course-home__header p{margin-top:var(--space-3);font-size:var(--font-size-base)}.course-home__lesson{margin-top:var(--space-10)}.course-home__lesson>p{font-size:var(--font-size-base)}.course-home__lesson>h2{margin-top:var(--space-3);font-size:var(--font-size-4xl)}.course-code-comparison{margin-top:var(--space-8);grid-template-columns:1fr}.course-code{min-width:0}.course-code+.course-code{border-top:1px solid var(--border-default);border-left:0}.course-code>header{min-height:60px;padding-inline:var(--space-5);font-size:var(--font-size-base)}.course-code__body{min-height:210px;padding:var(--space-5) var(--space-4);grid-template-columns:24px minmax(0,1fr);gap:var(--space-4)}.course-code__lines,.course-code pre{font-size:var(--font-size-base)}.course-home__footer{margin-top:var(--space-8);padding-top:var(--space-8)}.course-stages{padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2)}.course-stages li{min-width:0;flex-direction:column;gap:var(--space-2);font-size:var(--font-size-md);text-align:center;white-space:normal}.course-stages li:not(:last-child):after{display:none}.course-home__actions{margin-top:var(--space-8);padding:0;grid-template-columns:1fr;gap:var(--space-5)}.course-home__meta{justify-content:space-between;gap:var(--space-5)}.course-home__meta>span,.course-home__meta small{font-size:var(--font-size-base)}.course-home__meta>strong{padding-left:var(--space-5);font-size:var(--font-size-2xl)}.course-home__primary{min-height:56px;font-size:var(--font-size-base)}.course-home__history{min-height:44px;justify-content:center;font-size:var(--font-size-base)}}
