.image-viewer-trigger { display: block; cursor: zoom-in; border-radius: 10px; }
.sage-study .image-viewer-trigger { max-width: 523px; justify-self: center; }
html.image-viewer-open { overflow: hidden; }
.image-viewer { box-sizing: border-box; width: min(1320px, calc(100% - 32px)); max-height: calc(100dvh - 32px); padding: 20px; border: 1px solid var(--line); border-radius: 12px; background: var(--panel); color: var(--text); box-shadow: 0 24px 80px #24221d33; }
.image-viewer::backdrop { background: rgba(36, 34, 29, .72); }
.image-viewer figure { margin: 16px 0 0; }
.image-viewer-image { display: block; width: 100%; height: auto; max-height: calc(100dvh - 190px); object-fit: contain; }
.image-viewer figcaption { margin-top: 14px; color: var(--muted); font-size: .875rem; line-height: 1.6; }
.image-viewer-close { display: flex; align-items: center; gap: 12px; margin-left: auto; min-height: 44px; padding: 8px 16px; border: 1px solid var(--line-strong); border-radius: 24px; background: transparent; color: inherit; font: inherit; cursor: pointer; }
.image-viewer-close span { font-size: 1.5rem; line-height: 1; }
.image-viewer-close:focus-visible { outline: 2px solid var(--accent-text); outline-offset: 3px; }
@media (max-width: 600px) { .image-viewer { width: calc(100% - 16px); padding: 12px; } }
