.board{position:relative;grid-template-columns:repeat(8,minmax(0,1fr));grid-template-rows:repeat(8,minmax(0,1fr));contain:layout paint style}
/* The grid, not the number or intrinsic size of SVGs, determines every cell. */
.board>.square{min-width:0;min-height:0;aspect-ratio:auto;overflow:hidden}
.board>.square>.piece{position:absolute;inset:0;margin:auto;display:block}
.board>.square{touch-action:none}
.board[data-pointer-drag="active"],.board[data-pointer-drag="active"]>.square{cursor:grabbing}
.board>.square>.board-drag-source{opacity:0!important}
/* Turn text must not push the board when it changes from 'Your turn' to
   'Computer is thinking', or when a long online player name is displayed. */
.player-row>div:not(.avatar):not(.clock){flex:1;min-width:0}
.player-row strong,.player-row small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.player-row small{line-height:1.4;min-height:1.4em}
.player-row .clock{flex:0 0 auto}
.history-controls>strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.board .board-motion-layer,.board .opponent-last-arrow{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:hidden;border-radius:inherit}
.board .board-motion-layer{z-index:8}
.board .board-motion-piece{position:absolute;pointer-events:none;will-change:transform;contain:layout style}
.board .board-motion-piece .piece{display:block;width:100%;height:100%;pointer-events:none}
.board .motion-destination-hidden{opacity:0!important}
.board .square.opponent-last-from{box-shadow:inset 0 0 0 4px #e6af2d}
.board .square.opponent-last-to{box-shadow:inset 0 0 0 4px #3f9ac0}
.board .opponent-last-arrow{z-index:6;color:#e5ad2a;filter:drop-shadow(0 1px 1px #30261088)}
.board .opponent-origin-ring{fill:#ffe59655;stroke:currentColor;stroke-width:8}
.board .opponent-move-line{fill:none;stroke:currentColor;stroke-width:9;stroke-linecap:round;opacity:.94}
@media(prefers-reduced-motion:reduce){.board .board-motion-layer{display:none}}
