/* The result stays readable; only its brief confirmation lights up. */
.wheel-frame.has-result .wheel-core { border-color: #3b4a39; }
.wheel-frame.has-result .result-icon { color: #c8e0bb; }
.wheel-core::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: #8bd25b;
  opacity: 0;
  pointer-events: none;
}
.wheel-core > * { position: relative; }
.wheel-core.achievement-flash::before {
  animation: wheel-achieved 720ms ease-out both;
}
@keyframes wheel-achieved {
  0% { opacity: 0; }
  10%, 35% { opacity: .38; }
  100% { opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .wheel-core.achievement-flash::before { animation-name: wheel-achieved-reduced; }
  @keyframes wheel-achieved-reduced {
    0% { opacity: 0; }
    25%, 50% { opacity: .2; }
    100% { opacity: 0; }
  }
}
