:root{--bg:#0b0a14;--bg-elevated:#100e1c;--card:#13111f;--card-hover:#181527;--border:#ffffff0f;--border-strong:#ffffff1a;--text-primary:#fafafa;--text-secondary:#a1a1aa;--text-muted:#71717a;--text-faint:#52525b;--accent:#a78bfa;--accent-strong:#7c3aed;--accent-2:#c4b5fd;--accent-bg:#a78bfa1a;--success:#22c55e;--success-bg:#22c55e1a;--warning:#eab308;--warning-bg:#eab3081a;--danger:#ef4444;--danger-bg:#ef44441a;--info:#06b6d4;--info-bg:#06b6d41a;--radius:10px;--radius-lg:14px;--shadow-card:0 1px 0 #ffffff08 inset, 0 0 0 1px var(--border);--shadow-hover:0 1px 0 #ffffff0a inset, 0 0 0 1px var(--border-strong), 0 8px 24px #0006;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--transition:.18s cubic-bezier(.2, .8, .2, 1)}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0;padding:0;font-size:14px;line-height:1.5}body{background-image:radial-gradient(1200px 600px at 80% -10%,#a78bfa0f,#0000 60%),radial-gradient(900px 500px at -10% 100%,#7c3aed0d,#0000 60%);background-attachment:fixed}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit}code,pre,.mono{font-family:var(--font-mono);font-feature-settings:"cv02", "cv03", "cv04", "cv11"}::selection{color:var(--text-primary);background:#a78bfa4d}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff0f;border-radius:5px}::-webkit-scrollbar-thumb:hover{background:#ffffff1f}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.fade-in{animation:.3s ease-out both fadeIn}.slide-up{animation:.4s cubic-bezier(.2,.8,.2,1) both slideUp}.live-dot{animation:2s ease-in-out infinite pulse}
