/* sassi family - zoom.css: the zoomable picture of a viewer (shared/zoom.js; owner 2026-10-08). Loaded after the app's own
   sheet. No chrome of its own: the picture itself is the control (a double tap, a pinch, a drag). */
.zoom-host { touch-action: pan-y; }                               /* the browser's pinch and double-tap zoom of the whole page are off inside a viewer: zoom.js does them on the picture; a vertical pan still scrolls */
.zoom-host.zoomed { touch-action: none; overflow: hidden; }       /* a zoomed picture: every finger is ours (pan), the frame does not scroll on its own */
.zoom-host.zoomed.zoom-width { touch-action: pan-x pan-y; overflow: auto; }   /* a zoomed column of pages scrolls natively in both directions */
.zoom-host img { transform-origin: 50% 50%; }
.zoom-host:not(.zoomed) img { cursor: zoom-in; }
.zoom-host.zoomed img { cursor: grab; }
.zoom-host.zoomed.panning img { cursor: grabbing; }
.zoom-host .zoom-anim { transition: transform .18s ease-out, width .18s ease-out; }
@media (prefers-reduced-motion: reduce) { .zoom-host .zoom-anim { transition: none; } }
