/* Shared, dependency-free screenshot viewer. Empty gallery names open one image. */
html{scrollbar-gutter:stable}
html.image-viewer-open,html.image-viewer-open body{overflow:hidden;overscroll-behavior:none}
a[data-image-viewer]{cursor:zoom-in}
.image-viewer{position:fixed;inset:0;width:100%;height:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:20px;border:0;background:transparent;color:var(--text);overflow:hidden;overscroll-behavior:none}
.image-viewer[open]{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;grid-template-rows:44px minmax(0,1fr) 36px;gap:16px}
.image-viewer::backdrop{background:var(--viewer-backdrop)}
.image-viewer-stage{grid-column:2;grid-row:2;display:flex;align-items:center;justify-content:center;min-width:0;min-height:0;pointer-events:none}
.image-viewer-stage img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;pointer-events:auto;border-radius:3px}
.image-viewer-control{display:grid;place-items:center;width:44px;height:44px;padding:11px;border:1px solid color-mix(in srgb,var(--accent) 14%,transparent);border-radius:50%;background:color-mix(in srgb,var(--accent) 4%,transparent);color:var(--text);align-self:center;touch-action:manipulation}
.image-viewer-control:hover{background:color-mix(in srgb,var(--accent) 9%,transparent);border-color:color-mix(in srgb,var(--accent) 33%,transparent);color:var(--accent)}
.image-viewer-control:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.image-viewer-control svg{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.image-viewer-close{grid-column:3;grid-row:1}
.image-viewer-prev{grid-column:1;grid-row:2}
.image-viewer-next{grid-column:3;grid-row:2}
.image-viewer-caption{grid-column:2;grid-row:3;align-self:center;margin:0;text-align:center;color:var(--muted);font-size:12px;line-height:1.5}
.image-viewer-frame{position:relative;display:block;flex:none;overflow:hidden;border-radius:3px;pointer-events:auto}
.image-viewer-stage .image-viewer-frame img{width:100%;height:100%;max-width:none;max-height:none}
.image-viewer-fallback{pointer-events:auto;color:var(--accent);font-size:14px;text-decoration:underline;text-underline-offset:4px}
@media(max-width:600px){.image-viewer{padding:12px;padding-top:max(12px,env(safe-area-inset-top));padding-bottom:max(16px,env(safe-area-inset-bottom))}.image-viewer[open]{gap:12px;grid-template-rows:44px minmax(0,1fr) 44px}.image-viewer-stage{grid-column:1/-1}.image-viewer-prev,.image-viewer-next{grid-row:3}.image-viewer-caption{font-size:11px}}
@media(prefers-contrast:more){.image-viewer-control{border-color:var(--accent);color:var(--text)}.image-viewer-caption{color:var(--text)}}
