.ftd-cursor-layer { position: fixed; inset: 0; overflow: clip; pointer-events: none; z-index: 200; }
.ftd-cursor-cursor { --arrow-fill: #1a1a1a; --arrow-edge: #f3f2ee; --hand-fill: #ddd6ff; --hand-edge: #514367; position: absolute; left: 0; top: 0; width: 0; height: 0; pointer-events: none; visibility: hidden; }
.ftd-cursor-cursor[data-visible='true'] { visibility: visible; }
.ftd-cursor-cursor[data-tone='light'] { --arrow-fill: #ddd6ff; --arrow-edge: #292431; --hand-fill: #f7d6c1; --hand-edge: #292431; }
.ftd-cursor-arrow, .ftd-cursor-hand { position: absolute; display: block; overflow: visible; filter: drop-shadow(0 1px 1px #00000020); transition: transform 150ms cubic-bezier(.2,.8,.2,1); }
.ftd-cursor-arrow { left: -3px; top: -3px; transform-origin: 3px 3px; }
.ftd-cursor-hand { left: -12px; top: -2px; transform-origin: 12px 2px; visibility: hidden; }
.ftd-cursor-shape { fill: var(--arrow-fill); stroke: var(--arrow-edge); transition: fill 130ms ease, stroke 130ms ease; }
.ftd-cursor-handShape { fill: var(--hand-fill); stroke: var(--hand-edge); transition: fill 130ms ease, stroke 130ms ease; }
.ftd-cursor-creases { stroke: var(--hand-edge); opacity: .5; }
.ftd-cursor-cursor[data-visible='true'][data-hover='true'] .ftd-cursor-arrow { visibility: hidden; }
.ftd-cursor-cursor[data-visible='true'][data-hover='true'] .ftd-cursor-hand { visibility: visible; }
.ftd-cursor-cursor[data-pressed='true'] .ftd-cursor-arrow, .ftd-cursor-cursor[data-pressed='true'] .ftd-cursor-hand { transform: scale(.9); transition-duration: 70ms; }
@media (hover: none), (pointer: coarse), (prefers-reduced-motion: reduce), (forced-colors: active) { .ftd-cursor-layer { display: none; } }
@media print { .ftd-cursor-layer { display: none; } }

@media (hover: hover) and (pointer: fine) {
 body[data-labs-cursor-active='true'], body[data-labs-cursor-active='true'] *,
 body[data-labs-cursor-active='true'] *::before, body[data-labs-cursor-active='true'] *::after { cursor: none !important; }
}
