:root{color-scheme:dark;--bg: #000;--surface: #121212;--surface-2: #1a1a1a;--surface-3: #2a2a2a;--hover: rgb(255 255 255 / .07);--border: rgb(255 255 255 / .1);--text: #f3f4f6;--muted: #a7a7a7;--accent: #7cdfb0;--accent-ink: #0b2a1d;--danger: #ff7a7a}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--text);overflow:hidden}body{font:15px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none}input,textarea{-webkit-user-select:text;user-select:text}h1{font-size:22px;margin:0 0 8px}p{margin:0 0 12px}a{color:inherit}.muted{color:var(--muted)}.accent{color:var(--accent)}.error-text{color:var(--danger)}input:not([type=range]):not([type=file]){font:inherit;color:var(--text);background:var(--surface-3);border:1px solid transparent;border-radius:6px;padding:10px 12px;outline:none}input:not([type=range]):focus{border-color:var(--muted)}input:disabled{opacity:.6}.btn{font:inherit;font-weight:700;cursor:pointer;padding:10px 22px;border-radius:24px;border:1px solid var(--muted);background:transparent;color:var(--text);white-space:nowrap;transition:transform .1s}.btn:hover:not(:disabled){transform:scale(1.03);border-color:var(--text)}.btn:disabled{opacity:.5;cursor:default}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:transparent}.btn.wide{width:100%}.icon-btn{display:inline-grid;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:50%;background:none;color:var(--muted);cursor:pointer;text-decoration:none}.icon-btn:hover:not(:disabled){color:var(--text)}.icon-btn.round{width:36px;height:36px;background:var(--surface-2);color:var(--text)}.pill{display:inline-flex;align-items:center;gap:6px;border:0;border-radius:16px;padding:6px 14px;background:var(--surface-3);color:var(--text);font:inherit;font-size:14px;font-weight:600;cursor:pointer}.pill:hover{background:#3a3a3a}.slider{appearance:none;height:4px;border-radius:2px;cursor:pointer;margin:0;background:linear-gradient(to right,var(--text) var(--p, 0%),#4d4d4d var(--p, 0%))}.slider:hover{background:linear-gradient(to right,var(--accent) var(--p, 0%),#4d4d4d var(--p, 0%))}.slider::-webkit-slider-thumb{appearance:none;width:12px;height:12px;border-radius:50%;background:#fff;opacity:0}.slider:hover::-webkit-slider-thumb{opacity:1}::-webkit-scrollbar{width:12px}::-webkit-scrollbar-thumb{background:#fff3;border:3px solid transparent;background-clip:padding-box;border-radius:6px}::-webkit-scrollbar-track{background:transparent}.center-screen{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:16px;overflow-y:auto}.card{width:100%;max-width:380px;padding:28px;background:var(--surface);border:1px solid var(--border);border-radius:12px}.progress{height:4px;border-radius:2px;background:var(--surface-3);overflow:hidden}.progress div{height:100%;background:var(--accent);transition:width .2s}.progress div.indeterminate{animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{50%{opacity:.35}}.spinner{width:28px;height:28px;border:3px solid var(--surface-3);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
