/* Suppress the mobile browser's default tap-highlight box */
a, button, input, textarea, select, label, [role="button"] {
  -webkit-tap-highlight-color: transparent;
}

/* Creator Group custom cursor — desktop pointers only */
@media (hover: hover) and (pointer: fine) {
  html, body, a, button, input, textarea, select, label,
  a *, button *, [role="button"], [role="button"] * {
    cursor: none !important;
  }

  .cg-cursor {
    position: fixed;
    top: 0;
    left: 0;
    width: 10px;
    height: 10px;
    margin: -5px 0 0 -5px;
    border-radius: 50%;
    /* white + difference blend: reads dark on the light bg, inverts over ink headlines */
    background: #FFFFFF;
    mix-blend-mode: difference;
    pointer-events: none;
    z-index: 999999;
    transition:
      width 0.25s ease,
      height 0.25s ease,
      margin 0.25s ease,
      background-color 0.25s ease,
      border-radius 0.25s ease,
      opacity 0.2s ease;
    will-change: transform;
  }

  .cg-cursor.is-hidden { opacity: 0; }

  /* Links & buttons: bloom into a translucent paprika circle */
  .cg-cursor.is-link {
    width: 42px;
    height: 42px;
    margin: -21px 0 0 -21px;
    background: rgba(220, 90, 70, 0.5);
    mix-blend-mode: normal;
  }

  /* Text fields: become a blinking writer's caret */
  .cg-cursor.is-text {
    width: 2px;
    height: 26px;
    margin: -13px 0 0 -1px;
    border-radius: 1px;
    background: #1A1A1A;
    mix-blend-mode: normal;
    animation: cg-caret-blink 1.1s steps(1) infinite;
  }

  @keyframes cg-caret-blink {
    50% { opacity: 0; }
  }
}

@media (prefers-reduced-motion: reduce) {
  .cg-cursor {
    transition: opacity 0.2s ease;
    animation: none !important;
  }
}
