/*=====================================================
  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;
  /* Defaults are deliberately stronger than the ordinary 1px cell grid. */
  --akunur-ring-boundary-colour: rgba(139, 92, 45, 0.90);
  --akunur-ring-boundary-width: 3.2;
  --akunur-ring-boundary-major-width: 4.2;
  --akunur-outer-boundary-colour: rgba(101, 67, 37, 0.96);
  --akunur-outer-boundary-width: 4.8;
}

/* 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;
  stroke-linejoin: round;
  stroke-opacity: 0.84;
  shape-rendering: geometricPrecision;
  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;
}

/*
  Boundary-only mode is intentionally clear enough to compare at normal board
  size. Combined mode is softer because the alternating fill already carries
  part of the ring information.
*/
#boardSvg.board-style-ring-boundaries {
  --akunur-ring-boundary-colour: rgba(139, 92, 45, 0.92);
  --akunur-ring-boundary-width: 3.2;
  --akunur-ring-boundary-major-width: 4.2;
}

#boardSvg.board-style-combined {
  --akunur-ring-boundary-colour: rgba(117, 83, 49, 0.72);
  --akunur-ring-boundary-width: 2.2;
  --akunur-ring-boundary-major-width: 3.0;
  --akunur-outer-boundary-width: 3.8;
}

/* Keep every ring visible, with alternate contours slightly stronger. */
#boardSvg.board-style-ring-boundaries .board-ring-boundary-odd,
#boardSvg.board-style-combined .board-ring-boundary-odd {
  stroke-opacity: 0.68;
}

#boardSvg.board-style-ring-boundaries .board-ring-boundary-even,
#boardSvg.board-style-combined .board-ring-boundary-even {
  stroke-opacity: 0.96;
}

/* 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;
}
