/* Shared fallback tokens keep pages styled while a selected theme is loading. */
:root {
  --body-bg: #eef1dd;
  --stars-layer: none;
  --sun-glow: rgba(255, 232, 168, .85);
  --sky-top: #bcd6e8;
  --sky-upper: #d7e6d0;
  --sky-lower: #eef1dd;
  --sky-bottom: #f6ecd2;
  --ground-a: #b7c887;
  --ground-b: #9fb56f;
  --ground-c: #8aa25c;
  --square-color-dark: #7a9a5a;
  --square-color-light: #f2e6c4;
  --outline-color-focus: #e8a33d;
  --terrain-filter: none;
  --piece-filter: none;
  --enemy-filter: none;
}

/* Board piece slots are shared; artwork comes from the selected set stylesheet. */
g-chess-board::part(piece-wk) { background-image: var(--active-king); }
g-chess-board::part(piece-wr) { background-image: var(--active-rook); }
g-chess-board::part(piece-wq) { background-image: var(--active-queen); }
g-chess-board::part(piece-wb) { background-image: var(--active-bishop); }
g-chess-board::part(piece-wn) { background-image: var(--active-knight); }
g-chess-board::part(piece-wp) { background-image: var(--active-pawn); }
g-chess-board::part(piece-bk) { background-image: var(--black-king); }
g-chess-board::part(piece-bq) { background-image: var(--black-queen); }
g-chess-board::part(piece-br) { background-image: var(--black-rook); }
g-chess-board::part(piece-bb) { background-image: var(--black-bishop); }
g-chess-board::part(piece-bn) { background-image: var(--black-knight); }
g-chess-board::part(piece-bp) { background-image: var(--black-pawn); }
g-chess-board::part(piece-wk), g-chess-board::part(piece-wr),
g-chess-board::part(piece-wq), g-chess-board::part(piece-wb),
g-chess-board::part(piece-wn), g-chess-board::part(piece-wp) {
  filter: var(--piece-filter, none);
  transition: filter .4s ease;
}
g-chess-board::part(piece-bk), g-chess-board::part(piece-bq),
g-chess-board::part(piece-br), g-chess-board::part(piece-bb),
g-chess-board::part(piece-bn), g-chess-board::part(piece-bp) {
  filter: var(--enemy-filter, none);
  transition: filter .4s ease;
}

/* Shared piece slots */
