libcroco now has native support for negative units. https://bugzilla.gnome.org/show_bug.cgi?id=686240