/* Full figures own a separate space; a tight identity portrait has already
   been framed at export. Never crop that frame a second time to fill a card. */
#selected-fighter-portrait,
.art-menus .character-identity>img,
body.art-menus .mastery-fighter img,
#arcade-route .rival-card img{object-fit:contain;object-position:50% 100%}
#selected-fighter-portrait,.art-menus .character-identity>img{
 background:radial-gradient(ellipse at 52% 64%,#43372d 0%,#222429 58%,#141820 100%);
}
body[data-player=shadow] #selected-fighter-portrait{background:radial-gradient(ellipse at 54% 58%,#374443,#151a23)}
body.art-menus .mastery-fighter img{width:48%;right:1%;mask-image:none}
body.art-menus .mastery-fighter:after{background:linear-gradient(90deg,#181d29e6 24%,#141a2433 55%,transparent 68%)}
#arcade-route .rival-card img{border-radius:7px 7px 0 0;
 background:radial-gradient(ellipse at 55% 70%,color-mix(in srgb,var(--rival-ink) 25%,#111a22),#121720 90%)}
.art-menus.visual-menus .arcade-opponent #arcade-opponent-image{
 width:clamp(116px,17vw,182px);height:clamp(145px,24vh,218px);max-width:49%;padding:2px 0 0;
 object-position:50% 95%;filter:none;
}
/* Place the actual sole, including the canvas's transparent padding, on
   the photograph's floor. Preserve the intrinsic aspect ratio on rotation. */
body.art-menus #menu{container-type:size}
body.art-menus #menu .poster-contender{
 display:block;position:absolute;z-index:1;pointer-events:none;
 inset:var(--poster-floor,82%) 2.4% auto auto;width:min(43%,59cqh);height:auto;object-fit:contain;
 transform:translateY(var(--poster-sole)) scaleX(-1);
}
.art-menus .league-bout-copy{max-width:59%;position:relative;z-index:1}
.art-menus .league-rival{z-index:0;width:43%;height:94%;right:1%;bottom:2%;object-position:50% 100%}
#wk-ticket:has(#wk-rival-portrait:not([hidden])) .wk-ticket-copy{max-width:61%}
#wk-rival-portrait:not([hidden]){width:39%;height:94%;bottom:1.5%;right:0;object-fit:contain;object-position:50% 100%;mask-image:none}
#fighter-room .fr-card{
 display:grid;grid-template-rows:minmax(0,1fr) auto;gap:0;
 background:radial-gradient(ellipse at 50% 38%,color-mix(in srgb,var(--ink) 16%,#1a1c23),#10141a 86%);isolation:isolate;
}
#fighter-room .fr-card:after{display:none}
#fighter-room .fr-card img{
 display:block;grid-column:1;grid-row:1;position:static;min-height:0;align-self:stretch;
 width:100%;height:100%;object-fit:contain;object-position:50% 100%;padding:3px 3px 0;
}
#fighter-room .fr-prospect img{padding:2px 0 0;background:#111318}
#fighter-room .fr-card[hidden]{display:none}
#fighter-room .fr-name{grid-row:2;position:static;display:block;padding:8px 11px 10px;background:#151820;border-top:1px solid #ffffff15}
#fighter-room .fr-name strong{font-size:clamp(17px,2vw,23px)}
#fighter-room .fr-name small{margin-top:3px;font-size:9px}
#fighter-room .fr-num,#fighter-room .fr-mark{top:6px}
#fighter-room .fr-preview:has(#fr-canvas){
 display:grid;grid-template-rows:22px minmax(0,1fr) 38px;padding:7px 9px 9px;align-items:stretch;
}
#fighter-room .fr-preview:has(#fr-canvas) .fr-chip{position:static;align-self:start;justify-self:start}
#fr-canvas{position:static;grid-row:2;width:100%;height:100%;max-height:100%;min-height:0;margin:0;object-fit:contain}
#fighter-room .fr-poses{position:static;grid-row:3;align-self:end;justify-self:center;gap:5px}
#fighter-room .fr-poses button[aria-pressed=true]{border-color:var(--ink);color:var(--ink)}
@media(max-width:640px) and (orientation:portrait){
 body.art-menus #menu .poster-contender{width:min(49%,60cqh);right:1.3%}
 .art-menus .league-bout-copy{padding:16px 8px 15px 15px;max-width:60%}
 #fighter-room .fr-preview:has(#fr-canvas){height:260px}
 #fighter-room .fr-name strong{font-size:18px}
}
@media(orientation:landscape) and (max-height:550px){
 body.art-menus #menu .poster-contender{width:min(40%,56cqh)}
 .art-menus.visual-menus .arcade-opponent #arcade-opponent-image{width:90px;height:102px}
 #fighter-room .fr-preview:has(#fr-canvas){grid-template-rows:19px minmax(0,1fr) 34px}
 #fighter-room .fr-name{padding:6px 9px}
}
/* Scout beside the fighter, rather than underneath a tall empty portrait slot. */
.art-menus.visual-menus #arcade-brief{
 display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.95fr);grid-template-rows:auto auto minmax(0,auto);
 column-gap:clamp(9px,1.5vw,22px);row-gap:6px;align-items:start;
}
.art-menus.visual-menus #arcade-brief .arcade-opponent{display:contents}
.art-menus.visual-menus #arcade-brief #arcade-bout-count{grid-column:1;grid-row:1;align-self:end}
.art-menus.visual-menus #arcade-brief #arcade-bout-title{grid-column:1;grid-row:2;align-self:center;overflow-wrap:break-word;margin:0}
.art-menus.visual-menus #arcade-brief .arcade-opponent>div{grid-column:1;grid-row:3;align-self:start}
.art-menus.visual-menus #arcade-brief #arcade-opponent-image{
 grid-column:2;grid-row:1 / 4;align-self:center;justify-self:center;display:block;
 width:100%;max-width:190px;height:auto;aspect-ratio:448/512;object-fit:contain;
 padding:2px;border-radius:12px;object-position:center;
}
.art-menus.visual-menus #arcade-brief :is(.arcade-lesson,.visual-details,.arcade-format,.arcade-challenge){grid-column:1 / -1}
@media(max-width:560px){
 .art-menus.visual-menus #arcade-brief #arcade-bout-title{font-size:clamp(18px,5.2vw,24px);line-height:1.04}
 .art-menus.visual-menus #arcade-brief .arcade-opponent strong{font-size:12px}
}
@media(orientation:landscape) and (max-height:550px){
 .art-menus.visual-menus #arcade-brief #arcade-opponent-image{max-width:104px}
}
