:root{--color-neutral-950: #0c0a0f;--color-neutral-900: #151318;--color-neutral-850: #1a171f;--color-neutral-800: #1f1b25;--color-neutral-750: #221e29;--color-neutral-700: #28232f;--color-neutral-650: #2e2936;--color-neutral-600: #322d3a;--color-neutral-550: #423c4b;--color-neutral-500: #57505f;--color-neutral-400: #6b6473;--color-neutral-350: #7a7382;--color-neutral-300: #8a8391;--color-neutral-200: #b5b0ba;--color-neutral-100: #e8e6ea;--color-neutral-50: #f6f5f7;--color-cyan-600: #0891b2;--color-cyan-500: #06b6d4;--color-cyan-400: #22d3ee;--color-cyan-300: #67e8f9;--color-cyan-muted: rgba(6, 182, 212, .15);--color-cyan-glow: rgba(6, 182, 212, .4);--color-violet-600: #7c3aed;--color-violet-500: #8b5cf6;--color-violet-400: #a78bfa;--color-violet-300: #c4b5fd;--color-violet-muted: rgba(139, 92, 246, .15);--color-violet-glow: rgba(139, 92, 246, .4);--color-emerald-600: #059669;--color-emerald-500: #10b981;--color-emerald-400: #34d399;--color-emerald-300: #6ee7b7;--color-emerald-muted: rgba(16, 185, 129, .15);--color-emerald-glow: rgba(16, 185, 129, .4);--color-amber-600: #d97706;--color-amber-500: #f59e0b;--color-amber-400: #fbbf24;--color-amber-300: #fcd34d;--color-amber-muted: rgba(245, 158, 11, .15);--color-amber-glow: rgba(245, 158, 11, .3);--color-red-600: #dc2626;--color-red-500: #ef4444;--color-red-400: #f87171;--color-red-muted: rgba(239, 68, 68, .15);--color-blue-600: #2563eb;--color-blue-500: #3b82f6;--color-blue-400: #60a5fa;--color-blue-muted: rgba(59, 130, 246, .15);--color-pink-600: #db2777;--color-pink-500: #ec4899;--color-pink-400: #f472b6;--color-pink-muted: rgba(236, 72, 153, .15);--color-orange-600: #ea580c;--color-orange-500: #f97316;--color-orange-400: #fb923c;--color-orange-300: #fdba74;--color-orange-muted: rgba(249, 115, 22, .15);--color-orange-glow: rgba(249, 115, 22, .4);--color-rose-600: #e11d48;--color-rose-500: #f43f5e;--color-rose-400: #fb7185;--color-rose-300: #fda4af;--color-rose-muted: rgba(244, 63, 94, .15);--color-rose-glow: rgba(244, 63, 94, .4);--color-indigo-600: #4f46e5;--color-indigo-500: #6366f1;--color-indigo-400: #818cf8;--color-indigo-300: #a5b4fc;--color-indigo-muted: rgba(99, 102, 241, .15);--color-indigo-glow: rgba(99, 102, 241, .4);--color-sky-600: #0284c7;--color-sky-500: #0ea5e9;--color-sky-400: #38bdf8;--color-sky-300: #7dd3fc;--color-sky-muted: rgba(14, 165, 233, .15);--color-sky-glow: rgba(14, 165, 233, .4);--color-terracotta-600: #b53518;--color-terracotta-500: #d24228;--color-terracotta-400: #e05c3a;--color-terracotta-300: #f08262;--color-terracotta-muted: rgba(210, 66, 40, .15);--color-terracotta-glow: rgba(210, 66, 40, .4)}@supports (color: oklch(0 0 0)){:root{--color-neutral-950: oklch(.08 .015 280);--color-neutral-900: oklch(.12 .015 280);--color-neutral-850: oklch(.14 .015 280);--color-neutral-800: oklch(.16 .015 280);--color-neutral-750: oklch(.17 .015 280);--color-neutral-700: oklch(.19 .015 280);--color-neutral-650: oklch(.21 .015 280);--color-neutral-600: oklch(.22 .015 280);--color-neutral-550: oklch(.28 .015 280);--color-neutral-500: oklch(.35 .015 280);--color-neutral-400: oklch(.42 .01 280);--color-neutral-350: oklch(.47 .01 280);--color-neutral-300: oklch(.52 .01 280);--color-neutral-200: oklch(.7 .008 280);--color-neutral-100: oklch(.92 .005 280);--color-neutral-50: oklch(.97 .003 280);--color-cyan-600: oklch(.6 .145 203);--color-cyan-500: oklch(.715 .143 203);--color-cyan-400: oklch(.79 .135 195);--color-cyan-300: oklch(.87 .11 195);--color-violet-600: oklch(.54 .245 293);--color-violet-500: oklch(.61 .22 293);--color-violet-400: oklch(.69 .185 293);--color-violet-300: oklch(.78 .145 293);--color-emerald-600: oklch(.58 .135 163);--color-emerald-500: oklch(.68 .145 163);--color-emerald-400: oklch(.76 .135 163);--color-emerald-300: oklch(.84 .115 163);--color-amber-600: oklch(.605 .15 68);--color-amber-500: oklch(.73 .16 70);--color-amber-400: oklch(.82 .155 80);--color-amber-300: oklch(.88 .14 85);--color-red-600: oklch(.505 .213 27);--color-red-500: oklch(.57 .215 27);--color-red-400: oklch(.65 .18 27);--color-blue-600: oklch(.52 .195 260);--color-blue-500: oklch(.6 .185 260);--color-blue-400: oklch(.7 .155 255);--color-pink-600: oklch(.55 .22 350);--color-pink-500: oklch(.65 .22 350);--color-pink-400: oklch(.73 .18 350);--color-orange-600: oklch(.55 .17 46);--color-orange-500: oklch(.65 .18 48);--color-orange-400: oklch(.73 .15 55);--color-orange-300: oklch(.81 .12 65);--color-rose-600: oklch(.52 .22 12);--color-rose-500: oklch(.6 .21 12);--color-rose-400: oklch(.7 .17 12);--color-rose-300: oklch(.78 .13 12);--color-indigo-600: oklch(.51 .21 275);--color-indigo-500: oklch(.58 .2 275);--color-indigo-400: oklch(.68 .17 275);--color-indigo-300: oklch(.77 .13 275);--color-sky-600: oklch(.58 .155 230);--color-sky-500: oklch(.68 .155 230);--color-sky-400: oklch(.76 .14 230);--color-sky-300: oklch(.83 .11 230);--color-terracotta-600: oklch(.5 .17 30);--color-terracotta-500: oklch(.56 .19 30);--color-terracotta-400: oklch(.63 .17 32);--color-terracotta-300: oklch(.72 .13 34)}}@supports (color: color-mix(in oklch,red 50%,blue)){:root{--color-cyan-muted: color-mix(in oklch, var(--color-cyan-500) 15%, transparent);--color-cyan-glow: color-mix(in oklch, var(--color-cyan-500) 40%, transparent);--color-violet-muted: color-mix(in oklch, var(--color-violet-500) 15%, transparent);--color-violet-glow: color-mix(in oklch, var(--color-violet-500) 40%, transparent);--color-emerald-muted: color-mix(in oklch, var(--color-emerald-500) 15%, transparent);--color-emerald-glow: color-mix(in oklch, var(--color-emerald-500) 40%, transparent);--color-amber-muted: color-mix(in oklch, var(--color-amber-500) 15%, transparent);--color-amber-glow: color-mix(in oklch, var(--color-amber-500) 30%, transparent);--color-red-muted: color-mix(in oklch, var(--color-red-500) 15%, transparent);--color-blue-muted: color-mix(in oklch, var(--color-blue-500) 15%, transparent);--color-pink-muted: color-mix(in oklch, var(--color-pink-500) 15%, transparent);--color-orange-muted: color-mix(in oklch, var(--color-orange-500) 15%, transparent);--color-orange-glow: color-mix(in oklch, var(--color-orange-500) 40%, transparent);--color-rose-muted: color-mix(in oklch, var(--color-rose-500) 15%, transparent);--color-rose-glow: color-mix(in oklch, var(--color-rose-500) 40%, transparent);--color-indigo-muted: color-mix(in oklch, var(--color-indigo-500) 15%, transparent);--color-indigo-glow: color-mix(in oklch, var(--color-indigo-500) 40%, transparent);--color-sky-muted: color-mix(in oklch, var(--color-sky-500) 15%, transparent);--color-sky-glow: color-mix(in oklch, var(--color-sky-500) 40%, transparent);--color-terracotta-muted: color-mix(in oklch, var(--color-terracotta-500) 15%, transparent);--color-terracotta-glow: color-mix(in oklch, var(--color-terracotta-500) 40%, transparent)}}:root{--space-0: 0;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--radius-none: 0;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 24px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .08);--shadow-md: 0 4px 12px rgba(0, 0, 0, .12);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .18);--shadow-xl: 0 12px 40px rgba(0, 0, 0, .24);--duration-fast: .15s;--duration-normal: .2s;--duration-slow: .3s;--duration-slower: .5s;--ease-default: ease;--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-bounce: cubic-bezier(.16, 1, .3, 1);--z-base: 0;--z-dropdown: 100;--z-sticky: 200;--z-fixed: 300;--z-modal-backdrop: 400;--z-modal: 500;--z-popover: 600;--z-tooltip: 700;--z-toast: 800}@supports (color: color-mix(in oklch,red 50%,blue)){:root{--shadow-sm: 0 1px 2px color-mix(in oklch, oklch(0 0 0) 8%, transparent);--shadow-md: 0 4px 12px color-mix(in oklch, oklch(0 0 0) 12%, transparent);--shadow-lg: 0 8px 24px color-mix(in oklch, oklch(0 0 0) 18%, transparent);--shadow-xl: 0 12px 40px color-mix(in oklch, oklch(0 0 0) 24%, transparent)}}:root{--font-display: var(--font-space-grotesk, "Space Grotesk"), system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-body: var(--font-space-grotesk, "Space Grotesk"), system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-ui: var(--font-space-grotesk, "Space Grotesk"), system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: var(--font-jetbrains-mono, "JetBrains Mono"), "Fira Code", "Consolas", monospace;--font-editorial-display: var(--font-playfair, "Playfair Display"), Georgia, "Times New Roman", serif;--font-editorial-body: var(--font-source-serif, "Source Serif 4"), Georgia, serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 2rem;--text-4xl: 2.5rem;--text-5xl: 3rem;--leading-none: 1;--leading-tight: 1.2;--leading-snug: 1.3;--leading-normal: 1.4;--leading-relaxed: 1.5;--leading-loose: 1.75;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--tracking-tighter: -.05em;--tracking-tight: -.025em;--tracking-normal: 0;--tracking-wide: .025em;--tracking-wider: .05em;--tracking-widest: .1em}.ui-theme{--heading-xl-size: var(--text-3xl);--heading-xl-leading: var(--leading-tight);--heading-xl-weight: var(--font-semibold);--heading-xl-tracking: var(--tracking-tight);--heading-lg-size: var(--text-2xl);--heading-lg-leading: var(--leading-snug);--heading-lg-weight: var(--font-semibold);--heading-lg-tracking: var(--tracking-tight);--heading-md-size: var(--text-xl);--heading-md-leading: var(--leading-normal);--heading-md-weight: var(--font-semibold);--heading-md-tracking: var(--tracking-normal);--heading-sm-size: var(--text-lg);--heading-sm-leading: var(--leading-normal);--heading-sm-weight: var(--font-medium);--heading-sm-tracking: var(--tracking-normal);--body-lg-size: var(--text-lg);--body-lg-leading: var(--leading-relaxed);--body-md-size: var(--text-base);--body-md-leading: var(--leading-relaxed);--body-sm-size: var(--text-sm);--body-sm-leading: var(--leading-relaxed);--label-size: var(--text-xs);--label-weight: var(--font-medium);--label-tracking: var(--tracking-widest);--label-transform: uppercase}.ui-theme{--surface-bg: var(--theme-bg, #f8fafc);--surface-elevated: var(--theme-elevated, #ffffff);--surface-default: var(--theme-surface, #f1f5f9);--surface-hover: var(--theme-surface-hover, #e2e8f0);--surface-active: var(--theme-surface-active, #cbd5e1);--border-subtle: var(--theme-border-subtle, #e2e8f0);--border-default: var(--theme-border, #cbd5e1);--border-emphasis: var(--theme-border-emphasis, #94a3b8);--text-primary: var(--theme-text, #1e293b);--text-secondary: var(--theme-text-muted, #64748b);--text-tertiary: var(--theme-text-subtle, #94a3b8);--text-disabled: #94a3b8;--color-primary: var(--theme-primary, #0891b2);--color-primary-hover: var(--theme-primary-hover, #06b6d4);--color-primary-muted: var(--theme-primary-muted, rgba(8, 145, 178, .1));--color-primary-glow: var(--theme-primary-glow, rgba(8, 145, 178, .2));--color-primary-text: var(--theme-primary-text, #ffffff);--color-accent: var(--theme-accent, #d97706);--color-accent-hover: var(--theme-accent-hover, #f59e0b);--color-accent-muted: var(--theme-accent-muted, rgba(217, 119, 6, .1));--color-success: #059669;--color-success-hover: #10b981;--color-success-muted: rgba(5, 150, 105, .1);--color-destructive: #dc2626;--color-destructive-hover: #ef4444;--color-destructive-muted: rgba(220, 38, 38, .1);--color-warning: #d97706;--color-warning-hover: #f59e0b;--color-warning-muted: rgba(217, 119, 6, .1);--color-info: #2563eb;--color-info-hover: #3b82f6;--color-info-muted: rgba(37, 99, 235, .1);--shadow-card: 0 4px 12px rgba(0, 0, 0, .08);--shadow-dropdown: 0 8px 24px rgba(0, 0, 0, .12);--shadow-modal: 0 12px 40px rgba(0, 0, 0, .15);--glow-primary: 0 0 20px var(--color-primary-glow);--glow-accent: 0 0 20px var(--color-accent-muted)}@supports (color: oklch(0 0 0)){.ui-theme{--surface-bg: var(--theme-bg, oklch(.985 .005 250));--surface-elevated: var(--theme-elevated, oklch(1 0 0));--surface-default: var(--theme-surface, oklch(.97 .005 250));--surface-hover: var(--theme-surface-hover, oklch(.93 .008 250));--surface-active: var(--theme-surface-active, oklch(.87 .01 250));--border-subtle: var(--theme-border-subtle, oklch(.93 .008 250));--border-default: var(--theme-border, oklch(.87 .01 250));--border-emphasis: var(--theme-border-emphasis, oklch(.7 .015 250));--text-primary: var(--theme-text, oklch(.2 .02 260));--text-secondary: var(--theme-text-muted, oklch(.4 .015 260));--text-tertiary: var(--theme-text-subtle, oklch(.5 .015 260));--text-disabled: oklch(.7 .015 250);--color-primary: var(--theme-primary, oklch(.6 .145 203));--color-primary-hover: var(--theme-primary-hover, oklch(.715 .143 203));--color-primary-text: var(--theme-primary-text, #ffffff);--color-accent: var(--theme-accent, oklch(.605 .15 68));--color-accent-hover: var(--theme-accent-hover, oklch(.73 .16 70));--color-success: oklch(.596 .145 163);--color-success-hover: oklch(.68 .145 163);--color-destructive: oklch(.505 .213 27);--color-destructive-hover: oklch(.57 .215 27);--color-warning: oklch(.605 .15 68);--color-warning-hover: oklch(.73 .16 70);--color-info: oklch(.52 .195 260);--color-info-hover: oklch(.6 .185 260)}}@supports (color: color-mix(in oklch,red 50%,blue)){.ui-theme{--color-primary-muted: var(--theme-primary-muted, color-mix(in oklch, oklch(.6 .145 203) 10%, transparent));--color-primary-glow: var(--theme-primary-glow, color-mix(in oklch, oklch(.6 .145 203) 20%, transparent));--color-accent-muted: var(--theme-accent-muted, color-mix(in oklch, oklch(.605 .15 68) 10%, transparent));--color-success-muted: color-mix(in oklch, oklch(.596 .145 163) 10%, transparent);--color-destructive-muted: color-mix(in oklch, oklch(.505 .213 27) 10%, transparent);--color-warning-muted: color-mix(in oklch, oklch(.605 .15 68) 10%, transparent);--color-info-muted: color-mix(in oklch, oklch(.52 .195 260) 10%, transparent);--shadow-card: 0 4px 12px color-mix(in oklch, oklch(0 0 0) 8%, transparent);--shadow-dropdown: 0 8px 24px color-mix(in oklch, oklch(0 0 0) 12%, transparent);--shadow-modal: 0 12px 40px color-mix(in oklch, oklch(0 0 0) 15%, transparent)}}.dark .ui-theme,.ui-theme.dark,.ui-theme[data-mode=dark]{--surface-bg: var(--theme-bg, var(--color-neutral-950));--surface-elevated: var(--theme-elevated, var(--color-neutral-900));--surface-default: var(--theme-surface, var(--color-neutral-800));--surface-hover: var(--theme-surface-hover, var(--color-neutral-700));--surface-active: var(--theme-surface-active, var(--color-neutral-600));--border-subtle: var(--theme-border-subtle, var(--color-neutral-700));--border-default: var(--theme-border, var(--color-neutral-650));--border-emphasis: var(--theme-border-emphasis, var(--color-neutral-550));--text-primary: var(--theme-text, var(--color-neutral-100));--text-secondary: var(--theme-text-muted, var(--color-neutral-300));--text-tertiary: var(--theme-text-subtle, var(--color-neutral-350));--text-disabled: var(--color-neutral-500);--color-primary: var(--theme-primary, var(--color-cyan-500));--color-primary-hover: var(--theme-primary-hover, var(--color-cyan-400));--color-primary-muted: var(--theme-primary-muted, var(--color-cyan-muted));--color-primary-glow: var(--theme-primary-glow, var(--color-cyan-glow));--color-primary-text: var(--theme-primary-text, #ffffff);--color-accent: var(--theme-accent, var(--color-amber-500));--color-accent-hover: var(--theme-accent-hover, var(--color-amber-400));--color-accent-muted: var(--theme-accent-muted, var(--color-amber-muted));--color-success: var(--color-emerald-500);--color-success-hover: var(--color-emerald-400);--color-success-muted: var(--color-emerald-muted);--color-destructive: var(--color-red-500);--color-destructive-hover: var(--color-red-400);--color-destructive-muted: var(--color-red-muted);--color-warning: var(--color-amber-500);--color-warning-hover: var(--color-amber-400);--color-warning-muted: var(--color-amber-muted);--color-info: var(--color-blue-500);--color-info-hover: var(--color-blue-400);--color-info-muted: var(--color-blue-muted);--shadow-card: var(--shadow-md);--shadow-dropdown: var(--shadow-lg);--shadow-modal: var(--shadow-xl);--glow-primary: 0 0 20px var(--color-primary-glow);--glow-accent: 0 0 20px var(--color-accent-muted)}.ui-theme{--focus-ring-color: var(--color-primary);--focus-ring-offset: 2px;--focus-ring-width: 2px;--focus-ring: var(--focus-ring-width) solid var(--focus-ring-color);--color-ring: var(--color-primary)}.ui-theme{--overlay-light: rgba(0, 0, 0, .5);--overlay-medium: rgba(0, 0, 0, .7);--overlay-heavy: rgba(0, 0, 0, .85)}@supports (color: color-mix(in oklch,red 50%,blue)){.ui-theme{--overlay-light: color-mix(in oklch, oklch(0 0 0) 50%, transparent);--overlay-medium: color-mix(in oklch, oklch(0 0 0) 70%, transparent);--overlay-heavy: color-mix(in oklch, oklch(0 0 0) 85%, transparent)}}.ui-theme{--container-default: 1600px;--container-narrow: 56rem;--container-wide: 1920px;--container-ultrawide: 2560px;--shell-padding-x: clamp(1rem, 2.5vw, 2.5rem);--shell-padding-y: clamp(.75rem, 1.5vw, 1.5rem);--contained-padding: clamp(.75rem, 2vw, 1.5rem);--button-radius: var(--radius-md);--button-font: var(--font-ui);--button-weight: var(--font-medium);--button-transition: var(--duration-fast) var(--ease-default);--button-sm-height: 2rem;--button-sm-padding: var(--space-3);--button-sm-font-size: var(--text-sm);--button-md-height: 2.5rem;--button-md-padding: var(--space-4);--button-md-font-size: var(--text-sm);--button-lg-height: 3rem;--button-lg-padding: var(--space-6);--button-lg-font-size: var(--text-base);--button-icon-size: 2.5rem;--button-primary-bg: var(--color-primary);--button-primary-text: var(--color-primary-text);--button-primary-hover-bg: var(--color-primary-hover);--button-primary-glow: var(--glow-primary);--button-secondary-bg: var(--surface-default);--button-secondary-text: var(--text-primary);--button-secondary-border: var(--border-default);--button-secondary-hover-bg: var(--surface-hover);--button-ghost-bg: transparent;--button-ghost-text: var(--text-secondary);--button-ghost-hover-bg: var(--surface-hover);--button-ghost-hover-text: var(--text-primary);--button-destructive-bg: var(--color-destructive);--button-destructive-text: #ffffff;--button-destructive-hover-bg: var(--color-destructive-hover);--button-accent-bg: var(--color-accent);--button-accent-text: #000000;--button-accent-hover-bg: var(--color-accent-hover);--card-bg: var(--surface-default);--card-border: var(--border-default);--card-radius: var(--radius-lg);--card-padding: var(--space-6);--card-shadow: var(--shadow-card);--card-hover-bg: var(--surface-hover);--card-hover-border: var(--border-emphasis);--card-transition: var(--duration-normal) var(--ease-default);--card-padding-sm: var(--space-3);--card-padding-md: var(--space-6);--card-padding-lg: var(--space-8);--card-gap-sm: var(--space-2);--card-gap-md: var(--space-4);--card-gap-lg: var(--space-6);--card-interactive-hover-transform: translateY(-2px);--card-interactive-hover-shadow: var(--shadow-lg);--card-glow-color: var(--color-primary-muted);--card-glow-opacity: 0;--card-glow-hover-opacity: 1;--input-bg: var(--surface-elevated);--input-border: var(--border-default);--input-radius: var(--radius-md);--input-height: 2.75rem;--input-padding-x: var(--space-3);--input-font-size: var(--text-sm);--input-text: var(--text-primary);--input-placeholder: var(--text-tertiary);--input-focus-border: var(--color-primary);--input-focus-ring: var(--focus-ring);--input-disabled-bg: var(--surface-default);--input-disabled-text: var(--text-disabled);--input-error-border: var(--color-destructive);--select-bg: var(--input-bg);--select-border: var(--input-border);--select-radius: var(--input-radius);--select-height: var(--input-height);--textarea-min-height: 5rem;--badge-radius: var(--radius-full);--badge-padding-x: var(--space-2);--badge-padding-y: var(--space-1);--badge-font-size: var(--text-xs);--badge-font-weight: var(--font-medium);--badge-default-bg: var(--surface-default);--badge-default-text: var(--text-secondary);--badge-primary-bg: var(--color-primary-muted);--badge-primary-text: var(--color-primary);--badge-success-bg: var(--color-success-muted);--badge-success-text: var(--color-success);--badge-warning-bg: var(--color-warning-muted);--badge-warning-text: var(--color-warning);--badge-destructive-bg: var(--color-destructive-muted);--badge-destructive-text: var(--color-destructive);--badge-info-bg: var(--color-info-muted);--badge-info-text: var(--color-info);--badge-accent-bg: var(--color-accent-muted);--badge-accent-text: var(--color-accent);--color-status-success: var(--color-success);--color-status-success-subtle: var(--color-success-muted);--color-status-warning: var(--color-warning);--color-status-warning-subtle: var(--color-warning-muted);--color-status-danger: var(--color-destructive);--color-status-danger-subtle: var(--color-destructive-muted);--color-status-info: var(--color-info);--color-status-info-subtle: var(--color-info-muted);--color-status-neutral: var(--color-muted-foreground);--color-status-neutral-subtle: var(--color-muted);--table-header-bg: var(--surface-elevated);--table-header-text: var(--text-secondary);--table-row-bg: transparent;--table-row-hover: var(--surface-hover);--table-row-selected-bg: var(--color-primary-muted);--table-border: var(--border-default);--table-border-subtle: var(--border-subtle);--table-cell-text: var(--text-primary);--table-cell-padding-x: var(--space-4);--table-cell-padding-y: var(--space-3);--table-footer-bg: var(--surface-elevated);--dialog-bg: var(--surface-default);--dialog-border: var(--border-default);--dialog-radius: var(--radius-xl);--dialog-shadow: var(--shadow-modal);--dialog-padding: var(--space-6);--dialog-overlay: var(--overlay-medium);--dropdown-bg: var(--surface-default);--dropdown-border: var(--border-default);--dropdown-radius: var(--radius-md);--dropdown-shadow: var(--shadow-dropdown);--dropdown-item-hover-bg: var(--surface-hover);--dropdown-item-padding-x: var(--space-3);--dropdown-item-padding-y: var(--space-2);--sidebar-width: 220px;--sidebar-collapsed-width: 52px;--sidebar-bg: var(--sidebar, var(--surface-elevated));--sidebar-border: var(--border-default);--sidebar-item-radius: var(--radius-md);--sidebar-item-padding-x: var(--space-3);--sidebar-item-padding-y: var(--space-2);--sidebar-item-hover-bg: var(--sidebar-accent, var(--surface-hover));--sidebar-item-active-bg: var(--sidebar-primary, var(--color-primary));--sidebar-item-active-text: var(--sidebar-primary-foreground, var(--color-primary-text));--sidebar-section-label: .6875rem;--sidebar-item-text: .875rem;--sidebar-brand-text: 1rem;--sidebar-active-glow-from: color-mix(in oklch, var(--sidebar-primary, var(--color-primary)) 15%, transparent);--sidebar-active-glow-to: color-mix(in oklch, var(--sidebar-primary, var(--color-primary)) 5%, transparent);--sidebar-active-shadow: 0 0 12px color-mix(in oklch, var(--sidebar-primary, var(--color-primary)) 20%, transparent);--sidebar-gradient-from: color-mix(in oklch, var(--sidebar-primary, var(--color-primary)) 3%, var(--sidebar, var(--surface-elevated)));--sidebar-gradient-to: var(--sidebar, var(--surface-elevated));--sidebar-edge-shadow: 1px 0 8px -2px color-mix(in oklch, var(--sidebar-primary, var(--color-primary)) 10%, transparent);--sidebar-edge-shadow-rtl: -1px 0 8px -2px color-mix(in oklch, var(--sidebar-primary, var(--color-primary)) 10%, transparent);--sidebar-brand-glow: 0 0 16px color-mix(in oklch, var(--sidebar-primary, var(--color-primary)) 25%, transparent);--sidebar-user-card-bg: color-mix(in oklch, var(--sidebar-primary, var(--color-primary)) 8%, var(--sidebar-accent, var(--surface-hover)));--sidebar-user-card-border: color-mix(in oklch, var(--sidebar-primary, var(--color-primary)) 12%, var(--sidebar-border, var(--border-default)));--sidebar-hover-glow: 0 0 8px color-mix(in oklch, var(--sidebar-primary, var(--color-primary)) 10%, transparent);--sidebar-spring: cubic-bezier(.34, 1.56, .64, 1);--header-height: 64px;--header-bg: var(--surface-elevated);--header-border: var(--border-default);--tooltip-bg: var(--color-neutral-800);--tooltip-text: var(--text-primary);--tooltip-radius: var(--radius-sm);--tooltip-padding-x: var(--space-2);--tooltip-padding-y: var(--space-1);--tooltip-font-size: var(--text-xs);--avatar-sm: 2rem;--avatar-md: 2.5rem;--avatar-lg: 3rem;--avatar-xl: 4rem;--avatar-radius: var(--radius-full);--avatar-border: 2px solid var(--border-default);--skeleton-bg: var(--surface-default, var(--color-muted));--skeleton-shimmer-from: transparent;--skeleton-shimmer-peak: rgba(255, 255, 255, .04);--skeleton-shimmer-to: transparent;--skeleton-duration: 2.5s;--skeleton-radius: var(--radius-md);--progress-bg: var(--surface-default);--progress-fill: var(--color-primary);--progress-height: .5rem;--progress-radius: var(--radius-full);--tab-border: var(--border-default);--tab-text: var(--text-secondary);--tab-hover-text: var(--text-primary);--tab-active-text: var(--color-primary);--tab-active-border: var(--color-primary);--tab-padding-x: var(--space-4);--tab-padding-y: var(--space-2);--touch-target-min: 2.75rem;--textarea-min-height-sm: 60px;--textarea-min-height-md: 100px;--textarea-min-height-lg: 140px;--textarea-reply-min-height: 64px;--textarea-input-min-height: 300px;--loading-min-height-sm: 200px;--loading-min-height-md: 250px;--loading-min-height-md-tablet: 300px;--loading-min-height-md-desktop: 400px;--content-cell-min-height: 100px;--health-indicator-height-sm: 2rem;--health-indicator-height-lg: 3rem;--tabs-list-min-height: 3rem;--sidebar-sub-item-height: 2.25rem;--kanban-dropzone-min-height: 120px;--color-overlay-dark: rgb(0 0 0 / .2);--color-overlay-light: rgb(255 255 255 / .9);--shadow-focus-ring: 0 0 0 4px var(--color-ring);--shadow-glow-primary: 0 0 12px color-mix(in srgb, var(--color-primary) 40%, transparent);--shadow-elevation-subtle: 0 4px 20px color-mix(in srgb, var(--color-border) 50%, transparent);--shadow-node: 0 2px 4px color-mix(in srgb, var(--color-foreground) 10%, transparent)}@supports (color: oklch(from red l c h)){.ui-theme{--shadow-glow-primary: 0 0 12px oklch(from var(--color-primary) l c h / .4)}}.bg-\[var\(--button-primary-bg\)\]{background-color:var(--button-primary-bg)}.text-\[var\(--button-primary-text\)\]{color:var(--button-primary-text)}.hover\:bg-\[var\(--button-primary-hover-bg\)\]:hover{background-color:var(--button-primary-hover-bg)}.hover\:shadow-\[var\(--button-primary-glow\)\]:hover{box-shadow:var(--button-primary-glow)}.bg-\[var\(--button-secondary-bg\)\]{background-color:var(--button-secondary-bg)}.text-\[var\(--button-secondary-text\)\]{color:var(--button-secondary-text)}.border-\[var\(--button-secondary-border\)\]{border-color:var(--button-secondary-border)}.hover\:bg-\[var\(--button-secondary-hover-bg\)\]:hover{background-color:var(--button-secondary-hover-bg)}.bg-\[var\(--button-ghost-bg\)\]{background-color:var(--button-ghost-bg)}.text-\[var\(--button-ghost-text\)\]{color:var(--button-ghost-text)}.hover\:bg-\[var\(--button-ghost-hover-bg\)\]:hover{background-color:var(--button-ghost-hover-bg)}.hover\:text-\[var\(--button-ghost-hover-text\)\]:hover{color:var(--button-ghost-hover-text)}.bg-\[var\(--button-destructive-bg\)\]{background-color:var(--button-destructive-bg)}.text-\[var\(--button-destructive-text\)\]{color:var(--button-destructive-text)}.hover\:bg-\[var\(--button-destructive-hover-bg\)\]:hover{background-color:var(--button-destructive-hover-bg)}.bg-\[var\(--button-accent-bg\)\]{background-color:var(--button-accent-bg)}.text-\[var\(--button-accent-text\)\]{color:var(--button-accent-text)}.hover\:bg-\[var\(--button-accent-hover-bg\)\]:hover{background-color:var(--button-accent-hover-bg)}.text-\[var\(--text-primary\)\]{color:var(--text-primary)}.border-\[var\(--border-default\)\]{border-color:var(--border-default)}.hover\:bg-\[var\(--surface-hover\)\]:hover{background-color:var(--surface-hover)}.hover\:border-\[var\(--border-emphasis\)\]:hover{border-color:var(--border-emphasis)}.text-\[var\(--color-primary\)\]{color:var(--color-primary)}.focus-visible\:ring-\[var\(--focus-ring-color\)\]:focus-visible{--tw-ring-color: var(--focus-ring-color)}.focus-visible\:ring-offset-\[var\(--surface-bg\)\]:focus-visible{--tw-ring-offset-color: var(--surface-bg)}.max-w-\[var\(--container-default\,1600px\)\]{max-width:var(--container-default, 1600px)}.max-w-\[var\(--container-narrow\,56rem\)\]{max-width:var(--container-narrow, 56rem)}.max-w-\[var\(--container-wide\,1920px\)\]{max-width:var(--container-wide, 1920px)}.max-w-\[var\(--container-ultrawide\,2560px\)\]{max-width:var(--container-ultrawide, 2560px)}.px-\[var\(--shell-padding-x\)\]{padding-left:var(--shell-padding-x);padding-right:var(--shell-padding-x)}.py-\[var\(--shell-padding-y\)\]{padding-top:var(--shell-padding-y);padding-bottom:var(--shell-padding-y)}.px-\[var\(--contained-padding\)\]{padding-left:var(--contained-padding);padding-right:var(--contained-padding)}.py-\[var\(--contained-padding\)\]{padding-top:var(--contained-padding);padding-bottom:var(--contained-padding)}.py-\[calc\(var\(--contained-padding\)\*0\.75\)\]{padding-top:calc(var(--contained-padding) * .75);padding-bottom:calc(var(--contained-padding) * .75)}.px-\[clamp\(0\.5rem\,1\.5vw\,1rem\)\]{padding-left:clamp(.5rem,1.5vw,1rem);padding-right:clamp(.5rem,1.5vw,1rem)}.py-\[clamp\(0\.5rem\,1vw\,0\.75rem\)\]{padding-top:clamp(.5rem,1vw,.75rem);padding-bottom:clamp(.5rem,1vw,.75rem)}.px-\[clamp\(1rem\,3vw\,2\.5rem\)\]{padding-left:clamp(1rem,3vw,2.5rem);padding-right:clamp(1rem,3vw,2.5rem)}.py-\[clamp\(0\.75rem\,2vw\,2rem\)\]{padding-top:clamp(.75rem,2vw,2rem);padding-bottom:clamp(.75rem,2vw,2rem)}:root{--animation-duration-fast: .15s;--animation-duration-normal: .2s;--animation-duration-slow: .3s;--animation-duration-slower: .4s;--animation-easing-ease-out: ease-out;--animation-easing-ease-in-out: ease-in-out;--animation-easing-spring: cubic-bezier(.34, 1.56, .64, 1);--animation-stagger-fast: 30ms;--animation-stagger-normal: 50ms;--animation-stagger-slow: 80ms}@media (prefers-reduced-motion: reduce){:root{--animation-duration-fast: 0ms;--animation-duration-normal: 0ms;--animation-duration-slow: 0ms;--animation-duration-slower: 0ms;--animation-stagger-fast: 0ms;--animation-stagger-normal: 0ms;--animation-stagger-slow: 0ms}}.ui-theme{background-color:var(--color-background);color:var(--color-foreground);--color-background: #faf9f7;--color-foreground: #0f172a;--color-card: #ffffff;--color-card-foreground: #0f172a;--color-popover: #ffffff;--color-popover-foreground: #0f172a;--color-muted: #f3f2ef;--color-muted-foreground: #475569;--color-border: #e2e8f0;--color-input: #e2e8f0;--skeleton-shimmer-peak: rgba(0, 0, 0, .03);--color-secondary: #f1f5f9;--color-secondary-foreground: #0f172a;--color-success: #16a34a;--color-success-muted: rgba(22, 163, 74, .1);--color-destructive: #dc2626;--color-destructive-muted: rgba(220, 38, 38, .1);--color-warning: #d97706;--color-warning-muted: rgba(217, 119, 6, .1);--color-info: #2563eb;--color-info-muted: rgba(37, 99, 235, .1);--glass-bg: rgba(0, 0, 0, .02);--glass-border: rgba(0, 0, 0, .06);--glass-highlight: rgba(0, 0, 0, .02);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .12)}.dark .ui-theme,.ui-theme.dark,.ui-theme[data-mode=dark],.dark .ui-theme-creator,.dark .ui-theme-admin,.dark .ui-theme-student,.dark .ui-theme-odonto-ai,.dark .ui-theme-marketplace,.ui-theme-creator.dark,.ui-theme-admin.dark,.ui-theme-student.dark,.ui-theme-odonto-ai.dark,.ui-theme-marketplace.dark,.ui-theme-creator[data-mode=dark],.ui-theme-admin[data-mode=dark],.ui-theme-student[data-mode=dark],.ui-theme-odonto-ai[data-mode=dark],.ui-theme-marketplace[data-mode=dark]{--color-background: #08080c;--color-foreground: #e4e4eb;--color-card: #14141c;--color-card-foreground: #e4e4eb;--color-popover: #14141c;--color-popover-foreground: #e4e4eb;--color-muted: #1a1a24;--color-muted-foreground: #71717a;--color-border: #2a2a3a;--color-input: #2a2a3a;--skeleton-shimmer-peak: rgba(255, 255, 255, .04);--color-secondary: #1a1a24;--color-secondary-foreground: #e4e4eb;--color-success: #22c55e;--color-success-muted: rgba(34, 197, 94, .15);--color-destructive: #f87171;--color-destructive-muted: rgba(248, 113, 113, .15);--color-warning: #fbbf24;--color-warning-muted: rgba(251, 191, 36, .15);--color-info: #60a5fa;--color-info-muted: rgba(96, 165, 250, .15);--glass-bg: rgba(255, 255, 255, .03);--glass-border: rgba(255, 255, 255, .08);--glass-highlight: rgba(255, 255, 255, .05);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .5);--shadow-md: 0 4px 12px rgba(0, 0, 0, .6);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .7)}.ui-theme,.dark .ui-theme{--color-primary-rgb: 139 92 246;--color-primary-hover-rgb: 167 139 250;--color-accent-rgb: 6 182 212;--color-accent-hover-rgb: 34 211 238;--color-primary-foreground: #ffffff}.ui-theme-admin{--color-primary-rgb: 6 182 212;--color-primary-hover-rgb: 34 211 238;--color-accent-rgb: 245 158 11;--color-accent-hover-rgb: 251 191 36;--color-primary-foreground: #000000}.ui-theme-creator{--color-primary-rgb: 139 92 246;--color-primary-hover-rgb: 167 139 250;--color-accent-rgb: 99 102 241;--color-accent-hover-rgb: 129 140 248;--color-primary-foreground: #000000}.ui-theme-student{--color-primary-rgb: 16 185 129;--color-primary-hover-rgb: 52 211 153;--color-accent-rgb: 14 165 233;--color-accent-hover-rgb: 56 189 248;--color-primary-foreground: #000000}.ui-theme-odonto-ai{--color-primary-rgb: 6 182 212;--color-primary-hover-rgb: 34 211 238;--color-accent-rgb: 14 165 233;--color-accent-hover-rgb: 56 189 248;--color-primary-foreground: #000000}.ui-theme-marketplace{--color-primary-rgb: 196 93 58;--color-primary-hover-rgb: 214 105 70;--color-accent-rgb: 120 113 108;--color-accent-hover-rgb: 87 83 78;--color-primary-foreground: #ffffff}[data-pageshell-theme] .sidebar-dropdown,[data-pageshell-theme] .themed-dropdown,[data-pageshell-theme] .themed-popover,[data-pageshell-theme] .themed-select{--color-popover: var(--surface-elevated);--color-popover-foreground: var(--text-primary);--color-accent-foreground: var(--text-primary);--color-muted: var(--surface-default);--color-muted-foreground: var(--text-secondary);--color-border: var(--border-subtle);background-color:var(--surface-elevated)!important;color:var(--text-primary)!important;border-color:var(--border-subtle)!important}[data-pageshell-theme] .themed-dialog,[data-pageshell-theme] .themed-sheet{--color-background: var(--surface-elevated);--color-foreground: var(--text-primary);--color-border: var(--border-subtle);--color-muted: var(--surface-default);--color-muted-foreground: var(--text-secondary);--color-primary-foreground: var(--text-primary);background-color:var(--surface-elevated)!important;color:var(--text-primary)!important;border-color:var(--border-subtle)!important}.dark[data-pageshell-theme] .sidebar-dropdown{--color-popover: var(--color-neutral-800);--color-popover-foreground: var(--color-neutral-50);--color-accent-foreground: var(--color-neutral-50);--color-muted-foreground: var(--color-neutral-50);--color-border: var(--color-neutral-600);background-color:var(--color-neutral-800)!important;color:var(--color-neutral-50)!important;border-color:var(--color-neutral-600)!important}.ui-theme{background-color:var(--color-background);color:var(--color-foreground);font-family:var(--font-sans, system-ui, -apple-system, sans-serif);min-height:100vh;overflow-x:hidden;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);transition:background-color .5s ease-out,color .3s ease-out}.ui-theme *{border-color:var(--color-border)}.portal-mono{font-family:var(--font-mono, "SF Mono", Menlo, monospace);font-size:.875rem}.portal-label{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--color-muted-foreground)}.portal-stat{display:flex;flex-direction:column;gap:.5rem}.portal-stat-label{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--color-muted-foreground)}.portal-stat-trend{display:inline-flex;align-items:center;gap:.25rem;font-size:.75rem;font-weight:500}.portal-stat-trend.positive{color:var(--color-success)}.portal-stat-trend.negative{color:var(--color-destructive)}.portal-stat-card{position:relative;overflow:hidden;padding:1.25rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.portal-stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,var(--color-primary),transparent);opacity:0;transition:opacity .3s ease}.portal-stat-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;opacity:0;transition:opacity .3s ease;pointer-events:none}.portal-stat-card:hover{transform:translateY(-2px)}.portal-stat-card:hover:before{opacity:1}.portal-stat-card:hover:after{opacity:1}.portal-stat-card-primary:before{background:linear-gradient(90deg,transparent,var(--color-primary),transparent)}.portal-stat-card-primary:after{box-shadow:0 8px 24px -8px rgb(var(--color-primary-rgb) / .15)}.portal-stat-card-secondary:before{background:linear-gradient(90deg,transparent,var(--color-muted-foreground),transparent)}.portal-stat-card-secondary:after{box-shadow:0 8px 24px -8px color-mix(in srgb,var(--color-muted-foreground) 10%,transparent)}.portal-stat-card-accent:before{background:linear-gradient(90deg,transparent,var(--color-accent),transparent)}.portal-stat-card-accent:after{box-shadow:0 8px 24px -8px rgb(var(--color-accent-rgb) / .15)}.portal-stat-card-streak:before{background:linear-gradient(90deg,transparent,rgb(245 158 11),transparent)}.portal-stat-card-streak:after{box-shadow:0 8px 24px -8px #f59e0b26}.portal-stat-card-warning:before{background:linear-gradient(90deg,transparent,var(--color-warning),transparent)}.portal-stat-card-warning:after{box-shadow:0 8px 24px -8px color-mix(in srgb,var(--color-warning) 15%,transparent)}.portal-stat-card-info:before{background:linear-gradient(90deg,transparent,var(--color-info),transparent)}.portal-stat-card-info:after{box-shadow:0 8px 24px -8px color-mix(in srgb,var(--color-info) 15%,transparent)}.portal-stat-card-success:before{background:linear-gradient(90deg,transparent,var(--color-success),transparent)}.portal-stat-card-success:after{box-shadow:0 8px 24px -8px color-mix(in srgb,var(--color-success) 15%,transparent)}.portal-module-card{position:relative;display:flex;flex-direction:column;height:100%;padding:1.25rem;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)}.portal-module-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;border:1px solid transparent;opacity:0;transition:all .3s ease;pointer-events:none}.portal-module-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px -8px rgb(var(--color-primary-rgb) / .15)}.portal-module-card:hover:before{opacity:1;border-color:rgb(var(--color-primary-rgb) / .3)}.portal-module-grid{display:grid;grid-template-columns:repeat(1,1fr);gap:1rem}@media (min-width: 640px){.portal-module-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.portal-module-grid{grid-template-columns:repeat(3,1fr)}}.portal-stat-icon{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center}.portal-stat-icon.primary{background:rgb(var(--color-primary-rgb) / .1);color:var(--color-primary)}.portal-stat-icon.secondary{background:var(--color-muted);color:var(--color-muted-foreground)}.portal-stat-icon.accent{background:rgb(var(--color-accent-rgb) / .1);color:var(--color-accent)}.portal-stat-icon.streak{background:#f59e0b1a;color:#f59e0b}.portal-stat-icon.warning{background:color-mix(in srgb,var(--color-warning) 10%,transparent);color:var(--color-warning)}.portal-stat-icon.info{background:color-mix(in srgb,var(--color-info) 10%,transparent);color:var(--color-info)}.portal-stat-icon.success{background:color-mix(in srgb,var(--color-success) 10%,transparent);color:var(--color-success)}.portal-badge-card{position:relative;padding:1.5rem;border-radius:16px;background:var(--color-card);border:1px solid var(--color-border);transition:all .3s cubic-bezier(.4,0,.2,1);overflow:hidden}.portal-badge-card-unlocked{border-color:rgb(var(--color-accent-rgb) / .3)}.portal-badge-card-unlocked:hover{transform:translateY(-4px);border-color:rgb(var(--color-accent-rgb) / .5);box-shadow:0 20px 40px -10px rgb(var(--color-accent-rgb) / .2),0 0 30px rgb(var(--color-accent-rgb) / .1)}.portal-badge-card-locked{opacity:.7}.portal-badge-card-locked:hover{opacity:.85;transform:translateY(-2px)}.portal-badge-card-glow{position:absolute;top:-50%;right:-50%;bottom:-50%;left:-50%;background:radial-gradient(circle at center,rgb(var(--color-accent-rgb) / .1) 0%,transparent 70%);pointer-events:none;animation:portal-badge-glow 3s ease-in-out infinite}@keyframes portal-badge-glow{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}.portal-badge-card-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1rem}.portal-badge-card-icon{width:64px;height:64px;border-radius:16px;background:rgb(var(--color-accent-rgb) / .1);display:flex;align-items:center;justify-content:center}.portal-badge-card-icon-locked{background:var(--color-muted);filter:grayscale(100%)}.portal-badge-card-title{font-size:1rem;font-weight:600;color:var(--color-foreground);margin-bottom:.5rem}.portal-badge-card-title-locked{color:var(--color-muted-foreground)}.portal-badge-card-description{font-size:.875rem;color:var(--color-muted-foreground);line-height:1.5}.portal-badge-card-date{display:flex;align-items:center;gap:.5rem;margin-top:1rem;font-size:.75rem;color:var(--color-muted-foreground)}.portal-badge-card-progress{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-border)}.portal-badge-card-progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;font-size:.75rem;color:var(--color-muted-foreground)}.portal-badge-card-progress-hint{font-size:.75rem;color:var(--color-muted-foreground);margin-top:.5rem;font-style:italic}.portal-badges-hero{display:flex;flex-direction:column;gap:1.5rem;padding:2rem;background:var(--color-card);border:1px solid var(--color-border);border-radius:24px;position:relative;overflow:hidden;margin-top:1rem;margin-bottom:1.5rem}@media (min-width: 768px){.portal-badges-hero{flex-direction:row;align-items:center;justify-content:space-between}}.portal-badges-hero-main{flex:1}.portal-badges-hero-content{display:flex;flex-direction:column;gap:1rem;flex:1}.portal-badges-hero-title{font-size:1.5rem;font-weight:700;color:var(--color-foreground);letter-spacing:-.025em}.portal-badges-hero-subtitle{font-size:.875rem;color:var(--color-muted-foreground);line-height:1.5}.portal-badges-hero-progress{margin-top:.5rem}.portal-badges-hero-progress-bar{height:8px;background:var(--color-muted);border-radius:4px;overflow:hidden}.portal-badges-hero-progress-fill{height:100%;background:linear-gradient(90deg,var(--color-primary),var(--color-accent));border-radius:4px;transition:width .5s ease}.portal-badges-hero-progress-text{display:block;margin-top:.5rem;font-size:.75rem;color:var(--color-muted-foreground);font-family:var(--font-mono, "SF Mono", Menlo, monospace)}.portal-badges-tier-breakdown{display:flex;gap:.75rem;flex-wrap:wrap}.portal-badges-info-section{background:var(--color-card);border:1px solid var(--color-border);border-radius:24px;padding:2rem;margin-top:2rem}.portal-badges-info-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.portal-badges-info-subtitle{font-size:.875rem;color:var(--color-muted-foreground);margin-bottom:1.5rem}.portal-badges-info-tiers{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}.portal-badges-info-tier{padding:1.25rem;border-radius:16px;background:color-mix(in srgb,var(--color-muted) 50%,transparent);border:1px solid var(--color-border);transition:all .3s ease}.portal-badges-info-tier:hover{transform:translateY(-2px)}.portal-badges-info-tier-bronze{border-left:4px solid rgb(205 127 50)}.portal-badges-info-tier-silver{border-left:4px solid rgb(192 192 192)}.portal-badges-info-tier-gold{border-left:4px solid rgb(255 215 0)}.portal-badges-info-tier-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.portal-badges-info-tier-emoji{font-size:1.5rem}.portal-badges-info-tier-name{font-size:1rem;font-weight:600;color:var(--color-foreground)}.portal-badges-info-tier-desc{font-size:.875rem;color:var(--color-muted-foreground);line-height:1.5}.portal-badges-info-tip{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;background:rgb(var(--color-accent-rgb) / .05);border:1px solid rgb(var(--color-accent-rgb) / .2);border-radius:12px}.portal-badges-info-tip p{font-size:.875rem;color:var(--color-muted-foreground);line-height:1.5}.portal-badges-info-tip strong{color:var(--color-foreground)}.portal-nav{background:var(--color-card);border-right:1px solid var(--color-border);width:260px;display:flex;flex-direction:column}.portal-nav-header{padding:1.5rem;border-bottom:1px solid var(--color-border)}.portal-nav-brand{display:flex;align-items:center;gap:.75rem}.portal-nav-logo{width:32px;height:32px;background:linear-gradient(135deg,var(--color-primary),var(--color-accent));border-radius:12px;display:flex;align-items:center;justify-content:center}.portal-nav-title{font-family:var(--font-sans, system-ui, -apple-system, sans-serif);font-size:1.125rem;font-weight:600;color:var(--color-foreground)}.portal-nav-subtitle{font-size:.75rem;color:var(--color-muted-foreground)}.portal-nav-menu{padding:1rem;display:flex;flex-direction:column;gap:.25rem;flex:1}.portal-nav-item{display:flex;align-items:center;gap:.75rem;padding:12px 16px;border-radius:12px;font-size:.875rem;font-weight:500;color:var(--color-muted-foreground);transition:all .2s ease;text-decoration:none;min-height:44px;position:relative;overflow:hidden}.portal-nav-item:hover{background:var(--color-muted);color:var(--color-foreground)}.portal-nav-item.active{background:var(--color-primary-muted);color:var(--color-primary)}.portal-nav-icon{width:18px;height:18px;opacity:.7}.portal-nav-item:hover .portal-nav-icon,.portal-nav-item.active .portal-nav-icon{opacity:1}.portal-topbar{position:fixed;top:0;right:0;left:0;height:var(--header-height, 64px);background:var(--color-popover);border-bottom:1px solid var(--color-border);z-index:40;padding:0 var(--space-4)}.portal-sidebar-spacer{width:var(--sidebar-width, 220px);flex-shrink:0}@media (min-width: 768px){.portal-topbar{left:var(--sidebar-width, 220px);padding-left:var(--space-6);padding-right:var(--space-6)}}.portal-sidebar-fixed{position:fixed;top:0;left:0;width:var(--sidebar-width, 220px);height:100vh;background:var(--color-popover);border-right:1px solid var(--color-border);z-index:30}.portal-avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:9999px;background:var(--color-muted);color:var(--color-muted-foreground);border:1px solid var(--color-border);font-weight:600;text-transform:uppercase}.portal-avatar-md{width:40px;height:40px;font-size:.75rem}.portal-badge{display:inline-flex;align-items:center;padding:.25rem .625rem;border-radius:9999px;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.portal-badge-primary{background:var(--color-primary-muted);color:var(--color-primary)}.portal-badge-accent{background:var(--color-accent-muted);color:var(--color-accent)}.portal-badge-success{background:var(--color-success-muted);color:var(--color-success)}.portal-badge-warning{background:var(--color-warning-muted);color:var(--color-warning)}.portal-badge-destructive,.portal-badge-error{background:var(--color-destructive-muted);color:var(--color-destructive)}.portal-badge-default{background:var(--color-muted);color:var(--color-foreground)}.portal-badge-info{background:#3b82f626;color:#3b82f6}.portal-badge-muted{background:var(--color-muted);color:var(--color-muted-foreground)}.portal-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:12px 24px;border-radius:12px;font-size:.875rem;font-weight:500;min-height:44px;transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer;border:none}.portal-btn-primary{background:var(--color-primary);color:var(--color-primary-foreground)}.portal-btn-primary:hover{background:var(--color-primary-hover);transform:translateY(-2px);box-shadow:0 10px 30px -5px rgb(var(--theme-glow) / .5),0 0 20px rgb(var(--theme-glow) / .3)}.portal-btn-ghost{background:transparent;color:var(--color-muted-foreground)}.portal-btn-ghost:hover{background:var(--color-muted);color:var(--color-foreground)}.portal-btn-outline{background:transparent;color:var(--color-foreground);border:1px solid var(--color-border)}.portal-btn-outline:hover{background:var(--color-muted);border-color:var(--color-primary)}.portal-section-icon{width:48px;height:48px;border-radius:16px;display:flex;align-items:center;justify-content:center;position:relative}.portal-section-icon svg{width:24px;height:24px;position:relative;z-index:1}.portal-section-icon.primary{background:var(--color-primary-muted);color:var(--color-primary)}.portal-section-icon.accent{background:var(--color-accent-muted);color:var(--color-accent)}.portal-section-icon.success{background:var(--color-success-muted);color:var(--color-success)}.portal-section-icon.info{background:var(--color-info-muted);color:var(--color-info)}.portal-section-icon.warning{background:color-mix(in srgb,var(--color-warning) 15%,transparent);color:var(--color-warning)}.portal-section-icon.cyan{background:#06b6d426;color:#06b6d4}.portal-section-icon.violet{background:#8b5cf626;color:#8b5cf6}.portal-section-icon.emerald{background:#10b98126;color:#10b981}.portal-section-icon.amber{background:#f59e0b26;color:#f59e0b}.portal-section-icon.blue{background:#3b82f626;color:#3b82f6}.portal-section-icon.red{background:#ef444426;color:#ef4444}.portal-card-interactive:hover .portal-section-icon.primary{box-shadow:var(--glow-primary)}.portal-card-interactive:hover .portal-section-icon.accent{box-shadow:var(--glow-accent)}.portal-status-indicator{position:relative;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;flex-shrink:0;overflow:visible}.portal-status-indicator-glow{position:absolute;width:26px;height:26px;border-radius:9999px;background:rgb(var(--color-primary-rgb) / .35);filter:blur(4px);animation:portal-glow-pulse 2s ease-in-out infinite}.portal-status-indicator-ring{position:absolute;width:18px;height:18px;border-radius:9999px;border:1px solid rgb(var(--color-primary-rgb) / .4);box-shadow:0 0 0 1px rgb(var(--color-primary-rgb) / .1)}.portal-status-indicator-dot{position:relative;width:8px;height:8px;border-radius:9999px;background:var(--color-primary);box-shadow:0 0 8px rgb(var(--color-primary-rgb) / .6)}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes progress{0%{transform:translate(-100%)}50%{transform:translate(100%)}to{transform:translate(300%)}}@keyframes portal-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes portal-slide-in{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}@keyframes portal-glow-pulse{0%,to{opacity:.4}50%{opacity:.8}}@keyframes sidebar-active-pulse{0%,to{box-shadow:0 0 12px color-mix(in oklch,var(--sidebar-primary, var(--color-primary)) 20%,transparent)}50%{box-shadow:0 0 18px color-mix(in oklch,var(--sidebar-primary, var(--color-primary)) 30%,transparent)}}@keyframes sidebar-brand-breathe{0%,to{box-shadow:0 0 16px color-mix(in oklch,var(--sidebar-primary, var(--color-primary)) 25%,transparent)}50%{box-shadow:0 0 24px color-mix(in oklch,var(--sidebar-primary, var(--color-primary)) 35%,transparent)}}@keyframes sidebar-status-pulse{0%,to{box-shadow:0 0 color-mix(in oklch,var(--color-success) 40%,transparent)}50%{box-shadow:0 0 0 3px color-mix(in oklch,var(--color-success) 0%,transparent)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{--sidebar-spring: ease !important}[style*=sidebar-spring]{transition-timing-function:ease!important}.animate-\[sidebar-active-pulse_3s_ease-in-out_infinite\],.animate-\[sidebar-brand-breathe_4s_ease-in-out_infinite\],.animate-\[sidebar-status-pulse_2s_ease-in-out_infinite\]{animation:none!important}}.portal-gradient-mesh{position:relative}.portal-gradient-mesh:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 20% 0%,color-mix(in oklch,var(--color-primary) 14%,transparent) 0%,transparent 55%),radial-gradient(ellipse at 80% 20%,color-mix(in oklch,var(--color-accent) 12%,transparent) 0%,transparent 45%),radial-gradient(ellipse at 45% 85%,color-mix(in oklch,var(--color-primary) 9%,transparent) 0%,transparent 50%);pointer-events:none}.portal-grid-bg{position:relative}.portal-grid-bg:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(color-mix(in oklch,var(--color-border) 35%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in oklch,var(--color-border) 35%,transparent) 1px,transparent 1px);background-size:40px 40px;opacity:.3;pointer-events:none}.portal-noise-overlay{position:relative}.portal-noise-overlay:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.72' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");opacity:.035;pointer-events:none}.dark .portal-noise-overlay:after,.ui-theme.dark .portal-noise-overlay:after,.ui-theme[data-mode=dark] .portal-noise-overlay:after{opacity:.06}.portal-quick-action{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:1.25rem 1rem;background:var(--color-card);border:1px solid var(--color-border);border-radius:16px;font-size:.875rem;font-weight:500;color:var(--color-muted-foreground);text-decoration:none;min-height:100px;text-align:center;position:relative;overflow:hidden;transition:transform .25s cubic-bezier(.4,0,.2,1),border-color .25s ease,box-shadow .25s ease}.portal-quick-action:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgb(var(--color-primary-rgb) / .03) 0%,transparent 50%);opacity:0;transition:opacity .25s ease}.portal-quick-action:hover{transform:translateY(-4px) scale(1.02);border-color:rgb(var(--color-primary-rgb) / .4);box-shadow:0 8px 24px -8px rgb(var(--color-primary-rgb) / .15),0 0 0 1px rgb(var(--color-primary-rgb) / .1)}.portal-quick-action:hover:before{opacity:1}.portal-quick-action:hover .portal-quick-action-icon{transform:scale(1.1);box-shadow:0 4px 12px -2px rgb(var(--color-primary-rgb) / .3)}.portal-quick-action:hover .portal-quick-action-label{color:var(--color-foreground)}.portal-quick-action-icon{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,rgb(var(--color-primary-rgb) / .15),rgb(var(--color-primary-rgb) / .05));display:flex;align-items:center;justify-content:center;transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s ease}.portal-quick-action-icon svg{width:22px;height:22px;color:var(--color-primary);transition:color .2s ease}.portal-quick-action-label{font-weight:500;color:var(--color-muted-foreground);transition:color .2s ease;line-height:1.3}.portal-quick-action-featured{display:flex;flex-direction:row;align-items:center;gap:1rem;padding:1.25rem 1.5rem;background:var(--color-card);border-radius:16px;font-size:.875rem;text-decoration:none;min-height:80px;text-align:left;position:relative;overflow:hidden;transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s ease}.portal-quick-action-featured:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:16px;padding:1.5px;background:linear-gradient(135deg,var(--color-primary) 0%,rgb(var(--color-accent, var(--color-primary))) 50%,rgb(var(--color-primary-rgb) / .3) 100%);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;-webkit-mask-composite:xor;opacity:.6;transition:opacity .3s ease}.portal-quick-action-featured:after{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:18px;background:linear-gradient(135deg,rgb(var(--color-primary-rgb) / .2),rgb(var(--color-accent, var(--color-primary)) / .1));filter:blur(12px);opacity:0;z-index:-1;transition:opacity .3s ease}.portal-quick-action-featured:hover{transform:translateY(-4px);box-shadow:0 12px 32px -8px rgb(var(--color-primary-rgb) / .25)}.portal-quick-action-featured:hover:before{opacity:1}.portal-quick-action-featured:hover:after{opacity:1}.portal-quick-action-featured .portal-quick-action-icon{width:52px;height:52px;border-radius:14px;background:linear-gradient(135deg,rgb(var(--color-primary-rgb) / .2),rgb(var(--color-primary-rgb) / .08));flex-shrink:0}.portal-quick-action-featured .portal-quick-action-icon svg{width:26px;height:26px}.portal-quick-action-featured-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:.25rem}.portal-quick-action-featured-title{font-size:.9375rem;font-weight:600;color:var(--color-foreground);line-height:1.3}.portal-quick-action-featured-description{font-size:.8125rem;color:var(--color-muted-foreground);line-height:1.4}.portal-quick-action-featured-arrow{width:24px;height:24px;color:var(--color-muted-foreground);flex-shrink:0;transition:transform .25s cubic-bezier(.4,0,.2,1)}.portal-quick-action-featured:hover .portal-quick-action-featured-arrow{transform:translate(4px);color:var(--color-primary)}.portal-quick-action-icon.violet{background:linear-gradient(135deg,#8b5cf633,#8b5cf614)}.portal-quick-action-icon.violet svg{color:#8b5cf6}.portal-quick-action-icon.cyan{background:linear-gradient(135deg,#06b6d433,#06b6d414)}.portal-quick-action-icon.cyan svg{color:#06b6d4}.portal-quick-action-icon.emerald{background:linear-gradient(135deg,#10b98133,#10b98114)}.portal-quick-action-icon.emerald svg{color:#10b981}.portal-quick-action-icon.amber{background:linear-gradient(135deg,#f59e0b33,#f59e0b14)}.portal-quick-action-icon.amber svg{color:#f59e0b}.portal-quick-action-icon.blue{background:linear-gradient(135deg,#3b82f633,#3b82f614)}.portal-quick-action-icon.blue svg{color:#3b82f6}.portal-quick-action-icon.rose{background:linear-gradient(135deg,#f43f5e33,#f43f5e14)}.portal-quick-action-icon.rose svg{color:#f43f5e}.portal-quick-action.compact{gap:.5rem;padding:.625rem .75rem;border-radius:12px;min-height:auto;flex-direction:row;justify-content:flex-start;text-align:left}.portal-quick-action.compact .portal-quick-action-icon{width:32px;height:32px;border-radius:8px;flex-shrink:0}.portal-quick-action.compact .portal-quick-action-icon svg{width:16px;height:16px}.portal-quick-action.compact:hover{transform:translateY(-2px) scale(1.01)}.portal-quick-action.compact:hover .portal-quick-action-icon{transform:scale(1.05)}.portal-glass-card{background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:24px;box-shadow:var(--shadow-md);transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.portal-glass-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;border:1px solid var(--glass-highlight);pointer-events:none}.portal-glass-card:hover{transform:translateY(-8px);border-color:rgb(var(--color-primary-rgb) / .25);box-shadow:0 32px 64px -16px #0003,0 0 0 1px rgb(var(--theme-glow) / .1)}.ui-theme-admin .bg-muted,.ui-theme-creator .bg-muted,.ui-theme-student .bg-muted,.ui-theme-odonto-ai .bg-muted,.ui-theme-admin [class*="bg-muted/"],.ui-theme-creator [class*="bg-muted/"],.ui-theme-student [class*="bg-muted/"],.ui-theme-odonto-ai [class*="bg-muted/"]{background:var(--glass-highlight)!important}.ui-theme-admin table tbody tr[class],.ui-theme-creator table tbody tr[class],.ui-theme-student table tbody tr[class],.ui-theme-odonto-ai table tbody tr[class]{background:transparent!important}.ui-theme-admin table tbody tr[class]:hover,.ui-theme-creator table tbody tr[class]:hover,.ui-theme-student table tbody tr[class]:hover,.ui-theme-odonto-ai table tbody tr[class]:hover{background:var(--glass-highlight)!important}.ui-theme-admin table thead[class],.ui-theme-creator table thead[class],.ui-theme-student table thead[class],.ui-theme-odonto-ai table thead[class]{background:transparent!important}.portal-chat{display:flex;flex-direction:column;background:var(--color-card);border:1px solid var(--color-border);border-radius:24px;overflow:hidden}.portal-chat-inline{background:transparent;border:none;border-radius:0}.portal-chat-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.5rem;background:var(--color-card);border-bottom:1px solid var(--color-border)}.portal-chat-header-main{display:flex;align-items:center;gap:.75rem}.portal-chat-header-leading{display:flex;align-items:center;justify-content:center}.portal-chat-header-text{display:flex;flex-direction:column;gap:.25rem}.portal-chat-header-title{font-size:1rem;font-weight:600;color:var(--color-foreground)}.portal-chat-header-description{font-size:.875rem;color:var(--color-muted-foreground)}.portal-chat-header-actions{display:flex;align-items:center;gap:.5rem}.portal-chat-header-status{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-muted-foreground)}.portal-chat-header-action{display:flex;align-items:center}.portal-chat-messages{display:flex;flex-direction:column;gap:1rem;padding:1.5rem;background:var(--color-background);overflow-y:auto;flex:1 1 auto;min-height:0;scrollbar-gutter:stable both-edges;overscroll-behavior:contain}.portal-chat-message{display:flex;align-items:flex-start;gap:.75rem}.portal-chat-message-assistant{justify-content:flex-start}.portal-chat-message-user{justify-content:flex-end;flex-direction:row-reverse}.portal-chat-message-system{justify-content:center;align-items:center}.portal-chat-message-body{display:flex;flex-direction:column;gap:.5rem;max-width:min(80%,640px);min-width:0}.portal-chat-message-body-assistant{align-items:flex-start;text-align:left}.portal-chat-message-body-user{align-items:flex-end;text-align:right}.portal-chat-message-body-system{align-items:center;text-align:center;max-width:min(70%,520px)}.portal-chat-message-user .portal-chat-bubble-content{white-space:pre-wrap}.portal-chat-avatar{display:flex;align-items:center;justify-content:center;flex-shrink:0}.portal-chat-avatar-badge{width:32px;height:32px;border-radius:9999px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--color-foreground)}.portal-chat-avatar-badge-assistant{background:var(--color-primary)}.portal-chat-avatar-badge-user{background:var(--color-accent)}.portal-chat-avatar-fallback{background:linear-gradient(135deg,var(--color-primary),var(--color-accent));color:var(--color-foreground);font-weight:600}.portal-chat-message-author{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-muted-foreground)}.portal-chat-bubble{position:relative;padding:.75rem 1rem;border-radius:16px;border:1px solid var(--color-border);background:var(--color-card);color:var(--color-foreground);box-shadow:var(--shadow-sm)}.portal-chat-bubble-assistant{background:var(--color-card)}.portal-chat-bubble-user{background:rgb(var(--color-primary-rgb) / .12);border-color:rgb(var(--color-primary-rgb) / .2)}.portal-chat-bubble-system{background:var(--color-muted);border-style:dashed;box-shadow:none}.portal-chat-bubble-streaming{border-color:rgb(var(--color-primary-rgb) / .25);box-shadow:0 10px 24px -18px rgb(var(--color-primary-rgb) / .35)}.portal-chat-bubble-content{font-size:.9375rem;line-height:1.6;color:var(--color-foreground);word-break:break-word;text-wrap:pretty}.portal-chat-markdown h1,.portal-chat-markdown h2{font-size:.95rem;font-weight:600;margin:0 0 .5rem}.portal-chat-markdown h3{font-size:.9rem;font-weight:600;margin:0 0 .4rem}.portal-chat-markdown p{margin:0 0 .5rem}.portal-chat-markdown p:last-child{margin-bottom:0}.portal-chat-markdown ul,.portal-chat-markdown ol{margin:.5rem 0;padding-left:1.25rem}.portal-chat-markdown li{margin:.25rem 0}.portal-chat-markdown strong{font-weight:600}.portal-chat-markdown em{font-style:italic}.portal-chat-markdown a{color:var(--color-primary);text-decoration:none}.portal-chat-markdown a:hover{text-decoration:underline}.portal-chat-markdown pre{margin:.75rem 0;padding:.75rem;border-radius:12px;background:var(--color-muted);border:1px solid var(--color-border);overflow-x:auto}.portal-chat-markdown pre code{display:block;background:transparent;border:none;padding:0;font-size:.85rem}.portal-chat-markdown code{font-family:var(--font-mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace)}.portal-chat-markdown :not(pre)>code{background:var(--color-muted);border:1px solid var(--color-border);border-radius:6px;padding:.1rem .3rem;font-size:.85rem}.portal-chat-markdown blockquote{margin:.75rem 0;padding-left:.75rem;border-left:2px solid var(--color-primary);color:var(--color-muted-foreground);font-style:italic}.portal-chat-markdown hr{border:0;border-top:1px solid var(--color-border);margin:.75rem 0}.portal-chat-meta{display:flex;gap:.5rem;font-size:.75rem;color:var(--color-muted-foreground);font-variant-numeric:tabular-nums}.portal-chat-meta-assistant{justify-content:flex-start}.portal-chat-meta-user{justify-content:flex-end}.portal-chat-meta-system{justify-content:center}.portal-chat-footer{display:flex;flex-wrap:wrap;gap:.5rem}.portal-chat-cursor{display:inline-block;width:2px;height:1.1em;margin-left:2px;background:var(--color-primary);animation:portal-chat-blink 1s step-end infinite;vertical-align:-.1em}.portal-chat-typing{display:inline-flex;align-items:center;gap:.5rem;color:var(--color-muted-foreground);font-size:.875rem}.portal-chat-typing-dots{display:inline-flex;align-items:center;gap:.3rem}.portal-chat-typing-dot{width:6px;height:6px;border-radius:9999px;background:var(--color-muted-foreground);animation:portal-chat-typing 1s ease-in-out infinite}.portal-chat-typing-dot:nth-child(2){animation-delay:.15s}.portal-chat-typing-dot:nth-child(3){animation-delay:.3s}.portal-chat-typing-label{font-weight:500;color:var(--color-muted-foreground)}.portal-chat-composer{display:flex;align-items:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--color-border);background:var(--color-card)}.portal-chat-messages-compact{max-height:320px;padding-right:.5rem}.portal-chat-empty-icon{width:48px;height:48px;border-radius:14px;background:var(--color-muted);color:var(--color-muted-foreground);display:flex;align-items:center;justify-content:center}.portal-chat-empty-title{font-size:.95rem;font-weight:600;color:var(--color-foreground)}.portal-chat-empty-description{font-size:.85rem;color:var(--color-muted-foreground);text-align:center;max-width:320px}.portal-chat-skeleton-row{display:flex;align-items:flex-start;gap:.75rem}.portal-chat-skeleton-row-user{justify-content:flex-end}.portal-chat-skeleton-avatar{width:32px;height:32px;border-radius:9999px}.portal-chat-skeleton-bubble{height:42px;width:70%;border-radius:16px}.portal-chat-skeleton-bubble-user{width:60%}.portal-chat-skeleton-bubble-short{width:45%}@keyframes portal-chat-blink{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes portal-chat-typing{0%,80%,to{transform:translateY(0);opacity:.6}40%{transform:translateY(-3px);opacity:1}}@media (max-width: 640px){.portal-chat-header,.portal-chat-composer{padding:.75rem 1rem}.portal-chat-messages{padding:1rem;gap:.75rem}.portal-chat-message-body,.portal-chat-message-body-system{max-width:100%}.portal-chat-bubble{padding:.65rem .85rem}}.portal-profile-input{width:100%;padding:.75rem 1rem;background:var(--input-bg, var(--surface-elevated));border:1px solid var(--input-border, var(--border-default));border-radius:var(--input-radius, .5rem);color:var(--input-text, var(--text-primary));font-size:.875rem;line-height:1.5;transition:all .15s ease}.portal-profile-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgb(var(--color-primary-rgb) / .1)}.portal-profile-input::-moz-placeholder{color:var(--input-placeholder, var(--text-tertiary))}.portal-profile-input::placeholder{color:var(--input-placeholder, var(--text-tertiary))}.portal-profile-input:disabled{opacity:.5;cursor:not-allowed;background:var(--input-disabled-bg, var(--surface-default))}.portal-profile-textarea{min-height:100px;resize:vertical}.portal-profile-field{display:flex;flex-direction:column;gap:.5rem}.portal-profile-field-label{font-size:.875rem;font-weight:500;color:var(--text-primary)}.portal-profile-field-required{color:rgb(var(--color-destructive, 239 68 68))}.portal-profile-field-count{font-size:.75rem;color:var(--text-tertiary);margin-left:.5rem}.portal-profile-completion{position:relative;display:flex;align-items:center;justify-content:center}.portal-profile-completion-bg{fill:none;stroke:var(--surface-default);stroke-width:4}.portal-profile-completion-fill{fill:none;stroke:var(--color-primary);stroke-width:4;stroke-linecap:round;transform:rotate(-90deg);transform-origin:center;transition:stroke-dashoffset .5s ease}.portal-profile-completion-content{position:absolute;display:flex;flex-direction:column;align-items:center}.portal-profile-completion-value{font-size:1rem;font-weight:600;color:var(--text-primary)}.portal-radial-progress{position:relative;display:inline-flex;align-items:center;justify-content:center;--portal-radial-stroke: 16px}.portal-radial-progress-bg{fill:none;stroke:rgb(var(--color-border) / .6);stroke-width:var(--portal-radial-stroke)}.portal-radial-progress-fill{fill:none;stroke:var(--color-primary);stroke-width:var(--portal-radial-stroke);stroke-linecap:round;transform:rotate(-90deg);transform-origin:center;transition:stroke-dashoffset .5s ease}.portal-radial-progress-fill-accent,.portal-radial-progress-accent .portal-radial-progress-fill{stroke:var(--color-accent)}.portal-radial-progress-accent .portal-radial-progress-value{color:var(--color-accent)}.portal-radial-progress-content{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.125rem;text-align:center}.portal-radial-progress-value{font-size:1.5rem;font-weight:600;color:var(--color-foreground)}.portal-radial-progress-label{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--color-muted-foreground)}.portal-profile-social-links{display:flex;flex-direction:column;gap:.75rem}.portal-profile-social-input{display:flex;align-items:center;gap:0}.portal-profile-social-input .portal-profile-input{flex:1;border-top-left-radius:0;border-bottom-left-radius:0}.portal-profile-social-icon{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.75rem;background:var(--surface-default);border:1px solid var(--border-default);border-right:none;border-radius:var(--input-radius, .5rem) 0 0 var(--input-radius, .5rem);color:var(--text-secondary)}.portal-profile-social-linkedin{color:#0a66c2}.portal-profile-social-youtube{color:red}.portal-profile-social-github{color:var(--text-primary)}.portal-profile-social-website{color:var(--color-primary)}.portal-profile-view-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:10px;background:var(--color-card);border:1px solid var(--color-border);color:var(--color-foreground);font-size:.75rem;font-weight:600;transition:all .2s ease}.portal-profile-view-btn:hover{border-color:rgb(var(--color-primary-rgb) / .4);color:var(--color-primary);box-shadow:0 8px 16px -12px rgb(var(--color-primary-rgb) / .4)}.portal-profile-completion-banner{display:flex;align-items:center;gap:1.25rem;padding:1rem 1.5rem;background:var(--color-card);border:1px solid var(--color-border);border-radius:20px;flex-wrap:wrap}.portal-profile-completion-info{display:flex;flex-direction:column;gap:.25rem;flex:1;min-width:200px}.portal-profile-completion-title{font-size:1rem;font-weight:600;color:var(--color-foreground)}.portal-profile-completion-desc{font-size:.75rem;color:var(--color-muted-foreground)}.portal-profile-completion-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.375rem .75rem;border-radius:9999px;background:rgb(var(--color-accent-rgb) / .12);color:var(--color-accent);border:1px solid rgb(var(--color-accent-rgb) / .2);font-size:.75rem;font-weight:600}.portal-profile-photo-section,.portal-profile-fields-section{background:var(--color-card);border:1px solid var(--color-border);border-radius:20px;padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.portal-profile-section-header{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:var(--color-foreground)}.portal-profile-fields{display:flex;flex-direction:column;gap:1rem}.portal-profile-photo-wrapper{display:flex;justify-content:center}.portal-profile-photo-container{position:relative;width:160px;height:160px;border-radius:24px;overflow:hidden;border:1px solid var(--color-border);background:var(--color-muted);display:flex;align-items:center;justify-content:center}.portal-profile-photo-container.portal-profile-photo-uploading{border-color:rgb(var(--color-primary-rgb) / .6);box-shadow:0 0 0 3px rgb(var(--color-primary-rgb) / .2)}.portal-profile-photo-img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.portal-profile-photo-glow{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 20%,rgb(var(--color-primary-rgb) / .35),transparent 60%);opacity:.4;pointer-events:none}.portal-profile-photo-hover{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;background:rgb(var(--color-background) / .6);color:var(--color-foreground);font-size:.75rem;opacity:0;transition:opacity .2s ease;cursor:pointer}.portal-profile-photo-container:hover .portal-profile-photo-hover{opacity:1}.portal-profile-photo-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:rgb(var(--color-background) / .6);color:var(--color-foreground)}.portal-profile-upload-progress{display:flex;flex-direction:column;gap:.5rem;font-size:.75rem;color:var(--color-muted-foreground)}.portal-profile-upload-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:10px;background:rgb(var(--color-primary-rgb) / .12);color:var(--color-primary);border:1px solid rgb(var(--color-primary-rgb) / .3);font-size:.75rem;font-weight:600;transition:all .2s ease;width:-moz-fit-content;width:fit-content}.portal-profile-upload-btn:hover{background:rgb(var(--color-primary-rgb) / .2);border-color:rgb(var(--color-primary-rgb) / .5)}.portal-profile-upload-btn:disabled{opacity:.6;cursor:not-allowed}.portal-profile-dropzone{border:1px dashed var(--color-border);background:rgb(var(--color-muted) / .3);border-radius:16px;padding:1rem;text-align:center;color:var(--color-muted-foreground);transition:all .2s ease}.portal-profile-dropzone-active{border-color:rgb(var(--color-primary-rgb) / .6);background:rgb(var(--color-primary-rgb) / .08);color:var(--color-primary)}.portal-profile-dropzone-content{display:flex;flex-direction:column;align-items:center;gap:.25rem;font-size:.75rem}.portal-profile-dropzone-content span{font-size:.625rem}.portal-profile-select{width:100%;padding:.75rem 1rem;background:var(--input-bg, var(--surface-elevated));border:1px solid var(--input-border, var(--border-default));border-radius:var(--input-radius, .5rem);color:var(--input-text, var(--text-primary));font-size:.875rem;line-height:1.5;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:all .15s ease}.portal-profile-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgb(var(--color-primary-rgb) / .1)}.portal-profile-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:1rem 1.5rem;background:var(--color-card);border:1px solid var(--color-border);border-radius:20px}.portal-profile-actions-hint{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:var(--color-muted-foreground)}.portal-profile-actions-buttons{display:flex;align-items:center;gap:.75rem}.portal-profile-cancel-btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem .9rem;border-radius:10px;border:1px solid var(--color-border);background:transparent;color:var(--color-muted-foreground);font-size:.75rem;font-weight:600;transition:all .2s ease}.portal-profile-cancel-btn:hover{border-color:rgb(var(--color-muted-foreground) / .5);color:var(--color-foreground)}.portal-profile-save-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .9rem;border-radius:10px;border:1px solid var(--color-primary);background:var(--color-primary);color:var(--color-primary-foreground);font-size:.75rem;font-weight:600;transition:all .2s ease}.portal-profile-save-btn [data-role=spinner]{display:none;align-items:center}.portal-profile-save-btn [data-role=icon]{display:inline-flex;align-items:center}.portal-profile-save-btn[data-loading=true] [data-role=spinner]{display:inline-flex}.portal-profile-save-btn[data-loading=true] [data-role=icon]{display:none}.portal-profile-save-btn:hover{background:var(--color-primary-hover, var(--color-primary));border-color:var(--color-primary-hover, var(--color-primary))}.portal-profile-save-btn:disabled,.portal-profile-cancel-btn:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.portal-nav{display:none}.portal-stat-value{font-size:1.5rem}}.portal-animate-in{animation:portal-fade-in .4s ease forwards}.portal-animate-in-delay-1{animation-delay:.05s;opacity:0}.portal-animate-in-delay-2{animation-delay:.1s;opacity:0}.portal-animate-in-delay-3{animation-delay:.15s;opacity:0}.portal-animate-in-delay-4{animation-delay:.2s;opacity:0}.portal-animate-in-delay-5{animation-delay:.25s;opacity:0}.portal-animate-in-delay-8{animation-delay:.4s;opacity:0}.portal-staggered-grid>*{animation:portal-fade-in .4s ease forwards;opacity:0}.portal-staggered-grid>*:nth-child(1){animation-delay:.05s}.portal-staggered-grid>*:nth-child(2){animation-delay:.1s}.portal-staggered-grid>*:nth-child(3){animation-delay:.15s}.portal-staggered-grid>*:nth-child(4){animation-delay:.2s}.portal-staggered-grid>*:nth-child(5){animation-delay:.25s}.portal-staggered-grid>*:nth-child(n+6){animation-delay:.3s}@keyframes portal-scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes portal-slide-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.portal-animate-fade{animation:portal-fade-in .4s ease forwards}.portal-animate-slide-up{animation:portal-slide-up .4s ease forwards}.portal-animate-scale{animation:portal-scale-in .3s ease forwards}.portal-heading{font-family:var(--font-display, system-ui, -apple-system, sans-serif);font-weight:600;letter-spacing:-.025em;color:var(--color-foreground)}.portal-heading-xl{font-size:2rem;line-height:1.2}.portal-heading-lg{font-size:1.5rem;line-height:1.3}.portal-heading-md{font-size:1.125rem;line-height:1.4}.portal-heading-sm{font-size:1rem;line-height:1.5}.portal-live-stats-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.5rem;background:var(--color-card);border:1px solid var(--color-border);border-radius:16px;margin-top:1rem;margin-bottom:1.5rem}.portal-live-stats-label{display:flex;align-items:center;gap:.5rem}.portal-live-stats-items{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}.portal-live-stats-item{display:flex;flex-direction:column;align-items:center;gap:.25rem}.portal-live-stats-item-value{font-family:var(--font-mono, "SF Mono", Menlo, monospace);font-size:1.25rem;font-weight:600}.portal-live-stats-item-label{font-size:.75rem;color:var(--color-muted-foreground)}.portal-live-stat-divider{width:1px;height:24px;background:var(--color-border)}.portal-stat{display:flex;flex-direction:column;gap:.25rem}.portal-stat-value{font-family:var(--font-mono, "SF Mono", Menlo, monospace);font-size:2rem;font-weight:600;color:var(--color-foreground);line-height:1}.portal-stat-label{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted-foreground)}.portal-stat-badge{font-size:.625rem;padding:.25rem .5rem}.portal-course-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.portal-course-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:16px;overflow:hidden;transition:all .3s ease;display:flex;flex-direction:column}.portal-course-card:hover{transform:translateY(-4px);border-color:rgb(var(--color-primary-rgb) / .3);box-shadow:0 12px 24px -8px #0003}.portal-course-thumbnail{position:relative;height:140px;background:var(--color-muted);overflow:hidden}.portal-course-thumbnail-gradient{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.8}.portal-thumbnail-react{background:radial-gradient(120% 120% at 0% 0%,rgb(var(--color-accent-rgb) / .45),transparent 60%),linear-gradient(135deg,rgb(var(--color-info) / .9),rgb(var(--color-accent-rgb) / .9))}.portal-thumbnail-typescript{background:radial-gradient(120% 120% at 100% 0%,rgb(var(--color-info) / .45),transparent 60%),linear-gradient(135deg,rgb(var(--color-info) / .9),rgb(var(--color-primary-rgb) / .85))}.portal-thumbnail-node{background:radial-gradient(120% 120% at 0% 100%,rgb(var(--color-success) / .45),transparent 60%),linear-gradient(135deg,rgb(var(--color-success) / .9),rgb(var(--color-primary-rgb) / .9))}.portal-thumbnail-default{background:radial-gradient(120% 120% at 0% 0%,rgb(var(--color-primary-rgb) / .35),transparent 60%),linear-gradient(135deg,rgb(var(--color-primary-rgb) / .6),rgb(var(--color-accent-rgb) / .6))}.portal-course-thumbnail-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:3rem}.portal-course-progress-overlay{position:absolute;bottom:0;left:0;right:0;padding:.5rem;background:linear-gradient(to top,rgba(0,0,0,.5),transparent)}.portal-course-progress-ring{position:relative;width:52px;height:52px;border-radius:9999px;background:rgb(var(--color-background) / .6);border:1px solid rgb(var(--color-border) / .6);display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--color-foreground)}.portal-course-progress-ring.completed{border-color:rgb(var(--color-accent-rgb) / .5);box-shadow:0 0 0 2px rgb(var(--color-accent-rgb) / .2)}.portal-course-body{padding:1rem}.portal-course-title{font-size:1rem;font-weight:600;color:var(--color-foreground);margin-bottom:.25rem;line-height:1.4}.portal-course-creator{font-size:.75rem;color:var(--color-muted-foreground)}.portal-course-meta{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--color-border);margin-top:1rem;padding-top:1rem}.portal-course-progress-text{font-size:.875rem;font-weight:600;color:var(--color-primary)}.portal-featured-badge{position:absolute;top:.75rem;left:.75rem;display:flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:var(--color-primary);color:var(--color-primary-foreground);border-radius:6px;font-size:.625rem;font-weight:600;text-transform:uppercase}.portal-progress{height:6px;background:var(--color-muted);border-radius:3px;overflow:hidden}.portal-progress-bar{height:100%;background:linear-gradient(90deg,var(--color-primary),var(--color-primary-hover));border-radius:3px;transition:width .5s ease}.portal-progress-bar-shimmer{position:relative}.portal-progress-bar-shimmer:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 2s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes progress{0%{transform:translate(-100%)}50%{transform:translate(200%)}to{transform:translate(400%)}}.portal-progress-accent{background:linear-gradient(90deg,var(--color-accent),var(--color-accent-hover))}.portal-two-col-asymmetric{display:grid;grid-template-columns:1fr;gap:1.5rem;margin-top:1.5rem}@media (min-width: 1024px){.portal-two-col-asymmetric{grid-template-columns:1fr 1fr}}.portal-activity-item{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem 0;border-bottom:1px solid var(--color-border);flex-wrap:wrap}@media (min-width: 640px){.portal-activity-item{align-items:center;flex-wrap:nowrap}}.portal-activity-item:last-child{border-bottom:none}.portal-activity-icon{width:32px;height:32px;border-radius:8px;background:color-mix(in srgb,var(--color-success) 10%,transparent);color:var(--color-success);display:flex;align-items:center;justify-content:center;flex-shrink:0}.portal-activity-icon svg{width:16px;height:16px}.portal-activity-content{flex:1;min-width:0}.portal-activity-title{font-size:.875rem;font-weight:500;color:var(--color-foreground);word-break:break-word}@media (min-width: 640px){.portal-activity-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;word-break:normal}}.portal-activity-subtitle{font-size:.75rem;color:var(--color-muted-foreground)}.portal-activity-time{font-size:.6875rem;color:var(--color-muted-foreground);white-space:nowrap;width:100%;padding-left:calc(32px + .75rem);margin-top:-.25rem}@media (min-width: 640px){.portal-activity-time{font-size:.75rem;width:auto;padding-left:0;margin-top:0}}.portal-next-action{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:color-mix(in srgb,var(--color-muted) 50%,transparent);border:1px solid var(--color-border);border-radius:12px;transition:all .2s ease;text-decoration:none}.portal-next-action:hover{background:var(--color-muted);border-color:rgb(var(--color-primary-rgb) / .3)}.portal-next-action-icon{width:36px;height:36px;border-radius:10px;background:rgb(var(--color-accent-rgb) / .1);color:var(--color-accent);display:flex;align-items:center;justify-content:center}.portal-next-action-icon svg{width:18px;height:18px}.portal-next-action-content{flex:1;min-width:0}.portal-next-action-title{font-size:.875rem;font-weight:500;color:var(--color-foreground)}.portal-next-action-meta{display:flex;gap:.75rem;font-size:.75rem;color:var(--color-muted-foreground)}.portal-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:3rem 1.5rem;background:var(--color-card);border:1px dashed var(--color-border);border-radius:24px}.portal-empty-state-icon{width:80px;height:80px;border-radius:20px;background:var(--color-muted);color:var(--color-muted-foreground);display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem}.portal-empty-state-title{font-size:1.125rem;font-weight:600;color:var(--color-foreground);margin-bottom:.5rem}.portal-empty-state-description{font-size:.875rem;color:var(--color-muted-foreground);max-width:300px}.portal-alert{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;border-radius:12px;margin-bottom:1rem}.portal-alert-destructive{background:rgb(var(--color-destructive) / .1);border:1px solid rgb(var(--color-destructive) / .3)}.portal-alert-warning{background:color-mix(in srgb,var(--color-warning) 10%,transparent);border:1px solid rgb(var(--color-warning) / .3)}.portal-alert-icon{flex-shrink:0}.portal-alert-destructive .portal-alert-icon{color:var(--color-destructive)}.portal-alert-warning .portal-alert-icon{color:var(--color-warning)}.portal-alert-content{flex:1}.portal-alert-title{font-size:.875rem;font-weight:600;color:var(--color-foreground)}.portal-alert-description{font-size:.75rem;color:var(--color-muted-foreground);margin-top:.25rem}.portal-streak-animated{position:relative}.portal-streak-animated:after{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:inherit;background:linear-gradient(45deg,rgb(245 158 11 / .3),transparent,rgb(245 158 11 / .3));animation:streak-glow 2s ease-in-out infinite;pointer-events:none}@keyframes streak-glow{0%,to{opacity:.5}50%{opacity:1}}.portal-achievements-hero{display:flex;flex-direction:column;gap:1.5rem;padding:2rem;background:var(--color-card);border:1px solid var(--color-border);border-radius:24px;position:relative;overflow:hidden}.portal-achievements-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 80% 50% at 20% 30%,rgb(var(--theme-glow) / .2),transparent 60%);opacity:.2;pointer-events:none}@media (min-width: 768px){.portal-achievements-hero{flex-direction:row;align-items:center;justify-content:space-between}}.portal-achievements-hero-content{display:flex;flex-direction:column;gap:.75rem;flex:1;position:relative}.portal-achievements-hero-title{font-size:1.5rem;font-weight:700;color:var(--color-foreground);letter-spacing:-.02em}.portal-achievements-hero-subtitle{font-size:.875rem;color:var(--color-muted-foreground);line-height:1.5}.portal-achievements-stats{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;padding:1rem 1.5rem;background:var(--color-card);border:1px solid var(--color-border);border-radius:20px}.portal-achievements-stat{display:flex;align-items:center;gap:.75rem;min-width:150px}.portal-achievements-stat-icon{width:36px;height:36px;border-radius:12px;background:var(--color-muted);color:var(--color-muted-foreground);display:flex;align-items:center;justify-content:center;flex-shrink:0}.portal-achievements-stat-icon-unlocked{background:rgb(var(--color-accent-rgb) / .15);color:var(--color-accent)}.portal-achievements-stat-icon-locked{background:rgb(var(--color-muted) / .7);color:var(--color-muted-foreground)}.portal-achievements-stat-icon-streak{background:color-mix(in srgb,var(--color-warning) 15%,transparent);color:var(--color-warning)}.portal-achievements-stat-icon-record{background:rgb(var(--color-primary-rgb) / .15);color:var(--color-primary)}.portal-achievements-stat-content{display:flex;flex-direction:column;gap:.125rem}.portal-achievements-stat-value{font-family:var(--font-mono, "SF Mono", Menlo, monospace);font-size:1.25rem;font-weight:600;color:var(--color-foreground)}.portal-achievements-stat-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--color-muted-foreground)}.portal-achievements-stat-divider{width:1px;height:28px;background:var(--color-border)}.portal-streak-card{position:relative;display:flex;align-items:center;gap:1.5rem;padding:1.5rem;background:var(--color-card);border:1px solid var(--color-border);border-radius:24px;overflow:hidden;flex-wrap:wrap}.portal-streak-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 20% 20%,rgb(var(--color-warning) / .18),transparent 60%);opacity:.2;pointer-events:none}.portal-streak-card-flame{width:56px;height:56px;border-radius:16px;background:color-mix(in srgb,var(--color-warning) 15%,transparent);color:var(--color-warning);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 8px 20px -12px rgb(var(--color-warning) / .4)}.portal-streak-card-content{flex:1;min-width:200px;position:relative}.portal-streak-card-title{font-size:1rem;font-weight:600;color:var(--color-foreground)}.portal-streak-card-subtitle{font-size:.75rem;color:var(--color-muted-foreground);margin-top:.25rem}.portal-streak-card-stats{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;border-radius:14px;background:rgb(var(--color-muted) / .4);border:1px solid var(--color-border)}.portal-streak-card-stat{display:flex;flex-direction:column;align-items:center;gap:.25rem;min-width:80px}.portal-streak-card-divider{width:1px;height:32px;background:var(--color-border)}.portal-streak-card-stat-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;color:var(--color-muted-foreground)}.portal-streak-card-stat-value{font-size:1.25rem;font-weight:600;font-family:var(--font-mono, "SF Mono", Menlo, monospace);color:var(--color-foreground);display:inline-flex;align-items:baseline;gap:.25rem}.portal-streak-card-stat-value-current{color:var(--color-warning)}.portal-streak-card-stat-unit{font-size:.65rem;color:var(--color-muted-foreground)}.portal-next-badge{position:relative;padding:1.5rem;background:var(--color-card);border:1px solid var(--color-border);border-radius:24px;overflow:hidden}.portal-next-badge:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 80% 20%,rgb(var(--color-accent-rgb) / .18),transparent 60%);opacity:.2;pointer-events:none}.portal-next-badge-label{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .5rem;border-radius:9999px;background:rgb(var(--color-accent-rgb) / .12);border:1px solid rgb(var(--color-accent-rgb) / .25);color:var(--color-accent);font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;margin-bottom:1rem;position:relative}.portal-next-badge-content{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap;position:relative}.portal-next-badge-icon{width:72px;height:72px;border-radius:20px;background:rgb(var(--color-muted) / .6);border:1px solid var(--color-border);display:flex;align-items:center;justify-content:center;flex-shrink:0}.portal-next-badge-info{flex:1;min-width:200px;display:flex;flex-direction:column;gap:.5rem}.portal-next-badge-title{font-size:1.125rem;font-weight:600;color:var(--color-foreground)}.portal-next-badge-description{font-size:.875rem;color:var(--color-muted-foreground)}.portal-next-badge-progress{display:flex;flex-direction:column;gap:.5rem}.portal-next-badge-progress-bar{height:8px;background:var(--color-muted);border-radius:9999px;overflow:hidden}.portal-next-badge-progress-fill{height:100%;background:linear-gradient(90deg,var(--color-accent),var(--color-primary));border-radius:9999px;transition:width .5s ease}.portal-next-badge-progress-text{font-size:.75rem;color:var(--color-muted-foreground);font-family:var(--font-mono, "SF Mono", Menlo, monospace)}.portal-session-stats{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;padding:1rem 1.5rem;background:var(--color-card);border:1px solid var(--color-border);border-radius:20px}.portal-session-stat{display:flex;align-items:center;gap:.75rem;min-width:150px}.portal-session-stat-icon{width:36px;height:36px;border-radius:12px;background:var(--color-muted);color:var(--color-muted-foreground);display:flex;align-items:center;justify-content:center;flex-shrink:0}.portal-session-stat-icon-upcoming{background:rgb(var(--color-primary-rgb) / .15);color:var(--color-primary)}.portal-session-stat-icon-completed{background:color-mix(in srgb,var(--color-success) 15%,transparent);color:var(--color-success)}.portal-session-stat-icon-hours{background:rgb(var(--color-accent-rgb) / .15);color:var(--color-accent)}.portal-session-stat-content{display:flex;flex-direction:column;gap:.125rem}.portal-session-stat-value{font-family:var(--font-mono, "SF Mono", Menlo, monospace);font-size:1.25rem;font-weight:600;color:var(--color-foreground)}.portal-session-stat-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--color-muted-foreground)}.portal-session-stat-divider{width:1px;height:28px;background:var(--color-border)}.portal-next-session{display:flex;flex-direction:column;gap:1rem;padding:1.25rem 1.5rem;background:var(--color-card);border:1px solid var(--color-border);border-radius:20px}.portal-next-session-label{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .5rem;border-radius:9999px;background:rgb(var(--color-primary-rgb) / .12);border:1px solid rgb(var(--color-primary-rgb) / .25);color:var(--color-primary);font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;width:-moz-fit-content;width:fit-content}.portal-next-session-content{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}.portal-next-session-info{display:flex;align-items:center;gap:.75rem}.portal-next-session-avatar{width:48px;height:48px;border-radius:9999px;background:var(--color-muted);border:1px solid var(--color-border);color:var(--color-muted-foreground);display:flex;align-items:center;justify-content:center;font-weight:600;overflow:hidden;text-transform:uppercase}.portal-next-session-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.portal-next-session-details{display:flex;flex-direction:column;gap:.25rem}.portal-next-session-details h3{font-size:.875rem;font-weight:600;color:var(--color-foreground);margin:0}.portal-next-session-details p{font-size:.75rem;color:var(--color-muted-foreground);margin:0}.portal-next-session-time{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem}.portal-next-session-countdown{font-size:1.25rem;font-weight:600;font-family:var(--font-mono, "SF Mono", Menlo, monospace);color:var(--color-primary)}.portal-next-session-date{font-size:.75rem;color:var(--color-muted-foreground);text-transform:uppercase;letter-spacing:.06em}.portal-credits-hero{display:flex;flex-direction:column;gap:1.5rem;padding:2rem;background:var(--color-card);border:1px solid var(--color-border);border-radius:24px;position:relative;overflow:hidden}.portal-credits-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 10% 20%,rgb(var(--theme-glow) / .2),transparent 60%);opacity:.2;pointer-events:none}@media (min-width: 768px){.portal-credits-hero{flex-direction:row;align-items:center;justify-content:space-between}}.portal-credits-hero-content{display:flex;flex-direction:column;gap:.75rem;flex:1;position:relative}.portal-credits-hero-main{display:flex;flex-direction:column;gap:.5rem}.portal-credits-hero-title{font-size:1.5rem;font-weight:700;color:var(--color-foreground);letter-spacing:-.02em}.portal-credits-hero-subtitle{font-size:.875rem;color:var(--color-muted-foreground);line-height:1.5}.portal-credits-hero-warning{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .75rem;border-radius:9999px;background:rgb(var(--color-warning) / .12);border:1px solid rgb(var(--color-warning) / .25);color:var(--color-warning);font-size:.75rem;font-weight:600;width:-moz-fit-content;width:fit-content}.portal-credits-hero-visual{display:flex;align-items:center;justify-content:center}.portal-credits-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.portal-credits-stat-card{position:relative;padding:1.25rem;background:var(--color-card);border:1px solid var(--color-border);border-radius:18px;display:flex;flex-direction:column;gap:.5rem;overflow:hidden}.portal-credits-stat-card-primary{border-left:3px solid var(--color-primary)}.portal-credits-stat-card-secondary{border-left:3px solid var(--color-muted-foreground)}.portal-credits-stat-card-warning{border-left:3px solid var(--color-warning)}.portal-credits-stat-icon{width:44px;height:44px;border-radius:14px;background:var(--color-muted);color:var(--color-muted-foreground);display:flex;align-items:center;justify-content:center;flex-shrink:0}.portal-credits-stat-card-primary .portal-credits-stat-icon{background:rgb(var(--color-primary-rgb) / .15);color:var(--color-primary)}.portal-credits-stat-card-secondary .portal-credits-stat-icon{background:rgb(var(--color-muted-foreground) / .15);color:var(--color-muted-foreground)}.portal-credits-stat-card-warning .portal-credits-stat-icon{background:color-mix(in srgb,var(--color-warning) 15%,transparent);color:var(--color-warning)}.portal-credits-stat-content{display:flex;flex-direction:column;gap:.25rem}.portal-credits-stat-value{font-family:var(--font-mono, "SF Mono", Menlo, monospace);font-size:1.5rem;font-weight:700;color:var(--color-foreground)}.portal-credits-stat-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--color-muted-foreground)}.portal-credits-stat-hint{margin-top:auto;font-size:.75rem;color:var(--color-muted-foreground)}.portal-credits-stat-pulse{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:18px;border:1px solid rgb(var(--color-warning) / .4);animation:portal-glow-pulse 2s ease-in-out infinite;pointer-events:none}.portal-credits-mentor-section{background:var(--color-card);border:1px solid var(--color-border);border-radius:20px;padding:1.5rem;display:flex;flex-direction:column;gap:1rem;animation:portal-fade-in .4s ease forwards;opacity:0}.portal-credits-mentor-section-warning{border-color:rgb(var(--color-warning) / .4);box-shadow:0 10px 20px -18px rgb(var(--color-warning) / .4)}.portal-credits-mentor-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.portal-credits-mentor-info{display:flex;align-items:center;gap:.75rem}.portal-credits-mentor-avatar{width:44px;height:44px;border-radius:9999px;border:2px solid var(--color-border);background:var(--color-muted);color:var(--color-muted-foreground);display:flex;align-items:center;justify-content:center;overflow:hidden;-o-object-fit:cover;object-fit:cover;text-transform:uppercase}.portal-credits-mentor-avatar-fallback{background:rgb(var(--color-primary-rgb) / .12);color:var(--color-primary)}.portal-credits-mentor-name{font-size:1rem;font-weight:600;color:var(--color-foreground)}.portal-credits-mentor-count{font-size:.75rem;color:var(--color-muted-foreground)}.portal-credits-mentor-visual{display:flex;align-items:center;justify-content:center}.portal-credits-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}.portal-credit-item{position:relative;padding:1.25rem;border-radius:16px;background:rgb(var(--color-muted) / .2);border:1px solid var(--color-border);display:flex;flex-direction:column;gap:.75rem;transition:all .2s ease;animation:portal-fade-in .4s ease forwards;opacity:0}.portal-credit-item:hover{border-color:rgb(var(--color-primary-rgb) / .3);background:rgb(var(--color-muted) / .4);transform:translateY(-2px)}.portal-credit-item-expiring{border-color:rgb(var(--color-warning) / .4);background:rgb(var(--color-warning) / .05)}.portal-credit-item-expired{opacity:.7}.portal-credit-item-depleted{opacity:.75}.portal-credit-item-pulse{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:16px;border:1px solid rgb(var(--color-warning) / .4);animation:portal-glow-pulse 2s ease-in-out infinite;pointer-events:none}.portal-credit-item-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem}.portal-credit-item-service{display:flex;align-items:center;gap:.75rem}.portal-credit-item-service-icon{width:36px;height:36px;border-radius:12px;background:rgb(var(--color-primary-rgb) / .12);color:var(--color-primary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.portal-credit-item-service-name{display:block;font-size:.875rem;font-weight:600;color:var(--color-foreground)}.portal-credit-item-service-duration{display:inline-flex;align-items:center;gap:.25rem;font-size:.75rem;color:var(--color-muted-foreground)}.portal-credit-item-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border-radius:9999px;font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;border:1px solid transparent}.portal-credit-item-badge-active{background:rgb(var(--color-success) / .12);border-color:rgb(var(--color-success) / .3);color:var(--color-success)}.portal-credit-item-badge-warning{background:rgb(var(--color-warning) / .12);border-color:rgb(var(--color-warning) / .3);color:var(--color-warning)}.portal-credit-item-badge-expired{background:rgb(var(--color-destructive) / .12);border-color:rgb(var(--color-destructive) / .3);color:var(--color-destructive)}.portal-credit-item-badge-depleted{background:var(--color-muted);border-color:var(--color-border);color:var(--color-muted-foreground)}.portal-credit-item-progress-section{display:flex;flex-direction:column;gap:.5rem}.portal-credit-item-progress-header{display:flex;justify-content:space-between;align-items:center;font-size:.75rem;color:var(--color-muted-foreground)}.portal-credit-item-progress-used{font-weight:500}.portal-credit-item-progress-remaining{font-weight:600;color:var(--color-foreground)}.portal-credit-item-footer{display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap}.portal-credit-item-date{display:inline-flex;align-items:center;gap:.375rem;font-size:.75rem;color:var(--color-muted-foreground)}.portal-credit-item-book-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.375rem .75rem;border-radius:9999px;background:rgb(var(--color-primary-rgb) / .12);color:var(--color-primary);border:1px solid rgb(var(--color-primary-rgb) / .3);font-size:.75rem;font-weight:600;transition:all .2s ease}.portal-credit-item-book-btn:hover{background:rgb(var(--color-primary-rgb) / .2);border-color:rgb(var(--color-primary-rgb) / .5)}.portal-credits-actions{margin-top:.5rem}.portal-credits-action-btn{width:100%;display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;border-radius:18px;background:var(--color-card);border:1px solid var(--color-border);text-align:left;transition:all .2s ease}.portal-credits-action-btn:hover{border-color:rgb(var(--color-primary-rgb) / .3);background:rgb(var(--color-muted) / .2);transform:translateY(-2px)}.portal-credits-action-icon{width:44px;height:44px;border-radius:14px;background:rgb(var(--color-accent-rgb) / .12);color:var(--color-accent);display:flex;align-items:center;justify-content:center;flex-shrink:0}.portal-credits-action-content{flex:1;display:flex;flex-direction:column;gap:.25rem}.portal-credits-action-title{font-size:.95rem;font-weight:600;color:var(--color-foreground)}.portal-credits-action-desc{font-size:.75rem;color:var(--color-muted-foreground)}.portal-credits-action-arrow{color:var(--color-muted-foreground);transition:transform .2s ease,color .2s ease}.portal-credits-action-btn:hover .portal-credits-action-arrow{transform:translate(4px);color:var(--color-primary)}.portal-credits-benefits{padding:1.5rem;border-radius:20px;background:var(--color-card);border:1px solid var(--color-border)}.portal-credits-benefits-title{font-size:1rem;font-weight:600;color:var(--color-foreground);margin-bottom:1rem}.portal-credits-benefits-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.portal-credits-benefit{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:rgb(var(--color-muted) / .4);border:1px solid var(--color-border);border-radius:14px}.portal-credits-benefit-icon{width:36px;height:36px;border-radius:12px;background:rgb(var(--color-primary-rgb) / .12);color:var(--color-primary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.portal-credits-benefit-title{font-size:.875rem;font-weight:600;color:var(--color-foreground);display:block}.portal-credits-benefit-desc{font-size:.75rem;color:var(--color-muted-foreground);display:block}.portal-coin-stack{position:relative;display:flex;align-items:flex-end;justify-content:center}.portal-coin-stack-lg{width:96px;height:96px}.portal-coin-stack-sm{width:72px;height:72px}.portal-coin{position:absolute;bottom:0;color:var(--color-warning);filter:drop-shadow(0 6px 12px rgb(var(--color-warning) / .25));animation:portal-glow-pulse 2.4s ease-in-out infinite}.portal-coin-overflow{position:absolute;bottom:-.25rem;right:-.5rem;padding:.2rem .45rem;border-radius:9999px;background:color-mix(in srgb,var(--color-warning) 15%,transparent);color:var(--color-warning);border:1px solid rgb(var(--color-warning) / .3);font-size:.625rem;font-weight:600}.portal-settings-hero{display:flex;flex-direction:column;gap:1.5rem;padding:2rem;background:var(--color-card);border:1px solid var(--color-border);border-radius:24px;position:relative;overflow:hidden}@media (min-width: 768px){.portal-settings-hero{flex-direction:row;align-items:center;justify-content:space-between}}.portal-settings-hero-content{display:flex;align-items:center;gap:1.5rem}.portal-settings-hero-avatar{position:relative;width:88px;height:88px;display:flex;align-items:center;justify-content:center}.portal-settings-hero-avatar-img{width:80px;height:80px;border-radius:9999px;-o-object-fit:cover;object-fit:cover;border:2px solid var(--color-border)}.portal-settings-hero-avatar-placeholder{width:80px;height:80px;border-radius:9999px;background:var(--color-muted);border:2px solid var(--color-border);color:var(--color-muted-foreground);display:flex;align-items:center;justify-content:center}.portal-settings-hero-avatar-glow{position:absolute;top:-15px;right:-15px;bottom:-15px;left:-15px;background:radial-gradient(circle,rgb(var(--theme-glow) / .35),transparent 70%);filter:blur(16px);opacity:.6;z-index:-1}.portal-settings-hero-info{display:flex;flex-direction:column;gap:.25rem}.portal-settings-hero-name{font-size:1.25rem;font-weight:600;color:var(--color-foreground)}.portal-settings-hero-email{font-size:.875rem;color:var(--color-muted-foreground)}.portal-settings-hero-status{display:inline-flex;align-items:center;gap:.4rem;padding:.25rem .5rem;border-radius:9999px;background:rgb(var(--color-success) / .12);border:1px solid rgb(var(--color-success) / .3);color:var(--color-success);font-size:.75rem;font-weight:600;width:-moz-fit-content;width:fit-content}.portal-settings-hero-stats{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;padding:.75rem 1rem;border-radius:16px;border:1px solid var(--color-border);background:rgb(var(--color-muted) / .3)}.portal-settings-hero-stat{display:flex;flex-direction:column;align-items:center;gap:.25rem;min-width:72px}.portal-settings-hero-stat-value{font-size:1rem;font-weight:600;font-family:var(--font-mono, "SF Mono", Menlo, monospace);color:var(--color-foreground)}.portal-settings-hero-stat-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;color:var(--color-muted-foreground)}.portal-settings-hero-stat-divider{width:1px;height:28px;background:var(--color-border)}.portal-settings-featured{position:relative;padding:1.5rem;border-radius:20px;background:var(--color-card);border:1px solid var(--color-border);overflow:hidden}.portal-settings-featured-glow{position:absolute;top:-20%;right:-20%;bottom:-20%;left:-20%;background:radial-gradient(circle at 30% 30%,rgb(var(--color-accent-rgb) / .4),transparent 60%);opacity:.35;filter:blur(30px);pointer-events:none}.portal-settings-featured-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .5rem;border-radius:9999px;background:rgb(var(--color-accent-rgb) / .15);color:var(--color-accent);border:1px solid rgb(var(--color-accent-rgb) / .25);font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;position:relative;z-index:1}.portal-settings-featured-content{position:relative;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;z-index:1}.portal-settings-featured-icon{width:48px;height:48px;border-radius:14px;background:rgb(var(--color-accent-rgb) / .12);color:var(--color-accent);display:flex;align-items:center;justify-content:center;flex-shrink:0}.portal-settings-featured-info{flex:1;min-width:220px;display:flex;flex-direction:column;gap:.25rem}.portal-settings-featured-title{font-size:1rem;font-weight:600;color:var(--color-foreground)}.portal-settings-featured-description{font-size:.875rem;color:var(--color-muted-foreground);line-height:1.4}.portal-settings-featured-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:12px;background:rgb(var(--color-accent-rgb) / .12);color:var(--color-accent);border:1px solid rgb(var(--color-accent-rgb) / .3);font-size:.75rem;font-weight:600;text-decoration:none;transition:all .2s ease}.portal-settings-featured-btn:hover{background:rgb(var(--color-accent-rgb) / .2);border-color:rgb(var(--color-accent-rgb) / .45)}.portal-settings-actions{display:flex;flex-direction:column;gap:.75rem}.portal-settings-actions-grid{width:100%;align-items:stretch}.portal-settings-action{display:flex;align-items:center;gap:.75rem;padding:1rem;border-radius:16px;background:var(--color-card);border:1px solid var(--color-border);color:var(--color-foreground);text-decoration:none;transition:all .2s ease;height:100%}.portal-settings-action:hover{border-color:rgb(var(--color-accent-rgb) / .3);background:rgb(var(--color-muted) / .2);transform:translateY(-2px)}.portal-settings-action-icon{width:36px;height:36px;border-radius:12px;background:var(--color-muted);color:var(--color-muted-foreground);display:flex;align-items:center;justify-content:center;flex-shrink:0}.portal-settings-action-icon-profile{background:rgb(var(--color-primary-rgb) / .12);color:var(--color-primary)}.portal-settings-action-icon-security{background:rgb(var(--color-success) / .12);color:var(--color-success)}.portal-settings-action-icon-notifications{background:rgb(var(--color-warning) / .12);color:var(--color-warning)}.portal-settings-action-icon-mcp{background:rgb(var(--color-accent-rgb) / .12);color:var(--color-accent)}.portal-settings-action-arrow{margin-left:auto;color:var(--color-muted-foreground);transition:transform .2s ease,color .2s ease}.portal-settings-action:hover .portal-settings-action-arrow{transform:translate(4px);color:var(--color-accent)}.portal-settings-info{display:flex;align-items:flex-start;gap:1rem;padding:1.25rem 1.5rem;border-radius:20px;background:rgb(var(--color-success) / .08);border:1px solid rgb(var(--color-success) / .2)}.portal-settings-info-icon{width:40px;height:40px;border-radius:12px;background:color-mix(in srgb,var(--color-success) 15%,transparent);color:var(--color-success);display:flex;align-items:center;justify-content:center;flex-shrink:0}.portal-settings-info-content{display:flex;flex-direction:column;gap:.25rem}.portal-settings-info-title{font-size:.95rem;font-weight:600;color:var(--color-foreground)}.portal-settings-info-description{font-size:.75rem;color:var(--color-muted-foreground)}.portal-leaderboard-row{display:flex;align-items:center;gap:1rem;padding:1rem;border-radius:16px;background:var(--color-card);border:1px solid var(--color-border);transition:all .2s ease}.portal-leaderboard-row:hover{border-color:rgb(var(--color-primary-rgb) / .3);background:rgb(var(--color-muted) / .2);transform:translateY(-2px)}.portal-leaderboard-row-top{border-color:rgb(var(--color-accent-rgb) / .4);box-shadow:0 12px 24px -18px rgb(var(--color-accent-rgb) / .4)}.portal-leaderboard-rank{width:3rem;text-align:center;font-size:1.5rem;font-weight:700}.portal-leaderboard-user{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0}.portal-leaderboard-avatar{width:2.5rem;height:2.5rem;border-radius:9999px;-o-object-fit:cover;object-fit:cover;border:2px solid var(--color-border)}.portal-leaderboard-name{font-weight:600;color:var(--color-foreground);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color .15s ease}.group:hover .portal-leaderboard-name{color:var(--color-primary)}.portal-leaderboard-badge-count{font-size:.75rem;color:var(--color-muted-foreground)}.portal-leaderboard-breakdown{display:none;align-items:center;gap:1rem}@media (min-width: 768px){.portal-leaderboard-breakdown{display:flex}}.portal-leaderboard-tier{text-align:center}.portal-leaderboard-tier-emoji{display:block;font-size:1.25rem}.portal-leaderboard-tier-count{font-size:.75rem;font-family:var(--font-mono, monospace);font-weight:600;color:var(--color-muted-foreground)}.portal-leaderboard-tier-gold{color:var(--color-warning)}.portal-leaderboard-score{text-align:center;min-width:4rem}.portal-score-badge{display:inline-block;padding:.25rem .75rem;border-radius:9999px;font-size:1rem;font-weight:600;background:rgb(var(--color-primary-rgb) / .1);color:var(--color-primary);border:1px solid rgb(var(--color-primary-rgb) / .2)}.portal-info-box{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;border-radius:16px;background:rgb(var(--color-muted) / .3);border:1px solid var(--color-border);color:var(--color-foreground)}.portal-info-box-info{background:rgb(var(--color-info) / .08);border-color:rgb(var(--color-info) / .3)}.portal-info-box-info svg{color:var(--color-info)}.portal-skill-badge-card{position:relative;padding:1.5rem;border-radius:20px;background:var(--color-card);border:1px solid var(--color-border);transition:all .3s cubic-bezier(.4,0,.2,1);overflow:hidden;animation:portal-fade-in .4s ease forwards}.portal-skill-badge-card-earned{border-color:rgb(var(--color-primary-rgb) / .3)}.portal-skill-badge-card-earned:hover{transform:translateY(-4px);box-shadow:0 16px 32px -8px #0003}.portal-skill-badge-card-bronze{border-color:#cd7f3266}.portal-skill-badge-card-silver{border-color:#c0c0c066}.portal-skill-badge-card-gold{border-color:#ffd70066}.portal-skill-badge-card-locked{opacity:.7}.portal-skill-badge-card-locked:hover{opacity:.85}.portal-skill-badge-glow{position:absolute;top:-50%;right:-50%;bottom:-50%;left:-50%;pointer-events:none;animation:badge-glow 3s ease-in-out infinite}.portal-skill-badge-glow-bronze{background:radial-gradient(circle at center,rgb(205 127 50 / .15) 0%,transparent 70%)}.portal-skill-badge-glow-silver{background:radial-gradient(circle at center,rgb(192 192 192 / .15) 0%,transparent 70%)}.portal-skill-badge-glow-gold{background:radial-gradient(circle at center,rgb(255 215 0 / .2) 0%,transparent 70%)}@keyframes badge-glow{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}.portal-skill-badge-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1rem}.portal-skill-badge-icon{width:56px;height:56px;border-radius:14px;background:var(--color-muted);display:flex;align-items:center;justify-content:center}.portal-skill-badge-icon-bronze{background:linear-gradient(135deg,#cd7f3233,#cd7f321a)}.portal-skill-badge-icon-silver{background:linear-gradient(135deg,#c0c0c033,#c0c0c01a)}.portal-skill-badge-icon-gold{background:linear-gradient(135deg,#ffd70033,#ffd7001a)}.portal-skill-badge-title{font-size:1.125rem;font-weight:600;color:var(--color-foreground);margin-bottom:.5rem}.portal-skill-badge-title-locked{color:var(--color-muted-foreground)}.portal-skill-badge-description{font-size:.875rem;color:var(--color-muted-foreground);line-height:1.5;margin-bottom:1rem}.portal-skill-badge-tag-section{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.portal-skill-badge-tag-label{display:flex;align-items:center;gap:.25rem;font-size:.75rem;color:var(--color-muted-foreground)}.portal-skill-tag{display:inline-flex;padding:.25rem .5rem;background:rgb(var(--color-primary-rgb) / .1);color:var(--color-primary);border-radius:6px;font-size:.75rem;font-weight:500}.portal-skill-badge-tiers{margin-bottom:1rem}.portal-skill-badge-tiers-label{font-size:.75rem;font-weight:500;color:var(--color-muted-foreground);margin-bottom:.5rem}.portal-skill-badge-tiers-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.portal-tier-req-card{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.5rem;border-radius:8px;background:color-mix(in srgb,var(--color-muted) 50%,transparent);border:1px solid var(--color-border);transition:all .2s ease}.portal-tier-req-card-bronze{border-color:#cd7f324d}.portal-tier-req-card-silver{border-color:#c0c0c04d}.portal-tier-req-card-gold{border-color:#ffd7004d}.portal-tier-req-card-current{background:rgb(var(--color-primary-rgb) / .1);border-color:rgb(var(--color-primary-rgb) / .3)}.portal-tier-req-card-achieved{background:color-mix(in srgb,var(--color-success) 10%,transparent);border-color:rgb(var(--color-success) / .3)}.portal-tier-req-icon{font-size:1.25rem}.portal-tier-req-value{font-size:.625rem;color:var(--color-muted-foreground)}.portal-tier-req-check{width:12px;height:12px;color:var(--color-success)}.portal-skill-badge-details{padding-top:1rem;border-top:1px solid var(--color-border)}.portal-skill-badge-courses{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.portal-skill-badge-courses-label{font-size:.75rem;color:var(--color-muted-foreground)}.portal-skill-badge-courses-value{font-family:var(--font-mono, "SF Mono", Menlo, monospace);font-size:.875rem;font-weight:600;color:var(--color-foreground)}.portal-skill-badge-progress{margin-bottom:.75rem}.portal-skill-badge-progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;font-size:.75rem;color:var(--color-muted-foreground)}.portal-skill-badge-progress-hint{font-size:.75rem;color:var(--color-muted-foreground);margin-top:.5rem}.portal-skill-badge-date{font-size:.75rem;color:var(--color-muted-foreground)}.portal-skill-badge-locked-info{padding-top:1rem;border-top:1px solid var(--color-border)}.portal-skill-badge-locked-text{font-size:.875rem;color:var(--color-muted-foreground);line-height:1.5;margin-bottom:.75rem}.portal-skill-badge-locked-hint{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:var(--color-primary)}.portal-gold-celebration{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:linear-gradient(135deg,#ffd7001a,#ffd7000d);border:1px solid rgb(255 215 0 / .3);border-radius:10px;margin-bottom:.75rem;font-size:.875rem;font-weight:500;color:var(--color-foreground)}.portal-gold-celebration-icon{color:gold}.portal-gold-celebration-stars{display:flex;align-items:center;gap:.25rem;margin-left:auto;color:gold}.portal-tier-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .625rem;border-radius:9999px;font-size:.6875rem;font-weight:600}.portal-tier-badge-bronze{background:#cd7f3226;color:#cd7f32;border:1px solid rgb(205 127 50 / .3)}.portal-tier-badge-silver{background:#c0c0c026;color:silver;border:1px solid rgb(192 192 192 / .3)}.portal-tier-badge-gold{background:#ffd70026;color:gold;border:1px solid rgb(255 215 0 / .3)}.portal-essential-badge-card{position:relative;padding:1.5rem;border-radius:20px;background:var(--color-card);border:2px solid transparent;transition:all .3s cubic-bezier(.4,0,.2,1);overflow:hidden}.portal-essential-badge-card-earned{background:linear-gradient(135deg,var(--color-card) 0%,color-mix(in srgb,var(--color-muted) 50%,transparent) 100%)}.portal-essential-badge-card-locked{opacity:.7;border-color:var(--color-border)}.portal-essential-badge-card-earned:hover{transform:translateY(-4px)}.portal-essential-badge-card-locked:hover{opacity:.85;transform:translateY(-2px)}.portal-essential-badge-border{position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;background:linear-gradient(135deg,#f59e0b,#06b6d4);border-radius:inherit;z-index:-1}.portal-essential-ribbon{position:absolute;top:12px;right:12px;display:flex;align-items:center;gap:4px;padding:4px 10px;font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border-radius:9999px;box-shadow:0 2px 8px #f59e0b4d}.portal-essential-glow-gold{box-shadow:0 0 20px #ffd7004d,0 0 40px #ffd70033,0 20px 40px -10px #ffd70033}.portal-essential-glow-silver{box-shadow:0 0 20px #c0c0c04d,0 0 40px #c0c0c033,0 20px 40px -10px #c0c0c033}.portal-essential-glow-bronze{box-shadow:0 0 20px #cd7f324d,0 0 40px #cd7f3233,0 20px 40px -10px #cd7f3233}.portal-essential-badge-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1rem}.portal-essential-badge-icon{width:64px;height:64px;border-radius:16px;background:linear-gradient(135deg,#f59e0b26,#06b6d426);display:flex;align-items:center;justify-content:center;border:1px solid rgb(245 158 11 / .3)}.portal-essential-badge-icon-gold{background:linear-gradient(135deg,#ffd70033,#f59e0b33);border-color:#ffd70066}.portal-essential-badge-icon-silver{background:linear-gradient(135deg,#c0c0c033,#94a3b833);border-color:#c0c0c066}.portal-essential-badge-icon-bronze{background:linear-gradient(135deg,#cd7f3233,#b4530933);border-color:#cd7f3266}.portal-essential-tier{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;border-radius:9999px;font-size:.6875rem;font-weight:600}.portal-essential-tier-gold{background:linear-gradient(135deg,#ffd70033,#f59e0b33);color:gold;border:1px solid rgb(255 215 0 / .4)}.portal-essential-tier-silver{background:linear-gradient(135deg,#c0c0c033,#94a3b833);color:silver;border:1px solid rgb(192 192 192 / .4)}.portal-essential-tier-bronze{background:linear-gradient(135deg,#cd7f3233,#b4530933);color:#cd7f32;border:1px solid rgb(205 127 50 / .4)}.portal-essential-badge-title{font-size:1rem;font-weight:600;color:var(--color-foreground);margin-bottom:.5rem}.portal-essential-badge-description{font-size:.875rem;color:var(--color-muted-foreground);line-height:1.5;margin-bottom:.75rem}.portal-essential-badge-context{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.portal-essential-performance{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;padding:.75rem;background:color-mix(in srgb,var(--color-muted) 50%,transparent);border-radius:12px;margin-bottom:1rem}.portal-essential-performance-item{display:flex;flex-direction:column;align-items:center;gap:.25rem;text-align:center}.portal-essential-performance-value{font-family:var(--font-mono, "SF Mono", Menlo, monospace);font-size:.875rem;font-weight:600;color:var(--color-foreground)}.portal-essential-performance-label{font-size:.625rem;color:var(--color-muted-foreground);text-transform:uppercase;letter-spacing:.5px}.portal-essential-badge-date{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:var(--color-muted-foreground);margin-bottom:.75rem}.portal-essential-badge-type{display:flex;align-items:center;gap:.375rem;font-size:.6875rem;color:var(--color-muted-foreground);padding-top:.75rem;border-top:1px solid var(--color-border)}.portal-locked-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .625rem;border-radius:9999px;font-size:.6875rem;font-weight:500;background:var(--color-muted);color:var(--color-muted-foreground);border:1px solid var(--color-border)}.portal-tier-card{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:12px;background:color-mix(in srgb,var(--color-muted) 50%,transparent);border:1px solid var(--color-border);transition:all .2s ease}.portal-tier-card:hover{transform:translateY(-2px)}.portal-tier-card-bronze{border-color:#cd7f324d}.portal-tier-card-bronze .portal-tier-card-icon{color:#cd7f32}.portal-tier-card-silver{border-color:#c0c0c04d}.portal-tier-card-silver .portal-tier-card-icon{color:silver}.portal-tier-card-gold{border-color:#ffd7004d}.portal-tier-card-gold .portal-tier-card-icon{color:gold}.portal-tier-card-icon{display:flex;align-items:center;justify-content:center}.portal-tier-card-content{display:flex;flex-direction:column;gap:.125rem}.portal-tier-card-value{font-family:var(--font-mono, "SF Mono", Menlo, monospace);font-size:1.25rem;font-weight:600;color:var(--color-foreground);line-height:1}.portal-tier-card-label{font-size:.625rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted-foreground)}.portal-tabs-enhanced{display:flex;gap:.5rem;padding:.5rem;background:color-mix(in srgb,var(--color-muted) 50%,transparent);border-radius:12px;margin-bottom:1.5rem}.portal-tabs-enhanced [role=tab]{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border-radius:8px;font-size:.875rem;font-weight:500;color:var(--color-muted-foreground);background:transparent;border:none;cursor:pointer;transition:all .2s ease}.portal-tabs-enhanced [role=tab]:hover{color:var(--color-foreground);background:var(--color-muted)}.portal-tabs-enhanced [role=tab][aria-selected=true]{color:var(--color-primary);background:var(--color-card);box-shadow:0 1px 3px #0000001a}.portal-tabs-enhanced [role=tab] svg{opacity:.7}.portal-tabs-enhanced [role=tab]:hover svg,.portal-tabs-enhanced [role=tab][aria-selected=true] svg{opacity:1}.portal-tab-content{margin-top:1.5rem;display:flex;flex-direction:column;gap:1.5rem}.portal-section-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:20px;padding:1.5rem;min-width:0;overflow:hidden}.portal-section-header{padding-bottom:1rem;margin-bottom:1rem;border-bottom:1px solid var(--color-border)}.portal-section-title{font-size:1.125rem;font-weight:600;color:var(--color-foreground);line-height:1.4}.portal-section-description{font-size:.875rem;color:var(--color-muted-foreground);margin-top:.25rem;line-height:1.5}.portal-section-body{display:flex;flex-direction:column;gap:1rem}.portal-page-title{font-size:1.5rem;font-weight:700;color:var(--color-foreground);line-height:1.2}@media (min-width: 768px){.portal-page-title{font-size:1.875rem}}.portal-page-subtitle{font-size:.875rem;color:var(--color-muted-foreground);margin-top:.5rem;line-height:1.5}@media (min-width: 768px){.portal-page-subtitle{font-size:1rem}}.portal-page-header-tight{padding-top:1rem;padding-bottom:.5rem}.portal-page-header{display:flex;align-items:flex-start;gap:1rem}.portal-wizard-content{display:flex;flex-direction:column;gap:1rem}.portal-error{font-size:.875rem;color:var(--color-destructive);margin-top:.25rem}.portal-command-row{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;border-radius:12px;background:rgb(var(--color-muted) / .4);border:1px solid var(--color-border)}.portal-kbd{display:inline-flex;align-items:center;justify-content:center;min-width:48px;padding:.25rem .5rem;border-radius:8px;background:var(--color-card);border:1px solid var(--color-border);font-size:.75rem;font-weight:600;font-family:var(--font-mono, "SF Mono", Menlo, monospace);color:var(--color-foreground);box-shadow:inset 0 -1px 0 var(--color-border)}.portal-lesson-card{padding:1rem;background:var(--color-card);border:1px solid var(--color-border);border-radius:16px;transition:all .2s ease}.portal-lesson-card:hover{border-color:rgb(var(--color-primary-rgb) / .3);transform:translateY(-2px);box-shadow:0 10px 20px -16px rgb(var(--color-primary-rgb) / .4)}.portal-lesson-number{width:32px;height:32px;border-radius:10px;background:rgb(var(--color-primary-rgb) / .12);color:var(--color-primary);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;font-family:var(--font-mono, "SF Mono", Menlo, monospace)}.portal-progress-hero{display:flex;flex-direction:column;align-items:center;gap:1.5rem;padding:2rem;background:var(--color-card);border:1px solid var(--color-border);border-radius:24px;position:relative;overflow:hidden}@media (min-width: 768px){.portal-progress-hero{flex-direction:row;justify-content:space-between}}.portal-progress-hero-content{flex:1;display:flex;flex-direction:column;gap:.5rem}.portal-progress-hero-title{font-size:1.25rem;font-weight:600;color:var(--color-foreground);letter-spacing:-.025em}@media (min-width: 768px){.portal-progress-hero-title{font-size:1.5rem}}.portal-progress-hero-subtitle{font-size:.875rem;color:var(--color-muted-foreground);line-height:1.5}.portal-bar-chart{display:flex;align-items:flex-end;justify-content:space-between;gap:.75rem;height:180px;padding:1rem 0}.portal-bar-item{display:flex;flex-direction:column;align-items:center;gap:.5rem;flex:1;height:100%;animation:portal-fade-in .4s ease forwards;opacity:0}.portal-bar-container{flex:1;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;position:relative}.portal-bar{width:100%;max-width:40px;min-height:4px;background:linear-gradient(180deg,var(--color-primary),rgb(var(--color-primary-rgb) / .7));border-radius:4px 4px 0 0;transition:height .5s cubic-bezier(.4,0,.2,1)}.portal-bar-value{position:absolute;top:-1.5rem;font-size:.75rem;font-weight:600;font-family:var(--font-mono, "SF Mono", Menlo, monospace);color:var(--color-foreground)}.portal-bar-label{font-size:.75rem;color:var(--color-muted-foreground);text-align:center}.portal-chart-summary{display:flex;align-items:center;justify-content:space-between;padding-top:1rem;border-top:1px solid var(--color-border);margin-top:1rem}.portal-chart-legend{display:flex;align-items:center;gap:1rem}.portal-chart-legend-item{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:var(--color-muted-foreground)}.portal-chart-legend-dot{width:8px;height:8px;border-radius:50%;background:var(--color-primary)}.portal-chart-total{display:flex;align-items:center;gap:.25rem}.portal-chart-total-label{font-size:.75rem;color:var(--color-muted-foreground)}.portal-chart-total-value{font-size:.875rem;font-weight:600;font-family:var(--font-mono, "SF Mono", Menlo, monospace);color:var(--color-primary)}.portal-achievement-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:rgb(var(--color-muted) / .3);border:1px solid var(--color-border);border-radius:12px;transition:all .3s cubic-bezier(.4,0,.2,1)}.portal-achievement-item:hover{background:color-mix(in srgb,var(--color-muted) 50%,transparent);transform:translate(4px);border-color:rgb(var(--color-primary-rgb) / .3)}.portal-achievement-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .3s ease,box-shadow .3s ease}.portal-achievement-item:hover .portal-achievement-icon{transform:scale(1.05)}.portal-achievement-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:.125rem}.portal-achievement-title{font-size:.875rem;font-weight:500;color:var(--color-foreground)}.portal-achievement-subtitle{font-size:.75rem;color:var(--color-muted-foreground)}.portal-goal-card{padding:1rem;background:rgb(var(--color-muted) / .3);border:1px solid var(--color-border);border-radius:12px;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative}.portal-goal-card:hover{background:color-mix(in srgb,var(--color-muted) 50%,transparent);transform:translateY(-2px)}.portal-goal-card-primary{border-left:3px solid var(--color-primary)}.portal-goal-card-primary:hover{box-shadow:0 8px 24px -8px rgb(var(--color-primary-rgb) / .15)}.portal-goal-card-secondary{border-left:3px solid var(--color-muted-foreground)}.portal-goal-card-secondary:hover{box-shadow:0 8px 24px -8px color-mix(in srgb,var(--color-muted-foreground) 10%,transparent)}.portal-goal-card-streak{border-left:3px solid rgb(245 158 11)}.portal-goal-card-streak:hover{box-shadow:0 8px 24px -8px #f59e0b26}.portal-goal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.portal-goal-title{font-size:.75rem;font-weight:500;color:var(--color-muted-foreground)}.portal-goal-value{font-size:.875rem;font-weight:600;font-family:var(--font-mono, "SF Mono", Menlo, monospace)}.portal-goal-status{font-size:.75rem;margin-top:.5rem}.portal-goal-status-success{color:var(--color-success)}.portal-goal-status-muted{color:var(--color-muted-foreground)}.portal-progress-secondary{background:linear-gradient(90deg,var(--color-muted-foreground),rgb(var(--color-muted-foreground) / .7))}.portal-progress-streak{background:linear-gradient(90deg,#f59e0b,#f59e0bb3)}.portal-skeleton{background:rgb(var(--color-muted) / .6);border:1px solid rgb(var(--color-border) / .6);animation:portal-glow-pulse 1.5s ease-in-out infinite}.portal-text-link{color:var(--color-primary);text-decoration:none;transition:color .2s ease}.portal-text-link:hover{color:var(--color-primary-hover, var(--color-primary));text-decoration:underline}.portal-empty-state-small{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem 1rem;gap:.75rem}.portal-empty-state-small p{font-size:.875rem;color:var(--color-muted-foreground)}@media (prefers-reduced-motion: reduce){.portal-animate-in,.portal-animate-fade,.portal-animate-slide-up,.portal-animate-scale,.portal-animate-in-delay-1,.portal-animate-in-delay-2,.portal-animate-in-delay-3,.portal-animate-in-delay-4,.portal-animate-in-delay-5,.portal-animate-in-delay-8,.portal-staggered-grid>*,.portal-status-indicator-glow,.portal-chat-cursor,.portal-chat-typing-dot{animation:none;opacity:1;transform:none}.portal-nav-item,.portal-btn,.portal-quick-action,.portal-glass-card{transition:none}}.ui-theme[data-theme=admin],.ui-theme-admin{--theme-primary: var(--color-cyan-500);--theme-primary-hover: var(--color-cyan-400);--theme-primary-muted: var(--color-cyan-muted);--theme-primary-glow: var(--color-cyan-glow);--theme-primary-text: #000000;--theme-accent: var(--color-amber-500);--theme-accent-hover: var(--color-amber-400);--theme-accent-muted: var(--color-amber-muted);--color-primary: var(--color-cyan-500);--color-accent: var(--color-amber-500);--color-accent-foreground: #000000;--theme-glow: var(--color-cyan-500);--glow-primary: 0 0 20px var(--color-cyan-glow);--glow-accent: 0 0 20px var(--color-amber-glow)}.ui-theme[data-theme=admin],.ui-theme-admin{--sidebar: #f8fafc;--sidebar-foreground: #0f172a;--sidebar-border: #e2e8f0;--sidebar-accent: color-mix(in oklch, var(--color-cyan-500) 10%, #f1f5f9);--sidebar-accent-foreground: #0f172a;--sidebar-primary: var(--color-cyan-500);--sidebar-primary-foreground: #000000;--color-sidebar: #f8fafc;--color-sidebar-foreground: #0f172a;--color-sidebar-primary: var(--color-cyan-500);--color-sidebar-primary-foreground: #000000;--color-sidebar-accent: color-mix(in oklch, var(--color-cyan-500) 10%, #f1f5f9);--color-sidebar-accent-foreground: #0f172a;--color-sidebar-border: #e2e8f0}.dark .ui-theme[data-theme=admin],.dark .ui-theme-admin,.ui-theme[data-theme=admin].dark,.ui-theme[data-theme=admin][data-mode=dark],.ui-theme-admin.dark,.ui-theme-admin[data-mode=dark]{--color-background: #080c0c;--color-foreground: #ebf0f5;--color-card: #141c1c;--color-card-foreground: #ebf0f5;--color-popover: #141c1c;--color-popover-foreground: #ebf0f5;--color-muted: #1a2424;--color-muted-foreground: #88a0a0;--color-border: #2a3a3a;--color-input: #1a2424;--color-secondary: #1a2424;--color-secondary-foreground: #ebf0f5;--sidebar: #141c1c;--sidebar-foreground: #ebf0f5;--sidebar-border: #2a3a3a;--sidebar-accent: color-mix(in oklch, var(--color-cyan-500) 15%, var(--color-background));--sidebar-accent-foreground: #ebf0f5;--sidebar-primary: var(--color-cyan-500);--sidebar-primary-foreground: var(--color-background);--color-sidebar: #141c1c;--color-sidebar-foreground: #ebf0f5;--color-sidebar-primary: var(--color-cyan-500);--color-sidebar-primary-foreground: var(--color-background);--color-sidebar-accent: color-mix(in oklch, var(--color-cyan-500) 15%, var(--color-background));--color-sidebar-accent-foreground: #ebf0f5;--color-sidebar-border: #2a3a3a}[data-pageshell-theme=admin] .sidebar-dropdown{--color-accent: color-mix(in oklch, var(--color-cyan-500) 15%, #f1f5f9)}[data-pageshell-theme=admin] .themed-dropdown,[data-pageshell-theme=admin] .themed-popover,[data-pageshell-theme=admin] .themed-select{--color-accent: color-mix(in oklch, var(--color-cyan-500) 10%, #f1f5f9)}[data-pageshell-theme=admin] .themed-dialog,[data-pageshell-theme=admin] .themed-sheet{--color-primary: #06b6d4}[data-pageshell-theme=admin] .themed-tooltip{--color-primary: #06b6d4;--color-primary-foreground: #000000;background-color:#06b6d4!important;color:#000!important}.dark[data-pageshell-theme=admin] .sidebar-dropdown{--color-accent: color-mix(in oklch, var(--color-cyan-500) 25%, var(--color-neutral-700));--color-muted: color-mix(in oklch, var(--color-cyan-500) 20%, var(--color-neutral-700))}.dark[data-pageshell-theme=admin] .themed-dropdown,.dark[data-pageshell-theme=admin] .themed-popover,.dark[data-pageshell-theme=admin] .themed-select{--color-popover: #141c1f;--color-popover-foreground: #f0f8fa;--color-accent: #1a4a52;--color-accent-foreground: #f0f8fa;--color-muted: #1a4048;--color-muted-foreground: #b8dce4;--color-border: #223538;background-color:#141c1f!important;color:#f0f8fa!important;border-color:#223538!important}.dark[data-pageshell-theme=admin] .themed-dialog,.dark[data-pageshell-theme=admin] .themed-sheet{--color-background: #10191c;--color-foreground: #f0f8fa;--color-border: #1c2e32;--color-muted: #141c1f;--color-muted-foreground: #6b8a90;--color-primary: #06b6d4;--color-primary-foreground: #000000;background-color:#10191c!important;color:#f0f8fa!important;border-color:#1c2e32!important}.ui-theme[data-theme=creator],.ui-theme-creator{--theme-primary: #d97757;--theme-primary-hover: #e39275;--theme-primary-muted: rgba(217, 119, 87, .15);--theme-primary-glow: rgba(217, 119, 87, .3);--theme-primary-text: #1c1917;--theme-accent: #b45309;--theme-accent-hover: #d97706;--theme-accent-muted: rgba(180, 83, 9, .15);--color-primary: #d97757;--color-primary-foreground: #1c1917;--color-accent: #b45309;--color-accent-foreground: #fffbeb;--color-ring: #d97757;--theme-glow: #d97757;--glow-primary: 0 0 20px rgba(217, 119, 87, .3);--glow-accent: 0 0 20px rgba(180, 83, 9, .3)}.ui-theme[data-theme=creator],.ui-theme-creator{--sidebar: #f8fafc;--sidebar-foreground: #0f172a;--sidebar-border: #e2e8f0;--sidebar-accent: color-mix(in oklch, #d97757 10%, #f1f5f9);--sidebar-accent-foreground: #0f172a;--sidebar-primary: #d97757;--sidebar-primary-foreground: #1c1917;--color-sidebar: #f8fafc;--color-sidebar-foreground: #0f172a;--color-sidebar-primary: #d97757;--color-sidebar-primary-foreground: #1c1917;--color-sidebar-accent: color-mix(in oklch, #d97757 10%, #f1f5f9);--color-sidebar-accent-foreground: #0f172a;--color-sidebar-border: #e2e8f0}.dark .ui-theme[data-theme=creator],.dark .ui-theme-creator,.ui-theme[data-theme=creator].dark,.ui-theme[data-theme=creator][data-mode=dark],.ui-theme-creator.dark,.ui-theme-creator[data-mode=dark]{--color-background: #0c0a08;--color-foreground: #f5f0eb;--color-card: #1c1814;--color-card-foreground: #f5f0eb;--color-popover: #1c1814;--color-popover-foreground: #f5f0eb;--color-muted: #241f1a;--color-muted-foreground: #a09488;--color-border: #3a332a;--color-input: #241f1a;--color-secondary: #241f1a;--color-secondary-foreground: #f5f0eb;--sidebar: #1c1814;--sidebar-foreground: #f5f0eb;--sidebar-border: #3a332a;--sidebar-accent: color-mix(in oklch, #d97757 15%, #0c0a08);--sidebar-accent-foreground: #f5f0eb;--sidebar-primary: #d97757;--sidebar-primary-foreground: #0c0a08;--color-sidebar: #1c1814;--color-sidebar-foreground: #f5f0eb;--color-sidebar-primary: #d97757;--color-sidebar-primary-foreground: #0c0a08;--color-sidebar-accent: color-mix(in oklch, #d97757 15%, #0c0a08);--color-sidebar-accent-foreground: #f5f0eb;--color-sidebar-border: #3a332a}[data-pageshell-theme=creator] .sidebar-dropdown{--color-accent: color-mix(in oklch, #d97757 15%, #f1f5f9)}[data-pageshell-theme=creator] .themed-dropdown,[data-pageshell-theme=creator] .themed-popover,[data-pageshell-theme=creator] .themed-select{--color-accent: color-mix(in oklch, #d97757 10%, #f1f5f9)}[data-pageshell-theme=creator] .themed-dialog,[data-pageshell-theme=creator] .themed-sheet{--color-primary: #d97757}[data-pageshell-theme=creator] .themed-tooltip{--color-primary: #d97757;--color-primary-foreground: #1c1917;background-color:#d97757!important;color:#1c1917!important}.dark[data-pageshell-theme=creator] .sidebar-dropdown{--color-accent: color-mix(in oklch, #d97757 25%, var(--color-neutral-700));--color-muted: color-mix(in oklch, #d97757 20%, var(--color-neutral-700))}.dark[data-pageshell-theme=creator] .themed-dropdown,.dark[data-pageshell-theme=creator] .themed-popover,.dark[data-pageshell-theme=creator] .themed-select{--color-popover: #1c1614;--color-popover-foreground: #faf6f4;--color-accent: #4a2a1a;--color-accent-foreground: #faf6f4;--color-muted: #3a2418;--color-muted-foreground: #c4a898;--color-border: #352820;background-color:#1c1614!important;color:#faf6f4!important;border-color:#352820!important}.dark[data-pageshell-theme=creator] .themed-dialog,.dark[data-pageshell-theme=creator] .themed-sheet{--color-background: #1a1410;--color-foreground: #faf6f4;--color-border: #2e2218;--color-muted: #1c1614;--color-muted-foreground: #8a7060;--color-primary: #d97757;--color-primary-foreground: #1c1917;background-color:#1a1410!important;color:#faf6f4!important;border-color:#2e2218!important}.lesson-content pre code .hljs-keyword{color:#c792ea}.lesson-content pre code .hljs-string{color:#c3e88d}.lesson-content pre code .hljs-number{color:#f78c6c}.lesson-content pre code .hljs-comment{color:#546e7a;font-style:italic}.lesson-content pre code .hljs-function{color:#82aaff}.lesson-content pre code .hljs-variable{color:#f07178}.lesson-content pre code .hljs-type{color:#ffcb6b}.ui-theme[data-theme=student],.ui-theme-student{--theme-primary: var(--color-emerald-500);--theme-primary-hover: var(--color-emerald-400);--theme-primary-muted: var(--color-emerald-muted);--theme-primary-glow: var(--color-emerald-glow);--theme-primary-text: #000000;--theme-accent: var(--color-sky-500);--theme-accent-hover: var(--color-sky-400);--theme-accent-muted: var(--color-sky-muted);--color-primary: var(--color-emerald-500);--color-accent: var(--color-sky-500);--color-accent-foreground: #000000;--theme-glow: var(--color-emerald-500);--glow-primary: 0 0 20px var(--color-emerald-glow);--glow-accent: 0 0 20px var(--color-sky-glow)}.ui-theme[data-theme=student],.ui-theme-student{--sidebar: #f8fafc;--sidebar-foreground: #0f172a;--sidebar-border: #e2e8f0;--sidebar-accent: color-mix(in oklch, var(--color-emerald-500) 10%, #f1f5f9);--sidebar-accent-foreground: #0f172a;--sidebar-primary: var(--color-emerald-500);--sidebar-primary-foreground: #000000;--color-sidebar: #f8fafc;--color-sidebar-foreground: #0f172a;--color-sidebar-primary: var(--color-emerald-500);--color-sidebar-primary-foreground: #000000;--color-sidebar-accent: color-mix(in oklch, var(--color-emerald-500) 10%, #f1f5f9);--color-sidebar-accent-foreground: #0f172a;--color-sidebar-border: #e2e8f0}.dark .ui-theme[data-theme=student],.dark .ui-theme-student,.ui-theme[data-theme=student].dark,.ui-theme[data-theme=student][data-mode=dark],.ui-theme-student.dark,.ui-theme-student[data-mode=dark]{--color-background: #080c0a;--color-foreground: #ebf5f0;--color-card: #141c18;--color-card-foreground: #ebf5f0;--color-popover: #141c18;--color-popover-foreground: #ebf5f0;--color-muted: #1a241f;--color-muted-foreground: #88a094;--color-border: #2a3a33;--color-input: #1a241f;--color-secondary: #1a241f;--color-secondary-foreground: #ebf5f0;--sidebar: #141c18;--sidebar-foreground: #ebf5f0;--sidebar-border: #2a3a33;--sidebar-accent: color-mix(in oklch, var(--color-emerald-500) 15%, #080c0a);--sidebar-accent-foreground: #ebf5f0;--sidebar-primary: var(--color-emerald-500);--sidebar-primary-foreground: #080c0a;--color-sidebar: #141c18;--color-sidebar-foreground: #ebf5f0;--color-sidebar-primary: var(--color-emerald-500);--color-sidebar-primary-foreground: #080c0a;--color-sidebar-accent: color-mix(in oklch, var(--color-emerald-500) 15%, #080c0a);--color-sidebar-accent-foreground: #ebf5f0;--color-sidebar-border: #2a3a33}[data-pageshell-theme=student] .sidebar-dropdown{--color-accent: color-mix(in oklch, var(--color-emerald-500) 15%, #f1f5f9)}[data-pageshell-theme=student] .themed-dropdown,[data-pageshell-theme=student] .themed-popover,[data-pageshell-theme=student] .themed-select{--color-accent: color-mix(in oklch, var(--color-emerald-500) 10%, #f1f5f9)}[data-pageshell-theme=student] .themed-dialog,[data-pageshell-theme=student] .themed-sheet{--color-primary: #10b981}[data-pageshell-theme=student] .themed-tooltip{--color-primary: #10b981;--color-primary-foreground: #000000;background-color:#10b981!important;color:#000!important}.dark[data-pageshell-theme=student] .sidebar-dropdown{--color-accent: color-mix(in oklch, var(--color-emerald-500) 25%, var(--color-neutral-700));--color-muted: color-mix(in oklch, var(--color-emerald-500) 20%, var(--color-neutral-700))}.dark[data-pageshell-theme=student] .themed-dropdown,.dark[data-pageshell-theme=student] .themed-popover,.dark[data-pageshell-theme=student] .themed-select{--color-popover: #141d19;--color-popover-foreground: #f2faf6;--color-accent: #1a4a3a;--color-accent-foreground: #f2faf6;--color-muted: #1a4035;--color-muted-foreground: #c4e8d8;--color-border: #22352c;background-color:#141d19!important;color:#f2faf6!important;border-color:#22352c!important}.dark[data-pageshell-theme=student] .themed-dialog,.dark[data-pageshell-theme=student] .themed-sheet{--color-background: #101a15;--color-foreground: #f2faf6;--color-border: #1c2e25;--color-muted: #141d19;--color-muted-foreground: #6b8a7a;--color-primary: #10b981;--color-primary-foreground: #000000;background-color:#101a15!important;color:#f2faf6!important;border-color:#1c2e25!important}.react-flow{direction:ltr}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;cursor:grab}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:grabbing}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow .react-flow__edges{pointer-events:none;overflow:visible}.react-flow__edge-path,.react-flow__connection-path{stroke:#b1b1b7;stroke-width:1;fill:none}.react-flow__edge{pointer-events:visibleStroke;cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:grab}.react-flow__node.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background:#1a192b;border:1px solid white;border-radius:100%}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:-4px;transform:translate(-50%)}.react-flow__handle-top{left:50%;top:-4px;transform:translate(-50%)}.react-flow__handle-left{top:50%;left:-4px;transform:translateY(-50%)}.react-flow__handle-right{right:-4px;top:50%;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translate(-50%)}.react-flow__attribution{font-size:10px;background:#ffffff80;padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-input,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:3px;width:150px;font-size:12px;color:#222;text-align:center;border-width:1px;border-style:solid;border-color:#1a192b;background-color:#fff}.react-flow__node-default.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:#f0f0f040}.react-flow__nodesselection-rect,.react-flow__selection{background:#0059dc14;border:1px dotted rgba(0,89,220,.8)}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls{box-shadow:0 0 2px 1px #00000014}.react-flow__controls-button{border:none;background:#fefefe;border-bottom:1px solid #eee;box-sizing:content-box;display:flex;justify-content:center;align-items:center;width:16px;height:16px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:5px}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__minimap{background-color:#fff}.react-flow__minimap svg{display:block}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:4px;height:4px;border:1px solid #fff;border-radius:1px;background-color:#3367d9;transform:translate(-50%,-50%)}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:#3367d9;border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}
