.rainbow-container{position:relative;z-index:1;transform:rotate(0deg) translateZ(0);transform-origin:center center;width:45vh;height:45vh;border:1px solid rgba(255,255,255,.4);animation:rainbow 20s cubic-bezier(.5,.35,.15,1) infinite both;border-radius:50%;transform-style:preserve-3d;perspective:45vh;filter:blur(15px)}@keyframes rainbow{0%{transform:rotateY(0deg) skew(14deg) rotate3d(1.1,1,.9,0deg)}20%,40%,60%,80%,to{transform:rotateY(0deg) skew(14deg) rotate3d(1.1,1,.9,0deg)}}.rainbow-container>div{position:absolute;top:10%;left:10%;width:80%;height:80%;border-radius:30%;z-index:1}.purple{background:#a600ff;animation:curve-rotate-purple 10s cubic-bezier(.5,.35,.15,1) infinite;filter:blur(40px);opacity:.9}.pink{background:#295df9;animation:curve-rotate-pink 15s cubic-bezier(.5,.35,.15,1) infinite;filter:blur(45px);opacity:.9}.orange{background:#ffd057;animation:curve-rotate-orange 10s cubic-bezier(.5,.35,.15,1) infinite;filter:blur(42px);opacity:.9}.moss{background:#8bffab;animation:curve-rotate-moss 10s cubic-bezier(.5,.35,.15,1) infinite;filter:blur(46px);opacity:.9}.white{background:#f4fcbc;animation:curve-rotate-white 10s cubic-bezier(.5,.35,.15,1) infinite;filter:blur(48px);opacity:.9}@keyframes curve-rotate-purple{0%,to{transform:rotateY(170deg) skew(20deg,-10deg) rotate3d(1.1,1,.9,0deg)}50%{transform:rotateY(70deg) skew(20deg,-10deg) rotate3d(1.1,1,.9,180deg)}}@keyframes curve-rotate-pink{0%,to{transform:rotateY(0deg) skew(20deg,-10deg) rotate3d(1.1,1,.9,0deg)}50%{transform:rotateY(0deg) skew(20deg,-10deg) rotate3d(1.1,1,.9,0deg)}}@keyframes curve-rotate-orange{0%,to{transform:rotateY(40deg) skew(20deg,-10deg) rotate3d(1.1,1,.9,0deg)}50%{transform:rotateY(0deg) skew(20deg,-10deg) rotate3d(1.1,1,.9,0deg)}}@keyframes curve-rotate-moss{0%,to{transform:rotateY(0deg) skew(20deg,-10deg) rotate3d(1.1,1,.9,0deg)}50%{transform:rotateY(0deg) skew(20deg,-10deg) rotate3d(1.1,1,.9,0deg)}}@keyframes curve-rotate-white{0%,to{transform:rotateY(50deg) skew(20deg,-10deg) rotate3d(1.1,1,.9,50deg)}50%{transform:rotateY(30deg) skew(20deg,-10deg) rotate3d(1.1,1,.9,230deg)}}.rainbow-effect-container{position:relative;width:100%;height:100%;display:flex;justify-content:center;align-items:center}.rainbow-container .moss,.rainbow-container .orange,.rainbow-container .pink,.rainbow-container .purple,.rainbow-container .white{opacity:.8;box-shadow:0 0 50px currentColor}@keyframes pulse-glow{0%,to{filter:drop-shadow(0 0 5px rgba(166,0,255,.7))}50%{filter:drop-shadow(0 0 10px rgba(86,87,241,.9))}}@keyframes beam-glow{0%,to{opacity:.8;filter:blur(3px) brightness(1.2)}50%{opacity:1;filter:blur(4px) brightness(1.5)}}@keyframes progress-advance{0%{transform:scaleY(0);opacity:0}to{transform:scaleY(1);opacity:1}}.progress-dot{animation:pulse-glow 2s infinite;box-shadow:0 0 5px rgba(166,0,255,.8),0 0 10px rgba(86,87,241,.6),0 0 15px rgba(139,255,171,.4),0 0 20px rgba(244,252,188,.3);transition:top .5s cubic-bezier(.5,.35,.15,1)}.progress-beam{background:linear-gradient(180deg,#1f1f1f 0,#295df9 50%,#a600ff);animation:beam-glow 3s infinite;box-shadow:0 0 5px rgba(166,0,255,.7),0 0 10px rgba(86,87,241,.5),0 0 15px rgba(139,255,171,.3);position:relative;transform-origin:top;animation:progress-advance .5s cubic-bezier(.5,.35,.15,1)}.progress-beam:after{content:"";position:absolute;bottom:0;left:0;right:0;height:20px;background:linear-gradient(180deg,transparent,rgba(166,0,255,.8));filter:blur(4px);opacity:.8;animation:beam-glow 2s infinite alternate}.progress-beam:before{content:"";position:absolute;top:0;left:-2px;right:-2px;bottom:0;background:linear-gradient(180deg,rgba(31,31,31,.3),rgba(41,93,249,.5),rgba(166,0,255,.7));filter:blur(6px);opacity:.4;z-index:-1;transform:scaleX(2)}.chat-bubble{position:relative;transition:all .3s ease}.chat-bubble:hover{transform:translateY(-2px)}.chat-bubble.user{border-bottom-left-radius:4px}.chat-bubble.ai{border-bottom-right-radius:4px}.tool-indicator{display:inline-flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500}.tool-indicator.search{color:#d8b4fe}.tool-indicator.browser{color:#93c5fd}.tool-indicator.analyze{color:#67e8f9}.tool-indicator.result{color:#86efac}