.floating-idea > summary {
  position: relative;
  overflow: visible;
}

.floating-idea > summary::before,
.floating-idea > summary::after {
  position: absolute;
  z-index: 2;
  pointer-events: none;
  color: #fff;
  -webkit-text-stroke: 1px #8f7cf0;
  text-shadow: 0 0 7px rgba(111, 84, 239, .9), 0 0 13px rgba(111, 84, 239, .45);
  opacity: 0;
}

.floating-idea > summary::before {
  content: "✦";
  top: -12px;
  right: 22px;
  font-size: 1rem;
  animation: idea-button-star-one 2.8s ease-in-out infinite;
}

.floating-idea > summary::after {
  content: "✧";
  bottom: -9px;
  left: 38px;
  font-size: .72rem;
  animation: idea-button-star-two 2.8s .9s ease-in-out infinite;
}

.floating-idea > summary > span {
  animation: idea-bulb-glow 2.8s ease-in-out infinite;
}

@keyframes idea-button-star-one {
  0%, 48%, 100% { opacity: 0; transform: translate(-4px, 5px) rotate(-20deg) scale(.25); }
  12% { opacity: 1; transform: translate(0, 0) rotate(0) scale(1.15); }
  27% { opacity: .35; transform: translate(5px, -5px) rotate(18deg) scale(.6); }
}

@keyframes idea-button-star-two {
  0%, 52%, 100% { opacity: 0; transform: translate(4px, -3px) rotate(15deg) scale(.3); }
  14% { opacity: .95; transform: translate(0, 0) rotate(0) scale(1); }
  31% { opacity: 0; transform: translate(-6px, -5px) rotate(-20deg) scale(.5); }
}

@keyframes idea-bulb-glow {
  0%, 100% { filter: drop-shadow(0 0 5px rgba(255, 190, 45, .55)); transform: scale(1); }
  16% { filter: drop-shadow(0 0 11px rgba(255, 190, 45, 1)); transform: scale(1.06); }
  35% { filter: drop-shadow(0 0 6px rgba(255, 190, 45, .7)); transform: scale(1); }
}

@media (prefers-reduced-motion: reduce) {
  .floating-idea > summary::before,
  .floating-idea > summary::after,
  .floating-idea > summary > span {
    animation: none;
  }
}
