/* Each mode owns the complete interface palette; scenery keeps its original colors. */
:root {
  color-scheme:dark;
  --bg:#09131e;
  --ambient:#1b3041;
  --header-bg:#0c1c29;
  --panel:#102432;
  --panel-inset:#0b1b29;
  --panel-raised:#192e40;
  --panel-selected:#29434a;
  --panel-border:#627d8b;
  --border-subtle:#3f5968;
  --border-muted:#50657180;
  --text:#f4e9cf;
  --text-bright:#fff6df;
  --text-dim:#bdced6;
  --accent:#f3ce69;
  --accent-2:#e6ad43;
  --accent-border:#c4aa6c;
  --accent-muted:#e1c17199;
  --button-bg:#172d3d;
  --button-border:#7591a0;
  --button-hover:#254659;
  --primary-ink:#17202a;
  --primary-border:#ffdfa0;
  --primary-shadow:#a4742c;
  --primary-hover:#ffe297;
  --shadow:#050c13;
  --danger:#ff818c;
  --success:#69ddbd;
  --positive-text:#b4e0bf;
  --negative-text:#ffb2a0;
  --danger-panel:#452632;
  --danger-border:#d77f74;
  --success-panel:#163b36;
  --warning-panel:#493a24;
  --warning-text:#ffe0a0;
  --paper:#f8eac6;
  --paper-ink:#152532;
  --paper-muted:#59482e;
  --paper-border:#a38e62;
  --paper-positive:#275740;
  --paper-negative:#8b342b;
  --hud-overlay-top:#071722f5;
  --hud-overlay-bottom:#071722e0;
  --panel-overlay:#102432ed;
  --scene-scrim:#081721ec;
  --modal-backdrop:#020810dd;
  --body-font:'Atkinson Hyperlegible Next','Noto Sans Arabic','Trebuchet MS',sans-serif;
  --title-font:'Courier Prime','Noto Sans Arabic','Courier New',monospace;
}

/* Root scope also themes viewport-level help and dialogs outside the game shell. */
:root:has(:where(.deep-mode)) {
  --bg:#110f1b;
  --ambient:#30273f;
  --header-bg:#191422;
  --panel:#211b2e;
  --panel-inset:#171322;
  --panel-raised:#2c253c;
  --panel-selected:#44334d;
  --panel-border:#84708e;
  --border-subtle:#57455f;
  --border-muted:#8e779280;
  --text:#eee4ed;
  --text-bright:#fff3fa;
  --text-dim:#cbbdce;
  --accent:#f1b1d3;
  --accent-2:#d687b8;
  --accent-border:#bb83a6;
  --accent-muted:#d897bc99;
  --button-bg:#30263d;
  --button-border:#9b82a4;
  --button-hover:#493652;
  --primary-ink:#2b1728;
  --primary-border:#ffdaee;
  --primary-shadow:#965376;
  --primary-hover:#ffd3eb;
  --shadow:#09070f;
  --danger:#ff8894;
  --success:#75dfbb;
  --positive-text:#b7e2ce;
  --negative-text:#ffb6aa;
  --danger-panel:#482431;
  --danger-border:#d58388;
  --success-panel:#213d36;
  --warning-panel:#443023;
  --warning-text:#ffdbac;
  --paper:#f3e0ec;
  --paper-ink:#2e1d2e;
  --paper-muted:#614456;
  --paper-border:#a88098;
  --paper-positive:#28533f;
  --paper-negative:#882b38;
  --hud-overlay-top:#191320f5;
  --hud-overlay-bottom:#191320e0;
  --panel-overlay:#211b2eed;
  --scene-scrim:#151020ec;
  --modal-backdrop:#090610dd;
}

:root.hc {
  --bg:#000;
  --ambient:#000;
  --header-bg:#000;
  --panel:#000;
  --panel-inset:#000;
  --panel-raised:#101010;
  --panel-selected:#242424;
  --panel-border:#fff;
  --border-subtle:#fff;
  --border-muted:#fff;
  --text:#fff;
  --text-bright:#fff;
  --text-dim:#eee;
  --accent:#fff200;
  --accent-2:#fff200;
  --accent-border:#fff200;
  --accent-muted:#fff200;
  --button-bg:#101010;
  --button-border:#fff;
  --button-hover:#303030;
  --primary-ink:#000;
  --primary-border:#fff;
  --primary-shadow:#fff;
  --primary-hover:#ffffa3;
  --danger:#ffadb5;
  --success:#9affdf;
  --positive-text:#9affdf;
  --negative-text:#ffadb5;
  --paper:#fff;
  --paper-ink:#000;
  --paper-muted:#222;
  --paper-border:#000;
  --hud-overlay-top:#000;
  --hud-overlay-bottom:#000;
  --panel-overlay:#000;
  --scene-scrim:#000e;
}
