/* Site-wide interaction layer: desktop native .cur cursor pack + mobile tap pulse */

:root {
  --rnr-gold: #e0c584;
  --rnr-gold-soft: rgba(224, 197, 132, 0.38);
  --rnr-black: rgba(5, 6, 8, 0.92);
}

@media (hover: hover) and (pointer: fine) {
  html,
  html body {
    cursor: url("cursors/night-diamond-v3-0-amber/normal.cur"), auto !important;
  }

  html a,
  html button,
  html [role="button"],
  html .btn,
  html summary,
  html label[for],
  html input[type="submit"],
  html input[type="button"],
  html input[type="checkbox"],
  html input[type="radio"],
  html select,
  html option,
  html optgroup {
    cursor: url("cursors/night-diamond-v3-0-amber/link.cur"), pointer !important;
  }

  html input[type="text"],
  html input[type="email"],
  html input[type="tel"],
  html input[type="number"],
  html input[type="search"],
  html input[type="password"],
  html textarea,
  html [contenteditable="true"] {
    cursor: url("cursors/night-diamond-v3-0-amber/text.cur"), text !important;
  }

  html input[disabled],
  html button[disabled],
  html select[disabled],
  html textarea[disabled],
  html .disabled,
  html [aria-disabled="true"] {
    cursor: url("cursors/night-diamond-v3-0-amber/unavailable.cur"), not-allowed !important;
  }

  html[aria-busy="true"],
  html.cursor-busy,
  html body.cursor-busy,
  html .is-loading,
  html .loading,
  html .cursor-busy {
    cursor: url("cursors/night-diamond-v3-0-amber/busy.cur"), progress !important;
  }

  html a,
  html button,
  html [role="button"],
  html .btn {
    transition: color 120ms ease, text-shadow 120ms ease, box-shadow 120ms ease, filter 120ms ease;
  }

  html a:hover {
    text-shadow: 0 0 8px var(--rnr-gold-soft);
  }

  html button:hover,
  html [role="button"]:hover,
  html .btn:hover {
    box-shadow: 0 0 0 1px rgba(224, 197, 132, 0.28), 0 0 14px rgba(224, 197, 132, 0.16);
    filter: saturate(1.03);
  }
}

.rnr-tap-pulse {
  position: fixed;
  width: 14px;
  height: 14px;
  border-radius: 999px;
  pointer-events: none;
  z-index: 2147483647;
  transform: translate(-50%, -50%) scale(0.6);
  background: radial-gradient(circle at center, rgba(224, 197, 132, 0.4), rgba(224, 197, 132, 0.16) 48%, transparent 72%);
  border: 1px solid rgba(224, 197, 132, 0.46);
  box-shadow: 0 0 0 1px rgba(5, 6, 8, 0.45) inset, 0 0 12px rgba(224, 197, 132, 0.2);
  animation: rnrTapPulse 360ms cubic-bezier(0.18, 0.82, 0.2, 1) forwards;
}

@keyframes rnrTapPulse {
  0% {
    opacity: 0.9;
    transform: translate(-50%, -50%) scale(0.6);
  }
  100% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(3.2);
  }
}
