/* Custom Bootstrap overrides */ :root { --primary-color: #4e73df; --secondary-color: #858796; --success-color: #1cc88a; } body { background-color: #f8f9fc; font-family: 'Nunito', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; } .card { border: none; border-radius: 0.35rem; box-shadow: 0 0.15rem 1.75rem 0 rgba(58, 59, 69, 0.15); } .card-header { background-color: var(--primary-color); border-bottom: none; } .btn-primary { background-color: var(--primary-color); border-color: var(--primary-color); } .btn-primary:hover { background-color: #2e59d9; border-color: #2653d4; } /* Upload area styling */ .upload-area { border: 2px dashed #d1d3e2; border-radius: 0.35rem; padding: 2rem; text-align: center; margin-bottom: 1.5rem; cursor: pointer; transition: all 0.3s; } .upload-area:hover { border-color: var(--primary-color); background-color: rgba(78, 115, 223, 0.05); } .upload-area i { font-size: 3rem; color: var(--secondary-color); margin-bottom: 1rem; } /* Video result styling */ #result { transition: all 0.3s; } #outputVideo { border-radius: 0.35rem; background-color: #000; } /* Loading spinner */ .spinner-border { width: 1.2rem; height: 1.2rem; border-width: 0.15em; } /* Responsive adjustments */ @media (max-width: 768px) { .card-body { padding: 1.25rem; } .upload-area { padding: 1.5rem; } } /* Animation for processing state */ @keyframes pulse { 0% { opacity: 0.6; } 50% { opacity: 1; } 100% { opacity: 0.6; } } .processing { animation: pulse 1.5s infinite; }