/* FlashPilot report UI — design tokens.
 *
 * Direction: avionics go/no-go instrument readout. Colour always carries
 * meaning (pass / fail / unknown / provenance) and is never decoration.
 * This file is the single source of truth; no surface hard-codes a colour. */

:root {
  /* Surface */
  --bg: #0a0e15;
  --panel: #0f1521;
  --panel-raised: #121a29;
  --line: #232f42;
  --line-soft: #1a2434;

  /* Ink */
  --ink: #e7edf4;
  --ink-muted: #7d8da4;
  --ink-faint: #556277;

  /* Semantic state */
  --go: #33d69f;
  --no-go: #ff5f6b;
  --warn: #ffb02e;
  --data: #4ecde0;

  /* Semantic state, backgrounds */
  --go-wash: rgba(51, 214, 159, 0.12);
  --no-go-wash: rgba(255, 95, 107, 0.12);
  --warn-wash: rgba(255, 176, 46, 0.12);
  --data-wash: rgba(78, 205, 224, 0.12);

  /* Type */
  --font-display: "Space Grotesk", "Segoe UI Variable Display", "Segoe UI",
    system-ui, sans-serif;
  --font-body: "Inter", "Segoe UI Variable Text", "Segoe UI", system-ui,
    sans-serif;
  --font-mono: "IBM Plex Mono", "Cascadia Mono", "Consolas", ui-monospace,
    monospace;

  --step--1: 0.78rem;
  --step-0: 0.9rem;
  --step-1: 1.05rem;
  --step-2: 1.35rem;
  --step-3: 1.9rem;
  --step-4: 2.6rem;

  /* Space */
  --s-1: 0.25rem;
  --s-2: 0.5rem;
  --s-3: 0.75rem;
  --s-4: 1rem;
  --s-5: 1.5rem;
  --s-6: 2rem;
  --s-7: 3rem;

  --radius: 6px;
  --radius-lg: 10px;

  --shell-max: 1240px;
  --header-h: 56px;

  /* Motion — exactly three orchestrated moments, nothing ambient. */
  --motion-stamp: 420ms cubic-bezier(0.16, 1, 0.3, 1);
  --motion-tamper: 260ms cubic-bezier(0.16, 1, 0.3, 1);
}

/* State helpers: one class maps a verdict to its whole colour triad. */
.state-pass {
  --state: var(--go);
  --state-wash: var(--go-wash);
}
.state-fail {
  --state: var(--no-go);
  --state-wash: var(--no-go-wash);
}
.state-unknown {
  --state: var(--warn);
  --state-wash: var(--warn-wash);
}
.state-void {
  --state: var(--ink-faint);
  --state-wash: rgba(85, 98, 119, 0.14);
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --motion-stamp: 1ms;
    --motion-tamper: 1ms;
  }
}
