/*
 * 模块价值：让访谈以左侧问题/历史与主区当前问答协作，实时录音和手工补写同屏可用。
 * 职责：拥有访谈左右布局、4px 基础阅读节奏、问题与修改邻接、原位置编辑及来源渐进呈现。
 * 输入：views.mjs 的语义类名与控制器提供的开关状态；输出：深浅主题、桌面和窄屏样式。
 * 依赖：tokens.css 的颜色、字体及 pages.css 的通用控件；须在 pages.css 后加载。
 * 副作用：只影响访谈与 .proposal-logic，不修改页面事实、录音状态或候选选择。
 * 限制：轻弹层只展示候选；保存、预选、确认和实时转录仍由控制器执行。编辑中的窄栏不裁切表单。
 */
.interview-page .interview-layout {
  grid-template-columns: 236px minmax(0, 1fr);
  gap: 24px;
}
.interview-main { min-width: 0; }
.interview-rail {
  min-width: 0;
  padding-right: 16px;
  border-right: 1px solid var(--line);
}
.interview-project {
  color: var(--muted);
  font-size: .84rem;
  font-weight: 550;
  margin-bottom: 12px;
}
.interview-rail-actions { display: grid; gap: 6px; }
.interview-rail-button {
  width: 100%;
  min-height: 48px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--muted);
  text-align: left;
  font-size: .87rem;
}
.interview-rail-button:hover,
.interview-rail-button.is-active { background: var(--soft); color: var(--accent); }
.interview-rail-button.is-active { font-weight: 600; }
.interview-rail-button .count-badge { margin-left: auto; }
.interview-rail-section { margin-top: 14px; padding: 0 12px; }
.rail-suggestion-open { padding-left: 0; font-size: .8rem; }
.interview-rail .interview-history {
  margin-top: 20px;
  max-height: min(580px, calc(100dvh - 325px));
  min-height: 130px;
  overflow-y: auto;
  padding-right: 6px;
}
.interview-rail .interview-history .record-question { margin: 13px 0 0; }
.interview-rail .record-meta { gap: 5px 8px; font-size: .71rem; }
.interview-context-note {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 20px 12px 0;
  margin-top: 18px;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: .78rem;
}
.interview-context-note .context-dot { margin-top: 8px; }
.interview-main .current-question h2 { max-width: none; }
.interview-main .question-purpose { margin-bottom: 12px; }
.interview-main .recording-row {
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 16px;
  margin: 0 0 12px;
}
.recording-controls { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.recording-row.is-recording .record-button { color: var(--danger); border-color: var(--danger); }
.recording-row.is-paused .recording-time { color: var(--muted); }
.voice-statuses { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.voice-status {
  display: flex;
  align-items: baseline;
  gap: 7px;
  font-size: .79rem;
  color: var(--muted);
}
.voice-status > span:first-child { font-weight: 550; white-space: nowrap; }
.voice-status #transcript-status { max-width: 39ch; }
.transcript-interim { margin: -8px 0 16px; padding: 9px 13px; border-left: 1px solid var(--accent); color: var(--muted); background: var(--soft); font-size: .84rem; white-space: pre-wrap; overflow-wrap: anywhere; }
.answer-label-row { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-bottom: 9px; }
.answer-label-row .input-label { margin: 0; }
.interview-page #answer-input { height: clamp(190px, 30dvh, 320px); min-height: 190px; max-height: none; padding: 14px 18px; overflow-y: auto; line-height: 1.75; }
.interview-main .recording-transcript {
  margin-top: 12px;
  padding: 0;
  background: transparent;
  border-radius: 0;
  color: var(--muted);
  font-size: .8rem;
}
.recording-transcript summary { display: list-item; width: fit-content; cursor: pointer; min-height: 32px; padding: 4px 0; }
.recording-transcript p { max-height: 170px; overflow: auto; padding: 12px 14px; border-left: 1px solid var(--line); font-size: .87rem; }
.interview-main .answer-actions { justify-content: flex-start; gap: 12px; margin-top: 12px; }
.question-suggestion-anchor,
.answer-save-anchor { position: relative; }

/* 候选属于短时选择层，锚定触发动作；不会在回答区下方形成常驻第二工作区。 */
.question-picker {
  position: absolute;
  width: 430px;
  max-width: calc(100vw - 40px);
  z-index: 10;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--surface);
}
.picker-suggestion { left: calc(100% + 16px); top: 0; }
.picker-save { left: 0; bottom: calc(100% + 12px); }
.question-picker::before {
  content: "";
  position: absolute;
  width: 10px;
  height: 10px;
  background: var(--surface);
  border: 1px solid var(--line);
  transform: rotate(45deg);
}
.picker-suggestion::before { left: -6px; top: 18px; border-top: 0; border-right: 0; }
.picker-save::before { left: 28px; bottom: -6px; border-top: 0; border-left: 0; }
.question-picker-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.question-picker-heading h3 { font-size: .98rem; }
.picker-close { padding: 6px; min-height: 44px; width: 44px; }
.picker-close svg { width: 17px; height: 17px; }
.question-picker-note { color: var(--muted); font-size: .78rem; margin: 2px 0 14px; }
.question-picker .next-questions { margin: 0; gap: 9px; }
.question-picker .next-question { padding: 13px 14px; }
.question-picker .next-question > small { grid-row: 1; display: flex; align-items: center; gap: 8px; font-size: .73rem; }
.question-picker .next-question > span { grid-row: 2; font-size: .9rem; }
.question-picker .next-question .planned-question-label { margin-left: auto; font-size: .7rem; font-weight: 550; color: var(--accent); white-space: nowrap; }
.question-picker .next-question.is-planned { background: var(--soft); border-color: var(--accent); }
.question-picker .empty-note { font-size: .84rem; color: var(--muted); padding: 8px 0; }
.custom-question-choice { display:flex; align-items:center; gap:12px; width:100%; padding:12px 14px; margin-top:12px; text-align:left; color:var(--ink); background:transparent; border:1px solid var(--control-line); border-radius:8px; }
.custom-question-choice > span { flex:1; min-width:0; }
.custom-question-choice strong { display:block; font-size:.88rem; font-weight:550; }
.custom-question-choice small { display:block; color:var(--muted); font-size:.77rem; margin-top:3px; overflow-wrap:anywhere; }
.custom-question-choice:hover, .custom-question-choice.is-planned { border-color:var(--accent); background:var(--soft); }
.custom-question-form { margin-top:14px; padding-top:14px; border-top:1px solid var(--line); }
.custom-question-form textarea { width:100%; min-height:96px; padding:10px 12px; resize:vertical; border:1px solid var(--control-line); border-radius:8px; background:var(--surface); color:var(--ink); font:inherit; font-size:.9rem; line-height:1.65; }
.custom-question-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:12px; }

