/* v10.51 — compact scrollable character roster, score-progress race and faster winner reveals */
#gsOverlay .gsAvatarPickerHead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:3px 0 8px}
#gsOverlay .gsAvatarPickerHead h3{margin:0;font-size:clamp(14px,1.7vw,20px)}
#gsOverlay .gsAvatarGrid.gsAvatarScroll{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;max-height:218px;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:6px 8px 6px 3px;scrollbar-width:thin;scrollbar-color:#90cbec #18263f;align-content:start}
#gsOverlay .gsAvatarScroll .gsAvatarOption{min-width:0;min-height:0;padding:4px 2px 3px;border-radius:12px;gap:3px;line-height:1.15}
#gsOverlay .gsAvatarScroll .gsAvatarOption svg{width:clamp(37px,4.4vw,62px);height:clamp(37px,4.4vw,62px);transition:transform .2s}
#gsOverlay .gsAvatarScroll .gsAvatarOption span{max-width:100%;text-align:center;white-space:normal;overflow-wrap:anywhere;font-size:clamp(9px,.85vw,11px)}
#gsOverlay .gsGuestProfile .gsAvatarGrid.gsAvatarScroll{grid-template-columns:repeat(4,minmax(0,1fr));max-height:205px;gap:5px;margin:5px 0}
#gsOverlay .gsGuestProfile .gsAvatarScroll .gsAvatarOption svg{width:clamp(40px,10vw,57px);height:clamp(40px,10vw,57px)}
#gsOverlay .gsGuestProfile .gsAvatarScroll .gsAvatarOption span{font-size:9px}
#gsOverlay .gsGuestProfile .gsAvatarPickerHead h3{font-size:16px}
/* Point-based travel, animated from each player's *previous* cumulative points. */
#gsOverlay .gsPerspectiveRoad .gsRacingVehicle{animation:gsPointDrive 3s cubic-bezier(.19,.68,.16,1) both!important;animation-delay:var(--gsMoveDelay)!important;will-change:left,transform;z-index:6}
@keyframes gsPointDrive{0%{left:var(--gsCarFrom);top:var(--gsCarFromY);opacity:.97;transform:translate(-50%,-50%) scale(.83)}44%{transform:translate(-50%,-62%) scale(1.12)}100%{left:var(--gsCarTo);top:var(--gsCarToY);opacity:1;transform:translate(-50%,-50%) scale(var(--gsCarScale))}}
#gsOverlay .gsStreakFlames{position:absolute;left:-27%;top:37%;z-index:3;letter-spacing:-9px;white-space:nowrap;font-size:clamp(20px,3.1vw,47px);text-shadow:0 0 12px #ff712a,0 0 25px #ffb312;animation:gsFlamePulse .25s ease-in-out infinite alternate;transform-origin:right center}
#gsOverlay .gsOnFire .gsVehicleArt{filter:drop-shadow(-6px 1px 13px #ff7424a8)}
@keyframes gsFlamePulse{from{transform:translateX(3px) scale(.84);opacity:.7}to{transform:translateX(-8px) scale(1.1);opacity:1}}
#gsOverlay .gsRacingStart{border-right:5px dashed #fff9b7!important;background:linear-gradient(90deg,#324c61,#cfdeec50)!important}
#gsOverlay .gsTop3Screen .gsWinnersIntro{z-index:15}
#gsOverlay .gsTop3Podium .gsRevealPlace{animation:gsRevealWinner .6s cubic-bezier(.2,.9,.2,1.1) both;animation-delay:var(--gsRevealDelay)!important}
#gsOverlay .gsPhoneOriginalExplanation{padding:12px 14px;background:#132844dc;border:1px solid #8dbbe57d;border-radius:13px;margin:9px 0;line-height:1.5}
#gsOverlay .gsPhoneOriginalExplanation h3{margin:0 0 6px;font-size:16px}
#gsOverlay .gsPhoneOriginalExplanation p{white-space:pre-wrap;margin:0;font-size:14px}
@media(max-width:640px){
 #gsOverlay .gsAvatarGrid.gsAvatarScroll{grid-template-columns:repeat(4,minmax(0,1fr));max-height:200px}
 #gsOverlay .gsPerspectiveRoad .gsStreakFlames{left:-33%;top:40%;font-size:23px;letter-spacing:-7px}
 #gsOverlay .gsAvatarScroll .gsAvatarOption svg{width:43px;height:43px}
}
@media(prefers-reduced-motion:reduce){#gsOverlay .gsPerspectiveRoad .gsRacingVehicle{animation:none!important;left:var(--gsCarTo)!important;top:var(--gsCarToY)!important;transform:translate(-50%,-50%) scale(var(--gsCarScale))!important}#gsOverlay .gsStreakFlames{animation:none!important}#gsOverlay .gsTop3Podium .gsRevealPlace{animation:none!important;opacity:1!important}}

#gsOverlay .gsClassroomProfilePopup{position:fixed;z-index:40;top:66px;right:clamp(8px,2.5vw,35px);width:min(490px,94vw);max-height:calc(100dvh - 80px);overflow:auto;padding:14px 16px;background:#102845;border:2px solid #b9dbfa85;border-radius:18px;box-shadow:0 16px 45px #050916a6}
#gsOverlay .gsClassroomProfilePopup[hidden]{display:none!important}
#gsOverlay .gsClassroomProfilePopup .gsDoctorField{margin:10px 0}
#gsOverlay .gsClassroomProfilePopup .gsAvatarScroll{max-height:min(37vh,270px)}

#gsOverlay .gsPerspectiveRoad .gsVehicleArt .gsStreakFlames{z-index:0}
#gsOverlay .gsPerspectiveRoad .gsVehicleArt .gsVehicleShell{position:relative;z-index:1}
