/* Delfictus visual authority: shared across every public evidence surface. */
:root {
  /* Root-site palette and 6px geometry. */
  --bg-primary: #ffffff;
  --bg-secondary: #fafbfc;
  --bg-tertiary: #f4f7fa;
  --bg-card: #ffffff;
  --bg-card-hover: #f7f9fb;
  --text-primary: #0f1722;
  --text-secondary: #3d4d63;
  --text-dim: #66758a;
  --border: #d9e2ec;
  --border-strong: #aebdcd;
  --border-active: #0078b8;
  --cyan: #0078b8;
  --cyan-bright: #00a8d6;
  --cyan-dim: #387da4;
  --cyan-glow: rgb(0 120 184 / 10%);
  --cyan-glow-strong: rgb(0 120 184 / 20%);
  --green: #087f5b;
  --amber: #a85b00;
  --red: #b42318;
  --purple: #6941c6;
  --orange: #c54e00;
  --font-body: "IBM Plex Sans", system-ui, sans-serif;
  --font-display: "Space Grotesk", system-ui, sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, monospace;
  --radius: 6px;
  --radius-lg: 12px;
  --transition: all 0.25s ease;
  --grid-size: 40px;
  --grid-line: rgb(15 23 34 / 5%);
  --grid-line-strong: transparent;

  /* Semantic evidence states: use state classes/data-state where applicable. */
  --evidence-prediction: #0078b8;
  --evidence-computational: #087f5b;
  --evidence-comparator: #6941c6;
  --evidence-planned: #a85b00;
  --evidence-unknown: #66758a;
  --evidence-failure: #b42318;
  --evidence-prediction-surface: #e8f5fb;
  --evidence-computational-surface: #e7f6ef;
  --evidence-comparator-surface: #f1edfc;
  --evidence-planned-surface: #fff4e5;
  --evidence-unknown-surface: #f1f4f7;
  --evidence-failure-surface: #fdefee;

  /* Compatibility aliases for retained page-specific layout rules. */
  --bg: var(--bg-primary);
  --text: var(--text-primary);
  --text-2: var(--text-secondary);
  --text-3: var(--text-dim);
  --grid: var(--grid-line);
  --bg2: var(--bg-secondary);
  --fg: var(--text-primary);
  --dim: var(--text-dim);
  --dimmer: var(--border-strong);
  --gold: var(--amber);
  --steel: var(--cyan-dim);
  --sage: var(--green);
  --brick: var(--red);
  --warm-white: var(--bg-primary);
  --accent: var(--cyan);
  --accent-bright: var(--cyan-bright);
}

/* Keyboard focus remains visible against all shared evidence surfaces. */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 3px solid var(--evidence-prediction);
  outline-offset: 3px;
}

:where(.evidence-prediction, [data-evidence-state="prediction"]) { color: var(--evidence-prediction); }
:where(.evidence-computational, [data-evidence-state="computational"]) { color: var(--evidence-computational); }
:where(.evidence-comparator, [data-evidence-state="comparator"]) { color: var(--evidence-comparator); }
:where(.evidence-planned, [data-evidence-state="planned"], [data-evidence-state="unknown"]) { color: var(--evidence-planned); }
:where(.evidence-failure, [data-evidence-state="failure"]) { color: var(--evidence-failure); }
