@keyframes mimo-screen-in {
  from { opacity: 0; transform: translate3d(var(--mimo-screen-x, 28px), 0, 0) scale(.992); filter: blur(3px); }
  to { opacity: 1; transform: none; filter: none; }
}

@keyframes mimo-waterfall {
  from { opacity: 0; transform: translate3d(0, 26px, 0); }
  1% { opacity: 1; }
  to { opacity: 1; transform: none; }
}

@keyframes mimo-sheet-in {
  from { opacity: 0; transform: translate3d(0, 36px, 0) scale(.985); }
  to { opacity: 1; transform: none; }
}

@keyframes mimo-sheen-once {
  0% { transform: translate3d(-180%, 0, 0) rotate(22deg); opacity: 0; }
  18% { opacity: .7; }
  72%, 100% { transform: translate3d(520%, 0, 0) rotate(22deg); opacity: 0; }
}

.mimo-screen-enter { animation: mimo-screen-in var(--mimo-slow) var(--mimo-ease-out) both; }

.mimo-waterfall > * {
  opacity: 0;
  animation: mimo-waterfall 440ms var(--mimo-ease-out) both;
}

.mimo-waterfall > :nth-child(1) { animation-delay: 90ms; }
.mimo-waterfall > :nth-child(2) { animation-delay: 135ms; }
.mimo-waterfall > :nth-child(3) { animation-delay: 180ms; }
.mimo-waterfall > :nth-child(4) { animation-delay: 225ms; }
.mimo-waterfall > :nth-child(5) { animation-delay: 270ms; }
.mimo-waterfall > :nth-child(n+6) { animation-delay: 315ms; }

.mimo-pressable {
  transform-origin: 50% 50%;
  transition:
    transform 360ms var(--mimo-ease-spring),
    box-shadow 360ms var(--mimo-ease-out),
    filter var(--mimo-fast);
}

.mimo-pressable:active {
  transform: scale(.94);
  transition-duration: 90ms;
  transition-timing-function: linear;
}

.mimo-sheet-open { animation: mimo-sheet-in 420ms var(--mimo-ease-out) both; }

.mimo-sheen {
  position: absolute;
  z-index: 6;
  top: -60%;
  left: -20%;
  width: 44px;
  height: 220%;
  pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(244,238,231,.24), transparent);
  animation: mimo-sheen-once 1.1s 160ms var(--mimo-ease-out) both;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}
