Spaces:
Running
Running
| /* Global Styles for FaceSwap Magic */ | |
| * { | |
| margin: 0; | |
| padding: 0; | |
| box-sizing: border-box; | |
| } | |
| body { | |
| font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, sans-serif; | |
| overflow-x: hidden; | |
| } | |
| /* Custom scrollbar */ | |
| ::-webkit-scrollbar { | |
| width: 10px; | |
| } | |
| ::-webkit-scrollbar-track { | |
| background: #f1f1f1; | |
| border-radius: 5px; | |
| } | |
| ::-webkit-scrollbar-thumb { | |
| background: var(--primary); | |
| border-radius: 5px; | |
| } | |
| ::-webkit-scrollbar-thumb:hover { | |
| background: var(--primary-dark); | |
| } | |
| /* Animation Classes */ | |
| @keyframes fadeInUp { | |
| from { | |
| opacity: 0; | |
| transform: translateY(30px); | |
| } | |
| to { | |
| opacity: 1; | |
| transform: translateY(0); | |
| } | |
| } | |
| @keyframes pulse { | |
| 0%, 100% { | |
| opacity: 1; | |
| } | |
| 50% { | |
| opacity: 0.5; | |
| } | |
| } | |
| @keyframes shimmer { | |
| 0% { | |
| background-position: -1000px 0; | |
| } | |
| 100% { | |
| background-position: 1000px 0; | |
| } | |
| } | |
| .animate-fadeInUp { | |
| animation: fadeInUp 0.6s ease-out forwards; | |
| } | |
| .animate-pulse { | |
| animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite; | |
| } | |
| .animate-shimmer { | |
| background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.4) 50%, transparent 100%); | |
| background-size: 1000px 100%; | |
| animation: shimmer 2s infinite; | |
| } | |
| /* Loading spinner */ | |
| .spinner { | |
| border: 3px solid rgba(255, 255, 255, 0.3); | |
| border-radius: 50%; | |
| border-top: 3px solid var(--primary); | |
| width: 40px; | |
| height: 40px; | |
| animation: spin 1s linear infinite; | |
| } | |
| @keyframes spin { | |
| 0% { transform: rotate(0deg); } | |
| 100% { transform: rotate(360deg); } | |
| } | |
| /* File upload hover effects */ | |
| .upload-area:hover .upload-icon { | |
| transform: translateY(-5px); | |
| transition: transform 0.3s ease; | |
| } | |
| .upload-icon { | |
| transition: transform 0.3s ease; | |
| } | |
| /* Button hover effects */ | |
| .btn-primary { | |
| background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%); | |
| transition: all 0.3s ease; | |
| } | |
| .btn-primary:hover { | |
| transform: translateY(-2px); | |
| box-shadow: 0 10px 25px rgba(139, 92, 246, 0.3); | |
| } | |
| .btn-secondary { | |
| background: linear-gradient(135deg, var(--secondary) 0%, var(--secondary-dark) 100%); | |
| transition: all 0.3s ease; | |
| } | |
| .btn-secondary:hover { | |
| transform: translateY(-2px); | |
| box-shadow: 0 10px 25px rgba(245, 158, 11, 0.3); | |
| } | |
| /* Card hover effects */ | |
| .hover-card { | |
| transition: all 0.3s ease; | |
| } | |
| .hover-card:hover { | |
| transform: translateY(-5px); | |
| } | |
| /* Image preview styling */ | |
| .image-preview { | |
| position: relative; | |
| overflow: hidden; | |
| border-radius: 12px; | |
| } | |
| .image-preview img { | |
| transition: transform 0.5s ease; | |
| } | |
| .image-preview:hover img { | |
| transform: scale(1.05); | |
| } | |
| /* Range slider customization */ | |
| input[type="range"] { | |
| -webkit-appearance: none; | |
| appearance: none; | |
| height: 8px; | |
| border-radius: 4px; | |
| background: #e5e7eb; | |
| outline: none; | |
| } | |
| input[type="range"]::-webkit-slider-thumb { | |
| -webkit-appearance: none; | |
| appearance: none; | |
| width: 20px; | |
| height: 20px; | |
| border-radius: 50%; | |
| background: var(--primary); | |
| cursor: pointer; | |
| border: 3px solid white; | |
| box-shadow: 0 2px 5px rgba(0,0,0,0.2); | |
| } | |
| input[type="range"]::-moz-range-thumb { | |
| width: 20px; | |
| height: 20px; | |
| border-radius: 50%; | |
| background: var(--primary); | |
| cursor: pointer; | |
| border: 3px solid white; | |
| box-shadow: 0 2px 5px rgba(0,0,0,0.2); | |
| } | |
| /* Toast notification */ | |
| .toast { | |
| position: fixed; | |
| top: 20px; | |
| right: 20px; | |
| background: white; | |
| padding: 16px 24px; | |
| border-radius: 8px; | |
| box-shadow: 0 10px 25px rgba(0,0,0,0.1); | |
| transform: translateX(150%); | |
| transition: transform 0.3s ease; | |
| z-index: 1000; | |
| border-left: 4px solid var(--primary); | |
| } | |
| .toast.show { | |
| transform: translateX(0); | |
| } | |
| /* Responsive adjustments */ | |
| @media (max-width: 768px) { | |
| .hero-title { | |
| font-size: 2.5rem; | |
| } | |
| .feature-grid { | |
| grid-template-columns: 1fr; | |
| } | |
| .upload-section { | |
| padding: 1.5rem; | |
| } | |
| } | |
| @media (max-width: 480px) { | |
| .hero-title { | |
| font-size: 2rem; | |
| } | |
| .button-group { | |
| flex-direction: column; | |
| gap: 1rem; | |
| } | |
| .button-group button, | |
| .button-group a { | |
| width: 100%; | |
| justify-content: center; | |
| } | |
| } | |
| /* Print styles */ | |
| @media print { | |
| .no-print { | |
| display: none; | |
| } | |
| } |