:root {
  --bg: #f7f2ea;
  --ink: #2b2620;
  --muted: #7a6f62;
  --accent: #b5573a;
  color-scheme: light dark;
}
@media (prefers-color-scheme: dark) {
  :root {
    --bg: #1d1a17;
    --ink: #efe8de;
    --muted: #a39887;
    --accent: #e08a6b;
  }
}
* { box-sizing: border-box; }
html, body { height: 100%; margin: 0; }
body {
  display: flex;
  flex-direction: column;
  background: var(--bg);
  color: var(--ink);
  font-family: Georgia, "Iowan Old Style", "Palatino Linotype", serif;
  -webkit-font-smoothing: antialiased;
}
main {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 2rem 1rem;
}
.mark { width: 64px; height: 64px; color: var(--accent); margin-bottom: 1.25rem; }
h1 {
  font-size: clamp(2.25rem, 7vw, 4rem);
  font-weight: 400;
  letter-spacing: -0.01em;
  margin: 0 0 0.75rem;
}
.welcome { font-size: 1.15rem; color: var(--muted); margin: 0; max-width: 32rem; line-height: 1.5; }
footer {
  text-align: center;
  padding: 1.5rem 1rem;
  font-size: 0.85rem;
  color: var(--muted);
  font-family: system-ui, sans-serif;
}
a { color: var(--accent); }

/* Text pages (privacy) */
main.prose {
  display: block;
  text-align: left;
  width: 100%;
  max-width: 40rem;
  margin: 0 auto;
  padding: 3rem 1rem 2rem;
  line-height: 1.6;
  font-size: 1.05rem;
}
.prose h1 { font-size: clamp(2rem, 6vw, 2.75rem); margin-bottom: 1.25rem; }
.prose h2 { font-size: 1.25rem; font-weight: 600; margin: 2rem 0 0.5rem; }
.prose p { margin: 0 0 1rem; }
.prose .back { font-family: system-ui, sans-serif; font-size: 0.9rem; margin-bottom: 2rem; }
.prose .back a, footer a { text-decoration: none; }
.prose .updated { color: var(--muted); font-size: 0.9rem; margin-top: 2.5rem; }
footer a { color: var(--muted); }
footer a:hover, .prose .back a:hover { color: var(--accent); }
