MessageBox.exec() is blocking and does not cooperate well with asyncio, so we switch to MessageBox.open().
Also, MistyRose does not go well with a dark themed UI, so add a function to detect dark theme and use Maroon to indicate an offline stabilizer instead
MessageBox.exec() is blocking and does not cooperate well with asyncio, so we switch to MessageBox.open().
Also, MistyRose does not go well with a dark themed UI, so add a function to detect dark theme and use Maroon to indicate an offline stabilizer instead