.gallery-section{scroll-margin-top:0;container-type:inline-size}.gallery-section__header{z-index:20;background:hsl(var(--background));align-items:baseline;gap:.75rem;margin-bottom:.25rem;padding:.75rem .5rem .5rem .75rem;display:flex;position:sticky;top:0}.gallery-section__title{color:hsl(var(--foreground));letter-spacing:-.01em;font-size:1.125rem;font-weight:600}.gallery-section__count{color:hsl(var(--muted-foreground));font-size:.8125rem}.gallery-grid{grid-template-columns:repeat(var(--gallery-cols), 1fr);grid-auto-rows:calc((100cqw - (var(--gallery-cols) - 1) * var(--gallery-gap,4px)) / var(--gallery-cols));grid-auto-flow:dense;gap:var(--gallery-gap,4px);display:grid}.gallery-tile{background:hsl(var(--muted));cursor:pointer;border-radius:.5rem;transition:transform .25s cubic-bezier(.4,0,.2,1),opacity .25s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.gallery-tile:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px}.gallery-tile--hero{border-radius:.75rem;grid-area:span 2/span 2}.gallery-tile--selected{outline:3px solid hsl(var(--primary));outline-offset:2px}.gallery-tile--deleting{opacity:0;pointer-events:none;transform:scale(.94)}.gallery-tile__gradient{opacity:0;pointer-events:none;background:linear-gradient(#0000 30%,#00000026 65%,#0000008c 100%);transition:opacity .2s;position:absolute;inset:0}@media (hover:hover) and (pointer:fine){.gallery-tile:hover .gallery-tile__gradient{opacity:1}}.gallery-tile__actions{opacity:1;gap:.25rem;transition:opacity .2s;display:flex;position:absolute;top:.5rem;right:.5rem}@media (hover:hover) and (pointer:fine){.gallery-tile__actions{opacity:0}.gallery-tile:hover .gallery-tile__actions,.gallery-tile:focus-within .gallery-tile__actions{opacity:1}}.gallery-tile__action{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:#0000008c;border-radius:9999px;justify-content:center;align-items:center;width:2rem;height:2rem;transition:background .15s,transform .15s;display:flex}@media (max-width:640px){.gallery-tile__action{width:2.5rem;height:2.5rem}}.gallery-tile__action:hover{background:#000c;transform:scale(1.08)}.gallery-tile__action:active{transform:scale(.94)}.gallery-tile__action--liked{background:#ef4444d9}.gallery-tile__action--liked:hover{background:#ef4444}.gallery-tile__action--public{background:#10b981cc}.gallery-tile__action--public:hover{background:#10b981f2}.gallery-tile__action--private{background:#f59e0bcc}.gallery-tile__action--private:hover{background:#f59e0bf2}.gallery-tile__action--danger:hover{background:#ef4444e6}.gallery-tile__checkbox{z-index:5;position:absolute;top:.5rem;left:.5rem}.gallery-section__empty{text-align:center;color:hsl(var(--muted-foreground));padding:2rem 1rem;font-size:.875rem}@container (max-width:639px){.gallery-tile--hero{grid-area:span 1/span 1}}.gallery-scrubber{-webkit-user-select:none;user-select:none;flex-direction:column;gap:0;padding:.5rem 0;font-size:.75rem;line-height:1;display:flex}.gallery-scrubber__item{color:hsl(var(--muted-foreground));text-align:left;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:.375rem;align-items:center;gap:.5rem;margin:0;padding:.375rem .5rem .375rem .75rem;transition:color .15s,background .15s;display:flex;position:relative}.gallery-scrubber__item:hover{color:hsl(var(--foreground));background:hsl(var(--muted) / .5)}.gallery-scrubber__item--year{letter-spacing:-.01em;color:hsl(var(--foreground));margin-top:.5rem;font-size:.8125rem;font-weight:600}.gallery-scrubber__item--year:first-child{margin-top:0}.gallery-scrubber__item--month{padding-left:1.25rem;font-size:.75rem;font-weight:400}.gallery-scrubber__dot{background:0 0;border-radius:9999px;flex-shrink:0;width:.25rem;height:.25rem;transition:background .15s,transform .15s}.gallery-scrubber__item--year .gallery-scrubber__dot{width:.3125rem;height:.3125rem}.gallery-scrubber__item--active{color:#cba569}.gallery-scrubber__item--active .gallery-scrubber__dot{background:#cba569;transform:scale(1.4);box-shadow:0 0 8px #cba56980}.gallery-scrubber__label{flex:1}
