/* Gameplay gets its own viewport; every control has reserved space outside the canvas. */
#play-menu{display:none}.orbit-abilities{display:flex;flex-wrap:wrap;gap:8px;align-items:center;max-width:340px}.orbit-abilities small{flex-basis:100%;color:#a9becb;font-size:11px}.orbit-abilities button{flex:1;white-space:nowrap}.orb-place{font-size:12px!important;white-space:nowrap}.orbit-touch{justify-content:space-between}.orbit-touch>p{max-width:320px}.orbit-abilities .primary:disabled{cursor:default}.orbit-play{min-height:0}
body.orbit-playing{overflow:hidden!important;overscroll-behavior:none;height:var(--play-height,100dvh)!important}body.orbit-playing .app>.header,body.orbit-playing .orbit-rail{display:none!important}body.orbit-playing .app{position:fixed!important;inset:var(--play-top,0) 0 auto!important;width:100%!important;max-width:none!important;height:var(--play-height,100dvh)!important;margin:0!important;padding:0!important;overflow:hidden!important}body.orbit-playing #social{height:100%!important;padding:0!important;overflow:hidden}body.orbit-playing .orbit-layout{height:100%;display:block;padding:0}body.orbit-playing .orbit-play{height:100%;display:grid;grid-template-rows:48px minmax(0,1fr) 38px 90px;gap:4px;border:0;border-radius:0;padding:max(6px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));overflow:hidden}body.orbit-playing .orbit-hud{grid-row:1;padding:0 10px;min-width:0;min-height:0}body.orbit-playing .orbit-hud h2{font-size:21px!important}body.orbit-playing .orbit-hud>b{font-size:25px}body.orbit-playing .orbit-canvas-wrap{grid-row:2;min-height:0;border-radius:4px}body.orbit-playing .orbit-canvas-wrap canvas{height:100%!important;width:100%;min-height:0!important;aspect-ratio:auto!important}body.orbit-playing .orbit-controls{grid-row:3;padding:0 5px;min-height:0}body.orbit-playing .orbit-controls p{font-size:12px!important;margin:0}body.orbit-playing .orbit-controls button{min-height:34px!important;padding:4px 12px!important;font-size:12px!important}body.orbit-playing .orbit-touch{grid-row:4;position:static!important;inset:auto!important;padding:0 8px!important;opacity:1!important;min-height:0;gap:16px}body.orbit-playing #orb-pad{width:80px;height:80px}body.orbit-playing #orb-pad i{width:32px;height:32px}body.orbit-playing .orbit-abilities{max-width:420px;flex:1;margin-inline-start:auto}body.orbit-playing .orbit-touch>p{display:none}body.orbit-playing .orbit-abilities button{height:44px;min-width:0;font-size:14px!important;padding:5px 12px!important}body.orbit-playing .orbit-abilities small{font-size:11px;line-height:1.3;min-height:15px}
@media(max-width:600px){body.orbit-playing .orbit-play{grid-template-rows:42px minmax(0,1fr) 36px 94px}body.orbit-playing .orbit-hud{gap:8px;padding:0 3px}body.orbit-playing .orbit-hud h2{font-size:16px!important}body.orbit-playing .orbit-hud>b{font-size:22px}body.orbit-playing .orbit-hud span{font-size:11px}body.orbit-playing .orbit-hud span b{font-size:19px}.orb-place{font-size:10px!important}body.orbit-playing .orbit-touch{padding-inline:3px!important;gap:16px}body.orbit-playing .orbit-abilities{max-width:260px}body.orbit-playing .orbit-abilities button{font-size:12px!important;padding:5px 8px!important}body.orbit-playing .orbit-controls p{font-size:10px!important}}
@media(max-height:550px) and (orientation:landscape){body.orbit-playing .orbit-play{grid-template-rows:31px minmax(0,1fr) 0 60px;gap:3px}body.orbit-playing .orbit-hud h2{font-size:16px!important}body.orbit-playing .orbit-hud>b{font-size:20px}body.orbit-playing .orbit-controls{position:absolute;bottom:max(14px,env(safe-area-inset-bottom));right:max(14px,env(safe-area-inset-right));height:36px}html[dir=rtl] body.orbit-playing .orbit-controls{right:auto;left:max(14px,env(safe-area-inset-left))}body.orbit-playing .orbit-controls p{display:none}body.orbit-playing .orbit-touch{padding-inline:10px!important;padding-inline-end:140px!important}body.orbit-playing #orb-pad{width:55px;height:55px}body.orbit-playing #orb-pad i{width:25px;height:25px}body.orbit-playing .orbit-abilities{max-width:370px;display:grid;grid-template-columns:1fr 1fr;gap:4px 10px}body.orbit-playing .orbit-abilities button{height:34px!important;min-height:34px!important;font-size:12px!important}body.orbit-playing .orbit-abilities small{grid-column:1/-1;font-size:10px;text-align:center}}
@media(max-width:900px),(pointer:coarse){
body.platform-playing{height:var(--play-height,100dvh)!important;overflow:hidden!important;overscroll-behavior:none}body.platform-playing .app{position:fixed;inset:var(--play-top,0) 0 auto;width:100%!important;max-width:none!important;height:var(--play-height,100dvh)!important;padding:max(5px,env(safe-area-inset-top)) max(7px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(7px,env(safe-area-inset-left))!important;margin:0!important;display:grid!important;grid-template-rows:36px minmax(0,1fr) 58px 64px 38px;gap:5px;overflow:hidden}body.platform-playing .app>.header{grid-row:1;margin:0!important;min-height:0!important;height:100%;padding:0 4px!important;flex-wrap:nowrap;gap:10px!important}body.platform-playing .brand h1{font-size:19px!important;line-height:1!important;margin:0;gap:6px}body.platform-playing .brand-door{height:23px;width:19px}body.platform-playing .brand p,body.platform-playing .hub-nav,body.platform-playing .account-tools,body.platform-playing footer,body.platform-playing .keyboard-help,body.platform-playing .pipe-help,body.platform-playing .wave{display:none!important}body.platform-playing #play-menu{display:inline-flex;min-height:32px;padding:4px 12px;font-size:12px}body.platform-playing .header-actions{gap:7px;padding:0}body.platform-playing .header-actions .icon-button{width:32px;height:31px}body.platform-playing .header-actions .icon-button svg{width:18px;height:18px}body.platform-playing .game-shell{grid-row:2;min-height:0;display:grid;grid-template-rows:34px minmax(0,1fr)}body.platform-playing .statusbar{min-height:0;padding:4px 8px;gap:5px;flex-wrap:nowrap;border-radius:4px 4px 0 0}body.platform-playing .progress{display:none}body.platform-playing .room-info{flex:1;gap:5px;min-width:0}body.platform-playing .room-info>span,body.platform-playing .room-info b{font-size:11px}body.platform-playing .room-info strong{font-size:11px;max-width:28vw;overflow:hidden;text-overflow:ellipsis}body.platform-playing .stats,body.platform-playing .stat{gap:6px}body.platform-playing .stat>span:not(.small-icon),body.platform-playing .stats>.divider{display:none}body.platform-playing .stat b{font-size:12px}body.platform-playing .arena{min-height:0;height:100%;max-height:none!important;aspect-ratio:auto!important;border-radius:0 0 4px 4px}body.platform-playing .arena-pause{top:7px;left:7px;width:32px;height:32px;min-height:32px}body.platform-playing .guide{grid-row:3;margin:0;padding:5px 10px;min-height:0;gap:9px;align-items:center;overflow:auto}body.platform-playing .guide-avatar{width:32px;height:32px;margin:0}body.platform-playing .guide-label{font-size:10px}body.platform-playing .guide-copy p{font-size:12px;line-height:1.4;min-height:0;margin:0}body.platform-playing .touch-controls{grid-row:4;display:flex!important;position:static!important;inset:auto!important;width:100%;height:100%;margin:0;padding:2px 3px;z-index:auto;align-items:center;justify-content:space-between;gap:8px;pointer-events:auto}body.platform-playing .touch-controls button{opacity:1;min-height:48px;height:54px;width:54px;min-width:44px;flex-shrink:0}body.platform-playing .touch-controls .jump-button{width:78px}body.platform-playing .touch-action #backwards,body.platform-playing .touch-action #enter-pipe{width:44px}body.platform-playing .touch-move,body.platform-playing .touch-action{gap:6px}body.platform-playing .controls{grid-row:5;margin:0;min-height:0;display:flex;justify-content:center}body.platform-playing .room-actions{width:100%;justify-content:space-between}body.platform-playing .room-actions button{min-height:34px;padding:4px 14px;font-size:12px}body.platform-playing .start-cue{bottom:12px;max-width:90%;white-space:normal;justify-content:center;text-align:center;font-size:11px}body.platform-playing .arena-overlay h2{font-size:26px}body.platform-playing .arena-overlay p{font-size:12px}body.platform-playing .arena-overlay{padding:14px}
body.platform-playing.online-playing #race-strip{position:static;grid-row:1;font-size:10px;padding:4px 6px;min-height:0;height:34px;margin:0}body.platform-playing.online-playing .app>.header{display:none!important}body.platform-playing.online-playing #race-runners{max-width:62vw;overflow:hidden;white-space:nowrap}body.platform-playing.online-playing #race-menu{min-height:28px;font-size:11px}
}
@media(max-height:550px) and (orientation:landscape){body.platform-playing .app{grid-template-rows:30px minmax(0,1fr) 34px 52px 30px;gap:3px}body.platform-playing .game-shell{grid-template-rows:28px minmax(0,1fr)}body.platform-playing .guide{padding:3px 8px}body.platform-playing .guide-avatar,body.platform-playing .guide-label{display:none}body.platform-playing .guide-copy p{font-size:11px;line-height:1.3}body.platform-playing .touch-controls button{height:46px;min-height:44px}body.platform-playing .room-actions button{min-height:28px;padding:3px 15px}body.platform-playing .arena-overlay h2{font-size:21px}body.platform-playing .arena-overlay p{font-size:11px}body.platform-playing .arena-overlay .primary,body.platform-playing .arena-overlay .secondary{min-height:32px;padding:4px 14px;font-size:12px}}
@media(max-width:900px),(pointer:coarse){body.platform-playing .touch-move,body.platform-playing .touch-action{display:flex;align-items:center}body.platform-playing .touch-controls button{display:flex;align-items:center;justify-content:center;gap:6px;border:1px solid #627485;border-radius:7px;background:#1b2937;color:#eef4f5;font:500 12px PlexArabic,Arial,sans-serif;touch-action:none;user-select:none}body.platform-playing .touch-controls button.active{background:#354532;border-color:var(--lime)}body.platform-playing .touch-controls .jump-button{background:var(--lime);color:#142017;border-color:var(--lime);font-weight:600}body.platform-playing .touch-action #backwards,body.platform-playing .touch-action #enter-pipe{flex-direction:column;gap:0}body.platform-playing .touch-action small{font-size:9px}}
@media(max-height:550px) and (orientation:landscape){
body.platform-playing .app{direction:ltr;grid-template-columns:108px minmax(0,1fr) 112px;grid-template-rows:28px minmax(0,1fr) 34px;gap:4px 7px}
body.platform-playing .app>.header{grid-column:1/-1;grid-row:1}body.platform-playing .game-shell{grid-column:2;grid-row:2;grid-template-rows:25px minmax(0,1fr)}body.platform-playing .guide{grid-column:2;grid-row:3;padding:3px 7px}html[dir=rtl] body.platform-playing .guide,html[dir=rtl] body.platform-playing .statusbar{direction:rtl}
body.platform-playing .touch-controls,body.platform-playing .controls,body.platform-playing .room-actions{display:contents!important}body.platform-playing .touch-move{grid-column:1;grid-row:2;align-self:center;display:flex;justify-content:center;flex-wrap:wrap}body.platform-playing .touch-action{grid-column:3;grid-row:2;align-self:center;display:flex;flex-wrap:wrap;justify-content:center}body.platform-playing .touch-controls button{width:48px;height:52px;min-height:48px}body.platform-playing .touch-controls .jump-button{width:104px;height:58px;order:-1}
body.platform-playing #retry{grid-column:1;grid-row:3;min-height:30px;width:100%;font-size:10px;padding:2px 6px}body.platform-playing #hint{grid-column:3;grid-row:3;min-height:30px;width:100%;font-size:10px;padding:2px 6px}
body.platform-playing.online-playing #race-strip{grid-column:1/-1;grid-row:1;height:28px}body.platform-playing .start-cue{font-size:10px;padding:4px 8px;bottom:6px}body.platform-playing .arena-pause{width:26px;height:26px;min-height:26px;top:5px;left:5px}
}
