/* ccs-wl-embers:v3 — sitewide waxlight sparks + high-rise ambient embers · Calm-safe */
.wl-spark-layer {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 9998;
  overflow: hidden;
}
.wl-spark {
  position: absolute;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: radial-gradient(circle, #ffe566 0%, #e8b84a 45%, transparent 70%);
  opacity: 0.95;
  animation: wl-spark-fly 0.85s ease-out forwards;
}
@keyframes wl-spark-fly {
  0% { transform: translate(0, 0) scale(1); opacity: 1; }
  100% { transform: translate(var(--dx), var(--dy)) scale(0.2); opacity: 0; }
}
/* Ambient embers: soft gold/amber, rise 30–70% viewport */
.wl-spark.wl-ember {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: radial-gradient(circle, #fff0b8 0%, #ffe566 28%, #e8b84a 55%, #c4782a 78%, transparent 88%);
  opacity: 0.88;
  box-shadow: 0 0 7px rgba(255, 200, 90, 0.42);
  animation-name: wl-ember-rise;
  animation-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1);
  animation-fill-mode: forwards;
}
.wl-spark.wl-ember.wl-ember-amber {
  background: radial-gradient(circle, #ffe9a0 0%, #f0a84a 40%, #d4782a 70%, transparent 85%);
  box-shadow: 0 0 8px rgba(232, 140, 50, 0.4);
}
.wl-spark.wl-ember.wl-ember-soft {
  width: 3.5px;
  height: 3.5px;
  opacity: 0.7;
  box-shadow: 0 0 5px rgba(255, 220, 120, 0.35);
}
@keyframes wl-ember-rise {
  0% { transform: translate(0, 0) scale(1); opacity: 0.55; }
  12% { opacity: 0.95; }
  70% { opacity: 0.75; }
  100% { transform: translate(var(--dx), var(--dy)) scale(0.12); opacity: 0; }
}
html.calm-mode .wl-spark-layer,
body.calm .wl-spark-layer { display: none !important; }
@media (prefers-reduced-motion: reduce) {
  .wl-spark-layer { display: none !important; }
}
