/* ================= ROOT ================= */
:root{
  --bg:#0f1020;
  --card:rgba(27,29,58,0.65);
  --text:#fff;
  --muted:#cfd2ff;
  --primary:#6c63ff;
  --secondary:#ff6584;
  --glass:rgba(255,255,255,0.08);
  --border:rgba(255,255,255,0.18);
}

body.light{
  --bg:#f4f6ff;
  --card:rgba(255,255,255,0.8);
  --text:#0f1020;
  --muted:#555;
}

/* ================= BASE ================= */
*{box-sizing:border-box;margin:0;padding:0;}
body{
  background:var(--bg);
  color:var(--text);
  font-family:'Poppins',sans-serif;
  height:100vh;
  display:flex;
  flex-direction:column;
}

/* ================= NAVBAR ================= */
.navbar{
  position:sticky;
  top:0;
  z-index:1000;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:0.7rem 1rem;
  backdrop-filter:blur(18px);
  background:linear-gradient(
    135deg,
    rgba(108,99,255,0.25),
    rgba(255,101,132,0.15)
  );
  border-bottom:1px solid var(--border);
}

.brand{
  display:flex;
  align-items:center;
  gap:0.6rem;
}

.logo{
  width:38px;
  height:38px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--primary),var(--secondary));
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:'Montserrat',sans-serif;
  font-weight:700;
  font-size:0.9rem;
  color:#fff;
}

.brand span{
  font-family:'Montserrat',sans-serif;
  font-size:1rem;
}

.icon-btn{
  width:34px;
  height:34px;
  border-radius:50%;
  border:none;
  background:var(--glass);
  color:var(--text);
  cursor:pointer;
  font-size:1.05rem;
}

/* ================= BOT INFO ================= */
.bot-info{
  padding:0.7rem 1rem;
  background:var(--card);
  border-bottom:1px solid var(--border);
  font-size:0.85rem;
  color:var(--muted);
}

/* ================= CHAT ================= */
.chat-wrapper{
  flex:1;
  max-width:900px;
  width:100%;
  margin:auto;
  padding:1rem;
  display:flex;
  flex-direction:column;
}

.messages{
  flex:1;
  overflow-y:auto;
  display:flex;
  flex-direction:column;
  gap:0.8rem;
}

/* ================= MESSAGES ================= */
.msg{
  max-width:85%;
  padding:0.8rem 1rem;
  border-radius:18px;
  font-size:0.9rem;
  line-height:1.6;
  animation:fadeUp 0.3s ease;
}

.bot{
  align-self:flex-start;
  background:var(--card);
  border:1px solid var(--border);
}

.user{
  align-self:flex-end;
  background:linear-gradient(135deg,var(--primary),var(--secondary));
  color:#fff;
}

/* ================= INPUT ================= */
.input-bar{
  margin-top:0.8rem;
  display:flex;
  gap:0.5rem;
  padding:0.6rem;
  background:var(--card);
  border-radius:18px;
  border:1px solid var(--border);
}

.input-bar input{
  flex:1;
  background:transparent;
  border:none;
  outline:none;
  color:var(--text);
  font-size:0.95rem;
}

.send-btn{
  border:none;
  background:linear-gradient(135deg,var(--primary),var(--secondary));
  color:#fff;
  padding:0.6rem 1.3rem;
  border-radius:14px;
  font-weight:600;
  cursor:pointer;
}

/* ================= MOBILE ================= */
@media(max-width:600px){
  .brand span{display:none;}
  .msg{max-width:92%;}
}

/* ================= ANIMATION ================= */
@keyframes fadeUp{
  from{opacity:0;transform:translateY(8px);}
  to{opacity:1;transform:translateY(0);}
}
