/* Card art: palette for the decorative activity thumbnails drawn by card-previews.js.
   The SVG carries only palette classes (f-* fill, s-* stroke); the colours live here as --ca-* tokens
   with a light value, a navy-night dark value and a black/white/navy high-contrast value.
   Text in the art sits on paper, tints or the matching "on" colour and stays at least 4.5:1 in each theme. */

.game-card__preview {
  --ca-ink: #0b1b33;
  --ca-muted: #56657a;
  --ca-line: #c5d3e6;
  --ca-paper: #ffffff;
  --ca-edge: #b3c4dc;
  --ca-royal: #1d4f9f;
  --ca-royal-tint: #e8f0fb;
  --ca-sky: #1ba3dd;
  --ca-sky-tint: #e3f4fc;
  --ca-gold: #f0aa0e;
  --ca-gold-tint: #fef4dc;
  --ca-player-a: #1f6fd0;
  --ca-player-a-tint: #e7f0fc;
  --ca-player-a-ink: #1a5fb4;
  --ca-player-b: #e8590c;
  --ca-player-b-tint: #fff0e4;
  --ca-player-b-ink: #b03d0a;
  --ca-green: #147a3a;
  --ca-red: #c62828;
  --ca-warn-tint: #fdeceb;
  --ca-on: #ffffff;
  --ca-on-gold: #0b1b33;
  --ca-board: #1d3f78;
  --ca-cell: #ffffff;
  --ca-cell-alt: #e8f0fb;
  --ca-pit: #0e2244;
  --ca-stone: #8594aa;
  --ca-highlight: #ffffff;
  --ca-rope: #c08a4a;
  --ca-rope-dark: #7d4f1d;
  --ca-square-light: #ffffff;
  --ca-square-dark: #a9bedb;
  --ca-piece-white: #ffffff;
  --ca-piece-black: #0b1b33;
  --ca-piece-black-line: #0b1b33;
}

html[data-theme="dark"] .game-card__preview {
  --ca-ink: #e6edf6;
  --ca-muted: #97a8be;
  --ca-line: #34496a;
  --ca-paper: #1c2d45;
  --ca-edge: #0b1526;
  --ca-royal: #5ca8f5;
  --ca-royal-tint: #14294a;
  --ca-sky: #38bdf8;
  --ca-sky-tint: #102c40;
  --ca-gold: #f5b94a;
  --ca-gold-tint: #342a12;
  --ca-player-a: #5ca8f5;
  --ca-player-a-tint: #13284a;
  --ca-player-a-ink: #5ca8f5;
  --ca-player-b: #ff8b4d;
  --ca-player-b-tint: #3a2214;
  --ca-player-b-ink: #ff8b4d;
  --ca-green: #5ccb8a;
  --ca-red: #f87171;
  --ca-warn-tint: #3a1a1f;
  --ca-on: #0a1220;
  --ca-on-gold: #0a1220;
  --ca-board: #1a2d4b;
  --ca-cell: #2f4a73;
  --ca-cell-alt: #28406a;
  --ca-pit: #0b1628;
  --ca-stone: #a9b8cc;
  --ca-highlight: #ffffff;
  --ca-rope: #d9a868;
  --ca-rope-dark: #8a5a26;
  --ca-square-light: #6f89b0;
  --ca-square-dark: #44608c;
  --ca-piece-white: #f4f7fb;
  --ca-piece-black: #0a1220;
  --ca-piece-black-line: #0a1220;
}

/* High contrast wins over both themes: black, white and navy only, no tints. */
html body.high-contrast .game-card__preview {
  --ca-ink: #000000;
  --ca-muted: #1a1a1a;
  --ca-line: #000000;
  --ca-paper: #ffffff;
  --ca-edge: transparent;
  --ca-royal: #002b7f;
  --ca-royal-tint: #ffffff;
  --ca-sky: #002b7f;
  --ca-sky-tint: #ffffff;
  --ca-gold: #000000;
  --ca-gold-tint: #ffffff;
  --ca-player-a: #002b7f;
  --ca-player-a-tint: #ffffff;
  --ca-player-a-ink: #002b7f;
  --ca-player-b: #000000;
  --ca-player-b-tint: #ffffff;
  --ca-player-b-ink: #000000;
  --ca-green: #000000;
  --ca-red: #000000;
  --ca-warn-tint: #ffffff;
  --ca-on: #ffffff;
  --ca-on-gold: #ffffff;
  --ca-board: #002b7f;
  --ca-cell: #ffffff;
  --ca-cell-alt: #ffffff;
  --ca-pit: #ffffff;
  --ca-stone: #000000;
  --ca-highlight: #ffffff;
  --ca-rope: #000000;
  --ca-rope-dark: #ffffff;
  --ca-square-light: #ffffff;
  --ca-square-dark: #002b7f;
  --ca-piece-white: #ffffff;
  --ca-piece-black: #000000;
  --ca-piece-black-line: #ffffff;
}

