/* Decorative only: the native pointer and all hit areas stay intact. */
.thsm-pointer-halo {
  position: fixed;
  inset: 0 auto auto 0;
  width: 36px;
  height: 36px;
  z-index: 100;
  pointer-events: none !important;
  user-select: none;
  opacity: 0;
  transition: opacity 180ms ease;
  contain: layout style;
}
.thsm-pointer-halo > span {
  display: block;
  width: 100%;
  height: 100%;
  border: 1px solid rgb(20 150 251 / 58%);
  border-radius: 50%;
  background: rgb(20 150 251 / 6%);
  box-shadow: 0 0 18px rgb(20 150 251 / 8%);
  transition: scale 220ms cubic-bezier(.2,.7,.2,1),background 180ms,border-color 180ms;
}
.thsm-pointer-halo.is-visible { opacity: 1; }
.thsm-pointer-halo.is-action > span { scale: 1.4; background: rgb(20 150 251 / 10%); border-color: #1496fb; }
.thsm-pointer-halo.is-on-dark > span { border-color: rgb(142 217 255 / 72%); background: rgb(142 217 255 / 6%); }
.home .hero-art.thsm-pointer-parallax {
  translate: var(--thsm-pointer-x,0px) var(--thsm-pointer-y,0px);
  rotate: var(--thsm-pointer-rotate,0deg);
}
.motion-paused .thsm-pointer-halo { display: none !important; }
.motion-paused .thsm-pointer-parallax { translate: none !important; rotate: none !important; }
@media (prefers-reduced-motion:reduce),(hover:none),(pointer:coarse),(max-width:850px) {
  .thsm-pointer-halo { display: none !important; }
  .home .hero-art.thsm-pointer-parallax { translate: none !important; rotate: none !important; }
}
