.transition-colors{transition-property:color,background-color,border-color;transition-timing-function:ease;transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:ease;transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:ease-out;transition-duration:.2s}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes search-modal-enter{0%{opacity:0;transform:scale(.96) translateY(-8px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes search-modal-exit{0%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.98) translateY(-4px)}}.animate-search-modal-enter{animation:search-modal-enter .2s cubic-bezier(.16,1,.3,1)}@keyframes filter-chip-enter{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.animate-filter-chip{animation:filter-chip-enter .15s cubic-bezier(.16,1,.3,1)}@keyframes result-row-enter{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.animate-stagger>*{animation:result-row-enter .18s ease-out both}.animate-stagger>:first-child{animation-delay:0s}.animate-stagger>:nth-child(2){animation-delay:25ms}.animate-stagger>:nth-child(3){animation-delay:50ms}.animate-stagger>:nth-child(4){animation-delay:75ms}.animate-stagger>:nth-child(5){animation-delay:.1s}.animate-stagger>:nth-child(6){animation-delay:125ms}.animate-stagger>:nth-child(7){animation-delay:.15s}.animate-stagger>:nth-child(8){animation-delay:175ms}.transition-premium{transition:all .2s cubic-bezier(.16,1,.3,1)}.transition-fast{transition:all .15s cubic-bezier(.16,1,.3,1)}@keyframes backdrop-fade-in{0%{opacity:0}to{opacity:1}}.animate-backdrop{animation:backdrop-fade-in .2s ease-out}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}.touch-target,[role=button],a,button,input[type=button],input[type=submit]{min-height:44px;min-width:44px}.breadcrumb a,[aria-label=Breadcrumb] a,nav a,p a,span a{min-height:auto;min-width:auto}@media (max-width:639px){.heading-1,h1{font-size:clamp(2rem,8vw,3rem);line-height:1.2}.heading-2,h2{font-size:clamp(1.5rem,6vw,2.25rem);line-height:1.3}.heading-3,h3{font-size:clamp(1.25rem,5vw,1.75rem);line-height:1.4}.body-text,p{font-size:clamp(.875rem,4vw,1rem);line-height:1.6}.text-small,small{font-size:clamp(.75rem,3.5vw,.875rem)}.container{padding-left:1rem;padding-right:1rem}}@media (max-width:768px){.mobile-stack{flex-direction:column!important}.mobile-full-width{width:100%!important}header.sticky.top-0{position:sticky;top:0;z-index:50}.mobile-safe-area-top{padding-top:env(safe-area-inset-top)}.mobile-safe-area-bottom{padding-bottom:env(safe-area-inset-bottom)}}@media (max-width:639px){.product-card,.ranking-card{padding:.75rem}.grid-responsive{grid-template-columns:1fr}}@media (min-width:640px) and (max-width:1023px){.grid-responsive{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.grid-responsive{grid-template-columns:repeat(3,1fr)}}img{max-width:100%;height:auto}@media (max-width:639px){.product-image{max-height:60vh;-o-object-fit:contain;object-fit:contain}}.responsive-image-container{position:relative;overflow:hidden;width:100%;height:100%}@media (max-width:374px){.img-responsive-ranking{width:clamp(48px,14vw,56px)!important;height:clamp(48px,14vw,56px)!important;min-width:48px!important;min-height:48px!important}.img-responsive-card{width:clamp(80px,25vw,100px)!important;height:clamp(80px,25vw,100px)!important;min-width:80px!important;min-height:80px!important}.img-responsive-hero{width:clamp(180px,70vw,240px)!important;min-height:180px!important}.img-responsive-thumbnail{width:clamp(32px,10vw,40px)!important;height:clamp(32px,10vw,40px)!important;min-width:32px!important;min-height:32px!important}}@media (min-width:375px) and (max-width:479px){.img-responsive-ranking{width:clamp(56px,15vw,72px)!important;height:clamp(56px,15vw,72px)!important;min-width:56px!important;min-height:56px!important}.img-responsive-card{width:clamp(100px,28vw,140px)!important;height:clamp(100px,28vw,140px)!important;min-width:100px!important;min-height:100px!important}.img-responsive-hero{width:clamp(240px,75vw,320px)!important;min-height:240px!important}.img-responsive-thumbnail{width:clamp(40px,11vw,52px)!important;height:clamp(40px,11vw,52px)!important;min-width:40px!important;min-height:40px!important}}@media (min-width:480px) and (max-width:639px){.img-responsive-ranking{width:clamp(72px,16vw,88px)!important;height:clamp(72px,16vw,88px)!important;min-width:72px!important;min-height:72px!important}.img-responsive-card{width:clamp(140px,30vw,180px)!important;height:clamp(140px,30vw,180px)!important;min-width:140px!important;min-height:140px!important}.img-responsive-hero{width:clamp(320px,80vw,400px)!important;min-height:320px!important}.img-responsive-thumbnail{width:clamp(52px,12vw,64px)!important;height:clamp(52px,12vw,64px)!important;min-width:52px!important;min-height:52px!important}}.img-no-collapse{min-width:2.5rem!important;min-height:2.5rem!important}@media (min-width:480px){.img-no-collapse{min-width:3rem!important;min-height:3rem!important}}@media (min-width:640px){.img-no-collapse{min-width:4rem!important;min-height:4rem!important}}.img-square{aspect-ratio:1/1}.img-4-3{aspect-ratio:4/3}.img-16-9{aspect-ratio:16/9}.img-3-4{aspect-ratio:3/4}.img-container-fill{position:relative!important}.img-container-fill>img,.img-container-fill>span>img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;-o-object-fit:contain!important;object-fit:contain!important}.img-gpu-accelerated{transform:translateZ(0);backface-visibility:hidden;will-change:transform}.img-smooth-load{transition:opacity .3s ease-in-out,transform .3s ease-in-out}.img-smooth-load[data-loading=true]{opacity:0;transform:scale(1.02)}.img-smooth-load[data-loading=false]{opacity:1;transform:scale(1)}@media (max-width:639px){input[type=email],input[type=password],input[type=search],input[type=text],select,textarea{font-size:16px;min-height:44px;padding:.75rem 1rem}.modal,[role=dialog]{width:100vw;max-width:100vw;height:100vh;max-height:100vh;margin:0;border-radius:0}}.scroll-area{-webkit-overflow-scrolling:touch}@media (max-width:768px){.hide-scrollbar::-webkit-scrollbar{display:none}.hide-scrollbar{-ms-overflow-style:none;scrollbar-width:none}}.scrollbar-hide::-webkit-scrollbar{display:none}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}@media (max-width:639px){.vote-buttons{gap:.5rem}.vote-button{min-width:80px;min-height:44px;padding:.5rem 1rem}}.mobile-vote-bar-fixed{position:fixed;bottom:0;left:0;right:0;z-index:40;padding-bottom:env(safe-area-inset-bottom)}@media (max-width:768px){.search-input{width:100%;font-size:16px}.search-results{max-height:70vh;overflow-y:auto}}.animate-smooth{transform:translateZ(0);will-change:transform}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media (max-height:500px) and (orientation:landscape){.hero-section{min-height:auto;padding-top:2rem;padding-bottom:2rem}.mobile-hide-landscape{display:none}}@media (max-width:639px){.sm-hidden{display:none!important}}@media (min-width:641px){.sm-only{display:none!important}}@media (max-width:768px){.md-hidden{display:none!important}}@media (min-width:769px){.md-only{display:none!important}}@media (max-width:639px){.mobile-text-center{text-align:center}.mobile-text-left{text-align:left}}.mobile-px-4{padding-left:1rem;padding-right:1rem}.mobile-py-4{padding-top:1rem;padding-bottom:1rem}.safe-top{padding-top:env(safe-area-inset-top)}.safe-bottom{padding-bottom:env(safe-area-inset-bottom)}.safe-left{padding-left:env(safe-area-inset-left)}.safe-right{padding-right:env(safe-area-inset-right)}@media (prefers-color-scheme:dark){body{color:hsl(0,0%,95%)}.card{border-color:hsl(0,0%,20%)}}@media (max-width:400px){.modern-card{padding:.75rem!important}.modern-card>*{gap:.5rem}.modern-card .text-base,.modern-card h3{font-size:.875rem}.modern-card .badge,.modern-card .rounded-full{font-size:.625rem;padding:.25rem .5rem}}@media (max-width:360px){.modern-card{padding:.5rem!important}.modern-card .hidden-xs{display:none!important}.vote-buttons-container{flex-direction:column!important;gap:.5rem!important}}@media (max-width:639px){.scroll-area-viewport{scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}.scroll-area-viewport>div{scroll-snap-align:start}.scroll-area-scrollbar{height:2px!important}.category-pill{min-width:-moz-fit-content;min-width:fit-content;white-space:nowrap}}@media (hover:none) and (pointer:coarse){[role=button]:active,a:active,button:active{transform:scale(.97);transition:transform .1s ease}[role=button],button{touch-action:manipulation}.icon-button,.vote-button{min-width:44px;min-height:44px;padding:.5rem}}@media (max-height:600px) and (orientation:landscape){.modern-card{padding-top:.5rem!important;padding-bottom:.5rem!important}.hero-section,[class*=hero]{min-height:auto!important;padding-top:2rem!important;padding-bottom:2rem!important}.sticky{padding-top:.5rem!important;padding-bottom:.5rem!important}}@media (max-width:639px){.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word;hyphens:auto}.product-name{word-wrap:break-word;overflow-wrap:break-word;hyphens:auto}.category-tag{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.product-image,[class*=product-image]{will-change:transform;backface-visibility:hidden;transform:translateZ(0)}}@media (max-width:768px){.sticky{position:sticky;z-index:10}.sticky.is-stuck{box-shadow:0 4px 6px -1px rgba(0,0,0,.1)}}@media (max-width:639px){.loading-spinner{width:2rem;height:2rem}.skeleton{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}}.mobile-vote-bar{position:fixed;bottom:0;left:0;right:0;z-index:50;background:rgba(0,0,0,.9);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid rgba(255,255,255,.1);padding-bottom:env(safe-area-inset-bottom)}.mobile-vote-bar-content{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;gap:.75rem}@media (min-width:1024px){.mobile-vote-bar{display:none}}@media (hover:none) and (pointer:coarse){.btn-mobile-active:active{transform:scale(.97);opacity:.9}.touch-ripple{position:relative;overflow:hidden}.touch-ripple:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at center,rgba(255,255,255,.2) 0,transparent 70%);opacity:0;transform:scale(0);transition:transform .3s,opacity .3s}.touch-ripple:active:after{opacity:1;transform:scale(2);transition:transform 0s,opacity 0s}}@media (max-width:639px){.hero-mobile{min-height:100svh;padding-top:2rem;padding-bottom:2rem}.hero-title-mobile{font-size:clamp(1.75rem,8vw,3rem);line-height:1.1}.hero-subtitle-mobile{font-size:clamp(1.25rem,6vw,2rem);line-height:1.15}.hero-product-mobile{max-width:280px;margin:0 auto}.ranking-card-mobile{padding:.75rem;border-radius:.75rem}.product-image-container{min-width:60px;min-height:60px;aspect-ratio:1}.product-image-container img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.auth-card-mobile{border-radius:1rem;box-shadow:0 4px 20px rgba(0,0,0,.3)}.form-input-mobile{font-size:16px!important;min-height:48px}.auth-bg-orb{width:200px;height:200px}}.scroll-momentum{overscroll-behavior:contain}.scroll-momentum,.scroll-snap-x{-webkit-overflow-scrolling:touch}.scroll-snap-x{scroll-snap-type:x mandatory}.scroll-snap-item{scroll-snap-align:center;scroll-snap-stop:always}@media (max-width:639px){.text-balance-mobile{text-wrap:balance}.line-clamp-mobile-1{-webkit-line-clamp:1}.line-clamp-mobile-1,.line-clamp-mobile-2{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-mobile-2{-webkit-line-clamp:2}}@media (hover:none){:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px}a:focus-visible,button:focus-visible,input:focus-visible{outline-width:3px}}@media (max-width:639px) and (prefers-reduced-motion:no-preference){.animate-mobile-fade{animation:mobile-fade .2s ease-out}.animate-mobile-slide-up{animation:mobile-slide-up .25s ease-out}}@keyframes mobile-fade{0%{opacity:0}to{opacity:1}}@keyframes mobile-slide-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.z-mobile-header{z-index:50}.z-mobile-menu{z-index:60}.z-mobile-modal{z-index:70}.z-mobile-toast{z-index:80}.z-mobile-vote-bar{z-index:45}}