/* ===========================
   Bubble Shooter
   style.css
=========================== */

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

html,
body{
    width:100%;
    height:100%;
}

body{

    font-family:Arial, Helvetica, sans-serif;

    background:linear-gradient(
        180deg,
        #0b2748 0%,
        #154b8b 40%,
        #2f7fd8 100%
    );

    display:flex;
    justify-content:center;
    align-items:center;

    color:white;
}

/* ===========================
        CONTENEUR
=========================== */

#gameContainer{

    width:700px;

    max-width:95vw;

    display:flex;

    flex-direction:column;

    align-items:center;

}

/* ===========================
          TITRE
=========================== */

header{

    width:100%;

    margin-bottom:20px;

}

header h1{

    text-align:center;

    font-size:42px;

    margin-bottom:20px;

    text-shadow:2px 2px 5px black;

}

/* ===========================
            HUD
=========================== */

#hud{

    display:flex;

    justify-content:space-between;

    gap:15px;

}

.box{

    flex:1;

    background:rgba(255,255,255,.15);

    border:2px solid rgba(255,255,255,.3);

    border-radius:10px;

    padding:15px;

    text-align:center;

    backdrop-filter:blur(6px);

    box-shadow:0 0 12px rgba(0,0,0,.35);

    font-weight:bold;

}

.box span{

    display:block;

    margin-top:8px;

    font-size:24px;

    color:#ffd94a;

}

/* ===========================
          CANVAS
=========================== */

#gameCanvas{

    background:#061827;

    border:5px solid white;

    border-radius:18px;

    box-shadow:
    0 0 20px rgba(0,0,0,.6),
    inset 0 0 25px rgba(255,255,255,.08);

}

/* ===========================
          MENU
=========================== */

#menu{

    margin-top:20px;

    display:flex;

    gap:15px;

}

button{

    cursor:pointer;

    border:none;

    border-radius:12px;

    padding:15px 35px;

    font-size:18px;

    font-weight:bold;

    color:white;

    background:#ff8b00;

    transition:.25s;

    box-shadow:0 5px 12px rgba(0,0,0,.35);

}

button:hover{

    background:#ffa51f;

    transform:translateY(-3px);

}

button:active{

    transform:scale(.96);

}

/* ===========================
       EFFETS DIVERS
=========================== */

.hidden{

    display:none;

}

.center{

    display:flex;
    justify-content:center;
    align-items:center;

}

.textCenter{

    text-align:center;

}

.shadow{

    box-shadow:0 0 20px rgba(0,0,0,.4);

}

/* ===========================
      ANIMATIONS
=========================== */

@keyframes pulse{

    0%{

        transform:scale(1);

    }

    50%{

        transform:scale(1.05);

    }

    100%{

        transform:scale(1);

    }

}

@keyframes fadeIn{

    from{

        opacity:0;

    }

    to{

        opacity:1;

    }

}

@keyframes pop{

    0%{

        transform:scale(.4);

    }

    70%{

        transform:scale(1.15);

    }

    100%{

        transform:scale(1);

    }

}

.animatePulse{

    animation:pulse 1s infinite;

}

.animateFade{

    animation:fadeIn .4s;

}

.animatePop{

    animation:pop .25s;

}

/* ===========================
        RESPONSIVE
=========================== */

@media(max-width:768px){

    #gameContainer{

        width:100%;

    }

    #gameCanvas{

        width:95vw;
        height:auto;

    }

    #hud{

        flex-direction:column;

    }

    button{

        width:100%;

    }

}