:root {
  color-scheme: dark;
  --color-surface: #181819;
  --color-panel: #212223;
  --color-line: #3b3c3d;
  --color-ink: #f4f5f6;
  --color-ink-muted: #a4a5a6;
  --color-accent: #79b0dc;
  --color-accent-ink: #08121f;
  --color-danger: #ff6467;
  font-family: "Segoe UI", system-ui, sans-serif;
  background: var(--color-surface);
  color: var(--color-ink);
}
* { box-sizing: border-box; }
body { min-height: 100dvh; display: grid; place-items: center; margin: 0; padding: 24px; }
.card { width: 100%; max-width: 400px; padding: 32px; border: 1px solid var(--color-line); border-radius: 12px; background: var(--color-panel); }
.wordmark { display: inline-block; margin-bottom: 28px; color: var(--color-ink); font-size: 22px; font-weight: 650; text-decoration: none; letter-spacing: -.04em; }
.wordmark span { color: var(--color-accent); }
h1 { margin: 0 0 12px; font-size: 24px; }
p { margin: 0 0 24px; color: var(--color-ink-muted); font-size: 14px; line-height: 1.6; }
form { display: grid; gap: 16px; }
label { display: grid; gap: 8px; font-size: 13px; font-weight: 600; }
input { width: 100%; min-height: 44px; padding: 10px 12px; border: 1px solid var(--color-line); border-radius: 6px; color: var(--color-ink); background: var(--color-surface); font: inherit; }
.button { display: block; min-height: 44px; padding: 12px 16px; border: 0; border-radius: 6px; color: var(--color-accent-ink); background: var(--color-accent); font: inherit; font-size: 14px; font-weight: 600; text-align: center; text-decoration: none; cursor: pointer; }
.secondary { margin-top: 16px; background: transparent; color: var(--color-ink-muted); }
.error { color: var(--color-danger); }
:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 3px; }
@media (max-width: 480px) { body { padding: 16px; } .card { padding: 24px; } }
