:root { --bg: #FBFAF7; --ink: #20262B; --muted: #4F585E; --tone: #EFEDE7; --line: #7C8388; --alert: #A3261B; }
@media (prefers-color-scheme: dark) { :root { --bg: #171B1F; --ink: #F1EFE9; --muted: #B6BDC2; --tone: #20262B; --line: #7C8388; --alert: #FF9B8F; } }
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; min-height: 100dvh; display: grid; place-items: center; padding: 16px; background: var(--bg); color: var(--ink); font: 17px/1.5 "Nunito Sans", system-ui, -apple-system, "Segoe UI", sans-serif; }
.card { width: 100%; max-width: 380px; background: var(--tone); border-radius: 16px; padding: 28px 24px; }
.mark { margin: 0 0 12px; font-weight: 800; letter-spacing: .02em; }
h1 { margin: 0 0 4px; font-size: 1.6rem; line-height: 1.2; }
.lead { margin: 0 0 20px; color: var(--muted); }
.msg { margin: 0 0 16px; padding: 10px 12px; border: 2px solid var(--alert); border-radius: 10px; color: var(--alert); font-weight: 700; }
label { display: block; margin-bottom: 6px; font-weight: 700; }
input { width: 100%; padding: 12px; font: inherit; color: var(--ink); background: var(--bg); border: 2px solid var(--line); border-radius: 10px; }
input:focus-visible, button:focus-visible { outline: 3px solid var(--ink); outline-offset: 2px; }
button { width: 100%; margin-top: 16px; padding: 12px; font: inherit; font-weight: 800; color: var(--bg); background: var(--ink); border: 0; border-radius: 999px; cursor: pointer; }
