.orbit-companion{position:fixed;left:-200px;top:0;width:60px;height:60px;z-index:50;pointer-events:none;opacity:1;transform:scale(1);transition:opacity .17s ease,transform .22s ease,width .22s ease,height .22s ease,left .22s ease,top .22s ease,visibility 0s}.orbit-companion[data-visible=false]{opacity:0;transform:scale(.86);visibility:hidden;transition:opacity .17s ease,transform .17s ease,visibility 0s linear .17s}.orbit-companion[data-visible=false] *{animation-play-state:paused!important}.orbit-companion-button{display:block;width:100%;height:100%;border-radius:999px;pointer-events:auto;-webkit-tap-highlight-color:transparent;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-user-drag:none}.orbit-companion[data-tracking=true]{transition:opacity .17s ease,transform .22s ease,width .22s ease,height .22s ease,left .22s ease,visibility 0s}.orbit-companion-button:focus-visible{outline:2px solid var(--color-accent,#6d5cff);outline-offset:3px}.orbit-companion-button:active .oc-svg{transform:scale(.94)}.oc-svg{width:100%;height:100%;overflow:visible;transition:transform .15s ease;filter:drop-shadow(0 6px 10px rgba(12,10,24,.22))}html[data-theme=dark] .oc-svg{filter:drop-shadow(0 6px 14px rgba(0,0,0,.55)) drop-shadow(0 0 1px rgba(255,255,255,.25))}.oc-shell{stroke:rgba(25,23,34,.45)}html[data-theme=dark] .oc-shell{stroke:rgba(236,230,255,.34)}.oc-pod{stroke:rgba(25,23,34,.3);stroke-width:.5}html[data-theme=dark] .oc-pod{stroke:rgba(236,230,255,.3)}.oc-shadow{fill:rgba(10,8,20,.22);transform-origin:32px 60.5px;animation:oc-shadow 4.8s ease-in-out infinite alternate}html[data-theme=dark] .oc-shadow{fill:rgba(164,139,255,.2)}.oc-antenna{stroke:#23222b;stroke-width:1.6;stroke-linecap:round}html[data-theme=dark] .oc-antenna{stroke:#8f8a9c}.oc-led,.oc-tip{fill:#a48bff}.oc-eye{fill:#c3b4ff}.oc-glow{opacity:.85}.oc-float{animation:oc-float 4.8s ease-in-out infinite alternate}.oc-eyes{transform-box:fill-box;transform-origin:center;animation:oc-blink 6.2s infinite}.oc-look{animation:oc-glance 13s ease-in-out infinite}.oc-head{transform-box:fill-box;transform-origin:50% 80%;transition:transform .4s ease}.orbit-companion[data-activity=thinking] .oc-eye{animation:oc-think 1.3s ease-in-out infinite}.orbit-companion[data-activity=listening] .oc-eyes{animation:none;transform:scale(1.12)}.orbit-companion[data-activity=listening] .oc-glow{animation:oc-listen 1.4s ease-in-out infinite}.orbit-companion[data-opening=true] .oc-glow{animation:oc-glowpulse .7s ease-in-out infinite alternate}.orbit-companion[data-activity=speaking] .oc-eyes{animation:oc-speak .36s ease-in-out infinite alternate}.orbit-companion[data-activity=speaking] .oc-glow{animation:oc-glowpulse .36s ease-in-out infinite alternate}.orbit-companion-bubble{position:absolute;top:50%;width:max-content;max-width:156px;padding:.32rem .6rem;border-radius:12px;font-size:12px;line-height:1.25;font-weight:500;letter-spacing:.01em;text-wrap:balance;overflow-wrap:break-word;color:var(--color-fg,#111);background:color-mix(in oklab,var(--color-bg-raised,#fff) 80%,transparent);-webkit-backdrop-filter:blur(10px) saturate(140%);backdrop-filter:blur(10px) saturate(140%);border:1px solid var(--color-line,rgba(0,0,0,.1));box-shadow:0 4px 14px rgba(12,10,24,.14);opacity:0;transform:translate(4px,-50%) scale(.96);transition:opacity .25s ease,transform .25s ease;pointer-events:none;right:calc(100% + 8px)}.orbit-companion-bubble[data-show=true]{opacity:1;transform:translateY(-50%) scale(1);pointer-events:auto;cursor:pointer}.orbit-companion-bubble[data-show=false]{visibility:hidden;transition:opacity .2s ease,transform .2s ease,visibility 0s linear .2s}html[data-theme=dark] .orbit-companion-bubble{border-color:var(--color-line-strong,rgba(255,255,255,.16));box-shadow:0 4px 14px rgba(0,0,0,.5)}.oc-bubble-text{display:block;transition:opacity .16s ease}.orbit-companion-bubble[data-swap=true] .oc-bubble-text{opacity:0}@keyframes oc-float{0%{transform:translateY(0)}to{transform:translateY(-2.6px)}}@keyframes oc-shadow{0%{transform:scaleX(1);opacity:1}to{transform:scaleX(.86);opacity:.75}}@keyframes oc-blink{0%,46%,50%,92%,95.5%,to{transform:scaleY(1)}48%,93.8%{transform:scaleY(.12)}}@keyframes oc-glance{0%,38%,to{transform:translateX(0)}44%,52%{transform:translateX(-1.8px)}60%,68%{transform:translateX(1.5px)}74%{transform:translateX(0)}}@keyframes oc-think{0%,to{opacity:1}50%{opacity:.45}}@keyframes oc-listen{0%,to{opacity:.7}50%{opacity:1}}@keyframes oc-speak{0%{transform:scaleY(.72)}to{transform:scaleY(1.08)}}@keyframes oc-glowpulse{0%{opacity:.6}to{opacity:1}}.oc-eye-l,.oc-eye-r{transform-box:fill-box;transform-origin:center;transition:transform .22s ease,opacity .18s ease}.oc-eye-shine{fill:#fff;fill-opacity:.85}.oc-gaze{transition:transform .25s ease}.orbit-companion[data-gaze=on][data-expression=idle]:not([data-flourish]):not([data-sleepy]) .oc-gaze{transform:translate(var(--oc-gx,0),var(--oc-gy,0))}.orbit-companion[data-sleepy=true] .oc-eyes,.orbit-companion[data-sleepy=true] .oc-look{animation:none}.orbit-companion[data-sleepy=true][data-expression=idle]:not([data-flourish]) .oc-eye-l,.orbit-companion[data-sleepy=true][data-expression=idle]:not([data-flourish]) .oc-eye-r{transform:translateY(1.8px) scaleY(.14)}.orbit-companion[data-sleepy=true][data-expression=idle]:not([data-flourish]) .oc-head{transform:translateY(.8px) rotate(4deg)}.orbit-companion[data-sleepy=true][data-expression=idle]:not([data-flourish]) .oc-glow{opacity:.4}.oc-brow,.oc-eye-smile{fill:none;stroke:#c3b4ff;stroke-linecap:round;opacity:0;transition:opacity .2s ease}.oc-eye-smile{stroke-width:1.9}.oc-brow{stroke-width:1.5}.oc-sparkle{fill:#c9bcff;opacity:0;transform-box:fill-box;transform-origin:center}.oc-flame,.oc-glow-hot,.oc-spark,.oc-tear{opacity:0}.oc-eye{transition:fill .25s ease}.oc-glow-hot{transition:opacity .25s ease}.oc-flame{transform-origin:50% 100%}.oc-flame,.oc-spark{transform-box:fill-box}.oc-spark{fill:#ffb35c;transform-origin:center}.oc-tear{fill:url(#oc-tear);fill-opacity:.88;stroke:rgba(40,110,170,.45);stroke-width:.25;transform-box:fill-box;transform-origin:50% 0}.oc-mouth{fill:none;stroke:#c3b4ff;stroke-width:1.5;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;opacity:0;transition:stroke-dashoffset .35s ease,opacity .2s ease}.orbit-companion:not([data-expression=idle]) .oc-eyes,.orbit-companion:not([data-expression=idle]) .oc-look{animation:none}.orbit-companion[data-expression=curious] .oc-head{transform:rotate(-7deg)}.orbit-companion[data-expression=curious] .oc-eye-l{transform:translate(-.6px,-.6px) scale(1.14)}.orbit-companion[data-expression=curious] .oc-eye-r{transform:translate(-.6px,-.2px) scale(.9)}.orbit-companion[data-expression=surprised] .oc-eye-l,.orbit-companion[data-expression=surprised] .oc-eye-r{transform:translateY(-.4px) scale(1.18)}.orbit-companion[data-expression=surprised] .oc-glow{opacity:1}.orbit-companion[data-expression=happy] .oc-eye-l,.orbit-companion[data-expression=happy] .oc-eye-r{opacity:0}.orbit-companion[data-expression=happy] .oc-eye-smile{opacity:1}.orbit-companion[data-expression=happy] .oc-head{transform:translateY(-1.2px)}.orbit-companion[data-expression=happy] .oc-sparkle{animation:oc-sparkle 1.1s ease-out infinite}.orbit-companion[data-expression=happy] .oc-mouth{opacity:1;stroke-dashoffset:0}.orbit-companion[data-expression=angry] .oc-brow-angry{opacity:1}.orbit-companion[data-expression=angry] .oc-eye-l{transform:translateY(.9px) scaleY(.58) skewY(14deg)}.orbit-companion[data-expression=angry] .oc-eye-r{transform:translateY(.9px) scaleY(.58) skewY(-14deg)}.orbit-companion[data-expression=angry] .oc-head{animation:oc-shake .32s ease-in-out 1}.orbit-companion[data-expression=angry] .oc-eye{fill:#ec8fb4}.orbit-companion[data-expression=angry] .oc-brow{stroke:#ff8f86}.orbit-companion[data-expression=angry] .oc-glow-hot{animation:oc-hot 1.2s ease-out both}.orbit-companion[data-expression=angry] .oc-flame{animation:oc-flame 1.4s ease-out .1s both}.orbit-companion[data-expression=angry] .oc-flame-r{animation-delay:.14s}.orbit-companion[data-expression=angry] .oc-spark{animation:oc-spark .9s ease-out .35s both}.orbit-companion[data-expression=angry] .oc-spark-r{animation-delay:.6s}.orbit-companion[data-expression=sad] .oc-brow-sad{opacity:1}.orbit-companion[data-expression=sad] .oc-eye-l,.orbit-companion[data-expression=sad] .oc-eye-r{transform:translateY(1.6px) scaleY(.78)}.orbit-companion[data-expression=sad] .oc-head{transform:translateY(1px)}.orbit-companion[data-expression=sad] .oc-glow{opacity:.45}.orbit-companion[data-expression=sad] .oc-tear{animation:oc-tear 1.15s ease-in .12s both}.orbit-companion[data-expression=sad] .oc-tear-r{animation-delay:.38s}.orbit-companion[data-expression=sad] .oc-tear-2{animation-delay:.72s}.orbit-companion[data-flourish=showtime] .orbit-companion-button{transform-origin:50% 50%;animation:oc-showtime 4.4s ease-in-out both}.orbit-companion[data-flourish=showtime] .oc-gaze{animation:oc-show-glance 4.4s ease-in-out both}.orbit-companion[data-flourish=showtime] .oc-eye-l,.orbit-companion[data-flourish=showtime] .oc-eye-r{animation:oc-show-eyes 4.4s linear both}.orbit-companion[data-flourish=showtime] .oc-eye-smile{animation:oc-show-smile 4.4s linear both}.orbit-companion[data-flourish=showtime] .oc-mouth{stroke-dashoffset:0;animation:oc-show-smile 4.4s linear both}.orbit-companion[data-flourish=showtime] .oc-sparkle{animation:oc-sparkle 1.1s ease-out 3.8s both}@keyframes oc-showtime{0%{transform:translate(0) rotate(0deg) scale(1)}11%,5%{transform:translate(0) rotate(-7deg) scale(1)}15%{transform:translateY(1.5px) rotate(0deg) scale(1.05,.93)}20%{transform:translateY(-5px) rotate(0deg) scale(.97,1.04)}25%{transform:translate(-3px) rotate(-9deg) scale(1)}30%{transform:translate(3px) rotate(9deg) scale(1)}35%{transform:translate(-3px) rotate(-9deg) scale(1)}40%{transform:translate(3px) rotate(9deg) scale(1)}45%{transform:translateY(-3px) rotate(0deg) scale(1)}55%{transform:translateY(-6px) rotate(180deg) scale(1)}63%{transform:translate(0) rotate(1turn) scale(1)}67%{transform:translateY(1px) rotate(1turn) scale(1.03,.97)}71%{transform:translateY(-3px) rotate(1turn) scale(1)}75%{transform:translate(0) rotate(1turn) scale(1)}79%{transform:translateY(-3px) rotate(1turn) scale(1)}83%{transform:translate(0) rotate(1turn) scale(1)}88%,95%{transform:translateY(3px) rotate(1turn) scaleY(.9)}to{transform:translate(0) rotate(1turn) scale(1)}}@keyframes oc-show-glance{0%,15%,to{transform:translate(0)}11%,5%{transform:translate(1.4px,-.4px)}}@keyframes oc-show-eyes{0%,84%,98%,to{opacity:1}87%,95%{opacity:0}}@keyframes oc-show-smile{0%,84%,98%,to{opacity:0}87%,95%{opacity:1}}.orbit-companion[data-flourish=boop] .orbit-companion-button{transform-origin:50% 100%;animation:oc-boop .38s ease-out both}.orbit-companion[data-flourish=tilt] .oc-svg{transform-origin:50% 80%;animation:oc-tilt .9s ease-in-out both}.orbit-companion[data-flourish=wink] .oc-eye-r{animation:oc-wink .45s ease-in-out both}.orbit-companion[data-flourish=dance] .orbit-companion-button{transform-origin:50% 90%;animation:oc-dance 2.6s ease-in-out both}.orbit-companion[data-flourish=dance] .oc-eye-l,.orbit-companion[data-flourish=dance] .oc-eye-r{animation:oc-dance-eyes 2.6s linear both}.orbit-companion[data-flourish=dance] .oc-eye-smile{animation:oc-dance-smile 2.6s linear both}.orbit-companion[data-flourish=dance] .oc-mouth{stroke-dashoffset:0;animation:oc-dance-smile 2.6s linear both}.orbit-companion[data-flourish=dance] .oc-sparkle{animation:oc-sparkle 1.1s ease-out 1.7s both}@keyframes oc-boop{0%{transform:none}30%{transform:scale(1.08,.88)}60%{transform:scale(.96,1.05)}to{transform:none}}@keyframes oc-tilt{0%{transform:none}30%,65%{transform:rotate(-7deg) translateX(-.8px)}to{transform:none}}@keyframes oc-wink{0%,to{transform:none}35%,65%{transform:translateY(.6px) scaleY(.12)}}@keyframes oc-dance{0%{transform:none}8%{transform:translateY(1.5px) scale(1.05,.93)}16%{transform:translateY(-4px) scale(.98,1.03)}24%{transform:translate(-2px) rotate(-8deg)}32%{transform:translateY(-2.5px) rotate(0deg)}40%{transform:translate(2px) rotate(8deg)}48%{transform:translateY(-2.5px) rotate(0deg)}56%{transform:translate(-2px) rotate(-8deg)}64%{transform:translate(2px) rotate(8deg)}72%{transform:translateY(-3.5px) rotate(0deg)}80%{transform:translateY(.8px) scale(1.03,.97)}88%{transform:translateY(-1.2px)}to{transform:none}}@keyframes oc-dance-eyes{0%,64%,94%,to{opacity:1}68%,90%{opacity:0}}@keyframes oc-dance-smile{0%,64%,94%,to{opacity:0}68%,90%{opacity:1}}.orbit-companion:not([data-activity=idle]) .oc-brow,.orbit-companion:not([data-activity=idle]) .oc-eye-smile,.orbit-companion:not([data-activity=idle]) .oc-flame,.orbit-companion:not([data-activity=idle]) .oc-glow-hot,.orbit-companion:not([data-activity=idle]) .oc-mouth,.orbit-companion:not([data-activity=idle]) .oc-spark,.orbit-companion:not([data-activity=idle]) .oc-sparkle,.orbit-companion:not([data-activity=idle]) .oc-tear{opacity:0;animation:none}.orbit-companion:not([data-activity=idle]) .oc-eye{fill:#c3b4ff}.orbit-companion:not([data-activity=idle]) .oc-eye-l,.orbit-companion:not([data-activity=idle]) .oc-eye-r{opacity:1;transform:none}.orbit-companion:not([data-activity=idle]) .oc-head{transform:none;animation:none}@keyframes oc-shake{0%,to{transform:translateX(0)}25%{transform:translateX(-1.2px) rotate(-2deg)}75%{transform:translateX(1.2px) rotate(2deg)}}@keyframes oc-hot{0%{opacity:0}30%{opacity:.6}to{opacity:.35}}@keyframes oc-flame{0%{opacity:0;transform:scale(.4,.1)}16%{opacity:.85;transform:scale(.72,.78)}30%{transform:scale(.68,.66) skewX(-4deg)}44%{transform:scale(.74,.8) skewX(3deg)}58%{opacity:.85;transform:scale(.7) skewX(-2deg)}80%{opacity:.5;transform:scale(.62,.56)}to{opacity:0;transform:scale(.5,.3)}}@keyframes oc-spark{0%{opacity:0;transform:translate(0) scale(.6)}25%{opacity:1}to{opacity:0;transform:translate(.6px,-3.6px) scale(.3)}}@keyframes oc-tear{0%{opacity:0;transform:translateY(0) scale(.3)}22%{opacity:1;transform:translateY(.4px) scale(1)}to{opacity:0;transform:translateY(8px) scale(.85,1.05)}}@keyframes oc-sparkle{0%{opacity:0;transform:scale(.4) rotate(0deg)}35%{opacity:1;transform:scale(1) rotate(30deg)}to{opacity:0;transform:scale(.6) rotate(70deg)}}@media (prefers-reduced-motion:reduce){.orbit-companion,.orbit-companion-bubble,.orbit-companion[data-visible=false]{transition:opacity .12s linear,visibility 0s}.orbit-companion[data-visible=false]{transform:none}.oc-eye,.oc-eyes,.oc-float,.oc-glow,.oc-look,.oc-shadow{animation:none!important}.orbit-companion[data-activity=thinking] .oc-eye{opacity:.6}.oc-head,.oc-sparkle{animation:none!important}.orbit-companion[data-expression] .oc-head{transform:none}.orbit-companion[data-expression=happy] .oc-sparkle{opacity:1}.oc-flame,.oc-glow-hot,.oc-spark,.oc-tear{animation:none!important}.orbit-companion[data-expression=angry] .oc-glow-hot{opacity:.35}.orbit-companion[data-expression=angry] .oc-flame{opacity:.8;transform:scale(.66)}.orbit-companion[data-expression=sad] .oc-tear:not(.oc-tear-2){opacity:.9;transform:translateY(1.5px)}.oc-mouth{transition:opacity .12s linear}.oc-gaze{transition:none;transform:none!important}.oc-gaze,.orbit-companion[data-flourish=wink] .oc-eye-r,.orbit-companion[data-flourish] .oc-svg,.orbit-companion[data-flourish] .orbit-companion-button{animation:none!important}.oc-eye-l,.oc-eye-r,.oc-head{transition:opacity .12s linear}.orbit-companion-bubble,.orbit-companion-bubble[data-show=true]{transform:translateY(-50%)}}