:root{color-scheme:light dark;--bg:#f6f5f2;--fg:#17161a;--muted:#6b6873;--card:#fff;--border:#e3e1dc;--accent:#2f6df6;--danger:#c2410c}
@media (prefers-color-scheme:dark){:root{--bg:#121115;--fg:#ecebef;--muted:#9a97a3;--card:#1b1a20;--border:#2c2a33;--accent:#6b9bff;--danger:#fb923c}}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;display:grid;place-items:center;background:var(--bg);color:var(--fg);font:15px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;padding:24px}
main{width:100%;max-width:360px;background:var(--card);border:1px solid var(--border);border-radius:14px;padding:28px 26px}
h1{font-size:18px;margin:0 0 4px;letter-spacing:-.01em}
p{margin:0 0 18px;color:var(--muted);font-size:13.5px}
label{display:block;font-size:12.5px;font-weight:600;margin:12px 0 5px}
input{width:100%;font:inherit;padding:9px 11px;border-radius:8px;border:1px solid var(--border);background:transparent;color:inherit}
input:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:transparent}
button{width:100%;margin-top:18px;font:inherit;font-weight:600;padding:10px;border-radius:8px;border:0;background:var(--accent);color:#fff;cursor:pointer}
button.secondary{background:transparent;color:var(--fg);border:1px solid var(--border);margin-top:8px}
button:disabled{opacity:.6;cursor:default}
.row{display:flex;justify-content:space-between;align-items:center;margin-top:14px;font-size:12.5px}
a{color:var(--accent);text-decoration:none}
.msg{margin-top:14px;font-size:13px;min-height:1em}
.msg.err{color:var(--danger)}
.code{font-family:ui-monospace,monospace;font-size:20px;letter-spacing:.12em;text-align:center;padding:10px;border:1px dashed var(--border);border-radius:8px;margin:8px 0 4px}
