:root {
  --bg: #081017;
  --bg-raised: #0d151c;
  --surface: #101920;
  --surface-strong: #14212a;
  --border: #273b47;
  --border-strong: #354b5a;
  --text: #e8edf1;
  --text-muted: #98a8b2;
  --brand-navy: #002a5d;
  --brand-blue: #123f69;
  --steel-blue: #35566e;
  --steel-blue-hover: #486b82;
  --efficiency-bg: #0d1915;
  --efficiency: #14231d;
  --efficiency-accent: #527866;
  --efficiency-border: #345447;

  --color-bg: var(--bg);
  --color-bg-deep: var(--bg);
  --color-bg-raised: var(--bg-raised);
  --color-surface: var(--surface);
  --color-surface-raised: var(--surface-strong);
  --color-surface-active: var(--surface-strong);
  --color-text: var(--text);
  --color-text-muted: var(--text-muted);
  --color-text-dim: #8295a3;
  --color-border: var(--border);
  --color-border-strong: var(--border-strong);
  --color-primary: var(--steel-blue);
  --color-primary-hover: var(--steel-blue-hover);
  --color-on-primary: #f5f7f9;
  --color-link: var(--text);
  /* Lighter steel preserves contrast for small links and focus indicators. */
  --color-link-hover: #9bb0c0;
  --color-accent: #7895aa;
  --color-accent-hover: var(--color-link-hover);
  --color-accent-soft: var(--bg-raised);
  --color-status-positive: #6fa77b;
  --color-efficiency-bg: var(--efficiency-bg);
  --color-efficiency: var(--efficiency);
  --color-efficiency-accent: var(--efficiency-accent);
  --color-efficiency-border: var(--efficiency-border);
  --font-body: "IBM Plex Sans", "Segoe UI", Arial, sans-serif;
  --font-technical: "IBM Plex Mono", Consolas, monospace;
  --font-size-body: 1rem;
  --font-size-small: .8125rem;
  --font-size-label: .6875rem;
  --space-1: .25rem;
  --space-2: .5rem;
  --space-3: .75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 3rem;
  --space-8: 5rem;
  --space-9: 7rem;
  --radius-sm: 4px;
  --radius-md: 6px;
  --container: 1160px;
  --focus-ring: 0 0 0 2px var(--color-bg), 0 0 0 4px var(--color-accent);
}
