.nav-scrollable{overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.nav-scrollable::-webkit-scrollbar{display:none}.nav-item{scroll-snap-align:start;flex-shrink:0}.touch-target{min-width:44px;min-height:44px}.touch-feedback:active{transform:scale(.95);opacity:.8}@media (prefers-reduced-motion:reduce){.nav-scrollable,.touch-feedback,.transition-all{transition:none!important;animation:none!important}}@media (min-width:640px){.nav-scrollable{scroll-padding-left:1rem;scroll-padding-right:1rem}}@media (min-width:768px){.nav-scrollable{overflow-x:visible;scroll-snap-type:none}.nav-item{scroll-snap-align:none}}@media (hover:hover) and (pointer:fine){.hover-lift:hover{transform:translateY(-2px)}.hover-scale:hover{transform:scale(1.05)}}@supports (padding:max(0px)){.safe-top{padding-top:max(1rem,env(safe-area-inset-top))}.safe-bottom{padding-bottom:max(1rem,env(safe-area-inset-bottom))}}.header-layer{z-index:50}.search-layer{z-index:80}.backdrop-layer{z-index:70}.ai-search-collapsed{bottom:1rem;max-width:600px}.ai-search-collapsed,.ai-search-expanded{position:fixed;left:50%;transform:translateX(-50%);width:calc(100vw - 2rem)}.ai-search-expanded{bottom:60px;top:60px;max-width:640px;height:calc(100vh - 120px)}.scroll-optimized{will-change:transform;transform:translateZ(0);backface-visibility:hidden}.body-with-search{padding-bottom:calc(56px + 1rem + env(safe-area-inset-bottom))}.bottom-sheet-enter{animation:slideUp .5s cubic-bezier(.32,.72,0,1)}.bottom-sheet-exit{animation:slideDown .3s cubic-bezier(.32,.72,0,1)}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideDown{0%{transform:translateY(0);opacity:1}to{transform:translateY(100%);opacity:0}}.skeleton-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.focus-ring:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px;border-radius:.5rem}@media (prefers-contrast:high){.nav-item,.touch-target{border:1px solid}}