:root[data-theme=editorial],[data-theme=editorial]{--color-bg-canvas:#faf8f2;--color-bg-surface:#fff;--color-bg-elevated:#fff;--color-ink-primary:#1a1814;--color-ink-secondary:#5c5547;--color-ink-muted:#8c8473;--color-ink-disabled:#b8af9c;--color-neutral-0:#fff;--color-neutral-1:#faf8f2;--color-neutral-2:#f2efe8;--color-neutral-3:#ede9df;--color-neutral-4:#e0dace;--color-neutral-5:#d8d2c4;--color-neutral-6:#b8af9c;--color-neutral-7:#8c8473;--color-neutral-8:#5c5547;--color-neutral-9:#332f26;--color-neutral-10:#24211b;--color-neutral-11:#1a1814;--color-neutral-50:var(--color-neutral-1);--color-neutral-100:var(--color-neutral-3);--color-neutral-200:var(--color-neutral-4);--color-neutral-300:var(--color-neutral-5);--color-neutral-400:var(--color-neutral-6);--color-neutral-500:var(--color-neutral-7);--color-neutral-600:var(--color-neutral-8);--color-neutral-700:var(--color-neutral-9);--color-neutral-800:var(--color-neutral-10);--color-neutral-900:var(--color-neutral-11);--color-brand-accent:#8b1a1a;--color-brand-peak:#c8901e;--color-brand-primary-50:#f8efef;--color-brand-primary-100:#f0dcdc;--color-brand-primary-300:#c46868;--color-brand-primary-500:brown;--color-brand-primary-600:var(--color-brand-accent);--color-brand-primary-700:#6e1414;--color-brand-primary-900:#4a0d0d;--color-brand-peak-500:var(--color-brand-peak);--color-brand-peak-700:#8b6210;--color-success-bg:#f1f4ed;--color-success-fg:#2e4a2e;--color-success-border:#b9ccb9;--color-error-bg:#fbf1ef;--color-error-fg:#8b1a1a;--color-error-border:#e8c2bc;--color-warning-bg:#fbf6ee;--color-warning-fg:#7a4a0a;--color-warning-border:#e0c68c;--color-info-bg:#f0ede8;--color-info-fg:#5c5547;--color-info-border:#d8d2c4;--color-success-solid:#3d5a3d;--color-error-solid:#8b1a1a;--color-warning-solid:#c8901e;--color-info-solid:#5c5547;--color-success-text:var(--color-success-fg);--color-mode-learn-bg:#faf8f2;--color-mode-learn-border:#5c5547;--color-mode-learn-fg:#332f26;--color-mode-practice-bg:#fbf6ee;--color-mode-practice-border:#8b1a1a;--color-mode-practice-fg:#6e1414;--color-mode-review-bg:#f6f8f3;--color-mode-review-border:#3d5a3d;--color-mode-review-fg:#2e4a2e;--color-mode-exam-bg:#ede9df;--color-mode-exam-border:#b8af9c;--color-mode-exam-fg:#5c5547;--color-mode-freestyle-bg:#f4efe8;--color-mode-freestyle-border:#8c8473;--color-mode-freestyle-fg:#5c5547;--color-mode-mentor-bg:#f2e6d5;--color-mode-mentor-border:#c8985c;--color-mode-mentor-fg:#5c3a12;--color-mode-admin-bg:#f2efe8;--color-mode-admin-border:#5c5547;--color-mode-admin-fg:#1a1814;--color-mentor-bg:#f4ddb8;--color-mentor-border:#c8985c;--color-mentor-fg:#3d2a0a;--color-mentor-avatar-ring:#c8985c;--color-ai-bg:#f2efe8;--color-ai-border:#d8d2c4;--color-ai-fg:#1a1814;--color-mastery-0:#b8af9c;--color-mastery-1:#c8985c;--color-mastery-2:#b36428;--color-mastery-3:#8b1a1a;--color-mastery-4:#6e1414;--color-mastery-5:#c8901e;--color-mastery-dot-empty:var(--color-mastery-0);--color-mastery-dot-filled:var(--color-mastery-3);--texture-mastery-0:"hollow";--texture-mastery-1:"filled-quarter";--texture-mastery-2:"filled-half";--texture-mastery-3:"filled-three-quarter";--texture-mastery-4:"filled";--texture-mastery-5:"star";--color-severity-high:var(--color-error-solid);--color-severity-medium:var(--color-warning-solid);--color-severity-low:var(--color-neutral-7);--font-family-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-family-serif:"STIX Two Text","Source Serif Pro",Georgia,serif;--font-family-body:var(--font-family-serif);--font-family-chrome:var(--font-family-sans);--font-family-mono:"Menlo",ui-monospace,SFMono-Regular,Consolas,monospace;--font-family-math:"KaTeX_Main","STIX Two Math",serif;--font-size-display:40px;--font-size-h1:28px;--font-size-h2:22px;--font-size-h3:18px;--font-size-h4:16px;--font-size-body:15px;--font-size-body-small:13px;--font-size-micro:11px;--font-size-code:13px;--font-size-math-inline:inherit;--font-size-math-block:18px;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-eyebrow-size:11px;--font-eyebrow-weight:600;--font-eyebrow-letter-spacing:0.12em;--font-eyebrow-transform:uppercase;--font-eyebrow-family:var(--font-family-sans);--space-0:0;--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-dense-1:2px;--space-dense-2:4px;--space-dense-3:6px;--space-dense-4:8px;--density-compact:1.0;--density-comfortable:1.25;--radius-none:0;--radius-sm:2px;--radius-md:2px;--radius-card:4px;--radius-card-tight:2px;--radius-lg:4px;--radius-full:9999px;--radius-input:0;--radius-button:0;--radius-pill:9999px;--border-weight-hairline:0.5px;--border-weight-1:1px;--border-weight-2:1.5px;--border-weight-strong:2px;--shadow-none:none;--shadow-subtle:none;--shadow-card:none;--shadow-modal:0 0 0 1px #1a1814;--shadow-sm:var(--shadow-subtle);--shadow-md:var(--shadow-card);--shadow-lg:var(--shadow-modal);--shadow-coach:-8px 0 20px rgba(26,24,20,.04);--motion-duration-instant:0ms;--motion-duration-fast:120ms;--motion-duration-base:180ms;--motion-duration-slow:240ms;--motion-easing-standard:cubic-bezier(0.2,0,0,1);--motion-easing-emphasis:cubic-bezier(0.4,0,0.2,1);--motion-easing-exit:cubic-bezier(0.4,0,1,1);--button-primary-bg:var(--color-ink-primary);--button-primary-fg:var(--color-bg-canvas);--button-primary-border:var(--color-ink-primary);--button-primary-hover-bg:#332f26;--button-secondary-bg:transparent;--button-secondary-fg:var(--color-ink-primary);--button-secondary-border:var(--color-neutral-7);--button-secondary-hover-bg:var(--color-neutral-2);--button-destructive-bg:var(--color-brand-accent);--button-destructive-fg:var(--color-bg-canvas);--button-destructive-border:var(--color-brand-accent);--button-destructive-hover-bg:#6e1414;--button-cta-bg:var(--color-brand-accent);--button-cta-fg:var(--color-bg-canvas);--button-cta-border:var(--color-brand-accent);--button-cta-hover-bg:#6e1414;--button-ghost-bg:transparent;--button-ghost-fg:var(--color-brand-accent);--button-ghost-border:transparent;--button-ghost-hover-bg:var(--color-neutral-2);--button-accent-bg:var(--button-cta-bg);--button-accent-fg:var(--button-cta-fg);--button-accent-border:var(--button-cta-border);--button-accent-hover-bg:var(--button-cta-hover-bg);--color-math-text:var(--color-neutral-10);--color-math-muted:var(--color-neutral-7);--color-math-mistake-highlight:var(--color-error-fg);--color-math-mistake-bg:var(--color-error-bg);--color-math-solution-reveal:var(--color-success-fg);--math-inline-scale:1.0;--math-block-scale:1.10;--math-block-min-height:36px;--math-block-margin-y:var(--space-6);--math-block-padding-x:0;--math-block-bg-tint:transparent;--math-inline-baseline-shift:0;--math-block-overflow:auto;--math-block-scrollbar-height:4px;--math-inline-wrap:nowrap;--z-base:0;--z-sticky:10;--z-rail:25;--z-nav:30;--z-popover:40;--z-coach:50;--z-fab:55;--z-sheet:60;--z-modal:70;--z-toast:80;--z-lock-overlay:90;--z-devtools:9999;--breakpoint-sm:0;--breakpoint-md:375px;--breakpoint-lg:768px;--breakpoint-xl:1280px;--breakpoint-2xl:1536px;--focus-ring-width:2px;--focus-ring-offset:2px;--focus-ring-color:var(--color-brand-accent);--focus-ring-style:solid;--background:42 33% 96%;--foreground:35 12% 9%;--card:0 0% 100%;--card-foreground:35 12% 9%;--primary:0 68% 32%;--primary-foreground:42 33% 96%;--secondary:40 25% 93%;--secondary-foreground:35 12% 16%;--muted:40 25% 93%;--muted-foreground:35 12% 38%;--accent:40 25% 93%;--accent-foreground:35 12% 16%;--lime:92 30% 40%;--lime-foreground:42 33% 96%;--destructive:0 68% 32%;--destructive-foreground:42 33% 96%;--success:92 30% 40%;--success-foreground:42 33% 96%;--warning:39 75% 45%;--warning-foreground:35 12% 9%;--border:36 22% 84%;--input:36 22% 84%;--ring:0 68% 32%;--radius:0.25rem}[data-theme=editorial] [data-skill-map=metro]{--metro-node:13px;--metro-rail:2px;--metro-gap:12px;--metro-dot-radius:2px}[data-theme=editorial] .metro-line{box-shadow:none;border-color:var(--color-neutral-4)}[data-theme=editorial] .metro-line__name,[data-theme=editorial] .metro-station__label{font-family:var(--font-family-display,Georgia,serif)}[data-theme=editorial] .metro-line__badge{border-radius:0}:root[data-theme=console],[data-theme=console]{--color-bg-canvas:#fafafa;--color-bg-surface:#fff;--color-bg-elevated:#fff;--color-ink-primary:#0a0a0a;--color-ink-secondary:#3f3f46;--color-ink-muted:#71717a;--color-ink-disabled:#a1a1aa;--color-neutral-0:#fff;--color-neutral-1:#fafafa;--color-neutral-2:#f4f4f5;--color-neutral-3:#e4e4e7;--color-neutral-4:#d4d4d8;--color-neutral-5:#a1a1aa;--color-neutral-6:#71717a;--color-neutral-7:#52525b;--color-neutral-8:#3f3f46;--color-neutral-9:#27272a;--color-neutral-10:#18181b;--color-neutral-11:#000;--color-neutral-50:var(--color-neutral-1);--color-neutral-100:var(--color-neutral-2);--color-neutral-200:var(--color-neutral-3);--color-neutral-300:var(--color-neutral-4);--color-neutral-400:var(--color-neutral-5);--color-neutral-500:var(--color-neutral-6);--color-neutral-600:var(--color-neutral-7);--color-neutral-700:var(--color-neutral-8);--color-neutral-800:var(--color-neutral-9);--color-neutral-900:var(--color-neutral-10);--color-brand-accent:#2563eb;--color-brand-peak:#f59e0b;--color-brand-primary-50:rgba(37,99,235,.06);--color-brand-primary-100:rgba(37,99,235,.12);--color-brand-primary-300:rgba(37,99,235,.24);--color-brand-primary-500:#3b82f6;--color-brand-primary-600:#2563eb;--color-brand-primary-700:#1d4ed8;--color-brand-primary-900:#1e3a8a;--color-brand-peak-500:#f59e0b;--color-brand-peak-700:#b45309;--color-success-bg:#f0fdf4;--color-success-fg:#15803d;--color-success-border:#bbf7d0;--color-success-solid:#16a34a;--color-error-bg:#fef2f2;--color-error-fg:#b91c1c;--color-error-border:#fecaca;--color-error-solid:#dc2626;--color-warning-bg:#fffbeb;--color-warning-fg:#92400e;--color-warning-border:#fde68a;--color-warning-solid:#d97706;--color-info-bg:#eff6ff;--color-info-fg:#1d4ed8;--color-info-border:#bfdbfe;--color-info-solid:#2563eb;--color-mode-learn-bg:#eff6ff;--color-mode-learn-border:#2563eb;--color-mode-learn-fg:#1d4ed8;--color-mode-practice-bg:#fffbeb;--color-mode-practice-border:#d97706;--color-mode-practice-fg:#92400e;--color-mode-review-bg:#f0fdf4;--color-mode-review-border:#16a34a;--color-mode-review-fg:#15803d;--color-mode-exam-bg:#f4f4f5;--color-mode-exam-border:#71717a;--color-mode-exam-fg:#3f3f46;--color-mode-freestyle-bg:#faf5ff;--color-mode-freestyle-border:#9333ea;--color-mode-freestyle-fg:#6b21a8;--color-mode-mentor-bg:#fff7ed;--color-mode-mentor-border:#f58a4e;--color-mode-mentor-fg:#7c2d12;--color-mode-admin-bg:#f8fafc;--color-mode-admin-border:#475569;--color-mode-admin-fg:#1e293b;--color-mentor-bg:#fff4e0;--color-mentor-border:#f58a4e;--color-mentor-fg:#7c2d12;--color-mentor-avatar-ring:#f58a4e;--color-ai-bg:#f0f7ff;--color-ai-border:#bfdbfe;--color-ai-fg:#0a0a0a;--color-mastery-0:#e4e4e7;--color-mastery-1:#bfdbfe;--color-mastery-2:#93c5fd;--color-mastery-3:#60a5fa;--color-mastery-4:#2563eb;--color-mastery-5:#f59e0b;--color-mastery-dot-empty:var(--color-neutral-4);--texture-mastery-0:"hollow";--texture-mastery-1:"filled-quarter";--texture-mastery-2:"filled-half";--texture-mastery-3:"filled-three-quarter";--texture-mastery-4:"filled";--texture-mastery-5:"star";--color-severity-high:#dc2626;--color-severity-medium:#d97706;--color-severity-low:#71717a;--color-math-text:var(--color-ink-primary);--color-math-muted:var(--color-ink-muted);--color-math-mistake-highlight:var(--color-error-fg);--color-math-mistake-bg:var(--color-error-bg);--color-math-solution-reveal:var(--color-success-fg);--color-math-block-bg-tint:var(--color-neutral-2);--color-math-block-accent:var(--color-brand-accent);--font-family-sans:"Inter",-apple-system,BlinkMacSystemFont,system-ui,sans-serif;--font-family-body:"Inter",-apple-system,BlinkMacSystemFont,system-ui,sans-serif;--font-family-chrome:"Inter",-apple-system,BlinkMacSystemFont,system-ui,sans-serif;--font-family-mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;--font-family-math:"KaTeX_Main","Cambria Math",Cambria,"Times New Roman",serif;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-size-display:38px;--font-size-h1:22px;--font-size-h2:18px;--font-size-h3:15px;--font-size-h4:13px;--font-size-body:13px;--font-size-body-small:12px;--font-size-micro:11px;--font-size-code:11px;--font-letter-spacing-display:-0.025em;--font-letter-spacing-h1:-0.02em;--font-letter-spacing-h2:-0.01em;--font-letter-spacing-tight:-0.005em;--font-eyebrow-size:11px;--font-eyebrow-weight:600;--font-eyebrow-letter-spacing:0.06em;--font-eyebrow-transform:uppercase;--font-eyebrow-family:var(--font-family-sans);--radius-none:0;--radius-sm:4px;--radius-md:8px;--radius-card:8px;--radius-card-tight:4px;--radius-lg:8px;--radius-full:9999px;--radius-input:4px;--radius-button:4px;--border-weight-hairline:0.5px;--border-weight-1:1px;--border-weight-2:1.5px;--border-weight-strong:2px;--shadow-none:none;--shadow-subtle:0 1px 2px rgba(9,9,11,.04);--shadow-card:0 1px 3px rgba(9,9,11,.06),0 1px 2px rgba(9,9,11,.04);--shadow-modal:0 8px 24px rgba(9,9,11,.12),0 2px 6px rgba(9,9,11,.06);--shadow-sm:var(--shadow-subtle);--shadow-md:var(--shadow-card);--shadow-lg:var(--shadow-modal);--shadow-coach:var(--shadow-modal);--motion-duration-instant:0ms;--motion-duration-fast:120ms;--motion-duration-base:180ms;--motion-duration-slow:240ms;--motion-easing-standard:cubic-bezier(0.2,0,0,1);--motion-easing-emphasis:cubic-bezier(0.4,0,0.2,1);--motion-easing-exit:cubic-bezier(0.4,0,1,1);--space-0:0;--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-dense-1:2px;--space-dense-2:4px;--space-dense-3:6px;--space-dense-4:8px;--button-primary-bg:var(--color-ink-primary);--button-primary-fg:#fff;--button-primary-border:var(--color-ink-primary);--button-primary-hover-bg:var(--color-neutral-9);--button-secondary-bg:var(--color-bg-surface);--button-secondary-fg:var(--color-ink-primary);--button-secondary-border:var(--color-neutral-3);--button-secondary-hover-bg:var(--color-neutral-2);--button-destructive-bg:var(--color-error-solid);--button-destructive-fg:#fff;--button-destructive-border:var(--color-error-solid);--button-destructive-hover-bg:#b91c1c;--button-cta-bg:var(--color-brand-accent);--button-cta-fg:#fff;--button-cta-border:var(--color-brand-accent);--button-cta-hover-bg:#1d4ed8;--button-ghost-bg:transparent;--button-ghost-fg:var(--color-ink-secondary);--button-ghost-border:transparent;--button-ghost-hover-bg:var(--color-neutral-2);--z-base:0;--z-sticky:10;--z-rail:25;--z-nav:30;--z-popover:40;--z-coach:50;--z-fab:55;--z-sheet:60;--z-modal:70;--z-toast:80;--z-lock-overlay:90;--focus-ring-width:2px;--focus-ring-offset:2px;--focus-ring-color:var(--color-brand-accent);--focus-ring-style:solid;--breakpoint-sm:0;--breakpoint-md:375px;--breakpoint-lg:768px;--breakpoint-xl:1280px;--breakpoint-2xl:1536px;--background:0 0% 98%;--foreground:0 0% 4%;--card:0 0% 100%;--card-foreground:0 0% 4%;--primary:217 91% 53%;--primary-foreground:0 0% 100%;--secondary:240 5% 96%;--secondary-foreground:0 0% 4%;--muted:240 5% 96%;--muted-foreground:240 4% 46%;--accent:240 5% 96%;--accent-foreground:0 0% 4%;--lime:142 71% 45%;--lime-foreground:0 0% 100%;--destructive:0 73% 50%;--destructive-foreground:0 0% 100%;--success:142 71% 38%;--success-foreground:0 0% 100%;--warning:32 95% 44%;--warning-foreground:0 0% 100%;--border:240 6% 90%;--input:240 6% 90%;--ring:217 91% 53%;--radius:0.375rem}@media (prefers-reduced-motion:reduce){:root[data-theme=console],[data-theme=console]{--motion-duration-fast:0ms;--motion-duration-base:0ms;--motion-duration-slow:0ms}}[data-theme=console] [data-skill-map=metro]{--metro-node:11px;--metro-rail:2px;--metro-gap:7px;--metro-dot-radius:1px}[data-theme=console] .metro-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,190px),1fr));gap:var(--space-3,10px)}[data-theme=console] .metro-line{border-radius:var(--radius-card,6px)}[data-theme=console] .metro-line__count,[data-theme=console] .metro-line__name,[data-theme=console] .metro-station__label{font-family:var(--font-family-chrome,ui-monospace,monospace);letter-spacing:-.01em}[data-theme=console] .metro-line__badge{border-radius:1px}:root[data-theme=playful],[data-theme=playful]{--color-bg-canvas:#fff9f0;--color-bg-surface:#fff;--color-bg-elevated:#fff;--color-ink-primary:#2e2a3e;--color-ink-secondary:#5f564c;--color-ink-muted:#9c8e7d;--color-ink-disabled:#c8bca8;--color-neutral-0:#fff;--color-neutral-1:#fff9f0;--color-neutral-2:#f5efe6;--color-neutral-3:#ede5d6;--color-neutral-4:#e8dfd0;--color-neutral-5:#d6cab3;--color-neutral-6:#c8bca8;--color-neutral-7:#9c8e7d;--color-neutral-8:#7b6f62;--color-neutral-9:#5f564c;--color-neutral-10:#443e36;--color-neutral-11:#2e2a3e;--color-neutral-50:var(--color-neutral-1);--color-neutral-100:var(--color-neutral-2);--color-neutral-200:var(--color-neutral-4);--color-neutral-300:var(--color-neutral-5);--color-neutral-400:var(--color-neutral-6);--color-neutral-500:var(--color-neutral-7);--color-neutral-600:var(--color-neutral-8);--color-neutral-700:var(--color-neutral-9);--color-neutral-800:var(--color-neutral-10);--color-neutral-900:var(--color-neutral-11);--color-brand-accent:#5b8dee;--color-brand-peak:#f58a4e;--color-brand-primary-50:#eaf1fe;--color-brand-primary-100:#d6e3fd;--color-brand-primary-300:#a4beec;--color-brand-primary-500:#5b8dee;--color-brand-primary-600:#4e7fe3;--color-brand-primary-700:#3b6fcc;--color-brand-primary-900:#1f4c9e;--color-brand-peak-500:#f58a4e;--color-brand-peak-700:#c8662f;--color-success-bg:#e6f4e6;--color-success-fg:#2c7a2d;--color-success-border:#c3e2c4;--color-success-solid:#5bb85c;--color-error-bg:#ffe5da;--color-error-fg:#b3543c;--color-error-border:#f8b58a;--color-error-solid:#dc4b2d;--color-warning-bg:#ffefe3;--color-warning-fg:#8a4d26;--color-warning-border:#f5c499;--color-warning-solid:#f58a4e;--color-info-bg:#eaf1fe;--color-info-fg:#1f4c9e;--color-info-border:#d6e3fd;--color-info-solid:#5b8dee;--color-success-text:var(--color-success-fg);--color-error-text:var(--color-error-fg);--color-warning-text:var(--color-warning-fg);--color-info-text:var(--color-info-fg);--color-mode-learn-bg:#f0f7ff;--color-mode-learn-border:#5b8dee;--color-mode-learn-fg:#1f4c9e;--color-mode-practice-bg:#ffefe3;--color-mode-practice-border:#f58a4e;--color-mode-practice-fg:#8a4d26;--color-mode-review-bg:#e8f5e9;--color-mode-review-border:#5bb85c;--color-mode-review-fg:#2c7a2d;--color-mode-exam-bg:#f5efe6;--color-mode-exam-border:#c8bca8;--color-mode-exam-fg:#5f564c;--color-mode-freestyle-bg:#f4eef9;--color-mode-freestyle-border:#b68cd8;--color-mode-freestyle-fg:#6b3d8e;--color-mode-mentor-bg:#fff4e0;--color-mode-mentor-border:#f5a623;--color-mode-mentor-fg:#7c4a02;--color-mode-admin-bg:#f5efe6;--color-mode-admin-border:#9c8e7d;--color-mode-admin-fg:#443e36;--color-mentor-bg:#fff4e0;--color-mentor-border:#f58a4e;--color-mentor-fg:#7c4a02;--color-mentor-avatar-ring:#f58a4e;--color-ai-bg:#f0f7ff;--color-ai-border:#d6e3fd;--color-ai-fg:#2e2a3e;--color-mastery-0:#e8dfd0;--color-mastery-1:#c8d7f0;--color-mastery-2:#a4beec;--color-mastery-3:#7aa1e6;--color-mastery-4:#5b8dee;--color-mastery-5:#f5b941;--texture-mastery-0:"hollow";--texture-mastery-1:"filled-quarter";--texture-mastery-2:"filled-half";--texture-mastery-3:"filled-three-quarter";--texture-mastery-4:"filled";--texture-mastery-5:"star";--color-mastery-dot-empty:var(--color-neutral-5);--color-mastery-dot-filled:var(--color-brand-accent);--color-severity-high:var(--color-error-solid);--color-severity-medium:var(--color-warning-solid);--color-severity-low:var(--color-neutral-7);--font-family-sans:"Be Vietnam Pro",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-family-serif:Georgia,serif;--font-family-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--font-family-math:"KaTeX_Main","Cambria Math",serif;--font-family-body:var(--font-family-sans);--font-family-chrome:var(--font-family-sans);--font-size-display:56px;--font-size-h1:36px;--font-size-h2:26px;--font-size-h3:20px;--font-size-h4:17px;--font-size-body:16px;--font-size-body-small:14px;--font-size-micro:12px;--font-size-code:14px;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-eyebrow-size:11px;--font-eyebrow-weight:600;--font-eyebrow-letter-spacing:0.06em;--font-eyebrow-transform:uppercase;--font-eyebrow-family:var(--font-family-sans);--space-0:0;--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-dense-1:2px;--space-dense-2:4px;--space-dense-3:6px;--space-dense-4:8px;--density-compact:1.0;--density-comfortable:1.25;--breakpoint-sm:0px;--breakpoint-md:375px;--breakpoint-lg:768px;--breakpoint-xl:1280px;--breakpoint-2xl:1536px;--radius-none:0;--radius-sm:4px;--radius-md:8px;--radius-card:12px;--radius-card-tight:8px;--radius-lg:16px;--radius-full:9999px;--radius-input:8px;--radius-button:16px;--radius-pill:9999px;--border-weight-hairline:0.5px;--border-weight-1:1px;--border-weight-2:1.5px;--border-weight-strong:2px;--shadow-none:none;--shadow-subtle:0 2px 8px rgba(46,42,62,.06);--shadow-card:0 1px 3px rgba(46,42,62,.05),0 4px 12px rgba(46,42,62,.04);--shadow-modal:0 8px 32px rgba(46,42,62,.1);--shadow-sm:var(--shadow-subtle);--shadow-md:var(--shadow-card);--shadow-lg:var(--shadow-modal);--shadow-coach:var(--shadow-modal);--motion-duration-instant:0ms;--motion-duration-fast:120ms;--motion-duration-base:180ms;--motion-duration-slow:240ms;--motion-easing-standard:cubic-bezier(0.2,0,0,1);--motion-easing-emphasis:cubic-bezier(0.4,0,0.2,1);--motion-easing-exit:cubic-bezier(0.4,0,1,1);--button-primary-bg:var(--color-brand-accent);--button-primary-fg:#fff;--button-primary-border:transparent;--button-primary-hover-bg:var(--color-brand-primary-700);--button-secondary-bg:#fff;--button-secondary-fg:var(--color-ink-primary);--button-secondary-border:var(--color-neutral-4);--button-secondary-hover-bg:var(--color-neutral-2);--button-destructive-bg:var(--color-error-solid);--button-destructive-fg:#fff;--button-destructive-border:transparent;--button-destructive-hover-bg:#b3543c;--button-cta-bg:var(--color-brand-peak);--button-cta-fg:#fff;--button-cta-border:transparent;--button-cta-hover-bg:var(--color-brand-peak-700);--button-ghost-bg:transparent;--button-ghost-fg:var(--color-ink-secondary);--button-ghost-border:transparent;--button-ghost-hover-bg:var(--color-neutral-2);--color-math-text:var(--color-ink-primary);--color-math-muted:var(--color-ink-secondary);--color-math-mistake-highlight:var(--color-error-fg);--color-math-mistake-bg:var(--color-error-bg);--color-math-solution-reveal:var(--color-success-fg);--math-block-margin-y:var(--space-3);--math-block-padding-x:var(--space-4);--math-block-bg-tint:rgba(91,141,238,.04);--math-block-min-height:32px;--math-inline-baseline-shift:0;--font-math-inline-scale:1.0;--font-math-block-scale:1.10;--font-math-block-min-height:36px;--z-base:0;--z-sticky:10;--z-rail:25;--z-nav:30;--z-popover:40;--z-coach:50;--z-fab:55;--z-sheet:60;--z-modal:70;--z-toast:80;--z-lock-overlay:90;--z-devtools:9999;--focus-ring-width:2px;--focus-ring-offset:2px;--focus-ring-color:var(--color-brand-accent);--focus-ring-style:solid;--background:38 100% 97%;--foreground:254 18% 21%;--card:0 0% 100%;--card-foreground:254 18% 21%;--primary:218 79% 64%;--primary-foreground:0 0% 100%;--secondary:36 38% 93%;--secondary-foreground:254 18% 21%;--muted:36 38% 93%;--muted-foreground:33 13% 56%;--accent:36 38% 93%;--accent-foreground:254 18% 21%;--lime:88 60% 50%;--lime-foreground:254 18% 21%;--destructive:0 75% 60%;--destructive-foreground:0 0% 100%;--success:142 56% 42%;--success-foreground:0 0% 100%;--warning:23 89% 64%;--warning-foreground:254 18% 21%;--border:35 35% 86%;--input:35 35% 86%;--ring:218 79% 64%;--radius:0.75rem}@media (prefers-reduced-motion:reduce){:root[data-theme=playful],[data-theme=playful]{--motion-duration-fast:0ms;--motion-duration-base:0ms;--motion-duration-slow:0ms}}[data-theme=playful] [data-skill-map=metro]{--metro-node:18px;--metro-rail:5px;--metro-gap:16px;--metro-dot-radius:50%}[data-theme=playful] .metro-line{box-shadow:var(--shadow-card,0 2px 10px rgba(0,0,0,.05));border-radius:var(--radius-card,16px)}[data-theme=playful] .metro-station__dot{box-shadow:0 1px 3px rgba(0,0,0,.12)}[data-theme=playful] .metro-rail:before{opacity:.45}.skm-back{all:unset;box-sizing:border-box;cursor:pointer;display:inline-flex;align-items:center;gap:4px;font-family:var(--font-family-chrome);font-size:var(--font-size-body-small,13px);font-weight:600;color:var(--color-brand-accent,#f97316);padding:5px 12px;border-radius:var(--radius-pill,9999px);border:1px solid var(--color-neutral-4);background:var(--color-bg-surface);transition:background .15s ease,transform .15s ease}.skm-back:focus-visible,.skm-back:hover{background:color-mix(in srgb,var(--color-brand-accent) 12%,transparent);outline:none}.skm-back:focus-visible{box-shadow:0 0 0 2px var(--color-brand-accent)}.skm-crumb-sep{color:var(--color-ink-muted);font-size:14px}.skm-crumb-count{font-family:var(--font-family-chrome);font-size:var(--font-size-micro,11px);color:var(--color-ink-muted);margin-left:4px}[data-skill-map=metro] .metro-net-wrap{position:relative;background:var(--color-bg-surface);border:1px solid var(--color-neutral-4);border-radius:var(--radius-card,12px);padding:var(--space-4,16px)}[data-skill-map=metro] .metro-net{position:absolute;inset:var(--space-4,16px);width:auto;height:auto;pointer-events:none;opacity:.5}@media (max-width:720px){[data-skill-map=metro] .metro-net{display:none}}[data-skill-map=metro] .metro-net-spine{stroke:var(--color-neutral-4);stroke-width:4;stroke-linecap:round}[data-skill-map=metro] .metro-net-list{position:relative;list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2,8px)}[data-skill-map=metro] .metro-hub__btn{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:var(--space-3,12px);width:100%;padding:var(--space-3,12px) var(--space-4,16px);cursor:pointer;border:1px solid var(--color-neutral-4);border-left:4px solid var(--line-color,var(--color-brand-accent));border-radius:var(--radius-input,8px);background:var(--color-bg-canvas);transition:transform .15s ease,box-shadow .15s ease,background .15s ease}[data-skill-map=metro] .metro-hub__btn:focus-visible,[data-skill-map=metro] .metro-hub__btn:hover{transform:translateX(3px);box-shadow:var(--shadow-card,0 2px 10px rgba(0,0,0,.08));background:var(--color-bg-surface);outline:none}[data-skill-map=metro] .metro-hub__btn:focus-visible{box-shadow:0 0 0 2px var(--color-brand-accent)}[data-skill-map=metro] .metro-hub[data-frontier="1"] .metro-hub__btn{border-color:var(--color-brand-accent);box-shadow:0 0 0 1px var(--color-brand-accent)}[data-skill-map=metro] .metro-hub__disc{flex-shrink:0;width:44px;height:44px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center}[data-skill-map=metro] .metro-hub__disc-in{width:34px;height:34px;border-radius:50%;background:var(--color-bg-surface);display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-family-display,serif);font-weight:700;font-size:16px;color:var(--line-color,var(--color-brand-accent))}[data-skill-map=metro] .metro-hub__body{flex:1;min-width:0}[data-skill-map=metro] .metro-hub__name{display:flex;align-items:center;gap:8px;font-family:var(--font-family-body);font-weight:700;font-size:var(--font-size-h3,16px);color:var(--color-ink-primary)}[data-skill-map=metro] .metro-hub__meta{display:block;margin-top:3px;font-family:var(--font-family-chrome);font-size:var(--font-size-micro,11px);color:var(--color-ink-muted)}[data-skill-map=metro] .metro-hub__go{flex-shrink:0;color:var(--color-ink-muted);font-size:16px;transition:transform .15s ease}[data-skill-map=metro] .metro-hub__btn:focus-visible .metro-hub__go,[data-skill-map=metro] .metro-hub__btn:hover .metro-hub__go{transform:translateX(3px);color:var(--color-brand-accent)}[data-skill-map=metro] .metro-detail{background:var(--color-bg-surface);border:1px solid var(--color-neutral-4);border-radius:var(--radius-card,12px);padding:var(--space-5,20px)}[data-skill-map=metro] .metro-detail__rails{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:var(--space-5,20px)}[data-skill-map=metro] .metro-detail__grade-h{margin:0 0 var(--space-3,12px);font-family:var(--font-family-chrome);font-size:var(--font-size-micro,11px);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-ink-muted)}[data-skill-map=metro] .metro-detail__empty{margin:0;font-size:var(--font-size-body-small,13px);color:var(--color-ink-muted);font-style:italic}[data-skill-map=metro] .metro-rail{position:relative;padding-left:26px}[data-skill-map=metro] .metro-rail:before{content:"";position:absolute;left:11px;top:12px;bottom:12px;width:3px;background:var(--line-color,var(--color-brand-accent));opacity:.35;border-radius:999px}[data-skill-map=metro] .metro-station{display:flex;align-items:center;gap:10px;position:relative;padding:7px 0;text-decoration:none;color:var(--color-ink-secondary);transition:transform .15s ease,color .15s ease}[data-skill-map=metro] .metro-station:focus-visible,[data-skill-map=metro] .metro-station:hover{transform:translateX(3px);color:var(--color-ink-primary);outline:none}[data-skill-map=metro] .metro-station:focus-visible .metro-station__dot{box-shadow:0 0 0 3px var(--color-brand-accent)}[data-skill-map=metro] .metro-station__dot{position:absolute;left:-26px;width:16px;height:16px;border-radius:50%;border:2px solid var(--line-color,var(--color-brand-accent));background:var(--color-bg-canvas);box-sizing:border-box;flex-shrink:0}[data-skill-map=metro] .metro-station[data-mastery="1"] .metro-station__dot{background:var(--color-mastery-1)}[data-skill-map=metro] .metro-station[data-mastery="2"] .metro-station__dot{background:var(--color-mastery-2)}[data-skill-map=metro] .metro-station[data-mastery="3"] .metro-station__dot{background:var(--color-mastery-3)}[data-skill-map=metro] .metro-station[data-mastery="4"] .metro-station__dot{background:var(--color-mastery-4);border-color:var(--color-mastery-4)}[data-skill-map=metro] .metro-station[data-mastery="5"] .metro-station__dot{background:var(--color-mastery-5);border-color:var(--color-mastery-5)}[data-skill-map=metro] .metro-station__label{font-size:var(--font-size-body-small,13px);line-height:1.3;flex:1;min-width:0}[data-skill-map=metro] .metro-station__grade{margin-left:auto;font-size:var(--font-size-micro,11px);font-family:var(--font-family-chrome);color:var(--color-ink-muted);flex-shrink:0}[data-skill-map=metro] .metro-station[data-frontier="1"]{color:var(--color-ink-primary);font-weight:600}[data-skill-map=metro] .metro-station[data-frontier="1"] .metro-station__dot{box-shadow:0 0 0 4px color-mix(in srgb,var(--color-brand-accent) 30%,transparent);animation:metroPulse 1.8s ease-in-out infinite}.metro-here{display:inline-block;margin-left:8px;font-size:var(--font-size-micro,10px);font-family:var(--font-family-chrome);font-weight:700;color:var(--color-brand-accent);background:color-mix(in srgb,var(--color-brand-accent) 14%,transparent);padding:1px 7px;border-radius:999px}@keyframes metroPulse{0%,to{box-shadow:0 0 0 3px color-mix(in srgb,var(--color-brand-accent) 30%,transparent)}50%{box-shadow:0 0 0 7px color-mix(in srgb,var(--color-brand-accent) 8%,transparent)}}[data-skill-map=tree] .tree-detail-svg,[data-skill-map=tree] .tree-svg{max-width:960px;margin:0 auto}[data-skill-map=tree] .tree-svg-domain{font-family:var(--font-family-display);font-weight:700;font-size:17px}[data-skill-map=tree] .tree-svg-domain-meta{font-family:var(--font-family-chrome);font-size:12px;fill:var(--color-ink-muted)}[data-skill-map=tree] .tree-svg-label{font-family:var(--font-family-body);font-size:14px;fill:var(--color-ink-secondary)}[data-skill-map=tree] .tree-svg-leaf-grade{font-family:var(--font-family-chrome);font-size:11px;fill:var(--color-ink-muted)}[data-skill-map=tree] .tree-leaf-stem{stroke-width:2;opacity:.4}[data-skill-map=tree] .tree-bud{cursor:pointer}[data-skill-map=tree] .tree-bud:focus-visible{outline:none}[data-skill-map=tree] .tree-bud__ring{fill:none;stroke-width:4;stroke-linecap:round;transform-box:fill-box;transform-origin:center;transform:rotate(-90deg);transition:opacity .15s ease}[data-skill-map=tree] .tree-bud__core{transform-box:fill-box;transform-origin:center;transition:transform .15s ease,filter .15s ease;opacity:.92}[data-skill-map=tree] .tree-bud__glyph{font-family:var(--font-family-display);font-weight:800;font-size:20px;fill:#fff;pointer-events:none}[data-skill-map=tree] .tree-bud:focus-visible .tree-bud__core,[data-skill-map=tree] .tree-bud:hover .tree-bud__core{transform:scale(1.12);filter:drop-shadow(0 2px 6px rgba(0,0,0,.28))}[data-skill-map=tree] .tree-bud:focus-visible .tree-bud__ring{stroke:var(--color-brand-accent)}[data-skill-map=tree] .tree-svg-node{cursor:pointer}[data-skill-map=tree] .tree-svg-fruit{fill:var(--color-bg-canvas);stroke-width:2.5px;transform-box:fill-box;transform-origin:center;transition:transform .15s ease,filter .15s ease}[data-skill-map=tree] .tree-svg-node[data-mastery="1"] .tree-svg-fruit{fill:var(--color-mastery-1)}[data-skill-map=tree] .tree-svg-node[data-mastery="2"] .tree-svg-fruit{fill:var(--color-mastery-2)}[data-skill-map=tree] .tree-svg-node[data-mastery="3"] .tree-svg-fruit{fill:var(--color-mastery-3)}[data-skill-map=tree] .tree-svg-node[data-mastery="4"] .tree-svg-fruit{fill:var(--color-mastery-4)}[data-skill-map=tree] .tree-svg-node[data-mastery="5"] .tree-svg-fruit{fill:var(--color-mastery-5);filter:drop-shadow(0 0 4px var(--color-mastery-5))}[data-skill-map=tree] .tree-svg-node:focus-visible .tree-svg-fruit,[data-skill-map=tree] .tree-svg-node:hover .tree-svg-fruit{transform:scale(1.22);filter:drop-shadow(0 1px 3px rgba(0,0,0,.25))}[data-skill-map=tree] .tree-svg-node:focus-visible{outline:none}[data-skill-map=tree] .tree-svg-node:focus-visible .tree-svg-fruit{stroke:var(--color-brand-accent);stroke-width:3.5px}[data-skill-map=tree] .tree-svg-node[data-frontier="1"] .tree-svg-label{font-weight:800;fill:var(--color-ink-primary)}[data-skill-map=tree] .tree-svg-halo{fill:none;stroke:var(--color-brand-accent);stroke-width:3;opacity:.55;transform-box:fill-box;transform-origin:center;animation:treeHalo 1.9s ease-in-out infinite}@keyframes treeHalo{0%,to{transform:scale(1);opacity:.55}50%{transform:scale(1.28);opacity:.1}}[data-skill-map=tree] .tree-svg-crown-text{font-family:var(--font-family-display);font-weight:800;font-size:16px;fill:#5a3c12}[data-skill-map=tree] .tree-svg-base{fill:var(--color-ink-primary)}[data-skill-map=tree] .tree-svg-base-text{font-family:var(--font-family-display);font-weight:700;font-size:16px;fill:var(--color-bg-surface)}[data-skill-map=tree] .tree-detail__empty{margin:0;text-align:center;font-size:var(--font-size-body-small,13px);color:var(--color-ink-muted);font-style:italic}[data-skill-map=constellation] .const-sky-wrap{border-radius:16px;overflow:hidden;border:1px solid #1d2750;box-shadow:0 8px 30px rgba(8,12,30,.45)}[data-skill-map=constellation] .const-sky{display:block;width:100%;height:auto}[data-skill-map=constellation] .const-domain-text{font-family:var(--font-family-chrome);font-weight:800;font-size:15px;letter-spacing:.05em}[data-skill-map=constellation] .const-skill-text{font-family:var(--font-family-chrome);font-size:11px;fill:#aab6e6}[data-skill-map=constellation] .const-grade-text{font-family:var(--font-family-chrome);font-weight:800;font-size:12px;letter-spacing:.08em;fill:#6b79b8}[data-skill-map=constellation] .const-dest-text{font-family:var(--font-family-display);font-weight:800;font-size:19px;letter-spacing:.08em;fill:#ffd64a}[data-skill-map=constellation] .const-hub{cursor:pointer}[data-skill-map=constellation] .const-hub:focus-visible{outline:none}[data-skill-map=constellation] .const-hub__core{transform-box:fill-box;transform-origin:center;transition:transform .15s ease}[data-skill-map=constellation] .const-hub__glyph{font-family:var(--font-family-display);font-weight:800;font-size:18px;fill:#fff;pointer-events:none}[data-skill-map=constellation] .const-hub:focus-visible .const-hub__core,[data-skill-map=constellation] .const-hub:hover .const-hub__core{transform:scale(1.16)}[data-skill-map=constellation] .const-hub:focus-visible .const-domain-text,[data-skill-map=constellation] .const-hub:hover .const-domain-text{fill:#fff}[data-skill-map=constellation] .const-hub:focus-visible .const-hub__ring{stroke:#ffd64a}[data-skill-map=constellation] .const-node{cursor:pointer}[data-skill-map=constellation] .const-node circle{transition:r .15s ease,filter .15s ease}[data-skill-map=constellation] .const-node:focus-visible circle:not(.const-frontier-ring),[data-skill-map=constellation] .const-node:hover circle:not(.const-frontier-ring){filter:url(#cg-glow)}[data-skill-map=constellation] .const-node:focus-visible .const-skill-text,[data-skill-map=constellation] .const-node:hover .const-skill-text{fill:#fff;font-weight:700}[data-skill-map=constellation] .const-node:focus-visible{outline:none}[data-skill-map=constellation] .const-node[data-frontier="1"] .const-skill-text{fill:#ffd64a;font-weight:800}[data-skill-map=constellation] .const-frontier-ring{transform-box:fill-box;transform-origin:center;animation:constPulse 1.9s ease-in-out infinite}[data-skill-map=constellation] .const-journey{stroke-dasharray:2 9;animation:constFlow 1.2s linear infinite}[data-skill-map=constellation] .const-detail__empty{margin:0;padding:var(--space-6,24px);text-align:center;font-size:var(--font-size-body-small,13px);color:var(--color-ink-muted);font-style:italic}@keyframes constPulse{0%,to{opacity:.9;transform:scale(1)}50%{opacity:.25;transform:scale(1.35)}}@keyframes constFlow{to{stroke-dashoffset:-11}}@media (prefers-reduced-motion:reduce){[data-skill-map] .const-frontier-ring,[data-skill-map] .const-journey,[data-skill-map] .metro-station[data-frontier="1"] .metro-station__dot,[data-skill-map] .tree-svg-halo{animation:none}}