:root { --bg: #f6f7f9; --card: #ffffff; --fg: #1b1f24; --muted: #5b6573; --line: #d5dae1;
        --accent: #2f5bd3; --accent-fg: #ffffff; --bad: #b42318; color-scheme: light dark; }
@media (prefers-color-scheme: dark) {
  :root { --bg: #111418; --card: #1a1f25; --fg: #e6e9ee; --muted: #9aa4b2; --line: #2e3640;
          --accent: #7aa2ff; --accent-fg: #0b1020; --bad: #ff8a80; }
}
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; display: grid; place-items: center; background: var(--bg);
       color: var(--fg); font: 16px/1.5 system-ui, -apple-system, "Segoe UI", sans-serif; padding: 16px; }
form { width: min(360px, 100%); background: var(--card); border: 1px solid var(--line); border-radius: 12px;
       padding: 28px 24px; display: flex; flex-direction: column; gap: 10px; }
h1 { font-size: 1.25rem; margin: 0 0 8px; }
label { font-size: .9rem; color: var(--muted); }
input { font: inherit; padding: 10px 12px; border-radius: 8px; border: 1px solid var(--line);
        background: var(--bg); color: var(--fg); }
input:focus { outline: 2px solid var(--accent); outline-offset: 1px; }
button { font: inherit; font-weight: 600; margin-top: 6px; padding: 10px 12px; border: 0; border-radius: 8px;
         background: var(--accent); color: var(--accent-fg); cursor: pointer; }
.msg { color: var(--bad); margin: 0; font-size: .9rem; }
