.photo-trigger { cursor: zoom-in; }
.reader-body .photo-trigger:has(> img:only-child), .gallery-icon > .photo-trigger { display:block; }
.photo-standalone { display:block; max-width:100%; }
.reader-photo > .photo-standalone { width:100%; height:100%; }
.photo-viewer {
    position:fixed; inset:0; margin:auto; width:100%; height:100dvh; max-width:none; max-height:none;
    padding:clamp(.75rem,2vw,1.5rem); border:0; background:#07152a; color:white;
}
.photo-viewer[open] { display:grid; grid-template-rows:auto minmax(0,1fr) auto; gap:.7rem; }
.photo-viewer::backdrop { background:#07152a; }
html:has(.photo-viewer[open]) { overflow:hidden; }
.photo-stage { min-height:0; display:flex; align-items:center; justify-content:center; }
.photo-stage img { max-width:100%; max-height:100%; width:auto; height:auto; }
.photo-controls { display:flex; justify-content:center; align-items:center; gap:1rem; }
.photo-controls span { text-align:center; line-height:1.35; }
.photo-viewer button { border:1px solid #738098; border-radius:.5rem; min-width:44px; min-height:44px; padding:.4rem .85rem; cursor:pointer; }
.photo-viewer button:is(:hover,:focus-visible) { color:#ffd100; border-color:currentColor; }
.photo-close { justify-self:end; }
