To expand on how the joints rotate: the CSS styles use a translation of a large CSS sprite image, which consists of 90 stacked images of the joint at various stages of rotation over 180 degrees. Even older browsers that only support translation transforms will work just as well. (Angles must be rounded to the nearest 2 degrees, which would explain some jumpiness.)