/* Game boards grow; controls and learning text retain their readable size. */
html[data-classroom-playing] { scroll-padding-top: calc(var(--classroom-play-height, 64px) + 12px); }
html[data-classroom-playing] .shell-footer-shell { display: none; }
html[data-classroom-playing] :is(.cp-shell,.lp-shell) { padding: 16px 16px 24px; }
html[data-classroom-playing] :is(.cp-wrap,.lp-wrap) { max-width: 1480px; }
html[data-classroom-playing] :is(.cp-layout,.lp-layout) { grid-template-columns: 210px minmax(0,1fr); gap: 16px; align-items: start; }
html[data-classroom-playing] :is(.cp-play-panel,.lp-play-panel) { padding: 16px; min-width: 0; }
html[data-classroom-playing] :is(.cp-sidebar,.lp-sidebar) { padding: 14px; border-radius: 0 0 18px 18px; position: static; }
html[data-classroom-playing] :is(.cp-sidebar,.lp-sidebar) > :is(h2,.cp-eyebrow,.lp-step) { display: none; }
html[data-classroom-playing] :is(.cp-sidebar,.lp-sidebar) :is(label,legend,button,select,.cp-note p,.lp-note p) { font-size: 16px; }
.game-puzzle-options { min-width: 0; border: 1px solid #e0d9e9; border-radius: 18px; background: white; }
.game-puzzle-options > summary { min-height: 48px; padding: 11px 16px; color: #58476f; font-size: 17px; font-weight: 750; cursor: pointer; }
.game-puzzle-options > summary:focus-visible { outline: 3px solid #d99b32; outline-offset: 3px; }
html[data-classroom-playing] :is(.cp-board-head,.lp-board-head) { margin-bottom: 8px; }
html[data-classroom-playing] :is(.cp-board-head,.lp-board-head) h2 { margin: 0; font-size: 21px; }
html[data-classroom-playing] .cp-stats { padding: 8px; margin: 8px 0; gap: 8px; }
html[data-classroom-playing] .cp-board-controls .cp-stats { padding: 0; margin: 0; gap: 4px; }
html[data-classroom-playing] .cp-board-controls .cp-stats span { font-size: 14px; }
html[data-classroom-playing] .cp-stats > div { padding: 4px; }
html[data-classroom-playing] .cp-stats span { font-size: 14px; }
html[data-classroom-playing] .cp-stats strong { font-size: 20px; }
html[data-classroom-playing] .cp-instruction { font-size: 16px; line-height: 1.5; margin: 8px 0 12px; }
html[data-classroom-playing] :is(.cp-board-layout,.lp-board-layout) { display: grid; grid-template-columns: minmax(0,1fr) 176px; gap: 16px; align-items: start; }
html[data-classroom-playing] .cp-board { width: min(100%,var(--game-board-room,600px)); }
html[data-classroom-playing] .cp-shell .cp-cell { font-size: clamp(24px,calc(var(--game-board-room,600px) / var(--n) * .4),64px); }
html[data-classroom-playing] :is(.cp-board-controls,.lp-board-controls) { min-width: 0; display: grid; gap: 12px; align-self: center; }
html[data-classroom-playing] :is(.cp-actions,.lp-actions) { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin: 0; }
html[data-classroom-playing] :is(.cp-actions,.lp-actions) button { padding: 8px 4px; min-height: 48px; font-size: 15px; line-height: 1.3; white-space: normal; }
html[data-classroom-playing] :is(.cp-pencil-tools,.cp-number-pad) { width: 100%; margin: 0; gap: 8px; }
html[data-classroom-playing] .cp-number-pad { grid-template-columns: repeat(2,minmax(0,1fr)); }
@media (orientation: landscape) and (min-width: 1000px) {
  html[data-classroom-playing] .cp-number-pad { display: grid; }
  html[data-classroom-playing] .cp-pencil-tools { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
html[data-classroom-playing] .cp-number-pad button { min-height: 48px; font-size: 23px; }
html[data-classroom-playing] .cp-pencil-tools { display: grid; }
html[data-classroom-playing] .cp-pencil-tools button { font-size: 15px; min-height: 48px; padding: 8px; }
html[data-classroom-playing] .cp-dpad { margin: 0; width: 100%; }
html[data-classroom-playing] .cp-dpad button { min-width: 48px; min-height: 48px; }
html[data-classroom-playing] .cp-feedback { margin: 12px 0 0; padding: 8px 12px; font-size: 16px; line-height: 1.5; min-height: 40px; }
html[data-classroom-playing] :is(.lp-tools,.lp-gesture-note,.np-legend) { margin: 8px 0 12px; font-size: 16px; line-height: 1.45; }
html[data-classroom-playing] .lp-tools button { font-size: 16px; min-height: 48px; }
html[data-classroom-playing] .lp-board-viewport { padding: 10px; min-width: 0; max-height: var(--game-board-height,none); }
html[data-classroom-playing] .lp-clue { font-size: 16px; }
html[data-classroom-playing] :is(.lp-feedback,.lp-selection) { margin: 0; padding: 8px; font-size: 16px; line-height: 1.5; min-height: 0; }
html[data-classroom-playing] .lp-selection:empty { display: none; }
html[data-classroom-playing] .lp-pan { margin: 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
html[data-classroom-playing] .lp-pan button { font-size: 16px; min-height: 48px; }
html[data-classroom-playing] .lp-pan span { font-size: 14px; grid-column: 1 / -1; }

/* The same adaptive cells serve all local board games, including 3x4 and 13x13. */
html[data-classroom-playing] .fg-student-stage { max-width: 1400px; }
html[data-classroom-playing] .fg-student-bar { margin-bottom: 8px; }
html[data-classroom-playing] .fg-student-board { padding: 12px; }
html[data-classroom-playing] .fg-board-grid { --fg-cell-size: var(--game-cell-size,var(--fg-cell-max)); }
html[data-classroom-playing] .fg-dob-piece { width: calc(var(--fg-cell-size) - 12px); height: calc(var(--fg-cell-size) - 12px); max-width: none; }
html[data-classroom-playing] .fg-dob-icon { font-size: clamp(28px,calc(var(--fg-cell-size) * .38),76px); }
html[data-classroom-playing] .fg-dob-label { font-size: clamp(13px,calc(var(--fg-cell-size) * .12),20px); }
html[data-classroom-playing] .fg-disc-wrap { width: calc(var(--fg-cell-size) - 8px); height: calc(var(--fg-cell-size) - 8px); }
html[data-classroom-playing] .fg-disc { width: calc(var(--fg-cell-size) - 16px); height: calc(var(--fg-cell-size) - 16px); }
html[data-classroom-playing] :is(.fg-tut-caption,.fg-score-chip) { font-size: 16px; line-height: 1.5; }

html[data-classroom-playing] .mg-board-panel--2048 { display: grid; grid-template-columns: minmax(0,1fr) 156px; gap: 12px 16px; }
html[data-classroom-playing] .mg-board-panel--2048 > :is(.mg-board-intro,.mg-toolbar) { grid-column: 1 / -1; margin: 0; }
html[data-classroom-playing] .mg-board-panel--2048 .mg-board-intro { padding: 10px 12px; }
html[data-classroom-playing] #mg-2048-board { grid-column: 1; grid-row: 3 / 6; width: min(100%,var(--game-board-room,600px)); }
html[data-classroom-playing] .mg-2048-controls { grid-column: 2; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; align-self: center; }
html[data-classroom-playing] .mg-2048-controls button { min-height: 52px; font-size: 18px; }
html[data-classroom-playing] .mg-board-panel--2048 .mg-status-row { grid-column: 2; font-size: 16px; }
html[data-classroom-playing] .mg-wrap--2048 { width: min(100%,1320px); max-width: 1320px; }
html[data-classroom-playing] .eg-blockly .toolbar { padding: 8px 0; }
@media (orientation: landscape) and (min-width: 1000px) {
  html[data-classroom-playing] .mg-board-panel--2048 { grid-template-columns: minmax(0,1fr) 240px; }
  html[data-classroom-playing] .mg-board-panel--2048 > .mg-board-intro { grid-column: 2; grid-row: 1; display: grid; grid-template-columns: minmax(0,1fr); gap: 12px; }
  html[data-classroom-playing] .mg-board-panel--2048 .mg-2048-controls { grid-template-columns: repeat(3,minmax(0,1fr)); width: 100%; margin: 0; }
  html[data-classroom-playing] .mg-board-panel--2048 > .mg-toolbar { grid-column: 2; grid-row: 2; }
  html[data-classroom-playing] #mg-2048-board { grid-row: 1 / 6; }
  html[data-classroom-playing] #mg-2048[data-game-started] .mg-toolbar--2048 { display: none; }
}

html[data-classroom-playing][data-classroom-game="chess"] .board-container { max-width: none; width: min(100%,var(--game-board-room,680px)); }
html[data-classroom-playing][data-classroom-game="chess"] main header { margin-bottom: 8px; }
html[data-classroom-playing][data-classroom-game="chess"] .clay-card { padding: 12px; }
html[data-classroom-playing][data-classroom-game="janggi"] .janggi-board-wrap { width: min(100%,var(--game-board-room,740px)); }
html[data-classroom-playing][data-classroom-game="janggi"] main header { margin-bottom: 12px; }
html[data-classroom-playing][data-classroom-game="janggi"] .janggi-board-card { padding: 12px; }
html[data-classroom-playing][data-classroom-game="janggi"] .janggi-status-panel { padding: 12px; }
html[data-classroom-playing][data-classroom-game="janggi"] .turn-indicator { padding: 10px; }
html[data-classroom-playing][data-classroom-game="janggi"] .janggi-piece { width: calc(var(--game-board-room,630px) / 9 * .78); height: calc(var(--game-board-room,630px) / 9 * .84); padding: 3px; }
html[data-classroom-playing][data-classroom-game="janggi"] .piece-name { font-size: 13px; }

html[data-classroom-playing] .sg { max-width: 1480px; padding: 16px; }
html[data-classroom-playing] .sg-heading { margin-bottom: 8px; }
html[data-classroom-playing] .sg-play-layout { display: grid; grid-template-columns: minmax(0,1fr) 340px; gap: 24px; align-items: start; }
html[data-classroom-playing] .sg-board { width: min(100%,var(--sg-board-size,660px)); margin: 0 auto; }
html[data-classroom-playing] .sg-palette { grid-auto-flow: row; grid-template-columns: repeat(4,minmax(0,1fr)); grid-template-rows: none; grid-auto-columns: auto; gap: 8px; overflow: visible; padding: 0; }
html[data-classroom-playing] .sg-palette button { min-height: 52px; }
html[data-classroom-playing] .sg-tools { margin-top: 12px; }
html[data-classroom-playing] .sg-help { font-size: 16px; }

/* The canvas rectangle and its touch coordinates share the same 3:4 ratio. */
html[data-classroom-playing] .bs-root { height: calc(100dvh - var(--classroom-play-height,64px)); max-height: none; }
html[data-classroom-playing] .bs-arena-wrapper { min-height: 0; height: auto; overflow: hidden; }
html[data-classroom-playing] #bs-canvas { width: var(--bs-board-width,540px); height: var(--bs-board-height,720px); max-width: 100%; max-height: 100%; aspect-ratio: 3 / 4; flex: 0 0 auto; }

html[data-classroom-playing] [data-focus-board] { width: min(100%,var(--game-board-room,650px)); }
html[data-classroom-playing][data-classroom-game="living_cells"] .app { min-height: calc(100dvh - var(--classroom-play-height,64px)); padding: 12px; }
html[data-classroom-playing][data-classroom-game="living_cells"] .screen { width: min(1480px,100%); margin: 0 auto; }
html[data-classroom-playing][data-classroom-game="living_cells"] .shell { padding: 16px; min-height: 0; }
html[data-classroom-playing][data-classroom-game="living_cells"] .game { min-height: 0; gap: 12px; }
html[data-classroom-playing][data-classroom-game="living_cells"] .main-grid { align-items: start; }
html[data-classroom-playing][data-classroom-game="living_cells"] .side-panel { min-height: 0; }
html[data-classroom-playing][data-classroom-game="living_cells"] .topbar { min-height: 36px; }
html[data-classroom-playing] .problem-panel { min-height: 0; }
html[data-classroom-playing] .problem-body { padding: 12px; gap: 12px; align-content: start; }
html[data-classroom-playing] .problem-head { padding: 16px; }
html[data-classroom-playing] .center-status { min-height: 0; }
html[data-classroom-playing] .rule-row { font-size: 16px; }

html[data-classroom-playing] #yut-game-wrapper { margin-top: 0; min-height: 0; height: calc(100dvh - var(--classroom-play-height,64px)); }
html[data-classroom-playing] #yut-game-wrapper:fullscreen { height: 100dvh; }
html[data-classroom-playing] #game-container { grid-template-columns: 190px minmax(0,1fr) 260px; grid-template-rows: auto minmax(0,1fr); height: 100%; min-height: 0; padding: 12px; gap: 12px; }
html[data-classroom-playing] #game-header { grid-column: 3; grid-row: 1; padding: 6px; display: flex; justify-content: center; }
html[data-classroom-playing] #game-header > :empty { display: none; }
html[data-classroom-playing] #left-panel { grid-column: 1; grid-row: 1 / 3; }
html[data-classroom-playing] #canvas-wrapper { grid-column: 2; grid-row: 1 / 3; padding: 12px; }
html[data-classroom-playing] #right-panel { grid-column: 3; grid-row: 2; }
html[data-classroom-playing] :is(#left-panel,#right-panel) { padding: 12px; gap: 12px; }
html[data-classroom-playing] #yut-game-wrapper :is(.info-label,.section-title,.goal-subtitle,.yut-mode-btn,.instruction-hint,.log-entry) { font-size: 16px; }
html[data-classroom-playing] #yut-game-wrapper button { min-height: 48px; }
html[data-classroom-playing] #yut-game-wrapper #header-actions { flex-wrap: wrap; justify-content: center; gap: 6px; max-width: 100%; }
html[data-classroom-playing] #yut-game-wrapper #header-actions button { flex: 1 1 90px; padding: 8px; font-size: 16px; }
html[data-classroom-playing] #yut-game-wrapper .finished-pieces { flex-wrap: wrap; }
html[data-classroom-playing] #yut-game-wrapper .yut-mode-switcher { flex-wrap: wrap; }
html[data-classroom-playing] #yut-game-wrapper .yut-mode-btn { white-space: normal; }
html[data-classroom-playing] #yut-game-wrapper .goal-text { font-size: 16px; }

html[data-classroom-playing] .nonogram-game { padding: 12px; }
html[data-classroom-playing] .nonogram-game .App { width: min(100%,1400px); padding: 12px; }
html[data-classroom-playing] .nonogram-game .goal { margin: 8px 0; }
html[data-classroom-playing] .nonogram-game .ControlField { margin-bottom: 8px; gap: 8px; }
html[data-classroom-playing] .nonogram-game .board-scroll { max-height: none; }
@media (orientation: landscape) and (min-width: 1000px) {
  html[data-classroom-playing] .nonogram-game .App { display: grid; grid-template-columns: 240px minmax(0,1fr); gap: 8px 16px; }
  html[data-classroom-playing] .nonogram-game .App-content { display: contents; }
  html[data-classroom-playing] .nonogram-game .App-header { grid-column: 1; }
  html[data-classroom-playing] .nonogram-game .goal { grid-column: 1; }
  html[data-classroom-playing] .nonogram-game .ControlField { grid-column: 1; align-self: start; }
  html[data-classroom-playing] .nonogram-game .board-area { grid-column: 2; grid-row: 1 / 5; }
  html[data-classroom-playing] .nonogram-game .gameController { flex-direction: column; align-items: stretch; }
  html[data-classroom-playing] .nonogram-game .gameController label { flex-wrap: wrap; }
  html[data-classroom-playing] .nonogram-game .playController { gap: 8px; }
}

html[data-classroom-playing] :is(.bs-wind-badge,.bs-turn-badge,.bs-player-tag,.bs-stage-num,.bs-stage-name) { font-size: 14px; }
html[data-classroom-playing] .bs-player-name { font-size: 16px; }
html[data-classroom-playing] .mancala-board-shell { height: var(--mancala-board-height,400px); min-height: 0; }
html[data-classroom-playing] .mancala-board-shell canvas { min-height: 0; }

html[data-classroom-playing] :is(.tc-wrap,.hp-wrap) { max-width: 1400px; }
html[data-classroom-playing] :is(.tc-panel,.hp-panel) { padding: 16px; }
html[data-classroom-playing] :is(.tc-board,.hp-board) { max-width: none; width: min(100%,var(--game-board-room,640px)); }
html[data-classroom-playing] .tc-shell .tc-cell { font-size: clamp(24px,calc(var(--game-board-room,600px) / var(--tc-n) * .45),54px); }
html[data-classroom-playing] :is(.tc-legend,.tc-feedback,.hp-feedback,.tc-bottom,.hp-bottom) { font-size: 16px; }
@media (orientation: landscape) and (min-width: 1000px) {
  html[data-classroom-playing] :is(.tc-panel,.hp-panel) { display: grid; grid-template-columns: minmax(0,1fr) 250px; gap: 12px 24px; align-items: start; }
  html[data-classroom-playing] :is(.tc-board-scroll,.hp-board) { grid-column: 1; grid-row: 1 / 8; }
  html[data-classroom-playing] :is(.tc-panel,.hp-panel) > :not(.tc-board-scroll,.hp-board) { grid-column: 2; margin: 0; }
  html[data-classroom-playing] :is(.tc-board-head,.hp-board-head) { flex-wrap: wrap; }
}

@media (max-width: 900px) {
  html[data-classroom-playing] #yut-game-wrapper { height: auto; min-height: calc(100dvh - var(--classroom-play-height,64px)); }
  html[data-classroom-playing] #game-container { height: auto; }
  html[data-classroom-playing] #game-header { padding: 6px; }
}
@media (min-width: 601px) and (max-width: 900px) {
  html[data-classroom-playing] #game-container { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); grid-template-rows: none; }
  html[data-classroom-playing] #game-header { grid-column: 1 / -1; grid-row: 1; }
  html[data-classroom-playing] #yut-game-wrapper #header-actions { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); width: 100%; }
  html[data-classroom-playing] #yut-game-wrapper #fullscreen-label { display: inline; }
  html[data-classroom-playing] #yut-game-wrapper #turn-info-box { grid-column: 1 / -1; grid-row: 2; display: flex; flex-direction: row; align-items: center; justify-content: space-between; padding: 10px 16px; }
  html[data-classroom-playing] #yut-game-wrapper #turn-info-box .info-value { font-size: 26px; }
  html[data-classroom-playing] #canvas-wrapper { grid-column: 1 / -1; grid-row: 3; }
  html[data-classroom-playing] .yut-mode-switcher { grid-column: 1 / -1; grid-row: 4; }
  html[data-classroom-playing] #instruction { grid-column: 1 / -1; grid-row: 5; min-height: 0; padding: 10px; }
  html[data-classroom-playing] #yut-display { grid-column: 1; grid-row: 6; }
  html[data-classroom-playing] #button-container { grid-column: 2; grid-row: 6; align-self: center; }
  html[data-classroom-playing] #pending-throws-panel { grid-column: 1 / -1; grid-row: 7; }
  html[data-classroom-playing] #score-summary { grid-column: 1 / -1; grid-row: 8; }
  html[data-classroom-playing] :is(.scoreboard-goal-card,#piece-actions,#log) { grid-column: 1 / -1; }
}
@media (orientation: landscape) and (min-width: 1000px) {
  html[data-classroom-playing] .mancala-stage { width: min(1480px,100%); grid-template-columns: minmax(0,1fr) 240px; grid-template-rows: repeat(5,auto); gap: 12px 16px; align-items: start; }
  html[data-classroom-playing] .mancala-board-shell { grid-column: 1; grid-row: 1 / 7; }
  html[data-classroom-playing] .mancala-board-shell canvas { height: 100%; min-height: 0; }
  html[data-classroom-playing] .mancala-stage > :not(.mancala-board-shell) { grid-column: 2; }
  html[data-classroom-playing] .mancala-toolbar { grid-template-columns: minmax(0,1fr); padding: 0; gap: 8px; }
  html[data-classroom-playing] .mancala-actions { flex-wrap: wrap; justify-content: center; }
  html[data-classroom-playing] .mancala-scorebar { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
  html[data-classroom-playing] .mancala-turn-chip { grid-column: 1 / -1; grid-row: 1; }
  html[data-classroom-playing] .mancala-goal-strip { display: grid; grid-template-columns: minmax(0,1fr); gap: 8px; }
  html[data-classroom-playing] .mancala-goal-strip strong { white-space: normal; justify-self: stretch; }
  html[data-classroom-playing] .mancala-pit-actions > div { grid-template-columns: repeat(2,minmax(0,1fr)); }
  html[data-classroom-playing] .mancala-pit-actions :is(p,button) { font-size: 16px; }
  html[data-classroom-playing] .bs-game-container { display: grid; grid-template-columns: 210px minmax(0,1fr) 210px; min-height: 0; }
  html[data-classroom-playing] #bs-p1-hud { grid-column: 1; grid-row: 1; border: 0; border-right: 3px solid var(--bs-p1-color); }
  html[data-classroom-playing] #bs-p2-hud { grid-column: 3; grid-row: 1; transform: none; border: 0; border-left: 3px solid var(--bs-p2-color); }
  html[data-classroom-playing] .bs-arena-wrapper { grid-column: 2; grid-row: 1; }
  html[data-classroom-playing] .bs-player-hud { padding: 18px 12px; }
  html[data-classroom-playing] :is(.bs-hud-inner,.bs-player-info,.bs-player-status) { flex-direction: column; gap: 16px; text-align: center; }
  html[data-classroom-playing] .bs-stage-box { text-align: center; }
  html[data-classroom-playing] .bs-step-track { flex-wrap: wrap; justify-content: center; }
}

@media (orientation: landscape) and (min-width: 1000px) {
  html[data-classroom-playing] .fg-student-board { display: grid; grid-template-columns: minmax(0,1fr) 184px; gap: 12px; }
  html[data-classroom-playing] .fg-student-board #fg-board { grid-column: 1; grid-row: 1 / 5; }
  html[data-classroom-playing] .fg-student-board .fg-turn-rail { grid-column: 2; grid-row: 1; grid-template-columns: 1fr; }
  html[data-classroom-playing] .fg-student-board #fg-extra-top { grid-column: 2; grid-row: 2; margin: 0; }
  html[data-classroom-playing] .fg-student-board #fg-extra-bottom { grid-column: 2; grid-row: 3; margin: 0; }
  html[data-classroom-playing] .fg-student-board .fg-tut-caption { grid-column: 2; grid-row: 4; margin: 0; }
}
@media (max-width: 1000px), (orientation: portrait) {
  html[data-classroom-playing] .sg-play-layout { grid-template-columns: minmax(0,1fr); gap: 16px; }
  html[data-classroom-playing] .sg-palette { grid-template-columns: repeat(5,minmax(0,1fr)); }
  html[data-classroom-playing] :is(.cp-layout,.lp-layout) { grid-template-columns: minmax(0,1fr); }
  html[data-classroom-playing] :is(.cp-play-panel,.lp-play-panel) { grid-row: 1; }
  html[data-classroom-playing] .game-puzzle-options { grid-row: 2; }
  html[data-classroom-playing] :is(.cp-board-layout,.lp-board-layout) { grid-template-columns: minmax(0,1fr); }
  html[data-classroom-playing] :is(.cp-board-controls,.lp-board-controls) { display: flex; flex-wrap: wrap; justify-content: center; }
  html[data-classroom-playing] .cp-board-controls .cp-stats { flex-basis: 100%; }
  html[data-classroom-playing] :is(.cp-actions,.lp-actions,.cp-pencil-tools,.cp-number-pad) { display: flex; flex-wrap: wrap; justify-content: center; }
  html[data-classroom-playing] .cp-number-pad button { flex: 1; min-width: 44px; max-width: 88px; }
  html[data-classroom-playing] :is(.lp-feedback,.lp-selection) { flex-basis: 100%; text-align: center; }
  html[data-classroom-playing] .mg-board-panel--2048 { grid-template-columns: minmax(0,1fr); }
  html[data-classroom-playing] #mg-2048-board { grid-column: 1; grid-row: auto; }
  html[data-classroom-playing] .mg-2048-controls { grid-column: 1; grid-template-columns: repeat(4,minmax(0,1fr)); }
  html[data-classroom-playing] .mg-2048-controls button { grid-column: auto; grid-row: auto; }
  html[data-classroom-playing] .mg-board-panel--2048 .mg-status-row { grid-column: 1; }
}
@media (max-width: 600px) {
  html[data-classroom-playing] .sg { padding: 12px; }
  html[data-classroom-playing] .sg-palette { grid-template-columns: repeat(4,minmax(0,1fr)); }
  html[data-classroom-playing] :is(.cp-shell,.lp-shell) { padding: 12px 8px 20px; }
  html[data-classroom-playing] :is(.cp-play-panel,.lp-play-panel) { padding: 12px; }
  html[data-classroom-playing] .cp-stats { gap: 4px; }
  html[data-classroom-playing] .cp-stats span { font-size: 13px; }
}
