/*=====================================================
  AKUNUR BOARD APPEARANCE EXPERIMENTS

  This stylesheet is intentionally separate from styles.css.
  It can be edited or replaced on the server without rebuilding
  the rest of the game package.

  The selector adds one class to #boardSvg:
    .board-style-standard
    .board-style-ring-shading
    .board-style-ring-boundaries
    .board-style-combined
=====================================================*/

:root {
  /* Adjust these variables first when trying new board materials or tones. */
  --akunur-ring-even-fill: #fffaf4;
  --akunur-ring-odd-fill: #f3ecdf;
  --akunur-ring-boundary-colour: rgba(91, 75, 59, 0.52);
  --akunur-ring-boundary-width: 1.35;
  --akunur-ring-boundary-major-width: 1.85;
  --akunur-outer-boundary-colour: rgba(78, 61, 45, 0.72);
  --akunur-outer-boundary-width: 2.1;
}

/* Ring-line geometry is generated for every radius, but hidden in standard mode. */
#boardSvg .board-ring-boundary {
  opacity: 0;
  stroke: var(--akunur-ring-boundary-colour);
  stroke-width: var(--akunur-ring-boundary-width);
  stroke-linecap: round;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}

/*
  OPTION 1: subtle alternating ring shading.
  State colours remain authoritative, so setup guidance, last move and selection
  are not obscured. Corners and the Still Point retain their existing identity.
*/
#boardSvg.board-style-ring-shading .board-cell.cell-normal.ring-even:not(.is-placement-zone):not(.is-last-move):not(.is-selected),
#boardSvg.board-style-combined .board-cell.cell-normal.ring-even:not(.is-placement-zone):not(.is-last-move):not(.is-selected) {
  fill: var(--akunur-ring-even-fill);
}

#boardSvg.board-style-ring-shading .board-cell.cell-normal.ring-odd:not(.is-placement-zone):not(.is-last-move):not(.is-selected),
#boardSvg.board-style-combined .board-cell.cell-normal.ring-odd:not(.is-placement-zone):not(.is-last-move):not(.is-selected) {
  fill: var(--akunur-ring-odd-fill);
}

/*
  OPTION 2: exact boundaries between concentric board rings.
  These are separate SVG line elements rather than heavier cell outlines, so
  internal edges within one ring are not accidentally emphasised.
*/
#boardSvg.board-style-ring-boundaries .board-ring-boundary,
#boardSvg.board-style-combined .board-ring-boundary {
  opacity: 1;
}

/* Slightly stronger alternate boundaries provide orientation without labels. */
#boardSvg.board-style-ring-boundaries .board-ring-boundary-even,
#boardSvg.board-style-combined .board-ring-boundary-even {
  stroke-width: var(--akunur-ring-boundary-major-width);
}

#boardSvg.board-style-ring-boundaries .outer-board-boundary,
#boardSvg.board-style-combined .outer-board-boundary {
  stroke: var(--akunur-outer-boundary-colour);
  stroke-width: var(--akunur-outer-boundary-width);
}

/* Standard mode intentionally adds no visual override. */
#boardSvg.board-style-standard .board-ring-boundary {
  opacity: 0;
}