/* 提炼附着在片段旁：默认最多三条已陈述重点，完整内容和来源按需展开。 */
.interview-understanding { margin-top:12px; padding:10px 0 0; border-top:1px solid var(--line); }
.understanding-heading { display:flex; align-items:center; flex-wrap:wrap; gap:5px 10px; }
.understanding-heading h3 { margin:0; font-size:.85rem; font-weight:600; }
.understanding-status { font-size:.73rem; color:var(--muted); }
.understanding-refresh { margin-left:auto; padding:3px 0; min-height:30px; font-size:.73rem; }
.understanding-message, .understanding-missing-target, .understanding-uncovered-note { margin:5px 0 0; color:var(--muted); font-size:.73rem; line-height:1.65; overflow-wrap:anywhere; }
.understanding-preview { display:grid; gap:3px; margin-top:5px; }
.understanding-point { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; column-gap:10px; padding:4px 0; min-width:0; }
.understanding-point-line { display:flex; align-items:baseline; gap:8px; min-width:0; }
.understanding-category { flex:none; color:var(--accent); background:var(--soft); padding:1px 5px; border-radius:4px; font-size:.67rem; white-space:nowrap; }
.understanding-point-line > p { margin:0; font-size:.79rem; line-height:1.7; overflow-wrap:anywhere; min-width:0; flex:1; }
.understanding-point.is-preview .understanding-point-line > p { display:block; }
.understanding-basis { flex:none; color:var(--muted); font-size:.67rem; }
.understanding-source { color:var(--muted); font-size:.7rem; min-width:0; }
.understanding-source > summary { cursor:pointer; padding:2px 0; min-height:25px; white-space:nowrap; }
.understanding-source[open] { grid-column:1/-1; }
.understanding-source figure { margin:7px 0; padding:7px 10px; border-left:2px solid var(--line); background:var(--soft); }
.understanding-source figcaption { font-size:.68rem; margin-bottom:3px; }
.understanding-source blockquote { margin:0; max-height:180px; overflow:auto; color:var(--ink); font-size:.77rem; line-height:1.75; white-space:pre-wrap; overflow-wrap:anywhere; }
.understanding-expanded-text { margin:6px 0; color:var(--ink); font-size:.79rem; line-height:1.7; white-space:pre-wrap; overflow-wrap:anywhere; }
.understanding-association { margin:6px 0; line-height:1.65; overflow-wrap:anywhere; }
.understanding-details { margin-top:5px; color:var(--muted); font-size:.75rem; }
.understanding-details > summary { width:fit-content; cursor:pointer; min-height:30px; padding:5px 0; color:var(--accent); }
.understanding-boundary { margin:5px 0 10px; font-size:.72rem; line-height:1.65; }
.understanding-headline { margin:0 0 8px; color:var(--ink); font-size:.79rem; line-height:1.7; overflow-wrap:anywhere; }
.understanding-inferences, .understanding-open-questions, .understanding-uncovered { margin-top:10px; padding-top:8px; border-top:1px solid var(--line); }
.understanding-details h4 { margin:0 0 4px; font-size:.76rem; color:var(--ink); font-weight:550; }
.understanding-details .quiet-note { font-size:.72rem; line-height:1.65; }
.understanding-point.is-inferred .understanding-point-line { flex-wrap:wrap; }
.understanding-point.is-inferred .understanding-point-line > p { flex-basis:calc(100% - 60px); }
.understanding-open-questions ol, .understanding-uncovered ul { margin:7px 0 0; padding-left:20px; }
.understanding-open-questions li, .understanding-uncovered li { margin:5px 0; line-height:1.7; }
.understanding-open-questions p { margin:0; color:var(--ink); font-size:.78rem; }
.understanding-open-questions small { display:block; font-size:.72rem; line-height:1.65; }
.next-question-reason { grid-row:3; grid-column:1; margin-top:5px; font-style:normal; color:var(--muted); font-size:.72rem; line-height:1.6; }
.rail-question-reason { display:block; margin-top:5px; font-size:.7rem; font-weight:400; line-height:1.6; color:var(--muted); }

