/* Public collection viewer. Card grids and their filtering stay in place. */
body.viewer-open{overflow:hidden}
.universe-card{color:var(--ink,#fff)}
.image-modal{z-index:300;padding:12px 18px;gap:10px;grid-template-rows:auto minmax(0,1fr) auto;align-items:stretch;justify-content:stretch;height:100dvh;box-sizing:border-box}
.image-modal.open{display:grid}
.site-viewer-toolbar{width:min(900px,100%);margin:auto;display:flex;align-items:center;gap:10px}
.image-modal .site-viewer-nav,.image-modal .modal-close{position:static;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:48px;width:auto;min-height:48px;height:auto;margin:0;padding:10px 16px;border:1px solid #6e9abc;border-radius:14px;background:#0c2649;color:#fff;font-size:16px;font-weight:800;cursor:pointer}
.image-modal .modal-close{margin-left:auto}
.site-viewer-count{color:#d2e7ff;font-size:15px;white-space:nowrap;min-width:65px;text-align:center}
.image-modal button:hover{background:#183e66}
.image-modal button:focus-visible{outline:3px solid #ffe47d;outline-offset:3px}
.site-viewer-stage{min-height:0;min-width:0;display:flex;align-items:center;justify-content:center;overflow:auto;touch-action:pan-y pinch-zoom;overscroll-behavior:contain}
.image-modal .site-viewer-stage img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;border-radius:0;box-shadow:none;filter:drop-shadow(0 16px 26px #0008);user-select:none;-webkit-user-select:none;-webkit-user-drag:none;flex-shrink:0}
.site-viewer-footer{display:grid;justify-items:center;gap:6px;text-align:center;max-width:100%;color:#d2e7ff}
.image-modal .modal-caption{position:static;font-size:17px;padding:7px 14px;max-width:100%;overflow-wrap:anywhere}
.site-viewer-hint{font-size:13px}
.image-modal [hidden]{display:none!important}
@media(max-width:480px){.image-modal{padding:10px;gap:8px}.site-viewer-toolbar{gap:6px}.image-modal .site-viewer-nav,.image-modal .modal-close{padding:9px 12px}.site-viewer-nav span{display:none}.image-modal .modal-close span{font-size:14px}.site-viewer-hint{font-size:12px}}
@media(max-height:450px){.image-modal{grid-template-rows:auto minmax(0,1fr);padding:8px}.site-viewer-footer{position:absolute;right:18px;bottom:14px;max-width:26vw}.site-viewer-hint{display:none}.image-modal .modal-caption{font-size:13px}}
