.site-header__brand{display:flex;flex-direction:row;align-items:baseline;gap:var(--space-2)}.site-header__tagline{opacity:.6;font-size:var(--step-0)}.toolbar{position:sticky;top:0;z-index:10;background:var(--stock);border-bottom:var(--outline);padding:var(--space-4) var(--space-5);display:flex;flex-direction:column;gap:var(--space-3)}.search-wrap{position:relative;width:100%}.search-input{width:100%;font-family:var(--font-body);font-size:var(--step-2);padding:var(--space-3) var(--space-4);border:var(--outline);border-radius:var(--radius);background:var(--stock);color:var(--ink);transition:box-shadow var(--misregister-duration) var(--misregister-easing)}.search-input:focus{box-shadow:0 0 0 3px var(--stock-2)}.search-hint{position:absolute;top:50%;right:var(--space-3);transform:translateY(-50%);font-family:var(--font-mono);font-size:var(--step-0);padding:2px var(--space-2);border:1px solid var(--ink);border-radius:var(--radius);opacity:.5;pointer-events:none;transition:opacity var(--misregister-duration) var(--misregister-easing)}.search-hint.is-hidden{opacity:0}.filter-toggle{display:none;font-family:var(--font-mono);font-size:var(--step-0);text-transform:uppercase;letter-spacing:var(--tracking-utility);border:var(--outline);border-radius:var(--radius);background:var(--stock);color:var(--ink);padding:var(--space-2) var(--space-3);min-height:44px;cursor:pointer;align-self:flex-start;transition:transform var(--misregister-duration) var(--misregister-easing),background-color var(--misregister-duration) var(--misregister-easing),color var(--misregister-duration) var(--misregister-easing)}.filter-toggle:active{transform:scale(.96)}.filter-toggle[aria-expanded=true]{background:var(--ink);color:var(--stock)}.filter-groups{display:flex;flex-wrap:wrap;gap:var(--space-4);align-items:center;justify-content:space-between}@media (max-width: 640px){.filter-toggle{display:inline-flex;align-items:center}.filter-groups{display:none}.filter-groups.is-open{display:flex}}.sort-select{font-family:var(--font-mono);font-size:var(--step-0);text-transform:uppercase;letter-spacing:var(--tracking-utility);border:var(--outline);border-radius:var(--radius);background:var(--stock);color:var(--ink);padding:var(--space-2) var(--space-3);min-height:44px}.rail{padding:var(--space-4) var(--space-5) 0}.rail__title{font-family:var(--font-mono);font-size:var(--step-0);text-transform:uppercase;letter-spacing:var(--tracking-utility);opacity:.7;margin:0 0 var(--space-2)}.rail__scroller{display:flex;gap:var(--space-3);overflow-x:auto;scroll-behavior:smooth;scroll-snap-type:x proximity;padding-bottom:var(--space-2)}.rail__scroller.can-scroll-right{-webkit-mask-image:linear-gradient(to right,black calc(100% - 32px),transparent 100%);mask-image:linear-gradient(to right,black calc(100% - 32px),transparent 100%)}.rail__scroller.can-scroll-left{-webkit-mask-image:linear-gradient(to right,transparent 0%,black 32px,black 100%);mask-image:linear-gradient(to right,transparent 0%,black 32px,black 100%)}.rail__scroller.can-scroll-left.can-scroll-right{-webkit-mask-image:linear-gradient(to right,transparent 0%,black 32px,black calc(100% - 32px),transparent 100%);mask-image:linear-gradient(to right,transparent 0%,black 32px,black calc(100% - 32px),transparent 100%)}.rail__scroller .card{scroll-snap-align:start}.rail__scroller .card{flex:0 0 200px;min-height:110px}.daily-chip{display:block;text-decoration:none;color:var(--ink)}.daily-chip__status{display:block;font-family:var(--font-mono);font-size:var(--step-0);text-transform:uppercase;letter-spacing:var(--tracking-utility);margin-top:var(--space-1);opacity:.7}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-4);padding:var(--space-5)}.grid[hidden],.rail[hidden],.card[hidden]{display:none}.empty-state{display:none;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-7) var(--space-5);text-align:center}.empty-state__title{font-size:var(--step-4)}.empty-state__hint{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:var(--tracking-utility);opacity:.7}.empty-state.is-visible{display:flex;animation:empty-state-in var(--misregister-duration) var(--misregister-easing)}@keyframes empty-state-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
