.photo-gallery-container{padding-bottom:calc(5rem + env(safe-area-inset-bottom,0px))}.photos-filter-panel{gap:.85rem;display:grid}.photos-filter-group{border:1px solid color-mix(in oklch, var(--color-base-content) 8%, transparent);background:linear-gradient(180deg, color-mix(in oklch, var(--color-base-100) 90%, transparent), color-mix(in oklch, var(--color-base-100) 78%, transparent)), linear-gradient(135deg, color-mix(in oklch, var(--color-primary) 4%, transparent), transparent 58%);border-radius:1.25rem;gap:.75rem;padding:.95rem;transition:border-color .22s,background-color .22s,box-shadow .22s,transform .22s;display:grid;position:relative;overflow:hidden}.photos-filter-group:before{content:"";background:linear-gradient(90deg, transparent, color-mix(in oklch, var(--color-primary) 24%, transparent), transparent);opacity:.9;pointer-events:none;height:1px;position:absolute;inset:0 0 auto}.photos-filter-head{justify-content:space-between;align-items:start;gap:.5rem;display:flex}.photos-filter-title{letter-spacing:-.01em;color:color-mix(in oklch, var(--color-base-content) 88%, transparent);font-size:.95rem;font-weight:700;line-height:1.2;display:block}.photos-filter-list{flex-wrap:wrap;gap:.5rem;display:flex}.photos-filter-chip{border:1px solid color-mix(in oklch, var(--color-base-content) 9%, transparent);background:color-mix(in oklch, var(--color-base-100) 84%, transparent);min-height:2.75rem;color:color-mix(in oklch, var(--color-base-content) 74%, transparent);cursor:pointer;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:1rem;justify-content:center;align-items:center;gap:.45rem;padding:.55rem .9rem;font-size:.76rem;font-weight:600;line-height:1;transition:transform .18s,border-color .18s,background-color .18s,color .18s,box-shadow .18s;display:inline-flex}.photos-filter-chip .badge{border-radius:999px;min-width:1.45rem;padding-inline:.32rem;font-size:.68rem;line-height:1.1}.photos-filter-chip:focus-visible{border-color:color-mix(in oklch, var(--color-primary) 34%, transparent);color:var(--color-base-content);box-shadow:0 0 0 3px color-mix(in oklch, var(--color-primary) 14%, transparent), 0 10px 24px color-mix(in oklch, var(--color-primary) 10%, transparent);outline:none}.photos-filter-chip.is-active{border-color:color-mix(in oklch, var(--color-primary) 34%, transparent);background:linear-gradient(180deg, color-mix(in oklch, var(--color-primary) 14%, transparent), color-mix(in oklch, var(--color-primary) 8%, transparent)), color-mix(in oklch, var(--color-base-100) 86%, transparent);color:var(--color-primary);box-shadow:inset 0 1px oklch(100% 5.96046e-8 none/.55)}@media (hover:hover){.photos-filter-group:hover{border-color:color-mix(in oklch, var(--color-primary) 16%, transparent);box-shadow:0 16px 30px color-mix(in oklch, var(--color-primary) 7%, transparent);transform:translateY(-1px)}.photos-filter-chip:hover{border-color:color-mix(in oklch, var(--color-primary) 22%, transparent);background:color-mix(in oklch, var(--color-base-100) 92%, transparent);color:var(--color-base-content);box-shadow:0 10px 22px color-mix(in oklch, var(--color-primary) 8%, transparent);transform:translateY(-1px)}}@media (width>=768px){.photo-gallery-container{padding-bottom:calc(6rem + env(safe-area-inset-bottom,0px))}}@media (prefers-reduced-motion:reduce){.photos-filter-group,.photos-filter-chip{transition:none}.photos-filter-group:hover,.photos-filter-chip:hover{transform:none}}@supports not ((-webkit-backdrop-filter:blur(8px)) or (backdrop-filter:blur(8px))){.photos-filter-chip{-webkit-backdrop-filter:none;background:color-mix(in oklch, var(--color-base-100) 96%, transparent)}}
