:root {
  --gms-follow-primary: #0b63ce;
  --gms-follow-secondary: #111827;
  --gms-follow-size: 46px;
  --gms-follow-opacity: .92;
  --gms-follow-glow: 28px;
  --gms-follow-border: 1px;
  --gms-follow-z: 999999;
}

html.gms-follow-hide-native-cursor,
html.gms-follow-hide-native-cursor body,
html.gms-follow-hide-native-cursor a,
html.gms-follow-hide-native-cursor button,
html.gms-follow-hide-native-cursor input,
html.gms-follow-hide-native-cursor textarea,
html.gms-follow-hide-native-cursor select,
html.gms-follow-hide-native-cursor [role="button"],
html.gms-follow-hide-native-cursor .wp-block-navigation__responsive-container,
html.gms-follow-hide-native-cursor .wp-block-navigation__responsive-container *,
html.gms-follow-hide-native-cursor .mobile-menu,
html.gms-follow-hide-native-cursor .mobile-menu *,
html.gms-follow-hide-native-cursor .offcanvas,
html.gms-follow-hide-native-cursor .offcanvas *,
html.gms-follow-hide-native-cursor .drawer,
html.gms-follow-hide-native-cursor .drawer * {
  cursor: none !important;
}

.gms-follow-layer {
  position: fixed !important;
  inset: 0;
  z-index: var(--gms-follow-z);
  pointer-events: none !important;
  opacity: 0;
  visibility: hidden;
  transition: opacity .22s ease, visibility .22s ease;
  isolation: isolate;
  contain: layout style;
}

.gms-follow-layer.is-menu-context {
  z-index: 2147483000 !important;
}

html.gms-follow-menu-context .gms-follow-layer {
  z-index: 2147483000 !important;
}

.gms-follow-layer.is-visible {
  opacity: var(--gms-follow-opacity);
  visibility: visible;
}

.gms-follow-cursor,
.gms-follow-dot,
.gms-follow-label,
.gms-follow-scroll-cue {
  position: fixed;
  left: 0;
  top: 0;
  pointer-events: none;
  will-change: transform, opacity;
}

.gms-follow-cursor {
  width: var(--gms-follow-size);
  height: var(--gms-follow-size);
  margin-left: calc(var(--gms-follow-size) / -2);
  margin-top: calc(var(--gms-follow-size) / -2);
  border-radius: 999px;
  border: var(--gms-follow-border) solid color-mix(in srgb, var(--gms-follow-primary) 70%, #fff);
  background: color-mix(in srgb, var(--gms-follow-primary) 12%, transparent);
  box-shadow: 0 0 var(--gms-follow-glow) color-mix(in srgb, var(--gms-follow-primary) 38%, transparent);
  backdrop-filter: blur(2px);
}

.gms-follow-cursor::before,
.gms-follow-cursor::after {
  content: '';
  position: absolute;
  pointer-events: none;
}

.gms-follow-dot {
  width: 7px;
  height: 7px;
  margin-left: -3.5px;
  margin-top: -3.5px;
  border-radius: 999px;
  background: var(--gms-follow-primary);
  box-shadow: 0 0 18px color-mix(in srgb, var(--gms-follow-primary) 75%, transparent);
}

.gms-follow-layer.no-dot .gms-follow-dot,
.gms-follow-layer.no-label .gms-follow-label {
  display: none;
}

.gms-follow-label {
  padding: 6px 10px;
  border-radius: 999px;
  color: #fff;
  background: color-mix(in srgb, var(--gms-follow-secondary) 88%, transparent);
  box-shadow: 0 10px 28px rgba(15, 23, 42, .16);
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .04em;
  text-transform: uppercase;
  white-space: nowrap;
}

.gms-follow-layer.is-interactive .gms-follow-cursor {
  border-color: var(--gms-follow-primary);
  box-shadow: 0 0 calc(var(--gms-follow-glow) + 18px) color-mix(in srgb, var(--gms-follow-primary) 55%, transparent);
}

.gms-follow-layer.is-menu-context .gms-follow-cursor {
  box-shadow: 0 0 calc(var(--gms-follow-glow) + 22px) color-mix(in srgb, var(--gms-follow-primary) 58%, transparent), inset 0 0 18px rgba(255,255,255,.16);
}

.gms-follow-layer.is-menu-context .gms-follow-dot {
  transform-origin: center;
}

/* Variante 1: Aura */
.gms-follow-layer.style-aura .gms-follow-cursor {
  background: radial-gradient(circle, color-mix(in srgb, var(--gms-follow-primary) 23%, transparent), color-mix(in srgb, var(--gms-follow-primary) 10%, transparent) 46%, transparent 70%);
  box-shadow: 0 0 var(--gms-follow-glow) color-mix(in srgb, var(--gms-follow-primary) 55%, transparent), inset 0 0 18px rgba(255,255,255,.18);
}

/* Variante 2: Premium Ring */
.gms-follow-layer.style-ring .gms-follow-cursor {
  border: calc(var(--gms-follow-border) + 1px) solid var(--gms-follow-primary);
  background: transparent;
  box-shadow: 0 0 var(--gms-follow-glow) color-mix(in srgb, var(--gms-follow-primary) 35%, transparent);
}

/* Variante 3: Glass */
.gms-follow-layer.style-glass .gms-follow-cursor {
  border: var(--gms-follow-border) solid rgba(255,255,255,.56);
  background: linear-gradient(135deg, rgba(255,255,255,.28), rgba(255,255,255,.08));
  box-shadow: 0 16px 42px rgba(15, 23, 42, .18), inset 0 0 20px rgba(255,255,255,.18);
  backdrop-filter: blur(9px) saturate(145%);
}

/* Variante 4: Soft Blob */
.gms-follow-layer.style-blob .gms-follow-cursor,
.gms-follow-layer.style-liquid .gms-follow-cursor {
  border: 0;
  background: radial-gradient(circle at 30% 20%, rgba(255,255,255,.42), transparent 23%), linear-gradient(135deg, var(--gms-follow-primary), color-mix(in srgb, var(--gms-follow-secondary) 55%, var(--gms-follow-primary)));
  box-shadow: 0 0 var(--gms-follow-glow) color-mix(in srgb, var(--gms-follow-primary) 46%, transparent);
  animation: gmsFollowBlob 4s ease-in-out infinite;
}

/* Variante 5: Spotlight */
.gms-follow-layer.style-spotlight .gms-follow-cursor {
  width: calc(var(--gms-follow-size) * 1.9);
  height: calc(var(--gms-follow-size) * 1.9);
  margin-left: calc(var(--gms-follow-size) * -.95);
  margin-top: calc(var(--gms-follow-size) * -.95);
  border: 0;
  background: radial-gradient(circle, color-mix(in srgb, var(--gms-follow-primary) 18%, transparent) 0%, color-mix(in srgb, var(--gms-follow-primary) 8%, transparent) 42%, transparent 72%);
  box-shadow: none;
  mix-blend-mode: multiply;
}

/* Variante 6: Neon */
.gms-follow-layer.style-neon .gms-follow-cursor {
  border: 2px solid var(--gms-follow-primary);
  background: transparent;
  box-shadow: 0 0 calc(var(--gms-follow-glow) * .7) var(--gms-follow-primary), 0 0 calc(var(--gms-follow-glow) * 1.35) color-mix(in srgb, var(--gms-follow-primary) 58%, transparent), inset 0 0 16px color-mix(in srgb, var(--gms-follow-primary) 30%, transparent);
}
.gms-follow-layer.style-neon .gms-follow-cursor::before {
  inset: 8px;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--gms-follow-primary) 70%, #fff);
}

