.photos-root{background:var(--n-bg);min-height:100dvh;color:var(--n-text);-webkit-font-smoothing:antialiased}.ph-wrap{max-width:var(--page-width);padding:var(--page-top) var(--page-gutter) 120px;margin:0 auto}.ph-controls{align-items:center;gap:28px;display:flex}.ph-density{gap:4px;display:flex}.ph-density button{all:unset;border-radius:var(--control-radius);width:26px;height:26px;color:var(--n-light);cursor:pointer;place-items:center;transition:color .2s,background .2s;display:grid}.ph-density button:hover,.ph-density button[aria-pressed=true]{color:var(--n-text);background:var(--n-tile)}.photos-root a:focus-visible,.photos-root button:focus-visible{outline:2px solid var(--n-text);outline-offset:2px;border-radius:4px}.photos-root .ph-tile:focus-visible{outline-offset:-2px;border-radius:var(--tile-radius)}.ph-grid{grid-template-columns:repeat(3,1fr);gap:4px;display:grid}.ph-gallery[data-cols="5"] .ph-grid{grid-template-columns:repeat(5,1fr);gap:3px}.ph-tile{all:unset;aspect-ratio:1;border-radius:var(--tile-radius);cursor:zoom-in;background-color:var(--n-tile);isolation:isolate;opacity:0;animation:phRise .8s var(--ease) forwards;animation-delay:calc(var(--i,0) * 45ms);display:block;position:relative;overflow:hidden;transform:translateY(14px)scale(.985)}@keyframes phRise{to{opacity:1;transform:none}}@media (min-width:641px){.ph-gallery:not([data-ready]) .ph-tile{animation-play-state:paused}}.ph-tile>*{position:absolute;inset:0}.ph-tile picture{display:contents}.ph-blur{filter:blur(14px)saturate(1.1);background-size:cover;transform:scale(1.15)}.ph-tile img{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity var(--tile-fade), transform var(--zoom-duration) var(--ease);display:block;position:absolute;inset:0}.ph-tile.is-loaded img{opacity:1}.ph-cap{color:#fff;text-align:left;opacity:0;min-height:46%;transition:opacity .35s ease, transform .5s var(--ease);pointer-events:none;background:linear-gradient(#0000 0%,#00000061 55%,#000000b8 100%);flex-direction:column;justify-content:flex-end;gap:1px;padding:0 12px 10px;font-size:12px;line-height:1.35;display:flex;top:auto;transform:translateY(8px)}.ph-cap b,.ph-cap span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ph-cap b{letter-spacing:-.005em;font-weight:500}.ph-cap span{opacity:.72;font-variant-numeric:tabular-nums;font-size:11px}.ph-gallery[data-cols="5"] .ph-cap{padding:0 10px 8px;font-size:11px}.ph-gallery[data-cols="5"] .ph-cap span{font-size:10px}@media (hover:hover){.ph-tile:hover img{transform:scale(var(--zoom))}.ph-tile:hover .ph-cap{opacity:1;transform:none}}.ph-tile:focus-visible img{transform:scale(var(--zoom))}.ph-tile:focus-visible .ph-cap{opacity:1;transform:none}.ph-play{color:#fff;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000080;border-radius:5px;place-items:center;width:20px;height:20px;display:grid;inset:8px auto auto 8px}@media (max-width:640px){.ph-wrap{padding-bottom:80px}.ph-density{display:none}.ph-head{margin-bottom:24px}.ph-controls{border-bottom:1px solid var(--n-border);width:100%;padding-bottom:5px}.ph-grid,.ph-gallery[data-cols="5"] .ph-grid{grid-template-columns:repeat(3,1fr);gap:3px}.ph-tile{cursor:pointer}}@media (prefers-reduced-motion:reduce){.ph-tile{opacity:1;animation:none;transform:none}.ph-tile img,.ph-cap{transition:none}}
