html,body,#root{height:100%;width:100%;margin:0;padding:0;overflow-x:hidden}:root{--safe-area-inset-top: env(safe-area-inset-top, 0px);--safe-area-inset-bottom: env(safe-area-inset-bottom, 0px);--safe-area-inset-left: env(safe-area-inset-left, 0px);--safe-area-inset-right: env(safe-area-inset-right, 0px)}input,select,textarea{font-size:16px!important}@media(min-width:768px){input,select,textarea{font-size:inherit!important}}button,a,[role=button]{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button:active,a:active,[role=button]:active{transform:scale(.98);transition:transform .1s ease-out}.touch-target{min-height:44px;min-width:44px}html{scroll-behavior:smooth}@media(max-width:768px){*{-webkit-overflow-scrolling:touch}}button,[role=button]{-webkit-user-select:none;user-select:none}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.animate-shimmer{animation:shimmer 2s ease-in-out infinite;background:linear-gradient(90deg,#1e293b80,#33415580,#1e293b80);background-size:200% 100%}.skeleton-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes bounce-subtle{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.animate-bounce-subtle{animation:bounce-subtle .5s ease-in-out}
