/* Frontend overlay Kineticon */

.mdpd-kineticon-root {
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    overflow: visible;
}

.mdpd-kin-connector {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

.mdpd-kin-connector__svg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: visible;
    pointer-events: none;
}

.mdpd-kin-connector__path {
    vector-effect: non-scaling-stroke;
}

.mdpd-kin-connector__cap {
    position: absolute;
    transform: translate(0, 0);
    pointer-events: none;
    display: flex;
    align-items: center;
    justify-content: center;
}

.mdpd-kin-connector__cap-dot {
    display: block;
    width: var(--mdpd-kin-cap-size, 12px);
    height: var(--mdpd-kin-cap-size, 12px);
    border-radius: 50%;
    background: var(--mdpd-kin-cap-fill, #fff);
    border: var(--mdpd-kin-cap-border-width, 2px) solid var(--mdpd-kin-cap-color, #ff005c);
    box-sizing: border-box;
}

.mdpd-kin-connector__info {
    position: absolute;
    pointer-events: none;
    max-width: min(280px, 90vw);
    padding: 0.5em 0.75em;
    background: var(--mdpd-kin-info-bg, #fff);
    border: var(--mdpd-kin-info-border-width, 2px) solid var(--mdpd-kin-info-border-color, #ff005c);
    border-radius: var(--mdpd-kin-info-radius, 12px);
    color: var(--color-text, #414042);
    font-family: Poppins, Arial, sans-serif;
    font-size: 0.9rem;
    line-height: 1.35;
    box-shadow: 0 8px 24px rgba(65, 64, 66, 0.12);
}

.mdpd-kin-connector__info.is-interactive {
    pointer-events: auto;
}

@media (prefers-reduced-motion: reduce) {
    .mdpd-kin-connector__path {
        animation: none !important;
    }
}
