*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}html,body{margin:0;padding:0;height:100%;overflow:hidden}#root{height:100%;height:100dvh;overflow:hidden}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior-y:contain;background-color:transparent}button,a,input,select,textarea{min-height:44px;-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:none;background:none;font-family:inherit}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hide::-webkit-scrollbar{display:none}.safe-top{padding-top:env(safe-area-inset-top,20px)}.safe-bottom{padding-bottom:env(safe-area-inset-bottom,20px)}.safe-left{padding-left:env(safe-area-inset-left,0)}.safe-right{padding-right:env(safe-area-inset-right,0)}.touch-target{min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}.no-select{-webkit-user-select:none;-moz-user-select:none;user-select:none}@supports (-webkit-touch-callout: none){#root{height:-webkit-fill-available}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-fade-in{animation:fadeIn .2s ease-out}.animate-slide-up{animation:slideUp .3s ease-out}
