.funds-anchor { position: relative; }
.funds-anchor .fund-debit {
  position: absolute; z-index: 25; right: 0; top: calc(100% + 2px);
  white-space: nowrap; pointer-events: none; padding: 3px 6px; border-radius: 3px;
  color: #ffaaa0; background: #261719e8; text-shadow: 0 1px 4px #000;
  font: 600 19px/1.2 'Chakra Petch',var(--cjk),sans-serif; letter-spacing: .02em;
  animation: fund-debit 1.7s ease-out both;
}
.funds-spending { animation: funds-pulse .65s ease-out; }
@keyframes fund-debit {
  0% { opacity: 0; transform: translateY(calc(var(--debit-slot) * 22px - 5px)) scale(.92); }
  12% { opacity: 1; transform: translateY(calc(var(--debit-slot) * 22px)); }
  65% { opacity: 1; }
  100% { opacity: 0; transform: translateY(calc(var(--debit-slot) * 22px + 24px)); }
}
@keyframes funds-pulse { 0%,30% { color: #ffaaa0; } }
@media(prefers-reduced-motion:reduce) {
  .funds-spending { animation: none; }
  .funds-anchor .fund-debit { animation: fund-debit-still 1.7s linear both; transform: none; top: calc(100% + 2px + var(--debit-slot) * 24px); }
}
@keyframes fund-debit-still { 0%,80% { opacity: 1; } 100% { opacity: 0; } }

.cp-money-announcement {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
#campaign .cp-funds .fund-debit {color:#ffaaa0;font-size:19px;letter-spacing:.02em}
