:root {
  --sc-fill: #fff;
  --sc-stroke: #000;
}

html,
body {
  min-height: 100vh;
}

html.sc-active,
html.sc-active * {
  cursor: none !important;
}

html.sc-active :is(
  textarea,
  select,
  input:not([type]),
  input[type=""],
  input[type="text"],
  input[type="email"],
  input[type="password"],
  input[type="search"],
  input[type="url"],
  input[type="tel"],
  input[type="number"],
  input[type="checkbox"],
  input[type="radio"],
  input[type="range"],
  input[type="file"],
  [contenteditable]:not([contenteditable="false"]),
  [contenteditable]:not([contenteditable="false"]) *,
  iframe,
  embed,
  object,
  video,
  [data-no-custom-cursor],
  [data-no-custom-cursor] *
) {
  cursor: auto !important;
}

.sc-cursor {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2147483647;
  pointer-events: none;
  will-change: transform;
  opacity: 0;
  transition: opacity 150ms ease;
}

.sc-cursor svg {
  display: block;
  width: 50px;
  height: 54px;
  overflow: visible;
  transform: scale(0.5);
  transform-origin: center;
}

.sc-cursor path:first-child {
  fill: var(--sc-fill);
}

.sc-cursor path:last-child {
  fill: none;
  stroke: var(--sc-stroke);
  stroke-width: 2.25825;
  stroke-linejoin: round;
}