/* Design tokens — single source of truth for the palette (hand-authored).
   Dual theme: light = modus-operandi-tinted (default + prefers-color-scheme
   light), dark = modus-vivendi-tinted. The explicit [data-theme] overrides
   win over the media query when the reader has toggled. Contrast is enforced
   by the --vet-a11y build invariant. */

:root {
  /* non-color */
  --serif: Charter, "Bitstream Charter", "Sitka Text", Cambria, "PT Serif", Georgia, serif;
  --mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;
  --text-w: 34rem;
  --note-w: 14.5rem;
  --gap: 2.5rem;
  --gutter: calc(var(--note-w) + var(--gap));
  --leading: 1.62;
  --space-1: 0.5rem;
  --space-2: 1rem;
  --space-3: 2rem;

  /* light — modus-operandi-tinted (default) */
  --bg: #fbf7f0;
  --bg-alt: #f0ead9;
  --code-bg: #f2ecdc;
  --fg: #12100a;
  --fg-muted: #585043;
  --border: #ddd3bf;
  --link: #3548cf;
  --accent: #8b3103;
  --marker: #a4145a;
  --k: #5317ac;
  --s: #2f5f00;
  --f: #0031a9;
  --c: #6e6754;
  --n: #8b3103;
  --t: #005e8b;
}

/* no-JS dark: honour the OS setting */
@media (prefers-color-scheme: dark) {
  :root {
    --bg: #0d0e1c;
    --bg-alt: #1a1c2e;
    --code-bg: #16182a;
    --fg: #f4f4f6;
    --fg-muted: #9aa0b4;
    --border: #2a2d44;
    --link: #79a8ff;
    --accent: #f5a97f;
    --marker: #feacd0;
    --k: #b6a0ff;
    --s: #6ae4b9;
    --f: #79a8ff;
    --c: #8a8fa8;
    --n: #f5a97f;
    --t: #00d3d0;
  }
}

/* explicit reader override — wins over the media query */
:root[data-theme="light"] {
  --bg: #fbf7f0;
  --bg-alt: #f0ead9;
  --code-bg: #f2ecdc;
  --fg: #12100a;
  --fg-muted: #585043;
  --border: #ddd3bf;
  --link: #3548cf;
  --accent: #8b3103;
  --marker: #a4145a;
  --k: #5317ac;
  --s: #2f5f00;
  --f: #0031a9;
  --c: #6e6754;
  --n: #8b3103;
  --t: #005e8b;
}

:root[data-theme="dark"] {
  --bg: #0d0e1c;
  --bg-alt: #1a1c2e;
  --code-bg: #16182a;
  --fg: #f4f4f6;
  --fg-muted: #9aa0b4;
  --border: #2a2d44;
  --link: #79a8ff;
  --accent: #f5a97f;
  --marker: #feacd0;
  --k: #b6a0ff;
  --s: #6ae4b9;
  --f: #79a8ff;
  --c: #8a8fa8;
  --n: #f5a97f;
  --t: #00d3d0;
}
