*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{font-family:Inter,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;overscroll-behavior:none}button{font-family:Inter,system-ui,sans-serif;cursor:pointer}a{color:inherit;text-decoration:none}img,svg{display:block;max-width:100%}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes spin{to{transform:rotate(360deg)}}@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 scaleIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes tabBounce{0%{transform:scale(1)}30%{transform:scale(.84)}60%{transform:scale(1.12)}80%{transform:scale(.96)}to{transform:scale(1)}}.animate-fade-up{animation:fadeUp .4s ease both}.animate-fade-in{animation:fadeIn .3s ease both}.animate-float{animation:float 3s ease-in-out infinite}.animate-slide-up{animation:slideUp .28s cubic-bezier(.25,.46,.45,.94) both}.animate-scale-in{animation:scaleIn .2s ease both}.bottom-sheet{animation:slideUp .28s cubic-bezier(.25,.46,.45,.94) both}.tab-icon-active{animation:tabBounce .35s ease both}.safe-bottom{padding-bottom:env(safe-area-inset-bottom,16px)}.scroll-x{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:10px;padding-bottom:4px}.scroll-x::-webkit-scrollbar{display:none}.scroll-x>*{scroll-snap-align:start;flex-shrink:0}@media (hover: none){button:active{opacity:.75;transform:scale(.97)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
