.custom-cursor{position:fixed;left:0;top:0;z-index:2147483646;width:32px;height:32px;pointer-events:none;opacity:0;transform:translate3d(-100px,-100px,0);mix-blend-mode:difference}
.custom-cursor.is-visible{opacity:1}
.pointer-mark{position:relative;display:block;width:32px;height:32px;color:#fff}
.pointer-dot,.pointer-ring,.pointer-arrow{position:absolute;display:none}
.pointer-mark[data-style=dot] .pointer-dot{display:block;left:13px;top:13px;width:6px;height:6px;border-radius:50%;background:currentColor}
.pointer-mark[data-style=ring] .pointer-ring{display:block;left:5px;top:5px;width:22px;height:22px;border:1.5px solid currentColor;border-radius:50%}
.pointer-mark[data-style=arrow] .pointer-arrow{display:block;left:15px;top:15px;width:18px;height:22px;overflow:visible;filter:drop-shadow(1px 1px 0 #777)}
@media (hover:hover) and (pointer:fine){
  html.pointer-ready,html.pointer-ready *{cursor:none!important}
  html.pointer-ready input,html.pointer-ready textarea,html.pointer-ready [contenteditable]{cursor:text!important}
  html.pointer-ready:has(dialog[open]),html.pointer-ready:has(dialog[open]) *{cursor:auto!important}
  html.pointer-ready:has(dialog[open]) input,html.pointer-ready:has(dialog[open]) textarea{cursor:text!important}
  html.pointer-ready:has(dialog[open]) .custom-cursor{display:none}
}
@media (pointer:coarse),(hover:none),(forced-colors:active){
  .custom-cursor{display:none!important}
  html.pointer-ready,html.pointer-ready *{cursor:auto!important}
}
