*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #f5f5f7;--surface: #ffffff;--surface2: #f0f0f5;--surface3: #e8e8f0;--surface4: #dddde8;--border: #e2e2ec;--border2: #d0d0e0;--accent: #5b4ef5;--accent2: #7c6ff7;--accent3: #a899ff;--accent-glow: rgba(91,78,245,.08);--accent-glow2:rgba(91,78,245,.15);--text: #111118;--text2: #44445a;--text3: #88889a;--text4: #c0c0d0;--green: #059669;--green-bg: rgba(5,150,105,.07);--amber: #d97706;--amber-bg: rgba(217,119,6,.07);--red: #dc2626;--red-bg: rgba(220,38,38,.07);--blue: #2563eb;--blue-bg: rgba(37,99,235,.07);--pink: #db2777;--pink-bg: rgba(219,39,119,.07);--shadow: 0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.04);--shadow-md: 0 4px 12px rgba(0,0,0,.08);--font-head: "Syne", sans-serif;--font-body: "Inter", sans-serif;--font-mono: "DM Mono", monospace;--radius-sm: 6px;--radius: 10px;--radius-lg: 14px}body.dark{--bg: #080810;--surface: #0f0f1a;--surface2: #161625;--surface3: #1e1e30;--surface4: #252538;--border: #252538;--border2: #2e2e48;--accent: #6c63ff;--accent2: #9d96ff;--accent3: #c4c0ff;--accent-glow: rgba(108,99,255,.12);--accent-glow2:rgba(108,99,255,.22);--text: #eeeef5;--text2: #8888aa;--text3: #4a4a68;--text4: #2e2e48;--green: #2dd4a0;--green-bg: rgba(45,212,160,.08);--amber: #f5a623;--amber-bg: rgba(245,166,35,.08);--red: #ff6b6b;--red-bg: rgba(255,107,107,.08);--blue: #5ba4f5;--blue-bg: rgba(91,164,245,.08);--pink: #f472b6;--pink-bg: rgba(244,114,182,.08);--shadow: 0 1px 3px rgba(0,0,0,.4);--shadow-md: 0 4px 16px rgba(0,0,0,.4)}html,body,#root{height:100%;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased;transition:background .25s,color .25s}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border2);border-radius:2px}button{cursor:pointer;font-family:var(--font-body);border:none;outline:none}input{font-family:var(--font-body);outline:none}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}
