
/* V8 — Magnetic Text and Smaller Cursor */

/* Disable previous heading underline */
.joy-text-reactive::after {
  display: none !important;
}

/* Magnetic heading setup */
.joy-dock-heading {
  overflow: visible !important;
  position: relative;
}

/* Each letter moves independently */
.joy-dock-letter {
  display: inline-block;
  position: relative;
  transform:
    translate3d(
      var(--dock-x, 0px),
      var(--dock-y, 0px),
      0
    )
    scale(var(--dock-scale, 1));
  transform-origin: center 72%;
  transition:
    transform 165ms cubic-bezier(.2,.8,.2,1),
    filter 165ms ease;
  will-change: transform;
  white-space: pre;
}

/* Preserve original text color */
.joy-dock-letter {
  color: inherit;
}

/* Soft glow only on nearby letters */
.joy-dock-letter.joy-dock-near {
  filter:
    drop-shadow(0 0 7px rgba(255,150,25,.28));
}

/* Smaller V6 glowing cursor */
@media (hover:hover) and (pointer:fine) {
  .joy-cursor,
  .joy-cursor.is-hovering {
    width: 8px !important;
    height: 8px !important;
    transform: translate(-50%, -50%) !important;
    background: #ff9619 !important;
    box-shadow:
      0 0 8px rgba(255,150,25,.7),
      0 0 18px rgba(255,150,25,.3) !important;
  }

  .joy-cursor::after,
  .joy-cursor.is-hovering::after {
    inset: -6px !important;
    border: 1px solid rgba(255,150,25,.45);
  }
}

/* No animated letters on touch devices */
@media (hover:none), (pointer:coarse),
       (prefers-reduced-motion:reduce) {
  .joy-dock-letter {
    transform: none !important;
    transition: none !important;
    filter: none !important;
    will-change: auto !important;
  }
}
