.art-cursor { position: fixed; inset: 0; overflow: hidden; z-index: 2147483647; pointer-events: none; opacity: 0; }
.art-cursor-anchor { position: absolute; left: 0; top: 0; width: 0; height: 0; }
.art-cursor.is-visible { opacity: 1; }
.art-cursor-face { position: absolute; display: grid; place-items: center; left: -14px; top: -14px; width: 28px; height: 28px; border: 1px solid var(--ink); border-radius: 50%; background: transparent; color: var(--ink); transition: width 220ms var(--motion-ease), height 220ms var(--motion-ease), left 220ms var(--motion-ease), top 220ms var(--motion-ease), background-color 220ms ease, border-color 220ms ease, transform 140ms ease; }
.art-cursor[data-tone="dark"][data-kind="default"] .art-cursor-face { border-color: var(--paper); }
.art-cursor-label { font: 700 10px/1 Montserrat,sans-serif; letter-spacing: .04em; }
.art-cursor[data-kind="link"] .art-cursor-face { background: var(--lime); border-color: var(--lime); width: 48px; height: 48px; left: -24px; top: -24px; }
.art-cursor[data-kind="link"] .art-cursor-label { font-size: 24px; font-weight: 400; }
.art-cursor[data-kind="photo"] .art-cursor-face { background: var(--lime); border-color: var(--lime); width: 66px; height: 66px; left: -33px; top: -33px; }
.art-cursor.is-pressed .art-cursor-face { transform: scale(.82); }
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  html.art-cursor-active, html.art-cursor-active * { cursor: none !important; }
}
@media (hover: none), (pointer: coarse), (prefers-reduced-motion: reduce) {
  .art-cursor { display: none; }
}
