:root {
    --game-viewport-height: 100dvh;
    --game-exit-bar-height: 40px;
}

html.game-overlay-open,
body.game-overlay-open {
    width: 100%;
    height: var(--game-viewport-height);
    overflow: hidden !important;
    overscroll-behavior: none !important;
    touch-action: none;
}

@media (max-width: 900px), (pointer: coarse) {
    .game-frame-wrap.is-game-immersive {
        position: fixed !important;
        inset: 0 !important;
        z-index: 2147483000 !important;
        width: 100vw !important;
        height: var(--game-viewport-height) !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: #080a0d !important;
        box-shadow: none !important;
        overflow: hidden !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        grid-template-rows: var(--game-exit-bar-height) minmax(0, 1fr) !important;
    }

    .game-frame-wrap.is-game-immersive .game-frame-toolbar,
    .game-frame-wrap.is-game-immersive .game-mobile-launch {
        display: none !important;
    }

    .game-frame-wrap.is-game-immersive .game-mobile-back {
        grid-column: 1 !important;
        grid-row: 1 !important;
        position: relative !important;
        inset: auto !important;
        z-index: 2 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        align-self: center !important;
        justify-self: start !important;
        width: auto !important;
        height: 32px !important;
        min-height: 32px !important;
        margin: 4px 8px 4px max(8px, env(safe-area-inset-left)) !important;
        padding: 0 12px !important;
        border: 1px solid rgba(255, 255, 255, .2) !important;
        border-radius: 8px !important;
        background: #ec2b23 !important;
        color: #fff !important;
        box-shadow: none !important;
        font-size: 12px !important;
        font-weight: 900 !important;
        line-height: 1 !important;
        letter-spacing: .01em !important;
        cursor: pointer !important;
        touch-action: manipulation !important;
        pointer-events: auto !important;
        -webkit-tap-highlight-color: transparent;
    }

    .game-frame-wrap.is-game-immersive .game-mobile-back:active {
        transform: translateY(1px) !important;
        filter: brightness(.9);
    }

    .game-frame-wrap.is-game-immersive .game-frame {
        grid-column: 1 !important;
        grid-row: 2 !important;
        position: relative !important;
        inset: auto !important;
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        min-width: 0 !important;
        min-height: 0 !important;
        max-width: none !important;
        max-height: none !important;
        margin: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: #080a0d !important;
    }

    .game-frame-wrap.is-game-immersive:fullscreen,
    .game-frame-wrap.is-game-immersive:-webkit-full-screen {
        width: 100vw !important;
        height: 100dvh !important;
    }
}

@media (orientation: landscape) and (max-height: 500px) {
    :root { --game-exit-bar-height: 34px; }

    .game-frame-wrap.is-game-immersive .game-mobile-back {
        height: 28px !important;
        min-height: 28px !important;
        margin-top: 3px !important;
        margin-bottom: 3px !important;
        padding-inline: 10px !important;
        font-size: 11px !important;
    }
}