/* 桌面用三列轻量摘要缩短高度；展开原话才占整行，窄屏保持可读的纵向顺序。 */
@media(min-width:851px) {
  .understanding-preview { grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:6px 18px; align-items:start; }
  .understanding-preview .understanding-point { display:block; padding:2px 0; }
  .understanding-preview .understanding-point-line { align-items:flex-start; }
  .understanding-preview .understanding-category { margin-top:2px; }
  .understanding-preview .understanding-point-line > p { font-size:.76rem; }
  .understanding-preview .understanding-source { margin-left:40px; }
  .understanding-preview .understanding-point:has(> .understanding-source[open]) { grid-column:1/-1; }
  .understanding-preview .understanding-source[open] { margin-left:0; }
}

@media(max-width:520px) {
  .understanding-heading { gap:4px 8px; }
  .understanding-point { column-gap:7px; }
  .understanding-point-line { gap:6px; }
  .understanding-point-line > p { font-size:.76rem; }
  .understanding-source > summary { font-size:.67rem; }
  .understanding-category { font-size:.65rem; padding:1px 4px; }
}

/* 整理过程附着在操作及候选旁，原生 details 由用户主动展开。 */
.proposal-logic { margin-top: 14px; border-top: 1px solid var(--line); padding-top: 7px; font-size: .78rem; }
.proposal-logic summary { cursor: pointer; min-height: 38px; padding: 9px 0; color: var(--accent); }
.proposal-logic ol { margin: 9px 0 0; padding-left: 18px; }
.proposal-logic li { margin-bottom: 12px; padding-left: 2px; }
.proposal-logic strong { font-size: .8rem; font-weight: 600; }
.proposal-logic p { margin-top: 4px; color: var(--muted); white-space: pre-wrap; overflow-wrap: anywhere; font-size: .78rem; }

