Испытание: сложные палитры [31/31] - 100%. Прошу посмотреть код.

Здравствуйте! Код получился довольно громоздким, было интересно!
Скажите пожалуйста, всё ли правильно я сделал, или какие-то моменты можно было написать более оптимально?

.palette-small {
  display: flex;
}

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

.palette-box:nth-child(1) .palette-small .color-3, .color-4 {
  align-self: center;
}

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

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

.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-4 {
  align-self: flex-start;
}

.palette-box:nth-child(2) .palette-small .color-2, .color-6 {
  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  {
  flex-direction: row;
  justify-content: space-between;
}

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

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

.palette-box:nth-child(4) .palette-small .part:first-child .color-4 {
  align-self: stretch;
}

Мой вариант! Оцените…

.palette-box:first-of-type .palette-small {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.palette-box:first-of-type .color-3  {
    order: -10;
    align-self: center;
}
.palette-box:first-of-type .color-4  {
    order: 10;
    align-self: center;
}
.palette-box:first-of-type .color-2  {
    order: 5;
}

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

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

.palette-box:nth-of-type(3) .palette-small {
    display: flex;
    justify-content: space-between;
}

.palette-box:nth-of-type(3)
    .part:first-child,
.palette-box:nth-of-type(3)
    .part:last-child {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.palette-box:nth-of-type(4) .palette-small {
    display: flex;
    justify-content: space-between;
}

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

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

По моему у вас много вложенных селекторов
"selector selector selector." более 2 (исключением + ещё один псевдоэлемент или псевдоклассом) вложенных селекторов делает ваш код не читабельным и это не хорошая практика. Я тоже раньше так верстал, наверно немного изменился. Сравните мой код, вашим.