:root{--color-blue-50: #eff6ff;--color-blue-100: #dbeafe;--color-blue-200: #bfdbfe;--color-blue-300: #93c5fd;--color-blue-400: #60a5fa;--color-blue-500: #3b82f6;--color-blue-600: #2563eb;--color-blue-700: #1d4ed8;--color-blue-800: #1e40af;--color-blue-900: #1e3a8a;--color-slate-50: #f8fafc;--color-slate-100: #f1f5f9;--color-slate-200: #e2e8f0;--color-slate-300: #cbd5e1;--color-slate-400: #94a3b8;--color-slate-500: #64748b;--color-slate-600: #475569;--color-slate-700: #334155;--color-slate-800: #1e293b;--color-slate-900: #0f172a;--color-slate-950: #020617;--color-gray-300: var(--color-slate-300);--color-gray-600: var(--color-slate-600);--color-green-50: #f0fdf4;--color-green-100: #dcfce7;--color-green-200: #bbf7d0;--color-green-400: #4ade80;--color-green-500: #22c55e;--color-green-600: #16a34a;--color-green-700: #15803d;--color-amber-50: #fffbeb;--color-amber-100: #fef3c7;--color-amber-200: #fde68a;--color-amber-400: #fbbf24;--color-amber-500: #f59e0b;--color-amber-600: #d97706;--color-amber-700: #b45309;--color-red-50: #fef2f2;--color-red-100: #fee2e2;--color-red-200: #fecaca;--color-red-400: #f87171;--color-red-500: #ef4444;--color-red-600: #dc2626;--color-red-700: #b91c1c;--font-sans: -apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif;--font-mono: "SF Mono", "Fira Code", "Fira Mono", "Consolas", "Monaco", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--font-extrabold: 800;--font-black: 900;--leading-none: 1;--leading-tight: 1.25;--leading-snug: 1.375;--leading-normal: 1.5;--leading-relaxed: 1.625;--leading-loose: 2;--tracking-tighter: -.05em;--tracking-tight: -.025em;--tracking-normal: 0;--tracking-wide: .025em;--tracking-wider: .05em;--space-0: 0;--space-px: 1px;--space-0-5: .125rem;--space-1: .25rem;--space-1-5: .375rem;--space-2: .5rem;--space-2-5: .625rem;--space-3: .75rem;--space-3-5: .875rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-7: 1.75rem;--space-8: 2rem;--space-9: 2.25rem;--space-10: 2.5rem;--space-11: 2.75rem;--space-12: 3rem;--space-14: 3.5rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--space-32: 8rem;--spacing-xs: var(--space-1);--spacing-sm: var(--space-2);--spacing-md: var(--space-4);--spacing-lg: var(--space-6);--spacing-xl: var(--space-8);--radius-none: 0;--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-2xl: 1rem;--radius-3xl: 1.5rem;--radius-full: 9999px;--shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .25);--shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / .05);--duration-75: 75ms;--duration-100: .1s;--duration-150: .15s;--duration-200: .2s;--duration-300: .3s;--duration-500: .5s;--duration-700: .7s;--duration-1000: 1s;--ease-linear: linear;--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(.68, -.55, .265, 1.55);--transition-none: none;--transition-all: all var(--duration-200) var(--ease-in-out);--transition-colors: color var(--duration-200) var(--ease-in-out), background-color var(--duration-200) var(--ease-in-out), border-color var(--duration-200) var(--ease-in-out);--transition-opacity: opacity var(--duration-200) var(--ease-in-out);--transition-shadow: box-shadow var(--duration-200) var(--ease-in-out);--transition-transform: transform var(--duration-200) var(--ease-in-out);--transition-base: var(--transition-all);--z-auto: auto;--z-0: 0;--z-10: 10;--z-20: 20;--z-30: 30;--z-40: 40;--z-50: 50;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070;--z-toast: 1080;--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--breakpoint-2xl: 1536px;--container-sm: 640px;--container-md: 768px;--container-lg: 1024px;--container-xl: 1280px;--container-2xl: 1536px;--touch-target-min: 44px;--touch-target: 48px;--height-input-sm: 32px;--height-input: 40px;--height-input-lg: 48px;--height-button-sm: 32px;--height-button: 40px;--height-button-lg: 48px;--height-navbar: 64px;--height-sidebar: 100vh;--focus-ring-width: 2px;--focus-ring-offset: 2px;--focus-ring-color: var(--color-blue-500);--focus-ring: 0 0 0 var(--focus-ring-offset) var(--bg-primary), 0 0 0 calc(var(--focus-ring-offset) + var(--focus-ring-width)) var(--focus-ring-color)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}ul,ol{list-style:none}html{-moz-text-size-adjust:none;-webkit-text-size-adjust:none;text-size-adjust:none;font-size:16px;scroll-behavior:smooth;height:100%}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--text-primary);background-color:var(--bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100%;min-height:100dvh;text-rendering:optimizeLegibility;overflow-x:hidden}#root{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}a:not([class]){text-decoration-skip-ink:auto;color:var(--text-link)}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit;color:inherit;max-width:100%}button{background:none;border:none;cursor:pointer;-webkit-tap-highlight-color:transparent}@media(prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}:focus{outline:none}:focus-visible{outline:none;box-shadow:var(--focus-ring)}a:focus-visible,button:focus-visible,[role=button]:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;box-shadow:var(--focus-ring)}h1,h2,h3,h4,h5,h6{font-weight:var(--font-semibold);line-height:var(--leading-tight);color:var(--text-primary)}h1{font-size:clamp(1.75rem,3.5vw,var(--text-4xl));letter-spacing:var(--tracking-tight)}h2{font-size:clamp(1.5rem,3vw,var(--text-3xl));letter-spacing:var(--tracking-tight)}h3{font-size:clamp(1.25rem,2.4vw,var(--text-2xl))}h4{font-size:var(--text-xl)}h5{font-size:var(--text-lg)}h6{font-size:var(--text-base)}p{line-height:var(--leading-relaxed)}strong,b{font-weight:var(--font-semibold)}small{font-size:var(--text-sm)}a{color:var(--text-link);text-decoration:none;transition:color var(--duration-150) var(--ease-in-out)}a:hover{color:var(--text-link-hover);text-decoration:underline}input,textarea,select{background-color:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);font-size:var(--text-base);color:var(--text-primary);transition:border-color var(--duration-150) var(--ease-in-out),box-shadow var(--duration-150) var(--ease-in-out)}input::placeholder,textarea::placeholder{color:var(--input-placeholder)}input:hover,textarea:hover,select:hover{border-color:var(--input-border-hover)}input:focus,textarea:focus,select:focus{border-color:var(--input-border-focus);box-shadow:var(--focus-ring)}input:disabled,textarea:disabled,select:disabled{background-color:var(--input-bg-disabled);cursor:not-allowed;opacity:.7}@supports (-webkit-touch-callout: none){input,textarea,select{font-size:max(16px,1rem)}}::selection{background-color:var(--primary-muted);color:var(--text-primary)}*{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover)}code,kbd,pre,samp{font-family:var(--font-mono);font-size:var(--text-sm)}code{background-color:var(--code-bg);color:var(--code-text);padding:var(--space-0-5) var(--space-1-5);border-radius:var(--radius-md);border:1px solid var(--code-border)}pre{background-color:var(--code-bg);padding:var(--space-4);border-radius:var(--radius-lg);overflow-x:auto;border:1px solid var(--code-border)}pre code{background:none;padding:0;border:none;border-radius:0}table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--divider)}th{font-weight:var(--font-semibold);color:var(--text-secondary);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:var(--tracking-wide)}hr{border:none;height:1px;background-color:var(--divider);margin:var(--space-6) 0}.skip-link{position:absolute;top:-40px;left:0;background:var(--primary);color:var(--primary-text);padding:var(--space-2) var(--space-4);z-index:var(--z-tooltip);transition:top var(--duration-200) var(--ease-out)}.skip-link:focus{top:0}@supports (padding: env(safe-area-inset-top)){body{padding-top:env(safe-area-inset-top);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left)}}@media(hover:none)and (pointer:coarse){button,a,input[type=button],input[type=submit],input[type=reset],[role=button]{min-height:var(--touch-target-min);min-width:var(--touch-target-min)}.hover\:scale:hover,.hover\:lift:hover{transform:none}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.animate-fadeIn{animation:fadeIn var(--duration-200) var(--ease-out) forwards}.animate-slideInUp{animation:slideInUp var(--duration-200) var(--ease-out) forwards}.animate-slideInDown{animation:slideInDown var(--duration-200) var(--ease-out) forwards}.animate-scaleIn{animation:scaleIn var(--duration-200) var(--ease-out) forwards}.animate-spin{animation:spin 1s linear infinite}.animate-pulse{animation:pulse 2s var(--ease-in-out) infinite}.animate-bounce{animation:bounce 1s var(--ease-in-out) infinite}.container{width:100%;max-width:var(--container-xl);margin-left:auto;margin-right:auto;padding-left:var(--space-4);padding-right:var(--space-4)}@media(min-width:640px){.container{padding-left:var(--space-6);padding-right:var(--space-6)}}@media(min-width:1024px){.container{padding-left:var(--space-8);padding-right:var(--space-8)}}:root,.theme-light{color-scheme:light;--bg-primary: #ffffff;--bg-secondary: var(--color-slate-50);--bg-tertiary: var(--color-slate-100);--bg-elevated: #ffffff;--bg-sunken: var(--color-slate-100);--bg-overlay: rgba(15, 23, 42, .5);--overlay-dark: var(--bg-overlay);--bg-hover: var(--surface-hover);--surface-primary: #ffffff;--surface-secondary: var(--color-slate-50);--surface-hover: var(--color-slate-100);--surface-active: var(--color-slate-200);--surface-selected: var(--color-blue-50);--surface-disabled: var(--color-slate-100);--text-primary: var(--color-slate-900);--text-secondary: var(--color-slate-600);--text-tertiary: var(--color-slate-500);--text-muted: var(--color-slate-400);--text-inverse: #ffffff;--text-link: var(--color-blue-600);--text-link-hover: var(--color-blue-700);--primary: var(--color-blue-600);--primary-hover: var(--color-blue-700);--primary-active: var(--color-blue-800);--primary-subtle: var(--color-blue-50);--primary-subtle-hover: var(--color-blue-100);--primary-text: #ffffff;--primary-muted: var(--color-blue-100);--color-primary: var(--primary);--gradient-primary: linear-gradient(135deg, var(--color-blue-600) 0%, var(--color-blue-700) 100%);--gradient-primary-hover: linear-gradient( 135deg, var(--color-blue-700) 0%, var(--color-blue-800) 100% );--gradient-success: linear-gradient( 135deg, var(--color-green-600) 0%, var(--color-green-700) 100% );--secondary: var(--color-slate-200);--secondary-hover: var(--color-slate-300);--secondary-active: var(--color-slate-400);--secondary-text: var(--color-slate-700);--accent: var(--color-blue-500);--accent-hover: var(--color-blue-600);--accent-subtle: var(--color-blue-50);--success: var(--color-green-600);--success-hover: var(--color-green-700);--success-subtle: var(--color-green-50);--success-text: var(--color-green-700);--success-border: var(--color-green-200);--warning: var(--color-amber-500);--warning-hover: var(--color-amber-600);--warning-subtle: var(--color-amber-50);--warning-text: var(--color-amber-700);--warning-border: var(--color-amber-200);--error: var(--color-red-600);--error-hover: var(--color-red-700);--error-subtle: var(--color-red-50);--error-text: var(--color-red-700);--error-border: var(--color-red-200);--info: var(--color-blue-500);--info-hover: var(--color-blue-600);--info-subtle: var(--color-blue-50);--info-text: var(--color-blue-700);--info-border: var(--color-blue-200);--border-default: var(--color-slate-200);--border-muted: var(--color-slate-100);--border-strong: var(--color-slate-300);--border-focus: var(--color-blue-500);--border-error: var(--color-red-500);--border-success: var(--color-green-500);--border-hover: var(--border-strong);--border-color: var(--border-default);--border-light: var(--border-muted);--divider: var(--color-slate-200);--divider-strong: var(--color-slate-300);--shadow-color: 220 3% 15%;--shadow-elevation-low: 0 1px 2px hsl(var(--shadow-color) / .07), 0 1px 3px hsl(var(--shadow-color) / .1);--shadow-elevation-medium: 0 2px 4px hsl(var(--shadow-color) / .07), 0 4px 8px hsl(var(--shadow-color) / .1), 0 8px 16px hsl(var(--shadow-color) / .05);--shadow-elevation-high: 0 4px 8px hsl(var(--shadow-color) / .08), 0 8px 16px hsl(var(--shadow-color) / .1), 0 16px 32px hsl(var(--shadow-color) / .12);--focus-ring: 0 0 0 2px var(--bg-primary), 0 0 0 4px var(--color-blue-500);--focus-ring-error: 0 0 0 2px var(--bg-primary), 0 0 0 4px var(--color-red-500);--focus-ring-success: 0 0 0 2px var(--bg-primary), 0 0 0 4px var(--color-green-500);--input-bg: #ffffff;--input-bg-disabled: var(--color-slate-100);--input-border: var(--color-slate-300);--input-border-hover: var(--color-slate-400);--input-border-focus: var(--color-blue-500);--input-placeholder: var(--color-slate-400);--btn-primary-bg: var(--color-blue-600);--btn-primary-bg-hover: var(--color-blue-700);--btn-primary-bg-active: var(--color-blue-800);--btn-primary-text: #ffffff;--btn-secondary-bg: var(--color-slate-100);--btn-secondary-bg-hover: var(--color-slate-200);--btn-secondary-bg-active: var(--color-slate-300);--btn-secondary-text: var(--color-slate-700);--btn-ghost-bg: transparent;--btn-ghost-bg-hover: var(--color-slate-100);--btn-ghost-bg-active: var(--color-slate-200);--btn-ghost-text: var(--color-slate-700);--btn-outline-bg: transparent;--btn-outline-border: var(--color-slate-300);--btn-outline-border-hover: var(--color-slate-400);--btn-outline-text: var(--color-slate-700);--btn-danger-bg: var(--color-red-600);--btn-danger-bg-hover: var(--color-red-700);--btn-danger-bg-active: var(--color-red-800);--btn-danger-text: #ffffff;--button-disabled-bg: var(--color-slate-200);--button-disabled-text: var(--color-slate-500);--card-bg: #ffffff;--card-bg-hover: var(--color-slate-50);--card-border: var(--color-slate-200);--card-shadow: var(--shadow-elevation-low);--card-shadow-hover: var(--shadow-elevation-medium);--nav-bg: #ffffff;--nav-border: var(--color-slate-200);--nav-item-hover: var(--color-slate-100);--nav-item-active: var(--color-blue-50);--nav-item-text: var(--color-slate-700);--nav-item-text-active: var(--color-blue-700);--sidebar-bg: var(--color-slate-50);--sidebar-border: var(--color-slate-200);--sidebar-item-hover: var(--color-slate-100);--sidebar-item-active: var(--color-blue-50);--modal-bg: #ffffff;--modal-border: var(--color-slate-200);--modal-shadow: var(--shadow-elevation-high);--tooltip-bg: var(--color-slate-900);--tooltip-text: #ffffff;--badge-default-bg: var(--color-slate-100);--badge-default-text: var(--color-slate-700);--badge-primary-bg: var(--color-blue-100);--badge-primary-text: var(--color-blue-700);--badge-success-bg: var(--color-green-100);--badge-success-text: var(--color-green-700);--badge-warning-bg: var(--color-amber-100);--badge-warning-text: var(--color-amber-700);--badge-error-bg: var(--color-red-100);--badge-error-text: var(--color-red-700);--avatar-bg: var(--color-slate-200);--avatar-text: var(--color-slate-600);--avatar-border: var(--color-slate-300);--code-bg: var(--color-slate-100);--code-text: var(--color-slate-800);--code-border: var(--color-slate-200);--scrollbar-track: transparent;--scrollbar-thumb: var(--color-slate-300);--scrollbar-thumb-hover: var(--color-slate-400);--skeleton-base: var(--color-slate-200);--skeleton-shine: var(--color-slate-100);--message-user-bg: var(--color-blue-600);--message-user-text: #ffffff;--message-ai-bg: var(--color-slate-100);--message-ai-text: var(--color-slate-900);--message-system-bg: var(--color-slate-50);--message-system-text: var(--color-slate-600)}.theme-dark{color-scheme:dark;--bg-primary: #0a0a0b;--bg-secondary: #111113;--bg-tertiary: #18181b;--bg-elevated: #1c1c1f;--bg-sunken: #050506;--bg-overlay: rgba(0, 0, 0, .7);--overlay-dark: var(--bg-overlay);--bg-hover: var(--surface-hover);--surface-primary: #141416;--surface-secondary: #1c1c1f;--surface-hover: #232326;--surface-active: #2a2a2e;--surface-selected: rgba(59, 130, 246, .15);--surface-disabled: #1f1f22;--text-primary: #fafafa;--text-secondary: #a1a1aa;--text-tertiary: #71717a;--text-muted: #52525b;--text-inverse: #09090b;--text-link: var(--color-blue-400);--text-link-hover: var(--color-blue-300);--primary: var(--color-blue-500);--primary-hover: var(--color-blue-400);--primary-active: var(--color-blue-300);--primary-subtle: rgba(59, 130, 246, .15);--primary-subtle-hover: rgba(59, 130, 246, .25);--primary-text: #ffffff;--primary-muted: rgba(59, 130, 246, .3);--color-primary: var(--primary);--gradient-primary: linear-gradient(135deg, var(--color-blue-600) 0%, var(--color-blue-500) 100%);--gradient-primary-hover: linear-gradient( 135deg, var(--color-blue-700) 0%, var(--color-blue-600) 100% );--gradient-success: linear-gradient( 135deg, var(--color-green-600) 0%, var(--color-green-500) 100% );--secondary: #27272a;--secondary-hover: #3f3f46;--secondary-active: #52525b;--secondary-text: #fafafa;--accent: var(--color-blue-400);--accent-hover: var(--color-blue-300);--accent-subtle: rgba(59, 130, 246, .15);--success: var(--color-green-500);--success-hover: var(--color-green-400);--success-subtle: rgba(34, 197, 94, .15);--success-text: var(--color-green-400);--success-border: rgba(34, 197, 94, .4);--warning: var(--color-amber-400);--warning-hover: var(--color-amber-300);--warning-subtle: rgba(251, 191, 36, .15);--warning-text: var(--color-amber-400);--warning-border: rgba(251, 191, 36, .4);--error: var(--color-red-500);--error-hover: var(--color-red-400);--error-subtle: rgba(239, 68, 68, .15);--error-text: var(--color-red-400);--error-border: rgba(239, 68, 68, .4);--info: var(--color-blue-400);--info-hover: var(--color-blue-300);--info-subtle: rgba(59, 130, 246, .15);--info-text: var(--color-blue-400);--info-border: rgba(59, 130, 246, .4);--border-default: #27272a;--border-muted: #1f1f22;--border-strong: #3f3f46;--border-focus: var(--color-blue-500);--border-error: var(--color-red-500);--border-success: var(--color-green-500);--border-hover: var(--border-strong);--border-color: var(--border-default);--border-light: var(--border-muted);--divider: #27272a;--divider-strong: #3f3f46;--shadow-color: 0 0% 0%;--shadow-elevation-low: 0 1px 2px hsl(var(--shadow-color) / .4), 0 2px 4px hsl(var(--shadow-color) / .3);--shadow-elevation-medium: 0 2px 4px hsl(var(--shadow-color) / .4), 0 4px 8px hsl(var(--shadow-color) / .3), 0 8px 16px hsl(var(--shadow-color) / .2);--shadow-elevation-high: 0 4px 8px hsl(var(--shadow-color) / .4), 0 8px 16px hsl(var(--shadow-color) / .3), 0 16px 32px hsl(var(--shadow-color) / .2);--focus-ring: 0 0 0 2px var(--bg-primary), 0 0 0 4px var(--color-blue-500);--focus-ring-error: 0 0 0 2px var(--bg-primary), 0 0 0 4px var(--color-red-500);--focus-ring-success: 0 0 0 2px var(--bg-primary), 0 0 0 4px var(--color-green-500);--input-bg: #141416;--input-bg-disabled: #1c1c1f;--input-border: #3f3f46;--input-border-hover: #52525b;--input-border-focus: var(--color-blue-500);--input-placeholder: #52525b;--btn-primary-bg: var(--color-blue-600);--btn-primary-bg-hover: var(--color-blue-500);--btn-primary-bg-active: var(--color-blue-400);--btn-primary-text: #ffffff;--btn-secondary-bg: #27272a;--btn-secondary-bg-hover: #3f3f46;--btn-secondary-bg-active: #52525b;--btn-secondary-text: #fafafa;--btn-ghost-bg: transparent;--btn-ghost-bg-hover: #27272a;--btn-ghost-bg-active: #3f3f46;--btn-ghost-text: #fafafa;--btn-outline-bg: transparent;--btn-outline-border: #3f3f46;--btn-outline-border-hover: #52525b;--btn-outline-text: #fafafa;--btn-danger-bg: var(--color-red-600);--btn-danger-bg-hover: var(--color-red-500);--btn-danger-bg-active: var(--color-red-400);--btn-danger-text: #ffffff;--button-disabled-bg: #2a2a2e;--button-disabled-text: var(--text-muted);--card-bg: #141416;--card-bg-hover: #1c1c1f;--card-border: #27272a;--card-shadow: var(--shadow-elevation-low);--card-shadow-hover: var(--shadow-elevation-medium);--nav-bg: #0a0a0b;--nav-border: #27272a;--nav-item-hover: #1c1c1f;--nav-item-active: rgba(59, 130, 246, .15);--nav-item-text: #a1a1aa;--nav-item-text-active: var(--color-blue-400);--sidebar-bg: #111113;--sidebar-border: #27272a;--sidebar-item-hover: #1c1c1f;--sidebar-item-active: rgba(59, 130, 246, .15);--modal-bg: #141416;--modal-border: #27272a;--modal-shadow: var(--shadow-elevation-high);--tooltip-bg: #fafafa;--tooltip-text: #09090b;--badge-default-bg: #27272a;--badge-default-text: #a1a1aa;--badge-primary-bg: rgba(59, 130, 246, .2);--badge-primary-text: var(--color-blue-400);--badge-success-bg: rgba(34, 197, 94, .2);--badge-success-text: var(--color-green-400);--badge-warning-bg: rgba(251, 191, 36, .2);--badge-warning-text: var(--color-amber-400);--badge-error-bg: rgba(239, 68, 68, .2);--badge-error-text: var(--color-red-400);--avatar-bg: #27272a;--avatar-text: #a1a1aa;--avatar-border: #3f3f46;--code-bg: #1c1c1f;--code-text: #e4e4e7;--code-border: #27272a;--scrollbar-track: transparent;--scrollbar-thumb: #3f3f46;--scrollbar-thumb-hover: #52525b;--skeleton-base: #27272a;--skeleton-shine: #3f3f46;--message-user-bg: var(--color-blue-600);--message-user-text: #ffffff;--message-ai-bg: #1c1c1f;--message-ai-text: #fafafa;--message-system-bg: #141416;--message-system-text: #71717a}:root{--theme-transition: background-color var(--duration-200) var(--ease-in-out), border-color var(--duration-200) var(--ease-in-out), color var(--duration-200) var(--ease-in-out), box-shadow var(--duration-200) var(--ease-in-out)}body,.card,.btn,.input,.nav,.sidebar,.modal{transition:var(--theme-transition)}@media(prefers-reduced-motion:reduce){:root{--theme-transition: none}}.theme-dark .card,.theme-dark .persona-card,.theme-dark .message-bubble,.theme-dark .modal-content{background:var(--card-bg);border-color:var(--border-color);box-shadow:0 4px 12px #0009,0 0 0 1px var(--border-light)}.theme-dark .card:hover,.theme-dark .persona-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #000000b3,0 0 0 1px var(--border-hover)}.theme-dark input,.theme-dark textarea,.theme-dark select{background:var(--input-bg);border-color:var(--input-border);color:var(--text-primary)}.theme-dark input::placeholder,.theme-dark textarea::placeholder{color:var(--text-muted);opacity:.6}.theme-dark input:focus,.theme-dark textarea:focus,.theme-dark select:focus{border-color:var(--input-focus);box-shadow:0 0 0 3px #4b8bff26;background:var(--bg-soft)}.theme-dark input:hover:not(:focus),.theme-dark textarea:hover:not(:focus),.theme-dark select:hover:not(:focus){border-color:var(--border-hover)}.theme-dark .modal-overlay{background:var(--overlay-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.theme-dark .modal{background:var(--bg-soft);box-shadow:0 20px 60px #000c,0 0 0 1px var(--border-color)}.theme-dark .modal-header{border-bottom-color:var(--border-color)}.theme-dark .modal-footer{border-top-color:var(--border-color)}.theme-dark .navbar,.theme-dark .navbar-modern,.theme-dark .app-navbar{background:#141519f2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom-color:var(--border-light);box-shadow:0 2px 8px #0009,0 1px 0 var(--border-light)}.theme-dark .badge,.theme-dark .tag,.theme-dark .chip{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-color)}.theme-dark .badge-primary,.theme-dark .tag-primary{background:var(--accent-light);color:var(--accent-color);border-color:var(--accent-color)}.theme-dark .badge-success{background:var(--success-light);color:var(--success-color)}.theme-dark .badge-error{background:var(--error-light);color:var(--error-color)}.theme-dark .badge-warning{background:var(--warning-light);color:var(--warning-color)}.theme-dark .list-item,.theme-dark .dropdown-item,.theme-dark .menu-item{color:var(--text-primary);border-color:var(--border-light)}.theme-dark .list-item:hover,.theme-dark .dropdown-item:hover,.theme-dark .menu-item:hover{background:var(--bg-hover)}.theme-dark .list-item.active,.theme-dark .dropdown-item.active,.theme-dark .menu-item.active{background:var(--accent-light);color:var(--accent-color)}.theme-dark .divider,.theme-dark hr{border-color:var(--divider-color);opacity:1}.theme-dark code{background:var(--bg-hover);color:#a0e9ff;padding:.2em .4em;border-radius:3px}.theme-dark pre{background:var(--bg-hover);border:1px solid var(--border-color);color:var(--text-primary)}.theme-dark table{border-color:var(--border-color)}.theme-dark th{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--border-color)}.theme-dark td{border-color:var(--divider-color);color:var(--text-primary)}.theme-dark tr:hover{background:var(--bg-hover)}.theme-dark .tooltip{background:var(--bg-hover);color:var(--text-primary);border:1px solid var(--border-color);box-shadow:0 4px 12px #000000b3}.theme-dark .alert{border-color:var(--border-color)}.theme-dark .alert-info{background:var(--info-light);color:var(--info-color);border-color:var(--info-color)}.theme-dark .alert-success{background:var(--success-light);color:var(--success-color);border-color:var(--success-color)}.theme-dark .alert-warning{background:var(--warning-light);color:var(--warning-color);border-color:var(--warning-color)}.theme-dark .alert-error{background:var(--error-light);color:var(--error-color);border-color:var(--error-color)}.theme-dark .skeleton{background:linear-gradient(90deg,var(--bg-secondary) 0%,var(--bg-hover) 50%,var(--bg-secondary) 100%);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.theme-dark .spinner{border-color:var(--border-color);border-top-color:var(--accent-color)}.theme-dark a{color:var(--accent-color)}.theme-dark a:hover{color:var(--accent-hover);text-decoration:underline}.theme-dark a:focus-visible{outline-color:var(--accent-color);box-shadow:0 0 0 4px var(--shadow-glow)}.theme-dark ::selection{background:#4b8bff4d;color:var(--text-primary)}.theme-dark ::-moz-selection{background:#4b8bff4d;color:var(--text-primary)}.theme-dark img{opacity:.95}.theme-dark img:hover{opacity:1}.theme-dark *:disabled,.theme-dark .disabled{opacity:.5;cursor:not-allowed}.theme-dark .glass{background:#1a1d23cc;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-color)}.theme-dark .glass-subtle{background:#14151999;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border-light)}.flex{display:flex}.inline-flex{display:inline-flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.flex-none{flex:none}.items-start{align-items:flex-start}.items-center{align-items:center}.items-end{align-items:flex-end}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.gap-0{gap:0}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-5{gap:var(--space-5)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.m-0{margin:0}.m-1{margin:var(--space-1)}.m-2{margin:var(--space-2)}.m-3{margin:var(--space-3)}.m-4{margin:var(--space-4)}.m-auto{margin:auto}.mx-auto{margin-left:auto;margin-right:auto}.my-auto{margin-top:auto;margin-bottom:auto}.mt-0{margin-top:0}.mt-1{margin-top:var(--space-1)}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--space-1)}.mb-2{margin-bottom:var(--space-2)}.mb-3{margin-bottom:var(--space-3)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.mb-8{margin-bottom:var(--space-8)}.ml-auto{margin-left:auto}.mr-auto{margin-right:auto}.p-0{padding:0}.p-1{padding:var(--space-1)}.p-2{padding:var(--space-2)}.p-3{padding:var(--space-3)}.p-4{padding:var(--space-4)}.p-5{padding:var(--space-5)}.p-6{padding:var(--space-6)}.p-8{padding:var(--space-8)}.px-2{padding-left:var(--space-2);padding-right:var(--space-2)}.px-3{padding-left:var(--space-3);padding-right:var(--space-3)}.px-4{padding-left:var(--space-4);padding-right:var(--space-4)}.px-6{padding-left:var(--space-6);padding-right:var(--space-6)}.py-2{padding-top:var(--space-2);padding-bottom:var(--space-2)}.py-3{padding-top:var(--space-3);padding-bottom:var(--space-3)}.py-4{padding-top:var(--space-4);padding-bottom:var(--space-4)}.py-6{padding-top:var(--space-6);padding-bottom:var(--space-6)}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-base{font-size:var(--text-base)}.text-lg{font-size:var(--text-lg)}.text-xl{font-size:var(--text-xl)}.text-2xl{font-size:var(--text-2xl)}.text-3xl{font-size:var(--text-3xl)}.text-4xl{font-size:var(--text-4xl)}.font-normal{font-weight:var(--font-normal)}.font-medium{font-weight:var(--font-medium)}.font-semibold{font-weight:var(--font-semibold)}.font-bold{font-weight:var(--font-bold)}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.leading-none{line-height:var(--leading-none)}.leading-tight{line-height:var(--leading-tight)}.leading-normal{line-height:var(--leading-normal)}.leading-relaxed{line-height:var(--leading-relaxed)}.tracking-tight{letter-spacing:var(--tracking-tight)}.tracking-normal{letter-spacing:var(--tracking-normal)}.tracking-wide{letter-spacing:var(--tracking-wide)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.line-clamp-1{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.text-muted{color:var(--text-muted)}.text-inverse{color:var(--text-inverse)}.text-link{color:var(--text-link)}.text-success{color:var(--success-text)}.text-warning{color:var(--warning-text)}.text-error{color:var(--error-text)}.bg-primary{background-color:var(--bg-primary)}.bg-secondary{background-color:var(--bg-secondary)}.bg-tertiary{background-color:var(--bg-tertiary)}.bg-surface{background-color:var(--surface-primary)}.bg-surface-secondary{background-color:var(--surface-secondary)}.bg-accent{background-color:var(--primary);color:var(--primary-text)}.bg-success{background-color:var(--success-subtle);color:var(--success-text)}.bg-warning{background-color:var(--warning-subtle);color:var(--warning-text)}.bg-error{background-color:var(--error-subtle);color:var(--error-text)}.border{border:1px solid var(--border-default)}.border-0{border:0}.border-2{border-width:2px}.border-t{border-top:1px solid var(--border-default)}.border-b{border-bottom:1px solid var(--border-default)}.border-l{border-left:1px solid var(--border-default)}.border-r{border-right:1px solid var(--border-default)}.border-muted{border-color:var(--border-muted)}.border-strong{border-color:var(--border-strong)}.border-primary{border-color:var(--primary)}.border-error{border-color:var(--error)}.border-success{border-color:var(--success)}.rounded-none{border-radius:0}.rounded-sm{border-radius:var(--radius-sm)}.rounded,.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:var(--radius-full)}.shadow-none{box-shadow:none}.shadow-xs{box-shadow:var(--shadow-xs)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow,.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}.w-full{width:100%}.w-auto{width:auto}.w-screen{width:100vw}.max-w-sm{max-width:var(--container-sm)}.max-w-md{max-width:var(--container-md)}.max-w-lg{max-width:var(--container-lg)}.max-w-xl{max-width:var(--container-xl)}.max-w-full{max-width:100%}.h-full{height:100%}.h-screen{height:100vh;height:100dvh}.min-h-screen{min-height:100vh;min-height:100dvh}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.inset-0{inset:0}.top-0{top:0}.right-0{right:0}.bottom-0{bottom:0}.left-0{left:0}.z-0{z-index:var(--z-0)}.z-10{z-index:var(--z-10)}.z-20{z-index:var(--z-20)}.z-30{z-index:var(--z-30)}.z-40{z-index:var(--z-40)}.z-50{z-index:var(--z-50)}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.hidden{display:none}.block{display:block}.inline{display:inline}.inline-block{display:inline-block}.invisible{visibility:hidden}.visible{visibility:visible}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-100{opacity:1}.cursor-auto{cursor:auto}.cursor-pointer{cursor:pointer}.cursor-not-allowed{cursor:not-allowed}.cursor-wait{cursor:wait}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.select-none{-webkit-user-select:none;user-select:none}.select-text{-webkit-user-select:text;user-select:text}.select-all{-webkit-user-select:all;user-select:all}.transition-none{transition:none}.transition{transition:all var(--duration-200) var(--ease-in-out)}.transition-fast{transition:all var(--duration-150) var(--ease-in-out)}.transition-slow{transition:all var(--duration-300) var(--ease-in-out)}.transition-colors{transition:color var(--duration-200) var(--ease-in-out),background-color var(--duration-200) var(--ease-in-out),border-color var(--duration-200) var(--ease-in-out)}.transition-opacity{transition:opacity var(--duration-200) var(--ease-in-out)}.transition-transform{transition:transform var(--duration-200) var(--ease-in-out)}.scale-95{transform:scale(.95)}.scale-100{transform:scale(1)}.scale-105{transform:scale(1.05)}.hover-lift:hover{transform:translateY(-2px)}.hover-scale:hover{transform:scale(1.02)}.loading-spinner{display:inline-block;width:1.25rem;height:1.25rem;border:2px solid var(--border-muted);border-top-color:var(--primary);border-radius:var(--radius-full);animation:spinner-rotate .6s linear infinite}.loading-spinner-sm{width:1rem;height:1rem}.loading-spinner-lg{width:1.5rem;height:1.5rem}@keyframes spinner-rotate{to{transform:rotate(360deg)}}.skeleton{background:linear-gradient(90deg,var(--skeleton-base) 0%,var(--skeleton-shine) 50%,var(--skeleton-base) 100%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-md)}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-text{height:1em}.skeleton-title{height:1.5em;width:60%}.skeleton-avatar{width:2.5rem;height:2.5rem;border-radius:var(--radius-full)}.skeleton-image{aspect-ratio:16 / 9}.not-sr-only{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.focus-visible:focus-visible{outline:none;box-shadow:var(--focus-ring)}.focus-ring:focus{outline:none;box-shadow:var(--focus-ring)}@media(max-width:640px){.sm\:hidden{display:none}.sm\:block{display:block}.sm\:flex{display:flex}.sm\:flex-col{flex-direction:column}.sm\:w-full{width:100%}.sm\:text-center{text-align:center}.sm\:p-4{padding:var(--space-4)}.sm\:gap-4{gap:var(--space-4)}}@media(min-width:641px)and (max-width:1023px){.md\:hidden{display:none}.md\:block{display:block}.md\:flex{display:flex}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1024px){.lg\:hidden{display:none}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media print{.print\:hidden{display:none}.print\:block{display:block}}@media(prefers-reduced-motion:reduce){.loading-spinner{animation:none;border-style:dotted}.skeleton{animation:none;background:var(--skeleton-base)}.transition,.transition-fast,.transition-slow,.transition-colors,.transition-opacity,.transition-transform{transition:none}.hover-lift:hover,.hover-scale:hover{transform:none}}:where(.btn,.btn-primary,.btn-secondary,.btn-outline,.btn-ghost,.btn-danger){display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);position:relative;font-family:var(--font-sans);font-weight:var(--font-semibold);font-size:var(--text-sm);line-height:var(--leading-tight);text-decoration:none;white-space:nowrap;border:none;border-radius:var(--radius-lg);cursor:pointer;-webkit-user-select:none;user-select:none;transition:all var(--duration-150) var(--ease-in-out);min-height:var(--touch-target-min);-webkit-tap-highlight-color:transparent}:where(.btn,.btn-primary,.btn-secondary,.btn-outline,.btn-ghost,.btn-danger):focus-visible{outline:none;box-shadow:var(--focus-ring)}:where(.btn,.btn-primary,.btn-secondary,.btn-outline,.btn-ghost,.btn-danger):disabled,:where(.btn,.btn-primary,.btn-secondary,.btn-outline,.btn-ghost,.btn-danger)[aria-disabled=true]{cursor:not-allowed;opacity:.5;pointer-events:none}:where(.btn-primary,.btn-secondary,.btn-outline,.btn-ghost,.btn-danger):not(.btn-sm):not(.btn-lg){min-height:var(--height-button);padding:var(--space-2-5) var(--space-4);font-size:var(--text-sm);gap:var(--space-2)}.btn-sm{min-height:var(--height-button-sm);padding:var(--space-2) var(--space-3);font-size:var(--text-xs);gap:var(--space-1-5)}.btn-md{min-height:var(--height-button);padding:var(--space-2-5) var(--space-4);font-size:var(--text-sm)}.btn-lg{min-height:var(--height-button-lg);padding:var(--space-3) var(--space-6);font-size:var(--text-base);gap:var(--space-2-5)}.btn-primary{background-color:var(--btn-primary-bg);color:var(--btn-primary-text);box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){background-color:var(--btn-primary-bg-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-primary:active:not(:disabled){background-color:var(--btn-primary-bg-active);box-shadow:var(--shadow-xs);transform:translateY(0)}.btn-secondary{background-color:var(--btn-secondary-bg);color:var(--btn-secondary-text);box-shadow:var(--shadow-xs)}.btn-secondary:hover:not(:disabled){background-color:var(--btn-secondary-bg-hover);box-shadow:var(--shadow-sm)}.btn-secondary:active:not(:disabled){background-color:var(--btn-secondary-bg-active)}.btn-outline{background-color:var(--btn-outline-bg);color:var(--btn-outline-text);border:1px solid var(--btn-outline-border)}.btn-outline:hover:not(:disabled){border-color:var(--btn-outline-border-hover);background-color:var(--surface-hover)}.btn-outline:active:not(:disabled){background-color:var(--surface-active)}.btn-ghost{background-color:var(--btn-ghost-bg);color:var(--btn-ghost-text)}.btn-ghost:hover:not(:disabled){background-color:var(--btn-ghost-bg-hover)}.btn-ghost:active:not(:disabled){background-color:var(--btn-ghost-bg-active)}.btn-danger{background-color:var(--btn-danger-bg);color:var(--btn-danger-text);box-shadow:var(--shadow-sm)}.btn-danger:hover:not(:disabled){background-color:var(--btn-danger-bg-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-danger:active:not(:disabled){background-color:var(--btn-danger-bg-active);box-shadow:var(--shadow-xs);transform:translateY(0)}.btn-danger:focus-visible{box-shadow:var(--focus-ring-error)}.btn-full-width{width:100%}.btn-loading{pointer-events:none}.btn-loading .btn-text,.btn-loading .btn-icon{opacity:0}.btn-icon-only{padding:var(--space-2);min-width:var(--touch-target-min)}.btn-icon-only.btn-sm{min-width:var(--height-button-sm);padding:var(--space-1-5)}.btn-icon-only.btn-lg{min-width:var(--height-button-lg);padding:var(--space-3)}.btn-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.btn-icon svg{width:1em;height:1em;font-size:1.125em}.btn-icon-left{margin-right:calc(var(--space-1) * -1)}.btn-icon-right{margin-left:calc(var(--space-1) * -1)}.btn-spinner{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:1rem;height:1rem;border:2px solid currentColor;border-right-color:transparent;border-radius:var(--radius-full);animation:btn-spin .6s linear infinite;opacity:.8}@keyframes btn-spin{to{transform:translate(-50%,-50%) rotate(360deg)}}.btn-text{display:inline-flex;align-items:center;transition:opacity var(--duration-100) var(--ease-in-out)}@media(max-width:640px){.btn{min-height:var(--touch-target)}.btn-sm{min-height:var(--touch-target-min)}.btn-lg{min-height:52px}.btn-mobile-full{width:100%}}.btn-group{display:inline-flex;gap:var(--space-2)}.btn-group-attached{gap:0}.btn-group-attached .btn{border-radius:0}.btn-group-attached .btn:first-child{border-radius:var(--radius-lg) 0 0 var(--radius-lg)}.btn-group-attached .btn:last-child{border-radius:0 var(--radius-lg) var(--radius-lg) 0}.btn-group-attached .btn:not(:first-child){margin-left:-1px}@media(prefers-contrast:high){.btn{border:2px solid transparent}.btn-primary,.btn-danger,.btn-outline,.btn-ghost{border-color:currentColor}}@media(prefers-reduced-motion:reduce){.btn{transition:none}.btn:hover:not(:disabled){transform:none}.btn-spinner{animation:none;border-style:dotted}}.input-wrapper{display:flex;flex-direction:column;gap:var(--space-2)}.input-full-width{width:100%}.input-label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary);display:flex;align-items:center;gap:var(--space-1);line-height:var(--leading-normal)}.input-required{color:var(--error)}.input-container{position:relative;width:100%}.input-icon{position:absolute;left:var(--space-3);top:50%;transform:translateY(-50%);color:var(--text-tertiary);pointer-events:none;display:flex;align-items:center;justify-content:center;transition:color var(--duration-150) var(--ease-in-out)}.input-icon svg{width:1.125rem;height:1.125rem}.input-container:focus-within .input-icon{color:var(--primary)}.input{width:100%;min-height:var(--height-input);padding:var(--space-3) var(--space-4);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--text-primary);background-color:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-lg);transition:border-color var(--duration-150) var(--ease-in-out),box-shadow var(--duration-150) var(--ease-in-out),background-color var(--duration-150) var(--ease-in-out);outline:none}.input-with-icon{padding-left:var(--space-10)}.input::placeholder{color:var(--input-placeholder)}.input:hover:not(:disabled){border-color:var(--input-border-hover)}.input:focus{border-color:var(--input-border-focus);box-shadow:var(--focus-ring)}.input:disabled{background-color:var(--input-bg-disabled);cursor:not-allowed;opacity:.7}.input-sm{min-height:var(--height-input-sm);padding:var(--space-2) var(--space-3);font-size:var(--text-sm)}.input-lg{min-height:var(--height-input-lg);padding:var(--space-3-5) var(--space-4);font-size:var(--text-base)}.input-error{border-color:var(--border-error)}.input-error:hover:not(:disabled){border-color:var(--border-error)}.input-error:focus{border-color:var(--border-error);box-shadow:var(--focus-ring-error)}.input-container:has(.input-error) .input-icon{color:var(--error)}.input-error-text{font-size:var(--text-sm);color:var(--error-text);font-weight:var(--font-medium);display:flex;align-items:center;gap:var(--space-1)}.input-error-text:before{content:"";display:inline-block;width:.875rem;height:.875rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23dc2626'%3E%3Cpath fill-rule='evenodd' d='M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7 4a1 1 0 11-2 0 1 1 0 012 0zm-1-9a1 1 0 00-1 1v4a1 1 0 102 0V6a1 1 0 00-1-1z' clip-rule='evenodd'/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat}.input-success{border-color:var(--border-success)}.input-success:hover:not(:disabled){border-color:var(--border-success)}.input-success:focus{border-color:var(--border-success);box-shadow:var(--focus-ring-success)}.input-success-text{font-size:var(--text-sm);color:var(--success-text);font-weight:var(--font-medium)}.input-helper-text{font-size:var(--text-sm);color:var(--text-tertiary);line-height:var(--leading-normal)}.textarea{min-height:100px;resize:vertical;font-family:var(--font-sans);line-height:var(--leading-relaxed);padding-top:var(--space-3);padding-bottom:var(--space-3)}.textarea-autosize{resize:none;overflow:hidden}.input-group{display:flex;align-items:stretch}.input-addon{display:flex;align-items:center;padding:0 var(--space-3);background-color:var(--surface-secondary);border:1px solid var(--input-border);color:var(--text-secondary);font-size:var(--text-sm);white-space:nowrap}.input-addon-left{border-right:none;border-radius:var(--radius-lg) 0 0 var(--radius-lg)}.input-addon-right{border-left:none;border-radius:0 var(--radius-lg) var(--radius-lg) 0}.input-group .input{flex:1}.input-group .input:first-child:not(:last-child){border-radius:var(--radius-lg) 0 0 var(--radius-lg)}.input-group .input:last-child:not(:first-child){border-radius:0 var(--radius-lg) var(--radius-lg) 0}.input-group .input:not(:first-child):not(:last-child){border-radius:0}.input-char-count{font-size:var(--text-xs);color:var(--text-muted);text-align:right;margin-top:var(--space-1)}.input-char-count.limit-warning{color:var(--warning-text)}.input-char-count.limit-exceeded{color:var(--error-text)}.input-clearable{padding-right:var(--space-10)}.input-clear-btn{position:absolute;right:var(--space-3);top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:var(--space-5);height:var(--space-5);padding:0;background:var(--surface-hover);border:none;border-radius:var(--radius-full);color:var(--text-tertiary);cursor:pointer;transition:all var(--duration-150) var(--ease-in-out)}.input-clear-btn:hover{background:var(--surface-active);color:var(--text-secondary)}.input-clear-btn svg{width:.75rem;height:.75rem}@media(max-width:640px){.input,.textarea{min-height:var(--touch-target);font-size:max(16px,var(--text-base))}.input-sm{min-height:var(--touch-target-min)}}@media(prefers-reduced-motion:reduce){.input,.input-icon,.input-clear-btn{transition:none}}.card{background-color:var(--card-bg);border-radius:var(--radius-xl);transition:all var(--duration-200) var(--ease-in-out);position:relative}.card:focus-visible{outline:none;box-shadow:var(--focus-ring)}.card-default{border:1px solid var(--card-border)}.card-elevated{border:1px solid var(--card-border);box-shadow:var(--card-shadow)}.card-outlined{border:2px solid var(--card-border)}.card-interactive{border:1px solid var(--card-border);cursor:pointer}.card-interactive:hover{background-color:var(--card-bg-hover);border-color:var(--primary);box-shadow:var(--card-shadow-hover);transform:translateY(-2px)}.card-interactive:active{transform:translateY(0);box-shadow:var(--card-shadow)}.card-filled{background-color:var(--surface-secondary);border:1px solid transparent}.card-filled:hover{background-color:var(--surface-hover)}.card-ghost{background-color:transparent;border:1px solid transparent}.card-ghost:hover{background-color:var(--surface-hover);border-color:var(--border-muted)}.card-padding-none{padding:0}.card-padding-sm{padding:var(--space-4)}.card-padding-md{padding:var(--space-6)}.card-padding-lg{padding:var(--space-8)}.card-hover:hover{box-shadow:var(--shadow-elevation-medium);transform:translateY(-2px)}.card-header{padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--divider)}.card-body{padding:var(--space-6)}.card-footer{padding:var(--space-4) var(--space-6);border-top:1px solid var(--divider);display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3)}.card-padding-none .card-header,.card-padding-none .card-body,.card-padding-none .card-footer{padding:var(--space-4) var(--space-5)}.card-title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);margin:0;line-height:var(--leading-tight)}.card-description{font-size:var(--text-sm);color:var(--text-secondary);margin:var(--space-1) 0 0 0;line-height:var(--leading-normal)}.card-media{position:relative;overflow:hidden;border-radius:var(--radius-xl) var(--radius-xl) 0 0}.card-media img,.card-media video{width:100%;height:auto;display:block;object-fit:cover}.card-media-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.6),transparent);display:flex;align-items:flex-end;padding:var(--space-4)}.card-selected{border-color:var(--primary);background-color:var(--surface-selected)}.card-selected:before{content:"";position:absolute;top:var(--space-3);right:var(--space-3);width:var(--space-5);height:var(--space-5);border-radius:var(--radius-full);background-color:var(--primary);display:flex;align-items:center;justify-content:center}.card-disabled{opacity:.6;pointer-events:none;cursor:not-allowed}.card-loading{pointer-events:none}.card-loading:after{content:"";position:absolute;inset:0;background-color:var(--bg-overlay);display:flex;align-items:center;justify-content:center;border-radius:inherit}@media(max-width:768px){.card{border-radius:var(--radius-lg)}.card-padding-md{padding:var(--space-4)}.card-padding-lg{padding:var(--space-6)}.card-header,.card-body,.card-footer{padding:var(--space-4)}}@media(prefers-reduced-motion:reduce){.card{transition:none}.card-interactive:hover,.card-hover:hover{transform:none}}.badge{display:inline-flex;align-items:center;gap:var(--space-1);font-family:var(--font-sans);font-weight:var(--font-medium);line-height:var(--leading-none);white-space:nowrap;border-radius:var(--radius-full);transition:all var(--duration-150) var(--ease-in-out)}.badge-sm{height:1.25rem;padding:0 var(--space-2);font-size:var(--text-xs);gap:var(--space-0-5)}.badge-md{height:1.5rem;padding:0 var(--space-2-5);font-size:var(--text-xs)}.badge-lg{height:1.75rem;padding:0 var(--space-3);font-size:var(--text-sm)}.badge-default{background-color:var(--badge-default-bg);color:var(--badge-default-text)}.badge-primary{background-color:var(--badge-primary-bg);color:var(--badge-primary-text)}.badge-secondary{background-color:var(--surface-secondary);color:var(--text-secondary);border:1px solid var(--border-default)}.badge-success{background-color:var(--badge-success-bg);color:var(--badge-success-text)}.badge-warning{background-color:var(--badge-warning-bg);color:var(--badge-warning-text)}.badge-error{background-color:var(--badge-error-bg);color:var(--badge-error-text)}.badge-info{background-color:var(--badge-primary-bg);color:var(--badge-primary-text)}.badge-dot{padding-left:var(--space-2)}.badge-dot-indicator{width:.375rem;height:.375rem;border-radius:var(--radius-full);background-color:currentColor;flex-shrink:0}.badge-success .badge-dot-indicator{background-color:var(--success)}.badge-warning .badge-dot-indicator{background-color:var(--warning)}.badge-error .badge-dot-indicator{background-color:var(--error)}.badge-primary .badge-dot-indicator{background-color:var(--primary)}.badge-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.badge-icon svg{width:.75em;height:.75em}.badge-sm .badge-icon svg{width:.625em;height:.625em}.badge-lg .badge-icon svg{width:.875em;height:.875em}.badge-content{display:inline-flex;align-items:center}.badge-remove{display:inline-flex;align-items:center;justify-content:center;width:1rem;height:1rem;padding:0;margin-left:var(--space-0-5);margin-right:calc(var(--space-1) * -1);background:transparent;border:none;border-radius:var(--radius-full);color:currentColor;opacity:.6;cursor:pointer;transition:all var(--duration-150) var(--ease-in-out)}.badge-remove:hover{opacity:1;background-color:#0000001a}.badge-remove:focus-visible{outline:none;box-shadow:0 0 0 2px currentColor}.badge-sm .badge-remove{width:.875rem;height:.875rem}.badge-lg .badge-remove{width:1.125rem;height:1.125rem}.badge-group{display:inline-flex;flex-wrap:wrap;gap:var(--space-1)}.badge-count{min-width:1.25rem;height:1.25rem;padding:0 var(--space-1-5);font-size:var(--text-xs);font-weight:var(--font-semibold);display:inline-flex;align-items:center;justify-content:center;background-color:var(--error);color:#fff;border-radius:var(--radius-full)}.badge-count.badge-primary{background-color:var(--primary)}.badge-count.badge-success{background-color:var(--success)}.badge-outlined{background-color:transparent;border:1px solid currentColor}.badge-outlined.badge-primary{color:var(--primary);border-color:var(--primary)}.badge-outlined.badge-success{color:var(--success);border-color:var(--success)}.badge-outlined.badge-warning{color:var(--warning);border-color:var(--warning)}.badge-outlined.badge-error{color:var(--error);border-color:var(--error)}@media(prefers-reduced-motion:reduce){.badge,.badge-remove{transition:none}}.modal-backdrop{position:fixed;inset:0;background-color:var(--bg-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:var(--space-4);z-index:var(--z-modal-backdrop);animation:modal-backdrop-in var(--duration-200) var(--ease-out)}@keyframes modal-backdrop-in{0%{opacity:0}to{opacity:1}}.modal{background-color:var(--modal-bg);border:1px solid var(--modal-border);border-radius:var(--radius-2xl);box-shadow:var(--modal-shadow);display:flex;flex-direction:column;max-height:calc(100vh - var(--space-8));max-height:calc(100dvh - var(--space-8));animation:modal-in var(--duration-200) var(--ease-out);position:relative;overflow:hidden}.modal:focus{outline:none}@keyframes modal-in{0%{opacity:0;transform:scale(.95) translateY(var(--space-4))}to{opacity:1;transform:scale(1) translateY(0)}}.modal-sm{width:100%;max-width:400px}.modal-md{width:100%;max-width:560px}.modal-lg{width:100%;max-width:800px}.modal-xl{width:100%;max-width:1024px}.modal-full{width:calc(100% - var(--space-8));max-width:1280px;height:calc(100vh - var(--space-8));height:calc(100dvh - var(--space-8))}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--divider);flex-shrink:0}.modal-title{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--text-primary);margin:0;line-height:var(--leading-tight)}.modal-description{font-size:var(--text-sm);color:var(--text-secondary);margin:var(--space-1) 0 0 0}.modal-close{display:flex;align-items:center;justify-content:center;width:var(--space-10);height:var(--space-10);padding:0;background-color:transparent;border:none;border-radius:var(--radius-lg);color:var(--text-tertiary);cursor:pointer;flex-shrink:0;transition:all var(--duration-150) var(--ease-in-out)}.modal-close:hover{background-color:var(--surface-hover);color:var(--text-primary)}.modal-close:active{background-color:var(--surface-active);transform:scale(.95)}.modal-close:focus-visible{box-shadow:var(--focus-ring)}.modal-close svg{width:var(--space-5);height:var(--space-5)}.modal-body{padding:var(--space-6);overflow-y:auto;flex:1;overscroll-behavior:contain}.modal-body::-webkit-scrollbar{width:6px}.modal-body::-webkit-scrollbar-track{background:transparent}.modal-body::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:var(--radius-full)}.modal-body::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover)}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-top:1px solid var(--divider);flex-shrink:0;background-color:var(--surface-secondary)}.modal-footer-left{justify-content:flex-start}.modal-footer-center{justify-content:center}.modal-footer-between{justify-content:space-between}.modal-alert{text-align:center}.modal-alert .modal-body{padding:var(--space-8) var(--space-6)}.modal-alert .modal-icon{width:var(--space-16);height:var(--space-16);margin:0 auto var(--space-4);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full)}.modal-alert .modal-icon-success{background-color:var(--success-subtle);color:var(--success)}.modal-alert .modal-icon-error{background-color:var(--error-subtle);color:var(--error)}.modal-alert .modal-icon-warning{background-color:var(--warning-subtle);color:var(--warning)}.modal-alert .modal-icon-info{background-color:var(--info-subtle);color:var(--info)}.modal-alert .modal-icon svg{width:var(--space-8);height:var(--space-8)}.modal-alert .modal-title{font-size:var(--text-xl);margin-bottom:var(--space-2)}.modal-alert .modal-message{color:var(--text-secondary);font-size:var(--text-base);line-height:var(--leading-relaxed)}.modal-alert .modal-footer{justify-content:center;background-color:transparent;border-top:none;padding-top:var(--space-2)}.modal-confirm .modal-footer{gap:var(--space-2)}.modal-confirm .modal-footer .btn{min-width:100px}.modal-fullscreen{width:100%;max-width:100%;height:100%;max-height:100%;border-radius:0;margin:0}.modal-fullscreen .modal-backdrop{padding:0}@media(max-width:640px){.modal-backdrop{padding:0;align-items:flex-end}.modal{max-height:90vh;max-height:90dvh;border-bottom-left-radius:0;border-bottom-right-radius:0;animation:modal-in-mobile var(--duration-300) var(--ease-out)}@keyframes modal-in-mobile{0%{opacity:1;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.modal-sm,.modal-md,.modal-lg,.modal-xl,.modal-full{width:100%;max-width:100%}.modal-header,.modal-body{padding:var(--space-4) var(--space-5)}.modal-footer{padding:var(--space-4) var(--space-5);flex-direction:column-reverse;gap:var(--space-2)}.modal-footer>*{width:100%}.modal-footer .btn{justify-content:center}.modal:before{content:"";position:absolute;top:var(--space-2);left:50%;transform:translate(-50%);width:var(--space-10);height:var(--space-1);background-color:var(--border-strong);border-radius:var(--radius-full)}.modal-header{padding-top:var(--space-6)}}.modal-backdrop+.modal-backdrop{background-color:#0000004d}.modal-backdrop+.modal-backdrop .modal{transform:scale(.98)}@media(prefers-reduced-motion:reduce){.modal-backdrop,.modal{animation:none}.modal-close:active{transform:none}}@media(prefers-contrast:high){.modal,.modal-header,.modal-footer{border-width:2px}}.hero-section{position:relative;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-hover) 50%,#1e40af 100%);padding:var(--space-20) var(--space-8) var(--space-16);color:var(--primary-text);overflow:hidden}.hero-section:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 30%,rgba(96,165,250,.3) 0%,transparent 60%),radial-gradient(circle at 80% 70%,rgba(59,130,246,.2) 0%,transparent 60%),radial-gradient(circle at 50% 50%,rgba(255,255,255,.05) 0%,transparent 70%);pointer-events:none;animation:gradientShift 15s var(--ease-in-out) infinite}@keyframes gradientShift{0%,to{opacity:1}50%{opacity:.8}}.hero-section:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.05) 100%);pointer-events:none}.hero-container{max-width:900px;margin:0 auto;position:relative;z-index:1;display:flex;align-items:center;justify-content:center}.hero-content{max-width:100%;text-align:center;display:flex;flex-direction:column;align-items:center}.hero-badge{display:inline-flex;align-items:center;gap:var(--space-2);background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:var(--space-2) var(--space-5);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--primary-text);margin-bottom:var(--space-8);border:1px solid rgba(255,255,255,.2);box-shadow:var(--shadow-md);animation:badgePulse 2s var(--ease-in-out) infinite;text-shadow:0 1px 3px rgba(0,0,0,.15)}@keyframes badgePulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.hero-badge svg{width:16px;height:16px;opacity:.9}.hero-title{font-size:clamp(2.5rem,8vw,5rem);font-weight:var(--font-black);line-height:var(--leading-none);margin:0 0 var(--space-10);letter-spacing:var(--tracking-tighter);animation:titleFadeIn 1s var(--ease-out);color:var(--primary-text)}@keyframes titleFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.hero-title-highlight{color:var(--primary-text);position:relative;display:inline-block;font-weight:var(--font-black)}.hero-title-highlight:after{content:"";position:absolute;bottom:-4px;left:0;right:0;height:5px;background:linear-gradient(90deg,var(--success),var(--primary));border-radius:var(--radius-sm);box-shadow:0 2px 8px var(--primary-subtle)}.hero-subtitle{display:block;font-size:clamp(1.5rem,4vw,2.5rem);font-weight:var(--font-bold);margin:var(--space-2) auto 0;color:var(--primary-text);letter-spacing:var(--tracking-tight);text-shadow:0 2px 8px rgba(0,0,0,.2);text-align:center;max-width:900px}.hero-description{font-size:var(--text-xl);line-height:var(--leading-relaxed);margin:0 auto var(--space-10);color:var(--primary-text);max-width:800px;text-shadow:0 2px 8px rgba(0,0,0,.25);font-weight:var(--font-normal);text-align:center}.hero-description strong{font-weight:var(--font-bold);color:var(--primary-text);text-shadow:0 2px 6px rgba(0,0,0,.2)}.hero-buttons{display:flex;gap:var(--space-4);justify-content:center;margin-bottom:var(--space-8);flex-wrap:wrap}.hero-btn{padding:var(--space-5) var(--space-10);font-size:var(--text-lg);font-weight:var(--font-bold);border-radius:var(--radius-xl);border:none;cursor:pointer;transition:all var(--duration-300) var(--ease-out);display:inline-flex;align-items:center;gap:var(--space-2-5);white-space:nowrap;position:relative;overflow:hidden;min-height:var(--touch-target)}.hero-btn-primary{background:linear-gradient(135deg,#fff,#f8fafc);color:var(--primary);box-shadow:var(--shadow-xl),0 0 0 1px #ffffff1a;font-weight:var(--font-extrabold)}.hero-btn-primary:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);transition:left .6s var(--ease-in-out)}.hero-btn-primary:hover:before{left:100%}.hero-btn-primary:hover{transform:translateY(-3px) scale(1.03);box-shadow:0 16px 40px #00000040,0 0 0 1px #fff3}.hero-btn-primary:focus-visible{outline:3px solid rgba(255,255,255,.8);outline-offset:4px}.hero-btn-primary:active{transform:translateY(-1px) scale(1.01)}.hero-btn-primary svg{transition:transform var(--duration-300) var(--ease-out)}.hero-btn-primary:hover svg{transform:translate(5px)}.hero-btn-secondary{background:#ffffff1a;color:var(--primary-text);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:2px solid rgba(255,255,255,.25);font-weight:var(--font-semibold)}.hero-btn-secondary:hover{background:#fff3;border-color:#fff6;transform:translateY(-2px) scale(1.02);box-shadow:var(--shadow-lg)}.hero-btn-secondary:focus-visible{outline:3px solid rgba(255,255,255,.8);outline-offset:4px}.hero-btn-secondary:active{transform:translateY(0) scale(.99)}.hero-cta-note{font-size:var(--text-base);color:var(--primary-text);margin:0 0 var(--space-10);font-weight:var(--font-medium);letter-spacing:.3px;text-shadow:0 1px 3px rgba(0,0,0,.15)}.hero-trust-badges{display:flex;justify-content:flex-start;gap:var(--space-10);flex-wrap:wrap;margin-top:var(--space-10)}.trust-badge{display:flex;align-items:center;gap:var(--space-2-5);font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--primary-text);transition:all var(--duration-300) var(--ease-in-out);text-shadow:0 1px 3px rgba(0,0,0,.15)}.trust-badge:hover{transform:translateY(-2px)}.trust-icon{font-size:var(--text-2xl);filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.hero-visual{position:absolute;bottom:0;left:0;right:0;height:100px;display:flex;justify-content:center;align-items:flex-end;pointer-events:none;opacity:.6}.waveform{width:100%;max-width:600px;height:100%;animation:waveformPulse 3s var(--ease-in-out) infinite}@keyframes waveformPulse{0%,to{opacity:.6;transform:scaleY(1)}50%{opacity:.8;transform:scaleY(1.1)}}@media(max-width:1024px){.hero-container{max-width:800px}}@media(max-width:768px){.hero-section{padding:var(--space-14) var(--space-6) var(--space-12)}.hero-badge{font-size:var(--text-xs);padding:var(--space-1-5) var(--space-4)}.hero-description{font-size:var(--text-lg);margin:0 auto var(--space-8)}.hero-buttons{flex-direction:column;width:100%;max-width:400px;margin-left:auto;margin-right:auto}.hero-btn{width:100%;justify-content:center;padding:var(--space-5) var(--space-8)}.hero-trust-badges{gap:var(--space-6)}.trust-badge{font-size:var(--text-sm)}}@media(max-width:480px){.hero-section{padding:var(--space-12) var(--space-5) var(--space-10)}.hero-description{font-size:var(--text-base)}.hero-btn{padding:var(--space-4) var(--space-8);font-size:var(--text-base)}.hero-trust-badges{flex-direction:column;gap:var(--space-4)}}@media(prefers-reduced-motion:reduce){.hero-section:before{animation:none}.hero-badge,.hero-title,.waveform{animation:none}.hero-btn,.hero-btn-primary:before,.hero-btn-primary svg,.trust-badge{transition:none}.hero-btn-primary:hover,.hero-btn-secondary:hover,.trust-badge:hover{transform:none}}.feature-card{background-color:var(--card-bg);border:2px solid var(--card-border);border-radius:var(--radius-2xl);padding:var(--space-11);transition:all var(--duration-400) var(--ease-out);display:flex;flex-direction:column;align-items:center;gap:var(--space-6);position:relative;isolation:isolate;overflow:hidden;opacity:0;animation:fadeInUp .6s var(--ease-out) forwards;height:100%;box-shadow:var(--card-shadow)}.feature-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--primary),var(--success),var(--warning));z-index:0;transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease-out)}.feature-card:after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,var(--primary-subtle) 0%,transparent 70%);z-index:0;transform:scale(0);transition:transform .5s var(--ease-out);pointer-events:none}.feature-card>*{position:relative;z-index:1}.feature-card:hover{transform:none;box-shadow:var(--shadow-elevation-high),0 0 0 1px var(--primary-subtle);border-color:var(--primary-subtle)}.feature-card:hover:before{transform:scaleX(1)}.feature-card:hover:after{transform:scale(0)}.feature-card:focus-within{outline:2px solid var(--primary);outline-offset:3px}.feature-icon{width:var(--space-18);height:var(--space-18);border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center;color:var(--primary-text);transition:all .5s cubic-bezier(.34,1.56,.64,1);box-shadow:var(--shadow-lg),0 0 0 1px #ffffff1a inset;position:relative}.feature-icon:before{content:"";position:absolute;inset:-3px;border-radius:calc(var(--radius-xl) + 3px);padding:3px;background:linear-gradient(135deg,#ffffff80,#ffffff0d);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity var(--duration-400) var(--ease-in-out)}.feature-icon:after{content:"";position:absolute;inset:0;border-radius:var(--radius-xl);background:linear-gradient(135deg,rgba(255,255,255,.2),transparent);opacity:.6}.feature-card:hover .feature-icon{transform:none;box-shadow:var(--shadow-xl),0 0 0 1px #fff3 inset}.feature-card:hover .feature-icon:before{opacity:1}.feature-icon.blue{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-hover) 100%);box-shadow:var(--shadow-lg),0 8px 24px var(--primary-subtle)}.feature-card:hover .feature-icon.blue{box-shadow:var(--shadow-xl),0 16px 40px var(--primary-subtle)}.feature-icon.purple{background:linear-gradient(135deg,var(--secondary) 0%,var(--secondary-hover) 100%);box-shadow:var(--shadow-lg),0 8px 24px var(--secondary-subtle)}.feature-card:hover .feature-icon.purple{box-shadow:var(--shadow-xl),0 16px 40px var(--secondary-subtle)}.feature-icon.green{background:linear-gradient(135deg,var(--success) 0%,var(--success-hover) 100%);box-shadow:var(--shadow-lg),0 8px 24px var(--success-subtle)}.feature-card:hover .feature-icon.green{box-shadow:var(--shadow-xl),0 16px 40px var(--success-subtle)}.feature-icon.orange{background:linear-gradient(135deg,var(--warning) 0%,var(--warning-hover) 100%);box-shadow:var(--shadow-lg),0 8px 24px var(--warning-subtle)}.feature-card:hover .feature-icon.orange{box-shadow:var(--shadow-xl),0 16px 40px var(--warning-subtle)}.feature-title{font-size:var(--text-2xl);font-weight:var(--font-extrabold);color:var(--text-primary);margin:0;line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);text-align:center}.feature-description{color:var(--text-secondary);line-height:var(--leading-relaxed);margin:0;font-size:var(--text-lg);text-align:center}.feature-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-3);align-items:center}.feature-list-item{color:var(--text-primary);font-size:var(--text-base);font-weight:var(--font-medium);display:flex;align-items:flex-start;gap:var(--space-2-5);line-height:var(--leading-relaxed)}.feature-bullet{color:var(--primary);font-size:var(--text-2xl);line-height:1;flex-shrink:0}.feature-highlight{color:var(--primary);font-size:var(--text-sm);font-weight:var(--font-bold);display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) 0;text-transform:uppercase;letter-spacing:.5px}.feature-highlight:before{content:"→";font-size:var(--text-xl);transition:transform var(--duration-400) var(--ease-out);font-weight:var(--font-black)}.feature-card:hover .feature-highlight:before{transform:translate(6px);animation:arrowBounce .6s var(--ease-in-out)}@keyframes arrowBounce{0%,to{transform:translate(6px)}50%{transform:translate(10px)}}.feature-highlight.green{color:var(--success)}.feature-highlight.orange{color:var(--warning)}@media(max-width:768px){.feature-card{padding:var(--space-8)}.feature-icon{width:var(--space-16);height:var(--space-16)}.feature-title{font-size:var(--text-xl)}.feature-description{font-size:var(--text-base)}}@media(prefers-reduced-motion:reduce){.feature-card{animation:none;opacity:1}.feature-card,.feature-card:before,.feature-card:after,.feature-icon,.feature-icon:before,.feature-highlight:before{transition:none}.feature-card:hover,.feature-card:hover .feature-icon,.feature-card:hover .feature-highlight:before{transform:none;animation:none}}.audience-card{background-color:var(--card-bg);border-radius:var(--radius-2xl);padding:var(--space-8);text-align:center;transition:all var(--duration-400) var(--ease-out);border:2px solid var(--card-border);position:relative;opacity:0;animation:fadeInScale .6s var(--ease-out) forwards;box-shadow:var(--card-shadow)}.audience-card:after{content:"";position:absolute;inset:-2px;border-radius:var(--radius-2xl);padding:2px;background:linear-gradient(135deg,var(--primary),var(--success));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity var(--duration-400) var(--ease-in-out)}.audience-card:hover{transform:translateY(-10px) scale(1.03);box-shadow:var(--shadow-elevation-high);border-color:var(--primary-subtle)}.audience-card:hover:after{opacity:1}.audience-card:active{transform:translateY(-6px) scale(1.01)}.audience-card:focus-within{outline:2px solid var(--primary);outline-offset:3px}.audience-icon{width:var(--space-20);height:var(--space-20);background:linear-gradient(135deg,var(--primary-subtle) 0%,var(--secondary-subtle) 100%);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-6);color:var(--primary);transition:all .5s var(--ease-out);box-shadow:0 4px 16px var(--primary-subtle)}.audience-card:hover .audience-icon{background:var(--gradient-primary);color:var(--primary-text);transform:rotate(-10deg) scale(1.15);box-shadow:var(--shadow-lg),0 8px 24px var(--primary-subtle)}.audience-title{font-size:var(--text-xl);font-weight:var(--font-extrabold);color:var(--text-primary);margin:0 0 var(--space-4);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight)}.audience-description{color:var(--text-secondary);line-height:var(--leading-relaxed);margin:0;font-size:var(--text-base);min-height:4.5rem}@keyframes fadeInScale{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@media(max-width:768px){.audience-card{padding:var(--space-6)}.audience-icon{width:var(--space-16);height:var(--space-16)}.audience-title{font-size:var(--text-lg)}.audience-description{font-size:var(--text-sm);min-height:auto}}@media(prefers-reduced-motion:reduce){.audience-card{animation:none;opacity:1}.audience-card,.audience-card:after,.audience-icon{transition:none}.audience-card:hover,.audience-card:hover .audience-icon{transform:none}}.stats-section{background:linear-gradient(135deg,var(--primary-hover) 0%,var(--primary) 50%,#60a5fa 100%);padding:var(--space-10) var(--space-8);color:var(--primary-text);position:relative;overflow:hidden}.stats-section:before{content:"";position:absolute;inset:0;background:url('data:image/svg+xml,<svg width="60" height="60" xmlns="http://www.w3.org/2000/svg"><circle cx="30" cy="30" r="1.2" fill="white" opacity="0.12"/></svg>'),radial-gradient(circle at 25% 50%,rgba(255,255,255,.08) 0%,transparent 60%),radial-gradient(circle at 75% 50%,rgba(96,165,250,.15) 0%,transparent 60%);opacity:.7}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-8);text-align:center;position:relative;z-index:1;max-width:var(--container-xl);margin:0 auto}.stat-card{display:flex;flex-direction:column;gap:var(--space-2);opacity:0;animation:fadeInUp .8s var(--ease-out) forwards;transition:all var(--duration-400) var(--ease-out);overflow:visible;padding:var(--space-5) var(--space-4);border-radius:var(--radius-xl);background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);position:relative}.stat-card:not(:last-child):after{content:"";position:absolute;top:20%;right:calc(var(--space-4) * -1);width:1px;height:60%;background:linear-gradient(180deg,transparent,rgba(255,255,255,.25),transparent)}.stat-card:hover{transform:translateY(-8px) scale(1.05);background:#ffffff1a;border-color:#fff3;box-shadow:var(--shadow-xl)}.stat-icon{font-size:var(--text-4xl);margin-bottom:var(--space-1);filter:drop-shadow(0 4px 12px rgba(0,0,0,.3));transition:transform var(--duration-400) var(--ease-in-out)}.stat-card:hover .stat-icon{transform:scale(1.15) rotate(5deg)}.stat-number{font-size:clamp(2rem,5vw,2.75rem);font-weight:var(--font-black);line-height:var(--leading-none);padding:var(--space-1) 0;color:var(--primary-text);overflow:visible;display:inline-block;letter-spacing:var(--tracking-tight);text-shadow:0 2px 10px rgba(0,0,0,.3)}.stat-rating{font-size:var(--text-4xl);color:var(--warning);filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.stat-label{font-size:var(--text-base);font-weight:var(--font-bold);letter-spacing:.5px;text-transform:uppercase;color:var(--primary-text)!important;text-shadow:0 1px 3px rgba(0,0,0,.3)}.stat-sublabel{font-size:var(--text-sm);font-weight:var(--font-normal);color:var(--primary-text)!important;text-shadow:0 1px 3px rgba(0,0,0,.3)}@media(max-width:768px){.stats-section{padding:var(--space-8) var(--space-6)}.stats-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-6)}.stat-card:not(:last-child):after{display:none}}@media(max-width:640px){.stats-section{padding:var(--space-8) var(--space-4)}.stats-grid{grid-template-columns:1fr;gap:var(--space-6)}}@media(max-width:480px){.stats-grid{overflow-x:auto;display:flex;scroll-snap-type:x mandatory;gap:var(--space-6);padding-bottom:var(--space-4)}.stat-card{min-width:200px;scroll-snap-align:center;flex-shrink:0}}@media(prefers-reduced-motion:reduce){.stat-card{animation:none;opacity:1}.stat-card,.stat-icon{transition:none}.stat-card:hover,.stat-card:hover .stat-icon{transform:none}}.demo-video-section{background:linear-gradient(135deg,#1e3a8a,#1e40af);padding:var(--space-16) var(--space-8);color:var(--primary-text);position:relative;overflow:hidden}.demo-video-section:before{content:"";position:absolute;inset:0;background:url('data:image/svg+xml,<svg width="60" height="60" xmlns="http://www.w3.org/2000/svg"><circle cx="30" cy="30" r="1.5" fill="white" opacity="0.08"/></svg>'),radial-gradient(circle at 30% 40%,rgba(255,255,255,.1) 0%,transparent 60%),radial-gradient(circle at 70% 60%,rgba(59,130,246,.2) 0%,transparent 60%);opacity:.6;animation:patternShift 20s linear infinite}@keyframes patternShift{0%{transform:translate(0)}to{transform:translate(60px,60px)}}.demo-title{font-size:clamp(1.75rem,5vw,2.5rem);font-weight:var(--font-extrabold);text-align:center;margin:0 auto var(--space-4);line-height:var(--leading-tight);color:var(--primary-text);max-width:900px;position:relative;z-index:1}.demo-subtitle{font-size:var(--text-xl);text-align:center;margin:0 auto var(--space-10);opacity:.95;max-width:800px;line-height:var(--leading-relaxed);position:relative;z-index:1}.demo-video-container{max-width:900px;margin:0 auto;position:relative;z-index:1}.video-placeholder{background:linear-gradient(135deg,#fffffffa,#f8fafcfa);border-radius:var(--radius-2xl);padding:var(--space-12) var(--space-10);display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:450px;box-shadow:0 25px 70px #0003,0 0 0 1px #ffffff1a,inset 0 1px #fff9;transition:all var(--duration-400) var(--ease-out);cursor:pointer;position:relative;overflow:hidden}.video-placeholder:before{content:"";position:absolute;top:50%;left:50%;width:300px;height:300px;background:radial-gradient(circle,var(--primary-subtle) 0%,transparent 70%);transform:translate(-50%,-50%);transition:all .6s var(--ease-in-out)}.video-placeholder:hover{transform:translateY(-6px) scale(1.01);box-shadow:0 30px 80px #00000040,0 0 0 1px #fff3,inset 0 1px #fffc}.video-placeholder:hover:before{width:400px;height:400px}.video-placeholder:focus-visible{outline:3px solid var(--primary);outline-offset:4px}.video-thumbnail{position:relative;width:100%;max-width:600px;aspect-ratio:16 / 9;margin-bottom:var(--space-8);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-xl)}.mockup-screen{width:100%;height:100%;background:linear-gradient(135deg,#1e40af 0%,var(--primary) 100%);display:flex;flex-direction:column}.mockup-header{padding:var(--space-4) var(--space-6);background:#0003;display:flex;align-items:center;gap:var(--space-4)}.mockup-dots{display:flex;gap:var(--space-2)}.mockup-dots span{width:12px;height:12px;border-radius:var(--radius-full);background:#ffffff4d}.mockup-title{font-size:var(--text-base);font-weight:var(--font-bold);color:var(--primary-text)}.mockup-content{flex:1;display:flex;flex-direction:column;justify-content:space-between;gap:var(--space-4);padding:var(--space-6);background:linear-gradient(180deg,#ffffff0d,#ffffff05)}.mockup-chat{display:flex;flex-direction:column;gap:var(--space-4);flex:1}.chat-message{display:flex;gap:var(--space-3);align-items:flex-start}.chat-message.user{justify-content:flex-end}.message-avatar{width:32px;height:32px;border-radius:var(--radius-full);background:#fff3;display:flex;align-items:center;justify-content:center;font-size:var(--text-xl);flex-shrink:0}.message-bubble{background:#fffffff2;color:#1e40af;padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:var(--font-medium);max-width:70%;box-shadow:var(--shadow-md)}.chat-message.user .message-bubble{background:#fff3;color:var(--primary-text);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.chat-message.ai .message-bubble{animation:messageSlideIn var(--duration-400) var(--ease-out)}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.mockup-waveform-container{background:#ffffff1a;padding:var(--space-4);border-radius:var(--radius-lg);display:flex;flex-direction:column;align-items:center;gap:var(--space-3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.mockup-waveform{display:flex;align-items:center;gap:var(--space-1);height:40px}.mockup-waveform span{width:4px;background:#fffc;border-radius:var(--radius-sm);animation:waveAnimation 1.2s var(--ease-in-out) infinite}.mockup-waveform span:nth-child(1){height:16px;animation-delay:0s}.mockup-waveform span:nth-child(2){height:28px;animation-delay:.1s}.mockup-waveform span:nth-child(3){height:40px;animation-delay:.2s}.mockup-waveform span:nth-child(4){height:24px;animation-delay:.3s}.mockup-waveform span:nth-child(5){height:36px;animation-delay:.4s}.mockup-waveform span:nth-child(6){height:20px;animation-delay:.5s}.mockup-waveform span:nth-child(7){height:32px;animation-delay:.6s}.mockup-waveform span:nth-child(8){height:26px;animation-delay:.7s}.mockup-waveform span:nth-child(9){height:38px;animation-delay:.8s}.mockup-waveform span:nth-child(10){height:22px;animation-delay:.9s}.mockup-waveform span:nth-child(11){height:30px;animation-delay:1s}.mockup-waveform span:nth-child(12){height:34px;animation-delay:1.1s}@keyframes waveAnimation{0%,to{transform:scaleY(1);opacity:.7}50%{transform:scaleY(1.3);opacity:1}}.mockup-text{font-size:var(--text-sm);color:#ffffffe6;font-weight:var(--font-semibold);text-shadow:0 2px 4px rgba(0,0,0,.2)}.mockup-stats{display:flex;justify-content:space-around;gap:var(--space-4);background:#ffffff1a;padding:var(--space-4);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.mockup-stats .stat-item{display:flex;flex-direction:column;align-items:center;gap:var(--space-1)}.mockup-stats .stat-value{font-size:var(--text-xl);font-weight:var(--font-extrabold);color:var(--primary-text);text-shadow:0 2px 4px rgba(0,0,0,.2)}.mockup-stats .stat-label{font-size:var(--text-xs);color:#fffc;font-weight:var(--font-medium);text-transform:uppercase;letter-spacing:.5px}.mockup-badge{background:linear-gradient(135deg,var(--error),var(--error-hover));color:var(--primary-text);padding:var(--space-1) var(--space-3);border-radius:var(--radius-md);font-size:var(--text-xs);font-weight:var(--font-bold);letter-spacing:.5px;box-shadow:0 2px 8px #ef444466;animation:livePulse 2s var(--ease-in-out) infinite}@keyframes livePulse{0%,to{opacity:1}50%{opacity:.8}}.testimonial-overlay{position:absolute;bottom:var(--space-6);left:var(--space-6);right:var(--space-6);background:linear-gradient(135deg,#fffffffa,#f8fafcfa);padding:var(--space-5) var(--space-6);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;transform:translateY(20px);transition:all .6s var(--ease-out);pointer-events:none}.testimonial-overlay.active{opacity:1;transform:translateY(0)}.overlay-content{display:flex;flex-direction:column;gap:var(--space-2)}.overlay-stars{font-size:var(--text-sm);color:var(--warning)}.overlay-quote{font-size:var(--text-base);color:var(--text-primary);font-weight:var(--font-semibold);line-height:var(--leading-snug);margin:0}.overlay-author{font-size:var(--text-sm);color:var(--text-secondary);font-weight:var(--font-medium);margin:0}.play-button-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:120px;height:120px;background:#fffffff2;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;box-shadow:0 15px 40px #0000004d,0 0 0 8px #fff3;color:var(--primary);transition:all var(--duration-400) var(--ease-out);cursor:pointer;z-index:10}.video-placeholder:hover .play-button-overlay{transform:translate(-50%,-50%) scale(1.1);box-shadow:0 20px 50px #0006,0 0 0 12px #ffffff4d}.play-button-overlay svg{transition:transform var(--duration-300) var(--ease-in-out)}.video-placeholder:hover .play-button-overlay svg{transform:scale(1.15)}.video-icon{width:120px;height:120px;background:var(--gradient-primary);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-8);box-shadow:var(--shadow-xl),0 0 0 8px var(--primary-subtle);color:var(--primary-text);transition:all var(--duration-400) var(--ease-out);position:relative;z-index:1}.video-placeholder:hover .video-icon{transform:scale(1.1);box-shadow:0 20px 50px #3b82f680,0 0 0 12px #3b82f626}.video-icon svg{transition:transform var(--duration-300) var(--ease-in-out)}.video-placeholder:hover .video-icon svg{transform:scale(1.15)}.placeholder-title{font-size:var(--text-4xl);font-weight:var(--font-extrabold);color:var(--text-primary);margin-bottom:var(--space-3);text-align:center;letter-spacing:var(--tracking-tight)}.placeholder-subtitle{font-size:var(--text-lg);color:var(--text-secondary);text-align:center;max-width:500px;margin-bottom:var(--space-10);line-height:var(--leading-relaxed)}.demo-features{display:flex;flex-direction:column;gap:var(--space-4);width:100%;max-width:400px}.demo-feature-item{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-base);color:var(--text-secondary);font-weight:var(--font-medium);padding:var(--space-3) var(--space-5);background:var(--primary-subtle);border-radius:var(--radius-lg);transition:all var(--duration-300) var(--ease-in-out)}.demo-feature-item:hover{background:var(--primary-subtle);transform:translate(4px)}.demo-check{width:24px;height:24px;background:linear-gradient(135deg,var(--success),var(--success-hover));color:var(--primary-text);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:var(--text-sm);font-weight:var(--font-extrabold);flex-shrink:0;box-shadow:0 2px 6px var(--success-subtle)}@media(max-width:768px){.demo-video-section{padding:var(--space-10) var(--space-4)}.video-placeholder{padding:var(--space-8) var(--space-4);min-height:auto;border-radius:var(--radius-xl)}.video-thumbnail{max-width:100%;margin-bottom:var(--space-6)}.video-icon{width:80px;height:80px}.placeholder-title{font-size:var(--text-xl);line-height:var(--leading-tight)}.placeholder-subtitle{font-size:var(--text-base);line-height:var(--leading-relaxed)}.message-bubble{font-size:var(--text-xs);padding:var(--space-2-5) var(--space-3)}.testimonial-overlay{padding:var(--space-4);left:var(--space-4);right:var(--space-4);bottom:var(--space-4)}.overlay-quote{font-size:var(--text-sm)}.demo-features{max-width:100%}.demo-feature-item{font-size:var(--text-sm);padding:var(--space-2-5) var(--space-4)}}@media(max-width:480px){.demo-video-section{padding:var(--space-8) var(--space-4)}.video-placeholder{padding:var(--space-6) var(--space-4)}.video-icon{width:60px;height:60px;margin-bottom:var(--space-6)}.placeholder-title{font-size:var(--text-lg);margin-bottom:var(--space-2)}.placeholder-subtitle{font-size:var(--text-sm);margin-bottom:var(--space-6)}.play-button-overlay{width:70px;height:70px}.demo-features{gap:var(--space-3)}.demo-feature-item{font-size:var(--text-sm);padding:var(--space-2) var(--space-3);gap:var(--space-2-5)}.demo-check{width:20px;height:20px;font-size:var(--text-xs)}}@media(prefers-reduced-motion:reduce){.demo-video-section:before{animation:none}.mockup-waveform span,.mockup-badge,.chat-message.ai .message-bubble{animation:none}.video-placeholder,.video-placeholder:before,.video-icon,.video-icon svg,.play-button-overlay,.play-button-overlay svg,.testimonial-overlay,.demo-feature-item{transition:none}.video-placeholder:hover,.video-placeholder:hover .video-icon,.video-placeholder:hover .play-button-overlay,.demo-feature-item:hover{transform:none}}.testimonials-section{background:linear-gradient(180deg,var(--surface-secondary) 0%,var(--surface-primary) 100%);padding:var(--space-16) var(--space-8);position:relative;overflow:hidden}.testimonials-section:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--primary-subtle),transparent)}.testimonials-header{text-align:center;margin-bottom:var(--space-4)}.testimonials-rating{display:inline-flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-8);background:linear-gradient(135deg,var(--primary-subtle),var(--success-subtle));border-radius:var(--radius-full);border:1.5px solid var(--primary-subtle)}.rating-stars{font-size:var(--text-2xl);filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.rating-text{font-size:var(--text-sm);font-weight:var(--font-bold);color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px}.testimonials-title{font-size:clamp(2rem,5vw,2.75rem);font-weight:var(--font-black);text-align:center;color:var(--text-primary);margin:0 auto var(--space-4);letter-spacing:var(--tracking-tight);max-width:900px}.testimonials-subtitle{font-size:var(--text-lg);color:var(--text-secondary);text-align:center;max-width:800px;margin:0 auto var(--space-12);line-height:var(--leading-relaxed)}.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--space-10);margin-bottom:var(--space-12)}.testimonial-card{background:var(--card-bg);border:1.5px solid var(--card-border);border-radius:var(--radius-2xl);padding:var(--space-10);display:flex;flex-direction:column;gap:var(--space-6);transition:all var(--duration-400) var(--ease-out);opacity:0;animation:fadeInUp .6s var(--ease-out) forwards;box-shadow:var(--card-shadow);position:relative}.testimonial-card:before{content:'"';position:absolute;top:-10px;left:var(--space-5);font-size:6rem;font-weight:var(--font-black);color:var(--primary-subtle);line-height:1;font-family:Georgia,serif}.testimonial-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-elevation-high);border-color:var(--primary-subtle)}.testimonial-card:focus-within{outline:2px solid var(--primary);outline-offset:3px}.testimonial-rating{display:flex;gap:var(--space-1);font-size:var(--text-xl)}.star{filter:drop-shadow(0 1px 2px rgba(0,0,0,.1))}.testimonial-content{font-size:var(--text-base);line-height:var(--leading-relaxed);color:var(--text-secondary);margin:0;flex-grow:1;font-style:italic;position:relative;z-index:1}.testimonial-author{display:flex;align-items:center;gap:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--divider)}.author-avatar{width:48px;height:48px;background:linear-gradient(135deg,var(--secondary-subtle),var(--primary-subtle));border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:var(--text-3xl);flex-shrink:0;box-shadow:var(--shadow-md);overflow:hidden}.author-avatar img{width:100%;height:100%;object-fit:cover}.author-info{display:flex;flex-direction:column;gap:var(--space-1)}.author-name{font-size:var(--text-base);font-weight:var(--font-bold);color:var(--text-primary)}.author-role{font-size:var(--text-sm);color:var(--text-muted)}.testimonial-stats{display:flex;justify-content:center;gap:var(--space-10);flex-wrap:wrap;padding-top:var(--space-8);border-top:2px solid var(--divider)}.stat-badge{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-6) var(--space-8);background:linear-gradient(135deg,var(--primary-subtle),var(--success-subtle));border-radius:var(--radius-xl);border:1px solid var(--primary-subtle);transition:all var(--duration-300) var(--ease-in-out)}.stat-badge:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.stat-badge-number{font-size:var(--text-4xl);font-weight:var(--font-black);background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:var(--tracking-tight)}.stat-badge-label{font-size:var(--text-sm);color:var(--text-secondary);font-weight:var(--font-semibold)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.testimonials-section{padding:var(--space-12) var(--space-6)}.testimonials-grid{grid-template-columns:1fr;gap:var(--space-8)}.testimonial-card{padding:var(--space-8)}.testimonial-stats{gap:var(--space-8)}.stat-badge{padding:var(--space-5) var(--space-6)}.stat-badge-number{font-size:var(--text-3xl)}}@media(max-width:480px){.testimonials-section{padding:var(--space-10) var(--space-4)}.testimonial-card{padding:var(--space-6)}.testimonial-stats{flex-direction:column;gap:var(--space-6)}.stat-badge{width:100%}}@media(prefers-reduced-motion:reduce){.testimonial-card{animation:none;opacity:1}.testimonial-card,.stat-badge{transition:none}.testimonial-card:hover,.stat-badge:hover{transform:none}}.pricing-section{padding:var(--space-20) var(--space-8);background:linear-gradient(135deg,var(--surface-secondary) 0%,var(--surface-tertiary) 100%);text-align:center}.billing-toggle-container{display:inline-flex;gap:0;background:var(--surface-primary);border-radius:var(--radius-lg);padding:var(--space-1-5);box-shadow:var(--shadow-md);margin-top:var(--space-8);margin-bottom:var(--space-5)}.billing-toggle-btn{padding:var(--space-3) var(--space-7);border:none;background:transparent;color:var(--text-muted);font-size:var(--text-base);font-weight:var(--font-semibold);cursor:pointer;border-radius:var(--radius-md);transition:all var(--duration-300) var(--ease-in-out);position:relative;display:flex;align-items:center;gap:var(--space-2);min-height:var(--touch-target)}.billing-toggle-btn.active{background:var(--gradient-primary);color:var(--primary-text);box-shadow:var(--shadow-md)}.billing-toggle-btn:hover:not(.active){background:var(--primary-subtle);color:var(--primary)}.billing-toggle-btn:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.savings-badge{background:var(--success);color:var(--primary-text);padding:var(--space-0-5) var(--space-2);border-radius:var(--radius-md);font-size:var(--text-xs);font-weight:var(--font-bold);letter-spacing:.3px;white-space:nowrap}.billing-toggle-btn.active .savings-badge{background:var(--primary-text);color:var(--success)}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-8);max-width:800px;margin:0 auto;margin-top:var(--space-14)}.pricing-card{background:var(--card-bg);border-radius:var(--radius-2xl);padding:var(--space-10) var(--space-8);box-shadow:var(--card-shadow);transition:all var(--duration-300) var(--ease-out);position:relative;border:2px solid transparent}.pricing-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-elevation-high)}.pricing-card:focus-within{outline:2px solid var(--primary);outline-offset:3px}.premium-card{border:2px solid var(--primary);background:linear-gradient(135deg,var(--surface-primary) 0%,var(--primary-subtle) 100%)}.premium-badge{position:absolute;top:-15px;left:50%;transform:translate(-50%);background:var(--gradient-primary);color:var(--primary-text);padding:var(--space-1-5) var(--space-5);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--font-semibold);letter-spacing:.5px;box-shadow:var(--shadow-lg)}.pricing-header{text-align:center;margin-bottom:var(--space-8);padding-bottom:var(--space-8);border-bottom:1px solid var(--divider)}.pricing-title{font-size:var(--text-3xl);font-weight:var(--font-bold);color:var(--text-primary);margin-bottom:var(--space-4)}.pricing-price{margin-bottom:var(--space-2-5)}.price-amount{font-size:clamp(2.5rem,5vw,3rem);font-weight:var(--font-extrabold);color:var(--text-primary);line-height:var(--leading-none)}.price-period{font-size:var(--text-lg);color:var(--text-muted);font-weight:var(--font-normal)}.pricing-description{color:var(--text-secondary);font-size:var(--text-base);margin:0}.billing-info{font-size:var(--text-sm);color:var(--text-muted);margin-top:var(--space-2);font-weight:var(--font-normal)}.savings-info{font-size:var(--text-sm);color:var(--success);margin-top:var(--space-1);font-weight:var(--font-semibold)}.pricing-features{list-style:none;padding:0;margin:0 0 var(--space-8) 0}.feature-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) 0;color:var(--text-primary);font-size:var(--text-base)}.feature-icon{flex-shrink:0;stroke:var(--success)}.feature-icon.disabled{stroke:var(--text-disabled)}.disabled-feature{color:var(--text-disabled);text-decoration:line-through}.pricing-btn{width:100%;padding:var(--space-4) var(--space-6);border-radius:var(--radius-lg);font-size:var(--text-lg);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--duration-300) var(--ease-in-out);border:none;letter-spacing:.3px;min-height:var(--touch-target)}.pricing-btn.btn-primary{background:var(--gradient-primary);color:var(--primary-text);box-shadow:var(--shadow-lg)}.pricing-btn.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-xl)}.pricing-btn.btn-primary:focus-visible{outline:3px solid var(--primary);outline-offset:4px}.pricing-btn.btn-secondary{background:var(--surface-primary);color:var(--text-primary);border:2px solid var(--primary)}.pricing-btn.btn-secondary:hover{background:var(--primary-subtle);transform:translateY(-2px);box-shadow:var(--shadow-md)}.pricing-btn.btn-secondary:focus-visible{outline:3px solid var(--primary);outline-offset:4px}@media(max-width:768px){.pricing-section{padding:var(--space-14) var(--space-5)}.billing-toggle-container{width:100%;max-width:400px}.billing-toggle-btn{flex:1;padding:var(--space-2-5) var(--space-4);font-size:var(--text-sm)}.savings-badge{font-size:var(--text-xs);padding:var(--space-0-5) var(--space-1-5)}.pricing-grid{grid-template-columns:1fr;gap:var(--space-10)}.pricing-card{padding:var(--space-8) var(--space-5)}.price-amount{font-size:var(--text-4xl)}.pricing-title{font-size:var(--text-2xl)}}@media(prefers-reduced-motion:reduce){.pricing-card,.billing-toggle-btn,.pricing-btn{transition:none}.pricing-card:hover,.pricing-btn:hover{transform:none}}.cta-section{background:var(--gradient-primary);padding:var(--space-20) var(--space-8);text-align:center;color:var(--primary-text);position:relative;overflow:hidden}.cta-section:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.12) 0%,transparent 70%),radial-gradient(circle at 70% 30%,rgba(96,165,250,.3) 0%,transparent 50%);animation:ctaPulse 10s var(--ease-in-out) infinite}@keyframes ctaPulse{0%,to{transform:translate(0) scale(1);opacity:1}50%{transform:translate(5%,5%) scale(1.05);opacity:.8}}.cta-content{position:relative;z-index:1;max-width:850px;margin:0 auto;display:flex;flex-direction:column;align-items:center}.cta-title{font-size:clamp(2rem,5vw,3.25rem);font-weight:var(--font-black);margin:0 auto var(--space-6);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);color:var(--primary-text);text-shadow:0 2px 10px rgba(0,0,0,.35);text-align:center;max-width:900px}.cta-description{font-size:var(--text-xl);opacity:.96;max-width:800px;margin:0 auto var(--space-10);line-height:var(--leading-relaxed);font-weight:var(--font-normal);text-align:center}.btn-cta{background:linear-gradient(135deg,#fff,#f1f5f9);color:#1e40af;border:none;padding:var(--space-6) var(--space-12);border-radius:var(--radius-xl);font-size:var(--text-xl);font-weight:var(--font-extrabold);cursor:pointer;transition:all var(--duration-400) var(--ease-out);display:inline-flex;align-items:center;gap:var(--space-3);box-shadow:0 12px 35px #00000040,0 0 0 1px #ffffff1a,inset 0 1px #fffc;position:relative;overflow:hidden;min-height:var(--touch-target)}.btn-cta:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);transition:left .6s var(--ease-in-out)}.btn-cta:hover:before{left:100%}.btn-cta:hover{transform:translateY(-4px) scale(1.04);box-shadow:0 20px 50px #00000059,0 0 0 1px #fff3,inset 0 1px #fff}.btn-cta:focus-visible{outline:3px solid rgba(255,255,255,.8);outline-offset:4px}.btn-cta:active{transform:translateY(-2px) scale(1.02)}.cta-arrow{transition:transform var(--duration-300) var(--ease-out)}.btn-cta:hover .cta-arrow{transform:translate(6px);animation:arrowPulse .6s var(--ease-in-out)}@keyframes arrowPulse{0%,to{transform:translate(6px)}50%{transform:translate(10px)}}.cta-note{margin-top:var(--space-8);font-size:var(--text-base);opacity:.93;font-weight:var(--font-medium);letter-spacing:.3px}@media(max-width:768px){.cta-section{padding:var(--space-14) var(--space-6)}.cta-description{font-size:var(--text-lg);margin:0 auto var(--space-8)}.btn-cta{padding:var(--space-5) var(--space-10);font-size:var(--text-lg);width:100%;max-width:420px;justify-content:center}.cta-note{font-size:var(--text-sm)}}@media(max-width:480px){.cta-section{padding:var(--space-12) var(--space-5)}.btn-cta{padding:var(--space-4) var(--space-8);font-size:var(--text-base)}}@media(prefers-reduced-motion:reduce){.cta-section:before{animation:none}.btn-cta,.btn-cta:before,.cta-arrow{transition:none}.btn-cta:hover,.btn-cta:hover .cta-arrow{transform:none;animation:none}}.home-footer{background-color:#1a1a1a;color:var(--text-inverse);padding:var(--space-14) var(--space-8) var(--space-10)}.footer-container{max-width:var(--container-xl);margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--space-12)}.footer-section{display:flex;flex-direction:column;gap:var(--space-6)}.footer-brand{font-size:var(--text-3xl);font-weight:var(--font-extrabold);margin:0;letter-spacing:var(--tracking-tight);background:linear-gradient(135deg,#fff,#a1a1aa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.footer-tagline{color:var(--text-inverse);margin:0;font-size:var(--text-base);line-height:var(--leading-relaxed)}.footer-social{display:flex;gap:var(--space-4);margin:var(--space-2) 0}.social-icon{width:40px;height:40px;min-width:var(--touch-target);min-height:var(--touch-target);background:#ffffff14;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;color:var(--text-inverse);transition:all var(--duration-300) var(--ease-out);text-decoration:none}.social-icon:hover{background:var(--primary-subtle);color:var(--primary);transform:translateY(-3px)}.social-icon:focus-visible{outline:3px solid var(--primary);outline-offset:3px}.social-icon svg{transition:transform var(--duration-300) var(--ease-in-out)}.social-icon:hover svg{transform:scale(1.1)}.footer-copyright{color:var(--text-inverse);font-size:var(--text-sm);margin-top:var(--space-2);opacity:.8}.footer-heading{font-size:var(--text-lg);font-weight:var(--font-bold);margin:0 0 var(--space-2);color:#e5e7eb}.footer-links{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-4)}.footer-links a,.footer-links .footer-link{color:var(--text-inverse);text-decoration:none;transition:all var(--duration-300) var(--ease-out);cursor:pointer;font-size:var(--text-base);position:relative;width:fit-content;padding:var(--space-1) 0;min-height:var(--touch-target);display:flex;align-items:center}.footer-links .footer-link{background:transparent;border:0;font:inherit;padding:var(--space-1) 0;text-align:left}.footer-links a:before,.footer-links .footer-link:before{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--gradient-primary);transition:width var(--duration-300) var(--ease-out)}.footer-links a:hover,.footer-links .footer-link:hover{color:#fff;transform:translate(4px)}.footer-links a:hover:before,.footer-links .footer-link:hover:before{width:100%}.footer-links a:focus-visible,.footer-links .footer-link:focus-visible{outline:3px solid var(--primary);outline-offset:4px;border-radius:var(--radius-sm)}@media(max-width:768px){.home-footer{padding:var(--space-12) var(--space-6) var(--space-8)}.footer-container{grid-template-columns:1fr;gap:var(--space-10)}.footer-section{gap:var(--space-5)}}@media(max-width:480px){.home-footer{padding:var(--space-10) var(--space-5) var(--space-6)}.footer-brand{font-size:var(--text-2xl)}.footer-tagline{font-size:var(--text-sm)}}@media(prefers-reduced-motion:reduce){.social-icon,.social-icon svg,.footer-links a,.footer-links a:before,.footer-links .footer-link,.footer-links .footer-link:before{transition:none}.social-icon:hover,.footer-links a:hover,.footer-links .footer-link:hover{transform:none}}.home-page{min-height:100vh;min-height:100dvh;background-color:var(--surface-primary);overflow-x:clip;position:relative;padding-bottom:env(safe-area-inset-bottom,0px)}.animate-on-scroll{opacity:0;transform:translateY(40px);transition:all .8s var(--ease-out)}.animate-on-scroll.visible{opacity:1;transform:translateY(0)}.home-nav{background:var(--gradient-primary);padding:var(--space-4) 0;position:sticky;top:0;z-index:var(--z-sticky);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:box-shadow var(--duration-300) var(--ease-in-out);width:100%}.home-nav.scrolled{box-shadow:var(--shadow-md)}.home-page .nav-container{max-width:var(--container-xl);margin:0 auto;padding:0 var(--space-8);display:flex;justify-content:space-between;align-items:center;position:relative;width:100%;box-sizing:border-box}.home-page .nav-brand{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-2xl);font-weight:var(--font-extrabold);color:var(--primary-text);cursor:pointer;letter-spacing:var(--tracking-tight);transition:transform var(--duration-200) var(--ease-in-out);z-index:calc(var(--z-sticky) + 2);position:relative;background:transparent;border:0;padding:0;text-align:left}.home-page .nav-brand:hover{transform:scale(1.05)}.home-page .nav-brand:focus-visible{outline:none;box-shadow:0 0 0 3px #fff6;border-radius:var(--radius-sm)}.home-page .nav-logo{width:var(--space-8);height:var(--space-8);filter:drop-shadow(0 2px 4px rgba(0,0,0,.1));transition:transform var(--duration-200) var(--ease-in-out)}.home-page .nav-brand:hover .nav-logo{transform:rotate(-5deg)}.home-page .hamburger{display:none;flex-direction:column;justify-content:space-around;width:28px;height:24px;background:transparent;border:none;cursor:pointer;padding:0;z-index:calc(var(--z-sticky) + 2);position:relative;transition:transform var(--duration-300) var(--ease-in-out)}.home-page .hamburger:hover{transform:scale(1.1)}.home-page .hamburger:focus-visible{outline:none;box-shadow:0 0 0 3px #fff6;border-radius:var(--radius-sm)}.home-page .hamburger span{width:28px;height:3px;background-color:var(--primary-text);border-radius:var(--radius-sm);transition:all var(--duration-300) var(--ease-in-out);transform-origin:center}.home-page .hamburger.active span:nth-child(1){transform:translateY(8px) rotate(45deg)}.home-page .hamburger.active span:nth-child(2){opacity:0;transform:translate(-10px)}.home-page .hamburger.active span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.home-page .mobile-menu-overlay{display:none;position:fixed;inset:0;background-color:var(--overlay-dark);z-index:var(--z-modal-backdrop);opacity:0;transition:opacity var(--duration-300) var(--ease-in-out)}.home-page .mobile-menu-overlay.active{display:block;opacity:1}.home-page .nav-links{display:flex;align-items:center;gap:var(--space-8)}.home-page .nav-links a{color:var(--primary-text);text-decoration:none;font-size:var(--text-base);font-weight:var(--font-medium);transition:all var(--duration-200) var(--ease-in-out);cursor:pointer;position:relative;white-space:nowrap}.home-page .nav-links a:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:2px;background-color:var(--primary-text);transition:width var(--duration-300) var(--ease-in-out)}.home-page .nav-links a:hover:after{width:100%}.home-page .nav-links a:focus-visible{outline:none;box-shadow:0 0 0 3px #fff6;border-radius:var(--radius-sm)}.home-page .nav-buttons{display:flex;align-items:center;gap:var(--space-4)}.home-page .btn-login{background:transparent;color:var(--primary-text);border:2px solid rgba(255,255,255,.3);padding:var(--space-3) var(--space-7);border-radius:var(--radius-lg);cursor:pointer;font-size:var(--text-base);font-weight:var(--font-semibold);font-family:var(--font-sans);transition:all var(--duration-300) var(--ease-out);white-space:nowrap;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);min-height:var(--touch-target)}.home-page .btn-login:hover{background-color:#ffffff26;border-color:#ffffff80;transform:translateY(-2px);box-shadow:var(--shadow-md)}.home-page .btn-login:focus-visible{outline:none;box-shadow:0 0 0 3px #fff6}.home-page .btn-signup{background:linear-gradient(135deg,#fff,#f8fafc);color:var(--primary);border:none;padding:var(--space-3) var(--space-8);border-radius:var(--radius-lg);cursor:pointer;font-size:var(--text-base);font-weight:var(--font-bold);font-family:var(--font-sans);transition:all var(--duration-300) var(--ease-out);box-shadow:var(--shadow-md);white-space:nowrap;position:relative;overflow:hidden;min-height:var(--touch-target)}.home-page .btn-signup:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);transition:left .6s var(--ease-in-out)}.home-page .btn-signup:hover:before{left:100%}.home-page .btn-signup:hover{transform:translateY(-3px) scale(1.05);box-shadow:var(--shadow-lg)}.home-page .btn-signup:focus-visible{outline:none;box-shadow:var(--focus-ring)}.features-intro{padding:var(--space-16) var(--space-8) var(--space-8);text-align:center;background:linear-gradient(180deg,var(--surface-primary) 0%,var(--surface-secondary) 100%);position:relative}.features-intro:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:60px;height:4px;background:var(--gradient-primary);border-radius:var(--radius-full)}.home-page .section-container{max-width:var(--container-xl);margin:0 auto;display:flex;flex-direction:column;align-items:center}.home-page .section-title{font-size:var(--text-4xl);font-weight:var(--font-black);color:var(--text-primary);margin:0 auto var(--space-5);letter-spacing:var(--tracking-tight);line-height:var(--leading-tight);text-align:center;max-width:900px}.home-page .section-subtitle{font-size:var(--text-xl);color:var(--text-secondary);max-width:800px;margin:0 auto var(--space-8);line-height:var(--leading-relaxed);text-align:center}.features-section{padding:var(--space-8) var(--space-8) var(--space-20);background:linear-gradient(180deg,var(--surface-secondary) 0%,var(--surface-primary) 100%);position:relative}.features-section:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:800px;height:800px;background:radial-gradient(circle,var(--primary-subtle) 0%,transparent 70%);pointer-events:none}.features-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-8);margin-top:var(--space-8);max-width:1100px;margin-left:auto;margin-right:auto;padding:0;margin:var(--space-8) auto 0;list-style:none}.who-section{padding:var(--space-20) var(--space-8);background:linear-gradient(180deg,var(--surface-secondary) 0%,var(--surface-primary) 50%,var(--surface-tertiary) 100%);text-align:center;position:relative;overflow:hidden}.who-section:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--secondary-subtle),transparent)}.who-section:after{content:"";position:absolute;top:10%;left:5%;width:500px;height:500px;background:radial-gradient(circle,var(--secondary-subtle) 0%,transparent 70%);pointer-events:none}.who-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-8);margin-top:var(--space-12);max-width:var(--container-xl);margin-left:auto;margin-right:auto;padding:0;list-style:none}.how-it-works-section{padding:var(--space-20) var(--space-8);background:linear-gradient(180deg,var(--surface-primary) 0%,var(--surface-tertiary) 50%,var(--surface-secondary) 100%);text-align:center;position:relative}.how-it-works-section:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--primary-subtle),transparent)}.how-it-works-section:after{content:"";position:absolute;bottom:20%;right:10%;width:600px;height:600px;background:radial-gradient(circle,var(--success-subtle) 0%,transparent 70%);pointer-events:none}.use-cases-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-8);margin-top:var(--space-16);padding:0;list-style:none}.floating-cta-btn{display:none;position:fixed;bottom:var(--space-8);right:var(--space-8);background:var(--gradient-primary);color:var(--primary-text);border:none;padding:var(--space-4) var(--space-6);border-radius:var(--radius-full);font-size:var(--text-base);font-weight:var(--font-bold);font-family:var(--font-sans);cursor:pointer;box-shadow:var(--shadow-lg),0 8px 24px var(--primary-subtle);z-index:var(--z-sticky);align-items:center;gap:var(--space-2);transition:all var(--duration-300) var(--ease-out);animation:floatingPulse 2s var(--ease-in-out) infinite;pointer-events:auto;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;min-height:var(--touch-target)}.floating-cta-btn:hover{transform:scale(1.05);box-shadow:var(--shadow-xl),0 12px 32px var(--primary-subtle)}.floating-cta-btn:active{transform:scale(.98)}.floating-cta-btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.floating-cta-btn svg{transition:transform var(--duration-300) var(--ease-in-out);flex-shrink:0}.floating-cta-btn:hover svg{transform:rotate(90deg)}@keyframes floatingPulse{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@media(max-width:1024px){.home-page .section-title{font-size:var(--text-3xl);text-align:center;margin:0 auto var(--space-5)}.features-grid,.use-cases-grid,.who-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-6)}}@media(max-width:968px){.home-page .hamburger{display:flex}.home-page .nav-links{position:fixed;top:0;right:0;height:100vh;height:100dvh;width:min(280px,75vw);background:var(--gradient-primary);flex-direction:column;justify-content:flex-start;align-items:stretch;gap:0;padding:var(--space-20) var(--space-8) var(--space-8);transform:translate(100%);transition:transform var(--duration-300) var(--ease-in-out);box-shadow:-4px 0 20px #0003;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;z-index:calc(var(--z-sticky) + 1)}.home-page .nav-links.mobile-open{transform:translate(0)}.home-page .nav-links a{display:block;padding:var(--space-4) 0;border-bottom:1px solid rgba(255,255,255,.1);font-size:var(--text-lg);min-height:var(--touch-target)}.home-page .nav-links a:after{display:none}.home-page .nav-buttons{flex-direction:column;width:100%;gap:var(--space-4);margin-top:var(--space-8)}.home-page .btn-login,.home-page .btn-signup{width:100%;padding:var(--space-3-5) var(--space-6);font-size:var(--text-base);text-align:center;justify-content:center}.home-page .btn-login:hover,.home-page .btn-signup:hover{transform:none}.home-page .nav-container{padding:0 var(--space-6)}}@media(max-width:768px){.home-page .nav-container{padding:0 var(--space-6)}.home-page .nav-links{gap:var(--space-6)}.home-page .btn-signup{padding:var(--space-2-5) var(--space-5);font-size:var(--text-base)}.home-page .section-title{font-size:var(--text-3xl);text-align:center;margin:0 auto var(--space-4)}.home-page .section-subtitle{font-size:var(--text-lg);text-align:center;margin:0 auto var(--space-8)}.features-intro{padding:var(--space-12) var(--space-6) var(--space-8)}.features-section{padding:0 var(--space-6) var(--space-12)}.who-section,.how-it-works-section{padding:var(--space-12) var(--space-6)}.features-grid,.use-cases-grid,.who-grid{grid-template-columns:1fr;gap:var(--space-8)}.footer-container{grid-template-columns:1fr;gap:var(--space-10)}.floating-cta-btn{display:inline-flex;bottom:var(--space-6);right:var(--space-6)}}@media(max-width:640px){.features-intro{padding:var(--space-10) var(--space-4) var(--space-6)}.features-section{padding:0 var(--space-4) var(--space-10)}.how-it-works-section{padding:var(--space-10) var(--space-4)}}@media(max-width:480px){.home-page .nav-brand{font-size:var(--text-xl)}.home-page .nav-container{padding:0 var(--space-4)}.home-page .section-title{font-size:var(--text-2xl);text-align:center;margin:0 auto var(--space-4)}.home-page .section-subtitle{font-size:var(--text-base);text-align:center;margin:0 auto var(--space-6)}.features-intro,.features-section,.how-it-works-section{padding-left:var(--space-4);padding-right:var(--space-4)}.home-footer{padding:var(--space-10) var(--space-4) var(--space-6)}}@media(prefers-reduced-motion:reduce){.home-page .animate-on-scroll{transition:none;opacity:1;transform:none}.home-page .floating-cta-btn{animation:none}.home-page .nav-brand,.home-page .nav-logo,.home-page .hamburger,.home-page .hamburger span,.home-page .nav-links,.home-page .nav-links a,.home-page .nav-links a:after,.home-page .btn-login,.home-page .btn-signup,.home-page .btn-signup:before,.home-page .btn-primary,.home-page .btn-primary svg,.home-page .btn-secondary,.home-page .hero-btn,.home-page .hero-btn svg,.home-page .floating-cta-btn,.home-page .floating-cta-btn svg,.home-page .footer-links a,.home-page .footer-links a:before,.home-page .home-nav,.home-page .mobile-menu-overlay{transition:none}.home-page .nav-brand:hover,.home-page .btn-login:hover,.home-page .btn-signup:hover,.home-page .btn-primary:hover,.home-page .btn-secondary:hover,.home-page .floating-cta-btn:hover{transform:none}}@media(prefers-contrast:high){.home-page .feature-card,.home-page .audience-card,.home-page .btn-primary,.home-page .btn-secondary,.home-page .btn-signup,.home-page .hero-btn{border-width:2px}}.home-page a:focus-visible,.home-page button:focus-visible{outline:3px solid var(--primary);outline-offset:4px;border-radius:var(--radius-md)}.home-page .feature-card:focus-within,.home-page .testimonial-card:focus-within,.home-page .audience-card:focus-within{outline:2px solid var(--primary);outline-offset:3px}@media(hover:none)and (pointer:coarse){.home-page .btn-primary,.home-page .btn-secondary,.home-page .btn-signup,.home-page .btn-cta,.home-page .hero-btn{min-height:48px;min-width:48px;padding:var(--space-5) var(--space-10)}.home-page .nav-links a{min-height:48px;display:flex;align-items:center}}.home-page .section-subtitle,.home-page .feature-description{color:var(--text-secondary)}.home-page .author-role{color:var(--text-muted)}.auth-container{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-active, var(--color-blue-800)) 100%);padding:var(--space-6);padding-top:calc(var(--space-6) + env(safe-area-inset-top,0px));padding-bottom:calc(var(--space-6) + env(safe-area-inset-bottom,0px));position:relative;overflow:hidden}.auth-container:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 30%,var(--primary-subtle) 0%,transparent 60%),radial-gradient(circle at 80% 70%,var(--primary-subtle) 0%,transparent 60%);pointer-events:none;opacity:.5}.auth-card{background-color:var(--surface-primary);border-radius:var(--radius-2xl);padding:var(--space-10);box-shadow:var(--shadow-elevation-high);max-width:440px;width:100%;animation:authSlideUp var(--duration-300) var(--ease-out);position:relative;z-index:1}@keyframes authSlideUp{0%{opacity:0;transform:translateY(var(--space-5))}to{opacity:1;transform:translateY(0)}}.auth-logo{display:flex;justify-content:center;margin-bottom:var(--space-6)}.auth-card h1{color:var(--primary);font-size:var(--text-3xl);margin-bottom:var(--space-2);text-align:center;font-weight:var(--font-bold);letter-spacing:var(--tracking-tight)}.auth-card h2{color:var(--text-primary);font-size:var(--text-xl);margin-bottom:var(--space-8);text-align:center;font-weight:var(--font-semibold)}.auth-container .form-group{margin-bottom:var(--space-5)}.auth-container .form-group label{display:block;margin-bottom:var(--space-2);color:var(--text-primary);font-weight:var(--font-semibold);font-size:var(--text-sm);letter-spacing:var(--tracking-wide)}.auth-container .form-group input{width:100%;min-height:var(--touch-target);padding:var(--space-3) var(--space-4);border:2px solid var(--input-border);border-radius:var(--radius-lg);font-size:var(--text-base);font-family:var(--font-sans);transition:all var(--duration-150) var(--ease-in-out);background-color:var(--input-bg);color:var(--text-primary);line-height:var(--leading-normal)}.auth-container .form-group input:hover{border-color:var(--input-border-hover)}.auth-container .form-group input:focus{outline:none;border-color:var(--input-border-focus);box-shadow:var(--focus-ring);background-color:var(--surface-primary)}.auth-container .form-group input::placeholder{color:var(--text-muted)}.auth-container .form-group input:disabled{background-color:var(--surface-disabled);cursor:not-allowed;opacity:.6}.auth-container .form-hint{display:block;margin-top:var(--space-1-5);color:var(--text-muted);font-size:var(--text-sm);line-height:var(--leading-relaxed)}.auth-container .btn-primary{width:100%;min-height:var(--space-14);padding:var(--space-4) var(--space-6);background-color:var(--primary);color:var(--primary-text);border:none;border-radius:var(--radius-xl);font-size:var(--text-base);font-weight:var(--font-bold);font-family:var(--font-sans);cursor:pointer;transition:all var(--duration-200) var(--ease-in-out);box-shadow:var(--shadow-md),0 4px 14px var(--primary-subtle);letter-spacing:var(--tracking-wide);position:relative;overflow:hidden}.auth-container .btn-primary:hover:not(:disabled){background-color:var(--primary-hover);transform:translateY(-2px);box-shadow:var(--shadow-lg),0 8px 20px var(--primary-subtle)}.auth-container .btn-primary:focus-visible{outline:none;box-shadow:var(--focus-ring)}.auth-container .btn-primary:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-sm)}.auth-container .btn-primary:disabled{background-color:var(--button-disabled-bg);color:var(--button-disabled-text);cursor:not-allowed;transform:none;box-shadow:none}.auth-container .btn-secondary-outline{width:100%;min-height:var(--space-12);padding:var(--space-3) var(--space-6);background-color:transparent;color:var(--primary);border:2px solid var(--primary);border-radius:var(--radius-xl);font-size:var(--text-base);font-weight:var(--font-bold);font-family:var(--font-sans);cursor:pointer;transition:all var(--duration-200) var(--ease-in-out);margin-top:var(--space-4)}.auth-container .btn-secondary-outline:hover{background-color:var(--primary);color:var(--primary-text);transform:translateY(-2px);box-shadow:var(--shadow-md)}.auth-container .btn-secondary-outline:focus-visible{outline:none;box-shadow:var(--focus-ring)}.auth-container .btn-secondary-outline:active{transform:translateY(0)}.auth-container .error-message{background-color:var(--error-subtle);color:var(--error-text);padding:var(--space-4);border-radius:var(--radius-lg);margin-bottom:var(--space-5);text-align:center;border-left:4px solid var(--error);font-weight:var(--font-medium);font-size:var(--text-sm);animation:authShake var(--duration-300) var(--ease-in-out)}.auth-container .success-message{background-color:var(--success-subtle);color:var(--success-text);padding:var(--space-4);border-radius:var(--radius-lg);margin-bottom:var(--space-5);text-align:center;border-left:4px solid var(--success);font-weight:var(--font-medium);font-size:var(--text-sm);animation:authSlideDown var(--duration-300) var(--ease-out)}@keyframes authSlideDown{0%{opacity:0;transform:translateY(calc(var(--space-2) * -1))}to{opacity:1;transform:translateY(0)}}@keyframes authShake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.auth-footer{text-align:center;margin-top:var(--space-8);color:var(--text-secondary);font-size:var(--text-sm)}.auth-footer a{color:var(--primary);text-decoration:none;font-weight:var(--font-bold);transition:color var(--duration-150) var(--ease-in-out)}.auth-footer a:hover{color:var(--primary-hover);text-decoration:underline}.auth-footer a:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-sm)}.forgot-password-link{text-align:right;margin:calc(var(--space-1) * -1) 0 var(--space-4)}.link-button{background:none;border:none;color:var(--primary);font-size:var(--text-sm);font-weight:var(--font-semibold);font-family:var(--font-sans);cursor:pointer;padding:0;text-decoration:none;transition:color var(--duration-150) var(--ease-in-out)}.link-button:hover{color:var(--primary-hover);text-decoration:underline}.link-button:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-sm)}.forgot-password-description{color:var(--text-secondary);font-size:var(--text-sm);line-height:var(--leading-relaxed);margin-bottom:var(--space-6);text-align:center}.btn-back-home{position:absolute;top:var(--space-6);left:var(--space-6);background:transparent;color:var(--primary);border:none;padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:var(--font-semibold);font-family:var(--font-sans);cursor:pointer;display:flex;align-items:center;gap:var(--space-2);transition:all var(--duration-150) var(--ease-in-out);border-radius:var(--radius-lg)}.btn-back-home:hover{background-color:var(--primary-subtle);transform:translate(-2px)}.btn-back-home:focus-visible{outline:none;box-shadow:var(--focus-ring)}.btn-back-home-split{position:fixed;top:var(--space-6);left:var(--space-6);background-color:var(--surface-primary);color:var(--primary);border:2px solid var(--primary);padding:var(--space-2-5) var(--space-5);font-size:var(--text-sm);font-weight:var(--font-semibold);font-family:var(--font-sans);cursor:pointer;display:flex;align-items:center;gap:var(--space-2);transition:all var(--duration-150) var(--ease-in-out);border-radius:var(--radius-lg);z-index:var(--z-fixed);box-shadow:var(--shadow-md)}.btn-back-home-split:hover{background-color:var(--primary);color:var(--primary-text);transform:translate(-2px);box-shadow:var(--shadow-lg)}.btn-back-home-split:focus-visible{outline:none;box-shadow:var(--focus-ring)}.auth-split-container{min-height:100vh;min-height:100dvh;display:flex;background-color:var(--bg-primary)}.auth-features-side{flex:1;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-active, var(--color-blue-800)) 50%,var(--color-blue-800) 100%);color:var(--primary-text);padding:var(--space-16) var(--space-10);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.auth-features-side:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 20%,rgba(255,255,255,.1) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(30,64,175,.3) 0%,transparent 50%),linear-gradient(135deg,transparent 0%,rgba(0,0,0,.05) 100%);opacity:.8}.auth-features-side:after{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.05) 1px,transparent 1px);background-size:24px 24px;opacity:.4}.auth-features-content{max-width:500px;position:relative;z-index:1}.auth-brand-header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-8)}.brand-name{font-size:var(--text-xl);font-weight:var(--font-bold);color:#fff;letter-spacing:var(--tracking-tight)}.community-badge{background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-full);padding:var(--space-2-5) var(--space-5);display:inline-flex;align-items:center;gap:var(--space-2);color:#fff;font-size:var(--text-sm);font-weight:var(--font-semibold);font-family:var(--font-sans);margin-bottom:var(--space-8);cursor:pointer;transition:all var(--duration-200) var(--ease-in-out);box-shadow:var(--shadow-sm)}.community-badge:hover{background:#ffffff40;transform:translateY(-2px);box-shadow:var(--shadow-md)}.badge-icon{font-size:var(--text-base)}.features-title{font-size:var(--text-4xl);font-weight:var(--font-bold);line-height:var(--leading-tight);margin-bottom:var(--space-6);color:#fff}.title-highlight{display:inline-block;background:linear-gradient(90deg,white 0%,var(--color-blue-100) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;position:relative;padding-bottom:var(--space-2)}.title-highlight:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--success) 0%,var(--primary) 100%);border-radius:var(--radius-full);box-shadow:0 2px 8px #22c55e66}.features-subtitle{font-size:var(--text-lg);line-height:var(--leading-relaxed);margin-bottom:var(--space-8);opacity:.95}.features-list{display:flex;flex-direction:column;gap:var(--space-5);margin-bottom:var(--space-10)}.feature-item{display:flex;gap:var(--space-4);align-items:flex-start}.feature-icon{width:var(--space-7);height:var(--space-7);background:#fff3;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:var(--text-base);flex-shrink:0;color:var(--color-green-400);font-weight:var(--font-bold)}.feature-content h3{font-size:var(--text-base);font-weight:var(--font-bold);margin-bottom:var(--space-1);color:#fff}.feature-content p{font-size:var(--text-sm);color:#fff;opacity:.9;line-height:var(--leading-relaxed)}.features-badges{display:flex;flex-wrap:wrap;gap:var(--space-4)}.badge-item{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--font-semibold);color:#fff}.badge-emoji{font-size:var(--text-lg)}.auth-form-side{flex:1;background-color:var(--bg-primary);display:flex;align-items:center;justify-content:center;padding:var(--space-10) var(--space-8)}.auth-form-container{width:100%;max-width:480px}.form-header{margin-bottom:var(--space-8)}.form-header h2{font-size:var(--text-3xl);font-weight:var(--font-bold);color:var(--text-primary);margin-bottom:var(--space-2)}.form-subtitle{font-size:var(--text-base);color:var(--text-secondary)}.auth-form-container .form-group{margin-bottom:var(--space-5)}.auth-form-container .form-group input{width:100%;padding:var(--space-4) var(--space-5);border:2px solid var(--input-border);border-radius:var(--radius-xl);font-size:var(--text-base);transition:all var(--duration-150) var(--ease-in-out);background-color:var(--surface-secondary)}.auth-form-container .form-group input:focus{outline:none;border-color:var(--input-border-focus);background-color:var(--surface-primary);box-shadow:var(--focus-ring)}.auth-form-container .form-group input::placeholder{color:var(--text-muted)}.password-hint{display:block;margin-top:var(--space-2);font-size:var(--text-xs);color:var(--text-muted);line-height:var(--leading-relaxed)}.btn-submit{width:100%;padding:var(--space-4) var(--space-6);background-color:var(--primary);color:var(--primary-text);border:none;border-radius:var(--radius-xl);font-size:var(--text-base);font-weight:var(--font-bold);font-family:var(--font-sans);cursor:pointer;transition:all var(--duration-200) var(--ease-in-out);box-shadow:var(--shadow-md),0 4px 14px var(--primary-subtle);margin-top:var(--space-2)}.btn-submit:hover:not(:disabled){background-color:var(--primary-hover);transform:translateY(-2px);box-shadow:var(--shadow-lg),0 8px 20px var(--primary-subtle)}.btn-submit:focus-visible{outline:none;box-shadow:var(--focus-ring)}.btn-submit:active:not(:disabled){transform:translateY(0)}.btn-submit:disabled{background-color:var(--button-disabled-bg);color:var(--button-disabled-text);cursor:not-allowed;transform:none;box-shadow:none}.terms-text{text-align:center;font-size:var(--text-xs);color:var(--text-muted);margin-top:var(--space-6);line-height:var(--leading-relaxed)}.terms-text .link{color:var(--primary);text-decoration:none;font-weight:var(--font-medium);transition:color var(--duration-150) var(--ease-in-out)}.terms-text .link:hover{text-decoration:underline;color:var(--primary-hover)}.terms-text .link:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-sm)}.auth-form-container .auth-footer{margin-top:var(--space-6);text-align:center;font-size:var(--text-sm);color:var(--text-secondary)}.link-bold{color:var(--primary);text-decoration:none;font-weight:var(--font-bold);transition:color var(--duration-150) var(--ease-in-out)}.link-bold:hover{text-decoration:underline;color:var(--primary-hover)}.link-bold:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-sm)}@media(max-width:1024px){.auth-split-container{flex-direction:column}.auth-features-side{padding:var(--space-10) var(--space-8);min-height:auto}.features-title{font-size:var(--text-3xl)}.auth-form-side{padding:var(--space-10) var(--space-8)}}@media(max-width:768px){.auth-features-side{padding:var(--space-8) var(--space-6)}.features-title{font-size:var(--text-2xl)}.features-subtitle{font-size:var(--text-base)}.auth-form-side{padding:var(--space-8) var(--space-6)}.form-header h2{font-size:var(--text-2xl)}.features-badges{flex-direction:column;gap:var(--space-3)}.btn-back-home-split{top:var(--space-4);left:var(--space-4);padding:var(--space-2) var(--space-4);font-size:var(--text-xs)}}@media(max-width:480px){.auth-container{padding:var(--space-4)}.auth-card{padding:var(--space-6);border-radius:var(--radius-xl)}.auth-card h1{font-size:var(--text-2xl)}.auth-card h2{font-size:var(--text-lg)}.auth-features-side{padding:var(--space-6) var(--space-4)}.features-title{font-size:var(--text-xl)}.auth-form-side{padding:var(--space-6) var(--space-4)}.form-header h2{font-size:var(--text-xl)}.btn-back-home{top:var(--space-4);left:var(--space-4)}.feature-item{gap:var(--space-3)}.feature-icon{width:var(--space-6);height:var(--space-6);font-size:var(--text-sm)}}@media(prefers-reduced-motion:reduce){.auth-container .auth-card,.auth-container .auth-logo,.auth-container .error-message,.auth-container .success-message{animation:none}.auth-container .btn-primary,.auth-container .btn-secondary-outline,.auth-container .btn-submit,.auth-container .btn-back-home,.auth-container .btn-back-home-split,.auth-container .community-badge,.auth-container .form-group input,.auth-container .link-button,.auth-container .auth-footer a,.auth-container .terms-text .link,.auth-container .link-bold{transition:none}.auth-container .btn-primary:hover:not(:disabled),.auth-container .btn-secondary-outline:hover,.auth-container .btn-submit:hover:not(:disabled),.auth-container .btn-back-home:hover,.auth-container .btn-back-home-split:hover,.auth-container .community-badge:hover{transform:none}}.onboarding-container{min-height:100vh;display:flex;flex-direction:column;justify-content:space-between;background:#fff;padding:60px 0}.onboarding-content{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:0 40px;text-align:center}.emoji{font-size:120px;margin-bottom:40px;-webkit-user-select:none;user-select:none}.onboarding-content .title{font-size:32px;font-weight:700;color:#333;margin-bottom:20px}.description{font-size:18px;color:#666;line-height:28px;max-width:500px}.pagination{display:flex;justify-content:center;align-items:center;gap:10px;margin-bottom:40px}.dot{width:10px;height:10px;border-radius:5px;background-color:#ddd;transition:all .3s ease}.dot.active{background-color:#007aff;width:30px}.buttons{display:flex;flex-direction:column;gap:16px;padding:0 40px;max-width:500px;margin:0 auto;width:100%}.skip-button{padding:16px;background:none;border:none;color:#999;font-size:16px;cursor:pointer;transition:color .2s}.skip-button:hover{color:#666}.next-button{padding:16px;background-color:#007aff;border:none;border-radius:12px;color:#fff;font-size:18px;font-weight:600;cursor:pointer;transition:background-color .2s}.next-button:hover{background-color:#0056b3}.app-navbar{height:var(--height-navbar);background-color:var(--nav-bg);border-bottom:1px solid var(--nav-border);position:sticky;top:0;z-index:var(--z-sticky);width:100%;display:flex;align-items:center}.navbar-content{max-width:var(--container-2xl);margin:0 auto;width:100%;height:100%;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(var(--space-3),3vw,var(--space-6))}.navbar-left{display:flex;align-items:center;gap:var(--space-3);flex:1;min-width:0}.navbar-logo{display:flex;align-items:center;gap:var(--space-2-5);background:none;border:none;cursor:pointer;padding:var(--space-1-5) var(--space-2-5);border-radius:var(--radius-lg);transition:all var(--duration-150) var(--ease-in-out);color:var(--text-primary);flex-shrink:0;text-decoration:none}.navbar-logo:hover{background-color:var(--primary-subtle)}.navbar-logo:focus-visible{outline:none;box-shadow:var(--focus-ring)}.logo-icon{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;background-color:var(--primary);border-radius:var(--radius-lg);color:var(--primary-text)}.logo-icon svg{width:1.25rem;height:1.25rem}.logo-text{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);letter-spacing:var(--tracking-tight)}.navbar-divider{color:var(--border-default);font-size:var(--text-xl);font-weight:var(--font-normal);line-height:1;-webkit-user-select:none;user-select:none;opacity:.5}.navbar-title{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text-primary);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.navbar-right{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.theme-toggle{display:flex;align-items:center;justify-content:center;width:var(--space-10);height:var(--space-10);background-color:transparent;border:1px solid var(--border-default);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--duration-150) var(--ease-in-out);color:var(--text-tertiary);flex-shrink:0}.theme-toggle:hover{background-color:var(--surface-hover);border-color:var(--border-strong);color:var(--text-primary)}.theme-toggle:focus-visible{outline:none;box-shadow:var(--focus-ring)}.theme-toggle svg{width:1.25rem;height:1.25rem}.avatar-dropdown{position:relative}.avatar-button{background:none;border:none;cursor:pointer;padding:0;border-radius:var(--radius-full);transition:all var(--duration-150) var(--ease-in-out)}.avatar-button:focus-visible{outline:none;box-shadow:var(--focus-ring)}.avatar-circle{width:var(--space-10);height:var(--space-10);border-radius:var(--radius-full);background-color:var(--primary);color:var(--primary-text);display:flex;align-items:center;justify-content:center;font-size:var(--text-sm);font-weight:var(--font-semibold);transition:all var(--duration-150) var(--ease-in-out);border:2px solid transparent;overflow:hidden}.avatar-image{width:100%;height:100%;object-fit:cover}.avatar-button:hover .avatar-circle{border-color:var(--primary-hover);box-shadow:0 0 0 3px var(--primary-subtle)}.dropdown-menu{position:absolute;top:calc(100% + var(--space-2));right:0;min-width:280px;max-width:min(90vw,360px);background-color:var(--surface-primary);border:1px solid var(--border-default);border-radius:var(--radius-xl);box-shadow:var(--shadow-elevation-high);padding:var(--space-2);animation:dropdownSlideIn var(--duration-200) var(--ease-out);z-index:var(--z-dropdown)}@media(max-width:640px){.navbar-content{padding:0 var(--space-4)}.navbar-divider,.navbar-title{display:none}.logo-text{font-size:var(--text-base)}.dropdown-menu{min-width:240px}}@keyframes dropdownSlideIn{0%{opacity:0;transform:translateY(calc(var(--space-2) * -1))}to{opacity:1;transform:translateY(0)}}.dropdown-header{padding:var(--space-4);background-color:var(--primary);border-radius:var(--radius-lg);margin-bottom:var(--space-2)}.dropdown-user-info{display:flex;align-items:center;gap:var(--space-3)}.dropdown-avatar{width:var(--space-12);height:var(--space-12);border-radius:var(--radius-full);background-color:#fff3;color:var(--primary-text);display:flex;align-items:center;justify-content:center;font-size:var(--text-base);font-weight:var(--font-semibold);flex-shrink:0;overflow:hidden}.dropdown-avatar-image{width:100%;height:100%;object-fit:cover}.dropdown-user-text{flex:1;min-width:0}.dropdown-user-name{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--primary-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropdown-user-email{font-size:var(--text-xs);color:#fffc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:var(--space-0-5)}.dropdown-divider{height:1px;background-color:var(--divider);margin:var(--space-2) 0}.dropdown-item{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2-5) var(--space-3);background:none;border:none;border-radius:var(--radius-lg);cursor:pointer;transition:all var(--duration-150) var(--ease-in-out);color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--font-medium);text-align:left}.dropdown-item:hover{background-color:var(--surface-hover)}.dropdown-item:focus-visible{outline:none;box-shadow:var(--focus-ring)}.dropdown-item svg{flex-shrink:0;color:var(--text-tertiary);transition:color var(--duration-150) var(--ease-in-out)}.dropdown-item:hover svg{color:var(--text-secondary)}.dropdown-item-danger{color:var(--error-text)}.dropdown-item-danger:hover{background-color:var(--error-subtle)}.dropdown-item-danger svg{color:var(--error)}@media(max-width:768px){.navbar-content{padding:0 var(--space-4)}.navbar-title{font-size:var(--text-sm)}.logo-text,.navbar-divider{display:none}.theme-toggle{width:var(--space-9);height:var(--space-9)}.avatar-circle{width:var(--space-9);height:var(--space-9);font-size:var(--text-xs)}.dropdown-menu{min-width:260px;right:calc(var(--space-2) * -1)}}@media(max-width:480px){.navbar-content{padding:0 var(--space-3)}.navbar-left{gap:var(--space-2)}.navbar-right{gap:var(--space-1-5)}.logo-icon{width:1.75rem;height:1.75rem}.logo-icon svg{width:1rem;height:1rem}}@media(prefers-reduced-motion:reduce){.navbar-logo,.theme-toggle,.avatar-button,.avatar-circle,.dropdown-item{transition:none}.dropdown-menu{animation:none}}.chat-sidebar{position:fixed;left:0;top:var(--height-navbar);height:calc(100dvh - var(--height-navbar));width:280px;background:var(--bg-secondary);border-right:1px solid var(--border-color);box-shadow:2px 0 8px #0000000d;z-index:100;display:flex;flex-direction:column;transition:transform .3s ease;overflow:hidden}.theme-dark .chat-sidebar{background:var(--bg-secondary);border-right-color:var(--border-light);box-shadow:2px 0 12px #0006}.chat-sidebar-header{padding:var(--spacing-lg) var(--spacing-lg) var(--spacing-md);border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;background:var(--bg-secondary);flex-shrink:0}.theme-dark .chat-sidebar-header{border-bottom-color:var(--border-light)}.chat-sidebar-title{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0}.chat-sidebar-close{display:none;background:transparent;border:none;color:var(--text-secondary);font-size:1.25rem;cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-sm);transition:all var(--transition-base);line-height:1}.chat-sidebar-close:hover{background:var(--bg-hover);color:var(--text-primary)}.chat-sidebar-content{flex:1;overflow-y:auto;padding:var(--spacing-md);scrollbar-width:thin;scrollbar-color:var(--color-gray-300) transparent}.chat-sidebar-content::-webkit-scrollbar{width:6px}.chat-sidebar-content::-webkit-scrollbar-track{background:transparent}.chat-sidebar-content::-webkit-scrollbar-thumb{background:var(--color-gray-300);border-radius:3px}.theme-dark .chat-sidebar-content::-webkit-scrollbar-thumb{background:var(--color-gray-600)}.chat-sidebar-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--spacing-xl) var(--spacing-md);color:var(--text-secondary);gap:var(--spacing-sm)}.empty-icon{font-size:3rem;opacity:.5}.empty-subtitle{font-size:.875rem;color:var(--text-tertiary);margin:0}.chat-group{margin-bottom:var(--spacing-lg)}.chat-group:last-child{margin-bottom:0}.chat-group-title{font-size:.75rem;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;margin:0 0 var(--spacing-sm) 0;padding:0 var(--spacing-xs)}.chat-list{display:flex;flex-direction:column;gap:var(--spacing-xs)}.chat-item{display:flex;gap:var(--spacing-sm);padding:var(--spacing-sm);background:transparent;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);text-align:left;width:100%;color:var(--text-primary)}.chat-item:hover{background:var(--bg-hover)}.chat-item:active{transform:scale(.98)}.chat-item-avatar{flex-shrink:0;width:40px;height:40px;border-radius:50%;overflow:hidden;background:linear-gradient(135deg,#3a7bff,#1f6bff);display:flex;align-items:center;justify-content:center}.chat-avatar-img{width:100%;height:100%;object-fit:cover}.chat-avatar-emoji{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.125rem;font-weight:600}.chat-item-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.chat-item-header{display:flex;justify-content:space-between;align-items:baseline;gap:var(--spacing-xs)}.chat-item-name{font-weight:600;font-size:.9375rem;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-item-time{font-size:.75rem;color:var(--text-tertiary);flex-shrink:0}.chat-item-preview{font-size:.875rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0;line-height:1.4}.chat-item-count{font-size:.75rem;color:var(--text-tertiary);margin:0}.chat-sidebar-toggle{display:none;position:fixed;left:calc(var(--spacing-md) + env(safe-area-inset-left));bottom:calc(var(--spacing-md) + env(safe-area-inset-bottom));width:56px;height:56px;border-radius:50%;background:var(--color-primary);color:#fff;border:none;box-shadow:0 4px 12px #3a7bff66;cursor:pointer;z-index:99;transition:all var(--transition-base)}.chat-sidebar-toggle:hover{transform:scale(1.05);box-shadow:0 6px 16px #3a7bff80}.chat-sidebar-toggle:active{transform:scale(.95)}.toggle-icon{font-size:1.5rem;display:flex;align-items:center;justify-content:center}.chat-sidebar-overlay{display:none;position:fixed;top:var(--height-navbar);left:0;right:0;bottom:0;background:#00000080;z-index:99;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}@media(max-width:768px){.chat-sidebar{transform:translate(-100%);box-shadow:none;width:85%;max-width:320px}.chat-sidebar-open{transform:translate(0);box-shadow:4px 0 16px #0003}.theme-dark .chat-sidebar-open{box-shadow:4px 0 20px #0009}.chat-sidebar-close{display:block}.chat-sidebar-toggle{display:flex;align-items:center;justify-content:center}.chat-sidebar-overlay{display:block}}@media(max-width:480px){.chat-sidebar{width:100%;max-width:none}}@media(max-width:1024px)and (min-width:769px){.chat-sidebar{width:240px}}@media(min-width:769px){.dashboard-with-sidebar .dashboard-content{margin-left:280px}}@media(min-width:769px)and (max-width:1024px){.dashboard-with-sidebar .dashboard-content{margin-left:240px}}.page-layout{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background-color:var(--bg-secondary)}.page-layout-content{flex:1;display:flex;flex-direction:column;transition:margin-left var(--duration-300) var(--ease-in-out)}@media(min-width:769px){.page-layout-with-sidebar .page-layout-content{margin-left:280px}}@media(min-width:769px)and (max-width:1024px){.page-layout-with-sidebar .page-layout-content{margin-left:240px}}@media(max-width:768px){.page-layout-content{margin-left:0}}.page-header{padding:var(--space-6) clamp(var(--space-4),3vw,var(--space-8)) var(--space-4);background-color:var(--bg-primary);border-bottom:1px solid var(--divider)}.page-header-inner{max-width:var(--container-xl);margin:0 auto}.page-title{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--text-primary);margin:0;line-height:var(--leading-tight)}.page-subtitle{font-size:var(--text-base);color:var(--text-secondary);margin:var(--space-1) 0 0 0;line-height:var(--leading-normal)}.page-actions{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-4);flex-wrap:wrap}.page-body{flex:1;padding:var(--space-6) clamp(var(--space-4),3vw,var(--space-8))}.page-body-inner{max-width:var(--container-xl);margin:0 auto}@media(max-width:768px){.page-header{padding:var(--space-4) var(--space-4) var(--space-3)}.page-title{font-size:var(--text-xl)}.page-subtitle{font-size:var(--text-sm)}.page-actions{flex-direction:column;align-items:stretch}.page-body{padding:var(--space-4)}}@media(max-width:480px){.page-title{font-size:var(--text-lg)}.page-actions{gap:var(--space-2)}}.page-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-16) var(--space-4);text-align:center}.page-empty-icon{width:var(--space-16);height:var(--space-16);display:flex;align-items:center;justify-content:center;background-color:var(--surface-secondary);border-radius:var(--radius-full);color:var(--text-muted);margin-bottom:var(--space-4)}.page-empty-icon svg{width:var(--space-8);height:var(--space-8)}.page-empty-title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);margin:0 0 var(--space-2)}.page-empty-description{font-size:var(--text-sm);color:var(--text-secondary);margin:0 0 var(--space-6);max-width:400px}.page-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-16) var(--space-4);text-align:center}.page-loading-spinner{width:var(--space-10);height:var(--space-10);border:3px solid var(--border-muted);border-top-color:var(--primary);border-radius:var(--radius-full);animation:page-spin .8s linear infinite}@keyframes page-spin{to{transform:rotate(360deg)}}.page-loading-text{font-size:var(--text-sm);color:var(--text-secondary);margin-top:var(--space-4)}.page-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-16) var(--space-4);text-align:center}.page-error-icon{width:var(--space-16);height:var(--space-16);display:flex;align-items:center;justify-content:center;background-color:var(--error-subtle);border-radius:var(--radius-full);color:var(--error);margin-bottom:var(--space-4)}.page-error-icon svg{width:var(--space-8);height:var(--space-8)}.page-error-title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);margin:0 0 var(--space-2)}.page-error-description{font-size:var(--text-sm);color:var(--text-secondary);margin:0 0 var(--space-6);max-width:400px}@media(prefers-reduced-motion:reduce){.page-layout-content{transition:none}.page-loading-spinner{animation:none;border-style:dotted}}.dashboard{min-height:100vh;min-height:100dvh;background-color:var(--bg-secondary);padding-top:var(--height-navbar)}.dashboard-tabs{max-width:var(--container-xl);margin:0 auto;padding:0 var(--space-6);display:flex;gap:var(--space-2);border-bottom:2px solid var(--border-default);background-color:var(--bg-primary)}.tab-button{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-5);background:transparent;border:none;border-bottom:3px solid transparent;color:var(--text-secondary);font-size:var(--text-base);font-weight:var(--font-semibold);font-family:var(--font-sans);cursor:pointer;transition:all var(--duration-150) var(--ease-in-out);position:relative;margin-bottom:-2px}.tab-button:hover{color:var(--primary);background-color:var(--surface-hover)}.tab-button:focus-visible{outline:none;box-shadow:var(--focus-ring)}.tab-button.active{color:var(--primary);border-bottom-color:var(--primary)}.tab-icon{font-size:var(--text-xl)}.tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:var(--space-5);height:var(--space-5);padding:0 var(--space-1-5);background-color:var(--primary);color:var(--primary-text);font-size:var(--text-xs);font-weight:var(--font-bold);border-radius:var(--radius-full)}.tab-button:not(.active) .tab-badge{background-color:var(--text-muted)}.dashboard-header-modern{max-width:var(--container-xl);margin:0 auto;padding:var(--space-8) var(--space-6) var(--space-6);display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-6);flex-wrap:wrap}.header-title-section{flex:1;min-width:280px}.header-title-wrapper{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-2)}.dashboard .section-icon{font-size:var(--text-2xl)}.header-title-wrapper h2{margin:0;color:var(--text-primary);font-size:var(--text-3xl);font-weight:var(--font-bold);letter-spacing:var(--tracking-tight)}.dashboard .section-subtitle{margin:0;color:var(--text-secondary);font-size:var(--text-base);font-weight:var(--font-medium)}.profile-count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:var(--space-8);height:var(--space-8);padding:0 var(--space-2);background-color:var(--primary);color:var(--primary-text);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--font-bold);box-shadow:var(--shadow-sm)}.filter-indicator{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background-color:var(--primary-subtle);border:1px solid var(--primary);border-radius:var(--radius-full);font-size:var(--text-sm);color:var(--primary);margin-top:var(--space-3)}.btn-clear-filter{background-color:var(--primary-subtle);border:none;border-radius:var(--radius-full);width:var(--space-5);height:var(--space-5);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--primary);font-size:var(--text-xs);transition:all var(--duration-150) var(--ease-in-out)}.btn-clear-filter:hover{background-color:var(--primary);color:var(--primary-text)}.btn-create-profile{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);background-color:var(--primary);color:var(--primary-text);border:none;border-radius:var(--radius-xl);font-size:var(--text-base);font-weight:var(--font-bold);font-family:var(--font-sans);cursor:pointer;transition:all var(--duration-200) var(--ease-in-out);box-shadow:var(--shadow-md),0 4px 14px var(--primary-subtle);min-height:var(--touch-target)}.btn-create-profile:hover{background-color:var(--primary-hover);transform:translateY(-2px);box-shadow:var(--shadow-lg),0 8px 20px var(--primary-subtle)}.btn-create-profile:focus-visible{outline:none;box-shadow:var(--focus-ring)}.btn-create-profile .btn-icon{font-size:var(--text-base)}.toolbar{max-width:var(--container-xl);margin:0 auto var(--space-6);padding:var(--space-4);display:flex;gap:var(--space-4);flex-wrap:wrap;align-items:center;background-color:var(--surface-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);margin-left:var(--space-6);margin-right:var(--space-6)}.search-box-modern{position:relative;flex:1 1 auto;min-width:min(100%,300px)}.search-icon-modern{position:absolute;left:var(--space-4);top:50%;transform:translateY(-50%);font-size:var(--text-lg);pointer-events:none;opacity:.4}.search-input-modern{width:100%;min-height:var(--space-12);height:var(--space-12);padding:0 var(--space-12);border:2px solid var(--input-border);border-radius:var(--radius-lg);font-size:var(--text-base);font-family:var(--font-sans);transition:all var(--duration-150) var(--ease-in-out);background-color:var(--input-bg);color:var(--text-primary)}.search-input-modern:hover{border-color:var(--input-border-hover)}.search-input-modern:focus{outline:none;border-color:var(--input-border-focus);background-color:var(--surface-primary);box-shadow:var(--focus-ring)}.search-input-modern::placeholder{color:var(--text-muted)}.clear-search-modern{position:absolute;right:var(--space-3);top:50%;transform:translateY(-50%);background-color:var(--surface-secondary);border:none;color:var(--text-secondary);cursor:pointer;padding:var(--space-2);font-size:var(--text-sm);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);min-width:var(--space-8);min-height:var(--space-8);width:var(--space-8);height:var(--space-8);transition:all var(--duration-150) var(--ease-in-out)}.clear-search-modern:hover{color:var(--primary-text);background-color:var(--error)}.clear-search-modern:focus-visible{outline:none;box-shadow:var(--focus-ring)}.toolbar-controls{display:flex;gap:var(--space-3);align-items:center}.sort-select-modern{min-height:var(--space-12);height:var(--space-12);padding:0 var(--space-5);padding-right:var(--space-8);border:2px solid var(--input-border);border-radius:var(--radius-lg);font-size:var(--text-base);font-weight:var(--font-medium);font-family:var(--font-sans);background-color:var(--surface-secondary);color:var(--text-primary);cursor:pointer;transition:all var(--duration-150) var(--ease-in-out)}.sort-select-modern:hover{border-color:var(--input-border-hover);background-color:var(--surface-primary)}.sort-select-modern:focus{outline:none;border-color:var(--input-border-focus);background-color:var(--surface-primary);box-shadow:var(--focus-ring)}.view-toggle-modern{display:flex;gap:var(--space-1);background-color:var(--surface-secondary);border:2px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-1)}.view-btn-modern{min-width:var(--space-11);min-height:var(--space-11);width:var(--space-11);height:var(--space-11);border:none;background:transparent;color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-md);transition:all var(--duration-150) var(--ease-in-out);display:flex;align-items:center;justify-content:center;font-size:var(--text-xl)}.view-btn-modern:hover{background-color:var(--surface-hover);color:var(--text-primary)}.view-btn-modern:focus-visible{outline:none;box-shadow:var(--focus-ring)}.view-btn-modern.active{background-color:var(--primary);color:var(--primary-text);box-shadow:var(--shadow-sm)}.view-icon{font-size:var(--text-xl)}.profiles-grid-modern{max-width:var(--container-xl);margin:0 auto;padding:0 var(--space-6) var(--space-6);display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:var(--space-5)}.profiles-grid-modern .profile-card-modern{animation:fadeInStagger var(--duration-300) var(--ease-out) backwards}.profiles-grid-modern .profile-card-modern:nth-child(1){animation-delay:50ms}.profiles-grid-modern .profile-card-modern:nth-child(2){animation-delay:.1s}.profiles-grid-modern .profile-card-modern:nth-child(3){animation-delay:.15s}.profiles-grid-modern .profile-card-modern:nth-child(4){animation-delay:.2s}.profiles-grid-modern .profile-card-modern:nth-child(5){animation-delay:.25s}.profiles-grid-modern .profile-card-modern:nth-child(6){animation-delay:.3s}.profiles-grid-modern .profile-card-modern:nth-child(n+7){animation-delay:.35s}@keyframes fadeInStagger{0%{opacity:0;transform:translateY(var(--space-4))}to{opacity:1;transform:translateY(0)}}.profile-card-modern{background-color:var(--card-bg);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--card-shadow);transition:all var(--duration-200) var(--ease-in-out);border:1px solid var(--card-border);display:flex;flex-direction:column}.profile-card-modern:hover{transform:translateY(-4px);box-shadow:var(--shadow-elevation-medium);border-color:var(--primary-subtle)}.profile-card-avatar{padding:var(--space-4) var(--space-4) var(--space-2);display:flex;justify-content:center;align-items:center}.profile-avatar-img{width:80px;height:80px;border-radius:var(--radius-full);object-fit:cover;border:3px solid var(--primary-subtle);box-shadow:var(--shadow-sm)}.profile-avatar-emoji{width:80px;height:80px;border-radius:var(--radius-full);background-color:var(--primary);display:flex;align-items:center;justify-content:center;font-size:var(--text-4xl);color:var(--primary-text);border:3px solid var(--surface-primary);box-shadow:var(--shadow-sm)}.profile-card-body{padding:0 var(--space-4) var(--space-4);text-align:center}.profile-card-title{margin:0 0 var(--space-1) 0;color:var(--text-primary);font-size:var(--text-lg);font-weight:var(--font-bold);line-height:var(--leading-snug)}.profile-card-meta{margin:0 0 var(--space-1) 0;color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--font-medium)}.profile-card-meta-secondary{margin:0;color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--font-medium);line-height:var(--leading-relaxed)}.profile-card-divider{height:1px;background-color:var(--divider);margin:var(--space-2) var(--space-4)}.profile-card-actions-modern{display:grid;grid-template-columns:1fr 1fr auto auto;gap:var(--space-1-5);padding:0 var(--space-4) var(--space-4);align-items:stretch}.btn-action-primary,.btn-action-secondary,.btn-action-view{padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:var(--font-semibold);font-family:var(--font-sans);cursor:pointer;transition:all var(--duration-150) var(--ease-in-out);border:none;min-height:var(--space-10)}.btn-action-primary{background-color:var(--primary);color:var(--primary-text);box-shadow:var(--shadow-sm)}.btn-action-primary:hover{background-color:var(--primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-action-primary:focus-visible{outline:none;box-shadow:var(--focus-ring)}.btn-action-secondary{background-color:var(--surface-primary);color:var(--primary);border:2px solid var(--primary)}.btn-action-secondary:hover{background-color:var(--primary-subtle)}.btn-action-secondary:focus-visible{outline:none;box-shadow:var(--focus-ring)}.btn-action-view{background-color:var(--success);color:#fff;box-shadow:var(--shadow-sm)}.btn-action-view:hover{background-color:var(--success-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-action-view:focus-visible{outline:none;box-shadow:var(--focus-ring)}.btn-action-export{padding:var(--space-2-5) var(--space-2);border-radius:var(--radius-lg);font-size:var(--text-xl);font-weight:var(--font-medium);cursor:pointer;transition:all var(--duration-150) var(--ease-in-out);border:2px solid var(--secondary);background-color:var(--surface-primary);color:var(--secondary);display:flex;align-items:center;justify-content:center;gap:var(--space-1);white-space:nowrap;min-height:var(--space-10)}.btn-action-export:hover:not(:disabled){background-color:var(--secondary);color:#fff;transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-action-export:focus-visible{outline:none;box-shadow:var(--focus-ring)}.btn-action-export:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-action-delete{width:var(--space-10);min-width:var(--space-10);height:var(--space-10);padding:0;border-radius:var(--radius-lg);font-size:var(--text-xl);cursor:pointer;transition:all var(--duration-150) var(--ease-in-out);border:2px solid var(--border-default);background-color:var(--surface-primary);color:var(--text-secondary);display:flex;align-items:center;justify-content:center}.btn-action-delete:hover:not(:disabled){background-color:var(--error-subtle);border-color:var(--error);color:var(--error);transform:rotate(10deg)}.btn-action-delete:focus-visible{outline:none;box-shadow:var(--focus-ring)}.btn-action-delete:disabled{opacity:.5;cursor:not-allowed}.profiles-list{max-width:var(--container-xl);margin:0 auto;padding:0 var(--space-6) var(--space-6);display:flex;flex-direction:column;gap:var(--space-4)}.profile-list-item{background-color:var(--card-bg);border-radius:var(--radius-xl);padding:var(--space-4);box-shadow:var(--card-shadow);border:1px solid var(--card-border);transition:all var(--duration-200) var(--ease-in-out);display:flex;justify-content:space-between;align-items:center;gap:var(--space-5);min-height:88px}.profile-list-item:hover{transform:translateY(-2px);box-shadow:var(--shadow-elevation-medium);border-color:var(--primary-subtle)}.profile-list-left{display:flex;align-items:center;gap:var(--space-4);flex:1;min-width:0}.profile-picture-display{width:var(--space-12);height:var(--space-12);border-radius:var(--radius-full);overflow:hidden;flex-shrink:0;box-shadow:var(--shadow-sm);background-color:var(--surface-secondary);display:flex;align-items:center;justify-content:center;border:2px solid var(--primary-subtle);transition:transform var(--duration-150) var(--ease-in-out)}.profile-list-item:hover .profile-picture-display{transform:scale(1.05)}.profile-picture-img{width:100%;height:100%;object-fit:cover}.profile-picture-emoji{font-size:var(--text-xl);line-height:1;color:var(--primary-text);background-color:var(--primary);width:100%;height:100%;display:flex;align-items:center;justify-content:center}.profile-list-info{flex:1;min-width:0}.profile-list-info h3{margin:0 0 var(--space-1) 0;color:var(--text-primary);font-size:var(--text-lg);font-weight:var(--font-semibold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-meta-text{margin:0;color:var(--text-secondary);font-size:var(--text-sm);line-height:var(--leading-relaxed);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-description{font-size:var(--text-sm);color:var(--text-secondary);margin-top:var(--space-2);line-height:var(--leading-relaxed)}.profile-list-actions{display:flex;gap:var(--space-2);flex-shrink:0;align-items:center}.btn-list-primary{display:inline-flex;align-items:center;gap:var(--space-1-5);padding:var(--space-2-5) var(--space-4);background-color:var(--primary);color:var(--primary-text);border:none;border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:var(--font-semibold);font-family:var(--font-sans);cursor:pointer;transition:all var(--duration-150) var(--ease-in-out);box-shadow:var(--shadow-sm);min-height:var(--space-10);white-space:nowrap}.btn-list-primary:hover:not(:disabled){background-color:var(--primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-list-primary:focus-visible{outline:none;box-shadow:var(--focus-ring)}.btn-list-secondary{display:inline-flex;align-items:center;gap:var(--space-1-5);padding:var(--space-2-5) var(--space-4);background-color:var(--surface-primary);color:var(--primary);border:2px solid var(--primary);border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:var(--font-semibold);font-family:var(--font-sans);cursor:pointer;transition:all var(--duration-150) var(--ease-in-out);min-height:var(--space-10);white-space:nowrap}.btn-list-secondary:hover:not(:disabled){background-color:var(--primary-subtle)}.btn-list-secondary:focus-visible{outline:none;box-shadow:var(--focus-ring)}.btn-list-view{display:inline-flex;align-items:center;gap:var(--space-1-5);padding:var(--space-2) var(--space-4);background-color:var(--success);color:#fff;border:none;border-radius:var(--radius-lg);font-weight:var(--font-semibold);font-family:var(--font-sans);cursor:pointer;transition:all var(--duration-150) var(--ease-in-out);font-size:var(--text-sm)}.btn-list-view:hover{background-color:var(--success-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-list-view:focus-visible{outline:none;box-shadow:var(--focus-ring)}.btn-list-export{padding:var(--space-2) var(--space-4);background-color:var(--surface-primary);color:var(--secondary);border:2px solid var(--secondary);border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:var(--font-medium);font-family:var(--font-sans);cursor:pointer;transition:all var(--duration-150) var(--ease-in-out);display:flex;align-items:center;gap:var(--space-1-5);white-space:nowrap}.btn-list-export:hover:not(:disabled){background-color:var(--secondary);color:#fff;transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-list-export:focus-visible{outline:none;box-shadow:var(--focus-ring)}.btn-list-export:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-list-delete{width:var(--space-10);height:var(--space-10);min-width:var(--space-10);padding:0;background-color:var(--surface-primary);color:var(--text-secondary);border:2px solid var(--border-default);border-radius:var(--radius-full);font-size:var(--text-base);cursor:pointer;transition:all var(--duration-150) var(--ease-in-out);display:flex;align-items:center;justify-content:center}.btn-list-delete:hover:not(:disabled){background-color:var(--error-subtle);border-color:var(--error);color:var(--error);transform:rotate(10deg)}.btn-list-delete:focus-visible{outline:none;box-shadow:var(--focus-ring)}.btn-list-delete:disabled{opacity:.5;cursor:not-allowed}.profile-header{padding:var(--space-4);display:flex;gap:var(--space-3);align-items:flex-start}.profile-info{flex:1;min-width:0}.profile-info h3{margin:0 0 var(--space-1);color:var(--text-primary);font-size:var(--text-lg);font-weight:var(--font-bold)}.profile-badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-3);background-color:var(--primary);color:var(--primary-text);font-size:var(--text-xs);font-weight:var(--font-semibold);border-radius:var(--radius-full);margin-top:var(--space-2)}.profile-badge-system{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-3);background-color:var(--text-muted);color:#fff;font-size:var(--text-xs);font-weight:var(--font-semibold);border-radius:var(--radius-full);margin-top:var(--space-2);margin-left:var(--space-1)}.profile-meta{padding:0 var(--space-4) var(--space-3);display:flex;flex-wrap:wrap;gap:var(--space-3)}.meta-item{font-size:var(--text-sm);color:var(--text-secondary)}.profile-actions{padding:var(--space-3) var(--space-4);border-top:1px solid var(--divider);display:flex;gap:var(--space-2);flex-wrap:wrap}.empty-state-modern{text-align:center;padding:var(--space-16) var(--space-6);background-color:var(--surface-primary);border-radius:var(--radius-2xl);box-shadow:var(--shadow-sm);max-width:560px;margin:0 auto}.empty-illustration{font-size:6rem;margin-bottom:var(--space-6);opacity:.9;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(calc(var(--space-2) * -1))}}.empty-title{margin:0 0 var(--space-3) 0;color:var(--text-primary);font-size:var(--text-xl);font-weight:var(--font-bold)}.empty-subtitle{margin:0 0 var(--space-8) 0;color:var(--text-secondary);font-size:var(--text-base);line-height:var(--leading-relaxed)}.btn-create-large{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-8);background-color:var(--primary);color:var(--primary-text);border:none;border-radius:var(--radius-xl);font-size:var(--text-base);font-weight:var(--font-bold);font-family:var(--font-sans);cursor:pointer;transition:all var(--duration-200) var(--ease-in-out);box-shadow:var(--shadow-md),0 6px 20px var(--primary-subtle);min-height:var(--space-14)}.btn-create-large:hover{background-color:var(--primary-hover);transform:translateY(-3px);box-shadow:var(--shadow-lg),0 10px 30px var(--primary-subtle)}.btn-create-large:focus-visible{outline:none;box-shadow:var(--focus-ring)}.btn-create-large .btn-icon{font-size:var(--text-lg)}.btn-secondary-modern{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);background-color:var(--surface-primary);color:var(--primary);border:2px solid var(--primary);border-radius:var(--radius-lg);font-size:var(--text-base);font-weight:var(--font-semibold);font-family:var(--font-sans);cursor:pointer;transition:all var(--duration-150) var(--ease-in-out);min-height:var(--touch-target)}.btn-secondary-modern:hover{background-color:var(--primary);color:var(--primary-text);transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-secondary-modern:focus-visible{outline:none;box-shadow:var(--focus-ring)}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-16);gap:var(--space-5);min-height:400px}.loading:before{content:"";width:var(--space-14);height:var(--space-14);border:5px solid var(--border-muted);border-top-color:var(--primary);border-radius:var(--radius-full);animation:spin .8s linear infinite}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.toast{position:fixed;bottom:var(--space-6);right:var(--space-6);left:var(--space-6);background-color:var(--surface-primary);padding:var(--space-4) var(--space-5);border-radius:var(--radius-xl);box-shadow:var(--shadow-elevation-high);display:flex;align-items:center;gap:var(--space-3);max-width:500px;margin-left:auto;z-index:var(--z-toast);animation:slideInRight var(--duration-300) var(--ease-out);border-left:4px solid}.toast-success{border-left-color:var(--success)}.toast-error{border-left-color:var(--error)}.toast-icon{flex-shrink:0;width:var(--space-6);height:var(--space-6);display:flex;align-items:center;justify-content:center;font-weight:var(--font-bold);border-radius:var(--radius-full);font-size:var(--text-sm)}.toast-success .toast-icon{background-color:var(--success);color:#fff}.toast-error .toast-icon{background-color:var(--error);color:#fff}.toast-message{flex:1;color:var(--text-primary);font-size:var(--text-sm);line-height:var(--leading-relaxed)}.toast-close{flex-shrink:0;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:var(--space-1);border-radius:var(--radius-sm);transition:all var(--duration-150) var(--ease-in-out);font-size:var(--text-lg);line-height:1}.toast-close:hover{background-color:var(--surface-hover);color:var(--text-primary)}.toast-close:focus-visible{outline:none;box-shadow:var(--focus-ring)}@media(max-width:768px){.dashboard{padding-top:var(--space-16)}.dashboard-tabs{padding:0 var(--space-4);overflow-x:auto;-webkit-overflow-scrolling:touch}.tab-button{padding:var(--space-3) var(--space-4);font-size:var(--text-sm)}.dashboard-header-modern{padding:var(--space-6) var(--space-4);flex-direction:column;align-items:stretch}.header-title-wrapper h2{font-size:var(--text-2xl)}.btn-create-profile{width:100%;justify-content:center}.toolbar{margin-left:var(--space-4);margin-right:var(--space-4);flex-direction:column;gap:var(--space-3)}.search-box-modern{width:100%}.toolbar-controls{width:100%;justify-content:space-between}.sort-select-modern{flex:1}.profiles-grid-modern{padding:0 var(--space-4) var(--space-4);gap:var(--space-4)}.profiles-list{padding:0 var(--space-4) var(--space-4)}.profile-list-item{flex-direction:column;gap:var(--space-4);align-items:stretch}.profile-list-actions{flex-wrap:wrap;justify-content:center}.toast{left:var(--space-4);right:var(--space-4);bottom:var(--space-4);margin:0;max-width:none}}@media(max-width:480px){.dashboard-tabs{padding:0 var(--space-3);gap:0}.tab-button{padding:var(--space-2-5) var(--space-3);font-size:var(--text-sm)}.tab-icon{font-size:var(--text-base)}.dashboard-header-modern{padding:var(--space-5) var(--space-3)}.header-title-wrapper h2{font-size:var(--text-xl)}.profile-count-badge{min-width:var(--space-6);height:var(--space-6);font-size:var(--text-xs)}.toolbar{margin-left:var(--space-3);margin-right:var(--space-3);padding:var(--space-3)}.search-input-modern,.sort-select-modern{font-size:16px}.profiles-grid-modern,.profiles-list{padding:0 var(--space-3) var(--space-3)}.profile-card-actions-modern{grid-template-columns:1fr 1fr;gap:var(--space-2)}.btn-action-export,.btn-action-delete{grid-column:span 1}.btn-action-delete{width:100%;min-width:auto}.empty-state-modern{padding:var(--space-10) var(--space-4)}.empty-illustration{font-size:4rem}.empty-title{font-size:var(--text-lg)}}@media(prefers-reduced-motion:reduce){.profiles-grid-modern .profile-card-modern,.empty-illustration{animation:none}.loading:before{animation:none;border-style:dotted}.toast{animation:none}.tab-button,.btn-create-profile,.search-input-modern,.sort-select-modern,.view-btn-modern,.profile-card-modern,.profile-list-item,.btn-action-primary,.btn-action-secondary,.btn-action-view,.btn-action-export,.btn-action-delete,.btn-list-primary,.btn-list-secondary,.btn-list-view,.btn-list-export,.btn-list-delete,.btn-create-large,.btn-secondary-modern,.toast-close,.btn-clear-filter,.clear-search-modern,.profile-picture-display{transition:none}.btn-create-profile:hover,.profile-card-modern:hover,.profile-list-item:hover,.btn-action-primary:hover,.btn-action-view:hover,.btn-action-export:hover:not(:disabled),.btn-action-delete:hover:not(:disabled),.btn-list-primary:hover:not(:disabled),.btn-list-view:hover,.btn-list-export:hover:not(:disabled),.btn-list-delete:hover:not(:disabled),.btn-create-large:hover,.btn-secondary-modern:hover{transform:none}}.avatar-selector{margin-bottom:1.5rem}.avatar-selector label{display:block;font-weight:500;margin-bottom:.5rem;color:#333}.avatar-description{font-size:.875rem;color:#666;margin-bottom:1rem}.avatar-preview-container{display:flex;justify-content:center}.avatar-preview-button{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.5rem 2rem;background:linear-gradient(135deg,#3a7bff,#1f6bff);border:none;border-radius:12px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 6px #0000001a}.avatar-preview-button:hover{transform:translateY(-2px);box-shadow:0 6px 12px #00000026}.avatar-display{font-size:4rem;line-height:1;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.avatar-image{width:96px;height:96px;border-radius:20px;object-fit:cover;box-shadow:0 4px 8px #00000026}.change-text{color:#fff;font-size:.875rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.avatar-picker-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.avatar-picker{background:#fff;border-radius:16px;padding:2rem;max-width:500px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.avatar-picker-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #f0f0f0}.avatar-upload{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem}.upload-button{align-self:flex-start;padding:.65rem 1.25rem;border-radius:10px;border:1px solid #e0e7ff;background:linear-gradient(135deg,#e0e7ff,#f5f7ff);color:#283593;font-weight:600;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.upload-button:hover{transform:translateY(-1px);box-shadow:0 6px 14px #667eea26}.upload-input{display:none}.upload-hint{margin:0;font-size:.85rem;color:#555}.avatar-picker-header h3{margin:0;color:#333;font-size:1.25rem}.close-picker{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#666;padding:.25rem .5rem;line-height:1;transition:color .2s ease}.close-picker:hover{color:#333}.clear-button{align-self:flex-start;padding:.5rem .9rem;border-radius:10px;border:1px solid #e0e7ff;background:#fff;color:#555;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.clear-button:hover{transform:translateY(-1px);box-shadow:0 4px 10px #00000014}@media(max-width:768px){.avatar-picker{padding:1.5rem;width:95%}.avatar-grid{grid-template-columns:repeat(auto-fill,minmax(50px,1fr));gap:.5rem}.avatar-option{font-size:1.75rem}.avatar-display{font-size:3rem}}.persona-detail{min-height:100vh;background-color:var(--surface-primary);padding-top:var(--height-navbar)}.persona-detail .section-header{max-width:var(--container-xl);margin:0 auto;padding:var(--space-8) var(--space-6)}.loading-container{min-height:calc(100vh - var(--height-navbar));display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);color:var(--text-secondary);font-size:var(--text-lg)}.persona-detail .navbar{border-bottom:1px solid var(--border-default);padding:var(--space-4) var(--space-6);display:flex;justify-content:space-between;align-items:center;position:relative;z-index:var(--z-sticky)}.persona-detail .navbar h1{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--primary);margin:0;letter-spacing:var(--tracking-tight)}.persona-detail .navbar-right-actions{display:flex;align-items:center;gap:var(--space-4)}.persona-detail .user-menu-container{position:relative}.persona-detail .user-avatar-btn{display:flex;align-items:center;gap:var(--space-2);background:transparent;border:2px solid var(--border-default);border-radius:var(--radius-full);padding:var(--space-1) var(--space-3) var(--space-1) var(--space-1);cursor:pointer;transition:all var(--duration-200) var(--ease-in-out);min-height:var(--touch-target)}.persona-detail .user-avatar-btn:hover{border-color:var(--primary);background-color:var(--surface-secondary)}.persona-detail .user-avatar-btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.persona-detail .user-avatar{width:var(--space-9);height:var(--space-9);border-radius:var(--radius-full);background:var(--gradient-primary);display:flex;align-items:center;justify-content:center;color:var(--primary-text);font-size:var(--text-lg);overflow:hidden}.persona-detail .user-avatar-img{width:100%;height:100%;object-fit:cover}.persona-detail .dropdown-arrow{font-size:var(--text-xs);color:var(--text-secondary);transition:transform var(--duration-200) var(--ease-in-out)}.persona-detail .user-avatar-btn[aria-expanded=true] .dropdown-arrow{transform:rotate(180deg)}.persona-detail .user-dropdown{position:absolute;top:calc(100% + var(--space-2));right:0;background-color:var(--surface-primary);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-elevation-high);min-width:220px;overflow:hidden;animation:dropdownSlide var(--duration-200) var(--ease-out);z-index:var(--z-dropdown)}@keyframes dropdownSlide{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.persona-detail .dropdown-divider{height:1px;background-color:var(--divider);margin:0}.persona-detail .dropdown-item{width:100%;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:none;background-color:var(--surface-primary);color:var(--text-primary);font-size:var(--text-base);font-weight:var(--font-medium);font-family:var(--font-sans);text-align:left;cursor:pointer;transition:background-color var(--duration-150) var(--ease-in-out);min-height:var(--touch-target)}.persona-detail .dropdown-item:hover{background-color:var(--surface-hover)}.persona-detail .dropdown-item:focus-visible{outline:none;background-color:var(--surface-hover);box-shadow:inset var(--focus-ring)}.persona-detail .dropdown-icon{font-size:var(--text-lg)}.persona-sticky-header{position:sticky;top:var(--height-navbar);z-index:var(--z-sticky);background:linear-gradient(to right,var(--surface-primary),var(--surface-secondary));border-bottom:2px solid var(--border-default);box-shadow:var(--shadow-sm);padding:var(--space-4) 0;margin-top:var(--space-4);transition:box-shadow var(--duration-200) var(--ease-in-out)}.persona-sticky-header:hover{box-shadow:var(--shadow-md)}.sticky-header-content{max-width:var(--container-xl);margin:0 auto;padding:0 var(--space-6);display:flex;justify-content:space-between;align-items:center;gap:var(--space-4)}.sticky-header-left{display:flex;align-items:center;gap:var(--space-4);flex:1;min-width:0}.sticky-persona-photo{width:var(--space-14);height:var(--space-14);border-radius:var(--radius-xl);overflow:hidden;flex-shrink:0;background:var(--gradient-primary);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-md),0 4px 12px var(--primary-subtle);transition:transform var(--duration-200) var(--ease-in-out)}.sticky-persona-photo:hover{transform:scale(1.05)}.sticky-persona-photo img{width:100%;height:100%;object-fit:cover}.sticky-photo-placeholder{font-size:var(--text-3xl)}.sticky-header-info{flex:1;min-width:0}.sticky-header-info h2{font-size:var(--text-xl);font-weight:var(--font-bold);margin:0 0 var(--space-1-5) 0;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:var(--tracking-tight)}.sticky-header-meta{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-sm)}.status-badge{font-size:var(--text-sm);font-weight:var(--font-semibold);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);background:linear-gradient(135deg,var(--surface-secondary),var(--surface-tertiary));display:inline-flex;align-items:center;gap:var(--space-1);box-shadow:var(--shadow-xs)}.inline-name-edit{font-size:var(--text-xl);font-weight:var(--font-bold);padding:var(--space-1-5) var(--space-3);border:2px solid var(--primary);border-radius:var(--radius-lg);background-color:var(--surface-primary);width:100%;max-width:400px;box-shadow:0 0 0 4px var(--primary-subtle);font-family:var(--font-sans);color:var(--text-primary)}.inline-name-edit:focus{outline:none;box-shadow:var(--focus-ring)}.save-status{display:inline-flex;align-items:center;gap:var(--space-1-5);font-size:var(--text-sm);font-weight:var(--font-semibold);padding:var(--space-1) var(--space-2-5);border-radius:var(--radius-lg);transition:all var(--duration-200) var(--ease-in-out);margin-top:var(--space-1)}.status-icon{font-size:var(--text-base);line-height:1}.status-text{line-height:1}.status-saving{background-color:var(--warning-subtle);color:var(--warning-text)}.status-saving .status-icon{animation:rotate 1s linear infinite}@keyframes rotate{to{transform:rotate(360deg)}}.status-saved{background-color:var(--success-subtle);color:var(--success-text);animation:fadeIn var(--duration-300) var(--ease-out)}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.status-error{background-color:var(--error-subtle);color:var(--error-text)}.sticky-header-right{display:flex;align-items:center;gap:var(--space-4)}.last-saved-time{font-size:var(--text-sm);color:var(--text-secondary);white-space:nowrap;font-weight:var(--font-medium);display:flex;align-items:center;gap:var(--space-1)}.last-saved-time:before{content:"💾";font-size:var(--text-base)}.completion-ring{display:flex;flex-direction:column;align-items:center;justify-content:center;margin-right:var(--space-3)}.completion-ring svg{filter:drop-shadow(0 2px 4px var(--primary-subtle))}.btn-chat-sticky{padding:var(--space-3) var(--space-6);background:var(--gradient-primary);color:var(--primary-text);border:none;border-radius:var(--radius-lg);font-weight:var(--font-semibold);font-size:var(--text-base);font-family:var(--font-sans);cursor:pointer;transition:all var(--duration-200) var(--ease-in-out);white-space:nowrap;box-shadow:var(--shadow-md),0 4px 12px var(--primary-subtle);display:flex;align-items:center;gap:var(--space-2);min-height:var(--touch-target)}.btn-chat-sticky:hover{background:var(--gradient-primary-hover);transform:translateY(-2px);box-shadow:var(--shadow-lg),0 6px 16px var(--primary-subtle)}.btn-chat-sticky:focus-visible{outline:none;box-shadow:var(--focus-ring)}.btn-chat-sticky:active{transform:translateY(0)}.persona-header{background-color:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-xl);padding:var(--space-8);margin-bottom:var(--space-6);box-shadow:var(--card-shadow);display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-6);flex-wrap:wrap}.persona-info{flex:1;min-width:300px}.persona-avatar-section{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-6)}.persona-avatar-wrapper{position:relative;cursor:pointer;width:var(--space-22);height:var(--space-22);border-radius:var(--radius-xl);overflow:hidden;outline:none}.persona-avatar-wrapper:focus-visible{box-shadow:var(--focus-ring)}.persona-avatar-display{font-size:4rem;line-height:1;background:var(--gradient-primary);width:100%;height:100%;border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-md);transition:transform var(--duration-200) var(--ease-in-out)}.persona-avatar-display img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius-xl)}.avatar-overlay{position:absolute;inset:0;background-color:var(--overlay-dark);border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--duration-200) var(--ease-in-out)}.avatar-overlay-content{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);color:#fff;text-align:center}.camera-icon{font-size:var(--text-2xl);display:block}.overlay-text{font-size:var(--text-xs);font-weight:var(--font-semibold);display:block}.persona-avatar-wrapper:hover .persona-avatar-display{transform:scale(1.05)}.persona-avatar-wrapper:hover .avatar-overlay{opacity:1}.persona-avatar-wrapper:hover{box-shadow:0 0 0 4px var(--primary-subtle)}.avatar-placeholder{font-size:4rem}.persona-actions{display:flex;gap:var(--space-3);flex-wrap:wrap}.persona-info h2{margin:0 0 var(--space-3) 0;color:var(--text-primary);font-size:var(--text-3xl);font-weight:var(--font-bold);letter-spacing:var(--tracking-tight)}.profile-description{color:var(--text-secondary);margin:0 0 var(--space-2) 0;line-height:var(--leading-relaxed);font-size:var(--text-base)}.persona-date{color:var(--text-muted);font-size:var(--text-sm);margin:0}.persona-detail .btn-large{min-height:var(--touch-target);padding:var(--space-3) var(--space-8);font-size:var(--text-base);white-space:nowrap;font-weight:var(--font-bold)}.persona-detail .section{background-color:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-xl);margin-bottom:var(--space-4);box-shadow:var(--card-shadow);overflow:hidden;border-left:4px solid transparent;transition:all var(--duration-200) var(--ease-in-out)}.persona-detail .section:hover{border-left-color:var(--primary);box-shadow:var(--shadow-elevation-medium)}.persona-detail .section h3{margin:0 0 var(--space-6) 0;color:var(--text-primary);font-size:var(--text-2xl);font-weight:var(--font-bold)}.persona-detail .section-header{width:100%;background:none;border:none;padding:var(--space-4) var(--space-5);display:flex;align-items:center;gap:var(--space-2);cursor:pointer;transition:background-color var(--duration-150) var(--ease-in-out);text-align:left;font-family:var(--font-sans)}.persona-detail .section-header:hover{background-color:var(--surface-hover)}.persona-detail .section-header.collapsible:focus-visible{outline:none;box-shadow:inset var(--focus-ring)}.persona-detail .section-header h3{margin:0;font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary)}.persona-detail .section-icon{font-size:var(--text-sm);color:var(--text-secondary);transition:transform var(--duration-200) var(--ease-in-out);width:var(--space-4);display:inline-block}.persona-detail .section-emoji{font-size:var(--text-xl);margin-right:var(--space-1)}.persona-detail .section-preview{margin-left:auto;font-size:var(--text-sm);color:var(--text-secondary);font-style:italic;max-width:400px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.persona-detail .section-content{padding:0 var(--space-5) var(--space-5) var(--space-5);animation:slideDown var(--duration-200) var(--ease-out)}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.info-box{background:linear-gradient(135deg,var(--primary-subtle) 0%,var(--secondary-subtle) 100%);border-left:4px solid var(--primary);border-radius:var(--radius-lg);padding:var(--space-4);margin-bottom:var(--space-6)}.info-box h4{margin:0 0 var(--space-3) 0;color:var(--primary);font-size:var(--text-base);font-weight:var(--font-bold)}.info-box ul{margin:0;padding-left:var(--space-5);list-style:none}.info-box li{margin-bottom:var(--space-2);color:var(--text-secondary);line-height:var(--leading-relaxed)}.info-box li strong{color:var(--text-primary)}.info-box-enhanced{background:linear-gradient(135deg,var(--primary-subtle) 0%,var(--secondary-subtle) 100%);border-left:4px solid var(--primary);border-radius:var(--radius-lg);padding:var(--space-4);margin-bottom:var(--space-6)}.info-box-enhanced h4{margin:0 0 var(--space-3) 0;color:var(--primary);font-size:var(--text-base);font-weight:var(--font-bold)}.persona-intro{margin-bottom:var(--space-4)}.intro-text{font-size:var(--text-base);color:var(--text-secondary);margin:0;text-align:center}.form-group{margin-bottom:var(--space-4)}.form-group label{display:block;font-weight:var(--font-medium);color:var(--text-primary);margin-bottom:var(--space-1-5);font-size:var(--text-base)}.form-group input,.form-group textarea{width:100%;padding:var(--space-2-5) var(--space-3);border:1px solid var(--border-default);border-radius:var(--radius-lg);font-size:var(--text-base);font-family:var(--font-sans);background-color:var(--input-bg);color:var(--text-primary);transition:border-color var(--duration-150) var(--ease-in-out),box-shadow var(--duration-150) var(--ease-in-out)}.form-group input:hover,.form-group textarea:hover{border-color:var(--border-hover)}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:var(--focus-ring)}.form-group textarea{resize:vertical;min-height:80px}.field-helper{margin:var(--space-1-5) 0 0 0;font-size:var(--text-sm);color:var(--text-secondary)}.field-tooltip{display:inline-block;margin-left:var(--space-1-5);font-size:var(--text-sm);color:var(--text-secondary);cursor:help;transition:color var(--duration-150) var(--ease-in-out)}.field-tooltip:hover{color:var(--primary)}.checkbox-group{display:flex;flex-direction:column;gap:var(--space-2-5)}.checkbox-label{display:flex;align-items:center;gap:var(--space-2-5);padding:var(--space-2-5) var(--space-3);border:1px solid var(--border-default);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--duration-150) var(--ease-in-out)}.checkbox-label:hover{background-color:var(--surface-hover);border-color:var(--primary)}.checkbox-label input[type=checkbox]{width:var(--space-4-5);height:var(--space-4-5);cursor:pointer;accent-color:var(--primary)}.checkbox-label span{flex:1;font-size:var(--text-base);color:var(--text-primary)}.checkbox-label-inline{display:flex;align-items:center;gap:var(--space-2);cursor:pointer;font-size:var(--text-base);font-weight:var(--font-medium);color:var(--text-primary);-webkit-user-select:none;user-select:none;padding:var(--space-2) 0}.checkbox-label-inline input[type=checkbox]{width:var(--space-4-5);height:var(--space-4-5);cursor:pointer;accent-color:var(--primary)}.checkbox-label-inline:hover{color:var(--primary)}.char-count{display:block;text-align:right;font-size:var(--text-xs);color:var(--text-muted);margin-top:var(--space-1-5);font-weight:var(--font-medium)}.char-count-inline{font-size:var(--text-xs);color:var(--text-muted);text-align:right;margin-top:var(--space-0-5)}.conversation-starters-box{background:linear-gradient(135deg,var(--primary-subtle) 0%,var(--secondary-subtle) 100%);border:2px solid var(--primary);border-radius:var(--radius-xl);padding:var(--space-6);margin-bottom:var(--space-4);box-shadow:var(--shadow-md)}.conversation-starters-box h4{margin:0 0 var(--space-3) 0;color:var(--primary);font-size:var(--text-lg);font-weight:var(--font-bold)}.conversation-starters-box ul{margin:0 0 var(--space-4) 0;padding-left:var(--space-6);list-style:none}.conversation-starters-box li{margin-bottom:var(--space-2);color:var(--text-secondary);line-height:var(--leading-relaxed);position:relative;padding-left:var(--space-2)}.conversation-starters-box li:before{content:"💬";position:absolute;left:calc(-1 * var(--space-5))}.btn-test-chat{width:100%;justify-content:center}.first-messages-list{display:flex;flex-direction:column;gap:var(--space-3)}.first-message-item{position:relative;display:flex;flex-direction:column;gap:var(--space-1);background-color:var(--surface-secondary);padding:var(--space-3);border-radius:var(--radius-lg);border:1px solid var(--border-default);transition:all var(--duration-150) var(--ease-in-out)}.first-message-item:hover{border-color:var(--border-hover);box-shadow:var(--shadow-sm)}.first-message-input{width:100%;padding:var(--space-2-5) var(--space-3);border:1px solid var(--border-default);border-radius:var(--radius-lg);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-relaxed);resize:vertical;min-height:60px;background-color:var(--input-bg);color:var(--text-primary);transition:all var(--duration-150) var(--ease-in-out)}.first-message-input:focus{outline:none;border-color:var(--primary);box-shadow:var(--focus-ring)}.btn-remove-line{position:absolute;top:var(--space-2);right:var(--space-2);background-color:var(--error);color:#fff;border:none;border-radius:var(--radius-full);width:var(--space-6);height:var(--space-6);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:var(--text-sm);line-height:1;transition:all var(--duration-150) var(--ease-in-out);opacity:.7}.btn-remove-line:hover{opacity:1;transform:scale(1.1);box-shadow:var(--shadow-md)}.btn-remove-line:focus-visible{outline:none;box-shadow:var(--focus-ring)}.btn-add-line{background-color:var(--primary);color:var(--primary-text);border:none;border-radius:var(--radius-lg);padding:var(--space-2-5) var(--space-5);font-size:var(--text-base);font-weight:var(--font-semibold);font-family:var(--font-sans);cursor:pointer;transition:all var(--duration-150) var(--ease-in-out);display:flex;align-items:center;justify-content:center;gap:var(--space-1-5);align-self:flex-start;min-height:var(--touch-target)}.btn-add-line:hover{background-color:var(--primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-add-line:focus-visible{outline:none;box-shadow:var(--focus-ring)}.btn-add-line:active{transform:translateY(0)}.slider{width:100%;height:6px;border-radius:var(--radius-full);background-color:var(--surface-tertiary);outline:none;opacity:.9;transition:opacity var(--duration-200) var(--ease-in-out);appearance:none;cursor:pointer}.slider:hover{opacity:1}.slider:focus-visible{box-shadow:var(--focus-ring)}.slider::-webkit-slider-thumb{appearance:none;width:var(--space-5);height:var(--space-5);border-radius:var(--radius-full);background-color:var(--primary);cursor:pointer;transition:all var(--duration-150) var(--ease-in-out);box-shadow:var(--shadow-sm),0 2px 6px var(--primary-subtle)}.slider::-webkit-slider-thumb:hover{transform:scale(1.15);box-shadow:var(--shadow-md),0 3px 8px var(--primary-subtle)}.slider::-moz-range-thumb{width:var(--space-5);height:var(--space-5);border-radius:var(--radius-full);background-color:var(--primary);cursor:pointer;border:none;transition:all var(--duration-150) var(--ease-in-out);box-shadow:var(--shadow-sm),0 2px 6px var(--primary-subtle)}.slider::-moz-range-thumb:hover{transform:scale(1.15);box-shadow:var(--shadow-md),0 3px 8px var(--primary-subtle)}.slider-labels{display:flex;justify-content:space-between;margin-top:var(--space-2);font-size:var(--text-xs);color:var(--text-secondary)}.priority-list{display:flex;flex-direction:column;gap:var(--space-3)}.priority-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background-color:var(--surface-secondary);border:1px solid var(--border-default);border-radius:var(--radius-lg);transition:all var(--duration-150) var(--ease-in-out)}.priority-item:hover{background-color:var(--surface-primary);border-color:var(--primary);box-shadow:var(--shadow-sm)}.priority-number{display:flex;align-items:center;justify-content:center;width:var(--space-8);height:var(--space-8);background-color:var(--primary);color:var(--primary-text);border-radius:var(--radius-full);font-weight:var(--font-bold);font-size:var(--text-base);flex-shrink:0}.priority-item select{flex:1;padding:var(--space-2-5) var(--space-3);border:1px solid var(--border-default);border-radius:var(--radius-lg);background-color:var(--input-bg);font-size:var(--text-base);font-family:var(--font-sans);color:var(--text-primary);cursor:pointer;transition:all var(--duration-150) var(--ease-in-out)}.priority-item select:hover{border-color:var(--primary)}.priority-item select:focus{outline:none;border-color:var(--primary);box-shadow:var(--focus-ring)}.upload-section{margin-bottom:var(--space-6);padding:var(--space-4);background-color:var(--surface-secondary);border-radius:var(--radius-lg);border:2px dashed var(--border-default);display:flex;gap:var(--space-3);align-items:center;flex-wrap:wrap;transition:all var(--duration-200) var(--ease-in-out)}.upload-section:hover{border-color:var(--primary);background-color:var(--primary-subtle)}.upload-section input[type=file]{flex:1;min-width:200px;padding:var(--space-2);border:2px solid var(--border-default);border-radius:var(--radius-lg);font-size:var(--text-base);font-family:var(--font-sans);cursor:pointer;transition:border-color var(--duration-150) var(--ease-in-out)}.upload-section input[type=file]:hover{border-color:var(--primary)}.upload-section input[type=file]:focus-visible{outline:none;border-color:var(--primary);box-shadow:var(--focus-ring)}.upload-zone{margin-bottom:var(--space-6);padding:var(--space-8);background-color:var(--surface-secondary);border-radius:var(--radius-xl);border:2px dashed var(--border-default);transition:all var(--duration-200) var(--ease-in-out);text-align:center}.upload-zone:hover{border-color:var(--primary);background-color:var(--primary-subtle)}.upload-zone-content{display:flex;flex-direction:column;align-items:center;gap:var(--space-3)}.upload-icon{font-size:3rem}.upload-zone-content h4{margin:0;font-size:var(--text-lg);color:var(--text-primary)}.upload-zone-content p{margin:0;font-size:var(--text-sm);color:var(--text-secondary)}.file-input-hidden{display:none}.btn-upload{padding:var(--space-2-5) var(--space-6);background-color:var(--primary);color:var(--primary-text);border:none;border-radius:var(--radius-lg);font-weight:var(--font-medium);font-family:var(--font-sans);cursor:pointer;transition:background-color var(--duration-150) var(--ease-in-out);min-height:var(--touch-target)}.btn-upload:hover{background-color:var(--primary-hover)}.btn-upload:focus-visible{outline:none;box-shadow:var(--focus-ring)}.upload-preview{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--divider);display:flex;align-items:center;justify-content:center;gap:var(--space-3);flex-wrap:wrap}.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--space-4)}.media-card{display:flex;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--border-default);border-radius:var(--radius-lg);background-color:var(--surface-secondary);transition:all var(--duration-200) var(--ease-in-out);align-items:center;position:relative}.media-card:hover{border-color:var(--primary);background-color:var(--surface-primary);box-shadow:var(--shadow-md)}.media-icon{font-size:var(--text-3xl);flex-shrink:0}.media-info{flex:1;min-width:0}.media-name{margin:0 0 var(--space-1) 0;font-weight:var(--font-medium);color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-meta{margin:0;font-size:var(--text-xs);color:var(--text-muted)}.btn-delete-media{background:transparent;border:none;font-size:var(--text-xl);cursor:pointer;padding:var(--space-2);border-radius:var(--radius-md);transition:all var(--duration-150) var(--ease-in-out);opacity:.6;flex-shrink:0}.btn-delete-media:hover:not(:disabled){opacity:1;background-color:var(--error-subtle)}.btn-delete-media:focus-visible{outline:none;box-shadow:var(--focus-ring)}.btn-delete-media:disabled{cursor:not-allowed;opacity:.3}.media-guide-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-3)}.media-guide-item{display:flex;align-items:center;gap:var(--space-2-5)}.guide-icon{font-size:var(--text-2xl)}.media-guide-item strong{display:block;font-size:var(--text-base);color:var(--text-primary);margin-bottom:var(--space-0-5)}.media-guide-item p{margin:0;font-size:var(--text-sm);color:var(--text-secondary)}.media-grid-enhanced{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-4)}.media-card-enhanced{background-color:var(--card-bg);border:2px solid var(--border-default);border-radius:var(--radius-xl);padding:var(--space-4);display:flex;flex-direction:column;align-items:center;gap:var(--space-2);transition:all var(--duration-200) var(--ease-in-out);position:relative}.media-card-enhanced:hover{border-color:var(--primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.media-icon-large{font-size:3rem}.media-details{flex:1;text-align:center;width:100%}.media-name-enhanced{margin:0 0 var(--space-1) 0;font-weight:var(--font-semibold);color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-base)}.media-meta-enhanced{margin:0 0 var(--space-0-5) 0;font-size:var(--text-sm);color:var(--text-secondary)}.media-date{margin:0;font-size:var(--text-xs);color:var(--text-muted)}.btn-delete-media-enhanced{position:absolute;top:var(--space-2);right:var(--space-2);background-color:var(--error-subtle);border:none;font-size:var(--text-xl);cursor:pointer;padding:var(--space-1-5);border-radius:var(--radius-lg);transition:all var(--duration-150) var(--ease-in-out);opacity:0}.media-card-enhanced:hover .btn-delete-media-enhanced{opacity:1}.btn-delete-media-enhanced:hover:not(:disabled){background-color:var(--error);color:#fff;transform:scale(1.1)}.btn-delete-media-enhanced:focus-visible{outline:none;box-shadow:var(--focus-ring);opacity:1}.btn-delete-media-enhanced:disabled{cursor:not-allowed;opacity:.5}.empty-message{text-align:center;color:var(--text-muted);padding:var(--space-10) var(--space-5);font-style:italic}.persona-detail .btn-danger{background-color:var(--error);color:#fff;border:none;cursor:pointer;transition:all var(--duration-200) var(--ease-in-out)}.persona-detail .btn-danger:hover:not(:disabled){background-color:var(--error-hover);transform:translateY(-2px);box-shadow:var(--shadow-md)}.persona-detail .btn-danger:focus-visible{outline:none;box-shadow:var(--focus-ring)}.persona-detail .btn-danger:disabled{opacity:.6;cursor:not-allowed;transform:none}@media(max-width:768px){.persona-detail .persona-content{padding:var(--space-4)}.persona-detail .navbar{padding:var(--space-2) var(--space-4);flex-wrap:wrap;gap:var(--space-2)}.persona-detail .navbar h1{font-size:var(--text-xl);flex:1;min-width:0}.persona-detail .navbar-right-actions{gap:var(--space-2);flex-wrap:nowrap;align-items:center}.persona-detail .navbar-right-actions .btn-secondary{font-size:var(--text-sm);padding:var(--space-2) var(--space-3);min-height:var(--space-10);white-space:nowrap}.persona-detail .user-avatar-btn{padding:var(--space-0-5) var(--space-2) var(--space-0-5) var(--space-0-5);min-height:var(--space-10)}.persona-detail .persona-header{padding:var(--space-4);flex-direction:column;gap:var(--space-4)}.persona-detail .persona-info h2{font-size:var(--text-xl)}.persona-detail .persona-info{min-width:auto}.persona-detail .persona-actions{width:100%;flex-direction:column;gap:var(--space-2)}.persona-detail .btn-large{width:100%;justify-content:center;min-height:var(--space-12)}.persona-detail .section{border-radius:var(--radius-lg)}.persona-detail .section-content{padding:0 var(--space-4) var(--space-4) var(--space-4)}.persona-detail .section-header{padding:var(--space-4)}.persona-detail .section-preview{max-width:150px}.persona-detail .section h3{font-size:var(--text-xl)}.persona-detail .media-grid,.persona-detail .media-grid-enhanced,.persona-detail .media-guide-grid{grid-template-columns:1fr}.persona-detail .upload-section{flex-direction:column;align-items:stretch}.persona-detail .upload-section input[type=file]{width:100%}.persona-detail .sticky-header-content{padding:0 var(--space-4);flex-wrap:wrap;gap:var(--space-2)}.persona-detail .sticky-header-left{flex:1;min-width:0}.persona-detail .sticky-persona-photo{width:var(--space-12);height:var(--space-12)}.persona-detail .sticky-header-info h2{font-size:var(--text-base)}.persona-detail .sticky-header-meta{font-size:var(--text-sm);gap:var(--space-2)}.persona-detail .status-badge{font-size:var(--text-xs);padding:var(--space-0-5) var(--space-2-5)}.persona-detail .sticky-header-right{flex-direction:row;align-items:center;gap:var(--space-2);width:100%;justify-content:space-between}.persona-detail .completion-ring svg{width:40px;height:40px}.persona-detail .completion-ring text{font-size:10px}.persona-detail .last-saved-time{font-size:var(--text-xs)}.persona-detail .checkbox-group{gap:var(--space-2)}.persona-detail .conversation-starters-box{padding:var(--space-4)}}@media(max-width:480px){.persona-detail .persona-content{padding:var(--space-3)}.persona-detail .navbar{padding:var(--space-2) var(--space-3)}.persona-detail .navbar h1{font-size:var(--text-lg)}.persona-detail .navbar-right-actions{gap:var(--space-1-5)}.persona-detail .navbar-right-actions .btn-secondary{font-size:var(--text-sm);padding:var(--space-2) var(--space-2-5);min-height:var(--space-9)}.persona-detail .user-avatar-btn{padding:var(--space-0-5) var(--space-1-5) var(--space-0-5) var(--space-0-5);min-height:var(--space-9)}.persona-detail .user-avatar{width:var(--space-7);height:var(--space-7);font-size:var(--text-base)}.persona-detail .persona-header{padding:var(--space-3)}.persona-detail .persona-info h2{font-size:var(--text-xl)}.persona-detail .persona-actions{gap:var(--space-2)}.persona-detail .btn-large{min-height:var(--touch-target);font-size:var(--text-base)}.persona-detail .section{padding:0}.persona-detail .section-content{padding:0 var(--space-3) var(--space-3) var(--space-3)}.persona-detail .section-header{padding:var(--space-3)}.persona-detail .sticky-header-content{padding:0 var(--space-3)}.persona-detail .sticky-persona-photo{width:var(--space-10);height:var(--space-10)}.persona-detail .sticky-photo-placeholder{font-size:var(--text-xl)}.persona-detail .sticky-header-info h2{font-size:var(--text-sm)}.persona-detail .btn-chat-sticky{padding:var(--space-2-5) var(--space-4);font-size:var(--text-sm)}.persona-detail .persona-avatar-section{flex-direction:column;align-items:flex-start;gap:var(--space-3)}.persona-detail .persona-avatar-wrapper{width:var(--space-20);height:var(--space-20)}.persona-detail .upload-zone{padding:var(--space-6)}.persona-detail .upload-icon{font-size:2.5rem}.persona-detail .upload-zone-content h4{font-size:var(--text-base)}}@media(prefers-reduced-motion:reduce){.persona-detail .persona-sticky-header,.persona-detail .section,.persona-detail .persona-card,.persona-detail .media-card,.persona-detail .media-card-enhanced,.persona-detail .user-avatar-btn,.persona-detail .dropdown-item,.persona-detail .btn-chat-sticky,.persona-detail .btn-upload,.persona-detail .btn-add-line,.persona-detail .btn-remove-line,.persona-detail .btn-danger,.persona-detail .btn-delete-media,.persona-detail .btn-delete-media-enhanced,.persona-detail .slider,.persona-detail .priority-item,.persona-detail .checkbox-label,.persona-detail .first-message-item,.persona-detail .upload-section,.persona-detail .upload-zone{transition:none}.persona-detail .section-content,.persona-detail .user-dropdown,.persona-detail .status-saved{animation:none}.persona-detail .sticky-persona-photo:hover,.persona-detail .persona-avatar-wrapper:hover .persona-avatar-display,.persona-detail .btn-chat-sticky:hover,.persona-detail .btn-add-line:hover,.persona-detail .btn-danger:hover:not(:disabled),.persona-detail .media-card-enhanced:hover{transform:none}.persona-detail .status-saving .status-icon{animation:none}.persona-detail .slider::-webkit-slider-thumb:hover,.persona-detail .slider::-moz-range-thumb:hover{transform:none}}.call-modal-overlay{position:fixed;inset:0;background-color:#000000e6;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);animation:fadeIn var(--duration-300) var(--ease-in-out)}.call-modal{background:linear-gradient(135deg,#1a1a2e,#16213e);border-radius:var(--radius-xl);box-shadow:var(--shadow-elevation-high);display:flex;flex-direction:column;max-width:95vw;max-height:95vh;overflow:hidden}.call-modal.video-call{width:90vw;height:85vh}.call-modal.audio-call{width:500px;height:600px}.call-header{padding:var(--space-5);background:#ffffff0d;border-bottom:1px solid rgba(255,255,255,.1);text-align:center}.call-header h2{margin:0 0 var(--space-2-5) 0;color:var(--text-inverse);font-size:var(--text-2xl);font-weight:var(--font-bold)}.call-header .profile-name{display:block;color:#94a3b8;font-size:var(--text-lg);margin-bottom:var(--space-2)}.call-header .call-duration{display:block;color:var(--success);font-size:var(--text-base);font-weight:var(--font-semibold);font-variant-numeric:tabular-nums}.call-error{padding:var(--space-3) var(--space-5);background-color:var(--error-subtle);border-left:4px solid var(--error);margin:var(--space-2-5) var(--space-5);border-radius:var(--radius-md)}.call-error p{margin:0;color:var(--error-text);font-size:var(--text-base)}.call-content{flex:1;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;background-color:#0f172a}.video-container{width:100%;height:100%;position:relative;background-color:#000}.remote-video{width:100%;height:100%;object-fit:contain;background-color:#000}.local-video{position:absolute;bottom:var(--space-5);right:var(--space-5);width:200px;height:150px;object-fit:cover;border-radius:var(--radius-xl);border:2px solid rgba(255,255,255,.2);box-shadow:var(--shadow-xl);background-color:#1a1a1a}.connecting-overlay{position:absolute;inset:0;background-color:#000000b3;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-inverse)}.connecting-overlay .spinner{width:50px;height:50px;border:4px solid rgba(255,255,255,.2);border-top-color:var(--success);border-radius:var(--radius-full);animation:spin 1s linear infinite;margin-bottom:var(--space-5)}@keyframes spin{to{transform:rotate(360deg)}}.connecting-overlay p{font-size:var(--text-xl);color:#94a3b8}.audio-container{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.audio-visualizer{text-align:center}.profile-avatar{width:150px;height:150px;border-radius:var(--radius-full);background:var(--gradient-primary);display:flex;align-items:center;justify-content:center;font-size:4rem;color:var(--primary-text);margin:0 auto var(--space-8);box-shadow:var(--shadow-xl),0 10px 40px var(--primary-subtle);animation:pulse 2s var(--ease-in-out) infinite}@keyframes pulse{0%,to{transform:scale(1);box-shadow:var(--shadow-xl),0 10px 40px var(--primary-subtle)}50%{transform:scale(1.05);box-shadow:var(--shadow-xl),0 10px 60px var(--primary-subtle)}}.status-text{font-size:var(--text-xl);color:#94a3b8;margin:0}.call-controls{padding:var(--space-8);display:flex;gap:var(--space-5);justify-content:center;align-items:center;background:#ffffff08;border-top:1px solid rgba(255,255,255,.1)}.control-btn{min-width:64px;min-height:64px;width:64px;height:64px;border-radius:var(--radius-full);border:none;background:#ffffff1a;color:var(--text-inverse);font-size:var(--text-3xl);cursor:pointer;transition:all var(--duration-300) var(--ease-in-out);display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative}.control-btn:hover{background:#fff3;transform:scale(1.1)}.control-btn:focus-visible{outline:3px solid var(--info);outline-offset:4px}.control-btn:active{transform:scale(.95)}.control-btn.disabled{background:#ef444433;color:var(--error)}.control-btn.disabled:hover{background:#ef44444d}.control-btn.end-call{background-color:var(--error);width:70px;height:70px;font-size:var(--text-4xl)}.control-btn.end-call:hover{background-color:var(--error-hover);transform:scale(1.1)}@media(max-width:768px){.call-modal.video-call,.call-modal.audio-call{width:100vw;height:100vh;border-radius:0}.local-video{width:120px;height:90px;bottom:100px;right:var(--space-2-5)}.call-controls{padding:var(--space-5)}.control-btn{width:60px;height:60px;min-width:60px;min-height:60px;font-size:var(--text-2xl)}.control-btn.end-call{width:70px;height:70px}}@media(prefers-reduced-motion:reduce){.call-modal-overlay,.profile-avatar{animation:none}.connecting-overlay .spinner{animation-duration:3s}.control-btn{transition:none}.control-btn:hover,.control-btn:active{transform:none}}.spell-check-input{text-decoration:inherit!important;-webkit-text-decoration:inherit!important;-moz-text-decoration:inherit!important;text-decoration-skip-ink:none;-webkit-text-decoration-skip:none;flex:1;border:none;outline:none;padding:inherit;font-size:inherit;font-family:inherit;background:transparent;line-height:inherit;color:inherit}.spell-check-input::placeholder{color:var(--color-text-muted, #999)}.spell-check-input:disabled{opacity:.6;cursor:not-allowed}[data-theme=dark] .spell-check-input:disabled{background-color:#1a1a1a}.spell-suggestions{position:absolute;background:#fff;border:1px solid #ddd;border-radius:8px;padding:8px;box-shadow:0 4px 12px #00000026;z-index:1000;min-width:150px;max-width:250px}.spell-suggestions-header{font-size:12px;font-weight:600;color:#666;margin-bottom:6px;padding-bottom:6px;border-bottom:1px solid #eee}.spell-suggestion-item{padding:6px 8px;cursor:pointer;border-radius:4px;font-size:14px;transition:background-color .15s ease}.spell-suggestion-item:hover{background-color:#f0f7ff}.spell-suggestion-word{display:block;font-weight:500;color:#333}[data-theme=dark] .spell-suggestions{background:#2a2a2a;border-color:#444}[data-theme=dark] .spell-suggestions-header{color:#999;border-bottom-color:#444}[data-theme=dark] .spell-suggestion-item:hover{background-color:#333}[data-theme=dark] .spell-suggestion-word{color:#e0e0e0}.conversation{display:flex;flex-direction:column;height:100vh;height:100dvh;background-color:var(--bg-primary)}.conversation .navbar{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) var(--space-6);background-color:var(--nav-bg);border-bottom:1px solid var(--nav-border);box-shadow:var(--shadow-sm);flex-wrap:wrap;gap:var(--space-3);position:sticky;top:0;z-index:var(--z-sticky)}.conversation .navbar-compact{display:flex;justify-content:space-between;align-items:center;height:var(--space-14);padding:0 var(--space-6);background-color:var(--bg-primary);border-bottom:1px solid var(--border-default);position:sticky;top:0;z-index:var(--z-sticky)}.conversation .navbar-content{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.conversation .navbar-content h1{margin:0;font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--text-primary)}.conversation .navbar-left{display:flex;align-items:center;gap:var(--space-3)}.conversation .navbar-right,.conversation .persona-info{display:flex;align-items:center;gap:var(--space-2)}.conversation .persona-name{font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--text-primary)}.conversation .profile-name-badge{background-color:var(--primary);color:var(--primary-text);padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--font-semibold);letter-spacing:var(--tracking-wide);box-shadow:var(--shadow-sm)}.conversation .navbar-actions{display:flex;gap:var(--space-3);align-items:center;flex-wrap:wrap}.conversation .btn-edit-persona{min-height:var(--touch-target);padding:var(--space-3) var(--space-5);background-color:var(--primary);color:var(--primary-text);border:none;border-radius:var(--radius-lg);font-weight:var(--font-bold);font-family:var(--font-sans);cursor:pointer;transition:all var(--duration-200) var(--ease-in-out);font-size:var(--text-sm);display:flex;align-items:center;gap:var(--space-2);letter-spacing:var(--tracking-wide);box-shadow:var(--shadow-md)}.conversation .btn-edit-persona:hover{background-color:var(--primary-hover);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.conversation .btn-edit-persona:focus-visible{outline:none;box-shadow:var(--focus-ring)}.conversation .btn-edit-compact{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-2) var(--space-4);background-color:var(--primary);color:var(--primary-text);border:none;border-radius:var(--radius-lg);font-size:var(--text-sm);font-family:var(--font-sans);cursor:pointer;transition:all var(--duration-150) var(--ease-in-out)}.conversation .btn-edit-compact:hover{background-color:var(--primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.conversation .btn-edit-compact:focus-visible{outline:none;box-shadow:var(--focus-ring)}.conversation .btn-call{min-height:var(--touch-target);padding:var(--space-3) var(--space-5);border-radius:var(--radius-lg);border:none;font-weight:var(--font-bold);font-family:var(--font-sans);cursor:pointer;transition:all var(--duration-200) var(--ease-in-out);font-size:var(--text-sm);display:flex;align-items:center;gap:var(--space-2);letter-spacing:var(--tracking-wide);box-shadow:var(--shadow-sm)}.conversation .btn-call.voice-call{background-color:var(--success);color:#fff}.conversation .btn-call.voice-call:hover:not(:disabled){background-color:var(--success-hover);transform:translateY(-2px);box-shadow:var(--shadow-md)}.conversation .btn-call.voice-call:focus-visible{outline:none;box-shadow:var(--focus-ring)}.conversation .btn-call.voice-call:disabled{background-color:var(--button-disabled-bg);color:var(--button-disabled-text);cursor:not-allowed;transform:none;box-shadow:none}.conversation .btn-call.video-call{background-color:var(--primary);color:var(--primary-text)}.conversation .btn-call.video-call:hover:not(:disabled){background-color:var(--primary-hover);transform:translateY(-2px);box-shadow:var(--shadow-md)}.conversation .btn-call.video-call:focus-visible{outline:none;box-shadow:var(--focus-ring)}.conversation .btn-call.video-call:disabled{background-color:var(--button-disabled-bg);color:var(--button-disabled-text);cursor:not-allowed;transform:none;box-shadow:none}.conversation .btn-icon{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-2);background-color:var(--surface-primary);border:2px solid var(--border-default);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--duration-150) var(--ease-in-out);width:var(--space-10);height:var(--space-10);color:var(--text-secondary)}.conversation .btn-icon svg{display:block;flex-shrink:0}.conversation .btn-icon:hover:not(:disabled){background-color:var(--surface-hover);border-color:var(--primary);color:var(--primary);transform:translateY(-1px)}.conversation .btn-icon:focus-visible{outline:none;box-shadow:var(--focus-ring)}.conversation .btn-icon:disabled{opacity:.4;cursor:not-allowed}.conversation .btn-icon-danger{border-color:var(--error-subtle);color:var(--error)}.conversation .btn-icon-danger:hover:not(:disabled){background-color:var(--error-subtle);border-color:var(--error);color:var(--error)}.no-call-hint{padding:var(--space-2) var(--space-4);background-color:var(--warning-subtle);border:2px solid var(--warning);border-radius:var(--radius-lg);font-size:var(--text-sm);color:var(--warning-text);cursor:help;font-weight:var(--font-medium)}.chat-container{flex:1;display:flex;flex-direction:column;width:100%;max-width:var(--container-xl);margin:0 auto;background-color:var(--card-bg);box-shadow:var(--shadow-lg);overflow:hidden}.messages{flex:1;overflow-y:auto;overflow-x:hidden;padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4);scroll-behavior:smooth}.empty-chat{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted);font-style:italic;font-size:var(--text-lg)}.message{display:flex;gap:var(--space-3);max-width:min(85%,700px);width:fit-content;animation:slideIn var(--duration-300) var(--ease-out)}@keyframes slideIn{0%{opacity:0;transform:translateY(var(--space-2))}to{opacity:1;transform:translateY(0)}}.user-message{align-self:flex-end;flex-direction:row-reverse}.ai-message{align-self:flex-start}.message-avatar{width:var(--space-10);height:var(--space-10);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:var(--text-xl);flex-shrink:0;background-color:var(--surface-secondary);box-shadow:var(--shadow-sm);overflow:hidden}.message-avatar img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius-full)}.user-message .message-avatar{background-color:var(--primary);color:var(--primary-text)}.message-avatar-spacer{width:var(--space-10);flex-shrink:0}.message-content{background-color:var(--card-bg);border-radius:var(--radius-xl);padding:var(--space-3) var(--space-4);position:relative;border:1px solid var(--border-default);box-shadow:var(--shadow-sm);line-height:var(--leading-relaxed);word-wrap:break-word;overflow-wrap:break-word;max-width:100%}.user-message .message-content{background-color:var(--primary);color:var(--primary-text);border-color:transparent;box-shadow:var(--shadow-md)}.message-content p{margin:0 0 var(--space-1) 0;line-height:var(--leading-relaxed);word-wrap:break-word;overflow-wrap:break-word;font-size:var(--text-base)}.message-time{font-size:var(--text-xs);opacity:.7;margin-top:var(--space-1)}.message.grouped{margin-top:calc(var(--space-1) * -1)}.message.highlighted .message-content{background-color:var(--warning-subtle)!important;border-color:var(--warning)!important;animation:highlightPulse var(--duration-500) var(--ease-out)}@keyframes highlightPulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.message-attachments{margin-bottom:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2)}.attachment-item{background-color:#ffffff0d;border-radius:var(--radius-lg);overflow:hidden;border:1px solid rgba(255,255,255,.1)}.user-message .attachment-item{background-color:#ffffff26;border-color:#fff3}.ai-message .attachment-item{background-color:var(--surface-secondary);border-color:var(--border-default)}.attachment-image{max-width:100%;max-height:300px;display:block;border-radius:var(--radius-lg);cursor:pointer;transition:transform var(--duration-200) var(--ease-in-out)}.attachment-image:hover{transform:scale(1.02)}.attachment-link{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2-5) var(--space-3);color:inherit;text-decoration:none;transition:background-color var(--duration-150) var(--ease-in-out)}.attachment-link:hover{background-color:#0000000d}.user-message .attachment-link:hover{background-color:#ffffff1a}.file-size{font-size:var(--text-sm);opacity:.7}.attached-files{display:flex;flex-wrap:wrap;gap:var(--space-2);padding:var(--space-3);background-color:var(--surface-secondary);border-radius:var(--radius-lg)}.attached-file{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1-5) var(--space-3);background-color:var(--surface-primary);border:1px solid var(--border-default);border-radius:var(--radius-full);font-size:var(--text-sm);transition:all var(--duration-150) var(--ease-in-out)}.attached-file:hover{background-color:var(--surface-hover);border-color:var(--border-strong)}.attached-file span{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.remove-file{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:var(--text-base);padding:0;width:var(--space-5);height:var(--space-5);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);transition:all var(--duration-150) var(--ease-in-out)}.remove-file:hover{background-color:var(--error-subtle);color:var(--error)}.remove-file:focus-visible{outline:none;box-shadow:var(--focus-ring)}.typing-indicator{display:flex;gap:var(--space-1);padding:var(--space-2) 0}.typing-indicator span{width:8px;height:8px;border-radius:var(--radius-full);background-color:var(--text-muted);animation:typing 1.4s infinite}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{transform:translateY(0);opacity:.7}30%{transform:translateY(-10px);opacity:1}}.typing-message{opacity:.8}.typing-indicator-wrapper{display:flex;flex-direction:column;gap:var(--space-1)}.typing-text{font-size:var(--text-sm);color:var(--text-muted);font-style:italic}.input-area{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4) var(--space-6);padding-bottom:calc(var(--space-4) + env(safe-area-inset-bottom,0px));border-top:1px solid var(--border-default);background-color:var(--bg-primary);box-shadow:0 -2px 12px #0000000f}.input-row{display:flex;gap:var(--space-3);align-items:flex-end;flex-wrap:wrap}.btn-attach{padding:var(--space-3);border:2px solid var(--border-default);border-radius:var(--radius-full);background-color:var(--surface-primary);font-size:var(--text-lg);cursor:pointer;transition:all var(--duration-150) var(--ease-in-out);min-width:var(--touch-target);min-height:var(--touch-target);width:var(--touch-target);height:var(--touch-target);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--text-secondary)}.btn-attach:hover:not(:disabled){background-color:var(--surface-hover);border-color:var(--primary);color:var(--primary);transform:scale(1.05)}.btn-attach:focus-visible{outline:none;box-shadow:var(--focus-ring)}.btn-attach:disabled{opacity:.5;cursor:not-allowed}.input-row input[type=text]{flex:1 1 auto;min-width:min(200px,100%);padding:var(--space-3) var(--space-5);min-height:var(--touch-target);border:2px solid var(--input-border);border-radius:var(--radius-full);font-size:max(16px,var(--text-base));font-family:var(--font-sans);outline:none;transition:all var(--duration-150) var(--ease-in-out);background-color:var(--input-bg);color:var(--text-primary)}.input-row input[type=text]:hover{border-color:var(--input-border-hover)}.input-row input[type=text]:focus{border-color:var(--input-border-focus);background-color:var(--surface-primary);box-shadow:var(--focus-ring)}.input-row input[type=text]::placeholder{color:var(--text-muted)}.input-row button.btn-primary{padding:var(--space-3) var(--space-6);border-radius:var(--radius-full);min-height:var(--touch-target);white-space:nowrap;flex-shrink:0;background-color:var(--primary);color:var(--primary-text);border:none;font-weight:var(--font-bold);font-family:var(--font-sans);cursor:pointer;transition:all var(--duration-150) var(--ease-in-out)}.input-row button.btn-primary:hover:not(:disabled){background-color:var(--primary-hover);transform:translateY(-2px);box-shadow:var(--shadow-md)}.input-row button.btn-primary:focus-visible{outline:none;box-shadow:var(--focus-ring)}.input-row button:disabled{opacity:.5;cursor:not-allowed}.input-wrapper{display:flex;align-items:center;gap:var(--space-2);background-color:var(--surface-primary);border:2px solid var(--border-default);border-radius:var(--radius-full);padding:var(--space-1) var(--space-2);transition:all var(--duration-150) var(--ease-in-out);box-shadow:var(--shadow-sm)}.input-wrapper:focus-within{border-color:var(--primary);box-shadow:var(--focus-ring)}.btn-attach-inline{background:none;border:none;color:var(--text-muted);font-size:var(--text-xl);cursor:pointer;padding:var(--space-2);border-radius:var(--radius-full);transition:all var(--duration-150) var(--ease-in-out)}.btn-attach-inline:hover:not(:disabled){background-color:var(--surface-hover);color:var(--primary);transform:scale(1.1)}.btn-attach-inline:disabled{opacity:.4;cursor:not-allowed}.message-input-field{flex:1;border:none;outline:none;padding:var(--space-2) var(--space-3);font-size:max(16px,var(--text-base));font-family:var(--font-sans);background:transparent;color:var(--text-primary)}.message-input-field::placeholder{color:var(--text-muted)}.btn-send{background-color:var(--primary);color:var(--primary-text);border:none;border-radius:var(--radius-full);padding:var(--space-3);width:var(--touch-target);height:var(--touch-target);cursor:pointer;font-size:var(--text-lg);display:flex;align-items:center;justify-content:center;transition:all var(--duration-150) var(--ease-in-out);flex-shrink:0}.btn-send:hover:not(:disabled){background-color:var(--primary-hover);transform:scale(1.05)}.btn-send:focus-visible{outline:none;box-shadow:var(--focus-ring)}.btn-send:disabled{opacity:.5;cursor:not-allowed}.chat-menu{position:relative}.chat-menu-trigger{padding:var(--space-2);background-color:var(--surface-primary);border:2px solid var(--border-default);border-radius:var(--radius-lg);font-size:var(--text-xl);font-weight:var(--font-bold);cursor:pointer;transition:all var(--duration-150) var(--ease-in-out);width:var(--space-10);height:var(--space-10);display:flex;align-items:center;justify-content:center;line-height:1;color:var(--text-secondary)}.chat-menu-trigger:hover{background-color:var(--surface-hover);border-color:var(--primary);color:var(--primary)}.chat-menu-trigger:focus-visible{outline:none;box-shadow:var(--focus-ring)}.chat-menu-dropdown{position:absolute;top:calc(100% + var(--space-2));right:0;background-color:var(--surface-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-elevation-high);border:1px solid var(--border-default);min-width:220px;z-index:var(--z-dropdown);overflow:hidden;animation:dropdownSlide var(--duration-200) var(--ease-out)}@keyframes dropdownSlide{0%{opacity:0;transform:translateY(calc(var(--space-2) * -1))}to{opacity:1;transform:translateY(0)}}.chat-menu-section{padding:var(--space-3)}.chat-menu-label{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--tracking-wider);margin-bottom:var(--space-2)}.memory-window-options{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-1)}.memory-option{padding:var(--space-2);background-color:var(--surface-secondary);border:2px solid transparent;border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:var(--font-semibold);font-family:var(--font-sans);cursor:pointer;transition:all var(--duration-150) var(--ease-in-out);color:var(--text-primary)}.memory-option:hover{background-color:var(--surface-hover)}.memory-option.active{background-color:var(--primary);color:var(--primary-text);border-color:var(--primary-hover)}.chat-menu-hint{margin-top:var(--space-2);font-size:var(--text-xs);color:var(--text-muted);text-align:center}.chat-menu-divider{height:1px;background-color:var(--divider)}.chat-menu-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:transparent;border:none;width:100%;text-align:left;cursor:pointer;transition:all var(--duration-150) var(--ease-in-out);font-size:var(--text-sm);font-family:var(--font-sans);color:var(--text-primary)}.chat-menu-item:hover{background-color:var(--surface-hover)}.chat-menu-item:focus-visible{outline:none;box-shadow:var(--focus-ring)}.chat-menu-item.danger{color:var(--error)}.chat-menu-item.danger:hover{background-color:var(--error-subtle)}.menu-icon{font-size:var(--text-lg)}.message-search{position:relative;padding:var(--space-3) var(--space-6);background-color:var(--bg-primary);border-bottom:1px solid var(--border-default)}.search-input-container{position:relative;display:flex;align-items:center;background-color:var(--input-bg);border:2px solid var(--input-border);border-radius:var(--radius-full);padding:var(--space-2) var(--space-4);min-height:var(--space-10);transition:all var(--duration-150) var(--ease-in-out)}.search-input-container:focus-within{border-color:var(--input-border-focus);background-color:var(--surface-primary);box-shadow:var(--focus-ring)}.search-icon{font-size:var(--text-lg);margin-right:var(--space-2);color:var(--text-muted)}.search-input{flex:1;border:none;background:transparent;outline:none;font-size:var(--text-base);padding:var(--space-1) 0;font-family:var(--font-sans);color:var(--text-primary)}.search-input::placeholder{color:var(--text-muted)}.search-clear{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:var(--space-1);font-size:var(--text-lg);border-radius:var(--radius-full);transition:all var(--duration-150) var(--ease-in-out)}.search-clear:hover{background-color:var(--surface-hover);color:var(--text-primary)}.search-clear:focus-visible{outline:none;box-shadow:var(--focus-ring)}.search-loader{margin-left:var(--space-2);font-size:var(--text-base)}.search-results-dropdown{position:absolute;top:calc(100% + var(--space-2));left:var(--space-6);right:var(--space-6);background-color:var(--surface-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-elevation-high);border:1px solid var(--border-default);max-height:400px;overflow-y:auto;z-index:var(--z-dropdown)}.search-results-header{padding:var(--space-2) var(--space-3);background-color:var(--surface-secondary);border-bottom:1px solid var(--border-default);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-muted)}.search-results-list{max-height:350px;overflow-y:auto}.search-result-item{padding:var(--space-3);border-bottom:1px solid var(--border-default);cursor:pointer;transition:all var(--duration-150) var(--ease-in-out)}.search-result-item:last-child{border-bottom:none}.search-result-item:hover{background-color:var(--surface-hover)}.search-result-meta{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-1)}.search-result-role{font-size:var(--text-base)}.search-result-time{font-size:var(--text-xs);color:var(--text-muted)}.search-result-content{font-size:var(--text-sm);color:var(--text-secondary);line-height:var(--leading-relaxed)}.search-no-results{padding:var(--space-6);text-align:center;color:var(--text-muted);font-style:italic}.scroll-to-bottom{position:fixed;bottom:140px;right:var(--space-10);background-color:var(--primary);color:var(--primary-text);border:none;border-radius:var(--radius-full);padding:var(--space-3) var(--space-5);cursor:pointer;box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:var(--space-2);font-weight:var(--font-semibold);font-size:var(--text-sm);font-family:var(--font-sans);transition:all var(--duration-200) var(--ease-in-out);z-index:var(--z-fixed);animation:fadeIn var(--duration-300) var(--ease-out)}.scroll-to-bottom:hover{transform:translateY(-2px);box-shadow:var(--shadow-xl)}.scroll-to-bottom:focus-visible{outline:none;box-shadow:var(--focus-ring)}.scroll-arrow{font-size:var(--text-xl);font-weight:var(--font-bold)}.modal-overlay{position:fixed;inset:0;background-color:var(--modal-backdrop);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal-backdrop);padding:var(--space-5);animation:fadeIn var(--duration-200) var(--ease-out)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background-color:var(--modal-bg);border-radius:var(--radius-2xl);box-shadow:var(--shadow-elevation-high);max-width:500px;width:100%;animation:slideUp var(--duration-300) var(--ease-out)}@keyframes slideUp{0%{opacity:0;transform:translateY(var(--space-5))}to{opacity:1;transform:translateY(0)}}.modal-header{padding:var(--space-6) var(--space-6) var(--space-4);border-bottom:1px solid var(--modal-border)}.modal-header h2{margin:0;font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--text-primary)}.modal-body{padding:var(--space-6)}.modal-warning{background-color:var(--warning-subtle);border-left:4px solid var(--warning);padding:var(--space-3);border-radius:var(--radius-lg);margin-bottom:var(--space-4);font-weight:var(--font-medium);color:var(--warning-text)}.modal-description{color:var(--text-secondary);line-height:var(--leading-relaxed)}.modal-footer{padding:var(--space-4) var(--space-6) var(--space-6);display:flex;justify-content:flex-end;gap:var(--space-3)}.conversation .btn-danger{padding:var(--space-3) var(--space-5);background-color:var(--error);color:#fff;border:none;border-radius:var(--radius-lg);font-weight:var(--font-semibold);font-family:var(--font-sans);cursor:pointer;transition:all var(--duration-150) var(--ease-in-out)}.conversation .btn-danger:hover{background-color:var(--error-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.conversation .btn-danger:focus-visible{outline:none;box-shadow:var(--focus-ring)}.toast{position:fixed;bottom:var(--space-8);right:var(--space-8);background-color:var(--surface-primary);padding:var(--space-4) var(--space-5);border-radius:var(--radius-xl);box-shadow:var(--shadow-elevation-high);display:flex;align-items:center;gap:var(--space-3);max-width:400px;z-index:var(--z-toast);animation:slideInRight var(--duration-300) var(--ease-out);border-left:4px solid}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.toast-success{border-color:var(--success);background-color:var(--success-subtle)}.toast-error{border-color:var(--error);background-color:var(--error-subtle)}.toast-icon{font-size:var(--text-xl);font-weight:var(--font-bold)}.toast-success .toast-icon{color:var(--success)}.toast-error .toast-icon{color:var(--error)}.toast-message{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary)}.loading-skeleton{display:flex;flex-direction:column;height:100vh;background-color:var(--surface-secondary)}.skeleton-navbar{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) var(--space-6);background-color:var(--surface-primary);border-bottom:1px solid var(--border-default)}.skeleton-messages{flex:1;padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4)}.skeleton-message{display:flex;gap:var(--space-3);animation:pulse 1.5s ease-in-out infinite}.skeleton-message-ai{align-self:flex-start;max-width:70%}.skeleton-message-user{align-self:flex-end;max-width:70%;flex-direction:row-reverse}.skeleton-message:before{content:"";width:var(--space-10);height:var(--space-10);border-radius:var(--radius-full);background:linear-gradient(90deg,var(--surface-secondary) 0%,var(--surface-primary) 50%,var(--surface-secondary) 100%);background-size:200% 100%;animation:shimmer 1.5s infinite;flex-shrink:0}.skeleton-message:after{content:"";flex:1;height:60px;border-radius:var(--radius-xl);background:linear-gradient(90deg,var(--surface-secondary) 0%,var(--surface-primary) 50%,var(--surface-secondary) 100%);background-size:200% 100%;animation:shimmer 1.5s infinite}.skeleton-line{background:linear-gradient(90deg,var(--surface-secondary) 0%,var(--surface-primary) 50%,var(--surface-secondary) 100%);background-size:200% 100%;border-radius:var(--radius-sm);animation:shimmer 1.5s infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.upload-progress-bar{position:relative;height:6px;background-color:var(--surface-secondary);border-radius:var(--radius-full);overflow:hidden;margin-bottom:var(--space-2)}.upload-progress-fill{height:100%;background:linear-gradient(90deg,var(--primary) 0%,var(--success) 100%);transition:width var(--duration-300) var(--ease-in-out);border-radius:var(--radius-full)}.upload-progress-text{position:absolute;top:-20px;right:0;font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--primary)}@media(max-width:1024px){.message{max-width:min(90%,600px)}}@media(max-width:768px){.conversation .navbar{padding:var(--space-3) var(--space-4);gap:var(--space-2)}.conversation .navbar-compact{height:var(--space-14);padding:0 var(--space-4)}.conversation .navbar-content h1{font-size:var(--text-lg);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation .navbar-left{gap:var(--space-2);flex:1;min-width:0}.conversation .persona-name{font-size:var(--text-base);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation .profile-name-badge{font-size:var(--text-sm);padding:var(--space-1-5) var(--space-3);flex-shrink:0}.conversation .navbar-actions{width:100%;gap:var(--space-2);flex-wrap:wrap}.conversation .btn-edit-persona,.conversation .btn-call{font-size:var(--text-sm);padding:var(--space-2-5) var(--space-4);min-height:var(--touch-target);flex:1;justify-content:center}.conversation .btn-edit-compact{font-size:var(--text-sm);padding:var(--space-2) var(--space-3);min-height:var(--space-10)}.conversation .btn-icon{width:var(--space-10);height:var(--space-10);min-width:var(--space-10);min-height:var(--space-10);padding:var(--space-2-5)}.conversation .navbar-right{gap:var(--space-2);flex-shrink:0}.no-call-hint{width:100%;text-align:center;font-size:var(--text-sm);padding:var(--space-2) var(--space-3)}.messages{padding:var(--space-4);gap:var(--space-3)}.message{max-width:90%}.message-avatar{width:var(--space-9);height:var(--space-9);font-size:var(--text-base)}.message-avatar-spacer{width:var(--space-9)}.message-content{padding:var(--space-2-5) var(--space-3)}.message-content p{font-size:var(--text-base)}.input-area{padding:var(--space-3) var(--space-4);padding-bottom:calc(var(--space-3) + env(safe-area-inset-bottom,0px));gap:var(--space-2)}.input-row{flex-wrap:nowrap;gap:var(--space-2)}.btn-attach{width:var(--touch-target);height:var(--touch-target);min-width:var(--touch-target);min-height:var(--touch-target);flex-shrink:0}.input-row input[type=text]{font-size:16px}.input-row button.btn-primary{font-size:var(--text-base);padding:var(--space-2) var(--space-4);min-height:var(--touch-target)}.chat-menu-trigger{width:var(--space-10);height:var(--space-10);font-size:var(--text-lg)}.chat-menu-dropdown{min-width:200px}.memory-window-options{grid-template-columns:repeat(2,1fr)}.toast{left:var(--space-4);right:var(--space-4);bottom:var(--space-4);margin:0;max-width:none}}@media(max-width:480px){.conversation .navbar{padding:var(--space-2) var(--space-3)}.conversation .navbar-compact{padding:0 var(--space-3)}.conversation .navbar-content h1{font-size:var(--text-base)}.conversation .persona-name{font-size:var(--text-sm)}.conversation .profile-name-badge{font-size:var(--text-xs);padding:var(--space-1) var(--space-2-5)}.conversation .btn-edit-persona,.conversation .btn-call{font-size:var(--text-sm);padding:var(--space-2-5) var(--space-3)}.conversation .btn-call span{display:none}.messages{padding:var(--space-3);gap:var(--space-2)}.message{max-width:92%;gap:var(--space-2)}.message-avatar{width:var(--space-8);height:var(--space-8);font-size:var(--text-sm)}.message-avatar-spacer{width:var(--space-8)}.message-content{padding:var(--space-2-5) var(--space-3)}.message-content p{font-size:var(--text-sm);line-height:var(--leading-relaxed)}.message-time{font-size:11px}.input-area{padding:var(--space-2-5) var(--space-3);gap:var(--space-2)}.input-row{gap:var(--space-2)}.btn-attach{width:var(--touch-target);height:var(--touch-target);min-width:var(--touch-target);min-height:var(--touch-target);font-size:var(--text-base);flex-shrink:0}.input-row input[type=text]{font-size:16px;padding:var(--space-2-5) var(--space-3);min-height:var(--touch-target)}.input-row button.btn-primary{padding:var(--space-2-5) var(--space-4);font-size:var(--text-sm);min-height:var(--touch-target)}.attached-files{padding:var(--space-2);gap:var(--space-1-5)}.attached-file{padding:var(--space-1-5) var(--space-2-5);font-size:var(--text-sm)}.attached-file span{max-width:100px}.attachment-image{max-height:180px}.typing-indicator span{width:5px;height:5px}.conversation .btn-icon{width:var(--space-10);height:var(--space-10);min-width:var(--space-10);min-height:var(--space-10);padding:var(--space-2)}.chat-menu-trigger{width:var(--space-9);height:var(--space-9);font-size:var(--text-base)}.chat-menu-dropdown{min-width:calc(100vw - 2rem);right:auto;left:50%;transform:translate(-50%)}.memory-window-options{grid-template-columns:repeat(2,1fr);gap:var(--space-1-5)}.memory-option{padding:var(--space-2);font-size:var(--text-sm)}.chat-menu-item{padding:var(--space-2) var(--space-3);font-size:var(--text-sm)}.scroll-to-bottom{bottom:calc(var(--space-2) + 60px);right:var(--space-3);padding:var(--space-2) var(--space-3);font-size:var(--text-sm)}.modal-overlay{padding:var(--space-3)}.empty-chat{font-size:var(--text-base);padding:var(--space-4)}}@media(prefers-reduced-motion:reduce){.message,.chat-menu-dropdown,.modal-content,.toast,.scroll-to-bottom{animation:none}.conversation .navbar,.conversation .btn-edit-persona,.conversation .btn-call,.conversation .btn-icon,.btn-attach,.btn-send,.conversation .btn-edit-compact,.message-avatar,.message-content,.input-row input[type=text],.chat-menu-trigger,.memory-option,.chat-menu-item,.search-input-container,.search-clear,.search-result-item,.attached-file,.remove-file,.attachment-image,.conversation .btn-danger,.input-wrapper,.btn-attach-inline{transition:none}.conversation .btn-edit-persona:hover,.conversation .btn-call.voice-call:hover:not(:disabled),.conversation .btn-call.video-call:hover:not(:disabled),.conversation .btn-icon:hover:not(:disabled),.btn-attach:hover:not(:disabled),.btn-send:hover:not(:disabled),.conversation .btn-edit-compact:hover,.scroll-to-bottom:hover,.conversation .btn-danger:hover,.btn-attach-inline:hover:not(:disabled){transform:none}.typing-indicator span{animation:none;opacity:.5}.skeleton-message,.skeleton-message:before,.skeleton-message:after,.skeleton-line{animation:none}.message.highlighted .message-content{animation:none}}.settings-container{min-height:100vh;background-color:var(--surface-primary);padding:var(--space-8);padding-top:calc(var(--height-navbar) + var(--space-8))}.settings-header{max-width:var(--container-xl);margin:0 auto var(--space-8)}.back-button{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;font-size:var(--text-base);font-family:var(--font-sans);padding:var(--space-2) 0;margin-bottom:var(--space-4);transition:color var(--duration-200) var(--ease-in-out);display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--touch-target)}.back-button:hover{color:var(--primary)}.back-button:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-md)}.settings-header h1{color:var(--text-primary);font-size:var(--text-3xl);font-weight:var(--font-bold);margin:0;letter-spacing:var(--tracking-tight)}.settings-content{max-width:var(--container-xl);margin:0 auto;background-color:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-xl);padding:var(--space-8);box-shadow:var(--card-shadow)}.settings-section{margin-bottom:var(--space-12)}.settings-section:last-child{margin-bottom:0}.settings-section h2{color:var(--text-primary);font-size:var(--text-2xl);font-weight:var(--font-bold);margin:0 0 var(--space-2) 0}.settings-container .section-description{color:var(--text-secondary);margin:0 0 var(--space-8) 0;font-size:var(--text-base);line-height:var(--leading-relaxed)}.ai-instructions{background:var(--surface-secondary);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-4);margin-bottom:var(--space-6)}.ai-instructions h3{margin:0 0 var(--space-3) 0;font-size:var(--text-base);color:var(--text-primary)}.ai-instructions ol{margin:0;padding-left:var(--space-6);color:var(--text-secondary);line-height:var(--leading-relaxed)}.ai-settings-form{max-width:700px}.ai-settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-6)}.ai-key-status{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--text-muted)}.theme-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-6);margin-bottom:var(--space-8)}.theme-card{position:relative;background-color:var(--surface-secondary);border:2px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-4);cursor:pointer;transition:all var(--duration-200) var(--ease-in-out)}.theme-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--border-hover)}.theme-card:focus-visible{outline:none;box-shadow:var(--focus-ring)}.theme-card.selected{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-subtle)}.theme-card.disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.theme-preview{width:100%;height:120px;border-radius:var(--radius-lg);overflow:hidden;margin-bottom:var(--space-4);box-shadow:var(--shadow-sm)}.preview-content{width:100%;height:100%;display:flex;flex-direction:column;padding:var(--space-3)}.preview-header{height:20px;border-radius:var(--radius-md);margin-bottom:var(--space-2)}.preview-body{flex:1;display:flex;flex-direction:column;gap:var(--space-2)}.preview-line{height:12px;border-radius:var(--radius-sm);width:100%}.preview-line.short{width:70%}.theme-preview-light{background-color:#fff}.theme-preview-light .preview-header{background-color:var(--primary)}.theme-preview-light .preview-line{background-color:#e9ecef}.theme-preview-dark{background-color:#1a1a1a}.theme-preview-dark .preview-header{background-color:#4a9eff}.theme-preview-dark .preview-line{background-color:#404040}.theme-preview-pink{background-color:#fff5f7}.theme-preview-pink .preview-header{background-color:#ff69b4}.theme-preview-pink .preview-line{background-color:#ffe0e9}.theme-preview-blue{background-color:#f0f7ff}.theme-preview-blue .preview-header{background-color:#4169e1}.theme-preview-blue .preview-line{background-color:#d6ebff}.theme-preview-red{background-color:#fff5f5}.theme-preview-red .preview-header{background-color:#dc143c}.theme-preview-red .preview-line{background-color:#ffe0e0}.theme-info h3{color:var(--text-primary);font-size:var(--text-lg);font-weight:var(--font-semibold);margin:0 0 var(--space-1) 0}.theme-info p{color:var(--text-secondary);font-size:var(--text-sm);margin:0}.selected-indicator{position:absolute;top:var(--space-4);right:var(--space-4);background-color:var(--primary);color:var(--primary-text);width:var(--space-6);height:var(--space-6);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:var(--text-base)}.password-form,.delete-form{max-width:500px}.form-group{margin-bottom:var(--space-6)}.form-group label{display:block;margin-bottom:var(--space-2);color:var(--text-primary);font-weight:var(--font-medium);font-size:var(--text-base)}.form-input{width:100%;padding:var(--space-3);border:2px solid var(--border-default);border-radius:var(--radius-lg);font-size:var(--text-base);font-family:var(--font-sans);background-color:var(--input-bg);color:var(--text-primary);transition:border-color var(--duration-200) var(--ease-in-out),box-shadow var(--duration-200) var(--ease-in-out)}.form-input:hover{border-color:var(--border-hover)}.form-input:focus{outline:none;border-color:var(--primary);box-shadow:var(--focus-ring)}.form-input::placeholder{color:var(--text-muted)}.settings-actions{display:flex;gap:var(--space-4)}.toggle{display:inline-flex;align-items:center;gap:var(--space-3);cursor:pointer;-webkit-user-select:none;user-select:none}.toggle input{width:44px;height:24px;appearance:none;background:var(--border-default);border-radius:var(--radius-full);position:relative;outline:none;transition:background var(--duration-200) var(--ease-in-out)}.toggle input:after{content:"";position:absolute;width:18px;height:18px;border-radius:50%;background:var(--surface-primary);top:3px;left:3px;transition:transform var(--duration-200) var(--ease-in-out);box-shadow:var(--shadow-sm)}.toggle input:checked{background:var(--primary)}.toggle input:checked:after{transform:translate(20px)}.toggle input:focus-visible{box-shadow:var(--focus-ring)}.toggle-label{color:var(--text-primary);font-size:var(--text-base);font-weight:var(--font-medium)}.save-button{background-color:var(--primary);color:var(--primary-text);border:none;border-radius:var(--radius-lg);padding:var(--space-3) var(--space-8);font-size:var(--text-base);font-weight:var(--font-medium);font-family:var(--font-sans);cursor:pointer;transition:all var(--duration-200) var(--ease-in-out);min-height:var(--touch-target)}.save-button:hover:not(:disabled){background-color:var(--primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.save-button:focus-visible{outline:none;box-shadow:var(--focus-ring)}.save-button:disabled{opacity:.6;cursor:not-allowed}.photo-upload-section{display:flex;flex-direction:column;gap:var(--space-6);align-items:center}.photo-preview{width:150px;height:150px;border-radius:var(--radius-full);overflow:hidden;background-color:var(--surface-secondary);border:3px solid var(--border-default);display:flex;align-items:center;justify-content:center}.profile-photo{width:100%;height:100%;object-fit:cover}.photo-placeholder{color:var(--text-secondary);display:flex;align-items:center;justify-content:center;font-size:3rem}.photo-actions{display:flex;gap:var(--space-4);flex-wrap:wrap;justify-content:center}.upload-button{background:var(--gradient-primary);color:var(--primary-text);border:none;padding:var(--space-3) var(--space-6);border-radius:var(--radius-lg);cursor:pointer;font-size:var(--text-base);font-weight:var(--font-semibold);font-family:var(--font-sans);transition:all var(--duration-200) var(--ease-in-out);display:inline-block;box-shadow:var(--shadow-md),0 2px 8px var(--primary-subtle);min-height:var(--touch-target)}.upload-button:hover{background:var(--gradient-primary-hover);transform:translateY(-2px);box-shadow:var(--shadow-lg),0 4px 12px var(--primary-subtle)}.upload-button:focus-visible{outline:none;box-shadow:var(--focus-ring)}.upload-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.remove-button{background-color:transparent;color:var(--error);border:2px solid var(--error);padding:var(--space-3) var(--space-6);border-radius:var(--radius-lg);cursor:pointer;font-size:var(--text-base);font-weight:var(--font-semibold);font-family:var(--font-sans);transition:all var(--duration-200) var(--ease-in-out);min-height:var(--touch-target)}.remove-button:hover{background-color:var(--error);color:#fff}.remove-button:focus-visible{outline:none;box-shadow:var(--focus-ring)}.remove-button:disabled{opacity:.6;cursor:not-allowed}.upload-progress{width:100%;max-width:300px}.progress-bar{width:100%;height:var(--space-2);background-color:var(--surface-tertiary);border-radius:var(--radius-full);overflow:hidden}.progress-fill{height:100%;background:var(--gradient-primary);transition:width var(--duration-300) var(--ease-out)}.message{margin-top:var(--space-4);padding:var(--space-4);border-radius:var(--radius-lg);font-size:var(--text-base)}.message.success{background-color:var(--success-subtle);color:var(--success-text);border:1px solid var(--success)}.message.error{background-color:var(--error-subtle);color:var(--error-text);border:1px solid var(--error)}.danger-section{border-top:2px solid var(--border-default);padding-top:var(--space-8);margin-top:var(--space-8)}.danger-section h2{color:var(--error)}.danger-button{background-color:var(--error);color:#fff;border:none;border-radius:var(--radius-lg);padding:var(--space-3) var(--space-8);font-size:var(--text-base);font-weight:var(--font-medium);font-family:var(--font-sans);cursor:pointer;transition:all var(--duration-200) var(--ease-in-out);min-height:var(--touch-target)}.danger-button:hover{background-color:var(--error-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.danger-button:focus-visible{outline:none;box-shadow:var(--focus-ring)}.danger-button-confirm{background-color:var(--error);color:#fff;border:none;border-radius:var(--radius-lg);padding:var(--space-3) var(--space-8);font-size:var(--text-base);font-weight:var(--font-semibold);font-family:var(--font-sans);cursor:pointer;transition:all var(--duration-200) var(--ease-in-out);min-height:var(--touch-target)}.danger-button-confirm:hover:not(:disabled){background-color:var(--error-hover)}.danger-button-confirm:focus-visible{outline:none;box-shadow:var(--focus-ring)}.danger-button-confirm:disabled{opacity:.6;cursor:not-allowed}.cancel-button{background-color:var(--surface-secondary);color:var(--text-primary);border:2px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-8);font-size:var(--text-base);font-weight:var(--font-medium);font-family:var(--font-sans);cursor:pointer;transition:background-color var(--duration-200) var(--ease-in-out);min-height:var(--touch-target)}.cancel-button:hover{background-color:var(--surface-hover)}.cancel-button:focus-visible{outline:none;box-shadow:var(--focus-ring)}.warning-box{background-color:var(--error-subtle);border:2px solid var(--error);border-radius:var(--radius-lg);padding:var(--space-4);margin-bottom:var(--space-6);color:var(--text-primary);font-size:var(--text-base)}.warning-box strong{display:block;margin-bottom:var(--space-2);color:var(--error)}@media(max-width:768px){.settings-container{padding:var(--space-4);padding-top:calc(var(--height-navbar) + var(--space-4))}.settings-content{padding:var(--space-6)}.theme-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--space-4)}.settings-header h1{font-size:var(--text-2xl)}.settings-section h2{font-size:var(--text-xl)}.settings-actions{flex-direction:column}.save-button,.danger-button,.danger-button-confirm,.cancel-button{width:100%}.photo-upload-section{gap:var(--space-4)}.photo-preview{width:120px;height:120px}}@media(max-width:480px){.settings-container{padding:var(--space-3);padding-top:calc(var(--height-navbar) + var(--space-3))}.settings-content{padding:var(--space-4)}.settings-header h1{font-size:var(--text-xl)}.settings-section h2{font-size:var(--text-lg)}.theme-grid{grid-template-columns:1fr}.theme-preview{height:100px}.form-input{padding:var(--space-2-5)}.save-button,.danger-button,.danger-button-confirm,.cancel-button,.upload-button,.remove-button{padding:var(--space-3) var(--space-5)}.photo-actions{flex-direction:column;width:100%}.upload-button,.remove-button{width:100%}}@media(prefers-reduced-motion:reduce){.back-button,.theme-card,.form-input,.save-button,.upload-button,.remove-button,.danger-button,.danger-button-confirm,.cancel-button,.progress-fill{transition:none}.theme-card:hover,.save-button:hover:not(:disabled),.upload-button:hover,.danger-button:hover{transform:none}}.legal-page{min-height:100vh;background:#fff;display:flex;flex-direction:column}.legal-nav{background:linear-gradient(135deg,#06f,#0052cc);padding:1rem 0;box-shadow:0 2px 8px #0000001a}.legal-nav .nav-container{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center}.legal-nav .nav-brand{font-size:1.5rem;font-weight:700;color:#fff;cursor:pointer;transition:opacity .2s}.legal-nav .nav-brand:hover{opacity:.9}.btn-back{background:transparent;color:#fff;border:1px solid #fff;padding:.5rem 1.5rem;border-radius:6px;cursor:pointer;font-size:.95rem;transition:all .2s}.btn-back:hover{background:#ffffff1a}.legal-container{flex:1;max-width:900px;margin:0 auto;padding:3rem 2rem}.legal-title{font-size:2.5rem;font-weight:700;color:#1a1a1a;margin:0 0 .5rem;text-align:center}.legal-updated{text-align:center;color:#666;font-size:.95rem;margin:0 0 3rem}.legal-section{margin-bottom:3rem}.legal-section h2{font-size:1.75rem;font-weight:600;color:#1a1a1a;margin:0 0 1rem;padding-top:1rem;border-top:2px solid #e5e7eb}.legal-section h3{font-size:1.25rem;font-weight:600;color:#333;margin:1.5rem 0 .75rem}.legal-section p{color:#4b5563;line-height:1.8;margin:0 0 1rem;font-size:1rem}.legal-section ul{color:#4b5563;line-height:1.8;margin:1rem 0;padding-left:2rem}.legal-section li{margin-bottom:.5rem}.legal-section a{color:#06f;text-decoration:none;cursor:pointer;transition:color .2s}.legal-section a:hover{color:#0052cc;text-decoration:underline}.legal-footer-nav{display:flex;gap:1rem;justify-content:center;margin:3rem 0 2rem;padding-top:2rem;border-top:2px solid #e5e7eb}.legal-footer-nav .btn-primary{background:#06f;color:#fff;border:none;padding:.75rem 2rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s}.legal-footer-nav .btn-primary:hover{background:#0052cc;transform:translateY(-2px);box-shadow:0 4px 12px #0066ff4d}.legal-footer-nav .btn-secondary{background:transparent;color:#06f;border:2px solid #0066ff;padding:.75rem 2rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s;white-space:nowrap;overflow:visible;text-overflow:clip}.legal-footer-nav .btn-secondary:hover{background:#f0f7ff}.legal-footer{background:#1a1a1a;color:#999;text-align:center;padding:2rem;margin-top:auto}.legal-footer p{margin:0;font-size:.9rem}@media(max-width:768px){.legal-container{padding:2rem 1.5rem}.legal-title{font-size:2rem}.legal-section h2{font-size:1.5rem}.legal-section h3{font-size:1.1rem}.legal-footer-nav{flex-direction:column}.legal-footer-nav .btn-primary,.legal-footer-nav .btn-secondary{width:100%}}.environment-builder-container{max-width:800px;margin:0 auto;padding:2rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a}.form-header{margin-bottom:2rem;text-align:center}.form-title{font-size:2rem;font-weight:700;color:#1a1a1a;margin-bottom:.5rem}.form-subtitle{font-size:1rem;color:#666;margin-bottom:1.5rem;line-height:1.5}.required-mark{color:#e74c3c;margin-left:.25rem;font-weight:700}.progress-bar-container{margin-top:1rem}.progress-bar{height:12px;background:#f0f0f0;border-radius:6px;overflow:hidden;position:relative;margin-bottom:.5rem}.progress-fill{height:100%;background:linear-gradient(90deg,#3a7bff,#00c6ff);transition:width .3s ease;border-radius:6px;position:relative}.sparkle-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);animation:sparkle 2s infinite}@keyframes sparkle{0%{transform:translate(-100%)}to{transform:translate(100%)}}.progress-text{font-size:.875rem;color:#666;display:block;text-align:center}.auto-save-indicator{color:#27ae60;font-size:.875rem;font-weight:500}.draft-notification{background:linear-gradient(135deg,#3a7bff,#1f6bff);color:#fff;padding:1rem;border-radius:8px;margin-bottom:1.5rem;box-shadow:0 4px 12px #3a7bff4d;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.draft-notification-content{display:flex;align-items:center;gap:1rem}.draft-icon{font-size:2rem;flex-shrink:0}.draft-notification-content>div{flex:1}.draft-notification strong{display:block;font-size:1.1rem;margin-bottom:.25rem}.draft-notification p{margin:0;font-size:.875rem;opacity:.9}.btn-clear-draft{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.875rem;transition:background .2s}.btn-clear-draft:hover{background:#ffffff4d}.profile-picture-section{display:flex;align-items:center;gap:2rem;padding:1.5rem;background:#f8f9fa;border-radius:8px;margin-bottom:1rem}.profile-picture-preview{width:120px;height:120px;border-radius:50%;overflow:hidden;background:#e0e0e0;display:flex;align-items:center;justify-content:center;flex-shrink:0;border:3px solid #3a7bff}.profile-picture-preview img{width:100%;height:100%;object-fit:cover}.profile-picture-placeholder{font-size:3rem}.profile-picture-upload{flex:1}.environment-form{display:flex;flex-direction:column;gap:1.5rem}.environment-builder-container .section-container{background:#f8f9fa;padding:1.5rem;border-radius:8px;border-left:4px solid #3a7bff}.environment-builder-container .section-title{font-size:1.25rem;font-weight:600;color:#1a1a1a;margin-bottom:1rem}.form-group{margin-bottom:1.5rem}.form-group:last-child{margin-bottom:0}.form-label{display:block;font-weight:500;color:#333;margin-bottom:.5rem;font-size:.95rem}.form-input,.form-textarea,.form-select{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:6px;font-size:1rem;font-family:inherit;transition:border-color .2s,box-shadow .2s;background:#fff}.form-input:focus,.form-textarea:focus,.form-select:focus{outline:none;border-color:#3a7bff;box-shadow:0 0 0 3px #3a7bff1a}.form-textarea{resize:vertical;min-height:100px}.input-error{border-color:#e74c3c}.field-error{color:#e74c3c;font-size:.875rem;margin-top:.25rem}.helper-text{font-size:.875rem;color:#666;margin-top:.5rem}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.95rem;color:#333}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.file-list{margin-top:1rem;display:flex;flex-direction:column;gap:.5rem}.file-item{background:#fff;padding:.75rem;border-radius:6px;border:1px solid #ddd;font-size:.9rem}.error-banner{background:#fee;color:#c33;padding:1rem;border-radius:6px;border-left:4px solid #e74c3c;margin-bottom:1.5rem}.environment-builder-container .form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:2rem;border-top:1px solid #e0e0e0}.environment-builder-container .btn-primary,.environment-builder-container .btn-secondary{padding:.75rem 2rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;border:none}.environment-builder-container .btn-primary{background:linear-gradient(135deg,#3a7bff,#1f6bff);color:#fff;box-shadow:0 4px 12px #3a7bff4d}.environment-builder-container .btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #3a7bff66}.environment-builder-container .btn-primary:disabled{opacity:.6;cursor:not-allowed}.environment-builder-container .btn-secondary{background:#f0f0f0;color:#333;border:1px solid #ddd}.environment-builder-container .btn-secondary:hover:not(:disabled){background:#e0e0e0}.environment-builder-container .btn-secondary:disabled{opacity:.6;cursor:not-allowed}@media(max-width:768px){.environment-builder-container{padding:1rem}.form-title{font-size:1.5rem}.form-subtitle{font-size:.9rem}.profile-picture-section{flex-direction:column;text-align:center}.environment-builder-container .form-actions{flex-direction:column}.environment-builder-container .btn-primary,.environment-builder-container .btn-secondary{width:100%}}.create-environment-page{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:2rem}.page-header{max-width:800px;margin:0 auto 2rem}.btn-back{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:500;transition:all .2s;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn-back:hover{background:#ffffff4d;transform:translate(-4px)}.error-notification{max-width:800px;margin:0 auto 2rem;background:#fee;color:#c33;padding:1rem;border-radius:8px;border-left:4px solid #e74c3c}.error-notification strong{display:block;margin-bottom:.25rem}.avatar-upload{display:flex;flex-direction:column;gap:var(--space-8);align-items:center}.avatar-preview-container{display:flex;flex-direction:column;align-items:center;gap:var(--space-3)}.avatar-preview-label{cursor:pointer;display:block;position:relative}.avatar-preview-label:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-full)}.avatar-preview{position:relative;overflow:hidden;border-radius:var(--radius-full);transition:all var(--duration-300) var(--ease-in-out)}.preview-image{width:140px;height:140px;border-radius:var(--radius-full);object-fit:cover;border:4px solid var(--surface-primary);box-shadow:var(--shadow-lg),0 8px 24px var(--primary-subtle);transition:transform var(--duration-300) var(--ease-in-out);display:block}.preview-emoji{width:140px;height:140px;border-radius:var(--radius-full);background:var(--gradient-primary);display:flex;align-items:center;justify-content:center;font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--primary-text);border:4px solid var(--surface-primary);box-shadow:var(--shadow-lg),0 8px 24px var(--primary-subtle);transition:transform var(--duration-300) var(--ease-in-out);text-align:center;padding:var(--space-4)}.avatar-hover-overlay{position:absolute;inset:0;background-color:var(--overlay-dark);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--duration-300) var(--ease-in-out)}.avatar-hover-content{display:flex;flex-direction:column;align-items:center;gap:var(--space-1-5);color:var(--primary-text);text-align:center;transform:translateY(4px);transition:transform var(--duration-300) var(--ease-in-out)}.camera-icon{font-size:var(--text-4xl);display:block}.hover-text{font-size:var(--text-base);font-weight:var(--font-semibold);display:block;letter-spacing:.01em}.avatar-preview-label:hover .preview-image,.avatar-preview-label:hover .preview-emoji{transform:scale(1.05)}.avatar-preview-label:hover .avatar-hover-overlay{opacity:1}.avatar-preview-label:hover .avatar-hover-content{transform:translateY(0)}.avatar-preview-label:hover .avatar-preview{box-shadow:0 0 0 6px var(--primary-subtle)}.avatar-hint{color:var(--text-muted);font-size:var(--text-sm);margin:0;text-align:center;font-weight:var(--font-medium)}.emoji-section{border-top:2px solid var(--divider);padding-top:var(--space-6);width:100%;max-width:400px}.emoji-section-title{font-size:var(--text-sm);color:var(--text-secondary);margin:0 0 var(--space-4) 0;text-align:center;font-weight:var(--font-semibold)}.emoji-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:var(--space-2)}.emoji-option{background-color:var(--surface-secondary);border:2px solid transparent;border-radius:var(--radius-lg);padding:var(--space-3);font-size:var(--text-2xl);cursor:pointer;transition:all var(--duration-200) var(--ease-in-out);min-height:var(--touch-target);display:flex;align-items:center;justify-content:center}.emoji-option:hover{background-color:var(--surface-hover);transform:scale(1.1)}.emoji-option:focus-visible{outline:none;box-shadow:var(--focus-ring)}.emoji-option.selected{border-color:var(--primary);background-color:var(--primary-subtle)}@media(max-width:768px){.emoji-grid{grid-template-columns:repeat(6,1fr)}.preview-image,.preview-emoji{width:100px;height:100px}.preview-emoji{font-size:3rem}}@media(prefers-reduced-motion:reduce){.avatar-preview,.preview-image,.preview-emoji,.avatar-hover-overlay,.avatar-hover-content,.emoji-option{transition:none}.avatar-preview-label:hover .preview-image,.avatar-preview-label:hover .preview-emoji,.emoji-option:hover{transform:none}}.create-persona-page{min-height:100vh;background-color:var(--surface-primary);padding-top:var(--height-navbar)}.create-persona-container{max-width:var(--container-md);margin:0 auto;padding:var(--space-8) var(--space-4)}.page-header{margin-bottom:var(--space-8)}.btn-back{background:none;border:none;color:var(--primary);font-size:var(--text-base);font-family:var(--font-sans);cursor:pointer;padding:var(--space-2) var(--space-4);border-radius:var(--radius-lg);transition:background-color var(--duration-200) var(--ease-in-out);display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--touch-target)}.btn-back:hover{background-color:var(--surface-hover)}.btn-back:focus-visible{outline:none;box-shadow:var(--focus-ring)}.error-banner{position:relative;background-color:var(--error-subtle);color:var(--error-text);padding:var(--space-4) var(--space-12) var(--space-4) var(--space-4);border-radius:var(--radius-lg);margin-bottom:var(--space-6);border:1px solid var(--error)}.close-alert{position:absolute;top:var(--space-2);right:var(--space-2);background:none;border:none;color:var(--error);font-size:var(--text-2xl);cursor:pointer;padding:var(--space-1) var(--space-2);line-height:1;border-radius:var(--radius-md);transition:opacity var(--duration-150) var(--ease-in-out)}.close-alert:hover{opacity:.7}.close-alert:focus-visible{outline:none;box-shadow:var(--focus-ring)}.create-persona-content{background-color:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-xl);padding:var(--space-8);box-shadow:var(--card-shadow)}.page-title{font-size:var(--text-3xl);font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:var(--space-2);letter-spacing:var(--tracking-tight)}.page-description{color:var(--text-secondary);font-size:var(--text-base);margin-bottom:var(--space-8);line-height:var(--leading-relaxed)}.persona-header-section{background-color:var(--surface-secondary);border-radius:var(--radius-xl);padding:var(--space-6);margin-bottom:var(--space-8);border:1px solid var(--border-default)}.persona-create-form{display:flex;flex-direction:column;gap:var(--space-8)}.form-section{display:flex;flex-direction:column;gap:var(--space-6)}.info-box{margin-top:var(--space-8);padding:var(--space-6);background-color:var(--surface-secondary);border-radius:var(--radius-xl);border-left:4px solid var(--primary)}.info-box h3{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:var(--space-3)}.info-box p{color:var(--text-secondary);margin-bottom:var(--space-4);line-height:var(--leading-relaxed)}.info-box ul{list-style:none;padding:0;margin:0 0 var(--space-4) 0}.info-box li{padding:var(--space-2) 0;padding-left:var(--space-6);position:relative;color:var(--text-secondary);line-height:var(--leading-relaxed)}.info-box li:before{content:"•";position:absolute;left:var(--space-2);color:var(--primary);font-weight:var(--font-bold)}.info-note{background-color:var(--primary-subtle);padding:var(--space-3);border-radius:var(--radius-lg);font-size:var(--text-base);margin-top:var(--space-4)!important;margin-bottom:0!important}.form-group{display:flex;flex-direction:column;gap:var(--space-2)}.form-label{font-size:var(--text-base);font-weight:var(--font-medium);color:var(--text-primary)}.form-label .required{color:var(--error);margin-left:var(--space-1)}.form-input,.form-select{padding:var(--space-3) var(--space-4);font-size:var(--text-base);font-family:var(--font-sans);border:1px solid var(--border-default);border-radius:var(--radius-lg);background-color:var(--input-bg);color:var(--text-primary);transition:border-color var(--duration-200) var(--ease-in-out),box-shadow var(--duration-200) var(--ease-in-out)}.form-input:hover,.form-select:hover{border-color:var(--border-hover)}.form-input:focus,.form-select:focus{outline:none;border-color:var(--primary);box-shadow:var(--focus-ring)}.form-select{cursor:pointer}.form-select:disabled{cursor:not-allowed;opacity:.6;background-color:var(--surface-tertiary)}.field-hint{font-size:var(--text-sm);color:var(--text-secondary);margin:0;line-height:var(--leading-normal)}.avatar-section{padding:var(--space-6);background-color:var(--surface-secondary);border-radius:var(--radius-xl);border:1px solid var(--border-default)}.form-actions{display:flex;gap:var(--space-4);justify-content:flex-end;padding-top:var(--space-4);border-top:1px solid var(--divider)}.btn-cancel,.btn-create{padding:var(--space-3) var(--space-6);font-size:var(--text-base);font-weight:var(--font-medium);font-family:var(--font-sans);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--duration-200) var(--ease-in-out);border:none;min-height:var(--touch-target)}.btn-cancel{background-color:var(--surface-secondary);color:var(--text-primary);border:1px solid var(--border-default)}.btn-cancel:hover:not(:disabled){background-color:var(--surface-hover)}.btn-cancel:focus-visible{outline:none;box-shadow:var(--focus-ring)}.btn-create{background-color:var(--primary);color:var(--primary-text)}.btn-create:hover:not(:disabled){background-color:var(--primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md),0 4px 12px var(--primary-subtle)}.btn-create:focus-visible{outline:none;box-shadow:var(--focus-ring)}.btn-cancel:disabled,.btn-create:disabled{opacity:.6;cursor:not-allowed}.btn-create:disabled:hover{transform:none;box-shadow:none}@media(max-width:768px){.create-persona-container{padding:var(--space-4)}.create-persona-content{padding:var(--space-6)}.page-title{font-size:var(--text-2xl)}.persona-header-section{padding:var(--space-5)}.form-actions{flex-direction:column}.btn-cancel,.btn-create{width:100%}.info-box{padding:var(--space-5)}}@media(max-width:480px){.create-persona-container{padding:var(--space-3)}.create-persona-content{padding:var(--space-4)}.page-title{font-size:var(--text-xl)}.page-description{font-size:var(--text-sm)}.persona-header-section,.avatar-section{padding:var(--space-4)}.form-input,.form-select{padding:var(--space-2-5) var(--space-3)}.btn-cancel,.btn-create{padding:var(--space-3) var(--space-5)}.info-box{padding:var(--space-4)}.info-box h3{font-size:var(--text-base)}}@media(prefers-reduced-motion:reduce){.btn-back,.btn-cancel,.btn-create,.form-input,.form-select,.close-alert{transition:none}.btn-create:hover:not(:disabled){transform:none}}#root{width:100%;min-height:100vh;min-height:100dvh}
