/* Active game: chat, board, and a compact match console. */
#game-social[hidden],.history[hidden]{display:none!important}
body:not(.classic-table) #classic-console,body:not(.classic-table) #classic-controls,body:not(.classic-table) .player-score{display:none}
.classic-table{--seat-red:#e36974;--seat-blue:#56b0ed}
.classic-table [data-color=red]{--seat-color:var(--seat-red);--seat-rgb:196,58,76}
.classic-table [data-color=blue]{--seat-color:var(--seat-blue);--seat-rgb:40,139,209}
.classic-table #dice,.classic-table .panel-kicker,.classic-table .table-footer,.classic-table #turn-count,.classic-table #history-list{display:none}
.classic-table .player-card .avatar{display:none}
.classic-table .player-clock,.classic-table .player-clock.running,.classic-table .player-clock.low,.classic-table .player-clock.running.low{border:0;box-shadow:none;background:transparent;color:var(--text)}
.classic-table .player-clock .clock-delay,.classic-table .player-clock .clock-delay.counting{color:var(--muted)}
.classic-table .player-card.turn{box-shadow:none}
.classic-table .player-card strong::after{content:none}
.classic-table #connection,.classic-table #mobile-connection{display:none!important}
.classic-table .player-card .player-presence{display:inline-block;width:calc(7px * var(--ui-scale, 1));height:calc(7px * var(--ui-scale, 1));flex:none;margin:0 calc(6px * var(--ui-scale, 1)) 1px 0;border-radius:50%;background:#777;vertical-align:middle;box-shadow:0 0 0 calc(2px * var(--ui-scale, 1)) #ffffff06}
.classic-table .player-card .player-presence[data-online=true]{background:#8baa69;box-shadow:0 0 0 calc(2px * var(--ui-scale, 1)) #8baa6914}
.classic-table .player-card #you-name,.classic-table .player-card #opponent-name{display:inline;vertical-align:middle}
.game-review-bar{display:flex;align-items:center;gap:calc(2px * var(--ui-scale, 1));padding:calc(4px * var(--ui-scale, 1));background:var(--surface);border:1px solid var(--line);border-radius:calc(4px * var(--ui-scale, 1));min-width:0}
.game-review-bar button{display:flex;align-items:center;justify-content:center;gap:calc(5px * var(--ui-scale, 1));flex:1;min-width:calc(30px * var(--ui-scale, 1));height:calc(32px * var(--ui-scale, 1));padding:calc(4px * var(--ui-scale, 1));color:var(--muted);border-radius:calc(3px * var(--ui-scale, 1))}
.game-review-bar button:hover:not(:disabled){background:var(--hover);color:var(--text)}
.game-review-bar svg{width:calc(19px * var(--ui-scale, 1));height:calc(19px * var(--ui-scale, 1));flex:none}
.game-review-bar #review-analysis{flex:2;font-size:max(11px, calc(12px * var(--ui-scale, 1)));padding:calc(4px * var(--ui-scale, 1)) calc(6px * var(--ui-scale, 1));margin-right:calc(2px * var(--ui-scale, 1));border-right:1px solid var(--line)}
.game-review-bar button:disabled{opacity:.35}
#classic-console{--score-width:calc(38px * var(--ui-scale, 1));--time-width:calc(82px * var(--ui-scale, 1));border:1px solid var(--line);background:var(--surface);border-radius:calc(5px * var(--ui-scale, 1));padding:calc(12px * var(--ui-scale, 1));min-width:0;flex:none}
#classic-controls{min-width:0;padding:calc(12px * var(--ui-scale, 1));border:1px solid var(--line);border-radius:calc(8px * var(--ui-scale, 1));background:linear-gradient(145deg,#ffffff03,transparent),var(--surface);box-shadow:0 calc(3px * var(--ui-scale, 1)) calc(12px * var(--ui-scale, 1)) #0002}
#classic-console{border-radius:calc(8px * var(--ui-scale, 1));box-shadow:0 calc(3px * var(--ui-scale, 1)) calc(12px * var(--ui-scale, 1)) #0002}
#classic-console #classic-you .player-card{border-bottom:0;padding-bottom:calc(4px * var(--ui-scale, 1))}
.classic-match-meta{display:flex;flex-wrap:wrap;gap:calc(4px * var(--ui-scale, 1)) calc(8px * var(--ui-scale, 1));align-items:baseline;font-size:max(11px, calc(12px * var(--ui-scale, 1)));color:var(--muted);line-height:1.5;padding:0 0 calc(12px * var(--ui-scale, 1));border-bottom:1px solid var(--line)}
#score-extra:not(:empty)::before{content:'·';margin-right:calc(8px * var(--ui-scale, 1))}
.classic-columns{display:grid;grid-template-columns:minmax(0,1fr) var(--score-width) var(--time-width);gap:calc(8px * var(--ui-scale, 1));padding:calc(10px * var(--ui-scale, 1)) 0 calc(4px * var(--ui-scale, 1));color:var(--muted);font-size:max(10px, calc(10px * var(--ui-scale, 1)))}
.classic-columns>:nth-child(2){text-align:center}
.classic-columns>:last-child{text-align:right}
#classic-console.without-clock{--time-width:0px}
#classic-console.without-clock #time-column{visibility:hidden}
.classic-table .player-score strong{color:var(--seat-color);font-size:max(11px, calc(26px * var(--ui-scale, 1)));font-weight:500;line-height:1.2;font-variant-numeric:tabular-nums;text-align:center}
#classic-middle{min-width:0;padding:calc(12px * var(--ui-scale, 1)) 0 0}
.classic-table #classic-middle .turn-heading{margin:calc(6px * var(--ui-scale, 1)) 0;gap:calc(7px * var(--ui-scale, 1))}
.classic-table #classic-middle .turn-heading h2{font-size:max(11px, calc(15px * var(--ui-scale, 1)));font-weight:500}
.classic-table #turn-description{font-size:max(11px, calc(12px * var(--ui-scale, 1)));min-height:0;line-height:1.4;margin:calc(4px * var(--ui-scale, 1)) 0 calc(10px * var(--ui-scale, 1))}
.classic-table #main-actions:empty{display:none}
.classic-table #main-actions button{font-size:max(11px, calc(13px * var(--ui-scale, 1)));padding:calc(9px * var(--ui-scale, 1));min-height:calc(36px * var(--ui-scale, 1))}
.classic-table .small-actions{display:grid;gap:calc(6px * var(--ui-scale, 1));padding:calc(8px * var(--ui-scale, 1)) 0 0;margin-top:calc(8px * var(--ui-scale, 1));grid-template-columns:minmax(0,1fr)}
.classic-table .small-actions button{border:1px solid var(--line);border-radius:calc(4px * var(--ui-scale, 1));min-height:calc(38px * var(--ui-scale, 1));font-size:max(11px, calc(12px * var(--ui-scale, 1)));padding:calc(6px * var(--ui-scale, 1))}
.classic-table .small-actions #undo{width:100%;min-height:calc(38px * var(--ui-scale, 1))}
.resign-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:calc(6px * var(--ui-scale, 1))}
.resign-actions:has(#resign-match[hidden]){grid-template-columns:minmax(0,1fr)}
.classic-table .resign-actions #resign-match{width:auto;margin:0;padding:calc(6px * var(--ui-scale, 1));color:var(--muted)}
.classic-table #play-preferences{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:calc(5px * var(--ui-scale, 1));margin:calc(8px * var(--ui-scale, 1)) 0 0;padding:calc(8px * var(--ui-scale, 1)) 0 0;border-top:1px solid var(--line)}
.classic-table #play-preferences .auto-roll{display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:calc(4px * var(--ui-scale, 1));min-width:0;width:100%;min-height:calc(57px * var(--ui-scale, 1));margin:0;padding:calc(7px * var(--ui-scale, 1)) calc(3px * var(--ui-scale, 1));border:1px solid var(--line);border-radius:calc(4px * var(--ui-scale, 1));background:transparent;color:var(--muted);font-size:max(10px, calc(10px * var(--ui-scale, 1)));line-height:1.25;text-align:center;white-space:normal}
.classic-table .automation-label{margin:auto 0;hyphens:manual}
.classic-table .automation-state{font-size:max(10px, calc(10px * var(--ui-scale, 1)));font-weight:500}
.classic-table #play-preferences .auto-roll[aria-pressed=true]{background:#748a6912;border-color:#82947666;color:var(--text)}
.classic-table #play-preferences .auto-roll[aria-pressed=true] .automation-state{color:#b7c7ab}
.table-area>.board-tools{position:static;flex:none;margin-top:calc(8px * var(--ui-scale, 1));min-height:calc(38px * var(--ui-scale, 1))}
.table-area>.board-tools #double{min-width:calc(34px * var(--ui-scale, 1));border:1px solid var(--line);border-radius:calc(3px * var(--ui-scale, 1))}
.classic-table #mobile-table-actions{display:none!important}
#review-live{width:100%;padding:calc(8px * var(--ui-scale, 1));border:1px solid var(--blue);border-radius:calc(4px * var(--ui-scale, 1));background:var(--soft);color:var(--blue);font-size:max(11px, calc(12px * var(--ui-scale, 1)));line-height:1.4;margin:0 0 calc(10px * var(--ui-scale, 1))}
#game-social{min-width:0;display:flex;flex-direction:column;gap:calc(12px * var(--ui-scale, 1))}
#classic-info{padding:0 0 calc(12px * var(--ui-scale, 1));margin-bottom:calc(12px * var(--ui-scale, 1));border-bottom:1px solid var(--line)}
.game-chat{border:1px solid var(--line);border-radius:calc(5px * var(--ui-scale, 1));background:var(--surface)}
.classic-table #classic-info .table-heading{display:block;padding:0}
.classic-table #classic-info .back-lobby{font-size:max(11px, calc(12px * var(--ui-scale, 1)));margin-bottom:calc(8px * var(--ui-scale, 1))}
.classic-table #classic-info .eyebrow{font-size:max(10px, calc(10px * var(--ui-scale, 1)));line-height:1.5}
.classic-table #classic-info h1{font-size:max(11px, calc(15px * var(--ui-scale, 1)));margin:calc(6px * var(--ui-scale, 1)) 0;font-weight:500}
.classic-table #classic-info .connection{font-size:max(11px, calc(11px * var(--ui-scale, 1)))}
.game-chat{position:relative;display:flex;flex-direction:column;flex:1;min-height:calc(220px * var(--ui-scale, 1));overflow:hidden}
#close-game-chat{display:none;position:absolute;right:calc(4px * var(--ui-scale, 1));top:calc(2px * var(--ui-scale, 1));font-size:max(11px, calc(24px * var(--ui-scale, 1)));min-width:calc(40px * var(--ui-scale, 1));min-height:calc(40px * var(--ui-scale, 1))}
.game-chat h2{font-size:max(11px, calc(14px * var(--ui-scale, 1)));font-weight:500;margin:0;padding:calc(14px * var(--ui-scale, 1)) calc(16px * var(--ui-scale, 1));border-bottom:1px solid var(--line)}
#chat-messages{flex:1;min-height:0;overflow-y:auto;padding:calc(12px * var(--ui-scale, 1));scrollbar-width:thin;overflow-wrap:anywhere}
#chat-messages article{margin:0 0 calc(15px * var(--ui-scale, 1));font-size:max(11px, calc(12px * var(--ui-scale, 1)))}
#chat-messages article>div{display:flex;gap:calc(8px * var(--ui-scale, 1));align-items:baseline;justify-content:space-between}
#chat-messages strong{font-weight:500;color:var(--seat-color)}
#chat-messages time{font-size:max(10px, calc(10px * var(--ui-scale, 1)));color:var(--muted);flex:none}
#chat-messages p{font-size:max(11px, calc(13px * var(--ui-scale, 1)));line-height:1.5;margin:calc(7px * var(--ui-scale, 1)) 0 0;white-space:pre-wrap}
#chat-messages .sending{opacity:.65}
#chat-note{font-size:max(11px, calc(11px * var(--ui-scale, 1)));color:var(--muted);margin:calc(6px * var(--ui-scale, 1)) calc(12px * var(--ui-scale, 1));line-height:1.5}
#chat-form{display:flex;padding:calc(8px * var(--ui-scale, 1));gap:calc(4px * var(--ui-scale, 1));border-top:1px solid var(--line)}
#chat-input{min-width:0;width:0;flex:1;font-size:max(11px, calc(12px * var(--ui-scale, 1)));padding:calc(10px * var(--ui-scale, 1)) calc(6px * var(--ui-scale, 1));background:var(--soft);border:1px solid var(--line);border-radius:calc(3px * var(--ui-scale, 1))}
#chat-form button{display:flex;align-items:center;justify-content:center;width:calc(32px * var(--ui-scale, 1));color:var(--blue)}
#chat-form svg{width:calc(20px * var(--ui-scale, 1));height:calc(20px * var(--ui-scale, 1))}
#chat-form :disabled{opacity:.45}
#table-options-dialog{width:calc(440px * var(--ui-scale, 1));max-height:85dvh;padding:calc(24px * var(--ui-scale, 1));overflow-y:auto}
#table-options-dialog h2{font-size:max(11px, calc(21px * var(--ui-scale, 1)));margin:0 calc(35px * var(--ui-scale, 1)) calc(22px * var(--ui-scale, 1)) 0}
#table-options-dialog #download{padding:calc(12px * var(--ui-scale, 1)) 0;color:var(--blue)}
#table-options-dialog .legal-moves{max-height:calc(240px * var(--ui-scale, 1))}
.classic-table .game-review-bar button:focus-visible,.classic-table button:focus-visible{outline:calc(2px * var(--ui-scale, 1)) solid var(--blue);outline-offset:calc(2px * var(--ui-scale, 1))}

/* Use the whole monitor, letting the board grow between compact side panels. */
body.classic-table.desktop-table{background:linear-gradient(var(--header),var(--bg) calc(220px * var(--ui-scale, 1)))}
body.classic-table.desktop-table .arena{padding:calc(8px * var(--ui-scale, 1)) calc(12px * var(--ui-scale, 1));height:calc(100dvh - calc(60px * var(--ui-scale, 1)));max-width:none}
body.classic-table.desktop-table .site-header{height:calc(60px * var(--ui-scale, 1));min-height:calc(60px * var(--ui-scale, 1));max-width:none;padding:0 calc(20px * var(--ui-scale, 1))}
body.classic-table.desktop-table .arena-grid{grid-template-columns:clamp(calc(180px * var(--ui-scale, 1)),12vw,calc(300px * var(--ui-scale, 1))) minmax(0,1fr) clamp(calc(260px * var(--ui-scale, 1)),18vw,calc(360px * var(--ui-scale, 1)));gap:calc(12px * var(--ui-scale, 1));align-items:stretch;max-width:none;margin:0}
body.classic-table.desktop-table .board-shell,body.classic-table.desktop-table .table-area:has(#match-strip:not([hidden])) .board-shell{background:transparent;box-shadow:none}
body.classic-table.desktop-table #board-canvas{inset:0}
.classic-table.desktop-table #game-social{grid-column:1;grid-row:1;align-self:center;height:clamp(calc(260px * var(--ui-scale, 1)),50dvh,calc(440px * var(--ui-scale, 1)));max-height:100%;min-height:0}
.classic-table.desktop-table .table-area{grid-column:2;grid-row:1}
.classic-table.desktop-table #active-game-panel{grid-column:3;grid-row:1;align-self:center;height:auto;max-height:100%;display:flex;flex-direction:column;gap:calc(12px * var(--ui-scale, 1));overflow-y:auto;padding:0;background:transparent;box-shadow:none;scrollbar-width:thin}
.classic-table.desktop-table #active-game-panel>#mobile-player-summary,.classic-table.desktop-table #active-game-panel>#mobile-connection,.classic-table.desktop-table #active-game-panel>.history,.classic-table.desktop-table #active-game-panel>#mobile-table-actions{display:none}
.classic-table.desktop-table #match-strip{display:none!important}
.classic-table.desktop-table .player-card{display:grid;grid-template-columns:minmax(0,1fr) var(--score-width) var(--time-width);align-items:center;gap:calc(8px * var(--ui-scale, 1));padding:calc(12px * var(--ui-scale, 1)) 0;min-height:calc(72px * var(--ui-scale, 1));background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none}
.classic-table.desktop-table .player-card>div:nth-child(2)>strong{font-size:max(11px, calc(13px * var(--ui-scale, 1)));color:var(--text)}
.classic-table.desktop-table .player-card #you-detail,.classic-table.desktop-table .player-card #opponent-detail{font-size:max(10px, calc(10px * var(--ui-scale, 1)));color:var(--muted)}
.classic-table.desktop-table .player-card .player-stats{display:none}
.classic-table.desktop-table .player-clock{grid-column:3;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:calc(5px * var(--ui-scale, 1));margin:0;padding:0;min-width:0;min-height:0;font-size:max(11px, calc(28px * var(--ui-scale, 1)));font-weight:500;line-height:1.1}
.classic-table.desktop-table .clock-delay{font-size:max(10px, calc(10px * var(--ui-scale, 1)));font-weight:400;letter-spacing:0}
.classic-table.desktop-table #classic-console .game-review-bar{margin-top:calc(12px * var(--ui-scale, 1));border-radius:calc(3px * var(--ui-scale, 1))}
.classic-table.desktop-table #classic-middle .small-actions{margin-bottom:0;padding-bottom:0}
.classic-table.desktop-table .board-shell{border-radius:calc(4px * var(--ui-scale, 1))}
.classic-table.desktop-table .board-tools{justify-content:flex-start;min-height:calc(38px * var(--ui-scale, 1));padding:calc(5px * var(--ui-scale, 1)) calc(6px * var(--ui-scale, 1));background:var(--surface);border:1px solid var(--line);border-radius:calc(4px * var(--ui-scale, 1))}
.classic-table.desktop-table .board-tools button{font-size:max(11px, calc(11px * var(--ui-scale, 1)));padding:calc(5px * var(--ui-scale, 1)) calc(6px * var(--ui-scale, 1))}
.classic-table.desktop-table #table-fullscreen{margin-left:auto}
.classic-table.desktop-table #error-banner:not([hidden]){grid-column:1/-1}
.classic-table.desktop-table .round-notice{font-size:max(11px, calc(11px * var(--ui-scale, 1)));bottom:calc(60px * var(--ui-scale, 1));max-width:90%}
.classic-table #invite-panel{margin:calc(12px * var(--ui-scale, 1)) 0;font-size:max(11px, calc(12px * var(--ui-scale, 1)))}
.classic-table #invite-panel p{font-size:max(11px, calc(11px * var(--ui-scale, 1)))}
@media(min-width:601px) and (max-width:1100px){
 body.classic-table.desktop-table .arena{padding:calc(8px * var(--ui-scale, 1))}
 body.classic-table.desktop-table .arena-grid{grid-template-columns:minmax(0,1fr) calc(250px * var(--ui-scale, 1));gap:calc(10px * var(--ui-scale, 1))}
 .classic-table.desktop-table .table-area{grid-column:1}
 .classic-table.desktop-table #active-game-panel{grid-column:2}
 .classic-table.desktop-table #game-social{position:fixed;left:calc(14px * var(--ui-scale, 1));bottom:calc(60px * var(--ui-scale, 1));top:calc(90px * var(--ui-scale, 1));width:calc(280px * var(--ui-scale, 1));height:auto;z-index:15;display:none;box-shadow:0 calc(12px * var(--ui-scale, 1)) calc(50px * var(--ui-scale, 1)) #0008}
 .classic-table.desktop-table.chat-open #game-social{display:flex}
 .classic-table.desktop-table #classic-console{--score-width:calc(28px * var(--ui-scale, 1));--time-width:calc(68px * var(--ui-scale, 1));padding:calc(10px * var(--ui-scale, 1))}
 .classic-table.desktop-table .player-clock{font-size:max(11px, calc(25px * var(--ui-scale, 1)))}
 .classic-table.desktop-table .game-review-bar button{min-width:calc(24px * var(--ui-scale, 1))}
 .classic-table.desktop-table .game-review-bar #review-analysis{padding:calc(4px * var(--ui-scale, 1))}
 .classic-table.desktop-table .game-review-bar #review-analysis svg{display:none}
}
#table-chat-toggle{display:none}
@media(max-width:1100px){
 .classic-table #table-chat-toggle{display:block}
 .classic-table #close-game-chat{display:block}
}
/* Retain the existing phone board and compact live-clock layout. */
.classic-table.mobile-table #classic-opponent,.classic-table.mobile-table #classic-you,.classic-table.mobile-table .classic-match-meta,.classic-table.mobile-table .classic-columns,.classic-table.mobile-table .player-score{display:none}
.classic-table.mobile-table #classic-console{display:contents}
.classic-table.mobile-table #classic-controls{display:contents}
.classic-table.mobile-table #classic-middle{display:contents}
.classic-table.mobile-table .game-review-bar{grid-column:1/-1}
.classic-table.mobile-table #review-live{grid-column:1/-1}
.classic-table.mobile-table #game-social{display:none;position:fixed;inset:calc(70px * var(--ui-scale, 1)) calc(12px * var(--ui-scale, 1)) calc(16px * var(--ui-scale, 1));z-index:30;background:var(--bg);box-shadow:0 calc(12px * var(--ui-scale, 1)) calc(50px * var(--ui-scale, 1)) #0008;border-radius:calc(5px * var(--ui-scale, 1))}
.classic-table.mobile-table.chat-open #game-social{display:flex}
.classic-table.mobile-table #classic-info{display:none}
.classic-table.mobile-table .game-chat{min-height:0}
.classic-table.mobile-table #chat-heading{cursor:pointer}
.classic-table.mobile-table .game-review-bar #review-analysis{font-size:max(11px, calc(12px * var(--ui-scale, 1)))}
.classic-table.mobile-table #table-chat-toggle{font-size:max(11px, calc(12px * var(--ui-scale, 1)));min-height:calc(32px * var(--ui-scale, 1))}
.classic-table.mobile-table #match-score{font-variant-numeric:tabular-nums}
.classic-table.mobile-table #active-game-panel .table-footer{display:none}
.classic-table.mobile-table #mobile-player-summary .player-clock{display:flex;flex-direction:column;align-items:center;gap:calc(5px * var(--ui-scale, 1));padding:calc(7px * var(--ui-scale, 1)) calc(3px * var(--ui-scale, 1));line-height:1.1;border-radius:calc(4px * var(--ui-scale, 1));font-size:max(11px, calc(24px * var(--ui-scale, 1)))}
.classic-table.mobile-table #mobile-player-summary .clock-delay{font-size:max(10px, calc(10px * var(--ui-scale, 1)))}
.classic-table.mobile-table #mobile-player-summary .player-card{grid-template-columns:minmax(0,1fr);text-align:center}
.classic-table.mobile-table #mobile-player-summary .player-card.turn{border-color:var(--line);background:var(--soft)}
.classic-table.mobile-table #main-actions:empty{display:none}
.classic-table.mobile-table #turn-description:empty{display:none}
.classic-table.mobile-table .small-actions{grid-column:1/-1;grid-template-columns:minmax(0,1fr);display:grid}
.classic-table.mobile-table .small-actions button{min-width:0;min-height:calc(38px * var(--ui-scale, 1));font-size:max(11px, calc(12px * var(--ui-scale, 1)))}
.classic-table.mobile-table #play-preferences{grid-column:1/-1;order:6;margin-top:0;padding-top:0;border:0}
.classic-table.mobile-table .table-area>.board-tools{display:flex;justify-content:center;gap:calc(4px * var(--ui-scale, 1));padding:calc(5px * var(--ui-scale, 1));background:var(--surface);border:1px solid var(--line)}
.classic-table.mobile-table .board-tools button{min-height:calc(32px * var(--ui-scale, 1));padding:calc(5px * var(--ui-scale, 1));font-size:max(10px, calc(10px * var(--ui-scale, 1)))}
.classic-table.mobile-table.table-wide #play-preferences .auto-roll{font-size:calc(9px * var(--ui-scale, 1));min-height:calc(57px * var(--ui-scale, 1));padding:calc(5px * var(--ui-scale, 1)) calc(2px * var(--ui-scale, 1))}
@media(max-height:800px) and (min-width:601px){
 .classic-table.desktop-table #active-game-panel{gap:calc(10px * var(--ui-scale, 1))}
 .classic-table.desktop-table #classic-controls{padding:calc(10px * var(--ui-scale, 1))}
 .classic-table.desktop-table #classic-console{padding:calc(10px * var(--ui-scale, 1))}
 .classic-table.desktop-table #classic-info{padding-bottom:calc(8px * var(--ui-scale, 1));margin-bottom:calc(8px * var(--ui-scale, 1))}
 .classic-table.desktop-table #classic-info .back-lobby{margin-bottom:calc(2px * var(--ui-scale, 1))}
 .classic-table.desktop-table #classic-info h1{margin:calc(2px * var(--ui-scale, 1)) 0}
 .classic-table.desktop-table .classic-match-meta{padding-bottom:calc(8px * var(--ui-scale, 1))}
 .classic-table.desktop-table .classic-columns{padding:calc(4px * var(--ui-scale, 1)) 0 calc(2px * var(--ui-scale, 1))}
 .classic-table.desktop-table .player-card{min-height:calc(50px * var(--ui-scale, 1));padding:calc(5px * var(--ui-scale, 1)) 0}
 .classic-table.desktop-table .player-clock{font-size:max(11px, calc(26px * var(--ui-scale, 1)));line-height:1;gap:calc(3px * var(--ui-scale, 1))}
 .classic-table.desktop-table .clock-delay{line-height:1}
 .classic-table.desktop-table #classic-console .game-review-bar{margin-top:calc(8px * var(--ui-scale, 1))}
 .classic-table.desktop-table .game-review-bar button{height:calc(28px * var(--ui-scale, 1))}
 .classic-table.desktop-table #classic-middle{padding-top:calc(6px * var(--ui-scale, 1))}
 .classic-table.desktop-table #classic-middle .turn-heading{margin:calc(4px * var(--ui-scale, 1)) 0}
 .classic-table.desktop-table #classic-middle:has(#invite-panel:not([hidden])) #turn-description{display:none}
 .classic-table.desktop-table .small-actions button,.classic-table.desktop-table .small-actions #undo{min-height:calc(34px * var(--ui-scale, 1))}
 .classic-table.desktop-table #invite-panel{margin:calc(8px * var(--ui-scale, 1)) 0}
 .classic-table.desktop-table .invite-input{margin-top:calc(6px * var(--ui-scale, 1))}
 .classic-table.desktop-table #invite-panel p{line-height:1.4;margin:calc(8px * var(--ui-scale, 1)) 0}
 .classic-table.desktop-table #play-preferences{margin-top:calc(6px * var(--ui-scale, 1));padding-top:calc(6px * var(--ui-scale, 1))}
 .classic-table.desktop-table #play-preferences .auto-roll{min-height:calc(50px * var(--ui-scale, 1))}
}

/* Quiet raised controls, with a visible pressed state and full hit areas. */
.classic-table .small-actions button,.classic-table #play-preferences .auto-roll,.classic-table .board-tools button,.classic-table .game-review-bar button,.classic-table #copy-invite{background:linear-gradient(#ffffff07,#ffffff02),var(--soft);border:1px solid #ffffff16;border-radius:calc(5px * var(--ui-scale, 1));box-shadow:inset 0 1px #ffffff07,0 calc(2px * var(--ui-scale, 1)) calc(3px * var(--ui-scale, 1)) #0002;color:var(--text);transition:background .15s,border-color .15s,box-shadow .15s,transform .12s}
.classic-table .small-actions #undo{font-size:max(11px, calc(13px * var(--ui-scale, 1)));font-weight:500}
.classic-table .small-actions button:hover:not(:disabled),.classic-table .board-tools button:hover:not(:disabled),.classic-table .game-review-bar button:hover:not(:disabled),.classic-table #play-preferences .auto-roll:hover:not(:disabled),.classic-table #copy-invite:hover{background:var(--hover);border-color:#ffffff40;box-shadow:inset 0 1px #ffffff10,0 calc(3px * var(--ui-scale, 1)) calc(6px * var(--ui-scale, 1)) #0003;transform:translateY(-1px)}
.classic-table .small-actions button:active:not(:disabled),.classic-table .board-tools button:active:not(:disabled),.classic-table .game-review-bar button:active:not(:disabled),.classic-table #play-preferences .auto-roll:active:not(:disabled){transform:translateY(1px);box-shadow:inset 0 1px calc(3px * var(--ui-scale, 1)) #0004}
.classic-table .board-tools button.active,.classic-table .board-tools button[aria-pressed=true]{border-color:#a4b7c255;background:linear-gradient(#ffffff10,#ffffff04),var(--soft)}
.classic-table .game-review-bar{padding:calc(4px * var(--ui-scale, 1));gap:calc(4px * var(--ui-scale, 1));background:#00000012;border-color:#ffffff0a;border-radius:calc(6px * var(--ui-scale, 1))}
.classic-table .game-review-bar #review-analysis{border:1px solid #ffffff20;margin:0}
.classic-table .resign-actions button:hover:not(:disabled){border-color:#c88b8266;background:#c88b8214}
.classic-table #play-preferences .auto-roll[aria-pressed=true]{box-shadow:inset 0 calc(2px * var(--ui-scale, 1)) #a8bc8d80,0 calc(2px * var(--ui-scale, 1)) calc(3px * var(--ui-scale, 1)) #0002}
.classic-table #chat-form button{background:var(--soft);border:1px solid #ffffff16;border-radius:calc(5px * var(--ui-scale, 1));min-width:calc(34px * var(--ui-scale, 1));box-shadow:inset 0 1px #ffffff08}
.classic-table #chat-form button:hover:not(:disabled){background:var(--hover);border-color:var(--blue)}

/* Keep desktop table controls together under the raised chat. */
.board-size-control{grid-column:1/-1;flex:0 0 100%;min-width:0;width:100%;padding:calc(10px * var(--ui-scale, 1)) calc(4px * var(--ui-scale, 1)) calc(2px * var(--ui-scale, 1));border-top:1px solid var(--line);margin-top:calc(4px * var(--ui-scale, 1))}
.board-size-heading{display:flex;align-items:center;justify-content:space-between;gap:calc(8px * var(--ui-scale, 1));margin-bottom:calc(3px * var(--ui-scale, 1));font-size:max(11px, calc(12px * var(--ui-scale, 1)));color:var(--muted)}
.board-size-heading label{margin:0;color:inherit;font-size:inherit}
.board-size-heading output{color:var(--text);font-variant-numeric:tabular-nums}
.board-size-control input[type=range]{display:block;appearance:none;width:100%;height:calc(28px * var(--ui-scale, 1));padding:0;margin:0;border:0;border-radius:0;background:transparent;box-shadow:none;cursor:pointer;touch-action:pan-y}
.board-size-control input[type=range]::-webkit-slider-runnable-track{height:calc(4px * var(--ui-scale, 1));border-radius:calc(99px * var(--ui-scale, 1));background:linear-gradient(to right,var(--blue) 0 var(--board-size-fill),var(--line) var(--board-size-fill) 100%)}
.board-size-control input[type=range]::-webkit-slider-thumb{appearance:none;width:calc(14px * var(--ui-scale, 1));height:calc(14px * var(--ui-scale, 1));margin-top:calc(-5px * var(--ui-scale, 1));border:calc(2px * var(--ui-scale, 1)) solid var(--surface);border-radius:50%;background:var(--blue);box-shadow:0 0 0 1px var(--blue)}
.board-size-control input[type=range]::-moz-range-track{height:calc(4px * var(--ui-scale, 1));border-radius:calc(99px * var(--ui-scale, 1));background:var(--line)}
.board-size-control input[type=range]::-moz-range-progress{height:calc(4px * var(--ui-scale, 1));border-radius:calc(99px * var(--ui-scale, 1));background:var(--blue)}
.board-size-control input[type=range]::-moz-range-thumb{width:calc(10px * var(--ui-scale, 1));height:calc(10px * var(--ui-scale, 1));border:calc(2px * var(--ui-scale, 1)) solid var(--surface);border-radius:50%;background:var(--blue);box-shadow:0 0 0 1px var(--blue)}
.board-size-control input[type=range]:focus-visible{outline:calc(2px * var(--ui-scale, 1)) solid var(--blue);outline-offset:calc(3px * var(--ui-scale, 1));border-radius:calc(5px * var(--ui-scale, 1))}

/* Only active beside-board panels receive this class; phone/chat overlays do not. */
.classic-table.desktop-table #game-social.board-edge-panel,
.classic-table.desktop-table #active-game-panel.board-edge-panel,
body.analysis-table #study-main>.analysis-tools.board-edge-panel,
body.analysis-table #study-main>.study-panel.board-edge-panel{position:relative;left:var(--board-edge-shift,0px);z-index:4}
@media(min-width:1101px){
 .classic-table.desktop-table #game-social{height:auto;gap:calc(10px * var(--ui-scale, 1))}
 .classic-table.desktop-table #game-social .game-chat{flex:none;height:clamp(calc(220px * var(--ui-scale, 1)),34dvh,calc(380px * var(--ui-scale, 1)));min-height:0}
 .classic-table.desktop-table #game-social>.board-tools{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:calc(6px * var(--ui-scale, 1));flex:none;margin:0;padding:calc(8px * var(--ui-scale, 1));border-radius:calc(5px * var(--ui-scale, 1))}
 .classic-table.desktop-table #game-social>.board-tools button{width:100%;min-width:0;min-height:calc(34px * var(--ui-scale, 1));margin:0;padding:calc(6px * var(--ui-scale, 1)) calc(4px * var(--ui-scale, 1));font-size:max(11px, calc(11px * var(--ui-scale, 1)));line-height:1.3;white-space:normal}
 .classic-table.desktop-table #game-social>.board-tools :is(#double,#table-fullscreen){grid-column:1/-1}
}

/* Phone settings stay beside the board, including zoom and the doubling cube. */
.classic-table.mobile-table #active-game-panel>.board-tools{position:static;inset:auto;width:100%;max-width:100%;margin:0;order:7;grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:calc(4px * var(--ui-scale, 1));padding:calc(6px * var(--ui-scale, 1));border:1px solid var(--line);border-radius:calc(5px * var(--ui-scale, 1));flex:none}
.classic-table.mobile-table #active-game-panel>.board-tools button{min-width:0;min-height:calc(32px * var(--ui-scale, 1));padding:calc(5px * var(--ui-scale, 1)) calc(3px * var(--ui-scale, 1));font-size:max(11px, calc(11px * var(--ui-scale, 1)));white-space:normal}
.classic-table.mobile-table #active-game-panel>.board-tools #table-fullscreen,.classic-table.mobile-table #active-game-panel>.board-tools .board-size-control{grid-column:1/-1}
