*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html{overflow:hidden;position:fixed;width:100%;height:100%;--sat: env(safe-area-inset-top, 0px);--sar: env(safe-area-inset-right, 0px);--sab: env(safe-area-inset-bottom, 0px);--sal: env(safe-area-inset-left, 0px);--vv-height: 100vh;--vv-width: 100vw;--vv-offset-top: 0px;--keyboard-height: 0px;--viewport-available-height: 100vh;--screen-height: calc(var(--viewport-available-height) - var(--sat) - var(--sab))}body{font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Helvetica Neue,Arial,sans-serif;background:#1a1a2e;color:#fff;overflow:hidden;position:fixed;width:100%;height:100%;overscroll-behavior:none;-webkit-overflow-scrolling:auto;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}#root{width:100%;height:100%;overflow:hidden}.scrollable{overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;scrollbar-width:none;-ms-overflow-style:none}.scrollable::-webkit-scrollbar{display:none}.safe-top{padding-top:var(--sat)}.safe-bottom{padding-bottom:var(--sab)}.safe-left{padding-left:var(--sal)}.safe-right{padding-right:var(--sar)}.h-viewport{height:var(--viewport-available-height, 100dvh)}.h-screen{height:var(--screen-height, 100dvh)}input,textarea,select{font-size:16px!important;-webkit-user-select:text;user-select:text;-webkit-appearance:none;appearance:none;border-radius:0}@supports (-webkit-touch-callout: none){input:focus,textarea:focus{font-size:16px!important}}.screen-enter{animation:slideInFromRight .25s cubic-bezier(.25,.46,.45,.94) both}.screen-exit{animation:slideOutToLeft .2s cubic-bezier(.55,.085,.68,.53) both}@keyframes slideInFromRight{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes slideOutToLeft{0%{transform:translate(0)}to{transform:translate(-30%)}}@keyframes typingDot{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-4px);opacity:1}}.typing-dot-1{animation:typingDot 1.4s infinite 0s}.typing-dot-2{animation:typingDot 1.4s infinite .2s}.typing-dot-3{animation:typingDot 1.4s infinite .4s}@keyframes messageAppear{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.message-appear{animation:messageAppear .2s ease-out both}
