:root{
  --cursor-accent:var(--accent,var(--mint,#a6a18a));
  --cursor-accent-soft:var(--accent-soft,var(--mint2,#cdc8b3));
}
.has-custom-cursor,.has-custom-cursor *{cursor:none!important}
.has-custom-cursor input:not([type=range]):not([type=checkbox]):not([type=radio]):not([type=button]):not([type=submit]):not([type=reset]),
.has-custom-cursor textarea,
.has-custom-cursor [contenteditable="true"]{cursor:text!important}
.cursor-dot,.cursor-ring{position:fixed;z-index:9999;top:0;left:0;border-radius:50%;pointer-events:none;will-change:transform}
.cursor-dot{width:7px;height:7px;background:var(--cursor-accent);box-shadow:0 0 10px color-mix(in srgb,var(--cursor-accent) 58%,transparent);transition:opacity .25s,width .2s,height .2s}
.cursor-ring{width:32px;height:32px;border:1.5px solid var(--cursor-accent);transition:width .28s var(--ease),height .28s var(--ease),background-color .28s,border-color .28s,opacity .25s}
.cursor-ring.is-hover{width:56px;height:56px;background:color-mix(in srgb,var(--cursor-accent) 10%,transparent);border-color:var(--cursor-accent-soft)}
.cursor-ring.is-down{width:26px;height:26px;background:color-mix(in srgb,var(--cursor-accent) 20%,transparent)}
.cursor-out .cursor-dot,.cursor-out .cursor-ring,.over-text .cursor-dot,.over-text .cursor-ring{opacity:0}
@media(pointer:coarse){.cursor-dot,.cursor-ring{display:none}}
