@layer components{.xc-library-page{background:var(--xc-surface);color:var(--xc-ink)}.xc-library-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:3rem;padding-block:clamp(3rem,7vw,7rem) 3.5rem}.xc-library-title{margin-top:1.25rem}.xc-library-intro-note{flex:0 1 36rem;width:100%;max-width:36rem;color:var(--xc-muted);font-size:.9rem;line-height:1.85}.xc-library-scroll-cue{display:inline-flex;align-items:center;gap:1rem;color:var(--xc-ink);font-size:.8rem}.xc-library-scroll-cue svg{width:1rem;height:1rem;animation:library-scroll-bob 1.8s ease-in-out infinite}.xc-library-scroll-cue:focus-visible{outline:2px solid var(--xc-green-text);outline-offset:6px}.xc-library-collection{--xc-library-gap:10px;padding-bottom:clamp(3rem,6vw,6rem);scroll-margin-top:7rem;overflow-anchor:none}.xc-library-scroll-row{display:flex;justify-content:center;border-top:1px solid var(--xc-border);padding-block:1.25rem 2rem}.xc-library-wall{display:grid;gap:var(--xc-library-gap);padding-inline:var(--xc-library-gap);align-items:start}.xc-library-wall--1{grid-template-columns:minmax(0,1fr)}.xc-library-wall--2{grid-template-columns:repeat(2,minmax(0,1fr))}.xc-library-wall--3{grid-template-columns:repeat(3,minmax(0,1fr))}.xc-library-wall--4{grid-template-columns:repeat(4,minmax(0,1fr))}.xc-library-wall--5{grid-template-columns:repeat(5,minmax(0,1fr))}.xc-library-page .xc-library-wall--masonry{--xc-library-columns:5;position:relative;grid-template-columns:repeat(var(--xc-library-columns),minmax(0,1fr))}.xc-library-page .xc-library-skeleton span{aspect-ratio:4/3}.xc-library-page .xc-library-wall--masonry[data-masonry-ready=true]>.xc-library-photo{position:absolute;left:var(--xc-library-x);top:var(--xc-library-y);width:calc((100% - (var(--xc-library-columns) + 1) * var(--xc-library-gap)) / var(--xc-library-columns))}.xc-library-column{display:flex;flex-direction:column;gap:var(--xc-library-gap);min-width:0}.xc-library-column:nth-child(3n+2){padding-top:64px}.xc-library-column:nth-child(3n){padding-top:128px}.xc-library-photo{position:relative;display:block;width:100%;height:auto;flex-shrink:0;overflow:hidden;border-radius:var(--xc-radius-md);padding:0;background:var(--xc-charcoal);color:white;cursor:pointer;text-align:left}.xc-library-photo--failed{aspect-ratio:3/4}.xc-library-photo-image{display:block;width:100%;height:auto;transition:opacity var(--xc-motion-base)}.xc-library-photo:hover .xc-library-photo-image{opacity:.8}.xc-library-photo:active .xc-library-photo-image{opacity:.65}.xc-library-photo:focus-visible{outline:3px solid var(--xc-lime);outline-offset:-3px}.xc-library-video-badge{position:absolute;top:.75rem;right:.75rem;display:grid;width:2.25rem;height:2.25rem;align-items:center;justify-items:center;border-radius:50%;background:var(--xc-lime);color:var(--xc-ink);pointer-events:none}.xc-library-video-badge svg{width:1rem;height:1rem}.xc-library-photo-caption{position:absolute;inset:auto 0 0;display:flex;align-items:flex-end;justify-content:space-between;gap:.75rem;padding:3rem 1rem 1rem;background:linear-gradient(transparent,rgba(0,0,0,.8));opacity:0;transition:opacity var(--xc-motion-base);font:600 .7rem/1.6 var(--xc-font-display)}.xc-library-photo-caption svg{width:1rem;height:1rem;flex-shrink:0}.xc-library-photo:focus-visible .xc-library-photo-caption,.xc-library-photo:hover .xc-library-photo-caption{opacity:1}.xc-library-photo-error{position:absolute;inset:1rem}.xc-library-load,.xc-library-photo-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;font-size:.85rem;text-align:center}.xc-library-load{min-height:12rem;padding-block:3rem;color:var(--xc-muted)}.xc-library-load p{display:flex;align-items:center;justify-content:center;gap:.75rem}.xc-library-spinner{width:1.25rem;height:1.25rem;animation:library-spin 1s linear infinite}.xc-library-skeleton{min-height:100vh;min-height:100svh;align-content:start;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--xc-library-gap);padding-inline:var(--xc-library-gap)}.xc-library-skeleton span{display:block;aspect-ratio:3/4;border-radius:var(--xc-radius-md);background:var(--xc-surface-soft)}@keyframes library-spin{to{transform:rotate(1turn)}}@keyframes library-scroll-bob{0%,to{transform:translateY(0)}50%{transform:translateY(4px)}}@media (hover:none){.xc-library-photo-caption{opacity:1}}@media (max-width:1199px){.xc-library-page .xc-library-wall--masonry{--xc-library-columns:3}.xc-library-skeleton{grid-template-columns:repeat(3,minmax(0,1fr))}.xc-library-skeleton span:nth-child(n+4){display:none}}@media (max-width:699px){.xc-library-page .xc-library-wall--masonry{--xc-library-columns:2}.xc-library-video-badge{width:2rem;height:2rem}.xc-library-intro{align-items:flex-start;flex-direction:column;gap:1.5rem;padding-block:2.5rem 2rem}.xc-library-intro-note{flex-basis:auto;max-width:28rem;font-size:.8rem}.xc-library-scroll-row{padding-bottom:1.25rem}.xc-library-collection{--xc-library-gap:8px;padding-bottom:2.5rem}.xc-library-photo-caption{padding-inline:.65rem;font-size:.6rem}.xc-library-photo-caption svg{display:none}.xc-library-skeleton{grid-template-columns:repeat(2,minmax(0,1fr))}.xc-library-skeleton span:nth-child(n+3){display:none}}@media (prefers-reduced-motion:reduce){.xc-library-column{transform:none!important}.xc-library-scroll-cue svg,.xc-library-spinner{animation:none}.xc-library-photo-caption,.xc-library-photo-image{transition:none}}}