Испытание: сложные палитры [31/31] - 100%

Посмотрите и оцените, пожалуйста, код

.palette-box .palette-small {
display: flex;
}

.palette-box:nth-child(1) .palette-small {
flex-direction: column;
justify-content: center;
align-items: center;
}

.palette-box:nth-child(1) .palette-small .color-4 {
order: 5;
}

.palette-box:nth-child(1) .palette-small .color-2 {
order: 4;
align-self: stretch;
}

.palette-box:nth-child(1) .palette-small .color-5 {
align-self: stretch;
}

.palette-box:nth-child(2) .palette-small {
flex-direction: column-reverse;
justify-content: space-between;
align-items: flex-start;
}

.palette-box:nth-child(2) .palette-small .color-6, .palette-box:nth-child(2) .palette-small .color-2 {
align-self: flex-end;
}

.palette-box:nth-child(3) .palette-small {
justify-content: space-between;
}

.palette-box:nth-child(3) .palette-small .part {
display: flex;
flex-direction: column;
justify-content: space-between;
}

.palette-box:nth-child(4) .palette-small {
justify-content: space-between;
}

.palette-box:nth-child(4) .palette-small .part:first-child {
display: flex;
}

.palette-box:nth-child(4) .palette-small .part:last-child {
display: flex;
flex-direction: column-reverse;
justify-content: space-between;
}

.part,
.palette-small{
display:flex;
justify-content: space-between;
}
.palette-box:first-of-type .palette-small .color-4{
align-self:center;
order:-2;
}
.color-3{
align-self:center;
order:1;
}
.palette-box:first-of-type .palette-small{
flex-direction: column-reverse;
justify-content: center;

}
.palette-box:nth-child(2) .palette-small{
flex-direction: column-reverse;
align-items: flex-start;
}
.palette-box:nth-child(2) .palette-small div:nth-child(-n+2){
align-self: flex-end;
}
.palette-box:nth-child(3) .palette-small .part {
flex-direction:column;
align-items: flex-end;

}
.palette-box:last-of-type .palette-small .part:nth-child(2){
flex-direction:column-reverse;
}