@media (max-width:640px){[role=button],[role=link],a,button,input,select,textarea{min-height:44px;min-width:44px}form>*+*{margin-top:1rem}table{font-size:.875rem}body{overflow-x:hidden}li,p{line-height:1.6}[role=dialog]{max-height:90vh;overflow-y:auto;-webkit-overflow-scrolling:touch}:focus-visible{outline:3px solid #3b82f6;outline-offset:2px}@media (hover:none){a:hover,button:hover{opacity:1}}}html{scroll-behavior:smooth;-webkit-overflow-scrolling:touch}[role=button],a,button{-webkit-user-select:none;-moz-user-select:none;user-select:none}@media (max-height:500px) and (orientation:landscape){.min-h-screen{min-height:100vh}.p-8{padding:1rem}.py-8{padding-top:1rem;padding-bottom:1rem}}@supports (-webkit-touch-callout:none){input[type=email],input[type=password],input[type=text],select,textarea{font-size:16px!important}.pb-safe{padding-bottom:env(safe-area-inset-bottom)}}@media screen and (-webkit-min-device-pixel-ratio:0){input,select,textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.skeleton-loading{animation:shimmer 2s linear infinite;background:linear-gradient(90deg,#f0f0f0 4%,#eaeaea 25%,#f0f0f0 36%);background-size:1000px 100%}.pull-to-refresh{position:fixed;top:-60px;left:50%;transform:translateX(-50%);transition:top .3s ease;z-index:9999}.pull-to-refresh.visible{top:20px}img{max-width:100%;height:auto;-webkit-touch-callout:none}.touch-feedback{position:relative;overflow:hidden}.touch-feedback:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:rgba(0,0,0,.1);transform:translate(-50%,-50%);transition:width .3s,height .3s}.touch-feedback:active:after{width:100%;height:100%}.scrollable{overflow-y:auto;-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.scrollable-hidden::-webkit-scrollbar{display:none}.scrollable-hidden{-ms-overflow-style:none;scrollbar-width:none}.sticky-top{position:sticky;top:0;z-index:10;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.bottom-nav{padding-bottom:env(safe-area-inset-bottom)}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}@media screen and (max-width:640px){input:focus,select:focus,textarea:focus{font-size:16px!important}}.will-change-transform{will-change:transform}.will-change-opacity{will-change:opacity}*{-webkit-tap-highlight-color:transparent}[role=button],a,button{-webkit-touch-callout:none}a,button,input,select,textarea{touch-action:manipulation}