:root{--bg: #0b0f14;--card: #141a22;--line: #222c38;--fg: #e8edf3;--dim: #8b98a8;--ok: #34d399;--warn: #fbbf24;--bad: #f87171;--bridge: #a78bfa;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--fg);font:16px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}main.auth{max-width:400px;margin:0 auto;padding:48px 20px 64px}main.auth h1{font-size:28px;margin:0 0 4px;letter-spacing:-.02em}main.auth .dim{color:var(--dim);margin:0 0 24px}form{display:grid;gap:16px;margin:0 0 12px}label{display:grid;gap:6px;color:var(--dim);font-size:14px}input:not([type=radio]){font:inherit;font-size:18px;color:var(--fg);background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 14px;width:100%}input:focus{outline:2px solid var(--bridge);outline-offset:1px}input[inputmode=numeric]{letter-spacing:.3em;font-variant-numeric:tabular-nums}fieldset{border:1px solid var(--line);border-radius:12px;padding:8px 14px 12px;margin:0;display:flex;gap:20px}legend{color:var(--dim);font-size:14px;padding:0 4px}label.radio{display:flex;align-items:center;gap:8px;color:var(--fg);font-size:16px}button{font:inherit;font-weight:600;color:#0b0f14;background:var(--fg);border:none;border-radius:12px;padding:13px 16px;cursor:pointer}button.link{background:none;color:var(--dim);font-weight:400;padding:8px 0;text-decoration:underline}.err{color:var(--bad);margin:0;font-size:14px}
