/* Small entrances and Rosie; every optional effect respects the motion setting. */
@keyframes wordmark-arrive {
  from {
    opacity:0;
    translate:0 12px
  }
  to {
    opacity:1;
    translate:0 0
  }
}
@keyframes photo-arrive {
  from {
    opacity:0;
    translate:0 18px
  }
  to {
    opacity:1;
    translate:0 0
  }
}
.world-arriving .cover-wordmark {
  animation:wordmark-arrive .75s cubic-bezier(.16,1,.3,1) both
}
.world-arriving .cover-main {
  animation:photo-arrive .8s .1s cubic-bezier(.16,1,.3,1) both
}
.world-arriving .cover-copy {
  animation:photo-arrive .8s .2s cubic-bezier(.16,1,.3,1) both
}
.experience-ready .unfold {
  opacity:0;
  translate:0 14px;
  transition:opacity .55s var(--unfold-delay,0ms),translate .55s var(--unfold-delay,0ms)
}
.experience-ready .unfold.unfolded {
  opacity:1;
  translate:0 0
}
#rabbit {
  position:fixed;
  bottom:6px;
  left:-150px;
  z-index:30;
  width:135px;
  height:135px;
  padding:0;
  border:0;
  background:none;
  filter:drop-shadow(0 5px 7px #17121945)
}
.rabbit-sprite {
  display:block;
  width:100%;
  height:100%;
  background:url('rosie-sprite.png') no-repeat 0 0;
  background-size:200% 100%;
  pointer-events:none
}
#rabbit .rabbit-sprite {
  animation:rabbitPose .42s step-end infinite,rabbitBound .42s ease-in-out infinite
}
#rabbit.idling .rabbit-sprite {
  animation:none;
  background-position:0 0
}
#rabbit:focus-visible {
  outline-offset:-7px;
  border-radius:50%
}
@keyframes rabbitPose {
  0%,100% {
    background-position:0 0
  }
  50% {
    background-position:100% 0
  }
}
@keyframes rabbitBound {
  50% {
    translate:0 -9px
  }
}
.experience-suspended :is(.velvet,.velvet::after,.door-frame) {
  animation-play-state:paused
}
.motion-paused *, .motion-paused *::before, .motion-paused *::after {
  animation:none!important;
  transition:none!important;
  scroll-behavior:auto!important
}
.motion-paused .unfold {
  opacity:1!important;
  translate:0 0!important
}
@media(max-width:600px) {
  #rabbit {
    width:112px;
    height:112px;
    bottom:2px
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }
  *,*::before,*::after {
    animation:none!important;
    transition:none!important;
    scroll-behavior:auto!important
  }
  .unfold {
    opacity:1!important;
    translate:0 0!important
  }
}
