/* Court instruction is a compact lower instrument, never across the incoming ball. */
#readyHint{top:auto;bottom:152px;max-width:calc(100vw - 40px);white-space:normal;border:1px solid #65827d66;background:#031410e8;padding:12px 18px;transition:border-color .18s,color .18s}
#readyHint b{font:600 17px/1.1 'Barlow Condensed',sans-serif;letter-spacing:1px;color:#edf6e9}
#readyHint span{font-size:12px;line-height:1.5;color:#b8cac2}
#readyHint[data-cue=contact]{border-color:#c2ed67;color:#d9ff80}
#readyHint[data-cue=contact] b{color:#d9ff80}
.topActions button,#viewControls button,#viewControls label{font-size:11px;min-height:40px}
#help p,#help span,#help .tip{font-size:13px}
#help i,kbd{font-size:11px}
.entry button{min-height:48px;font-size:12px}
#controller{font-size:11px;color:#b4c5d7}
#menu .directorLinks a{font-size:11px;letter-spacing:.04em}
#touch button{font-size:11px;min-width:44px;min-height:44px}
body.in-power-court .director-home-logo,body.in-power-court #reel06fix-badge,
body.in-power-court #freeCamToggle,body.in-power-court #broadcastBug,
body.in-power-court #nightCourtStation,body.in-power-court #stationRail,
body.in-power-court #gameVault{display:none!important}
#menu #controller{max-width:300px}
#menu .directorLinks{line-height:1.7;max-width:320px}
#menu{top:20%}
#viewControls{bottom:121px}
@media(min-width:701px) and (max-height:800px){#menu{top:18%}#menu h1{font-size:76px;margin:20px 0 16px}#menu .directorLinks{margin-top:10px}#menu #controller{margin-top:8px}}
@media(max-width:700px){#readyHint{bottom:200px;padding:10px 12px;width:90%}#readyHint span{font-size:11px}#viewControls{bottom:157px}.entry button{font-size:11px}}
@media(pointer:coarse){#readyHint{bottom:300px}}

/* Guidance lives beneath the score, never over the racket or lower instruments. */
#readyHint{top:calc(100px + env(safe-area-inset-top,0px));bottom:auto;width:max-content;max-width:min(440px,calc(100vw - 32px));padding:8px 14px;z-index:13;border-radius:3px}
#readyHint b{font-size:16px;line-height:1.2;letter-spacing:.02em}
#readyHint span{font-size:12px;line-height:1.4;margin-top:4px}
body:has(#readyHint:not([hidden])) #arenaMoment{top:calc(166px + env(safe-area-inset-top,0px));max-width:calc(100vw - 32px);white-space:normal}
#viewControls{max-width:calc(50vw - 240px);overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;overscroll-behavior-x:contain;padding:4px 0}
#viewControls>*{flex:none}
#viewControls button,#viewControls label{min-height:44px;font-size:12px;letter-spacing:.02em}
#quality{min-height:32px;font-size:14px}
#flightHud .session{max-width:380px;white-space:normal;bottom:88px}
#flightHud .session>span{font-size:10px;letter-spacing:.04em}
#flightHud .session strong{font-size:12px;letter-spacing:.02em;margin-top:4px}
.topActions button{min-height:44px;min-width:44px}
@media(max-width:760px){
 body.playing #returnWorld,body.playing button[aria-label="Home — back to the Green Room"]{display:none}
 body.playing:has(#game-ui:not([hidden])) #sceneTravelLaunch{top:calc(16px + env(safe-area-inset-top,0px));bottom:auto;right:116px;height:44px;min-height:44px;padding:8px 10px;font-size:11px}
 header{top:calc(16px + env(safe-area-inset-top,0px));left:max(16px,env(safe-area-inset-left,0px));right:max(16px,env(safe-area-inset-right,0px))}
 #scoreboard{top:60px;min-height:44px}
 #readyHint{top:calc(140px + env(safe-area-inset-top,0px));bottom:auto;max-width:calc(100vw - 32px);width:max-content;padding:8px 12px}
 #readyHint b{font-size:15px}
 #readyHint span{font-size:12px}
 body:has(#readyHint:not([hidden])) #arenaMoment{top:calc(208px + env(safe-area-inset-top,0px));font-size:12px}
 #flightHud{left:16px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));height:184px;padding:0}
 #flightHud .boost{bottom:0;width:100%}
 #flightHud .flightTelemetry{position:absolute;left:0;bottom:128px;min-width:0}
 #flightHud .ballStats{position:absolute;right:0;bottom:128px;gap:16px}
 #flightHud .session{display:block;bottom:88px;width:100%;max-width:none}
 #flightHud .session>span{font-size:10px}
 #flightHud .session strong{font-size:12px;line-height:1.2}
 #viewControls{left:16px;right:16px;bottom:calc(188px + env(safe-area-inset-bottom,0px));max-width:none;gap:8px;width:auto}
 #viewControls label,#viewControls button{min-height:44px;font-size:12px;padding:10px 12px}
 #quality{font-size:16px;min-height:32px}
 #help{top:calc(124px + env(safe-area-inset-top,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));left:16px;right:16px;width:auto;z-index:70}
 #help :is(p,span,.tip){font-size:14px}
 #closeHelp{min-width:44px;min-height:44px}
}
@media(pointer:coarse) and (max-width:760px){
 .playing #touch{bottom:calc(244px + env(safe-area-inset-bottom,0px));left:16px;right:16px;gap:8px}
 #touch button{min-width:44px;min-height:44px;padding:10px;font-size:12px}
}
/* Short landscape has separate left controls / right energy, leaving centre court clear. */
@media(max-width:1100px) and (max-height:560px) and (orientation:landscape){
 body.playing #returnWorld{display:none}
 body.playing:has(#game-ui:not([hidden])) #sceneTravelLaunch{top:calc(68px + env(safe-area-inset-top,0px));bottom:auto;left:158px;right:auto;height:44px;min-height:44px;padding:8px 10px;font-size:11px}
 header{top:calc(12px + env(safe-area-inset-top,0px));left:max(16px,env(safe-area-inset-left,0px));right:max(16px,env(safe-area-inset-right,0px))}
 #scoreboard{top:0;min-height:44px;padding:6px 12px}
 #scoreboard b{font-size:30px}
 #readyHint{top:calc(72px + env(safe-area-inset-top,0px));bottom:auto;max-width:min(360px,calc(100vw - 280px));padding:6px 12px}
 #readyHint b{font-size:14px}
 #readyHint span{font-size:12px}
 body:has(#readyHint:not([hidden])) #arenaMoment{top:calc(132px + env(safe-area-inset-top,0px));font-size:12px;padding:6px 10px}
 #flightHud{left:max(16px,env(safe-area-inset-left,0px));right:max(16px,env(safe-area-inset-right,0px));bottom:calc(12px + env(safe-area-inset-bottom,0px));height:82px;padding:0}
 #flightHud .boost{left:auto;right:0;bottom:0;transform:none;width:36%;min-width:220px}
 #flightHud .flightTelemetry{position:absolute;left:0;bottom:0;min-width:0}
 #flightHud .ballStats{position:absolute;left:112px;right:auto;bottom:0;gap:16px}
 #flightHud .session{display:block;left:0;bottom:64px;transform:none;width:44%;max-width:none;text-align:left}
 #flightHud .session>span{display:inline;font-size:10px}
 #flightHud .session strong{display:inline;font-size:12px;margin-left:8px}
 #viewControls{left:max(16px,env(safe-area-inset-left,0px));right:auto;bottom:calc(108px + env(safe-area-inset-bottom,0px));width:44%;max-width:none;gap:8px}
 #viewControls :is(button,label){min-height:44px;font-size:12px;padding:8px 10px}
 .playing #touch{left:max(16px,env(safe-area-inset-left,0px));right:max(16px,env(safe-area-inset-right,0px));bottom:calc(164px + env(safe-area-inset-bottom,0px));gap:8px;flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start}
 #touch button{flex:none;min-height:44px;font-size:12px;padding:8px 12px}
 body.playing #clarityCompanion:not(.expanded){top:calc(72px + env(safe-area-inset-top,0px));bottom:auto;right:max(16px,env(safe-area-inset-right,0px));width:110px}
 #help{top:calc(64px + env(safe-area-inset-top,0px));bottom:calc(12px + env(safe-area-inset-bottom,0px))}
 #resumePanel{top:calc(64px + env(safe-area-inset-top,0px));max-height:calc(100dvh - 88px);overflow:auto}
}
