/* === AEGIS-AI Upload & Processing Styles === */ /* Drop Zone */ .drop-zone { border: 2px dashed rgba(255, 255, 255, 0.1); border-radius: 12px; padding: 48px 20px; text-align: center; cursor: pointer; transition: var(--transition-normal); display: flex; flex-direction: column; align-items: center; gap: 14px; background: rgba(255, 255, 255, 0.01); } .drop-zone:hover, .drop-zone.dragover { border-color: var(--accent); background: rgba(0, 240, 255, 0.02); box-shadow: inset 0 0 20px rgba(0, 240, 255, 0.05); } .drop-zone i { font-size: 3.2rem; color: var(--text-muted); transition: transform 0.3s, color 0.3s; } .drop-zone:hover i { transform: translateY(-4px); color: var(--accent); } .drop-zone h3 { font-size: 1.05rem; font-weight: 600; } .drop-zone p { color: var(--text-muted); font-size: 0.85rem; } .file-types { display: flex; gap: 8px; margin-top: 4px; } .file-type-badge { background: rgba(255, 255, 255, 0.04); border: 1px solid rgba(255, 255, 255, 0.08); padding: 3px 8px; border-radius: 4px; font-size: 0.68rem; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.5px; } /* Media Preview Container */ .preview-container { display: none; width: 100%; border-radius: 12px; overflow: hidden; border: 1px solid var(--border-subtle); position: relative; aspect-ratio: 16/10; background: rgba(0, 0, 0, 0.4); } .preview-img, .preview-video { width: 100%; height: 100%; object-fit: cover; } .preview-actions { position: absolute; bottom: 16px; left: 16px; right: 16px; display: flex; gap: 12px; z-index: 10; } /* Real-Time Scan Overlay */ .scan-overlay { display: none; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: rgba(3, 3, 5, 0.96); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); z-index: 50; padding: 30px; flex-direction: column; justify-content: center; align-items: center; gap: 25px; border-radius: 16px; } .scan-visualizer { width: 130px; height: 130px; position: relative; border-radius: 50%; border: 2px solid rgba(0, 240, 255, 0.1); display: flex; align-items: center; justify-content: center; } .scan-visualizer::after { content: ''; position: absolute; width: 100%; height: 100%; border: 2px solid transparent; border-top-color: var(--accent); border-bottom-color: var(--accent); border-radius: 50%; animation: spin 1.5s linear infinite; } .scan-visualizer i { font-size: 2.8rem; color: var(--accent); animation: pulse-glow 2s infinite; } .scan-timer { font-family: var(--font-code); font-size: 1.8rem; font-weight: 700; color: var(--accent); margin-top: 5px; text-shadow: var(--shadow-glow-cyan); } .scan-label { color: var(--text-muted); font-size: 0.85rem; margin-top: -12px; text-align: center; } @keyframes spin { 100% { transform: rotate(360deg); } } @keyframes pulse-glow { 0% { opacity: 0.6; text-shadow: 0 0 10px rgba(0, 240, 255, 0.2); } 50% { opacity: 1; text-shadow: 0 0 20px rgba(0, 240, 255, 0.6); } 100% { opacity: 0.6; text-shadow: 0 0 10px rgba(0, 240, 255, 0.2); } }