.subtitle-settings {
  margin: 0 0 18px;
  padding: 18px;
  min-width: 0;
  border: 1px solid var(--green-200);
  border-radius: var(--r-md);
  background: var(--green-050);
}
.subtitle-settings legend { padding: 0 7px; font-size: 14px; font-weight: 600; }
.subtitle-settings .setting-row { padding: 6px 0 12px; }
.subtitle-auto { display: flex; align-items: center; gap: 8px; min-height: 44px; cursor: pointer; }
.subtitle-auto input { width: 18px; height: 18px; accent-color: var(--green); }
.subtitle-size-controls { display: flex; align-items: center; gap: 12px; }
.subtitle-size-controls input[type="range"] { min-width: 0; flex: 1; accent-color: var(--green); min-height: 44px; }
.subtitle-size-controls input[type="number"] {
  width: 76px; min-height: 44px; padding: 8px;
  border: 1px solid var(--line-strong); border-radius: var(--r-sm);
  background: var(--surface); color: var(--ink); font: inherit;
}
.subtitle-size-controls.is-auto { opacity: .5; }
.subtitle-size-controls span { color: var(--muted); font-size: 13px; }
.subtitle-help { color: var(--muted); font-size: 12px; margin: 5px 0 12px; }
.subtitle-preview {
  position: relative; width: 100%; aspect-ratio: 16 / 9;
  overflow: hidden; border-radius: var(--r-sm); background: linear-gradient(145deg,#40564b,#14281f);
  display: flex; align-items: flex-end; justify-content: center; padding: 9% 7%;
}
.subtitle-preview::before {
  content: 'ตัวอย่างรูปแบบซับ'; position: absolute; top: 14px; left: 14px;
  color: #c3d0c8; font-size: 11px; letter-spacing: .03em;
}
.subtitle-preview-text {
  font-family: 'Noto Sans Thai', sans-serif; font-weight: 700; line-height: 1.45;
  text-align: center; paint-order: stroke fill; overflow-wrap: anywhere; padding: 0 .1em;
}
.subtitle-preview-caption { color: var(--muted); font-size: 12px; margin: 7px 0 0; }
#subtitle-status { color: var(--danger); font-size: 13px; margin: 6px 0; }
#subtitle-status:empty { display: none; }
@media (max-width: 480px) {
  .subtitle-settings { padding: 12px; }
}
