@keyframes fade-in{0%{opacity:0;transform:translateX(-2px)}to{opacity:.4;transform:translateX(0)}}.animate-fade-in{animation:fade-in 1s}@keyframes thinking-bounce{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-4px);opacity:1}}.thinking-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background-color:currentColor;animation:thinking-bounce 1.4s ease-in-out infinite}.thinking-dot:first-child{animation-delay:0s}.thinking-dot:nth-child(2){animation-delay:.2s}.thinking-dot:nth-child(3){animation-delay:.4s}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton-shimmer{overflow:hidden;position:relative;background:rgba(118,106,240,.08)}.skeleton-shimmer:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 30%,rgba(118,106,240,.14) 40%,transparent 60%);background-size:200% 100%;animation:shimmer 1.8s ease-in-out infinite}.cta-shine{overflow:hidden;position:relative}.cta-shine:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.35) 45%,rgba(255,255,255,.5) 50%,rgba(255,255,255,.35) 55%,transparent 60%);background-size:250% 100%;animation:cta-shine-sweep 3s ease-in-out infinite}@keyframes cta-shine-sweep{0%{background-position:-200%}to{background-position:200%}}.sparkle-icon{animation:sparkle-pulse 2s ease-in-out infinite;transition:animation .6s ease-in-out}.sparkle-icon.has-message{animation:sparkle-spin-pop 3s ease-in-out infinite}@keyframes sparkle-pulse{0%,to{opacity:.7;transform:scale(1) rotate(0deg)}50%{opacity:1;transform:scale(1.15) rotate(0deg)}}@keyframes sparkle-spin-pop{0%{transform:scale(1) rotate(0deg);opacity:.7}25%{transform:scale(1.3) rotate(180deg);opacity:1}50%{transform:scale(1.1) rotate(1turn);opacity:.9}75%{transform:scale(1.25) rotate(540deg);opacity:1}to{transform:scale(1) rotate(2turn);opacity:.7}}@keyframes text-shimmer{0%{background-position:200%}to{background-position:-200%}}.animate-text-shimmer{background:linear-gradient(90deg,#888,#888 35%,#bbb 45%,#ddd 50%,#bbb 55%,#888 65%,#888);background-size:200% auto;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:text-shimmer 3s linear infinite}.scrollbar-none{scrollbar-width:none;-ms-overflow-style:none}.scrollbar-none::-webkit-scrollbar{display:none}.suggestion-pill{animation:suggestion-slide-in .4s cubic-bezier(.16,1,.3,1) backwards}@keyframes suggestion-slide-in{0%{opacity:0;transform:translateY(6px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.good-variable{background-color:var(--color-success-100)}.bad-variable,.good-variable{border-radius:4px;padding:2px 4px;margin:0 1px}.bad-variable{background-color:var(--color-destructive-100)}@keyframes sd-fadeIn{0%{opacity:0}to{opacity:1}}@keyframes sd-blurIn{0%{opacity:0;filter:blur(4px)}to{opacity:1;filter:blur(0)}}@keyframes sd-slideUp{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}[data-sd-animate]{animation:var(--sd-animation,sd-fadeIn) var(--sd-duration,.15s) var(--sd-easing,ease) var(--sd-delay,0s) both}