/* Custom animations */
@keyframes float {
    0%, 100% { transform: translateY(0px); }
    50% { transform: translateY(-10px); }
}

@keyframes pulse-glow {
    0%, 100% { box-shadow: 0 0 20px rgba(59, 130, 246, 0.3); }
    50% { box-shadow: 0 0 30px rgba(59, 130, 246, 0.5); }
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}

.float-animation { animation: float 6s ease-in-out infinite; }
.glow-animation { animation: pulse-glow 2s ease-in-out infinite; }
.fade-in { animation: fadeIn 0.8s ease-out forwards; }

/* Loading spinner - Blue themed */
.spinner {
    border: 3px solid rgba(59, 130, 246, 0.3);
    border-radius: 50%;
    border-top: 3px solid #3b82f6;
    width: 20px;
    height: 20px;
    animation: spin 0.8s linear infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Password visibility toggle */
.password-toggle {
    transition: all 0.2s ease;
}

.password-toggle:hover {
    color: #60a5fa;
}
