/* ═══════════════════════════════════════════════════
   CHAPELLIA — Star Cursor
   Include via: <link rel="stylesheet" href="/includes/cursor/cursor.css">
   ═══════════════════════════════════════════════════ */

/* ── Hide ALL default cursors everywhere ── */
*,
*::before,
*::after,
a,
button,
input,
textarea,
select,
label,
[role="button"],
[onclick],
[tabindex],
summary,
details {
  cursor: none !important;
}

/* ── Prevent text highlight on drag (tidak ganggu copy-paste, hanya drag) ── */
body {
  -webkit-user-drag: none;
}

/* ── Star cursor element ── */
#chapellia-cursor {
  position: fixed;
  top: 0; left: 0;
  z-index: 999999;
  width: 18px; height: 18px;
  pointer-events: none;
  transform: translate(-50%, -50%);
  will-change: left, top;
  /* Glow kuning */
  filter: drop-shadow(0 0 4px rgba(255, 215, 0, 0.95))
          drop-shadow(0 0 10px rgba(255, 215, 0, 0.5));
  /* Hidden until first mousemove */
  opacity: 0;
  transition: opacity 0.3s, filter 0.25s;
}
#chapellia-cursor.visible {
  opacity: 1;
}
#chapellia-cursor.on-link {
  filter: drop-shadow(0 0 6px rgba(255, 215, 0, 1))
          drop-shadow(0 0 18px rgba(255, 215, 0, 0.7));
  transform: translate(-50%, -50%) scale(1.25);
}
#chapellia-cursor svg {
  width: 100%; height: 100%; display: block;
}

/* ── Trail particles ── */
.chapellia-trail {
  position: fixed;
  z-index: 999998;
  pointer-events: none;
  will-change: transform, opacity;
  transform: translate(-50%, -50%);
  opacity: 0;
}
.chapellia-trail svg {
  display: block;
}

/* ── Hide on touch devices ── */
@media (hover: none) {
  #chapellia-cursor,
  .chapellia-trail {
    display: none !important;
  }
  *, *::before, *::after,
  a, button, input, textarea, select {
    cursor: auto !important;
  }
}