How do I change GL LINES color?

I want to draw each line with a different color.
I created a material with the Diffuse shader and use GL.Color like the script reference says but pass 0 is just black, pass 1 is nothing, pass 2 is grey, and pass 3 is white no matter what color I use.

	Material mat;
	public Color[] colors = new Color[6] {
		Color.blue,
		Color.cyan,
		Color.green,
		Color.magenta,
		Color.red,
		Color.yellow
	};

	void Awake ()
	{
		mat = new Material (Shader.Find ("Diffuse"));
	}

	void OnPostRender ()
	{
		GL.PushMatrix ();
		mat.SetPass (0);
		GL.LoadOrtho ();
		GL.Begin (GL.LINES);
		for (int i = 0; i < 12; i++) {
			GL.Color (colors [i % 6]);
			GL.Vertex3 (0, i / 12f, 0);
			GL.Vertex3 (1, i / 12f, 0);
		}
		GL.End ();
		GL.PopMatrix ();
	}

What am I doing wrong?

Create the new material for GL, see below:

 private static Material mat;

 void Awake() {
  mat = new Material( "Shader \"Lines/Colored Blended\" {" +
	"SubShader { Pass { " +
	"    Blend SrcAlpha OneMinusSrcAlpha " +
	"    ZWrite Off Cull Off Fog { Mode Off } " +
	"    BindChannels {" +
	"      Bind \"vertex\", vertex Bind \"color\", color }" +
	"} } }" );
  mat.hideFlags = HideFlags.HideAndDontSave;
  mat.shader.hideFlags = HideFlags.HideAndDontSave;
 }

 void OnPostRender() {
  ...
 }

 void OnApplicationQuit() {
  DestroyImmediate(mat);
 }