.game-card__preview text {
  fill: var(--ca-ink);
  font-family: inherit;
  font-weight: 650;
  text-anchor: middle;
  font-variant-numeric: tabular-nums;
}
.game-card__preview .w7 { font-weight: 700; }
.game-card__preview .w8 { font-weight: 800; }
.game-card__preview .ts { text-anchor: start; }
.game-card__preview .te { text-anchor: end; }
.game-card__preview path,
.game-card__preview line { stroke-linecap: round; stroke-linejoin: round; }

.game-card__preview .f-n { fill: none; }
.game-card__preview .f-i { fill: var(--ca-ink); }
.game-card__preview .f-m { fill: var(--ca-muted); }
.game-card__preview .f-l { fill: var(--ca-line); }
.game-card__preview .f-p { fill: var(--ca-paper); }
.game-card__preview .f-e { fill: var(--ca-edge); }
.game-card__preview .f-r { fill: var(--ca-royal); }
.game-card__preview .f-rt { fill: var(--ca-royal-tint); }
.game-card__preview .f-s { fill: var(--ca-sky); }
.game-card__preview .f-st { fill: var(--ca-sky-tint); }
.game-card__preview .f-g { fill: var(--ca-gold); }
.game-card__preview .f-gt { fill: var(--ca-gold-tint); }
.game-card__preview .f-a { fill: var(--ca-player-a); }
.game-card__preview .f-at { fill: var(--ca-player-a-tint); }
.game-card__preview .f-ai { fill: var(--ca-player-a-ink); }
.game-card__preview .f-b { fill: var(--ca-player-b); }
.game-card__preview .f-bt { fill: var(--ca-player-b-tint); }
.game-card__preview .f-bi { fill: var(--ca-player-b-ink); }
.game-card__preview .f-gr { fill: var(--ca-green); }
.game-card__preview .f-rd { fill: var(--ca-red); }
.game-card__preview .f-wt { fill: var(--ca-warn-tint); }
.game-card__preview .f-o { fill: var(--ca-on); }
.game-card__preview .f-og { fill: var(--ca-on-gold); }
.game-card__preview .f-bd { fill: var(--ca-board); }
.game-card__preview .f-c1 { fill: var(--ca-cell); }
.game-card__preview .f-c2 { fill: var(--ca-cell-alt); }
.game-card__preview .f-pt { fill: var(--ca-pit); }
.game-card__preview .f-sn { fill: var(--ca-stone); }
.game-card__preview .f-hl { fill: var(--ca-highlight); }
.game-card__preview .f-sql { fill: var(--ca-square-light); }
.game-card__preview .f-sqd { fill: var(--ca-square-dark); }
.game-card__preview .f-pw { fill: var(--ca-piece-white); }
.game-card__preview .f-pb { fill: var(--ca-piece-black); }

.game-card__preview .s-i { stroke: var(--ca-ink); }
.game-card__preview .s-m { stroke: var(--ca-muted); }
.game-card__preview .s-l { stroke: var(--ca-line); }
.game-card__preview .s-p { stroke: var(--ca-paper); }
.game-card__preview .s-r { stroke: var(--ca-royal); }
.game-card__preview .s-s { stroke: var(--ca-sky); }
.game-card__preview .s-g { stroke: var(--ca-gold); }
.game-card__preview .s-a { stroke: var(--ca-player-a); }
.game-card__preview .s-b { stroke: var(--ca-player-b); }
.game-card__preview .s-gr { stroke: var(--ca-green); }
.game-card__preview .s-rd { stroke: var(--ca-red); }
.game-card__preview .s-o { stroke: var(--ca-on); }
.game-card__preview .s-og { stroke: var(--ca-on-gold); }
.game-card__preview .s-hl { stroke: var(--ca-highlight); }
.game-card__preview .s-sn { stroke: var(--ca-stone); }
.game-card__preview .s-rp { stroke: var(--ca-rope); }
.game-card__preview .s-rpd { stroke: var(--ca-rope-dark); }
.game-card__preview .s-pw { stroke: var(--ca-piece-white); }
.game-card__preview .s-pb { stroke: var(--ca-piece-black); }
.game-card__preview .s-pbl { stroke: var(--ca-piece-black-line); }
