:root {
  color-scheme: light dark;
  --bg: #f6f5f2;
  --fg: #1b1b1b;
  --muted: #545454;
  --border: #d4d2cc;
  --surface: #ffffff;
  --accent: #8c1d18;
  --danger: #b3261e;
  --danger-fg: #ffffff;
}
@media (prefers-color-scheme: dark) {
  :root {
    --bg: #131313;
    --fg: #ececec;
    --muted: #b3b3b3;
    --border: #3a3a3a;
    --surface: #1d1d1d;
    --accent: #f0a29c;
    --danger: #f2b8b5;
    --danger-fg: #3c0d0a;
  }
}
* { box-sizing: border-box; }
[hidden] { display: none !important; }
body { margin: 0; background: var(--bg); color: var(--fg); font: 1.05rem/1.55 system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif; }
main { max-width: 36rem; margin: 0 auto; padding: 2rem 1rem 3rem; }
h1 { font-size: 1.8rem; line-height: 1.2; margin: 0 0 0.25rem; }
.app { color: var(--muted); margin: 0 0 1.5rem; }
section { background: var(--surface); border: 1px solid var(--border); border-radius: 12px; padding: 1.25rem; margin: 0 0 1rem; }
h2 { font-size: 1.25rem; margin: 0 0 0.5rem; }
h2:focus { outline: none; }
p { margin: 0 0 0.75rem; }
.muted { color: var(--muted); }
a { color: var(--accent); }
label { display: block; font-weight: 600; margin: 0.75rem 0 0.3rem; }
.check { display: flex; gap: 0.6rem; align-items: center; min-height: 44px; margin: 0.25rem 0; }
.check input { width: 1.3rem; height: 1.3rem; margin: 0; }
input[type='email'], input[type='password'] { width: 100%; min-height: 44px; padding: 0.5rem 0.75rem; font: inherit; color: inherit; background: var(--bg); border: 1px solid var(--border); border-radius: 8px; }
input:focus-visible, button:focus-visible, a:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; }
button { min-height: 44px; margin-top: 1rem; padding: 0.5rem 1.1rem; font: inherit; font-weight: 600; color: var(--danger-fg); background: var(--danger); border: 1px solid var(--danger); border-radius: 8px; cursor: pointer; }
button:disabled { opacity: 0.5; cursor: default; }
.error { color: var(--danger); font-weight: 600; margin: 1rem 0 0; }
.google { margin-top: 1.25rem; padding-top: 1.25rem; border-top: 1px solid var(--border); }
#google-button { min-height: 44px; }
footer { color: var(--muted); font-size: 0.95rem; text-align: center; margin-top: 1.5rem; }
footer a { display: inline-block; margin: 0 0.5rem; }
