:root {
  --bg: #f7f7f5; --surface: #fff; --text: #1c1d1f; --muted: #5d6066; --line: #dedfe2;
  --accent: #1f4fd1; --accent-text: #fff; --error-bg: #fdecea; --error: #8a1c12; --notice: #fff7e0;
}
@media (prefers-color-scheme: dark) {
  :root {
    --bg: #141517; --surface: #1d1f22; --text: #ececee; --muted: #a2a5ab; --line: #34373c;
    --accent: #7ea0ff; --accent-text: #0d1426; --error-bg: #3a1a17; --error: #ffb4a8; --notice: #332a12;
  }
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--text);
  font: 16px/1.5 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; }
.top { display: flex; justify-content: space-between; align-items: center;
  padding: 14px 16px; border-bottom: 1px solid var(--line); background: var(--surface); }
.brand { font-weight: 600; color: var(--text); text-decoration: none; }
main { max-width: 34rem; margin: 0 auto; padding: 32px 16px 64px; }
h1 { font-size: 1.6rem; margin: 0 0 8px; }
h2 { font-size: 1.1rem; margin: 0 0 4px; }
.lead { color: var(--muted); margin-top: 0; }
a { color: var(--accent); }
.card { background: var(--surface); border: 1px solid var(--line); border-radius: 10px; padding: 20px; margin: 20px 0; }
.card.notice { background: var(--notice); }
label { display: block; margin-bottom: 14px; font-weight: 500; }
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; }
button, .button { display: inline-block; padding: 10px 18px; font: inherit; font-weight: 600; border: 0;
  border-radius: 8px; background: var(--accent); color: var(--accent-text); cursor: pointer; text-decoration: none; }
button.link { background: none; color: var(--accent); padding: 0; font-weight: 500; }
form.inline { margin: 0; }
.error { background: var(--error-bg); color: var(--error); padding: 10px 14px; border-radius: 8px; }
form.secondary { margin-top: 12px; }
