.filter-sidebar{background:var(--dark-base-primary);border:1px solid var(--neutral-800);border-radius:var(--radius);overflow:hidden}.filter-sidebar__title{font-size:var(--text-sm);font-weight:700;color:var(--foreground);text-transform:uppercase;letter-spacing:.06em;padding:var(--spacing-sm) var(--spacing-md)}.filter-sidebar__section,.filter-sidebar__title{border-bottom:1px solid var(--neutral-800)}.filter-sidebar__section:last-child{border-bottom:none}.filter-sidebar__section-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--spacing-sm) var(--spacing-md);background:none;border:none;color:var(--neutral-300);font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:color .15s ease}.filter-sidebar__section-header:hover{color:var(--foreground)}.filter-sidebar__chevron{font-size:10px;color:var(--neutral-500);transition:transform .2s ease}.filter-sidebar__chevron--open{transform:rotate(0deg)}.filter-sidebar__chevron:not(.filter-sidebar__chevron--open){transform:rotate(-90deg)}.filter-sidebar__collapse{display:grid;grid-template-rows:0fr;transition:grid-template-rows .2s cubic-bezier(.32,.72,0,1)}.filter-sidebar__collapse--open{grid-template-rows:1fr}.filter-sidebar__collapse-inner{overflow:hidden;min-height:0}@media (prefers-reduced-motion:reduce){.filter-sidebar__collapse{transition:none}}.filter-sidebar__section-body{padding:0 var(--spacing-md) var(--spacing-sm);display:flex;flex-direction:column;gap:var(--spacing-xs)}.filter-sidebar__range{display:flex;align-items:center;gap:var(--spacing-xs)}.filter-sidebar__range-sep{color:var(--neutral-600);font-size:var(--text-sm)}.filter-sidebar__input{flex:1;min-width:0;padding:6px 10px;border:1px solid var(--neutral-700);border-radius:var(--radius-btn,6px);background:var(--neutral-900);color:var(--foreground);font-family:Geist Mono,monospace;font-size:var(--text-xs);font-weight:600;outline:none;transition:border-color .15s ease}.filter-sidebar__input:focus{border-color:var(--scratch-accent-100)}.filter-sidebar__input::placeholder{color:var(--neutral-600)}.filter-sidebar__checkbox{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:var(--text-xs);color:var(--neutral-300);font-weight:500;padding:2px 0;transition:color .15s ease}.filter-sidebar__checkbox:hover{color:var(--foreground)}.filter-sidebar__checkbox input[type=checkbox]{appearance:none;-webkit-appearance:none;width:14px;height:14px;border:2px solid var(--neutral-600);border-radius:3px;background:transparent;cursor:pointer;position:relative;flex-shrink:0;transition:border-color .15s ease,background .15s ease}.filter-sidebar__checkbox input[type=checkbox]:checked{border-color:var(--scratch-accent-100);background:var(--scratch-accent-100)}.filter-sidebar__checkbox input[type=checkbox]:checked:after{content:"";position:absolute;top:1px;left:3px;width:4px;height:7px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.filter-sheet-backdrop{position:fixed;inset:0;z-index:90;background:rgba(0,0,0,.5);backdrop-filter:blur(4px)}.filter-sheet{position:fixed;bottom:0;left:0;right:0;z-index:91;max-height:80vh;overflow-y:auto;background:var(--dark-base-primary);border-radius:16px 16px 0 0;border:1px solid var(--neutral-700);border-bottom:none}.filter-sheet__header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--neutral-800)}.filter-sheet__header h3{font-size:var(--text-base);font-weight:700;color:var(--foreground)}.filter-sheet__close{background:none;border:none;color:var(--neutral-400);font-size:24px;cursor:pointer}.filter-sheet__body{padding:var(--spacing-md) var(--spacing-lg)}.filter-sheet__body .filter-sidebar{border:none;background:none}.filter-sheet__footer{padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--neutral-800)}.filter-sheet__apply{width:100%;padding:10px;background:var(--scratch-accent-100);color:white;border:none;border-radius:var(--radius-btn,6px);font-size:var(--text-sm);font-weight:700;cursor:pointer}.sidebar-layout{display:flex;gap:var(--spacing-lg);align-items:flex-start}.sidebar-layout__sidebar{flex:0 0 240px;position:sticky;top:var(--spacing-lg)}.sidebar-layout__main{flex:1;min-width:0}@media (max-width:1024px){.sidebar-layout__sidebar{display:none}}