/* GENERATED by scripts/build-tokens.mjs from tokens/*.json — DO NOT EDIT.
   Source of truth: tokens/primitives.json + semantic.json + component.json (DTCG).
   Byte-identical to the shipped v2.3.2 values (golden: tokens/manifest.golden.json). */
/* ============================================================================
   Abrq Data — design tokens (generated; the DTCG source is the single source
   of truth). Direction: "TELEGRAPH" — relay green + brass on bond paper
   (light), DIP console black (dark), deep emerald brand band (.abrq-invert).
   ============================================================================ */

:root {
  --bg: #f2f3ee;
  --surface: #fafaf7;
  --surface-2: #e7eadf;
  --border: #d2d8c9;
  --ink: #1b241f;
  --muted: #58675f;
  --primary: #136c4e;
  --primary-ink: #f7faf6;
  --primary-soft: #dcede4;
  --accent: #8a5e10;
  --accent-soft: #f2e8d0;
  --signal: #177a52;
  --warn: #8a5e10;
  --warn-soft: #f2e8d0;
  --error: #a8402f;
  --error-soft: #f4dcd5;
  --ring: #8a5e10;
  --font-sans: "IBM Plex Sans", ui-sans-serif, system-ui, sans-serif;
  --font-display: "IBM Plex Sans", ui-sans-serif, system-ui, sans-serif;
  --font-arabic: "IBM Plex Sans Arabic", "IBM Plex Sans", ui-sans-serif, sans-serif;
  --font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  --radius-sm: 0.125rem;
  --radius: 0.25rem;
  --radius-lg: 0.375rem;
  --radius-xl: 0.75rem;
  --shadow-sm: 0 1px 2px rgba(27, 36, 31, 0.05);
  --shadow: 0 2px 6px rgba(27, 36, 31, 0.07);
  --shadow-lg: 0 10px 28px rgba(27, 36, 31, 0.12);
  --motion-instant: 0ms;
  --motion-fast: 120ms;
  --motion: 200ms;
  --motion-slow: 360ms;
  --motion-deliberate: 500ms;
  --motion-transmit: 400ms;
  --motion-transmit-loop: 1400ms;
  --ease: cubic-bezier(0.2, 0.6, 0.2, 1);
  --ease-enter: cubic-bezier(0, 0, 0.2, 1);
  --ease-exit: cubic-bezier(0.4, 0, 1, 1);
  --ease-emphasized: cubic-bezier(0.2, 0, 0, 1);
  --ease-in-out: cubic-bezier(0.42, 0, 0.58, 1);
  --motion-nudge: 4px;
  --motion-shift: 12px;
  --motion-travel: 24px;
  --morse-rule-dot: 2px;
  --morse-rule-gap: 5px;
  --morse-rule-dash: 8px;
  --skeleton-veil: rgba(127, 127, 127, 0.12);
  --text-display-size: 2rem;
  --text-display-weight: 700;
  --leading-display: 1.2;
  --leading-arabic-display: 1.35;
  --tracking-display: -0.01em;
  --tracking-arabic-display: 0;
  --text-h1-size: 1.5rem;
  --text-h1-weight: 600;
  --leading-h1: 1.25;
  --leading-arabic-h1: 1.4;
  --tracking-h1: 0;
  --tracking-arabic-h1: 0;
  --text-h2-size: 1.25rem;
  --text-h2-weight: 600;
  --leading-h2: 1.3;
  --leading-arabic-h2: 1.45;
  --tracking-h2: 0;
  --tracking-arabic-h2: 0;
  --text-h3-size: 1.125rem;
  --text-h3-weight: 600;
  --leading-h3: 1.35;
  --leading-arabic-h3: 1.5;
  --tracking-h3: 0;
  --tracking-arabic-h3: 0;
  --text-h4-size: 1rem;
  --text-h4-weight: 600;
  --leading-h4: 1.4;
  --leading-arabic-h4: 1.55;
  --tracking-h4: 0;
  --tracking-arabic-h4: 0;
  --text-body-size: 0.875rem;
  --text-body-weight: 400;
  --leading-body: 1.5;
  --leading-arabic-body: 1.65;
  --tracking-body: 0;
  --tracking-arabic-body: 0;
  --text-body-sm-size: 0.8125rem;
  --text-body-sm-weight: 400;
  --leading-body-sm: 1.5;
  --leading-arabic-body-sm: 1.65;
  --tracking-body-sm: 0;
  --tracking-arabic-body-sm: 0;
  --text-caption-size: 0.75rem;
  --text-caption-weight: 400;
  --leading-caption: 1.4;
  --leading-arabic-caption: 1.55;
  --tracking-caption: 0;
  --tracking-arabic-caption: 0;
  --text-code-size: 0.8125rem;
  --text-code-weight: 400;
  --leading-code: 1.5;
  --leading-arabic-code: 1.6;
  --tracking-code: 0;
  --tracking-arabic-code: 0;
  --font-numeric-data: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  --text-label-size: 0.6875rem;
  --text-label-weight: 500;
  --text-label-weight-arabic: 600;
  --tracking-label: 0.08em;
  --tracking-arabic-label: 0;
  --text-dense-size: 0.8125rem;
  --dense-cell-padding: 0.375rem;
  --chart-1: #136c4e;
  --chart-2: #8a5e10;
  --chart-3: #6a7f6b;
  --chart-4: #a8402f;
  --chart-5: #3d5147;
  --chart-6: #b09a5e;
  --chart-grid: #dde3d6;
  --chart-axis: #58675f;
  --chart-ok: var(--signal);
  --chart-warn: var(--warn);
  --chart-error: var(--error);
}

