@keyframes float {
            0%, 100% { transform: translateY(0px); }
            50% { transform: translateY(-20px); }
        }
        @keyframes rotate {
            from { transform: rotate(0deg); }
            to { transform: rotate(360deg); }
        }
        @keyframes pulse-glow {
            0%, 100% { filter: drop-shadow(0 0 5px rgba(59, 130, 246, 0.5)); }
            50% { filter: drop-shadow(0 0 20px rgba(59, 130, 246, 0.8)); }
        }
        @keyframes slide-in {
            from { opacity: 0; transform: translateY(20px); }
            to { opacity: 1; transform: translateY(0); }
        }
        @keyframes glow-border {
            0%, 100% { border-color: rgba(59, 130, 246, 0.3); }
            50% { border-color: rgba(59, 130, 246, 0.8); }
        }
        @keyframes slide-in-menu {
            from { 
                transform: translateX(100%);
                opacity: 0;
            }
            to { 
                transform: translateX(0);
                opacity: 1;
            }
        }
        @keyframes slide-out-menu {
            from { 
                transform: translateX(0);
                opacity: 1;
            }
            to { 
                transform: translateX(100%);
                opacity: 0;
            }
        }
        @keyframes fade-in-overlay {
            from { opacity: 0; }
            to { opacity: 1; }
        }
        @keyframes fade-out-overlay {
            from { opacity: 1; }
            to { opacity: 0; }
        }
        
        .animate-float { animation: float 3s ease-in-out infinite; }
        .animate-rotate { animation: rotate 20s linear infinite; }
        .animate-pulse-glow { animation: pulse-glow 2s ease-in-out infinite; }
        .animate-slide-in { animation: slide-in 0.6s ease-out; }
        .animate-glow-border { animation: glow-border 2s ease-in-out infinite; }
        
        .menu-open {
            animation: slide-in-menu 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) forwards !important;
        }
        
        .menu-close {
            animation: slide-out-menu 0.3s ease-in forwards !important;
        }
        
        .overlay-open {
            animation: fade-in-overlay 0.4s ease-out forwards !important;
        }
        
        .overlay-close {
            animation: fade-out-overlay 0.3s ease-in forwards !important;
        }
        
        body { background: #000000; color: #e2e8f0; }
        .deep-black-gradient { background: linear-gradient(135deg, #000000 0%, #0a0a0a 50%, #050505 100%); }
        .card-dark { background: #0f0f0f; border: 1px solid #1a1a1a; }
        .btn-primary { background: linear-gradient(135deg, #3b82f6 0%, #1d4ed8 100%); transition: all 0.3s ease; }
        .btn-primary:hover { background: linear-gradient(135deg, #3b82f6 0%, #1e40af 100%); box-shadow: 0 0 20px rgba(59, 130, 246, 0.6); transform: translateY(-2px); }
        .btn-secondary { background: linear-gradient(135deg, #2563eb 0%, #1e3a8a 100%); transition: all 0.3s ease; }
        .btn-secondary:hover { background: linear-gradient(135deg, #2563eb 0%, #1e40af 100%); box-shadow: 0 0 20px rgba(37, 99, 235, 0.6); transform: translateY(-2px); }
        .accent-blue { color: #3b82f6; }
        .accent-indigo { color: #4f46e5; }
        
        /* Menu overlay */
        #menuOverlay {
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: rgba(0, 0, 0, 0.5);
            backdrop-filter: blur(4px);
            z-index: 60;
            pointer-events: none;
            opacity: 0;
        }
        
        #menuOverlay.active {
            pointer-events: auto;
        }
        
        #mobileMenu {
            position: fixed;
            right: 0;
            top: 0;
            height: 100vh;
            width: 256px;
            background: #000000;
            border-left: 1px solid rgba(59, 130, 246, 0.2);
            z-index: 70;
        }
