/* Richie interface. D29: readability first - high contrast, tabular figures, large key totals, status by word +
   colour + shape of the mark, no emoji. Look: dark tinted base with a faint grid, Manrope for text, Exo 2 italic
   for page titles and key totals only, JetBrains Mono for small labels; four colour themes on one structure.
   Spacing: one scale tied to the font size (--s1..--s5); controls and cells pad in em of their own text. */

@font-face { font-family: "Manrope"; font-style: normal; font-weight: 200 800; font-display: swap;
  src: url(fonts/manrope-latin-wght-normal.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: "Manrope"; font-style: normal; font-weight: 200 800; font-display: swap;
  src: url(fonts/manrope-latin-ext-wght-normal.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, 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: "Manrope"; font-style: normal; font-weight: 200 800; font-display: swap;
  src: url(fonts/manrope-cyrillic-wght-normal.woff2) format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "Exo 2"; font-style: italic; font-weight: 800; font-display: swap;
  src: url(fonts/exo-2-latin-800-italic.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: "Exo 2"; font-style: italic; font-weight: 800; font-display: swap;
  src: url(fonts/exo-2-cyrillic-800-italic.woff2) format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "JetBrains Mono"; font-style: normal; font-weight: 100 800; font-display: swap;
  src: url(fonts/jetbrains-mono-latin-wght-normal.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: 100 800; font-display: swap;
  src: url(fonts/jetbrains-mono-cyrillic-wght-normal.woff2) format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }

/* Tokens. Status colours are the same in every theme, so a word and its mark mean the same after a switch. */
:root {
  --sans: "Manrope", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --display: "Exo 2", "Manrope", system-ui, sans-serif;
  --mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  --s1: 0.25rem; --s2: 0.5rem; --s3: 0.75rem; --s4: 1rem; --s5: 1.5rem;
  --radius: 10px; --radius-sm: 6px;
  --ok: #4ade80; --warn: #ffa53d; --bad: #ff6b6b; --info: #6cb2ff;
  --ok-bg: rgba(74, 222, 128, 0.14); --warn-bg: rgba(255, 165, 61, 0.14);
  --bad-bg: rgba(255, 107, 107, 0.15); --info-bg: rgba(108, 178, 255, 0.14);
  --focus: #ffffff;
  color-scheme: dark;
}
/* Циан (по умолчанию) */
:root, :root[data-theme="cyan"] {
  --bg: #050d12; --panel: #0a1820; --panel-2: #0f222c; --border: #1b3443; --border-strong: #2b4b5d;
  --text: #ecf6fa; --muted: #9db4c0; --accent: #3dd8f0; --accent-2: #7cc4ff; --accent-ink: #03141a;
  --g1: #2ef2e0; --g2: #38bdf8; --g3: #a5f3fc;
  --grid: rgba(61, 216, 240, 0.045); --glow: rgba(56, 189, 248, 0.16);
}
/* Жёлтая */
:root[data-theme="yellow"] {
  --bg: #0c0b05; --panel: #17150b; --panel-2: #201e10; --border: #36321a; --border-strong: #4f4925;
  --text: #f8f6e9; --muted: #bfba9c; --accent: #f5dd3d; --accent-2: #c8f05a; --accent-ink: #161300;
  --g1: #ffe14d; --g2: #f9f871; --g3: #b6f35c;
  --grid: rgba(245, 221, 61, 0.04); --glow: rgba(245, 221, 61, 0.12);
}
/* Зелёная */
:root[data-theme="green"] {
  --bg: #050e0c; --panel: #0a1814; --panel-2: #0f211b; --border: #1a3129; --border-strong: #28473c;
  --text: #eef7f3; --muted: #9cb5ab; --accent: #3ff0a0; --accent-2: #c6f55a; --accent-ink: #02140c;
  --g1: #3df5a0; --g2: #2ee6c8; --g3: #c6f55a;
  --grid: rgba(63, 240, 160, 0.045); --glow: rgba(46, 230, 200, 0.13);
}
/* Фиолетовая */
:root[data-theme="violet"] {
  --bg: #0b0814; --panel: #141024; --panel-2: #1c1631; --border: #2d2648; --border-strong: #443a64;
  --text: #f2eefb; --muted: #b3aacb; --accent: #b69cff; --accent-2: #f08cff; --accent-ink: #130a24;
  --g1: #b794ff; --g2: #8f7cff; --g3: #f08cff;
  --grid: rgba(182, 156, 255, 0.05); --glow: rgba(143, 124, 255, 0.17);
}
:root { --grad: linear-gradient(100deg, var(--g1), var(--g2) 55%, var(--g3)); }