/* Console black — cool blue-black, never green-cast (owner decision). */
.dark,
[data-theme="dark"] {
  --bg: #0b0e15;
  --surface: #11151d;
  --surface-2: #181d27;
  --border: #262d3a;
  --ink: #e7eaf0;
  --muted: #94a0ae;
  --primary: #46c28e;
  --primary-ink: #0b0e15;
  --primary-soft: #11332a;
  --accent: #d9a13b;
  --accent-soft: #332a12;
  --signal: #4fd09a;
  --warn: #e5b85c;
  --warn-soft: #332a12;
  --error: #e08a7a;
  --error-soft: #3a201b;
  --ring: #d9a13b;
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.3);
  --shadow: 0 2px 8px rgba(0, 0, 0, 0.35);
  --shadow-lg: 0 14px 36px rgba(0, 0, 0, 0.5);
  --chart-1: #46c28e;
  --chart-2: #d9a13b;
  --chart-3: #8fa890;
  --chart-4: #e08a7a;
  --chart-5: #7d9a8c;
  --chart-6: #cdb87a;
  --chart-grid: #232a37;
  --chart-axis: #94a0ae;
  --chart-ok: var(--signal);
  --chart-warn: var(--warn);
  --chart-error: var(--error);
}

/* Deep emerald brand band — one inverted section inside a light page.
   Requires the @theme inline mapping (theme.css) to resolve in a NESTED scope. */
.abrq-invert {
  --bg: #053527;
  --surface: #074131;
  --surface-2: #094636;
  --border: #155941;
  --ink: #e8ede5;
  --muted: #9bb0a3;
  --primary: #46c28e;
  --primary-ink: #04241b;
  --primary-soft: #0b4a36;
  --accent: #d9a13b;
  --accent-soft: #3d3110;
  --signal: #4fd09a;
  --warn: #e5b85c;
  --warn-soft: #3d3110;
  --error: #e69585;
  --error-soft: #3a201b;
  --ring: #d9a13b;
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.3);
  --shadow: 0 2px 8px rgba(0, 0, 0, 0.35);
  --shadow-lg: 0 14px 36px rgba(0, 0, 0, 0.5);
  --chart-1: #46c28e;
  --chart-2: #d9a13b;
  --chart-3: #8fa890;
  --chart-4: #e08a7a;
  --chart-5: #7d9a8c;
  --chart-6: #cdb87a;
  --chart-grid: #155941;
  --chart-axis: #9bb0a3;
  --chart-ok: var(--signal);
  --chart-warn: var(--warn);
  --chart-error: var(--error);
}
