/* Roxie Ready Dance Layer — Gateway h22
   Lightweight whole-character motion for the transparent 3D Roxie asset.
   Respects prefers-reduced-motion and never animates Ranger Ready. */

.rr-roxie-dance-button{
  display:none;align-items:center;justify-content:center;width:30px!important;min-width:30px!important;height:30px!important;
  padding:0!important;border:1px solid rgba(255,255,255,.24)!important;border-radius:9px!important;
  background:rgba(255,255,255,.10)!important;color:#fff!important;font-size:15px!important;font-weight:900!important;
  line-height:1!important;cursor:pointer!important;touch-action:manipulation;-webkit-tap-highlight-color:transparent
}
[data-rrbo-persona="female"] .rr-roxie-dance-button,
[data-rrsg-persona="female"] .rr-roxie-dance-button{display:inline-flex}
.rr-roxie-dance-button:hover{background:rgba(255,255,255,.18)!important}
.rr-roxie-dance-button:focus-visible{outline:2px solid #fff;outline-offset:2px}

.rrbo-character.roxie-is-dancing,
.rrsg__character.roxie-is-dancing{
  transform-origin:50% 100%!important;
  will-change:transform;
}

.rrbo-character.roxie-dance-victory,.rrsg__character.roxie-dance-victory{animation:roxie-victory 1.25s cubic-bezier(.2,.8,.2,1) both!important}
.rrbo-character.roxie-dance-shimmy,.rrsg__character.roxie-dance-shimmy{animation:roxie-shimmy 1.15s ease-in-out both!important}
.rrbo-character.roxie-dance-groove,.rrsg__character.roxie-dance-groove{animation:roxie-groove 1.55s ease-in-out both!important}
.rrbo-character.roxie-dance-spin,.rrsg__character.roxie-dance-spin{animation:roxie-spin 1.2s cubic-bezier(.35,.75,.3,1.05) both!important}
.rrbo-character.roxie-dance-caught,.rrsg__character.roxie-dance-caught{animation:roxie-caught 1s ease-out both!important}

@keyframes roxie-victory{
  0%,100%{transform:translate3d(0,0,0) rotate(0) scale(1)}
  18%{transform:translate3d(-5px,-13px,0) rotate(-5deg) scale(1.03)}
  36%{transform:translate3d(5px,-4px,0) rotate(5deg) scale(1.01)}
  54%{transform:translate3d(-3px,-10px,0) rotate(-3deg) scale(1.025)}
  72%{transform:translate3d(3px,-2px,0) rotate(3deg) scale(1.01)}
}
@keyframes roxie-shimmy{
  0%,100%{transform:translate3d(0,0,0) rotate(0) skewX(0)}
  15%{transform:translate3d(-7px,-2px,0) rotate(-3deg) skewX(-2deg)}
  30%{transform:translate3d(7px,-2px,0) rotate(3deg) skewX(2deg)}
  45%{transform:translate3d(-7px,-3px,0) rotate(-3deg) skewX(-2deg)}
  60%{transform:translate3d(7px,-3px,0) rotate(3deg) skewX(2deg)}
  78%{transform:translate3d(-3px,-1px,0) rotate(-1deg)}
}
@keyframes roxie-groove{
  0%,100%{transform:translate3d(0,0,0) rotate(0) scale(1)}
  14%{transform:translate3d(-4px,-6px,0) rotate(-2deg) scale(1.015,.985)}
  28%{transform:translate3d(4px,0,0) rotate(2deg) scale(.99,1.01)}
  42%{transform:translate3d(-3px,-8px,0) rotate(-2deg) scale(1.02,.98)}
  56%{transform:translate3d(4px,0,0) rotate(2.5deg) scale(.99,1.01)}
  70%{transform:translate3d(-2px,-5px,0) rotate(-1.5deg)}
  84%{transform:translate3d(2px,-1px,0) rotate(1deg)}
}
@keyframes roxie-spin{
  0%{transform:translate3d(0,0,0) rotateY(0deg) rotateZ(0deg) scale(1)}
  28%{transform:translate3d(0,-7px,0) rotateY(105deg) rotateZ(-2deg) scale(.98)}
  58%{transform:translate3d(0,-4px,0) rotateY(245deg) rotateZ(2deg) scale(1.02)}
  84%{transform:translate3d(0,-2px,0) rotateY(340deg) rotateZ(-1deg) scale(1)}
  100%{transform:translate3d(0,0,0) rotateY(360deg) rotateZ(0deg) scale(1)}
}
@keyframes roxie-caught{
  0%{transform:translate3d(0,0,0) rotate(0)}
  16%{transform:translate3d(-5px,-6px,0) rotate(-4deg)}
  32%{transform:translate3d(6px,-8px,0) rotate(5deg)}
  48%{transform:translate3d(-4px,-4px,0) rotate(-3deg)}
  64%{transform:translate3d(3px,-2px,0) rotate(2deg)}
  82%{transform:translate3d(-1px,-1px,0) rotate(-1deg)}
  100%{transform:translate3d(0,0,0) rotate(0)}
}

@media(max-width:760px){.rr-roxie-dance-button{width:28px!important;min-width:28px!important;height:28px!important;font-size:14px!important}}
@media(prefers-reduced-motion:reduce){
  .rrbo-character.roxie-is-dancing,.rrsg__character.roxie-is-dancing{animation:none!important;transform:none!important}
  .rr-roxie-dance-button{display:none!important}
}
