| @tailwind base; |
| @tailwind components; |
| @tailwind utilities; |
|
|
| :root { |
| color-scheme: light; |
| font-family: Inter, ui-sans-serif, system-ui, sans-serif; |
| --bg: #f6f7f9; |
| --surface: #ffffff; |
| --surface-muted: #eef2f6; |
| --surface-strong: #e2e8f0; |
| --text: #111827; |
| --text-muted: #64748b; |
| --text-soft: #94a3b8; |
| --border: #d9e2ec; |
| --border-strong: #b7c4d4; |
| --primary: #0f766e; |
| --primary-strong: #115e59; |
| --primary-soft: #ccfbf1; |
| --accent: #d97706; |
| --accent-soft: #fef3c7; |
| --danger: #be123c; |
| --danger-soft: #ffe4e6; |
| --shadow: 0 18px 40px rgb(15 23 42 / 0.08); |
| --radius: 8px; |
| } |
|
|
| :root[data-theme="dark"] { |
| color-scheme: dark; |
| --bg: #09111f; |
| --surface: #111827; |
| --surface-muted: #172033; |
| --surface-strong: #243044; |
| --text: #f8fafc; |
| --text-muted: #a8b3c7; |
| --text-soft: #748198; |
| --border: #28364d; |
| --border-strong: #3b4d67; |
| --primary: #2dd4bf; |
| --primary-strong: #5eead4; |
| --primary-soft: #133b3b; |
| --accent: #fbbf24; |
| --accent-soft: #3d2e12; |
| --danger: #fb7185; |
| --danger-soft: #3d1723; |
| --shadow: 0 20px 44px rgb(0 0 0 / 0.26); |
| } |
|
|
| * { |
| box-sizing: border-box; |
| } |
|
|
| body { |
| margin: 0; |
| background: var(--bg); |
| color: var(--text); |
| } |
|
|
| button, |
| input, |
| select, |
| textarea { |
| font: inherit; |
| } |
|
|
| button, |
| select { |
| cursor: pointer; |
| } |
|
|
| button:disabled { |
| cursor: not-allowed; |
| } |
|
|
| .app-shell { |
| min-height: 100vh; |
| background: |
| linear-gradient(180deg, color-mix(in srgb, var(--surface-muted) 60%, transparent), transparent 360px), |
| var(--bg); |
| color: var(--text); |
| } |
|
|
| .app-header { |
| position: sticky; |
| top: 0; |
| z-index: 20; |
| display: flex; |
| min-height: 76px; |
| align-items: center; |
| justify-content: space-between; |
| gap: 20px; |
| border-bottom: 1px solid var(--border); |
| background: color-mix(in srgb, var(--surface) 92%, transparent); |
| padding: 14px clamp(16px, 4vw, 44px); |
| backdrop-filter: blur(18px); |
| } |
|
|
| .brand-block, |
| .header-actions, |
| .clip-actions, |
| .metric-row, |
| .editor-topbar, |
| .panel-heading, |
| .toolbar-select, |
| .mode-pill, |
| .status-pill, |
| .icon-button, |
| .ghost-button, |
| .primary-button, |
| .inspector-actions a, |
| .inspector-actions button { |
| display: flex; |
| align-items: center; |
| } |
|
|
| .brand-block { |
| min-width: 0; |
| gap: 12px; |
| } |
|
|
| .brand-mark { |
| display: grid; |
| width: 44px; |
| height: 44px; |
| flex: 0 0 auto; |
| place-items: center; |
| border-radius: var(--radius); |
| background: #020617; |
| color: white; |
| } |
|
|
| .brand-block h1, |
| .panel-heading h2, |
| .editor-topbar h2, |
| .mini-transcript h3 { |
| margin: 0; |
| color: var(--text); |
| letter-spacing: 0; |
| } |
|
|
| .brand-block h1 { |
| font-size: 1.2rem; |
| font-weight: 800; |
| } |
|
|
| .brand-block p, |
| .panel-heading p, |
| .helper-text, |
| .file-name { |
| margin: 2px 0 0; |
| color: var(--text-muted); |
| font-size: 0.86rem; |
| line-height: 1.5; |
| } |
|
|
| .header-actions { |
| flex-wrap: wrap; |
| justify-content: flex-end; |
| gap: 8px; |
| } |
|
|
| .mode-pill, |
| .status-pill { |
| min-height: 34px; |
| border-radius: 999px; |
| border: 1px solid var(--border); |
| padding: 0 10px; |
| color: var(--text-muted); |
| font-size: 0.76rem; |
| font-weight: 800; |
| text-transform: uppercase; |
| } |
|
|
| .mode-pill.prod, |
| .status-pill.completed { |
| border-color: color-mix(in srgb, var(--primary) 50%, var(--border)); |
| background: var(--primary-soft); |
| color: var(--primary-strong); |
| } |
|
|
| .mode-pill.demo, |
| .status-pill.running, |
| .status-pill.queued { |
| border-color: color-mix(in srgb, #0ea5e9 45%, var(--border)); |
| background: color-mix(in srgb, #e0f2fe 70%, var(--surface)); |
| color: #0369a1; |
| } |
|
|
| :root[data-theme="dark"] .mode-pill.demo, |
| :root[data-theme="dark"] .status-pill.running, |
| :root[data-theme="dark"] .status-pill.queued { |
| background: #102a3d; |
| color: #7dd3fc; |
| } |
|
|
| .status-pill.failed { |
| border-color: color-mix(in srgb, var(--danger) 50%, var(--border)); |
| background: var(--danger-soft); |
| color: var(--danger); |
| } |
|
|
| .toolbar-select, |
| .icon-button, |
| .ghost-button, |
| .clip-actions button, |
| .download-button, |
| .inspector-actions a, |
| .inspector-actions button { |
| min-height: 36px; |
| justify-content: center; |
| gap: 8px; |
| border: 1px solid var(--border); |
| border-radius: 7px; |
| background: var(--surface); |
| color: var(--text); |
| text-decoration: none; |
| } |
|
|
| .toolbar-select { |
| padding: 0 8px; |
| background: var(--surface); |
| } |
|
|
| .toolbar-select select { |
| min-width: 52px; |
| border: 0; |
| background: var(--surface); |
| color: var(--text); |
| -webkit-text-fill-color: var(--text); |
| outline: none; |
| } |
|
|
| .toolbar-select select option, |
| .text-input option { |
| background: #ffffff; |
| color: #111827; |
| } |
|
|
| :root[data-theme="dark"] .toolbar-select select option, |
| :root[data-theme="dark"] .text-input option { |
| background: #111827; |
| color: #f8fafc; |
| } |
|
|
| .icon-button { |
| width: 36px; |
| padding: 0; |
| } |
|
|
| .workspace-grid { |
| display: grid; |
| grid-template-columns: minmax(320px, 420px) minmax(0, 1fr); |
| gap: 14px; |
| align-items: start; |
| padding: 18px clamp(16px, 3vw, 40px) 36px; |
| } |
|
|
| .center-column, |
| .results-column, |
| .form-stack { |
| display: grid; |
| align-content: start; |
| gap: 16px; |
| } |
|
|
| .panel { |
| border: 1px solid var(--border); |
| border-radius: var(--radius); |
| background: color-mix(in srgb, var(--surface) 96%, transparent); |
| box-shadow: var(--shadow); |
| } |
|
|
| .input-panel, |
| .progress-panel, |
| .transcript-panel, |
| .clips-panel, |
| .editor-main, |
| .inspector-panel { |
| padding: 18px; |
| } |
|
|
| .input-panel { |
| position: static; |
| overflow: visible; |
| } |
|
|
| .results-column { |
| grid-column: 1 / -1; |
| } |
|
|
| .panel-heading { |
| justify-content: space-between; |
| gap: 12px; |
| } |
|
|
| .panel-heading.compact { |
| margin-bottom: 12px; |
| } |
|
|
| .panel-heading h2, |
| .editor-topbar h2, |
| .mini-transcript h3 { |
| font-size: 0.92rem; |
| font-weight: 850; |
| text-transform: uppercase; |
| } |
|
|
| .divider { |
| height: 1px; |
| background: var(--border); |
| } |
|
|
| .form-grid-two { |
| display: grid; |
| grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); |
| gap: 12px; |
| } |
|
|
| .field-block { |
| display: grid; |
| gap: 6px; |
| } |
|
|
| .field-label { |
| color: var(--text); |
| font-size: 0.82rem; |
| font-weight: 750; |
| } |
|
|
| .text-input, |
| .file-input, |
| textarea, |
| .timeline input { |
| width: 100%; |
| border: 1px solid var(--border-strong); |
| border-radius: 7px; |
| background: var(--surface); |
| color: var(--text); |
| outline: none; |
| } |
|
|
| .text-input, |
| .file-input { |
| min-height: 42px; |
| padding: 9px 11px; |
| } |
|
|
| textarea { |
| resize: vertical; |
| padding: 10px 11px; |
| line-height: 1.5; |
| } |
|
|
| .text-input:focus, |
| .file-input:focus, |
| textarea:focus, |
| .timeline input:focus { |
| border-color: var(--primary); |
| box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary) 18%, transparent); |
| } |
|
|
| .segmented { |
| display: grid; |
| grid-template-columns: 1fr 1fr; |
| gap: 4px; |
| border-radius: var(--radius); |
| background: var(--surface-muted); |
| padding: 4px; |
| } |
|
|
| .segmented button { |
| display: flex; |
| min-height: 40px; |
| align-items: center; |
| justify-content: center; |
| gap: 8px; |
| border: 0; |
| border-radius: 6px; |
| background: transparent; |
| color: var(--text-muted); |
| } |
|
|
| .segmented button.active { |
| background: var(--surface); |
| color: var(--text); |
| box-shadow: 0 1px 2px rgb(15 23 42 / 0.10); |
| } |
|
|
| .primary-button { |
| min-height: 44px; |
| justify-content: center; |
| gap: 10px; |
| border: 1px solid var(--primary-strong); |
| border-radius: 7px; |
| background: var(--primary-strong); |
| color: white; |
| font-weight: 850; |
| } |
|
|
| :root[data-theme="dark"] .primary-button { |
| color: #042f2e; |
| } |
|
|
| .primary-button:disabled { |
| opacity: 0.55; |
| } |
|
|
| .progress-percent { |
| color: var(--text); |
| font-size: 2rem; |
| font-variant-numeric: tabular-nums; |
| } |
|
|
| .progress-track { |
| height: 12px; |
| overflow: hidden; |
| border-radius: 999px; |
| background: var(--surface-strong); |
| margin-top: 16px; |
| } |
|
|
| .progress-bar { |
| height: 100%; |
| border-radius: 999px; |
| background: linear-gradient(90deg, var(--primary), var(--accent)); |
| transition: width 260ms ease; |
| } |
|
|
| .step-list { |
| display: grid; |
| grid-template-columns: repeat(6, minmax(0, 1fr)); |
| gap: 8px; |
| margin-top: 16px; |
| } |
|
|
| .step-item { |
| display: grid; |
| gap: 6px; |
| min-width: 0; |
| color: var(--text-soft); |
| font-size: 0.75rem; |
| font-weight: 750; |
| } |
|
|
| .step-item span { |
| display: grid; |
| width: 28px; |
| height: 28px; |
| place-items: center; |
| border: 1px solid var(--border); |
| border-radius: 999px; |
| background: var(--surface); |
| font-variant-numeric: tabular-nums; |
| } |
|
|
| .step-item p { |
| margin: 0; |
| overflow-wrap: anywhere; |
| } |
|
|
| .step-item.done, |
| .step-item.active { |
| color: var(--text); |
| } |
|
|
| .step-item.done span, |
| .step-item.active span { |
| border-color: var(--primary); |
| background: var(--primary-soft); |
| color: var(--primary-strong); |
| } |
|
|
| .timing-grid { |
| display: grid; |
| grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); |
| gap: 10px; |
| margin-top: 16px; |
| } |
|
|
| .timing-grid div { |
| border: 1px solid var(--border); |
| border-radius: 7px; |
| background: var(--surface-muted); |
| padding: 10px; |
| } |
|
|
| .timing-grid span, |
| .inspector-list dt, |
| .cue-row span, |
| .transcript-row span, |
| .mini-transcript span { |
| color: var(--text-muted); |
| font-size: 0.76rem; |
| font-weight: 750; |
| } |
|
|
| .timing-grid strong { |
| display: block; |
| margin-top: 4px; |
| color: var(--text); |
| font-size: 1.02rem; |
| font-variant-numeric: tabular-nums; |
| } |
|
|
| .transcript-list { |
| display: grid; |
| max-height: 420px; |
| overflow: auto; |
| gap: 8px; |
| padding-right: 6px; |
| } |
|
|
| .transcript-row { |
| display: grid; |
| grid-template-columns: 112px 1fr; |
| gap: 12px; |
| border-bottom: 1px solid var(--border); |
| padding-bottom: 8px; |
| } |
|
|
| .transcript-row p, |
| .mini-transcript p { |
| margin: 0; |
| color: var(--text); |
| font-size: 0.9rem; |
| line-height: 1.55; |
| } |
|
|
| .empty-state { |
| display: grid; |
| min-height: 280px; |
| place-items: center; |
| align-content: center; |
| gap: 10px; |
| border: 1px dashed var(--border-strong); |
| border-radius: var(--radius); |
| background: var(--surface-muted); |
| color: var(--text-muted); |
| text-align: center; |
| } |
|
|
| .empty-state h3 { |
| margin: 0; |
| color: var(--text); |
| font-size: 1rem; |
| } |
|
|
| .empty-state p { |
| max-width: 270px; |
| margin: 0; |
| line-height: 1.5; |
| } |
|
|
| .clip-grid { |
| display: grid; |
| grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); |
| gap: 14px; |
| align-items: start; |
| } |
|
|
| .clip-card { |
| overflow: hidden; |
| border: 1px solid var(--border); |
| border-radius: var(--radius); |
| background: var(--surface-muted); |
| min-width: 0; |
| } |
|
|
| .clip-video { |
| display: grid; |
| aspect-ratio: 9 / 16; |
| max-height: 300px; |
| place-items: center; |
| background: #050b16; |
| color: white; |
| } |
|
|
| .clip-video video { |
| width: 100%; |
| height: 100%; |
| object-fit: contain; |
| } |
|
|
| .clip-body { |
| display: grid; |
| gap: 12px; |
| padding: 13px; |
| } |
|
|
| .clip-title-row { |
| display: flex; |
| align-items: flex-start; |
| justify-content: space-between; |
| gap: 10px; |
| } |
|
|
| .clip-title-row h3 { |
| margin: 0; |
| color: var(--text); |
| font-size: 0.96rem; |
| font-weight: 850; |
| line-height: 1.35; |
| } |
|
|
| .clip-title-row p { |
| margin: 5px 0 0; |
| color: var(--text-muted); |
| font-size: 0.82rem; |
| line-height: 1.45; |
| } |
|
|
| .score { |
| display: inline-flex; |
| min-width: 52px; |
| min-height: 34px; |
| flex: 0 0 auto; |
| align-items: center; |
| justify-content: center; |
| gap: 5px; |
| border-radius: 7px; |
| background: var(--accent-soft); |
| color: var(--accent); |
| font-weight: 900; |
| } |
|
|
| .metric-row { |
| justify-content: space-between; |
| gap: 8px; |
| color: var(--text-muted); |
| font-size: 0.8rem; |
| font-weight: 750; |
| } |
|
|
| .metric-row span { |
| display: inline-flex; |
| align-items: center; |
| gap: 5px; |
| } |
|
|
| .clip-actions { |
| display: grid; |
| grid-template-columns: minmax(0, 1fr) auto auto auto auto; |
| gap: 8px; |
| } |
|
|
| .clip-actions button, |
| .download-button { |
| min-width: 38px; |
| padding: 0 10px; |
| white-space: nowrap; |
| } |
|
|
| .clip-actions button:not(.action-primary):not(.action-approve), |
| .download-button { |
| width: 38px; |
| padding: 0; |
| } |
|
|
| .clip-actions .action-approve { |
| min-width: 92px; |
| } |
|
|
| .subtitle-snippet { |
| display: -webkit-box; |
| min-height: 54px; |
| margin: 0; |
| overflow: hidden; |
| -webkit-box-orient: vertical; |
| -webkit-line-clamp: 3; |
| border: 1px solid var(--border); |
| border-radius: 7px; |
| background: var(--surface); |
| color: var(--text); |
| font-size: 0.84rem; |
| line-height: 1.45; |
| padding: 10px; |
| } |
|
|
| .download-button { |
| margin-left: auto; |
| border-color: var(--primary); |
| background: var(--primary); |
| color: white; |
| } |
|
|
| :root[data-theme="dark"] .download-button { |
| color: #042f2e; |
| } |
|
|
| .editor-shell { |
| display: grid; |
| gap: 14px; |
| padding: 18px clamp(16px, 3vw, 40px) 32px; |
| } |
|
|
| .editor-topbar { |
| justify-content: space-between; |
| gap: 18px; |
| } |
|
|
| .editor-topbar > div { |
| flex: 1; |
| } |
|
|
| .editor-topbar p { |
| margin: 4px 0 0; |
| color: var(--text-muted); |
| } |
|
|
| .ghost-button { |
| padding: 0 12px; |
| } |
|
|
| .editor-grid { |
| display: grid; |
| grid-template-columns: 74px minmax(0, 1fr) minmax(330px, 420px); |
| gap: 14px; |
| align-items: start; |
| } |
|
|
| .tool-rail { |
| position: sticky; |
| top: 96px; |
| display: grid; |
| gap: 8px; |
| border: 1px solid var(--border); |
| border-radius: var(--radius); |
| background: color-mix(in srgb, var(--surface) 96%, transparent); |
| padding: 8px; |
| box-shadow: var(--shadow); |
| } |
|
|
| .tool-rail button { |
| display: grid; |
| min-height: 58px; |
| place-items: center; |
| gap: 4px; |
| border: 1px solid transparent; |
| border-radius: 7px; |
| background: transparent; |
| color: var(--text-muted); |
| font-size: 0.68rem; |
| font-weight: 800; |
| } |
|
|
| .tool-rail button.active, |
| .tool-rail button:hover { |
| border-color: color-mix(in srgb, var(--primary) 45%, var(--border)); |
| background: var(--primary-soft); |
| color: var(--primary-strong); |
| } |
|
|
| .editor-main, |
| .inspector-panel { |
| display: grid; |
| gap: 16px; |
| } |
|
|
| .editor-preview { |
| display: grid; |
| position: relative; |
| min-height: 520px; |
| max-height: 68vh; |
| overflow: hidden; |
| place-items: center; |
| border-radius: var(--radius); |
| background: #050b16; |
| color: white; |
| } |
|
|
| .editor-preview video { |
| width: 100%; |
| height: 100%; |
| max-height: 68vh; |
| object-fit: contain; |
| } |
|
|
| .caption-preview { |
| position: absolute; |
| left: 50%; |
| width: min(82%, 760px); |
| transform: translateX(-50%); |
| color: white; |
| font-weight: 900; |
| letter-spacing: 0; |
| line-height: 1.08; |
| text-align: center; |
| text-transform: none; |
| pointer-events: none; |
| } |
|
|
| .caption-preview .lit { |
| color: var(--accent); |
| } |
|
|
| .caption-preview.pop { |
| animation: caption-pop 900ms ease-in-out infinite alternate; |
| } |
|
|
| .caption-preview.bounce { |
| animation: caption-bounce 760ms ease-in-out infinite alternate; |
| } |
|
|
| @keyframes caption-pop { |
| from { |
| transform: translateX(-50%) scale(0.98); |
| } |
| to { |
| transform: translateX(-50%) scale(1.04); |
| } |
| } |
|
|
| @keyframes caption-bounce { |
| from { |
| transform: translateX(-50%) translateY(0); |
| } |
| to { |
| transform: translateX(-50%) translateY(-8px); |
| } |
| } |
|
|
| .range-editor, |
| .subtitle-editor, |
| .timeline-workbench, |
| .caption-style-panel { |
| display: grid; |
| gap: 12px; |
| border: 1px solid var(--border); |
| border-radius: var(--radius); |
| background: var(--surface-muted); |
| padding: 14px; |
| } |
|
|
| .timeline-visual { |
| position: relative; |
| height: 54px; |
| overflow: hidden; |
| border-radius: 7px; |
| background: var(--surface); |
| border: 1px solid var(--border); |
| } |
|
|
| .timeline-fill { |
| position: absolute; |
| inset: 21px 14px; |
| border-radius: 999px; |
| background: var(--surface-strong); |
| } |
|
|
| .timeline-window { |
| position: absolute; |
| top: 14px; |
| height: 26px; |
| border: 2px solid var(--primary); |
| border-radius: 999px; |
| background: color-mix(in srgb, var(--primary) 24%, transparent); |
| box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--primary) 35%, transparent); |
| } |
|
|
| .timeline-window::before, |
| .timeline-window::after { |
| position: absolute; |
| top: 4px; |
| width: 2px; |
| height: 14px; |
| border-radius: 999px; |
| background: var(--primary-strong); |
| content: ""; |
| } |
|
|
| .timeline-window::before { |
| left: 8px; |
| } |
|
|
| .timeline-window::after { |
| right: 8px; |
| } |
|
|
| .timeline-visual span { |
| position: absolute; |
| top: 18px; |
| width: 1px; |
| height: 18px; |
| background: var(--border-strong); |
| } |
|
|
| .timeline { |
| display: grid; |
| grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 82px; |
| align-items: end; |
| gap: 10px; |
| } |
|
|
| .editor-toolbox { |
| display: flex; |
| flex-wrap: wrap; |
| gap: 8px; |
| align-items: center; |
| } |
|
|
| .editor-toolbox span { |
| margin-right: 2px; |
| color: var(--text); |
| font-size: 0.82rem; |
| font-weight: 850; |
| } |
|
|
| .editor-toolbox button { |
| min-height: 34px; |
| border: 1px solid var(--border); |
| border-radius: 7px; |
| background: var(--surface); |
| color: var(--text); |
| padding: 0 10px; |
| font-size: 0.82rem; |
| font-weight: 750; |
| } |
|
|
| .editor-toolbox button:hover { |
| border-color: var(--primary); |
| } |
|
|
| .range-sliders { |
| display: grid; |
| grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); |
| gap: 12px; |
| } |
|
|
| .range-sliders label { |
| display: grid; |
| gap: 6px; |
| color: var(--text-muted); |
| font-size: 0.76rem; |
| font-weight: 800; |
| } |
|
|
| .range-sliders input[type="range"] { |
| width: 100%; |
| accent-color: var(--primary); |
| } |
|
|
| .timeline label { |
| display: grid; |
| gap: 5px; |
| color: var(--text-muted); |
| font-size: 0.76rem; |
| font-weight: 800; |
| } |
|
|
| .timeline input { |
| min-height: 38px; |
| padding: 7px 9px; |
| } |
|
|
| .timeline strong { |
| min-height: 38px; |
| border-radius: 7px; |
| background: var(--surface-strong); |
| padding: 9px 8px; |
| color: var(--text); |
| text-align: center; |
| font-variant-numeric: tabular-nums; |
| } |
|
|
| .track-stack { |
| display: grid; |
| gap: 8px; |
| } |
|
|
| .track-row { |
| display: grid; |
| grid-template-columns: 92px minmax(0, 1fr); |
| gap: 10px; |
| align-items: center; |
| } |
|
|
| .track-row > span { |
| color: var(--text-muted); |
| font-size: 0.75rem; |
| font-weight: 850; |
| } |
|
|
| .track-lane { |
| position: relative; |
| min-height: 42px; |
| overflow: hidden; |
| border: 1px solid var(--border); |
| border-radius: 7px; |
| background: |
| repeating-linear-gradient( |
| 90deg, |
| transparent 0, |
| transparent 11.8%, |
| color-mix(in srgb, var(--border) 70%, transparent) 12%, |
| transparent 12.2% |
| ), |
| var(--surface); |
| } |
|
|
| .track-clip { |
| position: absolute; |
| top: 7px; |
| bottom: 7px; |
| display: flex; |
| min-width: 54px; |
| align-items: center; |
| overflow: hidden; |
| border-radius: 6px; |
| color: #042f2e; |
| font-size: 0.72rem; |
| font-weight: 850; |
| padding: 0 8px; |
| text-overflow: ellipsis; |
| white-space: nowrap; |
| } |
|
|
| .track-clip.video { |
| background: linear-gradient(90deg, #5eead4, #22c55e); |
| } |
|
|
| .track-clip.subtitle { |
| background: #fde68a; |
| color: #422006; |
| } |
|
|
| .waveform { |
| position: absolute; |
| inset: 8px 10px; |
| display: flex; |
| align-items: center; |
| gap: 4px; |
| } |
|
|
| .waveform span { |
| width: 4px; |
| border-radius: 999px; |
| background: color-mix(in srgb, var(--primary) 70%, var(--text-soft)); |
| } |
|
|
| .cue-list { |
| display: grid; |
| gap: 10px; |
| } |
|
|
| .cue-row { |
| display: grid; |
| grid-template-columns: 112px minmax(0, 1fr); |
| gap: 10px; |
| align-items: start; |
| } |
|
|
| .inspector-list { |
| display: grid; |
| gap: 12px; |
| margin: 0; |
| } |
|
|
| .inspector-list div { |
| border-bottom: 1px solid var(--border); |
| padding-bottom: 10px; |
| } |
|
|
| .inspector-list dd { |
| margin: 4px 0 0; |
| color: var(--text); |
| line-height: 1.45; |
| } |
|
|
| .inspector-actions { |
| display: grid; |
| gap: 8px; |
| } |
|
|
| .inspector-actions a, |
| .inspector-actions button { |
| min-height: 40px; |
| padding: 0 12px; |
| } |
|
|
| .inspector-actions .danger { |
| border-color: color-mix(in srgb, var(--danger) 45%, var(--border)); |
| background: var(--danger-soft); |
| color: var(--danger); |
| } |
|
|
| .caption-style-panel { |
| background: color-mix(in srgb, var(--surface-muted) 92%, var(--surface)); |
| } |
|
|
| .preset-row { |
| display: grid; |
| grid-template-columns: repeat(3, minmax(0, 1fr)); |
| gap: 8px; |
| } |
|
|
| .preset-row button { |
| min-height: 36px; |
| border: 1px solid var(--border); |
| border-radius: 7px; |
| background: var(--surface); |
| color: var(--text); |
| font-weight: 800; |
| } |
|
|
| .style-grid, |
| .color-grid { |
| display: grid; |
| gap: 10px; |
| } |
|
|
| .color-grid { |
| grid-template-columns: 1fr 1fr; |
| } |
|
|
| .color-field, |
| .range-control { |
| display: grid; |
| gap: 7px; |
| } |
|
|
| .color-field span, |
| .range-control span { |
| display: flex; |
| justify-content: space-between; |
| color: var(--text-muted); |
| font-size: 0.76rem; |
| font-weight: 800; |
| } |
|
|
| .range-control strong { |
| color: var(--text); |
| font-variant-numeric: tabular-nums; |
| } |
|
|
| .color-field input { |
| width: 100%; |
| height: 38px; |
| border: 1px solid var(--border); |
| border-radius: 7px; |
| background: var(--surface); |
| padding: 4px; |
| } |
|
|
| .range-control input { |
| width: 100%; |
| accent-color: var(--primary); |
| } |
|
|
| .mini-transcript { |
| display: grid; |
| gap: 10px; |
| border-top: 1px solid var(--border); |
| padding-top: 14px; |
| } |
|
|
| .mini-transcript div { |
| display: grid; |
| gap: 4px; |
| } |
|
|
| .error-box { |
| border: 1px solid color-mix(in srgb, var(--danger) 45%, var(--border)); |
| border-radius: 7px; |
| background: var(--danger-soft); |
| padding: 10px; |
| color: var(--danger); |
| font-size: 0.9rem; |
| line-height: 1.45; |
| } |
|
|
| .spin { |
| animation: spin 0.9s linear infinite; |
| } |
|
|
| @keyframes spin { |
| to { |
| transform: rotate(360deg); |
| } |
| } |
|
|
| @media (max-width: 1260px) { |
| .workspace-grid { |
| grid-template-columns: minmax(290px, 340px) minmax(0, 1fr); |
| } |
|
|
| .editor-grid { |
| grid-template-columns: 64px minmax(0, 1fr); |
| } |
|
|
| .inspector-panel { |
| grid-column: 1 / -1; |
| } |
|
|
| .results-column { |
| grid-column: 1 / -1; |
| } |
|
|
| .clip-grid { |
| grid-template-columns: repeat(2, minmax(0, 1fr)); |
| } |
| } |
|
|
| @media (max-width: 900px) { |
| .app-header, |
| .editor-topbar { |
| align-items: flex-start; |
| flex-direction: column; |
| } |
|
|
| .workspace-grid, |
| .editor-grid { |
| grid-template-columns: 1fr; |
| } |
|
|
| .tool-rail { |
| position: static; |
| display: flex; |
| overflow-x: auto; |
| } |
|
|
| .tool-rail button { |
| min-width: 72px; |
| } |
|
|
| .input-panel { |
| position: static; |
| max-height: none; |
| } |
|
|
| .clip-grid { |
| grid-template-columns: 1fr; |
| } |
|
|
| .step-list { |
| grid-template-columns: repeat(3, minmax(0, 1fr)); |
| } |
|
|
| .editor-preview { |
| min-height: 420px; |
| } |
| } |
|
|
| @media (max-width: 620px) { |
| .form-grid-two, |
| .range-sliders, |
| .timeline, |
| .cue-row, |
| .track-row, |
| .transcript-row { |
| grid-template-columns: 1fr; |
| } |
|
|
| .color-grid, |
| .preset-row { |
| grid-template-columns: 1fr; |
| } |
|
|
| .progress-percent { |
| font-size: 1.5rem; |
| } |
|
|
| .step-list { |
| grid-template-columns: repeat(2, minmax(0, 1fr)); |
| } |
| } |
|
|