@keyframes typing-left-b963c2b8{0%,to{transform:rotate(0)}50%{transform:rotate(-15deg)}}@keyframes typing-right-b963c2b8{0%,to{transform:rotate(0)}50%{transform:rotate(15deg)}}.animate-typing-left[data-v-b963c2b8]{animation:typing-left-b963c2b8 .8s infinite}.animate-typing-right[data-v-b963c2b8]{animation:typing-right-b963c2b8 .8s infinite}.code-animation[data-v-b963c2b8]{animation:scroll-b963c2b8 3s linear infinite}@keyframes scroll-b963c2b8{0%{transform:translateY(0)}to{transform:translateY(-50px)}}.shimmer-effect[data-v-b963c2b8]{animation:shimmer-b963c2b8 1.5s infinite;background:linear-gradient(90deg,#fff0,#ffffff4d 50%,#fff0);height:100%;left:-100%;position:absolute;top:0;width:100%}@keyframes shimmer-b963c2b8{0%{left:-100%}to{left:100%}}.pulse-effect[data-v-b963c2b8]{animation:pulse-b963c2b8 1.5s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse-b963c2b8{0%,to{opacity:.6}50%{opacity:.2}}.animate-bounce-dot[data-v-b963c2b8]{animation:bounce-dot-b963c2b8 1.3s infinite;display:inline-block}@keyframes bounce-dot-b963c2b8{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.analysis-card[data-v-9b87cf13]{animation:fadeInUp-9b87cf13 .6s ease-out forwards;opacity:0;transform:translateY(20px)}.scanning-dots[data-v-9b87cf13]{animation:dots-9b87cf13 1.5s infinite}.line-clamp-2[data-v-9b87cf13]{-webkit-line-clamp:2}.line-clamp-2[data-v-9b87cf13],.line-clamp-3[data-v-9b87cf13]{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-3[data-v-9b87cf13]{-webkit-line-clamp:3}@keyframes fadeInUp-9b87cf13{to{opacity:1;transform:translateY(0)}}@keyframes dots-9b87cf13{0%,20%{opacity:0}50%{opacity:1}to{opacity:0}}.analysis-card[data-v-574e78cf]{animation:fadeInUp-574e78cf .6s ease-out forwards;opacity:0;transform:translateY(20px)}.scanning-dots[data-v-574e78cf]{animation:dots-574e78cf 1.5s infinite}.line-clamp-3[data-v-574e78cf]{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}@keyframes fadeInUp-574e78cf{to{opacity:1;transform:translateY(0)}}@keyframes dots-574e78cf{0%,20%{opacity:0}50%{opacity:1}to{opacity:0}}@keyframes ping-f5202683{75%,to{opacity:0;transform:scale(2)}}.animate-ping[data-v-f5202683]{animation:ping-f5202683 1s cubic-bezier(0,0,.2,1) infinite}
