:root { color-scheme: light dark; --bg: #fafafa; --fg: #111; --muted: #666; }
@media (prefers-color-scheme: dark) {
  :root { --bg: #111; --fg: #fafafa; --muted: #999; }
}
html, body { margin: 0; }
body {
  font-family: system-ui, -apple-system, sans-serif;
  background: var(--bg);
  color: var(--fg);
  line-height: 1.5;
}

/* Home: one centred block. */
body.home { min-height: 100vh; display: grid; place-items: center; }
.home main { text-align: center; padding: 0 16px; }
.home h1 { font-size: clamp(2rem, 8vw, 4rem); margin: 0; letter-spacing: -0.02em; line-height: 1.1; }
.home p { color: var(--muted); }
.home footer { position: fixed; bottom: 16px; left: 0; right: 0; }

/* Legal pages: a readable column. */
.page main { max-width: 680px; margin: 0 auto; padding: 48px 16px 96px; }
.page h1 { letter-spacing: -0.02em; }
.page h2 { margin-top: 2em; font-size: 1.2rem; }
.page a { color: inherit; }
.back { display: inline-block; margin-bottom: 24px; color: var(--muted); }
.todo { background: #fff3c4; color: #5c4400; padding: 0 4px; border-radius: 4px; }
.page footer { padding: 0 16px 32px; }

footer { text-align: center; font-size: 0.8rem; }
footer a { color: inherit; opacity: 0.5; margin: 0 6px; }

#consent {
  position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 1;
  box-sizing: border-box; max-width: 480px; margin: 0 auto; padding: 16px;
  background: #fff; color: #111; border: 1px solid #ddd; border-radius: 12px;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.12); font-size: 0.9rem;
}
#consent[hidden] { display: none; }
#consent p { margin: 0 0 12px; color: inherit; }
#consent a { color: inherit; }
#consent button {
  font: inherit; padding: 8px 16px; border-radius: 8px; cursor: pointer;
  border: 1px solid #111; background: #111; color: #fff;
}
#consent button[data-consent=decline] { background: transparent; color: #111; }
@media (prefers-color-scheme: dark) {
  #consent { background: #1c1c1c; color: #fafafa; border-color: #333; }
  #consent button { border-color: #fafafa; background: #fafafa; color: #111; }
  #consent button[data-consent=decline] { background: transparent; color: #fafafa; }
}
