/* Studio-only control shell. Heights are measured so wrapping, theme and
   browser zoom cannot put the editor or inspector underneath the controls. */
.studio-page { --studio-nav-height: 76px; --studio-controls-bottom: 210px; }
body:has(.studio-page) .theme-toggle-button[data-tooltip]::after { left: auto; right: 0; }
.studio-sticky-controls {
  position: sticky;
  top: var(--studio-nav-height);
  z-index: 110;
  margin-bottom: 16px;
  background: var(--surface-1);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  box-shadow: var(--elev-0);
}

.studio-sticky-controls .workspace-identity {
  margin: 0;
  border: 0;
  border-radius: var(--r-lg) var(--r-lg) 0 0;
}
.studio-editor-controls {
  display: none;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  padding: 10px 16px;
  border-top: 1px solid var(--line);
}
body.has-manuscript-editor .studio-editor-controls { display: flex; }
.studio-directory-toggle { display: inline-flex; gap: 8px; align-items: center; min-width: 0; }
#manuscriptCurrentSection { max-width: 28ch; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.studio-editor-controls .manuscript-directory-actions { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; flex: 1; }
.studio-editor-controls .manuscript-directory-actions button { width: auto; }
.studio-editor-controls #manuscriptInspectorToggle { display: none; }
.studio-sticky-controls .manuscript-directory {
  display: none;
  position: absolute;
  inset: calc(100% + 6px) auto auto 0;
  width: min(360px, 100%);
  max-height: max(120px, calc(100dvh - var(--studio-controls-bottom) - 24px));
  z-index: 2;
  grid-template-columns: minmax(0, 1fr);
  border-radius: var(--r-lg);
  box-shadow: 0 12px 32px rgb(0 0 0 / 16%);
}
body.is-manuscript-directory-open .studio-sticky-controls .manuscript-directory { display: grid; }
.studio-page .manuscript-mobile-scrim { position: fixed; inset: var(--studio-controls-bottom) 0 0; z-index: 109; width: 100%; height: auto; border: 0; border-radius: 0; background: rgb(0 0 0 / 25%); }
.studio-page .manuscript-layout { grid-template-columns: minmax(0, 1fr) minmax(280px, 320px); }
.studio-page .manuscript-body { width: 100%; justify-self: center; }
.studio-page .manuscript-inspector {
  position: sticky;
  top: calc(var(--studio-controls-bottom) + 12px);
  grid-column: auto;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  max-height: calc(100dvh - var(--studio-controls-bottom) - 24px);
}
.studio-page .manuscript-inspector .current-section-bar { grid-template-columns: minmax(0, 1fr); }
.studio-page #timelinePanel,
.studio-page .manuscript-body .timeline-row { scroll-margin-top: calc(var(--studio-controls-bottom) + 16px); }
@media (max-width: 1120px) {
  body:has(.studio-page) .app-nav { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 10px; }
  body:has(.studio-page) .app-nav-title,
  body:has(.studio-page) .app-nav-divider { display: none; }
  .studio-page .manuscript-layout { grid-template-columns: minmax(0, 1fr); }
  .studio-editor-controls #manuscriptInspectorToggle { display: inline-flex; }
  .studio-page .manuscript-inspector { display: none; position: fixed; z-index: 112; inset: calc(var(--studio-controls-bottom) + 8px) 12px 12px auto; width: min(360px, calc(100vw - 24px)); }
  body.is-manuscript-inspector-open .studio-page .manuscript-inspector { display: grid; }
  body.is-manuscript-inspector-open .studio-page .manuscript-mobile-scrim { z-index: 109; }
}
@media (max-width: 640px) {
  /* Legacy overflow-x:hidden also computes overflow-y:auto, creating a body
     scroll container that prevents both navigation and controls from sticking. */
  html:has(.studio-page):not(:has(body.has-open-modal)),
  body:has(.studio-page):not(.has-open-modal) { overflow-x: clip; overflow-y: visible; }
  .studio-page { overflow: visible; }
}
@media (max-width: 600px) {
  /* Keep the page itself from becoming an overflow scrolling ancestor of sticky. */
  body.has-manuscript-editor .studio-page { overflow: visible; }
  .studio-sticky-controls .workspace-identity { padding: 10px 12px; gap: 6px; }
  .studio-sticky-controls .workspace-identity-main { flex-basis: auto; }
  .studio-sticky-controls .workspace-audio-state { display: none; }
  .studio-sticky-controls .workspace-identity-actions { flex-basis: 100%; flex-wrap: wrap; }
  .studio-editor-controls { padding: 8px 10px; gap: 6px; }
  .studio-editor-controls .manuscript-directory-actions { order: 3; flex-basis: 100%; }
  .studio-editor-controls #manuscriptInspectorToggle { margin-left: auto; }
  #manuscriptCurrentSection { max-width: 16ch; }
  .studio-page .manuscript-inspector { inset: auto 0 0; width: 100%; max-height: min(58dvh, calc(100dvh - var(--studio-controls-bottom) - 12px)); }
}

