/* A small energy point marks the exact click position. */
.cinema-active .cursor {
  display: none;
}
.cinema-active body,
.cinema-active a,
.cinema-active button {
  cursor: auto;
}
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  html.core-cursor-ready body,
  html.core-cursor-ready body * {
    cursor: none !important;
  }
  html.core-cursor-ready [data-native-cursor],
  html.core-cursor-ready [data-native-cursor] * {
    cursor: text !important;
  }
  html.core-cursor-ready .cursor {
    display: block;
    position: fixed;
    left: 0;
    top: 0;
    width: 22px;
    height: 22px;
    background: none;
    border-radius: 0;
    pointer-events: none;
    z-index: 2147483647;
    opacity: 0;
    transition: opacity 0.12s;
    transform: translate3d(-50px, -50px, 0);
    will-change: transform;
  }
  html.core-cursor-ready .cursor.is-visible {
    opacity: 1;
  }
  .cursor-body {
    position: absolute;
    inset: 0;
    transform: translate(-50%, -50%);
  }
  .cursor-core {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 6px;
    height: 6px;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    background: radial-gradient(
      circle,
      #fff 0%,
      #f5eaff 22%,
      #c99aff 52%,
      #8650d3 100%
    );
    box-shadow:
      0 0 5px 1px #cba6ffa6,
      0 0 12px 3px #8d4ae84d;
    transition:
      filter 0.15s,
      transform 0.15s;
  }
  .cursor-core::before {
    content: "";
    position: absolute;
    inset: -9px;
    border-radius: 50%;
    background: radial-gradient(circle, #b680f72b, transparent 68%);
    animation: core-breathe 1.8s ease-in-out infinite alternate;
    pointer-events: none;
  }
  .cursor.is-action .cursor-core {
    filter: brightness(1.3);
    transform: translate(-50%, -50%) scale(1.2);
  }
  .cursor.is-pressed .cursor-core {
    filter: brightness(1.65);
    transform: translate(-50%, -50%) scale(0.82);
  }
}
@keyframes core-breathe {
  from {
    opacity: 0.65;
    transform: scale(0.9);
  }
  to {
    opacity: 1;
    transform: scale(1.12);
  }
}
.core-cursor-trail {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 2147483646;
  pointer-events: none;
  display: none;
}
html.core-cursor-ready .core-cursor-trail {
  display: block;
}
@media (prefers-reduced-motion: reduce), (hover: none), (pointer: coarse) {
  .cursor,
  .core-cursor-trail {
    display: none !important;
  }
}
