From the “make your bloody minds up, browsers” files:
In Chrome, percentage values on padding are calculated relative to the element with the padding. In Firefox, they’re calculated relative to the container, as with width. Both calculate margin with respect to the container.
Argh.