:root{--bg:#f2f2f0;--surface:#ffffff;--surface-2:#fafaf9;--inset:#f4f4f2;--border:rgba(22,25,31,0.09);--border-2:rgba(22,25,31,0.16);--text:#171a20;--text-2:#565a63;--text-3:#8a8d96;--accent:#2f5fe0;--accent-2:#eaf0fe;--accent-3:#254fc4;--good:#18915a;--good-2:#e7f4ec;--bad:#d24545;--bad-2:#fbeceb;--mid:#c4c7ce;--violet:#7c5ce0;--teal:#1f9c92;--warn:#b7791f;--warn-2:#fdf5e6;--sans:"Hanken Grotesk",system-ui,-apple-system,sans-serif;--mono:"JetBrains Mono",ui-monospace,monospace}:root[data-theme=dark]{--bg:#0d0f13;--surface:#161a21;--surface-2:#1b1f27;--inset:#12151b;--border:rgba(255,255,255,0.08);--border-2:rgba(255,255,255,0.15);--text:#eceef2;--text-2:#a2a6b0;--text-3:#6d707a;--accent:#6f93ff;--accent-2:#1b2333;--good:#3fbe80;--good-2:#13251c;--bad:#e26a6a;--bad-2:#2a1618;--mid:#3b404b;--violet:#9d86f0;--teal:#45c2b6;--warn:#e0a94a;--warn-2:#2a2214}*{box-sizing:border-box}body,html{height:100%}::-webkit-scrollbar{height:10px;width:10px}::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:6px}body{margin:0;background:#e9e9e6;color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{opacity:.8}.m-label{display:block;font-size:12px;font-weight:600;color:var(--text-2);margin-bottom:7px}.m-input{width:100%;padding:11px 13px;border:1px solid var(--border-2);background:var(--surface-2);border-radius:10px;font-size:13.5px;color:var(--text);outline:none;font-family:var(--sans)}.m-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-2);background:var(--surface)}.m-input.error{border-color:var(--bad);box-shadow:0 0 0 3px var(--bad-2);background:var(--surface)}.m-input:disabled{background:var(--inset);color:var(--text-2);border-color:var(--border)}.m-btn{width:100%;padding:12px;border:none;background:var(--accent);color:#fff;border-radius:10px;cursor:pointer;font-family:var(--sans);font-size:14px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:9px}.m-btn:hover{background:var(--accent-3)}.m-btn:disabled{opacity:.85;cursor:default}.m-btn-ghost{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:11px;border:1px solid var(--border-2);background:var(--surface);border-radius:10px;cursor:pointer;font-family:var(--sans);font-size:13.5px;font-weight:600;color:var(--text)}.m-btn-ghost:hover{background:var(--inset)}.m-btn-ghost:disabled{opacity:.7;cursor:default}@keyframes spin{to{transform:rotate(1turn)}}.spin{animation:spin .7s linear infinite}.spin-slow{animation:spin 4s linear infinite}