:root{--brand-purple-100:#ede5ff;--brand-purple-300:#d4b8ff;--brand-purple-500:#9d6dd9;--brand-purple-600:#7a4db8;--brand-purple-700:#5c2d91;--brand-purple-900:#3d1d61;--brand-black:#0b0b0c;--brand-ink:#171717;--brand-graphite:#171717;--brand-grey-50:#fafafa;--brand-grey-100:#f5f5f5;--brand-grey-200:#e5e5e5;--brand-grey-300:#d4d4d4;--brand-grey-600:#525252;--brand-grey-700:#404040;--accent-emerald-50:#ecfdf5;--accent-emerald-100:#d1fae5;--accent-emerald-400:#34d399;--accent-emerald-500:#10b981;--accent-emerald-600:#16a34a;--accent-emerald-700:#059669;--accent-blue-500:#2563eb;--accent-blue-600:#1d4ed8;--color-success-500:#10b981;--color-warning-500:#f59e0b;--color-danger-500:#ef4444;--border:#e5e7eb;--border-strong:#d1d5db;--ring:#5c2d9133;--shadow-color:0deg 0% 0%;--radius-2:0.25rem;--radius-3:0.5rem;--radius-4:0.75rem;--radius-6:1rem;--radius-hero:2.5rem;--radius-999:999px;--radius:0.375rem;--radius-lg:0.5rem;--radius-xl:0.75rem;--radius-2xl:1rem;--font-family-sans:ui-sans-serif,system-ui,"Inter","Space Grotesk","SF Pro Text",Arial,sans-serif;--font-family-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;--fs-12:0.75rem;--fs-14:0.875rem;--fs-16:1rem;--fs-18:1.125rem;--fs-20:1.25rem;--fs-24:1.5rem;--fs-30:1.875rem;--fs-36:2.25rem;--fs-48:3rem;--fs-64:4rem;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-4xl:2.25rem;--font-size-5xl:3rem;--font-size-6xl:3.75rem;--lh-tight:1.15;--lh-snug:1.25;--lh-normal:1.5;--leading-tight:1.25;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--space-0:0rem;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--ease-snap:cubic-bezier(.2,.8,.2,1);--ease-glide:cubic-bezier(.16,1,.3,1);--ease-emph:cubic-bezier(.4,0,.2,1);--dur-xxs:120ms;--dur-xs:160ms;--dur-sm:220ms;--dur-md:320ms;--dur-lg:480ms;--shadow-sm:0 1px 2px 0 rgba(0,0,0,.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);--shadow-lift:0 2px 8px -2px hsl(var(--shadow-color)/0.08),0 4px 12px -4px hsl(var(--shadow-color)/0.06);--shadow-mesh:0 1px 3px 0 hsl(var(--shadow-color)/0.08),0 1px 2px -1px hsl(var(--shadow-color)/0.06);--op-0:0;--op-20:.2;--op-40:.4;--op-60:.6;--op-80:.8;--op-100:1;--bg-canvas:var(--brand-grey-50);--bg-surface:#fff;--text-primary:var(--brand-ink);--text-secondary:var(--brand-grey-700);--text-inverse:#fff;--brand-primary:var(--brand-purple-700);--brand-primary-press:var(--brand-purple-900);--brand-accent:var(--accent-emerald-500);--cta-bg:var(--brand-primary);--cta-text:#fff;--focus:var(--brand-primary);--bg:var(--bg-canvas);--fg:var(--text-primary);--muted:var(--text-secondary);--primary:var(--brand-primary);--primary-fg:var(--cta-text);--success:var(--color-success-500);--warning:var(--color-warning-500);--danger:var(--color-danger-500);--brand-purple-50:#f5f0ff;--graphite-900:var(--brand-ink);--graphite-600:var(--brand-grey-600);--text-ink:var(--text-primary);--text-brand:var(--brand-primary);--text-mute:var(--text-secondary);--bg-brand:var(--brand-primary);--ring-color:var(--ring);--ring-offset-width:2px;--ring-offset-color:#fff}:root.theme-dark,[data-theme=dark]{--brand-black:#fafafa;--brand-ink:#f5f5f5;--brand-graphite:#e5e7eb;--brand-grey-50:#111214;--brand-grey-100:#16181b;--brand-grey-200:#1c1f24;--brand-grey-300:#22262c;--brand-grey-600:#9ca3af;--brand-grey-700:#d1d5db;--border:#23262b;--border-strong:#2e3238;--ring:#9d6dd933;--shadow-color:240deg 10% 3%;--bg-canvas:#0d0f13;--bg-surface:#13161c;--text-primary:#f3f4f6;--text-secondary:#cbd5e1;--cta-bg:var(--brand-purple-600);--bg:var(--bg-canvas);--fg:var(--text-primary);--muted:var(--text-secondary)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(1rem);opacity:0}to{transform:translateY(0);opacity:1}}.animate-fadeIn{animation:fadeIn var(--dur-quick-2) var(--ease-standard) both}.animate-slideUp{animation:slideUp var(--dur-quick-2) var(--ease-standard) both}@media (prefers-reduced-motion:reduce){.animate-fadeIn,.animate-slideUp{animation-duration:1ms;animation-delay:0ms}}