body {
  margin: 0;
  font-family: Arial;
  background: #0d0d0d;
  color: white;
  display: flex;
  height: 100vh;
}

/* SIDEBAR */
.sidebar {
  width: 220px;
  background: #111;
  padding: 15px;
  border-right: 1px solid #222;
}

.logo {
  font-weight: bold;
  margin-bottom: 20px;
}

.newchat {
  background: #1f1f1f;
  padding: 10px;
  border-radius: 8px;
  cursor: pointer;
  margin-bottom: 10px;
  text-align: center;
}

/* MAIN CHAT */
.main {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.chat {
  flex: 1;
  padding: 20px;
  overflow-y: auto;
}

.msg {
  margin-bottom: 15px;
  max-width: 70%;
  padding: 12px;
  border-radius: 10px;
  white-space: pre-wrap;
}

.user {
  background: #2b2b2b;
  margin-left: auto;
}

.ai {
  background: #1a1a1a;
  border: 1px solid #2a2a2a;
}

/* INPUT BAR */
.inputbar {
  display: flex;
  padding: 10px;
  border-top: 1px solid #222;
  background: #111;
}

input {
  flex: 1;
  padding: 12px;
  border-radius: 8px;
  border: none;
  outline: none;
  background: #1f1f1f;
  color: white;
}

button {
  margin-left: 10px;
  padding: 12px 15px;
  border: none;
  border-radius: 8px;
  background: #ff3b3b;
  color: white;
  cursor: pointer;
  font-weight: bold;
}

button:hover {
  background: #ff1f1f;
}

.typing-dots::after {
  content: '';
  animation: dots 1.5s infinite;
}

@keyframes dots {
  0% { content: ''; }
  33% { content: '.'; }
  66% { content: '..'; }
  100% { content: '...'; }
}
