but then wouldn't document.getElementById() calls get confused, even though your IDs are nested?
Shouldn't it be the other way around?
#homer .left-eye { ... }
#bart .left-eye { ... }
makes more sense to me than .homer #left-eye { ... }
.bart #left-eye { ... }