#cursor-ember-layer {
  position: fixed;
  inset: 0;
  z-index: 15;
  overflow: hidden;
  pointer-events: none;
}

.cursor-ember {
  position: absolute;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 241, 168, 1) 0%, rgba(255, 151, 35, 0.95) 42%, transparent 75%);
  filter: drop-shadow(0 0 6px rgba(255, 139, 32, 0.8)) drop-shadow(0 0 12px rgba(255, 196, 63, 0.55));
  animation: cursorEmberFade 850ms ease-out forwards;
  will-change: transform, opacity;
}

@keyframes cursorEmberFade {
  from {
    transform: translate(-50%, -50%) scale(0.65);
    opacity: 0.9;
  }
  to {
    transform: translate(calc(-50% + var(--ember-drift-x)), calc(-50% + var(--ember-drift-y))) scale(0.1);
    opacity: 0;
  }
}
