#airplane-cursor-wp,
#airplane-cursor-dot-wp {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2147483647;
  pointer-events: none;
  opacity: 0;
  transform: translate3d(-999px, -999px, 0);
  will-change: transform, opacity;
  transition: opacity 160ms ease;
}

#airplane-cursor-wp {
  transform-origin: center center;
}

#airplane-cursor-wp.is-visible,
#airplane-cursor-dot-wp.is-visible {
  opacity: 1;
}

#airplane-cursor-wp svg {
  width: 100%;
  height: 100%;
  display: block;
  fill: transparent;
  stroke: currentColor;
  stroke-width: 28px;
  stroke-linejoin: round;
  stroke-linecap: round;
  filter: drop-shadow(0 8px 18px rgba(0, 0, 0, 0.25));
}

#airplane-cursor-dot-wp {
  border-radius: 999px;
  transform-origin: center center;
}

#airplane-cursor-dot-wp.dot-black {
  background: #000000;
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.55), 0 4px 14px rgba(0, 0, 0, 0.25);
}

#airplane-cursor-dot-wp.dot-invert {
  background: #ffffff;
  mix-blend-mode: difference;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.2);
}

body.airplane-cursor-hide-default,
body.airplane-cursor-hide-default a,
body.airplane-cursor-hide-default button,
body.airplane-cursor-hide-default input,
body.airplane-cursor-hide-default textarea,
body.airplane-cursor-hide-default select,
body.airplane-cursor-hide-default [role="button"] {
  cursor: none !important;
}

@media (hover: none), (pointer: coarse), (prefers-reduced-motion: reduce) {
  #airplane-cursor-wp,
  #airplane-cursor-dot-wp {
    display: none !important;
  }

  body.airplane-cursor-hide-default,
  body.airplane-cursor-hide-default * {
    cursor: auto !important;
  }
}
