@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@100..900&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap');

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: "Roboto", Arial, Helvetica, sans-serif;
    background-image: url(./assets/bg-img-unsplash.jpg);
    background-size: cover;
    height: 100vh;
}

.container {
    height: 100%;
    display: grid;
    grid-template-rows: 4rem 6fr 3rem;
}

.container > * {
    padding: 0 5%;
}


/* group elements */
.header,
.footer {
    background-color: rgb(255, 255, 255);
    justify-items: center;
    align-content: center;
}

.game-container,
.sidebar {
    height: 40rem;
    background-color: rgba(255, 255, 255, 0.5);
    box-shadow: 0px 0px 6px rgb(255, 255, 255);
    backdrop-filter: blur(15px);
    border-radius: 0.7rem;
}


/* header */
.header {
    font-family: "Outfit";
    box-shadow: 0px 5px 18px rgb(88, 88, 88);
}

.title {
    font-weight: 500;
}


/* display area */
.disp-area {
    display: grid;
    grid-template-columns: 1fr 2fr;
    justify-items: center;
    padding: 1rem 5% 1rem 0;
}

.sidebar {
    width: 100%;
    height: 100%;
    padding: 1.5rem;
    justify-self: start;
    display: grid;
    justify-items: center;
    align-content: center;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
}

.game-init {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
    align-self: center;
    visibility: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2rem;
    width: 100%;
    opacity: 0;
    transform: scaleY(0);
    transition: opacity 0.5s ease, transform 0.5s ease;
}

#game-info {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2rem;
    width: 80%;
}

.form-field {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    width: 100%;
}

.name-input {
    width: 100%;
    height: 3rem;
    padding: 0.3rem;
    border-radius: 0.3rem;
    border: 1px solid #405862;
}

.game-start-btn {
    background-color: #f38e66;
}

.game-active {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
    align-self: center;
    visibility: hidden;
    pointer-events: none;
    display: flex;
    opacity: 0;
    transform: scaleY(0);
    flex-direction: column;
    gap: 4rem;
    transition: opacity 0.5s ease, transform 0.5s ease;
}

.active {
    visibility: visible;
    pointer-events: all;
    opacity: 1;
    transform: scaleY(100%);
}

.announce {
    height: 4rem;
    font-family: "Outfit", Arial, Helvetica, sans-serif;
    font-size: 2rem;
    text-align: center;
    text-transform: capitalize;
}

.scorebar {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 5rem;
    height: 8.5rem;
}

.players {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.name {
    text-transform: capitalize;
}

.scores {
    font-size: 6rem;
}

.btn-ctn {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2rem;
}

button {
    width: 9rem;
    height: 3rem;
    border-radius: 0.3rem;
    border: 1px solid rgb(255, 255, 255);
    color: white;
    text-transform: capitalize;
    cursor: pointer;
}

.new-game {
    background-color: #f38e66;
}

.reset {
    background-color: #405862;
}

button:hover {
   filter: brightness(90%);
}

.game-container {
    aspect-ratio: 1 / 1;
    padding: 4rem;
    align-self: center;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(3, 1fr);
}

.game-container div {
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: "Outfit", Arial, Helvetica, sans-serif;
    font-size: 4rem;
    font-weight: 500;
    border: 2px solid rgba(0, 0, 0, 0.25);
}

.game-container > div:hover {
    background-color: rgba(64, 88, 98, 0.3);
}

.game-container div:nth-child(3n) { border-right: none; }
.game-container div:nth-child(-n + 3) { border-top: none; }
.game-container div:nth-last-child(-n + 3) { border-bottom: none; }
.game-container div:nth-child(3n + 1) { border-left: none; }

.winner {
    background-color: rgba(2, 203, 234, 0.3);
}

/* footer */
.footer {
    box-shadow: 0px -5px 18px rgb(88, 88, 88);
    text-align: center;
}

a {
    color: #f38e66;
    text-decoration: none;
}