/* Test74.2: feedback from the Android portrait/tablet screenshots. */
body.arena74.arena52.arena58 #app .ui-start-actions{display:grid;grid-template-columns:minmax(0,1fr) 56px 56px;align-items:stretch;gap:8px}
body.arena74.arena52.arena58 #app .ui-start-actions>button{height:auto;min-height:60px;margin:0;align-self:stretch}
body.arena74.arena52.arena58 #app .ui-start-actions>.ui-icon-button{width:56px;min-width:56px;padding:12px;border-radius:15px}

/* Both sections are always present in reading order, at every viewport width. */
body.arena74.arena52.arena58 #app[data-phase] .arena-board{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;max-width:960px;width:100%;margin-inline:auto}
body.arena74.arena52.arena58 #app .arena-board>.market-column,
body.arena74.arena52.arena58 #app .arena-board>.team-column{display:flex;width:100%;max-width:none;margin:0;min-width:0}
body.arena74.arena52.arena58 #app .arena-board[data-arena-pane]>.market-column,
body.arena74.arena52.arena58 #app .arena-board[data-arena-pane]>.team-column{display:flex}
body.arena74.arena52.arena58 .ui-preparation-label{font-size:.78rem;color:var(--muted)}
body.arena74.arena52.arena58 #app[data-phase] .market .offer>.art{height:clamp(135px,23svh,250px)}
body.arena74.arena52.arena58 #app .arena-board .team>.roster{grid-template-columns:repeat(5,minmax(0,1fr))}

