/* Responsive menu geometry: scroll real content instead of shrinking a desktop stage. */
body.hex-screen-ui.hex-desktop-screens #hub-dialog[data-tab=cosmetics] #hub-content .fitting-room{
 position:relative!important;inset:auto!important;transform:none!important;width:100%!important;height:100%!important;min-height:0!important;
 grid-template-columns:minmax(150px,24%) minmax(0,1fr)!important;grid-template-rows:auto minmax(0,1fr)!important;gap:10px!important;
}
body.hex-screen-ui.hex-desktop-screens #hub-dialog[data-tab=cosmetics] #hub-content .fitting-collection>.wardrobe{display:flex!important;flex-direction:column!important;min-height:0!important;height:100%!important;gap:6px!important}
body.hex-screen-ui.hex-desktop-screens #hub-dialog[data-tab=cosmetics] #hub-content .wardrobe-section-title{display:none!important}
body.hex-screen-ui.hex-desktop-screens #hub-dialog[data-tab=cosmetics] #hub-content .collection-filters{flex:none!important;margin:0!important;padding:2px!important}
body.hex-screen-ui.hex-desktop-screens #hub-dialog[data-tab=cosmetics] #hub-content .wardrobe-cards{flex:1 1 0!important;min-height:0!important;grid-template-columns:repeat(auto-fill,minmax(max(140px,calc((100% - 36px)/4)),1fr))!important;column-gap:12px!important;grid-auto-rows:220px!important;touch-action:pan-y!important;overscroll-behavior:contain;scrollbar-gutter:stable}
body.hex-screen-ui.hex-desktop-screens #hub-dialog[data-tab=cosmetics] #hub-content .fitting-pages{flex:none!important;margin:0!important;min-height:18px!important}
@media(max-height:600px), (max-width:760px){
 body.hex-screen-ui.hex-desktop-screens #hub-dialog[open][data-tab]{grid-template-rows:56px minmax(0,1fr)!important}
 body.hex-screen-ui.hex-desktop-screens #hub-dialog[data-tab]>.hub-heading{height:56px!important;min-height:0!important;padding:4px 10px!important;gap:8px!important;box-sizing:border-box}
 body.hex-screen-ui.hex-desktop-screens #hub-dialog[data-tab]>.hub-heading h2{font-size:clamp(17px,3.5vw,25px)!important;min-width:0;white-space:normal!important;line-height:1.05}
 body.hex-screen-ui.hex-desktop-screens #hub-dialog[data-tab]>.hub-heading button{min-height:44px!important;min-width:44px!important;padding:6px 10px!important;font-size:14px!important}
 body.hex-screen-ui.hex-desktop-screens #hub-dialog[data-tab=cosmetics] #hub-content{padding:6px 10px!important}
 body.hex-screen-ui.hex-desktop-screens #hub-dialog[data-tab=cosmetics] #hub-content .fitting-room{grid-template-columns:minmax(110px,23%) minmax(0,1fr)!important;gap:6px!important}
 body.hex-screen-ui.hex-desktop-screens #hub-dialog[data-tab=cosmetics] #hub-content .fitting-room>.wardrobe-tabs button{height:48px!important;min-height:48px!important;padding:3px!important;gap:2px!important}
 body.hex-screen-ui.hex-desktop-screens #hub-dialog[data-tab=cosmetics] #hub-content .fitting-room>.wardrobe-tabs button img{width:20px!important;height:20px!important}
 body.hex-screen-ui.hex-desktop-screens #hub-dialog[data-tab=cosmetics] #hub-content .fitting-room>.wardrobe-tabs button strong{font-size:11px!important}
 body.hex-screen-ui.hex-desktop-screens #hub-dialog[data-tab=cosmetics] #hub-content .collection-filters button{height:44px!important;min-height:44px!important;padding:4px!important;font-size:13px!important}
 body.hex-screen-ui.hex-desktop-screens #hub-dialog[data-tab=cosmetics] #hub-content .wardrobe-cards{grid-auto-rows:180px!important;gap:8px!important}
 body.hex-screen-ui.hex-desktop-screens #hub-dialog[data-tab=cosmetics] #hub-content .wardrobe-cards article.cosmetic-expand-card{padding:8px!important;grid-template-rows:minmax(0,1fr) 32px 22px!important;gap:4px!important}
 body.hex-screen-ui.hex-desktop-screens #hub-dialog[data-tab=cosmetics] #hub-content .fitting-room .wardrobe-art{min-height:0!important}
 body.hex-screen-ui.hex-desktop-screens #hub-dialog[data-tab=cosmetics] #hub-content .fitting-preview{padding:6px!important;overflow:hidden!important}
}
@media(orientation:portrait) and (max-width:850px){
 body.hex-screen-ui.hex-desktop-screens #hub-dialog[data-tab=cosmetics] #hub-content .fitting-room{grid-template-columns:1fr!important;grid-template-rows:52px 125px minmax(0,1fr)!important}
 body.hex-screen-ui.hex-desktop-screens #hub-dialog[data-tab=cosmetics] #hub-content .fitting-room>.fitting-preview{grid-column:1!important;grid-row:2!important;display:grid!important;grid-template-columns:1fr 1fr!important;grid-template-rows:minmax(0,1fr) auto!important;gap:4px!important}
 body.hex-screen-ui.hex-desktop-screens #hub-dialog[data-tab=cosmetics] #hub-content .fitting-wizard{grid-column:1;grid-row:1/3;height:100%!important;min-height:0!important}
 body.hex-screen-ui.hex-desktop-screens #hub-dialog[data-tab=cosmetics] #hub-content .fitting-room>.fitting-collection{grid-column:1!important;grid-row:3!important}
 body.hex-screen-ui.hex-desktop-screens #hub-dialog[data-tab]>.hub-heading .hub-wallet{gap:4px!important;font-size:12px!important}
}
/* Artwork is a swipe surface in menus, not an arena aiming surface. */
body #hub-dialog canvas,body .academy-shell canvas{touch-action:auto!important}
body.hex-screen-ui #hub-dialog .clarity-help{min-width:44px!important;min-height:44px!important}
body.hex-screen-ui #hub-dialog[data-tab=ranks] .road-change{min-height:44px!important}
@media(max-height:600px), (max-width:760px){
 .academy-shell.academy-app{grid-template-rows:52px 48px minmax(0,1fr) 60px!important}
 .academy-shell.academy-app[data-scene=home]{grid-template-rows:52px minmax(0,1fr) 60px!important}
 .academy-shell.academy-app[data-scene=guide]{grid-template-rows:52px minmax(0,1fr)!important}
 .academy-app .academy-header{padding:3px 8px!important;gap:6px!important}
 .academy-app .academy-header button,.academy-app .academy-navigation button,.academy-app .academy-header .academy-classes-button.academy-mobile-help{min-height:44px!important;height:44px!important;min-width:44px!important}
 .academy-app .academy-header>strong{font-size:15px!important;min-width:0}
 body.hex-screen-ui #hub-dialog[data-tab=rewards] #hub-content{padding:6px 10px!important}
 body.hex-screen-ui #hub-dialog[data-tab=rewards] .treasure-vault{gap:10px!important}
 body.hex-screen-ui #hub-dialog[data-tab=rewards] .vault-stage.chest-inventory:not(:has(>.inventory-summary)){overflow-y:auto!important;overflow-x:hidden!important;grid-template-rows:auto minmax(150px,max-content) auto auto!important;align-content:start;touch-action:pan-y;padding:8px!important}
 body.hex-screen-ui #hub-dialog[data-tab=rewards] .inventory-center{overflow:hidden;justify-content:flex-start!important}
 body.hex-screen-ui #hub-dialog[data-tab=rewards] .inventory-center>p{font-size:12px!important;line-height:1.25!important;margin:2px 0!important}
 body.hex-screen-ui #hub-dialog[data-tab=rewards] .inventory-chest{min-height:48px!important;max-height:65px!important}
 body.hex-screen-ui #hub-dialog[data-tab=rewards] .inventory-kind{font-size:14px!important}
 body.hex-screen-ui #hub-dialog[data-tab=rewards] .inventory-kind-tabs button{min-width:64px!important;min-height:44px!important}
}
body.hex-screen-ui.hex-desktop-screens #hub-dialog[data-tab] #hub-title{min-width:0;line-height:1.1}
@media(max-height:600px), (max-width:760px){
 body.hex-screen-ui.hex-desktop-screens #hub-dialog[data-tab] #hub-title{font-size:clamp(16px,3.4vw,24px)!important;margin:0!important}
 body.hex-screen-ui #hub-dialog[data-tab=rewards] .inventory-dots button{min-width:64px!important;min-height:44px!important;flex-shrink:0!important}
 body.hex-screen-ui #hub-dialog[data-tab=rewards] .inventory-center{display:flex!important;height:auto!important;min-height:150px!important;overflow:visible!important}
 body.hex-screen-ui #hub-dialog[data-tab=rewards] .inventory-scene{flex:0 0 60px!important;height:60px!important}
 body.hex-screen-ui #hub-dialog[data-tab=rewards] .inventory-wheel{align-items:start!important;min-height:150px!important}
 body.hex-screen-ui #hub-dialog[data-tab=rewards] .inventory-arrow{align-self:center}
 body.hex-screen-ui #hub-dialog[data-tab=rewards] .inventory-kind,body.hex-screen-ui #hub-dialog[data-tab=rewards] .inventory-count{position:static!important}
}
body.hex-screen-ui.hex-desktop-screens #hub-dialog[data-tab=cosmetics] #hub-content .fitting-room .collection-filters button{min-height:44px!important;height:44px!important}
body.hex-screen-ui.hex-desktop-screens #hub-dialog[data-tab=cosmetics] #hub-content .fitting-item-sheet .fitting-sheet-close{min-height:44px!important;min-width:64px!important}
body .play-setup .setup-close,body #season-pass-dialog .season-pass-close,body #season-pass-dialog .pass-arrows button{min-width:44px!important;min-height:44px!important}
body #hub-dialog[data-tab=rewards] #hub-content .inventory-dots button,body #hub-dialog[data-tab=rewards] #hub-content .chest-guide-button{min-height:44px!important}
body.hex-screen-ui #hub-dialog#hub-dialog[data-tab=ranks][open] #hub-content .island-road.path-compact .road-change{min-height:44px!important}
@media(max-height:500px){
 body #season-pass-dialog[open]{width:100vw!important;height:100dvh!important;max-height:100dvh!important;max-width:100vw!important;margin:0!important;inset:0!important;padding:6px 10px!important;gap:4px!important;border-radius:0!important;overflow-y:auto!important}
 body #season-pass-dialog .pass-header{min-height:44px;align-items:center;padding:0 48px 0 0}
 body #season-pass-dialog .pass-eyebrow{display:none}
 body #season-pass-dialog h2{font-size:20px!important}
 body #season-pass-dialog .season-pass-close{top:6px;right:10px}
 body #season-pass-dialog .pass-toolbar{flex:none;min-height:44px;gap:6px}
 body #season-pass-dialog .pass-toolbar select{min-height:44px}
 body #season-pass-dialog .pass-roads{--tier-head:18px;--track-height:44px;min-height:144px;box-sizing:border-box;padding:4px!important}
 body #season-pass-dialog .pass-scroll{max-height:none;height:auto;padding-bottom:6px}
 body #season-pass-dialog .pass-progress{padding:3px 8px!important;min-height:42px;box-sizing:border-box}
}
body .academy-app .academy-header button{min-height:44px!important;min-width:44px!important}
@media(max-height:600px), (max-width:760px){
 .academy-shell.academy-app{grid-template-columns:minmax(0,1fr)!important;grid-template-areas:'header' 'nav' 'body' 'kit'!important}
 .academy-shell.academy-app[data-scene=home]{grid-template-areas:'header' 'body' 'kit'!important}
 .academy-shell.academy-app[data-scene=guide]{grid-template-areas:'header' 'body'!important}
 .academy-app .academy-kit{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;min-height:0;overflow:hidden}
 .academy-app .academy-kit-title{display:none!important}
 .academy-app .academy-kit-slot{min-height:44px!important;min-width:0;flex-direction:row!important;padding:4px!important;gap:4px!important}
 .academy-app .academy-kit-slot>div{width:30px!important;height:30px!important;flex:0 0 30px}
 .academy-app .academy-kit-slot strong{font-size:10px!important}
 .academy-app button[aria-label^="Select "][aria-label$=" class"]{min-height:44px!important}
}
/* The home scene is scaled; compensate hit areas in its design coordinates. */
body.hex-desktop-screens #lobby.home-menu .home-header button{min-height:var(--home-control-height,44px)!important}
body.hex-desktop-screens #lobby.home-menu .home-header #settings-button{min-width:var(--home-control-height,44px)!important;width:var(--home-control-height,44px)!important}
body.hex-desktop-screens #lobby.home-menu #play-solo,body.hex-desktop-screens #lobby.home-menu #wizard-menu-links>.desktop-stats,body.hex-desktop-screens #lobby.home-menu #wizard-menu-links>.desktop-research{min-height:var(--home-control-height,44px)!important;height:var(--home-control-height,44px)!important}
body.hex-screen-ui.hex-desktop-screens #lobby.home-menu.home-phone-fit .home-header #account-open{height:var(--home-control-height)!important;min-height:var(--home-control-height)!important;max-height:none!important}
body.hex-screen-ui.hex-desktop-screens #lobby.home-menu #wizard-menu-links>button.desktop-stats,body.hex-screen-ui.hex-desktop-screens #lobby.home-menu #wizard-menu-links>button.desktop-research{height:var(--home-control-height,44px)!important;min-height:var(--home-control-height,44px)!important;max-height:none!important}
@media(orientation:portrait) and (min-width:600px) and (max-width:850px){
 body.hex-screen-ui.hex-desktop-screens #hub-dialog[data-tab=cosmetics] #hub-content .fitting-room{grid-template-rows:76px 160px minmax(0,1fr)!important}
 body.hex-screen-ui.hex-desktop-screens #hub-dialog[data-tab=cosmetics] #hub-content .fitting-room>.fitting-preview{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;gap:14px!important}
 body.hex-screen-ui.hex-desktop-screens #hub-dialog[data-tab=cosmetics] #hub-content .fitting-room .fitting-wizard{flex:0 0 45%!important;width:45%!important;height:130px!important;min-height:130px!important;max-height:130px!important;object-fit:contain!important}
 body.hex-screen-ui.hex-desktop-screens #hub-dialog[data-tab=cosmetics] #hub-content .wardrobe-cards{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(orientation:portrait) and (min-width:600px) and (max-width:850px){
 body.hex-screen-ui.hex-desktop-screens #hub-dialog[data-tab=cosmetics] #hub-content .fitting-room .fitting-actions{flex:1 1 0!important;width:auto!important;max-width:40%!important;min-width:0!important}
 body.hex-screen-ui.hex-desktop-screens #hub-dialog[data-tab=cosmetics] #hub-content .fitting-room .fitting-actions:not(:has(button:not([hidden]))){display:none!important}
}

