How is it breaking the TOS? You are allowed to change the colors. When the page is processed, the code looks exactly like any other adsense code.
Here's what I use:
Code:
<script type="text/javascript"><!--
google_ad_client = "pub-XXXXXXXXXXXXXXXX";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text";
google_ad_channel ="0719787053";
google_color_border = "{adsense_color_border}";
google_color_bg = "{adsense_color_bg}";
google_color_link = "{adsense_color_link}";
google_color_url = "{adsense_color_url}";
google_color_text = "{adsense_color_text}";
//--></script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
Then just create replacement variables on each style using the names above, and you're done.