/* 기존 보드게임 색상/그림체를 유지하는 학생 전용 공간 배치.
 * 일반 태블릿(가로 960px 이상, 높이 600px 이상)에서 핵심 컨트롤을 한 화면에 배치합니다.
 * 작은 세로 화면/200% 확대에서는 스크롤을 허용하여 내용을 가리지 않습니다. */
.mini-arena{position:sticky;top:8px;z-index:8}
.mini-details .hp-row{display:flex;flex-wrap:wrap;gap:3px 10px;font-size:13px}
.mini-arena .team-status.mine{border:2px solid #8c659d;box-shadow:inset 0 0 0 2px #fff7db;background:#fff2c6}
.mini-arena .my-badge{background:#775087;border:1px solid #60426d;font-weight:800}
.ranking-rule{display:inline-block;padding:9px 18px;background:#f1e0b8;border:1px solid #cbb185;border-radius:25px;font-size:14px}
.rank-badge{font-size:13px;background:#e8d9ed;color:#715080;border:1px solid #bfa4c8;padding:4px 8px;border-radius:7px;margin-right:7px}
.final-hp{font-size:20px;font-weight:900;color:#755580}
.table-wrap caption small{display:block;font-size:12px;font-weight:400;margin-top:4px;color:#8d785e}
.live-feed>div p.learning-event{background:#ede6c888;color:#6d7553;border-left:3px solid #b6bd84;padding-left:8px}
.migration-note{background:#eee2c6;border:1px dashed #c5ac7d;border-radius:8px;padding:12px;font-size:13px}
/* 4모둠의 기존 상·우·하·좌 배치는 그대로 두고 5~6모둠의 간격만 확보합니다. */
.teacher-layout .board.large[data-count="5"]{height:650px}
.teacher-layout .board.large[data-count="5"] .fort{width:142px}
.teacher-layout .board.large[data-count="6"]{height:680px}
.teacher-layout .board.large[data-count="6"] .fort{width:135px}
@media(min-width:960px) and (min-height:600px) and (orientation:landscape){
 body[data-screen="student"] .topbar{height:58px;min-height:58px;padding:0 2.4%}
 body[data-screen="student"] .brand-icon{width:39px;height:39px}
 body[data-screen="student"] .brand-icon .game-icon{width:32px;height:32px}
 body[data-screen="student"] .brand{font-size:19px}
 body[data-screen="student"] .brand small{font-size:10px}
 .game-layout{height:calc(100dvh - 58px);min-height:542px;max-width:none;padding:9px 2.4% 8px;display:grid;grid-template-rows:40px auto minmax(0,1fr) 83px 17px;gap:9px;position:relative}
 .game-layout .game-heading{margin:0;align-items:center;min-height:0}
 .game-layout .game-heading h1{font-size:18px;line-height:1.2;margin:0}
 .game-layout .game-heading .eyebrow{font-size:10px;line-height:1.3;margin:0 0 3px}
 .game-layout .timer{padding:4px 17px;gap:13px;min-height:34px}
 .game-layout .timer strong{font-size:24px;line-height:1}
 .game-layout .timer small{font-size:11px}
 .game-layout .mini-arena{margin:0;padding:5px 8px;gap:7px;border-bottom-width:4px;top:0;grid-template-columns:repeat(var(--team-count),minmax(0,1fr))}
 .game-layout .mini-arena .team-status{min-height:54px;padding:0 5px;gap:5px}
 .game-layout .mini-castle{width:54px!important}
 .game-layout .mini-details>strong{font-size:14px!important;line-height:1.35;white-space:normal;overflow-wrap:anywhere;max-height:2.7em;overflow:hidden}
 .game-layout .mini-details .hp-row{font-size:12px;line-height:1.3;margin-top:3px;gap:3px 9px;flex-wrap:nowrap}
 .game-layout .my-badge{font-size:9px;top:-9px;right:3px;padding:1px 5px}
 .game-layout .mini-arena:has(>.team-status:nth-child(5)){grid-template-columns:repeat(4,minmax(0,1fr))}
 .game-layout .mini-arena:has(>.team-status:nth-child(5)) .team-status{min-height:44px}
 .game-layout .mini-arena:has(>.team-status:nth-child(5)) .mini-castle{width:45px!important}
 .game-layout .mini-arena:has(>.team-status:nth-child(9)){grid-template-columns:repeat(6,minmax(0,1fr))}
 .game-layout .play-columns{min-height:0;grid-template-columns:minmax(0,2.1fr) minmax(245px,1fr);gap:18px;align-items:stretch}
 .game-layout .challenge-card{min-height:0;padding:10px 19px 11px;display:grid;grid-template-rows:15px 24px minmax(77px,1fr) minmax(67px,.6fr) 54px;row-gap:4px}
 .game-layout .question-meta{font-size:10px;line-height:1.2;min-height:0}
 .game-layout .question-meta .eyebrow{font-size:9px;letter-spacing:1.2px}
 .game-layout .question-caption{font-size:18px;line-height:1.2;margin:0;align-self:center}
 .game-layout .equation{font-size:clamp(40px,6.5vh,65px);gap:32px;margin:0;align-self:center;line-height:1}
 .game-layout .multiply,.game-layout .equals{font-size:31px}
 .game-layout .question-mark{width:64px;height:70px;font-size:35px}
 .game-layout .answers{width:100%;height:100%;max-width:720px;gap:14px;min-height:0;align-self:stretch}
 .game-layout .answer{font-size:clamp(24px,3.4vh,31px);padding:4px 8px;min-height:0;height:100%;border-radius:11px}
 .game-layout .answer-number{font-size:9px;top:5px;left:5px}
 .game-layout .question-hint{margin:0;align-self:center;font-size:12px;line-height:1.4}
 .game-layout .feedback{margin:3px 0 0;padding:4px 10px;min-height:0;max-width:none;width:100%;align-self:stretch;gap:8px}
 .game-layout .feedback strong{font-size:13px;line-height:1.2}
 .game-layout .feedback>div>span{font-size:10px;line-height:1.15;margin-top:3px}
 .game-layout .feedback .fraction{font-size:11px;margin:0 4px}
 .game-layout .feedback .primary{font-size:13px;padding:7px 12px;min-height:40px}
 .game-layout .board-side{min-height:0;padding:10px 11px 8px;gap:2px;overflow:visible}
 .game-layout .board-heading{font-size:14px;line-height:1.2}
 .game-layout .board-heading span{font-size:10px}
 .game-layout .board-side .board{height:auto;min-height:0;flex:1;margin:4px 0}
 .game-layout .board-side .fort{width:75px}
 .game-layout .board-side .board[data-count="2"] .fort,.game-layout .board-side .board[data-count="3"] .fort{width:85px}
 .game-layout .board-side .fort strong{font-size:10px;padding:2px;line-height:1.1}
 .game-layout .board-side .fort-stats{font-size:10px;padding:1px 4px;line-height:1.2;margin-top:2px;gap:5px}
 .game-layout .board-tip{font-size:10px;line-height:1.35;margin:1px 0 0}
 .game-layout .board-center small{display:none}
 .game-layout .action-bar{margin:0;padding:0;gap:12px;min-height:0;align-items:stretch}
 .game-layout .energy{min-width:153px;padding:6px 10px;border-bottom-width:4px}
 .game-layout .energy small{font-size:13px}
 .game-layout .energy strong{font-size:31px;line-height:1.15}
 .game-layout .energy strong small{font-size:12px}
 .game-layout .energy .game-icon{width:37px;height:37px}
 .game-layout .action-buttons{gap:10px;min-width:0}
 .game-layout .action-button{height:100%;min-height:0;padding:7px;gap:8px;border-bottom-width:5px}
 .game-layout .action-button strong{font-size:14px}
 .game-layout .action-button small.action-cost{font-size:12px;margin-top:2px}
 .game-layout .action-button small.action-reason{font-size:10px;margin-top:2px}
 .game-layout .action-icon .game-icon{width:31px;height:31px}
 .game-layout .balance-note{margin:0;font-size:10px;line-height:17px;white-space:nowrap}
 .game-layout .pause-banner{position:absolute;left:25%;right:25%;bottom:120px;margin:0;z-index:10;padding:10px;font-size:14px}
 .game-layout:has(.mini-arena>.team-status:nth-child(5)) .play-columns{grid-template-columns:1fr}
 .game-layout:has(.mini-arena>.team-status:nth-child(5)) .board-side{display:none}
 .game-layout:has(.mini-arena>.team-status:nth-child(5)) .answers{max-width:800px}
}
@media(min-width:960px) and (min-height:600px) and (max-height:680px) and (orientation:landscape){
 .game-layout{grid-template-rows:34px auto minmax(0,1fr) 76px 14px;gap:7px;padding-top:7px;padding-bottom:6px}
 .game-layout .challenge-card{grid-template-rows:12px 21px minmax(69px,1fr) minmax(59px,.6fr) 46px;row-gap:3px;padding:7px 17px 9px}
 .game-layout .equation{font-size:39px;gap:28px}.game-layout .question-caption{font-size:16px}.game-layout .question-mark{height:58px;width:58px}
 .game-layout .answer{font-size:23px}.game-layout .feedback .primary{min-height:38px;padding:5px 10px}
 .game-layout .feedback strong{font-size:12px}.game-layout .feedback>div>span{font-size:9px}
 .game-layout .mini-arena .team-status{min-height:45px}.game-layout .mini-castle{width:46px!important}
 .game-layout .mini-arena:has(>.team-status:nth-child(5)) .team-status{min-height:39px}.game-layout .mini-arena:has(>.team-status:nth-child(5)) .mini-castle{width:36px!important}
 .game-layout .play-columns{grid-template-columns:1fr}.game-layout .board-side{display:none}
 .game-layout .answers{max-width:800px}.game-layout .balance-note{line-height:14px;font-size:9px}
}
