.quiz-export-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
  margin: 1rem 0 1.5rem;
}

.quiz-export-actions .btn {
  min-height: 46px;
}

.quiz-export-actions .btn[disabled] {
  cursor: wait;
  opacity: 0.7;
  transform: none;
}

.quiz-export-status {
  flex-basis: 100%;
  min-height: 1.25rem;
  margin: 0;
  color: var(--muted, #53647f);
  font-size: 0.9rem;
  font-weight: 600;
}

.quiz-export-status.is-error {
  color: #b42318;
}

.quiz-export-source {
  display: none !important;
}

.quiz-print-layer {
  display: none;
}

/* Intrinsic SVG widths must not enlarge a quiz grid track beyond the screen. */
[data-quiz-export] [data-export-question],
[data-quiz-export] [data-export-media] {
  min-width: 0;
  max-width: 100%;
}

[data-quiz-export] [data-export-media] svg {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
}

.quiz-diagram-reader { display: grid; grid-template-columns: minmax(0, 1fr); min-width: 0; margin-block: 1rem; }
.quiz-diagram-controls { min-width: 0; font-size: 1rem; }
.quiz-diagram-controls summary { width: fit-content; padding: .65rem .2rem; cursor: pointer; font-weight: 600; }
.quiz-diagram-controls p { font-size: .95rem; margin: .4rem 0 .75rem; }
.quiz-diagram-controls .diagram-reduce-label { display: none; }
.quiz-diagram-controls[open] .diagram-expand-label { display: none; }
.quiz-diagram-controls[open] .diagram-reduce-label { display: inline; }
.quiz-diagram-panel { min-width: 0; width: 100%; max-width: 100%; overflow-x: auto; }
.quiz-diagram-panel:focus-visible { outline: 3px solid #245db3; outline-offset: 3px; }
.quiz-diagram-reader:has(.quiz-diagram-controls[open]) .quiz-diagram-panel svg { width: 100%; min-width: 640px; max-width: none; height: auto; max-height: none; }
.quiz-diagram-reader:has(.quiz-diagram-controls[open]) .quiz-diagram-panel .question-figure { width: 100%; min-width: 674px; max-width: none; overflow: visible; }

@media (max-width: 560px) {
  .quiz-export-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .quiz-export-actions .btn {
    width: 100%;
  }
}

@page {
  size: A4 portrait;
  margin: 14mm;
}

@media print {
  html,
  body {
    width: auto !important;
    min-width: 0 !important;
    background: #fff !important;
  }

  body.quiz-export-printing > :not(.quiz-print-layer) {
    display: none !important;
  }

  body.quiz-export-printing .quiz-print-layer {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    color: #172033 !important;
    font: 10.5pt/1.45 "DM Sans", Arial, sans-serif !important;
  }

  body.quiz-export-printing .quiz-print-layer,
  body.quiz-export-printing .quiz-print-layer *,
  body.quiz-export-printing .quiz-print-layer *::before,
  body.quiz-export-printing .quiz-print-layer *::after {
    box-sizing: border-box !important;
    animation: none !important;
    filter: none !important;
    text-shadow: none !important;
    transition: none !important;
  }

  .quiz-print-header {
    margin-bottom: 8mm;
    padding-bottom: 5mm;
    border-bottom: 2px solid #1a56a8;
    break-after: avoid;
  }

  .quiz-print-brand {
    margin: 0 0 2mm;
    color: #1a56a8 !important;
    font-size: 11pt;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
  }

  .quiz-print-title {
    margin: 0 0 3mm;
    color: #172033 !important;
    font-size: 20pt;
    line-height: 1.15;
  }

  .quiz-print-meta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.5mm 7mm;
    margin: 0;
  }

  .quiz-print-meta div {
    display: flex;
    gap: 2mm;
    min-width: 0;
  }

  .quiz-print-meta dt {
    flex: 0 0 auto;
    font-weight: 800;
  }

  .quiz-print-meta dd {
    min-width: 0;
    margin: 0;
    overflow-wrap: anywhere;
  }

  .quiz-print-question {
    margin: 0 0 7mm;
    padding: 0 0 6mm;
    border-bottom: 1px solid #d8e0ea;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .quiz-print-question.is-long {
    break-inside: auto;
    page-break-inside: auto;
  }

  .quiz-print-question-heading {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 4mm;
    margin-bottom: 2.5mm;
    break-after: avoid;
  }

  .quiz-print-question-heading h2 {
    margin: 0;
    color: #1a56a8 !important;
    font-size: 12pt;
  }

  .quiz-print-marks {
    color: #53647f !important;
    font-size: 9pt;
    white-space: nowrap;
  }

  .quiz-print-context {
    margin: 0 0 3mm;
    padding: 3mm;
    border-left: 3px solid #9fb9dc;
    background: #f5f8fc !important;
    white-space: pre-wrap;
  }

  .quiz-print-prompt {
    margin: 0 0 3mm;
    color: #172033 !important;
    font-size: 11pt;
    font-weight: 650;
    overflow-wrap: anywhere;
    white-space: pre-wrap;
  }

  .quiz-print-prompt > :first-child,
  .quiz-print-media > :first-child,
  .quiz-print-review > :first-child {
    margin-top: 0 !important;
  }

  .quiz-print-prompt > :last-child,
  .quiz-print-media > :last-child,
  .quiz-print-review > :last-child {
    margin-bottom: 0 !important;
  }

  .quiz-print-media {
    margin: 3mm 0;
    text-align: center;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .quiz-print-media img,
  .quiz-print-media svg,
  .quiz-print-media canvas,
  .quiz-print-media table {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 95mm !important;
    margin-inline: auto !important;
    object-fit: contain !important;
  }

  .quiz-print-media table {
    width: 100% !important;
    border-collapse: collapse !important;
  }

  .quiz-print-media th,
  .quiz-print-media td {
    padding: 2mm !important;
    border: 1px solid #7b8798 !important;
    color: #172033 !important;
    text-align: left !important;
  }

  .quiz-print-media figcaption {
    margin-top: 2mm;
    color: #53647f !important;
    font-size: 8.5pt;
  }

  .quiz-print-options {
    display: grid;
    gap: 2mm;
    margin: 3mm 0 0;
  }

  .quiz-print-option {
    display: grid;
    grid-template-columns: 6mm minmax(0, 1fr);
    gap: 2mm;
    align-items: start;
    padding: 2.5mm 3mm;
    border: 1px solid #cbd5e1;
    border-radius: 2mm;
    background: #fff !important;
    color: #172033 !important;
    overflow-wrap: anywhere;
  }

  .quiz-print-option.is-selected {
    border-color: #1a56a8;
    background: #f3f7fd !important;
  }

  .quiz-print-option.is-correct {
    border-color: #14866d;
    background: #f1faf7 !important;
  }

  .quiz-print-option-marker {
    font-size: 13pt;
    line-height: 1;
  }

  .quiz-print-response,
  .quiz-print-review,
  .quiz-print-answer-key,
  .quiz-print-media-note {
    margin-top: 3mm;
    padding: 3mm;
    border-left: 3px solid #9fb9dc;
    background: #f5f8fc !important;
    color: #172033 !important;
    overflow-wrap: anywhere;
    white-space: pre-wrap;
  }

  .quiz-print-answer-line {
    display: block;
    min-height: 8mm;
    margin-top: 2mm;
    border-bottom: 1px solid #697586;
  }

  .quiz-print-broken-media {
    padding: 4mm;
    border: 1px dashed #7b8798;
    color: #53647f !important;
    font-style: italic;
  }

  .quiz-print-layer button,
  .quiz-print-layer input,
  .quiz-print-layer select,
  .quiz-print-layer textarea,
  .quiz-print-layer audio,
  .quiz-print-layer video,
  .quiz-print-layer iframe,
  .quiz-print-layer [data-export-exclude] {
    display: none !important;
  }
}
