
.gallery-dialog{max-height:95dvh;overflow:auto}.gallery-dialog[open]{animation:gallery-arrive .36s cubic-bezier(.2,.8,.2,1)}.gallery-dialog::backdrop{background:#17131cbb;backdrop-filter:blur(7px)}.gallery-zoom-tools{display:flex;justify-content:center;align-items:center;gap:10px;margin:0 0 15px}.gallery-zoom-tools button{min-width:44px;min-height:44px;padding:8px 14px;border:1px solid #b79575;background:#f9f5ee;color:#29262d;font-size:20px;cursor:pointer;transition:background .2s,transform .2s}.gallery-zoom-tools button:hover{background:#eadbc9;transform:translateY(-1px)}.gallery-zoom-tools button:disabled{opacity:.35;cursor:default;transform:none}.gallery-zoom-tools button:focus-visible{outline:2px solid #9c623b;outline-offset:3px}.gallery-zoom-tools #gallery-zoom-reset{font-size:13px}.gallery-zoom-tools output{font:500 13px var(--sans);min-width:48px;text-align:center;font-variant-numeric:tabular-nums}.gallery-viewport{position:relative;height:65dvh;overflow:hidden;background:#eae6df;touch-action:none;user-select:none;cursor:zoom-in}.gallery-viewport>img{display:block;width:100%;height:100%;max-width:none;object-fit:contain;transform-origin:center;transition:transform .18s ease-out;pointer-events:none;padding:0}.gallery-viewport.is-zoomed{cursor:grab}.gallery-viewport.is-dragging{cursor:grabbing}.gallery-viewport.is-dragging>img{transition:none}.gallery-gesture-hint{font:400 11px/1.5 var(--sans);text-align:center;color:#716772;margin:10px 0 15px}.gallery-tile .gallery-img{overflow:hidden;transition:box-shadow .3s}.gallery-tile:active .gallery-img{box-shadow:0 0 0 3px #bd8e6250}.gallery-tile:hover .zoom-icon{background:#29262d;color:#fff;transform:rotate(90deg)}.zoom-icon{transition:background .3s,color .3s,transform .3s}@keyframes gallery-arrive{from{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:650px){.gallery-dialog{width:96vw;padding:12px}.gallery-viewport{height:57dvh}.gallery-gesture-hint{font-size:10px}.lightbox-toolbar>span{max-width:80%;line-height:1.5}.gallery-zoom-tools{gap:8px}}@media(prefers-reduced-motion:reduce){.gallery-dialog[open]{animation:none}.gallery-viewport>img,.gallery-zoom-tools button,.zoom-icon{transition:none}}
