/* Design tokens (design/DESIGN_V2.md, v2.1). Dark theme only.
   --accent: brand mark and the "online" dot only. --bad: alarms and errors only.
   Mute / hidden / violation are normal product work and are never coloured. */

@font-face { font-family: "Fragment Mono"; src: url("../fonts/Fragment_Mono_latin.woff2") format("woff2"); font-weight: 400 500; font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2212, U+2215; }
@font-face { font-family: "Fragment Mono"; src: url("../fonts/Fragment_Mono_latinext.woff2") format("woff2"); font-weight: 400 500; font-display: swap;
  unicode-range: U+0100-02BA, U+20A0-20C0; }
/* Cyrillic for mono (RU + UK: є і ї ґ are inside these ranges) */
@font-face { font-family: "Mono Cyr"; src: url("../fonts/Geist_Mono_cyrillic.woff2") format("woff2"); font-weight: 400 500; font-display: swap;
  size-adjust: 103%; unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "Inter"; src: url("../fonts/Inter_latin.woff2") format("woff2"); font-weight: 100 900; font-display: swap;
  unicode-range: U+0000-00FF, U+2000-206F, U+20AC, U+2212; }
@font-face { font-family: "Inter"; src: url("../fonts/Inter_cyrillic.woff2") format("woff2"); font-weight: 100 900; font-display: swap;
  unicode-range: U+0400-045F, U+0490-0491, U+2116; }

:root {
  color-scheme: dark;

  /* colours */
  --bg: #121212;          /* page */
  --soft: #1a1a1a;        /* row hover, opened entry, code background, active menu item */
  --fg: #ececec;          /* main text, button outline, primary button fill */
  --fg-2: #bdbdbd;        /* nicks, secondary outline button text */
  --muted: #8a8a8a;       /* captions, category · action, rule descriptions, inactive links */
  --faint: #808080;       /* time, step numbers, day headers, footnotes. 4.7:1 on --bg (WCAG AA); on --soft use --muted */
  --line: #262626;        /* dividers */
  --field: #616161;       /* borders of input / select / textarea: 3:1 on --bg (WCAG 1.4.11), visible in sunlight */
  --line-strong: #ececec; /* field focus, button outline */
  --accent: #7ee0a6;      /* ONLY the brand mark and the "online" dot */
  --bad: #ff6b6b;         /* ONLY "offline", "AI unavailable", errors */

  /* type */
  --mono: "Fragment Mono", "Mono Cyr", ui-monospace, SFMono-Regular, Menlo, monospace;
  --sans: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  --fs-h1: 22px;          /* landing 44, mobile 32 */
  --fs-h2: 15px;
  --fs-base: 14px;
  --fs-row: 13px;         /* chat and tables */
  --fs-cap: 12.5px;       /* captions 12–12.5 */
  --fs-small: 12px;
  --fs-big: 30px;         /* admin big number, mobile 24 */

  /* spacing scale */
  --s1: 4px; --s2: 8px; --s3: 12px; --s4: 16px; --s5: 24px; --s6: 32px; --s7: 48px; --s8: 64px;

  /* layout */
  --side-w: 200px;
  --page-top: 40px; --page-x: 48px;      /* mobile: 24 / 16 */
  --after-head: 32px;
  --block-gap: 48px;                     /* between meaning blocks: 40–56 */
  --tap: 36px;                           /* min height of anything tappable on mobile */
  --bp-mobile: 900px;                    /* documented; media queries use the literal */
}
