behold!
well i worked something out using background-clip and an inline animated svg using a data url. (i tried to do it without transparent text, using mix-blend-mode, but it didn't work at all, hm.) it's still not quite ideal because you have to edit the svg to change the duration (which is base64-encoded lol), and the animation doesn't reset under quite the same conditions as a css animation, but hey it's something. i feel like there's also a trick to get rid of the chevron after you open the details but offhand i can't think of what it is, so i didn't animate it this time because that seems annoying