/* Shared rich-media layout for previews, homework, review and print surfaces. */
[data-content-theme="light"], .qrc-question[data-content-theme="light"] { --question-foreground: #222222; }
[data-content-theme="dark"], .qrc-question[data-content-theme="dark"] { --question-foreground: #F4F4F5; }
.qrc-question { width: 100%; min-width: 0; color: var(--question-foreground, #222222); }
.qrc-question .katex,
.qrc-question .MathJax,
.qrc-question mjx-container { color: inherit; }
.qrc-stem, .qrc-option-content { min-width: 0; overflow-wrap: anywhere; overflow-x: auto; }
.qrc-stem > :first-child, .qrc-option-content > :first-child { margin-top: 0; }
.qrc-stem > :last-child, .qrc-option-content > :last-child { margin-bottom: 0; }

/* Canonical tables produced by OCR/manual rich-text input. */
.qrc-question table {
  width: 100%;
  margin: 8px 0;
  border: 1px solid #9aa3ab;
  border-collapse: collapse;
  border-spacing: 0;
  table-layout: fixed;
  color: inherit;
  background: transparent;
}
.qrc-question th,
.qrc-question td {
  min-width: 44px;
  height: 32px;
  box-sizing: border-box;
  border: 1px solid #9aa3ab;
  padding: 5px 8px;
  text-align: center;
  vertical-align: middle;
  overflow-wrap: anywhere;
}
.qrc-question th {
  font-weight: 600;
  background: rgba(127, 127, 127, 0.08);
}
.qrc-question td:empty::after,
.qrc-question th:empty::after {
  content: "\00a0";
}
.qrc-question caption {
  margin-bottom: 6px;
  font-weight: 600;
  text-align: left;
}
.qrc-media { max-width: 100%; vertical-align: middle; }
.qrc-media-block { display: flex; width: min(var(--qrc-width, 100%), 100%); margin: 8px 0; }
.qrc-media-inline { display: inline-flex; width: min(var(--qrc-width, 100%), 100%); margin: 0 4px; }
.qrc-media img, .qrc-media video { display: block; max-width: 100%; width: 100%; height: auto; object-fit: contain; }
.qrc-media-viewport {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: var(--qrc-crop-aspect-width) / var(--qrc-crop-aspect-height);
  overflow: hidden;
}
.qrc-media-viewport > img {
  position: absolute;
  top: 0;
  left: 0;
  width: var(--qrc-crop-image-width) !important;
  max-width: none !important;
  transform: translate(var(--qrc-crop-shift-x), var(--qrc-crop-shift-y));
  transform-origin: top left;
}
.qrc-align-left { margin-right: auto; justify-content: flex-start; }
.qrc-align-center { margin-left: auto; margin-right: auto; justify-content: center; }
.qrc-align-right { margin-left: auto; justify-content: flex-end; }
.qrc-options { display: grid; gap: 6px 12px; margin-top: 8px; min-width: 0; }
.qrc-options-one_row { grid-template-columns: repeat(var(--qrc-option-count, 4), minmax(0, 1fr)); }
.qrc-options-two_per_row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.qrc-options-one_column { grid-template-columns: minmax(0, 1fr); }
.qrc-option { display: flex; align-items: flex-start; min-width: 0; }
.qrc-option-key { flex: 0 0 auto; margin-right: 4px; font-weight: 600; }
.qrc-option-content { flex: 1 1 auto; }
.qrc-media-error { display: inline-block; min-width: 56px; min-height: 24px; border: 1px dashed #c83b3b; }
.qrc-top-row,
.qrc-bottom-row,
.qrc-layout2 { display: grid; min-width: 0; }
.qrc-top-row,
.qrc-layout2 { grid-template-columns: minmax(0, 4fr) minmax(120px, 1fr); }
.qrc-bottom-row { grid-template-columns: minmax(0, 3fr) minmax(180px, 2fr); }
.qrc-left-column { min-width: 0; }
.qrc-question-image { min-width: 0; padding: 5px; }
.qrc-question-image > .qrc-media { margin-top: 0; margin-bottom: 0; }
.qrc-layout4 > .qrc-question-image { width: 100%; }
@media (max-width: 640px) {
  .qrc-options-one_row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .qrc-top-row,
  .qrc-layout2,
  .qrc-bottom-row { grid-template-columns: minmax(0, 1fr); }
}
@media print {
  .qrc-question { --question-foreground: #222222; }
  .qrc-media img, .qrc-media video { break-inside: avoid; }
  .qrc-media video { display: none; }
  .qrc-question table { break-inside: auto; }
  .qrc-question tr { break-inside: avoid; break-after: auto; }
  .qrc-question thead { display: table-header-group; }
}
