.site-cursor{position:fixed;inset:0;z-index:10000;pointer-events:none;mix-blend-mode:difference;opacity:0;transition:opacity .15s}
.site-cursor.is-visible{opacity:1}
.cursor-ring,.cursor-dot{position:absolute;left:0;top:0;will-change:transform}
.cursor-shape{position:absolute;box-sizing:border-box;width:36px;height:36px;border:1px solid #fff;border-radius:50%;transform:translate(-50%,-50%);background:transparent;transition:width .38s cubic-bezier(.22,1,.36,1),height .38s cubic-bezier(.22,1,.36,1),background-color .35s,border-color .35s,box-shadow .35s}
.cursor-dot:after{content:'';position:absolute;width:6px;height:6px;border-radius:50%;background:#fff;transform:translate(-50%,-50%)}
.cursor-dot{transition:opacity .18s}
.site-cursor.is-hover .cursor-dot{opacity:0}
.cursor-shape{transition:width .34s cubic-bezier(.22,1,.36,1),height .34s cubic-bezier(.22,1,.36,1),border-radius .34s cubic-bezier(.22,1,.36,1),background-color .35s,border-color .35s,box-shadow .35s}
.site-cursor.is-control .cursor-shape{border-radius:0}
.site-cursor.is-image .cursor-shape{background:#fff;border-color:#fff;box-shadow:none}
@media (hover:hover) and (pointer:fine){html.cursor-active,html.cursor-active a,html.cursor-active button,html.cursor-active [role=button]{cursor:none!important}}
@media (prefers-reduced-motion:reduce),(hover:none),(pointer:coarse){.site-cursor{display:none}}
@media (hover:hover) and (pointer:fine){.pill:hover{transform:none}}
