WAIT Nevermind I'm an idiot. This is silly easy. In case anyone else is looking for this: just use css variables.
.redSquare {
--main-bg-color: red;
background-color: var(--main-bg-color);
}
.greenSquare {
--main-bg-color: green;
background-color: var(--main-bg-color);
}
.changeBG {
background-color: var(--main-bg-color);
transition: background-color 0.5s;
}
.changeBG:hover {
background-color: blue;
transition: background-color 0.5s;
}