:root{--zinc-50:#fafafa;--zinc-100:#f4f4f5;--zinc-200:#e4e4e7;--zinc-300:#d1d1d6;--zinc-400:#a1a1aa;--zinc-500:#71717a;--zinc-600:#52525b;--zinc-700:#3f3f46;--zinc-800:#27272a;--zinc-900:#18181b;--accent:#18181b;--accent-soft:#f4f4f5;--sage-50:#edf5f0;--sage-100:#ccdfd3;--sage-200:#95bfa2;--sage-300:#5e9a70;--sage-400:#3d7a52;--sage-500:#2a5c3c;--amber-50:#fef8e8;--amber-100:#fceec0;--amber-200:#f7d56a;--amber-300:#e8b820;--amber-400:#c99808;--amber-500:#a37a00;--rose-50:#fdeeed;--rose-100:#f9cec8;--rose-200:#f09282;--rose-300:#e05c48;--rose-400:#c43d28;--rose-500:#9e2e1c;--slate-400:#5b7fa3;--slate-500:#3e6080;--sidebar-bg:#0f0f0f;--sidebar-text:#f4f4f4;--sidebar-muted:#f4f4f473;--sidebar-active-bg:#ffffff14;--sidebar-active:#f4f4f4;--sidebar-hover:#ffffff0d;--sidebar-border:#ffffff12;--sidebar-icon:#f4f4f459;--bg-page:#f7f8fa;--bg-card:#fff;--bg-subtle:#f1f1f3;--border:#e4e4e7;--border-mid:#d1d1d6;--text-primary:#18181b;--text-secondary:#52525b;--text-tertiary:#a1a1aa;--text-inverse:#fafafa;--shadow-xs:0 1px 2px #0000000a;--shadow-sm:0 2px 6px #0000000f, 0 1px 2px #00000008;--shadow-md:0 4px 16px #00000012, 0 2px 4px #0000000a;--shadow-lg:0 8px 32px #00000017, 0 4px 8px #0000000a;--shadow-xl:0 16px 48px #0000001f, 0 6px 16px #0000000f;--r-xs:2px;--r-sm:4px;--r-md:6px;--r-lg:10px;--r-xl:16px;--r-pill:100px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--font-body:"DM Sans", system-ui, sans-serif;--font-mono:"JetBrains Mono", "Courier New", monospace}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;margin:0;padding:0}body{font-family:var(--font-body);color:var(--text-primary);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background:radial-gradient(110% 90% at -5% -5%,#fbbf2447 0%,#fbbf241f 30%,#0000 58%),radial-gradient(90% 75% at 105% 105%,#f43f5e3d 0%,#f43f5e1a 30%,#0000 58%),#f2f2f4}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-mid);border-radius:2px}button{cursor:pointer;font-family:inherit}@keyframes countUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInPanel{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
