.leaves,.rain,.snowflakes,.sun-container{position:absolute;top:0;left:0;width:100%;height:100%}.snowflake{position:absolute;top:-10px;background-color:white;width:8px;height:8px;border-radius:50%;opacity:.8;animation:fall linear infinite}@keyframes fall{to{transform:translateY(105vh)}}.raindrop{position:absolute;top:-20px;width:2px;height:15px;background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,.4));animation:rain-fall linear infinite}@keyframes rain-fall{0%{transform:translateY(0)}to{transform:translateY(105vh)}}.leaf{position:absolute;top:-20px;width:15px;height:15px;background-color:hsl(var(--primary)/.7);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);opacity:.7;animation:leaf-fall 10s linear infinite}.leaf:nth-child(2n){background-color:hsl(var(--accent)/.7);animation-duration:15s}@keyframes leaf-fall{0%{transform:translateY(-20px) rotate(0deg)}to{transform:translateY(105vh) rotate(2turn)}}.sun-container{display:flex;justify-content:flex-end;align-items:flex-start}.sun{top:-50px;right:-50px;width:200px;height:200px;background:radial-gradient(circle,hsl(var(--primary)/.8) 0,hsl(var(--primary)/0) 70%)}.sun,.sun:after,.sun:before{position:absolute;border-radius:50%;animation:sun-pulse 8s ease-in-out infinite}.sun:after,.sun:before{content:"";inset:0;background:radial-gradient(circle,hsl(var(--primary)/.5) 0,hsl(var(--primary)/0) 70%)}.sun:before{animation-delay:-2s}.sun:after{animation-delay:-4s}@keyframes sun-pulse{0%,to{transform:scale(.9);opacity:.7}50%{transform:scale(1.1);opacity:1}}.animated-logo{display:flex;font-size:1.125rem;font-weight:700;font-family:var(--font-headline);letter-spacing:-.025em;white-space:nowrap}.animated-logo .logo-constant{color:hsl(var(--foreground))}.animated-logo .logo-animated-text{position:relative;display:inline-block;color:hsl(var(--primary))}.typing-cursor{display:inline-block;width:2px;height:1.125rem;background-color:hsl(var(--primary));animation:blink 1s step-end infinite;vertical-align:bottom}@keyframes blink{0%,to{background-color:transparent}50%{background-color:hsl(var(--primary))}}.chatbot-toggle-button{bottom:2rem;border-radius:50%;width:60px;height:60px;padding:0;align-items:center;justify-content:center;transition:all .3s ease;box-shadow:0 4px 15px rgba(96,165,250,.4)}.chatbot-container,.chatbot-toggle-button{position:fixed;right:2rem;display:flex;z-index:1000}.chatbot-container{bottom:6rem;width:90%;max-width:400px;height:75vh;max-height:600px;background-color:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);box-shadow:0 10px 30px rgba(0,0,0,.2);flex-direction:column;transform:scale(.5) translateY(20px);opacity:0;transform-origin:bottom right;transition:transform .3s ease,opacity .3s ease;pointer-events:none}.chatbot-container.open{transform:scale(1) translateY(0);opacity:1;pointer-events:auto}.chatbot-header{padding:1rem;border-bottom:1px solid hsl(var(--border));flex-shrink:0;display:flex;justify-content:space-between;align-items:center}.chatbot-messages{flex-grow:1;padding:1rem;overflow-y:auto}.message-container{display:flex;gap:.75rem;margin-bottom:1rem;max-width:90%}.bot-message{align-self:flex-start}.user-message{align-self:flex-end;flex-direction:row-reverse;margin-left:auto}.message-avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;background-color:hsl(var(--background))}.user-message .message-avatar{background-color:hsl(var(--primary));color:hsl(var(--primary-foreground))}.message-content{padding:.75rem 1rem;border-radius:var(--radius);background-color:hsl(var(--muted))}.user-message .message-content{background-color:hsl(var(--primary));color:hsl(var(--primary-foreground))}.chatbot-input{display:flex;padding:1rem;border-top:1px solid hsl(var(--border));gap:.5rem;flex-shrink:0}.typing-indicator{display:flex;align-items:center;padding:.5rem 0}.typing-indicator span{height:8px;width:8px;margin:0 2px;background-color:hsl(var(--muted-foreground));border-radius:50%;display:inline-block;animation:wave 1.3s ease-in-out infinite}.typing-indicator span:first-of-type{animation-delay:-1.1s}.typing-indicator span:nth-of-type(2){animation-delay:-.9s}.typing-indicator span:nth-of-type(3){animation-delay:-.7s}@keyframes wave{0%,60%,to{transform:none}30%{transform:translateY(-8px)}}@media (max-width:768px){.chatbot-container{bottom:0;right:0;width:100%;height:100%;max-height:100vh;border-radius:0}.chatbot-toggle-button{&[aria-expanded=true]{transform:scale(0);opacity:0;pointer-events:none}}}