:root { color-scheme:dark; --background:#101214; --surface:#1a1d21; --border:#626b75; --text:#f2f3f4; --muted:#a2a9b2; --accent:#f46b86; }
* { box-sizing:border-box; }
body { margin:0; min-height:100vh; background:var(--background); color:var(--text); font:16px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; scrollbar-color:var(--border) var(--background); }
header { max-width:1120px; margin:auto; padding:24px 20px; font-weight:650; }
header span { color:var(--muted); font-weight:400; }
main { width:min(100% - 40px, 420px); margin:clamp(40px, 12vh, 130px) auto 40px; }
h1 { margin:0 0 12px; font-size:28px; line-height:1.2; font-weight:650; letter-spacing:-.03em; text-wrap:balance; }
p { margin:0; color:var(--muted); }
form { margin-top:32px; }
label { display:block; margin-bottom:8px; font-weight:600; }
input[type=password] { width:100%; min-height:48px; padding:12px; border:1px solid var(--border); border-radius:9px; background:var(--surface); color:var(--text); font:inherit; caret-color:var(--accent); }
input:focus-visible, button:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
button { width:100%; min-height:48px; margin-top:20px; padding:12px 18px; border:0; border-radius:9px; background:var(--accent); color:#291018; font:600 16px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; cursor:pointer; touch-action:manipulation; }
button:hover { background:#ff8ba0; }
button:active { background:#e65b76; }
.error { margin-top:12px; color:#ff9bb0; }
.footnote { margin-top:24px; font-size:14px; }
::selection { background:#80354c; color:#fff; }
@media(max-width:400px) { h1 { font-size:26px; } }
