You have an extra { at svg a:hover rect,svg a:hover path.side
But you also need to escape the elements as CDATA (I think - all the examples I’ve seen have those. You also don’t need to get so specific, so like the stripe can be used as .floor
<style type="text/css" >
<![CDATA[
svg a rect, svg a path.side {
fill: url(#grad);
stroke-width:0;
opacity:.4;
}
svg a rect.corner {
fill: url(#fadeGrad);
stroke-width:0;
opacity: 1;
}
svg a:hover rect,svg a:hover path.side {
fill: url(#grad);
stroke-width:0;
opacity:1;
}
svg a:hover rect.corner {
fill: url(#fadeGrad);
stroke-width:0;
opacity: 1;
}
.floor {
fill:url(#pattern);
stroke:#000;
stroke-width:.5;
}
]]>
</style>