.gallery-page{--infinite-grid-columns:8;--infinite-grid-gap:clamp(.35rem, .65vw, .7rem);--infinite-grid-item-width:clamp(9rem, 17vw, 20rem);--infinite-grid-item-height:var(--infinite-grid-item-width);background:var(--bg-primary);isolation:isolate;width:100%;height:100dvh;position:relative;overflow:hidden}.gallery-tile{background:var(--bg-tertiary);contain:layout paint style;border-radius:.2rem;position:relative}.gallery-tile:after{content:"";pointer-events:none;background:linear-gradient(105deg, transparent 34%, color-mix(in srgb, var(--surface-2) 70%, transparent) 50%, transparent 66%);transition:opacity .18s;animation:1.4s ease-in-out infinite gallery-placeholder;position:absolute;inset:0;transform:translate(-100%)}.gallery-tile[data-loaded=true]:after{opacity:0;animation:none}.gallery-tile:focus-visible{z-index:1;outline:3px solid var(--accent-primary);outline-offset:-3px;position:relative}.gallery-tile__image{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .22s,transform .45s cubic-bezier(.22,1,.36,1);display:block;transform:scale(1.002)}.gallery-tile[data-loaded=true] .gallery-tile__image{opacity:1}.gallery-lightbox{z-index:10000;background:color-mix(in srgb, var(--bg-tertiary) 95%, transparent);overscroll-behavior:contain;touch-action:pan-y;place-items:center;width:100vw;height:100dvh;animation:.18s ease-out both gallery-backdrop-in;display:grid;position:fixed;inset:0;overflow:hidden}.gallery-lightbox__artwork{width:100%;height:100%;padding:max(.5rem, env(safe-area-inset-top)) max(.5rem, env(safe-area-inset-right)) max(.5rem, env(safe-area-inset-bottom)) max(.5rem, env(safe-area-inset-left));pointer-events:none;place-items:center;display:grid}.gallery-lightbox__image{object-fit:contain;pointer-events:auto;width:min(94vw,94dvh);max-width:100%;height:min(94vw,94dvh);max-height:100%;animation:.22s cubic-bezier(.22,1,.36,1) both gallery-image-in;display:block}.gallery-lightbox__toolbar{z-index:1;top:max(.75rem, env(safe-area-inset-top));right:max(.75rem, env(safe-area-inset-right));gap:.5rem;display:flex;position:fixed}.gallery-lightbox__control{width:3rem;height:3rem;color:var(--text-primary);background:color-mix(in srgb, var(--bg-tertiary) 72%, transparent);border:1px solid color-mix(in srgb, var(--text-primary) 22%, transparent);box-shadow:0 .25rem 1.25rem color-mix(in srgb, var(--bg-tertiary) 55%, transparent);cursor:pointer;-webkit-backdrop-filter:blur(.5rem);backdrop-filter:blur(.5rem);-webkit-tap-highlight-color:transparent;border-radius:50%;place-items:center;padding:0;transition:color .16s,background-color .16s,border-color .16s,transform .16s;display:grid}.gallery-lightbox__control svg{width:1.35rem;height:1.35rem}.gallery-lightbox__control:focus-visible{outline:3px solid var(--accent-primary);outline-offset:2px}.gallery-lightbox__control--previous,.gallery-lightbox__control--next{z-index:1;position:fixed;top:50%;transform:translateY(-50%)}.gallery-lightbox__control--previous{left:max(.75rem, env(safe-area-inset-left))}.gallery-lightbox__control--next{right:max(.75rem, env(safe-area-inset-right))}@media (hover:hover) and (pointer:fine){.gallery-tile:hover .gallery-tile__image{transform:scale(1.025)}.gallery-lightbox__control:hover{color:var(--bg-tertiary);background:var(--accent-primary);border-color:var(--accent-primary)}.gallery-lightbox__control--previous:hover,.gallery-lightbox__control--next:hover{transform:translateY(-50%)scale(1.04)}}@media (max-width:37.49rem){.gallery-lightbox__control--previous,.gallery-lightbox__control--next{top:auto;bottom:max(.75rem, env(safe-area-inset-bottom));transform:none}.gallery-lightbox__control--previous{left:calc(50% - 3.5rem)}.gallery-lightbox__control--next{right:calc(50% - 3.5rem)}}@media (prefers-reduced-motion:reduce){.gallery-tile:after,.gallery-lightbox,.gallery-lightbox__image{animation:none}.gallery-tile__image,.gallery-lightbox__control{transition:none}}@keyframes gallery-placeholder{to{transform:translate(100%)}}@keyframes gallery-backdrop-in{0%{opacity:0}}@keyframes gallery-image-in{0%{opacity:0;transform:scale(.985)}}
