/* Keep all eleven ranks equal. Auto-sized implicit rows could collapse one
   rank in a short browser viewport, leaving legal pawn targets unclickable. */
#board {
  grid-template-columns: repeat(11, minmax(0, 1fr));
  grid-template-rows: repeat(11, minmax(0, 1fr));
  min-height: 0;
  overflow: hidden;
}

/* Buttons carrying a chess glyph used their intrinsic text height, which let
   occupied ranks steal height from empty ranks. Every square must be allowed
   to shrink inside its equal grid track. */
#board .sq {
  min-height: 0;
  height: 100%;
  line-height: 1;
  overflow: hidden;
}
