Испытание: первая раскладка [9/20] 100% Ревью кода!

Код:

<!DOCTYPE html>
<html lang="ru">
    <head>
        <meta charset="utf-8">
        <title>Испытание: первая раскладка</title>
        <link rel="stylesheet" href="/assets/course57/course.css">
    </head>
    <body>
        <div></div>
        <ul class="cards">
            <div></div>
            <li class="six heart"></li>
            <li class="seven spade"></li>
            <li class="eight club"></li>
            <li class="nine diamond"></li>
            <li class="ten spade"></li>
            <li class="jack heart"></li>
            <li class="queen club"></li>
            <li class="king spade"></li>
            <li class="ace diamond"></li>
            <div></div>
        </ul>
        <ul class="cards">
            <div></div>
            <li class="six spade"></li>
            <li class="seven club"></li>
            <li class="eight diamond"></li>
            <li class="nine heart"></li>
            <li class="ten diamond"></li> 
            <li class="jack club"></li>
            <li class="queen spade"></li>
            <li class="king club"></li>
            <li class="ace heart"></li>
            <div></div>
        </ul>
        <ul class="cards">
            <div></div>
            <li class="six diamond"></li>
            <li class="seven heart"></li>
            <li class="eight spade"></li>
            <li class="nine club"></li>
            <li class="ten heart"></li>
            <li class="jack spade"></li>
            <li class="queen diamond"></li>
            <li class="king heart"></li>
            <li class="ace club"></li>
            <div></div>
        </ul>
        <ul class="cards">
            <div></div>
            <li class="six club"></li>
            <li class="seven diamond"></li>
            <li class="eight heart"></li>
            <li class="nine spade"></li>
            <li class="ten club"></li>
            <li class="jack diamond"></li>
            <li class="queen heart"></li>
            <li class="king diamond"></li>
            <li class="ace spade"></li>
            <div></div>
        </ul>
        <div></div>
    </body>
</html>

Стили:

html,
body {
    margin: 0;
    padding: 0;
    font-family: "Arial", sans-serif;
}

body {
    min-width: 550px;
    min-height: 250px;
    padding: 10px;
}

.cards {
    width: 500px;
}

.cards li::before {
    font-family: "Courier", monospace;
}

.cards li:not(:nth-of-type(4)):not(:first-of-type) {
    margin-left: -15px;
}

.cards li:not(:nth-of-type(4)) {
    width: 36px;
    height: 54px;
}

.cards li:nth-of-type(4) {
    margin-right: 30px;
    margin-left: 15px;
}

.cards:not(:last-of-type) .diamond:not(.nine) {
    background-color: #0099ff; /* Синий */
}

.cards li:nth-of-type(2):not(.club) {
    background-color: #ff3300; /* Красный */
}

.cards:last-of-type li:nth-of-type(3n) {
    background-color: #339933; /* Зеленый */
}

Вот изверги, так мозг я давно не напрягал!:blush:

Прошу оценить правильность написанного кода.

Нормально.
Здесь вариантов много – бывает код длиннее, бывает короче…

Вот ещё: http://flukeout.github.io/

Как сделать код короче, за счет чего можно его сократить?

Нужно мудрить, пока не получится короче.
С опытом приходит. И уходит быстро без практики.
Вот месяц назад сделал, и почти всё уже забыл…

CSS
html,
body {
    margin: 0;
    padding: 0;
    font-family: "Arial", sans-serif;
}

body {
    min-width: 550px;
    min-height: 250px;
    padding: 10px;
}

.cards {
    width: 500px;
}

.cards li::before {
    font-family: "Courier", monospace;
}

.cards li:not(:first-of-type) {
    margin-left: -15px;
}

.cards li:not(.nine) {
    width: 36px;
    height: 54px;
}

.cards li:nth-of-type(4) {
    margin-right: 30px;
    margin-left: 15px;
}

.cards li:nth-child(even).diamond {
    background-color: #0099ff;
}

.cards li:not(.club).seven{
    background-color: #ff3300;
}

.cards:last-of-type li:nth-of-type(3n) {
    background-color: #339933;
}
1 Симпатия

html,
body {
margin: 0;
padding: 0;
font-family: “Arial”, sans-serif;
}

body {
min-width: 550px;
min-height: 250px;
padding: 10px;
}

.cards {
width: 500px;
}

.cards li::before {
font-family: “Courier”, monospace;
}

.cards li:not(:first-of-type):not(:nth-child(5)) {
margin-left: -15px;
}

.cards li:not(:nth-child(5)) {
width: 36px;
height: 54px;
}

.cards li:nth-child(5) {
margin-right: 30px;
margin-left: 15px;
}

.cards .diamond:nth-child(2n) {
background-color: #0099ff;
}

.cards .seven:not(.club) {
background-color: #ff3300;
}

.cards:last-of-type li:nth-of-type(3n) {
background-color: #339933;
}