.touch-pan-x{touch-action:pan-x;scroll-behavior:smooth}@media (max-width:768px){.mobile-categories{scroll-snap-type:x mandatory}.mobile-category-item{scroll-snap-align:start;flex-shrink:0}}.line-clamp-2{-webkit-line-clamp:2}.line-clamp-2,.line-clamp-3{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3}@layer utilities{.line-clamp-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}}@media (max-width:768px){.masonry-item{break-inside:avoid;page-break-inside:avoid}.masonry-item *{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.masonry-item input,.masonry-item p,.masonry-item span,.masonry-item textarea{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}button{min-height:44px;min-width:44px}.touch-button{padding:12px;border-radius:12px;transition:all .2s ease}.touch-button:active{transform:scale(.95);background-color:rgba(0,0,0,.1)}}@supports (padding-top:env(safe-area-inset-top)){.mobile-header{padding-top:calc(env(safe-area-inset-top) + 1rem)}.mobile-bottom-nav{padding-bottom:calc(env(safe-area-inset-bottom) + .5rem)}}.mobile-scroll-container{-webkit-overflow-scrolling:touch;scroll-behavior:smooth}@media (max-width:768px){.mobile-fade-in{animation:mobileSlideUp .3s ease-out}@keyframes mobileSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}}@media (max-width:768px){.masonry-container{column-count:2;column-gap:12px;column-fill:balance}.masonry-item{display:inline-block;margin-bottom:12px;width:100%;break-inside:avoid}}.bottom-nav-safe{padding-bottom:env(safe-area-inset-bottom)}.scrollbar-thin{scrollbar-width:thin;scrollbar-color:rgb(209,213,219) rgb(243,244,246)}.scrollbar-thin::-webkit-scrollbar{width:6px}.scrollbar-thin::-webkit-scrollbar-track{background:rgb(243,244,246);border-radius:3px}.scrollbar-thin::-webkit-scrollbar-thumb{background:rgb(209,213,219);border-radius:3px;transition:background-color .2s ease}.scrollbar-thin::-webkit-scrollbar-thumb:hover{background:rgb(156,163,175)}.scrollbar-thumb-gray-300::-webkit-scrollbar-thumb{background:rgb(209,213,219)}.scrollbar-track-gray-100::-webkit-scrollbar-track{background:rgb(243,244,246)}.hover\:scrollbar-thumb-gray-400:hover::-webkit-scrollbar-thumb{background:rgb(156,163,175)}.modal-scroll-container{scroll-behavior:smooth;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}@media (max-width:768px){.scrollbar-thin{scrollbar-width:none}.scrollbar-thin::-webkit-scrollbar{width:4px}.scrollbar-thin::-webkit-scrollbar-track{background:transparent}.scrollbar-thin::-webkit-scrollbar-thumb{background:rgba(156,163,175,.5);border-radius:2px}input,select,textarea{font-size:16px!important;-webkit-text-size-adjust:100%;text-size-adjust:100%}.mobile-fixed-panel{position:fixed;-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden;will-change:transform}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{transform:scale(1.05)}70%{transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes slideInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.animate-fadeInUp{animation:fadeInUp .6s ease-out forwards}.animate-fadeInLeft{animation:fadeInLeft .6s ease-out forwards}.animate-fadeInRight{animation:fadeInRight .6s ease-out forwards}.animate-scaleIn{animation:scaleIn .5s ease-out forwards}.animate-fadeIn{animation:fadeIn .8s ease-out forwards}.animate-bounceIn{animation:bounceIn .7s ease-out forwards}.animate-slideInDown{animation:slideInDown .5s ease-out forwards}.animate-delay-100{animation-delay:.1s}.animate-delay-200{animation-delay:.2s}.animate-delay-300{animation-delay:.3s}.animate-delay-400{animation-delay:.4s}.animate-delay-500{animation-delay:.5s}.animate-delay-600{animation-delay:.6s}.animate-delay-700{animation-delay:.7s}.animate-delay-800{animation-delay:.8s}.animate-bounceIn,.animate-fadeIn,.animate-fadeInLeft,.animate-fadeInRight,.animate-fadeInUp,.animate-scaleIn,.animate-slideInDown{opacity:0}.hover-scale{transition:transform .2s ease-in-out}.hover-scale:hover{transform:scale(1.02)}.input-focus{transition:all .3s ease}.input-focus:focus{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.1)}.button-press{transition:all .1s ease}.button-press:active{transform:scale(.98)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.smooth-transition{transition:all .3s cubic-bezier(.4,0,.2,1)}@keyframes gradientText{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.animate-gradient-text{background:linear-gradient(-45deg,#cdee3f,#34d399,#3b82f6,#8b5cf6);background-size:400% 400%;animation:gradientText 3s ease infinite;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}@keyframes float{0%,to{transform:translateY(0) rotate(0deg);opacity:.6}25%{transform:translateY(-10px) rotate(2deg);opacity:.8}50%{transform:translateY(-20px) rotate(-1deg);opacity:1}75%{transform:translateY(-5px) rotate(1deg);opacity:.8}}.animate-float{animation:float 6s ease-in-out infinite}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.animate-shimmer{background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);background-size:200px 100%;animation:shimmer 2s infinite}@keyframes loading-blur{0%{transform:translateX(-100%);opacity:0}50%{opacity:1}to{transform:translateX(300%);opacity:0}}@keyframes fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{transform:translateX(-130px) translateY(0) rotate(-32deg) scale(.8);opacity:0}to{transform:translateX(-94px) translateY(-20px) rotate(-16deg) scale(1);opacity:1}}@keyframes slideInRight{0%{transform:translateX(70px) translateY(-20px) rotate(20deg) scale(.8);opacity:0}to{transform:translateX(-14px) translateY(8px) rotate(0deg) scale(1);opacity:1}}@keyframes bounceInCustom{0%{transform:scale(0) rotate(-180deg);opacity:0}50%{transform:scale(1.3) rotate(-90deg);opacity:1}to{transform:scale(1) rotate(0deg);opacity:1}}@keyframes checkDraw{0%{stroke-dasharray:0 100;stroke-dashoffset:0}to{stroke-dasharray:100 100;stroke-dashoffset:0}}@keyframes fadeInDelayed{0%,40%{opacity:0;transform:translateX(10px)}to{opacity:1;transform:translateX(0)}}.animate-loading-blur{animation:loading-blur 2s ease-in-out infinite}.animate-fade-in{animation:fade-in .8s ease-out}.animate-slide-in-left{animation:slideInLeft .8s ease-out forwards}.animate-slide-in-right{animation:slideInRight .8s ease-out .2s forwards;opacity:0}.animate-bounce-in-custom{animation:bounceInCustom .6s cubic-bezier(.68,-.55,.265,1.55) forwards}.animate-check-draw{stroke-dasharray:100;stroke-dashoffset:100;animation:checkDraw .5s ease-in-out .3s forwards}.animate-fade-in-delayed{animation:fadeInDelayed .8s ease-out .4s forwards;opacity:0}.animate-fade-in-homepage{animation:fadeIn .8s ease-out .6s forwards;opacity:0}@keyframes scroll{0%{transform:translateX(0)}to{transform:translateX(-50%)}}.animate-scroll{animation:scroll 20s linear infinite}.scrollbar-hide::-webkit-scrollbar{display:none}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}