.wpmee-cursor,
.wpmee-particle {
  position: fixed;
  pointer-events: none;
  z-index: 2147483647;
  box-sizing: border-box;
}

.wpmee-cursor {
  left: 0;
  top: 0;
  opacity: 0;
  transition: opacity .16s ease;
  will-change: transform;
}

.wpmee-cursor.wpmee-visible {
  opacity: 1;
}

.wpmee-aura {
  width: calc(115px * var(--size));
  height: calc(115px * var(--size));
  border-radius: 50%;
  background: radial-gradient(circle, var(--c32) 0%, var(--c18) 26%, var(--c08) 48%, #00000000 72%);
  filter: blur(7px);
}

.wpmee-comet {
  width: calc(24px * var(--size));
  height: calc(24px * var(--size));
  border-radius: 50%;
  background: var(--c85);
  box-shadow: 0 0 calc(10px * var(--size)) var(--c65), 0 0 calc(28px * var(--size)) var(--c32);
}

.wpmee-comet-particle {
  width: calc(42px * var(--particle-size));
  height: calc(5px * var(--particle-size));
  border-radius: 999px;
  transform-origin: right center;
  background: linear-gradient(90deg, #00000000, var(--particle-color));
  box-shadow: 0 0 12px var(--particle-glow);
  animation: wpmeeComet .52s ease-out forwards;
}

.wpmee-spotlight {
  width: calc(230px * var(--size));
  height: calc(230px * var(--size));
  border-radius: 50%;
  background: radial-gradient(circle, var(--c24) 0%, var(--c12) 35%, var(--c08) 52%, #00000000 75%);
  filter: blur(13px);
}

.wpmee-magnetic-ring {
  width: calc(54px * var(--size));
  height: calc(54px * var(--size));
  border-radius: 50%;
  border: 2px solid var(--c65);
  box-shadow: inset 0 0 16px var(--c18), 0 0 24px var(--c18);
  animation: wpmeeRingBreath 1.7s ease-in-out infinite;
}

.wpmee-crosshair {
  width: calc(70px * var(--size));
  height: calc(70px * var(--size));
}

.wpmee-cross-h,
.wpmee-cross-v,
.wpmee-cross-dot {
  position: absolute;
  display: block;
}

.wpmee-cross-h {
  left: 0;
  top: 50%;
  width: 100%;
  height: 1px;
  background: linear-gradient(90deg, #00000000, var(--c65), #00000000);
}

.wpmee-cross-v {
  top: 0;
  left: 50%;
  width: 1px;
  height: 100%;
  background: linear-gradient(0deg, #00000000, var(--c65), #00000000);
}

.wpmee-cross-dot {
  left: 50%;
  top: 50%;
  width: calc(7px * var(--size));
  height: calc(7px * var(--size));
  border-radius: 50%;
  background: var(--c85);
  transform: translate(-50%, -50%);
  box-shadow: 0 0 12px var(--c45);
}

.wpmee-liquid-orb {
  width: calc(72px * var(--size));
  height: calc(58px * var(--size));
  border-radius: 54% 46% 60% 40% / 43% 56% 44% 57%;
  background:
    radial-gradient(circle at 35% 28%, #ffffff55 0%, #ffffff18 12%, #00000000 24%),
    linear-gradient(145deg, var(--c45), var(--c12));
  box-shadow:
    inset 8px 8px 18px #ffffff18,
    inset -10px -12px 20px var(--c18),
    0 10px 28px var(--c18);
  backdrop-filter: blur(2px);
  animation: wpmeeLiquid 3s ease-in-out infinite;
}

.wpmee-satellites {
  width: calc(72px * var(--size));
  height: calc(72px * var(--size));
  border-radius: 50%;
  border: 1px solid var(--c18);
  animation: wpmeeOrbit 3.5s linear infinite;
}

.wpmee-sat {
  position: absolute;
  width: calc(8px * var(--size));
  height: calc(8px * var(--size));
  border-radius: 50%;
  background: var(--c85);
  box-shadow: 0 0 12px var(--c45);
}

.wpmee-sat.s1 {
  left: 50%;
  top: -4px;
  transform: translateX(-50%);
}

.wpmee-sat.s2 {
  left: 50%;
  bottom: -4px;
  transform: translateX(-50%);
}

.wpmee-silk-ribbon {
  width: calc(82px * var(--size));
  height: calc(10px * var(--size));
  border-radius: 999px;
  background: linear-gradient(90deg, #00000000, var(--c32), var(--c65), #00000000);
  filter: blur(.4px);
}

.wpmee-ribbon-particle {
  width: calc(62px * var(--particle-size));
  height: calc(7px * var(--particle-size));
  border-radius: 999px;
  transform-origin: center;
  background: linear-gradient(90deg, #00000000, var(--particle-color), #00000000);
  box-shadow: 0 0 14px var(--particle-glow);
  animation: wpmeeRibbon .70s cubic-bezier(.2,.6,.2,1) forwards;
}

.wpmee-prism-lens {
  width: calc(86px * var(--size));
  height: calc(86px * var(--size));
  border-radius: 50%;
  border: 1px solid var(--c32);
  background:
    radial-gradient(circle at 32% 28%, #ffffff66 0%, #ffffff10 13%, #00000000 24%),
    conic-gradient(from 30deg, var(--c18), #ffffff12, var(--c32), #00000000, var(--c18));
  box-shadow: inset 0 0 24px var(--c12), 0 0 26px var(--c12);
  backdrop-filter: blur(2px);
  animation: wpmeePrism 5s linear infinite;
}

.wpmee-echo-waves {
  width: calc(20px * var(--size));
  height: calc(20px * var(--size));
}

.wpmee-wave {
  position: absolute;
  left: 50%;
  top: 50%;
  width: calc(22px * var(--size));
  height: calc(22px * var(--size));
  border: 1px solid var(--c65);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  animation: wpmeeWave 1.8s ease-out infinite;
}

.wpmee-wave.w2 { animation-delay: .6s; }
.wpmee-wave.w3 { animation-delay: 1.2s; }

.wpmee-particle {
  transform: translate(-50%, -50%) rotate(var(--particle-angle));
}

@keyframes wpmeeComet {
  from {
    opacity: .9;
    transform: translate(-50%, -50%) rotate(var(--particle-angle)) scaleX(1);
  }
  to {
    opacity: 0;
    transform: translate(-50%, -50%) rotate(var(--particle-angle)) scaleX(2.4);
  }
}

@keyframes wpmeeRibbon {
  from {
    opacity: .9;
    transform: translate(-50%, -50%) rotate(var(--particle-angle)) scaleX(1);
  }
  to {
    opacity: 0;
    transform: translate(-50%, -50%) rotate(var(--particle-angle)) scaleX(2.8) scaleY(.55);
  }
}

@keyframes wpmeeRingBreath {
  0%, 100% {
    transform: scale(.92);
    opacity: .78;
  }
  50% {
    transform: scale(1.08);
    opacity: 1;
  }
}

@keyframes wpmeeLiquid {
  0%, 100% {
    border-radius: 54% 46% 60% 40% / 43% 56% 44% 57%;
  }
  33% {
    border-radius: 43% 57% 45% 55% / 60% 42% 58% 40%;
  }
  66% {
    border-radius: 60% 40% 51% 49% / 46% 61% 39% 54%;
  }
}

@keyframes wpmeeOrbit {
  from { rotate: 0deg; }
  to { rotate: 360deg; }
}

@keyframes wpmeePrism {
  from { rotate: 0deg; }
  to { rotate: 360deg; }
}

@keyframes wpmeeWave {
  0% {
    opacity: .75;
    transform: translate(-50%, -50%) scale(.35);
  }
  100% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(3.5);
  }
}
