.first-view {
  position: fixed;
  inset: 0;
  z-index: 80;
  overflow: hidden;
  pointer-events: none;
  user-select: none;
}

.first-view-image {
  position: fixed;
  top: 0;
  left: 0;
  display: block;
  width: var(--first-view-size);
  max-width: none;
  max-height: none;
  border: 0;
  pointer-events: none;
  user-select: none;
  will-change: transform;
}

.first-view-color-difference {
  mix-blend-mode: difference;
}

.first-view-color-difference .first-view-image {
  filter: invert(1);
}

.first-view-fixed .first-view-image {
  transform: translate(-50%, -50%);
}

.first-view-cursor .first-view-image {
  visibility: hidden;
  transform: translate3d(-50%, -50%, 0);
}

.first-view-cursor.is-positioned .first-view-image {
  visibility: visible;
}

@media (min-width: 701px) and (hover: hover) and (pointer: fine) {
  body.first-view-active.first-view-pc-cursor,
  body.first-view-active.first-view-pc-cursor * {
    cursor: none !important;
  }
}
