*,
*::before,
*::after {
    box-sizing: border-box;
}

* {
    margin: 0;
}

body {
    display: flex;
    flex-direction: column;
    font-size: 24px;
    height: 100%;
    background-color: rgb(255, 255, 214);
}

header {
    text-align: center;
    padding: 20px;
}

.main {
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    align-items: center;
    gap: 10px;
    padding: 10px;
    height: 100%;
}

.game-messages,
.player,
.computer,
.scores {
    padding: clamp(10px, 6vw, 40px); 
    width: 100%;
    max-width: 800px;
}


.player {
    display: flex;
    flex-direction: column;
    align-items: center;;
    background-color: pink;
}

.player-header,
.computer-header {
    display: flex;
    justify-content: space-between;
    width: 100%;
}

.player-buttons {
    display: flex;
    flex-direction: row;
    justify-content: space-evenly;
    gap: 5px;
    width: 100%;
}

.computer {
    text-align: center;
    background-color: rgb(189, 189, 255);
}

.game-messages {
    background-color: rgb(196, 255, 196);
    text-align: center;
}

.scores {
    background-color: beige;
}

h2 {
    font-size: clamp(1em, 6vw, 1.5em); 
    text-align: center;
    margin-bottom: 20px;
}

button {
    border: 4px solid black;
}

.player-buttons button,
.computer button {
    width: 150px;
    aspect-ratio: 1; /* keep sizing square */
    font-size: clamp(2em, 15vw, 3em); /* responsive sizing */
    background-color: white;
    border-radius: 20px;
}

.player-buttons button:hover {
    background-color: rgb(164, 255, 255);
}

.highlight {
    background-color: yellow;
}

#play-again {
    width: auto;
    height: auto;
    font-size: 1.5em;
    padding: 0.5em 1em;
    border-radius: 40px;
    background-color: rgb(69, 214, 69);
    transition: 0.2s;
    text-align: center;
    margin-top: 20px;
}

#play-again:hover {
    background-color: yellow;
}

#game-over {
    font-size: 2em;
    margin: 5px;
}