    /* Make the line draw in smoothly */
    #linePath,
    #lineShadow {
        stroke-dasharray: 0 1;
        stroke-dashoffset: 0;
    }

    .marker {
        width: 10px;
        height: 10px;
        border-radius: 999px;
        background: #3b82f6;
        box-shadow: 0 4px 14px rgba(59, 130, 246, .35);
        position: absolute;
        transform: translate(-50%, -50%);
        animation: float 2.4s ease-in-out infinite
    }

    .marker:nth-child(2) {
        background: #6366f1;
        animation-duration: 2.8s
    }

    .marker:nth-child(3) {
        background: #0ea5e9;
        animation-duration: 2.2s
    }

    .marker:nth-child(4) {
        background: #7c3aed;
        animation-duration: 2.6s
    }

    .marker:nth-child(5) {
        background: #22c55e;
        animation-duration: 2.0s
    }

    @keyframes float {
        0% {
            transform: translate(-50%, -55%)
        }

        50% {
            transform: translate(-50%, -45%)
        }

        100% {
            transform: translate(-50%, -55%)
        }
    }

    /* Donut smooth sweep */
    #chart-donut .ring {
        transition: stroke-dasharray 900ms cubic-bezier(.2, .9, .25, 1), stroke-dashoffset 900ms cubic-bezier(.2, .9, .25, 1)
    }

    /* Bars: staggered grow with a tiny overshoot + highlight */
    .bar {
        position: relative;
    }

    .bar.pop {
        animation: barPop 650ms cubic-bezier(.2, .9, .25, 1);
    }

    @keyframes barPop {
        0% {
            transform: translateY(6px) scaleY(.92);
            opacity: .6;
        }

        60% {
            transform: translateY(-3px) scaleY(1.04);
            opacity: .98;
        }

        100% {
            transform: translateY(0) scaleY(1);
            opacity: 1;
        }
    }

    .bar::after {
        content: "";
        position: absolute;
        inset: auto 0 0 0;
        height: 0;
        background: linear-gradient(to top, rgba(255, 255, 255, .55), transparent 70%);
        border-radius: 0 0 .375rem .375rem;
        pointer-events: none;
        transition: height .9s;
    }

    /* Line: moving dot + subtle glow already defined, add pulse */
    #lineDot {
        filter: drop-shadow(0 2px 8px rgba(59, 130, 246, .45));
    }

    @keyframes dotPulse {

        0%,
        100% {
            r: 2.6
        }

        50% {
            r: 3.6
        }
    }