/* Phone rewards use actual pixels; reward volume must never shrink tap targets. */
@media(max-height:600px), (max-width:850px){
 body #overlay:not([hidden]):where([data-score-step=rewards]):not(#_ms):not(._ms){display:block!important;overflow-y:auto!important;overflow-x:hidden!important;padding:8px max(8px,env(safe-area-inset-right)) 8px max(8px,env(safe-area-inset-left))!important;box-sizing:border-box;touch-action:pan-y;overscroll-behavior:contain}
 body #overlay:not([hidden]) .modal:where([data-score-step=rewards]):not(#_ms):not(._ms){zoom:1!important;transform:none!important;width:100%!important;max-width:1100px!important;height:auto!important;max-height:none!important;display:block!important;margin:0 auto!important;padding:12px!important;box-sizing:border-box;overflow:visible!important}
 body #overlay:where([data-score-step=rewards]):not(#_ms):not(._ms) :is(.score-tabs button,#start,#overlay-menu,#result-open-chest){min-height:44px!important;font-size:16px!important;padding:8px 16px!important;min-width:0!important;max-width:100%;white-space:normal}
 body #overlay:where([data-score-step=rewards]):not(#_ms):not(._ms) #title{font-size:24px!important;line-height:1.15!important}
 body #overlay:where([data-score-step=rewards]):not(#_ms):not(._ms) #description{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:10px;font-size:14px!important;line-height:1.4}
 body #overlay:where([data-score-step=rewards]):not(#_ms):not(._ms) #description>*{min-width:0;grid-column:1/-1}
 body #overlay:where([data-score-step=rewards]):not(#_ms):not(._ms) #description :is(.result-chest,.result-season-pass){grid-column:auto;width:100%;max-width:none!important;margin:0!important;box-sizing:border-box;padding:10px!important}
 body #overlay:where([data-score-step=rewards]):not(#_ms):not(._ms) .result-chest{gap:8px}
 body #overlay:where([data-score-step=rewards]):not(#_ms):not(._ms) .result-chest img{width:48px!important;height:48px!important;flex:none}
 body #overlay:where([data-score-step=rewards]):not(#_ms):not(._ms) .result-chest>div{min-width:0}
 body #overlay:where([data-score-step=rewards]):not(#_ms):not(._ms) .result-chest strong{font-size:18px!important}
 body #overlay:where([data-score-step=rewards]):not(#_ms):not(._ms) :is(.result-chest span,.result-chest small,.result-season-heading,.result-season-copy,.result-season-status,.result-season-gain){font-size:13px!important;letter-spacing:0;overflow-wrap:anywhere}
 body #overlay:where([data-score-step=rewards]):not(#_ms):not(._ms) .result-season-heading{flex-wrap:wrap}
 body #overlay:where([data-score-step=rewards]):not(#_ms):not(._ms) .result-season-tier{min-width:58px}
 body #overlay:where([data-score-step=rewards]):not(#_ms):not(._ms) .result-stats{gap:8px!important}
 body #overlay:where([data-score-step=rewards]):not(#_ms):not(._ms) .result-stats>span{font-size:13px!important}
 body #overlay:where([data-score-step=rewards]):not(#_ms):not(._ms) #headmaster-exam-result{font-size:14px!important;margin-top:8px!important}
}
@media(max-width:650px){
 body #overlay:where([data-score-step=rewards]):not(#_ms):not(._ms) #description{grid-template-columns:minmax(0,1fr)}
}
@media(max-height:600px), (max-width:850px){
 body #overlay:not([hidden]) .modal:where([data-score-step=rewards]):not(#_ms):not(._ms){text-align:center}
 body #overlay:where([data-score-step=rewards]):not(#_ms):not(._ms) .eyebrow{font-size:12px!important;padding:3px 16px!important}
 body #overlay:where([data-score-step=rewards]):not(#_ms):not(._ms) .result-earnings{margin:0!important;padding:0!important;font-size:14px!important}
 body #overlay:where([data-score-step=rewards]):not(#_ms):not(._ms) .result-stats b{font-size:22px!important}
}

