
:root { color-scheme: dark; --bg:#0f1420; --panel:#171e2d; --line:#2a3448; --text:#e6ebf5; --muted:#8d99b0; --accent:#5aa9ff; --err:#ff6b6b; --ok:#4cc38a; }
* { box-sizing: border-box; }
body { margin:0; background:var(--bg); color:var(--text); font:15px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; display:grid; place-items:center; min-height:100vh; }
main { width:min(440px, 92vw); background:var(--panel); border:1px solid var(--line); border-radius:14px; padding:28px 30px; }
h1 { font-size:22px; margin:0 0 16px; }
label { display:block; margin:14px 0 6px; font-weight:500; }
input { width:100%; font:inherit; color:var(--text); background:var(--bg); border:1px solid var(--line); border-radius:8px; padding:9px 11px; }
input:focus-visible, button:focus-visible, a:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
button { margin-top:18px; font:inherit; font-weight:600; background:var(--accent); color:#06203d; border:0; border-radius:8px; padding:9px 16px; cursor:pointer; }
button.ghost { background:transparent; color:var(--text); border:1px solid var(--line); }
button:disabled { opacity:.5; }
.row { display:flex; gap:10px; }
form.row > button { margin-top:0; }
a { color:var(--accent); }
.hint { color:var(--muted); font-size:13px; margin:6px 0 0; }
#message:empty { display:none; }
#message { border-radius:8px; padding:9px 12px; background:#1e2738; border:1px solid var(--line); }
#message.error { border-color:color-mix(in srgb, var(--err) 55%, transparent); background:color-mix(in srgb, var(--err) 12%, #1e2738); }
#message.ok { border-color:color-mix(in srgb, var(--ok) 55%, transparent); background:color-mix(in srgb, var(--ok) 12%, #1e2738); }
.dev { color:#e7b04b; font-size:13px; }
h2 { font-size:16px; margin:22px 0 8px; }
ul#passkeys { padding-left:18px; }
#passkey-signin { width:100%; margin:0 0 6px; }