/* All former sidebar actions now share the file identity's single toolbar. */
.studio-page .workspace-layout { grid-template-columns: minmax(0, 1fr); }
.studio-page #workspaceSidebar { display: none !important; }
.studio-sticky-controls { display: flex; align-items: center; flex-wrap: wrap; }
.studio-sticky-controls .workspace-identity { flex: 1 1 180px; padding: 12px 16px; min-width: 0; }
.studio-sticky-controls .workspace-audio-state { display: none; }
.studio-sticky-controls .workspace-identity-actions { display: none; }
.studio-sticky-controls .studio-editor-controls { display: flex; flex: 0 1 auto; flex-wrap: wrap; gap: 8px; padding: 10px 12px; border-top: 0; }
.studio-sticky-controls .studio-action-group { display: flex; align-items: center; flex-wrap: wrap; gap: 4px; margin: 0; flex: 0 0 auto; }
.studio-action-group + .studio-action-group { padding-left: 8px; border-left: 1px solid var(--line); }
.studio-tool { display: inline-flex; border-radius: var(--r-md); }
.studio-tool:has(button.hidden) { display: none !important; }
.studio-tool:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.studio-sticky-controls .studio-icon-button { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 36px; min-width: 36px; height: 36px; padding: 0; border-radius: var(--r-md); border: 1px solid transparent; background: transparent; color: var(--ink); }
.studio-sticky-controls .studio-icon-button:hover { background: var(--accent-soft); border-color: var(--line); }
.studio-sticky-controls .studio-icon-button:disabled { color: var(--muted); opacity: .5; cursor: not-allowed; }
.studio-sticky-controls .studio-icon-button.danger-ghost { color: var(--danger, #b42318); }
.studio-sticky-controls #parseGenerateAllButton { color: var(--accent); background: var(--accent-soft); }
.studio-action-label { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.studio-action-tooltip { position: fixed; z-index: 3201; max-width: min(340px, calc(100vw - 16px)); padding: 8px 10px; border: 1px solid var(--line); border-radius: var(--r-md); color: var(--ink); background: var(--surface-1); font-size: 12px; line-height: 1.5; pointer-events: none; }
.studio-current-section { display: none; }
.studio-sticky-controls #studioMoreToggle { display: none; }
.studio-more-panel { position: absolute; z-index: 3; top: calc(100% + 6px); right: 0; width: min(300px, 100%); max-height: calc(100dvh - var(--studio-controls-bottom) - 16px); overflow: auto; padding: 8px; border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--surface-1); }
.studio-more-panel .studio-tool { display: flex; width: 100%; }
.studio-disabled-note { display: none; }
.studio-more-panel .studio-tool { flex-direction: column; }
.studio-more-panel .studio-disabled-note { display: block; padding: 0 10px 8px 38px; color: var(--muted); font-size: 12px; line-height: 1.5; }
.studio-more-panel .studio-icon-button { justify-content: flex-start; gap: 10px; width: 100%; height: auto; min-height: 42px; padding: 8px 10px; }
.studio-more-panel .studio-action-label { position: static; width: auto; height: auto; overflow: visible; clip-path: none; white-space: normal; font-size: 13px; }
.studio-icon-button.is-generating .btn-icon { animation: studio-generating 1.5s linear infinite; }
@keyframes studio-generating { to { transform: rotate(360deg); } }
@media (min-width: 1121px) { .studio-tool:has(#manuscriptInspectorToggle) { display: none; } }
@media (max-width: 640px) {
  body:has(.studio-page) { padding-bottom: 0; }
  body:has(.studio-page) .app-nav { flex-wrap: nowrap; gap: 6px; padding-inline: 10px; }
  body:has(.studio-page) .app-nav .landing-brand { flex: 1; min-width: 0; gap: 6px; }
  body:has(.studio-page) .app-nav .landing-brand > span:last-child { min-width: 0; }
  body:has(.studio-page) .app-nav .landing-brand strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
  body:has(.studio-page) .app-nav .landing-brand-mark { width: 28px; height: 28px; flex-shrink: 0; }
  body:has(.studio-page) .app-nav .landing-nav-actions { gap: 6px; flex-shrink: 0; }
  .studio-sticky-controls .workspace-identity { flex: 1 1 100%; padding: 10px 12px 6px; }
  .studio-sticky-controls .studio-editor-controls { flex: 1 1 100%; flex-wrap: nowrap; justify-content: space-between; padding: 6px 10px 10px; gap: 4px; }
  .studio-sticky-controls .studio-action-group { flex: 0 0 auto; flex-basis: auto; gap: 2px; order: 0; }
  .studio-action-group + .studio-action-group { padding-left: 4px; }
  .studio-sticky-controls .studio-icon-button { width: 40px; min-width: 40px; height: 40px; }
  .studio-sticky-controls #studioMoreToggle { display: inline-flex; }
  .studio-sticky-controls .studio-more-panel .studio-icon-button { width: 100%; height: auto; }
}
@media (prefers-reduced-motion: reduce) { .studio-icon-button.is-generating .btn-icon { animation: none; } }

/* Preparation: compact defaults above the full-width manuscript. */
.studio-page #importBody.workspace-grid { grid-template-columns: minmax(0, 1fr); gap: 24px; max-width: 1160px; margin-inline: auto; }
.studio-page #importPanel h2 { font-size: 24px; }
.studio-page #preparationVoiceSettings { gap: 10px; }
.studio-page #preparationVoiceBody { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px 20px; }
.studio-page #preparationVoiceBody[hidden] { display: none; }
.studio-page #preparationVoiceBody .voice-block { grid-template-columns: minmax(0, 1fr) 88px 36px; padding: 0; gap: 8px; border: 0; }
.studio-page #preparationVoiceBody .voice-block label { font-size: 13px; gap: 6px; min-width: 0; }
.studio-page #preparationVoiceBody select, .studio-page #preparationVoiceBody .custom-select-trigger { min-height: 38px; height: 38px; font-size: 13px; padding-inline: 10px; }
.studio-page #preparationVoiceBody .top-preview { height: 38px; min-height: 38px; width: 36px; padding: 0; justify-content: center; }
.studio-page #preparationVoiceBody .studio-action-label { display: none; }
.studio-page #preparationVoiceBody .question-prompt-block { grid-column: 1 / -1; grid-template-columns: minmax(0, 1fr) 36px; align-items: center; border-top: 1px solid var(--line-soft); padding-top: 10px; }
.studio-page #preparationVoiceBody .question-prompt-toggle { display: flex; flex-direction: row; align-items: center; gap: 12px; }
.studio-page #preparationVoiceBody .question-prompt-checkbox { display: inline-flex; align-items: center; gap: 8px; }
.preparation-settings-actions { display: flex; gap: 6px; flex-shrink: 0; }
.preparation-voice-summary { margin: 6px 0 0; color: var(--muted); font-size: 13px; line-height: 1.6; }
.studio-page .preparation-input-tools { display: flex; gap: 16px; flex-wrap: wrap; align-items: center; justify-content: space-between; }
.studio-page .preparation-input-tools .photo-ocr-actions { gap: 10px; }
.studio-page .preparation-input-tools .photo-ocr-actions span { font-size: 12px; }
.studio-page .preparation-input-tools .normalize-bar { padding: 0; border: 0; background: transparent; gap: 10px; flex: 1; justify-content: flex-end; }
.studio-page .preparation-input-tools .normalize-bar-status { gap: 6px; }
.studio-page .preparation-input-tools .normalize-bar-text strong { display: none; }
.studio-page .preparation-input-tools .normalize-bar-text span { font-size: 12px; }
.studio-page .raw-input-block #rawText { min-height: 280px; height: 300px; resize: vertical; font-size: 15px; line-height: 1.75; padding: 16px; }
.preparation-input-footer { display: flex; justify-content: space-between; align-items: start; gap: 16px; }
.studio-page .preparation-input-footer .parse-actions { margin: 0; }
.question-editor-mode { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin-bottom: 16px; }
.question-editor-mode span { color: var(--muted); font-size: 12px; }
.question-editor-mode button[aria-pressed="true"] { background: #edf4ff; color: #2454d6; border-color: #bbd0ff; }
.studio-page .timeline-row.is-question-text-row { display: block; padding: 18px; background: white; border: 1px solid var(--line-soft); border-radius: 12px; }
.question-text-head, .question-text-head > div, .question-text-passbar, .question-text-parameters { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.question-text-head { justify-content: space-between; margin-bottom: 12px; }
.question-text-head > div:first-child { flex-direction: column; align-items: flex-start; gap: 3px; }
.question-text-head span, .question-text-passbar > span { color: var(--muted); font-size: 12px; }
.question-text-passbar { margin-bottom: 10px; }
.question-text-passbar label { display: flex; align-items: center; gap: 6px; font-size: 12px; }
.question-text-passbar select { width: 90px; }
.studio-page textarea.question-whole-text { display: block; width: 100%; min-height: 140px; resize: vertical; padding: 14px; line-height: 1.8; font-size: 15px; background: #fff; border: 1px solid #d8dde6; border-radius: 8px; }
.studio-page textarea.question-whole-text:focus { border-color: #5b8def; box-shadow: 0 0 0 3px #e9f0ff; }
.studio-page textarea.question-whole-text[readonly] { background: #f6f7f9; color: #687182; }
.question-text-feedback { color: #9a6500; font-size: 12px; margin-top: 6px; }
.question-text-feedback:empty { display: none; }
.question-text-draft-actions { display: flex; gap: 8px; margin-top: 8px; }
.question-text-draft-actions[hidden] { display: none; }
.question-text-parameters { margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--line-soft); font-size: 12px; color: var(--muted); }
.question-text-parameters label { display: flex; align-items: center; gap: 4px; }
.question-text-parameters input { width: 66px; min-height: 30px; padding: 4px 6px; font-size: 12px; }
@media (max-width: 1000px) {
  .studio-page #preparationVoiceBody { grid-template-columns: 1fr; gap: 12px; }
  .studio-page #preparationVoiceBody .voice-block { grid-template-columns: minmax(0, 1fr) 88px 36px; }
}
@media (max-width: 640px) {
  .studio-page #importPanel h2 { font-size: 21px; }
  .studio-page .preparation-input-tools { gap: 10px; }
  .studio-page .preparation-input-tools .normalize-bar { flex-basis: 100%; justify-content: space-between; flex-wrap: wrap; }
  .studio-page .preparation-input-tools .normalize-bar-status { flex: 1; }
  .preparation-input-footer { flex-wrap: wrap; }
  .studio-page .preparation-input-footer .parse-actions { width: 100%; }
  .studio-page .raw-input-block #rawText { height: 260px; min-height: 240px; }
  .studio-page #preparationVoiceBody .question-prompt-toggle { flex-wrap: wrap; gap: 6px; }
  .studio-page .timeline-row.is-question-text-row { padding: 12px; }
  .question-editor-mode span { flex-basis: 100%; }
}
.is-question-text-editor .studio-page #manuscriptSelectionToolbar { display: none; }
.question-text-passbar label > span { white-space: nowrap; }
.question-saved-preview { width: 100%; height: 38px; margin-top: 10px; }
.question-saved-preview[hidden] { display: none; }
@media (max-width: 1000px) {
  .studio-page #preparationVoiceBody .question-prompt-block { grid-template-columns: minmax(0, 1fr) 36px; }
}
@media (max-width: 640px) {
  .question-text-head [data-question-preview] { width: 36px; min-height: 34px; padding: 8px; font-size: 0; gap: 0; }
  .question-text-head [data-question-preview] .btn-icon { width: 16px; height: 16px; }
  .question-text-head > div:last-child { gap: 6px; }
}
.studio-page .preparation-input-tools .normalize-bar.is-warn .normalize-bar-text strong,
.studio-page .preparation-input-tools .normalize-bar.is-running .normalize-bar-text strong { display: block; font-size: 12px; }

/* Control hierarchy: form fields, quiet actions and underlined view choices. */
.studio-page :is(#importBody, .manuscript-layout) :is(select, input[type="number"], .cx-select-button) {
  border-radius: 6px;
  font-weight: 400;
  box-shadow: none;
}
.studio-page #preparationVoiceBody .cx-select-button { height: 38px; min-height: 38px; padding: 0 10px; font-size: 13px; }
.studio-page :is(#importBody, .manuscript-layout) .cx-select-panel { border-radius: 8px; }
.studio-page :is(#importBody, .manuscript-layout) .cx-select-option { border-radius: 4px; font-weight: 400; }
.studio-page :is(#importBody, .manuscript-layout) .cx-select-button:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.studio-page .question-format-control { padding: 0; border: 0; border-radius: 0; background: transparent; gap: 6px; }
.studio-page .question-format-control > span { padding: 0; background: transparent; color: var(--muted); font-weight: 400; }
.studio-page .question-format-control .cx-select { flex: 0 0 108px; min-width: 108px; }
.studio-page .question-format-control .cx-select-button { border-radius: 6px; min-height: 34px; height: 34px; font-size: 12px; }
.studio-page .question-editor-mode { gap: 16px; border-bottom: 1px solid var(--line-soft); padding-bottom: 0; }
.studio-page .question-editor-mode button,
.studio-page .question-pass-tabs button {
  border: 0; border-bottom: 2px solid transparent; border-radius: 0;
  color: var(--muted); background: transparent; box-shadow: none;
  padding: 8px 2px; min-height: 36px; font-size: 13px; font-weight: 400;
}
.studio-page .question-editor-mode button[aria-pressed="true"],
.studio-page .question-pass-tabs button[aria-pressed="true"] {
  border-color: var(--accent); color: var(--accent); background: transparent; font-weight: 600;
}
.studio-page .question-editor-mode button:hover:not(:disabled),
.studio-page .question-pass-tabs button:hover:not(:disabled) { color: var(--ink); background: var(--surface-2); }
.studio-page .question-editor-mode > span { margin-left: auto; font-weight: 400; }
.question-pass-tabs { display: none; gap: 14px; align-items: center; }
.question-text-passbar.has-pass-tabs .question-pass-tabs { display: inline-flex; }
.question-text-passbar.has-pass-tabs .question-pass-select { display: none; }
.question-text-passbar.is-single-pass .question-pass-tabs { display: none; }
.question-text-passbar.is-single-pass .question-pass-caption { display: none; }
.control-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.question-pass-caption { color: var(--muted); font-size: 12px; }
.studio-page :is(.preparation-settings-actions, .question-text-passbar, .question-text-parameters, .question-text-draft-actions) .ghost,
.studio-page :is(#toggleImportPanelButton, #editRawTextButton, #normalizeIssuesButton, #restoreRawTextButton, [data-question-preview]) {
  padding: 6px 8px; min-height: 34px; border: 1px solid transparent; border-radius: 4px;
  background: transparent; box-shadow: none; color: var(--muted); font-size: 13px; font-weight: 400;
}
.studio-page :is(.preparation-settings-actions, .question-text-passbar, .question-text-parameters, .question-text-draft-actions) .ghost:hover:not(:disabled),
.studio-page :is(#toggleImportPanelButton, #editRawTextButton, #normalizeIssuesButton, #restoreRawTextButton, [data-question-preview]):hover:not(:disabled) { background: var(--surface-2); color: var(--ink); }
.studio-page .question-text-draft-actions [data-question-apply] { color: var(--accent); }
.studio-page [data-question-detail] { gap: 4px; margin-left: auto; }
.studio-page [data-question-detail] .btn-icon { width: 14px; height: 14px; }
.studio-page .question-text-passbar > span:not(.question-pass-caption) { font-weight: 400; }
.studio-page .question-delete-icon { width: 34px; height: 34px; min-height: 34px; padding: 8px; border: 1px solid transparent; border-radius: 4px; background: transparent; color: var(--muted); box-shadow: none; }
.studio-page .question-delete-icon:hover, .studio-page .question-delete-icon:focus-visible { background: #fff0f0; color: var(--danger, #b42318); }
.studio-page .question-delete-icon .btn-icon { width: 16px; height: 16px; }
.studio-page #preparationVoiceBody .top-preview { border: 1px solid transparent; border-radius: 4px; background: transparent; color: var(--muted); }
.studio-page #preparationVoiceBody .top-preview:hover { background: var(--surface-2); color: var(--ink); }
.studio-page .question-text-parameters { gap: 10px; }
.studio-page .question-text-parameters > span::after { content: ' ·'; padding-left: 8px; }
.studio-page .question-text-parameters input { width: 60px; height: 30px; border: 1px solid var(--line); border-radius: 4px; background: var(--surface-1); font-weight: 400; }
.studio-page .section-repeat-control { padding: 0; border: 0; border-radius: 0; background: transparent; }
.studio-page .cx-segmented { border: 0; border-radius: 0; padding: 0; gap: 2px; background: transparent; box-shadow: none; }
.studio-page .cx-segmented-option { border: 0; border-bottom: 2px solid transparent; border-radius: 0; padding: 6px; background: transparent; font-weight: 400; box-shadow: none; }
.studio-page .cx-segmented-option.is-selected { border-color: var(--accent); background: transparent; color: var(--accent); font-weight: 600; }
.studio-page #normalizeToggleButton { min-height: 36px; padding: 4px 0 4px 8px; border: 0; border-radius: 0; background: transparent; color: var(--ink); font-size: 13px; font-weight: 400; gap: 8px; box-shadow: none; }
.studio-page #normalizeToggleButton::after { content: ''; width: 30px; height: 18px; flex: 0 0 30px; border-radius: 9px; background: radial-gradient(circle at 9px 9px, white 6px, transparent 7px), #b9bec7; }
.studio-page #normalizeToggleButton[aria-pressed="true"]::after { background: radial-gradient(circle at 21px 9px, white 6px, transparent 7px), var(--accent); }
.studio-page :is(#parseButton, #generateCurrentSectionButton, #photoOcrButton) { border-radius: 6px; }
.studio-page .studio-tool, .studio-page .studio-icon-button { border-radius: 6px; }
@media (max-width: 640px) {
  .studio-page .question-editor-mode { gap: 16px; }
  .studio-page .question-editor-mode > span { margin: 0; padding-bottom: 8px; }
  .studio-page .preparation-settings-actions { gap: 2px; }
  .studio-page .preparation-settings-actions .ghost { padding-inline: 4px; font-size: 12px; }
  .studio-page #timelineOutput .question-text-head [data-question-preview] { width: 34px; min-height: 34px; padding: 8px; font-size: 0; gap: 0; }
}
@media (max-width: 640px) {
  .question-text-passbar.has-pass-tabs .question-pass-tabs { display: none; }
  .question-text-passbar.has-pass-tabs:not(.is-single-pass) .question-pass-select { display: flex; }
  .studio-page .question-text-passbar { gap: 8px; }
}
.studio-page #normalizeToggleButton { display: inline-flex; align-items: center; }
.studio-page #normalizeToggleButton::after { display: block; }
.studio-page .question-text-passbar .question-pass-tabs button { border: 0; border-bottom: 2px solid transparent; border-radius: 0; padding: 6px 2px; background: transparent; }
.studio-page .question-text-passbar .question-pass-tabs button[aria-pressed="true"] { border-bottom-color: var(--accent); color: var(--accent); font-weight: 600; }

/* Dialogs own the foreground; background controls never cross the scrim. */
body:has(.studio-page) .modal-shell { z-index: 2400; }
body:has(.studio-page) .modal-backdrop { background: rgb(0 0 0 / 32%); backdrop-filter: blur(3px); }
body:has(.studio-page) .modal-panel { background: var(--surface-1); border: 1px solid var(--line); border-radius: var(--r-lg); box-shadow: none; }
body:has(.studio-page) .toast-region { top: auto; bottom: max(24px, env(safe-area-inset-bottom)); z-index: 2300; }
body.has-open-modal:has(.studio-page) :is(.toast-region, .studio-action-tooltip) { display: none; }
body:has(.studio-page) .modal-status-message { margin: 0 0 16px; padding: 10px 12px; border-left: 3px solid var(--accent); background: var(--accent-soft); color: var(--ink); font-size: 13px; line-height: 1.6; }
body:has(.studio-page) .modal-status-message[data-type="error"] { border-left-color: var(--danger); background: var(--danger-soft); }
@media (max-width: 640px) {
  body:has(.studio-page) .toast-region { right: 12px; width: calc(100vw - 24px); bottom: calc(72px + env(safe-area-inset-bottom)); }
}

/* One quiet workspace status replaces routine production toasts. */
.studio-feedback { display: flex; align-items: flex-start; gap: 12px; margin: 0 0 12px; color: var(--muted); font-size: 12px; line-height: 1.6; }
.studio-feedback[hidden] { display: none; }
.studio-feedback-text { flex: 1; min-width: 0; margin: 0; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.studio-feedback[data-type="error"] .studio-feedback-text { color: var(--danger); }
.studio-feedback-details { flex: 0 0 auto; max-width: min(440px, 55%); }
.studio-feedback-details summary { cursor: pointer; white-space: nowrap; }
.studio-feedback-details ol { margin: 8px 0; padding-left: 18px; max-height: 240px; overflow-y: auto; }
.studio-feedback-details li { margin-bottom: 6px; overflow-wrap: anywhere; }
@media (max-width: 640px) {
  .studio-feedback { flex-wrap: wrap; gap: 4px; }
  .studio-feedback-text { flex-basis: 100%; }
  .studio-feedback-details { max-width: 100%; }
}

/* Account forms share one compact hierarchy and native form semantics. */
body:has(.studio-page) .auth-dialog {
  width: min(420px, calc(100vw - 32px)); margin: min(12vh, 88px) auto;
  max-height: calc(100dvh - 48px); padding: 24px; border-radius: var(--r-lg);
}
body:has(.studio-page) .auth-register-dialog { width: min(640px, calc(100vw - 32px)); margin: 24px auto; }
.auth-dialog .modal-head { margin: 0 0 10px; align-items: center; }
.auth-dialog .modal-head h2 { margin: 0; font-size: 24px; line-height: 1.3; }
.auth-dialog .auth-intro { margin: 0 0 22px; font-size: 13px; line-height: 1.6; color: var(--muted); }
.auth-form { display: grid; gap: 16px; }
.auth-dialog .field { display: grid; align-content: start; gap: 7px; margin: 0; font-size: 13px; line-height: 1.5; color: var(--ink); }
.auth-dialog :is(input:not([type="checkbox"]), .password-input-wrap) { width: 100%; min-width: 0; box-sizing: border-box; }
.auth-dialog input:not([type="checkbox"]) { min-height: 42px; border: 1px solid var(--line); border-radius: var(--r-md); background: var(--surface-1); color: var(--ink); padding: 10px 12px; font-size: 14px; }
.auth-dialog .password-input-wrap input { padding-right: 44px; }
.auth-dialog input[aria-invalid="true"] { border-color: var(--danger); }
.auth-fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.auth-fieldset + .auth-fieldset { padding-top: 16px; border-top: 1px solid var(--line); }
.auth-fieldset legend { margin-bottom: 12px; padding: 0; color: var(--ink); font-size: 14px; font-weight: 600; }
.auth-field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.auth-field-hint { margin: 0; color: var(--muted); font-size: 11px; font-weight: 400; line-height: 1.5; }
.auth-sms-notice { margin-top: 10px; color: var(--accent); }
.auth-dialog .inline-field-action { gap: 6px; }
.auth-dialog #sendRegisterSmsCodeButton { min-height: 42px; padding: 8px; font-size: 12px; border: 1px solid var(--line); border-radius: var(--r-md); }
.auth-dialog .auth-primary-button { width: 100%; min-height: 44px; font-size: 14px; border-radius: var(--r-md); }
.auth-dialog .auth-switch { margin: 0; text-align: center; color: var(--muted); font-size: 13px; }
.auth-dialog .text-link-button { padding: 0 4px; min-height: 28px; color: var(--accent); border: 0; background: transparent; text-decoration: none; }
.auth-dialog .text-link-button:hover { text-decoration: underline; }
.auth-dialog .auth-help { font-size: 12px; color: var(--muted); }
.auth-dialog .auth-help summary { cursor: pointer; }
.auth-dialog .login-helper { margin: 8px 0 0; overflow-wrap: anywhere; font-size: 12px; }
.auth-form-notice { margin: 0; padding: 10px 12px; border-left: 3px solid var(--danger); background: var(--danger-soft); color: var(--danger); font-size: 13px; line-height: 1.5; }
.auth-form-footer { display: grid; gap: 12px; padding-top: 16px; border-top: 1px solid var(--line); background: var(--surface-1); }
.auth-dialog .agreement-checkbox { display: flex; align-items: flex-start; gap: 8px; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.8; }
.auth-dialog .agreement-checkbox input { flex: 0 0 auto; margin-top: 5px; accent-color: var(--accent); }
@media (max-width: 640px) {
  body:has(.studio-page) .auth-dialog { width: calc(100vw - 24px); margin: 12px auto; max-height: calc(100dvh - 24px); padding: 20px; }
  .auth-dialog .modal-head h2 { font-size: 22px; }
  .auth-field-grid { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .auth-dialog input:not([type="checkbox"]) { font-size: 16px; }
}

/* 智能整理在原稿内核对，避免叠加弹窗。 */
.normalize-mode-label { font-size: 12px; color: var(--muted); }
.studio-page .normalize-bar-actions { flex-wrap: nowrap; }
.studio-page .normalize-bar-actions .normalize-mode-label { display: inline; margin: 0; white-space: nowrap; }
.studio-page .normalize-bar-actions .cx-select { flex: 0 0 88px; width: 88px; min-width: 88px; }
.studio-page .normalize-bar-actions .cx-select-button { min-height: 34px; height: 34px; padding: 5px 8px; }
.studio-page #normalizeManualButton { white-space: nowrap; min-height: 34px; }
.normalize-bar-actions select { width: 88px; min-height: 34px; padding: 5px 8px; }
.normalize-review { border: 1px solid var(--line); padding: 16px; border-radius: 12px; margin: 12px 0; }
.normalize-review p { color: var(--muted); font-size: 13px; }
.normalize-review-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.normalize-review-columns label { display: grid; gap: 7px; font-size: 13px; min-width: 0; }
.normalize-review-columns textarea { width: 100%; height: 220px; min-height: 120px; font-size: 14px; }
.normalize-review-actions { display: flex; gap: 10px; margin-top: 12px; }
@media(max-width:640px) { .normalize-review-columns { grid-template-columns: 1fr; } .normalize-bar-actions { flex-wrap: wrap; } }
.studio-inline-help .studio-script-example {
  min-height: 0;
  height: auto;
  margin: 12px 0;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-2);
  color: var(--ink);
  font-size: 13px;
  line-height: 1.7;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.studio-inline-help ul {
  margin: 10px 0;
  padding-left: 20px;
  line-height: 1.7;
}
.studio-inline-help li + li { margin-top: 6px; }

/* Account popover stays underneath its trigger, separate from toolbar controls. */
body #appNavAccountMenu {
  left: auto;
  right: 0;
  top: calc(100% + 8px);
  width: min(208px, calc(100vw - 32px));
  min-width: 0;
  padding: 6px;
  gap: 2px;
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(28, 25, 23, 0.12);
  max-height: calc(100dvh - 96px);
  overflow-y: auto;
}
body #appNavAccountMenu .ghost.small {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  width: 100%;
  height: auto;
  min-height: 38px;
  margin: 0;
  padding: 8px 10px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: var(--ink);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.4;
  text-align: left;
  white-space: nowrap;
}
body #appNavAccountMenu .ghost.small.hidden { display: none; }
body #appNavAccountMenu .btn-icon {
  width: 18px;
  height: 18px;
  margin: 0;
  flex: 0 0 18px;
}
body #appNavAccountMenu #logoutButton {
  margin-top: 4px;
  border-top: 1px solid var(--line);
  border-radius: 0 0 6px 6px;
  padding-top: 12px;
}
body #appNavAccountMenu #deleteAccountButton { color: var(--danger); }
body #appNavAccountMenu .ghost.small:hover,
body #appNavAccountMenu .ghost.small:focus-visible { background: var(--surface-2); }
@media (max-width: 640px) {
  body #appNavAccountMenu .ghost.small { min-height: 42px; }
}

.reading-editor { width: 100%; min-width: 0; border: 1px solid var(--line); border-radius: 8px; background: var(--surface-1); }
.reading-editor:focus-within { border-color: var(--accent); box-shadow: 0 0 0 2px var(--accent-soft); }
.reading-tools { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 0; padding: 6px; border-bottom: 1px solid var(--line); border-radius: 7px 7px 0 0; background: var(--surface-2); }
.reading-tools-group { display: flex; align-items: center; flex-wrap: wrap; gap: 2px; padding: 0 5px; }
.reading-tools-group + .reading-tools-group { border-left: 1px solid var(--line); }
.studio-page .reading-tools button { display: inline-flex; align-items: center; justify-content: center; gap: 4px; width: auto; min-height: 30px; margin: 0; padding: 4px 6px; border: 0; border-radius: 4px; font-size: 12px; font-weight: 500; line-height: 1.5; color: var(--ink); background: transparent; white-space: nowrap; }
.reading-tools button svg { width: 15px; height: 15px; flex: none; }
.studio-page .reading-tools button:not(:disabled):hover, .studio-page .reading-tools button[aria-expanded="true"] { background: var(--surface-1); }
.studio-page .reading-tools button:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
.studio-page .reading-tools button:disabled { opacity: .4; cursor: not-allowed; }
.studio-page .reading-editor > textarea, .studio-page .reading-editor > textarea:focus { display: block; width: 100%; margin: 0; border: 0; border-radius: 0 0 7px 7px; box-shadow: none; outline: none; }
.reading-tools-help, .reading-tools-hint { padding: 8px 12px; border-top: 1px solid var(--line); color: var(--muted); font-size: 12px; line-height: 1.6; }
.reading-tools-help p { margin: 4px 0; }
.reading-tools-help[hidden], .reading-tools-hint[hidden] { display: none; }
.studio-inline-help h4 { margin: 12px 0 6px; font-size: 13px; color: var(--ink); }
.studio-inline-help .reading-format-help { margin: 12px 0; padding-top: 10px; border-top: 1px solid var(--line); }
@media (max-width: 640px) {
  .reading-tools-group { padding: 0 3px; }
  .studio-page .reading-tools button { min-height: 34px; padding: 5px; }
}

/* Select controls stay neutral; generic primary-button hover rules must not recolor them. */
body:has(#rawText) .cx-select-button {
  color: var(--ink);
  background: var(--surface-1);
}
body:has(#rawText) .cx-select-button:hover:not(:disabled),
body:has(#rawText) .cx-select-button:active:not(:disabled),
body:has(#rawText) .cx-select.is-open > .cx-select-button {
  color: var(--ink);
  background: var(--surface-2);
  border-color: var(--accent);
  transform: none;
  box-shadow: none;
}
body:has(#rawText) .cx-select-button .btn-icon { color: currentColor; }
body:has(#rawText) .cx-select-option {
  /* The generic dark primary-button rule declares its foreground !important. */
  color: var(--ink) !important;
  background: transparent;
}
body:has(#rawText) .cx-select-option:hover:not(:disabled),
body:has(#rawText) .cx-select-option.is-active,
body:has(#rawText) .cx-select-option.is-selected {
  color: var(--ink) !important;
  background: var(--accent-soft);
  transform: none;
  box-shadow: none;
}
body:has(#rawText) .cx-select-option.is-selected { font-weight: 600; }

/* One editor surface, with defaults shared by raw and question views. */
.studio-page .studio-editor-workspace { padding: 18px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface-1); }
.studio-page #studioEditorWorkspace > :is(#importPanel, #timelinePanel) { margin: 0; padding: 0; border: 0; background: transparent; box-shadow: none; }
.studio-page #studioEditorWorkspace > :is(#importPanel, #timelinePanel) > .card { margin: 0; padding: 16px 0 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.studio-page #preparationVoiceSettings { padding-bottom: 12px; border-bottom: 1px solid var(--line); }
.studio-page #preparationVoiceSettings .import-section-head { gap: 12px; align-items: center; margin: 0; }
.studio-page #preparationVoiceSettings .import-section-head > div:first-child { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 14px; flex: 1; min-width: 0; }
.studio-page #preparationVoiceSettings h3 { margin: 0; font-size: 13px; white-space: nowrap; }
.studio-page #preparationVoiceSummary { display: flex; flex-wrap: wrap; gap: 6px 12px; margin: 0; font-size: 12px; }
.studio-page #preparationVoiceSummary span { max-width: 180px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.studio-page #preparationVoiceBody { margin-top: 14px; }
.studio-page .default-voice-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; font-size: 12px; color: var(--muted); }
.studio-page .default-voice-apply { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding: 12px; border: 1px solid var(--line); border-radius: 6px; background: var(--surface-2); font-size: 13px; }
.studio-page .default-voice-apply label { display: inline-flex; align-items: center; gap: 6px; }
.studio-page #defaultVoiceApplyPreview { flex-basis: 100%; margin: 0; font-size: 12px; color: var(--ink); }
.studio-page :is(.default-voice-footer, .default-voice-apply)[hidden] { display: none; }
.studio-page #importPanel.is-collapsed .import-summary { margin: 0; padding: 0; border: 0; background: transparent; }
.studio-page #studioEditorWorkspace #timelinePanel .section-head h2 { font-size: 18px; }
@media (max-width: 640px) {
  .studio-page .studio-editor-workspace { padding: 12px; }
  .studio-page #preparationVoiceSettings .import-section-head { flex-wrap: wrap; }
  .studio-page .preparation-settings-actions { flex-wrap: wrap; }
  .studio-page #preparationVoiceSummary span { max-width: 145px; }
  .studio-page .default-voice-footer { align-items: start; flex-wrap: wrap; }
}

@media (max-width: 640px) {
  .studio-page #preparationVoiceSettings .import-section-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: center; }
  .studio-page #preparationVoiceSettings .import-section-head > div:first-child { display: contents; }
  .studio-page #preparationVoiceSettings .preparation-settings-actions { grid-column: 2; grid-row: 1; }
  .studio-page #preparationVoiceSummary { grid-column: 1 / -1; grid-row: 2; }
}

/* Manuscript first; one shared sound summary and one primary action below it. */
.studio-page #studioEditorWorkspace > :is(#importPanel, #timelinePanel) > .card { padding-top: 0; }
.studio-page #preparationVoiceSettings { margin-top: 14px; padding: 12px 0 0; border-bottom: 0; border-top: 1px solid var(--line); }
.studio-page .raw-section > .import-section-head { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px 16px; margin-bottom: 12px; }
.studio-page .raw-section > .import-section-head h3 { margin: 0; font-size: 16px; }
.studio-page .raw-section .preparation-input-tools { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 8px 16px; margin: 0; padding: 0; flex: 1; }
.studio-page .preparation-input-tools :is(.photo-ocr-actions, .normalize-bar, .normalize-bar-actions) { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; border: 0; background: transparent; min-width: 0; }
.studio-page .preparation-input-tools .photo-ocr-actions { flex: none; }
.studio-page .preparation-input-tools #photoOcrButton { min-height: 34px; padding: 6px 10px; font-size: 13px; }
.studio-page .preparation-input-tools #photoOcrHint { flex-basis: 100%; font-size: 12px; }
.studio-page .editor-normalize-info { font-size: 12px; color: var(--muted); margin: 0 0 8px; }
.studio-page .editor-normalize-info summary { cursor: pointer; }
.studio-page .editor-normalize-info .normalize-bar-status { margin: 6px 0; }
.studio-page .default-voice-footer { justify-content: flex-end; flex-wrap: wrap; margin-top: 12px; gap: 8px 14px; }
.studio-page .default-voice-footer .question-prompt-block { display: flex; flex: 1; align-items: center; gap: 10px; padding: 0; border: 0; margin: 0; }
.studio-page .default-voice-footer .question-prompt-toggle { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; font-size: 12px; }
.studio-page .default-voice-footer .question-prompt-checkbox { display: inline-flex; align-items: center; gap: 8px; }
.studio-page #studioEditorWorkspace > .preparation-input-footer { margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--line); }
.studio-page :is(.preparation-input-footer, #applyDefaultVoicesButton, #photoOcrHint)[hidden] { display: none; }
@media (max-width: 640px) {
  .studio-page .raw-section .preparation-input-tools { justify-content: flex-start; flex-basis: 100%; }
  .studio-page .default-voice-footer .question-prompt-block { flex-basis: 100%; }
}

/* Formatting tools are secondary actions, including their pointer and keyboard states. */
body:has(#rawText) .reading-tools button {
  color: var(--ink) !important;
  background: transparent;
}
body:has(#rawText) .reading-tools button:hover:not(:disabled),
body:has(#rawText) .reading-tools button:active:not(:disabled),
body:has(#rawText) .reading-tools button:focus-visible,
body:has(#rawText) .reading-tools button[aria-expanded="true"] {
  color: var(--ink) !important;
  background: var(--accent-soft);
  transform: none;
  box-shadow: none;
}
body:has(#rawText) .reading-tools button svg { color: currentColor; }

/* Compact voice properties, with consistent labels and preview controls. */
.studio-page #preparationVoiceBody { gap: 16px 28px; }
.studio-page #preparationVoiceBody .voice-block { align-items: end; grid-template-columns: minmax(0, 1fr) 88px 32px; }
.studio-page #preparationVoiceBody .voice-block > label:first-child { padding-left: 0; }
.studio-page #preparationVoiceBody .voice-block > label:first-child::before,
.studio-page .default-voice-footer .question-prompt-toggle::before { display: none; }
.studio-page #preparationVoiceBody .voice-role-label { color: var(--ink); font-size: 12px; font-weight: 600; }
.studio-page #preparationVoiceBody .voice-speed-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.studio-page #preparationVoiceBody :is(select, .cx-select-button) { height: 38px; min-height: 38px; padding: 6px 10px; font-size: 13px; font-weight: 500; }
.studio-page #preparationVoiceBody .cx-select-label { text-align: left; }
body:has(#rawText) :is(#preparationVoiceBody, .default-voice-footer) .top-preview { display: inline-flex; align-items: center; justify-content: center; align-self: end; width: 32px; height: 38px; min-height: 38px; padding: 0; border: 0; border-radius: 5px; color: var(--ink) !important; background: transparent; }
body:has(#rawText) :is(#preparationVoiceBody, .default-voice-footer) .top-preview:hover:not(:disabled) { background: var(--accent-soft); transform: none; box-shadow: none; }
.studio-page .default-voice-footer { padding-top: 12px; border-top: 1px solid var(--line-soft); }
.studio-page .default-voice-footer .question-prompt-toggle { padding-left: 0; color: var(--ink); }
.studio-page .default-voice-footer .studio-action-label { display: none; }
body:has(#rawText) :is(#resetVoiceSettingsButton, #applyDefaultVoicesButton) { min-height: 32px; padding: 5px 8px; border: 0; background: transparent; color: var(--ink) !important; font-size: 12px; font-weight: 500; }
body:has(#rawText) :is(#resetVoiceSettingsButton, #applyDefaultVoicesButton):hover:not(:disabled) { background: var(--accent-soft); transform: none; box-shadow: none; }
@media (max-width: 1100px) {
  .studio-page #preparationVoiceBody { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .studio-page #preparationVoiceBody { grid-template-columns: minmax(0, 1fr); gap: 14px; }
}
.studio-page #preparationVoiceBody .cx-select-button { justify-content: space-between; }
.studio-page #preparationVoiceBody .cx-select-label { flex: 1; min-width: 0; }
body:has(#rawText) .default-voice-footer .question-prompt-toggle { padding-left: 0; }
body:has(#rawText) .default-voice-footer .question-prompt-block { flex-direction: row; flex-wrap: nowrap; align-items: center; justify-content: flex-start; }
body:has(#rawText) .default-voice-footer .question-prompt-toggle { flex: 0 1 auto; width: auto; flex-direction: row; justify-content: flex-start; text-align: left; }
body:has(#rawText) .default-voice-footer .question-prompt-block .top-preview { align-self: center; flex: 0 0 32px; }
.studio-page #studioEditorWorkspace > .preparation-input-footer { justify-content: flex-end; }
.studio-page .reading-tools-help.studio-inline-help { margin-top: 0; color: var(--ink); }

/* Expanded sound properties fit into two compact rows on wide screens. */
.studio-page #preparationVoiceSettings { gap: 0; margin-top: 10px; padding-top: 8px; }
.studio-page #preparationVoiceSummary[hidden] { display: none; }
.studio-page #preparationVoiceSettings .import-section-head { min-height: 28px; }
.studio-page #preparationVoiceToggle { min-height: 28px; padding: 4px 6px; }
.studio-page #preparationVoiceBody { margin-top: 6px; gap: 10px 16px; }
.studio-page #preparationVoiceBody .voice-block { grid-template-columns: minmax(0, 1fr) 76px 28px; gap: 6px; }
.studio-page #preparationVoiceBody :is(select, .cx-select-button) { min-height: 34px; height: 34px; padding: 5px 8px; border-radius: 6px; }
body:has(#rawText) :is(#preparationVoiceBody, .default-voice-footer) .top-preview { width: 28px; min-height: 34px; height: 34px; }
.studio-page .default-voice-footer { margin-top: 8px; padding-top: 6px; gap: 6px 10px; }
body:has(#rawText) .default-voice-footer .question-prompt-block .top-preview { flex-basis: 28px; }
@media (min-width: 1101px) {
  .studio-page #preparationVoiceBody .voice-block > label:first-child { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 8px; }
  .studio-page #preparationVoiceBody .voice-role-label { white-space: nowrap; }
}
@media (max-width: 700px) {
  .studio-page #preparationVoiceBody :is(select, .cx-select-button),
  body:has(#rawText) :is(#preparationVoiceBody, .default-voice-footer) .top-preview { min-height: 38px; height: 38px; }
  .studio-page .default-voice-footer .question-prompt-block { flex-basis: auto; }
}
@media (max-width: 700px) {
  body:has(#rawText) .default-voice-footer .question-prompt-block { flex: 0 1 auto; width: auto; min-width: 0; }
  body:has(#rawText) :is(#resetVoiceSettingsButton, #applyDefaultVoicesButton) { flex: 0 0 auto; width: auto; }
  body:has(#rawText) #resetVoiceSettingsButton { margin-left: auto; }
}
.studio-page .default-voice-footer { align-items: center; }
.question-role-settings { margin: 8px 0; padding: 8px 10px; border: 1px solid var(--line); border-radius: 6px; font-size: 12px; }
.question-role-settings summary { cursor: pointer; color: var(--ink); font-weight: 600; }
.question-role-settings summary span { margin-left: 8px; color: var(--muted); font-weight: 400; }
.question-role-settings p { margin: 8px 0; line-height: 1.6; }
.question-role-overrides { display: flex; align-items: center; gap: 6px; }
.question-role-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 8px 16px; margin-top: 10px; }
.question-role-row { display: grid; grid-template-columns: 58px minmax(0, 1fr) 32px; align-items: center; gap: 6px; }
.question-role-row > select, .question-role-row .cx-select-button { min-height: 34px; height: 34px; font-size: 13px; }
.question-role-note { grid-column: 2 / -1; color: var(--muted); }
body:has(#rawText) .question-role-row button[data-role-preview] { width: 32px; min-height: 34px; padding: 0; border: 0; background: transparent; color: var(--ink) !important; }
body:has(#rawText) .question-role-row button[data-role-preview]:hover { background: var(--accent-soft); }
.studio-page .reading-tools select[data-reading-role] { width: 96px; min-height: 30px; height: 30px; margin: 0; padding: 3px 6px; border: 1px solid var(--line); border-radius: 4px; background: var(--surface-1); color: var(--ink); font-size: 12px; }
body:has(#rawText) .question-role-overrides { display: flex; flex-direction: row; align-items: center; justify-content: flex-start; gap: 8px; width: auto; font-size: 12px; }
body:has(#rawText) .question-role-overrides input[type="checkbox"] { flex: 0 0 16px; width: 16px; height: 16px; min-height: 0; margin: 0; padding: 0; accent-color: var(--accent); }

/* Manuscript comparison keeps colored content separate from the plain-text editor. */
.normalize-review-columns > div { min-width: 0; display: grid; gap: 8px; }
.normalize-diff-text { height: 260px; overflow: auto; border: 1px solid var(--line); border-radius: 8px; background: var(--surface, #fff); font-size: 14px; line-height: 1.7; }
.normalize-diff-line { display: flex; white-space: pre-wrap; overflow-wrap: anywhere; min-height: 1.7em; padding: 2px 8px; }
.normalize-diff-number { flex: 0 0 32px; color: var(--muted); user-select: none; font-size: 11px; }
.normalize-diff-added { background: #dcfce7; color: #14532d; border-left: 3px solid #15803d; }
.normalize-diff-removed { background: #fee2e2; color: #7f1d1d; border-left: 3px solid #b91c1c; }
html[data-theme="dark"] .normalize-diff-added { background: #153b29; color: #bbf7d0; }
html[data-theme="dark"] .normalize-diff-removed { background: #451e25; color: #fecaca; }

.normalize-diff-text mark { padding: 1px 2px; border: 0; border-radius: 2px; }

.parse-progress-panel { max-width: 400px; text-align: center; }
.parse-progress-spinner { display: inline-block; width: 28px; height: 28px; border: 3px solid var(--line); border-top-color: var(--accent); border-radius: 50%; animation: parse-spin 1s linear infinite; }
@keyframes parse-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .parse-progress-spinner { animation: none; } }

/* Keep section navigation discoverable in both editing views. */
#manuscriptDirectoryToggle.studio-icon-button { width: auto; gap: 6px; padding-inline: 10px; }
#manuscriptDirectoryToggle .studio-action-label { position: static; width: auto; height: auto; padding: 0; overflow: visible; clip-path: none; font-size: 13px; }
.section-quick-navigation { display: flex; align-items: center; gap: 8px; min-width: 0; }
.section-quick-navigation.hidden { display: none; }
.section-quick-navigation label { display: inline-flex; align-items: center; margin: 0; min-height: 36px; font-size: 13px; line-height: 1.4; white-space: nowrap; color: var(--muted); }
.section-quick-navigation select { margin: 0; width: min(300px, 32vw); height: 36px; min-height: 36px; font-size: 14px; line-height: 1.4; padding: 0 28px 0 10px; }
.section-quick-navigation button { display: inline-flex; align-items: center; justify-content: center; margin: 0; height: 36px; min-height: 36px; padding-block: 0; line-height: 1.4; white-space: nowrap; }
@media(max-width:700px) {
  #timelinePanel > .card > .section-head { flex-wrap: wrap; gap: 10px; }
  .section-quick-navigation { width: 100%; }
  .section-quick-navigation label { display: none; }
  .section-quick-navigation select { flex: 1; width: 0; min-width: 0; }
}

.question-editor-mode[hidden], .question-edit-body[hidden], .question-preview-body[hidden] { display: none !important; }
.question-preview-text { white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.8; font-size: 15px; max-height: 12em; overflow: hidden; padding: 12px 0 4px; }
.question-preview-text.is-full { max-height: none; }
.question-preview-meta { font-size: 13px; color: var(--muted); margin: 8px 0 0; }
.question-advanced-settings { border-top: 1px solid var(--line); padding-top: 10px; margin-top: 10px; }
.question-advanced-settings > summary { cursor: pointer; font-size: 14px; }
.question-advanced-settings [data-question-advanced-content] { padding-top: 12px; }
.question-advanced-settings .field:has(textarea), .question-advanced-settings .question-card-summary { display: none; }

body.is-question-text-editor #manuscriptInspector > .manuscript-selection,
body.is-question-text-editor #manuscriptInspector > .sidebar-kicker:first-of-type { display: none; }
.question-inline-selection > .manuscript-selection { margin-top: 12px; padding: 12px; border-top: 1px solid var(--line); }

.question-editor-hint { color: var(--muted); font-size: 13px; margin: 0 0 12px; }
/* Focus and programmatic scrolling keep the active editor below sticky controls. */
.question-edit-body textarea, .question-edit-body [data-reading-action] { scroll-margin-top: calc(var(--studio-controls-bottom) + 16px); }

/* Lightweight manuscript list and a single playback inspector. */
.studio-page .timeline-row.is-question-text-row { border: 0; border-bottom: 1px solid var(--line); border-radius: 0; padding: 14px 0; background: transparent; }
.studio-page .question-whole-text { min-height: 76px; height: auto; font-size: 15px; padding: 10px 12px; }
.studio-page .question-text-passbar { margin: 6px 0; }
.question-voice-row { display: flex; gap: 10px; align-items: center; padding: 8px 0; border-bottom: 1px solid var(--line); }
.question-voice-row > span { min-width: 40px; }
.question-voice-row label { display: flex; align-items: center; gap: 6px; font-size: 13px; }
.question-voice-row select { min-height: 32px; height: 32px; width: 160px; }
.question-voice-row label:last-child select { width: 90px; }
body.is-question-text-editor #sectionRepeatControl { display: none !important; }
.studio-page .section-toolbar { display: block; border: 0; background: transparent; padding: 0; box-shadow: none; }
#playbackSettings h4 { font-size: 14px; margin: 14px 0 10px; }
.playback-field { display: grid; grid-template-columns: 1fr 70px 20px; gap: 6px; align-items: center; font-size: 13px; margin: 8px 0; }
.playback-field input { width: 70px; min-height: 32px; height: 32px; padding: 5px 8px; }
.playback-note { font-size: 12px; color: var(--muted); line-height: 1.6; margin: 8px 0; }
.playback-question { border-top: 1px solid var(--line); margin-top: 14px; padding-top: 4px; }
#playbackSettings details summary { font-size: 13px; cursor: pointer; margin: 10px 0; }
@media(min-width:1121px) { .studio-page .manuscript-layout { grid-template-columns: minmax(0,1fr) 320px; } }
@media(max-width:640px) { .question-voice-row { flex-wrap: wrap; } .question-voice-row select { width: 140px; } }

/* One editor surface for source manuscripts and parsed questions. */
.manuscript-voice-tools { flex: 1 0 100%; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; border-top: 1px solid var(--line); padding: 8px 10px; font-size: 13px; }
.manuscript-voice-tools [data-editor-scope] { color: var(--muted); white-space: nowrap; }
.manuscript-voice-tools [data-editor-voice-controls] { display: flex; align-items: center; gap: 12px; min-width: 0; }
.manuscript-voice-tools label { display: flex; align-items: center; gap: 6px; white-space: nowrap; }
.manuscript-voice-tools select { height: 32px; min-height: 32px; width: 160px; padding-block: 4px; font-size: 13px; }
.manuscript-voice-tools [data-editor-speed], .manuscript-voice-tools [data-field="speed"] { width: 95px; }
.manuscript-voice-tools [data-editor-actions] { margin-left: auto; display: flex; align-items: center; gap: 8px; }
.manuscript-voice-tools .question-advanced-settings { border: 0; padding: 0; margin: 0; }
.manuscript-voice-tools .question-advanced-settings > summary[hidden] { display: none; }
.manuscript-voice-tools .question-voice-row { border: 0; padding: 0; }
.manuscript-voice-tools .question-voice-row[hidden] { display: none !important; }
.manuscript-voice-tools .question-role-settings { position: relative; border: 0; margin: 0; padding: 0; }
.manuscript-voice-tools .question-role-settings[open] { flex-basis: 100%; }
.manuscript-voice-tools .question-role-settings > summary { font-size: 13px; cursor: pointer; }
.manuscript-editor-status { display: flex; gap: 8px; padding: 8px 12px; font-size: 12px; border-top: 1px solid var(--line); }
.manuscript-editor-status .normalize-bar-text { display: flex; flex-wrap: wrap; gap: 4px 10px; }
.manuscript-editor-status .normalize-status-dot { display: none; }
.reading-editor > .question-text-feedback { padding: 6px 12px; margin: 0; font-size: 12px; }
.reading-editor > .question-text-feedback:empty { display: none; }
.reading-editor > .normalize-review { border: 0; border-top: 1px solid var(--line); border-radius: 0; margin: 0; box-shadow: none; }
.manuscript-voice-tools .normalize-bar-actions { gap: 8px; flex-wrap: wrap; }
.manuscript-voice-tools #normalizeModeSelect { width: 128px; }
@media(max-width:700px) {
  .manuscript-voice-tools [data-editor-scope] { width: 100%; }
  .manuscript-voice-tools [data-editor-actions] { margin-left: 0; flex-wrap: wrap; }
  .manuscript-voice-tools .question-voice-row { flex-wrap: wrap; }
  .manuscript-voice-tools select { width: 130px; }
}
.manuscript-voice-tools [data-editor-voice-controls] .cx-select { width: 160px; }
.manuscript-voice-tools .question-voice-row label:last-child .cx-select { width: 95px; }
.studio-page .manuscript-voice-tools .cx-select-button { width: 100%; min-height: 32px; justify-content: space-between; padding: 4px 9px; border: 1px solid var(--line); background: var(--surface-1); border-radius: 6px; }
@media(max-width:640px) { .manuscript-voice-tools [data-editor-voice-controls] .cx-select { width: 130px; } .manuscript-voice-tools .question-voice-row label:last-child .cx-select { width: 85px; } }

/* Align native and enhanced selects with toolbar text, without global form margins. */
.studio-page .reading-tools { font-family: var(--font-sans); font-size: 13px; line-height: 1.4; }
.studio-page .reading-tools :is(button, select, label, summary) { font-family: inherit; font-size: 13px; line-height: 1.4; }
.studio-page .reading-tools :is(select, label, .cx-select) { margin: 0; }
.studio-page .reading-tools :is(button, select, .cx-select-button) { box-sizing: border-box; height: 32px; min-height: 32px; font-weight: 500; }
.studio-page .reading-tools select { padding-block: 0; }
.studio-page .reading-tools :is(.reading-tools-group, .manuscript-voice-tools, .question-voice-row, [data-editor-voice-controls], [data-editor-actions], .normalize-bar-actions) { align-items: center; }
.studio-page .reading-tools label { margin: 0; font-weight: 500; }
.studio-page .reading-tools .normalize-bar-actions :is(.cx-select, .cx-select-button, select, #normalizeManualButton) { height: 32px; min-height: 32px; margin: 0; }
.studio-page .reading-tools .cx-select-button { align-items: center; }
.studio-page .reading-tools .cx-select-label { display: block; line-height: 1.4; }
.studio-page .reading-tools svg { display: block; vertical-align: middle; }
.studio-page .reading-tools [data-editor-scope] { display: inline-flex; align-items: center; min-height: 32px; font-size: 13px; line-height: 1.4; }
@media(max-width:640px) {
  .studio-page .reading-tools :is(button, select, .cx-select-button, [data-editor-scope]) { height: 36px; min-height: 36px; }
  .studio-page .reading-tools .normalize-bar-actions :is(.cx-select, .cx-select-button, select, #normalizeManualButton) { height: 36px; min-height: 36px; }
}

/* Content-type correction belongs to the editor, with visible option guidance. */
.studio-page .reading-tools .question-format-control { display: inline-flex; align-items: center; gap: 6px; margin: 0; }
.studio-page .reading-tools .question-format-control > span { font-size: 13px; white-space: nowrap; }
.studio-page .reading-tools .question-format-control .cx-select { width: 112px; }
.studio-page .reading-tools .question-format-control .cx-select-panel { min-width: min(300px,calc(100vw - 40px)); }
.studio-page .cx-select-option:has(.cx-option-description) { height: auto; min-height: 56px; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 3px; white-space: normal; text-align: left; padding: 8px 10px; }
.cx-option-description { display: block; color: var(--muted); font-size: 12px; font-weight: 400; line-height: 1.5; white-space: normal; }

/* Lightweight workspace feedback, with an explicit manuscript action. */
.studio-page .studio-feedback { align-items: center; gap: 10px; padding: 10px 14px; margin: 0 0 12px; border-radius: 6px; background: #f0f6ff; color: #334b69; font-size: 13px; line-height: 1.6; }
.studio-page .studio-feedback-icon { flex: 0 0 auto; color: #3268a8; font-size: 18px; line-height: 1; }
.studio-page .studio-feedback-text { display: block; overflow: visible; overflow-wrap: anywhere; }
.studio-page .studio-feedback-text strong { color: #234b7a; font-weight: 600; margin-right: 12px; }
.studio-page .studio-feedback[data-state="pending"] { background: #fff5e8; color: #765323; }
.studio-page .studio-feedback[data-state="pending"] :is(strong,.studio-feedback-icon) { color: #8b4e08; }
.studio-page .studio-feedback[data-type="error"] { background: #fff0f0; }
.studio-page #studioFeedbackParse { flex: 0 0 auto; margin: 0; height: 32px; min-height: 32px; padding: 4px 12px; border: 1px solid #aac3e3; border-radius: 5px; background: transparent; color: #234b7a; font-size: 13px; font-weight: 600; }
.studio-page #studioFeedbackParse[hidden] { display: none; }
.studio-page .studio-feedback[data-state="pending"] #studioFeedbackParse { border-color: #d9b57f; color: #8b4e08; }
.studio-page #studioFeedbackParse:hover { background: #e0ebfc; }
.studio-page .studio-feedback[data-state="pending"] #studioFeedbackParse:hover { background: #ffebcf; }
.studio-page .studio-feedback-details { position: relative; max-width: none; font-size: 12px; }
.studio-page .studio-feedback-details ol { position: absolute; right: 0; top: 100%; z-index: 30; width: min(380px,calc(100vw - 48px)); box-sizing: border-box; padding: 12px 14px 12px 30px; background: var(--surface-1); border: 1px solid var(--line); border-radius: 6px; color: var(--ink); }
html[data-theme="dark"] .studio-page .studio-feedback { background: #172b41; color: #c5d8ee; }
html[data-theme="dark"] .studio-page .studio-feedback :is(strong,.studio-feedback-icon,#studioFeedbackParse) { color: #acd0ff; }
html[data-theme="dark"] .studio-page .studio-feedback[data-state="pending"] { background: #352817; color: #ead2b1; }
html[data-theme="dark"] .studio-page .studio-feedback[data-state="pending"] :is(strong,.studio-feedback-icon,#studioFeedbackParse) { color: #ffd39b; }
html[data-theme="dark"] .studio-page .studio-feedback[data-type="error"] { background: #351e24; }
html[data-theme="dark"] .studio-page #studioFeedbackParse:hover { background: #29415d; }
html[data-theme="dark"] .studio-page .studio-feedback[data-state="pending"] #studioFeedbackParse:hover { background: #513a1e; }
@media (max-width: 640px) {
  .studio-page .studio-feedback { flex-wrap: wrap; gap: 8px; padding: 10px 12px; }
  .studio-page .studio-feedback-text { flex-basis: calc(100% - 30px); }
  .studio-page .studio-feedback-text strong { display: block; margin-right: 0; }
  .studio-page #studioFeedbackParse { margin-left: 28px; height: 36px; min-height: 36px; }
  .studio-page .studio-feedback-details { margin-left: auto; }
}

.studio-editor-workspace.is-voice-setup > :is(#importPanel,#timelinePanel,#preparationVoiceSettings,.preparation-input-footer) { display: none; }
.post-parse-voice-setup { padding: 20px; scroll-margin-top: calc(var(--studio-controls-bottom) + 16px); }
.post-parse-voice-setup[hidden], .post-parse-voice-row[hidden] { display: none; }
.post-parse-voice-setup h2:focus { outline: none; }
.post-parse-voice-setup h2 { font-size: 20px; margin: 0 0 8px; }
.post-parse-voice-setup p { font-size: 13px; color: var(--muted); margin: 8px 0 16px; }
.post-parse-voice-row { display: flex; align-items: center; gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--line-soft); }
.post-parse-voice-row > strong { width: 150px; flex: 0 0 150px; font-size: 14px; }
.post-parse-voice-row label { display: inline-flex; align-items: center; gap: 8px; margin: 0; font-size: 13px; }
.post-parse-voice-row select { margin: 0; }
.post-parse-voice-row .cx-select { width: 200px; }
.post-parse-voice-row label:has([data-speed-choice]) .cx-select { width: 100px; }
.post-parse-voice-row .cx-select-button { height: 36px; min-height: 36px; }
.post-parse-voice-actions { display: flex; justify-content: flex-end; gap: 12px; }
.post-parse-voice-setup [data-voice-show-all] { margin: 12px 0 0; }
@media(max-width:640px) {
  .post-parse-voice-setup { padding: 16px 12px; }
  .post-parse-voice-row { flex-wrap: wrap; gap: 10px; }
  .post-parse-voice-row > strong { width: 100%; flex-basis: 100%; }
  .post-parse-voice-row .cx-select { width: 150px; }
  .post-parse-voice-row label:has([data-speed-choice]) .cx-select { width: 86px; }
  .post-parse-voice-row label > span:first-child { display: none; }
  .post-parse-voice-row label { gap: 4px; }
}

/* Separate normalization method from automatic execution. */
.studio-page .cx-select:has(#normalizeAutoToggle) { width: 128px; flex: 0 0 128px; }
.studio-page .cx-select:has(#normalizeAutoToggle) .cx-select-panel { min-width: 240px; width: 240px; max-width: calc(100vw - 24px); }
.studio-page .cx-select:has(#normalizeAutoToggle) .cx-select-label { text-overflow: clip; }
.studio-page .cx-select:has(#normalizeAutoToggle) .cx-select-option:hover:not(.is-selected),
.studio-page .cx-select:has(#normalizeAutoToggle) .cx-select-option.is-active:not(.is-selected) { background: var(--surface-2); font-weight: 400; }
.studio-page .normalize-auto-option { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 10px; margin: 4px 0 0; border-top: 1px solid var(--line); white-space: nowrap; font-size: 13px; color: var(--ink); cursor: pointer; }
.studio-page .normalize-auto-option input { width: 16px; height: 16px; margin: 0; accent-color: var(--accent); }

.playback-selection-meta { color: var(--muted); font-size: 12px; margin: 6px 0; }
.playback-selection-text { color: var(--ink); font-size: 14px; line-height: 1.7; margin: 8px 0 12px; overflow-wrap: anywhere; white-space: pre-wrap; }

.studio-page #timelineOutput:not(:empty) { border-top: 1px solid var(--line); margin-top: 20px; padding-top: 12px; }

.studio-page #playbackSettings .playback-field { align-items: center; }
.studio-page #playbackSettings .playback-field > span { align-self: center; margin: 0; line-height: 1.4; }
.studio-page #playbackSettings .playback-field input { height: 36px; min-height: 36px; padding: 0 6px; font: inherit; line-height: normal; text-align: center; }

/* One gutter shared by the manuscript and question editors. */
.reading-editor.has-line-labels { position: relative; --line-gutter-width: 200px; }
.studio-page .reading-editor.has-line-labels > textarea { margin-left: var(--line-gutter-width); width: calc(100% - var(--line-gutter-width)); font-size: 15px; line-height: 26px; padding: 12px 14px; resize: vertical; text-align: left; }
.editor-line-gutter { position: absolute; left: 0; width: var(--line-gutter-width); overflow: hidden; background: var(--surface-2); border-right: 1px solid var(--line); }
.editor-label-line { display: grid; grid-template-columns: minmax(0,1fr) 30px; align-items: start; min-height: 26px; }
.editor-line-tags { display: flex; gap: 3px; justify-content: flex-end; align-items: center; height: 26px; padding-left: 4px; }
.editor-line-number { color: var(--muted); font-size: 11px; line-height: 26px; text-align: right; padding-right: 6px; font-variant-numeric: tabular-nums; }
.editor-line-tag { padding: 1px 5px; min-height: 20px; border: 0; border-radius: 4px; line-height: 18px; font-size: 11px; white-space: nowrap; cursor: pointer; font-weight: 500; }
.label-contentType { background: #edf0f3; color: #465261; }
.label-male, .line-label-tool.label-speaker { background: #e8f1ff; color: #1855a1; }
.label-female { background: #f1eaff; color: #6a3aab; }
.label-question { background: #def5f3; color: #126e68; }
.label-repeat { background: #fff0dc; color: #945009; }
.editor-line-tag:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.label-range-continuation .editor-line-tags { border-right: 2px solid #d78b32; margin-right: 4px; }
.editor-line-measure { position: fixed; top: 0; left: 0; visibility: hidden; pointer-events: none; white-space: pre-wrap; overflow-wrap: break-word; word-break: normal; padding: 0; border: 0; }
.line-label-controls { gap: 6px; }
.line-label-tool { display: inline-flex; align-items: center; border-radius: 5px; padding: 2px 5px; }
.line-label-tool > span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.studio-page .reading-tools .line-label-tool select { width: auto; min-width: 82px; max-width: 124px; min-height: 30px; height: 30px; padding: 2px 18px 2px 5px; border: 0; background: transparent; color: inherit; font-size: 12px; box-shadow: none; }
.line-selection-note { color: var(--muted); font-size: 11px; }
.reading-tools [hidden] { display: none !important; }
@media(prefers-color-scheme:dark) {
  .label-contentType { background: #303943; color: #d7e0eb; }
  .label-male, .line-label-tool.label-speaker { background: #173653; color: #b5d9ff; }
  .label-female { background: #3c2855; color: #dbc1ff; }
  .label-question { background: #173f3c; color: #a8e4de; }
  .label-repeat { background: #493217; color: #ffd6a0; }
}
@media(max-width:640px) {
  .reading-editor.has-line-labels { --line-gutter-width: 148px; }
  .editor-label-line { grid-template-columns: minmax(0,1fr) 24px; }
  .editor-line-tag { padding: 1px 3px; font-size: 10px; }
  .studio-page .reading-editor.has-line-labels > textarea { padding-left: 8px; padding-right: 8px; }
}

.label-warning { color: #a62c27; background: #ffebe9; border-radius: 4px; }
.reading-tools .line-label-tool.label-female { background: #f1eaff; color: #6a3aab; }
.reading-tools .line-label-tool.label-question { background: #def5f3; color: #126e68; }
@media(prefers-color-scheme:dark) {
  .reading-tools .line-label-tool.label-female { background: #3c2855; color: #dbc1ff; }
  .reading-tools .line-label-tool.label-question { background: #173f3c; color: #a8e4de; }
  .label-warning { background: #4b2525; color: #ffbeb8; }
}

/* Logical-line playback stays beside line numbers, including wrapped paragraphs. */
.reading-editor.has-line-labels { --line-gutter-width: 270px; }
.editor-label-line { grid-template-columns: minmax(0,1fr) 26px 24px; }
.editor-line-play { border: 0; background: transparent; padding: 0; width: 24px; height: 26px; font-size: 11px; color: var(--accent); cursor: pointer; opacity: 0; }
.editor-label-line:hover .editor-line-play, .editor-line-play:focus-visible, .editor-line-play.is-playing { opacity: 1; }
.editor-line-play:disabled { visibility: hidden; }
.editor-line-tag.label-voice { background: var(--surface); color: var(--text); max-width: 95px; overflow: hidden; text-overflow: ellipsis; }
.line-preview-mode { display: inline-flex; gap: 6px; align-items: center; margin-left: auto; font-size: 11px; color: var(--muted); }
.studio-page .reading-tools .line-preview-mode select { width: auto; height: 30px; min-height: 30px; font-size: 12px; padding: 2px 20px 2px 6px; }
@media (max-width: 700px) {
  .reading-editor.has-line-labels { --line-gutter-width: 190px; }
  .editor-line-tag.label-voice { max-width: 60px; }
  .editor-line-play { opacity: 1; }
  .line-preview-mode span { display: none; }
  .editor-line-tags { gap: 2px; }
}

/* Voice and speed share the upper toolbar with line labels. */
.editor-sound-controls { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 13px; }
.editor-sound-controls [data-editor-scope] { color: var(--muted); }
.editor-sound-controls label { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.studio-page .reading-tools .editor-sound-controls select { width: 150px; height: 32px; min-height: 32px; padding-block: 4px; font-size: 13px; }
.studio-page .reading-tools .editor-sound-controls :is([data-editor-speed],[data-field="speed"]) { width: 90px; }
.editor-sound-controls .question-advanced-settings, .editor-sound-controls .question-voice-row { border: 0; padding: 0; margin: 0; }
.editor-sound-controls .question-advanced-settings > summary[hidden], .editor-sound-controls .question-voice-row[hidden] { display: none !important; }
.editor-sound-controls .question-voice-row { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.line-preview-mode { flex-wrap: wrap; }
.line-preview-mode span { display: inline; max-width: 360px; line-height: 1.5; }
@media(max-width:700px) {
  .line-preview-mode { margin-left: 0; width: 100%; }
  .line-preview-mode span { display: inline; flex: 1; min-width: 140px; }
  .editor-sound-controls [data-editor-scope] { flex-basis: 100%; }
}
@media(max-width:640px) {
  .studio-page .reading-tools .editor-sound-controls select { height: 36px; min-height: 36px; }
}
.editor-sound-controls [data-editor-voice-controls] { display: flex; align-items: center; gap: 12px; min-width: 0; }

/* Tags keep their own contrast instead of inheriting the orange button hover. */
.editor-tag-wrap { position: relative; display: inline-flex; flex-shrink: 0; align-items: center; }
body:has(#rawText) .editor-line-gutter .editor-line-tag { height: 22px; min-height: 22px; padding: 1px 5px; font-size: 12px; line-height: 18px; font-weight: 600; border: 1px solid transparent; }
body:has(#rawText) .editor-line-gutter .label-voice { color: #243449; background: #eaf0f7; border-color: #bac8d8; }
body:has(#rawText) .editor-line-gutter .label-voice:hover { color: #18283d; background: #dce7f4; }
body:has(#rawText) .editor-line-gutter .label-male { color: #154a8a; background: #e0edff; }
body:has(#rawText) .editor-line-gutter .label-female { color: #5a278d; background: #eee1ff; }
body:has(#rawText) .editor-line-gutter .label-question { color: #105d57; background: #d2eeea; }
body:has(#rawText) .editor-line-gutter .label-repeat { color: #7b3a08; background: #ffe5bc; }
body:has(#rawText) .editor-line-gutter .label-contentType { color: #344254; background: #e4e9ef; }
body:has(#rawText) .editor-tag-remove { position: absolute; right: -5px; top: -5px; width: 15px; height: 15px; min-height: 15px; border: 1px solid #a8b5c5; border-radius: 50%; padding: 0; font: 12px/12px sans-serif; color: #243449; background: #fff; opacity: 0; cursor: pointer; z-index: 2; }
body:has(#rawText) .editor-tag-wrap:hover .editor-tag-remove, body:has(#rawText) .editor-tag-wrap:focus-within .editor-tag-remove { opacity: 1; }
.editor-line-tags { gap: 5px; }
@media (hover:none) { body:has(#rawText) .editor-tag-remove { opacity: 1; } }
@media(max-width:700px) {
  body:has(#rawText) .editor-line-gutter .editor-line-tag { font-size: 11px; padding-inline: 3px; }
  .editor-line-tags { gap: 3px; }
}
.repeat-voice-controls { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.editor-pending-labels { display: flex; flex-wrap: wrap; gap: 8px; padding: 8px 12px; }
.editor-pending-labels[hidden] { display: none; }

.reading-toolbar-main, .reading-toolbar-actions { display: flex; flex: 1 0 100%; align-items: center; flex-wrap: wrap; gap: 8px 14px; min-width: 0; }
.reading-toolbar-main { padding: 2px 0 8px; }
.reading-toolbar-actions { border-top: 1px solid var(--line); padding-top: 8px; }
.reading-toolbar-main .line-selection-note, .reading-toolbar-main [data-editor-scope] { display: none !important; }
.reading-toolbar-actions [data-editor-actions] { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-left: auto; }
.reading-toolbar-actions .line-preview-mode { width: auto; margin-left: 0; }
.reading-toolbar-actions .normalize-bar-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.reading-toolbar-actions #normalizeModeSelect { width: 128px; }
.line-preview-dialog { width: min(460px,calc(100vw - 32px)); border: 1px solid var(--line); border-radius: 16px; background: var(--surface-1,#fff); color: var(--ink,#202020); padding: 24px; box-shadow: 0 16px 60px #0003; }
.line-preview-dialog::backdrop { background: #0005; }
.line-preview-dialog h3 { margin: 0 0 18px; font-size: 20px; }
.line-preview-dialog p { font-size: 14px; line-height: 1.7; margin: 12px 0; }
.line-preview-dialog p strong { display: block; }
.line-preview-dismiss { display: flex; align-items: center; gap: 8px; margin-top: 20px; font-size: 14px; }
.line-preview-dismiss input { width: 16px; height: 16px; margin: 0; }
.line-preview-dialog-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 22px; }
.line-preview-dialog-actions button { padding: 8px 16px; border-radius: 8px; }
.line-preview-dialog-actions [data-preview-confirm] { background: var(--accent); color: #fff; }
@media(max-width:640px) { .reading-toolbar-actions [data-editor-actions] { margin-left: 0; } }
.line-preview-dialog-actions [data-preview-cancel] { background: transparent; color: var(--ink,#202020); border: 1px solid var(--line,#ddd); }

/* The line preview is a gutter icon, not a primary action button. */
body:has(#rawText) .editor-line-gutter .editor-line-play,
body:has(#rawText) .editor-line-gutter .editor-line-play:hover,
body:has(#rawText) .editor-line-gutter .editor-line-play:active,
body:has(#rawText) .editor-line-gutter .editor-line-play:focus {
  display: inline-flex; align-items: center; justify-content: center;
  box-sizing: border-box; width: 24px; min-width: 24px; max-width: 24px;
  height: 26px; min-height: 26px; max-height: 26px;
  margin: 0; padding: 0; border: 0; border-radius: 4px;
  background: transparent; color: var(--muted,#64748b);
  box-shadow: none; transform: none; font: 11px/1 sans-serif;
}
body:has(#rawText) .editor-line-gutter .editor-line-play:hover,
body:has(#rawText) .editor-line-gutter .editor-line-play.is-playing { color: var(--ink,#243449); background: #64748b12; }
body:has(#rawText) .editor-line-gutter .editor-line-play:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
.studio-page .reading-tools .editor-sound-controls [data-editor-pass] { width: 90px; }
#preparationVoiceSettings.is-editor-integrated { display: none; }
.editor-sound-bulk { display: inline-flex; align-items: center; gap: 6px; }
.studio-page .editor-sound-controls .editor-sound-bulk select { width: 108px; }
.editor-sound-controls .question-prompt-toggle { display: inline-flex; align-items: center; gap: 8px; padding-left: 8px; border-left: 1px solid var(--line); }
.editor-sound-controls .question-prompt-checkbox { display: inline-flex; align-items: center; }
.editor-sound-controls #questionPromptEnabled { width: 16px; height: 16px; margin: 0; }
.reading-editor.has-line-labels { --line-gutter-width: 330px; }
.editor-line-tags { overflow-x: auto; scrollbar-width: none; justify-content: safe flex-end; }
.editor-line-tags::-webkit-scrollbar { display: none; }
@media(max-width:700px) { .reading-editor.has-line-labels { --line-gutter-width: 190px; } }

/* One manuscript editor and the settings for its selection. */
body.is-unified-manuscript #parseButton,
body.is-unified-manuscript #studioFeedbackParse,
body.is-unified-manuscript #toggleImportPanelButton,
body.is-unified-manuscript #timelinePanel { display:none !important; }
body.is-unified-manuscript .unified-manuscript-layout { display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:24px; align-items:start; }
body.is-unified-manuscript .unified-manuscript-layout > .raw-input-block { min-width:0; width:100%; }
body.is-unified-manuscript #manuscriptInspector { position:sticky; top:88px; min-width:0; border-left:1px solid #e5e7eb; padding:20px; background:#fff; max-height:calc(100vh - 110px); overflow:auto; }
body.is-unified-manuscript #sectionQuickNavigation { margin:12px 0; justify-content:flex-end; }
body.is-unified-manuscript .manuscript-structure-issue { background:#fff4e5; color:#92400e; padding:12px 16px; border-radius:8px; }
body.is-unified-manuscript #rawText { min-height:480px; }
body.is-unified-manuscript .manuscript-take-text { padding:12px 0; border-bottom:1px solid #e5e7eb; }
body.is-unified-manuscript .manuscript-take-text p { font-size:13px; color:#64748b; }
body.is-unified-manuscript .manuscript-take-text textarea { width:100%; min-height:90px; font:inherit; padding:10px; box-sizing:border-box; }
body.is-unified-manuscript .label-range-start { border-top:2px solid #d8a15d; }
body.is-unified-manuscript .label-range-end { border-bottom:2px solid #d8a15d; }
body.is-unified-manuscript .editor-range-caption { font-size:11px; color:#92400e; font-weight:600; white-space:nowrap; }
body.is-unified-manuscript .label-independent { font-size:11px; background:#f3e8ff; color:#6b21a8; padding:3px 5px; border-radius:4px; }
@media(max-width:1100px) { body.is-unified-manuscript .unified-manuscript-layout { grid-template-columns:minmax(0,1fr); } body.is-unified-manuscript #manuscriptInspector { position:static; max-height:none; border-left:0; border-top:1px solid #e5e7eb; } }

body.is-unified-manuscript #sectionRepeatControl { display:none !important; }

body.is-unified-manuscript #manuscriptRepeatModeButton { display:none !important; }

/* The manuscript ribbon replaces the fixed inspector. */
body.is-word-manuscript .unified-manuscript-layout { display:block; }
body.is-word-manuscript #manuscriptInspector { display:none !important; }
body.is-word-manuscript .raw-input-block { max-width:none; }
body.is-word-manuscript .reading-editor { overflow:visible; border-color:#d9dde3; border-radius:12px; background:#f4f5f7; box-shadow:0 4px 20px #24344908; }
body.is-word-manuscript .reading-tools { display:block; position:sticky; top:var(--studio-controls-bottom, 136px); z-index:25; scroll-margin-top:var(--studio-controls-bottom, 192px); padding:0; border-radius:12px 12px 0 0; background:#fafafa; box-shadow:0 1px 0 #dce0e5; }
body.is-word-manuscript .manuscript-ribbon-tabs { display:flex; gap:4px; padding:8px 14px 0; border-bottom:1px solid #dde1e7; }
body.is-word-manuscript .manuscript-ribbon-tabs button { background:transparent; color:#64748b; border:0; border-radius:6px 6px 0 0; box-shadow:none; padding:10px 16px; font-size:14px; font-weight:600; }
body.is-word-manuscript .manuscript-ribbon-tabs button[aria-selected=true] { color:#a64e08; background:#fff; box-shadow:inset 0 -3px #c06412; }
body.is-word-manuscript .manuscript-ribbon-pane { display:flex; flex-wrap:wrap; align-items:center; gap:12px; padding:14px 18px; min-height:90px; }
body.is-word-manuscript .manuscript-ribbon-pane[hidden] { display:none !important; }
body.is-word-manuscript .ribbon-control-group { display:flex; flex-wrap:wrap; align-items:center; gap:10px; padding-right:16px; border-right:1px solid #e1e4e9; }
body.is-word-manuscript .ribbon-control-group:last-child { border-right:0; }
body.is-word-manuscript .reading-toolbar-main, body.is-word-manuscript .reading-toolbar-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; padding:0; border:0; flex-basis:auto; }
body.is-word-manuscript .line-label-controls { gap:8px; }
body.is-word-manuscript .line-selection-note, body.is-word-manuscript [data-editor-scope] { display:none; }
body.is-word-manuscript .manuscript-ribbon-status { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px; padding:9px 18px; border-top:1px solid #e3e6ea; background:#fff; font-size:13px; color:#626d7a; }
body.is-word-manuscript #sectionQuickNavigation { margin:0; gap:8px; }
body.is-word-manuscript #sectionQuickNavigation :is(button,select) { min-height:30px; height:30px; font-size:12px; }
body.is-word-manuscript #sectionQuickSelect { width:160px; }
body.is-word-manuscript #rawText { min-height:600px !important; background:#fff; padding-top:20px; padding-bottom:30px; border:0; border-left:1px solid #e4e7eb; border-radius:0; font-size:16px; line-height:30px; }
body.is-word-manuscript .editor-line-gutter { background:#f4f5f7; }
body.is-word-manuscript .manuscript-editor-status { display:none; }
body.is-word-manuscript .ribbon-playback-scope { display:flex; flex-shrink:0; white-space:nowrap; align-items:center; gap:8px; margin:0; font-size:13px; }
body.is-word-manuscript #playbackSettings { flex:1; min-width:0; }
body.is-word-manuscript #playbackSettings > h4,
body.is-word-manuscript #playbackSettings .playback-question > :is(h4,p),
body.is-word-manuscript #playbackSettings > .playback-note { display:none; }
body.is-word-manuscript #playbackSettings .playback-question { margin:0; padding:0; border:0; }
body.is-word-manuscript #playbackSettings .playback-field { display:inline-flex; align-items:center; gap:8px; margin:4px 14px 4px 0; width:auto; font-size:13px; }
body.is-word-manuscript #playbackSettings .playback-field input { width:64px; min-height:34px; height:34px; padding:4px 8px; font-size:14px; margin:0; text-align:center; }
body.is-word-manuscript #playbackSettings details { display:inline-block; vertical-align:top; margin:4px 12px; }
body.is-word-manuscript #playbackSettings details[open] { display:block; }
body.is-word-manuscript #ribbon-playback[data-scope=question] #playbackSettings > :is(label,button),
body.is-word-manuscript #ribbon-playback:not([data-scope=question]) .playback-question { display:none; }
body.is-word-manuscript .manuscript-take-text { position:absolute; right:20px; width:min(360px,calc(100% - 32px)); box-sizing:border-box; z-index:30; padding:16px; border:1px solid #d7dce4; border-radius:12px; background:#fff; box-shadow:0 10px 36px #172b4d24; }
body.is-word-manuscript .manuscript-take-text[hidden] { display:none; }
body.is-word-manuscript .take-panel-head { display:flex; align-items:center; justify-content:space-between; }
body.is-word-manuscript .take-panel-head button { padding:3px 8px; min-height:28px; }
body.is-word-manuscript #ribbon-generate .normalize-bar-actions { margin:0; }
body.is-word-manuscript #ribbon-generate .section-audio-controls audio { height:34px; }
body.is-word-manuscript .sidebar-generate-group { display:none; }
@media(max-width:700px) {
 body.is-word-manuscript .reading-tools { top:var(--studio-controls-bottom, 192px); }
 body.is-word-manuscript .manuscript-ribbon-tabs { padding-inline:6px; gap:0; }
 body.is-word-manuscript .manuscript-ribbon-tabs button { flex:1; padding:10px 5px; font-size:12px; }
 body.is-word-manuscript .manuscript-ribbon-pane { padding:10px; gap:8px; max-height:42vh; overflow-y:auto; }
 body.is-word-manuscript .ribbon-control-group { border-right:0; padding:0; width:100%; }
 body.is-word-manuscript .manuscript-ribbon-status { padding:8px 10px; }
 body.is-word-manuscript #rawText { font-size:14px; }
 body.is-word-manuscript .manuscript-take-text { right:8px; }
}

/* One document scroll surface; dialogs and menus keep their own scrolling. */
body.is-word-manuscript .reading-editor.has-line-labels > #rawText {
  overflow:hidden; resize:none; max-height:none;
}
@media(max-width:700px) {
  body.is-word-manuscript .manuscript-ribbon-pane { max-height:none; overflow:visible; }
  body.is-word-manuscript .reading-tools { position:static; }
}
@media(max-width:700px) {
  body.is-word-manuscript .reading-tools-group { flex-wrap:wrap; max-width:100%; }
  body.is-word-manuscript .reading-toolbar-actions { min-width:0; width:100%; }
}

/* Compact fixed chrome leaves room for the manuscript. */
@media(min-width:701px) {
 body.is-word-manuscript .app-nav { min-height:48px; padding-top:6px; padding-bottom:6px; }
 body.is-word-manuscript .app-nav .landing-brand-mark { width:36px; height:36px; border-radius:11px; }
 body.is-word-manuscript .app-nav .landing-brand small { display:none; }
 body.is-word-manuscript .studio-sticky-controls .workspace-identity { padding:7px 12px; }
 body.is-word-manuscript .workspace-identity-main { display:flex; flex-direction:row; align-items:center; gap:12px; }
 body.is-word-manuscript #workspaceProjectName { font-size:14px; }
 body.is-word-manuscript #workspaceSaveState { font-size:12px; margin:0; }
 body.is-word-manuscript .studio-sticky-controls .studio-editor-controls { padding:5px 10px; }
 body.is-word-manuscript .studio-sticky-controls .studio-icon-button { height:30px; min-height:30px; width:32px; min-width:32px; }
 body.is-word-manuscript .manuscript-ribbon-tabs { padding-top:2px; }
 body.is-word-manuscript .manuscript-ribbon-tabs button { padding:7px 14px; }
 body.is-word-manuscript .manuscript-ribbon-pane { min-height:0; padding:8px 14px; gap:6px 10px; }
 body.is-word-manuscript .reading-toolbar-main, body.is-word-manuscript .reading-toolbar-actions { gap:8px; }
 body.is-word-manuscript .manuscript-ribbon-status { padding:5px 14px; }
}

body.is-word-manuscript .manuscript-ribbon-head { display:flex; align-items:center; gap:8px; padding-right:12px; border-bottom:1px solid #dde1e7; }
body.is-word-manuscript .manuscript-ribbon-head .manuscript-ribbon-tabs { flex:1; border-bottom:0; }
body.is-word-manuscript .reading-tools .manuscript-proofread-primary { background:#b85b0b; color:white; border-color:#b85b0b; padding:4px 12px; font-weight:600; }
body.is-word-manuscript .manuscript-proofread-guide { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; padding:8px 14px; background:#fff6e9; color:#77400e; font-size:13px; }
body.is-word-manuscript .manuscript-proofread-guide[hidden] { display:none; }
@media(max-width:700px) {
 body.is-word-manuscript .manuscript-ribbon-head { flex-wrap:wrap; padding:0 6px 6px; }
 body.is-word-manuscript .manuscript-ribbon-head .manuscript-ribbon-tabs { flex-basis:100%; }
}
body.is-word-manuscript .reading-tools #normalizeManualButton.manuscript-proofread-primary {
  color:#fff !important; background:#b85b0b; border:1px solid #b85b0b; font-weight:600;
}
body.is-word-manuscript .reading-tools #normalizeManualButton.manuscript-proofread-primary:hover:not(:disabled) {
  color:#fff !important; background:#9c4a06;
}
/* Expanding sentence pauses must not move the scope selector off the first row. */
body.is-word-manuscript #ribbon-playback { align-items:flex-start; }
body.is-word-manuscript #ribbon-playback .ribbon-playback-scope { min-height:42px; }
body.is-word-manuscript #ribbon-playback #playbackSettings { align-self:flex-start; }
body.is-word-manuscript #ribbon-playback #playbackSettings details { margin:4px 0; }
body.is-word-manuscript #ribbon-playback #playbackSettings details summary { margin:0; min-height:34px; display:flex; align-items:center; gap:5px; list-style:none; }
body.is-word-manuscript #ribbon-playback #playbackSettings details summary::before { content:'▸'; }
body.is-word-manuscript #ribbon-playback #playbackSettings details[open] summary::before { content:'▾'; }
/* Generation controls use the same compact row as editing controls. */
body.is-word-manuscript #ribbon-generate { align-items:center; gap:10px; }
body.is-word-manuscript #ribbon-generate .ribbon-control-group { min-height:36px; gap:8px; }
body.is-word-manuscript #ribbon-generate .question-prompt-toggle { display:flex; flex-direction:row; align-items:center; gap:8px; margin:0; white-space:nowrap; font-size:13px; }
body.is-word-manuscript #ribbon-generate .question-prompt-checkbox { margin:0; flex-shrink:0; }
body.is-word-manuscript #ribbon-generate .normalize-bar-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
body.is-word-manuscript #ribbon-generate .normalize-mode-label { margin:0; }
body.is-word-manuscript #ribbon-generate .studio-action-label { position:static; width:auto; height:auto; padding:0; overflow:visible; clip-path:none; white-space:nowrap; }
body.is-word-manuscript #ribbon-generate :is(#parseGenerateAllButton,#downloadProjectMp3Button,#sectionAudioDownloadButton) { width:auto; display:inline-flex; align-items:center; justify-content:center; gap:5px; padding:4px 10px; margin:0; box-shadow:none; }
body.is-word-manuscript #ribbon-generate #generateCurrentSectionButton { color:#fff !important; background:#b85b0b; padding:4px 12px; margin:0; box-shadow:none; }
body.is-word-manuscript #ribbon-generate #generateCurrentSectionButton:hover:not(:disabled) { color:#fff !important; background:#9c4a06; }
body.is-word-manuscript #ribbon-generate button:disabled { opacity:.45; box-shadow:none; }
body.is-word-manuscript #ribbon-generate .ribbon-control-group:not(:has(> :not(.hidden):not([hidden]))) { display:none; }
/* Keep dropdown arrows inset and reduce unused width around short values. */
body.is-word-manuscript select:not([multiple]),
body.is-word-manuscript .studio-page .reading-tools select:not([multiple]) {
  appearance:none; -webkit-appearance:none;
  padding-left:10px; padding-right:32px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 12px center; background-size:14px;
}
body.is-word-manuscript .studio-page .reading-tools .editor-sound-controls [data-editor-speed] { width:92px; }
body.is-word-manuscript .studio-page .reading-tools .editor-sound-controls [data-editor-voice] { width:138px; }
body.is-word-manuscript .studio-page .reading-tools .editor-sound-controls [data-editor-pass] { width:92px; }
body.is-word-manuscript .studio-page .reading-tools .editor-sound-bulk select { width:100px; }
body.is-word-manuscript .studio-page .reading-tools .cx-select-button { justify-content:flex-start; gap:10px; padding-left:10px; padding-right:12px; }
body.is-word-manuscript .cx-select-button .btn-icon { flex-shrink:0; }

/* Shared settings vocabulary for playback and proofreading/generation. */
body.is-word-manuscript .reading-tools .ribbon-settings-pane {
  padding:8px 14px; gap:10px 14px; min-height:58px; box-sizing:border-box;
  font-size:13px; line-height:1.4;
}
body.is-word-manuscript .reading-tools .ribbon-settings-pane :is(label,summary,.normalize-mode-label) {
  font-size:13px; font-weight:500; line-height:1.4; color:var(--ink);
}
body.is-word-manuscript .reading-tools .ribbon-settings-pane :is(select,.cx-select-button,input[type=number]) {
  box-sizing:border-box; height:34px; min-height:34px; margin:0;
  border:1px solid var(--line); border-radius:6px; background-color:var(--surface-1);
  color:var(--ink); font-family:inherit; font-size:13px; font-weight:400;
  box-shadow:none;
}
body.is-word-manuscript .reading-tools .ribbon-settings-pane :is(select,.cx-select-button) { padding-block:0; }
body.is-word-manuscript .reading-tools .ribbon-settings-pane input[type=number] { padding:0 8px; text-align:center; }
body.is-word-manuscript #ribbon-generate .ribbon-control-group { min-height:42px; gap:8px; border-color:var(--line); }
body.is-word-manuscript #ribbon-generate .ribbon-control-group:last-of-type { border-right:0; }
body.is-word-manuscript #ribbon-playback .ribbon-playback-scope { padding-right:14px; border-right:1px solid var(--line); }
body.is-word-manuscript #ribbon-playback #playbackSettings .playback-field { gap:8px; margin:4px 14px 4px 0; }
body.is-word-manuscript #ribbon-playback #playbackSettings .playback-field input { font-size:13px; border-radius:6px; }
body.is-word-manuscript #ribbon-generate .normalize-bar-actions .cx-select { width:128px; min-width:128px; flex:0 0 128px; }
body.is-word-manuscript #ribbon-generate #normalizeModeSelect { width:128px; }
body.is-word-manuscript #ribbon-generate .normalize-bar-actions .cx-select-button { width:100%; }
body.is-word-manuscript #ribbon-generate .normalize-mode-label { color:var(--ink); }
body.is-word-manuscript #ribbon-generate :is(#generateCurrentSectionButton,#parseGenerateAllButton,#downloadProjectMp3Button,#sectionAudioDownloadButton),
body.is-word-manuscript #ribbon-playback [data-playback-apply] {
  height:34px; min-height:34px; border-radius:6px; font-size:13px; font-weight:500; box-shadow:none;
}
body.is-word-manuscript #ribbon-generate :is(#parseGenerateAllButton,#downloadProjectMp3Button,#sectionAudioDownloadButton),
body.is-word-manuscript #ribbon-playback [data-playback-apply] {
  border:1px solid var(--line); background:var(--surface-1); padding:0 10px;
}
body.is-word-manuscript .ribbon-settings-pane :is(input,select,button):focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
@media(max-width:700px) {
  body.is-word-manuscript .reading-tools .ribbon-settings-pane { padding:8px 10px; }
  body.is-word-manuscript #ribbon-playback .ribbon-playback-scope { border-right:0; padding-right:0; }
}

body.is-word-manuscript :is(#manuscriptDirectoryToggle,#manuscriptDirectory,[data-action-id="manuscriptDirectoryToggle"]) { display:none !important; }
/* Overflow-menu rows must override the compact icon-only toolbar sizing. */
body.is-word-manuscript #studioMorePanel { box-sizing:border-box; width:min(280px,calc(100vw - 32px)); padding:8px; }
body.is-word-manuscript #studioMorePanel .workflow-entry-actions { display:flex; flex-direction:column; gap:4px; width:100%; }
body.is-word-manuscript #studioMorePanel :is(.studio-icon-button,#workspaceRefreshButton) {
  display:flex; flex:0 0 auto; align-items:center; justify-content:flex-start;
  width:100%; min-width:0; height:36px; min-height:36px; padding:6px 10px; margin:0;
  gap:10px; border:1px solid transparent; border-radius:6px; font-size:13px; line-height:1.4; box-shadow:none;
}
body.is-word-manuscript #studioMorePanel .studio-action-label { position:static; flex:1; min-width:0; width:auto; height:auto; clip-path:none; overflow:visible; white-space:nowrap; text-align:left; }
body.is-word-manuscript #studioMorePanel .btn-icon { flex:0 0 16px; width:16px; height:16px; }
body.is-word-manuscript #studioMorePanel #workspaceRefreshButton { padding-left:36px; }

body.is-word-manuscript #ribbon-generate .workflow-entry-actions { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
body.is-word-manuscript #ribbon-generate .workflow-entry-actions button { display:inline-flex; align-items:center; gap:6px; width:auto; height:34px; padding:0 10px; border:1px solid var(--line); border-radius:6px; background:var(--surface-1); font-size:13px; }
/* Recording profiles separate applying a saved configuration from creating one. */
body.is-word-manuscript #studioWorkflowPanel[data-mode=templates] { padding:16px 18px; border:1px solid var(--line); border-radius:10px; box-shadow:none; }
body.is-word-manuscript #studioWorkflowPanel[data-mode=templates] .workflow-head { align-items:center; margin-bottom:8px; }
body.is-word-manuscript #studioWorkflowPanel[data-mode=templates] .workflow-head h3 { margin:0; font-size:16px; }
body.is-word-manuscript #studioWorkflowPanel[data-mode=templates] .helper { margin:0 0 14px; font-size:12px; }
body.is-word-manuscript .recording-profile-group { padding:12px 0; }
body.is-word-manuscript .recording-profile-group + .recording-profile-group { border-top:1px solid var(--line); }
body.is-word-manuscript .recording-profile-group h4 { margin:0 0 10px; font-size:13px; font-weight:600; }
body.is-word-manuscript .profile-control-row { display:flex; flex-wrap:wrap; gap:10px 14px; align-items:flex-end; }
body.is-word-manuscript .profile-control-row label { display:flex; flex-direction:column; gap:6px; margin:0; font-size:12px; color:var(--muted); }
body.is-word-manuscript .profile-control-row :is(input,select,button) { box-sizing:border-box; min-height:34px; height:34px; margin:0; padding-block:0; border-radius:6px; font-size:13px; }
body.is-word-manuscript .profile-control-row input { padding-inline:10px; }
body.is-word-manuscript #workflowProfile { width:220px; }
body.is-word-manuscript #workflowProfileName { width:220px; }
body.is-word-manuscript .profile-control-row :is(#workflowScope,#workflowRepeat) { width:112px; }
body.is-word-manuscript .profile-control-row :is(#workflowPause,#workflowRepeatPause) { width:112px; text-align:center; }
body.is-word-manuscript .profile-control-row button { padding-inline:12px; font-weight:500; box-shadow:none; white-space:nowrap; }
body.is-word-manuscript #workflowDeleteProfile { color:var(--muted); border-color:transparent; background:transparent; }
body.is-word-manuscript #workflowDeleteProfile:hover { color:var(--danger,#b42318); background:var(--surface-2); }
body.is-word-manuscript #workflowMessage:empty { display:none; }
@media(max-width:640px) {
 body.is-word-manuscript #studioWorkflowPanel[data-mode=templates] { padding:12px; }
 body.is-word-manuscript .profile-control-row label { flex:1 1 130px; }
 body.is-word-manuscript .profile-control-row label :is(input,select) { width:100% !important; }
}
/* Generation records share the compact configuration-panel styling. */
body.is-word-manuscript #studioWorkflowPanel[data-mode=tasks] { padding:16px 18px; border:1px solid var(--line); border-radius:10px; box-shadow:none; }
body.is-word-manuscript #studioWorkflowPanel[data-mode=tasks] .workflow-head { align-items:center; margin-bottom:8px; }
body.is-word-manuscript #studioWorkflowPanel[data-mode=tasks] .workflow-head h3 { margin:0; font-size:16px; }
body.is-word-manuscript #studioWorkflowPanel[data-mode=tasks] [data-close] { width:32px; height:32px; min-height:32px; padding:0; margin:0; border-radius:6px; font-size:16px; box-shadow:none; }
body.is-word-manuscript #studioWorkflowPanel[data-mode=tasks] .helper { margin:0 0 14px; font-size:12px; color:var(--muted); }
body.is-word-manuscript #studioWorkflowPanel[data-mode=tasks] .workflow-empty { margin:0; padding:10px 12px; border-radius:6px; background:var(--surface-2); color:var(--muted); font-size:13px; line-height:1.6; }
body.is-word-manuscript #studioWorkflowPanel[data-mode=tasks] h4 { margin:16px 0 8px; font-size:13px; font-weight:600; }
body.is-word-manuscript #studioWorkflowPanel[data-mode=tasks] .workflow-result { gap:5px; padding:12px 0; font-size:13px; border-color:var(--line); }
body.is-word-manuscript #studioWorkflowPanel[data-mode=tasks] .workflow-result strong { font-size:13px; font-weight:600; }
body.is-word-manuscript #studioWorkflowPanel[data-mode=tasks] .workflow-result small { font-size:12px; }
body.is-word-manuscript #studioWorkflowPanel[data-mode=tasks] .workflow-result button { min-height:32px; margin:2px 0 0; padding:0 10px; border-radius:6px; font-size:13px; box-shadow:none; }
@media(max-width:640px) { body.is-word-manuscript #studioWorkflowPanel[data-mode=tasks] { padding:12px; } }
.label-questionType, .line-label-tool.label-questionType { background:#e3f3ec; color:#246448; }
body.is-word-manuscript .reading-editor.has-line-labels { --line-gutter-width:380px; }
@media(max-width:700px) { body.is-word-manuscript .reading-editor.has-line-labels { --line-gutter-width:190px; } }
/* The expanded manuscript displays actual takes and explicit pauses in reading order. */
.reading-editor.is-expanded-manuscript > :is(#rawText,.editor-line-gutter) { display:none !important; }
.expanded-manuscript { background:var(--surface-1); padding:12px 0 24px; }
.expanded-section + .expanded-section { border-top:1px solid var(--line); margin-top:18px; padding-top:14px; }
.expanded-row { display:grid; grid-template-columns:310px 30px minmax(0,1fr); align-items:center; min-height:38px; font-size:14px; }
.expanded-tags { display:flex; gap:5px; flex-wrap:wrap; justify-content:flex-end; padding:4px 10px; font-size:12px; }
.expanded-number { color:var(--muted); text-align:center; font-size:11px; }
.expanded-chip { padding:3px 6px; border-radius:4px; background:#eaf0f7; color:#243449; }
.expanded-role-chip { background:#e8f1ff; color:#1855a1; }
.expanded-reuse-chip { background:#e3f3ec; color:#246448; }
.expanded-independent-chip,.expanded-pause-chip { background:#fff0dc; color:#945009; }
.expanded-comment-chip { background:#edf0f3; color:#64748b; }
.expanded-body { display:flex; align-items:center; gap:8px; padding:4px 14px; min-width:0; }
.expanded-body textarea { flex:1; min-width:0; width:100%; margin:0; min-height:30px; padding:4px 6px; border:1px solid transparent; border-radius:4px; resize:none; overflow:hidden; font:inherit; line-height:22px; background:transparent; color:var(--ink); }
.expanded-body textarea:focus { border-color:var(--line); outline:1px solid var(--accent); }
.expanded-comment-toggle { flex-shrink:0; height:28px; min-height:28px; padding:0 6px; border:0; background:transparent; color:var(--muted); font-size:11px; box-shadow:none; }
.expanded-pause { color:var(--muted); }
.expanded-pause input { width:60px; height:28px; min-height:28px; padding:0 4px; text-align:center; margin:0; font-size:13px; }
.expanded-explanation { grid-template-columns:340px minmax(0,1fr); color:var(--muted); background:var(--surface-2); margin:5px 0; }
.expanded-explanation strong { font-size:13px; font-weight:500; padding:8px 14px; }
.expanded-explanation input { min-height:30px; margin:4px 14px; font-size:13px; }
.expanded-row[data-type=comment] textarea { color:var(--muted); }
.reading-editor.is-expanded-manuscript :is([data-editor-pass],#openManuscriptTakeText) { display:none; }
@media(max-width:700px) { .expanded-row { grid-template-columns:120px 24px minmax(0,1fr); }.expanded-explanation { grid-template-columns:144px minmax(0,1fr); }.expanded-body { padding-inline:4px; flex-wrap:wrap; }.expanded-body textarea { flex-basis:100%; }.expanded-tags { padding-inline:4px; }.expanded-comment-toggle { font-size:10px; } }
.reading-editor.is-expanded-manuscript label:has(> [data-editor-pass]) { display:none; }
.expanded-preview { height:24px; min-height:24px; padding:0 6px; margin-left:10px; border:0; background:transparent; color:var(--accent); box-shadow:none; }
.studio-page .reading-editor #expandedManuscript textarea { box-sizing:border-box; min-height:30px; max-height:none; height:auto; padding:4px 6px; font-size:14px; line-height:22px; }
.expanded-comment-toggle { opacity:0; }
.expanded-row:hover .expanded-comment-toggle,.expanded-row:focus-within .expanded-comment-toggle { opacity:1; }
@media(max-width:700px) { .expanded-comment-toggle { opacity:1; } }
.expanded-tags button.expanded-chip { min-height:24px; height:24px; margin:0; padding:3px 6px; border:0; border-radius:4px; font-size:12px; font-weight:400; box-shadow:none; }
.studio-page #expandedManuscript .expanded-explanation input { box-sizing:border-box; min-width:0; width:calc(100% - 28px); }
/* Reading-order mode stays a single plain-text editor with the original gutter. */
.expanded-only-action { display:none; }
.is-expanded-manuscript .expanded-only-action { display:inline-flex; }
.expanded-text-editor { position:relative; --expanded-gutter-width:330px; background:var(--surface-1); }
.studio-page .reading-editor #expandedManuscript #expandedReadingText { display:block; box-sizing:border-box; width:calc(100% - var(--expanded-gutter-width)); margin:0 0 0 var(--expanded-gutter-width); min-height:600px; padding:20px 14px 30px; border:0; border-left:1px solid var(--line); border-radius:0; font:16px/30px inherit; font-size:16px; line-height:30px; resize:none; overflow:hidden; background:var(--surface-1); color:var(--ink); }
.expanded-text-gutter { position:absolute; top:0; left:0; width:var(--expanded-gutter-width); background:var(--surface-2); overflow:hidden; }
.expanded-text-label-line { display:grid; grid-template-columns:minmax(0,1fr) 30px 24px; align-items:start; min-height:30px; }
.expanded-text-label-line .expanded-tags { flex-wrap:nowrap; height:30px; box-sizing:border-box; padding:3px 4px; }
.expanded-text-label-line .expanded-number { line-height:30px; }
.expanded-text-label-line .editor-line-play { opacity:1; }
.expanded-text-label-line [data-type=comment] { color:var(--muted); }
@media(max-width:700px) { .expanded-text-editor { --expanded-gutter-width:180px; }.expanded-text-label-line .expanded-chip { max-width:65px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; } }
.studio-page .reading-editor #expandedReadingText { font-family:inherit; }

/* Syntax overlay preserves one textarea, selection and the exact audio order. */
.expanded-text-display { position:absolute; top:0; left:var(--expanded-gutter-width); right:0; padding:20px 14px 30px; border-left:1px solid transparent; box-sizing:border-box; font:inherit; font-size:16px; line-height:30px; pointer-events:none; color:var(--ink); }
.expanded-text-display-line { white-space:pre-wrap; overflow-wrap:break-word; }
.expanded-text-display-line:is([data-kind=heading],[data-kind=take],[data-kind=note],[data-kind=comment],[data-kind=pause]) { font-size:12px; font-style:italic; color:#9299a3; }
/* While editing a note, match native caret metrics; restore the small style on blur. */
.expanded-text-display-line.is-editing { font-size:16px; font-style:normal; }
.studio-page .reading-editor #expandedManuscript #expandedReadingText { position:relative; z-index:1; color:transparent; caret-color:var(--ink); background:transparent; }
body:has(#rawText) .expanded-tags button.expanded-chip:hover:not(:disabled),
body:has(#rawText) .expanded-tags button.expanded-chip:focus-visible { color:#18283d; background:#dce7f4; opacity:1; transform:none; }
body:has(#rawText) .expanded-text-gutter .editor-line-play:hover:not(:disabled) { color:#843900; background:#ffead5; opacity:1; }
body:has(#rawText) .studio-action-tooltip { color:#233044; background:#fff; opacity:1; box-shadow:0 4px 14px #15223822; }
body:has(#rawText) .reading-tools .ghost:hover:not(:disabled) { color:var(--ink); background:var(--surface-2); opacity:1; }

body:has(#rawText) .expanded-tags button:is(.expanded-pause-chip,.expanded-comment-chip) { font-size:11px; font-style:italic; color:#9299a3; background:#edf0f3; }

.expanded-label-dialog { width:min(420px,calc(100vw - 32px)); padding:24px; border:1px solid var(--line); border-radius:14px; background:var(--surface-1); color:var(--ink); }
.expanded-label-dialog::backdrop { background:#15223855; }
.expanded-label-dialog h3 { margin:0 0 18px; font-size:18px; }
.expanded-label-dialog label { display:grid; grid-template-columns:100px minmax(0,1fr); gap:12px; align-items:center; margin:12px 0; }
.expanded-label-dialog label[hidden] { display:none; }
.expanded-label-dialog :is(select,input) { width:100%; min-width:0; margin:0; height:38px; padding:6px 10px; }
.expanded-label-actions { display:flex; justify-content:flex-end; gap:10px; margin-top:22px; }
body:has(#rawText) [data-line-label=repeat],body:has(#rawText) #sectionRepeatSelect { display:none; }

body:has(#rawText) :is(#sectionRepeatControl,.editor-line-gutter [data-label-kind=repeat],label:has(> #workflowRepeat)) { display:none !important; }
/* The explicit-parse ribbon shares one compact control style. */
body.is-word-manuscript .ribbon-field { display:flex; align-items:center; gap:8px; margin:0; font-size:13px; white-space:nowrap; }
body.is-word-manuscript .ribbon-field > span { color:var(--muted); }
body.is-word-manuscript .ribbon-field select { width:auto; min-width:100px; max-width:230px; height:36px; padding:5px 30px 5px 12px; border:1px solid var(--line); border-radius:8px; background-color:#fff; font-size:13px; }
body.is-word-manuscript .ribbon-field select[data-editor-voice] { width:190px; }
body.is-word-manuscript .ribbon-control-group { gap:8px; padding-right:12px; }
body.is-word-manuscript #ribbon-edit { gap:12px; }
body.is-word-manuscript #generateRecordingButton { background:#b85b0b; color:#fff; border-color:#b85b0b; padding:8px 14px; border-radius:8px; font-size:13px; min-height:36px; }
body.is-word-manuscript #legacyManuscriptActions[hidden],body.is-word-manuscript #playbackSettings[hidden] { display:none!important; }
body.is-word-manuscript .manuscript-ribbon-head { min-height:44px; }
body.is-word-manuscript .manuscript-ribbon-pane { padding:12px 16px; }
body.is-word-manuscript #manuscriptTextActions button { font-size:13px; min-height:34px; }
@media(max-width:680px) { body.is-word-manuscript .ribbon-field { flex-wrap:wrap; } body.is-word-manuscript .manuscript-ribbon-head .manuscript-ribbon-tabs { flex-basis:auto; } body.is-word-manuscript .manuscript-ribbon-tabs button { padding:10px 8px; font-size:13px; } }
body.is-word-manuscript .reading-tools #generateRecordingButton { background:#b85b0b!important; color:#fff!important; border:1px solid #b85b0b; font-weight:600; }
body.is-word-manuscript .reading-tools #generateRecordingButton:hover:not(:disabled) { background:#9f4906!important; }
body.is-word-manuscript .expanded-questionType-chip { background:#edf0f6; color:#46556b; }
/* Import is part of the editor ribbon, without a separate manuscript heading. */
body.is-word-manuscript .raw-section > .import-section-head[hidden] { display:none!important; }
body.is-word-manuscript .manuscript-import-actions { display:flex; align-items:center; gap:8px; flex-shrink:0; }
body.is-word-manuscript .manuscript-import-actions .photo-ocr-actions { display:flex; align-items:center; margin:0; padding:0; }
body.is-word-manuscript .reading-tools #photoOcrButton { display:inline-flex; align-items:center; gap:5px; height:34px; padding:4px 10px; border:1px solid var(--line); border-radius:6px; background:#fff; font-size:13px; }
body.is-word-manuscript .reading-tools #photoOcrButton:hover:not(:disabled) { background:#f1f4f8; }
body.is-word-manuscript .reading-tools #photoOcrHint.manuscript-import-status { display:block; margin:0; padding:8px 14px; font-size:12px; color:var(--muted); background:#f7f8fa; }
body.is-word-manuscript .reading-tools #photoOcrHint.manuscript-import-status[hidden] { display:none; }
@media(max-width:680px) {
  body.is-word-manuscript .manuscript-ribbon-head { gap:0; padding:0 8px 8px; }
  body.is-word-manuscript .manuscript-ribbon-head .manuscript-ribbon-tabs { flex:1 0 100%; }
  body.is-word-manuscript .manuscript-import-actions { margin-left:auto; padding-top:6px; }
}

.expanded-pause-tag { display:inline-flex; align-items:center; gap:0; }
body:has(#rawText) .expanded-tags .expanded-pause-remove { min-height:24px; height:24px; min-width:18px; padding:0 3px; margin:0; border:0; background:#edf0f4; color:#687381; font-size:13px; box-shadow:none; }
body:has(#rawText) .expanded-tags .expanded-pause-remove:hover { background:#fee2e2; color:#991b1b; transform:none; }

/* Pause colors identify their place in the reading sequence, including collapsed rows. */
body:has(#rawText) .expanded-tags .expanded-pause-tag[data-pause-kind=repeat] { --pause-bg:#e5efff; --pause-ink:#285c9e; }
body:has(#rawText) .expanded-tags .expanded-pause-tag[data-pause-kind=question] { --pause-bg:#e4f3ea; --pause-ink:#276448; }
body:has(#rawText) .expanded-tags .expanded-pause-tag[data-pause-kind=section] { --pause-bg:#eee7fa; --pause-ink:#6a4290; }
body:has(#rawText) .expanded-tags .expanded-pause-tag[data-pause-kind=instruction] { --pause-bg:#fff0dc; --pause-ink:#87551c; }
body:has(#rawText) .expanded-tags .expanded-pause-tag :is(.expanded-pause-chip,.expanded-pause-remove) { background:var(--pause-bg,#edf0f3); color:var(--pause-ink,#687381); }
body:has(#rawText) .expanded-tags .expanded-pause-tag .expanded-pause-chip:hover { background:var(--pause-bg,#edf0f3); color:var(--pause-ink,#687381); box-shadow:inset 0 0 0 1px currentColor; transform:none; }
body:has(#rawText) .expanded-tags .expanded-pause-tag .expanded-pause-remove:hover { background:#fee2e2; color:#991b1b; }

/* Label families share consistent contrast and role/voice pairing. */
body:has(#rawText) .expanded-tags [data-label-tone=male] { --label-bg:#e7f0ff; --label-hover:#d6e6ff; --label-ink:#245595; }
body:has(#rawText) .expanded-tags [data-label-tone=female] { --label-bg:#f0e9fb; --label-hover:#e6d9f7; --label-ink:#70459a; }
body:has(#rawText) .expanded-tags [data-label-tone=teal] { --label-bg:#e0f3f0; --label-hover:#ccebe5; --label-ink:#21665e; }
body:has(#rawText) .expanded-tags [data-label-tone=rose] { --label-bg:#fbe7ef; --label-hover:#f5d5e3; --label-ink:#963f61; }
body:has(#rawText) .expanded-tags [data-label-tone=amber] { --label-bg:#fff0dc; --label-hover:#f8e1bc; --label-ink:#80501c; }
body:has(#rawText) .expanded-tags [data-label-tone=indigo] { --label-bg:#e9ecfc; --label-hover:#dce1f8; --label-ink:#4c5596; }
body:has(#rawText) .expanded-tags [data-label-tone=instruction] { --label-bg:#e8eef4; --label-hover:#dae4ee; --label-ink:#4b6178; }
body:has(#rawText) .expanded-tags [data-label-tone=reuse] { --label-bg:#e4f3ea; --label-hover:#cfe8db; --label-ink:#276448; }
body:has(#rawText) .expanded-tags [data-label-tone=neutral] { --label-bg:#eef0f3; --label-hover:#e1e5ea; --label-ink:#536071; }
body:has(#rawText) .expanded-tags [data-label-tone=comment] { --label-bg:#f0f1f3; --label-hover:#e5e7eb; --label-ink:#68717e; }
body:has(#rawText) .expanded-tags button.expanded-chip[data-label-tone] { background:var(--label-bg); color:var(--label-ink); border:1px solid transparent; border-radius:5px; font-size:12px; font-weight:500; line-height:16px; padding:3px 6px; }
body:has(#rawText) .expanded-tags button.expanded-voice-chip[data-label-tone] { border-color:color-mix(in srgb,var(--label-ink) 28%,transparent); font-weight:400; }
body:has(#rawText) .expanded-tags button.expanded-chip[data-label-tone]:hover:not(:disabled),body:has(#rawText) .expanded-tags button.expanded-chip[data-label-tone]:focus-visible { background:var(--label-hover); color:var(--label-ink); border-color:var(--label-ink); opacity:1; transform:none; }
body:has(#rawText) .expanded-tags button.expanded-comment-chip[data-label-tone] { font-size:11px; font-style:italic; font-weight:400; }
body:has(#rawText) .expanded-text-label-line.is-selected .expanded-chip { outline:1px solid currentColor; outline-offset:1px; }

/* A label opens one nearby setting; narrow screens use a bottom panel. */
.expanded-label-dialog.expanded-label-popover { position:fixed; inset:auto; margin:0; width:340px; max-width:calc(100vw - 24px); max-height:calc(100dvh - 24px); overflow:auto; padding:20px; box-shadow:0 12px 40px #15223826; z-index:1200; }
.expanded-label-popover h3 { font-size:16px; padding-right:28px; margin-bottom:14px; }
.expanded-label-popover p { font-size:13px; line-height:1.6; color:var(--muted); margin:10px 0; }
.expanded-label-popover label { grid-template-columns:72px minmax(0,1fr); gap:8px; }
.expanded-label-popover label:has([data-pause-scope]) { grid-template-columns:1fr; }
.expanded-label-popover .expanded-label-close { position:absolute; right:8px; top:8px; width:28px; min-width:28px; height:28px; min-height:28px; padding:0; border:0; box-shadow:none; background:transparent; color:#536071; }
.expanded-label-popover .expanded-label-close:hover { background:#e8edf3; color:#243449; }
.expanded-label-popover [data-label-apply] { width:100%; margin:12px 0 0; }
.expanded-label-popover [data-label-apply][hidden] { display:none; }
@media(max-width:680px) { .expanded-label-dialog.expanded-label-popover { inset:auto 12px 12px; width:auto; max-width:none; max-height:75dvh; border-radius:16px; } }

/* The ribbon keeps document actions visible and row settings in a batch panel. */
body.is-word-manuscript .manuscript-ribbon-pane { padding:8px 14px; gap:8px; align-items:center; }
body.is-word-manuscript #ribbon-edit #manuscriptTextActions { padding:0; border:0; flex:1; }
body.is-word-manuscript #ribbon-edit #manuscriptTextActions > button { order:-1; }
body.is-word-manuscript #ribbon-edit .manuscript-help-button { order:2!important; width:30px; min-width:30px; padding:0; }
.manuscript-special-menu { position:relative; margin:0; }
.manuscript-special-menu summary { cursor:pointer; list-style:none; font-size:13px; font-weight:600; padding:7px 10px; border-radius:6px; }
.manuscript-special-menu summary::-webkit-details-marker { display:none; }
.manuscript-special-menu summary::after { content:'⌄'; margin-left:7px; }
.manuscript-special-menu summary[aria-disabled=true] { color:#8a929c; cursor:default; }
.manuscript-special-menu summary:hover { background:#edf0f3; color:#243449; }
.manuscript-special-options { position:absolute; top:100%; left:0; min-width:150px; padding:6px; background:#fff; border:1px solid var(--line); border-radius:8px; box-shadow:0 8px 22px #15223820; z-index:30; }
body.is-word-manuscript .manuscript-special-options button { display:flex; width:100%; justify-content:flex-start; }
.manuscript-batch-settings:popover-open { display:grid; gap:12px; width:min(620px,calc(100vw - 32px)); max-height:75dvh; overflow:auto; padding:20px; border:1px solid var(--line); border-radius:12px; background:var(--surface-1); color:var(--ink); box-shadow:0 16px 45px #15223826; }
.manuscript-batch-settings::backdrop { background:#15223810; }
.manuscript-batch-settings h3 { margin:0; font-size:17px; }
body.is-word-manuscript .manuscript-batch-settings .ribbon-control-group { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border:0; padding:0; width:100%; }
body.is-word-manuscript .manuscript-batch-settings .ribbon-field { display:grid; gap:6px; align-items:start; }
body.is-word-manuscript .manuscript-batch-settings .ribbon-field select { width:100%; max-width:none; }
body.is-word-manuscript #manuscriptGenerationExtras { padding:0; border:0; margin-left:auto; }
body.is-word-manuscript #manuscriptGenerationExtras .workflow-entry-actions { padding:0; border:0; }
body.is-word-manuscript .manuscript-ribbon-status #backgroundTaskStatus { margin:0; padding:3px 8px; font-size:12px; max-width:340px; }
@media(max-width:680px) { .manuscript-batch-settings:popover-open { width:calc(100vw - 24px); padding:14px; }.manuscript-special-options { left:auto; right:0; } body.is-word-manuscript #manuscriptGenerationExtras { margin-left:0; } }

.manuscript-batch-settings { position:fixed; }
body.is-word-manuscript .manuscript-batch-settings .manuscript-batch-close { position:absolute; right:8px; top:8px; width:28px; height:28px; min-height:28px; padding:0; border:0; background:transparent; color:#536071; box-shadow:none; }
body.is-word-manuscript .manuscript-batch-settings .manuscript-batch-close:hover { background:#e8edf3; color:#243449; }

#manuscriptParseProgress { display:none; }
body.is-unified-manuscript #parseProgressModal .parse-progress-panel { width:min(320px,calc(100vw - 32px)); padding:22px 24px; text-align:left; }
body.is-unified-manuscript #parseProgressModal :is(.parse-progress-spinner,#parseProgressHint) { display:none; }
body.is-unified-manuscript #parseProgressTitle { font-size:15px; margin:0 0 12px; }
body.is-unified-manuscript #manuscriptParseProgress { display:block; position:relative; width:100%; height:8px; border:0; border-radius:999px; overflow:hidden; background:#eee7df; }
body.is-unified-manuscript #manuscriptParseProgress .parse-progress-indicator { display:block; width:40%; height:100%; border-radius:inherit; background:#b85b0b; animation:manuscript-parse-wait 1.4s ease-in-out infinite; }
@keyframes manuscript-parse-wait { from { transform:translateX(-100%); } to { transform:translateX(250%); } }
@media (prefers-reduced-motion:reduce) {
  body.is-unified-manuscript #manuscriptParseProgress .parse-progress-indicator { animation:none; width:100%; opacity:.65; }
}
body.is-parsing-manuscript :is(#manuscriptStructureIssue,#normalizeReviewPanel,#normalizeIssuesPanel,#normalizeIssuesButton,#manuscriptRibbonContext) { visibility:hidden; }

body:has(#rawText) .expanded-tags [data-label-tone=speed] { --label-bg:#e2f3f1; --label-hover:#cce8e4; --label-ink:#24635b; }

/* Playback cursor changes decoration only, preserving textarea caret metrics. */
.expanded-text-display-line.is-reading { text-decoration-line:underline; text-decoration-color:#b85b0b; text-decoration-thickness:2px; text-underline-offset:5px; }
.expanded-text-display-line.is-reading-paused { text-decoration-style:dashed; }
.expanded-text-label-line { position:relative; }
.expanded-text-label-line.is-reading { background:#fff1df; box-shadow:inset 3px 0 #b85b0b; }
.expanded-text-label-line.is-reading-paused { background:#f6f0e8; }
.expanded-pause-tag.is-reading { outline:2px solid #b85b0b; outline-offset:2px; border-radius:5px; }
body:has(#rawText) .expanded-reading-marker { position:absolute; right:2px; top:3px; width:22px; min-width:22px; height:24px; min-height:24px; padding:0; border:0; border-radius:4px; background:#fff1df; color:#9b4808; box-shadow:none; font-size:14px; }
.manuscript-playback-controls { display:flex; align-items:center; gap:10px; margin-left:auto; font-size:12px; }
.manuscript-playback-controls label { display:flex; align-items:center; gap:5px; white-space:nowrap; }
.manuscript-playback-controls input { width:14px; height:14px; min-height:0; margin:0; accent-color:#b85b0b; }
.manuscript-playback-controls button { min-height:26px; height:26px; padding:2px 6px; font-size:12px; }

.expanded-audio-status { flex-shrink:0; display:inline-flex; align-items:center; height:22px; padding:0 5px; border-radius:4px; font-size:12px; font-weight:500; white-space:nowrap; background:#eef0f3; color:#536071; }
.expanded-audio-status[data-audio-state=ready] { background:#e0f3e8; color:#246445; }
.expanded-audio-status[data-audio-state=working] { background:#e5efff; color:#235ba5; }
.expanded-audio-status[data-audio-state=working]::before { content:''; width:9px; height:9px; margin-right:4px; border:1.5px solid currentColor; border-right-color:transparent; border-radius:50%; animation:parse-spin 1s linear infinite; }
.expanded-audio-status:is([data-audio-state=dirty],[data-audio-state=partial]) { background:#fff0db; color:#8b501b; }
.expanded-audio-status[data-audio-state=failed] { background:#fce8e8; color:#9b3434; }
#manuscriptAudioSummary { font-size:12px; color:#536071; white-space:nowrap; }
@media(prefers-reduced-motion:reduce){ .expanded-audio-status[data-audio-state=working]::before { animation:none; } }
/* Labels must never wrap inside fixed-height rows while the textarea reflows. */
body:has(#rawText) .expanded-text-label-line .expanded-tags button.expanded-chip {
  flex:0 1 auto; min-width:0; max-width:180px; white-space:nowrap;
  overflow:hidden; text-overflow:ellipsis;
}
.expanded-text-label-line .expanded-tags { min-width:0; align-items:flex-start; }
@media(min-width:701px) { .expanded-text-editor { --expanded-gutter-width:380px; } }

#manuscriptHelpPanel { position:fixed; inset:0; margin:auto; width:min(640px,calc(100vw - 32px)); max-height:calc(100dvh - 48px); box-sizing:border-box; overflow:auto; padding:18px 22px; border:1px solid var(--line); border-radius:12px; background:var(--surface-1); color:var(--ink); box-shadow:0 12px 48px #0002; }
#manuscriptHelpPanel::backdrop { background:#0002; }
.manuscript-help-head { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.manuscript-help-head h3 { margin:0; font-size:17px; }
.manuscript-help-head button { width:30px; height:30px; min-height:30px; padding:0; font-size:20px; }

/* Stable ribbon tracks: state text and responsive wrapping cannot move controls. */
body.is-word-manuscript .manuscript-ribbon-head { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; padding:0 14px; }
body.is-word-manuscript .manuscript-ribbon-head .manuscript-ribbon-tabs { min-width:0; padding:0; align-self:stretch; align-items:stretch; }
body.is-word-manuscript .manuscript-ribbon-tabs button { margin:0; min-height:44px; white-space:nowrap; }
body.is-word-manuscript .manuscript-import-actions { margin:0; padding:0; }
body.is-word-manuscript .manuscript-ribbon-pane { min-height:52px; box-sizing:border-box; gap:12px; padding:8px 14px; }
body.is-word-manuscript #ribbon-edit { display:grid; grid-template-columns:auto minmax(0,1fr); }
body.is-word-manuscript #ribbon-generate { display:grid; grid-template-columns:auto auto minmax(0,1fr) auto; }
body.is-word-manuscript .manuscript-ribbon-pane > .ribbon-control-group { min-width:0; margin:0; padding:0 12px 0 0; gap:8px; align-items:center; align-content:center; }
body.is-word-manuscript .manuscript-ribbon-pane > .ribbon-control-group:last-of-type { padding-right:0; }
body.is-word-manuscript .manuscript-ribbon-pane :is(button,select), body.is-word-manuscript .manuscript-special-menu summary { box-sizing:border-box; margin:0; min-height:36px; height:36px; white-space:nowrap; line-height:20px; }
body.is-word-manuscript .manuscript-ribbon-pane button { display:inline-flex; align-items:center; justify-content:center; gap:6px; padding:7px 10px; }
body.is-word-manuscript .manuscript-ribbon-pane button:hover { transform:none; }
body.is-word-manuscript .ribbon-field { min-width:0; flex-wrap:nowrap; }
body.is-word-manuscript .ribbon-field select { min-width:0; max-width:100%; }
body.is-word-manuscript #manuscriptGenerationExtras { margin:0; justify-content:flex-end; }
body.is-word-manuscript #manuscriptGenerationExtras .workflow-entry-actions { display:flex; flex-wrap:wrap; gap:8px; margin:0; }
body.is-word-manuscript .manuscript-ribbon-status { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:4px 16px; padding:6px 14px; }
body.is-word-manuscript #manuscriptRibbonContext { grid-column:1; grid-row:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
body.is-word-manuscript #manuscriptAudioSummary { grid-column:1; grid-row:2; min-width:0; overflow:hidden; text-overflow:ellipsis; }
body.is-word-manuscript #sectionQuickNavigation { grid-column:2; grid-row:1; min-width:0; justify-content:flex-end; flex-wrap:nowrap; }
body.is-word-manuscript .manuscript-playback-controls { grid-column:2; grid-row:2; margin:0; min-width:0; justify-content:flex-end; }
body.is-word-manuscript .manuscript-ribbon-status #backgroundTaskStatus { grid-column:1 / -1; grid-row:3; width:auto; min-width:0; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
@media(max-width:1200px) {
 body.is-word-manuscript #ribbon-generate { grid-template-columns:repeat(2,minmax(0,1fr)); }
 body.is-word-manuscript #ribbon-generate > .ribbon-control-group { border:0; padding:0; justify-content:flex-start; }
}
@media(max-width:900px) {
 body.is-word-manuscript .manuscript-ribbon-status { grid-template-columns:minmax(0,1fr); }
 body.is-word-manuscript #sectionQuickNavigation { grid-column:1; grid-row:3; justify-content:flex-start; flex-wrap:wrap; }
 body.is-word-manuscript .manuscript-playback-controls { grid-column:1; grid-row:4; justify-content:flex-start; }
 body.is-word-manuscript .manuscript-ribbon-status #backgroundTaskStatus { grid-row:5; }
}
@media(max-width:680px) {
 body.is-word-manuscript .manuscript-ribbon-head { grid-template-columns:minmax(0,1fr); gap:4px; padding:0 10px 8px; }
 body.is-word-manuscript .manuscript-import-actions { justify-content:flex-end; }
 body.is-word-manuscript #ribbon-edit,body.is-word-manuscript #ribbon-generate { grid-template-columns:minmax(0,1fr); }
 body.is-word-manuscript .manuscript-ribbon-pane { padding:8px 10px; gap:8px; }
 body.is-word-manuscript #openManuscriptBatchSettings { justify-self:start; max-width:100%; overflow:hidden; text-overflow:ellipsis; }
 body.is-word-manuscript #sectionQuickNavigation { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:6px; width:100%; }
 body.is-word-manuscript #sectionQuickNavigation > :is(span,label) { display:none; }
 body.is-word-manuscript #sectionQuickSelect { width:100%; min-width:0; max-width:100%; }
 body.is-word-manuscript .manuscript-batch-settings .ribbon-control-group { grid-template-columns:minmax(0,1fr); }
}

/* Playback occupies a complete ribbon row, with the waveform using free space. */
body.is-word-manuscript #ribbon-generate > .ribbon-control-group:has(> #sectionAudioControls) { grid-column:1 / -1; width:100%; padding:0; border:0; }
body.is-word-manuscript #ribbon-generate > .ribbon-control-group:has(> #sectionAudioControls.hidden) { display:none; }
body.is-word-manuscript #sectionAudioControls { flex:1 1 100%; width:100%; min-width:0; flex-wrap:nowrap; }
body.is-word-manuscript :is(.section-audio-controls,.main-audio-controls) { flex-wrap:nowrap; }
body.is-word-manuscript :is(.section-audio-controls,.main-audio-controls) .mini-player { width:auto; max-width:none; min-width:0; flex:1 1 0; box-sizing:border-box; }
body.is-word-manuscript :is(.section-audio-controls,.main-audio-controls) .ai-badge { flex:0 0 auto; white-space:nowrap; }
body.is-word-manuscript .mini-player-wave { min-width:0; }

body.is-word-manuscript .mini-player-bars { grid-template-columns:repeat(48,minmax(0,1fr)); column-gap:min(2px,1%); }

/* Split playback controls keep scope selection beside the existing gutter arrow. */
.expanded-text-label-line { grid-template-columns:minmax(0,1fr) 30px 42px; }
.editor-play-controls { display:flex; align-items:center; height:30px; }
.editor-play-controls[hidden] { display:none; }
body:has(#rawText) .editor-play-controls .editor-line-play { width:24px; min-width:24px; }
body:has(#rawText) .editor-play-scope-toggle { width:18px; min-width:18px; height:26px; padding:0; border:0; border-radius:4px; background:transparent; color:var(--accent); font-size:12px; box-shadow:none; }
body:has(#rawText) .editor-play-scope-toggle:hover { background:#ffead5; color:#843900; }
.editor-play-scope-toggle:focus-visible { outline:2px solid var(--accent); outline-offset:-2px; }
.editor-play-scope-menu { position:fixed; z-index:10000; display:grid; gap:2px; min-width:146px; padding:5px; border:1px solid var(--line); border-radius:10px; background:var(--surface-1,#fff); box-shadow:0 6px 24px #24344920; }
body:has(#rawText) .editor-play-scope-menu button { padding:9px 12px; border:0; border-radius:6px; background:transparent; color:var(--ink,#243449); text-align:left; font-size:14px; white-space:nowrap; box-shadow:none; }
body:has(#rawText) .editor-play-scope-menu button:is(:hover,:focus-visible) { background:#fff1df; color:#843900; }
