:root{--width:150px;--height:150px;--ripple-color:hsl(var(--primary));--borderRadius:50%}.heartbeat{display:inline-block;animation:heartbeat-animation 1.5s ease-in-out infinite}@keyframes heartbeat-animation{0%{transform:scale(1)}25%{transform:scale(1.2)}50%{transform:scale(1)}75%{transform:scale(1.2)}to{transform:scale(1)}}.micro{position:absolute;z-index:2;display:flex;justify-content:center;align-items:center;width:var(--width);height:var(--height);background-color:var(--ripple-color);border-radius:var(--borderRadius)}.micro:after,.micro:before{position:absolute;content:"";top:0;right:0;bottom:0;left:0;border:3px solid var(--ripple-color);border-radius:var(--borderRadius)}.micro:before{animation:ripple 2s linear infinite}.micro:after{animation:ripple 2s linear 1s infinite}@keyframes ripple{to{transform:scale(2);opacity:0}}.text-container{word-wrap:break-word;white-space:normal;overflow-wrap:break-word}.typing-indicator{display:flex;gap:4px}.typing-indicator span{width:8px;height:8px;background-color:#fff;border-radius:50%;animation:blink 1.4s ease-in-out infinite}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes blink{0%,80%,to{opacity:0}40%{opacity:1}}.spinner{border:2px solid rgba(0,0,0,.1);border-top-color:#fff;border-radius:50%;width:20px;height:20px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.counter-class{animation-name:counter_class_animation;animation-duration:5s}@keyframes counter_class_animation{0%{right:-200}to{right:0}}.ringring{border:3px solid #62bd19;border-radius:30px;height:25px;width:25px;opacity:0;animation:pulsate 1s ease-out;animation-iteration-count:infinite;-webkit-border-radius:30px;-webkit-animation:pulsate 1s ease-out;-webkit-animation-iteration-count:infinite}@keyframes pulsate{0%{-webkit-transform:scale(.1);opacity:0}50%{opacity:1}to{-webkit-transform:scale(1.2);opacity:0}}@-webkit-keyframes pulsate{0%{-webkit-transform:scale(.1);opacity:0}50%{opacity:1}to{-webkit-transform:scale(1.2);opacity:0}}