svg.connections {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 5;
    overflow: visible;
}

svg.connections path {
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
    vector-effect: non-scaling-stroke;
    transition: opacity 0.18s ease, stroke-width 0.18s ease, stroke 0.18s ease, filter 0.18s ease;
}

svg.connections path[data-kind="path"] {
    stroke: var(--connection-path);
    stroke-width: 1.2;
    stroke-dasharray: 10, 14;
    opacity: 0.2;
}

svg.connections path[data-kind="primary"] {
    stroke: var(--connection-primary);
    stroke-width: 1.75;
    stroke-dasharray: none;
    opacity: 0.34;
}

svg.connections path[data-kind="secondary"] {
    stroke: var(--connection-secondary);
    stroke-width: 1.2;
    stroke-dasharray: 3, 9;
    opacity: 0.2;
}

svg.connections path[data-lane="project"] {
    stroke: var(--connection-project);
    stroke-dasharray: none;
    opacity: 0.32;
}

svg.connections path[data-lane="outreach"] {
    stroke: var(--connection-outreach);
    stroke-dasharray: 12, 8, 2, 8;
    opacity: 0.24;
}

svg.connections path[data-lane="support"] {
    stroke-dasharray: 2, 8;
}

svg.connections path[data-lane="spine"] {
    stroke-width: 1.1;
    stroke-dasharray: 14, 18;
}

svg.connections path.is-connected {
    stroke-width: 2.35;
    opacity: 0.88;
    filter: drop-shadow(0 0 7px rgba(255, 143, 171, 0.18));
}

svg.connections path[data-kind="path"].is-connected {
    stroke: rgba(104, 127, 168, 0.72);
    stroke-dasharray: 12, 10;
}

svg.connections path[data-kind="secondary"].is-connected {
    stroke: rgba(132, 160, 214, 0.8);
    stroke-dasharray: 5, 7;
}

svg.connections path[data-lane="project"].is-connected {
    stroke: var(--connection-project);
    stroke-dasharray: none;
}

svg.connections path[data-lane="outreach"].is-connected {
    stroke: var(--connection-outreach);
    stroke-dasharray: 14, 8, 3, 8;
}

svg.connections path.is-muted {
    opacity: var(--connection-muted);
    filter: none;
}

svg.connections path[data-from][data-to]:not(.is-connected) {
    opacity: 0;
    filter: none;
}

svg.connections path[data-from][data-to].is-connected {
    opacity: 0.88;
}
