/* ===== ПАРТИКУЛЫ (приглушённые) ===== */
.particle {
  position: fixed;
  top: 0;
  border-radius: 50%;
  pointer-events: none;
  z-index: -1;
  animation: particleFloat linear infinite;
  opacity: var(--p-op, 0.4);
}

.burst {
  position: fixed;
  border-radius: 50%;
  pointer-events: none;
  z-index: 9000;
  background: var(--gold);
  box-shadow: 0 0 10px var(--gold);
  animation: burstFly 0.9s var(--ease) forwards;
}

.ripple {
  position: fixed;
  border-radius: 50%;
  pointer-events: none;
  z-index: 8999;
  border: 1px solid rgba(201, 168, 106, 0.5);
  transform: translate(-50%, -50%) scale(0);
  animation: rippleExpand 0.8s var(--ease) forwards;
}

@keyframes particleFloat {
  0% { transform: translate3d(0, 0, 0); }
  50% { transform: translate3d(var(--p-drift, 0px), -42vh, 0); }
  100% { transform: translate3d(0, -84vh, 0); }
}

@keyframes burstFly {
  0% { opacity: 1; transform: translate(0, 0) scale(1); }
  100% { opacity: 0; transform: translate(var(--bx, 0px), var(--by, 0px)) scale(0.3); }
}

@keyframes rippleExpand {
  to { transform: translate(-50%, -50%) scale(1); opacity: 0; }
}
