:root { --neon-cyan: #00f3ff; --neon-purple: #bc13fe; --dark-bg: #0a0b10; }
        body {
            background-color: var(--dark-bg);
            background-image: radial-gradient(circle at 50% 50%, #1a1b25 0%, #0a0b10 100%);
            font-family: 'Rajdhani', sans-serif;
            color: white;
            min-height: 100vh;
            margin: 0;
            display: flex;
            align-items: center;
            justify-content: center;
            overflow-x: hidden;
        }
        .cyber-card {
            background: rgba(255, 255, 255, 0.03);
            backdrop-filter: blur(15px);
            border: 1px solid rgba(255, 255, 255, 0.1);
            box-shadow: 0 0 40px rgba(0, 0, 0, 0.5);
            border-radius: 30px;
        }
        .header-font { font-family: 'Orbitron', sans-serif; }
        .neon-text { text-shadow: 0 0 10px var(--neon-cyan); }
        .border-error { border-color: #ef4444 !important; box-shadow: 0 0 15px rgba(239, 68, 68, 0.3) !important; }
        .neon-border:focus { border-color: var(--neon-cyan); box-shadow: 0 0 15px rgba(0, 243, 255, 0.3); }
        .cyber-btn { background: linear-gradient(90deg, #00f3ff, #0066ff); transition: 0.3s; text-transform: uppercase; letter-spacing: 2px; }
        .cyber-btn:hover { box-shadow: 0 0 20px rgba(0, 243, 255, 0.6); transform: translateY(-2px); }
        
        .loader { border: 3px solid rgba(0, 243, 255, 0.1); border-top: 3px solid var(--neon-cyan); border-radius: 50%; width: 24px; height: 24px; animation: spin 1s linear infinite; }
        @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }

        .upload-area { border: 2px dashed rgba(0, 243, 255, 0.3); transition: 0.3s; }
        .upload-area.dragover { border-color: var(--neon-cyan); background: rgba(0, 243, 255, 0.1); transform: scale(1.02); }
        
        .custom-scrollbar::-webkit-scrollbar { width: 5px; }
        .custom-scrollbar::-webkit-scrollbar-track { background: transparent; }
        .custom-scrollbar::-webkit-scrollbar-thumb { background: var(--neon-cyan); border-radius: 10px; }
        
        .animate-fade-in { animation: fadeIn 0.5s ease-out; }
        @keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

        /* Welcome Banner Custom Style */
        #welcomeBanner {
            position: fixed; top: 0; left: 0; width: 100%; height: 100%;
            background: rgba(10, 11, 16, 0.98);
            z-index: 9999; display: flex; align-items: center; justify-content: center;
            padding: 20px; transition: opacity 0.5s ease;
        }
        .progress-bar-container {
            width: 100%; height: 4px; background: rgba(255,255,255,0.1); border-radius: 10px; overflow: hidden;
        }
        #progressFill {
            height: 100%; width: 100%; background: var(--neon-cyan); transition: width 5s linear;
        }