:root{--primary-glow:rgba(14,165,233,.3);--secondary-glow:rgba(168,85,247,.3)}.dark{--primary-glow:rgba(14,165,233,.2);--secondary-glow:rgba(168,85,247,.2)}@keyframes highlight-pulse{0%{box-shadow:0 0 0 0 rgba(59,130,246,.7)}70%{box-shadow:0 0 0 10px rgba(59,130,246,0)}to{box-shadow:0 0 0 0 rgba(59,130,246,0)}}.highlight-input{transition:all .3s ease}.highlight-input:focus{border-color:rgba(59,130,246,.5)}.highlight-input.highlight-pulse{animation:highlight-pulse .8s cubic-bezier(.25,.8,.25,1)}@keyframes fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}.fade-in{animation:fade-in .3s forwards}.fade-out{animation:fade-out .3s forwards}.shadow-glow{box-shadow:0 0 20px var(--primary-glow),0 0 30px var(--secondary-glow)}.shadow-glow-sm{box-shadow:0 0 10px var(--primary-glow)}.btn-hover-effect{transition:all .3s ease}.btn-hover-effect:hover{transform:translateY(-3px);box-shadow:0 10px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.glass-effect{background:hsla(0,0%,100%,.7);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid hsla(0,0%,100%,.2)}.dark .glass-effect{background:rgba(30,41,59,.7);border:1px solid rgba(30,41,59,.2)}.custom-scrollbar::-webkit-scrollbar{width:6px}.custom-scrollbar::-webkit-scrollbar-track{background:transparent}.custom-scrollbar::-webkit-scrollbar-thumb{background-color:rgba(156,163,175,.5);border-radius:20px}.dark .custom-scrollbar::-webkit-scrollbar-thumb{background-color:rgba(100,116,139,.5)}.floating{animation:float 6s ease-in-out infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.cursor-blink{animation:blink 1s step-end infinite}.text-highlight{position:relative;display:inline-block;color:var(--primary-color,#6366f1);font-weight:500;animation:text-pulse 1.5s infinite}@keyframes text-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.85;transform:scale(1.02)}}.typewriter-cursor{display:none}@keyframes push-up{0%{transform:translateY(0)}50%{transform:translateY(-8px)}to{transform:translateY(-20px)}}.push-up-animation{animation:push-up .5s ease-out forwards}.message-container{transition:transform .3s ease-out;will-change:transform,opacity}.scroll-container{scrollbar-width:thin;scrollbar-color:rgba(156,163,175,.5) transparent}.message-container.slide-in-bottom,.message-container.stagger-push-up{backface-visibility:hidden;perspective:1000px}@keyframes stagger-push-up{0%{transform:translateY(0) scale(1);opacity:1}30%{transform:translateY(-5px) scale(.98);opacity:.9}60%{transform:translateY(-12px) scale(.96);opacity:.8}to{transform:translateY(-20px) scale(.95);opacity:.7}}.stagger-push-up{animation:stagger-push-up .6s ease-out forwards}@keyframes slide-in-bottom{0%{transform:translateY(40px) scale(.9);opacity:0}60%{transform:translateY(-5px) scale(1.02);opacity:.8}to{transform:translateY(0) scale(1);opacity:1}}.slide-in-bottom{animation:slide-in-bottom .5s cubic-bezier(.25,.46,.45,.94) forwards}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-10px)}to{transform:translateY(0)}}@keyframes sparkle{0%,to{opacity:.2;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}@keyframes flip{0%{transform:perspective(400px) rotateY(0)}to{transform:perspective(400px) rotateY(180deg)}}.page-transition-enter{opacity:0;transform:scale(.9)}.page-transition-enter-active{opacity:1;transform:scale(1);transition:opacity .4s,transform .4s}.page-transition-exit{opacity:1;transform:scale(1)}.page-transition-exit-active{opacity:0;transform:scale(1.1);transition:opacity .3s,transform .3s}.mode-container{position:relative;overflow:hidden;transform-style:preserve-3d;perspective:1000px}.chat-mode-enter{position:absolute;opacity:0;transform:translateX(-50px) rotateY(-10deg)}.chat-mode-enter-active{transition:opacity .5s,transform .5s cubic-bezier(.34,1.56,.64,1)}.chat-mode-enter-active,.chat-mode-exit{opacity:1;transform:translateX(0) rotateY(0)}.chat-mode-exit-active{transition:opacity .5s,transform .5s cubic-bezier(.34,1.56,.64,1)}.chat-mode-exit-active,.research-mode-enter{opacity:0;transform:translateX(50px) rotateY(10deg)}.research-mode-enter{position:absolute}.research-mode-enter-active{transition:opacity .5s,transform .5s cubic-bezier(.34,1.56,.64,1)}.research-mode-enter-active,.research-mode-exit{opacity:1;transform:translateX(0) rotateY(0)}.research-mode-exit-active{opacity:0;transform:translateX(-50px) rotateY(-10deg);transition:opacity .5s,transform .5s cubic-bezier(.34,1.56,.64,1)}.research-active{position:relative}.research-active:before{content:"";position:absolute;inset:-10px;background:radial-gradient(circle at center,rgba(124,58,237,.3) 0,rgba(124,58,237,0) 70%);border-radius:20px;z-index:-1;animation:pulse-glow 3s infinite}.sparkle{position:absolute;width:5px;height:5px;border-radius:50%;background-color:#fff;pointer-events:none;z-index:100;animation:sparkle 1s ease-in-out infinite}.message-enter{opacity:0;transform:translateY(20px)}.message-enter-active{opacity:1;transform:translateY(0);transition:opacity .4s,transform .4s cubic-bezier(.34,1.56,.64,1)}.message-exit{opacity:1}.message-exit-active{opacity:0;transform:translateY(-20px);transition:opacity .3s,transform .3s}.sidebar-collapsed .sidebar-scrollbar::-webkit-scrollbar{display:none}.sidebar-collapsed .sidebar-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.sidebar-collapsed .sidebar-item{margin-bottom:10px}.sidebar-collapsed .sidebar-icon{font-size:1.25rem}.sidebar-collapsed [data-tooltip]{position:relative}.sidebar-collapsed [data-tooltip]:hover:before{content:attr(data-tooltip);position:absolute;left:60px;top:50%;transform:translateY(-50%);background-color:rgba(17,24,39,.9);color:#fff;padding:6px 10px;border-radius:6px;font-size:14px;white-space:nowrap;z-index:1000;box-shadow:0 2px 5px rgba(0,0,0,.2);opacity:1}.sidebar-collapsed [data-tooltip]:hover:after{content:"";position:absolute;left:58px;top:50%;transform:translateY(-50%);border:6px solid transparent;border-right-color:rgba(17,24,39,.9);z-index:1000;opacity:1}.input-glow-container{position:relative;z-index:1;transition:all .3s ease}.input-glow-container:before{content:"";position:absolute;inset:-2px;z-index:-1;border-radius:1rem;border:3px solid transparent;background:linear-gradient(45deg,#ff0080,#ff8c00,#ffed00,#00ff80,#00cfff,#cc4cfa,#7b00ff,#ff0080) border-box;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;background-size:400% 400%;filter:blur(3px);opacity:0;transition:opacity .3s ease;animation:glow-animation 12s linear infinite}.input-glow-container.input-active:before,.input-glow-container:focus-within:before,.input-glow-container:hover:before{opacity:.65}.input-active:before{animation:glow-animation 12s linear infinite,pulse-glow 3s ease-in-out infinite}.input-focused:before{opacity:.75!important;filter:blur(3.5px);animation:glow-animation 8s linear infinite!important}@keyframes glow-animation{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}@keyframes submit-pulse{0%{filter:blur(3px);opacity:.65}50%{filter:blur(5px);opacity:.8}to{filter:blur(3px);opacity:.65}}@media (prefers-color-scheme:dark){.input-glow-container.input-active:before,.input-glow-container:focus-within:before,.input-glow-container:hover:before{opacity:.75}.input-active:before{opacity:.8}.input-focused:before{opacity:.85!important}}.input-glow-container:focus-within{box-shadow:0 0 5px rgba(0,0,0,.05)}.input-glow-container{box-shadow:inset 0 0 5px rgba(0,0,0,.05)}@media (max-width:768px){.input-glow-container:before{filter:blur(2.5px);border-width:2px}.input-active:before,.input-focused:before{opacity:.6!important}}.welcome-heading{color:#1a1a1a}.welcome-subtext{color:#4a5568}.dark .welcome-heading{color:#fff}.dark .welcome-subtext{color:#d1d5db}.absolute.right-3.bottom-3{position:absolute!important;width:36px!important;height:36px!important}.absolute.right-3.bottom-3 button{transition:background-color .2s ease}.absolute.right-3.bottom-3 button:not(.send-button-active):hover{background-color:#4b5563}.dark .absolute.right-3.bottom-3 button:not(.send-button-active):hover{background-color:#374151}.send-button-active{background:linear-gradient(135deg,#4f46e5,#7c3aed);box-shadow:0 2px 5px rgba(0,0,0,.1);z-index:1}.send-button-active:hover{box-shadow:0 4px 8px rgba(0,0,0,.15);background:linear-gradient(135deg,#4338ca,#6d28d9)}.send-button-active:before{inset:-4px;background:conic-gradient(from 0deg at 50% 50%,#4f46e5,#7c3aed,#8b5cf6,#a855f7,#d946ef,#ec4899,#f43f5e,#ef4444,#f43f5e,#ec4899,#d946ef,#a855f7,#8b5cf6,#7c3aed,#4f46e5);border-radius:8px;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.8;filter:blur(4px);animation:rotate 6s linear infinite,pulse-glow 3s ease infinite;z-index:-1;transform-origin:center}.send-button-active:after{content:"";position:absolute;inset:-2px;background:radial-gradient(circle at center,rgba(99,102,241,.8),transparent 70%);border-radius:8px;opacity:0;filter:blur(10px);animation:pulse-halo 2s ease infinite;z-index:-2}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes pulse-glow{0%{opacity:.4;transform:scale(.97);filter:blur(3px) brightness(.9)}50%{opacity:1;transform:scale(1.02);filter:blur(5px) brightness(1.2)}to{opacity:.4;transform:scale(.97);filter:blur(3px) brightness(.9)}}@keyframes pulse-halo{0%{opacity:0;transform:scale(.9);filter:blur(8px) brightness(.8)}30%{opacity:.7;transform:scale(1.1);filter:blur(12px) brightness(1.3)}70%{opacity:.5;transform:scale(1.05);filter:blur(10px) brightness(1.1)}to{opacity:0;transform:scale(.9);filter:blur(8px) brightness(.8)}}.send-button-active{animation:button-pulse 2.5s ease-in-out infinite}@keyframes button-pulse{0%,to{box-shadow:0 0 5px rgba(99,102,241,.5),0 0 10px rgba(168,85,247,.3)}50%{box-shadow:0 0 15px rgba(99,102,241,.7),0 0 25px rgba(168,85,247,.5)}}.send-button-active:hover{animation:button-pulse-hover 1.5s ease-in-out infinite}@keyframes button-pulse-hover{0%,to{box-shadow:0 0 10px rgba(99,102,241,.6),0 0 20px rgba(168,85,247,.4)}50%{box-shadow:0 0 20px rgba(99,102,241,.8),0 0 30px rgba(168,85,247,.6)}}.send-button-active{position:relative;overflow:hidden;transition:all .3s ease;box-shadow:0 0 8px hsla(0,0%,100%,.2)}.send-button-active:hover{transform:translateY(-1px);box-shadow:0 0 12px hsla(0,0%,100%,.3)}.send-button-active:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,hsla(0,0%,100%,.1),hsla(0,0%,100%,0));transition:all .3s ease;z-index:0}.dark .send-button-active:before{background:linear-gradient(135deg,hsla(0,0%,100%,.15),hsla(0,0%,100%,0))}.message-bubble-user{position:relative;border-radius:18px 18px 4px 18px;transition:all .3s ease;overflow:hidden}.message-bubble-user:before{content:"";position:absolute;inset:0;background-size:200% 200%;opacity:.8;background-image:linear-gradient(-45deg,rgba(99,102,241,.8),rgba(139,92,246,.8),rgba(124,58,237,.9),rgba(99,102,241,.8));animation:gradient-shift 8s ease infinite;z-index:0}.message-bubble-user:after{content:"";position:absolute;bottom:-4px;right:-8px;width:24px;height:24px;background:linear-gradient(225deg,var(--tw-gradient-stops));background-image:linear-gradient(225deg,#6366f1,#8b5cf6);clip-path:polygon(100% 0,0 0,100% 100%)}.animate-in{animation:message-pop .3s cubic-bezier(.175,.885,.32,1.275);transform-origin:bottom right}.message-bubble-user:hover{transform:translateY(-2px) scale(1.01);box-shadow:0 8px 24px rgba(79,70,229,.2)}.message-bubble-user:hover:before{animation:gradient-shift 4s ease infinite}@keyframes gradient-shift{0%,to{background-position:0 50%}50%{background-position:100% 50%}}@keyframes message-pop{0%{opacity:0;transform:scale(.8) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.dark .message-bubble-user{box-shadow:0 8px 16px rgba(0,0,0,.3),0 0 8px rgba(124,58,237,.3)}.dark .message-bubble-user:after{background-image:linear-gradient(225deg,#4f46e5,#7c3aed)}