/* Shared tokens. The tablet viewer keeps one calm light look on purpose; admin pages follow the system theme. */
@font-face {
  font-family: "Atkinson Hyperlegible";
  src: url("/fonts/AtkinsonHyperlegible-Regular.ttf") format("truetype");
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: "Atkinson Hyperlegible";
  src: url("/fonts/AtkinsonHyperlegible-Bold.ttf") format("truetype");
  font-weight: 700;
  font-display: swap;
}

:root {
  --bg: #eef1ee;
  --surface: #ffffff;
  --ink: #1d2622;
  --muted: #56635d;
  --accent: #2f6b55;
  --accent-ink: #ffffff;
  --accent-soft: #dcebe4;
  --line: #d3dad5;
  --warn: #9a3b1e;
  --book: #fbfaf6;
  --font: "Atkinson Hyperlegible", "Segoe UI", system-ui, sans-serif;
}

* { box-sizing: border-box; }
html, body { margin: 0; height: 100%; }
body { background: var(--bg); color: var(--ink); font-family: var(--font); font-size: 16px; line-height: 1.45; }
button, input, textarea, select { font: inherit; color: inherit; }
button { cursor: pointer; }
button:disabled { cursor: default; opacity: 0.4; }
:focus-visible { outline: 3px solid var(--warn); outline-offset: 2px; }
[hidden] { display: none !important; }
