/**
 * Shared visual tokens — the ONLY place that defines product identity colors.
 * Pages must not redefine --bg / --ok / --ink / … locally; link this file.
 *
 * Issue #417 · server/shared/ui/
 */

/* Self-hosted faces (OFL). Paths are absolute from the /ui/ mount. */
@font-face {
  font-family: 'Chakra Petch';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/ui/fonts/chakra-petch-latin-500-normal.woff2') format('woff2');
}
@font-face {
  font-family: 'Chakra Petch';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/ui/fonts/chakra-petch-latin-600-normal.woff2') format('woff2');
}
@font-face {
  font-family: 'Chakra Petch';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/ui/fonts/chakra-petch-latin-700-normal.woff2') format('woff2');
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/ui/fonts/ibm-plex-mono-latin-400-normal.woff2') format('woff2');
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/ui/fonts/ibm-plex-mono-latin-500-normal.woff2') format('woff2');
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/ui/fonts/ibm-plex-mono-latin-600-normal.woff2') format('woff2');
}

:root {
  --bg:        #0a0c10;
  --bg-grid:   rgba(120, 200, 160, 0.035);
  --surface:   #11151b;
  --surface-2: #161b22;
  --line:      #1e2630;
  --line-soft: #2a3441;

  --ink:       #d7e2dc;
  --ink-dim:   #8b9a93;
  --ink-faint: #5a6a63;

  --ok:        #57e389;
  --ok-soft:   rgba(87, 227, 137, 0.12);
  --off:       #5a6a63;
  --off-soft:  rgba(90, 106, 99, 0.12);
  --warn:      #f5b95c;
  --warn-soft: rgba(245, 185, 92, 0.14);
  --bad:       #f0736a;
  --bad-soft:  rgba(240, 115, 106, 0.13);
  --stream:    #5cc8f5;
  --stream-soft: rgba(92, 200, 245, 0.10);

  /* Aliases for pages that historically used different names. */
  --accent:      var(--ok);
  --accent-soft: var(--ok-soft);
  --panel:       var(--surface);
  --border:      var(--line);
  --text:        var(--ink);
  --muted:       var(--ink-dim);
  --err:         var(--bad);

  --mono: 'IBM Plex Mono', ui-monospace, Consolas, monospace;
  --disp: 'Chakra Petch', system-ui, sans-serif;

  /* Canonical radius (admin). status 6px → 4px is intentional P0 align. */
  --r: 4px;

  --font-size: 14px;
  --chrome-h: 44px;
}
