/* Decorative artwork and a short, non-interactive entrance shower. */
.cash-rain {
  position: fixed;
  inset: 0;
  z-index: 60;
  overflow: hidden;
  pointer-events: none;
  user-select: none;
  contain: strict;
}
.cash-rain__piece {
  position: absolute;
  top: 0;
  left: var(--cash-left);
  width: var(--cash-width);
  opacity: 0;
  will-change: transform;
  animation: cash-fall var(--cash-duration) var(--cash-delay) linear both;
}
.cash-rain__piece img {
  display: block;
  width: 100%;
  height: auto;
  filter: drop-shadow(1px 4px 1px #102c2325);
  animation: cash-flutter 1.35s ease-in-out infinite alternate;
  animation-delay: var(--cash-delay);
}
.cash-rain__piece--coin img { animation-name: cash-wobble; }
@keyframes cash-fall {
  0% { opacity: 0; transform: translate3d(0, -180px, 0) rotate(var(--cash-turn)); }
  7% { opacity: .95; }
  88% { opacity: .95; }
  100% { opacity: 0; transform: translate3d(var(--cash-drift), calc(100vh + 160px), 0) rotate(var(--cash-spin)); }
}
@keyframes cash-flutter {
  from { transform: perspective(300px) rotateY(-33deg) rotateX(16deg); }
  to { transform: perspective(300px) rotateY(40deg) rotateX(-14deg); }
}
@keyframes cash-wobble {
  from { transform: rotateY(-46deg); }
  to { transform: rotateY(42deg); }
}
.cash-doodle {
  display: block;
  max-width: 100%;
  height: auto;
  pointer-events: none;
  user-select: none;
  transform-origin: center;
  transform: rotate(var(--cash-tilt, 0deg));
}
html[data-cash-motion="on"] .cash-doodle {
  animation: cash-float 4.8s ease-in-out infinite;
}
html[data-cash-motion="on"] .cash-coin { animation: cash-rock 5.2s ease-in-out infinite; }
html[data-cash-motion="on"] .cash-bill { animation-delay: -.8s; }
@keyframes cash-float {
  0%, 100% { transform: translateY(0) rotate(calc(var(--cash-tilt, 0deg) - 2deg)); }
  50% { transform: translateY(-9px) rotate(calc(var(--cash-tilt, 0deg) + 2deg)); }
}
@keyframes cash-rock {
  0%, 100% { transform: translateY(0) rotate(calc(var(--cash-tilt, 0deg) - 7deg)); }
  50% { transform: translateY(-7px) rotate(calc(var(--cash-tilt, 0deg) + 7deg)); }
}
[data-rain-replay], [data-motion-toggle] {
  font: inherit;
  line-height: 1.3;
  cursor: pointer;
}
[data-motion-toggle] { touch-action: manipulation; }
[data-rain-replay]:disabled, [data-motion-toggle]:disabled { opacity: .65; cursor: default; }
html[data-cash-motion="off"] .cash-rain { display: none; }
html[data-cash-motion="off"] .cash-doodle { animation: none; }
@media (prefers-reduced-motion: reduce) {
  .cash-rain { display: none; }
  .cash-doodle { animation: none !important; }
}
@media print {
  .cash-rain, [data-rain-replay], [data-motion-toggle] { display: none; }
  .cash-doodle { animation: none !important; }
}
