.rain {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 1;
    will-change: transform;
    transform: translateZ(0);
    -webkit-transform: translateZ(0);
}

.drop {
    position: absolute;
    width: 1px;
    height: 80px;
    background: linear-gradient(transparent, rgba(33, 150, 243, 0.3));
    animation: rain linear infinite;
    will-change: transform;
    transform: translateZ(0);
    -webkit-transform: translateZ(0);
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}

@keyframes rain {
    0% {
        transform: translate3d(0, -80px, 0);
    }
    100% {
        transform: translate3d(0, calc(100vh + 80px), 0);
    }
}

/* Mobile Optimizations */
@media (max-width: 480px) {
    .drop {
        width: 1px;
        height: 60px;
    }

    @keyframes rain {
        0% {
            transform: translate3d(0, -60px, 0);
        }
        100% {
            transform: translate3d(0, calc(100vh + 60px), 0);
        }
    }
} 