:root { color-scheme: light dark; --bg: #f5f5f7; --card: #fff; --text: #1d1d1f; --muted: #6e6e73;
  --accent: #0071e3; --line: #d2d2d7; --err: #c4302b; }
@media (prefers-color-scheme: dark) {
  :root { --bg: #1c1c1e; --card: #2c2c2e; --text: #f5f5f7; --muted: #a1a1a6; --accent: #0a84ff; --line: #3a3a3c;
    --err: #ff6961; }
}
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 16px;
  background: var(--bg); color: var(--text); font: 16px/1.45 -apple-system, BlinkMacSystemFont, "Segoe UI",
  Roboto, Helvetica, Arial, sans-serif; }
main { width: 100%; max-width: 380px; background: var(--card); border: 1px solid var(--line); border-radius: 14px;
  padding: 28px 24px; }
h1 { margin: 0 0 6px; font-size: 22px; font-weight: 600; }
p { margin: 0 0 18px; color: var(--muted); }
p.err { color: var(--err); }
label { display: block; font-size: 14px; margin-bottom: 6px; }
input[type=email], input[type=text] { width: 100%; font: inherit; padding: 10px 12px; border-radius: 8px;
  border: 1px solid var(--line); background: var(--bg); color: var(--text); margin-bottom: 16px; }
input.code { letter-spacing: 0.25em; font-variant-numeric: tabular-nums; }
button { width: 100%; font: inherit; font-weight: 600; padding: 10px 12px; border: 0; border-radius: 8px;
  background: var(--accent); color: #fff; cursor: pointer; }
a { color: var(--accent); }
.alt { margin: 16px 0 0; font-size: 14px; text-align: center; }
