/* Eye shapes use the logo's own gold, proportions, and stroke language. */
.expressive-eyes .eye-expression{display:none;fill:none;stroke:#bb8749;stroke-width:6.5;stroke-linecap:round;stroke-linejoin:round}
.expressive-eyes:not([data-expression="normal"])>circle{display:none}
.expressive-eyes[data-expression="happy"] [data-eye="happy"],.expressive-eyes[data-expression="squint"] [data-eye="squint"],.expressive-eyes[data-expression="sleepy"] [data-eye="sleepy"],.expressive-eyes[data-expression="wink"] [data-eye="wink"],.expressive-eyes[data-expression="curious"] [data-eye="curious"],.expressive-eyes[data-expression="dizzy"] [data-eye="dizzy"]{display:inline}
.expressive-eyes .filled-eye{fill:#bb8749;stroke:none}.expressive-eyes [data-eye="dizzy"]{stroke-width:4.5}
.robot-visual{display:block;width:100%;height:100%;transform-origin:center;pointer-events:none}
.robot-thumb .thumb-face{display:block;width:100%;height:100%;pointer-events:none;overflow:visible}
.thumb-eyes{transition:transform .1s ease-out}.robot-thumb{isolation:isolate}
.robot-aside{position:absolute;right:calc(100% + 17px);top:50%;transform:translateY(-50%);padding:9px 13px;border:1px solid #d4dfe9;border-radius:14px;background:#f9fbfeef;color:#687d99;box-shadow:0 5px 17px #526b8510;white-space:nowrap;font:10px/1.6 -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif;pointer-events:none;opacity:0;transition:opacity .18s}
.robot-aside.visible{opacity:1}.robot-aside::after{content:"";position:absolute;right:-4px;top:calc(50% - 4px);width:7px;height:7px;border-top:1px solid #d4dfe9;border-right:1px solid #d4dfe9;background:#f9fbfe;transform:rotate(45deg)}
.robot-thumb[data-egg-state="charging"] .robot-visual{animation:robot-overload .09s linear infinite alternate;filter:drop-shadow(0 0 5px #bb874970)}
.robot-thumb[data-egg-state="burst"]{background:transparent;box-shadow:none}
.robot-thumb[data-egg-state="burst"] .robot-visual{animation:robot-pop .2s ease-out forwards}
.robot-thumb[data-egg-state="returning"] .robot-visual{animation:robot-return .6s cubic-bezier(.2,.8,.3,1) both}
.robot-thumb[data-egg-state="dizzy"] .robot-visual{animation:robot-woozy .85s ease-in-out infinite alternate}
.robot-dizzy-stars{position:absolute;inset:-14px -8px;pointer-events:none;opacity:0}
.robot-dizzy-stars i{position:absolute;font:11px/1 Georgia,serif;color:#bb8749;text-shadow:0 0 5px #ffffffc0}
.robot-dizzy-stars i:nth-child(1){left:-1px;top:9px}.robot-dizzy-stars i:nth-child(2){left:50%;top:-2px;color:#93a5c3}.robot-dizzy-stars i:nth-child(3){right:-1px;top:14px;color:#b998b2}
.robot-thumb[data-egg-state="returning"] .robot-dizzy-stars,.robot-thumb[data-egg-state="dizzy"] .robot-dizzy-stars{opacity:1;animation:robot-stars 1.6s ease-in-out infinite alternate}
#robot-fireworks{display:none;position:fixed;inset:0;width:100%;height:100%;z-index:60;pointer-events:none}#robot-fireworks.active{display:block}
@keyframes robot-overload{0%{transform:translate(-5px,2px) rotate(-17deg) scale(1.08)}35%{transform:translate(5px,-3px) rotate(15deg) scale(1.15)}70%{transform:translate(-3px,-2px) rotate(-9deg) scale(1.12)}100%{transform:translate(6px,3px) rotate(18deg) scale(1.18)}}
@keyframes robot-pop{from{opacity:1;transform:scale(1.15)}to{opacity:0;transform:scale(1.9)}}
@keyframes robot-return{0%{opacity:0;transform:translateY(-18px) rotate(-18deg) scale(.7)}70%{opacity:1;transform:translateY(2px) rotate(7deg) scale(1.06)}100%{opacity:1;transform:translateY(0) rotate(-5deg) scale(1)}}
@keyframes robot-woozy{from{transform:rotate(-5deg) translateY(-1px)}to{transform:rotate(5deg) translateY(1px)}}
@keyframes robot-stars{from{transform:rotate(-13deg) translateY(-1px)}to{transform:rotate(13deg) translateY(1px)}}
@media(max-width:740px){.robot-aside{right:calc(100% + 11px);padding:8px 10px;font-size:9px;max-width:205px;white-space:normal;width:max-content}.robot-dizzy-stars i{font-size:9px}}
.motion-paused .robot-visual,.motion-paused .robot-dizzy-stars{animation:none!important}
@media(prefers-reduced-motion:reduce){.robot-visual,.robot-dizzy-stars{animation:none!important}#robot-fireworks{display:none!important}}
@media(max-width:740px){.robot-dizzy-stars{inset:-12px -3px}}

/* Animate the central face independently from the lyre and draggable SVG group. */
#logo-stage #robot{transform-box:fill-box;transform-origin:center}
#logo-stage[data-egg-state="charging"] #robot{animation:robot-overload .09s linear infinite alternate;filter:drop-shadow(0 0 5px #bb874970)}
#logo-stage[data-egg-state="burst"] #robot{animation:robot-pop .2s ease-out forwards}
#logo-stage[data-egg-state="returning"] #robot{animation:robot-return .6s cubic-bezier(.2,.8,.3,1) both}
#logo-stage[data-egg-state="dizzy"] #robot{animation:robot-woozy .85s ease-in-out infinite alternate}
.motion-paused #logo-stage #robot{animation:none!important}
@media(prefers-reduced-motion:reduce){#logo-stage #robot{animation:none!important}}

#logo-stage .central-robot-aside{left:var(--caption-x,50%);top:var(--caption-y,40%);right:auto;transform:translate(-50%,var(--caption-shift,-100%));width:max-content;max-width:min(235px,calc(100vw - 32px));white-space:normal;z-index:8;font:13px/1.7 -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif;text-align:center;letter-spacing:.1px}
#logo-stage .central-robot-aside::after{left:calc(50% - 4px);right:auto;top:auto;bottom:-4px;transform:rotate(135deg)}
@media(max-width:740px){#logo-stage .central-robot-aside{font-size:12px;max-width:205px}}

#logo-stage[data-caption-below] .central-robot-aside::after{top:-4px;bottom:auto;transform:rotate(-45deg)}
#home .artwork:has(#logo-stage[data-egg-state]:not([data-egg-state="idle"])) .thought-bubbles,
#home .artwork:has(#logo-stage[data-string-state="detached"],#logo-stage[data-string-state="returning"]) .thought-bubbles{visibility:hidden}

/* Pointer dragging supplies its own feedback; keep the keyboard focus ring. */
.scrollbar-dragging .robot-thumb:focus{outline:none}

/* A brief warm glow confirms hand placement without moving the scrollbar. */
#logo-stage.robot-placed #face-outline,.robot-thumb.robot-placed .robot-visual{animation:robot-docked .7s ease-out}
@keyframes robot-docked{0%,100%{filter:none}35%{filter:drop-shadow(0 0 5px #bb8749b3) brightness(1.2)}}
@media(prefers-reduced-motion:reduce){#logo-stage.robot-placed #face-outline,.robot-thumb.robot-placed .robot-visual{animation:none}}

.robot-pull-hands{pointer-events:none;fill:none;stroke:#bb8749;stroke-linecap:round;stroke-linejoin:round}
#home .artwork:has(#logo-stage[data-string-state="catching"]) .thought-bubbles{visibility:hidden}

/* Hollow eyes and brow strokes glance together; the face and rail stay steady. */
.expressive-eyes[data-expression="panic"] [data-eye="panic"]{animation:panic-glance 1.2s linear infinite}
@keyframes panic-glance{
  0%,20%,100%{transform:translate(-4.5px,3.5px)}
  23%{transform:translate(-3.7px,4px)}
  26%{transform:translate(-4.5px,3.5px)}
  34%,61%{transform:translate(4.5px,3.5px)}
  64%{transform:translate(3.7px,4px)}
  67%{transform:translate(4.5px,3.5px)}
  76%,92%{transform:translate(-4.5px,3.5px)}
  95%{transform:translate(-3.7px,4px)}
}
.motion-paused .expressive-eyes [data-eye="panic"]{animation:none!important}
@media(prefers-reduced-motion:reduce){.expressive-eyes [data-eye="panic"]{animation:none!important}}
