/* A contrasting dot at rest; a thin violet ring over clickable controls. */
.custom-cursor { display:none; position:fixed; z-index:2147483647; top:0; left:0; width:36px; height:36px; pointer-events:none; border:0; border-radius:50%; background:transparent; opacity:1; transform:translate3d(-100px,-100px,0) translate(-50%,-50%); mix-blend-mode:difference; }
.custom-cursor::before { content:""; position:absolute; inset:0; box-sizing:border-box; border:1px solid transparent; border-radius:50%; background:#fff; transform:scale(.333333); transition:transform 140ms ease-out; }
.custom-cursor.is-active { mix-blend-mode:normal; }
.custom-cursor.is-active::before { border-color:#7564ff; background:transparent; transform:scale(1); }
.custom-cursor span { display:none; }
html.has-custom-cursor,html.has-custom-cursor * { cursor:none!important; }
html.has-custom-cursor .custom-cursor { display:block; visibility:visible; }
@media (prefers-reduced-motion:reduce) { .custom-cursor::before { transition:none; } }
