/* Shared by every page; #111/#112 replace page bodies, not this file. */
:root {
  color-scheme: light dark;
  --bg: #fcfcfa;
  --fg: #1a1c1e;
  --muted: #5c6166;
  --accent: #0a7d5c;
  --rule: #e4e2dd;
}
@media (prefers-color-scheme: dark) {
  :root { --bg: #131517; --fg: #e8e6e1; --muted: #9aa0a6; --accent: #3fbf94; --rule: #2a2d30; }
}
body {
  margin: 0;
  background: var(--bg);
  color: var(--fg);
  font: 17px/1.6 -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
}
/* index/404: single card centered in the viewport */
body.centered { display: grid; min-height: 100svh; place-items: center; }
main { max-width: 34rem; padding: 3rem 1.5rem; }
body.document main { max-width: 40rem; margin: 0 auto; }
h1 { font-size: 1.6rem; letter-spacing: -0.02em; margin: 0 0 1rem; }
body.centered h1 { font-size: 2rem; margin-bottom: 0.75rem; }
p { margin: 0 0 1rem; }
.muted { color: var(--muted); }
a { color: var(--accent); text-decoration: none; }
a:hover { text-decoration: underline; }
nav.crumb { margin-bottom: 2rem; font-size: 0.9rem; }
nav.crumb a { color: var(--muted); }
footer {
  margin-top: 2.5rem; padding-top: 1.25rem;
  border-top: 1px solid var(--rule);
  font-size: 0.9rem; color: var(--muted);
}
footer a { color: inherit; }
footer nav { display: flex; gap: 1.25rem; flex-wrap: wrap; }
