/* ALLSTAR GALAXY V263 — UNIVERSAL MOBILE/PC FRAMEWORK STABILIZATION
   Loaded last. Repairs mobile scrolling, header hit areas, page-colored glow,
   status energy rails, consistent hero controls, and Safari viewport clipping. */

:root{--asg-v263-header-cycle:6.2s;--asg-v263-rail-speed:5.8s}
body.page-home{--page-accent:#ffd43b;--page-accent-rgb:255,212,59}
body.page-team{--page-accent:#d82cff;--page-accent-rgb:216,44,255}
body.page-updates,body.page-news,body.page-schedule{--page-accent:#39ff36;--page-accent-rgb:57,255,54}
body.page-media{--page-accent:#26c6ff;--page-accent-rgb:38,198,255}
body.page-galaxy-shuffle{--page-accent:#ff7a00;--page-accent-rgb:255,122,0}
body.page-live{--page-accent:#ff3038;--page-accent-rgb:255,48,56}
body.page-follow{--page-accent:#ff3bb8;--page-accent-rgb:255,59,184}
body.page-about,body.page-404{--page-accent:#edf2fb;--page-accent-rgb:237,242,251}

/* Full document scrolling: page content must never be trapped in a viewport-height wrapper. */
html{height:auto!important;min-height:100%!important;max-height:none!important;overflow-x:clip!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important}
html body[class*="page-"]{position:static!important;height:auto!important;min-height:100%!important;max-height:none!important;overflow-x:clip!important;overflow-y:visible!important;touch-action:pan-y pinch-zoom!important;-webkit-overflow-scrolling:touch!important}
html body[class*="page-"]>.site-shell{position:relative!important;height:auto!important;min-height:100vh!important;min-height:100dvh!important;max-height:none!important;overflow-x:clip!important;overflow-y:visible!important;contain:none!important}
html body[class*="page-"] main,html body[class*="page-"] footer{height:auto!important;max-height:none!important;overflow:visible!important}
html body[class*="page-"]:not(.modal-open):not(.no-scroll):not(.search-open){position:static!important;inset:auto!important}

/* Decorative elements must never block mouse/touch hit testing. */
html body[class*="page-"] header.site-top::before,
html body[class*="page-"] header.site-top::after,
html body[class*="page-"] header.site-top .hero-bar::before,
html body[class*="page-"] header.site-top .hero-bar::after,
html body[class*="page-"] header.site-top .hero-title::before,
html body[class*="page-"] header.site-top .hero-title::after,
html body[class*="page-"] header.site-top .asg-status-ticker::before,
html body[class*="page-"] header.site-top .asg-status-ticker::after,
html body[class*="page-"] header.site-top .asg-status-ticker-track::before,
html body[class*="page-"] header.site-top .asg-status-ticker-track::after,
html body[class*="page-"] .hero-rotation-stage,
html body[class*="page-"] .hero-rotation-layer{pointer-events:none!important}

@keyframes asgV263LogoPulse{
  0%,18%,100%{filter:drop-shadow(0 0 5px rgba(var(--page-accent-rgb),.55)) drop-shadow(0 0 10px rgba(var(--page-accent-rgb),.28));transform:scale(1)}
  8%{filter:drop-shadow(0 0 10px rgba(var(--page-accent-rgb),1)) drop-shadow(0 0 26px rgba(var(--page-accent-rgb),.78));transform:scale(1.035)}
}
@keyframes asgV263ActivePulse{
  0%,18%,100%{box-shadow:0 0 7px rgba(var(--page-accent-rgb),.48),inset 0 0 7px rgba(var(--page-accent-rgb),.14)}
  8%{box-shadow:0 0 17px rgba(var(--page-accent-rgb),1),0 0 31px rgba(var(--page-accent-rgb),.6),inset 0 0 12px rgba(var(--page-accent-rgb),.28)}
}
@keyframes asgV263RailTop{from{background-position:-45% 0}to{background-position:145% 0}}
@keyframes asgV263RailBottom{from{background-position:145% 0}to{background-position:-45% 0}}

/* Universal header stacking and dimensions. */
html body[class*="page-"] header.site-top{isolation:isolate!important;position:sticky!important;top:0!important;z-index:10000!important;overflow:visible!important}
html body[class*="page-"] header.site-top .hero-bar{z-index:1!important;pointer-events:none!important}
html body[class*="page-"] header.site-top .hero-logo,
html body[class*="page-"] header.site-top .hero-logo-right,
html body[class*="page-"] header.site-top .hero-title{pointer-events:auto!important}
html body[class*="page-"] header.site-top nav,
html body[class*="page-"] header.site-top nav.site-nav-v3{z-index:30!important;isolation:isolate!important;pointer-events:auto!important;overflow:visible!important}
html body[class*="page-"] header.site-top nav>a,
html body[class*="page-"] header.site-top nav>button{position:relative!important;z-index:31!important;pointer-events:auto!important;cursor:pointer!important;transform:none!important;touch-action:manipulation!important;-webkit-tap-highlight-color:rgba(var(--page-accent-rgb),.2)!important}
html body[class*="page-"] header.site-top nav>a::before,
html body[class*="page-"] header.site-top nav>a::after,
html body[class*="page-"] header.site-top nav>button::before,
html body[class*="page-"] header.site-top nav>button::after{pointer-events:none!important}

/* Page-matched logo glow and staggered pulse. */
html body[class*="page-"] header.site-top .hero-logo img,
html body[class*="page-"] header.site-top .hero-logo-right img{filter:drop-shadow(0 0 7px rgba(var(--page-accent-rgb),.8)) drop-shadow(0 0 15px rgba(var(--page-accent-rgb),.42))!important;animation:asgV263LogoPulse var(--asg-v263-header-cycle) ease-in-out infinite!important}
html body[class*="page-"] header.site-top .hero-logo img{animation-delay:0s!important}
html body[class*="page-"] header.site-top .hero-logo-right img{animation-delay:4.1s!important}
html body[class*="page-"] header.site-top nav>a.active,
html body[class*="page-"] header.site-top nav>a[aria-current="page"]{animation:asgV263ActivePulse var(--asg-v263-header-cycle) ease-in-out infinite!important;animation-delay:2.05s!important}

/* Shuffle never retains orange on another page. */
html body[class*="page-"]:not(.page-galaxy-shuffle) header.site-top nav>a[href*="galaxy-shuffle"]{border-color:rgba(var(--page-accent-rgb),.82)!important;background:#03030c!important;color:#fff!important;box-shadow:none!important;filter:none!important;animation:none!important}
html body[class*="page-"]:not(.page-galaxy-shuffle) header.site-top nav>a[href*="galaxy-shuffle"]:hover,
html body[class*="page-"]:not(.page-galaxy-shuffle) header.site-top nav>a[href*="galaxy-shuffle"]:focus-visible{border-color:var(--page-accent)!important;background:rgba(var(--page-accent-rgb),.18)!important;box-shadow:0 0 14px rgba(var(--page-accent-rgb),.95),0 0 27px rgba(var(--page-accent-rgb),.38)!important}

/* Brighter silver/platinum energy rails travelling in opposite directions. */
html body[class*="page-"] header.site-top .asg-status-ticker{position:relative!important;isolation:isolate!important;border-top:1px solid rgba(var(--page-accent-rgb),.75)!important;border-bottom:1px solid rgba(var(--page-accent-rgb),.75)!important;overflow:hidden!important}
html body[class*="page-"] header.site-top .asg-status-ticker::before,
html body[class*="page-"] header.site-top .asg-status-ticker::after{content:""!important;display:block!important;position:absolute!important;left:0!important;right:0!important;height:3px!important;z-index:3!important;background-repeat:no-repeat!important;background-size:42% 100%!important;filter:drop-shadow(0 0 3px #fff) drop-shadow(0 0 8px #dce8ff)!important;opacity:1!important}
html body[class*="page-"] header.site-top .asg-status-ticker::before{top:0!important;background-image:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.15) 10%,#fff 42%,#dce8ff 52%,rgba(255,255,255,.12) 90%,transparent 100%)!important;animation:asgV263RailTop var(--asg-v263-rail-speed) linear infinite!important}
html body[class*="page-"] header.site-top .asg-status-ticker::after{bottom:0!important;background-image:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.15) 10%,#fff 42%,#dce8ff 52%,rgba(255,255,255,.12) 90%,transparent 100%)!important;animation:asgV263RailBottom var(--asg-v263-rail-speed) linear infinite!important}
html body[class*="page-"] header.site-top .asg-status-ticker-track{position:relative!important;z-index:4!important;pointer-events:none!important}
html body[class*="page-"] header.site-top .asg-status-ticker-track a{pointer-events:auto!important}

/* Hero dots remain usable and above visual layers. */
html body[class*="page-"] .hero-rotation-dots{z-index:40!important;pointer-events:auto!important}
html body[class*="page-"] .hero-rotation-dot{pointer-events:auto!important;cursor:pointer!important;touch-action:manipulation!important}

@media(min-width:901px){
 html body[class*="page-"] header.site-top .hero-bar{grid-template-columns:90px minmax(0,1fr) 90px!important;gap:24px!important;padding-left:30px!important;padding-right:30px!important}
 html body[class*="page-"] header.site-top .hero-title img{width:min(100%,840px)!important;max-width:840px!important}
 html body[class*="page-"] header.site-top nav,html body[class*="page-"] header.site-top nav.site-nav-v3{width:calc(100% - 70px)!important;max-width:none!important;gap:10px!important}
}

@media(max-width:900px){
 html body[class*="page-"] header.site-top{width:100%!important;max-width:100vw!important}
 html body[class*="page-"] header.site-top .hero-bar{display:grid!important;grid-template-columns:112px minmax(0,1fr) 112px!important;width:100%!important;height:164px!important;min-height:164px!important;gap:6px!important;padding:12px 8px 4px!important;box-sizing:border-box!important}
 html body[class*="page-"] header.site-top .hero-logo{width:104px!important;height:104px!important;min-width:104px!important;justify-self:start!important;align-self:center!important}
 html body[class*="page-"] header.site-top .hero-logo img{width:96px!important;height:96px!important;max-width:96px!important;max-height:96px!important}
 html body[class*="page-"] header.site-top .hero-title{height:92px!important;min-width:0!important;overflow:hidden!important}
 html body[class*="page-"] header.site-top .hero-title img{width:100%!important;height:78px!important;max-width:100%!important;max-height:78px!important;object-fit:contain!important}
 html body[class*="page-"] header.site-top .mobile-search-button{display:flex!important;grid-column:3!important;grid-row:1!important;justify-self:end!important;align-self:center!important;width:104px!important;height:104px!important;min-width:104px!important;min-height:104px!important;margin:0!important;padding:0 5px!important;overflow:hidden!important;box-sizing:border-box!important;border-width:3px!important;border-color:var(--page-accent)!important;box-shadow:0 0 13px rgba(var(--page-accent-rgb),.78)!important;animation:asgV263LogoPulse var(--asg-v263-header-cycle) ease-in-out infinite!important;animation-delay:4.1s!important}
 html body[class*="page-"] header.site-top .mobile-search-button span{font-size:1.25rem!important;margin-bottom:8px!important}
 html body[class*="page-"] header.site-top .mobile-search-button b{display:block!important;width:100%!important;font-size:.92rem!important;letter-spacing:.09em!important;white-space:nowrap!important;text-align:center!important;line-height:1!important}
 html body[class*="page-"] header.site-top nav,html body[class*="page-"] header.site-top nav.site-nav-v3{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:5px!important;width:100%!important;max-width:100%!important;margin:0!important;padding:4px 6px 8px!important;box-sizing:border-box!important;overflow:visible!important}
 html body[class*="page-"] header.site-top nav>a{display:flex!important;width:auto!important;min-width:0!important;height:82px!important;min-height:82px!important;margin:0!important;padding:4px 1px!important;border-radius:8px!important;font-size:clamp(.62rem,2.5vw,.82rem)!important;line-height:1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:clip!important}
 html body[class*="page-"] header.site-top nav>.site-search-button-desktop{display:none!important}
 html body[class*="page-"] header.site-top .asg-status-ticker{height:80px!important;min-height:80px!important}
 html body[class*="page-"] header.site-top .asg-status-ticker-track{height:76px!important;min-height:76px!important;padding:8px 12px!important;font-size:clamp(.82rem,3.2vw,1.02rem)!important;line-height:1.2!important;white-space:normal!important}
 html body[class*="page-"] header.site-top + .hero-image,
 html body[class*="page-"] header.site-top + .shuffle-hero,
 html body[class*="page-"] header.site-top + .special-page-hero,
 html body[class*="page-"] header.site-top + .season-archive-hero{margin-top:0!important}
}

@media(max-width:430px){
 html body[class*="page-"] header.site-top .hero-bar{grid-template-columns:96px minmax(0,1fr) 96px!important;height:146px!important;min-height:146px!important;padding:9px 6px 2px!important}
 html body[class*="page-"] header.site-top .hero-logo{width:90px!important;height:90px!important;min-width:90px!important}
 html body[class*="page-"] header.site-top .hero-logo img{width:84px!important;height:84px!important;max-width:84px!important;max-height:84px!important}
 html body[class*="page-"] header.site-top .hero-title{height:82px!important}
 html body[class*="page-"] header.site-top .hero-title img{height:68px!important;max-height:68px!important}
 html body[class*="page-"] header.site-top .mobile-search-button{width:90px!important;height:90px!important;min-width:90px!important;min-height:90px!important}
 html body[class*="page-"] header.site-top .mobile-search-button b{font-size:.78rem!important}
 html body[class*="page-"] header.site-top nav,html body[class*="page-"] header.site-top nav.site-nav-v3{gap:3px!important;padding:3px 4px 7px!important}
 html body[class*="page-"] header.site-top nav>a{height:72px!important;min-height:72px!important;font-size:clamp(.52rem,2.45vw,.7rem)!important}
 html body[class*="page-"] header.site-top .asg-status-ticker{height:70px!important;min-height:70px!important}
 html body[class*="page-"] header.site-top .asg-status-ticker-track{height:66px!important;min-height:66px!important;font-size:clamp(.74rem,3.15vw,.94rem)!important}
}

@media(prefers-reduced-motion:reduce){
 html body[class*="page-"] header.site-top .hero-logo img,
 html body[class*="page-"] header.site-top .hero-logo-right img,
 html body[class*="page-"] header.site-top .mobile-search-button,
 html body[class*="page-"] header.site-top nav>a.active,
 html body[class*="page-"] header.site-top .asg-status-ticker::before,
 html body[class*="page-"] header.site-top .asg-status-ticker::after{animation:none!important}
}
