body {
    padding: 0;
    margin: 0;
    background-color: white;
    min-height: 100vh;
    isolation: isolate;

    touch-action: manipulation;
    /* Prevents double-tap zoom */
    user-select: none;
    /* Disables text selection */
    -webkit-user-select: none;
    /* For Safari */
    -ms-user-select: none;
    /* For Edge */
    overflow: hidden;
    /* Prevents scrolling */

    font-family: Helvetica, sans-serif;
    font-optical-sizing: auto;
}

body::before {
    content: "";
    position: fixed;
    inset: -15%;
    background-image: radial-gradient(65% 70% at 18% 20%, rgba(255, 225, 240, 0.82), rgba(228, 10, 45, 0) 70%), radial-gradient(75% 82% at 82% 24%, rgba(250, 210, 120, 0.6), rgba(228, 10, 45, 0) 78%), radial-gradient(70% 75% at 33% 88%, rgba(90, 220, 140, 0.5), rgba(228, 10, 45, 0) 82%), radial-gradient(90% 90% at 88% 78%, rgba(135, 200, 255, 0.5), rgba(228, 10, 45, 0) 80%), linear-gradient(135deg, rgba(228, 40, 70, 0.55) 0%, rgba(255, 255, 255, 0.08) 45%, rgba(30, 145, 110, 0.6) 100%);
    background-repeat: no-repeat;
    background-size: 210% 210%, 220% 220%, 180% 180%, 200% 200%, 160% 160%;
    background-position: 12% 22%, 78% 18%, 24% 82%, 88% 76%, 52% 48%;
    animation: auroraFlow 22s cubic-bezier(0.52, 0.02, 0.21, 1) infinite alternate;
    filter: blur(35px) saturate(135%);
    opacity: 0.92;
    pointer-events: none;
    z-index: -1;
    will-change: background-position, background-size;
}

#unity-container {
    width: 100%;
    height: 100%;
}

.unity-layer {
    height: 100%;
    width: 100%
}

.game-container {
    width: 100%;
    height: 100%;
    position: absolute;
}

#browser-iframe-parent {
    pointer-events: none;
}

#browser-iframe-parent > * {
    pointer-events: auto;  /* or “all” in older browsers */
}

#browser-iframe-container iframe {
    width: 100%;
    height: 100%;
    border: none;
    /* Removes the default border */
}

#unity-loading-bar {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    display: none
}

#unity-logo {
    background: url('ranj-logo.png') no-repeat center;
    background-size: contain;
    width: auto;
    height: auto;
    aspect-ratio: 700 / 245;
}

#unity-progress-bar-empty {
    width: 141px;
    height: 18px;
    margin-top: 10px;
    margin-left: 6.5px;
    background: url('progress-bar-empty-dark.png') no-repeat center
}

#unity-progress-bar-full {
    width: 0%;
    height: 18px;
    margin-top: 10px;
    background: url('progress-bar-full-dark.png') no-repeat center
}

#unity-footer {
    position: fixed;
    bottom: 0;
    width: 100%;
}

#unity-logo-title-footer {
    float: left;
    width: 102px;
    height: 38px;
    background: url('ranj-logo-title-footer.png') no-repeat center
}

#unity-build-title {
    float: right;
    margin-right: 10px;
    line-height: 38px;
    font-family: arial;
    font-size: 18px
}

#unity-fullscreen-button {
    cursor: pointer;
    float: right;
    width: 38px;
    height: 38px;
    background: url('fullscreen-button.png') no-repeat center
}

#unity-warning {
    position: absolute;
    left: 50%;
    top: 5%;
    transform: translate(-50%);
    background: white;
    padding: 10px;
    display: none
}

/* Embedded Web View Styles */
.embedded-web.hidden {
    display: none;
}

.embedded-web {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    top: 70px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    padding: 48px;
    box-sizing: border-box;
    background: white;
    z-index: 9999;
    overflow-y: auto;
    backdrop-filter: blur(4px);

    color: #30575F;
    text-align: center;
}

.embedded-web__content {
    width: 100%;
    max-width: 960px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.embedded-web__title {
    margin: 0;
    font-size: clamp(1.5rem, 2.5vw, 2.25rem);
}

.embedded-web__description {
    margin: 0;
    line-height: 1.4;
}

.embedded-web__player {
    width: 100%;
    aspect-ratio: 16 / 9;
    background: white;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    overflow: hidden;

    padding-top: 24px;
    padding-bottom: 24px;
}

.embedded-web__controls {
    display: flex;
    justify-content: flex-end;
}

.video-js {
    width: 100%;
    height: 100%;
}

@keyframes auroraFlow {
    0% {
        background-position: 12% 22%, 78% 18%, 24% 82%, 88% 76%, 52% 48%;
        background-size: 210% 210%, 220% 220%, 180% 180%, 200% 200%, 160% 160%;
        opacity: 0.92;
    }

    20% {
        background-position: 26% 36%, 68% 12%, 30% 72%, 82% 62%, 40% 60%;
        background-size: 235% 235%, 205% 205%, 195% 195%, 225% 225%, 150% 150%;
        opacity: 0.9;
    }

    50% {
        background-position: 18% 50%, 90% 30%, 44% 58%, 96% 58%, 64% 36%;
        background-size: 248% 248%, 230% 230%, 185% 185%, 238% 238%, 170% 170%;
        opacity: 0.84;
    }

    80% {
        background-position: 6% 28%, 58% 38%, 34% 90%, 70% 88%, 48% 64%;
        background-size: 225% 225%, 215% 215%, 205% 205%, 210% 210%, 155% 155%;
        opacity: 0.96;
    }

    100% {
        background-position: 12% 22%, 78% 18%, 24% 82%, 88% 76%, 52% 48%;
        background-size: 210% 210%, 220% 220%, 180% 180%, 200% 200%, 160% 160%;
        opacity: 0.92;
    }
}

@media (prefers-reduced-motion: reduce) {
    body::before {
        animation: none;
    }
}
