@hachther/akilio-widget 0.6.5 → 0.6.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/akilio-widget.min.js +2 -2
- package/dist/index.min.js +11 -11
- package/dist/index.umd.min.cjs +2 -2
- package/dist/style.css +2 -2
- package/package.json +1 -1
|
@@ -40,6 +40,6 @@ https://github.com/highlightjs/highlight.js/issues/2277`),ne=W,ot=ke),Pe===void
|
|
|
40
40
|
`))+1))}const u="#".repeat(s),g=r.enter("headingAtx"),m=r.enter("phrasing");f.move(u+" ");let p=r.containerPhrasing(n,{before:"# ",after:`
|
|
41
41
|
`,...f.current()});return/^[\t ]/.test(p)&&(p=nl(p.charCodeAt(0))+p.slice(1)),p=p?u+" "+p:u,r.options.closeAtx&&(p+=" "+u),m(),g(),p}ag.peek=Ax;function ag(n){return n.value||""}function Ax(){return"<"}rg.peek=Nx;function rg(n,a,r,o){const s=Rc(r),f=s==='"'?"Quote":"Apostrophe",u=r.enter("image");let g=r.enter("label");const m=r.createTracker(o);let p=m.move("![");return p+=m.move(r.safe(n.alt,{before:p,after:"]",...m.current()})),p+=m.move("]("),g(),!n.url&&n.title||/[\0- \u007F]/.test(n.url)?(g=r.enter("destinationLiteral"),p+=m.move("<"),p+=m.move(r.safe(n.url,{before:p,after:">",...m.current()})),p+=m.move(">")):(g=r.enter("destinationRaw"),p+=m.move(r.safe(n.url,{before:p,after:n.title?" ":")",...m.current()}))),g(),n.title&&(g=r.enter(`title${f}`),p+=m.move(" "+s),p+=m.move(r.safe(n.title,{before:p,after:s,...m.current()})),p+=m.move(s),g()),p+=m.move(")"),u(),p}function Nx(){return"!"}lg.peek=Cx;function lg(n,a,r,o){const s=n.referenceType,f=r.enter("imageReference");let u=r.enter("label");const g=r.createTracker(o);let m=g.move("![");const p=r.safe(n.alt,{before:m,after:"]",...g.current()});m+=g.move(p+"]["),u();const b=r.stack;r.stack=[],u=r.enter("reference");const h=r.safe(r.associationId(n),{before:m,after:"]",...g.current()});return u(),r.stack=b,f(),s==="full"||!p||p!==h?m+=g.move(h+"]"):s==="shortcut"?m=m.slice(0,-1):m+=g.move("]"),m}function Cx(){return"!"}og.peek=Ox;function og(n,a,r){let o=n.value||"",s="`",f=-1;for(;new RegExp("(^|[^`])"+s+"([^`]|$)").test(o);)s+="`";for(/[^ \r\n]/.test(o)&&(/^[ \r\n]/.test(o)&&/[ \r\n]$/.test(o)||/^`|`$/.test(o))&&(o=" "+o+" ");++f<r.unsafe.length;){const u=r.unsafe[f],g=r.compilePattern(u);let m;if(u.atBreak)for(;m=g.exec(o);){let p=m.index;o.charCodeAt(p)===10&&o.charCodeAt(p-1)===13&&p--,o=o.slice(0,p)+" "+o.slice(m.index+1)}}return s+o+s}function Ox(){return"`"}function sg(n,a){const r=Ws(n);return!!(!a.options.resourceLink&&n.url&&!n.title&&n.children&&n.children.length===1&&n.children[0].type==="text"&&(r===n.url||"mailto:"+r===n.url)&&/^[a-z][a-z+.-]+:/i.test(n.url)&&!/[\0- <>\u007F]/.test(n.url))}cg.peek=Mx;function cg(n,a,r,o){const s=Rc(r),f=s==='"'?"Quote":"Apostrophe",u=r.createTracker(o);let g,m;if(sg(n,r)){const b=r.stack;r.stack=[],g=r.enter("autolink");let h=u.move("<");return h+=u.move(r.containerPhrasing(n,{before:h,after:">",...u.current()})),h+=u.move(">"),g(),r.stack=b,h}g=r.enter("link"),m=r.enter("label");let p=u.move("[");return p+=u.move(r.containerPhrasing(n,{before:p,after:"](",...u.current()})),p+=u.move("]("),m(),!n.url&&n.title||/[\0- \u007F]/.test(n.url)?(m=r.enter("destinationLiteral"),p+=u.move("<"),p+=u.move(r.safe(n.url,{before:p,after:">",...u.current()})),p+=u.move(">")):(m=r.enter("destinationRaw"),p+=u.move(r.safe(n.url,{before:p,after:n.title?" ":")",...u.current()}))),m(),n.title&&(m=r.enter(`title${f}`),p+=u.move(" "+s),p+=u.move(r.safe(n.title,{before:p,after:s,...u.current()})),p+=u.move(s),m()),p+=u.move(")"),g(),p}function Mx(n,a,r){return sg(n,r)?"<":"["}ug.peek=Rx;function ug(n,a,r,o){const s=n.referenceType,f=r.enter("linkReference");let u=r.enter("label");const g=r.createTracker(o);let m=g.move("[");const p=r.containerPhrasing(n,{before:m,after:"]",...g.current()});m+=g.move(p+"]["),u();const b=r.stack;r.stack=[],u=r.enter("reference");const h=r.safe(r.associationId(n),{before:m,after:"]",...g.current()});return u(),r.stack=b,f(),s==="full"||!p||p!==h?m+=g.move(h+"]"):s==="shortcut"?m=m.slice(0,-1):m+=g.move("]"),m}function Rx(){return"["}function Dc(n){const a=n.options.bullet||"*";if(a!=="*"&&a!=="+"&&a!=="-")throw new Error("Cannot serialize items with `"+a+"` for `options.bullet`, expected `*`, `+`, or `-`");return a}function Dx(n){const a=Dc(n),r=n.options.bulletOther;if(!r)return a==="*"?"-":"*";if(r!=="*"&&r!=="+"&&r!=="-")throw new Error("Cannot serialize items with `"+r+"` for `options.bulletOther`, expected `*`, `+`, or `-`");if(r===a)throw new Error("Expected `bullet` (`"+a+"`) and `bulletOther` (`"+r+"`) to be different");return r}function Lx(n){const a=n.options.bulletOrdered||".";if(a!=="."&&a!==")")throw new Error("Cannot serialize items with `"+a+"` for `options.bulletOrdered`, expected `.` or `)`");return a}function fg(n){const a=n.options.rule||"*";if(a!=="*"&&a!=="-"&&a!=="_")throw new Error("Cannot serialize rules with `"+a+"` for `options.rule`, expected `*`, `-`, or `_`");return a}function zx(n,a,r,o){const s=r.enter("list"),f=r.bulletCurrent;let u=n.ordered?Lx(r):Dc(r);const g=n.ordered?u==="."?")":".":Dx(r);let m=a&&r.bulletLastUsed?u===r.bulletLastUsed:!1;if(!n.ordered){const b=n.children?n.children[0]:void 0;if((u==="*"||u==="-")&&b&&(!b.children||!b.children[0])&&r.stack[r.stack.length-1]==="list"&&r.stack[r.stack.length-2]==="listItem"&&r.stack[r.stack.length-3]==="list"&&r.stack[r.stack.length-4]==="listItem"&&r.indexStack[r.indexStack.length-1]===0&&r.indexStack[r.indexStack.length-2]===0&&r.indexStack[r.indexStack.length-3]===0&&(m=!0),fg(r)===u&&b){let h=-1;for(;++h<n.children.length;){const v=n.children[h];if(v&&v.type==="listItem"&&v.children&&v.children[0]&&v.children[0].type==="thematicBreak"){m=!0;break}}}}m&&(u=g),r.bulletCurrent=u;const p=r.containerFlow(n,o);return r.bulletLastUsed=u,r.bulletCurrent=f,s(),p}function Ix(n){const a=n.options.listItemIndent||"one";if(a!=="tab"&&a!=="one"&&a!=="mixed")throw new Error("Cannot serialize items with `"+a+"` for `options.listItemIndent`, expected `tab`, `one`, or `mixed`");return a}function Bx(n,a,r,o){const s=Ix(r);let f=r.bulletCurrent||Dc(r);a&&a.type==="list"&&a.ordered&&(f=(typeof a.start=="number"&&a.start>-1?a.start:1)+(r.options.incrementListMarker===!1?0:a.children.indexOf(n))+f);let u=f.length+1;(s==="tab"||s==="mixed"&&(a&&a.type==="list"&&a.spread||n.spread))&&(u=Math.ceil(u/4)*4);const g=r.createTracker(o);g.move(f+" ".repeat(u-f.length)),g.shift(u);const m=r.enter("listItem"),p=r.indentLines(r.containerFlow(n,g.current()),b);return m(),p;function b(h,v,k){return v?(k?"":" ".repeat(u))+h:(k?f:f+" ".repeat(u-f.length))+h}}function Ux(n,a,r,o){const s=r.enter("paragraph"),f=r.enter("phrasing"),u=r.containerPhrasing(n,o);return f(),s(),u}const Hx=Wr(["break","delete","emphasis","footnote","footnoteReference","image","imageReference","inlineCode","inlineMath","link","linkReference","mdxJsxTextElement","mdxTextExpression","strong","text","textDirective"]);function qx(n,a,r,o){return(n.children.some(function(u){return Hx(u)})?r.containerPhrasing:r.containerFlow).call(r,n,o)}function Fx(n){const a=n.options.strong||"*";if(a!=="*"&&a!=="_")throw new Error("Cannot serialize strong with `"+a+"` for `options.strong`, expected `*`, or `_`");return a}dg.peek=Gx;function dg(n,a,r,o){const s=Fx(r),f=r.enter("strong"),u=r.createTracker(o),g=u.move(s+s);let m=u.move(r.containerPhrasing(n,{after:s,before:g,...u.current()}));const p=m.charCodeAt(0),b=ho(o.before.charCodeAt(o.before.length-1),p,s);b.inside&&(m=nl(p)+m.slice(1));const h=m.charCodeAt(m.length-1),v=ho(o.after.charCodeAt(0),h,s);v.inside&&(m=m.slice(0,-1)+nl(h));const k=u.move(s+s);return f(),r.attentionEncodeSurroundingInfo={after:v.outside,before:b.outside},g+m+k}function Gx(n,a,r){return r.options.strong||"*"}function jx(n,a,r,o){return r.safe(n.value,o)}function Yx(n){const a=n.options.ruleRepetition||3;if(a<3)throw new Error("Cannot serialize rules with repetition `"+a+"` for `options.ruleRepetition`, expected `3` or more");return a}function Px(n,a,r){const o=(fg(r)+(r.options.ruleSpaces?" ":"")).repeat(Yx(r));return r.options.ruleSpaces?o.slice(0,-1):o}const pg={blockquote:gx,break:ng,code:kx,definition:_x,emphasis:ig,hardBreak:ng,heading:Tx,html:ag,image:rg,imageReference:lg,inlineCode:og,link:cg,linkReference:ug,list:zx,listItem:Bx,paragraph:Ux,root:qx,strong:dg,text:jx,thematicBreak:Px};function Kx(){return{enter:{table:Vx,tableData:gg,tableHeader:gg,tableRow:Zx},exit:{codeText:Xx,table:$x,tableData:Lc,tableHeader:Lc,tableRow:Lc}}}function Vx(n){const a=n._align;this.enter({type:"table",align:a.map(function(r){return r==="none"?null:r}),children:[]},n),this.data.inTable=!0}function $x(n){this.exit(n),this.data.inTable=void 0}function Zx(n){this.enter({type:"tableRow",children:[]},n)}function Lc(n){this.exit(n)}function gg(n){this.enter({type:"tableCell",children:[]},n)}function Xx(n){let a=this.resume();this.data.inTable&&(a=a.replace(/\\([\\|])/g,Qx));const r=this.stack[this.stack.length-1];r.type,r.value=a,this.exit(n)}function Qx(n,a){return a==="|"?a:n}function Jx(n){const a=n||{},r=a.tableCellPadding,o=a.tablePipeAlign,s=a.stringLength,f=r?" ":"|";return{unsafe:[{character:"\r",inConstruct:"tableCell"},{character:`
|
|
42
42
|
`,inConstruct:"tableCell"},{atBreak:!0,character:"|",after:"[ :-]"},{character:"|",inConstruct:"tableCell"},{atBreak:!0,character:":",after:"-"},{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{inlineCode:v,table:u,tableCell:m,tableRow:g}};function u(k,x,C,M){return p(b(k,C,M),k.align)}function g(k,x,C,M){const w=h(k,C,M),q=p([w]);return q.slice(0,q.indexOf(`
|
|
43
|
-
`))}function m(k,x,C,M){const w=C.enter("tableCell"),q=C.enter("phrasing"),H=C.containerPhrasing(k,{...M,before:f,after:f});return q(),w(),H}function p(k,x){return dx(k,{align:x,alignDelimiters:o,padding:r,stringLength:s})}function b(k,x,C){const M=k.children;let w=-1;const q=[],H=x.enter("table");for(;++w<M.length;)q[w]=h(M[w],x,C);return H(),q}function h(k,x,C){const M=k.children;let w=-1;const q=[],H=x.enter("tableRow");for(;++w<M.length;)q[w]=m(M[w],k,x,C);return H(),q}function v(k,x,C){let M=pg.inlineCode(k,x,C);return C.stack.includes("tableCell")&&(M=M.replace(/\|/g,"\\$&")),M}}function Wx(){return{exit:{taskListCheckValueChecked:mg,taskListCheckValueUnchecked:mg,paragraph:tS}}}function eS(){return{unsafe:[{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{listItem:nS}}}function mg(n){const a=this.stack[this.stack.length-2];a.type,a.checked=n.type==="taskListCheckValueChecked"}function tS(n){const a=this.stack[this.stack.length-2];if(a&&a.type==="listItem"&&typeof a.checked=="boolean"){const r=this.stack[this.stack.length-1];r.type;const o=r.children[0];if(o&&o.type==="text"){const s=a.children;let f=-1,u;for(;++f<s.length;){const g=s[f];if(g.type==="paragraph"){u=g;break}}u===r&&(o.value=o.value.slice(1),o.value.length===0?r.children.shift():r.position&&o.position&&typeof o.position.start.offset=="number"&&(o.position.start.column++,o.position.start.offset++,r.position.start=Object.assign({},o.position.start)))}}this.exit(n)}function nS(n,a,r,o){const s=n.children[0],f=typeof n.checked=="boolean"&&s&&s.type==="paragraph",u="["+(n.checked?"x":" ")+"] ",g=r.createTracker(o);f&&g.move(u);let m=pg.listItem(n,a,r,{...o,...g.current()});return f&&(m=m.replace(/^(?:[*+-]|\d+\.)([\r\n]| {1,3})/,p)),m;function p(b){return b+u}}function iS(){return[z1(),nx(),lx(),Kx(),Wx()]}function aS(n){return{extensions:[I1(),ix(n),ox(),Jx(n),eS()]}}const rS={tokenize:fS,partial:!0},hg={tokenize:dS,partial:!0},bg={tokenize:pS,partial:!0},yg={tokenize:gS,partial:!0},lS={tokenize:mS,partial:!0},vg={name:"wwwAutolink",tokenize:cS,previous:Eg},kg={name:"protocolAutolink",tokenize:uS,previous:_g},Ti={name:"emailAutolink",tokenize:sS,previous:xg},mi={};function oS(){return{text:mi}}let Da=48;for(;Da<123;)mi[Da]=Ti,Da++,Da===58?Da=65:Da===91&&(Da=97);mi[43]=Ti,mi[45]=Ti,mi[46]=Ti,mi[95]=Ti,mi[72]=[Ti,kg],mi[104]=[Ti,kg],mi[87]=[Ti,vg],mi[119]=[Ti,vg];function sS(n,a,r){const o=this;let s,f;return u;function u(h){return!zc(h)||!xg.call(o,o.previous)||Ic(o.events)?r(h):(n.enter("literalAutolink"),n.enter("literalAutolinkEmail"),g(h))}function g(h){return zc(h)?(n.consume(h),g):h===64?(n.consume(h),m):r(h)}function m(h){return h===46?n.check(lS,b,p)(h):h===45||h===95||un(h)?(f=!0,n.consume(h),m):b(h)}function p(h){return n.consume(h),s=!0,m}function b(h){return f&&s&&bn(o.previous)?(n.exit("literalAutolinkEmail"),n.exit("literalAutolink"),a(h)):r(h)}}function cS(n,a,r){const o=this;return s;function s(u){return u!==87&&u!==119||!Eg.call(o,o.previous)||Ic(o.events)?r(u):(n.enter("literalAutolink"),n.enter("literalAutolinkWww"),n.check(rS,n.attempt(hg,n.attempt(bg,f),r),r)(u))}function f(u){return n.exit("literalAutolinkWww"),n.exit("literalAutolink"),a(u)}}function uS(n,a,r){const o=this;let s="",f=!1;return u;function u(h){return(h===72||h===104)&&_g.call(o,o.previous)&&!Ic(o.events)?(n.enter("literalAutolink"),n.enter("literalAutolinkHttp"),s+=String.fromCodePoint(h),n.consume(h),g):r(h)}function g(h){if(bn(h)&&s.length<5)return s+=String.fromCodePoint(h),n.consume(h),g;if(h===58){const v=s.toLowerCase();if(v==="http"||v==="https")return n.consume(h),m}return r(h)}function m(h){return h===47?(n.consume(h),f?p:(f=!0,m)):r(h)}function p(h){return h===null||Xl(h)||vt(h)||Oa(h)||Ql(h)?r(h):n.attempt(hg,n.attempt(bg,b),r)(h)}function b(h){return n.exit("literalAutolinkHttp"),n.exit("literalAutolink"),a(h)}}function fS(n,a,r){let o=0;return s;function s(u){return(u===87||u===119)&&o<3?(o++,n.consume(u),s):u===46&&o===3?(n.consume(u),f):r(u)}function f(u){return u===null?r(u):a(u)}}function dS(n,a,r){let o,s,f;return u;function u(p){return p===46||p===95?n.check(yg,m,g)(p):p===null||vt(p)||Oa(p)||p!==45&&Ql(p)?m(p):(f=!0,n.consume(p),u)}function g(p){return p===95?o=!0:(s=o,o=void 0),n.consume(p),u}function m(p){return s||o||!f?r(p):a(p)}}function pS(n,a){let r=0,o=0;return s;function s(u){return u===40?(r++,n.consume(u),s):u===41&&o<r?f(u):u===33||u===34||u===38||u===39||u===41||u===42||u===44||u===46||u===58||u===59||u===60||u===63||u===93||u===95||u===126?n.check(yg,a,f)(u):u===null||vt(u)||Oa(u)?a(u):(n.consume(u),s)}function f(u){return u===41&&o++,n.consume(u),s}}function gS(n,a,r){return o;function o(g){return g===33||g===34||g===39||g===41||g===42||g===44||g===46||g===58||g===59||g===63||g===95||g===126?(n.consume(g),o):g===38?(n.consume(g),f):g===93?(n.consume(g),s):g===60||g===null||vt(g)||Oa(g)?a(g):r(g)}function s(g){return g===null||g===40||g===91||vt(g)||Oa(g)?a(g):o(g)}function f(g){return bn(g)?u(g):r(g)}function u(g){return g===59?(n.consume(g),o):bn(g)?(n.consume(g),u):r(g)}}function mS(n,a,r){return o;function o(f){return n.consume(f),s}function s(f){return un(f)?r(f):a(f)}}function Eg(n){return n===null||n===40||n===42||n===95||n===91||n===93||n===126||vt(n)}function _g(n){return!bn(n)}function xg(n){return!(n===47||zc(n))}function zc(n){return n===43||n===45||n===46||n===95||un(n)}function Ic(n){let a=n.length,r=!1;for(;a--;){const o=n[a][1];if((o.type==="labelLink"||o.type==="labelImage")&&!o._balanced){r=!0;break}if(o._gfmAutolinkLiteralWalkedInto){r=!1;break}}return n.length>0&&!r&&(n[n.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),r}const hS={tokenize:SS,partial:!0};function bS(){return{document:{91:{name:"gfmFootnoteDefinition",tokenize:ES,continuation:{tokenize:_S},exit:xS}},text:{91:{name:"gfmFootnoteCall",tokenize:kS},93:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:yS,resolveTo:vS}}}}function yS(n,a,r){const o=this;let s=o.events.length;const f=o.parser.gfmFootnotes||(o.parser.gfmFootnotes=[]);let u;for(;s--;){const m=o.events[s][1];if(m.type==="labelImage"){u=m;break}if(m.type==="gfmFootnoteCall"||m.type==="labelLink"||m.type==="label"||m.type==="image"||m.type==="link")break}return g;function g(m){if(!u||!u._balanced)return r(m);const p=li(o.sliceSerialize({start:u.end,end:o.now()}));return p.codePointAt(0)!==94||!f.includes(p.slice(1))?r(m):(n.enter("gfmFootnoteCallLabelMarker"),n.consume(m),n.exit("gfmFootnoteCallLabelMarker"),a(m))}}function vS(n,a){let r=n.length;for(;r--;)if(n[r][1].type==="labelImage"&&n[r][0]==="enter"){n[r][1];break}n[r+1][1].type="data",n[r+3][1].type="gfmFootnoteCallLabelMarker";const o={type:"gfmFootnoteCall",start:Object.assign({},n[r+3][1].start),end:Object.assign({},n[n.length-1][1].end)},s={type:"gfmFootnoteCallMarker",start:Object.assign({},n[r+3][1].end),end:Object.assign({},n[r+3][1].end)};s.end.column++,s.end.offset++,s.end._bufferIndex++;const f={type:"gfmFootnoteCallString",start:Object.assign({},s.end),end:Object.assign({},n[n.length-1][1].start)},u={type:"chunkString",contentType:"string",start:Object.assign({},f.start),end:Object.assign({},f.end)},g=[n[r+1],n[r+2],["enter",o,a],n[r+3],n[r+4],["enter",s,a],["exit",s,a],["enter",f,a],["enter",u,a],["exit",u,a],["exit",f,a],n[n.length-2],n[n.length-1],["exit",o,a]];return n.splice(r,n.length-r+1,...g),n}function kS(n,a,r){const o=this,s=o.parser.gfmFootnotes||(o.parser.gfmFootnotes=[]);let f=0,u;return g;function g(h){return n.enter("gfmFootnoteCall"),n.enter("gfmFootnoteCallLabelMarker"),n.consume(h),n.exit("gfmFootnoteCallLabelMarker"),m}function m(h){return h!==94?r(h):(n.enter("gfmFootnoteCallMarker"),n.consume(h),n.exit("gfmFootnoteCallMarker"),n.enter("gfmFootnoteCallString"),n.enter("chunkString").contentType="string",p)}function p(h){if(f>999||h===93&&!u||h===null||h===91||vt(h))return r(h);if(h===93){n.exit("chunkString");const v=n.exit("gfmFootnoteCallString");return s.includes(li(o.sliceSerialize(v)))?(n.enter("gfmFootnoteCallLabelMarker"),n.consume(h),n.exit("gfmFootnoteCallLabelMarker"),n.exit("gfmFootnoteCall"),a):r(h)}return vt(h)||(u=!0),f++,n.consume(h),h===92?b:p}function b(h){return h===91||h===92||h===93?(n.consume(h),f++,p):p(h)}}function ES(n,a,r){const o=this,s=o.parser.gfmFootnotes||(o.parser.gfmFootnotes=[]);let f,u=0,g;return m;function m(x){return n.enter("gfmFootnoteDefinition")._container=!0,n.enter("gfmFootnoteDefinitionLabel"),n.enter("gfmFootnoteDefinitionLabelMarker"),n.consume(x),n.exit("gfmFootnoteDefinitionLabelMarker"),p}function p(x){return x===94?(n.enter("gfmFootnoteDefinitionMarker"),n.consume(x),n.exit("gfmFootnoteDefinitionMarker"),n.enter("gfmFootnoteDefinitionLabelString"),n.enter("chunkString").contentType="string",b):r(x)}function b(x){if(u>999||x===93&&!g||x===null||x===91||vt(x))return r(x);if(x===93){n.exit("chunkString");const C=n.exit("gfmFootnoteDefinitionLabelString");return f=li(o.sliceSerialize(C)),n.enter("gfmFootnoteDefinitionLabelMarker"),n.consume(x),n.exit("gfmFootnoteDefinitionLabelMarker"),n.exit("gfmFootnoteDefinitionLabel"),v}return vt(x)||(g=!0),u++,n.consume(x),x===92?h:b}function h(x){return x===91||x===92||x===93?(n.consume(x),u++,b):b(x)}function v(x){return x===58?(n.enter("definitionMarker"),n.consume(x),n.exit("definitionMarker"),s.includes(f)||s.push(f),tt(n,k,"gfmFootnoteDefinitionWhitespace")):r(x)}function k(x){return a(x)}}function _S(n,a,r){return n.check($r,a,n.attempt(hS,a,r))}function xS(n){n.exit("gfmFootnoteDefinition")}function SS(n,a,r){const o=this;return tt(n,s,"gfmFootnoteDefinitionIndent",5);function s(f){const u=o.events[o.events.length-1];return u&&u[1].type==="gfmFootnoteDefinitionIndent"&&u[2].sliceSerialize(u[1],!0).length===4?a(f):r(f)}}function wS(n){let r=(n||{}).singleTilde;const o={name:"strikethrough",tokenize:f,resolveAll:s};return r==null&&(r=!0),{text:{126:o},insideSpan:{null:[o]},attentionMarkers:{null:[126]}};function s(u,g){let m=-1;for(;++m<u.length;)if(u[m][0]==="enter"&&u[m][1].type==="strikethroughSequenceTemporary"&&u[m][1]._close){let p=m;for(;p--;)if(u[p][0]==="exit"&&u[p][1].type==="strikethroughSequenceTemporary"&&u[p][1]._open&&u[m][1].end.offset-u[m][1].start.offset===u[p][1].end.offset-u[p][1].start.offset){u[m][1].type="strikethroughSequence",u[p][1].type="strikethroughSequence";const b={type:"strikethrough",start:Object.assign({},u[p][1].start),end:Object.assign({},u[m][1].end)},h={type:"strikethroughText",start:Object.assign({},u[p][1].end),end:Object.assign({},u[m][1].start)},v=[["enter",b,g],["enter",u[p][1],g],["exit",u[p][1],g],["enter",h,g]],k=g.parser.constructs.insideSpan.null;k&&Ln(v,v.length,0,Jl(k,u.slice(p+1,m),g)),Ln(v,v.length,0,[["exit",h,g],["enter",u[m][1],g],["exit",u[m][1],g],["exit",b,g]]),Ln(u,p-1,m-p+3,v),m=p+v.length-2;break}}for(m=-1;++m<u.length;)u[m][1].type==="strikethroughSequenceTemporary"&&(u[m][1].type="data");return u}function f(u,g,m){const p=this.previous,b=this.events;let h=0;return v;function v(x){return p===126&&b[b.length-1][1].type!=="characterEscape"?m(x):(u.enter("strikethroughSequenceTemporary"),k(x))}function k(x){const C=nr(p);if(x===126)return h>1?m(x):(u.consume(x),h++,k);if(h<2&&!r)return m(x);const M=u.exit("strikethroughSequenceTemporary"),w=nr(x);return M._open=!w||w===2&&!!C,M._close=!C||C===2&&!!w,g(x)}}}class TS{constructor(){this.map=[]}add(a,r,o){AS(this,a,r,o)}consume(a){if(this.map.sort(function(f,u){return f[0]-u[0]}),this.map.length===0)return;let r=this.map.length;const o=[];for(;r>0;)r-=1,o.push(a.slice(this.map[r][0]+this.map[r][1]),this.map[r][2]),a.length=this.map[r][0];o.push(a.slice()),a.length=0;let s=o.pop();for(;s;){for(const f of s)a.push(f);s=o.pop()}this.map.length=0}}function AS(n,a,r,o){let s=0;if(!(r===0&&o.length===0)){for(;s<n.map.length;){if(n.map[s][0]===a){n.map[s][1]+=r,n.map[s][2].push(...o);return}s+=1}n.map.push([a,r,o])}}function NS(n,a){let r=!1;const o=[];for(;a<n.length;){const s=n[a];if(r){if(s[0]==="enter")s[1].type==="tableContent"&&o.push(n[a+1][1].type==="tableDelimiterMarker"?"left":"none");else if(s[1].type==="tableContent"){if(n[a-1][1].type==="tableDelimiterMarker"){const f=o.length-1;o[f]=o[f]==="left"?"center":"right"}}else if(s[1].type==="tableDelimiterRow")break}else s[0]==="enter"&&s[1].type==="tableDelimiterRow"&&(r=!0);a+=1}return o}function CS(){return{flow:{null:{name:"table",tokenize:OS,resolveAll:MS}}}}function OS(n,a,r){const o=this;let s=0,f=0,u;return g;function g(z){let se=o.events.length-1;for(;se>-1;){const oe=o.events[se][1].type;if(oe==="lineEnding"||oe==="linePrefix")se--;else break}const re=se>-1?o.events[se][1].type:null,_e=re==="tableHead"||re==="tableRow"?L:m;return _e===L&&o.parser.lazy[o.now().line]?r(z):_e(z)}function m(z){return n.enter("tableHead"),n.enter("tableRow"),p(z)}function p(z){return z===124||(u=!0,f+=1),b(z)}function b(z){return z===null?r(z):we(z)?f>1?(f=0,o.interrupt=!0,n.exit("tableRow"),n.enter("lineEnding"),n.consume(z),n.exit("lineEnding"),k):r(z):$e(z)?tt(n,b,"whitespace")(z):(f+=1,u&&(u=!1,s+=1),z===124?(n.enter("tableCellDivider"),n.consume(z),n.exit("tableCellDivider"),u=!0,b):(n.enter("data"),h(z)))}function h(z){return z===null||z===124||vt(z)?(n.exit("data"),b(z)):(n.consume(z),z===92?v:h)}function v(z){return z===92||z===124?(n.consume(z),h):h(z)}function k(z){return o.interrupt=!1,o.parser.lazy[o.now().line]?r(z):(n.enter("tableDelimiterRow"),u=!1,$e(z)?tt(n,x,"linePrefix",o.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(z):x(z))}function x(z){return z===45||z===58?M(z):z===124?(u=!0,n.enter("tableCellDivider"),n.consume(z),n.exit("tableCellDivider"),C):te(z)}function C(z){return $e(z)?tt(n,M,"whitespace")(z):M(z)}function M(z){return z===58?(f+=1,u=!0,n.enter("tableDelimiterMarker"),n.consume(z),n.exit("tableDelimiterMarker"),w):z===45?(f+=1,w(z)):z===null||we(z)?Q(z):te(z)}function w(z){return z===45?(n.enter("tableDelimiterFiller"),q(z)):te(z)}function q(z){return z===45?(n.consume(z),q):z===58?(u=!0,n.exit("tableDelimiterFiller"),n.enter("tableDelimiterMarker"),n.consume(z),n.exit("tableDelimiterMarker"),H):(n.exit("tableDelimiterFiller"),H(z))}function H(z){return $e(z)?tt(n,Q,"whitespace")(z):Q(z)}function Q(z){return z===124?x(z):z===null||we(z)?!u||s!==f?te(z):(n.exit("tableDelimiterRow"),n.exit("tableHead"),a(z)):te(z)}function te(z){return r(z)}function L(z){return n.enter("tableRow"),ce(z)}function ce(z){return z===124?(n.enter("tableCellDivider"),n.consume(z),n.exit("tableCellDivider"),ce):z===null||we(z)?(n.exit("tableRow"),a(z)):$e(z)?tt(n,ce,"whitespace")(z):(n.enter("data"),ee(z))}function ee(z){return z===null||z===124||vt(z)?(n.exit("data"),ce(z)):(n.consume(z),z===92?fe:ee)}function fe(z){return z===92||z===124?(n.consume(z),ee):ee(z)}}function MS(n,a){let r=-1,o=!0,s=0,f=[0,0,0,0],u=[0,0,0,0],g=!1,m=0,p,b,h;const v=new TS;for(;++r<n.length;){const k=n[r],x=k[1];k[0]==="enter"?x.type==="tableHead"?(g=!1,m!==0&&(Sg(v,a,m,p,b),b=void 0,m=0),p={type:"table",start:Object.assign({},x.start),end:Object.assign({},x.end)},v.add(r,0,[["enter",p,a]])):x.type==="tableRow"||x.type==="tableDelimiterRow"?(o=!0,h=void 0,f=[0,0,0,0],u=[0,r+1,0,0],g&&(g=!1,b={type:"tableBody",start:Object.assign({},x.start),end:Object.assign({},x.end)},v.add(r,0,[["enter",b,a]])),s=x.type==="tableDelimiterRow"?2:b?3:1):s&&(x.type==="data"||x.type==="tableDelimiterMarker"||x.type==="tableDelimiterFiller")?(o=!1,u[2]===0&&(f[1]!==0&&(u[0]=u[1],h=bo(v,a,f,s,void 0,h),f=[0,0,0,0]),u[2]=r)):x.type==="tableCellDivider"&&(o?o=!1:(f[1]!==0&&(u[0]=u[1],h=bo(v,a,f,s,void 0,h)),f=u,u=[f[1],r,0,0])):x.type==="tableHead"?(g=!0,m=r):x.type==="tableRow"||x.type==="tableDelimiterRow"?(m=r,f[1]!==0?(u[0]=u[1],h=bo(v,a,f,s,r,h)):u[1]!==0&&(h=bo(v,a,u,s,r,h)),s=0):s&&(x.type==="data"||x.type==="tableDelimiterMarker"||x.type==="tableDelimiterFiller")&&(u[3]=r)}for(m!==0&&Sg(v,a,m,p,b),v.consume(a.events),r=-1;++r<a.events.length;){const k=a.events[r];k[0]==="enter"&&k[1].type==="table"&&(k[1]._align=NS(a.events,r))}return n}function bo(n,a,r,o,s,f){const u=o===1?"tableHeader":o===2?"tableDelimiter":"tableData",g="tableContent";r[0]!==0&&(f.end=Object.assign({},rr(a.events,r[0])),n.add(r[0],0,[["exit",f,a]]));const m=rr(a.events,r[1]);if(f={type:u,start:Object.assign({},m),end:Object.assign({},m)},n.add(r[1],0,[["enter",f,a]]),r[2]!==0){const p=rr(a.events,r[2]),b=rr(a.events,r[3]),h={type:g,start:Object.assign({},p),end:Object.assign({},b)};if(n.add(r[2],0,[["enter",h,a]]),o!==2){const v=a.events[r[2]],k=a.events[r[3]];if(v[1].end=Object.assign({},k[1].end),v[1].type="chunkText",v[1].contentType="text",r[3]>r[2]+1){const x=r[2]+1,C=r[3]-r[2]-1;n.add(x,C,[])}}n.add(r[3]+1,0,[["exit",h,a]])}return s!==void 0&&(f.end=Object.assign({},rr(a.events,s)),n.add(s,0,[["exit",f,a]]),f=void 0),f}function Sg(n,a,r,o,s){const f=[],u=rr(a.events,r);s&&(s.end=Object.assign({},u),f.push(["exit",s,a])),o.end=Object.assign({},u),f.push(["exit",o,a]),n.add(r+1,0,f)}function rr(n,a){const r=n[a],o=r[0]==="enter"?"start":"end";return r[1][o]}const RS={name:"tasklistCheck",tokenize:LS};function DS(){return{text:{91:RS}}}function LS(n,a,r){const o=this;return s;function s(m){return o.previous!==null||!o._gfmTasklistFirstContentOfListItem?r(m):(n.enter("taskListCheck"),n.enter("taskListCheckMarker"),n.consume(m),n.exit("taskListCheckMarker"),f)}function f(m){return vt(m)?(n.enter("taskListCheckValueUnchecked"),n.consume(m),n.exit("taskListCheckValueUnchecked"),u):m===88||m===120?(n.enter("taskListCheckValueChecked"),n.consume(m),n.exit("taskListCheckValueChecked"),u):r(m)}function u(m){return m===93?(n.enter("taskListCheckMarker"),n.consume(m),n.exit("taskListCheckMarker"),n.exit("taskListCheck"),g):r(m)}function g(m){return we(m)?a(m):$e(m)?n.check({tokenize:zS},a,r)(m):r(m)}}function zS(n,a,r){return tt(n,o,"whitespace");function o(s){return s===null?r(s):a(s)}}function IS(n){return wd([oS(),bS(),wS(n),CS(),DS()])}const BS={};function US(n){const a=this,r=n||BS,o=a.data(),s=o.micromarkExtensions||(o.micromarkExtensions=[]),f=o.fromMarkdownExtensions||(o.fromMarkdownExtensions=[]),u=o.toMarkdownExtensions||(o.toMarkdownExtensions=[]);s.push(IS(r)),f.push(iS()),u.push(aS(r))}function HS(n){const a=new RegExp(`(?<!]\\(|]\\(<|href=["']|src=["'])(https?:\\/\\/[^\\s<>"')]+)(?![^[]*\\]\\))`,"g");return n.replace(a,r=>{const o=r.replace(/[.,;:!?]+$/g,""),s=r.slice(o.length);return`[${o}](${o})${s}`})}function qS(n){return n.replace(/\[source\s+(\d+)\]/gi,(a,r)=>`[\`${r}\`](#source-${r})`)}function FS(n){const a=HS(n);return qS(a)}const GS=me.memo(function({content:a}){return D.jsx(IE,{rehypePlugins:[N1],remarkPlugins:[US],children:FS(a)})});function jS(n){return n.variants?.find(a=>a.available)||n.variants?.[0]}function wg(n,a,r){if(!n)return"";const o=Number(n);if(!Number.isFinite(o))return n;try{return new Intl.NumberFormat(r,{style:a?"currency":"decimal",currency:a||void 0,maximumFractionDigits:2}).format(o)}catch{return`${o.toFixed(2)}${a?` ${a}`:""}`}}function YS({product:n,copy:a,locale:r,layout:o="vertical",onProductClick:s}){const f=jS(n),u=!!f?.available&&n.available!=="false",g=wg(f?.price,f?.currency,r),m=wg(f?.compare_at_price||void 0,f?.currency,r);return D.jsxs("article",{className:`akilio-product-card akilio-product-card--${o}`,role:"listitem",children:[D.jsxs("div",{className:"akilio-product-media",children:[n.image_url?D.jsx("img",{src:n.image_url,alt:"",loading:"lazy",decoding:"async"}):D.jsx("div",{className:"akilio-product-placeholder","aria-hidden":"true",children:"A"}),D.jsx("span",{className:u?"akilio-stock akilio-stock--available":"akilio-stock",children:u?a.inStock:a.outOfStock})]}),D.jsxs("div",{className:"akilio-product-body",children:[n.vendor&&D.jsx("span",{className:"akilio-product-vendor",children:n.vendor}),D.jsx("h4",{children:n.title}),f?.title&&f.title!==n.title&&D.jsx("span",{className:"akilio-product-variant",children:f.title}),D.jsxs("div",{className:"akilio-product-price",children:[g?D.jsx("strong",{children:g}):D.jsx("strong",{children:a.unavailable}),m&&m!==g&&D.jsx("del",{children:m})]}),n.url?D.jsx("a",{className:"akilio-product-action",href:n.url,target:"_blank",rel:"noopener noreferrer",onClick:()=>s?.(n,f),children:a.viewProduct}):D.jsx("button",{type:"button",className:"akilio-product-action",disabled:!u,onClick:()=>s?.(n,f),children:a.viewProduct})]})]},n.id)}const PS=me.memo(function({commerce:a,copy:r,locale:o,onProductClick:s}){const f=me.useMemo(()=>Array.isArray(a.products)?a.products.filter(g=>g?.id&&g?.title):[],[a.products]);if(!f.length)return null;const u=f.length>3?"vertical":"horizontal";return D.jsxs("section",{className:"akilio-products","aria-label":r.products,children:[D.jsxs("div",{className:"akilio-products-heading",children:[D.jsx("strong",{children:r.products}),D.jsx("span",{children:f.length})]}),D.jsx("div",{className:`akilio-products-grid akilio-products-grid--${u}`,role:"list",children:f.map(g=>D.jsx(YS,{product:g,copy:r,locale:o,layout:u,onProductClick:s}))})]})});function KS(n){return Array.isArray(n)?n.filter(a=>a?.title||a?.url):[]}const Tg=me.memo(function({message:a,copy:r,locale:o,onFeedback:s,onProductClick:f,onSuggestion:u,primaryColor:g}){const m=a.role==="user",p=KS(a.sources);return D.jsx("div",{className:Aa("akilio-message-row",m?"akilio-message-row--user":"akilio-message-row--assistant"),children:D.jsxs("div",{className:Aa("akilio-bubble",m&&"akilio-bubble--user",a.error&&"akilio-bubble--error"),children:[!m&&!a.error&&D.jsxs("div",{className:"akilio-bubble-meta",children:[D.jsx(Us,{style:{width:"20px",height:"20px"},primaryColor:g}),D.jsx("span",{children:r.title})]}),D.jsx("div",{className:Aa("akilio-answer",m&&"akilio-answer--user"),children:m?D.jsx("p",{children:a.content}):D.jsx(GS,{content:a.content})}),!m&&a.commerce?.products?.length?D.jsx(PS,{commerce:a.commerce,copy:r,locale:o,onProductClick:(b,h)=>f?.(a,b,h)}):null,!m&&!a.error&&a.suggestions?.length?D.jsx("div",{className:"akilio-response-suggestions","aria-label":"Suggested follow-up questions",children:a.suggestions.map(b=>D.jsx("button",{type:"button",onClick:()=>u?.(b),children:b},b))}):null,!m&&p.length>0&&D.jsxs("details",{className:"akilio-sources",children:[D.jsxs("summary",{children:[r.sources," · ",p.length]}),D.jsx("div",{className:"akilio-sources-list",children:p.map((b,h)=>D.jsxs("div",{className:"akilio-source-card",children:[D.jsx("strong",{children:b.title||"Untitled source"}),typeof b.section_path=="string"&&D.jsx("span",{children:b.section_path}),b.url&&D.jsx("a",{href:b.url,target:"_blank",rel:"noreferrer",children:b.url})]},`${b.url||b.title}-${h}`))})]}),!m&&!a.error&&a.backendMessageId&&D.jsxs("div",{className:"akilio-feedback",children:[D.jsx("span",{children:a.feedback?r.feedbackThanks:r.feedbackQuestion}),D.jsx("button",{type:"button",className:Aa(a.feedback==="up"&&"akilio-feedback-active"),onClick:()=>s?.(a,"up"),"aria-label":r.voteUp,children:D.jsx(Cy,{})}),D.jsx("button",{type:"button",className:Aa(a.feedback==="down"&&"akilio-feedback-active"),onClick:()=>s?.(a,"down"),"aria-label":r.voteDown,children:D.jsx(Oy,{})})]})]})})}),VS=me.memo(function({messages:a,copy:r,locale:o,onFeedback:s,onProductClick:f,onSuggestion:u,primaryColor:g}){return D.jsx(D.Fragment,{children:a.map(m=>D.jsx(Tg,{message:m,copy:r,locale:o,onFeedback:s,onProductClick:f,onSuggestion:u,primaryColor:g},m.id))})});function $S({copy:n,label:a,primaryColor:r}){return D.jsxs("div",{className:"akilio-message-row akilio-message-row--assistant akilio-stream-activity",role:"status","aria-live":"polite","aria-atomic":"true",children:[D.jsx("span",{className:"akilio-stream-activity-icon","aria-hidden":"true",children:D.jsx(Us,{style:{width:"20px",height:"20px"},primaryColor:r})}),D.jsxs("div",{className:"akilio-stream-activity-content",children:[D.jsx("span",{className:"akilio-stream-activity-label",children:a||n.loading},a),D.jsx("span",{className:"akilio-stream-activity-pulse","aria-hidden":"true"})]})]})}const ZS=me.forwardRef(function(a,r){const{open:o,isDesktop:s,inline:f,colorMode:u,allowColorModeToggle:g,widgetAvailable:m,showBranding:p,showPoweredBy:b,copy:h,locale:v,messages:k,streamingMessage:x,loading:C,loadingLabel:M,consentDecision:w,consentGranted:q,requireConsent:H,privacyNotice:Q,privacyNoticeUrl:te,onConsentDecision:L,onClose:ce,onToggleColorMode:ee,onClear:fe,onSubmit:z,onDraftChange:se,onFeedback:re,onProductClick:_e,onSuggestion:oe,primaryColor:X}=a,Y=me.useRef(null),G=me.useRef(null);return me.useImperativeHandle(r,()=>({getDraft:()=>G.current?.getDraft()||"",setDraft:(K,ve)=>G.current?.setDraft(K,ve),clearDraft:()=>G.current?.clearDraft(),focusDraft:()=>G.current?.focus(),submitDraft:()=>G.current?G.current.submit():Promise.reject(new Error("NOT_READY"))}),[]),me.useEffect(()=>{o&&Y.current?.scrollTo({top:Y.current.scrollHeight,behavior:k.length>1?"auto":"smooth"})},[k.length,x?.content,C,o]),D.jsxs("aside",{className:Aa("akilio-panel",s&&"akilio-panel--desktop",f&&"akilio-panel--inline",o&&"akilio-panel--open"),"aria-hidden":!o,"aria-label":h.title,children:[D.jsx("div",{className:"akilio-panel-glow"}),D.jsxs("header",{className:"akilio-panel-header",children:[p&&D.jsx("div",{className:"akilio-logo",children:D.jsx(Zl,{variant:"mark",style:{width:40,height:40},primaryColor:X})}),D.jsxs("div",{className:"akilio-header-content",children:[D.jsxs("div",{className:"akilio-header-topline",children:[D.jsx("div",{className:"akilio-header-title",children:D.jsx("h2",{children:h.title})}),D.jsxs("div",{className:"akilio-header-actions",children:[g&&D.jsx("button",{type:"button",onClick:ee,title:u==="dark"?h.switchToLightMode:h.switchToDarkMode,"aria-label":u==="dark"?h.switchToLightMode:h.switchToDarkMode,children:u==="dark"?D.jsx(My,{}):D.jsx(Ry,{})}),D.jsx("button",{type:"button",onClick:fe,title:h.clearHistory,"aria-label":h.clearHistory,children:D.jsx(Ny,{})}),!f&&D.jsx("button",{type:"button",onClick:ce,title:h.close,"aria-label":h.close,children:D.jsx(Ay,{})})]})]}),D.jsx("p",{className:"akilio-header-description",children:h.description})]})]}),D.jsxs("div",{ref:Y,className:"akilio-thread","aria-live":"polite","aria-relevant":"additions",children:[k.length===0&&!C?D.jsx(Ly,{copy:h,onSuggestion:z,widgetAvailable:m,showBranding:p,primaryColor:X}):D.jsx(VS,{messages:k,copy:h,locale:v,onFeedback:re,onProductClick:_e,onSuggestion:oe,primaryColor:X}),x&&D.jsx(Tg,{message:x,copy:h,locale:v,onFeedback:re,onProductClick:_e,onSuggestion:oe,primaryColor:X}),C&&!x&&D.jsx($S,{copy:h,label:M,primaryColor:X})]}),(Q||H)&&w==="pending"&&D.jsxs("section",{className:"akilio-privacy","aria-label":h.privacyTitle,children:[D.jsxs("div",{children:[D.jsx("strong",{children:h.privacyTitle}),D.jsxs("p",{children:[Q||h.privacyDefaultNotice," ",te&&D.jsx("a",{href:te,target:"_blank",rel:"noreferrer",children:h.privacyTitle})]}),H&&D.jsx("p",{className:"akilio-privacy-consent-copy",children:h.privacyAccept})]}),D.jsxs("div",{className:"akilio-privacy-actions",children:[D.jsx("button",{type:"button",className:"akilio-privacy-decline",onClick:()=>L("rejected"),children:h.privacyDecline}),D.jsx("button",{type:"button",className:"akilio-privacy-accept",onClick:()=>L("accepted"),children:h.privacyAcceptAction})]})]}),D.jsx(Dy,{ref:G,loading:C,disabled:!m||H&&!q,disabledMessage:m?h.privacyRequired:h.widgetUnavailable,showPoweredBy:b,copy:h,onSubmit:z,onDraftChange:se,onReviewConsent:H&&w==="rejected"?()=>L("pending"):void 0})]})});function XS({label:n,onClick:a,showBranding:r=!0,primaryColor:o}){return D.jsxs("button",{id:"akilio-launcher",type:"button",className:"akilio-launcher",onClick:a,children:[D.jsx("span",{children:r?D.jsx(Zl,{variant:"mark",className:"akilio-launcher-logo",primaryColor:o}):D.jsx(Hs,{className:"akilio-launcher-logo"})}),D.jsx("strong",{children:n})]})}function QS({title:n,message:a,actionLabel:r,dismissLabel:o,onDismiss:s,onOpen:f,primaryColor:u,showBranding:g}){return D.jsxs("section",{className:"akilio-coachmark",role:"status","aria-live":"polite","aria-label":n,children:[D.jsx("button",{type:"button",className:"akilio-coachmark-close",onClick:s,"aria-label":o,children:D.jsx("span",{"aria-hidden":"true",children:"×"})}),D.jsx("div",{className:"akilio-coachmark-icon","aria-hidden":"true",children:g?D.jsx(Zl,{variant:"mark",primaryColor:u}):D.jsx(Hs,{})}),D.jsxs("div",{className:"akilio-coachmark-content",children:[D.jsx("strong",{children:n}),D.jsx("p",{children:a}),D.jsx("button",{type:"button",className:"akilio-coachmark-action",onClick:f,children:r})]})]})}const JS="(min-width: 1280px)";function WS(n=JS){const[a,r]=me.useState(!1);return me.useEffect(()=>{if(typeof window>"u")return;const o=window.matchMedia(n),s=()=>r(o.matches);return s(),o.addEventListener?.("change",s),()=>o.removeEventListener?.("change",s)},[n]),a}const lr=60;function Ag(n,a){if(!n)return a;try{return JSON.parse(n)}catch{return a}}function ew(n){const a=me.useMemo(()=>`akilio:${n.projectKey}:${n.locale||"default"}:messages:v1`,[n.projectKey,n.locale]),[r,o]=me.useState([]),[s,f]=me.useState(!1);return me.useEffect(()=>{if(!n.enabled||typeof window>"u"){f(!0);return}const u=Ag(window.localStorage.getItem(a),[]);o(Array.isArray(u)?u.slice(-lr):[]),f(!0)},[n.enabled,a]),me.useEffect(()=>{!n.enabled||!s||typeof window>"u"||window.localStorage.setItem(a,JSON.stringify(r.slice(-lr)))},[r,n.enabled,a,s]),[r,o,a]}function or(n){const[a,r]=me.useState(n.initialValue||""),[o,s]=me.useState(!1);return me.useEffect(()=>{if(!n.enabled||typeof window>"u"){s(!0);return}r(window.localStorage.getItem(n.key)||n.initialValue||""),s(!0)},[n.enabled,n.initialValue,n.key]),me.useEffect(()=>{!n.enabled||!o||typeof window>"u"||(a?window.localStorage.setItem(n.key,a):window.localStorage.removeItem(n.key))},[n.enabled,o,n.key,a]),[a,r]}const tw={version:"0.6.5"};function hi(n){const a=n.toLowerCase();return Array.from(document.scripts).some(r=>(r.src||"").toLowerCase().includes(a))}function nw(n){const a=n.toLowerCase();return Array.from(document.querySelectorAll("link[href]")).some(r=>r.href.toLowerCase().includes(a))}function iw(n,a){return Array.from(document.querySelectorAll(`meta[${n}]`)).some(r=>r.getAttribute(n)===a)}function aw(n){const a=n.toLowerCase();return Array.from(document.body?.classList??[]).some(r=>r.toLowerCase().includes(a))}function rw(){const n=window.location.hostname.toLowerCase(),a=document.documentElement.innerHTML.toLowerCase(),r=[];if(window.Shopify&&r.push("window.Shopify"),hi("cdn.shopify.com")&&r.push("cdn.shopify.com script"),a.includes("shopify-section")&&r.push("shopify-section markup"),n.endsWith(".myshopify.com")&&r.push("myshopify.com hostname"),r.length>=2)return{integration:"shopify",confidence:"high",signals:r};if(r.length===1)return{integration:"shopify",confidence:"medium",signals:r};const o=[];if(window.wcSettings&&o.push("window.wcSettings"),hi("woocommerce")&&o.push("WooCommerce script"),aw("woocommerce")&&o.push("WooCommerce body class"),(a.includes("woocommerce-cart")||a.includes("woocommerce-checkout")||a.includes("wc-block-"))&&o.push("WooCommerce markup"),o.length>=2)return{integration:"woocommerce",confidence:"high",signals:o};if(o.length===1)return{integration:"woocommerce",confidence:"medium",signals:o};const s=[];if(nw("/wp-json/")&&s.push("WordPress REST API link"),(hi("/wp-content/")||hi("/wp-includes/"))&&s.push("WordPress asset path"),(a.includes("/wp-content/")||a.includes("/wp-includes/"))&&s.push("WordPress HTML asset path"),iw("name","generator")&&document.querySelector('meta[name="generator"]')?.content.toLowerCase()?.includes("wordpress")&&s.push("WordPress generator metadata"),s.length>=2)return{integration:"wordpress",confidence:"high",signals:s};if(s.length===1)return{integration:"wordpress",confidence:"medium",signals:s};const f=[];if((window.prestashop||window.PrestaShop)&&f.push("PrestaShop global"),hi("/modules/")&&a.includes("prestashop")&&f.push("PrestaShop module assets"),document.querySelector('meta[name="generator"]')?.content.toLowerCase()?.includes("prestashop")&&f.push("PrestaShop generator metadata"),f.length>=2)return{integration:"prestashop",confidence:"high",signals:f};if(f.length===1)return{integration:"prestashop",confidence:"medium",signals:f};const g=[];return window.requirejs&&hi("mage/")&&g.push("Magento RequireJS modules"),(hi("/static/frontend/")||a.includes("mage-init"))&&g.push("Magento frontend assets"),a.includes("data-mage-init")&&g.push("data-mage-init"),g.length>=2?{integration:"magento",confidence:"high",signals:g}:g.length===1?{integration:"magento",confidence:"medium",signals:g}:a.includes("wixstatic.com")||hi("wixstatic.com")?{integration:"wix",confidence:"high",signals:["Wix static assets"]}:document.documentElement.hasAttribute("data-wf-page")||hi("webflow")?{integration:"webflow",confidence:"high",signals:["Webflow page attributes or assets"]}:hi("static1.squarespace.com")||a.includes("squarespace")?{integration:"squarespace",confidence:"medium",signals:["Squarespace assets"]}:window.__NEXT_DATA__||document.getElementById("__next")?{integration:"nextjs",confidence:"high",signals:["Next.js runtime markers"]}:document.querySelector("[ng-version]")||window.angular?{integration:"angular",confidence:"high",signals:["Angular runtime markers"]}:window.__NUXT__||document.getElementById("__nuxt")?{integration:"vue",confidence:"medium",signals:["Nuxt/Vue runtime markers"]}:window.Vue?{integration:"vue",confidence:"medium",signals:["Vue global"]}:document.getElementById("root")||document.querySelector("[data-reactroot]")?{integration:"react",confidence:"low",signals:["Possible React root element"]}:{integration:"unknown",confidence:"low",signals:[]}}class Bc extends Error{status;payload;constructor(a,r,o){super(a),this.name="AkilioHttpError",this.status=r,this.payload=o}}function Ng(n,a){return`${n.replace(/\/$/,"")}${a.startsWith("/")?a:`/${a}`}`}async function Cg(n){const a=await n.text();let r={};try{r=a?JSON.parse(a):{}}catch{r={detail:a}}if(!n.ok){const o=r?.detail||r?.error||r?.message||`Request failed with status ${n.status}`;throw new Bc(o,n.status,r)}return r}function Uc(n,a,r){const o=`${n.replace(/\/$/,"")}|${a}|${r||"anonymous"}`;let s=2166136261;for(let f=0;f<o.length;f+=1)s^=o.charCodeAt(f),s=Math.imul(s,16777619);return`akilio:widget-token:v1:${(s>>>0).toString(16)}`}function lw(n){if(typeof window>"u")return null;try{const a=window.sessionStorage.getItem(n);return a?JSON.parse(a):null}catch{return null}}function Og(n,a){if(!(typeof window>"u"))try{a?window.sessionStorage.setItem(n,JSON.stringify(a)):window.sessionStorage.removeItem(n)}catch{}}class ow{apiBaseUrl;fetchImpl;auth;widgetToken=null;widgetTokenPromise=null;widgetTokenPromiseKey=null;mode;locale;constructor(a){this.apiBaseUrl=a.apiBaseUrl;const r=a.fetchImpl||globalThis.fetch;if(!r)throw new Error("Fetch API is not available in this environment");this.fetchImpl=r.bind(globalThis),this.auth=a.auth,this.mode=a.mode,this.locale=a.locale}hasHostManagedToken(){return!!(this.auth?.getAccessToken||this.auth?.accessToken)}async hostManagedToken(){return(this.auth?.getAccessToken?await this.auth.getAccessToken():this.auth?.accessToken)||null}tokenIsUsable(a,r,o){const s=Math.max(0,this.auth?.tokenRefreshLeewaySeconds??30);return a.projectKey===r&&a.subject===o&&a.expiresAt>Date.now()+s*1e3}clearWidgetToken(a,r){this.widgetToken=null,Og(Uc(this.apiBaseUrl,a,r),null)}async issueWidgetToken(a,r){const o=await this.publicRequest(`/api/v1/projects/${encodeURIComponent(a)}/widget-token/`,{method:"POST",body:JSON.stringify(r?{subject:r}:{})}),s=Math.max(1,Number(o.expires_in)||1),f={token:o.token,tokenType:o.token_type||"Bearer",expiresAt:Date.now()+s*1e3,projectKey:a,subject:r};return this.widgetToken=f,Og(Uc(this.apiBaseUrl,a,r),f),this.auth?.onWidgetToken?.({token:f.token,tokenType:f.tokenType,expiresAt:f.expiresAt}),f}async ensureWidgetToken(a,r,o=!1){if(!o&&this.widgetToken&&this.tokenIsUsable(this.widgetToken,a,r))return this.widgetToken;const s=Uc(this.apiBaseUrl,a,r);if(!o){const u=lw(s);if(u&&this.tokenIsUsable(u,a,r))return this.widgetToken=u,u}o&&this.clearWidgetToken(a,r);const f=`${a}|${r||""}`;return(!this.widgetTokenPromise||this.widgetTokenPromiseKey!==f)&&(this.widgetTokenPromiseKey=f,this.widgetTokenPromise=this.issueWidgetToken(a,r).finally(()=>{this.widgetTokenPromiseKey===f&&(this.widgetTokenPromise=null,this.widgetTokenPromiseKey=null)})),this.widgetTokenPromise}async baseHeaders(a=!1){const r={Accept:"application/json",...this.auth?.headers||{}};return a&&(r["Content-Type"]="application/json"),this.auth?.apiKey&&(r[this.auth.apiKeyHeader||"X-Akilio-Key"]=this.auth.apiKey),r}async execute(a,r,o){const s=await this.fetchImpl(Ng(this.apiBaseUrl,a),{...r,credentials:this.auth?.credentials||"omit",headers:{...o,...r.headers||{}}});return Cg(s)}async publicRequest(a,r={}){return this.execute(a,r,await this.baseHeaders(!!r.body))}async authenticatedRequest(a,r,o,s={}){const f=await this.baseHeaders(!!s.body),u=await this.hostManagedToken();if(u)return f.Authorization=`${this.auth?.tokenScheme||"Bearer"} ${u}`,this.execute(o,s,f);if(this.auth?.autoIssueWidgetToken===!1)throw new Error("No widget authentication token is available");let g=await this.ensureWidgetToken(a,r);f.Authorization=`${g.tokenType} ${g.token}`;try{return await this.execute(o,s,f)}catch(m){if(!(m instanceof Bc)||m.status!==401)throw m;return g=await this.ensureWidgetToken(a,r,!0),f.Authorization=`${g.tokenType} ${g.token}`,this.execute(o,s,f)}}async authenticatedResponse(a,r,o,s={}){const f=await this.baseHeaders(!!s.body);f.Accept="text/event-stream";const u=await this.hostManagedToken();if(u)f.Authorization=`${this.auth?.tokenScheme||"Bearer"} ${u}`;else{if(this.auth?.autoIssueWidgetToken===!1)throw new Error("No widget authentication token is available");const p=await this.ensureWidgetToken(a,r);f.Authorization=`${p.tokenType} ${p.token}`}const g=()=>this.fetchImpl(Ng(this.apiBaseUrl,o),{...s,credentials:this.auth?.credentials||"omit",headers:{...f,...s.headers||{}}});let m=await g();if(m.status===401&&!u){await m.body?.cancel().catch(()=>{});const p=await this.ensureWidgetToken(a,r,!0);f.Authorization=`${p.tokenType} ${p.token}`,m=await g()}return m.ok||await Cg(m),m}getProjectConfig(a){const r=rw();return this.publicRequest(`/api/v1/projects/${encodeURIComponent(a)}/config/`,{method:"POST",body:JSON.stringify({widget:{version:tw.version,mode:this.mode,locale:this.locale,integration:r},browser:{screen_width:window.innerWidth,viewport_width:window.innerWidth,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,referrer:document.referrer||void 0}})})}async prepareWidgetToken(a,r){this.hasHostManagedToken()||this.auth?.autoIssueWidgetToken===!1||await this.ensureWidgetToken(a,r)}sendMessage(a,r,o){return this.authenticatedRequest(a,r,"/api/v1/chat/",{method:"POST",body:JSON.stringify(o)})}async sendMessageStream(a,r,o,s={},f){let u;try{u=await this.authenticatedResponse(a,r,"/api/v1/chat/stream/",{method:"POST",body:JSON.stringify(o),signal:f})}catch(v){if(v instanceof Bc&&[404,405,406,415,501].includes(v.status))return this.sendMessage(a,r,o);throw v}if(!u.body)throw new Error("Streaming response body is unavailable");const g=u.body.getReader(),m=new TextDecoder;let p="",b=null;const h=v=>{let k="message";const x=[];for(const M of v.split(/\r?\n/))!M||M.startsWith(":")||(M.startsWith("event:")&&(k=M.slice(6).trim()),M.startsWith("data:")&&x.push(M.slice(5).trimStart()));if(!x.length)return;let C;try{const M=JSON.parse(x.join(`
|
|
43
|
+
`))}function m(k,x,C,M){const w=C.enter("tableCell"),q=C.enter("phrasing"),H=C.containerPhrasing(k,{...M,before:f,after:f});return q(),w(),H}function p(k,x){return dx(k,{align:x,alignDelimiters:o,padding:r,stringLength:s})}function b(k,x,C){const M=k.children;let w=-1;const q=[],H=x.enter("table");for(;++w<M.length;)q[w]=h(M[w],x,C);return H(),q}function h(k,x,C){const M=k.children;let w=-1;const q=[],H=x.enter("tableRow");for(;++w<M.length;)q[w]=m(M[w],k,x,C);return H(),q}function v(k,x,C){let M=pg.inlineCode(k,x,C);return C.stack.includes("tableCell")&&(M=M.replace(/\|/g,"\\$&")),M}}function Wx(){return{exit:{taskListCheckValueChecked:mg,taskListCheckValueUnchecked:mg,paragraph:tS}}}function eS(){return{unsafe:[{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{listItem:nS}}}function mg(n){const a=this.stack[this.stack.length-2];a.type,a.checked=n.type==="taskListCheckValueChecked"}function tS(n){const a=this.stack[this.stack.length-2];if(a&&a.type==="listItem"&&typeof a.checked=="boolean"){const r=this.stack[this.stack.length-1];r.type;const o=r.children[0];if(o&&o.type==="text"){const s=a.children;let f=-1,u;for(;++f<s.length;){const g=s[f];if(g.type==="paragraph"){u=g;break}}u===r&&(o.value=o.value.slice(1),o.value.length===0?r.children.shift():r.position&&o.position&&typeof o.position.start.offset=="number"&&(o.position.start.column++,o.position.start.offset++,r.position.start=Object.assign({},o.position.start)))}}this.exit(n)}function nS(n,a,r,o){const s=n.children[0],f=typeof n.checked=="boolean"&&s&&s.type==="paragraph",u="["+(n.checked?"x":" ")+"] ",g=r.createTracker(o);f&&g.move(u);let m=pg.listItem(n,a,r,{...o,...g.current()});return f&&(m=m.replace(/^(?:[*+-]|\d+\.)([\r\n]| {1,3})/,p)),m;function p(b){return b+u}}function iS(){return[z1(),nx(),lx(),Kx(),Wx()]}function aS(n){return{extensions:[I1(),ix(n),ox(),Jx(n),eS()]}}const rS={tokenize:fS,partial:!0},hg={tokenize:dS,partial:!0},bg={tokenize:pS,partial:!0},yg={tokenize:gS,partial:!0},lS={tokenize:mS,partial:!0},vg={name:"wwwAutolink",tokenize:cS,previous:Eg},kg={name:"protocolAutolink",tokenize:uS,previous:_g},Ti={name:"emailAutolink",tokenize:sS,previous:xg},mi={};function oS(){return{text:mi}}let Da=48;for(;Da<123;)mi[Da]=Ti,Da++,Da===58?Da=65:Da===91&&(Da=97);mi[43]=Ti,mi[45]=Ti,mi[46]=Ti,mi[95]=Ti,mi[72]=[Ti,kg],mi[104]=[Ti,kg],mi[87]=[Ti,vg],mi[119]=[Ti,vg];function sS(n,a,r){const o=this;let s,f;return u;function u(h){return!zc(h)||!xg.call(o,o.previous)||Ic(o.events)?r(h):(n.enter("literalAutolink"),n.enter("literalAutolinkEmail"),g(h))}function g(h){return zc(h)?(n.consume(h),g):h===64?(n.consume(h),m):r(h)}function m(h){return h===46?n.check(lS,b,p)(h):h===45||h===95||un(h)?(f=!0,n.consume(h),m):b(h)}function p(h){return n.consume(h),s=!0,m}function b(h){return f&&s&&bn(o.previous)?(n.exit("literalAutolinkEmail"),n.exit("literalAutolink"),a(h)):r(h)}}function cS(n,a,r){const o=this;return s;function s(u){return u!==87&&u!==119||!Eg.call(o,o.previous)||Ic(o.events)?r(u):(n.enter("literalAutolink"),n.enter("literalAutolinkWww"),n.check(rS,n.attempt(hg,n.attempt(bg,f),r),r)(u))}function f(u){return n.exit("literalAutolinkWww"),n.exit("literalAutolink"),a(u)}}function uS(n,a,r){const o=this;let s="",f=!1;return u;function u(h){return(h===72||h===104)&&_g.call(o,o.previous)&&!Ic(o.events)?(n.enter("literalAutolink"),n.enter("literalAutolinkHttp"),s+=String.fromCodePoint(h),n.consume(h),g):r(h)}function g(h){if(bn(h)&&s.length<5)return s+=String.fromCodePoint(h),n.consume(h),g;if(h===58){const v=s.toLowerCase();if(v==="http"||v==="https")return n.consume(h),m}return r(h)}function m(h){return h===47?(n.consume(h),f?p:(f=!0,m)):r(h)}function p(h){return h===null||Xl(h)||vt(h)||Oa(h)||Ql(h)?r(h):n.attempt(hg,n.attempt(bg,b),r)(h)}function b(h){return n.exit("literalAutolinkHttp"),n.exit("literalAutolink"),a(h)}}function fS(n,a,r){let o=0;return s;function s(u){return(u===87||u===119)&&o<3?(o++,n.consume(u),s):u===46&&o===3?(n.consume(u),f):r(u)}function f(u){return u===null?r(u):a(u)}}function dS(n,a,r){let o,s,f;return u;function u(p){return p===46||p===95?n.check(yg,m,g)(p):p===null||vt(p)||Oa(p)||p!==45&&Ql(p)?m(p):(f=!0,n.consume(p),u)}function g(p){return p===95?o=!0:(s=o,o=void 0),n.consume(p),u}function m(p){return s||o||!f?r(p):a(p)}}function pS(n,a){let r=0,o=0;return s;function s(u){return u===40?(r++,n.consume(u),s):u===41&&o<r?f(u):u===33||u===34||u===38||u===39||u===41||u===42||u===44||u===46||u===58||u===59||u===60||u===63||u===93||u===95||u===126?n.check(yg,a,f)(u):u===null||vt(u)||Oa(u)?a(u):(n.consume(u),s)}function f(u){return u===41&&o++,n.consume(u),s}}function gS(n,a,r){return o;function o(g){return g===33||g===34||g===39||g===41||g===42||g===44||g===46||g===58||g===59||g===63||g===95||g===126?(n.consume(g),o):g===38?(n.consume(g),f):g===93?(n.consume(g),s):g===60||g===null||vt(g)||Oa(g)?a(g):r(g)}function s(g){return g===null||g===40||g===91||vt(g)||Oa(g)?a(g):o(g)}function f(g){return bn(g)?u(g):r(g)}function u(g){return g===59?(n.consume(g),o):bn(g)?(n.consume(g),u):r(g)}}function mS(n,a,r){return o;function o(f){return n.consume(f),s}function s(f){return un(f)?r(f):a(f)}}function Eg(n){return n===null||n===40||n===42||n===95||n===91||n===93||n===126||vt(n)}function _g(n){return!bn(n)}function xg(n){return!(n===47||zc(n))}function zc(n){return n===43||n===45||n===46||n===95||un(n)}function Ic(n){let a=n.length,r=!1;for(;a--;){const o=n[a][1];if((o.type==="labelLink"||o.type==="labelImage")&&!o._balanced){r=!0;break}if(o._gfmAutolinkLiteralWalkedInto){r=!1;break}}return n.length>0&&!r&&(n[n.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),r}const hS={tokenize:SS,partial:!0};function bS(){return{document:{91:{name:"gfmFootnoteDefinition",tokenize:ES,continuation:{tokenize:_S},exit:xS}},text:{91:{name:"gfmFootnoteCall",tokenize:kS},93:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:yS,resolveTo:vS}}}}function yS(n,a,r){const o=this;let s=o.events.length;const f=o.parser.gfmFootnotes||(o.parser.gfmFootnotes=[]);let u;for(;s--;){const m=o.events[s][1];if(m.type==="labelImage"){u=m;break}if(m.type==="gfmFootnoteCall"||m.type==="labelLink"||m.type==="label"||m.type==="image"||m.type==="link")break}return g;function g(m){if(!u||!u._balanced)return r(m);const p=li(o.sliceSerialize({start:u.end,end:o.now()}));return p.codePointAt(0)!==94||!f.includes(p.slice(1))?r(m):(n.enter("gfmFootnoteCallLabelMarker"),n.consume(m),n.exit("gfmFootnoteCallLabelMarker"),a(m))}}function vS(n,a){let r=n.length;for(;r--;)if(n[r][1].type==="labelImage"&&n[r][0]==="enter"){n[r][1];break}n[r+1][1].type="data",n[r+3][1].type="gfmFootnoteCallLabelMarker";const o={type:"gfmFootnoteCall",start:Object.assign({},n[r+3][1].start),end:Object.assign({},n[n.length-1][1].end)},s={type:"gfmFootnoteCallMarker",start:Object.assign({},n[r+3][1].end),end:Object.assign({},n[r+3][1].end)};s.end.column++,s.end.offset++,s.end._bufferIndex++;const f={type:"gfmFootnoteCallString",start:Object.assign({},s.end),end:Object.assign({},n[n.length-1][1].start)},u={type:"chunkString",contentType:"string",start:Object.assign({},f.start),end:Object.assign({},f.end)},g=[n[r+1],n[r+2],["enter",o,a],n[r+3],n[r+4],["enter",s,a],["exit",s,a],["enter",f,a],["enter",u,a],["exit",u,a],["exit",f,a],n[n.length-2],n[n.length-1],["exit",o,a]];return n.splice(r,n.length-r+1,...g),n}function kS(n,a,r){const o=this,s=o.parser.gfmFootnotes||(o.parser.gfmFootnotes=[]);let f=0,u;return g;function g(h){return n.enter("gfmFootnoteCall"),n.enter("gfmFootnoteCallLabelMarker"),n.consume(h),n.exit("gfmFootnoteCallLabelMarker"),m}function m(h){return h!==94?r(h):(n.enter("gfmFootnoteCallMarker"),n.consume(h),n.exit("gfmFootnoteCallMarker"),n.enter("gfmFootnoteCallString"),n.enter("chunkString").contentType="string",p)}function p(h){if(f>999||h===93&&!u||h===null||h===91||vt(h))return r(h);if(h===93){n.exit("chunkString");const v=n.exit("gfmFootnoteCallString");return s.includes(li(o.sliceSerialize(v)))?(n.enter("gfmFootnoteCallLabelMarker"),n.consume(h),n.exit("gfmFootnoteCallLabelMarker"),n.exit("gfmFootnoteCall"),a):r(h)}return vt(h)||(u=!0),f++,n.consume(h),h===92?b:p}function b(h){return h===91||h===92||h===93?(n.consume(h),f++,p):p(h)}}function ES(n,a,r){const o=this,s=o.parser.gfmFootnotes||(o.parser.gfmFootnotes=[]);let f,u=0,g;return m;function m(x){return n.enter("gfmFootnoteDefinition")._container=!0,n.enter("gfmFootnoteDefinitionLabel"),n.enter("gfmFootnoteDefinitionLabelMarker"),n.consume(x),n.exit("gfmFootnoteDefinitionLabelMarker"),p}function p(x){return x===94?(n.enter("gfmFootnoteDefinitionMarker"),n.consume(x),n.exit("gfmFootnoteDefinitionMarker"),n.enter("gfmFootnoteDefinitionLabelString"),n.enter("chunkString").contentType="string",b):r(x)}function b(x){if(u>999||x===93&&!g||x===null||x===91||vt(x))return r(x);if(x===93){n.exit("chunkString");const C=n.exit("gfmFootnoteDefinitionLabelString");return f=li(o.sliceSerialize(C)),n.enter("gfmFootnoteDefinitionLabelMarker"),n.consume(x),n.exit("gfmFootnoteDefinitionLabelMarker"),n.exit("gfmFootnoteDefinitionLabel"),v}return vt(x)||(g=!0),u++,n.consume(x),x===92?h:b}function h(x){return x===91||x===92||x===93?(n.consume(x),u++,b):b(x)}function v(x){return x===58?(n.enter("definitionMarker"),n.consume(x),n.exit("definitionMarker"),s.includes(f)||s.push(f),tt(n,k,"gfmFootnoteDefinitionWhitespace")):r(x)}function k(x){return a(x)}}function _S(n,a,r){return n.check($r,a,n.attempt(hS,a,r))}function xS(n){n.exit("gfmFootnoteDefinition")}function SS(n,a,r){const o=this;return tt(n,s,"gfmFootnoteDefinitionIndent",5);function s(f){const u=o.events[o.events.length-1];return u&&u[1].type==="gfmFootnoteDefinitionIndent"&&u[2].sliceSerialize(u[1],!0).length===4?a(f):r(f)}}function wS(n){let r=(n||{}).singleTilde;const o={name:"strikethrough",tokenize:f,resolveAll:s};return r==null&&(r=!0),{text:{126:o},insideSpan:{null:[o]},attentionMarkers:{null:[126]}};function s(u,g){let m=-1;for(;++m<u.length;)if(u[m][0]==="enter"&&u[m][1].type==="strikethroughSequenceTemporary"&&u[m][1]._close){let p=m;for(;p--;)if(u[p][0]==="exit"&&u[p][1].type==="strikethroughSequenceTemporary"&&u[p][1]._open&&u[m][1].end.offset-u[m][1].start.offset===u[p][1].end.offset-u[p][1].start.offset){u[m][1].type="strikethroughSequence",u[p][1].type="strikethroughSequence";const b={type:"strikethrough",start:Object.assign({},u[p][1].start),end:Object.assign({},u[m][1].end)},h={type:"strikethroughText",start:Object.assign({},u[p][1].end),end:Object.assign({},u[m][1].start)},v=[["enter",b,g],["enter",u[p][1],g],["exit",u[p][1],g],["enter",h,g]],k=g.parser.constructs.insideSpan.null;k&&Ln(v,v.length,0,Jl(k,u.slice(p+1,m),g)),Ln(v,v.length,0,[["exit",h,g],["enter",u[m][1],g],["exit",u[m][1],g],["exit",b,g]]),Ln(u,p-1,m-p+3,v),m=p+v.length-2;break}}for(m=-1;++m<u.length;)u[m][1].type==="strikethroughSequenceTemporary"&&(u[m][1].type="data");return u}function f(u,g,m){const p=this.previous,b=this.events;let h=0;return v;function v(x){return p===126&&b[b.length-1][1].type!=="characterEscape"?m(x):(u.enter("strikethroughSequenceTemporary"),k(x))}function k(x){const C=nr(p);if(x===126)return h>1?m(x):(u.consume(x),h++,k);if(h<2&&!r)return m(x);const M=u.exit("strikethroughSequenceTemporary"),w=nr(x);return M._open=!w||w===2&&!!C,M._close=!C||C===2&&!!w,g(x)}}}class TS{constructor(){this.map=[]}add(a,r,o){AS(this,a,r,o)}consume(a){if(this.map.sort(function(f,u){return f[0]-u[0]}),this.map.length===0)return;let r=this.map.length;const o=[];for(;r>0;)r-=1,o.push(a.slice(this.map[r][0]+this.map[r][1]),this.map[r][2]),a.length=this.map[r][0];o.push(a.slice()),a.length=0;let s=o.pop();for(;s;){for(const f of s)a.push(f);s=o.pop()}this.map.length=0}}function AS(n,a,r,o){let s=0;if(!(r===0&&o.length===0)){for(;s<n.map.length;){if(n.map[s][0]===a){n.map[s][1]+=r,n.map[s][2].push(...o);return}s+=1}n.map.push([a,r,o])}}function NS(n,a){let r=!1;const o=[];for(;a<n.length;){const s=n[a];if(r){if(s[0]==="enter")s[1].type==="tableContent"&&o.push(n[a+1][1].type==="tableDelimiterMarker"?"left":"none");else if(s[1].type==="tableContent"){if(n[a-1][1].type==="tableDelimiterMarker"){const f=o.length-1;o[f]=o[f]==="left"?"center":"right"}}else if(s[1].type==="tableDelimiterRow")break}else s[0]==="enter"&&s[1].type==="tableDelimiterRow"&&(r=!0);a+=1}return o}function CS(){return{flow:{null:{name:"table",tokenize:OS,resolveAll:MS}}}}function OS(n,a,r){const o=this;let s=0,f=0,u;return g;function g(z){let se=o.events.length-1;for(;se>-1;){const oe=o.events[se][1].type;if(oe==="lineEnding"||oe==="linePrefix")se--;else break}const re=se>-1?o.events[se][1].type:null,_e=re==="tableHead"||re==="tableRow"?L:m;return _e===L&&o.parser.lazy[o.now().line]?r(z):_e(z)}function m(z){return n.enter("tableHead"),n.enter("tableRow"),p(z)}function p(z){return z===124||(u=!0,f+=1),b(z)}function b(z){return z===null?r(z):we(z)?f>1?(f=0,o.interrupt=!0,n.exit("tableRow"),n.enter("lineEnding"),n.consume(z),n.exit("lineEnding"),k):r(z):$e(z)?tt(n,b,"whitespace")(z):(f+=1,u&&(u=!1,s+=1),z===124?(n.enter("tableCellDivider"),n.consume(z),n.exit("tableCellDivider"),u=!0,b):(n.enter("data"),h(z)))}function h(z){return z===null||z===124||vt(z)?(n.exit("data"),b(z)):(n.consume(z),z===92?v:h)}function v(z){return z===92||z===124?(n.consume(z),h):h(z)}function k(z){return o.interrupt=!1,o.parser.lazy[o.now().line]?r(z):(n.enter("tableDelimiterRow"),u=!1,$e(z)?tt(n,x,"linePrefix",o.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(z):x(z))}function x(z){return z===45||z===58?M(z):z===124?(u=!0,n.enter("tableCellDivider"),n.consume(z),n.exit("tableCellDivider"),C):te(z)}function C(z){return $e(z)?tt(n,M,"whitespace")(z):M(z)}function M(z){return z===58?(f+=1,u=!0,n.enter("tableDelimiterMarker"),n.consume(z),n.exit("tableDelimiterMarker"),w):z===45?(f+=1,w(z)):z===null||we(z)?Q(z):te(z)}function w(z){return z===45?(n.enter("tableDelimiterFiller"),q(z)):te(z)}function q(z){return z===45?(n.consume(z),q):z===58?(u=!0,n.exit("tableDelimiterFiller"),n.enter("tableDelimiterMarker"),n.consume(z),n.exit("tableDelimiterMarker"),H):(n.exit("tableDelimiterFiller"),H(z))}function H(z){return $e(z)?tt(n,Q,"whitespace")(z):Q(z)}function Q(z){return z===124?x(z):z===null||we(z)?!u||s!==f?te(z):(n.exit("tableDelimiterRow"),n.exit("tableHead"),a(z)):te(z)}function te(z){return r(z)}function L(z){return n.enter("tableRow"),ce(z)}function ce(z){return z===124?(n.enter("tableCellDivider"),n.consume(z),n.exit("tableCellDivider"),ce):z===null||we(z)?(n.exit("tableRow"),a(z)):$e(z)?tt(n,ce,"whitespace")(z):(n.enter("data"),ee(z))}function ee(z){return z===null||z===124||vt(z)?(n.exit("data"),ce(z)):(n.consume(z),z===92?fe:ee)}function fe(z){return z===92||z===124?(n.consume(z),ee):ee(z)}}function MS(n,a){let r=-1,o=!0,s=0,f=[0,0,0,0],u=[0,0,0,0],g=!1,m=0,p,b,h;const v=new TS;for(;++r<n.length;){const k=n[r],x=k[1];k[0]==="enter"?x.type==="tableHead"?(g=!1,m!==0&&(Sg(v,a,m,p,b),b=void 0,m=0),p={type:"table",start:Object.assign({},x.start),end:Object.assign({},x.end)},v.add(r,0,[["enter",p,a]])):x.type==="tableRow"||x.type==="tableDelimiterRow"?(o=!0,h=void 0,f=[0,0,0,0],u=[0,r+1,0,0],g&&(g=!1,b={type:"tableBody",start:Object.assign({},x.start),end:Object.assign({},x.end)},v.add(r,0,[["enter",b,a]])),s=x.type==="tableDelimiterRow"?2:b?3:1):s&&(x.type==="data"||x.type==="tableDelimiterMarker"||x.type==="tableDelimiterFiller")?(o=!1,u[2]===0&&(f[1]!==0&&(u[0]=u[1],h=bo(v,a,f,s,void 0,h),f=[0,0,0,0]),u[2]=r)):x.type==="tableCellDivider"&&(o?o=!1:(f[1]!==0&&(u[0]=u[1],h=bo(v,a,f,s,void 0,h)),f=u,u=[f[1],r,0,0])):x.type==="tableHead"?(g=!0,m=r):x.type==="tableRow"||x.type==="tableDelimiterRow"?(m=r,f[1]!==0?(u[0]=u[1],h=bo(v,a,f,s,r,h)):u[1]!==0&&(h=bo(v,a,u,s,r,h)),s=0):s&&(x.type==="data"||x.type==="tableDelimiterMarker"||x.type==="tableDelimiterFiller")&&(u[3]=r)}for(m!==0&&Sg(v,a,m,p,b),v.consume(a.events),r=-1;++r<a.events.length;){const k=a.events[r];k[0]==="enter"&&k[1].type==="table"&&(k[1]._align=NS(a.events,r))}return n}function bo(n,a,r,o,s,f){const u=o===1?"tableHeader":o===2?"tableDelimiter":"tableData",g="tableContent";r[0]!==0&&(f.end=Object.assign({},rr(a.events,r[0])),n.add(r[0],0,[["exit",f,a]]));const m=rr(a.events,r[1]);if(f={type:u,start:Object.assign({},m),end:Object.assign({},m)},n.add(r[1],0,[["enter",f,a]]),r[2]!==0){const p=rr(a.events,r[2]),b=rr(a.events,r[3]),h={type:g,start:Object.assign({},p),end:Object.assign({},b)};if(n.add(r[2],0,[["enter",h,a]]),o!==2){const v=a.events[r[2]],k=a.events[r[3]];if(v[1].end=Object.assign({},k[1].end),v[1].type="chunkText",v[1].contentType="text",r[3]>r[2]+1){const x=r[2]+1,C=r[3]-r[2]-1;n.add(x,C,[])}}n.add(r[3]+1,0,[["exit",h,a]])}return s!==void 0&&(f.end=Object.assign({},rr(a.events,s)),n.add(s,0,[["exit",f,a]]),f=void 0),f}function Sg(n,a,r,o,s){const f=[],u=rr(a.events,r);s&&(s.end=Object.assign({},u),f.push(["exit",s,a])),o.end=Object.assign({},u),f.push(["exit",o,a]),n.add(r+1,0,f)}function rr(n,a){const r=n[a],o=r[0]==="enter"?"start":"end";return r[1][o]}const RS={name:"tasklistCheck",tokenize:LS};function DS(){return{text:{91:RS}}}function LS(n,a,r){const o=this;return s;function s(m){return o.previous!==null||!o._gfmTasklistFirstContentOfListItem?r(m):(n.enter("taskListCheck"),n.enter("taskListCheckMarker"),n.consume(m),n.exit("taskListCheckMarker"),f)}function f(m){return vt(m)?(n.enter("taskListCheckValueUnchecked"),n.consume(m),n.exit("taskListCheckValueUnchecked"),u):m===88||m===120?(n.enter("taskListCheckValueChecked"),n.consume(m),n.exit("taskListCheckValueChecked"),u):r(m)}function u(m){return m===93?(n.enter("taskListCheckMarker"),n.consume(m),n.exit("taskListCheckMarker"),n.exit("taskListCheck"),g):r(m)}function g(m){return we(m)?a(m):$e(m)?n.check({tokenize:zS},a,r)(m):r(m)}}function zS(n,a,r){return tt(n,o,"whitespace");function o(s){return s===null?r(s):a(s)}}function IS(n){return wd([oS(),bS(),wS(n),CS(),DS()])}const BS={};function US(n){const a=this,r=n||BS,o=a.data(),s=o.micromarkExtensions||(o.micromarkExtensions=[]),f=o.fromMarkdownExtensions||(o.fromMarkdownExtensions=[]),u=o.toMarkdownExtensions||(o.toMarkdownExtensions=[]);s.push(IS(r)),f.push(iS()),u.push(aS(r))}function HS(n){const a=new RegExp(`(?<!]\\(|]\\(<|href=["']|src=["'])(https?:\\/\\/[^\\s<>"')]+)(?![^[]*\\]\\))`,"g");return n.replace(a,r=>{const o=r.replace(/[.,;:!?]+$/g,""),s=r.slice(o.length);return`[${o}](${o})${s}`})}function qS(n){return n.replace(/\[source\s+(\d+)\]/gi,(a,r)=>`[\`${r}\`](#source-${r})`)}function FS(n){const a=HS(n);return qS(a)}const GS=me.memo(function({content:a}){return D.jsx(IE,{rehypePlugins:[N1],remarkPlugins:[US],children:FS(a)})});function jS(n){return n.variants?.find(a=>a.available)||n.variants?.[0]}function wg(n,a,r){if(!n)return"";const o=Number(n);if(!Number.isFinite(o))return n;try{return new Intl.NumberFormat(r,{style:a?"currency":"decimal",currency:a||void 0,maximumFractionDigits:2}).format(o)}catch{return`${o.toFixed(2)}${a?` ${a}`:""}`}}function YS({product:n,copy:a,locale:r,layout:o="vertical",onProductClick:s}){const f=jS(n),u=!!f?.available&&n.available!=="false",g=wg(f?.price,f?.currency,r),m=wg(f?.compare_at_price||void 0,f?.currency,r);return D.jsxs("article",{className:`akilio-product-card akilio-product-card--${o}`,role:"listitem",children:[D.jsxs("div",{className:"akilio-product-media",children:[n.image_url?D.jsx("img",{src:n.image_url,alt:"",loading:"lazy",decoding:"async"}):D.jsx("div",{className:"akilio-product-placeholder","aria-hidden":"true",children:"A"}),D.jsx("span",{className:u?"akilio-stock akilio-stock--available":"akilio-stock",children:u?a.inStock:a.outOfStock})]}),D.jsxs("div",{className:"akilio-product-body",children:[n.vendor&&D.jsx("span",{className:"akilio-product-vendor",children:n.vendor}),D.jsx("h4",{children:n.title}),f?.title&&f.title!==n.title&&D.jsx("span",{className:"akilio-product-variant",children:f.title}),D.jsxs("div",{className:"akilio-product-price",children:[g?D.jsx("strong",{children:g}):D.jsx("strong",{children:a.unavailable}),m&&m!==g&&D.jsx("del",{children:m})]}),n.url?D.jsx("a",{className:"akilio-product-action",href:n.url,target:"_blank",rel:"noopener noreferrer",onClick:()=>s?.(n,f),children:a.viewProduct}):D.jsx("button",{type:"button",className:"akilio-product-action",disabled:!u,onClick:()=>s?.(n,f),children:a.viewProduct})]})]},n.id)}const PS=me.memo(function({commerce:a,copy:r,locale:o,onProductClick:s}){const f=me.useMemo(()=>Array.isArray(a.products)?a.products.filter(g=>g?.id&&g?.title):[],[a.products]);if(!f.length)return null;const u=f.length>3?"vertical":"horizontal";return D.jsxs("section",{className:"akilio-products","aria-label":r.products,children:[D.jsxs("div",{className:"akilio-products-heading",children:[D.jsx("strong",{children:r.products}),D.jsx("span",{children:f.length})]}),D.jsx("div",{className:`akilio-products-grid akilio-products-grid--${u}`,role:"list",children:f.map(g=>D.jsx(YS,{product:g,copy:r,locale:o,layout:u,onProductClick:s}))})]})});function KS(n){return Array.isArray(n)?n.filter(a=>a?.title||a?.url):[]}const Tg=me.memo(function({message:a,copy:r,locale:o,onFeedback:s,onProductClick:f,onSuggestion:u,primaryColor:g}){const m=a.role==="user",p=KS(a.sources);return D.jsx("div",{className:Aa("akilio-message-row",m?"akilio-message-row--user":"akilio-message-row--assistant"),children:D.jsxs("div",{className:Aa("akilio-bubble",m&&"akilio-bubble--user",a.error&&"akilio-bubble--error"),children:[!m&&!a.error&&D.jsxs("div",{className:"akilio-bubble-meta",children:[D.jsx(Us,{style:{width:"20px",height:"20px"},primaryColor:g}),D.jsx("span",{children:r.title})]}),D.jsx("div",{className:Aa("akilio-answer",m&&"akilio-answer--user"),children:m?D.jsx("p",{children:a.content}):D.jsx(GS,{content:a.content})}),!m&&a.commerce?.products?.length?D.jsx(PS,{commerce:a.commerce,copy:r,locale:o,onProductClick:(b,h)=>f?.(a,b,h)}):null,!m&&!a.error&&a.suggestions?.length?D.jsx("div",{className:"akilio-response-suggestions","aria-label":"Suggested follow-up questions",children:a.suggestions.map(b=>D.jsx("button",{type:"button",onClick:()=>u?.(b),children:b},b))}):null,!m&&p.length>0&&D.jsxs("details",{className:"akilio-sources",children:[D.jsxs("summary",{children:[r.sources," · ",p.length]}),D.jsx("div",{className:"akilio-sources-list",children:p.map((b,h)=>D.jsxs("div",{className:"akilio-source-card",children:[D.jsx("strong",{children:b.title||"Untitled source"}),typeof b.section_path=="string"&&D.jsx("span",{children:b.section_path}),b.url&&D.jsx("a",{href:b.url,target:"_blank",rel:"noreferrer",children:b.url})]},`${b.url||b.title}-${h}`))})]}),!m&&!a.error&&a.backendMessageId&&D.jsxs("div",{className:"akilio-feedback",children:[D.jsx("span",{children:a.feedback?r.feedbackThanks:r.feedbackQuestion}),D.jsx("button",{type:"button",className:Aa(a.feedback==="up"&&"akilio-feedback-active"),onClick:()=>s?.(a,"up"),"aria-label":r.voteUp,children:D.jsx(Cy,{})}),D.jsx("button",{type:"button",className:Aa(a.feedback==="down"&&"akilio-feedback-active"),onClick:()=>s?.(a,"down"),"aria-label":r.voteDown,children:D.jsx(Oy,{})})]})]})})}),VS=me.memo(function({messages:a,copy:r,locale:o,onFeedback:s,onProductClick:f,onSuggestion:u,primaryColor:g}){return D.jsx(D.Fragment,{children:a.map(m=>D.jsx(Tg,{message:m,copy:r,locale:o,onFeedback:s,onProductClick:f,onSuggestion:u,primaryColor:g},m.id))})});function $S({copy:n,label:a,primaryColor:r}){return D.jsxs("div",{className:"akilio-message-row akilio-message-row--assistant akilio-stream-activity",role:"status","aria-live":"polite","aria-atomic":"true",children:[D.jsx("span",{className:"akilio-stream-activity-icon","aria-hidden":"true",children:D.jsx(Us,{style:{width:"20px",height:"20px"},primaryColor:r})}),D.jsxs("div",{className:"akilio-stream-activity-content",children:[D.jsx("span",{className:"akilio-stream-activity-label",children:a||n.loading},a),D.jsx("span",{className:"akilio-stream-activity-pulse","aria-hidden":"true"})]})]})}const ZS=me.forwardRef(function(a,r){const{open:o,isDesktop:s,inline:f,colorMode:u,allowColorModeToggle:g,widgetAvailable:m,showBranding:p,showPoweredBy:b,copy:h,locale:v,messages:k,streamingMessage:x,loading:C,loadingLabel:M,consentDecision:w,consentGranted:q,requireConsent:H,privacyNotice:Q,privacyNoticeUrl:te,onConsentDecision:L,onClose:ce,onToggleColorMode:ee,onClear:fe,onSubmit:z,onDraftChange:se,onFeedback:re,onProductClick:_e,onSuggestion:oe,primaryColor:X}=a,Y=me.useRef(null),G=me.useRef(null);return me.useImperativeHandle(r,()=>({getDraft:()=>G.current?.getDraft()||"",setDraft:(K,ve)=>G.current?.setDraft(K,ve),clearDraft:()=>G.current?.clearDraft(),focusDraft:()=>G.current?.focus(),submitDraft:()=>G.current?G.current.submit():Promise.reject(new Error("NOT_READY"))}),[]),me.useEffect(()=>{o&&Y.current?.scrollTo({top:Y.current.scrollHeight,behavior:k.length>1?"auto":"smooth"})},[k.length,x?.content,C,o]),D.jsxs("aside",{className:Aa("akilio-panel",s&&"akilio-panel--desktop",f&&"akilio-panel--inline",o&&"akilio-panel--open"),"aria-hidden":!o,"aria-label":h.title,children:[D.jsx("div",{className:"akilio-panel-glow"}),D.jsxs("header",{className:"akilio-panel-header",children:[p&&D.jsx("div",{className:"akilio-logo",children:D.jsx(Zl,{variant:"mark",style:{width:40,height:40},primaryColor:X})}),D.jsxs("div",{className:"akilio-header-content",children:[D.jsxs("div",{className:"akilio-header-topline",children:[D.jsx("div",{className:"akilio-header-title",children:D.jsx("h2",{children:h.title})}),D.jsxs("div",{className:"akilio-header-actions",children:[g&&D.jsx("button",{type:"button",onClick:ee,title:u==="dark"?h.switchToLightMode:h.switchToDarkMode,"aria-label":u==="dark"?h.switchToLightMode:h.switchToDarkMode,children:u==="dark"?D.jsx(My,{}):D.jsx(Ry,{})}),D.jsx("button",{type:"button",onClick:fe,title:h.clearHistory,"aria-label":h.clearHistory,children:D.jsx(Ny,{})}),!f&&D.jsx("button",{type:"button",onClick:ce,title:h.close,"aria-label":h.close,children:D.jsx(Ay,{})})]})]}),D.jsx("p",{className:"akilio-header-description",children:h.description})]})]}),D.jsxs("div",{ref:Y,className:"akilio-thread","aria-live":"polite","aria-relevant":"additions",children:[k.length===0&&!C?D.jsx(Ly,{copy:h,onSuggestion:z,widgetAvailable:m,showBranding:p,primaryColor:X}):D.jsx(VS,{messages:k,copy:h,locale:v,onFeedback:re,onProductClick:_e,onSuggestion:oe,primaryColor:X}),x&&D.jsx(Tg,{message:x,copy:h,locale:v,onFeedback:re,onProductClick:_e,onSuggestion:oe,primaryColor:X}),C&&!x&&D.jsx($S,{copy:h,label:M,primaryColor:X})]}),(Q||H)&&w==="pending"&&D.jsxs("section",{className:"akilio-privacy","aria-label":h.privacyTitle,children:[D.jsxs("div",{children:[D.jsx("strong",{children:h.privacyTitle}),D.jsxs("p",{children:[Q||h.privacyDefaultNotice," ",te&&D.jsx("a",{href:te,target:"_blank",rel:"noreferrer",children:h.privacyTitle})]}),H&&D.jsx("p",{className:"akilio-privacy-consent-copy",children:h.privacyAccept})]}),D.jsxs("div",{className:"akilio-privacy-actions",children:[D.jsx("button",{type:"button",className:"akilio-privacy-decline",onClick:()=>L("rejected"),children:h.privacyDecline}),D.jsx("button",{type:"button",className:"akilio-privacy-accept",onClick:()=>L("accepted"),children:h.privacyAcceptAction})]})]}),D.jsx(Dy,{ref:G,loading:C,disabled:!m||H&&!q,disabledMessage:m?h.privacyRequired:h.widgetUnavailable,showPoweredBy:b,copy:h,onSubmit:z,onDraftChange:se,onReviewConsent:H&&w==="rejected"?()=>L("pending"):void 0})]})});function XS({label:n,onClick:a,showBranding:r=!0,primaryColor:o}){return D.jsxs("button",{id:"akilio-launcher",type:"button",className:"akilio-launcher",onClick:a,children:[D.jsx("span",{children:r?D.jsx(Zl,{variant:"mark",className:"akilio-launcher-logo",primaryColor:o}):D.jsx(Hs,{className:"akilio-launcher-logo"})}),D.jsx("strong",{children:n})]})}function QS({title:n,message:a,actionLabel:r,dismissLabel:o,onDismiss:s,onOpen:f,primaryColor:u,showBranding:g}){return D.jsxs("section",{className:"akilio-coachmark",role:"status","aria-live":"polite","aria-label":n,children:[D.jsx("button",{type:"button",className:"akilio-coachmark-close",onClick:s,"aria-label":o,children:D.jsx("span",{"aria-hidden":"true",children:"×"})}),D.jsx("div",{className:"akilio-coachmark-icon","aria-hidden":"true",children:g?D.jsx(Zl,{variant:"mark",primaryColor:u}):D.jsx(Hs,{})}),D.jsxs("div",{className:"akilio-coachmark-content",children:[D.jsx("strong",{children:n}),D.jsx("p",{children:a}),D.jsx("button",{type:"button",className:"akilio-coachmark-action",onClick:f,children:r})]})]})}const JS="(min-width: 1280px)";function WS(n=JS){const[a,r]=me.useState(!1);return me.useEffect(()=>{if(typeof window>"u")return;const o=window.matchMedia(n),s=()=>r(o.matches);return s(),o.addEventListener?.("change",s),()=>o.removeEventListener?.("change",s)},[n]),a}const lr=60;function Ag(n,a){if(!n)return a;try{return JSON.parse(n)}catch{return a}}function ew(n){const a=me.useMemo(()=>`akilio:${n.projectKey}:${n.locale||"default"}:messages:v1`,[n.projectKey,n.locale]),[r,o]=me.useState([]),[s,f]=me.useState(!1);return me.useEffect(()=>{if(!n.enabled||typeof window>"u"){f(!0);return}const u=Ag(window.localStorage.getItem(a),[]);o(Array.isArray(u)?u.slice(-lr):[]),f(!0)},[n.enabled,a]),me.useEffect(()=>{!n.enabled||!s||typeof window>"u"||window.localStorage.setItem(a,JSON.stringify(r.slice(-lr)))},[r,n.enabled,a,s]),[r,o,a]}function or(n){const[a,r]=me.useState(n.initialValue||""),[o,s]=me.useState(!1);return me.useEffect(()=>{if(!n.enabled||typeof window>"u"){s(!0);return}r(window.localStorage.getItem(n.key)||n.initialValue||""),s(!0)},[n.enabled,n.initialValue,n.key]),me.useEffect(()=>{!n.enabled||!o||typeof window>"u"||(a?window.localStorage.setItem(n.key,a):window.localStorage.removeItem(n.key))},[n.enabled,o,n.key,a]),[a,r]}const tw={version:"0.6.6"};function hi(n){const a=n.toLowerCase();return Array.from(document.scripts).some(r=>(r.src||"").toLowerCase().includes(a))}function nw(n){const a=n.toLowerCase();return Array.from(document.querySelectorAll("link[href]")).some(r=>r.href.toLowerCase().includes(a))}function iw(n,a){return Array.from(document.querySelectorAll(`meta[${n}]`)).some(r=>r.getAttribute(n)===a)}function aw(n){const a=n.toLowerCase();return Array.from(document.body?.classList??[]).some(r=>r.toLowerCase().includes(a))}function rw(){const n=window.location.hostname.toLowerCase(),a=document.documentElement.innerHTML.toLowerCase(),r=[];if(window.Shopify&&r.push("window.Shopify"),hi("cdn.shopify.com")&&r.push("cdn.shopify.com script"),a.includes("shopify-section")&&r.push("shopify-section markup"),n.endsWith(".myshopify.com")&&r.push("myshopify.com hostname"),r.length>=2)return{integration:"shopify",confidence:"high",signals:r};if(r.length===1)return{integration:"shopify",confidence:"medium",signals:r};const o=[];if(window.wcSettings&&o.push("window.wcSettings"),hi("woocommerce")&&o.push("WooCommerce script"),aw("woocommerce")&&o.push("WooCommerce body class"),(a.includes("woocommerce-cart")||a.includes("woocommerce-checkout")||a.includes("wc-block-"))&&o.push("WooCommerce markup"),o.length>=2)return{integration:"woocommerce",confidence:"high",signals:o};if(o.length===1)return{integration:"woocommerce",confidence:"medium",signals:o};const s=[];if(nw("/wp-json/")&&s.push("WordPress REST API link"),(hi("/wp-content/")||hi("/wp-includes/"))&&s.push("WordPress asset path"),(a.includes("/wp-content/")||a.includes("/wp-includes/"))&&s.push("WordPress HTML asset path"),iw("name","generator")&&document.querySelector('meta[name="generator"]')?.content.toLowerCase()?.includes("wordpress")&&s.push("WordPress generator metadata"),s.length>=2)return{integration:"wordpress",confidence:"high",signals:s};if(s.length===1)return{integration:"wordpress",confidence:"medium",signals:s};const f=[];if((window.prestashop||window.PrestaShop)&&f.push("PrestaShop global"),hi("/modules/")&&a.includes("prestashop")&&f.push("PrestaShop module assets"),document.querySelector('meta[name="generator"]')?.content.toLowerCase()?.includes("prestashop")&&f.push("PrestaShop generator metadata"),f.length>=2)return{integration:"prestashop",confidence:"high",signals:f};if(f.length===1)return{integration:"prestashop",confidence:"medium",signals:f};const g=[];return window.requirejs&&hi("mage/")&&g.push("Magento RequireJS modules"),(hi("/static/frontend/")||a.includes("mage-init"))&&g.push("Magento frontend assets"),a.includes("data-mage-init")&&g.push("data-mage-init"),g.length>=2?{integration:"magento",confidence:"high",signals:g}:g.length===1?{integration:"magento",confidence:"medium",signals:g}:a.includes("wixstatic.com")||hi("wixstatic.com")?{integration:"wix",confidence:"high",signals:["Wix static assets"]}:document.documentElement.hasAttribute("data-wf-page")||hi("webflow")?{integration:"webflow",confidence:"high",signals:["Webflow page attributes or assets"]}:hi("static1.squarespace.com")||a.includes("squarespace")?{integration:"squarespace",confidence:"medium",signals:["Squarespace assets"]}:window.__NEXT_DATA__||document.getElementById("__next")?{integration:"nextjs",confidence:"high",signals:["Next.js runtime markers"]}:document.querySelector("[ng-version]")||window.angular?{integration:"angular",confidence:"high",signals:["Angular runtime markers"]}:window.__NUXT__||document.getElementById("__nuxt")?{integration:"vue",confidence:"medium",signals:["Nuxt/Vue runtime markers"]}:window.Vue?{integration:"vue",confidence:"medium",signals:["Vue global"]}:document.getElementById("root")||document.querySelector("[data-reactroot]")?{integration:"react",confidence:"low",signals:["Possible React root element"]}:{integration:"unknown",confidence:"low",signals:[]}}class Bc extends Error{status;payload;constructor(a,r,o){super(a),this.name="AkilioHttpError",this.status=r,this.payload=o}}function Ng(n,a){return`${n.replace(/\/$/,"")}${a.startsWith("/")?a:`/${a}`}`}async function Cg(n){const a=await n.text();let r={};try{r=a?JSON.parse(a):{}}catch{r={detail:a}}if(!n.ok){const o=r?.detail||r?.error||r?.message||`Request failed with status ${n.status}`;throw new Bc(o,n.status,r)}return r}function Uc(n,a,r){const o=`${n.replace(/\/$/,"")}|${a}|${r||"anonymous"}`;let s=2166136261;for(let f=0;f<o.length;f+=1)s^=o.charCodeAt(f),s=Math.imul(s,16777619);return`akilio:widget-token:v1:${(s>>>0).toString(16)}`}function lw(n){if(typeof window>"u")return null;try{const a=window.sessionStorage.getItem(n);return a?JSON.parse(a):null}catch{return null}}function Og(n,a){if(!(typeof window>"u"))try{a?window.sessionStorage.setItem(n,JSON.stringify(a)):window.sessionStorage.removeItem(n)}catch{}}class ow{apiBaseUrl;fetchImpl;auth;widgetToken=null;widgetTokenPromise=null;widgetTokenPromiseKey=null;mode;locale;constructor(a){this.apiBaseUrl=a.apiBaseUrl;const r=a.fetchImpl||globalThis.fetch;if(!r)throw new Error("Fetch API is not available in this environment");this.fetchImpl=r.bind(globalThis),this.auth=a.auth,this.mode=a.mode,this.locale=a.locale}hasHostManagedToken(){return!!(this.auth?.getAccessToken||this.auth?.accessToken)}async hostManagedToken(){return(this.auth?.getAccessToken?await this.auth.getAccessToken():this.auth?.accessToken)||null}tokenIsUsable(a,r,o){const s=Math.max(0,this.auth?.tokenRefreshLeewaySeconds??30);return a.projectKey===r&&a.subject===o&&a.expiresAt>Date.now()+s*1e3}clearWidgetToken(a,r){this.widgetToken=null,Og(Uc(this.apiBaseUrl,a,r),null)}async issueWidgetToken(a,r){const o=await this.publicRequest(`/projects/${encodeURIComponent(a)}/widget-token/`,{method:"POST",body:JSON.stringify(r?{subject:r}:{})}),s=Math.max(1,Number(o.expires_in)||1),f={token:o.token,tokenType:o.token_type||"Bearer",expiresAt:Date.now()+s*1e3,projectKey:a,subject:r};return this.widgetToken=f,Og(Uc(this.apiBaseUrl,a,r),f),this.auth?.onWidgetToken?.({token:f.token,tokenType:f.tokenType,expiresAt:f.expiresAt}),f}async ensureWidgetToken(a,r,o=!1){if(!o&&this.widgetToken&&this.tokenIsUsable(this.widgetToken,a,r))return this.widgetToken;const s=Uc(this.apiBaseUrl,a,r);if(!o){const u=lw(s);if(u&&this.tokenIsUsable(u,a,r))return this.widgetToken=u,u}o&&this.clearWidgetToken(a,r);const f=`${a}|${r||""}`;return(!this.widgetTokenPromise||this.widgetTokenPromiseKey!==f)&&(this.widgetTokenPromiseKey=f,this.widgetTokenPromise=this.issueWidgetToken(a,r).finally(()=>{this.widgetTokenPromiseKey===f&&(this.widgetTokenPromise=null,this.widgetTokenPromiseKey=null)})),this.widgetTokenPromise}async baseHeaders(a=!1){const r={Accept:"application/json",...this.auth?.headers||{}};return a&&(r["Content-Type"]="application/json"),this.auth?.apiKey&&(r[this.auth.apiKeyHeader||"X-Akilio-Key"]=this.auth.apiKey),r}async execute(a,r,o){const s=await this.fetchImpl(Ng(this.apiBaseUrl,a),{...r,credentials:this.auth?.credentials||"omit",headers:{...o,...r.headers||{}}});return Cg(s)}async publicRequest(a,r={}){return this.execute(a,r,await this.baseHeaders(!!r.body))}async authenticatedRequest(a,r,o,s={}){const f=await this.baseHeaders(!!s.body),u=await this.hostManagedToken();if(u)return f.Authorization=`${this.auth?.tokenScheme||"Bearer"} ${u}`,this.execute(o,s,f);if(this.auth?.autoIssueWidgetToken===!1)throw new Error("No widget authentication token is available");let g=await this.ensureWidgetToken(a,r);f.Authorization=`${g.tokenType} ${g.token}`;try{return await this.execute(o,s,f)}catch(m){if(!(m instanceof Bc)||m.status!==401)throw m;return g=await this.ensureWidgetToken(a,r,!0),f.Authorization=`${g.tokenType} ${g.token}`,this.execute(o,s,f)}}async authenticatedResponse(a,r,o,s={}){const f=await this.baseHeaders(!!s.body);f.Accept="text/event-stream";const u=await this.hostManagedToken();if(u)f.Authorization=`${this.auth?.tokenScheme||"Bearer"} ${u}`;else{if(this.auth?.autoIssueWidgetToken===!1)throw new Error("No widget authentication token is available");const p=await this.ensureWidgetToken(a,r);f.Authorization=`${p.tokenType} ${p.token}`}const g=()=>this.fetchImpl(Ng(this.apiBaseUrl,o),{...s,credentials:this.auth?.credentials||"omit",headers:{...f,...s.headers||{}}});let m=await g();if(m.status===401&&!u){await m.body?.cancel().catch(()=>{});const p=await this.ensureWidgetToken(a,r,!0);f.Authorization=`${p.tokenType} ${p.token}`,m=await g()}return m.ok||await Cg(m),m}getProjectConfig(a){const r=rw();return this.publicRequest(`/projects/${encodeURIComponent(a)}/config/`,{method:"POST",body:JSON.stringify({widget:{version:tw.version,mode:this.mode,locale:this.locale,integration:r},browser:{screen_width:window.innerWidth,viewport_width:window.innerWidth,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,referrer:document.referrer||void 0}})})}async prepareWidgetToken(a,r){this.hasHostManagedToken()||this.auth?.autoIssueWidgetToken===!1||await this.ensureWidgetToken(a,r)}sendMessage(a,r,o){return this.authenticatedRequest(a,r,"/chat/",{method:"POST",body:JSON.stringify(o)})}async sendMessageStream(a,r,o,s={},f){let u;try{u=await this.authenticatedResponse(a,r,"/chat/stream/",{method:"POST",body:JSON.stringify(o),signal:f})}catch(v){if(v instanceof Bc&&[404,405,406,415,501].includes(v.status))return this.sendMessage(a,r,o);throw v}if(!u.body)throw new Error("Streaming response body is unavailable");const g=u.body.getReader(),m=new TextDecoder;let p="",b=null;const h=v=>{let k="message";const x=[];for(const M of v.split(/\r?\n/))!M||M.startsWith(":")||(M.startsWith("event:")&&(k=M.slice(6).trim()),M.startsWith("data:")&&x.push(M.slice(5).trimStart()));if(!x.length)return;let C;try{const M=JSON.parse(x.join(`
|
|
44
44
|
`));C=M&&typeof M=="object"?M:{value:M}}catch{C={detail:x.join(`
|
|
45
|
-
`)}}if(s.onEvent?.({event:k,data:C}),k==="status")s.onStatus?.(String(C.stage||""),C);else if(k==="conversation"){const M=C.conversation_id||C.id;M&&s.onConversation?.(String(M))}else if(k==="answer.delta")typeof C.delta=="string"&&s.onDelta?.(C.delta);else if(k==="final")b=C;else if(k==="error")throw new Error(String(C.detail||C.error||C.message||"Streaming request failed"))};for(;;){const{value:v,done:k}=await g.read();p+=m.decode(v,{stream:!k});const x=p.split(/\r?\n\r?\n/);p=x.pop()||"";for(const C of x)h(C);if(k)break}if(p.trim()&&h(p),!b)throw new Error("The stream ended before a final response was received");return b}getConversation(a,r,o){const s=new URLSearchParams({project_key:a});return this.authenticatedRequest(a,r,`/api/v1/conversations/${encodeURIComponent(o)}/?${s}`)}deleteConversation(a,r,o){const s=new URLSearchParams({project_key:a});return this.authenticatedRequest(a,r,`/api/v1/conversations/${encodeURIComponent(o)}/?${s}`,{method:"DELETE"})}sendCommerceEvent(a,r,o){return this.authenticatedRequest(a,r,"/api/v1/commerce/events/",{method:"POST",body:JSON.stringify(o)})}sendFeedback(a){return this.authenticatedRequest(a.projectKey,a.subject,`/api/v1/messages/${encodeURIComponent(a.messageId)}/feedback/`,{method:"POST",body:JSON.stringify({project_key:a.projectKey,rating:a.rating,comment:a.comment||"",metadata:a.metadata||{}})})}}function sw(n){const r=(n.locale||"").toLowerCase().startsWith("fr")?{launcher:"Demander à Akilio",title:"Demander à Akilio",description:"Propulsé par l'IA",placeholder:"Posez votre question...",helper:"Entrée pour envoyer. Maj + Entrée pour une nouvelle ligne.",submit:"Envoyer",loading:"Réflexion...",searching:"Recherche des informations pertinentes...",reviewingSources:"Consultation des sources...",checkingAnswer:"Vérification de la réponse...",preparingAnswer:"Préparation de la réponse...",emptyState:"Commencez avec une question ou choisissez une suggestion.",sources:"Sources",confidence:"Confiance",clearHistory:"Effacer",close:"Fermer",online:"Assistant IA",feedbackQuestion:"Cette réponse est-elle utile ?",feedbackThanks:"Merci pour votre retour.",voteUp:"Utile",voteDown:"Pas utile",requestFailed:"Impossible d’obtenir une réponse pour le moment.",configFailed:"Impossible de charger la configuration Akilio.",newChat:"Nouvelle conversation",privacyTitle:"Confidentialité",privacyAccept:"J’accepte que ma question et les données de conversation soient traitées pour fournir une réponse.",privacyAcceptAction:"Accepter",privacyDecline:"Refuser",privacyReview:"Revoir mon choix de confidentialité",privacyRequired:"Votre consentement est requis avant d’envoyer une question.",widgetUnavailable:"Cet assistant est temporairement indisponible.",poweredBy:"Propulsé par",aiContentWarning:"Le contenu généré par l’IA peut être inexact ou incomplet.",tourTitle:"Besoin d’aide ?",tourMessage:"Posez une question à l’assistant pour trouver rapidement une réponse.",tourAction:"Essayer",tourDismiss:"Fermer cette aide",privacyDefaultNotice:"Vos questions peuvent être enregistrées afin de fournir le service et améliorer sa qualité.",switchToLightMode:"Passer au thème clair",switchToDarkMode:"Passer au thème sombre",products:"Produits",viewProduct:"Voir le produit",fromPrice:"À partir de",unavailable:"Prix indisponible",inStock:"En stock",outOfStock:"Rupture de stock",suggestions:["Quels services offrez-vous ?","Comment puis-je vous contacter ?","Où trouver plus d’informations ?","Pouvez-vous résumer cette page ?"]}:{launcher:"Ask Akilio",title:"Ask Akilio",description:"Powered by AI",placeholder:"Ask your question...",helper:"Press Enter to send. Shift + Enter for a new line.",submit:"Send",loading:"Thinking...",searching:"Searching for relevant information...",reviewingSources:"Reviewing sources...",checkingAnswer:"Checking the answer...",preparingAnswer:"Preparing the answer...",emptyState:"Start with a question or choose a suggestion.",sources:"Sources",confidence:"Confidence",clearHistory:"Clear",close:"Close",online:"AI assistant",feedbackQuestion:"Was this answer useful?",feedbackThanks:"Thanks for your feedback.",voteUp:"Useful",voteDown:"Not useful",requestFailed:"Unable to get an answer right now.",configFailed:"Unable to load Akilio configuration.",newChat:"New chat",privacyTitle:"Privacy",privacyAccept:"I agree that my question and conversation data may be processed to provide an answer.",privacyAcceptAction:"Accept",privacyDecline:"Decline",privacyReview:"Review privacy choice",privacyRequired:"Consent is required before sending a question.",widgetUnavailable:"This assistant is temporarily unavailable.",poweredBy:"Powered by",aiContentWarning:"AI content may be inaccurate or incomplete.",tourTitle:"Need help?",tourMessage:"Ask the assistant a question to quickly find the information you need.",tourAction:"Try it",tourDismiss:"Dismiss this tip",privacyDefaultNotice:"Your questions may be stored to provide the service and improve its quality.",switchToLightMode:"Switch to light mode",switchToDarkMode:"Switch to dark mode",products:"Products",viewProduct:"View product",fromPrice:"From",unavailable:"Price unavailable",inStock:"In stock",outOfStock:"Out of stock",suggestions:["What services do you offer?","How can I contact you?","Where can I find more information?","Can you summarize this page?"]},o=n.projectConfig,s=n.overrides||{};return{...r,launcher:s.launcher||o?.theme_config?.launcher_label||r.launcher,title:s.title||o?.title||r.title,placeholder:s.placeholder||o?.placeholder||r.placeholder,suggestions:o?.starter_questions?.length?o.starter_questions:r.suggestions,...s}}const Mg=':host,.akilio-root{--akilio-primary: #0f766e;--akilio-primary-hover: #115e59;--akilio-primary-foreground: #ffffff;--akilio-accent: #2563eb;--akilio-radius: 22px;--akilio-panel-width: 440px;--akilio-z-index: 2147483647}:host{all:initial;display:block;direction:ltr;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;text-align:left;color-scheme:light dark;pointer-events:none}.akilio-launcher,.akilio-overlay,.akilio-panel{pointer-events:auto}:host *,:host *:before,:host *:after,.akilio-root,.akilio-root *:before,.akilio-root *:after{box-sizing:border-box}.akilio-root button,.akilio-root input,.akilio-root textarea,.akilio-root select{font:inherit;color:inherit}.akilio-root,.akilio-root *{box-sizing:border-box}.akilio-root{color:#18181b;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.akilio-launcher{position:fixed;right:22px;bottom:22px;z-index:calc(var(--akilio-z-index) - 10);display:inline-flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:linear-gradient(135deg,var(--akilio-primary),color-mix(in srgb,var(--akilio-primary) 80%,transparent));color:#fff!important;padding:11px 16px 11px 12px;cursor:pointer;box-shadow:0 24px 60px #18181b40,0 0 0 1px #09090b14;transition:transform .26s ease,box-shadow .18s ease,background .18s ease}.akilio-launcher:hover{transform:translateY(-2px);box-shadow:0 28px 70px #0891b240,0 0 0 1px #09090b14}.akilio-launcher span{display:grid;width:30px;height:30px;place-items:center;overflow:hidden;border-radius:999px;background:#fff!important}.akilio-launcher-logo{display:block;width:22px;height:22px;object-fit:contain}.akilio-launcher strong{font-size:14px;font-weight:750;letter-spacing:-.01em}.akilio-overlay{position:fixed;inset:0;z-index:calc(var(--akilio-z-index) - 2);border:0;background:#09090b75;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);cursor:default}.akilio-panel{position:fixed;top:0;right:0;z-index:var(--akilio-z-index);display:flex;width:min(100vw,var(--akilio-panel-width));height:100dvh;transform:translate(103%);flex-direction:column;overflow:hidden;border-left:1px solid rgba(212,212,216,.9);background:#f8fafc;box-shadow:-30px 0 90px #0f172a3d;transition:transform .26s cubic-bezier(.2,.8,.2,1)}.akilio-panel--open{transform:translate(0)}.akilio-root[data-akilio-mode=floating] .akilio-panel{top:auto;right:22px;bottom:88px;width:min(400px,calc(100vw - 32px));height:min(650px,calc(100dvh - 116px));min-height:420px;transform:translateY(18px) scale(.98);transform-origin:right bottom;border:1px solid rgba(212,212,216,.9);border-radius:var(--akilio-radius);box-shadow:0 28px 80px #0f172a3d;opacity:0;visibility:hidden;pointer-events:none;transition:transform .22s cubic-bezier(.2,.8,.2,1),opacity .18s ease,visibility .18s ease}.akilio-root[data-akilio-mode=floating] .akilio-panel--open{transform:translateY(0) scale(1);opacity:1;visibility:visible;pointer-events:auto}.akilio-panel-glow{position:absolute;inset:0 0 auto;height:185px;pointer-events:none;background:radial-gradient(circle at 0% 0%,color-mix(in srgb,var(--akilio-primary) 35%,transparent),transparent 36%),radial-gradient(circle at 100% 0%,rgba(37,99,235,.22),transparent 34%)}.akilio-panel-header{position:relative;display:flex;align-items:flex-start;gap:12px;border-bottom:1px solid rgba(212,212,216,.82);background:#ffffffc7;padding:10px;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.akilio-logo,.akilio-empty-icon{display:grid;flex-shrink:0;place-items:center}.akilio-logo img{display:block;width:100%;height:100%;object-fit:contain;object-position:left center}.akilio-empty-icon{width:64px;height:64px;border:1px solid rgba(124,58,237,.12);border-radius:calc(var(--akilio-radius) - 4px);background:#ffffffe0;box-shadow:0 18px 42px #6d28d929}.akilio-empty-icon img{display:block;width:42px;height:42px;object-fit:contain}.akilio-header-content{min-width:0;flex:1}.akilio-header-topline{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:10px}.akilio-header-title{display:flex;min-width:0;align-items:center;gap:8px}.akilio-header-title h2{overflow:hidden;margin:0;color:#09090b;font-size:14px;font-weight:800;letter-spacing:-.015em;text-overflow:ellipsis;white-space:nowrap}.akilio-online{display:inline-flex;align-items:center;gap:5px;border-radius:999px;background:#10b9811f;color:#047857;padding:3px 8px;font-size:10px;font-weight:800;white-space:nowrap}.akilio-online i{width:6px;height:6px;border-radius:999px;background:#10b981}.akilio-header-description{display:-webkit-box;margin:0;overflow:hidden;color:#71717a;font-size:12px;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:3}.akilio-header-actions{display:flex;flex-shrink:0;align-items:center;gap:4px}.akilio-header-actions button{display:grid;width:25px;height:25px;place-items:center;border:0;border-radius:999px;background:transparent;color:#71717a;cursor:pointer;transition:background .16s ease,color .16s ease}.akilio-header-actions button:hover{background:#f4f4f5;color:#09090b}.akilio-header-actions svg{width:18px;height:18px}.akilio-thread{position:relative;display:flex;flex:1;flex-direction:column;gap:14px;overflow-y:auto;padding:18px 16px 22px}.akilio-message-row{display:flex;width:100%}.akilio-message-row--user{justify-content:flex-end}.akilio-message-row--assistant{justify-content:flex-start}.akilio-stream-activity{align-items:center;gap:10px;min-height:38px;padding:2px 4px;color:#52525b}.akilio-stream-activity-icon{display:grid;width:28px;height:28px;flex:0 0 28px;place-items:center;border:1px solid color-mix(in srgb,var(--akilio-primary) 22%,#d4d4d8);border-radius:999px;background:color-mix(in srgb,var(--akilio-primary) 8%,#fff);color:var(--akilio-primary)}.akilio-stream-activity-content{display:flex;min-width:0;align-items:center;gap:8px}.akilio-stream-activity-label{font-size:13px;font-weight:550;line-height:1.4;animation:akilio-status-in .18s ease-out}.akilio-stream-activity-pulse{width:6px;height:6px;flex:0 0 6px;border-radius:999px;background:var(--akilio-primary);animation:akilio-status-pulse 1.2s ease-in-out infinite}@keyframes akilio-status-in{0%{transform:translateY(2px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes akilio-status-pulse{0%,to{transform:scale(.75);opacity:.35}50%{transform:scale(1);opacity:1}}.akilio-bubble{max-width:88%;overflow:hidden;border:1px solid rgba(212,212,216,.86);border-radius:26px 26px 26px 8px;background:#fffffff0;color:#27272a;padding:13px 15px;box-shadow:0 10px 28px #0f172a12}.akilio-bubble--user{border-color:#ffffff26;border-bottom-right-radius:8px;border-bottom-left-radius:26px;background:linear-gradient(135deg,var(--akilio-primary),color-mix(in srgb,var(--akilio-primary) 80%,transparent));color:#fff}.akilio-bubble--error{border-color:#f8717159;background:#fef2f2;color:#991b1b}.akilio-bubble-meta{display:flex;align-items:center;gap:7px;margin-bottom:8px;color:var(--akilio-primary);font-size:10px;font-weight:850;letter-spacing:.15em;text-transform:uppercase}.akilio-mini-icon{width:14px;height:14px}.akilio-confidence{margin-left:auto;border-radius:999px;background:color-mix(in srgb,var(--akilio-primary) 11%,transparent);padding:2px 7px;color:var(--akilio-primary);letter-spacing:0;text-transform:none}.akilio-answer{color:inherit;font-size:.8rem;line-height:1.7}.akilio-answer h2{font-size:1rem;font-weight:700;margin:0}.akilio-answer p{margin:.5rem 0}.akilio-answer p:first-child{margin-top:0}.akilio-answer p:last-child{margin-bottom:0}.akilio-answer ul,.akilio-answer ol{margin:.625rem 0 .625rem 1.25rem;padding-left:.75rem}.akilio-answer ul{list-style:disc}.akilio-answer ol{list-style:decimal}.akilio-answer li{margin:.25rem 0}.akilio-answer a{color:var(--akilio-primary);font-weight:700;text-decoration:underline;text-underline-offset:3px}.akilio-answer code{border-radius:7px;background:#0f172a14;padding:.12rem .35rem;font-size:.86em}.akilio-answer pre{margin:.75rem 0;overflow-x:auto;border:1px solid rgba(148,163,184,.2);border-radius:16px;background:#020617;padding:13px}.akilio-answer pre code{background:transparent;color:#e2e8f0;padding:0}.akilio-answer .hljs-keyword,.akilio-answer .hljs-selector-tag,.akilio-answer .hljs-built_in{color:#f0abfc}.akilio-answer .hljs-string,.akilio-answer .hljs-attr,.akilio-answer .hljs-symbol{color:#86efac}.akilio-answer .hljs-number,.akilio-answer .hljs-literal{color:#fcd34d}.akilio-answer .hljs-comment{color:#64748b;font-style:italic}.akilio-answer .hljs-title,.akilio-answer .hljs-function{color:#7dd3fc}.akilio-answer .hljs-variable{color:#fdba74}.akilio-answer--user{white-space:pre-wrap}.akilio-answer--user code{background:#ffffff29}.akilio-sources{margin-top:11px;overflow:hidden;border:1px solid rgba(212,212,216,.85);border-radius:16px;background:#f4f4f5c7}.akilio-sources summary{cursor:pointer;padding:9px 11px;color:#52525b;font-size:12px;font-weight:800}.akilio-sources-list{display:grid;gap:8px;border-top:1px solid rgba(212,212,216,.85);padding:8px}.akilio-source-card{display:grid;gap:3px;border:1px solid rgba(212,212,216,.82);border-radius:13px;background:#fff;padding:8px;font-size:12px}.akilio-source-card strong{color:#18181b}.akilio-source-card span{color:#71717a}.akilio-source-card a{overflow:hidden;color:var(--akilio-primary);text-overflow:ellipsis;white-space:nowrap}.akilio-feedback{display:flex;align-items:center;gap:7px;margin-top:11px;color:#71717a;font-size:11px}.akilio-feedback span{margin-right:auto}.akilio-feedback button{display:grid;width:28px;height:28px;place-items:center;border:1px solid rgba(212,212,216,.9);border-radius:999px;background:#fff;color:#71717a;cursor:pointer}.akilio-feedback button:hover,.akilio-feedback .akilio-feedback-active{border-color:color-mix(in srgb,var(--akilio-primary) 35%,#d4d4d8);color:var(--akilio-primary)}.akilio-feedback svg{width:14px;height:14px}.akilio-dots{display:flex;gap:6px;padding:2px 0}.akilio-dots span{width:8px;height:8px;border-radius:999px;background:var(--akilio-primary);animation:akilio-bounce .9s infinite ease-in-out}.akilio-dots span:nth-child(2){animation-delay:.1s}.akilio-dots span:nth-child(3){animation-delay:.2s}@keyframes akilio-bounce{0%,80%,to{transform:translateY(0);opacity:.45}40%{transform:translateY(-4px);opacity:1}}.akilio-empty{margin:auto;display:flex;max-width:340px;flex-direction:column;align-items:center;padding:34px 0;text-align:center}.akilio-empty-icon{width:58px;height:58px;margin-bottom:16px}.akilio-empty h3{margin:0;color:#09090b;font-size:17px;font-weight:850;letter-spacing:-.02em}.akilio-empty p{margin:8px 0 0;color:#71717a;font-size:14px;line-height:1.65}.akilio-suggestions{display:grid;width:100%;gap:9px;margin-top:18px}.akilio-suggestions button{border:1px solid rgba(212,212,216,.9);border-radius:16px;background:#fff;color:#3f3f46;cursor:pointer;padding:10px 12px;text-align:left;font-size:12px;font-weight:700;box-shadow:0 5px 14px #0f172a0a;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.akilio-suggestions button:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--akilio-primary) 35%,#d4d4d8);box-shadow:0 12px 22px #0f172a14}.akilio-composer{position:relative;border-top:1px solid rgba(212,212,216,.85);background:#ffffffdb;padding:8px 12px;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.akilio-composer-box{display:flex;align-items:flex-end;gap:8px;border:1px solid rgba(212,212,216,.95);border-radius:24px;background:#f8fafc;padding:6px 12px;box-shadow:inset 0 1px 2px #0f172a0a;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.akilio-composer-box:focus-within{border-color:color-mix(in srgb,var(--akilio-primary) 55%,#d4d4d8);background:#fff;box-shadow:0 0 0 4px color-mix(in srgb,var(--akilio-primary) 13%,transparent),inset 0 1px 2px #0f172a08}.akilio-composer textarea{flex:1;min-height:36px;max-height:120px;height:36px;overflow-y:hidden;resize:none;border:0;outline:0;background:transparent;color:#09090b;padding:6px 0;font:inherit;font-size:14px;line-height:1.5}.akilio-online--unavailable{color:#a16207}.akilio-online--unavailable i{background:#f59e0b;box-shadow:0 0 0 3px #f59e0b29}.akilio-composer textarea::placeholder{color:#a1a1aa}.akilio-composer-submit{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:0;border-radius:999px;background:var(--akilio-primary);color:#fff;cursor:pointer;padding:0;transition:background .15s ease,opacity .15s ease,transform .15s ease}.akilio-composer-submit:hover:not(:disabled){background:var(--akilio-primary-hover);transform:scale(1.05)}.akilio-composer-submit:active:not(:disabled){transform:scale(.98)}.akilio-composer-submit:disabled{opacity:.45;cursor:not-allowed}.akilio-composer-submit svg{width:16px;height:16px}.akilio-composer-help{margin-top:6px;padding:0 12px;color:#71717a;font-size:11px;line-height:1.4;display:flex;align-items:center;gap:4px}.akilio-powered-by{margin-top:6px;padding:0 4px;color:#71717a;font-size:10px;font-weight:600;line-height:1.2;text-align:center}.akilio-coachmark{position:fixed;right:22px;bottom:94px;z-index:calc(var(--akilio-z-index) - 1);display:flex;width:min(320px,calc(100vw - 32px));gap:11px;border:1px solid color-mix(in srgb,var(--akilio-primary) 24%,#d4d4d8);border-radius:18px;background:#fffffffa;color:#17211f;padding:15px 38px 15px 15px;pointer-events:auto;box-shadow:0 24px 64px #042f2e2e,0 0 0 1px #0f766e0a;animation:akilio-coachmark-in .2s cubic-bezier(.2,.8,.2,1)}.akilio-coachmark:after{position:absolute;right:30px;bottom:-7px;width:13px;height:13px;transform:rotate(45deg);border-right:1px solid color-mix(in srgb,var(--akilio-primary) 24%,#d4d4d8);border-bottom:1px solid color-mix(in srgb,var(--akilio-primary) 24%,#d4d4d8);background:#fff;content:""}.akilio-coachmark-icon{display:grid;width:32px;height:32px;flex:0 0 32px;place-items:center;border-radius:999px;background:color-mix(in srgb,var(--akilio-primary) 11%,#fff);color:var(--akilio-primary)}.akilio-coachmark-icon svg{width:17px;height:17px}.akilio-coachmark-content{min-width:0}.akilio-coachmark-content strong{display:block;margin:0 0 3px;color:#17211f;font-size:14px;line-height:1.35}.akilio-coachmark-content p{margin:0;color:#52525b;font-size:12px;line-height:1.5}.akilio-coachmark-action{margin-top:9px;border:0;border-radius:999px;background:var(--akilio-primary);color:var(--akilio-primary-foreground);padding:7px 12px;cursor:pointer;font-size:11px;font-weight:750}.akilio-coachmark-close{position:absolute;top:8px;right:8px;display:grid;width:26px;height:26px;place-items:center;border:0;border-radius:999px;background:transparent;color:#71717a;cursor:pointer;font-size:20px;line-height:1}.akilio-coachmark-close:hover{background:#f4f4f5;color:#18181b}@keyframes akilio-coachmark-in{0%{transform:translateY(8px) scale(.98);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@media(max-width:640px){.akilio-launcher{right:16px;bottom:16px;padding:10px 12px}.akilio-coachmark{right:16px;bottom:82px}.akilio-launcher strong{display:none}.akilio-panel{width:100vw}.akilio-bubble{max-width:94%}.akilio-composer-help{display:none}}.akilio-root[data-akilio-mode=inline]{width:100%;height:100%;min-height:520px}.akilio-panel--inline{position:relative;inset:auto;width:100%;height:100%;min-height:520px;transform:none;border:1px solid rgba(212,212,216,.9);border-radius:var(--akilio-radius);box-shadow:0 18px 50px #0f172a1f}.akilio-privacy{display:grid;gap:8px;border-top:1px solid rgba(212,212,216,.82);background:#ffffffe6;padding:10px 14px;font-size:11px;line-height:1.45}.akilio-privacy strong{color:#18181b}.akilio-privacy p{margin:2px 0 0;color:#71717a}.akilio-privacy a{color:var(--akilio-primary);font-weight:700}.akilio-privacy label{display:flex;align-items:flex-start;gap:8px;color:#3f3f46;cursor:pointer}.akilio-privacy input{margin-top:2px;accent-color:var(--akilio-primary)}.akilio-composer textarea:disabled{cursor:not-allowed;opacity:.65}.akilio-root button:focus-visible,.akilio-root a:focus-visible,.akilio-root input:focus-visible{outline:3px solid color-mix(in srgb,var(--akilio-primary) 45%,transparent);outline-offset:2px}.akilio-root .akilio-composer textarea:focus,.akilio-root .akilio-composer textarea:focus-visible{border:0;outline:none;box-shadow:none}@media(prefers-reduced-motion:reduce){.akilio-root *,.akilio-root *:before,.akilio-root *:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.akilio-root[data-akilio-color-mode=dark]{color:#e4e4e7}.akilio-root[data-akilio-color-mode=dark] .akilio-panel,.akilio-root[data-akilio-color-mode=dark] .akilio-panel--inline{background:var(--akilio-surface, #09090b);border-color:#27272a}.akilio-root[data-akilio-color-mode=dark] .akilio-panel-header,.akilio-root[data-akilio-color-mode=dark] .akilio-privacy{background:#18181beb;border-color:#3f3f46}.akilio-root[data-akilio-color-mode=dark] .akilio-header-title h2,.akilio-root[data-akilio-color-mode=dark] .akilio-empty h3,.akilio-root[data-akilio-color-mode=dark] .akilio-privacy strong{color:var(--akilio-text, #fafafa)}.akilio-root[data-akilio-color-mode=dark] .akilio-header-description,.akilio-root[data-akilio-color-mode=dark] .akilio-empty p,.akilio-root[data-akilio-color-mode=dark] .akilio-privacy p,.akilio-root[data-akilio-color-mode=dark] .akilio-privacy label,.akilio-root[data-akilio-color-mode=dark] .akilio-stream-activity{color:var(--akilio-muted, #a1a1aa)}.akilio-root[data-akilio-color-mode=dark] .akilio-stream-activity-icon{border-color:color-mix(in srgb,var(--akilio-primary) 35%,#3f3f46);background:color-mix(in srgb,var(--akilio-primary) 15%,#18181b)}.akilio-root[data-akilio-color-mode=dark] .akilio-bubble{background:#18181b;border-color:#3f3f46;color:#e4e4e7;box-shadow:none}.akilio-root[data-akilio-color-mode=dark] .akilio-bubble--user{background:linear-gradient(135deg,var(--akilio-primary),var(--akilio-accent));color:var(--akilio-primary-foreground)}.akilio-root[data-akilio-color-mode=dark] .akilio-sources{background:#09090b;border-color:#3f3f46}.akilio-root[data-akilio-color-mode=dark] .akilio-sources-list{border-color:#3f3f46}.akilio-root[data-akilio-color-mode=dark] .akilio-source-card,.akilio-root[data-akilio-color-mode=dark] .akilio-feedback button,.akilio-root[data-akilio-color-mode=dark] .akilio-composer-box{background:#18181b;border-color:#3f3f46;color:#e4e4e7}.akilio-root[data-akilio-color-mode=dark] .akilio-source-card strong{color:#fafafa}.akilio-root[data-akilio-color-mode=dark] .akilio-source-card span,.akilio-root[data-akilio-color-mode=dark] .akilio-feedback{color:#a1a1aa}@media(prefers-color-scheme:dark){.akilio-root[data-akilio-color-mode=system] .akilio-panel,.akilio-root[data-akilio-color-mode=system] .akilio-panel--inline{background:#09090b;border-color:#27272a}.akilio-root[data-akilio-color-mode=system] .akilio-panel-header,.akilio-root[data-akilio-color-mode=system] .akilio-privacy{background:#18181beb;border-color:#3f3f46}.akilio-root[data-akilio-color-mode=system] .akilio-header-title h2,.akilio-root[data-akilio-color-mode=system] .akilio-empty h3,.akilio-root[data-akilio-color-mode=system] .akilio-privacy strong{color:#fafafa}.akilio-root[data-akilio-color-mode=system] .akilio-header-description,.akilio-root[data-akilio-color-mode=system] .akilio-empty p,.akilio-root[data-akilio-color-mode=system] .akilio-privacy p,.akilio-root[data-akilio-color-mode=system] .akilio-privacy label{color:#a1a1aa}.akilio-root[data-akilio-color-mode=system] .akilio-bubble{background:#18181b;border-color:#3f3f46;color:#e4e4e7;box-shadow:none}.akilio-root[data-akilio-color-mode=system] .akilio-bubble--user{background:linear-gradient(135deg,var(--akilio-primary),var(--akilio-accent));color:var(--akilio-primary-foreground)}.akilio-root[data-akilio-color-mode=system] .akilio-source-card,.akilio-root[data-akilio-color-mode=system] .akilio-feedback button,.akilio-root[data-akilio-color-mode=system] .akilio-composer-box{background:#18181b;border-color:#3f3f46;color:#e4e4e7}}@media(max-width:640px){.akilio-launcher{right:14px;bottom:max(14px,env(safe-area-inset-bottom));padding:10px}.akilio-launcher strong{display:none}.akilio-panel{width:100vw;height:100dvh;border-left:0}.akilio-root[data-akilio-mode=floating] .akilio-panel{right:14px;bottom:calc(76px + env(safe-area-inset-bottom));width:calc(100vw - 28px);height:min(640px,calc(100dvh - 104px - env(safe-area-inset-bottom)));min-height:min(420px,calc(100dvh - 104px));border:1px solid rgba(212,212,216,.9);border-radius:18px}.akilio-panel-header{padding-top:max(10px,env(safe-area-inset-top))}.akilio-thread{padding-inline:12px}.akilio-bubble{max-width:94%}.akilio-composer{padding-bottom:max(10px,env(safe-area-inset-bottom))}.akilio-root[data-akilio-mode=inline]{min-height:480px}.akilio-panel--inline{min-height:480px;border-radius:16px}}.akilio-root[data-akilio-color-mode=dark] .akilio-composer{background:#18181beb;border-color:#3f3f46}.akilio-root[data-akilio-color-mode=dark] .akilio-composer-box{background:#18181b;border-color:#3f3f46}.akilio-root[data-akilio-color-mode=dark] .akilio-composer textarea{color:var(--akilio-text, #fafafa);caret-color:var(--akilio-text, #fafafa);-webkit-text-fill-color:var(--akilio-text, #fafafa)}.akilio-root[data-akilio-color-mode=dark] .akilio-composer textarea::placeholder{color:var(--akilio-muted, #a1a1aa);-webkit-text-fill-color:var(--akilio-muted, #a1a1aa);opacity:1}.akilio-root[data-akilio-color-mode=dark] .akilio-composer-help,.akilio-root[data-akilio-color-mode=dark] .akilio-powered-by{color:var(--akilio-muted, #a1a1aa)}.akilio-root[data-akilio-color-mode=dark] .akilio-coachmark{border-color:color-mix(in srgb,var(--akilio-primary) 34%,#3f3f46);background:#18181bfa;color:#fafafa;box-shadow:0 24px 64px #0000006b}.akilio-root[data-akilio-color-mode=dark] .akilio-coachmark:after{border-color:color-mix(in srgb,var(--akilio-primary) 34%,#3f3f46);background:#18181b}.akilio-root[data-akilio-color-mode=dark] .akilio-coachmark-content strong{color:#fafafa}.akilio-root[data-akilio-color-mode=dark] .akilio-coachmark-content p,.akilio-root[data-akilio-color-mode=dark] .akilio-coachmark-close{color:#a1a1aa}.akilio-root[data-akilio-color-mode=dark] .akilio-coachmark-close:hover{background:#27272a;color:#fafafa}.akilio-root[data-akilio-color-mode=dark] .akilio-composer-box:focus-within{background:#18181b;border-color:color-mix(in srgb,var(--akilio-primary) 55%,#3f3f46)}.akilio-privacy-consent-copy{margin-top:6px!important}.akilio-privacy-actions{display:flex;justify-content:flex-end;gap:8px}.akilio-privacy-actions button{border:1px solid rgba(161,161,170,.65);border-radius:999px;padding:6px 12px;font:inherit;font-weight:700;cursor:pointer}.akilio-privacy-decline{background:transparent;color:#52525b}.akilio-privacy-accept{border-color:var(--akilio-primary)!important;background:var(--akilio-primary);color:#fff}.akilio-privacy-review{border:0;background:transparent;color:var(--akilio-primary);font:inherit;font-weight:700;text-decoration:underline;cursor:pointer;padding:0}.akilio-products{margin-top:14px;min-width:0}.akilio-products-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px;font-size:12px;color:#64748b}.akilio-products-heading span{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 7px;border-radius:999px;background:#eef2ff;color:#4338ca;font-weight:700}.akilio-products-grid,.akilio-products-grid--vertical{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.akilio-products-grid--horizontal{display:flex;flex-direction:column;gap:10px}@media(max-width:640px){.akilio-products-grid--vertical{grid-template-columns:1fr}}@media(max-width:390px){.akilio-products-grid--vertical{grid-template-columns:1fr}.akilio-products-grid--horizontal{gap:8px}}.akilio-product-card{min-width:0;overflow:hidden;border:1px solid #e2e8f0;border-radius:16px;background:#fff;box-shadow:0 6px 20px #0f172a0f}.akilio-product-media{position:relative;aspect-ratio:4 / 3;overflow:hidden;background:#f1f5f9}.akilio-product-media img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .18s ease}.akilio-product-card:hover .akilio-product-media img{transform:scale(1.025)}.akilio-product-placeholder{width:100%;height:100%;display:grid;place-items:center;color:var(--akilio-primary);font-size:30px;font-weight:800;background:linear-gradient(145deg,#0891b21f,#2563eb14)}.akilio-stock{position:absolute;top:8px;right:8px;max-width:calc(100% - 16px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:4px 7px;border-radius:999px;background:#7f1d1de6;color:#fff;font-size:9px;font-weight:700}.akilio-stock--available{background:#065f46e6}.akilio-product-body{padding:11px}.akilio-product-vendor,.akilio-product-variant{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#64748b;font-size:10px}.akilio-product-card h4{margin:4px 0 8px;min-height:34px;overflow:hidden;color:#0f172a;font-size:13px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.akilio-product-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:5px}.akilio-product-price strong{color:#0f172a;font-size:14px}.akilio-product-price del{color:#94a3b8;font-size:10px}.akilio-product-action{width:auto;min-height:auto;display:inline-flex;align-items:center;justify-content:center;padding:6px 12px;border:0;border-radius:6px;background:transparent;color:var(--akilio-primary);font:inherit;font-size:11px;font-weight:700;text-decoration:underline;text-underline-offset:2px;cursor:pointer;transition:color .15s ease,background .15s ease}.akilio-product-action:hover{background:color-mix(in srgb,var(--akilio-primary) 8%,transparent);text-decoration:underline}.akilio-product-action:focus-visible{outline:3px solid color-mix(in srgb,var(--akilio-primary) 28%,transparent);outline-offset:2px}.akilio-product-action:disabled{opacity:.55;cursor:not-allowed}.akilio-root[data-akilio-color-mode=dark] .akilio-products-heading{color:#94a3b8}.akilio-root[data-akilio-color-mode=dark] .akilio-products-heading span{background:#312e81;color:#e0e7ff}.akilio-root[data-akilio-color-mode=dark] .akilio-product-card{background:#111827;border-color:#334155;box-shadow:none}.akilio-root[data-akilio-color-mode=dark] .akilio-product-media{background:#1e293b}.akilio-root[data-akilio-color-mode=dark] .akilio-product-card h4,.akilio-root[data-akilio-color-mode=dark] .akilio-product-price strong{color:#f8fafc}.akilio-root[data-akilio-color-mode=dark] .akilio-product-vendor,.akilio-root[data-akilio-color-mode=dark] .akilio-product-variant{color:#94a3b8}@media(max-width:390px){.akilio-products-grid{grid-template-columns:1fr}.akilio-product-media{aspect-ratio:16 / 9}}.akilio-response-suggestions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.akilio-response-suggestions button{appearance:none;border:1px solid color-mix(in srgb,var(--akilio-primary) 26%,#d4d4d8);border-radius:15px;background:color-mix(in srgb,var(--akilio-primary) 7%,#ffffff);color:color-mix(in srgb,var(--akilio-primary) 72%,#18181b);cursor:pointer;padding:8px 11px;text-align:left;font:inherit;font-size:12px;font-weight:700;line-height:1.35;transition:transform .15s ease,border-color .15s ease,background .15s ease}.akilio-response-suggestions button:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--akilio-primary) 52%,#d4d4d8);background:color-mix(in srgb,var(--akilio-primary) 12%,#ffffff)}.akilio-response-suggestions button:focus-visible{outline:3px solid color-mix(in srgb,var(--akilio-primary) 24%,transparent);outline-offset:2px}.akilio-root[data-akilio-color-mode=dark] .akilio-response-suggestions button{border-color:color-mix(in srgb,var(--akilio-primary) 34%,#3f3f46);background:color-mix(in srgb,var(--akilio-primary) 14%,#18181b);color:#f4f4f5}.akilio-product-card--vertical{display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid #e2e8f0;border-radius:16px;background:#fff;box-shadow:0 6px 20px #0f172a0f}.akilio-product-card--vertical .akilio-product-media{position:relative;aspect-ratio:4 / 3;overflow:hidden;background:#f1f5f9}.akilio-product-card--vertical .akilio-product-body{padding:11px;display:flex;flex-direction:column}.akilio-product-card--horizontal{display:flex;flex-direction:row;gap:12px;min-width:0;overflow:hidden;border:1px solid #e2e8f0;border-radius:16px;background:#fff;box-shadow:0 6px 20px #0f172a0f;align-items:stretch}.akilio-product-card--horizontal .akilio-product-media{flex:0 0 25%;min-width:80px;position:relative;aspect-ratio:1 / 1;overflow:hidden;background:#f1f5f9}.akilio-product-card--horizontal .akilio-product-body{flex:1;padding:11px;display:flex;flex-direction:column;justify-content:space-between;min-width:0}.akilio-product-card--horizontal .akilio-product-action{width:100%}.akilio-root[data-akilio-color-mode=dark] .akilio-product-card--vertical,.akilio-root[data-akilio-color-mode=dark] .akilio-product-card--horizontal{background:#111827;border-color:#334155;box-shadow:none}.akilio-root[data-akilio-color-mode=dark] .akilio-product-card--vertical .akilio-product-media,.akilio-root[data-akilio-color-mode=dark] .akilio-product-card--horizontal .akilio-product-media{background:#1e293b}@media(prefers-color-scheme:dark){.akilio-root[data-akilio-color-mode=system] .akilio-product-card--vertical,.akilio-root[data-akilio-color-mode=system] .akilio-product-card--horizontal{background:#111827;border-color:#334155;box-shadow:none}.akilio-root[data-akilio-color-mode=system] .akilio-product-card--vertical .akilio-product-media,.akilio-root[data-akilio-color-mode=system] .akilio-product-card--horizontal .akilio-product-media{background:#1e293b}}@media(max-width:480px){.akilio-product-card--horizontal{flex-direction:column;gap:0}.akilio-product-card--horizontal .akilio-product-media{flex:1;min-width:unset;aspect-ratio:4 / 3}}@media(max-width:390px){.akilio-product-card--vertical .akilio-product-media{aspect-ratio:16 / 9}.akilio-product-card--horizontal{flex-direction:column}.akilio-product-card--horizontal .akilio-product-media{aspect-ratio:16 / 9}}.source-ref{display:inline-flex;align-items:center;justify-content:center;margin-left:.3rem;padding:.1rem .45rem;border-radius:999px;font-size:.68rem;font-weight:600;letter-spacing:.01em;line-height:1.2;vertical-align:super;color:#334155;background:linear-gradient(180deg,#f8fafc,#eef2ff);border:1px solid #dbeafe;box-shadow:0 1px 2px #0f172a14;-webkit-user-select:none;user-select:none;white-space:nowrap}';class yo extends Error{code;constructor(a,r){super(r),this.name="AkilioPublicApiError",this.code=a}}function Kn(n,a){typeof window>"u"||window.dispatchEvent(new CustomEvent(`akilio:${n}`,{detail:a||{}}))}function fn(n,a){return new yo(n,a)}function sr(){return typeof crypto<"u"&&crypto.randomUUID?crypto.randomUUID():`${Date.now()}-${Math.random().toString(16).slice(2)}`}function il(){return new Date().toISOString()}function Rg(n){const a=typeof n=="function"?n():n||{};return typeof window>"u"?a:{url:a.url||window.location.href,title:a.title||document.title,...a}}function cw(n,a){const r={...n?.theme_config||{},...a||{}};return{"--akilio-primary":String(r.primary_color||"#0F766E"),"--akilio-primary-hover":String(r.primary_dark_color||"#115E59"),"--akilio-primary-foreground":String(r.primary_foreground_color||"#ffffff"),"--akilio-accent":String(r.accent_color||"#2563eb"),"--akilio-radius":String(r.radius||"22px"),"--akilio-panel-width":`${Number(r.panel_width||440)}px`,"--akilio-z-index":String(Number(r.z_index||2147483647)),"--akilio-surface":String(r.surface_color||""),"--akilio-text":String(r.text_color||""),"--akilio-muted":String(r.muted_color||"")}}function uw(n,a){me.useEffect(()=>{if(typeof document>"u")return;const r=document.documentElement;return r.classList.toggle("akilio-panel-open",n&&a),()=>r.classList.remove("akilio-panel-open")},[n,a])}function Dg(n){return Array.isArray(n)?n.filter(a=>typeof a=="string").map(a=>a.trim()).filter(Boolean).slice(0,6):[]}function fw(n){if(typeof n.answer=="string"&&n.answer.trim())return n.answer;const a=n.content;if(a&&typeof a=="object")for(const r of["answer","text","message"]){const o=a[r];if(typeof o=="string"&&o.trim())return o}return""}function Lg(n){if(!n)return null;try{const a=JSON.parse(n);return a&&typeof a=="object"?a:null}catch{return null}}function dw(n,a=!0){return{id:sr(),role:"assistant",content:fw(n),backendMessageId:n.message_id,conversationId:n.conversation_id,confidence:n.confidence,sources:n.sources||[],provider:n.provider,model:n.model,commerce:a&&n.commerce||null,suggestions:Dg(n.suggestions),createdAt:il()}}function zg({apiBaseUrl:n="https://api.akilio-ai.com",projectKey:a,locale:r="en",mode:o="floating",colorMode:s="system",allowColorModeToggle:f=!0,showAkilioBranding:u=!0,streaming:g=!0,defaultOpen:m=!1,open:p,launcher:b="default",persistOpenState:h=!0,enableTour:v=!0,tourDelayMs:k=3e3,tourVersion:x="v1",enableLocalHistory:C=!0,enableServerHistorySync:M=!0,anonymousId:w,externalUserId:q,channel:H,audience:Q,productArea:te,assistantMode:L,pageContext:ce,auth:ee,accessToken:fe,privacyNotice:z,privacyNoticeUrl:se,requireConsent:re,consentNoticeVersion:_e="v1",initialConsent:oe=!1,onConsentChange:X,copy:Y,theme:G,className:K,onOpenChange:ve,onMessage:S,onProductClick:Be,onError:T}){const _=me.useRef(null),J=me.useRef(null),pe=me.useRef(0),de=me.useRef({open:!1,busy:!1,conversationId:null}),Ce=`akilio:${a}:config`,[Ue,kt]=me.useState(null),Ke=me.useMemo(()=>({...ee||{},accessToken:ee?.accessToken||fe}),[fe,ee]),gt=me.useMemo(()=>new ow({apiBaseUrl:n,auth:Ke,mode:o,locale:r}),[n,Ke,o,r]),zn=WS(),[Vt,bi]=me.useState(Ag(localStorage.getItem(Ce),null)),[en,Ve]=me.useState(null),[Qt,Sn]=me.useState(!1),[Vn,In]=me.useState({stage:"",message:""}),[Ni,Bn]=me.useState(null),[$n,Rt]=ew({enabled:C,projectKey:a,locale:r}),[lt,j]=or({enabled:C,key:`akilio:${a}:${r}:conversation-id:v2`}),ae=me.useMemo(()=>sr(),[a]),[Ae]=or({enabled:!0,key:`akilio:${a}:widget-subject:v1`,initialValue:ae}),[qe,nt]=or({enabled:h,key:`akilio:${a}:panel-open:v2`,initialValue:m?"true":""}),[$t,dn]=or({enabled:!0,key:`akilio:${a}:coachmark:${x||"v1"}`}),[tn,Jt]=me.useState(!1),[xt,Et]=or({enabled:!0,key:`akilio:${a}:consent:${_e}`,initialValue:oe?"true":""}),[St,nn]=me.useState(m),[Ci,La]=or({enabled:!0,key:`akilio:${a}:color-mode:v1`}),[Wi,Oi]=me.useState("light"),Ot=o==="inline",N=o==="floating",V=o==="hybrid"||o==="side-panel",le=!Ot&&(o==="side-panel"||o==="hybrid"&&zn),De=!Ot&&!N&&(o==="drawer"||o==="hybrid"&&!zn),Qe=Ot||(p??(h&&qe==="true"||St)),he=s||G?.color_mode||Vt?.theme_config?.color_mode||"system",ge=Ci==="light"||Ci==="dark"||Ci==="system"?Ci:he,Se=ge==="system"?Wi:ge,Ge=me.useMemo(()=>sw({locale:r,projectConfig:Vt,overrides:Y}),[Y,r,Vt]),ct=Vt?.widget_policy,vn=ct?.available!==!1,pn=ct?.commerce_enabled!==!1,Mi=ct?.assistant_mode||L,ea=ct?.branding==="akilio_required"||ct?.branding!=="white_label"&&u,wn=ct?.branding==="akilio_required",It=me.useMemo(()=>pn?$n:$n.map(ne=>ne.commerce?{...ne,commerce:null}:ne),[pn,$n]),Bt=me.useMemo(()=>cw(Vt,G),[Vt,G]),Zn=re??Vt?.require_consent??!1,ta=z||Vt?.privacy_notice||"",na=se||Vt?.privacy_notice_url,cr=xt==="true"||xt==="accepted"?"accepted":xt==="rejected"?"rejected":"pending",yi=cr==="accepted",Ut=q||w||Ae||void 0,Nt=me.useCallback(ne=>{if(Ot)return;const Te=de.current.open!==ne;de.current.open=ne,p===void 0&&(nn(ne),h&&nt(ne?"true":"")),ve?.(ne),Te&&Kn(ne?"open":"close")},[p,Ot,ve,h,nt]),Xn=me.useMemo(()=>({open:Qe,openChat:()=>Nt(!0),closeChat:()=>Nt(!1),toggleChat:()=>Nt(!Qe)}),[Qe,Nt]),gn=me.useCallback(()=>{Jt(!1),dn("seen")},[dn]),Ri=me.useCallback(()=>{gn(),Nt(!0)},[gn,Nt]),vi=me.useCallback(ne=>{Et(ne==="pending"?"":ne),ne!=="pending"&&X?.(ne==="accepted")},[X,Et]);me.useEffect(()=>{if(typeof window>"u"||!window.matchMedia)return;const ne=window.matchMedia("(prefers-color-scheme: dark)"),Te=()=>Oi(ne.matches?"dark":"light");return Te(),ne.addEventListener?.("change",Te),()=>ne.removeEventListener?.("change",Te)},[]);const Dt=me.useCallback(()=>{La(Se==="dark"?"light":"dark")},[Se,La]);uw(Qe,le&&V),me.useEffect(()=>{if(!(v&&!Ot&&b==="default"&&vn&&!Qe)){Jt(!1),Qe&&v&&dn("seen");return}const Te=(Me=!1)=>{(Me||$t!=="seen")&&Jt(!0)},Oe=window.setTimeout(()=>Te(!1),Math.min(6e4,Math.max(0,Number(k)||0))),Le=()=>Te(!0);return window.addEventListener("akilio:start-tour",Le),()=>{window.clearTimeout(Oe),window.removeEventListener("akilio:start-tour",Le)}},[v,Ot,b,Qe,dn,k,$t,vn]),me.useEffect(()=>{if(!tn)return;const ne=Te=>{Te.key==="Escape"&&gn()};return window.addEventListener("keydown",ne),()=>window.removeEventListener("keydown",ne)},[tn,gn]),me.useEffect(()=>{let ne=!1;return gt.getProjectConfig(a).then(Te=>{ne||(window.localStorage.setItem(Ce,JSON.stringify(Te)),bi(Te),Ve(null))}).catch(Te=>{ne||(Ve(Te.message),T?.(Te))}),()=>{ne=!0}},[gt,T,a]),me.useEffect(()=>{Ut&>.prepareWidgetToken(a,Ut).catch(ne=>T?.(ne))},[gt,T,a,Ut]),me.useEffect(()=>{if(!M||!Ut||!lt||$n.length>0)return;let ne=!1;return gt.getConversation(a,Ut,lt).then(Te=>{ne||Rt(Te.messages.map(Oe=>({id:Oe.id,backendMessageId:Oe.role==="assistant"?Oe.id:void 0,conversationId:Te.id,role:Oe.role,content:Oe.content,sources:Oe.sources||[],confidence:Oe.confidence,commerce:(()=>{const Le=Oe.metadata&&typeof Oe.metadata=="object"?Oe.metadata:null,Me=Lg(Oe.structured_content);return pn&&(Le?.commerce||Me?.commerce)||null})(),suggestions:(()=>{const Le=Oe.metadata&&typeof Oe.metadata=="object"?Oe.metadata:null,Me=Lg(Oe.structured_content);return Dg(Le?.suggestions||Me?.suggestions)})(),createdAt:Oe.created_at})).slice(-lr))}).catch(()=>j("")),()=>{ne=!0}},[gt,pn,lt,M,$n.length,a,j,Rt,Ut]);const oi=me.useCallback(()=>{Rt([]),j("")},[j,Rt]),za=me.useCallback(async ne=>{if(!ne)throw fn("INVALID_QUESTION","Question is empty");if(!vn)throw fn("INVALID_QUESTION","This widget is not currently available");if(Qt)throw fn("BUSY","An answer is already in progress");if(Zn&&!yi)throw fn("INVALID_QUESTION","Privacy consent is required");const Te=Rg(ce),Oe={id:sr(),role:"user",content:ne,createdAt:il(),conversationId:lt||void 0};Rt(Me=>[...Me,Oe].slice(-lr)),S?.(Oe),Kn("question",{question:ne}),Sn(!0),de.current.busy=!0,Kn("answer-start",{question:ne}),In({stage:"",message:""}),Bn(null);const Le=sr();try{const Me={project_key:a,conversation_id:lt||void 0,message:ne,locale:r,channel:H||Te.channel||"docs",audience:Q||Te.audience,product_area:te||Te.productArea,assistant_mode:Mi||void 0,page:{url:Te.url,title:Te.title,...Te.metadata||{}},anonymous_id:w,external_user_id:q,consent:{granted:yi,granted_at:yi?il():void 0,notice_version:_e}};let Re="";const kn=g?await gt.sendMessageStream(a,Ut,Me,{onStatus:(Ht,Di)=>{const Qn=Di.message||Di.label;In({stage:Ht,message:typeof Qn=="string"?Qn:""})},onConversation:Ht=>{de.current.conversationId=Ht,j(Ht)},onDelta:Ht=>{Re+=Ht,Kn("answer-delta",{delta:Ht}),Bn({id:Le,role:"assistant",content:Re,conversationId:lt||void 0,createdAt:il(),streaming:!0})}}):await gt.sendMessage(a,Ut,Me);de.current.conversationId=kn.conversation_id,j(kn.conversation_id);const si={...dw(kn,pn),id:Re?Le:sr(),streaming:!1};return Bn(null),Rt(Ht=>[...Ht,si].slice(-lr)),S?.(si),Kn("answer-complete",{response:kn}),kn}catch(Me){const Re=Me instanceof Error?Me:new Error(Ge.requestFailed),kn={id:sr(),role:"assistant",content:Re.message||Ge.requestFailed,createdAt:il(),error:!0};throw Bn(null),Rt(si=>[...si,kn].slice(-lr)),T?.(Re),Kn("error",{code:Me instanceof yo?Me.code:"STREAM_FAILED",message:Re.message||Ge.requestFailed}),Re}finally{Sn(!1),de.current.busy=!1,In({stage:"",message:""})}},[w,Q,H,gt,pn,yi,_e,lt,Ge.requestFailed,Zn,Mi,q,Qt,r,T,S,ce,te,a,j,Rt,g,Ut,vn]),W=me.useCallback(()=>{const ne=J.current;ne&&(J.current=null,ne.timer&&window.clearTimeout(ne.timer),ne.reject(fn("TYPING_CANCELLED","Draft typing was cancelled")),Kn("typing-cancel",{draft:_.current?.getDraft()||""}))},[]),ke=me.useCallback((ne,Te)=>{Te&&J.current&&W(),Kn("draft-change",{draft:ne})},[W]);de.current={open:Qe,busy:Qt,conversationId:lt||null},me.useEffect(()=>{if(typeof window>"u"||window.AkilioWidget)return;const ne=()=>{if(!_.current)throw fn("NOT_READY","The widget is not ready");return _.current},Te=async(Le,Me={})=>{if(W(),typeof Le!="string")throw fn("INVALID_QUESTION","Draft must be a string");ne().setDraft(Le,{focus:Me.focus,clearExisting:Me.clearExisting??!0}),await new Promise(Re=>window.setTimeout(Re,0))},Oe=Object.freeze({open:async()=>{Nt(!0),await new Promise(Le=>window.setTimeout(Le,0))},close:async()=>{Nt(!1),await new Promise(Le=>window.setTimeout(Le,0))},setDraft:Te,typeDraft:async(Le,Me={})=>{if(W(),typeof Le!="string"||!Le.length)throw fn("INVALID_QUESTION","Question must not be empty");const Re=ne(),kn=Me.clearExisting===!1?Re.getDraft():"",si=Math.max(0,Number(Me.interval??35)),Ht=++pe.current;return Kn("typing-start",{textLength:Le.length}),new Promise(async(Di,Qn)=>{J.current={id:Ht,reject:Qn};try{for(let ki=1;ki<=Le.length;ki+=1){if(await new Promise(mn=>{const Ei=window.setTimeout(mn,si);J.current?.id===Ht&&(J.current.timer=Ei)}),J.current?.id!==Ht)return;Re.setDraft(`${kn}${Le.slice(0,ki)}`,{clearExisting:!0,focus:Me.focus&&ki===1})}if(J.current?.id!==Ht)return;J.current=null,Kn("typing-complete",{draft:Re.getDraft()}),Di()}catch(ki){J.current=null,Qn(ki)}})},clearDraft:async()=>{W(),ne().clearDraft()},cancelTyping:W,submit:async()=>{if(de.current.busy)throw fn("BUSY","An answer is already in progress");const Le=ne();if(!Le.getDraft().trim())throw fn("EMPTY_DRAFT","The draft is empty");try{return await Le.submitDraft()}catch(Re){throw Re instanceof yo?Re:Re instanceof Error&&Re.message==="BUSY"?fn("BUSY","An answer is already in progress"):Re instanceof Error&&Re.message==="EMPTY_DRAFT"?fn("EMPTY_DRAFT","The draft is empty"):Re instanceof Error&&Re.message==="INVALID_QUESTION"?fn("INVALID_QUESTION","The question is invalid"):fn("STREAM_FAILED",Re instanceof Error?Re.message:"Streaming failed")}},ask:async(Le,Me)=>(await Te(Le,Me),Oe.submit()),reset:async()=>{try{if(W(),de.current.busy)throw fn("BUSY","An answer is already in progress");oi(),de.current.conversationId=null,ne().clearDraft(),Bn(null),Kn("reset")}catch(Le){throw Le instanceof yo?Le:fn("RESET_FAILED","The conversation could not be reset")}},getState:()=>({ready:!!_.current,open:de.current.open,busy:de.current.busy,typing:!!J.current,draft:_.current?.getDraft()||"",conversationId:de.current.conversationId})});return window.AkilioWidget=Oe,Kn("ready"),()=>{W(),window.AkilioWidget===Oe&&delete window.AkilioWidget}},[W,oi,Nt]);const Pe=me.useCallback((ne,Te,Oe)=>{pn&&(Be?.(Te,Oe),gt.sendCommerceEvent(a,Ut,{event_type:ne.commerce?.capability==="product_search"?"search":"recommendation",product_id:Te.id,variant_id:Oe?.id||null,conversation_id:ne.conversationId||lt||null,external_user_id:q||"",value:Oe?.price||null,currency:Oe?.currency||"",metadata:{source:"widget_product_card",capability:ne.commerce?.capability,product_url:Te.url||""}}).catch(Le=>T?.(Le)))},[gt,pn,lt,q,T,Be,a,Ut]),ot=me.useCallback(async(ne,Te)=>{if(ne.backendMessageId){Rt(Oe=>Oe.map(Le=>Le.id===ne.id?{...Le,feedback:Te}:Le));try{await gt.sendFeedback({projectKey:a,subject:Ut,messageId:ne.backendMessageId,rating:Te,metadata:{conversation_id:ne.conversationId||lt,locale:r,page:Rg(ce)}})}catch(Oe){T?.(Oe instanceof Error?Oe:new Error("Feedback request failed"))}}},[gt,lt,r,T,ce,a,Rt,Ut]);return D.jsxs("div",{ref:kt,className:Aa("akilio-root",K),style:Bt,"data-akilio-mode":Ot?"inline":N?"floating":le?"side-panel":"drawer","data-akilio-color-mode":Se,children:[!Ot&&b==="default"&&D.jsxs(D.Fragment,{children:[tn&&D.jsx(QS,{title:Ge.tourTitle,message:Ge.tourMessage,actionLabel:Ge.tourAction,dismissLabel:Ge.tourDismiss,onDismiss:gn,onOpen:Ri,primaryColor:Bt["--akilio-primary"]||void 0,showBranding:u}),D.jsx(XS,{label:ea?Ge.launcher:Ge.title,onClick:()=>{gn(),Xn.toggleChat()},showBranding:ea,primaryColor:Bt["--akilio-primary"]||void 0})]}),!Ot&&typeof b=="function"&&b(Xn),De&&Qe&&D.jsx("button",{type:"button",className:"akilio-overlay","aria-label":Ge.close,onClick:()=>Nt(!1)}),D.jsx(ZS,{ref:_,open:Qe,isDesktop:le,inline:Ot,colorMode:Se,allowColorModeToggle:f,widgetAvailable:vn,showBranding:ea,showPoweredBy:wn,locale:r,copy:{...Ge,description:en?`${Ge.description} ${Ge.configFailed}: ${en}`:Ge.description},messages:It,streamingMessage:Ni,loading:Qt,loadingLabel:Vn.message||(()=>{const ne=Vn.stage.toLowerCase();return ne.includes("retriev")||ne.includes("search")?Ge.searching:ne.includes("ground")||ne.includes("source")?Ge.reviewingSources:ne.includes("valid")||ne.includes("check")||ne.includes("safety")?Ge.checkingAnswer:ne.includes("answer")||ne.includes("generat")||ne.includes("prepar")?Ge.preparingAnswer:Ge.loading})(),consentDecision:cr,consentGranted:yi,requireConsent:Zn,privacyNotice:ta,privacyNoticeUrl:na,onConsentDecision:vi,onClose:()=>Nt(!1),onToggleColorMode:Dt,onClear:oi,onSubmit:za,onDraftChange:ke,onFeedback:ot,onProductClick:Pe,onSuggestion:ne=>{za(ne).catch(()=>{})},primaryColor:Bt["--akilio-primary"]||void 0})]})}function pw(n){const a=n.styleIsolation??"shadow",r=(n.mode??"floating")!=="inline",o=me.useRef(null),[s,f]=me.useState(null);return me.useEffect(()=>{if(a!=="shadow"||!o.current){f(null);return}const u=o.current,g=u.shadowRoot??u.attachShadow({mode:"open"});if(r&&(u.style.position="fixed",u.style.inset="0",u.style.width="100vw",u.style.height="100dvh",u.style.margin="0",u.style.padding="0",u.style.border="0",u.style.background="transparent",u.style.pointerEvents="none",u.style.zIndex="2147483647",u.style.isolation="isolate",typeof u.showPopover=="function")){u.setAttribute("popover","manual");try{u.showPopover()}catch{u.removeAttribute("popover")}}let m=g.querySelector("style[data-akilio-styles]");m||(m=document.createElement("style"),m.setAttribute("data-akilio-styles",""),m.textContent=Mg,g.appendChild(m));let p=g.querySelector("[data-akilio-shadow-mount]");return p||(p=document.createElement("div"),p.setAttribute("data-akilio-shadow-mount",""),g.appendChild(p)),f(p),()=>{if(typeof u.hidePopover=="function")try{u.hidePopover()}catch{}u.removeAttribute("popover"),u.removeAttribute("style")}},[a,r]),a==="shadow"?D.jsx("div",{ref:o,"data-akilio-shadow-host":"true",children:s&&Sy.createPortal(D.jsx(zg,{...n}),s)}):D.jsxs(D.Fragment,{children:[a==="scoped"&&D.jsx("style",{"data-akilio-styles":!0,children:Mg}),D.jsx(zg,{...n})]})}const vo=new Map;function gw(){return typeof crypto<"u"&&crypto.randomUUID?crypto.randomUUID():`akilio-${Date.now()}-${Math.random().toString(16).slice(2)}`}function mw(n){if(n instanceof HTMLElement)return n;if(typeof n=="string"){const r=document.querySelector(n);if(!r)throw new Error(`Akilio target not found: ${n}`);return r}const a=document.createElement("div");return a.setAttribute("data-akilio-root","true"),document.body.appendChild(a),a}function Ai(n,a=!1){return n==null||n===""?a:["1","true","yes","on"].includes(n.toLowerCase())}function hw(n){if(n)try{return JSON.parse(n)}catch{return}}function bw(n){const a=n.dataset,r=a.apiBaseUrl||a.apiUrl||"https://api.akilio-ai.com",o=a.projectKey;if(!o)throw new Error("Missing data-project-key on Akilio script tag");return{apiBaseUrl:r,projectKey:o,locale:a.locale||document.documentElement.lang||"en",mode:a.mode||"floating",colorMode:a.colorMode||"system",allowColorModeToggle:Ai(a.allowColorModeToggle,!0),showAkilioBranding:Ai(a.showAkilioBranding,!0),streaming:Ai(a.streaming,!0),styleIsolation:a.styleIsolation||"shadow",defaultOpen:Ai(a.defaultOpen),launcher:a.launcher==="hidden"?"hidden":"default",persistOpenState:Ai(a.persistOpenState,!0),enableTour:Ai(a.enableTour,!0),tourDelayMs:a.tourDelayMs?Math.max(0,Number(a.tourDelayMs)||0):void 0,tourVersion:a.tourVersion||void 0,enableLocalHistory:Ai(a.enableLocalHistory,!0),enableServerHistorySync:Ai(a.enableServerHistorySync,!0),anonymousId:a.anonymousId,externalUserId:a.externalUserId,accessToken:a.accessToken||a.widgetToken,auth:a.apiKey?{apiKey:a.apiKey,apiKeyHeader:a.apiKeyHeader}:void 0,privacyNotice:a.privacyNotice,privacyNoticeUrl:a.privacyNoticeUrl,requireConsent:Ai(a.requireConsent),consentNoticeVersion:a.consentNoticeVersion||"v1",channel:a.channel||"website",audience:a.audience||"visitor",productArea:a.productArea,assistantMode:a.assistantMode,theme:hw(a.theme),pageContext:()=>({url:window.location.href,title:document.title,channel:a.channel||"website",audience:a.audience||"visitor",productArea:a.productArea,assistantMode:a.assistantMode}),integration:a.integration}}function ko(n){if(typeof document>"u")throw new Error("Akilio can only be mounted in a browser environment");const a=mw(n.target),r=a.id||gw();a.id||(a.id=r);const o=xy.createRoot(a),{target:s,...f}=n;let u=n.open,g=n.open??n.defaultOpen??!1;const m=()=>{o.render(D.jsx(pw,{...f,open:u,onOpenChange:h=>{g=h,n.onOpenChange?.(h),u!==void 0&&(u=h,m())}}))},p=h=>{u=h,g=h,m(),n.onOpenChange?.(h)};m();const b={id:r,element:a,root:o,open:()=>p(!0),close:()=>p(!1),toggle:()=>p(!g),destroy:()=>{o.unmount(),vo.delete(r),a.getAttribute("data-akilio-root")==="true"&&a.remove()}};return vo.set(r,b),b}function Ig(n){vo.get(n)?.destroy()}function Bg(){for(const n of Array.from(vo.values()))n.destroy()}const yw={mount:ko,init:ko,destroy:Ig,destroyAll:Bg};if(typeof window<"u"){window.Akilio=yw;const n=()=>{if(window.__AKILIO_WIDGET_AUTO_MOUNTED__)return;const r=document.currentScript||document.querySelector("script[data-akilio-widget]");if(r&&r.dataset.autoInit!=="false"&&r.dataset.akilioMounted!=="true"){r.dataset.akilioMounted="true",window.__AKILIO_WIDGET_AUTO_MOUNTED__=!0;try{ko(bw(r))}catch(o){delete r.dataset.akilioMounted,delete window.__AKILIO_WIDGET_AUTO_MOUNTED__,console.error("[Akilio] Widget initialization failed:",o)}}};document.readyState==="loading"?document.addEventListener("DOMContentLoaded",n,{once:!0}):n()}return qr.destroy=Ig,qr.destroyAll=Bg,qr.mount=ko,Object.defineProperty(qr,Symbol.toStringTag,{value:"Module"}),qr})({});
|
|
45
|
+
`)}}if(s.onEvent?.({event:k,data:C}),k==="status")s.onStatus?.(String(C.stage||""),C);else if(k==="conversation"){const M=C.conversation_id||C.id;M&&s.onConversation?.(String(M))}else if(k==="answer.delta")typeof C.delta=="string"&&s.onDelta?.(C.delta);else if(k==="final")b=C;else if(k==="error")throw new Error(String(C.detail||C.error||C.message||"Streaming request failed"))};for(;;){const{value:v,done:k}=await g.read();p+=m.decode(v,{stream:!k});const x=p.split(/\r?\n\r?\n/);p=x.pop()||"";for(const C of x)h(C);if(k)break}if(p.trim()&&h(p),!b)throw new Error("The stream ended before a final response was received");return b}getConversation(a,r,o){const s=new URLSearchParams({project_key:a});return this.authenticatedRequest(a,r,`/conversations/${encodeURIComponent(o)}/?${s}`)}deleteConversation(a,r,o){const s=new URLSearchParams({project_key:a});return this.authenticatedRequest(a,r,`/conversations/${encodeURIComponent(o)}/?${s}`,{method:"DELETE"})}sendCommerceEvent(a,r,o){return this.authenticatedRequest(a,r,"/commerce/events/",{method:"POST",body:JSON.stringify(o)})}sendFeedback(a){return this.authenticatedRequest(a.projectKey,a.subject,`/messages/${encodeURIComponent(a.messageId)}/feedback/`,{method:"POST",body:JSON.stringify({project_key:a.projectKey,rating:a.rating,comment:a.comment||"",metadata:a.metadata||{}})})}}function sw(n){const r=(n.locale||"").toLowerCase().startsWith("fr")?{launcher:"Demander à Akilio",title:"Demander à Akilio",description:"Propulsé par l'IA",placeholder:"Posez votre question...",helper:"Entrée pour envoyer. Maj + Entrée pour une nouvelle ligne.",submit:"Envoyer",loading:"Réflexion...",searching:"Recherche des informations pertinentes...",reviewingSources:"Consultation des sources...",checkingAnswer:"Vérification de la réponse...",preparingAnswer:"Préparation de la réponse...",emptyState:"Commencez avec une question ou choisissez une suggestion.",sources:"Sources",confidence:"Confiance",clearHistory:"Effacer",close:"Fermer",online:"Assistant IA",feedbackQuestion:"Cette réponse est-elle utile ?",feedbackThanks:"Merci pour votre retour.",voteUp:"Utile",voteDown:"Pas utile",requestFailed:"Impossible d’obtenir une réponse pour le moment.",configFailed:"Impossible de charger la configuration Akilio.",newChat:"Nouvelle conversation",privacyTitle:"Confidentialité",privacyAccept:"J’accepte que ma question et les données de conversation soient traitées pour fournir une réponse.",privacyAcceptAction:"Accepter",privacyDecline:"Refuser",privacyReview:"Revoir mon choix de confidentialité",privacyRequired:"Votre consentement est requis avant d’envoyer une question.",widgetUnavailable:"Cet assistant est temporairement indisponible.",poweredBy:"Propulsé par",aiContentWarning:"Le contenu généré par l’IA peut être inexact ou incomplet.",tourTitle:"Besoin d’aide ?",tourMessage:"Posez une question à l’assistant pour trouver rapidement une réponse.",tourAction:"Essayer",tourDismiss:"Fermer cette aide",privacyDefaultNotice:"Vos questions peuvent être enregistrées afin de fournir le service et améliorer sa qualité.",switchToLightMode:"Passer au thème clair",switchToDarkMode:"Passer au thème sombre",products:"Produits",viewProduct:"Voir le produit",fromPrice:"À partir de",unavailable:"Prix indisponible",inStock:"En stock",outOfStock:"Rupture de stock",suggestions:["Quels services offrez-vous ?","Comment puis-je vous contacter ?","Où trouver plus d’informations ?","Pouvez-vous résumer cette page ?"]}:{launcher:"Ask Akilio",title:"Ask Akilio",description:"Powered by AI",placeholder:"Ask your question...",helper:"Press Enter to send. Shift + Enter for a new line.",submit:"Send",loading:"Thinking...",searching:"Searching for relevant information...",reviewingSources:"Reviewing sources...",checkingAnswer:"Checking the answer...",preparingAnswer:"Preparing the answer...",emptyState:"Start with a question or choose a suggestion.",sources:"Sources",confidence:"Confidence",clearHistory:"Clear",close:"Close",online:"AI assistant",feedbackQuestion:"Was this answer useful?",feedbackThanks:"Thanks for your feedback.",voteUp:"Useful",voteDown:"Not useful",requestFailed:"Unable to get an answer right now.",configFailed:"Unable to load Akilio configuration.",newChat:"New chat",privacyTitle:"Privacy",privacyAccept:"I agree that my question and conversation data may be processed to provide an answer.",privacyAcceptAction:"Accept",privacyDecline:"Decline",privacyReview:"Review privacy choice",privacyRequired:"Consent is required before sending a question.",widgetUnavailable:"This assistant is temporarily unavailable.",poweredBy:"Powered by",aiContentWarning:"AI content may be inaccurate or incomplete.",tourTitle:"Need help?",tourMessage:"Ask the assistant a question to quickly find the information you need.",tourAction:"Try it",tourDismiss:"Dismiss this tip",privacyDefaultNotice:"Your questions may be stored to provide the service and improve its quality.",switchToLightMode:"Switch to light mode",switchToDarkMode:"Switch to dark mode",products:"Products",viewProduct:"View product",fromPrice:"From",unavailable:"Price unavailable",inStock:"In stock",outOfStock:"Out of stock",suggestions:["What services do you offer?","How can I contact you?","Where can I find more information?","Can you summarize this page?"]},o=n.projectConfig,s=n.overrides||{};return{...r,launcher:s.launcher||o?.theme_config?.launcher_label||r.launcher,title:s.title||o?.title||r.title,placeholder:s.placeholder||o?.placeholder||r.placeholder,suggestions:o?.starter_questions?.length?o.starter_questions:r.suggestions,...s}}const Mg=':host,.akilio-root{--akilio-primary: #0f766e;--akilio-primary-hover: #115e59;--akilio-primary-foreground: #ffffff;--akilio-accent: #2563eb;--akilio-radius: 22px;--akilio-panel-width: 440px;--akilio-z-index: 2147483647}:host{all:initial;display:block;direction:ltr;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;text-align:left;color-scheme:light dark;pointer-events:none}.akilio-launcher,.akilio-overlay,.akilio-panel{pointer-events:auto}:host *,:host *:before,:host *:after,.akilio-root,.akilio-root *:before,.akilio-root *:after{box-sizing:border-box}.akilio-root button,.akilio-root input,.akilio-root textarea,.akilio-root select{font:inherit;color:inherit}.akilio-root,.akilio-root *{box-sizing:border-box}.akilio-root{color:#18181b;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.akilio-launcher{position:fixed;right:22px;bottom:22px;z-index:calc(var(--akilio-z-index) - 10);display:inline-flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:linear-gradient(135deg,var(--akilio-primary),color-mix(in srgb,var(--akilio-primary) 80%,transparent));color:#fff!important;padding:11px 16px 11px 12px;cursor:pointer;box-shadow:0 24px 60px #18181b40,0 0 0 1px #09090b14;transition:transform .26s ease,box-shadow .18s ease,background .18s ease}.akilio-launcher:hover{transform:translateY(-2px);box-shadow:0 28px 70px #0891b240,0 0 0 1px #09090b14}.akilio-launcher span{display:grid;width:30px;height:30px;place-items:center;overflow:hidden;border-radius:999px;background:#fff!important}.akilio-launcher-logo{display:block;width:22px;height:22px;object-fit:contain}.akilio-launcher strong{font-size:14px;font-weight:750;letter-spacing:-.01em}.akilio-overlay{position:fixed;inset:0;z-index:calc(var(--akilio-z-index) - 2);border:0;background:#09090b75;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);cursor:default}.akilio-panel{position:fixed;top:0;right:0;z-index:var(--akilio-z-index);display:flex;width:min(100vw,var(--akilio-panel-width));height:100dvh;transform:translate(103%);flex-direction:column;overflow:hidden;border-left:1px solid rgba(212,212,216,.9);background:#f8fafc;box-shadow:-30px 0 90px #0f172a3d;transition:transform .26s cubic-bezier(.2,.8,.2,1)}.akilio-panel--open{transform:translate(0)}.akilio-root[data-akilio-mode=floating] .akilio-panel{top:auto;right:22px;bottom:88px;width:min(400px,calc(100vw - 32px));height:min(650px,calc(100dvh - 116px));min-height:420px;transform:translateY(18px) scale(.98);transform-origin:right bottom;border:1px solid rgba(212,212,216,.9);border-radius:var(--akilio-radius);box-shadow:0 28px 80px #0f172a3d;opacity:0;visibility:hidden;pointer-events:none;transition:transform .22s cubic-bezier(.2,.8,.2,1),opacity .18s ease,visibility .18s ease}.akilio-root[data-akilio-mode=floating] .akilio-panel--open{transform:translateY(0) scale(1);opacity:1;visibility:visible;pointer-events:auto}.akilio-panel-glow{position:absolute;inset:0 0 auto;height:185px;pointer-events:none;background:radial-gradient(circle at 0% 0%,color-mix(in srgb,var(--akilio-primary) 35%,transparent),transparent 36%),radial-gradient(circle at 100% 0%,rgba(37,99,235,.22),transparent 34%)}.akilio-panel-header{position:relative;display:flex;align-items:flex-start;gap:12px;border-bottom:1px solid rgba(212,212,216,.82);background:#ffffffc7;padding:10px;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.akilio-logo,.akilio-empty-icon{display:grid;flex-shrink:0;place-items:center}.akilio-logo img{display:block;width:100%;height:100%;object-fit:contain;object-position:left center}.akilio-empty-icon{width:64px;height:64px;border:1px solid rgba(124,58,237,.12);border-radius:calc(var(--akilio-radius) - 4px);background:#ffffffe0;box-shadow:0 18px 42px #6d28d929}.akilio-empty-icon img{display:block;width:42px;height:42px;object-fit:contain}.akilio-header-content{min-width:0;flex:1}.akilio-header-topline{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:10px}.akilio-header-title{display:flex;min-width:0;align-items:center;gap:8px}.akilio-header-title h2{overflow:hidden;margin:0;color:#09090b;font-size:14px;font-weight:800;letter-spacing:-.015em;text-overflow:ellipsis;white-space:nowrap}.akilio-online{display:inline-flex;align-items:center;gap:5px;border-radius:999px;background:#10b9811f;color:#047857;padding:3px 8px;font-size:10px;font-weight:800;white-space:nowrap}.akilio-online i{width:6px;height:6px;border-radius:999px;background:#10b981}.akilio-header-description{display:-webkit-box;margin:0;overflow:hidden;color:#71717a;font-size:12px;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:3}.akilio-header-actions{display:flex;flex-shrink:0;align-items:center;gap:4px}.akilio-header-actions button{display:grid;width:25px;height:25px;place-items:center;border:0;border-radius:999px;background:transparent;color:#71717a;cursor:pointer;transition:background .16s ease,color .16s ease}.akilio-header-actions button:hover{background:#f4f4f5;color:#09090b}.akilio-header-actions svg{width:18px;height:18px}.akilio-thread{position:relative;display:flex;flex:1;flex-direction:column;gap:14px;overflow-y:auto;padding:18px 16px 22px}.akilio-message-row{display:flex;width:100%}.akilio-message-row--user{justify-content:flex-end}.akilio-message-row--assistant{justify-content:flex-start}.akilio-stream-activity{align-items:center;gap:10px;min-height:38px;padding:2px 4px;color:#52525b}.akilio-stream-activity-icon{display:grid;width:28px;height:28px;flex:0 0 28px;place-items:center;border:1px solid color-mix(in srgb,var(--akilio-primary) 22%,#d4d4d8);border-radius:999px;background:color-mix(in srgb,var(--akilio-primary) 8%,#fff);color:var(--akilio-primary)}.akilio-stream-activity-content{display:flex;min-width:0;align-items:center;gap:8px}.akilio-stream-activity-label{font-size:13px;font-weight:550;line-height:1.4;animation:akilio-status-in .18s ease-out}.akilio-stream-activity-pulse{width:6px;height:6px;flex:0 0 6px;border-radius:999px;background:var(--akilio-primary);animation:akilio-status-pulse 1.2s ease-in-out infinite}@keyframes akilio-status-in{0%{transform:translateY(2px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes akilio-status-pulse{0%,to{transform:scale(.75);opacity:.35}50%{transform:scale(1);opacity:1}}.akilio-bubble{max-width:88%;overflow:hidden;border:1px solid rgba(212,212,216,.86);border-radius:26px 26px 26px 8px;background:#fffffff0;color:#27272a;padding:13px 15px;box-shadow:0 10px 28px #0f172a12}.akilio-bubble--user{border-color:#ffffff26;border-bottom-right-radius:8px;border-bottom-left-radius:26px;background:linear-gradient(135deg,var(--akilio-primary),color-mix(in srgb,var(--akilio-primary) 80%,transparent));color:#fff}.akilio-bubble--error{border-color:#f8717159;background:#fef2f2;color:#991b1b}.akilio-bubble-meta{display:flex;align-items:center;gap:7px;margin-bottom:8px;color:var(--akilio-primary);font-size:10px;font-weight:850;letter-spacing:.15em;text-transform:uppercase}.akilio-mini-icon{width:14px;height:14px}.akilio-confidence{margin-left:auto;border-radius:999px;background:color-mix(in srgb,var(--akilio-primary) 11%,transparent);padding:2px 7px;color:var(--akilio-primary);letter-spacing:0;text-transform:none}.akilio-answer{color:inherit;font-size:13px;line-height:1.7}.akilio-answer h2{font-size:15px;font-weight:700;margin:0}.akilio-answer p{margin:.5rem 0}.akilio-answer p:first-child{margin-top:0}.akilio-answer p:last-child{margin-bottom:0}.akilio-answer ul,.akilio-answer ol{margin:.625rem 0 .625rem 1.25rem;padding-left:.75rem}.akilio-answer ul{list-style:disc}.akilio-answer ol{list-style:decimal}.akilio-answer li{margin:.25rem 0}.akilio-answer a{color:var(--akilio-primary);font-weight:700;text-decoration:underline;text-underline-offset:3px}.akilio-answer code{border-radius:7px;background:#0f172a14;padding:.12rem .35rem;font-size:.86em}.akilio-answer pre{margin:.75rem 0;overflow-x:auto;border:1px solid rgba(148,163,184,.2);border-radius:16px;background:#020617;padding:13px}.akilio-answer pre code{background:transparent;color:#e2e8f0;padding:0}.akilio-answer .hljs-keyword,.akilio-answer .hljs-selector-tag,.akilio-answer .hljs-built_in{color:#f0abfc}.akilio-answer .hljs-string,.akilio-answer .hljs-attr,.akilio-answer .hljs-symbol{color:#86efac}.akilio-answer .hljs-number,.akilio-answer .hljs-literal{color:#fcd34d}.akilio-answer .hljs-comment{color:#64748b;font-style:italic}.akilio-answer .hljs-title,.akilio-answer .hljs-function{color:#7dd3fc}.akilio-answer .hljs-variable{color:#fdba74}.akilio-answer--user{white-space:pre-wrap}.akilio-answer--user code{background:#ffffff29}.akilio-sources{margin-top:11px;overflow:hidden;border:1px solid rgba(212,212,216,.85);border-radius:16px;background:#f4f4f5c7}.akilio-sources summary{cursor:pointer;padding:9px 11px;color:#52525b;font-size:12px;font-weight:800}.akilio-sources-list{display:grid;gap:8px;border-top:1px solid rgba(212,212,216,.85);padding:8px}.akilio-source-card{display:grid;gap:3px;border:1px solid rgba(212,212,216,.82);border-radius:13px;background:#fff;padding:8px;font-size:12px}.akilio-source-card strong{color:#18181b}.akilio-source-card span{color:#71717a}.akilio-source-card a{overflow:hidden;color:var(--akilio-primary);text-overflow:ellipsis;white-space:nowrap}.akilio-feedback{display:flex;align-items:center;gap:7px;margin-top:11px;color:#71717a;font-size:11px}.akilio-feedback span{margin-right:auto}.akilio-feedback button{display:grid;width:28px;height:28px;place-items:center;border:1px solid rgba(212,212,216,.9);border-radius:999px;background:#fff;color:#71717a;cursor:pointer}.akilio-feedback button:hover,.akilio-feedback .akilio-feedback-active{border-color:color-mix(in srgb,var(--akilio-primary) 35%,#d4d4d8);color:var(--akilio-primary)}.akilio-feedback svg{width:14px;height:14px}.akilio-dots{display:flex;gap:6px;padding:2px 0}.akilio-dots span{width:8px;height:8px;border-radius:999px;background:var(--akilio-primary);animation:akilio-bounce .9s infinite ease-in-out}.akilio-dots span:nth-child(2){animation-delay:.1s}.akilio-dots span:nth-child(3){animation-delay:.2s}@keyframes akilio-bounce{0%,80%,to{transform:translateY(0);opacity:.45}40%{transform:translateY(-4px);opacity:1}}.akilio-empty{margin:auto;display:flex;max-width:340px;flex-direction:column;align-items:center;padding:34px 0;text-align:center}.akilio-empty-icon{width:58px;height:58px;margin-bottom:16px}.akilio-empty h3{margin:0;color:#09090b;font-size:17px;font-weight:850;letter-spacing:-.02em}.akilio-empty p{margin:8px 0 0;color:#71717a;font-size:14px;line-height:1.65}.akilio-suggestions{display:grid;width:100%;gap:9px;margin-top:18px}.akilio-suggestions button{border:1px solid rgba(212,212,216,.9);border-radius:16px;background:#fff;color:#3f3f46;cursor:pointer;padding:10px 12px;text-align:left;font-size:12px;font-weight:700;box-shadow:0 5px 14px #0f172a0a;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.akilio-suggestions button:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--akilio-primary) 35%,#d4d4d8);box-shadow:0 12px 22px #0f172a14}.akilio-composer{position:relative;border-top:1px solid rgba(212,212,216,.85);background:#ffffffdb;padding:8px 12px;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.akilio-composer-box{display:flex;align-items:flex-end;gap:8px;border:1px solid rgba(212,212,216,.95);border-radius:24px;background:#f8fafc;padding:6px 12px;box-shadow:inset 0 1px 2px #0f172a0a;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.akilio-composer-box:focus-within{border-color:color-mix(in srgb,var(--akilio-primary) 55%,#d4d4d8);background:#fff;box-shadow:0 0 0 4px color-mix(in srgb,var(--akilio-primary) 13%,transparent),inset 0 1px 2px #0f172a08}.akilio-composer textarea{flex:1;min-height:36px;max-height:120px;height:36px;overflow-y:hidden;resize:none;border:0;outline:0;background:transparent;color:#09090b;padding:6px 0;font:inherit;font-size:14px;line-height:1.5}.akilio-online--unavailable{color:#a16207}.akilio-online--unavailable i{background:#f59e0b;box-shadow:0 0 0 3px #f59e0b29}.akilio-composer textarea::placeholder{color:#a1a1aa}.akilio-composer-submit{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:0;border-radius:999px;background:var(--akilio-primary);color:#fff;cursor:pointer;padding:0;transition:background .15s ease,opacity .15s ease,transform .15s ease}.akilio-composer-submit:hover:not(:disabled){background:var(--akilio-primary-hover);transform:scale(1.05)}.akilio-composer-submit:active:not(:disabled){transform:scale(.98)}.akilio-composer-submit:disabled{opacity:.45;cursor:not-allowed}.akilio-composer-submit svg{width:16px;height:16px}.akilio-composer-help{margin-top:6px;padding:0 12px;color:#71717a;font-size:11px;line-height:1.4;display:flex;align-items:center;gap:4px}.akilio-powered-by{margin-top:6px;padding:0 4px;color:#71717a;font-size:10px;font-weight:600;line-height:1.2;text-align:center}.akilio-coachmark{position:fixed;right:22px;bottom:94px;z-index:calc(var(--akilio-z-index) - 1);display:flex;width:min(320px,calc(100vw - 32px));gap:11px;border:1px solid color-mix(in srgb,var(--akilio-primary) 24%,#d4d4d8);border-radius:18px;background:#fffffffa;color:#17211f;padding:15px 38px 15px 15px;pointer-events:auto;box-shadow:0 24px 64px #042f2e2e,0 0 0 1px #0f766e0a;animation:akilio-coachmark-in .2s cubic-bezier(.2,.8,.2,1)}.akilio-coachmark:after{position:absolute;right:30px;bottom:-7px;width:13px;height:13px;transform:rotate(45deg);border-right:1px solid color-mix(in srgb,var(--akilio-primary) 24%,#d4d4d8);border-bottom:1px solid color-mix(in srgb,var(--akilio-primary) 24%,#d4d4d8);background:#fff;content:""}.akilio-coachmark-icon{display:grid;width:32px;height:32px;flex:0 0 32px;place-items:center;border-radius:999px;background:color-mix(in srgb,var(--akilio-primary) 11%,#fff);color:var(--akilio-primary)}.akilio-coachmark-icon svg{width:17px;height:17px}.akilio-coachmark-content{min-width:0}.akilio-coachmark-content strong{display:block;margin:0 0 3px;color:#17211f;font-size:14px;line-height:1.35}.akilio-coachmark-content p{margin:0;color:#52525b;font-size:12px;line-height:1.5}.akilio-coachmark-action{margin-top:9px;border:0;border-radius:999px;background:var(--akilio-primary);color:var(--akilio-primary-foreground);padding:7px 12px;cursor:pointer;font-size:11px;font-weight:750}.akilio-coachmark-close{position:absolute;top:8px;right:8px;display:grid;width:26px;height:26px;place-items:center;border:0;border-radius:999px;background:transparent;color:#71717a;cursor:pointer;font-size:20px;line-height:1}.akilio-coachmark-close:hover{background:#f4f4f5;color:#18181b}@keyframes akilio-coachmark-in{0%{transform:translateY(8px) scale(.98);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@media(max-width:640px){.akilio-launcher{right:16px;bottom:16px;padding:10px 12px}.akilio-coachmark{right:16px;bottom:82px}.akilio-launcher strong{display:none}.akilio-panel{width:100vw}.akilio-bubble{max-width:94%}.akilio-composer-help{display:none}}.akilio-root[data-akilio-mode=inline]{width:100%;height:100%;min-height:520px}.akilio-panel--inline{position:relative;inset:auto;width:100%;height:100%;min-height:520px;transform:none;border:1px solid rgba(212,212,216,.9);border-radius:var(--akilio-radius);box-shadow:0 18px 50px #0f172a1f}.akilio-privacy{display:grid;gap:8px;border-top:1px solid rgba(212,212,216,.82);background:#ffffffe6;padding:10px 14px;font-size:11px;line-height:1.45}.akilio-privacy strong{color:#18181b}.akilio-privacy p{margin:2px 0 0;color:#71717a}.akilio-privacy a{color:var(--akilio-primary);font-weight:700}.akilio-privacy label{display:flex;align-items:flex-start;gap:8px;color:#3f3f46;cursor:pointer}.akilio-privacy input{margin-top:2px;accent-color:var(--akilio-primary)}.akilio-composer textarea:disabled{cursor:not-allowed;opacity:.65}.akilio-root button:focus-visible,.akilio-root a:focus-visible,.akilio-root input:focus-visible{outline:3px solid color-mix(in srgb,var(--akilio-primary) 45%,transparent);outline-offset:2px}.akilio-root .akilio-composer textarea:focus,.akilio-root .akilio-composer textarea:focus-visible{border:0;outline:none;box-shadow:none}@media(prefers-reduced-motion:reduce){.akilio-root *,.akilio-root *:before,.akilio-root *:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.akilio-root[data-akilio-color-mode=dark]{color:#e4e4e7}.akilio-root[data-akilio-color-mode=dark] .akilio-panel,.akilio-root[data-akilio-color-mode=dark] .akilio-panel--inline{background:var(--akilio-surface, #09090b);border-color:#27272a}.akilio-root[data-akilio-color-mode=dark] .akilio-panel-header,.akilio-root[data-akilio-color-mode=dark] .akilio-privacy{background:#18181beb;border-color:#3f3f46}.akilio-root[data-akilio-color-mode=dark] .akilio-header-title h2,.akilio-root[data-akilio-color-mode=dark] .akilio-empty h3,.akilio-root[data-akilio-color-mode=dark] .akilio-privacy strong{color:var(--akilio-text, #fafafa)}.akilio-root[data-akilio-color-mode=dark] .akilio-header-description,.akilio-root[data-akilio-color-mode=dark] .akilio-empty p,.akilio-root[data-akilio-color-mode=dark] .akilio-privacy p,.akilio-root[data-akilio-color-mode=dark] .akilio-privacy label,.akilio-root[data-akilio-color-mode=dark] .akilio-stream-activity{color:var(--akilio-muted, #a1a1aa)}.akilio-root[data-akilio-color-mode=dark] .akilio-stream-activity-icon{border-color:color-mix(in srgb,var(--akilio-primary) 35%,#3f3f46);background:color-mix(in srgb,var(--akilio-primary) 15%,#18181b)}.akilio-root[data-akilio-color-mode=dark] .akilio-bubble{background:#18181b;border-color:#3f3f46;color:#e4e4e7;box-shadow:none}.akilio-root[data-akilio-color-mode=dark] .akilio-bubble--user{background:linear-gradient(135deg,var(--akilio-primary),var(--akilio-accent));color:var(--akilio-primary-foreground)}.akilio-root[data-akilio-color-mode=dark] .akilio-sources{background:#09090b;border-color:#3f3f46}.akilio-root[data-akilio-color-mode=dark] .akilio-sources-list{border-color:#3f3f46}.akilio-root[data-akilio-color-mode=dark] .akilio-source-card,.akilio-root[data-akilio-color-mode=dark] .akilio-feedback button,.akilio-root[data-akilio-color-mode=dark] .akilio-composer-box{background:#18181b;border-color:#3f3f46;color:#e4e4e7}.akilio-root[data-akilio-color-mode=dark] .akilio-source-card strong{color:#fafafa}.akilio-root[data-akilio-color-mode=dark] .akilio-source-card span,.akilio-root[data-akilio-color-mode=dark] .akilio-feedback{color:#a1a1aa}@media(prefers-color-scheme:dark){.akilio-root[data-akilio-color-mode=system] .akilio-panel,.akilio-root[data-akilio-color-mode=system] .akilio-panel--inline{background:#09090b;border-color:#27272a}.akilio-root[data-akilio-color-mode=system] .akilio-panel-header,.akilio-root[data-akilio-color-mode=system] .akilio-privacy{background:#18181beb;border-color:#3f3f46}.akilio-root[data-akilio-color-mode=system] .akilio-header-title h2,.akilio-root[data-akilio-color-mode=system] .akilio-empty h3,.akilio-root[data-akilio-color-mode=system] .akilio-privacy strong{color:#fafafa}.akilio-root[data-akilio-color-mode=system] .akilio-header-description,.akilio-root[data-akilio-color-mode=system] .akilio-empty p,.akilio-root[data-akilio-color-mode=system] .akilio-privacy p,.akilio-root[data-akilio-color-mode=system] .akilio-privacy label{color:#a1a1aa}.akilio-root[data-akilio-color-mode=system] .akilio-bubble{background:#18181b;border-color:#3f3f46;color:#e4e4e7;box-shadow:none}.akilio-root[data-akilio-color-mode=system] .akilio-bubble--user{background:linear-gradient(135deg,var(--akilio-primary),var(--akilio-accent));color:var(--akilio-primary-foreground)}.akilio-root[data-akilio-color-mode=system] .akilio-source-card,.akilio-root[data-akilio-color-mode=system] .akilio-feedback button,.akilio-root[data-akilio-color-mode=system] .akilio-composer-box{background:#18181b;border-color:#3f3f46;color:#e4e4e7}}@media(max-width:640px){.akilio-launcher{right:14px;bottom:max(14px,env(safe-area-inset-bottom));padding:10px}.akilio-launcher strong{display:none}.akilio-panel{width:100vw;height:100dvh;border-left:0}.akilio-root[data-akilio-mode=floating] .akilio-panel{right:14px;bottom:calc(76px + env(safe-area-inset-bottom));width:calc(100vw - 28px);height:min(640px,calc(100dvh - 104px - env(safe-area-inset-bottom)));min-height:min(420px,calc(100dvh - 104px));border:1px solid rgba(212,212,216,.9);border-radius:18px}.akilio-panel-header{padding-top:max(10px,env(safe-area-inset-top))}.akilio-thread{padding-inline:12px}.akilio-bubble{max-width:94%}.akilio-composer{padding-bottom:max(10px,env(safe-area-inset-bottom))}.akilio-root[data-akilio-mode=inline]{min-height:480px}.akilio-panel--inline{min-height:480px;border-radius:16px}}.akilio-root[data-akilio-color-mode=dark] .akilio-composer{background:#18181beb;border-color:#3f3f46}.akilio-root[data-akilio-color-mode=dark] .akilio-composer-box{background:#18181b;border-color:#3f3f46}.akilio-root[data-akilio-color-mode=dark] .akilio-composer textarea{color:var(--akilio-text, #fafafa);caret-color:var(--akilio-text, #fafafa);-webkit-text-fill-color:var(--akilio-text, #fafafa)}.akilio-root[data-akilio-color-mode=dark] .akilio-composer textarea::placeholder{color:var(--akilio-muted, #a1a1aa);-webkit-text-fill-color:var(--akilio-muted, #a1a1aa);opacity:1}.akilio-root[data-akilio-color-mode=dark] .akilio-composer-help,.akilio-root[data-akilio-color-mode=dark] .akilio-powered-by{color:var(--akilio-muted, #a1a1aa)}.akilio-root[data-akilio-color-mode=dark] .akilio-coachmark{border-color:color-mix(in srgb,var(--akilio-primary) 34%,#3f3f46);background:#18181bfa;color:#fafafa;box-shadow:0 24px 64px #0000006b}.akilio-root[data-akilio-color-mode=dark] .akilio-coachmark:after{border-color:color-mix(in srgb,var(--akilio-primary) 34%,#3f3f46);background:#18181b}.akilio-root[data-akilio-color-mode=dark] .akilio-coachmark-content strong{color:#fafafa}.akilio-root[data-akilio-color-mode=dark] .akilio-coachmark-content p,.akilio-root[data-akilio-color-mode=dark] .akilio-coachmark-close{color:#a1a1aa}.akilio-root[data-akilio-color-mode=dark] .akilio-coachmark-close:hover{background:#27272a;color:#fafafa}.akilio-root[data-akilio-color-mode=dark] .akilio-composer-box:focus-within{background:#18181b;border-color:color-mix(in srgb,var(--akilio-primary) 55%,#3f3f46)}.akilio-privacy-consent-copy{margin-top:6px!important}.akilio-privacy-actions{display:flex;justify-content:flex-end;gap:8px}.akilio-privacy-actions button{border:1px solid rgba(161,161,170,.65);border-radius:999px;padding:6px 12px;font:inherit;font-weight:700;cursor:pointer}.akilio-privacy-decline{background:transparent;color:#52525b}.akilio-privacy-accept{border-color:var(--akilio-primary)!important;background:var(--akilio-primary);color:#fff}.akilio-privacy-review{border:0;background:transparent;color:var(--akilio-primary);font:inherit;font-weight:700;text-decoration:underline;cursor:pointer;padding:0}.akilio-products{margin-top:14px;min-width:0}.akilio-products-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px;font-size:12px;color:#64748b}.akilio-products-heading span{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 7px;border-radius:999px;background:#eef2ff;color:#4338ca;font-weight:700}.akilio-products-grid,.akilio-products-grid--vertical{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.akilio-products-grid--horizontal{display:flex;flex-direction:column;gap:10px}@media(max-width:640px){.akilio-products-grid--vertical{grid-template-columns:1fr}}@media(max-width:390px){.akilio-products-grid--vertical{grid-template-columns:1fr}.akilio-products-grid--horizontal{gap:8px}}.akilio-product-card{min-width:0;overflow:hidden;border:1px solid #e2e8f0;border-radius:16px;background:#fff;box-shadow:0 6px 20px #0f172a0f}.akilio-product-media{position:relative;aspect-ratio:4 / 3;overflow:hidden;background:#f1f5f9}.akilio-product-media img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .18s ease}.akilio-product-card:hover .akilio-product-media img{transform:scale(1.025)}.akilio-product-placeholder{width:100%;height:100%;display:grid;place-items:center;color:var(--akilio-primary);font-size:30px;font-weight:800;background:linear-gradient(145deg,#0891b21f,#2563eb14)}.akilio-stock{position:absolute;top:8px;right:8px;max-width:calc(100% - 16px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:4px 7px;border-radius:999px;background:#7f1d1de6;color:#fff;font-size:9px;font-weight:700}.akilio-stock--available{background:#065f46e6}.akilio-product-body{padding:11px}.akilio-product-vendor,.akilio-product-variant{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#64748b;font-size:10px}.akilio-product-card h4{margin:4px 0 8px;min-height:34px;overflow:hidden;color:#0f172a;font-size:13px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.akilio-product-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:5px}.akilio-product-price strong{color:#0f172a;font-size:14px}.akilio-product-price del{color:#94a3b8;font-size:10px}.akilio-product-action{width:auto;min-height:auto;display:inline-flex;align-items:center;justify-content:center;padding:6px 12px;border:0;border-radius:6px;background:transparent;color:var(--akilio-primary);font:inherit;font-size:11px;font-weight:700;text-decoration:underline;text-underline-offset:2px;cursor:pointer;transition:color .15s ease,background .15s ease}.akilio-product-action:hover{background:color-mix(in srgb,var(--akilio-primary) 8%,transparent);text-decoration:underline}.akilio-product-action:focus-visible{outline:3px solid color-mix(in srgb,var(--akilio-primary) 28%,transparent);outline-offset:2px}.akilio-product-action:disabled{opacity:.55;cursor:not-allowed}.akilio-root[data-akilio-color-mode=dark] .akilio-products-heading{color:#94a3b8}.akilio-root[data-akilio-color-mode=dark] .akilio-products-heading span{background:#312e81;color:#e0e7ff}.akilio-root[data-akilio-color-mode=dark] .akilio-product-card{background:#111827;border-color:#334155;box-shadow:none}.akilio-root[data-akilio-color-mode=dark] .akilio-product-media{background:#1e293b}.akilio-root[data-akilio-color-mode=dark] .akilio-product-card h4,.akilio-root[data-akilio-color-mode=dark] .akilio-product-price strong{color:#f8fafc}.akilio-root[data-akilio-color-mode=dark] .akilio-product-vendor,.akilio-root[data-akilio-color-mode=dark] .akilio-product-variant{color:#94a3b8}@media(max-width:390px){.akilio-products-grid{grid-template-columns:1fr}.akilio-product-media{aspect-ratio:16 / 9}}.akilio-response-suggestions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.akilio-response-suggestions button{appearance:none;border:1px solid color-mix(in srgb,var(--akilio-primary) 26%,#d4d4d8);border-radius:15px;background:color-mix(in srgb,var(--akilio-primary) 7%,#ffffff);color:color-mix(in srgb,var(--akilio-primary) 72%,#18181b);cursor:pointer;padding:8px 11px;text-align:left;font:inherit;font-size:12px;font-weight:700;line-height:1.35;transition:transform .15s ease,border-color .15s ease,background .15s ease}.akilio-response-suggestions button:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--akilio-primary) 52%,#d4d4d8);background:color-mix(in srgb,var(--akilio-primary) 12%,#ffffff)}.akilio-response-suggestions button:focus-visible{outline:3px solid color-mix(in srgb,var(--akilio-primary) 24%,transparent);outline-offset:2px}.akilio-root[data-akilio-color-mode=dark] .akilio-response-suggestions button{border-color:color-mix(in srgb,var(--akilio-primary) 34%,#3f3f46);background:color-mix(in srgb,var(--akilio-primary) 14%,#18181b);color:#f4f4f5}.akilio-product-card--vertical{display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid #e2e8f0;border-radius:16px;background:#fff;box-shadow:0 6px 20px #0f172a0f}.akilio-product-card--vertical .akilio-product-media{position:relative;aspect-ratio:4 / 3;overflow:hidden;background:#f1f5f9}.akilio-product-card--vertical .akilio-product-body{padding:11px;display:flex;flex-direction:column}.akilio-product-card--horizontal{display:flex;flex-direction:row;gap:12px;min-width:0;overflow:hidden;border:1px solid #e2e8f0;border-radius:16px;background:#fff;box-shadow:0 6px 20px #0f172a0f;align-items:stretch}.akilio-product-card--horizontal .akilio-product-media{flex:0 0 25%;min-width:80px;position:relative;aspect-ratio:1 / 1;overflow:hidden;background:#f1f5f9}.akilio-product-card--horizontal .akilio-product-body{flex:1;padding:11px;display:flex;flex-direction:column;justify-content:space-between;min-width:0}.akilio-product-card--horizontal .akilio-product-action{width:100%}.akilio-root[data-akilio-color-mode=dark] .akilio-product-card--vertical,.akilio-root[data-akilio-color-mode=dark] .akilio-product-card--horizontal{background:#111827;border-color:#334155;box-shadow:none}.akilio-root[data-akilio-color-mode=dark] .akilio-product-card--vertical .akilio-product-media,.akilio-root[data-akilio-color-mode=dark] .akilio-product-card--horizontal .akilio-product-media{background:#1e293b}@media(prefers-color-scheme:dark){.akilio-root[data-akilio-color-mode=system] .akilio-product-card--vertical,.akilio-root[data-akilio-color-mode=system] .akilio-product-card--horizontal{background:#111827;border-color:#334155;box-shadow:none}.akilio-root[data-akilio-color-mode=system] .akilio-product-card--vertical .akilio-product-media,.akilio-root[data-akilio-color-mode=system] .akilio-product-card--horizontal .akilio-product-media{background:#1e293b}}@media(max-width:480px){.akilio-product-card--horizontal{flex-direction:column;gap:0}.akilio-product-card--horizontal .akilio-product-media{flex:1;min-width:unset;aspect-ratio:4 / 3}}@media(max-width:390px){.akilio-product-card--vertical .akilio-product-media{aspect-ratio:16 / 9}.akilio-product-card--horizontal{flex-direction:column}.akilio-product-card--horizontal .akilio-product-media{aspect-ratio:16 / 9}}.source-ref{display:inline-flex;align-items:center;justify-content:center;margin-left:.3rem;padding:.1rem .45rem;border-radius:999px;font-size:.68rem;font-weight:600;letter-spacing:.01em;line-height:1.2;vertical-align:super;color:#334155;background:linear-gradient(180deg,#f8fafc,#eef2ff);border:1px solid #dbeafe;box-shadow:0 1px 2px #0f172a14;-webkit-user-select:none;user-select:none;white-space:nowrap}';class yo extends Error{code;constructor(a,r){super(r),this.name="AkilioPublicApiError",this.code=a}}function Kn(n,a){typeof window>"u"||window.dispatchEvent(new CustomEvent(`akilio:${n}`,{detail:a||{}}))}function fn(n,a){return new yo(n,a)}function sr(){return typeof crypto<"u"&&crypto.randomUUID?crypto.randomUUID():`${Date.now()}-${Math.random().toString(16).slice(2)}`}function il(){return new Date().toISOString()}function Rg(n){const a=typeof n=="function"?n():n||{};return typeof window>"u"?a:{url:a.url||window.location.href,title:a.title||document.title,...a}}function cw(n,a){const r={...n?.theme_config||{},...a||{}};return{"--akilio-primary":String(r.primary_color||"#0F766E"),"--akilio-primary-hover":String(r.primary_dark_color||"#115E59"),"--akilio-primary-foreground":String(r.primary_foreground_color||"#ffffff"),"--akilio-accent":String(r.accent_color||"#2563eb"),"--akilio-radius":String(r.radius||"22px"),"--akilio-panel-width":`${Number(r.panel_width||440)}px`,"--akilio-z-index":String(Number(r.z_index||2147483647)),"--akilio-surface":String(r.surface_color||""),"--akilio-text":String(r.text_color||""),"--akilio-muted":String(r.muted_color||"")}}function uw(n,a){me.useEffect(()=>{if(typeof document>"u")return;const r=document.documentElement;return r.classList.toggle("akilio-panel-open",n&&a),()=>r.classList.remove("akilio-panel-open")},[n,a])}function Dg(n){return Array.isArray(n)?n.filter(a=>typeof a=="string").map(a=>a.trim()).filter(Boolean).slice(0,6):[]}function fw(n){if(typeof n.answer=="string"&&n.answer.trim())return n.answer;const a=n.content;if(a&&typeof a=="object")for(const r of["answer","text","message"]){const o=a[r];if(typeof o=="string"&&o.trim())return o}return""}function Lg(n){if(!n)return null;try{const a=JSON.parse(n);return a&&typeof a=="object"?a:null}catch{return null}}function dw(n,a=!0){return{id:sr(),role:"assistant",content:fw(n),backendMessageId:n.message_id,conversationId:n.conversation_id,confidence:n.confidence,sources:n.sources||[],provider:n.provider,model:n.model,commerce:a&&n.commerce||null,suggestions:Dg(n.suggestions),createdAt:il()}}function zg({apiBaseUrl:n="https://api.akilio-ai.com/v1",projectKey:a,locale:r="en",mode:o="floating",colorMode:s="system",allowColorModeToggle:f=!0,showAkilioBranding:u=!0,streaming:g=!0,defaultOpen:m=!1,open:p,launcher:b="default",persistOpenState:h=!0,enableTour:v=!0,tourDelayMs:k=3e3,tourVersion:x="v1",enableLocalHistory:C=!0,enableServerHistorySync:M=!0,anonymousId:w,externalUserId:q,channel:H,audience:Q,productArea:te,assistantMode:L,pageContext:ce,auth:ee,accessToken:fe,privacyNotice:z,privacyNoticeUrl:se,requireConsent:re,consentNoticeVersion:_e="v1",initialConsent:oe=!1,onConsentChange:X,copy:Y,theme:G,className:K,onOpenChange:ve,onMessage:S,onProductClick:Be,onError:T}){const _=me.useRef(null),J=me.useRef(null),pe=me.useRef(0),de=me.useRef({open:!1,busy:!1,conversationId:null}),Ce=`akilio:${a}:config`,[Ue,kt]=me.useState(null),Ke=me.useMemo(()=>({...ee||{},accessToken:ee?.accessToken||fe}),[fe,ee]),gt=me.useMemo(()=>new ow({apiBaseUrl:n,auth:Ke,mode:o,locale:r}),[n,Ke,o,r]),zn=WS(),[Vt,bi]=me.useState(Ag(localStorage.getItem(Ce),null)),[en,Ve]=me.useState(null),[Qt,Sn]=me.useState(!1),[Vn,In]=me.useState({stage:"",message:""}),[Ni,Bn]=me.useState(null),[$n,Rt]=ew({enabled:C,projectKey:a,locale:r}),[lt,j]=or({enabled:C,key:`akilio:${a}:${r}:conversation-id:v2`}),ae=me.useMemo(()=>sr(),[a]),[Ae]=or({enabled:!0,key:`akilio:${a}:widget-subject:v1`,initialValue:ae}),[qe,nt]=or({enabled:h,key:`akilio:${a}:panel-open:v2`,initialValue:m?"true":""}),[$t,dn]=or({enabled:!0,key:`akilio:${a}:coachmark:${x||"v1"}`}),[tn,Jt]=me.useState(!1),[xt,Et]=or({enabled:!0,key:`akilio:${a}:consent:${_e}`,initialValue:oe?"true":""}),[St,nn]=me.useState(m),[Ci,La]=or({enabled:!0,key:`akilio:${a}:color-mode:v1`}),[Wi,Oi]=me.useState("light"),Ot=o==="inline",N=o==="floating",V=o==="hybrid"||o==="side-panel",le=!Ot&&(o==="side-panel"||o==="hybrid"&&zn),De=!Ot&&!N&&(o==="drawer"||o==="hybrid"&&!zn),Qe=Ot||(p??(h&&qe==="true"||St)),he=s||G?.color_mode||Vt?.theme_config?.color_mode||"system",ge=Ci==="light"||Ci==="dark"||Ci==="system"?Ci:he,Se=ge==="system"?Wi:ge,Ge=me.useMemo(()=>sw({locale:r,projectConfig:Vt,overrides:Y}),[Y,r,Vt]),ct=Vt?.widget_policy,vn=ct?.available!==!1,pn=ct?.commerce_enabled!==!1,Mi=ct?.assistant_mode||L,ea=ct?.branding==="akilio_required"||ct?.branding!=="white_label"&&u,wn=ct?.branding==="akilio_required",It=me.useMemo(()=>pn?$n:$n.map(ne=>ne.commerce?{...ne,commerce:null}:ne),[pn,$n]),Bt=me.useMemo(()=>cw(Vt,G),[Vt,G]),Zn=re??Vt?.require_consent??!1,ta=z||Vt?.privacy_notice||"",na=se||Vt?.privacy_notice_url,cr=xt==="true"||xt==="accepted"?"accepted":xt==="rejected"?"rejected":"pending",yi=cr==="accepted",Ut=q||w||Ae||void 0,Nt=me.useCallback(ne=>{if(Ot)return;const Te=de.current.open!==ne;de.current.open=ne,p===void 0&&(nn(ne),h&&nt(ne?"true":"")),ve?.(ne),Te&&Kn(ne?"open":"close")},[p,Ot,ve,h,nt]),Xn=me.useMemo(()=>({open:Qe,openChat:()=>Nt(!0),closeChat:()=>Nt(!1),toggleChat:()=>Nt(!Qe)}),[Qe,Nt]),gn=me.useCallback(()=>{Jt(!1),dn("seen")},[dn]),Ri=me.useCallback(()=>{gn(),Nt(!0)},[gn,Nt]),vi=me.useCallback(ne=>{Et(ne==="pending"?"":ne),ne!=="pending"&&X?.(ne==="accepted")},[X,Et]);me.useEffect(()=>{if(typeof window>"u"||!window.matchMedia)return;const ne=window.matchMedia("(prefers-color-scheme: dark)"),Te=()=>Oi(ne.matches?"dark":"light");return Te(),ne.addEventListener?.("change",Te),()=>ne.removeEventListener?.("change",Te)},[]);const Dt=me.useCallback(()=>{La(Se==="dark"?"light":"dark")},[Se,La]);uw(Qe,le&&V),me.useEffect(()=>{if(!(v&&!Ot&&b==="default"&&vn&&!Qe)){Jt(!1),Qe&&v&&dn("seen");return}const Te=(Me=!1)=>{(Me||$t!=="seen")&&Jt(!0)},Oe=window.setTimeout(()=>Te(!1),Math.min(6e4,Math.max(0,Number(k)||0))),Le=()=>Te(!0);return window.addEventListener("akilio:start-tour",Le),()=>{window.clearTimeout(Oe),window.removeEventListener("akilio:start-tour",Le)}},[v,Ot,b,Qe,dn,k,$t,vn]),me.useEffect(()=>{if(!tn)return;const ne=Te=>{Te.key==="Escape"&&gn()};return window.addEventListener("keydown",ne),()=>window.removeEventListener("keydown",ne)},[tn,gn]),me.useEffect(()=>{let ne=!1;return gt.getProjectConfig(a).then(Te=>{ne||(window.localStorage.setItem(Ce,JSON.stringify(Te)),bi(Te),Ve(null))}).catch(Te=>{ne||(Ve(Te.message),T?.(Te))}),()=>{ne=!0}},[gt,T,a]),me.useEffect(()=>{Ut&>.prepareWidgetToken(a,Ut).catch(ne=>T?.(ne))},[gt,T,a,Ut]),me.useEffect(()=>{if(!M||!Ut||!lt||$n.length>0)return;let ne=!1;return gt.getConversation(a,Ut,lt).then(Te=>{ne||Rt(Te.messages.map(Oe=>({id:Oe.id,backendMessageId:Oe.role==="assistant"?Oe.id:void 0,conversationId:Te.id,role:Oe.role,content:Oe.content,sources:Oe.sources||[],confidence:Oe.confidence,commerce:(()=>{const Le=Oe.metadata&&typeof Oe.metadata=="object"?Oe.metadata:null,Me=Lg(Oe.structured_content);return pn&&(Le?.commerce||Me?.commerce)||null})(),suggestions:(()=>{const Le=Oe.metadata&&typeof Oe.metadata=="object"?Oe.metadata:null,Me=Lg(Oe.structured_content);return Dg(Le?.suggestions||Me?.suggestions)})(),createdAt:Oe.created_at})).slice(-lr))}).catch(()=>j("")),()=>{ne=!0}},[gt,pn,lt,M,$n.length,a,j,Rt,Ut]);const oi=me.useCallback(()=>{Rt([]),j("")},[j,Rt]),za=me.useCallback(async ne=>{if(!ne)throw fn("INVALID_QUESTION","Question is empty");if(!vn)throw fn("INVALID_QUESTION","This widget is not currently available");if(Qt)throw fn("BUSY","An answer is already in progress");if(Zn&&!yi)throw fn("INVALID_QUESTION","Privacy consent is required");const Te=Rg(ce),Oe={id:sr(),role:"user",content:ne,createdAt:il(),conversationId:lt||void 0};Rt(Me=>[...Me,Oe].slice(-lr)),S?.(Oe),Kn("question",{question:ne}),Sn(!0),de.current.busy=!0,Kn("answer-start",{question:ne}),In({stage:"",message:""}),Bn(null);const Le=sr();try{const Me={project_key:a,conversation_id:lt||void 0,message:ne,locale:r,channel:H||Te.channel||"docs",audience:Q||Te.audience,product_area:te||Te.productArea,assistant_mode:Mi||void 0,page:{url:Te.url,title:Te.title,...Te.metadata||{}},anonymous_id:w,external_user_id:q,consent:{granted:yi,granted_at:yi?il():void 0,notice_version:_e}};let Re="";const kn=g?await gt.sendMessageStream(a,Ut,Me,{onStatus:(Ht,Di)=>{const Qn=Di.message||Di.label;In({stage:Ht,message:typeof Qn=="string"?Qn:""})},onConversation:Ht=>{de.current.conversationId=Ht,j(Ht)},onDelta:Ht=>{Re+=Ht,Kn("answer-delta",{delta:Ht}),Bn({id:Le,role:"assistant",content:Re,conversationId:lt||void 0,createdAt:il(),streaming:!0})}}):await gt.sendMessage(a,Ut,Me);de.current.conversationId=kn.conversation_id,j(kn.conversation_id);const si={...dw(kn,pn),id:Re?Le:sr(),streaming:!1};return Bn(null),Rt(Ht=>[...Ht,si].slice(-lr)),S?.(si),Kn("answer-complete",{response:kn}),kn}catch(Me){const Re=Me instanceof Error?Me:new Error(Ge.requestFailed),kn={id:sr(),role:"assistant",content:Re.message||Ge.requestFailed,createdAt:il(),error:!0};throw Bn(null),Rt(si=>[...si,kn].slice(-lr)),T?.(Re),Kn("error",{code:Me instanceof yo?Me.code:"STREAM_FAILED",message:Re.message||Ge.requestFailed}),Re}finally{Sn(!1),de.current.busy=!1,In({stage:"",message:""})}},[w,Q,H,gt,pn,yi,_e,lt,Ge.requestFailed,Zn,Mi,q,Qt,r,T,S,ce,te,a,j,Rt,g,Ut,vn]),W=me.useCallback(()=>{const ne=J.current;ne&&(J.current=null,ne.timer&&window.clearTimeout(ne.timer),ne.reject(fn("TYPING_CANCELLED","Draft typing was cancelled")),Kn("typing-cancel",{draft:_.current?.getDraft()||""}))},[]),ke=me.useCallback((ne,Te)=>{Te&&J.current&&W(),Kn("draft-change",{draft:ne})},[W]);de.current={open:Qe,busy:Qt,conversationId:lt||null},me.useEffect(()=>{if(typeof window>"u"||window.AkilioWidget)return;const ne=()=>{if(!_.current)throw fn("NOT_READY","The widget is not ready");return _.current},Te=async(Le,Me={})=>{if(W(),typeof Le!="string")throw fn("INVALID_QUESTION","Draft must be a string");ne().setDraft(Le,{focus:Me.focus,clearExisting:Me.clearExisting??!0}),await new Promise(Re=>window.setTimeout(Re,0))},Oe=Object.freeze({open:async()=>{Nt(!0),await new Promise(Le=>window.setTimeout(Le,0))},close:async()=>{Nt(!1),await new Promise(Le=>window.setTimeout(Le,0))},setDraft:Te,typeDraft:async(Le,Me={})=>{if(W(),typeof Le!="string"||!Le.length)throw fn("INVALID_QUESTION","Question must not be empty");const Re=ne(),kn=Me.clearExisting===!1?Re.getDraft():"",si=Math.max(0,Number(Me.interval??35)),Ht=++pe.current;return Kn("typing-start",{textLength:Le.length}),new Promise(async(Di,Qn)=>{J.current={id:Ht,reject:Qn};try{for(let ki=1;ki<=Le.length;ki+=1){if(await new Promise(mn=>{const Ei=window.setTimeout(mn,si);J.current?.id===Ht&&(J.current.timer=Ei)}),J.current?.id!==Ht)return;Re.setDraft(`${kn}${Le.slice(0,ki)}`,{clearExisting:!0,focus:Me.focus&&ki===1})}if(J.current?.id!==Ht)return;J.current=null,Kn("typing-complete",{draft:Re.getDraft()}),Di()}catch(ki){J.current=null,Qn(ki)}})},clearDraft:async()=>{W(),ne().clearDraft()},cancelTyping:W,submit:async()=>{if(de.current.busy)throw fn("BUSY","An answer is already in progress");const Le=ne();if(!Le.getDraft().trim())throw fn("EMPTY_DRAFT","The draft is empty");try{return await Le.submitDraft()}catch(Re){throw Re instanceof yo?Re:Re instanceof Error&&Re.message==="BUSY"?fn("BUSY","An answer is already in progress"):Re instanceof Error&&Re.message==="EMPTY_DRAFT"?fn("EMPTY_DRAFT","The draft is empty"):Re instanceof Error&&Re.message==="INVALID_QUESTION"?fn("INVALID_QUESTION","The question is invalid"):fn("STREAM_FAILED",Re instanceof Error?Re.message:"Streaming failed")}},ask:async(Le,Me)=>(await Te(Le,Me),Oe.submit()),reset:async()=>{try{if(W(),de.current.busy)throw fn("BUSY","An answer is already in progress");oi(),de.current.conversationId=null,ne().clearDraft(),Bn(null),Kn("reset")}catch(Le){throw Le instanceof yo?Le:fn("RESET_FAILED","The conversation could not be reset")}},getState:()=>({ready:!!_.current,open:de.current.open,busy:de.current.busy,typing:!!J.current,draft:_.current?.getDraft()||"",conversationId:de.current.conversationId})});return window.AkilioWidget=Oe,Kn("ready"),()=>{W(),window.AkilioWidget===Oe&&delete window.AkilioWidget}},[W,oi,Nt]);const Pe=me.useCallback((ne,Te,Oe)=>{pn&&(Be?.(Te,Oe),gt.sendCommerceEvent(a,Ut,{event_type:ne.commerce?.capability==="product_search"?"search":"recommendation",product_id:Te.id,variant_id:Oe?.id||null,conversation_id:ne.conversationId||lt||null,external_user_id:q||"",value:Oe?.price||null,currency:Oe?.currency||"",metadata:{source:"widget_product_card",capability:ne.commerce?.capability,product_url:Te.url||""}}).catch(Le=>T?.(Le)))},[gt,pn,lt,q,T,Be,a,Ut]),ot=me.useCallback(async(ne,Te)=>{if(ne.backendMessageId){Rt(Oe=>Oe.map(Le=>Le.id===ne.id?{...Le,feedback:Te}:Le));try{await gt.sendFeedback({projectKey:a,subject:Ut,messageId:ne.backendMessageId,rating:Te,metadata:{conversation_id:ne.conversationId||lt,locale:r,page:Rg(ce)}})}catch(Oe){T?.(Oe instanceof Error?Oe:new Error("Feedback request failed"))}}},[gt,lt,r,T,ce,a,Rt,Ut]);return D.jsxs("div",{ref:kt,className:Aa("akilio-root",K),style:Bt,"data-akilio-mode":Ot?"inline":N?"floating":le?"side-panel":"drawer","data-akilio-color-mode":Se,children:[!Ot&&b==="default"&&D.jsxs(D.Fragment,{children:[tn&&D.jsx(QS,{title:Ge.tourTitle,message:Ge.tourMessage,actionLabel:Ge.tourAction,dismissLabel:Ge.tourDismiss,onDismiss:gn,onOpen:Ri,primaryColor:Bt["--akilio-primary"]||void 0,showBranding:u}),D.jsx(XS,{label:ea?Ge.launcher:Ge.title,onClick:()=>{gn(),Xn.toggleChat()},showBranding:ea,primaryColor:Bt["--akilio-primary"]||void 0})]}),!Ot&&typeof b=="function"&&b(Xn),De&&Qe&&D.jsx("button",{type:"button",className:"akilio-overlay","aria-label":Ge.close,onClick:()=>Nt(!1)}),D.jsx(ZS,{ref:_,open:Qe,isDesktop:le,inline:Ot,colorMode:Se,allowColorModeToggle:f,widgetAvailable:vn,showBranding:ea,showPoweredBy:wn,locale:r,copy:{...Ge,description:en?`${Ge.description} ${Ge.configFailed}: ${en}`:Ge.description},messages:It,streamingMessage:Ni,loading:Qt,loadingLabel:Vn.message||(()=>{const ne=Vn.stage.toLowerCase();return ne.includes("retriev")||ne.includes("search")?Ge.searching:ne.includes("ground")||ne.includes("source")?Ge.reviewingSources:ne.includes("valid")||ne.includes("check")||ne.includes("safety")?Ge.checkingAnswer:ne.includes("answer")||ne.includes("generat")||ne.includes("prepar")?Ge.preparingAnswer:Ge.loading})(),consentDecision:cr,consentGranted:yi,requireConsent:Zn,privacyNotice:ta,privacyNoticeUrl:na,onConsentDecision:vi,onClose:()=>Nt(!1),onToggleColorMode:Dt,onClear:oi,onSubmit:za,onDraftChange:ke,onFeedback:ot,onProductClick:Pe,onSuggestion:ne=>{za(ne).catch(()=>{})},primaryColor:Bt["--akilio-primary"]||void 0})]})}function pw(n){const a=n.styleIsolation??"shadow",r=(n.mode??"floating")!=="inline",o=me.useRef(null),[s,f]=me.useState(null);return me.useEffect(()=>{if(a!=="shadow"||!o.current){f(null);return}const u=o.current,g=u.shadowRoot??u.attachShadow({mode:"open"});if(r&&(u.style.position="fixed",u.style.inset="0",u.style.width="100vw",u.style.height="100dvh",u.style.margin="0",u.style.padding="0",u.style.border="0",u.style.background="transparent",u.style.pointerEvents="none",u.style.zIndex="2147483647",u.style.isolation="isolate",typeof u.showPopover=="function")){u.setAttribute("popover","manual");try{u.showPopover()}catch{u.removeAttribute("popover")}}let m=g.querySelector("style[data-akilio-styles]");m||(m=document.createElement("style"),m.setAttribute("data-akilio-styles",""),m.textContent=Mg,g.appendChild(m));let p=g.querySelector("[data-akilio-shadow-mount]");return p||(p=document.createElement("div"),p.setAttribute("data-akilio-shadow-mount",""),g.appendChild(p)),f(p),()=>{if(typeof u.hidePopover=="function")try{u.hidePopover()}catch{}u.removeAttribute("popover"),u.removeAttribute("style")}},[a,r]),a==="shadow"?D.jsx("div",{ref:o,"data-akilio-shadow-host":"true",children:s&&Sy.createPortal(D.jsx(zg,{...n}),s)}):D.jsxs(D.Fragment,{children:[a==="scoped"&&D.jsx("style",{"data-akilio-styles":!0,children:Mg}),D.jsx(zg,{...n})]})}const vo=new Map;function gw(){return typeof crypto<"u"&&crypto.randomUUID?crypto.randomUUID():`akilio-${Date.now()}-${Math.random().toString(16).slice(2)}`}function mw(n){if(n instanceof HTMLElement)return n;if(typeof n=="string"){const r=document.querySelector(n);if(!r)throw new Error(`Akilio target not found: ${n}`);return r}const a=document.createElement("div");return a.setAttribute("data-akilio-root","true"),document.body.appendChild(a),a}function Ai(n,a=!1){return n==null||n===""?a:["1","true","yes","on"].includes(n.toLowerCase())}function hw(n){if(n)try{return JSON.parse(n)}catch{return}}function bw(n){const a=n.dataset,r=a.apiBaseUrl||a.apiUrl||"https://api.akilio-ai.com",o=a.projectKey;if(!o)throw new Error("Missing data-project-key on Akilio script tag");return{apiBaseUrl:r,projectKey:o,locale:a.locale||document.documentElement.lang||"en",mode:a.mode||"floating",colorMode:a.colorMode||"system",allowColorModeToggle:Ai(a.allowColorModeToggle,!0),showAkilioBranding:Ai(a.showAkilioBranding,!0),streaming:Ai(a.streaming,!0),styleIsolation:a.styleIsolation||"shadow",defaultOpen:Ai(a.defaultOpen),launcher:a.launcher==="hidden"?"hidden":"default",persistOpenState:Ai(a.persistOpenState,!0),enableTour:Ai(a.enableTour,!0),tourDelayMs:a.tourDelayMs?Math.max(0,Number(a.tourDelayMs)||0):void 0,tourVersion:a.tourVersion||void 0,enableLocalHistory:Ai(a.enableLocalHistory,!0),enableServerHistorySync:Ai(a.enableServerHistorySync,!0),anonymousId:a.anonymousId,externalUserId:a.externalUserId,accessToken:a.accessToken||a.widgetToken,auth:a.apiKey?{apiKey:a.apiKey,apiKeyHeader:a.apiKeyHeader}:void 0,privacyNotice:a.privacyNotice,privacyNoticeUrl:a.privacyNoticeUrl,requireConsent:Ai(a.requireConsent),consentNoticeVersion:a.consentNoticeVersion||"v1",channel:a.channel||"website",audience:a.audience||"visitor",productArea:a.productArea,assistantMode:a.assistantMode,theme:hw(a.theme),pageContext:()=>({url:window.location.href,title:document.title,channel:a.channel||"website",audience:a.audience||"visitor",productArea:a.productArea,assistantMode:a.assistantMode}),integration:a.integration}}function ko(n){if(typeof document>"u")throw new Error("Akilio can only be mounted in a browser environment");const a=mw(n.target),r=a.id||gw();a.id||(a.id=r);const o=xy.createRoot(a),{target:s,...f}=n;let u=n.open,g=n.open??n.defaultOpen??!1;const m=()=>{o.render(D.jsx(pw,{...f,open:u,onOpenChange:h=>{g=h,n.onOpenChange?.(h),u!==void 0&&(u=h,m())}}))},p=h=>{u=h,g=h,m(),n.onOpenChange?.(h)};m();const b={id:r,element:a,root:o,open:()=>p(!0),close:()=>p(!1),toggle:()=>p(!g),destroy:()=>{o.unmount(),vo.delete(r),a.getAttribute("data-akilio-root")==="true"&&a.remove()}};return vo.set(r,b),b}function Ig(n){vo.get(n)?.destroy()}function Bg(){for(const n of Array.from(vo.values()))n.destroy()}const yw={mount:ko,init:ko,destroy:Ig,destroyAll:Bg};if(typeof window<"u"){window.Akilio=yw;const n=()=>{if(window.__AKILIO_WIDGET_AUTO_MOUNTED__)return;const r=document.currentScript||document.querySelector("script[data-akilio-widget]");if(r&&r.dataset.autoInit!=="false"&&r.dataset.akilioMounted!=="true"){r.dataset.akilioMounted="true",window.__AKILIO_WIDGET_AUTO_MOUNTED__=!0;try{ko(bw(r))}catch(o){delete r.dataset.akilioMounted,delete window.__AKILIO_WIDGET_AUTO_MOUNTED__,console.error("[Akilio] Widget initialization failed:",o)}}};document.readyState==="loading"?document.addEventListener("DOMContentLoaded",n,{once:!0}):n()}return qr.destroy=Ig,qr.destroyAll=Bg,qr.mount=ko,Object.defineProperty(qr,Symbol.toStringTag,{value:"Module"}),qr})({});
|