/* Optional audio controls use Signal tokens; no Admin selectors. */
html.qs-signal :is(.qaudio-panel,.qaudio-editor,.qaudio-unlock) {
  background: var(--signal-raised); color: var(--signal-text); border: 1px solid var(--signal-divider);
  border-radius: 12px; padding: 18px; margin: 18px 0; font-size: 13px; line-height: 1.6;
}
html.qs-signal .qaudio-panel { flex-shrink: 0; }
html.qs-signal :is(.qaudio-panel,.qaudio-editor) :is(h3,.qaudio-heading) { margin: 0 0 12px; font-weight: 650; font-size: 17px; }
html.qs-signal .qaudio-editor :is(p,.qaudio-optional),
html.qs-signal :is(.qaudio-status,.qaudio-reports) { color: var(--signal-muted); font-size: 12px; overflow-wrap: anywhere; }
html.qs-signal .qaudio-optional { font-weight: 400; margin-left: 8px; }
html.qs-signal :is(.qaudio-actions,.qaudio-preview-stages,.qaudio-unlock) { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
html.qs-signal .qaudio-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
html.qs-signal .qaudio-editor label { display: flex; flex-direction: column; gap: 6px; margin: 12px 0; color: var(--signal-muted); font-weight: 550; }
html.qs-signal .qaudio-editor :is(input,select,textarea) { width: 100%; min-width: 0; }
html.qs-signal .qaudio-editor .qaudio-file { position: relative; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 12px; cursor: pointer; }
html.qs-signal .qaudio-editor .qaudio-upload { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); }
html.qs-signal .qaudio-file:focus-within .qs-signal-btn { outline: 2px solid var(--signal-focus); outline-offset: 3px; }
html.qs-signal .qaudio-file:hover .qs-signal-btn { background: var(--signal-soft); color: var(--signal-text); }
html.qs-signal .qaudio-file:has(input:disabled) { cursor: wait; }
html.qs-signal .qaudio-file:has(input:disabled) .qs-signal-btn { background: var(--signal-soft); color: var(--signal-muted); }
html.qs-signal .qaudio-filename { min-width: 0; overflow-wrap: anywhere; }
html.qs-signal .qaudio-library { margin: 16px 0; }
html.qs-signal .qaudio-edit-clip { padding-top: 16px; border-top: 1px solid var(--signal-divider); }
html.qs-signal .qaudio-stages { display: flex; gap: 4px; flex-wrap: wrap; margin: 16px 0; }
html.qs-signal .qaudio-stages span { flex: 1 0 18px; min-width: 18px; text-align: center; border: 1px solid var(--signal-line); border-radius: 4px; color: var(--signal-muted); background: var(--signal-soft); font-size: 10px; padding: 2px; }
html.qs-signal .qaudio-stages .is-reached { color: var(--signal-on-primary); background: var(--signal-primary); border-color: var(--signal-primary); }
html.qs-signal .qaudio-stages [aria-current="step"] { outline: 2px solid var(--signal-focus); outline-offset: 2px; }
html.qs-signal .qaudio-playback { width: 100%; height: 8px; accent-color: var(--signal-primary); margin: 8px 0 16px; }
html.qs-signal .qaudio-playback::-webkit-progress-bar { background: var(--signal-soft); border-radius: 8px; }
html.qs-signal .qaudio-playback::-webkit-progress-value { background: var(--signal-primary); border-radius: 8px; }
html.qs-signal .qaudio-playback::-moz-progress-bar { background: var(--signal-primary); }
html.qs-signal .qaudio-question-badge { display: inline-block; margin-top: 8px; padding: 2px 8px; border-radius: 6px; background: var(--signal-accent-soft); color: var(--signal-primary); font-size: 11px; }
html.qs-signal .qaudio-editor audio { width: 100%; }
html.qs-signal .qaudio-panel select { flex: 1 1 180px; max-width: 100%; }
html.qs-signal .signal-creator #editModal { width: min(800px,calc(100% - 24px)); }
html.qs-signal :is(.qaudio-panel,.qaudio-editor,.qaudio-unlock) [hidden],
html.qs-signal :is(.qaudio-panel,.qaudio-editor,.qaudio-unlock)[hidden] { display: none !important; }
@media (max-width: 600px) {
  html.qs-signal .qaudio-fields { grid-template-columns: minmax(0,1fr); }
  html.qs-signal .qaudio-panel { padding: 14px; }
}
html.qs-signal .qaudio-record-state { display: flex; align-items: center; gap: 10px; padding: 12px; margin: 10px 0; border: 1px solid var(--signal-danger); border-radius: 8px; color: var(--signal-danger); background: var(--signal-danger-bg); }
html.qs-signal .qaudio-record-dot { width: 10px; height: 10px; border-radius: 50%; background: #e53449; animation: qaudio-record-pulse 1.4s ease-in-out infinite; }
html.qs-signal .qaudio-record-time { font-variant-numeric: tabular-nums; font-weight: 650; }
html.qs-signal .qaudio-record-state.is-paused .qaudio-record-dot { animation: none; }
html.qs-signal .qaudio-record-state[hidden] { display: none; }
@keyframes qaudio-record-pulse { 50% { opacity: .35; } }
@media (prefers-reduced-motion: reduce) { html.qs-signal .qaudio-record-dot { animation: none; } }
html.qs-signal .signal-host-live .qaudio-panel { padding: 10px 12px; margin: 8px 0; }
html.qs-signal .signal-host-live .qaudio-panel .qaudio-heading { font-size: 14px; margin-bottom: 4px; }
html.qs-signal .signal-host-live .qaudio-panel :is(.qaudio-status,.qaudio-reports) { margin: 4px 0; }
html.qs-signal .signal-host-live .qaudio-reports { max-height: 40px; overflow-y: auto; }
html.qs-signal .signal-host-live .qaudio-stages { margin: 6px 0; }
html.qs-signal .signal-host-live .qaudio-playback { height: 5px; margin: 4px 0; }
html.qs-signal .signal-host-live .qaudio-unlock { padding: 8px; margin: 4px 0 8px; }

/* Editor disclosure and existing configuration controls, grouped without data changes. */
html.qs-signal .qaudio-editor { padding: 0; }
html.qs-signal .qaudio-editor > summary { display: flex; align-items: center; gap: 10px; padding: 12px 14px; cursor: pointer; list-style: none; font-weight: 650; }
html.qs-signal .qaudio-editor > summary::-webkit-details-marker { display: none; }
html.qs-signal .qaudio-editor > summary::before { content: "+"; color: var(--signal-primary); font-size: 20px; }
html.qs-signal .qaudio-editor[open] > summary::before { content: "−"; }
html.qs-signal .qaudio-editor > summary:focus-visible { outline: 2px solid var(--signal-focus); outline-offset: 2px; border-radius: 10px; }
html.qs-signal .qaudio-editor[data-recording="true"] .qaudio-summary-count { color: var(--signal-danger); }
html.qs-signal .qaudio-summary-count { margin-left: auto; color: var(--signal-primary); white-space: nowrap; font-size: 12px; }
html.qs-signal .qaudio-editor-content { padding: 0 14px 12px; border-top: 1px solid var(--signal-divider); }
html.qs-signal .qaudio-editor label { margin: 6px 0; }
html.qs-signal .qaudio-media-tools { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 8px 16px; align-items: start; }
html.qs-signal .qaudio-media-tools > .qaudio-actions { padding-top: 6px; }
html.qs-signal .qaudio-media-tools > :is(.qaudio-library,.qaudio-recording,.qaudio-record-state) { grid-column: 1 / -1; }
html.qs-signal .qaudio-library { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; margin: 0 0 8px; }
html.qs-signal .qaudio-library select { width: auto; flex: 1 1 220px; }
html.qs-signal .qaudio-edit-clip { padding-top: 10px; }
html.qs-signal .qaudio-clip-meta { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,2fr); gap: 4px 12px; }
html.qs-signal .qaudio-duration { grid-column: 1 / -1; margin: 0 0 6px; }
html.qs-signal .qaudio-fields { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
html.qs-signal .qaudio-stage-heading { font-weight: 650; margin: 8px 0; }
html.qs-signal .qaudio-stage-heading span { color: var(--signal-muted); font-size: 12px; font-weight: 400; }
html.qs-signal .qaudio-stage-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 6px 12px; max-height: 180px; overflow-y: auto; }
html.qs-signal .qaudio-stage-row { display: flex; align-items: end; gap: 6px; min-width: 0; }
html.qs-signal .qaudio-stage-row label { flex: 1; min-width: 0; margin: 0; }
html.qs-signal .qaudio-stage-row button { flex-shrink: 0; margin-bottom: 0; }
html.qs-signal .qaudio-stage-add { display: flex; align-items: end; gap: 8px; flex-wrap: wrap; margin: 8px 0; }
html.qs-signal .qaudio-stage-add label { width: min(180px,100%); margin: 0; }
html.qs-signal .qaudio-stage-advanced { margin: 8px 0; color: var(--signal-muted); }
html.qs-signal .qaudio-stage-advanced summary { cursor: pointer; font-size: 12px; }
html.qs-signal .qaudio-preview-stages { margin: 8px 0; }
html.qs-signal .qaudio-editor :is(.qaudio-actions,.qaudio-preview-stages) { gap: 6px; }
html.qs-signal .qaudio-editor .qs-signal-btn { min-height: 40px; padding: 8px 10px; }
html.qs-signal .signal-creator #editModal { width: min(960px,calc(100% - 24px)); display: flex; flex-direction: column; overflow: hidden; }
html.qs-signal .signal-creator #editModal .modalBody { min-height: 0; overflow-y: auto; padding: 16px; }
html.qs-signal .signal-creator #editModal :is(.modalHead,.modalFoot) { flex-shrink: 0; padding: 12px 16px; }
html.qs-signal .signal-creator #editModalInput { min-height: 100px; max-height: 200px; }
html.qs-signal .signal-host-live .host-question-body { min-height: 48px; }
html.qs-signal .signal-host-live .qaudio-panel { flex: 0 1 auto; min-height: 88px; max-height: min(240px,32dvh); overflow-y: auto; margin: 0; }
@media (max-width: 700px) {
  html.qs-signal .qaudio-media-tools { grid-template-columns: minmax(0,1fr); }
  html.qs-signal .qaudio-fields { grid-template-columns: repeat(2,minmax(0,1fr)); }
  html.qs-signal .qaudio-stage-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
  html.qs-signal .qaudio-clip-meta { grid-template-columns: minmax(0,1fr); }
  html.qs-signal .qaudio-editor .qs-signal-btn { min-height: 44px; }
}
@media (max-width: 600px) {
  html.qs-signal .signal-host-live .board { height: max(460px,70dvh); }
}
@media (max-width: 380px) {
  html.qs-signal .qaudio-fields, html.qs-signal .qaudio-stage-list { grid-template-columns: minmax(0,1fr); }
}