@media (min-width: 1600px) {
  .interview-page .interview-layout { grid-template-columns: 260px minmax(0, 1fr); gap: 28px; }
}
@media (max-width: 1100px) {
  .interview-page .interview-layout { grid-template-columns: 212px minmax(0, 1fr); gap: 25px; }
  .interview-rail { padding-right: 18px; }
  .voice-statuses { gap: 7px 14px; }
}
@media (max-width: 850px) {
  /* 窄屏压缩标题间距并按 DOM 顺序重排，不用裁切内容换取固定高度。 */
  .interview-page { padding-top: 18px; }
  .interview-page > .workbench-heading { margin-bottom: 12px; }
  .interview-page .interview-layout { grid-template-columns: 1fr; gap: 16px; }
  .interview-rail { padding: 0 0 10px; border-right: 0; border-bottom: 1px solid var(--line); }
  .interview-project { display: none; }
  .interview-rail-actions { grid-template-columns: 1fr 1fr; gap: 8px; }
  .interview-page #question-suggestions { display: none; }
  .interview-rail-section { margin-top: 9px; padding-left: 12px; }
  .interview-context-note { display: none; }
  .interview-rail .interview-history { max-height: 280px; min-height: 0; }
  .picker-suggestion { left: 0; top: calc(100% + 10px); }
  .picker-suggestion::before { top: -6px; left: 24px; border-bottom: 0; border-right: 0; border-top: 1px solid var(--line); }
  .interview-main .current-question h2 { max-width: none; }
  .interview-main .question-purpose { margin-bottom: 14px; }
}
@media (max-width: 720px) {
  .interview-rail-button { padding: 9px 10px; gap: 7px; font-size: .8rem; }
  .interview-rail-button svg { width: 18px; }
  .interview-main .recording-row { gap: 11px; margin-bottom: 18px; }
  .voice-statuses { width: 100%; gap: 4px; flex-direction: column; align-items: flex-start; }
  .voice-status { font-size: .75rem; }
  .answer-label-row .quiet-note { font-size: .72rem; }
  .interview-page #answer-input { padding: 13px 14px; }
  .interview-main .answer-actions { gap: 12px; align-items: flex-start; }
  .answer-actions > .quiet-note { padding-top: 9px; }
  .question-picker { width: min(430px, calc(100vw - 40px)); padding: 12px; }
  .question-picker .next-question { padding: 12px; }
}
@media (min-width: 521px) and (max-width: 850px) {
  .interview-main .recording-row { gap: 10px 14px; }
  .interview-main .voice-statuses { width: auto; flex-direction: row; gap: 12px; }
}

