/* Viewer: one frame alone over everything (desktop: whole frame at 95%; phones: covers the screen). js/pages/viewer.js */
.vw{position:fixed;inset:0;z-index:100;touch-action:none}
/* phones: full view is page content, not pinned to the window, and runs the full (large) screen height: Safari then lets
   the photo show under its bars with a soft fade instead of painting solid plates over pinned elements */
/* Like the home photo it is taller than the screen by --over at each end and opens scrolled by --over, so the photo runs
   under Safari's status bar and toolbar. The page underneath is unpinned too, or Safari paints its colour as a plate. */
@media (pointer:coarse){
  .vw{position:absolute;left:0;right:0;top:0;height:calc(100lvh + 2 * var(--over))}
  :root:has(.vw:not([hidden])) .page{position:absolute;inset:var(--vy) 0 auto 0;height:100dvh} /* the series stays where it was on screen */
}
.vw-bg{position:absolute;inset:0;background:var(--bg);opacity:0;transition:opacity .45s var(--ease)}
.vw.on .vw-bg{opacity:1}
.vw-stage{position:absolute;inset:0;overflow:hidden}
/* a frame layer: also used by the home frame that flies into Overview */
.vframe{position:absolute;inset:0;transform-origin:0 0;pointer-events:none}
.vimg{position:absolute;left:0;top:0;max-width:none;display:block;will-change:transform;user-select:none;-webkit-user-drag:none}
