/* v111 — phone controls stay reachable without sacrificing the goal view */
@media(max-width:760px) and (orientation:portrait){
  body.pl-v111-playing{padding-bottom:calc(142px + env(safe-area-inset-bottom))!important}
  body.pl-v111-playing .app{width:100%!important;min-height:100dvh!important;height:auto!important;padding:4px 4px calc(140px + env(safe-area-inset-bottom))!important;gap:5px!important;grid-template-rows:auto 590px!important;overflow:visible!important}
  body.pl-v111-playing .topbar{position:sticky!important;top:0!important;z-index:125!important;min-height:58px!important;padding:5px!important;border-radius:0 0 14px 14px!important;background:rgba(7,18,29,.97)!important;box-shadow:0 8px 22px rgba(0,0,0,.28)!important}
  body.pl-v111-playing .team{min-width:0!important;padding:5px 6px!important}
  body.pl-v111-playing .teamName{font-size:12px!important;line-height:1.08!important;max-height:28px!important;overflow:hidden!important}
  body.pl-v111-playing .teamSub,body.pl-v111-playing .role{font-size:8px!important}
  body.pl-v111-playing .scorebox{min-width:72px!important;padding:5px!important}.score{font-size:20px!important}
  body.pl-v111-playing .stage{width:100%!important;margin:0!important;border-radius:14px!important;overflow:hidden!important}
  body.pl-v111-playing .controls{position:fixed!important;left:4px!important;right:4px!important;bottom:max(4px,env(safe-area-inset-bottom))!important;z-index:2147481800!important;width:auto!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5px!important;min-height:128px!important;padding:6px!important;border:1px solid rgba(117,207,235,.22)!important;border-radius:17px!important;background:rgba(7,19,31,.98)!important;box-shadow:0 -12px 30px rgba(0,0,0,.42)!important;backdrop-filter:none!important}
  body.pl-v111-playing .controls .aimBtn{height:56px!important;min-height:56px!important;min-width:0!important;padding:5px 3px!important;border-radius:11px!important;font-size:10px!important;line-height:1.05!important;touch-action:manipulation!important}
  body.pl-v111-playing .controls .aimBtn span{display:block!important;margin-top:2px!important;font-size:8px!important}
  body.pl-v111-playing .fieldTools{position:fixed!important;right:8px!important;top:66px!important;z-index:150!important;display:flex!important;gap:4px!important}
  body.pl-v111-playing .fieldTools button{width:34px!important;height:34px!important;min-height:34px!important;padding:0!important;border-radius:10px!important}
  body.pl-v111-playing .turnBanner{position:sticky!important;top:61px!important;z-index:110!important}
  #startOverlay .singleStartActions,#multiOverlay .plReadyActions,#multiOverlay .plRoomActions{position:sticky!important;bottom:0!important;z-index:20!important;padding:7px!important;border-radius:13px!important;background:rgba(9,23,36,.96)!important;box-shadow:0 -8px 22px rgba(0,0,0,.25)!important}
  #startOverlay .teamSelectGrid,#multiOverlay .mpTeamGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
  #startOverlay .teamPick,#multiOverlay .teamPick{min-height:64px!important;padding:7px!important}
  #modeOverlay .modeModal{width:calc(100vw - 12px)!important;max-height:calc(100dvh - 12px)!important;padding:14px!important}
  #modeOverlay #plModeButtons{grid-template-columns:1fr 1fr!important;gap:7px!important}
  #modeOverlay #plModeButtons button{min-height:78px!important;padding:10px!important}
}
@media(max-width:390px) and (orientation:portrait){
  body.pl-v111-playing .controls .aimBtn{height:53px!important;min-height:53px!important;font-size:9px!important}
  #modeOverlay #plModeButtons{grid-template-columns:1fr!important}
}
