/* ===== 水波纹光标 (通用注入版) ===== */
.watercursor{position:fixed;top:0;left:0;width:56px;height:56px;pointer-events:none;z-index:99999;transform:translate(-50%,-50%);display:none}
.watercursor .wc-ring{position:absolute;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none}
.watercursor .wc-ring-outer{width:56px;height:56px;border:2px solid rgba(96,180,255,.6);box-shadow:inset 0 0 12px rgba(96,180,255,.25),0 0 12px rgba(96,180,255,.25);transition:width .3s,height .3s}
.watercursor .wc-ring-inner{width:30px;height:30px;border:2px solid rgba(200,235,255,.35);transition:width .2s,height .2s}
.watercursor .wc-dot{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:8px;height:8px;border-radius:50%;background:radial-gradient(circle,#c8f0ff,#4fa3ff);box-shadow:0 0 8px rgba(79,163,255,.8)}
.watercursor.wc-moving .wc-ring-outer{width:40px;height:40px}
.watercursor.wc-moving .wc-ring-inner{width:22px;height:22px}
.watercursor.wc-moving .wc-dot{width:6px;height:6px}
.watercursor.wc-clicking .wc-ring-outer{width:64px;height:64px;border-color:rgba(140,200,255,.9)}
.wc-trail{position:fixed;pointer-events:none;z-index:99998;border-radius:50%;transform:translate(-50%,-50%);border:1.5px solid rgba(96,180,255,.5);animation:wctrailFade .7s ease-out forwards}
@keyframes wctrailFade{0%{opacity:.5;transform:translate(-50%,-50%) scale(.9)}100%{opacity:0;transform:translate(-50%,-50%) scale(1.5)}}
.wc-ripple{position:fixed;pointer-events:none;z-index:99998;border-radius:50%;transform:translate(-50%,-50%);border:2px solid rgba(120,190,255,.55);box-shadow:inset 0 0 18px rgba(140,210,255,.25);animation:wctrippleExp .8s ease-out forwards}
@keyframes wctrippleExp{0%{width:12px;height:12px;opacity:.85}100%{width:120px;height:120px;opacity:0}}
.wc-ripple.wc-r2{animation:wctrippleExp2 1s ease-out forwards}
@keyframes wctrippleExp2{0%{width:8px;height:8px;opacity:.5}100%{width:160px;height:160px;opacity:0}}
@media(hover:none){.watercursor{display:none}}
