/* One viewport-anchored viewer for project and artwork photographs. */
.gallery{padding:0;width:100%;height:100dvh;max-width:none;max-height:none;overflow:hidden;background:#1b1b1a;color:var(--paper)}
.gallery[open]{display:block}
.gallery::backdrop{background:#1b1b1a}
.gallery .gallery-stage{position:absolute;inset:0;display:block;width:100%;height:100%;padding:0;margin:0;overflow:hidden;touch-action:pan-y}
.gallery .gallery-stage img{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;will-change:transform;user-select:none}
.gallery>.gallery-prev,.gallery>.gallery-next{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:56px;height:64px;padding:0;color:var(--paper);background:none;border:0;font-size:28px;cursor:pointer}
.gallery>.gallery-prev{left:max(6px,env(safe-area-inset-left))}
.gallery>.gallery-next{right:max(6px,env(safe-area-inset-right))}
.gallery .gallery-top,.gallery .gallery-bottom{position:absolute;left:0;right:0;z-index:3;padding:16px max(20px,env(safe-area-inset-right)) 16px max(20px,env(safe-area-inset-left));color:var(--paper);pointer-events:none}
.gallery .gallery-top{top:0;padding-top:max(16px,env(safe-area-inset-top))}
.gallery .gallery-bottom{bottom:0;padding-bottom:max(16px,env(safe-area-inset-bottom))}
.gallery .gallery-close{pointer-events:auto;color:inherit;background:none;border:0}
.gallery button:focus-visible{outline:1px solid currentColor;outline-offset:-4px}
.gallery button[hidden]{display:none}

.gallery-status{position:absolute;left:50%;top:55%;transform:translateX(-50%);z-index:5;font-size:11px;color:var(--paper);text-align:center;text-shadow:0 1px 4px #000}

.gallery .gallery-stage video{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;will-change:transform;touch-action:pan-y}
.gallery>.gallery-video-toggle{position:absolute;right:max(20px,env(safe-area-inset-right));bottom:max(54px,calc(env(safe-area-inset-bottom) + 54px));z-index:5;width:44px;height:44px;color:var(--paper);background:#1b1b1a77;border:1px solid #faf9f580;font-size:18px;line-height:1}
.gallery>.gallery-video-toggle[hidden]{display:none}
