/* D3PLOY Assistant widget */
.d3-chat-btn{
  position:fixed;right:22px;bottom:22px;z-index:900;
  width:54px;height:54px;border-radius:50%;border:1px solid var(--line);
  background:var(--g1);color:var(--brass);cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 6px 24px rgba(0,0,0,.45);transition:transform .2s,background .2s;
}
.d3-chat-btn:hover{transform:translateY(-2px);background:var(--g2)}
.d3-chat-btn svg{width:24px;height:24px}
.d3-chat{
  position:fixed;right:22px;bottom:88px;z-index:901;
  width:min(370px,calc(100vw - 32px));height:min(520px,calc(100vh - 120px));
  display:none;flex-direction:column;overflow:hidden;
  background:var(--g1);border:1px solid var(--line);border-radius:12px;
  box-shadow:0 12px 48px rgba(0,0,0,.55);
}
.d3-chat.open{display:flex}
.d3-chat-head{
  padding:14px 16px;border-bottom:1px solid var(--line);
  font-family:var(--mono);font-size:11px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--sage);
  display:flex;justify-content:space-between;align-items:center;
}
.d3-chat-head b{color:var(--brass);font-weight:700}
.d3-chat-close{background:none;border:0;color:var(--dim);cursor:pointer;font-size:16px;line-height:1}
.d3-chat-log{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px}
.d3-msg{max-width:85%;padding:10px 13px;border-radius:10px;font-size:14.5px;line-height:1.5;white-space:pre-wrap;word-wrap:break-word}
.d3-msg.user{align-self:flex-end;background:var(--g2);color:var(--white);border:1px solid var(--line)}
.d3-msg.bot{align-self:flex-start;background:var(--g0);color:var(--white);border:1px solid var(--line)}
.d3-msg.bot a{color:var(--brass)}
.d3-msg.typing{color:var(--sage);font-family:var(--mono);font-size:12px}
.d3-chat-form{display:flex;gap:8px;padding:12px;border-top:1px solid var(--line)}
.d3-chat-form input{
  flex:1;background:var(--g0);border:1px solid var(--line);border-radius:8px;
  padding:10px 12px;color:var(--white);font-family:var(--sans);font-size:14px;
}
.d3-chat-form input:focus{outline:1px solid var(--brass)}
.d3-chat-form button{
  background:var(--brass);color:var(--g0);border:0;border-radius:8px;
  padding:0 16px;font-family:var(--mono);font-size:12px;font-weight:700;cursor:pointer;
}
.d3-chat-form button:disabled{opacity:.5;cursor:default}
.d3-chat-fallback{padding:16px;font-size:14px;color:var(--dim);line-height:1.6}
.d3-chat-fallback a{color:var(--brass)}
@media (max-width:480px){
  .d3-chat{right:16px;left:16px;width:auto}
}
