/* Viewer layout only. Existing match/mismatch marker rules remain untouched. */
.pmf-viewer-viewport { overflow: hidden; touch-action: none; }
.pmf-viewer-stage { transition: none !important; }
.pmf-viewer-stage > img { transition: none !important; user-select: none; }
.pmf-viewer-panning { cursor: grabbing !important; }
.pmf-viewer-controls {
    display: flex; align-items: center; flex-wrap: wrap; gap: 8px;
    padding: 10px 12px; line-height: 1.4; background: #0d1420;
    color: #e2e8f0; border: 1px solid #334155; border-radius: 0 0 10px 10px;
}
.pmf-viewer-controls[hidden] { display: none; }
.pmf-viewer-controls button {
    border: 1px solid #475569; border-radius: 6px; padding: 5px 12px;
    color: inherit; background: #172235; cursor: pointer; font: inherit;
    min-height: 36px;
}
.pmf-viewer-controls button:disabled { opacity: .4; cursor: default; }
.pmf-viewer-controls output { min-width: 52px; text-align: center; font-variant-numeric: tabular-nums; }
.pmf-viewer-help { font-size: 12px; color: #94a3b8; }
.pmf-viewer-controls button:focus-visible, .pmf-viewer-viewport:focus-visible { outline: 2px solid #e2e8f0; outline-offset: 2px; }
