.builder-mascot{display:inline-block;flex:none;height:var(--mascot-size,72px);width:auto;aspect-ratio:288/391;overflow:visible}.builder-mascot .rb-body{fill:var(--mascot-body);stroke:var(--mascot-rim);stroke-width:1.3;paint-order:stroke}.builder-mascot .rb-visor{fill:var(--mascot-visor)}.builder-mascot .rb-teal{fill:var(--mascot-teal)}.builder-mascot .rb-mint{fill:var(--mascot-mint)}.builder-mascot .rb-paper{fill:var(--mascot-paper)}.builder-mascot .rb-shadow{fill:var(--mascot-shadow)}.builder-mascot .rb-eyes .rb-mint,.builder-mascot .rb-spark .rb-teal{filter:drop-shadow(0 0 2px light-dark(transparent,var(--mascot-mint)))}.builder-mascot .rb-pose{opacity:0;transition:opacity .2s ease}.builder-mascot .rb-pose.is-on{opacity:1}.builder-mascot .rb-pose:not(.is-on) *{animation-play-state:paused}.builder-mascot g{transform-box:view-box}.builder-mascot .rb-figure{transform-origin:160px 410px;animation:rb-breathe 3.6s ease-in-out infinite}.builder-mascot .rb-orbit{animation:rb-orbit 4.2s ease-in-out infinite}.builder-mascot .rb-eyes{animation:rb-blink 4.6s ease-in-out infinite}.builder-mascot .rb-head{animation:rb-head 6s ease-in-out infinite}.builder-mascot[data-pose="2"] .rb-hand{animation:rb-wave .42s ease-in-out infinite alternate}.builder-mascot[data-pose="2"] .rb-spark{animation:rb-spark .84s steps(2,jump-none) infinite}.builder-mascot[data-pose="6"] .rb-hand{animation:rb-present 1.1s ease-in-out infinite alternate}.builder-mascot[data-state=speaking] .rb-head{animation:rb-nod 1.2s ease-in-out infinite}.builder-mascot[data-state=speaking] .rb-orbit{animation-duration:2s}.builder-mascot[data-act=chin] .rb-eyes{animation:rb-dart 1.6s step-end infinite}.builder-mascot[data-act=scratch] .rb-hand{animation:rb-scratch .24s ease-in-out infinite alternate}.builder-mascot[data-act=scratch] .rb-eyes{animation:rb-blink 2.4s ease-in-out infinite}.builder-mascot[data-act=tablet] .rb-spark{animation:rb-spark .9s steps(2,jump-none) infinite}.builder-mascot[data-act=tablet] .rb-eyes{animation:rb-read 1.8s infinite}.builder-mascot[data-act=plan] .rb-doc{animation:rb-doc 1.8s ease-in-out infinite}.builder-mascot[data-act=plan] .rb-eyes{animation:rb-read 1.8s infinite}.builder-mascot[data-state=thinking] .rb-orbit{animation-duration:1.6s}.robot-walker{transform:translateX(var(--walk-x,0))}.robot-walker .rw-near{fill:var(--mascot-body)}.robot-walker .rw-far,.robot-walker .rw-near{stroke:var(--mascot-rim);stroke-width:1.2;paint-order:stroke}.robot-walker .rw-far{fill:var(--mascot-far)}.robot-walker .rw-sole,.robot-walker .rw-stripe{fill:var(--mascot-teal)}.robot-walker .rw-glove{fill:var(--mascot-mint)}@keyframes rb-breathe{50%{transform:translateY(-1.5px) scaleY(1.008)}}@keyframes rb-orbit{0%,to{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-3px) rotate(3deg)}}@keyframes rb-blink{0%,92%,to{transform:scaleY(1)}95%{transform:scaleY(.12)}}@keyframes rb-head{0%,to{transform:rotate(0)}35%{transform:rotate(-2.5deg)}70%{transform:rotate(2deg)}}@keyframes rb-nod{0%,to{transform:rotate(0)}25%{transform:rotate(-4deg)}60%{transform:rotate(3deg)}}@keyframes rb-wave{0%{transform:rotate(-12deg)}to{transform:rotate(14deg)}}@keyframes rb-present{0%{transform:rotate(-6deg)}to{transform:rotate(5deg)}}@keyframes rb-scratch{0%{transform:rotate(-6deg)}to{transform:rotate(6deg)}}@keyframes rb-spark{0%{opacity:1}to{opacity:.25}}@keyframes rb-dart{0%{transform:translateX(0)}30%{transform:translateX(4px)}60%{transform:translateX(-3px)}80%{transform:translateX(3px)}}@keyframes rb-read{0%{transform:translate(-2px,2px);animation-timing-function:linear}40%{transform:translate(4px,2px);animation-timing-function:cubic-bezier(.6,0,.2,1)}50%{transform:translate(-2px,4px);animation-timing-function:linear}90%{transform:translate(4px,4px);animation-timing-function:cubic-bezier(.6,0,.2,1)}to{transform:translate(-2px,2px)}}@keyframes rb-doc{50%{transform:translateY(-3px) rotate(-1.5deg)}}@media (prefers-reduced-motion:reduce){.builder-mascot *,.builder-mascot[data-state] *{animation:none!important;transition:none!important}}.welcome-stage{--mascot-size:96px;position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--space-6);width:100%;margin-top:max(0px,calc(var(--mascot-size) - var(--space-6) + var(--space-4)))}.welcome-walker{position:absolute;z-index:2;bottom:100%;left:calc(50% - min(380px, 50%) + var(--space-4));margin-bottom:calc(var(--mascot-size) * -.03);pointer-events:none}.welcome-walker>.builder-mascot{display:block}.welcome-walker>.mascot-arrive{animation:mascot-arrive .3s ease-out both}@keyframes mascot-arrive{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.welcome-walker>.mascot-arrive{animation:none}}@media (max-width:719px){.welcome-stage{--mascot-size:72px}.welcome-walker{left:var(--space-3)}}.builder-thinking{display:flex;align-items:center;gap:var(--space-2);animation:bm-appear .4s var(--ease,ease) both}.chat-mascot{--mascot-size:64px}@keyframes bm-appear{0%{opacity:0;transform:translateY(4px)}}@media (prefers-reduced-motion:reduce){.builder-thinking{animation:none}}.builder-thinking-text{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.builder-thinking-text>p{margin:0}.mascot-phrase{display:grid;color:var(--muted);font-size:13px}.mascot-phrase>span{grid-area:1/1}.mp-ghost{visibility:hidden}.mp-ink{animation:mp-in .25s var(--ease,ease) both}@keyframes mp-in{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.mp-ink{animation:none}}