
html.cursor-on, html.cursor-on * { cursor:none !important; }
.cursor { position:fixed; inset:0; z-index:var(--z-cursor); pointer-events:none; overflow:hidden; }
.cursor > * { position:absolute; left:0; top:0; will-change:transform; }
.cursor-dot { width:6px; height:6px; margin:-3px 0 0 -3px; background:var(--acc);
              box-shadow:0 0 0 1px var(--ink);
              transition:width var(--t-fast), height var(--t-fast), margin var(--t-fast); }
.cursor.locked .cursor-dot { width:4px; height:4px; margin:-2px 0 0 -2px; }

.cursor-dot.caret { width:2px; height:18px; margin:-9px 0 0 -1px; background:var(--white);
                    animation:none; }
.cursor-corner { width:10px; height:10px; border:0 solid var(--acc); opacity:0;
                 transition:opacity var(--t); }
.cursor-corner.tl { border-width:2px 0 0 2px; }
.cursor-corner.tr { border-width:2px 2px 0 0; }
.cursor-corner.bl { border-width:0 0 2px 2px; }
.cursor-corner.br { border-width:0 2px 2px 0; }
.cursor.locked .cursor-corner { opacity:1; }
.cursor-tag { font:600 var(--fs-micro)/1 var(--mono); letter-spacing:.04em; color:var(--ink);
              background:var(--acc); padding:3px 5px; white-space:nowrap; opacity:0;
              transition:opacity var(--t); }
.cursor.locked .cursor-tag:not(:empty) { opacity:1; }
