.av-cursor,
.av-cursor-halo { display: none; }

@media (hover: hover) and (pointer: fine) {
  html.av-cursor-ready,
  html.av-cursor-ready body,
  html.av-cursor-ready body *:not(iframe) { cursor: none !important; }

  .av-cursor,
  .av-cursor-halo {
    position: fixed;
    z-index: 2147483647;
    top: 0;
    left: 0;
    pointer-events: none;
    will-change: transform;
  }

  .av-cursor {
    display: block;
    width: 21px;
    height: 28px;
    filter: drop-shadow(0 0 2px #fff) drop-shadow(0 0 5px rgba(88, 208, 255, 0.95)) drop-shadow(0 0 13px rgba(50, 123, 255, 0.78));
    transition: filter 160ms ease;
  }

  .av-cursor svg { display: block; width: 100%; height: 100%; overflow: visible; }

  .av-cursor-halo {
    display: block;
    width: 23px;
    height: 23px;
    margin: -11px 0 0 -11px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(119, 225, 255, 0.3), rgba(44, 112, 255, 0.12) 38%, transparent 72%);
    filter: blur(3px);
    opacity: 0.58;
  }

  .av-cursor.is-hovering { filter: drop-shadow(0 0 2px #fff) drop-shadow(0 0 6px rgba(88, 208, 255, 1)) drop-shadow(0 0 14px rgba(50, 123, 255, 0.82)); }
  .av-cursor.is-hidden,
  .av-cursor-halo.is-hidden { opacity: 0; }
}
