@keyframes bounce{0%,to{transform:translateY(-10%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:translateY(0);animation-timing-function:cubic-bezier(0,0,.2,1)}}@keyframes ping{75%,to{transform:scale(1.5);opacity:0}}.animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}.translate-y-full{transform:translateY(100%)}.text-2xl{font-size:clamp(1.25rem,4vw,1.5rem)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@keyframes bounce-gentle{0%,to{transform:translateY(0)}50%{transform:translateY(-1px)}}@keyframes pulse-gentle{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(.8)}}.animate-bounce-gentle{animation:bounce-gentle 2s ease-in-out infinite}svg{transform:translateZ(0);backface-visibility:hidden}.group{transform-origin:center bottom;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;will-change:transform,box-shadow}.group:hover{transform:translateY(-.375rem) scale(1.01);box-shadow:0 10px 25px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.dark .group:hover{box-shadow:0 10px 25px -3px rgba(0,0,0,.3),0 4px 6px -2px rgba(0,0,0,.2)}.animate-bounce-gentle{animation:bounce-gentle 2s infinite}@keyframes bounce-gentle{0%,to{transform:translateY(-5%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:translateY(0);animation-timing-function:cubic-bezier(0,0,.2,1)}}.hide-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.hide-scrollbar::-webkit-scrollbar{display:none}.snap-x{-webkit-overflow-scrolling:touch;scroll-behavior:smooth}@keyframes bounce-x{0%,to{transform:translate(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:translate(0);animation-timing-function:cubic-bezier(0,0,.2,1)}}.transform{transform:translate(0)}.duration-300{transition-duration:.3s}.modal-enter-from .transform,.modal-leave-to .transform{transform:translate(100%)}@keyframes scroll-hint{0%{transform:translate(0)}75%{transform:translate(-20px)}to{transform:translate(0)}}.dark input:-webkit-autofill,.dark select:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px #111827 inset!important;-webkit-text-fill-color:#fff!important}input{height:2.5rem;padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem;border-radius:.375rem;transition:all .2s}input:focus,select:focus{outline:none;ring-width:2px;ring-color:rgb(59,130,246);border-color:transparent}.form-group{margin-bottom:1rem}.form-group label{display:block;font-size:.875rem;font-weight:500;margin-bottom:.25rem;color:#374151}.analysis-option{display:flex;align-items:center;gap:.5rem;padding:.5rem;cursor:pointer;transition:all .2s}.analysis-option:hover{background-color:rgba(59,130,246,.1);border-radius:.375rem}@keyframes bounce-gentle{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.fixed{transition:all .3s ease-out}.animate-bounce-gentle{animation:bounce-gentle 3s ease-in-out infinite}.frequency-input-group{display:flex;align-items:center;gap:.5rem}.frequency-input-group input,.frequency-input-group select{height:2.5rem;padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem;border-radius:.375rem;border:1px solid;border-color:#e5e7eb}.frequency-input-group input:is(.dark *),.frequency-input-group select:is(.dark *){border-color:#374151}.frequency-input-group input:disabled,.frequency-input-group select:disabled{opacity:.5;cursor:not-allowed;background-color:#f3f4f6}.frequency-input-group input:disabled:is(.dark *),.frequency-input-group select:disabled:is(.dark *){background-color:#1f2937}@media (max-width: 640px){.grid{-moz-user-select:none;user-select:none;-webkit-user-select:none}img{touch-action:none}.switch-list-view,.pagination-text{display:none}.group{padding:.75rem!important}.snap-start{width:160px!important;padding:.625rem!important}.text-xs.bg-blue-50{padding:.25rem .5rem!important}.group .gap-2{gap:.25rem!important}input{font-size:16px}.form-group{margin-bottom:.75rem}.fixed.bottom-8.right-8{bottom:1.5rem;right:1.5rem}.has-keyboard .fixed.bottom-8.right-8{bottom:5rem}.w-14.h-14{width:3.5rem;height:3.5rem}.price-range-inputs input,.date-range-inputs input{width:100%}}
