@tailwind base; @tailwind components; @tailwind utilities; :root { color-scheme: light; font-family: Inter, ui-sans-serif, system-ui, sans-serif; } body { margin: 0; } button, input, select, textarea { font: inherit; } .panel { border: 1px solid rgb(226 232 240); border-radius: 8px; background: white; padding: 20px; box-shadow: 0 1px 2px rgb(15 23 42 / 0.04); } .section-title { font-size: 0.82rem; font-weight: 700; letter-spacing: 0; color: rgb(15 23 42); text-transform: uppercase; } .field-label { display: block; margin-bottom: 6px; font-size: 0.82rem; font-weight: 650; color: rgb(71 85 105); } .text-input, .file-input { width: 100%; min-height: 42px; border: 1px solid rgb(203 213 225); border-radius: 6px; background: white; padding: 9px 11px; color: rgb(15 23 42); outline: none; } .text-input:focus, .file-input:focus, textarea:focus { border-color: rgb(20 184 166); box-shadow: 0 0 0 3px rgb(20 184 166 / 0.16); } .segmented { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; border-radius: 7px; background: rgb(241 245 249); padding: 4px; } .segmented button { display: flex; min-height: 38px; align-items: center; justify-content: center; gap: 8px; border: 0; border-radius: 5px; color: rgb(71 85 105); } .segmented button.active { background: white; color: rgb(15 23 42); box-shadow: 0 1px 2px rgb(15 23 42 / 0.08); } .primary-button, .clip-actions button, .download-button { display: inline-flex; min-height: 40px; align-items: center; justify-content: center; gap: 8px; border-radius: 6px; border: 1px solid rgb(203 213 225); padding: 0 12px; color: rgb(15 23 42); text-decoration: none; } .primary-button { width: 100%; border-color: rgb(15 23 42); background: rgb(15 23 42); color: white; font-weight: 700; } .primary-button:disabled { cursor: not-allowed; opacity: 0.55; } .status-pill { border-radius: 999px; border: 1px solid rgb(203 213 225); padding: 6px 10px; font-size: 0.78rem; font-weight: 800; text-transform: uppercase; } .status-pill.running, .status-pill.queued { border-color: rgb(14 165 233); background: rgb(240 249 255); color: rgb(3 105 161); } .status-pill.completed { border-color: rgb(20 184 166); background: rgb(240 253 250); color: rgb(15 118 110); } .status-pill.failed { border-color: rgb(244 63 94); background: rgb(255 241 242); color: rgb(190 18 60); } .progress-track { height: 10px; overflow: hidden; border-radius: 999px; background: rgb(226 232 240); } .progress-bar { height: 100%; border-radius: 999px; background: linear-gradient(90deg, rgb(20 184 166), rgb(245 158 11)); transition: width 220ms ease; } .timing-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 10px; } .timing-grid div { border: 1px solid rgb(226 232 240); border-radius: 6px; padding: 10px; } .timing-grid span { display: block; color: rgb(100 116 139); font-size: 0.78rem; } .timing-grid strong { display: block; margin-top: 4px; font-size: 1.05rem; } .transcript-list { display: grid; max-height: 330px; overflow: auto; gap: 8px; } .transcript-row { display: grid; grid-template-columns: 108px 1fr; gap: 12px; border-bottom: 1px solid rgb(241 245 249); padding-bottom: 8px; } .transcript-row span { color: rgb(100 116 139); font-size: 0.8rem; font-variant-numeric: tabular-nums; } .transcript-row p { margin: 0; color: rgb(30 41 59); font-size: 0.92rem; } .clip-card { overflow: hidden; border: 1px solid rgb(226 232 240); border-radius: 8px; background: rgb(248 250 252); } .clip-video { display: grid; aspect-ratio: 9 / 16; max-height: 360px; place-items: center; background: rgb(15 23 42); color: white; } .clip-video video { height: 100%; width: 100%; object-fit: contain; } .clip-body { display: grid; gap: 13px; padding: 14px; } .clip-body h3 { margin: 0; font-size: 1rem; font-weight: 750; } .clip-body p { margin: 4px 0 0; color: rgb(71 85 105); font-size: 0.86rem; } .score { min-width: 42px; border-radius: 6px; background: rgb(254 243 199); padding: 6px 8px; text-align: center; font-weight: 850; color: rgb(146 64 14); } .timeline { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 68px; align-items: end; gap: 8px; } .timeline label { display: block; margin-bottom: 4px; color: rgb(100 116 139); font-size: 0.76rem; font-weight: 700; } .timeline input { width: 100%; min-height: 36px; border: 1px solid rgb(203 213 225); border-radius: 6px; padding: 6px 8px; } .timeline strong { min-height: 36px; border-radius: 6px; background: rgb(226 232 240); padding: 8px; text-align: center; font-variant-numeric: tabular-nums; } textarea { width: 100%; resize: vertical; border: 1px solid rgb(203 213 225); border-radius: 6px; padding: 9px 10px; color: rgb(15 23 42); } .clip-actions { display: flex; flex-wrap: wrap; gap: 8px; } .download-button { margin-left: auto; background: rgb(20 184 166); border-color: rgb(20 184 166); color: white; } .error-box { border: 1px solid rgb(251 113 133); border-radius: 6px; background: rgb(255 241 242); padding: 10px; color: rgb(159 18 57); font-size: 0.9rem; } @media (max-width: 720px) { .panel { padding: 16px; } .transcript-row { grid-template-columns: 1fr; } }