@layer reset,base,tokens,theme,components,utilities,overrides;:root{--color-neutral-50: var(--theme-neutral-50, #ffffff);--color-neutral-100: var(--theme-neutral-100, #f8fafc);--color-neutral-200: var(--theme-neutral-200, #e2e8f0);--color-neutral-300: var(--theme-neutral-300, #cbd5e1);--color-neutral-400: var(--theme-neutral-400, #94a3b8);--color-neutral-500: var(--theme-neutral-500, #64748b);--color-neutral-600: var(--theme-neutral-600, #475569);--color-neutral-700: var(--theme-neutral-700, #334155);--color-neutral-800: var(--theme-neutral-800, #1e293b);--color-neutral-850: var(--theme-neutral-850, #172033);--color-neutral-900: var(--theme-neutral-900, #0f172a);--color-neutral-950: var(--theme-neutral-950, #020617);--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-white: #ffffff;--color-black: #000000;--color-transparent: transparent;--color-current: currentColor;--color-inherit: inherit;--color-auto: auto;--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-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, #fef3c7);--color-yellow-200: var(--theme-yellow-200, #fde68a);--color-yellow-300: var(--theme-yellow-300, #fcd34d);--color-yellow-400: var(--theme-yellow-400, #fbbf24);--color-yellow-500: var(--theme-yellow-500, #f59e0b);--color-yellow-600: var(--theme-yellow-600, #d97706);--color-yellow-700: var(--theme-yellow-700, #b45309);--color-yellow-800: var(--theme-yellow-800, #92400e);--color-yellow-900: var(--theme-yellow-900, #78350f);--color-primary-50: var(--theme-primary-50, #f0f9ff);--color-primary-100: var(--theme-primary-100, #e0f2fe);--color-primary-200: var(--theme-primary-200, #bae6fd);--color-primary-300: var(--theme-primary-300, #7dd3fc);--color-primary-400: var(--theme-primary-400, #38bdf8);--color-primary-500: var(--theme-primary-500, #0ea5e9);--color-primary-600: var(--theme-primary-600, #0284c7);--color-primary-700: var(--theme-primary-700, #0369a1);--color-primary-800: var(--theme-primary-800, #075985);--color-primary-900: var(--theme-primary-900, #0c4a6e);--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, #f0fdf4);--color-accent-100: var(--theme-accent-100, #dcfce7);--color-accent-200: var(--theme-accent-200, #bbf7d0);--color-accent-300: var(--theme-accent-300, #86efac);--color-accent-400: var(--theme-accent-400, #4ade80);--color-accent-500: var(--theme-accent-500, #22c55e);--color-accent-600: var(--theme-accent-600, #16a34a);--color-accent-700: var(--theme-accent-700, #15803d);--color-accent-800: var(--theme-accent-800, #166534);--color-accent-900: var(--theme-accent-900, #14532d);--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-700));--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, #ffffff);--color-text-on-secondary: var(--theme-text-on-secondary, #ffffff);--color-text-on-accent: var(--theme-text-on-accent, #ffffff);--color-status-success: var(--theme-status-success, #22c55e);--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-primary: var(--color-surface-raised);--theme-surface-secondary: var(--color-surface);--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-text-tertiary: var(--color-text-tertiary);--theme-color-primary: var(--color-primary-500);--theme-color-primary-light: var(--color-primary-100);--theme-color-primary-rgb: 14, 165, 233;--theme-success: var(--color-green-500);--theme-success-light: var(--color-green-100);--theme-success-dark: var(--color-green-800);--theme-warning: var(--color-yellow-500);--theme-warning-light: var(--color-yellow-100);--theme-warning-dark: var(--color-yellow-800);--theme-error: var(--color-red-500);--theme-error-light: var(--color-red-100);--theme-error-dark: var(--color-red-800);--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 rgb(0 0 0 / .05));--shadow-md: var( --theme-shadow-md, 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1) );--shadow-lg: var( --theme-shadow-lg, 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1) );--shadow-xl: var( --theme-shadow-xl, 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1) );--shadow-2xl: var(--theme-shadow-2xl, 0 25px 50px -12px rgb(0 0 0 / .25));--shadow-inner: var(--theme-shadow-inner, inset 0 2px 4px 0 rgb(0 0 0 / .05));--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));--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: .75rem;--spacing-lg: 1rem;--spacing-xl: 1.5rem;--spacing-2xl: 2rem;--spacing-3xl: 3rem;--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-500);--focus-ring-width: 2px;--focus-ring-offset: 2px;--focus-ring-color: var(--color-primary-600);--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);--spacing-0: 0px;--spacing-0-5: .125rem;--spacing-1-5: .375rem;--spacing-2-5: .625rem;--spacing-3-5: .875rem;--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(--color-primary-200)) );--breakpoint-3xl: 1920px;--theme-personality: var(--current-theme-personality, "default");--theme-radius-playful: var(--cocovox-radius-playful, 24px);--theme-radius-professional: var(--modern-radius-professional, 8px);--theme-radius-technical: var(--tron-radius-technical, 2px);--theme-radius-organic: var(--her-radius-organic, 18px);--theme-radius-elegant: var(--rosepine-radius-elegant, 6px);--theme-card-radius-playful: var(--cocovox-card-radius-playful, 20px);--theme-card-radius-professional: var(--modern-card-radius-professional, 12px);--theme-card-radius-technical: var(--tron-card-radius-technical, 4px);--theme-card-radius-organic: var(--her-card-radius-organic, 16px);--theme-card-radius-elegant: var(--rosepine-card-radius-elegant, 8px);--theme-input-radius-playful: var(--cocovox-input-radius-playful, 16px);--theme-input-radius-professional: var(--modern-input-radius-professional, 6px);--theme-input-radius-technical: var(--tron-input-radius-technical, 0px);--theme-input-radius-organic: var(--her-input-radius-organic, 12px);--theme-input-radius-elegant: var(--rosepine-input-radius-elegant, 4px);--theme-shadow-playful: var(--cocovox-shadow-playful, 0 4px 12px rgba(0, 0, 0, .15));--theme-shadow-professional: var(--modern-shadow-professional, 0 2px 8px rgba(0, 0, 0, .08));--theme-shadow-technical: var(--tron-shadow-technical, 0 0 8px rgba(0, 255, 255, .3));--theme-shadow-organic: var(--her-shadow-organic, 0 2px 6px rgba(0, 0, 0, .06));--theme-shadow-elegant: var(--rosepine-shadow-elegant, 0 1px 3px rgba(0, 0, 0, .12));--theme-card-shadow-playful: var(--cocovox-card-shadow-playful, 0 8px 24px rgba(0, 0, 0, .12));--theme-card-shadow-professional: var( --modern-card-shadow-professional, 0 4px 16px rgba(0, 0, 0, .1) );--theme-card-shadow-technical: var( --tron-card-shadow-technical, inset 0 0 1px rgba(0, 255, 255, .5) );--theme-card-shadow-organic: var(--her-card-shadow-organic, 0 4px 12px rgba(0, 0, 0, .08));--theme-card-shadow-elegant: var(--rosepine-card-shadow-elegant, 0 2px 8px rgba(0, 0, 0, .08));--theme-hover-transform-playful: var( --cocovox-hover-transform-playful, translateY(-4px) scale(1.02) );--theme-hover-transform-professional: var( --modern-hover-transform-professional, translateY(-2px) );--theme-hover-transform-technical: var(--tron-hover-transform-technical, none);--theme-hover-transform-organic: var(--her-hover-transform-organic, translateY(-1px));--theme-hover-transform-elegant: var(--rosepine-hover-transform-elegant, translateY(-1px));--theme-duration-playful: var(--cocovox-duration-playful, .4s);--theme-duration-professional: var(--modern-duration-professional, .3s);--theme-duration-technical: var(--tron-duration-technical, .15s);--theme-duration-organic: var(--her-duration-organic, .25s);--theme-duration-elegant: var(--rosepine-duration-elegant, .2s);--theme-easing-playful: var(--cocovox-easing-playful, cubic-bezier(.34, 1.26, .64, 1));--theme-easing-professional: var(--modern-easing-professional, cubic-bezier(.25, .8, .25, 1));--theme-easing-technical: var(--tron-easing-technical, linear);--theme-easing-organic: var(--her-easing-organic, cubic-bezier(.25, .46, .45, .94));--theme-easing-elegant: var(--rosepine-easing-elegant, ease-out);--theme-page-transition-playful: var(--cocovox-page-transition-playful, "bouncy-slide");--theme-page-transition-professional: var(--modern-page-transition-professional, "fade-scale");--theme-page-transition-technical: var(--tron-page-transition-technical, "digital-wipe");--theme-page-transition-organic: var(--her-page-transition-organic, "morph-fade");--theme-page-transition-elegant: var(--rosepine-page-transition-elegant, "page-turn");--theme-page-duration-playful: var(--cocovox-page-duration-playful, .6s);--theme-page-duration-professional: var(--modern-page-duration-professional, .4s);--theme-page-duration-technical: var(--tron-page-duration-technical, .2s);--theme-page-duration-organic: var(--her-page-duration-organic, .35s);--theme-page-duration-elegant: var(--rosepine-page-duration-elegant, .3s);--theme-font-weight-playful: var(--cocovox-font-weight-playful, 450);--theme-font-weight-professional: var(--modern-font-weight-professional, 400);--theme-font-weight-technical: var(--tron-font-weight-technical, 500);--theme-font-weight-organic: var(--her-font-weight-organic, 400);--theme-font-weight-elegant: var(--rosepine-font-weight-elegant, 400);--theme-font-weight-medium-playful: var(--cocovox-font-weight-medium-playful, 550);--theme-font-weight-medium-professional: var(--modern-font-weight-medium-professional, 500);--theme-font-weight-medium-technical: var(--tron-font-weight-medium-technical, 600);--theme-font-weight-medium-organic: var(--her-font-weight-medium-organic, 500);--theme-font-weight-medium-elegant: var(--rosepine-font-weight-medium-elegant, 450);--theme-letter-spacing-playful: var(--cocovox-letter-spacing-playful, 0em);--theme-letter-spacing-professional: var(--modern-letter-spacing-professional, .025em);--theme-letter-spacing-technical: var(--tron-letter-spacing-technical, .05em);--theme-letter-spacing-organic: var(--her-letter-spacing-organic, 0em);--theme-letter-spacing-elegant: var(--rosepine-letter-spacing-elegant, 0em);--theme-line-height-playful: var( --cocovox-line-height-playful, 1.75 );--theme-line-height-professional: var( --modern-line-height-professional, 1.5 );--theme-line-height-technical: var( --tron-line-height-technical, 1.5 );--theme-line-height-organic: var( --her-line-height-organic, 1.625 );--theme-line-height-elegant: var( --rosepine-line-height-elegant, 1.75 );--theme-spacing-playful: var(--cocovox-spacing-playful, 2rem);--theme-spacing-professional: var(--modern-spacing-professional, 1.5rem);--theme-spacing-technical: var(--tron-spacing-technical, 1rem);--theme-spacing-organic: var(--her-spacing-organic, 1.75rem);--theme-spacing-elegant: var(--rosepine-spacing-elegant, 1.5rem);--theme-backdrop-blur-playful: var(--cocovox-backdrop-blur-playful, 8px);--theme-backdrop-blur-professional: var(--modern-backdrop-blur-professional, 20px);--theme-backdrop-blur-technical: var(--tron-backdrop-blur-technical, 0px);--theme-backdrop-blur-organic: var(--her-backdrop-blur-organic, 5px);--theme-backdrop-blur-elegant: var(--rosepine-backdrop-blur-elegant, 3px);--component-button-radius: var(--theme-radius-button, var(--border-radius-lg));--component-card-radius: var(--theme-radius-card, var(--border-radius-xl));--component-input-radius: var(--theme-radius-input, var(--border-radius-lg));--component-modal-radius: var(--theme-radius-modal, var(--border-radius-2xl));--component-shadow-button: var(--theme-shadow-button, var(--shadow-sm));--component-shadow-card: var(--theme-shadow-card, var(--shadow-md));--component-shadow-modal: var(--theme-shadow-modal, var(--shadow-2xl));--component-duration: var(--theme-duration, var(--transition-duration-normal));--component-easing: var(--theme-easing, var(--transition-timing-ease));--component-hover-transform: var(--theme-hover-transform, translateY(-1px));--spacing-px: 1px;--spacing-0: 0;--spacing-0\.5: .125rem;--spacing-1: .25rem;--spacing-1\.5: .375rem;--spacing-2: .5rem;--spacing-2\.5: .625rem;--spacing-3: .75rem;--spacing-3\.5: .875rem;--spacing-4: 1rem;--spacing-5: 1.25rem;--spacing-6: 1.5rem;--spacing-7: 1.75rem;--spacing-8: 2rem;--spacing-9: 2.25rem;--spacing-10: 2.5rem;--spacing-11: 2.75rem;--spacing-12: 3rem;--spacing-14: 3.5rem;--spacing-16: 4rem;--spacing-20: 5rem;--spacing-24: 6rem;--spacing-28: 7rem;--spacing-32: 8rem;--spacing-36: 9rem;--spacing-40: 10rem;--spacing-44: 11rem;--spacing-48: 12rem;--spacing-52: 13rem;--spacing-56: 14rem;--spacing-60: 15rem;--spacing-64: 16rem;--spacing-72: 18rem;--spacing-80: 20rem;--spacing-96: 24rem;--size-0: 0px;--size-px: 1px;--size-0-5: .125rem;--size-1: .25rem;--size-1-5: .375rem;--size-2: .5rem;--size-2-5: .625rem;--size-3: .75rem;--size-3-5: .875rem;--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.333333%;--size-2-3: 66.666667%;--size-1-4: 25%;--size-2-4: 50%;--size-3-4: 75%;--size-1-5: 20%;--size-2-5: 40%;--size-3-5: 60%;--size-4-5: 80%;--size-1-6: 16.666667%;--size-2-6: 33.333333%;--size-3-6: 50%;--size-4-6: 66.666667%;--size-5-6: 83.333333%;--size-1-12: 8.333333%;--size-2-12: 16.666667%;--size-3-12: 25%;--size-4-12: 33.333333%;--size-5-12: 41.666667%;--size-6-12: 50%;--size-7-12: 58.333333%;--size-8-12: 66.666667%;--size-9-12: 75%;--size-10-12: 83.333333%;--size-11-12: 91.666667%}@utility w-0{width: var(--size-0);}@utility w-px{width: var(--size-px);}@utility w-0\.5{width: var(--size-0-5);}@utility w-1{width: var(--size-1);}@utility w-1\.5{width: var(--size-1-5);}@utility w-2{width: var(--size-2);}@utility w-2\.5{width: var(--size-2-5);}@utility w-3{width: var(--size-3);}@utility w-3\.5{width: var(--size-3-5);}@utility w-4{width: var(--size-4);}@utility w-5{width: var(--size-5);}@utility w-6{width: var(--size-6);}@utility w-7{width: var(--size-7);}@utility w-8{width: var(--size-8);}@utility w-9{width: var(--size-9);}@utility w-10{width: var(--size-10);}@utility w-11{width: var(--size-11);}@utility w-12{width: var(--size-12);}@utility w-14{width: var(--size-14);}@utility w-16{width: var(--size-16);}@utility w-20{width: var(--size-20);}@utility w-24{width: var(--size-24);}@utility w-28{width: var(--size-28);}@utility w-32{width: var(--size-32);}@utility w-36{width: var(--size-36);}@utility w-40{width: var(--size-40);}@utility w-44{width: var(--size-44);}@utility w-48{width: var(--size-48);}@utility w-52{width: var(--size-52);}@utility w-56{width: var(--size-56);}@utility w-60{width: var(--size-60);}@utility w-64{width: var(--size-64);}@utility w-72{width: var(--size-72);}@utility w-80{width: var(--size-80);}@utility w-96{width: var(--size-96);}@utility w-auto{width: var(--size-auto);}@utility w-full{width: var(--size-full);}@utility w-screen{width: var(--size-screen);}@utility w-svw{width: var(--size-svw);}@utility w-lvw{width: var(--size-lvw);}@utility w-dvw{width: var(--size-dvw);}@utility w-min{width: var(--size-min);}@utility w-max{width: var(--size-max);}@utility w-fit{width: var(--size-fit);}@utility w-1\/2{width: var(--size-1-2);}@utility w-1\/3{width: var(--size-1-3);}@utility w-2\/3{width: var(--size-2-3);}@utility w-1\/4{width: var(--size-1-4);}@utility w-2\/4{width: var(--size-2-4);}@utility w-3\/4{width: var(--size-3-4);}@utility w-1\/5{width: var(--size-1-5);}@utility w-2\/5{width: var(--size-2-5);}@utility w-3\/5{width: var(--size-3-5);}@utility w-4\/5{width: var(--size-4-5);}@utility w-1\/6{width: var(--size-1-6);}@utility w-2\/6{width: var(--size-2-6);}@utility w-3\/6{width: var(--size-3-6);}@utility w-4\/6{width: var(--size-4-6);}@utility w-5\/6{width: var(--size-5-6);}@utility w-1\/12{width: var(--size-1-12);}@utility w-2\/12{width: var(--size-2-12);}@utility w-3\/12{width: var(--size-3-12);}@utility w-4\/12{width: var(--size-4-12);}@utility w-5\/12{width: var(--size-5-12);}@utility w-6\/12{width: var(--size-6-12);}@utility w-7\/12{width: var(--size-7-12);}@utility w-8\/12{width: var(--size-8-12);}@utility w-9\/12{width: var(--size-9-12);}@utility w-10\/12{width: var(--size-10-12);}@utility w-11\/12{width: var(--size-11-12);}@utility h-0{height: var(--size-0);}@utility h-px{height: var(--size-px);}@utility h-0\.5{height: var(--size-0-5);}@utility h-1{height: var(--size-1);}@utility h-1\.5{height: var(--size-1-5);}@utility h-2{height: var(--size-2);}@utility h-2\.5{height: var(--size-2-5);}@utility h-3{height: var(--size-3);}@utility h-3\.5{height: var(--size-3-5);}@utility h-4{height: var(--size-4);}@utility h-5{height: var(--size-5);}@utility h-6{height: var(--size-6);}@utility h-7{height: var(--size-7);}@utility h-8{height: var(--size-8);}@utility h-9{height: var(--size-9);}@utility h-10{height: var(--size-10);}@utility h-11{height: var(--size-11);}@utility h-12{height: var(--size-12);}@utility h-14{height: var(--size-14);}@utility h-16{height: var(--size-16);}@utility h-20{height: var(--size-20);}@utility h-24{height: var(--size-24);}@utility h-28{height: var(--size-28);}@utility h-32{height: var(--size-32);}@utility h-36{height: var(--size-36);}@utility h-40{height: var(--size-40);}@utility h-44{height: var(--size-44);}@utility h-48{height: var(--size-48);}@utility h-52{height: var(--size-52);}@utility h-56{height: var(--size-56);}@utility h-60{height: var(--size-60);}@utility h-64{height: var(--size-64);}@utility h-72{height: var(--size-72);}@utility h-80{height: var(--size-80);}@utility h-96{height: var(--size-96);}@utility h-auto{height: var(--size-auto);}@utility h-full{height: var(--size-full);}@utility h-screen{height: 100vh;}@utility h-svh{height: 100svh;}@utility h-lvh{height: 100lvh;}@utility h-dvh{height: 100dvh;}@utility h-min{height: var(--size-min);}@utility h-max{height: var(--size-max);}@utility h-fit{height: var(--size-fit);}@utility h-1\/2{height: var(--size-1-2);}@utility h-1\/3{height: var(--size-1-3);}@utility h-2\/3{height: var(--size-2-3);}@utility h-1\/4{height: var(--size-1-4);}@utility h-2\/4{height: var(--size-2-4);}@utility h-3\/4{height: var(--size-3-4);}@utility h-1\/5{height: var(--size-1-5);}@utility h-2\/5{height: var(--size-2-5);}@utility h-3\/5{height: var(--size-3-5);}@utility h-4\/5{height: var(--size-4-5);}@utility h-1\/6{height: var(--size-1-6);}@utility h-2\/6{height: var(--size-2-6);}@utility h-3\/6{height: var(--size-3-6);}@utility h-4\/6{height: var(--size-4-6);}@utility h-5\/6{height: var(--size-5-6);}@utility h-1\/12{height: var(--size-1-12);}@utility h-2\/12{height: var(--size-2-12);}@utility h-3\/12{height: var(--size-3-12);}@utility h-4\/12{height: var(--size-4-12);}@utility h-5\/12{height: var(--size-5-12);}@utility h-6\/12{height: var(--size-6-12);}@utility h-7\/12{height: var(--size-7-12);}@utility h-8\/12{height: var(--size-8-12);}@utility h-9\/12{height: var(--size-9-12);}@utility h-10\/12{height: var(--size-10-12);}@utility h-11\/12{height: var(--size-11-12);}.bg-white{background-color:var(--color-white)}.bg-black{background-color:var(--color-black)}.bg-transparent{background-color:var(--color-transparent)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-gray-300{background-color:var(--color-gray-300)}.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-gray-700{background-color:var(--color-gray-700)}.bg-gray-800{background-color:var(--color-gray-800)}.bg-gray-900{background-color:var(--color-gray-900)}.p-2{padding:var(--spacing-2)}.p-4{padding:var(--spacing-4)}.p-6{padding:var(--spacing-6)}.right-4{right:var(--spacing-4)}.space-y-4>*+*{margin-top:var(--spacing-4)}.space-y-6>*+*{margin-top:var(--spacing-6)}.bg-surface{background-color:var(--color-surface)}.bg-surface-hover{background-color:var(--color-surface-raised)}.bg-surface-sunken{background-color:var(--color-surface-sunken)}.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-primary{color:var(--color-text)}.text-secondary{color:var(--color-text-secondary)}.text-tertiary{color:var(--color-text-tertiary)}.text-disabled{color:var(--color-text-disabled)}.border-neutral{border-color:var(--color-border)}.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-700)}.hover\:bg-primary-600:hover{background-color:var(--color-primary-600)}.hover\:bg-primary-700:hover{background-color:var(--color-primary-700)}.bg-gray-50{background-color:var(--color-neutral-50)}.bg-gray-100{background-color:var(--color-surface)}.bg-gray-200{background-color:var(--color-neutral-200)}.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)}.text-gray-300{color:var(--color-neutral-300)}.text-gray-400{color:var(--color-neutral-400)}.text-gray-500{color:var(--color-text-tertiary)}.text-gray-600{color:var(--color-text-secondary)}.text-gray-700{color:var(--color-neutral-700)}.text-gray-800{color:var(--color-neutral-800)}.text-gray-900{color:var(--color-text)}.border-gray-100{border-color:var(--color-neutral-100)}.border-gray-200{border-color:var(--color-border)}.border-gray-300{border-color:var(--color-neutral-300)}.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-100{background-color:var(--color-blue-100)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-blue-600{background-color:var(--color-blue-600)}.bg-blue-700{background-color:var(--color-blue-700)}.bg-blue-800{background-color:var(--color-blue-800)}.bg-blue-900{background-color:var(--color-blue-900)}.hover\:bg-blue-600:hover{background-color:var(--color-blue-600)}.hover\:bg-blue-700:hover{background-color:var(--color-blue-700)}.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-800{color:var(--color-blue-800)}.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 currentColor}.focus\:ring-4:focus{box-shadow:0 0 0 4px currentColor}.peer:focus~.peer-focus\:ring-blue-300{box-shadow:0 0 0 4px var(--color-blue-300)}.peer:focus~.peer-focus\:ring-blue-800{box-shadow:0 0 0 4px var(--color-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:transparent}.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-width:1px;border-top-style:solid}.divide-gray-200>*+*{border-color:var(--color-neutral-200)}.divide-gray-700>*+*{border-color:var(--color-neutral-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:#fff}.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:#fff}.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 currentColor}.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 currentColor}.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: rgba(88, 28, 135, .2);--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: rgba(49, 46, 129, .1)}.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: rgba(31, 41, 55, .4);--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: rgba(31, 41, 55, .2)}.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: rgba(30, 58, 138, .2);--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: rgba(30, 58, 138, .2)}.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: rgba(88, 28, 135, .2);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, transparent)}.dark\:to-indigo-900\/10{--tw-gradient-to: rgba(49, 46, 129, .1)}.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, rgba(0, 0, 0, .6))}.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{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.backdrop-blur{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.backdrop-blur-lg{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.backdrop-blur-xl{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}.backdrop-saturate-150{-webkit-backdrop-filter:saturate(1.5);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{color:var(--color-neutral-700)}.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}:root{--color-overlay: rgba(0, 0, 0, .6);--color-overlay-light: rgba(255, 255, 255, .1);--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 *{animation-duration:1ms!important;transition-duration:1ms!important}.high-contrast,.high-contrast *{--surface-background: #ffffff;--surface-card: #ffffff;--surface-elevated: #ffffff;--surface-hover: #f0f0f0;--surface-interactive: #e8e8e8;--text-primary: #000000;--text-secondary: #1a1a1a;--text-tertiary: #333333;--text-inverse: #ffffff;--border-color-default: #000000;--border-color-strong: #000000;--border-color-muted: #666666;--color-primary-500: #0000ff;--color-primary-600: #0000cc;--color-primary-700: #000099;--color-primary-hover: #0000cc;--color-primary-active: #000099;--color-success: #006600;--color-success-600: #006600;--color-warning: #996600;--color-warning-600: #996600;--color-error: #cc0000;--color-error-600: #cc0000;--color-neutral-50: #ffffff;--color-neutral-100: #f5f5f5;--color-neutral-200: #e0e0e0;--color-neutral-300: #cccccc;--color-neutral-400: #999999;--color-neutral-500: #666666;--color-neutral-600: #4d4d4d;--color-neutral-700: #333333;--color-neutral-800: #1a1a1a;--color-neutral-900: #000000;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .5);--shadow-md: 0 4px 6px rgba(0, 0, 0, .5);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .5);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .5);--focus-ring-color: #0000ff;--focus-ring-width: 3px;--focus-ring-offset: 2px}.dark.high-contrast,.dark .high-contrast,.dark.high-contrast *{--surface-background: #000000;--surface-card: #000000;--surface-elevated: #000000;--surface-hover: #1a1a1a;--surface-interactive: #262626;--text-primary: #ffffff;--text-secondary: #f0f0f0;--text-tertiary: #cccccc;--text-inverse: #000000;--border-color-default: #ffffff;--border-color-strong: #ffffff;--border-color-muted: #999999;--color-primary-500: #66b3ff;--color-primary-600: #4d9fff;--color-primary-700: #3385ff;--color-primary-hover: #4d9fff;--color-primary-active: #3385ff;--color-success: #00ff00;--color-success-600: #00ff00;--color-warning: #ffcc00;--color-warning-600: #ffcc00;--color-error: #ff3333;--color-error-600: #ff3333;--focus-ring-color: #66b3ff}.btn-base{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1rem;border-radius:var(--border-radius-button);font-weight:500;font-size:1rem;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}.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{background-color:var(--color-primary-500);color:var(--color-text-on-primary)}.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);overflow:hidden;transition:box-shadow var(--transition-duration-normal) var(--transition-timing-ease)}.input-base{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius-input);padding:.5rem .75rem;font-size:1rem;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)}.input-base:focus{outline:none;border-color:var(--color-primary-500);box-shadow:var(--focus-ring-shadow)}.input-base:disabled{background-color:var(--color-surface-sunken);color:var(--color-text-disabled);cursor:not-allowed}@supports (color: oklch(.6 .25 240)){html[data-supports-oklch-colors=true]{--color-primary-500: var(--theme-primary-oklch, oklch(.6 .25 240));--color-accent-500: var(--theme-accent-oklch, oklch(.7 .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{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.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 (min-width: 400px){.container-responsive .responsive-grid{grid-template-columns:repeat(2,1fr)}}@container (min-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:absolute;position-anchor:--element-anchor;top:anchor(bottom);left:anchor(center);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: high){: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)}}.theme-personality-playful{--current-theme-personality: "playful";--theme-radius-button: var(--theme-radius-playful);--theme-radius-card: var(--theme-card-radius-playful);--theme-radius-input: var(--theme-input-radius-playful);--theme-shadow-button: var(--theme-shadow-playful);--theme-shadow-card: var(--theme-card-shadow-playful);--theme-duration: var(--theme-duration-playful);--theme-easing: var(--theme-easing-playful);--theme-hover-transform: var(--theme-hover-transform-playful);--theme-page-duration: var(--theme-page-duration-playful);--theme-spacing: var(--theme-spacing-playful);--theme-font-weight: var(--theme-font-weight-playful);--theme-letter-spacing: var(--theme-letter-spacing-playful);--theme-line-height: var(--theme-line-height-playful);--theme-backdrop-blur: var(--theme-backdrop-blur-playful)}.theme-personality-professional{--current-theme-personality: "professional";--theme-radius-button: var(--theme-radius-professional);--theme-radius-card: var(--theme-card-radius-professional);--theme-radius-input: var(--theme-input-radius-professional);--theme-shadow-button: var(--theme-shadow-professional);--theme-shadow-card: var(--theme-card-shadow-professional);--theme-duration: var(--theme-duration-professional);--theme-easing: var(--theme-easing-professional);--theme-hover-transform: var(--theme-hover-transform-professional);--theme-page-duration: var(--theme-page-duration-professional);--theme-spacing: var(--theme-spacing-professional);--theme-font-weight: var(--theme-font-weight-professional);--theme-letter-spacing: var(--theme-letter-spacing-professional);--theme-line-height: var(--theme-line-height-professional);--theme-backdrop-blur: var(--theme-backdrop-blur-professional)}.theme-personality-technical{--current-theme-personality: "technical";--theme-radius-button: var(--theme-radius-technical);--theme-radius-card: var(--theme-card-radius-technical);--theme-radius-input: var(--theme-input-radius-technical);--theme-shadow-button: var(--theme-shadow-technical);--theme-shadow-card: var(--theme-card-shadow-technical);--theme-duration: var(--theme-duration-technical);--theme-easing: var(--theme-easing-technical);--theme-hover-transform: var(--theme-hover-transform-technical);--theme-page-duration: var(--theme-page-duration-technical);--theme-spacing: var(--theme-spacing-technical);--theme-font-weight: var(--theme-font-weight-technical);--theme-letter-spacing: var(--theme-letter-spacing-technical);--theme-line-height: var(--theme-line-height-technical);--theme-backdrop-blur: var(--theme-backdrop-blur-technical)}.theme-personality-organic{--current-theme-personality: "organic";--theme-radius-button: var(--theme-radius-organic);--theme-radius-card: var(--theme-card-radius-organic);--theme-radius-input: var(--theme-input-radius-organic);--theme-shadow-button: var(--theme-shadow-organic);--theme-shadow-card: var(--theme-card-shadow-organic);--theme-duration: var(--theme-duration-organic);--theme-easing: var(--theme-easing-organic);--theme-hover-transform: var(--theme-hover-transform-organic);--theme-page-duration: var(--theme-page-duration-organic);--theme-spacing: var(--theme-spacing-organic);--theme-font-weight: var(--theme-font-weight-organic);--theme-letter-spacing: var(--theme-letter-spacing-organic);--theme-line-height: var(--theme-line-height-organic);--theme-backdrop-blur: var(--theme-backdrop-blur-organic)}.theme-personality-elegant{--current-theme-personality: "elegant";--theme-radius-button: var(--theme-radius-elegant);--theme-radius-card: var(--theme-card-radius-elegant);--theme-radius-input: var(--theme-input-radius-elegant);--theme-shadow-button: var(--theme-shadow-elegant);--theme-shadow-card: var(--theme-card-shadow-elegant);--theme-duration: var(--theme-duration-elegant);--theme-easing: var(--theme-easing-elegant);--theme-hover-transform: var(--theme-hover-transform-elegant);--theme-page-duration: var(--theme-page-duration-elegant);--theme-spacing: var(--theme-spacing-elegant);--theme-font-weight: var(--theme-font-weight-elegant);--theme-letter-spacing: var(--theme-letter-spacing-elegant);--theme-line-height: var(--theme-line-height-elegant);--theme-backdrop-blur: var(--theme-backdrop-blur-elegant)}.component-button{border-radius:var(--component-button-radius);box-shadow:var(--component-shadow-button);transition:background-color var(--component-duration) var(--component-easing),color var(--component-duration) var(--component-easing),border-color var(--component-duration) var(--component-easing),box-shadow var(--component-duration) var(--component-easing),transform var(--component-duration) var(--component-easing)}.component-button:hover{transform:var(--component-hover-transform)}.component-card{border-radius:var(--component-card-radius);box-shadow:var(--component-shadow-card);transition:background-color var(--component-duration) var(--component-easing),color var(--component-duration) var(--component-easing),border-color var(--component-duration) var(--component-easing),box-shadow var(--component-duration) var(--component-easing),transform var(--component-duration) var(--component-easing)}.component-card:hover{transform:var(--component-hover-transform)}.component-input{border-radius:var(--component-input-radius);transition:background-color var(--component-duration) var(--component-easing),color var(--component-duration) var(--component-easing),border-color var(--component-duration) var(--component-easing),box-shadow var(--component-duration) var(--component-easing),transform var(--component-duration) var(--component-easing)}.component-modal{border-radius:var(--component-modal-radius);box-shadow:var(--component-shadow-modal)}.theme-typography{font-weight:var(--font-normal);letter-spacing:normal;line-height:var(--leading-normal)}.theme-typography-medium{font-weight:var(--theme-font-weight-medium, var(--font-weight-medium))}.theme-spacing{margin:var(--space-4)}.theme-padding{padding:var(--space-4)}.btn-theme-primary{background:var(--color-primary);color:var(--text-on-primary);border-radius:var(--theme-radius-button, var(--radius-lg));padding:var(--theme-spacing-button-y, .5rem) var(--theme-spacing-button-x, 1rem);font-weight:var(--theme-font-weight-medium, 500);font-size:var(--theme-font-size-button, .875rem);letter-spacing:var(--theme-letter-spacing, 0);line-height:var(--theme-line-height, 1.5);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);box-shadow:var(--theme-shadow-button, var(--shadow-sm));backdrop-filter:blur(var(--theme-backdrop-blur, 2px));border:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;text-align:center}.btn-theme-primary:hover{transform:var(--theme-hover-transform, translateY(-1px));box-shadow:var(--theme-shadow-button-hover, var(--shadow-md));background:var(--color-primary-light, var(--color-primary));opacity:.9}.btn-theme-primary:active{transform:var(--theme-hover-transform-subtle, translateY(0));transition-duration:var(--theme-duration-fast, .1s)}.btn-theme-secondary{background:var(--color-secondary);color:var(--text-on-secondary);border-radius:var(--theme-radius-button, var(--radius-lg));padding:var(--theme-spacing-button-y, .5rem) var(--theme-spacing-button-x, 1rem);font-weight:var(--theme-font-weight-medium, 500);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);box-shadow:var(--theme-shadow-button, var(--shadow-sm));border:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.btn-theme-outline{background:transparent;color:var(--color-primary);border:var(--theme-border-width, 1px) solid var(--color-primary);border-radius:var(--theme-radius-button, var(--radius-lg));padding:var(--theme-spacing-button-y, .5rem) var(--theme-spacing-button-x, 1rem);font-weight:var(--theme-font-weight-medium, 500);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);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.btn-theme-outline:hover{background:var(--color-primary);color:var(--text-on-primary);transform:var(--theme-hover-transform-subtle, translateY(-1px))}.btn-theme-ghost{background:transparent;color:var(--text-primary);border-radius:var(--theme-radius-button, var(--radius-lg));padding:var(--theme-spacing-button-y, .5rem) var(--theme-spacing-button-x, 1rem);font-weight:var(--theme-font-weight-medium, 500);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);border:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.btn-theme-ghost:hover{background:var(--surface-hover, rgba(0, 0, 0, .05));transform:var(--theme-hover-transform-subtle, translateY(-1px))}.btn-theme-sm{padding:var(--theme-spacing-button-sm-y, .375rem) var(--theme-spacing-button-sm-x, .75rem);font-size:var(--theme-font-size-button-sm, .75rem);border-radius:var(--theme-radius-button-sm, var(--radius-md));min-height:2rem}.btn-theme-lg{padding:var(--theme-spacing-button-lg-y, .75rem) var(--theme-spacing-button-lg-x, 1.5rem);font-size:var(--theme-font-size-button-lg, 1rem);border-radius:var(--theme-radius-button-lg, var(--radius-xl));min-height:2.75rem}.btn-theme-icon{padding:var(--theme-spacing-button-y, .5rem);width:2.25rem;height:2.25rem;min-width:2.25rem;border-radius:var(--theme-radius-button, var(--radius-lg))}.disable-animations .btn-theme-primary,.disable-animations .btn-theme-secondary,.disable-animations .btn-theme-outline,.disable-animations .btn-theme-ghost{transition:none!important;transform:none!important}@media (prefers-reduced-motion: reduce){.btn-theme-primary,.btn-theme-secondary,.btn-theme-outline,.btn-theme-ghost{transition:none!important}.btn-theme-primary:hover,.btn-theme-secondary:hover,.btn-theme-outline:hover,.btn-theme-ghost:hover{transform:none!important}}.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:none;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))}.card-theme-elevated:hover{transform:var(--theme-hover-transform, translateY(-2px));box-shadow:var(--theme-shadow-card-hover, var(--shadow-xl))}.card-theme-outline{background:transparent;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)}.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{background:transparent;border:none;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)}.card-theme-ghost:hover{background:var(--surface-hover, rgba(0, 0, 0, .02));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}}.input-theme-default{background:var(--surface-input, white);border:1px solid var(--color-neutral-300);border-radius:var(--theme-radius-input, var(--radius-md));padding:var(--theme-spacing-input-y, .5rem) var(--theme-spacing-input-x, .75rem);color:var(--text-primary);font-family:inherit;font-weight:var(--theme-font-weight, 400);font-size:var(--theme-font-size-input, .875rem);line-height:var(--theme-line-height, 1.5);letter-spacing:var(--theme-letter-spacing, 0);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, 1px));box-shadow:var(--theme-shadow-input, none)}.input-theme-default:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary) 20%,transparent),var(--theme-shadow-input-focus, var(--shadow-sm));background:var(--surface-input-focus, var(--surface-input));transform:var(--theme-input-focus-transform, none)}.textarea-theme-default{background:var(--surface-input, white);border:1px solid var(--color-neutral-300);border-radius:var(--theme-radius-input, var(--radius-md));padding:var(--theme-spacing-input-y, .5rem) var(--theme-spacing-input-x, .75rem);color:var(--text-primary);font-family:inherit;font-weight:var(--theme-font-weight, 400);font-size:var(--theme-font-size-input, .875rem);line-height:var(--theme-line-height, 1.5);letter-spacing:var(--theme-letter-spacing, 0);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, 1px));resize:vertical;min-height:2.5rem}.textarea-theme-default:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary) 20%,transparent),var(--theme-shadow-input-focus, var(--shadow-sm));background:var(--surface-input-focus, var(--surface-input));transform:var(--theme-input-focus-transform, none)}.select-theme-default{background:var(--surface-input, white);border:1px solid var(--color-neutral-300);border-radius:var(--theme-radius-input, var(--radius-md));padding:var(--theme-spacing-input-y, .5rem) var(--theme-spacing-input-x, .75rem);color:var(--text-primary);font-family:inherit;font-weight:var(--theme-font-weight, 400);font-size:var(--theme-font-size-input, .875rem);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);cursor:pointer}.select-theme-default:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary) 20%,transparent)}.input-theme-sm,.textarea-theme-sm,.select-theme-sm{padding:var(--theme-spacing-input-sm-y, .375rem) var(--theme-spacing-input-sm-x, .5rem);font-size:var(--theme-font-size-input-sm, .75rem);border-radius:var(--theme-radius-input-sm, var(--radius-sm));min-height:2rem}.input-theme-lg,.textarea-theme-lg,.select-theme-lg{padding:var(--theme-spacing-input-lg-y, .75rem) var(--theme-spacing-input-lg-x, 1rem);font-size:var(--theme-font-size-input-lg, 1rem);border-radius:var(--theme-radius-input-lg, var(--radius-lg));min-height:3rem}.input-theme-default:disabled,.textarea-theme-default:disabled,.select-theme-default:disabled{background:var(--color-neutral-100);color:var(--text-disabled);cursor:not-allowed;opacity:.6}.input-theme-default:invalid,.textarea-theme-default:invalid,.select-theme-default:invalid{border-color:var(--color-error);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-error) 20%,transparent)}.input-theme-default::placeholder,.textarea-theme-default::placeholder{color:var(--text-tertiary);opacity:.7;font-weight:var(--theme-font-weight, 400)}.disable-animations .input-theme-default,.disable-animations .textarea-theme-default,.disable-animations .select-theme-default{transition:none!important;transform:none!important}@media (prefers-reduced-motion: reduce){.input-theme-default,.textarea-theme-default,.select-theme-default{transition:none!important}.input-theme-default:focus,.textarea-theme-default:focus,.select-theme-default:focus{transform:none!important}}@layer tokens{:root{--space-0-5: .125rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--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);@supports (text-box: trim-both cap alphabetic){--text-box-trim: trim-both cap alphabetic}--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: #5C9A4D;--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: #ffffff;--color-black: #000000;--color-success-200: #bbf7d0;--color-success-300: #86efac;--color-success-400: #34d399;--color-success: #10b981;--color-success-500: #10b981;--color-success-600: #059669;--color-success-700: #047857;--color-success-light: #d1fae5;--color-error-200: #fecaca;--color-error-300: #fca5a5;--color-error: #dc2626;--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-info: #3b82f6;--color-info-600: #2563eb;--color-info-dark: #2563eb;--color-success-dark: #047857;--color-warning-dark: #b45309;--color-error-dark: #dc2626;--color-success-icon: #047857;--color-warning-icon: #b45309;--color-error-icon: #dc2626;--color-info-icon: #2563eb;--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-alpha-20);--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-alpha-20);--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-600: #0891b2;--color-accent-hover: var(--color-accent-600);--tron-cyan-rgb: 0 191 255;--tron-glow-alpha-15: rgba(var(--tron-cyan-rgb), .15);--tron-glow-alpha-30: rgba(var(--tron-cyan-rgb), .3);--tron-glow-alpha-40: rgba(var(--tron-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-error: var(--color-error);--border-success: var(--color-success);--border-warning: var(--color-warning);--border-subtle: rgba(255, 255, 255, .1);--border-faint: rgba(255, 255, 255, .05);--overlay-transparent: rgba(0, 0, 0, .1);--overlay-subtle: rgba(0, 0, 0, .2);--overlay-light: rgba(0, 0, 0, .3);--overlay-medium: rgba(0, 0, 0, .5);--overlay-dark: rgba(0, 0, 0, .6);--overlay-heavy: rgba(0, 0, 0, .75);--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);--onboarding-spotlight-opacity: .75;--onboarding-spotlight-padding: 8px;--onboarding-spotlight-radius: 8px;--onboarding-popover-width: 320px;--onboarding-popover-offset: 16px;--overlay-drawer: var(--overlay-light);--overlay-tooltip: rgba(0, 0, 0, .9);--surface-glass-light: rgba(255, 255, 255, .75);--surface-glass-light-strong: rgba(255, 255, 255, .9);--surface-glass-light-subtle: rgba(248, 249, 252, .8);--surface-glass-light-muted: rgba(241, 243, 247, .6);--surface-glass-light-alt: rgba(248, 250, 252, .95);--surface-glass-dark: rgba(25, 26, 31, .75);--surface-glass-dark-strong: rgba(25, 26, 31, .85);--surface-glass-dark-secondary: rgba(35, 36, 41, .8);--surface-glass-dark-muted: rgba(45, 46, 51, .6);--surface-glass-dark-gradient-start: rgba(15, 23, 42, .9);--surface-glass-dark-gradient-end: rgba(30, 41, 59, .9);--surface-glass-dark-deep: rgba(20, 20, 30, .9);--surface-white-5: rgba(255, 255, 255, .05);--surface-white-10: rgba(255, 255, 255, .1);--surface-white-15: rgba(255, 255, 255, .15);--surface-white-20: rgba(255, 255, 255, .2);--surface-white-30: rgba(255, 255, 255, .3);--surface-white-50: rgba(255, 255, 255, .5);--surface-white-65: rgba(255, 255, 255, .65);--surface-white-75: rgba(255, 255, 255, .75);--surface-white-80: rgba(255, 255, 255, .8);--surface-white-95: rgba(255, 255, 255, .95);--color-primary-alpha-10: rgba(59, 130, 246, .1);--color-primary-alpha-30: rgba(59, 130, 246, .3);--color-danger-alpha-10: rgba(239, 68, 68, .1);--color-danger-alpha-15: rgba(239, 68, 68, .15);--color-danger-alpha-30: rgba(239, 68, 68, .3);--border-alpha-white-10: rgba(255, 255, 255, .1);--border-alpha-white-30: rgba(255, 255, 255, .3);--border-alpha-black-10: rgba(0, 0, 0, .1);--shadow-glow-success: rgba(16, 185, 129, .5);--shadow-glow-success-light: rgba(16, 185, 129, .3);--shadow-glow-error: rgba(239, 68, 68, .4);--shadow-glow-error-light: rgba(248, 113, 113, .3);--shadow-glow-warning: rgba(245, 158, 11, .4);--shadow-glow-primary: rgba(59, 130, 246, .5);--shadow-glow-primary-strong: rgba(59, 130, 246, .7);--shadow-glow-purple: rgba(139, 92, 246, .2);--shadow-glow-purple-medium: rgba(139, 92, 246, .4);--shadow-glow-indigo: rgba(79, 70, 229, .4);--shadow-glow-indigo-light: rgba(99, 102, 241, .15);--shadow-inset-subtle: rgba(0, 0, 0, .1);--shadow-panel: rgba(0, 0, 0, .3);--gradient-primary-subtle: rgba(59, 130, 246, .06);--gradient-primary-light: rgba(59, 130, 246, .05);--gradient-purple-light: rgba(168, 85, 247, .1);--gradient-purple-medium: rgba(139, 92, 246, .2);--text-overlay-primary: rgba(255, 255, 255, .9);--text-overlay-secondary: rgba(255, 255, 255, .7);--text-overlay-muted: rgba(255, 255, 255, .8);--text-shadow-readable: 0 2px 8px rgba(0, 0, 0, .7);--text-shadow-strong: 0 3px 12px rgba(0, 0, 0, .8);--text-shadow-subtle: 0 1px 4px rgba(0, 0, 0, .5);--color-highlight-yellow: rgba(255, 255, 0, .3);--color-highlight-yellow-light: rgba(255, 255, 200, .3);--color-highlight-yellow-strong: rgba(255, 255, 200, .5);--color-highlight-blue: rgba(59, 130, 246, .1);--color-highlight-green: rgba(34, 197, 94, .1);--color-highlight-pink: rgba(236, 72, 153, .1);--color-highlight-purple: rgba(139, 92, 246, .1);--chart-color-1: #667eea;--chart-color-2: #764ba2;--chart-color-3: #f093fb;--chart-color-4: #4facfe;--chart-color-5: #43e97b;--chart-color-6: #fa709a;--chart-color-7: #fee140;--chart-color-8: #30cfd0;--chart-bg-light: rgba(255, 255, 255, .9);--chart-bg-dark: rgba(31, 41, 55, .9);--chart-grid-light: rgba(0, 0, 0, .1);--chart-grid-dark: rgba(255, 255, 255, .1);--color-primary-alpha-3: rgba(var(--color-primary-rgb), .03);--color-primary-alpha-5: rgba(var(--color-primary-rgb), .05);--color-primary-alpha-10: rgba(var(--color-primary-rgb), .1);--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-primary-alpha-30: rgba(var(--color-primary-rgb), .3);--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: rgba(255, 255, 255, .05);--color-white-alpha-10: rgba(255, 255, 255, .1);--color-white-alpha-15: rgba(255, 255, 255, .15);--color-white-alpha-20: rgba(255, 255, 255, .2);--color-white-alpha-30: rgba(255, 255, 255, .3);--color-white-alpha-40: rgba(255, 255, 255, .4);--color-white-alpha-50: rgba(255, 255, 255, .5);--color-white-alpha-60: rgba(255, 255, 255, .6);--color-white-alpha-70: rgba(255, 255, 255, .7);--color-white-alpha-80: rgba(255, 255, 255, .8);--color-white-alpha-90: rgba(255, 255, 255, .9);--color-white-alpha-95: rgba(255, 255, 255, .95);--color-black-rgb: 0 0 0;--color-black-alpha-5: rgba(0, 0, 0, .05);--color-black-alpha-10: rgba(0, 0, 0, .1);--color-black-alpha-20: rgba(0, 0, 0, .2);--color-black-alpha-30: rgba(0, 0, 0, .3);--color-black-alpha-50: rgba(0, 0, 0, .5);--color-black-alpha-70: rgba(0, 0, 0, .7);--color-black-alpha-80: rgba(0, 0, 0, .8);--color-black-alpha-90: rgba(0, 0, 0, .9);--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: #ffd700;--color-medal-gold-light: #ffed4e;--color-medal-gold-text: #8b6914;--color-medal-gold-rgb: 255 215 0;--color-medal-silver: #c0c0c0;--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, rgba(102, 126, 234, .95) 0%, rgba(118, 75, 162, .95) 100%);--slideshow-gradient-primary-dark: linear-gradient(135deg, rgba(102, 126, 234, 1) 0%, rgba(118, 75, 162, 1) 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 rgba(0, 0, 0, .2);--slideshow-shadow-glow: 0 4px 6px -1px rgba(102, 126, 234, .4);--slideshow-overlay-dark: rgba(0, 0, 0, .8);--slideshow-overlay-light: rgba(255, 255, 255, .95);--slideshow-border-subtle: rgba(0, 0, 0, .1);--gradient-sky: linear-gradient(180deg, #87ceeb 0%, #e0f6ff 100%);--gradient-sky-dawn: linear-gradient(180deg, #ffd89b 0%, #19547b 100%);--gradient-sky-dusk: linear-gradient(180deg, #ff9a56 0%, #4a00e0 100%);--gradient-grass: linear-gradient(180deg, #90ee90 0%, #7cb342 100%);--gradient-forest: linear-gradient(180deg, #134e5e 0%, #71b280 100%);--gradient-ocean: linear-gradient(180deg, #00c6ff 0%, #0072ff 100%);--gradient-sunset: linear-gradient(135deg, #ff512f 0%, #f09819 100%);--gradient-aurora: linear-gradient(135deg, #a8edea 0%, #fed6e3 100%);--gradient-nebula: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--gradient-mastery: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--gradient-mastery-gold: linear-gradient(135deg, #f2994a 0%, #f2c94c 100%);--gradient-mastery-platinum: linear-gradient(135deg, #e0e0e0 0%, #ffffff 100%);--gradient-success: linear-gradient(135deg, #34c759 0%, #30b169 100%);--gradient-progress: linear-gradient(90deg, var(--color-accent-500) 0%, var(--color-primary-500) 100%);--gradient-achievement: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);--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%);--gradient-surface-light: linear-gradient(135deg, rgba(255, 255, 255, .05) 0%, rgba(255, 255, 255, .02) 100%);--gradient-surface-dark: linear-gradient(135deg, rgba(0, 0, 0, .05) 0%, rgba(0, 0, 0, .02) 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-popover: 1070;--z-index-tooltip: 1080;--z-index-toast: 1090;--z-index-keyboard: 1100;--z-index-system-alert: 1110;--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: #ffffff;--surface-elevated: var(--color-neutral-50);--surface-overlay: rgba(255, 255, 255, .95);--surface-interactive: var(--color-neutral-100);--surface-hover: var(--color-neutral-100);--surface-active: var(--color-neutral-200);--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: #ffffff;--text-on-primary: #ffffff;--text-on-success: #ffffff;--text-on-error: #ffffff;--text-on-warning: var(--color-neutral-900);--text-on-info: #ffffff;--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);--surface-disabled: var(--color-neutral-50);--cursor-disabled: not-allowed;--color-link: var(--color-primary-600);--color-link-hover: var(--color-primary-700);--color-link-visited: var(--color-secondary-600);--color-link-active: var(--color-primary-800);--color-link-decoration: underline;--color-link-decoration-thickness: 2px;--radius-xs: .25rem;--radius-sm: .5rem;--radius-base: .5rem;--radius-md: 1rem;--radius-lg: 1rem;--radius-xl: 1.5rem;--radius-full: 9999px;--corner-shape-default: round;--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 rgba(0, 0, 0, .05);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-base: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px 0 rgba(0, 0, 0, .06);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--shadow-color-sm: rgba(0, 0, 0, .1);--shadow-color-md: rgba(0, 0, 0, .15);--shadow-color-lg: rgba(0, 0, 0, .2);--shadow-elevated: var(--shadow-xl);--duration-fast: .15s;--duration-normal: .25s;--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);--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;--mascot-size-sm: 64px;--mascot-size-md: 96px;--mascot-size-lg: 120px;--button-height-xs: 1.5rem;--button-height-sm: 2rem;--button-height-md: 2.5rem;--button-height-lg: 3rem;--button-min-height: var(--button-height-md);--button-transition: all 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: rgba(255, 255, 255, .4);--button-ripple-scale: 2.5;--button-ripple-duration: .6s;--card-hover-lift: translateY(-4px);--transition-interactive: all var(--duration-fast) var(--ease-out);--transition-lift: transform var(--duration-normal) var(--ease-out), box-shadow var(--duration-normal) var(--ease-out);--focus-ring-width: 4px;--focus-ring-opacity: .4;--focus-ring-color: var(--color-primary-alpha-30);--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(--shadow-md);--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: 2px;--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 rgba(0, 0, 0, .1);--pill-tab-border-color: var(--border-color-default, var(--color-neutral-200));--planner-day-button-height: var(--button-height-md);--planner-content-padding: var(--space-6);--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);--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: rgba(255, 193, 7, .15);--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: rgba(33, 150, 243, .15);--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: rgba(236, 72, 153, .15);--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: rgba(63, 81, 181, .15);--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: rgba(76, 175, 80, .15);--literacy-writing-practice-bg: linear-gradient(135deg, #e8f7f5 0%, #d1e8e1 100%);--literacy-writing-practice-accent: #14b8a6;--literacy-writing-practice-accent-dark: #0d9488;--literacy-writing-practice-border: rgba(20, 184, 166, .15);--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: rgba(156, 39, 176, .15);--literacy-daily-challenge-bg: linear-gradient(135deg, #fff7e8 0%, #ffe8d1 100%);--literacy-daily-challenge-accent: #f59e0b;--literacy-daily-challenge-accent-dark: #d97706;--literacy-daily-challenge-border: rgba(245, 158, 11, .15);--literacy-feedback-correct-bg: linear-gradient(135deg, #e8f5e9 0%, #c8e6c9 100%);--literacy-feedback-correct-border: rgba(76, 175, 80, .2);--literacy-feedback-incorrect-bg: linear-gradient(135deg, #fff3e0 0%, #ffe0b2 100%);--literacy-feedback-incorrect-border: rgba(255, 152, 0, .2);--literacy-feedback-error-bg: linear-gradient(135deg, #ffebee 0%, #ffcdd2 100%);--literacy-feedback-error-border: rgba(244, 67, 54, .2);--toast-max-width: 420px;--toast-content-max-width: 28rem;--toast-min-width: 320px;--toast-icon-size: var(--space-12);--toast-duration-short: 2s;--toast-duration-default: 3s;--toast-duration-action: 5s;--toast-duration-long: 8s;--toast-max-concurrent: 5;--toast-stack-gap: var(--space-3);--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: #2563eb;--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;--toast-progress-animation-duration: var(--toast-duration-default);--focus-ring-width: 3px;--focus-ring-offset: 2px;--focus-ring-width-thick: 4px;--focus-ring-color: var(--color-primary-500);--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;--spinner-size-sm: 16px;--spinner-size-md: 24px;--spinner-size-lg: 32px;--chart-height-sm: 200px;--chart-height-md: 320px;--chart-height-lg: 480px;--message-min-height: 80px;--content-min-height: 160px;--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);--tab-glass-bg-light: rgba(255, 255, 255, .08);--tab-glass-bg-hover: rgba(255, 255, 255, .12);--tab-glass-border: rgba(255, 255, 255, .15);--tab-backdrop-blur: 20px;--tab-backdrop-blur-hover: 10px;--tab-gradient-primary: linear-gradient(135deg, var(--color-primary-500) 0%, var(--color-secondary-500) 50%, var(--color-primary-600) 100%);--tab-glow-primary: rgba(var(--color-primary-500-rgb), .25);--tab-glow-ambient: rgba(var(--color-primary-500-rgb), .1)}@supports (corner-shape: squircle){:root{--corner-shape-default: squircle;--corner-shape-card: squircle;--corner-shape-avatar: squircle;--corner-shape-button: squircle;--corner-shape-modal: squircle}}}@layer theme{.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: rgba(35, 173, 143, .05);--color-primary-alpha-10: rgba(35, 173, 143, .1);--color-primary-alpha-15: rgba(35, 173, 143, .15);--color-primary-alpha-20: rgba(35, 173, 143, .2);--color-primary-alpha-25: rgba(35, 173, 143, .25);--color-primary-alpha-30: rgba(35, 173, 143, .3);--color-primary-alpha-50: rgba(35, 173, 143, .5);--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-900);--surface-card: var(--color-neutral-800);--surface-elevated: var(--color-neutral-700);--surface-overlay: rgba(31, 41, 55, .95);--surface-interactive: var(--color-neutral-700);--surface-hover: var(--color-neutral-700);--surface-active: var(--color-neutral-600);--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-50);--text-secondary: var(--color-neutral-200);--text-tertiary: var(--color-neutral-400);--text-inverse: var(--color-neutral-900);--color-logo: var(--color-white);--text-on-primary: var(--color-neutral-50);--text-on-success: var(--color-neutral-50);--text-on-error: var(--color-neutral-50);--text-on-warning: var(--color-neutral-900);--text-on-info: var(--color-neutral-50);--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);--surface-disabled: var(--color-neutral-800);--color-link: var(--color-primary-400);--color-link-hover: var(--color-primary-300);--color-link-visited: var(--color-secondary-400);--color-link-active: var(--color-primary-200);--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: rgba(59, 130, 246, .1);--surface-info-hover: rgba(59, 130, 246, .15);--text-info: var(--color-primary-300);--icon-info: var(--color-primary-400);--border-info: rgba(59, 130, 246, .25);--surface-warning: rgba(245, 158, 11, .1);--surface-warning-hover: rgba(245, 158, 11, .15);--text-warning: #fbbf24;--icon-warning: #f59e0b;--border-warning: rgba(245, 158, 11, .25);--surface-error: rgba(239, 68, 68, .1);--surface-error-hover: rgba(239, 68, 68, .15);--text-error: #fca5a5;--icon-error: #f87171;--border-error: rgba(239, 68, 68, .25);--surface-critical: rgba(220, 38, 38, .15);--surface-critical-hover: rgba(220, 38, 38, .2);--text-critical: #fca5a5;--icon-critical: #ef4444;--border-critical: rgba(220, 38, 38, .3);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-base: 0 1px 3px 0 rgba(0, 0, 0, .4), 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4), 0 2px 4px -1px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .4), 0 4px 6px -2px rgba(0, 0, 0, .25);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .4), 0 10px 10px -5px rgba(0, 0, 0, .2);--color-background: var(--color-neutral-900);--color-surface: var(--color-neutral-800);--color-surface-raised: var(--color-neutral-700);--color-surface-sunken: var(--color-neutral-850);--pill-tab-active-bg: var(--color-neutral-700);--pill-tab-active-shadow: 0 1px 3px rgba(0, 0, 0, .3);--pill-tab-border-color: var(--color-neutral-600);--tab-glass-bg-light: rgba(31, 41, 55, .6);--tab-glass-bg-hover: rgba(31, 41, 55, .8);--tab-glass-border: rgba(255, 255, 255, .1);--tab-gradient-primary: linear-gradient(135deg, rgba(59, 130, 246, .15) 0%, rgba(99, 102, 241, .12) 35%, rgba(79, 70, 229, .18) 65%, rgba(59, 130, 246, .15) 100%);--tab-glow-primary: rgba(59, 130, 246, .12);--tab-glow-ambient: rgba(99, 102, 241, .06);--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: var(--color-neutral-100);--color-text-code: var(--theme-text-code, var(--color-neutral-200));--color-text-code-block: var(--theme-text-code-block, var(--color-neutral-100));--color-text-secondary: var(--color-neutral-300);--color-text-tertiary: var(--color-neutral-400);--color-border: var(--color-neutral-700);--color-border-light: var(--color-neutral-800)}}@layer overrides{[data-oled=true],.oled{--surface-background: #0a0a0a;--surface-card: #0f0f0f;--surface-elevated: #141414;--surface-overlay: oklch(3% 0 0 / .95);--text-primary: #f5f5f5;--text-secondary: #e0e0e0;--text-tertiary: #cccccc;--color-primary: color-mix(in oklch, var(--color-primary) 80%, black);--color-secondary: color-mix(in oklch, var(--color-secondary) 80%, black);--color-accent: color-mix(in oklch, var(--color-accent) 80%, black);--color-primary-hover: color-mix(in oklch, var(--color-primary-hover) 75%, black);--color-primary-active: color-mix(in oklch, var(--color-primary-active) 70%, black);--color-secondary-hover: color-mix(in oklch, var(--color-secondary-hover) 75%, black);--color-secondary-active: color-mix(in oklch, var(--color-secondary-active) 70%, black);--color-accent-hover: color-mix(in oklch, var(--color-accent-hover) 75%, black);--color-accent-active: color-mix(in oklch, var(--color-accent-active) 70%, black);--color-info: color-mix(in oklch, var(--color-info) 75%, black);--color-success: color-mix(in oklch, var(--color-success) 75%, black);--color-warning: color-mix(in oklch, var(--color-warning) 75%, black);--color-error: color-mix(in oklch, var(--color-error) 75%, black);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .5);--shadow-base: 0 1px 3px 0 rgba(0, 0, 0, .6), 0 1px 2px 0 rgba(0, 0, 0, .5);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .6), 0 2px 4px -1px rgba(0, 0, 0, .5);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .6), 0 4px 6px -2px rgba(0, 0, 0, .4);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .6), 0 10px 10px -5px rgba(0, 0, 0, .3);@supports (color: color(display-p3 1 0 0)){--color-primary: color-mix(in oklch, var(--color-primary) 95%, black);--color-secondary: color-mix(in oklch, var(--color-secondary) 95%, black);--color-accent: color-mix(in oklch, var(--color-accent) 95%, black)}}@media (prefers-reduced-motion: reduce){:root{--duration-fast: 0ms;--duration-normal: 0ms;--duration-slow: 0ms;--toast-entrance-duration: 0ms;--toast-exit-duration: 0ms;--toast-hover-duration: 0ms;--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=tron]{--toast-entrance-duration: var(--toast-entrance-duration-fast);--toast-easing-entrance: var(--toast-easing-entrance-sharp);--toast-entrance-scale-start: .95}[data-theme=her]{--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=rosepine]{--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)}*:focus{outline:none}*: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:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);min-width:var(--touch-target-preferred);min-height:var(--touch-target-preferred)}.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:all var(--duration-normal) var(--ease-out);cursor:pointer}.interactive:hover{transform:translateY(-1px);box-shadow:var(--shadow-lg)}.interactive:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-outline-offset)}.interactive:active{transform:translateY(0);transition-duration:var(--duration-fast)}}.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-10{width:2.5rem}.w-16{width:4rem}.w-20{width:5rem}.w-32{width:8rem}.h-screen{height:100vh;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-10{height:2.5rem}.h-16{height:4rem}.h-24{height:6rem}.h-32{height:8rem}.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-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.min-h-0{min-height:0}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh;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:100vh;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{width:.75rem;height:.75rem;flex-shrink:0}.icon-sm{width:1rem;height:1rem;flex-shrink:0}.icon-md{width:1.25rem;height:1.25rem;flex-shrink:0}.icon-lg{width:1.5rem;height:1.5rem;flex-shrink:0}.icon-xl{width:2rem;height:2rem;flex-shrink:0}.rounded-none{border-radius:0}.rounded-sm{border-radius:var(--radius-sm, .125rem)}.rounded{border-radius:var(--radius-sm, .25rem)}.rounded-md{border-radius:var(--radius-md, .375rem)}.rounded-lg{border-radius:var(--radius-lg, .5rem)}.rounded-xl{border-radius:var(--radius-xl, .75rem)}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:var(--radius-full, 9999px)}.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-left-radius:0;border-bottom-right-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:all var(--motion-quick, .2s) var(--ease-standard, ease)}.transition-colors{transition:color var(--motion-quick, .2s) var(--ease-standard, ease),background-color var(--motion-quick, .2s) var(--ease-standard, ease),border-color var(--motion-quick, .2s) var(--ease-standard, ease)}.transition-opacity{transition:opacity var(--motion-quick, .2s) var(--ease-standard, ease)}.transition-transform{transition:transform var(--motion-quick, .2s) var(--ease-standard, ease)}.duration-75{transition-duration:75ms}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.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-0{border-width:0}.border-2{border-width:2px;border-style:solid}.border-4{border-width:4px;border-style:solid}.border-t{border-top-width:1px;border-top-style:solid}.border-r{border-right-width:1px;border-right-style:solid}.border-l{border-left-width:1px;border-left-style:solid}.border-t-2{border-top-width:2px;border-top-style:solid}.border-r-2{border-right-width:2px;border-right-style:solid}.border-b-2{border-bottom-width:2px;border-bottom-style:solid}.border-l-2{border-left-width:2px;border-left-style:solid}.border-neutral{border-color:var(--color-neutral-300, #d1d5db)}.border-neutral-200{border-color:var(--color-neutral-200, #e5e7eb)}.border-neutral-300{border-color:var(--color-neutral-300, #d1d5db)}.border-primary-500{border-color:var(--color-primary-500, #3b82f6)}.border-gray-300{border-color:var(--color-neutral-300, #d1d5db)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:underline:focus{text-decoration:underline}.focus\:ring:focus{outline:2px solid var(--color-primary-500, #3b82f6);outline-offset:2px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.opacity-100{opacity:1}.cursor-default{cursor:default}@media (min-width: 640px){.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}}@media (min-width: 1024px){.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:py-8{padding-top:2rem;padding-bottom:2rem}}:root{--breakpoint-mobile: 480px;--breakpoint-tablet: 768px;--breakpoint-desktop: 1024px;--breakpoint-xl: 1200px;--breakpoint-2xl: 1440px;--breakpoint-mobile-max: 480px;--breakpoint-tablet-min: 481px;--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;--spacing-multiplier-mobile: .75;--spacing-multiplier-tablet: 1;--spacing-multiplier-desktop: 1.25;--font-scale-mobile: .875;--font-scale-tablet: 1;--font-scale-desktop: 1.125}@media (max-width: 480px){:root{--current-breakpoint: "mobile";--spacing-multiplier: var(--spacing-multiplier-mobile);--font-scale: var(--font-scale-mobile)}}@media (min-width: 481px) and (max-width: 768px){:root{--current-breakpoint: "tablet";--spacing-multiplier: var(--spacing-multiplier-tablet);--font-scale: var(--font-scale-tablet)}}@media (min-width: 769px) and (max-width: 1024px){:root{--current-breakpoint: "desktop";--spacing-multiplier: var(--spacing-multiplier-desktop);--font-scale: var(--font-scale-desktop)}}@media (min-width: 1025px) and (max-width: 1200px){:root{--current-breakpoint: "large";--spacing-multiplier: var(--spacing-multiplier-desktop);--font-scale: var(--font-scale-desktop)}}@media (min-width: 1201px) and (max-width: 1440px){:root{--current-breakpoint: "xl";--spacing-multiplier: var(--spacing-multiplier-desktop);--font-scale: var(--font-scale-desktop)}}@media (min-width: 1441px){:root{--current-breakpoint: "2xl";--spacing-multiplier: var(--spacing-multiplier-desktop);--font-scale: var(--font-scale-desktop)}}@media (min-width: 481px) and (max-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-min-device-pixel-ratio: 2),(min-resolution: 192dpi){:root{--is-retina: 1}}.bg-surface{background-color:var(--surface-card)}.bg-surface-raised{background-color:var(--surface-elevated)}.bg-surface-sunken{background-color:var(--surface-background)}.bg-surface-inverse{background-color:var(--color-neutral-900)}.text-tertiary{color:var(--text-tertiary)}.text-muted{color:var(--color-neutral-400)}.text-inverse{color:var(--text-inverse)}.border-themed{border-color:var(--border-color-default)}.border-themed-strong{border-color:var(--border-color-strong)}.border-themed-subtle{border-color:var(--border-color-muted)}.hover-surface:hover{background-color:var(--surface-hover)}.hover-interactive:hover{background-color:var(--surface-interactive)}.hover-primary:hover{background-color:var(--color-primary-600)}.bg-lesson{background-color:var(--cocovox-learning-lesson-50)}.bg-exercise{background-color:var(--cocovox-learning-exercise-50)}.bg-assessment{background-color:var(--cocovox-learning-quiz-50)}.text-lesson{color:var(--cocovox-learning-lesson-600)}.text-exercise{color:var(--cocovox-learning-exercise-600)}.text-assessment{color:var(--cocovox-learning-quiz-600)}.bg-success-subtle{background-color:var(--color-success-alpha-5)}.bg-warning-subtle{background-color:var(--color-warning-alpha-5)}.bg-error-subtle{background-color:var(--color-error-alpha-5)}.h-touch-sm{height:40px}.h-touch{height:48px}.h-touch-lg{height:56px}.h-button-sm{height:32px}.h-button{height:40px}.h-button-lg,.h-input{height:48px}.min-h-touch{min-height:48px}.min-h-button{min-height:40px}.h-lesson-card{height:320px}.h-exercise-section{min-height:240px}.h-quiz-container{min-height:400px}.learning-content-container{max-width:1200px;margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem}.gap-1\.5{gap:.375rem}.w-1\.5{width:.375rem}.w-2{width:.5rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-12{width:3rem}.w-24{width:6rem}.w-44{width:11rem}.min-w-0{min-width:0}.max-w-3xl{max-width:48rem}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.max-w-\[28px\]{max-width:28px}.h-1\.5{height:.375rem}.h-2{height:.5rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-12{height:3rem}.h-20{height:5rem}.min-h-\[80px\]{min-height:80px}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.pb-4{padding-bottom:1rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.ml-2{margin-left:.5rem}.mt-2{margin-top:.5rem}.border{border-width:1px;border-style:solid}.border-b{border-bottom-width:1px;border-bottom-style:solid}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.text-xs{font-size:.75rem;line-height:1rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.top-4{top:1rem}.right-4{right:1rem}.z-\[9999\]{z-index:9999}.bg-opacity-50{--tw-bg-opacity: .5}.shadow-xl{box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a}.shadow-primary{box-shadow:0 4px 6px -1px var(--color-primary-shadow, rgba(59, 130, 246, .3))}.transition-colors{transition-property:color,background-color,border-color;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-in,.fade-in{animation:fadeIn .3s ease-in}.slide-in-from-top-1{animation:slideInFromTop .3s ease-out}@keyframes slideInFromTop{0%{opacity:0;transform:translateY(-.25rem)}to{opacity:1;transform:translateY(0)}}.bg-white{background-color:var(--color-surface, rgb(255 255 255))}.bg-black{background-color:#000}.bg-gray-50{background-color:var(--color-neutral-50, rgb(249 250 251))}.bg-gray-800{background-color:var(--color-neutral-800, rgb(31 41 55))}.bg-gray-900{background-color:var(--color-neutral-900, rgb(17 24 39))}.bg-blue-50{background-color:var(--color-blue-50, rgb(239 246 255))}.dark .bg-blue-50{background-color:var(--color-blue-900-20, rgba(30 58 138 / .2))}.bg-green-50{background-color:var(--color-green-50, rgb(240 253 244))}.dark .bg-green-50{background-color:var(--color-green-900-10, rgba(20 83 45 / .1))}.bg-blue-900{background-color:var(--color-blue-900, rgb(30 58 138))}.bg-blue-900\/10{background-color:#1e3a8a1a}.bg-blue-900\/20{background-color:#1e3a8a33}.bg-green-900{background-color:var(--color-green-900, rgb(20 83 45))}.bg-green-900\/10{background-color:#14532d1a}.bg-blue-500{background-color:var(--color-blue-500, rgb(59 130 246))}.bg-green-500{background-color:var(--color-success, rgb(34 197 94))}.bg-orange-500{background-color:var(--color-orange-500, rgb(249 115 22))}.bg-red-500{background-color:var(--color-error, rgb(239 68 68))}.bg-primary{background-color:var(--color-primary, var(--theme-color-primary, rgb(59 130 246)))}.bg-gradient-overlay-light{background:linear-gradient(to bottom,#fffffff2,#fffffffa)}.dark .bg-gradient-overlay-light{background:linear-gradient(to bottom,#111827f2,#111827fa)}.text-gray-500{color:var(--color-neutral-500, rgb(107 114 128))}.dark .text-gray-500{color:var(--color-neutral-400, rgb(156 163 175))}.text-gray-600{color:var(--color-neutral-600, rgb(75 85 99))}.dark .text-gray-600{color:var(--color-neutral-400, rgb(156 163 175))}.text-gray-900{color:var(--color-neutral-900, rgb(17 24 39))}.dark .text-gray-900{color:var(--color-neutral-50, rgb(249 250 251))}.text-blue-600{color:var(--color-blue-600, rgb(37 99 235))}.dark .text-blue-600{color:var(--color-blue-400, rgb(96 165 250))}.text-blue-700{color:var(--color-blue-700, rgb(29 78 216))}.dark .text-blue-700{color:var(--color-blue-300, rgb(147 197 253))}.text-green-600{color:var(--color-green-600, rgb(22 163 74))}.dark .text-green-600{color:var(--color-green-400, rgb(74 222 128))}.text-orange-600{color:var(--color-orange-600, rgb(234 88 12))}.dark .text-orange-600{color:var(--color-orange-400, rgb(251 146 60))}.text-on-primary{color:var(--color-text-inverse, rgb(255 255 255))}.text-white,.dark .text-white{color:#fff}.text-gray-400,.dark .text-gray-400{color:var(--color-neutral-400, rgb(156 163 175))}.text-blue-300{color:var(--color-blue-300, rgb(147 197 253))}.text-blue-400{color:var(--color-blue-400, rgb(96 165 250))}.text-green-400{color:var(--color-green-400, rgb(74 222 128))}.text-orange-400{color:var(--color-orange-400, rgb(251 146 60))}.border-gray-200{border-color:var(--color-neutral-200, rgb(229 231 235))}.dark .border-gray-200{border-color:var(--color-neutral-700, rgb(55 65 81))}.border-blue-200{border-color:var(--color-blue-200, rgb(191 219 254))}.dark .border-blue-200{border-color:var(--color-blue-800-50, rgba(30 64 175 / .5))}.border-green-200{border-color:var(--color-green-200, rgb(187 247 208))}.dark .border-green-200{border-color:var(--color-green-800-50, rgba(22 101 52 / .5))}.border-gray-700,.dark .border-gray-700{border-color:var(--color-neutral-700, rgb(55 65 81))}.border-blue-800{border-color:var(--color-blue-800, rgb(30 64 175))}.dark .border-blue-800{border-color:var(--color-blue-800-50, rgba(30 64 175 / .5))}.border-blue-800\/50{border-color:#1e40af80}.border-green-800{border-color:var(--color-green-800, rgb(22 101 52))}.dark .border-green-800{border-color:var(--color-green-800-50, rgba(22 101 52 / .5))}.border-green-800\/50{border-color:#16653480}.hover\:text-gray-700:hover{color:var(--color-neutral-700, rgb(55 65 81))}.dark .hover\:text-gray-700:hover{color:var(--color-neutral-200, rgb(229 231 235))}.hover\:text-green-800:hover{color:var(--color-green-800, rgb(22 101 52))}.hover\:bg-primary-dark:hover{background-color:var(--color-primary-hover, var(--theme-color-primary-hover, rgb(37 99 235)))}.hover\:text-gray-200:hover,.dark .hover\:text-gray-200:hover{color:var(--color-neutral-200, rgb(229 231 235))}html,pre{font-family:-apple-system,BlinkMacSystemFont,Inter,ui-sans-serif,system-ui,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,Helvetica Neue,Arial,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}pre{white-space:pre-wrap}.text-primary{color:var(--theme-color-text, #1f2937)}.text-secondary{color:var(--theme-color-text-secondary, #6b7280)}.text-muted{color:var(--theme-color-text-muted, #9ca3af)}.text-inverse{color:var(--theme-color-text-inverse, #ffffff)}.text-accent{color:var(--theme-color-accent, #3b82f6)}.text-success{color:var(--theme-color-success, #10b981)}.text-warning{color:var(--theme-color-warning, #f59e0b)}.text-error{color:var(--theme-color-error, #ef4444)}.text-info{color:var(--theme-color-info, #3b82f6)}.bg-surface{background-color:var(--theme-surface-background, #ffffff)}.bg-surface-raised{background-color:var(--theme-surface-card, #f8fafc)}.bg-surface-sunken{background-color:var(--theme-surface-sunken, #f1f5f9)}.bg-surface-active{background-color:var(--theme-surface-active, #e2e8f0)}.bg-primary{background-color:var(--theme-color-primary, #3b82f6)}.bg-primary-dark{background-color:var( --color-primary-dark, color-mix(in srgb, var(--theme-color-primary, #3b82f6) 80%, black) )}.bg-secondary{background-color:var(--theme-color-secondary, #6b7280)}.bg-accent{background-color:var(--theme-color-accent, #8b5cf6)}.bg-success{background-color:var(--theme-color-success, #10b981)}.bg-warning{background-color:var(--theme-color-warning, #f59e0b)}.bg-error{background-color:var(--theme-color-error, #ef4444)}.bg-info{background-color:var(--theme-color-info, #3b82f6)}.border-themed{border-color:var(--theme-color-border, #e5e7eb)}.border-themed-hover:hover{border-color:var(--theme-color-border-hover, #d1d5db)}.border-divider{border-color:var(--theme-color-divider, #f3f4f6)}.border-focus{border-color:var(--theme-color-focus, #3b82f6)}.border-primary{border-color:var(--theme-color-primary, #3b82f6)}.border-success{border-color:var(--theme-color-success, #10b981)}.border-warning{border-color:var(--theme-color-warning, #f59e0b)}.border-error{border-color:var(--theme-color-error, #ef4444)}.hover-surface{transition:background-color var(--transition-duration-fast, .15s) ease}.hover-surface:hover{background-color:var(--theme-surface-hover, #f8fafc)}.hover-interactive{transition:all var(--transition-duration-fast, .15s) ease}.hover-interactive:hover{background-color:var(--theme-surface-interactive-hover, #e2e8f0);transform:translateY(-1px)}.focus-themed:focus{outline:2px solid var(--theme-color-focus, #3b82f6);outline-offset:2px}.focus-visible-themed:focus-visible{outline:2px solid var(--theme-color-focus, #3b82f6);outline-offset:2px}.focus\:ring-primary:focus{--tw-ring-color: var(--theme-color-primary, #3b82f6);--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, #3b82f6)}.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: #fff;--tw-ring-color: rgba(59, 130, 246, .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-ring-inset: }.card-surface{background-color:var(--theme-surface-card, #ffffff);border:1px solid var(--theme-color-border, #e5e7eb);border-radius:var(--theme-radius-card, .5rem)}.card-elevated{background-color:var(--theme-surface-card, #ffffff);border:1px solid var(--theme-color-border, #e5e7eb);border-radius:var(--theme-radius-card, .5rem);box-shadow:var(--theme-shadow-card, 0 1px 3px rgba(0, 0, 0, .1))}.btn-primary{background-color:var(--theme-color-primary, #3b82f6);color:var(--theme-color-text-inverse, #ffffff);border:1px solid var(--theme-color-primary, #3b82f6);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, #2563eb);border-color:var(--theme-color-primary-hover, #2563eb);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-secondary{background-color:var(--theme-surface-card, #ffffff);color:var(--theme-color-text, #1f2937);border:1px solid var(--theme-color-border, #e5e7eb);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, #f8fafc);border-color:var(--theme-color-border-hover, #d1d5db);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.input-themed{background-color:var(--theme-surface-input, #ffffff);color:var(--theme-color-text, #1f2937);border:1px solid var(--theme-color-border, #e5e7eb);border-radius:var(--theme-radius-input, .375rem);transition:all var(--transition-duration-fast, .15s) ease}.input-themed:focus{outline:none;border-color:var(--theme-color-focus, #3b82f6);box-shadow:0 0 0 3px var(--theme-color-focus-shadow, rgba(59, 130, 246, .1))}.input-themed::placeholder{color:var(--theme-color-text-muted, #9ca3af)}.accessible-focus:focus{outline:3px solid var(--theme-color-focus, #3b82f6);outline-offset:2px}.high-contrast-text{color:var(--theme-color-text-high-contrast, #000000)}.high-contrast-bg{background-color:var(--theme-surface-high-contrast, #ffffff)}.lesson-content{background-color:var(--theme-surface-lesson, #fefefe);border:1px solid var(--theme-color-border-lesson, #e0e7ff);border-radius:var(--theme-radius-lesson, .75rem);padding:var(--theme-spacing-lesson, 1.5rem)}.progress-complete{background-color:var(--theme-color-success, #10b981);color:var(--theme-color-text-inverse, #ffffff)}.progress-incomplete{background-color:var(--theme-surface-progress-incomplete, #f3f4f6);color:var(--theme-color-text-muted, #6b7280)}.progress-current{background-color:var(--theme-color-accent, #3b82f6);color:var(--theme-color-text-inverse, #ffffff)}.chat-message-user{background-color:var(--theme-surface-chat-user, #eff6ff);border-left:4px solid var(--theme-color-accent, #3b82f6)}.chat-message-assistant{background-color:var(--theme-surface-chat-assistant, #f8fafc);border-left:4px solid var(--theme-color-secondary, #6b7280)}.opacity-disabled{opacity:var(--theme-opacity-disabled, .5)}.transition-themed{transition:all var(--transition-duration-normal, .2s) var(--transition-timing-ease, ease)}.transition-fast{transition:all var(--transition-duration-fast, .15s) var(--transition-timing-ease, ease)}.transition-slow{transition:all var(--transition-duration-slow, .3s) var(--transition-timing-ease, ease)}.shadow-themed{box-shadow:var(--theme-shadow-default, 0 1px 3px rgba(0, 0, 0, .1))}.shadow-elevated{box-shadow:var(--theme-shadow-elevated, 0 4px 6px rgba(0, 0, 0, .1))}.radius-themed{border-radius:var(--theme-radius-default, .5rem)}.text-on-primary{color:var(--text-on-primary, #ffffff)}.text-on-secondary{color:var(--text-on-secondary, #ffffff)}.text-on-accent{color:var(--text-on-accent, #ffffff)}.text-on-success{color:var(--text-on-success, #ffffff)}.text-on-warning{color:var(--text-on-warning, var(--color-neutral-900))}.text-on-error{color:var(--text-on-error, #ffffff)}.text-on-info{color:var(--text-on-info, #ffffff)}.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, #ffffff)}.hover\:text-on-primary:hover{color:var(--text-on-primary, #ffffff)}.hover\:text-on-accent:hover{color:var(--text-on-accent, #ffffff)}:root{--theme-batch-text: var(--theme-color-text, #1f2937);--theme-batch-surface: var(--theme-surface-background, #ffffff);--theme-batch-border: var(--theme-color-border, #e5e7eb);--theme-batch-accent: var(--theme-color-accent, #3b82f6)}.dark,[data-theme=dark]{--theme-color-text: #f9fafb;--theme-color-text-secondary: #d1d5db;--theme-color-text-muted: #9ca3af;--theme-color-text-inverse: #1f2937;--theme-surface-background: #111827;--theme-surface-card: #1f2937;--theme-surface-hover: #374151;--theme-color-border: #374151;--theme-color-border-hover: #4b5563}.high-contrast,[data-theme=high-contrast]{--theme-color-text: #000000;--theme-color-text-inverse: #ffffff;--theme-surface-background: #ffffff;--theme-surface-card: #ffffff;--theme-color-border: #000000;--theme-color-primary: #0000ff;--theme-color-success: #008000;--theme-color-error: #ff0000;--theme-color-warning: #ff8c00}.p-24{padding:calc(var(--space-20) + var(--space-4))}.p-32{padding:calc(var(--space-20) + var(--space-12))}.px-0{padding-inline:0}.px-1{padding-inline:var(--space-1)}.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-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-1{padding-left:var(--space-1)}.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}.m-24{margin:calc(var(--space-20) + var(--space-4))}.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-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-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-6{margin-left:var(--space-6)}.ml-8{margin-left:var(--space-8)}.ml-auto{margin-left:auto}.mr-0{margin-right:0}.mr-6{margin-right:var(--space-6)}.mr-8{margin-right:var(--space-8)}.mr-auto{margin-right:auto}.-mt-1{margin-top:calc(var(--space-1) * -1)}.-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-1>*+*{margin-left:var(--space-1)}.space-x-2>*+*{margin-left:var(--space-2)}.space-x-3>*+*{margin-left:var(--space-3)}.space-x-4>*+*{margin-left:var(--space-4)}.space-x-6>*+*{margin-left:var(--space-6)}.space-x-8>*+*{margin-left:var(--space-8)}.space-y-0>*+*{margin-top:0}.space-y-1>*+*{margin-top:var(--space-1)}.space-y-2>*+*{margin-top:var(--space-2)}.space-y-3>*+*{margin-top:var(--space-3)}.space-y-4>*+*{margin-top:var(--space-4)}.space-y-6>*+*{margin-top:var(--space-6)}.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)}:root{--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)}:root{--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)}:root{--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))}:root{--padding-with-icon-20px: calc(var(--space-3) + 20px + var(--space-2));--padding-with-icon-24px: calc(var(--space-4) + 24px + var(--space-3))}.grid{display:grid}.flex-row-reverse{flex-direction:row-reverse}.flex-col-reverse{flex-direction:column-reverse}.flex-nowrap{flex-wrap:nowrap}.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.flex-initial{flex:0 1 auto}.flex-none{flex:none}.flex-grow{flex-grow:1}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.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}.gap-0{gap:0}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.space-x-1>*+*{margin-left:.25rem}.space-x-2>*+*{margin-left:.5rem}.space-x-3>*+*{margin-left:.75rem}.space-x-4>*+*{margin-left:1rem}.space-x-6>*+*{margin-left:1.5rem}.space-y-1>*+*{margin-top:.25rem}.space-y-2>*+*{margin-top:.5rem}.space-y-3>*+*{margin-top:.75rem}.space-y-4>*+*{margin-top:1rem}.space-y-6>*+*{margin-top:1.5rem}.static{position:static}.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-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-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)}.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{display:flex;flex-direction:column;align-items:center;justify-content:center}.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)}.avatar-container{aspect-ratio:1 / 1;overflow:hidden;flex-shrink:0}.avatar-container img{width:100%;height:100%;object-fit:cover}.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 / 1}.aspect-portrait{aspect-ratio:3 / 4}.image-container{position:relative;overflow:hidden;background-color:var(--color-neutral-100, #f5f5f5)}.dark .image-container{background-color:var(--color-neutral-800, #262626)}.image-container img{width:100%;height:100%;object-fit:cover}.skeleton-text{height:1em;background:linear-gradient(90deg,var(--color-neutral-200, #e5e5e5) 25%,var(--color-neutral-100, #f5f5f5) 50%,var(--color-neutral-200, #e5e5e5) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-sm, 4px)}.dark .skeleton-text{background:linear-gradient(90deg,var(--color-neutral-700, #404040) 25%,var(--color-neutral-600, #525252) 50%,var(--color-neutral-700, #404040) 75%);background-size:200% 100%}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.font-loading-stable{font-family:Mona-Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5;font-synthesis:none}.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{position:relative;background-color:var(--color-neutral-100, #f5f5f5);overflow:hidden}.dark .lazy-image-container{background-color:var(--color-neutral-800, #262626)}.lazy-image-container:before{content:"";display:block;padding-top:calc(100% / var(--aspect-ratio, 1.777))}.lazy-image-container img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .3s ease-out}.lazy-image-container img.loaded{opacity:1}.inline-placeholder{display:inline-block;min-width:var(--placeholder-width, 4ch);min-height:1em;vertical-align:middle}.icon-container{display:inline-flex;align-items:center;justify-content:center;width:var(--icon-size, 24px);height:var(--icon-size, 24px);flex-shrink:0}.icon-container svg,.icon-container img{width:100%;height:100%}.flex-start{display:flex;align-items:center;justify-content:flex-start}.flex-end{display:flex;align-items:center;justify-content:flex-end}.flex-col{display:flex;flex-direction:column}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.hover\:text-accent\/80:hover{color:color-mix(in srgb,var(--color-accent-500, var(--color-accent, #7FB069)) 80%,transparent)}.text-success{color:var(--color-success-500, var(--color-success, #22c55e))}.text-warning{color:var(--color-warning-500, var(--color-warning, #f59e0b))}.text-error{color:var(--color-error-500, var(--color-error, #ef4444))}.text-muted{color:var(--color-neutral-500, #6b7280)}.text-body{color:var(--color-text-primary, var(--text-primary, #1f2937))}.text-heading{color:var(--color-text-heading, var(--text-primary, #111827))}.bg-surface{background-color:var(--color-surface, var(--surface-card, #ffffff))}.bg-surface-hover{background-color:var(--color-surface-hover, var(--surface-card-hover, #f9fafb))}.bg-accent\/10{background-color:color-mix(in srgb,var(--color-accent-500, var(--color-accent, #7FB069)) 10%,transparent)}.bg-accent\/20{background-color:color-mix(in srgb,var(--color-accent-500, var(--color-accent, #7FB069)) 20%,transparent)}.border-default{border:1px solid var(--color-border, var(--border-color-default, #e5e7eb))}.border-primary{border:1px solid var(--color-primary-500, var(--color-primary, #2D5B3E))}.mt-1{margin-top:var(--space-1)}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}.mb-1{margin-bottom:var(--space-1)}.mb-2{margin-bottom:var(--space-2)}.mb-3{margin-bottom:var(--space-3)}.mb-4{margin-bottom:var(--space-4)}.ml-1{margin-left:var(--space-1)}.ml-2{margin-left:var(--space-2)}.ml-3{margin-left:var(--space-3)}.ml-4{margin-left:var(--space-4)}.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)}.px-2{padding-inline:var(--space-2)}.px-3{padding-inline:var(--space-3)}.px-4{padding-inline:var(--space-4)}.py-2{padding-block:var(--space-2)}.py-3{padding-block:var(--space-3)}.py-4{padding-block:var(--space-4)}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-base{font-size:var(--text-base)}.text-lg{font-size:var(--text-lg)}.text-xl{font-size:var(--text-xl)}.text-2xl{font-size:var(--text-2xl)}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.hover-underline{text-decoration:none}.hover-underline:hover{text-decoration:underline}.hover-opacity{transition:opacity var(--duration-fast)}.hover-opacity:hover{opacity:.8}.transition-colors{transition:color var(--duration-fast),background-color var(--duration-fast),border-color var(--duration-fast)}.inline-flex{display:inline-flex}.block{display:block}.inline{display:inline}.inline-block{display:inline-block}.hidden{display:none}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.overflow-auto{overflow:auto}.overflow-scroll{overflow:scroll}.h-full{height:100%}.min-h-screen{min-height:100vh}.cursor-pointer{cursor:pointer}.cursor-not-allowed{cursor:not-allowed}.text-muted-light{color:var(--color-neutral-600)}.text-muted-lighter{color:var(--color-neutral-400)}.bg-subtle{background-color:var(--color-neutral-50)}.bg-subtle-hover{background-color:var(--color-neutral-100)}.text-status-success{color:var(--color-success-500)}.text-status-warning{color:var(--color-warning-500)}.text-status-error{color:var(--color-error-500)}.bg-status-success{background-color:var(--color-success-50);color:var(--color-success-700)}.bg-status-warning{background-color:var(--color-warning-50);color:var(--color-warning-700)}.bg-status-error{background-color:var(--color-error-50);color:var(--color-error-700)}.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:0ms!important;animation-duration:0ms!important}@media (prefers-reduced-motion: reduce){.theme-sensitive{transition:none!important}.theme-switching *{animation:none!important;transition:none!important}}@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, #ef4444);--text-color: var(--color-error, #ef4444)}.form-group:has(input:invalid:not(:focus):not(:placeholder-shown)) .error-message,.form-group:has(textarea:invalid:not(:focus):not(:placeholder-shown)) .error-message{display:block;color:var(--color-error, #ef4444);font-size:var(--text-sm);margin-top:var(--space-1)}.form-group:has(input:valid:not(:placeholder-shown)),.form-group:has(textarea:valid:not(:placeholder-shown)){--border-color: var(--color-success, #22c55e)}.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, #2D5B3E));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, #2D5B3E));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, #ef4444);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, #2D5B3E))}.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, #2D5B3E))}.dropdown:has(.dropdown-menu:not([hidden]))>.dropdown-toggle:after{transform:rotate(180deg)}.list-container:not(:has(li)),.grid-container:not(:has(>*)){display:flex;align-items:center;justify-content:center;min-height:200px;color:var(--text-tertiary)}.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, #2D5B3E))}.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}body:has(.modal[open]),body:has(dialog[open]){overflow:hidden}.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, #2D5B3E));outline-offset:4px;border-radius:var(--radius-md)}.skip-link-container:has(.skip-link:focus){position:fixed;top:0;left:0;right:0;z-index:10000;background:var(--surface-card);padding:var(--space-2);box-shadow:var(--shadow-lg)}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{position:sticky;top:0;background-color:var(--surface-card);z-index:10}.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, #2D5B3E))}.lesson-card:has(.completion-badge[data-complete=true]){opacity:.8;border-color:var(--color-success, #22c55e)}.lesson-card:has(.completion-badge[data-complete=true]):after{content:"✓";position:absolute;top:var(--space-2);right:var(--space-2);width:24px;height:24px;background-color:var(--color-success, #22c55e);color:#fff;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-weight:var(--font-bold)}.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, #22c55e);animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.8}}@container (min-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, #ef4444)}.has-warning:has(.warning){border-color:var(--color-warning, #f59e0b)}.has-success:has(.success){border-color:var(--color-success, #22c55e)}.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, #2D5B3E))}}:root{--font-primary: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-display: "DM Serif Display", Georgia, serif;--font-mono: "JetBrains Mono", "SF Mono", Monaco, "Consolas", monospace;--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;--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-large{font-family:var(--font-display);font-size:var(--text-4xl);font-weight:var(--weight-bold);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-semibold);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-semibold);line-height:var(--leading-snug);letter-spacing:var(--tracking-normal);text-wrap:balance}.typography-heading-large{font-family:var(--font-primary);font-size:var(--text-xl);font-weight:var(--weight-semibold);line-height:var(--leading-snug);letter-spacing:var(--tracking-normal);text-wrap:balance}.typography-heading-medium{font-family: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-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:4px;padding:2px 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);text-decoration:none;border-bottom:1px solid transparent;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}*{font-feature-settings:"kern" 1,"liga" 1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (max-width: 768px){:root{--text-xs: .75rem;--text-sm: .8125rem;--text-base: .9375rem;--text-lg: 1.0625rem;--text-xl: 1.1875rem;--text-2xl: 1.375rem;--text-3xl: 1.625rem;--text-4xl: 1.875rem}}@media (prefers-contrast: high){.typography-caption-large,.typography-caption-small{color:var(--text-primary)}.typography-link{border-bottom:1px solid currentColor}}@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-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-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-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)}@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: #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)}*:focus{outline:none}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible,[role=button]:focus-visible,[role=link]:focus-visible,[role=menuitem]:focus-visible,[role=tab]:focus-visible,[role=option]:focus-visible{position:relative;outline:none}button:focus-visible:after,a:focus-visible:after,input:focus-visible:after,textarea:focus-visible:after,select:focus-visible:after,[tabindex]:focus-visible:after,[role=button]:focus-visible:after,[role=link]:focus-visible:after,[role=menuitem]:focus-visible:after,[role=tab]:focus-visible:after,[role=option]:focus-visible:after{content:"";position:absolute;inset:calc(-1 * var(--focus-ring-offset));border:var(--focus-ring-width) solid var(--focus-ring-color);border-radius:calc(var(--focus-ring-radius) + var(--focus-ring-offset));pointer-events:none;z-index:999;animation:apple-focus-ring-appear var(--focus-ring-duration) var(--focus-ring-easing)}@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,.course-item:focus-visible:after{border-radius:calc(16px + var(--focus-ring-offset))}.btn:focus-visible:after,.button:focus-visible:after{border-radius:calc(8px + var(--focus-ring-offset))}.icon-button:focus-visible:after,.toggle:focus-visible:after,.chip:focus-visible:after{border-radius:calc(6px + var(--focus-ring-offset))}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{border-radius:calc(8px + var(--focus-ring-offset))}.message-card:focus-visible:after,.lesson-card:focus-visible:after,.course-card:focus-visible:after{border-radius:calc(12px + var(--focus-ring-offset))}.no-focus-ring:focus-visible:after,[data-no-focus-ring]:focus-visible:after{display:none}.focus-ring-success:focus-visible:after{border-color:#34c759}.focus-ring-warning:focus-visible:after{border-color:#ff9500}.focus-ring-error:focus-visible:after{border-color:#ff3b30}.focus-ring-secondary:focus-visible:after{border-color:#8e8e93}@media (prefers-contrast: high){:root{--focus-ring-width: 3px;--focus-ring-color: #0066cc}}@media (prefers-reduced-motion: reduce){button:focus-visible:after,a:focus-visible:after,input:focus-visible:after,textarea:focus-visible:after,select:focus-visible:after,[tabindex]:focus-visible:after,[role=button]:focus-visible:after,[role=link]:focus-visible:after,[role=menuitem]:focus-visible:after,[role=tab]:focus-visible:after,[role=option]:focus-visible:after{animation:none}}.dark{--focus-ring-color: #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:9999}*: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{position:absolute;left:-9999px;top:auto;width:1px;height:1px;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))}: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: rgba(0, 0, 0, .05);--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)}.dark,[data-theme*=dark]{--focus-mode-filter-interface: grayscale(.7) brightness(.9) contrast(.85);--focus-mode-filter-content: grayscale(.2) brightness(.95);--focus-mode-overlay: rgba(0, 0, 0, .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)}@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:all var(--focus-mode-transition)}html[data-focus-mode=true] .sidebar-outer:not(.focus-revealed),html[data-focus-mode=true] #sidebar:not(.focus-revealed){transform:translate(-100%);opacity:0;pointer-events:none;transition:transform var(--focus-mode-transition),opacity var(--focus-mode-transition)}html[data-focus-mode=true] .navbar-container:not(.focus-revealed),html[data-focus-mode=true] nav.navbar-content:not(.focus-revealed){transform:translateY(-100%);opacity:0;pointer-events:none;transition:transform var(--focus-mode-transition),opacity var(--focus-mode-transition)}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{transform:translate(0);opacity:1;pointer-events:all;box-shadow:var(--shadow-lg);z-index:var(--z-index-modal)}.focus-mode-reveal-zone{position:fixed;z-index:calc(var(--z-index-modal) - 1);cursor:pointer;opacity:0;transition:opacity .2s ease;pointer-events:auto}.focus-mode-reveal-left{left:0;top:0;width:var(--focus-mode-edge-zone-width);height:100%;background:linear-gradient(to right,var(--focus-mode-edge-zone-glow),transparent)}.focus-mode-reveal-top{top:0;left:0;width:100%;height:var(--focus-mode-edge-zone-width);background:linear-gradient(to bottom,var(--focus-mode-edge-zone-glow),transparent)}.focus-mode-reveal-zone:hover{opacity:1}html:not([data-focus-mode=true]) .focus-mode-reveal-zone{display:none}.sidebar.revealing{animation:focus-mode-sidebar-reveal .4s var(--cocovox-ease-playful, cubic-bezier(.68, -.55, .265, 1.55))}@keyframes focus-mode-sidebar-reveal{0%{transform:translate(-100%);opacity:0}60%{transform:translate(10px);opacity:1}to{transform:translate(0)}}.navbar.revealing{animation:focus-mode-navbar-reveal .4s var(--cocovox-ease-playful, cubic-bezier(.68, -.55, .265, 1.55))}@keyframes focus-mode-navbar-reveal{0%{transform:translateY(-100%);opacity:0}60%{transform:translateY(10px);opacity:1}to{transform:translateY(0)}}.focus-mode-control-pill{position:fixed;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);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:var(--z-index-modal);display:none;animation:focus-pill-breathe 4s ease-in-out infinite}@keyframes focus-pill-breathe{0%,to{transform:translateY(0) scale(1);box-shadow:var(--shadow-lg)}50%{transform:translateY(-2px) scale(1.02);box-shadow:var(--shadow-lg),0 0 20px var(--color-primary-alpha-20)}}.focus-mode-hint{position:fixed;top:50%;left:var(--space-4);transform:translateY(-50%);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;transition:opacity .3s ease;z-index:var(--z-index-tooltip)}html[data-focus-mode=true][data-focus-mode-first-time=true] .focus-mode-hint{opacity:1;transition-delay:.5s;animation:focus-hint-fade-out 3s ease-in-out 3s forwards}@keyframes focus-hint-fade-out{0%{opacity:1}to{opacity:0}}html[data-focus-mode=true] .sidebar a:focus,html[data-focus-mode=true] .sidebar button:focus,html[data-focus-mode=true] .navbar a:focus,html[data-focus-mode=true] .navbar button:focus{opacity:1;transform:translate(0);pointer-events:all}html[data-focus-mode=true]{animation:focus-mode-activate 1.2s ease-out}@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,html:not([data-focus-mode=true]) .navbar{animation:focus-mode-deactivate .4s ease-in}@keyframes focus-mode-deactivate{0%{filter:var(--focus-mode-filter-interface);opacity:.7}to{filter:none;opacity:1}}.focus-mode-button{position:relative;width:48px;height:48px;border:1px solid transparent;border-radius:12px;background:transparent;color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:none;transition:all .2s var(--cocovox-ease-signature, cubic-bezier(.4, 0, .2, 1));outline:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.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:focus-button-pulse .6s ease-out}@keyframes focus-button-pulse{0%,to{transform:scale(1);box-shadow:0 0 0 0 var(--color-primary-alpha-50, rgba(59, 130, 246, .5))}50%{transform:scale(1.1);box-shadow:0 0 0 12px var(--color-primary-alpha-10, rgba(59, 130, 246, .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, rgba(16, 185, 129, .2)),var(--shadow-md);animation:focus-button-breathe 4s ease-in-out infinite}@keyframes focus-button-breathe{0%,to{box-shadow:0 0 20px var(--color-success-alpha-20, rgba(16, 185, 129, .2))}50%{box-shadow:0 0 30px var(--color-success-alpha-20, rgba(16, 185, 129, .2))}}.focus-mode-button.exiting{animation:focus-button-exit .4s ease-in}@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{position:relative;transition:all .2s var(--cocovox-ease-signature, cubic-bezier(.4, 0, .2, 1));overflow:visible;padding:var(--space-2, .5rem) var(--space-4, 1rem);gap:var(--space-2, .5rem);min-height:2.5rem}button.action-row-btn.focus-mode-enhanced.focus-entering,.action-row-btn.focus-mode-enhanced.focus-entering{background:#007aff;background-color:#007aff;color:#fff;animation:focus-button-pulse .6s ease-out;animation-fill-mode:both;z-index:10;border:2px solid #005ecb;transform-origin:center}button.action-row-btn.focus-mode-enhanced.focus-active,.action-row-btn.focus-mode-enhanced.focus-active{background:linear-gradient(135deg,#10b981,#059669);background-color:#10b981;color:#fff;box-shadow:0 0 20px #10b9814d,0 4px 12px #00000026;animation:focus-button-breathe 4s ease-in-out infinite;animation-fill-mode:both;border:2px solid #047857}button.action-row-btn.focus-mode-enhanced.focus-exiting,.action-row-btn.focus-mode-enhanced.focus-exiting{animation:focus-button-exit .4s ease-in;animation-fill-mode:both}.action-row-btn.focus-mode-enhanced:hover:not(:disabled) .focus-mode-icon{transform:rotate(5deg) scale(1.05);transition:transform .3s var(--cocovox-ease-signature, cubic-bezier(.23, 1, .32, 1))}.action-row-btn.focus-active .focus-mode-icon{transform:scale(1.1);transition:transform .3s var(--cocovox-ease-signature, cubic-bezier(.23, 1, .32, 1))}.focus-mode-icon{transition:transform .3s var(--cocovox-ease-signature, cubic-bezier(.23, 1, .32, 1));transform-origin:center;width:1.25rem;height:1.25rem;flex-shrink:0}.action-row-btn.focus-mode-enhanced:hover:not(:disabled):not(.focus-active){transform:translateY(-1px);box-shadow:var(--shadow-sm)}.focus-mode-announcer{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}}@layer utilities{@media (max-width: 768px){.focus-mode-reveal-zone,html[data-focus-mode=true] .sidebar{display:none}html[data-focus-mode=true] .focus-mode-control-pill{display:flex;align-items:center;gap:var(--space-2);min-height:48px;padding:var(--space-3) var(--space-6);font-size:var(--font-size-base)}html[data-focus-mode=true]:after{content:"";position:fixed;bottom:0;left:0;right:0;height:64px;background:linear-gradient(to top,var(--color-primary-alpha-10),transparent);opacity:0;pointer-events:none;z-index:calc(var(--z-index-modal) - 2);transition:opacity .2s ease}html[data-focus-mode=true].touch-active:after{opacity:1}}@media (min-width: 768px) and (max-width: 1024px){.focus-mode-reveal-zone{width:32px}html[data-focus-mode=true] .focus-mode-control-pill{display:flex;bottom:var(--space-8);right:var(--space-8)}}@media (min-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}}}@layer overrides{@media (prefers-contrast: high){html[data-focus-mode=true] .sidebar:not(.focus-revealed){opacity:.2;transform:translate(0);border:2px dashed var(--border-color-default);pointer-events:all}.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}}: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;-webkit-perspective:1000px;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-fade-in{animation:apple-fade-in var(--motion-standard) var(--ease-standard)}.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-scale-in{animation:apple-scale-in var(--motion-quick) var(--easing-apple-spring)}.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{box-shadow:0 8px 25px color-mix(in srgb,var(--color-primary) 25%,transparent);transition:box-shadow 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(0) 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 (max-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)}}@layer overrides{@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}*:focus-visible:after{animation:none;opacity:1;transform:scale(1)}}}@media (max-width: 480px) and (max-resolution: 150dpi){:root{--motion-instant: 0ms;--motion-quick: .1s;--motion-standard: .15s;--motion-deliberate: .2s}.animate-hover-glow,.animate-bounce,.animate-pulse{animation:none;transition:none}}@layer overrides{.no-hardware-acceleration{transform:none!important;will-change:auto!important;backface-visibility:visible!important}}.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-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{border:2px solid red!important;background:#ff00001a!important}.debug-performance:before{content:"PERF DEBUG";position:absolute;top:0;left:0;background:red;color:#fff;font-size:10px;padding:2px 4px;z-index:9999}: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-0{margin:var(--space-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)}.m-8{margin:var(--space-8)}.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-0{padding:var(--space-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)}.p-8{padding:var(--space-8)}.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-2{gap:var(--space-2)}.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-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.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{padding:var(--space-6);margin:var(--space-0) auto;max-width:var(--container-2xl)}.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{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(var(--space-32),1fr))}.flex-8px{display:flex;gap:var(--space-4);align-items:center}@media (max-width: 768px){:root{--space-mobile-factor: .875}.container-grid-compliant{padding:var(--space-4)}.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:"";position:absolute;inset:0;background-image:linear-gradient(to right,rgba(255,0,0,.1) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,0,0,.1) 1px,transparent 1px);background-size:var(--grid-base) var(--grid-base);pointer-events:none;z-index:9999}.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{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-6)}.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: 133ms;--animation-grid-2: 267ms;--animation-grid-3: .4s;--animation-grid-4: 533ms}*{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)}@layer components{@supports not (gap: 1rem){.flex-gap-2>*+*{margin-left:.5rem}.flex-gap-4>*+*{margin-left:1rem}.flex-gap-6>*+*{margin-left:1.5rem}.grid-gap-2>*{margin:.25rem}.grid-gap-4>*{margin:.5rem}}.backdrop-blur-sm,.backdrop-blur,.backdrop-blur-md,.backdrop-blur-lg,.backdrop-blur-xl{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.backdrop-blur-none{-webkit-backdrop-filter: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:#fffffff2}.dark .glass-morphism,.dark .backdrop-blur-sm,.dark .backdrop-blur,.dark .backdrop-blur-md,.dark .backdrop-blur-lg,.dark .backdrop-blur-xl{background:#000000e6}}@supports not (aspect-ratio: 1 / 1){.aspect-square{position:relative;padding-bottom:100%;height:0}.aspect-video{position:relative;padding-bottom:56.25%;height:0}.aspect-square>*,.aspect-video>*{position:absolute;top:0;left:0;width:100%;height:100%}}:root{--fallback-primary: #3b82f6;--fallback-secondary: #6b7280;--fallback-surface: #ffffff;--fallback-text: #1f2937;--fallback-primary-dark: #60a5fa;--fallback-secondary-dark: #9ca3af;--fallback-surface-dark: #1f2937;--fallback-text-dark: #f9fafb}@supports not selector(:has(*)){.form-group:not(:empty){border-color:var(--color-border-focus, #3b82f6)}.card:not(:empty){box-shadow:0 1px 3px #0000001a}}@supports not (container-type: inline-size){@media (max-width: 640px){.responsive-layout{grid-template-columns:1fr}.mobile-stack{flex-direction:column}}@media (min-width: 640px) and (max-width: 1024px){.responsive-layout{grid-template-columns:repeat(2,1fr)}}@media (min-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:1rem;margin-right:1rem}.padding-inline-4{padding-left:1rem;padding-right:1rem}}@supports not (font-size: clamp(1rem,2vw,2rem)){.responsive-text{font-size:1.25rem}@media (min-width: 768px){.responsive-text{font-size:1.5rem}}@media (min-width: 1024px){.responsive-text{font-size:1.75rem}}}@media screen and (-ms-high-contrast: active),screen and (-ms-high-contrast: none){.flex{display:-ms-flexbox;display:flex}.flex-1{-ms-flex:1;flex:1}.grid{display:-ms-grid;display:grid}.backdrop-filter,.glass-morphism{backdrop-filter:none;-webkit-backdrop-filter:none;background:#fffffff2}}}@layer overrides{@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}}@layer theme{:root{--learning-spacing-xs: var(--spacing-1, .25rem);--learning-spacing-sm: var(--spacing-2, .5rem);--learning-spacing-md: var(--spacing-4, 1rem);--learning-spacing-lg: var(--spacing-6, 1.5rem);--learning-spacing-xl: var(--spacing-8, 2rem);--learning-spacing-2xl: var(--spacing-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, #3b82f6);--learning-exercise-color: var(--color-success, #10b981);--learning-flashcards-color: var(--color-accent, #8b5cf6);--learning-quiz-color: var(--color-warning, #f59e0b);--learning-test-color: var(--color-error, #ef4444);--learning-evaluation-color: var(--color-info, #6366f1);--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);--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 )}.dark{--learning-progress-bg: var(--color-neutral-700);--learning-card-bg: var(--color-neutral-800);--learning-card-bg-hover: var(--color-neutral-700);--learning-card-border: var(--color-neutral-700);--learning-card-border-hover: var(--color-neutral-600);--learning-content-bg: var(--color-neutral-900);--learning-skeleton-bg: var(--color-neutral-700);--learning-skeleton-highlight: var(--color-neutral-600);--learning-loading-overlay: rgba(var(--color-neutral-900), .8);--learning-section-icon-bg: var(--color-neutral-700);--learning-lesson-bg: color-mix( in srgb, var(--learning-lesson-color) 8%, var(--color-neutral-800) );--learning-exercise-bg: color-mix( in srgb, var(--learning-exercise-color) 8%, var(--color-neutral-800) );--learning-flashcards-bg: color-mix( in srgb, var(--learning-flashcards-color) 8%, var(--color-neutral-800) );--learning-quiz-bg: color-mix( in srgb, var(--learning-quiz-color) 8%, var(--color-neutral-800) );--learning-test-bg: color-mix( in srgb, var(--learning-test-color) 8%, var(--color-neutral-800) );--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: color-mix(in srgb, black 20%, transparent)}.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 (min-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 utilities{.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:linear-gradient(90deg,var(--learning-skeleton-bg) 0%,var(--learning-skeleton-highlight) 50%,var(--learning-skeleton-bg) 100%);background-size:200% 100%;animation:learning-shimmer 1.5s infinite}@keyframes learning-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.learning-interactive{transition:all 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);box-shadow:0 1px 3px #0000000d;transition:all var(--learning-transition-normal);content-visibility:auto;contain-intrinsic-size:0 160px}.learning-card-elevated:hover{box-shadow:0 4px 12px #00000014;border-color:color-mix(in srgb,var(--learning-card-border) 50%,transparent);transform:translateY(-1px)}.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:transparent;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{box-shadow:0 2px 8px #0000000f;transform:translateY(-.5px)}.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:learning-gradient-shift 3s ease infinite}@keyframes learning-gradient-shift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.learning-title-responsive{font-size:clamp(var(--learning-text-lg),1rem + 1.5vw,var(--learning-text-2xl));line-height:1.2;text-wrap:balance}.learning-body-responsive{font-size:clamp(var(--learning-text-sm),.75rem + .75vw,var(--learning-text-base));line-height:1.5;text-wrap:pretty}.learning-status-dot{width:8px;height:8px;border-radius:var(--learning-radius-full);display:inline-block}.learning-status-completed{background-color:var(--learning-state-completed)}.learning-status-active{background-color:var(--learning-state-active);animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.learning-status-locked{background-color:var(--learning-state-locked)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.learning-container{container-type:inline-size;container-name:learning-module;scrollbar-gutter:auto}@container learning-module (width < 400px){.learning-card-elevated{padding:16px;margin-bottom:16px}.learning-title-responsive{font-size:var(--learning-text-lg);line-height:1.333}.quiz-answer-option{padding:16px;min-height:48px}.stat-item{padding:4px 8px;font-size:var(--text-xs)}}@container learning-module (400px <= width < 640px){.learning-card-elevated{padding:24px}.learning-title-responsive{font-size:var(--learning-text-xl)}.learning-button-group{flex-direction:column;gap:8px}}@container learning-module (width >= 640px){.stats-panel{display:flex;flex-direction:row;gap:16px;align-items:center}.learning-card-elevated{padding:24px}.learning-button-group{flex-direction:row;gap:16px}.learning-detail-enhanced{display:block}}@container learning-module (width >= 1024px){.learning-card-elevated{padding:32px}.learning-content-split{display:grid;grid-template-columns:2fr 1fr;gap:24px}}.learning-touch-target{min-height:var(--touch-target-size, 44px);min-width:var(--touch-target-size, 44px);display:flex;align-items:center;justify-content:center}@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{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.learning-skip-link{position:absolute;top:-40px;left:0;background:var(--color-primary-500);color:var(--text-on-primary);padding:var(--learning-spacing-sm) var(--learning-spacing-md);text-decoration:none;border-radius:var(--learning-radius-md);z-index:100}.learning-skip-link:focus{top:var(--learning-spacing-sm)}}@layer overrides{[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-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;--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}@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{transition:none!important;transform:none!important}}}:root{--calendar-primary: #4f46e5;--calendar-primary-light: #6366f1;--calendar-primary-dark: #3730a3;--calendar-secondary: #7c3aed;--calendar-accent: #06b6d4;--calendar-meeting: #4f46e5;--calendar-study: #10b981;--calendar-interview: #8b5cf6;--calendar-appointment: #f59e0b;--calendar-team: #ef4444;--calendar-reminder: #6b7280;--calendar-available: #10b981;--calendar-busy: #ef4444;--calendar-tentative: #f59e0b;--calendar-free: #e5e7eb;--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, #10b981 0%, #059669 100%);--calendar-gradient-warning: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);--calendar-gradient-error: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);--calendar-card-bg: #ffffff;--calendar-card-bg-hover: #f8fafc;--calendar-card-border: #e2e8f0;--calendar-card-shadow: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--calendar-card-shadow-hover: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--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}.dark{--calendar-card-bg: #1f2937;--calendar-card-bg-hover: #374151;--calendar-card-border: #4b5563;--calendar-free: #4b5563}@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:all 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{display:inline-flex;align-items:center;justify-content:center;padding:var(--calendar-spacing-sm) var(--calendar-spacing-md);border-radius:var(--calendar-radius-md);font-size:var(--calendar-font-size-sm);font-weight:500;transition:all var(--calendar-duration-fast) ease;cursor:pointer;border:none;position:relative;overflow:hidden}.calendar-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left var(--calendar-duration-normal) ease}.calendar-button:hover:before{left:100%}.calendar-button-primary{background:var(--calendar-gradient-primary);color:#fff}.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{display: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)}.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:all 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{background:#10b9811a;border-color:var(--calendar-available)}.calendar-time-slot.selected{background:var(--calendar-gradient-primary);color:#fff;border-color:var(--calendar-primary);animation:calendar-bounce-in var(--calendar-duration-normal) ease}.calendar-time-slot.busy{background:#ef44441a;color:var(--calendar-busy);border-color:#ef44444d;cursor:not-allowed;opacity:.6}.calendar-time-slot.tentative{background:#f59e0b1a;color:var(--calendar-tentative);border-color:#f59e0b4d}.calendar-header{display:flex;align-items:center;gap:var(--calendar-spacing-md);padding:var(--calendar-spacing-lg);background:var(--calendar-gradient-primary);color:#fff;border-radius:var(--calendar-radius-xl) var(--calendar-radius-xl) 0 0;position:relative;overflow:hidden}.calendar-header:before{content:"";position:absolute;inset:0;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") repeat;pointer-events:none}.calendar-icon{width:48px;height:48px;border-radius:var(--calendar-radius-lg);background:#fff3;backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;animation:calendar-scale-in var(--calendar-duration-normal) ease var(--calendar-duration-fast)}.calendar-title{font-size:var(--calendar-font-size-xl);font-weight:600;margin:0;animation:calendar-slide-in-right var(--calendar-duration-normal) ease var(--calendar-duration-normal)}.calendar-subtitle{font-size:var(--calendar-font-size-sm);opacity:.9;margin:0;animation:calendar-slide-in-right var(--calendar-duration-normal) ease calc(var(--calendar-duration-normal) + .1s)}.calendar-event-indicator{display:inline-flex;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}.calendar-event-indicator.meeting{background:#4f46e51a;color:var(--calendar-meeting);border:1px solid rgba(79,70,229,.2)}.calendar-event-indicator.study{background:#10b9811a;color:var(--calendar-study);border:1px solid rgba(16,185,129,.2)}.calendar-event-indicator.interview{background:#8b5cf61a;color:var(--calendar-interview);border:1px solid rgba(139,92,246,.2)}.calendar-event-indicator.appointment{background:#f59e0b1a;color:var(--calendar-appointment);border:1px solid rgba(245,158,11,.2)}.calendar-loading{display:flex;align-items:center;justify-content:center;padding:var(--calendar-spacing-xl);background:var(--calendar-card-bg-hover);border-radius:var(--calendar-radius-lg);border:1px solid var(--calendar-card-border)}.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:calendar-shimmer 2s infinite}.calendar-skeleton{background:var(--calendar-card-bg-hover);border-radius:var(--calendar-radius-sm);animation:calendar-pulse 2s infinite}.calendar-conflict-warning{display:flex;align-items:center;gap:var(--calendar-spacing-sm);padding:var(--calendar-spacing-sm) var(--calendar-spacing-md);background:linear-gradient(135deg,#fef2f2,#fee2e2);border:1px solid #fecaca;border-radius:var(--calendar-radius-md);color:#dc2626;font-size:var(--calendar-font-size-sm);animation:calendar-fade-in var(--calendar-duration-normal) ease}.calendar-success-state{display:flex;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:#fff;font-size:var(--calendar-font-size-sm);animation:calendar-slide-up var(--calendar-duration-normal) ease}@media (max-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{grid-template-columns:repeat(3,1fr);gap:var(--calendar-spacing-xs)}.calendar-time-slot{font-size:.6875rem;padding:var(--calendar-spacing-xs)}}@media (max-width: 480px){.calendar-time-grid{grid-template-columns:repeat(2,1fr)}.calendar-button{width:100%;margin-bottom:var(--calendar-spacing-sm)}}.calendar-button:focus,.calendar-time-slot:focus{outline:2px solid var(--calendar-primary);outline-offset:2px}.calendar-button:focus-visible,.calendar-time-slot:focus-visible{outline:2px solid var(--calendar-primary);outline-offset:2px}@media (prefers-contrast: high){.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{animation:none;transition:none}.calendar-button:hover,.calendar-time-slot:hover{transform:none}}@media print{.calendar-card{box-shadow:none;border:1px solid #000;break-inside:avoid}.calendar-header{background:#000!important;color:#fff!important}.calendar-button{border:1px solid #000;background:#fff!important;color:#000!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: hsl(0, 0%, 98%);--canvas-background-secondary: hsl(0, 0%, 95%);--canvas-background-dark: hsl(0, 0%, 8%);--canvas-text: hsl(0, 0%, 20%);--canvas-text-secondary: hsl(0, 0%, 50%);--text-color: var(--canvas-text);--primary-color: hsl(210, 100%, 50%);--canvas-grid-color: hsl(0, 0%, 0%);--canvas-grid-opacity: .15;--canvas-grid-opacity-reduced: .05;--canvas-selection-color: hsl(210, 100%, 50%);--canvas-selection-alpha: .3;--canvas-hover-color: hsl(210, 100%, 50%);--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: 16px;--canvas-note-border-radius: 16px;--canvas-shadow-1: 0 1px 3px hsla(0, 0%, 0%, .12);--canvas-shadow-2: 0 4px 6px hsla(0, 0%, 0%, .1);--canvas-shadow-3: 0 8px 25px hsla(0, 0%, 0%, .12);--canvas-shadow-4: 0 12px 40px hsla(0, 0%, 0%, .15);--canvas-shadow-5: 0 20px 60px hsla(0, 0%, 0%, .2);--canvas-shadow-hover: 0 8px 25px hsla(0, 0%, 0%, .15);--canvas-shadow-active: 0 4px 12px hsla(0, 0%, 0%, .2);--canvas-shadow-dragging: 0 16px 48px hsla(0, 0%, 0%, .25);--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: 12px;--canvas-toolbar-gap: 8px;--canvas-toolbar-border-radius: 16px;--canvas-toolbar-backdrop-blur: 20px;--canvas-button-height: 48px;--canvas-button-padding: 12px 16px;--canvas-button-border-radius: 16px;--canvas-button-gap: 6px}:global(.dark){--canvas-background: hsl(0, 0%, 8%);--canvas-background-secondary: hsl(0, 0%, 12%);--canvas-text: hsl(0, 0%, 90%);--canvas-text-secondary: hsl(0, 0%, 60%);--canvas-grid-color: hsl(0, 0%, 100%);--canvas-grid-opacity: .1;--canvas-grid-opacity-reduced: .03}@media (max-width: 768px){:root{--canvas-note-min-width: 240px;--canvas-note-min-height: 180px;--canvas-note-padding: 12px;--canvas-toolbar-height: 56px;--canvas-toolbar-padding: 8px;--canvas-button-height: 40px;--canvas-button-padding: 8px 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);position:absolute;inset:0;pointer-events:none}.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 hsla(0,0%,0%,.15))}.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 hsla(0,0%,0%,.15))}.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);backdrop-filter:blur(var(--canvas-toolbar-backdrop-blur));-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);position:fixed;top:20px;left:50%;transform:translate(-50%);background:#000c;color:#fff;padding:8px 16px;border-radius:20px;font-size:var(--canvas-font-size-sm);font-weight:500;pointer-events:none;box-shadow:var(--canvas-shadow-3);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.document-count-badge{z-index:var(--canvas-elevation-overlay);position:absolute;top:16px;right:16px;background:#0080ffe6;color:#fff;padding:6px 12px;border-radius:16px;font-size:var(--canvas-font-size-xs);font-weight:500;box-shadow:var(--canvas-shadow-2);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.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)}@layer components{@media (prefers-contrast: high){.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 white}}}@layer overrides{@media (prefers-reduced-motion: reduce){.sticky-note,.flashcard-set,.elevation-transition,.elevation-fast-transition{transition:none!important;transform:none!important}.sticky-note.dragging,.flashcard-set.dragging{transform:none!important;filter:none!important}}}.grid-background{position:absolute;inset:0;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)}.grid-background:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at center,transparent 0%,hsla(0,0%,0%,.02) 70%,hsla(0,0%,0%,.05) 100%);pointer-events:none}.grid-background:after{content:"";position:absolute;inset:0;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}.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 (max-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-min-device-pixel-ratio: 2),(min-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{transition:none;opacity:var(--canvas-grid-opacity-reduced)}.infinite-canvas.panning .grid-background,.infinite-canvas.zooming .grid-background,.infinite-canvas:hover .grid-background{opacity:var(--canvas-grid-opacity-reduced)}}@media (prefers-contrast: high){.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:grid-pulse 2s ease-in-out infinite}:global(.dark) .grid-background{opacity:var(--canvas-grid-opacity)}:global(.dark) .grid-background:before{background:radial-gradient(circle at center,transparent 0%,hsla(0,0%,100%,.01) 70%,hsla(0,0%,100%,.03) 100%)}:global(.dark) .grid-background:after{opacity:.2}.sticky-note{position:absolute;display:flex;flex-direction:column;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:all var(--canvas-timing-normal) var(--canvas-easing-standard);user-select:none;-webkit-user-select:none;cursor:move;overflow:hidden}.sticky-note{background:linear-gradient(135deg,var(--note-color, #ffff88) 0%,color-mix(in srgb,var(--note-color, #ffff88) 90%,white) 100%);border:1px solid color-mix(in srgb,var(--note-color, #ffff88) 80%,transparent)}@supports not (color: color-mix(in srgb,red,blue)){.sticky-note{background:var(--note-color, #ffff88);border:1px solid rgba(0,0,0,.1)}}.sticky-note:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);border-top-left-radius:var(--canvas-note-border-radius);border-top-right-radius:var(--canvas-note-border-radius)}.sticky-note:after{content:"";position:absolute;bottom:8px;right:8px;width:16px;height:16px;background:repeating-linear-gradient(45deg,rgba(0,0,0,.05),rgba(0,0,0,.05) 1px,transparent 1px,transparent 3px);border-radius:3px;opacity:.4}.note-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:linear-gradient(180deg,#00000008,#00000003);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 rgba(0,0,0,.05)}.author-info{display:flex;align-items:center;gap:8px;min-width:0}.gravatar{width:28px;height:28px;border-radius:50%;box-shadow:0 2px 4px #0000001a,0 0 0 2px #fffc;will-change:transform;transition:transform var(--canvas-timing-fast) var(--canvas-easing-standard)}.gravatar:hover{transform:scale(1.1)}.author-name{font-weight:600;color:#000c;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:120px}.note-date{font-size:var(--canvas-font-size-xs);color:#0009;font-weight:500;white-space:nowrap}.note-actions{display:flex;align-items:center;gap:4px}.note-actions button{padding:8px;border:none;border-radius:8px;font-size:var(--canvas-font-size-xs);font-weight:500;cursor:pointer;transition:all var(--canvas-timing-fast) var(--canvas-easing-standard);min-width:32px;min-height:32px;display:flex;align-items:center;justify-content:center}.edit-btn{background:#3b82f61a;color:#3b82f6;border:1px solid rgba(59,130,246,.2)}.edit-btn:hover{background:#3b82f626;border-color:#3b82f64d;transform:translateY(-1px)}.save-btn{background:#22c55e1a;color:#22c55e;border:1px solid rgba(34,197,94,.2)}.save-btn:hover{background:#22c55e26;border-color:#22c55e4d;transform:translateY(-1px)}.delete-btn{background:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.2);width:32px;height:32px;font-size:18px;font-weight:600}.delete-btn:hover{background:#ef444426;border-color:#ef44444d;transform:translateY(-1px) scale(1.05)}.note-content{flex:1;padding:var(--canvas-note-padding);overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.2) transparent}.note-content::-webkit-scrollbar{width:6px}.note-content::-webkit-scrollbar-track{background:transparent}.note-content::-webkit-scrollbar-thumb{background:#0003;border-radius:3px}.note-content::-webkit-scrollbar-thumb:hover{background:#0000004d}.content-display{line-height:var(--canvas-line-height-normal);color:#000000d9;white-space:pre-wrap;word-wrap:break-word;outline:none}.content-display:focus{outline:2px solid var(--canvas-selection-color);outline-offset:2px;border-radius: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 #3b82f61a}.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 rgba(0,0,0,.15));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 #3b82f61a;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,rgba(59,130,246,.05) 0%,transparent 50%,rgba(59,130,246,.05) 100%)}.sticky-note[data-is-document=true]:hover{box-shadow:var(--canvas-shadow-hover),0 0 0 1px #3b82f633;transform:var(--canvas-hover-lift) scale(1.03)}.sticky-note:focus-visible{outline:3px solid var(--canvas-selection-color);outline-offset:3px}@layer overrides{@media (prefers-reduced-motion: reduce){.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{transform:none!important;filter:none!important}}}@media (prefers-contrast: high){.sticky-note{border:2px solid currentColor;background:var(--note-color, #ffff88)}.sticky-note:before,.sticky-note:after{display:none}.note-header{background:transparent;border-bottom:2px solid currentColor}}:global(.dark) .sticky-note{box-shadow:0 4px 12px #0000004d,0 2px 4px #0003}:global(.dark) .author-name{color:#ffffffe6}:global(.dark) .note-date{color:#ffffffb3}:global(.dark) .content-display{color:#ffffffe6}:global(.dark) .note-content::-webkit-scrollbar-thumb{background:#ffffff4d}@media (max-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:12px}.gravatar{width:24px;height:24px}.author-name{max-width:100px}.note-actions button{min-width:32px;min-height:32px;padding:4px 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 #3b82f633}}.sticky-note.pulse{animation:note-pulse 1s ease-in-out 3}@layer components{.toolbar{display:flex;align-items:center;justify-content: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%);backdrop-filter:blur(var(--canvas-toolbar-backdrop-blur)) saturate(1.8);-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 #00000014,0 2px 8px #0000000a,inset 0 1px #ffffff80;contain:layout style paint;will-change:transform,opacity;transition:all var(--canvas-timing-normal) var(--canvas-easing-standard);user-select:none;-webkit-user-select:none}.toolbar.fullscreen{background:#1a1a1ae6;border-color:#ffffff1a;box-shadow:0 8px 32px #0006,0 2px 8px #0003,inset 0 1px #ffffff1a}.toolbar-btn{display:flex;align-items:center;justify-content: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:#fff9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid hsla(0,0%,0%,.06);font-size:var(--canvas-font-size-sm);font-weight:500;color:#333;line-height:1;cursor:pointer;transition:all var(--canvas-timing-normal) var(--canvas-easing-standard);contain:layout style;will-change:transform,background-color,box-shadow;position:relative;white-space:nowrap}.toolbar-btn:hover{background:#fffc;border-color:#0000001f;transform:translateY(-1px);box-shadow:0 4px 12px #0000001f,0 2px 4px #00000014,inset 0 1px #fffc}.toolbar-btn:active{transform:translateY(0) scale(.98);box-shadow:0 2px 6px #0000001a,inset 0 1px 2px #0000001a;transition:all var(--canvas-timing-fast) var(--canvas-easing-standard)}.toolbar-btn:focus-visible{outline:2px solid var(--canvas-selection-color);outline-offset:2px;box-shadow:0 4px 12px #0000001f,0 0 0 3px #0080ff33}.toolbar-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;background:#ffffff4d;border-color:#00000008;box-shadow: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 #0080ff40,0 2px 4px #0080ff26,inset 0 1px #fff3}.toolbar-btn.primary:hover{background:color-mix(in srgb,var(--canvas-selection-color) 90%,white);box-shadow:0 6px 16px #0080ff4d,0 3px 6px #0080ff33,inset 0 1px #ffffff4d}.toolbar-btn.success{background:var(--color-success);color:var(--color-text-inverse);border-color:var(--color-success-dark)}.toolbar-btn.success:hover{background:#18b451;box-shadow:0 4px 12px #16a2494d,inset 0 1px #fff3}.toolbar-btn.danger{background:var(--color-error);color:var(--color-text-inverse);border-color:var(--color-error-dark)}.toolbar-btn.danger:hover{background:#f05656;box-shadow:0 4px 12px #ef43434d,inset 0 1px #fff3}.toolbar-dropdown{position:relative}.toolbar-dropdown-menu{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);background:#ffffffe6;backdrop-filter:blur(20px) saturate(1.8);-webkit-backdrop-filter:blur(20px) saturate(1.8);border:1px solid hsla(0,0%,0%,.08);border-radius:16px;box-shadow:0 12px 48px #0000001f,0 4px 16px #00000014,inset 0 1px #fffc;padding:8px;min-width:160px;contain:layout style paint;opacity:0;transform:translate(-50%) translateY(-8px) scale(.95);pointer-events:none;transition:all var(--canvas-timing-normal) var(--canvas-easing-decelerate);z-index:var(--canvas-elevation-overlay)}.toolbar-dropdown-menu.open{opacity:1;transform:translate(-50%) translateY(0) scale(1);pointer-events:auto}.toolbar-dropdown-item{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:8px;font-size:var(--canvas-font-size-sm);font-weight:500;color:#333;text-decoration:none;cursor:pointer;transition:all var(--canvas-timing-fast) var(--canvas-easing-standard);width:100%;border:none;background:none;text-align:left}.toolbar-dropdown-item:hover{background:#0080ff14;color:var(--canvas-selection-color)}.toolbar-dropdown-item:active{background:#0080ff1f;transform:scale(.98)}.color-picker-container{position:relative}.color-suggestions{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);display:grid;grid-template-columns:repeat(5,1fr);gap:8px;background:#ffffffe6;backdrop-filter:blur(16px) saturate(1.5);-webkit-backdrop-filter:blur(16px) saturate(1.5);border:1px solid hsla(0,0%,0%,.08);border-radius:16px;padding:16px;box-shadow:0 8px 32px #0000001f,0 2px 8px #00000014;opacity:0;transform:translate(-50%) translateY(-4px) scale(.95);pointer-events:none;transition:all var(--canvas-timing-normal) var(--canvas-easing-decelerate);z-index:var(--canvas-elevation-overlay)}.color-suggestions.open{opacity:1;transform:translate(-50%) translateY(0) scale(1);pointer-events:auto}.color-suggestion{width:32px;height:32px;border-radius:50%;border:2px solid hsla(0,0%,100%,.8);cursor:pointer;box-shadow:0 2px 8px #00000026,inset 0 1px 2px #ffffff4d;transition:all var(--canvas-timing-fast) var(--canvas-easing-standard);position:relative;overflow:hidden}.color-suggestion:hover{transform:scale(1.15);border-color:#fff;box-shadow:0 4px 12px #0003,0 0 0 3px #0080ff4d}.color-suggestion:active{transform:scale(1.05)}:global(.dark) .toolbar{background:#141414cc;border-color:#ffffff14;box-shadow:0 8px 32px #0006,0 2px 8px #0003,inset 0 1px #ffffff0d}:global(.dark) .toolbar-btn{background:#26262699;border-color:#ffffff0f;color:#d9d9d9}:global(.dark) .toolbar-btn:hover{background:#333c;border-color:#ffffff1f}:global(.dark) .toolbar-dropdown-menu,:global(.dark) .color-suggestions{background:#141414e6;border-color:#ffffff14}:global(.dark) .toolbar-dropdown-item{color:#d9d9d9}:global(.dark) .toolbar-dropdown-item:hover{background:#0080ff26;color:#66b3ff}@media (max-width: 768px){.toolbar{width:100%;justify-content:space-around;gap:8px;padding:8px 16px;background:#ffffffe6;backdrop-filter:blur(20px) saturate(2)}.toolbar-btn{flex-direction:column;gap:8px;padding:8px;min-width:48px;font-size:var(--canvas-font-size-xs)}.toolbar-btn span{@media (max-width: 480px){display:none}}.toolbar-dropdown-menu{position:fixed;top:auto;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.color-suggestions{grid-template-columns:repeat(4,1fr);gap:8px;padding:16px}.color-suggestion{width:40px;height:40px}}@media (prefers-contrast: high){.toolbar,.toolbar-btn{background:#fff;border:2px solid black;backdrop-filter:none}.toolbar-btn:hover{background:var(--color-neutral-900);color:var(--color-text-inverse)}.color-suggestion{border:3px solid 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 #0000001f,0 2px 4px #00000014}50%{box-shadow:0 4px 12px #0080ff4d,0 2px 4px #0080ff33}}.toolbar-btn.pulse{animation:button-pulse 1s ease-in-out 3}}.zoom-indicator{position:fixed;top:20px;left:50%;transform:translate(-50%);background:#000000d9;color:#fff;padding:8px 16px;border-radius:20px;font-size:var(--canvas-font-size-sm);font-weight:500;white-space:nowrap;pointer-events:none;z-index:var(--canvas-elevation-overlay);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid hsla(0,0%,100%,.1);opacity:0;transform:translate(-50%) translateY(-10px) scale(.9);transition:all var(--canvas-timing-fast) var(--canvas-easing-decelerate)}.zoom-indicator.visible{opacity:1;transform:translate(-50%) translateY(0) scale(1)}.zoom-indicator.hiding{opacity:0;transform:translate(-50%) translateY(-5px) scale(.95);transition:all var(--canvas-timing-normal) var(--canvas-easing-accelerate)}.infinite-canvas.panning{cursor:grabbing;filter:brightness(.96) contrast(1.02);transition:filter var(--canvas-timing-fast) ease}.infinite-canvas.panning .canvas-content{will-change:transform}.selection-box{position:absolute;border:2px solid var(--canvas-selection-color);background:#0080ff1a;border-radius:4px;pointer-events:none;z-index:var(--canvas-elevation-active);opacity:0;transform:scale(.95);transition:all var(--canvas-timing-fast) var(--canvas-easing-decelerate)}.selection-box.active{opacity:1;transform:scale(1)}.multi-selection-count{position:absolute;top:-12px;right:-12px;background:var(--canvas-selection-color);color:#fff;padding:4px 8px;border-radius:16px;font-size:var(--canvas-font-size-xs);font-weight:600;box-shadow:var(--canvas-shadow-2)}.drop-zone{position:absolute;border:2px dashed var(--canvas-selection-color);border-radius:var(--canvas-note-border-radius);background:#0080ff0d;opacity:0;transform:scale(.9);transition:all var(--canvas-timing-normal) var(--canvas-easing-standard);pointer-events:none;z-index:var(--canvas-elevation-content)}.drop-zone.active{opacity:1;transform:scale(1)}.drop-zone.hover{background:#0080ff1a;border-style:solid;box-shadow:0 0 0 4px #0080ff1a,var(--canvas-shadow-2)}.drag-preview{position:fixed;pointer-events:none;z-index:var(--canvas-elevation-overlay);opacity:.9;transform:scale(.9) rotate(5deg);filter:drop-shadow(var(--canvas-shadow-dragging));transition:all var(--canvas-timing-fast) var(--canvas-easing-standard)}.canvas-interactive{transition:all 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{position:absolute;inset:0;background:var(--canvas-hover-color);opacity:0;border-radius:inherit;pointer-events:none;transition:opacity var(--canvas-timing-normal) var(--canvas-easing-standard)}.canvas-interactive:hover .hover-overlay{opacity:var(--canvas-hover-alpha)}.touch-ripple{position:absolute;border-radius:50%;background:var(--canvas-selection-color);opacity:.3;pointer-events:none;transform:scale(0);animation:touch-ripple .6s ease-out}@keyframes touch-ripple{0%{transform:scale(0);opacity:.3}50%{opacity:.1}to{transform:scale(4);opacity:0}}.touch-active{transform:scale(.98);filter:brightness(.95)}.gesture-hint-pan{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--canvas-text-secondary);font-size:var(--canvas-font-size-sm);text-align:center;pointer-events:none;opacity:0;animation:gesture-hint-fade 3s ease-in-out}@keyframes gesture-hint-fade{0%,to{opacity:0}20%,80%{opacity:.6}}.gesture-hint-pinch{position:absolute;bottom:100px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px;color:var(--canvas-text-secondary);font-size:var(--canvas-font-size-xs);opacity:0;animation:gesture-hint-bounce 2s ease-in-out infinite}@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:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,hsla(210,100%,50%,.1),transparent);animation:canvas-loading-shimmer 2s infinite}@keyframes canvas-loading-shimmer{0%{left:-100%}to{left:100%}}.skeleton-note{background:linear-gradient(90deg,var(--canvas-background-secondary) 25%,var(--canvas-background) 50%,var(--canvas-background-secondary) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:var(--canvas-note-border-radius);width:var(--canvas-note-min-width);height:var(--canvas-note-min-height)}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.error-highlight{box-shadow:0 0 0 2px red,var(--canvas-shadow-2);animation:error-pulse 1s ease-in-out 3}@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:none;position:relative}.canvas-focusable:after{content:"";position:absolute;inset:-3px;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)}.canvas-focusable:focus-visible:after{opacity:1}@media (prefers-contrast: high){.zoom-indicator{background:#000;border:2px solid white;color:#fff}.selection-box,.drop-zone{border-width:3px}}@layer components{@media (prefers-reduced-motion: reduce){.infinite-canvas.panning{filter:none}.gesture-hint-pan,.gesture-hint-pinch{display:none}}}@layer overrides{@media (prefers-reduced-motion: reduce){.zoom-indicator,.selection-box,.drop-zone,.drag-preview,.canvas-interactive,.hover-overlay,.touch-ripple{transition:none!important;animation:none!important;transform:none!important}}}:root{--focus-ring-width: 2px;--focus-ring-offset: 2px;--focus-ring-color: var(--color-primary-500, var(--color-primary, #2D5B3E));--focus-ring: var(--focus-ring-width) solid var(--focus-ring-color);--touch-target-size: 44px;--theme-transition-duration: .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]{--theme-color-primary: 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-decoration:underline;text-decoration-thickness:.1em;text-underline-offset:.15em}[role=button]:not([disabled]),button:not([disabled]){border:2px solid currentColor}--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{border:2px solid currentColor;background-color:color-mix(in srgb,var(--theme-surface-input, white) 90%,white)}}html[data-reduced-motion=true]{--theme-transition-duration: 1ms;--motion-reduced-duration: 1ms;& *{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transform:none!important;opacity:1!important}[data-motion-trigger]{animation:none!important;transition:none!important}[data-parallax],[data-scroll-animation]{transform:none!important;transition:none!important;animation:none!important}.safe-animation{transition-property:color,background-color,border-color!important;transition-duration:1ms!important}}html[data-color-blind]{[role=button],button,a{[data-icon],img,svg{filter:saturate(1.2) brightness(.9)}}[data-status=success],[data-status=error],[data-status=warning],[data-status=info]{&:before{margin-right:.5em;content:attr(data-status);font-weight:700}}}html[data-color-blind=protanopia]{filter:url(#protanopia-filter);--theme-color-primary: hsl(205, 79%, 66%);--theme-color-secondary: hsl(54, 91%, 72%);--theme-color-error: hsl(54, 91%, 50%);--theme-color-success: hsl(205, 79%, 45%)}html[data-color-blind=deuteranopia]{filter:url(#deuteranopia-filter);--theme-color-primary: hsl(205, 79%, 66%);--theme-color-secondary: hsl(37, 93%, 61%);--theme-color-error: hsl(37, 93%, 45%);--theme-color-success: hsl(205, 79%, 40%)}html[data-color-blind=tritanopia]{filter:url(#tritanopia-filter);--theme-color-primary: hsl(0, 84%, 68%);--theme-color-secondary: hsl(0, 0%, 80%);--theme-color-error: hsl(0, 84%, 78%);--theme-color-success: hsl(120, 40%, 50%)}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;& 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)}line-height:1.6;letter-spacing:.01em;word-spacing:.05em}*:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset);animation:focus-pulse 2s infinite alternate ease-in-out;@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{position:absolute;height:0;width:0;overflow:hidden}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0;&:not(:focus):not(:focus-within){position:absolute!important;width:1px!important;height:1px!important;clip:rect(1px,1px,1px,1px)!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:.5rem}@media (pointer: fine){min-width:var(--touch-target-size);min-height:var(--touch-target-size)}&:not(:last-child){margin-right:.5rem;margin-bottom:.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 currentColor;text-decoration:none;padding-bottom:1px}}: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}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]){.prose,li,p,.text-content,article,.message-content,.chat-message,[data-text-container]{max-width:var(--a11y-max-text-width)}}.skip-to-content{position:absolute;top:-9999px;left:50%;transform:translate(-50%);background:var(--color-primary-500);color:#fff;padding:.8rem 1.2rem;z-index:100;border-radius:0 0 .5rem .5rem;text-decoration:none;font-weight:600;box-shadow:0 2px 5px #0003;transition:top .2s ease-in-out;border:2px solid color-mix(in srgb,var(--color-primary-500) 60%,white);outline:2px solid white;outline-offset:-4px;@media (prefers-reduced-motion: reduce){transition:none}@media (prefers-contrast: more){border:3px solid white;background-color:#000;color:#fff}}.skip-to-content:focus{top:0}.infinite-canvas-container,.canvas-container{container-type:inline-size;container-name:canvas}@container canvas (max-width: 720px){.infinite-canvas-container{height:100dvh;width:100dvw;overscroll-behavior:none;-webkit-overflow-scrolling:touch;touch-action:manipulation}.infinite-canvas{touch-action:pan-x pan-y pinch-zoom;-webkit-user-select:none;-ms-user-select:none;user-select:none}}@supports not (container-type: inline-size){@media (max-width: 768px){.infinite-canvas-container{height:100dvh;width:100dvw;overscroll-behavior:none;-webkit-overflow-scrolling:touch;touch-action:manipulation}.infinite-canvas{touch-action:pan-x pan-y pinch-zoom;-webkit-user-select:none;-ms-user-select:none;user-select:none}}}@container canvas (max-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 (max-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 (max-width: 720px){.infinite-canvas-container .toolbar-container,.canvas-container .toolbar-container{position:fixed;bottom:0;left:0;right:0;transform:none;padding:12px;background:transparent}.toolbar{width:100%;justify-content:space-around;background:#ffffffd9;backdrop-filter:blur(20px) saturate(1.8);-webkit-backdrop-filter:blur(20px) saturate(1.8);border-radius:24px;padding:12px 12px calc(12px + env(safe-area-inset-bottom)) 12px;box-shadow:0 -2px 20px #0000001a,0 2px 40px #00000026}.toolbar-btn{flex-direction:column;gap:4px;padding:8px 12px;min-width:64px;font-size:var(--canvas-font-size-xs);line-height:1}}@container canvas (max-width: 440px){.toolbar-btn span{display:none}}@supports not (container-type: inline-size){@media (max-width: 768px){.infinite-canvas-container .toolbar-container,.canvas-container .toolbar-container{position:fixed;bottom:0;left:0;right:0;transform:none;padding:12px;background:transparent}.toolbar{width:100%;justify-content:space-around;background:#ffffffd9;backdrop-filter:blur(20px) saturate(1.8);-webkit-backdrop-filter:blur(20px) saturate(1.8);border-radius:24px;padding:12px 12px calc(12px + env(safe-area-inset-bottom)) 12px;box-shadow:0 -2px 20px #0000001a,0 2px 40px #00000026}.toolbar-btn{flex-direction:column;gap:4px;padding:8px 12px;min-width:64px;font-size:var(--canvas-font-size-xs);line-height:1}}@media (max-width: 480px){.toolbar-btn span{display:none}}}.touch-ripple-container{position:relative;overflow:hidden}.touch-ripple{position:absolute;border-radius:50%;background:var(--canvas-selection-color);opacity:.3;pointer-events:none;animation:mobile-ripple .6s ease-out}@keyframes mobile-ripple{0%{transform:scale(0);opacity:.3}50%{opacity:.1}to{transform:scale(4);opacity:0}}.pinch-zoom-indicator{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:64px;height:64px;border:3px solid var(--canvas-selection-color);border-radius:50%;opacity:0;pointer-events:none;z-index:var(--canvas-elevation-overlay);transition:all var(--canvas-timing-fast) var(--canvas-easing-standard)}.pinch-zoom-indicator.active{opacity:.6;transform:translate(-50%,-50%) scale(1.2)}.long-press-active{animation:long-press-pulse .6s ease-in-out}@keyframes long-press-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@container canvas (max-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 (max-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{position:fixed;bottom:80px;right:16px;width:56px;height:56px;border-radius:50%;background:var(--canvas-selection-color);color:#fff;border:none;display:flex;align-items:center;justify-content:center;box-shadow:var(--canvas-shadow-3);z-index:var(--canvas-elevation-toolbar);cursor:pointer;transition:all var(--canvas-timing-normal) var(--canvas-easing-standard)}.mobile-fab:hover{transform:scale(1.1);box-shadow:var(--canvas-shadow-4)}.mobile-fab:active{transform:scale(.95)}.mobile-fab-menu{position:fixed;bottom:80px;right:16px;display:flex;flex-direction:column-reverse;align-items:center;gap:12px;opacity:0;pointer-events:none;transform:scale(.8);transition:all var(--canvas-timing-normal) var(--canvas-easing-decelerate)}.mobile-fab-menu.open{opacity:1;pointer-events:auto;transform:scale(1)}.mobile-fab-menu-item{width:48px;height:48px;border-radius:50%;background:var(--canvas-background);border:2px solid var(--canvas-selection-color);color:var(--canvas-selection-color);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--canvas-shadow-2);transition:all var(--canvas-timing-fast) var(--canvas-easing-standard)}.mobile-fab-menu-item:hover{background:var(--canvas-selection-color);color:#fff;transform:scale(1.1)}.mobile-zoom-controls{position:fixed;top:50%;right:16px;transform:translateY(-50%);display:flex;flex-direction:column;gap:8px;background:#ffffffe6;border-radius:24px;padding:8px;box-shadow:var(--canvas-shadow-2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;pointer-events:none;transition:all var(--canvas-timing-normal) var(--canvas-easing-standard)}.mobile-zoom-controls.visible{opacity:1;pointer-events:auto}.mobile-zoom-btn{width:40px;height:40px;border-radius:50%;border:none;background:var(--canvas-background);color:var(--canvas-text);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--canvas-timing-fast) var(--canvas-easing-standard)}.mobile-zoom-btn:hover{background:var(--canvas-selection-color);color:#fff;transform:scale(1.1)}.edge-gesture-area{position:absolute;top:0;bottom:0;width:16px;z-index:var(--canvas-elevation-active);pointer-events:auto}.edge-gesture-area.left{left:0}.edge-gesture-area.right{right:0}.edge-gesture-indicator{position:absolute;top:50%;transform:translateY(-50%);width:4px;height:40px;background:var(--canvas-selection-color);border-radius:2px;opacity:0;transition:opacity var(--canvas-timing-fast) var(--canvas-easing-standard)}.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 (max-width: 720px){.content-loading-overlay{background:#fffffff2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}:global(.dark) .content-loading-overlay{background:#000000f2}}@supports not (container-type: inline-size){@media (max-width: 768px){.content-loading-overlay{background:#fffffff2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}:global(.dark) .content-loading-overlay{background:#000000f2}}}@container canvas (max-width: 720px) and (orientation: landscape){.infinite-canvas-container .toolbar-container,.canvas-container .toolbar-container{padding:8px 16px}.toolbar{padding:8px 16px calc(8px + env(safe-area-inset-bottom)) 16px;border-radius:16px}.mobile-fab,.mobile-fab-menu{bottom:64px;right:40px}}@supports not (container-type: inline-size){@media (max-width: 768px) and (orientation: landscape){.infinite-canvas-container .toolbar-container,.canvas-container .toolbar-container{padding:8px 16px}.toolbar{padding:8px 16px calc(8px + env(safe-area-inset-bottom)) 16px;border-radius:16px}.mobile-fab,.mobile-fab-menu{bottom:64px;right:40px}}}@container canvas (max-width: 720px){:global(.dark) .toolbar{background:#1a1a1ad9;border:1px solid hsla(0,0%,100%,.1)}:global(.dark) .mobile-zoom-controls{background:#1a1a1ae6;border:1px solid hsla(0,0%,100%,.1)}:global(.dark) .mobile-fab-menu-item{background:#1a1a1a;border-color:var(--canvas-selection-color)}}@supports not (container-type: inline-size){@media (max-width: 768px){:global(.dark) .toolbar{background:#1a1a1ad9;border:1px solid hsla(0,0%,100%,.1)}:global(.dark) .mobile-zoom-controls{background:#1a1a1ae6;border:1px solid hsla(0,0%,100%,.1)}:global(.dark) .mobile-fab-menu-item{background:#1a1a1a;border-color:var(--canvas-selection-color)}}}@container canvas (max-width: 440px){.sticky-note{min-width:240px;min-height:180px;font-size:var(--canvas-font-size-sm)}.toolbar-btn{min-width:48px;padding:8px}.mobile-fab{width:48px;height:48px;bottom:70px;right:16px}}@supports not (container-type: inline-size){@media (max-width: 480px){.sticky-note{min-width:240px;min-height:180px;font-size:var(--canvas-font-size-sm)}.toolbar-btn{min-width:48px;padding:8px}.mobile-fab{width:48px;height:48px;bottom:70px;right:16px}}}@container canvas (min-width: 440px) and (max-width: 720px){.sticky-note{min-width:300px;min-height:220px}.toolbar{padding:16px}}@supports not (container-type: inline-size){@media (min-width: 480px) and (max-width: 768px){.sticky-note{min-width:300px;min-height:220px}.toolbar{padding:16px}}}@container canvas (max-width: 720px){.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)}}}@supports not (container-type: inline-size){@media (max-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{transform:translateZ(0);will-change:transform,opacity;contain:layout style paint;isolation:isolate;backface-visibility:hidden;-webkit-backface-visibility:hidden;-webkit-transform:translate3d(0,0,0);-webkit-perspective:1000px;perspective:1000px;transform-style:preserve-3d;-webkit-transform-style:preserve-3d}.infinite-canvas-container{transform:translateZ(0);will-change:contents;contain:layout style paint size;content-visibility:auto;-webkit-backface-visibility:hidden;backface-visibility:hidden}.grid-background{transform:translateZ(0);will-change:transform,opacity;contain:strict;background-attachment:local;image-rendering:crisp-edges}.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{transform:translateZ(0);will-change:transform;touch-action:manipulation;-webkit-tap-highlight-color:transparent;isolation:isolate}.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{transition:transform .1s cubic-bezier(.25,.46,.45,.94);will-change:transform}.canvas-loading{transform:translateZ(0);opacity:.7;filter:blur(.5px);transition:opacity .3s ease,filter .3s ease}.canvas-scrollable{contain:layout style;overflow:auto;-webkit-overflow-scrolling:touch}.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: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: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;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.passive-events{touch-action:pan-x pan-y}.compositing-layer{transform:translateZ(0);isolation:isolate}.toolbar{transform:translateZ(0);isolation:isolate;contain:layout style paint}.zoom-indicator,.selection-box{transform:translateZ(0);contain:layout style paint}.performance-critical{transform:translateZ(0);will-change:transform,opacity;contain:layout style paint;isolation:isolate}.performance-monitor{position:fixed;top:8px;left:8px;z-index:9999;transform:translateZ(0);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:var(--overlay-dark);color:var(--color-success-300);font-family:Courier New,monospace;font-size:12px;padding:8px 16px;border-radius:8px;contain:layout style paint;will-change:contents}.performance-monitor:before{content:"🚀 GPU: " attr(data-gpu-status) " | FPS: " attr(data-fps) " | MEM: " attr(data-memory);display:block;white-space:pre-line}.performance-warning{animation:performance-pulse 2s infinite;border:2px solid var(--color-error-400);box-shadow:0 0 10px var(--color-error-alpha-50)}@keyframes performance-pulse{0%,to{transform:translateZ(0) scale(1);opacity:1}50%{transform:translateZ(0) scale(1.02);opacity:.8}}.fps-counter{position:fixed;top:48px;left:8px;z-index:9998;transform:translateZ(0);background:var(--color-success-alpha-90);color:var(--text-on-primary);padding:8px;border-radius:8px;font-size:12px;font-weight:700;contain:layout style paint;will-change:contents}.memory-indicator{position:fixed;top:88px;left:8px;z-index:9997;transform:translateZ(0);contain:layout style paint}.memory-bar{width:96px;height:8px;background:var(--overlay-light);border-radius:8px;overflow:hidden}.memory-usage{height:100%;background:linear-gradient(90deg,var(--color-success),var(--color-warning),var(--color-error));border-radius:8px;transition:width .3s ease;will-change:width}.gpu-status{position:fixed;top:128px;left:8px;z-index:9996;transform:translateZ(0);padding:8px;border-radius:8px;font-size:12px;font-weight:700;background:var(--gpu-status-color, var(--color-error-alpha-90));color:var(--text-on-primary)}.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{position:absolute;pointer-events:none;transform:translateZ(0);will-change:transform,opacity;contain:layout style paint;isolation:isolate}.layer-visualization{position:fixed;bottom:8px;left:8px;z-index:9995;transform:translateZ(0);background:var(--overlay-dark);color:var(--color-info);padding:8px;border-radius:8px;font-size:12px;font-family:monospace}.layer-count{display:block;margin-bottom:8px}.layer-cost{display:block;font-size:12px;opacity:.8}@media (max-width: 768px){.grid-background:before{display:none}.sticky-note:before,.sticky-note:after{display:none}.toolbar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.sticky-note:hover{transform:translate3d(var(--note-x, 0),var(--note-y, 0),0) translateY(-1px)}}@media (max-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{transform:none;will-change:auto;contain:none}.grid-background{display:none}}.optimization-section{margin-top:16px;padding-top:8px;border-top:1px solid var(--border-subtle)}.section-header{font-size:12px;font-weight:700;color:var(--color-info);margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid var(--color-info-alpha-20);display:flex;align-items:center;gap:8px}.optimization-controls{margin-top:16px;padding-top:8px;border-top:1px solid var(--border-subtle)}.control-row{display:flex;align-items:center;padding:8px 0;border-bottom:1px solid var(--border-faint)}.control-row:last-child{border-bottom:none}.control-label{display:flex;align-items:center;gap:8px;color:var(--text-primary);font-size:11px;font-weight:500;cursor:pointer;transition:color .2s ease;width:100%}.control-label:hover{color:var(--color-info)}.control-label input[type=checkbox]{accent-color:var(--color-success);width:16px;height:16px;cursor:pointer}.metric-value.success{color:var(--color-success)}.metric-value.info{color:var(--color-info)}.metric-value.warning{color:var(--color-error-400);animation:optimization-warning-pulse 1.5s infinite}.metric-value.accelerated{color:var(--color-success-300)}.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:8px;font-size:12px}.metric-value[data-culling-efficiency=medium]:after{content:"⚡";margin-left:8px;font-size:12px}.metric-value[data-culling-efficiency=low]:after{content:"🐌";margin-left:8px;font-size:12px}.culling-visualization{display:flex;align-items:center;gap:8px;margin-top:8px;padding:8px;background:var(--overlay-medium);border-radius:8px;border:1px solid var(--border-subtle)}.culling-stats{display:flex;gap:16px;font-size:12px}.culling-stat{display:flex;flex-direction:column;align-items:center;gap:8px}.culling-stat-value{font-weight:700;font-size:12px}.culling-stat-label{color:var(--text-secondary-alpha-70);font-size:12px;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{display:inline-flex;align-items:center;gap:8px;font-size:12px;padding:8px;border-radius:16px;background:var(--color-warning-alpha-20);color:var(--color-warning);border:1px solid var(--color-warning-alpha-30)}.memory-savings{position:relative;display:inline-flex;align-items:center;gap:8px}.memory-savings-bar{width:40px;height:8px;background:var(--overlay-light);border-radius:8px;overflow:hidden}.memory-savings-fill{height:100%;background:linear-gradient(90deg,var(--color-success),var(--color-success-300));border-radius:8px;transition:width .3s ease}.optimization-badge{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;padding:8px;border-radius:16px;text-transform:uppercase;letter-spacing:.5px}.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{position:relative;opacity:.3;pointer-events:none}.culled-element:after{content:"👁️‍🗨️";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:32px;z-index:1000;pointer-events:none}.recycled-element{border:2px dashed var(--color-warning-alpha-50);position:relative}.recycled-element:before{content:"♻️";position:absolute;top:-8px;right:-8px;font-size:16px;z-index:1000;background:var(--overlay-medium);border-radius:50%;padding:2px}@keyframes optimization-warning-pulse{0%,to{opacity:1;color:var(--color-error-400)}50%{opacity:.6;color:var(--color-warning)}}.viewport-bounds{position:absolute;border:2px solid var(--color-info-alpha-50);background:var(--color-info-alpha-10);pointer-events:none;z-index:1000;transform:translateZ(0);will-change:transform}.viewport-bounds:after{content:"VIEWPORT";position:absolute;top:-24px;left:0;font-size:12px;font-weight:700;color:var(--color-info);background:var(--overlay-dark);padding:8px;border-radius:8px}.buffer-zone{position:absolute;border:1px dashed var(--color-success-alpha-50);background:var(--color-success-alpha-5);pointer-events:none;z-index:999;transform:translateZ(0)}.buffer-zone:after{content:"BUFFER";position:absolute;top:-24px;right:0;font-size:12px;font-weight:700;color:var(--color-success);background:var(--overlay-medium);padding:8px;border-radius:8px}@media (max-width: 768px){.optimization-section,.optimization-controls{margin-top:8px;padding-top:8px}.section-header{font-size:12px;margin-bottom:8px}.control-label{font-size:12px;gap:8px}.control-label input[type=checkbox]{width:16px;height:16px}.culling-visualization{flex-direction:column;gap:8px;padding:8px}.culling-stats{gap:8px}.optimization-badge{font-size:12px;padding:8px}.memory-savings-bar{width:32px}}: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: high){.optimization-section,.optimization-controls{border-color:currentColor}.section-header{color:currentColor;border-color:currentColor}.control-label{color:currentColor}.optimization-badge{border-color:currentColor;color:currentColor}}@layer components{.canvas-element[data-culled=true],.canvas-element[data-pooled=true]{display:none}}.canvas-element[data-visible=true]{display:block}.canvas-element{transform:translateZ(0);will-change:transform,opacity;contain:layout style paint}@layer overrides{@media (prefers-reduced-motion: reduce){.control-label,.memory-savings-fill{transition:none}.metric-value.warning{animation:none;color:var(--color-error-400)}@keyframes optimization-warning-pulse{0%,to{opacity:1;color:var(--color-error-400)}}}}@layer components{.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;position:absolute;bottom:0;left:0;right:0;pointer-events:auto}.infinite-canvas-container .canvas-layer-overlay{z-index:100;position:absolute;pointer-events:auto}.infinite-canvas-container .stats-overlay{position:absolute;top:20px;right:20px;z-index:var(--z-index-dropdown);display:block;visibility:visible;opacity:1;pointer-events:none;background:var(--color-white-alpha-90);-webkit-backdrop-filter:blur(20px) saturate(1.8);backdrop-filter:blur(20px) saturate(1.8);border-radius:16px;padding:16px;box-shadow:0 8px 32px #0000001a,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);transform:translateZ(0);will-change:opacity,transform}.infinite-canvas-container .stats-overlay.fullscreen{top:10px;right:10px}.infinite-canvas-container .stats-compact{display:flex;gap:20px;align-items:center}.infinite-canvas-container .stat-item{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:var(--canvas-text, #333)}.infinite-canvas-container .stat-value{font-weight:700;font-size:16px;color:var(--primary-color, #007bff)}.infinite-canvas-container .stat-label{font-size:12px;opacity:.8}.infinite-canvas-container .toolbar-container{position:absolute;bottom:20px;left:20px;right:20px;z-index:50;pointer-events:auto;display:block}.infinite-canvas-container .toolbar-container+.toolbar-container{display:none}.demo-canvas:not(.no-statistics) .infinite-canvas-container .stats-overlay{display:block;visibility:visible;opacity:1}.demo-canvas.no-statistics .infinite-canvas-container .stats-overlay{display:none;visibility:hidden;opacity:0}@container (max-width: 640px){.infinite-canvas-container .stats-overlay{top:12px;right:12px;left:12px;padding:12px}.infinite-canvas-container .stats-compact{flex-direction:column;gap:12px}.infinite-canvas-container .toolbar-container{bottom:12px;left:12px;right:12px}}.infinite-canvas-container.gpu-accelerated .stats-overlay{will-change:transform,opacity;transform:translateZ(0)}.infinite-canvas-container.gpu-accelerated .toolbar-container{will-change:transform;transform:translateZ(0)}.infinite-canvas-container[data-debug=true] .stats-overlay{outline:2px solid red;background:var(--color-error-alpha-10)}.infinite-canvas-container[data-debug=true] .toolbar-container{outline:2px solid blue;background:var(--color-info-alpha-10)}.infinite-canvas-container[data-debug=true] .canvas-layer-overlay{outline:1px solid green}}@layer overrides{@media (prefers-contrast: high){.infinite-canvas-container .stats-overlay{background:var(--color-white-alpha-95);border:2px solid #000;backdrop-filter:none}.infinite-canvas-container .stat-item{color:#000}}@media (prefers-reduced-motion: reduce){.infinite-canvas-container .stats-overlay,.infinite-canvas-container .toolbar-container{transition:none;animation:none}}}.infinite-canvas-container{position:relative;width:100%;height:100%;min-height:400px;max-height:100%;overflow:hidden;flex:1;display:flex;flex-direction:column;container-type:inline-size;contain:layout style paint;isolation:isolate;transform:translateZ(0);background-color:var(--canvas-background, #f8f9fa);color:var(--canvas-text, #333);border-radius:8px;box-shadow:0 2px 8px var(--color-neutral-alpha-10)}.infinite-canvas{position:relative;width:100%;height:100%;cursor:grab;flex:1;min-height:0;will-change:transform;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;touch-action:none;-webkit-overflow-scrolling:touch}.infinite-canvas.panning{cursor:grabbing;filter:brightness(.95);transition:filter .2s ease}.infinite-canvas.zooming{transition:transform .1s ease-out}.canvas-content{position:absolute;top:0;left:0;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}.content-loading-overlay{position:absolute;inset:0;background:var(--color-white-alpha-80);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1rem;z-index:var(--canvas-elevation-overlay, 100)}:global(.dark) .content-loading-overlay{background:var(--overlay-dark)}@layer components{@media (prefers-reduced-motion: reduce){.infinite-canvas.panning{filter:none}}}@layer overrides{@media (prefers-reduced-motion: reduce){.infinite-canvas,.canvas-content,.content-loading-overlay{transition:none!important;animation:none!important}}}.stats-overlay{position:absolute;top:20px;right:20px;z-index:var(--canvas-elevation-overlay, 100);display:block!important;visibility:visible!important;opacity:1!important;background:var(--color-white-alpha-95);backdrop-filter:blur(var(--canvas-toolbar-backdrop-blur, 20px));-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 hsla(0, 0%, 0%, .12)),0 0 0 1px var(--canvas-selection-color, hsl(210, 100%, 50%));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))}@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{display:flex;gap:var(--canvas-toolbar-gap, 8px);padding:var(--canvas-toolbar-padding, 12px);min-width:min-content;align-items:center}.stats-content{display:flex;gap:var(--canvas-toolbar-gap, 8px);align-items:center;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))}.stats-content.hidden{opacity:0;transform:scale(.9);pointer-events:none}.stats-toggle{display:none;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:var(--color-white-alpha-10);border-radius:8px;cursor:pointer;transition:background-color var(--canvas-timing-fast, .15s) var(--canvas-easing-standard, cubic-bezier(.4, 0, .2, 1))}.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{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:60px;position:relative;border-radius:var(--canvas-button-border-radius, 12px);padding:8px;transition:background-color var(--canvas-timing-fast, .15s) var(--canvas-easing-standard, cubic-bezier(.4, 0, .2, 1))}.stat-item:hover{background-color:var(--canvas-hover-color, rgba(0, 0, 0, .05))}:global(.dark) .stat-item:hover{background-color:var(--color-white-alpha-10)}.stat-icon{width:20px;height:20px;flex-shrink:0;stroke-width:2}.stat-value{font-size:var(--canvas-font-size-lg, 16px);font-weight:600;color:var(--canvas-text, #333);line-height:var(--canvas-line-height-tight, 1.25)}.stat-value-split{display:flex;align-items:center;gap:2px}.stat-value-split .created{color:var(--canvas-text, #333)}.stat-value-split .separator{color:var(--canvas-text-secondary, #777);font-weight:400}.stat-value-split .mastered{color:#16a249;font-weight:700}:global(.dark) .stat-value-split .mastered{color:#1fe066}.stat-label{font-size:var(--canvas-font-size-xs, 11px);font-weight:500;color:var(--canvas-text-secondary, #777);text-transform:uppercase;letter-spacing:.5px;line-height:var(--canvas-line-height-tight, 1.25)}@container (max-width: 640px){.stats-overlay{top:12px;right:12px;left:12px;max-width:none}.stats-toggle{display:flex}.stats-compact{justify-content:flex-start;padding:8px 12px}.stats-content{margin-left:8px}.stat-item{min-width:auto;flex:1;padding:8px}.stat-icon{width:16px;height:16px}.stat-value{font-size:var(--canvas-font-size-base, 14px)}.stat-label{font-size:10px}}@container (max-width: 480px){.stats-compact{gap:4px;padding:8px}.stat-item{gap:2px;padding:4px}.stat-icon{width:16px;height:16px}.stat-value{font-size:var(--canvas-font-size-sm, 13px)}.stat-label{font-size:9px}}@layer overrides{@media (prefers-reduced-motion: reduce){.stats-overlay{animation:none!important;transition:none!important}.stat-item{transition:none!important}@keyframes stats-fade-in{0%,to{opacity:1;transform:none}}}}@media (prefers-contrast: high){.infinite-canvas-container{border:2px solid currentColor}.stats-overlay{border:2px solid currentColor;background:canvas;backdrop-filter:none}.stat-item:hover{background-color:highlight;color:highlighttext}.stat-value-split .mastered{color:currentColor;font-weight:700}}@media print{.stats-overlay{display:none}}.performance-monitor{position:fixed;top:60px;right:10px;z-index:10000;transform:translateZ(0);contain:layout style paint;background:var(--overlay-heavy);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--color-white-alpha-10);border-radius:8px;color:var(--color-status-success);font-family:Courier New,monospace;font-size:11px;min-width:200px;max-width:280px;opacity:0;transform:translateZ(0) translateY(-10px) scale(.95);transition:opacity .3s ease,transform .3s ease;pointer-events:none}.performance-monitor.visible{opacity:1;transform:translateZ(0) translateY(0) scale(1);pointer-events:auto}.performance-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-bottom:1px solid var(--color-white-alpha-10);background:var(--color-success-alpha-10)}.performance-close{background:none;border:none;color:var(--color-status-error);font-size:16px;font-weight:700;cursor:pointer;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s ease}.performance-close:hover{background:var(--color-error-alpha-20)}.performance-metrics{padding:8px 12px}.metric-row{display:flex;justify-content:space-between;align-items:center;padding:3px 0;border-bottom:1px solid var(--color-white-alpha-5)}.metric-row:last-child{border-bottom:none}.metric-label{color:var(--color-text-inverse);font-weight:500;min-width:80px}.metric-value{color:var(--color-status-success);font-weight:700;text-align:right}.metric-value.warning{color:var(--color-status-error);animation:performance-warning-pulse 1.5s infinite}.metric-value.accelerated{color:var(--color-status-success)}@keyframes performance-warning-pulse{0%,to{opacity:1}50%{opacity:.6}}.performance-toggle{position:fixed;top:20px;right:200px;z-index:9999;transform:translateZ(0);background:var(--overlay-dark);border:2px solid var(--color-success-alpha-30);border-radius:50%;width:40px;height:40px;font-size:16px;color:var(--color-status-success);cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.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{transform:translateZ(0);will-change:transform,opacity;backface-visibility:hidden;-webkit-backface-visibility:hidden;transform-style:preserve-3d;-webkit-transform-style:preserve-3d}.performance-warning{position:relative}.performance-warning:after{content:"⚠️";position:absolute;top:-5px;right:-5px;font-size:12px;background:#ff6b6be6;color:#fff;border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;animation:performance-warning-bounce 2s infinite;z-index:1}@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 (max-width: 768px){.performance-monitor{top:50px;right:5px;left:5px;max-width:none;font-size:10px}.performance-toggle{top:10px;right:50px;width:35px;height:35px;font-size:14px}.metric-row{padding:2px 0}}:global(.dark) .performance-monitor{background:#141414f2;border-color:var(--color-white-alpha-10)}:global(.dark) .performance-header{background:#00ff0026}:global(.dark) .performance-toggle{background:var(--overlay-heavy)}@layer overrides{@media (prefers-reduced-motion: reduce){.performance-monitor{transition:none;animation:none}.performance-toggle{transition:none}.metric-value.warning{animation:none;color:var(--color-status-error)}@keyframes performance-warning-pulse{0%,to{opacity:1}}@keyframes performance-warning-bounce{0%,to{transform:none}}}}:root{--z-index-dropdown: 100;--z-index-tooltip: 200;--z-index-modal-backdrop: 1000;--z-index-modal-content: 1001;--z-index-modal-nested: 1100;--z-index-modal-critical: 1200;--z-index-modal-fullscreen: 9999;--z-index-notification: 1300;--z-index-celebration: 1400;--z-index-system-alert: 10000;--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: 1.5rem;--modal-content-padding-lg: 2rem;--modal-content-padding-ultrawide: 3rem}.modal-backdrop-blur{position:fixed;inset:0;z-index:var(--z-index-modal-backdrop);display:flex;align-items:center;justify-content:center;background-color:#0000004d;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:backdrop-fade-in .2s ease-out}.modal-backdrop-blur-strong{background-color:#0006;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.modal-backdrop-blur-light{background-color:#0003;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.modal-backdrop-glass{background:linear-gradient(135deg,#ffffff1a,#ffffff0d);backdrop-filter:blur(10px) saturate(1.5);-webkit-backdrop-filter:blur(10px) saturate(1.5)}.dark .modal-backdrop-blur{background-color:#00000080}.dark .modal-backdrop-blur-strong{background-color:#0009}.dark .modal-backdrop-blur-light{background-color:#0000004d}.dark .modal-backdrop-glass{background:linear-gradient(135deg,#0000004d,#0003)}@media (prefers-reduced-motion: reduce){.modal-backdrop-blur,.modal-backdrop-blur-strong,.modal-backdrop-blur-light,.modal-backdrop-glass{animation:none;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}}@supports (-webkit-touch-callout: none){.modal-backdrop-blur,.modal-backdrop-blur-strong,.modal-backdrop-blur-light,.modal-backdrop-glass{backdrop-filter:none;-webkit-backdrop-filter:none;background-color:#0009}.dark .modal-backdrop-blur,.dark .modal-backdrop-blur-strong,.dark .modal-backdrop-blur-light,.dark .modal-backdrop-glass{background-color:#000000b3}.modal-backdrop-blur{animation:none}.modal-content,.modal-body{transform:translateZ(0);-webkit-transform:translate3d(0,0,0);will-change:transform}}@supports not (backdrop-filter: blur(8px)){.modal-backdrop-blur{background-color:#00000080}.modal-backdrop-blur-strong{background-color:#0009}.modal-backdrop-blur-light{background-color:#0006}.modal-backdrop-glass{background-color:#00000073}}@keyframes backdrop-fade-in{0%{opacity:0;backdrop-filter:blur(0px);-webkit-backdrop-filter:blur(0px)}to{opacity:1;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}}.modal-content-glass{background:var(--theme-surface, rgba(255, 255, 255, .95));backdrop-filter:blur(20px) saturate(1.8);-webkit-backdrop-filter:blur(20px) saturate(1.8);border:1px solid rgba(255,255,255,.18);box-shadow:0 8px 32px #1f268726,0 4px 16px #0000001a}.dark .modal-content-glass{background:#1e1e1ef2;border:1px solid rgba(255,255,255,.08);box-shadow:0 8px 32px #0006,0 4px 16px #0003}.modal-transition-base{transition:all .3s cubic-bezier(.4,0,.2,1)}.modal-transition-fast{transition:all .2s cubic-bezier(.4,0,.2,1)}.modal-focus-trap:focus-visible{outline:2px solid var(--theme-color-primary, #3b82f6);outline-offset:2px}.modal-open{overflow:hidden;position:fixed;width:100%;height:100%}.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);margin-inline:auto;padding-inline:var(--modal-content-padding)}@media (min-width: 2560px){.modal-fullscreen-content{max-width:var(--modal-max-width-3xl);padding-inline:var(--modal-content-padding-ultrawide)}.modal-content{padding-inline:var(--modal-content-padding-lg)}.modal-width-sm,.modal-width-md,.modal-width-lg,.modal-width-xl,.modal-width-2xl{margin-inline:auto}}@media (min-width: 1920px) and (max-width: 2559px){.modal-fullscreen-content{max-width:var(--modal-max-width-2xl);padding-inline:var(--modal-content-padding-lg)}}@media (max-width: 640px){.modal-fullscreen-content{padding-inline:1rem}}.modal-overlay{position:fixed;inset:0;z-index:var(--z-index-modal-fullscreen, 9999);background-color:var(--overlay-background, rgba(0, 0, 0, .5));display:flex;align-items:center;justify-content:center}.dark .modal-overlay{background-color:var(--overlay-background-dark, rgba(0, 0, 0, .6))}.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{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-4, 1rem);border-bottom:1px solid var(--border-subtle, color-mix(in srgb, var(--text-tertiary) 20%, transparent))}.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);background:none;border:none;padding:.5rem;cursor:pointer;transition:color var(--transition-fast, .15s) ease;border-radius:var(--shape-button, var(--radius-sm, .375rem))}.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(--spacing-6, 1.5rem)}.btn-circular-primary{padding:var(--spacing-3, .75rem);border-radius:var(--shape-avatar, var(--radius-full, 9999px));background-color:var(--color-primary-500, #3b82f6);color:var(--text-on-primary, white);box-shadow:var(--shadow-primary, 0 4px 12px rgba(var(--color-primary-rgb, 45, 91, 62), .2));border:none;cursor:pointer;transition:background-color var(--transition-fast, .15s) ease,transform var(--transition-fast, .15s) ease,box-shadow var(--transition-fast, .15s) ease}.btn-circular-primary:hover{background-color:var(--color-primary-600, #2563eb);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.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{display:flex;align-items:center;justify-content:center}.layout-full{width:100%;height:100%}.layout-full-surface{width:100%;height:100%;background-color:var(--surface-background)}.absolute-top-right{position:absolute;top:var(--spacing-4, 1rem);right:var(--spacing-4, 1rem)}.icon-md{width:1.5rem;height:1.5rem}.empty-state{text-align:center;padding-top:var(--spacing-12, 3rem);padding-bottom:var(--spacing-12, 3rem)}.empty-state-text{color:var(--text-secondary);margin-bottom:var(--spacing-4, 1rem)}.empty-state-subtext{font-size:var(--botanical-text-sm, .875rem);color:var(--text-tertiary)}.mt-2{margin-top:var(--spacing-2, .5rem)}.space-y-1>*+*{margin-top:var(--spacing-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(--spacing-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(--spacing-1, .25rem)}.mb-2{margin-bottom:var(--spacing-2, .5rem)}.mb-3{margin-bottom:var(--spacing-3, .75rem)}.ml-1{margin-left:var(--spacing-1, .25rem)}.ml-2{margin-left:var(--spacing-2, .5rem)}.mt-1{margin-top:var(--spacing-1, .25rem)}.-mt-1{margin-top:calc(-1 * var(--spacing-1, .25rem))}.my-2{margin-top:var(--spacing-2, .5rem);margin-bottom:var(--spacing-2, .5rem)}.my-4{margin-top:var(--spacing-4, 1rem);margin-bottom:var(--spacing-4, 1rem)}.p-2{padding:var(--spacing-2, .5rem)}.px-2{padding-left:var(--spacing-2, .5rem);padding-right:var(--spacing-2, .5rem)}.py-1{padding-top:var(--spacing-1, .25rem);padding-bottom:var(--spacing-1, .25rem)}.px-4{padding-left:var(--spacing-4, 1rem);padding-right:var(--spacing-4, 1rem)}.py-2{padding-top:var(--spacing-2, .5rem);padding-bottom:var(--spacing-2, .5rem)}.px-5{padding-left:var(--spacing-6, 1.25rem);padding-right:var(--spacing-6, 1.25rem)}.py-3{padding-top:var(--spacing-3, .75rem);padding-bottom:var(--spacing-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{background-color:var(--surface-background)}.bg-surface-container{background-color:var(--surface-card)}.bg-transparent{background-color:transparent}.bg-primary{background-color:var(--color-primary-500, #3b82f6)}.bg-blue-100{background-color:color-mix(in srgb,var(--color-primary-500, #3b82f6) 10%,var(--surface-card))}.dark .bg-blue-100{background-color:color-mix(in srgb,var(--color-primary-500, #3b82f6) 20%,var(--surface-background))}.bg-blue-900{background-color:color-mix(in srgb,var(--color-primary-500, #3b82f6) 80%,black)}.dark .bg-blue-900{background-color:color-mix(in srgb,var(--color-primary-500, #3b82f6) 60%,black)}.text-primary{color:var(--text-primary)}.text-tertiary,.text-muted{color:var(--text-tertiary)}.text-secondary{color:var(--text-secondary)}.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)}.text-high-contrast{color:var(--text-primary)}.hover-bg-primary:hover{background-color:var(--color-primary-500, #3b82f6)}.hover-bg-surface:hover{background-color:var(--surface-card-hover, color-mix(in srgb, var(--surface-card) 95%, var(--text-primary)))}.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:none}.resize-none{resize:none}.self-center{align-self:center}[dir=ltr]{direction:ltr}.transition{transition:all 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(--spacing-2, .5rem)}.group{position:relative}@media (max-width: 768px){.modal-content{max-width:95vw;border-radius:var(--shape-modal, var(--card-radius, .75rem))}.modal-header,.modal-body{padding:var(--spacing-4, 1rem)}.modal-title{font-size:var(--botanical-text-lg, 1.25rem)}}.modal-content{container-type:size;container-name:modal-body}@container modal-body (max-width: 320px){.modal-header{padding:var(--spacing-3, .75rem);flex-direction:column;gap:.5rem}.modal-title{font-size:var(--botanical-text-base, 1rem)}.modal-close-btn{position:absolute;top:var(--spacing-2, .5rem);right:var(--spacing-2, .5rem)}.modal-body{padding:var(--spacing-3, .75rem)}}@container modal-body (min-width: 321px) and (max-width: 480px){.modal-header{padding:var(--spacing-3, .75rem) var(--spacing-4, 1rem)}.modal-title{font-size:var(--botanical-text-lg, 1.25rem)}.modal-body{padding:var(--spacing-4, 1rem)}.modal-button-group{display:flex;flex-direction:column;gap:.5rem}.modal-button-group button{width:100%}}@container modal-body (min-width: 481px) and (max-width: 700px){.modal-header{padding:var(--spacing-4, 1rem)}.modal-title{font-size:var(--botanical-text-xl, 1.5rem)}.modal-body{padding:var(--spacing-6, 1.5rem)}.modal-button-group{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}}@container modal-body (min-width: 701px){.modal-header{padding:var(--spacing-6, 1.5rem)}.modal-title{font-size:var(--botanical-text-2xl, 1.875rem)}.modal-body{padding:var(--spacing-8, 2rem)}.modal-button-group{display:grid;grid-template-columns:1fr 1fr;gap:1rem}}@container modal-body (max-width: 480px){.modal-form-row{flex-direction:column}.modal-form-field{width:100%}.modal-form-row .modal-form-field:not(:last-child){margin-bottom:1rem}}@container modal-body (min-width: 481px) and (max-width: 700px){.modal-form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.modal-form-row.full-width .modal-form-field{grid-column:1 / -1}}@container modal-body (min-width: 701px){.modal-form-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1.5rem}.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 (max-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 (min-width: 481px){.modal-description{font-size:var(--botanical-text-base, 1rem)}.modal-label{font-size:var(--botanical-text-sm, .875rem)}}@container modal-body (max-width: 480px){.modal-content-list{flex-direction:column;gap:.5rem}.modal-list-item{padding:var(--spacing-2, .5rem);font-size:var(--botanical-text-sm, .875rem)}.modal-list-item .col-hidden-sm{display:none}}@container modal-body (min-width: 481px) and (max-width: 700px){.modal-content-list{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.modal-list-item .col-hidden-md{display:none}}@container modal-body (min-width: 701px){.modal-content-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}}.btn{display:inline-flex;align-items:center;justify-content: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);line-height:1;text-align:center;text-decoration:none;white-space:nowrap;border:none;border-radius:var(--shape-button);corner-shape:var(--corner-shape-button, round);background:none;color:inherit;cursor:pointer;transition:all var(--duration-fast) var(--ease-out);user-select:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.btn::-moz-focus-inner{border:0}@media (hover: none) and (pointer: coarse){.btn:active:not(:disabled){transform:scale(.98);opacity:.9}}.btn-primary{background:var(--color-primary-500);color:var(--text-inverse);border:none;box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){background:var(--color-primary-600);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-primary:active:not(:disabled){background:var(--color-primary-700);transform:translateY(0);box-shadow:var(--shadow-sm)}.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{background:transparent;color:var(--text-secondary)}.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{background:transparent;color:var(--color-primary, var(--color-primary-500, #2D5B3E));text-decoration:underline;text-underline-offset:4px;padding:var(--space-1) var(--space-2);min-height:auto}.btn-link:hover:not(:disabled){color:var(--color-primary-hover, var(--color-primary-600, #234A31))}.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]{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.btn-loading{position:relative;color:transparent;pointer-events:none}.btn-loading:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:16px;height:16px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:btn-spin .6s linear infinite}.btn-primary.btn-loading:after,.btn-danger.btn-loading:after,.btn-success.btn-loading:after{border-color:#fff;border-top-color:transparent}.btn[aria-pressed=true]{background:var(--surface-active);box-shadow:inset 0 4px 4px #0000001a}.btn:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-outline-offset)}.btn-icon{padding:var(--space-3);width:40px;height:40px;min-width:40px;min-height:40px;display:inline-flex;align-items:center;justify-content:center}.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;height:48px;min-width:48px;min-height:48px}.btn-icon-square{aspect-ratio:1 / 1}.btn-icon-circle{border-radius:var(--radius-full);aspect-ratio:1 / 1}.btn-block,.btn-full-width{width:100%;display:block}.btn-outline{background:transparent;border:4px solid currentColor}.btn-outline:hover:not(:disabled){background:currentColor;color:var(--text-inverse)}.btn-outline-primary{background:transparent;color:var(--color-primary-500, var(--color-primary, #2D5B3E));border:2px solid var(--color-primary-500, var(--color-primary, #2D5B3E))}.btn-outline-primary:hover:not(:disabled){background:var(--color-primary-alpha-10, rgba(45, 91, 62, .1));border-color:var(--color-primary-600, var(--color-primary-dark, #234A31));color:var(--color-primary-600, var(--color-primary-dark, #234A31))}.btn-outline-primary:active:not(:disabled){background:var(--color-primary-alpha-20, rgba(45, 91, 62, .2));border-color:var(--color-primary-700, #1A3825);color:var(--color-primary-700, #1A3825)}.btn-gradient{background:var(--gradient-primary);color:var(--text-inverse);border:none}.btn-gradient:hover:not(:disabled){filter:brightness(1.1)}.btn-group{display:inline-flex;gap:var(--space-2);flex-wrap:wrap}.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-start-radius:0;border-end-end-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{width:1em;height:1em;flex-shrink:0}.close-button,.close-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:2rem;height:2rem;padding:0;font-size:1.5rem;line-height:1;font-weight:300;background:transparent;border:none;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)}.close-button:hover,.close-btn:hover{color:var(--text-secondary);background-color:var(--surface-interactive);backdrop-filter:var(--blur-hover-subtle);-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{opacity:.5;cursor:not-allowed;pointer-events:none}.close-button-sm{width:1.5rem;height:1.5rem;font-size: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, var(--color-primary-500, #2D5B3E))}.close-button-primary:hover{color:var(--color-primary-hover, var(--color-primary-600, #234A31));background-color:var(--color-primary-alpha-10, rgba(45, 91, 62, .1))}.close-button-subtle{color:var(--text-quaternary)}.close-button-subtle:hover{color:var(--text-tertiary);background-color:var(--surface-interactive-subtle)}.close-button-absolute{position:absolute;z-index:10}.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{position:sticky;top:var(--space-4);right:var(--space-4);z-index:10}.close-button svg,.close-btn svg{width:1.25rem;height:1.25rem;stroke-width:2}.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}@layer components{.embedded-action-container{display:flex;justify-content:center;align-items:center;padding:var(--learning-spacing-lg, 1.5rem) var(--learning-spacing, 1rem);margin:var(--learning-spacing-md, 1rem) 0;background:linear-gradient(135deg,var(--cocovox-surface-secondary, var(--surface-secondary, #f8fafc)),color-mix(in srgb,var(--cocovox-surface-secondary, #f8fafc) 95%,var(--cocovox-primary-50, #eff6ff)));border-radius:var(--theme-radius-card, var(--learning-radius, 16px));border:2px dashed var(--cocovox-border-color, var(--color-border, #e2e8f0));position:relative;overflow:hidden;min-height:96px;box-shadow:inset 0 1px #ffffff1a,0 1px 3px #0000000d}.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:600;letter-spacing:.025em;line-height:1.4;border-radius:var(--theme-radius-button, 8px);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f,0 0 0 1px var(--learning-button-primary-border),inset 0 1px #ffffff1a;transition:all var(--theme-duration-standard, .35s) var(--theme-easing-standard, cubic-bezier(.4, 0, .2, 1));-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.embedded-action-container .btn-learning-base:hover{transform:translateY(-4px) scale(1.03);box-shadow:0 12px 20px -3px #00000026,0 6px 8px -2px #00000014,0 0 25px #3b82f640,0 0 0 1px var(--learning-button-primary-bg),inset 0 1px #fff3;background:linear-gradient(135deg,color-mix(in srgb,var(--learning-button-primary-bg) 110%,white),var(--learning-button-primary-bg))}.embedded-action-container .btn-learning-base:active{transform:translateY(-1px) scale(1.01);transition:all var(--theme-duration-fast, .15s) var(--theme-easing-standard, cubic-bezier(.4, 0, .2, 1))}.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 color-mix(in srgb,var(--color-primary-500) 25%,transparent),0 4px 12px color-mix(in srgb,var(--surface-card) 20%,transparent),0 0 25px #3b82f64d;z-index:10}.embedded-action-container .btn-learning-base .button-icon{display:inline-flex;align-items:center;justify-content:center;transition:transform .3s cubic-bezier(.4,0,.2,1)}.embedded-action-container .btn-learning-base:hover .button-icon{transform:scale(1.1)}.embedded-action-container:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at center,color-mix(in srgb,var(--cocovox-primary-100, #dbeafe) 30%,transparent) 0%,transparent 70%);opacity:0;transition:opacity .3s ease-out;pointer-events:none}.embedded-action-container:hover:before{opacity:1}.action-buttons-container{display:flex;gap:var(--learning-spacing, 1rem);justify-content:center;align-items:center;flex-wrap:wrap;width:auto}.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:600;border-radius:var(--theme-radius-button, 8px);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f,inset 0 1px #ffffff1a;transition:all var(--theme-duration-standard, .3s) var(--theme-easing-standard, cubic-bezier(.4, 0, .2, 1))}.action-buttons-container .btn-learning-primary:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 8px 15px -3px #00000026,0 4px 6px -2px #00000014,0 0 20px #3b82f633,inset 0 1px #ffffff26}}@container (max-width: 728px){.btn{min-height:48px;font-size:16px}.btn-sm{min-height:44px;font-size:16px}.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{min-width:auto;width:100%;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 (max-width: 768px){.btn{min-height:48px;font-size:16px}.btn-sm{min-height:44px;font-size:16px}.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{min-width:auto;width:100%;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)}@layer components{:global(.dark) .embedded-action-container{background:linear-gradient(135deg,var(--cocovox-surface-secondary, var(--surface-secondary, #1f2937)),color-mix(in srgb,var(--cocovox-surface-secondary, #1f2937) 95%,var(--cocovox-primary-900, #1e3a8a)));border-color:var(--cocovox-border-color, var(--color-border, #374151));box-shadow:inset 0 1px #ffffff0d,0 1px 3px #00000026}:global(.dark) .embedded-action-container .btn-learning-base{box-shadow:0 4px 6px -1px #00000040,0 2px 4px -1px #00000026,0 0 0 1px var(--learning-button-primary-border),inset 0 1px #ffffff0d}:global(.dark) .embedded-action-container .btn-learning-base:hover{box-shadow:0 12px 20px -3px #0000004d,0 6px 8px -2px #0003,0 0 25px #3b82f64d,0 0 0 1px var(--learning-button-primary-bg),inset 0 1px #ffffff1a}}@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{animation:none;border:4px solid currentColor}@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: high){.btn,.close-button,.close-btn{border:4px solid currentColor}.btn-primary,.btn-danger,.btn-success{border-color:transparent}@layer components{.embedded-action-container{border-width:4px;border-style:solid}.embedded-action-container .btn-learning-base{border:2px solid var(--learning-button-primary-border);font-weight:700}.embedded-action-container .btn-learning-base:focus-visible{outline-width:4px;outline-offset:2px}}}@media print{.btn{border:1px solid currentColor;box-shadow:none}}.form-field{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4)}.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{display:block;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);line-height:1;color:var(--text-primary);background:var(--surface-card);border:1px solid var(--border-color-default);border-radius:var(--shape-input);transition:all var(--duration-normal) var(--ease-out);outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.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, #2D5B3E));box-shadow:0 0 0 3px var(--color-primary-alpha-20, rgba(45, 91, 62, .2));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 #dc262633}.form-input[aria-invalid=false].form-input-validated{border-color:var(--color-success)}.form-textarea{display:block;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:all var(--duration-normal) var(--ease-out);outline:none;resize:vertical;-webkit-appearance:none;-moz-appearance:none;appearance:none}.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, #2D5B3E));box-shadow:0 0 0 3px var(--color-primary-alpha-20, rgba(45, 91, 62, .2));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 #dc262633}.form-textarea-auto-resize{field-sizing:content;min-height:40px;overflow:hidden;resize:none}.form-textarea-auto-resize-constrained{field-sizing:content;min-height:40px;max-height:200px;overflow-y:auto;resize:none}@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;margin:0;font-variant-numeric:tabular-nums}.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,.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{-webkit-appearance:none;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);background-repeat:no-repeat;background-position:center;cursor:pointer;opacity:.5}.form-input[type=search]::-webkit-search-cancel-button:hover{opacity:1}.form-field{container-type:inline-size;container-name:form-field}@container form-field (max-width: 500px){.form-input,.form-textarea{min-height:48px;font-size:16px}.form-input-sm{min-height:44px;font-size:15px}.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 (max-width: 768px){.form-input,.form-textarea{min-height:48px;font-size:16px}.form-input-sm{min-height:44px;font-size:15px}.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: high){.form-input,.form-textarea{border-width:2px}.form-input:focus,.form-textarea:focus{border-width:3px;box-shadow:none}.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{border:1px solid currentColor;box-shadow:none}.form-hint,.form-error,.form-char-count{display:none}}@layer components{.chat-root-container{height:100%;width:100%;display:flex;flex-direction:column;position:relative;container-type:inline-size;container-name:chat-layout}.chat-main-interface{height:100vh;max-height:100dvh;width:100%;display:flex;flex-direction:column;transition:all .2s ease}.chat-main-interface.controls-visible{padding-right:0}@container chat-layout (min-width: 1024px){.chat-main-interface.controls-visible{padding-right:360px}}.chat-background-gradient{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(to bottom,#fffffff2,#fffffffa);z-index:0}.dark .chat-background-gradient{background:linear-gradient(to bottom,#111827f2,#111827fa)}.navbar-controls-group{display:flex;gap:.5rem;margin-left:auto}.calendar-status-indicator{display:flex;align-items:center;gap:.5rem;padding:.25rem .75rem;border-radius:var(--shape-badge, .375rem);background-color:var(--color-blue-50, rgb(239 246 255));color:var(--color-blue-700, rgb(29 78 216));font-size:.875rem;line-height:1.25rem;border:1px solid var(--color-blue-200, rgb(191 219 254))}.dark .calendar-status-indicator{background-color:#1e3a8a33;color:var(--color-blue-300, rgb(147 197 253));border-color:#1e40af80}.status-indicator-dot{width:.5rem;height:.5rem;border-radius:var(--shape-avatar, 9999px)}.status-indicator-dot.in-class{background-color:var(--color-error, rgb(239 68 68));-webkit-animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite;animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.status-indicator-dot.class-soon{background-color:var(--color-orange-500, rgb(249 115 22));-webkit-animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite;animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.status-indicator-dot.free-time{background-color:var(--color-success, rgb(34 197 94))}.status-warning-icon{color:var(--color-orange-600, rgb(234 88 12));margin-left:.5rem}.dark .status-warning-icon{color:var(--color-orange-400, rgb(251 146 60))}.chat-content-area{display:flex;flex-direction:column;flex:1 1 auto;position:relative;z-index:10}.chat-messages-wrapper{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;position:relative;z-index:1}.chat-messages-container{display:flex;flex-direction:column;justify-content:center;width:100%;flex:1 1 auto;scrollbar-gutter:stable;overflow-y:auto;height:0;max-width:100%;position:relative;z-index:1;-webkit-overflow-scrolling:touch;touch-action:pan-y;overscroll-behavior-y:contain;-webkit-tap-highlight-color:transparent;transform:translateZ(0);-webkit-transform:translate3d(0,0,0);will-change:transform,scroll-position;isolation:isolate;contain:layout style paint}.chat-messages-container.controls-visible{padding-right:0}@container chat-layout (min-width: 1024px){.chat-messages-container.controls-visible{padding-right:1rem}}.chat-messages-inner{height:100%;width:100%;display:flex;flex-direction:column;padding-top:2rem}.chat-messages-inner.has-chat-id{padding:1rem 0}.chat-messages-inner.no-chat-id{padding-top:.5rem;padding-bottom:1rem}.mobile-content-fixed{position:relative}.message-input-section{position:absolute;bottom:var(--space-2, .5rem);left:0;right:0;z-index:1000!important;isolation:isolate;pointer-events:auto}.message-input-section.input-hidden{opacity:0;visibility:hidden;pointer-events:none;z-index:-1}:root{--message-input-height: 160px}.chat-history{padding-bottom:var(--message-input-height, 160px)}.mobile-content-fixed:has(.message-input-section.input-hidden) .chat-history{padding-bottom:0}.course-context-hint{margin-bottom:.5rem;font-size:.75rem;line-height:1rem;color:var(--color-green-600, rgb(22 163 74));background-color:var(--color-green-50, rgb(240 253 244));padding:.5rem .75rem;border-radius:var(--shape-card, .5rem);border:1px solid var(--color-green-200, rgb(187 247 208));-webkit-animation:fadeIn .3s ease-in,slideInFromTop .3s ease-out;animation:fadeIn .3s ease-in,slideInFromTop .3s ease-out}.dark .course-context-hint{color:var(--color-green-400, rgb(74 222 128));background-color:#14532d1a;border-color:#16653480}.course-context-hint-content{display:flex;align-items:center;gap:.5rem}.course-context-pulse-dot{width:.375rem;height:.375rem;background-color:var(--color-success, rgb(34 197 94));border-radius:var(--shape-avatar, 9999px);-webkit-animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite;animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.course-context-close-button{margin-left:auto;color:var(--color-green-600, rgb(22 163 74));transition:color .15s ease}.course-context-close-button:hover{color:var(--color-green-800, rgb(22 101 52))}.calendar-suggestions{margin-bottom:.5rem;font-size:.75rem;line-height:1rem;color:var(--color-blue-600, rgb(37 99 235));background-color:var(--color-blue-50, rgb(239 246 255));padding:.5rem .75rem;border-radius:var(--shape-card, .5rem);border:1px solid var(--color-blue-200, rgb(191 219 254))}.dark .calendar-suggestions{color:var(--color-blue-400, rgb(96 165 250));background-color:#1e3a8a1a;border-color:#1e40af80}.calendar-suggestions-content{display:flex;align-items:center;gap:.5rem}.calendar-pulse-dot{width:.375rem;height:.375rem;background-color:var(--color-blue-500, rgb(59 130 246));border-radius:var(--shape-avatar, 9999px)}.modal-overlay{position:fixed;inset:0;z-index:9999;background-color:#00000080;display:flex;align-items:center;justify-content:center}.modal-container{width:100%;max-width:48rem;background-color:var(--color-surface, rgb(255 255 255));border-radius:var(--shape-modal, .5rem);box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;overflow:hidden}.dark .modal-container{background-color:var(--color-neutral-800, rgb(31 41 55))}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid var(--color-neutral-200, rgb(229 231 235))}.dark .modal-header{border-bottom-color:var(--color-neutral-700, rgb(55 65 81))}.modal-title{font-size:1.25rem;line-height:1.75rem;font-weight:600;color:var(--color-neutral-900, rgb(17 24 39))}.dark .modal-title{color:var(--color-neutral-50, rgb(249 250 251))}.modal-close-button{color:var(--color-neutral-500, rgb(107 114 128));transition:color .15s ease}.modal-close-button:hover{color:var(--color-neutral-700, rgb(55 65 81))}.dark .modal-close-button{color:var(--color-neutral-400, rgb(156 163 175))}.dark .modal-close-button:hover{color:var(--color-neutral-200, rgb(229 231 235))}.modal-close-icon{width:1.5rem;height:1.5rem}.modal-content{padding:1.5rem}.modal-content-centered{text-align:center;margin:0}.modal-empty-state-text{color:var(--color-neutral-600, rgb(75 85 99));margin-bottom:1rem}.dark .modal-empty-state-text{color:var(--color-neutral-400, rgb(156 163 175))}.modal-feature-list{font-size:.875rem;line-height:1.25rem;color:var(--color-neutral-500, rgb(107 114 128))}.modal-feature-list ul{margin-top:.5rem;display:flex;flex-direction:column;gap:.25rem}.fullscreen-modal-overlay{position:fixed;inset:0;z-index:9999;background-color:#00000080;display:flex;align-items:center;justify-content:center}.fullscreen-modal-container{width:100%;height:100%;background-color:var(--color-neutral-50, rgb(249 250 251));overflow:hidden;position:relative}.dark .fullscreen-modal-container{background-color:var(--color-neutral-900, rgb(17 24 39))}.fullscreen-modal-close-container{position:absolute;top:1rem;right:1rem;z-index:10}.fullscreen-modal-close-button{color:var(--color-neutral-500, rgb(107 114 128));transition:color .2s ease}.fullscreen-modal-close-button:hover{color:var(--color-neutral-700, rgb(55 65 81))}.dark .fullscreen-modal-close-button{color:var(--color-neutral-400, rgb(156 163 175))}.dark .fullscreen-modal-close-button:hover{color:var(--color-neutral-200, rgb(229 231 235))}@-webkit-keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@-webkit-keyframes slideInFromTop{0%{opacity:0;-webkit-transform:translateY(-.25rem);transform:translateY(-.25rem)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes slideInFromTop{0%{opacity:0;-webkit-transform:translateY(-.25rem);transform:translateY(-.25rem)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}.messages-scroll-container{height:100%;display:flex;justify-content:center;overflow-y:auto;padding:0 1rem}.container-grid-compliant{width:100%;max-width:1200px;margin:0 auto}.message-renderer-container{display:flex;flex-direction:column;gap:var(--space-6)}@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){-webkit-animation-delay:.6s;animation-delay:.6s}}@media (prefers-reduced-motion: reduce){.message-renderer-container>*{-webkit-animation:none;animation:none;opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}.messages-loading-state{display:flex;justify-content:center;align-items:center;height:100%;min-height:200px}.messages-loading-content{display:flex;flex-direction:column;align-items:center;gap:1rem}.messages-bottom-padding{padding-bottom:2rem}.user-message{display:flex;width:100%;max-width:48rem;margin-left:auto;margin-right:auto;margin-bottom:var(--space-6);gap:var(--space-4)}.message-item-small{width:100%;display:flex;flex-direction:column;gap:.5rem}.user-message-content{width:100%;display:flex;flex-direction:column}.user-message-bubble-wrapper{display:flex;padding-bottom:.25rem;width:100%;justify-content:flex-end}.user-message-bubble{border-radius:var(--shape-card, 1.5rem);max-width:82%;width:fit-content;padding: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{display:flex;gap:.25rem;color:var(--text-secondary);padding:0 .25rem}.user-message-actions.justify-end{justify-content:flex-end}.response-message{display:flex;width:100%;max-width:48rem;margin-left:auto;margin-right:auto;margin-bottom:var(--space-6);gap:var(--space-4)}.message-item{width:100%;display:flex;flex-direction:column;gap:.75rem}.message-header{display:flex;flex-direction:row;align-items:center;gap:.5rem;min-height:2.5rem}.message-profile-image{width:clamp(2rem,2vw + 1.5rem,2.5rem);height:clamp(2rem,2vw + 1.5rem,2.5rem);flex-shrink:0}.message-timestamp{margin-left:.5rem;flex-shrink:0}.message-timestamp-text{align-self:center;visibility:hidden;color:var(--color-tertiary, hsl(var(--tertiary)));font-size:.75rem;line-height:1rem;text-transform:uppercase;margin-left:.5rem;margin-top:-.25rem}.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:1rem;margin-bottom:.5rem;width:100%;display:flex;overflow-x:auto;gap:.5rem;flex-wrap:wrap}.message-chat-role{width:100%;line-height:1.6}.message-edit-container{width:100%;background-color:var(--color-card, hsl(var(--card)));border-radius:var(--shape-card, 1.5rem);padding:.75rem 1.25rem;margin-top:.5rem;margin-bottom:.5rem}.message-edit-textarea{background-color:transparent;outline:none;width:100%;resize:none}.message-edit-actions{margin-top:.5rem;margin-bottom:.5rem;display:flex;justify-content:flex-end;gap:.5rem;font-size:.875rem;line-height:1.25rem;font-weight:500}.message-actions-bar{display:flex;align-items:center;justify-content:flex-start;gap:.25rem;overflow-x:auto;margin-top:.5rem;padding:.25rem 0;color:var(--color-secondary, hsl(var(--color-secondary-500)))}.message-actions-bar .action-button{visibility:hidden;flex-shrink:0;padding:.5rem;border-radius:var(--shape-button, .5rem);transition:all .15s ease}.message-actions-bar .action-button:hover{background-color:var(--color-surface-hover, rgba(0, 0, 0, .05))}.response-message:hover .message-actions-bar .action-button,.message-actions-bar .action-button.always-visible{visibility:visible}.message-siblings-nav{display:flex;align-items:center;gap:.5rem;min-width:fit-content}.message-siblings-count{font-size:.75rem;line-height:1rem;font-weight:500;letter-spacing:.05em;padding:0 .5rem;min-width:fit-content}.message-status-buffered{font-size:.875rem;line-height:1.25rem;color:var(--color-muted-foreground, hsl(var(--muted-foreground)));display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;padding:.5rem;border-radius:var(--shape-card, .5rem);background-color:var(--color-surface-container, hsl(var(--surface)))}.markdown-prose{line-height:1.75}.markdown-prose :global(li>*){display:block}.image-generations{margin-top:.75rem}.citations-container{margin-top:.5rem}.citations-list{list-style:none;padding:0}.citation-item{margin-bottom:.5rem;font-size:.875rem;line-height:1.25rem}.citation-text{color:var(--color-primary, hsl(var(--color-primary-500)))}.citation-link{margin-left:.25rem;color:var(--color-link, hsl(var(--link)));text-decoration:none}.citation-link:hover{text-decoration:underline}.citation-source{margin-left:.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, rgb(229 231 235));font-weight:var(--font-semibold, 600);font-size:var(--text-sm, .875rem);color:var(--color-neutral-700, rgb(55 65 81))}.dark .control-section-header{border-bottom-color:var(--color-neutral-700, rgb(55 65 81));color:var(--color-neutral-300, rgb(209 213 219))}.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{display:flex;gap:var(--space-3);flex-wrap:wrap}.control-button-group.compact{gap:var(--space-2)}.control-input-stack{display:flex;flex-direction:column;gap:var(--space-2)}.control-input-stack.relaxed{gap:var(--space-3)}.control-field{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4)}.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, rgb(55 65 81))}.dark .control-label{color:var(--color-neutral-300, rgb(209 213 219))}.control-helper{font-size:var(--text-xs, .75rem);color:var(--color-neutral-500, rgb(107 114 128));margin-top:var(--space-1)}.dark .control-helper{color:var(--color-neutral-400, rgb(156 163 175))}.message-group{position:relative;padding-bottom:var(--space-8)}.message-group:after{content:"";position:absolute;bottom:0;left:5%;right:5%;height:1px;background:linear-gradient(to right,transparent 0%,var(--color-neutral-200, rgba(0, 0, 0, .08)) 20%,var(--color-neutral-200, rgba(0, 0, 0, .08)) 80%,transparent 100%);opacity:.6}.dark .message-group:after{background:linear-gradient(to right,transparent 0%,var(--color-neutral-700, rgba(255, 255, 255, .08)) 20%,var(--color-neutral-700, rgba(255, 255, 255, .08)) 80%,transparent 100%);opacity:.4}.message-group:last-child:after{display:none}.messages-loading-state{min-height:300px;-webkit-animation:pulse-subtle 3s ease-in-out infinite;animation:pulse-subtle 3s ease-in-out infinite}@-webkit-keyframes pulse-subtle{0%,to{opacity:1}50%{opacity:.85}}@keyframes pulse-subtle{0%,to{opacity:1}50%{opacity:.85}}@media (prefers-reduced-motion: reduce){.messages-loading-state{-webkit-animation:none;animation:none}}@supports (container-type: inline-size){@container message (max-width: 400px){.user-message-bubble{padding:var(--space-2) var(--space-3);max-width:90%}.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)}.markdown-prose :global(ul),.markdown-prose :global(ol){padding-left:var(--space-4)}}@container message (min-width: 401px) and (max-width: 600px){.user-message-bubble{padding:var(--space-3) var(--space-4);max-width:85%}.message-header{gap:var(--space-3)}.message-actions-bar{gap:var(--space-2)}.markdown-prose :global(ul),.markdown-prose :global(ol){padding-left:var(--space-6)}}@container message (min-width: 601px){.user-message-bubble{padding:1rem 1.25rem;max-width:82%}.message-header{gap:var(--space-4)}.message-actions-bar{gap:var(--space-2)}.message-actions-bar .action-button{padding:var(--space-3)}.markdown-prose :global(ul),.markdown-prose :global(ol){padding-inline-start:1rem;margin-inline-start:0}}@container action-buttons (max-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 (min-width: 501px) and (max-width: 700px){.action-buttons-container{gap:var(--space-3)}.action-row-btn-label{font-size:.8125rem}}@container action-buttons (min-width: 701px){.action-buttons-container{gap:var(--space-4)}.action-row-btn-label{font-size:.875rem}}}@supports not (container-type: inline-size){@media (max-width: 400px){.user-message-bubble{padding:var(--space-2) var(--space-3);max-width:90%}.message-actions-bar{gap:var(--space-1);flex-wrap:wrap}.markdown-prose :global(ul),.markdown-prose :global(ol){padding-left:var(--space-4)}}@media (min-width: 401px) and (max-width: 600px){.user-message-bubble{padding:var(--space-3) var(--space-4);max-width:85%}.message-actions-bar{gap:var(--space-2)}.markdown-prose :global(ul),.markdown-prose :global(ol){padding-left:var(--space-6)}}}@container chat-layout (max-width: 300px){.messages-scroll-container{padding:0 var(--space-1)}.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:95%;font-size:.875rem}.message-timestamp-text{display:none}.message-actions-bar{flex-direction:column;gap:var(--space-1)}.message-actions-bar .action-button{width:100%;padding:var(--space-2)}}@container chat-layout (min-width: 301px) and (max-width: 500px){.messages-scroll-container{padding:0 var(--space-2)}.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:90%}.message-timestamp-text{font-size:.6875rem}.message-actions-bar{gap:var(--space-1);flex-wrap:wrap}}@container chat-layout (min-width: 501px) and (max-width: 700px){.messages-scroll-container{padding:0 var(--space-3)}.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:85%}.message-timestamp-text{font-size:.75rem}.message-actions-bar{gap:var(--space-2)}}@container chat-layout (min-width: 701px) and (max-width: 900px){.messages-scroll-container{padding:0 var(--space-4)}.container-grid-compliant{max-width:min(960px,95%)}.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:1rem 1.25rem;max-width:82%}.message-actions-bar{gap:var(--space-2)}.message-actions-bar .action-button{padding:var(--space-3)}}@container chat-layout (min-width: 901px){.messages-scroll-container{padding:0 var(--space-6)}.container-grid-compliant{max-width:min(1200px,90%)}.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:1rem 1.25rem;max-width:82%}.message-actions-bar{gap:var(--space-2)}.message-actions-bar .action-button{padding:var(--space-3);-webkit-transition:all var(--motion-quick) var(--ease-standard);transition:all var(--motion-quick) var(--ease-standard)}.message-actions-bar .action-button:hover{-webkit-transform:translateY(-1px);transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}}@container chat-layout (min-width: 1200px){.messages-scroll-container{padding:0 var(--space-8)}.container-grid-compliant{max-width:min(1400px,85%)}}@supports not (container-type: inline-size){@media (max-width: 500px){.messages-scroll-container{padding:0 var(--space-2)}.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 (min-width: 501px) and (max-width: 900px){.messages-scroll-container{padding:0 var(--space-4)}.container-grid-compliant{max-width:min(960px,95vw)}.message-profile-image{width:2.5rem;height:2.5rem}}@media (min-width: 901px){.messages-scroll-container{padding:0 var(--space-6)}.container-grid-compliant{max-width:min(1200px,90vw)}.message-actions-bar .action-button:hover{-webkit-transform:translateY(-1px);transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}}@media (min-width: 1440px){.messages-scroll-container{padding:0 var(--space-8)}.container-grid-compliant{max-width:min(1400px,85vw)}}}}@layer tokens{:root{--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: all .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-lift: var(--theme-hover-transform, translateY(-2px));--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 rgba(0, 0, 0, .12);--card-haptic-light: 0 2px 8px rgba(0, 0, 0, .08);--card-haptic-medium: 0 4px 16px rgba(0, 0, 0, .12);--card-haptic-strong: 0 8px 32px rgba(0, 0, 0, .16);--card-shadow-base: var(--theme-shadow-card, 0 1px 3px rgba(0, 0, 0, .1));--card-shadow-elevated: var(--theme-shadow-card-hover, 0 4px 12px rgba(0, 0, 0, .15));--card-shadow-hover: var(--theme-shadow-card-elevated, 0 8px 25px rgba(0, 0, 0, .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: #000000;--card-border-color: rgba(84, 84, 88, .6);--card-divider-color: rgba(84, 84, 88, .3);--card-text-primary: #ffffff;--card-text-secondary: rgba(235, 235, 245, .6);--card-text-tertiary: rgba(235, 235, 245, .3);--card-text-disabled: rgba(235, 235, 245, .2);--card-shadow-subtle: 0 1px 3px rgba(0, 0, 0, .3);--card-shadow-moderate: 0 2px 8px rgba(0, 0, 0, .3);--card-shadow-emphasis: 0 4px 16px rgba(0, 0, 0, .4);--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);--btn-utility-danger-bg: var(--cocovox-error-100);--btn-utility-danger-color: var(--cocovox-error-600);--lesson-card-primary: var(--cocovox-primary-500, #3b82f6);--lesson-card-secondary: var(--cocovox-primary-600, #2563eb);--lesson-card-light: var(--cocovox-primary-100, #dbeafe);--lesson-card-rgb: 59, 130, 246;--material-quiz-primary: var(--cocovox-success-500, #10b981);--material-quiz-secondary: var(--cocovox-success-600, #059669);--material-quiz-light: var(--cocovox-success-100, #d1fae5);--material-quiz-rgb: 16, 185, 129;--material-flashcards-primary: var(--cocovox-purple-500, #8b5cf6);--material-flashcards-secondary: var(--cocovox-purple-600, #7c3aed);--material-flashcards-light: var(--cocovox-purple-100, #ede9fe);--material-flashcards-rgb: 139, 92, 246;--material-test-primary: var(--cocovox-warning-500, #f59e0b);--material-test-secondary: var(--cocovox-warning-600, #d97706);--material-test-light: var(--cocovox-warning-100, #fef3c7);--material-test-rgb: 245, 158, 11;--interactive-card-primary: var(--cocovox-teal-500, #14b8a6);--interactive-card-secondary: var(--cocovox-teal-600, #0d9488);--interactive-card-light: var(--cocovox-teal-100, #ccfbf1);--interactive-card-rgb: 20, 184, 166;--performance-quality: high;--frame-budget: 16.67ms;--animation-complexity: full}:root:global(.dark){--card-bg-default: #1f2937;--card-bg-elevated: #374151;--card-border-color: #4b5563;--card-text-primary: #f9fafb;--card-text-secondary: #d1d5db;--card-text-tertiary: #9ca3af;--card-text-disabled: #6b7280;--card-shadow-base: 0 1px 3px rgba(0, 0, 0, .3);--card-shadow-elevated: 0 4px 12px rgba(0, 0, 0, .4);--card-shadow-hover: 0 8px 25px rgba(0, 0, 0, .4);contain:layout style}}@layer components{:global(.dark) .unified-card{will-change:transform;backface-visibility:hidden;transition:transform .15s cubic-bezier(.25,.1,.25,1),background-color .15s cubic-bezier(.25,.1,.25,1),border-color .15s cubic-bezier(.25,.1,.25,1)}.unified-card{position:relative;display:flex;flex-direction:column;background:var(--card-bg-default);border:1px solid var(--card-border-color);border-radius:var(--card-border-radius);corner-shape:var(--corner-shape-card, round);padding:var(--card-spacing-xl);color:var(--card-text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;font-size:16px;line-height:1.5;font-weight:400;letter-spacing:-.022em;content-visibility:auto;contain:layout style;container-type:inline-size;transition:transform .2s cubic-bezier(.25,.1,.25,1),background-color .2s cubic-bezier(.25,.1,.25,1),border-color .2s cubic-bezier(.25,.1,.25,1);outline:none}.unified-card:hover{background:color-mix(in srgb,var(--card-bg-default) 95%,var(--card-text-primary) 5%);border-color:#545458cc}.unified-card:active{transform:scale(.98);background:color-mix(in srgb,var(--card-bg-default) 90%,var(--card-text-primary) 10%)}.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{transform:translateY(-4px);box-shadow:var(--shadow-lg, 0 10px 25px rgba(0, 0, 0, .15))}.card-interactive:active{transform:translateY(-4px) scale(.98);transition:transform var(--timing-quick) var(--ease-snappy),box-shadow var(--timing-quick) var(--ease-snappy)}:global(.dark) .card-interactive:hover{box-shadow:var(--shadow-lg, 0 10px 25px rgba(0, 0, 0, .4))}.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, rgba(59, 130, 246, .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){transform:translateY(-1px) scale(1.005);transition:transform var(--card-focus-duration) var(--apple-ease-gentle),box-shadow var(--card-focus-duration) var(--apple-ease-standard)}.unified-card.card-disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.unified-card.card-loading{pointer-events:none}.anthropic-card{position:relative;background-color:var(--surface-background, var(--color-light, #fff));border-radius:var(--card-border-radius-xl);overflow:hidden;cursor:pointer;text-decoration:none;color:inherit;transition:transform var(--card-transition-duration) cubic-bezier(.77,0,.175,1);display:flex;flex-direction:column;animation:anthropic-fade-in .4s ease-out forwards;opacity:0}.anthropic-card:hover{transform:translateY(-2px)}.anthropic-card:focus{outline:2px solid var(--color-primary-500, #3b82f6);outline-offset:2px}.anthropic-card.featured{grid-column:span 1;min-height:300px}@container (min-width: 768px){.anthropic-card.featured{grid-column:span 2}}@supports not (container-type: inline-size){@media (min-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{background:transparent;border-width:2px;box-shadow:none}.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{background:transparent;border:none;box-shadow: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{position:absolute;top:0;left:0;right:0;height:8px;background:linear-gradient(90deg,var(--card-theme-primary) 0%,color-mix(in srgb,var(--card-theme-primary) 85%,var(--card-theme-secondary) 15%) 50%,var(--card-theme-primary) 100%);background-size:200% 100%;border-radius:var(--card-border-radius-lg) var(--card-border-radius-lg) 0 0;opacity:.9;animation:shimmer 3s ease-in-out infinite}@keyframes shimmer{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.card-stats-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 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)}.card-stats-badge-icon{width:1rem;height:1rem;opacity:.8}.card-content-type{position:absolute;top:var(--card-spacing-sm);right:var(--card-spacing-sm);width:2rem;height:2rem;border-radius:var(--shape-input, var(--card-border-radius-sm));background:#ffffff26;backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:.75rem}.card-content-type.quiz{background:#10b98133;border:1px solid rgba(16,185,129,.3)}.card-content-type.discussion{background:#3b82f633;border:1px solid rgba(59,130,246,.3)}.card-body{display:flex;flex-direction:column;flex:1;position:relative;z-index:1}.card-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:var(--card-spacing-md)}.card-header-content{flex:1;min-width:0}.card-header-actions{display:flex;align-items:center;gap:var(--card-spacing-sm);margin-left:var(--card-spacing-md)}.card-icon-container,.learning-material-card .icon-container,.lesson-card .lesson-icon,.interactive-lesson-card .icon-container{flex-shrink:0;display:flex;align-items:center;justify-content:center;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:#fff;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)}.unified-card:hover .card-icon-container,.learning-material-card:hover .icon-container,.lesson-card:hover .lesson-icon,.interactive-lesson-card:hover .icon-container{transform:scale(1.05);box-shadow:0 4px 12px color-mix(in srgb,var(--card-theme-primary) 40%,transparent)}.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{margin:0;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)}.card-badge{display:inline-flex;align-items:center;padding:4px 8px;background:var(--card-theme-primary);color:#fff;font-size:var(--card-meta-size);font-weight:500;border-radius:var(--shape-badge, 8px);letter-spacing:-.013em}.card-badge.secondary{background:#78788033;color:var(--card-text-secondary)}.card-close-button{width:24px;height:24px;border-radius:50%;background:#78788029;border:none;color:var(--card-text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .2s cubic-bezier(.25,.1,.25,1)}.card-close-button:hover{background:#7878803d}.card-close-button:active{background:#78788052}.card-content{margin-top:var(--card-spacing-sm);color:var(--card-text-secondary);line-height:1.6}.card-actions{display:flex;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)}.card-footer{margin-top:auto;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)}.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{flex-shrink:0;width:2.5rem;height:2.5rem;border:1px solid var(--card-border-color);background:var(--card-bg-default);border-radius:var(--shape-button, var(--card-border-radius-sm));color:var(--card-text-tertiary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--card-hover-duration) var(--card-transition-timing)}.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:#fff;border:none;border-radius:8px;padding:.5rem 1rem;font-weight:500;display:inline-flex;align-items:center;gap:.5rem;transition:var(--card-transition);cursor:pointer;box-shadow:0 2px 4px #0000001a}.primary-action-btn:hover,.action-btn.primary:hover{transform:var(--btn-primary-hover-transform);box-shadow:0 4px 12px #0003}.secondary-action-btn,.action-btn.secondary{background:var(--btn-secondary-bg);color:var(--text-primary);border:1px solid var(--btn-secondary-border);border-radius:8px;padding:.5rem 1rem;font-weight:500;display:inline-flex;align-items:center;gap:.5rem;transition:var(--card-transition);cursor:pointer}.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{background:transparent;color:var(--text-tertiary);border:1px solid transparent;border-radius:8px;padding:.5rem;display:inline-flex;align-items:center;justify-content:center;transition:var(--card-transition);cursor:pointer}.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:9999px;overflow:hidden;height:.5rem}.progress-fill{height:100%;border-radius:9999px;transition:width .7s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.progress-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer-progress 2s infinite}@keyframes shimmer-progress{0%{transform:translate(-100%)}to{transform:translate(100%)}}.content-section{margin-bottom:1.5rem;padding:1rem;border-radius:8px}.content-section:last-child{margin-bottom:0}.section-title{font-size:.875rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem;display:flex;align-items:center;gap:.5rem}.section-text{font-size:.875rem;color:var(--text-secondary);line-height:1.5;margin:0}.stat-card{background:var(--surface-card);border:1px solid var(--border-color);border-radius:8px;padding:.75rem;transition:var(--card-transition)}.stat-card:hover{transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.meta-item{display:flex;align-items:center;gap:.375rem;font-size:.75rem;color:var(--text-secondary)}.topic-tag,.objective-item{display:inline-flex;align-items:center;gap:.375rem;font-size:.875rem;transition:var(--card-transition)}.topic-tag:hover{transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.card-grid-base{display:grid;gap:var(--spacer-06, 32px);width:100%;container-type:inline-size;container-name:card-grid}@container card-grid (min-width: 768px){.card-grid-base{grid-template-columns:repeat(2,1fr)}}@container card-grid (min-width: 1200px){.card-grid-base{grid-template-columns:repeat(3,1fr)}}@supports not (container-type: inline-size){@media (min-width: 768px){.card-grid-base{grid-template-columns:repeat(2,1fr)}}@media (min-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, hsl(210, 95%, 90%)) 60%, var(--color-surface)), color-mix(in oklch, var(--color-primary-100, hsl(210, 95%, 90%)) 40%, var(--color-surface)) )}.card-type-flashcard{--card-gradient: linear-gradient( 135deg, color-mix(in oklch, var(--color-accent-100, hsl(270, 80%, 90%)) 60%, var(--color-surface)), color-mix(in oklch, var(--color-accent-100, hsl(270, 80%, 90%)) 40%, var(--color-surface)) )}.card-type-lesson{--card-gradient: linear-gradient( 135deg, color-mix(in oklch, var(--color-success-100, hsl(145, 63%, 90%)) 60%, var(--color-surface)), color-mix(in oklch, var(--color-success-100, hsl(145, 63%, 90%)) 40%, var(--color-surface)) )}.card-type-test{--card-gradient: linear-gradient( 135deg, color-mix(in oklch, var(--color-secondary-100, hsl(40, 95%, 92%)) 60%, var(--color-surface)), color-mix(in oklch, var(--color-secondary-100, hsl(40, 95%, 92%)) 40%, var(--color-surface)) )}.card-type-exercise{--card-gradient: linear-gradient( 135deg, color-mix(in oklch, var(--color-warning-100, hsl(38, 92%, 90%)) 60%, var(--color-surface)), color-mix(in oklch, var(--color-warning-100, hsl(38, 92%, 90%)) 40%, var(--color-surface)) )}.badge-difficulty-easy{background:var(--color-success-100, hsl(145, 63%, 90%));color:var(--color-success-700, hsl(145, 63%, 30%));padding:4px 8px;border-radius:var(--radius-md, 12px);font-size:12px;font-weight:600}.badge-difficulty-medium{background:var(--color-warning-100, hsl(38, 92%, 90%));color:var(--color-warning-700, hsl(38, 92%, 30%));padding:4px 8px;border-radius:var(--radius-md, 12px);font-size:12px;font-weight:600}.badge-difficulty-hard{background:var(--color-error-100, hsl(0, 84%, 90%));color:var(--color-error-700, hsl(0, 84%, 30%));padding:4px 8px;border-radius:var(--radius-md, 12px);font-size:12px;font-weight:600}.card-loading{animation:anthropic-shimmer-border var(--transition-duration-normal, 1.5s) ease-in-out infinite;border:2px solid transparent}.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, hsl(145, 63%, 90%)) 60%,var(--color-surface)),color-mix(in oklch,var(--color-success-100, hsl(145, 63%, 90%)) 40%,var(--color-surface)))}.anthropic-gradient-coral{background:linear-gradient(135deg,color-mix(in oklch,var(--color-secondary-100, hsl(40, 95%, 92%)) 60%,var(--color-surface)),color-mix(in oklch,var(--color-secondary-100, hsl(40, 95%, 92%)) 40%,var(--color-surface)))}.anthropic-gradient-blue{background:linear-gradient(135deg,color-mix(in oklch,var(--color-primary-100, hsl(210, 95%, 90%)) 60%,var(--color-surface)),color-mix(in oklch,var(--color-primary-100, hsl(210, 95%, 90%)) 40%,var(--color-surface)))}.anthropic-gradient-purple{background:linear-gradient(135deg,color-mix(in oklch,var(--color-accent-100, hsl(270, 80%, 90%)) 60%,var(--color-surface)),color-mix(in oklch,var(--color-accent-100, hsl(270, 80%, 90%)) 40%,var(--color-surface)))}.anthropic-gradient-pink{background:linear-gradient(135deg,color-mix(in oklch,var(--color-warning-100, hsl(38, 92%, 90%)) 60%,var(--color-surface)),color-mix(in oklch,var(--color-warning-100, hsl(38, 92%, 90%)) 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, rgba(0, 0, 0, .08))}.card-theme-default{--card-theme-primary: var(--primary-color, #3b82f6);--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, #f0fdfa);--card-glow-color: rgba(16, 185, 129, .15);--card-icon-bg: linear-gradient(135deg, #10b981 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, #f5f3ff);--card-glow-color: rgba(139, 92, 246, .15);--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, #fffbeb);--card-glow-color: rgba(245, 158, 11, .15);--card-icon-bg: linear-gradient(135deg, #f59e0b 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, #f0fdfa);--card-glow-color: rgba(20, 184, 166, .15);--card-icon-bg: linear-gradient(135deg, #14b8a6 0%, #06b6d4 100%)}.card-theme-discussion{--card-theme-primary: var(--cocovox-blue-500, #3b82f6);--card-theme-secondary: var(--cocovox-blue-600, #2563eb);--card-accent-color: var(--cocovox-blue-50, #eff6ff);--card-glow-color: rgba(59, 130, 246, .15);--card-icon-bg: linear-gradient(135deg, #3b82f6 0%, #6366f1 100%)}.card-theme-suggestion-start{--card-theme-primary: var(--cocovox-teal-500, #14b8a6);--card-theme-secondary: var(--cocovox-teal-600, #0d9488);--card-accent-color: var(--cocovox-teal-100, #ccfbf1)}.card-theme-suggestion-discover{--card-theme-primary: var(--cocovox-purple-500, #8b5cf6);--card-theme-secondary: var(--cocovox-purple-600, #7c3aed);--card-accent-color: var(--cocovox-purple-100, #ede9fe)}.card-theme-suggestion-explore{--card-theme-primary: var(--cocovox-amber-500, #f59e0b);--card-theme-secondary: var(--cocovox-amber-600, #d97706);--card-accent-color: var(--cocovox-amber-100, #fef3c7)}.card-theme-suggestion{--card-theme-primary: var(--cocovox-indigo-500, #6366f1);--card-theme-secondary: var(--cocovox-indigo-600, #4f46e5);--card-accent-color: var(--cocovox-indigo-100, #e0e7ff)}.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 #3b82f633,0 0 40px #3b82f61a;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 #10b98133,0 0 40px #10b9811a;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 #8b5cf633,0 0 40px #8b5cf61a;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 #14b8a633,0 0 40px #14b8a61a;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 #f59e0b33,0 0 40px #f59e0b1a;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;-webkit-user-select:none;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:8px}.learning-material-card,.lesson-card,.interactive-lesson-card{transition:var(--card-transition);position:relative;overflow:hidden;corner-shape:var(--corner-shape-card, round)}.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{display: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;container-type:inline-size;container-name:bento-grid}.bento-card-featured{grid-column:span 2;grid-row:span 1}.bento-card-compact{grid-row:span 1;min-height:var(--card-min-height-compact)}.bento-card-detailed{grid-row:span 2;min-height:var(--card-min-height-large)}.bento-card-quiz{grid-column:span 1;min-height:240px}.bento-card-discussion{grid-row:span 1;min-height:200px}@container bento-grid (min-width: 640px){.bento-suggestions-grid{grid-template-columns:repeat(2,1fr);gap:var(--card-spacing-xl)}.bento-card-featured{grid-column:1 / -1}}@container bento-grid (min-width: 1024px){.bento-suggestions-grid{grid-template-columns:repeat(3,1fr)}.bento-card-featured{grid-column:span 2}}@container bento-grid (min-width: 1440px){.bento-suggestions-grid{grid-template-columns:repeat(4,1fr);gap:2rem}.bento-card-featured{grid-column:span 2;grid-row: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, rgba(59, 130, 246, .15)),0 0 40px var(--card-glow-color, rgba(59, 130, 246, .08))}[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{transform:translateY(-1px);box-shadow:var(--card-shadow-elevated)}}@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, rgba(229, 231, 235, .6));box-shadow:0 0 0 var(--color-primary-alpha-10, rgba(59, 130, 246, 0))}50%{border-color:var(--color-primary-alpha-20, rgba(59, 130, 246, .4));box-shadow:0 0 20px var(--color-primary-alpha-20, rgba(59, 130, 246, .2))}}@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{animation:anthropic-fade-in-up .4s ease-out forwards;opacity:0}@container (max-width: 300px){.unified-card .card-header,.learning-material-card .flex.items-center.justify-between,.lesson-card .lesson-actions,.interactive-lesson-card .actions-footer{flex-direction:column;align-items:stretch;gap:var(--card-spacing-sm)}.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:.75rem;padding:.25rem .5rem}}@container (min-width: 300px) and (max-width: 500px){.unified-card .card-meta{flex-direction:column;align-items:flex-start;gap:var(--card-spacing-xs)}}@container (min-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 (max-width: 400px){.learning-material-card,.lesson-card,.interactive-lesson-card{font-size:.875rem}.primary-action-btn,.secondary-action-btn,.action-btn{padding:.5rem .75rem;font-size:.75rem}}@container (max-width: 640px){.card-grid-base,.anthropic-card-grid{grid-template-columns:1fr;gap:20px}}@supports not (container-type: inline-size){@media (max-width: 640px){.card-grid-base,.anthropic-card-grid{grid-template-columns:1fr;gap:20px}}}: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)}}@layer utilities;@layer overrides{@media (prefers-contrast: high){.unified-card,.learning-material-card,.lesson-card,.interactive-lesson-card{border-width:2px;border-color:currentColor}.card-theme-indicator{height:8px;opacity:1}.card-icon-container{border:2px solid currentColor}.progress-fill{border:1px solid currentColor}.primary-action-btn,.action-btn.primary{border:4px solid currentColor}}@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-height:48px;min-width:48px}}@media print{.unified-card{break-inside:avoid;box-shadow:none!important;border:2px solid var(--card-border-color)!important;background:#fff!important}.card-theme-indicator{background:var(--card-theme-primary)!important}.card-icon-container{background:var(--card-theme-primary)!important;color:#fff!important}}@media (prefers-reduced-data: reduce){.unified-card{--card-glow-color: transparent;box-shadow:var(--card-shadow-base)!important}}@container (max-width: 300px){.unified-card .card-icon-container{width:var(--card-icon-size-sm)!important;height:var(--card-icon-size-sm)!important}}@container (max-width: 400px){.icon-container,.lesson-icon{width:40px!important;height:40px!important}}@supports not (container-type: inline-size){@container (max-width: 640px){.card-featured{grid-column:span 1!important}}@media (max-width: 640px){.card-featured{grid-column:span 1!important}}}}.action-row-btn{width:48px;height:48px;min-width:48px;min-height:48px;padding:0;display:inline-flex;align-items:center;justify-content:center;position:relative;vertical-align:middle;background:transparent;border:1px solid transparent;border-radius:var(--mi-border-radius-button, var(--radius-lg, 16px));color:var(--color-text-primary);cursor:pointer;box-shadow:none;transition:all .2s var(--cocovox-ease-signature, cubic-bezier(.4, 0, .2, 1));will-change:transform,background-color,box-shadow;outline:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;flex-shrink:0}.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);transform:scale(1.05)}.action-row-btn:active:not(:disabled){transform:scale(.95);box-shadow:var(--shadow-sm);transition-duration:.1s}.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;transform:none;pointer-events:none}.action-row-btn.btn-unavailable{opacity:.5;cursor:not-allowed;pointer-events:none;transform:none;width:48px!important;height:48px!important;min-width:48px!important;min-height:48px!important;display:inline-flex!important;background:var(--color-surface-sunken, rgba(0, 0, 0, .05));border:1px dashed var(--border-color-muted, rgba(128, 128, 128, .3));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))}.action-row-btn.btn-unavailable:hover{pointer-events:auto;cursor:help;transform:none;background:transparent;box-shadow:none}.action-row-btn-content{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2, .5rem);width:100%;height:100%;padding:0 var(--space-2, .5rem)}.action-row-btn-icon{width:24px;height:24px;min-width:24px;min-height:24px;flex-shrink:0;transition:transform .2s var(--cocovox-ease-signature, cubic-bezier(.4, 0, .2, 1))}.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;display:inline-block;opacity:1;max-width:150px;overflow:hidden;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}.action-row-btn-label[data-collapsed=true]{opacity:0;max-width:0;margin-left:0;margin-right:0}@container action-row (max-width: 983px){.action-row-btn .action-row-btn-label{display:none!important}}@supports not (container-type: inline-size){@media (max-width: 1023px){.action-row-btn .action-row-btn-label{display:none!important}}}@container action-row (min-width: 984px){.action-row-btn:has(.action-row-btn-label:not([data-collapsed=true])){width:auto!important;min-width:fit-content!important;transition:width .2s cubic-bezier(.4,0,.2,1) .15s}.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 (min-width: 1024px){.action-row-btn:has(.action-row-btn-label:not([data-collapsed=true])){width:auto!important;min-width:fit-content!important;transition:width .2s cubic-bezier(.4,0,.2,1) .15s}.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:#fff;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 #3b82f64d}.action-row-btn.btn-active{background:var(--color-primary-100);color:var(--color-primary-700);border-color:var(--color-primary-300)}:global(.dark) .action-row-btn.btn-active{background:var(--color-primary-900);color:var(--color-primary-200);border-color:var(--color-primary-700)}.action-row-btn.btn-active:hover:not(:disabled){background:var(--color-primary-200);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:#fff;border-color:var(--color-success);box-shadow:var(--shadow-md),0 0 20px #10b98133}.action-row-btn.btn-success:hover:not(:disabled){box-shadow:var(--shadow-lg),0 0 30px #10b9814d}.action-row-btn.btn-loading{pointer-events:none;position:relative}.action-row-btn.btn-loading .action-row-btn-icon{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.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{position:absolute;top:-6px;right:-6px;min-width:20px;min-height:20px;padding:0 6px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-primary-500) 0%,var(--color-primary-600) 100%);color:#fff;border:2px solid var(--color-surface);border-radius:var(--shape-badge);font-size:var(--text-xs);font-weight:var(--font-semibold);line-height:1;box-shadow:var(--shadow-sm);z-index:10;transition:transform .2s var(--cocovox-ease-signature, cubic-bezier(.4, 0, .2, 1))}.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{position:absolute;top:-4px;left:-4px;width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-info-500, #3b82f6) 0%,var(--color-info-600, #2563eb) 100%);color:#fff;border:2px solid var(--color-surface);border-radius: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);animation:schedule-pulse 2s ease-in-out 3}@keyframes schedule-pulse{0%,to{box-shadow:var(--shadow-sm)}50%{box-shadow:0 0 8px 2px var(--color-info-400, #60a5fa)}}.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 (max-width: 600px){.action-row-btn{width:44px;height:44px;min-width:44px;min-height:44px}.action-row-btn-label{display:none}}@supports not (container-type: inline-size){@media (max-width: 640px){.action-row-btn{width:44px;height:44px;min-width:44px;min-height:44px}.action-row-btn-label{display:none}}}@media (hover: none) and (pointer: coarse){.action-row-btn{min-height:48px;min-width:48px}.action-row-btn:active:not(:disabled){transform:scale(.95);transition-duration:.1s}}@media (prefers-contrast: high){.action-row-btn{border-width:2px;font-weight:var(--font-semibold)}.action-row-btn.btn-primary,.action-row-btn.btn-active,.action-row-btn.btn-success{box-shadow:0 0 0 1px currentColor}}@media (prefers-reduced-motion: reduce){.action-row-btn,.action-row-btn-icon,.action-row-btn-badge,.action-row-btn-label{animation:none!important;transition: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{display:flex;align-items:center;justify-content:flex-start;gap:var(--space-2, .5rem);flex-wrap:nowrap;width:100%;min-height:48px;container-type:inline-size;container-name:action-row}@container action-row (max-width: 984px){.unified-action-row{gap:var(--space-2, .5rem)}}@container action-row (max-width: 600px){.unified-action-row{gap:var(--space-1, .25rem);justify-content:space-between}}@supports not (container-type: inline-size){@media (max-width: 1024px){.unified-action-row{gap:var(--space-2, .5rem)}}@media (max-width: 640px){.unified-action-row{gap:var(--space-1, .25rem);justify-content:space-between}}}.action-row-btn[data-tooltip]:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%) translateY(4px);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;max-width:200px;text-align:center;line-height:1.4;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;transition-delay:0s,0s;z-index:1000}.action-row-btn[data-tooltip]:hover:after{opacity:1;transform:translate(-50%) translateY(0);transition-delay:.3s,0s}.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{display:inline-flex;align-items:center;justify-content:center}.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{animation:none;opacity:1;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{animation:none;opacity:1;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}}.message-input-container{container-type:inline-size;container-name:message-input;display:flex;flex-direction:column;align-items:center;width:100%;min-height:fit-content;margin-bottom:var(--space-1, .25rem);transform:translateY(0);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(--text-primary);--mi-text-secondary: var(--text-secondary);--mi-text-tertiary: var(--text-tertiary);--mi-text-primary-contrast: var(--text-primary);--mi-text-secondary-contrast: var(--text-secondary);--mi-text-tertiary-contrast: var(--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(--text-primary);--mi-btn-surface-hover: var(--surface-interactive);--mi-btn-surface-border: var(--border-color-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}.message-input-container:not(.input-hidden){-webkit-animation:input-slide-enter .35s cubic-bezier(.34,1.4,.64,1);animation:input-slide-enter .35s cubic-bezier(.34,1.4,.64,1);contain:layout style paint;isolation:isolate;-webkit-transform:translateY(0);transform:translateY(0);opacity:1;visibility:visible;-webkit-backface-visibility:hidden;backface-visibility:hidden}.message-input-container.input-hidden{-webkit-transform:translateY(100%);transform:translateY(100%);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 0ms linear .3s}@-webkit-keyframes input-slide-enter{0%{-webkit-transform:translateY(100%);transform:translateY(100%);opacity:0}to{-webkit-transform:translateY(0);transform:translateY(0);opacity:1}}@keyframes input-slide-enter{0%{-webkit-transform:translateY(100%);transform:translateY(100%);opacity:0}to{-webkit-transform:translateY(0);transform:translateY(0);opacity:1}}:global(.message-input-container:not(.input-hidden) *){animation:none}:global(.message-input-container:not(.input-hidden) textarea#chat-textarea.mi-textarea){-webkit-animation:element-settle-textarea 267ms cubic-bezier(.16,1,.3,1) .35s;animation:element-settle-textarea 267ms cubic-bezier(.16,1,.3,1) .35s;opacity:1;-webkit-backface-visibility:hidden;backface-visibility:hidden}:global(.message-input-container.input-hidden textarea#chat-textarea.mi-textarea){opacity:0;-webkit-transform:translateY(15px);transform:translateY(15px)}:global(.message-input-container:not(.input-hidden) button.btn-send),:global(.message-input-container:not(.input-hidden) button[type=submit]){-webkit-animation:element-settle-button 233ms cubic-bezier(.16,1,.3,1) 417ms;animation:element-settle-button 233ms cubic-bezier(.16,1,.3,1) 417ms;opacity:1;-webkit-backface-visibility:hidden;backface-visibility:hidden}:global(.message-input-container.input-hidden button.btn-send),:global(.message-input-container.input-hidden button[type=submit]){opacity:0;-webkit-transform:translateY(15px);transform:translateY(15px)}@-webkit-keyframes element-settle-textarea{0%{-webkit-transform:translateY(15px);transform:translateY(15px);opacity:0}60%{-webkit-transform:translateY(-2px);transform:translateY(-2px);opacity:1}to{-webkit-transform:translateY(0);transform:translateY(0);opacity:1}}@keyframes element-settle-textarea{0%{-webkit-transform:translateY(15px);transform:translateY(15px);opacity:0}60%{-webkit-transform:translateY(-2px);transform:translateY(-2px);opacity:1}to{-webkit-transform:translateY(0);transform:translateY(0);opacity:1}}@-webkit-keyframes element-settle-button{0%{-webkit-transform:translateY(15px);transform:translateY(15px);opacity:0}60%{-webkit-transform:translateY(-2px);transform:translateY(-2px);opacity:1}to{-webkit-transform:translateY(0);transform:translateY(0);opacity:1}}@keyframes element-settle-button{0%{-webkit-transform:translateY(15px);transform:translateY(15px);opacity:0}60%{-webkit-transform:translateY(-2px);transform:translateY(-2px);opacity:1}to{-webkit-transform:translateY(0);transform:translateY(0);opacity:1}}@container message-input (max-width: 600px){.message-input-container{transition-duration:.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, rgba(0, 0, 0, .03));border-radius:var(--radius-md, 8px);border:1px solid var(--color-border-subtle, rgba(0, 0, 0, .08))}.attached-files-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2, .5rem);padding-bottom:var(--space-1, .25rem);border-bottom:1px solid var(--color-border-subtle, rgba(0, 0, 0, .05))}.attached-files-label{font-size:var(--font-size-sm, .875rem);font-weight:500;color:var(--color-text-secondary, #666)}.clear-all-files-btn{font-size:var(--font-size-xs, .75rem);color:var(--color-text-tertiary, #888);background:none;border:none;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}.clear-all-files-btn:hover{color:var(--color-error, #dc2626);background:var(--color-error-bg, rgba(220, 38, 38, .1))}.attached-files-list{display:flex;flex-wrap:wrap;gap:var(--space-2, .5rem)}.attached-file-item{flex:0 1 auto;min-width:0;max-width:280px}@container message-input (max-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 (max-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-start:auto;margin-inline-end:auto}.message-input-form{width:100%;display:flex;flex-direction:column;gap:var(--space-2, .5rem)}.message-input-content{position:relative;z-index:2;width:100%;display:flex;align-items:center;gap:var(--space-2, .5rem);padding:var(--space-3, .75rem);box-sizing:border-box}@layer components{:global(.mi-input-container){flex:1;display:flex;flex-direction:column;position:relative;width:100%;border-radius:var(--mi-border-radius);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)),rgba(var(--color-surface-primary-rgb),calc(var(--backdrop-opacity, .8) * .7)));backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%);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)}:global(.mi-textarea){flex-grow:1;background-color:transparent;color:var(--mi-text-primary);outline:none;border:none;width:100%;padding:0;border-radius:0;resize:none;field-sizing:content;transition:height var(--motion-standard) var(--ease-standard),border-color var(--motion-quick) var(--ease-hover);min-height:24px;max-height:200px;line-height:1.5;margin-top:0;height:auto;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}@supports not (field-sizing: content){:global(.mi-textarea){overflow-y:hidden}}: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-input-wrapper){display:flex;align-items:center;background-color:transparent;border-radius:var(--mi-border-radius-inner, 16px);border:1px solid transparent;transition:border-color var(--motion-quick) var(--ease-hover),background-color var(--motion-quick) var(--ease-hover),box-shadow var(--motion-standard) var(--ease-hover);padding:var(--mi-spacing-sm) var(--mi-spacing-md)}:global(.mi-input-wrapper:focus-within){background-color:var(--mi-bg-secondary);border-color:var(--mi-border-focus);box-shadow:inset 0 0 0 1px var(--focus-ring)}: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 (max-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){position:absolute;bottom:.25rem;inset-inline-end:.5rem;font-size:.75rem;color:var(--mi-text-tertiary);background-color:var(--mi-bg-secondary);padding:.375rem .5rem;border-radius:.375rem;box-shadow:0 1px 3px var(--overlay-subtle);pointer-events:none}:global(.documents-container){--card-width: clamp(240px, 25vw, 280px);--card-height: clamp(160px, 20vh, 180px);--card-gap: clamp(20px, 2.5vw, 24px);--card-width-compact: clamp(200px, 20vw, 220px);--card-width-standard: clamp(240px, 22vw, 260px);--card-width-showcase: clamp(280px, 24vw, 320px);padding:8px 0;margin:16px 8px 32px;--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));container-type:inline-size;position:relative;margin:.25rem .125rem;max-height:calc(var(--card-height) + 10rem);min-height:calc(var(--card-height) + .5rem);z-index:1;contain:layout style;will-change:transform}:global(.documents-grid){display:grid;grid-auto-flow:column;grid-template-rows:1fr;gap:var(--card-gap);grid-auto-columns:var(--card-width-standard);overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-x:contain;scrollbar-gutter:stable;contain:layout style;will-change:scroll-position;position:relative;z-index:2;height:var(--card-height);width:100%;padding:.5rem;border-radius:8px;background:color-mix(in srgb,var(--surface-background) 30%,transparent);min-width:100%}:global(.documents-grid[data-count="1-2"]){grid-auto-columns:var(--card-width-showcase);overflow-x:visible;justify-content:start}: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))}:global(.document-card-wrapper),:global(.image-card-wrapper){min-width:var(--card-width);height:var(--card-height);flex-shrink:0}: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 .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:transparent}@container message-input (max-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(16px, 2.5vw, 16px)}}@container message-input (441px <=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(16px, 2vw, 16px)}}@container message-input (min-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(14px, 1.8vw, 16px)}}@supports not (container-type: inline-size){@media (max-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(16px, 2.5vw, 16px)}}@media (min-width: 481px) and (max-width: 768px){: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(16px, 2vw, 16px)}}@media (min-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(14px, 1.8vw, 16px)}}}@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));animation-fill-mode:both;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:8px;height:var(--card-height);max-height:var(--card-height);width:var(--card-width-standard);min-width:var(--card-width-standard);display:flex;flex-direction:column;justify-content:space-between;font-size:.875rem;line-height:1.25;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;scroll-snap-align:start;position:relative;z-index:3}:global(.documents-grid>* .file-name),:global(.documents-grid>* .file-title){font-weight:600;font-size:.875rem;margin-bottom:.25rem;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:global(.documents-grid>* .file-info),:global(.documents-grid>* .file-metadata){font-size:.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:"";position:absolute;top:50%;inset-inline-end:.5rem;transform:translateY(-50%);width:2px;height:20px;background:linear-gradient(to bottom,transparent,var(--color-primary-alpha-50, var(--color-primary-600)),transparent);border-radius:1px;opacity:0;transition:opacity var(--motion-quick) var(--ease-standard);pointer-events:none;z-index:5}: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:scrollIndicatorPulse 2s ease-in-out infinite}@container message-input (max-width: 600px){:global(.documents-container){margin:.25rem .125rem}:global(.documents-grid){-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;padding:.125rem}:global(.documents-grid>*){min-width:var(--card-width-compact)}:global(.documents-container:after){display:none}}:global(.dropdown-content),:global(.modal),:global(.popover),:global(.tooltip),:global([role=dialog]),:global([role=menu]),:global([role=tooltip]){z-index:50}:global(.documents-container~*){position:relative;z-index:6}:global(.mi-file-grid){margin:.625rem .25rem .25rem;display:flex;flex-wrap:wrap;gap:.375rem}:global(.mi-file-item-image){position:relative;group:true}:global(.mi-file-item-image img){height:3rem;width:3rem;border-radius:var(--mi-spacing-md);object-fit:cover}:global(.mi-file-remove-button){position:absolute;top:-.25rem;inset-inline-end:-.25rem;background-color:var(--color-error);color:var(--color-text-on-primary, var(--color-white));border:2px solid white;border-radius:50%;min-width:var(--mi-touch-target-min);min-height:var(--mi-touch-target-min);padding:.5rem;display:flex;align-items:center;justify-content:center;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}: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 (max-width: 600px){:global(.mi-file-item-image img){height:4rem;width:4rem}:global(.mi-char-count){inset-inline-end:.5rem;bottom:.5rem;padding:.25rem .5rem;font-size:.75rem}:global(.mi-input-container){padding:var(--mi-spacing-sm)}:global(.mi-textarea){font-size:1rem;min-height:var(--mi-touch-target-mobile)}}@container message-input (601px <=width <=980px){:global(.mi-file-item-image img){height:3.5rem;width:3.5rem}:global(.has-documents){padding-bottom:var(--documents-spacing-tablet)}}@container message-input (min-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 (min-width: 601px) and (max-width: 980px){:global(.mi-file-item-image img){height:3.5rem;width:3.5rem}:global(.has-documents){padding-bottom:var(--documents-spacing-tablet)}}@media (min-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-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)}: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:.75rem;min-height:3rem}:global(.has-documents .message-input-container){min-height:calc(var(--documents-total-height) + 5rem)}@container message-input (max-width: 600px){:global(.mi-textarea){-webkit-overflow-scrolling:touch;overscroll-behavior:contain;overflow-x:hidden;-webkit-user-select:text;user-select:text;margin-top:0;padding:4px 8px;min-height:32px}:global(.mi-input-container){padding:.375rem}:global(.message-input-container){padding-bottom:.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 (max-height: 500px) and (orientation: landscape){:global(.mi-input-container){padding:.5rem}:global(.mi-textarea){max-height:120px}}:global(.document-card.unified-card),:global(.image-card.unified-card){border:none;box-shadow:0 4px 12px var(--overlay-subtle),0 2px 4px var(--overlay-subtle);background:var(--surface-elevated);transition:transform .2s cubic-bezier(.25,.1,.25,1),box-shadow .2s cubic-bezier(.25,.1,.25,1)}:global(.document-card.unified-card:hover),:global(.image-card.unified-card:hover){transform:translateY(-2px) scale(1.02);box-shadow:0 8px 25px var(--border-color-muted),0 4px 8px var(--overlay-subtle)}: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)}}@layer utilities{.message-input-relative-wrapper{width:100%;position:relative}.model-select-close-btn{display:flex;align-items:center;background:none;border:none;cursor:pointer;color:var(--text-primary);transition:color var(--duration-fast, .15s)}.model-select-close-btn:hover{color:var(--color-primary-500)}.message-input-content-wrapper{width:100%;max-width:1200px;margin-inline-start:auto;margin-inline-end:auto;padding-inline-start:var(--space-4, 1rem);padding-inline-end:var(--space-4, 1rem);box-sizing:border-box;overflow:visible;border-radius:var(--mi-border-radius);border:1px solid var(--color-border-subtle, rgba(0, 0, 0, .08));background:var(--color-surface-glass, rgba(255, 255, 255, .85));box-shadow:0 1px 3px 0 var(--overlay-subtle, rgba(0, 0, 0, .04))}@supports (backdrop-filter: blur(12px)){.message-input-content-wrapper{background:var(--color-surface-glass, rgba(255, 255, 255, .75));-webkit-backdrop-filter:blur(12px) saturate(180%);backdrop-filter:blur(12px) saturate(180%)}}@supports (-webkit-touch-callout: none){.message-input-content-wrapper{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--color-surface-glass, rgba(255, 255, 255, .92))}}:global(.dark) .message-input-content-wrapper{border-color:var(--color-border-subtle, rgba(255, 255, 255, .1));background:var(--color-surface-glass, rgba(30, 30, 30, .85));box-shadow:0 1px 3px 0 var(--overlay-subtle, rgba(0, 0, 0, .2))}@supports (backdrop-filter: blur(12px)){:global(.dark) .message-input-content-wrapper{background:var(--color-surface-glass, rgba(30, 30, 30, .75))}}@supports (-webkit-touch-callout: none){:global(.dark) .message-input-content-wrapper{background:var(--color-surface-glass, rgba(30, 30, 30, .92))}}:global(.message-input-content-wrapper>*){width:100%}@container message-input (min-width: 600px){.message-input-content-wrapper{padding-inline-start:var(--space-1, .25rem);padding-inline-end:var(--space-1, .25rem)}}@container message-input (min-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 (min-width: 640px){.message-input-content-wrapper{padding-inline-start:var(--space-1, .25rem);padding-inline-end:var(--space-1, .25rem)}}@media (min-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 (min-width: 600px){.message-input-padding-bottom{padding-bottom:var(--space-2, .5rem)}}@supports not (container-type: inline-size){@media (min-width: 640px){.message-input-padding-bottom{padding-bottom:var(--space-2, .5rem)}}}.bulk-actions-container{margin-top:var(--space-2, .5rem);display:flex;gap:var(--space-2, .5rem)}.bulk-remove-btn{font-size:var(--text-xs, .75rem);color:var(--text-secondary);background:none;border:none;cursor:pointer;transition:color var(--duration-fast, .15s)}.bulk-remove-btn:hover{color:var(--color-error)}.textarea-wrapper{flex-grow:1;position:relative;margin:0;display:flex;align-items:center;background-color:transparent;border:none;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)}.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 (min-width: 600px){.textarea-wrapper{margin:0}}@supports not (container-type: inline-size){@media (min-width: 640px){.textarea-wrapper{margin:var(--space-2, .5rem)}}}.char-count-indicator{position:absolute;bottom:var(--space-2, .5rem);inset-inline-end: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}.toolbar-container{width:100%;padding-top:var(--space-2);padding-bottom:var(--space-2);padding-inline-start:var(--space-3);padding-inline-end:var(--space-3)}@container message-input (min-width: 600px){.toolbar-container{padding-top:var(--space-3, .75rem);padding-bottom:var(--space-3, .75rem)}}@supports not (container-type: inline-size){@media (min-width: 640px){.toolbar-container{padding-top:var(--space-3, .75rem);padding-bottom:var(--space-3, .75rem)}}}.toolbar-scroll-container{display:flex;align-items:center;justify-content:start;gap:var(--space-2);overflow-x:auto;overflow-y:clip;scroll-behavior:smooth;position:relative;isolation:isolate;min-height:var(--touch-target-preferred);content-visibility:auto;contain-intrinsic-size:auto 48px;scrollbar-width:thin;scrollbar-color:var(--border-subtle) transparent;scrollbar-gutter:stable}.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)}[dir=rtl] .toolbar-scroll-container{direction:rtl}.toolbar-actions-group{display:flex;align-items:center;justify-content:start;gap:var(--space-2, .5rem);flex-shrink:0;min-height:48px}.toolbar-actions-group.unified-action-row{gap:var(--space-2, .5rem);flex-wrap:nowrap;width:auto;justify-content:start;align-items:center;container-type:inline-size;container-name:action-row}.action-item{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;min-height:48px}.questions-badge,.action-row-btn-badge{position:absolute;top:-4px;inset-inline-end:-4px;min-width:18px;height:18px;padding:0 4px;background:var(--color-primary-500);color:var(--color-text-on-primary, var(--color-white));border-radius:9px;font-size:var(--text-xs);font-weight:var(--font-semibold);display:flex;align-items:center;justify-content:center;line-height:1}.focus-mode-wrapper :global(.focus-mode-button){min-height:2.5rem;border-radius:var(--radius-lg);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 (max-width: 600px){.toolbar-scroll-container{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;padding-block:var(--space-2)}.toolbar-actions-group.unified-action-row{gap:var(--space-1, .25rem);justify-content:start;align-items:center;min-height:44px}.course-selector-wrapper :global(.course-name){display:none}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (hover: none) and (pointer: coarse){.action-btn,.action-row-btn{min-height:44px;min-width: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){transform:scale(.95);transition-duration:.1s}}: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;border-style:dashed;transition:border-color var(--duration-fast) var(--ease-out)}:global(.show-more-card:hover){border-color:var(--color-primary-500)}.content-creation-wrapper{width:100%;padding:var(--space-4);position:relative;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);overflow:visible;min-height:200px}@container message-input (min-width: 600px){.content-creation-wrapper{padding-inline-start:var(--space-3);padding-inline-end:var(--space-3)}}@supports not (container-type: inline-size){@media (min-width: 640px){.content-creation-wrapper{padding-inline-start:var(--space-3);padding-inline-end:var(--space-3)}}}.legacy-questions-container{flex:1;display:flex;flex-wrap:wrap;gap:var(--space-2);padding:var(--space-2) 0}.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{margin-inline-start:auto;display:flex;align-items:center;gap:var(--space-2);background-color:var(--surface-primary);padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg)}.exercise-progress-label{color:var(--color-primary-700)}.exercise-progress-bar-container{width:96px;height:8px;background-color:var(--surface-card);border-radius:var(--radius-full);overflow:hidden}.exercise-progress-bar-fill{height:100%;background-color:var(--color-primary-500);transition:width var(--duration-slow) var(--ease-out)}.advanced-options-wrapper{display:flex;align-items:center}.advanced-options-container{display:flex;align-items:center;gap:var(--space-2);margin-inline-start:auto}.refresh-questions-btn{padding:var(--space-2);border-radius:var(--radius-lg);color:var(--text-secondary);background:none;border:none;cursor:pointer;display:flex;align-items:center;gap:var(--space-2);transition:color var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out)}.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{display:flex;align-items:center;gap:var(--space-2)}.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{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 1px var(--color-primary-500)}.question-generate-btn{padding:var(--space-2);border-radius:var(--radius-lg);background-color:var(--surface-primary);color:var(--text-primary);border:none;cursor:pointer;display:flex;align-items:center;transition:background-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.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);background:none;border:none;cursor:pointer;transition:color var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out)}.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;margin-inline-start:auto;margin-inline-end:auto;padding-inline-start:var(--space-4, 1rem);padding-inline-end:var(--space-4, 1rem);box-sizing:border-box;display:flex;align-items:center;justify-content:start;margin-top:var(--space-2, .5rem);min-height:fit-content;overflow:visible}@container message-input (min-width: 600px){.questions-slot-below{padding-inline-start:var(--space-1, .25rem);padding-inline-end:var(--space-1, .25rem)}}@container message-input (min-width: 720px){.questions-slot-below{padding-inline-start:var(--space-6, 1.5rem);padding-inline-end:var(--space-6, 1.5rem)}}@supports not (container-type: inline-size){@media (min-width: 640px){.questions-slot-below{padding-inline-start:var(--space-1, .25rem);padding-inline-end:var(--space-1, .25rem)}}@media (min-width: 760px){.questions-slot-below{padding-inline-start:var(--space-6, 1.5rem);padding-inline-end:var(--space-6, 1.5rem)}}}.suggestions-wrapper{flex:0 1 auto;min-width:0;display:flex;align-items:center;overflow:visible;margin-inline-start:auto;padding-inline-start:var(--space-3, .75rem)}.direction-guidance-controls{display:flex;align-items:center;gap:var(--space-2)}.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{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 1px var(--color-primary-500)}.direction-apply-btn{padding:var(--space-2);border-radius:var(--radius-lg);background-color:var(--surface-primary);color:var(--color-primary-600);border:none;cursor:pointer;display:flex;align-items:center;transition:background-color var(--duration-fast) var(--ease-out)}.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 #0000000d,0 1px 2px #0000000a,inset 0 1px 1px #ffffff1a;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);position:relative;z-index:0}@container message-input (max-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 (min-width: 720px){.course-context-subcard{width:calc(100% - var(--space-8, 2rem));max-width:calc(100% - var(--space-8, 2rem))}}@container message-input (min-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 (max-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 (min-width: 768px){.course-context-subcard{width:calc(100% - var(--space-8, 2rem));max-width:calc(100% - var(--space-8, 2rem))}}@media (min-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 #00000026,0 1px 2px #0000001a,inset 0 1px 1px #ffffff0d}}@layer overrides{@media (prefers-reduced-motion: reduce){.message-input-container{transition-duration:.01ms!important;transition-delay:0ms!important;animation:none!important}.message-input-container:not(.input-hidden){transition:none!important}:global(.message-input-container:not(.input-hidden) .mi-textarea),:global(.message-input-container:not(.input-hidden) .mi-input-wrapper),:global(.message-input-container:not(.input-hidden) .btn-send),:global(.message-input-container:not(.input-hidden) button){animation:none!important;opacity:1!important}:global(.documents-container),:global(.documents-grid),:global(.documents-grid>*){animation:none!important;transition: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}:global(.mi-input-wrapper),:global(.mi-textarea),:global(.mi-file-remove-button){transition:none;animation:none}}@media (prefers-contrast: high){:global(.mi-input-wrapper){border:2px solid var(--mi-border-default);background-color:var(--mi-bg-secondary)}:global(.mi-input-wrapper:focus-within){border-width:3px;border-color:var(--mi-focus-ring-color);box-shadow:inset 0 0 0 1px var(--mi-focus-ring-color)}: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{border-width:2px;font-weight:var(--font-semibold)}.action-btn.btn-primary,.action-btn.btn-active,.action-row-btn.btn-primary,.action-row-btn.btn-active{box-shadow:0 0 0 1px currentColor}}@media (forced-colors: active){:global(.mi-input-wrapper){border:1px solid ButtonText;background-color:Field;color:FieldText}}}.message-input-container.voice-mode-active{position:relative}.message-input-container.voice-mode-active:before{content:"";position:absolute;inset:0;background:color-mix(in oklch,var(--surface-primary, var(--surface-background)) 60%,transparent);backdrop-filter:blur(4px);-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)}.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){position:relative;z-index:20;pointer-events:auto;opacity:1}.message-input-container.voice-mode-responding:before{background:color-mix(in oklch,var(--surface-primary, var(--surface-background)) 75%,transparent);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}:global(.dark) .message-input-container.voice-mode-active:before{background:color-mix(in oklch,var(--surface-primary, #1a1a1a) 65%,transparent)}:global(.dark) .message-input-container.voice-mode-responding:before{background:color-mix(in oklch,var(--surface-primary, #1a1a1a) 80%,transparent)}@media (prefers-reduced-motion: reduce){.message-input-container.voice-mode-active:before,.message-input-container.voice-mode-responding:before{transition:none}.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)}}@layer components{.thinking-card-container{container-type:inline-size;container-name:thinking-card}.thinking-card-container.scroll-reveal{animation:scroll-reveal-fade linear;animation-timeline:view();animation-range:entry 0% 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{display:grid;transition:grid-template-rows .35s cubic-bezier(.33,1,.68,1)}.thinking-expanded-wrapper.wrapper-expanded{grid-template-rows:1fr}.thinking-expanded-wrapper.wrapper-collapsed{grid-template-rows:0fr}.thinking-expanded-inner{overflow:hidden;min-height:0}.thinking-collapsed-chip.chip-visible{animation:chip-appear .25s cubic-bezier(.33,1,.68,1);animation-delay:.2s;animation-fill-mode:backwards}@keyframes chip-appear{0%{opacity:0;scale:.85;transform:translateY(-4px)}to{opacity:1;scale: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;scale:.96;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;scale:1;transform:none}}}@property --shimmer-opacity{syntax: "<number>"; initial-value: 0; inherits: false;}@property --icon-glow{syntax: "<number>"; initial-value: .7; inherits: false;}.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){.thinking-card-container.collapsed~:global(.tool-card-container),.thinking-card-container:not(.collapsed)~:global(.tool-card-container){animation-delay:0ms}}@container thinking-card (max-width: 350px){.thinking-header-content{flex-direction:column;align-items:flex-start;gap:.5rem}.thinking-expanded-container{border-radius:10px}.thinking-card-header{padding:10px 12px}.thinking-content{padding:0 12px 10px}.thinking-icon-container{width:26px;height:26px}.thinking-icon-container .thinking-icon{width:14px;height:14px}.thinking-title,.thinking-text{font-size:.75rem}}}.link-animated{position:relative;text-decoration:none;color:inherit;transition:color var(--timing-standard) var(--ease-smooth);display:inline-block}.link-animated:after{content:"";position:absolute;bottom:-2px;left:0;width:100%;height:2px;background:currentColor;transform:scaleX(0);transform-origin:right center;transition:transform var(--timing-standard) var(--ease-smooth);will-change:transform}.link-animated:hover:after,.link-animated:focus-visible:after{transform:scaleX(1);transform-origin:left center}.link-animated:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:4px;border-radius:2px}.link-animated-subtle:after{height:1px;bottom:-1px;opacity:.7}.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{transform-origin:left center}.link-animated-slide-left:hover:after,.link-animated-slide-left:focus-visible:after{transform-origin:left center}.link-animated-center:after{transform-origin:center center}.link-animated-center:hover:after,.link-animated-center:focus-visible:after{transform-origin:center center}.link-animated-fade:after{transform:scaleX(1);opacity:0;transition:opacity var(--timing-standard) var(--ease-smooth)}.link-animated-fade:hover:after,.link-animated-fade:focus-visible:after{opacity:1}.nav-link-animated{position:relative;display:flex;align-items:center;text-decoration:none;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)}.nav-link-animated:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%) scaleY(0);width:3px;height:70%;background:var(--color-primary-500);border-radius:0 2px 2px 0;transition:transform var(--timing-standard) var(--ease-smooth)}.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{position:relative;text-decoration:none;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)}.breadcrumb-link-animated:after{content:"";position:absolute;bottom:0;left:var(--space-2);right:var(--space-2);height:1px;background:var(--color-primary-500);transform:scaleX(0);transform-origin:right center;transition:transform var(--timing-quick) var(--ease-smooth)}.breadcrumb-link-animated:hover{color:var(--color-primary-500)}.breadcrumb-link-animated:hover:after{transform:scaleX(1);transform-origin:left center}@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{transform:scaleX(1);opacity:1}.link-animated-fade:after{transition:none}.nav-link-animated,.breadcrumb-link-animated{transition:background-color .1s ease,color .1s ease}}@media (prefers-contrast: high){.link-animated:after,.link-animated-subtle:after,.link-animated-thick:after{height:2px;background:currentColor}.link-animated:focus-visible{outline-width:3px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.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>*:nth-child(1){animation-delay:0ms}.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(0)}}.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;transform:translateY(0) scale(1);box-shadow:var(--shadow-md)}}.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}@keyframes backdrop-fade-in{0%{opacity:0}to{opacity:1}}.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:skeleton-shimmer 2s ease-in-out infinite}@keyframes skeleton-shimmer{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}.skeleton-wave{background:linear-gradient(90deg,var(--color-surface) 0%,var(--color-surface-hover) 50%,var(--color-surface) 100%);background-size:200% 100%;animation:skeleton-wave-animation 1.5s ease-in-out infinite}@keyframes skeleton-wave-animation{0%{background-position:200% 0}to{background-position:-200% 0}}@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:fade-in-reduced .1s ease both}@keyframes fade-in-reduced{0%{opacity:0}to{opacity:1}}.skeleton-pulse,.skeleton-wave{animation:none;opacity:.7}}@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:width,transform}.sidebar-collapsed{width:72px!important}.sidebar-visible{width:280px}@media (max-width: 768px){.sidebar-outer{transition:transform var(--navigation-duration) var(--navigation-easing),opacity var(--timing-standard) var(--ease-entrance)}.sidebar-hidden-mobile{transform:translate(-100%);opacity:0}.sidebar-visible{transform:translate(0);opacity:1;width:280px}}.sidebar-chevron{display:inline-flex;align-items:center;justify-content:center;transition:transform var(--timing-standard) var(--ease-smooth);transform-origin:center}.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{position:relative;display:flex;align-items:center;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);text-decoration:none;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);overflow:hidden}.nav-item-enhanced:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%) scaleY(0);width:4px;height:70%;background:var(--color-primary-500);border-radius:0 2px 2px 0;transition:transform var(--timing-standard) var(--ease-smooth),opacity var(--timing-standard) var(--ease-smooth);opacity:0}.nav-item-enhanced:hover{background-color:var(--color-surface-hover);color:var(--nav-text-hover);transform:translate(2px)}.nav-item-enhanced:hover:before{transform:translateY(-50%) scaleY(.3);opacity:.5}.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{transform:translateY(-50%) scaleY(1);opacity:1}:global(.dark) .nav-item-enhanced.active{background-color:color-mix(in oklch,var(--color-primary-500) 15%,transparent)}.nav-icon-wrapper{display:flex;align-items:center;justify-content:center;width:24px;height:24px;margin-right:var(--space-3);transition:transform var(--timing-standard) var(--ease-smooth),color var(--timing-standard) var(--ease-smooth)}.nav-item-enhanced:hover .nav-icon-wrapper{transform:scale(1.1);color:var(--color-primary-500)}.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;transform:translate(-8px);pointer-events:none}.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{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 var(--space-1);margin-left:auto;font-size:11px;font-weight:var(--font-bold);color:#fff;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)}.nav-item-enhanced:hover .nav-badge{transform:scale(1.1)}.sidebar-collapsed .nav-badge{position:absolute;top:8px;right:8px;min-width:8px;height:8px;padding:0;font-size:0;transform:scale(1)}.nav-tooltip{position:absolute;left:100%;top:50%;transform:translateY(-50%) translate(8px);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}.sidebar-collapsed .nav-item-enhanced:hover .nav-tooltip{opacity:1;transform:translateY(-50%) translate(12px)}.sidebar-visible .nav-tooltip{display:none}.nav-submenu{max-height:0;overflow:hidden;opacity: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}.nav-submenu.expanded{max-height:500px;opacity:1;padding:var(--space-2) 0 var(--space-2) var(--space-8)}.nav-submenu-item{position:relative;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)}.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 ease,color .1s ease}.nav-item-enhanced:hover,.sidebar-chevron,.sidebar-collapsed .sidebar-chevron{transform:none}}@media (prefers-contrast: high){.nav-item-enhanced:before{width:6px;background:currentColor}.nav-item-enhanced.active{border:2px solid var(--color-primary-500)}.nav-badge{border:2px solid white}}.nav-item-enhanced,.nav-icon-wrapper,.nav-label,.sidebar-chevron{transform:translateZ(0);-webkit-transform:translateZ(0);backface-visibility:hidden;-webkit-backface-visibility:hidden}.nav-item-enhanced{contain:layout style paint}.chat-settings-container{display:flex;flex-direction:column;block-size:100%;justify-content:space-between;gap:var(--space-3);font-size:var(--text-sm)}.chat-settings-scrollable{padding-inline-end:var(--space-2);padding-block:var(--space-1);overflow-y:auto;max-block-size:100%;min-block-size:0}.chat-settings-content{display:flex;flex-direction:column;gap:var(--space-3);padding-inline-end:var(--space-2);overflow-y:auto;max-block-size:100%;min-block-size:0}.settings-section{margin-block-end:var(--space-6)}.settings-section-header{display:flex;align-items:center;justify-content:space-between;margin-block-end:var(--space-1)}.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{display:flex;flex-direction:column}.settings-item-row{display:flex;align-items:center;justify-content:space-between;padding-block:var(--space-1);inline-size:100%}.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{display:flex;align-items:center;position:relative}.settings-toggle-button{padding:var(--space-1) var(--space-3);font-size:var(--text-xs);display:flex;align-items:center;border-radius:var(--radius-md);background:transparent;border:1px solid transparent;color:var(--text-primary);cursor:pointer;transition:background var(--duration-fast) var(--ease-out);min-height:44px;min-width:44px}.settings-toggle-button:hover{background:var(--color-neutral-100)}.dark .settings-toggle-button:hover{background:var(--color-neutral-800)}.settings-toggle-label{margin-inline-start:var(--space-2);align-self:center}.settings-action-button{padding:var(--space-2) var(--space-4);font-weight:var(--font-medium);border-radius:24px;background:transparent;border:1px solid var(--border-color-default);color:var(--text-primary);cursor:pointer;transition:background var(--duration-fast) var(--ease-out)}.settings-action-button:hover{background:#0000000d}.dark .settings-action-button:hover{background:#ffffff0d}.settings-select{inline-size:fit-content;padding-inline-end:var(--space-8);padding-block:var(--space-2);padding-inline-start:var(--space-2);font-size:var(--text-xs);background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-primary);text-align:end;outline:none}.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:none}.dark .settings-select-full{background:var(--color-neutral-850);color:var(--color-neutral-300)}.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);outline:none;resize:none}.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(--color-neutral-850)}.settings-footer{display:flex;justify-content:flex-end;padding-block-start:var(--space-3);font-size:var(--text-sm);font-weight:var(--font-medium)}.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);border:none;cursor:pointer}.chat-filters-wrapper{display:flex;flex-direction:column;gap:var(--space-2);margin-block-end:var(--space-4)}.filter-toggle-group{display:flex;align-items:center;gap:var(--space-2)}.filter-option-list{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-block-start:var(--space-2)}.filter-chip{display:inline-flex;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)}.dark .filter-chip{background:var(--color-neutral-800);border-color:var(--color-neutral-700)}.filter-chip:hover{background:var(--color-neutral-200);border-color:var(--color-neutral-400)}.dark .filter-chip:hover{background:var(--color-neutral-700);border-color:var(--color-neutral-600)}.filter-chip.active{background:var(--color-primary);border-color:var(--color-primary);color:var(--text-inverse)}.import-export-list{display:flex;flex-direction:column;gap:var(--space-2)}.import-export-button{display:flex;align-items:center;padding:var(--space-2) var(--space-4);inline-size:100%;border-radius:var(--radius-md);background:transparent;border:none;color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:background var(--duration-fast) var(--ease-out)}.import-export-button:hover{background:var(--color-neutral-200)}.dark .import-export-button:hover{background:var(--color-neutral-800)}.import-export-icon{margin-inline-end:var(--space-3);align-self:center}.confirmation-row{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-4);inline-size:100%;border-radius:var(--radius-md);transition:background-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.confirmation-content{display:flex;align-items:center;gap:var(--space-3)}.confirmation-actions{display:flex;align-items:center;gap:var(--space-2)}.confirmation-action-button{padding:var(--space-1);background:none;border:none;color:var(--text-secondary);cursor:pointer;transition:color var(--duration-fast) var(--ease-out)}.confirmation-action-button:hover{color:var(--text-inverse)}.advanced-toggle-row{display:flex;align-items:center;justify-content:space-between;font-size:var(--text-sm)}.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);background:transparent;border:none;cursor:pointer;transition:color var(--duration-fast) var(--ease-out);min-height:44px;min-width:44px}.advanced-toggle-button:hover{color:var(--text-primary)}.debug-banner{padding:var(--space-2);margin-block-end:var(--space-2);background:#fef3c7;border:1px solid #fcd34d;border-radius:var(--radius-md);font-size:var(--text-xs);line-height:1.5}.dark .debug-banner{background:#fbbf241a;border-color:#fbbf244d}.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{inline-size:1rem;block-size:1rem}.settings-icon-md{inline-size:1.25rem;block-size:1.25rem}@media (max-width: 768px){.chat-settings-scrollable,.chat-settings-content{max-block-size:100%}.settings-item-row{flex-direction:column;align-items:flex-start;gap:var(--space-2)}.settings-toggle-button{align-self:flex-start;min-height:48px;min-width:48px;padding:var(--space-2) var(--space-4)}}.auth-page-container{min-height:100vh;width:100%;display:flex;font-family:var(--font-primary, system-ui, sans-serif);position:relative;z-index:10;container-type:inline-size;container-name:auth-page}@container auth-page (max-width: 720px){.auth-page-container{height:100dvh;max-height:100dvh;overflow:hidden}}@supports not (container-type: inline-size){@media (max-width: 768px){.auth-page-container{height:100dvh;max-height:100dvh;overflow:hidden}}}.auth-split-layout{display:flex;width:100%;min-height:100vh}.auth-value-section{display:none}@container auth-page (min-width: 980px){.auth-value-section{display:flex;width:50%;min-height:100vh}}@supports not (container-type: inline-size){@media (min-width: 1024px){.auth-value-section{display:flex;width:50%;min-height:100vh}}}.auth-form-section{width:100%;display:flex;align-items:center;justify-content:center;padding-block:var(--space-12);padding-inline:var(--space-6);min-height:100dvh}@container auth-page (max-width: 720px){.auth-form-section{height:100dvh;max-height:100dvh;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;align-items:flex-start;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}.auth-form-section::-webkit-scrollbar{width:8px}.auth-form-section::-webkit-scrollbar-track{background:transparent}.auth-form-section::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--color-neutral-400) 30%,transparent);border-radius:4px}}@supports not (container-type: inline-size){@media (max-width: 768px){.auth-form-section{height:100dvh;max-height:100dvh;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;align-items:flex-start;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}.auth-form-section::-webkit-scrollbar{width:8px}.auth-form-section::-webkit-scrollbar-track{background:transparent}.auth-form-section::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--color-neutral-400) 30%,transparent);border-radius:4px}}}@container auth-page (min-width: 980px){.auth-form-section.has-value-prop{width:50%}}@supports not (container-type: inline-size){@media (min-width: 1024px){.auth-form-section.has-value-prop{width:50%}}}.auth-form-container{width:100%;max-width:28rem;display:flex;flex-direction:column;gap:var(--space-8)}@container auth-page (max-width: 720px){.auth-form-container{padding-bottom:var(--space-8);min-height:min-content}}@supports not (container-type: inline-size){@media (max-width: 768px){.auth-form-container{padding-bottom:var(--space-8);min-height:min-content}}}.auth-header{text-align:center;animation:authFadeIn .6s ease-out forwards}.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);border:4px solid;border-color:color-mix(in srgb,white 50%,transparent);transform-style:preserve-3d;transition:transform .3s var(--ease-out);position:relative;cursor:pointer}.auth-logo:hover{transform:rotateY(12deg) rotateX(-5deg) scale(1.05)}.auth-logo:after{content:"";position:absolute;inset:-4px;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}.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{background:color-mix(in srgb,white 95%,transparent);backdrop-filter:blur(40px);-webkit-backdrop-filter:blur(40px);border-radius:var(--shape-modal, var(--radius-2xl, 1rem));box-shadow:var(--shadow-2xl, 0 25px 50px -12px rgba(0, 0, 0, .25));padding:var(--space-8);border:1px solid;border-color:color-mix(in srgb,white 20%,transparent);transition:all var(--duration-normal) var(--ease-out)}.auth-card:hover{box-shadow:0 32px 64px -16px #0000004d}.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{display:flex;flex-direction:column;gap:var(--space-6);transition:gap .2s var(--ease-out)}.auth-form:has(.auth-validation-message.error){gap:var(--space-8)}.auth-form-fields{display:flex;flex-direction:column;gap:var(--space-4)}.auth-field-group{display:flex;flex-direction:column;transition:background .2s var(--ease-out),padding .2s var(--ease-out),margin .2s var(--ease-out);animation:authStaggerFadeIn .4s ease-out;animation-delay:calc(var(--index, 0) * .1s);animation-fill-mode:backwards}.auth-field-group:has(.auth-input.has-error){background:color-mix(in srgb,var(--color-error) 3%,transparent);border-radius:var(--radius-lg);padding:var(--space-2);margin:calc(var(--space-2) * -1)}.dark .auth-field-group:has(.auth-input.has-error){background:color-mix(in srgb,var(--color-error) 5%,transparent)}.auth-field-group:has(.auth-input.has-success){background:color-mix(in srgb,var(--color-success) 3%,transparent);border-radius:var(--radius-lg);padding:var(--space-2);margin:calc(var(--space-2) * -1)}.dark .auth-field-group:has(.auth-input.has-success){background:color-mix(in srgb,var(--color-success) 5%,transparent)}.auth-label{display:block;font-size:var(--text-sm);font-weight:var(--font-medium);text-align:left;margin-bottom:var(--space-2);color:var(--color-neutral-700)}.dark .auth-label{color:var(--text-secondary)}.auth-required-indicator{color:var(--color-error, #ef4444)}.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));border:1px solid transparent;outline:none;transition:all var(--duration-fast) var(--ease-out);min-height:var(--touch-target-preferred)}.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, #ef4444)}.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{position:absolute;inset-block:0;inset-inline-end:0;padding-inline-end:var(--space-3);display:flex;align-items:center;background:transparent;border:none;cursor:pointer;color:var(--color-neutral-400);transition:color var(--duration-fast) var(--ease-out)}.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;scale:1;transition:opacity .3s ease-out,scale .3s ease-out,display .3s allow-discrete}@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{display:flex;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)}.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(--color-neutral-600)}.auth-password-strength{margin-top:var(--space-2)}.auth-strength-header{display:flex;align-items:center;justify-content:space-between;font-size:var(--text-xs);margin-bottom:var(--space-1)}.auth-strength-label{color:var(--color-neutral-600)}.dark .auth-strength-label{color:var(--text-tertiary)}.auth-strength-bar-container{width:100%;background:var(--color-neutral-200);border-radius:var(--shape-avatar, var(--radius-full));height:.5rem;margin-top:var(--space-1);overflow:hidden}.dark .auth-strength-bar-container{background:var(--border-color-default)}@property --strength-percentage{syntax: "<percentage>"; initial-value: 0%; inherits: false;}.auth-strength-bar-fill{height:100%;border-radius:var(--shape-avatar, var(--radius-full));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, #ef4444)}.auth-strength-bar-fill.medium{background:var(--color-warning, #f59e0b)}.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, #ef4444)}.auth-strength-text.medium{color:var(--color-warning, #f59e0b)}.auth-strength-text.strong{color:var(--color-success)}.auth-validation-message{margin-top:var(--space-2);font-size:var(--text-sm);display:flex;align-items:flex-start;gap:var(--space-2)}.auth-validation-message.error{color:var(--color-error, #ef4444)}.auth-validation-message.success{color:var(--color-success)}.auth-validation-message.warning{color:var(--color-warning, #f59e0b)}.auth-remember-me-container{display:flex;align-items:center;justify-content:space-between;margin-block:var(--space-3);gap:var(--space-4);transition:all .2s var(--ease-out)}.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{display:flex;align-items:center;gap:var(--space-2);cursor:pointer}.auth-remember-me-checkbox{width:1rem;height:1rem;flex-shrink:0;color:var(--color-primary);background:#fff;border:1px solid var(--color-neutral-300);border-radius:var(--shape-badge, var(--radius-sm));cursor:pointer;transition:all var(--duration-fast) var(--ease-out)}.dark .auth-remember-me-checkbox{background:var(--border-color-default);border-color:var(--color-neutral-600)}.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);border:none;cursor:pointer;transition:all var(--duration-fast) var(--ease-out);display:flex;align-items:center;justify-content:center;gap:var(--space-2)}.auth-button-primary:hover:not(:disabled){background:var(--color-primary-hover, var(--color-primary-600));transform:translateY(-4px);box-shadow:var(--shadow-md)}.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);text-decoration:underline;background:transparent;border:none;color:var(--color-primary);cursor:pointer;transition:color var(--duration-fast) var(--ease-out)}.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);background:color-mix(in srgb,white 90%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:var(--shape-button, var(--radius-2xl, 1rem));box-shadow:var(--shadow-xl);padding:var(--space-8);border:1px solid;border-color:color-mix(in srgb,white 20%,transparent);transition:border-color .3s var(--ease-out),box-shadow .3s var(--ease-out)}.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{position:relative;margin-bottom:var(--space-8)}.auth-oauth-separator-line{position:absolute;inset:0;display:flex;align-items:center}.auth-oauth-separator-line:before{content:"";width:100%;border-block-start:2px solid var(--color-neutral-200)}.dark .auth-oauth-separator-line:before{border-block-start-color:var(--border-color-default)}.auth-oauth-separator-text-container{position:relative;display:flex;justify-content:center;font-size:var(--text-sm)}.auth-oauth-separator-text{padding-inline:var(--space-6);padding-block:var(--space-1);background:color-mix(in srgb,white 95%,transparent);color:var(--color-neutral-600);font-weight:var(--font-semibold);border-radius:var(--shape-avatar, var(--radius-full));box-shadow:var(--shadow-sm)}.dark .auth-oauth-separator-text{background:color-mix(in srgb,var(--surface-card) 95%,transparent);color:var(--text-tertiary)}.auth-oauth-buttons{display:flex;flex-direction:column;gap:var(--space-3)}.auth-oauth-button{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:var(--space-3);padding-inline:var(--space-6);padding-block:var(--space-4);background:#fff;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:all var(--duration-normal) var(--ease-out)}.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);transform:scale(1.02);box-shadow:var(--shadow-lg)}.dark .auth-oauth-button:hover:not(:disabled){background:var(--color-neutral-750, var(--border-color-default))}.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>"; initial-value: 45deg; inherits: false;}.auth-oauth-button:after{content:"";position:absolute;inset:0;background:linear-gradient(var(--shimmer-angle),transparent 20%,color-mix(in srgb,white 30%,transparent) 50%,transparent 80%);opacity:0;transition:opacity .3s var(--ease-out),--shimmer-angle .6s var(--ease-out);border-radius:inherit;pointer-events:none}.auth-oauth-button:hover:after{opacity:1;--shimmer-angle: 135deg}.auth-oauth-button-shimmer{position:absolute;inset:0;background:linear-gradient(to right,transparent,color-mix(in srgb,white 20%,transparent),transparent);transform:translate(-100%);transition:transform 1s;border-radius:inherit}.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);flex-shrink:0;position:relative;z-index:10}.auth-oauth-text{position:relative;z-index:10}.auth-trust-signals{text-align:center;display:flex;flex-direction:column;gap:var(--space-4);margin-top:var(--space-8);animation:authFadeIn .6s ease-out .3s backwards}.auth-security-badge{display:flex;align-items:center;justify-content:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-neutral-600)}.dark .auth-security-badge{color:var(--text-tertiary)}.auth-security-badge-enhanced{display:flex;flex-direction:column;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)}.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{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm)}.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 (max-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 (max-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{display:flex;align-items:center;justify-content:center;gap:var(--space-4);font-size:var(--text-xs)}.auth-footer-link{color:var(--color-neutral-500);text-decoration:none;transition:color var(--duration-fast) var(--ease-out)}.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%;display:flex;flex-direction:column;justify-content:space-between;padding:var(--space-12);background:linear-gradient(to bottom right,var(--color-primary-500),var(--color-primary-600),var(--color-primary-700));color:#fff;position:relative;overflow:hidden}.auth-value-bg-blob{position:absolute;width:24rem;height:24rem;background:color-mix(in srgb,white 5%,transparent);border-radius:var(--shape-avatar, var(--radius-full));filter:blur(64px)}.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{position:relative;z-index:10}.auth-value-header{margin-bottom:var(--space-12)}.auth-value-logo-container{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4)}.auth-value-logo{width:3rem;height:3rem;border-radius:var(--shape-card, var(--radius-xl));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:color-mix(in srgb,white 90%,transparent);font-weight:var(--font-medium)}.auth-value-features{display:flex;flex-direction:column;gap:var(--space-6);margin-bottom:var(--space-12)}.auth-value-feature{display:flex;align-items:flex-start;gap:var(--space-4);transition:transform var(--duration-fast) var(--ease-out);position:relative}.auth-value-feature:before{content:"";position:absolute;inset:calc(var(--space-2) * -1);background:color-mix(in srgb,white 8%,transparent);border-radius:var(--radius-xl);opacity:0;transition:opacity var(--duration-fast) var(--ease-out);z-index:-1}.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);flex-shrink:0;transition:transform var(--duration-fast) var(--ease-out)}.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:color-mix(in srgb,white 80%,transparent)}.auth-value-stats-container{position:relative;z-index:10}.auth-value-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6);padding:var(--space-6);background:color-mix(in srgb,white 10%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:var(--shape-button, var(--radius-2xl, 1rem));border:1px solid color-mix(in srgb,white 20%,transparent)}.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:color-mix(in srgb,white 80%,transparent)}.auth-value-testimonial{margin-top:var(--space-6);padding:var(--space-4);background:color-mix(in srgb,white 5%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:var(--shape-card, var(--radius-xl));border:1px solid color-mix(in srgb,white 10%,transparent)}.auth-value-testimonial-quote{font-size:var(--text-sm);font-style:italic;color:color-mix(in srgb,white 90%,transparent);margin-bottom:var(--space-2)}.auth-value-testimonial-author{font-size:var(--text-xs);color:color-mix(in srgb,white 70%,transparent)}.auth-loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-8);background:color-mix(in srgb,var(--surface-card) 50%,transparent);backdrop-filter:blur(8px);-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);animation:authFadeIn .4s ease-out}.auth-loading-logo-container{margin-bottom:var(--space-6);position:relative}.auth-loading-logo-glow{position:absolute;inset:0;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:authPulseSlow 3s ease-in-out infinite}.auth-loading-logo{width:4rem;height:4rem;border-radius:var(--shape-avatar, var(--radius-full));position:relative;z-index:10;box-shadow:var(--shadow-lg);animation:authBounceGentle 3s ease-in-out infinite}.auth-loading-message-container{text-align:center;min-height:3rem;display:flex;align-items:center;justify-content:center}.auth-loading-message{font-size:var(--text-base);font-weight:var(--font-medium);color:var(--color-primary);max-width:20rem;animation:authFadeIn .5s ease-out}.auth-loading-dots{display:flex;gap:var(--space-2);margin-top:var(--space-4)}.auth-loading-dot{width:.5rem;height:.5rem;border-radius:var(--shape-avatar, var(--radius-full));background:color-mix(in srgb,var(--color-primary) 30%,transparent);animation:authPulse 1.4s ease-in-out infinite}.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:authSlideDown .4s ease-out}.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{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3);font-size:var(--text-xs);color:var(--color-neutral-600)}.dark .auth-progress-header{color:var(--text-tertiary)}.auth-progress-bar-track{width:100%;background:var(--border-color-default, var(--color-neutral-200));border-radius:var(--shape-avatar, var(--radius-full));height:.5rem;margin-bottom:var(--space-4);overflow:hidden;position:relative}@property --auth-progress{syntax: "<percentage>"; initial-value: 0%; inherits: false;}.auth-progress-bar-fill{height:100%;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));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{position:absolute;inset:0;background:linear-gradient(to right,transparent,color-mix(in srgb,white 20%,transparent),transparent);transform:translate(-100%);animation:authShimmer 2s infinite}.auth-progress-percentage{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--color-neutral-700)}.dark .auth-progress-percentage{color:var(--text-secondary)}.auth-progress-step{display:flex;align-items:center;justify-content:center;gap:var(--space-3);margin-bottom:var(--space-2);font-size:var(--text-sm);color:var(--color-primary);font-weight:var(--font-medium)}.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{display:flex;align-items:flex-start;gap:var(--space-2)}.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);display:flex;justify-content:center;gap:var(--space-3)}.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;scale:1;transition:opacity .3s ease-out,scale .3s ease-out,display .3s allow-discrete}@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{display:flex;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-4)}.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:#fecaca}.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:#fca5a5}.auth-error-message{font-size:var(--text-xs);font-family:monospace;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)}.dark .auth-error-message{background:color-mix(in srgb,var(--color-error) 20%,transparent)}.auth-error-actions{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-4)}@container auth-page (min-width: 600px){.auth-error-actions{flex-direction:row}}@supports not (container-type: inline-size){@media (min-width: 640px){.auth-error-actions{flex-direction:row}}}.auth-error-button-primary{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--color-error);color:#fff;border-radius:var(--shape-input, var(--radius-lg));font-weight:var(--font-medium);font-size:var(--text-sm);border:none;cursor:pointer;transition:all var(--duration-fast) var(--ease-out);min-height:var(--touch-target-min)}.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{display:flex;align-items:center;justify-content: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:all var(--duration-fast) var(--ease-out);min-height:var(--touch-target-min)}.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:#fecaca}.auth-error-suggestions-list{font-size:var(--text-sm);color:color-mix(in srgb,var(--color-error) 90%,black);display:flex;flex-direction:column;gap:var(--space-1);list-style:none;padding:0}.dark .auth-error-suggestions-list{color:#f87171}.auth-error-suggestion-item{display:flex;align-items:flex-start;gap:var(--space-2)}.auth-error-suggestion-bullet{color:var(--color-error);margin-top:var(--space-1)}.auth-skeleton-container{min-height:100vh;width:100%;display:flex;justify-content:center;font-family:var(--font-primary, system-ui, sans-serif);position:relative;z-index:10;animation:authFadeIn .3s ease-out}.auth-skeleton-content{width:100%;max-width:28rem;padding-inline:var(--space-10);min-height:100vh;display:flex;flex-direction:column;text-align:center;min-width:320px}.auth-skeleton-inner{margin-block:auto;padding-block-end:var(--space-10);width:100%}.auth-skeleton-loading{margin-bottom:var(--space-8);display:flex;flex-direction:column;align-items:center;gap:var(--space-4)}.auth-skeleton-spinner{width:2rem;height:2rem;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));animation:authSpin 1s linear infinite}.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),color-mix(in srgb,var(--border-color-default) 20%,transparent) 75%);background-size:200% 100%;animation:authShimmer 1.5s infinite}.auth-skeleton-title{height:2rem;width:12rem;margin-inline:auto;border-radius:var(--shape-input, var(--radius-md))}.auth-skeleton-subtitle{height:1rem;width:8rem;margin-inline:auto;margin-top:var(--space-2);border-radius:var(--shape-input, var(--radius-md))}.auth-skeleton-label{height:1rem;width:4rem;margin-bottom:var(--space-2);border-radius:var(--shape-input, var(--radius-md))}.auth-skeleton-input{height:3rem;width:100%;border:2px solid color-mix(in srgb,var(--border-color-default) 30%,transparent);border-radius:var(--shape-button, var(--radius-2xl, 1rem))}.auth-skeleton-button{height:3rem;width:100%;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),color-mix(in srgb,var(--color-primary) 20%,transparent) 75%);background-size:200% 100%}.auth-skeleton-oauth-button{height:3rem;width:100%;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),color-mix(in srgb,var(--surface-card) 30%,transparent) 75%);background-size:200% 100%}@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{animation:none;transition: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: high){.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-width:2px;border-style:solid}}.auth-form-validation-error{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--color-error, #ef4444);text-align:center}.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);animation:authSlideDown .3s ease-out}.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{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3)}.auth-error-summary-icon{width:1.5rem;height:1.5rem;color:var(--color-error);flex-shrink:0}.dark .auth-error-summary-icon{color:#fecaca}.auth-error-summary-title{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-error)}.dark .auth-error-summary-title{color:#fecaca}.auth-error-summary-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-2)}.auth-error-summary-list li{font-size:var(--text-sm);color:color-mix(in srgb,var(--color-error) 90%,black);display:flex;align-items:baseline;gap:var(--space-2)}.dark .auth-error-summary-list li{color:#fca5a5}.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)}.dark .auth-error-summary-list strong{color:#fecaca}.auth-security-reassurance{display:flex;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));animation:authFadeIn .3s ease-out}.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:#86efac}.auth-verification-notice{display:flex;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:authFadeIn .3s ease-out}.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{display:flex;flex-direction:column;gap:var(--space-4);align-items:center;justify-content:center;font-size:var(--text-lg);color:var(--text-primary)}.auth-spinner-icon{width:1rem;height:1rem;margin-inline-end:var(--space-2)}@container auth-page (max-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{grid-template-columns:1fr;gap:var(--space-4)}.auth-input{font-size:1rem}}@supports not (container-type: inline-size){@media (max-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{grid-template-columns:1fr;gap:var(--space-4)}.auth-input{font-size:1rem}}}@container auth-page (max-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:16px;padding:var(--space-3) var(--space-4)}.auth-submit-button,.auth-oauth-button{min-height:48px;width:100%}.auth-oauth-container{flex-direction:column;gap:var(--space-2)}.auth-divider-text{font-size:var(--text-xs);padding-inline:var(--space-2)}}@supports not (container-type: inline-size){@media (max-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:16px;padding:var(--space-3) var(--space-4)}.auth-submit-button,.auth-oauth-button{min-height:48px;width:100%}.auth-oauth-container{flex-direction:column;gap:var(--space-2)}.auth-divider-text{font-size:var(--text-xs);padding-inline:var(--space-2)}}}@container auth-page (max-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 (max-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 (max-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 (max-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{display:flex;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:all var(--duration-normal) var(--ease-out)}.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-700)}.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{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.stat-badge:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-outline-offset)}@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]{list-style:none;padding:0;margin:0}html:focus-within{scroll-behavior:smooth}body{min-height:100vh;text-rendering:optimizeSpeed;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{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}}@layer base{html{font-family:var( --font-primary, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif );font-size:16px;line-height:1.5;-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}body{margin:0;padding:0;min-height:100vh;min-height:100svh}h1,h2,h3,h4,h5,h6{margin-top:0;font-weight:600;line-height:1.2}h1{font-size:2.25rem}h2{font-size:1.875rem}h3{font-size:1.5rem}h4{font-size:1.25rem}h5{font-size:1.125rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}a{color:var(--color-primary-500);text-decoration:none;transition:color var(--duration-normal) var(--ease-out)}a:hover{text-decoration:underline}button{background:none;border:none;padding:0;cursor:pointer;font-family:inherit;font-size:inherit}input,textarea,select{font-family:inherit;font-size:1rem;padding:.5rem;border:1px solid var(--theme-border-color, #ccc);border-radius:.25rem;background-color:var(--theme-input-background, white);color:var(--text-primary)}: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{overflow-x:auto;padding:1rem;border-radius:.5rem;background-color:var(--theme-code-background, #f5f5f5)}code{padding:.2em .4em;border-radius:.25rem;background-color:var(--theme-code-inline-background, rgba(0, 0, 0, .05))}}: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}.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)}:root{--color-primary-500: var(--primary-p3, var(--color-primary-500));--color-accent-500: var(--accent-p3, var(--color-accent-500));--color-warning-500: var(--warning-p3, var(--color-warning-500));--color-error-500: var(--error-p3, var(--color-error-500))}}@layer utilities{.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)}}.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))}@layer tokens{:root{--color-system-initialized: 1}:root{--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 components{.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)}}@layer utilities{@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}}}: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)}@property --theme-color-primary{syntax: "<color>"; initial-value: hsl(210,75%,50%); inherits: true;}@property --theme-color-secondary{syntax: "<color>"; initial-value: hsl(40,95%,55%); inherits: true;}@property --theme-color-accent{syntax: "<color>"; initial-value: hsl(174,70%,50%); inherits: true;}@property --theme-color-primary-light{syntax: "<color>"; initial-value: hsl(210,75%,70%); inherits: true;}@property --theme-color-primary-dark{syntax: "<color>"; initial-value: hsl(210,75%,30%); inherits: true;}@property --theme-surface-background{syntax: "<color>"; initial-value: #f2f4f7; inherits: true;}@property --theme-surface-card{syntax: "<color>"; initial-value: #fafbfc; inherits: true;}@property --theme-text-primary{syntax: "<color>"; initial-value: #14141a; inherits: true;}@property --theme-text-secondary{syntax: "<color>"; initial-value: #4b4b58; inherits: true;}:root{--color-neutral-50: hsl(0, 0%, 100%);--color-neutral-100: hsl(0, 0%, 96%);--color-neutral-200: hsl(0, 0%, 92%);--color-neutral-300: hsl(0, 0%, 80%);--color-neutral-400: hsl(0, 0%, 70%);--color-neutral-500: hsl(0, 0%, 60%);--color-neutral-600: hsl(0, 0%, 40%);--color-neutral-700: hsl(0, 0%, 30%);--color-neutral-800: hsl(0, 0%, 20%);--color-neutral-850: hsl(0, 0%, 15%);--color-neutral-900: hsl(0, 0%, 9%);--color-neutral-950: hsl(0, 0%, 5%);--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-surface: var(--color-neutral-50);--color-surface-hover: var(--color-neutral-100);--color-surface-alt: 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: rgba(0, 0, 0, .5);--color-primary-base: hsl(210, 75%, 50%);--color-primary-50: hsl(210, 75%, 95%);--color-primary-100: hsl(210, 75%, 90%);--color-primary-500: var(--color-primary-base);--color-primary-600: hsl(210, 75%, 40%);--color-primary-800: hsl(210, 75%, 25%);--color-primary-hover: color-mix( in oklch, var(--color-primary-base) 85%, var(--color-neutral-50) );--color-primary-active: color-mix( in oklch, var(--color-primary-base) 75%, var(--color-neutral-950) );--color-primary-alpha-10: color-mix(in oklch, var(--color-primary-base) 10%, transparent);--color-primary-alpha-20: color-mix(in oklch, var(--color-primary-base) 20%, transparent);--theme-color-primary-hover: var(--color-primary-hover);--theme-color-primary-active: var(--color-primary-active);--color-secondary-base: hsl(40, 95%, 55%);--color-secondary-50: hsl(40, 95%, 95%);--color-secondary-100: hsl(40, 95%, 85%);--color-secondary-500: var(--color-secondary-base);--color-secondary-600: hsl(40, 95%, 45%);--color-secondary-800: hsl(40, 95%, 25%);--color-secondary-hover: color-mix( in oklch, var(--color-secondary-base) 85%, var(--color-neutral-50) );--color-secondary-active: color-mix( in oklch, var(--color-secondary-base) 75%, var(--color-neutral-950) );--color-secondary-alpha-20: color-mix(in oklch, var(--color-secondary-base) 20%, transparent);--theme-color-secondary-hover: var(--color-secondary-hover);--theme-color-secondary-active: var(--color-secondary-active);--color-success-100: hsl(145, 63%, 90%);--color-success-800: hsl(145, 63%, 25%);--color-warning-100: hsl(38, 92%, 90%);--color-warning-800: hsl(38, 92%, 25%);--color-danger-100: hsl(0, 84%, 90%);--color-danger-800: hsl(0, 84%, 25%);--color-note-yellow: hsl(51, 100%, 85%);--color-note-pink: hsl(330, 100%, 90%);--color-note-blue: hsl(210, 100%, 90%);--color-note-green: hsl(145, 70%, 85%);--color-note-orange: hsl(25, 100%, 85%);--color-note-purple: hsl(270, 80%, 90%);--color-note-teal: hsl(174, 70%, 85%);--color-note-coral: hsl(15, 100%, 85%);--color-surface-code: var(--color-neutral-100);--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--color-success-light: hsl(145, 63%, 62%);--color-success-dark: hsl(145, 63%, 32%);--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: hsl(0, 84%, 80%);--color-error-dark: hsl(0, 84%, 40%);--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: hsl(38, 92%, 70%);--color-warning-dark: hsl(38, 92%, 30%);--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: hsl(217, 91%, 80%);--color-info-dark: hsl(217, 91%, 40%);--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-base) 30%, transparent);--color-primary-alpha-40: color-mix(in oklch, var(--color-primary-base) 40%, transparent);--color-primary-alpha-50: color-mix(in oklch, var(--color-primary-base) 50%, transparent);--color-secondary-alpha-10: color-mix(in oklch, var(--color-secondary-base) 10%, transparent);--color-secondary-alpha-15: color-mix(in oklch, var(--color-secondary-base) 15%, transparent);--color-secondary-alpha-30: color-mix(in oklch, var(--color-secondary-base) 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);--border-radius-sm: .25rem;--border-radius-md: .5rem;--border-radius-lg: .75rem;--border-radius-xl: 1rem;--transition-duration-fast: .15s;--transition-duration-normal: .25s;--transition-duration-slow: .35s;--transition-timing-entrance: cubic-bezier(0, 0, .2, 1);--transition-timing-exit: cubic-bezier(.4, 0, 1, 1);--transition-timing-bounce: cubic-bezier(.16, 1, .3, 1)}.dark,[data-theme*=dark],html[data-theme*=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: #ffffff;--color-surface: var(--color-neutral-100);--color-surface-hover: var(--color-neutral-200);--color-surface-alt: 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: var(--color-neutral-50);--color-text-on-secondary: var(--color-neutral-50);--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: rgba(15, 20, 25, .85);--color-surface-code: var(--color-neutral-200);--color-note-yellow: hsl(51, 80%, 30%);--color-note-pink: hsl(330, 80%, 35%);--color-note-blue: hsl(210, 80%, 35%);--color-note-green: hsl(145, 60%, 30%);--color-note-orange: hsl(25, 80%, 35%);--color-note-purple: hsl(270, 70%, 40%);--color-note-teal: hsl(174, 60%, 30%);--color-note-coral: hsl(15, 80%, 35%);--color-success-100: hsl(145, 63%, 20%);--color-success-800: hsl(145, 63%, 75%);--color-warning-100: hsl(38, 92%, 20%);--color-warning-800: hsl(38, 92%, 75%);--color-danger-100: hsl(0, 84%, 20%);--color-danger-800: hsl(0, 84%, 75%);--color-primary-50: hsl(210, 50%, 18%);--color-primary-100: hsl(210, 50%, 26%);--color-primary-500: hsl(210, 70%, 62%);--color-primary-600: hsl(210, 65%, 68%);--color-primary-800: hsl(210, 60%, 76%);--color-primary-900: hsl(210, 45%, 16%);--color-secondary-50: hsl(40, 65%, 18%);--color-secondary-100: hsl(40, 65%, 28%);--color-secondary-500: hsl(40, 75%, 62%);--color-secondary-600: hsl(40, 70%, 68%);--color-secondary-800: hsl(40, 65%, 75%)}.theme-transition{transition-property:color,background-color,border-color,fill,stroke;transition-duration:var(--transition-duration-normal);transition-timing-function:var(--transition-timing-entrance)}.theme-transition{transition:background-color .3s ease,color .3s ease,border-color .3s ease}.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}: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: rgba(0, 0, 0, .05);--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);margin-inline:auto;padding-inline:var(--container-padding, 1rem)}.grid{display:grid;gap:var(--grid-gap, 1rem)}.flex{display:flex}.flex-col{flex-direction:column}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.app-layout{display:grid;min-height:100vh;grid-template-rows:auto 1fr auto}.main-content{flex:1;width:100%}.m-0{margin:0}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-3{margin:.75rem}.m-4{margin:1rem}.m-5{margin:1.25rem}.m-6{margin:1.5rem}.m-8{margin:2rem}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding: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 rgba(0, 0, 0, .1))}.section{padding-block:var(--section-padding, 2rem)}.stack>*+*{margin-top:var(--stack-gap, 1rem)}.h-stack>*+*{margin-left:var(--h-stack-gap, 1rem)}@media (min-width: 640px){.container{padding-inline:var(--container-padding-sm, 2rem)}}@media (min-width: 768px){.container{padding-inline:var(--container-padding-md, 2.5rem)}}@media (min-width: 1024px){.container{padding-inline:var(--container-padding-lg, 3rem)}}.page-grid{display:grid;grid-template-columns:1fr;gap:var(--page-grid-gap, 1.5rem)}@media (min-width: 1024px){.page-grid{grid-template-columns:var(--page-grid-template, 1fr 3fr)}}.btn{display:inline-flex;align-items:center;justify-content:center;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);border:1px solid transparent;text-decoration:none;position:relative;gap:.5rem}.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn:active{transform:translateY(0)}.btn:focus{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, #2D5B3E));color:#fff}.btn-primary:hover,.btn-primary:focus{background-color:var(--color-primary-600, var(--color-primary-dark, #234A31))}.btn-secondary{background-color:var(--color-secondary-500, var(--color-secondary, #E4A853));color:#fff}.btn-outline{background-color:transparent;border:1px solid currentColor;color:var(--color-primary-500, var(--color-primary, #2D5B3E))}.btn-outline:hover,.btn-outline:focus{background-color:var(--color-primary-alpha-10, rgba(45, 91, 62, .1))}.btn-ghost{background-color:transparent;color:var(--text-primary)}.btn-ghost:hover,.btn-ghost:focus{background-color:#0000000d}.btn-sm{padding:.25rem .5rem;font-size:.875rem}.btn-lg{padding:.75rem 1.5rem;font-size: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 (max-width: 639px){.btn{min-height:var(--button-min-height-mobile);padding:.75rem 1rem;width:100%}.btn-icon{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;padding:.75rem}}@media (min-width: 640px) and (max-width: 1024px){.btn{width:auto;justify-content:flex-start;min-width:120px;padding:.5rem 1rem}.btn-icon{min-width:auto!important;width:auto!important;padding:.5rem .75rem;justify-content:center}}@media (min-width: 1024px){.btn{width:auto;justify-content:flex-start;min-width:140px;padding:.5rem 1rem}}@media (min-width: 1536px){.btn{min-height:var(--button-min-height-large);padding:.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 ease,border-color .15s ease}.btn:hover{transform:none}.btn:active{transform:scale(.98);transition:transform .1s ease}}@media (max-height: 500px) and (orientation: landscape){.btn{min-height:40px;padding:.5rem .75rem;font-size:.8125rem}}@media (prefers-contrast: high){.btn{border-width:2px;box-shadow:0 0 0 1px currentColor}}@media (prefers-reduced-motion: reduce){.btn{transition:none;animation:none}.btn:hover,.btn:active{transform:none}}.form-group{margin-bottom:1rem}.form-label{display:block;margin-bottom:.5rem;font-weight:500}.form-input{display:block;width:100%;padding:.5rem;border:1px solid var(--theme-border-color, #ccc);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)}.form-input:focus{border-color:var(--color-primary-500);outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary-500),transparent 80%)}.badge{display:inline-flex;align-items:center;padding:.25em .5em;font-size:.75em;font-weight:600;line-height:1;border-radius:var(--shape-badge, 9999px);text-transform:uppercase;letter-spacing:.05em}.badge-primary{background-color:var(--color-primary-500);color:#fff}.badge-secondary{background-color:var(--color-secondary-500);color:#fff}.badge-outline{background-color:transparent;border:1px solid currentColor}.card{border-radius:var(--shape-card, var(--card-radius, 16px));background-color:var(--surface-card);overflow:hidden;box-shadow:var(--shadow-sm, 0 1px 3px rgba(0, 0, 0, .1));transition:box-shadow var(--duration-normal) var(--ease-out)}.card-header{padding:1rem;border-bottom:1px solid var(--theme-border-color, rgba(0, 0, 0, .1));font-weight:600}.card-body{padding:1rem}.card-footer{padding:1rem;border-top:1px solid var(--theme-border-color, rgba(0, 0, 0, .1))}.alert{padding:.75rem 1rem;border-radius:var(--shape-tooltip, .25rem);margin-bottom: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:color-mix(in srgb,green,white 85%);border-left:4px solid green}.alert-warning{background-color:color-mix(in srgb,orange,white 85%);border-left:4px solid orange}.alert-error{background-color:color-mix(in srgb,red,white 85%);border-left:4px solid red}@layer utilities{.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{display:block;align-content:center;min-height:100px}.block-align-start{display:block;align-content:start;min-height:100px}.block-align-end{display:block;align-content:end;min-height:100px}.block-space-between{display:block;align-content:space-between;min-height:150px}.block-space-around{display:block;align-content:space-around;min-height:150px}.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:.75rem}.text-sm{font-size:.875rem}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.text-3xl{font-size:1.875rem}.text-4xl{font-size:2.25rem}.font-thin{font-weight:100}.font-light{font-weight:300}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight: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:transparent}.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:9999px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.not-sr-only{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}}@layer utilities{.focus-outline{outline:2px solid var(--color-primary-500);outline-offset:2px}.focus-ring:focus{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary-500),transparent 60%)}}@layer utilities{.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 blue}.debug-grid{background:linear-gradient(to bottom,rgba(0,0,255,.1) 1px,transparent 1px);background-size:100% 8px}.smooth-scroll{scroll-behavior:smooth}.no-smooth-scroll{scroll-behavior:auto}}@layer overrides{@media print{body{background-color:#fff!important;color:#000!important}a{text-decoration:underline;color:#00f!important}.no-print{display:none!important}.page-break{page-break-before:always}.page-break-after{page-break-after:always}}.visuallyhidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.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);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}@media (max-width: 640px){.mobile-hidden{display:none!important}.mobile-full-width{width:100%!important}.mobile-stack{display:flex!important;flex-direction:column!important}}}: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}@layer utilities{.container-inline{container-type:inline-size;container-name:inline}.container-size{container-type:size;container-name:size}.container-normal{container-type:normal;container-name:normal}.container-card{container-type:inline-size;container-name:card}.container-sidebar{container-type:inline-size;container-name:sidebar}.container-content{container-type:inline-size;container-name:content}.container-form{container-type:inline-size;container-name:form}@container (max-width: 300px){.cq\:stack{flex-direction:column;align-items:stretch;gap:.5rem}.cq\:hidden-xs{display:none}.cq\:text-sm{font-size:.875rem;line-height:1.25rem}.cq\:p-2{padding:.5rem}.cq\:full-width{width:100%}}@container (min-width: 301px) and (max-width: 500px){.cq\:hidden-sm{display:none}.cq\:col-1{grid-column:span 1}.cq\:p-3{padding:.75rem}}@container (min-width: 501px) and (max-width: 700px){.cq\:hidden-md{display:none}.cq\:col-2{grid-column:span 2}.cq\:p-4{padding:1rem}}@container (min-width: 701px){.cq\:hidden-lg{display:none}.cq\:col-3{grid-column:span 3}.cq\:p-5{padding:1.25rem}}@container card (max-width: 400px){.card\:vertical{flex-direction:column}.card\:compact{padding:.75rem;gap:.5rem}}@container sidebar (max-width: 200px){.sidebar\:compact{padding:.5rem}.sidebar\:icons-only .sidebar-text{display:none}.sidebar\:icons-only .sidebar-icon{margin-right:0}}@container form (max-width: 500px){.form\:stack{grid-template-columns:1fr;gap:.5rem}.form\:stack label{margin-bottom:.25rem}}@container style(--is-compact: 1){.compact\:text-sm{font-size:.875rem}.compact\:gap-1{gap:.25rem}}.container-responsive{container-type:inline-size;container-name:responsive}.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-type:inline-size;container-name:theme}@container theme (max-width: 300px){.theme-card{grid-template-columns:1fr;gap:.5rem}.theme-card-image{width:100%;height:120px}.theme-card-content{padding:.75rem}.theme-card-title{font-size:1rem}}@container theme (min-width: 301px) and (max-width: 500px){.theme-card{grid-template-columns:120px 1fr;gap:1rem}.theme-card-image{width:120px;height:120px}}@container theme (min-width: 501px){.theme-card{grid-template-columns:150px 1fr;gap:1.5rem}.theme-card-image{width:150px;height:150px}}.chat-container{container-type:size;container-name:chat}@container chat (max-width: 400px){.message{padding:.75rem;border-radius:.75rem}.message-avatar{width:32px;height:32px}.message-content,.response-content-area{font-size:.875rem}.message-actions{gap:.25rem}.message-timestamp{font-size:.75rem}}@container chat (min-width: 401px) and (max-width: 600px){.message{padding:1rem}.message-avatar{width:40px;height:40px}}@container chat (min-width: 601px){.message{padding:1.25rem}.message-avatar{width:48px;height:48px}.message-content,.response-content-area{font-size:1rem}}@container sidebar-container (max-width: 80px){.sidebar-link{justify-content:center;padding:.75rem}.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 (min-width: 81px) and (max-width: 200px){.sidebar-link{padding:.5rem .75rem}.sidebar-link-text{font-size:.875rem}.sidebar-section-title{font-size:.75rem;padding:.5rem .75rem}}@container sidebar-container (min-width: 201px){.sidebar-link{padding:.75rem 1rem}.sidebar-link-text{font-size:1rem}.sidebar-user-info{display:flex;padding:1rem}}.form-container{container-type:inline-size;container-name:form}@container form (max-width: 400px){.form-grid{grid-template-columns:1fr;gap:1rem}.form-field{grid-column:1}.form-field-group{flex-direction:column;gap:.5rem}.form-submit{width:100%}}@container form (min-width: 401px) and (max-width: 600px){.form-grid{grid-template-columns:repeat(2,1fr);gap:1rem}.form-field-full{grid-column:1 / -1}}@container form (min-width: 601px){.form-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem}.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{border:2px solid currentColor;font-weight:700}}}.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(.5rem,2cqw,2rem)}.cq-gap-responsive{gap:clamp(.5rem,2cqw,1.5rem)}@supports not (container-type: inline-size){@media (max-width: 640px){.fallback-small{font-size:.875rem;padding:.5rem}}@media (min-width: 640px) and (max-width: 1024px){.fallback-medium{font-size:1rem;padding:1rem}}@media (min-width: 1024px){.fallback-large{font-size:1.125rem;padding:1.5rem}}}}: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)){:root{--has-oklch: 1}}@supports (color: color(display-p3 0 0 0)){:root{--has-p3: 1}}@supports (color: color-contrast(white vs black,gray)){:root{--has-color-contrast: 1}}: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) 20%, var(--color-primary-500));--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) 20%, var(--color-secondary-500) );--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) 20%, var(--color-accent-500));--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)}:root{--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/2) 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)}:root{--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%)}@supports (color: color-contrast(white vs black)){:root{--text-on-primary: color-contrast(var(--color-primary-500) vs white, black);--text-on-secondary: color-contrast(var(--color-secondary-500) vs white, black);--text-on-accent: color-contrast(var(--color-accent-500) vs white, black);--text-on-surface: color-contrast(var(--surface-background) vs white, black);--text-high-contrast: color-contrast( var(--surface-background) vs var(--text-primary), var(--text-secondary), var(--color-primary-500), var(--color-accent-500) );--link-accessible: color-contrast( var(--surface-background) vs var(--color-primary-500), var(--color-secondary-500), var(--color-accent-500) to AA );--btn-text-primary: color-contrast(var(--color-primary-500) vs white, black to AAA);--btn-text-secondary: color-contrast(var(--color-secondary-500) vs white, black to AAA)}}@supports not (color: color-contrast(white vs black)){:root{--text-on-primary: white;--text-on-secondary: white;--text-on-accent: white;--text-on-surface: var(--text-primary);--text-high-contrast: var(--text-primary);--link-accessible: var(--color-primary-500);--btn-text-primary: white;--btn-text-secondary: white}}@supports (color: color(display-p3 0 0 0)){: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: #ffcc33;--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))}}}:root{--dynamic-bg: light-dark(#ffffff, #1a1a1a);--dynamic-text: light-dark(#1a1a1a, #ffffff);--dynamic-border: light-dark( color-mix(in srgb, black 20%, transparent), color-mix(in srgb, white 20%, transparent) );--dynamic-shadow: light-dark( 0 2px 4px color-mix(in srgb, black 10%, transparent), 0 2px 4px color-mix(in srgb, black 50%, transparent) )}.dark :root:not([data-theme]){--theme-color-primary: oklch(from var(--color-primary-500) calc(l + .1) c h);--theme-color-secondary: oklch(from var(--color-secondary-500) calc(l + .1) c h);--theme-surface-background: oklch(from var(--surface-background) .1 c h)}.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);position:absolute;top:0;right:0;padding:.25rem;background-color:#000;color:#fff;font-size:.75rem;font-weight:700}.color-debug{position:relative;&:after{content:var(--debug-color, "No color");position:absolute;bottom:100%;left:50%;transform:translate(-50%);padding:.25rem .5rem;background-color:#000;color:#fff;font-size:.75rem;white-space:nowrap;opacity:0;transition:opacity .3s}&:hover:after{opacity:1}}}@supports not (color: oklch(0% 0 0)){: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{transform:scaleX(-1)}[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:2px solid orange;outline-offset:-2px}.debug-rtl [dir=rtl]:before{content:"RTL";position:absolute;top:0;right:0;background:orange;color:#fff;padding:2px 4px;font-size:10px;font-weight:700;z-index:10000;pointer-events:none}::selection{background:var(--color-primary-100, rgba(59, 130, 246, .2));color:var(--color-text)}::-moz-selection{background:var(--color-primary-100, rgba(59, 130, 246, .2));color:var(--color-text)}.refinement-active-selection{background:var(--color-primary-200, rgba(59, 130, 246, .3));border-radius:var(--radius-sm);padding:4px var(--space-1);animation:pulseSelection 1.5s ease-in-out infinite}@keyframes pulseSelection{0%,to{background:var(--color-primary-200, rgba(59, 130, 246, .3))}50%{background:var(--color-primary-300, rgba(59, 130, 246, .4))}}.refined-section{background:var(--color-success-subtle, rgba(34, 197, 94, .05));border-left:4px solid var(--color-success, #22c55e);padding:var(--space-3) var(--space-4);margin:var(--space-4) 0;border-radius:var(--radius-md);position:relative;transition:all .3s ease;animation:slideInRefined .4s ease-out}.refined-section:hover{background:var(--color-success-subtle, rgba(34, 197, 94, .08));box-shadow:0 4px 4px #22c55e1a}@keyframes slideInRefined{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.refined-badge{position:absolute;top:calc(-1 * var(--space-3));left:var(--space-2);display:inline-flex;align-items:center;gap:var(--space-1);padding:0 var(--space-2);height:24px;background:var(--color-success, #22c55e);color:#fff;font-size:var(--text-xs);font-weight:var(--font-semibold);border-radius:var(--radius-full);box-shadow:0 4px 4px #0000001a;z-index:1}.refined-badge:before{content:"✨";font-size:var(--text-sm)}.refined-section[data-refinement=simplify]{border-left-color:var(--color-info, #3b82f6);background:var(--color-info-subtle, rgba(59, 130, 246, .05))}.refined-section[data-refinement=expand]{border-left-color:var(--color-purple-500, #a855f7);background:var(--color-purple-subtle, rgba(168, 85, 247, .05))}.refined-section[data-refinement=examples]{border-left-color:var(--color-warning, #f59e0b);background:var(--color-warning-subtle, rgba(245, 158, 11, .05))}.refined-section[data-refinement=rewrite]{border-left-color:var(--color-primary-500, #3b82f6);background:var(--color-primary-subtle, rgba(59, 130, 246, .05))}.refined-section[data-refinement=tone]{border-left-color:var(--color-pink-500, #ec4899);background:var(--color-pink-subtle, rgba(236, 72, 153, .05))}.refinement-loading{position:relative;pointer-events:none;opacity:.6}.refinement-loading:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,var(--color-primary-100, rgba(59, 130, 246, .1)),transparent);animation:shimmer 1.5s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.refinement-success{animation:successPulse .6s ease-out}@keyframes successPulse{0%{box-shadow:0 0 0 0 var(--color-success, #22c55e)}70%{box-shadow:0 0 0 8px #22c55e00}to{box-shadow:0 0 #22c55e00}}.refinable-hint{position:relative}.refinable-hint:before{content:"Select text to refine";position:absolute;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;transition:opacity .3s ease;pointer-events:none;z-index:10}.refinable-hint:hover:before{opacity:.8}@media (max-width: 768px){.refined-section{padding:var(--space-2) var(--space-3);margin:var(--space-3) 0}.refined-badge{height:16px;font-size:.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, rgba(34, 197, 94, .05));box-shadow:none}.refinable-hint:hover:before{opacity:0}}:global(.dark) .refined-section{background:var(--color-success-dark-subtle, rgba(34, 197, 94, .08));border-left-color:var(--color-success-light, #4ade80)}:global(.dark) .refined-section:hover{background:var(--color-success-dark-subtle, rgba(34, 197, 94, .12))}:global(.dark) ::selection{background:var(--color-primary-dark, rgba(59, 130, 246, .3))}:global(.dark) .refinement-loading:after{background:linear-gradient(90deg,transparent,var(--color-primary-dark, rgba(59, 130, 246, .15)),transparent)}.refined-section:focus-within{outline:4px solid var(--color-primary-500);outline-offset:4px}@media (prefers-contrast: high){.refined-section{border-left-width:4px}.refined-badge{border:4px solid white}}@media (prefers-reduced-motion: reduce){.refined-section,.refinement-active-selection,.refinement-loading:after{animation:none;transition:none}}@media print{.refined-section{border-left:4px solid #000;background:#f9f9f9;page-break-inside:avoid}.refined-badge{display:none}.refinement-loading:after,.refinable-hint:before{display:none}}.toast-container{position:fixed;top:var(--space-4);right:var(--space-4);z-index:var(--z-index-toast);display:flex;flex-direction:column;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}.toast{pointer-events:auto;position:relative;min-width:var(--toast-min-width, 320px);max-width:var(--toast-max-width, 420px);will-change:transform,opacity;transform:translateZ(0);backface-visibility:hidden;perspective:1000px;background-color:var(--surface-card);border:1px solid var(--border-color-default);border-radius:var(--shape-card, var(--radius-lg));padding:var(--space-4);display:flex;align-items:flex-start;gap:var(--space-3)}@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-tron{0%{opacity:0;transform:translate(100%) translateZ(0) scaleY(.3);filter:brightness(1.4)}50%{opacity:.8;transform:translate(0) translateZ(0) scaleY(.95);filter:brightness(1.15)}to{opacity:1;transform:translate(0) translateZ(0) scaleY(1);filter:brightness(1)}}@keyframes toast-exit-tron{0%{opacity:1;transform:translate(0) translateZ(0) scaleY(1);filter:brightness(1)}to{opacity:0;transform:translate(100%) translateZ(0) scaleY(.2);filter:brightness(1.5)}}@keyframes tron-scanline-sweep{0%{transform:translateY(-100%) translateZ(0);opacity:0}10%{opacity:.8}90%{opacity:.8}to{transform:translateY(100%) translateZ(0);opacity:0}}.toast[data-theme=tron]{position:relative;overflow:hidden}.toast[data-theme=tron]:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent 0%,var(--color-primary-500, #3b82f6) 50%,transparent 100%);filter:blur(.5px);opacity:.7;will-change:transform,opacity;transform:translateZ(0);pointer-events:none}.toast[data-theme=tron][data-state=entering]:before{animation:tron-scanline-sweep .8s var(--toast-easing-entrance-sharp, cubic-bezier(.1, .9, .2, 1)) forwards}.toast[data-theme=tron][data-state=entering]{animation:toast-enter-tron var(--toast-entrance-duration-fast, .3s) var(--toast-easing-entrance-sharp, cubic-bezier(.1, .9, .2, 1)) forwards}.toast[data-theme=tron][data-state=exiting]{animation:toast-exit-tron var(--toast-exit-duration-fast, .15s) var(--toast-easing-exit-sharp, cubic-bezier(.4, 0, .6, 1)) forwards}.dark .toast[data-theme=tron]:before{opacity:.9;filter:blur(1px)}@keyframes toast-enter-her{0%{opacity:0;transform:translateY(-8px) translateZ(0);filter:blur(3px)}to{opacity:1;transform:translateY(0) translateZ(0);filter:blur(0)}}@keyframes toast-exit-her{0%{opacity:1;transform:translateY(0) translateZ(0);filter:blur(0)}to{opacity:0;transform:translateY(-8px) translateZ(0);filter:blur(2px)}}.toast[data-theme=her][data-state=entering]{animation:toast-enter-her var(--toast-entrance-duration-gentle, .4s) var(--toast-easing-entrance-smooth, cubic-bezier(.23, 1, .32, 1)) forwards}.toast[data-theme=her][data-state=exiting]{animation:toast-exit-her var(--toast-exit-duration, .25s) var(--toast-easing-entrance-smooth, cubic-bezier(.23, 1, .32, 1)) forwards}@keyframes toast-enter-rosepine{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-rosepine{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=rosepine][data-state=entering]{animation:toast-enter-rosepine .5s var(--toast-easing-entrance, cubic-bezier(.34, 1.56, .64, 1)) forwards}.toast[data-theme=rosepine][data-state=exiting]{animation:toast-exit-rosepine 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{position:absolute;bottom:0;left:0;right:0;height:4px;overflow:hidden;border-radius:0 0 var(--shape-card, var(--radius-lg)) var(--shape-card, var(--radius-lg));background-color:var(--color-neutral-alpha-10, rgba(229, 231, 235, .1));pointer-events:none}.toast-progress-bar{position:absolute;top:0;left:0;bottom:0;width:100%;transform-origin:left center;will-change:transform;transform:scaleX(1) translateZ(0);background-color:var(--toast-progress-color, var(--color-primary-500))}@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, #10b981)}.toast[data-type=error] .toast-progress-bar{--toast-progress-color: var(--color-error, #ef4444)}.toast[data-type=warning] .toast-progress-bar{--toast-progress-color: var(--color-warning, #f59e0b)}.toast[data-type=info] .toast-progress-bar{--toast-progress-color: var(--color-info, #3b82f6)}.dark .toast-progress{background-color:var(--color-neutral-alpha-30, rgba(229, 231, 235, .3))}.toast[data-theme=tron] .toast-progress-bar{position:relative;background:rgba(var(--tron-cyan-rgb, 0, 240, 255),1);overflow:hidden}.toast[data-theme=tron] .toast-progress-bar:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(0,240,255,.6) 50%,transparent);animation:tron-progress-shimmer 1.5s linear infinite;transform:translate(-100%) translateZ(0);will-change:transform;pointer-events:none}@keyframes tron-progress-shimmer{to{transform:translate(200%) translateZ(0)}}.toast:nth-child(1){animation-delay:0ms;z-index:5}.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=tron]:hover,.toast[data-theme=modern]:hover{transform:scale(1.015) translateZ(0);transition:transform var(--toast-hover-duration, .2s) var(--ease-out)}.toast[data-theme=rosepine]:hover{transform:scale(1.02) translateZ(0);transition:transform var(--toast-hover-duration, .2s) var(--ease-out)}@media (prefers-reduced-motion: reduce){.toast[data-state=entering],.toast[data-state=exiting]{animation:none!important;transition:opacity .1s ease!important}.toast[data-state=entering]{opacity:1;transform:none}.toast[data-state=exiting]{opacity:0;transform:none}.toast[data-theme=tron]:before{display:none}.toast:hover{transform:none!important;transition:none!important}.toast:nth-child(n){animation-delay:0ms!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: high){.toast{border-width:2px;border-color:currentColor}.toast[data-type=success]{border-color:var(--high-contrast-success, #059669)}.toast[data-type=error]{border-color:var(--high-contrast-error, #dc2626)}.toast[data-type=warning]{border-color:var(--high-contrast-warning, #d97706)}.toast[data-type=info]{border-color:var(--high-contrast-info, #2563eb)}.toast[data-theme=her][data-state=entering],.toast[data-theme=her][data-state=exiting]{filter:none!important}.toast[data-theme=tron]:before{display:none}.toast-progress{height:6px}}@media (max-width: 768px){.toast-container{top:auto;bottom:var(--space-4);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=tron]:before{display:none}.toast:hover{transform:none!important}}@media (max-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{animation-play-state:paused}.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;transform:translateZ(0);backface-visibility:hidden;perspective:1000px}.toast[data-state=visible]{will-change:auto;transform:none}.toast[data-theme=tron]: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=tron]:before{opacity:.9;filter:blur(1.5px)}.toast-container{isolation:isolate}@media print{.toast-container,.toast{display:none!important}}@supports (appearance: base-select){select.custom-select{appearance:base-select;font-family:inherit;font-size:1rem;line-height:1.5;padding:var(--space-sm, .5rem) var(--space-md, 1rem);padding-right:var(--space-xl, 2rem);border:1px solid var(--border-color-default, #e5e5e5);border-radius:var(--radius-md, .5rem);background:var(--surface-card, #fff);color:var(--text-primary, #000);cursor:pointer;min-width:200px;transition:border-color .2s ease,box-shadow .2s ease}select.custom-select:hover{border-color:var(--border-color-hover, #d1d1d1)}select.custom-select:focus{outline:none;border-color:var(--color-primary-500, #3b82f6);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary-500, #3b82f6) 25%,transparent)}select.custom-select::picker(select){border-radius:var(--radius-lg, .75rem);border:1px solid var(--border-color-default, #e5e5e5);box-shadow:var(--shadow-lg, 0 10px 40px rgba(0, 0, 0, .15));background:var(--surface-card, #fff);padding:var(--space-xs, .25rem);max-height:320px;overflow-y:auto;opacity:0;transform:translateY(-8px) scale(.98);transition:opacity .15s ease-out,transform .15s ease-out}select.custom-select::picker(select):open{opacity:1;transform:translateY(0) scale(1)}select.custom-select option{display:flex;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 ease}select.custom-select option:hover{background-color:var(--surface-card-hover, #f5f5f5)}select.custom-select option:checked{background-color:var(--color-primary-50, rgba(59, 130, 246, .1));color:var(--color-primary-600, #2563eb);font-weight:500}select.custom-select::picker-icon{width:1.25rem;height:1.25rem;margin-left:var(--space-sm, .5rem);opacity:.6;transition:transform .2s ease}select.custom-select:open::picker-icon{transform:rotate(180deg)}select.custom-select option[data-icon]:before{content:attr(data-icon);font-size:1.25rem;flex-shrink:0}select.custom-select option[data-flag]:before{content:attr(data-flag);font-size:1.5rem;flex-shrink:0}}@supports (appearance: base-select){select.course-picker{appearance:base-select;font-family:var(--deep-dive-font-text, system-ui, sans-serif);font-size:1rem;padding:var(--space-md, 1rem) var(--space-lg, 1.5rem);padding-right:var(--space-2xl, 3rem);border:2px solid var(--border-color-default, #e5e5e5);border-radius:var(--radius-xl, 1rem);background:var(--surface-card, #fff);color:var(--text-primary, #000);min-width:280px;font-weight:500;box-shadow:var(--shadow-sm, 0 2px 8px rgba(0, 0, 0, .04))}select.course-picker:hover{border-color:var(--color-primary-300, #93c5fd);box-shadow:var(--shadow-md, 0 4px 16px rgba(0, 0, 0, .08))}select.course-picker:focus{outline:none;border-color:var(--color-primary-500, #3b82f6);box-shadow:var(--shadow-md, 0 4px 16px rgba(0, 0, 0, .08)),0 0 0 4px color-mix(in srgb,var(--color-primary-500, #3b82f6) 20%,transparent)}select.course-picker::picker(select){border-radius:var(--radius-xl, 1rem);border:1px solid var(--border-color-default, #e5e5e5);box-shadow:var(--shadow-xl, 0 16px 48px rgba(0, 0, 0, .16)),0 0 1px #0000001a;background:var(--surface-card, #fff);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, rgba(59, 130, 246, .1)) 0%,var(--color-primary-100, rgba(59, 130, 246, .15)) 100%)}select.course-picker option[data-subject]:before{content:attr(data-subject);font-size:1.5rem;margin-right:var(--space-sm, .5rem)}}@supports (appearance: base-select){select.language-picker{appearance:base-select;font-size:.9375rem;padding:var(--space-sm, .5rem) var(--space-md, 1rem);padding-right:var(--space-xl, 2rem);border-radius:var(--radius-lg, .75rem);min-width:180px}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:1.25rem;margin-right:var(--space-xs, .25rem)}}@supports not (appearance: base-select){.custom-select-wrapper{position:relative;display:inline-block}.custom-select-wrapper:after{content:"▼";position:absolute;right:var(--space-md, 1rem);top:50%;transform:translateY(-50%);font-size:.75rem;color:var(--text-secondary, #666);pointer-events:none}select.custom-select,select.course-picker,select.language-picker{appearance:none;-webkit-appearance:none;-moz-appearance:none;font-family:inherit;font-size:1rem;line-height:1.5;padding:var(--space-sm, .5rem) var(--space-md, 1rem);padding-right:var(--space-xl, 2rem);border:1px solid var(--border-color-default, #e5e5e5);border-radius:var(--radius-md, .5rem);background:var(--surface-card, #fff);color:var(--text-primary, #000);cursor:pointer;min-width:200px}select.custom-select:focus,select.course-picker:focus,select.language-picker:focus{outline:none;border-color:var(--color-primary-500, #3b82f6);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary-500, #3b82f6) 25%,transparent)}}:root.dark,.dark{select.custom-select,select.course-picker,select.language-picker{background:var(--surface-card-dark, #1c1c1e);color:var(--text-primary-dark, #fff);border-color:var(--border-color-default-dark, #3a3a3c)}}@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, #1c1c1e);border-color:var(--border-color-default-dark, #3a3a3c)}: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, #2c2c2e)}: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, #3b82f6) 20%,transparent),color-mix(in srgb,var(--color-primary-600, #2563eb) 25%,transparent))}}@media (prefers-reduced-motion: reduce){@supports (appearance: base-select){select.custom-select::picker(select),select.course-picker::picker(select),select.language-picker::picker(select){transition:none}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, #2563eb);outline-offset:-2px}}}button[commandfor][command=show-modal],button[commandfor][command=show]{cursor:pointer}button[commandfor][command=close]{color:var(--text-secondary, #666)}button[commandfor][command=close]:hover{color:var(--text-primary, #000)}[interestfor]{cursor:help;position:relative}[interestfor]:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:currentColor;opacity:.3}[interestfor]:hover:after,[interestfor]:focus:after{opacity:.6}dialog.modern-dialog{border:none;padding:0;background:transparent;max-width:min(90vw,560px);max-height:90vh;overflow:visible;margin:auto;position:fixed;inset:0;opacity:0;transform:scale(.95) translateY(10px);transition:opacity .2s ease-out,transform .2s ease-out,overlay .2s ease-out allow-discrete,display .2s ease-out allow-discrete}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{background:#0000;backdrop-filter:blur(0);transition:background .2s ease-out,backdrop-filter .2s ease-out}dialog.modern-dialog[open]::backdrop{background:#00000080;backdrop-filter:blur(4px)}@starting-style{dialog.modern-dialog[open]::backdrop{background:#0000;backdrop-filter:blur(0)}}dialog.modern-dialog .dialog-content{background:var(--surface-card, #fff);border-radius:var(--radius-xl, 1rem);box-shadow:var(--shadow-xl, 0 16px 48px rgba(0, 0, 0, .16));padding:var(--space-lg, 1.5rem);overflow:auto;max-height:calc(90vh - 2rem)}dialog.modern-dialog .dialog-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md, 1rem)}dialog.modern-dialog .dialog-title{font-size:1.25rem;font-weight:600;color:var(--text-primary, #000);margin:0}dialog.modern-dialog .dialog-close[commandfor][command=close]{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:transparent;border:none;color:var(--text-secondary, #666);cursor:pointer;transition:all .15s ease}dialog.modern-dialog .dialog-close[commandfor][command=close]:hover{background:var(--surface-card-hover, #f5f5f5);color:var(--text-primary, #000)}dialog.modern-dialog .dialog-body{color:var(--text-secondary, #666);line-height:1.6}dialog.modern-dialog .dialog-footer{display:flex;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, #e5e5e5)}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:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem}dialog.confirm-dialog .dialog-icon.warning{background:var(--color-warning-100, #fef3c7);color:var(--color-warning-600, #d97706)}dialog.confirm-dialog .dialog-icon.danger{background:var(--color-error-100, #fee2e2);color:var(--color-error-600, #dc2626)}dialog.confirm-dialog .dialog-icon.success{background:var(--color-success-100, #dcfce7);color:var(--color-success-600, #16a34a)}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, #1c1c1e)}:root.dark dialog.modern-dialog .dialog-title,.dark dialog.modern-dialog .dialog-title{color:var(--text-primary-dark, #fff)}:root.dark dialog.modern-dialog .dialog-body,.dark dialog.modern-dialog .dialog-body{color:var(--text-secondary-dark, rgba(235, 235, 245, .6))}: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-dark, #2c2c2e);color:var(--text-primary-dark, #fff)}:root.dark dialog.modern-dialog .dialog-footer,.dark dialog.modern-dialog .dialog-footer{border-top-color:var(--border-color-default-dark, #3a3a3c)}:root.dark dialog.modern-dialog::backdrop,.dark dialog.modern-dialog::backdrop{background:#000000b3}@media (prefers-reduced-motion: reduce){dialog.modern-dialog{transition:none}dialog.modern-dialog::backdrop{transition:none}}button[commandfor]:focus-visible{outline:2px solid var(--color-primary-500, #3b82f6);outline-offset:2px}[interestfor]:focus-visible{outline:2px solid var(--color-primary-500, #3b82f6);outline-offset:2px}:root{--theme-color-primary: hsl(210, 75%, 50%);--theme-color-secondary: hsl(40, 95%, 55%);--theme-color-accent: hsl(174, 70%, 50%);--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: .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}@layer components{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:2px solid var(--color-primary-500);outline-offset:2px;box-shadow:0 0 0 4px color-mix(in srgb,var(--color-primary-500) 20%,transparent);border-radius:var(--radius-sm)}.friends-tab:focus-visible,.view-toggle:focus-visible,.time-filter:focus-visible,.tab-button: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) 20%,transparent)}.privacy-level: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) 20%,transparent)}button[aria-label]: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) 20%,transparent);border-radius:var(--radius-md)}.error-close:focus-visible,button[aria-label=Close]: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) 20%,transparent)}.toggle-switch:focus-within{outline:2px solid var(--color-primary-500);outline-offset:2px;box-shadow:0 0 0 4px color-mix(in srgb,var(--color-primary-500) 20%,transparent);border-radius:var(--radius-full)}[role=dialog]:focus{outline:none}.modal-overlay:focus{outline:none}.sr-only,.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.sr-only-focusable:focus,.visually-hidden-focusable:focus{position:static;width:auto;height:auto;padding:inherit;margin:inherit;overflow:visible;clip:auto;white-space:normal}.skip-to-main{position:absolute;top:-40px;left:0;background:var(--color-primary-500);color:var(--text-on-primary);padding:var(--space-2) var(--space-4);text-decoration:none;border-radius:0 0 var(--radius-md) 0;z-index:var(--z-tooltip);transition:top var(--duration-fast) var(--ease-out)}.skip-to-main:focus{top:0}}@layer overrides{@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media (prefers-contrast: high){button:focus-visible,a:focus-visible,input:focus-visible{outline-width:4px;outline-offset:4px}}@media (pointer: coarse){button,a,input[type=checkbox],input[type=radio],.toggle-switch{min-width:44px;min-height:44px}}}.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{transform:translateZ(0);will-change:transform;backface-visibility:hidden}.scale-transition{transition-property:transform,opacity;transition-duration:var(--duration-normal, .2s);transition-timing-function:var(--ease-out, ease-out)}.scale-transition:hover{transform:translateZ(0) scale(1.02)}.scale-transition:active{transform:translateZ(0) scale(.98)}.slide-up-transition{transform:translate3d(0,100%,0);transition:transform var(--duration-normal, .2s) var(--ease-out, ease-out)}.slide-up-transition.visible{transform:translateZ(0)}.expand-width-transition{transform:translateZ(0) scaleX(0);transform-origin:left center;transition:transform var(--duration-normal, .2s) var(--ease-out, ease-out)}.expand-width-transition.expanded{transform:translateZ(0) scaleX(1)}.progress-bar-gpu{transform:translateZ(0) scaleX(var(--progress, 0));transform-origin:left center;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{transform:translateZ(0);isolation:isolate}}@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}}:root{--sidebar-mobile-breakpoint: 768px;--sidebar-expanded-width: 260px;--sidebar-collapsed-width: 72px;--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)}@media (width >=640px){:root{--sidebar-collapsed-width: 72px;--sidebar-expanded-width: 280px}}@media (width >=768px){:root{--sidebar-collapsed-width: 80px;--sidebar-expanded-width: 260px}}@media (width >=768px){.main-content[data-sidebar-expanded=true],.main-content[data-sidebar-expanded=false]{margin-left:0;flex:1;min-width:0}}@media (width < 768px){.main-content{margin-left:0;width:100vw;max-width:100vw}}@media (width >=768px){.chat-interface{height:100vh;max-height:100dvh}}@media (width < 768px){.chat-interface{height:calc(100vh - env(safe-area-inset-bottom));max-height:calc(100dvh - env(safe-area-inset-bottom))}}.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)}.sidebar-container{transition:width var(--sidebar-expand-duration) var(--sidebar-expand-easing),transform var(--sidebar-expand-duration) var(--sidebar-expand-easing)}.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:var(--sidebar-content-delay)}.sidebar-container[data-collapsed=true] .sidebar-nav-item{transition-delay:0ms}@media (768px <=width <=1024px){.main-content{contain:style}}@media (width > 1024px){.main-content{contain:style}}.sidebar-container,.sidebar-wrapper,.main-content,.page-content{will-change:transform,width;transform:translateZ(0);backface-visibility:hidden}@media (prefers-reduced-motion: reduce){:root{--sidebar-expand-duration: 0ms !important;--sidebar-collapse-duration: 0ms !important;--sidebar-content-delay: 0ms !important;--sidebar-content-duration: 0ms !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){will-change:auto}@media (width < 768px){.sidebar-container[aria-hidden=true] *{pointer-events:none;tab-index:-1}}@media (width >=768px){.sidebar-container[data-collapsed=true]{pointer-events:auto!important;visibility:visible!important}.sidebar-container[data-collapsed=true] *{pointer-events:auto!important;tab-index:0}.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}@layer components{.sidebar-container{display:flex;flex-direction:column;justify-content:space-between;height:100%;box-sizing:border-box;padding:0;margin-left:0;background-color:#ffffffbf;border:1px solid color-mix(in srgb,var(--color-border-themed) 50%,transparent);border-left:none;border-radius:0 var(--shape-panel, .75rem) var(--shape-panel, .75rem) 0;box-shadow:0 4px 8px -1px #0000001a,0 4px 4px -2px #0000001a;z-index:1;isolation:isolate;contain:layout style}@supports (-webkit-touch-callout: none){.sidebar-container{backdrop-filter:none;-webkit-backdrop-filter:none;background-color:#fffffff2}.dark .sidebar-container{background-color:#1e1e1ef2}}@supports not (-webkit-touch-callout: none){.sidebar-container{backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%)}}.dark .sidebar-container{background-color:#1e1e1ebf;border-color:#ffffff1a}.sidebar-container{width:100%}.sidebar-container:not([data-collapsed=true]){width:100%}.sidebar-inner{display:flex;flex-direction:column;flex:1;min-height:0;scrollbar-gutter:stable;overflow-y:auto;overflow-x:hidden;padding:var(--space-4) var(--space-2);-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;scrollbar-width:none!important;-ms-overflow-style:none!important}.sidebar-inner::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}.sidebar-container[data-collapsed=true] .sidebar-inner{align-items:center;padding:var(--space-2)}.logo-section{margin-bottom:var(--space-4, 1rem);padding:0}.sidebar-container[data-collapsed=true] .logo-section{margin-bottom:var(--space-2, .5rem);padding:0}.logo-container{display:flex;align-items:center;transition:gap var(--sidebar-content-duration) var(--sidebar-content-easing)}.logo-container[data-expanded=true]{gap:.5rem}.logo-container[data-expanded=false]{justify-content:center}.logo-content{display:flex;align-items:center}.logo-image{height:48px;width:auto;max-width:180px;transition:opacity var(--sidebar-content-duration) var(--sidebar-content-easing),fill var(--sidebar-content-duration) var(--sidebar-content-easing)}.logo-image path{fill:var(--color-logo);transition:fill var(--sidebar-content-duration) var(--sidebar-content-easing)}.nav-group{display:flex;flex-direction:column;margin-bottom:1.5rem}.nav-group:last-child{margin-bottom:0}.sidebar-container[data-collapsed=true] .nav-group{margin-bottom:.5rem}.sidebar-nav-item{display:flex;align-items:center;width:100%;text-align:left;padding:1rem;margin:0 .5rem .5rem;background-color:transparent;border:none;border-radius:var(--shape-tab, .75rem);cursor:pointer;color:var(--color-text-primary);font-size:1rem;font-weight:500;transition:background-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)}.sidebar-container[data-collapsed=true] .sidebar-nav-item{display:none}.sidebar-nav-item:hover{background-color:var(--color-hover-surface);transform:translate(4px)}.sidebar-nav-item:active{transform:translate(0) scale(.98)}.sidebar-nav-item:focus-visible{outline:4px solid var(--color-primary);outline-offset:4px}.sidebar-nav-content{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0}.nav-icon-wrapper{display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-right:.75rem}.sidebar-nav-item-collapsed{display:flex;align-items:center;justify-content:center;width:100%;padding:.75rem;margin:0 .5rem .5rem;background-color:transparent;border:none;border-radius:.75rem;cursor:pointer;transition:background-color var(--sidebar-content-duration) var(--sidebar-content-easing),transform var(--sidebar-content-duration) var(--sidebar-content-easing)}.sidebar-container[data-collapsed=true] .sidebar-nav-item-collapsed{display:flex}.sidebar-nav-item-collapsed:hover{background-color:var(--color-hover-surface);transform:scale(1.05)}.sidebar-nav-item-collapsed:active{transform:scale(.95)}.sidebar-nav-item-collapsed:focus-visible{outline:4px solid var(--color-primary);outline-offset:4px}.course-item{display:flex;align-items:center;justify-content:space-between;width:100%;text-align:left;padding:1rem;margin:0 .5rem .5rem;background-color:var(--color-surface-elevated);border:1px solid var(--color-border-subtle);border-radius:1rem;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)}.course-item:hover{background-color:var(--color-surface-elevated-hover);border-color:var(--color-border-hover);box-shadow:0 4px 8px -2px #0000001a,0 0 4px -1px #0000000f;transform:translateY(-4px)}.course-item.active{background-color:var(--color-surface-active);border-color:var(--color-primary-subtle);box-shadow:0 0 4px #0000001a,0 0 4px -1px #0000001a}.course-item:focus-visible{outline:4px solid var(--color-primary);outline-offset:4px}.course-item .course-icon-wrapper{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:.5rem;flex-shrink:0;margin-right:.75rem;transition:all var(--duration-normal) var(--sidebar-content-easing)}.course-item .course-text-wrapper{display:flex;flex-direction:column;min-width:0;flex:1}.course-item .course-name{color:var(--color-text-primary);font-size:1rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:font-weight var(--sidebar-content-duration) var(--sidebar-content-easing)}.course-item.active .course-name{font-weight:600}.course-count-badge{display:inline-flex;align-items:center;justify-content:center;padding:.25rem .5rem;font-size:.75rem;font-weight:500;color:var(--color-text-secondary);background-color:var(--color-surface-raised);border-radius:9999px;flex-shrink:0}.action-button{display:flex;align-items:center;justify-content:center;width:100%;text-align:center;padding:1rem;margin:0 .5rem .75rem;background:linear-gradient(135deg,var(--color-surface-elevated) 0%,var(--color-surface-raised) 100%);border:1px solid var(--color-border-subtle);border-radius:.75rem;cursor:pointer;color:var(--color-text-primary);font-size:1rem;font-weight: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)}.action-button:hover{background:linear-gradient(135deg,var(--color-surface-elevated-hover) 0%,var(--color-surface-raised-hover) 100%);border-color:var(--color-border-hover);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.action-button:active{transform:translateY(0)}.typography-heading-medium{font-size:1rem;font-weight:600;line-height:1.4}.typography-label-large{font-size:1rem;font-weight:500;line-height:1.4}.typography-caption-small{font-size:.75rem;font-weight:400;line-height:1.3;color:var(--color-text-secondary)}.flex{display:flex}.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:.5rem}.gap-3{gap:.75rem}.space-y-1>*+*{margin-top:.25rem}.p-0{padding:0}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-4{padding-left:1rem;padding-right:1rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pt-2{padding-top:.5rem}.mr-3{margin-right:.75rem}.mb-2{margin-bottom:.5rem}.mt-2{margin-top:.5rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.ml-1{margin-left:.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:9999px}.shadow-lg{box-shadow:0 12px 16px -3px #0000001a,0 4px 8px -4px #0000001a}.shadow-sm{box-shadow:0 0 4px #0000000d}.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:.75rem;line-height:1rem}.text-sm{font-size:.875rem;line-height:1.25rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.text-left{text-align:left}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.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-700)}.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(--color-primary-900) 20%,transparent)}.dark\:hover\:bg-primary-900\/10:hover{background-color:color-mix(in srgb,var(--color-primary-900) 10%,transparent)}.dark\:hover\:bg-primary-900\/30:hover{background-color:color-mix(in srgb,var(--color-primary-900) 30%,transparent)}.hover\:bg-primary-100:hover{background-color:var(--color-primary-100)}.opacity-60{opacity:.6}.sidebar-icon{width:24px;height:24px;stroke-width:2}.sidebar-icon-small{width:12px;height:12px}.sidebar-icon-control{width:16px;height:16px;stroke-width:2.5}.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 (min-width: 101px) and (max-width: 180px){.sm\:w-14{width:4rem}.sm\:w-76{width:19rem}.sm\:-translate-x-76{transform:translate(-19rem)}}@container sidebar (min-width: 181px){.md\:w-16{width:4rem}.md\:w-64{width:16rem}.md\:relative{position:relative}}@container sidebar (min-width: 101px) and (max-width: 180px){.sidebar-nav-item,.course-item{padding:.875rem 1rem}}@container sidebar (min-width: 181px){.sidebar-nav-item,.course-item{padding:1rem 1.5rem}.logo-section,.nav-group{margin-bottom:2rem}}.dark .sidebar-container{box-shadow:0 4px 8px -1px #0000004d,0 4px 4px -2px #0000004d}.dark .course-item:hover{box-shadow:0 4px 8px -2px #0006,0 0 4px -1px #0000004d}.dark .action-button:hover{box-shadow:0 4px 12px #00000080,0 4px 8px -1px #0006}@media (prefers-reduced-motion: reduce){.sidebar-nav-item,.sidebar-nav-item-collapsed,.course-item,.action-button,.logo-image{transition:none!important}}}@media (prefers-contrast: high){.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:#000!important;color:#fff!important;border-color:#fff!important}.high-contrast-mode .sidebar-inner{background-color:#000!important}.high-contrast-mode .section-title{color:#ffffffe6!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:#fff!important}.high-contrast-mode .course-item{color:#fff!important;background-color:#1a1a1a!important;border-color:#ffffff80!important}.high-contrast-mode .course-item:hover{background-color:#ffffff26!important}.high-contrast-mode .course-item.active,.high-contrast-mode .course-item-active{background-color:#fff3!important;border-color:#fff!important}.high-contrast-mode .chat-item{color:#fff!important}.high-contrast-mode .chat-item.active,.high-contrast-mode .chat-item.selected{background-color:#ffffff26!important}.high-contrast-mode .action-button{color:#fff!important;background:#1a1a1a!important;border-color:#ffffff80!important}.high-contrast-mode .action-button:hover{background:#ffffff26!important;border-color:#fff!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:#fff!important}.high-contrast-mode .user-profile-container{border-top-color:#ffffff80!important}.high-contrast-mode .sidebar-container svg{stroke:#fff!important;color:#fff!important}.high-contrast-mode .sidebar-nav-item:hover,.high-contrast-mode .sidebar-nav-item-collapsed:hover,.high-contrast-mode .nav-link:hover{background-color:#ffffff26!important}.high-contrast-mode .chat-item-action-button{color:#fff!important}.high-contrast-mode .chat-menu-overlay{background:linear-gradient(to left,black 80%,transparent)!important}.high-contrast-mode .course-progress-bar-container{background-color:#333!important;border-color:#ffffff80!important}.high-contrast-mode .course-count-badge,.high-contrast-mode .nav-badge{color:#000!important;background-color:#fff!important}.high-contrast-mode .admin-section{border-bottom-color:#ffffff80!important}html[data-high-contrast=true] .sidebar-container,html[data-high-contrast=true] .sidebar-outer{background-color:#000!important;color:#fff!important;border-color:#fff!important}html[data-high-contrast=true] .sidebar-inner{background-color:#000!important}html[data-high-contrast=true] .section-title{color:#ffffffe6!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:#fff!important}html[data-high-contrast=true] .course-item{color:#fff!important;background-color:#1a1a1a!important;border-color:#ffffff80!important}html[data-high-contrast=true] .chat-item{color:#fff!important}html[data-high-contrast=true] .sidebar-container svg{stroke:#fff!important;color:#fff!important}.sidebar-outer{display:flex;flex-direction:column;height:100%;-webkit-user-select:none;user-select:none;box-sizing:border-box;position:fixed;z-index:var(--z-index-sidebar);top:0;left:0;pointer-events:auto;margin:0;padding:0;border:none;background-color:#ffffffbf;color:var(--color-text-primary);font-size:.875rem;line-height:1.25rem;overflow:hidden;transition:width var(--sidebar-expand-duration) var(--sidebar-expand-easing),transform var(--sidebar-collapse-duration) var(--sidebar-collapse-easing)}.dark .sidebar-outer{background-color:#1e1e1ebf}.sidebar-outer *,.sidebar-container *,.sidebar-inner *{pointer-events:auto}.sidebar-outer.sidebar-visible{width:var(--sidebar-expanded-width);transform:translate(0)}.sidebar-outer.sidebar-hidden-mobile{width:var(--sidebar-expanded-width);transform:translate(-100%);pointer-events:none}.sidebar-outer.sidebar-visible *,.sidebar-outer.sidebar-collapsed *{pointer-events:auto}.sidebar-outer.sidebar-collapsed{width:var(--sidebar-collapsed-width);transform:translate(0)}@container sidebar (min-width: 181px){.sidebar-outer.sidebar-visible{max-width:240px}}.sidebar-backdrop{position:fixed;z-index:calc(var(--z-index-sidebar) - 1);inset:0;width:100%;min-height:100vh;background-color:color-mix(in srgb,black 60%,transparent);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);will-change:opacity;transition:opacity var(--sidebar-collapse-duration) var(--sidebar-collapse-easing)}@media (min-width: 769px){.sidebar-backdrop{display:none}}.sidebar-toggle-button{display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;border-radius:var(--radius-md, .5rem);background-color:transparent;border:1.5px solid var(--theme-color-border, var(--color-border, #e5e7eb));color:var(--theme-text-primary, var(--color-text, #1f2937));transition:all var(--duration-normal) var(--ease-out);min-height:48px;min-width:48px}.sidebar-toggle-button[data-expanded=true],.sidebar-toggle-button[data-expanded=false]{padding:.75rem}.sidebar-toggle-button:hover{background-color:var(--theme-color-muted, var(--color-hover-surface));border-color:var(--theme-text-secondary, var(--color-text-secondary, #6b7280));color:var(--theme-text-primary, var(--color-text, #1f2937))}.logo-icon{display:flex;align-items:center;justify-content:center}.icon-sm{width:1.5rem;height:1.5rem}.admin-workspace-container{display:flex;justify-content:center;padding:0 .75rem;margin-bottom:1.5rem}.sidebar-container[data-collapsed=true] .admin-workspace-container{display:none}.admin-workspace-link{display:flex;align-items:center;flex-grow:1;gap:.75rem;padding:1rem .75rem;border-radius:.75rem;background-color:transparent;transition:all var(--duration-normal) var(--ease-out);text-decoration:none}.admin-workspace-link:hover{background-color:var(--color-hover-surface)}.workspace-icon-wrapper{display:flex;align-items:center;justify-content:center}.workspace-icon{width:1rem;height:1rem}.workspace-label-wrapper{display:flex;align-items:center}.workspace-label{font-weight:500;font-size: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{display:flex;align-items:center;padding:1rem;margin:0 .5rem .5rem;border-radius:.75rem;background-color:transparent;transition:all var(--duration-normal) var(--ease-out);text-decoration:none;color:inherit}.nav-link:hover{background-color:var(--color-hover-surface)}.icon-wrapper{display:flex;align-items:center;justify-content:center;margin-right:.75rem}.label-wrapper{display:flex;align-items:center}.nav-label{font-weight:500;font-size:1rem}.courses-header-wrapper{margin-bottom:.5rem}.courses-header-button{display:flex;align-items:center;justify-content:space-between;width:100%;padding:1rem;border:none;border-radius:.75rem;background-color:transparent;cursor:pointer;transition:all var(--duration-fast) var(--ease-out)}.courses-header-button:hover{background-color:var(--color-primary-50)}.dark .courses-header-button:hover{background-color:color-mix(in srgb,var(--color-primary-900) 20%,transparent)}.courses-header-content{display:flex;align-items:center;min-width:0;padding:0}.courses-header-content .nav-icon-wrapper{flex-shrink:0;margin-right:.75rem}.courses-title-wrapper{display:flex;align-items:center;min-width:0}.courses-title{font-size:1rem;font-weight:600;line-height:1.4;color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.courses-header-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.courses-chevron{color:var(--color-text-secondary);transition:all var(--duration-fast) var(--ease-out);transform-origin:center;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:.5rem;display:flex;flex-direction:column;gap:.25rem}.course-item{display:flex;align-items:center;justify-content:space-between;width:100%;text-align:left;padding:1rem;margin:0 .5rem .5rem;background-color:var(--color-surface-elevated);border:1px solid var(--color-border-subtle);border-radius:1rem;cursor:pointer;transition:all var(--duration-normal) var(--ease-out)}.course-item:hover{background-color:var(--color-primary-50)}.dark .course-item:hover{background-color:color-mix(in srgb,var(--color-primary-900) 10%,transparent)}.course-item-active{background-color:var(--color-surface-active);box-shadow:var(--shadow-sm)}.course-item-content{display:flex;align-items:center;min-width:0;flex:1}.course-item .course-icon-wrapper{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:.5rem;flex-shrink:0;margin-right:.75rem;transition:all var(--duration-fast) var(--ease-out)}.course-icon-svg{transition:transform var(--duration-fast) var(--ease-out)}.course-item:hover .course-icon-svg{transform:scale(1.1)}.course-text-wrapper{display:flex;flex-direction:column;min-width:0;flex:1}.course-name-row{display:flex;align-items:center;gap:.5rem}.course-name{font-size:1rem;font-weight:500;line-height:1.4;color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:all var(--duration-fast) var(--ease-out)}.course-name-active{font-weight:600}.course-recent-indicator{display:flex;flex-shrink:0}.course-recent-icon{color:var(--color-text-secondary);opacity:.6}.course-progress-wrapper{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem;padding:0 .25rem}.course-progress-header{display:flex;align-items:center;justify-content:space-between}.course-progress-percentage-wrapper{display:flex;align-items:center;gap:.25rem}.course-progress-text{font-size:.75rem;font-weight:400;line-height:1.3;color:var(--color-text-secondary)}.course-progress-percentage{font-size:.75rem;font-weight:600;line-height:1.3;padding:.25rem .5rem;border-radius:.5rem}.course-progress-bar-container{position:relative;flex:1;height:.75rem;background-color:var(--surface-secondary, var(--color-neutral-100));border-radius:9999px;overflow:hidden;box-shadow:inset 0 0 4px #0000001a;border:1px solid var(--color-border-subtle)}.course-progress-bar-bg{position:absolute;inset:0;background:linear-gradient(to right,var(--surface-tertiary, var(--color-neutral-200)),var(--surface-secondary, var(--color-neutral-100)));border-radius:9999px}.course-progress-bar{position:relative;height:100%;border-radius:9999px;transition:all var(--duration-slow) var(--sidebar-content-easing);box-shadow:var(--shadow-sm)}.course-progress-bar-highlight{position:absolute;inset:0;background:linear-gradient(to right,transparent,rgba(255,255,255,.2),transparent);border-radius:9999px}.course-progress-milestone{position:absolute;top:50%;transform:translateY(-50%);width:.5rem;height:.5rem;background-color:#fff9;border-radius:9999px}.course-progress-milestone:nth-child(1){right:.25rem}.course-progress-milestone:nth-child(2){right:.75rem}.course-progress-milestone:nth-child(3){right:1.5rem}.course-progress-status-row{display:flex;align-items:center;gap:.25rem;margin-top:.25rem}.course-progress-dot{width:.5rem;height:.5rem;border-radius:9999px}.course-progress-status-text{font-size:.75rem;font-weight:400;line-height:1.3;color:var(--color-text-secondary)}.user-profile-container{display:flex;flex-direction:column;font-family:var(--font-primary, sans-serif)}.user-profile-button{display:flex;align-items:center;padding:1rem;width:100%;border-radius:.75rem;background-color:transparent;border:none;cursor:pointer;transition:all var(--duration-normal) var(--ease-out);text-decoration:none;color:var(--color-text-primary)}.user-profile-button:hover{background-color:var(--color-hover-surface)}.user-profile-avatar{display:flex;align-items:center;margin-right:.75rem}.user-profile-name{font-weight:500}.course-label{color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-icon-svg{width:24px;height:24px;flex-shrink:0;transition:transform var(--duration-normal) var(--ease-out)}.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:1rem;font-weight:500;margin-left:.75rem;color:var(--color-text-primary);font-family:var(--font-primary, sans-serif);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.progress-bar-track{position:absolute;inset:0;background:linear-gradient(to right,var(--surface-tertiary, var(--color-neutral-200)),var(--surface-secondary, var(--color-neutral-100)));border-radius:9999px}.progress-bar-fill{position:relative;height:100%;border-radius:9999px;transition:all var(--duration-slow) var(--sidebar-content-easing);box-shadow:var(--shadow-sm)}.progress-bar-highlight{position:absolute;inset:0;background:linear-gradient(to right,transparent,rgba(255,255,255,.2),transparent);border-radius:9999px}.progress-milestone-dot{position:absolute;top:50%;transform:translateY(-50%);width:8px;height:8px;background:#fff9;border-radius:9999px}.progress-milestone-dot-1{right:8px}.progress-milestone-dot-2{right:16px}.progress-milestone-dot-3{right:24px}.progress-status-row{display:flex;align-items:center;gap:.25rem;margin-top:.25rem}.progress-status-dot{width:8px;height:8px;border-radius:9999px}.active-course-indicator{display:flex;flex-shrink:0;margin-left:.5rem}.chat-item-action-button{background:transparent;border:none;cursor:pointer;color:var(--color-text-secondary)}.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:.75rem;padding-right:.75rem}.user-section-wrapper-collapsed{padding-left:.25rem;padding-right:.25rem;display:flex;justify-content:center;align-items:center}.user-section-container{display:flex;flex-direction:column;font-family:var(--font-primary, sans-serif);align-items:center}.user-menu-button{display:flex;align-items:center;padding:1rem;width:100%;border-radius:.75rem;color:var(--color-text-primary);background-color:transparent;border:none;cursor:pointer;transition:all var(--duration-normal) var(--ease-out)}.user-menu-button:hover{background-color:var(--color-hover-surface)}.user-avatar-wrapper{align-self:center;margin-right:.75rem}.user-name-text{align-self:center;font-weight:500}.sidebar-outer{container-type:inline-size;container-name:sidebar}@container sidebar (max-width: 70px){.sidebar-inner{padding:var(--space-2)}.nav-group{gap:.25rem;margin-bottom:.25rem}.sidebar-nav-item,.sidebar-nav-item-collapsed{margin:.25rem;padding:.5rem}}@container sidebar (min-width: 71px) and (max-width: 100px){.sidebar-inner{padding:var(--space-2) var(--space-1)}.nav-group{gap:.5rem;margin-bottom:.75rem}.sidebar-nav-item{display:none}.sidebar-nav-item-collapsed{display:flex;padding:.625rem;margin:.25rem}}@container sidebar (min-width: 101px) and (max-width: 180px){.sidebar-inner{padding:var(--space-3) var(--space-2)}.nav-group{gap:.75rem;margin-bottom:1rem}.sidebar-nav-item{padding:.75rem;font-size:.875rem}.course-name,.course-label,.nav-label{font-size:.875rem}.sidebar-nav-content{gap:.5rem}}@container sidebar (min-width: 181px){.sidebar-inner{padding:var(--space-4) var(--space-2)}.nav-group{gap:1rem;margin-bottom:1.5rem}.sidebar-nav-item{padding:1rem;font-size:1rem}.course-name,.course-label,.nav-label{font-size:1rem}.sidebar-nav-content{gap:.75rem}}@container sidebar (max-width: 100px){.nav-icon-wrapper,.course-icon-wrapper{margin-right:0}.sidebar-nav-item-collapsed{width:48px;height:48px}}@container sidebar (max-width: 120px){.collapsed-badge{position:absolute;top:-8px;right:-8px;min-width:.875rem;height:.875rem;font-size:.4rem}}@container sidebar (max-width: 100px){.courses-header-button{padding:.5rem;justify-content:center}.courses-title,.courses-chevron{display:none}.course-item{padding:.75rem;margin:.25rem}.course-text-wrapper{display:none}.course-item .course-icon-wrapper{width:2rem;height:2rem;margin-right:0}}@container sidebar (min-width: 101px) and (max-width: 180px){.courses-title,.course-name{font-size:.875rem}.course-item .course-icon-wrapper{width:2rem;height:2rem;margin-right:.5rem}}@container sidebar (max-width: 100px){.user-profile-button{justify-content:center;padding:.5rem;width:48px;height:48px;margin:0 auto}.user-profile-name{display:none}.user-profile-avatar{margin-right:0}}@container sidebar (min-width: 101px) and (max-width: 180px){.user-profile-button{padding:.75rem}.user-profile-name{font-size:.75rem;margin-left:.5rem}.user-profile-avatar{flex-shrink:0}}.scrollable-mobile{overflow-y:scroll;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;touch-action:pan-y}.scrollable-mobile-full{max-height:100svh;overflow-y:scroll;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;touch-action:pan-y}.scrollable-mobile-constrained{max-height:70svh;overflow-y:scroll;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;touch-action:pan-y}.scrollable-mobile-x{overflow-x:scroll;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;touch-action:pan-x;scrollbar-width:thin}.scrollable-mobile-both{overflow:scroll;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-x pan-y}.scrollable-hidden{scrollbar-width:none;-ms-overflow-style:none}.scrollable-hidden::-webkit-scrollbar{display:none}.scrollable-mobile::-webkit-scrollbar,.scrollable-mobile-full::-webkit-scrollbar,.scrollable-mobile-constrained::-webkit-scrollbar{width:8px;height:8px}.scrollable-mobile::-webkit-scrollbar-track,.scrollable-mobile-full::-webkit-scrollbar-track,.scrollable-mobile-constrained::-webkit-scrollbar-track{background:transparent}.scrollable-mobile::-webkit-scrollbar-thumb,.scrollable-mobile-full::-webkit-scrollbar-thumb,.scrollable-mobile-constrained::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--color-neutral-400) 30%,transparent);border-radius:var(--radius-full)}.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 (max-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{max-height:100svh;height:100svh}body{overscroll-behavior-y:none}}@media (max-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));overflow-y:scroll;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;touch-action:pan-y;display:flex;flex-direction:column-reverse}.modal-scrollable{max-height:calc(100svh - 200px);overflow-y:scroll;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;touch-action:pan-y}@media (max-width: 768px){.modal-scrollable{max-height:calc(100svh - 120px)}}.scroll-fade-x{position:relative;overflow-x:scroll;-webkit-overflow-scrolling:touch}.scroll-fade-x:after{content:"";position:absolute;top:0;right:0;bottom:0;width:40px;background:linear-gradient(to left,var(--surface-card),transparent);pointer-events:none}.scroll-fade-x[data-scrolled-end=true]:after{opacity:0}.scrollable-accelerated{transform:translateZ(0);will-change:scroll-position}.scrollable-no-flicker{-webkit-transform:translate3d(0,0,0);transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}@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{transform:translateZ(0);-webkit-transform:translate3d(0,0,0);will-change:transform;isolation:isolate;contain:layout style paint;-webkit-overflow-scrolling:touch}.scroll-idle{will-change: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:100vh;height:100svh}.min-h-viewport{min-height:100vh;min-height:100svh}.max-h-viewport{max-height:100vh;max-height:100svh}.h-viewport-dynamic{height:100vh;height:100dvh}.min-h-viewport-dynamic{min-height:100vh;min-height:100dvh}.max-h-viewport-dynamic{max-height:100vh;max-height:100dvh}.h-viewport-js{height:100vh;height:calc(var(--vh, 1vh) * 100)}.min-h-viewport-js{min-height:100vh;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{display:flex;flex-direction:column;height:100vh;height:100svh;min-height:0;overflow:hidden}.flex-viewport>*{min-height:0}.flex-scroll{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}.flex-fixed{flex-shrink:0}@media (max-width: 768px){.mobile-h-viewport{height:100vh;height:100svh}.mobile-max-h-viewport{max-height:100vh;max-height:100svh}.mobile-min-h-viewport{min-height:100vh;min-height:100svh}.mobile-flex-viewport{display:flex;flex-direction:column;height:100vh;height:100svh;min-height:0;overflow:hidden;padding-bottom:env(safe-area-inset-bottom,0px)}}.h-viewport-50{height:50vh;height:50svh}.h-viewport-75{height:75vh;height:75svh}.max-h-viewport-80{max-height:80vh;max-height:80svh}.max-h-viewport-90{max-height:90vh;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{position:relative;-webkit-tap-highlight-color:transparent;user-select:none;cursor:pointer}.touch-feedback:after{content:"";position:absolute;inset:0;border-radius:inherit;background:currentColor;opacity:0;pointer-events:none;transition:opacity var(--duration-instant, .1s) var(--ease-out)}.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){transform:scale(.98);filter:brightness(.9)}.list-item-touch{position:relative;-webkit-tap-highlight-color:transparent;transition:background-color var(--duration-fast, .2s) var(--ease-out)}.list-item-touch:active{background:var(--surface-hover)}.card-touch{position:relative;-webkit-tap-highlight-color:transparent;transition:all var(--duration-fast, .2s) var(--ease-out)}.card-touch:active{transform:scale(.99);box-shadow:var(--shadow-sm)}.icon-touch{position:relative;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-full);-webkit-tap-highlight-color:transparent;transition:all var(--duration-fast, .2s) var(--ease-out);min-width:var(--touch-target-preferred, 44px);min-height:var(--touch-target-preferred, 44px)}.icon-touch:active{background:var(--surface-hover);transform:scale(.95)}.touch-expand{position:relative}.touch-expand:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);min-width:44px;min-height:44px;z-index:-1}.touch-expand-lg:before{min-width:56px;min-height:56px}.toggle-touch{-webkit-tap-highlight-color:transparent;cursor:pointer;transition:all var(--duration-fast, .2s) var(--ease-out)}.toggle-touch:active{transform:scale(.96)}.link-touch{position:relative;-webkit-tap-highlight-color:transparent;transition:color var(--duration-fast, .2s) var(--ease-out)}.link-touch:after{content:"";position:absolute;inset:-8px;border-radius:var(--radius-sm);background:currentColor;opacity:0;pointer-events:none;transition:opacity var(--duration-instant, .1s) var(--ease-out)}.link-touch:active:after{opacity:.05}.swipe-touch{touch-action:pan-x;user-select:none;position:relative;transition:transform var(--duration-fast, .2s) var(--ease-out)}.swipe-touch[data-swiping=true]{transition:none}.long-press-touch{position:relative;-webkit-tap-highlight-color:transparent}.long-press-touch[data-long-pressing=true]{transform:scale(.97);opacity:.8}.long-press-touch:before{content:"";position:absolute;inset:0;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)}.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)}}@media (hover: hover) and (pointer: fine){.touch-feedback:active:after,.touch-scale:active,.touch-highlight:active,.card-touch:active,.icon-touch:active{transform:none;opacity:1;background:transparent}.touch-feedback:hover,.touch-highlight:hover{background:var(--surface-hover)}.card-touch:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}}.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: high){.touch-feedback:after{opacity:.2}.touch-feedback:active:after{opacity:.3}}@media print{.touch-feedback:after,.touch-scale,.touch-highlight{display:none;transform:none}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes shimmer-subtle{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton-box{background:linear-gradient(90deg,var(--color-neutral-200) 0%,color-mix(in oklch,var(--color-neutral-200) 70%,var(--color-neutral-300) 30%) 50%,var(--color-neutral-200) 100%);background-size:200% 100%;animation:shimmer 3.5s ease-in-out infinite}:global(.dark) .skeleton-box{background:linear-gradient(90deg,var(--color-neutral-700) 0%,color-mix(in oklch,var(--color-neutral-700) 70%,var(--color-neutral-600) 30%) 50%,var(--color-neutral-700) 100%)}.skeleton-circle{background:linear-gradient(90deg,var(--color-neutral-200) 0%,color-mix(in oklch,var(--color-neutral-200) 70%,var(--color-neutral-300) 30%) 50%,var(--color-neutral-200) 100%);background-size:200% 100%;animation:shimmer 3.5s ease-in-out infinite;border-radius:var(--shape-avatar, var(--radius-full))}:global(.dark) .skeleton-circle{background:linear-gradient(90deg,var(--color-neutral-700) 0%,color-mix(in oklch,var(--color-neutral-700) 70%,var(--color-neutral-600) 30%) 50%,var(--color-neutral-700) 100%)}.skeleton-text{background:linear-gradient(90deg,var(--color-neutral-200) 0%,color-mix(in oklch,var(--color-neutral-200) 70%,var(--color-neutral-300) 30%) 50%,var(--color-neutral-200) 100%);background-size:200% 100%;animation:shimmer 3.5s ease-in-out infinite;border-radius:var(--shape-badge, var(--radius-full));height:var(--space-4)}:global(.dark) .skeleton-text{background:linear-gradient(90deg,var(--color-neutral-700) 0%,color-mix(in oklch,var(--color-neutral-700) 70%,var(--color-neutral-600) 30%) 50%,var(--color-neutral-700) 100%)}.skeleton-button{background:linear-gradient(90deg,var(--color-neutral-200) 0%,color-mix(in oklch,var(--color-neutral-200) 70%,var(--color-neutral-300) 30%) 50%,var(--color-neutral-200) 100%);background-size:200% 100%;animation:shimmer 3.5s ease-in-out infinite;border-radius:var(--shape-button, var(--radius-lg));height:var(--space-10)}:global(.dark) .skeleton-button{background:linear-gradient(90deg,var(--color-neutral-700) 0%,color-mix(in oklch,var(--color-neutral-700) 70%,var(--color-neutral-600) 30%) 50%,var(--color-neutral-700) 100%)}.skeleton-gradient{background:linear-gradient(135deg,var(--color-primary-200) 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{position:absolute;inset:0;background:linear-gradient(135deg,#3b82f626,#8b5cf626);border-radius:var(--shape-card, var(--radius-xl));filter:blur(20px);animation:shimmer 4s ease-in-out infinite;animation-delay:var(--timing-standard, .2s)}:global(.dark) .skeleton-glow{background:linear-gradient(135deg,#2563eb40,#7c3aed40)}.skeleton-sidebar{width:var(--sidebar-expanded-width, 260px);background:var(--color-neutral-50);border-right:1px solid var(--color-neutral-200);height:100%;overflow:hidden;flex-shrink:0}:global(.dark) .skeleton-sidebar{background:var(--color-neutral-900);border-right-color:var(--color-neutral-800)}.skeleton-main-content{flex:1;display:flex;flex-direction:column;height:100%;overflow:hidden;background:linear-gradient(135deg,var(--color-neutral-50) 0%,var(--color-neutral-100) 100%)}:global(.dark) .skeleton-main-content{background:linear-gradient(135deg,var(--color-neutral-900) 0%,var(--color-neutral-800) 100%)}.skeleton-header{border-bottom:1px solid rgba(229,231,235,.6);padding:var(--space-6);display:flex;justify-content:space-between;align-items:center;backdrop-filter:blur(4px)}:global(.dark) .skeleton-header{border-bottom-color:#37415199}.skeleton-input-area{border-top:1px solid rgba(229,231,235,.6);padding:var(--space-6);background:#ffffff80;backdrop-filter:blur(4px)}:global(.dark) .skeleton-input-area{border-top-color:#37415199;background:#11182780}@media (prefers-reduced-motion: reduce){.skeleton-box,.skeleton-circle,.skeleton-text,.skeleton-button,.skeleton-glow{animation:none;background:var(--color-neutral-200)}:global(.dark) .skeleton-box,:global(.dark) .skeleton-circle,:global(.dark) .skeleton-text,:global(.dark) .skeleton-button{background:var(--color-neutral-700)}.skeleton-gradient{background:var(--color-neutral-200)}:global(.dark) .skeleton-gradient{background:var(--color-neutral-700)}}.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}.quiz-container{container-type:inline-size;container-name:quiz-container;max-width:42rem;margin-inline:auto;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))}.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{display:flex;align-items:center;gap:var(--space-4);font-size:var(--text-sm);color:var(--text-secondary)}.quiz-progress-bar{width:100%;height:8px;border-radius:var(--shape-avatar, var(--radius-full));background:var(--surface-sunken);overflow:hidden;margin-top:var(--space-3)}.quiz-progress-fill{height:100%;background:linear-gradient(90deg,var(--color-primary),var(--color-secondary));border-radius:var(--shape-avatar, var(--radius-full));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)}.quiz-answer-options{display:flex;flex-direction:column;gap:var(--space-3)}.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:all var(--duration-fast) var(--ease-out);cursor:pointer;display:flex;align-items:center;gap:var(--space-3);position:relative;min-height:var(--touch-target-preferred)}.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;margin:0;flex-shrink:0;accent-color:var(--color-primary)}.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);display:flex;align-items:center;gap:var(--space-2)}.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{display:flex;gap:var(--space-3);margin-top:var(--space-6);flex-wrap:wrap}.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:all var(--duration-fast) var(--ease-out);display:inline-flex;align-items:center;gap:var(--space-2)}.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:"💡 ";margin-right:var(--space-2)}.quiz-explanation:before{content:"ℹ️ ";margin-right:var(--space-2)}.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);border:none;cursor:pointer;transition:all var(--duration-fast) var(--ease-out);margin-top:var(--space-6);min-height:var(--touch-target-min)}.quiz-next-button:hover{background:var(--color-success-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.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{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4);margin-bottom:var(--space-6)}.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);display:flex;align-items:center;gap:var(--space-2)}.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{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4)}.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);display:flex;align-items:center;gap:var(--space-2)}.quiz-tips-section ul{list-style-type:disc;padding-left:var(--space-6);color:var(--color-info-content)}.quiz-tips-section li{margin-bottom:var(--space-3);line-height:var(--leading-relaxed)}.quiz-card-footer{display:flex;gap:var(--space-3);justify-content:flex-end;margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--border-color-muted)}.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);border:none;cursor:pointer;transition:all var(--duration-fast) var(--ease-out)}.quiz-restart-button:hover{background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.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);border:none;cursor:pointer;transition:all var(--duration-fast) var(--ease-out)}.quiz-close-button:hover{background:var(--color-error-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.quiz-celebration-effect{position:fixed;inset:0;pointer-events:none;z-index:50;overflow:hidden}.quiz-confetti{position:absolute;width:8px;height:8px;border-radius:var(--shape-avatar, 50%);top:-10px;animation:confettiFall linear infinite}@keyframes confettiFall{0%{transform:translateY(-10px) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}.quiz-loading{display:flex;align-items:center;justify-content:center;gap:var(--space-2);color:var(--text-secondary);font-size:var(--text-sm)}.quiz-loading-spinner{width:1rem;height:1rem;border:2px solid transparent;border-top-color:var(--color-primary);border-radius:var(--shape-avatar, 50%);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@container quiz-container (max-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{grid-template-columns:1fr;gap:var(--space-3)}.quiz-summary-grid{grid-template-columns:1fr}.quiz-card-footer{flex-direction:column;gap:var(--space-2)}.quiz-restart-button,.quiz-close-button{width:100%;padding:var(--space-2) var(--space-4)}.quiz-progress-bar{height:4px}}@container quiz-container (min-width: 351px) and (max-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 (min-width: 501px) and (max-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 (min-width: 701px) and (max-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 (min-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 (max-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{animation:none;opacity:0}}@media (prefers-contrast: high){.quiz-answer-option{border-width:3px}.quiz-answer-option.correct,.quiz-answer-option.incorrect{box-shadow:none;border-width:4px}}@container quiz-container (max-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 (max-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 (max-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{position:fixed;inset:0;height:100vh;height:100svh;height:calc(var(--vh, 1vh) * 100);display:flex;align-items:flex-end;justify-content:center;overflow:hidden}@container quiz-container (min-width: 728px){.quiz-app-modal-backdrop{align-items:center;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}}@supports not (container-type: inline-size){@media (min-width: 768px){.quiz-app-modal-backdrop{align-items:center;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}}}.quiz-app-modal-container{display:flex;flex-direction:column;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));overflow:hidden;-webkit-overflow-scrolling:touch;transform:translateZ(0);-webkit-transform:translateZ(0);padding-bottom:env(safe-area-inset-bottom,0)}@container quiz-container (min-width: 728px){.quiz-app-modal-container{max-width:48rem;width:90vw;min-height:70vh;max-height:calc(100svh - 4rem);max-height:calc(var(--vh, 1vh) * 100 - 4rem);padding-bottom:0;margin:2rem auto}}@container quiz-container (min-width: 984px){.quiz-app-modal-container{max-width:56rem;width:85vw;min-height:75vh;max-height:calc(100svh - 6rem);max-height:calc(var(--vh, 1vh) * 100 - 6rem);margin:3rem auto}}@supports not (container-type: inline-size){@media (min-width: 768px){.quiz-app-modal-container{max-width:48rem;width:90vw;min-height:70vh;max-height:calc(100svh - 4rem);max-height:calc(var(--vh, 1vh) * 100 - 4rem);padding-bottom:0;margin:2rem auto}}@media (min-width: 1024px){.quiz-app-modal-container{max-width:56rem;width:85vw;min-height:75vh;max-height:calc(100svh - 6rem);max-height:calc(var(--vh, 1vh) * 100 - 6rem);margin:3rem auto}}}.quiz-app-modal-container .modal-body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}.quiz-app-modal-container .modal-header{flex-shrink:0;position:sticky;top:0;z-index:10;background:var(--surface-card);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.quiz-app-modal-container .quiz-card,.quiz-app-modal-container .result-card{min-height:auto;height:auto;max-height:none;overflow:visible}.quiz-app-modal-container .quiz-card-footer{position:sticky;bottom:0;background:var(--surface-card);padding-top:var(--space-4);padding-bottom:max(var(--space-4),env(safe-area-inset-bottom));margin-top:auto;border-top:1px solid var(--border-color-muted);z-index:5}@media (orientation: landscape) and (max-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 (max-width: 700px){@media (orientation: landscape) and (max-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{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-2)}.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:100vh;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{-webkit-text-size-adjust:100%;text-size-adjust:100%}.quiz-card{transform:translateZ(0);-webkit-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){transform:none;background:var(--surface-card);border-color:var(--border-color-default)}.quiz-answer-option:active:not(.correct):not(.incorrect){transform:scale(.98);background:var(--surface-interactive);border-color:var(--color-primary);transition:transform .1s ease}.quiz-next-button:active,.quiz-restart-button:active,.quiz-close-button:active{transform:scale(.98);transition:transform .1s ease}.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>*+*{margin-left:var(--space-3)}.quiz-actions>*+*{margin-left:var(--space-3)}}@container quiz-container (max-width: 768px){.quiz-stat-item,.quiz-summary-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}}@supports not (container-type: inline-size){@media (max-width: 768px){.quiz-stat-item,.quiz-summary-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}}}html.ios-keyboard-visible .quiz-card-footer{position:sticky;bottom:0;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}@supports (-webkit-touch-callout: none){.quiz-confetti{will-change:transform,opacity;backface-visibility:hidden;-webkit-backface-visibility:hidden}.quiz-celebration-effect{contain:strict}}@layer components{*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}ul,ol{list-style:none}a{color:inherit;text-decoration:none}button{background:none;border:none;color:inherit;font:inherit;cursor:pointer}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}html{font-size:16px;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%}body{min-height:100vh;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=tron]{font-family:var(--font-stack-tron)}.layout-app{display:grid;grid-template-areas:"header header" "sidebar main" "footer footer";grid-template-columns:auto 1fr;grid-template-rows:auto 1fr auto;min-height:100vh}.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);margin-inline:auto;padding-inline:var(--container-padding, var(--space-4))}.grid{display:grid}.flex{display:flex}.btn{display:inline-flex;align-items:center;justify-content:center;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:all var(--transition-fast);cursor:pointer;-webkit-user-select:none;user-select:none}.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:all var(--transition-fast)}.input:focus{border-color:var(--color-primary-500);box-shadow:0 0 0 3px var(--color-primary-alpha-20)}.badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);font-size:.875rem;font-weight:500}.hero{padding-block:var(--space-16);text-align:center}.hero-title{font-size:clamp(2rem,1.5rem + 2.5vw,4rem);margin-bottom:var(--space-4)}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--space-6)}.media{display:flex;align-items:flex-start;gap:var(--space-4)}.media-figure{flex-shrink:0}.media-body{flex:1}.stack>*+*{margin-top:var(--stack-space, var(--space-4))}}@layer utilities{.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{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.not-sr-only{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}}@layer overrides{@media (prefers-contrast: more){*{border-color:currentColor}.btn,.card,.input{border:2px solid currentColor}a{text-decoration:underline;text-decoration-thickness:2px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:1ms;animation-iteration-count:1;transition-duration:1ms}}@media print{.no-print{display:none}body{color:#000;background:#fff}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)}}: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],.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, rgba(255, 255, 255, .7), rgba(255, 255, 255, 0) );--gradient-overlay-dark: linear-gradient(to top, rgba(0, 0, 0, .7), rgba(0, 0, 0, 0));--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, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .5) 50%, rgba(255, 255, 255, 0) 100% );--gradient-shimmer-dark: linear-gradient( 90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .2) 50%, rgba(255, 255, 255, 0) 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, #2D5B3E))}.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, #E4A853))}.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, #7FB069))}.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, #2D5B3E))}.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, #E4A853))}.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, #7FB069))}.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, #2D5B3E))}.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, #E4A853))}.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, #7FB069))}.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);background-clip:text;-webkit-background-clip:text;color:transparent;text-fill-color:transparent;-webkit-text-fill-color:transparent}.text-gradient-secondary{background-image:var(--gradient-secondary);background-clip:text;-webkit-background-clip:text;color:transparent;text-fill-color:transparent;-webkit-text-fill-color:transparent}.text-gradient-primary-secondary{background-image:var(--gradient-primary-secondary);background-clip:text;-webkit-background-clip:text;color:transparent;text-fill-color:transparent;-webkit-text-fill-color:transparent}@supports (color: color(display-p3 0 0 0)){@media (color-gamut: p3){.text-gradient-vibrant{background-image:var(--gradient-vibrant-primary);background-clip:text;-webkit-background-clip:text;color:transparent;text-fill-color:transparent;-webkit-text-fill-color:transparent}}}.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{background-color:transparent;color:var(--text-primary);border-color:transparent;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);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{background-color:transparent;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}.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);background-color:transparent;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);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:all 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, #2563eb)}.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, #f3f4f6)}.hover\:bg-neutral-200:hover{background-color:var(--color-neutral-200, #e5e7eb)}.text-gray-300{color:var(--color-neutral-300, #d1d5db)}.text-gray-400{color:var(--color-neutral-400, #9ca3af)}.text-gray-500{color:var(--color-neutral-500, #6b7280)}.text-gray-600{color:var(--color-neutral-600, #4b5563)}.text-gray-700{color:var(--color-neutral-700, #374151)}.text-gray-800{color:var(--color-neutral-800, #1f2937)}.text-gray-900{color:var(--color-neutral-900, #111827)}.bg-gray-50{background-color:var(--color-neutral-50, #f9fafb)}.bg-gray-100{background-color:var(--color-neutral-100, #f3f4f6)}.bg-gray-200{background-color:var(--color-neutral-200, #e5e7eb)}.bg-gray-300{background-color:var(--color-neutral-300, #d1d5db)}@layer components{.reading-progress{position:fixed;top:0;left:0;width:100%;height:4px;background-color:var(--color-primary-500);transform-origin:left;z-index:var(--z-index-raised);pointer-events:none;animation:progress-fill linear forwards;animation-timeline:scroll(root vertical);animation-range:0% 100%}@keyframes progress-fill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.scroll-progress-circle{position:fixed;bottom:2rem;right:2rem;width:50px;height:50px;svg circle{stroke-dasharray:157;stroke-dashoffset:157;stroke:var(--color-primary-500);stroke-width:3;fill:none;animation:circle-progress linear forwards;animation-timeline:scroll(root vertical);animation-range:0% 100%}}@keyframes circle-progress{to{stroke-dashoffset:0}}.hero-parallax{position:relative;overflow:hidden;&:before{content:"";position:absolute;inset:0;background-image:var(--hero-bg-image);background-size:cover;background-position:center;will-change:transform;animation:parallax-bg linear;animation-timeline:scroll(root vertical);animation-range:entry 0% exit 100%}}@keyframes parallax-bg{0%{transform:translateY(0)}to{transform:translateY(30%)}}.parallax-layer{position:absolute;width:100%;height:100%;&[data-speed=slow]{animation:parallax-slow linear;animation-timeline:scroll(root vertical);animation-range:entry 0% exit 100%}&[data-speed=medium]{animation:parallax-medium linear;animation-timeline:scroll(root vertical);animation-range:entry 0% exit 100%}&[data-speed=fast]{animation:parallax-fast linear;animation-timeline:scroll(root vertical);animation-range:entry 0% exit 100%}}@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:fade-in-scroll linear forwards;animation-timeline:view();animation-range:entry 25% cover 50%}@keyframes fade-in-scroll{to{opacity:1}}.slide-up-on-scroll{opacity:0;transform:translateY(50px);animation:slide-up-scroll linear forwards;animation-timeline:view();animation-range:entry 25% cover 50%}@keyframes slide-up-scroll{to{opacity:1;transform:translateY(0)}}.scale-in-on-scroll{opacity:0;transform:scale(.8);animation:scale-in-scroll linear forwards;animation-timeline:view();animation-range:entry 25% cover 50%}@keyframes scale-in-scroll{to{opacity:1;transform:scale(1)}}.header-sticky{position:sticky;top:0;z-index:var(--z-index-overlay);transition:backdrop-filter .3s;animation:header-transform linear forwards;animation-timeline:scroll(root vertical);animation-range:0px 200px}@keyframes header-transform{0%{background-color:transparent;-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px);box-shadow:none;padding-block:1.5rem}to{background-color:var(--theme-surface-background-alpha-90);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 2px 10px #0000001a;padding-block:1rem}}.header-logo{transition:transform .3s;animation:logo-shrink linear forwards;animation-timeline:scroll(root vertical);animation-range:0px 150px}@keyframes logo-shrink{to{transform:scale(.8)}}.section-color-transition{--section-bg: var(--surface-background);background-color:var(--section-bg);animation:section-color linear;animation-timeline:view();animation-range:entry 0% exit 100%}.section-color-transition[data-color=primary]{@keyframes section-color{50%{--section-bg: var(--theme-primary-alpha-10)}}}.section-color-transition[data-color=accent]{@keyframes section-color{50%{--section-bg: var(--theme-accent-alpha-10)}}}.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));background-clip:text;-webkit-background-clip:text;color:transparent;animation:text-highlight linear;animation-timeline:view();animation-range:entry 50% cover 50%}@keyframes text-highlight{to{--highlight-amount: 100%}}.text-reveal{overflow:hidden;span{display:inline-block;opacity:0;transform:translateY(1em);animation:char-reveal .5s forwards;animation-timeline:view();animation-range:entry 25% cover 50%;animation-delay:calc(var(--char-index) * .05s)}}@keyframes char-reveal{to{opacity:1;transform:translateY(0)}}.timeline-vertical{position:relative;&:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;background-color:var(--border-color-default);transform:translate(-50%)}&:after{content:"";position:absolute;left:50%;top:0;width:2px;background-color:var(--color-primary-500);transform:translate(-50%);transform-origin:top;animation:timeline-progress linear;animation-timeline:scroll(self vertical);animation-range:0% 100%}}@keyframes timeline-progress{0%{height:0}to{height:100%}}.timeline-item{opacity:.5;transform:scale(.95);transition:all .3s;animation:timeline-activate linear;animation-timeline:view();animation-range:entry 50% cover 50%;animation-fill-mode:forwards}@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(nearest)}.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 0% entry 100%}.animation-range-exit{animation-range:exit 0% exit 100%}.animation-range-cover{animation-range:cover 0% cover 100%}.animation-range-contain{animation-range:contain 0% contain 100%}@supports not (animation-timeline: scroll()){.fade-in-on-scroll,.slide-up-on-scroll,.scale-in-on-scroll{opacity:1;transform:none;transition:all .6s ease-out}.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}}}@layer overrides{@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{animation:none;opacity:1;transform:none}.reading-progress{display:none}.header-sticky{background-color:var(--surface-background);box-shadow:0 2px 10px #0000001a}}}@layer components{@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{background-color:#169c914d;color:var(--cocovox-text)}[data-theme=tron] ::selection{background-color:#00bfff4d;color:#fff;text-shadow:0 0 3px rgba(0,191,255,.5)}[data-theme=her] ::selection{background-color:#ff526f33;color:var(--her-text-primary)}[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;text-decoration-style:wavy;text-decoration-color:var(--color-warning);text-underline-offset:.15em}::highlight(search-current){background-color:var(--color-warning);color:var(--text-on-warning);font-weight:700;outline:2px solid var(--color-warning-dark);outline-offset:2px}::highlight(spelling-error){background-color:transparent;text-decoration:underline;text-decoration-style:wavy;text-decoration-color:var(--color-error);text-underline-offset:.2em}::highlight(grammar-error){background-color:transparent;text-decoration:underline;text-decoration-style:wavy;text-decoration-color:var(--color-info);text-underline-offset:.2em}::highlight(syntax-keyword){color:var(--syntax-keyword-color, #0080ff);font-weight:700}::highlight(syntax-string){color:var(--syntax-string-color, #00c851)}::highlight(syntax-comment){color:var(--syntax-comment-color, #666666);font-style:italic}::highlight(syntax-function){color:var(--syntax-function-color, #ffd700)}::highlight(important){background-color:var(--color-accent-alpha-20);font-weight:600;padding-inline:.1em}::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;text-decoration-style: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){background-color:transparent;outline:3px solid var(--color-warning);outline-offset:2px}::highlight(search-current){background-color:var(--color-warning);color:#000;outline:3px solid black}}@media (forced-colors: active){::selection{background-color:Highlight;color:HighlightText}::highlight(search-result){background-color:Mark;color:MarkText}}[dir=rtl] ::selection{unicode-bidi:bidi-override}[lang^=zh] ::selection,[lang^=ja] ::selection,[lang^=ko] ::selection{letter-spacing:.05em}.no-select{user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.can-select{user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text}.select-all{user-select:all;-webkit-user-select:all;-moz-user-select:all;-ms-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 ease}@supports not (background: highlight(test)){.highlight-fallback{background-color:var(--color-primary-alpha-20);padding:.1em .2em;border-radius:2px}.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);position:absolute;top:-1.5em;left:0;font-size:.75rem;color:var(--text-tertiary);opacity:0;transition:opacity .3s}.custom-highlight-polyfill:hover:before{opacity:1}}}@layer overrides{@media print{::selection{background-color:#ff0;color:#000}::highlight(search-result){background-color:#ff0;color:#000}[data-highlight]:hover,[data-highlight]:active{filter:none}}}.grid-parent{display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:auto 1fr auto;gap:var(--space-4);grid-template-columns:[full-start] 1fr [content-start] repeat(10,1fr) [content-end] 1fr [full-end]}.subgrid-item{display:grid;grid-template-columns:subgrid;grid-template-rows:subgrid;grid-column:content-start / content-end}.form-grid{display:grid;grid-template-columns:[label] auto [input] 1fr;gap:var(--space-3)}.form-section{display:grid;grid-template-columns:subgrid;grid-column:label / span 2;gap:inherit;.form-label{grid-column:label;text-align:right}.form-input{grid-column:input}.form-full{grid-column:label / span 2}}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-6);grid-template-rows:[card-start] auto [card-content] 1fr [card-footer] auto [card-end]}.card-subgrid{display:grid;grid-template-rows:subgrid;grid-row:card-start / card-end;.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{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));grid-template-rows:masonry;gap:1rem;masonry-auto-flow:pack}.masonry-columns{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:masonry;gap:var(--space-4);align-tracks:stretch}}@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 (max-width: 1200px){.masonry-fallback{-webkit-column-count:3;column-count:3}}@media (max-width: 900px){.masonry-fallback{-webkit-column-count:2;column-count:2}}@media (max-width: 600px){.masonry-fallback{-webkit-column-count:1;column-count:1}}}.magazine-layout{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:minmax(100px,auto);gap:var(--space-4);.article-featured{grid-column:1 / 8;grid-row:1 / 4}.sidebar{grid-column:8 / 13;grid-row:1 / 3}.article-regular{grid-column:span 4;grid-row:span 2}.article-small{grid-column:span 3;grid-row:span 1}}.dashboard-grid{display:grid;grid-template-columns:[nav] 250px [main] 1fr [aside] 300px;grid-template-rows:[header] auto [content] 1fr [footer] auto;min-height:100vh;gap:0;.dashboard-nav{grid-column:nav;grid-row:header / footer}.dashboard-header{grid-column:main / aside;grid-row:header}.dashboard-content{grid-column:main;grid-row:content;display:grid;grid-template-columns:subgrid;grid-template-rows:repeat(auto-fit,minmax(200px,auto));gap:var(--space-4);padding:var(--space-4)}.dashboard-aside{grid-column:aside;grid-row:content}}.portfolio-grid{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:200px;gap:var(--space-3);.portfolio-item{&.large{grid-column:span 3;grid-row:span 2}&.medium{grid-column:span 2;grid-row:span 2}&.small{grid-column:span 1;grid-row:span 1}&.wide{grid-column:span 4;grid-row:span 1}&.tall{grid-column:span 2;grid-row:span 3}}}.subgrid-cols{display:grid;grid-template-columns:subgrid}.subgrid-rows{display:grid;grid-template-rows:subgrid}.subgrid-both{display:grid;grid-template-columns:subgrid;grid-template-rows:subgrid}.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}.grid-flow-row{grid-auto-flow:row}.grid-flow-col{grid-auto-flow:column}.grid-flow-dense{grid-auto-flow:row dense}.grid-flow-col-dense{grid-auto-flow:column dense}.responsive-grid{container-type:inline-size;.grid-container{display:grid;gap:var(--space-4);@container (min-width: 1200px){grid-template-columns:repeat(4,1fr)}@container (min-width: 900px) and (max-width: 1199px){grid-template-columns:repeat(3,1fr)}@container (min-width: 600px) and (max-width: 899px){grid-template-columns:repeat(2,1fr)}@container (max-width: 599px){grid-template-columns:1fr}}}.auto-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));gap:var(--space-4)}.fluid-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(clamp(200px,25vw,400px),1fr));gap:clamp(1rem,2vw,2rem)}.animated-grid{display:grid;transition:grid-template-columns .5s ease-out;&[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{display:grid;grid-template-columns:inherit;gap:inherit}.form-section-fallback{display:grid;grid-template-columns:150px 1fr;gap:var(--space-3);align-items:center}}.has-subgrid{@supports (grid-template-rows: subgrid){--subgrid-support: 1}}.has-masonry{@supports (grid-template-rows: masonry){--masonry-support: 1}}.grid-enhance{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;@supports (grid-template-rows: subgrid){grid-template-rows:auto 1fr auto;>*{display:grid;grid-template-rows:subgrid;grid-row:span 3}}@supports (grid-template-rows: masonry){grid-template-rows:masonry}}.content-grid{container-type:inline-size;container-name:content-grid;display:grid;gap:var(--space-4)}@container content-grid (max-width: 400px){.content-grid{grid-template-columns:1fr}.content-grid>*{min-width:0}.card,[data-component=card]{padding:var(--space-3)}}@container content-grid (min-width: 401px) and (max-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 (min-width: 801px) and (max-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 (min-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{container-type:inline-size;container-name:card-grid;display:grid;gap:var(--space-4)}@container card-grid (max-width: 500px){.card-grid-responsive{grid-template-columns:1fr}.card-grid-item{aspect-ratio:4 / 3}}@container card-grid (min-width: 501px) and (max-width: 900px){.card-grid-responsive{grid-template-columns:repeat(2,1fr)}.card-grid-item{aspect-ratio:16 / 10}}@container card-grid (min-width: 901px){.card-grid-responsive{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.card-grid-item{aspect-ratio:16 / 9}}.masonry-adaptive{container-type:inline-size;container-name:masonry-container;display:grid;gap:var(--space-4)}@container masonry-container (max-width: 500px){.masonry-adaptive{grid-template-columns:1fr}}@container masonry-container (min-width: 501px) and (max-width: 900px){.masonry-adaptive{grid-template-columns:repeat(2,1fr);grid-template-rows:auto;.masonry-item.tall{grid-row:span 2}}}@container masonry-container (min-width: 901px){.masonry-adaptive{grid-template-columns:repeat(3,1fr);grid-template-rows:auto;.masonry-item.tall{grid-row:span 2}.masonry-item.wide{grid-column:span 2}.masonry-item.featured{grid-column:span 2;grid-row:span 2}}}.dashboard-adaptive{container-type:inline-size;container-name:dashboard-layout}@container dashboard-layout (max-width: 700px){.dashboard-adaptive{display:grid;grid-template-columns:1fr;grid-template-rows:auto}.dashboard-sidebar{grid-column:1;grid-row:auto;max-height:300px;overflow-y:auto}.dashboard-content{grid-column:1;grid-row:auto}}@container dashboard-layout (min-width: 701px) and (max-width: 1100px){.dashboard-adaptive{display:grid;grid-template-columns:200px 1fr;gap:var(--space-4)}.dashboard-sidebar{grid-column:1;grid-row:1 / -1}.dashboard-content{grid-column:2;grid-row:1}}@container dashboard-layout (min-width: 1101px){.dashboard-adaptive{display:grid;grid-template-columns:250px 1fr 300px;gap:var(--space-6)}.dashboard-sidebar{grid-column:1;grid-row:1 / -1}.dashboard-content{grid-column:2;grid-row:1 / -1}.dashboard-aside{grid-column:3;grid-row:1}}@layer components{.form-field{position:relative;width:100%;margin-bottom:.5rem}.form-input{width:100%;padding:.75rem 2.5rem .75rem 1.25rem;border-radius:var(--shape-input, var(--input-radius, 1rem));outline:none;border:1px solid var(--form-border-color, #e5e7eb);background-color:var(--form-bg-color, transparent);transition:all .2s ease-in-out;line-height:1.25}:root.dark .form-input{--form-border-color: transparent;--form-bg-color: rgb(17, 24, 39);--form-text-color: white;--form-placeholder-color: rgb(156, 163, 175);--form-valid-color: rgb(5, 150, 105);--form-invalid-color: rgb(220, 38, 38);--form-focus-ring-color: rgba(59, 130, 246, .5)}:root:not(.dark) .form-input{--form-border-color: #e5e7eb;--form-bg-color: white;--form-text-color: black;--form-placeholder-color: rgb(107, 114, 128);--form-valid-color: rgb(5, 150, 105);--form-invalid-color: rgb(220, 38, 38);--form-focus-ring-color: rgba(59, 130, 246, .5)}.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, #f3f4f6);color:var(--form-disabled-text-color, #9ca3af);border-color:var(--form-disabled-border-color, #e5e7eb)}:root.dark .form-input:disabled{--form-disabled-bg-color: rgb(31, 41, 55);--form-disabled-text-color: rgb(107, 114, 128)}.form-field:focus-within{transform:translateY(-2px);transition:transform .2s ease-out}.auth-form-button{position:relative;overflow:hidden;transition:all .3s ease}.auth-form-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.auth-form-button:active:not(:disabled){transform:translateY(0);transition:transform .1s ease}.auth-form-button:disabled{cursor:not-allowed;transform:none;box-shadow:none}.auth-form-button.loading:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);animation:loading-shimmer 1.5s infinite}@keyframes loading-shimmer{0%{left:-100%}to{left:100%}}@keyframes success-pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.form-success-animation{animation:success-pulse .6s ease-out}.form-input::placeholder{color:var(--form-placeholder-color)}.form-field:after{content:none;position:absolute;right:1rem;top:.75rem;width:1.5rem;height:1.5rem;font-weight:700;opacity:0;z-index:1;transition:opacity .2s ease-in-out;text-align:center}@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 #dc262680}.form-input:user-invalid+.validation-message.error{display:block}.form-field:has(.form-input:user-invalid):after{content:"×";color:var(--form-invalid-color);display:flex;align-items:center;justify-content:center;opacity:1;font-size:1.25rem;line-height:1}.form-input:user-valid{border-color:var(--form-valid-color)}.form-input:user-valid:focus{box-shadow:0 0 0 3px #05966980}.form-input:user-valid+.validation-message.success{display:block}.form-field:has(.form-input:user-valid):after{content:"✓";color:var(--form-valid-color);display:flex;align-items:center;justify-content:center;opacity:1;font-size:1.25rem;line-height:1}}.validation-message{display:none;margin-top:.25rem;margin-left:.25rem;font-size:.75rem;transition:all .2s ease-in-out;line-height:1.2}.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, #f59e0b)}.validation-message.info{color:var(--form-info-color, #3b82f6)}.form-input.js-validation-enabled{transition:border-color .2s ease-in-out,box-shadow .2s ease-in-out}}.password-strength{margin-top:.5rem}.strength-bar{height:4px;border-radius:var(--shape-tooltip, 2px);background-color:var(--form-border-color, #e5e7eb);overflow:hidden}.strength-fill{height:100%;transition:width .3s ease-in-out,background-color .3s ease-in-out;border-radius:var(--shape-tooltip, 2px)}.validation-message{animation:fadeInUp .2s ease-in-out}@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{outline:none;box-shadow:0 0 0 3px var(--form-focus-ring-color)}.password-field-container{position:relative}.password-toggle{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--form-placeholder-color);transition:color .2s ease-in-out}.password-toggle:hover{color:var(--form-text-color)}.password-toggle:focus{outline:none;color:var(--form-focus-ring-color)}@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{display:block}.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);display:flex;align-items:center;justify-content:center;opacity:1;font-size:1.25rem;line-height:1}.form-field:has(.form-input:not(:placeholder-shown):valid):after{content:"✓";color:var(--form-valid-color);display:flex;align-items:center;justify-content:center;opacity:1;font-size:1.25rem;line-height:1}.form-field:before{content:"Note: Your browser doesn't support :user-valid/:user-invalid. Using fallback styles.";display:none}}.form-responsive{container-type:inline-size;container-name:form-container}@container form-container (max-width: 450px){.form-responsive{display:flex;flex-direction:column}.form-row{display:flex;flex-direction:column;gap:var(--space-2)}.form-field,.form-group{width:100%;margin-bottom:var(--space-3)}.form-label{display:block;margin-bottom:var(--space-1);font-size:.875rem}.form-input,.form-textarea,.form-select{width:100%;padding:var(--space-2) var(--space-3)}.form-button-group{display:flex;flex-direction:column;gap:var(--space-2)}.form-button-group button{width:100%}}@container form-container (min-width: 451px) and (max-width: 750px){.form-responsive{display:grid;grid-template-columns:1fr;gap:var(--space-4)}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3)}.form-row.full-width{grid-column:1 / -1}.form-field{margin-bottom:0}.form-label{display:block;margin-bottom:var(--space-2);font-size:.9rem}.form-button-group{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3);margin-top:var(--space-4)}}@container form-container (min-width: 751px) and (max-width: 1000px){.form-responsive{display:grid;grid-template-columns:1fr;gap:var(--space-5)}.form-row{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}.form-row.two-col{grid-template-columns:repeat(2,1fr)}.form-row.full-width{grid-column:1 / -1}.form-label{display:block;margin-bottom:var(--space-2);font-size:.95rem}.form-button-group{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4);margin-top:var(--space-6)}}@container form-container (min-width: 1001px){.form-responsive{display:grid;grid-template-columns:1fr;gap:var(--space-6)}.form-row{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-5)}.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{display:block;margin-bottom:var(--space-2);font-size:1rem}.form-button-group{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-5);margin-top:var(--space-8)}}@container form-container (max-width: 450px){.form-legend{font-size:1rem;margin-bottom:var(--space-3)}.form-hint,.form-error{font-size:.75rem}}@container form-container (min-width: 451px) and (max-width: 750px){.form-legend{font-size:1.125rem;margin-bottom:var(--space-4)}.form-hint,.form-error{font-size:.8rem}}@container form-container (min-width: 751px){.form-legend{font-size:1.25rem;margin-bottom:var(--space-5)}.form-hint,.form-error{font-size:.85rem}}.checkbox-group-responsive,.radio-group-responsive{container-type:inline-size;container-name:choice-group}@container choice-group (max-width: 400px){.checkbox-group-responsive,.radio-group-responsive{display:flex;flex-direction:column;gap:var(--space-2)}.choice-item{flex:1 100%}}@container choice-group (min-width: 401px) and (max-width: 700px){.checkbox-group-responsive,.radio-group-responsive{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3)}}@container choice-group (min-width: 701px){.checkbox-group-responsive,.radio-group-responsive{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}}.fieldset-responsive{container-type:inline-size;container-name:fieldset-container}@container fieldset-container (max-width: 500px){.fieldset-responsive{padding:var(--space-3);margin-bottom:var(--space-3)}.fieldset-responsive legend{font-size:.95rem;padding:0 var(--space-2)}}@container fieldset-container (min-width: 501px){.fieldset-responsive{padding:var(--space-4);margin-bottom:var(--space-4)}.fieldset-responsive legend{font-size:1.1rem;padding:0 var(--space-3)}}@layer overrides{.form-input.border-red-500{border-color:var(--form-invalid-color)}.form-input.border-green-500{border-color:var(--form-valid-color)}}@layer utilities{@supports (animation-delay: calc(.1s*sibling-index())){.stagger-fast{--stagger-base: .05s;animation-delay:calc(var(--stagger-base) * (sibling-index() - 1))}.stagger-normal{--stagger-base: .08s;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: .08s;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(.1s*sibling-index())){.stagger-fast>:nth-child(1){animation-delay:0s}.stagger-fast>:nth-child(2){animation-delay:.05s}.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>:nth-child(1){animation-delay:0s}.stagger-normal>:nth-child(2){animation-delay:.08s}.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>:nth-child(1){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}}}@layer utilities{@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}}}@layer utilities{.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{transform:scale(1.05);box-shadow:var(--shadow-elevated, 0 8px 24px rgba(0, 0, 0, .15));z-index:1}}@container scroll-state(snapped: y){.snap-highlight-y:target-current{background-color:var(--surface-card-hover, rgba(0, 0, 0, .05))}}@container scroll-state(stuck: top){.stuck-indicator{box-shadow:var(--shadow-sm, 0 2px 8px rgba(0, 0, 0, .1));background-color:var(--surface-background, #fff)}}}@supports not (container-type: scroll-state){.scroll-hint-x,.scroll-hint-y{opacity:1}}}@layer components{@supports (scroll-target-group: auto){.scroll-spy-nav{scroll-target-group:auto}.scroll-spy-nav a:target-current{color:var(--color-primary-500, #3b82f6);font-weight:600;background-color:var(--color-primary-50, rgba(59, 130, 246, .1));border-inline-start:3px solid currentColor;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, #3b82f6);font-weight:600;background-color:var(--color-primary-50, rgba(59, 130, 246, .1));border-inline-start:3px solid currentColor;padding-inline-start:calc(var(--space-sm, .5rem) - 3px)}}}@layer components{@supports selector(::scroll-marker){.carousel-native::scroll-button(left){content:"←" / "Scroll left";position:absolute;left:var(--space-sm, .5rem);top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;background:var(--surface-card, #fff);box-shadow:var(--shadow-md, 0 4px 12px rgba(0, 0, 0, .15));display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;&:hover{background:var(--surface-card-hover, #f5f5f5)}&:disabled{opacity:.3;cursor:not-allowed}}.carousel-native::scroll-button(right){content:"→" / "Scroll right";position:absolute;right:var(--space-sm, .5rem);top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;background:var(--surface-card, #fff);box-shadow:var(--shadow-md, 0 4px 12px rgba(0, 0, 0, .15));display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;&:hover{background:var(--surface-card-hover, #f5f5f5)}&:disabled{opacity:.3;cursor:not-allowed}}.carousel-native>*::scroll-marker{content:"";width:10px;height:10px;border-radius:50%;background:var(--border-color-default, #ccc);margin:0 4px;cursor:pointer;transition:background-color .2s,transform .2s;&:hover{background:var(--text-secondary, #666);transform:scale(1.2)}}.carousel-native>*::scroll-marker:target-current{background:var(--color-primary-500, #3b82f6);transform:scale(1.3)}.carousel-native::scroll-marker-group{position:absolute;bottom:var(--space-md, 1rem);left:50%;transform:translate(-50%);display:flex;gap:var(--space-xs, .25rem);padding:var(--space-xs, .25rem) var(--space-sm, .5rem);background:var(--surface-background-alpha-80, rgba(255, 255, 255, .8));border-radius:var(--radius-full, 9999px);backdrop-filter:blur(8px)}}}@layer components{@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}}}@layer components{[popover=hint].vocab-tooltip{background:var(--surface-card, #fff);border:1px solid var(--border-color-default, #e5e5e5);border-radius:var(--radius-md, .5rem);box-shadow:var(--shadow-lg, 0 10px 40px rgba(0, 0, 0, .15));padding:var(--space-sm, .5rem) var(--space-md, 1rem);max-width:300px;font-size:.875rem;line-height:1.5;opacity:0;transform:translateY(4px);transition:opacity .15s ease-out,transform .15s ease-out;&:popover-open{opacity:1;transform:translateY(0)}}[popover=hint].help-tooltip{background:var(--color-info-50, #eff6ff);border:1px solid var(--color-info-200, #bfdbfe);color:var(--color-info-800, #1e40af);border-radius:var(--radius-md, .5rem);padding:var(--space-xs, .25rem) var(--space-sm, .5rem);font-size:.75rem;max-width:200px}}@layer overrides{@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}}}: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(.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){>*{display:grid;grid-template-rows:subgrid}}}@media (--dev-mode){body:before{content:"CSS Features:";position:fixed;top:0;right:0;padding:.5rem;background:#000c;color:#fff;font-size:.75rem;z-index:10000}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);position:fixed;top:1.5rem;right:0;padding:.5rem;background:#000c;color:#fff;font-size:.75rem;z-index:10000}}.sidebar-aware-container{transition:padding-left .3s cubic-bezier(.4,0,.2,1)}.route-content-padding{padding:1.5rem}@media (min-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:Mona Sans;src:url(../../../assets/fonts/Mona-Sans.woff2);font-display:swap}@font-face{font-family:OpenDyslexic;src:url(/assets/fonts/accessibility-CSS/OpenDyslexic-Regular.woff2) format("woff2"),url(/assets/fonts/accessibility-CSS/OpenDyslexic-Regular.woff) format("woff");font-weight:400;font-style:normal}@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{display:flex;flex-direction:column;width:100%;gap:0;position:relative}.message-block,.streaming-message{opacity:0!important;border-left:2px solid transparent;padding-left:8px;margin-bottom:4px;width:100%;transform-origin:top left;transition:border-left-color .3s ease;position:relative;display:block}.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;height:100%;width:100%;scroll-behavior:smooth;overflow-x:hidden;background-color:var(--surface-background, #ffffff)}body{height:100%;height:calc(var(--vh, 1vh) * 100);width:100%;overflow-x:hidden;overflow-y:auto;position:relative;-webkit-overflow-scrolling:touch;touch-action:pan-y;max-height:100%;max-width:100vw;margin:0;padding:0;background-color:var(--surface-background, #ffffff);-webkit-tap-highlight-color:transparent;contain:style}body,#app{background-color:var(--surface-background, #ffffff)}body:has(.app-shell-skeleton){background-color:var(--theme-surface-background, #ffffff)}.app{height:100%;width:100%;max-width:100vw;overflow-x:hidden;overflow-y:auto;overscroll-behavior-x:none;overscroll-behavior-y:auto;background-color:var(--surface-background, #ffffff)}pre{font-family:var(--font-mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace);background-color:transparent;color:var(--color-text-code-block);border:none;outline:none;box-shadow:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:geometricPrecision}code{font-family:var(--font-mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace);color:var(--text-tertiary);overflow-x:auto;width:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:geometricPrecision}math{margin-top:1rem}.hljs{border-radius:.5rem;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:geometricPrecision;background-color:transparent;border:none;outline:none;box-shadow:none}.input-prose{max-width:65ch;font-size:1rem;line-height:1.75;white-space:pre-line}.input-prose :where(h1,h2,h3,h4,h5,h6){font-weight:600;margin-top:.25rem;margin-bottom:.25rem}.input-prose :where(hr){margin-top:1rem;margin-bottom:1rem;border-color:#f3f4f6}.input-prose :where(p){margin-top:0;margin-bottom:0}.input-prose :where(img){margin-top:.25rem;margin-bottom:.25rem}.input-prose :where(pre){margin-top:0;margin-bottom:0}.input-prose :where(table){margin-top:0;margin-bottom:0}.input-prose :where(blockquote){margin-top:0;margin-bottom:0}.dark .input-prose :where(hr){border-color:#1f2937}.input-prose-sm{max-width:65ch;font-size:.875rem;line-height:1.75;white-space:pre-line}.input-prose-sm :where(h1,h2,h3,h4,h5,h6){font-weight:600;margin-top:.25rem;margin-bottom:.25rem}.input-prose-sm :where(hr){margin-top:1rem;margin-bottom:1rem;border-color:#f3f4f6}.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){margin-top:0;margin-bottom:0}.input-prose-sm :where(table){margin-top:0;margin-bottom:0}.input-prose-sm :where(blockquote){margin-top:0;margin-bottom:0}.dark .input-prose-sm :where(hr){border-color:#1f2937}.markdown-prose{max-width:65ch;font-size:1rem;line-height:1.75;color:#000}.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){font-weight:600;margin-top:.25rem;margin-bottom:.25rem;color:#333}.markdown-prose :where(hr){margin-top:1rem;margin-bottom:1rem;border-color:#f3f4f6}.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){margin-top:0;margin-bottom:0;width:100%;border-collapse:collapse}.markdown-prose :where(th){color:var(--text-primary);background:var(--surface-card, var(--color-neutral-100));font-weight:600;text-align:left;padding:var(--space-3, .75rem) var(--space-4, 1rem);border-bottom:2px solid var(--border-light, var(--color-neutral-300))}.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, #F5F5F5);background:var(--surface-card, #1F2429);border-bottom-color:var(--border-light, #383E45)}.dark .markdown-prose :where(td){color:var(--text-primary, #F5F5F5);border-bottom-color:var(--border-light, #2B3137)}.markdown-prose :where(blockquote){margin-top:0;margin-bottom:0;border-left:2px solid rgb(243 244 246);font-style:normal;font-weight:400}.markdown-prose :where(ol){color:var(--text-primary)}.markdown-prose :where(ul){color:var(--text-primary)}.dark .markdown-prose :where(hr){border-color:#1f2937}.dark .markdown-prose :where(blockquote){border-color:#1f2937}.dark .markdown-prose{color:var(--text-primary, hsl(210, 11%, 95%))}.dark .markdown-prose :where(h1,h2,h3,h4,h5,h6){color:var(--text-primary, hsl(210, 11%, 95%))}.dark .markdown-prose :where(p,li){color:var(--text-primary, hsl(210, 11%, 95%))}.markdown-prose ol+ul{margin-inline-start:1rem}.markdown-prose-xs{max-width:65ch;font-size:.75rem;line-height:1.75;white-space:pre-line;color:var(--text-primary)}.markdown-prose-xs :where(h1,h2,h3,h4,h5,h6){font-weight:600;margin-top:.25rem;margin-bottom:.25rem}.markdown-prose-xs :where(hr){margin-top:0;margin-bottom:0;border-color:#f3f4f6}.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){margin-top:0;margin-bottom:0;width:100%;border-collapse:collapse}.markdown-prose-xs :where(th){color:var(--text-primary);background:var(--surface-card, var(--color-neutral-100));font-weight:600;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}.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, #F5F5F5);background:var(--surface-card, #1F2429);border-bottom-color:var(--border-light, #383E45)}.dark .markdown-prose-xs :where(td){color:var(--text-primary, #F5F5F5);border-bottom-color:var(--border-light, #2B3137)}.markdown-prose-xs :where(blockquote){margin-top:0;margin-bottom:0;border-left:2px solid rgb(243 244 246);font-style:normal;font-weight:400}.dark .markdown-prose-xs :where(hr){border-color:#1f2937}.dark .markdown-prose-xs :where(blockquote){border-color:#1f2937}.markdown-prose code{color:var(--color-text-code);background-color:var(--color-surface-code);padding:.125rem .25rem;border-radius:.25rem;font-weight:400}.markdown-prose pre{background-color:transparent;color:var(--color-text-code-block);padding:1rem;border-radius:.5rem;border:none;outline:none;box-shadow:none}.markdown-prose pre>code{background-color:transparent;color:var(--color-text-code-block);padding:0;border-radius:0;font-weight:400;font-family:inherit;transition:color var(--transition-duration-fast) var(--transition-timing-ease)}.markdown a{text-decoration:underline;color:var(--color-primary-500)}.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-bottom:.25rem;margin-top:0}.markdown-prose li,.markdown-body li{display:list-item}.markdown-prose li>p,.markdown-body li>p{display:block!important;width:100%!important;margin:0 0 .25rem!important}.markdown-prose li>p+ul,.markdown-prose li>p+ol,.markdown-body li>p+ul,.markdown-body li>p+ol{display:block!important;width:100%!important;margin-top:0!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{display:block!important;width:100%!important;padding-inline-start:1rem!important;padding-left:1rem!important;margin-inline-start:0!important;margin-left:0!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-radius:9999px;border-width:1px}::-webkit-scrollbar{height:.4rem;width:.4rem}::-webkit-scrollbar-track{background-color:transparent;border-radius:9999px}select{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;-webkit-print-color-adjust:exact;print-color-adjust:exact;-moz-appearance:none;-webkit-appearance:none}.katex-mathml{display:none}.scrollbar-hidden:active::-webkit-scrollbar-thumb,.scrollbar-hidden:focus::-webkit-scrollbar-thumb,.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,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.cm-editor{height:100%;width:100%}.cm-scroller{-ms-overflow-style:none;scrollbar-width:none}.cm-scroller::-webkit-scrollbar{display:none}.cm-scroller:active::-webkit-scrollbar-thumb,.cm-scroller:focus::-webkit-scrollbar-thumb,.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{outline:none}:root{--content-bg-sunrish-bloom: linear-gradient(135deg, var(--secondary-pale-light), hsl(17, 3%, 92%)) !important;--cosmic-fusion-gradient: radial-gradient(circle at 50% 50%, hsla(205, 79%, 66%, .1) 0%, hsla(205, 79%, 66%, 0) 30%), radial-gradient(circle at 20% 20%, hsla(37, 93%, 61%, .1) 0%, hsla(37, 93%, 61%, 0) 30%), radial-gradient(circle at 80% 80%, hsla(174, 61%, 56%, .1) 0%, hsla(174, 61%, 56%, 0) 30%), linear-gradient(45deg, hsl(205, 79%, 66%) 0%, hsl(37, 93%, 61%) 50%, hsl(174, 61%, 56%) 100%);--sunrise-bloom-gradient: radial-gradient(ellipse at 50% 150%, hsla(37, 93%, 61%, .15) 0%, hsla(37, 93%, 61%, 0) 40%), radial-gradient(ellipse at 50% -50%, hsla(174, 61%, 56%, .15) 0%, hsla(174, 61%, 56%, 0) 40%), linear-gradient(135deg, hsl(37, 93%, 61%) 0%, hsl(37, 93%, 55%) 30%, hsl(0, 84%, 68%) 60%, hsl(174, 61%, 56%) 100%);--font-24: 1.5rem;--font-32: 2rem;--font-80: 5rem;--spacing-4: .25rem;--spacing-8: .5rem;--spacing-16: 1rem;--shadow-1: hsl(0, 0%, 0%, .1);--radius-base: 4px}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 (max-width: 767px){body,html,.app,.main-content{scrollbar-width:none;-ms-overflow-style:none}body::-webkit-scrollbar,html::-webkit-scrollbar,.app::-webkit-scrollbar,.main-content::-webkit-scrollbar{display:none;width:0}.app{height:calc(var(--vh, 1vh) * 100);padding-bottom:env(safe-area-inset-bottom)}button,.btn,input[type=button],input[type=submit]{min-height:48px;min-width:48px;padding:12px}.page-content{width:100vw;max-width:100vw;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}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}}@media (max-width: 767px){.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{max-width:100vw;width:100vw;overflow-x:hidden}input,textarea,select{font-size:16px!important}.app{height:calc(var(--vh, 1vh) * 100)}}@media (max-width: 767px){.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{touch-action:pan-y!important;-webkit-tap-highlight-color:transparent}}@media (max-width: 767px){.messages-container,.chat-container,.sidebar-container{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scroll-behavior:smooth}body{overscroll-behavior-y:none;position:fixed;width:100%;height:100%}button:active,.interactive-element:active{transform:scale(.97)}.message{max-width:100%;word-break:break-word;-webkit-hyphens:auto;hyphens:auto}.flashcard{touch-action:pan-y;-webkit-tap-highlight-color:transparent}input[type=checkbox],input[type=radio]{min-height:24px;min-width:24px}input:focus,textarea:focus{position:relative;z-index:1}.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);position:sticky;bottom:0;z-index:10}}@media (hover: none) and (pointer: coarse){a,button,.clickable,[role=button]{padding:.5rem}.touch-feedback:active:after{content:"";position:absolute;width:100%;height:100%;top:0;left:0;background:color-mix(in srgb,var(--surface-card) 20%,transparent);border-radius:inherit}}.use-dyslexic-font{font-family:OpenDyslexic,sans-serif!important}.use-dyslexic-font,.dyslexic-font,[data-dyslexic=true] *{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: rgba(255, 255, 255, .85) !important;--text-primary: white !important;--text-secondary: white !important;--text-tertiary: rgba(255, 255, 255, .85) !important;--color-surface-elevated: #1a1a1a !important;--color-surface-raised: #0d0d0d !important;--color-surface: #000000 !important;--surface-background: #000000 !important;--surface-card: #0d0d0d !important;--color-border-subtle: rgba(255, 255, 255, .5) !important;--color-border-themed: white !important;--color-hover-surface: rgba(255, 255, 255, .15) !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,input:focus,select:focus,textarea:focus,a:focus{outline:3px solid var(--color-primary-500);outline-offset:2px}.content-container{background-color:var(--surface-background);min-height:100vh}.message-container{background-color:var(--surface-card)}.chat-container{background-color:var(--surface-background)}.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 (max-width: 768px){:root{--navbar-height: var(--navbar-height-mobile)}}html{scroll-behavior:smooth}body{contain:style}.navbar-transition{transition:transform .3s cubic-bezier(.4,0,.2,1);will-change:transform;transform:translateZ(0)}.page-content{padding-top:var(--navbar-height);transition:padding-top .3s ease-out;transform:translateY(0);transition:padding-top .3s ease-out,transform .3s ease-out}@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{transform:translateZ(0);backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.navbar-transition:focus-within{transform:translateY(0)!important}
