/* src/css/bubbles.css (Versi Baru - Paling Jelas) */

#background-wrap {
    position: absolute; /* Mengikuti parent-nya (#welcome-gate) */
    inset: 0; /* Shortcut untuk top, left, right, bottom: 0 */
    overflow: hidden; /* Pastikan gelembung tidak keluar dari tirai */
    z-index: 2; /* Posisikan di atas panel tirai */
    transition: opacity 0.5s ease-out
}

.welcome-gate.opening #background-wrap {
    opacity: 0;
}

/* Keyframes untuk animasi yang lebih realistis (goyangan horizontal) */
@keyframes bubble-rise {
    0% {
        transform: translateY(0) translateX(0);
        opacity: 0;
    }
    10% {
        opacity: 0.9; /* Dibuat lebih cepat terlihat */
    }
    20% {
        transform: translateY(-20vh) translateX(5vw);
    }
    40% {
        transform: translateY(-40vh) translateX(-8vw);
    }
    60% {
        transform: translateY(-60vh) translateX(10vw);
    }
    80% {
        transform: translateY(-80vh) translateX(-5vw);
    }
    100% {
        transform: translateY(-120vh) translateX(0);
        opacity: 1;
    }
}

/* Styling baru untuk bubble agar lebih realistis dan jelas */
.bubble {
    /* NILAI TRANSPARANSI SUDAH DITINGKATKAN LAGI DI SINI */
    background: radial-gradient(circle at 25% 25%, rgba(255, 255, 255, 0.4) 0%, rgba(255, 255, 255, 0.2) 30%, rgba(255, 255, 255, 0.1) 70%, transparent 100%);
    
    border-radius: 50%;
    position: absolute;
    bottom: -100px;
    
    /* Menerapkan animasi baru */
    animation-name: bubble-rise;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    will-change: transform, opacity;
}

/* Variasi ukuran, durasi, dan posisi untuk setiap bubble */
.x1 {
    width: 60px;
    height: 60px;
    left: 5%;
    animation-duration: 22s;
    animation-delay: 0s;
}

.x2 {
    width: 30px;
    height: 30px;
    left: 15%;
    animation-duration: 25s;
    animation-delay: 2s;
}

.x3 {
    width: 80px;
    height: 80px;
    left: 25%;
    animation-duration: 28s;
    animation-delay: 4s;
}

.x4 {
    width: 40px;
    height: 40px;
    left: 35%;
    animation-duration: 20s;
    animation-delay: 1s;
}

.x5 {
    width: 50px;
    height: 50px;
    left: 45%;
    animation-duration: 26s;
    animation-delay: 5s;
}

.x6 {
    width: 70px;
    height: 70px;
    left: 55%;
    animation-duration: 18s;
    animation-delay: 0s;
}

.x7 {
    width: 25px;
    height: 25px;
    left: 65%;
    animation-duration: 23s;
    animation-delay: 3s;
}

.x8 {
    width: 90px;
    height: 90px;
    left: 75%;
    animation-duration: 30s;
    animation-delay: 1s;
}

.x9 {
    width: 35px;
    height: 35px;
    left: 85%;
    animation-duration: 24s;
    animation-delay: 5s;
}

.x10 {
    width: 55px;
    height: 55px;
    left: 95%;
    animation-duration: 21s;
    animation-delay: 2s;
}

.x11 {
    width: 45px;
    height: 45px;
    left: 10%;
    animation-duration: 20s;
    animation-delay: 3s;
}

.x12 {
    width: 75px;
    height: 75px;
    left: 20%;
    animation-duration: 27s;
    animation-delay: 1s;
}

.x13 {
    width: 20px;
    height: 20px;
    left: 30%;
    animation-duration: 24s;
    animation-delay: 6s;
}

.x14 {
    width: 65px;
    height: 65px;
    left: 40%;
    animation-duration: 19s;
    animation-delay: 2s;
}

.x15 {
    width: 40px;
    height: 40px;
    left: 50%;
    animation-duration: 29s;
    animation-delay: 0s;
}

.x16 {
    width: 85px;
    height: 85px;
    left: 60%;
    animation-duration: 21s;
    animation-delay: 4s;
}

.x17 {
    width: 30px;
    height: 30px;
    left: 70%;
    animation-duration: 26s;
    animation-delay: 1s;
}

.x18 {
    width: 50px;
    height: 50px;
    left: 80%;
    animation-duration: 23s;
    animation-delay: 3s;
}

.x19 {
    width: 70px;
    height: 70px;
    left: 90%;
    animation-duration: 20s;
    animation-delay: 6s;
}

.x20 {
    width: 25px;
    height: 25px;
    left: 100%;
    animation-duration: 28s;
    animation-delay: 2s;
}