@media (hover: hover) and (pointer: fine) {
  html,
  body,
  body * {
    cursor: none !important;
  }

  .tc-cursor {
    position: fixed;
    top: 0;
    left: 0;

    width: 42px;
    height: 42px;

    z-index: 100000;
    display: block;

    pointer-events: none;
    overflow: visible;

    opacity: 0;

    transform: translate3d(-50%, -50%, 0);
    transform-origin: center;
    color: #fff;
    mix-blend-mode: difference;
    filter:
      drop-shadow(0 0 3px rgba(255, 255, 255, 0.9))
      drop-shadow(0 0 8px rgba(255, 255, 255, 0.65))
      drop-shadow(0 0 14px rgba(255, 255, 255, 0.35));
    will-change: transform, opacity, filter;

    contain: layout style paint;
  }

  .tc-cursor.is-visible {
    opacity: 1;
  }

  .tc-cursor__core {
    fill: currentColor;
    stroke: none;
  }
}