.archive-note{margin:30px auto;padding:12px 20px;color:#777;font:12px/1.5 Georgia,serif;text-align:center}
.archive-grid,.archive-albums{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;margin:20px 0}
.archive-grid a,.archive-albums a{display:block;text-decoration:none!important;border:0!important}
.archive-grid img,.archive-albums img{display:block;width:100%;height:170px;object-fit:cover;margin:0!important;box-shadow:none!important;border:0!important}
.archive-albums span{display:block;padding:8px 0;line-height:1.4}
.archive-viewer{border:0;padding:0;background:#111;color:white;width:96vw;max-width:1500px;height:94vh;max-height:94vh;box-sizing:border-box}
.archive-viewer::backdrop{background:rgba(0,0,0,.9)}
.archive-viewer .viewer-body{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:55px 45px;box-sizing:border-box}
.archive-viewer img{max-width:100%;max-height:calc(94vh - 150px);object-fit:contain}
.archive-viewer p{font:14px/1.4 sans-serif;margin:12px 0 0;text-align:center}
.archive-viewer button{position:absolute;background:#333;color:white;border:1px solid #888;padding:8px 12px;font:22px sans-serif;cursor:pointer;box-shadow:none}
.archive-viewer button:focus-visible{outline:3px solid #fff;outline-offset:3px}
.viewer-close{right:12px;top:12px}.viewer-prev{left:8px;top:48%}.viewer-next{right:8px;top:48%}
@media(max-width:480px){.archive-grid,.archive-albums{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.archive-grid img,.archive-albums img{height:125px}.archive-viewer .viewer-body{padding:55px 36px}}
