/* Álex Quest v3.11.32 — iOS startup and full-bleed vertical layout. */
#bootIntro.aq-boot-intro {background:radial-gradient(ellipse at 50% 40%,#214a87 0%,#0b244e 56%,#06142e 95%)!important; padding:32px 12px!important; gap:14px!important;align-content:center;}
#bootIntro .aq-boot-video-frame {width:min(90vw,460px);aspect-ratio:558/512;background:#0e2950 url('../art/boot-pixel-31131.webp') center/cover no-repeat;}
#bootIntro .aq-boot-motion,#bootIntro .aq-boot-video {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;}
#bootIntro .aq-boot-video{opacity:0;transition:opacity .2s ease;}
#bootIntro .aq-boot-video.is-playing{opacity:1;}
@media(prefers-reduced-motion:reduce) {#bootIntro .aq-boot-motion,#bootIntro .aq-boot-video{display:none!important;}}
/* Old code chose 100dvh last. In standalone WebKit this can undercount
   safe-area height, leaving a wide unpainted band at the device bottom.
   Prefer the greater of the viewport units. Never use screen.height blindly,
   since it may push interactive buttons outside WebKit's viewport. */
@media(display-mode:standalone){
 html:has(body:is([data-view="home"],[data-view="games"],[data-view="progress"])) {background:#10274a url('../art/mountains-3100.webp') center bottom/100% 95px no-repeat!important;min-height:100vh;}
 body:is([data-view="home"],[data-view="games"],[data-view="progress"]){height:100vh!important;min-height:100vh!important;}
 @supports(height:100dvh){body:is([data-view="home"],[data-view="games"],[data-view="progress"]){height:max(100vh,100dvh)!important;min-height:max(100vh,100dvh)!important;}}
}
/* Trigger a fresh fixed-height calculation on a returning iPhone PWA without
   overriding the user's zoom or trapping the keyboard in a fake full screen. */
body:is([data-view="home"],[data-view="games"],[data-view="progress"]) #bottomNav::after {background-position:center bottom!important;}
