.hud-readability-settings{border:1px solid #76947d;border-radius:10px;margin:12px 0;padding:12px;color:#e2eed7}.hud-readability-settings p,.hud-readability-settings small{font-size:12px;line-height:1.5}.hud-readability-settings>div{display:flex;gap:8px}.hud-readability-settings button{flex:1;min-height:44px;background:#284c3f;border:1px solid #91b798;border-radius:8px;color:#f1f4dc}.hud-readability-settings [aria-pressed=true]{background:#dae8a6;color:#173527}
.battle[data-hud-readability=large] .vitals b{font-size:14px;line-height:18px;white-space:nowrap}
.battle[data-hud-readability=large] .vitals span>small{font-size:11px;line-height:16px}
.battle[data-hud-readability=large] .vitals span{min-width:0;line-height:18px}
.battle[data-hud-readability=large] .vitals .ink-state{font-size:11px;line-height:14px}
.battle[data-hud-readability=large] .boss-hud>div>b,.battle[data-hud-readability=large] #bossValue{font-size:14px;line-height:18px}
.battle[data-hud-readability=large] #bossPhase,.battle[data-hud-readability=large] #bossHint{font-size:12px;line-height:16px}
.battle[data-hud-readability=large] .xp-hud>small{font-size:12px;line-height:15px}
.battle[data-hud-readability=large] .xp-hud>span{font-size:12px;line-height:15px}
.battle[data-hud-readability=large] .wave-pill b{font-size:17px}
@media(orientation:portrait){.battle[data-hud-readability=large] .vitals{left:12px;right:12px;width:auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 8px}.battle[data-hud-readability=large] .vitals>div{gap:4px}.battle[data-hud-readability=large] .vitals>div>div{width:24px;flex:none}.battle[data-hud-readability=large] .vitals .ink-state,.battle[data-hud-readability=large] .vitals .ink-hint{grid-column:1/-1}.battle[data-hud-readability=large] .vitals .icon{display:none}}
@media(orientation:landscape) and (max-height:550px){.battle[data-hud-readability=large] .vitals b{font-size:12px;line-height:16px}.battle[data-hud-readability=large] #bossHint{font-size:11px;line-height:14px}}
/* Boss vitals are positioned by the encounter HUD in a 200px top rail.
   Stack the short labels over numbers rather than collide two 14px values. */
.battle.boss-encounter[data-hud-readability=large] .vitals span{display:grid;grid-template-columns:1fr;gap:0;justify-items:center}
.battle.boss-encounter[data-hud-readability=large] .vitals span>small{font-size:10px;line-height:11px}
.battle.boss-encounter[data-hud-readability=large] .vitals b{margin:0;font-size:14px;line-height:17px}
.battle[data-hud-readability=large] .xp-hud>#duoTargetHud{font-size:12px;line-height:15px}
/* The measured rail reserves pause, ceasefire and music. Two full-width rows
   retain 14px values even at320px without overriding its real DOM geometry. */
.battle.boss-encounter.boss-vitals-top[data-hud-readability=large] .vitals{grid-template-columns:1fr;gap:0}
.battle.boss-encounter.boss-vitals-top[data-hud-readability=large] .vitals span{display:flex;justify-content:space-between;align-items:center;gap:4px;line-height:14px}
.battle.boss-encounter.boss-vitals-top[data-hud-readability=large] .vitals b{font-size:14px;line-height:14px}

/* R11: relocate the existing resource rail, not an additional banner. Short
   portrait keeps exact values and useful meters above the active playfield. */
@media (orientation:portrait) and (max-height:650px){
 .battle.dual-stick:not(.boss-encounter) .vitals{top:calc(65px + env(safe-area-inset-top));bottom:auto;padding:5px 8px;background:#fffef6ee;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 12px}
 .battle.dual-stick:not(.boss-encounter) .vitals>div{display:block;min-width:0}
 .battle.dual-stick:not(.boss-encounter) .vitals span{display:flex;line-height:1.3}
 .battle.dual-stick:not(.boss-encounter) .vitals span>small{font-size:11px;line-height:1.3}
 .battle.dual-stick:not(.boss-encounter) .vitals b{font-size:12px;line-height:1.3;margin-left:auto}
 .battle.dual-stick:not(.boss-encounter) .vitals>div>div{display:block;width:100%;height:5px;margin-top:3px}
 .battle.dual-stick:not(.boss-encounter)[data-hud-readability=large] .vitals b{font-size:14px}
 .battle.dual-stick:not(.boss-encounter) .vitals .ink-state{font-size:11px;line-height:1.3}
 .battle.dual-stick:not(.boss-encounter) .objective-pill{top:calc(127px + env(safe-area-inset-top));padding:5px 9px}
 .battle.dual-stick:not(.boss-encounter) .objective-pill>small{display:none}
 .battle.dual-stick:not(.boss-encounter) .objective-track{margin:4px 0 0}
 .battle.dual-stick:not(.boss-encounter) .world-strip{top:calc(169px + env(safe-area-inset-top));padding:5px 9px}
 .battle.dual-stick:not(.boss-encounter) #worldHint{display:none}
}
/* Let enlarged glyphs determine their real measured height. Keep live tell and
   phase/armor status; no hidden essential cue or font-size reduction. */
.battle.boss-encounter .boss-hud>div:first-child{flex-wrap:wrap;line-height:1.3}
.battle.boss-encounter .boss-hud b,.battle.boss-encounter .boss-hud #bossPhase,.battle.boss-encounter #bossArmorCompact{line-height:1.3}
.battle.boss-encounter .boss-hud #bossHint{white-space:normal;max-height:none;line-height:1.35;overflow:visible}
.battle.boss-encounter .vitals span,.battle.boss-encounter .vitals b,.battle.boss-encounter .vitals span>small{line-height:1.3}
.battle.boss-encounter .vitals{min-height:min-content}
@media (orientation:portrait) and (max-height:650px){
 .battle.dual-stick:not(.boss-encounter) .vitals{background:#173c34;color:#f2f5df}
 .battle.dual-stick:not(.boss-encounter) .vitals b,.battle.dual-stick:not(.boss-encounter) .vitals span>small,.battle.dual-stick:not(.boss-encounter) .vitals .ink-state{color:#f2f5df}
 /* Optional route details remain in the existing 44px route chooser and pause
    map guide. Keep the live environment state rather than the duplicate blurb. */
 .battle.dual-stick:not(.boss-encounter) .world-strip>div:first-child,.battle.dual-stick:not(.boss-encounter) .world-progress{display:none}
 .battle.dual-stick:not(.boss-encounter) .world-strip{top:calc(163px + env(safe-area-inset-top));padding:0 6px 3px}
 .battle.dual-stick:not(.boss-encounter) .world-strip .objective-nav{margin:0;min-height:44px}
 .battle.dual-stick:not(.boss-encounter) .coast-rule{padding-top:2px;margin-top:0}
 .battle.dual-stick:not(.boss-encounter) .coast-rule>small{display:none}
}
@media (orientation:landscape) and (max-height:600px){
 .battle.boss-encounter .boss-hud{left:max(12px,env(safe-area-inset-left));right:auto;transform:none;width:280px;top:calc(60px + env(safe-area-inset-top));padding:5px 8px}
}
.battle.boss-encounter #bossMechanic{display:none}
/* R11 native pause review: the lesson card is light paper inside a dark panel.
   Set its instruction ink explicitly instead of inheriting pale panel text. */
.pause-panel .field-guide-course .field-guide-selected{flex:1 0 100%;margin:2px 0 8px;color:#304d36;font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.pause-panel .field-guide-course .field-guide-selected b{color:#173d35}
.pause-panel .field-guide-checklist button{min-width:0;white-space:normal;overflow-wrap:anywhere}
.pause-panel .field-guide-checklist button[aria-pressed=true]{background:#d2e3ad;color:#173d35;border-color:#547e56;box-shadow:inset 0 0 0 1px #547e56}
/* R13: prioritize the mission, live coast state and controls. Optional branch
   instructions remain in the paused chooser/rules, not a second live panel.
   No new geometry readers, camera offsets or readability-size reductions. */
.battle .world-strip.r13-world-summary{padding:0 7px 4px}
.battle .world-strip.r13-world-summary>div:first-child,
.battle .world-strip.r13-world-summary>#worldHint,
.battle .world-strip.r13-world-summary>.world-progress,
.battle .world-strip.r13-world-summary .coast-rule>small{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.battle .world-strip.r13-world-summary .objective-nav{margin:0;min-height:44px}
.battle .world-strip.r13-world-summary .coast-rule{margin-top:0;padding-top:2px}
.battle .world-strip.r13-world-summary .coast-rule>div:first-child{flex-wrap:wrap}
.battle .world-strip.r13-world-summary #coastPhase{white-space:normal}
/* Keep the contextual instruction, remove three competing decoration rows.
   Course title/count remain accessible and all seven lessons stay in Pause. */
.battle .xp-hud .field-coach{grid-template-columns:1fr;padding:5px 7px;border-left-width:1px}
.battle .xp-hud .field-coach .field-coach-icon,
.battle .xp-hud .field-coach .field-coach-steps,
.battle .xp-hud .field-coach div>small,
.battle .xp-hud .field-coach div>b{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.battle .xp-hud .field-coach div>span{display:block;font-size:12px;line-height:1.4;white-space:normal}
.battle[data-hud-readability=large] .xp-hud .field-coach div>span{font-size:14px}
