/* ==========================================================================
   MUHCINE / cursor label
   Text only, blended so it always reads against whatever is behind it.
   ========================================================================== */

.cursor {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 500;
  pointer-events: none;
  will-change: transform;
  mix-blend-mode: difference;
}

.cursor span {
  display: block;
  overflow: hidden;
  padding: 2px 4px;
  font-size: var(--cursor-size, 12px);
  font-weight: 600;
  letter-spacing: 0.02em;
  white-space: nowrap;
  /* Difference against white inverts whatever sits underneath, so the label
     stays legible on a black image and on a white page alike. */
  color: #ffffff;
}

body.cursor-on,
body.cursor-on * {
  cursor: none;
}

@media (hover: none), (pointer: coarse) {
  .cursor {
    display: none;
  }
}
