/* Moonlight cursor: center-anchored position; bloom grows only inside. */
.moonlit-cursor-glow{position:fixed;left:-200px;top:-200px;width:100px;height:100px;z-index:9999;pointer-events:none;transform:translate(-50%,-50%);opacity:1;background:none;filter:none;transition:none;will-change:left,top}
.moonlit-cursor-glow::before,.moonlit-cursor-glow::after{content:"";position:absolute;inset:0;border-radius:50%;pointer-events:none;transform-origin:50% 50%;transition:transform .22s cubic-bezier(.15,.85,.2,1),opacity .2s ease,filter .2s ease}
.moonlit-cursor-glow::before{background:radial-gradient(circle,rgba(230,242,255,.52) 0%,rgba(189,215,255,.33) 12%,rgba(142,185,245,.18) 27%,rgba(112,157,232,.08) 46%,transparent 70%);filter:blur(3px);opacity:0;transform:scale(.7)}
.moonlit-cursor-glow::after{background:radial-gradient(circle,rgba(244,249,255,.85) 0%,rgba(221,236,255,.62) 8%,rgba(176,205,251,.34) 19%,rgba(148,185,250,.12) 36%,transparent 62%);filter:blur(5px);opacity:0;transform:scale(.5)}
.moonlit-cursor-glow.is-visible::before{opacity:.8;transform:scale(1)}
.moonlit-cursor-glow.is-visible::after{opacity:.22;transform:scale(.75)}
.moonlit-cursor-glow.is-interactive::before{opacity:.6;transform:scale(3.6);filter:blur(7px)}
.moonlit-cursor-glow.is-interactive::after{opacity:.95;transform:scale(2.15);filter:blur(5px)}
.moonlit-cursor-glow.is-pulsing::after{animation:moonlit-cursor-flash .35s ease-out}
@keyframes moonlit-cursor-flash{0%{filter:blur(3px) brightness(2)}100%{filter:blur(5px) brightness(1)}}
@media(hover:none),(pointer:coarse),(prefers-reduced-motion:reduce){.moonlit-cursor-glow{display:none!important}}
