.bgc-fab{position:fixed;right:20px;bottom:20px;z-index:900;width:54px;height:54px;border-radius:50%;border:0;background:var(--c-primary);color:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:var(--shadow-lg)}
.bgc-fab:focus-visible,.bgc-close:focus-visible,.bgc-chip:focus-visible,.bgc-send:focus-visible{outline:3px solid var(--c-accent);outline-offset:2px}
.has-chat .back-to-top{bottom:84px}
.bgc-panel{position:fixed;right:20px;bottom:86px;z-index:901;width:min(380px,calc(100vw - 24px));height:min(540px,calc(100vh - 110px));display:flex;flex-direction:column;background:var(--c-surface);color:var(--c-text);border:1px solid var(--c-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden}
.bgc-panel[hidden]{display:none}
.bgc-head{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:var(--c-primary);color:#fff}
.bgc-close{background:none;border:0;color:#fff;font-size:26px;line-height:1;cursor:pointer}
.bgc-log{flex:1;overflow:auto;padding:14px;display:flex;flex-direction:column;gap:10px}
.bgc-msg{display:flex}.bgc-user{justify-content:flex-end}
.bgc-bubble{max-width:85%;padding:9px 13px;border-radius:14px;background:var(--c-surface-2);white-space:pre-wrap;word-break:break-word;font-size:.95rem;line-height:1.45}
.bgc-user .bgc-bubble{background:var(--c-primary);color:#fff}
.bgc-wait .bgc-bubble{opacity:.6;font-style:italic}
.bgc-quick{display:flex;flex-wrap:wrap;gap:6px;padding:0 14px 10px}
.bgc-chip{border:1px solid var(--c-border);background:var(--c-surface);color:var(--c-text);border-radius:999px;padding:5px 11px;font-size:.82rem;cursor:pointer}
.bgc-form{display:flex;gap:8px;padding:10px;border-top:1px solid var(--c-border)}
.bgc-form input{flex:1;min-width:0;padding:10px 12px;border:1px solid var(--c-border);border-radius:var(--radius-md);background:var(--c-bg);color:var(--c-text);font:inherit}
.bgc-send{border:0;background:var(--c-primary);color:#fff;border-radius:var(--radius-md);padding:0 16px;cursor:pointer;font:inherit}
@media(prefers-reduced-motion:no-preference){.bgc-panel{animation:bgcIn .18s var(--ease,ease)}@keyframes bgcIn{from{opacity:0;transform:translateY(8px)}}}

/* typing indicator */
.bgc-dots{display:inline-flex;gap:4px;align-items:center;padding:2px 0}
.bgc-dots i{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.4}
@media(prefers-reduced-motion:no-preference){.bgc-dots i{animation:bgcDot 1.2s infinite ease-in-out}.bgc-dots i:nth-child(2){animation-delay:.15s}.bgc-dots i:nth-child(3){animation-delay:.3s}}
@keyframes bgcDot{0%,60%,100%{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}
