.editor-title { margin: 8px 0 18px; }
.editor-title h3 { margin: 0 0 6px; color: var(--navy); font-size: 20px; }
.editor-title p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.6; }
.caption-title { border-top: 1px solid var(--line); padding-top: 28px; margin-top: 34px; }
.scene-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.scene-card { border: 1px solid var(--line); background: #fbfbfc; display: grid; grid-template-columns: 180px 1fr; min-width: 0; }
.scene-image-wrap { background: #e9ebef; aspect-ratio: 9 / 16; overflow: hidden; }
.scene-image-wrap img { display: block; width: 100%; height: 100%; object-fit: cover; }
.scene-body { padding: 16px; min-width: 0; }
.scene-number { color: var(--mint); font-size: 11px; font-weight: 900; letter-spacing: .12em; }
.narration { font-size: 13px; line-height: 1.6; min-height: 42px; margin: 9px 0; color: var(--ink); }
.scene-body label { margin-top: 9px; }
.scene-prompt { font-size: 12px; line-height: 1.5; padding: 10px; }
.scene-actions { display: flex; gap: 7px; flex-wrap: wrap; margin-top: 10px; }
.scene-actions button, .upload-button { font-size: 11px; padding: 8px 9px; margin: 0; }
.upload-button { border: 1px solid var(--line); background: #fff; color: var(--navy); font-weight: 700; border-radius: 3px; cursor: pointer; display: inline-block; }
.upload-button input { display: none; }
.toast { z-index: 20; }
.thumbnail-editor { display: grid; grid-template-columns: 220px 1fr; gap: 24px; padding: 20px; border: 1px solid var(--line); background: #fbfbfc; }
.thumbnail-preview { aspect-ratio: 9 / 16; overflow: hidden; background: #e9ebef; box-shadow: 0 8px 24px rgba(17,29,74,.15); }
.thumbnail-preview img { width: 100%; height: 100%; object-fit: cover; display: block; }
.thumbnail-controls { align-self: center; }
.thumbnail-controls input { font-size: 18px; font-weight: 800; }
.tts-option { margin: 0 auto 0 0; display: flex; align-items: center; gap: 9px; color: var(--navy); font-size: 13px; font-weight: 800; }
.tts-option input { width: 18px; height: 18px; margin: 0; }
@media (max-width: 900px) { .scene-grid { grid-template-columns: 1fr; } }
@media (max-width: 700px) {
  .thumbnail-editor { grid-template-columns: 110px 1fr; gap: 14px; padding: 13px; }
  .scene-card { grid-template-columns: 125px 1fr; }
  .scene-actions > * { width: 100%; text-align: center; }
}
