/* Design tokens — engineering-drawing palette, one accent.
   Contrast checked (WCAG 2.1, relative luminance):
   light: ink #17212b on paper #f4f3ee ≈ 14.9:1 · ink-2 #46525e on paper ≈ 7.2:1 · accent #0a6a94 on paper ≈ 5.6:1, on surface #fff ≈ 6.1:1
   dark:  ink #e4e9ee on paper #0f151b ≈ 15.1:1 · ink-2 #a5b2be on paper ≈ 8.6:1 · accent #62c1ea on paper ≈ 9.0:1 */

:root {
  --font-sans: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-mono: "IBM Plex Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;

  --step--1: clamp(0.82rem, 0.8rem + 0.1vw, 0.88rem);
  --step-0: clamp(1rem, 0.96rem + 0.2vw, 1.08rem);
  --step-1: clamp(1.2rem, 1.1rem + 0.45vw, 1.4rem);
  --step-2: clamp(1.45rem, 1.25rem + 0.9vw, 1.9rem);
  --step-3: clamp(1.8rem, 1.4rem + 1.8vw, 2.8rem);
  --step-4: clamp(2.3rem, 1.6rem + 3.2vw, 4.2rem);

  --space-1: 0.25rem; --space-2: 0.5rem; --space-3: 0.75rem; --space-4: 1rem;
  --space-5: 1.5rem; --space-6: 2rem; --space-7: 3rem; --space-8: 4.5rem; --space-9: 7rem;

  --radius: 4px;
  --maxw: 74rem;
  --measure: 68ch;
  --gutter: 16px;

  /* light (default) */
  --paper: #f4f3ee;
  --surface: #ffffff;
  --surface-2: #ebeae3;
  --ink: #17212b;
  --ink-2: #46525e;
  --line: #c6ccd1;
  --line-strong: #8b959e;
  --grid: rgba(23, 33, 43, 0.055);
  --accent: #0a6a94;
  --accent-soft: rgba(10, 106, 148, 0.1);
  --on-accent: #ffffff;

  --river: #cfe2ea;
  --river-deep: #a9cbd9;
  --sky: #f4f3ee;
  --geo-fill: #e7decb;   /* recent alluvium / mud */
  --geo-sand: #ddcc9c;   /* Pleistocene sands & gravels */
  --geo-mio: #cdbf9f;    /* Miocene clays/sandstones */
  --geo-lime: #c3c0b2;   /* Miocene limestones */
  --geo-deep: #a9a499;   /* older substrate */
  --concrete: #9aa3ab;
  --tunnel: #17212b;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --paper: #0f151b;
    --surface: #151e26;
    --surface-2: #1b252f;
    --ink: #e4e9ee;
    --ink-2: #a5b2be;
    --line: #2e3b47;
    --line-strong: #5a6874;
    --grid: rgba(228, 233, 238, 0.05);
    --accent: #62c1ea;
    --accent-soft: rgba(98, 193, 234, 0.13);
    --on-accent: #0b1218;
    --river: #133345;
    --river-deep: #1b4a63;
    --sky: #0f151b;
    --geo-fill: #3b3a33;
    --geo-sand: #5c4d2c;
    --geo-mio: #473d30;
    --geo-lime: #3d3c37;
    --geo-deep: #34322e;
    --concrete: #6c7781;
    --tunnel: #e4e9ee;
  }
}

:root[data-theme="dark"] {
  --paper: #0f151b;
  --surface: #151e26;
  --surface-2: #1b252f;
  --ink: #e4e9ee;
  --ink-2: #a5b2be;
  --line: #2e3b47;
  --line-strong: #5a6874;
  --grid: rgba(228, 233, 238, 0.05);
  --accent: #62c1ea;
  --accent-soft: rgba(98, 193, 234, 0.13);
  --on-accent: #0b1218;
  --river: #133345;
  --river-deep: #1b4a63;
  --sky: #0f151b;
  --geo-fill: #3b3a33;
  --geo-sand: #5c4d2c;
  --geo-mio: #473d30;
  --geo-lime: #3d3c37;
  --geo-deep: #34322e;
  --concrete: #6c7781;
  --tunnel: #e4e9ee;
}
