@font-face{font-family:Outfit;src:url("/assets/fonts/Outfit.woff2") format("woff2");font-weight:100 900;font-display:swap}
:root{color-scheme:light;--bg:#faf8fc;--card:#ffffff;--fg:#30223f;--muted:#786d83;--border:#e9dfee;--field:#ffffff;--primary:#30223f;--primary-fg:#ffffff;--danger:#b4234a;--ok:#1f7a55;--focus:#9b81ff;--facet-a:#f3ecff;--facet-b:#fdeef4;--facet-c:#eaf4ff}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){color-scheme:dark;--bg:#141019;--card:#1d1724;--fg:#f1ebf7;--muted:#a99db6;--border:#33293d;--field:#171220;--primary:#f1ebf7;--primary-fg:#1d1724;--danger:#ff7a9a;--ok:#6fd3a5;--facet-a:#231a33;--facet-b:#2a1823;--facet-c:#16202d}}
:root[data-theme="dark"]{color-scheme:dark;--bg:#141019;--card:#1d1724;--fg:#f1ebf7;--muted:#a99db6;--border:#33293d;--field:#171220;--primary:#f1ebf7;--primary-fg:#1d1724;--danger:#ff7a9a;--ok:#6fd3a5;--facet-a:#231a33;--facet-b:#2a1823;--facet-c:#16202d}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%}
body{background:var(--bg);background-image:linear-gradient(135deg,var(--facet-a) 0 33%,transparent 33%),linear-gradient(225deg,var(--facet-b) 0 22%,transparent 22%),linear-gradient(15deg,var(--facet-c) 0 18%,transparent 18%);background-attachment:fixed;color:var(--fg);font:15px/1.5 Outfit,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;display:flex;align-items:center;justify-content:center;padding:32px 16px}
main{width:100%;max-width:400px}
.card{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:28px;box-shadow:0 18px 50px -30px rgba(48,34,63,.45)}
.brand{display:flex;align-items:center;gap:10px;font-weight:650;letter-spacing:-.3px;font-size:17px;margin-bottom:22px}
.brand img{width:30px;height:30px}
h1{font-size:24px;line-height:1.2;letter-spacing:-.6px;margin:0 0 6px;font-weight:650}
.lead{color:var(--muted);margin:0 0 22px;font-size:14px}
.stack{display:grid;gap:10px}
button,input{font:inherit}
.btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:44px;border-radius:11px;border:1px solid var(--border);background:var(--field);color:var(--fg);font-weight:550;cursor:pointer;padding:0 14px}
.btn:hover{border-color:var(--muted)}
.btn img,.btn svg{width:18px;height:18px}
.btn.primary{background:var(--primary);color:var(--primary-fg);border-color:var(--primary)}
.btn.apple img{filter:none}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .btn.apple img{filter:invert(1)}}
:root[data-theme="dark"] .btn.apple img{filter:invert(1)}
.btn[disabled]{opacity:.6;cursor:progress}
.divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:12px;margin:18px 0}
.divider::before,.divider::after{content:"";flex:1;height:1px;background:var(--border)}
label{display:grid;gap:6px;font-size:13px;font-weight:550}
label small{font-weight:400;color:var(--muted)}
input{width:100%;min-height:44px;border-radius:11px;border:1px solid var(--border);background:var(--field);color:var(--fg);padding:0 13px}
input:focus-visible,.btn:focus-visible,a:focus-visible,.link:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.row{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:13px;margin-top:4px}
a,.link{color:var(--fg);text-decoration:underline;text-underline-offset:3px;background:none;border:0;padding:0;cursor:pointer;font-size:13px}
.muted{color:var(--muted)}
.msg{font-size:13px;border-radius:10px;padding:10px 12px;margin:0 0 14px}
.msg.error{color:var(--danger);border:1px solid color-mix(in srgb,var(--danger) 35%,transparent)}
.msg.ok{color:var(--ok);border:1px solid color-mix(in srgb,var(--ok) 35%,transparent)}
.code{font:600 28px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.18em;text-align:center;padding:18px;border:1px dashed var(--border);border-radius:12px;margin:0 0 18px}
.foot{margin-top:18px;text-align:center;font-size:12px;color:var(--muted)}
.foot a{font-size:12px;color:var(--muted)}
[hidden]{display:none!important}
