/* Valis Website Core: optional golden star. Native cursor stays until JS confirms a visible replacement. */
html.valis-cursor-active,
html.valis-cursor-active *,
html.valis-cursor-active *::before,
html.valis-cursor-active *::after { cursor: none !important; }

#valis-cursor {
    --valis-cursor-ready: 1;
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    pointer-events: none;
    z-index: 2147483647;
    width: var(--valis-cursor-size, 26px);
    height: var(--valis-cursor-size, 26px);
    transform: translate(-50%, -50%);
    filter: drop-shadow(0 0 4px rgba(212,175,55,.6)) drop-shadow(0 0 10px rgba(212,175,55,.35));
    will-change: transform;
}
#valis-cursor[data-visible="true"] { display: block; }
#valis-cursor svg { width: 100%; height: 100%; animation: valis-cursor-spin 17s linear infinite; }
.valis-cursor-sparkle {
    position: fixed;
    pointer-events: none;
    z-index: 2147483646;
    transform-origin: center;
    will-change: transform, opacity;
    filter: drop-shadow(0 0 3px rgba(212,175,55,.5));
}
@keyframes valis-cursor-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
    #valis-cursor svg { animation: none; }
    .valis-cursor-sparkle { display: none; }
}
@media print {
    #valis-cursor, .valis-cursor-sparkle { display: none !important; }
}
