/* Only the top-level iOS host owns viewport corrections. Tab frames already
   live inside it and must not reserve the system insets a second time. */
html.gax-ios-browser { --gax-browser-height: 100vh; }
@supports (height: 100dvh) {
    html.gax-ios-browser { --gax-browser-height: 100dvh; }
}
/* Safari toolbars can change the visible bottom without resizing the layout
   viewport. Keep the bar, scroll area, and tab panels on the same boundary. */
html.gax-ios-browser body #tabBar.gax-tabbar {
    top: calc(var(--gax-browser-height) - 80px - var(--play77-tabbar-safe-bottom));
    bottom: auto;
}
html.gax-ios-browser body.gax-home-page .gax-home-app {
    height: var(--gax-browser-height) !important;
}
html.gax-ios-browser body.gax-home-page #app > .gax-home-shell {
    display: flex;
    flex-direction: column;
    height: 100% !important;
}
html.gax-ios-browser body.gax-home-page .gax-home-header { flex-shrink: 0; }
html.gax-ios-browser body.gax-home-page .gax-home-scroll {
    flex: 1 1 auto;
    min-height: 0;
    height: auto !important;
}
html.gax-ios-browser body .play77-tab-panel {
    bottom: auto;
    height: var(--gax-browser-height);
}
html.gax-ios-browser body.play77-activities-page .gax-promotion-shell {
    display: flex;
    flex-direction: column;
    height: var(--gax-browser-height);
    min-height: 0;
}
html.gax-ios-browser body.play77-activities-page .play77-activities-header { flex-shrink: 0; }
html.gax-ios-browser body.play77-activities-page .gax-promotion-list {
    flex: 1 1 auto;
    height: auto;
    min-height: 0;
}
html.gax-ios-pwa {
    --gax-pwa-height: 100vh;
    --gax-pwa-safe-top: env(safe-area-inset-top, 0px);
    --gax-pwa-safe-bottom: env(safe-area-inset-bottom, 0px);
    --gax-pwa-safe-left: env(safe-area-inset-left, 0px);
    --gax-pwa-safe-right: env(safe-area-inset-right, 0px);
    --gax-pwa-content-height: calc(var(--gax-pwa-height) - var(--gax-pwa-safe-top));
    background-color: #021a02;
}
@supports (height: 100dvh) {
    html.gax-ios-pwa { --gax-pwa-height: 100dvh; }
}
html.gax-ios-pwa::before {
    content: "";
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    height: var(--gax-pwa-safe-top);
    z-index: 10000;
    background: #021a02;
    pointer-events: none;
}
html.gax-ios-pwa body {
    box-sizing: border-box;
    padding-top: var(--gax-pwa-safe-top) !important;
    padding-left: var(--gax-pwa-safe-left) !important;
    padding-right: var(--gax-pwa-safe-right) !important;
}
html.gax-ios-pwa body.gax-home-page .gax-home-app {
    height: var(--gax-pwa-content-height) !important;
}
html.gax-ios-pwa body.gax-home-page #app > .gax-home-shell {
    display: flex;
    flex-direction: column;
    height: 100% !important;
}
html.gax-ios-pwa body.gax-home-page .gax-home-header { flex-shrink: 0; }
html.gax-ios-pwa body.gax-home-page .gax-home-scroll {
    flex: 1 1 auto;
    min-height: 0;
    height: auto !important;
    padding-bottom: calc(80px + var(--gax-pwa-safe-bottom));
}
html.gax-ios-pwa body .play77-tab-panel {
    top: var(--gax-pwa-safe-top);
    right: var(--gax-pwa-safe-right);
    bottom: auto;
    left: var(--gax-pwa-safe-left);
    height: var(--gax-pwa-content-height);
}
/* Keep the curved artwork at 80px; only the solid base fills the home indicator. */
html.gax-ios-pwa body #tabBar.gax-tabbar {
    --play77-tabbar-safe-bottom: var(--gax-pwa-safe-bottom);
    top: calc(var(--gax-pwa-height) - 80px - var(--play77-tabbar-safe-bottom));
    bottom: auto;
    left: calc(50% + (var(--gax-pwa-safe-left) - var(--gax-pwa-safe-right)) / 2);
    right: auto;
    width: min(calc(100% - var(--gax-pwa-safe-left) - var(--gax-pwa-safe-right)), 520px);
    transform: translateX(-50%);
}
html.gax-ios-pwa body.play77-activities-page .gax-promotion-shell {
    display: flex;
    flex-direction: column;
    height: var(--gax-pwa-content-height);
    min-height: 0;
}
html.gax-ios-pwa body.play77-activities-page .play77-activities-header { flex-shrink: 0; }
html.gax-ios-pwa body.play77-activities-page .gax-promotion-list {
    flex: 1 1 auto;
    height: auto;
    min-height: 0;
}
html.gax-ios-pwa #auth_window .ant-modal-wrap {
    padding-top: var(--gax-pwa-safe-top);
    padding-bottom: var(--gax-pwa-safe-bottom);
}
