/* v81 — desktop cursor halo + click burst */
@media (pointer:fine) and (min-width:901px){
  .cursor-halo{
    position:fixed;
    left:0;top:0;
    width:78px;height:78px;
    margin-left:-39px;margin-top:-39px;
    border-radius:50%;
    pointer-events:none;
    z-index:999999;
    border:0!important;
    background:
      radial-gradient(circle,
        rgba(160,198,255,.28) 0%,
        rgba(119,169,255,.18) 24%,
        rgba(88,143,255,.10) 45%,
        rgba(71,121,255,.045) 62%,
        transparent 76%);
    filter:blur(7px);
    box-shadow:
      0 0 28px rgba(92,148,255,.18),
      0 0 58px rgba(67,118,255,.10);
    opacity:0;
    transform:translate3d(-100px,-100px,0) scale(1);
    transition:
      width .18s ease,
      height .18s ease,
      margin .18s ease,
      opacity .18s ease,
      filter .18s ease;
    will-change:transform;
  }
  .cursor-halo::after{
    content:"";
    position:absolute;
    inset:30px;
    border-radius:50%;
    background:rgba(178,210,255,.42);
    box-shadow:0 0 12px rgba(130,181,255,.35);
  }
  .cursor-halo.is-visible{opacity:1}
  .cursor-halo.is-hover{
    width:96px;height:96px;
    margin-left:-48px;margin-top:-48px;
    filter:blur(8px);
    background:
      radial-gradient(circle,
        rgba(174,207,255,.34) 0%,
        rgba(123,173,255,.22) 24%,
        rgba(87,144,255,.12) 47%,
        rgba(68,120,255,.05) 64%,
        transparent 78%);
    box-shadow:
      0 0 34px rgba(104,158,255,.22),
      0 0 72px rgba(70,126,255,.12);
  }
  .cursor-burst-ring{
    position:fixed;
    left:0;top:0;
    width:22px;height:22px;
    margin-left:-11px;margin-top:-11px;
    border-radius:50%;
    pointer-events:none;
    z-index:999998;
    border:1px solid rgba(137,183,255,.72);
    box-shadow:
      0 0 20px rgba(112,166,255,.34),
      0 0 42px rgba(78,137,255,.18);
    animation:cursorRingBurst .48s cubic-bezier(.15,.7,.22,1) forwards;
  }
  .cursor-burst-dot{
    position:fixed;
    left:0;top:0;
    width:5px;height:5px;
    margin-left:-2.5px;margin-top:-2.5px;
    border-radius:50%;
    pointer-events:none;
    z-index:999998;
    background:#9fc5ff;
    box-shadow:0 0 10px rgba(115,172,255,.72);
    animation:cursorDotBurst .52s cubic-bezier(.15,.72,.2,1) forwards;
  }
}
@keyframes cursorRingBurst{
  0%{transform:translate3d(var(--x),var(--y),0) scale(.6);opacity:1}
  70%{opacity:.72}
  100%{transform:translate3d(var(--x),var(--y),0) scale(3.7);opacity:0}
}
@keyframes cursorDotBurst{
  0%{transform:translate3d(var(--x),var(--y),0) scale(1);opacity:1}
  100%{transform:translate3d(calc(var(--x) + var(--dx)),calc(var(--y) + var(--dy)),0) scale(.15);opacity:0}
}
@media (pointer:coarse), (max-width:900px){
  .cursor-halo,.cursor-burst-ring,.cursor-burst-dot{display:none!important}
}