/* Variante 7: Target / Crosshair */
.gms-follow-layer.style-target .gms-follow-cursor {
  border: 1px solid var(--gms-follow-primary);
  background: transparent;
  box-shadow: 0 0 var(--gms-follow-glow) color-mix(in srgb, var(--gms-follow-primary) 25%, transparent);
}
.gms-follow-layer.style-target .gms-follow-cursor::before {
  left: 50%;
  top: -8px;
  width: 1px;
  height: calc(100% + 16px);
  background: color-mix(in srgb, var(--gms-follow-primary) 82%, transparent);
}
.gms-follow-layer.style-target .gms-follow-cursor::after {
  left: -8px;
  top: 50%;
  width: calc(100% + 16px);
  height: 1px;
  background: color-mix(in srgb, var(--gms-follow-primary) 82%, transparent);
}

/* Variante 8: Comet */
.gms-follow-layer.style-comet .gms-follow-cursor {
  width: calc(var(--gms-follow-size) * 1.65);
  height: calc(var(--gms-follow-size) * .48);
  margin-left: calc(var(--gms-follow-size) * -.82);
  margin-top: calc(var(--gms-follow-size) * -.24);
  border: 0;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent 0%, color-mix(in srgb, var(--gms-follow-primary) 34%, transparent) 38%, var(--gms-follow-primary) 100%);
  box-shadow: 0 0 var(--gms-follow-glow) color-mix(in srgb, var(--gms-follow-primary) 48%, transparent);
}
.gms-follow-layer.style-comet .gms-follow-dot {
  background: #fff;
}

/* Variante 9: Orbit */
.gms-follow-layer.style-orbit .gms-follow-cursor {
  border: 1px dashed color-mix(in srgb, var(--gms-follow-primary) 78%, transparent);
  background: color-mix(in srgb, var(--gms-follow-primary) 5%, transparent);
  box-shadow: 0 0 var(--gms-follow-glow) color-mix(in srgb, var(--gms-follow-primary) 24%, transparent);
}
.gms-follow-layer.style-orbit .gms-follow-cursor::before {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  right: 0;
  top: 50%;
  margin-top: -4px;
  background: var(--gms-follow-primary);
  box-shadow: 0 0 14px var(--gms-follow-primary);
  transform-origin: calc(var(--gms-follow-size) / -2 + 4px) 4px;
  animation: gmsFollowOrbit 1.7s linear infinite;
}

/* Variante 10: Liquid */
.gms-follow-layer.style-liquid .gms-follow-cursor {
  filter: saturate(1.2);
  animation: gmsFollowLiquid 3.2s ease-in-out infinite;
}

/* Variante 11: Minimal */
.gms-follow-layer.style-minimal .gms-follow-cursor {
  width: calc(var(--gms-follow-size) * .32);
  height: calc(var(--gms-follow-size) * .32);
  margin-left: calc(var(--gms-follow-size) * -.16);
  margin-top: calc(var(--gms-follow-size) * -.16);
  border: 0;
  background: var(--gms-follow-primary);
  box-shadow: 0 0 calc(var(--gms-follow-glow) * .85) color-mix(in srgb, var(--gms-follow-primary) 70%, transparent);
}

/* Variante 12: Lichtblitz Follow */
.gms-follow-layer.style-lightning .gms-follow-cursor {
  width: calc(var(--gms-follow-size) * 1.18);
  height: calc(var(--gms-follow-size) * 1.18);
  margin-left: calc(var(--gms-follow-size) * -.59);
  margin-top: calc(var(--gms-follow-size) * -.59);
  border: 0;
  background: conic-gradient(from 15deg, transparent 0deg, color-mix(in srgb, var(--gms-follow-primary) 85%, white) 33deg, transparent 72deg, transparent 135deg, var(--gms-follow-primary) 165deg, transparent 215deg, transparent 360deg);
  clip-path: polygon(46% 0, 88% 0, 61% 38%, 100% 38%, 38% 100%, 52% 55%, 14% 55%);
  filter: drop-shadow(0 0 10px color-mix(in srgb, var(--gms-follow-primary) 90%, transparent)) drop-shadow(0 0 var(--gms-follow-glow) color-mix(in srgb, var(--gms-follow-primary) 70%, transparent));
  animation: gmsFollowLightning 1.05s steps(2, end) infinite;
}
.gms-follow-layer.style-lightning .gms-follow-dot {
  background: #fff;
  box-shadow: 0 0 22px #fff, 0 0 35px var(--gms-follow-primary);
}

/* Variante 13: Electric Trail */
.gms-follow-layer.style-electric .gms-follow-cursor {
  border: 1px solid rgba(255,255,255,.64);
  background: radial-gradient(circle, #fff 0 8%, color-mix(in srgb, var(--gms-follow-primary) 36%, transparent) 9% 34%, transparent 60%);
  box-shadow: 0 0 10px #fff, 0 0 var(--gms-follow-glow) var(--gms-follow-primary), inset 0 0 16px color-mix(in srgb, var(--gms-follow-primary) 50%, transparent);
}
.gms-follow-layer.style-electric .gms-follow-cursor::before,
.gms-follow-layer.style-electric .gms-follow-cursor::after {
  left: -40%;
  top: 50%;
  width: 180%;
  height: 2px;
  background: linear-gradient(90deg, transparent, #fff, var(--gms-follow-primary), transparent);
  transform-origin: 50% 50%;
  animation: gmsFollowElectric 1.15s linear infinite;
}
.gms-follow-layer.style-electric .gms-follow-cursor::after {
  animation-delay: -.55s;
  transform: rotate(76deg);
}

/* Variante 14: Scanner Beam */
.gms-follow-layer.style-scanner .gms-follow-cursor {
  width: calc(var(--gms-follow-size) * 1.8);
  height: calc(var(--gms-follow-size) * .66);
  margin-left: calc(var(--gms-follow-size) * -.9);
  margin-top: calc(var(--gms-follow-size) * -.33);
  border: 1px solid color-mix(in srgb, var(--gms-follow-primary) 50%, transparent);
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--gms-follow-primary) 15%, transparent), transparent);
  box-shadow: 0 0 var(--gms-follow-glow) color-mix(in srgb, var(--gms-follow-primary) 34%, transparent);
  overflow: hidden;
}
.gms-follow-layer.style-scanner .gms-follow-cursor::before {
  top: -20%;
  bottom: -20%;
  width: 22px;
  left: -28px;
  background: linear-gradient(90deg, transparent, #fff, var(--gms-follow-primary), transparent);
  filter: blur(1px);
  animation: gmsFollowScan 1.15s ease-in-out infinite;
}

/* Variante 15: Magnetic Pulse */
.gms-follow-layer.style-magnet .gms-follow-cursor {
  border: 1px solid color-mix(in srgb, var(--gms-follow-primary) 65%, transparent);
  background: radial-gradient(circle, color-mix(in srgb, var(--gms-follow-primary) 15%, transparent), transparent 62%);
  box-shadow: 0 0 var(--gms-follow-glow) color-mix(in srgb, var(--gms-follow-primary) 32%, transparent);
}
.gms-follow-layer.style-magnet .gms-follow-cursor::before,
.gms-follow-layer.style-magnet .gms-follow-cursor::after {
  inset: -11px;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--gms-follow-primary) 42%, transparent);
  animation: gmsFollowPulse 1.45s ease-out infinite;
}
.gms-follow-layer.style-magnet .gms-follow-cursor::after {
  inset: -22px;
  animation-delay: .33s;
}

