.cursor-orb{position:fixed;left:0;top:0;width:42px;height:42px;border-radius:50%;overflow:hidden;pointer-events:none;z-index:10000;opacity:0;transform:translate(-50%,-50%);transition:width .45s cubic-bezier(.22,1,.36,1),height .45s cubic-bezier(.22,1,.36,1);will-change:transform,opacity}
.cursor-orb-color{position:absolute;inset:-50%;background:radial-gradient(ellipse at 40% 35%,#f1f0e999 0%,#d5ff5233 10%,transparent 26%),radial-gradient(circle at 62% 70%,#d5ff52 0%,#7c963d 17%,transparent 38%),linear-gradient(135deg,#111210 15%,#2b3420 38%,#657738 65%,#181d13 90%);opacity:1;transition:opacity .35s ease}
.cursor-orb:not(.is-heading){box-shadow:inset 0 0 0 1px #d5ff5245,inset 0 -7px 14px #11121066,0 0 12px #d5ff5218}
.cursor-orb:not(.is-heading):after{content:'';position:absolute;inset:0;border-radius:inherit;background:radial-gradient(ellipse at 32% 24%,#f1f0e9bb 0%,#f1f0e966 5%,#d5ff5220 14%,transparent 32%);pointer-events:none}
.cursor-orb.is-heading{width:110px;height:110px;backdrop-filter:invert(1);-webkit-backdrop-filter:invert(1)}
.cursor-orb.is-heading .cursor-orb-color{opacity:.12}
.cursor-orb-color{animation:cursor-colors 11s linear infinite;animation-play-state:paused}
.cursor-orb.is-active .cursor-orb-color{animation-play-state:running}
.cursor-orb.is-resting:not(.is-heading){animation:cursor-breathe 6s ease-in-out infinite}
@keyframes cursor-colors{to{transform:rotate(360deg)}}
@keyframes cursor-breathe{50%{scale:.965}}
@media(pointer:coarse){.cursor-orb,.gradient-cursor{display:none}}
@media(any-pointer:fine){html,body,body :is(a,button,summary,label,[tabindex]):not(:disabled){cursor:url('assets/cursor-arrow.svg') 5 4,auto}body :is(input,textarea,[contenteditable="true"]){cursor:text}}
