Inner scope !important rules wins, regardless of specificity.

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".

PASS getComputedStyle(target).color is "rgb(0, 128, 0)"
PASS successfullyParsed is true

TEST COMPLETE


