/* Dedicated classroom screens: size the play area to the actual window. */
body.board-ready { --board-gap: clamp(8px, 1.3vh, 16px); height:100vh; height:100dvh; display:flex; flex-direction:column; overflow:hidden; overscroll-behavior:none; }
.board-ready *, .board-ready button { -webkit-user-select:none; user-select:none; }
.board-ready button { touch-action:manipulation; }
.board-ready button:hover { transform:none; }
.board-ready .board-bar { flex:0 0 auto; min-height:64px; padding:8px clamp(12px,2vw,32px); gap:16px; border-bottom:1px solid #d9e6f4; font-family:Arial,sans-serif; }
.board-back { flex-shrink:0; text-decoration:none; font-weight:700; padding:14px 10px; }
.board-heading { min-width:0; margin-right:auto; }
.board-heading strong { display:block; font-size:clamp(18px,1.8vw,28px); }
.board-heading span { display:block; font-size:14px; line-height:1.4; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:48vw; color:#526079; }
.board-tools { display:flex; gap:10px; flex-shrink:0; }
.board-tools button, .board-settings-done { border:2px solid #b9cddd; border-radius:12px; background:#fff; color:#17365d; min-height:48px; padding:10px 16px; font-size:17px; font-weight:700; }
#board-fullscreen, .board-settings-done { background:#08786e; border-color:#08786e; color:#fff; }
#board-notice { position:fixed; top:70px; right:16px; z-index:30; max-width:440px; padding:16px; border:2px solid #e7ca84; border-radius:12px; background:#fff3d6; color:#17365d; margin:0; }
.board-ready main { flex:1; min-height:0; width:100%; max-width:none; padding:var(--board-gap) clamp(12px,2vw,32px); margin:0; overflow:hidden; }
.board-ready #games { height:100%; }
.board-ready .garden-stage, .board-ready .sentence-game { height:100%; min-height:0; margin:0; padding:var(--board-gap) clamp(12px,1.8vw,28px); border-radius:20px; display:flex; flex-direction:column; position:relative; }
.board-ready .garden-note, .board-ready .sentence-heading { display:none; }
.board-ready #board-teacher-panel { position:absolute; top:8px; right:8px; z-index:20; max-width:calc(100% - 16px); max-height:calc(100% - 16px); overflow-y:auto; display:flex; flex-wrap:wrap; align-items:center; gap:16px; padding:24px; margin:0; background:#fff; border:3px solid #08786e; border-radius:18px; box-shadow:0 12px 40px #17365d44; }
.board-ready .sentence-options { width:min(700px,100%); }
.board-ready #board-teacher-panel .garden-kicker { display:none; }
.board-ready #board-teacher-panel h2 { font-size:24px; }
.board-ready #board-teacher-panel label, .board-ready .word-set-label { font-size:18px; }
.board-ready #board-teacher-panel select, .board-ready .word-set-menu>summary { font-size:19px; min-height:52px; padding:12px; }
.board-ready #board-teacher-panel .word-set-groups { position:static; max-height:40vh; width:100%; box-shadow:none; }
.board-ready .word-set-choice { font-size:18px; min-height:48px; }
.board-ready .word-set-category>summary { font-size:19px; min-height:50px; }
.board-ready .board-settings-done { margin-left:auto; font-family:Arial,sans-serif; }
.board-ready [id$="-garden-instruction"] { margin:0 0 4px; font-size:clamp(18px,2.3vh,27px); line-height:1.3; text-align:center; }
.board-ready .garden-progress, .board-ready .sentence-progress { flex-shrink:0; margin:4px 0 var(--board-gap); font-size:clamp(16px,2vh,24px); gap:16px; }
.board-ready .garden-progress progress, .board-ready .sentence-progress progress { height:12px; }
.board-ready [id$="-garden-play"] { flex:1; min-height:0; }
.board-ready [id$="-garden-feedback"], .board-ready #sentence-feedback { flex-shrink:0; margin:6px 0 0; min-height:30px; font-size:clamp(20px,2.8vh,30px); line-height:1.25; text-align:center; }
.board-ready [id$="-garden-next"] { flex-shrink:0; text-align:center; }
.board-ready [id$="-garden-next"]:empty { display:none; }
.board-ready .garden-button { min-height:52px; font-size:clamp(18px,2.6vh,28px); padding:10px 20px; box-shadow:none; }
.board-ready .garden-memory { height:100%; grid-template-columns:repeat(var(--memory-columns,4),minmax(0,1fr)); grid-template-rows:repeat(var(--memory-rows,3),minmax(0,1fr)); gap:var(--board-gap); }
.board-ready .garden-tile { min-height:0; height:100%; padding:8px; border-radius:18px; border-bottom-width:5px; }
.board-ready .garden-vocab { height:100%; width:100%; min-height:0; object-fit:contain; }
.board-ready .garden-tile.covered span { font-size:clamp(42px,8vh,100px); }
.board-ready [data-game="quiz"] [id$="-garden-play"] { display:flex; flex-direction:column; gap:var(--board-gap); }
.board-ready .garden-prompt { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:16px; margin:0; flex-shrink:0; }
.board-ready .garden-prompt h4 { margin:0; font-size:clamp(28px,4vh,52px); }
.board-ready .garden-choices { flex:1; min-height:0; gap:clamp(12px,2vw,32px); }
.board-ready .garden-choices .garden-vocab { height:100%; }
.board-ready [data-game="build"] [id$="-garden-play"] { display:grid; grid-template-columns:minmax(0,34%) minmax(0,1fr); grid-template-rows:minmax(0,1fr) auto auto; gap:var(--board-gap) clamp(16px,3vw,50px); align-items:center; }
.board-ready .garden-build-picture { grid-column:1; grid-row:1 / 4; width:100%; height:100%; margin:0; padding:12px; display:flex; flex-direction:column; gap:8px; }
.board-ready .garden-build-picture .garden-vocab { flex:1; min-height:0; height:0; }
.board-ready .garden-build-picture .garden-button { margin:0; flex-shrink:0; }
.board-ready .garden-slots { grid-column:2; align-self:end; margin:0; gap:8px; }
.board-ready .garden-slots span { width:clamp(32px,calc(54vw / var(--slot-count,8) - 8px),80px); height:clamp(48px,9vh,90px); font-size:clamp(28px,4.7vh,50px); }
.board-ready .garden-slots .garden-fixed { width:12px; }
.board-ready .garden-letters { grid-column:2; margin:0; gap:12px; }
.board-ready .garden-letters button { width:clamp(52px,5vw,88px); height:clamp(56px,9vh,94px); font-size:clamp(32px,4.5vh,50px); }
.board-ready [id$="-garden-clear"] { grid-column:2; margin:0 auto; }
.board-ready .garden-finish { height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:8px; }
.board-ready .garden-finish h3 { font-size:clamp(36px,6vh,70px); }
.board-ready .garden-finish p { font-size:clamp(26px,3.6vh,42px); }
.board-ready #sentence-stage { flex:1; min-height:0; overflow-y:auto; padding:0 4px 6px; }
.board-ready .sentence-cue { gap:20px; margin:0 0 var(--board-gap); }
.board-ready .sentence-cue>.sentence-picture { width:clamp(160px,22vw,320px); height:clamp(130px,25vh,280px); }
.board-ready .sentence-cue h3 { font-size:clamp(24px,3.5vh,42px); margin:2px 0; }
.board-ready .sentence-cue p { font-size:clamp(18px,2.4vh,27px); line-height:1.25; margin:4px 0 10px; }
.board-ready .sentence-cue .garden-kicker { display:none; }
.board-ready .sentence-answer, .board-ready .sentence-bank { margin:var(--board-gap) 0; gap:12px; }
.board-ready .sentence-answer { min-height:clamp(76px,11vh,130px); padding:12px; }
.board-ready .sentence-answer>span { font-size:clamp(22px,3vh,34px); }
.board-ready .sentence-answer button, .board-ready .sentence-bank button { font-size:clamp(24px,3.8vh,42px); min-height:58px; padding:10px 18px; border-radius:14px; }
.board-ready .sentence-model { padding:10px 16px; margin:var(--board-gap) 0; }
.board-ready .sentence-model p { font-size:clamp(24px,3.3vh,36px); margin:4px 0; line-height:1.3; }
.board-ready .sentence-actions { gap:14px; }
.board-ready .sentence-finish { padding:20px; }
@media (min-width:1000px) and (max-height:700px) {
 .board-ready .board-bar { min-height:56px; padding-top:4px; padding-bottom:4px; }
 .board-ready .garden-button { min-height:46px; padding:8px 14px; }
 .board-ready .sentence-cue>.sentence-picture { height:100px; }
 .board-ready .sentence-cue p { margin:2px 0 4px; }
 .board-ready .sentence-answer button, .board-ready .sentence-bank button { min-height:50px; padding:8px 14px; }
}
/* Preserve a usable scrolling layout on small phones rather than clipping. */
@media (max-width:700px), (max-height:480px) {
 body.board-ready { height:auto; min-height:100dvh; overflow:auto; }
 .board-ready .board-bar { flex-wrap:wrap; gap:6px 12px; }
 .board-heading span { max-width:65vw; }
 .board-tools { margin-left:auto; }
 .board-tools button { font-size:14px; padding:8px 12px; }
 .board-ready main { overflow:visible; }
 .board-ready .garden-stage, .board-ready .sentence-game { height:auto; min-height:calc(100dvh - 120px); }
 .board-ready .garden-memory { min-height:420px; }
 .board-ready .garden-choices { height:240px; flex:auto; }
 .board-ready [data-game="build"] [id$="-garden-play"] { display:flex; flex-direction:column; }
 .board-ready .garden-build-picture { height:220px; width:100%; }
 .board-ready .garden-slots { align-self:center; }
 .board-ready #sentence-stage { overflow:visible; }
 .board-ready #board-teacher-panel { position:fixed; top:110px; left:12px; right:12px; max-height:calc(100dvh - 130px); }
}

.board-ready .garden-tile { padding:2px; overflow:hidden; }
.game-artwork { display:block; overflow:hidden; pointer-events:none; user-select:none; }
