Jeg har lige gennemgået hele din CSS, og det lader til at W3C-parseren fatter hat når den kommer til en property med et foranstillet slash (-). Den går fuldstændig i baglås og synes pludselig at det er underligt at der kommer }, hvilket jo må siges at være den der er forkert på den!!
Min bedste løsning må nok være at bruge png-billeder hvor det er nødvendigt, så skippe resten, i hvert fald hvis du vil ha' valid CSS!! ;)
Alternativt kan du vente på CSS3, hvor "opacity" det bliver standard! ;)
http://www.w3.org/TR/css3-color/#transparency