/* ============================================================================
   FOUNDRYSIDE — theme-ledger.css
   The "workshop ledger" theme: warm paper + warm ink for the human layer,
   serif prose, mono for every machine fact. Channels and warm state hues are
   NOT overridden — they are generated and measured by src/palette-check.mjs;
   warm-is-status still holds (paper is a neutral, not a status hue).

   Authored in the Claude Design project (Foundryside Design System,
   94c31a33-0ac2-45ba-bc94-2bbc65db65fa) and transcribed here. One change in
   transcription: IBM Plex Serif is bundled below as woff2 instead of linked
   from Google Fonts (the CSP is font-src 'self'; the design file flags the
   substitute itself). Every hex ships as authored.

   This file and ledger.css are an overlay. To revert to the stock instrument
   theme: remove their two <link> tags from src/layout.mjs, restore the Sans
   preload, and run npm run build. tokens.css is untouched either way.
   ============================================================================ */

/* ---- The essayist's face. Bundled like Sans and Mono, so the page still
   renders offline and makes no third-party requests. */
@font-face {
  font-family: "IBM Plex Serif";
  src: url("fonts/IBMPlexSerif-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "IBM Plex Serif";
  src: url("fonts/IBMPlexSerif-Italic.woff2") format("woff2");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "IBM Plex Serif";
  src: url("fonts/IBMPlexSerif-Medium.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "IBM Plex Serif";
  src: url("fonts/IBMPlexSerif-SemiBold.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

:root {
  /* Paper grounds (were cool blue-gray) */
  --ground-0: #FCFAF5;
  --ground-1: #F5F1E8;
  --ground-2: #ECE6D9;
  --ground-3: #DCD3C2;
  --ground-4: #C6BAA5;

  /* Warm ink; ink-900/800 remain the dark panel grounds */
  --ink-900: #1A1510;
  --ink-800: #27211A;
  --ink-700: #3B342A;
  --ink-500: #6B6254;
  --ink-400: #8A8070;
  --ink-300: #A79D8B;

  --text-muted: #504839;
  --text-faint: #6B6254;

  /* Dark-panel chrome, warmed to sit on the new ink */
  --text-inverse: #FCFAF5;
  --text-inverse-muted: #A79D8B;
  --nav-link: #A79D8B;
  --nav-link-active: #FCFAF5;
  --border-hairline-inv: #463F33;
  --border-component-inv: #6F6656;
  --state-unknown: #4A443A;
  --state-unknown-inv: #B3AA9A;

  /* Accent stays cool (identity is cool); wash warmed toward the paper */
  --accent-wash: #E6EBF2;

  /* Shape: a ruled ledger line, not a machined edge */
  --radius-sm: 0px;
  --radius-md: 0px;
  --radius-lg: 0px;

  /* Two voices: serif carries prose and headings; mono keeps machine facts.
     --font-sans is the system's prose slot, so the serif lands everywhere
     prose already lives — no component changes needed. */
  --font-serif: "IBM Plex Serif", Georgia, "Times New Roman", serif;
  --font-sans: "IBM Plex Serif", Georgia, "Times New Roman", serif;

  --shadow-dialog: 0 8px 24px -12px rgba(26, 21, 16, 0.32);
}
