/* The collection's single source of color, surface, and type tokens.
   Tokens inherit across each game's Shadow DOM boundary. */
:root, .game-root {
  color-scheme: light;
  --page: #f4f5f7;
  --surface: #ffffff;
  --surface-low: #f4f5f7;
  --surface-high: #e9ebef;
  --ink: #22252c;
  --muted: #686d78;
  --line: #e1e3e8;
  --line-strong: #b8bec9;
  --cell-face: #fff;
  --cell-edge: #d8dde5;
  --cell-shadow: #dfe3e9;
  --board-base: #e9edf2;
  --stage: #f5f6f8;
  --success: #16734c;
  --success-soft: #e8f5ee;
  --error: #b53b40;
  --error-soft: #fff0ef;
  --overlay: #ffffffd9;
  --accent: #c14713;
  --accent-strong: #aa3a0a;
  --accent-soft: #fff0e5;
  --accent-line: #f4b288;
  --zip: #bf481a;
  --zip-soft: #fff0e6;
  --queens: #7047c0;
  --queens-soft: #f0eafa;
  --lanterns: #147766;
  --lanterns-soft: #e4f4ef;
  --queen-ink: #253044; --queen-fill: #25304412;
  --region-line: #69707d; --region-inner-line: #25304412;
  --shadow-face: #334458;
  --shadow-edge: #26384c;
  --lit-face: #fbe4a4;
  --lit-edge: #e1bc5c;
  --lit-ink: #634214;
  --gate-face: #e8efff;
  --gate-ink: #344f94;
  /* Muted regions share hue identities across themes; outlines define their shapes. */
  --region-0: #e7d5cc; --region-1: #cfdee9; --region-2: #dbd2e7;
  --region-3: #d2dfd3; --region-4: #e7dfbf; --region-5: #e7d0d8;
  --region-6: #cce1dc; --region-7: #d4d8ea; --region-8: #e5d7c5;
  --region-9: #dae1c6; --region-10: #dfd2d2; --region-11: #d0dce1; --region-12: #dfdccb;
  --font: 'Avenir Next', Avenir, 'Segoe UI', ui-sans-serif, system-ui, sans-serif;
  --radius-control: 10px;
  --radius-cell: 6px;
}
:root.dark, .game-root.dark {
  color-scheme: dark;
  --page: #15171c; --surface: #202329; --surface-low: #282c34; --surface-high: #343944;
  --ink: #eff0f3; --muted: #a5acb9; --line: #363b44; --line-strong: #5d6574;
  --cell-face: #353c48; --cell-edge: #4e5868; --cell-shadow: #151a24;
  --board-base: #242a34; --stage: #1a1e25;
  --success: #8adcb3; --success-soft: #213c31; --error: #ffa6a8; --error-soft: #452a30; --overlay: #202329e0;
  --accent: #ffac79; --accent-strong: #ffb68b; --accent-soft: #443024; --accent-line: #a7653e;
  --zip: #ffac79; --zip-soft: #443024; --queens: #c0a3f7; --queens-soft: #352d47;
  --lanterns: #80d7c1; --lanterns-soft: #233e38;
  --queen-ink: #e8edf5; --queen-fill: #e8edf518;
  --region-line: #939eae; --region-inner-line: #ffffff0d;
  --shadow-face: #283341; --shadow-edge: #4a596c; --lit-face: #b68c39; --lit-edge: #d5b46d; --lit-ink: #1d1a12;
  --gate-face: #cbd9fc; --gate-ink: #25345d;
  --region-0: #4c3b3a; --region-1: #354858; --region-2: #493d56;
  --region-3: #354e43; --region-4: #514b35; --region-5: #523d49;
  --region-6: #304e50; --region-7: #3d425e; --region-8: #574636;
  --region-9: #444f34; --region-10: #55444b; --region-11: #3e4b53; --region-12: #514f40;
}
[data-game="zip"], .game-root[data-game="zip"] { --accent: var(--zip); --accent-soft: var(--zip-soft); }
[data-game="queens"], .game-root[data-game="queens"] { --accent: var(--queens); --accent-soft: var(--queens-soft); --accent-line: #b394df; }
[data-game="lanterns"], .game-root[data-game="lanterns"] { --accent: var(--lanterns); --accent-soft: var(--lanterns-soft); --accent-line: #77b8a8; }