/* 持续访谈：左栏两区常态展开，主区以片段而非表单问答组织；中心选择不重启录音。 */
.interview-rail-section { margin-top: 0; padding: 0; }
.rail-section-heading { display:flex; justify-content:space-between; align-items:center; gap:8px; margin-bottom:10px; }
.rail-section-heading h2 { display:flex; align-items:center; gap:8px; font-size:.87rem; font-weight:600; }
.rail-section-heading .button { padding:5px 0; min-height:36px; font-size:.75rem; }
.rail-question-list { display:grid; gap:9px; }
.rail-question { display:block; width:100%; text-align:left; padding:10px 0; background:transparent; border:0; border-bottom:1px solid var(--line); color:var(--ink); border-radius:0; }
.rail-question strong { display:block; font-size:.78rem; font-weight:550; line-height:1.65; }
.rail-question > span { display:block; font-size:.75rem; line-height:1.7; color:var(--muted); margin-top:4px; }
.rail-question:hover, .rail-question.is-planned { color:var(--accent); }
.interview-rail .interview-history { max-height:calc(100dvh - 430px); min-height:100px; padding-top:18px; border-top:1px solid var(--line); margin-top:20px; }
.question-suggestion { padding-block: 8px; border-bottom: 1px solid var(--line); }
/* 原题与修改在同一行分组，长题按可用宽度换行，辅助操作不再独占下一行。 */
.question-card-row { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: start; gap: 8px; min-width: 0; }
.question-card-row > .rail-question { padding: 0; border-bottom: 0; }
.question-card-row > .question-edit-trigger { align-self: start; padding-inline: 4px; }
.question-card-row > .question-inline-editor { grid-column: 1 / -1; }
.history-record { padding:0 0 14px; }
.history-topic { display:block; width:100%; border:0; padding:0; text-align:left; border-radius:0; background:transparent; color:var(--ink); }
.history-topic > strong { font-size:.76rem; color:var(--accent); font-weight:550; }
.history-topic > span { display:block; font-size:.77rem; font-weight:550; line-height:1.65; margin-top:5px; }
.history-topic p { color:var(--muted); font-size:.75rem; line-height:1.75; margin-top:5px; }
.history-topic small { display:flex; align-items:center; gap:6px; color:var(--accent); font-size:.7rem; margin-top:6px; }
.history-topic small svg { width:14px; height:14px; }
.history-business-preview > small { display:block; margin-top:5px; color:var(--muted); font-size:.65rem; }
.history-business-preview > p { overflow-wrap:anywhere; }
.history-topic .history-business-pending { margin-top:5px; color:var(--muted); font-size:.71rem; }
.history-source { margin-top:4px; color:var(--muted); font-size:.7rem; }
.history-source > summary { min-height:28px; padding:4px 0; cursor:pointer; }
.history-business-full { margin-top:5px; }
.history-business-full > p { margin-top:5px; font-size:.72rem; line-height:1.75; overflow-wrap:anywhere; }
.history-business-full > .history-business-boundary { color:var(--muted); font-size:.66rem; }
.history-business-full small { display:inline-block; margin-left:6px; font-size:.65rem; color:var(--muted); }
.history-original-label { margin:8px 0 3px; color:var(--muted); font-size:.66rem; }
.history-source .record-text { max-height:170px; overflow:auto; margin:0; font-size:.73rem; }
.segment-play { font-size:.71rem; padding:4px 0; min-height:30px; }
.revisit-heading { display:flex; justify-content:space-between; align-items:center; gap:14px; margin-bottom:14px; font-size:.8rem; color:var(--accent); }
.original-segment { margin-bottom:14px; color:var(--muted); font-size:.8rem; }
.original-segment p { margin:7px 0; }
.voice-statuses { color:var(--muted); font-size:.8rem; }
.segment-editor { border:1px solid var(--control-line); border-radius:8px; background:var(--surface); }
.segment-editor:focus-within { outline:3px solid var(--focus); outline-offset:3px; }
.interview-page .segment-editor #answer-input { border:0; border-radius:8px; background:transparent; outline:0; }
.segment-editor .transcript-interim { margin:0; padding:0 18px 12px; max-height:84px; overflow-y:auto; border:0; background:transparent; color:var(--muted); font-size:.9rem; line-height:1.75; }
.question-picker.picker-center { width:720px; z-index:30; }
.question-picker.picker-center::before { display:none; }
.picker-center .next-questions { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.picker-center .next-question { align-content:start; min-height:112px; }
.picker-center .next-question > small { display:block; }
.picker-center .planned-question-label { display:block; margin-top:4px; }
#segment-audio { width:100%; margin-top:12px; }
.capture-storage-note { margin: -8px 0 18px; }
/* 片段文本有界滚动，不随长转写撑开页面；人工拉伸仍保留在 160–360px 范围内。 */
@media(max-width:850px) {
  .interview-rail { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
  .interview-page #question-suggestions { display:grid; }
  .interview-rail .interview-history { margin-top:0; padding-top:0; border-top:0; max-height:170px; min-height:0; }
  .rail-question-list { max-height:140px; overflow:auto; }
  .rail-section-heading { flex-wrap:wrap; gap:2px 8px; margin-bottom:5px; }
}
@media(max-width:520px) {
  .picker-center .next-questions { grid-template-columns:1fr; }
  .picker-center .next-question { min-height:0; }
  .interview-rail { gap:12px; }
  .interview-rail .interview-history { max-height:155px; }
  .rail-question-list { max-height:125px; }
}


/* 紧凑左右协作：左侧选题与历史保持同组，主区由当前题、录音、片段和保存依次引导。 */
.interview-page,.interview-main,.interview-rail,.interview-rail-section,.current-question { min-width: 0; }
.interview-main .current-question h2 { font-size: 1.45rem; line-height: 1.5; margin-bottom: 6px; overflow-wrap: anywhere; }
.question-purpose { overflow-wrap: anywhere; }
.interview-rail .interview-history { max-height: calc(100dvh - 340px); padding: 12px 6px 6px; margin-top: 12px; scroll-padding: 6px; }
.rail-question-list { padding: 4px 6px 6px; scroll-padding: 6px; }
.rail-section-heading { margin-bottom: 6px; flex-wrap: wrap; }
.rail-section-heading h2 { min-width: 0; }
.rail-section-heading .button,.segment-play,.understanding-refresh { min-height: 44px; }
.rail-question,.history-topic { min-height: 44px; overflow-wrap: anywhere; }
.rail-question strong,.history-topic > span,.history-topic p { font-size: .8rem; }
.rail-question > span,.rail-question-reason,.history-business-preview > small,.history-source,.history-original-label { font-size: .75rem; }
.history-record { padding-bottom: 12px; }
.recording-transcript summary,.understanding-source > summary,.understanding-details > summary,.history-source > summary,.proposal-logic summary { min-height: 44px; padding: 10px 0; white-space: normal; }
.understanding-point-line { flex-wrap: wrap; }
.understanding-point-line > p { flex-basis: 12rem; }
.understanding-source { font-size: .75rem; }
.answer-label-row { flex-wrap: wrap; gap: 4px 12px; margin-bottom: 8px; }
.interview-main .answer-actions { flex-wrap: wrap; margin-top: 12px; }
.voice-status { min-width: 0; flex-wrap: wrap; }
.voice-status #transcript-status { overflow-wrap: anywhere; min-width: 0; }
.capture-storage-note { margin: -4px 0 12px; }
/* 问题编辑与片段保存分开呈现；表单保留完整文字并提供可换行操作，不改回答来源。 */
.question-heading-row { display: flex; align-items: flex-start; justify-content: flex-start; flex-wrap: wrap; gap: 8px; }
.question-heading-row h2 { flex: 0 1 auto; min-width: 0; max-width: calc(100% - 52px); }
.interview-main .question-heading-row h2 { max-width: calc(100% - 52px); margin-bottom: 0; }
.question-heading-row > .button { flex: none; }
/* 查看态允许题干收缩换行，按钮留在同组；编辑态仍按整行表单换行。 */
.question-heading-row:not(:has(.question-inline-editor)) { flex-wrap:nowrap; }
.interview-main .question-heading-row h2.question-inline-label { flex-basis: 100%; max-width: 100%; font-size: .8rem; }
.interview-main .question-purpose { margin: 4px 0 12px; }
.question-edit-form { display: grid; gap: 8px; margin: 12px 0; padding: 12px; border: 1px solid var(--control-line); border-radius: 8px; background: var(--surface); }
.question-edit-form label { font-size: .87rem; font-weight: 600; }
.question-edit-form textarea { width: 100%; min-height: 96px; }
.question-edit-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; }
.question-edit-actions .quiet-note { flex: 1 1 16rem; }
.history-question-actions { display: flex; flex-wrap: wrap; gap: 4px 8px; }
/* 行内编辑留在原题所在位置。文本框与状态提示组成一个离开保存区域，原题不再另开编辑面板。 */
.question-inline-editor.question-edit-form { width:100%; min-width:0; margin:4px 0 8px; padding:0; border:0; border-radius:0; background:transparent; }
.question-inline-fieldset { display:grid; gap:8px; min-width:0; margin:0; padding:0; border:0; }
.question-inline-editor .input-label { margin:0; }
.question-inline-editor .question-inline-text { display:block; width:100%; min-height:88px; resize:vertical; line-height:1.6; font-size:inherit; }
.question-inline-label { font-size:.8rem; color:var(--muted); }
.question-inline-status { margin:0; font-size:.76rem; }
.question-inline-options { min-width:0; font-size:.8rem; }
.question-inline-options > summary { width:fit-content; min-height:32px; display:flex; align-items:center; cursor:pointer; color:var(--muted); text-decoration:underline; text-underline-offset:3px; }
.question-inline-options > p { margin-block:8px; }
.question-inline-options input { width:100%; }
.question-edit-retry { justify-self:start; }
[data-question-editable] { cursor:text; }
/* 主操作保持稳定44px；桌面辅助操作收紧，触屏仍沿用44px点击区。 */
@media (min-width:721px) and (pointer:fine) {
  .question-edit-trigger,.rail-section-heading .button,.segment-play,.understanding-refresh { min-height:32px; padding-block:4px; }
  .recording-transcript summary,.understanding-source > summary,.understanding-details > summary,.history-source > summary,.proposal-logic summary { min-height:32px; padding-block:4px; }
}
/* 录音、状态及片段是同一组；取消负外边距，让块之间保持明确的8/16px间隔。 */
.recording-controls { gap:8px; }
.voice-statuses { gap:4px 8px; }
.interview-main .recording-row { gap:8px; margin-bottom:8px; }
.capture-storage-note { margin:0 0 16px; }
.interview-main .answer-actions { gap:8px; margin-top:8px; }
.interview-understanding { margin-top:16px; padding-top:12px; }
.understanding-heading { gap:4px 8px; }
.understanding-preview { margin-top:8px; gap:8px 16px; }
.revisit-heading { gap:8px; margin-bottom:12px; flex-wrap:wrap; }
@media (max-width:850px) {
  .interview-page { padding-top: 12px; }
  .interview-rail .interview-history { max-height: 190px; min-height: 0; margin-top: 0; padding: 4px 6px 6px; }
  .interview-rail { gap: 12px; }
  .interview-main .question-purpose { margin-bottom: 12px; }
}
@media (max-width:720px) {
  .interview-main .recording-row { margin-bottom: 12px; gap: 8px; }
  .voice-status,.answer-label-row .quiet-note { font-size: .8rem; }
  .interview-main .current-question h2 { font-size: 1.32rem; }
  .question-edit-form { padding: 10px; }
  .interview-main .answer-actions { gap: 8px 12px; }
  .answer-actions > .quiet-note { padding-top: 0; }
}
/* 320px 与两倍文字下左栏改为单列、各自滚动，完整中文问句与历史都能继续阅读。 */
@media (max-width:380px) {
  .interview-rail { grid-template-columns: minmax(0,1fr); gap: 8px; }
  .rail-question-list,.interview-rail .interview-history { max-height: 150px; }
}
/* 窄屏双栏仍可阅读；进入编辑后解除该组的滚动高度，错误与恢复操作完整显示。 */
.rail-question-list:has(.question-inline-editor),.interview-rail .interview-history:has(.question-inline-editor) { max-height:none; overflow:visible; }
.question-edit-actions { gap:8px; }
/* 双栏手机的题干使用整列宽度；修改只占标题行，不能把整段正文压成窄条。 */
@media(max-width:520px) {
 .question-card-row:not(:has(.question-inline-editor)) { position:relative; display:block; }
 .question-card-row>.question-edit-trigger { position:absolute; inset:0 0 auto auto; min-width:44px; }
 .question-card-row>.rail-question>strong,.question-card-row>.history-topic>strong { display:flex; align-items:center; min-height:44px; padding-right:52px; }
}
