@property --orb-a{syntax:"<angle>";inherits:false;initial-value:0deg}.ai-orb{--orb-size:60px;--orb-c1:#4f8cff;--orb-c2:#a86bff;--orb-c3:#ff6fb1;--orb-c4:#4fe3ff;--orb-c5:#ffb86b;width:var(--orb-size);height:var(--orb-size);isolation:isolate;pointer-events:none;border-radius:50%;flex:none;display:inline-block;position:relative}.ai-orb__glow{z-index:-1;background:conic-gradient(from var(--orb-a),var(--orb-c1),var(--orb-c2),var(--orb-c3),var(--orb-c5),var(--orb-c4),var(--orb-c1));filter:blur(calc(var(--orb-size)*.3));opacity:.5;border-radius:50%;transition:opacity .5s;animation:9s linear infinite orb-spin,4.5s ease-in-out infinite orb-breathe;position:absolute;inset:-32%}.ai-orb__body{box-shadow:inset 0 0 calc(var(--orb-size)*.18)#ffffff47,inset 0 calc(var(--orb-size)*-.08)calc(var(--orb-size)*.2)#4f8cff59,0 calc(var(--orb-size)*.14)calc(var(--orb-size)*.4)calc(var(--orb-size)*-.1)#5840d28c;background:radial-gradient(circle at 50% 55%,#1b1650 0%,#0a0920 72%);border-radius:50%;animation:6s ease-in-out infinite orb-float;position:absolute;inset:0;overflow:hidden}.ai-orb__blob{mix-blend-mode:screen;width:88%;height:88%;filter:blur(calc(var(--orb-size)*.08));border-radius:42% 58% 63% 37%/41% 44% 56% 59%;animation:7s ease-in-out infinite orb-morph,10s linear infinite orb-rotate;position:absolute;top:6%;left:6%}.ai-orb__blob:first-child{background:radial-gradient(circle at 30% 30%,var(--orb-c1)0%,transparent 62%)}.ai-orb__blob:nth-child(2){background:radial-gradient(circle at 72% 38%,var(--orb-c2)0%,transparent 60%);animation-duration:6s,12s;animation-direction:alternate,reverse}.ai-orb__blob:nth-child(3){background:radial-gradient(circle at 50% 82%,var(--orb-c3)0%,transparent 58%);animation-duration:8s,14s}.ai-orb__blob:nth-child(4){background:radial-gradient(circle at 38% 62%,var(--orb-c4)0%,transparent 52%);animation-duration:5.5s,9s;animation-direction:alternate-reverse,reverse}.ai-orb__sheen{background:radial-gradient(circle at 32% 24%,#ffffffd9 0%,#fff0 26%),radial-gradient(circle at 68% 88%,#fff3 0%,#fff0 38%);border-radius:50%;position:absolute;inset:0}.ai-orb__ring{opacity:0;border:2px solid #a88cffb3;border-radius:50%;position:absolute;inset:0}.ai-orb[data-state=thinking] .ai-orb__glow{opacity:.95;animation-duration:1.8s,1.4s}.ai-orb[data-state=thinking] .ai-orb__blob{animation-duration:2.2s,3s}.ai-orb[data-state=thinking] .ai-orb__body{animation:1.1s ease-in-out infinite orb-think}.ai-orb[data-state=listening] .ai-orb__glow{opacity:.85;animation-duration:4s,1.2s}.ai-orb[data-state=listening] .ai-orb__ring{animation:1.6s cubic-bezier(.2,.6,.3,1) infinite orb-ring}.ai-orb[data-state=listening] .ai-orb__ring--late{animation-delay:.8s}.ai-orb[data-state=done] .ai-orb__body{animation:.7s cubic-bezier(.34,1.56,.64,1) orb-pop}.ai-orb[data-state=done] .ai-orb__ring{border-color:#78e6bed9;animation:.9s ease-out orb-ring}.ai-orb[data-state=done] .ai-orb__glow{opacity:.9}@keyframes orb-spin{to{--orb-a:360deg}}@keyframes orb-breathe{0%,to{transform:scale(.92)}50%{transform:scale(1.08)}}@keyframes orb-float{0%,to{transform:translateY(0)}50%{transform:translateY(-3%)}}@keyframes orb-morph{0%,to{border-radius:42% 58% 63% 37%/41% 44% 56% 59%}33%{border-radius:63% 37% 45% 55%/55% 62% 38% 45%}66%{border-radius:38% 62% 36% 64%/62% 38%}}@keyframes orb-rotate{to{transform:rotate(360deg)}}@keyframes orb-think{0%,to{transform:scale(1)}50%{transform:scale(.93)}}@keyframes orb-pop{0%{transform:scale(1)}40%{transform:scale(1.14)}to{transform:scale(1)}}@keyframes orb-ring{0%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(1.75)}}@media (prefers-reduced-motion:reduce){.ai-orb *,.ai-orb[data-state] *{animation:none!important}}.ai-fab{z-index:45;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:50%;place-items:center;width:64px;height:64px;padding:0;transition:transform .35s cubic-bezier(.34,1.56,.64,1);animation:.6s cubic-bezier(.34,1.56,.64,1) both ai-fab-in;display:grid;position:fixed;bottom:96px;right:20px}.ai-fab:hover{transform:scale(1.07)}.ai-fab:active{transform:scale(.93)}.ai-fab:focus-visible{outline-offset:4px;outline:2px solid #a86bff}.ai-fab__hint{color:#fff;white-space:nowrap;opacity:0;pointer-events:none;background:#0f0c28eb;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:500;transition:opacity .2s,transform .2s;position:absolute;top:50%;right:calc(100% + 12px);transform:translate(6px,-50%)}.ai-fab:hover .ai-fab__hint,.ai-fab:focus-visible .ai-fab__hint{opacity:1;transform:translateY(-50%)}@keyframes ai-fab-in{0%{opacity:0;transform:scale(.3)translateY(20px)}}.ai-panel{z-index:46;isolation:isolate;transform-origin:100% 100%;flex-direction:column;width:400px;max-width:calc(100vw - 16px);max-height:min(640px,100dvh - 48px);display:flex;position:fixed;inset:auto 24px 24px auto}@media (max-width:640px){.ai-panel{width:auto;max-width:none;max-height:calc(100dvh - 16px);bottom:8px;left:8px;right:8px}}.ai-panel-border:before{content:"";z-index:-1;border-radius:inherit;background:conic-gradient(from var(--orb-a),#4f8cff,#a86bff,#ff6fb1,#ffb86b,#4fe3ff,#4f8cff);-webkit-mask-composite:xor;opacity:.8;padding:1px;animation:6s linear infinite orb-spin;position:absolute;inset:-1px;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.ai-panel-border[data-busy=true]:before{opacity:1;animation-duration:1.6s}.ai-shimmer{background:linear-gradient(90deg,currentColor 0%,#a86bff 30%,#ff6fb1 50%,currentColor 70%) 0 0/200% 100%;color:#0000;-webkit-background-clip:text;background-clip:text;animation:1.6s linear infinite ai-shimmer}@keyframes ai-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (max-width:640px){.ai-fab{width:58px;height:58px;bottom:88px;right:16px}.ai-fab__hint{display:none}}@media (prefers-reduced-motion:reduce){.ai-fab,.ai-panel-border:before,.ai-shimmer{animation:none!important}}