@keyframes float3d {
    0% { transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg) translateZ(0px); }
    25% { transform: rotateX(90deg) rotateY(90deg) rotateZ(90deg) translateZ(50px); }
    50% { transform: rotateX(180deg) rotateY(180deg) rotateZ(180deg) translateZ(0px); }
    75% { transform: rotateX(270deg) rotateY(270deg) rotateZ(270deg) translateZ(-50px); }
    100% { transform: rotateX(360deg) rotateY(360deg) rotateZ(360deg) translateZ(0px); }
}

@keyframes particleFloat {
    0%, 100% { transform: translateY(100vh) translateX(0); opacity: 0; }
    10% { opacity: 0.5; }
    90% { opacity: 0.5; }
    100% { transform: translateY(-100px) translateX(100px); opacity: 0; }
}

@keyframes slideUp {
    from { opacity: 0; transform: translateY(50px) rotateX(10deg); }
    to { opacity: 1; transform: translateY(0) rotateX(0); }
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes slideIn {
    from { opacity: 0; transform: translateX(100px); }
    to { opacity: 1; transform: translateX(0); }
}

@keyframes modalSlide {
    from { opacity: 0; transform: translateY(-50px) rotateX(10deg) scale(0.9); }
    to { opacity: 1; transform: translateY(0) rotateX(0) scale(1); }
}



@keyframes pulse-glow {
    0%, 100% { box-shadow: 0 0 0 0 rgba(46, 213, 115, 0); }
    50% { box-shadow: 0 0 10px 2px rgba(46, 213, 115, 0.3); }
}