/* 重新配音弹窗（web/redub.js） */
#modal .box:has(.rd) { width: min(880px, calc(100vw - 32px)); max-height: calc(100vh - 48px); overflow: auto; }
.rd h3 { display: flex; align-items: center; gap: 6px; margin: 0 0 4px; }
.rd .lb { display: block; font-size: 12px; color: var(--muted, #8a8f98); margin-bottom: 2px; }
.rd-sum { display: flex; flex-wrap: wrap; gap: 8px 24px; margin: 10px 0; }
.rd-cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0 0 12px; font-size: 13px; }
.rd-cols ul { margin: 0; padding-left: 18px; }
.rd-cols li { margin: 2px 0; }
.rd .vcard { margin-bottom: 12px; }
.rd .vc-g { max-height: 340px; }
.rd-speed { display: flex; align-items: center; gap: 10px; margin: 0 0 12px; }
.rd-speed .lb { margin: 0; }
.rd-speed input[type=range] { flex: 1; max-width: 320px; }
.rd-foot { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; border-top: 1px solid var(--line); padding-top: 12px; }
.rd-foot .hint { margin: 0; }
@media (max-width: 640px) {
  .rd-cols { grid-template-columns: 1fr; }
  .rd-foot { flex-direction: column; align-items: stretch; }
}

/* 补全本期（studio_repair）：提醒区里的一键补全 */
.sd-warn .sd-repair { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 8px; }
