:root{--max-content-width:1200px;--artwork-max-width:900px}body.no-scroll{overflow:hidden}.gallery-layout{opacity:1;flex-direction:column;min-height:100vh;transition:opacity .25s;display:flex}.gallery-heading{letter-spacing:-2px;text-align:center;margin:0;font-family:BIZ UDPMincho,serif;font-size:2.5rem;font-weight:400}.gallery-heading .letter{display:inline-block}.gallery-heading .letter.e{margin-left:-.05em}.gallery-heading .letter.y{margin-left:.07em}.gallery-header{flex-direction:column;align-items:center;padding-top:48px;display:flex}.gallery-nav{gap:16px;margin:12px 0 0;padding-bottom:4px;display:flex;position:relative}.gallery-nav-link{font:inherit;text-transform:lowercase;color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;padding:0 0 2px;font-size:.95rem;transition:opacity .2s,color .2s}.gallery-nav-link:hover,.gallery-nav-link:focus-visible{opacity:.75}.gallery-nav-link.is-active{color:var(--color-text-dark);opacity:.85;cursor:default}.gallery-nav-link.is-active:hover,.gallery-nav-link.is-active:focus-visible{opacity:.85}.gallery-nav-indicator{pointer-events:none;background:currentColor;border-radius:999px;width:0;height:2px;transition:transform .3s,width .3s,background-color .3s;position:absolute;bottom:0}.gallery-nav-link:disabled{cursor:default}.gallery-container{width:90vw;max-width:var(--max-content-width);margin:0 auto;padding:48px 0 64px}.gallery-main{opacity:1;transition:opacity .35s}body.loading .gallery-main{opacity:0}#gallery-detail{padding-bottom:64px}.gallery-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.gallery-card{aspect-ratio:1;opacity:0;border-radius:25px;width:100%;transition:opacity .4s,transform .4s,box-shadow .15s;position:relative;overflow:hidden;transform:translateY(12px)}.gallery-card.is-ready{opacity:1;transform:translateY(0)}.gallery-card img{border-radius:inherit;object-fit:cover;object-position:var(--thumb-x,50%) var(--thumb-y,50%);width:100%;height:100%;margin:auto;display:block}.gallery-card:hover,.gallery-card:focus-within{transform:scale(1.03)}.gallery-card.has-video .play-overlay{pointer-events:none;background:#00000073;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;transition:transform .2s,background .2s;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 2px 12px #00000059}.gallery-card.has-video .play-overlay:before{content:"";filter:drop-shadow(0 1px 2px #0006);border:12px solid #0000;border-left:20px solid #ffffffeb;border-right-width:0;width:0;height:0;margin-left:3px;display:block}.gallery-card.has-video:hover .play-overlay,.gallery-card.has-video:focus-within .play-overlay{background:#0000008c;transform:translate(-50%,-50%)scale(1.04)}@media (width<=600px){.gallery-card.has-video .play-overlay{width:48px;height:48px}.gallery-card.has-video .play-overlay:before{border-width:10px 0 10px 16px}}.artwork-wrapper{width:100%;max-width:var(--artwork-max-width);margin:0 auto;padding:0;position:relative;overflow:visible}.artwork-media{object-fit:contain;opacity:1;width:auto;max-width:100%;height:auto;max-height:calc(100vh - 260px);margin:0 auto;transition:opacity .5s,transform .15s ease-out;display:block}.artwork-media.is-loading{opacity:0}.artwork-media.is-ready{opacity:1}img.no-save,.no-save img,video.no-save,.no-save video{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;-khtml-user-select:none;-webkit-user-drag:none}@media (width<=900px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}.art-label{margin-top:16px;font-size:.95rem;font-weight:400;line-height:1.5}.art-label strong{margin-bottom:12px;font-weight:700;display:block}.art-label .art-desc{white-space:pre-wrap;opacity:.95;font-size:.9rem;display:block}.art-label audio{max-width:100%;margin:10px auto 0;display:block}@media (prefers-color-scheme:dark){.gallery-nav-link{color:#ffffffa6}.gallery-nav-link.is-active{color:var(--color-text-light);opacity:1}.gallery-nav{color:var(--color-text-light)}}@media (prefers-color-scheme:light){.gallery-nav{color:var(--color-text-dark)}}@media (width<=550px){.gallery-grid{grid-template-columns:1fr}.gallery-container{padding:32px 0 56px}.gallery-heading{margin:0;font-size:2rem}.gallery-nav{gap:12px;margin:12px 0 0}}.detail-previews{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:8px;display:flex}.detail-previews img{object-fit:contain;cursor:pointer;border-radius:4px;width:48px;height:48px;transition:opacity .2s}.detail-previews img:hover{opacity:.8}
