/* Small, jointed movements of the existing companion. Dialogue stays still. */
.guide-character-rig{display:grid;place-items:center;position:relative;width:140px;height:160px;flex:none;pointer-events:none}
.ai-guide .guide-character-art{display:block;width:100%;height:100%;max-width:none;overflow:visible;object-fit:contain;transition:none;filter:drop-shadow(0 7px 10px #0005)}
.ai-guide .guide-launch:hover .guide-character{transform:none}
.guide-character-art :is(.guide-pose,.guide-upper-body,.guide-head,.guide-arm,.guide-forearm,.guide-leg){transform-box:view-box}
.guide-pose{transform-origin:545px 1460px}
.guide-upper-body{transform-origin:592px 1020px;animation:guide-breathe 4.8s ease-in-out infinite}
.guide-head{transform-origin:594px 667px;transition:transform .5s ease}
.guide-arm-left{transform-origin:445px 735px;transition:transform .5s ease}
.guide-forearm{transform-origin:337px 841px}
.guide-arm-right{transform-origin:787px 848px}
.guide-leg-left{transform-origin:477px 1039px}
.guide-leg-right{transform-origin:657px 1050px}
.guide-eyelid-top{transform:translateY(-90px);animation:guide-blink-top 7.7s linear infinite}
.guide-eyelid-bottom{transform:translateY(90px);animation:guide-blink-bottom 7.7s linear infinite}
.guide-closed-eye{opacity:0;animation:guide-blink-line 7.7s linear infinite}
.guide-antenna-light{opacity:.25;animation:guide-lamp-breathe 4.8s ease-in-out infinite}
.guide-heart-light{opacity:.18;animation:guide-lamp-breathe 4.8s ease-in-out infinite reverse}
.ai-guide[data-idle="wave"] .guide-arm-left{animation:guide-wave-arm 2.8s ease-in-out both}
.ai-guide[data-idle="wave"] .guide-forearm{animation:guide-wave-hand 2.8s ease-in-out both}
.ai-guide[data-idle="wave"] .guide-head{animation:guide-wave-head 2.8s ease-in-out both}
.ai-guide[data-idle="wave"] .guide-arm-right{animation:guide-wave-balance 2.8s ease-in-out both}
.ai-guide[data-idle="shift"] .guide-pose{animation:guide-weight-shift 3.6s ease-in-out both}
.ai-guide[data-idle="shift"] .guide-leg-left{animation:guide-heel-lift 3.6s ease-in-out both}
.ai-guide[data-idle="shift"] .guide-leg-right{animation:guide-standing-leg 3.6s ease-in-out both}
.ai-guide[data-idle="shift"] .guide-arm-right{animation:guide-balance-arm 3.6s ease-in-out both}
.ai-guide[data-idle="look"] .guide-head{animation:guide-curious-look 3.2s ease-in-out both}
.ai-guide[data-idle="look"] .guide-arm-right{animation:guide-curious-arm 3.2s ease-in-out both}
.ai-guide[data-idle="stretch"] .guide-upper-body{animation:guide-stretch-body 4s ease-in-out both}
.ai-guide[data-idle="stretch"] .guide-arm-left{animation:guide-stretch-left 4s ease-in-out both}
.ai-guide[data-idle="stretch"] .guide-arm-right{animation:guide-stretch-right 4s ease-in-out both}
.ai-guide[data-idle="stretch"] .guide-head{animation:guide-stretch-head 4s ease-in-out both}
.ai-guide[data-idle="breathe"][data-attentive="true"] .guide-head{transform:rotate(-1.8deg);transition:transform .5s ease}
.ai-guide[data-idle="breathe"][data-attentive="true"] .guide-arm-left{transform:rotate(2deg);transition:transform .5s ease}
.ai-guide .guide-motion-toggle{display:grid;place-items:center;pointer-events:auto;position:absolute;right:2px;bottom:29px;width:28px;height:28px;min-height:28px;padding:7px;border:1px solid #6d8bac;border-radius:50%;background:#10213aeb;color:#d2eaff;box-shadow:0 2px 8px #03102033;opacity:.86;z-index:2}
.ai-guide .guide-motion-toggle:hover{background:#263758;border-color:#abcbf5;opacity:1}
.guide-motion-play-icon{display:none}
.guide-motion-toggle[aria-pressed="true"] .guide-motion-pause-icon{display:none}
.guide-motion-toggle[aria-pressed="true"] .guide-motion-play-icon{display:block}
.ai-guide.is-minimized .guide-character-rig{width:65px;height:76px}
.ai-guide.is-minimized .guide-motion-toggle{right:52px;bottom:0}
/* Quiet mode keeps a settled stance. Pause returns to open eyes, never a frozen blink. */
.ai-guide[data-motion-quiet="true"] :is(.guide-pose,.guide-head,.guide-arm,.guide-forearm,.guide-leg){animation:none!important;transform:none!important;transition:none!important}
.ai-guide[data-motion-quiet="true"] .guide-upper-body{animation-name:guide-quiet-breathe!important;animation-duration:6s!important}
.ai-guide[data-motion-paused="true"] .guide-character-art *{animation:none!important;transition:none!important}
.ai-guide[data-motion-paused="true"] :is(.guide-pose,.guide-upper-body,.guide-head,.guide-arm,.guide-forearm,.guide-leg){transform:none!important}
.ai-guide[data-motion-paused="true"] .guide-eyelid-top{transform:translateY(-90px)!important}
.ai-guide[data-motion-paused="true"] .guide-eyelid-bottom{transform:translateY(90px)!important}
.ai-guide[data-motion-paused="true"] .guide-closed-eye{opacity:0!important}
@keyframes guide-breathe{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-8px) rotate(.3deg)}}
@keyframes guide-quiet-breathe{0%,100%{transform:none}50%{transform:translateY(-4px)}}
@keyframes guide-lamp-breathe{0%,100%{opacity:.12}50%{opacity:.6}}
@keyframes guide-blink-top{0%,16%,20%,64%,68%,72%,100%{transform:translateY(-90px)}17.2%,18.2%,65.2%,66.2%,69.2%,70.2%{transform:translateY(0)}}
@keyframes guide-blink-bottom{0%,16%,20%,64%,68%,72%,100%{transform:translateY(90px)}17.2%,18.2%,65.2%,66.2%,69.2%,70.2%{transform:translateY(0)}}
@keyframes guide-blink-line{0%,16.8%,19.2%,64.8%,67.2%,68.8%,71.2%,100%{opacity:0}17.3%,18.2%,65.3%,66.2%,69.3%,70.2%{opacity:1}}
@keyframes guide-wave-arm{0%,100%{transform:rotate(0)}22%,76%{transform:rotate(8deg)}40%,60%{transform:rotate(10deg)}}
@keyframes guide-wave-hand{0%,100%{transform:rotate(0)}22%{transform:rotate(12deg)}36%{transform:rotate(22deg)}50%{transform:rotate(8deg)}64%{transform:rotate(21deg)}78%{transform:rotate(11deg)}}
@keyframes guide-wave-head{0%,100%{transform:rotate(0)}25%,75%{transform:rotate(-2deg)}}
@keyframes guide-wave-balance{0%,100%{transform:rotate(0)}30%,72%{transform:rotate(-2deg)}}
@keyframes guide-weight-shift{0%,100%{transform:none}35%,66%{transform:translateX(7px) rotate(.6deg)}}
@keyframes guide-heel-lift{0%,100%{transform:none}36%,64%{transform:translate(2px,-8px) rotate(2.2deg)}}
@keyframes guide-standing-leg{0%,100%{transform:none}36%,64%{transform:rotate(-.8deg)}}
@keyframes guide-balance-arm{0%,100%{transform:none}35%,64%{transform:rotate(3deg)}}
@keyframes guide-curious-look{0%,100%{transform:none}28%,58%{transform:rotate(-3.5deg)}76%{transform:rotate(.8deg)}}
@keyframes guide-curious-arm{0%,100%{transform:none}28%,58%{transform:rotate(-2deg)}}
@keyframes guide-stretch-body{0%,100%{transform:none}30%,64%{transform:translateY(-12px) rotate(-.5deg)}}
@keyframes guide-stretch-left{0%,100%{transform:none}30%,64%{transform:rotate(5deg)}}
@keyframes guide-stretch-right{0%,100%{transform:none}30%,64%{transform:rotate(-4deg)}}
@keyframes guide-stretch-head{0%,100%{transform:none}30%,64%{transform:rotate(2deg)}}
@media(max-width:760px){.guide-character-rig{width:95px;height:108px}.ai-guide .guide-motion-toggle{right:-3px;bottom:25px;width:30px;height:30px;padding:8px}.ai-guide.is-minimized .guide-motion-toggle{right:51px;bottom:0}}
@media(max-width:390px){.ai-guide.is-minimized .guide-character-rig{width:55px;height:66px}.ai-guide.is-minimized .guide-motion-toggle{right:44px}}
@media(max-height:550px) and (min-width:761px){.guide-character-rig{width:90px;height:90px}.ai-guide .guide-motion-toggle{right:0;bottom:22px}}
@media(prefers-reduced-motion:reduce){
 .ai-guide .guide-character-art *{animation:none!important;transition:none!important}
 .ai-guide :is(.guide-pose,.guide-upper-body,.guide-head,.guide-arm,.guide-forearm,.guide-leg){transform:none!important}
 .ai-guide .guide-eyelid-top{transform:translateY(-90px)!important}.ai-guide .guide-eyelid-bottom{transform:translateY(90px)!important}.ai-guide .guide-closed-eye{opacity:0!important}
}
@media(forced-colors:active){.ai-guide .guide-motion-toggle{background:ButtonFace;border-color:ButtonText;color:ButtonText}.guide-character-art{forced-color-adjust:none}}

/* The powered-up personality belongs to the small companion only. Its source
   artwork and the separate giant-robot reveal keep their original appearance. */
.guide-power-aura,.guide-powered-figure{display:none}
body[data-world=robots] #ai-guide{--guide-aura:#ff617d}
body[data-world=robots] #ai-guide:is(.is-minimized,[data-compact=true]){width:150px}
body[data-world=robots] #ai-guide .guide-launch{width:150px;min-height:218px}
body[data-world=robots] #ai-guide :is(.guide-character,.guide-character-rig){width:150px;height:190px}
body[data-world=robots] #ai-guide :is(.guide-power-aura,.guide-powered-figure){display:block}
body[data-world=robots] #ai-guide .guide-power-hover{display:none}
body[data-world=robots] #ai-guide .guide-launch::before{display:none}
body[data-world=robots] #ai-guide .guide-character-art{filter:drop-shadow(0 5px 7px #0005)}
body[data-world=robots] #ai-guide .guide-powered-figure{transform-box:view-box;transform-origin:512px 900px;transform:translateY(-20px);animation:guide-power-float 3.6s ease-in-out infinite}
body[data-world=robots] #ai-guide .guide-energy-filament{stroke-dashoffset:44;opacity:.6;animation:guide-energy-flow var(--energy-duration) linear var(--energy-delay) infinite}
body[data-world=robots] #ai-guide .guide-energy-bloom{stroke:#ff3155;stroke-width:40;opacity:.5;filter:url(#guide-energy-soften)}
body[data-world=robots] #ai-guide .guide-energy-ribbon{stroke:url(#guide-energy-colour);stroke-width:18}
body[data-world=robots] #ai-guide .guide-energy-core{stroke:#fff1ed;stroke-width:6;opacity:.9}
body[data-world=robots] #ai-guide .guide-energy-ember{opacity:0;transform-box:view-box;animation:guide-energy-drift var(--energy-duration) ease-out var(--energy-delay) infinite}
body[data-world=robots] #ai-guide .guide-power-shadow{transform-box:view-box;transform-origin:512px 1480px;animation:guide-power-shadow 3.6s ease-in-out infinite}
body[data-world=robots] #ai-guide .guide-launch-label{background:#2c1424ef;border-color:#e88ba0;color:#ffe3e9;box-shadow:0 0 13px #ff46613b}
body[data-world=robots] #ai-guide .guide-launch:hover .guide-launch-label{background:#482034;border-color:#ffc2cf}
body[data-world=robots] #ai-guide .guide-motion-toggle{right:132px;bottom:8px}
body[data-world=robots] #ai-guide[data-dock=left] .guide-motion-toggle{left:132px;right:auto}
@keyframes guide-power-float{0%,100%{transform:translateY(-20px)}50%{transform:translateY(-220px)}}
@keyframes guide-energy-flow{0%{stroke-dashoffset:100;opacity:0}16%{opacity:.72}64%{opacity:.9}100%{stroke-dashoffset:0;opacity:0}}
@keyframes guide-energy-drift{0%{transform:translateY(20px);opacity:0}18%{opacity:.85}72%{opacity:.45}100%{transform:translateY(-360px);opacity:0}}
@keyframes guide-power-shadow{0%,100%{opacity:.6;transform:scaleX(1)}50%{opacity:.25;transform:scaleX(.72)}}
/* Pausing stops the energy and floating, while retaining the red face and pose. */
body[data-world=robots] #ai-guide[data-motion-paused=true] .guide-powered-figure{transform:translateY(-120px)}
body[data-world=robots] #ai-guide[data-motion-paused=true] .guide-energy-ember{opacity:.35;transform:translateY(-120px)}
@media(max-width:760px){
 body[data-world=robots] #ai-guide:is(.is-minimized,[data-compact=true]){width:110px}
 body[data-world=robots] #ai-guide .guide-launch{width:110px;min-height:173px}
 body[data-world=robots] #ai-guide :is(.guide-character,.guide-character-rig){width:110px;height:145px}
 body[data-world=robots] #ai-guide .guide-motion-toggle{right:94px;bottom:4px}
 body[data-world=robots] #ai-guide[data-dock=left] .guide-motion-toggle{left:94px;right:auto}
}
@media(prefers-reduced-motion:reduce){
 body[data-world=robots] #ai-guide .guide-powered-figure{transform:translateY(-120px)}
 body[data-world=robots] #ai-guide .guide-energy-ember{opacity:.35;transform:translateY(-120px)}
}

/* Robot banter is a separate speech bubble, never a replacement conversation. */
body[data-world=robots] #ai-guide[data-robot-persona=true] :is(#guide-panel,.guide-teaser){display:none!important}
body[data-world=robots] #ai-guide[data-robot-persona=true] .guide-speech-shell{display:none}
body[data-world=robots] #ai-guide[data-robot-persona=true][data-robot-speaking=true]{width:min(390px,calc(100vw - 40px));--guide-paper:#221525;--guide-paper-ink:#ffeaf0}
body[data-world=robots] #ai-guide[data-robot-persona=true][data-robot-speaking=true] .guide-speech-shell{display:block}
body[data-world=robots] #ai-guide[data-robot-persona=true] .guide-speech-shell:after{border-color:#b66b84}
body[data-world=robots] #ai-guide .guide-robot-banter{border-color:#b66b84;padding:18px;box-shadow:inset 0 0 30px #ff3f6610}
body[data-world=robots] #ai-guide .guide-robot-banter .guide-panel-top{position:static;min-height:0;padding:0;margin:0;border:0}
body[data-world=robots] #ai-guide .guide-robot-banter .guide-message{padding-top:0}
body[data-world=robots] #ai-guide .guide-robot-banter .guide-message h3{color:#fff0f4;padding-right:24px}
body[data-world=robots] #ai-guide .guide-robot-banter .guide-message p{display:block;color:#eec8d6}
body[data-world=robots] #ai-guide .guide-robot-banter .guide-message p[hidden]{display:none}
body[data-world=robots] #ai-guide .guide-robot-banter .guide-actions{margin-top:12px;background:var(--guide-paper);border-color:#664153}
body[data-world=robots] #ai-guide .guide-robot-banter .guide-actions>button{background:#4a233c;border-color:#b66b84;color:#ffeaf0}
body[data-world=robots] #ai-guide .guide-robot-banter .guide-actions>button:hover{background:#683049;border-color:#ffc2cf}
body[data-world=robots] #ai-guide #guide-robot-close{position:absolute;right:8px;top:8px;display:grid;place-items:center;width:34px;min-height:34px;padding:6px;border:1px solid transparent;border-radius:50%;background:transparent;color:#efbdd0}
body[data-world=robots] #ai-guide #guide-robot-close:hover{background:#4a233c;border-color:#b66b84}
@media(max-width:760px){body[data-world=robots] #ai-guide[data-robot-persona=true][data-robot-speaking=true]{width:min(355px,calc(100vw - 20px))}body[data-world=robots] #ai-guide #guide-robot-close{width:44px;min-height:44px}}
@media(max-width:760px){#ai-guide .guide-launch-label{white-space:normal;text-align:center;overflow-wrap:normal}}
@media(forced-colors:active){body[data-world=robots] #ai-guide .guide-robot-banter{border-color:CanvasText;background:Canvas;color:CanvasText;box-shadow:none}body[data-world=robots] #ai-guide .guide-robot-banter :is(p,h3){color:CanvasText}body[data-world=robots] #ai-guide #guide-robot-close,body[data-world=robots] #ai-guide .guide-robot-banter .guide-actions>button{background:ButtonFace;color:ButtonText;border-color:ButtonText}}
