html.kunai-cursor-enabled,
html.kunai-cursor-enabled body,
html.kunai-cursor-enabled body * {
  cursor: none !important;
}

html.kunai-cursor-enabled textarea,
html.kunai-cursor-enabled [contenteditable="true"],
html.kunai-cursor-enabled [contenteditable="true"] *,
html.kunai-cursor-enabled input:not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]) {
  cursor: text !important;
}

.kunai-cursor {
  position: fixed;
  z-index: 2147483647;
  top: 0;
  left: 0;
  width: 44px;
  height: 44px;
  pointer-events: none;
  opacity: 0;
  transform: translate(-50%, -50%) rotate(var(--kunai-rotation, -45deg));
  transition: opacity 120ms ease, filter 160ms ease, scale 160ms ease;
  filter: drop-shadow(0 0 5px rgba(255, 76, 76, 0.55));
  will-change: left, top, transform;
}

.kunai-cursor.is-visible {
  opacity: 1;
}

.kunai-cursor.is-hovering {
  scale: 1.2;
  filter: drop-shadow(0 0 9px rgba(255, 76, 76, 0.9));
}

.kunai-cursor.is-attacking {
  scale: 0.78;
  filter: drop-shadow(0 0 12px #ff4d4d);
}

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

@media (prefers-reduced-motion: reduce) {
  .kunai-cursor {
    transition: none;
  }
}
