.ps{display:flex;gap:28px;align-items:flex-start}.ps__sidebar{width:240px;flex-shrink:0;display:flex;flex-direction:column;gap:18px}.ps__sidebar-header{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.ps__facet-label{font-size:13px;font-weight:600;margin:0 0 8px;color:var(--muted-foreground)}.ps__facet-label--heading{font-size:16px;font-weight:700;color:var(--foreground);margin:0}.ps__clear-link{background:none;border:none;color:var(--primary);font-size:13px;font-weight:600;cursor:pointer;padding:0;text-decoration:underline}.ps__facet-group{border-top:1px solid var(--border);padding-top:14px}.ps__facet-options{display:flex;flex-wrap:wrap;gap:6px}.ps__chip{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;border:1px solid var(--border);background:var(--background);color:var(--foreground);font:inherit;font-size:13px;cursor:pointer;transition:background-color .15s ease,color .15s ease,border-color .15s ease,transform .15s ease}.ps__chip:hover{transform:translateY(-1px)}.ps__chip--selected{background:var(--primary);border-color:var(--primary);color:var(--primary-foreground);animation:ps-chip-pop .22s ease}@keyframes ps-chip-pop{0%{transform:scale(1)}40%{transform:scale(1.12)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.ps__chip--selected{animation:none}}.ps__spotlight{border:1px solid var(--border);border-radius:10px;padding:16px;background:color-mix(in srgb,var(--primary) 6%,var(--background));display:flex;flex-direction:column;gap:14px}.ps__spotlight-intro{margin:0;font-size:13px;color:var(--muted-foreground)}.ps__spotlight .ps__facet-group--first{border-top:none;padding-top:0}.ps__spotlight .ps__facet-group{border-top:1px solid var(--border)}.ps__chip--icon svg{flex-shrink:0}.ps__chip-wrap{display:inline-flex;align-items:center;gap:2px}.ps__chip-info{flex-shrink:0;width:20px;height:20px;border-radius:999px;border:1px solid var(--border);background:none;color:var(--muted-foreground);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700}.ps__chip-info:hover{border-color:var(--primary);color:var(--primary)}.ps__modal-overlay{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.6);padding:16px;animation:ps-fade-in .18s ease}.ps__modal{position:relative;width:100%;max-width:min(94vw,560px);max-height:calc(100vh - 32px);overflow-y:auto;border-radius:12px;border:1px solid var(--border);background:var(--card);color:var(--card-foreground);padding:20px;animation:ps-modal-in .22s cubic-bezier(.16,1,.3,1)}@keyframes ps-fade-in{0%{opacity:0}}@keyframes ps-modal-in{0%{opacity:0;transform:scale(.96) translateY(6px)}}@media (prefers-reduced-motion:reduce){.ps__modal,.ps__modal-overlay{animation:none}}.ps__modal-close{position:absolute;top:12px;inset-inline-end:12px;width:28px;height:28px;border-radius:999px;border:1px solid var(--border);background:var(--card);color:inherit;font-size:16px;line-height:1;cursor:pointer}.ps__modal-img{display:block;width:100%;height:clamp(180px,36vh,360px);object-fit:cover;border-radius:8px;margin-bottom:14px}.ps__modal-title{display:flex;align-items:center;gap:8px;margin:0 0 10px;font-size:18px;font-weight:700}.ps__modal-description{margin:0;font-size:14px;color:var(--muted-foreground);line-height:1.6}.ps__budget-row{display:flex;align-items:center;gap:10px;min-width:0}.ps__budget-icon{flex-shrink:0;color:var(--primary);transition:transform .25s ease}.ps__budget-slider{flex:1;min-width:0;accent-color:var(--primary)}.ps__results{flex:1;min-width:0}.ps__toolbar{display:flex;gap:10px;margin-bottom:20px}.ps__search{flex:1}.ps__sort-select{border:1px solid var(--border);border-radius:6px;background:var(--background);color:var(--foreground);font-size:13px;padding:0 10px}.ps__empty,.ps__loading{padding:48px 16px;text-align:center;color:var(--muted-foreground)}.ps__loading{display:flex;flex-direction:column;align-items:center;gap:14px}.ps__empty-title{font-size:16px;font-weight:600;color:var(--foreground);margin:0 0 6px}.ps__empty-hint{font-size:14px;margin:0}.ps__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px}.ps__grid>*{animation:ps-card-in .26s ease both}@keyframes ps-card-in{0%{opacity:0;transform:translateY(8px)}}@media (prefers-reduced-motion:reduce){.ps__grid>*{animation:none}}@media (max-width:768px){.ps{flex-direction:column}.ps__sidebar{width:100%}}