/* Glass & Animations */
.glass-panel {
    background: rgba(255, 255, 255, 0.03);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.37);
}
.glass-card-hover:hover {
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(56, 189, 248, 0.3);
    transform: translateY(-2px);
    transition: all 0.3s ease;
}

/* Floating blobs */
@keyframes float-slow { 0%, 100% { transform: translate(0, 0) scale(1); } 33% { transform: translate(30px, -50px) scale(1.1); } 66% { transform: translate(-20px, 20px) scale(0.9); } }
@keyframes float-delayed { 0%, 100% { transform: translate(0, 0) scale(1); } 33% { transform: translate(-30px, 30px) scale(1.1); } 66% { transform: translate(20px, -20px) scale(0.95); } }
@keyframes scan-beam { 0% { top: 0%; opacity: 0; } 15% { opacity: 1; } 85% { opacity: 1; } 100% { top: 100%; opacity: 0; } }
@keyframes drift { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-15px); } }

.animate-float-slow { animation: float-slow 20s ease-in-out infinite; }
.animate-float-delayed { animation: float-delayed 25s ease-in-out infinite reverse; }
.scanner-line { position: absolute; width: 100%; height: 2px; background: #38bdf8; box-shadow: 0 0 15px #38bdf8; animation: scan-beam 2.5s cubic-bezier(0.4, 0, 0.2, 1) infinite; }
.animate-drift-slow { animation: drift 8s ease-in-out infinite; }

/* Utilities */
.hidden-screen { display: none !important; }

/* Modals */
.modal-backdrop {
    position: fixed; inset: 0; z-index: 100;
    background: rgba(0, 0, 0, 0.7);
    backdrop-filter: blur(5px);
    display: flex; align-items: center; justify-content: center;
    opacity: 0; pointer-events: none; transition: opacity 0.3s ease;
}
.modal-backdrop.active { opacity: 1; pointer-events: auto; }
.modal-content {
    background: #0f172a; border: 1px solid rgba(255,255,255,0.1);
    padding: 2rem; border-radius: 1.5rem; max-width: 400px; width: 90%;
    transform: scale(0.95); transition: transform 0.3s ease;
    box-shadow: 0 20px 50px rgba(0,0,0,0.5);
}
.modal-backdrop.active .modal-content { transform: scale(1); }

/* Scrollbar */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #020617; }
::-webkit-scrollbar-thumb { background: #1e293b; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #334155; }
body { overscroll-behavior: none; }

/* FIX: Footer Visibility */
footer {
    position: relative !important;
    z-index: 50 !important; /* Ensure it's above the background */
    background-color: rgba(2, 6, 23, 0.8) !important; /* Ensure background is not transparent */
    backdrop-filter: blur(10px);
    border-top: 1px solid rgba(255,255,255,0.1);
}
