/* Biosphere (D-19): rust becoming green and teal, the terraforming arc.
   The one token file for the docs site and the game, and the only file in
   the repo with raw colour values. Components use these semantic tokens.

   Light is the default. Dark is opt-in with <html data-theme="dark"> (the
   game uses it); there is no prefers-color-scheme switch, so a page only
   changes theme when it asks to. Dark redefines every colour token. */
:root {
  --color-bg: #f3f0e6;
  --color-bg-dawn: #f6ece0;
  --color-bg-dusk: #eef3e6;
  --color-surface: #fffdf6;
  --color-surface-sunk: #e9efe0;
  --color-surface-raised: #ffffff;
  --color-line: #d8dcc8;
  --color-text: #253228;
  --color-text-muted: #6d7a68;
  --color-accent: #2f8a6b;
  --color-accent-warm: #c8743a;
  --color-on-accent: #fffdf6;
  --color-status-done: var(--color-accent);
  --color-status-building: var(--color-accent-warm);
  --color-status-planned: #b3b8a4;
  --color-status-dropped: #a9a39a;
  --color-glow: rgba(47, 138, 107, 0.12);
  --color-planet-rust: #d98a4e;
  --color-planet-sea: #2f6f8a;
  --color-planet-life: #4fa36a;
  --color-planet-atmo: rgba(120, 190, 200, 0.4);
  --color-planet-shade: rgba(0, 0, 0, 0.33);
  --color-planet-cloud: rgba(255, 255, 255, 0.8);

  /* Game: states */
  --color-warn: #b8862b;
  --color-danger: #b5452c;
  --color-locked: #a9a39a;
  /* Game: the starfield behind the planet, dark in both themes */
  --color-space: #070d0b;
  --color-on-space: #e6eee4;
  /* Game: resources */
  --color-res-metal: #7d8590;
  --color-res-silicates: #b08a4e;
  --color-res-ice: #4f93b3;
  --color-res-energy: #d39a1c;
  --color-res-data: #5b6fc4;
  --color-res-rare: #9a5fb8;
  /* Game: the four planet values */
  --color-val-heat: #d0602f;
  --color-val-pressure: #7b6fb5;
  --color-val-oxygen: #3f9a5e;
  --color-val-water: #2a82a8;
  /* Game: Vesta, the ship AI (D-21), the hearth */
  --color-vesta: #c8743a;
  --color-shadow: rgba(47, 138, 107, 0.12);

  --font-head: 'Outfit', system-ui, sans-serif;
  --font-body: 'Outfit', system-ui, sans-serif;
  --font-mono: 'JetBrains Mono', ui-monospace, monospace;
  --radius: 18px;
}

:root[data-theme='dark'] {
  --color-bg: #0e1613;
  --color-bg-dawn: #171612;
  --color-bg-dusk: #0c1612;
  --color-surface: #141f1a;
  --color-surface-sunk: #0a110e;
  --color-surface-raised: #1b2923;
  --color-line: #263630;
  --color-text: #e4ece2;
  --color-text-muted: #8fa194;
  --color-accent: #4cc19a;
  --color-accent-warm: #e8955a;
  --color-on-accent: #07120e;
  --color-status-done: var(--color-accent);
  --color-status-building: var(--color-accent-warm);
  --color-status-planned: #5b6a60;
  --color-status-dropped: #4e5650;
  --color-glow: rgba(76, 193, 154, 0.14);
  --color-planet-rust: #e0955a;
  --color-planet-sea: #3a86a6;
  --color-planet-life: #5cba78;
  --color-planet-atmo: rgba(120, 190, 200, 0.45);
  --color-planet-shade: rgba(0, 0, 0, 0.45);
  --color-planet-cloud: rgba(255, 255, 255, 0.85);

  --color-warn: #e6b65a;
  --color-danger: #ec7c60;
  --color-locked: #56645c;
  --color-space: #050a08;
  --color-on-space: #e4ece2;
  --color-res-metal: #a9b1bb;
  --color-res-silicates: #d8b47a;
  --color-res-ice: #7cc2e2;
  --color-res-energy: #f2c14e;
  --color-res-data: #8fa0f0;
  --color-res-rare: #c793e3;
  --color-val-heat: #f08a5a;
  --color-val-pressure: #a99ce3;
  --color-val-oxygen: #6ccf8d;
  --color-val-water: #5cb8e0;
  --color-vesta: #f0a868;
  --color-shadow: rgba(0, 0, 0, 0.55);
}
