/* konfetti */
.konfetti-host {
  position: fixed;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
  z-index: var(--z-konfetti);
}
.konfetti-partikel {
  position: absolute;
  width: 8px; height: 8px;
  border-radius: 2px;
  background: var(--accent);
  --cx: 0px;
  --cy: 0px;
  animation: konfetti-flug 720ms cubic-bezier(0.2, 0.6, 0.4, 1) forwards;
  will-change: transform, opacity;
}
.konfetti-partikel--rund { border-radius: 50%; }
.konfetti-partikel--stern {
  background: var(--accent);
  clip-path: polygon(50% 0,
    61% 35%, 98% 35%, 68% 57%,
    79% 91%, 50% 70%, 21% 91%,
    32% 57%, 2% 35%, 39% 35%);
  width: 14px; height: 14px;
}

@keyframes konfetti-flug {
  0% { transform: translate(0, 0) rotate(0deg); opacity: 1; }
  60% { opacity: 1; }
  100% { transform: translate(var(--cx), var(--cy)) rotate(540deg); opacity: 0; }
}

@media (prefers-reduced-motion: reduce) { .konfetti-partikel { animation: none; opacity: 0; } }
