/* Article-only enhancement. No layout changes until the reader opens an image. */
.body img[data-image-viewer]{cursor:zoom-in}
.body img[data-image-viewer]:focus-visible{outline:2px solid var(--hot);outline-offset:4px}
html.image-viewer-open,html.image-viewer-open body{overflow:hidden;overscroll-behavior:none}
.image-viewer{position:fixed;inset:0;width:100%;height:100vh;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:transparent;color:#eee;overflow:hidden;font-family:var(--sans)}
.image-viewer::backdrop{background:rgba(12,12,12,.94)}
.image-viewer[open]{display:flex;flex-direction:column;animation:image-viewer-enter 140ms ease-out}
.image-viewer-bar{flex:0 0 auto;display:flex;justify-content:flex-end;padding:max(8px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) 4px}
.image-viewer-close{width:44px;height:44px;padding:0;border:0;border-radius:0;background:transparent;color:#eee;font:300 32px/1 var(--sans);cursor:pointer}
.image-viewer-close:hover{color:#fff;background:rgba(255,255,255,.08)}
.image-viewer :focus-visible{outline:2px solid #eee;outline-offset:3px}
.image-viewer-stage{position:relative;flex:1 1 0;min-height:0;margin:0 clamp(16px,3vw,48px);overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none}
.image-viewer-image{position:absolute;left:50%;top:50%;max-width:none;margin:0;transform-origin:center;cursor:zoom-in;-webkit-user-drag:none}
.image-viewer-image[data-zoomed]{cursor:zoom-out}
.image-viewer-image[data-dragging]{cursor:grabbing}
.image-viewer-image[data-fitted]{cursor:default}
.image-viewer-image[hidden]{display:none}
.image-viewer-caption{position:relative;flex:0 0 auto;max-width:100%;max-height:22vh;max-height:22dvh;overflow:auto;overscroll-behavior:contain;align-self:center;margin:0;padding:16px 24px max(24px,env(safe-area-inset-bottom));color:#d0d0d0;font-size:15px;line-height:1.65;text-align:left;overflow-wrap:anywhere}
.image-viewer-caption:empty{padding-top:0;padding-bottom:max(24px,env(safe-area-inset-bottom))}
.image-viewer-caption a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.image-viewer-status{position:absolute;inset:0;display:grid;place-content:center;text-align:center;font-size:15px;line-height:1.65;padding:24px;color:#ddd;pointer-events:none}
.image-viewer-status:empty{display:none}
.image-viewer-help{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@keyframes image-viewer-enter{from{opacity:0}to{opacity:1}}
@media(max-width:820px){.image-viewer-caption{padding:12px 20px max(20px,env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){.image-viewer[open]{animation:none}}
