rewrite some of the color logic

- improve detection heuristic
- tweaked color scheme a bit