/* Photo viewer */
.viewerbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:8px}
.viewerbar__nav{display:flex;align-items:center;gap:8px}
.viewer{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:20px;align-items:start}
.viewer__stage{min-width:0}
.viewer__frame{display:grid;place-items:center;border-radius:var(--r-xl);overflow:hidden;background:var(--tile)}
.viewer__frame img{width:100%;max-height:72vh;object-fit:contain;aspect-ratio:4/3;background:var(--tile)}
.viewer__thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px;margin-top:10px}
.viewer__thumb{display:block;aspect-ratio:1/1;border-radius:14px;overflow:hidden;background:var(--tile);opacity:.8}
.viewer__thumb:hover{opacity:1}
.viewer__thumb--on{opacity:1;box-shadow:0 0 0 3px var(--accent)}
.viewer__thumb img{width:100%;height:100%;object-fit:cover}
.viewer__side{display:flex;flex-direction:column;gap:10px}
.viewer__title{font-size:22px;font-style:normal;margin:2px 0 10px}
.viewer__kv{grid-template-columns:auto minmax(0,1fr);font-size:15px}
.viewer__kv dd{text-align:right;overflow-wrap:anywhere}
.viewer__kv a{color:inherit}
.viewer__reuse{margin:12px 0 0;font-size:13px}
.mainbox{display:flex;flex-direction:column;gap:8px}
.mainbox__badge{align-self:flex-start;background:var(--fg);color:var(--bg)}
.mainbox__p{margin:0;font-size:13px;color:var(--muted)}
.mainbox form{margin:0}
.mainbox .alert{margin:0;align-items:flex-start}
@media (max-width:960px){.viewer{grid-template-columns:minmax(0,1fr)}}