/* Variante 16: Premium Halo */
.gms-follow-layer.style-halo .gms-follow-cursor {
  border: 0;
  background: radial-gradient(circle, rgba(255,255,255,.86) 0 12%, transparent 13% 33%, color-mix(in srgb, var(--gms-follow-primary) 34%, transparent) 34% 38%, transparent 39%);
  box-shadow: 0 0 calc(var(--gms-follow-glow) * 1.25) color-mix(in srgb, var(--gms-follow-primary) 45%, transparent);
}
.gms-follow-layer.style-halo .gms-follow-cursor::before {
  inset: 2px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.72);
}

/* Variante 17: Water Ripple */
.gms-follow-layer.style-ripple .gms-follow-cursor {
  border: 1px solid color-mix(in srgb, var(--gms-follow-primary) 58%, transparent);
  background: radial-gradient(circle, color-mix(in srgb, var(--gms-follow-primary) 8%, transparent), transparent 64%);
  box-shadow: 0 0 var(--gms-follow-glow) color-mix(in srgb, var(--gms-follow-primary) 22%, transparent);
}
.gms-follow-layer.style-ripple .gms-follow-cursor::before,
.gms-follow-layer.style-ripple .gms-follow-cursor::after {
  inset: 0;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--gms-follow-primary) 55%, transparent);
  animation: gmsFollowRipple 1.6s ease-out infinite;
}
.gms-follow-layer.style-ripple .gms-follow-cursor::after {
  animation-delay: .45s;
}

/* Variante 18: Glass Shards */
.gms-follow-layer.style-shard .gms-follow-cursor {
  border: 1px solid rgba(255,255,255,.62);
  background: linear-gradient(135deg, rgba(255,255,255,.24), rgba(255,255,255,.04));
  box-shadow: 0 14px 38px rgba(15,23,42,.15), 0 0 var(--gms-follow-glow) color-mix(in srgb, var(--gms-follow-primary) 20%, transparent);
  clip-path: polygon(18% 4%, 86% 0, 100% 52%, 72% 100%, 8% 83%, 0 30%);
  backdrop-filter: blur(8px) saturate(140%);
}
.gms-follow-layer.style-shard .gms-follow-cursor::before {
  left: 18%; top: 14%; width: 64%; height: 1px;
  background: rgba(255,255,255,.7);
  transform: rotate(-25deg);
}
.gms-follow-layer.style-shard .gms-follow-cursor::after {
  left: 38%; top: 8%; width: 1px; height: 78%;
  background: rgba(255,255,255,.45);
  transform: rotate(18deg);
}

/* Variante 19: Pixel Pulse */
.gms-follow-layer.style-pixel .gms-follow-cursor {
  border: 0;
  border-radius: 10px;
  background: var(--gms-follow-primary);
  box-shadow:
    calc(var(--gms-follow-size) * .45) 0 0 -10px color-mix(in srgb, var(--gms-follow-primary) 76%, transparent),
    calc(var(--gms-follow-size) * -.45) 0 0 -10px color-mix(in srgb, var(--gms-follow-primary) 76%, transparent),
    0 calc(var(--gms-follow-size) * .45) 0 -10px color-mix(in srgb, var(--gms-follow-primary) 76%, transparent),
    0 calc(var(--gms-follow-size) * -.45) 0 -10px color-mix(in srgb, var(--gms-follow-primary) 76%, transparent),
    0 0 var(--gms-follow-glow) color-mix(in srgb, var(--gms-follow-primary) 55%, transparent);
  animation: gmsFollowPixel 1.25s steps(2, end) infinite;
}

