/* Custom cursor: an ink dot, a hand-drawn ring that trails behind it, a pencil trail and paper bits on scroll.
   cursor.js only adds .cur-on for mice and trackpads with motion allowed, so touch and reduced motion keep the normal cursor. */
.cur-on, .cur-on *{cursor:none!important}
.cur-on :is(input,textarea,select,[contenteditable]),.cur-on .ws.live,.cur-on .ws.live *{cursor:auto!important}

.cur-trail{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:2147482000}
.cur-dot,.cur-ring{position:fixed;left:0;top:0;pointer-events:none;z-index:2147482001;opacity:0;transition:opacity .25s}
.cur-show .cur-dot,.cur-show .cur-ring{opacity:1}
.cur-dot{width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;background:var(--ink,#161616);box-shadow:0 0 0 1.5px rgba(251,251,248,.85);transition:opacity .25s,scale .2s}
.cur-ring{width:44px;height:44px;margin:-22px 0 0 -22px}
.cur-ring .cur-in{position:absolute;inset:0;display:grid;place-items:center;scale:var(--s,1);transition:scale .35s cubic-bezier(.3,1.5,.5,1)}
.cur-ring svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.cur-ring path{fill:transparent;stroke:var(--ink,#161616);stroke-width:1.6;stroke-linecap:round;vector-effect:non-scaling-stroke;transition:fill .25s,stroke .25s}
/* a pale halo under the ink so it still shows on dark bands */
.cur-ring .halo{stroke:rgba(251,251,248,.8);stroke-width:4.5}
.cur-ring b{position:relative;font:700 9px/1 var(--hand,cursive);color:var(--ink,#161616);opacity:0;transition:opacity .2s}

/* over links and buttons: a lime blob of highlighter */
.cur-link .cur-ring{--s:1.6}
.cur-link .cur-ring path:not(.halo){fill:var(--lime,#D9F66B);stroke:var(--ink,#161616)}
.cur-link .cur-ring{mix-blend-mode:multiply}
.cur-link .cur-ring .halo,.cur-drag .cur-ring .halo{stroke:transparent}
.cur-link .cur-dot{scale:.5}
/* over something you can drag: it says so, in handwriting */
.cur-drag .cur-ring{--s:1.9}
.cur-drag .cur-ring path:not(.halo){fill:#fff;stroke:var(--tangerine,#FF6B35)}
.cur-drag .cur-ring b{opacity:1}
.cur-drag .cur-dot{scale:0}
/* pressing down squeezes it like a stamp */
.cur-down .cur-ring{--s:.75}
.cur-link.cur-down .cur-ring{--s:1.3}
.cur-drag.cur-down .cur-ring{--s:1.6}
/* typing, or inside a sample site with its own cursor: step aside */
.cur-off .cur-dot,.cur-off .cur-ring{opacity:0}
