/* Emotional Eve bunny cursor */
@media (hover: hover) and (pointer: fine) {
  html { --eve-button-cursor: url("eve-bunny.svg") 1 1; cursor: url("eve-bunny.svg") 1 1, auto; }
  :is(a[href], button:not(:disabled), summary, select, label[for], [role="button"]:not([aria-disabled="true"]), input:is([type="button"], [type="submit"], [type="checkbox"], [type="radio"], [type="file"]):not(:disabled)) {
    cursor: var(--eve-button-cursor), pointer;
  }
  :is(#homeDrop, .landing-upload #open.drop-zone) {
    cursor: var(--eve-button-cursor), pointer !important;
  }
  :is(input:not([type]), input:is([type="text"], [type="email"], [type="password"], [type="search"], [type="number"]), textarea) { cursor: text; }
  :is(button, select, input):disabled { cursor: not-allowed; }
}
.eve-click-star {
  position: fixed;
  z-index: 2147483646;
  width: 22px;
  height: 22px;
  pointer-events: none;
  color: #ffd8f1;
  font: 20px/22px system-ui, sans-serif;
  text-align: center;
  text-shadow: 0 0 9px #ea9ae0;
  animation: eve-click-twinkle .38s ease-out both;
}
@keyframes eve-click-twinkle {
  from { transform: translate(-50%, -50%) scale(.4); opacity: .95; }
  to { transform: translate(-50%, -70%) scale(1.4) rotate(32deg); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) { .eve-click-star { display: none; } }

.eve-cursor-bunny { display: none; }
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  html.eve-cursor-motion[data-eve-cursor-target],
  html.eve-cursor-motion body:not(.knob-dragging) [data-eve-cursor-target],
  html.eve-cursor-motion body[data-eve-cursor-target]:not(.knob-dragging) {
    cursor: none !important;
  }
  .eve-cursor-motion .eve-cursor-bunny {
    display: block;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 2147483645;
    width: 32px;
    height: 32px;
    pointer-events: none;
    transform: translate3d(var(--eve-bunny-x), var(--eve-bunny-y), 0);
  }
  .eve-cursor-bunny img { display: block; width: 100%; height: 100%; }
}

@media (hover: hover) and (pointer: fine) {
  html :is(a[href], button:not(:disabled), summary, select:not(:disabled), [role="button"]:not([aria-disabled="true"]), label[for]) {
    cursor: var(--eve-button-cursor), pointer !important;
  }
  html body:not(.knob-dragging) :is(input[type="range"]:not(:disabled), .wave-area, .loop-marker) {
    cursor: url("eve-bunny.svg") 1 1, ew-resize !important;
  }
  html body:not(.knob-dragging) :is(.rotary-dial input[type="range"], .knob-gauge-input):not(:disabled) {
    cursor: url("eve-bunny.svg") 1 1, ns-resize !important;
  }
  html body.knob-dragging :is(button, a, label, summary, [role="button"]) { cursor: none !important; }
  #knobCursor::before {
    content: "";
    width: 32px;
    height: 32px;
    flex: none;
    background: url("eve-bunny.svg") center/contain no-repeat;
  }
  #knobCursor > svg { display: none; }
}
