/* A transformed root gives fixed-position HUD elements the same containing block
   as the renderer. No per-control offsets, no per-frame layout measurements. */
html{overscroll-behavior:none}
body.game-viewport{position:fixed;left:0;top:0;width:var(--game-width,100%);height:var(--game-height,100%);transform:translate(var(--game-left,0px),var(--game-top,0px));overflow:hidden;overscroll-behavior:none}
body.game-viewport canvas#c{width:100%;height:100%}
body.game-viewport :is(.modal .mcard,#hudPanel,#menuHub .mh-card,#fieldPack .pack-inner,#matchSetup .match-card,#districtShop section){max-height:calc(var(--game-height,100dvh) - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 24px)!important;overflow-y:auto;overscroll-behavior:contain}
body.game-viewport #btnsExtra{max-height:calc(var(--game-height,100dvh) - 200px)!important}
@media(pointer:coarse){body.game-viewport :is(input,select,textarea){font-size:16px}}
