.archive-image-button {
    padding: 0;
    border: 0;
    background: transparent;
    max-width: 100%;
    cursor: zoom-in;
}
.archive-image-button img {
    display: block;
    max-width: 100%;
}
.archive-gallery-preview {
    width: min(320px, 100%);
    height: auto;
    cursor: zoom-in;
}
.archive-image-viewer {
    position: fixed;
    inset: 0;
    margin: auto;
    width: fit-content;
    height: fit-content;
    box-sizing: border-box;
    max-width: 94vw;
    max-height: 94vh;
    padding: .75rem;
    border: 0;
    border-radius: .4rem;
    background: white;
}
.archive-image-viewer[open] {
    animation: archive-image-open .2s ease-out;
}
.archive-image-viewer::backdrop {
    background: rgb(0 0 0 / 75%);
}
.archive-image-viewer button {
    display: block;
    margin: 0 0 .5rem auto;
}
.archive-image-viewer img {
    display: block;
    width: min(84vw, 900px);
    height: auto;
    max-height: 78vh;
    object-fit: contain;
}
@keyframes archive-image-open {
    from { opacity: 0; transform: scale(.88); }
    to { opacity: 1; transform: scale(1); }
}
@media (prefers-reduced-motion: reduce) {
    .archive-image-viewer[open] { animation: none; }
}
