/* nullkit tokens: the shared design vocabulary. Link this BEFORE the site's own CSS;
   a site overrides any token by redeclaring it in its own :root (e.g. a brand --accent).
   Dark mode is the `theme-dark` class on <body> (stored as localStorage "theme").

   Contract: tokens are only ever added, never renamed or removed within a major version,
   so kit components and site CSS can both rely on them. */
:root {
  /* colour */
  --bg: #ffffff;
  --ink: #121212;
  --muted: #6a6a6a;
  --line: #b7b7b7;
  --accent: #c1121f;
  --card: #ffffff;
  --ok: #1f7a4d;
  --warn: #b7791f;
  --down: var(--accent);

  /* type */
  --serif: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", "Georgia", "Times New Roman", serif;
  --header-serif: "Garamond", "Baskerville", "Didot", "Times New Roman", serif;
  --mono: "SF Mono", "Menlo", "Consolas", "Liberation Mono", "Courier New", monospace;

  /* shape / app-shell metrics */
  --corner: 14px;
  --header-h: 60px;
  --sidebar-w: 190px;
  --sidebar-w-collapsed: 64px;
}

body.theme-dark {
  --bg: #121212;
  --ink: #f5f5f5;
  --muted: #b0b0b0;
  --line: #3f3f3f;
  --card: #1a1a1a;
  --ok: #4caf7f;
  --warn: #e0a13a;
}
