Is there a more efficient way to code the specifying of selected vertices and edges than listing them separately as shown below?
edges = {1 -> 2, 1 -> 3, 1 -> 4, 1 -> 6, 2 -> 3, 2 -> 4, 3 -> 4, 3 -> 6, 4 -> 5, 4 -> 6,
4 -> 7, 5 -> 7, 5 -> 8, 5 -> 9, 6 -> 7, 6 -> 9, 7 -> 9, 8 -> 9};
Graph[edges, GraphLayout -> {"LayeredDigraphEmbedding", "Orientation" -> Left},
VertexLabels -> Placed["Name", Center], VertexSize -> 0.45,
VertexStyle -> {1 | 2 | 3 | 5 | 7 | 8 | 9 -> Lighter[Lighter[Lighter[Lighter[Yellow]]]],
4 | 6 -> Lighter[Lighter[Red]]},
EdgeStyle -> {1 \[DirectedEdge] 3 | 1 \[DirectedEdge] 2 | 1 \[DirectedEdge] 4 |
2 \[DirectedEdge] 3 | 2 \[DirectedEdge] 4 | 4 \[DirectedEdge] 6 |
3 \[DirectedEdge] 6 | 4 \[DirectedEdge] 5 | 4 \[DirectedEdge] 7 |
5 \[DirectedEdge] 9 | 5 \[DirectedEdge] 8 | 5 \[DirectedEdge] 7 |
8 \[DirectedEdge] 9 | 7 \[DirectedEdge] 9 | 3 \[DirectedEdge] 4 -> Blue,
1 \[DirectedEdge] 6 | 6 \[DirectedEdge] 9 -> Red},
VertexLabelStyle -> Directive[Black, Bold, 13]]