/* BridgeView design system — Geodetic Survey / Cadastral Plan world.
   Two ground types alternate through the scroll: blueprint (the deep
   cyanotype ground for thesis-carrying scenes) and paper (the drafting-sheet
   ground for supporting scenes). Both are always-on token sets, applied per
   section via .scene--blueprint / .scene--paper, independent of system
   light/dark preference, which additionally deepens each. */

@font-face {
  font-family: "IBM Plex Mono";
  src: url("/fonts/ibm-plex-mono-latin-400-normal.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "IBM Plex Mono";
  src: url("/fonts/ibm-plex-mono-latin-500-normal.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "IBM Plex Mono";
  src: url("/fonts/ibm-plex-mono-latin-600-normal.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Newsreader";
  src: url("/fonts/newsreader-latin-400-normal.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Newsreader";
  src: url("/fonts/newsreader-latin-400-italic.woff2") format("woff2");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Newsreader";
  src: url("/fonts/newsreader-latin-500-normal.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Newsreader";
  src: url("/fonts/newsreader-latin-600-normal.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

:root {
  color-scheme: light dark;

  /* Type */
  --font-display: "Newsreader", "Iowan Old Style", Georgia, serif;
  --font-data: "IBM Plex Mono", ui-monospace, "Cascadia Code", Menlo, Consolas, monospace;
  --font-body: "Newsreader", Georgia, serif;
  --radius: 3px;
  --maxw: 72rem;

  /* Blueprint ground — the committed saturated field (hero, value, feng shui) */
  --blueprint-bg: #0e2f52;
  --blueprint-bg-deep: #0a2540;
  --blueprint-ink: #eaf2fb;
  --blueprint-muted: #9fb8d4;
  --blueprint-line: #3a5c80;
  --blueprint-accent: #d4a659;

  /* Paper ground — the drafting-sheet field (specs, gallery, location, contact) */
  --paper-bg: #f4f5f2;
  --paper-surface: #ffffff;
  --paper-ink: #1a2430;
  --paper-muted: #5b6570;
  --paper-line: #c7ccd1;
  --paper-accent: #8f5c1f;
  --paper-accent-fill: #b5792e;
  --paper-accent-fill-ink: #1a1206;

  /* --ok/--err are only ever used for #lead-form's status message, which
     always renders on the dark blueprint-bg ground (the contact scene is
     .scene--blueprint in both themes) — so these use the same light
     green/red as the dark-mode override below, not a dark-on-light pairing.
     A prior pass fixed contrast for the dark-mode block but missed this
     default block: #2f6b3a on #0e2f52 is 2.12:1 and #b91c1c is 2.10:1,
     both well under the 4.5:1 WCAG AA minimum. Verified via
     contrast-check.py: #7fc98d on #0e2f52 = 6.88:1, #f08b8b = 5.67:1. */
  --ok: #7fc98d;
  --err: #f08b8b;
}

@media (prefers-color-scheme: dark) {
  :root {
    --blueprint-bg: #081b30;
    --blueprint-bg-deep: #05101f;
    --blueprint-line: #26415e;
    --blueprint-accent: #e0b876;

    --paper-bg: #1c2126;
    --paper-surface: #262c33;
    --paper-ink: #e8e6e0;
    --paper-muted: #a3aab2;
    --paper-line: #3a424b;
    --paper-accent: #d4a659;
    --paper-accent-fill: #c9973f;
    --paper-accent-fill-ink: #1a1206;

    --ok: #7fc98d;
    --err: #f08b8b;
  }
}

:root[data-theme="dark"] {
  --blueprint-bg: #081b30;
  --blueprint-bg-deep: #05101f;
  --blueprint-line: #26415e;
  --blueprint-accent: #e0b876;

  --paper-bg: #1c2126;
  --paper-surface: #262c33;
  --paper-ink: #e8e6e0;
  --paper-muted: #a3aab2;
  --paper-line: #3a424b;
  --paper-accent: #d4a659;
  --paper-accent-fill: #c9973f;
  --paper-accent-fill-ink: #1a1206;

  --ok: #7fc98d;
  --err: #f08b8b;
}
