/* Paint to the visible browser edges; keep controls inside device safe areas. */
:root{--scene-viewport-height:100vh;--site-nav-base:78px;--site-nav-height:calc(var(--site-nav-base) + env(safe-area-inset-top,0px))}
@supports(height:100dvh){:root{--scene-viewport-height:100dvh}}
.site-header{padding-top:env(safe-area-inset-top,0px);padding-left:max(5vw,env(safe-area-inset-left,0px));padding-right:max(5vw,env(safe-area-inset-right,0px))}
.journey-sticky,#garage-route #experience{height:var(--scene-viewport-height);min-height:0}
/* Keep the original scroll travel. Only the visible panel/overlap grows. */
.world-journey{height:calc(var(--intro-travel) + var(--scene-viewport-height))}
#league-hub{margin-top:calc(-1 * var(--scene-viewport-height))}
/* The Barracudas camera keeps the same 500svh scroll range as its panel resizes. */
#garage-route,#garage-route #scroll-track{height:calc(500svh + var(--scene-viewport-height))}
body.ragers-open #garage-route,body.ragers-open #garage-route #scroll-track{height:var(--scene-viewport-height)}
@media(max-width:760px){
 :root{--site-nav-base:66px}
 .site-header{padding-left:max(6vw,env(safe-area-inset-left,0px));padding-right:max(6vw,env(safe-area-inset-right,0px))}
 #mobile-menu{padding-left:max(6vw,env(safe-area-inset-left,0px));padding-right:max(6vw,env(safe-area-inset-right,0px))}
 /* Keep roster controls 12px above the default dock's new 36px lift. */
 body:not(.ragers-open) #garage-route .characters,.cutout-controls{bottom:calc(120px + env(safe-area-inset-bottom,0px))}
}
@media(max-width:420px){
 .street-focus .street-league-shortcut{left:calc(50% - 24px);max-width:calc(100% - 96px)}
}
