/* Custom cursor for the Handshake Mirror: a key-exchange node with a trail. */

.hs-cursor {
    position: fixed;
    top: 0;
    left: 0;
    width: 16px;
    height: 16px;
    margin: -8px 0 0 -8px;
    z-index: 9999;
    pointer-events: none;
    border-radius: 50%;
    border: 1px solid rgba(0, 255, 136, 0.75);
    background: radial-gradient(circle, rgba(0, 255, 136, 0.35), transparent 70%);
    transition: transform 0.12s ease-out;
    will-change: transform;
}

.hs-cursor-active {
    transform: scale(1.5);
    border-color: rgba(144, 224, 239, 0.9);
}

.hs-cursor-dot {
    position: fixed;
    top: 0;
    left: 0;
    width: 4px;
    height: 4px;
    margin: -2px 0 0 -2px;
    z-index: 9998;
    pointer-events: none;
    border-radius: 50%;
    background: rgba(0, 180, 216, 0.55);
    will-change: transform, opacity;
}

/* Coarse pointers have no cursor to decorate. */
@media (pointer: coarse) {
    .hs-cursor,
    .hs-cursor-dot {
        display: none;
    }
}
