/* Kyrvis design tokens: the control room (docs/design/ui/0003-design-tokens.md)
   in the brand's colors (the founder's asset sheet, 2026-10-14): the void
   background, gold as the accent, the brand's amber as the signal, crimson as
   a graphic color only (it fails as text). Dark is the default; the light
   theme redefines the same names. A Go test reads this file and checks every
   text pair's contrast. */

@font-face { font-family: "Instrument Sans"; font-style: normal; font-weight: 400 700; font-display: swap; src: url("/fonts/instrument-sans-normal-latin.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Instrument Sans"; font-style: normal; font-weight: 400 700; font-display: swap; src: url("/fonts/instrument-sans-normal-latin-ext.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "JetBrains Mono"; font-style: normal; font-weight: 400 500; font-display: swap; src: url("/fonts/jetbrains-mono-normal-latin.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "JetBrains Mono"; font-style: normal; font-weight: 400 500; font-display: swap; src: url("/fonts/jetbrains-mono-normal-latin-ext.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Newsreader"; font-style: normal; font-weight: 400 500; font-display: swap; src: url("/fonts/newsreader-normal-latin.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Orbitron"; font-style: normal; font-weight: 400 900; font-display: swap; src: url("/fonts/orbitron-normal-latin.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Newsreader"; font-style: normal; font-weight: 400 500; font-display: swap; src: url("/fonts/newsreader-normal-latin-ext.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }

:root {
  /* surfaces: the brand's void, one step lighter per level */
  --canvas: #11161B;
  --surface: #171D24;
  --raised: #1F2730;
  --border: #2A3340;
  --rule: #232B34;
  /* text */
  --text: #EEF1F5;
  --text-2: #A9B3BF;
  --text-3: #8591A0;
  /* the brand: gold is the accent (links, the active tab, the wordmark);
     crimson marks, never text */
  --gold: #D4AF37;
  --crimson: #801A1E;
  /* the status vocabulary: one meaning each, always with the word */
  --amber: #FFC72C;
  --cyan: #38BDF8;
  --green: #2ECC8A;
  --red: #FF5A5F;
  /* Text in a department's colour is mixed toward black by this much less
     than all: none on the dark canvas, enough on the light one to read at
     4.5:1 (production audit F10). The danger button's fill carries white
     text at 4.5:1 or more in both themes. */
  --ink-mix: 100%;
  --danger-bg: #C62828;
  --violet: #B39DFF;
  --on-amber: #11161B;
  /* Departments, as series in charts and as their marks everywhere: six
     hues apart from the status colors, in an order whose neighbours stay
     apart for colour-blind readers (validated with the data-viz palette
     checks: lightness band, chroma, CVD and normal-vision separation, 3:1
     against the surface). A department beyond six is folded into "Other"
     in charts. The light theme steps the same hues. */
  --dept-1: #199e70; --dept-2: #c98500; --dept-3: #9085e9; --dept-4: #d95926; --dept-5: #3987e5; --dept-6: #d55181;
  /* type */
  --font-ui: "Instrument Sans", system-ui, sans-serif;
  --font-data: "JetBrains Mono", ui-monospace, Menlo, monospace;
  --font-voice: "Newsreader", Georgia, serif;
  --font-mark: "Orbitron", system-ui, sans-serif;
  /* shape and space */
  --radius: 4px;
  --space-1: 4px; --space-2: 8px; --space-3: 12px; --space-4: 16px; --space-5: 20px; --space-6: 24px;
  color-scheme: dark;
}

@media (prefers-color-scheme: light) {
  :root:not([data-theme="dark"]) {
    --canvas: #F3F4F6; --surface: #FFFFFF; --raised: #EAECF0; --border: #D5DAE2; --rule: #E6E9EE;
    --text: #14181D; --text-2: #4B5563; --text-3: #5F6B7A;
    --gold: #866A1C; --crimson: #801A1E;
    --amber: #9A6700; --cyan: #0369A1; --green: #047857; --red: #B91C1C; --violet: #6D28D9; --on-amber: #FFFFFF; --ink-mix: 55%; --danger-bg: #B91C1C;
    --dept-1: #1baf7a; --dept-2: #eda100; --dept-3: #6250d6; --dept-4: #eb6834; --dept-5: #2a78d6; --dept-6: #e87ba4;
    color-scheme: light;
  }
}
:root[data-theme="light"] {
  --canvas: #F3F4F6; --surface: #FFFFFF; --raised: #EAECF0; --border: #D5DAE2; --rule: #E6E9EE;
  --text: #14181D; --text-2: #4B5563; --text-3: #5F6B7A;
  --gold: #866A1C; --crimson: #801A1E;
  --amber: #9A6700; --cyan: #0369A1; --green: #047857; --red: #B91C1C; --violet: #6D28D9; --on-amber: #FFFFFF; --ink-mix: 55%; --danger-bg: #B91C1C;
    --dept-1: #1baf7a; --dept-2: #eda100; --dept-3: #6250d6; --dept-4: #eb6834; --dept-5: #2a78d6; --dept-6: #e87ba4;
  color-scheme: light;
}
