:root{--color-bg-primary:#0b0b1a;--color-bg-secondary:#0e0e24;--color-bg-card:#12122a;--color-bg-elevated:#1a1a3e;--color-brand-blue:#3b82f6;--color-brand-blue-hover:#2563eb;--color-brand-blue-glow:rgba(59,130,246,.25);--color-accent-purple:#8b5cf6;--color-accent-purple-glow:rgba(139,92,246,.2);--color-accent-green:#22c55e;--color-accent-green-dim:#16a34a;--color-accent-cyan:#06b6d4;--color-text-primary:#f8fafc;--color-text-secondary:#94a3b8;--color-text-tertiary:#64748b;--color-text-inverse:#0b0b1a;--color-border:rgba(148,163,184,.12);--color-border-hover:rgba(148,163,184,.25);--color-input-bg:#0e0e24;--color-input-border:rgba(148,163,184,.2);--color-input-border-focus:#3b82f6;--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--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;--text-6xl:3.75rem;--leading-tight:1.1;--leading-snug:1.25;--leading-normal:1.5;--leading-relaxed:1.625;--tracking-tight:-0.02em;--tracking-normal:0;--tracking-wide:0.05em;--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:0.375rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-full:9999px;--shadow-sm:0 1px 2px rgba(0,0,0,.3);--shadow-md:0 4px 6px rgba(0,0,0,.4);--shadow-lg:0 10px 25px rgba(0,0,0,.5);--shadow-blue:0 0 30px var(--color-brand-blue-glow);--shadow-purple:0 0 30px var(--color-accent-purple-glow);--transition-fast:150ms ease;--transition-base:250ms ease;--transition-slow:350ms ease;--z-base:0;--z-dropdown:10;--z-sticky:20;--z-overlay:30;--z-modal:40}[data-theme=light]{--color-bg-primary:#f8fafc;--color-bg-secondary:#f1f5f9;--color-bg-card:#fff;--color-bg-elevated:#fff;--color-brand-blue:#3b82f6;--color-brand-blue-hover:#2563eb;--color-brand-blue-glow:rgba(59,130,246,.15);--color-accent-purple:#8b5cf6;--color-accent-purple-glow:rgba(139,92,246,.12);--color-accent-green:#16a34a;--color-accent-green-dim:#15803d;--color-accent-cyan:#0891b2;--color-text-primary:#0f172a;--color-text-secondary:#475569;--color-text-tertiary:#94a3b8;--color-text-inverse:#f8fafc;--color-border:rgba(15,23,42,.1);--color-border-hover:rgba(15,23,42,.2);--color-input-bg:#fff;--color-input-border:rgba(15,23,42,.15);--color-input-border-focus:#3b82f6;--shadow-sm:0 1px 2px rgba(0,0,0,.05);--shadow-md:0 4px 6px rgba(0,0,0,.07);--shadow-lg:0 10px 25px rgba(0,0,0,.1);--shadow-blue:0 0 30px var(--color-brand-blue-glow);--shadow-purple:0 0 30px var(--color-accent-purple-glow)}*,:after,:before{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text-primary);background-color:var(--color-bg-primary);min-height:100vh;overflow-x:hidden}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none}ol,ul{list-style:none}img{display:block;max-width:100%}input{font-family:inherit;border:none;outline:none;background:none;color:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.gradient-text-blue{background:linear-gradient(135deg,var(--color-brand-blue),var(--color-accent-cyan));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.gradient-text-purple{background:linear-gradient(135deg,var(--color-brand-blue),var(--color-accent-purple));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.glow-blue{box-shadow:var(--shadow-blue)}.glow-purple{box-shadow:var(--shadow-purple)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 20px var(--color-brand-blue-glow)}50%{box-shadow:0 0 40px var(--color-brand-blue-glow)}}@keyframes spin{to{transform:rotate(1turn)}}