@import url('https://fonts.googleapis.com/css2?family=Inter:wght@100..900&family=Open+Sans:ital,wght@0,300..800;1,300..800&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;
}


html, body {
    overflow: hidden;
    height: 100%;
    width: 100%;
    margin: 0;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    place-items: center;
    background-color: rgb(20, 33, 61);
    font-family: 'Inter', sans-serif;
}

.div-table{
    display: flex;
    align-items: center;
    flex: 1;
}

.table-ttt{
    width: 31vw;
    height: 31vw;
}

.table-ttt span{
    font-size: 7.5vw;
}

.table-ttt tr{
    display: flex;
    flex-direction: row;
    height: 33%;
}

.table-ttt tr:nth-child(1) td{
    border-top: 0;
}

.table-ttt tr:nth-child(3) td{
    border-bottom: 0;
}

.table-ttt td{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 33%;
    border: 0.2vw solid rgb(152, 152, 152);
    text-shadow: 5px 5px 10px rgba(0, 0, 0, 0.9);
    cursor: pointer;
    user-select: none;
}

.table-ttt td:nth-child(1){
    border-left: 0;
}

.table-ttt td:nth-child(3){
    border-right: 0;
}

header, footer{
    width: 100%;
    height: 8vw;
    display: flex;
    align-items: center;
    justify-content: center;
}

header{
    height: 6.5vw;
}

header div, footer div{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 50vw;
    height: 100%;
    background-color: rgb(34, 51, 86);
    transition: border 0.2s ease-in-out;
}

footer .div-player-info{
    border: 0.3vw solid rgba(255, 255, 255, 0.8);
    border-width: 0.3vw 0.1vw 0 0.1vw;
}

footer .player-info{
    color: rgb(255, 255, 255);
}

header div h1, footer div h1{
    color: rgb(255, 255, 255);
}

header div p, footer div p{
    color: rgb(184, 184, 184);
}

header div{
    border-radius: 0 0 2vw 2vw;
}

footer div{
    border-radius: 2vw 2vw 0 0;
}

.user-info, .score{
    display: flex;
    flex-direction: column;
    align-items: baseline;
    margin: 0;
    padding: 0 1vw;
    height: auto;
    width: 15vw;
}

footer h1, header h1{
    font-size: 2.2vw;
}

footer p, header p{
    font-size: 0.8vw;
}

.player-info{
    font-size: 4vw !important;
    color: rgb(252, 163, 17);
    text-shadow: 3px 3px 8px rgba(0, 0, 0, 0.8);
}

.score{
    flex-direction: row;
    align-items: center;
}

.score p{
    padding-left: 2vw;
    font-size: 2vw;
    text-shadow: 2px 2px 6px rgba(0, 0, 0, 0.8);
}

@media (max-width: 48rem){

    .table-ttt{
        width: 42vw;
        height: 42vw;
    }

    header div, footer div{ 
        width: 62vw;
    }

}