docs: def generate_colours(n):
      """Return a list of `n` distinct colours, each represented as an RGB
      string suitable for use in CSS.
  
      Based on the code at
      http://martin.ankerl.com/2009/12/09/how-to-create-random-colors-programmatically/
  
      :param n: number of colours to generate
      :type n: `int`
      :rtype: `list` of `str`
  
      """
      colours = []
      golden_ratio_conjugate = 0.618033988749895
      h = 0.8  # Initial hue
      s = 0.7  # Fixed saturation
      v = 0.95  # Fixed value
      for i in range(n):
          h += golden_ratio_conjugate
          h %= 1
          colours.append(hsv_to_rgb(h, s, v))
      return colours