.read-progress { position:fixed; left:0; right:0; top:0; height:3px; background:#e4d3ad; transform-origin:left; pointer-events:none; z-index:8; }
.still-link,.portrait-link { display:block; cursor:zoom-in; }
.image-viewer { margin:0; inset:0; width:100%; height:100%; max-width:none; max-height:none; border:0; padding:0; background:#101112; color:white; }
.image-viewer[open] { display:grid; grid-template-rows:auto minmax(0,1fr) auto; }
.image-viewer::backdrop {background:#090909;}
.viewer-bar,.viewer-foot { display:flex; align-items:center; gap:12px; padding:12px clamp(12px,3vw,48px); }
.viewer-bar { justify-content:space-between; }.viewer-bar strong { font-weight:400; }.viewer-foot { justify-content:center; }
.image-viewer button {min-height:42px; min-width:44px; font-size:16px;}
.image-viewer button:disabled {opacity:.35;}
.viewer-stage { overflow:auto; display:flex; overscroll-behavior:contain; background:#08090a; }
.viewer-stage img { flex:none; margin:auto; display:block; object-fit:contain; cursor:zoom-in; }
.viewer-stage.is-zoomed img { cursor:zoom-out; }
body.viewing-art {overflow:hidden;}
@media(prefers-reduced-motion:no-preference) {
 .art-region,.art-region::after,.image-viewer button {transition:background-color .18s,opacity .18s;}
 .image-viewer[open] {animation:viewer-enter .18s ease-out;}
 @keyframes viewer-enter {from{opacity:0}to{opacity:1}}
}
.viewer-stage:not(.is-zoomed) { touch-action: pan-y pinch-zoom; }
.image-viewer button {width:auto;border:1px solid #ffffff48;border-radius:24px;background:#191919;color:white;padding:8px 15px}.image-viewer button:hover {background:#3c3934}
