
/* Give the whole printed face its own rectangle. Names, stats and pilot tabs are outside it. */
.combat-lane .slot,.protection .base-zone{container-type:size}
.combat-lane .unit-wrap,.protection .base-zone .unit-wrap{--foot:18px;--head:4px;width:min(100%,calc((100cqh - var(--foot) - var(--head))*0.716));max-width:none!important;aspect-ratio:auto;height:auto;max-height:none;display:grid;grid-template-rows:auto var(--foot);align-content:center;position:relative}
.unit-wrap .card,.base-zone .unit-wrap .card{height:auto;width:100%;aspect-ratio:600/838;min-height:0;background:#0e1d2c;display:block;overflow:visible;position:relative;border:0;padding:0}
.unit-wrap .card img,.protection .base-zone .unit-wrap .card img{width:100%;height:100%;object-fit:contain;object-position:center;border-radius:4px}
.unit-wrap .card .ko-label,.base-zone .unit-wrap .card .ko-label{position:absolute;inset:100% 0 auto;min-height:0;height:var(--foot);display:block;padding:2px 1px;color:#e7f2fc;background:#0a1723;font-size:clamp(8px,1.22vh,12px);line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.unit-wrap .stats,.base-zone .unit-wrap .stats{position:absolute;inset:auto -1px calc(var(--foot) + 2px) auto;translate:100% 0;transform:none;flex-direction:column;z-index:3;gap:1px}.unit-wrap .stats b{min-width:17px;padding:1px 2px;font-size:9px}
.combat-lane .slot{justify-items:center}.combat-lane .unit-slots{width:min(100%,calc(6 * min(45cqh,150px) + 25px))}
.unit-wrap .pilot{object-fit:contain;object-position:center;inset:calc(var(--head) + 3px) auto auto 5px;width:100%;height:calc(100% - var(--foot));z-index:0}.unit-wrap:has(.pilot) .card{z-index:1}
.unit-wrap.rested .card{transform:rotate(90deg) scale(.72)}.unit-wrap.rested .card .ko-label{display:none}
.unit-wrap.rested::after{content:attr(data-label);position:absolute;bottom:0;width:100%;text-align:center;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:10px;color:#d1e5f5}
.protection .base-zone:has(.unit-wrap) .zone-label{font-size:8px;top:0;left:0}.protection .base-zone .unit-wrap{width:min(78%,calc((100cqh - 21px)*.716))}
.resource-face img{object-fit:contain;object-position:center}.resource.rested .resource-face img{transform:rotate(90deg) scale(.73)}
.trash-pile .trash-art{object-fit:contain}.player-mat .shield,.player-mat .main-deck,.player-mat .resource-deck{background-size:contain}
.deck-switch{display:flex;gap:6px;margin:5px 0;flex-wrap:wrap}.deck-switch button,.menu-tabs button{border:1px solid #50687e;border-radius:6px;padding:5px 10px;background:#132839;color:#cedee8;font-size:12px}
.deck-switch button[aria-pressed=true],.menu-tabs button[aria-current=page]{color:#8fe9dd;background:#19383e;border-color:#5a968d}.star-empty,.hub-lead{color:#a8c0d0;font-size:12px}
.menu-tabs{max-width:1150px;margin:12px auto 0;padding:0 clamp(15px,4vw,48px);display:flex;gap:6px}.custom-hub .hangar-title a,.personal-actions a{color:#b8f4e5;border:1px solid #60938a;padding:7px 13px;border-radius:5px;text-decoration:none;font-weight:600}
.personal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:12px}.personal-deck,.empty-hangar{background:#152a3b;border:1px solid #365067;border-radius:10px;padding:15px}.personal-deck{display:flex;align-items:center;gap:15px}.personal-deck h2{margin:0;font-size:18px}.personal-deck img,.deck-placeholder{width:64px;aspect-ratio:5/7;object-fit:contain;border-radius:4px}.personal-actions{display:flex;align-items:center;gap:6px}.personal-actions a,.personal-actions button{font-size:12px}.personal-deck p,.empty-hangar p{color:#b4c9d9;font-size:12px}.custom-hub small{color:#86b5c8;letter-spacing:.12em}
@media(max-width:580px){.unit-wrap .stats,.base-zone .unit-wrap .stats{font-size:8px}.unit-wrap .stats b{min-width:12px;padding:1px;font-size:8px}.combat-lane .unit-wrap{width:min(81%,calc((100cqh - 13px)*.716));--foot:13px}.unit-wrap .card .ko-label{font-size:8px}}

@media(min-width:741px){
 .battle-board{grid-template-rows:minmax(0,1fr) 33px minmax(0,1fr) clamp(74px,11vh,126px)}
 .player-mat,.own-mat:has(.three-resource-rows),.enemy-mat:has(.three-resource-rows){--reserve-row:clamp(79px,13vh,135px)}
 .combat-lane{container-type:size}.combat-lane .unit-slots{width:min(100%,calc((100cqh - 16px)*4.296 + 125px));gap:4px}
 .combat-lane .unit-wrap{--foot:14px;--head:2px}.combat-lane .slot{justify-items:start}
}
