@keyframes tf-slide-up{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes tf-bubble-in{0%{transform:translateY(30px) scale(.98);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@keyframes tf-hero-reveal{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}@keyframes tf-dots{0%,80%,to{opacity:.25}40%{opacity:1}}@keyframes tf-check-pop{0%{transform:scale(0)}60%{transform:scale(1.25)}to{transform:scale(1)}}.tf-anim-entry{animation:tf-slide-up .35s cubic-bezier(.16,1,.3,1) both}.tf-anim-bubble{animation:tf-bubble-in .4s cubic-bezier(.16,1,.3,1) both}.tf-anim-share{animation:tf-hero-reveal .5s ease-out both}.tf-anim-form{animation:tf-slide-up .45s cubic-bezier(.4,0,.2,1) both}.tf-check-pop{animation:tf-check-pop .3s ease-out both}button:not(:disabled):active{transform:scale(.94)}[role=button]{transition:transform .14s ease,box-shadow .18s ease}[role=button]:active{transform:scale(.97)}@media(hover:hover){button:not(:disabled):hover,[role=button]:hover{transform:scale(1.02)}}@keyframes tf-invite{0%,to{box-shadow:0 2px 12px #0000000f}50%{box-shadow:0 10px 28px #00000029}}.tf-invite{animation:tf-invite 2.1s ease-in-out infinite}@keyframes tf-mic-pulse{0%{box-shadow:0 0 #e6510073}to{box-shadow:0 0 0 12px #e6510000}}.tf-mic-rec{animation:tf-mic-pulse 1.4s ease-out infinite}@keyframes tf-ph-in{0%{opacity:0;transform:translateY(5px)}18%{opacity:1;transform:translateY(0)}82%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-5px)}}.tf-ph{animation:tf-ph-in 4.5s ease-in-out both}@keyframes tf-add-pop{0%,to{transform:scale(1)}50%{transform:scale(1.14)}}.tf-add-badge{animation:tf-add-pop 2.2s ease-in-out infinite;transform-origin:center;transform-box:fill-box}.tf-dot{display:inline-block;width:4px;height:4px;border-radius:999px;background:currentColor;animation:tf-dots 1.2s ease-in-out infinite}.tf-dot:nth-child(2){animation-delay:.15s}.tf-dot:nth-child(3){animation-delay:.3s}@media(prefers-reduced-motion:reduce){.tf-anim-entry,.tf-anim-bubble,.tf-anim-share,.tf-anim-form,.tf-check-pop,.tf-dot,.tf-mic-rec,.tf-invite,.tf-ph,.tf-add-badge{animation:none!important}button:not(:disabled):active,button:not(:disabled):hover,[role=button]:active,[role=button]:hover{transform:none!important}}button,input,textarea,select{font-family:inherit;font-variant-numeric:inherit;line-height:inherit}html,body,#root{height:100%}html,body{background:#f5f5f7}body{margin:0;overscroll-behavior-y:contain}
