@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Outfit:wght@400;500;600;700;800&display=swap");:root{--color-primary:#7c3aed;--color-primary-light:#a78bfa;--color-primary-lighter:#ede9fe;--color-primary-dark:#5b21b6;--color-primary-50:#f5f3ff;--color-primary-100:#ede9fe;--color-primary-200:#ddd6fe;--color-primary-300:#c4b5fd;--color-primary-400:#a78bfa;--color-primary-500:#8b5cf6;--color-primary-600:#7c3aed;--color-primary-700:#6d28d9;--color-primary-800:#5b21b6;--color-primary-900:#4c1d95;--gradient-hero:linear-gradient(160deg,#1e1b4b,#3b0764 40%,#6d28d9 80%,#7c3aed);--gradient-primary:linear-gradient(135deg,var(--color-primary-700) 0%,var(--color-primary-500) 100%);--gradient-soft:linear-gradient(135deg,var(--color-primary-50) 0%,#f0ebff 100%);--color-secondary:#0ea5e9;--color-secondary-light:#38bdf8;--color-secondary-50:#f0f9ff;--color-accent:#f59e0b;--color-accent-light:#fcd34d;--color-success:#16a34a;--color-success-light:#dcfce7;--color-warning:#f59e0b;--color-warning-light:#fef3c7;--color-error:#dc2626;--color-error-light:#fee2e2;--color-info:#2563eb;--color-info-light:#dbeafe;--color-bg:#fafafa;--color-bg-alt:#f5f3ff;--color-surface:#fff;--color-surface-hover:#f5f3ff;--color-surface-active:#ede9fe;--color-text:#1e1b4b;--color-text-secondary:#4b5563;--color-text-muted:#9ca3af;--color-text-inverse:#fff;--color-border:#e5e7eb;--color-border-light:#f3f4f6;--color-border-focus:#7c3aed;--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;--font-heading:"Outfit",var(--font-sans);--font-mono:"JetBrains Mono","Fira Code",monospace;--text-xs:0.75rem;--text-sm:0.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;--leading-tight:1.2;--leading-normal:1.5;--leading-relaxed:1.7;--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;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--radius-2xl:32px;--radius-full:9999px;--shadow-xs:0 1px 2px rgba(0,0,0,.05);--shadow-sm:0 1px 3px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.04);--shadow-md:0 4px 6px -1px rgba(0,0,0,.08),0 2px 4px -2px rgba(0,0,0,.05);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.08),0 4px 6px -4px rgba(0,0,0,.04);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.08),0 8px 10px -6px rgba(0,0,0,.04);--shadow-purple:0 10px 30px rgba(124,58,237,.2);--shadow-purple-lg:0 20px 50px rgba(124,58,237,.25);--transition-fast:150ms ease;--transition-base:250ms ease;--transition-slow:350ms ease;--sidebar-width:260px;--sidebar-collapsed:72px;--header-height:72px;--max-content-width:1280px;--z-dropdown:100;--z-sticky:200;--z-sidebar:300;--z-modal:400;--z-toast:500}*,:after,:before{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);background-color:var(--color-bg)}body,h1,h2,h3,h4,h5,h6{color:var(--color-text)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:600;line-height:var(--leading-tight)}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}h4{font-size:var(--text-lg)}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-dark)}img{max-width:100%;height:auto}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}.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}.container{max-width:var(--max-content-width);margin:0 auto;padding:0 var(--space-6)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-16px)}to{opacity:1;transform:translateX(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-fade-in{animation:fadeIn var(--transition-base) ease-out}.animate-slide-in{animation:slideInLeft var(--transition-base) ease-out}