.dubbing-voices {border:0;margin:0 0 18px;padding:0;min-width:0}
.dubbing-voices legend {font-size:13px;font-weight:600;margin-bottom:8px}
.dubbing-loading{margin:8px 0;font-size:13px}
.dubbing-voice-skeleton{display:grid;gap:12px;padding:7px 0;min-height:56px}
.dubbing-voice-skeleton span{display:block;width:75%;height:16px;border-radius:3px;background:var(--border);animation:dubbing-voice-loading 1.2s ease-in-out infinite}
.dubbing-voice-skeleton span:last-child{width:55%}
@keyframes dubbing-voice-loading{50%{opacity:.35}}
@media(prefers-reduced-motion:reduce){.dubbing-voice-skeleton span{animation:none}}
#caption-dubbing-controls .dubbing-voices label {display:flex;align-items:center;gap:9px;margin:0;padding:7px 0;font-size:13px;overflow-wrap:anywhere}
#caption-dubbing-controls .dubbing-voices label[hidden]{display:none}
#caption-dubbing-controls .dubbing-voices input {width:16px;height:16px;min-height:0;margin:0;flex:0 0 16px;accent-color:var(--green)}
.dubbing-settings {display:grid;gap:8px;padding-bottom:16px;min-width:0}
.dubbing-settings label {font-size:13px;margin:0}
#caption-dubbing-controls #dubbing-default,#caption-dubbing-controls #dubbing-direction {width:100%;min-width:0;margin:0 0 8px}
#dubbing-volume {width:100%;margin:0;accent-color:var(--green)}
#dubbing-volume-value {float:right;color:var(--muted)}
.cue-dubbing-tools {grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:5px 0}
.cue-content .cue-dubbing-tools{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 44px;align-items:end}
.cue-content .cue-dubbing-tools label:last-child{grid-column:1/-1}
#editor-dialog .cue-content .cue-dubbing-tools select{height:44px;min-height:44px;box-sizing:border-box;margin-bottom:0}
#editor-dialog .cue-dubbing-tools>.icon-button{display:inline-flex;align-items:center;justify-content:center;align-self:end;width:44px;height:44px;min-height:44px;box-sizing:border-box;padding:10px;margin:0}
.cue-dubbing-tools>.icon-button svg{width:18px;height:18px}
.cue-content .cue-dubbing-tools>.icon-button{grid-column:3}
@media(max-width:450px){.cue-content .cue-dubbing-tools label:nth-child(2){grid-column:1/3}}
.cue-dubbing-tools label {font-size:11px;min-width:0;margin:0}
#caption-panel .cue-dubbing-tools label{margin:0}
#editor-dialog .cue-dubbing-tools select {width:100%;min-width:0;margin:5px 0 0;font-size:12px;height:36px;padding:5px}
#generate-dubbing {max-width:100%;white-space:normal}
.cue-dubbing-error {grid-column:1 / -1;position:relative;margin:6px 0 10px;padding:12px;border:1px solid #b94444;border-radius:6px;background:#fff2f2;color:#842727;font-size:13px;line-height:1.5;overflow-wrap:anywhere}
.cue-dubbing-error::before {content:"";position:absolute;top:-6px;left:24px;width:10px;height:10px;background:#fff2f2;border-top:1px solid #b94444;border-left:1px solid #b94444;transform:rotate(45deg)}
#caption-cues textarea[aria-invalid="true"] {border-color:#b94444;outline:2px solid #b9444433;outline-offset:2px}
#caption-cues .cue-time[aria-invalid="true"] {color:#842727;background:#fff2f2;outline:2px solid #b94444;outline-offset:2px;border-radius:4px}
.dubbing-history {display:flex;align-items:center;gap:4px}
#editor-fullscreen-dialog .dubbing-history{display:none}
@media(max-width:1024px){
    #editor-dialog .preview-meta .dubbing-history{grid-column:2;grid-row:1}
    #editor-dialog .editor-footer-actions:has(#generate-dubbing:not([hidden])){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
    #generate-dubbing{order:0}
    #attach-dubbing{order:1}
    #save-editor-changes{order:2}
    #save-clip{order:3}
    .editor-footer-actions:has(#attach-dubbing[hidden]) #generate-dubbing{grid-column:1/-1}
}
@media (max-width:450px) {.cue-dubbing-tools {grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.cue-dubbing-tools label:first-child,.cue-dubbing-tools label:last-child {grid-column:1 / -1}}
