@keyframes float {
            0%, 100% { transform: translateY(0); }
            50% { transform: translateY(-20px); }
        }
        
        @keyframes pulse {
            0%, 100% { box-shadow: 0 0 0 0 rgba(99, 102, 241, 0.7); }
            70% { box-shadow: 0 0 0 10px rgba(99, 102, 241, 0); }
        }
        
        .auth-container {
            perspective: 1000px;
        }
        
        .auth-inner {
            transition: transform 0.8s;
            transform-style: preserve-3d;
        }
        
        .auth-back {
            transform: rotateY(180deg);
            backface-visibility: hidden;
        }
        
        .input-group input:focus + label,
        .input-group input:not(:placeholder-shown) + label {
            transform: translateY(-24px);
            font-size: 0.75rem;
            color: #6366f1;
        }
        
        .or-divider {
            clip-path: polygon(0 50%, 30% 0, 70% 0, 100% 50%, 70% 100%, 30% 100%);
        }
