.albums-page{font-family:Arial,sans-serif}
.albums-page h1,.albums-page h2{font-family:Georgia,"Times New Roman",serif}
.albums-lead{font-size:15px;color:var(--muted);max-width:760px;margin:0 0 22px;line-height:1.6}
.albums-tools{display:grid;grid-template-columns:minmax(0,1fr) 235px 165px;gap:14px}
.albums-tools label{display:grid;gap:6px;font-size:13px;color:var(--muted);min-width:0}
.albums-tools input,.albums-tools select{width:100%;min-width:0;height:45px;padding:10px 12px;border:1px solid #91a69c;border-radius:5px;background:#fff;color:var(--ink);font:15px Arial,sans-serif}
.albums-status{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:32px;margin:10px 0 21px;font-size:14px;color:var(--muted)}
.albums-status p{margin:0}
.albums-status button{border:0;background:none;color:var(--pine);padding:5px 0;text-decoration:underline;text-underline-offset:3px;font:inherit;cursor:pointer}
.albums-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.albums-grid article{min-width:0}
.album-card{display:block;height:100%;border:1px solid var(--line);border-radius:6px;overflow:hidden;text-decoration:none;background:white;transition:border-color .15s}
.album-card:hover{border-color:#527e6a;box-shadow:0 3px 12px #224f4610}
.album-cover{position:relative;aspect-ratio:3/2;overflow:hidden;background:#edf2ee}
.album-cover img{display:block;width:100%;height:100%;object-fit:cover}
.album-cover>span{position:absolute;right:10px;bottom:10px;padding:4px 8px;background:#173d34e8;border-radius:4px;font-size:12px;color:white}
.album-card-body{padding:15px 17px}
.album-topic{font-size:11px;letter-spacing:.035em;color:var(--muted);margin:0 0 7px;line-height:1.4}
.album-card h2{font-size:21px;font-weight:600;line-height:1.3;margin:0;color:#243e37}
.album-year{font-size:12px;color:var(--muted);margin:11px 0 0}
.albums-pagination{display:flex;justify-content:center;align-items:center;gap:20px;margin:30px 0 12px;font-size:14px}
.albums-pagination p{margin:0;text-align:center;color:var(--muted)}
.albums-pagination button{padding:9px 15px;border:1px solid #91a69c;border-radius:5px;background:#fff;font:14px Arial,sans-serif;color:var(--pine);cursor:pointer}
.albums-pagination button:disabled{color:#79857e;border-color:#e0e6e2;cursor:default}
.albums-pagination button:not(:disabled):hover{background:#eff5f1}
.albums-empty{padding:25px;border:1px solid var(--line);border-radius:5px;font-size:15px}
.albums-bottom{font-size:14px;margin:26px 0 0;color:var(--muted)}
.album-crumb{font:14px/1.5 Arial,sans-serif;margin-bottom:15px}
.album-meta{font:14px/1.5 Arial,sans-serif;color:var(--muted);margin:0 0 12px}
.album-source{font-size:14px;margin:0 0 19px}
.album-hint{font:13px/1.5 Arial,sans-serif;color:var(--muted);margin:0 0 17px}
.album-photos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.album-photo{display:block;aspect-ratio:4/3;overflow:hidden;background:#edf2ee;border-radius:4px}
.album-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .15s}
.album-photo:hover img{transform:scale(1.025)}
.album-end{margin:25px 0 0;font-size:14px}
#photo-viewer{width:min(1200px,96vw);max-width:96vw;max-height:94dvh;padding:15px 18px;border:0;border-radius:7px;background:#11251f;color:#fff;overflow:auto}
#photo-viewer::backdrop{background:#06110de8}
.photo-viewer-bar{display:flex;justify-content:space-between;align-items:center;gap:15px;font:14px Arial,sans-serif;margin-bottom:12px}
.photo-viewer-bar p{margin:0}
#photo-viewer button{border:1px solid #759b8c;border-radius:4px;background:#24483c;color:white;cursor:pointer;font:15px Arial,sans-serif;padding:8px 12px}
#photo-viewer button:disabled{opacity:.35;cursor:default}
.photo-viewer-stage{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;gap:12px;align-items:center;min-height:200px}
#photo-viewer .photo-viewer-stage button{font-size:33px;padding:6px 0;line-height:1}
#photo-large{display:block;max-width:100%;width:100%;height:calc(82dvh - 85px);object-fit:contain;background:#11251f}
#photo-original{display:inline-block;margin:12px 0 2px;color:#e1eee7;font:13px Arial,sans-serif}
@media(max-width:900px){.albums-tools{grid-template-columns:minmax(0,1fr) 205px 150px}.albums-grid{gap:17px}.album-card-body{padding:13px}.album-card h2{font-size:19px}.album-photos{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.albums-tools{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.albums-query{grid-column:1/-1}.albums-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.album-photos{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.photo-viewer-stage{grid-template-columns:32px minmax(0,1fr) 32px;gap:7px}#photo-viewer{padding:12px 10px}.albums-pagination{gap:12px}.albums-pagination button{padding:8px 12px}}
@media(max-width:480px){.albums-grid{grid-template-columns:minmax(0,1fr);gap:18px}.album-card h2{font-size:22px}.album-card-body{padding:15px}.album-cover{aspect-ratio:16/10}.albums-lead{font-size:14px}.albums-status{font-size:13px}.album-meta{font-size:13px}.albums-pagination{font-size:12px}.albums-pagination button{font-size:13px}.photo-viewer-bar{font-size:12px}#photo-large{height:calc(75dvh - 80px)}}
@media(prefers-reduced-motion:reduce){.album-card,.album-photo img{transition:none}}
