/* UXConf BR 2026 · Assistente de dúvidas (chatbot) · estilos compartilhados */
.fb-launcher{position:fixed;right:22px;bottom:22px;z-index:115;display:inline-flex;align-items:center;gap:10px;
  background:var(--violet);color:#fff;border:none;cursor:pointer;font-family:var(--disp);font-weight:600;font-size:16px;
  padding:14px 22px 14px 18px;border-radius:999px;box-shadow:0 16px 38px -12px rgba(106,24,201,.55);
  transition:transform .28s cubic-bezier(.2,1.4,.4,1),background .2s,opacity .25s ease,visibility .25s}
.fb-launcher svg{width:24px;height:24px;fill:currentColor}
.fb-launcher:hover,.fb-launcher:focus-visible{transform:translateY(-3px) scale(1.04);background:#5813a8}
.fb-launcher.hide{opacity:0;visibility:hidden;transform:translateY(12px) scale(.9);pointer-events:none}
/* sobe o botão "voltar ao topo" para não colidir com o launcher do chat */
.to-top{bottom:92px}

.fb-panel{position:fixed;right:22px;bottom:22px;z-index:116;width:min(390px,calc(100vw - 32px));
  height:min(620px,calc(100vh - 40px));display:flex;flex-direction:column;overflow:hidden;
  background:var(--cream);border:1.5px solid var(--ink);border-radius:26px;
  box-shadow:0 40px 90px -30px rgba(27,20,16,.55);
  opacity:0;visibility:hidden;transform:translateY(24px) scale(.96);transform-origin:bottom right;
  transition:opacity .3s ease,transform .34s cubic-bezier(.2,.9,.3,1.1),visibility .3s}
.fb-panel.open{opacity:1;visibility:visible;transform:none}
.fb-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 16px 15px 18px;
  background:var(--ink);color:var(--cream)}
.fb-head-id{display:flex;align-items:center;gap:12px;min-width:0}
.fb-avatar{width:38px;height:38px;flex:none;border-radius:50%;
  background:radial-gradient(circle at 32% 30%,var(--yellow),var(--magenta) 55%,var(--violet));
  box-shadow:0 0 0 3px rgba(250,243,230,.12)}
.fb-head-txt{display:flex;flex-direction:column;line-height:1.2;min-width:0}
.fb-head-txt strong{font-family:var(--disp);font-weight:600;font-size:16px}
.fb-head-txt span{font-size:12.5px;color:rgba(250,243,230,.7)}
.fb-close{background:none;border:none;cursor:pointer;color:rgba(250,243,230,.75);padding:8px;border-radius:50%;
  display:flex;transition:background .2s,color .2s}
.fb-close svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.fb-close:hover{background:rgba(250,243,230,.14);color:#fff}
.fb-log{flex:1;overflow-y:auto;padding:20px 16px 8px;display:flex;flex-direction:column;gap:12px;scroll-behavior:smooth}
.fb-msg{display:flex;max-width:88%}
.fb-assistant{align-self:flex-start}
.fb-user{align-self:flex-end;justify-content:flex-end}
.fb-bubble{font-size:15px;line-height:1.5;padding:12px 15px;border-radius:18px;word-wrap:break-word}
.fb-assistant .fb-bubble{background:var(--cream-2);color:var(--ink);border-bottom-left-radius:6px}
.fb-user .fb-bubble{background:var(--magenta-ink);color:#fff;border-bottom-right-radius:6px}
.fb-bubble a{color:var(--magenta-ink);text-decoration:underline;text-underline-offset:2px}
.fb-user .fb-bubble a{color:#fff}
.fb-sugs{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px}
.fb-sugs-label{flex-basis:100%;font-size:12.5px;color:var(--soft);margin:2px 0 -2px}
.fb-sug{font-family:var(--disp);font-weight:600;font-size:13.5px;color:var(--magenta-ink);cursor:pointer;
  background:none;border:1.5px solid var(--line);border-radius:999px;padding:9px 14px;transition:.2s;line-height:1.1}
.fb-sug:hover{border-color:var(--magenta);background:color-mix(in oklch,var(--magenta) 8%,transparent)}
.fb-typing{display:inline-flex;gap:5px;align-items:center}
.fb-typing span{width:7px;height:7px;border-radius:50%;background:var(--soft);opacity:.5;animation:fbdot 1s infinite ease-in-out}
.fb-typing span:nth-child(2){animation-delay:.15s}
.fb-typing span:nth-child(3){animation-delay:.3s}
@keyframes fbdot{0%,60%,100%{transform:translateY(0);opacity:.4}30%{transform:translateY(-5px);opacity:.9}}
.fb-input{display:flex;align-items:flex-end;gap:8px;padding:12px 14px 6px;border-top:1px solid var(--line)}
.fb-input textarea{flex:1;resize:none;max-height:120px;font-family:var(--body);font-size:15px;color:var(--ink);
  background:var(--cream-2);border:1.5px solid transparent;border-radius:16px;padding:11px 14px;line-height:1.4;
  transition:border-color .2s,box-shadow .2s}
.fb-input textarea:focus{outline:none;border-color:var(--magenta);box-shadow:0 0 0 3px rgba(236,11,138,.14)}
.fb-send{flex:none;width:44px;height:44px;border-radius:50%;border:none;cursor:pointer;
  background:var(--magenta-ink);color:#fff;display:flex;align-items:center;justify-content:center;transition:.2s}
.fb-send svg{width:20px;height:20px;fill:currentColor}
.fb-send:hover:not(:disabled){background:var(--violet);transform:scale(1.06)}
.fb-send:disabled{opacity:.5;cursor:default}
.fb-foot{margin:0;padding:2px 16px 12px;font-size:11.5px;color:var(--soft);text-align:center}
.fb-foot a{color:var(--magenta-ink);text-decoration:underline;text-underline-offset:2px}
@media(max-width:520px){
  .fb-panel{right:8px;bottom:8px;height:calc(100vh - 16px);width:calc(100vw - 16px)}
  .fb-launcher .fb-launcher-label{display:none}
  .fb-launcher{padding:15px;border-radius:50%}
}
@media(prefers-reduced-motion:reduce){
  .fb-launcher,.fb-panel,.fb-send{transition:opacity .2s ease}
  .fb-typing span{animation:none}
}
