(Rotated 90° anticlockwise to make it fit better... thus the arrow at the top.)
And here's the ugly spreadsheet that generated it:
Input string is the first bit of a recent horoscope my friend wrote. Will try to explain a bit about how this works later on. Also on my to-do list: Clean up the spreadsheet, fix generation of multiple palettes. One thing I like about this, though it's made everything way more complicated, is that nothing in the system is random. Everything in the final output is generated from the input string.