*{
box-sizing:border-box;
}


body{

margin:0;

font-family:Inter,Arial,sans-serif;

background:#e9e9e9;

color:#111;

transition:.3s;

}


body.dark{

background:#101010;

color:#eee;

}



.app{

max-width:900px;

margin:auto;

padding:25px;

}



header{

display:flex;

justify-content:space-between;

align-items:center;

margin-bottom:25px;

}



#title{

cursor:pointer;

font-size:32px;

letter-spacing:-1px;

}


nav{

display:flex;

gap:10px;

}



button{

background:#111;

color:white;

border:0;

padding:10px 18px;

border-radius:8px;

cursor:pointer;

transition:.25s;

}


button:hover{

transform:translateY(-2px);

}



.dark button{

background:#eee;

color:#111;

}



.card{

background:white;

border-radius:18px;

padding:25px;

box-shadow:0 10px 30px rgba(0,0,0,.08);

animation:show .25s ease;

}



.dark .card{

background:#1b1b1b;

box-shadow:0 10px 30px rgba(0,0,0,.4);

}



.hidden{

display:none;

}



@keyframes show{

from{

opacity:0;

transform:translateY(15px);

}

to{

opacity:1;

transform:none;

}

}



input,
textarea{

width:100%;

border:1px solid #bbb;

background:transparent;

color:inherit;

padding:14px;

border-radius:10px;

margin-bottom:15px;

font-size:15px;

}



textarea{

height:130px;

resize:none;

}



#messages{

height:500px;

overflow-y:auto;

display:flex;

flex-direction:column;

gap:12px;

padding:10px;

}



.message{

background:#ededed;

padding:15px;

border-radius:14px;

animation:message .25s;

max-width:85%;

}



.dark .message{

background:#292929;

}



@keyframes message{

from{

opacity:0;

transform:translateX(-15px);

}

to{

opacity:1;

transform:none;

}

}



.message button{

margin-top:10px;

font-size:12px;

padding:6px 12px;

}



.composer{

display:flex;

gap:12px;

margin-top:15px;

}



.composer textarea{

height:55px;

margin:0;

}



.composer button{

width:100px;

}



.editorTop{

display:flex;

align-items:center;

gap:15px;

}



#back{

width:45px;

height:40px;

padding:0;

}



.bounce{

animation:bounce .5s;

}



@keyframes bounce{

0%{
transform:scale(1);
}

40%{
transform:scale(1.2) rotate(3deg);
}

70%{
transform:scale(.9);
}

100%{
transform:scale(1);
}

}



.thinking{

opacity:.6;

}



@media(max-width:600px){

.app{

padding:15px;

}


header{

flex-direction:column;

gap:15px;

}


.composer{

flex-direction:column;

}


.composer button{

width:100%;

}

}