/* =============================================================================
   DESIGN TOKENS -- Terminal.mk (dark only)
   Palette: MASTER_PROMPT §4 + specs/00b-family-ui.md §1-2 (dark column).
   Every colour, size and space in the app comes from here; view CSS must
   not hard-code hex values. Loaded first by templates/base.njk.
   ============================================================================= */

/* IBM Plex Mono, self-hosted (SIL OFL 1.1, fonts/LICENSE-IBM-Plex.txt).
   Latin1 + Latin2 (SQ, HR, SR-Latn...) + Cyrillic (MK, SR, BG). */
@font-face { font-family: "IBM Plex Mono"; font-style: normal; font-weight: 400; font-display: swap;
  src: url("/fonts/IBMPlexMono-Regular-Latin1.woff2") format("woff2");
  unicode-range: U+0020-007E, U+00A0-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2013-2014, U+2018-201A, U+201C-201E, U+2020-2022, U+2026, U+2030, U+2039-203A, U+2044, U+20AC, U+2122, U+2212; }
@font-face { font-family: "IBM Plex Mono"; font-style: normal; font-weight: 400; font-display: swap;
  src: url("/fonts/IBMPlexMono-Regular-Latin2.woff2") format("woff2");
  unicode-range: U+0100-0101, U+0104-0130, U+0132-0151, U+0154-017F, U+018F, U+0192, U+01A0-01A1, U+01AF-01B0, U+01FA-01FF, U+0218-021B, U+0237, U+0259; }
@font-face { font-family: "IBM Plex Mono"; font-style: normal; font-weight: 400; font-display: swap;
  src: url("/fonts/IBMPlexMono-Regular-Cyrillic.woff2") format("woff2");
  unicode-range: U+0400-045F, U+0462-0463, U+046A-046B, U+0472-0475, U+0490-04C2, U+04CF-04D9, U+04DC-04E9, U+04EE-04F9, U+0524-0525; }
@font-face { font-family: "IBM Plex Mono"; font-style: normal; font-weight: 600; font-display: swap;
  src: url("/fonts/IBMPlexMono-SemiBold-Latin1.woff2") format("woff2");
  unicode-range: U+0020-007E, U+00A0-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2013-2014, U+2018-201A, U+201C-201E, U+2020-2022, U+2026, U+2030, U+2039-203A, U+2044, U+20AC, U+2122, U+2212; }
@font-face { font-family: "IBM Plex Mono"; font-style: normal; font-weight: 600; font-display: swap;
  src: url("/fonts/IBMPlexMono-SemiBold-Latin2.woff2") format("woff2");
  unicode-range: U+0100-0101, U+0104-0130, U+0132-0151, U+0154-017F, U+018F, U+0192, U+01A0-01A1, U+01AF-01B0, U+01FA-01FF, U+0218-021B, U+0237, U+0259; }
@font-face { font-family: "IBM Plex Mono"; font-style: normal; font-weight: 600; font-display: swap;
  src: url("/fonts/IBMPlexMono-SemiBold-Cyrillic.woff2") format("woff2");
  unicode-range: U+0400-045F, U+0462-0463, U+046A-046B, U+0472-0475, U+0490-04C2, U+04CF-04D9, U+04DC-04E9, U+04EE-04F9, U+0524-0525; }

:root {
  /* --- surfaces (dark navy family) --- */
  --bg: #2e3b4e;            /* page, text panels */
  --surface: #344357;       /* panels inside the view */
  --frame: #313f54;      /* outer view frame */
  --surface-2: #3b4e6e;     /* raised: buttons, table headers, tiles */
  --surface-3: #46608a;     /* hover on raised */
  --well: #263243;          /* inputs, sunken areas */
  --line: #50668c;          /* borders */
  --line-soft: rgba(207, 229, 255, 0.12); /* table rules, dividers */

  /* --- text --- */
  --ink: #cfe5ff;           /* main text (light blue) */
  --muted: #a0b5d3;         /* labels, secondary */
  --faint: #7c93ad;         /* disabled, placeholders */

  /* --- brand + semantics --- */
  --teal: #26a69a;          /* brand fill, up ▲, primary action fill */
  --teal-text: #4cc9b9;     /* teal as text on navy */
  --teal-dark: #20877d;     /* hover on teal fills */
  --teal-tint: rgba(38, 166, 154, 0.12);
  --magenta: #a52a53;       /* down / danger: ONLY with --ink (pill or fill) */
  --magenta-dark: #841f41;
  --orange: #ff8c00;        /* accent: active / selected, commands, context */
  --orange-dark: #e07b00;
  --orange-tint: rgba(255, 140, 0, 0.12);
  --on-orange: #2e3b4e;     /* text on orange */
  --on-teal: #0f1c24;       /* text on teal (spec --on-button) */

  /* --- type --- */
  --font: "IBM Plex Mono", "Courier New", Courier, monospace;
  --fs-xs: 0.6875rem;       /* 11px  tags, micro labels */
  --fs-sm: 0.75rem;         /* 12px  labels, table headers */
  --fs-md: 0.8125rem;       /* 13px  body, table cells, inputs */
  --fs-lg: 0.9375rem;       /* 15px  panel titles */
  --fs-xl: 1.0625rem;       /* 17px  view titles */
  --lh: 1.4;

  /* --- space (4px grid) --- */
  --sp-1: 0.25rem;
  --sp-2: 0.5rem;
  --sp-3: 0.75rem;
  --sp-4: 1rem;
  --sp-5: 1.5rem;

  --radius: 0.25rem;
  --radius-lg: 0.375rem;
  --row-h: 1.75rem;         /* table row / control height */
  --view-max: 1232px;
  --header-h: 7.5rem;       /* fixed header height (desktop, no category open) */
}
