/* Compact image strips, with the full, uncropped source available on demand. */
#article-body .article-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:24px 0 32px}
#article-body .article-gallery-single{grid-template-columns:minmax(0,360px)}
#article-body .article-thumb{position:relative;display:block;min-width:0;width:100%;padding:12px;margin:0;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--soft);cursor:zoom-in;color:var(--ink);transition:border-color .15s,background .15s}
#article-body .article-thumb img{display:block;width:100%;height:240px;object-fit:contain;margin:0;border-radius:4px}
#article-body .article-thumb::after{content:attr(data-number) ' ↗';position:absolute;right:9px;bottom:9px;padding:2px 8px;border-radius:6px;background:#14232deb;color:#fff;font:12px/1.8 system-ui,sans-serif;pointer-events:none}
#article-body .article-thumb:hover{border-color:var(--accent)}
#article-body .article-thumb:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
html.image-viewer-open{overflow:hidden}
.article-lightbox{--viewer-bg:#0d131a;--viewer-ink:#edf3f8;--viewer-line:#455363;box-sizing:border-box;position:fixed;inset:0;width:100%;height:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:16px max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));border:0;background:var(--viewer-bg);color:var(--viewer-ink)}
.article-lightbox[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:12px}
.article-lightbox::backdrop{background:#05080ded}
html[data-theme="light"] .article-lightbox{--viewer-bg:#f2f5f8;--viewer-ink:#23313d;--viewer-line:#bac7d3}
.lightbox-toolbar,.lightbox-toolbar>div,.lightbox-footer{display:flex;align-items:center;gap:12px;justify-content:space-between}
.lightbox-counter{font:14px/1.5 system-ui,sans-serif;white-space:nowrap;margin:0}
.article-lightbox button,.lightbox-original{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:8px 13px;border:1px solid var(--viewer-line);border-radius:8px;background:transparent;color:var(--viewer-ink);font:14px/1.4 system-ui,sans-serif;text-decoration:none;cursor:pointer}
.article-lightbox button:hover,.lightbox-original:hover{background:var(--viewer-line)}
.article-lightbox button:focus-visible,.lightbox-original:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.article-lightbox .lightbox-close{font-size:28px;line-height:1}
.lightbox-stage{position:relative;min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain;border-radius:8px;text-align:center}
.lightbox-stage img{display:block;width:100%;height:100%;max-width:none;margin:0;object-fit:contain}
.article-lightbox.is-zoomed .lightbox-stage img{width:auto;height:auto;min-width:100%;max-width:none;margin:0 auto;object-fit:initial}
.lightbox-caption{margin:0;font:14px/1.5 system-ui,sans-serif;text-align:center;overflow-wrap:anywhere;max-height:3em;overflow:auto}
.lightbox-error{position:absolute;top:40%;left:10%;right:10%;padding:16px;background:var(--viewer-bg)}
.article-lightbox button:disabled{opacity:.4;cursor:default}
@media(max-width:600px){#article-body .article-gallery{gap:8px;margin:20px 0 26px}#article-body .article-thumb{padding:6px;border-radius:9px}#article-body .article-thumb img{height:180px}#article-body .article-gallery-single{grid-template-columns:minmax(0,300px)}#article-body .article-gallery-single img{height:220px}.article-lightbox{padding-top:max(12px,env(safe-area-inset-top))}.lightbox-toolbar,.lightbox-toolbar>div{gap:6px}.lightbox-original,.article-lightbox button{font-size:12px;padding:7px 9px}.lightbox-counter{font-size:12px}}
@media(prefers-reduced-motion:reduce){#article-body .article-thumb{transition:none}}
@media print{#article-body .article-gallery{display:block}#article-body .article-thumb{border:0;padding:0;background:none;break-inside:avoid}#article-body .article-thumb img{height:auto;max-height:none}#article-body .article-thumb::after,.article-lightbox{display:none!important}}
