(()=>{var y=` @import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap'); :host { --kab-primary: #9C27B0; --kab-primary-dark: #6A1B9A; --kab-teal: #00BCD4; --kab-teal-dark: #0097a7; --kab-dark: #004051; --kab-bg: #F0F4F8; --kab-surface: #FFFFFF; --kab-border: #D8E4EE; --kab-text: #1a2a30; --kab-text-muted: #64748b; --kab-text-light: #94a3b8; --kab-shadow: rgba(0, 64, 81, 0.08); --kab-radius: 16px; --kab-radius-sm: 12px; --kab-font: 'Inter', system-ui, -apple-system, sans-serif; all: initial; font-family: var(--kab-font); font-size: 14px; line-height: 1.5; color: var(--kab-text); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } /* ─── Floating Button ─────────────────────────────────────────────── */ .kab-trigger { position: fixed; z-index: 2147483646; width: 60px; height: 60px; border-radius: 50%; border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, var(--kab-primary) 0%, var(--kab-primary-dark) 100%); box-shadow: 0 4px 20px rgba(156, 39, 176, 0.4), 0 2px 8px rgba(0, 0, 0, 0.1); transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); animation: kab-pop-in 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) both; animation-delay: 0.5s; } .kab-trigger:hover { transform: scale(1.08); box-shadow: 0 6px 28px rgba(156, 39, 176, 0.5), 0 4px 12px rgba(0, 0, 0, 0.15); } .kab-trigger:active { transform: scale(0.95); } .kab-trigger.bottom-right { bottom: 24px; right: 24px; } .kab-trigger.bottom-left { bottom: 24px; left: 24px; } .kab-trigger svg { width: 28px; height: 28px; fill: white; transition: transform 0.3s ease; } .kab-trigger.open svg { transform: rotate(90deg) scale(0.9); } /* ─── Chat Window ─────────────────────────────────────────────────── */ .kab-window { position: fixed; z-index: 2147483647; width: 380px; height: 560px; max-height: calc(100vh - 100px); max-width: calc(100vw - 32px); border-radius: var(--kab-radius); background: var(--kab-bg); box-shadow: 0 12px 48px rgba(0, 0, 0, 0.18), 0 4px 16px rgba(0, 0, 0, 0.08); display: flex; flex-direction: column; overflow: hidden; opacity: 0; transform: translateY(20px) scale(0.95); pointer-events: none; transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); } .kab-window.open { opacity: 1; transform: translateY(0) scale(1); pointer-events: auto; } .kab-window.bottom-right { bottom: 96px; right: 24px; } .kab-window.bottom-left { bottom: 96px; left: 24px; } /* ─── Header ──────────────────────────────────────────────────────── */ .kab-header { display: flex; align-items: center; gap: 10px; padding: 14px 16px; background: linear-gradient(135deg, var(--kab-dark) 0%, #00303d 100%); color: white; flex-shrink: 0; } .kab-header-logo { width: 32px; height: 32px; border-radius: 8px; display: flex; align-items: center; justify-content: center; background: rgba(255, 255, 255, 0.15); flex-shrink: 0; } .kab-header-logo svg { width: 18px; height: 18px; fill: white; } .kab-header-text { flex: 1; min-width: 0; } .kab-header-title { font-size: 14px; font-weight: 600; line-height: 1.3; } .kab-header-subtitle { font-size: 11px; opacity: 0.7; line-height: 1.3; } .kab-close { width: 32px; height: 32px; border-radius: 8px; border: none; background: rgba(255, 255, 255, 0.1); color: white; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: background 0.2s; flex-shrink: 0; } .kab-close:hover { background: rgba(255, 255, 255, 0.2); } .kab-close svg { width: 16px; height: 16px; stroke: currentColor; fill: none; stroke-width: 2; } /* ─── Messages Area ───────────────────────────────────────────────── */ .kab-messages { flex: 1; overflow-y: auto; padding: 16px; display: flex; flex-direction: column; gap: 14px; scroll-behavior: smooth; } .kab-messages::-webkit-scrollbar { width: 4px; } .kab-messages::-webkit-scrollbar-track { background: transparent; } .kab-messages::-webkit-scrollbar-thumb { background: var(--kab-border); border-radius: 999px; } /* ─── Message Bubbles ─────────────────────────────────────────────── */ .kab-msg { display: flex; gap: 8px; animation: kab-slide-up 0.3s ease both; } .kab-msg.user { flex-direction: row-reverse; } .kab-avatar { width: 28px; height: 28px; border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; margin-top: 2px; } .kab-avatar svg { width: 14px; height: 14px; } .kab-avatar.bot { background: #EBF5F8; border: 1px solid var(--kab-border); } .kab-avatar.bot svg { fill: var(--kab-dark); } .kab-avatar.user { background: linear-gradient(135deg, var(--kab-primary), var(--kab-primary-dark)); } .kab-avatar.user svg { fill: white; } .kab-bubble { max-width: 78%; padding: 10px 14px; font-size: 13px; line-height: 1.55; white-space: pre-wrap; word-break: break-word; } .kab-bubble.bot { background: var(--kab-surface); color: var(--kab-text); border: 1px solid var(--kab-border); box-shadow: 0 1px 4px var(--kab-shadow); border-radius: 16px 16px 16px 4px; } .kab-bubble.user { background: var(--kab-primary); color: white; border-radius: 16px 16px 4px 16px; margin-left: auto; } /* ─── Sources ─────────────────────────────────────────────────────── */ .kab-sources { margin-top: 6px; max-width: 78%; } .kab-sources-label { font-size: 11px; font-weight: 600; color: var(--kab-dark); margin-bottom: 4px; } .kab-source-item { display: flex; align-items: center; gap: 6px; padding: 6px 10px; background: #F5F9FC; border: 1px solid var(--kab-border); border-radius: 8px; font-size: 11px; color: var(--kab-text-muted); margin-bottom: 3px; cursor: pointer; transition: background 0.15s; } .kab-source-item:hover { background: #EBF3F8; } .kab-source-item svg { width: 12px; height: 12px; fill: var(--kab-teal); flex-shrink: 0; } .kab-source-text { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .kab-source-score { color: var(--kab-primary); font-weight: 500; flex-shrink: 0; } .kab-source-expanded { padding: 8px 10px; background: #FAFCFE; border-top: 1px solid #EBF3F8; font-size: 11px; color: var(--kab-text); line-height: 1.5; white-space: pre-wrap; } /* ─── Typing Indicator ────────────────────────────────────────────── */ .kab-typing { display: flex; gap: 8px; animation: kab-fade-in 0.3s ease; } .kab-typing-dots { display: flex; gap: 4px; align-items: center; padding: 12px 16px; background: var(--kab-surface); border: 1px solid var(--kab-border); border-radius: 16px 16px 16px 4px; } .kab-typing-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--kab-teal); animation: kab-pulse 1.4s ease-in-out infinite; } .kab-typing-dot:nth-child(2) { animation-delay: 0.2s; } .kab-typing-dot:nth-child(3) { animation-delay: 0.4s; } /* ─── Welcome Message ─────────────────────────────────────────────── */ .kab-welcome { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 32px 24px; flex: 1; } .kab-welcome-icon { width: 52px; height: 52px; border-radius: 14px; display: flex; align-items: center; justify-content: center; margin-bottom: 14px; background: linear-gradient(135deg, rgba(156,39,176,0.12), rgba(0,64,81,0.12)); border: 1px solid rgba(156,39,176,0.2); font-size: 24px; } .kab-welcome-title { font-size: 15px; font-weight: 600; color: var(--kab-dark); margin-bottom: 6px; } .kab-welcome-text { font-size: 13px; color: var(--kab-text-muted); line-height: 1.5; } /* ─── Footer / Branding ───────────────────────────────────────────── */ .kab-brand { display: flex; align-items: center; justify-content: center; gap: 6px; padding: 6px 16px; background: var(--kab-surface); border-top: 1px solid var(--kab-border); flex-shrink: 0; } .kab-brand a { font-size: 11px; color: var(--kab-primary); text-decoration: none; font-weight: 500; transition: color 0.2s; } .kab-brand a:hover { color: var(--kab-primary-dark); text-decoration: underline; } .kab-brand span { font-size: 10px; color: var(--kab-text-light); } /* ─── Input Area ──────────────────────────────────────────────────── */ .kab-input-area { padding: 10px 14px; background: var(--kab-surface); border-top: 1px solid var(--kab-border); flex-shrink: 0; } .kab-input-row { display: flex; align-items: flex-end; gap: 8px; } .kab-input { flex: 1; min-width: 0; min-height: 40px; max-height: 100px; padding: 9px 14px; border: 1px solid var(--kab-border); border-radius: var(--kab-radius-sm); font-family: var(--kab-font); font-size: 16px; line-height: 1.5; color: var(--kab-text); background: var(--kab-bg); resize: none; outline: none; box-sizing: border-box; transition: border-color 0.2s, box-shadow 0.2s; } .kab-input::placeholder { color: var(--kab-text-light); } .kab-input:focus { border-color: var(--kab-teal); box-shadow: 0 0 0 3px rgba(0, 188, 212, 0.12); } .kab-input:disabled { opacity: 0.5; cursor: not-allowed; } .kab-send { width: 40px; height: 40px; border-radius: 10px; border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; background: var(--kab-border); color: var(--kab-text-light); transition: all 0.2s; flex-shrink: 0; } .kab-send.active { background: linear-gradient(135deg, var(--kab-primary) 0%, var(--kab-primary-dark) 100%); color: white; box-shadow: 0 2px 8px rgba(156, 39, 176, 0.3); } .kab-send.active:hover { transform: scale(1.05); } .kab-send:disabled { opacity: 0.4; cursor: not-allowed; transform: none !important; } .kab-send svg { width: 16px; height: 16px; fill: currentColor; } .kab-counter { text-align: center; font-size: 10px; color: var(--kab-text-light); margin-top: 6px; } .kab-counter.warning { color: #e65100; } .kab-counter.limit { color: #c62828; font-weight: 500; } /* ─── Mobile Responsive ───────────────────────────────────────────── */ @media (max-width: 480px) { .kab-window { width: 100vw; height: 100dvh; height: 100vh; /* fallback for older browsers */ max-height: 100dvh; max-width: 100vw; border-radius: 0; top: 0 !important; bottom: auto !important; left: 0 !important; right: 0 !important; } @supports (height: 100dvh) { .kab-window { height: 100dvh; max-height: 100dvh; } } .kab-input-area { padding: 8px 10px; padding-bottom: max(8px, env(safe-area-inset-bottom)); } .kab-input-row { gap: 6px; } .kab-input { font-size: 16px; padding: 8px 12px; } .kab-send { width: 42px; min-width: 42px; height: 42px; } .kab-trigger { width: 52px; height: 52px; bottom: 16px !important; } .kab-trigger.bottom-right { right: 16px; } .kab-trigger.bottom-left { left: 16px; } } /* ─── Animations ──────────────────────────────────────────────────── */ @keyframes kab-pop-in { from { opacity: 0; transform: scale(0.5); } to { opacity: 1; transform: scale(1); } } @keyframes kab-slide-up { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } } @keyframes kab-fade-in { from { opacity: 0; } to { opacity: 1; } } @keyframes kab-pulse { 0%, 100% { opacity: 0.3; transform: scale(0.8); } 50% { opacity: 1; transform: scale(1); } } /* ─── RTL Support (Hebrew) ────────────────────────────────────────── */ :host([dir="rtl"]) { direction: rtl; text-align: right; } :host([dir="rtl"]) .kab-header { direction: rtl; } :host([dir="rtl"]) .kab-bubble.bot { border-radius: 16px 16px 4px 16px; } :host([dir="rtl"]) .kab-bubble.user { border-radius: 16px 16px 16px 4px; margin-left: 0; margin-right: auto; } :host([dir="rtl"]) .kab-msg.user { flex-direction: row-reverse; } :host([dir="rtl"]) .kab-typing-dots { border-radius: 16px 16px 4px 16px; } :host([dir="rtl"]) .kab-input { direction: rtl; text-align: right; } :host([dir="rtl"]) .kab-source-item { direction: rtl; } :host([dir="rtl"]) .kab-welcome { direction: rtl; } `;var C="";function _(i){C=i.replace(/\/+$/,"")}async function S(i,e,t,a){let r=`${C}/api/v1/chat/widget`,o={query:i,session_id:e};t&&(o.collection=t),a&&(o.fallback_collection=a),console.log("[KabWidget] POST",r,"session:",e,t?`collection: ${t}`:"",a?`fallback: ${a}`:"");try{let s=await fetch(r,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(o)});if(s.status===429)throw new Error("RATE_LIMIT");if(!s.ok){let l=await s.json().catch(()=>({}));throw console.error("[KabWidget] API error:",s.status,l),new Error(l.detail||`HTTP ${s.status}`)}return s.json()}catch(s){throw console.error("[KabWidget] Fetch failed:",s.message),s}}var I='',$='',T='',m='',M='',L='',A={ru:{headerTitle:"AI Ассистент",headerSubtitle:"Международная Академия Каббалы",welcomeTitle:"Добро пожаловать!",welcomeText:"Задайте вопрос о каббале и духовном развитии. Я отвечу на основе материалов Международной Академии Каббалы.",placeholder:"Введите ваш вопрос...",sources:"Источники:",poweredBy:"Powered by",brandName:"KabAcademy AI",tryFull:"Полная версия →",remaining:i=>`Осталось ${i} из 20 сообщений`,rateLimit:"Слишком много запросов. Пожалуйста, подождите немного.",error:"Произошла ошибка. Попробуйте ещё раз.",limitReached:"Лимит сообщений достигнут."},en:{headerTitle:"AI Assistant",headerSubtitle:"International Academy of Kabbalah",welcomeTitle:"Welcome!",welcomeText:"Ask a question about Kabbalah and spiritual development. I'll answer based on materials from the International Academy of Kabbalah.",placeholder:"Type your question...",sources:"Sources:",poweredBy:"Powered by",brandName:"KabAcademy AI",tryFull:"Full version →",remaining:i=>`${i} of 20 messages remaining`,rateLimit:"Too many requests. Please wait a moment.",error:"An error occurred. Please try again.",limitReached:"Message limit reached."},he:{headerTitle:"עוזר AI",headerSubtitle:"קבלה לעם",welcomeTitle:"!ברוכים הבאים",welcomeText:"שאלו שאלה על קבלה והתפתחות רוחנית. אענה על סמך חומרים מהאקדמיה הבינלאומית לקבלה.",placeholder:"...כתבו את השאלה שלכם",sources:":מקורות",poweredBy:"Powered by",brandName:"KabAcademy AI",tryFull:"← גרסה מלאה",remaining:i=>`${i} מתוך 20 הודעות נותרו`,rateLimit:"יותר מדי בקשות. אנא המתינו.",error:".אירעה שגיאה. נסו שוב",limitReached:".הגעתם למגבלת ההודעות"},es:{headerTitle:"Asistente IA",headerSubtitle:"Academia Internacional de Cabalá",welcomeTitle:"¡Bienvenido!",welcomeText:"Haz una pregunta sobre la Cabalá y el desarrollo espiritual. Responderé basándome en materiales de la Academia Internacional de Cabalá.",placeholder:"Escribe tu pregunta...",sources:"Fuentes:",poweredBy:"Powered by",brandName:"KabAcademy AI",tryFull:"Versión completa →",remaining:i=>`${i} de 20 mensajes restantes`,rateLimit:"Demasiadas solicitudes. Por favor, espera un momento.",error:"Ocurrió un error. Inténtalo de nuevo.",limitReached:"Límite de mensajes alcanzado."},pt:{headerTitle:"Assistente IA",headerSubtitle:"Academia Internacional de Cabala",welcomeTitle:"Bem-vindo!",welcomeText:"Faça uma pergunta sobre Cabala e desenvolvimento espiritual. Responderei com base nos materiais da Academia Internacional de Cabala.",placeholder:"Digite sua pergunta...",sources:"Fontes:",poweredBy:"Powered by",brandName:"KabAcademy AI",tryFull:"Versão completa →",remaining:i=>`${i} de 20 mensagens restantes`,rateLimit:"Muitas solicitações. Por favor, aguarde um momento.",error:"Ocorreu um erro. Tente novamente.",limitReached:"Limite de mensagens atingido."}};function F(){var t;let i=((t=document.documentElement.lang)==null?void 0:t.toLowerCase())||"";if(i.startsWith("ru"))return"ru";if(i.startsWith("he")||i.startsWith("iw"))return"he";if(i.startsWith("en"))return"en";let e=(navigator.language||"").toLowerCase();return e.startsWith("ru")?"ru":e.startsWith("he")||e.startsWith("iw")?"he":"en"}var x=class{constructor(e,t={}){this.root=e,this.lang=t.lang||F(),this.position=t.position||"bottom-right",this.collection=t.collection||"",this.fallbackCollection=t.fallbackCollection||"",this.hideSources=t.hideSources||!1,this.registrationUrl=t.registrationUrl||"https://ai.kabacademy.com/register",this.sessionId=this._getOrCreateSessionId(),this.messages=this._loadMessages(),this.isOpen=!1,this.isTyping=!1,this.messagesRemaining=20,this.strings=A[this.lang]||A.en,t.subtitle&&(this.strings={...this.strings,headerSubtitle:t.subtitle}),this._build(),this._bindEvents()}_getOrCreateSessionId(){let e="kab_widget_session_id",t=null;try{t=localStorage.getItem(e)}catch(a){}if(!t){try{t=crypto.randomUUID()}catch(a){t=this._uuidv4()}try{localStorage.setItem(e,t)}catch(a){}}return t}_uuidv4(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)})}_loadMessages(){try{let e=sessionStorage.getItem("kab_widget_messages");return e?JSON.parse(e):[]}catch(e){return[]}}_saveMessages(){try{sessionStorage.setItem("kab_widget_messages",JSON.stringify(this.messages))}catch(e){}}_build(){this.trigger=this._el("button",`kab-trigger ${this.position}`),this.trigger.innerHTML=I,this.trigger.setAttribute("aria-label",this.strings.headerTitle),this.root.appendChild(this.trigger),this.window=this._el("div",`kab-window ${this.position}`),this.window.innerHTML=`
${this.strings.headerTitle}
${this.strings.headerSubtitle}
${this.strings.poweredBy} ${this.strings.brandName} · ${this.strings.tryFull}
`,this.root.appendChild(this.window),this.messagesContainer=this.window.querySelector("#kab-messages"),this.input=this.window.querySelector("#kab-input"),this.sendBtn=this.window.querySelector("#kab-send"),this.closeBtn=this.window.querySelector(".kab-close"),this.counter=this.window.querySelector("#kab-counter"),this.messages.length>0?this.messages.forEach(e=>this._renderMessage(e.role,e.content,e.sources,!1)):this._renderWelcome()}_el(e,t){let a=document.createElement(e);return t&&(a.className=t),a}_bindEvents(){this.trigger.addEventListener("click",()=>this.toggle()),this.closeBtn.addEventListener("click",()=>this.close()),this.input.addEventListener("input",()=>{this._autoResize(),this._updateSendButton()}),this.input.addEventListener("keydown",e=>{e.key==="Enter"&&!e.shiftKey&&(e.preventDefault(),this._handleSend())}),this.sendBtn.addEventListener("click",()=>this._handleSend())}toggle(){this.isOpen?this.close():this.open()}open(){this.isOpen=!0,this.window.classList.add("open"),this.trigger.classList.add("open"),setTimeout(()=>this.input.focus(),300),this._scrollToBottom()}close(){this.isOpen=!1,this.window.classList.remove("open"),this.trigger.classList.remove("open")}_autoResize(){this.input.style.height="auto",this.input.style.height=Math.min(this.input.scrollHeight,100)+"px"}_updateSendButton(){let e=this.input.value.trim().length>0;this.sendBtn.disabled=!e||this.isTyping,this.sendBtn.classList.toggle("active",e&&!this.isTyping)}async _handleSend(){let e=this.input.value.trim();if(!e||this.isTyping)return;this.input.value="",this.input.style.height="auto",this._updateSendButton();let t=this.messagesContainer.querySelector(".kab-welcome");t&&t.remove(),this._addMessage("user",e),this._showTyping();try{let a=await S(e,this.sessionId,this.collection,this.fallbackCollection);this._hideTyping();let r=this.hideSources||a.hide_sources?[]:a.sources;this._addMessage("assistant",a.answer,r),this.messagesRemaining=a.messages_remaining,this._updateCounter()}catch(a){this._hideTyping(),a.message==="RATE_LIMIT"?this._addMessage("assistant",this.strings.rateLimit):this._addMessage("assistant",this.strings.error)}this.input.focus()}_addMessage(e,t,a=[]){this.messages.push({role:e,content:t,sources:a}),this._saveMessages(),this._renderMessage(e,t,a,!0),this._scrollToBottom()}_renderMessage(e,t,a=[],r=!0){let o=e==="user",s=this._el("div",`kab-msg ${o?"user":"bot"}`);r||(s.style.animation="none");let l=this._el("div",`kab-avatar ${o?"user":"bot"}`);l.innerHTML=o?M:m;let p=this._el("div",`kab-bubble ${o?"user":"bot"}`);if(p.textContent=t,s.appendChild(l),s.appendChild(p),this.messagesContainer.appendChild(s),!o&&a&&a.length>0){let d=a.filter(n=>n.source||n.snippet);if(d.length>0){let n=this._el("div","kab-sources"),v=this._el("div","kab-sources-label");v.textContent=this.strings.sources,n.appendChild(v),d.forEach(g=>{let h=this._el("div","kab-source-item");h.innerHTML=L;let w=this._el("span","kab-source-text");if(w.textContent=g.snippet||g.source||"",h.appendChild(w),g.answer){let f=!1,u=this._el("div","kab-source-expanded");u.textContent=g.answer,u.style.display="none",h.addEventListener("click",()=>{f=!f,u.style.display=f?"block":"none"}),n.appendChild(h),n.appendChild(u)}else n.appendChild(h)});let c=this._el("div","kab-msg bot");r||(c.style.animation="none");let k=this._el("div","kab-avatar bot");k.style.visibility="hidden",k.innerHTML=m,c.appendChild(k),c.appendChild(n),this.messagesContainer.appendChild(c)}}}_renderWelcome(){let e=this._el("div","kab-welcome");e.innerHTML=`
${this.strings.welcomeTitle}
${this.strings.welcomeText}
`,this.messagesContainer.appendChild(e)}_showTyping(){this.isTyping=!0,this._updateSendButton(),this.input.disabled=!0;let e=this._el("div","kab-typing");e.id="kab-typing";let t=this._el("div","kab-avatar bot");t.innerHTML=m;let a=this._el("div","kab-typing-dots");a.innerHTML='
',e.appendChild(t),e.appendChild(a),this.messagesContainer.appendChild(e),this._scrollToBottom()}_hideTyping(){this.isTyping=!1,this._updateSendButton(),this.input.disabled=!1;let e=this.messagesContainer.querySelector("#kab-typing");e&&e.remove()}_updateCounter(){this.messagesRemaining<=5&&this.messagesRemaining>0?(this.counter.textContent=this.strings.remaining(this.messagesRemaining),this.counter.className="kab-counter warning"):this.messagesRemaining<=0?(this.counter.textContent=this.strings.limitReached,this.counter.className="kab-counter limit",this.input.disabled=!0,this.sendBtn.disabled=!0):(this.counter.textContent="",this.counter.className="kab-counter")}_scrollToBottom(){requestAnimationFrame(()=>{this.messagesContainer.scrollTop=this.messagesContainer.scrollHeight})}};var B={purple:{primary:"#9C27B0",primaryDark:"#6A1B9A",header:"#004051",headerEnd:"#00303d",teal:"#00BCD4"},blue:{primary:"#1976D2",primaryDark:"#1565C0",header:"#0D47A1",headerEnd:"#0A3575",teal:"#42A5F5"},teal:{primary:"#00897B",primaryDark:"#00695C",header:"#004D40",headerEnd:"#003830",teal:"#26A69A"},green:{primary:"#2E7D32",primaryDark:"#1B5E20",header:"#1B3A1D",headerEnd:"#142C15",teal:"#66BB6A"},dark:{primary:"#546E7A",primaryDark:"#37474F",header:"#1C1C1E",headerEnd:"#111113",teal:"#78909C"},red:{primary:"#C62828",primaryDark:"#B71C1C",header:"#4E0000",headerEnd:"#3B0000",teal:"#EF5350"}};function z(i,e,t){let a=B[i]||B.purple,r=e||a.primary,o=e?E(e,.15):a.primaryDark,s=t||a.header,l=t?E(t,.15):a.headerEnd,p=a.teal;return` :host { --kab-primary: ${r} !important; --kab-primary-dark: ${o} !important; --kab-dark: ${s} !important; --kab-teal: ${p} !important; } .kab-header { background: linear-gradient(135deg, ${s} 0%, ${l} 100%) !important; } .kab-trigger { box-shadow: 0 4px 20px ${b(r,.4)}, 0 2px 8px rgba(0,0,0,0.1) !important; } .kab-trigger:hover { box-shadow: 0 6px 28px ${b(r,.5)}, 0 4px 12px rgba(0,0,0,0.15) !important; } .kab-send.active { box-shadow: 0 2px 8px ${b(r,.3)} !important; } .kab-welcome-icon { background: linear-gradient(135deg, ${b(r,.12)}, ${b(s,.12)}) !important; border-color: ${b(r,.2)} !important; } .kab-input:focus { border-color: ${p} !important; box-shadow: 0 0 0 3px ${b(p,.12)} !important; } `}function b(i,e){i=i.replace("#",""),i.length===3&&(i=i.split("").map(o=>o+o).join(""));let t=parseInt(i.substring(0,2),16),a=parseInt(i.substring(2,4),16),r=parseInt(i.substring(4,6),16);return`rgba(${t}, ${a}, ${r}, ${e})`}function E(i,e){i=i.replace("#",""),i.length===3&&(i=i.split("").map(o=>o+o).join(""));let t=parseInt(i.substring(0,2),16),a=parseInt(i.substring(2,4),16),r=parseInt(i.substring(4,6),16);return t=Math.max(0,Math.round(t*(1-e))),a=Math.max(0,Math.round(a*(1-e))),r=Math.max(0,Math.round(r*(1-e))),`#${t.toString(16).padStart(2,"0")}${a.toString(16).padStart(2,"0")}${r.toString(16).padStart(2,"0")}`}(function(){if(window.__kabWidgetLoaded)return;window.__kabWidgetLoaded=!0;let e=document.currentScript||document.querySelector('script[src*="kab-chat-widget"]'),t={theme:(e==null?void 0:e.getAttribute("data-theme"))||"purple",lang:(e==null?void 0:e.getAttribute("data-lang"))||"",position:(e==null?void 0:e.getAttribute("data-position"))||"bottom-right",apiUrl:(e==null?void 0:e.getAttribute("data-api-url"))||"",primaryColor:(e==null?void 0:e.getAttribute("data-primary-color"))||"",headerColor:(e==null?void 0:e.getAttribute("data-header-color"))||"",collection:(e==null?void 0:e.getAttribute("data-collection"))||"",fallbackCollection:(e==null?void 0:e.getAttribute("data-fallback-collection"))||"",subtitle:(e==null?void 0:e.getAttribute("data-subtitle"))||"",registrationUrl:(e==null?void 0:e.getAttribute("data-registration-url"))||"",hideSources:(e==null?void 0:e.getAttribute("data-hide-sources"))==="true"},a=t.apiUrl;if(!a&&(e!=null&&e.src))try{a=new URL(e.src).origin}catch(n){}a||(a=window.location.origin),_(a);let r=document.createElement("div");r.id="kab-chat-widget",r.style.cssText="all: initial;";let o=t.lang||document.documentElement.lang||navigator.language||"";(o.startsWith("he")||o.startsWith("iw"))&&r.setAttribute("dir","rtl"),document.body.appendChild(r);let s=r.attachShadow({mode:"closed"}),l=document.createElement("style");if(l.textContent=y,s.appendChild(l),t.theme!=="purple"||t.primaryColor||t.headerColor){let n=document.createElement("style");n.textContent=z(t.theme,t.primaryColor,t.headerColor),s.appendChild(n)}let d={};t.lang&&(d.lang=t.lang),t.position&&(d.position=t.position),t.collection&&(d.collection=t.collection),t.fallbackCollection&&(d.fallbackCollection=t.fallbackCollection),t.subtitle&&(d.subtitle=t.subtitle),t.registrationUrl&&(d.registrationUrl=t.registrationUrl),t.hideSources&&(d.hideSources=!0),new x(s,d)})();})();