*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-void:#010408;--bg-dark:#040d1a;--bg-card:#040d1ab3;--blue-accent:#0ea5e9;--cyan-accent:#06ffd4;--purple-accent:#a855f7;--violet-accent:#7c3aed;--glass:#040d1a99;--font-sans:"Space Grotesk", system-ui, sans-serif;--font-mono:"Space Mono", monospace;--ease:cubic-bezier(.16, 1, .3, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--text-primary:#e8f4ff;--text-body:#7aa3c8;--text-secondary:#7aa3c8;--text-label:#3a6280;--text-muted:#2d6a8a;--text-dim:#2d4a6a;--text-dimmer:#2d4a6a;--text-faint:#1d3a4e;--border:#0ea5e91a;--border-bright:#0ea5e940;--border-subtle:#0ea5e90f;--border-dim:#0ea5e914;--bg-void-rgb:1, 4, 8;--panel-bg:#0104084d;--panel-bg-strong:#010408bf;--topbar-bg:#01040880;--bg-corner:#010408f2;--accent-track:#0ea5e914;--accent-grid:#0ea5e909;--tag-bg:#0ea5e90a;--tag-border:#0ea5e91a}@media (prefers-color-scheme:light){:root{--bg-void:#f0f5fa;--bg-dark:#e4ecf5;--bg-card:#e0edfcb3;--glass:#fff9;--text-primary:#0a1a2e;--text-body:#2a5070;--text-secondary:#2a5070;--text-label:#4a7a99;--text-muted:#5a8aaa;--text-dim:#4a7090;--text-dimmer:#4a7090;--text-faint:#8ab4cc;--border:#0ea5e933;--border-bright:#0ea5e966;--border-subtle:#0ea5e91f;--border-dim:#0ea5e926;--bg-void-rgb:240, 247, 255;--panel-bg:#ffffffa6;--panel-bg-strong:#f8fcffe6;--topbar-bg:#f5faffe0;--bg-corner:#f0f7fffa;--accent-track:#0ea5e91f;--accent-grid:#0ea5e90f;--tag-bg:#0ea5e90f;--tag-border:#0ea5e933}}html{scroll-behavior:smooth}body{font-family:var(--font-sans);background:var(--bg-void);color:var(--text-primary);-webkit-font-smoothing:antialiased;overflow-x:hidden}#root{min-height:100svh}::selection{background:var(--blue-accent);color:#000}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:var(--bg-void)}::-webkit-scrollbar-thumb{background:var(--blue-accent);border-radius:2px}a{color:inherit;text-decoration:none}@keyframes pulse-ring{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(2.8)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes blink{0%,to{opacity:1}50%{opacity:.2}}@keyframes scan{0%{opacity:0;top:-2px}5%{opacity:1}95%{opacity:1}to{opacity:0;top:calc(100% + 2px)}}@keyframes gradient-x{0%,to{background-position:0%}50%{background-position:100%}}@keyframes spin-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes glow-pulse{0%,to{opacity:.4}50%{opacity:.8}}
