:root {
  --bg: #f6f6f3; --panel: #fff; --line: #d9d7cf; --ink: #1c1c1a; --muted: #6d6b64; --accent: #2f6fde; --bad: #c4473b;
  color-scheme: light;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --bg: #121315; --panel: #1a1b1e; --line: #3a3d44; --ink: #e8e7e3; --muted: #9b998f; --accent: #78a6ff; --bad: #ee7468;
    color-scheme: dark;
  }
}
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; display: grid; place-items: center; background: var(--bg); color: var(--ink); font: 15px/1.45 system-ui, -apple-system, "Segoe UI", sans-serif; padding: 16px; }
form { width: min(360px, 100%); background: var(--panel); border: 1px solid var(--line); border-radius: 12px; padding: 24px; display: grid; gap: 14px; }
h1 { margin: 0 0 4px; font-size: 18px; display: flex; align-items: center; gap: 10px; }
label { display: grid; gap: 5px; font-size: 13px; color: var(--muted); font-weight: 600; }
input { font: inherit; padding: 9px 11px; border: 1px solid var(--line); border-radius: 8px; background: var(--bg); color: var(--ink); }
input:focus { outline: 2px solid var(--accent); outline-offset: -1px; }
button { font: inherit; font-weight: 600; padding: 10px; border: 0; border-radius: 8px; background: var(--accent); color: #fff; cursor: pointer; }
.error { margin: 0; color: var(--bad); font-size: 14px; }
