/* Global Styles */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;600;700&display=swap');

body {
    font-family: 'Inter', sans-serif;
    background-color: #f3f4f6;
    color: #1f2937;
}

/* Deep Ocean Theme */
.bg-deep-ocean {
    background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
}

.text-ocean-blue {
    color: #0ea5e9;
}

/* Glassmorphism */
.glass-panel {
    background: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.3);
}

.glass-dark {
    background: rgba(15, 23, 42, 0.6);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

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

.animate-float {
    animation: float 6s ease-in-out infinite;
}

.fade-in-up {
    animation: fadeInUp 0.8s ease-out forwards;
    opacity: 0;
    transform: translateY(20px);
}

@keyframes fadeInUp {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Button loading spinner */
@keyframes spin {
    to { transform: rotate(360deg); }
}

button.btn-loading {
    position: relative;
}

.btn-spinner {
    width: 0.9em;
    height: 0.9em;
    border: 2px solid currentColor;
    border-top-color: transparent;
    border-radius: 999px;
    display: none;
    margin-left: 0.5em;
    animation: spin 0.8s linear infinite;
    vertical-align: middle;
}

button.btn-loading .btn-spinner {
    display: inline-block;
}
