.chessboard {
    display: grid;
    grid-template-columns: repeat(8, 1fr);
    grid-template-rows: repeat(8, 1fr);

    width: 90vw;
    max-width: 80%;
    aspect-ratio: 1 / 1;
    border: 0px solid #333;
    margin: 20px auto;
}

.chessboard>div {
    aspect-ratio: 1 / 1;
}

.chessboard>div:nth-child(16n+1),
.chessboard>div:nth-child(16n+3),
.chessboard>div:nth-child(16n+5),
.chessboard>div:nth-child(16n+7),
.chessboard>div:nth-child(16n+10),
.chessboard>div:nth-child(16n+12),
.chessboard>div:nth-child(16n+14),
.chessboard>div:nth-child(16n+16) {
    background-color: #eeeed2;
}

.chessboard>div:nth-child(16n+2),
.chessboard>div:nth-child(16n+4),
.chessboard>div:nth-child(16n+6),
.chessboard>div:nth-child(16n+8),
.chessboard>div:nth-child(16n+9),
.chessboard>div:nth-child(16n+11),
.chessboard>div:nth-child(16n+13),
.chessboard>div:nth-child(16n+15) {
    background-color: #769656;
}

.square {
    font-size: 50px;
    text-align: center;
    color: #fff;
    cursor: pointer;
}

.square.error {
    animation: shake 0.2s ease-in-out;
    background-color: #e57777 !important;
}

.square.select {
    background-color: #BAC444 !important;
}

.controls {
    margin-bottom: 16px;
}

.checkbox {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    cursor: pointer;
}

.notation-box {
    background: #1e1e1e;
    border: 1px solid #333;
    border-radius: 8px;
    padding: 12px 16px;
    text-align: center;
}

.notation-label {
    font-size: 12px;
    color: #aaa;
    margin-bottom: 4px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.notation-value {
    font-size: 44px;
    font-weight: bold;
    font-family: 'Courier New', monospace;
    color: #4ade80;
}

.stats {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
}

.stat-card {
    background: #f8f9fa;
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 8px 10px;
    text-align: center;
}

.stat-card.full {
    grid-column: span 2;
}

.stat-label {
    font-size: 11px;
    color: #666;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.stat-value {
    display: block;
    font-size: 22px;
    font-weight: bold;
    color: #111;
}

.stat-value.small {
    font-size: 16px;
}

/* ===== CONTROLES ===== */
.controls {
    background: #f8f9fa;
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 10px;
}

.toggle {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    cursor: pointer;
    margin-bottom: 6px;
}

.toggle input {
    cursor: pointer;
}

@keyframes shake {
    0% {
        transform: translateX(0);
    }

    25% {
        transform: translateX(-2px);
    }

    50% {
        transform: translateX(2px);
    }

    75% {
        transform: translateX(-2px);
    }

    100% {
        transform: translateX(0);
    }
}

@media only screen and (max-width: 600px) {
  .chessboard{
    max-width: 100%;
  }

  .square.select,.square.square.error{
    font-size: 7vw;
  }
}