Spaces:
Sleeping
Sleeping
| .uploadContainer { | |
| display: flex; | |
| flex-direction: column; | |
| width: 100%; | |
| max-width: 550px; | |
| animation: slideUpFloat 1s cubic-bezier(0.16, 1, 0.3, 1) 0.2s forwards; | |
| opacity: 0; | |
| transform: translateY(40px); | |
| position: relative; | |
| z-index: 20; | |
| } | |
| .dropZone { | |
| width: 100%; | |
| min-height: 320px; | |
| display: flex; | |
| flex-direction: column; | |
| align-items: center; | |
| justify-content: center; | |
| border: 1px dashed var(--border-glass); | |
| cursor: pointer; | |
| transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1); | |
| position: relative; | |
| overflow: hidden; | |
| } | |
| .dropZone:hover, .dragging { | |
| border-color: var(--accent-primary); | |
| background: rgba(255, 42, 42, 0.05); | |
| box-shadow: | |
| inset 0 0 30px rgba(255, 42, 42, 0.05), | |
| 0 15px 40px rgba(0, 0, 0, 0.4); | |
| transform: translateY(-8px); | |
| } | |
| .promptContent { | |
| text-align: center; | |
| pointer-events: none; | |
| } | |
| .icon { | |
| margin-bottom: 1.5rem; | |
| color: var(--accent-primary); | |
| filter: drop-shadow(0 10px 20px rgba(56, 189, 248, 0.4)); | |
| transition: transform 0.3s ease; | |
| } | |
| .dropZone:hover .icon { | |
| transform: scale(1.1) translateY(-5px); | |
| } | |
| .hint { | |
| color: var(--text-secondary); | |
| font-size: 1rem; | |
| margin-top: 0.5rem; | |
| } | |
| .previewContainer { | |
| width: 100%; | |
| height: 100%; | |
| min-height: 320px; | |
| display: flex; | |
| flex-direction: column; | |
| align-items: center; | |
| justify-content: center; | |
| padding: 1rem; | |
| animation: fadeIn 0.4s ease; | |
| } | |
| .previewImage { | |
| max-width: 100%; | |
| max-height: 220px; | |
| object-fit: contain; | |
| border-radius: 12px; | |
| filter: drop-shadow(0 15px 30px rgba(0, 0, 0, 0.5)); | |
| } | |
| .actions { | |
| margin-top: 1.5rem; | |
| } | |
| .resetBtn { | |
| background: transparent; | |
| color: var(--text-secondary); | |
| border: 1px solid var(--border-glass); | |
| padding: 8px 16px; | |
| border-radius: 20px; | |
| cursor: pointer; | |
| transition: all 0.2s ease; | |
| font-family: var(--font-body); | |
| font-weight: 500; | |
| } | |
| .resetBtn:hover { | |
| color: var(--text-primary); | |
| border-color: var(--text-primary); | |
| background: rgba(255, 255, 255, 0.05); | |
| } | |
| .errorMessage { | |
| color: var(--accent-primary); | |
| margin-top: 1.5rem; | |
| font-weight: 600; | |
| text-align: center; | |
| background: rgba(255, 42, 42, 0.1); | |
| padding: 12px; | |
| border-radius: 12px; | |
| border: 1px solid rgba(255, 42, 42, 0.2); | |
| } | |
| .submitBtn { | |
| margin-top: 2rem; | |
| width: 100%; | |
| font-size: 1.2rem; | |
| padding: 18px; | |
| animation: popIn 0.5s cubic-bezier(0.16, 1, 0.3, 1) forwards; | |
| } | |
| @keyframes slideUpFloat { | |
| to { | |
| opacity: 1; | |
| transform: translateY(0); | |
| } | |
| } | |
| @keyframes fadeIn { | |
| from { opacity: 0; } | |
| to { opacity: 1; } | |
| } | |
| @keyframes popIn { | |
| from { transform: scale(0.95); opacity: 0; } | |
| to { transform: scale(1); opacity: 1; } | |
| } | |
| .errorShake { | |
| animation: shake 0.5s cubic-bezier(.36,.07,.19,.97) both; | |
| border-color: var(--accent-primary); | |
| } | |
| @keyframes shake { | |
| 10%, 90% { transform: translate3d(-1px, 0, 0); } | |
| 20%, 80% { transform: translate3d(2px, 0, 0); } | |
| 30%, 50%, 70% { transform: translate3d(-4px, 0, 0); } | |
| 40%, 60% { transform: translate3d(4px, 0, 0); } | |
| } | |
| @media (max-width: 968px) { | |
| .uploadContainer { | |
| max-width: 100%; | |
| width: 100%; | |
| } | |
| } | |
| @media (max-width: 768px) { | |
| .dropZone { | |
| min-height: 260px; | |
| } | |
| .previewContainer { | |
| min-height: 260px; | |
| } | |
| .submitBtn { | |
| font-size: 1.05rem; | |
| padding: 16px; | |
| } | |
| } | |
| @media (max-width: 480px) { | |
| .dropZone { | |
| min-height: 220px; | |
| border-radius: 16px; | |
| } | |
| .previewContainer { | |
| min-height: 220px; | |
| } | |
| .previewImage { | |
| max-height: 180px; | |
| } | |
| .submitBtn { | |
| font-size: 1rem; | |
| padding: 14px; | |
| } | |
| } | |