html{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--background);color-scheme:light}
html[data-theme=dark]{color-scheme:dark}
body{margin:0;min-height:100dvh;display:grid;place-items:center;padding:28px;background:var(--background);color:var(--ink)}
.card{width:min(100%,440px);padding:36px;background:var(--surface);border:1px solid var(--border);border-radius:24px;box-shadow:var(--shadow-soft)}
.brand{gap:10px;font-size:17px;font-weight:650;letter-spacing:-.5px}.logo{width:34px;height:34px}.card h1{margin:32px 0 10px;font-size:30px;font-weight:650;letter-spacing:-1px;line-height:1.15}.card p{font-size:14px;line-height:1.7;color:var(--muted);margin-bottom:26px}
.card label{font-size:12px;font-weight:550;color:var(--muted);margin-top:18px}.card input{background:var(--surface);border:1px solid var(--border);border-radius:10px;min-height:48px;padding:12px 14px;color:var(--ink);font:inherit;font-size:16px}.card input:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.button{min-height:48px;border-radius:10px;font-size:14px;font-weight:550;border-color:var(--border);background:var(--surface);color:var(--ink)}.button.primary{background:var(--action-primary);color:white;border-color:var(--action-primary)}.button:hover{background:var(--hover)}.button.primary:hover{background:var(--action-hover)}.button:disabled{opacity:.55;cursor:wait}.button:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:11px;margin:24px 0}.divider:before,.divider:after{content:'';flex:1;border-top:1px solid var(--border)}.error{font-size:12px;color:var(--error);line-height:1.6}
@media(max-width:520px){body{padding:20px}.card{padding:26px 22px;box-shadow:none}.card h1{font-size:28px}.card p{font-size:13px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

[hidden]{display:none!important}.text-button{display:block;border:0;background:transparent;color:var(--action-primary);font:inherit;font-size:14px;padding:16px 0 0;cursor:pointer}.text-button:focus-visible{outline:3px solid var(--focus);outline-offset:3px}#recoveryMessage{margin-top:24px;line-height:1.7;color:var(--ink)}
