/* 光晕指针 */
@media (hover: hover) and (pointer: fine) {
    body { cursor: none; }
    a, button, .download-top-btn, .download-btn, .feature-card, .faq-item, .nav-btn { cursor: none; }
    .cursor-dot, .cursor-halo {
        position: fixed; top: 0; left: 0;
        border-radius: 50%;
        pointer-events: none;
        z-index: 9999;
        transform: translate(-50%, -50%);
        will-change: transform;
        opacity: 0;
        transition: opacity .3s;
    }
    .cursor-dot {
        width: 7px; height: 7px;
        background: #00ffcc;
        box-shadow: 0 0 8px #00ffcc, 0 0 14px rgba(0,255,204,.7);
    }
    .cursor-halo {
        width: 38px; height: 38px;
        border: 1.5px solid rgba(0,255,204,.55);
        box-shadow: 0 0 16px rgba(0,255,204,.35), inset 0 0 12px rgba(0,255,204,.2);
        transition: width .25s, height .25s, border-color .25s, opacity .3s;
    }
    .cursor-dot.visible, .cursor-halo.visible { opacity: 1; }
    .cursor-halo.hovering {
        width: 58px; height: 58px;
        border-color: rgba(0,255,204,.95);
        box-shadow: 0 0 22px rgba(0,255,204,.55), inset 0 0 14px rgba(0,255,204,.3);
    }
    .cursor-trail {
        position: fixed; top: 0; left: 0;
        pointer-events: none;
        z-index: 9998;
        will-change: transform, opacity;
    }
}
