        :root {
            --primary: #FF6B6B;
            --primary-dark: #EE5A52;
            --primary-light: #FF8E8E;
            --secondary: #4ECDC4;
            --accent: #FFD166;
            --dark: #1A1A2E;
            --darker: #0F0F1E;
            --light: #F7F7F7;
            --gradient: linear-gradient(135deg, #FF6B6B 0%, #4ECDC4 100%);
            --gradient-dark: linear-gradient(135deg, #1A1A2E 0%, #16213E 100%);
            --gradient-hero: linear-gradient(135deg, #1A1A2E 0%, #16213E 50%, #0F3460 100%);
        }

        body { 
            font-family: 'Inter', sans-serif; 
            background: var(--gradient-hero);
            color: var(--light);
            overflow-x: hidden;
        }
        
        .hidden { display: none !important; }
        .view { 
            min-height: 100vh; 
            display: flex; 
            flex-direction: column; 
            justify-content: center; 
            align-items: center; 
            padding: 1rem;
        }
        
        .card { 
            background: rgba(26, 26, 46, 0.8); 
            backdrop-filter: blur(15px); 
            -webkit-backdrop-filter: blur(15px);
            border: 1px solid rgba(255, 255, 255, 0.1);
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
            position: relative;
            overflow: hidden;
        }
        
        .card::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 4px;
            background: var(--gradient);
        }
        
        .loader { 
            width: 50px; 
            height: 50px; 
            border: 4px solid var(--primary); 
            border-bottom-color: transparent; 
            border-radius: 50%; 
            display: inline-block; 
            box-sizing: border-box; 
            animation: rotation 1s linear infinite; 
        }
        
        @keyframes rotation { 
            0% { transform: rotate(0deg); } 
            100% { transform: rotate(360deg); } 
        }
        
        .social-icon { 
            transition: all 0.3s ease; 
        }
        
        .social-icon:hover { 
            transform: translateY(-5px) scale(1.1);
            color: var(--primary);
        }
        
        .modal-enter { animation: fadeIn 0.3s ease-out forwards; }
        .modal-leave { animation: fadeOut 0.3s ease-in forwards; }
        
        @keyframes fadeIn { 
            from { opacity: 0; transform: scale(0.95) translateY(10px); } 
            to { opacity: 1; transform: scale(1) translateY(0); } 
        }
        
        @keyframes fadeOut { 
            from { opacity: 1; transform: scale(1) translateY(0); } 
            to { opacity: 0; transform: scale(0.95) translateY(10px); } 
        }
        
        .file-to-extract-item.selected { 
            background: linear-gradient(135deg, rgba(255, 107, 107, 0.2), rgba(78, 205, 196, 0.2)); 
            border: 1px solid var(--primary); 
        }
        
        .file-item { 
            padding: 10px 14px; 
            border-radius: 10px; 
            background: rgba(55, 65, 81, 0.5); 
            margin-bottom: 10px; 
            border-left: 3px solid var(--primary);
            transition: all 0.3s ease;
        }
        
        .file-item:hover {
            transform: translateX(5px);
            background: rgba(55, 65, 81, 0.7);
        }
        
        .btn {
            background: var(--gradient);
            color: white;
            font-weight: 600;
            border-radius: 12px;
            transition: all 0.3s ease;
            position: relative;
            overflow: hidden;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
        }
        
        .btn::before {
            content: '';
            position: absolute;
            top: 0;
            left: -100%;
            width: 100%;
            height: 100%;
            background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
            transition: left 0.5s ease;
        }
        
        .btn:hover::before {
            left: 100%;
        }
        
        .btn:hover {
            transform: translateY(-3px);
            box-shadow: 0 8px 20px rgba(255, 107, 107, 0.4);
        }
        
        .btn-primary {
            background: linear-gradient(135deg, #FF6B6B 0%, #FF8E8E 100%);
            animation: pulse 2s infinite;
        }
        
        .btn-primary:hover {
            animation: none;
            box-shadow: 0 8px 25px rgba(255, 107, 107, 0.6);
        }
        
        @keyframes pulse {
            0% { box-shadow: 0 0 0 0 rgba(255, 107, 107, 0.7); }
            70% { box-shadow: 0 0 0 10px rgba(255, 107, 107, 0); }
            100% { box-shadow: 0 0 0 0 rgba(255, 107, 107, 0); }
        }
        
        .drop-zone {
            border: 2px dashed rgba(255, 255, 255, 0.2);
            border-radius: 15px;
            transition: all 0.3s ease;
            position: relative;
            overflow: hidden;
        }
        
        .drop-zone::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: linear-gradient(135deg, rgba(255, 107, 107, 0.05) 0%, rgba(78, 205, 196, 0.05) 100%);
            opacity: 0;
            transition: opacity 0.3s ease;
        }
        
        .drop-zone:hover::before {
            opacity: 1;
        }
        
        .drop-zone.drag-over {
            border-color: var(--primary);
            background: rgba(255, 107, 107, 0.1);
        }
        
        .particles {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            overflow: hidden;
            z-index: -1;
        }
        
        .particle {
            position: absolute;
            border-radius: 50%;
            background: rgba(255, 107, 107, 0.3);
            animation: float 6s infinite ease-in-out;
        }
        
        @keyframes float {
            0%, 100% { transform: translateY(0); }
            50% { transform: translateY(-10px); }
        }
        
        .fade-in {
            animation: fadeInUp 0.8s ease forwards;
        }
        
        @keyframes fadeInUp {
            from { opacity: 0; transform: translateY(20px); }
            to { opacity: 1; transform: translateY(0); }
        }
        
        .typewriter {
            overflow: hidden;
            border-right: 2px solid var(--primary);
            white-space: nowrap;
            animation: typewriter 3.5s steps(40, end), blink 0.75s step-end infinite;
        }
        
        @keyframes typewriter {
            from { width: 0; }
            to { width: 100%; }
        }
        
        @keyframes blink {
            0%, 100% { border-color: var(--primary); }
            50% { border-color: transparent; }
        }