/* Custom cursor (assets/js/cursor.js): a brand-pink dot that tracks the mouse and a gradient ring that trails it.
   Only active on mouse/trackpad devices; the script adds .has-cursor to <html> once it's running. */
.has-cursor,
.has-cursor * { cursor: none !important; }
/* Keep the native caret where people type, and inside embedded players the script can't see into. */
.has-cursor input,
.has-cursor textarea,
.has-cursor select,
.has-cursor [contenteditable="true"],
.has-cursor iframe { cursor: auto !important; }

.cur-dot,
.cur-ring {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 2147483647;
    pointer-events: none;
    border-radius: 50%;
    opacity: 0;
    transform: translate3d(var(--cur-x, -100px), var(--cur-y, -100px), 0);
    will-change: transform;
}
.cur-dot {
    width: 8px;
    height: 8px;
    margin: -4px 0 0 -4px;
    background: #f6006c;
    box-shadow: 0 0 10px rgba(246, 0, 108, .8);
    transition: opacity .2s ease, width .2s ease, height .2s ease, margin .2s ease;
}
.cur-ring {
    width: 38px;
    height: 38px;
    margin: -19px 0 0 -19px;
    /* Gradient border: a transparent fill clipped over the brand gradient. */
    border: 1.5px solid transparent;
    background:
        linear-gradient(transparent, transparent) padding-box,
        linear-gradient(135deg, #e61c2657 0%, #d625aa63 100%) border-box;
    transition: opacity .25s ease, width .3s ease, height .3s ease, margin .3s ease, background .3s ease;
}
.cur-visible .cur-dot,
.cur-visible .cur-ring { opacity: 1; }

/* Over links and buttons: the ring swells and fills with a soft pink glow. */
.cur-link .cur-ring {
    width: 60px;
    height: 60px;
    margin: -30px 0 0 -30px;
    background:linear-gradient(transparent, transparent) padding-box,
        linear-gradient(135deg, #e61c2657 0%, #d625aa63 100%) border-box;
}
.cur-link .cur-dot { width: 4px; height: 4px; margin: -2px 0 0 -2px; }

/* Pressed. */
.cur-down .cur-ring { transform: translate3d(var(--cur-x, -100px), var(--cur-y, -100px), 0) scale(.85); }
