.min-h-screen{min-height:100vh;min-height:calc(var(--vh, 1vh) * 100)}.reduce-motion *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.touch-active{transform:scale(.98);opacity:.8}.is-mobile{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}.is-mobile [role=button],.is-mobile a,.is-mobile button{min-height:44px;min-width:44px;position:relative}.is-ios{-webkit-overflow-scrolling:touch}.is-ios [data-scrollable=true],.is-ios body,.is-ios main{-webkit-overflow-scrolling:touch;overflow-y:auto;overscroll-behavior-y:contain}.is-ios .scrollable{-webkit-overflow-scrolling:touch;overflow-y:auto}.is-ios input[type=email],.is-ios input[type=password],.is-ios input[type=text],.is-ios select,.is-ios textarea{font-size:16px!important}.is-android{scroll-behavior:smooth}@media (max-width:768px){*{animation-duration:.3s!important;transition-duration:.2s!important}.shadow-lg{box-shadow:0 4px 6px -1px rgba(0,0,0,.1)}.shadow-xl{box-shadow:0 8px 10px -2px rgba(0,0,0,.1)}.backdrop-blur-sm{backdrop-filter:none;background-color:rgba(255,255,255,.95)}.backdrop-blur-md{backdrop-filter:none;background-color:rgba(255,255,255,.97)}}@media (prefers-reduced-data:reduce){.decorative-image{display:none}img{filter:contrast(.95)}[style*=background-image]{background-image:none!important}}.scrollable{-webkit-overflow-scrolling:touch;overflow-scrolling:touch;overscroll-behavior:contain}.is-mobile .button,.is-mobile button,.is-mobile header,.is-mobile nav{-webkit-user-select:none;-moz-user-select:none;user-select:none}.is-mobile{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}.lazy-loading{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;animation:loading 1.5s infinite}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}@media (max-width:768px){.virtual-scroll{contain:layout style paint;will-change:transform}}.is-mobile body{overflow-x:hidden;max-width:100vw}.is-mobile .modal{position:fixed;top:0;left:0;right:0;bottom:0;margin:0;max-height:100vh;border-radius:0}