.gallery{--gallery-paper:#f4f4f2;--gallery-ink:#252726;background:var(--gallery-paper);color:var(--gallery-ink);min-height:100dvh;font-family:Helvetica Neue,PingFang SC,Microsoft YaHei,sans-serif}.gallery *,.gallery :before,.gallery :after{box-sizing:border-box}.gallery-heading{padding:32px 24px 0;font-size:28px;font-weight:500}.gallery-viewport{display:none}.gallery-index{max-width:1600px;margin:0 auto;padding:48px 24px}.gallery-index header{padding-block:28px 40px}.gallery-index h2{margin:0 0 12px;font-size:28px;font-weight:500}.gallery-index h2 span{color:#6b6e69;font-size:13px}.gallery-index p{margin:0;font-size:13px}.gallery-index ul{grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 18px;margin:0;padding:0;list-style:none;display:grid}.gallery-index a{color:inherit;text-decoration:none;display:block}.gallery-index img{aspect-ratio:3/2;object-fit:cover;width:100%;height:auto;display:block}.gallery-index a span{margin-top:10px;font-size:13px;display:block}.gallery a:focus-visible,.gallery button:focus-visible{outline-offset:4px;outline:2px solid}.gallery[data-enhanced=true]{position:fixed;inset:0;overflow:hidden}.gallery[data-enhanced=true] .gallery-heading{clip-path:inset(50%);width:1px;height:1px;padding:0;position:absolute}.gallery[data-enhanced=true] .gallery-viewport{touch-action:none;cursor:grab;background:#101711;display:block;position:absolute;inset:0;overflow:clip}.gallery-wall,.gallery-canvas{width:100%;height:100%;position:absolute;inset:0}.gallery-canvas{z-index:2;pointer-events:none}.gallery-canvas[hidden]{display:none}.gallery-work{contain:layout paint style;touch-action:none;-webkit-user-select:none;user-select:none;background:#101711;text-decoration:none;display:block;position:absolute;top:0;left:0;overflow:hidden}.gallery-work img{object-fit:cover;pointer-events:none;filter:brightness(.64);width:100%;height:100%;display:block}.gallery-work[data-hovered=true] img{filter:brightness()}.gallery .gallery-work:focus-visible{z-index:3;outline-offset:-4px;outline:2px solid #fff}.gallery:has(.gallery-canvas:not([hidden])) .gallery-work:focus-visible{background:0 0}.gallery:has(.gallery-canvas:not([hidden])) .gallery-work:focus-visible img{opacity:0}.gallery-work[data-resource-failure]:after{content:attr(aria-label);color:#f4f4f2;place-items:center;padding:18px;font-size:14px;line-height:1.6;display:grid;position:absolute;inset:0}.gallery-controls{z-index:5;top:max(20px,env(safe-area-inset-top,0px));left:max(20px,env(safe-area-inset-left,0px));right:max(20px,env(safe-area-inset-right,0px));pointer-events:none;color:#f8f8f5;align-items:center;gap:6px;display:flex;position:absolute}.gallery-controls a,.gallery-controls button{pointer-events:auto;width:44px;min-width:44px;height:44px;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;text-decoration:none;display:flex}.gallery-controls a{letter-spacing:.01em;margin-right:auto;font-size:21px;font-weight:600}.gallery-controls svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 1px #10171380);width:20px;height:20px}.gallery-controls button:hover{opacity:.72}.gallery-zoom{color:#f8f8f5;pointer-events:auto;background:#242725;border-radius:2px;width:196px;padding:10px;position:absolute;top:calc(100% + 8px);right:0}.gallery-zoom[hidden]{display:none}.gallery-zoom-group{justify-content:space-between;align-items:center;display:flex}.gallery-zoom output{font-variant-numeric:tabular-nums;font-size:14px}.gallery-zoom>button{width:100%;margin-top:4px}.gallery-caption{z-index:4;color:#f8f8f5;pointer-events:none;background:#242725;max-width:250px;padding:9px 11px;font-size:13px;line-height:18px;position:absolute}.gallery[data-enhanced=true][data-index-open=false] .gallery-index{display:none}.gallery[data-enhanced=true][data-index-open=true] .gallery-index{z-index:4;overscroll-behavior:contain;background:var(--gallery-paper);max-width:none;padding-top:76px;position:absolute;inset:0;overflow:auto}.gallery[data-index-open=true] .gallery-controls{color:var(--gallery-ink)}.gallery[data-index-open=true] .gallery-controls svg{filter:none}@media (max-width:700px){.gallery-index ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 12px}.gallery-index{padding-inline:16px}.gallery-controls{gap:2px;left:12px;right:12px}.gallery-index header{padding-top:16px}}
