I've updated the CSS for the fragments to display better on iPhone and iPad. (And, I hope, other mobile devices.) Since I'm serving these up in as naive a fashion as possible, I didn't want to serve up different CSS files via User-Agent sniffing, so I used jQuery to figure out the screen dimensions and then adjust the CSS accordingly based on that.

Specifically, if the window is less than 500 pixels wide, the JavaScript adds a "small" class to the body, and if the width is between 500 and 1050 pixels, it adds a "medium" class, with CSS adjusting the dimensions (and, in the small case, the font) accordingly. Works fine, and I think the separation of concerns is okay, though part of me still wishes there were multiple CSS files.

It doesn't transition smoothly when you switch the device from portrait to landscape mode; I'm not particularly motivated to fix that.