/* Old-school paper tokens (warm, slightly off colors, WCAG-minded contrast), reset and base type. */
@font-face { font-family: "Patrick Hand"; font-display: swap; src: url(../fonts/patrick-hand.woff2) format("woff2"); }
:root {
  --bg: #d8e0c6; --card: #e8eed8; --line: #2f3a26; --ink: #232b1c; --mute: #4d5a40; --acc: #4f7a34; --on: #f1f6e4;
}
[data-theme="dark"] {
  --bg: #161b15; --card: #1f271e; --line: #5f7a58; --ink: #d8e6cc; --mute: #93a78a; --acc: #8fc06a; --on: #141a12;
}

* { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
html { font-synthesis: none; -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0; color: var(--ink); background: var(--bg);
  font: 18px/1.4 "Patrick Hand", ui-rounded, "Segoe UI", "Trebuchet MS", sans-serif;
  letter-spacing: .015em; -webkit-font-smoothing: antialiased;
}
h1, h2, p, ul { margin: 0; padding: 0; }
ul { list-style: none; }
a { color: var(--acc); }
button, select, input { font: inherit; color: inherit; }
button { cursor: pointer; border: 0; background: none; touch-action: manipulation; }
:focus-visible { outline: 3px solid var(--acc); outline-offset: 2px; }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

@media (prefers-reduced-motion: reduce) {
  * { animation: none !important; transition: none !important; }
}
