Change fillcolor when crossing X-axis

I have a plot that displays difference between 2 values. It can be positve or negative. When it’s negative, I want to change fillcolor from green to red. Is it possible?
Currently I use spline shape

        fill: 'tozeroy',
        line: {
            shape: 'spline',
            color: '#5ec950'
        fillcolor: '#bfefbf',
        x: [1, 2, 3, 4, 5],
        y: [100, -20, -70, 30, 50]
    {margin: {t: 0}}

You should be able to do so using two traces.

But how to kkep ‘spline’ with two independent traces?