.syn-cursor-on,
.syn-cursor-on * {
  cursor: none !important;
}

.syn-cursor-on input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="submit"]):not([type="button"]),
.syn-cursor-on textarea,
.syn-cursor-on [contenteditable="true"] {
  cursor: text !important;
}

.syn-cursor-on iframe {
  cursor: auto !important;
}

.syn-cursor {
  position: fixed;
  top: 0;
  left: 0;
  width: 50px;
  height: 50px;
  margin: 0;
  padding: 0;
  transform: translate3d(-100px, -100px, 0);
  opacity: 0;
  pointer-events: none;
  z-index: 2147483000;
  will-change: transform;
  transition: opacity 0.18s ease-out;
}

.syn-cursor.is-visible {
  opacity: 1;
}

.syn-cursor-inner {
  position: relative;
  width: 100%;
  height: 100%;
  transform: scale(1);
  transition: transform 0.16s ease-out;
  filter: drop-shadow(0 0 8px rgba(35, 215, 255, 0.7));
}

.syn-cursor.is-active .syn-cursor-inner {
  transform: scale(1.35);
}

.syn-cursor.is-pressed .syn-cursor-inner {
  transform: scale(0.82);
}

.syn-cursor svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
}

.syn-cursor-ring {
  transform-origin: 200px 200px;
  animation: syn-cursor-spin 46s linear infinite;
  opacity: 0.55;
}

.syn-cursor-orbit {
  transform-origin: 200px 200px;
  animation: syn-cursor-spin 7s linear infinite;
}

.syn-cursor-core {
  transform-origin: 200px 200px;
  animation: syn-cursor-breathe 8s ease-in-out infinite;
}

.syn-cursor-branch {
  stroke-dasharray: 14 10;
  animation: syn-cursor-flow 2.6s linear infinite;
}

.syn-cursor.is-active .syn-cursor-branch {
  animation-duration: 0.9s;
}

.syn-cursor.is-active .syn-cursor-core {
  animation-duration: 2.4s;
}

.syn-cursor-flare {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 24%;
  height: 24%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  mix-blend-mode: screen;
  background: conic-gradient(from 0deg, transparent 0%, #FFD79A 8%, transparent 20%, transparent 55%, #FFD79A 63%, transparent 75%);
  animation: syn-cursor-spin 5.5s linear infinite;
  filter: blur(1.5px);
}

.syn-trail {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 2147482998;
}

.syn-cursor-shock {
  position: fixed;
  border-radius: 50%;
  border: 2px solid rgba(35, 215, 255, 0.9);
  transform: translate(-50%, -50%);
  pointer-events: none;
  z-index: 2147482999;
  animation: syn-cursor-shockwave 0.6s ease-out forwards;
}

@keyframes syn-cursor-spin {
  to { transform: rotate(360deg); }
}

@keyframes syn-cursor-breathe {
  0%, 100% { transform: scale(1); filter: brightness(1); }
  50% { transform: scale(1.04); filter: brightness(1.18); }
}

@keyframes syn-cursor-flow {
  to { stroke-dashoffset: -48; }
}

@keyframes syn-cursor-shockwave {
  0% { width: 10px; height: 10px; opacity: 1; border-color: rgba(255, 215, 158, 1); }
  100% { width: 180px; height: 180px; opacity: 0; border-color: rgba(35, 215, 255, 0); }
}

