.cursor-wrap{position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:0;transition:opacity .3s ease;mix-blend-mode:difference}.cursor-wrap.is-visible{opacity:1}.cursor-ring{position:fixed;top:0;left:0;width:42px;height:42px;border:1px solid #f7f5f0;border-radius:9999px;background:transparent;transform:translate3d(-50%,-50%,0);display:flex;align-items:center;justify-content:center;transition:width .45s var(--ease-out-expo),height .45s var(--ease-out-expo),background-color .35s var(--ease-out-expo),border-color .35s var(--ease-out-expo);will-change:transform,width,height}.cursor-ring.is-hover{width:72px;height:72px;background:#f7f5f0;border-color:#f7f5f0}.cursor-ring.is-view{width:124px;height:124px;background:#f7f5f0;border-color:#f7f5f0}.cursor-ring__label{color:#0d0c0a;font-family:var(--font-mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;opacity:0;transform:scale(.7);transition:opacity .3s ease,transform .3s ease;pointer-events:none}.cursor-ring.is-view .cursor-ring__label{opacity:1;transform:scale(1)}.cursor-dot{position:fixed;top:0;left:0;width:5px;height:5px;background:#f7f5f0;border-radius:9999px;transform:translate3d(-50%,-50%,0);transition:opacity .2s ease;will-change:transform}.cursor-wrap:has(.cursor-ring.is-hover) .cursor-dot,.cursor-wrap:has(.cursor-ring.is-view) .cursor-dot{opacity:0}@media(pointer:coarse){.cursor-wrap{display:none}}