/* Centre the existing artwork box, including wide chest cards. */
body.arena74.arena52.arena58 .chest-card>.chest-art,
body.arena74.arena52.arena58 .chest-catalog-grid article>.chest-art{align-self:center;margin-inline:auto;flex:none}
body.arena74.arena52.arena58 .chest-card>.premium-chest{width:min(100%,300px);height:auto;aspect-ratio:1.35}
body.arena74.arena52.arena58 .premium-chest .chest-pose{object-position:center}
body.arena74.arena52.arena58 .currency-art74{display:block;width:64px;height:64px;object-fit:contain;flex:none;filter:drop-shadow(0 3px 5px #0005)}
body.arena74.arena52.arena58 .treasure-wallet>div{gap:10px}

/* A fixed outer rectangle and zero minimums break the intrinsic-image sizing chain. */
body.arena74.arena52.arena58:has(#app[data-combat-viewport=true]){overflow:hidden}
body.arena74.arena52.arena58 #app[data-combat-viewport=true]{position:fixed;inset:max(8px,env(safe-area-inset-top)) max(12px,calc((100vw - 1280px)/2)) calc(92px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:6px;width:auto;height:auto;min-height:0;max-height:none;overflow:hidden}
body.arena74.arena52.arena58 #app[data-combat-viewport=true]>.hud{flex:none;min-height:40px;padding:0;gap:6px}
body.arena74.arena52.arena58 #app[data-combat-viewport=true]>:not(.hud):not(.arena-layout){flex:none;max-height:25%;overflow:auto;margin:0}
body.arena74.arena52.arena58 #app[data-combat-viewport=true] .arena-layout,
body.arena74.arena52.arena58 #app[data-combat-viewport=true] .arena-main{display:flex;flex:1 1 0;flex-direction:column;min-height:0;height:auto;max-height:none;overflow:hidden;gap:0}
body.arena74.arena52.arena58 #app[data-combat-viewport=true] .arena-support{display:none}
body.arena74.arena52.arena58 #app[data-combat-viewport=true] .arena-support[open]{display:block;position:fixed;inset:10px 12px calc(92px + env(safe-area-inset-bottom));z-index:55;margin:0;overflow:auto;background:#14232f;border:1px solid #718795;padding:12px}
body.arena74.arena52.arena58 #app[data-combat-viewport=true] .battle-panel{display:flex;flex:1 1 0;flex-direction:column;min-height:0;max-height:100%;height:auto;overflow:hidden;padding:10px;margin:0;gap:6px;position:relative}
body.arena74.arena52.arena58 #app .ui-battle-heading{display:flex;align-items:center;justify-content:space-between;gap:6px;flex:none}
body.arena74.arena52.arena58 #app .ui-battle-heading>.eyebrow{font-size:10px;letter-spacing:.05em}
body.arena74.arena52.arena58 #app .ui-battle-heading .result-heading{display:flex;align-items:center;gap:8px;margin:0}
body.arena74.arena52.arena58 #app .ui-battle-heading .result{font-size:clamp(16px,2.5vw,24px);line-height:1.15;margin:0}
body.arena74.arena52.arena58 #app .ui-battle-heading .exercise-open{min-height:36px}
body.arena74.arena52.arena58 #app .ui-battle .battle-toolbar{display:flex;flex:none;align-items:center;justify-content:space-between;gap:6px;flex-wrap:wrap;margin:0;padding:0}
body.arena74.arena52.arena58 #app .ui-battle .replay-actions{display:flex;gap:5px;margin:0;flex-wrap:nowrap}
body.arena74.arena52.arena58 #app .ui-battle .replay-actions button{min-height:44px;padding:7px 9px;gap:4px;font-size:12px;display:flex;align-items:center;justify-content:center}
body.arena74.arena52.arena58 #app .ui-battle .replay-actions .ui-icon{width:18px;height:18px}
body.arena74.arena52.arena58 #app .ui-battle .speed-controls{margin:0;padding:2px;gap:2px;flex:none}
body.arena74.arena52.arena58 #app .ui-battle .speed-controls button{min-width:38px;min-height:40px;padding:5px;font-size:12px}
body.arena74.arena52.arena58 #app .ui-battle .combat-scene,
body.arena74.arena52.arena58 #app .ui-battle .final-lineups{display:flex;flex:1 1 0;flex-direction:column;min-height:0;height:auto;max-height:none;overflow:hidden;gap:4px;margin:0;padding:0}
body.arena74.arena52.arena58 #app .ui-battle .board-stage{display:flex;flex:1 1 0;min-height:0;height:auto;max-height:none;overflow:hidden}
body.arena74.arena52.arena58 #app .ui-battle .combat-lineups{display:grid;flex:1 1 0;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:minmax(0,1fr);gap:10px;min-height:0;height:100%;width:100%;margin:0}
body.arena74.arena52.arena58 #app .ui-battle .combat-lineup{display:flex;flex-direction:column;min-height:0;height:100%;min-width:0;padding:0;gap:4px;order:0}
body.arena74.arena52.arena58 #app .ui-battle .army-heading{display:flex;flex:none;gap:6px;align-items:center;min-height:28px;margin:0;padding:0}
body.arena74.arena52.arena58 #app .ui-battle .army-heading>.general-art{width:24px;height:30px;min-height:0;object-fit:contain;margin:0}
body.arena74.arena52.arena58 #app .ui-battle .army-heading strong,
body.arena74.arena52.arena58 #app .ui-battle .army-heading small{font-size:11px;line-height:1.2}
body.arena74.arena52.arena58 #app .ui-battle .formation-direction-label,
body.arena74.arena52.arena58 #app .ui-battle .formation-rear-label{display:none}
body.arena74.arena52.arena58 #app .ui-battle .combat-minis{display:grid;flex:1 1 0;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));min-height:0;gap:5px;align-content:stretch;padding:0;margin:0;overflow:hidden}
body.arena74.arena52.arena58 #app .ui-battle .combat-mini{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;min-width:0;min-height:0;height:100%;max-height:100%;padding:0;overflow:hidden;position:relative;border-radius:9px}
body.arena74.arena52.arena58 #app .ui-battle .combat-portrait{position:relative;flex:1 1 0;height:0;min-height:0;width:100%;overflow:hidden}
body.arena74.arena52.arena58 #app .ui-battle .combat-mini .portrait{position:absolute;inset:0;display:block;height:100%;min-height:0;max-height:none;width:100%;aspect-ratio:auto;margin:0}
body.arena74.arena52.arena58 #app .ui-battle .combat-mini .portrait img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;transform:none}
body.arena74.arena52.arena58 #app .ui-battle .battle-card-info{display:flex;flex-direction:column;flex:none;width:100%;min-width:0;padding:3px 4px;gap:2px;background:#142331;align-self:stretch}
body.arena74.arena52.arena58 #app .ui-battle .battle-card-info>strong{display:block;min-height:0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font-size:11px;line-height:1.2}
body.arena74.arena52.arena58 #app .ui-battle .battle-card-info .rarity-label,
body.arena74.arena52.arena58 #app .ui-battle .battle-card-rank{display:none}
body.arena74.arena52.arena58 #app .ui-battle .battle-vitals{display:flex;justify-content:center;gap:4px;font-size:11px;line-height:1.2;flex-wrap:nowrap}
body.arena74.arena52.arena58 #app .ui-battle .battle-vitals b,
body.arena74.arena52.arena58 #app .ui-battle .battle-vitals small{font-size:inherit}
body.arena74.arena52.arena58 #app .ui-battle .battle-health{height:3px;flex:none}
body.arena74.arena52.arena58 #app .ui-battle .battle-poison,
body.arena74.arena52.arena58 #app .ui-battle .battle-trap{font-size:9px;line-height:1.1;margin:0;padding:0}
body.arena74.arena52.arena58 #app .ui-battle .combat-position{position:absolute;top:3px;left:3px;z-index:4;font-size:8px;padding:2px 4px;line-height:1.1}
body.arena74.arena52.arena58 #app .ui-battle .battle-role{top:20px;font-size:8px;max-width:100%;padding:2px 3px}
body.arena74.arena52.arena58 #app .ui-battle .combat-action-title{flex:none;min-height:0;padding:0;margin:0;font-size:12px;line-height:1.25}
body.arena74.arena52.arena58 #app .ui-battle .combat-action-title strong{font-size:13px;line-height:1.25}
body.arena74.arena52.arena58 #app .ui-battle .combat-caption{flex:none;font-size:11px;line-height:1.3;margin:0;max-height:3.9em;overflow:auto;padding:0}
body.arena74.arena52.arena58 #app .ui-battle .combat-moment-label{font-size:10px;line-height:1.2;margin:0}
body.arena74.arena52.arena58 #app .ui-battle-outcome{flex:none;text-align:center;font-size:12px;line-height:1.3}
body.arena74.arena52.arena58 #app .ui-battle #next{display:flex;flex:none;min-height:44px;height:44px;margin:0;padding:8px;font-size:14px}
body.arena74.arena52.arena58 #app .ui-battle #next:disabled{display:none}
body.arena74.arena52.arena58 #detail-dialog[data-surface=battle-review] details{margin:14px 0;padding:10px;border:1px solid var(--edge);border-radius:12px}
body.arena74.arena52.arena58 #detail-dialog[data-surface=battle-review] summary{min-height:44px;display:flex;align-items:center;cursor:pointer}

@media(max-width:400px){
 body.arena74.arena52.arena58 #app .ui-start-actions{grid-template-columns:minmax(0,1fr) 48px 48px;gap:6px}
 body.arena74.arena52.arena58 #app .ui-start-actions>.ui-icon-button{width:48px;min-width:48px}
 body.arena74.arena52.arena58 #app .ui-battle .combat-lineups{gap:6px}
 body.arena74.arena52.arena58 #app .ui-battle .battle-card-info>strong{font-size:10px}
 body.arena74.arena52.arena58 #app .ui-battle .battle-vitals{font-size:10px;gap:2px}
 body.arena74.arena52.arena58 .currency-art74{width:52px;height:52px}
}
@media(orientation:landscape) and (max-height:600px){
 body.arena74.arena52.arena58 #app[data-combat-viewport=true]{inset:6px 12px calc(62px + env(safe-area-inset-bottom))}
 body.arena74.arena52.arena58:has(#app[data-combat-viewport=true]) nav.ui-navigation{min-height:48px;padding:3px;bottom:max(5px,env(safe-area-inset-bottom));border-radius:16px}
 body.arena74.arena52.arena58:has(#app[data-combat-viewport=true]) nav.ui-navigation button{min-height:40px;flex-direction:row;gap:6px;padding:4px}
 body.arena74.arena52.arena58 #app[data-combat-viewport=true]>.hud{display:none}
 body.arena74.arena52.arena58 #app .ui-battle{padding:6px;gap:3px}
 body.arena74.arena52.arena58 #app .ui-battle-heading{position:absolute;right:8px;top:6px;max-width:44%;height:44px}
 body.arena74.arena52.arena58 #app .ui-battle-heading>.eyebrow{display:none}
 body.arena74.arena52.arena58 #app .ui-battle .battle-toolbar{max-width:55%;min-height:44px}
 body.arena74.arena52.arena58 #app .ui-battle .combat-minis{grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:minmax(0,1fr)}
 body.arena74.arena52.arena58 #app .ui-battle .combat-mini{grid-column:auto;width:100%;justify-self:stretch}
 body.arena74.arena52.arena58 #app .ui-battle .army-heading{min-height:15px;height:15px;gap:4px}
 body.arena74.arena52.arena58 #app .ui-battle .army-heading>.general-art{display:none}
 body.arena74.arena52.arena58 #app .ui-battle .army-heading>span{display:flex;gap:5px}
 body.arena74.arena52.arena58 #app .ui-battle .combat-caption{max-height:1.3em}
 body.arena74.arena52.arena58 #app .ui-battle-outcome{display:none}
}
