/* Keep the small native pointer throughout the site. The opening hero adds sparks. */
@media (any-pointer: fine) {
  :root,
  :root body,
  :root body * {
    cursor: url('../assets/cursor-preview.svg?v=2') 3 2, auto;
  }

  /* Keep editing and disabled-control affordances when those controls occur. */
  html body :is(textarea, [contenteditable="true"], input:not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"])) {
    cursor: text;
  }

  html body :is(button:disabled, input:disabled, select:disabled, textarea:disabled, [aria-disabled="true"]) {
    cursor: not-allowed;
  }
}

.hero-cursor-energy { position: fixed; inset: 0; width: 100%; height: 100%; z-index: 60; pointer-events: none; }
@media (pointer: fine) and (prefers-reduced-motion: no-preference) {
  :root.is-hero-electric body, :root.is-hero-electric body * {
    cursor: url('../assets/cursor-electric.svg') 8 2, auto;
  }
}
