/* A reserved HUD grid leaves the centre as an unboxed, full-scene ink surface. */
.arena{height:100dvh;min-height:680px;display:grid;grid-template-columns:minmax(270px,34%) 1fr minmax(160px,24%);grid-template-rows:62px 150px minmax(180px,1fr) auto auto 20px;gap:6px 14px;padding:8px max(18px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left))}
.arena .hud-top{position:relative;inset:auto;grid-area:1/1/2/-1;padding:0;gap:10px}.arena .hud-button,.arena .listen,.arena .scroll-controls button,.arena .scroll-title button,.arena .glyph-chip{min-width:44px;min-height:44px}.header-actions{gap:6px}.arena .dialogue,.arena[data-kind=enemy] .dialogue,.arena.scroll-open .dialogue,.arena.scroll-open[data-mode=copy] .dialogue{position:relative;inset:auto;grid-area:2/1/3/3;width:auto;max-width:none;max-height:none;min-height:0;overflow:auto;padding:8px 14px;pointer-events:auto}.arena .scene-text{font-size:14px;margin:2px 0;line-height:1.5}.arena .question-text{font-size:21px;line-height:1.55;margin:3px 0}.arena .floating-example{font-size:32px;line-height:1.2}.arena .study-tools,.arena.scroll-open .study-tools,.study-scroll[hidden]+.study-tools{position:relative;inset:auto;gap:6px;margin-top:6px;max-width:none}.arena .study-tools button{padding:4px 10px}.arena .encounter-status,.arena[data-kind=enemy] .encounter-status{position:relative;inset:auto;grid-area:2/3/3/4;width:auto;align-self:start;padding-top:10px}.arena .encounter-status h1{font-size:20px;margin:0 0 4px}
.arena .study-scroll{position:relative;inset:auto;grid-area:3/1/4/2;width:100%;height:100%;max-height:390px;min-height:0;align-self:start}.arena .scroll-content{inset:10% 10% 8%;overflow:auto;overscroll-behavior:contain}.arena #strokeDemo{width:100px;height:100px}.scroll-title{font-size:17px}.scroll-title button{padding:0 4px}.scroll-controls{gap:4px}.scroll-controls button{flex:1;padding:2px;font-size:14px}.scroll-content .scroll-note{font-size:12px;margin:2px 0}.scroll-content a{display:block;min-height:44px;padding:8px 0}.arena #strokeCaption{font-size:13px;margin:2px 0}.arena .duel-hud{position:relative;inset:auto;grid-area:3/1/4/2;max-width:none;width:auto;max-height:100%;overflow:auto;align-self:start;padding:9px 12px}.stance-actions{flex-direction:column;gap:6px}.stance-actions button{min-height:44px;padding:7px;font-size:14px}.duel-preview{color:#ffe6aa;border-top:1px solid #afc7ab44;padding-top:5px}
.arena .ink-journey,.arena.scroll-open[data-mode=copy] .ink-journey{position:relative;inset:auto;grid-area:4/1/5/-1;max-width:none;min-width:0;gap:6px;flex-wrap:nowrap;min-height:52px}.glyph-tray{overflow-x:auto;max-width:48%;pointer-events:auto;flex-shrink:1}.arena .glyph-chip{flex:0 0 48px;height:50px;width:48px}.arena .glyph-chip canvas{width:44px;height:44px}.arena #glyphStatus{font-size:13px;padding:4px 6px}.arena #sealGlyph,.restore-ink{font-size:13px;padding:6px 9px;flex-shrink:0}.arena .hud-bottom{position:relative;inset:auto;grid-area:5/1/6/-1;padding:5px 0;grid-template-columns:minmax(140px,20%) 1fr minmax(220px,36%);gap:12px;align-items:center}.arena .player-state small{display:block;max-width:none;font-size:13px}.player-state>span{display:none}#playerVital{display:block;width:100%;height:12px;accent-color:#a6d5be}.arena .battle-tools{gap:6px}.arena .tool-button{min-width:48px;font-size:13px}.arena .tool-button>span{height:38px;width:38px}.arena .cast-controls{display:flex;grid-column:auto;gap:4px}.arena .cast-button{min-width:200px;min-height:48px;font-size:17px;padding:8px 14px}.arena .feedback{max-width:100%;font-size:13px;line-height:1.4}.skip-motion{font-size:13px;padding:5px 10px}.arena .sync-status{position:relative;inset:auto;grid-area:6/1/7/-1;max-width:100%;font-size:12px;line-height:20px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:none}
.arena .ink-review,.arena[data-kind=enemy] .ink-review{position:absolute;inset:85px 3% auto auto;width:min(580px,94%);max-height:calc(100% - 110px);overflow:auto;z-index:16;padding:14px 20px;background:#0b2938f5}.arena .answer-ink{position:relative;inset:auto;width:100%;height:100px;touch-action:auto}.repair-choices{border-top:1px solid #b6c6b455;margin-top:12px;padding-top:5px}.repair-glyph{display:inline-flex;align-items:center;margin:3px;padding:3px}.arena .repair-glyph canvas{position:relative;inset:auto;width:44px;height:44px;touch-action:auto}.repair-choices>button:last-child{display:block;margin-top:6px}.arena .npc-caption{right:4%;bottom:27%;width:37%;font-size:14px}.arena .air-cue,.arena[data-mode=copy].scroll-open .air-cue,.arena[data-kind=enemy] .air-cue{left:55%;top:56%}.arena .air-cue p{font-size:14px}.arena .teacher-feedback{top:80px;max-width:45%;padding:8px;font-size:14px}.motion-setting{display:flex;align-items:center;gap:12px;margin:18px 0}.motion-setting select{font:inherit;min-height:44px;max-width:72%;padding:8px;background:#143740;color:#fff1c9;border:1px solid #90afa3;border-radius:5px}.arena.motion-off *, .arena.motion-off *::before{animation:none!important;transition:none!important}.arena.motion-off .spell-movie{display:none!important}.arena.motion-off .impact-word{opacity:0}.arena[data-phase=protected] #inkCanvas{opacity:.7}.arena[data-phase=protected] .character-wrap{animation:mentorEncourage .7s ease both}
@media(max-width:700px){.arena{min-height:760px;grid-template-columns:minmax(165px,49%) 1fr;grid-template-rows:56px 175px minmax(205px,1fr) auto auto 20px;padding:6px 10px;gap:5px 8px}.arena .game-mark{font-size:14px;gap:5px}.arena .seal,.arena .game-mark small{display:none}.arena .header-actions{gap:3px}.arena .header-actions button{padding:6px;font-size:13px}.arena .dialogue,.arena[data-kind=enemy] .dialogue,.arena.scroll-open .dialogue{grid-area:2/1/3/-1;padding:6px 10px}.arena .question-text{font-size:19px}.arena .encounter-status,.arena[data-kind=enemy] .encounter-status{position:absolute;top:248px;right:10px;width:43%;padding:0}.arena .encounter-type{display:none}.arena .encounter-status h1{font-size:17px}.arena #roundLabel{font-size:12px}.arena .study-scroll{grid-area:3/1/4/2}.arena .scroll-content{inset:6% 5%;background:#efdbb5e8;border-radius:8px;padding:4px}.arena .scroll-title{font-size:14px}.arena #strokeDemo{width:85px;height:85px}.arena .scroll-controls{gap:2px}.arena .scroll-controls button{font-size:12px}.arena .duel-hud{padding:7px}.arena #duelIntent{font-size:15px}.arena .duel-hud p{font-size:12px}.arena .stance-actions button{font-size:12px;padding:4px}.arena .ink-journey,.arena.scroll-open[data-mode=copy] .ink-journey{flex-wrap:wrap;min-height:52px;gap:4px}.arena .glyph-tray{max-width:100%}.arena #glyphStatus{font-size:12px}.arena #sealGlyph{font-size:12px;min-height:44px}.arena .hud-bottom{grid-template-columns:1fr 1fr;gap:5px;padding:0}.arena .player-state small{font-size:12px;line-height:1.4}.arena .battle-tools{justify-content:flex-end}.arena .cast-controls{grid-column:1/-1;display:grid;grid-template-columns:1fr minmax(168px,48%);gap:5px}.arena .cast-button{min-width:0;width:100%;font-size:15px}.arena .feedback{text-align:left;font-size:12px}.arena .skip-motion{grid-column:2}.arena .npc-caption{bottom:30%;right:3%;width:43%;font-size:12px}.arena .air-cue,.arena[data-mode=copy].scroll-open .air-cue,.arena[data-kind=enemy] .air-cue{left:74%;top:55%}.arena .air-cue p{font-size:12px;letter-spacing:0}.arena .character-wrap,.arena[data-kind=enemy] .character-wrap{right:-8%;width:60%;height:46%;bottom:26%}.arena .teacher-feedback{top:65px;max-width:85%}.arena .study-tools button{font-size:12px}.arena .ink-review{top:65px;max-height:calc(100% - 85px)} }
@media(min-width:701px) and (max-height:780px){.arena{min-height:680px}.arena .study-scroll{height:100%}.arena.scroll-open[data-mode=copy] .scene-text{display:none}.arena #strokeDemo{width:85px;height:85px}}

.repair-choices .reference-choice{display:inline-block;margin:4px;padding:7px 10px}
