body{
margin:0;
font-family:'Inter',sans-serif;
height:100vh;
display:flex;
justify-content:center;
align-items:center;
background:#111;
overflow:hidden;
}

/* Background */
.background{
position:fixed;
width:100%;
height:100%;
background:linear-gradient(45deg,#0f2027,#203a43,#2c5364);
background-size:600% 600%;
animation:bg 18s ease infinite;
}
@keyframes bg{
0%{background-position:0% 50%}
50%{background-position:100% 50%}
100%{background-position:0% 50%}
}

.chat-container{
position:relative;
z-index:2;
width:95%;
max-width:720px;
height:90vh;
background:rgba(255,255,255,.05);
backdrop-filter:blur(18px);
border-radius:24px;
display:flex;
flex-direction:column;
overflow:hidden;
box-shadow:0 20px 60px rgba(0,0,0,.5);
}

.chat-header{
padding:20px;
font-family:'Montserrat',sans-serif;
font-size:1.5rem;
color:#fff;
text-align:center;
background:rgba(255,255,255,.06);
}

.chat-box{
flex:1;
padding:20px;
overflow-y:auto;
display:flex;
flex-direction:column;
gap:14px;
}

.message{
max-width:70%;
padding:16px 20px;
border-radius:20px;
animation:slide .35s forwards;
transform:translateY(20px);
opacity:0;
line-height:1.6;
}

@keyframes slide{
to{opacity:1;transform:translateY(0)}
}

.user{
align-self:flex-end;
font-family:'JetBrains Mono',monospace;
background:linear-gradient(135deg,#8e2de2,#4a00e0);
color:#fff;
border-bottom-right-radius:0;
}

.ai{
align-self:flex-start;
font-family:'Spectral',serif;
background:linear-gradient(135deg,#00c6ff,#0072ff);
color:#fff;
border-bottom-left-radius:0;
}

.typing{
font-style:italic;
}

/* Image */
.ai-image{
max-width:260px;
border-radius:14px;
margin-top:8px;
box-shadow:0 8px 18px rgba(0,0,0,.35);
}

/* Input */
.input-container{
display:flex;
padding:16px;
background:rgba(255,255,255,.05);
}

.input-container input{
flex:1;
padding:14px 20px;
border-radius:30px;
border:none;
background:rgba(255,255,255,.15);
color:#fff;
font-family:'JetBrains Mono',monospace;
outline:none;
}

.input-container button{
margin-left:10px;
padding:0 24px;
border:none;
border-radius:30px;
font-weight:600;
color:#fff;
background:linear-gradient(135deg,#8e2de2,#4a00e0);
cursor:pointer;
}

/* Responsive */
@media(max-width:768px){
.message{max-width:85%}
}
@media(max-width:480px){
.message{max-width:95%}
.chat-header{font-size:1.2rem}
}
