.article-gallery{min-width:0;margin:34px 0;font-family:var(--sans,Arial,sans-serif)}
.article-gallery--top{grid-column:1/-1;width:100%;max-width:1100px;margin:32px auto 0}
.article-gallery-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;font-size:11px;font-weight:700;letter-spacing:.04em}
.article-gallery-total,.article-gallery-hint{color:var(--muted,#77776e)}
.article-gallery-hint{font-size:10px;font-weight:400;letter-spacing:0}
.article-gallery-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 16px)/2);gap:16px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#b8b8ad transparent;padding-bottom:10px}
.article-gallery--top .article-gallery-track{grid-auto-columns:calc((100% - 32px)/3)}
.article-gallery--top .article-gallery-track:has(>figure:last-child:nth-child(2)){grid-auto-columns:calc((100% - 16px)/2)}
.article-gallery-track>figure{min-width:0;margin:0;scroll-snap-align:start}
.article-gallery-open{display:block;position:relative;background:#ecece6;color:inherit;cursor:zoom-in}
.article .article-gallery figure img,.article-route .article-gallery figure img{display:block;width:100%;height:220px;max-height:none;object-fit:contain;background:#ecece6}
.article-gallery-zoom{position:absolute;right:8px;bottom:8px;display:grid;place-items:center;width:28px;height:28px;background:var(--paper,#fbfbf8);color:var(--ink,#171713);font-size:19px;transition:background .15s}
.article-gallery-open:hover .article-gallery-zoom{background:var(--lime,#ddff60)}
.article-gallery figcaption{padding-top:8px;font-size:10px;line-height:1.5;color:var(--muted,#77776e);overflow-wrap:anywhere}
.article-gallery figcaption a{color:inherit;text-underline-offset:3px}
.article-gallery-controls{display:none;justify-content:flex-end;gap:8px;margin-top:8px}
.article-gallery[data-gallery-ready] .article-gallery-controls{display:flex}
.article-gallery .article-gallery-controls[hidden]{display:none}
.article-gallery-controls button{width:36px;height:32px;border:1px solid var(--line,#d8d8ce);background:transparent;color:inherit;font:inherit;font-size:18px;cursor:pointer}
.article-gallery-controls button:hover{background:var(--lime,#ddff60)}
.article-gallery-controls button:disabled{opacity:.3;cursor:default;background:transparent}
.article-gallery a:focus-visible,.article-gallery button:focus-visible,.article-gallery-track:focus-visible,.gallery-dialog button:focus-visible{outline:2px solid var(--ink,#171713);outline-offset:3px}
.gallery-dialog{box-sizing:border-box;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:20px 32px;border:0;background:#171713;color:#fbfbf8;font:14px/1.5 Arial,sans-serif}
.gallery-dialog::backdrop{background:#171713}
.gallery-dialog[open]{display:flex;flex-direction:column;gap:16px}
.gallery-dialog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px}
.gallery-dialog button{flex-shrink:0;min-width:44px;min-height:44px;border:1px solid #62625a;background:transparent;color:inherit;font:inherit;cursor:pointer}
.gallery-dialog button:hover{background:#33332b}
.gallery-dialog button:focus-visible{outline-color:#ddff60}
.gallery-dialog-stage{display:flex;align-items:center;justify-content:center;gap:20px;flex:1;min-height:0}
.gallery-dialog-stage img{display:block;min-width:0;max-width:calc(100% - 128px);width:auto;height:auto;max-height:100%;object-fit:contain}
.gallery-dialog-caption{margin:0 auto;max-width:1000px;max-height:18dvh;overflow:auto;text-align:center;color:#d4d4c9}
.gallery-dialog-caption a{color:inherit;text-underline-offset:3px}
@media(max-width:600px){
  .article-gallery--top{margin-top:28px}
  .article-gallery-track,.article-gallery--top .article-gallery-track,.article-gallery--top .article-gallery-track:has(>figure:last-child:nth-child(2)){grid-auto-columns:86%;gap:12px}
  .article .article-gallery figure img,.article-route .article-gallery figure img{height:210px}
  .article-gallery-hint{max-width:120px;text-align:right}
  .gallery-dialog{padding:12px}
  .gallery-dialog-stage{position:relative;gap:0}
  .gallery-dialog-stage img{max-width:100%;max-height:calc(100% - 64px)}
  .gallery-dialog-stage button{position:absolute;bottom:0}
  .gallery-dialog-prev{left:0}.gallery-dialog-next{right:0}
}
