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


body{

    min-height:100vh;

    background:
    radial-gradient(circle at top,#273c75,#111827 45%,#050505);

    color:white;

}




.app{

    width:100%;
    height:100vh;

}





/* LOGIN */


.auth{

    height:100vh;

    display:flex;

    justify-content:center;

    align-items:center;

}



.logo{

    text-align:center;

    font-size:42px;

    font-weight:800;

    margin-bottom:30px;

}



.card{


    width:380px;

    padding:35px;


    background:
    rgba(255,255,255,0.08);


    border:

    1px solid rgba(255,255,255,.15);


    backdrop-filter:blur(20px);


    border-radius:25px;


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


}



.card h2{

    text-align:center;

    margin-bottom:25px;

}





input{


    width:100%;

    padding:15px;

    margin-bottom:15px;


    border:none;

    outline:none;


    border-radius:15px;


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


    color:white;


    font-size:16px;


}





button{


    width:100%;

    padding:15px;

    border:none;


    border-radius:15px;


    cursor:pointer;


    background:
    linear-gradient(135deg,#00c6ff,#0072ff);


    color:white;


    font-size:16px;


    font-weight:bold;


    transition:.3s;


}



button:hover{

    transform:translateY(-2px);

}



.secondary{

    margin-top:10px;


    background:

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

}







/* CHAT */


.chat{


    display:none;

    height:100vh;


}





header{


    height:80px;


    display:flex;


    justify-content:space-between;

    align-items:center;


    padding:0 30px;


    background:

    rgba(255,255,255,.08);


    backdrop-filter:blur(20px);


    border-bottom:

    1px solid rgba(255,255,255,.1);


}




header button{

    width:auto;

    padding:10px 20px;

}





#online{

    color:#00ff88;

    font-size:14px;

}







.content{


    display:grid;


    grid-template-columns:

    260px 1fr 260px;


    height:calc(100vh - 80px);


}







aside,
.profile{


    padding:20px;


    background:

    rgba(255,255,255,.06);


    backdrop-filter:blur(15px);


    border-right:

    1px solid rgba(255,255,255,.1);


}







section{


    display:flex;

    flex-direction:column;


}







.messages{


    flex:1;

    padding:25px;


    overflow-y:auto;


}





.message{


    max-width:70%;


    padding:15px;


    margin-bottom:15px;


    border-radius:20px;


    background:

    rgba(255,255,255,.12);


    animation:

    show .3s;


}



.message.mine{


    margin-left:auto;


    background:

    linear-gradient(135deg,#0072ff,#00c6ff);


}





@keyframes show{


from{

opacity:0;

transform:translateY(20px);

}


to{

opacity:1;

transform:none;

}


}







.send{


    display:flex;


    padding:20px;


    gap:10px;


}



.send input{


    margin:0;

}



.send button{


    width:70px;

}





.typing{


    padding-left:25px;

    color:#aaa;

}








.profile{


    border-left:

    1px solid rgba(255,255,255,.1);

}








@media(max-width:900px){



.content{


grid-template-columns:1fr;


}



aside,
.profile{

display:none;


}




}
