.buddy{--s:44px;--h:278;--l:.66;--c:.19;--base:oklch(var(--l) var(--c) var(--h));--rim:oklch(.98 .03 var(--h));--bounce:color-mix(in oklab, var(--base) 55%, oklch(.93 .06 var(--h)));--eye:oklch(.25 .07 var(--h));--p-rot:0deg;--p-sx:1;--p-sy:1;--p-y:0%;--g-x:0;--g-y:0;--e-sx:1;--e-sy:1;--e-rot:0deg;width:var(--s);height:var(--s);isolation:isolate;-webkit-tap-highlight-color:transparent;flex:none;display:block;position:relative}.buddy-pose,.buddy-act,.buddy-breath,.buddy-face,.buddy-look{transform-origin:50% 91%;display:block;position:absolute;inset:0}.buddy-body{display:block;position:absolute;inset:0;overflow:visible}.buddy .bd-hi{stop-color:color-mix(in oklab, var(--base) 42%, oklch(97% .045 60))}.buddy .bd-mid{stop-color:var(--base)}.buddy .bd-lo{stop-color:color-mix(in oklab, oklch(from var(--base) calc(l - .13) calc(c * 1.06) h) 86%, oklch(42% .15 285))}.buddy .bd-f-shade{flood-color:color-mix(in oklab, oklch(from var(--base) calc(l - .3) calc(c * .95) h) 85%, oklch(30% .12 285));flood-opacity:.5}.buddy .bd-f-bounce{flood-color:var(--bounce);flood-opacity:.4}.buddy .bd-f-rim{flood-color:var(--rim);flood-opacity:.38}.buddy .bd-stalk{stroke:oklch(calc(var(--l) - .1) calc(var(--c) * 1.05) calc(var(--h) + 8))}.buddy .bd-leaf{fill:oklch(min(calc(var(--l) + .06), .92) calc(var(--c) * 1.05) calc(var(--h) - 4))}.buddy .bd-leaf-2{fill:oklch(min(calc(var(--l) + .12), .94) calc(var(--c) * .85) calc(var(--h) - 8))}.buddy .bd-tuft{fill:oklch(min(calc(var(--l) + .1), .94) calc(var(--c) * .85) calc(var(--h) - 8))}.buddy .bd-bulb{fill:oklch(min(calc(var(--l) + .08), .94) calc(var(--c) * 1.1) calc(var(--h) - 6))}.buddy .bd-bulb-shine{fill:oklch(100% 0 0/.75)}.buddy-shadow{left:calc(50% - var(--bd-w) * .6);width:calc(var(--bd-w) * 1.2);background:radial-gradient(closest-side, #20293c57, #20293c1f 55%, transparent 100%) 50% 50% / 78% 62% no-repeat, radial-gradient(closest-side, oklch(.4 .08 var(--h) / .14), transparent);transform-origin:50%;pointer-events:none;border-radius:50%;height:9%;position:absolute;top:86.5%}.buddy-glow{left:-14%;top:calc(var(--bd-mid) - 64%);opacity:0;width:128%;height:128%;transition:opacity .4s var(--ease-out);pointer-events:none;border-radius:50%;position:absolute}.buddy-acc{transform-origin:50% 100%;width:20%;height:20%;animation:5.2s ease-in-out infinite bd-acc-sway;animation-delay:var(--bd-delay);transition:transform .5s var(--ease-spring);display:block;position:absolute}.buddy[data-size=sm] .buddy-acc{transform:scale(1.1)}.buddy[data-size=sm] .bd-bulb-shine{display:none}.buddy-sheen{-webkit-mask:var(--bd-mask) 0 0 / 100% 100% no-repeat;-webkit-mask:var(--bd-mask) 0 0 / 100% 100% no-repeat;mask:var(--bd-mask) 0 0 / 100% 100% no-repeat;opacity:0;transition:opacity .4s var(--ease-out);pointer-events:none;display:block;position:absolute;inset:0;overflow:hidden}.buddy-sheen>span{background:linear-gradient(100deg, transparent 0%, oklch(.98 .04 var(--h) / .32) 45%, oklch(100% 0 0/.42) 52%, transparent 100%);width:46%;display:block;position:absolute;top:-10%;bottom:-10%;left:0;transform:translate(-110%)skew(-12deg)}.buddy[data-size=xs] .buddy-sheen,.buddy[data-size=xs] .buddy-cheek{display:none}.buddy-cheek{opacity:0;transition:opacity .36s var(--ease-out), transform .5s var(--ease-spring);background:radial-gradient(closest-side,oklch(78% .14 12/.75),oklch(78% .14 12/0));border-radius:50%;display:block;position:absolute;transform:scale(.8)}.buddy[data-rosy] .buddy-cheek{opacity:.38;transform:none}.buddy-pose{transform:translateY(var(--p-y)) rotate(calc(var(--bd-tilt) + var(--bd-lean,0deg) + var(--p-rot))) scale(var(--p-sx), var(--p-sy));transition:transform .62s var(--ease-spring)}.buddy-breath{animation:bd-breathe var(--bd-breath) ease-in-out infinite;animation-delay:var(--bd-delay)}.buddy-face{transform:translate(calc(var(--s) * (var(--g-x) + var(--bd-gaze-x,0))), calc(var(--s) * var(--g-y)));transition:transform .46s var(--ease-out)}.buddy-look{transform-origin:50%;animation:bd-glance var(--bd-glance) ease-in-out infinite;animation-delay:var(--bd-delay)}.buddy-eye{transform:rotate(var(--e-rot)) scale(var(--e-sx), var(--e-sy));transition:transform .32s var(--ease-spring);display:block;position:absolute}.buddy-eye-r{--e-rot:calc(var(--e-rot-r,0deg))}.buddy-eye-l{--e-rot:calc(var(--e-rot-r,0deg) * -1)}.buddy-blink{transform-origin:50% 60%;animation:bd-blink var(--bd-blink) ease-in-out infinite;animation-delay:calc(var(--bd-delay) * .7);display:block;position:absolute;inset:0}.buddy[data-blink=double] .buddy-blink{animation-name:bd-blink-double}.buddy-pill{background:radial-gradient(120% 90% at 40% 30%, oklch(from var(--eye) calc(l + .08) c h) 0%, var(--eye) 55%, oklch(from var(--eye) calc(l - .06) c h) 100%);box-shadow:0 calc(var(--s) * .006) calc(var(--s) * .004) oklch(100% 0 0/.28), 0 0 0 calc(var(--s) * .004) oklch(100% 0 0/.08);transition:opacity .22s var(--ease-out), transform .32s var(--ease-spring);border-radius:9999px;display:block;position:absolute;inset:0}.buddy-pill:after{content:"";background:oklch(100% 0 0/.92);border-radius:50%;width:34%;height:26%;position:absolute;top:13%;left:26%;transform:rotate(-12deg)}.buddy[data-size=xs] .buddy-pill,.buddy[data-size=sm] .buddy-pill{box-shadow:none;background:var(--eye)}.buddy[data-size=xs] .buddy-pill:after,.buddy[data-size=sm] .buddy-pill:after{display:none}.buddy-arc{aspect-ratio:1;border:max(1.2px, calc(var(--s) * .026)) solid transparent;border-top-color:var(--eye);opacity:0;width:210%;transition:opacity .2s var(--ease-out), transform .36s var(--ease-spring);border-radius:50%;display:block;position:absolute;top:6%;left:-55%;transform:scale(.6)}.buddy[data-state=listening]{--p-rot:calc(var(--bd-side) * 3deg);--p-sx:1.025;--p-sy:.975;--g-y:.05;--e-sx:1.08;--e-sy:1.08}.buddy[data-state=listening] .buddy-act{animation:3.2s ease-in-out infinite bd-nod;animation-delay:calc(var(--bd-delay) * .3)}.buddy[data-from][data-state=listening] .buddy-act{animation:bd-attend .52s var(--ease-out) 1, bd-nod 3.2s ease-in-out .52s infinite}.buddy[data-state=listening] .buddy-look{animation:none}.buddy[data-state=thinking]{--g-x:calc(var(--bd-side) * .035);--g-y:-.055;--e-sy:.78;--p-sy:1.01}.buddy[data-state=thinking] .buddy-act{animation:3.4s ease-in-out infinite bd-sway}.buddy[data-state=thinking] .buddy-look{animation:3.4s ease-in-out infinite bd-ponder}.buddy[data-state=thinking] .buddy-sheen{opacity:1}.buddy[data-state=thinking] .buddy-sheen>span{animation:bd-sheen 2.6s var(--ease-sheet) infinite}.buddy[data-state=thinking] .buddy-acc{animation:3.4s ease-in-out .25s infinite bd-acc-sway}.buddy[data-state=working]{--p-sx:1.02;--p-sy:.98;--g-y:.03;--e-sy:.8}.buddy[data-state=working] .buddy-act{animation:1.5s linear infinite bd-hop}.buddy[data-state=working] .buddy-shadow{animation:1.5s linear infinite bd-hop-shadow}.buddy[data-state=working] .buddy-look{animation:3s ease-in-out infinite bd-scan}.buddy[data-state=working] .buddy-acc{animation:1.5s linear infinite bd-acc-hop}.buddy[data-state=working] .buddy-sheen{opacity:.7}.buddy[data-state=working] .buddy-sheen>span{animation:bd-sheen 1.5s var(--ease-sheet) infinite}.buddy[data-state=waiting]{--rim:oklch(90% .17 80);--bounce:oklch(86% .15 72);--p-sx:.975;--p-sy:1.045;--g-y:-.015;--e-sx:1.14;--e-sy:1.14}.buddy[data-state=waiting] .buddy-glow{opacity:1;background:radial-gradient(closest-side,oklch(84% .15 75/.55) 0%,oklch(82% .15 72/.28) 45%,oklch(80% .15 70/0) 100%);animation:2.4s ease-in-out infinite bd-glow}.buddy[data-state=waiting] .buddy-act{animation:bd-perk .68s linear 1, bd-hey 2.4s var(--ease-out) .68s infinite}.buddy[data-state=waiting] .buddy-shadow{animation:bd-perk-shadow .68s linear 1, bd-hey-shadow 2.4s var(--ease-out) .68s infinite}.buddy[data-state=waiting] .buddy-look{animation:none}.buddy[data-state=speaking]{--g-y:-.02;--e-sy:.92}.buddy[data-state=speaking] .buddy-act{animation:bd-inhale .38s var(--ease-out) 1, bd-talk 1.7s ease-in-out .38s infinite}.buddy[data-state=speaking] .buddy-glow{opacity:1;background:radial-gradient(closest-side, oklch(.75 .15 var(--h) / 0) 62%, oklch(.75 .15 var(--h) / .38) 78%, oklch(.75 .15 var(--h) / 0) 100%);animation:bd-ripple 1.7s var(--ease-out) infinite}.buddy[data-state=speaking] .buddy-look{animation:1.7s ease-in-out infinite bd-chatter}.buddy[data-state=done] .buddy-act{animation:1.2s linear bd-joy,3.6s ease-in-out 1.2s infinite bd-content}.buddy[data-state=done] .buddy-shadow{animation:1.2s linear bd-joy-shadow}.buddy[data-state=done] .buddy-pill{opacity:0;transform:scale(.7)}.buddy[data-state=done] .buddy-arc{opacity:1;transform:none}.buddy[data-state=done] .buddy-cheek{opacity:.85;transform:none}.buddy[data-state=done] .buddy-blink,.buddy[data-state=done] .buddy-look{animation:none}.buddy[data-state=done]{--g-y:-.01}.buddy[data-state=error]{--c:.1;--l:.66;--p-rot:calc(var(--bd-side) * -4deg);--p-sx:1.04;--p-sy:.93;--g-y:.035;--e-sx:1.15;--e-sy:.36;--e-rot-r:14deg}.buddy[data-state=error] .buddy-act{animation:.52s ease-in-out bd-shiver}.buddy[data-state=error] .buddy-breath{animation-duration:calc(var(--bd-breath) * 1.4)}.buddy[data-state=error] .buddy-blink,.buddy[data-state=error] .buddy-look{animation:none}.buddy[data-state=error] .buddy-acc{transform:rotate(calc(var(--bd-side) * 26deg));animation:none}.buddy[data-state=offline]{--c:.018;--l:.74;--eye:oklch(.36 .01 var(--h));--p-sx:1.035;--p-sy:.955;--g-y:.03;opacity:.85}.buddy[data-state=offline] .buddy-shadow{opacity:.7}.buddy[data-state=offline] .buddy-breath{animation:6.5s ease-in-out infinite bd-sleep;animation-delay:var(--bd-delay)}.buddy[data-from][data-state=offline] .buddy-act{animation:1.4s ease-in-out bd-doze}.buddy[data-state=offline] .buddy-pill{opacity:0;transform:scale(.7)}.buddy[data-state=offline] .buddy-arc{opacity:1;top:-64%;transform:rotate(180deg)}.buddy[data-state=offline] .buddy-blink,.buddy[data-state=offline] .buddy-look,.buddy[data-state=offline] .buddy-acc{animation:none}.buddy[data-state=offline] .buddy-acc{transform:rotate(calc(var(--bd-side) * 32deg))}.buddy[data-state=offline] .buddy-cheek{opacity:0}.buddy[data-from][data-state=idle] .buddy-act{animation:.9s ease-in-out bd-settle}.buddy[data-from=offline][data-state=idle] .buddy-act{animation:1.2s ease-in-out bd-wake}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .buddy-shadow{background:radial-gradient(closest-side, oklch(0% 0 0/.7), oklch(0% 0 0/.25) 55%, transparent 100%) 50% 50% / 78% 62% no-repeat, radial-gradient(closest-side, oklch(.62 .12 var(--h) / .26), transparent)}}:root[data-theme=dark] .buddy-shadow{background:radial-gradient(closest-side, oklch(0% 0 0/.7), oklch(0% 0 0/.25) 55%, transparent 100%) 50% 50% / 78% 62% no-repeat, radial-gradient(closest-side, oklch(.62 .12 var(--h) / .26), transparent)}.buddy-group{flex:none;display:block;position:relative}.buddy-slot{display:block;position:absolute}.buddy-group .buddy-pose{--p-sx:.97}.buddy-row{flex:none;align-items:flex-end;display:inline-flex}.buddy-row-slot{justify-content:center;display:flex;position:relative;overflow:visible}.buddy-row-slot>.buddy{transform:scale(var(--bd-row-scale,1));transform-origin:50% 91%;transition:transform .62s var(--ease-spring)}@keyframes bd-breathe{0%,to{transform:scale(1)}50%{transform:scale(.994,1.02)}}@keyframes bd-sleep{0%,to{transform:scale(1)}45%{transform:scale(1.012,1.04)}}@keyframes bd-blink{0%,90%,96%,to{transform:scaleY(1)}93%{transform:scaleY(.08)}}@keyframes bd-blink-double{0%,84%,89%,93%,98%,to{transform:scaleY(1)}86.5%{transform:scaleY(.08)}95.5%{transform:scaleY(.08)}}@keyframes bd-glance{0%,38%,58%,80%,to{transform:translate(0)}42%,54%{transform:translate(calc(var(--s) * -.035), calc(var(--s) * .004))}84%,92%{transform:translate(calc(var(--s) * .03), calc(var(--s) * -.012))}96%{transform:translate(0)}}@keyframes bd-nod{0%,58%,to{transform:none}66%{transform:translateY(1.2%)scale(1.02,.965)}76%{transform:translateY(-.6%)scale(.99,1.015)}86%{transform:none}}@keyframes bd-sway{0%,to{transform:rotate(0)}25%{transform:rotate(-2.6deg)}75%{transform:rotate(2.6deg)}}@keyframes bd-ponder{0%,to{transform:translate(0)}35%{transform:translateX(calc(var(--s) * .014))}85%{transform:translateX(calc(var(--s) * -.014))}}@keyframes bd-sheen{0%{transform:translate(-110%)skew(-12deg)}70%,to{transform:translate(240%)skew(-12deg)}}@keyframes bd-hop{0%{animation-timing-function:ease-out;transform:none}7%{animation-timing-function:ease-out;transform:scale(1.07,.9)}17%{animation-timing-function:ease-out;transform:translateY(-6.5%)scale(.95,1.07)}25%{animation-timing-function:ease-in;transform:translateY(-8.5%)scaleY(1.01)}34%{animation-timing-function:ease-out;transform:translateY(0)scale(1.08,.9)}41%{animation-timing-function:ease-in-out;transform:scale(.98,1.03)}46%{animation-timing-function:ease-out;transform:scale(1.05,.94)}54%{animation-timing-function:ease-in;transform:translateY(-4%)scale(.97,1.04)}62%{animation-timing-function:ease-out;transform:translateY(0)scale(1.06,.92)}70%{animation-timing-function:ease-in-out;transform:scale(.99,1.015)}78%,to{transform:none}}@keyframes bd-hop-shadow{0%,7%{opacity:1;animation-timing-function:ease-out;transform:scaleX(1.04)}25%{opacity:.55;animation-timing-function:ease-in;transform:scale(.72)}34%{opacity:1;transform:scaleX(1.06)}46%{animation-timing-function:ease-out;transform:none}54%{opacity:.75;animation-timing-function:ease-in;transform:scale(.84)}62%{opacity:1;transform:scaleX(1.04)}78%,to{opacity:1;transform:none}}@keyframes bd-scan{0%,to{transform:translateX(calc(var(--s) * -.04))}45%,55%{transform:translateX(calc(var(--s) * .04))}}@keyframes bd-acc-sway{0%,to{transform:rotate(-3deg)}50%{transform:rotate(4deg)}}@keyframes bd-acc-hop{0%,10%{transform:rotate(0)}20%{transform:rotate(-14deg)scaleY(.92)}31%{transform:rotate(10deg)scaleY(1.06)}40%{transform:rotate(-12deg)scaleY(.94)}50%{transform:rotate(7deg)}58%{transform:rotate(-9deg)}67%{transform:rotate(8deg)}78%{transform:rotate(-4deg)}90%,to{transform:rotate(0)}}@keyframes bd-glow{0%,to{opacity:.75;transform:scale(.92)}50%{opacity:1;transform:scale(1.06)}}@keyframes bd-hey{0%,52%{transform:none}58%{transform:scale(1.05,.93)}65%{transform:translateY(-7%)scale(.96,1.05)rotate(-3deg)}72%{transform:translateY(0)scale(1.04,.95)rotate(0)}78%{transform:translateY(-4%)scale(.98,1.03)rotate(3deg)}85%{transform:translateY(0)scale(1.02,.98)}92%,to{transform:none}}@keyframes bd-hey-shadow{0%,58%{opacity:1;transform:none}65%{opacity:.7;transform:scale(.8)}72%{opacity:1;transform:none}78%{opacity:.8;transform:scale(.88)}85%,to{opacity:1;transform:none}}@keyframes bd-talk{0%,to{transform:none}9%{transform:scale(.975,1.045)}17%{transform:scale(1.015,.98)}27%{transform:scale(.97,1.055)}36%{transform:scale(1.02,.975)}44%{transform:none}55%{transform:scale(.985,1.03)}62%{transform:scale(1.01,.99)}74%{transform:scale(.965,1.06)}85%{transform:scale(1.015,.98)}}@keyframes bd-chatter{0%,44%,to{transform:none}27%{transform:translateY(calc(var(--s) * -.012))}74%{transform:translateY(calc(var(--s) * -.014))}}@keyframes bd-ripple{0%{opacity:0;transform:scale(.82)}25%{opacity:1}to{opacity:0;transform:scale(1.18)}}@keyframes bd-joy{0%{animation-timing-function:ease-in-out;transform:none}18%{animation-timing-function:cubic-bezier(.2,.8,.4,1);transform:translateY(1%)scale(1.1,.84)}34%{animation-timing-function:ease-out;transform:translateY(-15%)scale(.92,1.1)rotate(-5deg)}46%{animation-timing-function:ease-in;transform:translateY(-18%)scaleX(1.01)rotate(4deg)}58%{animation-timing-function:ease-out;transform:translateY(0)scale(1.1,.87)}70%{animation-timing-function:ease-in-out;transform:scale(.96,1.05)}82%{animation-timing-function:ease-in-out;transform:scale(1.02,.98)}92%,to{transform:none}}@keyframes bd-joy-shadow{0%{transform:none}18%{opacity:1;transform:scaleX(1.08)}46%{opacity:.45;animation-timing-function:ease-in;transform:scale(.66)}58%{opacity:1;transform:scaleX(1.08)}92%,to{transform:none}}@keyframes bd-content{0%,to{transform:rotate(0)}30%{transform:rotate(-2deg)}70%{transform:rotate(2deg)}}@keyframes bd-shiver{0%,to{transform:none}12%{transform:translate(-2.2%)scale(1.03,.97)}26%{transform:translate(2%)}40%{transform:translate(-1.6%)}54%{transform:translate(1.2%)}68%{transform:translate(-.7%)}82%{transform:translate(.3%)}}@keyframes bd-perk{0%{animation-timing-function:ease-in-out;transform:none}22%{animation-timing-function:cubic-bezier(.2,.8,.4,1);transform:scale(1.06,.9)}48%{animation-timing-function:ease-in;transform:translateY(-7%)scale(.94,1.09)}68%{animation-timing-function:ease-out;transform:translateY(0)scale(1.04,.95)}84%{transform:scale(.99,1.015)}to{transform:none}}@keyframes bd-perk-shadow{0%,22%{opacity:1;transform:none}48%{opacity:.6;transform:scale(.78)}68%,to{opacity:1;transform:none}}@keyframes bd-attend{0%,to{transform:none}40%{transform:translateY(-2%)scale(.98,1.035)}}@keyframes bd-inhale{0%,to{transform:none}60%{transform:scale(.975,1.045)}}@keyframes bd-settle{0%,to{transform:none}28%{transform:scale(1.035,.955)}56%{transform:scale(.99,1.015)}80%{transform:scale(1.004,.997)}}@keyframes bd-wake{0%{transform:none}38%{transform:translateY(-1.5%) scale(.95, 1.08) rotate(calc(var(--bd-side) * 2deg))}64%{transform:scale(1.03,.965)}84%{transform:scale(.995,1.008)}to{transform:none}}@keyframes bd-doze{0%{transform:none}32%{transform:scale(.96,1.06)}70%{transform:scale(1.015,.985)}to{transform:none}}@media (prefers-reduced-motion:reduce){.buddy *,.buddy :after{animation:none!important}.buddy-pose,.buddy-face,.buddy-eye,.buddy-row-slot>.buddy{transition-duration:.15s!important;transition-timing-function:ease-out!important}}[data-motion=reduce] .buddy *,[data-motion=reduce] .buddy :after{animation:none!important}[data-motion=reduce] .buddy-pose,[data-motion=reduce] .buddy-face,[data-motion=reduce] .buddy-eye,[data-motion=reduce] .buddy-row-slot>.buddy{transition-duration:.15s!important;transition-timing-function:ease-out!important}
