Что не так?


#1

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;
}

li:not(.six) {
margin-left: -15px;
}

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

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

.diamond:not(.nine):not(.king):not(.seven):not(.jack) {
background-color: #0099ff;
}

li:nth-of-type(2):not(.club) {
background-color: #ff3300;
}

ul:last-of-type li:not(.six):not(.seven):not(.nine):not(.ten):not(.queen):not(.king) {
background-color: #339933;
}


#2

При другой раскладке придётся переписывать имена классов в 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;
}

li: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:first-of-type  li:last-of-type,
.cards:nth-of-type(2) li:nth-of-type(3), 
.cards:nth-of-type(2) li:nth-of-type(5), 
.cards:nth-last-of-type(2) li:first-of-type,
.cards:nth-last-of-type(2) li:nth-last-of-type(3){
    background-color: #0099ff;
}

.cards:not(:nth-of-type(2)) li:nth-of-type(2) {
    background-color: #ff3300;
}

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

#3

Этот селектор плох - слишком большой.


#4
Тогда вот:
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;
}