body {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 100vh;
    margin: 0;
}

header {
    text-align: center;
}

#board {
    display: grid;
    grid-template-columns: repeat(8, 1fr);
    grid-template-rows: repeat(8, 1fr);
    width: 80vmin;
    height: 80vmin;
}

.square.dark {
    background-color: #769656;
}

.square.light {
    background-color: #eeeed2;
}

.square {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 6vmin;
}

.square.highlighted {
    background-color: rgba(255, 255, 0, 0.4);
}

.hidden {
    display: none;
}

#promotion-dialog {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: white;
    padding: 1em;
    border-radius: 8px;
    gap: 0.5em;
}

#promotion-dialog button {
    font-size: 4vmin;
    cursor: pointer;
}

#game-area {
    display: flex;
}

.captured {
    font-size: 4vmin;
    width: 10vmin;
    display: flex;
    flex-direction: column;
    align-items: center;
}

#game-setup {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: white;
    padding: 1em;
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    gap: 1em;
    align-items: center;
}

.selected {
    background-color: rgba(255, 255, 0, 0.4);
}

.setup-row {
    display: flex;
    gap: 0.5em;
}

.flipped {
    transform: rotate(180deg);
}

.flipped .square {
    transform: rotate(180deg);
}