*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:Arial,Helvetica,sans-serif;
}

html,body{
    width:100%;
    height:100%;
    overflow:hidden;
    background:#58b84f;
}

#game{
    position:absolute;
    left:0;
    top:0;
    width:100%;
    height:100%;
    display:block;
}

#loading{
    position:absolute;
    inset:0;
    background:linear-gradient(#4fc3ff,#58b84f);
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    color:white;
    z-index:100;
    transition:.5s;
}

#loading h1{
    font-size:56px;
    margin-bottom:20px;
    text-shadow:3px 3px 6px black;
}

#loading p{
    font-size:24px;
}

#hud{
    position:absolute;
    top:15px;
    left:15px;
    background:rgba(0,0,0,.45);
    color:white;
    padding:15px;
    border-radius:15px;
    z-index:20;
    min-width:220px;
    backdrop-filter:blur(5px);
}

#scoreboard{
    display:flex;
    justify-content:space-between;
    gap:20px;
    margin-bottom:10px;
}

.team{
    display:flex;
    flex-direction:column;
    align-items:center;
    font-size:24px;
    font-weight:bold;
}

#info{
    display:flex;
    justify-content:space-between;
    font-size:18px;
}

#crosshair{
    position:absolute;
    left:50%;
    top:50%;
    width:40px;
    height:40px;
    margin-left:-20px;
    margin-top:-20px;
    pointer-events:none;
    z-index:30;
}

#crosshair .h{
    position:absolute;
    top:19px;
    width:40px;
    height:2px;
    background:white;
}

#crosshair .v{
    position:absolute;
    left:19px;
    width:2px;
    height:40px;
    background:white;
}

#guide{
    position:absolute;
    right:20px;
    top:20px;
    background:rgba(255,255,255,.8);
    padding:15px;
    border-radius:12px;
    z-index:20;
    line-height:1.8;
}

#mobile{
    position:absolute;
    left:20px;
    bottom:20px;
    display:grid;
    grid-template-columns:70px 70px 70px;
    grid-template-rows:70px 70px;
    gap:10px;
    z-index:20;
}

#left{
    grid-column:1;
    grid-row:2;
}

#up{
    grid-column:2;
    grid-row:1;
}

#down{
    grid-column:2;
    grid-row:2;
}

#right{
    grid-column:3;
    grid-row:2;
}

#swing{
    position:absolute;
    right:30px;
    bottom:40px;
    width:90px;
    height:90px;
    border-radius:50%;
    font-size:34px;
}

button{
    border:none;
    border-radius:15px;
    background:#ff8a00;
    color:white;
    font-size:28px;
    cursor:pointer;
    transition:.15s;
}

button:active{
    transform:scale(.95);
}

#message{
    position:absolute;
    left:50%;
    top:100px;
    transform:translateX(-50%);
    font-size:64px;
    color:yellow;
    font-weight:bold;
    text-shadow:4px 4px 10px black;
    z-index:50;
}

.hidden{
    display:none;
}

#gameover{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.8);
    display:none;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    color:white;
    z-index:200;
}

#gameover h1{
    font-size:72px;
    margin-bottom:40px;
}

#gameover button{
    width:240px;
    height:70px;
    font-size:28px;
}

@media(max-width:900px){

#guide{
    display:none;
}

#hud{
    transform:scale(.8);
    transform-origin:left top;
}

}
