/* Game controls sit beside the board; clocks follow its visible top and bottom. */
body.classic-table.desktop-table .arena-grid,body.classic-table.desktop-table.bot-table .arena-grid{grid-template-columns:clamp(calc(200px * var(--ui-scale, 1)),16vw,calc(260px * var(--ui-scale, 1))) minmax(0,1fr) clamp(calc(290px * var(--ui-scale, 1)),24vw,calc(370px * var(--ui-scale, 1)));gap:calc(10px * var(--ui-scale, 1))}
body.classic-table.desktop-table .table-area,body.classic-table.desktop-table.bot-table .table-area{grid-column:2}
body.classic-table.desktop-table #active-game-panel,body.classic-table.desktop-table.bot-table #active-game-panel{grid-column:3}
body.classic-table.desktop-table #game-social{position:relative;inset:auto;left:var(--board-edge-shift,0px);grid-column:1;grid-row:1;display:flex;width:auto;height:auto;min-height:0;max-height:100%;align-self:center;gap:calc(10px * var(--ui-scale, 1));box-shadow:none}
body.classic-table.desktop-table #game-social .game-chat{flex:0 1 auto;min-height:calc(160px * var(--ui-scale, 1));height:clamp(calc(180px * var(--ui-scale, 1)),26dvh,calc(320px * var(--ui-scale, 1)))}
body.classic-table.desktop-table #table-chat-toggle,body.classic-table.desktop-table #close-game-chat{display:none}
.table-quick-controls{flex:none;min-width:0;padding:calc(12px * var(--ui-scale, 1));border:1px solid var(--line);border-radius:calc(5px * var(--ui-scale, 1));background:var(--surface)}
body.classic-table #game-quick-controls .board-size-control{padding:0;margin:0 0 calc(12px * var(--ui-scale, 1));border:0}
body.classic-table #game-quick-controls .board-size-heading{margin-bottom:calc(9px * var(--ui-scale, 1));font-size:max(11px, calc(14px * var(--ui-scale, 1)));color:var(--text)}
body.classic-table #game-quick-controls .board-size-presets button{height:calc(36px * var(--ui-scale, 1));padding:calc(6px * var(--ui-scale, 1)) calc(2px * var(--ui-scale, 1));border:1px solid var(--line);border-radius:calc(4px * var(--ui-scale, 1));background:var(--soft);font-size:max(11px, calc(13px * var(--ui-scale, 1)))}
body.classic-table #game-quick-controls .board-size-presets button[aria-pressed=true]{border-color:var(--blue);color:var(--blue);background:#69aeec18}
body.classic-table #game-quick-controls #table-fullscreen{display:block;width:100%;min-height:calc(36px * var(--ui-scale, 1));margin:0;padding:calc(7px * var(--ui-scale, 1));border:1px solid var(--line);border-radius:calc(4px * var(--ui-scale, 1));background:var(--soft);font-size:max(11px, calc(13px * var(--ui-scale, 1)))}
body.classic-table #game-quick-controls #play-preferences{display:flex;flex-direction:column;gap:0;margin-top:calc(10px * var(--ui-scale, 1));padding-top:calc(6px * var(--ui-scale, 1));border-top:1px solid var(--line)}
body.classic-table #game-quick-controls #play-preferences .settings-switch{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;gap:calc(9px * var(--ui-scale, 1));min-height:calc(38px * var(--ui-scale, 1));padding:calc(6px * var(--ui-scale, 1)) 0;margin:0;border:0;border-radius:0;background:none;box-shadow:none;transform:none;font-size:0;line-height:1.3;text-align:left}
#game-quick-controls .settings-switch>*{display:none}
#game-quick-controls .settings-switch::before{content:attr(data-setting-label);font-size:max(11px, calc(13px * var(--ui-scale, 1)));color:var(--muted)}
#game-quick-controls .settings-switch::after{content:'';order:-1;flex:none;width:calc(32px * var(--ui-scale, 1));height:calc(18px * var(--ui-scale, 1));border-radius:calc(12px * var(--ui-scale, 1));background:radial-gradient(circle at calc(9px * var(--ui-scale, 1)) calc(9px * var(--ui-scale, 1)),#aaa 0 calc(6px * var(--ui-scale, 1)),transparent calc(7px * var(--ui-scale, 1))),#464646}
#game-quick-controls .settings-switch[aria-checked=true]::after{background:radial-gradient(circle at calc(23px * var(--ui-scale, 1)) calc(9px * var(--ui-scale, 1)),#eee 0 calc(6px * var(--ui-scale, 1)),transparent calc(7px * var(--ui-scale, 1))),#418ca6}
body.classic-table.desktop-table #classic-console .player-card{grid-template-columns:minmax(0,1fr) calc(36px * var(--ui-scale, 1))}
body.classic-table #active-game-panel.live-game .game-review-bar>button{flex:1;min-width:0;border:0}
body.classic-table #active-game-panel.live-game #review-analysis{margin-right:0}
body.classic-table .small-actions{display:grid;grid-template-columns:1fr;gap:calc(7px * var(--ui-scale, 1));padding-top:calc(8px * var(--ui-scale, 1))}
body.classic-table .small-actions .resign-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:calc(7px * var(--ui-scale, 1))}
body.classic-table .small-actions .resign-actions:has(#resign-match[hidden]){grid-template-columns:1fr}
body.classic-table .small-actions button,body.classic-table .small-actions #undo,body.classic-table .small-actions #resign-match{display:flex;justify-content:center;align-items:center;gap:calc(7px * var(--ui-scale, 1));width:100%;height:auto;min-height:calc(38px * var(--ui-scale, 1));padding:calc(8px * var(--ui-scale, 1)) calc(5px * var(--ui-scale, 1));margin:0;border:1px solid var(--line);border-radius:calc(4px * var(--ui-scale, 1));background:var(--soft);box-shadow:none;color:var(--text);font-size:max(11px, calc(13px * var(--ui-scale, 1)));line-height:1.25;white-space:normal}
body.classic-table .small-actions button svg{flex:none;width:calc(17px * var(--ui-scale, 1));height:calc(17px * var(--ui-scale, 1));margin:0;color:var(--muted)}
body.classic-table #active-game-panel:not(.show-game-status) #classic-middle>.turn-heading,body.classic-table #active-game-panel:not(.show-game-status) #turn-description{display:none!important}
.board-clocks{position:absolute;inset:0;z-index:5;pointer-events:none}
body:not(.classic-table) .board-clocks{display:none}
body.classic-table:not(.timed-table) #board-canvas{inset:calc(30px * var(--ui-scale, 1)) 0}
body.classic-table.timed-table #board-canvas{inset:calc(46px * var(--ui-scale, 1)) 0}
.board-clock-anchor{position:absolute;left:var(--clock-right);display:flex;align-items:center;gap:calc(8px * var(--ui-scale, 1));width:max-content}
.board-pips{padding:calc(4px * var(--ui-scale, 1)) calc(8px * var(--ui-scale, 1));border:1px solid var(--line);border-radius:calc(3px * var(--ui-scale, 1));background:var(--surface);font-size:max(11px, calc(14px * var(--ui-scale, 1)));line-height:max(14px, calc(18px * var(--ui-scale, 1)));font-variant-numeric:tabular-nums;white-space:nowrap}
.board-pips[data-color=blue]{color:#68bbdf}
.board-pips[data-color=red]{color:#df8a8c}
.board-clocks:not(.flipped) [data-clock=opponent],.board-clocks.flipped [data-clock=you]{top:var(--clock-top);transform:translate(-100%,calc(-100% - calc(4px * var(--ui-scale, 1))))}
.board-clocks:not(.flipped) [data-clock=you],.board-clocks.flipped [data-clock=opponent]{top:var(--clock-bottom);transform:translate(-100%,calc(4px * var(--ui-scale, 1)))}
body.classic-table .board-clocks .player-clock{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;gap:calc(10px * var(--ui-scale, 1));min-width:calc(116px * var(--ui-scale, 1));min-height:calc(38px * var(--ui-scale, 1));height:auto;margin:0;padding:calc(5px * var(--ui-scale, 1)) calc(10px * var(--ui-scale, 1));border:1px solid #777;border-radius:calc(3px * var(--ui-scale, 1));background:#999;color:#4d4d4d;box-shadow:none;font-size:max(11px, calc(27px * var(--ui-scale, 1)));font-weight:500;font-variant-numeric:tabular-nums;line-height:1}
body.classic-table .board-clocks .player-clock.running{background:#202020;color:#fff;border-color:#393939}
body.classic-table .board-clocks .clock-tick{position:relative;order:-2;flex:none;width:calc(16px * var(--ui-scale, 1));height:calc(16px * var(--ui-scale, 1));box-sizing:border-box;border:calc(2px * var(--ui-scale, 1)) solid currentColor;border-radius:50%;visibility:hidden;margin-right:auto}
body.classic-table .board-clocks .running .clock-tick{visibility:visible}
body.classic-table .board-clocks .clock-tick::after{content:'';position:absolute;left:50%;bottom:50%;width:calc(2px * var(--ui-scale, 1));height:calc(5px * var(--ui-scale, 1));border-radius:1px;background:currentColor;transform-origin:50% 100%;transform:translateX(-50%) rotate(var(--clock-hand,0deg))}
body.classic-table .board-clocks .clock-delay{order:-1;font-size:max(10px, calc(10px * var(--ui-scale, 1)));font-weight:400;white-space:nowrap;color:inherit;opacity:.8}
body.classic-table.mobile-table #game-social{display:none}
body.classic-table.mobile-table.chat-open #game-social{display:flex}
body.classic-table.mobile-table #active-game-panel:not(.table-settings-open){height:100%;align-self:stretch;overflow-y:auto;overscroll-behavior:contain}
body.classic-table.mobile-table #game-quick-controls{padding:calc(10px * var(--ui-scale, 1)) calc(8px * var(--ui-scale, 1));border:0;border-top:1px solid var(--line);border-radius:0}
body.classic-table.mobile-table #active-game-panel.table-settings-open>#game-quick-controls{display:none}
body.classic-table.mobile-table .small-actions button,body.classic-table.mobile-table .small-actions #undo,body.classic-table.mobile-table .small-actions #resign-match{min-height:calc(34px * var(--ui-scale, 1));padding:calc(6px * var(--ui-scale, 1)) calc(3px * var(--ui-scale, 1));font-size:max(11px, calc(12px * var(--ui-scale, 1)));gap:calc(4px * var(--ui-scale, 1))}
body.classic-table.mobile-table .small-actions button svg{width:calc(15px * var(--ui-scale, 1));height:calc(15px * var(--ui-scale, 1))}
body.classic-table.mobile-table:not(.timed-table) #board-canvas{inset:calc(26px * var(--ui-scale, 1)) 0!important}
body.classic-table.mobile-table .board-clock-anchor{gap:calc(5px * var(--ui-scale, 1))}
body.classic-table.mobile-table .board-pips{padding:calc(3px * var(--ui-scale, 1)) calc(6px * var(--ui-scale, 1));font-size:max(11px, calc(11px * var(--ui-scale, 1)));line-height:max(14px, calc(16px * var(--ui-scale, 1)))}
body.classic-table.mobile-table.timed-table #board-canvas{inset:calc(36px * var(--ui-scale, 1)) 0!important}
body.classic-table.mobile-table .board-clocks .player-clock{min-width:calc(96px * var(--ui-scale, 1));min-height:calc(28px * var(--ui-scale, 1));padding:calc(3px * var(--ui-scale, 1)) calc(7px * var(--ui-scale, 1));gap:calc(7px * var(--ui-scale, 1));font-size:max(11px, calc(21px * var(--ui-scale, 1)))}
body.classic-table.mobile-table .board-clocks .clock-delay{font-size:calc(9px * var(--ui-scale, 1))}

body.classic-table.mobile-table #active-game-panel:not(.live-game):not(.table-settings-open) .game-history-panel{flex:none;height:calc(220px * var(--ui-scale, 1));min-height:calc(220px * var(--ui-scale, 1))}

body.classic-table #game-quick-controls>#play-preferences{margin-top:0;padding-top:0;border-top:0}
body.classic-table #game-quick-controls>.small-actions{margin-bottom:calc(12px * var(--ui-scale, 1));padding-bottom:calc(12px * var(--ui-scale, 1));border-bottom:1px solid var(--line)}
