Spaces:
Sleeping
Sleeping
| .wrapper { | |
| max-width: 720px; | |
| margin: 0 auto; | |
| padding: 48px 24px 40px; | |
| display: flex; | |
| flex-direction: column; | |
| align-items: center; | |
| gap: 20px; | |
| } | |
| /* Hero */ | |
| .hero { | |
| text-align: center; | |
| display: flex; | |
| flex-direction: column; | |
| align-items: center; | |
| gap: 14px; | |
| margin-bottom: 4px; | |
| } | |
| .heroBadge { | |
| display: inline-flex; | |
| align-items: center; | |
| gap: 6px; | |
| font-size: 12px; | |
| font-weight: 600; | |
| color: var(--accent); | |
| background: var(--accent-light); | |
| padding: 4px 12px; | |
| border-radius: 99px; | |
| letter-spacing: 0.2px; | |
| } | |
| .heroTitle { | |
| font-size: clamp(28px, 5vw, 42px); | |
| font-weight: 800; | |
| color: var(--text-primary); | |
| letter-spacing: -1.2px; | |
| line-height: 1.15; | |
| } | |
| .heroAccent { | |
| color: var(--accent); | |
| } | |
| .heroSub { | |
| font-size: 15px; | |
| color: var(--text-secondary); | |
| line-height: 1.7; | |
| max-width: 560px; | |
| } | |
| /* Drop Zone */ | |
| .dropzone { | |
| width: 100%; | |
| min-height: 280px; | |
| background: var(--bg-surface); | |
| border: 2px dashed var(--border-strong); | |
| border-radius: var(--radius-xl); | |
| cursor: pointer; | |
| position: relative; | |
| transition: all 0.2s ease; | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| overflow: hidden; | |
| } | |
| .dropzone::before { | |
| content: ''; | |
| position: absolute; | |
| inset: 0; | |
| background: radial-gradient(ellipse at 50% 0%, var(--accent-glow) 0%, transparent 70%); | |
| opacity: 0; | |
| transition: opacity 0.25s ease; | |
| pointer-events: none; | |
| } | |
| .dropzone:hover, | |
| .dropzone:focus-visible { | |
| border-color: var(--accent); | |
| background: var(--bg-surface); | |
| box-shadow: 0 0 0 4px var(--accent-glow), var(--shadow-md); | |
| } | |
| .dropzone:hover::before { | |
| opacity: 1; | |
| } | |
| .dropzone.dragging { | |
| border-color: var(--accent); | |
| border-style: solid; | |
| background: var(--accent-light); | |
| box-shadow: 0 0 0 6px var(--accent-glow), var(--shadow-lg); | |
| transform: scale(1.01); | |
| } | |
| .dropzone.dragging::before { | |
| opacity: 1; | |
| } | |
| .dropzone.invalid { | |
| border-color: var(--ai-generated); | |
| background: var(--ai-generated-bg); | |
| box-shadow: 0 0 0 4px var(--ai-generated-glow); | |
| } | |
| .hiddenInput { | |
| display: none; | |
| } | |
| /* Drop Content */ | |
| .dropContent { | |
| display: flex; | |
| flex-direction: column; | |
| align-items: center; | |
| gap: 10px; | |
| padding: 40px 32px; | |
| text-align: center; | |
| position: relative; | |
| z-index: 1; | |
| } | |
| .iconGroup { | |
| margin-bottom: 4px; | |
| } | |
| .iconRing { | |
| width: 68px; | |
| height: 68px; | |
| border-radius: 50%; | |
| background: var(--bg-surface-2); | |
| border: 1.5px solid var(--border); | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| color: var(--text-muted); | |
| transition: all 0.2s ease; | |
| } | |
| .dropzone:hover .iconRing { | |
| background: var(--accent-light); | |
| border-color: var(--accent); | |
| color: var(--accent); | |
| } | |
| .dropzone.dragging .iconRing { | |
| background: var(--accent); | |
| border-color: var(--accent); | |
| color: white; | |
| } | |
| .iconRingActive { | |
| background: var(--accent) ; | |
| border-color: var(--accent) ; | |
| color: white ; | |
| } | |
| .iconRingError { | |
| background: var(--ai-generated-bg) ; | |
| border-color: var(--ai-generated) ; | |
| color: var(--ai-generated) ; | |
| } | |
| .dropLabel { | |
| font-size: 17px; | |
| font-weight: 600; | |
| color: var(--text-primary); | |
| letter-spacing: -0.2px; | |
| } | |
| .dropHint { | |
| font-size: 14px; | |
| color: var(--text-muted); | |
| } | |
| .browseLink { | |
| color: var(--accent); | |
| font-weight: 600; | |
| text-decoration: underline; | |
| text-underline-offset: 2px; | |
| } | |
| .supportedTypes { | |
| display: flex; | |
| align-items: center; | |
| gap: 12px; | |
| margin-top: 8px; | |
| } | |
| .typeChip { | |
| display: flex; | |
| align-items: center; | |
| gap: 5px; | |
| font-size: 12px; | |
| color: var(--text-secondary); | |
| background: var(--bg-surface-2); | |
| border: 1px solid var(--border); | |
| padding: 5px 10px; | |
| border-radius: 99px; | |
| font-weight: 500; | |
| } | |
| .typeFormats { | |
| color: var(--text-muted); | |
| font-size: 11px; | |
| } | |
| .typeDivider { | |
| width: 1px; | |
| height: 20px; | |
| background: var(--border); | |
| } | |
| .sizeNote { | |
| font-size: 12px; | |
| color: var(--text-muted); | |
| margin-top: 4px; | |
| } | |
| /* Error */ | |
| .errorBanner { | |
| display: flex; | |
| align-items: center; | |
| gap: 8px; | |
| background: var(--ai-generated-bg); | |
| border: 1px solid var(--ai-generated); | |
| color: var(--ai-generated); | |
| padding: 10px 16px; | |
| border-radius: var(--radius-md); | |
| font-size: 13.5px; | |
| font-weight: 500; | |
| width: 100%; | |
| max-width: 600px; | |
| } | |
| /* Capability pills */ | |
| .capabilities { | |
| display: flex; | |
| flex-wrap: wrap; | |
| justify-content: center; | |
| gap: 8px; | |
| } | |
| .capPill { | |
| font-size: 11.5px; | |
| font-weight: 600; | |
| color: var(--text-muted); | |
| background: var(--bg-surface); | |
| border: 1px solid var(--border); | |
| padding: 4px 12px; | |
| border-radius: 99px; | |
| letter-spacing: 0.15px; | |
| transition: all 0.15s ease; | |
| } | |
| .capPill:hover { | |
| color: var(--accent); | |
| border-color: var(--accent); | |
| background: var(--accent-light); | |
| } | |
| @media (max-width: 600px) { | |
| .wrapper { padding: 32px 16px 28px; } | |
| .dropContent { padding: 32px 20px; } | |
| .supportedTypes { flex-direction: column; gap: 8px; } | |
| .typeDivider { display: none; } | |
| } | |