code: def render(C, styles, margin='', indent='\t'):
          
          from unum import Unum
          s = ""
          # render the css text
          for k in styles.keys():
              s += margin
              if type(styles[k]) == Unum:
                  s += k + ' ' + str(styles[k]) + ';'
              elif type(styles[k]) in [str, String]:
                  s += k + ' ' + styles[k] + ';'
              elif type(styles[k]) in [dict, Dict]:
                  # recurse
                  s += k + ' {\n' + C.render(styles[k], margin=margin+indent, indent=indent) + '}\n'
              elif type(styles[k]) in [tuple, list]:
                  for i in styles[k]:
                      s += k + ' ' 
                      if type(i) in [str, String]:
                          s += i + ';\n'
                      if type(i) == bytes:
                          s += str(i, 'utf-8') + ';\n'
                      elif type(i) in [dict, Dict]:
                          # recurse
                          s += '{\n' + C.render(i, margin=margin+indent, indent=indent) + '}\n'
              else:
                  s += ';'
              s += '\n'
          return s
docs: output css text from styles. 
          margin is what to put at the beginning of every line in the output.
          indent is how much to indent indented lines (such as inside braces).