/* Rewards: one summary with a permanently visible primary action, on PC and phone. */
body #overlay#overlay:not([hidden]):where([data-score-step=rewards]):not(#_ms):not(._ms){display:grid!important;place-items:center!important;overflow:hidden!important;padding:8px max(8px,env(safe-area-inset-right)) 8px max(8px,env(safe-area-inset-left))!important;box-sizing:border-box}
body #overlay#overlay:not([hidden]) .modal:where([data-score-step=rewards]):not(#_ms):not(._ms){zoom:1!important;transform:none!important;animation:none!important;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(180px,1fr)!important;grid-template-rows:auto minmax(0,1fr) auto!important;gap:12px!important;width:min(100%,1000px)!important;max-width:100%!important;height:min(680px,calc(100dvh - 16px))!important;max-height:calc(100dvh - 16px)!important;min-height:0!important;padding:16px!important;margin:0!important;overflow:hidden!important;box-sizing:border-box;text-align:center}
body #overlay#overlay:where([data-score-step=rewards]):not(#_ms):not(._ms) :is(.eyebrow,.sigil,#hint){display:none!important}
body #overlay#overlay:where([data-score-step=rewards]):not(#_ms):not(._ms) #title{grid-column:1;grid-row:1;align-self:center;text-align:left;font-size:clamp(20px,3vw,30px)!important;margin:0!important;line-height:1.1!important}
body #overlay#overlay #match-scoreboard[data-step=rewards]{grid-column:2;grid-row:1;min-width:0}
body #overlay#overlay:where([data-score-step=rewards]):not(#_ms):not(._ms) .score-tabs{margin:0!important;gap:6px;justify-content:flex-end}
body #overlay#overlay:where([data-score-step=rewards]):not(#_ms):not(._ms) .score-tabs button{min-height:44px!important;font-size:14px!important;padding:6px 10px!important}
body #overlay#overlay:where([data-score-step=rewards]):not(#_ms):not(._ms) #description{grid-column:1/-1;grid-row:2;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:max-content;align-content:start;gap:12px;overflow-y:auto!important;overflow-x:hidden!important;min-height:0!important;margin:0!important;padding:4px 4px 12px!important;touch-action:pan-y;overscroll-behavior:contain;scrollbar-gutter:stable;font-size:15px!important}
body #overlay#overlay:where([data-score-step=rewards]):not(#_ms):not(._ms) #description>*{grid-column:1/-1;min-width:0}
body #overlay#overlay:where([data-score-step=rewards]):not(#_ms):not(._ms) #description :is(.result-chest,.result-season-pass){grid-column:auto;max-width:none!important;width:100%;box-sizing:border-box;margin:0!important;padding:12px!important;text-align:left}
body #overlay#overlay:where([data-score-step=rewards]):not(#_ms):not(._ms) .result-earnings{font-size:15px!important;line-height:1.5;margin:0!important;padding:8px!important;color:#eadaba}
body #overlay#overlay:where([data-score-step=rewards]):not(#_ms):not(._ms) :is(#start,#overlay-menu){grid-row:3;min-height:52px!important;width:100%!important;min-width:0!important;margin:0!important;white-space:normal;font-size:18px!important;padding:10px 16px!important;align-self:stretch}
body #overlay#overlay:where([data-score-step=rewards]):not(#_ms):not(._ms) #start{grid-column:2;font-weight:900;box-shadow:inset 0 0 0 2px #fff1b666,0 3px 12px #dbb36733!important}
body #overlay#overlay:where([data-score-step=rewards]):not(#_ms):not(._ms) #overlay-menu{grid-column:1;background:#292035!important;border-color:#7f698e!important;color:#d9c9e6!important;font-size:15px!important;justify-self:start;width:auto!important}
body #overlay .result-extra-details{border-top:1px solid #b49a6844;text-align:left;color:#d9c9e6}
body #overlay .result-extra-details summary{cursor:pointer;min-height:44px;box-sizing:border-box;padding:12px;font-size:14px;touch-action:manipulation}
body #overlay .result-extra-details .result-stats{margin:8px 0!important}
@media(max-width:650px){body #overlay#overlay:where([data-score-step=rewards]):not(#_ms):not(._ms) #description{grid-template-columns:minmax(0,1fr)}}
@media(max-height:600px){body #overlay#overlay:not([hidden]) .modal:where([data-score-step=rewards]):not(#_ms):not(._ms){padding:8px!important;gap:6px!important}body #overlay#overlay:where([data-score-step=rewards]):not(#_ms):not(._ms) :is(#start,#overlay-menu){min-height:48px!important}}
/* The rewards step is a single screen; combat detail belongs to Match heroes. */
body #overlay#overlay:where([data-score-step=rewards]):not(#_ms):not(._ms) #description{overflow:hidden!important;scrollbar-gutter:auto;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px}
body #overlay#overlay:where([data-score-step=rewards]):not(#_ms):not(._ms) :is(.result-extra-details,#headmaster-exam-result,.result-season-status){display:none!important}
body #overlay#overlay:not([hidden]) .modal:where([data-score-step=rewards]):not(#_ms):not(._ms){height:min(480px,calc(100dvh - 16px))!important}
@media(max-height:600px), (max-width:650px){
 body #overlay#overlay:where([data-score-step=rewards]):not(#_ms):not(._ms) #description{gap:6px;padding:0!important}
 body #overlay#overlay:where([data-score-step=rewards]):not(#_ms):not(._ms) .result-earnings{font-size:12px!important;line-height:1.3;padding:2px!important}
 body #overlay#overlay:where([data-score-step=rewards]):not(#_ms):not(._ms) #description :is(.result-chest,.result-season-pass){padding:8px!important}
 body #overlay#overlay:where([data-score-step=rewards]):not(#_ms):not(._ms) .result-chest img{width:32px!important;height:32px!important}
 body #overlay#overlay:where([data-score-step=rewards]):not(#_ms):not(._ms) .result-chest strong{font-size:16px!important}
 body #overlay#overlay:where([data-score-step=rewards]):not(#_ms):not(._ms) :is(.result-chest span,.result-chest small,.result-season-heading,.result-season-copy,.result-season-gain){font-size:12px!important}
 body #overlay#overlay:where([data-score-step=rewards]):not(#_ms):not(._ms) .result-season-body{gap:6px;padding-top:4px}
 body #overlay#overlay:where([data-score-step=rewards]):not(#_ms):not(._ms) .result-season-tier small{display:none}
 body #overlay#overlay:where([data-score-step=rewards]):not(#_ms):not(._ms) .result-season-tier strong{font-size:20px}
 body #overlay#overlay:where([data-score-step=rewards]):not(#_ms):not(._ms) .result-season-heading{padding-bottom:3px}
}
/* Full-screen honors layout, without a nested modal frame. */
body #overlay#overlay:not([hidden]):where([data-score-step=rewards]):not(#_ms):not(._ms){padding:0!important}
body #overlay#overlay:not([hidden]) .modal:where([data-score-step=rewards]):not(#_ms):not(._ms){width:100%!important;max-width:none!important;height:100dvh!important;max-height:100dvh!important;padding:clamp(12px,3vw,40px) max(16px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;gap:16px!important;grid-template-columns:minmax(0,1fr) minmax(180px,1fr)!important}
body #overlay#overlay:where([data-score-step=rewards]):not(#_ms):not(._ms) #description{align-self:center;width:min(100%,1100px);justify-self:center;box-sizing:border-box}
body #overlay#overlay:where([data-score-step=rewards]):not(#_ms):not(._ms) #start{width:min(100%,440px)!important;justify-self:end;min-height:56px!important;font-size:20px!important}
@media(max-height:600px){body #overlay#overlay:not([hidden]) .modal:where([data-score-step=rewards]):not(#_ms):not(._ms){padding:8px max(12px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))!important;gap:8px!important}body #overlay#overlay:where([data-score-step=rewards]):not(#_ms):not(._ms) #start{min-height:48px!important;font-size:18px!important}}
body #overlay#overlay:where([data-score-step=rewards]):not(#_ms):not(._ms) .result-stats{display:none!important}
body #overlay#overlay:where([data-score-step=rewards]):not(#_ms):not(._ms) .result-season-copy{display:flex;flex-wrap:wrap;gap:3px 8px;white-space:normal}
body #overlay#overlay:where([data-score-step=rewards]):not(#_ms):not(._ms) .result-season-copy>*{min-width:0;white-space:normal;overflow-wrap:anywhere}
body #overlay#overlay:where([data-score-step=rewards]):not(#_ms):not(._ms) #description :is(.result-chest,.result-season-pass){order:1}
body #overlay#overlay:where([data-score-step=rewards]):not(#_ms):not(._ms) #result-open-chest{order:2;justify-self:center;width:auto!important;min-height:44px!important;font-size:14px!important;padding:6px 18px!important;margin:0!important}
body #overlay#overlay:where([data-score-step=rewards]):not(#_ms):not(._ms) .elo-countup{display:flex;align-items:baseline;justify-content:center;gap:8px;padding:0!important;margin:0!important;font-size:14px}
body #overlay#overlay:where([data-score-step=rewards]):not(#_ms):not(._ms) .elo-countup strong{font-size:22px!important}

/* Practice: Mastery identity needs its own row; never overlap the deck. */
html body #lobby #practice-panel.pr-room .pr-editor{grid-template-rows:minmax(76px,max-content) minmax(0,1fr)!important;gap:10px!important}
@media(max-height:600px){
 html body #lobby #practice-panel.pr-room .pr-body{grid-template-rows:56px minmax(0,1fr)!important;gap:8px!important}
 html body #lobby #practice-panel.pr-room .pr-shortcuts button{min-height:56px!important;padding:6px 26px 6px 10px!important}
 html body #lobby #practice-panel.pr-room .pr-shortcuts strong{font-size:15px!important}
 html body #lobby #practice-panel.pr-room .pr-editor{padding:8px!important;gap:6px!important}
 html body #lobby #practice-panel.pr-room .pr-deck button{display:flex!important;flex-direction:column!important;justify-content:center!important;gap:3px!important;padding:4px!important;min-height:44px!important}
 html body #lobby #practice-panel.pr-room .pr-deck :is(img,svg,.pr-random){display:none!important}
 html body #lobby #practice-panel.pr-room .pr-deck strong{font-size:14px!important}
 html body #lobby #practice-panel.pr-room .pr-rank img{width:24px;height:26px}
 html body #lobby #practice-panel.pr-room .pr-strength{grid-template-columns:minmax(120px,27%) minmax(0,1fr)!important}
}
/* Compact combat cards retain rank, loadout and health, leaving the lower controls clear. */
@media(max-height:600px),(max-width:850px){
 body #academy-team-hud{inset:48px 8px auto!important;gap:80px!important}
 body #academy-team-hud .academy-team-side{width:168px!important;max-width:calc((100vw - 100px)/2)!important;gap:3px!important}
 body #academy-team-hud .academy-team-member{grid-template-columns:26px minmax(0,1fr)!important;grid-template-rows:13px 11px 20px 11px!important;padding:3px 5px!important;gap:1px 4px!important}
 body #academy-team-hud .academy-team-rank :is(img,svg){width:26px!important;height:30px!important}
 body #academy-team-hud .academy-team-name{font-size:11px!important;line-height:13px!important}
 body #academy-team-hud .academy-team-rating{font-size:9px!important;line-height:11px!important}
 body #academy-team-hud .academy-team-spells{gap:3px!important}
 body #academy-team-hud .academy-team-spell{width:19px!important;height:19px!important}
 body #academy-team-hud .academy-team-health{height:11px!important}
 body #academy-team-hud .academy-team-health span{font-size:8px!important;line-height:10px!important}
}
/* Full-screen MVP stage, with navigation and touch celebration sharing a footer. */
body #overlay#overlay:not([hidden]):where([data-score-step=heroes]):not(#_ms):not(._ms){padding:0!important}
body #overlay#overlay:not([hidden]) .modal:where([data-score-step=heroes]):not(#_ms):not(._ms){width:100%!important;max-width:none!important;height:100dvh!important;max-height:100dvh!important;margin:0!important;padding:8px 12px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;zoom:1!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-rows:28px minmax(0,1fr) 52px!important;gap:6px!important;overflow:hidden!important}
body #overlay#overlay:where([data-score-step=heroes]):not(#_ms):not(._ms) :is(.eyebrow,.sigil,#hint){display:none!important}
body #overlay#overlay:where([data-score-step=heroes]):not(#_ms):not(._ms) #title{grid-column:1/-1!important;grid-row:1!important;font-size:24px!important;margin:0!important}
body #overlay#overlay #match-scoreboard[data-step=heroes]{grid-column:1/-1!important;grid-row:2!important;height:100%!important;min-height:0!important}
body #overlay#overlay #match-scoreboard[data-step=heroes] .score-tabs{flex:0 0 44px!important}
body #overlay#overlay #match-scoreboard[data-step=heroes] .score-tabs button{min-height:44px!important;padding:6px 14px!important;font-size:14px!important}
body #overlay#overlay #match-scoreboard[data-step=heroes] .stage-hint{display:none!important}
body #overlay#overlay #match-scoreboard[data-step=heroes] .hero-board{grid-template-rows:repeat(2,minmax(0,1fr))!important;flex:1!important;min-height:0!important}
body #overlay#overlay #match-scoreboard[data-step=heroes] .hero-board.duel-board{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:minmax(0,1fr)!important}
body #overlay#overlay:where([data-score-step=heroes]):not(#_ms):not(._ms) :is(#start,#overlay-menu){grid-row:3!important;min-height:44px!important;height:44px!important;padding:6px 14px!important;align-self:center!important;font-size:16px!important;margin:0!important}
body #overlay#overlay:where([data-score-step=heroes]):not(#_ms):not(._ms) #start{grid-column:1!important}
body #overlay#overlay:where([data-score-step=heroes]):not(#_ms):not(._ms) #overlay-menu{grid-column:2!important}
body.touch-playing #overlay#overlay:where([data-score-step=heroes]):not(#_ms):not(._ms) #start{margin-left:80px!important;width:calc(100% - 80px)!important}
body.touch-playing #overlay#overlay:where([data-score-step=heroes]):not(#_ms):not(._ms) #overlay-menu{margin-right:72px!important}
body:where([data-score-step=heroes]):not(#_ms):not(._ms) #touch-controls.post-match .touch-stick{width:64px!important;height:64px!important;left:8px!important;bottom:8px!important;top:auto!important}
body:where([data-score-step=heroes]):not(#_ms):not(._ms) #touch-controls.post-match .touch-stick i{width:28px!important;height:28px!important}
body:where([data-score-step=heroes]):not(#_ms):not(._ms) #touch-controls.post-match [data-touch=dash]{width:56px!important;height:56px!important;position:fixed!important;right:8px!important;bottom:8px!important;left:auto!important;top:auto!important}
@media(max-height:600px){html body #lobby#lobby #practice-panel.pr-room[open]{padding:8px!important;gap:8px!important;grid-template-rows:minmax(0,1fr) 44px!important}html body #lobby#lobby #practice-panel.pr-room .pr-editor{grid-template-rows:68px minmax(44px,1fr)!important}html body #lobby#lobby #practice-panel.pr-room .pr-strength label{gap:2px!important}html body #lobby#lobby #practice-panel.pr-room .pr-strength label strong{font-size:14px!important}html body #lobby#lobby #practice-panel.pr-room .pr-shortcuts{gap:8px!important}}
body #overlay#overlay:not([hidden]) .modal:where([data-score-step=heroes]):not(#_ms):not(._ms){grid-template-rows:44px minmax(0,1fr) 52px!important}
body #overlay#overlay:where([data-score-step=heroes]):not(#_ms):not(._ms) #title{text-align:left!important;justify-self:start!important;align-self:center!important;width:45%!important}
body #overlay#overlay #match-scoreboard[data-step=heroes] .score-tabs{position:absolute;top:8px;right:12px;height:44px;max-width:52%;margin:0!important}
@media(max-height:430px){
 body #academy-team-hud.team-pairs:not(._tp){gap:70px!important}
 body #academy-team-hud.team-pairs:not(._tp) .academy-team-side{display:grid!important;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);grid-template-rows:12px auto;width:calc((100vw - 86px)/2)!important;max-width:none!important;gap:3px!important;align-content:start}
 body #academy-team-hud.team-pairs:not(._tp) .academy-team-side h3{grid-column:1/-1;grid-row:1;margin:0!important}
 body #academy-team-hud.team-pairs:not(._tp) .academy-team-member{grid-row:2;grid-template-columns:16px minmax(0,1fr)!important;grid-template-rows:13px 11px 19px 11px!important;padding:3px!important;gap:1px 2px!important;min-width:0}
 body #academy-team-hud.team-pairs:not(._tp) .academy-team-rank :is(img,svg){width:16px!important;height:22px!important}
 body #academy-team-hud.team-pairs:not(._tp) .academy-team-spells{grid-column:1/-1!important;gap:2px!important;justify-content:center}
 body #academy-team-hud.team-pairs:not(._tp) .academy-team-spell{width:clamp(16px,2.5vw,19px)!important;height:18px!important}
 body #academy-team-hud.team-pairs:not(._tp) .academy-team-rating{font-size:8px!important;white-space:nowrap}
}

/* Keep short-screen wardrobe cards within their collection viewport. */
@media(max-height:420px){
 body.hex-screen-ui.hex-desktop-screens #hub-dialog[data-tab=cosmetics] #hub-content .wardrobe-cards{display:grid!important;grid-template-columns:none!important;grid-template-rows:minmax(0,1fr)!important;grid-auto-flow:column!important;grid-auto-columns:minmax(135px,30%)!important;grid-auto-rows:auto!important;overflow-x:auto!important;overflow-y:hidden!important;touch-action:pan-x!important;padding-bottom:6px!important}
 body.hex-screen-ui.hex-desktop-screens #hub-dialog[data-tab=cosmetics] #hub-content .fitting-room>.wardrobe-tabs button{height:36px!important;min-height:36px!important}
 body.hex-screen-ui.hex-desktop-screens #hub-dialog[data-tab=cosmetics] #hub-content .collection-filters button{min-height:32px!important;height:32px!important;font-size:12px!important}
 body.hex-screen-ui.hex-desktop-screens #hub-dialog[data-tab=cosmetics] #hub-content .wardrobe-cards article.cosmetic-expand-card{min-height:0!important;grid-template-rows:minmax(0,1fr) 26px 20px!important;padding:5px!important;gap:2px!important}
}
/* Short landscape phones: spell, variant and library pages give the loadout bar's row back to the spellbook (as academy.css intends), so previews fit without scrolling. */
@media(max-height:500px){
 .academy-shell.academy-app:is([data-scene=spell],[data-scene=variants],[data-scene=library]){grid-template-rows:52px 48px minmax(0,1fr)!important;grid-template-areas:'header' 'nav' 'body'!important}
 .academy-app:is([data-scene=spell],[data-scene=variants],[data-scene=library]) .academy-kit{display:none!important}
}
@media(max-height:500px){
 .academy-app[data-scene=spell] .academy-detail .academy-variants-button{display:inline-block!important;vertical-align:top;margin:4px 8px 0 0!important}
 .academy-app[data-scene=spell] .academy-detail .academy-spell-notes:not([open]){display:inline-block;vertical-align:top;margin-top:4px!important}
 .academy-app[data-scene=spell] .academy-detail .academy-spell-notes:not([open]) summary{min-height:30px!important;height:30px!important;padding-top:0!important;padding-bottom:0!important}
 .academy-app[data-scene=spell] .academy-body{padding-top:2px!important;padding-bottom:2px!important}
 .academy-app[data-scene=spell] .academy-detail .academy-spell-summary{margin-top:2px!important;margin-bottom:6px!important}
}
@media(max-height:400px){
 .academy-shell.academy-app:is([data-scene=spell],[data-scene=variants],[data-scene=library]){grid-template-rows:48px 44px minmax(0,1fr)!important}
 .academy-app[data-scene=spell] .academy-detail .academy-spell-page>*{margin-top:0!important;margin-bottom:4px!important}
 .academy-app[data-scene=spell] .academy-detail .academy-study-meter{display:flex!important;align-items:center;gap:8px;padding-top:4px!important;padding-bottom:4px!important}
 .academy-app[data-scene=spell] .academy-detail .academy-study-meter>strong{white-space:nowrap;margin:0!important}
 .academy-app[data-scene=spell] .academy-detail .academy-study-meter>.academy-progress{flex:1;min-width:60px;margin:0!important}
}
/* A variant's preview only grows its own card; the neighbouring card keeps its natural height. */
@media(max-height:500px){.academy-app[data-scene=variants] .academy-variants{align-items:start!important}}
