/* Pult design tokens: fonts and the colors of both themes. Shared by the public site (site.css) and the
   cabinet with the status pages (pult.css), so the two never drift apart. Dark by default; light when
   the visitor picks it (theme.js puts data-theme="light" on <html>, the choice lives in localStorage
   "pult-theme"). Redesign 10.2026 (docs/design/redesign-2026-10.md): Geist for text, Geist Mono for
   telemetry (time, %, addresses, ids), Unbounded only in the wordmark «Pult». All self-hosted (OFL),
   the CSP allows fonts from 'self' only.

   Colors. Green is the state «працює» and, by Kir's decision of 25.10, the main button too. Indigo
   (--accent) is choice, links, focus and the selected «Сповіщати»; it never paints a state. Every
   state has a dot color (--ok …) and a text color (--ok-ink …) that keeps 4.5:1 in its theme.
   Old names (--card, --cta, --link …) stay as aliases so nothing breaks at once. */
@font-face { font-family: "Geist"; src: url("/static/fonts/Geist-variable.woff2") format("woff2"); font-weight: 100 900; font-display: swap; }
@font-face { font-family: "Geist Mono"; src: url("/static/fonts/GeistMono-variable.woff2") format("woff2"); font-weight: 100 900; font-display: swap; }
@font-face { font-family: "Unbounded"; src: url("/static/fonts/Unbounded-variable.woff2") format("woff2"); font-weight: 200 900; font-display: swap; }

:root {
  /* surfaces */
  --bg: #0b0c0e; --bg-sub: #0e0f12; --surface: #131418; --surface-2: #191a1f; --surface-3: #222329;
  --line: #222329; --line-strong: #2d2f36;
  --ink: #edeef0; --ink-2: #b4b7be; --muted: #8a8e97; --faint: #565a63;
  /* accent: choice, links, focus */
  --accent: #7d7aff; --accent-ink: #ffffff; --link: #a3a1ff;
  /* states: dot / text */
  --ok: #30d158; --ok-ink: #4ade73;
  --degraded: #ffb340; --degraded-ink: #ffc266;
  --down: #ff453a; --down-ink: #ff6b62;
  --info: #409cff; --info-ink: #6cb2ff;
  --unknown: #8e8e93; --unknown-ink: #a1a1a8;
  /* the main button is the text colour: white on dark, near-black on light (Kir, 25.10.2026); green is only a state */
  --cta: #f2f3f5; --cta-ink: #0b0c0e; --cta-hover: #ffffff;
  --term: #08090a; --term-ink: #e6e7ea; --term-line: #24262c; --term-dim: #6e727b;
  --grid: rgba(255, 255, 255, .035);
  --shadow: 0 0 0 1px var(--line-strong), 0 16px 40px rgba(0, 0, 0, .55);
  --field: #5e616b; /* borders of form fields: 3:1 against the page (WCAG 1.4.11), unlike the hairlines */
  --r: 12px; --r-sm: 8px; --r-xs: 6px;
  --sans: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, Roboto, "Helvetica Neue", Arial, sans-serif;
  --mono: "Geist Mono", ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace;
  --display: var(--sans);
  --wordmark: "Unbounded", "Geist", -apple-system, BlinkMacSystemFont, sans-serif;
  /* old names */
  --bg-2: var(--bg-sub); --card: var(--surface); --card-2: var(--surface-2); --line-2: var(--line); --wire: var(--line-strong);
  --ghost: var(--surface-2);
  color-scheme: dark;
}
:root[data-theme="light"] {
  --bg: #ffffff; --bg-sub: #f7f7f8; --surface: #ffffff; --surface-2: #f6f6f8; --surface-3: #ececef;
  --line: #e7e7ea; --line-strong: #d8d8de;
  --ink: #111214; --ink-2: #3a3c42; --muted: #676a72; --faint: #a0a3aa;
  --accent: #5b57e0; --accent-ink: #ffffff; --link: #4b48d6;
  --ok: #34c759; --ok-ink: #1e7f38;
  --degraded: #ff9f0a; --degraded-ink: #a84b00;
  --down: #ff3b30; --down-ink: #c9101b;
  --info: #0a84ff; --info-ink: #0058c7;
  --unknown: #aeaeb2; --unknown-ink: #636368;
  --cta: #111214; --cta-ink: #ffffff; --cta-hover: #2a2c31;
  --term: #111214; --term-ink: #e6e7ea; --term-line: #2a2b30; --term-dim: #8a8e97;
  --grid: rgba(0, 0, 0, .04);
  --shadow: 0 0 0 1px var(--line-strong), 0 16px 40px rgba(20, 20, 40, .12);
  --field: #8c8c98;
  color-scheme: light;
}
