/* Board geometry stays square regardless of piece glyphs or parent iframe size. */
.board-stage{background:radial-gradient(circle at 50% 20%,#13303b 0%,#090f18 55%,#070b10 100%)}
.board-frame,.opponent-bar,.player-bar{width:min(100%,74vh,780px)}
.board-frame{flex:none;aspect-ratio:1;border:6px solid #213744;border-radius:12px;box-shadow:0 0 0 1px #4595ac66,0 0 0 7px #0a141c,0 28px 60px #000b,0 0 48px #1bbfea28;overflow:hidden}
.chessboard{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));grid-template-rows:repeat(8,minmax(0,1fr));width:100%;height:100%}
.square{width:100%;height:100%;min-width:0;min-height:0;border:0;border-radius:0;padding:0;line-height:1;font-size:clamp(23px,5vmin,62px);transition:filter .14s,box-shadow .14s}
.square.light{background:linear-gradient(135deg,#274453,#203946)}
.square.dark{background:linear-gradient(135deg,#0e202d,#102635)}
.square.white-piece{color:#f1faff;text-shadow:0 2px 2px #001019,0 0 9px #6deaffad}
.square.black-piece{color:#ffc974;text-shadow:0 2px 2px #1c1007,0 0 9px #ffaf5688}
.square:hover{filter:brightness(1.26)}
.square:focus-visible{outline:3px solid #fff1a7;outline-offset:-4px;z-index:2}
.square.selected{box-shadow:inset 0 0 0 4px #69e5ff,inset 0 0 24px #32d8ff77;background:#175270}
.square.last{box-shadow:inset 0 0 0 999px #d2af4233}
.square.in-check{box-shadow:inset 0 0 0 999px #ff335580,inset 0 0 22px #ff3355}
.square.legal:after{background:#5feaffb0;box-shadow:0 0 0 3px #122634b8,0 0 12px #49d9fb}
.coord{font-size:clamp(8px,1.2vw,11px);opacity:.8}
.light .coord,.dark .coord{color:#cbdce3}
.opponent-bar,.player-bar{padding:12px 2px}
.control-panel{border-color:#284356;background:linear-gradient(145deg,#101d28,#080d13)}
.embed .board-frame,.embed .opponent-bar,.embed .player-bar{width:min(100%,62vh,650px)}
@media(max-width:1050px){.board-frame,.opponent-bar,.player-bar{width:min(100%,82vw,720px)}}
@media(max-width:680px){.board-frame,.opponent-bar,.player-bar{width:calc(100vw - 16px)}.board-frame{border-width:4px}.square{font-size:clamp(22px,10vw,48px)}}
