body {
  text-align: center;
  margin:0;
  padding:0;
}
body#colorbg {
  background-color: green;
  color: white;
}
body, input, button, p, em, strong {
  font-family: "Nunito Sans", Arial, sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-variation-settings:
    "wdth" 100,
    "YTLC" 500;
}
#info-icon, #close-icon {
  position: absolute;
  top: 15px;
  left: 15px;
  width: 30px;
  height: 30px;
  cursor: pointer;
}
#info-icon svg, #close-icon svg {
  width: 100%;
  height: 100%;
}
.hide {
  display: none;
}
#uncle {
  text-align: center;
  margin:15px auto;
}
#uncle img#sticker {
  max-width: 180px;
  /* transition: opacity 0.1s linear;
  opacity: 1; */
}
#chat {
  background-color: white;
  padding: 0;
  height: 450px;
  overflow-y: auto;
  max-width: 600px;
  margin: auto;
}
#chat p {
  margin-bottom: 15px;
  padding: 20px 25px;
  border-radius: 18px;
  max-width: 80%;
  width: fit-content;
  word-wrap: break-word;
  text-align: left;
  font-size:18px;
}
p.user-msg {
  background-color: #f8f8f8;
  align-self: flex-end; /* Push to right if parent is flex (optional fallback) */
  margin-left: auto; /* Align to right */
}
p.uncle-msg {
  background-color: #e7f4e4;
  margin-right: auto; /* Align to left */
}
#chat_input {
  width: 100%;
  position:absolute;
  bottom:0;
  padding:15px 0 50px 0;
  background-color: #F1F1F1;
}
form#chatForm {
  display: flex;
  gap: 15px;
  height: 60px;
  width: 95%;
  text-align: left;
  margin: 0 auto;
}
input#question {
  flex: 1;
  padding: 0 20px;
  font-size:19px;
  border: 0;
  border-radius: 2px;
}
#chat_input button, #sendBtn {
  width: 60px;
  height: 60px;
  padding: 0;
  background-color: green;
  color: white;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  transition: background-color 0.3s ease;
  display: flex; /* For centering the SVG */
  align-items: center;
  justify-content: center;
}
#chat_input button:hover {
  background-color: #2B8C0f;
}
.send-icon {
  width: 26px;
  height: 26px;
}
p#thinking {
  color:#999;
}
#about {
  text-align: left;
  max-width: 600px;
  margin: auto;
  padding: 70px 0 0;
}
#about h2 {
  font-size: 22px;
  font-weight: 600;
  margin: 0;
  padding:0;
}
#about p {
  font-weight: 300;
  font-size: 15px;
  margin: 0 0 8px;
}
#about p.intro {
  font-size: 22px;
  margin: 0 0 20px;
  padding: 0;
}


/* ------ Responsive styles ------ */


@media (max-width: 600px) {
  #uncle img#sticker {
  max-width: 125px;
  }
  #chat {
    overflow-y: auto;
    height: 400px;
    max-width: 450px;
    padding: 0 10px;
  }
  #chat p {
    margin-bottom: 10px;
    padding: 12px 17px;
    border-radius: 15px;
    max-width: 80%;
    font-size: 18px;
  }
  #chat_input {
    padding: 10px 0 20px 0;
  }
  form#chatForm {
    gap: 10px;
    height: 48px;
  }
  input#question {
    padding: 0 10px;
    font-size: 18px;
  }
  #chat_input button, #sendBtn {
    width: 48px;
    height: 48px;
  }
  .send-icon {
    width: 21px;
    height: 21px;
  }
  #about {
    max-width: 450px;
    padding: 80px 20px 0;
  }
  #about h2 {
    font-size: 19px;
  }
  #about p.intro {
    font-size: 19px;
    margin-bottom: 18px;
  }
}