.gms-follow-scroll-cue {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-width: 52px;
  min-height: 28px;
  padding: 7px 11px;
  border: 1px solid color-mix(in srgb, var(--gms-follow-primary) 35%, transparent);
  border-radius: 999px;
  color: color-mix(in srgb, var(--gms-follow-secondary) 86%, #fff);
  background: color-mix(in srgb, #ffffff 88%, transparent);
  box-shadow: 0 12px 35px rgba(15,23,42,.13), 0 0 22px color-mix(in srgb, var(--gms-follow-primary) 16%, transparent);
  backdrop-filter: blur(8px) saturate(135%);
  font-size: 10px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: .11em;
  text-transform: uppercase;
  white-space: nowrap;
  opacity: 0;
  visibility: hidden;
  transition: opacity .18s ease, visibility .18s ease;
}

.gms-follow-scroll-cue::before,
.gms-follow-scroll-cue::after {
  content: '';
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.gms-follow-scroll-cue::after {
  content: '↓';
  width: 17px;
  height: 17px;
  border-radius: 999px;
  color: #fff;
  background: var(--gms-follow-primary);
  box-shadow: 0 0 16px color-mix(in srgb, var(--gms-follow-primary) 55%, transparent);
  animation: gmsFollowScrollArrow 1.05s ease-in-out infinite;
}

.gms-follow-layer.scroll-enabled.is-visible.can-scroll .gms-follow-scroll-cue {
  opacity: .98;
  visibility: visible;
}

.gms-follow-layer.scroll-enabled.scroll-pulse.can-scroll .gms-follow-scroll-cue {
  animation: gmsFollowScrollPill 1.55s ease-in-out infinite;
}

.gms-follow-layer.scroll-style-lightning .gms-follow-scroll-cue {
  border-color: color-mix(in srgb, var(--gms-follow-primary) 56%, transparent);
  background: linear-gradient(135deg, rgba(255,255,255,.92), color-mix(in srgb, var(--gms-follow-primary) 13%, #fff));
}
.gms-follow-layer.scroll-style-lightning .gms-follow-scroll-cue::after {
  content: '↯';
  animation: gmsFollowScrollLightning .8s steps(2, end) infinite;
}
.gms-follow-layer.scroll-style-double .gms-follow-scroll-cue::after {
  content: '⌄⌄';
  width: 24px;
}
.gms-follow-layer.scroll-style-mouse .gms-follow-scroll-cue::after {
  content: '';
  width: 13px;
  height: 21px;
  border: 2px solid #fff;
  background: transparent;
  position: relative;
}
.gms-follow-layer.scroll-style-mouse .gms-follow-scroll-cue::before {
  order: 3;
  width: 3px;
  height: 5px;
  margin-left: -17px;
  border-radius: 999px;
  background: #fff;
  animation: gmsFollowMouseWheel 1.1s ease-in-out infinite;
}
.gms-follow-layer.scroll-style-line .gms-follow-scroll-cue::after {
  content: '';
  width: 4px;
  height: 23px;
  border-radius: 999px;
  background: var(--gms-follow-primary);
  animation: gmsFollowLineDown 1.05s ease-in-out infinite;
}
.gms-follow-layer.scroll-style-minimal .gms-follow-scroll-cue {
  min-width: 28px;
  width: 28px;
  height: 28px;
  padding: 0;
  overflow: hidden;
  text-indent: -999px;
}
.gms-follow-layer.scroll-style-minimal .gms-follow-scroll-cue::after {
  content: '';
  width: 8px;
  height: 8px;
  animation: gmsFollowMinimalDown 1s ease-in-out infinite;
}

.gms-follow-particle,
.gms-follow-flash {
  position: fixed;
  left: 0;
  top: 0;
  pointer-events: none;
  will-change: transform, opacity;
}

.gms-follow-particle {
  width: 7px;
  height: 7px;
  margin-left: -3.5px;
  margin-top: -3.5px;
  border-radius: 999px;
  background: var(--gms-follow-primary);
  opacity: .65;
  animation: gmsFollowParticle .7s ease-out forwards;
}

.gms-follow-flash {
  width: 56px;
  height: 8px;
  margin-left: -48px;
  margin-top: -4px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, #fff, var(--gms-follow-primary), transparent);
  filter: blur(.2px) drop-shadow(0 0 10px var(--gms-follow-primary));
  opacity: .92;
  animation: gmsFollowFlash .5s ease-out forwards;
}
.gms-follow-flash-lightning {
  clip-path: polygon(0 46%, 38% 46%, 28% 0, 100% 56%, 57% 56%, 66% 100%);
  height: 18px;
}
.gms-follow-flash-electric {
  width: 72px;
}
.gms-follow-flash-scanner {
  width: 42px;
  height: 22px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.88), transparent);
}

@keyframes gmsFollowParticle {
  0% { transform: translate3d(var(--gms-px), var(--gms-py), 0) scale(1); opacity: .58; }
  100% { transform: translate3d(calc(var(--gms-px) + var(--gms-dx)), calc(var(--gms-py) + var(--gms-dy)), 0) scale(0); opacity: 0; }
}
@keyframes gmsFollowFlash {
  0% { opacity: .95; transform: translate3d(0,0,0) scaleX(.6); }
  100% { opacity: 0; transform: translate3d(-18px,0,0) scaleX(1.2); }
}
@keyframes gmsFollowBlob {
  0%, 100% { border-radius: 48% 52% 50% 50% / 52% 47% 53% 48%; }
  35% { border-radius: 58% 42% 47% 53% / 44% 58% 42% 56%; }
  70% { border-radius: 43% 57% 57% 43% / 58% 44% 56% 42%; }
}
@keyframes gmsFollowLiquid {
  0%, 100% { border-radius: 58% 42% 46% 54% / 48% 56% 44% 52%; transform-origin: center; }
  33% { border-radius: 42% 58% 54% 46% / 58% 42% 58% 42%; }
  66% { border-radius: 54% 46% 40% 60% / 42% 56% 44% 58%; }
}
@keyframes gmsFollowOrbit { to { transform: rotate(360deg); } }
@keyframes gmsFollowLightning {
  0%, 100% { opacity: .88; filter: drop-shadow(0 0 8px var(--gms-follow-primary)) drop-shadow(0 0 var(--gms-follow-glow) var(--gms-follow-primary)); }
  50% { opacity: 1; transform: rotate(-4deg) scale(1.04); }
}
@keyframes gmsFollowElectric { to { transform: rotate(360deg); } }
@keyframes gmsFollowScan { 0% { left: -32px; } 100% { left: calc(100% + 32px); } }
@keyframes gmsFollowPulse { 0% { transform: scale(.75); opacity: .72; } 100% { transform: scale(1.42); opacity: 0; } }
@keyframes gmsFollowRipple { 0% { transform: scale(.86); opacity: .68; } 100% { transform: scale(1.62); opacity: 0; } }
@keyframes gmsFollowPixel { 0%, 100% { transform: rotate(0deg); } 50% { transform: rotate(45deg); } }
@keyframes gmsFollowScrollArrow { 0%, 100% { transform: translateY(-1px); } 50% { transform: translateY(3px); } }
@keyframes gmsFollowScrollPill { 0%, 100% { filter: brightness(1); } 50% { filter: brightness(1.08); } }
@keyframes gmsFollowScrollLightning { 0%, 100% { transform: translateY(-1px) rotate(-8deg) scale(1); } 50% { transform: translateY(4px) rotate(8deg) scale(1.08); } }
@keyframes gmsFollowMouseWheel { 0% { transform: translateY(-4px); opacity: .25; } 45% { opacity: 1; } 100% { transform: translateY(5px); opacity: .25; } }
@keyframes gmsFollowLineDown { 0%, 100% { transform: translateY(-3px) scaleY(.65); } 50% { transform: translateY(4px) scaleY(1.15); } }
@keyframes gmsFollowMinimalDown { 0%, 100% { transform: translateY(-4px); opacity: .55; } 50% { transform: translateY(4px); opacity: 1; } }

@media (prefers-reduced-motion: reduce) {
  html.gms-follow-reduced-motion .gms-follow-layer { display: none !important; }
  html.gms-follow-reduced-motion.gms-follow-hide-native-cursor,
  html.gms-follow-reduced-motion.gms-follow-hide-native-cursor body { cursor: auto !important; }
}

@media (max-width: 782px) {
  .gms-follow-label { font-size: 10px; }
  .gms-follow-scroll-cue { padding: 6px 10px; font-size: 9px; }
}

@supports not (color: color-mix(in srgb, #000 50%, transparent)) {
  .gms-follow-cursor { box-shadow: 0 0 var(--gms-follow-glow) rgba(11, 99, 206, .35); }
  .gms-follow-scroll-cue { background: rgba(255,255,255,.9); color: #111827; border-color: rgba(11,99,206,.3); }
}

/* v1.3: kein Scroll-Hinweis mehr – echte Animation direkt im Cursor */
.gms-follow-scroll-cue { display: none !important; }

.gms-follow-scroll-core {
  position: absolute;
  inset: 50% auto auto 50%;
  width: calc(var(--gms-follow-size) * .64);
  height: calc(var(--gms-follow-size) * .64);
  margin-left: calc(var(--gms-follow-size) * -.32);
  margin-top: calc(var(--gms-follow-size) * -.32);
  border-radius: 999px;
  opacity: 0;
  pointer-events: none;
  transform: scale(.45) rotate(0deg);
  transition: opacity .12s ease;
  mix-blend-mode: screen;
}

.gms-follow-layer.scroll-enabled.is-scrolling .gms-follow-scroll-core {
  opacity: .96;
  animation: gmsFollowScrollCoreSpin .48s linear infinite;
}

.gms-follow-layer.scroll-enabled.is-scrolling .gms-follow-cursor {
  filter: saturate(1.22) brightness(1.08);
}

.gms-follow-layer.scroll-enabled.is-scrolling.scroll-down .gms-follow-scroll-core { --gms-scroll-dir: 1; }
.gms-follow-layer.scroll-enabled.is-scrolling.scroll-up .gms-follow-scroll-core { --gms-scroll-dir: -1; }

.gms-follow-layer.scroll-effect-lightning .gms-follow-scroll-core {
  border-radius: 0;
  background: linear-gradient(135deg, transparent 0 18%, #fff 19% 28%, var(--gms-follow-primary) 30% 43%, transparent 44% 100%);
  clip-path: polygon(50% 0, 78% 0, 58% 36%, 86% 36%, 34% 100%, 44% 55%, 18% 55%);
  filter: drop-shadow(0 0 10px #fff) drop-shadow(0 0 18px var(--gms-follow-primary));
}

.gms-follow-layer.scroll-effect-speed .gms-follow-scroll-core,
.gms-follow-layer.scroll-effect-lines .gms-follow-scroll-core {
  width: calc(var(--gms-follow-size) * 1.35);
  margin-left: calc(var(--gms-follow-size) * -.675);
  border-radius: 999px;
  background: repeating-linear-gradient(90deg, transparent 0 8px, color-mix(in srgb, var(--gms-follow-primary) 88%, white) 9px 12px, transparent 13px 20px);
  filter: drop-shadow(0 0 12px var(--gms-follow-primary));
}

.gms-follow-layer.scroll-effect-vortex .gms-follow-scroll-core {
  border: 2px solid transparent;
  background: conic-gradient(from 0deg, transparent, var(--gms-follow-primary), #fff, transparent, var(--gms-follow-primary), transparent);
  -webkit-mask: radial-gradient(circle, transparent 0 36%, #000 38% 68%, transparent 70%);
  mask: radial-gradient(circle, transparent 0 36%, #000 38% 68%, transparent 70%);
}

.gms-follow-layer.scroll-effect-particles .gms-follow-scroll-core,
.gms-follow-layer.scroll-effect-sparks .gms-follow-scroll-core {
  background: radial-gradient(circle, #fff 0 7%, transparent 8% 100%), radial-gradient(circle at 18% 28%, var(--gms-follow-primary) 0 7%, transparent 8%), radial-gradient(circle at 76% 25%, #fff 0 5%, transparent 6%), radial-gradient(circle at 65% 78%, var(--gms-follow-primary) 0 6%, transparent 7%), radial-gradient(circle at 24% 72%, #fff 0 4%, transparent 5%);
  filter: drop-shadow(0 0 14px var(--gms-follow-primary));
}

.gms-follow-layer.scroll-effect-wave .gms-follow-scroll-core {
  border: 2px solid color-mix(in srgb, var(--gms-follow-primary) 78%, white);
  background: radial-gradient(circle, color-mix(in srgb, var(--gms-follow-primary) 20%, transparent), transparent 58%);
  box-shadow: 0 0 0 7px color-mix(in srgb, var(--gms-follow-primary) 10%, transparent), 0 0 22px var(--gms-follow-primary);
}

.gms-follow-layer.scroll-effect-flame .gms-follow-scroll-core {
  border-radius: 52% 48% 56% 44% / 64% 52% 48% 36%;
  background: radial-gradient(circle at 50% 70%, #fff 0 10%, transparent 11%), linear-gradient(180deg, #fff, var(--gms-follow-primary) 42%, color-mix(in srgb, var(--gms-follow-primary) 45%, #ff7a18));
  filter: drop-shadow(0 0 14px var(--gms-follow-primary));
}

.gms-follow-layer.scroll-effect-glitch .gms-follow-scroll-core {
  border-radius: 8px;
  background: linear-gradient(90deg, transparent 0 16%, #fff 17% 26%, transparent 27% 38%, var(--gms-follow-primary) 39% 56%, transparent 57% 72%, #fff 73% 82%, transparent 83%);
  box-shadow: -7px 0 0 color-mix(in srgb, var(--gms-follow-primary) 55%, transparent), 7px 0 0 rgba(255,255,255,.48), 0 0 18px var(--gms-follow-primary);
  animation: gmsFollowGlitch .32s steps(2, end) infinite !important;
}

.gms-follow-layer.scroll-effect-orbit .gms-follow-scroll-core {
  border: 1px dashed color-mix(in srgb, var(--gms-follow-primary) 84%, white);
  background: radial-gradient(circle at 85% 50%, #fff 0 7%, transparent 8%);
  box-shadow: 0 0 18px var(--gms-follow-primary);
}

.gms-follow-scroll-burst {
  position: fixed;
  left: 0;
  top: 0;
  pointer-events: none;
  width: 9px;
  height: 28px;
  margin-left: -4.5px;
  margin-top: -14px;
  border-radius: 999px;
  background: linear-gradient(180deg, #fff, var(--gms-follow-primary), transparent);
  filter: drop-shadow(0 0 10px var(--gms-follow-primary));
  opacity: .92;
  will-change: transform, opacity;
  animation: gmsFollowScrollBurst .7s ease-out forwards;
}

.gms-follow-scroll-burst-lightning {
  width: 18px;
  height: 34px;
  border-radius: 0;
  clip-path: polygon(46% 0, 82% 0, 60% 38%, 94% 38%, 32% 100%, 46% 56%, 12% 56%);
  background: linear-gradient(180deg, #fff, var(--gms-follow-primary));
}

.gms-follow-scroll-burst-speed,
.gms-follow-scroll-burst-lines {
  width: 48px;
  height: 3px;
  margin-left: -24px;
  margin-top: -1.5px;
  background: linear-gradient(90deg, transparent, #fff, var(--gms-follow-primary), transparent);
}

.gms-follow-scroll-burst-vortex,
.gms-follow-scroll-burst-wave,
.gms-follow-scroll-burst-orbit {
  width: 24px;
  height: 24px;
  margin-left: -12px;
  margin-top: -12px;
  border: 2px solid var(--gms-follow-primary);
  background: transparent;
  border-radius: 999px;
}

.gms-follow-scroll-burst-particles,
.gms-follow-scroll-burst-sparks {
  width: 8px;
  height: 8px;
  margin-left: -4px;
  margin-top: -4px;
  background: #fff;
  box-shadow: 0 0 12px #fff, 0 0 24px var(--gms-follow-primary);
}

.gms-follow-scroll-burst-flame {
  border-radius: 60% 40% 55% 45% / 70% 45% 55% 30%;
  background: linear-gradient(180deg, #fff, var(--gms-follow-primary), color-mix(in srgb, var(--gms-follow-primary) 55%, #ff7a18));
}

.gms-follow-scroll-burst-glitch {
  width: 34px;
  height: 8px;
  margin-left: -17px;
  margin-top: -4px;
  border-radius: 3px;
  background: linear-gradient(90deg, #fff 0 20%, transparent 21% 38%, var(--gms-follow-primary) 39% 70%, transparent 71%);
}

@keyframes gmsFollowScrollCoreSpin {
  0% { transform: scale(.52) rotate(0deg) translateY(calc(var(--gms-scroll-dir, 1) * -2px)); }
  50% { transform: scale(1.12) rotate(180deg) translateY(calc(var(--gms-scroll-dir, 1) * 4px)); }
  100% { transform: scale(.62) rotate(360deg) translateY(calc(var(--gms-scroll-dir, 1) * -2px)); }
}

@keyframes gmsFollowScrollBurst {
  0% { opacity: .95; transform: translate3d(var(--gms-px), var(--gms-py), 0) rotate(var(--gms-srot)) scale(1); }
  100% { opacity: 0; transform: translate3d(calc(var(--gms-px) + var(--gms-sdx)), calc(var(--gms-py) + var(--gms-sdy)), 0) rotate(calc(var(--gms-srot) + 90deg)) scale(.18); }
}

@keyframes gmsFollowGlitch {
  0%, 100% { transform: translate(-2px, 1px) scale(1); filter: hue-rotate(0deg); }
  50% { transform: translate(3px, -2px) scale(1.16); filter: hue-rotate(35deg); }
}

/* v1.3 neue spektakuläre Cursor-Varianten */
.gms-follow-layer.style-thunder .gms-follow-cursor,
.gms-follow-layer.style-storm .gms-follow-cursor {
  border: 0;
  background: conic-gradient(from 180deg, transparent 0 18deg, #fff 19deg 28deg, var(--gms-follow-primary) 29deg 45deg, transparent 46deg 126deg, color-mix(in srgb, var(--gms-follow-primary) 90%, white) 127deg 147deg, transparent 148deg 360deg);
  clip-path: polygon(48% 0, 91% 0, 67% 30%, 100% 31%, 54% 100%, 60% 55%, 19% 58%);
  filter: drop-shadow(0 0 12px #fff) drop-shadow(0 0 calc(var(--gms-follow-glow) * 1.25) var(--gms-follow-primary));
  animation: gmsFollowThunder .82s steps(2, end) infinite;
}

.gms-follow-layer.style-plasma .gms-follow-cursor {
  border: 0;
  background: radial-gradient(circle at 42% 42%, #fff 0 8%, color-mix(in srgb, var(--gms-follow-primary) 88%, white) 9% 26%, transparent 27%), conic-gradient(from 0deg, var(--gms-follow-primary), transparent, #fff, var(--gms-follow-primary), transparent, var(--gms-follow-primary));
  box-shadow: 0 0 calc(var(--gms-follow-glow) * 1.6) var(--gms-follow-primary);
  animation: gmsFollowPlasma 1.4s linear infinite;
}

.gms-follow-layer.style-vortex .gms-follow-cursor {
  border: 0;
  background: conic-gradient(from 0deg, transparent, color-mix(in srgb, var(--gms-follow-primary) 76%, white), transparent 32%, var(--gms-follow-primary), transparent 64%, #fff, transparent);
  -webkit-mask: radial-gradient(circle, transparent 0 24%, #000 25% 75%, transparent 76%);
  mask: radial-gradient(circle, transparent 0 24%, #000 25% 75%, transparent 76%);
  filter: drop-shadow(0 0 calc(var(--gms-follow-glow) * 1.2) var(--gms-follow-primary));
  animation: gmsFollowVortex 1.15s linear infinite;
}

.gms-follow-layer.style-warp .gms-follow-cursor,
.gms-follow-layer.style-meteor .gms-follow-cursor {
  width: calc(var(--gms-follow-size) * 1.9);
  height: calc(var(--gms-follow-size) * .5);
  margin-left: calc(var(--gms-follow-size) * -.95);
  margin-top: calc(var(--gms-follow-size) * -.25);
  border: 0;
  background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--gms-follow-primary) 38%, transparent) 38%, #fff 78%, var(--gms-follow-primary));
  box-shadow: 0 0 var(--gms-follow-glow) var(--gms-follow-primary);
  filter: drop-shadow(0 0 16px var(--gms-follow-primary));
}

.gms-follow-layer.style-glitch .gms-follow-cursor {
  border: 1px solid rgba(255,255,255,.6);
  border-radius: 12px;
  background: linear-gradient(90deg, color-mix(in srgb, var(--gms-follow-primary) 70%, transparent) 0 18%, transparent 19% 36%, rgba(255,255,255,.7) 37% 45%, transparent 46% 100%);
  box-shadow: -6px 0 0 rgba(255,255,255,.24), 6px 0 0 color-mix(in srgb, var(--gms-follow-primary) 38%, transparent), 0 0 var(--gms-follow-glow) var(--gms-follow-primary);
  animation: gmsFollowGlitch .45s steps(2, end) infinite;
}

.gms-follow-layer.style-laser .gms-follow-cursor {
  width: calc(var(--gms-follow-size) * 1.55);
  height: calc(var(--gms-follow-size) * .18);
  margin-left: calc(var(--gms-follow-size) * -.77);
  margin-top: calc(var(--gms-follow-size) * -.09);
  border: 0;
  background: linear-gradient(90deg, transparent, #fff, var(--gms-follow-primary), #fff, transparent);
  box-shadow: 0 0 8px #fff, 0 0 calc(var(--gms-follow-glow) * 1.25) var(--gms-follow-primary);
}
.gms-follow-layer.style-laser .gms-follow-cursor::before {
  left: 50%; top: calc(var(--gms-follow-size) * -.45);
  width: 2px; height: calc(var(--gms-follow-size) * .9);
  background: linear-gradient(180deg, transparent, #fff, transparent);
}

.gms-follow-layer.style-data .gms-follow-cursor {
  border: 1px solid color-mix(in srgb, var(--gms-follow-primary) 82%, white);
  border-radius: 8px;
  background: repeating-linear-gradient(180deg, color-mix(in srgb, var(--gms-follow-primary) 38%, transparent) 0 2px, transparent 3px 8px), linear-gradient(135deg, rgba(255,255,255,.16), transparent);
  box-shadow: 0 0 var(--gms-follow-glow) var(--gms-follow-primary);
  animation: gmsFollowData 1.2s linear infinite;
}

.gms-follow-layer.style-smoke .gms-follow-cursor,
.gms-follow-layer.style-fog .gms-follow-cursor {
  border: 0;
  background: radial-gradient(circle at 35% 35%, rgba(255,255,255,.5), transparent 24%), radial-gradient(circle at 65% 55%, color-mix(in srgb, var(--gms-follow-primary) 24%, transparent), transparent 32%), radial-gradient(circle, color-mix(in srgb, var(--gms-follow-primary) 18%, transparent), transparent 68%);
  filter: blur(2px) saturate(1.1);
  box-shadow: 0 0 calc(var(--gms-follow-glow) * 1.5) color-mix(in srgb, var(--gms-follow-primary) 35%, transparent);
  animation: gmsFollowSmoke 3.6s ease-in-out infinite;
}

.gms-follow-layer.style-shield .gms-follow-cursor {
  border: 2px solid color-mix(in srgb, var(--gms-follow-primary) 84%, #fff);
  border-radius: 42% 42% 54% 54% / 40% 40% 70% 70%;
  background: radial-gradient(circle at 50% 34%, rgba(255,255,255,.28), transparent 28%), linear-gradient(135deg, color-mix(in srgb, var(--gms-follow-primary) 16%, transparent), transparent);
  box-shadow: inset 0 0 18px rgba(255,255,255,.16), 0 0 calc(var(--gms-follow-glow) * 1.2) var(--gms-follow-primary);
}

.gms-follow-layer.style-prism .gms-follow-cursor {
  border: 1px solid rgba(255,255,255,.72);
  border-radius: 16px;
  background: conic-gradient(from 45deg, var(--gms-follow-primary), #fff, color-mix(in srgb, var(--gms-follow-primary) 42%, #7dd3fc), transparent, var(--gms-follow-primary));
  clip-path: polygon(50% 0, 100% 34%, 82% 100%, 18% 100%, 0 34%);
  filter: drop-shadow(0 0 calc(var(--gms-follow-glow) * 1.1) var(--gms-follow-primary));
  animation: gmsFollowPrism 2.5s linear infinite;
}

.gms-follow-layer.style-firefly .gms-follow-cursor {
  border: 0;
  background: radial-gradient(circle, #fff 0 8%, var(--gms-follow-primary) 9% 22%, transparent 23%), radial-gradient(circle at 10% 30%, #fff 0 4%, transparent 5%), radial-gradient(circle at 80% 18%, var(--gms-follow-primary) 0 5%, transparent 6%), radial-gradient(circle at 72% 84%, #fff 0 4%, transparent 5%);
  box-shadow: 0 0 12px #fff, 0 0 calc(var(--gms-follow-glow) * 1.4) var(--gms-follow-primary);
  animation: gmsFollowFirefly 1.8s ease-in-out infinite;
}

@keyframes gmsFollowThunder {
  0%, 100% { opacity: .84; transform: rotate(-2deg) scale(1); }
  50% { opacity: 1; transform: rotate(4deg) scale(1.12); }
}
@keyframes gmsFollowPlasma { to { transform: rotate(360deg); filter: hue-rotate(45deg); } }
@keyframes gmsFollowVortex { to { transform: rotate(360deg); } }
@keyframes gmsFollowData { from { background-position: 0 0, 0 0; } to { background-position: 0 24px, 0 0; } }
@keyframes gmsFollowSmoke {
  0%, 100% { border-radius: 45% 55% 50% 50% / 48% 52% 48% 52%; transform: scale(1); opacity: .88; }
  50% { border-radius: 60% 40% 58% 42% / 40% 62% 38% 60%; transform: scale(1.12); opacity: .72; }
}
@keyframes gmsFollowPrism { to { transform: rotate(360deg); } }
@keyframes gmsFollowFirefly {
  0%, 100% { filter: brightness(1); transform: scale(1); }
  50% { filter: brightness(1.35); transform: scale(1.08); }
}

/* Cursor-Follow bleibt sauber positioniert: Cursor-Keyframes animieren keine transform-Werte. */
@keyframes gmsFollowLightning {
  0%, 100% { opacity: .86; filter: drop-shadow(0 0 8px var(--gms-follow-primary)) drop-shadow(0 0 var(--gms-follow-glow) var(--gms-follow-primary)); }
  50% { opacity: 1; filter: drop-shadow(0 0 12px #fff) drop-shadow(0 0 calc(var(--gms-follow-glow) * 1.2) var(--gms-follow-primary)); }
}
@keyframes gmsFollowPixel {
  0%, 100% { opacity: .92; filter: brightness(1); }
  50% { opacity: 1; filter: brightness(1.22); }
}
@keyframes gmsFollowThunder {
  0%, 100% { opacity: .84; filter: drop-shadow(0 0 9px #fff) drop-shadow(0 0 var(--gms-follow-glow) var(--gms-follow-primary)); }
  50% { opacity: 1; filter: drop-shadow(0 0 14px #fff) drop-shadow(0 0 calc(var(--gms-follow-glow) * 1.35) var(--gms-follow-primary)); }
}
@keyframes gmsFollowPlasma {
  0%, 100% { filter: hue-rotate(0deg) drop-shadow(0 0 calc(var(--gms-follow-glow) * 1.05) var(--gms-follow-primary)); }
  50% { filter: hue-rotate(45deg) drop-shadow(0 0 calc(var(--gms-follow-glow) * 1.45) var(--gms-follow-primary)); }
}
@keyframes gmsFollowVortex {
  0%, 100% { filter: hue-rotate(0deg) drop-shadow(0 0 var(--gms-follow-glow) var(--gms-follow-primary)); }
  50% { filter: hue-rotate(25deg) drop-shadow(0 0 calc(var(--gms-follow-glow) * 1.3) var(--gms-follow-primary)); }
}
@keyframes gmsFollowGlitch {
  0%, 100% { filter: hue-rotate(0deg) brightness(1); opacity: .9; }
  50% { filter: hue-rotate(35deg) brightness(1.22); opacity: 1; }
}
@keyframes gmsFollowSmoke {
  0%, 100% { border-radius: 45% 55% 50% 50% / 48% 52% 48% 52%; opacity: .88; filter: blur(2px) saturate(1.1); }
  50% { border-radius: 60% 40% 58% 42% / 40% 62% 38% 60%; opacity: .72; filter: blur(3px) saturate(1.25); }
}
@keyframes gmsFollowPrism {
  0%, 100% { filter: hue-rotate(0deg) drop-shadow(0 0 var(--gms-follow-glow) var(--gms-follow-primary)); }
  50% { filter: hue-rotate(60deg) drop-shadow(0 0 calc(var(--gms-follow-glow) * 1.25) var(--gms-follow-primary)); }
}
@keyframes gmsFollowFirefly {
  0%, 100% { filter: brightness(1); opacity: .9; }
  50% { filter: brightness(1.35); opacity: 1; }
}

/* Version 1.5: stabilisierte Performance + weitere spektakuläre Varianten */
.gms-follow-layer.is-performance-mode .gms-follow-cursor,
.gms-follow-layer.is-performance-mode .gms-follow-dot,
.gms-follow-layer.is-performance-mode .gms-follow-label {
  will-change: transform;
}

.gms-follow-layer.is-performance-mode .gms-follow-particle,
.gms-follow-layer.is-performance-mode .gms-follow-flash,
.gms-follow-layer.is-performance-mode .gms-follow-scroll-burst {
  will-change: transform, opacity;
}

/* Sparkstorm Burst */
.gms-follow-layer.style-sparkstorm .gms-follow-cursor {
  border: 1px solid color-mix(in srgb, var(--gms-follow-primary) 78%, #fff);
  background:
    radial-gradient(circle at 28% 25%, rgba(255,255,255,.62), transparent 15%),
    conic-gradient(from 18deg, transparent 0 8%, color-mix(in srgb, var(--gms-follow-primary) 90%, #fff) 9% 12%, transparent 13% 24%, color-mix(in srgb, var(--gms-follow-secondary) 55%, var(--gms-follow-primary)) 25% 28%, transparent 29% 100%);
  box-shadow: 0 0 calc(var(--gms-follow-glow) * 1.35) color-mix(in srgb, var(--gms-follow-primary) 58%, transparent), inset 0 0 18px rgba(255,255,255,.22);
  animation: gmsFollowSpin 1.85s linear infinite;
}
.gms-follow-layer.style-sparkstorm .gms-follow-cursor::before {
  inset: -9px;
  border-radius: inherit;
  border: 1px dashed color-mix(in srgb, var(--gms-follow-primary) 70%, transparent);
  animation: gmsFollowSpinReverse 2.6s linear infinite;
}

/* Black Hole Ring */
.gms-follow-layer.style-blackhole .gms-follow-cursor {
  border: 0;
  background:
    radial-gradient(circle, rgba(2,6,23,.95) 0 28%, transparent 29%),
    conic-gradient(from 0deg, var(--gms-follow-primary), rgba(255,255,255,.9), var(--gms-follow-secondary), var(--gms-follow-primary));
  box-shadow: 0 0 calc(var(--gms-follow-glow) * 1.55) color-mix(in srgb, var(--gms-follow-primary) 58%, transparent), 0 0 4px rgba(255,255,255,.42) inset;
  animation: gmsFollowSpin 2.2s linear infinite;
}
.gms-follow-layer.style-blackhole .gms-follow-cursor::after {
  inset: 8px;
  border-radius: inherit;
  background: radial-gradient(circle, rgba(2,6,23,.94), rgba(2,6,23,.62) 42%, transparent 64%);
}

/* Nebula Fog */
.gms-follow-layer.style-nebula .gms-follow-cursor {
  width: calc(var(--gms-follow-size) * 1.55);
  height: calc(var(--gms-follow-size) * 1.55);
  margin-left: calc(var(--gms-follow-size) * -.775);
  margin-top: calc(var(--gms-follow-size) * -.775);
  border: 0;
  background:
    radial-gradient(circle at 22% 25%, rgba(255,255,255,.38), transparent 20%),
    radial-gradient(circle at 70% 28%, color-mix(in srgb, var(--gms-follow-secondary) 36%, transparent), transparent 28%),
    radial-gradient(circle, color-mix(in srgb, var(--gms-follow-primary) 28%, transparent), transparent 68%);
  filter: blur(.15px) saturate(140%);
  box-shadow: 0 0 calc(var(--gms-follow-glow) * 1.75) color-mix(in srgb, var(--gms-follow-primary) 54%, transparent);
  animation: gmsFollowNebula 4.2s ease-in-out infinite;
}

/* Aurora Light */
.gms-follow-layer.style-aurora .gms-follow-cursor {
  width: calc(var(--gms-follow-size) * 1.35);
  height: calc(var(--gms-follow-size) * .78);
  margin-left: calc(var(--gms-follow-size) * -.675);
  margin-top: calc(var(--gms-follow-size) * -.39);
  border-radius: 999px 70% 999px 70%;
  border: 1px solid rgba(255,255,255,.38);
  background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--gms-follow-primary) 38%, transparent), color-mix(in srgb, var(--gms-follow-secondary) 32%, transparent), transparent);
  box-shadow: 0 0 calc(var(--gms-follow-glow) * 1.4) color-mix(in srgb, var(--gms-follow-primary) 52%, transparent);
  animation: gmsFollowAurora 2.8s ease-in-out infinite;
}

/* Cyber Grid */
.gms-follow-layer.style-cybergrid .gms-follow-cursor {
  border-radius: 14px;
  border: 1px solid color-mix(in srgb, var(--gms-follow-primary) 78%, #fff);
  background:
    linear-gradient(color-mix(in srgb, var(--gms-follow-primary) 23%, transparent) 1px, transparent 1px),
    linear-gradient(90deg, color-mix(in srgb, var(--gms-follow-primary) 23%, transparent) 1px, transparent 1px),
    radial-gradient(circle, color-mix(in srgb, var(--gms-follow-primary) 13%, transparent), transparent 72%);
  background-size: 9px 9px, 9px 9px, auto;
  box-shadow: 0 0 calc(var(--gms-follow-glow) * 1.2) color-mix(in srgb, var(--gms-follow-primary) 48%, transparent), inset 0 0 20px color-mix(in srgb, var(--gms-follow-primary) 18%, transparent);
  animation: gmsFollowCyber 1.7s linear infinite;
}
.gms-follow-layer.style-cybergrid .gms-follow-cursor::before,
.gms-follow-layer.style-cybergrid .gms-follow-cursor::after {
  background: var(--gms-follow-primary);
  opacity: .75;
}
.gms-follow-layer.style-cybergrid .gms-follow-cursor::before { width: 150%; height: 1px; left: -25%; top: 50%; }
.gms-follow-layer.style-cybergrid .gms-follow-cursor::after { width: 1px; height: 150%; left: 50%; top: -25%; }

/* Quantum Pulse */
.gms-follow-layer.style-quantum .gms-follow-cursor {
  border: 1px solid color-mix(in srgb, var(--gms-follow-primary) 76%, #fff);
  background: radial-gradient(circle, color-mix(in srgb, var(--gms-follow-primary) 24%, transparent), transparent 64%);
  box-shadow: 0 0 calc(var(--gms-follow-glow) * 1.35) color-mix(in srgb, var(--gms-follow-primary) 55%, transparent), inset 0 0 18px rgba(255,255,255,.16);
}
.gms-follow-layer.style-quantum .gms-follow-cursor::before,
.gms-follow-layer.style-quantum .gms-follow-cursor::after {
  inset: -7px;
  border-radius: inherit;
  border: 1px solid color-mix(in srgb, var(--gms-follow-primary) 55%, transparent);
  animation: gmsFollowQuantum 1.6s ease-out infinite;
}
.gms-follow-layer.style-quantum .gms-follow-cursor::after {
  animation-delay: .55s;
}

@keyframes gmsFollowSpin {
  to { transform: rotate(360deg); }
}
@keyframes gmsFollowSpinReverse {
  to { transform: rotate(-360deg); }
}
@keyframes gmsFollowNebula {
  0%, 100% { transform: scale(1) rotate(0deg); border-radius: 44% 56% 52% 48%; }
  50% { transform: scale(1.08) rotate(8deg); border-radius: 58% 42% 46% 54%; }
}
@keyframes gmsFollowAurora {
  0%, 100% { transform: rotate(-8deg) scaleX(1); opacity: .88; }
  50% { transform: rotate(8deg) scaleX(1.18); opacity: 1; }
}
@keyframes gmsFollowCyber {
  to { background-position: 9px 9px, 9px 9px, 0 0; }
}
@keyframes gmsFollowQuantum {
  0% { transform: scale(.72); opacity: .72; }
  100% { transform: scale(1.58); opacity: 0; }
}

@media (max-width: 1024px) {
  .gms-follow-layer.is-performance-mode .gms-follow-cursor {
    backdrop-filter: none;
  }
}


/* Version 1.6: Mobile/Smartphone komplett deaktivieren */
html.gms-follow-mobile-disabled .gms-follow-layer {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
html.gms-follow-mobile-disabled,
html.gms-follow-mobile-disabled * {
  cursor: auto !important;
}
