Spaces:
Sleeping
Sleeping
| .card { | |
| width: 100%; | |
| background: var(--bg-surface); | |
| border: 1px solid var(--border); | |
| border-radius: var(--radius-xl); | |
| padding: 18px; | |
| display: flex; | |
| flex-direction: column; | |
| gap: 14px; | |
| box-shadow: var(--shadow-sm); | |
| } | |
| .header { | |
| display: flex; | |
| align-items: center; | |
| justify-content: space-between; | |
| gap: 12px; | |
| } | |
| .titleWrap { | |
| display: inline-flex; | |
| align-items: center; | |
| gap: 8px; | |
| color: var(--text-primary); | |
| font-size: 14px; | |
| font-weight: 700; | |
| } | |
| .viewport { | |
| position: relative; | |
| border-radius: 20px; | |
| overflow: hidden; | |
| background: var(--bg-surface-2); | |
| min-height: 230px; | |
| border: 1px solid var(--border); | |
| } | |
| .video { | |
| position: absolute; | |
| inset: 0; | |
| width: 100%; | |
| height: 100%; | |
| object-fit: cover; | |
| display: block; | |
| } | |
| .videoHidden { | |
| opacity: 0; | |
| pointer-events: none; | |
| } | |
| .videoVisible { | |
| opacity: 1; | |
| } | |
| .placeholder { | |
| min-height: 230px; | |
| display: flex; | |
| flex-direction: column; | |
| align-items: center; | |
| justify-content: center; | |
| gap: 10px; | |
| color: var(--text-muted); | |
| text-align: center; | |
| padding: 24px; | |
| } | |
| .canvas { | |
| display: none; | |
| } | |
| .actions { | |
| display: flex; | |
| flex-wrap: wrap; | |
| gap: 10px; | |
| align-items: center; | |
| } | |
| .primaryBtn, | |
| .secondaryBtn { | |
| display: inline-flex; | |
| align-items: center; | |
| gap: 8px; | |
| border-radius: 12px; | |
| padding: 10px 14px; | |
| font-size: 13px; | |
| font-weight: 600; | |
| cursor: pointer; | |
| border: 1px solid transparent; | |
| } | |
| .primaryBtn { | |
| background: var(--accent); | |
| color: white; | |
| } | |
| .secondaryBtn { | |
| background: var(--bg-surface-2); | |
| color: var(--text-secondary); | |
| border-color: var(--border); | |
| } | |
| .primaryBtn:disabled { | |
| opacity: 0.7; | |
| cursor: not-allowed; | |
| } | |
| .error { | |
| color: var(--ai-generated); | |
| font-size: 13px; | |
| font-weight: 600; | |
| } | |
| .spin { | |
| animation: spin 0.9s linear infinite; | |
| } | |
| @keyframes spin { | |
| to { transform: rotate(360deg); } | |
| } | |