.area {
    background-color: transparent;
    position: relative;
}
.carousel { z-index: 1; }
.area, .circles { width: 100%; height: 100%; }
.circles {
    position: absolute;
    top: 0;
    left: 0;
    overflow: hidden;
    background: linear-gradient(210deg, rgba(255,255,255,0.05) 0%, rgba(31,41,55,0.1) 100%);
}
.circles li {
    position: absolute;
    display: block;
    list-style: none;
    width: 20px;
    height: 20px;
    background-color: rgba(255, 255, 255, 0.2);
    animation: animate 25s linear infinite;
    bottom: -150px;
}

/* Variasi Warna dan Bentuk */
.circles li:nth-child(1) { left: 25%; width: 80px; height: 80px; animation-delay: 0s; background-color: #3498db; border-radius: 50%; } /* Biru Bulat */
.circles li:nth-child(2) { left: 10%; width: 25px; height: 25px; animation-delay: 2s; animation-duration: 12s; background-color: #e74c3c; border-radius: 20%; } /* Merah Kotak */
.circles li:nth-child(3) { left: 70%; width: 20px; height: 20px; animation-delay: 4s; background-color: #f1c40f; } /* Kuning Kotak Sharp */
.circles li:nth-child(4) { left: 40%; width: 60px; height: 60px; animation-delay: 0s; animation-duration: 18s; background-color: #9b59b6; border-radius: 50%; } /* Ungu Bulat */
.circles li:nth-child(5) { left: 65%; width: 30px; height: 30px; animation-delay: 0s; background-color: #2ecc71; } /* Hijau Kotak */
.circles li:nth-child(6) { left: 75%; width: 110px; height: 110px; animation-delay: 3s; background-color: #e67e22; border-radius: 50%; } /* Oranye Bulat */
.circles li:nth-child(7) { left: 35%; width: 150px; height: 150px; animation-delay: 7s; background-color: #1abc9c; border-radius: 10%; } /* Teal Kotak Rounded */
.circles li:nth-child(8) { left: 50%; width: 25px; height: 25px; animation-delay: 10s; animation-duration: 45s; background-color: #ecf0f1; border-radius: 50%; } /* Putih Bulat Kecil */
.circles li:nth-child(9) { left: 20%; width: 15px; height: 15px; animation-delay: 2s; animation-duration: 35s; background-color: #34495e; } /* Navy Kotak Kecil */
.circles li:nth-child(10) { left: 85%; width: 150px; height: 150px; animation-delay: 0s; animation-duration: 11s; background-color: #d35400; border-radius: 50%; } /* Oranye Tua Bulat */

@keyframes animate {
    0% { transform: translateY(0) rotate(0deg); opacity: 1; border-radius: inherit; }
    100% { transform: translateY(-1000px) rotate(720deg); opacity: 0; }
}
