/* Original mascot proportions and colours; motion never adds costume or features. */
.robot-character { display:block; width:100%; height:100%; overflow:visible; pointer-events:none; }
.robot-head { transform-origin:140px 166px; }
.robot-arm-left { transform-origin:108px 181px; }
.robot-arm-right { transform-origin:172px 181px; }
.robot-leg-left { transform-origin:126px 214px; }
.robot-leg-right { transform-origin:154px 214px; }
.robot-eyes { transform-origin:140px 125px; }
.robot-antenna-left { transform-origin:85px 111px; }
.robot-antenna-right { transform-origin:195px 111px; }
.robot-smile { transform-origin:140px 142px; }

@keyframes robot-look {
  0%,100% { transform:rotate(-1deg); }
  40%,60% { transform:rotate(1.5deg); }
}
@keyframes robot-blink {
  0%,42%,46%,77%,81%,100% { transform:scaleY(1); }
  44%,79% { transform:scaleY(.08); }
}
@keyframes robot-wave-left {
  0%,50%,100% { transform:rotate(0); }
  25% { transform:rotate(7deg); }
  75% { transform:rotate(-4deg); }
}
@keyframes robot-wave-right {
  0%,45%,100% { transform:rotate(0); }
  12%,31% { transform:rotate(-27deg); }
  21%,39% { transform:rotate(-8deg); }
}
@keyframes robot-step-left {
  0%,100% { transform:rotate(3deg); }
  50% { transform:rotate(-4deg); }
}
@keyframes robot-step-right {
  0%,100% { transform:rotate(-3deg); }
  50% { transform:rotate(4deg); }
}
@keyframes robot-antenna-sway {
  0%,100% { transform:rotate(-1deg); }
  50% { transform:rotate(1deg); }
}
@keyframes robot-cheer-left {
  0%,100% { transform:rotate(0); }
  25%,65% { transform:rotate(38deg); }
  45% { transform:rotate(26deg); }
}
@keyframes robot-cheer-right {
  0%,100% { transform:rotate(0); }
  25%,65% { transform:rotate(-38deg); }
  45% { transform:rotate(-26deg); }
}
@keyframes robot-smile-cheer {
  0%,100% { transform:scale(1); }
  25%,70% { transform:scale(1.1); }
}

[data-motion="on"] .robot-head { animation:robot-look 5.6s ease-in-out infinite; }
[data-motion="on"] .robot-eyes { animation:robot-blink 6.2s linear infinite; }
[data-motion="on"] .robot-arm-left { animation:robot-wave-left 5.2s ease-in-out infinite; }
[data-motion="on"] .robot-arm-right { animation:robot-wave-right 4.8s ease-in-out infinite; }
[data-motion="on"] .robot-leg-left { animation:robot-step-left 3.8s ease-in-out infinite; }
[data-motion="on"] .robot-leg-right { animation:robot-step-right 3.8s ease-in-out infinite; }
[data-motion="on"] .robot-antenna { animation:robot-antenna-sway 4.6s ease-in-out infinite; }
[data-motion="on"] .companion-art[data-boost="true"] .robot-arm-left { animation:robot-cheer-left 1.1s ease-in-out; }
[data-motion="on"] .companion-art[data-boost="true"] .robot-arm-right { animation:robot-cheer-right 1.1s ease-in-out; }
[data-motion="on"] .companion-art[data-boost="true"] .robot-smile { animation:robot-smile-cheer 1.1s ease-in-out; }
[data-motion="off"] .robot-character *,[data-page-active="false"] .robot-character *,[data-in-view="false"] .robot-character * { animation-play-state:paused!important; }
[data-motion="off"] .robot-character * { animation:none!important; }
@media(prefers-reduced-motion:reduce) {
  html:not([data-motion="on"]) .robot-character * { animation:none!important; }
}
