/* Native custom cursors remain crisp; form fields retain their familiar input cursors. */
@media(hover:hover) and (pointer:fine){html[data-he-cursor=shape] body,html[data-he-cursor=shape] a,html[data-he-cursor=shape] button,html[data-he-cursor=shape] summary,html[data-he-cursor=shape] label{cursor:var(--he-gallery-cursor)}html[data-he-cursor=shape] input:not([type=color]),html[data-he-cursor=shape] textarea{cursor:text}html[data-he-cursor=shape] select,html[data-he-cursor=shape] input[type=color]{cursor:pointer}}
.he-cursor-follower{display:none;pointer-events:none;position:fixed;z-index:100000;width:var(--cursor-size,36px);height:var(--cursor-size,36px);transform:translate(-50%,-50%);color:var(--cursor-accent,#5c6b4b);border:1.5px solid currentColor;border-radius:50%;box-shadow:0 0 0 1px #fff9;opacity:0;transition:opacity .15s,width .2s,height .2s}
@media(hover:hover) and (pointer:fine){.he-cursor-follower.visible{display:block;opacity:1}.he-cursor-follower.over-control{width:calc(var(--cursor-size,36px) * 1.3);height:calc(var(--cursor-size,36px) * 1.3)}}
.he-cursor-follower.effect-glow{border:0;background:color-mix(in srgb,var(--cursor-accent) 24%,transparent);box-shadow:0 0 22px 7px color-mix(in srgb,var(--cursor-accent) 24%,transparent)}
.he-cursor-follower.effect-glow:after{content:'';position:absolute;inset:40%;border-radius:50%;background:var(--cursor-accent);outline:1px solid white}
.he-cursor-follower.effect-orbit{border-style:dashed;animation:he-orbit 8s linear infinite}.he-cursor-follower.effect-orbit:after{content:'';position:absolute;left:0;top:4px;width:7px;height:7px;background:var(--cursor-accent);border:1px solid white;border-radius:50%}
@keyframes he-orbit{to{rotate:360deg}}@media(prefers-reduced-motion:reduce){.he-cursor-follower{animation:none!important;transition:none!important}}
