.ghost-cursor {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  width: 74px;
  margin: 20px 0 0 -37px;
  pointer-events: none;
  transform-origin: center;
  will-change: transform;
  filter: drop-shadow(0 12px 16px rgba(33, 48, 41, 0.16));
}

.ghost-cursor__tail {
  position: absolute;
  z-index: -1;
  top: 18px;
  left: 0;
  width: 100%;
  height: 76px;
  background: linear-gradient(165deg, rgba(224, 168, 61, 0.5), rgba(194, 86, 74, 0.34));
  border-radius: 50% 50% 42% 42% / 58% 58% 30% 30%;
}

.ghost-cursor__eyes,
.ghost-cursor__mouth {
  position: absolute;
  z-index: 1;
  width: 12px;
  height: 12px;
  top: 32px;
  left: 50%;
  transform: translate(-50%);
  border-radius: 50%;
  background: var(--sidebar-deep, #23372f);
  opacity: 0.82;
  margin-left: -16px;
  transform-origin: center;
}

.ghost-cursor__eyes {
  box-shadow: 32px 0 0 var(--sidebar-deep, #23372f);
}

.ghost-cursor__mouth {
  margin: 0;
  top: 54px;
  transform: scale(0);
  border-radius: 20px 20px 12px 12px;
  width: 16px;
  height: 10px;
  overflow: hidden;
}

@media (prefers-reduced-motion: reduce), (hover: none) {
  .ghost-cursor { display: none; }
}
