/* 指针镜头折射层：位于序列帧 canvas 之上，用 backdrop-filter 折射下面的真实画面 */
.cursor-lens{
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  opacity:0;
  transition:opacity .45s var(--ease-out);
  --lens-x:60%;
  --lens-y:42%;
  --lens-r:190px;
  -webkit-backdrop-filter:blur(16px) saturate(118%) brightness(1.04);
  backdrop-filter:blur(16px) saturate(118%) brightness(1.04);
  -webkit-mask-image:radial-gradient(
    circle var(--lens-r) at var(--lens-x) var(--lens-y),
    #000 0%, rgba(0,0,0,.92) 34%, rgba(0,0,0,.42) 66%, transparent 100%);
  mask-image:radial-gradient(
    circle var(--lens-r) at var(--lens-x) var(--lens-y),
    #000 0%, rgba(0,0,0,.92) 34%, rgba(0,0,0,.42) 66%, transparent 100%);
}
.cursor-lens.is-active{opacity:.9}
@media (prefers-reduced-motion:reduce), (hover:none){
  .cursor-lens{display:none}
}
