#guia{position:fixed;z-index:60;right:22px;bottom:22px;width:min(330px,calc(100vw - 32px));
  display:flex;flex-direction:column;align-items:flex-end;gap:12px;
  font-family:var(--f);pointer-events:none;
  opacity:0;translate:0 16px;transition:opacity .42s,translate .42s}
#guia > *{pointer-events:auto}

#guia.vivo{opacity:1;translate:0 0}

#fala{display:flex;flex-direction:column-reverse;align-items:flex-end;gap:7px;width:100%}
#fala .b{max-width:100%;padding:9px 13px 8px;border-radius:13px 13px 4px 13px;
  background:#fff;color:#111B21;font-size:14.5px;line-height:1.42;
  box-shadow:0 3px 14px rgba(var(--escuro),.13),0 1px 3px rgba(var(--escuro),.09);
  animation:sobe .34s cubic-bezier(.2,.9,.3,1) both;
  transition:opacity .45s,filter .45s,scale .45s;transform-origin:100% 100%}

#fala .b.meu{background:#D9FDD3}
#fala .b .h{float:right;margin:5px 0 0 10px;font-size:10.5px;color:#8696A0;
  line-height:1;user-select:none}
@keyframes sobe{from{opacity:0;transform:translateY(9px) scale(.94)}
                to{opacity:1;transform:none}}

#fala .b.velha{opacity:.28;filter:blur(.3px);scale:.97}
#fala .b.indo{opacity:0;scale:.94;transition:opacity .34s,scale .34s}

#fala .d{align-self:flex-end;background:#fff;border-radius:13px 13px 4px 13px;
  padding:12px 14px;display:flex;gap:4px;animation:sobe .3s both;
  box-shadow:0 3px 14px rgba(var(--escuro),.13)}
#fala .d i{width:6px;height:6px;border-radius:50%;background:#9AA6AC;display:block;
  animation:pisca 1.25s infinite}
#fala .d i:nth-child(2){animation-delay:.16s}
#fala .d i:nth-child(3){animation-delay:.32s}
@keyframes pisca{0%,60%,100%{opacity:.34;transform:translateY(0)}
                 30%{opacity:1;transform:translateY(-3px)}}

#resposta{display:none;width:100%;justify-content:flex-end;flex-wrap:wrap;gap:7px;
  animation:sobe .3s both}
#resposta.viva{display:flex}
#resposta input{flex:1;min-width:0;border:0;border-radius:22px;padding:12px 16px;
  font:inherit;font-size:15px;color:#111B21;background:#fff;outline:none;
  box-shadow:0 3px 14px rgba(var(--escuro),.15)}
#resposta input::placeholder{color:#8696A0}
#resposta .ok{flex:none;width:44px;height:44px;border:0;border-radius:50%;cursor:pointer;
  background:var(--azul);color:#fff;display:grid;place-items:center;
  box-shadow:0 3px 12px rgba(8,46,171,.4);transition:background .16s,transform .13s}
#resposta .ok:hover{background:var(--azul2)}
#resposta .ok:active{transform:scale(.93)}
#resposta .ok svg{width:20px;height:20px;translate:-1px 0}

#resposta .opc{border:1px solid #D8DEEC;background:#fff;color:var(--tinta);
  border-radius:20px;padding:10px 16px;font:inherit;font-size:14px;font-weight:600;
  cursor:pointer;box-shadow:0 3px 12px rgba(var(--escuro),.12);
  transition:background .16s,color .16s,border-color .16s}
#resposta .opc:hover{border-color:var(--azul2);color:var(--azul)}
#resposta .opc.forte{background:var(--azul);border-color:var(--azul);color:#fff}
#resposta .opc.forte:hover{background:var(--azul2);color:#fff}

#resposta .est{border:0;background:#fff;cursor:pointer;width:42px;height:42px;
  border-radius:50%;color:#C9D0E0;display:grid;place-items:center;padding:0;
  box-shadow:0 3px 12px rgba(var(--escuro),.12);transition:color .14s,transform .14s}
