:root{--bac-color:#C0392B;--bac-dark:#96281B;}
#bac-root{position:fixed;z-index:999999;font-family:'Segoe UI',Tahoma,'Vazirmatn',sans-serif;}
#bac-root.bac-br{bottom:24px;right:24px;}
#bac-root.bac-bl{bottom:24px;left:24px;}
#bac-btn{width:60px;height:60px;border-radius:50%;background:var(--bac-color);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(192,57,43,.45);transition:transform .2s,box-shadow .2s;outline:none;position:relative;}
#bac-btn:hover{transform:scale(1.08);}
#bac-btn svg{width:28px;height:28px;fill:#fff;transition:opacity .2s;}
#bac-btn .ico-close{display:none;}
#bac-root.open #bac-btn .ico-chat{display:none;}
#bac-root.open #bac-btn .ico-close{display:block;}
#bac-btn::after{content:'';position:absolute;inset:-4px;border-radius:50%;border:2px solid var(--bac-color);opacity:0;animation:bac-pulse 2.5s ease-out infinite;}
@keyframes bac-pulse{0%{transform:scale(1);opacity:.6}100%{transform:scale(1.6);opacity:0}}
#bac-win{position:absolute;bottom:74px;width:380px;max-width:calc(100vw - 32px);height:580px;max-height:calc(100vh - 110px);background:#fff;border-radius:18px;box-shadow:0 8px 40px rgba(0,0,0,.18);display:flex;flex-direction:column;overflow:hidden;transform:scale(.85) translateY(20px);opacity:0;pointer-events:none;transition:transform .25s cubic-bezier(.34,1.56,.64,1),opacity .2s;border:1px solid #e5e5e5;direction:rtl;}
#bac-root.bac-br #bac-win{right:0;transform-origin:bottom right;}
#bac-root.bac-bl #bac-win{left:0;transform-origin:bottom left;}
#bac-root.open #bac-win{transform:scale(1) translateY(0);opacity:1;pointer-events:all;}
#bac-head{background:linear-gradient(135deg,var(--bac-color) 0%,var(--bac-dark) 100%);color:#fff;padding:14px 16px;display:flex;align-items:center;gap:10px;flex-shrink:0;}
#bac-head-av{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
#bac-head-av svg{width:22px;height:22px;fill:#fff;}
#bac-head-info{flex:1;}
#bac-head-title{font-size:15px;font-weight:700;margin:0;line-height:1.2;}
#bac-head-status{font-size:11px;opacity:.85;margin-top:2px;display:flex;align-items:center;gap:4px;}
#bac-head-status::before{content:'';width:7px;height:7px;border-radius:50%;background:#4ade80;display:inline-block;}
#bac-head-actions{display:flex;gap:6px;}
#bac-head-actions button{background:rgba(255,255,255,.15);border:none;width:28px;height:28px;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;}
#bac-head-actions button:hover{background:rgba(255,255,255,.3);}
#bac-head-actions button svg{width:15px;height:15px;fill:#fff;}
#bac-msgs{flex:1;overflow-y:auto;padding:14px 12px;display:flex;flex-direction:column;gap:8px;scroll-behavior:smooth;}
#bac-msgs::-webkit-scrollbar{width:4px;}
#bac-msgs::-webkit-scrollbar-thumb{background:#ddd;border-radius:4px;}
.bac-msg{display:flex;flex-direction:column;max-width:84%;animation:bac-in .22s ease;}
@keyframes bac-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.bac-msg.bot{align-self:flex-end;align-items:flex-end;}
.bac-msg.usr{align-self:flex-start;align-items:flex-start;}
.bac-bbl{padding:9px 13px;border-radius:16px;font-size:13.5px;line-height:1.65;word-break:break-word;}
.bac-msg.bot .bac-bbl{background:#f0f0f0;color:#1a1a1a;border-bottom-right-radius:4px;}
.bac-msg.usr .bac-bbl{background:var(--bac-color);color:#fff;border-bottom-left-radius:4px;}
.bac-msg.usr .bac-bbl a{color:#ffe;text-decoration:underline;}
.bac-msg.bot .bac-bbl a{color:var(--bac-color);text-decoration:underline;}
.bac-time{font-size:10px;color:#aaa;margin-top:2px;padding:0 3px;}
.bac-typing{display:flex;gap:5px;padding:11px 13px;background:#f0f0f0;border-radius:16px;border-bottom-right-radius:4px;width:fit-content;align-self:flex-end;}
.bac-typing span{width:7px;height:7px;border-radius:50%;background:#aaa;animation:bac-dot 1.2s ease-in-out infinite;}
.bac-typing span:nth-child(2){animation-delay:.2s;}
.bac-typing span:nth-child(3){animation-delay:.4s;}
@keyframes bac-dot{0%,80%,100%{transform:scale(.6);opacity:.5}40%{transform:scale(1);opacity:1}}
#bac-qp{padding:8px 12px;display:flex;flex-wrap:wrap;gap:6px;border-top:1px solid #f0f0f0;flex-shrink:0;}
.bac-qp-btn{background:#fff;border:1.5px solid var(--bac-color);color:var(--bac-color);padding:5px 11px;border-radius:20px;font-size:12px;cursor:pointer;white-space:nowrap;font-family:inherit;transition:all .15s;}
.bac-qp-btn:hover{background:var(--bac-color);color:#fff;}
#bac-input-wrap{padding:10px 12px;border-top:1px solid #e5e5e5;display:flex;align-items:flex-end;gap:8px;background:#fff;flex-shrink:0;}
#bac-inp{flex:1;border:1.5px solid #e0e0e0;border-radius:12px;padding:9px 13px;font-size:13.5px;font-family:inherit;direction:rtl;resize:none;outline:none;max-height:110px;min-height:40px;line-height:1.5;transition:border-color .2s;background:#f9f9f9;}
#bac-inp:focus{border-color:var(--bac-color);background:#fff;}
#bac-inp::placeholder{color:#bbb;}
#bac-send{width:40px;height:40px;border-radius:50%;background:var(--bac-color);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .2s,transform .15s;outline:none;}
#bac-send:hover{background:var(--bac-dark);transform:scale(1.05);}
#bac-send:disabled{background:#ccc;cursor:not-allowed;transform:none;}
#bac-send svg{width:18px;height:18px;fill:#fff;}
#bac-foot{text-align:center;font-size:10px;color:#ccc;padding:5px;background:#fff;border-top:1px solid #f5f5f5;}
#bac-limit-banner{background:linear-gradient(135deg,#f39c12,#e67e22);color:#fff;padding:12px 16px;font-size:13px;line-height:1.6;direction:rtl;text-align:right;}
#bac-limit-banner a{color:#fff;font-weight:700;}
@media(max-width:480px){
  #bac-root.bac-br,#bac-root.bac-bl{bottom:16px;right:16px;left:auto;}
  #bac-win{position:fixed!important;bottom:0!important;right:0!important;left:0!important;width:100vw!important;max-width:100vw!important;height:85vh!important;max-height:85vh!important;border-radius:20px 20px 0 0!important;}
  #bac-root.bac-br #bac-win,#bac-root.bac-bl #bac-win{transform-origin:bottom center;}
  #bac-root:not(.open) #bac-win{transform:translateY(100%)!important;opacity:1!important;}
}
