Actually I think you might be better using greensock or another animation library.
With the add and remove class it resets the rotation. I did a quick attempt here, and you’ll see it doesn’t interact with the css timeline. I think you’ll need to do your animation in js. I never use css animations, so I am not sure what limitations they have, but you would be able to achieve this with greensock with relative ease.