#resposta .est svg{width:23px;height:23px}
#resposta .est.on,#resposta .est:hover{color:#F5B301;transform:scale(1.1)}

#resposta .zapzap{display:flex;align-items:center;gap:8px;background:#25D366;color:#fff;
  border-radius:22px;padding:12px 18px;font-size:14.5px;font-weight:700;
  text-decoration:none;box-shadow:0 4px 16px rgba(37,211,102,.42);
  transition:background .16s,transform .13s}
#resposta .zapzap:hover{background:#1EBE5A}
#resposta .zapzap:active{transform:scale(.97)}
#resposta .zapzap svg{width:20px;height:20px;flex:none}

#cartao{display:flex;align-items:center;gap:11px;font-family:var(--f);
  text-transform:none;letter-spacing:normal;background:#fff;border-radius:15px;
  padding:9px 13px 9px 9px;box-shadow:0 6px 22px rgba(var(--escuro),.15),
  0 1px 3px rgba(var(--escuro),.1);animation:sobe .42s both;
  transition:opacity .22s,scale .22s}
#cartao.trocando{opacity:0;scale:.96}

#cartao .retrato{position:relative;flex:none}
#cartao img{width:46px;height:46px;border-radius:50%;object-fit:cover;display:block;
  background:var(--saia);box-shadow:0 0 0 2.5px #fff,0 0 0 5px var(--azul)}
#cartao .sinal{position:absolute;right:-1px;bottom:-1px;width:13px;height:13px;
  border-radius:50%;background:#22C55E;border:2.5px solid #fff}
#cartao .sinal::after{content:"";position:absolute;inset:-2px;border-radius:50%;
  border:2px solid #22C55E;animation:halo 2.2s ease-out infinite}
@keyframes halo{0%{opacity:.55;scale:.8}70%,100%{opacity:0;scale:1.7}}
#cartao .quem{min-width:0;flex:1}
#cartao .gnome{font-size:14.5px;font-weight:700;color:var(--tinta);line-height:1.2;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#cartao .gcargo{font-size:12px;color:var(--fraco);line-height:1.3;margin-top:2px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#cartao .x{flex:none;width:26px;height:26px;border:0;background:none;cursor:pointer;
  border-radius:50%;color:#B4BCCE;display:grid;place-items:center;
  transition:background .16s,color .16s}
#cartao .x:hover{background:var(--saia);color:var(--tinta)}
#cartao .x svg{width:15px;height:15px}

#guia.dormindo{cursor:pointer}
#guia.dormindo #fala,#guia.dormindo #resposta,
#guia.dormindo #cartao .quem,#guia.dormindo #cartao .x{display:none}
#guia.dormindo #cartao{padding:6px;border-radius:50%}
#guia.dormindo #cartao img{width:52px;height:52px}
#guia.dormindo #cartao .sinal{right:1px;bottom:1px}

@media (max-width:1100px){
  #guia{bottom:92px}
}
@media (max-width:640px){

  #guia{right:12px;left:12px;bottom:71px;width:auto;gap:7px}

  #fala .b.velha{font-size:13px;max-width:78%;padding:7px 11px 6px;scale:.96}
  #fala .b{font-size:14px;max-width:88%}

  #fala{max-height:88px;overflow:hidden;
    -webkit-mask:linear-gradient(to top,#000 68%,transparent 100%);
    mask:linear-gradient(to top,#000 68%,transparent 100%)}
  #cartao{padding:8px 11px 8px 8px}
  #cartao img{width:42px;height:42px}
  #resposta .est{width:38px;height:38px}
  #resposta .est svg{width:21px;height:21px}
}

@media (max-width:960px){
  body:has(#vitrine.viva) #guia{display:none}
}

@media (prefers-reduced-motion:reduce){
  #cartao .sinal::after{animation:none}
  #fala .b,#fala .d,#cartao,#resposta{animation:none}

  #guia{transition:none}
}
