.luiz-home-widget{
  position:fixed;
  right:18px;
  bottom:12px;
  width:430px;
  height:360px;
  z-index:9999;
  pointer-events:none;
  font-family:inherit;
}
.luiz-home-character{
  position:absolute;
  right:0;
  bottom:28px;
  width:235px;
  height:310px;
  object-fit:contain;
  display:block;
  object-fit:contain;
  transition:opacity .52s ease, transform 4.8s ease-in-out;
  filter:drop-shadow(0 14px 13px rgba(61,40,27,.20));
  animation:luizHomeIdle 4.8s ease-in-out infinite;
  transform-origin:50% 92%;
  will-change:transform;
  pointer-events:none;
}
.luiz-home-bubble{
  position:absolute;
  left:0;
  top:4px;
  width:265px;
  max-height:176px;
  box-sizing:border-box;
  overflow:auto;
  padding:15px 16px;
  background:#fffaf1;
  color:#4d3528;
  border:1px solid rgba(92,64,47,.10);
  border-radius:22px 22px 22px 7px;
  box-shadow:0 9px 28px rgba(62,42,29,.15);
  font-size:15px;
  line-height:1.35;
  pointer-events:auto;
  scrollbar-width:thin;
}
.luiz-home-bubble:after{
  content:"";
  position:absolute;
  right:25px;
  bottom:-11px;
  border-width:11px 0 0 16px;
  border-style:solid;
  border-color:transparent transparent transparent #fffaf1;
  transform:rotate(9deg);
}
.luiz-home-message{
  display:flex;
  flex-direction:column;
  gap:3px;
  margin:0 0 10px;
}
.luiz-home-message:last-child{margin-bottom:0}
.luiz-home-message strong{font-weight:800;color:#55382a}
.luiz-home-message-user{
  align-items:flex-end;
}
.luiz-home-message-user span{
  display:inline-block;
  max-width:90%;
  padding:8px 11px;
  border-radius:14px 14px 4px 14px;
  background:#6a4027;
  color:#fffaf1;
}
.luiz-home-message-bot span{
  display:block;
}
.luiz-home-message-bot + .luiz-home-message-bot{
  padding-top:8px;
  border-top:1px solid rgba(92,64,47,.10);
}
.luiz-home-status{
  position:absolute;
  right:179px;
  bottom:246px;
  font-size:10px;
  color:#5d493d;
  background:rgba(255,250,241,.9);
  border-radius:999px;
  padding:4px 8px;
  box-shadow:0 4px 12px rgba(62,42,29,.10);
  pointer-events:none;
}
.luiz-home-status span{
  display:inline-block;
  width:7px;
  height:7px;
  margin-right:4px;
  border-radius:50%;
  background:#55a66a;
}
.luiz-home-form{
  position:absolute;
  left:0;
  bottom:3px;
  width:315px;
  height:54px;
  display:flex;
  align-items:center;
  gap:7px;
  padding:5px 6px 5px 15px;
  box-sizing:border-box;
  background:#fffaf1;
  border:1px solid rgba(92,64,47,.16);
  border-radius:999px;
  box-shadow:0 8px 22px rgba(62,42,29,.17);
  pointer-events:auto;
}
.luiz-home-form input{
  flex:1;
  min-width:0;
  border:0;
  outline:0;
  background:transparent;
  color:#4d3528;
  font:inherit;
  font-size:14px;
}
.luiz-home-form input::placeholder{color:#8a7c73}
.luiz-home-form button{
  flex:0 0 43px;
  width:43px;
  height:43px;
  border:0;
  border-radius:50%;
  background:#6a4027;
  color:#fffaf1;
  font-size:22px;
  line-height:1;
  cursor:pointer;
  transition:transform .18s ease,opacity .18s ease;
}
.luiz-home-form button:hover{transform:scale(1.04)}
.luiz-home-form button:disabled{opacity:.55;cursor:wait}
.luiz-home-widget.is-chat-open .luiz-home-talk{display:none}
.luiz-home-talk{
  position:absolute;
  right:0;
  bottom:5px;
  z-index:4;
  min-height:45px;
  padding:0 15px;
  border:0;
  border-radius:999px;
  background:#6a4027;
  color:#fffaf1;
  font-size:13px;
  font-weight:700;
  box-shadow:0 8px 18px rgba(58,39,28,.22);
  pointer-events:auto;
  cursor:pointer;
}
.luiz-home-close{
  position:absolute;
  right:0;
  top:-4px;
  z-index:5;
  width:25px;
  height:25px;
  border:0;
  border-radius:50%;
  background:rgba(255,250,241,.95);
  color:#65483a;
  font-size:18px;
  line-height:25px;
  padding:0;
  box-shadow:0 4px 12px rgba(62,42,29,.14);
  cursor:pointer;
  pointer-events:auto;
}
.luiz-home-widget.is-closed{
  width:58px;
  height:58px;
  right:12px;
  bottom:12px;
}
.luiz-home-widget.is-closed > :not(.luiz-home-talk){display:none}
.luiz-home-widget.is-closed .luiz-home-talk{
  width:58px;
  height:58px;
  min-height:58px;
  padding:0;
  border-radius:50%;
  font-size:0;
}
.luiz-home-widget.is-closed .luiz-home-talk span{font-size:22px}
@keyframes luizHomeIdle{
  0%,100%{transform:translate3d(0,0,0) rotate(0deg) scale(1)}
  25%{transform:translate3d(0,-3px,0) rotate(-0.6deg) scale(1.005)}
  50%{transform:translate3d(0,-7px,0) rotate(0deg) scale(1.01)}
  75%{transform:translate3d(0,-3px,0) rotate(0.6deg) scale(1.005)}
}
@keyframes luizHomeSpeaking{
  0%,100%{transform:translate3d(0,0,0) rotate(0deg) scale(1)}
  20%{transform:translate3d(-2px,-5px,0) rotate(-1deg) scale(1.015)}
  45%{transform:translate3d(2px,-7px,0) rotate(1deg) scale(1.02)}
  70%{transform:translate3d(-1px,-4px,0) rotate(-0.5deg) scale(1.01)}
}
@keyframes luizHomeThinking{
  0%,100%{transform:translate3d(0,0,0) rotate(0deg)}
  30%{transform:translate3d(-5px,-2px,0) rotate(-2deg)}
  60%{transform:translate3d(5px,-2px,0) rotate(2deg)}
}
@keyframes luizHomeAttention{
  0%,100%{transform:scale(1) translateY(0)}
  50%{transform:scale(1.025) translateY(-3px)}
}
.luiz-home-widget.is-speaking .luiz-home-character{
  animation:luizHomeSpeaking 1.45s ease-in-out 1;
}
.luiz-home-widget.is-thinking .luiz-home-character{
  animation:luizHomeThinking 1.1s ease-in-out infinite;
}
.luiz-home-widget.is-attention .luiz-home-character{
  animation:luizHomeAttention .75s ease-in-out 2;
}
.luiz-home-widget.is-thinking .luiz-home-bubble{
  animation:luizHomeBubblePulse 1.1s ease-in-out infinite;
}
@keyframes luizHomeBubblePulse{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-2px)}
}
.luiz-home-typing{
  display:inline-flex;
  align-items:center;
  gap:4px;
}
.luiz-home-typing i{
  width:5px;
  height:5px;
  border-radius:50%;
  background:#806858;
  animation:luizTyping 1s ease-in-out infinite;
}
.luiz-home-typing i:nth-child(2){animation-delay:.14s}
.luiz-home-typing i:nth-child(3){animation-delay:.28s}
@keyframes luizTyping{
  0%,60%,100%{opacity:.35;transform:translateY(0)}
  30%{opacity:1;transform:translateY(-3px)}
}
@media (max-width:700px){
  .luiz-home-widget{
    right:5px;
    bottom:calc(max(env(safe-area-inset-bottom, 0px), 52px) + 12px);
    width:350px;
    height:315px;
  }
  .luiz-home-character{
    width:158px;
    height:230px;
    right:0;
    bottom:43px;
  }
  .luiz-home-bubble{
    left:0;
    top:2px;
    width:225px;
    max-height:155px;
    padding:11px 12px;
    border-radius:17px 17px 17px 6px;
    font-size:12px;
  }
  .luiz-home-status{
    right:128px;
    bottom:192px;
    font-size:9px;
    padding:3px 6px;
  }
  .luiz-home-form{
    left:0;
    bottom:0;
    width:100%;
    height:49px;
    padding-left:13px;
  }
  .luiz-home-form input{font-size:12px}
  .luiz-home-form button{
    flex-basis:38px;
    width:38px;
    height:38px;
    font-size:19px;
  }
  .luiz-home-talk{
    right:0;
    bottom:56px;
    min-height:41px;
    padding:0 11px;
    font-size:10px;
  }
  .luiz-home-close{
    top:4px;
    right:4px;
    width:36px;
    height:36px;
    line-height:36px;
    font-size:25px;
    box-shadow:0 5px 16px rgba(62,42,29,.20);
  }
  .luiz-home-widget.is-closed{
    right:12px;
    bottom:calc(max(env(safe-area-inset-bottom, 0px), 52px) + 12px);
  }
}
@media (max-width:380px){
  .luiz-home-widget{
    right:2px;
    width:310px;
    height:285px;
  }
  .luiz-home-character{width:139px;height:205px}
  .luiz-home-bubble{width:195px;font-size:11px}
  .luiz-home-form{width:260px}
  .luiz-home-talk{font-size:9px;padding:0 8px;bottom:54px}
}
@media (prefers-reduced-motion:reduce){
  .luiz-home-character,
  .luiz-home-widget.is-speaking .luiz-home-character,
  .luiz-home-widget.is-thinking .luiz-home-character,
  .luiz-home-widget.is-attention .luiz-home-character,
  .luiz-home-bubble,
  .luiz-home-typing i{
    animation:none !important;
  }
  .luiz-home-form button{transition:none}
  .luiz-home-character{transition:none}
}
