#touchController{position:fixed;inset:0;z-index:9;pointer-events:none}#touchController[hidden]{display:none}.analog{--stick:clamp(110px,25vw,145px);position:absolute;width:var(--stick);height:var(--stick);border:1px solid #93bad27a;background:radial-gradient(circle,#11273c9c,#06111abf);box-shadow:inset 0 0 25px #ffffff08,0 5px 20px #0005;border-radius:50%;pointer-events:auto;touch-action:none;user-select:none;bottom:max(28px,env(safe-area-inset-bottom))}.analog:before,.analog:after{content:'';position:absolute;background:#b2d9ef18;left:20%;right:20%;height:1px;top:50%}.analog:after{transform:rotate(90deg)}.analog-move{left:max(22px,env(safe-area-inset-left))}.analog-look{right:max(22px,env(safe-area-inset-right))}.analog span{position:absolute;bottom:-21px;left:0;right:0;text-align:center;font-size:9px;letter-spacing:2px;color:#b9d9e9;text-shadow:0 1px 6px #000}.analog-knob{position:absolute;left:calc(50% - 25px);top:calc(50% - 25px);width:50px;height:50px;border:1px solid #a3d8eeaa;border-radius:50%;background:radial-gradient(circle at 40% 25%,#5791adc7,#16384fe6);box-shadow:0 3px 12px #0006;will-change:transform}.touch-session{overscroll-behavior:none}.touch-session #stage canvas{touch-action:none}.touch-session .pad,.touch-session .hud{display:none}.touch-session .right{z-index:11;bottom:calc(clamp(110px,25vw,145px) + 60px);left:12px;right:12px;display:flex;justify-content:center;flex-wrap:wrap;gap:5px}.touch-session .right button{padding:9px 11px;font-size:11px}.touch-session #export{display:none}.touch-session .top{top:59px;right:10px;left:10px;max-width:none;justify-content:flex-end;gap:5px}.touch-session .top button,.touch-session #roomNav{font-size:10px;padding:8px}.touch-session .brand{top:14px;left:14px}.touch-session .brand strong{font-size:15px}.touch-session #message{top:145px;max-width:94%;width:auto;min-width:70%;font-size:10px;padding:9px 12px;text-align:center}.touch-session #dancePanel{top:185px;left:12px}.touch-session #dancePanel button{padding:8px 10px;font-size:10px}.touch-session #info{top:155px;right:12px;max-height:calc(100dvh - 180px);overflow:auto;width:min(230px,75vw)}.touch-session #phone{max-height:85dvh}.touch-session .intro{max-height:90dvh;overflow:auto}.touch-session #welcome{padding:6vw}.touch-session .intro h1{font-size:clamp(28px,7vw,52px)}
@media(orientation:landscape){.touch-session .analog{--stick:clamp(100px,23vh,130px);bottom:max(24px,env(safe-area-inset-bottom))}.touch-session .top{top:12px;left:auto;max-width:72%}.touch-session #message{top:65px;min-width:35%;max-width:65%;font-size:9px}.touch-session #dancePanel{top:78px}.touch-session .right{left:auto;right:14px;bottom:calc(clamp(100px,23vh,130px) + 50px);max-width:65%;justify-content:flex-end}.touch-session .right button{padding:6px 9px;font-size:9px}.touch-session #info{top:70px;max-height:calc(100dvh - 85px);width:220px}.touch-session #info img{max-height:115px;object-fit:contain}.touch-session #welcome{padding:4vw}.touch-session .intro p{font-size:12px;line-height:1.45}.touch-session .intro button{margin:6px 0;padding:11px 20px}.touch-session .intro .tag{font-size:9px;margin:4px 0}.touch-session .intro h1{margin:9px 0}.touch-session #danceOptions{max-height:180px;overflow:auto}}

.touch-session:not(.studio-playing) .right,.touch-session:not(.studio-playing) #dancePanel{display:none}

.touch-session .top{max-height:100px;overflow:auto}.touch-session #garageRide{font-size:10px;max-width:140px}.touch-session #flightButtons{bottom:185px!important;gap:6px}@media(orientation:landscape){.touch-session .top{max-height:75px}.touch-session #flightButtons{bottom:25px!important}}

/* Clean mobile HUD: optional actions live in the menu. */
#mobileMenu,#mobileMenuHeading{display:none}
.touch-session #mobileMenu{display:block;position:fixed;right:max(14px,env(safe-area-inset-right));top:max(12px,env(safe-area-inset-top));z-index:42;min-height:44px}
.touch-session .top{display:none}
.touch-session.mobile-menu-open .top{display:flex;position:fixed;z-index:40;inset:70px 12px auto auto;width:min(330px,calc(100vw - 24px));max-width:none;max-height:calc(100dvh - 90px);overflow-y:auto;padding:18px;background:#0b1729f5;border:1px solid #59728e;border-radius:20px;box-shadow:0 15px 60px #0009;justify-content:stretch;gap:10px}
.touch-session #mobileMenuHeading{display:block;width:100%;font-size:19px;margin-bottom:4px}
.touch-session .top>button,.touch-session .top>select{width:100%;min-height:44px;font-size:13px!important;padding:12px!important}
.touch-session #garageRide{max-width:none}
.touch-session #dancePanel{position:static;width:100%}
.touch-session #dancePanel button{width:100%;min-height:44px;font-size:13px}
.touch-session #danceOptions{max-height:none}
.touch-session #message{top:76px;min-width:0;width:auto;max-width:80%;font-size:11px;pointer-events:none}
.touch-session .right{left:50%;right:auto;transform:translateX(-50%);bottom:185px;max-width:95%;flex-wrap:nowrap;z-index:12}
.touch-session .right button{min-height:46px;padding:12px 16px;font-size:13px;white-space:nowrap}
.touch-session.mobile-actions-blocked .right,.touch-session.mobile-actions-blocked #flightButtons{display:none!important}
.touch-session:not(.studio-playing):not(.mobile-menu-open) #message{display:none}
.touch-session #vehicleDashboard{bottom:22px!important;padding:5px 8px!important}
.touch-session #vehicleDashboard canvas{width:125px;height:55px}
.touch-session #driveSpeed{font-size:10px}
.touch-session #flightButtons{bottom:95px!important}
.touch-session #elevatorPanel{width:min(350px,94vw);max-height:85dvh;top:7%!important;overflow:auto}
.touch-session #elevatorPanel button{min-height:44px;margin:4px}
.touch-session.mobile-menu-open #info{z-index:43;top:72px}
@media(orientation:landscape){
 .touch-session .brand small{display:none}
 .touch-session #message{top:17px;max-width:48%;font-size:10px}
 .touch-session .right{bottom:155px;max-width:55%}
 .touch-session #flightButtons{bottom:45px!important}
 .touch-session #vehicleDashboard{bottom:10px!important}
 .touch-session.mobile-menu-open .top{top:62px;max-height:calc(100dvh - 74px)}
}
.touch-session.mobile-menu-open #dancePanel{display:block}
.touch-session.mobile-menu-open #touchController{display:none!important}
.touch-session.dunk-replay-playing #touchController,.touch-session.dunk-replay-playing #courtThumbActions,.touch-session.dunk-replay-playing .right{display:none!important}
.touch-session #phone:not(.open){visibility:hidden;pointer-events:none}
.touch-session #welcome~#mobileMenu{visibility:visible}
.touch-session:not(.studio-playing):not(.mobile-menu-open) .brand{pointer-events:none}

#cheatsMenu{position:relative}#cheatOptions{position:absolute;top:48px;right:0;width:210px;padding:8px;background:#0b1729f5;border:1px solid #59728e;border-radius:14px;z-index:35}#cheatOptions[hidden]{display:none}#cheatOptions button{display:block;width:100%;margin:5px 0}#superActions{position:fixed;bottom:180px;left:50%;transform:translateX(-50%);z-index:21;gap:7px;display:none}#superActions button{min-height:44px;touch-action:none}.touch-session #cheatsMenu{width:100%}.touch-session #cheatsMenu>button{width:100%;min-height:44px}.touch-session #cheatOptions{position:static;width:100%;margin-top:8px}.touch-session #superActions{bottom:240px;max-width:95vw}.touch-session #superActions button{padding:10px;font-size:12px}@media(orientation:landscape){.touch-session #superActions{bottom:95px}}

.analog{border:2px solid #6fabc49c;background:radial-gradient(circle at 40% 30%,#203e54d9,#080e18e8 70%);box-shadow:inset 0 0 0 7px #030a1399,inset 0 0 0 9px #99d8ed22,0 8px 25px #0008}.analog-knob{background:repeating-radial-gradient(circle at center,#34576a 0 2px,#284656 3px 5px);border:2px solid #a8d9e5;box-shadow:0 7px 12px #000a,inset 0 2px 5px #b8eaff55}.top.minimized{display:none}#restoreStudioMenu{position:fixed;right:15px;top:15px;z-index:25}.touch-session #restoreStudioMenu{display:none}
#courtThumbActions{display:none}.touch-session #courtThumbActions{position:fixed;display:flex;gap:8px;justify-content:center;right:max(12px,env(safe-area-inset-right));bottom:calc(max(28px,env(safe-area-inset-bottom)) + clamp(110px,25vw,145px) + 14px);z-index:12;pointer-events:none}.touch-session #courtThumbActions button{pointer-events:auto;touch-action:manipulation;min-width:62px;min-height:48px;padding:10px 12px;border-radius:18px;border:1px solid #b3dfec99;background:linear-gradient(145deg,#294e68,#102233);box-shadow:inset 0 2px 1px #ffffff25,0 5px 12px #0008;color:#edfaff;font-weight:700;font-size:12px;letter-spacing:.3px}.touch-session #courtThumbActions #dunkBtn{border-color:#e9c77a99;background:linear-gradient(145deg,#69552e,#302515)}.touch-session #courtThumbActions button:active{transform:translateY(2px);filter:brightness(1.3)}.touch-session:not(.studio-playing) #courtThumbActions,.touch-session.menu-open #courtThumbActions{display:none}@media(orientation:landscape){.touch-session #courtThumbActions{right:max(14px,env(safe-area-inset-right));bottom:calc(max(24px,env(safe-area-inset-bottom)) + clamp(100px,23vh,130px) + 12px)}.touch-session #courtThumbActions button{min-height:44px;min-width:58px;padding:8px 10px}}
#cinematicTour{order:-10;border:1px solid #dfc180;background:linear-gradient(135deg,#71592d,#30291e);color:#fff3d5;font-weight:700}.touch-session #cinematicTour{width:100%;min-height:48px;font-size:14px}#exitCinematic{position:fixed;bottom:max(22px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:70;min-height:46px;padding:12px 20px;background:#142236ee;border:1px solid #c9ad73;border-radius:16px;color:white}#exitCinematic[hidden]{display:none}
#filmFade{position:fixed;inset:0;z-index:60;background:#000;pointer-events:none}#filmCaption{position:fixed;left:7%;bottom:14%;z-index:62;color:#fff;font-size:clamp(12px,2vw,22px);letter-spacing:3px;text-shadow:0 2px 9px #000;pointer-events:none}#filmFade[hidden],#filmCaption[hidden]{display:none}.cinematic-playing:before,.cinematic-playing:after{content:'';position:fixed;left:0;right:0;height:9%;background:#000;z-index:61;pointer-events:none}.cinematic-playing:before{top:0}.cinematic-playing:after{bottom:0}.cinematic-playing #studioMenu,.cinematic-playing #touchController,.cinematic-playing .right,.cinematic-playing #courtThumbActions,.cinematic-playing #message,.cinematic-playing #mobileMenu,.cinematic-playing #restoreStudioMenu,.cinematic-playing #superActions,.cinematic-playing #phone,.cinematic-playing #filmCaption~button{visibility:hidden}.cinematic-playing #exitCinematic{visibility:visible;z-index:70}

/* Quiet cinematic framing, independent of the play HUD. */
.cinematic-playing .pad,.cinematic-playing .hud,.cinematic-playing .brand,.cinematic-playing #clubActions,.cinematic-playing #attackButton,.cinematic-playing #bossStatus{visibility:hidden!important}
#filmControls{position:fixed;bottom:max(14px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:75;display:flex;gap:8px;align-items:center;white-space:nowrap}
#filmControls[hidden]{display:none}#filmControls button{min-height:40px;padding:9px 16px;border-color:#a88b5c77;background:#101820df;font-size:12px}#filmControls #exitCinematic{position:static;transform:none;min-height:40px;border-color:#b69b68}#filmCaption{max-width:85%;font-size:clamp(11px,1.4vw,18px);letter-spacing:2px;line-height:1.6}
@media(max-width:700px){#filmControls{gap:5px}#filmControls button{padding:8px 11px;font-size:11px;min-height:44px}#filmCaption{bottom:16%;letter-spacing:1px}}
