/* The app owns pointer input and its existing frame loop. This body-level layer
   stays outside the melting world and never participates in hit testing. */
.interaction-cursor-layer{position:fixed;inset:0;z-index:2147483000;pointer-events:none!important;overflow:hidden;contain:strict;color:#fff5df}
.interaction-cursor-layer[data-tone='ink']{color:#07182d}
.interaction-cursor-streaks{position:absolute;inset:0;width:100%;height:100%;pointer-events:none!important}
.interaction-cursor-pointer{position:absolute;left:0;top:0;width:0;height:0;pointer-events:none!important;will-change:transform}
.interaction-cursor-pointer[hidden]{display:none!important}
.interaction-cursor-ring,.interaction-cursor-dot{position:absolute;left:0;top:0;display:block;border-radius:50%;pointer-events:none!important;transform:translate(-50%,-50%)}
.interaction-cursor-ring{width:14px;height:14px;border:1px solid currentColor;box-shadow:0 0 0 1px #07182d60;transition:width .12s cubic-bezier(.22,1,.36,1),height .12s cubic-bezier(.22,1,.36,1)}
.interaction-cursor-dot{width:3px;height:3px;background:currentColor;box-shadow:0 0 0 1px #07182d60}
.interaction-cursor-layer[data-tone='ink'] .interaction-cursor-ring,.interaction-cursor-layer[data-tone='ink'] .interaction-cursor-dot{box-shadow:0 0 0 1px #fff5df70}
.interaction-cursor-pointer[data-engaged='true'] .interaction-cursor-ring{width:19px;height:19px}
html.interaction-cursor-enabled,html.interaction-cursor-enabled *{cursor:none!important}
html.interaction-cursor-enabled :is(input:not([type='button']):not([type='submit']):not([type='reset']),textarea,select,[contenteditable]:not([contenteditable='false'])){cursor:revert!important}
@media(pointer:coarse),(prefers-reduced-motion:reduce){.interaction-cursor-layer{display:none!important}html.interaction-cursor-enabled,html.interaction-cursor-enabled *{cursor:revert!important}}
