:root {
  --bg: #f6f7f9; --card: #fff; --text: #1b1f24; --muted: #5b6672; --line: #d8dde3;
  --accent: #2557d6; --accent-text: #fff; --err-bg: #fdecea; --err: #a61b12;
}
@media (prefers-color-scheme: dark) {
  :root { --bg: #0f1216; --card: #171b21; --text: #e6e9ed; --muted: #97a1ac; --line: #2a313a;
    --accent: #6c97ff; --accent-text: #0b1020; --err-bg: #3a1714; --err: #ff9c92; }
}
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; display: grid; place-items: center; padding: 16px;
  background: var(--bg); color: var(--text); font: 16px/1.5 system-ui, -apple-system, "Segoe UI", sans-serif; }
main { width: 100%; max-width: 360px; background: var(--card); border: 1px solid var(--line); border-radius: 12px; padding: 28px 24px; }
h1 { margin: 0 0 4px; font-size: 1.5rem; }
.sub { margin: 0 0 20px; color: var(--muted); }
label { display: block; margin-bottom: 14px; font-size: .9rem; color: var(--muted); }
input { display: block; width: 100%; margin-top: 4px; padding: 10px 12px; font: inherit; color: var(--text);
  background: var(--bg); border: 1px solid var(--line); border-radius: 8px; }
input:focus-visible, button:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
button { width: 100%; padding: 11px; font: inherit; font-weight: 600; cursor: pointer; color: var(--accent-text);
  background: var(--accent); border: 0; border-radius: 8px; }
.error { margin: 0 0 14px; padding: 10px 12px; border-radius: 8px; background: var(--err-bg); color: var(--err); font-size: .9rem; }
