.gather{--gap:2px;--cell-w:calc((100cqw - (var(--cols) - 1) * var(--gap)) / var(--cols));--cell-h:calc((100cqh - (var(--rows) - 1) * var(--gap)) / var(--rows));--tile:min(var(--cell-w),calc(94cqw / var(--n)));--photo:min(50cqw,100cqh - var(--tile) - 16cqh);--group-top:calc(50cqh - (var(--photo) + 4cqh + var(--tile)) / 2);position:absolute;inset:3px;z-index:2;container-type:size;pointer-events:none}.gather:before{content:"";position:absolute;inset:-3px;background:var(--surface);opacity:0;transition:opacity .6s ease}.gather.is-gathered:before{opacity:.9}.gather-tile{position:absolute;left:calc(var(--c) * (var(--cell-w) + var(--gap)) - var(--gap));top:calc(var(--r) * (var(--cell-h) + var(--gap)) - var(--gap));width:calc(var(--cell-w) + 2 * var(--gap));height:calc(var(--cell-h) + 2 * var(--gap));border:var(--gap) solid var(--grid-ink);display:flex;align-items:center;justify-content:center;background:var(--theme);color:var(--ink);font-weight:600;font-size:clamp(.7rem,4.2vw,1.4rem);line-height:1;transition-property:left,top,width,height,font-size,box-shadow;transition-duration:.8s;transition-timing-function:cubic-bezier(.6,0,.2,1);transition-delay:calc(.2s + var(--i) * .11s)}.is-gathered .gather-tile{left:calc(50cqw - var(--n) * var(--tile) / 2 + var(--i) * var(--tile) - var(--gap) / 2);top:calc(var(--group-top) + var(--photo) + 4cqh);width:calc(var(--tile) + var(--gap));height:calc(var(--tile) + var(--gap));font-size:calc(clamp(.7rem, 4.2vw, 1.4rem) * min(1, .94 * var(--cols) / var(--n)));box-shadow:var(--shadow-lift)}.gather-photo{position:absolute;left:calc(var(--c) * (var(--cell-w) + var(--gap)));top:calc(var(--r) * (var(--cell-h) + var(--gap)));width:calc(var(--w) * var(--cell-w) + (var(--w) - 1) * var(--gap));aspect-ratio:1;overflow:hidden;transition-property:left,top,width,border-radius,box-shadow;transition-duration:.9s;transition-timing-function:cubic-bezier(.6,0,.2,1)}.is-gathered .gather-photo{left:calc(50cqw - var(--photo) / 2);top:var(--group-top);width:var(--photo);border-radius:4px;box-shadow:var(--shadow-lift)}@media (prefers-reduced-motion:reduce){.gather-photo,.gather-tile,.gather:before{transition:none}}