:is(.capedit,.sn-mascot) .ce-mascot{--m-lime:var(--action);--m-ink:var(--ink);--m-shine:var(--text);--ear:10deg;width:100%;height:100%;display:block;overflow:visible}:is(.capedit,.sn-mascot) .ce-mascot .m-lime{fill:var(--m-lime)}:is(.capedit,.sn-mascot) .ce-mascot .m-ink{fill:var(--m-ink)}:is(.capedit,.sn-mascot) .ce-mascot .m-shine{fill:var(--m-shine)}:is(.capedit,.sn-mascot) .ce-mascot .m-stroke{fill:none;stroke:var(--m-lime);stroke-width:4px;stroke-linejoin:miter;stroke-linecap:square}:is(.capedit,.sn-mascot) .ce-mascot :is(.m-fig,.m-ear,.m-ear-sway,.m-eyes,.m-mouth,.m-z){transform-box:fill-box}:is(.capedit,.sn-mascot) .ce-mascot .m-fig{transform-origin:50% 100%;animation:3.2s ease-in-out infinite m-bob}:is(.capedit,.sn-mascot) .ce-mascot .m-ear{transform-origin:50% 100%;transition:transform .38s cubic-bezier(.34,1.56,.64,1),translate .38s cubic-bezier(.34,1.56,.64,1)}:is(.capedit,.sn-mascot) .ce-mascot .m-ear--l{transform:rotate(calc(-1 * var(--ear)))}:is(.capedit,.sn-mascot) .ce-mascot .m-ear--r{transform:rotate(var(--ear))}:is(.capedit,.sn-mascot) .ce-mascot .m-ear-sway{transform-origin:50% 100%;animation:3.2s ease-in-out infinite m-sway}:is(.capedit,.sn-mascot) .ce-mascot .m-ear--r .m-ear-sway{animation-delay:-1.6s}:is(.capedit,.sn-mascot) .ce-mascot .m-eyes--open{transform-origin:50%;animation:4.8s infinite m-blink}:is(.capedit,.sn-mascot) .ce-mascot .m-look{transform:translate(var(--lx,0px), var(--ly,0px));transition:transform .3s ease-out}:is(.capedit,.sn-mascot) .ce-mascot .m-mouth{transform-origin:50%}@keyframes m-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-2.5px)}}@keyframes m-sway{0%,to{transform:rotate(0)}50%{transform:rotate(3deg)}}@keyframes m-blink{0%,95%,to{transform:scaleY(1)}97%{transform:scaleY(.12)}}:is(.capedit,.sn-mascot) .ce-mascot[data-mood=curious]{--ear:0deg}:is(.capedit,.sn-mascot) .ce-mascot[data-mood=curious] .m-ear{translate:0 -3px}:is(.capedit,.sn-mascot) .ce-mascot[data-mood=curious] .m-fig{animation-duration:1.6s}:is(.capedit,.sn-mascot) .ce-mascot[data-mood=listen]{--ear:6deg}:is(.capedit,.sn-mascot) .ce-mascot[data-mood=think]{--ear:14deg}:is(.capedit,.sn-mascot) .ce-mascot[data-mood=think] .m-ear--l .m-ear-sway{animation:1.4s ease-in-out infinite m-twitch}:is(.capedit,.sn-mascot) .ce-mascot[data-mood=think] .m-ear--r .m-ear-sway{animation:1.4s ease-in-out -.7s infinite m-twitch}:is(.capedit,.sn-mascot) .ce-mascot .m-dots rect{animation:1.2s ease-in-out infinite m-dot}:is(.capedit,.sn-mascot) .ce-mascot .m-dots rect:nth-child(2){animation-delay:.15s}:is(.capedit,.sn-mascot) .ce-mascot .m-dots rect:nth-child(3){animation-delay:.3s}@keyframes m-twitch{0%,60%,to{transform:rotate(0)}70%{transform:rotate(-12deg)}80%{transform:rotate(4deg)}}@keyframes m-dot{0%,60%,to{opacity:.25}30%{opacity:1}}:is(.capedit,.sn-mascot) .ce-mascot[data-mood=talk]{--ear:8deg}:is(.capedit,.sn-mascot) .ce-mascot[data-mood=talk] .m-mouth{animation:.36s ease-in-out infinite alternate m-talk}@keyframes m-talk{0%{transform:scaleY(.4)}to{transform:scaleY(1)}}:is(.capedit,.sn-mascot) .ce-mascot[data-mood=snip]{--ear:12deg}:is(.capedit,.sn-mascot) .ce-mascot[data-mood=snip] .m-ear--l .m-ear-sway{animation:.7s cubic-bezier(.5,0,.3,1) m-snip-l}:is(.capedit,.sn-mascot) .ce-mascot[data-mood=snip] .m-ear--r .m-ear-sway{animation:.7s cubic-bezier(.5,0,.3,1) m-snip-r}:is(.capedit,.sn-mascot) .ce-mascot[data-mood=snip] .m-fig{animation:.7s ease-in-out m-squash}@keyframes m-snip-l{0%,50%,to{transform:rotate(0)}25%,75%{transform:rotate(26deg)}}@keyframes m-snip-r{0%,50%,to{transform:rotate(0)}25%,75%{transform:rotate(-26deg)}}@keyframes m-squash{0%,50%,to{transform:scale(1)}25%,75%{transform:scale(1.04,.96)}}:is(.capedit,.sn-mascot) .ce-mascot[data-mood=proud]{--ear:3deg}:is(.capedit,.sn-mascot) .ce-mascot[data-mood=proud] .m-fig{animation:.55s cubic-bezier(.3,1.5,.6,1) m-hop}:is(.capedit,.sn-mascot) .ce-mascot[data-mood=happy]{--ear:6deg}:is(.capedit,.sn-mascot) .ce-mascot[data-mood=happy] .m-fig{animation:.5s cubic-bezier(.3,1.5,.6,1) 2 m-hop}:is(.capedit,.sn-mascot) .ce-mascot[data-mood=happy] .m-ear-sway{animation:.5s ease-in-out 2 m-wiggle}@keyframes m-hop{0%,to{transform:translateY(0)}40%{transform:translateY(-7px)}}@keyframes m-wiggle{0%,to{transform:rotate(0)}50%{transform:rotate(10deg)}}:is(.capedit,.sn-mascot) .ce-mascot[data-mood=oops]{--ear:26deg}:is(.capedit,.sn-mascot) .ce-mascot[data-mood=oops] .m-fig{animation:.45s ease-in-out m-shake}@keyframes m-shake{0%,to{transform:translate(0)}20%{transform:translate(-2.5px)}40%{transform:translate(2.5px)}60%{transform:translate(-1.5px)}80%{transform:translate(1px)}}:is(.capedit,.sn-mascot) .ce-mascot[data-mood=sleep]{--ear:42deg}:is(.capedit,.sn-mascot) .ce-mascot[data-mood=sleep] .m-fig{animation:3.6s ease-in-out infinite m-breathe}:is(.capedit,.sn-mascot) .ce-mascot[data-mood=sleep] .m-ear-sway{animation:none}:is(.capedit,.sn-mascot) .ce-mascot .m-z{opacity:0;animation:2.8s ease-out infinite m-z}:is(.capedit,.sn-mascot) .ce-mascot .m-z:nth-child(2){animation-delay:1.4s}@keyframes m-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.025,.985)}}@keyframes m-z{0%{opacity:0;transform:translateY(4px)}30%{opacity:1}to{opacity:0;transform:translate(4px,-8px)}}:is(.capedit,.sn-mascot) .ce-mascot[data-mood=drag]{--ear:20deg}:is(.capedit,.sn-mascot) .ce-mascot[data-mood=drag] .m-fig{animation:none}.capedit .ce-dock{width:0;height:0;position:absolute;top:0;left:0}.capedit .ce-dock__mascot{z-index:35;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:0 0;border:0;width:76px;height:86px;padding:0;position:fixed}.capedit .ce-dock__mascot[data-dragging=true]{cursor:grabbing}.capedit .ce-dock__mascot>svg{transform:rotate(var(--tilt,0deg));transition:transform .18s ease-out}.capedit .ce-dock__mascot:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.capedit .ce-dock__badge{background:var(--text);border:2px solid var(--ink);pointer-events:none;width:12px;height:12px;position:absolute;top:14%;right:2%}.capedit .ce-dock__chat{z-index:36;background:var(--surface);border:1px solid var(--line-2);min-width:0;color:var(--text);animation:ce-dock-pop .18s var(--ease-out);flex-direction:column;display:flex;position:fixed;box-shadow:0 24px 64px #0000008c}.capedit .ce-dock__chat[data-side=left]{transform-origin:100% 100%}.capedit .ce-dock__chat[data-side=right]{transform-origin:0 100%}.capedit .ce-dock__chat[data-side=above]{transform-origin:50% 100%}.capedit .ce-dock__chat[data-side=below]{transform-origin:50% 0}@keyframes ce-dock-pop{0%{opacity:0;transform:scale(.94)}}.capedit .ce-dock__tail{background:var(--surface);border:0 solid var(--line-2);pointer-events:none;width:12px;height:12px;position:absolute}.capedit .ce-dock__chat[data-side=left] .ce-dock__tail{right:-7px;top:calc(var(--tail,50%) - 6px);border-width:1px 1px 0 0;transform:rotate(45deg)}.capedit .ce-dock__chat[data-side=right] .ce-dock__tail{left:-7px;top:calc(var(--tail,50%) - 6px);border-width:0 0 1px 1px;transform:rotate(45deg)}.capedit .ce-dock__chat[data-side=above] .ce-dock__tail{bottom:-7px;left:calc(var(--tail,50%) - 6px);border-width:0 1px 1px 0;transform:rotate(45deg)}.capedit .ce-dock__chat[data-side=below] .ce-dock__tail{top:-7px;left:calc(var(--tail,50%) - 6px);border-width:1px 0 0 1px;transform:rotate(45deg)}.capedit .ce-dock__head{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:12px 8px 12px 18px;display:flex;position:relative}.capedit .ce-dock__head[data-drag=true]{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.capedit .ce-dock__head[data-dragging=true]{cursor:grabbing}.capedit .ce-dock__title{flex:1;min-width:0}.capedit .ce-dock__title h2{color:var(--text);font:700 24px/1 var(--font-display);letter-spacing:.01em;text-transform:uppercase;margin:0}.capedit .ce-dock__title p{color:var(--muted);margin:3px 0 0;font-size:13px;line-height:1.3}.capedit :is(.ce-dock__new,.ce-dock__close){min-height:36px;color:var(--text);white-space:nowrap;cursor:pointer;transition:background-color var(--t-hover) ease, color var(--t-hover) ease, transform var(--t-press,80ms) ease;background:0 0;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-size:13px;font-weight:600;display:inline-flex}.capedit .ce-dock__close{width:36px;padding:0}.capedit :is(.ce-dock__new,.ce-dock__close):not(:disabled):active{transform:scale(.97)}.capedit .ce-dock__new:disabled{opacity:.45;cursor:not-allowed}.capedit .ce-dock__scroll{overscroll-behavior:contain;flex:1;min-height:0;padding:18px 0;overflow-y:auto}.capedit .ce-dock__chat .ce-assistant__composer{border-top:1px solid var(--line)}@media (hover:hover) and (pointer:fine){.capedit :is(.ce-dock__new,.ce-dock__close):not(:disabled):hover{background:var(--surface-3)}}.capedit .ce-dock__perch{display:none}.capedit .ce-dock[data-layout=phone] .ce-dock__chat{width:auto;height:min(78dvh,640px);animation:ce-dock-sheet .22s var(--ease-out);border-width:1px 0 0;inset:auto 0 0;box-shadow:0 -16px 48px #00000080}.capedit .ce-dock[data-layout=phone] .ce-dock__tail{display:none}.capedit .ce-dock[data-layout=phone] .ce-dock__perch{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;width:50px;height:56px;padding:0;display:block;position:absolute;top:-58px;right:18px}.capedit .ce-dock__perch:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@keyframes ce-dock-sheet{0%{opacity:0;transform:translateY(24px)}}@media (max-width:760px),(pointer:coarse){.capedit :is(.ce-dock__new,.ce-dock__close){min-height:44px}.capedit .ce-dock__close{width:44px}}@media (prefers-reduced-motion:reduce){:is(.capedit,.sn-mascot) .ce-mascot,:is(.capedit,.sn-mascot) .ce-mascot *{transition:none!important;animation:none!important}:is(.capedit,.sn-mascot) .ce-mascot .m-z{opacity:1}.capedit .ce-dock__mascot>svg{transition:none;transform:none}.capedit :is(.ce-dock__chat,.ce-dock__chat[data-side]){animation:none}.capedit :is(.ce-dock__new,.ce-dock__close){transition:none}.capedit :is(.ce-dock__new,.ce-dock__close):not(:disabled):active{transform:none}}