/* Generated by `python -m kisru.avatar_css` from the style blocks of
   kisru/static/avatars/*.svg and the animated brand mark. Do not edit;
   edit the SVG files and regenerate. Needed because the page CSP allows
   no inline styles, so an inlined avatar relies on this sheet. */

/* avatars/conductor.svg */
.cf-conductor{--cf-b:var(--cf-body,#D34513);--cf-f:var(--cf-face,#F5F0EA);--cf-c:var(--cf-crown,#D34513);--cf-h:var(--cf-crown-hot,#FF6A2A)}
.cf-conductor .shell{fill:var(--cf-b);stroke:var(--cf-b);stroke-width:4;stroke-linejoin:round}
.cf-conductor .face{fill:var(--cf-f)}
.cf-conductor .line{fill:none;stroke:var(--cf-f);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.cf-conductor .tri,.cf-conductor .accessory{fill:var(--cf-c)}
.cf-conductor .t2{fill:var(--cf-h)}
.cf-conductor .rest,.cf-conductor .error-face{display:none}
.cf-conductor .crown{transform-box:view-box;transform-origin:64px 30px}
.cf-conductor .tri{transform-box:view-box}
.cf-conductor .tri{--cf-s:0;transform:translate(0,0)}
.cf-conductor .t1{--cf-s:-1}.cf-conductor .t3{--cf-s:1}
.cf-conductor:not(.is-thinking):not(.is-working):not(.is-done):not(.is-error):not(.is-asleep) .tri{animation:cf-conductor-idle 6.40s ease-in-out infinite}
.cf-conductor .t2{animation-delay:-.35s}.cf-conductor .t3{animation-delay:-.7s}
@keyframes cf-conductor-idle{0%,72%,100%{transform:translateY(0)}86%{transform:translateY(-1px)}}
.cf-conductor.is-thinking .tri{animation:cf-conductor-think 2.7s ease-in-out infinite}
.cf-conductor.is-thinking .t2{transform:translateY(-4px);fill:var(--cf-h)}
.cf-conductor.is-thinking .t1{animation-delay:0s}.cf-conductor.is-thinking .t2{animation-delay:0.24s}.cf-conductor.is-thinking .t3{animation-delay:0.48s}
@keyframes cf-conductor-think{0%,65%,100%{transform:translate(0,0)}28%{transform:translateY(-5px);fill:var(--cf-h)}}
.cf-conductor.is-working .tri{fill:var(--cf-h);transform:translateY(-2px) rotate(calc(var(--cf-s)*10deg));animation:cf-conductor-work 0.92s ease-in-out infinite}
.cf-conductor.is-working .t1{animation-delay:0s}.cf-conductor.is-working .t2{animation-delay:0.13s}.cf-conductor.is-working .t3{animation-delay:0.26s}
@keyframes cf-conductor-work{0%,70%,100%{transform:translateY(-2px)}32%{transform:translateY(-4px)}}
.cf-conductor.is-done .tri{fill:var(--cf-h);transform:translateY(-2px);animation:cf-conductor-done .72s cubic-bezier(.2,.7,.3,1) 1 both;animation-delay:0s}
@keyframes cf-conductor-done{0%{transform:translateY(0)}45%{transform:translateY(-6px)}100%{transform:translateY(-2px)}}
.cf-conductor.is-error .tri{fill:var(--cf-c);animation:cf-conductor-error .48s ease-in-out 1;animation-delay:0s}
.cf-conductor.is-error .t2{opacity:.4;transform:translateY(3px)}
.cf-conductor.is-error .awake{display:none}.cf-conductor.is-error .error-face{display:inline}
@keyframes cf-conductor-error{0%,100%{transform:translateX(0)}25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}
.cf-conductor.is-asleep .crown{transform:translateY(7px);opacity:.35}
.cf-conductor.is-asleep .tri{animation:none;transform:translate(0,0)}
.cf-conductor.is-asleep .awake,.cf-conductor.is-asleep .error-face{display:none}
.cf-conductor.is-asleep .rest{display:inline}
@media(prefers-reduced-motion:reduce){.cf-conductor .tri{animation:none!important}}

/* avatars/muse.svg */
.cf-muse{--cf-b:var(--cf-body,#F5F0EA);--cf-f:var(--cf-face,#0B0B0C);--cf-c:var(--cf-crown,#D34513);--cf-h:var(--cf-crown-hot,#FF6A2A)}
.cf-muse .shell{fill:var(--cf-b);stroke:var(--cf-c);stroke-width:4;stroke-linejoin:round}
.cf-muse .face{fill:var(--cf-f)}
.cf-muse .line{fill:none;stroke:var(--cf-f);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.cf-muse .tri,.cf-muse .accessory{fill:var(--cf-c)}
.cf-muse .t2{fill:var(--cf-h)}
.cf-muse .rest,.cf-muse .error-face{display:none}
.cf-muse .crown{transform-box:view-box;transform-origin:64px 30px}
.cf-muse .tri{transform-box:view-box}
.cf-muse .tri{--cf-s:0;transform:translate(0,0)}
.cf-muse .t1{--cf-s:-1}.cf-muse .t3{--cf-s:1}
.cf-muse:not(.is-thinking):not(.is-working):not(.is-done):not(.is-error):not(.is-asleep) .tri{animation:cf-muse-idle 6.85s ease-in-out infinite}
.cf-muse .t2{animation-delay:-.35s}.cf-muse .t3{animation-delay:-.7s}
@keyframes cf-muse-idle{0%,72%,100%{transform:translateY(0)}86%{transform:translateY(-1px)}}
.cf-muse.is-thinking .tri{animation:cf-muse-think 3.1s ease-in-out infinite}
.cf-muse.is-thinking .t2{transform:translateY(-4px);fill:var(--cf-h)}
.cf-muse.is-thinking .t1{animation-delay:0s}.cf-muse.is-thinking .t2{animation-delay:0.18s}.cf-muse.is-thinking .t3{animation-delay:0.36s}
@keyframes cf-muse-think{0%,65%,100%{transform:translate(0,0)}28%{transform:rotate(calc(var(--cf-s)*13deg)) translateY(-2px);fill:var(--cf-h)}}
.cf-muse.is-working .tri{fill:var(--cf-h);transform:translateY(-2px) rotate(calc(var(--cf-s)*10deg));animation:cf-muse-work 1.12s ease-in-out infinite}
.cf-muse.is-working .t1{animation-delay:0s}.cf-muse.is-working .t2{animation-delay:0.09s}.cf-muse.is-working .t3{animation-delay:0.18s}
@keyframes cf-muse-work{0%,70%,100%{transform:translateY(-2px)}32%{transform:rotate(calc(var(--cf-s)*-11deg)) translateY(-4px)}}
.cf-muse.is-done .tri{fill:var(--cf-h);transform:translateY(-2px);animation:cf-muse-done .72s cubic-bezier(.2,.7,.3,1) 1 both;animation-delay:0s}
@keyframes cf-muse-done{0%{transform:translateY(0)}45%{transform:translateY(-6px)}100%{transform:translateY(-2px)}}
.cf-muse.is-error .tri{fill:var(--cf-c);animation:cf-muse-error .48s ease-in-out 1;animation-delay:0s}
.cf-muse.is-error .t2{opacity:.4;transform:translateY(3px)}
.cf-muse.is-error .awake{display:none}.cf-muse.is-error .error-face{display:inline}
@keyframes cf-muse-error{0%,100%{transform:translateX(0)}25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}
.cf-muse.is-asleep .crown{transform:translateY(7px);opacity:.35}
.cf-muse.is-asleep .tri{animation:none;transform:translate(0,0)}
.cf-muse.is-asleep .awake,.cf-muse.is-asleep .error-face{display:none}
.cf-muse.is-asleep .rest{display:inline}
@media(prefers-reduced-motion:reduce){.cf-muse .tri{animation:none!important}}

/* avatars/listener.svg */
.cf-listener{--cf-b:var(--cf-body,#D34513);--cf-f:var(--cf-face,#F5F0EA);--cf-c:var(--cf-crown,#D34513);--cf-h:var(--cf-crown-hot,#FF6A2A)}
.cf-listener .shell{fill:var(--cf-b);stroke:var(--cf-b);stroke-width:4;stroke-linejoin:round}
.cf-listener .face{fill:var(--cf-f)}
.cf-listener .line{fill:none;stroke:var(--cf-f);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.cf-listener .tri,.cf-listener .accessory{fill:var(--cf-c)}
.cf-listener .t2{fill:var(--cf-h)}
.cf-listener .rest,.cf-listener .error-face{display:none}
.cf-listener .crown{transform-box:view-box;transform-origin:64px 30px}
.cf-listener .tri{transform-box:view-box}
.cf-listener .tri{--cf-s:0;transform:translate(0,0)}
.cf-listener .t1{--cf-s:-1}.cf-listener .t3{--cf-s:1}
.cf-listener:not(.is-thinking):not(.is-working):not(.is-done):not(.is-error):not(.is-asleep) .tri{animation:cf-listener-idle 7.30s ease-in-out infinite}
.cf-listener .t2{animation-delay:-.35s}.cf-listener .t3{animation-delay:-.7s}
@keyframes cf-listener-idle{0%,72%,100%{transform:translateY(0)}86%{transform:translateY(-1px)}}
.cf-listener.is-thinking .tri{animation:cf-listener-think 3.2s ease-in-out infinite}
.cf-listener.is-thinking .t2{transform:translateY(-4px);fill:var(--cf-h)}
.cf-listener.is-thinking .t1{animation-delay:0s}.cf-listener.is-thinking .t2{animation-delay:0.6s}.cf-listener.is-thinking .t3{animation-delay:0s}
@keyframes cf-listener-think{0%,65%,100%{transform:translate(0,0)}28%{transform:translateY(3px);fill:var(--cf-h)}}
.cf-listener.is-working .tri{fill:var(--cf-h);transform:translateY(-2px) rotate(calc(var(--cf-s)*10deg));animation:cf-listener-work 1.18s ease-in-out infinite}
.cf-listener.is-working .t1{animation-delay:0s}.cf-listener.is-working .t2{animation-delay:0.16s}.cf-listener.is-working .t3{animation-delay:0s}
@keyframes cf-listener-work{0%,70%,100%{transform:translateY(-2px)}32%{transform:translateY(-4px)}}
.cf-listener.is-done .tri{fill:var(--cf-h);transform:translateY(-2px);animation:cf-listener-done .72s cubic-bezier(.2,.7,.3,1) 1 both;animation-delay:0s}
@keyframes cf-listener-done{0%{transform:translateY(0)}45%{transform:translateY(-6px)}100%{transform:translateY(-2px)}}
.cf-listener.is-error .tri{fill:var(--cf-c);animation:cf-listener-error .48s ease-in-out 1;animation-delay:0s}
.cf-listener.is-error .t2{opacity:.4;transform:translateY(3px)}
.cf-listener.is-error .awake{display:none}.cf-listener.is-error .error-face{display:inline}
@keyframes cf-listener-error{0%,100%{transform:translateX(0)}25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}
.cf-listener.is-asleep .crown{transform:translateY(7px);opacity:.35}
.cf-listener.is-asleep .tri{animation:none;transform:translate(0,0)}
.cf-listener.is-asleep .awake,.cf-listener.is-asleep .error-face{display:none}
.cf-listener.is-asleep .rest{display:inline}
@media(prefers-reduced-motion:reduce){.cf-listener .tri{animation:none!important}}

/* avatars/watch.svg */
.cf-watch{--cf-b:var(--cf-body,#0B0B0C);--cf-f:var(--cf-face,#F5F0EA);--cf-c:var(--cf-crown,#D34513);--cf-h:var(--cf-crown-hot,#FF6A2A)}
.cf-watch .shell{fill:var(--cf-b);stroke:var(--cf-c);stroke-width:4;stroke-linejoin:round}
.cf-watch .face{fill:var(--cf-f)}
.cf-watch .line{fill:none;stroke:var(--cf-f);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.cf-watch .tri,.cf-watch .accessory{fill:var(--cf-c)}
.cf-watch .t2{fill:var(--cf-h)}
.cf-watch .rest,.cf-watch .error-face{display:none}
.cf-watch .crown{transform-box:view-box;transform-origin:64px 30px}
.cf-watch .tri{transform-box:view-box}
.cf-watch .tri{--cf-s:0;transform:translate(0,0)}
.cf-watch .t1{--cf-s:-1}.cf-watch .t3{--cf-s:1}
.cf-watch:not(.is-thinking):not(.is-working):not(.is-done):not(.is-error):not(.is-asleep) .tri{animation:cf-watch-idle 7.75s ease-in-out infinite}
.cf-watch .t2{animation-delay:-.35s}.cf-watch .t3{animation-delay:-.7s}
@keyframes cf-watch-idle{0%,72%,100%{transform:translateY(0)}86%{transform:translateY(-1px)}}
.cf-watch.is-thinking .tri{animation:cf-watch-think 2.8s ease-in-out infinite}
.cf-watch.is-thinking .t2{transform:translateY(-4px);fill:var(--cf-h)}
.cf-watch.is-thinking .t1{animation-delay:0s}.cf-watch.is-thinking .t2{animation-delay:0.3s}.cf-watch.is-thinking .t3{animation-delay:0.6s}
@keyframes cf-watch-think{0%,65%,100%{transform:translate(0,0)}28%{transform:translateX(3px);fill:var(--cf-h)}}
.cf-watch.is-working .tri{fill:var(--cf-h);transform:translateY(-2px) rotate(calc(var(--cf-s)*10deg));animation:cf-watch-work 0.88s ease-in-out infinite}
.cf-watch.is-working .t1{animation-delay:0s}.cf-watch.is-working .t2{animation-delay:0.11s}.cf-watch.is-working .t3{animation-delay:0.22s}
@keyframes cf-watch-work{0%,70%,100%{transform:translateY(-2px)}32%{transform:translateX(-3px) translateY(-2px)}}
.cf-watch.is-done .tri{fill:var(--cf-h);transform:translateY(-2px);animation:cf-watch-done .72s cubic-bezier(.2,.7,.3,1) 1 both;animation-delay:0s}
@keyframes cf-watch-done{0%{transform:translateY(0)}45%{transform:translateY(-6px)}100%{transform:translateY(-2px)}}
.cf-watch.is-error .tri{fill:var(--cf-c);animation:cf-watch-error .48s ease-in-out 1;animation-delay:0s}
.cf-watch.is-error .t2{opacity:.4;transform:translateY(3px)}
.cf-watch.is-error .awake{display:none}.cf-watch.is-error .error-face{display:inline}
@keyframes cf-watch-error{0%,100%{transform:translateX(0)}25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}
.cf-watch.is-asleep .crown{transform:translateY(7px);opacity:.35}
.cf-watch.is-asleep .tri{animation:none;transform:translate(0,0)}
.cf-watch.is-asleep .awake,.cf-watch.is-asleep .error-face{display:none}
.cf-watch.is-asleep .rest{display:inline}
@media(prefers-reduced-motion:reduce){.cf-watch .tri{animation:none!important}}

/* avatars/maker.svg */
.cf-maker{--cf-b:var(--cf-body,#D34513);--cf-f:var(--cf-face,#F5F0EA);--cf-c:var(--cf-crown,#D34513);--cf-h:var(--cf-crown-hot,#FF6A2A)}
.cf-maker .shell{fill:var(--cf-b);stroke:var(--cf-b);stroke-width:4;stroke-linejoin:round}
.cf-maker .face{fill:var(--cf-f)}
.cf-maker .line{fill:none;stroke:var(--cf-f);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.cf-maker .tri,.cf-maker .accessory{fill:var(--cf-c)}
.cf-maker .t2{fill:var(--cf-h)}
.cf-maker .rest,.cf-maker .error-face{display:none}
.cf-maker .crown{transform-box:view-box;transform-origin:64px 30px}
.cf-maker .tri{transform-box:view-box}
.cf-maker .tri{--cf-s:0;transform:translate(0,0)}
.cf-maker .t1{--cf-s:-1}.cf-maker .t3{--cf-s:1}
.cf-maker:not(.is-thinking):not(.is-working):not(.is-done):not(.is-error):not(.is-asleep) .tri{animation:cf-maker-idle 8.20s ease-in-out infinite}
.cf-maker .t2{animation-delay:-.35s}.cf-maker .t3{animation-delay:-.7s}
@keyframes cf-maker-idle{0%,72%,100%{transform:translateY(0)}86%{transform:translateY(-1px)}}
.cf-maker.is-thinking .tri{animation:cf-maker-think 2.4s ease-in-out infinite}
.cf-maker.is-thinking .t2{transform:translateY(-4px);fill:var(--cf-h)}
.cf-maker.is-thinking .t1{animation-delay:0s}.cf-maker.is-thinking .t2{animation-delay:0.65s}.cf-maker.is-thinking .t3{animation-delay:1.3s}
@keyframes cf-maker-think{0%,65%,100%{transform:translate(0,0)}28%{transform:translateY(-4px);fill:var(--cf-h)}}
.cf-maker.is-working .tri{fill:var(--cf-h);transform:translateY(-2px) rotate(calc(var(--cf-s)*10deg));animation:cf-maker-work 0.96s ease-in-out infinite}
.cf-maker.is-working .t1{animation-delay:0s}.cf-maker.is-working .t2{animation-delay:0.24s}.cf-maker.is-working .t3{animation-delay:0.48s}
@keyframes cf-maker-work{0%,65%,100%{transform:translateY(-2px)}18%,42%{transform:translateY(-5px)}30%{transform:translateY(-1px)}}
.cf-maker.is-done .tri{fill:var(--cf-h);transform:translateY(-2px);animation:cf-maker-done .72s cubic-bezier(.2,.7,.3,1) 1 both;animation-delay:0s}
@keyframes cf-maker-done{0%{transform:translateY(0)}45%{transform:translateY(-6px)}100%{transform:translateY(-2px)}}
.cf-maker.is-error .tri{fill:var(--cf-c);animation:cf-maker-error .48s ease-in-out 1;animation-delay:0s}
.cf-maker.is-error .t2{opacity:.4;transform:translateY(3px)}
.cf-maker.is-error .awake{display:none}.cf-maker.is-error .error-face{display:inline}
@keyframes cf-maker-error{0%,100%{transform:translateX(0)}25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}
.cf-maker.is-asleep .crown{transform:translateY(7px);opacity:.35}
.cf-maker.is-asleep .tri{animation:none;transform:translate(0,0)}
.cf-maker.is-asleep .awake,.cf-maker.is-asleep .error-face{display:none}
.cf-maker.is-asleep .rest{display:inline}
@media(prefers-reduced-motion:reduce){.cf-maker .tri{animation:none!important}}

/* avatars/calm.svg */
.cf-calm{--cf-b:var(--cf-body,#F5F0EA);--cf-f:var(--cf-face,#0B0B0C);--cf-c:var(--cf-crown,#D34513);--cf-h:var(--cf-crown-hot,#FF6A2A)}
.cf-calm .shell{fill:var(--cf-b);stroke:var(--cf-c);stroke-width:4;stroke-linejoin:round}
.cf-calm .face{fill:var(--cf-f)}
.cf-calm .line{fill:none;stroke:var(--cf-f);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.cf-calm .tri,.cf-calm .accessory{fill:var(--cf-c)}
.cf-calm .t2{fill:var(--cf-h)}
.cf-calm .rest,.cf-calm .error-face{display:none}
.cf-calm .crown{transform-box:view-box;transform-origin:64px 30px}
.cf-calm .tri{transform-box:view-box}
.cf-calm .tri{--cf-s:0;transform:translate(0,0)}
.cf-calm .t1{--cf-s:-1}.cf-calm .t3{--cf-s:1}
.cf-calm:not(.is-thinking):not(.is-working):not(.is-done):not(.is-error):not(.is-asleep) .tri{animation:cf-calm-idle 6.40s ease-in-out infinite}
.cf-calm .t2{animation-delay:-.35s}.cf-calm .t3{animation-delay:-.7s}
@keyframes cf-calm-idle{0%,72%,100%{transform:translateY(0)}86%{transform:translateY(-1px)}}
.cf-calm.is-thinking .tri{animation:cf-calm-think 3.6s ease-in-out infinite}
.cf-calm.is-thinking .t2{transform:translateY(-4px);fill:var(--cf-h)}
.cf-calm.is-thinking .t1{animation-delay:0s}.cf-calm.is-thinking .t2{animation-delay:0s}.cf-calm.is-thinking .t3{animation-delay:0s}
@keyframes cf-calm-think{0%,65%,100%{transform:translate(0,0)}28%{transform:translateY(-3px) scale(1.06);fill:var(--cf-h)}}
.cf-calm.is-working .tri{fill:var(--cf-h);transform:translateY(-2px) rotate(calc(var(--cf-s)*10deg));animation:cf-calm-work 1.6s ease-in-out infinite}
.cf-calm.is-working .t1{animation-delay:0s}.cf-calm.is-working .t2{animation-delay:0.15s}.cf-calm.is-working .t3{animation-delay:0.3s}
@keyframes cf-calm-work{0%,70%,100%{transform:translateY(-2px)}32%{transform:translateY(-4px) scale(1.1)}}
.cf-calm.is-done .tri{fill:var(--cf-h);transform:translateY(-2px);animation:cf-calm-done .72s cubic-bezier(.2,.7,.3,1) 1 both;animation-delay:0s}
@keyframes cf-calm-done{0%{transform:translateY(0)}45%{transform:translateY(-6px)}100%{transform:translateY(-2px)}}
.cf-calm.is-error .tri{fill:var(--cf-c);animation:cf-calm-error .48s ease-in-out 1;animation-delay:0s}
.cf-calm.is-error .t2{opacity:.4;transform:translateY(3px)}
.cf-calm.is-error .awake{display:none}.cf-calm.is-error .error-face{display:inline}
@keyframes cf-calm-error{0%,100%{transform:translateX(0)}25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}
.cf-calm.is-asleep .crown{transform:translateY(7px);opacity:.35}
.cf-calm.is-asleep .tri{animation:none;transform:translate(0,0)}
.cf-calm.is-asleep .awake,.cf-calm.is-asleep .error-face{display:none}
.cf-calm.is-asleep .rest{display:inline}
@media(prefers-reduced-motion:reduce){.cf-calm .tri{animation:none!important}}

/* avatars/scout.svg */
.cf-scout{--cf-b:var(--cf-body,#D34513);--cf-f:var(--cf-face,#F5F0EA);--cf-c:var(--cf-crown,#D34513);--cf-h:var(--cf-crown-hot,#FF6A2A)}
.cf-scout .shell{fill:var(--cf-b);stroke:var(--cf-b);stroke-width:4;stroke-linejoin:round}
.cf-scout .face{fill:var(--cf-f)}
.cf-scout .line{fill:none;stroke:var(--cf-f);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.cf-scout .tri,.cf-scout .accessory{fill:var(--cf-c)}
.cf-scout .t2{fill:var(--cf-h)}
.cf-scout .rest,.cf-scout .error-face{display:none}
.cf-scout .crown{transform-box:view-box;transform-origin:64px 30px}
.cf-scout .tri{transform-box:view-box}
.cf-scout .tri{--cf-s:0;transform:translate(0,0)}
.cf-scout .t1{--cf-s:-1}.cf-scout .t3{--cf-s:1}
.cf-scout:not(.is-thinking):not(.is-working):not(.is-done):not(.is-error):not(.is-asleep) .tri{animation:cf-scout-idle 6.85s ease-in-out infinite}
.cf-scout .t2{animation-delay:-.35s}.cf-scout .t3{animation-delay:-.7s}
@keyframes cf-scout-idle{0%,72%,100%{transform:translateY(0)}86%{transform:translateY(-1px)}}
.cf-scout.is-thinking .tri{animation:cf-scout-think 2.9s ease-in-out infinite}
.cf-scout.is-thinking .t2{transform:translateY(-4px);fill:var(--cf-h)}
.cf-scout.is-thinking .t1{animation-delay:0s}.cf-scout.is-thinking .t2{animation-delay:0.35s}.cf-scout.is-thinking .t3{animation-delay:0.7s}
@keyframes cf-scout-think{0%,72%,100%{transform:translate(0,0)}24%{transform:translate(2px,-4px) rotate(9deg);fill:var(--cf-h)}48%{transform:translate(-2px,-1px)}}
.cf-scout.is-working .tri{fill:var(--cf-h);transform:translateY(-2px) rotate(calc(var(--cf-s)*10deg));animation:cf-scout-work 1.06s ease-in-out infinite}
.cf-scout.is-working .t1{animation-delay:0s}.cf-scout.is-working .t2{animation-delay:0.14s}.cf-scout.is-working .t3{animation-delay:0.28s}
@keyframes cf-scout-work{0%,70%,100%{transform:translateY(-2px)}32%{transform:translate(3px,-3px) rotate(-8deg)}}
.cf-scout.is-done .tri{fill:var(--cf-h);transform:translateY(-2px);animation:cf-scout-done .72s cubic-bezier(.2,.7,.3,1) 1 both;animation-delay:0s}
@keyframes cf-scout-done{0%{transform:translateY(0)}45%{transform:translateY(-6px)}100%{transform:translateY(-2px)}}
.cf-scout.is-error .tri{fill:var(--cf-c);animation:cf-scout-error .48s ease-in-out 1;animation-delay:0s}
.cf-scout.is-error .t2{opacity:.4;transform:translateY(3px)}
.cf-scout.is-error .awake{display:none}.cf-scout.is-error .error-face{display:inline}
@keyframes cf-scout-error{0%,100%{transform:translateX(0)}25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}
.cf-scout.is-asleep .crown{transform:translateY(7px);opacity:.35}
.cf-scout.is-asleep .tri{animation:none;transform:translate(0,0)}
.cf-scout.is-asleep .awake,.cf-scout.is-asleep .error-face{display:none}
.cf-scout.is-asleep .rest{display:inline}
@media(prefers-reduced-motion:reduce){.cf-scout .tri{animation:none!important}}

/* avatars/query.svg */
.cf-query{--cf-b:var(--cf-body,#D34513);--cf-f:var(--cf-face,#F5F0EA);--cf-c:var(--cf-crown,#D34513);--cf-h:var(--cf-crown-hot,#FF6A2A)}
.cf-query .shell{fill:var(--cf-b);stroke:var(--cf-b);stroke-width:4;stroke-linejoin:round}
.cf-query .face{fill:var(--cf-f)}
.cf-query .line{fill:none;stroke:var(--cf-f);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.cf-query .tri,.cf-query .accessory{fill:var(--cf-c)}
.cf-query .t2{fill:var(--cf-h)}
.cf-query .rest,.cf-query .error-face{display:none}
.cf-query .crown{transform-box:view-box;transform-origin:64px 30px}
.cf-query .tri{transform-box:view-box}
.cf-query .tri{--cf-s:0;transform:translate(0,0)}
.cf-query .t1{--cf-s:-1}.cf-query .t3{--cf-s:1}
.cf-query:not(.is-thinking):not(.is-working):not(.is-done):not(.is-error):not(.is-asleep) .tri{animation:cf-query-idle 7.30s ease-in-out infinite}
.cf-query .t2{animation-delay:-.35s}.cf-query .t3{animation-delay:-.7s}
@keyframes cf-query-idle{0%,72%,100%{transform:translateY(0)}86%{transform:translateY(-1px)}}
.cf-query.is-thinking .tri{animation:cf-query-think 3s ease-in-out infinite}
.cf-query.is-thinking .t2{transform:translateY(-4px);fill:var(--cf-h)}
.cf-query.is-thinking .t1{animation-delay:0s}.cf-query.is-thinking .t2{animation-delay:0.4s}.cf-query.is-thinking .t3{animation-delay:0.8s}
@keyframes cf-query-think{0%,65%,100%{transform:translate(0,0)}28%{transform:rotate(-14deg) translateY(-2px);fill:var(--cf-h)}}
.cf-query.is-working .tri{fill:var(--cf-h);transform:translateY(-2px) rotate(calc(var(--cf-s)*10deg));animation:cf-query-work 1.05s ease-in-out infinite}
.cf-query.is-working .t1{animation-delay:0s}.cf-query.is-working .t2{animation-delay:0.16s}.cf-query.is-working .t3{animation-delay:0.32s}
@keyframes cf-query-work{0%,70%,100%{transform:translateY(-2px)}32%{transform:rotate(11deg) translateY(-4px)}}
.cf-query.is-done .tri{fill:var(--cf-h);transform:translateY(-2px);animation:cf-query-done .72s cubic-bezier(.2,.7,.3,1) 1 both;animation-delay:0s}
@keyframes cf-query-done{0%{transform:translateY(0)}45%{transform:translateY(-6px)}100%{transform:translateY(-2px)}}
.cf-query.is-error .tri{fill:var(--cf-c);animation:cf-query-error .48s ease-in-out 1;animation-delay:0s}
.cf-query.is-error .t2{opacity:.4;transform:translateY(3px)}
.cf-query.is-error .awake{display:none}.cf-query.is-error .error-face{display:inline}
@keyframes cf-query-error{0%,100%{transform:translateX(0)}25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}
.cf-query.is-asleep .crown{transform:translateY(7px);opacity:.35}
.cf-query.is-asleep .tri{animation:none;transform:translate(0,0)}
.cf-query.is-asleep .awake,.cf-query.is-asleep .error-face{display:none}
.cf-query.is-asleep .rest{display:inline}
@media(prefers-reduced-motion:reduce){.cf-query .tri{animation:none!important}}

/* avatars/anchor.svg */
.cf-anchor{--cf-b:var(--cf-body,#0B0B0C);--cf-f:var(--cf-face,#F5F0EA);--cf-c:var(--cf-crown,#D34513);--cf-h:var(--cf-crown-hot,#FF6A2A)}
.cf-anchor .shell{fill:var(--cf-b);stroke:var(--cf-c);stroke-width:4;stroke-linejoin:round}
.cf-anchor .face{fill:var(--cf-f)}
.cf-anchor .line{fill:none;stroke:var(--cf-f);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.cf-anchor .tri,.cf-anchor .accessory{fill:var(--cf-c)}
.cf-anchor .t2{fill:var(--cf-h)}
.cf-anchor .rest,.cf-anchor .error-face{display:none}
.cf-anchor .crown{transform-box:view-box;transform-origin:64px 30px}
.cf-anchor .tri{transform-box:view-box}
.cf-anchor .tri{--cf-s:0;transform:translate(0,0)}
.cf-anchor .t1{--cf-s:-1}.cf-anchor .t3{--cf-s:1}
.cf-anchor:not(.is-thinking):not(.is-working):not(.is-done):not(.is-error):not(.is-asleep) .tri{animation:cf-anchor-idle 7.75s ease-in-out infinite}
.cf-anchor .t2{animation-delay:-.35s}.cf-anchor .t3{animation-delay:-.7s}
@keyframes cf-anchor-idle{0%,72%,100%{transform:translateY(0)}86%{transform:translateY(-1px)}}
.cf-anchor.is-thinking .tri{animation:cf-anchor-think 3.4s ease-in-out infinite}
.cf-anchor.is-thinking .t2{transform:translateY(-4px);fill:var(--cf-h)}
.cf-anchor.is-thinking .t1{animation-delay:0.6s}.cf-anchor.is-thinking .t2{animation-delay:0s}.cf-anchor.is-thinking .t3{animation-delay:0.6s}
@keyframes cf-anchor-think{0%,65%,100%{transform:translate(0,0)}28%{transform:translateY(-3px);fill:var(--cf-h)}}
.cf-anchor.is-working .tri{fill:var(--cf-h);transform:translateY(-2px) rotate(calc(var(--cf-s)*10deg));animation:cf-anchor-work 1.22s ease-in-out infinite}
.cf-anchor.is-working .t1{animation-delay:0.2s}.cf-anchor.is-working .t2{animation-delay:0s}.cf-anchor.is-working .t3{animation-delay:0.2s}
@keyframes cf-anchor-work{0%,70%,100%{transform:translateY(-2px)}32%{transform:translateY(-4px)}}
.cf-anchor.is-done .tri{fill:var(--cf-h);transform:translateY(-2px);animation:cf-anchor-done .72s cubic-bezier(.2,.7,.3,1) 1 both;animation-delay:0s}
@keyframes cf-anchor-done{0%{transform:translateY(0)}45%{transform:translateY(-6px)}100%{transform:translateY(-2px)}}
.cf-anchor.is-error .tri{fill:var(--cf-c);animation:cf-anchor-error .48s ease-in-out 1;animation-delay:0s}
.cf-anchor.is-error .t2{opacity:.4;transform:translateY(3px)}
.cf-anchor.is-error .awake{display:none}.cf-anchor.is-error .error-face{display:inline}
@keyframes cf-anchor-error{0%,100%{transform:translateX(0)}25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}
.cf-anchor.is-asleep .crown{transform:translateY(7px);opacity:.35}
.cf-anchor.is-asleep .tri{animation:none;transform:translate(0,0)}
.cf-anchor.is-asleep .awake,.cf-anchor.is-asleep .error-face{display:none}
.cf-anchor.is-asleep .rest{display:inline}
@media(prefers-reduced-motion:reduce){.cf-anchor .tri{animation:none!important}}

/* avatars/spark.svg */
.cf-spark{--cf-b:var(--cf-body,#D34513);--cf-f:var(--cf-face,#F5F0EA);--cf-c:var(--cf-crown,#D34513);--cf-h:var(--cf-crown-hot,#FF6A2A)}
.cf-spark .shell{fill:var(--cf-b);stroke:var(--cf-b);stroke-width:4;stroke-linejoin:round}
.cf-spark .face{fill:var(--cf-f)}
.cf-spark .line{fill:none;stroke:var(--cf-f);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.cf-spark .tri,.cf-spark .accessory{fill:var(--cf-c)}
.cf-spark .t2{fill:var(--cf-h)}
.cf-spark .rest,.cf-spark .error-face{display:none}
.cf-spark .crown{transform-box:view-box;transform-origin:64px 30px}
.cf-spark .tri{transform-box:view-box}
.cf-spark .tri{--cf-s:0;transform:translate(0,0)}
.cf-spark .t1{--cf-s:-1}.cf-spark .t3{--cf-s:1}
.cf-spark:not(.is-thinking):not(.is-working):not(.is-done):not(.is-error):not(.is-asleep) .tri{animation:cf-spark-idle 8.20s ease-in-out infinite}
.cf-spark .t2{animation-delay:-.35s}.cf-spark .t3{animation-delay:-.7s}
@keyframes cf-spark-idle{0%,72%,100%{transform:translateY(0)}86%{transform:translateY(-1px)}}
.cf-spark.is-thinking .tri{animation:cf-spark-think 2.6s ease-in-out infinite}
.cf-spark.is-thinking .t2{transform:translateY(-4px);fill:var(--cf-h)}
.cf-spark.is-thinking .t1{animation-delay:0s}.cf-spark.is-thinking .t2{animation-delay:0.18s}.cf-spark.is-thinking .t3{animation-delay:0.65s}
@keyframes cf-spark-think{0%,65%,100%{transform:translate(0,0)}28%{transform:rotate(14deg) translateY(-3px);fill:var(--cf-h)}}
.cf-spark.is-working .tri{fill:var(--cf-h);transform:translateY(-2px) rotate(calc(var(--cf-s)*10deg));animation:cf-spark-work 0.8s ease-in-out infinite}
.cf-spark.is-working .t1{animation-delay:0s}.cf-spark.is-working .t2{animation-delay:0.09s}.cf-spark.is-working .t3{animation-delay:0.32s}
@keyframes cf-spark-work{0%,70%,100%{transform:translateY(-2px)}32%{transform:translate(2px,-5px) rotate(-10deg)}}
.cf-spark.is-done .tri{fill:var(--cf-h);transform:translateY(-2px);animation:cf-spark-done .72s cubic-bezier(.2,.7,.3,1) 1 both;animation-delay:0s}
@keyframes cf-spark-done{0%{transform:translateY(0)}45%{transform:translateY(-6px)}100%{transform:translateY(-2px)}}
.cf-spark.is-error .tri{fill:var(--cf-c);animation:cf-spark-error .48s ease-in-out 1;animation-delay:0s}
.cf-spark.is-error .t2{opacity:.4;transform:translateY(3px)}
.cf-spark.is-error .awake{display:none}.cf-spark.is-error .error-face{display:inline}
@keyframes cf-spark-error{0%,100%{transform:translateX(0)}25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}
.cf-spark.is-asleep .crown{transform:translateY(7px);opacity:.35}
.cf-spark.is-asleep .tri{animation:none;transform:translate(0,0)}
.cf-spark.is-asleep .awake,.cf-spark.is-asleep .error-face{display:none}
.cf-spark.is-asleep .rest{display:inline}
@media(prefers-reduced-motion:reduce){.cf-spark .tri{animation:none!important}}

/* avatars/scribe.svg */
.cf-scribe{--cf-b:var(--cf-body,#F5F0EA);--cf-f:var(--cf-face,#0B0B0C);--cf-c:var(--cf-crown,#D34513);--cf-h:var(--cf-crown-hot,#FF6A2A)}
.cf-scribe .shell{fill:var(--cf-b);stroke:var(--cf-c);stroke-width:4;stroke-linejoin:round}
.cf-scribe .face{fill:var(--cf-f)}
.cf-scribe .line{fill:none;stroke:var(--cf-f);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.cf-scribe .tri,.cf-scribe .accessory{fill:var(--cf-c)}
.cf-scribe .t2{fill:var(--cf-h)}
.cf-scribe .rest,.cf-scribe .error-face{display:none}
.cf-scribe .crown{transform-box:view-box;transform-origin:64px 30px}
.cf-scribe .tri{transform-box:view-box}
.cf-scribe .tri{--cf-s:0;transform:translate(0,0)}
.cf-scribe .t1{--cf-s:-1}.cf-scribe .t3{--cf-s:1}
.cf-scribe:not(.is-thinking):not(.is-working):not(.is-done):not(.is-error):not(.is-asleep) .tri{animation:cf-scribe-idle 6.40s ease-in-out infinite}
.cf-scribe .t2{animation-delay:-.35s}.cf-scribe .t3{animation-delay:-.7s}
@keyframes cf-scribe-idle{0%,72%,100%{transform:translateY(0)}86%{transform:translateY(-1px)}}
.cf-scribe.is-thinking .tri{animation:cf-scribe-think 3.1s ease-in-out infinite}
.cf-scribe.is-thinking .t2{transform:translateY(-4px);fill:var(--cf-h)}
.cf-scribe.is-thinking .t1{animation-delay:0s}.cf-scribe.is-thinking .t2{animation-delay:0.32s}.cf-scribe.is-thinking .t3{animation-delay:0.64s}
@keyframes cf-scribe-think{0%,65%,100%{transform:translate(0,0)}28%{transform:translate(3px,-2px);fill:var(--cf-h)}}
.cf-scribe.is-working .tri{fill:var(--cf-h);transform:translateY(-2px) rotate(calc(var(--cf-s)*10deg));animation:cf-scribe-work 1.1s ease-in-out infinite}
.cf-scribe.is-working .t1{animation-delay:0s}.cf-scribe.is-working .t2{animation-delay:0.18s}.cf-scribe.is-working .t3{animation-delay:0.36s}
@keyframes cf-scribe-work{0%,70%,100%{transform:translateY(-2px)}32%{transform:translate(3px,-3px) rotate(7deg)}}
.cf-scribe.is-done .tri{fill:var(--cf-h);transform:translateY(-2px);animation:cf-scribe-done .72s cubic-bezier(.2,.7,.3,1) 1 both;animation-delay:0s}
@keyframes cf-scribe-done{0%{transform:translateY(0)}45%{transform:translateY(-6px)}100%{transform:translateY(-2px)}}
.cf-scribe.is-error .tri{fill:var(--cf-c);animation:cf-scribe-error .48s ease-in-out 1;animation-delay:0s}
.cf-scribe.is-error .t2{opacity:.4;transform:translateY(3px)}
.cf-scribe.is-error .awake{display:none}.cf-scribe.is-error .error-face{display:inline}
@keyframes cf-scribe-error{0%,100%{transform:translateX(0)}25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}
.cf-scribe.is-asleep .crown{transform:translateY(7px);opacity:.35}
.cf-scribe.is-asleep .tri{animation:none;transform:translate(0,0)}
.cf-scribe.is-asleep .awake,.cf-scribe.is-asleep .error-face{display:none}
.cf-scribe.is-asleep .rest{display:inline}
@media(prefers-reduced-motion:reduce){.cf-scribe .tri{animation:none!important}}

/* avatars/weaver.svg */
.cf-weaver{--cf-b:var(--cf-body,#D34513);--cf-f:var(--cf-face,#F5F0EA);--cf-c:var(--cf-crown,#D34513);--cf-h:var(--cf-crown-hot,#FF6A2A)}
.cf-weaver .shell{fill:var(--cf-b);stroke:var(--cf-b);stroke-width:4;stroke-linejoin:round}
.cf-weaver .face{fill:var(--cf-f)}
.cf-weaver .line{fill:none;stroke:var(--cf-f);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.cf-weaver .tri,.cf-weaver .accessory{fill:var(--cf-c)}
.cf-weaver .t2{fill:var(--cf-h)}
.cf-weaver .rest,.cf-weaver .error-face{display:none}
.cf-weaver .crown{transform-box:view-box;transform-origin:64px 30px}
.cf-weaver .tri{transform-box:view-box}
.cf-weaver .tri{--cf-s:0;transform:translate(0,0)}
.cf-weaver .t1{--cf-s:-1}.cf-weaver .t3{--cf-s:1}
.cf-weaver:not(.is-thinking):not(.is-working):not(.is-done):not(.is-error):not(.is-asleep) .tri{animation:cf-weaver-idle 6.85s ease-in-out infinite}
.cf-weaver .t2{animation-delay:-.35s}.cf-weaver .t3{animation-delay:-.7s}
@keyframes cf-weaver-idle{0%,72%,100%{transform:translateY(0)}86%{transform:translateY(-1px)}}
.cf-weaver.is-thinking .tri{animation:cf-weaver-think 3s ease-in-out infinite}
.cf-weaver.is-thinking .t2{transform:translateY(-4px);fill:var(--cf-h)}
.cf-weaver.is-thinking .t1{animation-delay:0s}.cf-weaver.is-thinking .t2{animation-delay:0.4s}.cf-weaver.is-thinking .t3{animation-delay:0.8s}
@keyframes cf-weaver-think{0%,65%,100%{transform:translate(0,0)}28%{transform:translateX(calc(var(--cf-s)*-3px)) translateY(-3px);fill:var(--cf-h)}}
.cf-weaver.is-working .tri{fill:var(--cf-h);transform:translateY(-2px) rotate(calc(var(--cf-s)*10deg));animation:cf-weaver-work 1.08s ease-in-out infinite}
.cf-weaver.is-working .t1{animation-delay:0s}.cf-weaver.is-working .t2{animation-delay:0.18s}.cf-weaver.is-working .t3{animation-delay:0.36s}
@keyframes cf-weaver-work{0%,70%,100%{transform:translateY(-2px)}32%{transform:translateX(calc(var(--cf-s)*3px)) translateY(-4px)}}
.cf-weaver.is-done .tri{fill:var(--cf-h);transform:translateY(-2px);animation:cf-weaver-done .72s cubic-bezier(.2,.7,.3,1) 1 both;animation-delay:0s}
@keyframes cf-weaver-done{0%{transform:translateY(0)}45%{transform:translateY(-6px)}100%{transform:translateY(-2px)}}
.cf-weaver.is-error .tri{fill:var(--cf-c);animation:cf-weaver-error .48s ease-in-out 1;animation-delay:0s}
.cf-weaver.is-error .t2{opacity:.4;transform:translateY(3px)}
.cf-weaver.is-error .awake{display:none}.cf-weaver.is-error .error-face{display:inline}
@keyframes cf-weaver-error{0%,100%{transform:translateX(0)}25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}
.cf-weaver.is-asleep .crown{transform:translateY(7px);opacity:.35}
.cf-weaver.is-asleep .tri{animation:none;transform:translate(0,0)}
.cf-weaver.is-asleep .awake,.cf-weaver.is-asleep .error-face{display:none}
.cf-weaver.is-asleep .rest{display:inline}
@media(prefers-reduced-motion:reduce){.cf-weaver .tri{animation:none!important}}

/* avatars/keeper.svg */
.cf-keeper{--cf-b:var(--cf-body,#0B0B0C);--cf-f:var(--cf-face,#F5F0EA);--cf-c:var(--cf-crown,#D34513);--cf-h:var(--cf-crown-hot,#FF6A2A)}
.cf-keeper .shell{fill:var(--cf-b);stroke:var(--cf-c);stroke-width:4;stroke-linejoin:round}
.cf-keeper .face{fill:var(--cf-f)}
.cf-keeper .line{fill:none;stroke:var(--cf-f);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.cf-keeper .tri,.cf-keeper .accessory{fill:var(--cf-c)}
.cf-keeper .t2{fill:var(--cf-h)}
.cf-keeper .rest,.cf-keeper .error-face{display:none}
.cf-keeper .crown{transform-box:view-box;transform-origin:64px 30px}
.cf-keeper .tri{transform-box:view-box}
.cf-keeper .tri{--cf-s:0;transform:translate(0,0)}
.cf-keeper .t1{--cf-s:-1}.cf-keeper .t3{--cf-s:1}
.cf-keeper:not(.is-thinking):not(.is-working):not(.is-done):not(.is-error):not(.is-asleep) .tri{animation:cf-keeper-idle 7.30s ease-in-out infinite}
.cf-keeper .t2{animation-delay:-.35s}.cf-keeper .t3{animation-delay:-.7s}
@keyframes cf-keeper-idle{0%,72%,100%{transform:translateY(0)}86%{transform:translateY(-1px)}}
.cf-keeper.is-thinking .tri{animation:cf-keeper-think 3.2s ease-in-out infinite}
.cf-keeper.is-thinking .t2{transform:translateY(-4px);fill:var(--cf-h)}
.cf-keeper.is-thinking .t1{animation-delay:0.35s}.cf-keeper.is-thinking .t2{animation-delay:0s}.cf-keeper.is-thinking .t3{animation-delay:0.7s}
@keyframes cf-keeper-think{0%,65%,100%{transform:translate(0,0)}28%{transform:translateY(-5px) scale(.92);fill:var(--cf-h)}}
.cf-keeper.is-working .tri{fill:var(--cf-h);transform:translateY(-2px) rotate(calc(var(--cf-s)*10deg));animation:cf-keeper-work 1.2s ease-in-out infinite}
.cf-keeper.is-working .t1{animation-delay:0.2s}.cf-keeper.is-working .t2{animation-delay:0s}.cf-keeper.is-working .t3{animation-delay:0.4s}
@keyframes cf-keeper-work{0%,70%,100%{transform:translateY(-2px)}32%{transform:translateY(-4px) scale(1.08)}}
.cf-keeper.is-done .tri{fill:var(--cf-h);transform:translateY(-2px);animation:cf-keeper-done .72s cubic-bezier(.2,.7,.3,1) 1 both;animation-delay:0s}
@keyframes cf-keeper-done{0%{transform:translateY(0)}45%{transform:translateY(-6px)}100%{transform:translateY(-2px)}}
.cf-keeper.is-error .tri{fill:var(--cf-c);animation:cf-keeper-error .48s ease-in-out 1;animation-delay:0s}
.cf-keeper.is-error .t2{opacity:.4;transform:translateY(3px)}
.cf-keeper.is-error .awake{display:none}.cf-keeper.is-error .error-face{display:inline}
@keyframes cf-keeper-error{0%,100%{transform:translateX(0)}25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}
.cf-keeper.is-asleep .crown{transform:translateY(7px);opacity:.35}
.cf-keeper.is-asleep .tri{animation:none;transform:translate(0,0)}
.cf-keeper.is-asleep .awake,.cf-keeper.is-asleep .error-face{display:none}
.cf-keeper.is-asleep .rest{display:inline}
@media(prefers-reduced-motion:reduce){.cf-keeper .tri{animation:none!important}}

/* avatars/bridge.svg */
.cf-bridge{--cf-b:var(--cf-body,#D34513);--cf-f:var(--cf-face,#F5F0EA);--cf-c:var(--cf-crown,#D34513);--cf-h:var(--cf-crown-hot,#FF6A2A)}
.cf-bridge .shell{fill:var(--cf-b);stroke:var(--cf-b);stroke-width:4;stroke-linejoin:round}
.cf-bridge .face{fill:var(--cf-f)}
.cf-bridge .line{fill:none;stroke:var(--cf-f);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.cf-bridge .tri,.cf-bridge .accessory{fill:var(--cf-c)}
.cf-bridge .t2{fill:var(--cf-h)}
.cf-bridge .rest,.cf-bridge .error-face{display:none}
.cf-bridge .crown{transform-box:view-box;transform-origin:64px 30px}
.cf-bridge .tri{transform-box:view-box}
.cf-bridge .tri{--cf-s:0;transform:translate(0,0)}
.cf-bridge .t1{--cf-s:-1}.cf-bridge .t3{--cf-s:1}
.cf-bridge:not(.is-thinking):not(.is-working):not(.is-done):not(.is-error):not(.is-asleep) .tri{animation:cf-bridge-idle 7.75s ease-in-out infinite}
.cf-bridge .t2{animation-delay:-.35s}.cf-bridge .t3{animation-delay:-.7s}
@keyframes cf-bridge-idle{0%,72%,100%{transform:translateY(0)}86%{transform:translateY(-1px)}}
.cf-bridge.is-thinking .tri{animation:cf-bridge-think 2.8s ease-in-out infinite}
.cf-bridge.is-thinking .t2{transform:translateY(-4px);fill:var(--cf-h)}
.cf-bridge.is-thinking .t1{animation-delay:0s}.cf-bridge.is-thinking .t2{animation-delay:0.5s}.cf-bridge.is-thinking .t3{animation-delay:1s}
@keyframes cf-bridge-think{0%,65%,100%{transform:translate(0,0)}28%{transform:translateX(calc(var(--cf-s)*-4px));fill:var(--cf-h)}}
.cf-bridge.is-working .tri{fill:var(--cf-h);transform:translateY(-2px) rotate(calc(var(--cf-s)*10deg));animation:cf-bridge-work 1s ease-in-out infinite}
.cf-bridge.is-working .t1{animation-delay:0s}.cf-bridge.is-working .t2{animation-delay:0.22s}.cf-bridge.is-working .t3{animation-delay:0.44s}
@keyframes cf-bridge-work{0%,70%,100%{transform:translateY(-2px)}32%{transform:translateX(calc(var(--cf-s)*4px)) translateY(-3px)}}
.cf-bridge.is-done .tri{fill:var(--cf-h);transform:translateY(-2px);animation:cf-bridge-done .72s cubic-bezier(.2,.7,.3,1) 1 both;animation-delay:0s}
@keyframes cf-bridge-done{0%{transform:translateY(0)}45%{transform:translateY(-6px)}100%{transform:translateY(-2px)}}
.cf-bridge.is-error .tri{fill:var(--cf-c);animation:cf-bridge-error .48s ease-in-out 1;animation-delay:0s}
.cf-bridge.is-error .t2{opacity:.4;transform:translateY(3px)}
.cf-bridge.is-error .awake{display:none}.cf-bridge.is-error .error-face{display:inline}
@keyframes cf-bridge-error{0%,100%{transform:translateX(0)}25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}
.cf-bridge.is-asleep .crown{transform:translateY(7px);opacity:.35}
.cf-bridge.is-asleep .tri{animation:none;transform:translate(0,0)}
.cf-bridge.is-asleep .awake,.cf-bridge.is-asleep .error-face{display:none}
.cf-bridge.is-asleep .rest{display:inline}
@media(prefers-reduced-motion:reduce){.cf-bridge .tri{animation:none!important}}

/* avatars/pilot.svg */
.cf-pilot{--cf-b:var(--cf-body,#D34513);--cf-f:var(--cf-face,#F5F0EA);--cf-c:var(--cf-crown,#D34513);--cf-h:var(--cf-crown-hot,#FF6A2A)}
.cf-pilot .shell{fill:var(--cf-b);stroke:var(--cf-b);stroke-width:4;stroke-linejoin:round}
.cf-pilot .face{fill:var(--cf-f)}
.cf-pilot .line{fill:none;stroke:var(--cf-f);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.cf-pilot .tri,.cf-pilot .accessory{fill:var(--cf-c)}
.cf-pilot .t2{fill:var(--cf-h)}
.cf-pilot .rest,.cf-pilot .error-face{display:none}
.cf-pilot .crown{transform-box:view-box;transform-origin:64px 30px}
.cf-pilot .tri{transform-box:view-box}
.cf-pilot .tri{--cf-s:0;transform:translate(0,0)}
.cf-pilot .t1{--cf-s:-1}.cf-pilot .t3{--cf-s:1}
.cf-pilot:not(.is-thinking):not(.is-working):not(.is-done):not(.is-error):not(.is-asleep) .tri{animation:cf-pilot-idle 8.20s ease-in-out infinite}
.cf-pilot .t2{animation-delay:-.35s}.cf-pilot .t3{animation-delay:-.7s}
@keyframes cf-pilot-idle{0%,72%,100%{transform:translateY(0)}86%{transform:translateY(-1px)}}
.cf-pilot.is-thinking .tri{animation:cf-pilot-think 2.9s ease-in-out infinite}
.cf-pilot.is-thinking .t2{transform:translateY(-4px);fill:var(--cf-h)}
.cf-pilot.is-thinking .t1{animation-delay:0s}.cf-pilot.is-thinking .t2{animation-delay:0.12s}.cf-pilot.is-thinking .t3{animation-delay:0.24s}
@keyframes cf-pilot-think{0%,65%,100%{transform:translate(0,0)}28%{transform:rotate(-12deg);fill:var(--cf-h)}}
.cf-pilot.is-working .tri{fill:var(--cf-h);transform:translateY(-2px) rotate(calc(var(--cf-s)*10deg));animation:cf-pilot-work 0.98s ease-in-out infinite}
.cf-pilot.is-working .t1{animation-delay:0s}.cf-pilot.is-working .t2{animation-delay:0.08s}.cf-pilot.is-working .t3{animation-delay:0.16s}
@keyframes cf-pilot-work{0%,70%,100%{transform:translateY(-2px)}32%{transform:rotate(10deg) translateY(-4px)}}
.cf-pilot.is-done .tri{fill:var(--cf-h);transform:translateY(-2px);animation:cf-pilot-done .72s cubic-bezier(.2,.7,.3,1) 1 both;animation-delay:0s}
@keyframes cf-pilot-done{0%{transform:translateY(0)}45%{transform:translateY(-6px)}100%{transform:translateY(-2px)}}
.cf-pilot.is-error .tri{fill:var(--cf-c);animation:cf-pilot-error .48s ease-in-out 1;animation-delay:0s}
.cf-pilot.is-error .t2{opacity:.4;transform:translateY(3px)}
.cf-pilot.is-error .awake{display:none}.cf-pilot.is-error .error-face{display:inline}
@keyframes cf-pilot-error{0%,100%{transform:translateX(0)}25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}
.cf-pilot.is-asleep .crown{transform:translateY(7px);opacity:.35}
.cf-pilot.is-asleep .tri{animation:none;transform:translate(0,0)}
.cf-pilot.is-asleep .awake,.cf-pilot.is-asleep .error-face{display:none}
.cf-pilot.is-asleep .rest{display:inline}
@media(prefers-reduced-motion:reduce){.cf-pilot .tri{animation:none!important}}

/* avatars/echo.svg */
.cf-echo{--cf-b:var(--cf-body,#F5F0EA);--cf-f:var(--cf-face,#0B0B0C);--cf-c:var(--cf-crown,#D34513);--cf-h:var(--cf-crown-hot,#FF6A2A)}
.cf-echo .shell{fill:var(--cf-b);stroke:var(--cf-c);stroke-width:4;stroke-linejoin:round}
.cf-echo .face{fill:var(--cf-f)}
.cf-echo .line{fill:none;stroke:var(--cf-f);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.cf-echo .tri,.cf-echo .accessory{fill:var(--cf-c)}
.cf-echo .t2{fill:var(--cf-h)}
.cf-echo .rest,.cf-echo .error-face{display:none}
.cf-echo .crown{transform-box:view-box;transform-origin:64px 30px}
.cf-echo .tri{transform-box:view-box}
.cf-echo .tri{--cf-s:0;transform:translate(0,0)}
.cf-echo .t1{--cf-s:-1}.cf-echo .t3{--cf-s:1}
.cf-echo:not(.is-thinking):not(.is-working):not(.is-done):not(.is-error):not(.is-asleep) .tri{animation:cf-echo-idle 6.40s ease-in-out infinite}
.cf-echo .t2{animation-delay:-.35s}.cf-echo .t3{animation-delay:-.7s}
@keyframes cf-echo-idle{0%,72%,100%{transform:translateY(0)}86%{transform:translateY(-1px)}}
.cf-echo.is-thinking .tri{animation:cf-echo-think 3.5s ease-in-out infinite}
.cf-echo.is-thinking .t2{transform:translateY(-4px);fill:var(--cf-h)}
.cf-echo.is-thinking .t1{animation-delay:0s}.cf-echo.is-thinking .t2{animation-delay:0.5s}.cf-echo.is-thinking .t3{animation-delay:1s}
@keyframes cf-echo-think{0%,65%,100%{transform:translate(0,0)}28%{transform:translateY(-4px) rotate(5deg);fill:var(--cf-h)}}
.cf-echo.is-working .tri{fill:var(--cf-h);transform:translateY(-2px) rotate(calc(var(--cf-s)*10deg));animation:cf-echo-work 1.3s ease-in-out infinite}
.cf-echo.is-working .t1{animation-delay:0s}.cf-echo.is-working .t2{animation-delay:0.22s}.cf-echo.is-working .t3{animation-delay:0.44s}
@keyframes cf-echo-work{0%,70%,100%{transform:translateY(-2px)}32%{transform:translateY(-4px) rotate(-5deg)}}
.cf-echo.is-done .tri{fill:var(--cf-h);transform:translateY(-2px);animation:cf-echo-done .72s cubic-bezier(.2,.7,.3,1) 1 both;animation-delay:0s}
@keyframes cf-echo-done{0%{transform:translateY(0)}45%{transform:translateY(-6px)}100%{transform:translateY(-2px)}}
.cf-echo.is-error .tri{fill:var(--cf-c);animation:cf-echo-error .48s ease-in-out 1;animation-delay:0s}
.cf-echo.is-error .t2{opacity:.4;transform:translateY(3px)}
.cf-echo.is-error .awake{display:none}.cf-echo.is-error .error-face{display:inline}
@keyframes cf-echo-error{0%,100%{transform:translateX(0)}25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}
.cf-echo.is-asleep .crown{transform:translateY(7px);opacity:.35}
.cf-echo.is-asleep .tri{animation:none;transform:translate(0,0)}
.cf-echo.is-asleep .awake,.cf-echo.is-asleep .error-face{display:none}
.cf-echo.is-asleep .rest{display:inline}
@media(prefers-reduced-motion:reduce){.cf-echo .tri{animation:none!important}}

/* avatars/edge.svg */
.cf-edge{--cf-b:var(--cf-body,#D34513);--cf-f:var(--cf-face,#F5F0EA);--cf-c:var(--cf-crown,#D34513);--cf-h:var(--cf-crown-hot,#FF6A2A)}
.cf-edge .shell{fill:var(--cf-b);stroke:var(--cf-b);stroke-width:4;stroke-linejoin:round}
.cf-edge .face{fill:var(--cf-f)}
.cf-edge .line{fill:none;stroke:var(--cf-f);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.cf-edge .tri,.cf-edge .accessory{fill:var(--cf-c)}
.cf-edge .t2{fill:var(--cf-h)}
.cf-edge .rest,.cf-edge .error-face{display:none}
.cf-edge .crown{transform-box:view-box;transform-origin:64px 30px}
.cf-edge .tri{transform-box:view-box}
.cf-edge .tri{--cf-s:0;transform:translate(0,0)}
.cf-edge .t1{--cf-s:-1}.cf-edge .t3{--cf-s:1}
.cf-edge:not(.is-thinking):not(.is-working):not(.is-done):not(.is-error):not(.is-asleep) .tri{animation:cf-edge-idle 6.85s ease-in-out infinite}
.cf-edge .t2{animation-delay:-.35s}.cf-edge .t3{animation-delay:-.7s}
@keyframes cf-edge-idle{0%,72%,100%{transform:translateY(0)}86%{transform:translateY(-1px)}}
.cf-edge.is-thinking .tri{animation:cf-edge-think 2.4s ease-in-out infinite}
.cf-edge.is-thinking .t2{transform:translateY(-4px);fill:var(--cf-h)}
.cf-edge.is-thinking .t1{animation-delay:0s}.cf-edge.is-thinking .t2{animation-delay:0.16s}.cf-edge.is-thinking .t3{animation-delay:0.32s}
@keyframes cf-edge-think{0%,65%,100%{transform:translate(0,0)}28%{transform:translateX(-3px);fill:var(--cf-h)}}
.cf-edge.is-working .tri{fill:var(--cf-h);transform:translateY(-2px) rotate(calc(var(--cf-s)*10deg));animation:cf-edge-work 0.82s ease-in-out infinite}
.cf-edge.is-working .t1{animation-delay:0s}.cf-edge.is-working .t2{animation-delay:0.1s}.cf-edge.is-working .t3{animation-delay:0.2s}
@keyframes cf-edge-work{0%,70%,100%{transform:translateY(-2px)}32%{transform:translateX(3px) translateY(-3px)}}
.cf-edge.is-done .tri{fill:var(--cf-h);transform:translateY(-2px);animation:cf-edge-done .72s cubic-bezier(.2,.7,.3,1) 1 both;animation-delay:0s}
@keyframes cf-edge-done{0%{transform:translateY(0)}45%{transform:translateY(-6px)}100%{transform:translateY(-2px)}}
.cf-edge.is-error .tri{fill:var(--cf-c);animation:cf-edge-error .48s ease-in-out 1;animation-delay:0s}
.cf-edge.is-error .t2{opacity:.4;transform:translateY(3px)}
.cf-edge.is-error .awake{display:none}.cf-edge.is-error .error-face{display:inline}
@keyframes cf-edge-error{0%,100%{transform:translateX(0)}25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}
.cf-edge.is-asleep .crown{transform:translateY(7px);opacity:.35}
.cf-edge.is-asleep .tri{animation:none;transform:translate(0,0)}
.cf-edge.is-asleep .awake,.cf-edge.is-asleep .error-face{display:none}
.cf-edge.is-asleep .rest{display:inline}
@media(prefers-reduced-motion:reduce){.cf-edge .tri{animation:none!important}}

/* avatars/rover.svg */
.cf-rover{--cf-b:var(--cf-body,#D34513);--cf-f:var(--cf-face,#F5F0EA);--cf-c:var(--cf-crown,#D34513);--cf-h:var(--cf-crown-hot,#FF6A2A)}
.cf-rover .shell{fill:var(--cf-b);stroke:var(--cf-b);stroke-width:4;stroke-linejoin:round}
.cf-rover .face{fill:var(--cf-f)}
.cf-rover .line{fill:none;stroke:var(--cf-f);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.cf-rover .tri,.cf-rover .accessory{fill:var(--cf-c)}
.cf-rover .t2{fill:var(--cf-h)}
.cf-rover .rest,.cf-rover .error-face{display:none}
.cf-rover .crown{transform-box:view-box;transform-origin:64px 30px}
.cf-rover .tri{transform-box:view-box}
.cf-rover .tri{--cf-s:0;transform:translate(0,0)}
.cf-rover .t1{--cf-s:-1}.cf-rover .t3{--cf-s:1}
.cf-rover:not(.is-thinking):not(.is-working):not(.is-done):not(.is-error):not(.is-asleep) .tri{animation:cf-rover-idle 7.30s ease-in-out infinite}
.cf-rover .t2{animation-delay:-.35s}.cf-rover .t3{animation-delay:-.7s}
@keyframes cf-rover-idle{0%,72%,100%{transform:translateY(0)}86%{transform:translateY(-1px)}}
.cf-rover.is-thinking .tri{animation:cf-rover-think 3.3s ease-in-out infinite}
.cf-rover.is-thinking .t2{transform:translateY(-4px);fill:var(--cf-h)}
.cf-rover.is-thinking .t1{animation-delay:0s}.cf-rover.is-thinking .t2{animation-delay:0.45s}.cf-rover.is-thinking .t3{animation-delay:0.9s}
@keyframes cf-rover-think{0%,72%,100%{transform:translate(0,0)}24%{transform:translate(-3px,-3px) rotate(-8deg);fill:var(--cf-h)}48%{transform:translate(-2px,-1px)}}
.cf-rover.is-working .tri{fill:var(--cf-h);transform:translateY(-2px) rotate(calc(var(--cf-s)*10deg));animation:cf-rover-work 1.14s ease-in-out infinite}
.cf-rover.is-working .t1{animation-delay:0s}.cf-rover.is-working .t2{animation-delay:0.17s}.cf-rover.is-working .t3{animation-delay:0.34s}
@keyframes cf-rover-work{0%,70%,100%{transform:translateY(-2px)}32%{transform:translate(3px,-4px) rotate(8deg)}}
.cf-rover.is-done .tri{fill:var(--cf-h);transform:translateY(-2px);animation:cf-rover-done .72s cubic-bezier(.2,.7,.3,1) 1 both;animation-delay:0s}
@keyframes cf-rover-done{0%{transform:translateY(0)}45%{transform:translateY(-6px)}100%{transform:translateY(-2px)}}
.cf-rover.is-error .tri{fill:var(--cf-c);animation:cf-rover-error .48s ease-in-out 1;animation-delay:0s}
.cf-rover.is-error .t2{opacity:.4;transform:translateY(3px)}
.cf-rover.is-error .awake{display:none}.cf-rover.is-error .error-face{display:inline}
@keyframes cf-rover-error{0%,100%{transform:translateX(0)}25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}
.cf-rover.is-asleep .crown{transform:translateY(7px);opacity:.35}
.cf-rover.is-asleep .tri{animation:none;transform:translate(0,0)}
.cf-rover.is-asleep .awake,.cf-rover.is-asleep .error-face{display:none}
.cf-rover.is-asleep .rest{display:inline}
@media(prefers-reduced-motion:reduce){.cf-rover .tri{animation:none!important}}

/* avatars/sage.svg */
.cf-sage{--cf-b:var(--cf-body,#F5F0EA);--cf-f:var(--cf-face,#0B0B0C);--cf-c:var(--cf-crown,#D34513);--cf-h:var(--cf-crown-hot,#FF6A2A)}
.cf-sage .shell{fill:var(--cf-b);stroke:var(--cf-c);stroke-width:4;stroke-linejoin:round}
.cf-sage .face{fill:var(--cf-f)}
.cf-sage .line{fill:none;stroke:var(--cf-f);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.cf-sage .tri,.cf-sage .accessory{fill:var(--cf-c)}
.cf-sage .t2{fill:var(--cf-h)}
.cf-sage .rest,.cf-sage .error-face{display:none}
.cf-sage .crown{transform-box:view-box;transform-origin:64px 30px}
.cf-sage .tri{transform-box:view-box}
.cf-sage .tri{--cf-s:0;transform:translate(0,0)}
.cf-sage .t1{--cf-s:-1}.cf-sage .t3{--cf-s:1}
.cf-sage:not(.is-thinking):not(.is-working):not(.is-done):not(.is-error):not(.is-asleep) .tri{animation:cf-sage-idle 7.75s ease-in-out infinite}
.cf-sage .t2{animation-delay:-.35s}.cf-sage .t3{animation-delay:-.7s}
@keyframes cf-sage-idle{0%,72%,100%{transform:translateY(0)}86%{transform:translateY(-1px)}}
.cf-sage.is-thinking .tri{animation:cf-sage-think 3.6s ease-in-out infinite}
.cf-sage.is-thinking .t2{transform:translateY(-4px);fill:var(--cf-h)}
.cf-sage.is-thinking .t1{animation-delay:0s}.cf-sage.is-thinking .t2{animation-delay:0.8s}.cf-sage.is-thinking .t3{animation-delay:0s}
@keyframes cf-sage-think{0%,65%,100%{transform:translate(0,0)}28%{transform:rotate(calc(var(--cf-s)*10deg));fill:var(--cf-h)}}
.cf-sage.is-working .tri{fill:var(--cf-h);transform:translateY(-2px) rotate(calc(var(--cf-s)*10deg));animation:cf-sage-work 1.5s ease-in-out infinite}
.cf-sage.is-working .t1{animation-delay:0s}.cf-sage.is-working .t2{animation-delay:0.24s}.cf-sage.is-working .t3{animation-delay:0s}
@keyframes cf-sage-work{0%,70%,100%{transform:translateY(-2px)}32%{transform:rotate(calc(var(--cf-s)*-10deg)) translateY(-3px)}}
.cf-sage.is-done .tri{fill:var(--cf-h);transform:translateY(-2px);animation:cf-sage-done .72s cubic-bezier(.2,.7,.3,1) 1 both;animation-delay:0s}
@keyframes cf-sage-done{0%{transform:translateY(0)}45%{transform:translateY(-6px)}100%{transform:translateY(-2px)}}
.cf-sage.is-error .tri{fill:var(--cf-c);animation:cf-sage-error .48s ease-in-out 1;animation-delay:0s}
.cf-sage.is-error .t2{opacity:.4;transform:translateY(3px)}
.cf-sage.is-error .awake{display:none}.cf-sage.is-error .error-face{display:inline}
@keyframes cf-sage-error{0%,100%{transform:translateX(0)}25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}
.cf-sage.is-asleep .crown{transform:translateY(7px);opacity:.35}
.cf-sage.is-asleep .tri{animation:none;transform:translate(0,0)}
.cf-sage.is-asleep .awake,.cf-sage.is-asleep .error-face{display:none}
.cf-sage.is-asleep .rest{display:inline}
@media(prefers-reduced-motion:reduce){.cf-sage .tri{animation:none!important}}

/* avatars/rally.svg */
.cf-rally{--cf-b:var(--cf-body,#D34513);--cf-f:var(--cf-face,#F5F0EA);--cf-c:var(--cf-crown,#D34513);--cf-h:var(--cf-crown-hot,#FF6A2A)}
.cf-rally .shell{fill:var(--cf-b);stroke:var(--cf-b);stroke-width:4;stroke-linejoin:round}
.cf-rally .face{fill:var(--cf-f)}
.cf-rally .line{fill:none;stroke:var(--cf-f);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.cf-rally .tri,.cf-rally .accessory{fill:var(--cf-c)}
.cf-rally .t2{fill:var(--cf-h)}
.cf-rally .rest,.cf-rally .error-face{display:none}
.cf-rally .crown{transform-box:view-box;transform-origin:64px 30px}
.cf-rally .tri{transform-box:view-box}
.cf-rally .tri{--cf-s:0;transform:translate(0,0)}
.cf-rally .t1{--cf-s:-1}.cf-rally .t3{--cf-s:1}
.cf-rally:not(.is-thinking):not(.is-working):not(.is-done):not(.is-error):not(.is-asleep) .tri{animation:cf-rally-idle 8.20s ease-in-out infinite}
.cf-rally .t2{animation-delay:-.35s}.cf-rally .t3{animation-delay:-.7s}
@keyframes cf-rally-idle{0%,72%,100%{transform:translateY(0)}86%{transform:translateY(-1px)}}
.cf-rally.is-thinking .tri{animation:cf-rally-think 2.7s ease-in-out infinite}
.cf-rally.is-thinking .t2{transform:translateY(-4px);fill:var(--cf-h)}
.cf-rally.is-thinking .t1{animation-delay:0s}.cf-rally.is-thinking .t2{animation-delay:0.35s}.cf-rally.is-thinking .t3{animation-delay:0.7s}
@keyframes cf-rally-think{0%,65%,100%{transform:translate(0,0)}28%{transform:translateY(-4px) scale(1.06);fill:var(--cf-h)}}
.cf-rally.is-working .tri{fill:var(--cf-h);transform:translateY(-2px) rotate(calc(var(--cf-s)*10deg));animation:cf-rally-work 0.94s ease-in-out infinite}
.cf-rally.is-working .t1{animation-delay:0s}.cf-rally.is-working .t2{animation-delay:0s}.cf-rally.is-working .t3{animation-delay:0s}
@keyframes cf-rally-work{0%,65%,100%{transform:translateY(-2px)}18%,42%{transform:translateY(-5px) scale(1.12)}30%{transform:translateY(-1px)}}
.cf-rally.is-done .tri{fill:var(--cf-h);transform:translateY(-2px);animation:cf-rally-done .72s cubic-bezier(.2,.7,.3,1) 1 both;animation-delay:0s}
@keyframes cf-rally-done{0%{transform:translateY(0)}45%{transform:translateY(-6px)}100%{transform:translateY(-2px)}}
.cf-rally.is-error .tri{fill:var(--cf-c);animation:cf-rally-error .48s ease-in-out 1;animation-delay:0s}
.cf-rally.is-error .t2{opacity:.4;transform:translateY(3px)}
.cf-rally.is-error .awake{display:none}.cf-rally.is-error .error-face{display:inline}
@keyframes cf-rally-error{0%,100%{transform:translateX(0)}25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}
.cf-rally.is-asleep .crown{transform:translateY(7px);opacity:.35}
.cf-rally.is-asleep .tri{animation:none;transform:translate(0,0)}
.cf-rally.is-asleep .awake,.cf-rally.is-asleep .error-face{display:none}
.cf-rally.is-asleep .rest{display:inline}
@media(prefers-reduced-motion:reduce){.cf-rally .tri{animation:none!important}}

/* brand/conductor-mark.svg */
.cf-conductor-mark{--cf-b:var(--cf-body,#D34513);--cf-f:var(--cf-face,#F5F0EA);--cf-c:var(--cf-crown,#D34513);--cf-h:var(--cf-crown-hot,#FF6A2A)}
.cf-conductor-mark .shell{fill:var(--cf-b);stroke:var(--cf-b);stroke-width:4;stroke-linejoin:round}
.cf-conductor-mark .face{fill:var(--cf-f)}
.cf-conductor-mark .line{fill:none;stroke:var(--cf-f);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.cf-conductor-mark .tri,.cf-conductor-mark .accessory{fill:var(--cf-c)}
.cf-conductor-mark .t2{fill:var(--cf-h)}
.cf-conductor-mark .rest,.cf-conductor-mark .error-face{display:none}
.cf-conductor-mark .crown{transform-box:view-box;transform-origin:64px 30px}
.cf-conductor-mark .tri{transform-box:view-box}
.cf-conductor-mark .tri{--cf-s:0;transform:translate(0,0)}
.cf-conductor-mark .t1{--cf-s:-1}.cf-conductor-mark .t3{--cf-s:1}
.cf-conductor-mark:not(.is-thinking):not(.is-working):not(.is-done):not(.is-error):not(.is-asleep) .tri{animation:cf-conductor-mark-idle 6.40s ease-in-out infinite}
.cf-conductor-mark .t2{animation-delay:-.35s}.cf-conductor-mark .t3{animation-delay:-.7s}
@keyframes cf-conductor-mark-idle{0%,72%,100%{transform:translateY(0)}86%{transform:translateY(-1px)}}
.cf-conductor-mark.is-thinking .tri{animation:cf-conductor-mark-think 2.7s ease-in-out infinite}
.cf-conductor-mark.is-thinking .t2{transform:translateY(-4px);fill:var(--cf-h)}
.cf-conductor-mark.is-thinking .t1{animation-delay:0s}.cf-conductor-mark.is-thinking .t2{animation-delay:0.24s}.cf-conductor-mark.is-thinking .t3{animation-delay:0.48s}
@keyframes cf-conductor-mark-think{0%,65%,100%{transform:translate(0,0)}28%{transform:translateY(-5px);fill:var(--cf-h)}}
.cf-conductor-mark.is-working .tri{fill:var(--cf-h);transform:translateY(-2px) rotate(calc(var(--cf-s)*10deg));animation:cf-conductor-mark-work 0.92s ease-in-out infinite}
.cf-conductor-mark.is-working .t1{animation-delay:0s}.cf-conductor-mark.is-working .t2{animation-delay:0.13s}.cf-conductor-mark.is-working .t3{animation-delay:0.26s}
@keyframes cf-conductor-mark-work{0%,70%,100%{transform:translateY(-2px)}32%{transform:translateY(-4px)}}
.cf-conductor-mark.is-done .tri{fill:var(--cf-h);transform:translateY(-2px);animation:cf-conductor-mark-done .72s cubic-bezier(.2,.7,.3,1) 1 both;animation-delay:0s}
@keyframes cf-conductor-mark-done{0%{transform:translateY(0)}45%{transform:translateY(-6px)}100%{transform:translateY(-2px)}}
.cf-conductor-mark.is-error .tri{fill:var(--cf-c);animation:cf-conductor-mark-error .48s ease-in-out 1;animation-delay:0s}
.cf-conductor-mark.is-error .t2{opacity:.4;transform:translateY(3px)}
.cf-conductor-mark.is-error .awake{display:none}.cf-conductor-mark.is-error .error-face{display:inline}
@keyframes cf-conductor-mark-error{0%,100%{transform:translateX(0)}25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}
.cf-conductor-mark.is-asleep .crown{transform:translateY(7px);opacity:.35}
.cf-conductor-mark.is-asleep .tri{animation:none;transform:translate(0,0)}
.cf-conductor-mark.is-asleep .awake,.cf-conductor-mark.is-asleep .error-face{display:none}
.cf-conductor-mark.is-asleep .rest{display:inline}
@media(prefers-reduced-motion:reduce){.cf-conductor-mark .tri{animation:none!important}}
