@layer reset{*,:before,:after{box-sizing:border-box}body,h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin:0}ul[role=list],ol[role=list]{margin:0;padding:0;list-style:none}html:focus-within{scroll-behavior:smooth}body{text-rendering:optimizespeed;min-height:100dvh;line-height:1.5}a:not([class]){text-decoration-skip-ink:auto}img,picture{max-width:100%;display:block}input,button,textarea,select{font:inherit}@media (prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (forced-colors:active){button,[role=button]{border:1px solid buttontext}button:focus-visible,[role=button]:focus-visible{outline-offset:2px;outline:3px solid highlight}a:focus-visible{outline:2px solid highlight}input,select,textarea{border:1px solid buttontext}:focus-visible{outline-color:highlight}}}@layer base{html{font-family:var(--font-primary,system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);font-size:var(--text-base,1rem);-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--surface-background);color:var(--text-primary);font-synthesis:none;text-rendering:optimizelegibility;scrollbar-gutter:auto;line-height:1.5}body{min-height:100svh;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-weight:var(--font-semibold,600);margin-top:0;line-height:1.2}h1{font-size:var(--text-4xl,2.25rem)}h2{font-size:var(--text-3xl,1.875rem)}h3{font-size:var(--text-2xl,1.5rem)}h4{font-size:var(--text-xl,1.25rem)}h5{font-size:var(--text-lg,1.125rem)}h6{font-size:var(--text-base,1rem)}p{margin-top:0;margin-bottom:var(--space-4,1rem)}a{color:var(--color-primary-500);transition:color var(--duration-normal) var(--ease-out);text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer;font-family:inherit;font-size:inherit;background:0 0;border:none;padding:0}input,textarea,select{font-family:inherit;font-size:var(--text-base,1rem);padding:var(--space-2,.5rem);border:1px solid var(--theme-border-color);background-color:var(--theme-input-background,white);color:var(--text-primary);border-radius:.25rem}:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px}pre,code{font-family:var(--font-mono,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace);font-size:.9em}pre{padding:var(--space-4,1rem);background-color:var(--theme-code-background);border-radius:.5rem;overflow-x:auto}code{background-color:var(--theme-code-inline-background,var(--color-black-alpha-5));border-radius:.25rem;padding:.2em .4em}}@layer tokens{:root{--space-0-5:.125rem;--space-1:.25rem;--space-1-5:.375rem;--space-2:.5rem;--space-2-5:.625rem;--space-3:.75rem;--space-3-5:.875rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-7:1.75rem;--space-8:2rem;--space-9:2.25rem;--space-10:2.5rem;--space-12:3rem;--space-14:3.5rem;--space-16:4rem;--space-20:5rem;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--font-size-xs:var(--text-xs);--font-size-sm:var(--text-sm);--font-size-base:var(--text-base);--font-size-lg:var(--text-lg);--font-size-xl:var(--text-xl);--font-size-2xl:var(--text-2xl);--font-size-3xl:var(--text-3xl);--font-size-4xl:var(--text-4xl);--leading-tight:1.25;--leading-normal:1.5;--leading-relaxed:1.625;--line-height-tight:var(--leading-tight);--line-height-normal:var(--leading-normal);--line-height-relaxed:var(--leading-relaxed);--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--font-weight-normal:var(--font-normal);--font-weight-medium:var(--font-medium);--font-weight-semibold:var(--font-semibold);--font-weight-bold:var(--font-bold);--color-primary-50:#f0f9f4;--color-primary-100:#dcf3e6;--color-primary-200:#b9e7cd;--color-primary-300:#7fb069;--color-primary-400:#5c9a4d;--color-primary-500:#2d5b3e;--color-primary-600:#234a31;--color-primary-700:#1a3825;--color-primary-800:#11271a;--color-primary-900:#081610;--color-primary-rgb:45 91 62;--color-secondary-50:#f5f3ff;--color-secondary-100:#ede9fe;--color-secondary-200:#ddd6fe;--color-secondary-300:#c4b5fd;--color-secondary-400:#a78bfa;--color-secondary-500:#8b5cf6;--color-secondary-600:#7c3aed;--color-secondary-700:#6d28d9;--color-secondary-800:#5b21b6;--color-secondary-900:#4c1d95;--color-secondary-rgb:139 92 246;--color-accent-50:#f4f9f1;--color-accent-100:#e7f3df;--color-accent-200:#d0e7c0;--color-accent-300:#b4d99c;--color-accent-400:#9ac57f;--color-accent-500:#7fb069;--color-accent-600:#0891b2;--color-accent-700:#4a7d3e;--color-accent-800:#3a6131;--color-accent-900:#2f4e28;--color-accent-rgb:127 176 105;--color-neutral-50:#f9fafb;--color-neutral-100:#f3f4f6;--color-neutral-200:#e5e7eb;--color-neutral-300:#d1d5db;--color-neutral-400:#9ca3af;--color-neutral-500:#6b7280;--color-neutral-600:#4b5563;--color-neutral-700:#374151;--color-neutral-800:#1f2937;--color-neutral-900:#111827;--color-neutral-rgb:107 114 128;--color-white:#fff;--color-black:#000;--color-success-200:#bbf7d0;--color-success-300:#86efac;--color-success-400:#34d399;--color-success:#22c55e;--color-success-500:#22c55e;--color-success-600:#059669;--color-success-dark:#047857;--color-success-700:#047857;--color-success-light:#d1fae5;--color-error-200:#fecaca;--color-error-300:#fca5a5;--color-error:#dc2626;--color-error-500:var(--color-error);--color-error-600:#dc2626;--color-error-800:#991b1b;--color-error-900:#7f1d1d;--color-warning-200:#fde68a;--color-warning-300:#fcd34d;--color-warning:#f59e0b;--color-warning-500:#f59e0b;--color-warning-600:#d97706;--color-warning-700:#b45309;--color-warning-800:#92400e;--color-danger-100:#fee2e2;--color-danger-500:#ef4444;--color-danger-600:#dc2626;--color-danger-800:#991b1b;--color-info-100:#dbeafe;--color-info:var(--color-primary-500);--color-info-500:var(--color-info,#3b82f6);--color-info-600:var(--color-primary-600);--color-info-800:#1e40af;--color-info-dark:var(--color-primary-600);--color-warning-dark:#b45309;--color-error-dark:#dc2626;--color-success-icon:#047857;--color-warning-icon:#b45309;--color-error-icon:#dc2626;--color-info-icon:var(--color-primary-600);--surface-info:var(--color-info-alpha-5);--surface-info-hover:var(--color-info-alpha-10);--text-info:var(--color-info-600);--icon-info:var(--color-info);--border-info:var(--color-info-alpha-20);--surface-warning:var(--color-warning-alpha-5);--surface-warning-hover:var(--color-warning-alpha-10);--text-warning:var(--color-warning-600);--icon-warning:var(--color-warning);--border-warning:var(--color-warning);--surface-error:var(--color-error-alpha-5);--surface-error-hover:var(--color-error-alpha-10);--text-error:var(--color-error-600);--icon-error:var(--color-error);--border-error:var(--color-error);--color-critical:#dc2626;--color-critical-700:#b91c1c;--color-critical-rgb:220 38 38;--color-critical-alpha-5:rgba(var(--color-critical-rgb), .05);--color-critical-alpha-10:rgba(var(--color-critical-rgb), .1);--color-critical-alpha-20:rgba(var(--color-critical-rgb), .2);--color-critical-alpha-30:rgba(var(--color-critical-rgb), .3);--surface-critical:var(--color-critical-alpha-5);--surface-critical-hover:var(--color-critical-alpha-10);--text-critical:var(--color-critical-700);--icon-critical:var(--color-critical);--border-critical:var(--color-critical-alpha-20);--color-background-elevated:var(--surface-elevated);--color-background-hover:var(--surface-interactive);--color-primary-contrast:var(--text-inverse);--color-primary-hover:var(--color-primary-600);--color-accent-hover:var(--color-accent-600);--circuit-cyan-rgb:0 191 255;--circuit-glow-alpha-15:rgba(var(--circuit-cyan-rgb), .15);--circuit-glow-alpha-30:rgba(var(--circuit-cyan-rgb), .3);--circuit-glow-alpha-40:rgba(var(--circuit-cyan-rgb), .4);--border-color-default:var(--color-neutral-300);--border-color-muted:var(--color-neutral-200);--border-color-strong:var(--color-neutral-400);--border-hover:var(--color-neutral-300);--border-active:var(--color-neutral-400);--border-focus:var(--color-primary-500);--border-success:var(--color-success);--border-subtle:#ffffff1a;--border-faint:#ffffff0d;--overlay-transparent:#0000001a;--overlay-subtle:#0003;--overlay-light:#0000004d;--overlay-medium:#00000080;--overlay-dark:#0009;--overlay-heavy:#000000bf;--color-overlay-subtle:var(--overlay-subtle);--color-overlay-light:var(--overlay-light);--color-overlay-medium:var(--overlay-medium);--color-overlay-dark:var(--overlay-dark);--color-overlay-heavy:var(--overlay-heavy);--overlay-modal:var(--overlay-medium);--overlay-modal-heavy:var(--overlay-heavy);--surface-glass-light:#ffffffbf;--surface-glass-light-strong:#ffffffe6;--surface-glass-light-subtle:#f8f9fccc;--surface-glass-light-muted:#f1f3f799;--surface-glass-light-alt:#f8fafcf2;--surface-glass-dark:#191a1fbf;--surface-glass-dark-strong:#191a1fd9;--surface-glass-dark-secondary:#232429cc;--surface-glass-dark-muted:#2d2e3399;--surface-glass-dark-gradient-start:#0f172ae6;--surface-glass-dark-gradient-end:#1e293be6;--surface-glass-dark-deep:#14141ee6;--surface-white-5:#ffffff0d;--surface-white-10:#ffffff1a;--surface-white-15:#ffffff26;--surface-white-20:#fff3;--surface-white-30:#ffffff4d;--surface-white-50:#ffffff80;--surface-white-65:#ffffffa6;--surface-white-75:#ffffffbf;--surface-white-80:#fffc;--surface-white-95:#fffffff2;--color-primary-alpha-10:rgba(var(--color-primary-rgb), .1);--color-primary-alpha-30:rgba(var(--color-primary-rgb), .3);--color-danger-alpha-10:#ef44441a;--color-danger-alpha-15:#ef444426;--color-danger-alpha-30:#ef44444d;--shadow-glow-success:#10b98180;--shadow-glow-success-light:#10b9814d;--shadow-glow-error:#ef444466;--shadow-glow-error-light:#f871714d;--shadow-glow-warning:#f59e0b66;--shadow-glow-primary:#3b82f680;--shadow-glow-primary-strong:#3b82f6b3;--shadow-glow-purple:#8b5cf633;--shadow-glow-purple-medium:#8b5cf666;--shadow-glow-indigo:#4f46e566;--shadow-glow-indigo-light:#6366f126;--shadow-inset-subtle:#0000001a;--shadow-panel:#0000004d;--gradient-primary-subtle:#3b82f60f;--gradient-primary-light:#3b82f60d;--gradient-purple-light:#a855f71a;--gradient-purple-medium:#8b5cf633;--text-shadow-readable:0 2px 8px #000000b3;--text-shadow-strong:0 3px 12px #000c;--text-shadow-subtle:0 1px 4px #00000080;--color-highlight-yellow:#ffff004d;--color-highlight-yellow-light:#ffffc84d;--color-highlight-yellow-strong:#ffffc880;--color-highlight-blue:#3b82f61a;--color-highlight-green:#22c55e1a;--color-highlight-pink:#ec48991a;--color-highlight-purple:#8b5cf61a;--color-primary-alpha-3:rgba(var(--color-primary-rgb), .03);--color-primary-alpha-5:rgba(var(--color-primary-rgb), .05);--color-primary-alpha-15:rgba(var(--color-primary-rgb), .15);--color-primary-alpha-20:rgba(var(--color-primary-rgb), .2);--color-primary-alpha-25:rgba(var(--color-primary-rgb), .25);--color-secondary-alpha-5:rgba(var(--color-secondary-rgb), .05);--color-secondary-alpha-10:rgba(var(--color-secondary-rgb), .1);--color-secondary-alpha-15:rgba(var(--color-secondary-rgb), .15);--color-secondary-alpha-20:rgba(var(--color-secondary-rgb), .2);--color-secondary-alpha-30:rgba(var(--color-secondary-rgb), .3);--color-accent-alpha-5:rgba(var(--color-accent-rgb), .05);--color-accent-alpha-10:rgba(var(--color-accent-rgb), .1);--color-accent-alpha-15:rgba(var(--color-accent-rgb), .15);--color-accent-alpha-20:rgba(var(--color-accent-rgb), .2);--color-accent-alpha-30:rgba(var(--color-accent-rgb), .3);--color-neutral-alpha-5:rgba(var(--color-neutral-rgb), .05);--color-neutral-alpha-10:rgba(var(--color-neutral-rgb), .1);--color-neutral-alpha-15:rgba(var(--color-neutral-rgb), .15);--color-neutral-alpha-20:rgba(var(--color-neutral-rgb), .2);--color-neutral-alpha-25:rgba(var(--color-neutral-rgb), .25);--color-neutral-alpha-30:rgba(var(--color-neutral-rgb), .3);--color-neutral-alpha-50:rgba(var(--color-neutral-rgb), .5);--color-neutral-alpha-70:rgba(var(--color-neutral-rgb), .7);--color-white-rgb:255 255 255;--color-white-alpha-5:#ffffff0d;--color-white-alpha-10:#ffffff1a;--color-white-alpha-15:#ffffff26;--color-white-alpha-20:#fff3;--color-white-alpha-30:#ffffff4d;--color-white-alpha-40:#fff6;--color-white-alpha-50:#ffffff80;--color-white-alpha-60:#fff9;--color-white-alpha-70:#ffffffb3;--color-white-alpha-75:#ffffffbf;--color-white-alpha-80:#fffc;--color-white-alpha-90:#ffffffe6;--color-white-alpha-95:#fffffff2;--color-black-rgb:0 0 0;--color-black-alpha-5:#0000000d;--color-black-alpha-10:#0000001a;--color-black-alpha-20:#0003;--color-black-alpha-30:#0000004d;--color-black-alpha-50:#00000080;--color-black-alpha-70:#000000b3;--color-black-alpha-80:#000c;--color-black-alpha-90:#000000e6;--gamification-gradient:linear-gradient(135deg, color-mix(in srgb, var(--color-secondary-500) 85%, transparent) 0%, color-mix(in srgb, var(--color-primary-500) 85%, transparent) 50%, color-mix(in srgb, var(--color-accent-500) 85%, transparent) 100%);--gamification-gradient-hover:linear-gradient(135deg, color-mix(in srgb, var(--color-secondary-500) 95%, transparent) 0%, color-mix(in srgb, var(--color-primary-500) 95%, transparent) 50%, color-mix(in srgb, var(--color-accent-500) 95%, transparent) 100%);--color-medal-gold:gold;--color-medal-gold-light:#ffed4e;--color-medal-gold-text:#8b6914;--color-medal-gold-rgb:255 215 0;--color-medal-silver:silver;--color-medal-silver-light:#e8e8e8;--color-medal-silver-text:#5c5c5c;--color-medal-silver-rgb:192 192 192;--color-medal-bronze:#cd7f32;--color-medal-bronze-light:#e5a85d;--color-medal-bronze-text:#5c3d1f;--color-medal-bronze-rgb:205 127 50;--gradient-medal-gold:linear-gradient(135deg, var(--color-medal-gold) 0%, var(--color-medal-gold-light) 100%);--gradient-medal-silver:linear-gradient(135deg, var(--color-medal-silver) 0%, var(--color-medal-silver-light) 100%);--gradient-medal-bronze:linear-gradient(135deg, var(--color-medal-bronze) 0%, var(--color-medal-bronze-light) 100%);--slideshow-gradient-primary:linear-gradient(135deg, #667eea 0%, #764ba2 100%);--slideshow-gradient-primary-alpha:linear-gradient(135deg, #667eeaf2 0%, #764ba2f2 100%);--slideshow-gradient-primary-dark:linear-gradient(135deg, #667eea 0%, #764ba2 100%);--slideshow-primary-rgb:102 126 234;--slideshow-secondary-rgb:118 75 162;--slideshow-accent-alpha-50:rgba(var(--slideshow-primary-rgb), .5);--slideshow-shadow-primary:0 20px 25px -5px #0003;--slideshow-shadow-glow:0 4px 6px -1px #667eea66;--slideshow-overlay-dark:#000c;--slideshow-overlay-light:#fffffff2;--slideshow-border-subtle:#0000001a;--gradient-primary-to-accent:linear-gradient(135deg, var(--color-primary-500) 0%, var(--color-accent-500) 100%);--gradient-success-to-primary:linear-gradient(135deg, var(--color-success-500) 0%, var(--color-primary-500) 100%);--gradient-primary:linear-gradient(135deg, var(--color-primary-500) 0%, var(--color-primary-700) 100%);--gradient-secondary:linear-gradient(135deg, var(--color-secondary-500) 0%, var(--color-secondary-700) 100%);--gradient-accent:linear-gradient(135deg, var(--color-accent-500) 0%, var(--color-accent-700) 100%);--z-index-dropdown:1000;--z-index-sticky:1020;--z-index-fixed:1030;--z-index-sidebar:1040;--z-index-modal-backdrop:1050;--z-index-modal:1060;--z-index-modal-content:1060;--z-index-popover:1070;--z-index-tooltip:1080;--z-index-toast:1090;--z-index-keyboard:1100;--z-index-modal-nested:1100;--z-index-notification:1200;--z-index-modal-critical:1300;--z-index-celebration:1400;--z-index-modal-fullscreen:9999;--z-index-system-alert:10000;--z-keyboard-base:100;--z-keyboard-settings:110;--z-onboarding-widget:120;--z-keyboard-modal:130;--z-tour-overlay:140;--z-toast:150;--surface-background:var(--color-neutral-50);--surface-card:var(--color-white);--surface-elevated:var(--color-neutral-50);--surface-overlay:#fffffff2;--surface-interactive:var(--color-neutral-100);--surface-hover:var(--color-neutral-100);--surface-active:var(--color-neutral-200);--surface-disabled:var(--color-neutral-50);--surface-selected:var(--color-primary-50);--surface-focus:var(--color-primary-alpha-5);--surface-primary:var(--color-primary-50);--surface-primary-hover:var(--color-primary-100);--surface-secondary:var(--color-secondary-50);--surface-secondary-hover:var(--color-secondary-100);--surface-accent:var(--color-accent-50);--surface-accent-hover:var(--color-accent-100);--text-primary:var(--color-neutral-900);--text-secondary:var(--color-neutral-600);--text-tertiary:var(--color-neutral-600);--text-inverse:var(--color-white);--text-on-primary:var(--color-white);--text-on-success:var(--color-white);--text-on-error:var(--color-white);--text-on-warning:var(--color-neutral-900);--text-on-info:var(--color-white);--text-secondary-alpha-70:rgba(var(--color-neutral-rgb), .7);--color-text-primary:var(--text-primary);--color-text-secondary:var(--text-secondary);--color-text-tertiary:var(--text-tertiary);--color-disabled:var(--color-neutral-300);--text-disabled:var(--color-neutral-400);--color-link:var(--color-primary-600);--color-link-hover:var(--color-primary-700);--radius-xs:.25rem;--radius-sm:.5rem;--radius-base:.5rem;--radius-md:1rem;--radius-lg:1rem;--radius-xl:1.5rem;--radius-full:9999px;--shape-button:var(--radius-md);--shape-card:var(--radius-lg);--shape-input:var(--radius-base);--shape-modal:var(--radius-xl);--shape-dropdown:var(--radius-md);--shape-tooltip:var(--radius-base);--shape-badge:var(--radius-full);--shape-avatar:var(--radius-full);--shape-panel:var(--radius-lg);--shape-tab:var(--radius-base);--shadow-xs:0 1px 3px 0 #0000000d;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-base:0 1px 3px 0 #0000001a, 0 1px 2px 0 #0000000f;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a, 0 10px 10px -5px #0000000a;--shadow-color-sm:#0000001a;--shadow-color-md:#00000026;--shadow-color-lg:#0003;--shadow-elevated:var(--shadow-xl);--duration-fastest:.1s;--duration-fast:.15s;--duration-base:.2s;--duration-normal:.25s;--duration-moderate:.3s;--duration-slow:.4s;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--ease-pulse:cubic-bezier(.76, 0, .24, 1);--surface-tooltip:var(--color-neutral-900);--text-tooltip:var(--color-neutral-50);--color-logo:var(--color-primary-500);--tone-formal:var(--color-primary-500);--tone-formal-rgb:59 130 246;--tone-casual:var(--color-secondary-500);--tone-casual-rgb:139 92 246;--tone-technical:#ec4899;--tone-technical-rgb:236 72 153;--tone-playful:var(--color-success-500);--tone-playful-rgb:16 185 129;--tone-empathetic:var(--color-warning-500);--tone-empathetic-rgb:245 158 11;--hint-outline-color:var(--tone-casual);--hint-outline-rgb:var(--tone-casual-rgb);--hint-pill-gradient:linear-gradient(135deg, rgba(var(--hint-outline-rgb), .1), rgba(var(--hint-outline-rgb), .05));--preset-encouraging-bg-from:var(--color-success-50);--preset-encouraging-bg-to:var(--color-success-100);--preset-encouraging-text:var(--color-success-700);--preset-encouraging-border:var(--color-success-200);--preset-patient-bg-from:var(--color-primary-50);--preset-patient-bg-to:var(--color-primary-100);--preset-patient-text:var(--color-primary-700);--preset-patient-border:var(--color-primary-200);--preset-friendly-bg-from:var(--color-secondary-50);--preset-friendly-bg-to:var(--color-secondary-100);--preset-friendly-text:var(--color-secondary-700);--preset-friendly-border:var(--color-secondary-200);--preset-expert-bg-from:#fef3c7;--preset-expert-bg-to:#fed7aa;--preset-expert-text:#92400e;--preset-expert-border:#fde68a;--button-height-xs:1.5rem;--button-height-sm:2rem;--button-height-md:2.75rem;--button-height-lg:3rem;--button-min-height:var(--button-height-md);--button-transition:opacity var(--duration-normal) var(--ease-out), transform var(--duration-normal) var(--ease-out);--opacity-disabled:.5;--opacity-hover:.9;--opacity-hidden:0;--opacity-subtle:.6;--border-width-thin:1px;--border-width-thick:2px;--border-width-thicker:3px;--button-hover-lift:translateY(-1px);--button-pulse-scale:1.02;--button-ripple-color:#fff6;--button-ripple-scale:2.5;--button-ripple-duration:.6s;--card-hover-lift:var(--theme-hover-transform,translateY(-2px));--focus-ring-width:3px;--focus-ring-offset:2px;--focus-ring-opacity:.4;--focus-ring-color:var(--color-primary-500);--card-padding:var(--space-4);--card-header-height:64px;--card-border-width:1px;--card-background:var(--surface-card);--card-background-hover:var(--surface-elevated);--card-border:var(--border-color-default);--card-border-hover:var(--border-color-strong);--card-radius:var(--shape-card);--card-shadow:var(--shadow-sm);--card-shadow-hover:var(--theme-shadow-card-elevated,0 8px 25px var(--color-black-alpha-15));--tab-height:var(--button-height-md);--tab-padding-x:var(--space-4);--tab-padding-y:var(--space-2);--pill-tab-radius-outer:12px;--pill-tab-radius-inner:8px;--pill-tab-padding:3px;--pill-tab-gap:var(--space-0-5);--pill-tab-btn-padding-x:1.25rem;--pill-tab-btn-padding-y:.5rem;--pill-tab-active-bg:var(--surface-card,var(--color-neutral-50));--pill-tab-active-shadow:0 1px 3px #0000001a;--pill-tab-border-color:var(--border-color-default,var(--color-neutral-200));--cocovox-learning-flashcards-500:var(--color-secondary-500);--cocovox-learning-quiz-500:var(--color-accent-500);--cocovox-learning-lesson-500:var(--color-primary-500);--cocovox-learning-exercise-500:var(--color-success-500);--course-color-1:var(--color-primary-500);--course-color-2:var(--color-secondary-500);--course-color-3:var(--color-accent-500);--course-color-4:var(--color-info);--course-color-5:var(--color-warning);--course-color-6:var(--color-success);--course-color-7:var(--color-error);--cocovox-learning-quiz-50:color-mix(in srgb, var(--color-accent-500) 5%, var(--color-white));--cocovox-learning-quiz-100:color-mix(in srgb, var(--color-accent-500) 10%, var(--color-white));--cocovox-learning-quiz-200:color-mix(in srgb, var(--color-accent-500) 20%, var(--color-white));--cocovox-learning-quiz-600:color-mix(in srgb, var(--color-accent-500) 120%, var(--color-black));--cocovox-learning-flashcards-50:color-mix(in srgb, var(--color-secondary-500) 5%, var(--color-white));--cocovox-learning-flashcards-100:color-mix(in srgb, var(--color-secondary-500) 10%, var(--color-white));--cocovox-learning-flashcards-200:color-mix(in srgb, var(--color-secondary-500) 20%, var(--color-white));--cocovox-learning-flashcards-600:color-mix(in srgb, var(--color-secondary-500) 120%, var(--color-black));--cocovox-learning-lesson-50:color-mix(in srgb, var(--color-primary-500) 5%, var(--color-white));--cocovox-learning-lesson-100:color-mix(in srgb, var(--color-primary-500) 10%, var(--color-white));--cocovox-learning-lesson-200:color-mix(in srgb, var(--color-primary-500) 20%, var(--color-white));--cocovox-learning-lesson-600:color-mix(in srgb, var(--color-primary-500) 120%, var(--color-black));--cocovox-learning-exercise-50:color-mix(in srgb, var(--color-success-500) 5%, var(--color-white));--cocovox-learning-exercise-100:color-mix(in srgb, var(--color-success-500) 10%, var(--color-white));--cocovox-learning-exercise-200:color-mix(in srgb, var(--color-success-500) 20%, var(--color-white));--cocovox-learning-exercise-600:color-mix(in srgb, var(--color-success-500) 120%, var(--color-black));--cocovox-learning-test-50:color-mix(in srgb, var(--color-error-500) 5%, var(--color-white));--cocovox-learning-test-100:color-mix(in srgb, var(--color-error-500) 10%, var(--color-white));--cocovox-learning-test-200:color-mix(in srgb, var(--color-error-500) 20%, var(--color-white));--cocovox-learning-test-600:color-mix(in srgb, var(--color-error-500) 120%, var(--color-black));--literacy-word-building-bg:linear-gradient(135deg, #fff5e1 0%, #ffe9bd 100%);--literacy-word-building-accent:#ffc107;--literacy-word-building-accent-dark:#ff9800;--literacy-word-building-border:#ffc10726;--literacy-sound-matching-bg:linear-gradient(135deg, #e8f0ff 0%, #d1e0f7 100%);--literacy-sound-matching-accent:#667eea;--literacy-sound-matching-accent-dark:#764ba2;--literacy-sound-matching-border:#2196f326;--literacy-story-time-bg:linear-gradient(135deg, #f7e8f0 0%, #e8d1dd 100%);--literacy-story-time-accent:#ec4899;--literacy-story-time-accent-dark:#db2777;--literacy-story-time-border:#ec489926;--literacy-sight-word-bg:linear-gradient(135deg, #e8eef7 0%, #d1dde8 100%);--literacy-sight-word-accent:#3f51b5;--literacy-sight-word-accent-dark:#303f9f;--literacy-sight-word-border:#3f51b526;--literacy-letter-recognition-bg:linear-gradient(135deg, #e8f4e8 0%, #d1e7dd 100%);--literacy-letter-recognition-accent:#4caf50;--literacy-letter-recognition-accent-dark:#388e3c;--literacy-letter-recognition-border:#4caf5026;--literacy-writing-practice-bg:linear-gradient(135deg, #e8f7f5 0%, #d1e8e1 100%);--literacy-writing-practice-accent:#0d9488;--literacy-writing-practice-accent-dark:#0f766e;--literacy-writing-practice-border:#14b8a626;--literacy-sentence-reading-bg:linear-gradient(135deg, #f5e8f7 0%, #e1d1e8 100%);--literacy-sentence-reading-accent:#9c27b0;--literacy-sentence-reading-accent-dark:#7b1fa2;--literacy-sentence-reading-border:#9c27b026;--literacy-daily-challenge-bg:linear-gradient(135deg, #fff7e8 0%, #ffe8d1 100%);--literacy-daily-challenge-accent:var(--color-warning);--literacy-daily-challenge-accent-dark:#d97706;--literacy-daily-challenge-border:#f59e0b26;--literacy-feedback-correct-bg:linear-gradient(135deg, #e8f5e9 0%, #c8e6c9 100%);--literacy-feedback-correct-border:#4caf5033;--literacy-feedback-incorrect-bg:linear-gradient(135deg, #fff3e0 0%, #ffe0b2 100%);--literacy-feedback-incorrect-border:#ff980033;--literacy-feedback-error-bg:linear-gradient(135deg, #ffebee 0%, #ffcdd2 100%);--literacy-feedback-error-border:#f4433633;--card-sage:#ecfdf5;--card-sage-tint:#d1fae5;--card-sage-dark:#065f46;--card-sage-border:#10b981;--card-coral:#fff7ed;--card-coral-tint:#ffedd5;--card-coral-dark:#9a3412;--card-coral-border:#f97316;--card-blue:#eff6ff;--card-blue-tint:#dbeafe;--card-blue-dark:#1e40af;--card-blue-border:#3b82f6;--card-white:#fff;--card-white-tint:#f8fafc;--card-white-dark:#1e293b;--card-white-border:#94a3b8;--card-purple:#faf5ff;--card-purple-tint:#f3e8ff;--card-purple-dark:#6b21a8;--card-purple-border:#a855f7;--card-pink:#fdf2f8;--card-pink-tint:#fce7f3;--card-pink-dark:#9d174d;--card-pink-border:#ec4899;--color-success-rgb:16 185 129;--color-success-alpha-5:rgba(var(--color-success-rgb), .05);--color-success-alpha-10:rgba(var(--color-success-rgb), .1);--color-success-alpha-15:rgba(var(--color-success-rgb), .15);--color-success-alpha-20:rgba(var(--color-success-rgb), .2);--color-success-alpha-25:rgba(var(--color-success-rgb), .25);--color-success-alpha-30:rgba(var(--color-success-rgb), .3);--color-success-alpha-50:rgba(var(--color-success-rgb), .5);--color-success-alpha-90:rgba(var(--color-success-rgb), .9);--color-error-rgb:239 68 68;--color-error-alpha-5:rgba(var(--color-error-rgb), .05);--color-error-alpha-10:rgba(var(--color-error-rgb), .1);--color-error-alpha-15:rgba(var(--color-error-rgb), .15);--color-error-alpha-20:rgba(var(--color-error-rgb), .2);--color-error-alpha-25:rgba(var(--color-error-rgb), .25);--color-error-alpha-30:rgba(var(--color-error-rgb), .3);--color-error-alpha-50:rgba(var(--color-error-rgb), .5);--color-error-alpha-90:rgba(var(--color-error-rgb), .9);--color-warning-rgb:245 158 11;--color-warning-alpha-5:rgba(var(--color-warning-rgb), .05);--color-warning-alpha-10:rgba(var(--color-warning-rgb), .1);--color-warning-alpha-15:rgba(var(--color-warning-rgb), .15);--color-warning-alpha-20:rgba(var(--color-warning-rgb), .2);--color-warning-alpha-25:rgba(var(--color-warning-rgb), .25);--color-warning-alpha-30:rgba(var(--color-warning-rgb), .3);--color-warning-alpha-50:rgba(var(--color-warning-rgb), .5);--color-warning-alpha-90:rgba(var(--color-warning-rgb), .9);--color-info-rgb:59 130 246;--color-info-alpha-5:rgba(var(--color-info-rgb), .05);--color-info-alpha-10:rgba(var(--color-info-rgb), .1);--color-info-alpha-20:rgba(var(--color-info-rgb), .2);--color-info-alpha-30:rgba(var(--color-info-rgb), .3);--color-info-alpha-50:rgba(var(--color-info-rgb), .5);--high-contrast-success:#059669;--high-contrast-error:#dc2626;--high-contrast-warning:#d97706;--high-contrast-info:var(--color-primary-600);--toast-entrance-duration:.35s;--toast-entrance-duration-fast:.3s;--toast-entrance-duration-gentle:.4s;--toast-entrance-duration-slow:.6s;--toast-exit-duration:.25s;--toast-exit-duration-fast:.15s;--toast-hover-duration:.2s;--toast-easing-entrance:cubic-bezier(.34, 1.56, .64, 1);--toast-easing-entrance-smooth:cubic-bezier(.23, 1, .32, 1);--toast-easing-entrance-sharp:cubic-bezier(.1, .9, .2, 1);--toast-easing-entrance-standard:cubic-bezier(0, 0, .2, 1);--toast-easing-exit:cubic-bezier(.4, 0, 1, 1);--toast-easing-exit-sharp:cubic-bezier(.4, 0, .6, 1);--toast-entrance-distance-sm:20px;--toast-entrance-distance-md:30px;--toast-entrance-distance-lg:40px;--toast-exit-distance:10px;--toast-entrance-scale-start:.95;--toast-entrance-scale-small:.9;--toast-bounce-scale-peak:1.02;--toast-exit-scale-end:.98;--toast-entrance-rotation:-1deg;--toast-bounce-rotation-peak:.5deg;--toast-stagger-delay:.1s;--toast-max-stagger-items:5;--focus-ring-width-thick:4px;--focus-ring-color-dark:var(--color-primary-400);--focus-ring-color-error:var(--color-error);--focus-ring-color-success:var(--color-success);--focus-ring:0 0 0 var(--focus-ring-width) var(--focus-ring-color);--focus-ring-dark:0 0 0 var(--focus-ring-width) var(--focus-ring-color-dark);--focus-ring-error:0 0 0 var(--focus-ring-width) var(--focus-ring-color-error);--focus-ring-success:0 0 0 var(--focus-ring-width) var(--focus-ring-color-success);--focus-ring-alpha:0 0 0 var(--focus-ring-width) var(--color-primary-alpha-30);--focus-outline:var(--focus-ring-width) solid var(--focus-ring-color);--focus-outline-offset:var(--focus-ring-offset);--icon-size-xs:16px;--icon-size-sm:20px;--icon-size-md:24px;--icon-size-lg:32px;--icon-size-xl:48px;--icon-inline:var(--icon-size-xs);--icon-button:var(--icon-size-md);--size-touch-target-min:44px;--size-touch-target:48px;--size-touch-target-xl:56px;--icon-avatar:var(--icon-size-lg);--icon-hero:var(--icon-size-xl);--touch-target-min:44px;--touch-target-preferred:48px;--touch-target-comfortable:56px;--high-contrast-primary:var(--color-primary-700);--high-contrast-secondary:var(--color-secondary-700);--high-contrast-accent:var(--color-accent-700);--text-warning-contrast:var(--high-contrast-warning);--card-spacing-xs:.5rem;--card-spacing-sm:1rem;--card-spacing-md:1rem;--card-spacing-lg:1.5rem;--card-spacing-xl:1.5rem;--card-spacing-xxl:2rem;--card-border-radius:var(--shape-card,16px);--card-border-radius-sm:var(--shape-tooltip,8px);--card-border-radius-lg:var(--shape-modal,16px);--card-border-radius-xl:var(--radius-xl,24px);--card-min-height-compact:auto;--card-min-height-default:auto;--card-min-height-large:auto;--card-transition-duration:var(--theme-duration-standard,.25s);--card-transition-timing:var(--theme-easing-standard,cubic-bezier(.4, 0, .2, 1));--card-transition:opacity .25s cubic-bezier(.4, 0, .2, 1), transform .25s cubic-bezier(.4, 0, .2, 1);--card-hover-duration:var(--theme-duration-fast,.2s);--card-expand-duration:var(--theme-duration-standard,.3s);--apple-ease-standard:cubic-bezier(.25, .1, .25, 1);--apple-ease-responsive:cubic-bezier(.15, 0, .25, 1);--apple-ease-playful:cubic-bezier(.68, -.6, .32, 1.6);--apple-ease-precise:cubic-bezier(.4, 0, .2, 1);--apple-ease-gentle:cubic-bezier(.25, .46, .45, .94);--card-press-duration:.1s;--card-release-duration:.15s;--card-focus-duration:.2s;--card-hover-transform:translateY(-8px);--card-hover-scale:var(--theme-hover-scale,1.02);--card-focus-ring-width:4px;--card-focus-ring-offset:4px;--card-press-scale:.97;--card-press-translate:translateY(1px);--card-release-scale:1.01;--card-active-shadow-inset:inset 0 1px 3px var(--color-black-alpha-10);--card-haptic-light:0 2px 8px var(--color-black-alpha-10);--card-haptic-medium:0 4px 16px var(--color-black-alpha-10);--card-haptic-strong:0 8px 32px #00000029;--card-shadow-base:var(--theme-shadow-card,0 1px 3px var(--color-black-alpha-10));--card-shadow-elevated:var(--theme-shadow-card-hover,0 4px 12px var(--color-black-alpha-15));--card-shadow-focus:0 0 0 var(--card-focus-ring-width) color-mix(in srgb, var(--card-theme-primary) 30%, transparent);--card-icon-size-sm:2rem;--card-icon-size-md:2.5rem;--card-icon-size-lg:3rem;--card-icon-size:48px;--card-icon-radius:var(--shape-input,.5rem);--card-title-size:24px;--card-title-weight:600;--card-title-line-height:1.334;--card-title-letter-spacing:-.024em;--card-subtitle-size:16px;--card-subtitle-weight:400;--card-subtitle-line-height:1.5;--card-subtitle-letter-spacing:-.022em;--card-caption-size:16px;--card-caption-weight:400;--card-caption-line-height:1.5;--card-caption-letter-spacing:-.018em;--card-meta-size:16px;--card-meta-weight:400;--card-meta-line-height:1.5;--card-meta-letter-spacing:-.013em;--card-stats-size:.75rem;--card-stats-weight:600;--card-stats-color:var(--card-text-secondary);--card-stats-accent:var(--card-theme-primary);--card-theme-primary:#007aff;--card-theme-secondary:#5856d6;--card-theme-success:#34c759;--card-theme-warning:#ff9500;--card-theme-error:#ff3b30;--card-bg-default:#1c1c1e;--card-bg-elevated:#2c2c2e;--card-bg-grouped:var(--color-black);--card-border-color:#54545899;--card-divider-color:#5454584d;--card-text-primary:var(--color-white);--card-text-secondary:#ebebf599;--card-text-tertiary:#ebebf54d;--card-text-disabled:#ebebf533;--card-shadow-subtle:0 1px 3px var(--color-black-alpha-30);--card-shadow-moderate:0 2px 8px var(--color-black-alpha-30);--card-shadow-emphasis:0 4px 16px var(--color-black-alpha-40);--btn-primary-gradient-start:var(--color-primary-500);--btn-primary-gradient-end:oklch(from var(--color-primary-500) calc(l - .05) c h);--btn-primary-hover-transform:scale(1.02) translateY(-1px);--btn-secondary-bg:var(--surface-card);--btn-secondary-border:var(--cocovox-neutral-300,var(--border-color-default));--btn-utility-danger-bg:var(--cocovox-error-100,color-mix(in srgb, var(--color-error) 15%, white));--btn-utility-danger-color:var(--cocovox-error-600,color-mix(in srgb, var(--color-error) 80%, black));--lesson-card-primary:var(--cocovox-primary-500,var(--color-primary-500));--lesson-card-secondary:var(--cocovox-primary-600,var(--color-primary-600));--lesson-card-light:var(--cocovox-primary-100,color-mix(in srgb, var(--color-primary-500) 15%, white));--lesson-card-rgb:59, 130, 246;--material-quiz-primary:var(--cocovox-success-500,var(--color-success));--material-quiz-secondary:var(--cocovox-success-600,color-mix(in srgb, var(--color-success) 80%, black));--material-quiz-light:var(--cocovox-success-100,color-mix(in srgb, var(--color-success) 15%, white));--material-quiz-rgb:16, 185, 129;--material-flashcards-primary:var(--cocovox-purple-500,#8b5cf6);--material-flashcards-secondary:var(--cocovox-purple-600,#6f4ac5);--material-flashcards-light:var(--cocovox-purple-100,#eee7fe);--material-flashcards-rgb:139, 92, 246;--material-test-primary:var(--cocovox-warning-500,var(--color-warning));--material-test-secondary:var(--cocovox-warning-600,color-mix(in srgb, var(--color-warning) 80%, black));--material-test-light:var(--cocovox-warning-100,color-mix(in srgb, var(--color-warning) 15%, white));--material-test-rgb:245, 158, 11;--interactive-card-primary:var(--cocovox-teal-500,#14b8a6);--interactive-card-secondary:var(--cocovox-teal-600,#109385);--interactive-card-light:var(--cocovox-teal-100,#dcf4f2);--interactive-card-rgb:20, 184, 166;--performance-quality:high;--frame-budget:16.67ms;--animation-complexity:full}:root:global(.dark){--card-bg-default:var(--color-neutral-800);--card-bg-elevated:var(--color-neutral-700);--card-border-color:var(--color-neutral-600);--card-text-primary:#f9fafb;--card-text-secondary:var(--color-neutral-300);--card-text-tertiary:var(--color-neutral-400);--card-text-disabled:var(--color-neutral-500);--card-shadow-base:0 1px 3px var(--color-black-alpha-30);--card-shadow-elevated:0 4px 12px var(--color-black-alpha-40);--card-shadow-hover:0 8px 25px var(--color-black-alpha-40);--lesson-card-light:color-mix(in srgb, var(--lesson-card-primary) 15%, transparent);--material-quiz-light:color-mix(in srgb, var(--material-quiz-primary) 15%, transparent);--material-flashcards-light:color-mix(in srgb, var(--material-flashcards-primary) 15%, transparent);--material-test-light:color-mix(in srgb, var(--material-test-primary) 15%, transparent);--interactive-card-light:color-mix(in srgb, var(--interactive-card-primary) 15%, transparent);contain:layout style}:root{--color-system-initialized:1;--color-success:var(--color-success-500,#22c55e);--color-warning:var(--color-warning-500,#f59e0b);--color-error:var(--color-error-500,#ef4444);--color-info:var(--color-info-500,#3b82f6)}}@layer theme{:where(.dark){--color-primary-50:#e0fdf4;--color-primary-100:#b3fae6;--color-primary-200:#80f5d6;--color-primary-300:#5fe6c5;--color-primary-400:#3fd1af;--color-primary-500:#23ad8f;--color-primary-600:#168f7d;--color-primary-700:#0d6b5d;--color-primary-800:#095544;--color-primary-900:#064036;--color-primary-rgb:35 173 143;--color-primary-alpha-5:#23ad8f0d;--color-primary-alpha-10:#23ad8f1a;--color-primary-alpha-15:#23ad8f26;--color-primary-alpha-20:#23ad8f33;--color-primary-alpha-25:#23ad8f40;--color-primary-alpha-30:#23ad8f4d;--color-primary-alpha-50:#23ad8f80;--border-color-default:var(--color-neutral-700);--border-color-muted:var(--color-neutral-800);--border-color-strong:var(--color-neutral-600);--border-hover:var(--color-neutral-600);--border-active:var(--color-neutral-500);--border-focus:var(--color-primary-400);--surface-background:var(--color-neutral-50);--surface-card:var(--color-neutral-100);--surface-elevated:var(--color-neutral-200);--surface-overlay:#1f2937f2;--surface-interactive:var(--color-neutral-200);--surface-hover:var(--color-neutral-200);--surface-active:var(--color-neutral-300);--surface-disabled:var(--color-neutral-800);--surface-selected:var(--color-primary-900);--surface-focus:var(--color-primary-alpha-10);--surface-primary:var(--color-primary-900);--surface-primary-hover:var(--color-primary-800);--surface-secondary:var(--color-secondary-900);--surface-secondary-hover:var(--color-secondary-800);--surface-accent:var(--color-accent-900);--surface-accent-hover:var(--color-accent-800);--text-primary:var(--color-neutral-900);--text-secondary:var(--color-neutral-700);--text-tertiary:var(--color-neutral-400);--text-inverse:var(--color-neutral-50);--surface-tooltip:var(--color-neutral-200);--text-tooltip:var(--color-neutral-900);--color-logo:var(--color-white);--text-on-primary:var(--color-neutral-900);--text-on-success:var(--color-neutral-900);--text-on-error:var(--color-neutral-900);--text-on-warning:var(--color-neutral-50);--text-on-info:var(--color-neutral-900);--text-secondary-alpha-70:rgba(var(--color-neutral-rgb), .7);--color-text-primary:var(--text-primary);--color-text-secondary:var(--text-secondary);--color-text-tertiary:var(--text-tertiary);--color-disabled:var(--color-neutral-600);--text-disabled:var(--color-neutral-500);--color-link:var(--color-primary-400);--color-link-hover:var(--color-primary-300);--focus-ring-color:var(--focus-ring-color-dark);--focus-ring:var(--focus-ring-dark);--color-medal-gold:#ffc800;--color-medal-gold-light:#ffe14e;--color-medal-silver:#d4d4d4;--color-medal-silver-light:#f0f0f0;--color-medal-bronze:#d98942;--color-medal-bronze-light:#e8b56d;--color-error-icon:#f87171;--color-info-icon:#60a5fa;--surface-info:#3b82f61a;--surface-info-hover:#3b82f626;--text-info:var(--color-primary-300);--icon-info:var(--color-primary-400);--border-info:#3b82f640;--surface-warning:#f59e0b1a;--surface-warning-hover:#f59e0b26;--text-warning:#fbbf24;--icon-warning:var(--color-warning);--border-warning:#f59e0b40;--surface-error:#ef44441a;--surface-error-hover:#ef444426;--text-error:#fca5a5;--icon-error:#f87171;--border-error:#ef444440;--surface-critical:#dc262626;--surface-critical-hover:#dc262633;--text-critical:#fca5a5;--icon-critical:var(--color-error);--border-critical:#dc26264d;--shadow-sm:0 1px 2px 0 #0000004d;--shadow-base:0 1px 3px 0 #0006, 0 1px 2px 0 #0000004d;--shadow-md:0 4px 6px -1px #0006, 0 2px 4px -1px #0000004d;--shadow-lg:0 10px 15px -3px #0006, 0 4px 6px -2px #00000040;--shadow-xl:0 20px 25px -5px #0006, 0 10px 10px -5px #0003;--pill-tab-active-bg:var(--color-neutral-700);--pill-tab-active-shadow:0 1px 3px #0000004d;--pill-tab-border-color:var(--color-neutral-600);--color-surface-code:var(--theme-surface-code,var(--color-neutral-850));--color-surface-code-block:var(--theme-surface-code-block,var(--color-neutral-950));--color-text-code:var(--theme-text-code,var(--color-neutral-200));--color-text-code-block:var(--theme-text-code-block,var(--color-neutral-100));--card-sage:color-mix(in srgb, var(--card-sage-dark) 10%, var(--surface-card));--card-sage-tint:color-mix(in srgb, var(--card-sage-dark) 20%, var(--surface-card));--card-coral:color-mix(in srgb, var(--card-coral-dark) 10%, var(--surface-card));--card-coral-tint:color-mix(in srgb, var(--card-coral-dark) 20%, var(--surface-card));--card-blue:color-mix(in srgb, var(--card-blue-dark) 10%, var(--surface-card));--card-blue-tint:color-mix(in srgb, var(--card-blue-dark) 20%, var(--surface-card));--card-white:var(--surface-card);--card-white-tint:var(--surface-elevated);--card-purple:color-mix(in srgb, var(--card-purple-dark) 10%, var(--surface-card));--card-purple-tint:color-mix(in srgb, var(--card-purple-dark) 20%, var(--surface-card));--card-pink:color-mix(in srgb, var(--card-pink-dark) 10%, var(--surface-card));--card-pink-tint:color-mix(in srgb, var(--card-pink-dark) 20%, var(--surface-card))}:root{--learning-spacing-xs:var(--space-1,.25rem);--learning-spacing-sm:var(--space-2,.5rem);--learning-spacing-md:var(--space-4,1rem);--learning-spacing-lg:var(--space-6,1.5rem);--learning-spacing-xl:var(--space-8,2rem);--learning-spacing-2xl:var(--space-12,3rem);--learning-section-spacing:var(--learning-spacing-md);--learning-section-gap:var(--learning-spacing-md);--learning-header-spacing:var(--learning-spacing-lg);--learning-content-padding:var(--learning-spacing-lg);--learning-text-xs:var(--font-size-xs);--learning-text-sm:var(--font-size-sm);--learning-text-base:var(--font-size-base);--learning-text-lg:var(--font-size-lg);--learning-text-xl:var(--font-size-xl);--learning-text-2xl:var(--font-size-2xl);--learning-text-3xl:var(--font-size-3xl);--learning-radius-sm:var(--radius-sm);--learning-radius-md:var(--radius-md);--learning-radius-lg:var(--radius-lg);--learning-radius-xl:var(--radius-xl);--learning-radius-full:var(--radius-full);--learning-card-radius:var(--learning-radius-lg);--learning-button-radius:var(--learning-radius-md);--learning-section-radius:var(--learning-radius-md);--learning-shadow-sm:var(--shadow-sm);--learning-shadow-md:var(--shadow-md);--learning-shadow-lg:var(--shadow-lg);--learning-shadow-xl:var(--shadow-xl);--learning-card-shadow:var(--shadow-md);--learning-card-shadow-hover:var(--shadow-lg);--learning-section-shadow:var(--shadow-sm);--learning-transition-fast:var(--cocovox-duration-quick,.15s) var(--cocovox-ease-signature);--learning-transition-normal:var(--cocovox-duration-smooth,.25s) var(--cocovox-ease-signature);--learning-transition-slow:var(--cocovox-duration-relaxed,.4s) var(--cocovox-ease-signature);--learning-lesson-color:var(--color-primary,var(--color-primary-500));--learning-exercise-color:var(--color-success,var(--color-success));--learning-flashcards-color:var(--color-accent);--learning-quiz-color:var(--color-warning,var(--color-warning));--learning-test-color:var(--color-error,var(--color-error));--learning-evaluation-color:var(--color-info);--learning-lesson-bg:color-mix(in srgb, var(--learning-lesson-color) 5%, var(--surface-card));--learning-exercise-bg:color-mix(in srgb, var(--learning-exercise-color) 5%, var(--surface-card));--learning-flashcards-bg:color-mix(in srgb, var(--learning-flashcards-color) 5%, var(--surface-card));--learning-quiz-bg:color-mix(in srgb, var(--learning-quiz-color) 5%, var(--surface-card));--learning-test-bg:color-mix(in srgb, var(--learning-test-color) 5%, var(--surface-card));--learning-card-bg:var(--surface-card);--learning-card-bg-hover:var(--surface-card-hover);--learning-card-border:var(--color-border);--learning-card-border-hover:var(--color-border-light);--learning-content-bg:var(--surface-background);--learning-progress-size:48px;--learning-progress-track-width:3px;--learning-progress-fill-width:4px;--learning-progress-bg:var(--color-neutral-200);--learning-progress-primary:var(--color-primary-500);--learning-progress-success:var(--color-success);--learning-progress-text:var(--text-primary);--learning-state-active:var(--color-primary-500);--learning-state-completed:var(--color-success);--learning-state-disabled:var(--color-neutral-400);--learning-state-locked:var(--color-neutral-500);--learning-icon-size:1.5rem;--learning-icon-size-sm:1.25rem;--learning-icon-size-lg:2rem;--learning-section-icon-bg:var(--surface-card);--learning-metric-text:var(--text-secondary);--learning-metric-value:var(--text-primary);--learning-metric-icon:var(--color-neutral-500);--learning-skeleton-bg:var(--color-neutral-200);--learning-skeleton-highlight:var(--color-neutral-100);--learning-loading-overlay:rgba(var(--color-neutral-50), .8);--mastery-color-mastered:var(--color-success,#10b981);--mastery-color-proficient:#22c55e;--mastery-color-progress:var(--color-warning,#eab308);--mastery-color-beginning:#f97316;--mastery-color-not-started:var(--color-error,#ef4444);--mastery-rgb-mastered:16, 185, 129;--mastery-rgb-proficient:34, 197, 94;--mastery-rgb-progress:234, 179, 8;--mastery-rgb-beginning:249, 115, 22;--mastery-rgb-not-started:239, 68, 68;--learning-hover-scale:1.02;--learning-active-scale:.98;--learning-focus-ring-width:var(--focus-ring-width);--learning-focus-ring-color:var(--focus-ring-color);--learning-focus-ring-offset:var(--focus-ring-offset);--learning-button-padding-x:1rem;--learning-button-padding-y:.625rem;--learning-button-min-height:48px;--learning-button-font-weight:600;--learning-button-border-radius:var(--theme-border-radius,.75rem);--learning-button-primary-bg:var(--theme-color-primary,var(--color-primary-500));--learning-button-primary-text:var(--theme-text-on-primary,var(--color-white));--learning-button-primary-border:color-mix(in srgb, var(--learning-button-primary-bg) 60%, transparent);--learning-button-primary-shadow:color-mix(in srgb, var(--learning-button-primary-bg) 25%, transparent);--learning-button-secondary-bg:var(--theme-surface-input,var(--color-secondary-100));--learning-button-secondary-text:var(--theme-text-primary,var(--color-secondary-800));--learning-button-secondary-border:var(--theme-border-color,var(--color-secondary-200));--learning-button-secondary-shadow:color-mix(in srgb, var(--theme-text-primary,var(--color-neutral-900)) 10%, transparent)}:where(.dark){--learning-progress-bg:var(--surface-interactive,var(--color-neutral-700));--learning-card-bg:var(--surface-card);--learning-card-bg-hover:var(--surface-hover,var(--surface-card));--learning-card-border:var(--border-color-default);--learning-card-border-hover:var(--border-focus,var(--border-color-default));--learning-content-bg:var(--surface-background);--learning-skeleton-bg:var(--surface-interactive,var(--surface-card));--learning-skeleton-highlight:var(--surface-hover,var(--surface-card));--learning-loading-overlay:#000c;--learning-section-icon-bg:var(--surface-interactive,var(--surface-card));--learning-lesson-bg:color-mix(in srgb, var(--learning-lesson-color) 8%, var(--surface-card));--learning-exercise-bg:color-mix(in srgb, var(--learning-exercise-color) 8%, var(--surface-card));--learning-flashcards-bg:color-mix(in srgb, var(--learning-flashcards-color) 8%, var(--surface-card));--learning-quiz-bg:color-mix(in srgb, var(--learning-quiz-color) 8%, var(--surface-card));--learning-test-bg:color-mix(in srgb, var(--learning-test-color) 8%, var(--surface-card));--mastery-color-mastered:#34d399;--mastery-color-proficient:#4ade80;--mastery-color-progress:#facc15;--mastery-color-beginning:#fb923c;--mastery-color-not-started:#f87171;--mastery-rgb-mastered:52, 211, 153;--mastery-rgb-proficient:74, 222, 128;--mastery-rgb-progress:250, 204, 21;--mastery-rgb-beginning:251, 146, 60;--mastery-rgb-not-started:248, 113, 113;--learning-button-primary-bg:var(--theme-color-primary,var(--color-primary-400));--learning-button-primary-text:var(--theme-text-on-primary,var(--color-neutral-900));--learning-button-primary-border:color-mix(in srgb, var(--learning-button-primary-bg) 40%, transparent);--learning-button-primary-shadow:color-mix(in srgb, var(--learning-button-primary-bg) 30%, transparent);--learning-button-secondary-bg:var(--theme-surface-input,var(--color-neutral-700));--learning-button-secondary-text:var(--theme-text-primary,var(--color-neutral-200));--learning-button-secondary-border:var(--theme-border-color,var(--color-neutral-600));--learning-button-secondary-shadow:#0003}.dark .learning-card-elevated{background:var(--learning-card-bg);box-shadow:0 1px 3px #0003}.dark .learning-card-elevated:hover{box-shadow:0 4px 12px #0000004d}.dark .learning-card-elevated.bg-learning-lesson,.dark .learning-card-elevated.bg-learning-exercise,.dark .learning-card-elevated.bg-learning-flashcards,.dark .learning-card-elevated.bg-learning-quiz,.dark .learning-card-elevated.bg-learning-test{box-shadow:0 1px 2px #0000001a}.dark .learning-card-elevated.bg-learning-lesson:hover,.dark .learning-card-elevated.bg-learning-exercise:hover,.dark .learning-card-elevated.bg-learning-flashcards:hover,.dark .learning-card-elevated.bg-learning-quiz:hover,.dark .learning-card-elevated.bg-learning-test:hover{box-shadow:0 2px 8px #0003}@container learning-module (width>=640px){:root{--learning-section-spacing:var(--learning-spacing-lg);--learning-header-spacing:var(--learning-spacing-xl)}}@media (hover:none) and (pointer:coarse){:root{--learning-icon-size:1.75rem;--learning-progress-size:56px;--learning-section-spacing:var(--learning-spacing-lg)}}}@layer components{html[data-focus-mode=true] .sidebar-outer,html[data-focus-mode=true] #sidebar,html[data-focus-mode=true] .navbar-container,html[data-focus-mode=true] nav.navbar-content,html[data-focus-mode=true] .secondary-controls,html[data-focus-mode=true] .toolbar{filter:var(--focus-mode-filter-interface);transition:filter var(--focus-mode-transition)}html[data-focus-mode=true] .chat-main-interface,html[data-focus-mode=true] .message-content,html[data-focus-mode=true] .response-content-area,html[data-focus-mode=true] .vml-message-list,html[data-focus-mode=true] .lesson-content{filter:var(--focus-mode-filter-content);transition:filter var(--focus-mode-transition)}html[data-focus-mode=true] .status-indicator,html[data-focus-mode=true] .error-message,html[data-focus-mode=true] .success-message,html[data-focus-mode=true] .warning-message{filter:var(--focus-mode-filter-accent)}.focus-mode-essential{opacity:1;filter:var(--focus-mode-filter-content);transition:opacity var(--focus-mode-transition), transform var(--focus-mode-transition)}html[data-focus-mode=true] .sidebar-outer:not(.focus-revealed),html[data-focus-mode=true] #sidebar:not(.focus-revealed){opacity:0;pointer-events:none;transition:transform var(--focus-mode-transition), opacity var(--focus-mode-transition);transform:translate(-100%)}html[data-focus-mode=true] .navbar-container:not(.focus-revealed),html[data-focus-mode=true] nav.navbar-content:not(.focus-revealed){opacity:0;pointer-events:none;transition:transform var(--focus-mode-transition), opacity var(--focus-mode-transition);transform:translateY(-100%)}html[data-focus-mode=true] .sidebar-outer.focus-revealed,html[data-focus-mode=true] #sidebar.focus-revealed,html[data-focus-mode=true] .navbar-container.focus-revealed,html[data-focus-mode=true] nav.navbar-content.focus-revealed{opacity:1;pointer-events:auto;box-shadow:var(--shadow-lg);z-index:var(--z-index-modal);transform:translate(0)}.focus-mode-reveal-zone{z-index:calc(var(--z-index-modal) - 1);cursor:pointer;opacity:0;pointer-events:auto;transition:opacity .2s;position:fixed}.focus-mode-reveal-left{width:var(--focus-mode-edge-zone-width);background:linear-gradient(to right, var(--focus-mode-edge-zone-glow), transparent);height:100%;top:0;left:0}.focus-mode-reveal-top{width:100%;height:var(--focus-mode-edge-zone-width);background:linear-gradient(to bottom, var(--focus-mode-edge-zone-glow), transparent);top:0;left:0}.focus-mode-reveal-zone:hover{opacity:1}html:not([data-focus-mode=true]) .focus-mode-reveal-zone{display:none}.sidebar-outer.revealing{animation:focus-mode-sidebar-reveal .4s var(--cocovox-ease-playful,cubic-bezier(.68, -.55, .265, 1.55))}@keyframes focus-mode-sidebar-reveal{0%{opacity:0;transform:translate(-100%)}60%{opacity:1;transform:translate(10px)}to{transform:translate(0)}}.navbar-container.revealing{animation:focus-mode-navbar-reveal .4s var(--cocovox-ease-playful,cubic-bezier(.68, -.55, .265, 1.55))}@keyframes focus-mode-navbar-reveal{0%{opacity:0;transform:translateY(-100%)}60%{opacity:1;transform:translateY(10px)}to{transform:translateY(0)}}.focus-mode-control-pill{bottom:var(--focus-mode-pill-bottom);right:var(--focus-mode-pill-right);padding:var(--space-2) var(--space-4);background:var(--surface-card);border:1px solid var(--border-color-default);border-radius:var(--radius-full);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(12px);z-index:var(--z-index-modal);cursor:pointer;animation:4s ease-in-out 3 focus-pill-breathe;display:none;position:fixed}@keyframes focus-pill-breathe{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-2px)scale(1.02)}}.focus-mode-hint{top:50%;left:var(--space-4);padding:var(--space-2) var(--space-3);background:var(--surface-card);border:1px solid var(--border-color-default);border-radius:var(--radius-md);box-shadow:var(--shadow-md);font-size:var(--font-size-sm);color:var(--text-secondary);opacity:0;pointer-events:none;z-index:var(--z-index-tooltip);transition:opacity .3s;position:fixed;transform:translateY(-50%)}html[data-focus-mode=true][data-focus-mode-first-time=true] .focus-mode-hint{opacity:1;transition-delay:.5s;animation:3s ease-in-out 3s forwards focus-hint-fade-out}@keyframes focus-hint-fade-out{0%{opacity:1}to{opacity:0}}html[data-focus-mode=true] .sidebar-outer:has(:focus-visible),html[data-focus-mode=true] .navbar-container:has(:focus-visible){opacity:1;pointer-events:auto;box-shadow:var(--shadow-lg);z-index:var(--z-index-modal);transform:translate(0)}html[data-focus-mode=true]{animation:1.2s ease-out focus-mode-activate}@keyframes focus-mode-activate{0%{filter:none}33%{filter:brightness(.98)}66%{filter:var(--focus-mode-filter-interface)}to{filter:none}}html:not([data-focus-mode=true]) .sidebar-outer,html:not([data-focus-mode=true]) .navbar-container{animation:.4s ease-in focus-mode-deactivate}@keyframes focus-mode-deactivate{0%{filter:var(--focus-mode-filter-interface);opacity:.7}to{filter:none;opacity:1}}.focus-mode-button{border-radius:var(--shape-button,12px);width:48px;height:48px;color:var(--text-primary);cursor:pointer;box-shadow:none;transition:opacity .2s var(--cocovox-ease-signature,cubic-bezier(.4, 0, .2, 1)), transform .2s var(--cocovox-ease-signature,cubic-bezier(.4, 0, .2, 1));-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:0 0;border:1px solid #0000;outline:2px solid #0000;justify-content:center;align-items:center;display:flex;position:relative}.focus-mode-button:hover:not(:disabled){background:var(--card-background-hover);border-color:var(--border-color-default);color:var(--text-primary);box-shadow:var(--shadow-md);transform:translateY(-1px)}.focus-mode-button:focus-visible{box-shadow:0 0 0 3px var(--focus-ring-color)}.focus-mode-button.entering{background:var(--color-primary);color:var(--text-on-primary);animation:.6s ease-out focus-button-pulse}@keyframes focus-button-pulse{0%,to{box-shadow:0 0 0 0 var(--color-primary-alpha-50,var(--color-primary-alpha-30,var(--color-primary-alpha-30,var(--color-primary-alpha-30,var(--color-primary-alpha-30,var(--color-primary-alpha-30,var(--color-primary-alpha-30,var(--color-primary-alpha-30,var(--color-primary-alpha-30,#3b82f680)))))))));transform:scale(1)}50%{box-shadow:0 0 0 12px var(--color-primary-alpha-10,var(--color-primary-alpha-10));transform:scale(1.1)}}.focus-mode-button.active{background:linear-gradient(135deg, var(--color-success), var(--color-success-dark));color:var(--text-on-primary);box-shadow:0 0 20px var(--color-success-alpha-20,var(--color-success-alpha-20)), var(--shadow-md);animation:4s ease-in-out 3 focus-button-breathe}@keyframes focus-button-breathe{0%,to{box-shadow:0 0 20px var(--color-success-alpha-20,var(--color-success-alpha-20))}50%{box-shadow:0 0 30px var(--color-success-alpha-20,var(--color-success-alpha-20))}}.focus-mode-button.exiting{animation:.4s ease-in focus-button-exit}@keyframes focus-button-exit{0%{background:var(--color-success);transform:scale(1.05)}to{background:var(--surface-card);transform:scale(1)}}.focus-mode-button .icon{width:20px;height:20px;transition:transform .3s var(--cocovox-ease-signature,cubic-bezier(.23, 1, .32, 1))}.focus-mode-button:hover:not(:disabled) .icon{transform:rotate(5deg)scale(1.05)}.focus-mode-button.active .icon{transform:scale(1.1)}.action-row-btn.focus-mode-enhanced{transition:background-color, border-color, color, box-shadow, transform .2s var(--cocovox-ease-signature,cubic-bezier(.4, 0, .2, 1));padding:var(--space-2,.5rem) var(--space-4,1rem);gap:var(--space-2,.5rem);min-height:2.5rem;position:relative;overflow:visible}button.action-row-btn.focus-mode-enhanced.focus-entering,.action-row-btn.focus-mode-enhanced.focus-entering{background:var(--color-primary);background-color:var(--color-primary);color:var(--color-white);z-index:10;border:2px solid var(--color-primary-700);transform-origin:50%;animation:.6s ease-out both focus-button-pulse}button.action-row-btn.focus-mode-enhanced.focus-active,.action-row-btn.focus-mode-enhanced.focus-active{background:linear-gradient(135deg, var(--color-success), var(--color-success-dark,#059669));background-color:var(--color-success);color:var(--color-white);box-shadow:0 0 20px var(--color-success-alpha-30,var(--color-success-alpha-30)), 0 4px 12px var(--color-black-alpha-15);border:2px solid var(--color-success);animation:4s ease-in-out 3 both focus-button-breathe}button.action-row-btn.focus-mode-enhanced.focus-exiting,.action-row-btn.focus-mode-enhanced.focus-exiting{animation:.4s ease-in both focus-button-exit}.action-row-btn.focus-mode-enhanced:hover:not(:disabled) .focus-mode-icon{transition:transform .3s var(--cocovox-ease-signature,cubic-bezier(.23, 1, .32, 1));transform:rotate(5deg)scale(1.05)}.action-row-btn.focus-active .focus-mode-icon{transition:transform .3s var(--cocovox-ease-signature,cubic-bezier(.23, 1, .32, 1));transform:scale(1.1)}.focus-mode-icon{transition:transform .3s var(--cocovox-ease-signature,cubic-bezier(.23, 1, .32, 1));transform-origin:50%;flex-shrink:0;width:1.25rem;height:1.25rem}.action-row-btn.focus-mode-enhanced:hover:not(:disabled):not(.focus-active){box-shadow:var(--shadow-sm);transform:translateY(-1px)}.focus-mode-announcer{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}@supports not (gap:1rem){.flex-gap-2>*+*{margin-left:var(--space-2,.5rem)}.flex-gap-4>*+*{margin-left:var(--space-4,1rem)}.flex-gap-6>*+*{margin-left:var(--space-6,1.5rem)}.grid-gap-2>*{margin:var(--space-1,.25rem)}.grid-gap-4>*{margin:var(--space-2,.5rem)}}.backdrop-blur-sm,.backdrop-blur,.backdrop-blur-md,.backdrop-blur-lg,.backdrop-blur-xl{backdrop-filter:blur(4px)}.backdrop-blur-none{backdrop-filter:none}@supports not (backdrop-filter:blur(1px)){.glass-morphism,.backdrop-blur-sm,.backdrop-blur,.backdrop-blur-md,.backdrop-blur-lg,.backdrop-blur-xl{background:var(--color-white-alpha-95)}.dark .glass-morphism,.dark .backdrop-blur-sm,.dark .backdrop-blur,.dark .backdrop-blur-md,.dark .backdrop-blur-lg,.dark .backdrop-blur-xl{background:var(--color-black-alpha-90)}}@supports not (aspect-ratio:1 / 1){.aspect-square{height:0;padding-bottom:100%;position:relative}.aspect-video{height:0;padding-bottom:56.25%;position:relative}.aspect-square>*,.aspect-video>*{width:100%;height:100%;position:absolute;top:0;left:0}}:root{--fallback-primary:var(--color-primary-500);--fallback-secondary:var(--color-neutral-500);--fallback-surface:var(--color-white);--fallback-text:var(--color-neutral-800);--fallback-primary-dark:#60a5fa;--fallback-secondary-dark:var(--color-neutral-400);--fallback-surface-dark:var(--color-neutral-800);--fallback-text-dark:#f9fafb}@supports not selector(:has(*)){.form-group:not(:empty){border-color:var(--color-border-focus,var(--color-primary-500))}.card:not(:empty){box-shadow:0 1px 3px var(--color-black-alpha-10)}}@supports not (container-type:inline-size){@media (width<=640px){.responsive-layout{grid-template-columns:1fr}.mobile-stack{flex-direction:column}}@media (width>=640px) and (width<=1024px){.responsive-layout{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.responsive-layout{grid-template-columns:repeat(3,1fr)}}}@supports not (scroll-behavior:smooth){html{scroll-behavior:auto}}@supports not (margin-inline:1rem){.margin-inline-4{margin-left:var(--space-4,1rem);margin-right:var(--space-4,1rem)}.padding-inline-4{padding-left:var(--space-4,1rem);padding-right:var(--space-4,1rem)}}@supports not (font-size:clamp(1rem, 2vw, 2rem)){.responsive-text{font-size:var(--text-xl,1.25rem)}@media (width>=768px){.responsive-text{font-size:var(--text-2xl,1.5rem)}}@media (width>=1024px){.responsive-text{font-size:1.75rem}}}@media screen and (-ms-high-contrast:active),screen and (-ms-high-contrast:none){.flex{display:flex}.flex-1{flex:1}.grid{display:-ms-grid;display:grid}.backdrop-filter,.glass-morphism{-webkit-backdrop-filter:none;background:var(--color-white-alpha-95)}}@media (prefers-contrast:more){.sticky-note.selected,.flashcard-set.selected,.sticky-note:focus-within{box-shadow:var(--canvas-shadow-2), 0 0 0 3px currentColor}.zoom-indicator{background:#000;border:2px solid #fff}}.toolbar{justify-content:center;align-items:center;gap:var(--canvas-toolbar-gap);padding:var(--canvas-toolbar-padding);min-height:var(--canvas-toolbar-height);background:color-mix(in srgb, var(--color-surface) 80%, transparent 20%);-webkit-backdrop-filter:blur(var(--canvas-toolbar-backdrop-blur)) saturate(1.8);border-radius:var(--canvas-toolbar-border-radius);border:1px solid var(--border-color-muted);box-shadow:0 8px 32px var(--color-black-alpha-5), 0 2px 8px var(--color-black-alpha-5), inset 0 1px 0 var(--color-white-alpha-50);contain:layout style paint;will-change:transform, opacity;transition:opacity, transform var(--canvas-timing-normal) var(--canvas-easing-standard);user-select:none;display:flex}.toolbar.fullscreen{background:var(--color-black-alpha-90);border-color:var(--color-white-alpha-10);box-shadow:0 8px 32px var(--color-black-alpha-30), 0 2px 8px var(--color-black-alpha-20), inset 0 1px 0 var(--color-white-alpha-10)}.toolbar-btn{justify-content:center;align-items:center;gap:var(--canvas-button-gap);padding:var(--canvas-button-padding);min-height:var(--canvas-button-height);border-radius:var(--canvas-button-border-radius);background:var(--color-white-alpha-60);-webkit-backdrop-filter:blur(8px);border:1px solid var(--color-black-alpha-5);font-size:var(--canvas-font-size-sm);font-weight:var(--font-medium,500);color:var(--text-primary);cursor:pointer;transition:opacity, transform var(--canvas-timing-normal) var(--canvas-easing-standard);contain:layout style;will-change:transform, background-color, box-shadow;white-space:nowrap;line-height:1;display:flex;position:relative}.toolbar-btn:hover{background:var(--color-white-alpha-80);border-color:var(--color-black-alpha-10);box-shadow:0 4px 12px var(--color-black-alpha-10), 0 2px 4px var(--color-black-alpha-5), inset 0 1px 0 var(--color-white-alpha-80);transform:translateY(-1px)}.toolbar-btn:active{box-shadow:0 2px 6px var(--color-black-alpha-10), inset 0 1px 2px var(--color-black-alpha-10);transition:opacity, transform var(--canvas-timing-fast) var(--canvas-easing-standard);transform:translateY(0)scale(.98)}.toolbar-btn:focus-visible{outline:2px solid var(--canvas-selection-color);outline-offset:2px;box-shadow:0 4px 12px var(--color-black-alpha-10), 0 0 0 3px color-mix(in srgb, var(--color-primary) 20%, transparent)}.toolbar-btn:disabled{opacity:.5;cursor:not-allowed;background:var(--color-white-alpha-30);border-color:var(--color-black-alpha-5);box-shadow:none;transform:none}.toolbar-btn svg{width:16px;height:16px;transition:transform var(--canvas-timing-fast) var(--canvas-easing-standard);flex-shrink:0}.toolbar-btn:hover svg{transform:scale(1.05)}.toolbar-btn:active svg{transform:scale(.95)}.toolbar-btn.primary{background:var(--canvas-selection-color);color:var(--color-text-inverse);border-color:color-mix(in srgb, var(--canvas-selection-color) 80%, transparent);box-shadow:0 4px 12px color-mix(in srgb, var(--color-primary) 25%, transparent), 0 2px 4px color-mix(in srgb, var(--color-primary) 15%, transparent), inset 0 1px 0 var(--color-white-alpha-20)}.toolbar-btn.primary:hover{background:color-mix(in srgb, var(--canvas-selection-color) 90%, white);box-shadow:0 6px 16px color-mix(in srgb, var(--color-primary) 30%, transparent), 0 3px 6px color-mix(in srgb, var(--color-primary) 20%, transparent), inset 0 1px 0 var(--color-white-alpha-30)}.toolbar-btn.success{background:var(--color-success);color:var(--color-text-inverse);border-color:var(--color-success-dark)}.toolbar-btn.success:hover{background:var(--color-success-600);box-shadow:0 4px 12px color-mix(in srgb, var(--color-success) 30%, transparent), inset 0 1px 0 var(--color-white-alpha-20)}.toolbar-btn.danger{background:var(--color-error);color:var(--color-text-inverse);border-color:var(--color-error-dark)}.toolbar-btn.danger:hover{background:var(--color-error-500);box-shadow:0 4px 12px color-mix(in srgb, var(--color-error) 30%, transparent), inset 0 1px 0 var(--color-white-alpha-20)}.toolbar-dropdown{position:relative}.toolbar-dropdown-menu{background:var(--color-white-alpha-90);-webkit-backdrop-filter:blur(20px)saturate(1.8);border:1px solid var(--color-black-alpha-10);border-radius:var(--radius-lg,16px);box-shadow:0 12px 48px var(--color-black-alpha-10), 0 4px 16px var(--color-black-alpha-10), inset 0 1px 0 var(--color-white-alpha-80);padding:var(--space-2);contain:layout style paint;opacity:0;pointer-events:none;min-width:160px;transition:opacity, transform var(--canvas-timing-normal) var(--canvas-easing-decelerate);z-index:var(--canvas-elevation-overlay);position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%)translateY(-8px)scale(.95)}.toolbar-dropdown-menu.open{opacity:1;pointer-events:auto;transform:translate(-50%)translateY(0)scale(1)}.toolbar-dropdown-item{align-items:center;gap:var(--space-2);padding:var(--space-2) 12px;border-radius:var(--radius-base,8px);font-size:var(--canvas-font-size-sm);font-weight:var(--font-medium,500);color:var(--text-primary);cursor:pointer;transition:opacity, transform var(--canvas-timing-fast) var(--canvas-easing-standard);text-align:left;background:0 0;border:none;width:100%;text-decoration:none;display:flex}.toolbar-dropdown-item:hover{background:color-mix(in srgb, var(--color-primary) 8%, transparent);color:var(--canvas-selection-color)}.toolbar-dropdown-item:active{background:color-mix(in srgb, var(--color-primary) 12%, transparent);transform:scale(.98)}.color-picker-container{position:relative}.color-suggestions{gap:var(--space-2);background:var(--color-white-alpha-90);-webkit-backdrop-filter:blur(16px)saturate(1.5);border:1px solid var(--color-black-alpha-10);border-radius:var(--radius-lg,16px);padding:var(--space-4);box-shadow:0 8px 32px var(--color-black-alpha-10), 0 2px 8px var(--color-black-alpha-10);opacity:0;pointer-events:none;transition:opacity, transform var(--canvas-timing-normal) var(--canvas-easing-decelerate);z-index:var(--canvas-elevation-overlay);grid-template-columns:repeat(5,1fr);display:grid;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%)translateY(-4px)scale(.95)}.color-suggestions.open{opacity:1;pointer-events:auto;transform:translate(-50%)translateY(0)scale(1)}.color-suggestion{border-radius:var(--radius-full,50%);border:2px solid var(--color-white-alpha-80);cursor:pointer;width:32px;height:32px;box-shadow:0 2px 8px var(--color-black-alpha-20), inset 0 1px 2px var(--color-white-alpha-30);transition:opacity, transform var(--canvas-timing-fast) var(--canvas-easing-standard);position:relative;overflow:hidden}.color-suggestion:hover{border-color:var(--color-white);box-shadow:0 4px 12px var(--color-black-alpha-20), 0 0 0 3px color-mix(in srgb, var(--color-primary) 30%, transparent);transform:scale(1.15)}.color-suggestion:active{transform:scale(1.05)}:global(.dark) .toolbar{background:var(--color-black-alpha-80);border-color:var(--color-white-alpha-10);box-shadow:0 8px 32px var(--color-black-alpha-50), 0 2px 8px var(--color-black-alpha-20), inset 0 1px 0 var(--color-white-alpha-5)}:global(.dark) .toolbar-btn{background:color-mix(in srgb, var(--color-neutral-800) 60%, transparent);border-color:var(--color-white-alpha-5);color:var(--text-secondary)}:global(.dark) .toolbar-btn:hover{background:color-mix(in srgb, var(--color-neutral-700) 80%, transparent);border-color:var(--color-white-alpha-10)}:is(:global(.dark) .toolbar-dropdown-menu,:global(.dark) .color-suggestions){background:var(--color-black-alpha-90);border-color:var(--color-white-alpha-10)}:global(.dark) .toolbar-dropdown-item{color:var(--text-secondary)}:global(.dark) .toolbar-dropdown-item:hover{background:color-mix(in srgb, var(--color-primary) 15%, transparent);color:var(--color-primary-400)}@media (width<=768px){.toolbar{justify-content:space-around;gap:var(--space-2);width:100%;padding:var(--space-2) 16px;background:var(--color-white-alpha-90);backdrop-filter:blur(20px)saturate(2)}.toolbar-btn{gap:var(--space-2);padding:var(--space-2);min-width:48px;font-size:var(--canvas-font-size-xs);flex-direction:column}.toolbar-btn span{@media (width<=480px){display:none}}.toolbar-dropdown-menu{position:fixed;top:auto;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.color-suggestions{gap:var(--space-2);padding:var(--space-4);grid-template-columns:repeat(4,1fr)}.color-suggestion{width:40px;height:40px}}@media (prefers-contrast:more){.toolbar,.toolbar-btn{background:var(--color-white);border:2px solid var(--color-black);backdrop-filter:none}.toolbar-btn:hover{background:var(--color-neutral-900);color:var(--color-text-inverse)}.color-suggestion{border:3px solid var(--color-black)}}@layer overrides{@media (prefers-reduced-motion:reduce){.toolbar,.toolbar-btn,.toolbar-dropdown-menu,.color-suggestions,.color-suggestion{transition:none!important;animation:none!important;transform:none!important}.toolbar-btn:hover,.toolbar-btn:active{transform:none!important}}}@keyframes toolbar-slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.toolbar.entering{animation:toolbar-slide-up var(--canvas-timing-normal) var(--canvas-easing-decelerate)}@keyframes button-pulse{0%,to{box-shadow:0 4px 12px var(--color-black-alpha-10), 0 2px 4px var(--color-black-alpha-10)}50%{box-shadow:0 4px 12px color-mix(in srgb, var(--color-primary) 30%, transparent), 0 2px 4px color-mix(in srgb, var(--color-primary) 20%, transparent)}}.toolbar-btn.pulse{animation:1s ease-in-out 3 button-pulse}@media (prefers-reduced-motion:reduce){.infinite-canvas.panning{filter:none}.gesture-hint-pan,.gesture-hint-pinch{display:none}}.canvas-element[data-culled=true],.canvas-element[data-pooled=true]{display:none}.infinite-canvas-container .canvas-layer-background{z-index:0;position:absolute}.infinite-canvas-container .canvas-layer-grid{z-index:1;position:absolute}.infinite-canvas-container .canvas-layer-content{z-index:2;position:relative}.infinite-canvas-container .canvas-layer-toolbar{z-index:10;pointer-events:auto;position:absolute;bottom:0;left:0;right:0}.infinite-canvas-container .canvas-layer-overlay{z-index:100;pointer-events:auto;position:absolute}.infinite-canvas-container .stats-overlay{z-index:var(--z-index-dropdown);visibility:visible;opacity:1;pointer-events:none;background:var(--color-white-alpha-90);backdrop-filter:blur(20px)saturate(1.8);border-radius:var(--radius-lg,16px);padding:var(--space-4);box-shadow:0 8px 32px var(--color-black-alpha-10), 0 2px 8px var(--color-neutral-alpha-5), inset 0 1px 0 var(--color-white-alpha-60);border:1px solid var(--color-white-alpha-20);will-change:opacity, transform;display:block;position:absolute;top:20px;right:20px;transform:translateZ(0)}.infinite-canvas-container .stats-overlay.fullscreen{top:10px;right:10px}.infinite-canvas-container .stats-compact{gap:var(--space-5);align-items:center;display:flex}.infinite-canvas-container .stat-item{align-items:center;gap:var(--space-2);font-size:var(--text-sm,.875rem);font-weight:var(--font-medium,500);color:var(--canvas-text);display:flex}.infinite-canvas-container .stat-value{font-weight:var(--font-bold,700);font-size:var(--text-base,1rem);color:var(--primary-color)}.infinite-canvas-container .stat-label{font-size:var(--text-xs,.75rem);opacity:.8}.infinite-canvas-container .toolbar-container{z-index:50;pointer-events:auto;display:block;position:absolute;bottom:20px;left:20px;right:20px}.infinite-canvas-container .toolbar-container+.toolbar-container{display:none}.demo-canvas:not(.no-statistics) .infinite-canvas-container .stats-overlay{visibility:visible;opacity:1;display:block}.demo-canvas.no-statistics .infinite-canvas-container .stats-overlay{visibility:hidden;opacity:0;display:none}@container (width<=640px){.infinite-canvas-container .stats-overlay{padding:var(--space-3);top:12px;left:12px;right:12px}.infinite-canvas-container .stats-compact{gap:var(--space-3);flex-direction:column}.infinite-canvas-container .toolbar-container{bottom:12px;left:12px;right:12px}}.infinite-canvas-container.gpu-accelerated .stats-overlay{will-change:transform, opacity;transform:translate(0,0)}.infinite-canvas-container.gpu-accelerated .toolbar-container{will-change:transform;transform:translate(0,0)}.infinite-canvas-container[data-debug=true] .stats-overlay{background:var(--color-error-alpha-10);outline:2px solid red}.infinite-canvas-container[data-debug=true] .toolbar-container{background:var(--color-info-alpha-10);outline:2px solid #00f}.infinite-canvas-container[data-debug=true] .canvas-layer-overlay{outline:1px solid green}@media (prefers-reduced-motion:reduce){.infinite-canvas.panning{filter:none}}.embedded-action-container{padding:var(--learning-spacing-lg,1.5rem) var(--learning-spacing,1rem);margin:var(--learning-spacing-md,1rem) 0;background:linear-gradient(135deg, var(--surface-secondary), color-mix(in srgb, var(--surface-secondary) 95%, var(--color-primary-50)));border-radius:var(--theme-radius-card,var(--learning-radius,16px));border:2px dashed var(--border-color-default);min-height:96px;box-shadow:inset 0 1px 0 var(--color-white-alpha-10), 0 1px 3px var(--color-black-alpha-5);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.embedded-action-container .btn-learning-base{min-width:240px;max-width:320px;padding:var(--learning-button-padding-y,1rem) var(--learning-button-padding-x,2rem);font-size:var(--learning-button-font-size,1rem);font-weight:var(--font-semibold,600);letter-spacing:.025em;border-radius:var(--theme-radius-button,8px);box-shadow:0 4px 6px -1px var(--color-black-alpha-10), 0 2px 4px -1px var(--color-black-alpha-5), 0 0 0 1px var(--learning-button-primary-border), inset 0 1px 0 var(--color-white-alpha-10);transition:opacity, transform var(--theme-duration-standard,.35s) var(--theme-easing-standard,cubic-bezier(.4, 0, .2, 1));-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;line-height:1.4}.embedded-action-container .btn-learning-base:hover{box-shadow:0 12px 20px -3px var(--color-black-alpha-20), 0 6px 8px -2px var(--color-black-alpha-10), 0 0 25px var(--color-primary-alpha-25), 0 0 0 1px var(--learning-button-primary-bg), inset 0 1px 0 var(--color-white-alpha-20);background:linear-gradient(135deg, color-mix(in srgb, var(--learning-button-primary-bg) 110%, var(--color-white)), var(--learning-button-primary-bg));transform:translateY(-4px)scale(1.03)}.embedded-action-container .btn-learning-base:active{transition:opacity, transform var(--theme-duration-fast,.15s) var(--theme-easing-standard,cubic-bezier(.4, 0, .2, 1));transform:translateY(-1px)scale(1.01)}.embedded-action-container .btn-learning-base:focus-visible{outline:4px solid var(--focus-ring-color,var(--color-primary-500));outline-offset:4px;box-shadow:0 0 0 8px var(--color-primary-alpha-25), 0 4px 12px var(--color-black-alpha-20), 0 0 25px var(--color-primary-alpha-30);z-index:10}.embedded-action-container .btn-learning-base .button-icon{justify-content:center;align-items:center;transition:transform .3s cubic-bezier(.4,0,.2,1);display:inline-flex}.embedded-action-container .btn-learning-base:hover .button-icon{transform:scale(1.1)}.embedded-action-container:before{content:"";background:radial-gradient(circle at center, var(--color-primary-alpha-30) 0%, transparent 70%);opacity:0;pointer-events:none;transition:opacity .3s ease-out;position:absolute;inset:0}.embedded-action-container:hover:before{opacity:1}.action-buttons-container{gap:var(--learning-spacing,1rem);flex-wrap:wrap;justify-content:center;align-items:center;width:auto;display:flex}.action-buttons-container .btn-learning-primary{min-width:200px;padding:var(--learning-button-padding-y,1rem) var(--learning-button-padding-x,1.5rem);font-weight:var(--font-semibold,600);border-radius:var(--theme-radius-button,8px);box-shadow:0 4px 6px -1px var(--color-black-alpha-10), 0 2px 4px -1px var(--color-black-alpha-5), inset 0 1px 0 var(--color-white-alpha-10);transition:background-color, border-color, color, box-shadow, transform var(--theme-duration-standard,.3s) var(--theme-easing-standard,cubic-bezier(.4, 0, .2, 1))}.action-buttons-container .btn-learning-primary:hover{box-shadow:0 8px 15px -3px var(--color-black-alpha-20), 0 4px 6px -2px var(--color-black-alpha-10), 0 0 20px var(--color-primary-alpha-20), inset 0 1px 0 var(--color-white-alpha-15);box-shadow:0 8px 15px -3px var(--color-black-alpha-15), 0 4px 6px -2px var(--color-black-alpha-10), 0 0 20px var(--color-primary-alpha-20), inset 0 1px 0 var(--color-white-alpha-15);transform:translateY(-2px)scale(1.02)}:global(.dark) .embedded-action-container{background:linear-gradient(135deg, var(--surface-secondary), color-mix(in srgb, var(--surface-secondary) 95%, var(--surface-primary)));border-color:var(--border-color-default);box-shadow:inset 0 1px 0 var(--color-white-alpha-5), 0 1px 3px var(--color-black-alpha-20)}:global(.dark) .embedded-action-container .btn-learning-base{box-shadow:0 4px 6px -1px var(--color-black-alpha-30), 0 2px 4px -1px var(--color-black-alpha-20), 0 0 0 1px var(--learning-button-primary-border), inset 0 1px 0 var(--color-white-alpha-5)}:global(.dark) .embedded-action-container .btn-learning-base:hover{box-shadow:0 12px 20px -3px var(--color-black-alpha-30), 0 6px 8px -2px var(--color-black-alpha-20), 0 0 25px var(--color-primary-alpha-30), 0 0 0 1px var(--learning-button-primary-bg), inset 0 1px 0 var(--color-white-alpha-10)}.chat-root-container{flex-direction:column;width:100%;height:100%;display:flex;position:relative;container:chat-layout/inline-size}.chat-main-interface{flex-direction:column;width:100%;height:100%;min-height:0;transition:opacity,transform .2s;display:flex}.chat-main-interface.controls-visible{padding-right:0}@container chat-layout (width>=1024px){.chat-main-interface.controls-visible{padding-right:360px}}.chat-background-gradient{background:linear-gradient(to bottom, var(--surface-white-95), var(--color-white));z-index:0;width:100%;height:100%;position:absolute;top:0;left:0}.dark .chat-background-gradient{background:linear-gradient(to bottom, var(--theme-surface-background), var(--theme-surface-background))}.navbar-controls-group{gap:var(--space-2,.5rem);margin-left:auto;display:flex}.calendar-status-indicator{align-items:center;gap:var(--space-2,.5rem);padding:var(--space-1,.25rem) var(--space-3,.75rem);border-radius:var(--shape-badge,.375rem);background-color:var(--color-blue-50,#eff6ff);color:var(--color-blue-700,#1d4ed8);font-size:var(--text-sm,.875rem);border:1px solid var(--color-blue-200,#bfdbfe);line-height:1.25rem;display:flex}.dark .calendar-status-indicator{background-color:var(--color-primary-alpha-20);color:var(--color-blue-300,#93c5fd);border-color:var(--color-primary-alpha-30,var(--color-primary-alpha-30,var(--color-primary-alpha-30,var(--color-primary-alpha-30,var(--color-primary-alpha-30,var(--color-primary-alpha-30,var(--color-primary-alpha-30,var(--color-primary-alpha-30,#1e40af80))))))))}.status-indicator-dot{border-radius:var(--shape-avatar,9999px);width:.5rem;height:.5rem}.status-indicator-dot.in-class{background-color:var(--color-error,#ef4444);animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}.status-indicator-dot.class-soon{background-color:var(--color-orange-500,#f97316);animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}.status-indicator-dot.free-time{background-color:var(--color-success,#22c55e)}.status-warning-icon{color:var(--color-orange-600,#ea580c);margin-left:var(--space-2,.5rem)}.dark .status-warning-icon{color:var(--color-orange-400,#fb923c)}.chat-content-area{z-index:10;flex-direction:column;flex:auto;display:flex;position:relative}.chat-messages-wrapper{z-index:1;flex-direction:column;flex:auto;min-height:0;display:flex;position:relative}.chat-messages-container{scrollbar-gutter:stable;z-index:1;-webkit-overflow-scrolling:touch;touch-action:pan-y;overscroll-behavior-y:contain;-webkit-tap-highlight-color:transparent;will-change:transform, scroll-position;isolation:isolate;flex-direction:column;flex:auto;justify-content:center;width:100%;max-width:100%;height:0;display:flex;position:relative;overflow-y:auto;transform:translate(0,0)}@media (width>=769px){.chat-messages-container{contain:layout style paint}}.chat-messages-container.controls-visible{padding-right:0}@container chat-layout (width>=1024px){.chat-messages-container.controls-visible{padding-right:var(--space-4,1rem)}}.chat-messages-inner{width:100%;height:100%;padding-top:var(--space-8,2rem);flex-direction:column;display:flex}.chat-messages-inner.has-chat-id{padding:var(--space-4,1rem) 0}.chat-messages-inner.no-chat-id{padding-top:var(--space-2,.5rem);padding-bottom:var(--space-4,1rem)}.mobile-content-fixed{position:relative}.message-input-section{bottom:calc(var(--vk-height,0px) + env(safe-area-inset-bottom,0px));isolation:isolate;pointer-events:auto;background:color-mix(in oklch, var(--surface-background,#0a0a0a) 60%, transparent);backdrop-filter:blur(20px)saturate(1.3);border-top:1px solid color-mix(in oklch, var(--border-color-default,#333) 35%, transparent);padding-top:var(--space-3,.75rem);transition:opacity .3s var(--ease-emphasized-decel,ease-out), visibility 0s, transform .3s var(--ease-emphasized-decel,ease-out);position:absolute;left:0;right:0;z-index:1000!important}@media (width<=768px){.message-input-section{bottom:calc(var(--vk-height,0px) + env(safe-area-inset-bottom,0px));background:color-mix(in oklch, var(--surface-background,#0a0a0a) 75%, transparent);backdrop-filter:blur(12px);padding-top:var(--space-2,.5rem);border-top:none}}.message-input-section.input-hidden{opacity:0;visibility:hidden;pointer-events:none;z-index:-1;transition:opacity .25s var(--ease-emphasized-accel,ease-in), visibility 0s linear .25s, transform .25s var(--ease-emphasized-accel,ease-in);transform:translateY(20px)}@supports not (backdrop-filter:blur(1px)){.message-input-section{background:color-mix(in oklch, var(--surface-background,#0a0a0a) 92%, transparent)}}@media (prefers-reduced-motion:reduce){.message-input-section,.message-input-section.input-hidden{transition-duration:0s!important}}:root{--message-input-height:160px}.chat-history{padding-bottom:var(--chat-bottom-inset,calc(var(--message-input-height,160px) + var(--bottom-nav-height,0px) + var(--vk-height,0px) + env(safe-area-inset-bottom,0px)))}.mobile-content-fixed:has(.message-input-section.input-hidden) .chat-history{padding-bottom:var(--chat-bottom-inset,0px)}.course-context-hint{margin-bottom:var(--space-2,.5rem);font-size:var(--text-xs,.75rem);color:var(--color-green-600,#16a34a);background-color:var(--color-green-50,#f0fdf4);padding:var(--space-2,.5rem) var(--space-3,.75rem);border-radius:var(--shape-card,.5rem);border:1px solid var(--color-green-200,#bbf7d0);line-height:1rem;animation:.3s ease-in fadeIn,.3s ease-out slideInFromTop}.dark .course-context-hint{color:var(--color-green-400,#4ade80);background-color:var(--color-success-alpha-10);border-color:var(--color-success-alpha-30,var(--color-success-alpha-30,var(--color-success-alpha-30,var(--color-success-alpha-30,var(--color-success-alpha-30,var(--color-success-alpha-30,var(--color-success-alpha-30,var(--color-success-alpha-30,#16653480))))))))}.course-context-hint-content{align-items:center;gap:var(--space-2,.5rem);display:flex}.course-context-pulse-dot{background-color:var(--color-success,#22c55e);border-radius:var(--shape-avatar,9999px);width:.375rem;height:.375rem;animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}.course-context-close-button{color:var(--color-green-600,#16a34a);margin-left:auto;transition:color .15s}.course-context-close-button:hover{color:var(--color-green-800,#166534)}.calendar-suggestions{margin-bottom:var(--space-2,.5rem);font-size:var(--text-xs,.75rem);color:var(--color-blue-600,#2563eb);background-color:var(--color-blue-50,#eff6ff);padding:var(--space-2,.5rem) var(--space-3,.75rem);border-radius:var(--shape-card,.5rem);border:1px solid var(--color-blue-200,#bfdbfe);line-height:1rem}.dark .calendar-suggestions{color:var(--color-blue-400,#60a5fa);background-color:var(--color-primary-alpha-10);border-color:var(--color-primary-alpha-30,var(--color-primary-alpha-30,var(--color-primary-alpha-30,var(--color-primary-alpha-30,var(--color-primary-alpha-30,var(--color-primary-alpha-30,var(--color-primary-alpha-30,var(--color-primary-alpha-30,#1e40af80))))))))}.calendar-suggestions-content{align-items:center;gap:var(--space-2,.5rem);display:flex}.calendar-pulse-dot{background-color:var(--color-blue-500,#3b82f6);border-radius:var(--shape-avatar,9999px);width:.375rem;height:.375rem}.modal-overlay{z-index:var(--z-index-modal-fullscreen);background-color:var(--overlay-medium);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-container{background-color:var(--color-surface,#fff);border-radius:var(--shape-modal,.5rem);width:100%;max-width:48rem;box-shadow:0 20px 25px -5px var(--overlay-transparent), 0 8px 10px -6px var(--overlay-transparent);overflow:hidden}.dark .modal-container{background-color:var(--theme-surface-card)}.modal-header{padding:var(--space-4,1rem);border-bottom:1px solid var(--color-neutral-200,#e5e7eb);justify-content:space-between;align-items:center;display:flex}.dark .modal-header{border-bottom-color:var(--theme-color-border)}.modal-title{font-size:var(--text-xl,1.25rem);line-height:1.75rem;font-weight:var(--font-semibold,600);color:var(--color-neutral-900,#111827)}.dark .modal-title{color:var(--color-neutral-50,#f9fafb)}.modal-close-button{color:var(--color-neutral-500,#6b7280);transition:color .15s}.modal-close-button:hover{color:var(--color-neutral-700,#374151)}.dark .modal-close-button{color:var(--color-neutral-400,#9ca3af)}.dark .modal-close-button:hover{color:var(--color-neutral-200,#e5e7eb)}.modal-close-icon{width:1.5rem;height:1.5rem}.modal-content-centered{text-align:center;margin:0}.modal-empty-state-text{color:var(--color-neutral-600,#4b5563);margin-bottom:var(--space-4,1rem)}.dark .modal-empty-state-text{color:var(--color-neutral-400,#9ca3af)}.modal-feature-list{font-size:var(--text-sm,.875rem);color:var(--color-neutral-500,#6b7280);line-height:1.25rem}.modal-feature-list ul{margin-top:var(--space-2,.5rem);gap:var(--space-1,.25rem);flex-direction:column;display:flex}.fullscreen-modal-overlay{z-index:var(--z-index-modal-fullscreen);background-color:var(--overlay-medium);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.fullscreen-modal-container{background-color:var(--color-neutral-50,#f9fafb);width:100%;height:100%;position:relative;overflow:hidden}.dark .fullscreen-modal-container{background-color:var(--theme-surface-background)}.fullscreen-modal-close-container{z-index:10;position:absolute;top:1rem;right:1rem}.fullscreen-modal-close-button{color:var(--color-neutral-500,#6b7280);transition:color .2s}.fullscreen-modal-close-button:hover{color:var(--color-neutral-700,#374151)}.dark .fullscreen-modal-close-button{color:var(--color-neutral-400,#9ca3af)}.dark .fullscreen-modal-close-button:hover{color:var(--color-neutral-200,#e5e7eb)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInFromTop{0%{opacity:0;transform:translateY(-.25rem)}to{opacity:1;transform:translateY(0)}}.messages-scroll-container{justify-content:center;height:100%;display:flex;overflow-y:hidden}.container-grid-compliant{width:100%;max-width:1200px;height:100%;margin:0 auto}.message-renderer-container{gap:var(--space-6);flex-direction:column;display:flex}@supports sibling-index(){.message-renderer-container>*{-webkit-animation:enter-fade-up var(--motion-standard,.3s) var(--ease-emphasized-decel,ease-out) both;animation:enter-fade-up var(--motion-standard,.3s) var(--ease-emphasized-decel,ease-out) both;-webkit-animation-delay:calc(min(sibling-index(), 10) * 60ms);animation-delay:calc(min(sibling-index(), 10) * 60ms)}}@supports not sibling-index(){.message-renderer-container>*{-webkit-animation:enter-fade-up var(--motion-standard,.3s) var(--ease-emphasized-decel,ease-out) both;animation:enter-fade-up var(--motion-standard,.3s) var(--ease-emphasized-decel,ease-out) both;-webkit-animation-delay:calc(var(--stagger-index,0) * 60ms);animation-delay:calc(var(--stagger-index,0) * 60ms)}.message-renderer-container>:nth-child(n+11){animation-delay:.6s}}@media (prefers-reduced-motion:reduce){.message-renderer-container>*{opacity:1;animation:none;transform:translateY(0)}}.messages-loading-state{justify-content:center;align-items:center;height:100%;min-height:200px;display:flex}.messages-loading-content{align-items:center;gap:var(--space-4,1rem);flex-direction:column;display:flex}.messages-bottom-padding{padding-bottom:var(--space-8,2rem)}.user-message{width:100%;margin-bottom:var(--space-6);gap:var(--space-4);display:flex}.message-item-small{gap:var(--space-2,.5rem);flex-direction:column;width:100%;display:flex}.user-message-content{flex-direction:column;width:100%;display:flex}.user-message-bubble-wrapper{padding-bottom:var(--space-1,.25rem);width:100%;display:flex}.user-message-bubble{border-radius:var(--shape-card,1.5rem);width:100%;max-width:100%;padding:var(--space-4,1rem) 1.25rem;background-color:var(--surface-card);color:var(--text-primary);box-shadow:var(--shadow-sm)}.user-message-bubble.with-files{border-top-right-radius:.5rem}.user-message-bubble.full-width{width:100%;max-width:100%;padding:0}.user-message-actions{gap:var(--space-1,.25rem);color:var(--text-secondary);padding:0 var(--space-1,.25rem);display:flex}.user-message-actions.justify-end{justify-content:flex-end}.response-message{width:100%;margin-bottom:var(--space-6);gap:var(--space-4);display:flex}.message-item{gap:var(--space-3,.75rem);flex-direction:column;width:100%;display:flex}.message-header{align-items:center;gap:var(--space-2,.5rem);flex-direction:row;min-height:2.5rem;display:flex}.message-profile-image{flex-shrink:0;width:clamp(2rem,2vw + 1.5rem,2.5rem);height:clamp(2rem,2vw + 1.5rem,2.5rem)}.message-timestamp{margin-left:var(--space-2,.5rem);flex-shrink:0}.message-timestamp-text{visibility:hidden;color:var(--color-tertiary,hsl(var(--tertiary)));font-size:var(--text-xs,.75rem);text-transform:uppercase;margin-left:var(--space-2,.5rem);align-self:center;margin-top:-.25rem;line-height:1rem}.response-message:hover .message-timestamp-text{visibility:visible}.message-content-wrapper{width:100%;color:var(--color-primary,hsl(var(--color-primary-500)))}.message-files-container{margin-top:var(--space-4,1rem);margin-bottom:var(--space-2,.5rem);gap:var(--space-2,.5rem);flex-wrap:wrap;width:100%;display:flex;overflow-x:auto}.message-chat-role{width:100%;line-height:1.6}.message-edit-container{background-color:var(--color-card,hsl(var(--card)));border-radius:var(--shape-card,1.5rem);width:100%;padding:var(--space-3,.75rem) 1.25rem;margin-top:var(--space-2,.5rem);margin-bottom:var(--space-2,.5rem)}.message-edit-textarea{resize:none;background-color:#0000;outline:2px solid #0000;width:100%}.message-edit-actions{margin-top:var(--space-2,.5rem);margin-bottom:var(--space-2,.5rem);justify-content:flex-end;gap:var(--space-2,.5rem);font-size:var(--text-sm,.875rem);line-height:1.25rem;font-weight:var(--font-medium,500);display:flex}.message-actions-bar{justify-content:flex-start;align-items:center;gap:var(--space-1,.25rem);margin-top:var(--space-2,.5rem);padding:var(--space-1,.25rem) 0;color:var(--color-secondary,hsl(var(--color-secondary-500)));display:flex;overflow-x:auto}.message-actions-bar .action-button{visibility:hidden;padding:var(--space-2,.5rem);border-radius:var(--shape-button,.5rem);flex-shrink:0;transition:opacity,transform .15s}.message-actions-bar .action-button:hover{background-color:var(--color-surface-hover,var(--color-black-alpha-5))}.response-message:hover .message-actions-bar .action-button,.message-actions-bar .action-button.always-visible{visibility:visible}.message-siblings-nav{align-items:center;gap:var(--space-2,.5rem);min-width:fit-content;display:flex}.message-siblings-count{font-size:var(--text-xs,.75rem);line-height:1rem;font-weight:var(--font-medium,500);letter-spacing:.05em;padding:0 var(--space-2,.5rem);min-width:fit-content}.message-status-buffered{font-size:var(--text-sm,.875rem);color:var(--color-muted-foreground,hsl(var(--muted-foreground)));align-items:center;gap:var(--space-2,.5rem);margin-bottom:var(--space-3,.75rem);padding:var(--space-2,.5rem);border-radius:var(--shape-card,.5rem);background-color:var(--color-surface-container,hsl(var(--surface)));line-height:1.25rem;display:flex}.markdown-prose{line-height:1.75}.markdown-prose :global(li > *){display:block}.image-generations{margin-top:var(--space-3,.75rem)}.citations-container{margin-top:var(--space-2,.5rem)}.citations-list{padding:0;list-style:none}.citation-item{margin-bottom:var(--space-2,.5rem);font-size:var(--text-sm,.875rem);line-height:1.25rem}.citation-text{color:var(--color-primary,hsl(var(--color-primary-500)))}.citation-link{margin-left:var(--space-1,.25rem);color:var(--color-link,hsl(var(--link)));text-decoration:none}.citation-link:hover{text-decoration:underline}.citation-source{margin-left:var(--space-1,.25rem);color:var(--color-tertiary,hsl(var(--tertiary)))}.control-section{margin-bottom:var(--space-8)}.control-section:last-child{margin-bottom:0}.control-section-header{margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:.5px solid var(--color-neutral-200,#e5e7eb);font-weight:var(--font-semibold,600);font-size:var(--text-sm,.875rem);color:var(--color-neutral-700,#374151)}.dark .control-section-header{border-bottom-color:var(--theme-color-border);color:var(--theme-color-text-secondary)}.control-group{margin-bottom:var(--space-6)}.control-group:last-child{margin-bottom:0}.control-item+.control-item{margin-top:var(--space-3)}.control-button-group{gap:var(--space-3);flex-wrap:wrap;display:flex}.control-button-group.compact{gap:var(--space-2)}.control-input-stack{gap:var(--space-2);flex-direction:column;display:flex}.control-input-stack.relaxed{gap:var(--space-3)}.control-field{gap:var(--space-2);margin-bottom:var(--space-4);flex-direction:column;display:flex}.control-field:last-child{margin-bottom:0}.control-label{font-size:var(--text-sm,.875rem);font-weight:var(--font-medium,500);color:var(--color-neutral-700,#374151)}.dark .control-label{color:var(--color-neutral-300,#d1d5db)}.control-helper{font-size:var(--text-xs,.75rem);color:var(--color-neutral-500,#6b7280);margin-top:var(--space-1)}.dark .control-helper{color:var(--color-neutral-400,#9ca3af)}.message-group{padding-bottom:var(--space-8);position:relative}.message-group:after{content:"";background:linear-gradient(to right, transparent 0%, var(--color-neutral-200,var(--color-black-alpha-10)) 20%, var(--color-neutral-200,var(--color-black-alpha-10)) 80%, transparent 100%);opacity:.6;height:1px;position:absolute;bottom:0;left:5%;right:5%}.dark .message-group:after{background:linear-gradient(to right, transparent 0%, var(--theme-color-border) 20%, var(--theme-color-border) 80%, transparent 100%);opacity:.4}.message-group:last-child:after{display:none}.messages-loading-state{min-height:300px;animation:3s ease-in-out infinite pulse-subtle}@keyframes pulse-subtle{0%,to{opacity:1}50%{opacity:.85}}@media (prefers-reduced-motion:reduce){.messages-loading-state{animation:none}}@supports (container-type:inline-size){@container message (width<=400px){.user-message-bubble{padding:var(--space-2) var(--space-3);max-width:100%}.message-header{gap:var(--space-2)}.message-actions-bar{gap:var(--space-1);flex-wrap:wrap}.message-actions-bar .action-button{padding:var(--space-2);min-width:44px;min-height:44px}:is(.markdown-prose :global(ul),.markdown-prose :global(ol)){padding-left:var(--space-4)}}@container message (width>=401px) and (width<=600px){.user-message-bubble{padding:var(--space-3) var(--space-4);max-width:100%}.message-header{gap:var(--space-3)}.message-actions-bar{gap:var(--space-2)}:is(.markdown-prose :global(ul),.markdown-prose :global(ol)){padding-left:var(--space-6)}}@container message (width>=601px){.user-message-bubble{padding:var(--space-4,1rem) 1.25rem;max-width:100%}.message-header{gap:var(--space-4)}.message-actions-bar{gap:var(--space-2)}.message-actions-bar .action-button{padding:var(--space-3)}:is(.markdown-prose :global(ul),.markdown-prose :global(ol)){margin-inline-start:0;padding-inline-start:var(--space-4,1rem)}}@container action-buttons (width<=500px){.action-buttons-container{gap:var(--space-2)}.action-row-btn-label{display:none}.btn:not(.btn-icon){padding:var(--space-2);min-width:2.5rem}}@container action-buttons (width>=501px) and (width<=700px){.action-buttons-container{gap:var(--space-3)}.action-row-btn-label{font-size:.8125rem}}@container action-buttons (width>=701px){.action-buttons-container{gap:var(--space-4)}.action-row-btn-label{font-size:var(--text-sm,.875rem)}}}@supports not (container-type:inline-size){@media (width<=400px){.user-message-bubble{padding:var(--space-2) var(--space-3);max-width:100%}.message-actions-bar{gap:var(--space-1);flex-wrap:wrap}:is(.markdown-prose :global(ul),.markdown-prose :global(ol)){padding-left:var(--space-4)}}@media (width>=401px) and (width<=600px){.user-message-bubble{padding:var(--space-3) var(--space-4);max-width:100%}.message-actions-bar{gap:var(--space-2)}:is(.markdown-prose :global(ul),.markdown-prose :global(ol)){padding-left:var(--space-6)}}}@container chat-layout (width<=300px){.container-grid-compliant{max-width:100%}.message-renderer-container{gap:var(--space-2)}.user-message,.response-message{gap:var(--space-2);margin-bottom:var(--space-4)}.message-header{gap:var(--space-1);min-height:2rem}.message-profile-image{width:1.75rem;height:1.75rem}.user-message-bubble{padding:var(--space-2) var(--space-3);max-width:100%;font-size:var(--text-sm,.875rem)}.message-timestamp-text{display:none}.message-actions-bar{gap:var(--space-1);flex-direction:column}.message-actions-bar .action-button{width:100%;padding:var(--space-2)}}@container chat-layout (width>=301px) and (width<=500px){.container-grid-compliant{max-width:100%}.message-renderer-container{gap:var(--space-4)}.user-message,.response-message{gap:var(--space-3)}.message-header{gap:var(--space-2)}.message-profile-image{width:2rem;height:2rem}.user-message-bubble{padding:var(--space-3) var(--space-4);max-width:100%}.message-timestamp-text{font-size:.6875rem}.message-actions-bar{gap:var(--space-1);flex-wrap:wrap}}@container chat-layout (width>=501px) and (width<=700px){.container-grid-compliant{max-width:100%}.message-renderer-container{gap:var(--space-5)}.user-message,.response-message{gap:var(--space-4)}.message-header{gap:var(--space-3)}.message-profile-image{width:2.25rem;height:2.25rem}.user-message-bubble{padding:var(--space-3) var(--space-4);max-width:100%}.message-timestamp-text{font-size:var(--text-xs,.75rem)}.message-actions-bar{gap:var(--space-2)}}@container chat-layout (width>=701px) and (width<=900px){.container-grid-compliant{max-width:1200px}.message-renderer-container{gap:var(--space-6)}.user-message,.response-message,.message-header{gap:var(--space-4)}.message-profile-image{width:2.5rem;height:2.5rem}.user-message-bubble{padding:var(--space-4,1rem) 1.25rem;max-width:100%}.message-actions-bar{gap:var(--space-2)}.message-actions-bar .action-button{padding:var(--space-3)}}@container chat-layout (width>=901px){.container-grid-compliant{max-width:1200px}.message-renderer-container{gap:var(--space-6)}.user-message,.response-message,.message-header{gap:var(--space-4)}.message-profile-image{width:2.5rem;height:2.5rem}.user-message-bubble{padding:var(--space-4,1rem) 1.25rem;max-width:100%}.message-actions-bar{gap:var(--space-2)}.message-actions-bar .action-button{padding:var(--space-3);-webkit-transition:opacity, transform var(--motion-quick) var(--ease-standard);transition:opacity, transform var(--motion-quick) var(--ease-standard)}.message-actions-bar .action-button:hover{box-shadow:0 2px 4px var(--overlay-transparent);transform:translateY(-1px)}}@container chat-layout (width>=1200px){.container-grid-compliant{max-width:1200px}}@supports not (container-type:inline-size){@media (width<=500px){.message-renderer-container{gap:var(--space-4)}.user-message,.response-message{gap:var(--space-3)}.message-header{gap:var(--space-2)}.message-profile-image{width:2rem;height:2rem}}@media (width>=501px) and (width<=900px){.container-grid-compliant{max-width:1200px}.message-profile-image{width:2.5rem;height:2.5rem}}@media (width>=901px){.container-grid-compliant{max-width:1200px}.message-actions-bar .action-button:hover{box-shadow:0 2px 4px var(--overlay-transparent);transform:translateY(-1px)}}@media (width>=1440px){.container-grid-compliant{max-width:1200px}}}.streaming-status{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full,9999px);font-size:var(--font-size-xs,.75rem);font-weight:var(--font-medium,500);transition:all .2s;display:inline-flex}.streaming-status .status-icon{flex-shrink:0;width:14px;height:14px}.streaming-status .status-icon.spinning{animation:1s linear infinite streaming-spin}.streaming-status .status-label{white-space:nowrap}.status-idle{background:var(--color-neutral-100,#f3f4f6);color:var(--text-secondary,#6b7280)}.dark .status-idle{background:var(--theme-surface-card);color:var(--theme-color-text-muted)}.status-connecting,.status-streaming{background:color-mix(in oklch, var(--color-primary,#3b82f6) 15%, transparent);color:var(--color-primary,#3b82f6)}.dark .status-connecting,.dark .status-streaming{background:color-mix(in oklch, var(--color-primary,#60a5fa) 20%, transparent);color:var(--color-primary-400,#60a5fa)}.status-reconnecting{background:color-mix(in oklch, var(--color-warning,#f59e0b) 15%, transparent);color:var(--color-warning-600,#d97706)}.dark .status-reconnecting{background:color-mix(in oklch, var(--color-warning,#fbbf24) 20%, transparent);color:var(--color-warning-400,#fbbf24)}.status-error{background:color-mix(in oklch, var(--color-danger,#ef4444) 15%, transparent);color:var(--color-danger,#ef4444)}.dark .status-error{background:color-mix(in oklch, var(--color-danger,#f87171) 20%, transparent);color:var(--color-danger-400,#f87171)}.status-complete{background:color-mix(in oklch, var(--color-success,#22c55e) 15%, transparent);color:var(--color-success,#22c55e);animation:2s ease-out 1s forwards streaming-fade-out}.dark .status-complete{background:color-mix(in oklch, var(--color-success,#4ade80) 20%, transparent);color:var(--color-success-400,#4ade80)}.streaming-retry-button{margin-left:var(--space-2);padding:var(--space-1) var(--space-2);background:var(--color-danger,#ef4444);color:#fff;border-radius:var(--radius-sm,.25rem);font-size:var(--font-size-xs,.75rem);font-weight:var(--font-medium,500);cursor:pointer;border:none;transition:background-color .15s}.streaming-retry-button:hover{background:var(--color-danger-600,#dc2626)}.streaming-retry-button:focus-visible{outline:2px solid var(--color-danger,#ef4444);outline-offset:2px}@keyframes streaming-spin{to{transform:rotate(360deg)}}@keyframes streaming-fade-out{to{opacity:0}}@media (prefers-reduced-motion:reduce){.streaming-status .status-icon.spinning,.status-complete{animation:none}}:global(.dark) .unified-card{will-change:transform;backface-visibility:hidden;transition:transform .15s,background-color .15s,border-color .15s}.unified-card{flex-direction:var(--card-flex-direction,column);background:var(--card-bg-default);border:1px solid var(--card-border-color);border-radius:var(--card-border-radius);padding:var(--card-spacing-xl);color:var(--card-text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;font-size:var(--text-base);line-height:1.5;font-weight:var(--font-normal,400);letter-spacing:-.022em;content-visibility:auto;contain:layout style;outline:2px solid #0000;transition:transform .2s,background-color .2s,border-color .2s;display:flex;position:relative;container-type:inline-size}.unified-card:hover{background:color-mix(in srgb, var(--card-bg-default) 95%, var(--card-text-primary) 5%);border-color:var(--color-neutral-600)}.unified-card:active{background:color-mix(in srgb, var(--card-bg-default) 90%, var(--card-text-primary) 10%);transform:scale(.98)}.card-interactive{cursor:pointer;transition:transform var(--timing-standard) var(--ease-smooth), box-shadow var(--timing-standard) var(--ease-smooth), border-color var(--timing-standard) var(--ease-smooth), background-color var(--timing-standard) var(--ease-smooth)}.card-interactive:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.card-interactive:active{transition:transform var(--timing-quick) var(--ease-snappy), box-shadow var(--timing-quick) var(--ease-snappy);transform:translateY(-4px)scale(.98)}:global(.dark) .card-interactive:hover{box-shadow:var(--shadow-lg)}.unified-card.card-interactive:hover,.unified-card.card-clickable:hover,.unified-card.card-expandable:hover{transform:var(--card-hover-lift) scale(var(--card-hover-scale));box-shadow:var(--card-shadow-hover), 0 0 0 1px var(--card-theme-primary), 0 0 20px var(--card-glow-color,var(--color-primary-alpha-15));border-color:color-mix(in srgb, var(--card-theme-primary) 30%, var(--card-border-color));background:color-mix(in srgb, var(--card-bg-default) 98%, var(--card-theme-primary) 2%);transition:transform var(--card-hover-duration) var(--apple-ease-responsive), box-shadow var(--card-hover-duration) var(--apple-ease-standard), border-color var(--card-hover-duration) var(--apple-ease-standard), background var(--card-hover-duration) var(--apple-ease-standard)}.unified-card.card-interactive:active,.unified-card.card-clickable:active,.unified-card.card-expandable:active{transform:scale(var(--card-press-scale)) var(--card-press-translate);box-shadow:var(--card-haptic-light), var(--card-active-shadow-inset), 0 0 0 1px color-mix(in srgb, var(--card-theme-primary) 60%, transparent);transition:transform var(--card-press-duration) var(--apple-ease-responsive), box-shadow var(--card-press-duration) var(--apple-ease-responsive)}.unified-card.card-interactive:active:hover,.unified-card.card-clickable:active:hover,.unified-card.card-expandable:active:hover{animation:apple-release var(--card-release-duration) var(--apple-ease-gentle) forwards}@keyframes apple-release{0%{transform:scale(var(--card-press-scale)) var(--card-press-translate)}60%{transform:scale(var(--card-release-scale)) translateY(-1px)}to{transform:scale(var(--card-hover-scale)) var(--card-hover-lift)}}.unified-card:focus-visible{box-shadow:var(--card-shadow-focus), var(--card-shadow-elevated), 0 0 0 var(--card-focus-ring-width) var(--card-theme-primary), 0 0 0 calc(var(--card-focus-ring-width) + 2px) color-mix(in srgb, var(--card-theme-primary) 20%, transparent);border-color:var(--card-theme-primary);transition:box-shadow var(--card-focus-duration) var(--apple-ease-standard), border-color var(--card-focus-duration) var(--apple-ease-standard)}.unified-card:focus-visible:not(:hover){transition:transform var(--card-focus-duration) var(--apple-ease-gentle), box-shadow var(--card-focus-duration) var(--apple-ease-standard);transform:translateY(-1px)scale(1.005)}.unified-card.card-disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.unified-card.card-loading{pointer-events:none}.anthropic-card{background-color:var(--surface-background,var(--color-light,var(--color-white)));border-radius:var(--card-border-radius-xl);cursor:pointer;color:inherit;transition:transform var(--card-transition-duration) cubic-bezier(.77, 0, .175, 1);opacity:0;flex-direction:column;text-decoration:none;animation:.4s ease-out forwards anthropic-fade-in;display:flex;position:relative;overflow:hidden}.anthropic-card:hover{transform:translateY(-2px)}.anthropic-card:focus{outline:2px solid var(--color-primary-500,var(--color-primary-500));outline-offset:2px}.anthropic-card.featured{grid-column:span 1;min-height:300px}@container (width>=768px){.anthropic-card.featured{grid-column:span 2}}@supports not (container-type:inline-size){@media (width>=768px){.anthropic-card.featured{grid-column:span 2}}}.card-variant-elevated{box-shadow:var(--card-shadow-elevated);border:none}.card-variant-elevated:hover{box-shadow:var(--card-shadow-hover)}.card-variant-outlined{box-shadow:none;background:0 0;border-width:2px}.card-variant-outlined:hover{background:color-mix(in srgb, var(--card-theme-primary) 5%, transparent);box-shadow:var(--card-shadow-base)}.card-variant-filled{background:color-mix(in srgb, var(--card-theme-primary) 10%, var(--card-bg-default));border-color:color-mix(in srgb, var(--card-theme-primary) 20%, transparent)}.card-variant-ghost{box-shadow:none;background:0 0;border:none}.card-variant-ghost:hover{background:color-mix(in srgb, var(--card-theme-primary) 8%, transparent)}.card-size-compact{min-height:var(--card-min-height-compact);border-radius:var(--card-border-radius-md)}.card-size-compact .card-body{padding:var(--card-spacing-sm);gap:var(--card-spacing-xs)}.card-size-compact .card-title{font-size:var(--card-title-size-sm)}.card-size-compact .card-icon-container{width:var(--card-icon-size-sm);height:var(--card-icon-size-sm)}.card-size-default{min-height:var(--card-min-height-default)}.card-size-default .card-body{padding:var(--card-spacing-md);gap:var(--card-spacing-sm)}.card-size-default .card-title{font-size:var(--card-title-size-md)}.card-size-default .card-icon-container{width:var(--card-icon-size-md);height:var(--card-icon-size-md)}.card-size-large{min-height:var(--card-min-height-large);border-radius:var(--card-border-radius-xl)}.card-size-large .card-body{padding:var(--card-spacing-lg);gap:var(--card-spacing-md)}.card-size-large .card-title{font-size:var(--card-title-size-lg)}.card-size-large .card-icon-container{width:var(--card-icon-size-lg);height:var(--card-icon-size-lg)}.card-theme-indicator{background:var(--card-theme-primary);border-radius:var(--card-border-radius-lg) var(--card-border-radius-lg) 0 0;opacity:.9;height:8px;position:absolute;top:0;left:0;right:0;overflow:hidden}.card-theme-indicator:after{content:"";background:linear-gradient(90deg, transparent 0%, color-mix(in srgb, var(--card-theme-primary) 85%, var(--card-theme-secondary) 15%) 50%, transparent 100%);will-change:transform;animation:3s ease-in-out infinite card-theme-shimmer;position:absolute;inset:0}@keyframes card-theme-shimmer{0%{transform:translate(-100%)}50%{transform:translate(100%)}to{transform:translate(-100%)}}.card-stats-badge{align-items:center;gap:var(--space-2,.5rem);padding:var(--space-2,.5rem) var(--space-4,1rem);background:color-mix(in srgb, var(--card-theme-primary) 10%, transparent);color:var(--card-stats-accent);font-size:var(--card-stats-size);font-weight:var(--card-stats-weight);border-radius:var(--shape-badge,var(--card-border-radius-sm));border:1px solid color-mix(in srgb, var(--card-theme-primary) 20%, transparent);display:inline-flex}.card-stats-badge-icon{opacity:.8;width:1rem;height:1rem}.card-content-type{top:var(--card-spacing-sm);right:var(--card-spacing-sm);border-radius:var(--shape-input,var(--card-border-radius-sm));background:var(--color-white-alpha-15);backdrop-filter:blur(10px);width:2rem;height:2rem;color:var(--color-white);font-weight:var(--font-semibold,600);font-size:var(--text-xs,.75rem);justify-content:center;align-items:center;display:flex;position:absolute}.card-content-type.quiz{background:var(--color-success-alpha-20);border:1px solid var(--color-success-alpha-30)}.card-content-type.discussion{background:var(--color-primary-alpha-20);border:1px solid var(--color-primary-alpha-30)}.card-body{z-index:1;flex-direction:column;flex:1;display:flex;position:relative}.card-header{margin-bottom:var(--card-spacing-md);justify-content:space-between;align-items:flex-start;display:flex}.card-header-content{flex:1;min-width:0}.card-header-actions{align-items:center;gap:var(--card-spacing-sm);margin-left:var(--card-spacing-md);display:flex}.card-icon-container,.learning-material-card .icon-container,.lesson-card .lesson-icon,.interactive-lesson-card .icon-container{width:var(--card-icon-size);height:var(--card-icon-size);background:linear-gradient(135deg, var(--card-theme-primary), color-mix(in srgb, var(--card-theme-primary) 80%, black));border-radius:var(--card-icon-radius);color:var(--color-white);box-shadow:0 2px 8px color-mix(in srgb, var(--card-theme-primary) 30%, transparent);transition:transform var(--card-hover-duration) var(--card-transition-timing);flex-shrink:0;justify-content:center;align-items:center;display:flex}.unified-card:hover .card-icon-container,.learning-material-card:hover .icon-container,.lesson-card:hover .lesson-icon,.interactive-lesson-card:hover .icon-container{box-shadow:0 4px 12px color-mix(in srgb, var(--card-theme-primary) 40%, transparent);transform:scale(1.05)}.card-title{margin:0 0 var(--card-spacing-xs) 0;font-size:var(--card-title-size);font-weight:var(--card-title-weight);line-height:var(--card-title-line-height);letter-spacing:var(--card-title-letter-spacing);color:var(--card-text-primary)}.card-subtitle{margin:0 0 var(--card-spacing-sm) 0;font-size:var(--card-subtitle-size);font-weight:var(--card-subtitle-weight);line-height:var(--card-subtitle-line-height);letter-spacing:var(--card-subtitle-letter-spacing);color:var(--card-text-secondary)}.card-caption{margin:0 0 var(--card-spacing-xs) 0;font-size:var(--card-caption-size);font-weight:var(--card-caption-weight);line-height:var(--card-caption-line-height);letter-spacing:var(--card-caption-letter-spacing);color:var(--card-text-secondary)}.card-meta{font-size:var(--card-meta-size);font-weight:var(--card-meta-weight);line-height:var(--card-meta-line-height);letter-spacing:var(--card-meta-letter-spacing);color:var(--card-text-tertiary);margin:0}.card-badge{padding:var(--space-1) 8px;background:var(--card-theme-primary);color:var(--color-white);font-size:var(--card-meta-size);font-weight:var(--font-medium,500);border-radius:var(--shape-badge,8px);letter-spacing:-.013em;align-items:center;display:inline-flex}.card-badge.secondary{background:var(--color-neutral-500-alpha-20);color:var(--card-text-secondary)}.card-close-button{border-radius:var(--radius-full,50%);background:var(--color-neutral-500-alpha-16);width:24px;height:24px;color:var(--card-text-secondary);cursor:pointer;border:none;justify-content:center;align-items:center;transition:background-color .2s;display:flex}.card-close-button:hover{background:var(--color-neutral-500-alpha-24)}.card-close-button:active{background:var(--color-neutral-500-alpha-32)}.card-content{margin-top:var(--card-spacing-sm);color:var(--card-text-secondary);line-height:1.6}.card-actions{align-items:center;gap:var(--card-spacing-sm);margin-top:var(--card-spacing-md);padding-top:var(--card-spacing-md);border-top:1px solid var(--card-divider-color);display:flex}.card-footer{padding-top:var(--card-spacing-md);border-top:1px solid var(--card-divider-color);color:var(--card-text-tertiary);font-size:var(--card-meta-size);margin-top:auto}.card-expanded-content{margin-top:var(--card-spacing-md);padding-top:var(--card-spacing-md);border-top:1px solid var(--card-divider-color)}.card-expand-btn,.expand-btn,.expand-button{border:1px solid var(--card-border-color);background:var(--card-bg-default);border-radius:var(--shape-button,var(--card-border-radius-sm));width:2.5rem;height:2.5rem;color:var(--card-text-tertiary);cursor:pointer;transition:opacity, transform var(--card-hover-duration) var(--card-transition-timing);flex-shrink:0;justify-content:center;align-items:center;display:flex}.card-expand-btn:hover,.expand-btn:hover,.expand-button:hover{background:var(--card-bg-elevated);border-color:var(--card-theme-primary);color:var(--card-text-primary);transform:scale(1.05)}.card-expand-btn svg,.expand-btn svg,.expand-button svg{width:1rem;height:1rem}.primary-action-btn,.action-btn.primary{background:linear-gradient(135deg, var(--btn-primary-gradient-start), var(--btn-primary-gradient-end));color:var(--color-white);border-radius:var(--shape-button,12px);padding:var(--space-2,.5rem) var(--space-4,1rem);font-weight:var(--font-medium,500);align-items:center;gap:var(--space-2,.5rem);transition:var(--card-transition);cursor:pointer;box-shadow:0 2px 4px var(--color-black-alpha-10);border:none;display:inline-flex}.primary-action-btn:hover,.action-btn.primary:hover{transform:var(--btn-primary-hover-transform);box-shadow:0 4px 12px var(--color-black-alpha-20)}.secondary-action-btn,.action-btn.secondary{background:var(--btn-secondary-bg);color:var(--text-primary);border:1px solid var(--btn-secondary-border);border-radius:var(--shape-button,12px);padding:var(--space-2,.5rem) var(--space-4,1rem);font-weight:var(--font-medium,500);align-items:center;gap:var(--space-2,.5rem);transition:var(--card-transition);cursor:pointer;display:inline-flex}.secondary-action-btn:hover,.action-btn.secondary:hover{background:var(--surface-elevated);border-color:var(--color-primary-500);transform:translateY(-1px)}.icon-action-btn,.action-btn.utility{color:var(--text-tertiary);border-radius:var(--shape-button,12px);padding:var(--space-2,.5rem);transition:var(--card-transition);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:inline-flex}.icon-action-btn:hover,.action-btn.utility:hover{background:var(--surface-elevated);color:var(--text-primary);border-color:var(--border-color)}.icon-action-btn.danger:hover,.action-btn.utility.danger:hover{background:var(--btn-utility-danger-bg);color:var(--btn-utility-danger-color);border-color:var(--cocovox-error-200)}.progress-track{background-color:var(--cocovox-neutral-200);border-radius:var(--radius-full,9999px);height:.5rem;overflow:hidden}.progress-fill{border-radius:var(--radius-full,9999px);height:100%;transition:width .7s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.progress-fill:after{content:"";background:linear-gradient(90deg, transparent, var(--color-white-alpha-30), transparent);animation:2s infinite shimmer-progress;position:absolute;inset:0}@keyframes shimmer-progress{0%{transform:translate(-100%)}to{transform:translate(100%)}}.content-section{margin-bottom:var(--space-6,1.5rem);padding:var(--space-4,1rem);border-radius:var(--shape-card,16px)}.content-section:last-child{margin-bottom:0}.section-title{font-size:var(--text-sm,.875rem);font-weight:var(--font-semibold,600);color:var(--text-primary);margin:0 0 var(--space-4,1rem) 0;align-items:center;gap:var(--space-2,.5rem);display:flex}.section-text{font-size:var(--text-sm,.875rem);color:var(--text-secondary);margin:0;line-height:1.5}.stat-card{background:var(--surface-card);border:1px solid var(--border-color);border-radius:var(--shape-card,16px);padding:var(--space-3,.75rem);transition:var(--card-transition)}.stat-card:hover{box-shadow:0 2px 8px var(--color-black-alpha-10);transform:translateY(-1px)}.meta-item{align-items:center;gap:var(--space-1-5,.375rem);font-size:var(--text-xs,.75rem);color:var(--text-secondary);display:flex}.topic-tag,.objective-item{align-items:center;gap:var(--space-1-5,.375rem);font-size:var(--text-sm,.875rem);transition:var(--card-transition);display:inline-flex}.topic-tag:hover{box-shadow:0 2px 8px var(--color-black-alpha-10);transform:translateY(-1px)}.card-grid-base{gap:var(--spacer-06,32px);width:100%;display:grid;container:card-grid/inline-size}@container card-grid (width>=768px){.card-grid-base{grid-template-columns:repeat(2,1fr)}}@container card-grid (width>=1200px){.card-grid-base{grid-template-columns:repeat(3,1fr)}}@supports not (container-type:inline-size){@media (width>=768px){.card-grid-base{grid-template-columns:repeat(2,1fr)}}@media (width>=1200px){.card-grid-base{grid-template-columns:repeat(3,1fr)}}}.card-type-quiz{--card-gradient:linear-gradient(135deg, color-mix(in oklch, var(--color-primary-100,#cde6fe) 60%, var(--color-surface)), color-mix(in oklch, var(--color-primary-100,#cde6fe) 40%, var(--color-surface)))}.card-type-flashcard{--card-gradient:linear-gradient(135deg, color-mix(in oklch, var(--color-accent-100,#e6d1fa) 60%, var(--color-surface)), color-mix(in oklch, var(--color-accent-100,#e6d1fa) 40%, var(--color-surface)))}.card-type-lesson{--card-gradient:linear-gradient(135deg, color-mix(in oklch, var(--color-success-100,#d5f6e3) 60%, var(--color-surface)), color-mix(in oklch, var(--color-success-100,#d5f6e3) 40%, var(--color-surface)))}.card-type-test{--card-gradient:linear-gradient(135deg, color-mix(in oklch, var(--color-secondary-100,#fef1d7) 60%, var(--color-surface)), color-mix(in oklch, var(--color-secondary-100,#fef1d7) 40%, var(--color-surface)))}.card-type-exercise{--card-gradient:linear-gradient(135deg, color-mix(in oklch, var(--color-warning-100,#fdecce) 60%, var(--color-surface)), color-mix(in oklch, var(--color-warning-100,#fdecce) 40%, var(--color-surface)))}.badge-difficulty-easy{background:var(--color-success-100,#d5f6e3);color:var(--color-success-700,#1c7d44);padding:var(--space-1) 8px;border-radius:var(--radius-md,12px);font-size:var(--text-xs);font-weight:var(--font-semibold,600)}.badge-difficulty-medium{background:var(--color-warning-100,#fdecce);color:var(--color-warning-700,#935f06);padding:var(--space-1) 8px;border-radius:var(--radius-md,12px);font-size:var(--text-xs);font-weight:var(--font-semibold,600)}.badge-difficulty-hard{background:var(--color-error-100,#fbd0d0);color:var(--color-error-700,#8d0c0c);padding:var(--space-1) 8px;border-radius:var(--radius-md,12px);font-size:var(--text-xs);font-weight:var(--font-semibold,600)}.card-loading{animation:anthropic-shimmer-border var(--transition-duration-normal,1.5s) ease-in-out infinite;border:2px solid #0000}.card-loading-text{animation:anthropic-shimmer-text var(--transition-duration-normal,1.5s) ease-in-out infinite;opacity:.7}.cards-dismissing{opacity:0;pointer-events:none;transition:opacity var(--transition-duration-normal,.3s) ease-out}.anthropic-gradient-sage{background:linear-gradient(135deg, color-mix(in oklch, var(--color-success-100,#d5f6e3) 60%, var(--color-surface)), color-mix(in oklch, var(--color-success-100,#d5f6e3) 40%, var(--color-surface)))}.anthropic-gradient-coral{background:linear-gradient(135deg, color-mix(in oklch, var(--color-secondary-100,#fef1d7) 60%, var(--color-surface)), color-mix(in oklch, var(--color-secondary-100,#fef1d7) 40%, var(--color-surface)))}.anthropic-gradient-blue{background:linear-gradient(135deg, color-mix(in oklch, var(--color-primary-100,#cde6fe) 60%, var(--color-surface)), color-mix(in oklch, var(--color-primary-100,#cde6fe) 40%, var(--color-surface)))}.anthropic-gradient-purple{background:linear-gradient(135deg, color-mix(in oklch, var(--color-accent-100,#e6d1fa) 60%, var(--color-surface)), color-mix(in oklch, var(--color-accent-100,#e6d1fa) 40%, var(--color-surface)))}.anthropic-gradient-pink{background:linear-gradient(135deg, color-mix(in oklch, var(--color-warning-100,#fdecce) 60%, var(--color-surface)), color-mix(in oklch, var(--color-warning-100,#fdecce) 40%, var(--color-surface)))}.anthropic-gradient-white{background:linear-gradient(135deg, color-mix(in oklch, var(--color-surface), var(--color-surface-hover) 20%), var(--color-surface));border:1px solid var(--border-color-default)}.card-theme-default{--card-theme-primary:var(--primary-color,var(--color-primary-500));--card-theme-secondary:color-mix(in srgb, var(--card-theme-primary) 80%, black)}.card-theme-lesson,.lesson-card{--card-theme-primary:var(--lesson-card-primary);--card-theme-secondary:var(--lesson-card-secondary);--card-theme-light:var(--lesson-card-light);--card-theme-rgb:var(--lesson-card-rgb)}.card-theme-quiz,.learning-material-card.quiz-type{--card-theme-primary:var(--material-quiz-primary);--card-theme-secondary:var(--material-quiz-secondary);--card-theme-light:var(--material-quiz-light);--card-theme-rgb:var(--material-quiz-rgb);--card-accent-color:var(--cocovox-success-50,color-mix(in srgb, var(--color-success) 8%, white));--card-glow-color:#10b98126;--card-icon-bg:linear-gradient(135deg, var(--color-success) 0%, #14b8a6 100%)}.card-theme-flashcards,.learning-material-card.flashcards-type{--card-theme-primary:var(--material-flashcards-primary);--card-theme-secondary:var(--material-flashcards-secondary);--card-theme-light:var(--material-flashcards-light);--card-theme-rgb:var(--material-flashcards-rgb);--card-accent-color:var(--cocovox-purple-50,#f6f2fe);--card-glow-color:#8b5cf626;--card-icon-bg:linear-gradient(135deg, #8b5cf6 0%, #a855f7 100%)}.card-theme-test,.learning-material-card.test-type{--card-theme-primary:var(--material-test-primary);--card-theme-secondary:var(--material-test-secondary);--card-theme-light:var(--material-test-light);--card-theme-rgb:var(--material-test-rgb);--card-accent-color:var(--cocovox-warning-50,color-mix(in srgb, var(--color-warning) 8%, white));--card-glow-color:var(--color-warning-alpha-15);--card-icon-bg:linear-gradient(135deg, var(--color-warning) 0%, #f97316 100%)}.card-theme-interactive,.interactive-lesson-card{--card-theme-primary:var(--interactive-card-primary);--card-theme-secondary:var(--interactive-card-secondary);--card-theme-light:var(--interactive-card-light);--card-theme-rgb:var(--interactive-card-rgb);--card-accent-color:var(--cocovox-teal-50,#ecf9f8);--card-glow-color:#14b8a626;--card-icon-bg:linear-gradient(135deg, #14b8a6 0%, #06b6d4 100%)}.card-theme-discussion{--card-theme-primary:var(--cocovox-blue-500,var(--color-primary-500));--card-theme-secondary:var(--cocovox-blue-600,var(--color-primary-600));--card-accent-color:var(--cocovox-blue-50);--card-glow-color:var(--color-primary-alpha-15);--card-icon-bg:linear-gradient(135deg, var(--color-primary-500) 0%, #6366f1 100%)}.card-theme-suggestion-start{--card-theme-primary:var(--cocovox-teal-500);--card-theme-secondary:var(--cocovox-teal-600);--card-accent-color:var(--cocovox-teal-100)}.card-theme-suggestion-discover{--card-theme-primary:var(--cocovox-purple-500);--card-theme-secondary:var(--cocovox-purple-600);--card-accent-color:var(--cocovox-purple-100)}.card-theme-suggestion-explore{--card-theme-primary:var(--cocovox-amber-500,var(--color-warning));--card-theme-secondary:var(--cocovox-amber-600);--card-accent-color:var(--cocovox-amber-100)}.card-theme-suggestion{--card-theme-primary:var(--cocovox-indigo-500);--card-theme-secondary:var(--cocovox-indigo-600);--card-accent-color:var(--cocovox-indigo-100)}.unified-card.card-theme-lesson:hover,.unified-card.card-theme-suggestion:hover{box-shadow:var(--card-shadow-hover), 0 0 0 1px var(--card-theme-primary), 0 0 25px color-mix(in srgb, var(--card-theme-primary) 20%, transparent), 0 0 40px color-mix(in srgb, var(--card-theme-primary) 10%, transparent);transition:transform var(--card-hover-duration) var(--apple-ease-playful), box-shadow calc(var(--card-hover-duration) * 1.2) var(--apple-ease-standard), border-color var(--card-hover-duration) var(--apple-ease-gentle), background var(--card-hover-duration) var(--apple-ease-standard)}.unified-card.card-theme-lesson:active,.unified-card.card-theme-suggestion:active{animation:cocovox-apple-press var(--card-press-duration) var(--apple-ease-playful) forwards}.unified-card.card-theme-quiz:hover{box-shadow:var(--card-shadow-hover), 0 0 0 1px var(--card-theme-primary), 0 0 25px color-mix(in srgb, var(--card-theme-primary) 20%, transparent), 0 0 40px color-mix(in srgb, var(--card-theme-primary) 10%, transparent);transition:transform var(--card-hover-duration) var(--apple-ease-responsive), box-shadow var(--card-hover-duration) var(--apple-ease-standard), border-color var(--card-hover-duration) var(--apple-ease-standard), background var(--card-hover-duration) var(--apple-ease-standard)}.unified-card.card-theme-flashcards:hover{box-shadow:var(--card-shadow-hover), 0 0 0 1px var(--card-theme-primary), 0 0 25px color-mix(in srgb, var(--card-theme-primary) 20%, transparent), 0 0 40px color-mix(in srgb, var(--card-theme-primary) 10%, transparent);transition:transform var(--card-hover-duration) var(--apple-ease-gentle), box-shadow calc(var(--card-hover-duration) * 1.1) var(--apple-ease-standard), border-color var(--card-hover-duration) var(--apple-ease-gentle), background var(--card-hover-duration) var(--apple-ease-gentle)}.unified-card.card-theme-interactive:hover{box-shadow:var(--card-shadow-hover), 0 0 0 1px var(--card-theme-primary), 0 0 25px color-mix(in srgb, var(--card-theme-primary) 20%, transparent), 0 0 40px color-mix(in srgb, var(--card-theme-primary) 10%, transparent);transition:transform var(--card-hover-duration) var(--apple-ease-precise), box-shadow var(--card-hover-duration) var(--apple-ease-standard), border-color var(--card-hover-duration) var(--apple-ease-precise), background var(--card-hover-duration) var(--apple-ease-standard)}.unified-card.card-theme-test:hover{box-shadow:var(--card-shadow-hover), 0 0 0 1px var(--card-theme-primary), 0 0 25px color-mix(in srgb, var(--card-theme-primary) 20%, transparent), 0 0 40px color-mix(in srgb, var(--card-theme-primary) 10%, transparent);transition:transform calc(var(--card-hover-duration) * .8) var(--apple-ease-responsive), box-shadow var(--card-hover-duration) var(--apple-ease-standard), border-color calc(var(--card-hover-duration) * .8) var(--apple-ease-responsive), background var(--card-hover-duration) var(--apple-ease-standard)}@keyframes cocovox-apple-press{0%{transform:scale(1)translateY(0)}50%{transform:scale(.96)translateY(2px)}to{transform:scale(var(--card-press-scale)) var(--card-press-translate)}}.learning-material-card .header-section,.lesson-card .lesson-header,.interactive-lesson-card header{cursor:pointer;user-select:none}.learning-material-card .header-section:focus-visible,.lesson-card .lesson-header:focus-visible,.interactive-lesson-card header:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px;border-radius:var(--shape-card,16px)}.learning-material-card,.lesson-card,.interactive-lesson-card{transition:var(--card-transition);position:relative;overflow:hidden}.learning-material-card:hover:not(.compact),.lesson-card:hover:not(.compact),.interactive-lesson-card:hover:not(.compact){transform:var(--card-hover-transform);box-shadow:var(--card-shadow-hover)}.bento-suggestions-grid{gap:var(--card-spacing-lg);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-auto-rows:minmax(200px,auto);grid-auto-flow:dense;display:grid;container:bento-grid/inline-size}.bento-card-featured{grid-area:span 1/span 2}.bento-card-compact{min-height:var(--card-min-height-compact);grid-row:span 1}.bento-card-detailed{min-height:var(--card-min-height-large);grid-row:span 2}.bento-card-quiz{grid-column:span 1;min-height:240px}.bento-card-discussion{grid-row:span 1;min-height:200px}@container bento-grid (width>=640px){.bento-suggestions-grid{gap:var(--card-spacing-xl);grid-template-columns:repeat(2,1fr)}.bento-card-featured{grid-column:1/-1}}@container bento-grid (width>=1024px){.bento-suggestions-grid{grid-template-columns:repeat(3,1fr)}.bento-card-featured{grid-column:span 2}}@container bento-grid (width>=1440px){.bento-suggestions-grid{gap:var(--space-8,2rem);grid-template-columns:repeat(4,1fr)}.bento-card-featured{grid-area:span 2/span 2}}.unified-card{contain:layout style paint;content-visibility:auto;will-change:transform, opacity}.unified-card.card-priority-primary{--card-hover-scale:1.03;--card-hover-duration:.2s;--card-press-scale:.96;transition:transform var(--card-hover-duration) var(--apple-ease-responsive), box-shadow var(--card-hover-duration) var(--apple-ease-standard), border-color var(--card-hover-duration) var(--apple-ease-standard)}.unified-card.card-priority-secondary{--card-hover-scale:1.015;--card-hover-duration:.25s;--card-press-scale:.98;transition:transform var(--card-hover-duration) var(--apple-ease-gentle), box-shadow calc(var(--card-hover-duration) * 1.2) var(--apple-ease-standard), border-color var(--card-hover-duration) var(--apple-ease-gentle)}.unified-card.card-priority-tertiary{--card-hover-scale:1.005;--card-hover-duration:.3s;--card-press-scale:.995;transition:transform var(--card-hover-duration) var(--apple-ease-standard), box-shadow var(--card-hover-duration) var(--apple-ease-standard), border-color var(--card-hover-duration) var(--apple-ease-standard)}@media (prefers-reduced-motion:no-preference){[data-performance-quality=high] .unified-card.card-interactive:hover{transform:var(--card-hover-lift) scale(var(--card-hover-scale));box-shadow:var(--card-shadow-hover), 0 0 0 1px var(--card-theme-primary), 0 0 20px var(--card-glow-color,var(--color-primary-alpha-15)), 0 0 40px var(--card-glow-color,#3b82f614)}[data-performance-quality=medium] .unified-card.card-interactive:hover{transform:var(--card-hover-lift) scale(calc(var(--card-hover-scale) * .7));box-shadow:var(--card-shadow-hover), 0 0 0 1px var(--card-theme-primary)}[data-performance-quality=low] .unified-card.card-interactive:hover{box-shadow:var(--card-shadow-elevated);transform:translateY(-1px)}}@supports (contain:paint){.unified-card{contain:layout style paint size}}@media (update:fast){:root{--card-hover-duration:.15s;--card-press-duration:80ms;--card-release-duration:.12s}.unified-card.card-interactive{transition:transform var(--card-hover-duration) var(--apple-ease-responsive), box-shadow calc(var(--card-hover-duration) * 1.1) var(--apple-ease-standard), border-color var(--card-hover-duration) var(--apple-ease-standard)}}@keyframes anthropic-shimmer-border{0%,to{border-color:var(--border-color-muted);box-shadow:0 0 0 var(--color-primary-alpha-10)}50%{border-color:var(--color-primary-alpha-20);box-shadow:0 0 20px var(--color-primary-alpha-20)}}@keyframes anthropic-fade-in-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes anthropic-fade-in{to{opacity:1}}.anthropic-card{opacity:0;animation:.4s ease-out forwards anthropic-fade-in-up}@container (width<=300px){.unified-card .card-header,.learning-material-card .flex.items-center.justify-between,.lesson-card .lesson-actions,.interactive-lesson-card .actions-footer{align-items:stretch;gap:var(--card-spacing-sm);flex-direction:column}.unified-card .card-title{font-size:var(--card-title-size-sm)}.unified-card .card-actions{flex-direction:column;align-items:stretch}.card-stats-badge{font-size:var(--text-xs,.75rem);padding:var(--space-1,.25rem) var(--space-2,.5rem)}}@container (width>=300px) and (width<=500px){.unified-card .card-meta{align-items:flex-start;gap:var(--card-spacing-xs);flex-direction:column}}@container (width>=500px){.unified-card.card-size-default{min-height:calc(var(--card-min-height-default) + 1rem)}.unified-card .card-actions{justify-content:flex-end}}@container (width<=400px){.learning-material-card,.lesson-card,.interactive-lesson-card{font-size:var(--text-sm,.875rem)}.primary-action-btn,.secondary-action-btn,.action-btn{padding:var(--space-2,.5rem) var(--space-3,.75rem);font-size:var(--text-xs,.75rem)}}@container (width<=640px){.card-grid-base,.anthropic-card-grid{gap:var(--space-5);grid-template-columns:1fr}}@supports not (container-type:inline-size){@media (width<=640px){.card-grid-base,.anthropic-card-grid{gap:var(--space-5);grid-template-columns:1fr}}}:is(:global(.dark) .learning-material-card,:global(.dark) .lesson-card,:global(.dark) .interactive-lesson-card){--surface-card:var(--cocovox-neutral-800);--text-primary:var(--cocovox-neutral-100);--text-secondary:var(--cocovox-neutral-300);--text-tertiary:var(--cocovox-neutral-400);--border-color:var(--cocovox-neutral-600);--surface-elevated:var(--cocovox-neutral-700)}:global(.dark) .stat-card{background:var(--cocovox-neutral-700);border-color:var(--cocovox-neutral-600)}:global(.dark) .progress-track{background-color:var(--cocovox-neutral-700)}:global(.mi-input-container){border-radius:var(--mi-border-radius);width:100%;padding:var(--mi-spacing-md);color:var(--mi-text-primary);background:linear-gradient(to bottom, rgba(var(--color-surface-primary-rgb), var(--backdrop-opacity,.8)) 0%, rgba(var(--color-surface-primary-rgb), calc(var(--backdrop-opacity,.8) * .7)) 100%);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(var(--color-divider-rgb), .1);box-shadow:0 1px 3px 0 var(--overlay-subtle), 0 1px 2px 0 var(--overlay-subtle);flex-direction:column;flex:1;display:flex;position:relative}:global(.mi-textarea){color:var(--mi-text-primary);resize:none;field-sizing:content;width:100%;transition:height var(--motion-standard) var(--ease-standard), border-color var(--motion-quick) var(--ease-hover);scrollbar-width:none;-ms-overflow-style:none;background-color:#0000;border:none;border-radius:0;outline:2px solid #0000;flex-grow:1;height:auto;min-height:44px;max-height:200px;margin-top:0;padding:0;line-height:1.5;overflow-y:auto}@supports not (field-sizing:content){:global(.mi-textarea){overflow-y:hidden}}:global(.mi-textarea:focus-visible){outline:2px solid var(--mi-border-focus,var(--color-primary-500));outline-offset:-2px}:global(.mi-textarea::-webkit-scrollbar){display:none}:global(.mi-textarea::placeholder){color:var(--mi-text-secondary);opacity:.8}:global(#chat-textarea){color:var(--text-primary)}:global(#chat-textarea::placeholder){color:var(--text-secondary);opacity:.8}:global(.mi-toolbar-theme-aware){background-color:var(--mi-bg-secondary);border-radius:var(--mi-spacing-md);border:1px solid var(--mi-border-default);transition:background-color var(--motion-quick) var(--ease-hover), border-color var(--motion-quick) var(--ease-hover)}:global(.mi-toolbar-theme-aware:hover){border-color:color-mix(in srgb, var(--mi-border-focus) 30%, var(--mi-border-default));background-color:color-mix(in srgb, var(--mi-bg-secondary) 95%, var(--mi-border-default))}:global(.mi-toolbar-theme-aware:focus-within){border-color:var(--mi-border-focus);box-shadow:0 0 0 1px var(--mi-border-focus)}@container message-input (width<=600px){:global(.mi-toolbar-theme-aware){border-radius:var(--mi-spacing-sm);padding:var(--mi-spacing-sm) var(--mi-spacing-md)}}:global(.mi-char-count){bottom:.25rem;font-size:var(--text-xs,.75rem);color:var(--mi-text-tertiary);background-color:var(--mi-bg-secondary);padding:var(--space-1-5,.375rem) var(--space-2,.5rem);box-shadow:0 1px 3px var(--overlay-subtle);pointer-events:none;border-radius:.375rem;position:absolute;inset-inline-end:.5rem}:global(.documents-container){--card-width:clamp(240px, 25vw, 280px);--card-height:clamp(160px, 20vh, 180px);--card-gap:clamp(var(--space-5,1.25rem), 2.5vw, var(--space-6,1.5rem));--card-width-compact:clamp(200px, 20vw, 220px);--card-width-standard:clamp(240px, 22vw, 260px);--card-width-showcase:clamp(280px, 24vw, 320px);padding:var(--space-2) 0;margin:var(--space-4) 8px 32px 8px;--scroll-indicator-size:6px;--animation-fast:.2s;--animation-normal:.3s;--easing-smooth:cubic-bezier(.16, 1, .3, 1);--easing-bounce:cubic-bezier(.68, -.55, .265, 1.55);--card-bg:color-mix(in srgb, var(--surface-card) 95%, transparent);--card-bg-hover:var(--surface-card);--card-border:var(--border-color-muted,var(--overlay-subtle));--card-border-hover:var(--color-primary-alpha-20,var(--color-primary-alpha-30));--card-shadow:var(--shadow-md,0 2px 8px var(--overlay-subtle));--card-shadow-hover:var(--shadow-lg,0 8px 25px var(--border-color-default));margin:var(--space-1,.25rem) var(--space-0-5,.125rem);max-height:calc(var(--card-height) + 10rem);min-height:calc(var(--card-height) + .5rem);z-index:1;contain:layout style;position:relative;container-type:inline-size}:global(.documents-grid){gap:var(--card-gap);grid-template-rows:1fr;grid-auto-flow:column;grid-auto-columns:var(--card-width-standard);scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-x:contain;scrollbar-gutter:stable;contain:layout style;z-index:2;height:var(--card-height);width:100%;padding:var(--space-2,.5rem);border-radius:var(--shape-input,8px);background:color-mix(in srgb, var(--surface-background) 30%, transparent);min-width:100%;display:grid;position:relative;overflow:auto hidden}@media (prefers-reduced-motion:reduce){:global(.documents-grid){scroll-behavior:auto}}:global(.documents-grid[data-count="1-2"]){grid-auto-columns:var(--card-width-showcase);justify-content:start;overflow-x:visible}:global(.documents-grid[data-count="3-5"]){grid-auto-columns:var(--card-width-standard)}:global(.documents-grid[data-count="6-10"]){grid-auto-columns:var(--card-width-compact)}:global(.documents-grid[data-count="many"]){grid-auto-columns:var(--card-width-compact);background:color-mix(in srgb, var(--surface-background) 60%, transparent);border:1px solid var(--border-color-muted)}:global(.documents-grid > *){scroll-snap-align:start;scroll-snap-stop:normal}:global(.documents-grid > *){background:var(--color-surface);border-color:var(--color-border);color:var(--color-text-primary)}:global(.documents-grid > *:hover){background:var(--color-surface-raised);border-color:var(--color-border-focus,var(--theme-primary-rgb,59, 130, 246))}:is(:global(.document-card-wrapper),:global(.image-card-wrapper)){min-width:var(--card-width);height:var(--card-height);flex-shrink:0}:is(:global(.document-card),:global(.image-card),:global(.show-more-card)){width:100%;height:100%}:global(.image-card .relative.group){height:100%;overflow:hidden}:global(.documents-grid::-webkit-scrollbar){height:var(--scroll-indicator-size);width:var(--scroll-indicator-size)}:global(.documents-grid::-webkit-scrollbar-track){background:color-mix(in srgb, var(--color-neutral-900) 5%, transparent);border-radius:calc(var(--scroll-indicator-size) / 2);margin:0 var(--space-2,.5rem)}:global(.documents-grid::-webkit-scrollbar-thumb){background:var(--color-primary-alpha-20);border-radius:calc(var(--scroll-indicator-size) / 2);transition:background var(--motion-quick) var(--ease-hover), transform var(--motion-quick) var(--ease-hover);border:1px solid var(--color-primary-alpha-20)}:global(.documents-grid::-webkit-scrollbar-thumb:hover){background:color-mix(in srgb, var(--color-primary-500) 80%, transparent);transform:scaleY(1.2)}:global(.documents-grid::-webkit-scrollbar-corner){background:0 0}@container message-input (width<=440px){:global(.documents-container){--card-width-compact:clamp(180px, 25vw, 200px);--card-width-standard:clamp(200px, 30vw, 220px);--card-width-showcase:clamp(220px, 32vw, 240px);--card-height:clamp(100px, 15vh, 120px);--card-gap:clamp(var(--space-4,1rem), 2.5vw, var(--space-4,1rem))}}@container message-input (width>=441px) and (width<=728px){:global(.documents-container){--card-width-compact:clamp(190px, 22vw, 210px);--card-width-standard:clamp(220px, 25vw, 240px);--card-width-showcase:clamp(250px, 28vw, 270px);--card-height:clamp(105px, 16vh, 125px);--card-gap:clamp(var(--space-4,1rem), 2vw, var(--space-4,1rem))}}@container message-input (width>=729px){:global(.documents-container){--card-width-compact:clamp(200px, 20vw, 220px);--card-width-standard:clamp(240px, 22vw, 260px);--card-width-showcase:clamp(280px, 24vw, 320px);--card-height:clamp(110px, 18vh, 140px);--card-gap:clamp(var(--space-3-5,.875rem), 1.8vw, var(--space-4,1rem))}}@supports not (container-type:inline-size){@media (width<=480px){:global(.documents-container){--card-width-compact:clamp(180px, 25vw, 200px);--card-width-standard:clamp(200px, 30vw, 220px);--card-width-showcase:clamp(220px, 32vw, 240px);--card-height:clamp(100px, 15vh, 120px);--card-gap:clamp(var(--space-4,1rem), 2.5vw, var(--space-4,1rem))}}@media (width>=441px) and (width<=728px){:global(.documents-container){--card-width-compact:clamp(190px, 22vw, 210px);--card-width-standard:clamp(220px, 25vw, 240px);--card-width-showcase:clamp(250px, 28vw, 270px);--card-height:clamp(105px, 16vh, 125px);--card-gap:clamp(var(--space-4,1rem), 2vw, var(--space-4,1rem))}}@media (width>=769px){:global(.documents-container){--card-width-compact:clamp(200px, 20vw, 220px);--card-width-standard:clamp(240px, 22vw, 260px);--card-width-showcase:clamp(280px, 24vw, 320px);--card-height:clamp(110px, 18vh, 140px);--card-gap:clamp(var(--space-3-5,.875rem), 1.8vw, var(--space-4,1rem))}}}@keyframes scrollIndicatorPulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}:global(.documents-grid > *){animation:enter-slide-right var(--motion-standard) var(--ease-card);animation-delay:calc(var(--card-index,0) * var(--stagger-standard));transition:transform var(--motion-card-hover) var(--ease-hover), background var(--motion-quick) var(--ease-hover), border-color var(--motion-quick) var(--ease-hover), box-shadow var(--motion-card-hover) var(--ease-hover);background:var(--color-surface,white);border:1px solid var(--border-color-muted,var(--overlay-subtle));border-radius:var(--shape-card,16px);height:var(--card-height);max-height:var(--card-height);width:var(--card-width-standard);min-width:var(--card-width-standard);font-size:var(--text-sm,.875rem);color:var(--text-primary);text-overflow:ellipsis;scroll-snap-align:start;z-index:3;flex-direction:column;justify-content:space-between;line-height:1.25;animation-fill-mode:both;display:flex;position:relative;overflow:hidden}:is(:global(.documents-grid > * .file-name),:global(.documents-grid > * .file-title)){font-weight:var(--font-semibold,600);font-size:var(--text-sm,.875rem);margin-bottom:var(--space-1,.25rem);text-overflow:ellipsis;white-space:nowrap;line-height:1.2;overflow:hidden}:is(:global(.documents-grid > * .file-info),:global(.documents-grid > * .file-metadata)){font-size:var(--text-xs,.75rem);color:var(--text-secondary);line-height:1.1}:global(.documents-grid > *:hover){transform:translateY(calc(-1 * var(--lift-card))) scale(var(--scale-card-hover));background:var(--surface-interactive);border-color:var(--color-primary-alpha-20);box-shadow:0 calc(var(--lift-card) * 2) calc(var(--lift-card) * 6) var(--overlay-subtle), 0 calc(var(--lift-card)) calc(var(--lift-card) * 3) var(--surface-interactive);z-index:4}:global(.documents-container::after){content:"";top:50%;background:linear-gradient(to bottom, transparent, var(--color-primary-alpha-50,var(--color-primary-600)), transparent);opacity:0;width:2px;height:20px;transition:opacity var(--motion-quick) var(--ease-standard);pointer-events:none;z-index:5;border-radius:1px;position:absolute;inset-inline-end:.5rem;transform:translateY(-50%)}:is(:global(.documents-grid[data-count="3-5"]::parent::after),:global(.documents-grid[data-count="6-10"]::parent::after),:global(.documents-grid[data-count="many"]::parent::after)){opacity:1;animation:2s ease-in-out infinite scrollIndicatorPulse}@container message-input (width<=600px){:global(.documents-container){margin:var(--space-1,.25rem) var(--space-0-5,.125rem)}:global(.documents-grid){-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;padding:var(--space-0-5,.125rem)}:global(.documents-grid > *){min-width:var(--card-width-compact)}:global(.documents-container::after){display:none}}:is(:global(.dropdown-content),:global(.modal),:global(.popover),:global(.tooltip),:global([role="dialog"]),:global([role="menu"]),:global([role="tooltip"])){z-index:50}:global(.documents-container ~ *){z-index:6;position:relative}:global(.mi-file-grid){margin:var(--space-1,.25rem) var(--space-1,.25rem) var(--space-1,.25rem);margin-top:.625rem;margin-bottom:var(--space-1,.25rem);gap:var(--space-1-5,.375rem);flex-wrap:wrap;display:flex}:global(.mi-file-item-image){group:true;position:relative}:global(.mi-file-item-image img){border-radius:var(--mi-spacing-md);object-fit:cover;width:3rem;height:3rem}:global(.mi-file-remove-button){top:-.25rem;background-color:var(--color-error);color:var(--color-text-on-primary,var(--color-white));border-radius:var(--radius-full,50%);min-width:var(--mi-touch-target-min);min-height:var(--mi-touch-target-min);padding:var(--space-2,.5rem);touch-action:manipulation;transition:visibility var(--motion-quick) var(--ease-standard), opacity var(--motion-quick) var(--ease-standard), transform var(--motion-quick) var(--ease-hover);visibility:hidden;opacity:0;border:2px solid #fff;justify-content:center;align-items:center;display:flex;position:absolute;inset-inline-end:-.25rem}:global(.mi-file-item-image:hover .mi-file-remove-button){visibility:visible;opacity:1}:global(.mi-file-remove-button:hover){background-color:var(--color-error-600);transform:scale(1.05)}@container message-input (width<=600px){:global(.mi-file-item-image img){width:4rem;height:4rem}:global(.mi-char-count){inset-inline-end:.5rem;padding:var(--space-1,.25rem) var(--space-2,.5rem);font-size:var(--text-xs,.75rem);bottom:.5rem}:global(.mi-input-container){padding:var(--mi-spacing-sm)}:global(.mi-textarea){font-size:var(--text-base,1rem);min-height:36px}}@container message-input (601px<=width<=980px){:global(.mi-file-item-image img){width:3.5rem;height:3.5rem}:global(.has-documents){padding-bottom:var(--documents-spacing-tablet)}}@container message-input (width>=980px){:global(.mi-input-container){padding:var(--mi-spacing-lg)}:global(.has-documents){padding-bottom:var(--documents-spacing-desktop)}}@supports not (container-type:inline-size){@media (width>=601px) and (width<=980px){:global(.mi-file-item-image img){width:3.5rem;height:3.5rem}:global(.has-documents){padding-bottom:var(--documents-spacing-tablet)}}@media (width>=1024px){:global(.mi-input-container){padding:var(--mi-spacing-lg)}:global(.has-documents){padding-bottom:var(--documents-spacing-desktop)}}}@media (hover:none) and (pointer:coarse){:global(.mi-input-container){-webkit-backdrop-filter:none;background:var(--surface-card)}:global(.mi-file-remove-button){visibility:visible;opacity:1;min-width:var(--mi-touch-target-mobile);min-height:var(--mi-touch-target-mobile)}:global(.mi-textarea){font-size:max(1rem,16px)}:is(:global(input[type="text"]),:global(input[type="email"]),:global(input[type="password"]),:global(select),:global(textarea)){min-height:var(--mi-touch-target-mobile)}}:global(.has-documents){--documents-total-height:calc(var(--card-height) + 4rem);--documents-spacing-mobile:calc(var(--documents-total-height) + 1rem);--documents-spacing-tablet:calc(var(--documents-total-height) + 1.25rem);--documents-spacing-desktop:calc(var(--documents-total-height) + 1.5rem);padding-bottom:var(--documents-spacing-mobile);min-height:var(--documents-total-height)}:global(.has-documents .mi-textarea){margin-top:var(--space-3,.75rem);min-height:3rem}:global(.has-documents .message-input-container){min-height:calc(var(--documents-total-height) + 5rem)}@container message-input (width<=600px){:global(.mi-textarea){-webkit-overflow-scrolling:touch;overscroll-behavior:contain;user-select:text;padding:var(--space-1) 8px;min-height:32px;margin-top:0;overflow-x:hidden}:global(.mi-input-container){padding:var(--space-1-5,.375rem)}:global(.message-input-container){padding-bottom:var(--space-2,.5rem)}:global(.has-documents){padding-bottom:var(--documents-spacing-mobile);min-height:calc(var(--documents-total-height) + 1rem)}:global(.message-input-container){min-height:env(keyboard-inset-height,0px);padding-bottom:env(safe-area-inset-bottom,0px)}}@media (height<=500px) and (orientation:landscape){:global(.mi-input-container){padding:var(--space-2,.5rem)}:global(.mi-textarea){max-height:120px}}:is(:global(.document-card.unified-card),:global(.image-card.unified-card)){box-shadow:0 4px 12px var(--overlay-subtle), 0 2px 4px var(--overlay-subtle);background:var(--surface-elevated);border:none;transition:transform .2s,box-shadow .2s}:is(:global(.document-card.unified-card:hover),:global(.image-card.unified-card:hover)){box-shadow:0 8px 25px var(--border-color-muted), 0 4px 8px var(--overlay-subtle);transform:translateY(-2px)scale(1.02)}:is(:global(.dark .document-card.unified-card:hover),:global(.dark .image-card.unified-card:hover)){box-shadow:0 8px 25px var(--overlay-light), 0 4px 8px var(--overlay-light)}.thinking-card-container{container:thinking-card/inline-size}.thinking-card-container.scroll-reveal{animation:linear scroll-reveal-fade view();animation-range:entry cover 35%}.thinking-collapsed-chip{transition:opacity .25s cubic-bezier(.33, 1, .68, 1), scale .25s cubic-bezier(.33, 1, .68, 1), display .25s cubic-bezier(.33, 1, .68, 1) allow-discrete, background .2s ease, border-color .2s ease, transform .2s ease}.thinking-expanded-container{transition:opacity .3s cubic-bezier(.33,1,.68,1),scale .3s cubic-bezier(.33,1,.68,1),transform .3s cubic-bezier(.33,1,.68,1)}.thinking-expanded-wrapper{transition:grid-template-rows .35s cubic-bezier(.33,1,.68,1);display:grid}.thinking-expanded-wrapper.wrapper-expanded{grid-template-rows:1fr}.thinking-expanded-wrapper.wrapper-collapsed{grid-template-rows:0fr}.thinking-expanded-inner{min-height:0;overflow:hidden}.thinking-collapsed-chip.chip-visible{animation:.25s cubic-bezier(.33,1,.68,1) .2s backwards chip-appear}@keyframes chip-appear{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@starting-style{.thinking-collapsed-chip.chip-visible{opacity:0;scale:.92}}@starting-style{.thinking-expanded-wrapper.wrapper-expanded{grid-template-rows:0fr}.thinking-expanded-container.expanded-visible{opacity:0;transform:translateY(-8px)}}@media (prefers-reduced-motion:reduce){.thinking-expanded-wrapper{transition-duration:.01ms!important}.thinking-collapsed-chip.chip-visible{animation:none!important}@starting-style{.thinking-expanded-wrapper.wrapper-expanded{grid-template-rows:1fr}.thinking-collapsed-chip.chip-visible,.thinking-expanded-container.expanded-visible{opacity:1;transform:none}}}@property --shimmer-opacity{syntax:"<number>";inherits:false;initial-value:0}@property --icon-glow{syntax:"<number>";inherits:false;initial-value:.7}.thinking-card-container.collapsed{--is-collapsing:1}.thinking-card-container.collapsed~:global(.tool-card-container){--choreography-delay:calc(var(--collapse-duration,.35s) + var(--collapse-to-expand-gap,.15s));animation-delay:calc(var(--choreography-delay) + (var(--tool-card-index,0) * 80ms))}.thinking-card-container:not(.collapsed)~:global(.tool-card-container){animation-delay:calc(var(--tool-card-index,0) * 80ms)}@media (prefers-reduced-motion:reduce){:is(.thinking-card-container.collapsed~:global(.tool-card-container),.thinking-card-container:not(.collapsed)~:global(.tool-card-container)){animation-delay:0s}}.thinking-card-container:has(~:global(.tool-card-celebrating)) .thinking-collapsed-chip.chip-visible{animation-delay:.8s}@media (prefers-reduced-motion:reduce){.thinking-card-container:has(~:global(.tool-card-celebrating)) .thinking-collapsed-chip.chip-visible{animation-delay:0s}}@container thinking-card (width<=350px){.thinking-header-content{align-items:flex-start;gap:var(--space-2,.5rem);flex-direction:column}.thinking-expanded-container{border-radius:var(--shape-card,16px)}.thinking-card-header{padding:var(--space-2-5) 12px}.thinking-content{padding:0 var(--space-3,.75rem) var(--space-2-5,.625rem)}.thinking-icon-container{width:26px;height:26px}.thinking-icon-container .thinking-icon{width:14px;height:14px}.thinking-title,.thinking-text{font-size:var(--text-sm,.875rem)}}.interactive-element{transition:color var(--transition-duration-normal) var(--transition-timing-standard)}.interactive-element:hover{color:var(--hover-color,color-mix(in srgb, currentColor 85%, var(--color-primary-500)))}.interactive-element:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}[role=dialog]:focus,.modal-overlay:focus{outline:2px solid #0000}.sr-only,.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sr-only-focusable:focus,.visually-hidden-focusable:focus{width:auto;height:auto;padding:inherit;margin:inherit;clip:auto;white-space:normal;position:static;overflow:visible}.skip-to-main{background:var(--color-primary-500);color:var(--text-on-primary);padding:var(--space-2) var(--space-4);border-radius:0 0 var(--radius-md) 0;z-index:var(--z-tooltip);transition:transform var(--duration-fast) var(--ease-out);text-decoration:none;position:absolute;top:0;left:0;transform:translateY(-100%)}.skip-to-main:focus{transform:translateY(0)}.sidebar-container{box-sizing:border-box;background-color:var(--color-white-alpha-75);border:1px solid color-mix(in srgb, var(--color-border-themed) 50%, transparent);border-radius:0 var(--shape-panel,.75rem) var(--shape-panel,.75rem) 0;height:100%;box-shadow:var(--shadow-md);z-index:1;isolation:isolate;contain:layout style;border-left:none;flex-direction:column;justify-content:space-between;margin-left:0;padding:0;display:flex}@supports (-webkit-touch-callout:none){.sidebar-container{-webkit-backdrop-filter:none}}@supports not (-webkit-touch-callout:none){.sidebar-container{-webkit-backdrop-filter:blur(20px)}}.dark .sidebar-container{background-color:color-mix(in srgb, var(--theme-surface-background) 75%, transparent);border-color:#0000}.sidebar-container,.sidebar-container:not([data-collapsed=true]){width:100%}.sidebar-inner{scrollbar-gutter:stable;min-height:0;padding:var(--space-2) var(--space-2) var(--space-4);-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;flex-direction:column;flex:1;display:flex;overflow:hidden auto;scrollbar-width:none!important;-ms-overflow-style:none!important}.sidebar-inner::-webkit-scrollbar{width:0!important;height:0!important;display:none!important}.sidebar-container[data-collapsed=true] .sidebar-inner{padding:var(--space-2);align-items:center}.logo-section{width:100%;margin-bottom:var(--space-4,1rem);align-self:stretch;padding:0}.sidebar-container[data-collapsed=true] .logo-section{margin-bottom:var(--space-2,.5rem);align-self:stretch;padding:0}.logo-container{width:100%;transition:gap var(--sidebar-content-duration) var(--sidebar-content-easing);display:flex}.logo-container[data-expanded=true]{justify-content:space-between;align-items:center;gap:var(--space-2,.5rem);flex-direction:row;width:100%}.logo-container[data-expanded=false]{flex-direction:column;justify-content:center;align-items:center;width:100%}.logo-content{align-items:center;display:flex}.logo-image{width:120px;height:auto;transition:opacity var(--sidebar-content-duration) var(--sidebar-content-easing), fill var(--sidebar-content-duration) var(--sidebar-content-easing);flex-shrink:0}.logo-image path{fill:var(--color-logo);transition:fill var(--sidebar-content-duration) var(--sidebar-content-easing)}.nav-group{margin-bottom:var(--space-6,1.5rem);flex-direction:column;display:flex}.nav-group:last-child{margin-bottom:0}.sidebar-container[data-collapsed=true] .nav-group{margin-bottom:var(--space-2,.5rem)}.sidebar-nav-item{text-align:left;width:100%;padding:var(--space-4,1rem);margin:0 var(--space-2,.5rem) var(--space-2,.5rem) var(--space-2,.5rem);border-radius:var(--shape-tab,.75rem);cursor:pointer;color:var(--color-sidebar-icon);font-size:var(--text-base,1rem);font-weight:var(--font-medium,500);transition:background-color var(--sidebar-content-duration) var(--sidebar-content-easing), border-color var(--sidebar-content-duration) var(--sidebar-content-easing), color var(--sidebar-content-duration) var(--sidebar-content-easing), transform var(--sidebar-content-duration) var(--sidebar-content-easing), box-shadow var(--sidebar-content-duration) var(--sidebar-content-easing);background-color:#0000;border:none;border-left:3px solid #0000;align-items:center;display:flex}.sidebar-container[data-collapsed=true] .sidebar-nav-item{display:none}.sidebar-nav-item:hover{background-color:var(--color-hover-surface)}@media (hover:hover) and (pointer:fine){.sidebar-nav-item:hover{transform:translate(4px)}}.sidebar-nav-item:active{transform:translate(0)scale(.98)}.sidebar-nav-item.active,.sidebar-nav-item[aria-current=page]{background-color:color-mix(in srgb, var(--color-primary) 10%, transparent);border-left-color:var(--color-primary);color:var(--color-primary)}.sidebar-nav-item.active:hover,.sidebar-nav-item[aria-current=page]:hover{background-color:color-mix(in srgb, var(--color-primary) 15%, transparent);transform:none}.sidebar-nav-item:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.sidebar-nav-content{align-items:center;gap:var(--space-3,.75rem);flex:1;min-width:0;display:flex}.nav-icon-wrapper{margin-right:var(--space-3,.75rem);flex-shrink:0;justify-content:center;align-items:center;display:flex}.sidebar-nav-item-collapsed{width:100%;padding:var(--space-3,.75rem);margin:0 var(--space-2,.5rem) var(--space-2,.5rem) var(--space-2,.5rem);cursor:pointer;color:var(--color-sidebar-icon);transition:background-color var(--sidebar-content-duration) var(--sidebar-content-easing), color var(--sidebar-content-duration) var(--sidebar-content-easing), transform var(--sidebar-content-duration) var(--sidebar-content-easing), box-shadow var(--sidebar-content-duration) var(--sidebar-content-easing);background-color:#0000;border:none;border-radius:.75rem;justify-content:center;align-items:center;display:flex}.sidebar-container[data-collapsed=true] .sidebar-nav-item-collapsed{display:flex}.sidebar-nav-item-collapsed:hover{background-color:var(--color-hover-surface)}@media (hover:hover) and (pointer:fine){.sidebar-nav-item-collapsed:hover{transform:scale(1.05)}}.sidebar-nav-item-collapsed:active{transform:scale(.95)}.sidebar-nav-item-collapsed.active,.sidebar-nav-item-collapsed[aria-current=page]{background-color:color-mix(in srgb, var(--color-primary) 12%, transparent);border-radius:var(--radius-md,.5rem);box-shadow:inset 0 0 0 2px var(--color-primary);color:var(--color-primary)}.sidebar-nav-item-collapsed.active:hover,.sidebar-nav-item-collapsed[aria-current=page]:hover{background-color:color-mix(in srgb, var(--color-primary) 18%, transparent);transform:none}.sidebar-nav-item-collapsed:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.course-item{text-align:left;width:100%;padding:var(--space-4,1rem);margin:0 var(--space-2,.5rem) var(--space-2,.5rem) var(--space-2,.5rem);background-color:var(--color-surface-elevated);border:1px solid var(--color-border-subtle);cursor:pointer;transition:background-color var(--duration-normal) var(--sidebar-content-easing), border-color var(--duration-normal) var(--sidebar-content-easing), box-shadow var(--duration-normal) var(--sidebar-content-easing), transform var(--duration-normal) var(--sidebar-content-easing);border-radius:1rem;justify-content:space-between;align-items:center;display:flex}.course-item:hover{background-color:var(--color-surface-elevated-hover);border-color:var(--color-border-hover)}@media (hover:hover) and (pointer:fine){.course-item:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}}.course-item:active{transition-duration:0s;transform:scale(.98)}.course-item.active{background-color:var(--color-surface-active);border-color:var(--color-primary-subtle);box-shadow:var(--shadow-sm)}.course-item:focus-visible{outline:4px solid var(--color-primary);outline-offset:4px}.course-item .course-icon-wrapper{width:2.5rem;height:2.5rem;margin-right:var(--space-3,.75rem);transition:opacity, transform var(--duration-normal) var(--sidebar-content-easing);border-radius:.5rem;flex-shrink:0;justify-content:center;align-items:center;display:flex}.course-item .course-text-wrapper{flex-direction:column;flex:1;min-width:0;display:flex}.course-item .course-name{color:var(--color-text-primary);font-size:var(--text-base,1rem);font-weight:var(--font-medium,500);white-space:nowrap;text-overflow:ellipsis;transition:font-weight var(--sidebar-content-duration) var(--sidebar-content-easing);overflow:hidden}.course-item.active .course-name{font-weight:var(--font-semibold,600)}.course-count-badge{padding:var(--space-1,.25rem) var(--space-2,.5rem);font-size:var(--text-xs,.75rem);font-weight:var(--font-medium,500);color:var(--color-text-secondary);background-color:var(--color-surface-raised);border-radius:var(--radius-full,9999px);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.action-button{text-align:center;width:100%;padding:var(--space-4,1rem);margin:0 var(--space-2,.5rem) var(--space-3,.75rem) var(--space-2,.5rem);background:linear-gradient(135deg, var(--color-surface-elevated) 0%, var(--color-surface-raised) 100%);border:1px solid var(--color-border-subtle);cursor:pointer;color:var(--color-text-primary);font-size:var(--text-base,1rem);font-weight:var(--font-medium,500);transition:background var(--duration-normal) var(--sidebar-content-easing), border-color var(--duration-normal) var(--sidebar-content-easing), box-shadow var(--duration-normal) var(--sidebar-content-easing), transform var(--duration-normal) var(--sidebar-content-easing);border-radius:.75rem;justify-content:center;align-items:center;display:flex}.action-button:hover{border-color:var(--color-border-hover)}@media (hover:hover) and (pointer:fine){.action-button:hover{background:linear-gradient(135deg, var(--color-surface-elevated-hover) 0%, var(--color-surface-raised-hover) 100%);box-shadow:var(--shadow-sm);transform:translateY(-1px)}}.action-button:active{transform:translateY(0)}.typography-heading-medium{font-size:var(--text-base,1rem);font-weight:var(--font-semibold,600);line-height:1.4}.typography-label-large{font-size:var(--text-base,1rem);font-weight:var(--font-medium,500);line-height:1.4}.typography-caption-small{font-size:var(--text-xs,.75rem);font-weight:var(--font-normal,400);color:var(--color-text-secondary);line-height:1.3}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.min-w-0{min-width:0}.w-full{width:100%}.h-full{height:100%}.gap-2{gap:var(--space-2,.5rem)}.gap-3{gap:var(--space-3,.75rem)}.space-y-1>*+*{margin-top:var(--space-1,.25rem)}.p-0{padding:0}.p-2{padding:var(--space-2,.5rem)}.p-3{padding:var(--space-3,.75rem)}.p-4{padding:var(--space-4,1rem)}.px-2{padding-left:var(--space-2,.5rem);padding-right:var(--space-2,.5rem)}.px-4{padding-left:var(--space-4,1rem);padding-right:var(--space-4,1rem)}.py-1{padding-top:var(--space-1,.25rem);padding-bottom:var(--space-1,.25rem)}.py-4{padding-top:var(--space-4,1rem);padding-bottom:var(--space-4,1rem)}.pt-2{padding-top:var(--space-2,.5rem)}.mr-3{margin-right:var(--space-3,.75rem)}.mb-2{margin-bottom:var(--space-2,.5rem)}.mt-2{margin-top:var(--space-2,.5rem)}.mx-2{margin-left:var(--space-2,.5rem);margin-right:var(--space-2,.5rem)}.ml-1{margin-left:var(--space-1,.25rem)}.rounded-xl{border-radius:.75rem}.rounded-tr-xl{border-top-right-radius:.75rem}.rounded-br-xl{border-bottom-right-radius:.75rem}.rounded-lg{border-radius:.5rem}.rounded-full{border-radius:var(--radius-full,9999px)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-sm{box-shadow:var(--shadow-sm)}.border{border-width:1px}.border-themed{border-color:var(--color-border-themed)}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-xs{font-size:var(--text-xs,.75rem);line-height:1rem}.text-sm{font-size:var(--text-sm,.875rem);line-height:1.25rem}.font-medium{font-weight:var(--font-medium,500)}.font-semibold{font-weight:var(--font-semibold,600)}.text-left{text-align:left}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rotate-180{transform:rotate(180deg)}.transform-gpu{transform:translateZ(0)}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-200{transition-duration:var(--sidebar-content-duration)}.duration-300{transition-duration:var(--duration-normal)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.group:hover .group-hover\:scale-110{transform:scale(1.1)}.group:hover .group-hover\:stroke-primary-600{stroke:var(--color-primary-600)}.group:hover .group-hover\:stroke-primary-700{stroke:var(--color-primary-500)}.z-50{z-index:50}.bg-surface{background-color:var(--color-surface)}.bg-surface-raised{background-color:var(--color-surface-raised)}.bg-surface-active{background-color:var(--color-surface-active)}.bg-surface-elevated{background-color:var(--color-surface-elevated)}.hover\:bg-primary-50:hover{background-color:var(--color-primary-50)}.dark\:hover\:bg-primary-900\/20:hover{background-color:color-mix(in srgb, var(--surface-primary) 20%, transparent)}.dark\:hover\:bg-primary-900\/10:hover{background-color:color-mix(in srgb, var(--surface-primary) 10%, transparent)}.dark\:hover\:bg-primary-900\/30:hover{background-color:color-mix(in srgb, var(--surface-primary) 30%, transparent)}.hover\:bg-primary-100:hover{background-color:var(--color-primary-100)}.opacity-60{opacity:.6}.sidebar-icon{stroke-width:2px;width:24px;height:24px}.sidebar-icon-small{width:12px;height:12px}.sidebar-icon-control{stroke-width:2.5px;width:16px;height:16px}.w-10{width:2.5rem}.h-10{height:2.5rem}.w-12{width:3rem}.w-14,.w-16{width:4rem}.w-64{width:16rem}.w-76{width:19rem}.-translate-x-64{transform:translate(-16rem)}.-translate-x-76{transform:translate(-19rem)}.translate-x-0{transform:translate(0)}@container sidebar (width>=101px) and (width<=180px){.sm\:w-14{width:4rem}.sm\:w-76{width:19rem}.sm\:-translate-x-76{transform:translate(-19rem)}}@container sidebar (width>=181px){.md\:w-16{width:4rem}.md\:w-64{width:16rem}.md\:relative{position:relative}}@container sidebar (width>=101px) and (width<=180px){.sidebar-nav-item,.course-item{padding:.875rem var(--space-4,1rem)}}@container sidebar (width>=181px){.sidebar-nav-item,.course-item{padding:var(--space-4,1rem) var(--space-6,1.5rem)}.logo-section,.nav-group{margin-bottom:var(--space-8,2rem)}}@media (width<=767px){.logo-section{margin-bottom:var(--space-4,1rem)}.nav-group{margin-bottom:var(--space-3,.75rem)}.sidebar-nav-item,.course-item{padding:.625rem var(--space-4,1rem);min-height:44px}.section-header{padding-top:var(--space-2,.5rem);padding-bottom:var(--space-1,.25rem);margin-top:var(--space-1,.25rem)}}.dark .sidebar-container,.dark .course-item:hover{box-shadow:var(--shadow-md)}.dark .action-button:hover{box-shadow:var(--shadow-lg)}@media (prefers-reduced-motion:reduce){.sidebar-nav-item,.sidebar-nav-item-collapsed,.course-item,.action-button,.logo-image{transition:none!important}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}ul,ol{list-style:none}a{color:inherit;text-decoration:none}button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:none}img,picture,video,canvas,svg{max-width:100%;display:block}input,button,textarea,select{font:inherit}html{font-size:var(--text-base,1rem);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%}body{min-height:100dvh;line-height:1.5}:root{--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--space-16:4rem;--radius-sm:.25rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-full:9999px;--transition-fast:.15s;--transition-normal:.25s;--transition-slow:.35s;--transition-slower:.5s;--z-index-deep:-999;--z-index-base:0;--z-index-raised:10;--z-index-overlay:100;--z-index-modal:1000;--z-index-popover:10000;--z-index-tooltip:100000}body{font-family:var(--font-family-base,system-ui, sans-serif);font-size:var(--font-size-base,1rem);font-weight:var(--font-weight-normal,400);color:var(--text-primary);background-color:var(--surface-background)}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-heading);font-weight:var(--font-weight-bold);line-height:1.2}a{transition:color var(--transition-fast)}a:hover{text-decoration:underline}code,pre{font-family:var(--font-family-mono)}input,textarea,select{width:100%}:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px}[data-theme]{transition:background-color var(--transition-slow), color var(--transition-slow)}[data-theme=cocovox]{font-family:var(--font-stack-cocovox)}[data-theme=modern]{font-family:var(--font-stack-modern)}[data-theme=circuit]{font-family:var(--font-stack-circuit)}.layout-app{grid-template:"header header""sidebar main"1fr"footer footer"/auto 1fr;min-height:100dvh;display:grid}.layout-header{grid-area:header}.layout-sidebar{grid-area:sidebar}.layout-main{grid-area:main}.layout-footer{grid-area:footer}.container{width:100%;max-width:var(--container-max-width,1200px);padding-inline:var(--container-padding,var(--space-4));margin-inline:auto}.grid{display:grid}.flex{display:flex}.btn{padding:var(--btn-padding-y,var(--space-2)) var(--btn-padding-x,var(--space-4));border-radius:var(--btn-radius,var(--radius-md));font-weight:var(--btn-font-weight,500);transition:background-color, border-color, color, box-shadow, transform var(--transition-fast);cursor:pointer;user-select:none;justify-content:center;align-items:center;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.card{background-color:var(--surface-card);border-radius:var(--card-radius,var(--radius-lg));padding:var(--card-padding,var(--space-4));box-shadow:var(--card-shadow)}.input{padding:var(--input-padding-y,var(--space-2)) var(--input-padding-x,var(--space-3));border:1px solid var(--border-color-default);border-radius:var(--input-radius,var(--radius-md));background-color:var(--surface-interactive);transition:border-color, box-shadow var(--transition-fast)}.input:focus{border-color:var(--color-primary-500);box-shadow:0 0 0 3px var(--color-primary-alpha-20)}.badge{padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);font-size:var(--text-sm,.875rem);font-weight:var(--font-medium,500);align-items:center;display:inline-flex}.hero{padding-block:var(--space-16);text-align:center}.hero-title{margin-bottom:var(--space-4);font-size:clamp(2rem,1.5rem + 2.5vw,4rem)}.feature-grid{gap:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));display:grid}.media{align-items:flex-start;gap:var(--space-4);display:flex}.media-figure{flex-shrink:0}.media-body{flex:1}.stack>*+*{margin-top:var(--stack-space,var(--space-4))}.reading-progress{background-color:var(--color-primary-500);transform-origin:0;width:100%;height:4px;z-index:var(--z-index-raised);pointer-events:none;animation:linear forwards progress-fill;animation-timeline:scroll(root vertical);animation-range:0% 100%;position:fixed;top:0;left:0}@keyframes progress-fill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.scroll-progress-circle{width:50px;height:50px;position:fixed;bottom:2rem;right:2rem;& svg circle{stroke-dasharray:157;stroke-dashoffset:157px;stroke:var(--color-primary-500);stroke-width:3px;fill:none;animation:linear forwards circle-progress;animation-timeline:scroll(root vertical);animation-range:0% 100%}}@keyframes circle-progress{to{stroke-dashoffset:0}}.hero-parallax{position:relative;overflow:hidden;&:before{content:"";background-image:var(--hero-bg-image);will-change:transform;animation:linear parallax-bg;animation-timeline:scroll(root vertical);background-position:50%;background-size:cover;animation-range:entry exit;position:absolute;inset:0}}@keyframes parallax-bg{0%{transform:translateY(0)}to{transform:translateY(30%)}}.parallax-layer{width:100%;height:100%;position:absolute;&[data-speed=slow]{animation:linear parallax-slow;animation-timeline:scroll(root vertical);animation-range:entry exit}&[data-speed=medium]{animation:linear parallax-medium;animation-timeline:scroll(root vertical);animation-range:entry exit}&[data-speed=fast]{animation:linear parallax-fast;animation-timeline:scroll(root vertical);animation-range:entry exit}}@keyframes parallax-slow{to{transform:translateY(15%)}}@keyframes parallax-medium{to{transform:translateY(30%)}}@keyframes parallax-fast{to{transform:translateY(45%)}}.fade-in-on-scroll{opacity:0;animation:linear forwards fade-in-scroll view();animation-range:entry 25% cover 50%}@keyframes fade-in-scroll{to{opacity:1}}.slide-up-on-scroll{opacity:0;animation:linear forwards slide-up-scroll view();animation-range:entry 25% cover 50%;transform:translateY(50px)}@keyframes slide-up-scroll{to{opacity:1;transform:translateY(0)}}.scale-in-on-scroll{opacity:0;animation:linear forwards scale-in-scroll view();animation-range:entry 25% cover 50%;transform:scale(.8)}@keyframes scale-in-scroll{to{opacity:1;transform:scale(1)}}.header-sticky{z-index:var(--z-index-overlay);animation:linear forwards header-transform;animation-timeline:scroll(root vertical);transition:backdrop-filter .3s;animation-range:0 200px;position:sticky;top:0}@keyframes header-transform{0%{backdrop-filter:blur();box-shadow:none;background-color:#0000;padding-block:1.5rem}to{background-color:var(--theme-surface-background-alpha-90);backdrop-filter:blur(10px);padding-block:1rem;box-shadow:0 2px 10px #0000001a}}.header-logo{animation:linear forwards logo-shrink;animation-timeline:scroll(root vertical);transition:transform .3s;animation-range:0 150px}@keyframes logo-shrink{to{transform:scale(.8)}}.section-color-transition{--section-bg:var(--surface-background);background-color:var(--section-bg);animation:linear section-color view();animation-range:entry exit}@keyframes section-color-primary{50%{--section-bg:var(--theme-primary-alpha-10)}}@keyframes section-color-accent{50%{--section-bg:var(--theme-accent-alpha-10)}}.section-color-transition[data-color=primary]{animation-name:section-color-primary}.section-color-transition[data-color=accent]{animation-name:section-color-accent}.highlight-on-scroll{--highlight-amount:0;background:linear-gradient(to right, var(--color-primary-500) 0%, var(--color-primary-500) var(--highlight-amount), transparent var(--highlight-amount));color:#0000;background-clip:text;animation:linear text-highlight view();animation-range:entry 50% cover 50%}@keyframes text-highlight{to{--highlight-amount:100%}}.text-reveal{overflow:hidden;& span{opacity:0;animation:.5s forwards char-reveal view();animation-range:entry 25% cover 50%;animation-delay:calc(var(--char-index) * 50ms);display:inline-block;transform:translateY(1em)}}@keyframes char-reveal{to{opacity:1;transform:translateY(0)}}.timeline-vertical{position:relative;&:before{content:"";background-color:var(--border-color-default);width:2px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}&:after{content:"";background-color:var(--color-primary-500);transform-origin:top;width:2px;animation:linear timeline-progress;animation-timeline:scroll(self vertical);animation-range:0% 100%;position:absolute;top:0;left:50%;transform:translate(-50%)}}@keyframes timeline-progress{0%{height:0}to{height:100%}}.timeline-item{opacity:.5;transition:opacity .3s,transform .3s;animation:linear forwards timeline-activate view();animation-range:entry 50% cover 50%;transform:scale(.95)}@keyframes timeline-activate{to{opacity:1;transform:scale(1)}}.scroll-timeline-root{animation-timeline:scroll(root)}.scroll-timeline-self{animation-timeline:scroll(self)}.scroll-timeline-nearest{animation-timeline:scroll()}.view-timeline{animation-timeline:view()}.view-timeline-x{animation-timeline:view(x)}.view-timeline-y{animation-timeline:view(y)}.animation-range-entry{animation-range:entry}.animation-range-exit{animation-range:exit}.animation-range-cover{animation-range:cover}.animation-range-contain{animation-range:contain}@supports not (animation-timeline:scroll()){.fade-in-on-scroll,.slide-up-on-scroll,.scale-in-on-scroll{opacity:1;transition:opacity .6s ease-out,transform .6s ease-out;transform:none}.fade-in-on-scroll.is-visible{opacity:1}.slide-up-on-scroll.is-visible{transform:translateY(0)}.scale-in-on-scroll.is-visible{transform:scale(1)}.reading-progress{display:none}.header-sticky{background-color:var(--surface-background);box-shadow:0 2px 10px #0000001a}}.parallax-layer,.hero-parallax:before,.timeline-item{will-change:transform}@media (prefers-reduced-data:reduce){.parallax-layer,.hero-parallax:before{animation:none}}@supports (contain:style){.supports-custom-highlight{--has-custom-highlight:1}}::selection{background-color:var(--color-primary-alpha-30);color:var(--text-primary)}[data-theme=cocovox] ::selection{color:var(--cocovox-text);background-color:#169c914d}[data-theme=cocovox-dark] ::selection{color:oklch(95% .01 175);background-color:oklch(30% .08 175)}[data-theme=velvet-dawn] ::selection{color:oklch(33% .05 285)}[data-theme=circuit] ::selection{color:var(--color-white);text-shadow:0 0 3px #00bfff80;background-color:#00bfff4d}[data-theme=coral] ::selection{color:var(--coral-text-primary);background-color:#ff526f33}[data-theme=modern] ::selection{background-color:var(--modern-primary-alpha-20);color:var(--modern-text-primary)}code::selection,pre::selection,.code-block ::selection{background-color:rgba(var(--color-accent-rgb), .4);color:var(--text-primary)}::highlight(search-result){background-color:var(--color-warning-alpha-30);color:var(--text-primary);text-decoration:underline wavy;text-decoration-color:var(--color-warning);text-underline-offset:.15em}::highlight(search-current){background-color:var(--color-warning);color:var(--text-on-warning);outline:2px solid var(--color-warning-dark);outline-offset:2px;font-weight:700}::highlight(spelling-error){text-decoration:underline wavy;text-decoration-color:var(--color-error);text-underline-offset:.2em;background-color:#0000}::highlight(grammar-error){text-decoration:underline wavy;text-decoration-color:var(--color-info);text-underline-offset:.2em;background-color:#0000}::highlight(syntax-keyword){color:var(--syntax-keyword-color);font-weight:700}::highlight(syntax-string){color:var(--syntax-string-color)}::highlight(syntax-comment){color:var(--syntax-comment-color);font-style:italic}::highlight(syntax-function){color:var(--syntax-function-color)}::highlight(important){background-color:var(--color-accent-alpha-20);padding-inline:.1em;font-weight:600}::highlight(annotation){background-color:var(--color-info-alpha-10);border-block:1px solid var(--color-info-alpha-30);padding-block:.1em}[data-highlight]:hover{filter:brightness(1.1);cursor:pointer}[data-highlight]:active{filter:brightness(.9)}::highlight(tooltip-trigger){border-bottom:1px dotted var(--color-primary-500);cursor:help}::highlight(link-preview){text-decoration:underline dashed;text-decoration-color:var(--color-primary-500);cursor:pointer}@media (prefers-contrast:more){::selection{background-color:var(--text-primary);color:var(--surface-background);forced-color-adjust:none}::highlight(search-result){outline:3px solid var(--color-warning);outline-offset:2px;background-color:#0000}::highlight(search-current){background-color:var(--color-warning);color:#000;outline:3px solid #000}}@media (forced-colors:active){::selection{color:highlighttext;background-color:highlight}::highlight(search-result){color:marktext;background-color:mark}}[dir=rtl] ::selection{unicode-bidi:bidi-override}[lang^=zh] ::selection,[lang^=ja] ::selection,[lang^=ko] ::selection{letter-spacing:.05em}.no-select{user-select:none}.can-select{user-select:text}.select-all{user-select:all}.selection-primary ::selection{background-color:var(--color-primary-alpha-30)}.selection-secondary ::selection{background-color:rgba(var(--color-secondary-rgb), .3)}.selection-accent ::selection{background-color:rgba(var(--color-accent-rgb), .3)}.selection-success ::selection{background-color:var(--color-success-alpha-30)}.selection-warning ::selection{background-color:var(--color-warning-alpha-30)}.selection-error ::selection{background-color:var(--color-error-alpha-30)}.highlight-search{--highlight-name:search-result}.highlight-current{--highlight-name:search-current}.highlight-error{--highlight-name:spelling-error}.highlight-important{--highlight-name:important}[data-highlight-type=search]{--highlight-color:var(--color-warning-alpha-30)}[data-highlight-type=match]{--highlight-color:var(--color-success-alpha-30)}[data-highlight-type=error]{--highlight-color:var(--color-error-alpha-30)}[data-highlight-type=info]{--highlight-color:var(--color-info-alpha-30)}.js-highlight{background-color:var(--highlight-color,var(--color-primary-alpha-20));transition:background-color .3s}@supports not (background:highlight(test)){.highlight-fallback{background-color:var(--color-primary-alpha-20);border-radius:2px;padding:.1em .2em}.highlight-fallback-search{background-color:var(--color-warning-alpha-30);font-weight:700}.highlight-fallback-error{text-decoration:underline wavy var(--color-error)}.custom-highlight-polyfill:before{content:attr(data-highlight-fallback);color:var(--text-tertiary);opacity:0;font-size:.75rem;transition:opacity .3s;position:absolute;top:-1.5em;left:0}.custom-highlight-polyfill:hover:before{opacity:1}}.form-field{width:100%;margin-bottom:var(--space-2,.5rem);position:relative}.form-input{width:100%;padding:var(--space-3,.75rem) 1.25rem;border-radius:var(--shape-input,var(--input-radius,1rem));border:1px solid var(--form-border-color,var(--color-neutral-200));background-color:var(--form-bg-color,transparent);outline:2px solid #0000;padding-right:2.5rem;line-height:1.25;transition:opacity .2s ease-in-out,transform .2s ease-in-out}:root.dark .form-input{--form-border-color:transparent;--form-bg-color:#111827;--form-text-color:var(--color-white);--form-placeholder-color:#9ca3af;--form-valid-color:#059669;--form-invalid-color:#dc2626;--form-focus-ring-color:var(--color-primary-alpha-30,var(--color-primary-alpha-30,var(--color-primary-alpha-30,var(--color-primary-alpha-30,var(--color-primary-alpha-30,var(--color-primary-alpha-30,var(--color-primary-alpha-30,var(--color-primary-alpha-30,#3b82f680))))))))}:root:not(.dark) .form-input{--form-border-color:var(--color-neutral-200);--form-bg-color:var(--color-white);--form-text-color:black;--form-placeholder-color:#6b7280;--form-valid-color:#059669;--form-invalid-color:#dc2626;--form-focus-ring-color:var(--color-primary-alpha-30,var(--color-primary-alpha-30,var(--color-primary-alpha-30,var(--color-primary-alpha-30,var(--color-primary-alpha-30,var(--color-primary-alpha-30,var(--color-primary-alpha-30,var(--color-primary-alpha-30,#3b82f680))))))))}.form-input:focus{border-color:var(--form-focus-ring-color);box-shadow:0 0 0 3px var(--form-focus-ring-color);transform:translateY(-1px)}.form-input:disabled{cursor:not-allowed;background-color:var(--form-disabled-bg-color,var(--color-neutral-100));color:var(--form-disabled-text-color,var(--color-neutral-400));border-color:var(--form-disabled-border-color,var(--color-neutral-200))}:root.dark .form-input:disabled{--form-disabled-bg-color:#1f2937;--form-disabled-text-color:#6b7280}.form-field:focus-within{transition:transform .2s ease-out;transform:translateY(-2px)}.auth-form-button{transition:opacity .3s,transform .3s;position:relative;overflow:hidden}.auth-form-button:hover:not(:disabled){box-shadow:var(--shadow-md);transform:translateY(-2px)}.auth-form-button:active:not(:disabled){transition:transform .1s;transform:translateY(0)}.auth-form-button:disabled{cursor:not-allowed;box-shadow:none;transform:none}.auth-form-button.loading:before{content:"";background:linear-gradient(90deg, transparent, var(--color-white-alpha-20), transparent);will-change:transform;width:100%;height:100%;animation:1.5s infinite loading-shimmer;position:absolute;top:0;left:0}@keyframes loading-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes success-pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.form-success-animation{animation:.6s ease-out success-pulse}.form-input::placeholder{color:var(--form-placeholder-color)}.form-field:after{content:none;width:1.5rem;height:1.5rem;font-weight:var(--font-bold,700);opacity:0;z-index:1;text-align:center;transition:opacity .2s ease-in-out;position:absolute;top:.75rem;right:1rem}@supports selector(:user-valid){.form-input:user-invalid{border-color:var(--form-invalid-color)}.form-input:user-invalid:focus{box-shadow:0 0 0 3px var(--color-error-alpha-30,#dc262680)}.form-input:user-invalid+.validation-message.error{display:block}.form-field:has(.form-input:user-invalid):after{content:"×";color:var(--form-invalid-color);opacity:1;font-size:var(--text-xl,1.25rem);justify-content:center;align-items:center;line-height:1;display:flex}.form-input:user-valid{border-color:var(--form-valid-color)}.form-input:user-valid:focus{box-shadow:0 0 0 3px var(--color-success-alpha-30,#05966980)}.form-input:user-valid+.validation-message.success{display:block}.form-field:has(.form-input:user-valid):after{content:"✓";color:var(--form-valid-color);opacity:1;font-size:var(--text-xl,1.25rem);justify-content:center;align-items:center;line-height:1;display:flex}}.validation-message{margin-top:var(--space-1,.25rem);margin-left:var(--space-1,.25rem);font-size:var(--text-xs,.75rem);line-height:1.2;transition:opacity .2s ease-in-out,transform .2s ease-in-out;display:none}.validation-message.error,.validation-message.success,.validation-message.warning,.validation-message.info{display:block}.validation-message.error{color:var(--form-invalid-color)}.validation-message.success{color:var(--form-valid-color)}.validation-message.warning{color:var(--form-warning-color,var(--color-warning))}.validation-message.info{color:var(--form-info-color,var(--color-primary-500))}.form-input.js-validation-enabled{transition:border-color .2s ease-in-out,box-shadow .2s ease-in-out}@supports (scroll-target-group:auto){.scroll-spy-nav{scroll-target-group:auto}.scroll-spy-nav a:target-current{color:var(--color-primary-500,var(--color-primary-500));font-weight:var(--font-semibold,600);background-color:var(--color-primary-50,var(--color-primary-alpha-10));border-inline-start:3px solid;padding-inline-start:calc(var(--space-sm,.5rem) - 3px)}.scroll-spy-nav a[data-level="2"]:target-current{border-inline-start-width:2px;padding-inline-start:calc(var(--space-md,1rem) - 2px)}.scroll-spy-nav a[data-level="3"]:target-current{border-inline-start-width:1px;padding-inline-start:calc(var(--space-lg,1.5rem) - 1px)}}@supports not (scroll-target-group:auto){.scroll-spy-nav a.is-active{color:var(--color-primary-500,var(--color-primary-500));font-weight:var(--font-semibold,600);background-color:var(--color-primary-50,var(--color-primary-alpha-10));border-inline-start:3px solid;padding-inline-start:calc(var(--space-sm,.5rem) - 3px)}}@supports selector(::scroll-marker){.carousel-native::scroll-button(left){content:"←" / "Scroll left";left:var(--space-sm,.5rem);border-radius:var(--radius-full,50%);background:var(--surface-card,var(--color-white));width:40px;height:40px;box-shadow:var(--shadow-md,0 4px 12px var(--color-black-alpha-15));cursor:pointer;z-index:10;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;transform:translateY(-50%);&:hover{background:var(--surface-card-hover)}&:disabled{opacity:.3;cursor:not-allowed}}.carousel-native::scroll-button(right){content:"→" / "Scroll right";right:var(--space-sm,.5rem);border-radius:var(--radius-full,50%);background:var(--surface-card,var(--color-white));width:40px;height:40px;box-shadow:var(--shadow-md,0 4px 12px var(--color-black-alpha-15));cursor:pointer;z-index:10;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;transform:translateY(-50%);&:hover{background:var(--surface-card-hover)}&:disabled{opacity:.3;cursor:not-allowed}}.carousel-native>::scroll-marker{content:"";border-radius:var(--radius-full,50%);background:var(--border-color-default);width:10px;height:10px;margin:0 var(--space-1,.25rem);cursor:pointer;transition:background-color .2s,transform .2s;&:hover{background:var(--text-secondary);transform:scale(1.2)}}.carousel-native>::scroll-marker:target-current{background:var(--color-primary-500,var(--color-primary-500));transform:scale(1.3)}.carousel-native::scroll-marker-group{bottom:var(--space-md,1rem);gap:var(--space-xs,.25rem);padding:var(--space-xs,.25rem) var(--space-sm,.5rem);background:var(--surface-background-alpha-80,var(--color-white-alpha-80));border-radius:var(--radius-full,9999px);backdrop-filter:blur(8px);display:flex;position:absolute;left:50%;transform:translate(-50%)}}@supports (view-transition-group:nearest){.vt-card{view-transition-name:var(--vt-name,card);overflow:clip}.vt-card-image{view-transition-name:var(--vt-image-name,card-image);view-transition-group:nearest}.vt-card-title{view-transition-name:var(--vt-title-name,card-title);view-transition-group:nearest}.vt-deep-dive-modal{view-transition-name:deep-dive-modal}.vt-deep-dive-content{view-transition-name:deep-dive-content;view-transition-group:nearest}.vt-deep-dive-header{view-transition-name:deep-dive-header;view-transition-group:nearest}}[popover=hint].vocab-tooltip{background:var(--surface-card,var(--color-white));border:1px solid var(--border-color-default);border-radius:var(--radius-md,.5rem);box-shadow:var(--shadow-lg,0 10px 40px var(--color-black-alpha-15));padding:var(--space-sm,.5rem) var(--space-md,1rem);max-width:300px;font-size:var(--text-sm,.875rem);opacity:0;line-height:1.5;transition:opacity .15s ease-out,transform .15s ease-out;transform:translateY(4px);&:popover-open{opacity:1;transform:translateY(0)}}[popover=hint].help-tooltip{background:var(--color-info-50);border:1px solid var(--color-info-200);color:var(--color-info-800);border-radius:var(--radius-md,.5rem);padding:var(--space-xs,.25rem) var(--space-sm,.5rem);font-size:var(--text-xs,.75rem);max-width:200px}}@layer utilities{.form-group:has(input:invalid:not(:focus):not(:placeholder-shown)),.form-group:has(textarea:invalid:not(:focus):not(:placeholder-shown)),.form-group:has(select:invalid:not(:focus)){--border-color:var(--color-error,var(--color-error));--text-color:var(--color-error,var(--color-error))}.form-group:has(input:invalid:not(:focus):not(:placeholder-shown)) .error-message,.form-group:has(textarea:invalid:not(:focus):not(:placeholder-shown)) .error-message{color:var(--color-error,var(--color-error));font-size:var(--text-sm);margin-top:var(--space-1);display:block}.form-group:has(input:valid:not(:placeholder-shown)),.form-group:has(textarea:valid:not(:placeholder-shown)){--border-color:var(--color-success)}.form-group:has(input:focus) label,.form-group:has(textarea:focus) label,.form-group:has(select:focus) label{color:var(--color-primary-500,var(--color-primary));font-weight:var(--font-semibold)}.card:has(input[type=checkbox]:checked),.card:has(input[type=radio]:checked){border-color:var(--color-primary-500,var(--color-primary));background-color:var(--surface-primary);box-shadow:var(--shadow-md)}.card:has(.badge--urgent),.card:has(.priority-high){border-left:4px solid var(--color-error,var(--color-error));background:linear-gradient(to right, color-mix(in srgb, var(--color-error) 5%, transparent), transparent)}.card:has(img),.card:has(video){padding:0;overflow:hidden}.card:has(img)>:not(img),.card:has(video)>:not(video){padding:var(--space-4)}.nav-item:has(.nav-link.active){background-color:var(--surface-primary);border-left:3px solid var(--color-primary-500,var(--color-primary))}.dropdown:has(.dropdown-menu:not([hidden])){z-index:var(--z-dropdown,8000)}.dropdown:has(.dropdown-menu:not([hidden]))>.dropdown-toggle{background-color:var(--surface-interactive);border-color:var(--color-primary-500,var(--color-primary))}.dropdown:has(.dropdown-menu:not([hidden]))>.dropdown-toggle:after{transform:rotate(180deg)}.list-container:not(:has(li)),.grid-container:not(:has(>*)){min-height:200px;color:var(--text-tertiary);justify-content:center;align-items:center;display:flex}.list-container:not(:has(li)):before,.grid-container:not(:has(>*)):before{content:attr(data-empty-message, "No items to display");font-size:var(--text-lg)}.list:has(.list-item[aria-selected=true]){border-color:var(--color-primary-500,var(--color-primary))}.sortable-list:has(.dragging){background-color:var(--surface-interactive);border:2px dashed var(--color-primary-300)}.button-group:has(.btn.active){box-shadow:var(--shadow-sm)}.button-group:has(.btn[aria-busy=true]) .btn:not([aria-busy=true]){opacity:.5;pointer-events:none}.page-container:has(+.modal[open]){filter:blur(4px);pointer-events:none}.focus-container:has(:focus-visible){outline:2px solid var(--color-primary-500,var(--color-primary));outline-offset:4px;border-radius:var(--radius-md)}.skip-link-container:has(.skip-link:focus){z-index:10000;background:var(--surface-card);padding:var(--space-2);box-shadow:var(--shadow-lg);position:fixed;top:0;left:0;right:0}tr:has(input[type=checkbox]:checked){background-color:var(--surface-primary)}.table-container:has(table){position:relative;overflow:auto}.table-container:has(tbody tr:nth-child(10)) thead{background-color:var(--surface-card);z-index:10;position:sticky;top:0}.message:has(.attachment){padding-bottom:var(--space-6)}.chat-container:has(.typing-indicator){padding-bottom:var(--space-10)}.message-list:has(.message[data-unread=true]){border-left:3px solid var(--color-primary-500,var(--color-primary))}.lesson-card:has(.completion-badge[data-complete=true]){opacity:.8;border-color:var(--color-success)}.lesson-card:has(.completion-badge[data-complete=true]):after{content:"✓";top:var(--space-2);right:var(--space-2);background-color:var(--color-success);width:24px;height:24px;color:var(--color-white);border-radius:var(--radius-full);font-weight:var(--font-bold);justify-content:center;align-items:center;display:flex;position:absolute}.quiz-container:has(.question.active){background:linear-gradient(to bottom, var(--surface-primary), var(--surface-background))}.progress-bar:has(.milestone.reached){--progress-color:var(--color-success);animation:2s ease-in-out infinite pulse}@container (width>=768px){.responsive-grid:has(>:nth-child(4)){grid-template-columns:repeat(2,1fr)}.responsive-grid:has(>:nth-child(7)){grid-template-columns:repeat(3,1fr)}}.has-error:has(.error){border-color:var(--color-error,var(--color-error))}.has-warning:has(.warning){border-color:var(--color-warning,var(--color-warning))}.has-success:has(.success){border-color:var(--color-success)}.has-hover:has(:hover){background-color:var(--surface-interactive)}.has-focus:has(:focus-visible){box-shadow:var(--focus-ring)}.has-active:has(.active),.has-selected:has([aria-selected=true]),.has-checked:has(:checked){background-color:var(--surface-primary);border-color:var(--color-primary-500,var(--color-primary))}@media (width<=768px){.focus-mode-reveal-zone,html[data-focus-mode=true] .sidebar-outer{display:none}html[data-focus-mode=true] .focus-mode-control-pill{align-items:center;gap:var(--space-2);min-height:48px;padding:var(--space-3) var(--space-6);font-size:var(--font-size-base);display:flex}}@media (width>=768px) and (width<=1024px){.focus-mode-reveal-zone{width:32px}html[data-focus-mode=true] .focus-mode-control-pill{align-items:center;gap:var(--space-2);min-height:48px;bottom:var(--space-8);right:var(--space-8);display:flex}}@media (width>=1024px){.focus-mode-control-pill{display:none}.focus-mode-reveal-zone{display:block}}@media (hover:none){.focus-mode-button{width:56px;height:56px}.action-row-btn.focus-mode-enhanced{min-width:56px;min-height:56px}.action-row-btn.focus-mode-enhanced:hover:not(:disabled){transform:none}}.bg-learning-lesson{background-color:var(--learning-lesson-bg)}.bg-learning-exercise{background-color:var(--learning-exercise-bg)}.bg-learning-flashcards{background-color:var(--learning-flashcards-bg)}.bg-learning-quiz{background-color:var(--learning-quiz-bg)}.bg-learning-test{background-color:var(--learning-test-bg)}.text-learning-lesson{color:var(--learning-lesson-color)}.text-learning-exercise{color:var(--learning-exercise-color)}.text-learning-flashcards{color:var(--learning-flashcards-color)}.text-learning-quiz{color:var(--learning-quiz-color)}.text-learning-test{color:var(--learning-test-color)}.border-learning-lesson{border-color:var(--learning-lesson-color)}.border-learning-exercise{border-color:var(--learning-exercise-color)}.border-learning-flashcards{border-color:var(--learning-flashcards-color)}.border-learning-quiz{border-color:var(--learning-quiz-color)}.border-learning-test{border-color:var(--learning-test-color)}.learning-progress-ring{stroke:var(--learning-progress-primary);stroke-width:var(--learning-progress-fill-width);fill:none;stroke-linecap:round;transition:stroke-dasharray var(--learning-transition-slow)}.learning-progress-track{stroke:var(--learning-progress-bg);stroke-width:var(--learning-progress-track-width);fill:none}.learning-skeleton{background:var(--learning-skeleton-bg);position:relative;overflow:hidden}.learning-skeleton:after{content:"";background:linear-gradient(90deg, transparent 0%, var(--learning-skeleton-highlight) 50%, transparent 100%);will-change:transform;animation:1.5s ease-in-out infinite learning-shimmer;position:absolute;inset:0}@keyframes learning-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.learning-interactive{transition:opacity var(--learning-transition-normal), transform var(--learning-transition-normal);cursor:pointer}.learning-interactive:hover{transform:scale(var(--learning-hover-scale))}.learning-interactive:active{transform:scale(var(--learning-active-scale))}.learning-focusable:focus-visible{outline:var(--learning-focus-ring-width) solid var(--learning-focus-ring-color);outline-offset:var(--learning-focus-ring-offset)}.learning-card-elevated{background:var(--learning-card-bg);border:1px solid color-mix(in srgb, var(--learning-card-border) 30%, transparent);border-radius:var(--learning-card-radius);transition:opacity var(--learning-transition-normal), transform var(--learning-transition-normal);content-visibility:auto;contain-intrinsic-size:0 160px;box-shadow:0 1px 3px #0000000d}.learning-card-elevated:hover{border-color:color-mix(in srgb, var(--learning-card-border) 50%, transparent);transform:translateY(-1px);box-shadow:0 4px 12px #00000014}.learning-card-elevated.bg-learning-lesson,.learning-card-elevated.bg-learning-exercise,.learning-card-elevated.bg-learning-flashcards,.learning-card-elevated.bg-learning-quiz,.learning-card-elevated.bg-learning-test{border-color:#0000;box-shadow:0 1px 2px #0000000a}.learning-card-elevated.bg-learning-lesson:hover,.learning-card-elevated.bg-learning-exercise:hover,.learning-card-elevated.bg-learning-flashcards:hover,.learning-card-elevated.bg-learning-quiz:hover,.learning-card-elevated.bg-learning-test:hover{transform:translateY(-.5px);box-shadow:0 2px 8px #0000000f}.learning-celebration{background:linear-gradient(135deg, var(--learning-lesson-color) 0%, var(--learning-exercise-color) 25%, var(--learning-flashcards-color) 50%, var(--learning-quiz-color) 75%, var(--learning-test-color) 100%);background-size:400% 400%;animation:3s infinite learning-gradient-shift}@keyframes learning-gradient-shift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.learning-title-responsive{font-size:clamp(var(--learning-text-lg), 1rem + 1.5vw, var(--learning-text-2xl));text-wrap:balance;line-height:1.2}.learning-body-responsive{font-size:clamp(var(--learning-text-sm), .75rem + .75vw, var(--learning-text-base));text-wrap:pretty;line-height:1.5}.learning-status-dot{border-radius:var(--learning-radius-full);width:8px;height:8px;display:inline-block}.learning-status-completed{background-color:var(--learning-state-completed)}.learning-status-active{background-color:var(--learning-state-active);animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}.learning-status-locked{background-color:var(--learning-state-locked)}.learning-container{scrollbar-gutter:auto;container:learning-module/inline-size}@container learning-module (width<400px){.learning-card-elevated{padding:var(--space-4);margin-bottom:16px}.learning-title-responsive{font-size:var(--learning-text-lg);line-height:1.333}.quiz-answer-option{padding:var(--space-4);min-height:48px}.stat-item{padding:var(--space-1) 8px;font-size:var(--text-xs)}}@container learning-module (400px<=width<640px){.learning-card-elevated{padding:var(--space-6)}.learning-title-responsive{font-size:var(--learning-text-xl)}.learning-button-group{gap:var(--space-2);flex-direction:column}}@container learning-module (width>=640px){.stats-panel{gap:var(--space-4);flex-direction:row;align-items:center;display:flex}.learning-card-elevated{padding:var(--space-6)}.learning-button-group{gap:var(--space-4);flex-direction:row}.learning-detail-enhanced{display:block}}@container learning-module (width>=1024px){.learning-card-elevated{padding:var(--space-8)}.learning-content-split{gap:var(--space-6);grid-template-columns:2fr 1fr;display:grid}}.learning-touch-target{min-height:var(--touch-target-size,44px);min-width:var(--touch-target-size,44px);justify-content:center;align-items:center;display:flex}@supports (transition-behavior:allow-discrete){.learning-card-elevated{transition:opacity var(--learning-transition-normal), transform var(--learning-transition-normal), display var(--learning-transition-normal) allow-discrete;@starting-style{opacity:0;transform:translateY(-16px)}}.related-item-card{transition:opacity var(--learning-transition-normal), transform var(--learning-transition-normal);@starting-style{opacity:0;transform:scale(.95)}}}.related-items-grid .related-item-card{content-visibility:auto;contain-intrinsic-size:0 280px}.learning-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.learning-skip-link{background:var(--color-primary-500);color:var(--text-on-primary);padding:var(--learning-spacing-sm) var(--learning-spacing-md);border-radius:var(--learning-radius-md);z-index:100;text-decoration:none;position:absolute;top:-40px;left:0}.learning-skip-link:focus{top:var(--learning-spacing-sm)}.message-input-relative-wrapper{width:100%;position:relative}.model-select-close-btn{cursor:pointer;color:var(--text-primary);transition:color var(--duration-fast,.15s);background:0 0;border:none;align-items:center;display:flex}.model-select-close-btn:hover{color:var(--color-primary-500)}.message-input-content-wrapper{width:100%;max-width:1200px;box-sizing:border-box;border-radius:var(--mi-border-radius);background:0 0;border:none;margin-inline:auto;padding-inline-start:var(--space-4,1rem);padding-inline-end:var(--space-4,1rem);overflow:clip visible}:global(.message-input-content-wrapper > *){width:100%}@container message-input (width<=599px){.message-input-content-wrapper{padding-inline-start:var(--space-3,.75rem);padding-inline-end:var(--space-3,.75rem)}.message-input-content,.textarea-wrapper{padding-block:var(--space-1,.25rem);padding-inline:0}.toolbar-container{padding-top:var(--space-1,.25rem);padding-bottom:var(--space-1,.25rem)}}@container message-input (width>=600px){.message-input-content-wrapper{padding-inline-start:var(--space-1,.25rem);padding-inline-end:var(--space-1,.25rem)}}@container message-input (width>=720px){.message-input-content-wrapper{padding-inline-start:var(--space-6,1.5rem);padding-inline-end:var(--space-6,1.5rem)}}@supports not (container-type:inline-size){@media (width>=640px){.message-input-content-wrapper{padding-inline-start:var(--space-1,.25rem);padding-inline-end:var(--space-1,.25rem)}}@media (width>=760px){.message-input-content-wrapper{padding-inline-start:var(--space-6,1.5rem);padding-inline-end:var(--space-6,1.5rem)}}}.message-input-padding-bottom{padding-bottom:var(--space-1,.25rem)}@container message-input (width>=600px){.message-input-padding-bottom{padding-bottom:var(--space-2,.5rem)}}@supports not (container-type:inline-size){@media (width>=640px){.message-input-padding-bottom{padding-bottom:var(--space-2,.5rem)}}}.bulk-actions-container{margin-top:var(--space-2,.5rem);gap:var(--space-2,.5rem);display:flex}.bulk-remove-btn{font-size:var(--text-xs,.75rem);color:var(--text-secondary);cursor:pointer;transition:color var(--duration-fast,.15s);background:0 0;border:none}.bulk-remove-btn:hover{color:var(--color-error)}.textarea-wrapper{border-radius:var(--mi-border-radius-inner,16px);padding:var(--space-2,.5rem) var(--space-3,.75rem);transition:background-color var(--motion-quick,.15s) var(--ease-hover,ease), box-shadow var(--motion-standard,.2s) var(--ease-hover,ease);background-color:#0000;border:none;flex-grow:1;align-items:center;margin:0;display:flex;position:relative}.textarea-wrapper:focus-within{background-color:var(--mi-bg-secondary,var(--color-surface-sunken));box-shadow:0 0 0 1px var(--mi-border-focus,var(--color-primary-500))}@container message-input (width>=600px){.textarea-wrapper{margin:0}}@supports not (container-type:inline-size){@media (width>=640px){.textarea-wrapper{margin:var(--space-2,.5rem)}}}.char-count-indicator{bottom:var(--space-2,.5rem);font-size:var(--text-xs,.75rem);color:var(--text-tertiary);background-color:var(--surface-background);padding:var(--space-2,.5rem);border-radius:var(--radius-base,.375rem);box-shadow:var(--shadow-sm);pointer-events:none;position:absolute;inset-inline-end:var(--space-2,.5rem)}.toolbar-container{align-items:center;gap:var(--space-2,.5rem);width:100%;padding-top:var(--space-1,.25rem);padding-bottom:var(--space-1,.25rem);padding-inline-start:var(--space-3);padding-inline-end:var(--space-3);display:flex}.toolbar-pinned-end{align-items:center;gap:var(--space-2,.5rem);border-inline-start:1px solid var(--border-color-muted,var(--color-neutral-alpha-15,var(--color-black-alpha-10)));flex-shrink:0;padding-inline-start:var(--space-2,.5rem);display:flex}@container message-input (width<=599px){.toolbar-pinned-end{gap:var(--space-1,.25rem);padding-inline-start:var(--space-1,.25rem)}}.message-input-container .toolbar-container .action-row-btn{color:var(--mi-btn-surface-text)}.message-input-container .toolbar-container .action-row-btn:hover:not(:disabled){color:var(--mi-btn-surface-text);background:var(--mi-btn-surface-hover);border-color:var(--mi-btn-surface-border)}.message-input-container .toolbar-container .action-row-btn:focus-visible{color:var(--mi-btn-surface-text)}.message-input-container .toolbar-container .action-row-btn .action-row-btn-label,.message-input-container .toolbar-container .action-row-btn .action-row-btn-icon{color:inherit}@container message-input (width>=600px){.toolbar-container{padding-top:var(--space-2,.5rem);padding-bottom:var(--space-2,.5rem)}}@supports not (container-type:inline-size){@media (width>=640px){.toolbar-container{padding-top:var(--space-2,.5rem);padding-bottom:var(--space-2,.5rem)}}}.toolbar-scroll-container{justify-content:start;align-items:center;gap:var(--space-2);scroll-behavior:smooth;isolation:isolate;min-width:0;min-height:var(--touch-target-preferred);scrollbar-width:thin;scrollbar-color:var(--border-subtle) transparent;flex:1;padding-block:4px;display:flex;position:relative;overflow:auto clip}@media (prefers-reduced-motion:reduce){.toolbar-scroll-container{scroll-behavior:auto}}.toolbar-scroll-container::-webkit-scrollbar{height:6px}.toolbar-scroll-container::-webkit-scrollbar-track{background:var(--surface-subtle);border-radius:var(--radius-full)}.toolbar-scroll-container::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:var(--radius-full)}.toolbar-scroll-container::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}@container message-input (width>=600px){.toolbar-scroll-container{scrollbar-gutter:stable}}[dir=rtl] .toolbar-scroll-container{direction:rtl}.toolbar-actions-group{justify-content:start;align-items:center;gap:var(--space-2,.5rem);flex-shrink:0;min-height:48px;display:flex}.toolbar-actions-group.unified-action-row{gap:var(--space-2,.5rem);flex-wrap:nowrap;justify-content:start;align-items:center;width:auto}.action-item{flex-shrink:0;justify-content:center;align-items:center;min-height:48px;display:inline-flex}.questions-badge,.action-row-btn-badge{top:-4px;min-width:18px;height:18px;padding:0 var(--space-1,.25rem);background:var(--color-primary-500);color:var(--color-text-on-primary,var(--color-white));border-radius:var(--shape-badge,9999px);font-size:var(--text-xs);font-weight:var(--font-semibold);justify-content:center;align-items:center;line-height:1;display:flex;position:absolute;inset-inline-end:-4px}.toolbar-group{align-items:center;gap:var(--space-2,.5rem);flex-shrink:0;display:flex}@container action-row (width>=600px){:is(.toolbar-group+:global(.action-buttons-container),:global(.action-buttons-container)+.toolbar-group){border-inline-start:1px solid var(--border-color-muted,var(--color-neutral-alpha-15,var(--color-black-alpha-10)));padding-inline-start:var(--space-3,.75rem)}}.focus-mode-wrapper :global(.focus-mode-button){border-radius:var(--radius-lg);min-height:2.5rem;padding:var(--space-2,.5rem) var(--space-3,.75rem)}.keyboard-wrapper{margin-top:var(--space-3,.75rem);width:100%}@container message-input (601px<=width<=980px){.toolbar-actions-group.unified-action-row{gap:var(--space-2,.5rem);flex-wrap:nowrap;align-items:center}}@container message-input (width<=600px){.toolbar-scroll-container{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;padding-block:var(--space-2);position:relative}.toolbar-scroll-container:after{content:"";pointer-events:none;background:linear-gradient(to right, transparent, var(--surface-card,var(--mi-bg-primary,white)));z-index:1;width:24px;position:absolute;inset-block:0;inset-inline-end:0}.toolbar-actions-group.unified-action-row{gap:var(--space-1,.25rem);justify-content:start;align-items:center;min-height:48px}.toolbar-group{gap:var(--space-1,.25rem)}.course-selector-wrapper :global(.course-name){display:none}.math-hide-narrow{display:none}}@container message-input (width>=400px){.math-hide-narrow{display:inline-flex}}.more-menu-anchor{position:relative}.more-menu-backdrop{z-index:1100;cursor:default;background:0 0;border:none;position:fixed;inset:0}.more-menu-popover{z-index:1101;gap:var(--space-1,4px);padding:var(--space-2,8px);background:var(--surface-elevated,var(--color-neutral-700,#374151));border:1px solid var(--border-color-default,var(--color-neutral-600,#4b5563));border-radius:var(--radius-lg,12px);color:var(--mi-text-primary);flex-direction:column;min-width:200px;animation:.15s ease-out both more-menu-enter;display:flex;position:fixed;box-shadow:0 8px 24px oklch(0% none none/.35)}.more-menu-popover.closing{animation:.12s ease-in both more-menu-exit}@keyframes more-menu-enter{0%{opacity:0;transform:translateY(4px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes more-menu-exit{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(4px)scale(.97)}}.more-menu-item{align-items:center;gap:var(--space-2,8px);padding:var(--space-2,8px) var(--space-3,12px);border-radius:var(--radius-md,8px);min-height:44px;color:var(--mi-text-primary);font-size:var(--text-sm,.875rem);cursor:pointer;text-align:left;-webkit-tap-highlight-color:transparent;background:0 0;border:none;width:100%;transition:background-color .1s,transform 80ms;animation:.12s ease-out both more-menu-item-enter;display:flex}.more-menu-item:nth-child(2){animation-delay:40ms}@keyframes more-menu-item-enter{0%{opacity:0;transform:translate(-4px)}to{opacity:1;transform:translate(0)}}.more-menu-item:hover{background:var(--surface-hover,var(--color-neutral-700,#374151))}.more-menu-item:active{background:var(--surface-hover,var(--color-neutral-700,#374151));transition-duration:40ms;transform:scale(.97)}.more-menu-item.active{background:color-mix(in oklch, var(--color-primary-500) 10%, transparent);color:var(--color-primary-600,var(--color-primary-500))}@media (prefers-reduced-motion:reduce){.more-menu-popover,.more-menu-popover.closing,.more-menu-item{animation:none}}@media (hover:none) and (pointer:coarse){.action-btn,.action-row-btn{min-width:44px;min-height:44px}.action-btn:hover:not(:disabled),.action-row-btn:hover:not(:disabled){transform:none}.action-btn:active:not(:disabled),.action-row-btn:active:not(:disabled){transition-duration:var(--duration-fastest,.1s);transform:scale(.95)}}:global(.image-card){height:100%;overflow:hidden}:global(.document-card){height:100%}:global(.typography-caption-info){color:var(--color-primary-600)}:global(.dark .typography-caption-info){color:var(--color-primary-400)}:global(.typography-caption-secondary){color:var(--text-secondary);text-transform:uppercase}:global(.show-more-card){height:100%;min-height:80px;transition:border-color var(--duration-fast) var(--ease-out);border-style:dashed}:global(.show-more-card:hover){border-color:var(--color-primary-500)}.content-creation-wrapper{width:100%;padding:var(--space-4);z-index:10;background:var(--surface-card);border-radius:var(--radius-lg);border:1px solid var(--border-color-default);margin-top:var(--space-3);box-shadow:var(--shadow-md);min-height:200px;position:relative;overflow:visible}@container message-input (width>=600px){.content-creation-wrapper{padding-inline-start:var(--space-3);padding-inline-end:var(--space-3)}}@supports not (container-type:inline-size){@media (width>=640px){.content-creation-wrapper{padding-inline-start:var(--space-3);padding-inline-end:var(--space-3)}}}.legacy-questions-container{gap:var(--space-2);padding:var(--space-2) 0;flex-wrap:wrap;flex:1;display:flex}.legacy-question-btn{padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);background-color:var(--surface-card);color:var(--text-primary);border:1px solid var(--border-color-default);transition:background-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out)}.legacy-question-btn:hover{background-color:var(--surface-primary-hover);color:var(--color-primary-600);border-color:var(--color-primary-300)}.legacy-question-btn:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px}.exercise-progress-indicator{align-items:center;gap:var(--space-2);background-color:var(--surface-primary);padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);margin-inline-start:auto;display:flex}.exercise-progress-label{color:var(--color-primary-500)}.exercise-progress-bar-container{background-color:var(--surface-card);border-radius:var(--radius-full);width:96px;height:8px;overflow:hidden}.exercise-progress-bar-fill{background-color:var(--color-primary-500);height:100%;transition:width var(--duration-slow) var(--ease-out)}.advanced-options-wrapper{align-items:center;display:flex}.advanced-options-container{align-items:center;gap:var(--space-2);margin-inline-start:auto;display:flex}.refresh-questions-btn{padding:var(--space-2);border-radius:var(--radius-lg);color:var(--text-secondary);cursor:pointer;align-items:center;gap:var(--space-2);transition:color var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out);background:0 0;border:none;display:flex}.refresh-questions-btn:hover{color:var(--color-primary-600);background-color:var(--surface-primary-hover)}.refresh-questions-btn:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px}.question-count-controls{align-items:center;gap:var(--space-2);display:flex}.question-count-input{padding:var(--space-2);border-radius:var(--radius-lg);border:1px solid var(--border-color-default);background-color:var(--surface-background);color:var(--text-primary);width:176px;transition:border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out)}.question-count-input::placeholder{color:var(--text-secondary)}.question-count-input:focus{border-color:var(--color-primary-500);box-shadow:0 0 0 1px var(--color-primary-500);outline:2px solid #0000}.question-count-input:focus-visible{outline:2px solid var(--theme-primary,var(--color-primary));outline-offset:2px}.question-generate-btn{padding:var(--space-2);border-radius:var(--radius-lg);background-color:var(--surface-primary);color:var(--text-primary);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);border:none;align-items:center;display:flex}.question-generate-btn:hover{background-color:var(--surface-primary-hover);color:var(--text-primary)}.question-generate-btn:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px}.advanced-options-toggle-btn{padding:var(--space-2);border-radius:var(--radius-full);color:var(--text-tertiary);cursor:pointer;transition:color var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out);background:0 0;border:none}.advanced-options-toggle-btn:hover{color:var(--color-primary-600);background-color:var(--surface-primary-hover)}.advanced-options-toggle-btn:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px}.questions-slot-below{width:100%;max-width:1200px;box-sizing:border-box;margin-inline:auto;padding-inline-start:calc(var(--space-4,1rem) + var(--space-6,1.5rem));padding-inline-end:calc(var(--space-4,1rem) + var(--space-4,1rem));padding-top:var(--space-2,.5rem);min-height:fit-content;transition:border-color var(--duration-fast,.15s) ease;border-radius:2px 0 0 2px;justify-content:start;align-items:center;margin-top:0;display:flex;overflow:visible}@container message-input (width<=599px){.questions-slot-below{margin-top:var(--space-1,.25rem);padding-inline-start:calc(var(--space-3,.75rem) + var(--space-2,.5rem));padding-inline-end:var(--space-3,.75rem)}}@container message-input (width>=600px){.questions-slot-below{padding-inline-start:calc(var(--space-1,.25rem) + var(--space-6,1.5rem));padding-inline-end:calc(var(--space-1,.25rem) + var(--space-4,1rem))}}@container message-input (width>=720px){.questions-slot-below{padding-inline-start:calc(var(--space-6,1.5rem) + var(--space-6,1.5rem));padding-inline-end:calc(var(--space-6,1.5rem) + var(--space-4,1rem))}}@supports not (container-type:inline-size){@media (width>=640px){.questions-slot-below{padding-inline-start:calc(var(--space-1,.25rem) + var(--space-6,1.5rem));padding-inline-end:calc(var(--space-1,.25rem) + var(--space-4,1rem))}}@media (width>=760px){.questions-slot-below{padding-inline-start:calc(var(--space-6,1.5rem) + var(--space-6,1.5rem));padding-inline-end:calc(var(--space-6,1.5rem) + var(--space-4,1rem))}}}.suggestions-wrapper{min-width:0;flex:0 auto;align-items:center;margin-inline-start:auto;padding-inline-start:var(--space-3,.75rem);display:flex;overflow:visible}.direction-guidance-controls{align-items:center;gap:var(--space-2);display:flex}.direction-guidance-input{padding:var(--space-2);border-radius:var(--radius-lg);border:1px solid var(--border-color-default);background-color:var(--surface-background);color:var(--text-primary);width:176px;transition:border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out)}.direction-guidance-input::placeholder{color:var(--text-secondary)}.direction-guidance-input:focus{border-color:var(--color-primary-500);box-shadow:0 0 0 1px var(--color-primary-500);outline:2px solid #0000}.direction-guidance-input:focus-visible{outline:2px solid var(--theme-primary,var(--color-primary));outline-offset:2px}.direction-apply-btn{padding:var(--space-2);border-radius:var(--radius-lg);background-color:var(--surface-primary);color:var(--color-primary-600);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out);border:none;align-items:center;display:flex}.direction-apply-btn:hover{background-color:var(--surface-primary-hover)}.direction-apply-btn:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px}.course-context-subcard{width:calc(100% - var(--space-6,1.5rem));max-width:calc(100% - var(--space-6,1.5rem));margin:var(--space-2,.5rem) auto 0 auto;padding:var(--space-2,.5rem) var(--space-3,.75rem);background:var(--surface-card);border:1px solid var(--border-color-default);border-radius:var(--radius-md);box-shadow:0 -1px 3px var(--overlay-transparent), 0 1px 2px var(--overlay-transparent), inset 0 1px 1px var(--surface-white-10);transition:background-color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);z-index:0;position:relative}@container message-input (width<=600px){.course-context-subcard{width:calc(100% - var(--space-3,.75rem));max-width:calc(100% - var(--space-3,.75rem));padding:var(--space-1-5,.375rem) var(--space-2,.5rem)}}@container message-input (width>=720px){.course-context-subcard{width:calc(100% - var(--space-8,2rem));max-width:calc(100% - var(--space-8,2rem))}}@container message-input (width>=980px){.course-context-subcard{width:calc(100% - var(--space-12,3rem));max-width:calc(100% - var(--space-12,3rem))}}@supports not (container-type:inline-size){@media (width<=640px){.course-context-subcard{width:calc(100% - var(--space-3,.75rem));max-width:calc(100% - var(--space-3,.75rem));padding:var(--space-1-5,.375rem) var(--space-2,.5rem)}}@media (width>=768px){.course-context-subcard{width:calc(100% - var(--space-8,2rem));max-width:calc(100% - var(--space-8,2rem))}}@media (width>=1024px){.course-context-subcard{width:calc(100% - var(--space-12,3rem));max-width:calc(100% - var(--space-12,3rem))}}}.dark .course-context-subcard{background:color-mix(in srgb, var(--surface-card) 95%, black);border-color:var(--border-color-subtle);box-shadow:0 -1px 3px var(--overlay-subtle), 0 1px 2px var(--overlay-transparent), inset 0 1px 1px var(--surface-white-5)}.auto-color-scale{--scale-50:color-mix(in srgb, var(--base-color,var(--color-primary-500)) 8%, white);--scale-100:color-mix(in srgb, var(--base-color,var(--color-primary-500)) 15%, white);--scale-200:color-mix(in srgb, var(--base-color,var(--color-primary-500)) 30%, white);--scale-300:color-mix(in srgb, var(--base-color,var(--color-primary-500)) 50%, white);--scale-400:color-mix(in srgb, var(--base-color,var(--color-primary-500)) 75%, white);--scale-500:var(--base-color,var(--color-primary-500));--scale-600:color-mix(in srgb, var(--base-color,var(--color-primary-500)) 85%, black);--scale-700:color-mix(in srgb, var(--base-color,var(--color-primary-500)) 70%, black);--scale-800:color-mix(in srgb, var(--base-color,var(--color-primary-500)) 50%, black);--scale-900:color-mix(in srgb, var(--base-color,var(--color-primary-500)) 25%, black);--scale-950:color-mix(in srgb, var(--base-color,var(--color-primary-500)) 10%, black)}@container (width>768px){.adaptive-desktop{--color-shadow-opacity:.2;--color-border-alpha:.25}}@container (width<=768px){.adaptive-mobile{--color-shadow-opacity:.15;--color-border-alpha:.2}}.block{display:block}.inline{display:inline}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.items-start{align-items:flex-start}.items-center{align-items:center}.items-end{align-items:flex-end}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.grow{flex-grow:1}.shrink{flex-shrink:1}.no-grow{flex-grow:0}.no-shrink{flex-shrink:0}.block-align-center{align-content:center;min-height:100px;display:block}.block-align-start{align-content:start;min-height:100px;display:block}.block-align-end{align-content:end;min-height:100px;display:block}.block-space-between{align-content:space-between;min-height:150px;display:block}.block-space-around{align-content:space-around;min-height:150px;display:block}.m-auto{margin:auto}.mx-auto{margin-left:auto;margin-right:auto}.my-auto{margin-top:auto;margin-bottom:auto}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-justify{text-align:justify}.text-xs{font-size:var(--text-xs,.75rem)}.text-sm{font-size:var(--text-sm,.875rem)}.text-base{font-size:var(--text-base,1rem)}.text-lg{font-size:var(--text-lg,1.125rem)}.text-xl{font-size:var(--text-xl,1.25rem)}.text-2xl{font-size:var(--text-2xl,1.5rem)}.text-3xl{font-size:var(--text-3xl,1.875rem)}.text-4xl{font-size:var(--text-4xl,2.25rem)}.font-thin{font-weight:100}.font-light{font-weight:300}.font-normal{font-weight:var(--font-normal,400)}.font-medium{font-weight:var(--font-medium,500)}.font-semibold{font-weight:var(--font-semibold,600)}.font-bold{font-weight:var(--font-bold,700)}.font-extrabold{font-weight:800}.font-black{font-weight:900}.italic{font-style:italic}.not-italic{font-style:normal}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.normal-case{text-transform:none}.underline{text-decoration:underline}.line-through{text-decoration:line-through}.no-underline{text-decoration:none}.w-full{width:100%}.w-auto{width:auto}.h-full{height:100%}.h-auto{height:auto}.max-w-full{max-width:100%}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.static{position:static}.top-0{top:0}.right-0{right:0}.bottom-0{bottom:0}.left-0{left:0}.inset-0{inset:0}.visible{visibility:visible}.invisible{visibility:hidden}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-100{opacity:1}.bg-transparent{background-color:#0000}.bg-current{background-color:currentColor}.border{border-width:1px}.border-0{border-width:0}.border-t{border-top-width:1px}.border-r{border-right-width:1px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.rounded-none{border-radius:0}.rounded-sm{border-radius:.125rem}.rounded{border-radius:.25rem}.rounded-md{border-radius:.375rem}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:var(--radius-full,9999px)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.focus-outline{outline:2px solid var(--color-primary-500);outline-offset:2px}.focus-ring:focus{box-shadow:0 0 0 3px color-mix(in srgb, var(--color-primary-500), transparent 60%);outline:2px solid #0000}.text-primary{color:var(--color-primary-500)}.text-secondary{color:var(--color-secondary-500)}.text-accent{color:var(--color-accent-500)}.bg-primary{background-color:var(--color-primary-500)}.bg-secondary{background-color:var(--color-secondary-500)}.bg-accent{background-color:var(--color-accent-500)}.cursor-pointer{cursor:pointer}.cursor-wait{cursor:wait}.cursor-not-allowed{cursor:not-allowed}.debug{outline:1px solid red}.debug *{outline:1px solid #00f}.debug-grid{background:linear-gradient(to bottom, var(--color-primary-alpha-10,#0000ff1a) 1px, transparent 1px);background-size:100% 8px}.smooth-scroll{scroll-behavior:smooth}.no-smooth-scroll{scroll-behavior:auto}@media (prefers-reduced-motion:reduce){.smooth-scroll{scroll-behavior:auto}}.container-inline{container:inline/inline-size}.container-size{container:size/size}.container-normal{container:normal}.container-card{container:card/inline-size}.container-sidebar{container:sidebar/inline-size}.container-content{container:content/inline-size}.container-form{container:form/inline-size}@container (width<=300px){.cq\:stack{align-items:stretch;gap:var(--space-2,.5rem);flex-direction:column}.cq\:hidden-xs{display:none}.cq\:text-sm{font-size:var(--text-sm,.875rem);line-height:1.25rem}.cq\:p-2{padding:var(--space-2,.5rem)}.cq\:full-width{width:100%}}@container (width>=301px) and (width<=500px){.cq\:hidden-sm{display:none}.cq\:col-1{grid-column:span 1}.cq\:p-3{padding:var(--space-3,.75rem)}}@container (width>=501px) and (width<=700px){.cq\:hidden-md{display:none}.cq\:col-2{grid-column:span 2}.cq\:p-4{padding:var(--space-4,1rem)}}@container (width>=701px){.cq\:hidden-lg{display:none}.cq\:col-3{grid-column:span 3}.cq\:p-5{padding:1.25rem}}@container card (width<=400px){.card\:vertical{flex-direction:column}.card\:compact{padding:var(--space-3,.75rem);gap:var(--space-2,.5rem)}}@container sidebar (width<=200px){.sidebar\:compact{padding:var(--space-2,.5rem)}.sidebar\:icons-only .sidebar-text{display:none}.sidebar\:icons-only .sidebar-icon{margin-right:0}}@container form (width<=500px){.form\:stack{gap:var(--space-2,.5rem);grid-template-columns:1fr}.form\:stack label{margin-bottom:var(--space-1,.25rem)}}@container style(--is-compact:1){.compact\:text-sm{font-size:var(--text-sm,.875rem)}.compact\:gap-1{gap:var(--space-1,.25rem)}}.container-responsive{container:responsive/inline-size}.cq-text{font-size:clamp(1rem,.5rem + 3cqw,3rem);line-height:1.2}.cq-padding{padding:2cqh 3cqw}.cq-card{width:min(90cqw,600px);min-height:40cqh;margin:auto}.theme-container{container:theme/inline-size}@container theme (width<=300px){.theme-card{gap:var(--space-2,.5rem);grid-template-columns:1fr}.theme-card-image{width:100%;height:120px}.theme-card-content{padding:var(--space-3,.75rem)}.theme-card-title{font-size:var(--text-base,1rem)}}@container theme (width>=301px) and (width<=500px){.theme-card{gap:var(--space-4,1rem);grid-template-columns:120px 1fr}.theme-card-image{width:120px;height:120px}}@container theme (width>=501px){.theme-card{gap:var(--space-6,1.5rem);grid-template-columns:150px 1fr}.theme-card-image{width:150px;height:150px}}.chat-container{container:chat/size}@container chat (width<=400px){.message{padding:var(--space-3,.75rem);border-radius:.75rem}.message-avatar{width:32px;height:32px}.message-content,.response-content-area{font-size:var(--text-sm,.875rem)}.message-actions{gap:var(--space-1,.25rem)}.message-timestamp{font-size:var(--text-xs,.75rem)}}@container chat (width>=401px) and (width<=600px){.message{padding:var(--space-4,1rem)}.message-avatar{width:40px;height:40px}}@container chat (width>=601px){.message{padding:1.25rem}.message-avatar{width:48px;height:48px}.message-content,.response-content-area{font-size:var(--text-base,1rem)}}@container sidebar-container (width<=80px){.sidebar-link{padding:var(--space-3,.75rem);justify-content:center}.sidebar-link-text{display:none}.sidebar-link-icon{width:1.5rem;height:1.5rem}.sidebar-section-title,.sidebar-user-info{display:none}}@container sidebar-container (width>=81px) and (width<=200px){.sidebar-link{padding:var(--space-2,.5rem) var(--space-3,.75rem)}.sidebar-link-text{font-size:var(--text-sm,.875rem)}.sidebar-section-title{font-size:var(--text-xs,.75rem);padding:var(--space-2,.5rem) var(--space-3,.75rem)}}@container sidebar-container (width>=201px){.sidebar-link{padding:var(--space-3,.75rem) var(--space-4,1rem)}.sidebar-link-text{font-size:var(--text-base,1rem)}.sidebar-user-info{padding:var(--space-4,1rem);display:flex}}.form-container{container:form/inline-size}@container form (width<=400px){.form-grid{gap:var(--space-4,1rem);grid-template-columns:1fr}.form-field{grid-column:1}.form-field-group{gap:var(--space-2,.5rem);flex-direction:column}.form-submit{width:100%}}@container form (width>=401px) and (width<=600px){.form-grid{gap:var(--space-4,1rem);grid-template-columns:repeat(2,1fr)}.form-field-full{grid-column:1/-1}}@container form (width>=601px){.form-grid{gap:var(--space-6,1.5rem);grid-template-columns:repeat(3,1fr)}.form-field-half{grid-column:span 2}.form-field-full{grid-column:1/-1}}@supports (container-type:style){.theme-aware-container{container-type:style;container-name:theme-container}@container style(--theme-mode:dark){.adaptive-element{background-color:var(--color-neutral-800);color:var(--color-neutral-100)}}@container style(--theme-mode:light){.adaptive-element{background-color:var(--color-neutral-100);color:var(--color-neutral-900)}}@container style(--high-contrast:true){.adaptive-element{font-weight:var(--font-bold,700);border:2px solid}}}.cq-inline{container-type:inline-size}.cq-size{container-type:size}.cq-normal{container-type:normal}.cq-name-card{container-name:card}.cq-name-sidebar{container-name:sidebar}.cq-name-content{container-name:content}.cq-name-form{container-name:form}.cq-name-modal{container-name:modal}.cq-w-full{width:100cqw}.cq-h-full{height:100cqh}.cq-w-half{width:50cqw}.cq-h-half{height:50cqh}.cq-text-responsive{font-size:clamp(.875rem,.75rem + 1cqw,1.125rem)}.cq-heading-responsive{font-size:clamp(1.5rem,1rem + 3cqw,3rem)}.cq-p-responsive{padding:clamp(var(--space-2,.5rem), 2cqw, var(--space-8,2rem))}.cq-gap-responsive{gap:clamp(var(--space-2,.5rem), 2cqw, var(--space-6,1.5rem))}@supports not (container-type:inline-size){@media (width<=640px){.fallback-small{font-size:var(--text-sm,.875rem);padding:var(--space-2,.5rem)}}@media (width>=640px) and (width<=1024px){.fallback-medium{font-size:var(--text-base,1rem);padding:var(--space-4,1rem)}}@media (width>=1024px){.fallback-large{font-size:var(--text-lg,1.125rem);padding:var(--space-6,1.5rem)}}}.p-0{padding:0}.p-1{padding:var(--space-1)}.p-2{padding:var(--space-2)}.p-3{padding:var(--space-3)}.p-4{padding:var(--space-4)}.p-5{padding:var(--space-5)}.p-6{padding:var(--space-6)}.m-0{margin:0}.m-1{margin:var(--space-1)}.m-2{margin:var(--space-2)}.m-3{margin:var(--space-3)}.m-4{margin:var(--space-4)}.m-5{margin:var(--space-5)}.m-6{margin:var(--space-6)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.not-sr-only{clip:auto;white-space:normal;width:auto;height:auto;margin:0;padding:0;position:static;overflow:visible}@supports (animation-delay:calc(0.1s * sibling-index())){.stagger-fast{--stagger-base:50ms;animation-delay:calc(var(--stagger-base) * (sibling-index() - 1))}.stagger-normal{--stagger-base:80ms;animation-delay:calc(var(--stagger-base) * (sibling-index() - 1))}.stagger-slow{--stagger-base:.12s;animation-delay:calc(var(--stagger-base) * (sibling-index() - 1))}.fade-by-position{opacity:calc(.4 + (sibling-index() / sibling-count()) * .6)}.stagger-reverse{--stagger-base:80ms;animation-delay:calc(var(--stagger-base) * (sibling-count() - sibling-index()))}.scale-by-position{--scale-factor:calc(.9 + (sibling-index() / sibling-count()) * .1);transform:scale(var(--scale-factor))}}@supports not (animation-delay:calc(0.1s * sibling-index())){.stagger-fast>:first-child{animation-delay:0s}.stagger-fast>:nth-child(2){animation-delay:50ms}.stagger-fast>:nth-child(3){animation-delay:.1s}.stagger-fast>:nth-child(4){animation-delay:.15s}.stagger-fast>:nth-child(5){animation-delay:.2s}.stagger-fast>:nth-child(6){animation-delay:.25s}.stagger-fast>:nth-child(7){animation-delay:.3s}.stagger-fast>:nth-child(8){animation-delay:.35s}.stagger-normal>:first-child{animation-delay:0s}.stagger-normal>:nth-child(2){animation-delay:80ms}.stagger-normal>:nth-child(3){animation-delay:.16s}.stagger-normal>:nth-child(4){animation-delay:.24s}.stagger-normal>:nth-child(5){animation-delay:.32s}.stagger-normal>:nth-child(6){animation-delay:.4s}.stagger-normal>:nth-child(7){animation-delay:.48s}.stagger-normal>:nth-child(8){animation-delay:.56s}.stagger-slow>:first-child{animation-delay:0s}.stagger-slow>:nth-child(2){animation-delay:.12s}.stagger-slow>:nth-child(3){animation-delay:.24s}.stagger-slow>:nth-child(4){animation-delay:.36s}.stagger-slow>:nth-child(5){animation-delay:.48s}.stagger-slow>:nth-child(6){animation-delay:.6s}.stagger-slow>:nth-child(7){animation-delay:.72s}.stagger-slow>:nth-child(8){animation-delay:.84s}}@supports (text-box:trim-both cap alphabetic){.text-trim-both{text-box:trim-both cap alphabetic}.text-trim-start{text-box:trim-start cap}.text-trim-end{text-box:trim-end alphabetic}}.scroll-state-container{container-type:scroll-state}@supports (container-type:scroll-state){@container scroll-state(scrollable:x){.show-when-scrollable-x{display:block}}@container scroll-state(scrollable:y){.show-when-scrollable-y{display:block}}@container not scroll-state(scrollable:inline){.scroll-hint-x{opacity:0;pointer-events:none}}@container not scroll-state(scrollable:block){.scroll-hint-y{opacity:0;pointer-events:none}}@container scroll-state(snapped:x){.snap-highlight:target-current{box-shadow:var(--shadow-elevated,0 8px 24px var(--color-black-alpha-15));z-index:1;transform:scale(1.05)}}@container scroll-state(snapped:y){.snap-highlight-y:target-current{background-color:var(--surface-card-hover,var(--color-black-alpha-5))}}@container scroll-state(stuck:top){.stuck-indicator{box-shadow:var(--shadow-sm,0 2px 8px var(--color-black-alpha-10));background-color:var(--surface-background,var(--color-white))}}}@supports not (container-type:scroll-state){.scroll-hint-x,.scroll-hint-y{opacity:1}}@media screen and (width<=480px){.cq\:stack,.cq\:flex-col{align-items:stretch;gap:var(--space-2,.5rem);flex-direction:column}.cq\:text-sm{font-size:var(--text-sm,.875rem);line-height:1.25rem}.container-sidebar .cq\:collapsed,.cq\:sidebar-collapsed{width:48px;overflow:hidden}.container-sidebar .cq\:collapsed .cq\:hide-text,.cq\:sidebar-collapsed .cq\:hide-text{display:none}.container-card .cq\:compact,.cq\:card-compact{padding:var(--space-2,.5rem);gap:var(--space-1,.25rem)}.container-form .cq\:simple,.cq\:form-simple{display:block}.container-form .cq\:simple>*,.cq\:form-simple>*{width:100%;margin-bottom:var(--space-2,.5rem)}}@media screen and (width>=480px) and (width<=768px){.cq\:flex-row{gap:var(--space-4,1rem);flex-direction:row}.container-form .cq\:two-column,.cq\:form-two-column{gap:var(--space-4,1rem);grid-template-columns:1fr 1fr;display:grid}.cq\:text-base{font-size:var(--text-base,1rem);line-height:1.5rem}.container-sidebar .cq\:expanded,.cq\:sidebar-expanded{width:200px;padding:var(--space-3,.75rem)}.container-card .cq\:medium,.cq\:card-medium{padding:var(--space-4,1rem);gap:var(--space-3,.75rem)}}@media screen and (width>=768px){.cq\:expanded{width:auto;padding:var(--space-4,1rem)}.container-form .cq\:three-column,.cq\:form-three-column{gap:var(--space-6,1.5rem);grid-template-columns:1fr 1fr 1fr;display:grid}.cq\:text-lg{font-size:var(--text-lg,1.125rem);line-height:1.75rem}.container-sidebar .cq\:full,.cq\:sidebar-full{width:280px;padding:var(--space-4,1rem)}.container-card .cq\:large,.cq\:card-large{padding:var(--space-6,1.5rem);gap:var(--space-4,1rem)}.cq\:grid-2{gap:var(--space-4,1rem);grid-template-columns:1fr 1fr;display:grid}.cq\:grid-3{gap:var(--space-4,1rem);grid-template-columns:1fr 1fr 1fr;display:grid}}@media screen and (width>=1024px){.cq\:grid-4{gap:var(--space-6,1.5rem);grid-template-columns:repeat(4,1fr);display:grid}.cq\:text-xl{font-size:var(--text-xl,1.25rem);line-height:1.75rem}.cq\:max-expanded{max-width:none;padding:var(--space-8,2rem)}}@media screen and (width>=1200px){.cq\:grid-5{gap:var(--space-8,2rem);grid-template-columns:repeat(5,1fr);display:grid}.container-card .cq\:xl,.cq\:card-xl{padding:var(--space-8,2rem);gap:var(--space-6,1.5rem)}}@media screen and (orientation:portrait) and (width<=768px){.cq\:portrait-stack{flex-direction:column}.cq\:portrait-full{width:100%}}@media screen and (orientation:landscape) and (height<=600px){.cq\:landscape-row{flex-direction:row}.cq\:landscape-compact{padding:var(--space-2,.5rem);gap:var(--space-2,.5rem)}}@media (prefers-reduced-motion:reduce){.cq\:no-animation,.cq\:no-animation *{transition:none!important;animation:none!important}}@media (prefers-contrast:more){.cq\:high-contrast{filter:contrast(150%)!important;border:2px solid!important}.cq\:high-contrast-text{text-shadow:0 0 1px!important;font-weight:700!important}}.dark .cq\:dark-mode{background-color:var(--surface-card,var(--color-neutral-800))!important;color:var(--text-primary)!important}@media (hover:none) and (pointer:coarse){.cq\:touch-friendly{min-width:48px;min-height:48px;padding:var(--space-3,.75rem)}.cq\:touch-spacing>*{margin-bottom:var(--space-3,.75rem)}}@media print{.cq\:print-hide{display:none!important}.cq\:print-full{page-break-inside:avoid!important;width:100%!important}.cq\:print-stack{gap:var(--space-2,.5rem);flex-direction:column!important}}.message-container{container-type:inline-size}@media screen and (width<=600px){.message-container .cq\:message-compact{font-size:var(--text-sm,.875rem);padding:var(--space-2,.5rem)}}.chat-container{container-type:inline-size}@media screen and (width<=400px){.chat-container .cq\:chat-mobile{gap:var(--space-1,.25rem);flex-direction:column}}.form-container{container-type:inline-size}@media screen and (width<=500px){.form-container .cq\:form-stack{display:block}.form-container .cq\:form-stack>*{width:100%;margin-bottom:var(--space-3,.75rem)}}}@layer overrides{@media (prefers-reduced-motion:reduce){:root{--duration-fastest:0s;--duration-fast:0s;--duration-base:0s;--duration-normal:0s;--duration-moderate:0s;--duration-slow:0s;--toast-entrance-duration:0s;--toast-exit-duration:0s;--toast-hover-duration:0s;--button-hover-lift:translateY(0);--card-hover-lift:translateY(0);--transition-interactive:none;--transition-lift:none}}[data-theme=cocovox]{--toast-entrance-duration:.35s;--toast-easing-entrance:cubic-bezier(.34, 1.56, .64, 1);--toast-entrance-distance-md:var(--toast-entrance-distance-lg)}[data-theme=circuit]{--toast-entrance-duration:var(--toast-entrance-duration-fast);--toast-easing-entrance:var(--toast-easing-entrance-sharp);--toast-entrance-scale-start:.95}[data-theme=coral]{--toast-entrance-duration:var(--toast-entrance-duration-gentle);--toast-easing-entrance:var(--toast-easing-entrance-smooth);--toast-entrance-distance-md:var(--toast-entrance-distance-sm)}[data-theme=velvet]{--toast-entrance-duration:.5s;--toast-easing-entrance:cubic-bezier(.34, 1.56, .64, 1)}[data-theme=modern]{--toast-entrance-duration:var(--toast-entrance-duration-gentle);--toast-easing-entrance:var(--toast-easing-entrance-standard)}.text-warning-contrast{color:var(--text-warning-contrast)}.text-warning-600{color:var(--color-warning-600)}.space-section{margin-bottom:var(--space-5)}.space-component{margin-bottom:var(--space-4)}.space-element{margin-bottom:var(--space-3)}.text-hierarchy-1{font-size:var(--text-3xl);font-weight:var(--font-bold);line-height:var(--leading-tight)}.text-hierarchy-2{font-size:var(--text-2xl);font-weight:var(--font-semibold);line-height:var(--leading-tight)}.text-hierarchy-3{font-size:var(--text-xl);font-weight:var(--font-semibold);line-height:var(--leading-normal)}.text-body{font-size:var(--text-base);font-weight:var(--font-normal);line-height:var(--leading-normal)}.text-caption{font-size:var(--text-sm);font-weight:var(--font-normal);line-height:var(--leading-normal)}.surface-card{background-color:var(--surface-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:var(--card-border-width) solid var(--color-neutral-200)}button:focus,a:focus,input:focus,select:focus,textarea:focus,[role=button]:focus,[role=link]:focus,[tabindex]:not([tabindex="-1"]):focus,summary:focus{outline:2px solid #0000}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[role=button]:focus-visible,[role=link]:focus-visible,[role=tab]:focus-visible,[role=menuitem]:focus-visible,[role=option]:focus-visible,[role=checkbox]:focus-visible,[role=radio]:focus-visible,[role=switch]:focus-visible,[tabindex]:not([tabindex="-1"]):focus-visible,summary:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-outline-offset);transition:outline-color var(--duration-fast) var(--ease-out)}.focus-ring-default:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-outline-offset)}.focus-ring-error:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color-error);outline-offset:var(--focus-outline-offset)}.focus-ring-success:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color-success);outline-offset:var(--focus-outline-offset)}button,[role=button],input[type=button],input[type=submit],input[type=reset],.interactive-element{min-height:var(--touch-target-min);min-width:var(--touch-target-min)}.touch-target-min{min-height:var(--touch-target-min);min-width:var(--touch-target-min);padding:var(--space-2)}.touch-target-preferred{min-height:var(--touch-target-preferred);min-width:var(--touch-target-preferred);padding:var(--space-3)}.touch-target-comfortable{min-height:var(--touch-target-comfortable);min-width:var(--touch-target-comfortable);padding:var(--space-4)}.touch-expand{position:relative}.touch-expand:after{content:"";min-width:var(--touch-target-preferred);min-height:var(--touch-target-preferred);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.icon-xs{width:var(--icon-size-xs);height:var(--icon-size-xs)}.icon-sm{width:var(--icon-size-sm);height:var(--icon-size-sm)}.icon-md{width:var(--icon-size-md);height:var(--icon-size-md)}.icon-lg{width:var(--icon-size-lg);height:var(--icon-size-lg)}.icon-xl{width:var(--icon-size-xl);height:var(--icon-size-xl)}.surface-hover:hover{background-color:var(--surface-hover)}.surface-active:active{background-color:var(--surface-active)}.surface-disabled,.surface-disabled:hover,.surface-disabled:active{background-color:var(--surface-disabled);cursor:not-allowed;opacity:.6}.surface-selected{background-color:var(--surface-selected)}.surface-focus:focus-within{background-color:var(--surface-focus)}.border-default{border:1px solid var(--border-color-default)}.border-hover:hover{border-color:var(--border-hover)}.border-active:active{border-color:var(--border-active)}.border-focus:focus,.border-focus:focus-within{border-color:var(--border-focus)}.border-error{border-color:var(--border-error)}.border-success{border-color:var(--border-success)}.border-warning{border-color:var(--border-warning)}.surface-elevated{background-color:var(--surface-elevated);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.interactive{transition:opacity, transform var(--duration-normal) var(--ease-out);cursor:pointer}.interactive:hover{box-shadow:var(--shadow-lg);transform:translateY(-1px)}.interactive:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-outline-offset)}.interactive:active{transition-duration:var(--duration-fast);transform:translateY(0)}@media (prefers-contrast:more){html[data-focus-mode=true] .sidebar-outer:not(.focus-revealed){opacity:.2;border:2px dashed var(--border-color-default);pointer-events:auto;transform:translate(0)}html[data-focus-mode=true] .navbar-container:not(.focus-revealed){opacity:.2;border:2px dashed var(--border-color-default);pointer-events:auto;transform:translateY(0)}.action-row-btn.focus-active{border:3px solid var(--color-success)!important;background:var(--color-success)!important}}@media (prefers-reduced-motion:reduce){html[data-focus-mode=true] *,html[data-focus-mode=true] :before,html[data-focus-mode=true] :after{transition-duration:.01ms!important;animation:none!important}.action-row-btn.focus-entering,.action-row-btn.focus-active,.action-row-btn.focus-exiting{animation:none!important}.action-row-btn.focus-mode-enhanced:hover:not(:disabled) .focus-mode-icon,.action-row-btn.focus-active .focus-mode-icon{transform:none!important}}.action-row-btn.focus-mode-enhanced:focus-visible{box-shadow:0 0 0 3px var(--focus-ring-color)!important}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}button:focus-visible:after,a:focus-visible:after,input:focus-visible:after,[tabindex]:focus-visible:after{opacity:1;animation:none;transform:scale(1)}}.no-hardware-acceleration{will-change:auto!important;backface-visibility:visible!important;transform:none!important}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}[data-high-contrast=true]{--learning-card-border:var(--text-primary);--learning-card-shadow:0 0 0 2px var(--text-primary);--learning-card-shadow-hover:0 0 0 3px var(--text-primary);--learning-focus-ring-width:3px;--learning-progress-track-width:4px;--learning-progress-fill-width:6px;--learning-button-primary-bg:var(--theme-color-primary,var(--color-primary-500));--learning-button-primary-text:var(--theme-text-on-primary,var(--color-white));--learning-button-primary-border:var(--theme-text-primary,currentColor);--learning-button-primary-shadow:none;--learning-button-secondary-bg:var(--theme-surface-background,var(--color-white));--learning-button-secondary-text:var(--theme-text-primary,var(--color-black));--learning-button-secondary-border:var(--theme-text-primary,currentColor);--learning-button-secondary-shadow:none;--learning-lesson-bg:var(--learning-lesson-color)!important;--learning-exercise-bg:var(--learning-exercise-color)!important;--learning-flashcards-bg:var(--learning-flashcards-color)!important;--learning-quiz-bg:var(--learning-quiz-color)!important;--learning-test-bg:var(--learning-test-color)!important}@media (prefers-reduced-motion:reduce){:root{--learning-transition-fast:1ms!important;--learning-transition-normal:1ms!important;--learning-transition-slow:1ms!important;--learning-hover-scale:1!important;--learning-active-scale:1!important}.learning-skeleton,.learning-celebration,.learning-status-active{animation:none!important}.learning-interactive,.learning-card-elevated,.sticky-note,.flashcard-set,.elevation-transition,.elevation-fast-transition{transition:none!important;transform:none!important}.sticky-note.dragging,.flashcard-set.dragging{filter:none!important;transform:none!important}.sticky-note,.sticky-note:before,.sticky-note:after,.gravatar,.note-actions button{transition:none!important;animation:none!important;transform:none!important}.sticky-note:hover,.sticky-note.dragging,.sticky-note.editing{filter:none!important;transform:none!important}.zoom-indicator,.selection-box,.drop-zone,.drag-preview,.canvas-interactive,.hover-overlay,.touch-ripple{transition:none!important;animation:none!important;transform:none!important}.control-label,.memory-savings-fill{transition:none}.metric-value.warning{color:var(--color-error-400);animation:none}@keyframes optimization-warning-pulse{0%,to{opacity:1;color:var(--color-error-400)}}}@media (prefers-contrast:more){.infinite-canvas-container .stats-overlay{background:var(--color-white-alpha-95);border:2px solid var(--color-black);backdrop-filter:none}.infinite-canvas-container .stat-item{color:var(--color-black)}}@media (prefers-reduced-motion:reduce){.infinite-canvas-container .stats-overlay,.infinite-canvas-container .toolbar-container{transition:none;animation:none}.infinite-canvas,.canvas-content,.content-loading-overlay,.stats-overlay{transition:none!important;animation:none!important}.stat-item{transition:none!important}@keyframes stats-fade-in{0%,to{opacity:1;transform:none}}.performance-monitor{transition:none;animation:none}.performance-toggle{transition:none}.metric-value.warning{color:var(--color-status-error);animation:none}@keyframes performance-warning-pulse{0%,to{opacity:1}}@keyframes performance-warning-bounce{0%,to{transform:none}}}@media (prefers-contrast:more){.unified-card,.learning-material-card,.lesson-card,.interactive-lesson-card{border-width:2px;border-color:currentColor}.card-theme-indicator{opacity:1;height:8px}.card-icon-container{border:2px solid}.progress-fill{border:1px solid}.primary-action-btn,.action-btn.primary{border:4px solid}}@media (prefers-reduced-motion:reduce){.unified-card,.anthropic-card,.anthropic-card.loading,.card-icon-container,.card-expand-btn,.learning-material-card,.lesson-card,.interactive-lesson-card,.icon-container,.lesson-icon,.progress-fill,.stat-card,.topic-tag,.primary-action-btn,.secondary-action-btn,.action-btn,.expand-btn,.expand-button{transition:none!important;animation:none!important}.unified-card:hover,.learning-material-card:hover .icon-container,.lesson-card:hover .lesson-icon,.interactive-lesson-card:hover .icon-container,.unified-card:hover .card-icon-container{transform:none!important}}@media (hover:none) and (pointer:coarse){.unified-card,.learning-material-card,.lesson-card,.interactive-lesson-card{transform:none!important}.unified-card:hover,.learning-material-card:hover,.lesson-card:hover,.interactive-lesson-card:hover{box-shadow:var(--card-shadow-base)!important}.card-expand-btn,.primary-action-btn,.secondary-action-btn,.action-btn,.expand-btn,.expand-button,.icon-action-btn{min-width:48px;min-height:48px}}@media print{.unified-card{break-inside:avoid;box-shadow:none!important;border:2px solid var(--card-border-color)!important;background:var(--color-white)!important}.card-theme-indicator{background:var(--card-theme-primary)!important}.card-icon-container{background:var(--card-theme-primary)!important;color:var(--color-white)!important}}@media (prefers-reduced-data:reduce){.unified-card{--card-glow-color:transparent;box-shadow:var(--card-shadow-base)!important}}@container (width<=300px){.unified-card .card-icon-container{width:var(--card-icon-size-sm)!important;height:var(--card-icon-size-sm)!important}}@container (width<=400px){.icon-container,.lesson-icon{width:40px!important;height:40px!important}}@supports not (container-type:inline-size){@container (width<=640px){.card-featured{grid-column:span 1!important}}@media (width<=640px){.card-featured{grid-column:span 1!important}}}@media (prefers-reduced-motion:reduce){.message-input-container{transition-duration:.01ms!important;transition-delay:0s!important;animation:none!important}.message-input-container:not(.input-hidden){transition:none!important}:is(:global(.message-input-container:not(.input-hidden) .mi-textarea),:global(.message-input-container:not(.input-hidden) .btn-send),:global(.message-input-container:not(.input-hidden) button)){opacity:1!important;animation:none!important}:is(:global(.documents-container),:global(.documents-grid),:global(.documents-grid > *)){transition:none!important;animation:none!important}:global(.documents-container::after){animation:none!important}.action-btn,.action-row-btn,.keyboard-wrapper{transition:none}.action-btn:hover:not(:disabled),.action-btn:active:not(:disabled),.action-row-btn:hover:not(:disabled),.action-row-btn:active:not(:disabled){transform:none}:is(:global(.mi-textarea),:global(.mi-file-remove-button)){transition:none;animation:none}}@media (prefers-contrast:more){:global(.mi-textarea){color:var(--mi-text-primary);background-color:var(--mi-bg-secondary)}:global(.mi-char-count){color:var(--mi-text-primary);background-color:var(--mi-bg-primary);border:1px solid var(--mi-border-default)}:global(.documents-grid){border-width:2px;border-color:canvastext}:global(.documents-grid > *){border-width:2px;border-color:canvastext}:global(.documents-grid::-webkit-scrollbar-thumb){background:canvastext}.action-btn,.action-row-btn{font-weight:var(--font-semibold);border-width:2px}.action-btn.btn-primary,.action-btn.btn-active,.action-row-btn.btn-primary,.action-row-btn.btn-active{box-shadow:0 0 0 1px}}@media print{body{background-color:var(--color-white)!important;color:var(--color-black)!important}a{text-decoration:underline;color:var(--color-info)!important}.no-print{display:none!important}.page-break{page-break-before:always}.page-break-after{page-break-after:always}}.visuallyhidden{clip:rect(0 0 0 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.visible{visibility:visible!important}.invisible{visibility:hidden!important}.hidden{display:none!important}.block{display:block!important}.flex{display:flex!important}.grid{display:grid!important}.sr-only:not(:focus):not(:active){clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (width<=640px){.mobile-hidden{display:none!important}.mobile-full-width{width:100%!important}.mobile-stack{flex-direction:column!important;display:flex!important}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (prefers-contrast:more){button:focus-visible,a:focus-visible,input:focus-visible{outline-offset:4px;outline-width:4px}}@media (forced-colors:active){button,[role=button],[role=tab]{border:2px solid buttontext}a{color:linktext}input,select,textarea{color:canvastext;background-color:canvas;border:2px solid buttontext}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[role=button]:focus-visible,[role=tab]:focus-visible,[role=menuitem]:focus-visible,[tabindex]:focus-visible{outline-offset:2px;outline:3px solid highlight}button:disabled,input:disabled,select:disabled,textarea:disabled,[aria-disabled=true]{color:graytext;border-color:graytext}svg{fill:currentColor}input[type=checkbox],input[type=radio]{forced-color-adjust:auto}[role=checkbox],[role=radio],[role=switch],.toggle-switch{border:2px solid buttontext}[role=checkbox][aria-checked=true],[role=radio][aria-checked=true],[role=switch][aria-checked=true]{background-color:highlight;border-color:highlight}}@media (pointer:coarse){button,a,input[type=checkbox],input[type=radio],.toggle-switch{min-width:44px;min-height:44px}}:where(:focus-visible){outline:2px solid var(--focus-ring-color,var(--color-primary-500,#007aff));outline-offset:2px}@media (prefers-contrast:more){:where(*){border-color:currentColor}.btn,.card,.input{border:2px solid}a{text-decoration:underline 2px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms;animation-duration:1ms;animation-iteration-count:1}}@media print{.no-print{display:none}body{color:var(--color-black);background:var(--color-white)}a{text-decoration:underline}}.force-focus-visible:focus{outline:3px solid var(--color-primary-500);outline-offset:2px}.fix-overflow{overflow:hidden}.fix-position{position:static}.fix-z-index{z-index:var(--z-index-tooltip)}@media (prefers-reduced-motion:reduce){[class*=scroll],[class*=parallax],.fade-in-on-scroll,.slide-up-on-scroll,.scale-in-on-scroll,.timeline-item,.text-reveal span{opacity:1;animation:none;transform:none}.reading-progress{display:none}.header-sticky{background-color:var(--surface-background);box-shadow:0 2px 10px #0000001a}}@media print{::selection{color:var(--color-black);background-color:#ff0}::highlight(search-result){color:var(--color-black);background-color:#ff0}[data-highlight]:hover,[data-highlight]:active{filter:none}}.form-input.border-red-500{border-color:var(--form-invalid-color)}.form-input.border-green-500{border-color:var(--form-valid-color)}@media (prefers-reduced-motion:reduce){.stagger-fast,.stagger-normal,.stagger-slow,.stagger-reverse{animation-delay:0s}.snap-highlight:target-current{transform:none}[popover=hint]{transition:none}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none}}}@layer action-row-base{.action-row-btn{vertical-align:middle;border-radius:var(--mi-border-radius-button,var(--radius-lg,16px));width:48px;min-width:48px;height:48px;min-height:48px;color:var(--color-text-primary);cursor:pointer;box-shadow:none;transition:background-color, border-color, color, box-shadow, transform .2s var(--cocovox-ease-signature,cubic-bezier(.4, 0, .2, 1));user-select:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:0 0;border:1px solid #0000;outline:2px solid #0000;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.action-row-btn:hover:not(:disabled){background:var(--color-surface-hover);color:var(--color-text-primary);border-color:var(--border-color-default);box-shadow:var(--shadow-md);will-change:transform, background-color, box-shadow;transform:scale(1.05)}.action-row-btn:active:not(:disabled){box-shadow:var(--shadow-sm);transition-duration:var(--duration-fastest,.1s);transform:scale(.95)}.action-row-btn:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px;box-shadow:0 0 0 3px var(--focus-ring-color);transition:outline-offset .15s var(--cocovox-ease-signature,cubic-bezier(.16, 1, .3, 1)), box-shadow .15s var(--cocovox-ease-signature), transform .2s var(--cocovox-ease-signature), background-color .2s var(--cocovox-ease-signature)}.action-row-btn:focus-visible:not(:active){transform:scale(1.02)}.action-row-btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none;transform:none}.action-row-btn.btn-unavailable{opacity:.5;cursor:not-allowed;pointer-events:none;background:var(--color-surface-sunken,var(--color-black-alpha-5));border:1px dashed var(--border-color-muted,var(--color-neutral-alpha-30));transition:opacity .3s var(--cocovox-ease-signature,cubic-bezier(.4, 0, .2, 1)), background-color .2s var(--cocovox-ease-signature,cubic-bezier(.4, 0, .2, 1)), border .2s var(--cocovox-ease-signature,cubic-bezier(.4, 0, .2, 1));transform:none;width:48px!important;min-width:48px!important;height:48px!important;min-height:48px!important;display:inline-flex!important}.action-row-btn.btn-unavailable:hover{pointer-events:auto;cursor:help;box-shadow:none;background:0 0;transform:none}.action-row-btn-content{justify-content:center;align-items:center;gap:var(--space-2,.5rem);width:100%;height:100%;padding:0 var(--space-2,.5rem);display:inline-flex}.action-row-btn-icon{width:24px;min-width:24px;height:24px;min-height:24px;transition:transform .2s var(--cocovox-ease-signature,cubic-bezier(.4, 0, .2, 1));flex-shrink:0}.action-row-btn:hover:not(:disabled) .action-row-btn-icon{transform:scale(1.1)}.action-row-btn-label{font-size:var(--text-sm);font-weight:var(--font-medium);white-space:nowrap;opacity:1;max-width:150px;transition:opacity .15s cubic-bezier(.4,0,.2,1),max-width .2s cubic-bezier(.4,0,.2,1) .15s,margin .2s cubic-bezier(.4,0,.2,1) .15s;display:inline-block;overflow:hidden}.action-row-btn-label[data-collapsed=true]{opacity:0;max-width:0;margin-left:0;margin-right:0}@container action-row (width<=983px){.action-row-btn .action-row-btn-label{display:none!important}}@supports not (container-type:inline-size){@media (width<=1023px){.action-row-btn .action-row-btn-label{display:none!important}}}@container action-row (width>=728px){.action-row-btn.btn-primary:has(.action-row-btn-label:not([data-collapsed=true])),.action-row-btn.btn-active:has(.action-row-btn-label:not([data-collapsed=true])){transition:width .2s cubic-bezier(.4,0,.2,1) .15s;width:auto!important;min-width:fit-content!important}.action-row-btn.btn-primary .action-row-btn-label:not([data-collapsed=true]),.action-row-btn.btn-active .action-row-btn-label:not([data-collapsed=true]){display:inline-block!important}}@container action-row (width>=984px){.action-row-btn:has(.action-row-btn-label:not([data-collapsed=true])){transition:width .2s cubic-bezier(.4,0,.2,1) .15s;width:auto!important;min-width:fit-content!important}.action-row-btn:has(.action-row-btn-label:not([data-collapsed=true])) .action-row-btn-label{display:inline-block!important}}@supports not (container-type:inline-size){@media (width>=768px){.action-row-btn.btn-primary:has(.action-row-btn-label:not([data-collapsed=true])),.action-row-btn.btn-active:has(.action-row-btn-label:not([data-collapsed=true])){transition:width .2s cubic-bezier(.4,0,.2,1) .15s;width:auto!important;min-width:fit-content!important}.action-row-btn.btn-primary .action-row-btn-label:not([data-collapsed=true]),.action-row-btn.btn-active .action-row-btn-label:not([data-collapsed=true]){display:inline-block!important}}@media (width>=1024px){.action-row-btn:has(.action-row-btn-label:not([data-collapsed=true])){transition:width .2s cubic-bezier(.4,0,.2,1) .15s;width:auto!important;min-width:fit-content!important}.action-row-btn:has(.action-row-btn-label:not([data-collapsed=true])) .action-row-btn-label{display:inline-block!important}}}.action-row-btn.btn-primary{background:var(--color-primary-500);color:var(--color-white);border-color:var(--color-primary-500)}.action-row-btn.btn-primary:hover:not(:disabled){background:var(--color-primary-600);border-color:var(--color-primary-600);box-shadow:var(--shadow-md), 0 0 16px var(--color-primary-alpha-30)}.action-row-btn.btn-active{background:var(--color-primary-100);color:var(--color-primary-500);border-color:var(--color-primary-300)}:global(.dark) .action-row-btn.btn-active{background:var(--surface-primary);color:var(--surface-primary-hover);border-color:var(--color-primary-500)}.action-row-btn.btn-active:hover:not(:disabled){background:var(--surface-primary-hover);border-color:var(--color-primary-400)}:global(.dark) .action-row-btn.btn-active:hover:not(:disabled){background:var(--color-primary-800);border-color:var(--color-primary-600)}.action-row-btn.btn-success{background:linear-gradient(135deg, var(--color-success), var(--color-success-dark));color:var(--color-white);border-color:var(--color-success);box-shadow:var(--shadow-md), 0 0 20px var(--color-success-alpha-20)}.action-row-btn.btn-success:hover:not(:disabled){box-shadow:var(--shadow-lg), 0 0 30px var(--color-success-alpha-30)}.action-row-btn.btn-loading{pointer-events:none;position:relative}.action-row-btn.btn-loading .action-row-btn-icon{animation:1s linear infinite spin}.action-row-btn.course-selector:hover:not(:disabled){background:var(--color-surface-hover);border-color:var(--border-color-default);box-shadow:var(--shadow-md)}.action-row-btn-badge{min-width:20px;min-height:20px;padding:0 var(--space-1-5,.375rem);background:linear-gradient(135deg, var(--color-primary-500) 0%, var(--color-primary-600) 100%);color:var(--color-white);border:2px solid var(--color-surface);border-radius:var(--shape-badge);font-size:var(--text-xs);font-weight:var(--font-semibold);box-shadow:var(--shadow-sm);z-index:10;transition:transform .2s var(--cocovox-ease-signature,cubic-bezier(.4, 0, .2, 1));justify-content:center;align-items:center;line-height:1;display:inline-flex;position:absolute;top:-6px;right:-6px}.action-row-btn:hover:not(:disabled) .action-row-btn-badge{transform:scale(1.1)}:global(.dark) .action-row-btn-badge{border-color:var(--color-neutral-200)}.schedule-indicator{background:linear-gradient(135deg, var(--color-info-500,var(--color-primary-500)) 0%, var(--color-info-600,var(--color-primary-600)) 100%);width:18px;height:18px;color:var(--color-white);border:2px solid var(--color-surface);border-radius:var(--radius-full,50%);box-shadow:var(--shadow-sm);z-index:11;transition:transform .2s var(--cocovox-ease-signature,cubic-bezier(.4, 0, .2, 1)), opacity .2s var(--cocovox-ease-signature);justify-content:center;align-items:center;animation:2s ease-in-out 3 schedule-pulse;display:inline-flex;position:absolute;top:-4px;left:-4px}@keyframes schedule-pulse{0%,to{box-shadow:var(--shadow-sm)}50%{box-shadow:0 0 8px 2px var(--color-info-400)}}.action-row-btn:hover:not(:disabled) .schedule-indicator{transform:scale(1.1)}:global(.dark) .schedule-indicator{border-color:var(--color-neutral-200)}@container action-row (width<=600px){.action-row-btn-label{display:none}}@supports not (container-type:inline-size){@media (width<=640px){.action-row-btn-label{display:none}}}@media (hover:none) and (pointer:coarse){.action-row-btn{min-width:48px;min-height:48px}.action-row-btn:active:not(:disabled){transition-duration:var(--duration-fastest,.1s);transform:scale(.95)}}@media (prefers-contrast:more){.action-row-btn{font-weight:var(--font-semibold);border-width:2px}.action-row-btn.btn-primary,.action-row-btn.btn-active,.action-row-btn.btn-success{box-shadow:0 0 0 1px}}@media (prefers-reduced-motion:reduce){.action-row-btn,.action-row-btn-icon,.action-row-btn-badge,.action-row-btn-label{transition:none!important;animation:none!important}.action-row-btn:hover:not(:disabled),.action-row-btn:active:not(:disabled){transform:none!important}.action-row-btn-label[data-collapsed=true]{display:none}}.unified-action-row{justify-content:flex-start;align-items:center;gap:var(--space-2,.5rem);flex-wrap:nowrap;width:100%;min-height:48px;display:flex;container:action-row/inline-size}@container action-row (width<=984px){.unified-action-row{gap:var(--space-2,.5rem)}}@container action-row (width<=600px){.unified-action-row{gap:var(--space-1,.25rem);justify-content:space-between}}@supports not (container-type:inline-size){@media (width<=1024px){.unified-action-row{gap:var(--space-2,.5rem)}}@media (width<=640px){.unified-action-row{gap:var(--space-1,.25rem);justify-content:space-between}}}.action-row-btn[data-tooltip]:after{content:attr(data-tooltip);padding:var(--space-2,.5rem) var(--space-3,.75rem);background:var(--color-surface);border:1px solid var(--border-color-default);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);font-size:var(--text-xs);color:var(--color-text-primary);white-space:normal;text-align:center;opacity:0;pointer-events:none;z-index:1000;max-width:200px;line-height:1.4;transition:opacity .2s,transform .2s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)translateY(4px)}.action-row-btn[data-tooltip]:hover:after{opacity:1;transition-delay:.3s,0s;transform:translate(-50%)translateY(0)}.action-row-btn[data-tooltip]:not(:hover):after{transition-delay:.5s,0s}@media (hover:none){.action-row-btn[data-tooltip]:after{display:none}}@keyframes math-input-slide-in{0%{opacity:0;transform:translate(-16px)scale(.9)}60%{opacity:1;transform:translate(4px)scale(1.02)}to{opacity:1;transform:translate(0)scale(1)}}.math-input-wrapper{justify-content:center;align-items:center;display:inline-flex}.math-input-animate-in{animation:math-input-slide-in .35s var(--cocovox-ease-signature,cubic-bezier(.16, 1, .3, 1)) forwards;will-change:transform, opacity}@media (prefers-reduced-motion:reduce){.math-input-animate-in{opacity:1;animation:none;transform:none}}@keyframes action-row-stagger-in{0%{opacity:0;transform:translateY(8px)scale(.95)}60%{opacity:1;transform:translateY(-2px)scale(1.02)}to{opacity:1;transform:translateY(0)scale(1)}}@supports sibling-index(){.action-row-stagger-parent .action-row-stagger-item{animation:action-row-stagger-in .25s var(--cocovox-ease-signature,cubic-bezier(.16, 1, .3, 1)) both;animation-delay:calc(sibling-index() * 50ms + .1s)}}@supports not sibling-index(){.action-row-stagger-parent .action-row-stagger-item{animation:action-row-stagger-in .25s var(--cocovox-ease-signature,cubic-bezier(.16, 1, .3, 1)) both;animation-delay:calc(var(--stagger-index,0) * 50ms + .1s)}}@media (prefers-reduced-motion:reduce){.action-row-stagger-parent .action-row-stagger-item{opacity:1;animation:none;transform:none}.action-row-btn:focus-visible{transition:none;transform:none}}@media (hover:none) and (pointer:coarse){.action-row-btn:active:not(:disabled){transition-duration:80ms}}}:where(:root){--color-white:#fff;--color-black:#000;--color-transparent:transparent;--color-current:currentColor;--color-inherit:inherit;--color-neutral-50:var(--theme-neutral-50,#fff);--color-neutral-100:var(--theme-neutral-100,#f5f5f5);--color-neutral-200:var(--theme-neutral-200,#ebebeb);--color-neutral-300:var(--theme-neutral-300,#ccc);--color-neutral-400:var(--theme-neutral-400,#b3b3b3);--color-neutral-500:var(--theme-neutral-500,#999);--color-neutral-600:var(--theme-neutral-600,#666);--color-neutral-700:var(--theme-neutral-700,#4d4d4d);--color-neutral-800:var(--theme-neutral-800,#333);--color-neutral-850:var(--theme-neutral-850,#262626);--color-neutral-900:var(--theme-neutral-900,#171717);--color-neutral-950:var(--theme-neutral-950,#0d0d0d);--color-gray-50:var(--color-neutral-50);--color-gray-100:var(--color-neutral-100);--color-gray-200:var(--color-neutral-200);--color-gray-300:var(--color-neutral-300);--color-gray-400:var(--color-neutral-400);--color-gray-500:var(--color-neutral-500);--color-gray-600:var(--color-neutral-600);--color-gray-700:var(--color-neutral-700);--color-gray-800:var(--color-neutral-800);--color-gray-850:var(--color-neutral-850);--color-gray-900:var(--color-neutral-900);--color-gray-950:var(--color-neutral-950);--color-red-50:var(--theme-red-50,#fef2f2);--color-red-100:var(--theme-red-100,#fee2e2);--color-red-200:var(--theme-red-200,#fecaca);--color-red-300:var(--theme-red-300,#fca5a5);--color-red-400:var(--theme-red-400,#f87171);--color-red-500:var(--theme-red-500,#ef4444);--color-red-600:var(--theme-red-600,#dc2626);--color-red-700:var(--theme-red-700,#b91c1c);--color-red-800:var(--theme-red-800,#991b1b);--color-red-900:var(--theme-red-900,#7f1d1d);--color-green-50:var(--theme-green-50,#f0fdf4);--color-green-100:var(--theme-green-100,#dcfce7);--color-green-200:var(--theme-green-200,#bbf7d0);--color-green-300:var(--theme-green-300,#86efac);--color-green-400:var(--theme-green-400,#4ade80);--color-green-500:var(--theme-green-500,#22c55e);--color-green-600:var(--theme-green-600,#16a34a);--color-green-700:var(--theme-green-700,#15803d);--color-green-800:var(--theme-green-800,#166534);--color-green-900:var(--theme-green-900,#14532d);--color-yellow-50:var(--theme-yellow-50,#fefce8);--color-yellow-100:var(--theme-yellow-100,#fef9c3);--color-yellow-200:var(--theme-yellow-200,#fef08a);--color-yellow-300:var(--theme-yellow-300,#fde047);--color-yellow-400:var(--theme-yellow-400,#facc15);--color-yellow-500:var(--theme-yellow-500,#eab308);--color-yellow-600:var(--theme-yellow-600,#ca8a04);--color-yellow-700:var(--theme-yellow-700,#a16207);--color-yellow-800:var(--theme-yellow-800,#854d0e);--color-yellow-900:var(--theme-yellow-900,#713f12);--radius-sm:.125rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--radius-full:9999px;--color-blue-50:var(--theme-blue-50,#eff6ff);--color-blue-100:var(--theme-blue-100,#dbeafe);--color-blue-200:var(--theme-blue-200,#bfdbfe);--color-blue-300:var(--theme-blue-300,#93c5fd);--color-blue-400:var(--theme-blue-400,#60a5fa);--color-blue-500:var(--theme-blue-500,#3b82f6);--color-blue-600:var(--theme-blue-600,#2563eb);--color-blue-700:var(--theme-blue-700,#1d4ed8);--color-blue-800:var(--theme-blue-800,#1e40af);--color-blue-900:var(--theme-blue-900,#1e3a8a);--color-blue-950:var(--theme-blue-950,#172554);--color-primary-50:var(--theme-primary-50,#eff6ff);--color-primary-100:var(--theme-primary-100,#dbeafe);--color-primary-200:var(--theme-primary-200,#bfdbfe);--color-primary-300:var(--theme-primary-300,#93c5fd);--color-primary-400:var(--theme-primary-400,#60a5fa);--color-primary-500:var(--theme-primary-500,#3b82f6);--color-primary-600:var(--theme-primary-600,#2563eb);--color-primary-700:var(--theme-primary-700,#1d4ed8);--color-primary-800:var(--theme-primary-800,#1e40af);--color-primary-900:var(--theme-primary-900,#1e3a8a);--color-secondary-50:var(--theme-secondary-50,#f8fafc);--color-secondary-100:var(--theme-secondary-100,#f1f5f9);--color-secondary-200:var(--theme-secondary-200,#e2e8f0);--color-secondary-300:var(--theme-secondary-300,#cbd5e1);--color-secondary-400:var(--theme-secondary-400,#94a3b8);--color-secondary-500:var(--theme-secondary-500,#64748b);--color-secondary-600:var(--theme-secondary-600,#475569);--color-secondary-700:var(--theme-secondary-700,#334155);--color-secondary-800:var(--theme-secondary-800,#1e293b);--color-secondary-900:var(--theme-secondary-900,#0f172a);--color-accent-50:var(--theme-accent-50,#ecfdf5);--color-accent-100:var(--theme-accent-100,#d1fae5);--color-accent-200:var(--theme-accent-200,#a7f3d0);--color-accent-300:var(--theme-accent-300,#6ee7b7);--color-accent-400:var(--theme-accent-400,#34d399);--color-accent-500:var(--theme-accent-500,#10b981);--color-accent-600:var(--theme-accent-600,#059669);--color-accent-700:var(--theme-accent-700,#047857);--color-accent-800:var(--theme-accent-800,#065f46);--color-accent-900:var(--theme-accent-900,#064e3b);--color-primary-hover:var(--theme-primary-hover,color-mix(in oklch, var(--color-primary-500) 90%, var(--color-primary-600)));--color-primary-active:var(--theme-primary-active,var(--color-primary-500));--color-primary-focus:var(--theme-primary-focus,color-mix(in oklch, var(--color-primary-500) 50%, transparent));--color-primary-disabled:var(--theme-primary-disabled,color-mix(in oklch, var(--color-primary-500) 60%, var(--color-neutral-400)));--color-secondary-hover:var(--theme-secondary-hover,color-mix(in oklch, var(--color-secondary-500) 90%, var(--color-secondary-600)));--color-secondary-active:var(--theme-secondary-active,var(--color-secondary-700));--color-secondary-focus:var(--theme-secondary-focus,color-mix(in oklch, var(--color-secondary-500) 50%, transparent));--color-secondary-disabled:var(--theme-secondary-disabled,color-mix(in oklch, var(--color-secondary-500) 60%, var(--color-neutral-400)));--color-accent-hover:var(--theme-accent-hover,color-mix(in oklch, var(--color-accent-500) 90%, var(--color-accent-600)));--color-accent-active:var(--theme-accent-active,var(--color-accent-700));--color-accent-focus:var(--theme-accent-focus,color-mix(in oklch, var(--color-accent-500) 50%, transparent));--color-accent-disabled:var(--theme-accent-disabled,color-mix(in oklch, var(--color-accent-500) 60%, var(--color-neutral-400)));--color-text-on-primary:var(--theme-text-on-primary,#fff);--color-text-on-secondary:var(--theme-text-on-secondary,#fff);--color-text-on-accent:var(--theme-text-on-accent,#fff);--color-status-success:var(--theme-status-success,#10b981);--color-status-error:var(--theme-status-error,#ef4444);--color-status-warning:var(--theme-status-warning,#f59e0b);--color-status-info:var(--theme-status-info,#3b82f6);--color-background:var(--theme-background,var(--color-neutral-50));--color-surface:var(--theme-surface,var(--color-neutral-100));--color-surface-raised:var(--theme-surface-raised,var(--color-neutral-50));--color-surface-sunken:var(--theme-surface-sunken,var(--color-neutral-200));--color-surface-code:var(--theme-surface-code,var(--color-neutral-100));--color-surface-code-block:var(--theme-surface-code-block,var(--color-neutral-900));--color-text:var(--theme-text,var(--color-neutral-900));--color-text-code:var(--theme-text-code,var(--color-neutral-100));--color-text-code-block:var(--theme-text-code-block,var(--color-neutral-100));--color-text-secondary:var(--theme-text-secondary,var(--color-neutral-600));--color-text-tertiary:var(--theme-text-tertiary,var(--color-neutral-600));--color-text-disabled:var(--theme-text-disabled,var(--color-neutral-400));--color-border:var(--theme-border,var(--color-neutral-200));--color-border-light:var(--theme-border-light,var(--color-neutral-100));--theme-surface-tertiary:var(--color-surface-sunken);--theme-border-color:var(--color-border);--theme-border-light:var(--color-border-light);--theme-text-primary:var(--color-text);--theme-text-secondary:var(--color-text-secondary);--theme-color-primary-light:var(--color-primary-100);--theme-success:var(--color-success-500,var(--color-success,#10b981));--theme-warning:var(--color-warning-500,var(--color-warning,#f59e0b));--theme-error:var(--color-error,#dc2626);--theme-primary-hover:var(--theme-primary-hover-override,color-mix(in oklch, var(--color-primary-500) 90%, var(--color-primary-600)));--color-primary-alpha-8:color-mix(in srgb, var(--color-primary-500) 8%, transparent);--mindmap-opacity-dimmed:.35;--mindmap-opacity-node-dimmed:.35;--border-radius-none:0px;--border-radius-sm:.125rem;--border-radius:.25rem;--border-radius-md:.375rem;--border-radius-lg:.5rem;--border-radius-xl:.75rem;--border-radius-2xl:1rem;--border-radius-3xl:1.5rem;--border-radius-full:9999px;--border-radius-button:var(--theme-radius-button,var(--border-radius-lg));--border-radius-card:var(--theme-radius-card,var(--border-radius-xl));--border-radius-input:var(--theme-radius-input,var(--border-radius-lg));--border-radius-dropdown:var(--theme-radius-dropdown,var(--border-radius-lg));--border-radius-modal:var(--theme-radius-modal,var(--border-radius-2xl));--transition-duration-fast:.15s;--transition-duration-normal:.2s;--transition-duration-slow:.3s;--transition-timing-ease:ease-in-out;--transition-timing-bounce:cubic-bezier(.34, 1.56, .64, 1);--shadow-sm:var(--theme-shadow-sm,0 1px 2px 0 #0000000d);--shadow-md:var(--theme-shadow-md,0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a);--shadow-lg:var(--theme-shadow-lg,0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a);--shadow-xl:var(--theme-shadow-xl,0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a);--shadow-2xl:var(--theme-shadow-2xl,0 25px 50px -12px #00000040);--shadow-inner:var(--theme-shadow-inner,inset 0 2px 4px 0 #0000000d);--shadow-card:var(--theme-shadow-card,var(--shadow-md));--shadow-button:var(--theme-shadow-button,var(--shadow-sm));--shadow-dropdown:var(--theme-shadow-dropdown,var(--shadow-lg));--shadow-modal:var(--theme-shadow-modal,var(--shadow-2xl));--shadow-popover:var(--theme-shadow-popover,var(--shadow-lg));--shadow-tooltip:var(--theme-shadow-tooltip,var(--shadow-md));--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--transition-colors:color .2s ease, background-color .2s ease, border-color .2s ease;--transition-transform:transform .2s ease;--transition-opacity:opacity .2s ease;--transition-all:all .2s ease;--focus-ring-color:var(--color-primary-600);--focus-ring-offset:2px;--focus-ring-width:2px;--focus-ring-shadow:0 0 0 var(--focus-ring-width) var(--focus-ring-color);--font-family-base:var(--theme-font-base,-apple-system, BlinkMacSystemFont, "Inter", ui-sans-serif, system-ui, "Segoe UI", Roboto);--font-family-heading:var(--theme-font-heading,var(--font-family-base));--font-family-code:var(--theme-font-code,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace);--font-family-dyslexic:var(--theme-font-dyslexic,"OpenDyslexic", "Comic Sans MS", cursive);--backdrop-blur:var(--theme-backdrop-blur,8px);--modern-backdrop-blur:var(--theme-modern-backdrop-blur,15px);--gradient-primary:var(--theme-gradient-primary,linear-gradient(135deg, var(--color-primary-500), var(--color-primary-600)));--gradient-secondary:var(--theme-gradient-secondary,linear-gradient(135deg, var(--color-secondary-500), var(--color-secondary-600)));--gradient-accent:var(--theme-gradient-accent,linear-gradient(135deg, var(--color-accent-500), var(--color-accent-600)));--gradient-primary-to-accent:var(--theme-gradient-primary-to-accent,linear-gradient(135deg, var(--color-primary-500), var(--color-accent-500)));--gradient-avatar-default:var(--theme-gradient-avatar,linear-gradient(135deg, var(--color-accent-300), var(--surface-primary-hover)));--breakpoint-3xl:1920px;--size-0:0px;--size-px:1px;--size-0-5:.125rem;--size-1:.25rem;--size-1-5:20%;--size-2:.5rem;--size-2-5:40%;--size-3:.75rem;--size-3-5:60%;--size-4:1rem;--size-5:1.25rem;--size-6:1.5rem;--size-7:1.75rem;--size-8:2rem;--size-9:2.25rem;--size-10:2.5rem;--size-11:2.75rem;--size-12:3rem;--size-14:3.5rem;--size-16:4rem;--size-20:5rem;--size-24:6rem;--size-28:7rem;--size-32:8rem;--size-36:9rem;--size-40:10rem;--size-44:11rem;--size-48:12rem;--size-52:13rem;--size-56:14rem;--size-60:15rem;--size-64:16rem;--size-72:18rem;--size-80:20rem;--size-96:24rem;--size-auto:auto;--size-full:100%;--size-screen:100vw;--size-svw:100svw;--size-lvw:100lvw;--size-dvw:100dvw;--size-min:min-content;--size-max:max-content;--size-fit:fit-content;--size-1-2:50%;--size-1-3:33.3333%;--size-2-3:66.6667%;--size-1-4:25%;--size-2-4:50%;--size-3-4:75%;--size-4-5:80%;--size-1-6:16.6667%;--size-2-6:33.3333%;--size-3-6:50%;--size-4-6:66.6667%;--size-5-6:83.3333%;--size-1-12:8.33333%;--size-2-12:16.6667%;--size-3-12:25%;--size-4-12:33.3333%;--size-5-12:41.6667%;--size-6-12:50%;--size-7-12:58.3333%;--size-8-12:66.6667%;--size-9-12:75%;--size-10-12:83.3333%;--size-11-12:91.6667%}.bg-white{background-color:var(--color-white)}.bg-black{background-color:var(--color-black)}.bg-gray-400{background-color:var(--color-gray-400)}.bg-gray-500{background-color:var(--color-gray-500)}.bg-gray-600{background-color:var(--color-gray-600)}.bg-surface-hover{background-color:var(--color-surface-raised)}.bg-surface-code{background-color:var(--color-surface-code)}.bg-surface-code-block{background-color:var(--color-surface-code-block)}.hover\:bg-surface-hover:hover{background-color:var(--color-surface-raised)}.hover\:bg-surface:hover{background-color:var(--color-surface)}.text-disabled{color:var(--color-text-disabled)}.border-neutral-light{border-color:var(--color-border-light)}.bg-status-success{background-color:var(--color-status-success)}.bg-status-error{background-color:var(--color-status-error)}.bg-status-warning{background-color:var(--color-status-warning)}.bg-status-info{background-color:var(--color-status-info)}.text-status-success{color:var(--color-status-success)}.text-status-error{color:var(--color-status-error)}.text-status-warning{color:var(--color-status-warning)}.text-status-info{color:var(--color-status-info)}.bg-primary-500{background-color:var(--color-primary-500)}.bg-primary-600{background-color:var(--color-primary-600)}.bg-primary-700{background-color:var(--color-primary-500)}.hover\:bg-primary-600:hover{background-color:var(--color-primary-600)}.hover\:bg-primary-700:hover{background-color:var(--color-primary-500)}.bg-gray-700{background-color:var(--color-neutral-700)}.bg-gray-800{background-color:var(--color-neutral-800)}.bg-gray-850{background-color:var(--color-neutral-850)}.bg-gray-900{background-color:var(--color-neutral-900)}.hover\:bg-gray-50:hover{background-color:var(--color-surface-raised)}.hover\:bg-gray-100:hover{background-color:var(--color-surface)}.hover\:bg-gray-200:hover{background-color:var(--color-neutral-200)}.hover\:bg-gray-700:hover{background-color:var(--color-neutral-700)}.hover\:bg-gray-800:hover{background-color:var(--color-neutral-800)}.hover\:bg-gray-850:hover{background-color:var(--color-neutral-850)}.border-gray-100{border-color:var(--color-neutral-100)}.border-gray-200{border-color:var(--color-border)}.border-gray-600{border-color:var(--color-neutral-600)}.border-gray-700{border-color:var(--color-neutral-700)}.border-gray-800{border-color:var(--color-neutral-800)}.border-gray-850{border-color:var(--color-neutral-850)}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-blue-700{background-color:var(--color-blue-700)}.bg-blue-800{background-color:var(--color-blue-800)}.hover\:bg-blue-600:hover{background-color:var(--color-blue-600)}.text-blue-300{color:var(--color-blue-300)}.text-blue-400{color:var(--color-blue-400)}.text-blue-500{color:var(--color-blue-500)}.text-blue-600{color:var(--color-blue-600)}.text-blue-700{color:var(--color-blue-700)}.text-blue-900{color:var(--color-blue-900)}.border-blue-300{border-color:var(--color-blue-300)}.border-blue-500{border-color:var(--color-blue-500)}.border-blue-600{border-color:var(--color-blue-600)}.bg-red-100{background-color:var(--color-red-100)}.bg-red-500{background-color:var(--color-red-500)}.bg-red-600{background-color:var(--color-red-600)}.bg-red-700{background-color:var(--color-red-700)}.bg-red-800{background-color:var(--color-red-800)}.hover\:bg-red-200:hover{background-color:var(--color-red-200)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-red-700{color:var(--color-red-700)}.bg-green-100{background-color:var(--color-green-100)}.bg-green-500{background-color:var(--color-green-500)}.bg-green-600{background-color:var(--color-green-600)}.bg-green-800{background-color:var(--color-green-800)}.text-green-500{color:var(--color-green-500)}.text-green-600{color:var(--color-green-600)}.border-green-300{border-color:var(--color-green-300)}.bg-yellow-100{background-color:var(--color-yellow-100)}.bg-yellow-500{background-color:var(--color-yellow-500)}.bg-yellow-600{background-color:var(--color-yellow-600)}.text-yellow-500{color:var(--color-yellow-500)}.text-yellow-600{color:var(--color-yellow-600)}.bg-purple-100{background-color:#f3e8ff}.bg-purple-800{background-color:#6b21a8}.dark\:bg-gray-700{background-color:var(--color-neutral-700)}.dark\:bg-gray-800{background-color:var(--color-neutral-800)}.dark\:bg-gray-850{background-color:var(--color-neutral-850)}.dark\:bg-gray-900{background-color:var(--color-neutral-900)}.dark\:hover\:bg-gray-600:hover{background-color:var(--color-neutral-600)}.dark\:hover\:bg-gray-700:hover{background-color:var(--color-neutral-700)}.dark\:hover\:bg-gray-800:hover{background-color:var(--color-neutral-800)}.dark\:hover\:bg-gray-850:hover{background-color:var(--color-neutral-850)}.dark\:text-gray-200{color:var(--color-neutral-200)}.dark\:text-gray-300{color:var(--color-neutral-300)}.dark\:text-gray-400{color:var(--color-neutral-400)}.dark\:text-gray-500{color:var(--color-neutral-500)}.dark\:text-white{color:#fff}.dark\:border-gray-600{border-color:var(--color-neutral-600)}.dark\:border-gray-700{border-color:var(--color-neutral-700)}.dark\:border-gray-800{border-color:var(--color-neutral-800)}.dark\:border-gray-850{border-color:var(--color-neutral-850)}.dark\:bg-blue-400{background-color:var(--color-blue-400)}.dark\:bg-blue-800{background-color:var(--color-blue-800)}.dark\:bg-blue-900\/20{background-color:#1e3a8a33}.dark\:text-blue-400{color:var(--color-blue-400)}.dark\:bg-red-800{background-color:var(--color-red-800)}.dark\:bg-green-800{background-color:var(--color-green-800)}.focus\:ring-blue-300:focus{box-shadow:0 0 0 3px var(--color-blue-300)}.focus\:ring-blue-500:focus{box-shadow:0 0 0 3px var(--color-blue-500)}.focus\:ring-blue-800:focus{box-shadow:0 0 0 3px var(--color-blue-800)}.focus\:ring-primary:focus{box-shadow:0 0 0 3px var(--color-primary-500)}.focus\:ring-2:focus{box-shadow:0 0 0 2px}.focus\:ring-4:focus{box-shadow:0 0 0 4px}.peer:focus~.peer-focus\:ring-blue-300{box-shadow:0 0 0 4px var(--color-blue-300)}.peer:focus~.peer-focus\:ring-blue-800,.dark .peer:focus~.dark\:peer-focus\:ring-blue-800{box-shadow:0 0 0 4px var(--color-blue-800)}.focus\:border-transparent:focus{border-color:#0000}.focus\:border-blue-500:focus{border-color:var(--color-blue-500)}.focus\:border-primary:focus{border-color:var(--color-primary-500)}.outline-gray-100{outline-color:var(--color-neutral-100)}.outline-gray-200{outline-color:var(--color-neutral-200)}.outline-gray-300{outline-color:var(--color-neutral-300)}.outline-gray-600{outline-color:var(--color-neutral-600)}.outline-gray-700{outline-color:var(--color-neutral-700)}.outline-gray-800{outline-color:var(--color-neutral-800)}.outline-red-300{outline-color:var(--color-red-300)}.outline-red-800{outline-color:var(--color-red-800)}.outline-1{outline-width:1px;outline-style:solid}.outline{outline-width:2px;outline-style:solid}.dark\:outline-gray-600{outline-color:var(--color-neutral-600)}.dark\:outline-gray-700{outline-color:var(--color-neutral-700)}.dark\:outline-gray-800{outline-color:var(--color-neutral-800)}.dark\:outline-red-800{outline-color:var(--color-red-800)}.divide-y>*+*{border-top-style:solid;border-top-width:1px}.divide-gray-200>*+*{border-color:var(--color-neutral-200)}.divide-gray-700>*+*,.dark\:divide-gray-700>*+*{border-color:var(--color-neutral-700)}.peer:checked~.peer-checked\:bg-blue-600{background-color:var(--color-blue-600)}.peer:checked~.peer-checked\:after\:translate-x-full:after{transform:translate(100%)}.peer:checked~.peer-checked\:after\:border-white:after{border-color:var(--color-white)}.group:hover .group-hover\:text-gray-600{color:var(--color-neutral-600)}.group:hover .group-hover\:text-gray-700{color:var(--color-neutral-700)}.group:hover .group-hover\:text-blue-600{color:var(--color-blue-600)}.group:hover .group-hover\:text-blue-400{color:var(--color-blue-400)}.dark .group:hover .dark\:group-hover\:text-white{color:var(--color-white)}.dark .group:hover .dark\:group-hover\:text-gray-300{color:var(--color-neutral-300)}.dark .group:hover .dark\:group-hover\:text-blue-400{color:var(--color-blue-400)}.shadow-blue-500\/25{box-shadow:0 10px 15px -3px #3b82f640}.shadow-blue-500\/30{box-shadow:0 10px 15px -3px #3b82f64d}.hover\:shadow-blue-500\/30:hover{box-shadow:0 20px 25px -5px #3b82f64d}.ring-2{box-shadow:0 0 0 2px}.ring-blue-400{box-shadow:0 0 0 2px var(--color-blue-400)}.ring-blue-500{box-shadow:0 0 0 2px var(--color-blue-500)}.hover\:ring-2:hover{box-shadow:0 0 0 2px}.hover\:ring-blue-400:hover{box-shadow:0 0 0 2px var(--color-blue-400)}.hover\:ring-blue-500:hover,.dark\:hover\:ring-blue-500:hover{box-shadow:0 0 0 2px var(--color-blue-500)}.stroke-current{stroke:currentColor}.stroke-gray-400{stroke:var(--color-neutral-400)}.stroke-gray-500{stroke:var(--color-neutral-500)}.fill-current{fill:currentColor}.fill-gray-400{fill:var(--color-neutral-400)}.fill-gray-500{fill:var(--color-neutral-500)}.from-gray-50{--tw-gradient-from:var(--color-neutral-50);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to,transparent)}.from-gray-100{--tw-gradient-from:var(--color-neutral-100);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to,transparent)}.from-gray-200{--tw-gradient-from:var(--color-neutral-200);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to,transparent)}.from-gray-800{--tw-gradient-from:var(--color-neutral-800);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to,transparent)}.from-gray-900{--tw-gradient-from:var(--color-neutral-900);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to,transparent)}.to-gray-100{--tw-gradient-to:var(--color-neutral-100)}.to-gray-200{--tw-gradient-to:var(--color-neutral-200)}.to-gray-700{--tw-gradient-to:var(--color-neutral-700)}.via-gray-100{--tw-gradient-stops:var(--tw-gradient-from), var(--color-neutral-100), var(--tw-gradient-to,transparent)}.via-gray-600{--tw-gradient-stops:var(--tw-gradient-from), var(--color-neutral-600), var(--tw-gradient-to,transparent)}.from-blue-50{--tw-gradient-from:var(--color-blue-50);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to,transparent)}.from-blue-100{--tw-gradient-from:var(--color-blue-100);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to,transparent)}.from-blue-500{--tw-gradient-from:var(--color-blue-500);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to,transparent)}.from-blue-600{--tw-gradient-from:var(--color-blue-600);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to,transparent)}.from-blue-700{--tw-gradient-from:var(--color-blue-700);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to,transparent)}.from-blue-900{--tw-gradient-from:var(--color-blue-900);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to,transparent)}.to-blue-50{--tw-gradient-to:var(--color-blue-50)}.to-blue-600{--tw-gradient-to:var(--color-blue-600)}.to-blue-700{--tw-gradient-to:var(--color-blue-700)}.to-blue-800{--tw-gradient-to:var(--color-blue-800)}.from-purple-50{--tw-gradient-from:#f3e8ff;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to,transparent)}.from-purple-600{--tw-gradient-from:#9333ea;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to,transparent)}.from-purple-900\/20{--tw-gradient-from:#581c8733;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to,transparent)}.to-purple-600{--tw-gradient-to:#9333ea}.to-indigo-50{--tw-gradient-to:#eef2ff}.to-indigo-900\/10{--tw-gradient-to:#312e811a}.from-red-600{--tw-gradient-from:var(--color-red-600);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to,transparent)}.from-red-700{--tw-gradient-from:var(--color-red-700);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to,transparent)}.to-red-700{--tw-gradient-to:var(--color-red-700)}.to-red-800{--tw-gradient-to:var(--color-red-800)}.from-pink-400{--tw-gradient-from:#f472b6;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to,transparent)}.from-pink-600{--tw-gradient-from:#db2777;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to,transparent)}.to-orange-300{--tw-gradient-to:#fdba74}.to-orange-500{--tw-gradient-to:#f97316}.to-violet-100{--tw-gradient-to:#ddd6fe}.to-violet-900{--tw-gradient-to:#4c1d95}.from-indigo-300{--tw-gradient-from:#a5b4fc;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to,transparent)}.from-indigo-900{--tw-gradient-from:#312e81;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to,transparent)}.to-purple-300{--tw-gradient-to:#c084fc}.to-purple-900{--tw-gradient-to:#581c87}.dark\:from-gray-700{--tw-gradient-from:var(--color-neutral-700);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to,transparent)}.dark\:from-gray-800{--tw-gradient-from:var(--color-neutral-800);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to,transparent)}.dark\:from-gray-800\/40{--tw-gradient-from:#1f293766;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to,transparent)}.dark\:from-gray-900{--tw-gradient-from:var(--color-neutral-900);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to,transparent)}.dark\:to-gray-700{--tw-gradient-to:var(--color-neutral-700)}.dark\:to-gray-800\/20{--tw-gradient-to:#1f293733}.dark\:via-gray-600{--tw-gradient-stops:var(--tw-gradient-from), var(--color-neutral-600), var(--tw-gradient-to,transparent)}.dark\:via-gray-700{--tw-gradient-stops:var(--tw-gradient-from), var(--color-neutral-700), var(--tw-gradient-to,transparent)}.dark\:from-blue-500{--tw-gradient-from:var(--color-blue-500);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to,transparent)}.dark\:from-blue-600{--tw-gradient-from:var(--color-blue-600);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to,transparent)}.dark\:from-blue-900{--tw-gradient-from:var(--color-blue-900);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to,transparent)}.dark\:from-blue-900\/20{--tw-gradient-from:#1e3a8a33;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to,transparent)}.dark\:to-blue-600{--tw-gradient-to:var(--color-blue-600)}.dark\:to-blue-700{--tw-gradient-to:var(--color-blue-700)}.dark\:to-blue-900\/20{--tw-gradient-to:#1e3a8a33}.dark\:from-red-500{--tw-gradient-from:var(--color-red-500);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to,transparent)}.dark\:from-red-600{--tw-gradient-from:var(--color-red-600);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to,transparent)}.dark\:to-red-600{--tw-gradient-to:var(--color-red-600)}.dark\:to-red-700{--tw-gradient-to:var(--color-red-700)}.dark\:from-purple-900\/20{--tw-gradient-from:#581c8733;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to,transparent)}.dark\:to-indigo-900\/10{--tw-gradient-to:#312e811a}.dark\:from-pink-600{--tw-gradient-from:#db2777;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to,transparent)}.dark\:to-orange-500{--tw-gradient-to:#f97316}.dark\:from-indigo-900{--tw-gradient-from:#312e81;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to,transparent)}.dark\:to-purple-900{--tw-gradient-to:#581c87}.dark\:to-violet-900{--tw-gradient-to:#4c1d95}.bg-gradient-to-r{background-image:linear-gradient(to right, var(--tw-gradient-stops))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right, var(--tw-gradient-stops))}.placeholder-gray-400::placeholder{color:var(--color-neutral-400)}.placeholder-gray-500::placeholder{color:var(--color-neutral-500)}.placeholder-neutral-400::placeholder{color:var(--color-neutral-400)}.placeholder-neutral-500::placeholder{color:var(--color-neutral-500)}.bg-black\/60{background-color:#0009}.bg-black\/50{background-color:#00000080}.bg-black\/5{background-color:#0000000d}.bg-white\/10{background-color:#ffffff1a}.bg-white\/5{background-color:#ffffff0d}.bg-surface-overlay{background-color:var(--color-overlay,#0009)}.hover\:bg-black\/5:hover{background-color:#0000000d}.hover\:bg-white\/5:hover,.dark\:hover\:bg-white\/5:hover{background-color:#ffffff0d}.backdrop-blur-sm{backdrop-filter:blur(4px)}.backdrop-blur{backdrop-filter:blur(8px)}.backdrop-blur-lg{backdrop-filter:blur(16px)}.backdrop-blur-xl{backdrop-filter:blur(24px)}.backdrop-saturate-150{backdrop-filter:saturate(1.5)}.disabled\:text-gray-300:disabled{color:var(--color-neutral-300)}.disabled\:text-gray-500:disabled{color:var(--color-neutral-500)}.disabled\:text-gray-700:disabled,.dark\:disabled\:text-gray-700:disabled{color:var(--color-neutral-700)}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.scrollbar-hidden::-webkit-scrollbar{display:none}.scrollbar-hidden{scrollbar-width:none}:where(:root){--color-overlay:#0009;--color-overlay-light:#ffffff1a;--color-mastery-blue:var(--color-blue-500);--color-mastery-green:var(--color-green-500);--color-mastery-purple:#8b5cf6;--color-mastery-yellow:var(--color-yellow-500);--color-mastery-red:var(--color-red-500);--color-text-muted:#666;--color-text-gray:#6b7280;--color-accent-gray:#9ca3af}.reduced-motion{--transition-duration-normal:1ms;--transition-duration-fast:1ms;--transition-duration-slow:1ms}.reduced-motion *{transition-duration:1ms!important;animation-duration:1ms!important}.high-contrast,.high-contrast *{--surface-background:#fff;--surface-card:#fff;--surface-elevated:#fff;--surface-hover:#f0f0f0;--surface-interactive:#e8e8e8;--text-primary:#000;--text-secondary:#1a1a1a;--text-tertiary:#333;--text-inverse:#fff;--border-color-default:#000;--border-color-strong:#000;--border-color-muted:#666;--color-primary-500:#00f;--color-primary-600:#00c;--color-primary-700:#009;--color-primary-hover:#00c;--color-primary-active:#009;--color-success:#060;--color-success-600:#060;--color-warning:#960;--color-warning-600:#960;--color-error:#c00;--color-error-600:#c00;--color-neutral-50:#fff;--color-neutral-100:#f5f5f5;--color-neutral-200:#e0e0e0;--color-neutral-300:#ccc;--color-neutral-400:#999;--color-neutral-500:#666;--color-neutral-600:#4d4d4d;--color-neutral-700:#333;--color-neutral-800:#1a1a1a;--color-neutral-900:#000;--shadow-sm:0 1px 2px #00000080;--shadow-md:0 4px 6px #00000080;--shadow-lg:0 10px 15px #00000080;--shadow-xl:0 20px 25px #00000080;--focus-ring-color:#00f;--focus-ring-width:3px;--focus-ring-offset:2px}.dark.high-contrast,.dark .high-contrast,.dark.high-contrast *{--surface-background:#000;--surface-card:#000;--surface-elevated:#000;--surface-hover:#1a1a1a;--surface-interactive:#262626;--text-primary:#fff;--text-secondary:#f0f0f0;--text-tertiary:#ccc;--text-inverse:#000;--border-color-default:#fff;--border-color-strong:#fff;--border-color-muted:#999;--color-primary-500:#66b3ff;--color-primary-600:#4d9fff;--color-primary-700:#3385ff;--color-primary-hover:#4d9fff;--color-primary-active:#3385ff;--color-success:#0f0;--color-success-600:#0f0;--color-warning:#fc0;--color-warning-600:#fc0;--color-error:#f33;--color-error-600:#f33;--focus-ring-color:#66b3ff}.btn-base{border-radius:var(--border-radius-button);transition:background-color var(--transition-duration-normal) var(--transition-timing-ease), color var(--transition-duration-normal) var(--transition-timing-ease), border-color var(--transition-duration-normal) var(--transition-timing-ease), box-shadow var(--transition-duration-normal) var(--transition-timing-ease), opacity var(--transition-duration-normal) var(--transition-timing-ease), transform var(--transition-duration-normal) var(--transition-timing-ease);cursor:pointer;justify-content:center;align-items:center;padding:.5rem 1rem;font-size:1rem;font-weight:500;display:inline-flex}.btn-base:disabled{cursor:not-allowed;opacity:.6}.btn-base:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-hover)}.btn-primary:active:not(:disabled){background-color:var(--color-primary-active)}.btn-primary:disabled{background-color:var(--color-primary-disabled)}.card-base{background-color:var(--color-surface);border-radius:var(--border-radius-card);box-shadow:var(--shadow-card);transition:box-shadow var(--transition-duration-normal) var(--transition-timing-ease);overflow:hidden}.input-base{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius-input);color:var(--color-text);width:100%;transition:border-color var(--transition-duration-normal) var(--transition-timing-ease), box-shadow var(--transition-duration-normal) var(--transition-timing-ease);padding:.5rem .75rem;font-size:1rem}.input-base:focus{border-color:var(--color-primary-500);box-shadow:var(--focus-ring-shadow);outline:2px solid #0000}.input-base:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px}.input-base:disabled{background-color:var(--color-surface-sunken);color:var(--color-text-disabled);cursor:not-allowed}@supports (color:oklch(0.6 0.25 240)){html[data-supports-oklch-colors=true]{--color-primary-500:var(--theme-primary-oklch,oklch(60% .25 240));--color-accent-500:var(--theme-accent-oklch,oklch(70% .2 150));--color-secondary-500:var(--theme-secondary-oklch,oklch(65% .15 200))}.oklch-adaptive{color:oklch(from var(--color-primary-500) l c h);background-color:oklch(from var(--color-primary-500) l c h / .1)}}@supports selector(&:hover){html[data-supports-nesting=true]{--supports-nesting:1}.nested-interactions:hover .nested-element{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.nested-interactions:focus-within .focus-indicator{opacity:1}}@supports (container-type:inline-size){html[data-supports-container-queries=true]{--supports-container-queries:1}.container-responsive{container-type:inline-size}@container (width>=400px){.container-responsive .responsive-grid{grid-template-columns:repeat(2,1fr)}}@container (width>=600px){.container-responsive .responsive-grid{grid-template-columns:repeat(3,1fr)}}}@supports (anchor-name:--my-anchor){html[data-supports-anchor-positioning=true]{--supports-anchor-positioning:1}.anchor-positioned{anchor-name:--element-anchor}.anchor-positioned+.positioned-tooltip{position-anchor:--element-anchor;top:anchor(bottom);left:anchor(center);position:absolute;transform:translate(-50%)}}@supports (color:color(srgb 1 0 0)){html[data-supports-color-function=true]{--supports-color-function:1;--color-red-precise:color(srgb 1 0 0);--color-green-precise:color(srgb 0 1 0);--color-blue-precise:color(srgb 0 0 1)}}@media (prefers-reduced-motion:reduce){:root{--transition-duration-normal:1ms;--transition-duration-fast:1ms;--transition-duration-slow:1ms}}@media (prefers-contrast:more){:root{--color-border:var(--color-neutral-900);--shadow-sm:0 0 0 1px var(--color-neutral-900);--shadow-md:0 0 0 2px var(--color-neutral-900);--shadow-lg:0 0 0 3px var(--color-neutral-900)}}.card-theme-default{background:var(--surface-card,white);border:1px solid var(--color-neutral-200);border-radius:var(--theme-radius-card,var(--radius-lg));padding:var(--theme-spacing,1rem);box-shadow:var(--theme-shadow-card,var(--shadow-sm));transition:background-color var(--theme-duration-standard,.2s) var(--theme-easing-standard,ease-out), color var(--theme-duration-standard,.2s) var(--theme-easing-standard,ease-out), border-color var(--theme-duration-standard,.2s) var(--theme-easing-standard,ease-out), box-shadow var(--theme-duration-standard,.2s) var(--theme-easing-standard,ease-out), fill var(--theme-duration-standard,.2s) var(--theme-easing-standard,ease-out), stroke var(--theme-duration-standard,.2s) var(--theme-easing-standard,ease-out);backdrop-filter:blur(var(--theme-backdrop-blur,2px))}.card-theme-default:hover{transform:var(--theme-hover-transform,translateY(-1px));box-shadow:var(--theme-shadow-card-hover,var(--shadow-md))}.card-theme-elevated{background:var(--surface-card,white);border-radius:var(--theme-radius-card,var(--radius-lg));padding:var(--theme-spacing,1rem);box-shadow:var(--theme-shadow-card-elevated,var(--shadow-lg));transition:background-color var(--theme-duration-standard,.2s) var(--theme-easing-standard,ease-out), color var(--theme-duration-standard,.2s) var(--theme-easing-standard,ease-out), border-color var(--theme-duration-standard,.2s) var(--theme-easing-standard,ease-out), box-shadow var(--theme-duration-standard,.2s) var(--theme-easing-standard,ease-out), fill var(--theme-duration-standard,.2s) var(--theme-easing-standard,ease-out), stroke var(--theme-duration-standard,.2s) var(--theme-easing-standard,ease-out);backdrop-filter:blur(var(--theme-backdrop-blur,5px));border:none}.card-theme-elevated:hover{transform:var(--theme-hover-transform,translateY(-2px));box-shadow:var(--theme-shadow-card-hover,var(--shadow-xl))}.card-theme-outline{border:var(--theme-border-width,1px) solid var(--color-primary);border-radius:var(--theme-radius-card,var(--radius-lg));padding:var(--theme-spacing,1rem);transition:background-color var(--theme-duration-standard,.2s) var(--theme-easing-standard,ease-out), color var(--theme-duration-standard,.2s) var(--theme-easing-standard,ease-out), border-color var(--theme-duration-standard,.2s) var(--theme-easing-standard,ease-out), box-shadow var(--theme-duration-standard,.2s) var(--theme-easing-standard,ease-out), fill var(--theme-duration-standard,.2s) var(--theme-easing-standard,ease-out), stroke var(--theme-duration-standard,.2s) var(--theme-easing-standard,ease-out);background:0 0}.card-theme-outline:hover{background:color-mix(in srgb, var(--color-primary) 5%, transparent);transform:var(--theme-hover-transform-subtle,translateY(-1px));box-shadow:var(--theme-shadow-card,var(--shadow-sm))}.card-theme-ghost{border-radius:var(--theme-radius-card,var(--radius-lg));padding:var(--theme-spacing,1rem);transition:background-color var(--theme-duration-standard,.2s) var(--theme-easing-standard,ease-out), color var(--theme-duration-standard,.2s) var(--theme-easing-standard,ease-out), border-color var(--theme-duration-standard,.2s) var(--theme-easing-standard,ease-out), box-shadow var(--theme-duration-standard,.2s) var(--theme-easing-standard,ease-out), fill var(--theme-duration-standard,.2s) var(--theme-easing-standard,ease-out), stroke var(--theme-duration-standard,.2s) var(--theme-easing-standard,ease-out);background:0 0;border:none}.card-theme-ghost:hover{background:var(--surface-hover,#00000005);transform:var(--theme-hover-transform-subtle,translateY(-1px))}.card-theme-compact{padding:var(--theme-spacing-sm,.75rem);border-radius:var(--theme-radius-card-sm,var(--radius-md));min-height:3rem}.card-theme-large{padding:var(--theme-spacing-lg,1.5rem);border-radius:var(--theme-radius-card-lg,var(--radius-xl));min-height:6rem}.disable-animations .card-theme-default,.disable-animations .card-theme-elevated,.disable-animations .card-theme-outline,.disable-animations .card-theme-ghost{transition:none!important;transform:none!important}@media (prefers-reduced-motion:reduce){.card-theme-default,.card-theme-elevated,.card-theme-outline,.card-theme-ghost{transition:none!important}.card-theme-default:hover,.card-theme-elevated:hover,.card-theme-outline:hover,.card-theme-ghost:hover{transform:none!important}}.w-auto{width:auto}.w-screen{width:100vw}.w-fit{width:fit-content}.w-min{width:min-content}.w-max{width:max-content}.w-0{width:0}.w-1{width:.25rem}.w-2{width:.5rem}.w-3{width:.75rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-10{width:2.5rem}.w-12{width:3rem}.w-16{width:4rem}.w-20{width:5rem}.w-24{width:6rem}.h-full{height:100%}.h-screen{height:100svh}.h-fit{height:fit-content}.h-min{height:min-content}.h-max{height:max-content}.h-0{height:0}.h-1{height:.25rem}.h-2{height:.5rem}.h-3{height:.75rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-16{height:4rem}.h-20{height:5rem}.h-24{height:6rem}.h-32{height:8rem}.min-w-0{min-width:0}.min-w-full{min-width:100%}.max-w-none{max-width:none}.max-w-full{max-width:100%}.max-w-screen{max-width:100vw}.max-w-fit{max-width:fit-content}.max-w-prose{max-width:65ch}.max-w-xs{max-width:20rem}.max-w-sm{max-width:24rem}.max-w-md{max-width:28rem}.max-w-lg{max-width:32rem}.max-w-xl{max-width:36rem}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.min-h-0{min-height:0}.min-h-full{min-height:100%}.min-h-screen{min-height:100svh}.min-h-fit{min-height:fit-content}.max-h-none{max-height:none}.max-h-full{max-height:100%}.max-h-screen{max-height:100svh}.max-h-fit{max-height:fit-content}.size-0{width:0;height:0}.size-1{width:.25rem;height:.25rem}.size-2{width:.5rem;height:.5rem}.size-3{width:.75rem;height:.75rem}.size-4{width:1rem;height:1rem}.size-5{width:1.25rem;height:1.25rem}.size-6{width:1.5rem;height:1.5rem}.size-8{width:2rem;height:2rem}.size-10{width:2.5rem;height:2.5rem}.size-12{width:3rem;height:3rem}.size-16{width:4rem;height:4rem}.size-full{width:100%;height:100%}.icon-xs{flex-shrink:0;width:.75rem;height:.75rem}.icon-sm{flex-shrink:0;width:1rem;height:1rem}.icon-md{flex-shrink:0;width:1.25rem;height:1.25rem}.icon-lg{flex-shrink:0;width:1.5rem;height:1.5rem}.icon-xl{flex-shrink:0;width:2rem;height:2rem}.rounded-none{border-radius:0}.rounded{border-radius:var(--radius-sm,.25rem)}.rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.rounded-t-sm{border-top-left-radius:var(--radius-sm,.125rem);border-top-right-radius:var(--radius-sm,.125rem)}.rounded-t-md{border-top-left-radius:var(--radius-md,.375rem);border-top-right-radius:var(--radius-md,.375rem)}.rounded-t-lg{border-top-left-radius:var(--radius-lg,.5rem);border-top-right-radius:var(--radius-lg,.5rem)}.rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.rounded-r-sm{border-top-right-radius:var(--radius-sm,.125rem);border-bottom-right-radius:var(--radius-sm,.125rem)}.rounded-r-md{border-top-right-radius:var(--radius-md,.375rem);border-bottom-right-radius:var(--radius-md,.375rem)}.rounded-r-lg{border-top-right-radius:var(--radius-lg,.5rem);border-bottom-right-radius:var(--radius-lg,.5rem)}.rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.rounded-b-sm{border-bottom-left-radius:var(--radius-sm,.125rem);border-bottom-right-radius:var(--radius-sm,.125rem)}.rounded-b-md{border-bottom-left-radius:var(--radius-md,.375rem);border-bottom-right-radius:var(--radius-md,.375rem)}.rounded-b-lg{border-bottom-left-radius:var(--radius-lg,.5rem);border-bottom-right-radius:var(--radius-lg,.5rem)}.rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.rounded-l-sm{border-top-left-radius:var(--radius-sm,.125rem);border-bottom-left-radius:var(--radius-sm,.125rem)}.rounded-l-md{border-top-left-radius:var(--radius-md,.375rem);border-bottom-left-radius:var(--radius-md,.375rem)}.rounded-l-lg{border-top-left-radius:var(--radius-lg,.5rem);border-bottom-left-radius:var(--radius-lg,.5rem)}.transition-all{transition:opacity var(--motion-quick,.2s) var(--ease-standard,ease), transform var(--motion-quick,.2s) var(--ease-standard,ease)}.duration-75{transition-duration:75ms}.duration-100{transition-duration:var(--duration-fastest,.1s)}.duration-150{transition-duration:var(--duration-fast,.15s)}.duration-200{transition-duration:var(--motion-quick,.2s)}.duration-300{transition-duration:var(--motion-standard,.3s)}.duration-500{transition-duration:var(--motion-deliberate,.5s)}.duration-700{transition-duration:.7s}.duration-1000{transition-duration:1s}.ease-linear{transition-timing-function:linear}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.object-fill{object-fit:fill}.object-none{object-fit:none}.object-scale-down{object-fit:scale-down}.aspect-auto{aspect-ratio:auto}.border{border-style:solid;border-width:1px}.border-0{border-width:0}.border-2{border-style:solid;border-width:2px}.border-4{border-style:solid;border-width:4px}.border-t{border-top-style:solid;border-top-width:1px}.border-r{border-right-style:solid;border-right-width:1px}.border-b{border-bottom-style:solid;border-bottom-width:1px}.border-l{border-left-style:solid;border-left-width:1px}.border-t-2{border-top-style:solid;border-top-width:2px}.border-r-2{border-right-style:solid;border-right-width:2px}.border-b-2{border-bottom-style:solid;border-bottom-width:2px}.border-l-2{border-left-style:solid;border-left-width:2px}.border-neutral{border-color:var(--color-neutral-300,var(--color-neutral-300))}.border-neutral-200{border-color:var(--color-neutral-200,var(--color-neutral-200))}.border-neutral-300{border-color:var(--color-neutral-300,var(--color-neutral-300))}.border-primary-500{border-color:var(--color-primary-500,var(--color-primary-500))}.border-gray-300{border-color:var(--color-neutral-300,var(--color-neutral-300))}.focus\:outline-none:focus{outline-offset:2px;outline:2px solid #0000}.focus\:underline:focus{text-decoration:underline}.focus\:ring:focus{outline:2px solid var(--color-primary-500,var(--color-primary-500));outline-offset:2px}.text-xs{font-size:var(--text-xs,.75rem);line-height:1rem}.text-sm{font-size:var(--text-sm,.875rem);line-height:1.25rem}.text-base{font-size:var(--text-base,1rem);line-height:1.5rem}.text-lg{font-size:var(--text-lg,1.125rem);line-height:1.75rem}.text-xl{font-size:var(--text-xl,1.25rem);line-height:1.75rem}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.opacity-100{opacity:1}.cursor-pointer{cursor:pointer}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}@media (width>=640px){.sm\:px-6{padding-left:var(--space-6,1.5rem);padding-right:var(--space-6,1.5rem)}.sm\:py-6{padding-top:var(--space-6,1.5rem);padding-bottom:var(--space-6,1.5rem)}}@media (width>=1024px){.lg\:px-8{padding-left:var(--space-8,2rem);padding-right:var(--space-8,2rem)}.lg\:py-8{padding-top:var(--space-8,2rem);padding-bottom:var(--space-8,2rem)}}.font-medium{font-weight:var(--font-medium,500)}.font-semibold{font-weight:var(--font-semibold,600)}.shadow-xl{box-shadow:0 20px 25px -5px var(--color-black-alpha-10), 0 8px 10px -6px var(--color-black-alpha-10)}:root{--breakpoint-mobile-sm:376px;--breakpoint-mobile:480px;--breakpoint-mobile-lg:640px;--breakpoint-tablet:768px;--breakpoint-desktop:1024px;--breakpoint-xl:1200px;--breakpoint-2xl:1440px;--breakpoint-mobile-max:480px;--breakpoint-mobile-lg-min:481px;--breakpoint-mobile-lg-max:640px;--breakpoint-tablet-min:641px;--breakpoint-tablet-max:768px;--breakpoint-desktop-min:769px;--breakpoint-desktop-max:1024px;--breakpoint-large-min:1025px;--breakpoint-large-max:1200px;--breakpoint-xl-min:1201px;--breakpoint-2xl-min:1441px;--container-mobile:100%;--container-tablet:720px;--container-desktop:960px;--container-large:1120px;--container-xl:1280px;--container-2xl:1400px}@media (width<=375px){:root{--current-breakpoint:"mobile-sm";--spacing-multiplier:var(--spacing-multiplier-mobile,.75);--font-scale:var(--font-scale-mobile,.875);--inline-padding:.75rem}}@media (width<=480px){:root{--current-breakpoint:"mobile";--spacing-multiplier:var(--spacing-multiplier-mobile);--font-scale:var(--font-scale-mobile)}}@media (width>=481px) and (width<=768px){:root{--current-breakpoint:"tablet";--spacing-multiplier:var(--spacing-multiplier-tablet);--font-scale:var(--font-scale-tablet)}}@media (width>=769px) and (width<=1024px){:root{--current-breakpoint:"desktop";--spacing-multiplier:var(--spacing-multiplier-desktop);--font-scale:var(--font-scale-desktop)}}@media (width>=1025px) and (width<=1200px){:root{--current-breakpoint:"large";--spacing-multiplier:var(--spacing-multiplier-desktop);--font-scale:var(--font-scale-desktop)}}@media (width>=1201px) and (width<=1440px){:root{--current-breakpoint:"xl";--spacing-multiplier:var(--spacing-multiplier-desktop);--font-scale:var(--font-scale-desktop)}}@media (width>=1441px){:root{--current-breakpoint:"2xl";--spacing-multiplier:var(--spacing-multiplier-desktop);--font-scale:var(--font-scale-desktop)}}@media (width>=481px) and (width<=768px) and (orientation:landscape){:root{--current-breakpoint:"mobile-landscape";--spacing-multiplier:var(--spacing-multiplier-mobile)}}@media (hover:none) and (pointer:coarse){:root{--touch-target-min:44px}}@media (-webkit-device-pixel-ratio>=2),(resolution>=192dpi){:root{--is-retina:1}}.text-muted{color:var(--theme-color-text-muted,var(--color-neutral-400))}.text-inverse{color:var(--theme-color-text-inverse,var(--color-white))}.bg-surface-raised{background-color:var(--theme-surface-card)}.bg-surface-sunken{background-color:var(--theme-surface-sunken)}.bg-surface-active{background-color:var(--theme-surface-active)}.border-themed{border-color:var(--theme-color-border,var(--color-neutral-200))}.border-themed-hover:hover{border-color:var(--theme-color-border-hover,var(--color-neutral-300))}.border-divider{border-color:var(--theme-color-divider,var(--color-neutral-100))}.border-focus{border-color:var(--theme-color-focus,var(--color-primary-500))}.hover-surface{transition:background-color var(--transition-duration-fast,.15s) ease}.hover-surface:hover{background-color:var(--theme-surface-hover)}.hover-interactive{transition:opacity var(--transition-duration-fast,.15s) ease, transform var(--transition-duration-fast,.15s) ease}.hover-interactive:hover{background-color:var(--theme-surface-interactive-hover);transform:translateY(-1px)}.focus-themed:focus,.focus-visible-themed:focus-visible{outline:2px solid var(--theme-color-focus,var(--color-primary-500));outline-offset:2px}.focus\:ring-primary:focus{--tw-ring-color:var(--theme-color-primary,var(--color-primary-500));--tw-ring-shadow:0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color), 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-shadow)}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.ring-primary{--tw-ring-color:var(--theme-color-primary,var(--color-primary-500))}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.ring-offset-2{--tw-ring-offset-width:2px}:root{--tw-ring-offset-width:0px;--tw-ring-offset-color:var(--color-white);--tw-ring-color:var(--color-primary-alpha-30,var(--color-primary-alpha-30,var(--color-primary-alpha-30,var(--color-primary-alpha-30,var(--color-primary-alpha-30,var(--color-primary-alpha-30,var(--color-primary-alpha-30,var(--color-primary-alpha-30,#3b82f680))))))));--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-ring-inset: }:where(.dark){--tw-ring-offset-color:var(--color-neutral-900,#111827)}.card-surface{background-color:var(--theme-surface-card,var(--color-white));border:1px solid var(--theme-color-border,var(--color-neutral-200));border-radius:var(--theme-radius-card,.5rem)}.card-elevated{background-color:var(--theme-surface-card,var(--color-white));border:1px solid var(--theme-color-border,var(--color-neutral-200));border-radius:var(--theme-radius-card,.5rem);box-shadow:var(--theme-shadow-card,0 1px 3px var(--color-black-alpha-10))}.btn-primary{background-color:var(--theme-color-primary,var(--color-primary-500));color:var(--theme-color-text-inverse,var(--color-white));border:1px solid var(--theme-color-primary,var(--color-primary-500));border-radius:var(--theme-radius-button,.375rem);transition:background var(--transition-duration-fast,.15s) ease, border-color var(--transition-duration-fast,.15s) ease, transform var(--transition-duration-fast,.15s) ease, box-shadow var(--transition-duration-fast,.15s) ease}.btn-primary:hover{background-color:var(--theme-color-primary-hover,var(--color-primary-600));border-color:var(--theme-color-primary-hover,var(--color-primary-600));box-shadow:var(--shadow-sm);transform:translateY(-1px)}.btn-secondary{background-color:var(--theme-surface-card,var(--color-white));color:var(--theme-color-text,var(--color-neutral-800));border:1px solid var(--theme-color-border,var(--color-neutral-200));border-radius:var(--theme-radius-button,.375rem);transition:background var(--transition-duration-fast,.15s) ease, border-color var(--transition-duration-fast,.15s) ease, transform var(--transition-duration-fast,.15s) ease, box-shadow var(--transition-duration-fast,.15s) ease}.btn-secondary:hover{background-color:var(--theme-surface-hover);border-color:var(--theme-color-border-hover,var(--color-neutral-300));box-shadow:var(--shadow-sm);transform:translateY(-1px)}.input-themed{background-color:var(--theme-surface-input,var(--color-white));color:var(--theme-color-text,var(--color-neutral-800));border:1px solid var(--theme-color-border,var(--color-neutral-200));border-radius:var(--theme-radius-input,.375rem);transition:border-color, box-shadow var(--transition-duration-fast,.15s) ease}.input-themed:focus{border-color:var(--theme-color-focus,var(--color-primary-500));box-shadow:0 0 0 3px var(--theme-color-focus-shadow,var(--color-primary-alpha-10));outline:2px solid #0000}.input-themed:focus-visible{outline:2px solid var(--theme-primary,var(--color-primary));outline-offset:2px}.input-themed::placeholder{color:var(--theme-color-text-muted,var(--color-neutral-400))}.accessible-focus:focus{outline:3px solid var(--theme-color-focus,var(--color-primary-500));outline-offset:2px}.high-contrast-text{color:var(--theme-color-text-high-contrast,var(--color-black))}.high-contrast-bg{background-color:var(--theme-surface-high-contrast,var(--color-white))}.lesson-content{background-color:var(--theme-surface-lesson);border:1px solid var(--theme-color-border-lesson);border-radius:var(--theme-radius-lesson,.75rem);padding:var(--theme-spacing-lesson,1.5rem)}.progress-complete{background-color:var(--theme-color-success,var(--color-success));color:var(--theme-color-text-inverse,var(--color-white))}.progress-incomplete{background-color:var(--theme-surface-progress-incomplete,var(--color-neutral-100));color:var(--theme-color-text-muted,var(--color-neutral-500))}.progress-current{background-color:var(--theme-color-accent,var(--color-primary-500));color:var(--theme-color-text-inverse,var(--color-white))}.chat-message-user{background-color:var(--theme-surface-chat-user);border-left:4px solid var(--theme-color-accent,var(--color-primary-500))}.chat-message-assistant{background-color:var(--theme-surface-chat-assistant);border-left:4px solid var(--theme-color-secondary,var(--color-neutral-500))}.opacity-disabled{opacity:var(--theme-opacity-disabled,.5)}.transition-themed{transition:opacity var(--transition-duration-normal,.2s) var(--transition-timing-ease,ease), transform var(--transition-duration-normal,.2s) var(--transition-timing-ease,ease)}.transition-fast{transition:opacity var(--transition-duration-fast,.15s) var(--transition-timing-ease,ease), transform var(--transition-duration-fast,.15s) var(--transition-timing-ease,ease)}.transition-slow{transition:opacity var(--transition-duration-slow,.3s) var(--transition-timing-ease,ease), transform var(--transition-duration-slow,.3s) var(--transition-timing-ease,ease)}.shadow-themed{box-shadow:var(--theme-shadow-default,0 1px 3px var(--color-black-alpha-10))}.shadow-elevated{box-shadow:var(--theme-shadow-elevated,0 4px 6px var(--color-black-alpha-10))}.radius-themed{border-radius:var(--theme-radius-default,.5rem)}.text-on-success{color:var(--text-on-success,var(--color-white))}.text-on-warning{color:var(--text-on-warning,var(--color-neutral-900))}.text-on-error{color:var(--text-on-error,var(--color-white))}.text-on-info{color:var(--text-on-info,var(--color-white))}.text-inverse\/90{color:color-mix(in srgb, var(--text-inverse) 90%, transparent)}.text-inverse\/80{color:color-mix(in srgb, var(--text-inverse) 80%, transparent)}.text-inverse\/70{color:color-mix(in srgb, var(--text-inverse) 70%, transparent)}.text-inverse\/60{color:color-mix(in srgb, var(--text-inverse) 60%, transparent)}.text-inverse\/50{color:color-mix(in srgb, var(--text-inverse) 50%, transparent)}.text-inverse\/40{color:color-mix(in srgb, var(--text-inverse) 40%, transparent)}.text-inverse\/30{color:color-mix(in srgb, var(--text-inverse) 30%, transparent)}.text-inverse\/20{color:color-mix(in srgb, var(--text-inverse) 20%, transparent)}.text-inverse\/10{color:color-mix(in srgb, var(--text-inverse) 10%, transparent)}.hover\:text-inverse:hover{color:var(--text-inverse,var(--color-white))}.hover\:text-on-primary:hover{color:var(--text-on-primary,var(--color-white))}.hover\:text-on-accent:hover{color:var(--text-on-accent,var(--color-white))}:root{--theme-batch-text:var(--theme-color-text,var(--color-neutral-800));--theme-batch-surface:var(--theme-surface-background,var(--surface-card,#fff));--theme-batch-border:var(--theme-color-border,var(--color-neutral-200));--theme-batch-accent:var(--theme-color-accent,var(--color-primary-500))}:where(.dark,[data-theme=dark]){--theme-color-text:#f9fafb;--theme-color-text-secondary:var(--color-neutral-600);--theme-color-text-muted:var(--color-neutral-500);--theme-color-text-inverse:var(--color-neutral-100);--theme-surface-background:var(--color-neutral-50);--theme-surface-card:var(--color-neutral-100);--theme-surface-hover:var(--color-neutral-200);--theme-color-border:var(--color-neutral-300);--theme-color-border-hover:var(--color-neutral-400)}.high-contrast,[data-theme=high-contrast]{--theme-color-text:var(--color-black);--theme-color-text-inverse:var(--color-white);--theme-surface-background:var(--color-white);--theme-surface-card:var(--color-white);--theme-color-border:var(--color-black);--color-primary-500:#00f;--theme-color-success:green;--theme-color-error:red;--theme-color-warning:#ff8c00}.text-white{color:#fff}.bg-lesson{background-color:var(--cocovox-learning-lesson-50)}.bg-exercise{background-color:var(--cocovox-learning-exercise-50)}.text-lesson{color:var(--cocovox-learning-lesson-600)}.text-exercise{color:var(--cocovox-learning-exercise-600)}.bg-success-subtle{background-color:var(--color-success-alpha-5)}.bg-warning-subtle{background-color:var(--color-warning-alpha-5)}.p-32{padding:calc(var(--space-20) + var(--space-12))}.px-0{padding-inline:0}.px-1{padding-inline:var(--space-1)}.px-2{padding-inline:var(--space-2)}.px-3{padding-inline:var(--space-3)}.px-4{padding-inline:var(--space-4)}.px-5{padding-inline:var(--space-5)}.px-6{padding-inline:var(--space-6)}.px-8{padding-inline:var(--space-8)}.px-10{padding-inline:var(--space-10)}.px-12{padding-inline:var(--space-12)}.py-0{padding-block:0}.py-1{padding-block:var(--space-1)}.py-2{padding-block:var(--space-2)}.py-3{padding-block:var(--space-3)}.py-4{padding-block:var(--space-4)}.py-5{padding-block:var(--space-5)}.py-6{padding-block:var(--space-6)}.py-8{padding-block:var(--space-8)}.py-10{padding-block:var(--space-10)}.py-12{padding-block:var(--space-12)}.pt-0{padding-top:0}.pt-1{padding-top:var(--space-1)}.pt-2{padding-top:var(--space-2)}.pt-3{padding-top:var(--space-3)}.pt-4{padding-top:var(--space-4)}.pt-6{padding-top:var(--space-6)}.pt-8{padding-top:var(--space-8)}.pt-12{padding-top:var(--space-12)}.pt-16{padding-top:var(--space-16)}.pt-20{padding-top:var(--space-20)}.pt-24{padding-top:calc(var(--space-20) + var(--space-4))}.pt-32{padding-top:calc(var(--space-20) + var(--space-12))}.pt-64{padding-top:calc(var(--space-20) * 3.2)}.pb-0{padding-bottom:0}.pb-1{padding-bottom:var(--space-1)}.pb-2{padding-bottom:var(--space-2)}.pb-3{padding-bottom:var(--space-3)}.pb-4{padding-bottom:var(--space-4)}.pb-6{padding-bottom:var(--space-6)}.pb-8{padding-bottom:var(--space-8)}.pb-12{padding-bottom:var(--space-12)}.pb-16{padding-bottom:var(--space-16)}.pb-20{padding-bottom:var(--space-20)}.pb-24{padding-bottom:calc(var(--space-20) + var(--space-4))}.pb-32{padding-bottom:calc(var(--space-20) + var(--space-12))}.pb-44{padding-bottom:calc(var(--space-20) * 2.2)}.pb-64{padding-bottom:calc(var(--space-20) * 3.2)}.pl-0{padding-left:0}.pl-2{padding-left:var(--space-2)}.pl-3{padding-left:var(--space-3)}.pl-4{padding-left:var(--space-4)}.pl-6{padding-left:var(--space-6)}.pl-8{padding-left:var(--space-8)}.pl-12{padding-left:var(--space-12)}.pr-0{padding-right:0}.pr-1{padding-right:var(--space-1)}.pr-2{padding-right:var(--space-2)}.pr-3{padding-right:var(--space-3)}.pr-4{padding-right:var(--space-4)}.pr-6{padding-right:var(--space-6)}.pr-8{padding-right:var(--space-8)}.pr-12{padding-right:var(--space-12)}.m-auto{margin:auto}.mx-0{margin-inline:0}.mx-1{margin-inline:var(--space-1)}.mx-2{margin-inline:var(--space-2)}.mx-3{margin-inline:var(--space-3)}.mx-4{margin-inline:var(--space-4)}.mx-6{margin-inline:var(--space-6)}.mx-8{margin-inline:var(--space-8)}.mx-auto{margin-inline:auto}.my-0{margin-block:0}.my-1{margin-block:var(--space-1)}.my-2{margin-block:var(--space-2)}.my-3{margin-block:var(--space-3)}.my-4{margin-block:var(--space-4)}.my-6{margin-block:var(--space-6)}.my-8{margin-block:var(--space-8)}.my-12{margin-block:var(--space-12)}.mt-0{margin-top:0}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}.mt-5{margin-top:var(--space-5)}.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}.mt-12{margin-top:var(--space-12)}.mt-auto{margin-top:auto}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--space-1)}.mb-4{margin-bottom:var(--space-4)}.mb-5{margin-bottom:var(--space-5)}.mb-6{margin-bottom:var(--space-6)}.mb-8{margin-bottom:var(--space-8)}.mb-12{margin-bottom:var(--space-12)}.ml-0{margin-left:0}.ml-3{margin-left:var(--space-3)}.ml-4{margin-left:var(--space-4)}.ml-6{margin-left:var(--space-6)}.ml-8{margin-left:var(--space-8)}.ml-auto{margin-left:auto}.mr-0{margin-right:0}.mr-1{margin-right:var(--space-1)}.mr-2{margin-right:var(--space-2)}.mr-3{margin-right:var(--space-3)}.mr-4{margin-right:var(--space-4)}.mr-6{margin-right:var(--space-6)}.mr-8{margin-right:var(--space-8)}.mr-auto{margin-right:auto}.-mt-2{margin-top:calc(var(--space-2) * -1)}.-mt-3{margin-top:calc(var(--space-3) * -1)}.-mt-4{margin-top:calc(var(--space-4) * -1)}.-mb-1{margin-bottom:calc(var(--space-1) * -1)}.-mb-2{margin-bottom:calc(var(--space-2) * -1)}.-mb-3{margin-bottom:calc(var(--space-3) * -1)}.-ml-1{margin-left:calc(var(--space-1) * -1)}.-ml-2{margin-left:calc(var(--space-2) * -1)}.-ml-3{margin-left:calc(var(--space-3) * -1)}.-mr-1{margin-right:calc(var(--space-1) * -1)}.-mr-2{margin-right:calc(var(--space-2) * -1)}.-mr-3{margin-right:calc(var(--space-3) * -1)}.gap-x-0{column-gap:0}.gap-x-1{column-gap:var(--space-1)}.gap-x-2{column-gap:var(--space-2)}.gap-x-3{column-gap:var(--space-3)}.gap-x-4{column-gap:var(--space-4)}.gap-x-6{column-gap:var(--space-6)}.gap-x-8{column-gap:var(--space-8)}.gap-y-0{row-gap:0}.gap-y-1{row-gap:var(--space-1)}.gap-y-2{row-gap:var(--space-2)}.gap-y-3{row-gap:var(--space-3)}.gap-y-4{row-gap:var(--space-4)}.gap-y-6{row-gap:var(--space-6)}.gap-y-8{row-gap:var(--space-8)}.space-x-0>*+*{margin-left:0}.space-x-8>*+*{margin-left:var(--space-8)}.space-y-0>*+*{margin-top:0}.space-y-8>*+*{margin-top:var(--space-8)}:root{--space-half-1:calc(var(--space-1) / 2);--space-half-2:calc(var(--space-2) / 2);--space-half-3:calc(var(--space-3) / 2);--space-half-4:calc(var(--space-4) / 2);--space-half-6:calc(var(--space-6) / 2);--space-half-8:calc(var(--space-8) / 2);--space-1-5x:calc(var(--space-1) * 1.5);--space-2-5x:calc(var(--space-2) * 1.5);--space-3-5x:calc(var(--space-3) * 1.5);--space-4-5x:calc(var(--space-4) * 1.5);--space-3-minus-1px:calc(var(--space-3) - 1px);--space-4-minus-1px:calc(var(--space-4) - 1px);--space-3-minus-2px:calc(var(--space-3) - 2px);--space-4-minus-2px:calc(var(--space-4) - 2px);--space-4-safe-top:calc(var(--space-4) + env(safe-area-inset-top,0));--space-6-safe-top:calc(var(--space-6) + env(safe-area-inset-top,0));--space-8-safe-top:calc(var(--space-8) + env(safe-area-inset-top,0));--space-4-safe-bottom:calc(var(--space-4) + env(safe-area-inset-bottom,0));--space-6-safe-bottom:calc(var(--space-6) + env(safe-area-inset-bottom,0));--space-8-safe-bottom:calc(var(--space-8) + env(safe-area-inset-bottom,0));--space-4-safe-left:calc(var(--space-4) + env(safe-area-inset-left,0));--space-6-safe-left:calc(var(--space-6) + env(safe-area-inset-left,0));--space-4-safe-right:calc(var(--space-4) + env(safe-area-inset-right,0));--space-6-safe-right:calc(var(--space-6) + env(safe-area-inset-right,0));--padding-with-icon-20px:calc(var(--space-3) + 20px + var(--space-2));--padding-with-icon-24px:calc(var(--space-4) + 24px + var(--space-3))}.inline-flex{display:inline-flex}.grid{display:grid}.block{display:block}.inline-block{display:inline-block}.hidden{display:none}.flex-row-reverse{flex-direction:row-reverse}.flex-col-reverse{flex-direction:column-reverse}.flex-nowrap{flex-wrap:nowrap}.flex-1{flex:1}.flex-auto{flex:auto}.flex-initial{flex:0 auto}.flex-none{flex:none}.flex-grow{flex-grow:1}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.self-auto{align-self:auto}.self-start{align-self:flex-start}.self-end{align-self:flex-end}.self-stretch{align-self:stretch}.self-baseline{align-self:baseline}.space-x-1>*+*{margin-left:var(--space-1,.25rem)}.space-x-3>*+*{margin-left:var(--space-3,.75rem)}.space-x-4>*+*{margin-left:var(--space-4,1rem)}.space-x-6>*+*{margin-left:var(--space-6,1.5rem)}.space-y-2>*+*{margin-top:var(--space-2,.5rem)}.space-y-3>*+*{margin-top:var(--space-3,.75rem)}.space-y-4>*+*{margin-top:var(--space-4,1rem)}.space-y-6>*+*{margin-top:var(--space-6,1.5rem)}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.sticky{position:sticky}.inset-0{inset:0}.top-0{top:0}.right-0{right:0}.bottom-0{bottom:0}.left-0{left:0}.z-0{z-index:0}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.overflow-auto{overflow:auto}.overflow-scroll{overflow:scroll}.overflow-y-auto{overflow-y:auto}.overscroll-contain{overscroll-behavior:contain}.icon-xs{width:var(--icon-size-xs);height:var(--icon-size-xs)}.icon-sm{width:var(--icon-size-sm);height:var(--icon-size-sm)}.icon-lg{width:var(--icon-size-lg);height:var(--icon-size-lg)}.icon-xl{width:var(--icon-size-xl);height:var(--icon-size-xl)}.container-elevated{background:var(--surface-elevated);border-radius:var(--radius-lg);padding:var(--space-4)}.container-card{background:var(--surface-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-6)}.flex-col-center{flex-direction:column;justify-content:center;align-items:center;display:flex}.surface-primary-10{background:color-mix(in oklch, var(--color-primary) 10%, transparent)}.surface-primary-15{background:color-mix(in oklch, var(--color-primary) 15%, transparent)}.surface-primary-20{background:color-mix(in oklch, var(--color-primary) 20%, transparent)}.surface-success-10{background:color-mix(in oklch, var(--color-success) 10%, transparent)}.surface-success-15{background:color-mix(in oklch, var(--color-success) 15%, transparent)}.surface-error-10{background:color-mix(in oklch, var(--color-error) 10%, transparent)}.surface-warning-10{background:color-mix(in oklch, var(--color-warning) 10%, transparent)}.top-4{top:1rem}.right-4{right:1rem}.learning-content-container{max-width:1200px;padding-left:var(--space-4,1rem);padding-right:var(--space-4,1rem);margin-left:auto;margin-right:auto}.fade-in{animation:.3s ease-in fadeIn}.avatar-container{aspect-ratio:1;flex-shrink:0;overflow:hidden}.avatar-container img{object-fit:cover;width:100%;height:100%}.avatar-xs{width:24px;height:24px}.avatar-sm{width:32px;height:32px}.avatar-md{width:40px;height:40px}.avatar-lg{width:48px;height:48px}.avatar-xl{width:64px;height:64px}.avatar-2xl{width:96px;height:96px}.aspect-video{aspect-ratio:16/9}.aspect-photo{aspect-ratio:4/3}.aspect-square{aspect-ratio:1}.aspect-portrait{aspect-ratio:3/4}.image-container{background-color:var(--color-neutral-100);position:relative;overflow:hidden}.dark .image-container{background-color:var(--color-neutral-800)}.image-container img{object-fit:cover;width:100%;height:100%}.content-placeholder{min-height:var(--placeholder-height,100px);transition:min-height .2s ease-out}.content-placeholder.loaded{min-height:0}.fouc-guard{opacity:0;transition:opacity .15s ease-out}.fouc-guard.ready{opacity:1}@media (prefers-reduced-motion:reduce){.fouc-guard{opacity:1;transition:none}}.lazy-image-container{background-color:var(--color-neutral-100);position:relative;overflow:hidden}.dark .lazy-image-container{background-color:var(--color-neutral-800)}.lazy-image-container:before{content:"";padding-top:calc(100% / var(--aspect-ratio,1.777));display:block}.lazy-image-container img{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .3s ease-out;position:absolute;top:0;left:0}.lazy-image-container img.loaded{opacity:1}.inline-placeholder{min-width:var(--placeholder-width,4ch);vertical-align:middle;min-height:1em;display:inline-block}.icon-container{width:var(--icon-size,24px);height:var(--icon-size,24px);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.icon-container svg,.icon-container img{width:100%;height:100%}.theme-transitioning{contain:style}.theme-transitioning body,.theme-transitioning [data-visual-layer=background],.theme-transitioning .theme-bg{transition:background-color 80ms cubic-bezier(.2,0,.38,.9),background-image 80ms cubic-bezier(.2,0,.38,.9)}.theme-transitioning .card,.theme-transitioning nav,.theme-transitioning header,.theme-transitioning aside,.theme-transitioning [data-visual-layer=surface]{transition:background-color .12s cubic-bezier(.4,0,.2,1) 20ms,border-color .12s cubic-bezier(.4,0,.2,1) 20ms,box-shadow .12s cubic-bezier(.4,0,.2,1) 20ms}.theme-transitioning main,.theme-transitioning section,.theme-transitioning article,.theme-transitioning [data-visual-layer=content]{transition:background-color .15s cubic-bezier(.25,.46,.45,.94) 40ms,border-color .15s cubic-bezier(.25,.46,.45,.94) 40ms}.theme-transitioning [data-visual-layer=text]{transition:color .18s cubic-bezier(.23,1,.32,1) 60ms,text-shadow .18s cubic-bezier(.23,1,.32,1) 60ms}.theme-transitioning .btn-primary,.theme-transitioning .accent,.theme-transitioning .highlight,.theme-transitioning [data-visual-layer=accent]{transition:color .2s cubic-bezier(.34,1.56,.64,1) 80ms,background-color .2s cubic-bezier(.34,1.56,.64,1) 80ms,border-color .2s cubic-bezier(.34,1.56,.64,1) 80ms,box-shadow .2s cubic-bezier(.34,1.56,.64,1) 80ms}.theme-switching{contain:style layout;will-change:background-color, color}.theme-switching *{animation-play-state:paused!important}.theme-switching [aria-hidden=true],.theme-switching [hidden],.theme-switching .hidden{transition:none!important}.theme-sensitive{transition:background-color .2s ease-out,color .2s ease-out,border-color .2s ease-out,box-shadow .2s ease-out}.theme-performance-mode *{transition-duration:0s!important;animation-duration:0s!important}@media (prefers-reduced-motion:reduce){.theme-sensitive{transition:none!important}.theme-switching *{transition:none!important;animation:none!important}.theme-transitioning body,.theme-transitioning [data-visual-layer],.theme-transitioning .card,.theme-transitioning nav,.theme-transitioning header,.theme-transitioning aside,.theme-transitioning main,.theme-transitioning section,.theme-transitioning article,.theme-transitioning .btn-primary,.theme-transitioning .accent,.theme-transitioning .highlight,.theme-transitioning .theme-bg{transition:none!important}}:root{--font-primary:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-display:"DM Serif Display", "DM Serif Display Fallback", Georgia, serif;--font-mono:"JetBrains Mono", "SF Mono", Monaco, "Consolas", monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:clamp(1.0625rem, .95rem + .25vw, 1.125rem);--text-xl:clamp(1.125rem, 1rem + .35vw, 1.25rem);--text-2xl:clamp(1.25rem, 1.05rem + .6vw, 1.5rem);--text-3xl:clamp(1.5rem, 1.15rem + 1vw, 1.875rem);--text-4xl:clamp(1.875rem, 1.35rem + 1.5vw, 2.25rem);--text-5xl:clamp(2.25rem, 1.5rem + 2vw, 3rem);--text-6xl:clamp(2.75rem, 1.75rem + 2.5vw, 3.5rem);--text-7xl:clamp(3.25rem, 2rem + 3vw, 4.5rem);--weight-light:300;--weight-normal:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--leading-none:1;--leading-tight:1.25;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--leading-loose:2;--tracking-tighter:-.05em;--tracking-tight:-.025em;--tracking-normal:0em;--tracking-wide:.025em;--tracking-wider:.05em}.typography-display-hero{font-family:var(--font-display);font-size:var(--text-6xl);font-weight:var(--weight-normal);line-height:var(--leading-none);letter-spacing:var(--tracking-tighter);text-wrap:balance}.typography-display-celebration{font-family:var(--font-display);font-size:var(--text-7xl);font-weight:var(--weight-normal);line-height:var(--leading-none);letter-spacing:var(--tracking-tighter);text-wrap:balance}.typography-display-large{font-family:var(--font-display);font-size:var(--text-4xl);font-weight:var(--weight-normal);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);text-wrap:balance}.typography-display-medium{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--weight-normal);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);text-wrap:balance}.typography-display-small{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--weight-normal);line-height:var(--leading-snug);letter-spacing:var(--tracking-normal);text-wrap:balance}.typography-heading-large{font-family:var(--font-family-heading,var(--font-display,var(--font-primary)));font-size:var(--text-xl);font-weight:var(--weight-semibold);line-height:var(--leading-snug);letter-spacing:var(--tracking-tight);text-wrap:balance}.typography-heading-medium{font-family:var(--font-family-heading,var(--font-display,var(--font-primary)));font-size:var(--text-lg);font-weight:var(--weight-semibold);line-height:var(--leading-snug);letter-spacing:var(--tracking-normal);text-wrap:balance}.typography-heading-small{font-family:var(--font-family-heading,var(--font-display,var(--font-primary)));font-size:var(--text-base);font-weight:var(--weight-semibold);line-height:var(--leading-normal);letter-spacing:var(--tracking-normal);text-wrap:balance}.typography-body-large{font-family:var(--font-primary);font-size:var(--text-lg);font-weight:var(--weight-normal);line-height:var(--leading-relaxed);letter-spacing:var(--tracking-normal)}.typography-body-medium{font-family:var(--font-primary);font-size:var(--text-base);font-weight:var(--weight-normal);line-height:var(--leading-normal);letter-spacing:var(--tracking-normal)}.typography-body-small{font-family:var(--font-primary);font-size:var(--text-sm);font-weight:var(--weight-normal);line-height:var(--leading-normal);letter-spacing:var(--tracking-normal)}.typography-label-large{font-family:var(--font-primary);font-size:var(--text-base);font-weight:var(--weight-medium);line-height:var(--leading-snug);letter-spacing:var(--tracking-normal)}.typography-label-medium{font-family:var(--font-primary);font-size:var(--text-sm);font-weight:var(--weight-medium);line-height:var(--leading-snug);letter-spacing:var(--tracking-normal)}.typography-label-small{font-family:var(--font-primary);font-size:var(--text-xs);font-weight:var(--weight-medium);line-height:var(--leading-snug);letter-spacing:var(--tracking-wide)}.typography-caption-large{font-family:var(--font-primary);font-size:var(--text-sm);font-weight:var(--weight-normal);line-height:var(--leading-normal);letter-spacing:var(--tracking-normal);color:var(--text-secondary)}.typography-caption-small{font-family:var(--font-primary);font-size:var(--text-xs);font-weight:var(--weight-normal);line-height:var(--leading-normal);letter-spacing:var(--tracking-wide);color:var(--text-secondary)}.typography-code-inline{font-family:var(--font-mono);font-size:.875em;font-weight:var(--weight-normal);background:var(--surface-code);border-radius:var(--radius-sm,.5rem);padding:var(--space-0-5) 4px;letter-spacing:var(--tracking-normal)}.typography-code-block{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--weight-normal);line-height:var(--leading-relaxed);letter-spacing:var(--tracking-normal)}.typography-button-large{font-family:var(--font-primary);font-size:var(--text-base);font-weight:var(--weight-semibold);line-height:var(--leading-none);letter-spacing:var(--tracking-normal)}.typography-button-medium{font-family:var(--font-primary);font-size:var(--text-sm);font-weight:var(--weight-semibold);line-height:var(--leading-none);letter-spacing:var(--tracking-normal)}.typography-button-small{font-family:var(--font-primary);font-size:var(--text-xs);font-weight:var(--weight-medium);line-height:var(--leading-none);letter-spacing:var(--tracking-wide)}.typography-link{font-weight:inherit;color:var(--color-primary);border-bottom:1px solid #0000;text-decoration:none;transition:border-color .15s cubic-bezier(.25,.46,.45,.94)}.typography-link:hover,.typography-link:focus{border-bottom-color:currentColor}.typography-optimized{font-feature-settings:"kern" 1,  "liga" 1,  "calt" 1,  "case" 1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}:where(html){font-feature-settings:"kern" 1, "liga" 1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:where(body,p,span,div,h1,h2,h3,h4,h5,h6,a,button,input,select,textarea,label,li,td,th){font-feature-settings:inherit;-webkit-font-smoothing:inherit;-moz-osx-font-smoothing:inherit}@media (width<=768px){:root{--text-xs:.75rem;--text-sm:.8125rem;--text-base:.9375rem}}@media (prefers-contrast:more){.typography-caption-large,.typography-caption-small{color:var(--text-primary)}.typography-link{border-bottom:1px solid}}@media (prefers-reduced-motion:reduce){.typography-link{transition:none}}.text-fluid-xs{font-size:clamp(.625rem,.5rem + .75cqw,.75rem);line-height:var(--leading-snug)}.text-fluid-sm{font-size:clamp(.75rem,.625rem + 1cqw,.875rem);line-height:var(--leading-normal)}.text-fluid-base{font-size:clamp(.875rem,.75rem + 1cqw,1.125rem);line-height:var(--leading-normal)}.text-fluid-lg{font-size:clamp(1rem,.75rem + 1.5cqw,1.5rem);line-height:var(--leading-snug)}.text-fluid-xl{font-size:clamp(1.25rem,1rem + 2cqw,2rem);line-height:var(--leading-tight)}.text-fluid-2xl{font-size:clamp(1.5rem,1rem + 2.5cqw,3rem);line-height:var(--leading-tight)}.text-fluid-3xl{font-size:clamp(1.875rem,1.25rem + 3cqw,3.5rem);line-height:var(--leading-tight)}.card-title-fluid{font-size:clamp(1.25rem,1rem + 1.5cqw,1.75rem);font-weight:var(--weight-semibold);line-height:var(--leading-snug);letter-spacing:var(--tracking-tight)}.card-subtitle-fluid{font-size:clamp(.875rem,.75rem + 1cqw,1.125rem);font-weight:var(--weight-normal);line-height:var(--leading-normal);letter-spacing:var(--tracking-normal)}.card-description-fluid{font-size:clamp(.875rem,.8rem + .5cqw,1rem);font-weight:var(--weight-normal);line-height:var(--leading-relaxed);letter-spacing:var(--tracking-normal)}.card-caption-fluid{font-size:clamp(.75rem,.625rem + .75cqw,.875rem);font-weight:var(--weight-normal);line-height:var(--leading-normal);letter-spacing:var(--tracking-wide);color:var(--text-secondary)}.typography-heading-fluid-large{font-family:var(--font-family-heading,var(--font-display,var(--font-primary)));font-size:clamp(1.25rem,1rem + 2cqw,2rem);font-weight:var(--weight-semibold);line-height:var(--leading-snug);letter-spacing:var(--tracking-normal);text-wrap:balance}.typography-heading-fluid-medium{font-family:var(--font-family-heading,var(--font-display,var(--font-primary)));font-size:clamp(1rem,.75rem + 1.5cqw,1.5rem);font-weight:var(--weight-semibold);line-height:var(--leading-snug);letter-spacing:var(--tracking-normal);text-wrap:balance}.typography-heading-fluid-small{font-family:var(--font-family-heading,var(--font-display,var(--font-primary)));font-size:clamp(.875rem,.75rem + 1cqw,1.125rem);font-weight:var(--weight-semibold);line-height:var(--leading-normal);letter-spacing:var(--tracking-normal);text-wrap:balance}.typography-body-fluid-large{font-family:var(--font-primary);font-size:clamp(1rem,.875rem + 1cqw,1.25rem);font-weight:var(--weight-normal);line-height:var(--leading-relaxed);letter-spacing:var(--tracking-normal)}.typography-body-fluid-medium{font-family:var(--font-primary);font-size:clamp(.875rem,.75rem + 1cqw,1.125rem);font-weight:var(--weight-normal);line-height:var(--leading-normal);letter-spacing:var(--tracking-normal)}.typography-breadcrumb{font-family:var(--font-primary);font-size:clamp(1rem,.875rem + 1cqw,1.5rem);font-weight:var(--weight-semibold);line-height:var(--leading-snug);letter-spacing:var(--tracking-tight);text-wrap:balance}.typography-breadcrumb-sm{font-family:var(--font-primary);font-size:clamp(.875rem,.75rem + .75cqw,1.25rem);font-weight:var(--weight-medium);line-height:var(--leading-snug);letter-spacing:var(--tracking-normal)}:where(body){line-height:var(--line-height-body,1.6);letter-spacing:var(--letter-spacing-body,0);font-weight:var(--font-weight-body,400)}:where(h1,h2,h3,h4,h5,h6,.heading){line-height:var(--line-height-heading,1.2);letter-spacing:var(--letter-spacing-heading,0)}@supports not (font-size:1cqw){.text-fluid-xs,.card-caption-fluid{font-size:var(--text-xs)}.text-fluid-sm{font-size:var(--text-sm)}.text-fluid-base,.card-description-fluid,.card-subtitle-fluid{font-size:var(--text-base)}.text-fluid-lg{font-size:var(--text-lg)}.text-fluid-xl,.card-title-fluid{font-size:var(--text-xl)}.text-fluid-2xl{font-size:var(--text-2xl)}.text-fluid-3xl{font-size:var(--text-3xl)}.typography-breadcrumb{font-size:var(--text-2xl)}.typography-breadcrumb-sm{font-size:var(--text-xl)}}:root{--focus-ring-color:var(--color-primary-500,#007aff);--focus-ring-width:2px;--focus-ring-offset:4px;--focus-ring-radius:4px;--focus-ring-duration:.15s;--focus-ring-easing:cubic-bezier(.25, .46, .45, .94)}button:focus,a:focus,input:focus,textarea:focus,select:focus,summary:focus,[tabindex]:focus,[role=button]:focus,[role=checkbox]:focus,[role=switch]:focus,[role=link]:focus,[role=menuitem]:focus,[role=tab]:focus,[role=option]:focus{outline:2px solid #0000}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible,[role=button]:focus-visible,[role=checkbox]:focus-visible,[role=switch]:focus-visible,[role=link]:focus-visible,[role=menuitem]:focus-visible,[role=tab]:focus-visible,[role=option]:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:2px;position:relative}.focus-ring-enhanced:focus-visible:after{content:"";inset:calc(-1 * var(--focus-ring-offset));border:var(--focus-ring-width) solid var(--focus-ring-color);border-radius:inherit;pointer-events:none;z-index:var(--z-index-popover,1070);animation:apple-focus-ring-appear var(--focus-ring-duration) var(--focus-ring-easing);position:absolute}@keyframes apple-focus-ring-appear{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.unified-card:focus-visible:after,.card:focus-visible:after,.sidebar-nav-item:focus-visible:after,.sidebar-nav-item-collapsed:focus-visible:after,.nav-link:focus-visible:after,.course-item:focus-visible:after,.btn:focus-visible:after,.button:focus-visible:after,.icon-button:focus-visible:after,.toggle:focus-visible:after,.chip:focus-visible:after,input[type=text]:focus-visible:after,input[type=email]:focus-visible:after,input[type=password]:focus-visible:after,input[type=search]:focus-visible:after,textarea:focus-visible:after,.message-card:focus-visible:after,.lesson-card:focus-visible:after,.course-card:focus-visible:after{border-radius:inherit}.no-focus-ring:focus-visible,[data-no-focus-ring]:focus-visible{outline:none}.no-focus-ring:focus-visible:after,[data-no-focus-ring]:focus-visible:after{display:none}.modal-overlay:focus-visible,[role=dialog][tabindex="-1"]:focus-visible,[aria-modal=true][tabindex="-1"]:focus-visible{outline:none}.modal-overlay:focus-visible:after,[role=dialog][tabindex="-1"]:focus-visible:after,[aria-modal=true][tabindex="-1"]:focus-visible:after{display:none}.focus-ring-success:focus-visible:after{border-color:var(--color-success,#34c759)}.focus-ring-warning:focus-visible:after{border-color:var(--color-warning,#ff9500)}.focus-ring-error:focus-visible:after{border-color:var(--color-error,#ff3b30)}.focus-ring-secondary:focus-visible:after{border-color:var(--color-neutral-400,#8e8e93)}@media (prefers-contrast:more){:root{--focus-ring-width:3px;--focus-ring-color:var(--color-primary-600,#06c)}}@media (prefers-reduced-motion:reduce){.focus-ring-enhanced:focus-visible:after{animation:none}}:where(.dark){--focus-ring-color:var(--color-primary-400,#0a84ff)}@media (pointer:coarse){:root{--focus-ring-offset:6px;--focus-ring-width:3px}}.interactive-parent:focus-within>.interactive-child:not(:focus-visible):after{display:none}.modal:focus-visible:after,.overlay:focus-visible:after,.popup:focus-visible:after{z-index:var(--z-index-modal,1060)}.focus-ring-enhanced:focus-visible:after{will-change:opacity, transform;backface-visibility:hidden}.js-focus-visible .focus-visible:focus:not(.focus-visible):after{display:none}.sr-only-focus:focus-visible{width:1px;height:1px;position:absolute;top:auto;left:-9999px;overflow:hidden}.sr-only-focus:focus-visible:after{display:none}.custom-focus:focus-visible{--focus-ring-custom:var(--focus-ring-color)}.custom-focus:focus-visible:after{border-color:var(--focus-ring-custom,var(--focus-ring-color))}:where(button:active:not(:disabled):not(.no-press-feedback),[role=button]:active:not(:disabled):not(.no-press-feedback),[role=tab]:active:not(:disabled):not(.no-press-feedback),[role=option]:active:not(:disabled):not(.no-press-feedback),[role=menuitem]:active:not(:disabled):not(.no-press-feedback),.btn:active:not(:disabled):not(.no-press-feedback),.button:active:not(:disabled):not(.no-press-feedback)){transition:transform 50ms;transform:scale(.97)}:where(.card:active:not(:disabled):not(.no-press-feedback),.unified-card:active:not(:disabled):not(.no-press-feedback),.course-card:active:not(:disabled):not(.no-press-feedback),.lesson-card:active:not(:disabled):not(.no-press-feedback),.message-card:active:not(:disabled):not(.no-press-feedback),.course-item:active:not(:disabled):not(.no-press-feedback),[role=listbox]>[role=option]:active:not(:disabled):not(.no-press-feedback)){transition:transform 50ms;transform:scale(.99)}:where(a:active:not(:disabled):not(.no-press-feedback),[role=link]:active:not(:disabled):not(.no-press-feedback)){opacity:.75;transition:opacity 50ms}:where(.chip:active:not(:disabled):not(.no-press-feedback),.pill:active:not(:disabled):not(.no-press-feedback),.badge:active:not(:disabled):not(.no-press-feedback),.tag:active:not(:disabled):not(.no-press-feedback)){transition:transform 50ms;transform:scale(.95)}:where(.icon-button:active:not(:disabled):not(.no-press-feedback),.icon-btn:active:not(:disabled):not(.no-press-feedback),[data-icon-button]:active:not(:disabled):not(.no-press-feedback)){transition:transform 50ms;transform:scale(.9)}@media (prefers-reduced-motion:reduce){:where(button:active,[role=button]:active,[role=tab]:active,[role=option]:active,[role=menuitem]:active,.btn:active,.button:active,.card:active,.unified-card:active,.course-card:active,.lesson-card:active,.message-card:active,.course-item:active,a:active,[role=link]:active,.chip:active,.pill:active,.badge:active,.tag:active,.icon-button:active,.icon-btn:active,[data-icon-button]:active){opacity:unset!important;transition:none!important;transform:none!important}}:root{--focus-mode-filter-interface:grayscale(.85) brightness(.95) contrast(.9);--focus-mode-filter-content:grayscale(.3) brightness(1) contrast(1.05);--focus-mode-filter-accent:grayscale(0) brightness(1.1);--focus-mode-overlay:var(--color-black-alpha-5);--focus-mode-transition:.6s var(--cocovox-ease-signature,cubic-bezier(.23, 1, .32, 1));--focus-mode-transition-fast:.4s var(--cocovox-ease-signature,cubic-bezier(.23, 1, .32, 1));--focus-mode-edge-zone-width:16px;--focus-mode-edge-zone-glow:var(--color-primary-alpha-20);--focus-mode-pill-bottom:calc(var(--space-20) + env(safe-area-inset-bottom));--focus-mode-pill-right:var(--space-4)}:where(.dark){--focus-mode-filter-interface:grayscale(.7) brightness(.9) contrast(.85);--focus-mode-filter-content:grayscale(.2) brightness(.95);--focus-mode-overlay:var(--color-black-alpha-15)}[data-high-contrast=true]{--focus-mode-filter-interface:none;--focus-mode-filter-content:none}[data-color-blind=deuteranopia],[data-color-blind=protanopia],[data-color-blind=tritanopia]{--focus-mode-filter-interface:grayscale(.5) brightness(.95);--focus-mode-filter-content:grayscale(.15) brightness(1)}:where(:root){--voice-tween-to-chat-duration:.8s;--voice-tween-to-voice-duration:.6s;--voice-fullscreen-z:9999;--voice-minibar-z:1001;--bokeh-transition-z:10000;--voice-fullscreen-bg:radial-gradient(ellipse 80% 60% at 50% 45%, color-mix(in oklch, var(--color-primary-500,oklch(55% .25 265)) 15%, var(--surface-background,oklch(99% 0 0))), var(--surface-background,oklch(99% 0 0)));--voice-orb-glow:color-mix(in oklch, var(--color-primary-500,oklch(55% .25 265)) 25%, transparent);--voice-orb-glow-speaking:color-mix(in oklch, var(--color-secondary-500,var(--color-primary-400,oklch(65% .2 265))) 30%, transparent);--voice-orb-glow-secondary:color-mix(in oklch, var(--color-primary-500,oklch(55% .25 265)) 15%, transparent);--voice-orb-glow-speaking-secondary:color-mix(in oklch, var(--color-secondary-500,var(--color-primary-400,oklch(65% .2 265))) 18%, transparent);--voice-status-font:var(--font-family-heading,var(--font-display,inherit))}:where(.dark){--voice-fullscreen-bg:radial-gradient(ellipse 80% 60% at 50% 45%, color-mix(in oklch, var(--color-primary-500,oklch(55% .25 265)) 20%, var(--surface-background,oklch(5% 0 0))), var(--surface-background,oklch(5% 0 0)));--voice-orb-glow:color-mix(in oklch, var(--color-primary-500,oklch(55% .25 265)) 35%, transparent);--voice-orb-glow-speaking:color-mix(in oklch, var(--color-secondary-500,var(--color-primary-400,oklch(65% .2 265))) 40%, transparent)}:where(:root:not(.dark)){--voice-fullscreen-bg:radial-gradient(ellipse 80% 60% at 50% 45%, color-mix(in oklch, var(--color-primary-500,oklch(55% .25 265)) 10%, oklch(97% .005 260)), oklch(97% .005 260));--voice-orb-glow:color-mix(in oklch, var(--color-primary-500,oklch(55% .25 265)) 15%, transparent);--voice-orb-glow-speaking:color-mix(in oklch, var(--color-secondary-500,var(--color-primary-400,oklch(65% .2 265))) 20%, transparent);--voice-orb-glow-secondary:color-mix(in oklch, var(--color-primary-500,oklch(55% .25 265)) 8%, transparent);--voice-orb-glow-speaking-secondary:color-mix(in oklch, var(--color-secondary-500,var(--color-primary-400,oklch(65% .2 265))) 10%, transparent)}html[data-voice-mode=fullscreen] .main-content,html[data-voice-mode=tween-to-chat] .main-content,html[data-voice-mode=tween-to-voice] .main-content{will-change:auto;transform:none}html[data-voice-mode=fullscreen] .sidebar-outer,html[data-voice-mode=fullscreen] #sidebar{opacity:0;pointer-events:none;transition:opacity .3s var(--ease-emphasized-accel), transform .3s var(--ease-emphasized-accel);animation:none;transform:translate(-100%)}html[data-voice-mode=fullscreen] .navbar-container,html[data-voice-mode=fullscreen] nav.navbar-content{opacity:0;pointer-events:none;transition:opacity .3s var(--ease-emphasized-accel), transform .3s var(--ease-emphasized-accel);animation:none;transform:translateY(-100%)}html[data-voice-mode=tween-to-chat] .voice-fullscreen-panel{animation:voice-panel-exit .35s var(--ease-emphasized-accel) forwards}@keyframes voice-panel-exit{0%{opacity:1;filter:blur();transform:scale(1)translateY(0)}to{opacity:0;filter:blur(8px);transform:scale(.88)translateY(24px)}}html[data-voice-mode=tween-to-chat] .sidebar-outer,html[data-voice-mode=tween-to-chat] #sidebar{animation:sidebar-slide-in .4s var(--ease-emphasized-decel) .1s both}@keyframes sidebar-slide-in{0%{opacity:0;pointer-events:none;transform:translate(-100%)}to{opacity:1;pointer-events:auto;transform:translate(0)}}html[data-voice-mode=tween-to-chat] .navbar-container,html[data-voice-mode=tween-to-chat] nav.navbar-content{animation:navbar-fade-in .35s var(--ease-emphasized-decel) .2s both}@keyframes navbar-fade-in{0%{opacity:0;pointer-events:none;transform:translateY(-16px)}to{opacity:1;pointer-events:auto;transform:translateY(0)}}html[data-voice-mode=tween-to-chat] .chat-main-interface{animation:chat-area-reveal .4s var(--ease-emphasized-decel) .3s both}@keyframes chat-area-reveal{0%{opacity:0}to{opacity:1}}html[data-voice-mode=tween-to-chat] [data-source=voice_mode]{animation:voice-message-enter .3s var(--ease-emphasized-decel) both;animation-delay:calc(.5s + var(--voice-msg-index,0) * var(--stagger-standard))}@keyframes voice-message-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}html[data-voice-mode=tween-to-voice] .chat-main-interface{animation:chat-area-hide .2s var(--ease-emphasized-accel) forwards}@keyframes chat-area-hide{0%{opacity:1}to{opacity:0}}html[data-voice-mode=tween-to-voice] .sidebar-outer,html[data-voice-mode=tween-to-voice] #sidebar{animation:sidebar-slide-out .25s var(--ease-emphasized-accel) 50ms both}@keyframes sidebar-slide-out{0%{opacity:1;transform:translate(0)}to{opacity:0;pointer-events:none;transform:translate(-100%)}}html[data-voice-mode=tween-to-voice] .navbar-container,html[data-voice-mode=tween-to-voice] nav.navbar-content{animation:navbar-slide-out .2s var(--ease-emphasized-accel) .1s both}@keyframes navbar-slide-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;pointer-events:none;transform:translateY(-16px)}}html[data-voice-mode=tween-to-voice] .voice-fullscreen-panel{animation:voice-panel-enter .4s var(--ease-emphasized-decel) .2s both}@keyframes voice-panel-enter{0%{opacity:0;filter:blur(8px);transform:scale(.88)translateY(24px)}to{opacity:1;filter:blur();transform:scale(1)translateY(0)}}html[data-voice-mode=tween-to-voice] .voice-fullscreen-panel .panel-header{animation:voice-zone-enter .24s var(--ease-emphasized-decel) .21s both}html[data-voice-mode=tween-to-voice] .voice-fullscreen-panel .voice-stimulus{animation:voice-zone-enter .28s var(--ease-emphasized-decel) .28s both}html[data-voice-mode=tween-to-voice] .voice-fullscreen-panel .transcript-header,html[data-voice-mode=tween-to-voice] .voice-fullscreen-panel .transcript-area{animation:voice-zone-enter .24s var(--ease-emphasized-decel) .34s both}html[data-voice-mode=tween-to-voice] .voice-fullscreen-panel .voice-bar{animation:voice-zone-enter .24s var(--ease-emphasized-decel) .37s both}@keyframes voice-zone-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}html[data-voice-mode=chat-with-voice] .sidebar-outer,html[data-voice-mode=chat-with-voice] #sidebar,html[data-voice-mode=chat-with-voice] .navbar-container,html[data-voice-mode=chat-with-voice] nav.navbar-content,html[data-voice-mode=chat-with-voice] .chat-main-interface{opacity:1;pointer-events:auto;transition:opacity var(--motion-standard) var(--ease-standard), transform var(--motion-standard) var(--ease-standard);transform:none}.voice-fullscreen-panel{z-index:var(--voice-fullscreen-z);background:var(--voice-fullscreen-bg);will-change:transform, opacity, filter;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);flex-direction:column;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}.voice-fullscreen-panel:after{content:"";pointer-events:none;z-index:0;background:linear-gradient(to bottom, transparent 0%, color-mix(in oklch, var(--surface-background) 20%, transparent) 55%, color-mix(in oklch, var(--surface-background) 50%, transparent) 80%, color-mix(in oklch, var(--surface-background) 85%, transparent) 100%);height:45%;position:absolute;bottom:0;left:0;right:0}html[data-voice-mode=fullscreen] .voice-fullscreen-panel,html[data-voice-mode=chat-with-voice] .voice-fullscreen-panel{will-change:auto}html[data-voice-mode=fullscreen] .voice-fullscreen-panel{animation:voice-panel-initial-enter .4s var(--ease-emphasized-decel) both}@keyframes voice-panel-initial-enter{0%{opacity:0;filter:blur(4px);transform:scale(.94)}to{opacity:1;filter:blur();transform:scale(1)}}.voice-fullscreen-panel .voice-stimulus{transition:filter var(--motion-standard,.3s) var(--ease-standard,ease)}.voice-fullscreen-panel.ai-speaking .voice-stimulus{filter:brightness(1.06)}.voice-fullscreen-panel.user-speaking .voice-stimulus{filter:brightness(1.03)}:where(:root:not(.dark)) .voice-fullscreen-panel.ai-speaking .voice-stimulus{filter:brightness(.97)}:where(:root:not(.dark)) .voice-fullscreen-panel.user-speaking .voice-stimulus{filter:brightness(.98)}.voice-mini-bar{bottom:calc(var(--space-3) + var(--message-input-height,160px));z-index:var(--voice-minibar-z);align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-3);background:color-mix(in oklch, var(--color-surface-primary,var(--surface-card)) 92%, transparent);border:1px solid color-mix(in oklch, var(--color-primary-500) 20%, var(--surface-border));border-radius:var(--radius-full,9999px);box-shadow:var(--shadow-md), 0 0 0 1px color-mix(in oklch, var(--color-primary-500) 8%, transparent), 0 2px 16px color-mix(in oklch, var(--color-primary-500) 10%, transparent);-webkit-backdrop-filter:blur(16px);cursor:pointer;transition:box-shadow var(--motion-quick) var(--ease-standard), transform var(--motion-quick) var(--ease-standard);display:flex;position:fixed;left:50%;transform:translate(-50%)}.voice-mini-bar:hover{box-shadow:var(--shadow-lg), 0 0 0 1px color-mix(in oklch, var(--color-primary-500) 18%, transparent), 0 4px 24px color-mix(in oklch, var(--color-primary-500) 18%, transparent);transform:translate(-50%)translateY(-2px)}.voice-session-divider{align-items:center;gap:var(--space-3);padding:var(--space-3) 0;color:var(--color-text-tertiary);font-size:var(--text-xs);display:flex}.voice-session-divider:before,.voice-session-divider:after{content:"";background:var(--border-color-default,var(--surface-border));flex:1;height:1px}.voice-session-divider-content{align-items:center;gap:var(--space-2);white-space:nowrap;font-weight:var(--font-medium,500);display:flex}@media (prefers-reduced-motion:reduce){html[data-voice-mode=tween-to-chat] .voice-fullscreen-panel,html[data-voice-mode=tween-to-chat] .sidebar-outer,html[data-voice-mode=tween-to-chat] #sidebar,html[data-voice-mode=tween-to-chat] .navbar-container,html[data-voice-mode=tween-to-chat] nav.navbar-content,html[data-voice-mode=tween-to-chat] .chat-main-interface,html[data-voice-mode=tween-to-chat] [data-source=voice_mode],html[data-voice-mode=tween-to-voice] .voice-fullscreen-panel,html[data-voice-mode=tween-to-voice] .sidebar-outer,html[data-voice-mode=tween-to-voice] #sidebar,html[data-voice-mode=tween-to-voice] .navbar-container,html[data-voice-mode=tween-to-voice] nav.navbar-content,html[data-voice-mode=tween-to-voice] .chat-main-interface,html[data-voice-mode=tween-to-voice] .voice-fullscreen-panel .panel-header,html[data-voice-mode=tween-to-voice] .voice-fullscreen-panel .voice-stimulus,html[data-voice-mode=tween-to-voice] .voice-fullscreen-panel .transcript-header,html[data-voice-mode=tween-to-voice] .voice-fullscreen-panel .transcript-area,html[data-voice-mode=tween-to-voice] .voice-fullscreen-panel .voice-bar{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-delay:0s!important}html[data-voice-mode=fullscreen] .sidebar-outer,html[data-voice-mode=fullscreen] #sidebar,html[data-voice-mode=fullscreen] .navbar-container,html[data-voice-mode=fullscreen] nav.navbar-content{transition-duration:.01ms!important}html[data-voice-mode=fullscreen] .voice-fullscreen-panel{animation-duration:.01ms!important}.voice-mini-bar{transition:none}}@media (width<=640px){.voice-mini-bar{width:calc(100% - var(--space-8));left:var(--space-4);right:var(--space-4);justify-content:center;transform:none}.voice-mini-bar:hover{transform:translateY(-2px)}}[data-voice-mode=fullscreen],[data-voice-mode=tween-to-chat],[data-voice-mode=tween-to-voice]{--voice-font-display:clamp(2.5rem, 5vw, 4rem);--voice-font-stimulus:clamp(2rem, 4vw, 3rem);--voice-font-body:clamp(1.25rem, 2.5vw, 1.75rem);--voice-font-label:clamp(.875rem, 1.5vw, 1.125rem);--voice-font-caption:clamp(.75rem, 1.25vw, .875rem);--voice-success:oklch(75% .18 145);--voice-error:oklch(70% .18 25);--voice-warning:oklch(78% .15 80);--voice-score-low:oklch(65% .2 25);--voice-score-mid:oklch(78% .15 80);--voice-score-high:oklch(75% .18 145);--voice-score-perfect:oklch(80% .2 280);--voice-space-xs:.5rem;--voice-space-sm:1rem;--voice-space-md:1.5rem;--voice-space-lg:2.5rem;--voice-space-xl:4rem;--voice-touch-min:48px;--voice-stimulus-exit:.3s;--voice-stimulus-gap:.1s;--voice-stimulus-enter:.4s;--voice-ambient-cycle:3s}:where(:root:not(.dark)) [data-voice-mode=fullscreen],:where(:root:not(.dark)) [data-voice-mode=tween-to-chat],:where(:root:not(.dark)) [data-voice-mode=tween-to-voice]{--voice-success:oklch(45% .18 145);--voice-error:oklch(45% .18 25);--voice-warning:oklch(50% .15 80);--voice-score-low:oklch(45% .2 25);--voice-score-mid:oklch(50% .15 80);--voice-score-high:oklch(45% .18 145);--voice-score-perfect:oklch(50% .2 280)}@media (prefers-reduced-motion:reduce){[data-voice-mode=fullscreen],[data-voice-mode=tween-to-chat],[data-voice-mode=tween-to-voice]{--voice-stimulus-exit:0s;--voice-stimulus-gap:0s;--voice-stimulus-enter:0s;--voice-ambient-cycle:0s}}:root{--easing-apple-spring:cubic-bezier(.175, .885, .32, 1.275);--easing-apple-smooth:cubic-bezier(.4, 0, .2, 1);--easing-apple-quick:cubic-bezier(.25, .46, .45, .94);--enable-hardware-acceleration:translateZ(0);--enable-will-change:transform, opacity}.animated,.interactive,.card,.button,.modal,.sidebar,.nav-item,.message,.tooltip,.dropdown{transform:var(--enable-hardware-acceleration);backface-visibility:hidden;perspective:1000px}.interactive:hover,.interactive:focus-visible,.interactive:active,.animated:hover,.card:hover,.button:hover{will-change:var(--enable-will-change)}.interactive:not(:hover):not(:focus-visible):not(:active),.animated:not(:hover),.card:not(:hover),.button:not(:hover){will-change:auto}.animate-slide-in-up{animation:apple-slide-in-up var(--motion-standard) var(--ease-emphasized-decel)}.animate-slide-in-down{animation:apple-slide-in-down var(--motion-standard) var(--ease-emphasized-decel)}.animate-hover-lift:hover{transform:translateY(-2px) var(--enable-hardware-acceleration);transition:transform var(--motion-quick) var(--ease-standard)}.animate-hover-scale:hover{transform:scale(1.05) var(--enable-hardware-acceleration);transition:transform var(--motion-quick) var(--ease-standard)}.animate-hover-glow:hover{filter:drop-shadow(0 8px 25px color-mix(in srgb, var(--color-primary) 25%, transparent));transition:filter var(--motion-standard) var(--ease-standard)}.animate-touch-scale:active{transform:scale(.97) var(--enable-hardware-acceleration);transition:transform var(--motion-instant) var(--ease-press)}.animate-touch-fade:active{opacity:.7;transition:opacity var(--motion-instant) var(--ease-press)}.animate-pulse{animation:apple-pulse 2s var(--easing-ease-in-out) infinite}.animate-spin{animation:apple-spin 1s var(--easing-linear) infinite}.animate-bounce{animation:apple-bounce 1s var(--easing-apple-spring) infinite}@keyframes apple-fade-in{0%{opacity:0}to{opacity:1}}@keyframes apple-slide-in-up{0%{opacity:0;transform:translateY(20px) var(--enable-hardware-acceleration)}to{opacity:1;transform:translateY(0) var(--enable-hardware-acceleration)}}@keyframes apple-slide-in-down{0%{opacity:0;transform:translateY(-20px) var(--enable-hardware-acceleration)}to{opacity:1;transform:translateY(0) var(--enable-hardware-acceleration)}}@keyframes apple-scale-in{0%{opacity:0;transform:scale(.9) var(--enable-hardware-acceleration)}to{opacity:1;transform:scale(1) var(--enable-hardware-acceleration)}}@keyframes apple-pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes apple-spin{0%{transform:rotate(0deg) var(--enable-hardware-acceleration)}to{transform:rotate(360deg) var(--enable-hardware-acceleration)}}@keyframes apple-bounce{0%,20%,53%,80%,to{transform:translateY(0) var(--enable-hardware-acceleration)}40%,43%{transform:translateY(-8px) var(--enable-hardware-acceleration)}70%{transform:translateY(-4px) var(--enable-hardware-acceleration)}90%{transform:translateY(-2px) var(--enable-hardware-acceleration)}}@media (pointer:coarse) and (width<=768px){:root{--motion-instant:50ms;--motion-quick:.15s}.animate-hover-glow:hover{box-shadow:none}.animate-bounce{animation:none}.animate-touch-scale:active{transform:scale(.98) var(--enable-hardware-acceleration)}}@media (width<=480px) and (resolution<=150dpi){:root{--motion-instant:0s;--motion-quick:.1s;--motion-standard:.15s;--motion-deliberate:.2s}.animate-hover-glow,.animate-bounce,.animate-pulse{transition:none;animation:none}}.message-enter{animation:apple-slide-in-up var(--motion-message-enter) var(--ease-message)}.message-exit{animation:apple-fade-out var(--motion-quick) var(--ease-emphasized-accel)}@keyframes apple-fade-out{0%{opacity:1}to{opacity:0}}.typing-indicator{animation:apple-pulse 1.5s var(--easing-ease-in-out) infinite}.typing-dots{animation:apple-typing-dots 1.4s var(--easing-ease-in-out) infinite}@keyframes apple-typing-dots{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-4px)}}.progress-bar{transition:width var(--motion-deliberate) var(--ease-standard)}.progress-bar-composited{transform-origin:0;width:100%;transition:transform var(--motion-deliberate) var(--ease-standard);will-change:transform}.progress-indeterminate{animation:apple-progress-indeterminate 2s var(--easing-linear) infinite}@keyframes apple-progress-indeterminate{0%{transform:translate(-100%)}50%{transform:translate(0%)}to{transform:translate(100%)}}.card{transition:transform var(--motion-card-hover) var(--ease-card), box-shadow var(--motion-card-hover) var(--ease-card), background-color var(--motion-quick) var(--ease-standard)}.button{transition:transform var(--motion-button-press) var(--ease-press), background-color var(--motion-button-hover) var(--ease-button), color var(--motion-button-hover) var(--ease-button)}.modal-backdrop{animation:apple-fade-in var(--motion-standard) var(--ease-standard)}.modal-content{animation:apple-scale-in var(--motion-standard) var(--easing-apple-spring)}.sidebar{transition:transform var(--motion-standard) var(--ease-standard)}.debug-performance{background:var(--color-error-alpha-10,#ff00001a)!important;border:2px solid red!important}.debug-performance:before{content:"PERF DEBUG";color:var(--color-white);padding:var(--space-0-5) 4px;z-index:9999;background:red;font-size:10px;position:absolute;top:0;left:0}:root{--grid-base:8px;--space-0:0px;--space-1:calc(var(--grid-base) * .5);--space-2:var(--grid-base);--space-3:calc(var(--grid-base) * 1.5);--space-4:calc(var(--grid-base) * 2);--space-5:calc(var(--grid-base) * 2.5);--space-6:calc(var(--grid-base) * 3);--space-8:calc(var(--grid-base) * 4);--space-10:calc(var(--grid-base) * 5);--space-12:calc(var(--grid-base) * 6);--space-14:calc(var(--grid-base) * 7);--space-16:calc(var(--grid-base) * 8);--space-20:calc(var(--grid-base) * 10);--space-24:calc(var(--grid-base) * 12);--space-32:calc(var(--grid-base) * 16);--space-40:calc(var(--grid-base) * 20);--space-48:calc(var(--grid-base) * 24);--space-56:calc(var(--grid-base) * 28);--space-64:calc(var(--grid-base) * 32);--size-icon-xs:var(--space-4);--size-icon-sm:var(--space-6);--size-icon-md:var(--space-6);--size-icon-lg:var(--space-8);--size-icon-xl:var(--space-12);--size-touch-min:var(--space-12);--size-touch-comfortable:var(--space-14);--size-touch-large:var(--space-16);--radius-xs:var(--space-1);--radius-sm:var(--space-2);--radius-md:var(--space-3);--radius-lg:var(--space-4);--radius-xl:var(--space-6);--radius-2xl:var(--space-8);--radius-full:9999px;--line-height-xs:var(--space-4);--line-height-sm:var(--space-6);--line-height-md:var(--space-6);--line-height-lg:var(--space-8);--line-height-xl:var(--space-10);--line-height-2xl:var(--space-12);--container-xs:320px;--container-sm:375px;--container-md:768px;--container-lg:1024px;--container-xl:1280px;--container-2xl:1536px}.m-10{margin:var(--space-10)}.m-12{margin:var(--space-12)}.m-16{margin:var(--space-16)}.m-20{margin:var(--space-20)}.m-24{margin:var(--space-24)}.p-10{padding:var(--space-10)}.p-12{padding:var(--space-12)}.p-16{padding:var(--space-16)}.p-20{padding:var(--space-20)}.p-24{padding:var(--space-24)}.gap-0{gap:var(--space-0)}.gap-1{gap:var(--space-1)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-5{gap:var(--space-5)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.gap-10{gap:var(--space-10)}.gap-12{gap:var(--space-12)}.gap-16{gap:var(--space-16)}.w-touch{width:var(--size-touch-min)}.h-touch{height:var(--size-touch-min)}.size-touch{width:var(--size-touch-min);height:var(--size-touch-min)}.w-icon{width:var(--size-icon-md)}.h-icon{height:var(--size-icon-md)}.size-icon{width:var(--size-icon-md);height:var(--size-icon-md)}.rounded-xs{border-radius:var(--radius-xs)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:var(--radius-full)}.card-grid-compliant{padding:var(--space-6);margin:var(--space-4);border-radius:var(--radius-lg);min-height:var(--size-touch-min)}.button-grid-compliant{padding:var(--space-3) var(--space-6);border-radius:var(--radius-sm);min-height:var(--size-touch-min);min-width:var(--size-touch-min)}.input-grid-compliant{padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);min-height:var(--size-touch-min)}.nav-item-grid-compliant{padding:var(--space-4) var(--space-6);margin:var(--space-1) var(--space-2);border-radius:var(--radius-lg);min-height:var(--size-touch-min)}.container-grid-compliant{width:100%;max-width:1200px;margin:0 auto;padding:0}.section-grid-compliant{padding-top:var(--space-16);padding-bottom:var(--space-16)}.section-compact{padding-top:var(--space-8);padding-bottom:var(--space-8)}.grid-8px{gap:var(--space-4);grid-template-columns:repeat(auto-fit, minmax(var(--space-32), 1fr));display:grid}.flex-8px{gap:var(--space-4);align-items:center;display:flex}@media (width<=768px){:root{--space-mobile-factor:.875}.container-grid-compliant{padding:0}.section-grid-compliant{padding-top:var(--space-12);padding-bottom:var(--space-12)}.button-grid-compliant{padding:var(--space-2) var(--space-4)}}.debug-grid{position:relative}.debug-grid:before{content:"";background-image:linear-gradient(to right, var(--color-error-alpha-10,#ff00001a) 1px, transparent 1px), linear-gradient(to bottom, var(--color-error-alpha-10,#ff00001a) 1px, transparent 1px);background-size:var(--grid-base) var(--grid-base);pointer-events:none;z-index:9999;position:absolute;inset:0}.message-grid{margin-bottom:var(--space-6);padding:var(--space-4) var(--space-6);border-radius:var(--radius-lg)}.sidebar-item-grid{padding:var(--space-4);margin:var(--space-1) var(--space-2);border-radius:var(--radius-lg);min-height:var(--size-touch-min)}.card-list-grid{gap:var(--space-4);padding:var(--space-6);flex-direction:column;display:flex}.modal-grid{padding:var(--space-8);border-radius:var(--radius-xl);margin:var(--space-6)}.text-grid-aligned{line-height:var(--line-height-md);margin-bottom:var(--space-4)}.heading-grid-aligned{line-height:var(--line-height-lg);margin-bottom:var(--space-6)}.focus-ring-grid:after{inset:calc(-1 * var(--space-1));border-radius:calc(var(--radius-sm) + var(--space-1))}:root{--animation-grid-1:.133s;--animation-grid-2:.267s;--animation-grid-3:.4s;--animation-grid-4:.533s}:where(*){box-sizing:border-box}@media print{:root{--grid-base:6pt}}:root{--input-height-default:var(--button-height-md);--input-height-large:var(--button-height-lg);--input-height-small:var(--button-height-sm);--touch-target-min:40px;--touch-target-enhanced:48px;--touch-target-compact:32px;--avatar-xs:24px;--avatar-sm:32px;--avatar-md:40px;--avatar-lg:48px;--avatar-xl:56px;--avatar-2xl:64px;--card-min-height-sm:160px;--card-min-height-md:240px;--card-min-height-lg:320px;--icon-container-sm:var(--icon-size-xs);--icon-container-md:var(--icon-size-md);--icon-container-lg:var(--icon-size-lg);--icon-container-xl:var(--icon-size-xl)}:where(.role-student){--touch-target-min:48px;--font-size-base:1.1rem;--line-height-base:1.7;--space-2:.625rem;--space-3:1rem;--space-4:1.25rem;--space-6:2rem;--space-8:2.5rem;--button-height-sm:2.5rem;--button-height-md:3rem;--input-height-default:3rem}:where(.role-student) .label-clinical{display:none}:where(.role-slp){--touch-target-min:44px;--font-size-base:.9rem;--line-height-base:1.45;--space-2:.4375rem;--space-3:.625rem;--space-4:.875rem;--space-6:1.375rem;--space-8:1.75rem;--button-height-sm:1.75rem;--button-height-md:2.25rem;--input-height-default:2.25rem}:where(.role-slp) .label-clinical{display:inline}:where(.role-slp) .data-dense{display:block}:where(.role-teacher){--touch-target-min:44px;--font-size-base:.95rem;--line-height-base:1.5;--button-height-md:2.5rem;--input-height-default:2.5rem}:where(.role-teacher) .class-management{display:block}:where(.role-parent){--touch-target-min:48px;--font-size-base:1.05rem;--line-height-base:1.6;--space-3:.875rem;--space-4:1.125rem;--space-6:1.625rem;--space-8:2.25rem;--button-height-md:3rem;--input-height-default:3rem}:where(.role-parent) .label-clinical{display:none}:where(.role-parent) .progress-summary{display:block}:where(.young-learner){--shape-button:9999px;--shape-card:24px;--shape-input:16px;--shape-modal:24px;--shape-dropdown:16px;--shape-tooltip:12px;--shape-badge:9999px;--shape-avatar:9999px;--shape-panel:20px;--shape-tab:12px;--font-size-base:1.2rem;--font-size-sm:1rem;--font-size-xs:.9rem;--line-height-base:1.8;--heading-font-weight:700;--letter-spacing-base:.01em;--space-1:6px;--space-2:10px;--space-3:16px;--space-4:20px;--space-5:26px;--space-6:32px;--space-8:42px;--space-10:52px;--space-12:64px;--touch-target-min:52px;--button-height-sm:40px;--button-height-md:52px;--button-height-lg:60px;--input-height-sm:44px;--input-height-md:52px;--input-height-lg:60px;--transition-duration-fast:.2s;--transition-duration-normal:.35s;--transition-duration-slow:.5s;--transition-timing-bounce:cubic-bezier(.34, 1.56, .64, 1);--focus-ring-width:4px;--focus-ring-offset:3px}:where(.young-learner) .complexity-advanced,:where(.young-learner) .label-clinical,:where(.young-learner) .data-dense{display:none}:root{--calendar-primary:#4f46e5;--calendar-primary-light:#6366f1;--calendar-primary-dark:#3730a3;--calendar-secondary:#7c3aed;--calendar-accent:#06b6d4;--calendar-meeting:#4f46e5;--calendar-study:var(--color-success);--calendar-interview:#8b5cf6;--calendar-appointment:var(--color-warning);--calendar-team:var(--color-error);--calendar-reminder:var(--color-neutral-500);--calendar-available:var(--color-success);--calendar-busy:var(--color-error);--calendar-tentative:var(--color-warning);--calendar-free:var(--color-neutral-200);--calendar-gradient-primary:linear-gradient(135deg, var(--calendar-primary) 0%, var(--calendar-primary-light) 100%);--calendar-gradient-secondary:linear-gradient(135deg, var(--calendar-secondary) 0%, var(--calendar-primary) 100%);--calendar-gradient-success:linear-gradient(135deg, var(--color-success) 0%, #059669 100%);--calendar-gradient-warning:linear-gradient(135deg, var(--color-warning) 0%, #d97706 100%);--calendar-gradient-error:linear-gradient(135deg, var(--color-error) 0%, #dc2626 100%);--calendar-card-bg:var(--color-white);--calendar-card-bg-hover:#f8fafc;--calendar-card-border:#e2e8f0;--calendar-card-shadow:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--calendar-card-shadow-hover:0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d;--calendar-font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--calendar-font-size-xs:.75rem;--calendar-font-size-sm:.875rem;--calendar-font-size-base:1rem;--calendar-font-size-lg:1.125rem;--calendar-font-size-xl:1.25rem;--calendar-spacing-xs:.25rem;--calendar-spacing-sm:.5rem;--calendar-spacing-md:1rem;--calendar-spacing-lg:1.5rem;--calendar-spacing-xl:2rem;--calendar-radius-sm:6px;--calendar-radius-md:8px;--calendar-radius-lg:12px;--calendar-radius-xl:16px;--calendar-radius-full:9999px;--calendar-duration-fast:.15s;--calendar-duration-normal:.3s;--calendar-duration-slow:.5s;--calendar-z-dropdown:1000;--calendar-z-modal:1050;--calendar-z-tooltip:1100}:where(.dark){--calendar-card-bg:var(--color-neutral-800);--calendar-card-bg-hover:var(--color-neutral-700);--calendar-card-border:var(--color-neutral-600);--calendar-free:var(--color-neutral-600)}@keyframes calendar-fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes calendar-slide-up{0%{opacity:0;transform:translateY(20px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes calendar-scale-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes calendar-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes calendar-pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes calendar-bounce-in{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes calendar-slide-in-right{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.calendar-card{background:var(--calendar-card-bg);border:1px solid var(--calendar-card-border);border-radius:var(--calendar-radius-xl);box-shadow:var(--calendar-card-shadow);font-family:var(--calendar-font-family);transition:opacity var(--calendar-duration-normal) ease, transform var(--calendar-duration-normal) ease;animation:calendar-slide-up var(--calendar-duration-slow) ease}.calendar-card:hover{box-shadow:var(--calendar-card-shadow-hover);transform:translateY(-2px)}.calendar-button{padding:var(--calendar-spacing-sm) var(--calendar-spacing-md);border-radius:var(--calendar-radius-md);font-size:var(--calendar-font-size-sm);transition:opacity var(--calendar-duration-fast) ease, transform var(--calendar-duration-fast) ease;cursor:pointer;border:none;justify-content:center;align-items:center;font-weight:500;display:inline-flex;position:relative;overflow:hidden}.calendar-button:before{content:"";width:100%;height:100%;transition:transform var(--calendar-duration-normal) ease;background:linear-gradient(90deg,#0000,#fff3,#0000);position:absolute;top:0;left:0;transform:translate(-100%)}.calendar-button:hover:before{transform:translate(100%)}.calendar-button-primary{background:var(--calendar-gradient-primary);color:var(--color-white)}.calendar-button-primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #4f46e566}.calendar-button-secondary{background:var(--calendar-card-bg);color:var(--calendar-primary);border:1px solid var(--calendar-card-border)}.calendar-button-secondary:hover{background:var(--calendar-card-bg-hover);border-color:var(--calendar-primary)}.calendar-time-grid{gap:var(--calendar-spacing-xs);background:var(--calendar-card-bg-hover);padding:var(--calendar-spacing-md);border-radius:var(--calendar-radius-lg);border:1px solid var(--calendar-card-border);display:grid}.calendar-time-slot{padding:var(--calendar-spacing-xs) var(--calendar-spacing-sm);border:1px solid var(--calendar-card-border);background:var(--calendar-card-bg);border-radius:var(--calendar-radius-sm);font-size:var(--calendar-font-size-xs);text-align:center;cursor:pointer;transition:opacity var(--calendar-duration-fast) ease, transform var(--calendar-duration-fast) ease;position:relative}.calendar-time-slot:hover{transform:scale(1.02);box-shadow:0 2px 4px #0000001a}.calendar-time-slot.available{color:var(--calendar-available);border-color:#10b9814d}.calendar-time-slot.available:hover{border-color:var(--calendar-available);background:#10b9811a}.calendar-time-slot.selected{background:var(--calendar-gradient-primary);color:var(--color-white);border-color:var(--calendar-primary);animation:calendar-bounce-in var(--calendar-duration-normal) ease}.calendar-time-slot.busy{color:var(--calendar-busy);cursor:not-allowed;opacity:.6;background:#ef44441a;border-color:#ef44444d}.calendar-time-slot.tentative{color:var(--calendar-tentative);background:#f59e0b1a;border-color:#f59e0b4d}.calendar-header{align-items:center;gap:var(--calendar-spacing-md);padding:var(--calendar-spacing-lg);background:var(--calendar-gradient-primary);color:var(--color-white);border-radius:var(--calendar-radius-xl) var(--calendar-radius-xl) 0 0;display:flex;position:relative;overflow:hidden}.calendar-header:before{content:"";pointer-events:none;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.05'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");position:absolute;inset:0}.calendar-icon{border-radius:var(--calendar-radius-lg);backdrop-filter:blur(10px);width:48px;height:48px;animation:calendar-scale-in var(--calendar-duration-normal) ease var(--calendar-duration-fast);background:#fff3;justify-content:center;align-items:center;display:flex}.calendar-title{font-size:var(--calendar-font-size-xl);animation:calendar-slide-in-right var(--calendar-duration-normal) ease var(--calendar-duration-normal);margin:0;font-weight:600}.calendar-subtitle{font-size:var(--calendar-font-size-sm);opacity:.9;animation:calendar-slide-in-right var(--calendar-duration-normal) ease calc(var(--calendar-duration-normal) + .1s);margin:0}.calendar-event-indicator{align-items:center;gap:var(--calendar-spacing-xs);padding:var(--calendar-spacing-xs) var(--calendar-spacing-sm);border-radius:var(--calendar-radius-full);font-size:var(--calendar-font-size-xs);font-weight:500;display:inline-flex}.calendar-event-indicator.meeting{color:var(--calendar-meeting);background:#4f46e51a;border:1px solid #4f46e533}.calendar-event-indicator.study{color:var(--calendar-study);background:#10b9811a;border:1px solid #10b98133}.calendar-event-indicator.interview{color:var(--calendar-interview);background:#8b5cf61a;border:1px solid #8b5cf633}.calendar-event-indicator.appointment{color:var(--calendar-appointment);background:#f59e0b1a;border:1px solid #f59e0b33}.calendar-loading{padding:var(--calendar-spacing-xl);background:var(--calendar-card-bg-hover);border-radius:var(--calendar-radius-lg);border:1px solid var(--calendar-card-border);justify-content:center;align-items:center;display:flex}.calendar-shimmer{background:linear-gradient(90deg, var(--calendar-card-bg) 0%, var(--calendar-card-bg-hover) 50%, var(--calendar-card-bg) 100%);background-size:200% 100%;animation:2s infinite calendar-shimmer}.calendar-skeleton{background:var(--calendar-card-bg-hover);border-radius:var(--calendar-radius-sm);animation:2s infinite calendar-pulse}.calendar-conflict-warning{align-items:center;gap:var(--calendar-spacing-sm);padding:var(--calendar-spacing-sm) var(--calendar-spacing-md);border-radius:var(--calendar-radius-md);color:#dc2626;font-size:var(--calendar-font-size-sm);animation:calendar-fade-in var(--calendar-duration-normal) ease;background:linear-gradient(135deg,#fef2f2 0%,#fee2e2 100%);border:1px solid #fecaca;display:flex}.calendar-success-state{align-items:center;gap:var(--calendar-spacing-sm);padding:var(--calendar-spacing-sm) var(--calendar-spacing-md);background:var(--calendar-gradient-success);border-radius:var(--calendar-radius-md);color:var(--color-white);font-size:var(--calendar-font-size-sm);animation:calendar-slide-up var(--calendar-duration-normal) ease;display:flex}@media (width<=640px){.calendar-card{border-radius:var(--calendar-radius-lg);margin:var(--calendar-spacing-sm) 0}.calendar-header{padding:var(--calendar-spacing-md)}.calendar-icon{width:40px;height:40px}.calendar-title{font-size:var(--calendar-font-size-lg)}.calendar-time-grid{gap:var(--calendar-spacing-xs);grid-template-columns:repeat(3,1fr)}.calendar-time-slot{padding:var(--calendar-spacing-xs);font-size:.6875rem}}@media (width<=480px){.calendar-time-grid{grid-template-columns:repeat(2,1fr)}.calendar-button{width:100%;margin-bottom:var(--calendar-spacing-sm)}}.calendar-button:focus-visible,.calendar-time-slot:focus-visible{outline:2px solid var(--calendar-primary);outline-offset:2px}@media (prefers-contrast:more){.calendar-card{border-width:2px}.calendar-button-primary{background:var(--calendar-primary)}.calendar-time-slot{border-width:2px}.calendar-time-slot.selected{background:var(--calendar-primary);border-width:3px}}@media (prefers-reduced-motion:reduce){.calendar-card,.calendar-button,.calendar-time-slot,.calendar-icon,.calendar-title,.calendar-subtitle{transition:none;animation:none}.calendar-button:hover,.calendar-time-slot:hover{transform:none}}@media print{.calendar-card{box-shadow:none;border:1px solid var(--color-black);break-inside:avoid}.calendar-header{background:var(--color-black)!important;color:var(--color-white)!important}.calendar-button{border:1px solid var(--color-black);background:var(--color-white)!important;color:var(--color-black)!important}}:root{--canvas-elevation-background:0;--canvas-elevation-grid:1;--canvas-elevation-content:2;--canvas-elevation-active:10;--canvas-elevation-toolbar:50;--canvas-elevation-overlay:100;--canvas-background:#fafafa;--canvas-background-secondary:#f2f2f2;--canvas-background-dark:#141414;--canvas-text:#333;--canvas-text-secondary:gray;--text-color:var(--canvas-text);--primary-color:#0080ff;--canvas-grid-color:#000;--canvas-grid-opacity:.15;--canvas-grid-opacity-reduced:.05;--canvas-selection-color:#0080ff;--canvas-selection-alpha:.3;--canvas-hover-color:#0080ff;--canvas-hover-alpha:.1;--canvas-grid-size:20px;--canvas-grid-major:calc(var(--canvas-grid-size) * 5);--canvas-snap-threshold:10px;--canvas-margin-safe:50px;--canvas-note-min-width:280px;--canvas-note-min-height:200px;--canvas-note-padding:var(--space-4);--canvas-note-border-radius:var(--radius-lg,16px);--canvas-shadow-1:0 1px 3px #0000001f;--canvas-shadow-2:0 4px 6px #0000001a;--canvas-shadow-3:0 8px 25px #0000001f;--canvas-shadow-4:0 12px 40px #00000026;--canvas-shadow-5:0 20px 60px #0003;--canvas-shadow-hover:0 8px 25px #00000026;--canvas-shadow-active:0 4px 12px #0003;--canvas-shadow-dragging:0 16px 48px #00000040;--canvas-timing-fast:.15s;--canvas-timing-normal:.25s;--canvas-timing-slow:.4s;--canvas-easing-standard:cubic-bezier(.4, 0, .2, 1);--canvas-easing-decelerate:cubic-bezier(0, 0, .2, 1);--canvas-easing-accelerate:cubic-bezier(.4, 0, 1, 1);--canvas-hover-lift:translateY(-2px);--canvas-hover-scale:1.02;--canvas-active-scale:.98;--canvas-drag-scale:1.05;--canvas-drag-rotate:2deg;--canvas-font-size-xs:11px;--canvas-font-size-sm:13px;--canvas-font-size-base:14px;--canvas-font-size-lg:16px;--canvas-font-size-xl:18px;--canvas-line-height-tight:1.25;--canvas-line-height-normal:1.5;--canvas-line-height-relaxed:1.75;--canvas-touch-target-min:44px;--canvas-touch-target-mobile:48px;--canvas-drag-threshold:5px;--canvas-double-click-threshold:.25s;--canvas-zoom-min:.1;--canvas-zoom-max:5;--canvas-zoom-step:.1;--canvas-zoom-sensitivity:.1;--canvas-zoom-sensitivity-reduced:.05;--canvas-toolbar-height:60px;--canvas-toolbar-padding:var(--space-3);--canvas-toolbar-gap:var(--space-2);--canvas-toolbar-border-radius:var(--radius-lg,16px);--canvas-toolbar-backdrop-blur:20px;--canvas-button-height:48px;--canvas-button-padding:var(--space-3) 16px;--canvas-button-border-radius:var(--radius-lg,16px);--canvas-button-gap:var(--space-1-5)}:global(.dark){--canvas-background:#141414;--canvas-background-secondary:#1f1f1f;--canvas-text:#e6e6e6;--canvas-text-secondary:#999;--canvas-grid-color:#fff;--canvas-grid-opacity:.1;--canvas-grid-opacity-reduced:.03}@media (width<=768px){:root{--canvas-note-min-width:240px;--canvas-note-min-height:180px;--canvas-note-padding:var(--space-3);--canvas-toolbar-height:56px;--canvas-toolbar-padding:var(--space-2);--canvas-button-height:40px;--canvas-button-padding:var(--space-2) 12px;--canvas-zoom-sensitivity:.15}}@media (prefers-reduced-motion:reduce){:root{--canvas-timing-fast:.01ms;--canvas-timing-normal:.01ms;--canvas-timing-slow:.01ms;--canvas-hover-lift:translateY(0);--canvas-hover-scale:1;--canvas-drag-rotate:0deg;--canvas-grid-opacity:var(--canvas-grid-opacity-reduced)}}.canvas-layer-background{z-index:var(--canvas-elevation-background);position:relative}.canvas-layer-grid{z-index:var(--canvas-elevation-grid);pointer-events:none;position:absolute;inset:0}.canvas-layer-content{z-index:var(--canvas-elevation-content);position:relative}.sticky-note{z-index:var(--canvas-elevation-content);box-shadow:var(--canvas-shadow-2);transition:box-shadow var(--canvas-timing-normal) var(--canvas-easing-standard), transform var(--canvas-timing-normal) var(--canvas-easing-standard), z-index 0s}.flashcard-set{z-index:var(--canvas-elevation-content);box-shadow:var(--canvas-shadow-2);transition:box-shadow var(--canvas-timing-normal) var(--canvas-easing-standard), transform var(--canvas-timing-normal) var(--canvas-easing-standard)}.canvas-layer-active{z-index:var(--canvas-elevation-active)}.sticky-note:hover{z-index:var(--canvas-elevation-active);box-shadow:var(--canvas-shadow-hover);transform:var(--canvas-hover-lift) scale(var(--canvas-hover-scale))}.flashcard-set:hover{z-index:var(--canvas-elevation-active);box-shadow:var(--canvas-shadow-hover);transform:var(--canvas-hover-lift)}.sticky-note.selected,.flashcard-set.selected{z-index:var(--canvas-elevation-active);box-shadow:var(--canvas-shadow-3), 0 0 0 2px var(--canvas-selection-color)}.sticky-note.dragging{z-index:var(--canvas-elevation-active);box-shadow:var(--canvas-shadow-dragging);transform:scale(var(--canvas-drag-scale)) rotate(var(--canvas-drag-rotate));filter:drop-shadow(0 8px 24px var(--color-black-alpha-15,#00000026))}.flashcard-set.dragging{z-index:var(--canvas-elevation-active);box-shadow:var(--canvas-shadow-dragging);transform:scale(var(--canvas-drag-scale));filter:drop-shadow(0 8px 24px var(--color-black-alpha-15,#00000026))}.sticky-note:focus-within,.sticky-note.editing{z-index:var(--canvas-elevation-active);box-shadow:var(--canvas-shadow-4), 0 0 0 2px var(--canvas-selection-color)}.canvas-layer-toolbar{z-index:var(--canvas-elevation-toolbar)}.infinite-canvas-container .toolbar-container,.canvas-container .toolbar-container{z-index:var(--canvas-elevation-toolbar);position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.toolbar{box-shadow:var(--canvas-shadow-3);-webkit-backdrop-filter:blur(var(--canvas-toolbar-backdrop-blur))}.canvas-layer-overlay{z-index:var(--canvas-elevation-overlay)}.zoom-indicator{z-index:var(--canvas-elevation-overlay);color:var(--color-white);padding:var(--space-2) 16px;font-size:var(--canvas-font-size-sm);font-weight:var(--font-medium,500);pointer-events:none;box-shadow:var(--canvas-shadow-3);backdrop-filter:blur(8px);background:#000c;border-radius:20px;position:fixed;top:20px;left:50%;transform:translate(-50%)}.document-count-badge{z-index:var(--canvas-elevation-overlay);color:var(--color-white);padding:var(--space-1-5) 12px;border-radius:var(--radius-lg,16px);font-size:var(--canvas-font-size-xs);font-weight:var(--font-medium,500);box-shadow:var(--canvas-shadow-2);backdrop-filter:blur(4px);background:#0080ffe6;position:absolute;top:16px;right:16px}.elevation-transition{transition:z-index 0s, box-shadow var(--canvas-timing-normal) var(--canvas-easing-standard), transform var(--canvas-timing-normal) var(--canvas-easing-standard)}.elevation-fast-transition{transition:z-index 0s, box-shadow var(--canvas-timing-fast) var(--canvas-easing-standard), transform var(--canvas-timing-fast) var(--canvas-easing-standard)}.grid-background{background-image:radial-gradient(circle at 1px 1px, var(--canvas-grid-color) 1px, transparent 0);background-size:var(--canvas-grid-size) var(--canvas-grid-size);opacity:var(--canvas-grid-opacity);pointer-events:none;will-change:transform, opacity;contain:layout style paint;z-index:var(--canvas-elevation-grid);transition:opacity var(--canvas-timing-normal) var(--canvas-easing-standard);position:absolute;inset:0}.grid-background:before{content:"";background:radial-gradient(circle at center, transparent 0%, var(--color-black-alpha-5,#00000005) 70%, var(--color-black-alpha-5,#0000000d) 100%);pointer-events:none;position:absolute;inset:0}.grid-background:after{content:"";background-image:linear-gradient(to right, var(--canvas-grid-color) 1px, transparent 1px), linear-gradient(to bottom, var(--canvas-grid-color) 1px, transparent 1px);background-size:var(--canvas-grid-major) var(--canvas-grid-major);opacity:.3;pointer-events:none;position:absolute;inset:0}.infinite-canvas.panning .grid-background{opacity:calc(var(--canvas-grid-opacity) * .5)}.infinite-canvas.zooming .grid-background{opacity:calc(var(--canvas-grid-opacity) * .7)}.infinite-canvas:hover .grid-background{opacity:calc(var(--canvas-grid-opacity) * 1.2)}.infinite-canvas[data-zoom-level="0.1"] .grid-background,.infinite-canvas[data-zoom-level="0.2"] .grid-background{opacity:calc(var(--canvas-grid-opacity) * .3)}.infinite-canvas[data-zoom-level="3"] .grid-background,.infinite-canvas[data-zoom-level="4"] .grid-background,.infinite-canvas[data-zoom-level="5"] .grid-background{opacity:calc(var(--canvas-grid-opacity) * 1.5)}.grid-background.dots{background-image:radial-gradient(circle at center, var(--canvas-grid-color) .5px, transparent .5px)}.grid-background.lines{background-image:linear-gradient(to right, var(--canvas-grid-color) .5px, transparent .5px), linear-gradient(to bottom, var(--canvas-grid-color) .5px, transparent .5px)}.grid-background.cross{background-image:radial-gradient(circle at 1px 1px, var(--canvas-grid-color) .5px, transparent .5px), linear-gradient(45deg, transparent 9px, var(--canvas-grid-color) 10px, var(--canvas-grid-color) 11px, transparent 11px), linear-gradient(-45deg, transparent 9px, var(--canvas-grid-color) 10px, var(--canvas-grid-color) 11px, transparent 11px)}@media (width<=768px){.grid-background{background-size:calc(var(--canvas-grid-size) * 1.5) calc(var(--canvas-grid-size) * 1.5)}.grid-background:after{background-size:calc(var(--canvas-grid-major) * 1.5) calc(var(--canvas-grid-major) * 1.5)}}@media (-webkit-device-pixel-ratio>=2),(resolution>=192dpi){.grid-background{background-image:radial-gradient(circle at .5px .5px, var(--canvas-grid-color) .5px, transparent .5px)}}@media (prefers-reduced-motion:reduce){.grid-background{opacity:var(--canvas-grid-opacity-reduced);transition:none}.infinite-canvas.panning .grid-background,.infinite-canvas.zooming .grid-background,.infinite-canvas:hover .grid-background{opacity:var(--canvas-grid-opacity-reduced)}}@media (prefers-contrast:more){.grid-background{opacity:.4}.grid-background:after{opacity:.6}}@keyframes grid-fade-in{0%{opacity:0}to{opacity:var(--canvas-grid-opacity)}}@keyframes grid-fade-out{0%{opacity:var(--canvas-grid-opacity)}to{opacity:0}}.grid-background.fade-in{animation:grid-fade-in var(--canvas-timing-normal) var(--canvas-easing-decelerate)}.grid-background.fade-out{animation:grid-fade-out var(--canvas-timing-normal) var(--canvas-easing-accelerate)}@keyframes grid-pulse{0%,to{opacity:var(--canvas-grid-opacity)}50%{opacity:calc(var(--canvas-grid-opacity) * .3)}}.grid-background.pulse{animation:2s ease-in-out infinite grid-pulse}:global(.dark) .grid-background{opacity:var(--canvas-grid-opacity)}:global(.dark) .grid-background:before{background:radial-gradient(circle at center, transparent 0%, var(--color-white-alpha-5,#ffffff03) 70%, var(--color-white-alpha-5,#ffffff08) 100%)}:global(.dark) .grid-background:after{opacity:.2}.sticky-note{min-width:var(--canvas-note-min-width);min-height:var(--canvas-note-min-height);border-radius:var(--canvas-note-border-radius);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:var(--canvas-font-size-base);line-height:var(--canvas-line-height-normal);box-shadow:var(--canvas-shadow-2);contain:layout style paint;will-change:transform, box-shadow;transition:opacity, transform var(--canvas-timing-normal) var(--canvas-easing-standard);user-select:none;cursor:move;background:linear-gradient(135deg, var(--note-color) 0%, color-mix(in srgb, var(--note-color) 90%, white) 100%);border:1px solid color-mix(in srgb, var(--note-color) 80%, transparent);flex-direction:column;display:flex;position:absolute;overflow:hidden}@supports not (color:color-mix(in srgb, red, blue)){.sticky-note{background:var(--note-color);border:1px solid var(--color-black-alpha-10)}}.sticky-note:before{content:"";background:linear-gradient(90deg, transparent, var(--color-white-alpha-60), transparent);border-top-left-radius:var(--canvas-note-border-radius);border-top-right-radius:var(--canvas-note-border-radius);height:2px;position:absolute;top:0;left:0;right:0}.sticky-note:after{content:"";background:repeating-linear-gradient(45deg, var(--color-black-alpha-5), var(--color-black-alpha-5) 1px, transparent 1px, transparent 3px);opacity:.4;border-radius:3px;width:16px;height:16px;position:absolute;bottom:8px;right:8px}.note-header{padding:var(--space-3) 16px;background:linear-gradient(180deg, var(--color-black-alpha-5) 0%, transparent 100%);font-size:var(--canvas-font-size-sm);border-top-left-radius:var(--canvas-note-border-radius);border-top-right-radius:var(--canvas-note-border-radius);border-bottom:1px solid var(--color-black-alpha-5);justify-content:space-between;align-items:center;display:flex}.author-info{align-items:center;gap:var(--space-2);min-width:0;display:flex}.gravatar{border-radius:var(--radius-full,50%);width:28px;height:28px;box-shadow:0 2px 4px var(--color-black-alpha-10), 0 0 0 2px var(--color-white-alpha-80);will-change:transform;transition:transform var(--canvas-timing-fast) var(--canvas-easing-standard)}.gravatar:hover{transform:scale(1.1)}.author-name{font-weight:var(--font-semibold,600);color:var(--color-black-alpha-80);text-overflow:ellipsis;white-space:nowrap;max-width:120px;overflow:hidden}.note-date{font-size:var(--canvas-font-size-xs);color:var(--color-black-alpha-70);font-weight:var(--font-medium,500);white-space:nowrap}.note-actions{align-items:center;gap:var(--space-1);display:flex}.note-actions button{padding:var(--space-2);border-radius:var(--radius-base,8px);font-size:var(--canvas-font-size-xs);font-weight:var(--font-medium,500);cursor:pointer;transition:opacity, transform var(--canvas-timing-fast) var(--canvas-easing-standard);border:none;justify-content:center;align-items:center;min-width:32px;min-height:32px;display:flex}.edit-btn{background:color-mix(in srgb, var(--color-primary) 10%, transparent);color:var(--color-primary);border:1px solid color-mix(in srgb, var(--color-primary) 20%, transparent)}.edit-btn:hover{background:color-mix(in srgb, var(--color-primary) 15%, transparent);border-color:color-mix(in srgb, var(--color-primary) 30%, transparent);transform:translateY(-1px)}.save-btn{background:color-mix(in srgb, var(--color-success) 10%, transparent);color:var(--color-success);border:1px solid color-mix(in srgb, var(--color-success) 20%, transparent)}.save-btn:hover{background:color-mix(in srgb, var(--color-success) 15%, transparent);border-color:color-mix(in srgb, var(--color-success) 30%, transparent);transform:translateY(-1px)}.delete-btn{background:color-mix(in srgb, var(--color-error) 10%, transparent);color:var(--color-error);border:1px solid color-mix(in srgb, var(--color-error) 20%, transparent);width:32px;height:32px;font-size:var(--text-lg,1.125rem);font-weight:var(--font-semibold,600)}.delete-btn:hover{background:color-mix(in srgb, var(--color-error) 15%, transparent);border-color:color-mix(in srgb, var(--color-error) 30%, transparent);transform:translateY(-1px)scale(1.05)}.note-content{padding:var(--canvas-note-padding);scrollbar-width:thin;scrollbar-color:var(--color-black-alpha-20) transparent;flex:1;overflow:hidden auto}.note-content::-webkit-scrollbar{width:6px}.note-content::-webkit-scrollbar-track{background:0 0}.note-content::-webkit-scrollbar-thumb{background:var(--color-black-alpha-20);border-radius:3px}.note-content::-webkit-scrollbar-thumb:hover{background:var(--color-black-alpha-30)}.content-display{line-height:var(--canvas-line-height-normal);color:var(--color-black-alpha-90);white-space:pre-wrap;word-wrap:break-word;outline:2px solid #0000}.content-display:focus{outline:2px solid var(--canvas-selection-color);outline-offset:2px;border-radius:var(--radius-sm,4px)}.sticky-note:hover{box-shadow:var(--canvas-shadow-hover);transform:var(--canvas-hover-lift) scale(var(--canvas-hover-scale))}.sticky-note.selected{box-shadow:var(--canvas-shadow-3), 0 0 0 2px var(--canvas-selection-color), 0 0 0 4px color-mix(in srgb, var(--color-primary) 10%, transparent)}.sticky-note.dragging{box-shadow:var(--canvas-shadow-dragging);transform:scale(var(--canvas-drag-scale)) rotate(var(--canvas-drag-rotate));filter:drop-shadow(0 8px 24px var(--color-black-alpha-20));opacity:.95;z-index:var(--canvas-elevation-active)}.sticky-note.editing{box-shadow:var(--canvas-shadow-4), 0 0 0 2px var(--canvas-selection-color), 0 0 0 4px color-mix(in srgb, var(--color-primary) 10%, transparent);transform:scale(1.02)}.sticky-note[data-is-document=true]{cursor:pointer;position:relative}.sticky-note[data-is-document=true]:before{background:linear-gradient(135deg, color-mix(in srgb, var(--color-primary) 5%, transparent) 0%, transparent 50%, color-mix(in srgb, var(--color-primary) 5%, transparent) 100%)}.sticky-note[data-is-document=true]:hover{box-shadow:var(--canvas-shadow-hover), 0 0 0 1px color-mix(in srgb, var(--color-primary) 20%, transparent);transform:var(--canvas-hover-lift) scale(1.03)}.sticky-note:focus-visible{outline:3px solid var(--canvas-selection-color);outline-offset:3px}@media (prefers-contrast:more){.sticky-note{background:var(--note-color);border:2px solid}.sticky-note:before,.sticky-note:after{display:none}.note-header{background:0 0;border-bottom:2px solid}}:global(.dark) .sticky-note{box-shadow:0 4px 12px var(--color-black-alpha-30), 0 2px 4px var(--color-black-alpha-20)}:global(.dark) .author-name{color:var(--color-white-alpha-90)}:global(.dark) .note-date{color:var(--color-white-alpha-70)}:global(.dark) .content-display{color:var(--color-white-alpha-90)}:global(.dark) .note-content::-webkit-scrollbar-thumb{background:var(--color-white-alpha-30)}@media (width<=768px){.sticky-note{min-width:calc(var(--canvas-note-min-width) * .9);min-height:calc(var(--canvas-note-min-height) * .9)}.note-header,.note-content{padding:var(--space-3)}.gravatar{width:24px;height:24px}.author-name{max-width:100px}.note-actions button{min-width:32px;min-height:32px;padding:var(--space-1) 8px}}@keyframes note-enter{0%{opacity:0;transform:scale(.8)translateY(20px)}to{opacity:1;transform:scale(1)translateY(0)}}.sticky-note.entering{animation:note-enter var(--canvas-timing-normal) var(--canvas-easing-decelerate)}@keyframes note-exit{0%{opacity:1;transform:scale(1)translateY(0)}to{opacity:0;transform:scale(.8)translateY(-20px)}}.sticky-note.exiting{animation:note-exit var(--canvas-timing-normal) var(--canvas-easing-accelerate)}@keyframes note-pulse{0%,to{box-shadow:var(--canvas-shadow-2)}50%{box-shadow:var(--canvas-shadow-3), 0 0 0 4px color-mix(in srgb, var(--color-primary) 20%, transparent)}}.sticky-note.pulse{animation:1s ease-in-out 3 note-pulse}.zoom-indicator{color:var(--color-white);padding:var(--space-2) 16px;font-size:var(--canvas-font-size-sm);font-weight:var(--font-medium,500);white-space:nowrap;pointer-events:none;z-index:var(--canvas-elevation-overlay);-webkit-backdrop-filter:blur(12px);border:1px solid var(--color-white-alpha-10,#ffffff1a);opacity:0;transition:opacity var(--canvas-timing-fast) var(--canvas-easing-decelerate), transform var(--canvas-timing-fast) var(--canvas-easing-decelerate);background:#000000d9;border-radius:20px;position:fixed;top:20px;left:50%;transform:translate(-50%)translateY(-10px)scale(.9)}.zoom-indicator.visible{opacity:1;transform:translate(-50%)translateY(0)scale(1)}.zoom-indicator.hiding{opacity:0;transition:opacity var(--canvas-timing-normal) var(--canvas-easing-accelerate), transform var(--canvas-timing-normal) var(--canvas-easing-accelerate);transform:translate(-50%)translateY(-5px)scale(.95)}.infinite-canvas.panning .canvas-content{will-change:transform}.selection-box{border:2px solid var(--canvas-selection-color);background:var(--color-primary-alpha-10,#0080ff1a);border-radius:var(--radius-sm,4px);pointer-events:none;z-index:var(--canvas-elevation-active);opacity:0;transition:border-color, box-shadow var(--canvas-timing-fast) var(--canvas-easing-decelerate);position:absolute;transform:scale(.95)}.selection-box.active{opacity:1;transform:scale(1)}.multi-selection-count{background:var(--canvas-selection-color);color:var(--color-white);padding:var(--space-1) 8px;border-radius:var(--radius-lg,16px);font-size:var(--canvas-font-size-xs);font-weight:var(--font-semibold,600);box-shadow:var(--canvas-shadow-2);position:absolute;top:-12px;right:-12px}.drop-zone{border:2px dashed var(--canvas-selection-color);border-radius:var(--canvas-note-border-radius);opacity:0;transition:opacity var(--canvas-timing-normal) var(--canvas-easing-standard), transform var(--canvas-timing-normal) var(--canvas-easing-standard);pointer-events:none;z-index:var(--canvas-elevation-content);background:#0080ff0d;position:absolute;transform:scale(.9)}.drop-zone.active{opacity:1;transform:scale(1)}.drop-zone.hover{background:var(--color-primary-alpha-10,#0080ff1a);box-shadow:0 0 0 4px #0080ff1a, var(--canvas-shadow-2);border-style:solid}.drag-preview{pointer-events:none;z-index:var(--canvas-elevation-overlay);opacity:.9;filter:drop-shadow(var(--canvas-shadow-dragging));transition:opacity var(--canvas-timing-fast) var(--canvas-easing-standard), transform var(--canvas-timing-fast) var(--canvas-easing-standard);position:fixed;transform:scale(.9)rotate(5deg)}.canvas-interactive{transition:opacity var(--canvas-timing-normal) var(--canvas-easing-standard), transform var(--canvas-timing-normal) var(--canvas-easing-standard);cursor:pointer}.canvas-interactive:hover{transform:var(--canvas-hover-lift) scale(var(--canvas-hover-scale))}.canvas-interactive:active{transform:scale(var(--canvas-active-scale));transition:transform var(--canvas-timing-fast) var(--canvas-easing-standard)}.hover-overlay{background:var(--canvas-hover-color);opacity:0;border-radius:inherit;pointer-events:none;transition:opacity var(--canvas-timing-normal) var(--canvas-easing-standard);position:absolute;inset:0}.canvas-interactive:hover .hover-overlay{opacity:var(--canvas-hover-alpha)}.touch-ripple{border-radius:var(--radius-full,50%);background:var(--canvas-selection-color);opacity:.3;pointer-events:none;animation:.6s ease-out touch-ripple;position:absolute;transform:scale(0)}@keyframes touch-ripple{0%{opacity:.3;transform:scale(0)}50%{opacity:.1}to{opacity:0;transform:scale(4)}}.touch-active{filter:brightness(.95);transform:scale(.98)}.gesture-hint-pan{color:var(--canvas-text-secondary);font-size:var(--canvas-font-size-sm);text-align:center;pointer-events:none;opacity:0;animation:3s ease-in-out gesture-hint-fade;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes gesture-hint-fade{0%,to{opacity:0}20%,80%{opacity:.6}}.gesture-hint-pinch{align-items:center;gap:var(--space-2);color:var(--canvas-text-secondary);font-size:var(--canvas-font-size-xs);opacity:0;animation:2s ease-in-out infinite gesture-hint-bounce;display:flex;position:absolute;bottom:100px;left:50%;transform:translate(-50%)}@keyframes gesture-hint-bounce{0%,to{opacity:0;transform:translate(-50%)translateY(10px)}50%{opacity:.7;transform:translate(-50%)translateY(0)}}.canvas-loading{position:relative;overflow:hidden}.canvas-loading:before{content:"";background:linear-gradient(90deg, transparent, var(--color-primary-alpha-10,#0080ff1a), transparent);will-change:transform;width:100%;height:100%;animation:2s infinite canvas-loading-shimmer;position:absolute;top:0;left:0}@keyframes canvas-loading-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.skeleton-note{background:var(--canvas-background-secondary);border-radius:var(--canvas-note-border-radius);width:var(--canvas-note-min-width);height:var(--canvas-note-min-height);position:relative;overflow:hidden}.skeleton-note:after{content:"";background:linear-gradient(90deg, transparent 0%, var(--canvas-background) 50%, transparent 100%);will-change:transform;animation:1.5s ease-in-out infinite skeleton-loading;position:absolute;inset:0}@keyframes skeleton-loading{0%{transform:translate(-100%)}to{transform:translate(100%)}}.error-highlight{box-shadow:0 0 0 2px red, var(--canvas-shadow-2);animation:1s ease-in-out 3 error-pulse}@keyframes error-pulse{0%,to{box-shadow:0 0 0 2px red, var(--canvas-shadow-2)}50%{box-shadow:0 0 0 4px red, var(--canvas-shadow-3)}}.canvas-focusable{outline:2px solid #0000;position:relative}.canvas-focusable:after{content:"";border:2px solid var(--canvas-selection-color);border-radius:calc(var(--canvas-note-border-radius) + 3px);opacity:0;transition:opacity var(--canvas-timing-fast) var(--canvas-easing-standard);position:absolute;inset:-3px}.canvas-focusable:focus-visible:after{opacity:1}@media (prefers-contrast:more){.zoom-indicator{color:var(--color-white);background:#000;border:2px solid #fff}.selection-box,.drop-zone{border-width:3px}}:where(:root){--focus-ring-width:max(2px, calc(var(--a11y-text-scale,1) * 2px));--focus-ring-offset:max(2px, calc(var(--a11y-text-scale,1) * 2px));--focus-ring-color:var(--color-primary-500,var(--color-primary));--focus-ring:var(--focus-ring-width) solid var(--focus-ring-color);--touch-target-size:max(44px, calc(var(--a11y-text-scale,1) * 44px));--theme-transition-duration:var(--duration-normal,.25s);--theme-transition-timing:cubic-bezier(.4, 0, .2, 1);--transition-timing-entrance:cubic-bezier(0, 0, .2, 1);--transition-timing-exit:cubic-bezier(.4, 0, 1, 1);--transition-timing-bounce:cubic-bezier(.34, 1.56, .64, 1);--motion-reduced-duration:1ms;--font-scale-sm:.875rem;--font-scale-base:1rem;--font-scale-lg:1.125rem;--font-scale-xl:1.25rem;--font-scale-2xl:1.5rem;--font-family-base:-apple-system, BlinkMacSystemFont, "Inter", ui-sans-serif, system-ui, "Segoe UI", Roboto;--font-family-heading:var(--font-family-base);--font-family-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--font-family-dyslexic:"OpenDyslexic", "Comic Sans MS", cursive}html[data-high-contrast=true]{--color-primary-500:color-mix(in srgb, var(--color-primary-500) 20%, black);--theme-color-secondary:color-mix(in srgb, var(--color-secondary-500) 20%, black);--theme-color-accent:color-mix(in srgb, var(--color-accent-500) 20%, black);--theme-text-primary:color-mix(in srgb, var(--text-primary) 85%, black);--theme-text-secondary:var(--text-primary);& a:not([class]){color:color-mix(in srgb, var(--color-primary-500) 20%, black);text-underline-offset:.15em;text-decoration:underline .1em}& button:not([disabled]),& [role=button]:not([disabled]){border:2px solid}--border-width:2px;--focus-ring-width:3px;--focus-ring-color:color-mix(in srgb, var(--color-primary-500) 20%, black);& input:not([type=checkbox]):not([type=radio]),& select,& textarea{background-color:color-mix(in srgb, var(--theme-surface-input,white) 90%, white);border:2px solid}}html[data-reduced-motion=true]{--theme-transition-duration:1ms;--motion-reduced-duration:1ms;& *{scroll-behavior:auto!important;opacity:1!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important;transform:none!important}& [data-motion-trigger]{transition:none!important;animation:none!important}& [data-parallax],& [data-scroll-animation]{transition:none!important;animation:none!important;transform:none!important}& .safe-animation{transition-property:color,background-color,border-color!important;transition-duration:1ms!important}}html[data-text-scaling=large]{--font-scale-sm:1rem;--font-scale-base:1.2rem;--font-scale-lg:1.35rem;--font-scale-xl:1.5rem;--font-scale-2xl:1.75rem;&{letter-spacing:.01em;word-spacing:.05em;line-height:1.6}& h1{font-size:calc(var(--font-scale-2xl) * 1.4)}& h2{font-size:calc(var(--font-scale-2xl) * 1.2)}& h3{font-size:var(--font-scale-2xl)}& h4{font-size:var(--font-scale-xl)}& h5{font-size:var(--font-scale-lg)}& h6{font-size:var(--font-scale-base)}& p{margin-bottom:1.2em}& ul,& ol{margin-bottom:1.2em;& li{margin-bottom:.5em}}& input,& select,& textarea,& button{font-size:var(--font-scale-base);padding:calc(.5em + 2px)}}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[role=button]:focus-visible,[role=link]:focus-visible,[role=tab]:focus-visible,[role=menuitem]:focus-visible,[role=option]:focus-visible,[role=checkbox]:focus-visible,[role=radio]:focus-visible,[role=switch]:focus-visible,[role=slider]:focus-visible,[role=spinbutton]:focus-visible,[role=combobox]:focus-visible,[role=listbox]:focus-visible,[role=treeitem]:focus-visible,[tabindex]:not([tabindex="-1"]):focus-visible,summary:focus-visible,details:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset);animation:2s ease-in-out infinite alternate focus-pulse;@media (prefers-reduced-motion:reduce){animation:none}}@keyframes focus-pulse{0%{outline-color:var(--focus-ring-color)}to{outline-color:color-mix(in srgb, var(--focus-ring-color) 80%, transparent)}}.a11y-filters{width:0;height:0;position:absolute;overflow:hidden}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden;&:not(:focus):not(:focus-within){clip:rect(1px, 1px, 1px, 1px)!important;width:1px!important;height:1px!important;position:absolute!important;overflow:hidden!important}}.touch-target{min-width:var(--touch-target-size);min-height:var(--touch-target-size);@media (pointer:coarse){min-width:calc(var(--touch-target-size) * 1.2);min-height:calc(var(--touch-target-size) * 1.2);padding:var(--space-2,.5rem)}@media (pointer:fine){min-width:var(--touch-target-size);min-height:var(--touch-target-size)}&:not(:last-child){margin-right:var(--space-2,.5rem);margin-bottom:var(--space-2,.5rem)}}.text-dyslexic{font-family:var(--font-family-dyslexic);letter-spacing:.05em;word-spacing:.1em;line-height:1.6;& p,& li{max-width:70ch;margin-bottom:1.2em}& a{border-bottom:2px solid;padding-bottom:1px;text-decoration:none}}:where(:root){--a11y-letter-spacing:normal;--a11y-word-spacing:normal;--a11y-line-height:1.5;--a11y-max-text-width:none}html[data-letter-spacing=slight]{--a11y-letter-spacing:.03em}html[data-letter-spacing=medium]{--a11y-letter-spacing:.06em}html[data-letter-spacing=wide]{--a11y-letter-spacing:.12em}html[data-word-spacing=slight]{--a11y-word-spacing:.08em}html[data-word-spacing=medium]{--a11y-word-spacing:.16em}html[data-word-spacing=wide]{--a11y-word-spacing:.25em}html[data-line-height=relaxed]{--a11y-line-height:1.6}html[data-line-height=loose]{--a11y-line-height:1.9}html[data-line-height=spacious]{--a11y-line-height:2.4}:where(:root){--a11y-paragraph-spacing:1em}html[data-paragraph-spacing=relaxed]{--a11y-paragraph-spacing:1.5em}html[data-paragraph-spacing=loose]{--a11y-paragraph-spacing:2em}html[data-paragraph-spacing=spacious]{--a11y-paragraph-spacing:3em}html:is([data-paragraph-spacing=relaxed],[data-paragraph-spacing=loose],[data-paragraph-spacing=spacious]){& p+p,& .paragraph+.paragraph,& .message-content p+p,& .chat-message p+p,& article p+p,& .prose p+p{margin-top:var(--a11y-paragraph-spacing)}}html[data-max-line-width=narrow]{--a11y-max-text-width:45ch}html[data-max-line-width=normal]{--a11y-max-text-width:65ch}html[data-max-line-width=wide]{--a11y-max-text-width:85ch}body{letter-spacing:var(--a11y-letter-spacing);word-spacing:var(--a11y-word-spacing);line-height:var(--a11y-line-height)}html:is([data-max-line-width=narrow],[data-max-line-width=normal],[data-max-line-width=wide]){& p,& li,& .prose,& .text-content,& article,& .message-content,& .chat-message,& [data-text-container]{max-width:var(--a11y-max-text-width)}}.skip-to-content{background:var(--color-primary-500);color:var(--color-white);z-index:100;font-weight:var(--font-semibold,600);box-shadow:0 2px 5px var(--color-black-alpha-20);border:2px solid color-mix(in srgb, var(--color-primary-500) 60%, white);outline-offset:-4px;border-radius:0 0 .5rem .5rem;outline:2px solid #fff;padding:.8rem 1.2rem;text-decoration:none;transition:top .2s ease-in-out;position:absolute;top:-9999px;left:50%;transform:translate(-50%);@media (prefers-reduced-motion:reduce){transition:none}@media (prefers-contrast:more){border:3px solid var(--color-white);background-color:var(--color-black);color:var(--color-white)}}.skip-to-content:focus{top:0}.tts-mode-active p,.tts-mode-active h1,.tts-mode-active h2,.tts-mode-active h3,.tts-mode-active h4,.tts-mode-active h5,.tts-mode-active h6{cursor:pointer}.tts-mode-active p:hover,.tts-mode-active h1:hover,.tts-mode-active h2:hover,.tts-mode-active h3:hover,.tts-mode-active h4:hover,.tts-mode-active h5:hover,.tts-mode-active h6:hover{background-color:var(--color-primary-alpha-10,#2d5b3e1a)}.tts-highlight{transition:background-color .3s;background-color:var(--color-highlight-yellow)!important}.focus-mode-active p:not(.current-paragraph),.focus-mode-active li:not(.current-paragraph),.focus-mode-active h1:not(.current-paragraph),.focus-mode-active h2:not(.current-paragraph),.focus-mode-active h3:not(.current-paragraph),.focus-mode-active h4:not(.current-paragraph),.focus-mode-active h5:not(.current-paragraph),.focus-mode-active h6:not(.current-paragraph){opacity:.3;transition:opacity .2s}.focus-mode-active p:hover,.focus-mode-active li:hover,.focus-mode-active h1:hover,.focus-mode-active h2:hover,.focus-mode-active h3:hover,.focus-mode-active h4:hover,.focus-mode-active h5:hover,.focus-mode-active h6:hover{background-color:var(--color-highlight-yellow-light);transition:background-color .3s}.current-paragraph{border-left:3px solid var(--color-warning-400);padding-left:.625rem;opacity:1!important;background-color:var(--color-highlight-yellow-strong)!important}html[data-high-contrast=true] button:not([disabled]),html[data-high-contrast=true] input:not([disabled]):not([type=checkbox]):not([type=radio]),html[data-high-contrast=true] a:not(.skip-to-content),html[data-high-contrast=true] .btn:not([disabled]),html[data-high-contrast=true] [role=button]:not([disabled]){border-style:solid;border-width:2px;background-color:var(--color-black)!important;color:var(--color-white)!important;border-color:var(--color-white)!important}html[data-high-contrast=true] button:not([disabled]):hover,html[data-high-contrast=true] input:not([disabled]):not([type=checkbox]):not([type=radio]):hover,html[data-high-contrast=true] a:not(.skip-to-content):hover,html[data-high-contrast=true] .btn:not([disabled]):hover,html[data-high-contrast=true] [role=button]:not([disabled]):hover{background-color:var(--color-white)!important;color:var(--color-black)!important}html[data-high-contrast=true] :focus-visible{outline-offset:2px;outline:3px solid #ff0!important}@media (forced-colors:active){button,[role=button],.btn{color:buttontext;background-color:buttonface;border:2px solid buttontext}button:hover,[role=button]:hover,.btn:hover{color:highlight;border-color:highlight}a{color:linktext;text-decoration:underline}a:hover{text-decoration-thickness:3px}input,select,textarea{color:canvastext;background-color:canvas;border:2px solid buttontext}input:hover,select:hover,textarea:hover{border-color:highlight}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[role=button]:focus-visible,[role=link]:focus-visible,[role=tab]:focus-visible,[role=menuitem]:focus-visible,[role=option]:focus-visible,[role=checkbox]:focus-visible,[role=radio]:focus-visible,[role=switch]:focus-visible,[role=slider]:focus-visible,[role=combobox]:focus-visible,[role=listbox]:focus-visible,[role=treeitem]:focus-visible,[tabindex]:not([tabindex="-1"]):focus-visible,summary:focus-visible{outline-offset:2px;outline:3px solid highlight}button:disabled,input:disabled,select:disabled,textarea:disabled,[role=button][aria-disabled=true],[aria-disabled=true]{color:graytext;border-color:graytext}svg,svg [fill]:not([fill=none]):not([fill=currentColor]){fill:currentColor}svg [stroke]:not([stroke=none]):not([stroke=currentColor]){stroke:currentColor}input[type=checkbox],input[type=radio]{forced-color-adjust:auto}[role=checkbox],[role=radio]{background-color:canvas;border:2px solid buttontext}[role=checkbox][aria-checked=true],[role=radio][aria-checked=true]{color:highlighttext;background-color:highlight;border-color:highlight}[role=checkbox][aria-checked=mixed]{color:highlight;background-color:canvas;border-color:highlight}[role=switch]{background-color:canvas;border:2px solid buttontext}[role=switch][aria-checked=true]{background-color:highlight;border-color:highlight}.toggle-switch{border:2px solid buttontext}::selection{color:highlighttext;background-color:highlight}mark{color:marktext;background-color:mark}.skip-to-content{color:linktext;background-color:canvas;border:2px solid buttontext;outline:none}.skip-to-content:focus{outline-offset:2px;outline:3px solid highlight}input::placeholder,textarea::placeholder{color:graytext}hr,table,th,td{border-color:canvastext}[aria-current=page],[aria-current=step],[aria-current=true]{border:2px solid highlight;outline:none}[aria-selected=true],[aria-expanded=true]{color:highlight;border-color:highlight}[role=dialog],[role=alertdialog],dialog{border:2px solid canvastext}.tts-highlight{forced-color-adjust:none;color:highlighttext!important;background-color:highlight!important}.current-paragraph{border-left:3px solid highlight}}.infinite-canvas-container,.canvas-container{container:canvas/inline-size}@container canvas (width<=720px){.infinite-canvas-container{overscroll-behavior:none;-webkit-overflow-scrolling:touch;touch-action:manipulation;width:100dvw;height:100dvh}.infinite-canvas{touch-action:pan-x pan-y pinch-zoom;user-select:none}}@supports not (container-type:inline-size){@media (width<=768px){.infinite-canvas-container{overscroll-behavior:none;-webkit-overflow-scrolling:touch;touch-action:manipulation;width:100dvw;height:100dvh}.infinite-canvas{touch-action:pan-x pan-y pinch-zoom;user-select:none}}}@container canvas (width<=720px){.sticky-note{min-width:var(--canvas-note-min-width);min-height:var(--canvas-note-min-height);padding:var(--canvas-note-padding);border-radius:var(--canvas-note-border-radius)}.toolbar-btn{min-width:var(--canvas-touch-target-min);min-height:var(--canvas-touch-target-min);padding:var(--canvas-button-padding);position:relative}.toolbar-btn:before{content:"";position:absolute;inset:-8px}.flashcard-set{min-width:300px}.flashcard-set .flashcard{min-height:var(--canvas-touch-target-mobile)}}@supports not (container-type:inline-size){@media (width<=768px){.sticky-note{min-width:var(--canvas-note-min-width);min-height:var(--canvas-note-min-height);padding:var(--canvas-note-padding);border-radius:var(--canvas-note-border-radius)}.toolbar-btn{min-width:var(--canvas-touch-target-min);min-height:var(--canvas-touch-target-min);padding:var(--canvas-button-padding);position:relative}.toolbar-btn:before{content:"";position:absolute;inset:-8px}.flashcard-set{min-width:300px}.flashcard-set .flashcard{min-height:var(--canvas-touch-target-mobile)}}}@container canvas (width<=720px){.infinite-canvas-container .toolbar-container,.canvas-container .toolbar-container{padding:var(--space-3);background:0 0;position:fixed;bottom:0;left:0;right:0;transform:none}.toolbar{background:var(--color-white-alpha-80);-webkit-backdrop-filter:blur(20px)saturate(1.8);border-radius:var(--radius-xl,24px);width:100%;padding:var(--space-3) 12px calc(12px + env(safe-area-inset-bottom)) 12px;box-shadow:var(--shadow-lg);justify-content:space-around}.toolbar-btn{gap:var(--space-1);padding:var(--space-2) 12px;min-width:64px;font-size:var(--canvas-font-size-xs);flex-direction:column;line-height:1}}@container canvas (width<=440px){.toolbar-btn span{display:none}}@supports not (container-type:inline-size){@media (width<=768px){.infinite-canvas-container .toolbar-container,.canvas-container .toolbar-container{padding:var(--space-3);background:0 0;position:fixed;bottom:0;left:0;right:0;transform:none}.toolbar{background:var(--color-white-alpha-80);-webkit-backdrop-filter:blur(20px)saturate(1.8);border-radius:var(--radius-xl,24px);width:100%;padding:var(--space-3) 12px calc(12px + env(safe-area-inset-bottom)) 12px;box-shadow:var(--shadow-lg);justify-content:space-around}.toolbar-btn{gap:var(--space-1);padding:var(--space-2) 12px;min-width:64px;font-size:var(--canvas-font-size-xs);flex-direction:column;line-height:1}}@media (width<=480px){.toolbar-btn span{display:none}}}.touch-ripple-container{position:relative;overflow:hidden}.touch-ripple{border-radius:var(--radius-full,50%);background:var(--canvas-selection-color);opacity:.3;pointer-events:none;animation:.6s ease-out mobile-ripple;position:absolute}@keyframes mobile-ripple{0%{opacity:.3;transform:scale(0)}50%{opacity:.1}to{opacity:0;transform:scale(4)}}.pinch-zoom-indicator{border:3px solid var(--canvas-selection-color);border-radius:var(--radius-full,50%);opacity:0;pointer-events:none;width:64px;height:64px;z-index:var(--canvas-elevation-overlay);transition:opacity var(--canvas-timing-fast) var(--canvas-easing-standard), transform var(--canvas-timing-fast) var(--canvas-easing-standard);position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.pinch-zoom-indicator.active{opacity:.6;transform:translate(-50%,-50%)scale(1.2)}.long-press-active{animation:.6s ease-in-out long-press-pulse}@keyframes long-press-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@container canvas (width<=720px){.grid-background{background-size:calc(var(--canvas-grid-size) * 1.2) calc(var(--canvas-grid-size) * 1.2);opacity:calc(var(--canvas-grid-opacity) * .7)}.grid-background:after{background-size:calc(var(--canvas-grid-major) * 1.2) calc(var(--canvas-grid-major) * 1.2)}}@supports not (container-type:inline-size){@media (width<=768px){.grid-background{background-size:calc(var(--canvas-grid-size) * 1.2) calc(var(--canvas-grid-size) * 1.2);opacity:calc(var(--canvas-grid-opacity) * .7)}.grid-background:after{background-size:calc(var(--canvas-grid-major) * 1.2) calc(var(--canvas-grid-major) * 1.2)}}}.mobile-fab{border-radius:var(--radius-full,50%);background:var(--canvas-selection-color);width:56px;height:56px;color:var(--color-white);box-shadow:var(--canvas-shadow-3);z-index:var(--canvas-elevation-toolbar);cursor:pointer;transition:opacity var(--canvas-timing-normal) var(--canvas-easing-standard), transform var(--canvas-timing-normal) var(--canvas-easing-standard);border:none;justify-content:center;align-items:center;display:flex;position:fixed;bottom:80px;right:16px}.mobile-fab:hover{box-shadow:var(--canvas-shadow-4);transform:scale(1.1)}.mobile-fab:active{transform:scale(.95)}.mobile-fab-menu{align-items:center;gap:var(--space-3);opacity:0;pointer-events:none;transition:opacity var(--canvas-timing-normal) var(--canvas-easing-decelerate), transform var(--canvas-timing-normal) var(--canvas-easing-decelerate);flex-direction:column-reverse;display:flex;position:fixed;bottom:80px;right:16px;transform:scale(.8)}.mobile-fab-menu.open{opacity:1;pointer-events:auto;transform:scale(1)}.mobile-fab-menu-item{border-radius:var(--radius-full,50%);background:var(--canvas-background);border:2px solid var(--canvas-selection-color);width:48px;height:48px;color:var(--canvas-selection-color);cursor:pointer;box-shadow:var(--canvas-shadow-2);transition:opacity var(--canvas-timing-fast) var(--canvas-easing-standard), transform var(--canvas-timing-fast) var(--canvas-easing-standard);justify-content:center;align-items:center;display:flex}.mobile-fab-menu-item:hover{background:var(--canvas-selection-color);color:var(--color-white);transform:scale(1.1)}.mobile-zoom-controls{gap:var(--space-2);background:var(--color-white-alpha-90);border-radius:var(--radius-xl,24px);padding:var(--space-2);box-shadow:var(--canvas-shadow-2);backdrop-filter:blur(10px);opacity:0;pointer-events:none;transition:opacity var(--canvas-timing-normal) var(--canvas-easing-standard), transform var(--canvas-timing-normal) var(--canvas-easing-standard);flex-direction:column;display:flex;position:fixed;top:50%;right:16px;transform:translateY(-50%)}.mobile-zoom-controls.visible{opacity:1;pointer-events:auto}.mobile-zoom-btn{border-radius:var(--radius-full,50%);background:var(--canvas-background);width:40px;height:40px;color:var(--canvas-text);cursor:pointer;transition:opacity var(--canvas-timing-fast) var(--canvas-easing-standard), transform var(--canvas-timing-fast) var(--canvas-easing-standard);border:none;justify-content:center;align-items:center;display:flex}.mobile-zoom-btn:hover{background:var(--canvas-selection-color);color:var(--color-white);transform:scale(1.1)}.edge-gesture-area{width:16px;z-index:var(--canvas-elevation-active);pointer-events:auto;position:absolute;top:0;bottom:0}.edge-gesture-area.left{left:0}.edge-gesture-area.right{right:0}.edge-gesture-indicator{background:var(--canvas-selection-color);opacity:0;width:4px;height:40px;transition:opacity var(--canvas-timing-fast) var(--canvas-easing-standard);border-radius:2px;position:absolute;top:50%;transform:translateY(-50%)}.edge-gesture-area.left .edge-gesture-indicator{left:2px}.edge-gesture-area.right .edge-gesture-indicator{right:2px}.edge-gesture-area.active .edge-gesture-indicator{opacity:.6}@container canvas (width<=720px){.content-loading-overlay{background:var(--color-white-alpha-95);backdrop-filter:blur(8px)}:global(.dark) .content-loading-overlay{background:var(--color-black-alpha-90)}}@supports not (container-type:inline-size){@media (width<=768px){.content-loading-overlay{background:var(--color-white-alpha-95);backdrop-filter:blur(8px)}:global(.dark) .content-loading-overlay{background:var(--color-black-alpha-90)}}}@container canvas (width<=720px) and (orientation:landscape){.infinite-canvas-container .toolbar-container,.canvas-container .toolbar-container{padding:var(--space-2) 16px}.toolbar{padding:var(--space-2) 16px calc(8px + env(safe-area-inset-bottom)) 16px;border-radius:var(--radius-lg,16px)}.mobile-fab,.mobile-fab-menu{bottom:64px;right:40px}}@supports not (container-type:inline-size){@media (width<=768px) and (orientation:landscape){.infinite-canvas-container .toolbar-container,.canvas-container .toolbar-container{padding:var(--space-2) 16px}.toolbar{padding:var(--space-2) 16px calc(8px + env(safe-area-inset-bottom)) 16px;border-radius:var(--radius-lg,16px)}.mobile-fab,.mobile-fab-menu{bottom:64px;right:40px}}}@container canvas (width<=720px){:global(.dark) .toolbar{background:var(--color-black-alpha-80);border:1px solid var(--color-white-alpha-10)}:global(.dark) .mobile-zoom-controls{background:var(--color-black-alpha-90);border:1px solid var(--color-white-alpha-10)}:global(.dark) .mobile-fab-menu-item{background:var(--color-neutral-900);border-color:var(--canvas-selection-color)}}@supports not (container-type:inline-size){@media (width<=768px){:global(.dark) .toolbar{background:var(--color-black-alpha-80);border:1px solid var(--color-white-alpha-10)}:global(.dark) .mobile-zoom-controls{background:var(--color-black-alpha-90);border:1px solid var(--color-white-alpha-10)}:global(.dark) .mobile-fab-menu-item{background:var(--color-neutral-900);border-color:var(--canvas-selection-color)}}}@container canvas (width<=440px){.sticky-note{min-width:240px;min-height:180px;font-size:var(--canvas-font-size-sm)}.toolbar-btn{min-width:48px;padding:var(--space-2)}.mobile-fab{width:48px;height:48px;bottom:70px;right:16px}}@container canvas (width<=375px){.sticky-note{min-width:200px;min-height:160px}.canvas-breadcrumb{gap:.25rem;font-size:.75rem}.universe-view__empty-title{font-size:1.125rem}.universe-view__empty-subtitle{padding-inline:.5rem;font-size:.875rem}}@supports not (container-type:inline-size){@media (width<=480px){.sticky-note{min-width:240px;min-height:180px;font-size:var(--canvas-font-size-sm)}.toolbar-btn{min-width:48px;padding:var(--space-2)}.mobile-fab{width:48px;height:48px;bottom:70px;right:16px}}}@container canvas (width>=440px) and (width<=720px){.sticky-note{min-width:300px;min-height:220px}.toolbar{padding:var(--space-4)}}@supports not (container-type:inline-size){@media (width>=480px) and (width<=768px){.sticky-note{min-width:300px;min-height:220px}.toolbar{padding:var(--space-4)}}}@container canvas (width<=720px){.canvas-content.is-animating{will-change:transform}.sticky-note,.flashcard-set{contain:layout style paint}@supports not (backdrop-filter:blur(20px)){.toolbar,.mobile-zoom-controls{background:var(--canvas-background);border:1px solid var(--canvas-text-secondary)}}}@supports not (container-type:inline-size){@media (width<=768px){.canvas-content{will-change:transform}.sticky-note,.flashcard-set{contain:layout style paint}@supports not (backdrop-filter:blur(20px)){.toolbar,.mobile-zoom-controls{background:var(--canvas-background);border:1px solid var(--canvas-text-secondary)}}}}.infinite-canvas,.canvas-content,.sticky-note,.flashcard-set{will-change:transform, opacity;contain:layout style paint;isolation:isolate;backface-visibility:hidden;perspective:1000px;transform-style:preserve-3d;-webkit-transform-style:preserve-3d;transform:translate(0,0)}.infinite-canvas-container{will-change:contents;contain:layout style paint size;content-visibility:auto;backface-visibility:hidden;transform:translateZ(0)}.grid-background{will-change:transform, opacity;contain:strict;image-rendering:crisp-edges;background-attachment:local;transform:translate(0,0)}.canvas-content{transform:translate3d(var(--canvas-offset-x,0), var(--canvas-offset-y,0), 0) scale3d(var(--canvas-zoom,1), var(--canvas-zoom,1), 1);transform-origin:0 0 0;contain:layout style paint size;-webkit-transform:translate3d(var(--canvas-offset-x,0), var(--canvas-offset-y,0), 0) scale3d(var(--canvas-zoom,1), var(--canvas-zoom,1), 1)}.sticky-note{transform:translate3d(var(--note-x,0), var(--note-y,0), var(--note-z,0)) scale3d(var(--note-scale,1), var(--note-scale,1), 1);contain:layout style paint;will-change:transform, opacity;-webkit-transform:translate3d(var(--note-x,0), var(--note-y,0), var(--note-z,0));transform-style:preserve-3d}.flashcard-set{transform:translate3d(var(--flashcard-x,0), var(--flashcard-y,0), var(--flashcard-z,0)) scale3d(var(--flashcard-scale,1), var(--flashcard-scale,1), 1);contain:layout style paint size;will-change:transform, opacity;-webkit-transform:translate3d(var(--flashcard-x,0), var(--flashcard-y,0), var(--flashcard-z,0))}.canvas-interactive{will-change:transform;touch-action:manipulation;-webkit-tap-highlight-color:transparent;isolation:isolate;transform:translateZ(0)}.performance-animation{transition:transform var(--canvas-timing-normal) var(--canvas-easing-standard), opacity var(--canvas-timing-normal) var(--canvas-easing-standard);will-change:transform, opacity}.sticky-note:hover{transform:translate3d(var(--note-x,0), var(--note-y,0), 2px) scale3d(1.02, 1.02, 1);filter:drop-shadow(0 8px 16px var(--shadow-color-md));will-change:transform, filter}.flashcard-set:hover{transform:translate3d(var(--flashcard-x,0), var(--flashcard-y,0), 2px) rotateX(2deg);filter:drop-shadow(0 6px 12px var(--shadow-color-sm))}.sticky-note.dragging{transform:translate3d(var(--note-x,0), var(--note-y,0), 8px) scale3d(1.05, 1.05, 1) rotate3d(0, 0, 1, 2deg);will-change:transform, filter, opacity;filter:drop-shadow(0 12px 24px var(--shadow-color-lg));contain:layout style paint}.infinite-canvas.panning{will-change:transform;transform-style:preserve-3d;cursor:grabbing;filter:brightness(.95)}.infinite-canvas.zooming{will-change:transform;transition:transform .1s cubic-bezier(.25,.46,.45,.94)}.canvas-loading{opacity:.7;filter:blur(.5px);transition:opacity .3s,filter .3s;transform:translateZ(0)}.canvas-scrollable{contain:layout style;-webkit-overflow-scrolling:touch;overflow:auto}.canvas-fixed-size{contain:size layout style}.canvas-independent{contain:paint}.canvas-isolated{contain:strict}.viewport-observer{contain:layout style paint;content-visibility:auto;contain-intrinsic-size:350px 250px}.off-screen{content-visibility:hidden;contain-intrinsic-size:350px 250px}.on-screen{content-visibility:visible}.skeleton-placeholder{contain:strict;content-visibility:auto;contain-intrinsic-size:var(--placeholder-width,350px) var(--placeholder-height,250px)}.inactive-note{contain:strict;box-shadow:none;backdrop-filter:none;border-radius:var(--radius-base,8px)}.inactive-note:before,.inactive-note:after{display:none}.canvas-zoom-high{image-rendering:auto;text-rendering:optimizeQuality}.canvas-zoom-high .grid-background{background-size:calc(var(--canvas-grid-size) * .5) calc(var(--canvas-grid-size) * .5)}.canvas-zoom-low{image-rendering:pixelated;text-rendering:optimizespeed}.canvas-zoom-low .sticky-note{border-radius:var(--radius-sm,4px);box-shadow:var(--canvas-shadow-1)}.canvas-zoom-low .sticky-note:before,.canvas-zoom-low .sticky-note:after{display:none}.touch-optimized{touch-action:manipulation;-webkit-tap-highlight-color:transparent;user-select:none}.passive-events{touch-action:pan-x pan-y}.compositing-layer{isolation:isolate;transform:translateZ(0)}.toolbar{isolation:isolate;contain:layout style paint;transform:translateZ(0)}.zoom-indicator,.selection-box{contain:layout style paint;transform:translateZ(0)}.performance-critical{will-change:transform, opacity;contain:layout style paint;isolation:isolate;transform:translateZ(0)}.performance-monitor{z-index:9999;backdrop-filter:blur(8px);background:var(--overlay-dark);color:var(--color-success-300);font-family:Courier New,monospace;font-size:var(--text-xs,.75rem);padding:var(--space-2) 16px;border-radius:var(--radius-base,8px);contain:layout style paint;will-change:contents;position:fixed;top:8px;left:8px;transform:translateZ(0)}.performance-monitor:before{content:"▶ GPU: " attr(data-gpu-status) " | FPS: " attr(data-fps) " | MEM: " attr(data-memory);white-space:pre-line;display:block}.performance-warning{border:2px solid var(--color-error-400);box-shadow:0 0 10px var(--color-error-alpha-50);animation:2s infinite performance-pulse}@keyframes performance-pulse{0%,to{opacity:1;transform:translateZ(0)scale(1)}50%{opacity:.8;transform:translateZ(0)scale(1.02)}}.fps-counter{z-index:9998;background:var(--color-success-alpha-90);color:var(--text-on-primary);padding:var(--space-2);border-radius:var(--radius-base,8px);font-size:var(--text-xs,.75rem);font-weight:var(--font-bold,700);contain:layout style paint;will-change:contents;position:fixed;top:48px;left:8px;transform:translateZ(0)}.memory-indicator{z-index:9997;contain:layout style paint;position:fixed;top:88px;left:8px;transform:translateZ(0)}.memory-bar{background:var(--overlay-light);border-radius:var(--radius-base,8px);width:96px;height:8px;overflow:hidden}.memory-usage{background:linear-gradient(90deg, var(--color-success), var(--color-warning), var(--color-error));border-radius:var(--radius-base,8px);height:100%;transition:width .3s}.gpu-status{z-index:9996;padding:var(--space-2);border-radius:var(--radius-base,8px);font-size:var(--text-xs,.75rem);font-weight:var(--font-bold,700);background:var(--gpu-status-color,var(--color-error-alpha-90));color:var(--text-on-primary);position:fixed;top:128px;left:8px;transform:translateZ(0)}.gpu-status.accelerated{--gpu-status-color:var(--color-success-alpha-90)}.gpu-status.partially-accelerated{--gpu-status-color:var(--color-warning-alpha-90)}.gpu-status.not-accelerated{--gpu-status-color:var(--color-error-alpha-90)}.performance-overlay{pointer-events:none;will-change:transform, opacity;contain:layout style paint;isolation:isolate;position:absolute;transform:translateZ(0)}.layer-visualization{z-index:9995;background:var(--overlay-dark);color:var(--color-info);padding:var(--space-2);border-radius:var(--radius-base,8px);font-size:var(--text-xs,.75rem);font-family:monospace;position:fixed;bottom:8px;left:8px;transform:translateZ(0)}.layer-count{margin-bottom:var(--space-2,.5rem);display:block}.layer-cost{font-size:var(--text-xs,.75rem);opacity:.8;display:block}@media (width<=768px){.grid-background:before,.sticky-note:before,.sticky-note:after{display:none}.toolbar{backdrop-filter:blur(10px)}.sticky-note:hover{transform:translate3d(var(--note-x,0), var(--note-y,0), 0) translateY(-1px)}}@media (width<=480px){.grid-background{opacity:.05}.sticky-note{box-shadow:var(--canvas-shadow-1)}.toolbar{backdrop-filter:none;background:var(--canvas-background);border:1px solid var(--canvas-text-secondary)}.sticky-note:hover{transform:translate3d(var(--note-x,0), var(--note-y,0), 0)}}@supports ((-webkit-appearance:none)){.canvas-content{-webkit-transform:translate3d(var(--canvas-offset-x,0), var(--canvas-offset-y,0), 0) scale(var(--canvas-zoom,1))}.grid-background{-webkit-background-attachment:local}}@-moz-document url-prefix(){.canvas-content{transform-style:preserve-3d}}@supports (contain:strict){.sticky-note,.flashcard-set{contain:layout style paint}}@media (prefers-reduced-motion:reduce){.infinite-canvas,.canvas-content,.sticky-note,.flashcard-set{will-change:auto;transform:none}.performance-animation{transition:none}.grid-background{contain:size}}@media print{.infinite-canvas,.canvas-content,.sticky-note,.flashcard-set{will-change:auto;contain:none;transform:none}.grid-background{display:none}}.optimization-section{margin-top:var(--space-4,1rem);padding-top:var(--space-2,.5rem);border-top:1px solid var(--border-subtle)}.section-header{font-size:var(--text-xs,.75rem);font-weight:var(--font-bold,700);color:var(--color-info);margin-bottom:var(--space-2,.5rem);padding-bottom:var(--space-2,.5rem);border-bottom:1px solid var(--color-info-alpha-20);align-items:center;gap:var(--space-2);display:flex}.optimization-controls{margin-top:var(--space-4,1rem);padding-top:var(--space-2,.5rem);border-top:1px solid var(--border-subtle)}.control-row{padding:var(--space-2) 0;border-bottom:1px solid var(--border-faint);align-items:center;display:flex}.control-row:last-child{border-bottom:none}.control-label{align-items:center;gap:var(--space-2);color:var(--text-primary);font-size:11px;font-weight:var(--font-medium,500);cursor:pointer;width:100%;transition:color .2s;display:flex}.control-label:hover{color:var(--color-info)}.control-label input[type=checkbox]{accent-color:var(--color-success);cursor:pointer;width:16px;height:16px}.metric-value.success{color:var(--color-success)}.metric-value.info{color:var(--color-info)}.performance-monitor[data-performance-mode=true]{border-color:var(--color-warning-alpha-50)}.performance-monitor[data-performance-mode=true] .performance-header{background:var(--color-warning-alpha-10)}.performance-monitor[data-performance-mode=true] .section-header{color:var(--color-warning)}.metric-value[data-culling-efficiency=high]:after{content:"▲";margin-left:var(--space-2,.5rem);font-size:var(--text-xs,.75rem);color:var(--color-success-500,#22c55e)}.metric-value[data-culling-efficiency=medium]:after{content:"●";margin-left:var(--space-2,.5rem);font-size:var(--text-xs,.75rem);color:var(--color-warning-500,#eab308)}.metric-value[data-culling-efficiency=low]:after{content:"▼";margin-left:var(--space-2,.5rem);font-size:var(--text-xs,.75rem);color:var(--color-error-500,#ef4444)}.culling-visualization{align-items:center;gap:var(--space-2);margin-top:var(--space-2,.5rem);padding:var(--space-2);background:var(--overlay-medium);border-radius:var(--radius-base,8px);border:1px solid var(--border-subtle);display:flex}.culling-stats{gap:var(--space-4);font-size:var(--text-xs,.75rem);display:flex}.culling-stat{align-items:center;gap:var(--space-2);flex-direction:column;display:flex}.culling-stat-value{font-weight:var(--font-bold,700);font-size:var(--text-xs,.75rem)}.culling-stat-label{color:var(--text-secondary-alpha-70);font-size:var(--text-xs,.75rem);text-transform:uppercase;letter-spacing:.5px}.culling-stat.visible .culling-stat-value{color:var(--color-success)}.culling-stat.culled .culling-stat-value{color:var(--color-info)}.culling-stat.recycled .culling-stat-value{color:var(--color-warning)}.recycling-pool-indicator{align-items:center;gap:var(--space-2);font-size:var(--text-xs,.75rem);padding:var(--space-2);border-radius:var(--radius-lg,16px);background:var(--color-warning-alpha-20);color:var(--color-warning);border:1px solid var(--color-warning-alpha-30);display:inline-flex}.memory-savings{align-items:center;gap:var(--space-2);display:inline-flex;position:relative}.memory-savings-bar{background:var(--overlay-light);border-radius:var(--radius-base,8px);width:40px;height:8px;overflow:hidden}.memory-savings-fill{background:linear-gradient(90deg, var(--color-success), var(--color-success-300));border-radius:var(--radius-base,8px);height:100%;transition:width .3s}.optimization-badge{align-items:center;gap:var(--space-2);font-size:var(--text-xs,.75rem);font-weight:var(--font-bold,700);padding:var(--space-2);border-radius:var(--radius-lg,16px);text-transform:uppercase;letter-spacing:.5px;display:inline-flex}.optimization-badge.enabled{background:var(--color-success-alpha-20);color:var(--color-success);border:1px solid var(--color-success-alpha-30)}.optimization-badge.disabled{background:var(--color-neutral-alpha-20);color:var(--color-neutral-500);border:1px solid var(--color-neutral-alpha-30)}.optimization-badge.performance-mode{background:var(--color-warning-alpha-20);color:var(--color-warning);border:1px solid var(--color-warning-alpha-30)}.culled-element{opacity:.3;pointer-events:none;position:relative}.culled-element:after{content:"⊘";z-index:1000;pointer-events:none;color:var(--color-warning-alpha-50,#eab30880);font-size:32px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.recycled-element{border:2px dashed var(--color-warning-alpha-50);position:relative}.recycled-element:before{content:"↻";font-size:var(--text-base,1rem);z-index:1000;background:var(--overlay-medium);border-radius:var(--radius-full,50%);padding:var(--space-0-5);position:absolute;top:-8px;right:-8px}@keyframes optimization-warning-pulse{0%,to{opacity:1;color:var(--color-error-400)}50%{opacity:.6;color:var(--color-warning)}}.viewport-bounds{border:2px solid var(--color-info-alpha-50);background:var(--color-info-alpha-10);pointer-events:none;z-index:1000;will-change:transform;position:absolute;transform:translateZ(0)}.viewport-bounds:after{content:"VIEWPORT";font-size:var(--text-xs,.75rem);font-weight:var(--font-bold,700);color:var(--color-info);background:var(--overlay-dark);padding:var(--space-2);border-radius:var(--radius-base,8px);position:absolute;top:-24px;left:0}.buffer-zone{border:1px dashed var(--color-success-alpha-50);background:var(--color-success-alpha-5);pointer-events:none;z-index:999;position:absolute;transform:translateZ(0)}.buffer-zone:after{content:"BUFFER";font-size:var(--text-xs,.75rem);font-weight:var(--font-bold,700);color:var(--color-success);background:var(--overlay-medium);padding:var(--space-2);border-radius:var(--radius-base,8px);position:absolute;top:-24px;right:0}@media (width<=768px){.optimization-section,.optimization-controls{margin-top:var(--space-2,.5rem);padding-top:var(--space-2,.5rem)}.section-header{font-size:var(--text-xs,.75rem);margin-bottom:var(--space-2,.5rem)}.control-label{font-size:var(--text-xs,.75rem);gap:var(--space-2)}.control-label input[type=checkbox]{width:16px;height:16px}.culling-visualization{gap:var(--space-2);padding:var(--space-2);flex-direction:column}.culling-stats{gap:var(--space-2)}.optimization-badge{font-size:var(--text-xs,.75rem);padding:var(--space-2)}.memory-savings-bar{width:32px}}:is(:global(.dark) .optimization-section,:global(.dark) .optimization-controls){border-color:var(--border-faint)}:global(.dark) .control-row{border-color:var(--border-faint)}:global(.dark) .culling-visualization{background:var(--overlay-light);border-color:var(--border-subtle)}:global(.dark) .optimization-badge.enabled{background:var(--color-success-alpha-15);border-color:var(--color-success-alpha-25)}:global(.dark) .optimization-badge.disabled{background:var(--color-neutral-alpha-15);border-color:var(--color-neutral-alpha-25)}:global(.dark) .optimization-badge.performance-mode{background:var(--color-warning-alpha-15);border-color:var(--color-warning-alpha-25)}@media (prefers-contrast:more){.optimization-section,.optimization-controls{border-color:currentColor}.section-header{color:currentColor;border-color:currentColor}.control-label{color:currentColor}.optimization-badge{color:currentColor;border-color:currentColor}}.canvas-element[data-visible=true]{display:block}.canvas-element{will-change:transform, opacity;contain:layout style paint;transform:translate(0,0)}.infinite-canvas-container{contain:layout style paint;isolation:isolate;background-color:var(--canvas-background);width:100%;height:100%;min-height:400px;max-height:100%;color:var(--canvas-text);border-radius:var(--radius-base,8px);box-shadow:0 2px 8px var(--color-neutral-alpha-10);flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden;transform:translateZ(0);container-type:inline-size}.infinite-canvas{cursor:grab;will-change:transform;width:100%;height:100%;min-height:0;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;touch-action:none;-webkit-overflow-scrolling:touch;flex:1;position:relative}.infinite-canvas.panning{cursor:grabbing;filter:brightness(.95);transition:filter .2s}.infinite-canvas.zooming{transition:transform .1s ease-out}.canvas-content{width:100%;height:100%;transform:translate3d(var(--canvas-offset-x,0px), var(--canvas-offset-y,0px), 0) scale(var(--canvas-zoom,1));will-change:transform;contain:layout style paint;transform-origin:0 0;position:absolute;top:0;left:0}.content-loading-overlay{background:var(--color-white-alpha-80);backdrop-filter:blur(4px);justify-content:center;align-items:center;gap:var(--space-4,1rem);z-index:var(--canvas-elevation-overlay,100);flex-direction:column;display:flex;position:absolute;inset:0}:global(.dark) .content-loading-overlay{background:var(--overlay-dark)}.stats-overlay{z-index:var(--canvas-elevation-overlay,100);background:var(--color-white-alpha-95);-webkit-backdrop-filter:blur(var(--canvas-toolbar-backdrop-blur,20px));border:1px solid var(--color-white-alpha-30);border-radius:var(--canvas-toolbar-border-radius,16px);box-shadow:var(--canvas-shadow-3,0 8px 25px #0000001f), 0 0 0 1px var(--canvas-selection-color,#0080ff);pointer-events:auto;isolation:isolate;transition:opacity var(--canvas-timing-normal,.25s) var(--canvas-easing-standard,cubic-bezier(.4, 0, .2, 1)), transform var(--canvas-timing-normal,.25s) var(--canvas-easing-standard,cubic-bezier(.4, 0, .2, 1)), box-shadow var(--canvas-timing-fast,.15s) var(--canvas-easing-standard,cubic-bezier(.4, 0, .2, 1));animation:stats-fade-in var(--canvas-timing-slow,.4s) var(--canvas-easing-decelerate,cubic-bezier(0, 0, .2, 1));position:absolute;top:20px;right:20px;visibility:visible!important;opacity:1!important;display:block!important}@keyframes stats-fade-in{0%{opacity:0;transform:translateY(-10px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.stats-overlay.fullscreen{top:32px;right:32px}:global(.dark) .stats-overlay{background:var(--overlay-heavy);border-color:var(--color-white-alpha-10)}.stats-compact{gap:var(--canvas-toolbar-gap,8px);padding:var(--canvas-toolbar-padding,12px);align-items:center;min-width:min-content;display:flex}.stats-content{gap:var(--canvas-toolbar-gap,8px);transition:opacity var(--canvas-timing-normal,.25s) var(--canvas-easing-standard,cubic-bezier(.4, 0, .2, 1)), transform var(--canvas-timing-normal,.25s) var(--canvas-easing-standard,cubic-bezier(.4, 0, .2, 1));align-items:center;display:flex}.stats-content.hidden{opacity:0;pointer-events:none;transform:scale(.9)}.stats-toggle{background:var(--color-white-alpha-10);border-radius:var(--radius-base,8px);cursor:pointer;width:32px;height:32px;transition:background-color var(--canvas-timing-fast,.15s) var(--canvas-easing-standard,cubic-bezier(.4, 0, .2, 1));border:none;justify-content:center;align-items:center;display:none}.stats-toggle:hover{background:var(--color-white-alpha-20)}:global(.dark) .stats-toggle{background:var(--color-white-alpha-10)}:global(.dark) .stats-toggle:hover{background:var(--color-white-alpha-20)}.toggle-icon{width:16px;height:16px;transition:transform var(--canvas-timing-normal,.25s) var(--canvas-easing-standard,cubic-bezier(.4, 0, .2, 1))}.toggle-icon.rotated{transform:rotate(180deg)}.stat-item{align-items:center;gap:var(--space-1);border-radius:var(--canvas-button-border-radius,12px);min-width:60px;padding:var(--space-2);transition:background-color var(--canvas-timing-fast,.15s) var(--canvas-easing-standard,cubic-bezier(.4, 0, .2, 1));flex-direction:column;display:flex;position:relative}.stat-item:hover{background-color:var(--canvas-hover-color,var(--color-black-alpha-5))}:global(.dark) .stat-item:hover{background-color:var(--color-white-alpha-10)}.stat-icon{stroke-width:2px;flex-shrink:0;width:20px;height:20px}.stat-value{font-size:var(--canvas-font-size-lg,16px);font-weight:var(--font-semibold,600);color:var(--canvas-text);line-height:var(--canvas-line-height-tight,1.25)}.stat-value-split{align-items:center;gap:var(--space-0-5);display:flex}.stat-value-split .created{color:var(--canvas-text)}.stat-value-split .separator{color:var(--canvas-text-secondary);font-weight:var(--font-normal,400)}.stat-value-split .mastered{color:var(--color-success,#16a249);font-weight:var(--font-bold,700)}:global(.dark) .stat-value-split .mastered{color:var(--color-success,#1fe066)}.stat-label{font-size:var(--canvas-font-size-xs,11px);font-weight:var(--font-medium,500);color:var(--canvas-text-secondary);text-transform:uppercase;letter-spacing:.5px;line-height:var(--canvas-line-height-tight,1.25)}@container (width<=640px){.stats-overlay{max-width:none;top:12px;left:12px;right:12px}.stats-toggle{display:flex}.stats-compact{padding:var(--space-2) 12px;justify-content:flex-start}.stats-content{margin-left:var(--space-2,.5rem)}.stat-item{min-width:auto;padding:var(--space-2);flex:1}.stat-icon{width:16px;height:16px}.stat-value{font-size:var(--canvas-font-size-base,14px)}.stat-label{font-size:.75rem}}@container (width<=480px){.stats-compact{gap:var(--space-1);padding:var(--space-2)}.stat-item{gap:var(--space-0-5);padding:var(--space-1)}.stat-icon{width:16px;height:16px}.stat-value{font-size:var(--canvas-font-size-sm,13px)}.stat-label{font-size:.75rem}}@media (prefers-contrast:more){.infinite-canvas-container{border:2px solid}.stats-overlay{backdrop-filter:none;background:canvas;border:2px solid}.stat-item:hover{color:highlighttext;background-color:highlight}.stat-value-split .mastered{color:currentColor;font-weight:var(--font-bold,700)}}@media print{.stats-overlay{display:none}}.performance-monitor{z-index:10000;contain:layout style paint;background:var(--overlay-heavy);backdrop-filter:blur(8px);border:1px solid var(--color-white-alpha-10);border-radius:var(--radius-base,8px);color:var(--color-status-success);opacity:0;pointer-events:none;min-width:200px;max-width:280px;font-family:Courier New,monospace;font-size:11px;transition:opacity .3s,transform .3s;position:fixed;top:60px;right:10px;transform:translateZ(0)translateY(-10px)scale(.95)}.performance-monitor.visible{opacity:1;pointer-events:auto;transform:translateZ(0)translateY(0)scale(1)}.performance-header{padding:var(--space-2) 12px;border-bottom:1px solid var(--color-white-alpha-10);background:var(--color-success-alpha-10);justify-content:space-between;align-items:center;display:flex}.performance-close{color:var(--color-status-error);font-size:var(--text-base,1rem);font-weight:var(--font-bold,700);cursor:pointer;border-radius:var(--radius-full,50%);background:0 0;border:none;justify-content:center;align-items:center;width:20px;height:20px;padding:0;transition:background-color .2s;display:flex}.performance-close:hover{background:var(--color-error-alpha-20)}.performance-metrics{padding:var(--space-2) 12px}.metric-row{border-bottom:1px solid var(--color-white-alpha-5);justify-content:space-between;align-items:center;padding:3px 0;display:flex}.metric-row:last-child{border-bottom:none}.metric-label{color:var(--color-text-inverse);font-weight:var(--font-medium,500);min-width:80px}.metric-value{color:var(--color-status-success);font-weight:var(--font-bold,700);text-align:right}.metric-value.warning{color:var(--color-status-error);animation:1.5s infinite performance-warning-pulse}.metric-value.accelerated{color:var(--color-status-success)}@keyframes performance-warning-pulse{0%,to{opacity:1}50%{opacity:.6}}.performance-toggle{z-index:9999;background:var(--overlay-dark);border:2px solid var(--color-success-alpha-30);border-radius:var(--radius-full,50%);width:40px;height:40px;font-size:var(--text-base,1rem);color:var(--color-status-success);cursor:pointer;justify-content:center;align-items:center;transition:opacity .3s,transform .3s;display:flex;position:fixed;top:20px;right:200px;transform:translateZ(0)}.performance-toggle:hover{background:var(--color-success-alpha-10);border-color:var(--color-success-alpha-60);transform:translateZ(0)scale(1.1)}.performance-toggle:active{transform:translateZ(0)scale(.95)}.gpu-accelerated{will-change:transform, opacity;backface-visibility:hidden;transform-style:preserve-3d;-webkit-transform-style:preserve-3d;transform:translate(0,0)}.performance-warning{position:relative}.performance-warning:after{content:"⚠️";font-size:var(--text-xs,.75rem);color:var(--color-white);border-radius:var(--radius-full,50%);z-index:1;background:#ff6b6be6;justify-content:center;align-items:center;width:20px;height:20px;animation:2s infinite performance-warning-bounce;display:flex;position:absolute;top:-5px;right:-5px}@keyframes performance-warning-bounce{0%,20%,50%,80%,to{transform:translateY(0)scale(1)}40%{transform:translateY(-3px)scale(1.1)}60%{transform:translateY(-1px)scale(1.05)}}@media (width<=768px){.performance-monitor{max-width:none;font-size:10px;top:50px;left:5px;right:5px}.performance-toggle{width:35px;height:35px;font-size:var(--text-sm,.875rem);top:10px;right:50px}.metric-row{padding:var(--space-0-5) 0}}:global(.dark) .performance-monitor{border-color:var(--color-white-alpha-10);background:#141414f2}:global(.dark) .performance-header{background:#00ff0026}:global(.dark) .performance-toggle{background:var(--overlay-heavy)}:root{--modal-max-width-sm:640px;--modal-max-width-md:768px;--modal-max-width-lg:1024px;--modal-max-width-xl:1280px;--modal-max-width-2xl:1536px;--modal-max-width-3xl:1920px;--modal-content-padding:var(--space-6,1.5rem);--modal-content-padding-lg:2rem;--modal-content-padding-ultrawide:3rem}.modal-backdrop-blur{z-index:var(--z-index-modal-backdrop);background-color:var(--color-black-alpha-30);-webkit-backdrop-filter:blur(8px);touch-action:manipulation;-webkit-tap-highlight-color:transparent;justify-content:center;align-items:center;animation:.2s ease-out backdrop-fade-in;display:flex;position:fixed;inset:0}.modal-backdrop-blur-strong{background-color:var(--color-black-alpha-40);-webkit-backdrop-filter:blur(12px)}.modal-backdrop-blur-light{background-color:var(--color-black-alpha-20);-webkit-backdrop-filter:blur(6px)}.modal-backdrop-glass{background:linear-gradient(135deg, var(--color-white-alpha-10), var(--color-white-alpha-5));-webkit-backdrop-filter:blur(10px)}.dark .modal-backdrop-blur{background-color:var(--color-black-alpha-50)}.dark .modal-backdrop-blur-strong{background-color:var(--color-black-alpha-60)}.dark .modal-backdrop-blur-light{background-color:var(--color-black-alpha-30)}.dark .modal-backdrop-glass{background:linear-gradient(135deg, var(--color-black-alpha-30), var(--color-black-alpha-20))}@media (prefers-reduced-motion:reduce){.modal-backdrop-blur,.modal-backdrop-blur-strong,.modal-backdrop-blur-light,.modal-backdrop-glass{-webkit-backdrop-filter:blur(4px);animation:none}}@supports (-webkit-touch-callout:none){.modal-backdrop-blur,.modal-backdrop-blur-strong,.modal-backdrop-blur-light,.modal-backdrop-glass{-webkit-backdrop-filter:none;background-color:var(--color-black-alpha-60)}.dark .modal-backdrop-blur,.dark .modal-backdrop-blur-strong,.dark .modal-backdrop-blur-light,.dark .modal-backdrop-glass{background-color:var(--color-black-alpha-70);background-color:var(--color-black-alpha-70)}.modal-backdrop-blur{animation:none}.modal-content,.modal-body{will-change:transform;transform:translate(0,0)}}@supports not (backdrop-filter:blur(8px)){.modal-backdrop-blur{background-color:var(--color-black-alpha-50)}.modal-backdrop-blur-strong{background-color:var(--color-black-alpha-60)}.modal-backdrop-blur-light,.modal-backdrop-glass{background-color:var(--color-black-alpha-40)}}@keyframes backdrop-fade-in{0%{opacity:0}to{opacity:1}}.modal-content-glass{background:var(--theme-surface,var(--color-white-alpha-95));-webkit-backdrop-filter:blur(20px);border:1px solid var(--color-white-alpha-20);box-shadow:0 8px 32px 0 var(--color-black-alpha-10), 0 4px 16px 0 var(--color-black-alpha-10)}.dark .modal-content-glass{background:color-mix(in srgb, var(--color-surface) 95%, transparent);border:1px solid var(--color-white-alpha-10);box-shadow:0 8px 32px 0 var(--color-black-alpha-40), 0 4px 16px 0 var(--color-black-alpha-20)}.modal-transition-base{transition:transform,opacity .3s cubic-bezier(.4,0,.2,1)}.modal-transition-fast{transition:transform,opacity .2s cubic-bezier(.4,0,.2,1)}.modal-body-fill{flex-direction:column;flex:auto;min-height:0;display:flex}.modal-body-fill>*{flex:auto;min-height:0}.modal-body-fill-scroll{-webkit-overflow-scrolling:touch;flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden auto}.modal-focus-trap:focus-visible{outline:2px solid var(--theme-color-primary,var(--color-primary-500));outline-offset:2px}.modal-open{width:100%;height:100%;position:fixed;overflow:hidden}.modal-portal{pointer-events:none}.modal-portal>*{pointer-events:all}.modal-width-sm{width:min(95vw, var(--modal-max-width-sm));margin-inline:auto}.modal-width-md{width:min(95vw, var(--modal-max-width-md));margin-inline:auto}.modal-width-lg{width:min(95vw, var(--modal-max-width-lg));margin-inline:auto}.modal-width-xl{width:min(95vw, var(--modal-max-width-xl));margin-inline:auto}.modal-width-2xl{width:min(95vw, var(--modal-max-width-2xl));margin-inline:auto}.modal-width-3xl{width:min(95vw, var(--modal-max-width-3xl));margin-inline:auto}.modal-fullscreen-content{width:100%;max-width:var(--modal-max-width-2xl);padding-inline:var(--modal-content-padding);margin-inline:auto}@media (width>=2560px){.modal-fullscreen-content{max-width:var(--modal-max-width-3xl);padding-inline:var(--modal-content-padding-ultrawide)}.modal-width-sm,.modal-width-md,.modal-width-lg,.modal-width-xl,.modal-width-2xl{margin-inline:auto}}@media (width>=1920px) and (width<=2559px){.modal-fullscreen-content{max-width:var(--modal-max-width-2xl);padding-inline:var(--modal-content-padding-lg)}}@media (width<=640px){.modal-fullscreen-content{padding-inline:var(--space-4,1rem)}}.modal-overlay{z-index:var(--z-index-modal-fullscreen,9999);background-color:var(--overlay-background,var(--color-black-alpha-50));touch-action:manipulation;-webkit-tap-highlight-color:transparent;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dark .modal-overlay{background-color:var(--overlay-background-dark,var(--color-black-alpha-60))}.modal-content{width:100%;max-width:var(--modal-max-width-lg,48rem);background-color:var(--surface-card,white);border-radius:var(--shape-modal,var(--card-radius,.75rem));overflow:hidden}.modal-content.modal-sm{max-width:var(--modal-max-width-sm,640px)}.modal-content.modal-lg{max-width:var(--modal-max-width-lg,1024px)}.modal-content.modal-xl{max-width:var(--modal-max-width-xl,1280px)}.modal-header{padding:var(--space-4,1rem);border-bottom:1px solid var(--border-subtle,color-mix(in srgb, var(--text-tertiary) 20%, transparent));justify-content:space-between;align-items:center;display:flex}.modal-title{font-size:var(--botanical-text-xl,1.5rem);font-weight:var(--botanical-weight-semibold,600);color:var(--text-primary)}.modal-close-btn{color:var(--text-tertiary);padding:var(--space-2,.5rem);cursor:pointer;transition:color var(--transition-fast,.15s) ease;border-radius:var(--shape-button,var(--radius-sm,.375rem));background:0 0;border:none}.modal-close-btn:hover{color:var(--text-secondary);background-color:color-mix(in srgb, var(--surface-card) 95%, var(--text-tertiary))}.modal-close-btn:focus-visible{outline:2px solid var(--focus-ring-color,var(--color-accent));outline-offset:2px}.modal-body{padding:var(--space-6,1.5rem)}.btn-circular-primary{padding:var(--space-3,.75rem);border-radius:var(--shape-avatar,var(--radius-full,9999px));background-color:var(--color-primary-500,var(--color-primary-500));color:var(--text-on-primary,white);box-shadow:var(--shadow-primary,0 4px 12px rgba(var(--color-primary-rgb,45, 91, 62), .2));cursor:pointer;transition:background-color var(--transition-fast,.15s) ease, transform var(--transition-fast,.15s) ease, box-shadow var(--transition-fast,.15s) ease;border:none}.btn-circular-primary:hover{background-color:var(--color-primary-600,var(--color-primary-600));box-shadow:var(--shadow-sm);transform:translateY(-1px)}.btn-circular-primary:active{transform:translateY(0)}.text-medium{font-weight:var(--botanical-weight-medium,500)}.text-semibold{font-weight:var(--botanical-weight-semibold,600)}.text-heading-lg{font-size:var(--botanical-text-xl,1.5rem);font-weight:var(--botanical-weight-semibold,600);color:var(--text-primary)}.opacity-75{opacity:.75}.layout-centered{justify-content:center;align-items:center;display:flex}.layout-full{width:100%;height:100%}.layout-full-surface{background-color:var(--surface-background);width:100%;height:100%}.absolute-top-right{top:var(--space-4,1rem);right:var(--space-4,1rem);position:absolute}.icon-md{width:1.5rem;height:1.5rem}.empty-state{text-align:center;padding-top:var(--space-12,3rem);padding-bottom:var(--space-12,3rem)}.empty-state-text{color:var(--text-secondary);margin-bottom:var(--space-4,1rem)}.empty-state-subtext{font-size:var(--botanical-text-sm,.875rem);color:var(--text-tertiary)}.mt-2{margin-top:var(--space-2,.5rem)}.space-y-1>*+*{margin-top:var(--space-1,.25rem)}.z-10{z-index:10}.overflow-hidden{overflow:hidden}.relative{position:relative}.w-full{width:100%}.h-auto{height:auto}.w-32{width:3rem}.w-4{width:1rem}.w-5{width:1.25rem}.h-4{height:1rem}.h-5{height:1.25rem}.flex-row{flex-direction:row}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.gap-2{gap:var(--space-2,.5rem)}.flex-shrink-0{flex-shrink:0}.flex-wrap{flex-wrap:wrap}.min-w-fit{min-width:fit-content}.pl-1{padding-left:var(--space-1,.25rem)}.mb-2{margin-bottom:var(--space-2,.5rem)}.mb-3{margin-bottom:var(--space-3,.75rem)}.ml-1{margin-left:var(--space-1,.25rem)}.ml-2{margin-left:var(--space-2,.5rem)}.mt-1{margin-top:var(--space-1,.25rem)}.-mt-1{margin-top:calc(-1 * var(--space-1,.25rem))}.my-2{margin-top:var(--space-2,.5rem);margin-bottom:var(--space-2,.5rem)}.my-4{margin-top:var(--space-4,1rem);margin-bottom:var(--space-4,1rem)}.px-2{padding-left:var(--space-2,.5rem);padding-right:var(--space-2,.5rem)}.py-1{padding-top:var(--space-1,.25rem);padding-bottom:var(--space-1,.25rem)}.px-4{padding-left:var(--space-4,1rem);padding-right:var(--space-4,1rem)}.py-2{padding-top:var(--space-2,.5rem);padding-bottom:var(--space-2,.5rem)}.px-5{padding-left:var(--space-6,1.25rem);padding-right:var(--space-6,1.25rem)}.py-3{padding-top:var(--space-3,.75rem);padding-bottom:var(--space-3,.75rem)}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.rounded-3xl{border-radius:var(--shape-card,var(--radius-3xl,1.5rem))}.rounded-md{border-radius:var(--shape-input,var(--radius-md,.5rem))}.rounded-lg{border-radius:var(--shape-card,var(--radius-lg,.75rem))}.bg-card{background-color:var(--surface-card)}.bg-surface-container{background-color:var(--surface-card)}.bg-transparent{background-color:#0000}.bg-blue-100{background-color:color-mix(in srgb, var(--color-primary-500,var(--color-primary-500)) 10%, var(--surface-card))}.dark .bg-blue-100{background-color:color-mix(in srgb, var(--color-primary-500,var(--color-primary-500)) 20%, var(--surface-background))}.bg-blue-900{background-color:color-mix(in srgb, var(--color-primary-500,var(--color-primary-500)) 80%, black)}.dark .bg-blue-900{background-color:color-mix(in srgb, var(--color-primary-500,var(--color-primary-500)) 60%, black)}.text-tertiary,.text-muted{color:var(--text-tertiary)}.text-link{color:var(--color-primary)}.text-blue-800{color:color-mix(in srgb, var(--color-primary) 90%, black)}.dark .text-blue-800{color:color-mix(in srgb, var(--color-primary) 70%, black)}.text-blue-200{color:color-mix(in srgb, var(--color-primary) 30%, white)}.dark .text-blue-200{color:color-mix(in srgb, var(--color-primary) 50%, white)}.text-sm{font-size:var(--botanical-text-sm,.875rem)}.hover\:text-high-contrast:hover{color:var(--text-primary)}.hover\:underline:hover{text-decoration:underline}.invisible{visibility:hidden}.group:hover .group-hover\:visible{visibility:visible}.uppercase{text-transform:uppercase}.tracking-widest{letter-spacing:.1em}.outline-none{outline:2px solid #0000}.outline-none:focus-visible{outline:2px solid var(--theme-primary,var(--color-primary));outline-offset:2px;box-shadow:0 0 0 2px var(--color-primary-500)}.resize-none{resize:none}.self-center{align-self:center}[dir=ltr]{direction:ltr}.transition{transition:opacity, transform var(--transition-fast,.15s) ease}.typography-caption-medium{font-size:var(--botanical-text-xs,.75rem);font-weight:var(--botanical-weight-medium,500)}.typography-caption-small{font-size:var(--botanical-text-xs,.75rem)}.typography-button-medium{font-size:var(--botanical-text-base,1rem);font-weight:var(--botanical-weight-medium,500)}.typography-label-medium{font-size:var(--botanical-text-sm,.875rem);font-weight:var(--botanical-weight-medium,500)}.space-x-2>*+*{margin-left:var(--space-2,.5rem)}.group{position:relative}@media (width<=768px){.modal-content{border-radius:var(--shape-modal,var(--card-radius,.75rem));max-width:95vw}.modal-header,.modal-body{padding:var(--space-4,1rem)}.modal-title{font-size:var(--botanical-text-lg,1.25rem)}}.modal-content{container:modal-body/inline-size}@container modal-body (width<=320px){.modal-header{padding:var(--space-3,.75rem);gap:var(--space-2,.5rem);flex-direction:column}.modal-title{font-size:var(--botanical-text-base,1rem)}.modal-close-btn{top:var(--space-2,.5rem);right:var(--space-2,.5rem);position:absolute}.modal-body{padding:var(--space-3,.75rem)}}@container modal-body (width>=321px) and (width<=480px){.modal-header{padding:var(--space-3,.75rem) var(--space-4,1rem)}.modal-title{font-size:var(--botanical-text-lg,1.25rem)}.modal-body{padding:var(--space-4,1rem)}.modal-button-group{gap:var(--space-2,.5rem);flex-direction:column;display:flex}.modal-button-group button{width:100%}}@container modal-body (width>=481px) and (width<=700px){.modal-header{padding:var(--space-4,1rem)}.modal-title{font-size:var(--botanical-text-xl,1.5rem)}.modal-body{padding:var(--space-6,1.5rem)}.modal-button-group{gap:var(--space-3,.75rem);grid-template-columns:1fr 1fr;display:grid}}@container modal-body (width>=701px){.modal-header{padding:var(--space-6,1.5rem)}.modal-title{font-size:var(--botanical-text-2xl,1.875rem)}.modal-body{padding:var(--space-8,2rem)}.modal-button-group{gap:var(--space-4,1rem);grid-template-columns:1fr 1fr;display:grid}}@container modal-body (width<=480px){.modal-form-row{flex-direction:column}.modal-form-field{width:100%}.modal-form-row .modal-form-field:not(:last-child){margin-bottom:var(--space-4,1rem)}}@container modal-body (width>=481px) and (width<=700px){.modal-form-row{gap:var(--space-4,1rem);grid-template-columns:1fr 1fr;display:grid}.modal-form-row.full-width .modal-form-field{grid-column:1/-1}}@container modal-body (width>=701px){.modal-form-row{gap:var(--space-6,1.5rem);grid-template-columns:1fr 1fr 1fr;display:grid}.modal-form-row.two-col .modal-form-field{grid-column:span 2}.modal-form-row.full-width .modal-form-field{grid-column:1/-1}}@container modal-body (width<=480px){.modal-title{line-height:1.2}.modal-description{font-size:var(--botanical-text-sm,.875rem)}.modal-label{font-size:var(--botanical-text-xs,.75rem)}}@container modal-body (width>=481px){.modal-description{font-size:var(--botanical-text-base,1rem)}.modal-label{font-size:var(--botanical-text-sm,.875rem)}}@container modal-body (width<=480px){.modal-content-list{gap:var(--space-2,.5rem);flex-direction:column}.modal-list-item{padding:var(--space-2,.5rem);font-size:var(--botanical-text-sm,.875rem)}.modal-list-item .col-hidden-sm{display:none}}@container modal-body (width>=481px) and (width<=700px){.modal-content-list{gap:var(--space-3,.75rem);grid-template-columns:repeat(2,1fr);display:grid}.modal-list-item .col-hidden-md{display:none}}@container modal-body (width>=701px){.modal-content-list{gap:var(--space-4,1rem);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));display:grid}}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);min-height:var(--touch-target-preferred);font-family:var(--font-primary);font-size:var(--text-base);font-weight:var(--font-medium);text-align:center;white-space:nowrap;border-radius:var(--shape-button);color:inherit;cursor:pointer;transition:background-color, border-color, color, box-shadow, transform var(--duration-fast) var(--ease-out);user-select:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:0 0;border:none;line-height:1;text-decoration:none;display:inline-flex}.btn::-moz-focus-inner{border:0}@media (hover:none) and (pointer:coarse){.btn:active:not(:disabled){opacity:.9;transform:scale(.98)}}.btn-primary{background:var(--button-primary-background,var(--color-primary-500));color:var(--button-primary-text,var(--text-inverse));box-shadow:var(--shadow-sm);border:none}.btn-primary:hover:not(:disabled){background:var(--button-primary-background-hover,var(--color-primary-600));box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-primary:active:not(:disabled){background:var(--button-primary-background,var(--color-primary-500));box-shadow:var(--shadow-sm);transform:translateY(0)}.btn-secondary{background:var(--surface-interactive);color:var(--text-primary);border:1px solid var(--border-color-default)}.btn-secondary:hover:not(:disabled){background:var(--surface-hover);border-color:var(--border-hover)}.btn-secondary:active:not(:disabled){background:var(--surface-active)}.btn-ghost{color:var(--text-secondary);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--surface-hover);color:var(--text-primary)}.btn-ghost:active:not(:disabled){background:var(--surface-active)}.btn-danger{background:var(--color-error);color:var(--text-inverse)}.btn-danger:hover:not(:disabled){background:color-mix(in srgb, var(--color-error) 90%, black)}.btn-success{background:var(--color-success);color:var(--text-inverse)}.btn-success:hover:not(:disabled){background:color-mix(in srgb, var(--color-success) 90%, black)}.btn-warning{background:var(--color-warning);color:var(--text-inverse)}.btn-warning:hover:not(:disabled){background:color-mix(in srgb, var(--color-warning) 90%, black)}.btn-info{background:var(--color-info);color:var(--text-inverse)}.btn-info:hover:not(:disabled){background:color-mix(in srgb, var(--color-info) 90%, black)}.btn-link{color:var(--color-primary-500);text-underline-offset:4px;padding:var(--space-1) var(--space-2);background:0 0;min-height:auto;text-decoration:underline}.btn-link:hover:not(:disabled){color:var(--color-primary-600)}.btn-xs{padding:var(--space-1) var(--space-3);font-size:var(--text-xs);min-height:var(--touch-target-min)}.btn-sm{padding:var(--space-2) var(--space-4);font-size:var(--text-sm);min-height:var(--touch-target-min)}.btn-lg{padding:var(--space-4) var(--space-8);font-size:var(--text-lg);min-height:calc(var(--touch-target-preferred) + 8px)}.btn-xl{padding:var(--space-6) var(--space-10);font-size:var(--text-xl);min-height:calc(var(--touch-target-preferred) + 16px)}.btn:disabled,.btn[aria-disabled=true]{background:var(--color-disabled-bg,var(--color-neutral-200,#e5e7eb));color:var(--color-disabled-text,var(--color-neutral-500,#6b7280));border-color:var(--color-disabled-border,transparent);cursor:not-allowed;box-shadow:none;transform:none}.btn-loading{color:#0000;pointer-events:none;position:relative}.btn-loading:after{content:"";border-radius:var(--radius-full,50%);border:2px solid;border-top-color:#0000;width:16px;height:16px;animation:.6s linear infinite btn-spin;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.btn-primary.btn-loading:after,.btn-danger.btn-loading:after,.btn-success.btn-loading:after{border-color:var(--color-white);border-top-color:#0000}.btn[aria-pressed=true]{background:var(--surface-active);box-shadow:inset 0 4px 4px var(--color-black-alpha-10)}.btn:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-outline-offset)}.btn-icon{padding:var(--space-3);justify-content:center;align-items:center;width:40px;min-width:40px;height:40px;min-height:40px;display:inline-flex}.btn-icon-sm{padding:var(--space-2);width:var(--size-touch-target-min);height:var(--size-touch-target-min);min-width:var(--size-touch-target-min);min-height:var(--size-touch-target-min)}.btn-icon-lg{padding:var(--space-4);width:48px;min-width:48px;height:48px;min-height:48px}.btn-icon-square{aspect-ratio:1}.btn-icon-circle{border-radius:var(--radius-full);aspect-ratio:1}.btn-block,.btn-full-width{width:100%;display:block}.btn-outline{background:0 0;border:4px solid}.btn-outline:hover:not(:disabled){color:var(--text-inverse);background:currentColor}.btn-outline-primary{color:var(--color-primary-500);border:2px solid var(--color-primary-500);background:0 0}.btn-outline-primary:hover:not(:disabled){background:var(--color-primary-alpha-10,#2d5b3e1a);border-color:var(--color-primary-600,var(--color-primary-dark));color:var(--color-primary-600,var(--color-primary-dark))}.btn-outline-primary:active:not(:disabled){background:var(--color-primary-alpha-20,#2d5b3e33);border-color:var(--color-primary-500);color:var(--color-primary-500)}.btn-gradient{background:var(--gradient-primary);color:var(--text-inverse);border:none}.btn-gradient:hover:not(:disabled){filter:brightness(1.1)}.btn-group{gap:var(--space-2);flex-wrap:wrap;display:inline-flex}.btn-group-vertical{flex-direction:column}.btn-group-attached{gap:0}.btn-group-attached .btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-attached .btn:first-child{border-start-end-radius:0;border-end-end-radius:0}.btn-group-attached .btn:last-child{border-start-start-radius:0;border-end-start-radius:0}.btn-group-attached-vertical .btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-attached-vertical .btn:first-child{border-end-end-radius:0;border-end-start-radius:0}.btn-group-attached-vertical .btn:last-child{border-start-start-radius:0;border-start-end-radius:0}.btn-icon-left{flex-direction:row}.btn-icon-right{flex-direction:row-reverse}.btn svg{flex-shrink:0;width:1em;height:1em}.close-button,.close-btn{width:2rem;height:2rem;font-size:var(--text-2xl,1.5rem);border-radius:var(--shape-button,var(--radius-md));color:var(--text-tertiary);cursor:pointer;user-select:none;transition:color var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-weight:300;line-height:1;display:inline-flex}.close-button:hover,.close-btn:hover{color:var(--text-secondary);background-color:var(--surface-interactive);-webkit-backdrop-filter:var(--blur-hover-subtle)}.close-button:focus-visible,.close-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;color:var(--text-primary)}.close-button:active,.close-btn:active{opacity:var(--opacity-press);background-color:var(--surface-interactive-pressed)}.close-button:disabled,.close-btn:disabled{color:var(--color-disabled-text,var(--color-neutral-500,#6b7280));cursor:not-allowed;pointer-events:none}.close-button-sm{width:1.5rem;height:1.5rem;font-size:var(--text-xl,1.25rem)}.close-button-lg{width:2.5rem;height:2.5rem;font-size:1.75rem}.close-button-xl{width:3rem;height:3rem;font-size:2rem}.close-button-danger{color:var(--color-error)}.close-button-danger:hover{color:var(--color-error-hover);background-color:color-mix(in srgb, var(--color-error) 10%, transparent)}.close-button-primary{color:var(--color-primary-500)}.close-button-primary:hover{color:var(--color-primary-hover,var(--color-primary-600));background-color:var(--color-primary-alpha-10);background-color:var(--color-primary-alpha-10,#2d5b3e1a)}.close-button-subtle{color:var(--text-quaternary)}.close-button-subtle:hover{color:var(--text-tertiary);background-color:var(--surface-interactive-subtle)}.close-button-absolute{z-index:10;position:absolute}.close-button-top-right{top:var(--space-4);right:var(--space-4)}.close-button-top-left{top:var(--space-4);left:var(--space-4)}.close-button-sticky{top:var(--space-4);right:var(--space-4);z-index:10;position:sticky}.close-button svg,.close-btn svg{stroke-width:2px;width:1.25rem;height:1.25rem}.close-button-sm svg{width:1rem;height:1rem}.close-button-lg svg{width:1.5rem;height:1.5rem}.close-button-xl svg{width:1.75rem;height:1.75rem}@container (width<=728px){.btn{min-height:48px;font-size:var(--text-base,1rem)}.btn-sm{min-height:44px;font-size:var(--text-base,1rem)}.btn-mobile-full{width:100%}.embedded-action-container{padding:var(--learning-spacing,1rem) var(--learning-spacing-sm,1rem);min-height:80px}.embedded-action-container .btn-learning-base{width:100%;min-width:auto;max-width:none;padding:var(--learning-button-padding-y,1rem) var(--learning-button-padding-x,1.5rem);font-size:var(--learning-button-font-size,.9rem)}}@media (hover:none) and (pointer:coarse){.btn:active:not(:disabled),.btn-primary:active:not(:disabled),.btn-secondary:active:not(:disabled){transform:scale(.98)}}@supports not (container-type:inline-size){@media (width<=768px){.btn{min-height:48px;font-size:var(--text-base,1rem)}.btn-sm{min-height:44px;font-size:var(--text-base,1rem)}.btn-mobile-full{width:100%}.embedded-action-container{padding:var(--learning-spacing,1rem) var(--learning-spacing-sm,1rem);min-height:80px}.embedded-action-container .btn-learning-base{width:100%;min-width:auto;max-width:none;padding:var(--learning-button-padding-y,1rem) var(--learning-button-padding-x,1.5rem);font-size:var(--learning-button-font-size,.9rem)}}}@keyframes btn-spin{to{transform:translate(-50%,-50%)rotate(360deg)}}.dark .close-button:hover,.dark .close-btn:hover{background-color:var(--surface-interactive)}.dark .close-button:active,.dark .close-btn:active{background-color:var(--surface-interactive-pressed)}@media (prefers-reduced-motion:reduce){.btn,.close-button,.close-btn{transition:none}.btn:hover:not(:disabled),.btn:active:not(:disabled),.close-button:hover,.close-button:active,.close-btn:hover,.close-btn:active{transform:none}.btn-loading:after{border:4px solid;animation:none}@layer components{.embedded-action-container .btn-learning-base,.embedded-action-container:before,.embedded-action-container .btn-learning-base .button-icon{transition:none!important;animation:none!important}.embedded-action-container .btn-learning-base:hover{transform:none!important}}}@media (prefers-contrast:more){.btn,.close-button,.close-btn{border:4px solid}.btn-primary,.btn-danger,.btn-success{border-color:#0000}@layer components{.embedded-action-container{border-style:solid;border-width:4px}.embedded-action-container .btn-learning-base{border:2px solid var(--learning-button-primary-border);font-weight:var(--font-bold,700)}.embedded-action-container .btn-learning-base:focus-visible{outline-offset:2px;outline-width:4px}}}@media print{.btn{box-shadow:none;border:1px solid}}@supports (corner-shape:squircle){.btn{corner-shape:var(--corner-shape-button,squircle)}}.form-field{gap:var(--space-2);margin-bottom:var(--space-4);flex-direction:column;display:flex}.form-label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary);line-height:var(--leading-normal);display:block}.form-required{color:var(--color-error);margin-left:var(--space-1);font-weight:var(--font-bold)}.form-input{width:100%;padding:0 var(--space-4);height:var(--button-height-md);min-height:var(--button-height-md);font-family:inherit;font-size:var(--text-base);color:var(--text-primary);background:var(--surface-card);border:1px solid var(--border-color-default);border-radius:var(--shape-input);transition:opacity var(--duration-normal) var(--ease-out), transform var(--duration-normal) var(--ease-out);appearance:none;outline:2px solid #0000;line-height:1;display:block}.form-input::placeholder{color:var(--text-tertiary);opacity:.7}.form-input:hover:not(:disabled):not(:read-only){border-color:var(--border-hover);background:var(--surface-hover)}.form-input:focus{border-color:var(--color-primary-500,var(--color-primary));box-shadow:0 0 0 3px var(--color-primary-alpha-20,#2d5b3e33);background:var(--surface-card)}.form-input:disabled{opacity:.5;cursor:not-allowed;background:var(--surface-disabled)}.form-input:read-only{background:var(--surface-disabled);cursor:default}.form-field-error .form-input,.form-input[aria-invalid=true]{border-color:var(--color-error)}.form-field-error .form-input:focus,.form-input[aria-invalid=true]:focus{border-color:var(--color-error);box-shadow:0 0 0 3px var(--color-error-alpha-20)}.form-input[aria-invalid=false].form-input-validated{border-color:var(--color-success)}.form-input:-webkit-autofill{-webkit-text-fill-color:var(--text-primary);-webkit-box-shadow:0 0 0px 1000px var(--surface-card) inset;box-shadow:0 0 0px 1000px var(--surface-card) inset;border-color:var(--border-color-default);transition:background-color 5000s ease-in-out}.form-input:-webkit-autofill:hover{-webkit-text-fill-color:var(--text-primary);-webkit-box-shadow:0 0 0px 1000px var(--surface-card) inset;box-shadow:0 0 0px 1000px var(--surface-card) inset;border-color:var(--border-color-default);transition:background-color 5000s ease-in-out}.form-input:-webkit-autofill:focus{-webkit-text-fill-color:var(--text-primary);-webkit-box-shadow:0 0 0px 1000px var(--surface-card) inset;box-shadow:0 0 0px 1000px var(--surface-card) inset;border-color:var(--border-color-default);transition:background-color 5000s ease-in-out}.form-textarea:-webkit-autofill{-webkit-text-fill-color:var(--text-primary);-webkit-box-shadow:0 0 0px 1000px var(--surface-card) inset;box-shadow:0 0 0px 1000px var(--surface-card) inset;border-color:var(--border-color-default);transition:background-color 5000s ease-in-out}.form-textarea:-webkit-autofill:hover{-webkit-text-fill-color:var(--text-primary);-webkit-box-shadow:0 0 0px 1000px var(--surface-card) inset;box-shadow:0 0 0px 1000px var(--surface-card) inset;border-color:var(--border-color-default);transition:background-color 5000s ease-in-out}.form-textarea:-webkit-autofill:focus{-webkit-text-fill-color:var(--text-primary);-webkit-box-shadow:0 0 0px 1000px var(--surface-card) inset;box-shadow:0 0 0px 1000px var(--surface-card) inset;border-color:var(--border-color-default);transition:background-color 5000s ease-in-out}.form-textarea{width:100%;padding:var(--space-3) var(--space-4);min-height:96px;font-family:inherit;font-size:var(--text-base);line-height:var(--leading-normal);color:var(--text-primary);background:var(--surface-card);border:1px solid var(--border-color-default);border-radius:var(--shape-input);transition:opacity var(--duration-normal) var(--ease-out), transform var(--duration-normal) var(--ease-out);resize:vertical;appearance:none;outline:2px solid #0000;display:block}.form-textarea::placeholder{color:var(--text-tertiary);opacity:.7}.form-textarea:hover:not(:disabled):not(:read-only){border-color:var(--border-hover);background:var(--surface-hover)}.form-textarea:focus{border-color:var(--color-primary-500,var(--color-primary));box-shadow:0 0 0 3px var(--color-primary-alpha-20,#2d5b3e33);background:var(--surface-card)}.form-textarea:disabled{opacity:.5;cursor:not-allowed;background:var(--surface-disabled);resize:none}.form-textarea:read-only{background:var(--surface-disabled);cursor:default;resize:none}.form-field-error .form-textarea,.form-textarea[aria-invalid=true]{border-color:var(--color-error)}.form-field-error .form-textarea:focus,.form-textarea[aria-invalid=true]:focus{border-color:var(--color-error);box-shadow:0 0 0 3px var(--color-error-alpha-20)}.form-textarea-auto-resize{field-sizing:content;resize:none;min-height:40px;overflow:hidden}.form-textarea-auto-resize-constrained{field-sizing:content;resize:none;min-height:40px;max-height:200px;overflow-y:auto}@supports not (field-sizing:content){.form-textarea-auto-resize-constrained{overflow-y:auto}}.form-hint{font-size:var(--text-sm);color:var(--text-secondary);line-height:var(--leading-normal);margin:0}.form-error{font-size:var(--text-sm);color:var(--color-error);font-weight:var(--font-medium);line-height:var(--leading-normal);margin:0}.form-char-count{font-size:var(--text-xs);color:var(--text-tertiary);text-align:right;font-variant-numeric:tabular-nums;margin:0}.form-char-count-warning{color:var(--color-warning)}.form-char-count-error{color:var(--color-error);font-weight:var(--font-medium)}.form-input-sm{height:var(--button-height-sm);min-height:var(--button-height-sm);padding:0 var(--space-3);font-size:var(--text-sm)}.form-input-lg{height:var(--button-height-lg);min-height:var(--button-height-lg);padding:0 var(--space-6);font-size:var(--text-lg)}.form-textarea-sm{min-height:80px;padding:var(--space-2) var(--space-3);font-size:var(--text-sm)}.form-textarea-lg{min-height:160px;padding:var(--space-4) var(--space-6);font-size:var(--text-lg)}.form-input[type=number]{-moz-appearance:textfield}.form-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.form-input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.form-input[type=search]{padding-right:var(--space-8)}.form-input[type=search]::-webkit-search-cancel-button{appearance:none;height:var(--icon-size-md);width:var(--icon-size-md);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'/%3E%3Cline x1='6' y1='6' x2='18' y2='18'/%3E%3C/svg%3E");background-size:var(--icon-size-sm);cursor:pointer;opacity:.5;background-position:50%;background-repeat:no-repeat}.form-input[type=search]::-webkit-search-cancel-button:hover{opacity:1}.form-field{container:form-field/inline-size}@container form-field (width<=500px){.form-input,.form-textarea{min-height:48px;font-size:var(--text-base,1rem)}.form-input-sm{min-height:44px;font-size:var(--text-base,1rem)}.form-label{font-size:var(--text-sm)}.form-hint,.form-error{font-size:var(--text-xs)}@media (hover:none) and (pointer:coarse){.form-input:focus,.form-textarea:focus{transform:scale(1.005)}}}@supports not (container-type:inline-size){@media (width<=768px){.form-input,.form-textarea{min-height:48px;font-size:var(--text-base,1rem)}.form-input-sm{min-height:44px;font-size:var(--text-base,1rem)}.form-label{font-size:var(--text-sm)}.form-hint,.form-error{font-size:var(--text-xs)}@media (hover:none) and (pointer:coarse){.form-input:focus,.form-textarea:focus{transform:scale(1.005)}}}}.dark .form-input,.dark .form-textarea{background:var(--surface-card);border-color:var(--border-color-default);color:var(--text-primary)}.dark .form-input:hover:not(:disabled):not(:read-only),.dark .form-textarea:hover:not(:disabled):not(:read-only){border-color:var(--border-hover);background:var(--surface-hover)}.dark .form-input:focus,.dark .form-textarea:focus{border-color:var(--color-primary-400);background:var(--surface-card)}@media (prefers-contrast:more){.form-input,.form-textarea{border-width:2px}.form-input:focus,.form-textarea:focus{box-shadow:none;border-width:3px}.form-field-error .form-input,.form-field-error .form-textarea{border-width:3px}}@media (prefers-reduced-motion:reduce){.form-input,.form-textarea{transition:none}@media (hover:none) and (pointer:coarse){.form-input:focus,.form-textarea:focus{transform:none}}}@media print{.form-input,.form-textarea{box-shadow:none;border:1px solid}.form-hint,.form-error,.form-char-count{display:none}}@supports (corner-shape:squircle){.unified-card,.learning-material-card,.lesson-card,.interactive-lesson-card{corner-shape:var(--corner-shape-card,squircle)}}.message-input-container{backface-visibility:hidden;opacity:1;visibility:visible;--mi-bg-primary:var(--surface-card);--mi-bg-secondary:var(--surface-background);--mi-border-default:var(--border-color-default);--mi-border-focus:var(--color-primary-500);--mi-text-primary:var(--color-text-primary,var(--text-primary));--mi-text-secondary:var(--color-text-secondary,var(--text-secondary));--mi-text-tertiary:var(--color-text-tertiary,var(--text-tertiary));--mi-text-primary-contrast:var(--mi-text-primary);--mi-text-secondary-contrast:var(--mi-text-secondary);--mi-text-tertiary-contrast:var(--mi-text-tertiary);--mi-bg-contrast:var(--surface-card);--mi-border-contrast:var(--border-color-default);--mi-btn-accent-bg:var(--color-primary-500);--mi-btn-accent-text:var(--text-inverse);--mi-btn-accent-hover:var(--color-primary-600);--mi-btn-surface-bg:var(--surface-background);--mi-btn-surface-text:var(--mi-text-primary);--mi-btn-surface-hover:var(--surface-hover,var(--surface-interactive,var(--color-surface-hover)));--mi-btn-surface-border:var(--border-color-default,var(--color-border,var(--border-default)));--mi-error-bg:var(--color-error-alpha-5);--mi-error-border:var(--color-error-alpha-20);--mi-error-text:var(--color-error);--mi-success-bg:var(--color-success-alpha-5);--mi-success-border:var(--color-success-alpha-20);--mi-success-text:var(--color-success);--mi-warning-bg:var(--color-warning-alpha-5);--mi-warning-border:var(--color-warning-alpha-20);--mi-warning-text:var(--color-warning);--mi-touch-target-min:48px;--mi-touch-target-mobile:48px;--mi-touch-target-large:56px;--mi-border-radius:var(--radius-xl,24px);--mi-border-radius-inner:var(--radius-lg,16px);--mi-border-radius-button:var(--radius-lg,16px);--mi-spacing-sm:.5rem;--mi-spacing-md:.75rem;--mi-spacing-lg:1rem;--mi-transition-fast:.15s;--mi-transition-normal:.2s;--mi-transition-slow:.3s;--mi-focus-ring-color:var(--color-primary-500);--mi-focus-ring-width:2px;--mi-focus-ring-offset:2px;--mi-breakpoint-sm:640px;--mi-breakpoint-md:768px;--mi-breakpoint-lg:1024px;--mi-breakpoint-xl:1280px;--mi-breakpoint-2xl:1536px;--documents-max-height-mobile:min(40vh, 300px);--documents-max-height-tablet:min(50vh, 400px);--documents-max-height-desktop:min(60vh, 500px);--documents-compact-height:min(35vh, 280px);--documents-expanded-height:min(70vh, 600px);--card-min-width-mobile:100%;--card-min-width-tablet:240px;--card-min-width-desktop:200px;--card-max-width:400px;--card-aspect-ratio:auto;flex-direction:column;align-items:center;width:100%;min-height:fit-content;margin-bottom:0;display:flex;transform:translateY(0);container:message-input/inline-size}.message-input-container:not(.input-hidden){contain:layout style paint;isolation:isolate;opacity:1;visibility:visible;backface-visibility:hidden;animation:.35s cubic-bezier(.34,1.4,.64,1) input-slide-enter;transform:translateY(0)}.message-input-container.input-hidden{opacity:0;visibility:hidden;pointer-events:none;transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .3s cubic-bezier(.4,0,.2,1),visibility 0s linear .3s;transform:translateY(100%)}@keyframes input-slide-enter{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}:global(.message-input-container:not(.input-hidden) *:not(.mi-animate)){animation:none}:global(.message-input-container:not(.input-hidden) textarea#chat-textarea.mi-textarea){opacity:1;backface-visibility:hidden;animation:.267s cubic-bezier(.16,1,.3,1) .35s element-settle-textarea}:global(.message-input-container.input-hidden textarea#chat-textarea.mi-textarea){opacity:0;transform:translateY(15px)}:is(:global(.message-input-container:not(.input-hidden) button.btn-send),:global(.message-input-container:not(.input-hidden) button[type="submit"])){opacity:1;backface-visibility:hidden;animation:.233s cubic-bezier(.16,1,.3,1) .417s element-settle-button}:is(:global(.message-input-container.input-hidden button.btn-send),:global(.message-input-container.input-hidden button[type="submit"])){opacity:0;transform:translateY(15px)}@keyframes element-settle-textarea{0%{opacity:0;transform:translateY(15px)}60%{opacity:1;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}@keyframes element-settle-button{0%{opacity:0;transform:translateY(15px)}60%{opacity:1;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}@container message-input (width<=600px){.message-input-container{transition-duration:var(--duration-normal,.25s)}}.selected-documents-wrapper{width:100%;max-width:100%;margin-bottom:var(--space-1,.25rem);position:relative}.attached-files-preview{width:100%;max-width:100%;margin-bottom:var(--space-2,.5rem);padding:var(--space-2,.5rem);background:var(--color-surface-secondary,#00000008);border-radius:var(--radius-md,8px);border:1px solid var(--color-border-subtle,var(--color-black-alpha-10));animation:attached-preview-enter var(--duration-normal,.3s) var(--ease-out,ease-out) both}@keyframes attached-preview-enter{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.attached-files-preview{animation:none}}.attached-files-header{margin-bottom:var(--space-2,.5rem);padding-bottom:var(--space-1,.25rem);border-bottom:1px solid var(--color-border-subtle,var(--color-black-alpha-5));justify-content:space-between;align-items:center;display:flex}.attached-files-label{font-size:var(--font-size-sm,.875rem);font-weight:var(--font-medium,500);color:var(--color-text-secondary)}.clear-all-files-btn{font-size:var(--font-size-xs,.75rem);color:var(--color-text-tertiary);cursor:pointer;padding:var(--space-1,.25rem) var(--space-2,.5rem);border-radius:var(--radius-sm,4px);transition:color var(--motion-quick,.15s) ease, background-color var(--motion-quick,.15s) ease;background:0 0;border:none}.clear-all-files-btn:hover{color:var(--color-error);background:var(--color-error-bg,var(--color-error-alpha-10))}.attached-files-list{gap:var(--space-2,.5rem);flex-wrap:wrap;display:flex}.attached-file-item{min-width:0;max-width:280px;animation:attached-file-enter var(--duration-normal,.3s) var(--ease-out,ease-out) both;flex:0 auto}@keyframes attached-file-enter{0%{opacity:0;transform:translateY(8px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.attached-file-item:nth-child(2){animation-delay:50ms}.attached-file-item:nth-child(3){animation-delay:.1s}.attached-file-item:nth-child(n+4){animation-delay:.15s}@media (prefers-reduced-motion:reduce){.attached-file-item{animation:none}}@container message-input (width<=600px){.attached-files-preview{padding:var(--space-1,.25rem) var(--space-2,.5rem)}.attached-files-list{flex-direction:column}.attached-file-item{max-width:100%}}@supports not (container-type:inline-size){@media (width<=640px){.attached-files-preview{padding:var(--space-1,.25rem) var(--space-2,.5rem)}.attached-files-list{flex-direction:column}.attached-file-item{max-width:100%}}}.message-input-box{width:100%;max-width:100%;margin-inline:auto}.message-input-form{flex-direction:column;gap:0;width:100%;display:flex}@container message-input (width<=600px){.message-input-form>:not(.message-input-content){max-height:120px;overflow:hidden auto}}@supports not (container-type:inline-size){@media (width<=640px){.message-input-form>:not(.message-input-content){max-height:120px;overflow:hidden auto}}}.message-input-content{z-index:2;align-items:center;gap:var(--space-2,.5rem);width:100%;padding:var(--space-2,.5rem) var(--space-3,.75rem);box-sizing:border-box;display:flex;position:relative}.message-input-container .toolbar-container{padding-top:var(--space-1,.25rem);padding-bottom:var(--space-1,.25rem)}@container message-input (width>=600px){.message-input-container .toolbar-container{padding-top:var(--space-2,.5rem);padding-bottom:var(--space-2,.5rem)}}@supports not (container-type:inline-size){@media (width>=640px){.message-input-container .toolbar-container{padding-top:var(--space-2,.5rem);padding-bottom:var(--space-2,.5rem)}}}.message-input-container.voice-mode-active{position:relative}.message-input-container.voice-mode-active:before{content:"";background:color-mix(in oklch, var(--surface-primary,var(--surface-background)) 60%, transparent);-webkit-backdrop-filter:blur(4px);border-radius:inherit;z-index:10;pointer-events:all;transition:background-color var(--motion-standard,.2s) var(--ease-standard,ease), backdrop-filter var(--motion-standard,.2s) var(--ease-standard,ease);position:absolute;inset:0}.message-input-container .mi-textarea,.message-input-container .action-row-btn:not(.voice-mode-toggle),.message-input-container .toolbar-container,.message-input-container .textarea-wrapper{transition:opacity var(--motion-standard,.2s) var(--ease-standard,ease)}.message-input-container.voice-mode-active .message-input-content{pointer-events:none}.message-input-container.voice-mode-active .mi-textarea,.message-input-container.voice-mode-active .action-row-btn:not(.voice-mode-toggle),.message-input-container.voice-mode-active .toolbar-container,.message-input-container.voice-mode-active .textarea-wrapper{pointer-events:none;opacity:.5}.message-input-container.voice-mode-active :global(.voice-mode-toggle){z-index:20;pointer-events:auto;opacity:1;position:relative}.message-input-container.voice-mode-responding:before{background:color-mix(in oklch, var(--surface-primary,var(--surface-background)) 75%, transparent);-webkit-backdrop-filter:blur(6px)}:global(.dark) .message-input-container.voice-mode-active:before{background:color-mix(in oklch, var(--surface-primary) 65%, transparent)}:global(.dark) .message-input-container.voice-mode-responding:before{background:color-mix(in oklch, var(--surface-primary) 80%, transparent)}@media (prefers-reduced-motion:reduce){.message-input-container.voice-mode-active:before,.message-input-container.voice-mode-responding:before,.message-input-container .mi-textarea,.message-input-container .action-row-btn:not(.voice-mode-toggle),.message-input-container .toolbar-container,.message-input-container .textarea-wrapper{transition:none}}@supports not (backdrop-filter:blur(4px)){.message-input-container.voice-mode-active:before{background:color-mix(in oklch, var(--surface-primary,var(--surface-background)) 90%, transparent)}.message-input-container.voice-mode-responding:before{background:color-mix(in oklch, var(--surface-primary,var(--surface-background)) 95%, transparent)}}.textarea-wrapper.has-hint-overlay{padding-bottom:calc(var(--space-2,.5rem) + 1.25rem)}.input-hint-overlay{bottom:var(--space-2,.5rem);align-items:center;gap:var(--space-1-5,.375rem);padding:var(--space-0-5,.125rem) var(--space-2,.5rem);background:color-mix(in oklch, var(--color-primary-500,#6366f1) 10%, var(--color-surface-secondary,transparent));border:1px solid color-mix(in oklch, var(--color-primary-500,#6366f1) 18%, transparent);border-radius:var(--radius-pill,999px);font-size:var(--text-2xs,.6875rem);color:var(--text-tertiary,var(--text-secondary));pointer-events:auto;opacity:.9;animation:hint-overlay-in var(--duration-normal,.25s) var(--ease-out,ease-out);z-index:1;max-width:calc(100% - var(--space-6,1.5rem));display:flex;position:absolute;inset-inline-end:var(--space-3,.75rem)}.input-hint-overlay__text{white-space:nowrap;text-overflow:ellipsis;min-width:0;line-height:var(--leading-normal,1.5);overflow:hidden}.input-hint-overlay__text strong{font-family:var(--font-mono,monospace);font-weight:var(--font-semibold,600);color:var(--color-primary-500,#6366f1)}.input-hint-overlay__dismiss{font-size:var(--text-2xs,.6875rem);color:var(--text-tertiary,var(--text-secondary));cursor:pointer;padding:var(--space-0-5,.125rem) var(--space-1,.25rem);border-radius:var(--radius-full,50%);opacity:.6;transition:opacity var(--duration-fast,.15s) var(--ease-out,ease-out);background:0 0;border:none;flex-shrink:0;line-height:1}.input-hint-overlay__dismiss:hover{opacity:1;background:color-mix(in oklch, var(--color-primary-500,#6366f1) 10%, transparent)}@keyframes hint-overlay-in{0%{opacity:0;transform:translateY(var(--space-1,.25rem))}to{opacity:.9;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.input-hint-overlay{animation:none}}@media (width<=639px){.input-hint-overlay{display:none}.textarea-wrapper.has-hint-overlay{padding-bottom:0}}@media (hover:none) and (pointer:coarse){.input-hint-overlay__dismiss{min-width:32px;min-height:32px;font-size:var(--text-xs,.75rem);justify-content:center;align-items:center;display:flex}}.toolbar-scroll-container{container:action-row/inline-size}.toolbar-actions-group.unified-action-row{container-type:normal}.link-animated{color:inherit;transition:color var(--timing-standard) var(--ease-smooth);text-decoration:none;display:inline-block;position:relative}.link-animated:after{content:"";transform-origin:100%;width:100%;height:2px;transition:transform var(--timing-standard) var(--ease-smooth);will-change:transform;background:currentColor;position:absolute;bottom:-2px;left:0;transform:scaleX(0)}.link-animated:hover:after,.link-animated:focus-visible:after{transform-origin:0;transform:scaleX(1)}.link-animated:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:4px;border-radius:2px}.link-animated-subtle:after{opacity:.7;height:1px;bottom:-1px}.link-animated-subtle:hover:after,.link-animated-subtle:focus-visible:after{opacity:1}.link-animated-thick:after{height:3px;bottom:-3px}.link-animated-primary{color:var(--color-primary-500)}.link-animated-primary:after{background:var(--color-primary-500)}.link-animated-primary:hover{color:var(--color-primary-600)}.link-animated-accent{color:var(--color-accent-500)}.link-animated-accent:after{background:var(--color-accent-500)}.link-animated-accent:hover{color:var(--color-accent-600)}.link-animated-text{color:var(--color-text-primary)}.link-animated-text:after{background:var(--color-text-primary)}.link-animated-text:hover{color:var(--color-primary-500)}.link-animated-text:hover:after{background:var(--color-primary-500)}:global(.dark) .link-animated-text{color:var(--color-text-primary)}:global(.dark) .link-animated-text:hover{color:var(--color-primary-400)}:global(.dark) .link-animated-text:hover:after{background:var(--color-primary-400)}.link-animated-slide-left:after,.link-animated-slide-left:hover:after,.link-animated-slide-left:focus-visible:after{transform-origin:0}.link-animated-center:after,.link-animated-center:hover:after,.link-animated-center:focus-visible:after{transform-origin:50%}.link-animated-fade:after{opacity:0;transition:opacity var(--timing-standard) var(--ease-smooth);transform:scaleX(1)}.link-animated-fade:hover:after,.link-animated-fade:focus-visible:after{opacity:1}.nav-link-animated{color:var(--nav-text);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);transition:background-color var(--timing-standard) var(--ease-smooth), color var(--timing-standard) var(--ease-smooth);align-items:center;text-decoration:none;display:flex;position:relative}.nav-link-animated:before{content:"";background:var(--color-primary-500);width:3px;height:70%;transition:transform var(--timing-standard) var(--ease-smooth);border-radius:0 2px 2px 0;position:absolute;top:50%;left:0;transform:translateY(-50%)scaleY(0)}.nav-link-animated:hover:before,.nav-link-animated.active:before{transform:translateY(-50%)scaleY(1)}.nav-link-animated:hover{background-color:var(--color-surface-hover);color:var(--nav-text-hover)}.nav-link-animated.active{background-color:var(--color-primary-50);color:var(--nav-text-active)}:global(.dark) .nav-link-animated.active{background-color:rgba(var(--color-primary-500-rgb), .15)}.breadcrumb-link-animated{color:var(--color-text-secondary);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);transition:color var(--timing-quick) var(--ease-smooth);text-decoration:none;position:relative}.breadcrumb-link-animated:after{content:"";bottom:0;left:var(--space-2);right:var(--space-2);background:var(--color-primary-500);transform-origin:100%;height:1px;transition:transform var(--timing-quick) var(--ease-smooth);position:absolute;transform:scaleX(0)}.breadcrumb-link-animated:hover{color:var(--color-primary-500)}.breadcrumb-link-animated:hover:after{transform-origin:0;transform:scaleX(1)}@media (prefers-reduced-motion:reduce){.link-animated:after,.link-animated-subtle:after,.link-animated-thick:after,.nav-link-animated:before,.breadcrumb-link-animated:after{transition:none}.link-animated:hover:after,.link-animated:focus-visible:after{opacity:1;transform:scaleX(1)}.link-animated-fade:after{transition:none}.nav-link-animated,.breadcrumb-link-animated{transition:background-color .1s,color .1s}}@media (prefers-contrast:more){.link-animated:after,.link-animated-subtle:after,.link-animated-thick:after{background:currentColor;height:2px}.link-animated:focus-visible{outline-width:3px}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.page-enter{animation:page-fade-in var(--timing-emphasis) var(--ease-entrance) both}@keyframes page-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.page-exit{animation:page-fade-out var(--timing-standard) var(--ease-exit) both}@keyframes page-fade-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8px)}}.section-enter{animation:section-reveal var(--timing-moderate) var(--ease-entrance) both}@keyframes section-reveal{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.section-enter-left{animation:section-slide-left var(--timing-emphasis) var(--ease-smooth) both}@keyframes section-slide-left{0%{opacity:0;transform:translate(-24px)}to{opacity:1;transform:translate(0)}}.section-enter-right{animation:section-slide-right var(--timing-emphasis) var(--ease-smooth) both}@keyframes section-slide-right{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}.stagger-enter>*{animation:item-fade-in var(--timing-standard) var(--ease-entrance) both}@keyframes item-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.stagger-enter>:first-child{animation-delay:0s}.stagger-enter>:nth-child(2){animation-delay:50ms}.stagger-enter>:nth-child(3){animation-delay:.1s}.stagger-enter>:nth-child(4){animation-delay:.15s}.stagger-enter>:nth-child(5){animation-delay:.2s}.stagger-enter>:nth-child(6){animation-delay:.25s}.stagger-enter>:nth-child(7){animation-delay:.3s}.stagger-enter>:nth-child(8){animation-delay:.35s}.stagger-enter>:nth-child(9){animation-delay:.4s}.stagger-enter>:nth-child(10){animation-delay:.45s}.stagger-enter-fast>*{animation:item-fade-in var(--timing-quick) var(--ease-entrance) both}.stagger-enter-fast>:nth-child(n){animation-delay:calc(var(--stagger-index,0) * 30ms)}.content-reveal-scale{animation:content-scale-in var(--timing-moderate) var(--ease-smooth) both}@keyframes content-scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.content-reveal-blur{animation:content-blur-in var(--timing-emphasis) var(--ease-entrance) both}@keyframes content-blur-in{0%{opacity:0;filter:blur(8px)}to{opacity:1;filter:blur()}}.card-enter{animation:card-appear var(--timing-moderate) var(--ease-smooth) both}@keyframes card-appear{0%{opacity:0;transform:translateY(12px)scale(.98);box-shadow:0 0 #0000}to{opacity:1;box-shadow:var(--shadow-md);transform:translateY(0)scale(1)}}.modal-enter{animation:modal-slide-up var(--modal-duration) var(--modal-easing) both}@keyframes modal-slide-up{0%{opacity:0;transform:translateY(24px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-exit{animation:modal-slide-down var(--timing-standard) var(--ease-exit) both}@keyframes modal-slide-down{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(24px)scale(.96)}}.backdrop-enter{animation:backdrop-fade-in var(--modal-backdrop-duration) ease both}.backdrop-exit{animation:backdrop-fade-out var(--timing-standard) ease both}@keyframes backdrop-fade-out{0%{opacity:1}to{opacity:0}}.toast-enter-right{animation:toast-slide-in-right var(--timing-emphasis) var(--ease-smooth) both}@keyframes toast-slide-in-right{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.toast-exit-right{animation:toast-slide-out-right var(--timing-standard) var(--ease-exit) both}@keyframes toast-slide-out-right{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}.skeleton-pulse{animation:2s ease-in-out infinite skeleton-shimmer}@keyframes skeleton-shimmer{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}@media (prefers-reduced-motion:reduce){.page-enter,.page-exit,.section-enter,.section-enter-left,.section-enter-right,.stagger-enter>*,.stagger-enter-fast>*,.content-reveal-scale,.content-reveal-blur,.card-enter,.modal-enter,.modal-exit,.backdrop-enter,.backdrop-exit,.toast-enter-right,.toast-exit-right{animation-duration:1ms;animation-delay:0s}.page-enter,.section-enter,.card-enter,.modal-enter{animation:.1s both fade-in-reduced}@keyframes fade-in-reduced{0%{opacity:0}to{opacity:1}}.skeleton-pulse,.skeleton-wave{opacity:.7;animation:none}}@supports (view-transition-name:auto){.page-transition-enabled{view-transition-name:page-content}.section-transition-enabled{view-transition-name:section-content}}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.delay-500{animation-delay:.5s}.duration-fast{animation-duration:var(--timing-quick)}.duration-normal{animation-duration:var(--timing-standard)}.duration-slow{animation-duration:var(--timing-emphasis)}.will-animate{will-change:transform, opacity}.animation-complete{will-change:auto}.sidebar-outer{transition:width var(--navigation-duration) var(--navigation-easing), transform var(--navigation-duration) var(--navigation-easing);will-change:transform}.sidebar-collapsed{width:var(--sidebar-collapsed-width,72px)!important}.sidebar-visible{width:280px}@media (width<=767px){.sidebar-outer{transition:transform var(--navigation-duration) var(--navigation-easing), visibility var(--timing-standard) var(--ease-entrance)}.sidebar-outer:not(.sidebar-visible){visibility:hidden;pointer-events:none;transform:translate(-100%)}.sidebar-hidden-mobile{visibility:hidden;transform:translate(-100%)}.sidebar-visible{visibility:visible;width:280px;transform:translate(0)}}@media (width>=768px) and (width<=1023px){.sidebar-outer.sidebar-tablet-rail{visibility:visible;width:var(--sidebar-tablet-width,64px);transform:translate(0)}.sidebar-collapsed{width:var(--sidebar-tablet-width,64px)}.sidebar-visible{width:280px}}.sidebar-chevron{transition:transform var(--timing-standard) var(--ease-smooth);transform-origin:50%;justify-content:center;align-items:center;display:inline-flex}.sidebar-collapsed .sidebar-chevron{transform:rotate(180deg)}.sidebar-visible .sidebar-chevron{transform:rotate(0)}.sidebar-toggle-button:hover .sidebar-chevron{transform:scale(1.1)}.sidebar-collapsed .sidebar-toggle-button:hover .sidebar-chevron{transform:rotate(180deg)scale(1.1)}.nav-item-enhanced{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);color:var(--nav-text);cursor:pointer;transition:background-color var(--timing-standard) var(--ease-smooth), color var(--timing-standard) var(--ease-smooth), transform var(--timing-quick) var(--ease-smooth);align-items:center;text-decoration:none;display:flex;position:relative;overflow:hidden}.nav-item-enhanced:before{content:"";background:var(--color-primary-500);width:4px;height:70%;transition:transform var(--timing-standard) var(--ease-smooth), opacity var(--timing-standard) var(--ease-smooth);opacity:0;border-radius:0 2px 2px 0;position:absolute;top:50%;left:0;transform:translateY(-50%)scaleY(0)}.nav-item-enhanced:hover{background-color:var(--color-surface-hover);color:var(--nav-text-hover);transform:translate(2px)}.nav-item-enhanced:hover:before{opacity:.5;transform:translateY(-50%)scaleY(.3)}.nav-item-enhanced.active{background-color:color-mix(in oklch, var(--color-primary-500) 10%, transparent);color:var(--nav-text-active)}.nav-item-enhanced.active:before{opacity:1;transform:translateY(-50%)scaleY(1)}:global(.dark) .nav-item-enhanced.active{background-color:color-mix(in oklch, var(--color-primary-500) 15%, transparent)}.nav-icon-wrapper{width:24px;height:24px;margin-right:var(--space-3);transition:transform var(--timing-standard) var(--ease-smooth), color var(--timing-standard) var(--ease-smooth);justify-content:center;align-items:center;display:flex}.nav-item-enhanced:hover .nav-icon-wrapper{color:var(--color-primary-500);transform:scale(1.1)}.nav-item-enhanced.active .nav-icon-wrapper{color:var(--color-primary-600);transform:scale(1.05)}.sidebar-collapsed .nav-icon-wrapper{margin-right:0}.nav-label{font-size:var(--text-sm);font-weight:var(--font-medium);white-space:nowrap;opacity:1;transition:opacity var(--timing-standard) var(--ease-smooth), transform var(--timing-standard) var(--ease-smooth)}.sidebar-collapsed .nav-label{opacity:0;pointer-events:none;transform:translate(-8px)}.sidebar-visible .nav-label{opacity:1;transform:translate(0)}.nav-section-divider{height:1px;margin:var(--space-4) var(--space-2);background:var(--border-color-default);opacity:.3;transition:opacity var(--timing-standard) var(--ease-smooth)}.sidebar-collapsed .nav-section-divider{opacity:.1}.nav-badge{min-width:20px;height:20px;padding:0 var(--space-1);font-size:.75rem;font-weight:var(--font-bold);color:var(--color-white);background:var(--color-primary-500);border-radius:var(--radius-full);transition:transform var(--timing-standard) var(--ease-smooth), opacity var(--timing-standard) var(--ease-smooth);justify-content:center;align-items:center;margin-left:auto;display:inline-flex}.nav-item-enhanced:hover .nav-badge{transform:scale(1.1)}.sidebar-collapsed .nav-badge{min-width:8px;height:8px;padding:0;font-size:0;position:absolute;top:8px;right:8px;transform:scale(1)}.nav-tooltip{margin-left:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-surface);border:1px solid var(--border-color-default);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);white-space:nowrap;font-size:var(--text-sm);color:var(--color-text-primary);opacity:0;pointer-events:none;transition:opacity var(--timing-standard) var(--ease-smooth), transform var(--timing-standard) var(--ease-smooth);z-index:1000;position:absolute;top:50%;left:100%;transform:translateY(-50%)translate(8px)}.sidebar-collapsed .nav-item-enhanced:hover .nav-tooltip{opacity:1;transform:translateY(-50%)translate(12px)}.sidebar-visible .nav-tooltip{display:none}.nav-submenu{opacity:0;max-height:0;transition:max-height var(--timing-emphasis) var(--ease-smooth), opacity var(--timing-standard) var(--ease-smooth), padding var(--timing-standard) var(--ease-smooth);padding:0;overflow:hidden}.nav-submenu.expanded{opacity:1;max-height:500px;padding:var(--space-2) 0 var(--space-2) var(--space-8)}.nav-submenu-item{padding:var(--space-2) var(--space-3);margin:var(--space-1) 0;font-size:var(--text-sm);color:var(--color-text-secondary);border-radius:var(--radius-sm);transition:background-color var(--timing-quick) var(--ease-smooth), color var(--timing-quick) var(--ease-smooth), padding-left var(--timing-quick) var(--ease-smooth);position:relative}.nav-submenu-item:hover{background-color:var(--color-surface-hover);color:var(--color-text-primary);padding-left:calc(var(--space-3) + 4px)}.nav-submenu-item.active{background-color:color-mix(in oklch, var(--color-primary-500) 8%, transparent);color:var(--color-primary-600)}.user-profile-section{padding:var(--space-4);border-top:1px solid var(--border-color-default);transition:padding var(--timing-standard) var(--ease-smooth)}.sidebar-collapsed .user-profile-section{padding:var(--space-2)}@media (prefers-reduced-motion:reduce){.sidebar-outer,.sidebar-chevron,.nav-item-enhanced,.nav-item-enhanced:before,.nav-icon-wrapper,.nav-label,.nav-badge,.nav-tooltip,.nav-submenu,.nav-submenu-item,.user-profile-section{transition-duration:1ms}.nav-item-enhanced{transition:background-color .1s,color .1s}.nav-item-enhanced:hover,.sidebar-chevron,.sidebar-collapsed .sidebar-chevron{transform:none}}@media (prefers-contrast:more){.nav-item-enhanced:before{background:currentColor;width:6px}.nav-item-enhanced.active{border:2px solid var(--color-primary-500)}.nav-badge{border:2px solid #fff}}.nav-item-enhanced,.nav-icon-wrapper,.nav-label,.sidebar-chevron{backface-visibility:hidden;transform:translateZ(0)}.nav-item-enhanced{contain:layout style paint}@media (forced-colors:active){.nav-item-enhanced{border:1px solid #0000}.nav-item-enhanced.active{border-color:highlight}.nav-item-enhanced.active:before{background:highlight}.nav-item-enhanced:focus-visible{outline-offset:2px;outline:2px solid highlight}.nav-badge{border:1px solid canvastext}.nav-tooltip{color:canvastext;background:canvas;border:1px solid canvastext}}.chat-settings-container{justify-content:space-between;gap:var(--space-3);block-size:100%;font-size:var(--text-sm);flex-direction:column;display:flex}.chat-settings-scrollable{padding-inline-end:var(--space-2);padding-block:var(--space-1);min-block-size:0;max-block-size:100%;overflow-y:auto}.chat-settings-content{gap:var(--space-3);flex-direction:column;min-block-size:0;max-block-size:100%;padding-inline-end:var(--space-2);display:flex;overflow-y:auto}.settings-section{margin-block-end:var(--space-6)}.settings-section-header{justify-content:space-between;align-items:center;margin-block-end:var(--space-1);display:flex}.settings-section-title{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary)}.settings-section-subtitle{font-size:var(--text-xs);color:var(--text-tertiary)}.settings-section-description{font-size:var(--text-xs);color:var(--text-secondary);margin-block-start:var(--space-2)}.settings-item{flex-direction:column;display:flex}.settings-item-row{padding-block:var(--space-1);justify-content:space-between;align-items:center;inline-size:100%;display:flex}.settings-item-label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary)}.settings-item-description{font-size:var(--text-sm);color:var(--text-secondary);line-height:var(--line-height-relaxed)}.settings-item-value{align-items:center;display:flex;position:relative}.settings-toggle-button{padding:var(--space-1) var(--space-3);font-size:var(--text-xs);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;transition:background var(--duration-fast) var(--ease-out);background:0 0;border:1px solid #0000;align-items:center;min-width:44px;min-height:44px;display:flex}.settings-toggle-button:hover{background:var(--color-neutral-100)}.dark .settings-toggle-button:hover{background:var(--theme-surface-card)}.settings-toggle-label{align-self:center;margin-inline-start:var(--space-2)}.settings-action-button{padding:var(--space-2) var(--space-4);font-weight:var(--font-medium);border-radius:var(--shape-button,12px);border:1px solid var(--border-color-default);color:var(--text-primary);cursor:pointer;transition:background var(--duration-fast) var(--ease-out);background:0 0}.settings-action-button:hover{background:var(--color-black-alpha-5)}.dark .settings-action-button:hover{background:var(--color-white-alpha-5)}.settings-select{inline-size:fit-content;padding-inline-end:var(--space-8);padding-block:var(--space-2);font-size:var(--text-xs);border-radius:var(--radius-md);color:var(--text-primary);text-align:end;background:0 0;border:none;outline:2px solid #0000;padding-inline-start:var(--space-2)}.dark .settings-select{background:var(--color-surface)}.settings-select-full{inline-size:100%;padding:var(--space-2) var(--space-4);font-size:var(--text-sm);border-radius:var(--radius-lg);border:1px solid var(--border-color-default);background:var(--surface-card);color:var(--text-primary);outline:2px solid #0000}.dark .settings-select-full{background:var(--theme-surface-card);color:var(--theme-color-text-secondary)}.settings-textarea{inline-size:100%;padding:var(--space-4);font-size:var(--text-sm);border-radius:var(--radius-lg);border:1px solid var(--border-color-default);background:var(--surface-card);color:var(--text-primary);resize:none;outline:2px solid #0000}.dark .settings-textarea{background:var(--color-surface);color:var(--color-text-primary)}.settings-divider{border:none;border-block-start:1px solid var(--border-color-muted);margin-block:var(--space-3)}.dark .settings-divider{border-block-start-color:var(--theme-color-border)}.settings-footer{font-size:var(--text-sm);font-weight:var(--font-medium);justify-content:flex-end;padding-block-start:var(--space-3);display:flex}.settings-save-button{padding:var(--space-2) var(--space-4);border-radius:var(--radius-lg);transition:background-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);cursor:pointer;border:none}.chat-filters-wrapper{gap:var(--space-2);flex-direction:column;margin-block-end:var(--space-4);display:flex}.filter-toggle-group{align-items:center;gap:var(--space-2);display:flex}.filter-option-list{gap:var(--space-2);flex-wrap:wrap;margin-block-start:var(--space-2);display:flex}.filter-chip{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);background:var(--color-neutral-100);border:1px solid var(--border-color-muted);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--text-primary);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);display:inline-flex}.dark .filter-chip{background:var(--theme-surface-card);border-color:var(--theme-color-border)}.filter-chip:hover{background:var(--color-neutral-200);border-color:var(--color-neutral-400)}.dark .filter-chip:hover{background:var(--theme-surface-hover);border-color:var(--theme-color-border-hover)}.filter-chip.active{background:var(--color-primary);border-color:var(--color-primary);color:var(--text-inverse)}.import-export-list{gap:var(--space-2);flex-direction:column;display:flex}.import-export-button{padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);inline-size:100%;color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:background var(--duration-fast) var(--ease-out);background:0 0;border:none;align-items:center;display:flex}.import-export-button:hover{background:var(--color-neutral-200)}.dark .import-export-button:hover{background:var(--theme-surface-card)}.import-export-icon{align-self:center;margin-inline-end:var(--space-3)}.confirmation-row{padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);inline-size:100%;transition:background-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);justify-content:space-between;align-items:center;display:flex}.confirmation-content{align-items:center;gap:var(--space-3);display:flex}.confirmation-actions{align-items:center;gap:var(--space-2);display:flex}.confirmation-action-button{padding:var(--space-1);color:var(--text-secondary);cursor:pointer;transition:color var(--duration-fast) var(--ease-out);background:0 0;border:none}.confirmation-action-button:hover{color:var(--text-inverse)}.advanced-toggle-row{font-size:var(--text-sm);justify-content:space-between;align-items:center;display:flex}.advanced-toggle-label{font-weight:var(--font-medium);color:var(--text-primary)}.advanced-toggle-button{padding:var(--space-1) var(--space-2);font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--text-tertiary);cursor:pointer;transition:color var(--duration-fast) var(--ease-out);background:0 0;border:none;min-width:44px;min-height:44px}.advanced-toggle-button:hover{color:var(--text-primary)}.debug-banner{padding:var(--space-2);background:color-mix(in srgb, var(--color-warning) 15%, var(--surface-background));border:1px solid color-mix(in srgb, var(--color-warning) 50%, transparent);border-radius:var(--radius-md);font-size:var(--text-xs);margin-block-end:var(--space-2);line-height:1.5}.dark .debug-banner{background:var(--color-warning-alpha-10);border-color:var(--color-warning-alpha-30)}.settings-space-y-1>*+*{margin-block-start:var(--space-1)}.settings-space-y-2>*+*{margin-block-start:var(--space-2)}.settings-space-y-3>*+*{margin-block-start:var(--space-3)}.settings-mt-1{margin-block-start:var(--space-1)}.settings-mt-2{margin-block-start:var(--space-2)}.settings-mt-3{margin-block-start:var(--space-3)}.settings-mt-4{margin-block-start:var(--space-4)}.settings-mt-6{margin-block-start:var(--space-6)}.settings-my-3{margin-block:var(--space-3)}.settings-mb-1{margin-block-end:var(--space-1)}.settings-mb-2{margin-block-end:var(--space-2)}.settings-mb-3{margin-block-end:var(--space-3)}.settings-mb-4{margin-block-end:var(--space-4)}.settings-mb-6{margin-block-end:var(--space-6)}.settings-ml-1{margin-inline-start:var(--space-1)}.settings-ml-2{margin-inline-start:var(--space-2)}.settings-icon-sm{block-size:1rem;inline-size:1rem}.settings-icon-md{block-size:1.25rem;inline-size:1.25rem}@media (width<=768px){.chat-settings-scrollable,.chat-settings-content{max-block-size:100%}.settings-item-row{align-items:flex-start;gap:var(--space-2);flex-direction:column}.settings-toggle-button{min-width:48px;min-height:48px;padding:var(--space-2) var(--space-4);align-self:flex-start}}.auth-page-container{width:100%;min-height:100dvh;font-family:var(--font-primary,system-ui, sans-serif);z-index:10;display:flex;position:relative;container:auth-page/inline-size}@container auth-page (width<=720px){.auth-page-container{height:100dvh;max-height:100dvh;overflow:hidden}}@supports not (container-type:inline-size){@media (width<=768px){.auth-page-container{height:100dvh;max-height:100dvh;overflow:hidden}}}.auth-split-layout{width:100%;min-height:100dvh;display:flex}.auth-value-section{display:none}@container auth-page (width>=980px){.auth-value-section{width:50%;min-height:100dvh;display:flex}}@supports not (container-type:inline-size){@media (width>=1024px){.auth-value-section{width:50%;min-height:100dvh;display:flex}}}.auth-form-section{width:100%;padding-block:var(--space-12);padding-inline:var(--space-6);justify-content:center;align-items:center;min-height:100dvh;display:flex}@container auth-page (width<=720px){.auth-form-section{-webkit-overflow-scrolling:touch;height:100dvh;max-height:100dvh;padding-top:max(var(--space-6), env(safe-area-inset-top));padding-bottom:max(var(--space-12), env(safe-area-inset-bottom));scrollbar-width:thin;align-items:flex-start;overflow:hidden auto}.auth-form-section::-webkit-scrollbar{width:8px}.auth-form-section::-webkit-scrollbar-track{background:0 0}.auth-form-section::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--color-neutral-400) 30%, transparent);border-radius:var(--radius-sm,4px)}}@supports not (container-type:inline-size){@media (width<=768px){.auth-form-section{-webkit-overflow-scrolling:touch;height:100dvh;max-height:100dvh;padding-top:max(var(--space-6), env(safe-area-inset-top));padding-bottom:max(var(--space-12), env(safe-area-inset-bottom));scrollbar-width:thin;align-items:flex-start;overflow:hidden auto}.auth-form-section::-webkit-scrollbar{width:8px}.auth-form-section::-webkit-scrollbar-track{background:0 0}.auth-form-section::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--color-neutral-400) 30%, transparent);border-radius:var(--radius-sm,4px)}}}@container auth-page (width>=980px){.auth-form-section.has-value-prop{width:50%}}@supports not (container-type:inline-size){@media (width>=1024px){.auth-form-section.has-value-prop{width:50%}}}.auth-form-container{gap:var(--space-8);flex-direction:column;width:100%;max-width:28rem;display:flex}.auth-form-container:has(.auth-card-enhanced){max-width:38rem}.auth-form-container:has(.auth-card-enhanced)>.auth-header{display:none}@container auth-page (width<=720px){.auth-form-container{padding-bottom:var(--space-8);min-height:min-content}}@supports not (container-type:inline-size){@media (width<=768px){.auth-form-container{padding-bottom:var(--space-8);min-height:min-content}}}.auth-header{text-align:center;animation:.6s ease-out forwards authFadeIn}.auth-logo{width:5rem;height:5rem;margin-inline:auto;margin-bottom:var(--space-4);border-radius:var(--shape-avatar,var(--radius-full));box-shadow:var(--shadow-lg);transform-style:preserve-3d;transition:transform .3s var(--ease-out);cursor:pointer;border:4px solid #ffffff80;position:relative}.auth-logo:hover{transform:rotateY(12deg)rotateX(-5deg)scale(1.05)}.auth-logo:after{content:"";background:radial-gradient(circle at center, color-mix(in srgb, var(--color-primary) 40%, transparent), transparent 70%);border-radius:inherit;opacity:0;transition:opacity .3s var(--ease-out);z-index:-1;pointer-events:none;position:absolute;inset:-4px}.auth-logo:hover:after{opacity:1}.dark .auth-logo{border-color:color-mix(in srgb, var(--surface-card) 50%, transparent)}.auth-title{font-size:var(--text-3xl);font-weight:var(--font-bold);color:var(--color-primary);margin-bottom:var(--space-2)}.auth-subtitle{font-size:var(--text-sm);color:var(--color-neutral-600)}.dark .auth-subtitle{color:var(--text-tertiary)}.auth-card{-webkit-backdrop-filter:blur(40px);border-radius:var(--shape-modal,var(--radius-2xl,1rem));box-shadow:var(--shadow-2xl);padding:var(--space-8);transition:opacity, transform var(--duration-normal) var(--ease-out);background:#fffffff2;border:1px solid #fff3}.auth-card:hover{box-shadow:0 32px 64px -16px var(--overlay-light)}.dark .auth-card{background:color-mix(in srgb, var(--surface-card) 95%, transparent);border-color:color-mix(in srgb, var(--border-color-default) 50%, transparent)}.auth-card-title{text-align:center;margin-bottom:var(--space-2);font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-neutral-900)}.dark .auth-card-title{color:var(--text-primary)}.auth-form{gap:var(--space-6);transition:gap .2s var(--ease-out);flex-direction:column;display:flex}.auth-form:has(.auth-validation-message.error){gap:var(--space-8)}.auth-form-fields{gap:var(--space-4);flex-direction:column;display:flex}.auth-field-group{padding-bottom:var(--space-6);animation:.4s ease-out authStaggerFadeIn;animation-delay:calc(var(--index,0) * .1s);flex-direction:column;animation-fill-mode:backwards;display:flex;position:relative}.auth-field-group:has(.auth-validation-message){padding-bottom:0}.auth-field-group:before{content:"";inset:calc(var(--space-2) * -1);border-radius:var(--radius-lg);opacity:0;transition:opacity .2s var(--ease-out), background .2s var(--ease-out);pointer-events:none;z-index:-1;background:0 0;position:absolute}.auth-field-group:has(.auth-input.has-error):before{background:color-mix(in srgb, var(--color-error) 3%, transparent);opacity:1}.dark .auth-field-group:has(.auth-input.has-error):before{background:color-mix(in srgb, var(--color-error) 5%, transparent)}.auth-field-group:has(.auth-input.has-success):before{background:color-mix(in srgb, var(--color-success) 3%, transparent);opacity:1}.dark .auth-field-group:has(.auth-input.has-success):before{background:color-mix(in srgb, var(--color-success) 5%, transparent)}.auth-label{font-size:var(--text-sm);font-weight:var(--font-medium);text-align:left;margin-bottom:var(--space-2);color:var(--color-neutral-700);display:block}.dark .auth-label{color:var(--text-secondary)}.auth-required-indicator{color:var(--color-error,var(--color-error))}.auth-input{width:100%;padding:var(--space-2) var(--space-4);font-size:var(--text-base);color:var(--text-primary);background:var(--color-neutral-50);border-radius:var(--shape-input,var(--radius-lg));transition:opacity, transform var(--duration-fast) var(--ease-out);min-height:var(--touch-target-preferred);border:1px solid #0000;outline:2px solid #0000}.dark .auth-input{color:var(--text-secondary);background:var(--surface-elevated)}.auth-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 4px color-mix(in srgb, var(--color-primary) 20%, transparent)}.auth-input:disabled{opacity:.5;cursor:not-allowed}.auth-input.has-error{border-color:var(--color-error,var(--color-error))}.auth-input.has-success{border-color:var(--color-success)}.auth-password-container{position:relative}.auth-password-input{padding-inline-end:var(--space-12)}.auth-password-toggle{cursor:pointer;width:44px;min-width:44px;height:44px;min-height:44px;color:var(--color-neutral-400);border-radius:var(--radius-sm);transition:color var(--duration-fast) var(--ease-out);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.auth-password-toggle:hover{color:var(--color-neutral-600)}.dark .auth-password-toggle:hover{color:var(--text-secondary)}.auth-password-toggle:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset);border-radius:var(--shape-input,var(--radius-md))}.auth-password-toggle-icon{width:1.5rem;height:1.5rem}.auth-password-requirements{margin-top:var(--space-3);padding:var(--space-3);background:color-mix(in srgb, var(--color-primary) 5%, transparent);border:1px solid color-mix(in srgb, var(--color-primary) 15%, transparent);border-radius:var(--shape-input,var(--radius-lg));font-size:var(--text-sm);opacity:1;transition:opacity .3s ease-out, scale .3s ease-out, display .3s allow-discrete;scale:1}@starting-style{.auth-password-requirements{opacity:0;scale:.95}}.dark .auth-password-requirements{background:color-mix(in srgb, var(--color-primary) 10%, transparent);border-color:color-mix(in srgb, var(--color-primary) 20%, transparent)}.auth-requirements-title{font-weight:var(--font-medium);color:var(--color-neutral-700);margin-bottom:var(--space-2);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.025em}.dark .auth-requirements-title{color:var(--text-secondary)}.auth-requirement{align-items:center;gap:var(--space-2);padding:var(--space-1) 0;color:var(--color-neutral-600);transition:color var(--duration-fast) var(--ease-out);display:flex}.dark .auth-requirement{color:var(--text-tertiary)}.auth-requirement.met{color:var(--color-success);font-weight:var(--font-medium)}.auth-requirement.unmet{color:var(--color-neutral-500)}.dark .auth-requirement.unmet{color:var(--theme-color-border-hover)}.auth-password-strength{margin-top:var(--space-2)}.auth-strength-header{font-size:var(--text-xs);margin-bottom:var(--space-1);justify-content:space-between;align-items:center;display:flex}.auth-strength-label{color:var(--color-neutral-600)}.dark .auth-strength-label{color:var(--text-tertiary)}.auth-strength-bar-container{background:var(--color-neutral-200);border-radius:var(--shape-avatar,var(--radius-full));width:100%;height:.5rem;margin-top:var(--space-1);overflow:hidden}.dark .auth-strength-bar-container{background:var(--border-color-default)}@property --strength-percentage{syntax:"<percentage>";inherits:false;initial-value:0%}.auth-strength-bar-fill{border-radius:var(--shape-avatar,var(--radius-full));height:100%;width:var(--strength-percentage,0%);transition:--strength-percentage .5s var(--ease-out), background .3s var(--ease-out)}@supports not (width:var(--strength-percentage)){.auth-strength-bar-fill{transition:width .5s var(--ease-out), background .3s var(--ease-out)}}.auth-strength-bar-fill.weak{background:var(--color-error,var(--color-error))}.auth-strength-bar-fill.medium{background:var(--color-warning,var(--color-warning))}.auth-strength-bar-fill.strong{background:linear-gradient(90deg, var(--color-success), color-mix(in srgb, var(--color-success) 80%, var(--color-primary)))}.auth-strength-text{font-weight:var(--font-medium)}.auth-strength-text.weak{color:var(--color-error,var(--color-error))}.auth-strength-text.medium{color:var(--color-warning,var(--color-warning))}.auth-strength-text.strong{color:var(--color-success)}.auth-validation-message{margin-top:var(--space-2);font-size:var(--text-sm);align-items:flex-start;gap:var(--space-2);word-break:normal;overflow-wrap:anywhere;white-space:normal;flex-wrap:wrap;min-width:0;line-height:1.4;animation:.2s ease-out validation-slide-in;display:flex}@keyframes validation-slide-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.auth-validation-message.error{color:var(--color-error,var(--color-error))}.auth-validation-message.success{color:var(--color-success)}.auth-validation-message.warning{color:var(--color-warning,var(--color-warning))}.auth-remember-me-container{margin-block:var(--space-3);justify-content:space-between;align-items:center;gap:var(--space-4);transition:opacity, transform .2s var(--ease-out);display:flex}.auth-remember-me-container:has(~.auth-field-group .auth-password-input:focus) .auth-forgot-password-link{color:var(--color-primary);font-weight:var(--font-medium)}.auth-remember-me-label{align-items:center;gap:var(--space-2);cursor:pointer;min-height:44px;display:flex}.auth-remember-me-checkbox{width:1rem;height:1rem;color:var(--color-primary);background:var(--color-white);border:1px solid var(--color-neutral-300);border-radius:var(--shape-badge,var(--radius-sm));cursor:pointer;transition:opacity, transform var(--duration-fast) var(--ease-out);flex-shrink:0}.dark .auth-remember-me-checkbox{background:var(--border-color-default);border-color:var(--theme-color-border-hover)}.auth-remember-me-checkbox:focus{outline:var(--focus-ring);outline-offset:4px}.auth-remember-me-checkbox:hover{border-color:var(--color-primary)}.auth-remember-me-text{font-size:var(--text-sm);color:var(--color-neutral-600);white-space:nowrap;transition:color var(--duration-fast) var(--ease-out)}.dark .auth-remember-me-text{color:var(--text-tertiary)}.auth-remember-me-label:hover .auth-remember-me-text{color:var(--color-primary)}.auth-button-primary{width:100%;padding:var(--space-3);border-radius:var(--shape-button,var(--radius-2xl,1rem));background:var(--color-primary);color:var(--text-inverse);font-size:var(--text-sm);font-weight:var(--font-medium);min-height:var(--touch-target-preferred);cursor:pointer;transition:opacity, transform var(--duration-fast) var(--ease-out);justify-content:center;align-items:center;gap:var(--space-2);border:none;display:flex}.auth-button-primary:hover:not(:disabled){background:var(--color-primary-hover,var(--color-primary-600));box-shadow:var(--shadow-md);transform:translateY(-4px)}.auth-button-primary:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.auth-button-primary:disabled{opacity:.5;cursor:not-allowed}.auth-button-primary.loading{cursor:wait}.auth-toggle-mode-container{margin-top:var(--space-4);text-align:center;font-size:var(--text-sm);color:var(--text-secondary)}.auth-toggle-mode-button{font-weight:var(--font-medium);color:var(--color-primary);cursor:pointer;transition:color var(--duration-fast) var(--ease-out);background:0 0;border:none;text-decoration:underline}.auth-toggle-mode-button:hover:not(:disabled){color:var(--color-primary-hover,var(--color-primary-600))}.auth-toggle-mode-button:disabled{opacity:.5;cursor:not-allowed}.auth-oauth-section{margin-top:var(--space-6);-webkit-backdrop-filter:blur(16px);border-radius:var(--shape-button,var(--radius-2xl,1rem));box-shadow:var(--shadow-xl);padding:var(--space-8);transition:border-color .3s var(--ease-out), box-shadow .3s var(--ease-out);background:#ffffffe6;border:1px solid #fff3}.auth-card:has(.auth-validation-message.error) .auth-oauth-section{border-color:var(--color-primary);box-shadow:var(--shadow-xl), 0 0 0 3px color-mix(in srgb, var(--color-primary) 10%, transparent)}.dark .auth-oauth-section{background:color-mix(in srgb, var(--surface-card) 90%, transparent);border-color:color-mix(in srgb, var(--border-color-default) 50%, transparent)}.auth-oauth-separator{margin-bottom:var(--space-8);position:relative}.auth-oauth-separator-line{align-items:center;display:flex;position:absolute;inset:0}.auth-oauth-separator-line:before{content:"";border-block-start:2px solid var(--color-neutral-200);width:100%}.dark .auth-oauth-separator-line:before{border-block-start-color:var(--border-color-default)}.auth-oauth-separator-text-container{font-size:var(--text-sm);justify-content:center;display:flex;position:relative}.auth-oauth-separator-text{padding-inline:var(--space-6);padding-block:var(--space-1);color:var(--color-neutral-600);font-weight:var(--font-semibold);border-radius:var(--shape-avatar,var(--radius-full));box-shadow:var(--shadow-sm);background:#fffffff2}.dark .auth-oauth-separator-text{background:color-mix(in srgb, var(--surface-card) 95%, transparent);color:var(--text-tertiary)}.auth-oauth-buttons{gap:var(--space-3);flex-direction:column;display:flex}.auth-oauth-button{justify-content:center;align-items:center;gap:var(--space-3);padding-inline:var(--space-6);padding-block:var(--space-4);background:var(--color-white);border:2px solid var(--color-neutral-200);border-radius:var(--shape-card,var(--radius-xl));color:var(--color-neutral-700);font-size:var(--text-sm);font-weight:var(--font-medium);min-height:var(--touch-target-preferred);cursor:pointer;transition:opacity, transform var(--duration-normal) var(--ease-out);display:flex;position:relative;overflow:hidden}.dark .auth-oauth-button{background:var(--surface-card);border-color:var(--border-color-default);color:var(--text-primary)}.auth-oauth-button:hover:not(:disabled){background:var(--color-neutral-50);border-color:var(--color-primary);box-shadow:var(--shadow-lg);transform:scale(1.02)}.dark .auth-oauth-button:hover:not(:disabled){background:var(--theme-surface-hover)}.auth-oauth-button:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.auth-oauth-button:disabled{opacity:.5;cursor:not-allowed;transform:none}@property --shimmer-angle{syntax:"<angle>";inherits:false;initial-value:45deg}.auth-oauth-button:after{content:"";background:linear-gradient(var(--shimmer-angle), transparent 20%, #ffffff4d 50%, transparent 80%);opacity:0;transition:opacity .3s var(--ease-out), --shimmer-angle .6s var(--ease-out);border-radius:inherit;pointer-events:none;position:absolute;inset:0}.auth-oauth-button:hover:after{opacity:1;--shimmer-angle:135deg}.auth-oauth-button-shimmer{border-radius:inherit;background:linear-gradient(90deg,#0000,#fff3,#0000);transition:transform 1s;position:absolute;inset:0;transform:translate(-100%)}.auth-oauth-button:hover .auth-oauth-button-shimmer{transform:translate(100%)}@supports (background:linear-gradient(var(--shimmer-angle), white, black)){.auth-oauth-button-shimmer{display:none}}.auth-oauth-icon{width:var(--space-6);height:var(--space-6);z-index:10;flex-shrink:0;position:relative}.auth-oauth-text{z-index:10;position:relative}.auth-trust-signals{text-align:center;gap:var(--space-4);margin-top:var(--space-8);flex-direction:column;animation:.6s ease-out .3s backwards authFadeIn;display:flex}.auth-security-badge{justify-content:center;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-neutral-600);display:flex}.dark .auth-security-badge{color:var(--text-tertiary)}.auth-security-badge-enhanced{gap:var(--space-3);padding:var(--space-4);background:color-mix(in srgb, var(--color-success) 5%, transparent);border:1px solid color-mix(in srgb, var(--color-success) 15%, transparent);border-radius:var(--shape-input,var(--radius-lg));margin-bottom:var(--space-4);flex-direction:column;display:flex}.dark .auth-security-badge-enhanced{background:color-mix(in srgb, var(--color-success) 8%, transparent);border-color:color-mix(in srgb, var(--color-success) 20%, transparent)}.auth-security-badge-item{align-items:center;gap:var(--space-2);font-size:var(--text-sm);display:flex}.auth-security-icon{width:1.25rem;height:1.25rem;color:var(--color-success);flex-shrink:0}.auth-security-text{color:var(--color-neutral-700);font-size:var(--text-sm)}.dark .auth-security-text{color:var(--text-secondary)}@container auth-page (width<=600px){.auth-security-badge-enhanced{padding:var(--space-3);gap:var(--space-2)}.auth-security-badge-item{font-size:var(--text-xs)}.auth-security-icon{width:1rem;height:1rem}}@supports not (container-type:inline-size){@media (width<=640px){.auth-security-badge-enhanced{padding:var(--space-3);gap:var(--space-2)}.auth-security-badge-item{font-size:var(--text-xs)}.auth-security-icon{width:1rem;height:1rem}}}.auth-user-count{font-size:var(--text-xs);color:var(--color-neutral-500)}.auth-footer-links{justify-content:center;align-items:center;gap:var(--space-4);font-size:var(--text-xs);display:flex}.auth-footer-link{color:var(--color-neutral-500);transition:color var(--duration-fast) var(--ease-out);text-decoration:none}.dark .auth-footer-link{color:var(--text-tertiary)}.auth-footer-link:hover{color:var(--color-primary)}.auth-footer-separator{color:var(--color-neutral-300)}.dark .auth-footer-separator{color:var(--border-color-default)}.auth-value-proposition{height:100%;padding:var(--space-12);background:linear-gradient(to bottom right, var(--color-primary-500), var(--color-primary-600), var(--color-primary-500));color:var(--color-white);flex-direction:column;justify-content:space-between;display:flex;position:relative;overflow:hidden}.auth-value-bg-blob{border-radius:var(--shape-avatar,var(--radius-full));filter:blur(64px);background:#ffffff0d;width:24rem;height:24rem;position:absolute}.auth-value-bg-blob-top{top:0;right:0;transform:translate(50%,-50%)}.auth-value-bg-blob-bottom{bottom:0;left:0;transform:translate(-50%,50%)}.auth-value-content{z-index:10;position:relative}.auth-value-header{margin-bottom:var(--space-12)}.auth-value-logo-container{align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.auth-value-logo{border-radius:var(--shape-card,var(--radius-xl));width:3rem;height:3rem;box-shadow:var(--shadow-lg)}.auth-value-brand-name{font-size:var(--text-3xl);font-weight:var(--font-bold)}.auth-value-tagline{font-size:var(--text-xl);color:#ffffffe6;font-weight:var(--font-medium)}.auth-value-features{gap:var(--space-6);margin-bottom:var(--space-12);flex-direction:column;display:flex}.auth-value-feature{align-items:flex-start;gap:var(--space-4);transition:transform var(--duration-fast) var(--ease-out);display:flex;position:relative}.auth-value-feature:before{content:"";inset:calc(var(--space-2) * -1);border-radius:var(--radius-xl);opacity:0;transition:opacity var(--duration-fast) var(--ease-out);z-index:-1;background:#ffffff14;position:absolute}.auth-value-feature:hover:before{opacity:1}.auth-value-feature:hover{transform:translate(8px)scale(1.02)}.auth-value-feature-icon{font-size:var(--text-4xl);transition:transform var(--duration-fast) var(--ease-out);flex-shrink:0}.auth-value-feature:hover .auth-value-feature-icon{transform:scale(1.2)rotate(5deg)}.auth-value-feature-content{flex:1}.auth-value-feature-title{font-size:var(--text-lg);font-weight:var(--font-semibold);margin-bottom:var(--space-1)}.auth-value-feature-description{font-size:var(--text-sm);line-height:var(--leading-relaxed);color:#fffc}.auth-value-stats-container{z-index:10;position:relative}.auth-value-stats{gap:var(--space-6);padding:var(--space-6);-webkit-backdrop-filter:blur(8px);border-radius:var(--shape-button,var(--radius-2xl,1rem));background:#ffffff1a;border:1px solid #fff3;grid-template-columns:repeat(3,1fr);display:grid}.auth-value-stat{text-align:center}.auth-value-stat-value{font-size:var(--text-3xl);font-weight:var(--font-bold);margin-bottom:var(--space-1)}.auth-value-stat-label{font-size:var(--text-sm);color:#fffc}.auth-value-testimonial{margin-top:var(--space-6);padding:var(--space-4);-webkit-backdrop-filter:blur(8px);border-radius:var(--shape-card,var(--radius-xl));background:#ffffff0d;border:1px solid #ffffff1a}.auth-value-testimonial-quote{font-size:var(--text-sm);color:#ffffffe6;margin-bottom:var(--space-2);font-style:italic}.auth-value-testimonial-author{font-size:var(--text-xs);color:#ffffffb3}.auth-loading-state{padding:var(--space-8);background:color-mix(in srgb, var(--surface-card) 50%, transparent);-webkit-backdrop-filter:blur(8px);border:1px solid var(--border-color-default,var(--color-neutral-200));border-radius:var(--shape-button,var(--radius-2xl,1rem));box-shadow:var(--shadow-lg);margin-bottom:var(--space-6);flex-direction:column;justify-content:center;align-items:center;animation:.4s ease-out authFadeIn;display:flex}.auth-loading-logo-container{margin-bottom:var(--space-6);position:relative}.auth-loading-logo-glow{background:linear-gradient(to right, color-mix(in srgb, var(--color-primary) 20%, transparent), color-mix(in srgb, var(--color-primary-hover) 20%, transparent), color-mix(in srgb, var(--color-primary) 20%, transparent));border-radius:var(--shape-avatar,var(--radius-full));filter:blur(40px);animation:3s ease-in-out infinite authPulseSlow;position:absolute;inset:0}.auth-loading-logo{border-radius:var(--shape-avatar,var(--radius-full));z-index:10;width:4rem;height:4rem;box-shadow:var(--shadow-lg);animation:3s ease-in-out infinite authBounceGentle;position:relative}.auth-loading-message-container{text-align:center;justify-content:center;align-items:center;min-height:3rem;display:flex}.auth-loading-message{font-size:var(--text-base);font-weight:var(--font-medium);color:var(--color-primary);max-width:20rem;animation:.5s ease-out authFadeIn}.auth-loading-dots{gap:var(--space-2);margin-top:var(--space-4);display:flex}.auth-loading-dot{border-radius:var(--shape-avatar,var(--radius-full));background:color-mix(in srgb, var(--color-primary) 30%, transparent);width:.5rem;height:.5rem;animation:1.4s ease-in-out infinite authPulse}.auth-loading-dot:nth-child(2){animation-delay:.2s}.auth-loading-dot:nth-child(3){animation-delay:.4s}.auth-progress-container{background:var(--surface-card);border:1px solid var(--border-color-default,var(--color-neutral-200));border-radius:var(--shape-input,var(--radius-lg));padding:var(--space-4);margin-bottom:var(--space-4);box-shadow:var(--shadow-sm);animation:.4s ease-out authSlideDown}.dark .auth-progress-container{background:color-mix(in srgb, var(--surface-card) 80%, transparent);border-color:color-mix(in srgb, var(--border-color-default) 60%, transparent)}.auth-progress-header{margin-bottom:var(--space-3);font-size:var(--text-xs);color:var(--color-neutral-600);justify-content:space-between;align-items:center;display:flex}.dark .auth-progress-header{color:var(--text-tertiary)}.auth-progress-bar-track{background:var(--border-color-default,var(--color-neutral-200));border-radius:var(--shape-avatar,var(--radius-full));width:100%;height:.5rem;margin-bottom:var(--space-4);position:relative;overflow:hidden}@property --auth-progress{syntax:"<percentage>";inherits:false;initial-value:0%}.auth-progress-bar-fill{border-radius:var(--shape-avatar,var(--radius-full));background:linear-gradient(to right, var(--color-primary), var(--color-primary-hover,var(--color-primary-600)), var(--color-primary));height:100%;width:var(--auth-progress,0%);transition:--auth-progress .7s var(--ease-out);position:relative;overflow:hidden}@supports not (width:var(--auth-progress)){.auth-progress-bar-fill{transition:width .7s var(--ease-out)}}.auth-progress-shimmer{background:linear-gradient(90deg,#0000,#fff3,#0000);animation:2s infinite authShimmer;position:absolute;inset:0;transform:translate(-100%)}.auth-progress-percentage{font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--color-neutral-700);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.dark .auth-progress-percentage{color:var(--text-secondary)}.auth-progress-step{justify-content:center;align-items:center;gap:var(--space-3);margin-bottom:var(--space-2);font-size:var(--text-sm);color:var(--color-primary);font-weight:var(--font-medium);display:flex}.auth-progress-icon{font-size:var(--text-lg)}.auth-timeout-warning{margin-top:var(--space-3);padding:var(--space-3);background:color-mix(in srgb, var(--color-warning) 10%, transparent);border:1px solid color-mix(in srgb, var(--color-warning) 20%, transparent);border-radius:var(--shape-input,var(--radius-lg));font-size:var(--text-sm);color:var(--color-warning)}.auth-timeout-header{align-items:flex-start;gap:var(--space-2);display:flex}.auth-timeout-icon{font-size:var(--text-lg);flex-shrink:0}.auth-timeout-content{flex:1}.auth-timeout-title{font-weight:var(--font-medium);margin-bottom:var(--space-1)}.auth-timeout-description{font-size:var(--text-xs);color:color-mix(in srgb, var(--color-warning) 90%, black)}.auth-progress-actions{margin-top:var(--space-4);justify-content:center;gap:var(--space-3);display:flex}.auth-error-recovery{background:color-mix(in srgb, var(--color-error) 10%, transparent);border:1px solid color-mix(in srgb, var(--color-error) 20%, transparent);border-radius:var(--shape-input,var(--radius-lg));padding:var(--space-6);margin-bottom:var(--space-4);opacity:1;transition:opacity .3s ease-out, scale .3s ease-out, display .3s allow-discrete;scale:1}@starting-style{.auth-error-recovery{opacity:0;scale:.95}}.dark .auth-error-recovery{background:color-mix(in srgb, var(--color-error) 10%, transparent);border-color:color-mix(in srgb, var(--color-error) 30%, transparent)}.auth-error-header{align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.auth-error-icon{font-size:var(--text-2xl);flex-shrink:0}.auth-error-content{flex:1;min-width:0}.auth-error-title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-error);margin-bottom:var(--space-1)}.dark .auth-error-title{color:var(--color-error-200)}.auth-error-description{font-size:var(--text-sm);color:color-mix(in srgb, var(--color-error) 90%, black);margin-bottom:var(--space-2)}.dark .auth-error-description{color:var(--color-error-300)}.auth-error-message{font-size:var(--text-xs);background:color-mix(in srgb, var(--color-error) 15%, transparent);padding:var(--space-2);border-radius:var(--shape-input,var(--radius-md));margin-top:var(--space-2);color:color-mix(in srgb, var(--color-error) 80%, black);font-family:monospace}.dark .auth-error-message{background:color-mix(in srgb, var(--color-error) 20%, transparent)}.auth-error-actions{gap:var(--space-3);margin-bottom:var(--space-4);flex-direction:column;display:flex}@container auth-page (width>=600px){.auth-error-actions{flex-direction:row}}@supports not (container-type:inline-size){@media (width>=640px){.auth-error-actions{flex-direction:row}}}.auth-error-button-primary{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--color-error);color:var(--color-white);border-radius:var(--shape-input,var(--radius-lg));font-weight:var(--font-medium);font-size:var(--text-sm);cursor:pointer;transition:opacity, transform var(--duration-fast) var(--ease-out);min-height:var(--touch-target-min);border:none;display:flex}.auth-error-button-primary:hover:not(:disabled){background:color-mix(in srgb, var(--color-error) 90%, black)}.auth-error-button-primary:disabled{opacity:.5;cursor:not-allowed}.auth-error-button-secondary{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--surface-card);color:var(--color-error);border:1px solid color-mix(in srgb, var(--color-error) 30%, transparent);border-radius:var(--shape-input,var(--radius-lg));font-weight:var(--font-medium);font-size:var(--text-sm);cursor:pointer;transition:opacity, transform var(--duration-fast) var(--ease-out);min-height:var(--touch-target-min);display:flex}.auth-error-button-secondary:hover:not(:disabled){background:var(--surface-hover,var(--color-neutral-100))}.dark .auth-error-button-secondary:hover:not(:disabled){background:var(--border-color-default)}.auth-error-button-secondary:disabled{opacity:.5;cursor:not-allowed}.auth-error-suggestions{border-block-start:1px solid color-mix(in srgb, var(--color-error) 20%, transparent);padding-block-start:var(--space-4)}.auth-error-suggestions-title{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-error);margin-bottom:var(--space-2)}.dark .auth-error-suggestions-title{color:var(--color-error-200)}.auth-error-suggestions-list{font-size:var(--text-sm);color:color-mix(in srgb, var(--color-error) 90%, black);gap:var(--space-1);flex-direction:column;padding:0;list-style:none;display:flex}.dark .auth-error-suggestions-list{color:var(--color-error-400)}.auth-error-suggestion-item{align-items:flex-start;gap:var(--space-2);display:flex}.auth-error-suggestion-bullet{color:var(--color-error);margin-top:var(--space-1)}.auth-skeleton-container{width:100%;min-height:100dvh;font-family:var(--font-primary,system-ui, sans-serif);z-index:10;justify-content:center;animation:.3s ease-out authFadeIn;display:flex;position:relative}.auth-skeleton-content{width:100%;max-width:28rem;padding-inline:var(--space-10);text-align:center;flex-direction:column;min-width:320px;min-height:100dvh;display:flex}.auth-skeleton-inner{width:100%;margin-block:auto;padding-block-end:var(--space-10)}.auth-skeleton-loading{margin-bottom:var(--space-8);align-items:center;gap:var(--space-4);flex-direction:column;display:flex}.auth-skeleton-spinner{border:4px solid color-mix(in srgb, var(--color-primary) 10%, transparent);border-block-start-color:var(--color-primary);border-radius:var(--shape-avatar,var(--radius-full));width:2rem;height:2rem;animation:1s linear infinite authSpin}.auth-skeleton-message{font-size:var(--text-lg);color:var(--color-primary);font-weight:var(--font-medium)}.auth-skeleton-element{background:linear-gradient(90deg, color-mix(in srgb, var(--border-color-default) 20%, transparent) 25%, color-mix(in srgb, var(--border-color-default) 40%, transparent) 50%, color-mix(in srgb, var(--border-color-default) 20%, transparent) 75%);background-size:200% 100%;animation:1.5s infinite authShimmer}.auth-skeleton-title{border-radius:var(--shape-input,var(--radius-md));width:12rem;height:2rem;margin-inline:auto}.auth-skeleton-subtitle{width:8rem;height:1rem;margin-inline:auto;margin-top:var(--space-2);border-radius:var(--shape-input,var(--radius-md))}.auth-skeleton-label{width:4rem;height:1rem;margin-bottom:var(--space-2);border-radius:var(--shape-input,var(--radius-md))}.auth-skeleton-input{border:2px solid color-mix(in srgb, var(--border-color-default) 30%, transparent);border-radius:var(--shape-button,var(--radius-2xl,1rem));width:100%;height:3rem}.auth-skeleton-button{border-radius:var(--shape-button,var(--radius-2xl,1rem));background:linear-gradient(90deg, color-mix(in srgb, var(--color-primary) 20%, transparent) 25%, color-mix(in srgb, var(--color-primary) 40%, transparent) 50%, color-mix(in srgb, var(--color-primary) 20%, transparent) 75%);background-size:200% 100%;width:100%;height:3rem}.auth-skeleton-oauth-button{border:2px solid color-mix(in srgb, var(--border-color-default) 20%, transparent);border-radius:var(--shape-button,var(--radius-2xl,1rem));background:linear-gradient(90deg, color-mix(in srgb, var(--surface-card) 30%, transparent) 25%, color-mix(in srgb, var(--surface-card) 60%, transparent) 50%, color-mix(in srgb, var(--surface-card) 30%, transparent) 75%);background-size:200% 100%;width:100%;height:3rem}@keyframes authFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes authStaggerFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes authSlideDown{0%{opacity:0;transform:translateY(-16px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes authBounceGentle{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes authPulseSlow{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.5;transform:scale(1.1)}}@keyframes authPulse{0%,80%,to{opacity:.3;transform:scale(1)}40%{opacity:1;transform:scale(1.2)}}@keyframes authShimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes authSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.auth-header,.auth-trust-signals,.auth-card,.auth-loading-state,.auth-progress-container,.auth-error-recovery,.auth-skeleton-container,.auth-loading-logo,.auth-loading-logo-glow,.auth-loading-dot,.auth-skeleton-element,.auth-skeleton-button,.auth-skeleton-oauth-button,.auth-skeleton-spinner,.auth-progress-shimmer,.auth-oauth-button-shimmer,.auth-value-feature,.auth-field-group{transition:none;animation:none}.auth-card:hover,.auth-button-primary:hover,.auth-oauth-button:hover,.auth-value-feature:hover,.auth-logo:hover{transform:none}.auth-logo:after,.auth-value-feature:before{display:none}.auth-skeleton-spinner{border:4px solid color-mix(in srgb, var(--color-primary) 30%, transparent)}.auth-skeleton-element,.auth-skeleton-button,.auth-skeleton-oauth-button{background:color-mix(in srgb, var(--border-color-default) 30%, transparent)}.auth-skeleton-button{background:color-mix(in srgb, var(--color-primary) 30%, transparent)}.auth-skeleton-oauth-button{background:color-mix(in srgb, var(--surface-card) 40%, transparent)}}@media (prefers-contrast:more){.auth-card,.auth-oauth-section,.auth-loading-state,.auth-progress-container,.auth-error-recovery{border-width:2px}.auth-button-primary,.auth-oauth-button,.auth-error-button-primary,.auth-error-button-secondary{border-style:solid;border-width:2px}}.auth-form-validation-error{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--color-error,var(--color-error));text-align:center;word-break:normal;overflow-wrap:anywhere;white-space:normal;line-height:1.4}.auth-form-error-summary{background:color-mix(in srgb, var(--color-error) 8%, transparent);border:2px solid color-mix(in srgb, var(--color-error) 25%, transparent);border-radius:var(--shape-input,var(--radius-lg));padding:var(--space-4);margin-bottom:var(--space-6);max-width:100%;animation:.3s ease-out authSlideDown}.dark .auth-form-error-summary{background:color-mix(in srgb, var(--color-error) 12%, transparent);border-color:color-mix(in srgb, var(--color-error) 30%, transparent)}.auth-error-summary-header{align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap;min-width:0;display:flex}.auth-error-summary-icon{width:1.5rem;height:1.5rem;color:var(--color-error);flex-shrink:0}.dark .auth-error-summary-icon{color:var(--color-error-200)}.auth-error-summary-title{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-error);word-break:normal;overflow-wrap:anywhere;white-space:normal;min-width:0}.dark .auth-error-summary-title{color:var(--color-error-200)}.auth-error-summary-list{gap:var(--space-2);flex-direction:column;max-width:100%;margin:0;padding:0;list-style:none;display:flex}.auth-error-summary-list li{font-size:var(--text-sm);color:color-mix(in srgb, var(--color-error) 90%, black);align-items:baseline;gap:var(--space-2);row-gap:var(--space-1);word-break:normal;overflow-wrap:anywhere;white-space:normal;flex-wrap:wrap;min-width:0;display:flex}.dark .auth-error-summary-list li{color:var(--color-error-300)}.auth-error-summary-list li:before{content:"•";color:var(--color-error);font-weight:var(--font-bold);flex-shrink:0}.auth-error-summary-list strong{font-weight:var(--font-semibold);color:var(--color-error);flex-shrink:0}.dark .auth-error-summary-list strong{color:var(--color-error-200)}.auth-security-reassurance{align-items:center;gap:var(--space-2);margin-top:var(--space-3);padding:var(--space-2) var(--space-3);background:color-mix(in srgb, var(--color-success) 8%, transparent);border:1px solid color-mix(in srgb, var(--color-success) 20%, transparent);border-radius:var(--shape-input,var(--radius-md));transition:opacity .2s ease-out;animation:.3s ease-out authFadeIn;display:flex}.auth-security-reassurance-hidden{opacity:0;pointer-events:none}.dark .auth-security-reassurance{background:color-mix(in srgb, var(--color-success) 12%, transparent);border-color:color-mix(in srgb, var(--color-success) 25%, transparent)}.auth-security-reassurance-icon{width:1rem;height:1rem;color:var(--color-success);flex-shrink:0}.auth-security-reassurance-text{font-size:var(--text-xs);color:color-mix(in srgb, var(--color-success) 90%, black);line-height:var(--leading-relaxed)}.dark .auth-security-reassurance-text{color:var(--color-success-300)}.auth-verification-notice{align-items:center;gap:var(--space-2);margin-top:var(--space-4);padding:var(--space-2) var(--space-3);background:color-mix(in srgb, var(--color-primary) 8%, transparent);border:1px solid color-mix(in srgb, var(--color-primary) 20%, transparent);border-radius:var(--shape-input,var(--radius-md));animation:.3s ease-out authFadeIn;display:flex}.dark .auth-verification-notice{background:color-mix(in srgb, var(--color-primary) 12%, transparent);border-color:color-mix(in srgb, var(--color-primary) 25%, transparent)}.auth-verification-notice-icon{width:1rem;height:1rem;color:var(--color-primary);flex-shrink:0}.auth-verification-notice-text{font-size:var(--text-xs);color:color-mix(in srgb, var(--color-primary) 90%, black);line-height:var(--leading-relaxed)}.dark .auth-verification-notice-text{color:var(--text-secondary)}.auth-trusted-header-container{padding:var(--space-8);text-align:center}.auth-trusted-header-content{gap:var(--space-4);font-size:var(--text-lg);color:var(--text-primary);flex-direction:column;justify-content:center;align-items:center;display:flex}.auth-spinner-icon{width:1rem;height:1rem;margin-inline-end:var(--space-2)}@container auth-page (width<=600px){.auth-form-section{padding-inline:var(--space-4)}.auth-card,.auth-oauth-section{padding:var(--space-6)}.auth-value-proposition{padding:var(--space-8)}.auth-value-stats{gap:var(--space-4);grid-template-columns:1fr}.auth-input{font-size:var(--text-base,1rem)}}@supports not (container-type:inline-size){@media (width<=640px){.auth-form-section{padding-inline:var(--space-4)}.auth-card,.auth-oauth-section{padding:var(--space-6)}.auth-value-proposition{padding:var(--space-8)}.auth-value-stats{gap:var(--space-4);grid-template-columns:1fr}.auth-input{font-size:var(--text-base,1rem)}}}@container auth-page (width<=720px){.auth-form-section{padding-inline:var(--space-4)}.auth-form-container{gap:var(--space-6);max-width:100%}.auth-logo{width:4rem;height:4rem;margin-bottom:var(--space-3)}.auth-title{font-size:var(--text-2xl)}.auth-input{min-height:48px;font-size:var(--text-base);padding:var(--space-3) var(--space-4)}.auth-submit-button,.auth-oauth-button{width:100%;min-height:48px}.auth-oauth-container{gap:var(--space-2);flex-direction:column}.auth-divider-text{font-size:var(--text-xs);padding-inline:var(--space-2)}}@supports not (container-type:inline-size){@media (width<=768px){.auth-form-section{padding-inline:var(--space-4)}.auth-form-container{gap:var(--space-6);max-width:100%}.auth-logo{width:4rem;height:4rem;margin-bottom:var(--space-3)}.auth-title{font-size:var(--text-2xl)}.auth-input{min-height:48px;font-size:var(--text-base);padding:var(--space-3) var(--space-4)}.auth-submit-button,.auth-oauth-button{width:100%;min-height:48px}.auth-oauth-container{gap:var(--space-2);flex-direction:column}.auth-divider-text{font-size:var(--text-xs);padding-inline:var(--space-2)}}}@container auth-page (width<=440px){.auth-form-section{padding-inline:var(--space-3);padding-bottom:max(var(--space-16), env(safe-area-inset-bottom))}.auth-form-container{gap:var(--space-4);padding-bottom:var(--space-12)}.auth-logo{width:3rem;height:3rem}.auth-title{font-size:var(--text-xl)}.auth-subtitle{font-size:var(--text-xs)}}@supports not (container-type:inline-size){@media (width<=480px){.auth-form-section{padding-inline:var(--space-3);padding-bottom:max(var(--space-16), env(safe-area-inset-bottom))}.auth-form-container{gap:var(--space-4);padding-bottom:var(--space-12)}.auth-logo{width:3rem;height:3rem}.auth-title{font-size:var(--text-xl)}.auth-subtitle{font-size:var(--text-xs)}}}@container auth-page (width<=720px){@media (orientation:landscape){.auth-form-section{padding-block:var(--space-3);padding-bottom:max(var(--space-8), env(safe-area-inset-bottom))}.auth-logo{width:2.5rem;height:2.5rem;margin-bottom:var(--space-2)}.auth-title{font-size:var(--text-xl);margin-bottom:var(--space-1)}.auth-subtitle{font-size:var(--text-xs);margin-bottom:var(--space-1)}.auth-form-container{gap:var(--space-3);padding-bottom:var(--space-6)}}}@supports not (container-type:inline-size){@media (width<=768px) and (orientation:landscape){.auth-form-section{padding-block:var(--space-3);padding-bottom:max(var(--space-8), env(safe-area-inset-bottom))}.auth-logo{width:2.5rem;height:2.5rem;margin-bottom:var(--space-2)}.auth-title{font-size:var(--text-xl);margin-bottom:var(--space-1)}.auth-subtitle{font-size:var(--text-xs);margin-bottom:var(--space-1)}.auth-form-container{gap:var(--space-3);padding-bottom:var(--space-6)}}}.learning-card-header{padding:var(--space-4);border-bottom:1px solid var(--border-color-default)}.stat-badge{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);background:var(--surface-card);border-radius:var(--radius-full);font-size:var(--text-sm);transition:opacity var(--duration-normal) var(--ease-out), transform var(--duration-normal) var(--ease-out);display:flex}.stat-badge-success{background:var(--color-success-alpha-10);color:var(--color-success-700)}.stat-badge-primary{background:var(--color-primary-alpha-10);color:var(--color-primary-500)}.stat-badge-secondary{background:var(--color-secondary-alpha-10);color:var(--color-secondary-700)}.stat-badge-info{background:var(--color-info-alpha-10);color:var(--color-info-600)}.status-dot{width:var(--space-2);height:var(--space-2);border-radius:var(--radius-full);flex-shrink:0}.status-dot-success{background:var(--color-success-500)}.status-dot-primary{background:var(--color-primary-500)}.status-dot-secondary{background:var(--color-secondary-500)}.status-dot-error{background:var(--color-error)}.stat-badge:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}.stat-badge:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-outline-offset)}:root{--color-lighten-step:10%;--color-darken-step:10%;--color-saturation-step:5%;--color-hover-lighten:15%;--color-hover-darken:10%;--color-active-darken:15%;--color-focus-alpha:.25;--color-disabled-opacity:.6;--color-border-alpha:.2;--color-border-hover-alpha:.3;--color-focus-ring-width:2px;--color-focus-ring-offset:2px;--color-shadow-opacity:.1;--color-shadow-color:0, 0, 0;--color-shadow-elevation-1:0 1px 3px;--color-shadow-elevation-2:0 4px 6px;--color-shadow-elevation-3:0 10px 20px}.theme-primary-variations{--primary-50:color-mix(in srgb, var(--color-primary-500) 5%, white);--primary-100:color-mix(in srgb, var(--color-primary-500) 10%, white);--primary-200:color-mix(in srgb, var(--color-primary-500) 25%, white);--primary-300:color-mix(in srgb, var(--color-primary-500) 40%, white);--primary-400:color-mix(in srgb, var(--color-primary-500) 70%, white);--primary-500:var(--color-primary-500);--primary-600:color-mix(in srgb, var(--color-primary-500) 85%, black);--primary-700:color-mix(in srgb, var(--color-primary-500) 70%, black);--primary-800:color-mix(in srgb, var(--color-primary-500) 50%, black);--primary-900:color-mix(in srgb, var(--color-primary-500) 25%, black);--primary-950:color-mix(in srgb, var(--color-primary-500) 10%, black)}:root{--adaptive-hover-adjustment:var(--color-hover-darken);--adaptive-shadow-opacity:.15;--adaptive-border-opacity:.2}:where(.dark){--adaptive-hover-adjustment:var(--color-hover-lighten);--adaptive-shadow-opacity:.25;--adaptive-border-opacity:.3}.color-mix-utilities{--state-hover:color-mix(in srgb, var(--color-primary-500) 90%, white);--state-active:color-mix(in srgb, var(--color-primary-500) 110%, black);--state-focus:color-mix(in srgb, var(--color-primary-500) var(--color-focus-alpha), transparent);--state-disabled:color-mix(in srgb, var(--color-primary-500) var(--color-disabled-opacity), transparent);--surface-hover:color-mix(in srgb, var(--color-surface) 95%, var(--color-primary-500));--surface-selected:color-mix(in srgb, var(--color-surface) 90%, var(--color-primary-500));--surface-overlay:color-mix(in srgb, var(--color-background) 80%, transparent)}.adaptive-colors{--text-adaptive:light-dark(var(--color-text-primary),var(--color-text-primary-dark));--background-adaptive:light-dark(var(--color-background),var(--color-background-dark));--border-adaptive:light-dark(color-mix(in srgb, var(--color-text-primary) var(--color-border-alpha), transparent),color-mix(in srgb, var(--color-text-primary-dark) var(--color-border-alpha), transparent))}.adaptive-interactive{--hover-background:color-mix(in srgb, var(--color-primary-500) var(--adaptive-hover-adjustment), var(--color-surface));--hover-border:color-mix(in srgb, var(--color-primary-500) var(--color-border-hover-alpha), transparent);--hover-shadow:0 2px 4px color-mix(in srgb, var(--color-shadow-color) var(--adaptive-shadow-opacity), transparent);--focus-ring:0 0 0 var(--color-focus-ring-width) color-mix(in srgb, var(--color-primary-500) var(--color-focus-alpha), transparent);--focus-ring-offset:var(--color-focus-ring-offset)}@supports (color:color(display-p3 1 0 0)){.p3-enhanced{--primary-p3:color(display-p3 .2 .4 1);--accent-p3:color(display-p3 0 .8 .4);--warning-p3:color(display-p3 1 .6 0);--error-p3:color(display-p3 1 .2 .2);--color-primary-500:var(--primary-p3);--color-accent-500:var(--accent-p3);--color-warning-500:var(--warning-p3);--color-error-500:var(--error-p3)}}.auto-contrast{color:light-dark(color-contrast(var(--background-color,var(--color-background)) vs black, white),color-contrast(var(--background-color,var(--color-background-dark)) vs white, black))}:where(:root){--surface-background:var(--color-surface);--surface-card:var(--color-surface);--color-background:var(--color-surface);--color-text:var(--color-text-primary);--neutral-content:var(--color-text-primary);--neutral-mid:var(--color-neutral-500);--neutral-dark:var(--color-neutral-700);--neutral-light:var(--color-neutral-300);--neutral-black:var(--color-neutral-950);--neutral-white:var(--color-neutral-50);--color-surface:var(--color-neutral-50);--color-surface-hover:var(--color-neutral-100);--color-surface-alt:var(--color-neutral-100);--color-surface-secondary:var(--color-neutral-100);--color-surface-tertiary:var(--color-neutral-200);--color-surface-active:var(--color-neutral-100);--color-surface-system:var(--color-neutral-200);--color-text-primary:var(--color-neutral-900);--color-text-secondary:var(--color-neutral-700);--color-text-tertiary:var(--color-neutral-500);--color-text-on-primary:white;--color-text-on-secondary:white;--color-text-on-note:var(--color-neutral-800);--border-color-default:var(--color-neutral-200);--border-color-muted:var(--color-neutral-100);--border-color-code:var(--color-neutral-300);--color-overlay:#00000080;--color-primary-hover:color-mix(in oklch, var(--color-primary-500) 85%, var(--color-neutral-50));--color-primary-active:color-mix(in oklch, var(--color-primary-500) 75%, var(--color-neutral-950));--color-primary-alpha-10:color-mix(in oklch, var(--color-primary-500) 10%, transparent);--color-primary-alpha-20:color-mix(in oklch, var(--color-primary-500) 20%, transparent);--color-primary-alpha-50:color-mix(in oklch, var(--color-primary-500) 50%, transparent);--theme-color-primary-hover:var(--color-primary-hover);--theme-color-primary-active:var(--color-primary-active);--color-secondary-hover:color-mix(in oklch, var(--color-secondary-500) 85%, var(--color-neutral-50));--color-secondary-active:color-mix(in oklch, var(--color-secondary-500) 75%, var(--color-neutral-950));--color-secondary-alpha-20:color-mix(in oklch, var(--color-secondary-500) 20%, transparent);--theme-color-secondary-hover:var(--color-secondary-hover);--theme-color-secondary-active:var(--color-secondary-active);--color-note-yellow:#fff4b3;--color-note-pink:#ffcce6;--color-note-blue:#cce6ff;--color-note-green:#bef4d4;--color-note-orange:#ffd2b3;--color-note-purple:#e6d1fa;--color-note-teal:#bef4ee;--color-note-coral:#ffc6b3;--color-surface-code:var(--color-neutral-100);--color-success-light:#61db94;--color-success-dark:#1e8549;--color-success-content:var(--color-text-on-primary);--color-success-hover:color-mix(in oklch, var(--color-success) 85%, var(--color-neutral-50));--color-success-active:color-mix(in oklch, var(--color-success) 75%, var(--color-neutral-950));--theme-color-success-hover:var(--color-success-hover);--theme-color-success-active:var(--color-success-active);--color-error-light:#f7a1a1;--color-error-dark:#bc1010;--color-error-content:var(--color-text-on-primary);--color-error-hover:color-mix(in oklch, var(--color-error) 85%, var(--color-neutral-50));--color-warning-light:#f9c56c;--color-warning-dark:#935f06;--color-warning-content:var(--color-text-primary);--color-warning-hover:color-mix(in oklch, var(--color-warning) 85%, var(--color-neutral-50));--color-info-light:#9ec1fa;--color-info-dark:#0950c3;--color-info-content:var(--color-text-on-primary);--color-info-hover:color-mix(in oklch, var(--color-info) 85%, var(--color-neutral-50));--color-error-alpha-10:color-mix(in oklch, var(--color-error) 10%, transparent);--color-error-alpha-15:color-mix(in oklch, var(--color-error) 15%, transparent);--color-error-alpha-20:color-mix(in oklch, var(--color-error) 20%, transparent);--color-error-alpha-30:color-mix(in oklch, var(--color-error) 30%, transparent);--color-error-alpha-40:color-mix(in oklch, var(--color-error) 40%, transparent);--color-success-alpha-10:color-mix(in oklch, var(--color-success) 10%, transparent);--color-success-alpha-15:color-mix(in oklch, var(--color-success) 15%, transparent);--color-success-alpha-20:color-mix(in oklch, var(--color-success) 20%, transparent);--color-success-alpha-30:color-mix(in oklch, var(--color-success) 30%, transparent);--color-warning-alpha-10:color-mix(in oklch, var(--color-warning) 10%, transparent);--color-warning-alpha-15:color-mix(in oklch, var(--color-warning) 15%, transparent);--color-warning-alpha-20:color-mix(in oklch, var(--color-warning) 20%, transparent);--color-warning-alpha-30:color-mix(in oklch, var(--color-warning) 30%, transparent);--color-info-alpha-10:color-mix(in oklch, var(--color-info) 10%, transparent);--color-info-alpha-15:color-mix(in oklch, var(--color-info) 15%, transparent);--color-info-alpha-20:color-mix(in oklch, var(--color-info) 20%, transparent);--color-info-alpha-30:color-mix(in oklch, var(--color-info) 30%, transparent);--color-primary-alpha-30:color-mix(in oklch, var(--color-primary-500) 30%, transparent);--color-primary-alpha-40:color-mix(in oklch, var(--color-primary-500) 40%, transparent);--color-secondary-alpha-10:color-mix(in oklch, var(--color-secondary-500) 10%, transparent);--color-secondary-alpha-15:color-mix(in oklch, var(--color-secondary-500) 15%, transparent);--color-secondary-alpha-30:color-mix(in oklch, var(--color-secondary-500) 30%, transparent);--color-neutral-alpha-5:color-mix(in oklch, var(--color-neutral-900) 5%, transparent);--color-neutral-alpha-10:color-mix(in oklch, var(--color-neutral-900) 10%, transparent);--color-neutral-alpha-20:color-mix(in oklch, var(--color-neutral-900) 20%, transparent);--color-neutral-alpha-30:color-mix(in oklch, var(--color-neutral-900) 30%, transparent);--color-neutral-alpha-40:color-mix(in oklch, var(--color-neutral-900) 40%, transparent);--color-neutral-alpha-50:color-mix(in oklch, var(--color-neutral-900) 50%, transparent)}:where(.dark),:where(html.dark){--color-neutral-50:#0f1419;--color-neutral-100:#1a1f29;--color-neutral-200:#252d3d;--color-neutral-300:#3a4458;--color-neutral-400:#4f5b70;--color-neutral-500:#7b8599;--color-neutral-600:#9ba3b4;--color-neutral-700:#bdc4d1;--color-neutral-800:#d4dae5;--color-neutral-850:#e5e9f0;--color-neutral-900:#f0f4f8;--color-neutral-950:var(--color-white);--color-surface:var(--color-neutral-100);--color-surface-hover:var(--color-neutral-200);--color-surface-alt:var(--color-neutral-200);--color-surface-secondary:var(--color-neutral-200);--color-surface-tertiary:var(--color-neutral-300);--color-surface-active:var(--color-neutral-200);--color-surface-system:var(--color-neutral-300);--color-text-primary:var(--color-neutral-900);--color-text-secondary:var(--color-neutral-700);--color-text-tertiary:var(--color-neutral-600);--color-text-on-primary:white;--color-text-on-secondary:white;--color-text-on-note:var(--color-neutral-100);--border-color-default:var(--color-neutral-300);--border-color-muted:var(--color-neutral-250);--border-color-code:var(--color-neutral-400);--color-overlay:#0f1419d9;--color-surface-code:var(--color-neutral-200);--color-note-yellow:#8a770f;--color-note-pink:#a11259;--color-note-blue:#1259a1;--color-note-green:#1f7a45;--color-note-orange:#a14d12;--color-note-purple:#661fad;--color-note-teal:#1f7a71;--color-note-coral:#a13612;--color-success-100:#13532e;--color-success-800:#97e7b9;--color-warning-100:#624004;--color-warning-800:#facf85;--color-danger-100:#5e0808;--color-danger-800:#f58a8a;--color-primary-50:#172e45;--color-primary-100:#214263;--color-primary-500:#5a9ee2;--color-primary-600:#78ade2;--color-primary-800:#9dc2e7;--color-primary-900:#16293b;--color-secondary-50:#4c3810;--color-secondary-100:#765719;--color-secondary-500:#e7b655;--color-secondary-600:#e7c074;--color-secondary-800:#e9cd96}.theme-transition{transition-property:color,background-color,border-color,fill,stroke;transition-duration:var(--transition-duration-normal);transition-timing-function:var(--transition-timing-entrance);transition:background-color .3s,color .3s,border-color .3s}.performance-optimized{content-visibility:auto;contain:style paint}.message-container{content-visibility:auto;contain-intrinsic-size:0 calc(var(--line-height,1.5) * 3em);contain:style paint}.lesson-section,.lesson-content-block{content-visibility:auto;contain-intrinsic-size:0 250px;contain:layout style}.modal-content,.overlay-content{content-visibility:auto;contain-intrinsic-size:0 400px;contain:layout style paint}.chat-history,.scrollable-list{content-visibility:auto;contain-intrinsic-size:0 200px;contain:layout style}.data-table,.content-grid{content-visibility:auto;contain-intrinsic-size:0 300px;contain:layout style paint}h1,h2,h3,h4,h5,h6,.heading,.title{text-wrap:balance}.lesson-content p,.article-content p,.content-text{text-wrap:pretty}.lesson-title,.card-title,.section-title{text-wrap:balance;max-width:60ch}.main-content,.chat-container,.lesson-container,.content-area,.sidebar,.navigation-panel,.side-panel,.scrollable-content,.overflow-scroll{scrollbar-gutter:auto}:where(:root){--focus-mode-filter-interface:grayscale(.85) brightness(.95) contrast(.9);--focus-mode-filter-content:grayscale(.3) brightness(1) contrast(1.05);--focus-mode-filter-accent:grayscale(0) brightness(1.1);--focus-mode-overlay:#0000000d;--focus-mode-transition:.6s var(--cocovox-ease-signature,cubic-bezier(.23, 1, .32, 1));--focus-mode-transition-fast:.4s var(--cocovox-ease-signature,cubic-bezier(.23, 1, .32, 1));--focus-mode-edge-zone-width:20px;--focus-mode-edge-zone-glow:var(--color-primary-alpha-20)}.container{width:100%;max-width:var(--container-max-width,1280px);padding-inline:var(--container-padding,1rem);margin-inline:auto}.grid{gap:var(--grid-gap,1rem);display:grid}.flex{display:flex}.flex-col{flex-direction:column}.flex-center{justify-content:center;align-items:center;display:flex}.flex-between{justify-content:space-between;align-items:center;display:flex}.app-layout{background-color:var(--theme-background,var(--color-background,var(--color-white)));grid-template-rows:auto 1fr auto;min-height:100dvh;display:grid}.main-content{flex:1;width:100%}.m-0{margin:0}.m-1{margin:var(--space-1,.25rem)}.m-2{margin:var(--space-2,.5rem)}.m-3{margin:var(--space-3,.75rem)}.m-4{margin:var(--space-4,1rem)}.m-5{margin:1.25rem}.m-6{margin:var(--space-6,1.5rem)}.m-8{margin:var(--space-8,2rem)}.p-0{padding:0}.p-1{padding:var(--space-1,.25rem)}.p-2{padding:var(--space-2,.5rem)}.p-3{padding:var(--space-3,.75rem)}.p-4{padding:var(--space-4,1rem)}.p-5{padding:1.25rem}.p-6{padding:var(--space-6,1.5rem)}.p-8{padding:var(--space-8,2rem)}.card{background-color:var(--surface-card);border-radius:var(--card-border-radius,.5rem);padding:var(--card-padding,1rem);box-shadow:var(--card-shadow,0 2px 4px var(--color-black-alpha-10))}.section{padding-block:var(--section-padding,2rem)}.stack>*+*{margin-top:var(--stack-gap,1rem)}.h-stack>*+*{margin-left:var(--h-stack-gap,1rem)}@media (width>=640px){.container{padding-inline:var(--container-padding-sm,2rem)}}@media (width>=768px){.container{padding-inline:var(--container-padding-md,2.5rem)}}@media (width>=1024px){.container{padding-inline:var(--container-padding-lg,3rem)}}.page-grid{gap:var(--page-grid-gap,1.5rem);grid-template-columns:1fr;display:grid}@media (width>=1024px){.page-grid{grid-template-columns:var(--page-grid-template,1fr 3fr)}}.btn{padding:var(--button-padding-y) var(--button-padding-x);border-radius:var(--shape-button,var(--button-border-radius,12px));font-weight:var(--button-font-weight);text-align:center;transition:var(--button-transition);cursor:pointer;white-space:nowrap;min-height:var(--button-min-height);justify-content:center;align-items:center;gap:var(--space-2,.5rem);border:1px solid #0000;text-decoration:none;display:inline-flex;position:relative}.btn:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px;box-shadow:0 0 0 4px color-mix(in srgb, var(--color-primary-500), transparent 80%)}.btn-primary{background-color:var(--color-primary-500,var(--color-primary));color:var(--color-white)}.btn-primary:hover{background-color:var(--color-primary-600,var(--color-primary-dark))}.btn-secondary{background-color:var(--color-secondary-500,var(--color-secondary));color:var(--color-white)}.btn-outline{color:var(--color-primary-500,var(--color-primary));background-color:#0000;border:1px solid}.btn-outline:hover{background-color:var(--color-primary-alpha-10,#2d5b3e1a)}.btn-ghost{color:var(--text-primary);background-color:#0000}.btn-ghost:hover{background-color:var(--color-black-alpha-5)}.btn-sm{padding:var(--space-1,.25rem) var(--space-2,.5rem);font-size:var(--text-sm,.875rem)}.btn-lg{padding:var(--space-3,.75rem) var(--space-6,1.5rem);font-size:var(--text-lg,1.125rem)}.btn-icon{padding:var(--button-icon-padding);width:var(--button-icon-size);height:var(--button-icon-size);min-width:var(--button-icon-size);min-height:var(--button-icon-size);border-radius:var(--shape-button,var(--button-border-radius,12px));justify-content:center}@media (width<=639px){.btn{min-height:var(--button-min-height-mobile);padding:var(--space-3,.75rem) var(--space-4,1rem);width:100%}.btn-icon{padding:var(--space-3,.75rem);width:var(--button-icon-size-mobile)!important;height:var(--button-icon-size-mobile)!important;min-width:var(--button-icon-size-mobile)!important;min-height:var(--button-icon-size-mobile)!important}}@media (width>=640px) and (width<=1024px){.btn{width:auto;min-width:120px;padding:var(--space-2,.5rem) var(--space-4,1rem);justify-content:flex-start}.btn-icon{padding:var(--space-2,.5rem) var(--space-3,.75rem);justify-content:center;width:auto!important;min-width:auto!important}}@media (width>=1024px){.btn{width:auto;min-width:140px;padding:var(--space-2,.5rem) var(--space-4,1rem);justify-content:flex-start}}@media (width>=1536px){.btn{min-height:var(--button-min-height-large);padding:var(--space-3,.75rem) 1.25rem;font-size:.9375rem}}@media (hover:none) and (pointer:coarse){.btn{min-height:var(--button-min-height-mobile);padding:calc(.75rem + 2px) 1.25rem;transition:background-color .15s,border-color .15s}.btn:hover{transform:none}.btn:active{transition:transform .1s;transform:scale(.98)}}@media (height<=500px) and (orientation:landscape){.btn{min-height:40px;padding:var(--space-2,.5rem) var(--space-3,.75rem);font-size:.8125rem}}@media (prefers-contrast:more){.btn{border-width:2px;box-shadow:0 0 0 1px}}@media (prefers-reduced-motion:reduce){.btn{transition:none;animation:none}.btn:hover,.btn:active{transform:none}}.form-group{margin-bottom:var(--space-4,1rem)}.form-label{margin-bottom:var(--space-2,.5rem);font-weight:var(--font-medium,500);display:block}.form-input{width:100%;padding:var(--space-2,.5rem);border:1px solid var(--theme-border-color);border-radius:var(--shape-input,var(--input-radius,8px));background-color:var(--theme-input-background,white);transition:border-color var(--duration-normal) var(--ease-out);display:block}.form-input:focus{border-color:var(--color-primary-500);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-primary-500), transparent 80%);outline:2px solid #0000}.badge{font-size:.75em;font-weight:var(--font-semibold,600);border-radius:var(--shape-badge,9999px);text-transform:uppercase;letter-spacing:.05em;align-items:center;padding:.25em .5em;line-height:1;display:inline-flex}.badge-primary{background-color:var(--color-primary-500);color:var(--color-white)}.badge-secondary{background-color:var(--color-secondary-500);color:var(--color-white)}.badge-outline{background-color:#0000;border:1px solid}.card{border-radius:var(--shape-card,var(--card-radius,16px));background-color:var(--surface-card);box-shadow:var(--shadow-sm,0 1px 3px var(--color-black-alpha-10));transition:box-shadow var(--duration-normal) var(--ease-out);overflow:hidden}.card-header{padding:var(--space-4,1rem);border-bottom:1px solid var(--theme-border-color,var(--color-black-alpha-10));font-weight:var(--font-semibold,600)}.card-body{padding:var(--space-4,1rem)}.card-footer{padding:var(--space-4,1rem);border-top:1px solid var(--theme-border-color,var(--color-black-alpha-10))}.alert{padding:var(--space-3,.75rem) var(--space-4,1rem);border-radius:var(--shape-tooltip,.25rem);margin-bottom:var(--space-4,1rem)}.alert-info{background-color:color-mix(in srgb, var(--color-primary-500), white 85%);border-left:4px solid var(--color-primary-500)}.alert-success{background-color:#d9ecd9;border-left:4px solid green}.alert-warning{background-color:#fff2d9;border-left:4px solid orange}.alert-error{background-color:#ffd9d9;border-left:4px solid red}:root{--view-transition-duration:var(--transition-duration-normal,.25s);--view-transition-timing:var(--transition-timing-entrance,ease-out)}@keyframes page-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes page-exit{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8px)}}::view-transition-old(page){animation:page-exit var(--view-transition-duration) var(--view-transition-timing) both}::view-transition-new(page){animation:page-enter var(--view-transition-duration) var(--view-transition-timing) both}@keyframes card-enter{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes card-exit{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.05)}}::view-transition-old(card){animation:card-exit var(--view-transition-duration) var(--view-transition-timing) both}::view-transition-new(card){animation:card-enter var(--view-transition-duration) var(--view-transition-timing) both}@keyframes dialog-enter{0%{opacity:0;transform:scale(.9)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes dialog-exit{0%{opacity:1;transform:scale(1)translateY(0)}to{opacity:0;transform:scale(.95)translateY(10px)}}::view-transition-old(dialog){animation:dialog-exit var(--view-transition-duration) var(--view-transition-timing) both}::view-transition-new(dialog){animation:dialog-enter var(--view-transition-duration) var(--view-transition-timing) both}@supports not (view-transition-name:none){.view-transition-page{animation:page-enter var(--view-transition-duration) var(--view-transition-timing) both}.view-transition-card{animation:card-enter var(--view-transition-duration) var(--view-transition-timing) both}.view-transition-dialog{animation:dialog-enter var(--view-transition-duration) var(--view-transition-timing) both}}.use-view-transition-page{view-transition-name:page}.use-view-transition-card{view-transition-name:card}.use-view-transition-dialog{view-transition-name:dialog}:where(:root){--color-space-default:oklch;--color-space-display:srgb;--color-space-mixing:oklch;--color-space-wide:display-p3;--color-space-print:cmyk;--has-oklch:0;--has-p3:0;--has-color-contrast:0}@supports (color:oklch(0% 0 0)){:where(:root){--has-oklch:1}}@supports (color:color(display-p3 0 0 0)){:where(:root){--has-p3:1}}@supports (color:color-contrast(white vs black, gray)){:where(:root){--has-color-contrast:1}}:where(:root){--theme-primary-50:color-mix(in oklch, var(--color-primary-500) 10%, white);--theme-primary-100:color-mix(in oklch, var(--color-primary-500) 20%, white);--theme-primary-200:color-mix(in oklch, var(--color-primary-500) 30%, white);--theme-primary-300:color-mix(in oklch, var(--color-primary-500) 40%, white);--theme-primary-400:color-mix(in oklch, var(--color-primary-500) 75%, white);--theme-primary-500:var(--color-primary-500);--theme-primary-600:color-mix(in oklch, var(--color-primary-500) 20%, black);--theme-primary-700:color-mix(in oklch, var(--color-primary-500) 40%, black);--theme-primary-800:color-mix(in oklch, var(--color-primary-500) 60%, black);--theme-primary-900:color-mix(in oklch, var(--color-primary-500) 80%, black);--theme-secondary-50:color-mix(in oklch, var(--color-secondary-500) 10%, white);--theme-secondary-100:color-mix(in oklch, var(--color-secondary-500) 20%, white);--theme-secondary-200:color-mix(in oklch, var(--color-secondary-500) 30%, white);--theme-secondary-300:color-mix(in oklch, var(--color-secondary-500) 40%, white);--theme-secondary-400:color-mix(in oklch, var(--color-secondary-500) 75%, white);--theme-secondary-500:var(--color-secondary-500);--theme-secondary-600:color-mix(in oklch, var(--color-secondary-500) 20%, black);--theme-secondary-700:color-mix(in oklch, var(--color-secondary-500) 40%, black);--theme-secondary-800:color-mix(in oklch, var(--color-secondary-500) 60%, black);--theme-secondary-900:color-mix(in oklch, var(--color-secondary-500) 80%, black);--theme-accent-50:color-mix(in oklch, var(--color-accent-500) 10%, white);--theme-accent-100:color-mix(in oklch, var(--color-accent-500) 20%, white);--theme-accent-200:color-mix(in oklch, var(--color-accent-500) 30%, white);--theme-accent-300:color-mix(in oklch, var(--color-accent-500) 40%, white);--theme-accent-400:color-mix(in oklch, var(--color-accent-500) 75%, white);--theme-accent-500:var(--color-accent-500);--theme-accent-600:color-mix(in oklch, var(--color-accent-500) 20%, black);--theme-accent-700:color-mix(in oklch, var(--color-accent-500) 40%, black);--theme-accent-800:color-mix(in oklch, var(--color-accent-500) 60%, black);--theme-accent-900:color-mix(in oklch, var(--color-accent-500) 80%, black);--theme-primary-alpha-10:color-mix(in oklch, var(--color-primary-500) 10%, transparent);--theme-primary-alpha-20:color-mix(in oklch, var(--color-primary-500) 20%, transparent);--theme-primary-alpha-30:color-mix(in oklch, var(--color-primary-500) 30%, transparent);--theme-primary-alpha-40:color-mix(in oklch, var(--color-primary-500) 40%, transparent);--theme-primary-alpha-50:color-mix(in oklch, var(--color-primary-500) 50%, transparent);--theme-secondary-alpha-10:color-mix(in oklch, var(--color-secondary-500) 10%, transparent);--theme-secondary-alpha-20:color-mix(in oklch, var(--color-secondary-500) 20%, transparent);--theme-secondary-alpha-30:color-mix(in oklch, var(--color-secondary-500) 30%, transparent);--theme-secondary-alpha-40:color-mix(in oklch, var(--color-secondary-500) 40%, transparent);--theme-secondary-alpha-50:color-mix(in oklch, var(--color-secondary-500) 50%, transparent);--theme-accent-alpha-10:color-mix(in oklch, var(--color-accent-500) 10%, transparent);--theme-accent-alpha-20:color-mix(in oklch, var(--color-accent-500) 20%, transparent);--theme-accent-alpha-30:color-mix(in oklch, var(--color-accent-500) 30%, transparent);--theme-accent-alpha-40:color-mix(in oklch, var(--color-accent-500) 40%, transparent);--theme-accent-alpha-50:color-mix(in oklch, var(--color-accent-500) 50%, transparent);--primary-lighter:oklch(from var(--color-primary-500) calc(l + .1) c h);--primary-darker:oklch(from var(--color-primary-500) calc(l - .1) c h);--primary-saturated:oklch(from var(--color-primary-500) l calc(c * 1.2) h);--primary-desaturated:oklch(from var(--color-primary-500) l calc(c * .5) h);--primary-rotated:oklch(from var(--color-primary-500) l c calc(h + 30deg));--primary-complement:oklch(from var(--color-primary-500) l c calc(h + 180deg));--primary-triad-1:oklch(from var(--color-primary-500) l c calc(h + 120deg));--primary-triad-2:oklch(from var(--color-primary-500) l c calc(h + 240deg));--primary-analogous-1:oklch(from var(--color-primary-500) l c calc(h - 30deg));--primary-analogous-2:oklch(from var(--color-primary-500) l c calc(h + 30deg));--primary-split-1:oklch(from var(--color-primary-500) l c calc(h + 150deg));--primary-split-2:oklch(from var(--color-primary-500) l c calc(h + 210deg));--theme-primary-lch:lch(from var(--color-primary-500) l c h);--theme-primary-oklch:oklch(from var(--color-primary-500) l c h);--tint-10:oklch(from var(--color-primary-500) calc(l + .1) c h);--tint-20:oklch(from var(--color-primary-500) calc(l + .2) c h);--tint-30:oklch(from var(--color-primary-500) calc(l + .3) c h);--tint-40:oklch(from var(--color-primary-500) calc(l + .4) c h);--shade-10:oklch(from var(--color-primary-500) calc(l - .1) c h);--shade-20:oklch(from var(--color-primary-500) calc(l - .2) c h);--shade-30:oklch(from var(--color-primary-500) calc(l - .3) c h);--shade-40:oklch(from var(--color-primary-500) calc(l - .4) c h);--saturated-10:oklch(from var(--color-primary-500) l calc(c * 1.1) h);--saturated-20:oklch(from var(--color-primary-500) l calc(c * 1.2) h);--desaturated-10:oklch(from var(--color-primary-500) l calc(c * .9) h);--desaturated-20:oklch(from var(--color-primary-500) l calc(c * .8) h);--surface-hover:color-mix(in oklch, var(--surface-card) 95%, var(--color-primary-500) 5%);--surface-active:color-mix(in oklch, var(--surface-card) 90%, var(--color-primary-500) 10%);--surface-disabled:color-mix(in oklch, var(--surface-card) 50%, transparent 50%);--gradient-start:var(--color-primary-500);--gradient-mid:color-mix(in oklch, var(--color-primary-500) 50%, var(--color-secondary-500) 50%);--gradient-end:var(--color-secondary-500);--shadow-color:color-mix(in srgb, var(--text-primary) 20%, transparent 80%);--shadow-color-strong:color-mix(in srgb, var(--text-primary) 40%, transparent 60%);--border-subtle:color-mix(in oklch, var(--text-primary) 10%, transparent 90%);--border-default:color-mix(in oklch, var(--text-primary) 20%, transparent 80%);--border-strong:color-mix(in oklch, var(--text-primary) 30%, transparent 70%);--text-on-primary:var(--color-white);--text-on-secondary:var(--color-white);--text-on-accent:var(--color-white);--text-on-surface:var(--text-primary);--text-high-contrast:var(--text-primary);--link-accessible:var(--color-primary-500);--btn-text-primary:var(--color-white);--btn-text-secondary:var(--color-white)}@supports (color:color(display-p3 0 0 0)){:where(:root){--theme-vivid-primary:color(display-p3 .1 .5 1);--theme-vivid-secondary:color(display-p3 1 .8 .2);--theme-vivid-accent:color(display-p3 .1 .9 .8);--theme-vivid-primary-fallback:#1a85ff;--theme-vivid-secondary-fallback:#fc3;--theme-vivid-accent-fallback:#1eecda;--p3-vivid-red:color(display-p3 1 0 0);--p3-vivid-green:color(display-p3 0 1 0);--p3-vivid-blue:color(display-p3 0 0 1);--p3-vivid-cyan:color(display-p3 0 1 1);--p3-vivid-magenta:color(display-p3 1 0 1);--p3-vivid-yellow:color(display-p3 1 1 0);--theme-primary-p3:color(display-p3 calc(var(--theme-primary-r) / 255) calc(var(--theme-primary-g) / 255) calc(var(--theme-primary-b) / 255));--accent-vivid:color(display-p3 .1 .9 .8);--accent-electric:color(display-p3 .5 .1 1);--accent-neon:color(display-p3 .9 .1 .5)}.color-p3-support{--uses-p3:1}@media (color-gamut:p3){.vivid-accent{color:var(--accent-vivid)}.hero-gradient{background:linear-gradient(45deg, var(--p3-vivid-magenta), var(--p3-vivid-cyan))}}}.bg-theme-primary-lighter{background-color:color-mix(in oklch, var(--color-primary-500) 60%, white)}.bg-theme-primary-darker{background-color:color-mix(in oklch, var(--color-primary-500) 60%, black)}.text-theme-primary-lighter{color:color-mix(in oklch, var(--color-primary-500) 60%, white)}.text-theme-primary-darker{color:color-mix(in oklch, var(--color-primary-500) 60%, black)}.mix-primary-10{color:color-mix(in oklch, currentColor 90%, var(--color-primary-500) 10%)}.mix-primary-20{color:color-mix(in oklch, currentColor 80%, var(--color-primary-500) 20%)}.mix-primary-30{color:color-mix(in oklch, currentColor 70%, var(--color-primary-500) 30%)}.mix-primary-40{color:color-mix(in oklch, currentColor 60%, var(--color-primary-500) 40%)}.mix-primary-50{color:color-mix(in oklch, currentColor 50%, var(--color-primary-500) 50%)}.color-lighter{color:oklch(from currentColor calc(l + .1) c h)}.color-darker{color:oklch(from currentColor calc(l - .1) c h)}.color-saturated{color:oklch(from currentColor l calc(c * 1.2) h)}.color-desaturated{color:oklch(from currentColor l calc(c * .8) h)}.text-contrast-on-bg{color:color-contrast(var(--surface-background) vs black, white)}.bg-contrast-text{color:color-contrast(currentColor vs white, black)}.bg-contrast-border{border-color:color-contrast(currentColor vs white, black)}@media (color-gamut:p3){.color-p3-vivid{color:var(--accent-vivid)}.bg-p3-vivid{background-color:var(--accent-vivid)}.border-p3-vivid{border-color:var(--accent-vivid)}}@media (--color-debug){[data-color-space]:before{content:attr(data-color-space);padding:var(--space-1,.25rem);background-color:var(--color-black);color:var(--color-white);font-size:var(--text-xs,.75rem);font-weight:var(--font-bold,700);position:absolute;top:0;right:0}.color-debug{position:relative;&:after{content:var(--debug-color,"No color");padding:var(--space-1,.25rem) var(--space-2,.5rem);background-color:var(--color-black);color:var(--color-white);font-size:var(--text-xs,.75rem);white-space:nowrap;opacity:0;transition:opacity .3s;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}&:hover:after{opacity:1}}}@supports not (color:oklch(0% 0 0)){:where(:root){--primary-lighter:var(--theme-color-primary-light);--primary-darker:var(--theme-color-primary-dark);--primary-saturated:var(--color-primary-500);--primary-desaturated:var(--color-primary-500)}}.color-enhance{background-color:var(--color-primary-500);@supports (color:oklch(0% 0 0)){background-color:oklch(from var(--color-primary-500) l c h)}@supports (color:color(display-p3 0 0 0)){@media (color-gamut:p3){background-color:var(--theme-primary-p3)}}}[dir=rtl] .flip-rtl{transform:scaleX(-1)}[dir=rtl] .flip-rtl.rotated{transform:scaleX(-1) rotate(var(--rotate-angle,0deg))}.text-start{text-align:start}.text-end{text-align:end}.text-center{text-align:center}[dir=rtl] .icon-chevron-right,[dir=rtl] [data-icon=chevron-right],[dir=rtl] .chevron-right,[dir=rtl] .icon-chevron-left,[dir=rtl] [data-icon=chevron-left],[dir=rtl] .chevron-left,[dir=rtl] .icon-arrow-right,[dir=rtl] [data-icon=arrow-right],[dir=rtl] .arrow-right,[dir=rtl] .icon-arrow-left,[dir=rtl] [data-icon=arrow-left],[dir=rtl] .arrow-left,[dir=rtl] .back-button svg,[dir=rtl] .btn-back svg,[dir=rtl] [data-action=back] svg{transform:scaleX(-1)}@supports not (margin-inline:0){[dir=ltr] .px-4,:not([dir=rtl]) .px-4{padding-left:var(--space-4);padding-right:var(--space-4)}[dir=rtl] .px-4{padding-right:var(--space-4);padding-left:var(--space-4)}}.debug-rtl [dir=rtl]{outline-offset:-2px;outline:2px solid orange}.debug-rtl [dir=rtl]:before{content:"RTL";background:var(--color-warning-500,orange);color:var(--color-white);padding:var(--space-0-5) 4px;font-size:10px;font-weight:var(--font-bold,700);z-index:10000;pointer-events:none;position:absolute;top:0;right:0}.refinement-active-selection{background:var(--color-primary-200,var(--color-primary-alpha-30));border-radius:var(--radius-sm);padding:var(--space-1) var(--space-1);animation:1.5s ease-in-out infinite pulseSelection}@keyframes pulseSelection{0%,to{background:var(--color-primary-200,var(--color-primary-alpha-30))}50%{background:var(--color-primary-300,var(--color-primary-alpha-30,var(--color-primary-alpha-30,var(--color-primary-alpha-30,var(--color-primary-alpha-30,var(--color-primary-alpha-30,var(--color-primary-alpha-30,var(--color-primary-alpha-30,var(--color-primary-alpha-30,#3b82f666)))))))))}}.refined-section{background:var(--color-success-subtle,var(--color-success-alpha-5));border-left:4px solid var(--color-success);padding:var(--space-3) var(--space-4);margin:var(--space-4) 0;border-radius:var(--radius-md);transition:opacity .3s,transform .3s;animation:.4s ease-out slideInRefined;position:relative}.refined-section:hover{background:var(--color-success-subtle,var(--color-success-alpha-10));box-shadow:0 4px 4px var(--color-success-alpha-10)}@keyframes slideInRefined{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.refined-badge{top:calc(-1 * var(--space-3));left:var(--space-2);align-items:center;gap:var(--space-1);padding:0 var(--space-2);background:var(--color-success);height:24px;color:var(--color-white);font-size:var(--text-xs);font-weight:var(--font-semibold);border-radius:var(--radius-full);box-shadow:0 4px 4px var(--color-black-alpha-10);z-index:1;display:inline-flex;position:absolute}.refined-badge:before{content:"✨";font-size:var(--text-sm)}.refined-section[data-refinement=simplify]{border-left-color:var(--color-info,var(--color-primary-500));background:var(--color-info-subtle,var(--color-primary-alpha-5))}.refined-section[data-refinement=expand]{border-left-color:var(--color-purple-500);background:var(--color-purple-subtle,var(--color-accent-alpha-5))}.refined-section[data-refinement=examples]{border-left-color:var(--color-warning,var(--color-warning));background:var(--color-warning-subtle,var(--color-warning-alpha-5))}.refined-section[data-refinement=rewrite]{border-left-color:var(--color-primary-500,var(--color-primary-500));background:var(--color-primary-subtle,var(--color-primary-alpha-5))}.refined-section[data-refinement=tone]{border-left-color:var(--color-pink-500);background:var(--color-pink-subtle,var(--color-secondary-alpha-5))}.refinement-loading{pointer-events:none;opacity:.6;position:relative}.refinement-loading:after{content:"";background:linear-gradient(90deg, transparent, var(--color-primary-100,var(--color-primary-alpha-10)), transparent);animation:1.5s infinite shimmer;position:absolute;inset:0}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.refinement-success{animation:.6s ease-out successPulse}@keyframes successPulse{0%{box-shadow:0 0 0 0 var(--color-success)}70%{box-shadow:0 0 0 8px #0000}to{box-shadow:0 0 #0000}}.refinable-hint{position:relative}.refinable-hint:before{content:"Select text to refine";top:var(--space-2);right:var(--space-2);padding:var(--space-1) var(--space-2);background:var(--color-surface-elevated);color:var(--color-text-secondary);font-size:var(--text-xs);border:1px solid var(--color-border);border-radius:var(--radius-sm);opacity:0;pointer-events:none;z-index:10;transition:opacity .3s;position:absolute}.refinable-hint:hover:before{opacity:.8}@media (width<=768px){.refined-section{padding:var(--space-2) var(--space-3);margin:var(--space-3) 0}.refined-badge{height:16px;font-size:var(--text-xs,.75rem);padding:0 var(--space-1)}:global(.refinement-toolbar){min-height:56px}}@media (hover:none) and (pointer:coarse){.refined-section{padding:var(--space-4)}.refined-section:hover{background:var(--color-success-subtle,var(--color-success-alpha-5));box-shadow:none}.refinable-hint:hover:before{opacity:0}}:global(.dark) .refined-section{background:var(--color-success-dark-subtle,var(--color-success-alpha-10));border-left-color:var(--color-success-light)}:global(.dark) .refined-section:hover{background:var(--color-success-dark-subtle,var(--color-success-alpha-15))}:global(.dark) .refinement-loading:after{background:linear-gradient(90deg, transparent, var(--color-primary-dark,var(--color-primary-alpha-15)), transparent)}.refined-section:focus-within{outline:4px solid var(--color-primary-500);outline-offset:4px}@media (prefers-contrast:more){.refined-section{border-left-width:4px}.refined-badge{border:4px solid #fff}}@media (prefers-reduced-motion:reduce){.refined-section,.refinement-active-selection,.refinement-loading:after{transition:none;animation:none}}@media print{.refined-section{border-left:4px solid var(--color-black);page-break-inside:avoid;background:#f9f9f9}.refined-badge,.refinement-loading:after,.refinable-hint:before{display:none}}.toast-container{top:var(--space-4);right:var(--space-4);z-index:var(--z-index-toast);gap:var(--toast-stack-gap,var(--space-3));pointer-events:none;max-width:var(--toast-max-width,420px);padding-top:env(safe-area-inset-top);isolation:isolate;flex-direction:column;display:flex;position:fixed}.toast{pointer-events:auto;min-width:var(--toast-min-width,320px);max-width:var(--toast-max-width,420px);will-change:transform, opacity;backface-visibility:hidden;perspective:1000px;background-color:var(--surface-card,var(--color-white));border:1px solid var(--border-color-default,var(--color-neutral-200));border-radius:var(--shape-card,var(--radius-lg,16px));padding:var(--space-4,16px);align-items:flex-start;gap:var(--space-3,12px);transition:background-color .2s ease-out,border-color .2s ease-out,color .2s ease-out;display:flex;position:relative;transform:translateZ(0)}.toast.toast-custom-component,.toast[data-custom=true]{box-shadow:none;background-color:#0000;border:none;border-radius:0;min-width:auto;padding:0}.toast.toast-custom-component:hover,.toast[data-custom=true]:hover{transform:none}@keyframes toast-enter-cocovox{0%{opacity:0;transform:translate(120%)translateZ(0)scale(.92)}60%{opacity:1;transform:translate(-8px)translateZ(0)scale(1.02)}80%{transform:translate(4px)translateZ(0)scale(.99)}to{opacity:1;transform:translate(0)translateZ(0)scale(1)}}@keyframes toast-exit-cocovox{0%{opacity:1;transform:translate(0)translateZ(0)scale(1)}to{opacity:0;transform:translate(80px)translateZ(0)scale(.85)}}.toast[data-theme=cocovox][data-state=entering]{animation:toast-enter-cocovox var(--toast-entrance-duration,.35s) var(--toast-easing-entrance,cubic-bezier(.34, 1.56, .64, 1)) forwards}.toast[data-theme=cocovox][data-state=exiting]{animation:toast-exit-cocovox var(--toast-exit-duration-fast,.15s) var(--toast-easing-exit,cubic-bezier(.4, 0, 1, 1)) forwards}@keyframes toast-enter-circuit{0%{opacity:0;filter:brightness(1.4);transform:translate(100%)translateZ(0)scaleY(.3)}50%{opacity:.8;filter:brightness(1.15);transform:translate(0)translateZ(0)scaleY(.95)}to{opacity:1;filter:brightness();transform:translate(0)translateZ(0)scaleY(1)}}@keyframes toast-exit-circuit{0%{opacity:1;filter:brightness();transform:translate(0)translateZ(0)scaleY(1)}to{opacity:0;filter:brightness(1.5);transform:translate(100%)translateZ(0)scaleY(.2)}}@keyframes circuit-scanline-sweep{0%{opacity:0;transform:translateY(-100%)translateZ(0)}10%{opacity:.8}90%{opacity:.8}to{opacity:0;transform:translateY(100%)translateZ(0)}}.toast[data-theme=circuit]{position:relative;overflow:hidden}.toast[data-theme=circuit]:before{content:"";background:linear-gradient(90deg, transparent 0%, var(--color-primary-500,var(--color-primary-500)) 50%, transparent 100%);filter:blur(.5px);opacity:.7;will-change:transform, opacity;pointer-events:none;height:3px;position:absolute;top:0;left:0;right:0;transform:translateZ(0)}.toast[data-theme=circuit][data-state=entering]:before{animation:circuit-scanline-sweep .8s var(--toast-easing-entrance-sharp,cubic-bezier(.1, .9, .2, 1)) forwards}.toast[data-theme=circuit][data-state=entering]{animation:toast-enter-circuit var(--toast-entrance-duration-fast,.3s) var(--toast-easing-entrance-sharp,cubic-bezier(.1, .9, .2, 1)) forwards}.toast[data-theme=circuit][data-state=exiting]{animation:toast-exit-circuit var(--toast-exit-duration-fast,.15s) var(--toast-easing-exit-sharp,cubic-bezier(.4, 0, .6, 1)) forwards}@keyframes toast-enter-coral{0%{opacity:0;filter:blur(3px);transform:translateY(-8px)translateZ(0)}to{opacity:1;filter:blur();transform:translateY(0)translateZ(0)}}@keyframes toast-exit-coral{0%{opacity:1;filter:blur();transform:translateY(0)translateZ(0)}to{opacity:0;filter:blur(2px);transform:translateY(-8px)translateZ(0)}}.toast[data-theme=coral][data-state=entering]{animation:toast-enter-coral var(--toast-entrance-duration-gentle,.4s) var(--toast-easing-entrance-smooth,cubic-bezier(.23, 1, .32, 1)) forwards}.toast[data-theme=coral][data-state=exiting]{animation:toast-exit-coral var(--toast-exit-duration,.25s) var(--toast-easing-entrance-smooth,cubic-bezier(.23, 1, .32, 1)) forwards}@keyframes toast-enter-velvet{0%{opacity:0;transform:translate(100%)translateY(-16px)rotate(2deg)translateZ(0)}70%{opacity:1;transform:translate(-4px)translateY(0)rotate(-.5deg)translateZ(0)}to{opacity:1;transform:translate(0)translateY(0)rotate(0)translateZ(0)}}@keyframes toast-exit-velvet{0%{opacity:1;transform:translate(0)translateY(0)rotate(0)translateZ(0)}to{opacity:0;transform:translate(100%)translateY(-16px)rotate(-1deg)translateZ(0)}}.toast[data-theme=velvet][data-state=entering]{animation:toast-enter-velvet .5s var(--toast-easing-entrance,cubic-bezier(.34, 1.56, .64, 1)) forwards}.toast[data-theme=velvet][data-state=exiting]{animation:toast-exit-velvet var(--toast-exit-duration,.25s) var(--toast-easing-exit,cubic-bezier(.4, 0, 1, 1)) forwards}@keyframes toast-enter-modern{0%{opacity:0;transform:scale(.92)translateZ(0)}to{opacity:1;transform:scale(1)translateZ(0)}}@keyframes toast-exit-modern{0%{opacity:1;transform:scale(1)translateZ(0)}to{opacity:0;transform:scale(.92)translateZ(0)}}.toast[data-theme=modern][data-state=entering]{animation:toast-enter-modern var(--toast-entrance-duration-gentle,.4s) var(--toast-easing-entrance-standard,cubic-bezier(0, 0, .2, 1)) forwards}.toast[data-theme=modern][data-state=exiting]{animation:toast-exit-modern .1s var(--toast-easing-exit,cubic-bezier(.4, 0, 1, 1)) forwards}@keyframes toast-enter-default{0%{opacity:0;transform:translate(100%)translateZ(0)}to{opacity:1;transform:translate(0)translateZ(0)}}@keyframes toast-exit-default{0%{opacity:1;transform:translate(0)translateZ(0)}to{opacity:0;transform:translate(100%)translateZ(0)}}.toast:not([data-theme])[data-state=entering],.toast[data-theme=""][data-state=entering]{animation:toast-enter-default var(--duration-normal,.25s) var(--ease-out,cubic-bezier(0, 0, .2, 1)) forwards}.toast:not([data-theme])[data-state=exiting],.toast[data-theme=""][data-state=exiting]{animation:toast-exit-default var(--duration-fast,.15s) var(--ease-in,cubic-bezier(.4, 0, 1, 1)) forwards}.toast-progress{border-radius:0 0 var(--shape-card,var(--radius-lg)) var(--shape-card,var(--radius-lg));background-color:var(--color-neutral-alpha-10,#e5e7eb1a);pointer-events:none;height:4px;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.toast-progress-bar{transform-origin:0;will-change:transform;background-color:var(--toast-progress-color,var(--color-primary-500));width:100%;position:absolute;top:0;bottom:0;left:0;transform:scaleX(1)translateZ(0)}@keyframes toast-progress-countdown{0%{transform:scaleX(1)translateZ(0)}to{transform:scaleX(0)translateZ(0)}}.toast-progress-bar[data-animating=true]{animation:toast-progress-countdown var(--toast-duration,var(--toast-duration-default,3s)) linear forwards}.toast[data-type=success] .toast-progress-bar{--toast-progress-color:var(--color-success-500,var(--color-success))}.toast[data-type=error] .toast-progress-bar{--toast-progress-color:var(--color-error,var(--color-error))}.toast[data-type=warning] .toast-progress-bar{--toast-progress-color:var(--color-warning,var(--color-warning))}.toast[data-type=info] .toast-progress-bar{--toast-progress-color:var(--color-info,var(--color-primary-500))}.dark .toast-progress{background-color:var(--color-neutral-alpha-30,#e5e7eb4d)}.toast[data-theme=circuit] .toast-progress-bar{background:rgba(var(--circuit-cyan-rgb,0, 240, 255), 1);position:relative;overflow:hidden}.toast[data-theme=circuit] .toast-progress-bar:after{content:"";will-change:transform;pointer-events:none;background:linear-gradient(90deg,#0000,#00f0ff99 50%,#0000);animation:1.5s linear infinite circuit-progress-shimmer;position:absolute;inset:0;transform:translate(-100%)translateZ(0)}@keyframes circuit-progress-shimmer{to{transform:translate(200%)translateZ(0)}}.toast:first-child{z-index:5;animation-delay:0s}.toast:nth-child(2){animation-delay:calc(var(--toast-stagger-delay,.1s) * 1);z-index:4}.toast:nth-child(3){animation-delay:calc(var(--toast-stagger-delay,.1s) * 2);z-index:3}.toast:nth-child(4){animation-delay:calc(var(--toast-stagger-delay,.1s) * 3);z-index:2}.toast:nth-child(5){animation-delay:calc(var(--toast-stagger-delay,.1s) * 4);z-index:1}.toast:nth-child(n+6){opacity:0;pointer-events:none;transform:translateY(calc(var(--space-12) * -1)) translateZ(0)}.toast:hover .toast-progress-bar[data-animating=true],.toast[data-state=entering]:hover{animation-play-state:paused}.toast[data-theme=cocovox]:hover,.toast[data-theme=circuit]:hover,.toast[data-theme=modern]:hover{transition:transform var(--toast-hover-duration,.2s) var(--ease-out);transform:scale(1.015)translateZ(0)}.toast[data-theme=velvet]:hover{transition:transform var(--toast-hover-duration,.2s) var(--ease-out);transform:scale(1.02)translateZ(0)}@media (prefers-reduced-motion:reduce){.toast[data-state=entering],.toast[data-state=exiting]{transition:opacity .1s!important;animation:none!important}.toast[data-state=entering]{opacity:1;transform:none}.toast[data-state=exiting]{opacity:0;transform:none}.toast[data-theme=circuit]:before{display:none}.toast:hover{transition:none!important;transform:none!important}.toast:nth-child(n){animation-delay:0s!important}.toast-progress-bar[data-animating=true]{animation:none;transform:scaleX(.5)translateZ(0)}.toast,.toast:before,.toast-progress-bar{will-change:auto!important}}@media (prefers-contrast:more){.toast{border-width:2px;border-color:currentColor}.toast[data-type=success]{border-color:var(--high-contrast-success)}.toast[data-type=error]{border-color:var(--high-contrast-error)}.toast[data-type=warning]{border-color:var(--high-contrast-warning)}.toast[data-type=info]{border-color:var(--high-contrast-info,var(--color-primary-600))}.toast[data-theme=coral][data-state=entering],.toast[data-theme=coral][data-state=exiting]{filter:none!important}.toast[data-theme=circuit]:before{display:none}.toast-progress{height:6px}}@media (width<=768px){.toast-container{top:auto;bottom:calc(var(--space-4) + var(--bottom-nav-height,0px));left:var(--space-4);right:var(--space-4);max-width:none;padding-bottom:env(safe-area-inset-bottom)}.toast{min-width:100%;max-width:100%}@keyframes toast-enter-mobile{0%{opacity:0;transform:translateY(100%)translateZ(0)}to{opacity:1;transform:translateY(0)translateZ(0)}}@keyframes toast-exit-mobile{0%{opacity:1;transform:translateY(0)translateZ(0)}to{opacity:0;transform:translateY(100%)translateZ(0)}}.toast[data-state=entering]{animation:toast-enter-mobile var(--duration-normal,.25s) var(--ease-out) forwards!important}.toast[data-state=exiting]{animation:toast-exit-mobile var(--duration-fast,.15s) var(--ease-in) forwards!important}.toast[data-theme=circuit]:before{display:none}.toast:hover{transform:none!important}}@media (width<=480px){.toast{padding:var(--space-3);font-size:var(--text-sm)}.toast-progress{height:3px}.toast:nth-child(n){animation-delay:calc(var(--toast-stagger-delay,.1s) * .5)!important}}.toast button:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset,3px)}.toast:focus-within,.toast:focus-within .toast-progress-bar[data-animating=true]{animation-play-state:paused}.toast[data-state=entering],.toast[data-state=exiting]{will-change:transform, opacity;backface-visibility:hidden;perspective:1000px;transform:translateZ(0)}.toast[data-state=visible]{will-change:auto;transform:none}.toast[data-theme=circuit]:before{will-change:transform, opacity;transform:translateZ(0)}.toast-progress-bar{will-change:transform;transform:translateZ(0)}.dark .toast{background-color:var(--surface-card);border-color:var(--border-color-default)}.dark .toast[data-theme=circuit]:before{opacity:.9;filter:blur(1.5px)}.toast-container{isolation:isolate}@media print{.toast-container,.toast{display:none!important}}:where(:root){--toast-text-primary:var(--text-primary,var(--color-text-primary));--toast-text-secondary:var(--text-secondary,var(--color-text-secondary));--toast-button-text:var(--text-inverse,var(--color-white));--toast-surface-bg:var(--surface-card,var(--color-white));--toast-surface-border:var(--border-color-default,var(--color-neutral-200))}:where(.dark){--toast-text-primary:var(--text-primary,var(--color-neutral-900));--toast-text-secondary:var(--text-secondary,var(--color-neutral-700));--toast-button-text:var(--text-inverse,var(--color-white));--toast-surface-bg:var(--surface-card);--toast-surface-border:var(--border-color-default)}[data-theme=circuit]{--toast-text-primary:var(--text-primary,var(--color-white));--toast-text-secondary:var(--text-secondary);--toast-button-text:var(--text-inverse,var(--color-white))}[data-theme=coral]{--toast-text-primary:var(--text-primary,var(--warmth-text-primary));--toast-text-secondary:var(--text-secondary,var(--warmth-text-secondary));--toast-button-text:var(--text-inverse,white)}[data-theme=coral].dark,.dark[data-theme=coral]{--toast-text-primary:var(--text-primary);--toast-text-secondary:var(--text-secondary);--toast-button-text:var(--text-inverse,white)}[data-theme=velvet]{--toast-text-primary:var(--text-primary,var(--literary-text-primary));--toast-text-secondary:var(--text-secondary,var(--literary-text-secondary));--toast-button-text:var(--text-inverse,white)}[data-theme=velvet].dark,.dark[data-theme=velvet]{--toast-text-primary:var(--text-primary);--toast-text-secondary:var(--text-secondary);--toast-button-text:var(--text-inverse,white)}@supports (appearance:base-select){select.custom-select{appearance:base-select;font-family:inherit;font-size:var(--text-base,1rem);padding:var(--space-sm,.5rem) var(--space-md,1rem);padding-right:var(--space-xl,2rem);border:1px solid var(--border-color-default);border-radius:var(--radius-md,.5rem);background:var(--surface-card,var(--color-white));color:var(--text-primary,var(--color-black));cursor:pointer;min-width:200px;line-height:1.5;transition:border-color .2s,box-shadow .2s}select.custom-select:hover{border-color:var(--border-color-hover)}select.custom-select:focus{border-color:var(--color-primary-500,var(--color-primary-500));box-shadow:0 0 0 3px color-mix(in srgb, var(--color-primary-500,var(--color-primary-500)) 25%, transparent);outline:2px solid #0000}select.custom-select::picker(select){border-radius:var(--radius-lg,.75rem);border:1px solid var(--border-color-default);box-shadow:var(--shadow-lg,0 10px 40px var(--color-black-alpha-15));background:var(--surface-card,var(--color-white));padding:var(--space-xs,.25rem);opacity:0;max-height:320px;transition:opacity .15s ease-out,transform .15s ease-out;overflow-y:auto;transform:translateY(-8px)scale(.98)}select.custom-select option{align-items:center;gap:var(--space-sm,.5rem);padding:var(--space-sm,.5rem) var(--space-md,1rem);border-radius:var(--radius-sm,.25rem);cursor:pointer;transition:background-color .1s;display:flex}select.custom-select option:hover{background-color:var(--surface-card-hover)}select.custom-select option:checked{background-color:var(--color-primary-50,var(--color-primary-alpha-10));color:var(--color-primary-600,var(--color-primary-600));font-weight:var(--font-medium,500)}select.custom-select::picker-icon{width:1.25rem;height:1.25rem;margin-left:var(--space-sm,.5rem);opacity:.6;transition:transform .2s}select.custom-select:open::picker-icon{transform:rotate(180deg)}select.custom-select option[data-icon]:before{content:attr(data-icon);font-size:var(--text-xl,1.25rem);flex-shrink:0}select.custom-select option[data-flag]:before{content:attr(data-flag);font-size:var(--text-2xl,1.5rem);flex-shrink:0}select.course-picker{appearance:base-select;font-family:var(--deep-dive-font-text,system-ui, sans-serif);font-size:var(--text-base,1rem);padding:var(--space-md,1rem) var(--space-lg,1.5rem);padding-right:var(--space-2xl,3rem);border:2px solid var(--border-color-default);border-radius:var(--radius-xl,1rem);background:var(--surface-card,var(--color-white));color:var(--text-primary,var(--color-black));min-width:280px;font-weight:var(--font-medium,500);box-shadow:var(--shadow-sm,0 2px 8px var(--color-black-alpha-5))}select.course-picker:hover{border-color:var(--color-primary-300);box-shadow:var(--shadow-md,0 4px 16px var(--color-black-alpha-10))}select.course-picker:focus{border-color:var(--color-primary-500,var(--color-primary-500));box-shadow:var(--shadow-md,0 4px 16px var(--color-black-alpha-10)), 0 0 0 4px color-mix(in srgb, var(--color-primary-500,var(--color-primary-500)) 20%, transparent);outline:2px solid #0000}select.course-picker::picker(select){border-radius:var(--radius-xl,1rem);border:1px solid var(--border-color-default);box-shadow:var(--shadow-xl,0 16px 48px #00000029), 0 0 1px var(--color-black-alpha-10);background:var(--surface-card,var(--color-white));padding:var(--space-sm,.5rem)}select.course-picker option{padding:var(--space-md,1rem) var(--space-lg,1.5rem);border-radius:var(--radius-md,.5rem);margin:var(--space-xs,.25rem) 0}select.course-picker option:checked{background:linear-gradient(135deg, var(--color-primary-50,var(--color-primary-alpha-10)) 0%, var(--color-primary-100,var(--color-primary-alpha-15)) 100%)}select.course-picker option[data-subject]:before{content:attr(data-subject);font-size:var(--text-2xl,1.5rem);margin-right:var(--space-sm,.5rem)}select.language-picker{appearance:base-select;padding:var(--space-sm,.5rem) var(--space-md,1rem);padding-right:var(--space-xl,2rem);border-radius:var(--radius-lg,.75rem);min-width:180px;font-size:.9375rem}select.language-picker::picker(select){border-radius:var(--radius-lg,.75rem);min-width:220px}select.language-picker option{padding:var(--space-sm,.5rem) var(--space-md,1rem)}select.language-picker option[data-flag]:before{content:attr(data-flag);font-size:var(--text-xl,1.25rem);margin-right:var(--space-xs,.25rem)}}@supports not (appearance:base-select){.custom-select-wrapper{display:inline-block;position:relative}.custom-select-wrapper:after{content:"▼";right:var(--space-md,1rem);font-size:var(--text-xs,.75rem);color:var(--text-secondary);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}select.custom-select,select.course-picker,select.language-picker{appearance:none;font-family:inherit;font-size:var(--text-base,1rem);padding:var(--space-sm,.5rem) var(--space-md,1rem);padding-right:var(--space-xl,2rem);border:1px solid var(--border-color-default);border-radius:var(--radius-md,.5rem);background:var(--surface-card,var(--color-white));color:var(--text-primary,var(--color-black));cursor:pointer;min-width:200px;line-height:1.5}select.custom-select:focus,select.course-picker:focus,select.language-picker:focus{border-color:var(--color-primary-500,var(--color-primary-500));box-shadow:0 0 0 3px color-mix(in srgb, var(--color-primary-500,var(--color-primary-500)) 25%, transparent);outline:2px solid #0000}}:where(:root.dark,.dark){& select.custom-select,& select.course-picker,& select.language-picker{background:var(--surface-card-dark);color:var(--text-primary-dark,var(--color-white));border-color:var(--border-color-default-dark)}}@supports (appearance:base-select){:root.dark select.custom-select::picker(select),.dark select.custom-select::picker(select),:root.dark select.course-picker::picker(select),.dark select.course-picker::picker(select),:root.dark select.language-picker::picker(select),.dark select.language-picker::picker(select){background:var(--surface-card-dark);border-color:var(--border-color-default-dark)}:root.dark select.custom-select option:hover,.dark select.custom-select option:hover,:root.dark select.course-picker option:hover,.dark select.course-picker option:hover,:root.dark select.language-picker option:hover,.dark select.language-picker option:hover{background-color:var(--surface-card-hover-dark)}:root.dark select.custom-select option:checked,.dark select.custom-select option:checked,:root.dark select.course-picker option:checked,.dark select.course-picker option:checked,:root.dark select.language-picker option:checked,.dark select.language-picker option:checked{background:linear-gradient(135deg, color-mix(in srgb, var(--color-primary-500,var(--color-primary-500)) 20%, transparent) 0%, color-mix(in srgb, var(--color-primary-600,var(--color-primary-600)) 25%, transparent) 100%)}}@media (prefers-reduced-motion:reduce){@supports (appearance:base-select){select.custom-select::picker(select),select.course-picker::picker(select),select.language-picker::picker(select),select.custom-select::picker-icon{transition:none}}}@media (prefers-contrast:more){select.custom-select,select.course-picker,select.language-picker{border-width:2px}@supports (appearance:base-select){select.custom-select option:checked,select.course-picker option:checked,select.language-picker option:checked{outline:2px solid var(--color-primary-600,var(--color-primary-600));outline-offset:-2px}}}button[commandfor][command=show-modal],button[commandfor][command=show]{cursor:pointer}button[commandfor][command=close]{color:var(--text-secondary)}button[commandfor][command=close]:hover{color:var(--text-primary,var(--color-black))}[interestfor]{cursor:help;position:relative}[interestfor]:after{content:"";opacity:.3;background:currentColor;height:1px;position:absolute;bottom:0;left:0;right:0}[interestfor]:hover:after,[interestfor]:focus:after{opacity:.6}dialog.modern-dialog{opacity:0;max-width:min(90vw,560px);max-height:90vh;transition:opacity .2s ease-out, transform .2s ease-out, overlay .2s ease-out allow-discrete, display .2s ease-out allow-discrete;background:0 0;border:none;margin:auto;padding:0;position:fixed;inset:0;overflow:visible;transform:scale(.95)translateY(10px)}dialog.modern-dialog[open]{opacity:1;transform:scale(1)translateY(0)}@starting-style{dialog.modern-dialog[open]{opacity:0;transform:scale(.95)translateY(10px)}}dialog.modern-dialog::backdrop{backdrop-filter:blur();background:0 0;transition:background .2s ease-out,backdrop-filter .2s ease-out}dialog.modern-dialog[open]::backdrop{background:var(--color-black-alpha-50);backdrop-filter:blur(4px)}@starting-style{dialog.modern-dialog[open]::backdrop{backdrop-filter:blur();background:0 0}}dialog.modern-dialog .dialog-content{background:var(--surface-card,var(--color-white));border-radius:var(--radius-xl,1rem);box-shadow:var(--shadow-xl,0 16px 48px #00000029);padding:var(--space-lg,1.5rem);max-height:calc(90vh - 2rem);overflow:auto}dialog.modern-dialog .dialog-header{margin-bottom:var(--space-md,1rem);justify-content:space-between;align-items:center;display:flex}dialog.modern-dialog .dialog-title{font-size:var(--text-xl,1.25rem);font-weight:var(--font-semibold,600);color:var(--text-primary,var(--color-black));margin:0}dialog.modern-dialog .dialog-close[commandfor][command=close]{border-radius:var(--radius-full,50%);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;transition:opacity .15s,transform .15s;display:flex}dialog.modern-dialog .dialog-close[commandfor][command=close]:hover{background:var(--surface-card-hover);color:var(--text-primary,var(--color-black))}dialog.modern-dialog .dialog-body{color:var(--text-secondary);line-height:1.6}dialog.modern-dialog .dialog-footer{justify-content:flex-end;gap:var(--space-sm,.5rem);margin-top:var(--space-lg,1.5rem);padding-top:var(--space-md,1rem);border-top:1px solid var(--border-color-default);display:flex}dialog.confirm-dialog{max-width:min(90vw,400px)}dialog.confirm-dialog .dialog-content{text-align:center}dialog.confirm-dialog .dialog-icon{width:48px;height:48px;margin:0 auto var(--space-md,1rem);border-radius:var(--radius-full,50%);font-size:var(--text-2xl,1.5rem);justify-content:center;align-items:center;display:flex}dialog.confirm-dialog .dialog-icon.warning{background:var(--color-warning-100);color:var(--color-warning-600)}dialog.confirm-dialog .dialog-icon.danger{background:var(--color-error-100);color:var(--color-error-600)}dialog.confirm-dialog .dialog-icon.success{background:var(--color-success-100);color:var(--color-success-600)}dialog.confirm-dialog .dialog-footer{justify-content:center}:root.dark dialog.modern-dialog .dialog-content,.dark dialog.modern-dialog .dialog-content{background:var(--surface-card-dark)}:root.dark dialog.modern-dialog .dialog-title,.dark dialog.modern-dialog .dialog-title{color:var(--text-primary-dark,var(--color-white))}:root.dark dialog.modern-dialog .dialog-body,.dark dialog.modern-dialog .dialog-body{color:var(--color-text-secondary)}:root.dark dialog.modern-dialog .dialog-close[commandfor][command=close]:hover,.dark dialog.modern-dialog .dialog-close[commandfor][command=close]:hover{background:var(--surface-card-hover,var(--surface-elevated));color:var(--color-text-primary)}:root.dark dialog.modern-dialog .dialog-footer,.dark dialog.modern-dialog .dialog-footer{border-top-color:var(--border-color-default)}:root.dark dialog.modern-dialog::backdrop,.dark dialog.modern-dialog::backdrop{background:var(--color-black-alpha-70)}@media (prefers-reduced-motion:reduce){dialog.modern-dialog,dialog.modern-dialog::backdrop{transition:none}}button[commandfor]:focus-visible,[interestfor]:focus-visible{outline:2px solid var(--color-primary-500,var(--color-primary-500));outline-offset:2px}.intelligent-greeting{--greeting-gradient-from:oklch(93% .04 85);--greeting-gradient-to:oklch(88% .06 60);width:100%;container:greeting/inline-size}.intelligent-greeting[data-time-of-day=morning]{--greeting-gradient-from:oklch(93% .04 85);--greeting-gradient-to:oklch(88% .06 60)}.intelligent-greeting[data-time-of-day=afternoon]{--greeting-gradient-from:oklch(92% .03 230);--greeting-gradient-to:oklch(88% .06 200)}.intelligent-greeting[data-time-of-day=evening]{--greeting-gradient-from:oklch(82% .06 290);--greeting-gradient-to:oklch(75% .08 270)}.greeting-header{margin-bottom:var(--space-4,1rem);padding:var(--space-4,1rem) var(--space-4,1rem);border-radius:var(--radius-lg,.75rem)}:where(.dark) .greeting-header,:where(.dark) .intelligent-greeting[data-time-of-day=morning] .greeting-header{--greeting-gradient-from:oklch(28% .03 85);--greeting-gradient-to:oklch(24% .04 60)}:where(.dark) .intelligent-greeting[data-time-of-day=afternoon] .greeting-header{--greeting-gradient-from:oklch(28% .03 230);--greeting-gradient-to:oklch(24% .04 200)}:where(.dark) .intelligent-greeting[data-time-of-day=evening] .greeting-header{--greeting-gradient-from:oklch(25% .04 290);--greeting-gradient-to:oklch(22% .05 270)}.greeting-cache-indicator{margin:var(--space-1,4px) 0 0;font-size:var(--text-xs,.75rem);color:var(--color-text-tertiary,var(--text-tertiary));opacity:.7;line-height:1.5}.greeting-text{font-family:var(--font-family-heading,var(--font-display,serif));font-size:var(--text-2xl,1.5rem);font-weight:var(--font-semibold,600);color:var(--color-text-primary,var(--text-primary));margin:0;line-height:1.33}.greeting-text-reveal{animation:.6s ease-out both greeting-reveal}@keyframes greeting-reveal{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}.greeting-skeleton{gap:var(--space-3,.75rem);flex-direction:column;display:flex}.greeting-skeleton-row{background:var(--color-surface-100,#0000000f);border-radius:var(--radius-md,.5rem);height:16px;animation:1.5s ease-in-out infinite greeting-shimmer}.greeting-skeleton-row:first-child{width:60%;height:24px}.greeting-skeleton-row:nth-child(2){width:90%;animation-delay:.1s}.greeting-skeleton-row:nth-child(3){width:75%;animation-delay:.2s}@keyframes greeting-shimmer{0%,to{opacity:.4}50%{opacity:.8}}.greeting-sections{gap:var(--space-4,1rem);margin-bottom:var(--space-4,1rem);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.greeting-section-card{background:var(--color-surface-card,var(--surface-card,#fff));border-radius:var(--radius-md,.5rem);padding:var(--space-4,1rem);box-shadow:var(--shadow-sm);border-left:4px solid var(--color-neutral-400,#9ca3af);gap:var(--space-2,.5rem);flex-direction:column;transition:box-shadow .15s ease-out,transform .15s ease-out;display:flex}.greeting-section-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.greeting-section-card{animation:.4s ease-out both greeting-section-enter}.greeting-section-card:first-child{animation-delay:.1s}.greeting-section-card:nth-child(2){animation-delay:.2s}.greeting-section-card:nth-child(3){animation-delay:.3s}.greeting-section-card:nth-child(4){animation-delay:.4s}.greeting-section-card:nth-child(5){animation-delay:.5s}@keyframes greeting-section-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.greeting-section-card[data-section-type=mastery_highlight]{border-left-color:var(--color-success,#16a34a)}.greeting-section-card[data-section-type=gradient_preview]{border-left-color:var(--color-primary-500,#3b82f6)}.greeting-section-card[data-section-type=practice_suggestion]{border-left-color:var(--color-accent-500,#8b5cf6)}.greeting-section-card[data-section-type=class_pulse]{border-left-color:var(--color-info,#3b82f6)}.greeting-section-card[data-section-type=caseload_alert]{border-left-color:var(--color-warning,#d97706)}.greeting-section-card[data-section-type=standards_gap]{border-left-color:var(--color-error,#dc2626)}.greeting-section-title{font-size:var(--text-sm,.875rem);font-weight:var(--font-semibold,600);color:var(--color-text-primary,var(--text-primary));align-items:center;gap:var(--space-2,.5rem);margin:0;line-height:1.5;display:flex}.greeting-section-icon{opacity:.7;flex-shrink:0;width:16px;height:16px}.greeting-section-card[data-section-type=mastery_highlight] .greeting-section-icon{color:var(--color-success,#16a34a)}.greeting-section-card[data-section-type=gradient_preview] .greeting-section-icon{color:var(--color-primary-500,#3b82f6)}.greeting-section-card[data-section-type=practice_suggestion] .greeting-section-icon{color:var(--color-accent-500,#8b5cf6)}.greeting-section-card[data-section-type=class_pulse] .greeting-section-icon{color:var(--color-info,#3b82f6)}.greeting-section-card[data-section-type=caseload_alert] .greeting-section-icon{color:var(--color-warning,#d97706)}.greeting-section-card[data-section-type=standards_gap] .greeting-section-icon{color:var(--color-error,#dc2626)}.greeting-section-body{font-size:var(--text-sm,.875rem);color:var(--color-text-secondary,var(--text-secondary));margin:0;line-height:1.5}.greeting-section-link{color:inherit;gap:var(--space-2,.5rem);flex-direction:column;text-decoration:none;display:flex}.greeting-section-link:hover .greeting-section-title{color:var(--color-primary-500,#3b82f6)}.greeting-section-link:focus-visible{outline:2px solid var(--color-primary-500,#3b82f6);outline-offset:2px;border-radius:var(--radius-sm,.25rem)}.greeting-gradient-embed{margin-top:var(--space-4,1rem);padding:var(--space-4,1rem);background:var(--color-surface-card,var(--surface-card,#fff));border-radius:var(--radius-xl,1.5rem);box-shadow:var(--shadow-sm), 0 0 24px rgba(var(--color-primary-rgb,45 91 62), .08)}:where(.dark) .greeting-section-card{background:var(--color-surface-card,var(--surface-card));box-shadow:var(--shadow-sm)}:where(.dark) .greeting-skeleton-row{background:var(--color-neutral-700,#404040)}:where(.dark) .greeting-gradient-embed{background:var(--color-surface-card,var(--surface-card));box-shadow:var(--shadow-sm), 0 0 24px rgba(var(--color-primary-rgb,45 91 62), .12)}@container greeting (width<=600px){.greeting-sections{grid-template-columns:1fr}.greeting-text{font-size:var(--text-xl,1.25rem)}}@supports not (container-type:inline-size){@media (width<=640px){.greeting-sections{grid-template-columns:1fr}.greeting-text{font-size:var(--text-xl,1.25rem)}}}@media (prefers-reduced-motion:reduce){.greeting-skeleton-row{opacity:.6;animation:none}.greeting-section-card{opacity:1;transition:none;animation:none;transform:none}.greeting-text-reveal{clip-path:none;animation:none}}@media (hover:none) and (pointer:coarse){.greeting-section-card{padding:var(--space-4,1rem) var(--space-4,1rem)}.greeting-section-card:hover{transform:none}}@media (forced-colors:active){.greeting-section-card{border:1px solid buttontext}.greeting-header{background:canvas;border:1px solid buttontext}.greeting-section-icon{color:buttontext}}@media (prefers-contrast:more){.greeting-section-card{border-left-width:6px}.greeting-section-icon{opacity:1}}:where(:root){--color-primary-500:#2080df;--theme-color-secondary:#f9b11f;--theme-color-accent:#26d9c7;--theme-surface-background:var(--color-neutral-50);--theme-surface-card:var(--color-neutral-100);--theme-text-primary:var(--color-neutral-900);--theme-text-secondary:var(--color-neutral-600);--theme-transition-duration:var(--duration-base,.2s);--theme-transition-timing:ease-out;--supports-container-queries:var(--feature-container-queries,0);--supports-cascade-layers:var(--feature-cascade-layers,0);--supports-view-transitions:var(--feature-view-transitions,0)}:root[data-supports-container-queries=true]{--feature-container-queries:1}:root[data-supports-cascade-layers=true]{--feature-cascade-layers:1}:root[data-supports-view-transitions=true]{--feature-view-transitions:1}.message-item{content-visibility:auto;contain-intrinsic-size:0 120px}.message-item-large{content-visibility:auto;contain-intrinsic-size:0 300px}.message-item-small{content-visibility:auto;contain-intrinsic-size:0 50px}.message-item,.user-message,.response-message{contain:layout style paint;isolation:isolate}.virtual-message-item{content-visibility:auto;contain-intrinsic-size:auto 120px;contain:layout style paint;isolation:isolate}.modal-content{content-visibility:auto;contain-intrinsic-size:0 200px}.sidebar-section{content-visibility:auto;contain-intrinsic-size:0 100px}.content-container,.content-container-always-reserve{scrollbar-gutter:auto}.content-container-force-scrollbar{scrollbar-gutter:auto;overflow-y:scroll}.card,.course-card,.tool-card,.note-card,.flashcard,.quiz-card{content-visibility:auto;contain-intrinsic-size:auto 200px;contain:layout style paint}.list-item,.chat-list-item,.note-list-item,.course-list-item,.history-item,.search-result-item{content-visibility:auto;contain-intrinsic-size:auto 60px;contain:layout style paint}.feed-item,.activity-item,.notification-item,.update-item{content-visibility:auto;contain-intrinsic-size:auto 80px;contain:layout style paint}.dashboard-panel,.analytics-card,.stat-card,.widget{content-visibility:auto;contain-intrinsic-size:auto 150px;contain:layout style paint}.accordion-item,.collapsible-section,.expandable-panel{content-visibility:auto;contain-intrinsic-size:auto 48px;contain:layout style paint}.table-row,.data-row,.grid-row{content-visibility:auto;contain-intrinsic-size:auto 44px;contain:layout paint}.animate-gpu,.transition-gpu{will-change:transform;backface-visibility:hidden;transform:translate(0,0)}.scale-transition{transition-property:transform,opacity;transition-duration:var(--duration-normal,.2s);transition-timing-function:var(--ease-out,ease-out)}.scale-transition:hover{transform:translate(0,0)scale(1.02)}.scale-transition:active{transform:translate(0,0)scale(.98)}.slide-up-transition{transition:transform var(--duration-normal,.2s) var(--ease-out,ease-out);transform:translateY(100%)}.slide-up-transition.visible{transform:translate(0,0)}.expand-width-transition{transform-origin:0;transition:transform var(--duration-normal,.2s) var(--ease-out,ease-out);transform:translate(0,0)scaleX(0)}.expand-width-transition.expanded{transform:translate(0,0)scaleX(1)}.progress-bar-gpu{transform:translate3d(0, 0, 0) scaleX(var(--progress,0));transform-origin:0;transition:transform var(--duration-slow,.3s) var(--ease-out,ease-out)}@supports (-webkit-touch-callout:none){.scroll-child,.list-item,.feed-item{contain:strict}.card,.panel,.modal-content{isolation:isolate;transform:translate(0,0)}}@media (hover:none) and (pointer:coarse){.progress-bar,.progress-fill,.progress-track,.mastery-bar,.mastery-fill,.skill-progress,.skill-bar,.analytics-bar,.stat-bar,[class*=progress][class*=fill],[class*=progress][class*=bar]{transition-property:opacity,transform,background-color!important;transition-duration:.15s!important}.collapsible-content,.expandable-content,.accordion-content,.drawer-content{transition-property:opacity,visibility!important;transition-duration:.2s!important}.chart-bar,.bar-segment,.data-bar,.analytics-segment{transition-property:opacity,transform!important;transition-duration:.2s!important}}:where(:root){--sidebar-mobile-breakpoint:768px;--sidebar-tablet-breakpoint:1024px;--sidebar-expanded-width:260px;--sidebar-collapsed-width:72px;--sidebar-tablet-width:64px;--sidebar-expand-duration:.3s;--sidebar-collapse-duration:.42s;--sidebar-content-delay:80ms;--sidebar-content-duration:.25s;--sidebar-expand-easing:cubic-bezier(.175, .885, .32, 1.275);--sidebar-collapse-easing:cubic-bezier(.25, .46, .45, .94);--sidebar-content-easing:cubic-bezier(.4, 0, .2, 1);--sidebar-transition-duration:var(--sidebar-expand-duration);--sidebar-transition-easing:var(--sidebar-expand-easing);--sidebar-touch-target:44px;--sidebar-icon-size:20px;--sidebar-gap:var(--space-1,.25rem);--sidebar-padding:var(--space-2,.5rem)}@media (width>=640px){:root{--sidebar-collapsed-width:72px;--sidebar-expanded-width:280px}}@media (768px<=width<1024px){:root{--sidebar-collapsed-width:var(--sidebar-tablet-width);--sidebar-expanded-width:260px}}@media (width>=1024px){:root{--sidebar-collapsed-width:80px;--sidebar-expanded-width:260px}}@media (width>=768px){.main-content[data-sidebar-expanded=true],.main-content[data-sidebar-expanded=false]{flex:1;min-width:0;margin-left:0}}@media (width<768px){.main-content{width:100%;max-width:100%;margin-left:0}}.main-content,.page-content{transition:width var(--sidebar-expand-duration) var(--sidebar-expand-easing), max-width var(--sidebar-expand-duration) var(--sidebar-expand-easing)}.main-content[data-sidebar-expanded=false],.page-content[data-sidebar-expanded=false]{transition:width var(--sidebar-collapse-duration) var(--sidebar-collapse-easing), max-width var(--sidebar-collapse-duration) var(--sidebar-collapse-easing)}.sidebar-wrapper{transition:width var(--sidebar-expand-duration) var(--sidebar-expand-easing);contain:style}.sidebar-container{transition:width var(--sidebar-expand-duration) var(--sidebar-expand-easing), transform var(--sidebar-expand-duration) var(--sidebar-expand-easing);contain:layout style;will-change:transform}.sidebar-container[data-collapsed=true]{transition:width var(--sidebar-collapse-duration) var(--sidebar-collapse-easing), transform var(--sidebar-collapse-duration) var(--sidebar-collapse-easing)}.sidebar-nav-item,.sidebar-nav-item-collapsed{transition:opacity var(--sidebar-content-duration) var(--sidebar-content-easing), transform var(--sidebar-content-duration) var(--sidebar-content-easing)}.sidebar-container:not([data-collapsed=true]) .sidebar-nav-item{transition-delay:calc(var(--sidebar-content-delay) + var(--stagger-index,0) * 25ms)}.sidebar-container[data-collapsed=true] .sidebar-nav-item{transition-delay:0s}@media (768px<=width<1024px){.main-content{contain:style}.sidebar-container[data-collapsed=true]{width:var(--sidebar-tablet-width)}.sidebar-container[data-collapsed=true] .sidebar-nav-item-collapsed{padding:var(--space-2) var(--space-1);justify-content:center}.sidebar-container[data-collapsed=true] .nav-tooltip{display:block}.sidebar-container[data-collapsed=true] .sidebar-nav-item-collapsed:hover .nav-tooltip,.sidebar-container[data-collapsed=true] .sidebar-nav-item-collapsed:focus .nav-tooltip,.sidebar-container[data-collapsed=true] .sidebar-nav-item-collapsed:focus-within .nav-tooltip{opacity:1;pointer-events:auto;transform:translateY(-50%)translate(12px)}.main-content{padding-bottom:calc(var(--bottom-nav-height,56px) + env(safe-area-inset-bottom,0px))}}@media (width>=1024px){.main-content{contain:style}}.sidebar-container,.main-content,.page-content{will-change:transform, width;backface-visibility:hidden;transform:translateZ(0)}.sidebar-wrapper{will-change:width;backface-visibility:hidden}@media (prefers-reduced-motion:reduce){:root{--sidebar-expand-duration:0s!important;--sidebar-collapse-duration:0s!important;--sidebar-content-delay:0s!important;--sidebar-content-duration:0s!important}.main-content,.page-content,.sidebar-container,.sidebar-nav-item,.sidebar-nav-item-collapsed{transition:none!important;animation:none!important;transform:none!important}}.sidebar-container:not(.transitioning),.main-content:not(.sidebar-transitioning){will-change:auto}@media (width<768px){.sidebar-container[aria-hidden=true] *{pointer-events:none}}@media (768px<=width<1024px){.sidebar-container[data-collapsed=true]{pointer-events:auto;visibility:visible}.sidebar-container[data-collapsed=true] *{pointer-events:auto}.sidebar-container[data-collapsed=true] .nav-icon-wrapper{margin-right:0}}@media (width>=768px){.sidebar-container[data-collapsed=true]{pointer-events:auto!important;visibility:visible!important}.sidebar-container[data-collapsed=true] *{pointer-events:auto!important}.sidebar-container[data-collapsed=true] .sidebar-nav-item-collapsed{pointer-events:auto!important;cursor:pointer!important;opacity:1!important;visibility:visible!important}#sidebar[data-collapsed=true]{transform:translate(0)!important}}.sidebar-container[aria-hidden=false] *{pointer-events:auto}html[data-sidebar-tier=literacy]{--sidebar-touch-target:64px;--sidebar-icon-size:48px;--sidebar-gap:var(--space-3,.75rem);--sidebar-padding:var(--space-2,.5rem)}html[data-sidebar-tier=literacy] .sidebar-nav-item,html[data-sidebar-tier=literacy] .sidebar-nav-item-collapsed{min-width:var(--sidebar-touch-target);min-height:var(--sidebar-touch-target);padding:var(--space-4,1rem);border-radius:var(--radius-xl,.75rem)}html[data-sidebar-tier=literacy] .nav-icon-wrapper,html[data-sidebar-tier=literacy] .nav-icon-wrapper svg{width:var(--sidebar-icon-size);height:var(--sidebar-icon-size)}html[data-sidebar-tier=literacy] .course-label,html[data-sidebar-tier=literacy] .nav-label{display:none}html[data-sidebar-tier=elementary]{--sidebar-touch-target:48px;--sidebar-icon-size:24px;--sidebar-gap:var(--space-2,.5rem);--sidebar-padding:var(--space-2,.5rem)}html[data-sidebar-tier=elementary] .sidebar-nav-item,html[data-sidebar-tier=elementary] .sidebar-nav-item-collapsed{min-height:var(--sidebar-touch-target);padding:.875rem var(--space-4,1rem)}html[data-sidebar-tier=elementary] .nav-icon-wrapper{width:var(--sidebar-icon-size);height:var(--sidebar-icon-size)}html[data-sidebar-tier=middle_school]{--sidebar-touch-target:48px;--sidebar-icon-size:20px;--sidebar-gap:var(--space-1,.25rem);--sidebar-padding:var(--space-2,.5rem)}html[data-sidebar-tier=middle_school] .sidebar-nav-item,html[data-sidebar-tier=middle_school] .sidebar-nav-item-collapsed{min-height:var(--sidebar-touch-target)}html[data-sidebar-tier=high_school]{--sidebar-touch-target:44px;--sidebar-icon-size:20px;--sidebar-gap:var(--space-1,.25rem);--sidebar-padding:var(--space-2,.5rem)}html[data-sidebar-tier=high_school] .sidebar-nav-item,html[data-sidebar-tier=high_school] .sidebar-nav-item-collapsed{min-height:var(--sidebar-touch-target)}html[data-sidebar-tier=college]{--sidebar-touch-target:44px;--sidebar-icon-size:20px;--sidebar-gap:var(--space-1,.25rem);--sidebar-padding:var(--space-2,.5rem)}html[data-sidebar-tier=college] .sidebar-nav-item,html[data-sidebar-tier=college] .sidebar-nav-item-collapsed{min-height:var(--sidebar-touch-target)}html[data-sidebar-tier=teacher],html[data-sidebar-tier=parent],html[data-sidebar-tier=admin]{--sidebar-touch-target:44px;--sidebar-icon-size:20px;--sidebar-gap:var(--space-1,.25rem);--sidebar-padding:var(--space-2,.5rem)}html[data-sidebar-tier] .nav-group{gap:var(--sidebar-gap)}html[data-sidebar-tier] .sidebar-inner{padding:var(--sidebar-padding)}@media (width>=768px){html[data-sidebar-tier=literacy] .sidebar-outer,html[data-sidebar-tier=elementary] .sidebar-outer{background-color:#0000;justify-content:center}html[data-sidebar-tier=literacy].dark .sidebar-outer,html[data-sidebar-tier=elementary].dark .sidebar-outer{background-color:#0000}html[data-sidebar-tier=literacy] .sidebar-container,html[data-sidebar-tier=elementary] .sidebar-container{border-radius:var(--radius-2xl,1.25rem);height:auto;margin-left:var(--space-2,.5rem);justify-content:flex-start;overflow:hidden}html[data-sidebar-tier=literacy] .sidebar-inner,html[data-sidebar-tier=elementary] .sidebar-inner{flex:none}}.sidebar-section-header{padding:var(--space-2,.5rem) var(--space-4,1rem);margin-top:var(--space-2,.5rem);cursor:pointer;border-radius:var(--radius-md,.5rem);transition:background-color var(--duration-fast) var(--ease-out);justify-content:space-between;align-items:center;display:flex}.sidebar-section-header:hover{background-color:var(--color-hover-surface)}.sidebar-section-title{font-size:var(--text-xs,.75rem);font-weight:var(--font-semibold,600);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted,#585452)}.sidebar-section-chevron{width:16px;height:16px;color:var(--color-text-muted);transition:transform var(--duration-fast) var(--ease-out)}.sidebar-section-header[data-expanded=true] .sidebar-section-chevron{transform:rotate(180deg)}.sidebar-section-content{transition:max-height var(--duration-normal) var(--ease-out);flex-direction:column;display:flex;overflow:clip}.sidebar-section-content[data-collapsed=true]{max-height:0;overflow:hidden}.sidebar-hero-item{width:100%;padding:var(--space-4,1rem);margin:0 var(--space-2,.5rem) var(--space-4,1rem) var(--space-2,.5rem);background:linear-gradient(135deg, var(--color-primary-50) 0%, var(--color-primary-100) 100%);border:1px solid var(--color-primary-300);border-radius:var(--shape-tab,.75rem);cursor:pointer;transition:background-color var(--duration-normal) var(--ease-out), color var(--duration-normal) var(--ease-out), opacity var(--duration-normal) var(--ease-out);align-items:center;display:flex}.sidebar-hero-item:hover{background:linear-gradient(135deg, var(--color-primary-100) 0%, var(--surface-primary-hover) 100%);box-shadow:0 4px 12px rgba(var(--color-primary-rgb), .2);transform:translateY(-2px)}.sidebar-hero-item:active{transform:translateY(0)}.sidebar-hero-content{align-items:center;gap:var(--space-3,.75rem);flex:1;display:flex}.sidebar-hero-icon{background:var(--color-primary-500);border-radius:var(--radius-md,.5rem);width:40px;height:40px;color:var(--color-white);justify-content:center;align-items:center;display:flex}.sidebar-hero-text{font-weight:var(--font-semibold,600);font-size:var(--text-base,1rem);color:var(--color-primary-500)}.sidebar-hero-badge{min-width:20px;height:20px;padding:0 var(--space-1-5,.375rem);font-size:.7rem;font-weight:var(--font-semibold,600);color:var(--color-white);background-color:var(--color-primary-500);border-radius:var(--radius-full,9999px);justify-content:center;align-items:center;display:flex}.sidebar-hero-badge.urgent{background-color:var(--color-error,var(--color-error));animation:2s ease-in-out infinite pulse-badge}.dark .sidebar-hero-item{background:linear-gradient(135deg, color-mix(in srgb, var(--surface-primary) 30%, transparent) 0%, color-mix(in srgb, var(--color-primary-800) 40%, transparent) 100%);border-color:var(--color-primary-500)}.dark .sidebar-hero-item:hover{background:linear-gradient(135deg, color-mix(in srgb, var(--color-primary-800) 40%, transparent) 0%, color-mix(in srgb, var(--color-primary-500) 50%, transparent) 100%)}.dark .sidebar-hero-text{color:var(--surface-primary-hover)}.sidebar-container[data-collapsed=true] .sidebar-hero-item{padding:var(--space-3,.75rem);margin:0 auto var(--space-4,1rem) auto;justify-content:center;width:auto}.sidebar-container[data-collapsed=true] .sidebar-hero-text{display:none}.sidebar-container[data-collapsed=true] .sidebar-hero-content{gap:0}html[data-literacy-mode=true] .sidebar-container .section-header,html[data-literacy-mode=true] .sidebar-container .nav-group:not(.literacy-nav-group),html[data-literacy-mode=true] .sidebar-container .admin-section,html[data-literacy-mode=true] .sidebar-container .nav-wrapper,html[data-literacy-mode=true] .sidebar-container .courses-header-wrapper,html[data-literacy-mode=true] .sidebar-container .courses-list-wrapper{display:none}html[data-literacy-mode=true] .literacy-nav{padding:var(--space-4,1rem);flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}html[data-literacy-mode=true] .sidebar-nav-item:after,html[data-literacy-mode=true] .literacy-nav-button:after{content:"";background:var(--color-primary-400);border-radius:var(--radius-full,50%);opacity:0;width:4px;height:4px;transition:opacity var(--duration-fast) var(--ease-out);position:absolute;bottom:-4px;left:50%;transform:translate(-50%)}html[data-literacy-mode=true] .sidebar-nav-item:focus:after,html[data-literacy-mode=true] .sidebar-nav-item:hover:after,html[data-literacy-mode=true] .literacy-nav-button:focus:after,html[data-literacy-mode=true] .literacy-nav-button:hover:after{opacity:1}@media (forced-colors:active){.sidebar-container{background-color:canvas;border:1px solid canvastext}.sidebar-nav-item,.sidebar-nav-item-collapsed{color:linktext;forced-color-adjust:none}.sidebar-nav-item-collapsed:focus-visible,.sidebar-nav-item:focus-visible{outline-offset:2px;outline:2px solid highlight}}@media (prefers-contrast:more){.sidebar-nav-item,.sidebar-nav-item-collapsed,.course-item,.action-button,.course-item.active{border-width:4px}}.high-contrast-mode .sidebar-container,.high-contrast-mode .sidebar-outer{background-color:var(--color-black)!important;color:var(--color-white)!important;border-color:var(--color-white)!important}.high-contrast-mode .sidebar-inner{background-color:var(--color-black)!important}.high-contrast-mode .section-title{color:var(--color-white-alpha-90)!important}.high-contrast-mode .sidebar-nav-item,.high-contrast-mode .sidebar-nav-item-collapsed,.high-contrast-mode .nav-link,.high-contrast-mode .nav-label,.high-contrast-mode .course-label,.high-contrast-mode .course-name,.high-contrast-mode .courses-title,.high-contrast-mode .workspace-label,.high-contrast-mode .teach-label{color:var(--color-white)!important}.high-contrast-mode .course-item{color:var(--color-white)!important;background-color:var(--color-neutral-900)!important;border-color:var(--color-white-alpha-50)!important}.high-contrast-mode .course-item:hover{background-color:var(--color-white-alpha-15)!important}.high-contrast-mode .course-item.active,.high-contrast-mode .course-item-active{background-color:var(--color-white-alpha-20)!important;border-color:var(--color-white)!important}.high-contrast-mode .chat-item{color:var(--color-white)!important}.high-contrast-mode .chat-item.active,.high-contrast-mode .chat-item.selected{background-color:var(--color-white-alpha-15)!important}.high-contrast-mode .action-button{color:var(--color-white)!important;background:var(--color-neutral-900)!important;border-color:var(--color-white-alpha-50)!important}.high-contrast-mode .action-button:hover{background:var(--color-white-alpha-15)!important;border-color:var(--color-white)!important}.high-contrast-mode .user-profile-button,.high-contrast-mode .user-profile-name,.high-contrast-mode .user-menu-button,.high-contrast-mode .user-name-text{color:var(--color-white)!important}.high-contrast-mode .user-profile-container{border-top-color:var(--color-white-alpha-50)!important}.high-contrast-mode .sidebar-container svg{stroke:var(--color-white)!important;color:var(--color-white)!important}.high-contrast-mode .sidebar-nav-item:hover,.high-contrast-mode .sidebar-nav-item-collapsed:hover,.high-contrast-mode .nav-link:hover{background-color:var(--color-white-alpha-15)!important}.high-contrast-mode .chat-item-action-button{color:var(--color-white)!important}.high-contrast-mode .chat-menu-overlay{background:linear-gradient(to left, var(--color-black) 80%, transparent)!important}.high-contrast-mode .course-progress-bar-container{background-color:var(--color-neutral-700)!important;border-color:var(--color-white-alpha-50)!important}.high-contrast-mode .course-count-badge,.high-contrast-mode .nav-badge{color:var(--color-black)!important;background-color:var(--color-white)!important}.high-contrast-mode .admin-section{border-bottom-color:var(--color-white-alpha-50)!important}html[data-high-contrast=true] .sidebar-container,html[data-high-contrast=true] .sidebar-outer{background-color:var(--color-black)!important;color:var(--color-white)!important;border-color:var(--color-white)!important}html[data-high-contrast=true] .sidebar-inner{background-color:var(--color-black)!important}html[data-high-contrast=true] .section-title{color:var(--color-white-alpha-90)!important}html[data-high-contrast=true] .sidebar-nav-item,html[data-high-contrast=true] .sidebar-nav-item-collapsed,html[data-high-contrast=true] .nav-link,html[data-high-contrast=true] .nav-label,html[data-high-contrast=true] .course-label,html[data-high-contrast=true] .course-name,html[data-high-contrast=true] .courses-title{color:var(--color-white)!important}html[data-high-contrast=true] .course-item{color:var(--color-white)!important;background-color:var(--color-neutral-900)!important;border-color:var(--color-white-alpha-50)!important}html[data-high-contrast=true] .chat-item{color:var(--color-white)!important}html[data-high-contrast=true] .sidebar-container svg{stroke:var(--color-white)!important;color:var(--color-white)!important}.sidebar-outer{user-select:none;box-sizing:border-box;height:100%;z-index:var(--z-index-sidebar);pointer-events:auto;color:var(--color-text-primary);font-size:var(--text-sm,.875rem);overflow-clip-margin:var(--space-2);transition:width var(--sidebar-expand-duration) var(--sidebar-expand-easing), transform var(--sidebar-collapse-duration) var(--sidebar-collapse-easing);background-color:#0000;border:none;flex-direction:column;margin:0;padding:0;line-height:1.25rem;display:flex;position:fixed;top:0;left:0;overflow:clip}.dark .sidebar-outer{background-color:#0000}.sidebar-outer *,.sidebar-container *,.sidebar-inner *{pointer-events:auto}.sidebar-outer.sidebar-visible{width:var(--sidebar-expanded-width);transform:translate(0)}@media (width<=767px){.sidebar-outer:not(.sidebar-visible){visibility:hidden;pointer-events:none;transform:translate(-100%)}.sidebar-outer.sidebar-visible{pointer-events:auto;touch-action:manipulation;visibility:visible;padding-top:env(safe-area-inset-top,0px);padding-left:env(safe-area-inset-left,0px);padding-bottom:env(safe-area-inset-bottom,0px);transform:translate(0)}.sidebar-outer{z-index:calc(var(--z-index-sidebar) + 100)}}.sidebar-outer.sidebar-hidden-mobile{width:var(--sidebar-expanded-width);pointer-events:none;transform:translate(-100%)}.sidebar-outer.sidebar-visible *,.sidebar-outer.sidebar-collapsed *{pointer-events:auto}.sidebar-outer.sidebar-collapsed{width:var(--sidebar-collapsed-width);transform:translate(0)}.sidebar-outer.sidebar-tablet-rail{width:var(--sidebar-tablet-width,64px);transform:translate(0)}@media (width>=768px) and (width<=1023px){.sidebar-outer.sidebar-visible{width:var(--sidebar-expanded-width);z-index:calc(var(--z-index-sidebar) + 100);transform:translate(0)}}@container sidebar (width>=181px){.sidebar-outer.sidebar-visible{max-width:240px}}.sidebar-backdrop{z-index:calc(var(--z-index-sidebar) - 1);background-color:var(--color-black-alpha-50);-webkit-backdrop-filter:blur(4px);touch-action:none;will-change:opacity;width:100%;min-height:100dvh;transition:opacity var(--sidebar-collapse-duration) var(--sidebar-collapse-easing);position:fixed;inset:0}@media (width<=1024px){.sidebar-backdrop{z-index:calc(var(--z-index-sidebar) + 99)}.app-layout[data-sidebar-open=true]{touch-action:none;-webkit-overflow-scrolling:auto;height:100dvh;overflow:hidden}}@media (width>=1025px){.sidebar-backdrop{display:none}}.sidebar-toggle-button{cursor:pointer;border-radius:var(--radius-md,.5rem);border:1.5px solid var(--theme-color-border,var(--color-border,var(--color-neutral-200)));color:var(--theme-text-primary,var(--color-text,var(--color-neutral-800)));transition:background-color, color, opacity var(--duration-normal,.2s) var(--ease-out,ease-out), min-width var(--duration-normal,.2s) var(--ease-out,ease-out), min-height var(--duration-normal,.2s) var(--ease-out,ease-out);background-color:#0000;flex-shrink:0;justify-content:center;align-items:center;display:flex}.sidebar-toggle-button[data-expanded=true]{min-width:48px;min-height:48px;padding:var(--space-3,.75rem)}.sidebar-toggle-button[data-expanded=false]{min-width:44px;min-height:44px;padding:.625rem}.sidebar-toggle-button:hover{background-color:var(--theme-color-muted,var(--color-hover-surface));border-color:var(--theme-text-secondary,var(--color-text-secondary,var(--color-neutral-500)));color:var(--theme-text-primary,var(--color-text,var(--color-neutral-800)))}.logo-icon{justify-content:center;align-items:center;display:flex}.icon-sm{width:1.5rem;height:1.5rem;transition:width var(--duration-normal,.2s) var(--ease-out,ease-out), height var(--duration-normal,.2s) var(--ease-out,ease-out)}.sidebar-toggle-button[data-expanded=false] .icon-sm{width:1.25rem;height:1.25rem}.admin-workspace-container{padding:0 var(--space-3,.75rem);margin-bottom:var(--space-6,1.5rem);justify-content:center;display:flex}.sidebar-container[data-collapsed=true] .admin-workspace-container{display:none}.admin-workspace-link{align-items:center;gap:var(--space-3,.75rem);padding:var(--space-4,1rem) var(--space-3,.75rem);transition:opacity, transform var(--duration-normal) var(--ease-out);background-color:#0000;border-radius:.75rem;flex-grow:1;text-decoration:none;display:flex}.admin-workspace-link:hover{background-color:var(--color-hover-surface)}.workspace-icon-wrapper{justify-content:center;align-items:center;display:flex}.workspace-icon{width:1rem;height:1rem}.workspace-label-wrapper{align-items:center;display:flex}.workspace-label{font-weight:var(--font-medium,500);font-size:var(--text-base,1rem);line-height:1.5rem;font-family:var(--font-primary,sans-serif)}.nav-wrapper{color:var(--color-text-primary)}.sidebar-container[data-collapsed=true] .nav-wrapper{display:none}.nav-link{padding:var(--space-4,1rem);margin:0 var(--space-2,.5rem) var(--space-2,.5rem) var(--space-2,.5rem);color:var(--color-sidebar-icon);transition:color var(--sidebar-content-duration) var(--sidebar-content-easing), background-color var(--sidebar-content-duration) var(--sidebar-content-easing), border-color var(--sidebar-content-duration) var(--sidebar-content-easing), transform var(--sidebar-content-duration) var(--sidebar-content-easing);background-color:#0000;border-left:3px solid #0000;border-radius:.75rem;align-items:center;text-decoration:none;display:flex}.nav-link:hover{background-color:var(--color-hover-surface)}.nav-link[aria-current=page]{background-color:color-mix(in srgb, var(--color-primary) 10%, transparent);border-left-color:var(--color-primary);color:var(--color-primary)}.nav-link[aria-current=page] .nav-label{color:var(--color-primary);font-weight:var(--font-semibold,600)}.nav-link[aria-current=page]:hover{background-color:color-mix(in srgb, var(--color-primary) 15%, transparent)}.icon-wrapper{margin-right:var(--space-3,.75rem);justify-content:center;align-items:center;display:flex}.label-wrapper{align-items:center;display:flex}.nav-label{font-weight:var(--font-medium,500);font-size:var(--text-base,1rem);color:var(--color-text-primary)}.courses-header-wrapper{margin-bottom:var(--space-2,.5rem)}.courses-header-button{width:100%;padding:var(--space-4,1rem);font:inherit;color:inherit;cursor:pointer;transition:opacity, transform var(--duration-fast) var(--ease-out);background:0 0;border:none;border-radius:.75rem;justify-content:space-between;align-items:center;display:flex}.courses-header-button:hover{background-color:var(--color-primary-50)}.dark .courses-header-button:hover{background-color:color-mix(in srgb, var(--surface-primary) 20%, transparent)}.courses-header-content{align-items:center;min-width:0;padding:0;display:flex}.courses-header-content .nav-icon-wrapper{margin-right:var(--space-3,.75rem);flex-shrink:0}.courses-title-wrapper{align-items:center;min-width:0;display:flex}.courses-title{font-size:var(--text-base,1rem);font-weight:var(--font-semibold,600);color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;line-height:1.4;overflow:hidden}.courses-header-actions{align-items:center;gap:var(--space-2,.5rem);flex-shrink:0;display:flex}.courses-chevron{color:var(--color-text-secondary);transition:opacity, transform var(--duration-fast) var(--ease-out);transform-origin:50%;will-change:transform}.courses-chevron-rotated{transform:rotate(180deg)}.courses-chevron-icon,.courses-icon{transition:transform var(--duration-fast) var(--ease-out)}.courses-header-button:hover .courses-icon{transform:scale(1.1)}.courses-list-wrapper{margin-top:var(--space-2,.5rem);gap:var(--space-1,.25rem);flex-direction:column;display:flex}.course-item{text-align:left;width:100%;padding:var(--space-4,1rem);margin:0 var(--space-2,.5rem) var(--space-2,.5rem) var(--space-2,.5rem);background-color:var(--color-surface-elevated);border:1px solid var(--color-border-subtle);cursor:pointer;transition:opacity, transform var(--duration-normal) var(--ease-out);border-radius:1rem;justify-content:space-between;align-items:center;display:flex}.course-item:hover{background-color:var(--color-primary-50)}.dark .course-item:hover{background-color:color-mix(in srgb, var(--surface-primary) 10%, transparent)}.course-item-active{background-color:var(--color-surface-active);box-shadow:var(--shadow-sm)}.course-item-content{flex:1;align-items:center;min-width:0;display:flex}.course-item .course-icon-wrapper{width:2.5rem;height:2.5rem;margin-right:var(--space-3,.75rem);transition:opacity, transform var(--duration-fast) var(--ease-out);border-radius:.5rem;flex-shrink:0;justify-content:center;align-items:center;display:flex}.course-icon-svg{transition:transform var(--duration-fast) var(--ease-out)}.course-item:hover .course-icon-svg{transform:scale(1.1)}.course-text-wrapper{flex-direction:column;flex:1;min-width:0;display:flex}.course-name-row{align-items:center;gap:var(--space-2,.5rem);display:flex}.course-name{font-size:var(--text-base,1rem);font-weight:var(--font-medium,500);color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;transition:opacity, transform var(--duration-fast) var(--ease-out);line-height:1.4;overflow:hidden}.course-name-active{font-weight:var(--font-semibold,600)}.course-recent-indicator{flex-shrink:0;display:flex}.course-recent-icon{color:var(--color-text-secondary);opacity:.6}.course-progress-wrapper{gap:var(--space-2,.5rem);margin-top:var(--space-2,.5rem);padding:0 var(--space-1,.25rem);flex-direction:column;display:flex}.course-progress-header{justify-content:space-between;align-items:center;display:flex}.course-progress-percentage-wrapper{align-items:center;gap:var(--space-1,.25rem);display:flex}.course-progress-text{font-size:var(--text-xs,.75rem);font-weight:var(--font-normal,400);color:var(--color-text-secondary);line-height:1.3}.course-progress-percentage{font-size:var(--text-xs,.75rem);font-weight:var(--font-semibold,600);padding:var(--space-1,.25rem) var(--space-2,.5rem);border-radius:.5rem;line-height:1.3}.course-progress-bar-container{background-color:var(--surface-secondary,var(--color-neutral-100));border-radius:var(--radius-full,9999px);height:.75rem;box-shadow:inset 0 0 4px var(--color-black-alpha-10);border:1px solid var(--color-border-subtle);flex:1;position:relative;overflow:hidden}.course-progress-bar-bg{background:linear-gradient(to right, var(--surface-tertiary,var(--color-neutral-200)), var(--surface-secondary,var(--color-neutral-100)));border-radius:var(--radius-full,9999px);position:absolute;inset:0}.course-progress-bar{border-radius:var(--radius-full,9999px);height:100%;transition:opacity, transform var(--duration-slow) var(--sidebar-content-easing);box-shadow:var(--shadow-sm);position:relative}.course-progress-bar-highlight{background:linear-gradient(to right, transparent, var(--color-white-alpha-20), transparent);border-radius:var(--radius-full,9999px);position:absolute;inset:0}.course-progress-milestone{background-color:var(--color-white-alpha-60);border-radius:var(--radius-full,9999px);width:.5rem;height:.5rem;position:absolute;top:50%;transform:translateY(-50%)}.course-progress-milestone:first-child{right:.25rem}.course-progress-milestone:nth-child(2){right:.75rem}.course-progress-milestone:nth-child(3){right:1.5rem}.course-progress-status-row{align-items:center;gap:var(--space-1,.25rem);margin-top:var(--space-1,.25rem);display:flex}.course-progress-dot{border-radius:var(--radius-full,9999px);width:.5rem;height:.5rem}.course-progress-status-text{font-size:var(--text-xs,.75rem);font-weight:var(--font-normal,400);color:var(--color-text-secondary);line-height:1.3}.user-profile-container{font-family:var(--font-primary,sans-serif);flex-direction:column;display:flex}.user-profile-button{padding:var(--space-4,1rem);cursor:pointer;width:100%;transition:opacity, transform var(--duration-normal) var(--ease-out);color:var(--color-text-primary);background-color:#0000;border:none;border-radius:.75rem;align-items:center;text-decoration:none;display:flex}.user-profile-button:hover{background-color:var(--color-hover-surface)}.user-profile-avatar{margin-right:var(--space-3,.75rem);align-items:center;display:flex}.user-profile-name{font-weight:var(--font-medium,500)}.course-label{color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar-nav-item.active .course-label,.sidebar-nav-item[aria-current=page] .course-label{color:var(--color-primary);font-weight:var(--font-semibold,600)}.nav-icon-svg{width:24px;height:24px;transition:transform var(--duration-normal) var(--ease-out);flex-shrink:0}.sidebar-nav-item:hover .nav-icon-svg,.sidebar-nav-item-collapsed:hover .nav-icon-svg,.course-item:hover .nav-icon-svg{transform:scale(1.1)}.group:hover .nav-icon-svg.group-hover-stroke-primary{stroke:var(--color-primary-600)}.teach-label{font-size:var(--text-base,1rem);font-weight:var(--font-medium,500);margin-left:var(--space-3,.75rem);color:var(--color-text-primary);font-family:var(--font-primary,sans-serif);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.progress-bar-track{background:linear-gradient(to right, var(--surface-tertiary,var(--color-neutral-200)), var(--surface-secondary,var(--color-neutral-100)));border-radius:var(--radius-full,9999px);position:absolute;inset:0}.progress-bar-fill{border-radius:var(--radius-full,9999px);height:100%;transition:width, background-color var(--duration-slow) var(--sidebar-content-easing);box-shadow:var(--shadow-sm);position:relative}.progress-bar-highlight{background:linear-gradient(to right, transparent, var(--color-white-alpha-20), transparent);border-radius:var(--radius-full,9999px);position:absolute;inset:0}.progress-milestone-dot{background:var(--color-white-alpha-60);border-radius:var(--radius-full,9999px);width:8px;height:8px;position:absolute;top:50%;transform:translateY(-50%)}.progress-milestone-dot-1{right:8px}.progress-milestone-dot-2{right:16px}.progress-milestone-dot-3{right:24px}.progress-status-row{align-items:center;gap:var(--space-1,.25rem);margin-top:var(--space-1,.25rem);display:flex}.progress-status-dot{border-radius:var(--radius-full,9999px);width:8px;height:8px}.active-course-indicator{margin-left:var(--space-2,.5rem);flex-shrink:0;display:flex}.chat-item-action-button{cursor:pointer;color:var(--color-text-secondary);background:0 0;border:none}.chat-item-action-button:hover{color:var(--color-text-primary)}.dark .chat-item-action-button:hover{color:var(--text-primary)}.user-section-wrapper{padding-left:var(--space-3,.75rem);padding-right:var(--space-3,.75rem)}.user-section-wrapper-collapsed{padding-left:var(--space-1,.25rem);padding-right:var(--space-1,.25rem);justify-content:center;align-items:center;display:flex}.user-section-container{font-family:var(--font-primary,sans-serif);flex-direction:column;align-items:center;display:flex}.user-menu-button{padding:var(--space-4,1rem);width:100%;color:var(--color-text-primary);cursor:pointer;transition:opacity, transform var(--duration-normal) var(--ease-out);background-color:#0000;border:none;border-radius:.75rem;align-items:center;display:flex}.user-menu-button:hover{background-color:var(--color-hover-surface)}.user-avatar-wrapper{margin-right:var(--space-3,.75rem);align-self:center}.user-name-text{font-weight:var(--font-medium,500);align-self:center}.sidebar-outer{container:sidebar/inline-size}@container sidebar (width<=70px){.sidebar-inner{padding:var(--space-2)}.nav-group{gap:var(--space-1,.25rem);margin-bottom:var(--space-1,.25rem)}.sidebar-nav-item,.sidebar-nav-item-collapsed{margin:var(--space-1,.25rem);padding:var(--space-2,.5rem)}}@container sidebar (width>=71px) and (width<=100px){.sidebar-inner{padding:var(--space-2) var(--space-1)}.nav-group{gap:var(--space-2,.5rem);margin-bottom:var(--space-3,.75rem)}.sidebar-nav-item{display:none}.sidebar-nav-item-collapsed{margin:var(--space-1,.25rem);padding:.625rem;display:flex}}@container sidebar (width>=101px) and (width<=180px){.sidebar-inner{padding:var(--space-2) var(--space-2) var(--space-3)}.nav-group{gap:var(--space-3,.75rem);margin-bottom:var(--space-4,1rem)}.sidebar-nav-item{padding:var(--space-3,.75rem);font-size:var(--text-sm,.875rem)}.course-name,.course-label,.nav-label{font-size:var(--text-sm,.875rem)}.sidebar-nav-content{gap:var(--space-2,.5rem)}}@container sidebar (width>=181px){.sidebar-inner{padding:var(--space-2) var(--space-2) var(--space-4)}.nav-group{gap:var(--space-4,1rem);margin-bottom:var(--space-6,1.5rem)}.sidebar-nav-item{padding:var(--space-4,1rem);font-size:var(--text-base,1rem)}.course-name,.course-label,.nav-label{font-size:var(--text-base,1rem)}.sidebar-nav-content{gap:var(--space-3,.75rem)}}@container sidebar (width<=100px){.nav-icon-wrapper,.course-icon-wrapper{margin-right:0}.sidebar-nav-item-collapsed{width:48px;height:48px}}@container sidebar (width<=120px){.collapsed-badge{min-width:.875rem;height:.875rem;font-size:.4rem;position:absolute;top:-8px;right:-8px}}@container sidebar (width<=100px){.courses-header-button{padding:var(--space-2,.5rem);justify-content:center}.courses-title,.courses-chevron{display:none}.course-item{padding:var(--space-3,.75rem);margin:var(--space-1,.25rem)}.course-text-wrapper{display:none}.course-item .course-icon-wrapper{width:2rem;height:2rem;margin-right:0}}@container sidebar (width>=101px) and (width<=180px){.courses-title,.course-name{font-size:var(--text-sm,.875rem)}.course-item .course-icon-wrapper{width:2rem;height:2rem;margin-right:var(--space-2,.5rem)}}@container sidebar (width<=100px){.user-profile-button{padding:var(--space-2,.5rem);justify-content:center;width:48px;height:48px;margin:0 auto}.user-profile-name{display:none}.user-profile-avatar{margin-right:0}}@container sidebar (width>=101px) and (width<=180px){.user-profile-button{padding:var(--space-3,.75rem)}.user-profile-name{font-size:var(--text-xs,.75rem);margin-left:var(--space-2,.5rem)}.user-profile-avatar{flex-shrink:0}}.sidebar-nav-collapsible{transition:grid-template-rows .35s var(--ease-emphasized-decel);grid-template-rows:1fr;display:grid}.sidebar-nav-collapsible.collapsed{transition-timing-function:var(--ease-emphasized-accel);grid-template-rows:0fr}.sidebar-nav-collapsible-inner{opacity:1;transition:opacity .25s var(--ease-emphasized-decel);overflow:hidden}.sidebar-nav-collapsible.collapsed .sidebar-nav-collapsible-inner{opacity:0;transition:opacity .15s var(--ease-emphasized-accel)}.courses-section[data-focused=true] .course-item{animation:fade-in-up var(--motion-quick,.2s) var(--ease-emphasized-decel) backwards}.courses-section[data-focused=true] .course-item:first-child{animation-delay:.15s}.courses-section[data-focused=true] .course-item:nth-child(2){animation-delay:.2s}.courses-section[data-focused=true] .course-item:nth-child(3){animation-delay:.25s}.courses-section[data-focused=true] .course-item:nth-child(4){animation-delay:.3s}.courses-section[data-focused=true] .course-item:nth-child(5){animation-delay:.35s}@media (prefers-reduced-motion:reduce){.sidebar-nav-collapsible,.sidebar-nav-collapsible-inner,.courses-section[data-focused=true] .course-item{transition-duration:0s!important;animation-duration:0s!important}}html[data-onboarding-active] .sidebar-outer{display:none}.scrollable-mobile{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;touch-action:pan-y;overflow-y:scroll}.scrollable-mobile-full{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;touch-action:pan-y;max-height:100svh;overflow-y:scroll}.scrollable-mobile-constrained{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;touch-action:pan-y;max-height:70svh;overflow-y:scroll}.scrollable-mobile-x{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;touch-action:pan-x;scrollbar-width:thin;overflow-x:scroll}.scrollable-mobile-both{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-x pan-y;overflow:scroll}.scrollable-hidden{scrollbar-width:none;-ms-overflow-style:none}.scrollable-hidden::-webkit-scrollbar{display:none}.scrollable-mobile::-webkit-scrollbar{width:8px;height:8px}.scrollable-mobile-full::-webkit-scrollbar{width:8px;height:8px}.scrollable-mobile-constrained::-webkit-scrollbar{width:8px;height:8px}.scrollable-mobile::-webkit-scrollbar-track{background:0 0}.scrollable-mobile-full::-webkit-scrollbar-track{background:0 0}.scrollable-mobile-constrained::-webkit-scrollbar-track{background:0 0}.scrollable-mobile::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--color-neutral-400) 30%, transparent);border-radius:var(--radius-full)}.scrollable-mobile-full::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--color-neutral-400) 30%, transparent);border-radius:var(--radius-full)}.scrollable-mobile-constrained::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--color-neutral-400) 30%, transparent);border-radius:var(--radius-full)}.thin-scrollbar{scrollbar-width:thin;scrollbar-color:var(--border-color,var(--color-neutral-300)) transparent}.thin-scrollbar::-webkit-scrollbar{width:6px}.thin-scrollbar::-webkit-scrollbar-track{background:0 0}.thin-scrollbar::-webkit-scrollbar-thumb{background-color:var(--border-color,var(--color-neutral-300));border-radius:3px}.thin-scrollbar::-webkit-scrollbar-thumb:hover{background-color:var(--color-neutral-400)}:where(.dark) .thin-scrollbar{scrollbar-color:var(--color-neutral-600) transparent}:where(.dark) .thin-scrollbar::-webkit-scrollbar-thumb{background-color:var(--color-neutral-600)}:where(.dark) .thin-scrollbar::-webkit-scrollbar-thumb:hover{background-color:var(--color-neutral-500)}.scroll-snap-x{scroll-snap-type:x mandatory;scroll-padding:var(--space-4)}.scroll-snap-y{scroll-snap-type:y mandatory;scroll-padding:var(--space-4)}.scroll-snap-both{scroll-snap-type:both mandatory;scroll-padding:var(--space-4)}.scroll-snap-start{scroll-snap-align:start;scroll-snap-stop:always}.scroll-snap-center{scroll-snap-align:center;scroll-snap-stop:always}.scroll-snap-end{scroll-snap-align:end;scroll-snap-stop:always}@media (width<=768px){.main-content,.chat-messages,.sidebar-content,.modal-body,.dropdown-menu,[data-scrollable=true]{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}.scrollable-mobile-full{height:100svh;max-height:100svh}body{overscroll-behavior-y:none}}@media (width<=768px) and (orientation:landscape){.scrollable-mobile-full{max-height:100svh}.scrollable-mobile-constrained{max-height:60svh}}.no-pull-refresh{overscroll-behavior-y:contain}html.no-pull-refresh,body.no-pull-refresh{overscroll-behavior-y:none;-webkit-overflow-scrolling:touch}.scroll-padding-top{scroll-padding-top:var(--header-height,64px)}.scroll-padding-bottom{scroll-padding-bottom:var(--footer-height,64px)}.scroll-smooth{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){.scroll-smooth{scroll-behavior:auto}}.chat-scrollable{max-height:calc(100svh - var(--header-height,64px) - var(--input-height,80px));-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;touch-action:pan-y;flex-direction:column-reverse;display:flex;overflow-y:scroll}.modal-scrollable{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;touch-action:pan-y;max-height:calc(100svh - 200px);overflow-y:scroll}@media (width<=768px){.modal-scrollable{max-height:calc(100svh - 120px)}}.scroll-fade-x{-webkit-overflow-scrolling:touch;position:relative;overflow-x:scroll}.scroll-fade-x:after{content:"";background:linear-gradient(to left, var(--surface-card), transparent);pointer-events:none;width:40px;position:absolute;top:0;bottom:0;right:0}.scroll-fade-x[data-scrolled-end=true]:after{opacity:0}.scrollable-accelerated{will-change:scroll-position;transform:translateZ(0)}.scrollable-no-flicker{backface-visibility:hidden;transform:translate(0,0)}@supports (-webkit-touch-callout:none){.chat-messages-container,.messages-scroll-container,.sidebar-inner,.modal-body,.modal-scrollable,.dashboard-scroll-container,.course-content-scroll,.scrollable-mobile,.scrollable-mobile-full,.scrollable-mobile-constrained{will-change:transform;isolation:isolate;contain:style;-webkit-overflow-scrolling:touch;transform:translate(0,0)}.scroll-idle{will-change:auto}}@media (width<=768px){.messages-scroll-container,.chat-messages-container,.scrollable-mobile-full{contain:style;overflow-anchor:auto}}.scroll-container-interactive{touch-action:pan-y;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}.scroll-container-interactive button,.scroll-container-interactive a,.scroll-container-interactive [role=button],.scroll-container-interactive .interactive{touch-action:inherit;-webkit-tap-highlight-color:transparent}@media (hover:none) and (pointer:coarse){.scroll-container-interactive button,.scroll-container-interactive a,.scroll-container-interactive [role=button]{touch-action:pan-y}}.h-viewport{height:100svh}.min-h-viewport{min-height:100svh}.max-h-viewport{max-height:100svh}.h-viewport-dynamic{height:100dvh}.min-h-viewport-dynamic{min-height:100dvh}.max-h-viewport-dynamic{max-height:100dvh}.h-viewport-js{height:100svh;height:calc(var(--vh,1vh) * 100)}.min-h-viewport-js{min-height:100dvh;min-height:calc(var(--vh,1vh) * 100)}.h-viewport-header{height:calc(100vh - var(--navbar-height,4rem));height:calc(100svh - var(--navbar-height,4rem))}.h-viewport-safe{height:calc(100vh - env(safe-area-inset-top) - env(safe-area-inset-bottom));height:calc(100svh - env(safe-area-inset-top) - env(safe-area-inset-bottom))}.h-viewport-content{height:calc(100vh - var(--navbar-height,4rem) - var(--footer-height,0px));height:calc(100svh - var(--navbar-height,4rem) - var(--footer-height,0px))}.flex-viewport{flex-direction:column;height:100svh;min-height:0;display:flex;overflow:hidden}.flex-viewport>*{min-height:0}.flex-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;flex:1;min-height:0;overflow-y:auto}.flex-fixed{flex-shrink:0}@media (width<=768px){.mobile-h-viewport{height:100svh}.mobile-max-h-viewport{max-height:100svh}.mobile-min-h-viewport{min-height:100svh}.mobile-flex-viewport{height:100svh;min-height:0;padding-bottom:env(safe-area-inset-bottom,0px);flex-direction:column;display:flex;overflow:hidden}}.h-viewport-50{height:50svh}.h-viewport-75{height:75svh}.max-h-viewport-80{max-height:80svh}.max-h-viewport-90{max-height:90svh}@supports (-webkit-touch-callout:none){.h-viewport,.flex-viewport{height:100svh}.min-h-viewport{min-height:100svh}.max-h-viewport{max-height:100svh}}.touch-feedback{-webkit-tap-highlight-color:transparent;user-select:none;cursor:pointer;position:relative}.touch-feedback:after{content:"";border-radius:inherit;opacity:0;pointer-events:none;transition:opacity var(--duration-instant,.1s) var(--ease-out);background:currentColor;position:absolute;inset:0}.touch-feedback:active:after{opacity:.1}.touch-feedback[data-theme=light]:active:after{opacity:.08}.touch-feedback[data-theme=dark]:active:after{opacity:.15}.touch-scale{transition:transform var(--duration-instant,.1s) var(--ease-out)}.touch-scale:active{transform:scale(.98)}.touch-scale-subtle:active{transform:scale(.99)}.touch-scale-strong:active{transform:scale(.95)}.touch-highlight{transition:background-color var(--duration-instant,.1s) var(--ease-out)}.touch-highlight:active{background:var(--surface-active)}.btn-touch{-webkit-tap-highlight-color:transparent;touch-action:manipulation;user-select:none}.btn-touch:active:not(:disabled){filter:brightness(.9);transform:scale(.98)}.list-item-touch{-webkit-tap-highlight-color:transparent;transition:background-color var(--duration-fast,.2s) var(--ease-out);position:relative}.list-item-touch:active{background:var(--surface-hover)}.card-touch{-webkit-tap-highlight-color:transparent;transition:transform var(--duration-fast,.2s) var(--ease-out), box-shadow var(--duration-fast,.2s) var(--ease-out), border-color var(--duration-fast,.2s) var(--ease-out);position:relative}.card-touch:active{box-shadow:var(--shadow-sm);transform:scale(.99)}.icon-touch{border-radius:var(--radius-full);-webkit-tap-highlight-color:transparent;transition:transform var(--duration-fast,.2s) var(--ease-out), color var(--duration-fast,.2s) var(--ease-out);min-width:var(--touch-target-preferred,44px);min-height:var(--touch-target-preferred,44px);justify-content:center;align-items:center;display:inline-flex;position:relative}.icon-touch:active{background:var(--surface-hover);transform:scale(.95)}.touch-expand{position:relative}.touch-expand:before{content:"";z-index:-1;min-width:44px;min-height:44px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.touch-expand-lg:before{min-width:56px;min-height:56px}.toggle-touch{-webkit-tap-highlight-color:transparent;cursor:pointer;transition:background-color var(--duration-fast,.2s) var(--ease-out), border-color var(--duration-fast,.2s) var(--ease-out), transform var(--duration-fast,.2s) var(--ease-out)}.toggle-touch:active{transform:scale(.96)}.link-touch{-webkit-tap-highlight-color:transparent;transition:color var(--duration-fast,.2s) var(--ease-out);position:relative}.link-touch:after{content:"";border-radius:var(--radius-sm);opacity:0;pointer-events:none;transition:opacity var(--duration-instant,.1s) var(--ease-out);background:currentColor;position:absolute;inset:-8px}.link-touch:active:after{opacity:.05}.swipe-touch{touch-action:pan-x;user-select:none;transition:transform var(--duration-fast,.2s) var(--ease-out);position:relative}.swipe-touch[data-swiping=true]{transition:none}.long-press-touch{-webkit-tap-highlight-color:transparent;position:relative}.long-press-touch[data-long-pressing=true]{opacity:.8;transform:scale(.97)}.long-press-touch:before{content:"";border-radius:inherit;background:linear-gradient(to right, var(--color-primary) 0%, var(--color-primary) var(--long-press-progress,0%), transparent var(--long-press-progress,0%));opacity:0;pointer-events:none;transition:opacity var(--duration-fast,.2s) var(--ease-out);position:absolute;inset:0}.long-press-touch[data-long-pressing=true]:before{opacity:.1}@media (hover:none) and (pointer:coarse){button,a,[role=button],[role=link],input[type=checkbox],input[type=radio],.interactive{-webkit-tap-highlight-color:transparent}button:not(:disabled),a:not([disabled]),[role=button]:not([disabled]){touch-action:manipulation;user-select:none}button:not(:disabled):active,[role=button]:not([disabled]):active{transform:scale(.98)}a:active{opacity:.7}li[role=button]:active,[role=listitem]:active{background:var(--surface-hover)}[role=menuitem]:not([aria-disabled=true]):active,[role=option]:active,[role=tab]:not(.active):active{background:var(--surface-hover,var(--color-hover-surface));transition-duration:0s}}@media (hover:hover) and (pointer:fine){.touch-feedback:active:after,.touch-scale:active,.touch-highlight:active,.card-touch:active,.icon-touch:active{opacity:1;background:0 0;transform:none}.touch-feedback:hover,.touch-highlight:hover{background:var(--surface-hover)}.card-touch:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}}.touch-feedback:focus-visible,.touch-scale:focus-visible,.touch-highlight:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-outline-offset)}.touch-feedback:focus-visible:not(:active):after{opacity:0}@media (prefers-reduced-motion:reduce){.touch-feedback:after,.touch-scale,.touch-highlight,.card-touch,.icon-touch,.toggle-touch,.link-touch,.swipe-touch,.long-press-touch{transition:none}.touch-scale:active,.btn-touch:active,.card-touch:active,.icon-touch:active,.toggle-touch:active,.long-press-touch[data-long-pressing=true]{transform:none}}@media (prefers-contrast:more){.touch-feedback:after{opacity:.2}.touch-feedback:active:after{opacity:.3}}@media print{.touch-feedback:after,.touch-scale,.touch-highlight{display:none;transform:none}}:where(:root){--skeleton-animation-duration:1.5s;--skeleton-animation-easing:ease-in-out;--skeleton-shimmer-from:color-mix(in oklch, var(--theme-text-primary,currentColor) 8%, transparent);--skeleton-shimmer-via:color-mix(in oklch, var(--theme-text-primary,currentColor) 14%, transparent);--skeleton-shimmer-to:var(--skeleton-shimmer-from);--skeleton-surface:var(--theme-surface-card,var(--color-surface));--skeleton-border-color:var(--theme-border-subtle,color-mix(in oklch, var(--theme-text-primary,currentColor) 12%, transparent));--skeleton-bone-bg:var(--skeleton-shimmer-from);--skeleton-bone-bg-strong:var(--skeleton-shimmer-via);--skeleton-overlay-from:color-mix(in oklch, var(--theme-text-primary,currentColor) 0%, transparent);--skeleton-overlay-via:color-mix(in oklch, var(--theme-text-primary,currentColor) 16%, transparent);--skeleton-overlay-to:var(--skeleton-overlay-from);--skeleton-static-opacity:.6}:where(.dark){--skeleton-shimmer-from:color-mix(in oklch, var(--theme-text-primary,currentColor) 12%, transparent);--skeleton-shimmer-via:color-mix(in oklch, var(--theme-text-primary,currentColor) 20%, transparent);--skeleton-shimmer-to:var(--skeleton-shimmer-from);--skeleton-surface:var(--theme-surface-card,var(--color-surface));--skeleton-border-color:var(--theme-border-subtle,color-mix(in oklch, var(--theme-text-primary,currentColor) 18%, transparent));--skeleton-bone-bg:var(--skeleton-shimmer-from);--skeleton-bone-bg-strong:var(--skeleton-shimmer-via);--skeleton-overlay-via:color-mix(in oklch, var(--theme-text-primary,currentColor) 22%, transparent)}@keyframes shimmer-subtle{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes shimmer-legacy{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton-box{background:var(--skeleton-shimmer-from);position:relative;overflow:hidden}.skeleton-box:after{content:"";background:linear-gradient(90deg, transparent 0%, var(--skeleton-shimmer-via) 50%, transparent 100%);animation:shimmer var(--skeleton-animation-duration) var(--skeleton-animation-easing) infinite;will-change:transform;position:absolute;inset:0}.skeleton-circle{background:var(--skeleton-shimmer-from);border-radius:var(--shape-avatar,var(--radius-full));position:relative;overflow:hidden}.skeleton-circle:after{content:"";background:linear-gradient(90deg, transparent 0%, var(--skeleton-shimmer-via) 50%, transparent 100%);animation:shimmer var(--skeleton-animation-duration) var(--skeleton-animation-easing) infinite;will-change:transform;position:absolute;inset:0}.skeleton-text{background:var(--skeleton-shimmer-from);border-radius:var(--shape-badge,var(--radius-full));height:var(--space-4);position:relative;overflow:hidden}.skeleton-text:after{content:"";background:linear-gradient(90deg, transparent 0%, var(--skeleton-shimmer-via) 50%, transparent 100%);animation:shimmer var(--skeleton-animation-duration) var(--skeleton-animation-easing) infinite;will-change:transform;position:absolute;inset:0}.skeleton-button{background:var(--skeleton-shimmer-from);border-radius:var(--shape-button,var(--radius-lg));height:var(--space-10);position:relative;overflow:hidden}.skeleton-button:after{content:"";background:linear-gradient(90deg, transparent 0%, var(--skeleton-shimmer-via) 50%, transparent 100%);animation:shimmer var(--skeleton-animation-duration) var(--skeleton-animation-easing) infinite;will-change:transform;position:absolute;inset:0}.skeleton-gradient{background:linear-gradient(135deg, var(--surface-primary-hover) 0%, var(--color-secondary-200) 50%, var(--color-accent-200) 100%);border-radius:var(--shape-card,var(--radius-xl))}:global(.dark) .skeleton-gradient{background:linear-gradient(135deg, var(--color-primary-800) 0%, var(--color-secondary-800) 50%, var(--color-accent-800) 100%)}.skeleton-glow{background:linear-gradient(135deg, color-mix(in oklch, var(--color-primary-500,var(--color-primary-500)) 15%, transparent) 0%, color-mix(in oklch, var(--color-accent-500) 15%, transparent) 100%);border-radius:var(--shape-card,var(--radius-xl));filter:blur(20px);animation:shimmer calc(var(--skeleton-animation-duration) * 2.5) var(--skeleton-animation-easing) infinite;animation-delay:var(--timing-standard,.2s);position:absolute;inset:0}.skeleton-sidebar{width:var(--sidebar-expanded-width,260px);background:var(--skeleton-surface);border-right:1px solid var(--skeleton-border-color);flex-shrink:0;height:100%;overflow:hidden}.skeleton-main-content{background:var(--skeleton-surface);flex-direction:column;flex:1;height:100%;display:flex;overflow:hidden}.skeleton-header{border-bottom:1px solid color-mix(in oklch, var(--skeleton-border-color) 60%, transparent);padding:var(--space-6);backdrop-filter:blur(4px);justify-content:space-between;align-items:center;display:flex}.skeleton-input-area{border-top:1px solid color-mix(in oklch, var(--skeleton-border-color) 60%, transparent);padding:var(--space-6);background:color-mix(in oklch, var(--skeleton-surface) 50%, transparent);backdrop-filter:blur(4px)}@media (prefers-reduced-motion:reduce){.skeleton-box,.skeleton-circle,.skeleton-text,.skeleton-button,.skeleton-glow{background:var(--skeleton-shimmer-from);opacity:var(--skeleton-static-opacity);animation:none}.skeleton-gradient{background:var(--skeleton-shimmer-from);opacity:var(--skeleton-static-opacity)}}.skeleton-h-8{height:var(--space-8)}.skeleton-h-10{height:var(--space-10)}.skeleton-h-14{height:3.5rem}.skeleton-h-20{height:var(--space-20)}.skeleton-w-24{width:6rem}.skeleton-w-32{width:8rem}.skeleton-w-48{width:12rem}.skeleton-w-full{width:100%}.skeleton-w-3-5{width:60%}.skeleton-w-4-5{width:80%}.skeleton-rounded-sm{border-radius:var(--shape-badge,var(--radius-sm))}.skeleton-rounded-md{border-radius:var(--shape-input,var(--radius-md))}.skeleton-rounded-lg{border-radius:var(--shape-card,var(--radius-lg))}.skeleton-rounded-xl{border-radius:var(--shape-card,var(--radius-xl))}.skeleton-rounded-2xl{border-radius:var(--shape-modal,calc(var(--radius-xl) * 1.33))}.skeleton-rounded-full{border-radius:var(--shape-avatar,var(--radius-full))}.skeleton-delay-75{animation-delay:75ms}.skeleton-delay-100{animation-delay:.1s}.skeleton-delay-150{animation-delay:.15s}.skeleton-delay-200{animation-delay:.2s}.skeleton-delay-300{animation-delay:.3s}.skeleton-delay-400{animation-delay:.4s}.skeleton-delay-500{animation-delay:.5s}.skeleton-delay-600{animation-delay:.6s}.skeleton-delay-800{animation-delay:.8s}.skeleton-icon-sm{width:var(--icon-size-sm,20px);height:var(--icon-size-sm,20px)}.skeleton-icon-md{width:var(--icon-size-md,24px);height:var(--icon-size-md,24px)}.skeleton-icon-lg{width:var(--icon-size-lg,32px);height:var(--icon-size-lg,32px)}.skeleton-icon-xl{width:var(--icon-size-xl,48px);height:var(--icon-size-xl,48px)}.skeleton-button-sm{width:32px;height:32px}.skeleton-button-md{width:36px;height:36px}.skeleton-button-lg{width:40px;height:40px}.skeleton-avatar-sm{width:32px;height:32px}.skeleton-avatar-md{width:40px;height:40px}.skeleton-avatar-lg{width:48px;height:48px}.skeleton-avatar-xl{width:64px;height:64px}.skeleton-text-xs{height:12px}.skeleton-text-sm{height:14px}.skeleton-text-base{height:16px}.skeleton-text-lg{height:18px}.skeleton-text-xl{height:20px}.skeleton-text-2xl{height:24px}.skeleton-text-3xl{height:28px}.skeleton-w-12{width:3rem}.skeleton-w-16{width:4rem}.skeleton-w-20{width:5rem}.skeleton-w-28{width:7rem}.skeleton-w-35{width:8.75rem}.skeleton-w-40{width:10rem}.skeleton-w-50{width:12.5rem}.skeleton-w-55{width:13.75rem}.skeleton-w-70{width:17.5rem}.skeleton-w-60{width:60%}.skeleton-w-80{width:80%}.skeleton-mt-1{margin-top:var(--space-1)}.skeleton-mt-2{margin-top:var(--space-2)}.skeleton-mb-2{margin-bottom:var(--space-2)}.skeleton-flex{display:flex}.skeleton-flex-1{flex:1}.skeleton-flex-col{flex-direction:column;display:flex}.skeleton-items-center{align-items:center}.skeleton-gap-1{gap:var(--space-1)}.skeleton-gap-2{gap:var(--space-2)}.skeleton-gap-3{gap:var(--space-3)}.quiz-container{max-width:42rem;padding:var(--space-6);background:linear-gradient(to bottom right, color-mix(in srgb, var(--color-primary) 15%, transparent), color-mix(in srgb, var(--color-secondary) 15%, transparent));border-radius:var(--shape-card,var(--learning-section-radius));margin-inline:auto;container:quiz-container/inline-size}.quiz-card{background:var(--surface-card);border-radius:var(--shape-card,var(--radius-lg));padding:var(--space-6);box-shadow:var(--shadow-md);position:relative;overflow:hidden}.quiz-header{margin-bottom:var(--space-6);position:relative}.quiz-question-number{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--text-primary);margin-bottom:var(--space-2)}.quiz-score-display{align-items:center;gap:var(--space-4);font-size:var(--text-sm);color:var(--text-secondary);display:flex}.quiz-progress-bar{border-radius:var(--shape-avatar,var(--radius-full));background:var(--surface-sunken);width:100%;height:8px;margin-top:var(--space-3);overflow:hidden}.quiz-progress-fill{background:linear-gradient(90deg, var(--color-primary), var(--color-secondary));border-radius:var(--shape-avatar,var(--radius-full));height:100%;transition:width var(--duration-normal) var(--ease-out)}.quiz-question-card{margin-bottom:var(--space-6)}.quiz-question-text{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:var(--space-6);line-height:var(--leading-relaxed);padding:var(--space-4);background:color-mix(in srgb, var(--learning-lesson-bg) 30%, transparent);border-radius:var(--shape-button,var(--radius-md));border-left:4px solid var(--learning-lesson-color)}:is(.dark,.dark) .quiz-question-text{color:var(--text-primary,#f0f4f8)}.quiz-answer-options{gap:var(--space-3);flex-direction:column;display:flex}.quiz-answer-option{background:var(--surface-card);padding:var(--space-4);border-radius:var(--shape-card,var(--radius-lg));border:2px solid var(--border-color-default);min-height:56px;transition:opacity var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);cursor:pointer;align-items:center;gap:var(--space-3);min-height:var(--touch-target-preferred);display:flex;position:relative}.quiz-answer-option:hover:not(.correct):not(.incorrect){background:var(--surface-interactive);border-color:var(--color-primary);transform:translate(4px)}.quiz-answer-option:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.quiz-answer-option.correct{background:color-mix(in srgb, var(--color-success) 20%, transparent);border-color:var(--color-success);box-shadow:0 0 0 4px color-mix(in srgb, var(--color-success) 10%, transparent)}.quiz-answer-option.incorrect{background:color-mix(in srgb, var(--color-error) 20%, transparent);border-color:var(--color-error);box-shadow:0 0 0 4px color-mix(in srgb, var(--color-error) 10%, transparent)}.quiz-answer-option.unselected{opacity:1}.quiz-answer-option input[type=radio]{width:1.25rem;height:1.25rem;accent-color:var(--color-primary);flex-shrink:0;margin:0}.quiz-answer-text{font-size:var(--text-base);color:var(--text-primary);flex:1}.quiz-feedback{padding:var(--space-4);border-radius:var(--shape-button,var(--radius-md));font-size:var(--text-sm);font-weight:var(--font-semibold);margin-top:var(--space-4);align-items:center;gap:var(--space-2);display:flex}.quiz-feedback-correct{background:color-mix(in srgb, var(--color-success) 20%, transparent);color:var(--color-success-content);border-left:4px solid var(--color-success)}.quiz-feedback-incorrect{background:color-mix(in srgb, var(--color-error) 20%, transparent);color:var(--color-error-content);border-left:4px solid var(--color-error)}.quiz-actions{gap:var(--space-3);margin-top:var(--space-6);flex-wrap:wrap;display:flex}.quiz-hint-button,.quiz-explanation-button{background:var(--surface-raised);color:var(--text-secondary);padding:var(--space-2) var(--space-4);border-radius:var(--shape-button,var(--radius-md));font-size:var(--text-sm);font-weight:var(--font-medium);border:1px solid var(--border-color-default);cursor:pointer;transition:opacity var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);align-items:center;gap:var(--space-2);display:inline-flex}.quiz-hint-button:hover,.quiz-explanation-button:hover{background:color-mix(in srgb, var(--color-info) 10%, transparent);color:var(--color-info);border-color:var(--color-info)}.quiz-hint,.quiz-explanation{background:color-mix(in srgb, var(--color-info) 10%, transparent);border:1px solid color-mix(in srgb, var(--color-info) 30%, transparent);border-radius:var(--shape-button,var(--radius-md));padding:var(--space-4);margin-top:var(--space-4);font-size:var(--text-sm);color:var(--color-info-content);line-height:var(--leading-relaxed)}.quiz-hint:before{content:"";width:1em;height:1em;margin-right:var(--space-2);vertical-align:-.125em;background-color:currentColor;display:inline-block;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5'/%3E%3Cpath d='M9 18h6'/%3E%3Cpath d='M10 22h4'/%3E%3C/svg%3E");mask-size:contain;mask-repeat:no-repeat}.quiz-explanation:before{content:"";width:1em;height:1em;margin-right:var(--space-2);vertical-align:-.125em;background-color:currentColor;display:inline-block;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 16v-4'/%3E%3Cpath d='M12 8h.01'/%3E%3C/svg%3E");mask-size:contain;mask-repeat:no-repeat}.quiz-next-button{background:var(--color-success);color:var(--text-inverse);padding:var(--space-3) var(--space-6);border-radius:var(--shape-button,var(--radius-md));font-size:var(--text-base);font-weight:var(--font-semibold);cursor:pointer;transition:opacity var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);margin-top:var(--space-6);min-height:var(--touch-target-min);border:none}.quiz-next-button:hover{background:var(--color-success-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.quiz-result-card{background:linear-gradient(to bottom right, color-mix(in srgb, var(--color-primary) 20%, transparent), color-mix(in srgb, var(--color-secondary) 20%, transparent));padding:var(--space-8);border-radius:var(--shape-modal,var(--radius-xl));box-shadow:var(--shadow-lg)}.quiz-result-header{text-align:center;margin-bottom:var(--space-8)}.quiz-result-title{font-size:var(--text-3xl);font-weight:var(--font-bold);color:var(--text-primary);margin-bottom:var(--space-3)}.quiz-score-display-large{text-align:center;margin-bottom:var(--space-6)}.quiz-score-label{font-size:var(--text-lg);font-weight:var(--font-medium);color:var(--text-secondary);margin-bottom:var(--space-2)}.quiz-score-value{font-size:clamp(var(--text-4xl), 1.5rem + 3vw, 4rem);font-weight:var(--font-bold);color:var(--color-primary);line-height:1}.quiz-stats-grid{gap:var(--space-4);margin-bottom:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.quiz-stat-item{background:color-mix(in srgb, var(--surface-card) 80%, transparent);padding:var(--space-4);border-radius:var(--shape-card,var(--radius-lg));backdrop-filter:blur(10px)}.quiz-stat-label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary);margin-bottom:var(--space-2);align-items:center;gap:var(--space-2);display:flex}.quiz-stat-value{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--text-primary)}.quiz-summary-section{background:color-mix(in srgb, var(--surface-card) 80%, transparent);padding:var(--space-6);border-radius:var(--shape-card,var(--radius-lg));margin-bottom:var(--space-6);backdrop-filter:blur(10px)}.quiz-summary-section h3{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:var(--space-4)}.quiz-summary-grid{gap:var(--space-4);grid-template-columns:repeat(2,1fr);display:grid}.quiz-tips-section{background:color-mix(in srgb, var(--color-info) 10%, transparent);border:1px solid color-mix(in srgb, var(--color-info) 20%, transparent);padding:var(--space-6);border-radius:var(--shape-card,var(--radius-lg));margin-bottom:var(--space-6);min-height:256px}.quiz-tips-section h3{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--color-info);margin-bottom:var(--space-4);align-items:center;gap:var(--space-2);display:flex}.quiz-tips-section ul{padding-left:var(--space-6);color:var(--color-info-content);list-style-type:disc}.quiz-tips-section li{margin-bottom:var(--space-3);line-height:var(--leading-relaxed)}.quiz-card-footer{gap:var(--space-3);margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--border-color-muted);justify-content:flex-end;display:flex}.quiz-restart-button{background:var(--color-primary);color:var(--text-inverse);padding:var(--space-3) var(--space-6);border-radius:var(--shape-button,var(--radius-md));font-size:var(--text-base);font-weight:var(--font-semibold);cursor:pointer;transition:opacity var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);border:none}.quiz-restart-button:hover{background:var(--color-primary-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.quiz-close-button{background:var(--color-error);color:var(--text-inverse);padding:var(--space-3) var(--space-6);border-radius:var(--shape-button,var(--radius-md));font-size:var(--text-base);font-weight:var(--font-semibold);cursor:pointer;transition:opacity var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);border:none}.quiz-close-button:hover{background:var(--color-error-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.quiz-celebration-effect{pointer-events:none;z-index:50;position:fixed;inset:0;overflow:hidden}.quiz-confetti{border-radius:var(--shape-avatar,50%);width:8px;height:8px;animation:linear infinite confettiFall;position:absolute;top:-10px}@keyframes confettiFall{0%{opacity:1;transform:translateY(-10px)rotate(0)}to{opacity:0;transform:translateY(100vh)rotate(720deg)}}.quiz-loading{justify-content:center;align-items:center;gap:var(--space-2);color:var(--text-secondary);font-size:var(--text-sm);display:flex}.quiz-loading-spinner{border:2px solid #0000;border-top-color:var(--color-primary);border-radius:var(--shape-avatar,50%);width:1rem;height:1rem;animation:.8s linear infinite spin}@container quiz-container (width<=350px){.quiz-container,.quiz-card{padding:var(--space-3)}.quiz-question-number{font-size:var(--text-base)}.quiz-question-text{font-size:var(--text-sm);padding:var(--space-2)}.quiz-answer-option{padding:var(--space-2);gap:var(--space-2);min-height:48px}.quiz-answer-option input[type=radio]{width:1rem;height:1rem}.quiz-answer-text{font-size:var(--text-sm)}.quiz-stats-grid{gap:var(--space-3);grid-template-columns:1fr}.quiz-summary-grid{grid-template-columns:1fr}.quiz-card-footer{gap:var(--space-2);flex-direction:column}.quiz-restart-button,.quiz-close-button{width:100%;padding:var(--space-2) var(--space-4)}.quiz-progress-bar{height:4px}}@container quiz-container (width>=351px) and (width<=500px){.quiz-container,.quiz-card{padding:var(--space-4)}.quiz-question-text{font-size:var(--text-base);padding:var(--space-3)}.quiz-answer-option{padding:var(--space-3);min-height:56px}.quiz-answer-option input[type=radio]{width:1.125rem;height:1.125rem}.quiz-stats-grid,.quiz-summary-grid{grid-template-columns:1fr}.quiz-card-footer{flex-direction:column}.quiz-restart-button,.quiz-close-button{width:100%}.quiz-progress-bar{height:6px}}@container quiz-container (width>=501px) and (width<=700px){.quiz-container,.quiz-card{padding:var(--space-5)}.quiz-question-text{font-size:var(--text-lg);padding:var(--space-4)}.quiz-answer-option{padding:var(--space-4);min-height:56px}.quiz-stats-grid,.quiz-summary-grid{grid-template-columns:repeat(2,1fr)}.quiz-card-footer{flex-direction:row;justify-content:flex-end}.quiz-restart-button,.quiz-close-button{width:auto}.quiz-progress-bar{height:6px}}@container quiz-container (width>=701px) and (width<=900px){.quiz-container,.quiz-card{padding:var(--space-6)}.quiz-question-text{font-size:var(--text-xl);padding:var(--space-4)}.quiz-answer-option{padding:var(--space-4);min-height:56px}.quiz-answer-option input[type=radio]{width:1.25rem;height:1.25rem}.quiz-stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.quiz-progress-bar{height:8px}}@container quiz-container (width>=901px){.quiz-container,.quiz-card{padding:var(--space-6)}.quiz-question-text{font-size:var(--text-xl);padding:var(--space-4)}.quiz-answer-option{padding:var(--space-4);min-height:56px}.quiz-answer-option input[type=radio]{width:1.5rem;height:1.5rem}.quiz-answer-option:hover:not(.correct):not(.incorrect){transform:translate(4px)}.quiz-progress-bar{height:8px}}@supports not (container-type:inline-size){@media (width<=640px){.quiz-container,.quiz-card{padding:var(--space-4)}.quiz-question-text{font-size:var(--text-lg)}.quiz-answer-option{padding:var(--space-3)}.quiz-stats-grid,.quiz-summary-grid{grid-template-columns:1fr}.quiz-card-footer{flex-direction:column}.quiz-restart-button,.quiz-close-button{width:100%}}}@media (prefers-reduced-motion:reduce){.quiz-answer-option,.quiz-next-button,.quiz-restart-button,.quiz-close-button{transition:none}.quiz-answer-option:hover{transform:none}.quiz-confetti{opacity:0;animation:none}}@media (prefers-contrast:more){.quiz-answer-option{border-width:3px}.quiz-answer-option.correct,.quiz-answer-option.incorrect{box-shadow:none;border-width:4px}}@container quiz-container (width<=480px){.quiz-container{padding:var(--space-3);max-width:100%}.quiz-card{padding:var(--space-3)}.quiz-question-number{font-size:var(--text-lg)}.quiz-question-text{font-size:var(--text-base);padding:var(--space-2)}.quiz-answer-options{gap:var(--space-2)}.quiz-answer-option{padding:var(--space-3);min-height:48px}}@supports not (container-type:inline-size){@media (width<=768px){.quiz-container{padding:var(--space-4);max-width:100%}.quiz-card{padding:var(--space-4)}.quiz-question-text{font-size:var(--text-lg);padding:var(--space-3)}.quiz-answer-option{padding:var(--space-3);min-height:60px}}@media (width<=480px){.quiz-container,.quiz-card{padding:var(--space-3)}.quiz-question-number{font-size:var(--text-lg)}.quiz-question-text{font-size:var(--text-base);padding:var(--space-2)}.quiz-answer-options{gap:var(--space-2)}}}.quiz-app-modal-backdrop{height:100svh;height:calc(var(--vh,1vh) * 100);justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0;overflow:hidden}@container quiz-container (width>=728px){.quiz-app-modal-backdrop{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);align-items:center}}@supports not (container-type:inline-size){@media (width>=768px){.quiz-app-modal-backdrop{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);align-items:center}}}.quiz-app-modal-container{width:100%;max-width:100%;height:calc(100svh - env(safe-area-inset-top,20px));max-height:calc(100svh - env(safe-area-inset-top,20px));height:calc(var(--vh,1vh) * 100 - env(safe-area-inset-top,20px));max-height:calc(var(--vh,1vh) * 100 - env(safe-area-inset-top,20px));-webkit-overflow-scrolling:touch;padding-bottom:env(safe-area-inset-bottom,0);flex-direction:column;display:flex;overflow:hidden;transform:translateZ(0)}@container quiz-container (width>=728px){.quiz-app-modal-container{width:90vw;max-width:48rem;min-height:70vh;max-height:calc(100svh - 4rem);max-height:calc(var(--vh,1vh) * 100 - 4rem);margin:var(--space-8,2rem) auto;padding-bottom:0}}@container quiz-container (width>=984px){.quiz-app-modal-container{width:85vw;max-width:56rem;min-height:75vh;max-height:calc(100svh - 6rem);max-height:calc(var(--vh,1vh) * 100 - 6rem);margin:var(--space-12,3rem) auto}}@supports not (container-type:inline-size){@media (width>=768px){.quiz-app-modal-container{width:90vw;max-width:48rem;min-height:70vh;max-height:calc(100svh - 4rem);max-height:calc(var(--vh,1vh) * 100 - 4rem);margin:var(--space-8,2rem) auto;padding-bottom:0}}@media (width>=1024px){.quiz-app-modal-container{width:85vw;max-width:56rem;min-height:75vh;max-height:calc(100svh - 6rem);max-height:calc(var(--vh,1vh) * 100 - 6rem);margin:var(--space-12,3rem) auto}}}.quiz-app-modal-container .modal-body{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;flex:1;min-height:0;overflow:hidden auto}.quiz-app-modal-container .modal-header{z-index:10;background:var(--surface-card);-webkit-backdrop-filter:blur(20px);flex-shrink:0;position:sticky;top:0}.quiz-app-modal-container .quiz-card,.quiz-app-modal-container .result-card{width:100%;max-width:100%;height:auto;min-height:auto;max-height:none;box-shadow:none;border-radius:0;flex:1;margin:0;overflow:visible}.quiz-app-modal-container .quiz-card-footer{background:var(--surface-card);padding-top:var(--space-4);padding-bottom:max(var(--space-4), env(safe-area-inset-bottom));border-top:1px solid var(--border-color-muted);z-index:5;margin-top:auto;position:sticky;bottom:0}@media (orientation:landscape) and (height<=500px){.quiz-app-modal-container{height:calc(100svh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));max-height:calc(100svh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}}@container quiz-container (width<=700px){@media (orientation:landscape) and (height<=500px){.quiz-app-modal-container .quiz-question-text{font-size:var(--text-base);padding:var(--space-2)}.quiz-app-modal-container .quiz-answer-options{gap:var(--space-2);grid-template-columns:repeat(2,1fr);display:grid}.quiz-app-modal-container .quiz-answer-option{min-height:44px;padding:var(--space-2)}}}@supports (-webkit-touch-callout:none){.quiz-app-modal-backdrop{overscroll-behavior:none;touch-action:none}.quiz-app-modal-container{touch-action:pan-y}.quiz-app-modal-container .modal-body{touch-action:pan-y;-webkit-overflow-scrolling:touch}}@supports (padding:max(0px)){.quiz-container{padding-left:max(var(--space-6), env(safe-area-inset-left));padding-right:max(var(--space-6), env(safe-area-inset-right))}.quiz-result-card{padding-bottom:max(var(--space-8), env(safe-area-inset-bottom))}.quiz-card-footer{padding-bottom:max(var(--space-6), env(safe-area-inset-bottom))}}.quiz-fullscreen{height:100svh;height:calc(var(--vh,1vh) * 100)}@supports (height:100svh){.quiz-fullscreen{height:100svh}}.quiz-container,.quiz-card,.quiz-result-card{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}.quiz-answer-option,.quiz-next-button,.quiz-restart-button,.quiz-close-button,.quiz-hint-button,.quiz-explanation-button{-webkit-tap-highlight-color:transparent}@supports (-webkit-touch-callout:none){.quiz-answer-option{min-height:48px}.quiz-next-button,.quiz-restart-button,.quiz-close-button{min-height:44px}.quiz-hint-button,.quiz-explanation-button{min-height:44px;padding:var(--space-3) var(--space-4)}.quiz-container{text-size-adjust:100%}.quiz-card{transform:translateZ(0)}}@media (hover:none) and (pointer:coarse){.quiz-answer-option{min-height:56px;padding:var(--space-4)}.quiz-answer-option:hover:not(.correct):not(.incorrect){background:var(--surface-card);border-color:var(--border-color-default);transform:none}.quiz-answer-option:active:not(.correct):not(.incorrect){background:var(--surface-interactive);border-color:var(--color-primary);transition:transform .1s;transform:scale(.98)}.quiz-next-button:active,.quiz-restart-button:active,.quiz-close-button:active{transition:transform .1s;transform:scale(.98)}.quiz-next-button,.quiz-restart-button,.quiz-close-button{min-height:48px;padding:var(--space-4) var(--space-6)}}@supports not (gap:1rem){.quiz-answer-options>*+*{margin-top:var(--space-3)}.quiz-stats-grid>*{margin:calc(var(--space-4) / 2)}.quiz-card-footer>*+*,.quiz-actions>*+*{margin-left:var(--space-3)}}@container quiz-container (width<=768px){.quiz-stat-item,.quiz-summary-section{backdrop-filter:blur(10px)}}@supports not (container-type:inline-size){@media (width<=768px){.quiz-stat-item,.quiz-summary-section{backdrop-filter:blur(10px)}}}html.ios-keyboard-visible .quiz-card-footer{background:var(--surface-card);padding-bottom:calc(var(--space-6) + env(safe-area-inset-bottom));border-top:1px solid var(--border-color-muted);margin-top:var(--space-4);z-index:10;position:sticky;bottom:0}@supports (-webkit-touch-callout:none){.quiz-confetti{will-change:transform, opacity;backface-visibility:hidden}.quiz-celebration-effect{contain:strict}}.animate-fade-in{animation:fade-in var(--motion-quick,.2s) var(--ease-emphasized-decel) both}.animate-fade-in-slow{animation:fade-in var(--motion-standard,.3s) var(--ease-emphasized-decel) both}.animate-fade-in-fast{animation:fade-in var(--motion-instant,.1s) var(--ease-emphasized-decel) both}.animate-fly-up{animation:fade-in-up var(--motion-standard,.3s) var(--ease-emphasized-decel) both}.animate-fly-down{animation:fade-in-down var(--motion-standard,.3s) var(--ease-emphasized-decel) both}.animate-fly-left{animation:fade-in-left var(--motion-standard,.3s) var(--ease-emphasized-decel) both}.animate-fly-right{animation:fade-in-right var(--motion-standard,.3s) var(--ease-emphasized-decel) both}.animate-fly-up-quick{animation:fade-in-up var(--motion-quick,.2s) var(--ease-emphasized-decel) both}.animate-fly-down-quick{animation:fade-in-down var(--motion-quick,.2s) var(--ease-emphasized-decel) both}.animate-fly-up-slow{animation:fade-in-up var(--motion-deliberate,.5s) var(--ease-emphasized-decel) both}.animate-scale-in{animation:scale-in var(--motion-standard,.3s) var(--ease-emphasized-decel) both}.animate-scale-in-quick{animation:scale-in var(--motion-quick,.2s) var(--ease-emphasized-decel) both}.animate-scale-in-bounce{animation:scale-in var(--motion-standard,.3s) var(--ease-elastic) both}.animate-bounce-in{animation:bounce-in var(--motion-standard,.3s) var(--ease-elastic) both}.slide-wrapper{transition:grid-template-rows var(--motion-standard,.3s) var(--ease-cubic-out);grid-template-rows:0fr;display:grid}.slide-wrapper.open{grid-template-rows:1fr}.slide-wrapper>*{overflow:hidden}.slide-wrapper-quick{transition:grid-template-rows var(--motion-quick,.2s) var(--ease-cubic-out);grid-template-rows:0fr;display:grid}.slide-wrapper-quick.open{grid-template-rows:1fr}.slide-wrapper-quick>*{overflow:hidden}.slide-wrapper-slow{transition:grid-template-rows var(--motion-deliberate,.5s) var(--ease-cubic-out);grid-template-rows:0fr;display:grid}.slide-wrapper-slow.open{grid-template-rows:1fr}.slide-wrapper-slow>*{overflow:hidden}.animate-stagger-fade{animation:fade-in var(--motion-quick,.2s) var(--ease-emphasized-decel) backwards;animation-delay:calc(var(--stagger-index,0) * var(--stagger-standard,50ms))}.animate-stagger-fly-up{animation:fade-in-up var(--motion-standard,.3s) var(--ease-emphasized-decel) backwards;animation-delay:calc(var(--stagger-index,0) * var(--stagger-standard,50ms))}.animate-stagger-scale{animation:scale-in var(--motion-standard,.3s) var(--ease-emphasized-decel) backwards;animation-delay:calc(var(--stagger-index,0) * var(--stagger-standard,50ms))}.animate-fade-toggle:not(.is-closing){opacity:1;transition:opacity var(--motion-quick,.2s) var(--ease-emphasized-decel);@starting-style{opacity:0}}.animate-fade-toggle.is-closing{opacity:0;transition:opacity var(--motion-quick,.2s) var(--ease-emphasized-accel)}.animate-fly-toggle:not(.is-closing){opacity:1;transition:opacity var(--motion-standard,.3s) var(--ease-emphasized-decel), transform var(--motion-standard,.3s) var(--ease-emphasized-decel);transform:translateY(0);@starting-style{opacity:0;transform:translateY(20px)}}.animate-fly-toggle.is-closing{opacity:0;transition:opacity var(--motion-quick,.2s) var(--ease-emphasized-accel), transform var(--motion-quick,.2s) var(--ease-emphasized-accel);transform:translateY(20px)}.animate-scale-toggle:not(.is-closing){opacity:1;transition:opacity var(--motion-standard,.3s) var(--ease-emphasized-decel), transform var(--motion-standard,.3s) var(--ease-emphasized-decel);transform:scale(1);@starting-style{opacity:0;transform:scale(.9)}}.animate-scale-toggle.is-closing{opacity:0;transition:opacity var(--motion-quick,.2s) var(--ease-emphasized-accel), transform var(--motion-quick,.2s) var(--ease-emphasized-accel);transform:scale(.9)}.animate-fade-in-d100{animation:fade-in var(--motion-quick,.2s) var(--ease-emphasized-decel) .1s both}.animate-fade-in-d200{animation:fade-in var(--motion-quick,.2s) var(--ease-emphasized-decel) .2s both}.animate-fade-in-d300{animation:fade-in var(--motion-standard,.3s) var(--ease-emphasized-decel) .3s both}.animate-fly-up-d100{animation:fade-in-up var(--motion-standard,.3s) var(--ease-emphasized-decel) .1s both}.animate-fly-up-d200{animation:fade-in-up var(--motion-standard,.3s) var(--ease-emphasized-decel) .2s both}.animate-fly-up-d300{animation:fade-in-up var(--motion-standard,.3s) var(--ease-emphasized-decel) .3s both}@media (prefers-reduced-motion:reduce){.animate-fade-in,.animate-fade-in-slow,.animate-fade-in-fast,.animate-fly-up,.animate-fly-down,.animate-fly-left,.animate-fly-right,.animate-fly-up-quick,.animate-fly-down-quick,.animate-fly-up-slow,.animate-scale-in,.animate-scale-in-quick,.animate-scale-in-bounce,.animate-bounce-in,.animate-stagger-fade,.animate-stagger-fly-up,.animate-stagger-scale,.animate-fade-in-d100,.animate-fade-in-d200,.animate-fade-in-d300,.animate-fly-up-d100,.animate-fly-up-d200,.animate-fly-up-d300{opacity:1!important;animation:none!important;transform:none!important}.slide-wrapper,.slide-wrapper-quick,.slide-wrapper-slow{grid-template-rows:0fr;transition:none!important}.slide-wrapper.open,.slide-wrapper-quick.open,.slide-wrapper-slow.open{grid-template-rows:1fr}.animate-fade-toggle,.animate-fly-toggle,.animate-scale-toggle{transition:none!important;@starting-style{opacity:1;transform:none}}}@supports not selector(:starting-style){.animate-fade-toggle:not(.is-closing){animation:fade-in var(--motion-quick,.2s) var(--ease-emphasized-decel) both}.animate-fly-toggle:not(.is-closing){animation:fade-in-up var(--motion-standard,.3s) var(--ease-emphasized-decel) both}.animate-scale-toggle:not(.is-closing){animation:scale-in var(--motion-standard,.3s) var(--ease-emphasized-decel) both}}@keyframes restoredShimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.doc-pill--restored{background-image:linear-gradient(90deg, transparent 0%, color-mix(in oklch, var(--color-primary-500) 8%, transparent) 50%, transparent 100%);animation:restoredShimmer var(--progress-shimmer-duration,1.5s) ease-in-out 1;background-size:200% 100%}@keyframes stalePulse{0%,to{box-shadow:0 0 0 0 color-mix(in oklch, var(--color-warning-500) 20%, transparent)}50%{box-shadow:0 0 0 3px color-mix(in oklch, var(--color-warning-500) 0%, transparent)}}.doc-pill--stale{animation:2s ease-in-out 2 stalePulse;border-color:color-mix(in oklch, var(--color-warning-500) 30%, transparent)!important}@keyframes ringFill{0%{stroke-dashoffset:var(--ring-circumference)}to{stroke-dashoffset:var(--ring-target-offset)}}.progress-ring--animate .progress-fill{animation:ringFill .8s var(--ease-default,cubic-bezier(.4, 0, .2, 1)) forwards}@keyframes masteryBurst{0%{filter:brightness();transform:scale(1)}30%{filter:brightness(1.2);transform:scale(1.15)}60%{transform:scale(.95)}to{filter:brightness();transform:scale(1)}}.mastery-badge--celebrate{animation:masteryBurst .5s var(--ease-bounce,cubic-bezier(.34, 1.56, .64, 1))}@keyframes staggerOut{to{opacity:0;transform:translate(-8px)scale(.95)}}.doc-pill--clearing{animation:staggerOut var(--duration-normal,.2s) ease-in forwards}.doc-pill--clearing:first-child{animation-delay:0s}.doc-pill--clearing:nth-child(2){animation-delay:50ms}.doc-pill--clearing:nth-child(3){animation-delay:.1s}.doc-pill--clearing:nth-child(4){animation-delay:.15s}.doc-pill--clearing:nth-child(5){animation-delay:.2s}@media (prefers-reduced-motion:reduce){.doc-pill--restored,.doc-pill--stale,.progress-ring--animate .progress-fill,.mastery-badge--celebrate,.doc-pill--clearing{animation:none!important}}:root{--gradient-angle:135deg;--gradient-angle-reversed:315deg;--gradient-angle-horizontal:90deg;--gradient-angle-vertical:180deg;--gradient-blend-normal:normal;--gradient-blend-multiply:multiply;--gradient-blend-screen:screen;--gradient-blend-overlay:overlay;--gradient-primary:linear-gradient(var(--gradient-angle), var(--color-primary-500), var(--theme-color-primary-dark));--gradient-secondary:linear-gradient(var(--gradient-angle), var(--color-secondary-500), var(--theme-color-secondary-dark));--gradient-accent:linear-gradient(var(--gradient-angle), var(--color-accent-500), var(--theme-color-accent-dark));--gradient-primary-accent:linear-gradient(var(--gradient-angle), var(--color-primary-500), var(--color-accent-500));--gradient-primary-secondary:linear-gradient(var(--gradient-angle), var(--color-primary-500), var(--color-secondary-500));--gradient-secondary-accent:linear-gradient(var(--gradient-angle), var(--color-secondary-500), var(--color-accent-500));--gradient-tricolor:linear-gradient(var(--gradient-angle), var(--color-primary-500), var(--color-secondary-500), var(--color-accent-500))}@supports (color:color-mix(in oklch, red 50%, blue)){:root{--gradient-start:var(--color-primary-500);--gradient-mid:color-mix(in oklch, var(--color-primary-500) 50%, var(--color-secondary-500) 50%);--gradient-end:var(--color-secondary-500);--gradient-material-primary:linear-gradient(var(--gradient-angle), var(--color-primary-500), color-mix(in oklch, var(--color-primary-500) 70%, var(--theme-color-primary-dark) 30%), var(--theme-color-primary-dark));--gradient-surface-light:linear-gradient(var(--gradient-angle), color-mix(in oklch, var(--surface-background) 98%, var(--color-primary-500) 2%), color-mix(in oklch, var(--surface-background) 95%, var(--color-primary-500) 5%));--gradient-surface-hover:linear-gradient(var(--gradient-angle), color-mix(in oklch, var(--surface-card) 95%, var(--color-primary-500) 5%), color-mix(in oklch, var(--surface-card) 90%, var(--color-primary-500) 10%));--gradient-glass:linear-gradient(var(--gradient-angle), color-mix(in srgb, var(--color-primary-500) 10%, transparent 90%), color-mix(in srgb, var(--color-primary-500) 5%, transparent 95%));--gradient-focus-ring:radial-gradient(circle at center, color-mix(in srgb, var(--color-primary-500) 50%, transparent 50%), color-mix(in srgb, var(--color-primary-500) 25%, transparent 75%));--gradient-animated-start:var(--color-primary-500);--gradient-animated-end:var(--color-secondary-500)}[data-theme=dark],:where(.dark){--gradient-surface-light:linear-gradient(var(--gradient-angle), color-mix(in oklch, var(--surface-background) 98%, var(--color-primary-500) 2%), color-mix(in oklch, var(--surface-background) 96%, var(--color-primary-500) 4%));--gradient-glass:linear-gradient(var(--gradient-angle), color-mix(in srgb, var(--color-primary-500) 15%, transparent 85%), color-mix(in srgb, var(--color-primary-500) 8%, transparent 92%))}}:root{--gradient-overlay-light:linear-gradient(to top, #ffffffb3, #fff0);--gradient-overlay-dark:linear-gradient(to top, #000000b3, #0000);--gradient-mask-fade-right:linear-gradient(to right, black, transparent);--gradient-mask-fade-bottom:linear-gradient(to bottom, black, transparent);--gradient-shimmer-light:linear-gradient(90deg, #fff0 0%, #ffffff80 50%, #fff0 100%);--gradient-shimmer-dark:linear-gradient(90deg, #fff0 0%, #fff3 50%, #fff0 100%)}@supports (color:color(display-p3 0 0 0)){@media (color-gamut:p3){:root{--gradient-vibrant-primary:linear-gradient(var(--gradient-angle), color(display-p3 .1 .5 1), color(display-p3 0 .3 .8));--gradient-vibrant-accent:linear-gradient(var(--gradient-angle), color(display-p3 .1 .9 .8), color(display-p3 .1 .7 .6));--gradient-neon:linear-gradient(var(--gradient-angle), color(display-p3 .9 .1 .5), color(display-p3 .7 .1 .7))}}}@supports (background:conic-gradient(red, blue)){:root{--gradient-conic-primary:conic-gradient(from var(--gradient-angle), var(--theme-color-primary-dark), var(--color-primary-500), var(--theme-color-primary-light), var(--color-primary-500));--gradient-color-wheel:conic-gradient(from 0deg, var(--color-primary-500), var(--color-secondary-500), var(--color-accent-500), var(--color-primary-500));--gradient-donut:conic-gradient(from 90deg, var(--color-primary-500), var(--color-secondary-500), var(--color-accent-500), var(--color-primary-500))}}.text-primary{color:var(--color-primary-500,var(--color-primary))}.text-primary-light{color:var(--theme-color-primary-light)}.text-primary-dark{color:var(--theme-color-primary-dark)}.text-primary-high-contrast{color:var(--theme-color-primary-high-contrast)}.text-primary-low-contrast{color:var(--theme-color-primary-low-contrast)}.text-secondary{color:var(--color-secondary-500,var(--color-secondary))}.text-secondary-light{color:var(--theme-color-secondary-light)}.text-secondary-dark{color:var(--theme-color-secondary-dark)}.text-secondary-high-contrast{color:var(--theme-color-secondary-high-contrast)}.text-secondary-low-contrast{color:var(--theme-color-secondary-low-contrast)}.text-accent{color:var(--color-accent-500,var(--color-accent))}.text-accent-light{color:var(--theme-color-accent-light)}.text-accent-dark{color:var(--theme-color-accent-dark)}.text-accent-high-contrast{color:var(--theme-color-accent-high-contrast)}.text-accent-low-contrast{color:var(--theme-color-accent-low-contrast)}.text-on-primary{color:var(--text-on-primary)}.text-on-secondary{color:var(--text-on-secondary)}.text-on-accent{color:var(--text-on-accent)}.text-on-surface{color:var(--text-on-surface)}.text-on-background{color:var(--text-primary)}.text-high-contrast{color:var(--text-high-contrast)}.text-success{color:var(--color-success)}.text-error{color:var(--color-error)}.text-warning{color:var(--color-warning)}.text-info{color:var(--color-info)}.bg-primary{background-color:var(--color-primary-500,var(--color-primary))}.bg-primary-light{background-color:var(--theme-color-primary-light)}.bg-primary-dark{background-color:var(--theme-color-primary-dark)}.bg-primary-high-contrast{background-color:var(--theme-color-primary-high-contrast)}.bg-primary-low-contrast{background-color:var(--theme-color-primary-low-contrast)}.bg-secondary{background-color:var(--color-secondary-500,var(--color-secondary))}.bg-secondary-light{background-color:var(--theme-color-secondary-light)}.bg-secondary-dark{background-color:var(--theme-color-secondary-dark)}.bg-secondary-high-contrast{background-color:var(--theme-color-secondary-high-contrast)}.bg-secondary-low-contrast{background-color:var(--theme-color-secondary-low-contrast)}.bg-accent{background-color:var(--color-accent-500,var(--color-accent))}.bg-accent-light{background-color:var(--theme-color-accent-light)}.bg-accent-dark{background-color:var(--theme-color-accent-dark)}.bg-accent-high-contrast{background-color:var(--theme-color-accent-high-contrast)}.bg-accent-low-contrast{background-color:var(--theme-color-accent-low-contrast)}.bg-surface,.bg-background{background-color:var(--surface-background)}.bg-surface-card{background-color:var(--surface-card)}.bg-surface-card-hover{background-color:var(--card-background-hover)}.bg-surface-input{background-color:var(--surface-input)}.bg-success{background-color:var(--color-success)}.bg-error{background-color:var(--color-error)}.bg-warning{background-color:var(--color-warning)}.bg-info{background-color:var(--color-info)}.border-primary{border-color:var(--color-primary-500,var(--color-primary))}.border-primary-light{border-color:var(--theme-color-primary-light)}.border-primary-dark{border-color:var(--theme-color-primary-dark)}.border-primary-high-contrast{border-color:var(--theme-color-primary-high-contrast)}.border-primary-low-contrast{border-color:var(--theme-color-primary-low-contrast)}.border-secondary{border-color:var(--color-secondary-500,var(--color-secondary))}.border-secondary-light{border-color:var(--theme-color-secondary-light)}.border-secondary-dark{border-color:var(--theme-color-secondary-dark)}.border-accent{border-color:var(--color-accent-500,var(--color-accent))}.border-accent-light{border-color:var(--theme-color-accent-light)}.border-accent-dark{border-color:var(--theme-color-accent-dark)}.border-subtle{border-color:var(--border-subtle)}.border-default{border-color:var(--border-default)}.border-strong{border-color:var(--border-strong)}.border-success{border-color:var(--color-success)}.border-error{border-color:var(--color-error)}.border-warning{border-color:var(--color-warning)}.border-info{border-color:var(--color-info)}.bg-gradient-primary{background-image:var(--gradient-primary)}.bg-gradient-secondary{background-image:var(--gradient-secondary)}.bg-gradient-accent{background-image:var(--gradient-accent)}.bg-gradient-primary-secondary{background-image:var(--gradient-primary-secondary)}.bg-gradient-primary-accent{background-image:var(--gradient-primary-accent)}.bg-gradient-secondary-accent{background-image:var(--gradient-secondary-accent)}.bg-gradient-tricolor{background-image:var(--gradient-tricolor)}.bg-gradient-surface-light{background-image:var(--gradient-surface-light)}.bg-gradient-surface-hover{background-image:var(--gradient-surface-hover)}.bg-gradient-glass{background-image:var(--gradient-glass)}.bg-gradient-overlay-light{background-image:var(--gradient-overlay-light)}.bg-gradient-overlay-dark{background-image:var(--gradient-overlay-dark)}@supports (background:conic-gradient(red, blue)){.bg-gradient-conic-primary{background-image:var(--gradient-conic-primary)}.bg-gradient-color-wheel{background-image:var(--gradient-color-wheel)}.bg-gradient-donut{background-image:var(--gradient-donut)}}@supports (color:color(display-p3 0 0 0)){@media (color-gamut:p3){.bg-gradient-vibrant-primary{background-image:var(--gradient-vibrant-primary)}.bg-gradient-vibrant-accent{background-image:var(--gradient-vibrant-accent)}.bg-gradient-neon{background-image:var(--gradient-neon)}}}.text-gradient-primary{background-image:var(--gradient-primary);color:#0000;text-fill-color:transparent;-webkit-text-fill-color:transparent;background-clip:text}.text-gradient-secondary{background-image:var(--gradient-secondary);color:#0000;text-fill-color:transparent;-webkit-text-fill-color:transparent;background-clip:text}.text-gradient-primary-secondary{background-image:var(--gradient-primary-secondary);color:#0000;text-fill-color:transparent;-webkit-text-fill-color:transparent;background-clip:text}@supports (color:color(display-p3 0 0 0)){@media (color-gamut:p3){.text-gradient-vibrant{background-image:var(--gradient-vibrant-primary);color:#0000;text-fill-color:transparent;-webkit-text-fill-color:transparent;background-clip:text}}}.shadow-primary{box-shadow:0 4px 6px var(--shadow-color), 0 0 0 1px var(--theme-color-primary-border)}.shadow-secondary{box-shadow:0 4px 6px var(--shadow-color), 0 0 0 1px var(--theme-color-secondary-border)}.shadow-accent{box-shadow:0 4px 6px var(--shadow-color), 0 0 0 1px var(--theme-color-accent-border)}.shadow-glow-primary{box-shadow:0 0 15px var(--theme-color-primary-focus)}.shadow-glow-secondary{box-shadow:0 0 15px var(--theme-color-secondary-focus)}.shadow-glow-accent{box-shadow:0 0 15px var(--theme-color-accent-focus)}.hover-bg-primary:hover{background-color:var(--theme-color-primary-hover,var(--theme-color-primary-dark))}.hover-bg-primary-light:hover{background-color:var(--theme-color-primary-light-hover,var(--theme-color-primary-light))}.hover-bg-secondary:hover{background-color:var(--theme-color-secondary-hover,var(--theme-color-secondary-dark))}.hover-bg-accent:hover{background-color:var(--theme-color-accent-hover,var(--theme-color-accent-dark))}.hover-bg-surface:hover,.hover-bg-surface-hover:hover{background-color:var(--card-background-hover)}.hover-text-primary:hover{color:var(--color-primary-500)}.hover-text-high-contrast:hover{color:var(--text-primary)}.hover-text-accent:hover{color:var(--color-accent-500)}.hover-text-secondary:hover{color:var(--text-secondary)}.hover-shadow-primary:hover{box-shadow:var(--shadow-glow-primary,0 0 10px rgba(var(--color-primary-500), .5))}.hover-shadow-secondary:hover{box-shadow:var(--shadow-glow-secondary,0 0 10px rgba(var(--secondary-color), .5))}.hover-shadow-accent:hover{box-shadow:var(--shadow-glow-accent,0 0 10px rgba(var(--accent-color), .5))}.focus-outline-primary:focus{outline:2px solid var(--theme-color-primary-focus)}.focus-outline-secondary:focus{outline:2px solid var(--theme-color-secondary-focus)}.focus-outline-accent:focus{outline:2px solid var(--theme-color-accent-focus)}.active-bg-primary:active{background-color:var(--theme-color-primary-active,var(--theme-color-primary-dark))}.active-bg-secondary:active{background-color:var(--theme-color-secondary-active,var(--theme-color-secondary-dark))}.active-bg-accent:active{background-color:var(--theme-color-accent-active,var(--theme-color-accent-dark))}.btn-theme-primary{background-color:var(--color-primary-500);color:var(--text-on-primary);border-color:var(--color-primary-500);transition:background-color var(--theme-duration-quick) var(--ease-smooth), border-color var(--theme-duration-quick) var(--ease-smooth), transform var(--theme-duration-quick) var(--ease-snappy), box-shadow var(--theme-duration-quick) var(--ease-smooth);transform:translateY(0);box-shadow:0 2px 4px #0000000d}.btn-theme-primary:hover{background-color:var(--theme-color-primary-dark);border-color:var(--theme-color-primary-dark);transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.btn-theme-primary:active{background-color:var(--theme-color-primary-high-contrast);transform:translateY(0);box-shadow:0 1px 2px #00000014}.btn-theme-secondary{background-color:var(--color-secondary-500);color:var(--text-on-secondary);border-color:var(--color-secondary-500);transition:background-color var(--theme-duration-quick) var(--ease-smooth), border-color var(--theme-duration-quick) var(--ease-smooth), transform var(--theme-duration-quick) var(--ease-snappy), box-shadow var(--theme-duration-quick) var(--ease-smooth);transform:translateY(0);box-shadow:0 2px 4px #00000008}.btn-theme-secondary:hover{background-color:var(--theme-color-secondary-dark);border-color:var(--theme-color-secondary-dark);transform:translateY(-1px);box-shadow:0 4px 10px #00000014}.btn-theme-secondary:active{transform:translateY(0);box-shadow:0 1px 2px #0000000d}.btn-theme-success{background-color:var(--color-success);color:var(--text-on-primary);border-color:var(--color-success);transition:background-color var(--theme-duration-quick) var(--ease-smooth), border-color var(--theme-duration-quick) var(--ease-smooth), transform var(--theme-duration-quick) var(--ease-snappy), box-shadow var(--theme-duration-quick) var(--ease-smooth);transform:translateY(0);box-shadow:0 2px 4px #0000000d}.btn-theme-success:hover{background-color:var(--color-success-dark);border-color:var(--color-success-dark);transform:translateY(-1px);box-shadow:0 4px 12px #10b98126}.btn-theme-success:active{transform:translateY(0);box-shadow:0 1px 2px #00000014}.btn-theme-ghost{color:var(--text-primary);transition:background-color var(--theme-duration-quick) var(--ease-smooth), color var(--theme-duration-quick) var(--ease-smooth), transform var(--theme-duration-micro) var(--ease-snappy);background-color:#0000;border-color:#0000;transform:scale(1)}.btn-theme-ghost:hover{background-color:var(--card-background-hover);color:var(--color-primary-500);transform:scale(1.02)}.btn-theme-ghost:active{transform:scale(.98)}.btn-theme-outline{color:var(--color-primary-500);border:1px solid var(--color-primary-500);transition:background-color var(--theme-duration-standard) var(--ease-smooth), color var(--theme-duration-standard) var(--ease-smooth), border-color var(--theme-duration-standard) var(--ease-smooth), box-shadow var(--theme-duration-quick) var(--ease-smooth);box-shadow:none;background-color:#0000}.btn-theme-outline:hover{background-color:var(--color-primary-500);color:var(--text-on-primary);box-shadow:0 4px 12px #0000001a}.btn-theme-outline:active{box-shadow:0 1px 2px #00000014}.btn-icon-theme{color:var(--text-secondary);transition:background-color var(--theme-duration-quick) var(--ease-smooth), color var(--theme-duration-quick) var(--ease-smooth), transform var(--theme-duration-micro) var(--ease-snappy);background-color:#0000;transform:scale(1)}.btn-icon-theme:hover{background-color:var(--card-background-hover);color:var(--text-primary);transform:scale(1.05)}.btn-icon-theme:active{transform:scale(.95)}.hover-bg-gray-50,.hover\:bg-gray-50,.dark\:hover\:bg-gray-800:hover,.dark\:hover\:bg-gray-700:hover{background-color:var(--card-background-hover)}.bg-emerald-700,.bg-emerald-800{background-color:var(--color-success)}.hover\:bg-emerald-800:hover{background-color:var(--color-success-dark)}.bg-blue-600{background-color:var(--color-primary-500)}.hover\:bg-blue-700:hover{background-color:var(--theme-color-primary-dark)}.text-gray-100{color:var(--text-on-primary)}.transition,.transition-all{transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform;transition-duration:var(--duration-normal);transition-timing-function:var(--ease-out)}.transition-colors{transition:background-color var(--duration-normal) var(--ease-out), border-color var(--duration-normal) var(--ease-out), color var(--duration-normal) var(--ease-out), fill var(--duration-normal) var(--ease-out), stroke var(--duration-normal) var(--ease-out)}.transition-opacity{transition:opacity var(--duration-normal) var(--ease-out)}.transition-transform{transition:transform var(--duration-normal) var(--ease-out)}.transition-quick{transition:opacity var(--theme-transition-quick) var(--ease-out), transform var(--theme-transition-quick) var(--ease-out)}.transition-none{transition:none}.duration-instant{transition-duration:var(--theme-duration-instant)}.duration-quick{transition-duration:var(--theme-duration-quick)}.duration-standard{transition-duration:var(--theme-duration-standard)}.duration-emphasis{transition-duration:var(--theme-duration-emphasis)}.ease-theme{transition-timing-function:var(--ease-out)}.ease-playful{transition-timing-function:var(--ease-playful)}.ease-gentle{transition-timing-function:var(--ease-gentle)}.hover\:text-primary:hover{color:var(--color-primary-500)}.hover\:text-primary-600:hover{color:var(--color-primary-600,var(--color-primary-600))}.hover\:text-secondary:hover{color:var(--color-secondary-500)}.hover\:bg-primary:hover{background-color:var(--color-primary-500)}.hover\:bg-secondary:hover{background-color:var(--color-secondary-500)}.hover\:bg-neutral-100:hover{background-color:var(--color-neutral-100,var(--color-neutral-100))}.hover\:bg-neutral-200:hover{background-color:var(--color-neutral-200,var(--color-neutral-200))}.text-gray-300{color:var(--color-neutral-300,var(--color-neutral-300))}.text-gray-400{color:var(--color-neutral-400,var(--color-neutral-400))}.text-gray-500{color:var(--color-neutral-500,var(--color-neutral-500))}.text-gray-600{color:var(--color-neutral-600,var(--color-neutral-600))}.text-gray-700{color:var(--color-neutral-700,var(--color-neutral-700))}.text-gray-800{color:var(--color-neutral-800,var(--color-neutral-800))}.text-gray-900{color:var(--color-neutral-900,var(--color-neutral-900))}.bg-gray-50{background-color:var(--color-neutral-50)}.bg-gray-100{background-color:var(--color-neutral-100,var(--color-neutral-100))}.bg-gray-200{background-color:var(--color-neutral-200,var(--color-neutral-200))}.bg-gray-300{background-color:var(--color-neutral-300,var(--color-neutral-300))}.grid-parent{gap:var(--space-4);grid-template-rows:auto 1fr auto;grid-template-columns:[full-start]1fr[content-start]repeat(10,1fr)[content-end]1fr[full-end];display:grid}.subgrid-item{grid-template-columns:subgrid;grid-template-rows:subgrid;grid-column:content-start/content-end;display:grid}.form-grid{gap:var(--space-3);grid-template-columns:[label]auto[input]1fr;display:grid}.form-section{grid-template-columns:subgrid;gap:inherit;grid-column:label/span 2;display:grid;& .form-label{text-align:right;grid-column:label}& .form-input{grid-column:input}& .form-full{grid-column:label/span 2}}.card-grid{gap:var(--space-6);grid-template-rows:[card-start]auto[card-content]1fr[card-footer]auto[card-end];grid-template-columns:repeat(auto-fit,minmax(300px,1fr));display:grid}.card-subgrid{grid-template-rows:subgrid;grid-row:card-start/card-end;display:grid;& .card-header{grid-row:card-start}& .card-body{grid-row:card-content}& .card-footer{grid-row:card-footer}}@supports (grid-template-rows:masonry){.masonry-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));grid-template-rows:masonry;gap:var(--space-4,1rem);masonry-auto-flow:pack;display:grid}.masonry-columns{grid-template-columns:repeat(4,1fr);grid-template-rows:masonry;gap:var(--space-4);align-tracks:stretch;display:grid}}@supports not (grid-template-rows:masonry){.masonry-fallback{-webkit-column-count:4;column-count:4;-webkit-column-gap:var(--space-4);column-gap:var(--space-4);&>*{break-inside:avoid;margin-bottom:var(--space-4)}}@media (width<=1200px){.masonry-fallback{-webkit-column-count:3;column-count:3}}@media (width<=900px){.masonry-fallback{-webkit-column-count:2;column-count:2}}@media (width<=600px){.masonry-fallback{-webkit-column-count:1;column-count:1}}}@supports (display:grid-lanes){.grid-lanes{display:grid-lanes}.grid-lanes-auto{display:grid-lanes;gap:var(--space-4);flow-tolerance:1em;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.grid-lanes-sm{display:grid-lanes;gap:var(--space-3);flow-tolerance:.75em;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.grid-lanes-lg{display:grid-lanes;gap:var(--space-6);flow-tolerance:1.5em;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.grid-lanes-dense{display:grid-lanes;gap:var(--space-4);flow-tolerance:.25em;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.flow-tolerance-tight{flow-tolerance:.25em}.flow-tolerance-normal{flow-tolerance:1em}.flow-tolerance-loose{flow-tolerance:2em}}.magazine-layout{gap:var(--space-4);grid-template-columns:repeat(12,1fr);grid-auto-rows:minmax(100px,auto);display:grid;& .article-featured{grid-area:1/1/4/8}& .sidebar{grid-area:1/8/3/13}& .article-regular{grid-area:span 2/span 4}& .article-small{grid-area:span 1/span 3}}.dashboard-grid{grid-template-rows:[header]auto[content]1fr[footer]auto;grid-template-columns:[nav]250px[main]1fr[aside]300px;gap:0;min-height:100dvh;display:grid;& .dashboard-nav{grid-area:header/nav/footer}& .dashboard-header{grid-area:header/main/header/aside}& .dashboard-content{grid-area:content/main;grid-template-columns:subgrid;gap:var(--space-4);padding:var(--space-4);grid-template-rows:repeat(auto-fit,minmax(200px,auto));display:grid}& .dashboard-aside{grid-area:content/aside}}.portfolio-grid{gap:var(--space-3);grid-template-columns:repeat(6,1fr);grid-auto-rows:200px;display:grid;& .portfolio-item{&.large{grid-area:span 2/span 3}&.medium{grid-area:span 2/span 2}&.small{grid-area:span 1/span 1}&.wide{grid-area:span 1/span 4}&.tall{grid-area:span 3/span 2}}}.subgrid-cols{grid-template-columns:subgrid;display:grid}.subgrid-rows{grid-template-rows:subgrid;display:grid}.subgrid-both{grid-template-columns:subgrid;grid-template-rows:subgrid;display:grid}.col-span-1{grid-column:span 1}.col-span-2{grid-column:span 2}.col-span-3{grid-column:span 3}.col-span-4{grid-column:span 4}.col-span-5{grid-column:span 5}.col-span-6{grid-column:span 6}.col-span-full{grid-column:1/-1}.row-span-1{grid-row:span 1}.row-span-2{grid-row:span 2}.row-span-3{grid-row:span 3}.row-span-4{grid-row:span 4}.row-span-5{grid-row:span 5}.row-span-6{grid-row:span 6}.row-span-full{grid-row:1/-1}.place-center{place-items:center}.place-start{place-items:start}.place-end{place-items:end}.place-stretch{place-items:stretch stretch}.grid-flow-row{grid-auto-flow:row}.grid-flow-col{grid-auto-flow:column}.grid-flow-dense{grid-auto-flow:dense}.grid-flow-col-dense{grid-auto-flow:column dense}.responsive-grid{container-type:inline-size;& .grid-container{gap:var(--space-4);display:grid;@container (width>=1200px){grid-template-columns:repeat(4,1fr)}@container (width>=900px) and (width<=1199px){grid-template-columns:repeat(3,1fr)}@container (width>=600px) and (width<=899px){grid-template-columns:repeat(2,1fr)}@container (width<=599px){grid-template-columns:1fr}}}.auto-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));display:grid}.fluid-grid{gap:clamp(var(--space-4,1rem), 2vw, var(--space-8,2rem));grid-template-columns:repeat(auto-fit,minmax(clamp(200px,25vw,400px),1fr));display:grid}.animated-grid{transition:grid-template-columns .5s ease-out;display:grid;&[data-layout=compact]{grid-template-columns:repeat(6,1fr)}&[data-layout=normal]{grid-template-columns:repeat(4,1fr)}&[data-layout=expanded]{grid-template-columns:repeat(3,1fr)}&>*{transition:transform .5s ease-out}}@supports not (grid-template-rows:subgrid){.subgrid-fallback{grid-template-columns:inherit;gap:inherit;display:grid}.form-section-fallback{gap:var(--space-3);grid-template-columns:150px 1fr;align-items:center;display:grid}}.has-subgrid{@supports (grid-template-rows:subgrid){--subgrid-support:1}}.has-masonry{@supports (grid-template-rows:masonry){--masonry-support:1}}.grid-enhance{gap:var(--space-4,1rem);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));display:grid;@supports (grid-template-rows:subgrid){grid-template-rows:auto 1fr auto;&>*{grid-template-rows:subgrid;grid-row:span 3;display:grid}}@supports (grid-template-rows:masonry){grid-template-rows:masonry}}.content-grid{gap:var(--space-4);display:grid;container:content-grid/inline-size}@container content-grid (width<=400px){.content-grid{grid-template-columns:1fr}.content-grid>*{min-width:0}.card,[data-component=card]{padding:var(--space-3)}}@container content-grid (width>=401px) and (width<=800px){.content-grid{grid-template-columns:repeat(2,1fr)}.content-grid-full{grid-column:1/-1}.card,[data-component=card]{padding:var(--space-4)}}@container content-grid (width>=801px) and (width<=1200px){.content-grid{grid-template-columns:repeat(3,1fr)}.content-grid-full{grid-column:1/-1}.content-grid-2{grid-column:span 2}.card,[data-component=card]{padding:var(--space-5)}}@container content-grid (width>=1201px){.content-grid{grid-template-columns:repeat(4,1fr)}.content-grid-full{grid-column:1/-1}.content-grid-2{grid-column:span 2}.content-grid-3{grid-column:span 3}.card,[data-component=card]{padding:var(--space-6)}}.card-grid-responsive{gap:var(--space-4);display:grid;container:card-grid/inline-size}@container card-grid (width<=500px){.card-grid-responsive{grid-template-columns:1fr}.card-grid-item{aspect-ratio:4/3}}@container card-grid (width>=501px) and (width<=900px){.card-grid-responsive{grid-template-columns:repeat(2,1fr)}.card-grid-item{aspect-ratio:16/10}}@container card-grid (width>=901px){.card-grid-responsive{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.card-grid-item{aspect-ratio:16/9}}.masonry-adaptive{gap:var(--space-4);display:grid;container:masonry-container/inline-size}@container masonry-container (width<=500px){.masonry-adaptive{grid-template-columns:1fr}}@container masonry-container (width>=501px) and (width<=900px){.masonry-adaptive{grid-template-rows:auto;grid-template-columns:repeat(2,1fr);& .masonry-item.tall{grid-row:span 2}}}@container masonry-container (width>=901px){.masonry-adaptive{grid-template-rows:auto;grid-template-columns:repeat(3,1fr);& .masonry-item.tall{grid-row:span 2}& .masonry-item.wide{grid-column:span 2}& .masonry-item.featured{grid-area:span 2/span 2}}}.dashboard-adaptive{container:dashboard-layout/inline-size}@container dashboard-layout (width<=700px){.dashboard-adaptive{grid-template-rows:auto;grid-template-columns:1fr;display:grid}.dashboard-sidebar{grid-area:auto/1;max-height:300px;overflow-y:auto}.dashboard-content{grid-area:auto/1}}@container dashboard-layout (width>=701px) and (width<=1100px){.dashboard-adaptive{gap:var(--space-4);grid-template-columns:200px 1fr;display:grid}.dashboard-sidebar{grid-area:1/1/-1}.dashboard-content{grid-area:1/2}}@container dashboard-layout (width>=1101px){.dashboard-adaptive{gap:var(--space-6);grid-template-columns:250px 1fr 300px;display:grid}.dashboard-sidebar{grid-area:1/1/-1}.dashboard-content{grid-area:1/2/-1}.dashboard-aside{grid-area:1/3}}.password-strength{margin-top:var(--space-2,.5rem)}.strength-bar{border-radius:var(--shape-tooltip,2px);background-color:var(--form-border-color,var(--color-neutral-200));height:4px;overflow:hidden}.strength-fill{border-radius:var(--shape-tooltip,2px);height:100%;transition:width .3s ease-in-out,background-color .3s ease-in-out}.validation-message{animation:.2s ease-in-out fadeInUp}@keyframes fadeInUp{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.submit-button:disabled{cursor:not-allowed;opacity:.6}.form-input:focus{box-shadow:0 0 0 3px var(--form-focus-ring-color);outline:2px solid #0000}.password-field-container{position:relative}.password-toggle{cursor:pointer;color:var(--form-placeholder-color);background:0 0;border:none;transition:color .2s ease-in-out;position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}.password-toggle:hover{color:var(--form-text-color)}.password-toggle:focus{color:var(--form-focus-ring-color);outline:2px solid #0000}@supports selector(:user-valid){:root{--supports-user-pseudo-classes:1}}@supports not selector(:user-valid){:root{--supports-user-pseudo-classes:0}.form-input:not(:placeholder-shown):invalid{border-color:var(--form-invalid-color)}.form-input:not(:placeholder-shown):valid{border-color:var(--form-valid-color)}.form-input:not(:placeholder-shown):invalid+.validation-message.error,.form-input:not(:placeholder-shown):valid+.validation-message.success{display:block}.form-field:has(.form-input:not(:placeholder-shown):invalid):after{content:"×";color:var(--form-invalid-color);opacity:1;font-size:var(--text-xl,1.25rem);justify-content:center;align-items:center;line-height:1;display:flex}.form-field:has(.form-input:not(:placeholder-shown):valid):after{content:"✓";color:var(--form-valid-color);opacity:1;font-size:var(--text-xl,1.25rem);justify-content:center;align-items:center;line-height:1;display:flex}.form-field:before{content:"Note: Your browser doesn't support :user-valid/:user-invalid. Using fallback styles.";display:none}}.form-responsive{container:form-container/inline-size}@container form-container (width<=450px){.form-responsive{flex-direction:column;display:flex}.form-row{gap:var(--space-2);flex-direction:column;display:flex}.form-field,.form-group{width:100%;margin-bottom:var(--space-3)}.form-label{margin-bottom:var(--space-1);font-size:var(--text-sm,.875rem);display:block}.form-input,.form-textarea,.form-select{width:100%;padding:var(--space-2) var(--space-3)}.form-button-group{gap:var(--space-2);flex-direction:column;display:flex}.form-button-group button{width:100%}}@container form-container (width>=451px) and (width<=750px){.form-responsive{gap:var(--space-4);grid-template-columns:1fr;display:grid}.form-row{gap:var(--space-3);grid-template-columns:repeat(2,1fr);display:grid}.form-row.full-width{grid-column:1/-1}.form-field{margin-bottom:0}.form-label{margin-bottom:var(--space-2);font-size:.9rem;display:block}.form-button-group{gap:var(--space-3);margin-top:var(--space-4);grid-template-columns:repeat(2,1fr);display:grid}}@container form-container (width>=751px) and (width<=1000px){.form-responsive{gap:var(--space-5);grid-template-columns:1fr;display:grid}.form-row{gap:var(--space-4);grid-template-columns:repeat(3,1fr);display:grid}.form-row.two-col{grid-template-columns:repeat(2,1fr)}.form-row.full-width{grid-column:1/-1}.form-label{margin-bottom:var(--space-2);font-size:.95rem;display:block}.form-button-group{gap:var(--space-4);margin-top:var(--space-6);grid-template-columns:repeat(3,1fr);display:grid}}@container form-container (width>=1001px){.form-responsive{gap:var(--space-6);grid-template-columns:1fr;display:grid}.form-row{gap:var(--space-5);grid-template-columns:repeat(4,1fr);display:grid}.form-row.two-col{grid-template-columns:repeat(2,1fr)}.form-row.three-col{grid-template-columns:repeat(3,1fr)}.form-row.full-width{grid-column:1/-1}.form-label{margin-bottom:var(--space-2);font-size:var(--text-base,1rem);display:block}.form-button-group{gap:var(--space-5);margin-top:var(--space-8);grid-template-columns:repeat(4,1fr);display:grid}}@container form-container (width<=450px){.form-legend{font-size:var(--text-base,1rem);margin-bottom:var(--space-3)}.form-hint,.form-error{font-size:var(--text-xs,.75rem)}}@container form-container (width>=451px) and (width<=750px){.form-legend{font-size:var(--text-lg,1.125rem);margin-bottom:var(--space-4)}.form-hint,.form-error{font-size:.8rem}}@container form-container (width>=751px){.form-legend{font-size:var(--text-xl,1.25rem);margin-bottom:var(--space-5)}.form-hint,.form-error{font-size:.85rem}}.checkbox-group-responsive,.radio-group-responsive{container:choice-group/inline-size}@container choice-group (width<=400px){.checkbox-group-responsive,.radio-group-responsive{gap:var(--space-2);flex-direction:column;display:flex}.choice-item{flex:100%}}@container choice-group (width>=401px) and (width<=700px){.checkbox-group-responsive,.radio-group-responsive{gap:var(--space-3);grid-template-columns:repeat(2,1fr);display:grid}}@container choice-group (width>=701px){.checkbox-group-responsive,.radio-group-responsive{gap:var(--space-4);grid-template-columns:repeat(3,1fr);display:grid}}.fieldset-responsive{container:fieldset-container/inline-size}@container fieldset-container (width<=500px){.fieldset-responsive{padding:var(--space-3);margin-bottom:var(--space-3)}.fieldset-responsive legend{padding:0 var(--space-2);font-size:.95rem}}@container fieldset-container (width>=501px){.fieldset-responsive{padding:var(--space-4);margin-bottom:var(--space-4)}.fieldset-responsive legend{padding:0 var(--space-3);font-size:1.1rem}}:root{--supports-container-queries:0;--supports-cascade-layers:0;--supports-color-mix:0;--supports-scroll-timeline:0;--supports-custom-highlights:0;--supports-subgrid:0;--supports-masonry:0;--supports-user-pseudo-classes:0;--supports-sibling-index:0;--supports-scroll-state:0;--supports-scroll-target-group:0;--supports-text-box-trim:0;--supports-view-transition-group:0}@supports (container-type:inline-size){:root{--supports-container-queries:1}}@supports selector(:layer){:root{--supports-cascade-layers:1}}@supports (color:color-mix(in srgb, red 50%, blue)){:root{--supports-color-mix:1}}@supports (animation-timeline:scroll()){:root{--supports-scroll-timeline:1}}@supports selector(::highlight(custom)){:root{--supports-custom-highlights:1}}@supports (grid-template-rows:subgrid){:root{--supports-subgrid:1}}@supports (grid-template-rows:masonry){:root{--supports-masonry:1}}@supports selector(:user-valid){:root{--supports-user-pseudo-classes:1}}@supports (animation-delay:calc(0.1s * sibling-index())){:root{--supports-sibling-index:1}}@supports (container-type:scroll-state){:root{--supports-scroll-state:1}}@supports (scroll-target-group:auto){:root{--supports-scroll-target-group:1}}@supports (text-box:trim-both cap alphabetic){:root{--supports-text-box-trim:1}}@supports (view-transition-group:nearest){:root{--supports-view-transition-group:1}}.enhance-if-supported{display:grid;@supports (container-type:inline-size){container-type:inline-size}@supports (grid-template-rows:subgrid){&>*{grid-template-rows:subgrid;display:grid}}}@media (--dev-mode){body:before{content:"CSS Features:";padding:var(--space-2,.5rem);background:var(--color-black-alpha-80);color:var(--color-white);font-size:var(--text-xs,.75rem);z-index:10000;position:fixed;top:0;right:0}body:after{content:"Container Queries: " attr(data-container-queries) " | " "Cascade Layers: " attr(data-cascade-layers) " | " "Color Mix: " attr(data-color-mix) " | " "Scroll Timeline: " attr(data-scroll-timeline) " | " "Subgrid: " attr(data-subgrid) " | " "User Pseudo-classes: " attr(data-user-pseudo-classes);padding:var(--space-2,.5rem);background:var(--color-black-alpha-80);color:var(--color-white);font-size:var(--text-xs,.75rem);z-index:10000;position:fixed;top:1.5rem;right:0}}.sidebar-aware-container{transition:padding-left .3s cubic-bezier(.4,0,.2,1)}.route-content-padding{padding:1.5rem}@media (width>=768px){.route-content-padding{padding:2rem}}@supports (-webkit-touch-callout:none){:root{--vh:1vh}}:root{--svh:1svh;--dvh:1dvh;@supports not (height:1dvh){--dvh:1vh}--mobile-breakpoint:640px;--tablet-breakpoint:768px;--safe-area-top:env(safe-area-inset-top,0px);--safe-area-bottom:env(safe-area-inset-bottom,0px);--safe-area-left:env(safe-area-inset-left,0px);--safe-area-right:env(safe-area-inset-right,0px)}[class*=scroll-container],.messages-scroll-container,.dashboard-scroll-container,.modal-content{touch-action:pan-y;overscroll-behavior-y:contain}@supports (padding:env(safe-area-inset-top)){.full-height-container,.messages-scroll-container,.dashboard-scroll-container{padding-top:var(--safe-area-top);padding-bottom:var(--safe-area-bottom);padding-left:var(--safe-area-left);padding-right:var(--safe-area-right)}}@font-face{font-family:OpenDyslexic;src:url(../../../assets/fonts/OpenDyslexic-Regular.woff2)format("woff2"),url(../../../assets/fonts/OpenDyslexic-Regular.woff)format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:OpenDyslexic;src:url(../../../assets/fonts/OpenDyslexic-Bold.woff2)format("woff2"),url(../../../assets/fonts/OpenDyslexic-Bold.woff)format("woff");font-weight:700;font-style:normal;font-display:swap}@keyframes fadeIn{0%{opacity:0!important;transform:translateY(8px)!important}to{opacity:1!important;transform:translateY(0)!important}}@keyframes pulse-record{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.05)}}@keyframes gentle-breathe{0%,to{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.02)}}@keyframes cursor-blink{0%,50%{opacity:.5}51%,to{opacity:0}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.message-blocks{flex-direction:column;gap:0;width:100%;display:flex;position:relative}.message-block,.streaming-message{transform-origin:0 0;border-left:2px solid #0000;width:100%;margin-bottom:4px;padding-left:8px;transition:border-left-color .3s;display:block;position:relative;opacity:0!important}.message-block.first-block{margin-top:4px}.message-block:hover{border-left-color:color-mix(in srgb, var(--color-accent-500) 30%, transparent)}.message-block+.message-block{border-top:1px solid color-mix(in srgb, var(--text-primary) 3%, transparent);padding-top:4px}html{word-break:break-word;scroll-behavior:smooth;overscroll-behavior-y:contain;background-color:var(--surface-background);width:100%;height:100%;overflow-x:hidden}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{height:100%;height:calc(var(--vh,1vh) * 100);-webkit-overflow-scrolling:touch;touch-action:pan-y;background-color:var(--surface-background);-webkit-tap-highlight-color:transparent;contain:style;width:100%;max-width:100%;max-height:100%;margin:0;padding:0;position:relative;overflow:hidden auto}body,#app{background-color:var(--surface-background)}.app{overscroll-behavior-x:none;overscroll-behavior-y:auto;background-color:var(--surface-background);width:100%;max-width:100%;height:100%;overflow:hidden auto}pre{font-family:var(--font-mono,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace);color:var(--color-text-code-block);box-shadow:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizespeed;background-color:#0000;border:none;outline:2px solid #0000}pre:focus-visible{outline:2px solid var(--theme-primary,var(--color-primary));outline-offset:2px}code{font-family:var(--font-mono,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace);color:var(--text-tertiary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizespeed;width:auto;overflow-x:auto}math{margin-top:1rem}.hljs{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizespeed;box-shadow:none;background-color:#0000;border:none;border-radius:.5rem;outline:2px solid #0000}.hljs:focus-visible{outline:2px solid var(--theme-primary,var(--color-primary));outline-offset:2px}.input-prose{white-space:pre-line;max-width:65ch;font-size:1rem;line-height:1.75}.input-prose :where(h1,h2,h3,h4,h5,h6){margin-top:.25rem;margin-bottom:.25rem;font-weight:600}.input-prose :where(hr){border-color:#f3f4f6;margin-top:1rem;margin-bottom:1rem}.input-prose :where(p){margin-top:0;margin-bottom:0}.input-prose :where(img){margin-top:.25rem;margin-bottom:.25rem}.input-prose :where(pre),.input-prose :where(table),.input-prose :where(blockquote){margin-top:0;margin-bottom:0}.dark .input-prose :where(hr){border-color:#1f2937}.input-prose-sm{white-space:pre-line;max-width:65ch;font-size:.875rem;line-height:1.75}.input-prose-sm :where(h1,h2,h3,h4,h5,h6){margin-top:.25rem;margin-bottom:.25rem;font-weight:600}.input-prose-sm :where(hr){border-color:#f3f4f6;margin-top:1rem;margin-bottom:1rem}.input-prose-sm :where(p){margin-top:0;margin-bottom:0}.input-prose-sm :where(img){margin-top:.25rem;margin-bottom:.25rem}.input-prose-sm :where(pre),.input-prose-sm :where(table),.input-prose-sm :where(blockquote){margin-top:0;margin-bottom:0}.dark .input-prose-sm :where(hr){border-color:#1f2937}.markdown-prose{color:#000;max-width:100%;font-size:1rem;line-height:1.75}.markdown-prose:has(.tool-card-container),.markdown-prose:has(.slideshow-tool-card){max-width:none!important}.tool-card-container,.slideshow-tool-card{width:100%;max-width:none}.markdown-prose :where(h1,h2,h3,h4,h5,h6){color:#333;margin-top:.25rem;margin-bottom:.25rem;font-weight:600}.markdown-prose :where(hr){border-color:#f3f4f6;margin-top:1rem;margin-bottom:1rem}.markdown-prose :where(p){margin-top:0;margin-bottom:0}.markdown-prose :where(img){margin-top:.25rem;margin-bottom:.25rem}.markdown-prose :where(pre){margin-top:0;margin-bottom:0}.markdown-prose :where(table){border-collapse:collapse;width:100%;margin-top:0;margin-bottom:0}.markdown-prose :where(th){color:var(--text-primary);background:var(--surface-card,var(--color-neutral-100));text-align:left;padding:var(--space-3,.75rem) var(--space-4,1rem);border-bottom:2px solid var(--border-light,var(--color-neutral-300));font-weight:600}.markdown-prose :where(td){color:var(--text-primary);padding:var(--space-3,.75rem) var(--space-4,1rem);border-bottom:1px solid var(--border-light,var(--color-neutral-200))}.dark .markdown-prose :where(th){color:var(--text-primary);background:var(--surface-card);border-bottom-color:var(--border-light)}.dark .markdown-prose :where(td){color:var(--text-primary);border-bottom-color:var(--border-light)}.markdown-prose :where(blockquote){border-left:2px solid #f3f4f6;margin-top:0;margin-bottom:0;font-style:normal;font-weight:400}.markdown-prose :where(ol),.markdown-prose :where(ul){color:var(--text-primary)}.dark .markdown-prose :where(hr),.dark .markdown-prose :where(blockquote){border-color:#1f2937}.dark .markdown-prose,.dark .markdown-prose :where(h1,h2,h3,h4,h5,h6),.dark .markdown-prose :where(p,li){color:var(--text-primary,#f1f2f4)}.markdown-prose ol+ul{margin-inline-start:1rem}.markdown-prose-xs{white-space:pre-line;max-width:65ch;color:var(--text-primary);font-size:.75rem;line-height:1.75}.markdown-prose-xs :where(h1,h2,h3,h4,h5,h6){margin-top:.25rem;margin-bottom:.25rem;font-weight:600}.markdown-prose-xs :where(hr){border-color:#f3f4f6;margin-top:0;margin-bottom:0}.markdown-prose-xs :where(p){margin-top:0;margin-bottom:0}.markdown-prose-xs :where(img){margin-top:.25rem;margin-bottom:.25rem}.markdown-prose-xs :where(pre){margin-top:0;margin-bottom:0}.markdown-prose-xs :where(table){border-collapse:collapse;width:100%;margin-top:0;margin-bottom:0}.markdown-prose-xs :where(th){color:var(--text-primary);background:var(--surface-card,var(--color-neutral-100));text-align:left;padding:var(--space-2,.5rem) var(--space-3,.75rem);border-bottom:2px solid var(--border-light,var(--color-neutral-300));font-size:.75rem;font-weight:600}.markdown-prose-xs :where(td){color:var(--text-primary);padding:var(--space-2,.5rem) var(--space-3,.75rem);border-bottom:1px solid var(--border-light,var(--color-neutral-200));font-size:.75rem}.dark .markdown-prose-xs :where(th){color:var(--text-primary);background:var(--surface-card);border-bottom-color:var(--border-light)}.dark .markdown-prose-xs :where(td){color:var(--text-primary);border-bottom-color:var(--border-light)}.markdown-prose-xs :where(blockquote){border-left:2px solid #f3f4f6;margin-top:0;margin-bottom:0;font-style:normal;font-weight:400}.dark .markdown-prose-xs :where(hr),.dark .markdown-prose-xs :where(blockquote){border-color:#1f2937}.markdown-prose code{color:var(--color-text-code);background-color:var(--color-surface-code);border-radius:.25rem;padding:.125rem .25rem;font-weight:400}.markdown-prose pre{color:var(--color-text-code-block);box-shadow:none;background-color:#0000;border:none;border-radius:.5rem;outline:2px solid #0000;padding:1rem}.markdown-prose pre:focus-visible{outline:2px solid var(--theme-primary,var(--color-primary));outline-offset:2px}.markdown-prose pre>code{color:var(--color-text-code-block);transition:color var(--transition-duration-fast) var(--transition-timing-ease);background-color:#0000;border-radius:0;padding:0;font-family:inherit;font-weight:400}.markdown a{color:var(--color-primary-500);text-decoration:underline}.font-primary{font-family:Archivo,sans-serif}iframe{border-radius:.5rem}ul,ol{margin-inline-start:0;padding-inline-start:1.5rem;list-style-position:outside}ol{list-style-type:decimal}ul{list-style-type:disc}ul ul{list-style-type:circle}ul ul ul{list-style-type:square}li{margin-top:0;margin-bottom:.25rem}.markdown-prose li,.markdown-body li{display:list-item}.markdown-prose li>p,.markdown-body li>p{width:100%!important;margin:0 0 .25rem!important;display:block!important}.markdown-prose li>p+ul,.markdown-prose li>p+ol,.markdown-body li>p+ul,.markdown-body li>p+ol{width:100%!important;margin-top:0!important;display:block!important}.markdown-prose li>ul,.markdown-prose li>ol,.markdown-body li>ul,.markdown-body li>ol,.markdown-prose li ul,.markdown-prose li ol,.markdown-body li ul,.markdown-body li ol{padding-inline-start:1rem!important;margin-inline-start:0!important;width:100%!important;margin-left:0!important;padding-left:1rem!important;display:block!important}.markdown-prose li>*,.markdown-body li>*{display:block}.markdown-prose li>p,.markdown-body li>p{margin:0}::-webkit-scrollbar-thumb{--tw-border-opacity:1;background-color:color-mix(in srgb, var(--color-neutral-300) 80%, transparent);border-color:rgba(255, 255, 255, var(--tw-border-opacity));border-width:1px;border-radius:9999px}::-webkit-scrollbar{width:.4rem;height:.4rem}::-webkit-scrollbar-track{background-color:#0000;border-radius:9999px}select{print-color-adjust:exact;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236B7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem}.katex-mathml{display:none}.scrollbar-hidden:active::-webkit-scrollbar-thumb{visibility:visible}.scrollbar-hidden:focus::-webkit-scrollbar-thumb{visibility:visible}.scrollbar-hidden:hover::-webkit-scrollbar-thumb{visibility:visible}.scrollbar-hidden::-webkit-scrollbar-thumb{visibility:hidden}.scrollbar-hidden::-webkit-scrollbar-corner{display:none}.scrollbar-none::-webkit-scrollbar{display:none}.scrollbar-none::-webkit-scrollbar-corner{display:none}.scrollbar-none{-ms-overflow-style:none;scrollbar-width:none}input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.cm-editor{width:100%;height:100%}.cm-scroller{-ms-overflow-style:none;scrollbar-width:none}.cm-scroller::-webkit-scrollbar{display:none}.cm-scroller:active::-webkit-scrollbar-thumb{visibility:visible}.cm-scroller:focus::-webkit-scrollbar-thumb{visibility:visible}.cm-scroller:hover::-webkit-scrollbar-thumb{visibility:visible}.cm-scroller::-webkit-scrollbar-thumb{visibility:hidden}.cm-scroller::-webkit-scrollbar-corner{display:none}.cm-editor.cm-focused{box-shadow:0 0 0 2px var(--color-primary-500);outline:2px solid #0000}.cm-editor:focus-visible{outline:2px solid var(--theme-primary,var(--color-primary));outline-offset:2px}:root{--cosmic-fusion-gradient:radial-gradient(circle at 50% 50%, #64b4ed1a 0%, #64b4ed00 30%), radial-gradient(circle at 20% 20%, #f8b13f1a 0%, #f8b13f00 30%), radial-gradient(circle at 80% 80%, #4ad3c61a 0%, #4ad3c600 30%), linear-gradient(45deg, #64b4ed 0%, #f8b13f 50%, #4ad3c6 100%);--sunrise-bloom-gradient:radial-gradient(ellipse at 50% 150%, #f8b13f26 0%, #f8b13f00 40%), radial-gradient(ellipse at 50% -50%, #4ad3c626 0%, #4ad3c600 40%), linear-gradient(135deg, #f8b13f 0%, #f7a522 30%, #f26969 60%, #4ad3c6 100%);--font-24:1.5rem;--font-32:2rem;--font-80:5rem;--shadow-1:#0000001a;--radius-base:4px;--content-bg-sunrish-bloom:linear-gradient(135deg, var(--secondary-pale-light), #ebeaea)!important}body.color-blind-safe{--primary:var(--color-primary-500);--secondary:var(--color-secondary-500);--accent:var(--color-accent-500);--warning:var(--color-warning);--error:var(--color-error);--success:var(--color-success)}@media screen and (width<=768px){body,html,.app,.main-content{scrollbar-width:none;-ms-overflow-style:none}body::-webkit-scrollbar{width:0;display:none}html::-webkit-scrollbar{width:0;display:none}.app::-webkit-scrollbar{width:0;display:none}.main-content::-webkit-scrollbar{width:0;display:none}.app{height:calc(var(--vh,1vh) * 100);padding-bottom:env(safe-area-inset-bottom)}button,.btn,input[type=button],input[type=submit]{min-width:48px;min-height:48px;padding:12px}.page-content{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;width:100vw;max-width:100vw;overflow-x:hidden}textarea,input{font-size:16px!important}.flex-row{max-width:100vw;overflow-x:hidden}a,button,input,select,textarea{touch-action:manipulation}.mobile-touch-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}ul,ol{padding-inline-start:1rem}.markdown-prose li>ul,.markdown-prose li>ol,.markdown-body li>ul,.markdown-body li>ol,.markdown-prose li ul,.markdown-prose li ol,.markdown-body li ul,.markdown-body li ol{padding-inline-start:.75rem!important;padding-left:.75rem!important}li{margin-bottom:.125rem}}@media (width<=768px){.touch-pan-y{touch-action:pan-y}.touch-pan-x{touch-action:pan-x}.touch-none{touch-action:none}a,button,input,select,textarea{touch-action:manipulation}.mobile-touch-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.page-content{width:100vw;max-width:100vw;overflow-x:hidden}input,textarea,select{font-size:16px!important}.app{height:calc(var(--vh,1vh) * 100)}.scroll-container-interactive button,.scroll-container-interactive a,.scroll-container-interactive [role=button],.chat-messages-container button,.chat-messages-container a,.messages-scroll-container button,.messages-scroll-container a,.modal-body button,.modal-body a,.sidebar-inner button,.sidebar-inner a{-webkit-tap-highlight-color:transparent;touch-action:pan-y!important}.messages-container,.chat-container,.sidebar-container{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){.messages-container,.chat-container,.sidebar-container{scroll-behavior:auto}}body{overscroll-behavior-y:none}button:active,.interactive-element:active{transform:scale(.97)}.message{word-break:break-word;hyphens:auto;max-width:100%}.flashcard{touch-action:pan-y;-webkit-tap-highlight-color:transparent}input[type=checkbox],input[type=radio]{min-width:24px;min-height:24px}input:focus,textarea:focus{z-index:1;position:relative}.bottom-navigation-fix{padding-bottom:calc(env(safe-area-inset-bottom) + 1rem)}.top-navigation-fix{padding-top:env(safe-area-inset-top)}.message-input-container{padding-bottom:env(safe-area-inset-bottom);z-index:10;position:sticky;bottom:0}}@media (hover:none) and (pointer:coarse){a,button,.clickable,[role=button]{padding:.5rem}.touch-feedback:active:after{content:"";background:color-mix(in srgb, var(--surface-card) 20%, transparent);border-radius:inherit;width:100%;height:100%;position:absolute;top:0;left:0}}.use-dyslexic-font,.dyslexic-font,[data-dyslexic=true],[data-dyslexic=true] input,[data-dyslexic=true] button,[data-dyslexic=true] select,[data-dyslexic=true] textarea{font-family:OpenDyslexic,Arial,sans-serif!important}.large-text-mode{font-size:120%}.large-text-mode h1{font-size:2.5em}.large-text-mode h2{font-size:2em}.large-text-mode h3{font-size:1.75em}.high-contrast-mode{--primary:white;--secondary:yellow;--background:black;--text:white;filter:contrast(150%);--color-text-primary:white!important;--color-text-secondary:white!important;--color-text-muted:#ffffffd9!important;--text-primary:white!important;--text-secondary:white!important;--text-tertiary:#ffffffd9!important;--color-surface-elevated:#1a1a1a!important;--color-surface-raised:#0d0d0d!important;--color-surface:#000!important;--surface-background:#000!important;--surface-card:#0d0d0d!important;--color-border-subtle:#ffffff80!important;--color-border-themed:white!important;--color-hover-surface:#ffffff26!important;--color-primary:#66d9ff!important;--color-primary-500:#66d9ff!important}.color-blind-safe{--primary:var(--color-primary-500);--warning:var(--color-warning);--error:var(--color-error);--success:var(--color-success)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid var(--color-primary-500);outline-offset:2px}.content-container{min-height:100dvh}.message-container,.sidebar-container,.modal-container{background-color:var(--surface-card)}.overlay{background-color:var(--surface-background)}:root{--navbar-height:4rem;--navbar-height-mobile:3.5rem}@media (width<=768px){:root{--navbar-height:var(--navbar-height-mobile)}}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{contain:style}.navbar-transition{will-change:transform;transition:transform .3s cubic-bezier(.4,0,.2,1);transform:translateZ(0)}.page-content{padding-top:var(--navbar-height);transition:padding-top .3s ease-out,transform .3s ease-out;transform:translateY(0)}@media (prefers-reduced-motion:no-preference){.page-content{animation:none}.navbar-transition{transition:transform .4s cubic-bezier(.4,0,.2,1)}}@media (prefers-reduced-motion:reduce){.navbar-transition,.page-content{transition:none}html{scroll-behavior:auto}}.navbar-transition{backface-visibility:hidden;perspective:1000px;transform:translateZ(0)}.navbar-transition:focus-within{transform:translateY(0)!important}
