.image-zoom-viewport{position:relative;min-width:0;min-height:0;overflow:hidden;touch-action:none;cursor:default}
.image-zoom-viewport.can-pan{cursor:grab}
.image-zoom-viewport.is-panning{cursor:grabbing}
.image-zoom-viewport .image-zoom-image{position:absolute;top:0;left:0;max-width:none!important;max-height:none!important;min-width:0;margin:0!important;object-fit:fill!important;transform-origin:0 0;user-select:none;-webkit-user-drag:none;pointer-events:none}
.image-zoom-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.image-zoom-controls .button{min-width:40px;min-height:40px}
.image-zoom-level{min-width:42px;text-align:center;font-size:12px;color:var(--secondary)}
.image-zoom-hint{font-size:11px;color:var(--secondary)}
@media(max-width:650px){.image-zoom-controls .button{min-height:44px;min-width:44px}}
.image-zoom-viewport:focus-visible{outline:2px solid var(--blue);outline-offset:-3px}
.image-zoom-controls .button{background:var(--surface);color:var(--ink);border-color:var(--line)}
.image-zoom-controls .button:focus-visible{outline-color:var(--blue)}
