.ed-char--outline .edc-body{stroke:#13201a;stroke-width:3.5px;paint-order:stroke}.ed-char .edc-float{transform-box:view-box;transform-origin:120px 190px}.ed-char .edc-prop{pointer-events:none}.ed-char .edc-prop *{transform-box:fill-box;transform-origin:50%}.ed-char{--edp-line:#4f6656;--edp-acc:#ff5f45;--edp-gold:#e7b84e;--edp-sage:var(--color-confetti-sage,#8fb39a)}.on-forest .ed-char,[data-surface=dark] .ed-char,.ed-plate .ed-char,.eddy-mini .ed-char{--edp-line:#c3d4c8}.ed-char[data-still] *{transition:none!important;animation:none!important}.eddy-edge{z-index:1;pointer-events:none;line-height:0;position:absolute;overflow:hidden}.eddy-edge--side{bottom:0;right:0}.eddy-edge--bottom{bottom:0;right:clamp(20px,6vw,56px)}@media (width<=639px){.eddy-edge{display:none}}.eddy-mini{z-index:40;background:#12291f;border-radius:30%;place-items:center;width:54px;height:54px;transition:opacity .3s,transform .3s;display:grid;position:fixed;bottom:16px;left:16px;box-shadow:0 6px 18px #13201a47}@media (width>=640px){.eddy-mini{bottom:24px;left:24px}}.eddy-mini .ed-char{--ed-size:40px}.eddy-mini.is-hidden{opacity:0;pointer-events:none;transform:translateY(12px)}.eddy-mini[data-look] .edc-pupils{transition:transform .2s ease-out;animation:none}.eddy-mini[data-look=up] .edc-pupils{transform:translate(2px,-7px)}.eddy-mini[data-look=down] .edc-pupils{transform:translate(1px,9px)}.eddy-mini.is-hop .edc-float{animation:.45s cubic-bezier(.3,.8,.4,1) edm-hop}@keyframes edm-hop{0%,to{transform:none}40%{transform:translateY(-18px)scale(.95,1.06)}72%{transform:scale(1.06,.93)}}@media (width<=359px),print{.eddy-mini{display:none}}@media (prefers-reduced-motion:reduce){.eddy-mini{transition:none}.eddy-mini.is-hop .edc-float{animation:none}}.ed-char[data-state=wave] .edc-spin{transform-origin:120px 190px;animation:1.6s ease-in-out both edw-tilt}.ed-char[data-state=wave] .edc-open{animation:1.6s both edw-o}.ed-char[data-state=wave] .edc-happy{animation:1.6s both edw-h}.ed-char[data-state=wave] .edp-hi{animation:1.6s ease-out both edw-s}@keyframes edw-tilt{0%,to{transform:none}14%{transform:rotate(-10deg)}32%{transform:rotate(9deg)}50%{transform:rotate(-7deg)}68%{transform:rotate(4deg)}84%{transform:rotate(-1deg)}}@keyframes edw-o{0%,8%,84%,to{opacity:1}12%,80%{opacity:0}}@keyframes edw-h{0%,8%,84%,to{opacity:0}12%,80%{opacity:1}}@keyframes edw-s{0%,6%{opacity:0;transform:translate(-8px,10px)scale(.2)}22%{opacity:1;transform:scale(1.15)rotate(25deg)}62%{opacity:1;transform:translate(5px,-6px)rotate(70deg)}to{opacity:0;transform:translate(10px,-16px)scale(.5)rotate(120deg)}}.ed-char[data-still][data-state=wave] .edc-spin{transform:rotate(-8deg)}.ed-char[data-still][data-state=wave] .edc-open{opacity:0}.ed-char[data-still][data-state=wave] .edc-happy{opacity:1}.ed-char[data-state=celebrate] .edc-float{animation:1.8s cubic-bezier(.3,.7,.4,1) both edc-hop}.ed-char[data-state=celebrate] .edc-open{opacity:0}.ed-char[data-state=celebrate] .edc-happy{opacity:1}.ed-char[data-state=celebrate] .edp-cf{opacity:0;animation:1.8s cubic-bezier(.15,.7,.3,1) both edc-cf}@keyframes edc-hop{0%{transform:none}13%{transform:scale(1.12,.84)}31%{transform:translateY(-36px)scale(.93,1.08)}49%{transform:scale(1.09,.89)}61%{transform:scale(.98,1.03)}72%,to{transform:none}}@keyframes edc-cf{0%,22%{opacity:0;transform:scale(.3)}30%{opacity:1}68%{opacity:1;transform:translate(var(--x),var(--y)) rotate(var(--r))}to{opacity:0;transform:translate(var(--x),calc(var(--y) + 34px)) rotate(calc(var(--r)*1.6))}}.ed-char[data-still][data-state=celebrate] .edp-cf{opacity:1;transform:translate(var(--x),var(--y)) rotate(var(--r))}.ed-char[data-state=surprised] .edc-eye{animation:none}.ed-char[data-state=surprised] .edc-open{animation:.9s ease-out both edu-eye}.ed-char[data-state=surprised] .edc-pupils{animation:none}.ed-char[data-state=surprised] .edc-float{animation:.9s cubic-bezier(.3,.8,.4,1) both edu-hop}.ed-char[data-state=surprised] .edp-wow{opacity:0;animation:.9s ease-out both edu-wow}@keyframes edu-eye{0%{transform:none}14%,58%{transform:scale(1.42,.94)}to{transform:none}}@keyframes edu-hop{0%{transform:none}8%{transform:scale(1.06,.92)}28%{transform:translateY(-20px)scale(.96,1.05)}50%{transform:scale(1.04,.96)}66%,to{transform:none}}@keyframes edu-wow{0%,10%{opacity:0;transform:scale(.4)}26%,60%{opacity:1;transform:none}to{opacity:0;transform:scale(1.15)}}.ed-char[data-still][data-state=surprised] .edc-open{transform:scale(1.42,.94)}.ed-char[data-still][data-state=surprised] .edp-wow{opacity:1}.ed-char[data-state=level-up] .edc-pulse{transform-origin:120px 190px;animation:1.4s cubic-bezier(.4,0,.3,1) both edl-charge}.ed-char[data-state=level-up] .edc-open{animation:1.4s both edl-o}.ed-char[data-state=level-up] .edc-happy{animation:1.4s both edl-h}.ed-char[data-state=level-up] .edp-burst{opacity:0;animation:1.4s ease-out both edl-ring}@keyframes edl-charge{0%{transform:none}30%{transform:scale(1.08,.86)}38%{transform:scale(.94,1.1)translateY(-8px)}52%{transform:scale(1.03,.98)}64%,to{transform:none}}@keyframes edl-ring{0%,34%{opacity:0;transform:scale(.55)}40%{opacity:1}80%,to{opacity:0;transform:scale(1.5)}}@keyframes edl-o{0%,36%,88%,to{opacity:1}40%,84%{opacity:0}}@keyframes edl-h{0%,36%,88%,to{opacity:0}40%,84%{opacity:1}}.ed-char[data-still][data-state=level-up] .edp-burst{opacity:.6;transform:scale(1.05)}.ed-char[data-state=drafting] .edc-pupils{animation:2.4s ease-in-out infinite edd-eye}.ed-char[data-state=drafting] .edp-pen{animation:2.4s ease-in-out infinite edd-pen}.ed-char[data-state=drafting] .edp-ln{stroke-dasharray:70;animation:2.4s ease-in-out infinite edd-ln}@keyframes edd-eye{0%,to{transform:translate(4px,8px)}66%,80%{transform:translate(8px,8px)}}@keyframes edd-pen{0%{transform:none}11%{transform:translate(6px,-5px)}22%{transform:translate(12px)}33%{transform:translate(18px,-5px)}44%{transform:translate(24px)}55%{transform:translate(30px,-5px)}66%,80%{transform:translate(36px)}92%{transform:translate(18px,-8px)}to{transform:none}}@keyframes edd-ln{0%{stroke-dashoffset:70px;opacity:1}66%{stroke-dashoffset:0;opacity:1}84%{opacity:1}96%,to{stroke-dashoffset:0;opacity:0}}.ed-char[data-still][data-state=drafting] .edc-pupils{transform:translate(7px,8px)}.ed-char[data-still][data-state=drafting] .edp-pen{transform:translate(30px,-5px)}.ed-char[data-still][data-state=drafting] .edp-ln{stroke-dashoffset:12px}.ed-char[data-state=checking] .edc-pupils{animation:2s ease-in-out both edk-eye}.ed-char[data-state=checking] .edp-mag{animation:2s ease-in-out both edk-mag}.ed-char[data-state=checking] .edp-tick{animation:2s cubic-bezier(.3,1.6,.5,1) both edk-tick}.ed-char[data-state=checking] .edc-open{animation:2s both edk-o}.ed-char[data-state=checking] .edc-happy{animation:2s both edk-h}@keyframes edk-eye{0%,6%{transform:translate(-7px,7px)}52%{transform:translate(6px,7px)}64%,to{transform:none}}@keyframes edk-mag{0%{opacity:0;transform:translate(-6px)}8%{opacity:1;transform:none}52%{opacity:1;transform:translate(96px)}62%,to{opacity:0;transform:translate(104px)}}@keyframes edk-tick{0%,60%{opacity:0;transform:scale(.2)}72%{opacity:1;transform:scale(1.15)}80%,to{opacity:1;transform:none}}@keyframes edk-o{0%,74%,96%,to{opacity:1}78%,92%{opacity:0}}@keyframes edk-h{0%,74%,96%,to{opacity:0}78%,92%{opacity:1}}.ed-char[data-still][data-state=checking] .edp-mag{opacity:0}.ed-char[data-still][data-state=checking] .edp-tick{opacity:1}.ed-char[data-state=working] .edc-open{transform-origin:50% 100%;transform:scaleY(.8)}.ed-char[data-state=working] .edc-pupils{animation:2s ease-in-out infinite edg-eye}.ed-char[data-state=working] .edc-float{animation:1s ease-in-out infinite edg-bob}.ed-char[data-state=working] .edp-pip{opacity:.25;animation:2s ease-in-out infinite edg-pip}.ed-char[data-state=working] .edp-pip:nth-child(2){animation-delay:.33s}.ed-char[data-state=working] .edp-pip:nth-child(3){animation-delay:.66s}@keyframes edg-eye{0%,to{transform:translate(-2px,5px)}50%{transform:translate(2px,5px)}}@keyframes edg-bob{0%,to{transform:none}50%{transform:translateY(-3px)scale(1.01,.99)}}@keyframes edg-pip{0%,60%,to{opacity:.25;transform:none}20%{opacity:1;transform:translateY(-4px)scale(1.2)}}.ed-char[data-still][data-state=working] .edp-pip{opacity:1}.ed-char[data-still][data-state=working] .edp-pip:last-child{opacity:.3}.ed-char[data-state=scanning] .edp-glass{animation:2.6s ease-in-out infinite edv-scan}.ed-char[data-state=scanning] .edc-pupils{animation:2.6s ease-in-out infinite edv-scan-eye}@keyframes edv-scan{0%,to{transform:none}50%{transform:translate(150px,-40px)}}@keyframes edv-scan-eye{0%,to{transform:translate(-8px,9px)}50%{transform:translate(4px,4px)}}.ed-char[data-state=flipping] .edp-page{transform-origin:200px 200px;animation:2s ease-in-out infinite edv-flip}.ed-char[data-state=flipping] .edc-pupils{transform:translate(6px,9px)}@keyframes edv-flip{0%,20%{transform:none}60%,to{transform:scaleX(-1)}}.ed-char[data-state=sketching] .edp-wf{stroke-dasharray:110;animation:2.8s ease-in-out infinite edv-draw}.ed-char[data-state=sketching] .edp-wf:nth-child(2){animation-delay:.4s}.ed-char[data-state=sketching] .edp-wf:nth-child(3){animation-delay:.8s}.ed-char[data-state=sketching] .edp-pencil{animation:1.4s ease-in-out infinite edv-pencil}.ed-char[data-state=sketching] .edc-pupils{transform:translate(7px,8px)}@keyframes edv-draw{0%{stroke-dashoffset:110px}60%,90%{stroke-dashoffset:0;opacity:1}to{stroke-dashoffset:0;opacity:0}}@keyframes edv-pencil{0%,to{transform:translate(232px,206px)}50%{transform:translate(200px,180px)}}.ed-char[data-state=painting] .edp-stroke{stroke-dasharray:60;animation:2.4s ease-in-out infinite edv-paint}.ed-char[data-state=painting] .edp-brush{animation:2.4s ease-in-out infinite edv-brush}.ed-char[data-state=painting] .edc-pupils{transform:translate(6px,9px)}@keyframes edv-paint{0%{stroke-dashoffset:60px}70%,90%{stroke-dashoffset:0;opacity:1}to{opacity:0}}@keyframes edv-brush{0%{transform:translate(186px,204px)}70%,90%{transform:translate(234px,204px)}to{transform:translate(186px,204px)}}.ed-char[data-state=blocks] .edp-drop{animation:3s cubic-bezier(.3,.7,.4,1.3) infinite edv-drop}.ed-char[data-state=blocks] .edc-float{animation:1.5s ease-in-out infinite edg-bob}@keyframes edv-drop{0%{opacity:0;transform:translateY(-40px)}30%{opacity:1}45%,85%{opacity:1;transform:none}to{opacity:0}}.ed-char[data-state=swatches] .edp-sw{transform-box:fill-box;transform-origin:50% 100%;animation:2.4s ease-in-out infinite edv-sw}.ed-char[data-state=swatches] .edp-sw:nth-child(2){animation-delay:.8s}.ed-char[data-state=swatches] .edp-sw:nth-child(3){animation-delay:1.6s}.ed-char[data-state=swatches] .edc-pupils{animation:2.4s step-end infinite edv-sw-eye}@keyframes edv-sw{0%,40%,to{transform:none}15%,25%{transform:translateY(-8px)rotate(-6deg)}}@keyframes edv-sw-eye{0%{transform:translate(2px,9px)}33%{transform:translate(6px,9px)}66%{transform:translate(10px,9px)}}.ed-char[data-state=uploading] .edp-arrow{animation:1s ease-in infinite edv-up}.ed-char[data-state=uploading] .edc-float{animation:1s ease-in-out infinite edg-bob}@keyframes edv-up{0%{opacity:0;transform:translateY(6px)}30%{opacity:1}to{opacity:0;transform:translateY(-10px)}}.ed-char[data-state=launching] .edp-rocket{animation:2.6s ease-in infinite edv-launch}.ed-char[data-state=launching] .edp-flame{transform-box:fill-box;transform-origin:50% 0;animation:.2s linear infinite alternate edv-flame}.ed-char[data-state=launching] .edc-pupils{animation:2.6s ease-in infinite edv-launch-eye}@keyframes edv-launch{0%,30%{transform:translate(212px,204px)}31%{transform:translate(213px,204px)}32%{transform:translate(211px,204px)}90%{opacity:1;transform:translate(212px,110px)}to{opacity:0;transform:translate(212px,100px)}}@keyframes edv-flame{to{transform:scaleY(1.6)}}@keyframes edv-launch-eye{0%,30%{transform:translate(6px,8px)}90%,to{transform:translate(6px,-4px)}}.ed-char[data-state=blinking] .edc-open{transform-origin:50%;animation:1.8s ease-in-out infinite edv-blink}@keyframes edv-blink{0%,20%,34%,48%,to{transform:none}27%,41%{transform:scaleY(.08)}}.ed-char[data-state=stretching] .edc-float{transform-origin:120px 190px;animation:2.4s ease-in-out infinite edv-stretch}.ed-char[data-state=stretching] .edc-open{transform-origin:50%;animation:2.4s ease-in-out infinite edv-squint}@keyframes edv-stretch{0%,to{transform:none}30%{transform:scale(1.06,.92)}55%{transform:scale(.95,1.1)translateY(-6px)}75%{transform:none}}@keyframes edv-squint{0%,25%,75%,to{transform:none}40%,60%{transform:scaleY(.35)}}.ed-char[data-state=looking] .edc-pupils{animation:3s ease-in-out infinite edv-look}.ed-char[data-state=looking] .edc-spin{transform-origin:120px 120px;animation:3s ease-in-out infinite edv-tilt}@keyframes edv-look{0%,to{transform:none}25%,75%{transform:translate(-10px,10px)}}@keyframes edv-tilt{0%,to{transform:none}25%,75%{transform:rotate(-4deg)}}.ed-char[data-still][data-state=scanning] .edp-glass{transform:translate(70px,-20px)}.ed-char[data-still][data-state=sketching] .edp-pencil{transform:translate(232px,206px)}.ed-char[data-still][data-state=painting] .edp-brush{transform:translate(234px,204px)}.ed-char[data-still][data-state=launching] .edp-rocket{transform:translate(212px,204px)}.ed-char[data-still][data-state=looking] .edc-pupils{transform:translate(-10px,10px)}.ed-char[data-state=listening] .edc-open{transform:scale(1.08)}.ed-char[data-state=listening] .edc-pupils{animation:none;transform:translate(3px,-2px)}.ed-char[data-state=listening] .edc-pulse{animation:1s ease-in-out infinite edn-pulse}.ed-char[data-state=listening] .edp-arc{opacity:0;animation:1s ease-out infinite edn-arc}.ed-char[data-state=listening] .edp-arc+.edp-arc{animation-delay:.18s}@keyframes edn-pulse{0%,to{transform:none}30%{transform:scale(1.025)}}@keyframes edn-arc{0%{opacity:0;transform:translate(-4px,4px)}30%{opacity:1}to{opacity:0;transform:translate(5px,-5px)}}.ed-char[data-still][data-state=listening] .edp-arc{opacity:1}.ed-char[data-state=sleepy] .edc-eye,.ed-char[data-state=sleepy] .edc-pupils{animation:none}.ed-char[data-state=sleepy] .edc-open{transform-origin:50% 100%;transform:scaleY(.4)}.ed-char[data-state=sleepy] .edc-float{animation:4s ease-in-out infinite edz-breathe}.ed-char[data-state=sleepy] .edp-z{opacity:0;animation:4s ease-out infinite edz-z}.ed-char[data-state=sleepy] .edp-z+.edp-z{animation-delay:-2s}@keyframes edz-breathe{0%,to{transform:scale(1.025,.965)}50%{transform:scale(.99,1.02)}}@keyframes edz-z{0%{opacity:0;transform:scale(.5)}20%{opacity:1}70%{opacity:.9;transform:translate(16px,-30px)scale(1)rotate(-8deg)}to{opacity:0;transform:translate(24px,-44px)scale(1.1)rotate(-12deg)}}.ed-char[data-still][data-state=sleepy] .edp-z{opacity:1;transform:translate(10px,-18px)}.ed-char[data-still][data-state=sleepy] .edp-z+.edp-z{opacity:0}.ed-char[data-state=oops] .edc-eye{animation:none}.ed-char[data-state=oops] .edc-open{animation:1s ease-in-out both edo-eye}.ed-char[data-state=oops] .edc-pupils{animation:1s ease-in-out both edo-look}.ed-char[data-state=oops] .edc-pulse{transform-origin:120px 190px;animation:1s ease-in-out both edo-shrink}.ed-char[data-state=oops] .edc-spin{transform-origin:120px 190px;animation:1s ease-in-out both edo-wob}.ed-char[data-state=oops] .edp-sq{stroke-dasharray:40;animation:1s ease-out both edo-sq}@keyframes edo-eye{0%,to{transform:none}18%,78%{transform:scale(.84)}}@keyframes edo-look{0%,to{transform:none}18%,78%{transform:translate(-4px,9px)}}@keyframes edo-shrink{0%,to{transform:none}18%,78%{transform:scale(.94)}}@keyframes edo-wob{0%,to{transform:none}25%{transform:rotate(-3deg)}42%{transform:rotate(3deg)}58%{transform:rotate(-2deg)}74%{transform:rotate(1deg)}}@keyframes edo-sq{0%,10%{stroke-dashoffset:40px;opacity:1}45%,75%{stroke-dashoffset:0;opacity:1}to{stroke-dashoffset:0;opacity:0}}.ed-char[data-still][data-state=oops] .edc-open{transform:scale(.84)}.ed-char[data-still][data-state=oops] .edc-pupils{transform:translate(-4px,9px)}.ed-char[data-still][data-state=oops] .edc-pulse{transform:scale(.94)}.ed-char[data-state=shrug] .edc-float{animation:1.3s ease-in-out both eds-lift}.ed-char[data-state=shrug] .edc-spin{transform-origin:120px 190px;animation:1.3s ease-in-out both eds-tilt}.ed-char[data-state=shrug] .edc-pupils{animation:1.3s ease-in-out both eds-eye}.ed-char[data-state=shrug] .edp-q{opacity:0;animation:1.3s ease-out both eds-q}@keyframes eds-lift{0%,to,44%{transform:none}18%,30%{transform:translateY(-7px)scale(1.04,.95)}60%,72%{transform:translateY(-5px)scale(1.03,.96)}}@keyframes eds-tilt{0%,to{transform:none}24%{transform:rotate(-4deg)}66%{transform:rotate(4deg)}}@keyframes eds-eye{0%,to{transform:none}16%,36%{transform:translate(-8px,1px)}58%,78%{transform:translate(4px,1px)}}@keyframes eds-q{0%,12%{opacity:0;transform:translateY(6px)scale(.5)}28%,80%{opacity:1;transform:none}to{opacity:0;transform:translateY(-6px)}}.ed-char[data-still][data-state=shrug] .edc-spin{transform:rotate(-4deg)}.ed-char[data-still][data-state=shrug] .edp-q{opacity:1}.ed-char{--pl:6deg;--px:7px;--py:1px;--cx:216px;--cy:118px;--cr:0deg}.ed-char[data-dir=down]{--pl:0deg;--px:1px;--py:10px;--cx:120px;--cy:216px;--cr:90deg}.ed-char[data-dir=down-right]{--pl:5deg;--px:6px;--py:8px;--cx:204px;--cy:204px;--cr:45deg}.ed-char[data-state=point] .edc-spin{transform-origin:120px 190px;animation:1.2s cubic-bezier(.3,1.4,.5,1) both edp-lean}.ed-char[data-state=point] .edc-pupils{animation:1.2s ease-out both edp-eye}.ed-char[data-state=point] .edp-chev{transform-box:view-box;transform-origin:0 0;transform:translate(var(--cx),var(--cy)) rotate(var(--cr))}.ed-char[data-state=point] .edp-chev path{animation:.5s ease-out .35s both edp-in,.9s ease-in-out .85s infinite edp-nudge}@keyframes edp-lean{0%{transform:none}35%,to{transform:rotate(var(--pl)) translateY(var(--ly,0))}}.ed-char[data-dir=down]{--ly:4px}@keyframes edp-eye{0%{transform:none}30%,to{transform:translate(var(--px),var(--py))}}@keyframes edp-in{0%{opacity:0;transform:translate(-10px)}}@keyframes edp-nudge{0%,to{transform:none}50%{transform:translate(5px)}}.ed-char[data-still][data-state=point] .edc-spin{transform:rotate(var(--pl)) translateY(var(--ly,0))}.ed-char[data-still][data-state=point] .edc-pupils{transform:translate(var(--px),var(--py))}.ed-char[data-state=peek] .edc-float{animation:1.5s cubic-bezier(.4,0,.3,1) both edk-side}.ed-char[data-state=peek][data-dir=bottom] .edc-float{animation-name:edk-up}.ed-char[data-state=peek] .edc-pupils{animation:1.5s ease-in-out both edk-peer}.ed-char[data-dir=bottom][data-state=peek] .edc-pupils{animation-name:edk-peer-b}@keyframes edk-side{0%,to{transform:translate(150px)}22%,74%{transform:translate(62px)rotate(-6deg)}30%,66%{transform:translate(66px)rotate(-4deg)}}@keyframes edk-up{0%,to{transform:translateY(150px)}22%,74%{transform:translateY(62px)}30%,66%{transform:translateY(68px)}}@keyframes edk-peer{0%,26%{transform:translate(-8px,2px)}44%{transform:translate(-8px,2px)}56%,to{transform:none}}@keyframes edk-peer-b{0%,40%{transform:translateY(-2px)}56%,to{transform:none}}.ed-char[data-still][data-state=peek] .edc-float{transform:translate(64px)rotate(-5deg)}.ed-char[data-still][data-state=peek][data-dir=bottom] .edc-float{transform:translateY(66px)}
