.touch-target{min-height:44px;min-width:44px}.touch-target-md{min-height:48px;min-width:48px}.touch-target-lg{min-height:56px;min-width:56px}.touch-feedback{transition:transform .1s ease-out,background-color .15s ease-out}.touch-feedback:active{transform:scale(.97)}@media (max-width:768px){input[type=search],input[type=text],select,textarea{font-size:16px}}.no-select{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}@media (max-width:768px){.mobile-scroll{-webkit-overflow-scrolling:touch;scroll-behavior:smooth}}.safe-area-inset-top{padding-top:env(safe-area-inset-top)}.safe-area-inset-bottom{padding-bottom:env(safe-area-inset-bottom)}.safe-area-inset-left{padding-left:env(safe-area-inset-left)}.safe-area-inset-right{padding-right:env(safe-area-inset-right)}.safe-area-padding{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}@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}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.animate-slide-up{animation:slideUp .3s ease-out forwards}.animate-slide-down{animation:slideDown .3s ease-out forwards}.animate-fade-in{animation:fadeIn .2s ease-out forwards}.animate-fade-out{animation:fadeOut .2s ease-out forwards}.bottom-sheet{position:fixed;bottom:0;left:0;right:0;z-index:50;max-height:90vh;border-top-left-radius:16px;border-top-right-radius:16px;background:var(--bg-primary);box-shadow:0 -4px 20px rgba(0,0,0,.3);overflow:hidden;transform:translateY(100%);transition:transform .3s ease-out}.bottom-sheet.open{transform:translateY(0)}.bottom-sheet-handle{width:40px;height:4px;border-radius:2px;background:rgba(255,255,255,.3);margin:12px auto 8px}.mobile-modal-backdrop{position:fixed;inset:0;z-index:40;background:rgba(0,0,0,.6);backdrop-filter:blur(4px)}.mobile-search-modal{position:fixed;inset:0;z-index:50;background:var(--bg-primary);display:flex;flex-direction:column;overflow:hidden}.mobile-search-input{height:48px;font-size:16px;padding:0 16px;width:100%;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.05);color:white;transition:all .2s ease}.mobile-search-input:focus{outline:none;border-color:rgba(217,119,6,.5);background:rgba(255,255,255,.08);box-shadow:0 0 0 3px rgba(217,119,6,.1)}.search-chip{display:inline-flex;align-items:center;padding:8px 12px;border-radius:20px;background:rgba(255,255,255,.05);font-size:14px;color:rgba(255,255,255,.8);border:1px solid rgba(255,255,255,.1);transition:all .2s ease;cursor:pointer;gap:8px;touch-action:manipulation}.search-chip:active{transform:scale(.95);background:rgba(255,255,255,.08)}.filter-chip{display:inline-flex;align-items:center;padding:10px 16px;border-radius:24px;font-size:14px;font-weight:500;border:1px solid rgba(255,255,255,.2);background:transparent;color:rgba(255,255,255,.9);transition:all .2s ease;cursor:pointer;touch-action:manipulation}.filter-chip.active{background:linear-gradient(90deg,#d97706,#ea580c);border-color:transparent;color:white}.filter-chip:active{transform:scale(.95)}@media (max-width:768px){.keyboard-aware{height:100vh;height:100dvh}}.disable-pull-refresh{overscroll-behavior-y:contain;-webkit-overscroll-behavior-y:contain}@media (max-width:768px){.mobile-scroll::-webkit-scrollbar{width:4px}.mobile-scroll::-webkit-scrollbar-track{background:transparent}.mobile-scroll::-webkit-scrollbar-thumb{background:rgba(255,255,255,.2);border-radius:2px}}