@media (any-pointer: fine) {
  html[data-beachcursor-active="1"] body,
  html[data-beachcursor-active="1"] body * {
    cursor: var(--beachcursor-normal, auto) !important;
  }
  html[data-beachcursor-active="1"] a[href],
  html[data-beachcursor-active="1"] a[href] *,
  html[data-beachcursor-active="1"] button,
  html[data-beachcursor-active="1"] button *,
  html[data-beachcursor-active="1"] [role="button"],
  html[data-beachcursor-active="1"] input[type="submit"],
  html[data-beachcursor-active="1"] input[type="button"],
  html[data-beachcursor-active="1"] input[type="checkbox"],
  html[data-beachcursor-active="1"] input[type="radio"],
  html[data-beachcursor-active="1"] select {
    cursor: var(--beachcursor-hover, pointer) !important;
  }
  html[data-beachcursor-active="1"][data-beachcursor-inputs="native"] :where(input:not([type]), input[type="text"], input[type="password"], input[type="email"], input[type="search"], input[type="number"], input[type="tel"], input[type="url"], textarea, [contenteditable]:not([contenteditable="false"]), [contenteditable]:not([contenteditable="false"]) *) {
    cursor: text !important;
  }
  html[data-beachcursor-active="1"][data-beachcursor-inputs] [disabled],
  html[data-beachcursor-active="1"][data-beachcursor-inputs] [disabled] *,
  html[data-beachcursor-active="1"][data-beachcursor-inputs] [aria-disabled="true"] {
    cursor: not-allowed !important;
  }
  html[data-beachcursor-active="1"] [data-beachcursor-native],
  html[data-beachcursor-active="1"] [data-beachcursor-native] * {
    cursor: auto !important;
  }
}
.beachcursor-toggle {
  position: fixed;
  right: 1rem;
  bottom: 1rem;
  z-index: 10000;
  padding: .55rem .8rem;
  border: 1px solid #777;
  border-radius: .35rem;
  background: #fff;
  color: #222;
  font: inherit;
  font-size: .875rem;
  box-shadow: 0 2px 8px #0002;
}
.beachcursor-toggle:focus-visible { outline: 3px solid #1769aa; outline-offset: 3px; }
@media print { .beachcursor-toggle { display: none; } }
