/* Apollo QB Retro Football — active Milestone 11.2 arcade shell overrides. */
:root{--arcade-gold:#f1b928;--arcade-cream:#f5f0dc;--arcade-blue:#7467ff;--arcade-red:#ed5135}
.game-only-home,.game-menu-panel,.play-call-screen{image-rendering:pixelated}
.game-only-home{grid-template-rows:72px minmax(0,1fr) 58px;background:radial-gradient(circle at 50% 25%,#101633 0,#03050a 48%,#000 100%)}
.game-only-home__header,.game-only-home__footer{border:1px solid #343c43;border-radius:0;box-shadow:inset 0 0 0 3px #050606,inset 0 0 0 4px #1c2222}
.game-only-home__main{grid-template-columns:minmax(0,1.75fr) minmax(280px,.7fr)}
.game-only-hero{border:2px solid #343b3b;border-radius:0;box-shadow:inset 0 0 0 3px #020303,0 0 0 1px #000;background:#01020a}
.arcade-stadium{position:absolute;inset:0;overflow:hidden;background:radial-gradient(circle at 50% 0,#111a3c,#010207 55%)}
.arcade-crowd{position:absolute;inset:41% 0 31%;background:repeating-linear-gradient(90deg,#181a16 0 3px,#080a09 3px 6px),repeating-linear-gradient(0deg,transparent 0 6px,rgba(237,179,33,.18) 6px 8px);border-block:2px solid #33392f}
.arcade-crowd::after{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,#e8b629 0 1px,transparent 1.4px);background-size:13px 9px;opacity:.48}
.arcade-light{position:absolute;top:8%;width:78px;height:92px;border:4px solid #263950;background:radial-gradient(circle,#d6f4ff 0 2px,#55a7ef 2px 5px,#102135 6px);background-size:13px 13px;filter:drop-shadow(0 0 16px #4ba4ff)}
.arcade-light.is-left{left:8%}.arcade-light.is-right{right:8%}
.arcade-field{position:absolute;left:-8%;right:-8%;bottom:-4%;height:47%;clip-path:polygon(18% 0,82% 0,100% 100%,0 100%);background:repeating-linear-gradient(90deg,rgba(255,255,255,.04) 0 8%,rgba(0,0,0,.05) 8% 16%),repeating-linear-gradient(0deg,#1e692f 0 18%,#235f2f 18% 20%);border-top:2px solid #d9dec8}
.arcade-field::before{content:"";position:absolute;inset:9% 12%;background:repeating-linear-gradient(0deg,transparent 0 19%,rgba(245,245,222,.72) 19% 20%);clip-path:polygon(14% 0,86% 0,100% 100%,0 100%)}
.arcade-field span{position:absolute;left:50%;top:0;bottom:0;width:2px;background:rgba(255,255,255,.52)}
.arcade-field b{position:absolute;left:50%;top:42%;width:82px;height:40px;border:3px solid rgba(241,185,40,.6);border-radius:50%;transform:translate(-50%,-50%)}
.arcade-quarterback{position:absolute;left:15%;bottom:7%;width:clamp(100px,13vw,190px);aspect-ratio:.62;filter:drop-shadow(10px 12px 0 rgba(0,0,0,.55))}
.arcade-quarterback::before{content:"";position:absolute;inset:5% 13% 38%;border:5px solid #d9a82a;border-radius:46% 46% 20% 20%;background:#11130f;box-shadow:inset 18px 0 #d59d25}
.arcade-quarterback::after{content:"";position:absolute;left:19%;right:7%;bottom:0;height:44%;background:linear-gradient(72deg,transparent 0 21%,#d49d26 22% 36%,transparent 37% 61%,#d49d26 62% 76%,transparent 77%)}
.arcade-quarterback span{position:absolute;z-index:2;left:50%;top:28%;color:#fff;font:900 clamp(.8rem,2vw,1.8rem)/1 var(--pixel-font);transform:translateX(-50%)}
.game-only-hero__copy{left:42%;right:4%;bottom:13%;max-width:none;text-align:center}
.game-only-hero__copy>span{color:var(--arcade-red)}
.game-only-hero__copy h2{display:grid;margin:8px 0 10px;font-style:normal;letter-spacing:-.04em;text-shadow:5px 5px 0 #170700}
.game-only-hero__copy h2 i{color:var(--arcade-blue);font-size:.72em;font-style:normal}.game-only-hero__copy h2 strong{color:var(--arcade-red)}
.game-only-hero__copy p{color:var(--arcade-cream);letter-spacing:.08em}
.game-only-hero__score{position:absolute;inset:14px 18px auto;display:flex;justify-content:space-between;color:var(--arcade-red);font:.62rem/1.35 var(--pixel-font)}
.game-only-hero__score b{color:#fff;font-weight:400}
.game-home-modes{align-content:stretch;grid-auto-rows:1fr}
.game-home-card{grid-template-columns:46px minmax(0,1fr) 20px;min-height:0;border:2px solid #303838;border-radius:0;background:linear-gradient(180deg,#090d0e,#020303);box-shadow:inset 0 0 0 3px #020303}
.game-home-card.is-selected,.game-home-card:hover,.game-home-card:focus-visible{transform:none;border-color:var(--arcade-gold);box-shadow:inset 0 0 0 3px #201803,0 0 14px rgba(241,185,40,.36)}
.game-home-card__icon{width:44px;border-radius:0;font:400 .43rem/1 var(--pixel-font)}
.game-home-card small{color:#557dff}.game-only-home__status button b{font:.48rem/1 var(--pixel-font)}
.game-only-home__footer nav button b{display:inline-grid;place-items:center;min-width:20px;height:20px;margin-right:4px;border:1px solid currentColor;border-radius:50%}

.brand-lockup{display:flex;align-items:center;gap:8px}.brand-lockup>span:last-child{display:grid}
.aq-score-emblem{display:grid;place-items:center;width:42px;aspect-ratio:1;border:2px solid var(--arcade-gold);clip-path:polygon(50% 0,94% 20%,88% 74%,50% 100%,12% 74%,6% 20%);background:#0b0b07;color:var(--arcade-gold);font:900 .68rem/1 var(--pixel-font)}
.arcade-game-shell:not(.mobile-gameplay-active){grid-template-rows:54px 72px minmax(0,1fr) 52px}
.arcade-game-shell:not(.mobile-gameplay-active) .brand-bar,.arcade-game-shell:not(.mobile-gameplay-active) .scoreboard,.arcade-game-shell:not(.mobile-gameplay-active) .field-frame,.arcade-game-shell:not(.mobile-gameplay-active) .lower-panel{border-radius:0}
.arcade-game-shell:not(.mobile-gameplay-active) .brand-bar{background:#020404}.arcade-game-shell:not(.mobile-gameplay-active) .game-layout{min-height:0}
.arcade-game-shell:not(.mobile-gameplay-active) .lower-panel{background:linear-gradient(145deg,#111515,#020303 72%);box-shadow:inset 0 0 0 3px #050606}
.arcade-button-cluster{display:grid;grid-template-columns:repeat(2,34px);gap:5px;justify-content:center;margin-top:6px}
.arcade-button-cluster i{display:grid;place-items:center;width:34px;aspect-ratio:1;border:3px solid #252b2c;border-radius:50%;color:#fff;font:.56rem/1 var(--pixel-font);box-shadow:inset 0 -4px rgba(0,0,0,.35)}
.arcade-button-cluster .is-y{background:#dba51d}.arcade-button-cluster .is-b{background:#d43b2a}.arcade-button-cluster .is-x{background:#2568b1}.arcade-button-cluster .is-a{background:#3b9f38}

.arcade-game-shell[data-play-call="open"]{overflow:hidden}.arcade-game-shell[data-play-call="open"] .play-call-screen{min-height:0;overflow:hidden!important;background:#020303}
.arcade-game-shell[data-play-call="open"] .play-call-main{min-height:0}.play-call-arcade-legend .play-call-control-list{grid-template-columns:repeat(3,minmax(0,1fr))}
.play-call-card{border-radius:0;background:#07100d;box-shadow:inset 0 0 0 3px #020303}.play-call-card.is-highlighted,.play-call-card.is-selected{box-shadow:inset 0 0 0 3px #211904,0 0 16px rgba(241,185,40,.48)}
.play-call-actions button,.play-call-page-controls button,.play-call-formation-tab{border-radius:0}

@media(max-width:760px) and (orientation:portrait){
 .game-only-home{grid-template-rows:62px minmax(0,1fr) 50px}.game-only-home__main{display:grid;grid-template-columns:1fr;grid-template-rows:minmax(210px,36dvh) minmax(0,1fr);overflow:hidden}.game-only-hero{min-height:0}.arcade-quarterback{left:7%;width:110px}.game-only-hero__copy{left:34%;right:2%;bottom:9%}.game-only-hero__copy h2{font-size:clamp(2rem,12vw,3.2rem)}.game-only-hero__copy p{font-size:.48rem}.game-only-hero__score{display:none}.game-home-modes{grid-template-columns:1fr 1fr;grid-auto-rows:minmax(76px,1fr);overflow:hidden}.game-home-card{grid-template-columns:34px minmax(0,1fr);gap:7px;padding:8px}.game-home-card:last-child{grid-column:1/-1}.game-home-card__icon{width:32px}.game-home-card>b,.game-home-card em{display:none}.game-only-home__footer>span,.game-only-home__footer>small{display:none}.game-only-home__footer nav{width:100%}
 .arcade-game-shell[data-play-call="open"]{height:100dvh!important;overflow:hidden!important}.arcade-game-shell[data-play-call="open"] .play-call-screen{height:calc(100dvh - 112px)!important;overflow:hidden!important;-webkit-overflow-scrolling:auto!important}.arcade-game-shell[data-play-call="open"] .play-call-main{grid-template-columns:1fr!important;grid-template-rows:33% minmax(0,1fr);gap:4px}.arcade-game-shell[data-play-call="open"] .play-call-left{display:block;min-height:0}.arcade-game-shell[data-play-call="open"] .play-call-preview-panel{height:100%}.arcade-game-shell[data-play-call="open"] .play-call-preview{height:calc(100% - 42px);min-height:0}.arcade-game-shell[data-play-call="open"] .play-call-left-details,.arcade-game-shell[data-play-call="open"] .play-call-support-grid,.arcade-game-shell[data-play-call="open"] .play-call-status-strip{display:none}.arcade-game-shell[data-play-call="open"] .play-call-right{display:grid;grid-template-rows:auto auto minmax(0,1fr) 48px;min-height:0;gap:3px;padding:4px}.arcade-game-shell[data-play-call="open"] .play-call-titlebar{min-height:34px;padding:2px 4px}.arcade-game-shell[data-play-call="open"] .play-call-titlebar>div:first-child span{display:none}.arcade-game-shell[data-play-call="open"] .play-call-titlebar h2{font-size:.64rem}.arcade-game-shell[data-play-call="open"] .formation-tabs{min-height:36px}.arcade-game-shell[data-play-call="open"] .play-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:1fr 1fr;min-height:0;overflow:hidden}.arcade-game-shell[data-play-call="open"] .play-call-card{min-height:0;padding:4px}.arcade-game-shell[data-play-call="open"] .play-call-actions{min-height:44px}.arcade-game-shell[data-play-call="open"] .play-call-actions>span{display:none}
}

/* Milestone 11.6: the immutable portrait cabinet art owns the full phone
   width.  Safe-area space belongs to the outer screen, never a nested,
   height-derived image wrapper. */
@media(max-width:760px) and (orientation:portrait){
 html[data-home-art="active"],html[data-home-art="active"] body{height:auto;min-height:100%;overflow-x:hidden!important;overflow-y:auto!important}
 .mode-layer.mode-layer--home{display:block!important;min-height:100dvh;padding-top:env(safe-area-inset-top)!important;padding-right:0!important;padding-bottom:env(safe-area-inset-bottom)!important;padding-left:0!important;overflow-x:hidden!important;overflow-y:auto!important}
 .mode-surface.mode-surface--home{height:auto!important;min-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important;overflow:visible!important}
 .home-art-screen,.home-art-screen.has-continue{display:flex;flex-direction:column;justify-content:flex-start;width:100%;height:auto;min-height:100%;gap:6px;padding:0 0 max(4px,env(safe-area-inset-bottom));overflow:visible}
 .home-art-stage,.home-art-screen.has-continue .home-art-stage{flex:0 0 auto;width:100%;max-width:none;max-height:none;aspect-ratio:853/1844}
 .home-art-picture,.home-art-picture img{width:100%;height:auto;aspect-ratio:853/1844;object-fit:contain}
 .home-continue-bar{flex:0 0 44px;width:min(92%,520px);min-height:40px;margin:0 auto 4px}
}

@media(max-height:500px) and (orientation:landscape){
 .home-art-screen.has-continue{grid-template-rows:minmax(0,1fr) 40px;gap:2px}
 .home-art-screen.has-continue .home-art-stage{max-height:calc(100dvh - 44px);width:min(100%,calc((100dvh - 44px) * 1844 / 853))}
 .home-continue-bar{width:min(440px,70%);min-height:36px}
}

@media(max-height:500px) and (orientation:landscape){
 .mode-layer.mode-layer--home{padding:max(3px,env(safe-area-inset-top)) max(3px,env(safe-area-inset-right)) max(3px,env(safe-area-inset-bottom)) max(3px,env(safe-area-inset-left))}.game-only-home{grid-template-rows:44px minmax(0,1fr) 38px;padding:3px}.game-only-home__header{padding:2px 7px}.game-only-home__header .aq-emblem{width:34px}.game-only-home__header .aq-wordmark strong{font-size:.76rem}.game-only-home__header .aq-wordmark small{font-size:.3rem;margin-top:2px}.game-only-home__status>span{min-width:72px;padding:3px 6px}.game-only-home__status button{width:34px}.game-only-home__main{grid-template-columns:minmax(0,1.8fr) minmax(220px,.72fr);gap:5px;padding:5px 0;overflow:hidden}.arcade-quarterback{width:100px}.game-only-hero__copy{left:29%;bottom:7%}.game-only-hero__copy h2{font-size:clamp(1.65rem,7.6vw,3.25rem);margin:2px 0 4px}.game-only-hero__copy p{font-size:.42rem}.game-only-hero__copy>span{font-size:.4rem}.game-only-hero__score{display:none}.game-home-modes{gap:3px}.game-home-card{min-height:0;padding:5px;grid-template-columns:30px minmax(0,1fr) 12px;gap:6px}.game-home-card__icon{width:28px}.game-home-card strong{font-size:.54rem}.game-home-card em{font-size:.38rem;line-height:1.2}.game-only-home__footer{padding:2px 5px}.game-only-home__footer>span,.game-only-home__footer>small{display:none}.game-only-home__footer nav{width:100%}
 .arcade-game-shell[data-play-call="open"]{display:grid!important;grid-template-rows:46px minmax(0,1fr)!important;height:100dvh!important;min-height:0!important;max-height:100dvh!important;box-sizing:border-box!important;overflow:hidden!important;padding:3px!important;gap:3px!important}.arcade-game-shell[data-play-call="open"] .brand-bar{display:none!important}.arcade-game-shell[data-play-call="open"] .scoreboard{display:grid!important;height:46px!important;min-height:0!important;box-sizing:border-box!important;padding:2px 4px!important}.arcade-game-shell[data-play-call="open"] .play-call-screen,.arcade-game-shell[data-play-call="open"] .play-call-screen.is-transitioning{display:block;position:relative;inset:auto;height:100%!important;min-height:0!important;max-height:100%;box-sizing:border-box;overflow:hidden!important;padding:3px;transform:none!important;animation:none!important}.arcade-game-shell[data-play-call="open"] .play-call-main{display:grid;grid-template-columns:minmax(180px,34%) minmax(0,1fr)!important;gap:4px;height:100%;min-height:0}.arcade-game-shell[data-play-call="open"] .play-call-left{display:block;min-height:0}.arcade-game-shell[data-play-call="open"] .play-call-preview-panel{height:100%}.arcade-game-shell[data-play-call="open"] .play-call-preview{height:calc(100% - 42px);min-height:0}.arcade-game-shell[data-play-call="open"] .play-call-preview-meta{height:22px;padding:2px 4px;font-size:.38rem}.arcade-game-shell[data-play-call="open"] .play-call-left-details,.arcade-game-shell[data-play-call="open"] .play-call-support-grid,.arcade-game-shell[data-play-call="open"] .play-call-status-strip{display:none!important}.arcade-game-shell[data-play-call="open"] .play-call-right{display:grid;grid-template-rows:34px 36px minmax(0,1fr) 44px;min-height:0;gap:3px;padding:3px;overflow:hidden}.arcade-game-shell[data-play-call="open"] .play-call-titlebar{min-height:0;padding:2px 4px}.arcade-game-shell[data-play-call="open"] .play-call-titlebar>div:first-child span{display:none}.arcade-game-shell[data-play-call="open"] .play-call-titlebar h2{margin:0;font-size:.6rem}.arcade-game-shell[data-play-call="open"] .play-call-page-controls button{min-height:28px;min-width:34px;padding:2px}.arcade-game-shell[data-play-call="open"] .play-call-page-controls button small{display:none}.arcade-game-shell[data-play-call="open"] .formation-tabs{min-height:0;gap:3px}.arcade-game-shell[data-play-call="open"] .play-call-formation-tab{min-height:34px;padding:2px 5px;font-size:.45rem}.arcade-game-shell[data-play-call="open"] .play-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-template-rows:1fr!important;gap:4px;min-height:0;overflow:hidden}.arcade-game-shell[data-play-call="open"] .play-call-card{min-height:0;padding:4px;overflow:hidden}.arcade-game-shell[data-play-call="open"] .play-call-card__heading strong{font-size:.5rem}.arcade-game-shell[data-play-call="open"] .play-call-card__footer{display:none}.arcade-game-shell[data-play-call="open"] .play-call-card>.mini-play-diagram{min-height:0}.arcade-game-shell[data-play-call="open"] .play-call-actions{display:grid;grid-template-columns:100px 1fr 116px;min-height:0;padding:2px}.arcade-game-shell[data-play-call="open"] .play-call-actions>span{font-size:.4rem}.arcade-game-shell[data-play-call="open"] .play-call-actions button{min-height:40px;padding:2px 6px}.arcade-game-shell[data-play-call="open"] .play-call-actions button small{display:none}
}
@media(prefers-reduced-motion:reduce){.game-only-home,.game-home-card,.play-call-card{animation:none!important;transition:none!important}}

/* Milestone 11A: the supplied immutable artwork is the complete Home UI. */
html[data-home-art="active"],html[data-home-art="active"] body{width:100%;height:100%;overflow:hidden!important;background:#000}
.mode-layer.mode-layer--home{padding:0!important;background:#000!important}
.mode-surface.mode-surface--home{width:100%!important;height:100dvh!important;max-width:none!important;max-height:none!important;padding:0!important;border:0!important;border-radius:0!important;background:#000!important;overflow:hidden!important}
.home-art-screen{position:relative;display:grid;place-items:center;width:100%;height:100%;min-width:0;min-height:0;overflow:hidden;background:#000;isolation:isolate}
.home-art-screen.has-continue{grid-template-rows:minmax(0,1fr) 48px;gap:4px;padding-bottom:max(4px,env(safe-area-inset-bottom))}
.home-art-stage{position:relative;width:min(100%,calc(100dvh * 1844 / 853));max-width:100%;aspect-ratio:1844/853;max-height:100dvh;overflow:hidden;background:#000;image-rendering:auto}
.home-art-screen.has-continue .home-art-stage{max-height:calc(100dvh - 56px);width:min(100%,calc((100dvh - 56px) * 1844 / 853))}
.home-art-picture,.home-art-picture img{display:block;width:100%;height:100%;margin:0}
.home-art-picture img{object-fit:contain;object-position:center;background:#000;user-select:none;-webkit-user-drag:none}
.home-art-hotspot{position:absolute;z-index:2;left:var(--hotspot-x);top:var(--hotspot-y);width:var(--hotspot-width);height:var(--hotspot-height);min-width:0;min-height:0;padding:0;border:2px solid transparent;border-radius:2px;background:transparent;color:transparent;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.home-art-hotspot[data-home-orientation="portrait"]{display:none}
.home-art-hotspot:focus-visible{outline:0;border-color:rgba(255,43,139,.92);box-shadow:inset 0 0 0 2px rgba(255,255,255,.35),0 0 18px rgba(255,43,139,.72)}
.home-art-hotspot:active{background:rgba(255,255,255,.08);box-shadow:inset 0 0 22px rgba(255,43,139,.35),0 0 20px rgba(26,221,255,.45);transform:translateY(1px)}
.home-art-hotspot>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.home-hotspot-debug{display:none;position:absolute;z-index:5;left:8px;right:8px;bottom:8px;padding:5px;border:1px solid #25eaff;background:rgba(0,0,0,.86);color:#25eaff;font:10px/1.35 monospace;pointer-events:none}
.home-art-screen.is-hotspot-debug .home-art-hotspot{border-color:#ffea00!important;background:rgba(255,234,0,.1)}
.home-art-screen.is-hotspot-debug .home-art-hotspot>span{display:block;inset:4px auto auto 4px;width:auto;height:auto;overflow:visible;clip-path:none;color:#ffea00;font:10px/1 monospace;text-transform:uppercase}
.home-art-screen.is-hotspot-debug .home-hotspot-debug{display:block}
.home-continue-bar{align-self:stretch;justify-self:center;width:min(520px,calc(100% - 24px));min-height:44px;border:2px solid #ff2b8b;background:#08030a;color:#fff;font:700 clamp(.65rem,2vw,1rem)/1 var(--pixel-font);letter-spacing:.08em;box-shadow:0 0 14px rgba(255,43,139,.45);cursor:pointer}
.home-continue-bar:focus-visible{outline:2px solid #25eaff;outline-offset:2px}
.home-art-fallback{position:absolute;inset:0;display:grid;place-items:center;margin:0;background:#000;color:#fff;font:700 1rem/1.4 var(--pixel-font);text-align:center}
.home-art-fallback[hidden]{display:none}

.home-mode-select{display:grid;align-content:center;justify-items:center;gap:18px;width:100%;height:100%;padding:max(20px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));overflow:hidden;background:radial-gradient(circle at 50% 20%,#15113d,#020108 58%,#000);color:#fff;text-align:center}
.home-mode-select>p{margin:0;color:#25eaff;font:.68rem/1 var(--pixel-font);letter-spacing:.12em}.home-mode-select>h2{margin:0;color:#ff2b8b;font:clamp(1.4rem,5vw,3.4rem)/1 var(--pixel-font);text-shadow:3px 3px 0 #402067}
.home-mode-select__choices{display:grid;grid-template-columns:repeat(2,minmax(220px,420px));gap:18px;width:min(880px,100%)}
.home-mode-select__choices button{display:grid;gap:8px;min-height:160px;padding:24px;border:3px solid #ff2b8b;border-radius:2px;background:linear-gradient(180deg,rgba(13,4,17,.96),rgba(2,1,5,.98));color:#fff;box-shadow:inset 0 0 0 3px #180915,0 0 15px rgba(255,43,139,.35);cursor:pointer}
.home-mode-select__choices button+button{border-color:#25eaff;box-shadow:inset 0 0 0 3px #071419,0 0 15px rgba(37,234,255,.3)}
.home-mode-select__choices small{color:#d6d0e0;font:.48rem/1 var(--pixel-font)}.home-mode-select__choices strong{color:#ff2b8b;font:clamp(.9rem,2.3vw,1.45rem)/1 var(--pixel-font)}.home-mode-select__choices button+button strong{color:#25eaff}.home-mode-select__choices span{font:.64rem/1.5 var(--body-font)}
.home-mode-select__choices button:hover,.home-mode-select__choices button:focus-visible{outline:2px solid #fff;outline-offset:3px;transform:translateY(-2px)}
.home-mode-select__back{min-width:160px;min-height:46px;border:2px solid #817a88;background:#070609;color:#fff;font:.6rem/1 var(--pixel-font);cursor:pointer}

@media(orientation:portrait){
 .home-art-stage{width:min(100%,calc(100dvh * 853 / 1844));aspect-ratio:853/1844;max-height:100dvh}
 .home-art-screen.has-continue .home-art-stage{max-height:calc(100dvh - 56px);width:min(100%,calc((100dvh - 56px) * 853 / 1844))}
 .home-art-hotspot[data-home-orientation="landscape"]{display:none}.home-art-hotspot[data-home-orientation="portrait"]{display:block}
 .home-mode-select__choices{grid-template-columns:minmax(0,1fr);width:min(430px,100%)}
 .home-mode-select__choices button{min-height:120px;padding:18px}
}

@media(max-height:500px) and (orientation:landscape){
 .home-mode-select{gap:7px;padding:max(5px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(5px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))}
 .home-mode-select .aq-logo{display:none}.home-mode-select>h2{font-size:1.25rem}.home-mode-select__choices{gap:10px}.home-mode-select__choices button{min-height:112px;padding:12px}.home-mode-select__back{min-height:38px}
}

/* Phone portrait is a menu surface, not a locked gameplay viewport. The
   compact play-call layout can exceed the short Safari viewport, so let the
   document own vertical scrolling while keeping landscape gameplay fixed. */
@media(max-width:760px) and (orientation:portrait){
 html,body{height:auto;min-height:100%;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}
 .arcade-game-shell[data-play-call="open"]{display:block!important;width:100%!important;height:auto!important;min-height:100dvh!important;max-height:none!important;padding:6px!important;overflow:visible!important}
 .arcade-game-shell[data-play-call="open"] .scoreboard{position:sticky;top:0;z-index:20;width:100%;height:auto!important;min-height:88px!important;margin:0 0 6px}
 .arcade-game-shell[data-play-call="open"] .play-call-screen,
 .arcade-game-shell[data-play-call="open"] .play-call-screen.is-transitioning{display:block!important;position:relative!important;inset:auto!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;padding:4px!important;overflow:visible!important;transform:none!important;animation:none!important}
 .arcade-game-shell[data-play-call="open"] .play-call-main{display:grid!important;grid-template-columns:1fr!important;grid-template-rows:auto auto!important;height:auto!important;min-height:0!important;overflow:visible!important}
 .arcade-game-shell[data-play-call="open"] .play-call-left{display:block!important;height:auto!important;min-height:0!important}
 .arcade-game-shell[data-play-call="open"] .play-call-preview-panel{height:auto!important}
 .arcade-game-shell[data-play-call="open"] .play-call-preview{height:clamp(210px,58vw,280px)!important;min-height:210px!important}
 .arcade-game-shell[data-play-call="open"] .play-call-right{display:grid!important;grid-template-rows:auto auto auto auto!important;height:auto!important;min-height:0!important;padding:4px!important;overflow:visible!important}
 .arcade-game-shell[data-play-call="open"] .formation-tabs{overflow-x:auto!important}
 .arcade-game-shell[data-play-call="open"] .play-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:auto!important;min-height:0!important;overflow:visible!important}
 .arcade-game-shell[data-play-call="open"] .play-call-card{min-height:168px!important;overflow:hidden!important}
 .arcade-game-shell[data-play-call="open"] .play-call-actions{position:sticky;bottom:58px;z-index:18;grid-template-columns:minmax(88px,1fr) minmax(112px,1.25fr)!important;min-height:54px!important;background:#020303}
 .arcade-game-shell[data-play-call="open"] .play-call-actions>span{display:none!important}
 .arcade-game-shell[data-play-call="open"] .game-shell-navigation{position:sticky;bottom:0;z-index:19;height:58px!important;min-height:58px!important;padding:4px!important;background:#020303}
}

/* Milestone 11.6 final phone-portrait authority. This intentionally follows
   the immutable Milestone 11A cabinet rules so width is determined by the
   phone viewport, never by the viewport height. */
@media(max-width:760px) and (orientation:portrait){
 html[data-home-art="active"],html[data-home-art="active"] body{
  width:100%;height:auto;min-height:100%;overflow-x:hidden!important;overflow-y:auto!important;background:#000
 }
 .mode-layer.mode-layer--home{
  display:block!important;min-height:100dvh;padding:max(0px,env(safe-area-inset-top)) 0 env(safe-area-inset-bottom)!important;overflow-x:hidden!important;overflow-y:auto!important
 }
 .mode-surface.mode-surface--home{
  width:100%!important;height:auto!important;min-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important;overflow:visible!important
 }
 .home-art-screen,.home-art-screen.has-continue{
  display:flex;flex-direction:column;justify-content:flex-start;width:100%;height:auto;min-height:100%;gap:6px;padding:0 0 4px;overflow:visible
 }
 .home-art-stage,.home-art-screen.has-continue .home-art-stage{
  flex:0 0 auto;width:100%;max-width:none;max-height:none;aspect-ratio:853/1844
 }
 .home-art-picture,.home-art-picture img{
  display:block;width:100%;height:auto;aspect-ratio:853/1844;object-fit:contain
 }
 .home-continue-bar{
  flex:0 0 42px;width:min(92%,520px);min-height:40px;margin:0 auto 4px
 }
}
