body.sa-spring-ring-play {
    background: #000;
}

body.sa-spring-ring-play footer {
    display: none !important;
}

body.sa-spring-ring-play #cookie-preferences-button {
    display: none !important;
    pointer-events: none !important;
}

body.sa-spring-ring-play main {
    min-height: 0;
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: 0;
    margin: 0;
}

.sa-spring-ring-shell {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    width: 100%;
    background: #000;
}

.sa-spring-ring-chrome {
    flex-shrink: 0;
}

.sa-spring-ring-frame {
    flex: 1;
    min-height: 0;
    width: 100%;
    display: flex;
}

.sa-spring-ring-inner {
    flex: 1;
    min-height: 0;
    width: 100%;
    display: flex;
    flex-direction: column;
}

.sa-spring-ring-iframe {
    display: block;
    flex: 1;
    width: 100%;
    min-height: 0;
    height: 100%;
    border: 0;
    background: #000;
}

.sa-spring-ring-footnote {
    flex-shrink: 0;
}

@media (min-width: 640px) {
    body.sa-spring-ring-play {
        display: flex;
        flex-direction: column;
        min-height: 100dvh;
    }

    body.sa-spring-ring-play > header[data-sa-public-header] {
        flex-shrink: 0;
    }

    body.sa-spring-ring-play > main {
        flex: 1;
        min-height: 0;
    }

    .sa-spring-ring-shell {
        min-height: 100%;
        height: 100%;
    }

    .sa-spring-ring-chrome {
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
        background: rgba(15, 23, 42, 0.95);
        backdrop-filter: blur(8px);
    }

    .sa-spring-ring-frame {
        padding: 0;
    }

    .sa-spring-ring-iframe {
        border-radius: 0;
        box-shadow: none;
        max-height: none;
    }

    .sa-spring-ring-footnote {
        display: none;
    }

    .sa-spring-ring-mobile-back {
        display: none;
    }
}

@media (max-width: 639px) {
    body.sa-spring-ring-play {
        overflow: hidden;
    }

    body.sa-spring-ring-play [data-sa-public-header],
    body.sa-spring-ring-play .sa-spring-ring-chrome,
    body.sa-spring-ring-play .sa-spring-ring-footnote {
        display: none !important;
    }

    body.sa-spring-ring-play main {
        min-height: 100dvh;
        height: 100dvh;
    }

    .sa-spring-ring-shell {
        position: fixed;
        inset: 0;
        z-index: 30;
        min-height: 100dvh;
        height: 100dvh;
    }

    .sa-spring-ring-iframe {
        border-radius: 0;
        box-shadow: none;
    }

    .sa-spring-ring-mobile-back {
        position: fixed;
        top: max(0.75rem, env(safe-area-inset-top, 0px));
        left: max(0.75rem, env(safe-area-inset-left, 0px));
        z-index: 50;
    }
}
