/* Mouse only: keep touch interaction and text insertion familiar. */
@media (any-hover: hover) and (any-pointer: fine) {
  html {
    --duck-cursor: auto;
    --duck-hover-cursor: pointer;
  }
  body,
  body * {
    cursor: var(--duck-cursor), auto;
  }
  a,
  a *,
  button,
  button *,
  summary,
  summary *,
  label[for],
  select,
  input[type="checkbox"],
  input[type="radio"],
  [role="button"],
  [role="button"] *,
  .leaflet-interactive,
  .leaflet-grab,
  .leaflet-dragging .leaflet-grab,
  .leaflet-marker-icon,
  .leaflet-marker-icon * {
    cursor: var(--duck-hover-cursor), pointer !important;
  }
  input:not([type="checkbox"]):not([type="radio"]):not([type="button"]):not(
      [type="submit"]
    ),
  textarea,
  [contenteditable="true"],
  [contenteditable="true"] * {
    cursor: text !important;
  }
  button:disabled,
  button:disabled * {
    cursor: not-allowed !important;
  }
}

.duck-click-ripple {
  position: fixed;
  z-index: 2147483647;
  pointer-events: none !important;
  width: 8px;
  height: 8px;
  border: 2px solid var(--yellow);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  animation: duck-peck-ring 0.24s ease-out forwards;
}
@keyframes duck-peck-ring {
  to {
    width: 26px;
    height: 26px;
    opacity: 0;
  }
}
@media (any-hover: hover) and (any-pointer: fine) {
  html.duck-peck body,
  html.duck-peck body *:not(input):not(textarea) {
    cursor: var(--duck-cursor), pointer !important;
  }
}
