.exam-zoomable-image { cursor: zoom-in; }
.exam-zoomable-image:focus-visible { outline: 2px solid #16828a; outline-offset: 3px; }
.exam-inline-image-viewport { display: block; width: 100%; min-width: 0; overflow: auto; overscroll-behavior: contain; touch-action: pan-x pan-y pinch-zoom; }
.exam-inline-image-viewport.exam-image-expanded { max-height: min(480px, 55dvh); }
.exam-inline-image-viewport[hidden], .exam-inline-image-controls[hidden] { display: none; }
.exam-inline-image-viewport img.exam-image-scaled { width: var(--exam-image-width) !important; height: auto !important; max-width: none !important; max-height: none !important; display: block; margin-left: auto; margin-right: auto; }
.exam-inline-image-controls { display: flex; align-items: center; gap: 8px; margin: 8px 0 16px; }
.exam-inline-image-controls output { width: 52px; text-align: center; font-size: 14px; font-variant-numeric: tabular-nums; }
.exam-image-control { width: 40px; height: 40px; flex: 0 0 40px; padding: 0; border: 1px solid #b9c7cb; border-radius: 4px; background: #fff; color: #18373b; font-size: 24px; line-height: 1; cursor: pointer; }
.exam-image-control:hover { background: #edf4f5; }
.exam-image-control:disabled { opacity: 0.4; cursor: default; }
.exam-image-choice-item { min-width: 0; display: flex; flex-direction: column; }
.exam-image-choice-item > .choice { width: 100%; flex: 1; min-width: 0; }
.exam-image-choice-item > .exam-inline-image-controls { margin: 8px 0; }
