/* R97 bug batch: long choices grow with text in both the exam and review. */
.mock-question-frame .blank-tables { align-items: start; }
.mock-question-frame .blank-group button {
  height: auto;
  min-height: 44px;
  padding: 8px 12px;
  white-space: normal;
  overflow-wrap: anywhere;
}
.mock-question-frame .question-type-sentence_equivalence .exam-options button { grid-template-columns: 18px minmax(0, 1fr); }
.mock-question-frame .question-type-sentence_equivalence .option-label { white-space: normal; overflow-wrap: anywhere; }

/* The answer summary, explanation and feedback share one reading surface.
   Only pagination is outside it; added content cannot steal another grid row. */
.mock-analysis-shell { min-width: 0; width: min(100%, var(--mock-canvas-max)); }
.mock-analysis-detail {
  grid-template-rows: minmax(0, 1fr) auto;
  min-width: 0;
  padding: 22px 24px;
}
.mock-analysis-scroll {
  min-height: 0;
  min-width: 0;
  overflow-y: scroll;
  overflow-x: hidden;
  scrollbar-gutter: stable;
  scrollbar-width: auto;
  scrollbar-color: #6f7f90 #e1e4e7;
  padding-right: 12px;
  overscroll-behavior-y: contain;
}
.mock-analysis-scroll::-webkit-scrollbar { width: 12px; }
.mock-analysis-scroll::-webkit-scrollbar-track { background: #e1e4e7; border-left: 1px solid #c6cbd0; }
.mock-analysis-scroll::-webkit-scrollbar-thumb { min-height: 42px; border: 2px solid #e1e4e7; background: #6f7f90; }
.mock-analysis-answer-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 12px;
  padding: 0 0 18px;
}
.mock-analysis-answer-grid > div { grid-row: 2; padding: 12px; }
.mock-analysis-answer-grid > b {
  position: static;
  grid-row: 1;
  grid-column: 1 / -1;
  justify-self: start;
  min-width: 0;
  padding: 4px 10px;
}
.mock-analysis-answer-grid p { overflow-wrap: anywhere; }
.mock-analysis-explanation { display: block; padding-top: 20px; overflow: visible; }
.mock-analysis-explanation-copy {
  max-height: none;
  padding: 0;
  overflow: visible;
  overflow-wrap: anywhere;
  scrollbar-gutter: auto;
}
.mock-analysis-nav { grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: 12px; padding-top: 16px; }
.mock-analysis-nav button { min-width: 0; min-height: 44px; }
.mock-analysis-question { --mock-gutter: 28px; }
.mock-analysis-question > .mock-question-frame { grid-template-columns: minmax(0, 1fr); }
.mock-analysis-question > .mock-question-frame.is-text-completion { grid-template-rows: auto minmax(0, 1fr) auto; }
.mock-analysis-question .mock-instruction-row { padding-bottom: 12px; }
.mock-analysis-question .text-completion-layout { height: auto; }
.mock-analysis-question .mock-question-frame.is-text-completion .question-body { padding-top: 16px; padding-bottom: 16px; gap: 20px; }
.mock-analysis-shell .mock-analysis-question .mock-question-frame .mock-bottom-hint { height: auto; min-height: 38px; min-width: 0; padding-block: 8px; }
.mock-analysis-question .mock-question-frame .mock-instruction,
.mock-analysis-question .mock-question-frame .mock-bottom-hint { max-width: 100%; }

@media (max-width: 1100px) {
  html:has(.mock-analysis-shell.has-review) { height: auto; overflow-y: auto; }
  body:has(.mock-analysis-shell.has-review) { height: auto; min-height: 100dvh; overflow: visible; }
  .mock-analysis-scroll { overflow: visible; padding-right: 0; scrollbar-gutter: auto; }
  .mock-analysis-question,
  .mock-analysis-question.is-reading-preview,
  .mock-analysis-question > .mock-question-frame { height: auto; }
  .mock-analysis-question > .mock-question-frame { grid-template-rows: auto auto auto; overflow: visible; }
  .mock-analysis-question > .mock-question-frame > .mock-question-stage { overflow: visible; }
  .mock-analysis-question .mock-question-frame.is-reading .reading-layout { display: block; height: auto; }
  .mock-analysis-question .mock-question-frame.is-reading .passage-pane,
  .mock-analysis-question .mock-question-frame.is-reading .question-pane { height: auto; overflow: visible; grid-template-columns: minmax(0, 1fr); min-width: 0; }
  .mock-analysis-question .mock-question-frame.is-reading .reading-passage-group-bar { white-space: normal; overflow-wrap: anywhere; }
  .mock-analysis-question .mock-question-frame.is-reading .reading-passage-scroll,
  .mock-analysis-question .mock-question-frame.is-reading .reading-question-scroll { overflow: visible; }
  .mock-analysis-question .mock-question-frame.is-reading .question-pane { border-top: 1px solid #ccc; }
}
@media (max-width: 600px) {
  .mock-analysis-shell .mock-analysis-top { height: auto; flex-wrap: wrap; gap: 12px; padding: 14px 16px; }
  .mock-analysis-top .mock-ets-brand { min-width: 0; max-width: 100%; height: auto; margin: 0; gap: 10px; }
  .mock-analysis-top .mock-ets-mark { width: 40px; height: 30px; font-size: 15px; }
  .mock-analysis-top .mock-ets-gre { margin: 0; font-size: 32px; }
  .mock-analysis-top .mock-ets-product { margin: 0; font-size: 12px; }
  .mock-analysis-return { min-height: 44px; }
  .mock-analysis-bar { padding: 12px; gap: 12px; }
  .mock-analysis-bar > strong { line-height: 1.5; }
  .mock-analysis-tabs button { min-height: 44px; }
  .mock-analysis-detail { padding: 16px; }
  .mock-analysis-question .mock-question-frame .mock-instruction-row { padding: 14px 12px; }
  .mock-analysis-question .mock-question-frame .mock-instruction { width: 100%; padding: 10px 12px; }
  .mock-analysis-question .mock-question-frame.is-text-completion .mock-question-stage { padding: 0 16px 16px; }
  .mock-analysis-question .mock-question-frame.is-text-completion .question-body { padding-top: 10px; gap: 24px; }
  .mock-analysis-question .mock-question-frame .mock-question-footer { padding-inline: 12px; }
  .mock-analysis-question .blank-tables { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .mock-analysis-question .blank-group h3 { text-align: left; margin-bottom: 8px; }
  .mock-analysis-answer-grid { grid-template-columns: minmax(0, 1fr); }
  .mock-analysis-answer-grid > div { grid-row: auto; }
  .mock-analysis-question .mock-question-frame.is-reading .passage-copy { padding: 16px; }
  .mock-analysis-question .mock-question-frame.is-reading .reading-question-scroll { padding: 16px; }
}
