#progressPanel { padding:18px 20px; margin:0 0 22px; background:#192635; border:1px solid #45566b; border-radius:8px; }
.analyzeBottom { width:100%; margin-top:14px; white-space:normal; }
.fontControls { padding:0 0 24px; border-bottom:1px solid var(--border); margin-bottom:20px; }
.fontControls>label { max-width:580px; }
.fontSelectRow { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:20px; align-items:center; margin-bottom:20px; }
.fontSelectRow label { min-width:0; }
.fontSample { border:1px solid var(--border); background:#0b1019; border-radius:8px; padding:14px 18px; min-width:0; }
#fontSampleName { display:block; color:var(--muted); font-size:12px; margin-bottom:8px; overflow-wrap:anywhere; }
#fontSampleText { font-size:26px; line-height:1.6; overflow-wrap:anywhere; }
@media(max-width:750px) { .fontSelectRow { grid-template-columns:minmax(0,1fr); gap:0; } }
.fontControls summary { cursor:pointer; font-size:14px; color:var(--muted); }
.fontActions { display:flex; gap:10px; flex-wrap:wrap; }
#fontStatus { font-size:14px; color:var(--accent); overflow-wrap:anywhere; }
#progressPanel[hidden],#analysisWarnings[hidden] { display:none; }
.progressheading,.progressmeta { display:flex; justify-content:space-between; align-items:center; gap:12px; }
#progressPercent { font-size:24px; font-weight:700; color:#65e4c3; font-variant-numeric:tabular-nums; }
#operationProgress { display:block; width:100%; height:13px; margin:14px 0; accent-color:#65e4c3; border:0; border-radius:7px; overflow:hidden; }
#operationProgress::-webkit-progress-bar { background:#0b1520; }
#operationProgress::-webkit-progress-value { background:#65e4c3; transition:width .25s ease; }
#operationProgress:indeterminate { background:linear-gradient(90deg,#0b1520 0%,#65e4c3 45%,#0b1520 90%); background-size:200% 100%; animation:working 2s linear infinite; }
#operationProgress:indeterminate::-webkit-progress-bar { background:transparent; }
.progressmeta { font-size:13px; color:#b4c4d8; flex-wrap:wrap; }
.analysisWarnings { background:#302b24; border:1px solid #ae8750; border-radius:8px; padding:18px 20px; margin:20px 0; }
.analysisWarnings h3 { margin:0 0 10px; color:#ffd290; }
.analysisWarnings p { font-size:14px; }
.analysisWarnings summary { cursor:pointer; font-size:14px; }
.issueRow { display:flex; justify-content:space-between; align-items:center; gap:12px; border-top:1px solid #6a593f; padding:12px 0; font-size:14px; line-height:1.7; }
.reviewNote { color:#ffd290; font-size:14px; }
@keyframes working { to { background-position:-200% 0; } }
@media(prefers-reduced-motion:reduce) { #operationProgress:indeterminate { animation:none; } }
@media(max-width:750px) { .issueRow { align-items:flex-start; flex-direction:column; } .progressheading { flex-wrap:wrap; } }

.voiceSettings{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.voiceSettings label{min-width:240px}.voiceSettings button{white-space:normal}

.timingControls{border:1px solid var(--border);border-radius:8px;padding:18px;margin-top:20px}.timingRow{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.timingRow label{max-width:100%;margin:8px 0}.timingRow button{white-space:normal}#timingSummary{color:var(--accent);font-size:14px}

.timeApply{margin:8px 0 12px}.timeFeedback{font-size:14px;color:var(--accent);line-height:1.6}.timeFeedback:empty{display:none}

/* Align actions with the fields below their labels, including wrapped rows. */
button,a#download,select,input[type=number],input[type=text]{min-height:42px;line-height:20px}
select,input[type=number],input[type=text]{height:42px}
.voiceSettings,.timingRow,.export{align-items:flex-end}
.voiceSettings{padding:20px 0}
.timingRow{padding:8px 0}
.export{padding-bottom:20px;row-gap:16px}
.voiceSettings label,.timingRow label,.export label{margin:0;max-width:100%;min-width:0}
.voiceSettings label{width:240px}
.cueGrid label,.hiddenRow label{margin-bottom:0}

.pairing{padding:14px 34px;border-bottom:1px solid var(--border)}.pairing summary{cursor:pointer}.pairing input{width:360px;max-width:100%;padding:12px;margin-right:12px}
