.gallery-zoom{display:block;width:100%;padding:0;position:relative;cursor:zoom-in;overflow:hidden}.gallery-zoom::after{content:'↗';position:absolute;right:16px;bottom:16px;display:grid;place-items:center;width:38px;height:38px;background:var(--paper);color:var(--ink);border:1px solid var(--line);font-size:23px;opacity:0;transition:opacity .2s}.gallery-zoom:hover::after,.gallery-zoom:focus-visible::after{opacity:1}
#image-lightbox{position:fixed;inset:0;margin:auto;width:100%;height:100dvh;max-width:none;max-height:none;padding:0;border:0;background:#181818;color:#f2f2f2;overflow:hidden;animation:none;overscroll-behavior:contain}#image-lightbox[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto}#image-lightbox::backdrop{background:#181818ed;backdrop-filter:blur(10px)}.lightbox-top,.lightbox-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 32px}.lightbox-top{border-bottom:1px solid #444}.lightbox-top p{font-size:16px;line-height:1.5}.lightbox-top button{display:flex;align-items:center;gap:16px;min-height:44px;font-size:11px;letter-spacing:.08em}.lightbox-top button span{font-size:30px;color:var(--bronze);line-height:1}.lightbox-stage{position:relative;display:flex;align-items:center;justify-content:center;min-height:0;padding:24px 88px}.lightbox-stage img{width:100%;height:100%;min-height:0;object-fit:contain;user-select:none;touch-action:pan-y pinch-zoom}.lightbox-stage>button{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border:1px solid #666;font-size:25px;z-index:1;transition:background .2s,color .2s}.lightbox-stage>button:hover{background:var(--bronze);color:var(--ink);border-color:var(--bronze)}#lightbox-prev{left:24px}#lightbox-next{right:24px}.lightbox-bottom{border-top:1px solid #444;min-height:68px;font-size:12px;letter-spacing:.035em}.lightbox-bottom>span{font-size:10px;color:#aaa;white-space:nowrap}#image-lightbox button:focus-visible{outline:2px solid var(--bronze);outline-offset:4px}
@media(max-width:720px){.gallery-zoom::after{opacity:1;width:30px;height:30px;font-size:20px;right:12px;bottom:12px}.lightbox-top,.lightbox-bottom{padding:16px 18px;gap:16px}.lightbox-top p{font-size:14px}.lightbox-top button{font-size:9px;gap:10px}.lightbox-stage{padding:14px 12px 74px}.lightbox-stage>button{top:auto;bottom:10px;transform:none;width:44px;height:44px}#lightbox-prev{left:calc(50% - 54px)}#lightbox-next{right:calc(50% - 54px)}.lightbox-bottom{font-size:10px;min-height:65px}.lightbox-bottom>span{font-size:8px}}
