@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/plex-400.ttf) format('truetype');
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/plex-500.ttf) format('truetype');
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/plex-700.ttf) format('truetype');
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/jetbrains-400.ttf) format('truetype');
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/jetbrains-500.ttf) format('truetype');
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/jetbrains-700.ttf) format('truetype');
}

/* Linear Style Reference tokens. Grounds step up a few percent per level; raise by one token, never by shadow. */
:root {
 --bg-000: #08090a; --bg-100: #131415; --bg-200: #151617; --bg-300: #171819;
 --bg-400: #1c1c1d; --bg-500: #232425; --bg-600: #262728;
 --line-100: #1b1c1d; --line-200: #212223;
 --text-100: #f7f8f8; --text-200: #d0d6e0; --text-300: #8a8f98; --text-400: #65696f; --text-500: #3c3e43;
 --inverse-bg: #e5e5e6; --on-inverse: #08090a;
 --accent: #5d69d0; --on-accent: #ffffff;
 --signal: #00ff00; --status-progress: #f4ce00;
 --diff-add: #31bd55; --diff-remove: #f66065;
 /* Chart series differ in lightness, not hue alone. */
 --series-1: var(--text-200); --series-2: var(--accent); --series-3: #3fb6a8; --series-4: #e0864a; --series-5: var(--text-400);
 --radius-sm: 4px; --radius-md: 8px; --radius-lg: 12px; --radius-full: 9999px;
 --control-sm: 28px; --control-md: 32px; --control-lg: 40px; --row-height: 30px;
 --font-sans: "Inter", "Inter Variable", system-ui, -apple-system, "Segoe UI", sans-serif;
 --font-plex: "IBM Plex Mono", ui-monospace, monospace;
 --font-jetbrains: "JetBrains Mono", ui-monospace, monospace;
 --font-mono: var(--font-jetbrains);
 --font-size-base: 13px; --font-xs: 12px; --font-sm: 13px; --font-md: 15px; --font-title: 28px; --font-stat: 28px;
 --line-height: 1.55;
 font-family: var(--font-sans); font-size: var(--font-size-base);
 color-scheme: dark; background: var(--bg-100); color: var(--text-200);
}
:root[data-font="plex"], .font-plex { --font-mono: var(--font-plex); }
:root[data-font="jetbrains"], .font-jetbrains { --font-mono: var(--font-jetbrains); }
.font-plex, .font-jetbrains { font-family: var(--font-mono); }
.sample-12 { --font-size-base: 12px; --font-xs: 12px; --font-sm: 12px; --font-md: 12px; }
.sample-13 { --font-size-base: 13px; --font-xs: 13px; --font-sm: 13px; --font-md: 13px; }
.sample-14 { --font-size-base: 14px; --font-xs: 14px; --font-sm: 14px; --font-md: 14px; }
