@akropolys/kiku 2.2.16 → 2.2.18
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/embed/embed.js +79 -9
- package/dist/embed/meta.json +1 -1
- package/dist/index.js +6 -6
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +37 -1
- package/dist/index.mjs.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/styles.css.map +1 -1
- package/package.json +1 -1
- package/dist/chunk-YFPHOGZP.mjs +0 -3
- package/dist/chunk-YFPHOGZP.mjs.map +0 -1
- package/dist/embed/chunk-6IBG6ADQ.js +0 -37
- package/dist/embed/lazy-IXQ4PCY4.js +0 -37
- package/dist/lazy-KLKJL6S2.mjs +0 -39
- package/dist/lazy-KLKJL6S2.mjs.map +0 -1
package/dist/lazy-KLKJL6S2.mjs
DELETED
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import{a as ir,b as Ga,c as le,d as ls,e as hs,f as ps,g as ds,h as Xn,i as us,j as Dt,k as ja,l as _t,m as Ya,n as Va,o as ms}from"./chunk-YFPHOGZP.mjs";import $n,{useState as Be,useEffect as Lt,useRef as nt,useCallback as St,useId as qd}from"react";import{Fragment as eu,jsx as Z,jsxs as Qe}from"react/jsx-runtime";var Kl=({className:e,size:n=18,tight:t=!1})=>Z("svg",{className:le("hsk-brand-mark",e),width:n,height:n,viewBox:t?"10.2 17.4 79.5 79.5":"0 0 100 100",xmlns:"http://www.w3.org/2000/svg","aria-label":"kiku",children:Qe("g",{transform:"translate(22.7 19) scale(0.62)",fill:"currentColor",fillRule:"evenodd",children:[Z("path",{d:"M39.4 10.4 Q44 0 48.6 10.4 L86.1 95.8 Q88 100 83.4 100 L4.6 100 Q0 100 1.9 95.8 Z M24 100 L24 65 Q24 60 27.4 56.3 Q44 38 60.6 56.3 Q64 60 64 65 L64 100 Z"}),Z("circle",{cx:"55",cy:"82",r:"3.4"})]})}),Xt=Kl,bs=()=>Qe("svg",{className:"hsk-stop-icon",width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",children:[Z("circle",{className:"hsk-stop-ring",cx:"12",cy:"12",r:"9.5",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round"}),Z("rect",{className:"hsk-stop-core",x:"8.5",y:"8.5",width:"7",height:"7",rx:"1.8",fill:"currentColor"})]});var ks=()=>Qe("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.2",strokeLinecap:"round",strokeLinejoin:"round",children:[Z("path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"}),Z("polyline",{points:"15 3 21 3 21 9"}),Z("line",{x1:"10",y1:"14",x2:"21",y2:"3"})]}),fs=()=>Z("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"currentColor",children:Z("path",{d:"M8 5v14l11-7z"})}),$r=()=>Qe("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:[Z("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),Z("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]}),qr=()=>Z("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:Z("path",{d:"m15 18-6-6 6-6"})}),Ur=()=>Z("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:Z("path",{d:"m9 18 6-6-6-6"})}),gs=()=>Qe("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[Z("path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8"}),Z("path",{d:"M3 3v5h5"}),Z("path",{d:"M12 7v5l4 2"})]}),Qn=()=>Z("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:Z("path",{d:"M19 21 12 16l-7 5V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z"})}),xs=()=>Qe("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[Z("path",{d:"M3 6h18"}),Z("path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"})]});var vs=()=>Z("svg",{width:"19",height:"19",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",children:Z("path",{d:"M12 5v14M5 12h14"})}),Jn=({size:e=18}={})=>Qe("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[Z("path",{d:"M21 11.5a8.4 8.4 0 0 1-12.3 7.4L3 21l2.1-5.7A8.4 8.4 0 1 1 21 11.5Z"}),[8.9,12.6,16.3].map((n,t)=>Z("circle",{className:"hsk-mimi-dot",style:{"--hsk-dot":t},cx:n,cy:"11.6",r:"1.15",fill:"currentColor",stroke:"none"},n))]}),Ka=()=>Z("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:Z("path",{d:"m21.44 11.05-9.19 9.19a6 6 0 0 1-8.49-8.49l8.57-8.57A4 4 0 1 1 18 8.84l-8.59 8.57a2 2 0 0 1-2.83-2.83l8.49-8.48"})}),ys=()=>Qe("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[Z("rect",{x:"3",y:"3",width:"18",height:"18",rx:"4"}),Z("circle",{className:"hsk-img-sun",cx:"9",cy:"9",r:"1.8"}),Z("path",{className:"hsk-img-ridge",d:"m21 15-4.5-4.5L6 21"})]}),fn=({className:e,size:n=13}={})=>Qe("svg",{className:le("hsk-retry-icon",e),width:n,height:n,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.2",strokeLinecap:"round",strokeLinejoin:"round",children:[Z("path",{className:"hsk-retry-arrow",d:"M21.5 2v6h-6"}),Z("path",{className:"hsk-retry-arc",d:"M21.34 15.57a10 10 0 1 1-.57-8.38l5.67-5.19"})]}),Zn=({className:e,size:n=13}={})=>Qe("svg",{className:le("hsk-edit-icon",e),width:n,height:n,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.2",strokeLinecap:"round",strokeLinejoin:"round",children:[Z("path",{className:"hsk-edit-pencil",d:"M17 3a2.85 2.83 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5Z"}),Z("path",{className:"hsk-edit-lead",d:"m15 5 4 4"})]}),gr=({className:e,size:n=13}={})=>Qe("svg",{className:le("hsk-copy-icon",e),width:n,height:n,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[Z("rect",{className:"hsk-copy-sheet",x:"8.5",y:"7",width:"12",height:"14",rx:"3.5"}),Z("path",{className:"hsk-copy-back",d:"M5 15H4.5A2.5 2.5 0 0 1 2 12.5V4.5A2.5 2.5 0 0 1 4.5 2h8A2.5 2.5 0 0 1 15 4.5V5"})]}),xr=({className:e,size:n=13}={})=>Z("svg",{className:le("hsk-check-icon",e),width:n,height:n,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.4",strokeLinecap:"round",strokeLinejoin:"round",children:Z("polyline",{className:"hsk-check-mark",points:"20 6 9 17 4 12"})}),gn=({className:e,size:n=18}={})=>Qe("svg",{className:e,width:n,height:n,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[Z("path",{className:"hsk-mic-cap",d:"M12 2a3 3 0 0 0-3 3v7a3 3 0 0 0 6 0V5a3 3 0 0 0-3-3z"}),Z("path",{d:"M19 10v2a7 7 0 0 1-14 0v-2"}),Z("line",{x1:"12",y1:"19",x2:"12",y2:"22"})]}),ws=()=>Qe("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[Z("line",{className:"hsk-mic-slash",x1:"2",y1:"2",x2:"22",y2:"22"}),Z("path",{d:"M18.89 13.23A7.12 7.12 0 0 0 19 12v-2"}),Z("path",{d:"M5 10v2a7 7 0 0 0 12 5"}),Z("path",{d:"M15 9.34V5a3 3 0 0 0-5.68-1.33"}),Z("path",{d:"M9 9v3a3 3 0 0 0 5.12 2.12"}),Z("line",{x1:"12",y1:"19",x2:"12",y2:"22"})]}),Xa=({active:e})=>Qe("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[Z("path",{className:"hsk-wave-bar hsk-wave-bar--tip",style:{"--hsk-bar":0,"--hsk-amp":1.9,"--hsk-period":"1.24s"},d:"M2 12h2"}),Z("path",{className:"hsk-wave-bar",style:{"--hsk-bar":1,"--hsk-amp":1.78,"--hsk-period":"0.94s"},d:"M6 8v8"}),Z("path",{className:"hsk-wave-bar",style:{"--hsk-bar":2,"--hsk-amp":1.26,"--hsk-period":"1.42s"},d:"M10 4v16"}),Z("path",{className:"hsk-wave-bar",style:{"--hsk-bar":3,"--hsk-amp":1.62,"--hsk-period":"1.08s"},d:"M14 7v10"}),Z("path",{className:"hsk-wave-bar",style:{"--hsk-bar":4,"--hsk-amp":2.05,"--hsk-period":"0.86s"},d:"M18 9v6"}),Z("path",{className:"hsk-wave-bar hsk-wave-bar--tip",style:{"--hsk-bar":5,"--hsk-amp":1.9,"--hsk-period":"1.32s"},d:"M22 12h-2"})]}),Cs=()=>Qe("svg",{className:"hsk-telegram-icon",width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[Z("polygon",{className:"hsk-kite-wing hsk-kite-wing--far",points:"22 2 11 13 2 9"}),Z("polygon",{className:"hsk-kite-wing hsk-kite-wing--near",points:"22 2 15 22 11 13"}),Z("line",{className:"hsk-kite-spine",x1:"22",y1:"2",x2:"11",y2:"13"})]}),Ss=()=>Qe("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[Z("circle",{className:"hsk-sun-core",cx:"12",cy:"12",r:"5"}),Qe("g",{className:"hsk-sun-rays",children:[Z("line",{x1:"12",y1:"1",x2:"12",y2:"3"}),Z("line",{x1:"12",y1:"21",x2:"12",y2:"23"}),Z("line",{x1:"4.22",y1:"4.22",x2:"5.64",y2:"5.64"}),Z("line",{x1:"18.36",y1:"18.36",x2:"19.78",y2:"19.78"}),Z("line",{x1:"1",y1:"12",x2:"3",y2:"12"}),Z("line",{x1:"21",y1:"12",x2:"23",y2:"12"}),Z("line",{x1:"4.22",y1:"19.78",x2:"5.64",y2:"18.36"}),Z("line",{x1:"18.36",y1:"5.64",x2:"19.78",y2:"4.22"})]})]}),Ms=()=>Z("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:Z("path",{className:"hsk-moon-body",d:"M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"})}),Ts=()=>Qe("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[Z("path",{className:"hsk-wood-layer",style:{"--hsk-layer":0},d:"M12 2L2 7l10 5 10-5-10-5z"}),Z("path",{className:"hsk-wood-layer",style:{"--hsk-layer":2},d:"M2 17l10 5 10-5"}),Z("path",{className:"hsk-wood-layer",style:{"--hsk-layer":1},d:"M2 12l10 5 10-5"})]}),Rs=()=>Z("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:Z("path",{className:"hsk-heart-body",d:"M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z"})}),zs=()=>Qe("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[Z("path",{d:"M17 8h1a4 4 0 1 1 0 8h-1"}),Z("path",{d:"M3 8h14v9a4 4 0 0 1-4 4H7a4 4 0 0 1-4-4z"}),Z("line",{className:"hsk-steam",style:{"--hsk-steam":0},x1:"6",y1:"1",x2:"6",y2:"4"}),Z("line",{className:"hsk-steam",style:{"--hsk-steam":1},x1:"10",y1:"1",x2:"10",y2:"4"}),Z("line",{className:"hsk-steam",style:{"--hsk-steam":2},x1:"14",y1:"1",x2:"14",y2:"4"})]}),Es=()=>Qe("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[Z("path",{d:"M12 3a6.5 6.5 0 0 0 9 9 9 9 0 1 1-9-9z"}),Z("path",{className:"hsk-star-spark",d:"M18.5 2.5l.6 1.6 1.6.6-1.6.6-.6 1.6-.6-1.6-1.6-.6 1.6-.6z"})]});var Ls=({size:e=11})=>Qe("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.6",strokeLinecap:"round",strokeLinejoin:"round",children:[Z("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),Z("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]}),Ns=({className:e,size:n=16,filled:t=!1}={})=>Qe("svg",{className:le("hsk-pin-icon",e),width:n,height:n,viewBox:"0 0 24 24",fill:t?"currentColor":"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[Z("line",{x1:"12",y1:"17",x2:"12",y2:"22"}),Z("path",{d:"M5 17h14v-1.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V6h1a2 2 0 0 0 0-4H8a2 2 0 0 0 0 4h1v4.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V17z"})]});var Wr=[{id:"light",label:"Silver",Icon:Ss,dark:!1},{id:"dark",label:"Onyx",Icon:Ms,dark:!0},{id:"mahogany",label:"Mahogany",Icon:Ts,dark:!0},{id:"blush",label:"Blush",Icon:Rs,dark:!1},{id:"coffee",label:"Coffee",Icon:zs,dark:!1},{id:"midnight",label:"Midnight",Icon:Es,dark:!0}];function Qa(e){return Wr.find(n=>n.id===e)??Wr[0]}import{useKiku as Ud,subscribeLiveStream as Wd}from"@akropolys/sdk";import{useAkropolysContext as Od,useCardFields as Gd}from"@akropolys/sdk";import{useEffect as Xl,useRef as Ql}from"react";function Jl(e,n,t=.55){return n<=0?0:e*n*t/(n+t*Math.abs(e))}function Zl({stiffness:e=500,damping:n=45,onFrame:t,onRest:r}){let a=0,o=0,s=0,c=null,i=0,l=p=>{let d=Math.min(.032,(p-i)/1e3)||.016666666666666666;i=p;let m=Math.max(1,Math.ceil(d/.008)),f=d/m;for(let M=0;M<m;M++){let b=-e*(a-s)-n*o;o+=b*f,a+=o*f}if(Math.abs(a-s)<.5&&Math.abs(o)<.5){a=s,o=0,c=null,t(a),r?.();return}t(a),c=requestAnimationFrame(l)},h=()=>{c===null&&(i=performance.now(),c=requestAnimationFrame(l))};return{track(p){c!==null&&(cancelAnimationFrame(c),c=null),a=p,o=0,t(a)},to(p,d=0){s=p,o=d,h()},get value(){return a},stop(){c!==null&&(cancelAnimationFrame(c),c=null)}}}function Is({panel:e,scroller:n,onDismiss:t,quiescent:r,enabled:a=!0}){let o=Ql(t);o.current=t,Xl(()=>{if(!a)return;let s=e();if(!s||typeof matchMedia=="function"&&matchMedia("(prefers-reduced-motion: reduce)").matches)return;let c=!1,i=0,l=0,h=0,p=-1,d=0,m=0,f=0,M=!1,b=!1,x=Zl({onFrame:$=>{s.style.transform=$===0?"":`translate3d(0, ${$}px, 0)`;let R=s.parentElement;R&&(R.style.opacity=$===0?"":String(Math.max(.35,1-$/(s.offsetHeight||1)*1.1)))},onRest:()=>{s.style.willChange="",b&&(b=!1,o.current())}}),L=()=>{let $=n();return $&&$.scrollTop>0?!1:r?r():!0},z=$=>{$.pointerType==="mouse"||!$.isPrimary||(c=!1,M=!1,p=$.pointerId,i=d=$.clientY,l=$.clientX,m=$.timeStamp,f=0,h=x.value)},y=$=>{if($.pointerId!==p)return;let R=$.clientY-i,q=$.clientX-l;if(!M){if(Math.abs(R)<6&&Math.abs(q)<6)return;if(M=!0,c=R>0&&Math.abs(R)>Math.abs(q)&&L(),c){try{s.setPointerCapture($.pointerId)}catch{}x.stop(),s.style.animation="none",s.style.willChange="transform"}}if(!c)return;let F=$.timeStamp-m;F>0&&(f=($.clientY-d)/F*1e3),d=$.clientY,m=$.timeStamp;let I=h+R;x.track(I<0?-Jl(-I,s.offsetHeight||1):I),$.cancelable&&$.preventDefault()},A=$=>{if($.pointerId!==p)return;try{s.hasPointerCapture($.pointerId)&&s.releasePointerCapture($.pointerId)}catch{}if(p=-1,!c)return;c=!1;let R=s.offsetHeight||1;x.value+f*.12>R*.3||f>900?(b=!0,s.style.pointerEvents="none",x.to(R,f)):x.to(0,f)};return s.addEventListener("pointerdown",z,{passive:!0}),s.addEventListener("pointermove",y,{passive:!1}),s.addEventListener("pointerup",A,{passive:!0}),s.addEventListener("pointercancel",A,{passive:!0}),()=>{x.stop(),s.removeEventListener("pointerdown",z),s.removeEventListener("pointermove",y),s.removeEventListener("pointerup",A),s.removeEventListener("pointercancel",A),s.style.transform="",s.style.willChange="",s.style.animation="",s.style.pointerEvents="";let $=s.parentElement;$&&($.style.opacity="")}},[a,e,n,r])}function xn(e){return new Promise((n,t)=>{let r=new FileReader;r.onload=()=>n(r.result),r.onerror=()=>t(r.error??new Error("read failed")),r.readAsDataURL(e)})}async function ea(e){if(e.type==="image/gif"||e.type==="image/svg+xml"||e.size<=307200)return xn(e);try{let n=await createImageBitmap(e),t=Math.min(1,1536/Math.max(n.width,n.height)),r=Math.max(1,Math.round(n.width*t)),a=Math.max(1,Math.round(n.height*t));n.close?.();let o=await createImageBitmap(e,{resizeWidth:r,resizeHeight:a,resizeQuality:"high"});try{let s=document.createElement("canvas");s.width=r,s.height=a;let c=s.getContext("2d");if(!c)return xn(e);c.drawImage(o,0,0);let i=e.type==="image/png",l=await new Promise(h=>s.toBlob(h,i?"image/png":"image/jpeg",.85));return!l||l.size>=e.size?xn(e):xn(l)}finally{o.close?.()}}catch{return xn(e)}}import{useEffect as _s,useRef as vr,useState as yr}from"react";var Ps=(e,n)=>Math.hypot(e.x-n.x,e.y-n.y);function eh(e){let n=0;for(let t=1;t<e.length;t++)n+=Ps(e[t-1],e[t]);return n}function Ja(e){let n=1/0,t=1/0,r=-1/0,a=-1/0;for(let o of e)o.x<n&&(n=o.x),o.y<t&&(t=o.y),o.x>r&&(r=o.x),o.y>a&&(a=o.y);return{minX:n,minY:t,maxX:r,maxY:a}}var Or=e=>Math.max(0,Math.min(1e3,Math.round(e)));function Za(e,n,t){return[Or(e.minY/t*1e3),Or(e.minX/n*1e3),Or(e.maxY/t*1e3),Or(e.maxX/n*1e3)]}function th(e,n){let[t,r,a,o]=e,[s,c,i,l]=n,h=Math.min(o,l)-Math.max(r,c),p=Math.min(a,i)-Math.max(t,s);if(h<=0||p<=0)return!1;let d=Math.min((o-r)*(a-t),(l-c)*(i-s));return d>0&&h*p/d>.35}var rh=(e,n)=>[Math.min(e[0],n[0]),Math.min(e[1],n[1]),Math.max(e[2],n[2]),Math.max(e[3],n[3])];function nh(e,n,t){if(e.length<2)return null;let r=Ja(e),a=Za(r,n,t),o=Math.hypot(r.maxX-r.minX,r.maxY-r.minY);if(o<4)return null;let s=eh(e),c=Ps(e[0],e[e.length-1]),i=s/Math.max(c,1e-6);return c/o<.3&&s>o*1.8?{gesture:"ring",box:a,straight:!1}:i<1.25?{gesture:"arrow",box:a,to:[Or(e[e.length-1].y/t*1e3),Or(e[e.length-1].x/n*1e3)],straight:!0}:{gesture:"scribble",box:a,straight:!1}}function As(e,n,t){if(!n||!t)return[];let r=[],a=[],o=[];for(let i of e){if(i.kind==="pin"&&typeof i.x=="number"&&typeof i.y=="number"){let l={x:i.x,y:i.y};o.push({gesture:"pin",id:i.id,text:i.label,box:Za(Ja([l,l]),n,t)});continue}if(i.kind==="text"&&i.value&&typeof i.x=="number"&&typeof i.y=="number"){let l={x:i.x,y:i.y};a.push({gesture:"text",box:Za(Ja([l,l]),n,t),text:i.value});continue}if(i.kind==="stroke"&&i.tool!=="eraser"&&i.points){let l=nh(i.points,n,t);l&&r.push(l)}}let s=new Set,c=[];for(let i=0;i<r.length;i++){if(s.has(i))continue;let l=r[i];for(let h=i+1;h<r.length;h++)s.has(h)||!l.straight||!r[h].straight||th(l.box,r[h].box)&&(s.add(h),l={gesture:"cross",box:rh(l.box,r[h].box),straight:!1});s.add(i),c.push(l.gesture==="arrow"?{gesture:"arrow",box:l.box,to:l.to}:{gesture:l.gesture,box:l.box})}return[...o,...c,...a]}import{jsx as ht,jsxs as wr}from"react/jsx-runtime";var Fs="#ff5a5a",ah=1280,oh=4,sh=80;function ih(e,n,t){let r=[],a="";for(let o of n.split(/\s+/)){let s=a?`${a} ${o}`:o;a&&e.measureText(s).width>t?(r.push(a),a=o):a=s}return a&&r.push(a),r.slice(0,3)}function ch(e,n){let t=`${n}%`;return e<33?{top:t,left:8,transform:"translateY(-100%)"}:e>67?{top:t,right:8,transform:"translateY(-100%)"}:{top:t,left:`${e}%`,transform:"translate(-50%, -100%)"}}function Ds({src:e,onCancel:n,onSend:t,t:r}){let[a,o]=yr(null),[s,c]=yr(!1),[i,l]=yr("pin"),h=vr(0),[p,d]=yr(null),m=vr(null),[f,M]=yr([{points:[],closed:!1}]),b=f[f.length-1],T=vr(`selection-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,10)}`),x=vr(null),L=S=>M(C=>[...C.slice(-66),S]),z=i==="select",[y,A]=yr([]),[$,R]=yr(!1),q=vr(null),F=vr(null);_s(()=>{let S=new Image;return S.crossOrigin="anonymous",S.onload=()=>o(S),S.onerror=()=>c(!0),S.src=e,()=>{S.onload=null,S.onerror=null}},[e]);let I=(()=>{if(!a)return{w:0,h:0};let S=Math.min(1,ah/Math.max(a.naturalWidth,a.naturalHeight));return{w:Math.round(a.naturalWidth*S),h:Math.round(a.naturalHeight*S)}})(),G=vr(null),_=S=>{let C=q.current;if(!C||!a)return;let u=C.getContext("2d");if(!u)return;G.current||(G.current=document.createElement("canvas"));let ee=G.current;ee.width=C.width,ee.height=C.height;let j=ee.getContext("2d"),H=S?[...y,S]:y;for(let k of H)k.kind==="stroke"&&(j.save(),j.globalCompositeOperation=k.tool==="eraser"?"destination-out":"source-over",j.strokeStyle=Fs,j.lineWidth=k.tool==="eraser"?k.size*3:k.size,j.lineCap="round",j.lineJoin="round",j.beginPath(),k.points.forEach((P,U)=>U===0?j.moveTo(P.x,P.y):j.lineTo(P.x,P.y)),k.points.length===1&&j.lineTo(k.points[0].x+.01,k.points[0].y),j.stroke(),j.restore());u.clearRect(0,0,C.width,C.height),u.drawImage(a,0,0,C.width,C.height),u.drawImage(ee,0,0);let v=b.points.map((k,P)=>x.current?.index===P?x.current.point:k);v.length&&(u.save(),u.beginPath(),v.forEach((k,P)=>P?u.lineTo(k.x,k.y):u.moveTo(k.x,k.y)),b.closed&&(u.closePath(),u.fillStyle="#22c55e33",u.fill()),u.strokeStyle="#22c55e",u.lineWidth=Math.max(2,I.w/400),u.stroke(),u.restore());for(let k of v)u.beginPath(),u.arc(k.x,k.y,Math.max(3,I.w/260),0,Math.PI*2),u.fillStyle="#ffffff",u.fill(),u.strokeStyle="#15803d",u.stroke();for(let k of H){if(k.kind!=="pin")continue;let P=k.size;if(u.save(),u.beginPath(),u.moveTo(k.x,k.y),u.bezierCurveTo(k.x-P*2,k.y-P*2,k.x-P,k.y-P*3.5,k.x,k.y-P*3.5),u.bezierCurveTo(k.x+P,k.y-P*3.5,k.x+P*2,k.y-P*2,k.x,k.y),u.fillStyle=Fs,u.fill(),u.lineWidth=Math.max(1,P/7),u.strokeStyle="#fff",u.stroke(),u.beginPath(),u.arc(k.x,k.y-P*2.2,P*.5,0,Math.PI*2),u.fillStyle="#fff",u.fill(),k.label){u.font=`600 ${P*1.2}px system-ui, sans-serif`,u.textAlign="center",u.textBaseline="middle";let U=ih(u,k.label,C.width*.32),te=P*1.5,oe=Math.min(C.width,Math.max(...U.map(Q=>u.measureText(Q).width))+P),ce=U.length*te+P*.4,ie=Math.max(oe/2,Math.min(C.width-oe/2,k.x)),K=Math.max(ce,k.y-P*3.7);u.fillStyle="rgba(0,0,0,.8)",u.fillRect(ie-oe/2,K-ce,oe,ce),u.fillStyle="#fff",U.forEach((Q,xe)=>u.fillText(Q,ie,K-ce+P*.2+te*(xe+.5),oe-P))}u.restore()}};_s(()=>{_()},[a,y,b,I.w,I.h]);let ne=S=>{let C=q.current,u=C.getBoundingClientRect();return{x:Math.max(0,Math.min(C.width,(S.clientX-u.left)/u.width*C.width)),y:Math.max(0,Math.min(C.height,(S.clientY-u.top)/u.height*C.height))}},ke=()=>Math.max(4,Math.round(I.w/180)),ue=S=>{A(C=>C.filter(u=>u.kind!=="pin"||u.id!==S)),d(null)},V=()=>{let S=y.find(C=>C.kind==="pin"&&C.id===p);S?.kind==="pin"&&!S.label.trim()?ue(S.id):d(null)},he=S=>{if(!a)return;let C=ne(S);if(i==="pin"){let u=y.find(H=>H.kind==="pin"&&Math.hypot(C.x-H.x,C.y-(H.y-H.size*1.7))<H.size*2);if(u?.kind==="pin"){d(u.id),S.currentTarget.setPointerCapture(S.pointerId),m.current={id:u.id,offset:{x:C.x-u.x,y:C.y-u.y}};return}if(p){V();return}if(y.filter(H=>H.kind==="pin").length>=oh)return;let ee=`pin-${++h.current}`,j=Math.max(10,I.w/q.current.getBoundingClientRect().width*9);A(H=>[...H,{kind:"pin",...C,id:ee,label:"",size:j}]),d(ee);return}if(i==="select"){let u=b.points[0],ee=q.current.getBoundingClientRect(),j=12*I.w/ee.width;if(!b.closed&&u&&b.points.length>=3&&Math.hypot(C.x-u.x,C.y-u.y)<j)L({...b,closed:!0});else{let H=b.points.findIndex(v=>Math.hypot(C.x-v.x,C.y-v.y)<j);if(H>=0){S.currentTarget.setPointerCapture(S.pointerId),x.current={index:H,point:C};return}if(b.closed||b.points.length>=64)return;L({...b,points:[...b.points,C]})}return}S.target.setPointerCapture(S.pointerId),F.current={kind:"stroke",tool:i,size:ke(),points:[C]},_(F.current)},X=S=>{if(m.current){let{id:C,offset:u}=m.current,ee=ne(S);A(j=>j.map(H=>H.kind==="pin"&&H.id===C?{...H,x:Math.max(0,Math.min(I.w,ee.x-u.x)),y:Math.max(0,Math.min(I.h,ee.y-u.y))}:H));return}if(x.current){x.current.point=ne(S),_();return}F.current&&(F.current.points.push(ne(S)),_(F.current))},D=()=>{if(m.current){m.current=null;return}if(x.current){let{index:C,point:u}=x.current;x.current=null,L({...b,points:b.points.map((ee,j)=>j===C?u:ee)});return}if(!F.current)return;let S=F.current;F.current=null,A(C=>[...C,S])},W=y.filter(S=>S.kind==="pin"),w=W.find(S=>S.id===p),E=!!a&&!(b.points.length>0&&!b.closed)&&W.length>0&&W.every(S=>S.label.trim()),N=()=>{if(!(!E||!a))try{let S=document.createElement("canvas");S.width=I.w,S.height=I.h;let C=S.getContext("2d");if(!C){R(!0);return}C.drawImage(a,0,0,I.w,I.h);let u=S.toDataURL("image/jpeg",.92),ee=q.current?.toDataURL("image/jpeg",.85)||u,j=As(y,I.w,I.h);if(b.closed){let H=k=>Math.round(k/I.w*1e3),v=k=>Math.round(k/I.h*1e3);j.unshift({gesture:"selection",id:T.current,box:[v(Math.min(...b.points.map(k=>k.y))),H(Math.min(...b.points.map(k=>k.x))),v(Math.max(...b.points.map(k=>k.y))),H(Math.max(...b.points.map(k=>k.x)))],points:b.points.map(k=>[H(k.x),v(k.y)])})}t(u,W.map(H=>H.label.trim()).join("; "),j,ee)}catch{R(!0)}},Y=i==="pin"?"markupPinHint":i==="select"?b.closed?"markupSelectedHint":"markupOutlineHint":"markupSketchHint";return wr("div",{className:"hsk-markup",role:"dialog","aria-label":r("markupDialogLabel"),children:[wr("div",{className:"hsk-markup-head",children:[ht("span",{className:"hsk-markup-title",role:"status",children:r(Y)}),ht("button",{className:"hsk-markup-cancel",onClick:n,children:r("markupCancel")})]}),ht("div",{className:"hsk-markup-stage",children:s?ht("div",{className:"hsk-markup-error",children:r("markupLoadError")}):a?wr("div",{className:"hsk-markup-canvas-wrap",children:[ht("canvas",{ref:q,width:I.w,height:I.h,className:`hsk-markup-canvas hsk-markup-canvas--${i}`,style:{touchAction:"none",cursor:z||i==="pin"?"crosshair":void 0},onPointerDown:he,onPointerMove:X,onPointerUp:D,onPointerCancel:()=>{m.current=null,x.current=null,F.current=null,_()}}),i==="pin"&&w&&wr("div",{className:"hsk-markup-pinlabel",style:ch(w.x/I.w*100,Math.max(12,(w.y-w.size*4)/I.h*100)),children:[ht("input",{autoFocus:!0,"aria-label":r("markupPinLabel"),placeholder:r("markupPinLabelHint"),value:w.label,maxLength:sh,style:{width:`${Math.min(34,Math.max(16,w.label.length+2))}ch`},onChange:S=>A(C=>C.map(u=>u.kind==="pin"&&u.id===w.id?{...u,label:S.target.value}:u)),onKeyDown:S=>{(S.key==="Enter"||S.key==="Escape")&&V()}}),ht("button",{"aria-label":r("markupRemovePin"),title:r("markupRemovePin"),onClick:()=>ue(w.id),children:"\xD7"})]})]}):ht("div",{className:"hsk-markup-loading",children:r("markupLoading")})}),wr("div",{className:"hsk-markup-tools",children:[wr("button",{className:`hsk-markup-tool${i==="pin"?" hsk-markup-tool--on":""}`,onClick:()=>l("pin"),children:[wr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",style:{verticalAlign:"middle",marginInlineEnd:5},"aria-hidden":"true",children:[ht("path",{d:"M20 10c0 6-8 12-8 12S4 16 4 10a8 8 0 1 1 16 0Z"}),ht("circle",{cx:"12",cy:"10",r:"3"})]}),r("markupPin")]}),ht("button",{className:`hsk-markup-tool${i==="select"?" hsk-markup-tool--on":""}`,onClick:()=>{d(null),l("select")},children:r("markupSelect")}),ht("button",{className:"hsk-markup-tool",disabled:b.closed||b.points.length<3,onClick:()=>L({...b,closed:!0}),children:r("markupCloseOutline")}),ht("button",{className:`hsk-markup-tool${i==="pen"?" hsk-markup-tool--on":""}`,onClick:()=>{d(null),l("pen")},children:r("markupSketch")}),ht("button",{className:`hsk-markup-tool${i==="eraser"?" hsk-markup-tool--on":""}`,onClick:()=>{d(null),l("eraser")},children:r("markupEraser")}),ht("button",{className:"hsk-markup-tool",onClick:()=>z?M(S=>S.length>1?S.slice(0,-1):S):A(S=>S.slice(0,-1)),disabled:z?f.length<2:y.length===0,children:r("markupUndo")}),ht("button",{className:"hsk-markup-tool",onClick:()=>{A([]),d(null),M([{points:[],closed:!1}]),l("pin")},disabled:y.length===0&&!b.points.length,children:r("markupClear")}),ht("button",{className:"hsk-markup-go",onClick:N,disabled:!E,children:r("markupSend")})]}),$&&ht("div",{className:"hsk-markup-error",children:r("markupError")})]})}import lh,{useEffect as ao,useRef as cr,useState as hh}from"react";import{jsx as ta}from"react/jsx-runtime";function Gs(e){let n=2166136261;for(let t=0;t<e.length;t++)n^=e.charCodeAt(t),n=Math.imul(n,16777619);return n>>>0}function yn(e){let n=e>>>0;return()=>{n=n+1831565813>>>0;let t=Math.imul(n^n>>>15,1|n);return t=t+Math.imul(t^t>>>7,61|t)^t,((t^t>>>14)>>>0)/4294967296}}var Hs=e=>e*e*(3-2*e);function ph(e){let t=new Float32Array(65536);for(let a=0;a<t.length;a++)t[a]=e();let r=(a,o)=>t[(o&255)*256+(a&255)];return(a,o)=>{let s=Math.floor(a),c=Math.floor(o),i=Hs(a-s),l=Hs(o-c),h=r(s,c),p=r(s+1,c),d=r(s,c+1),m=r(s+1,c+1);return(h+(p-h)*i)*(1-l)+(d+(m-d)*i)*l}}function dh(e,n,t,r){let a=t/Math.SQRT2,o=Math.ceil(e/a),s=Math.ceil(n/a),c=new Int32Array(o*s).fill(-1),i=[],l=[],h=(d,m)=>{let f=i.length;i.push([d,m]),c[Math.floor(m/a)*o+Math.floor(d/a)]=f,l.push(f)},p=(d,m)=>{if(d<0||m<0||d>=e||m>=n)return!1;let f=Math.floor(d/a),M=Math.floor(m/a);for(let b=Math.max(M-2,0);b<=Math.min(M+2,s-1);b++)for(let T=Math.max(f-2,0);T<=Math.min(f+2,o-1);T++){let x=c[b*o+T];if(x<0)continue;let L=i[x][0]-d,z=i[x][1]-m;if(L*L+z*z<t*t)return!1}return!0};for(h(r()*e,r()*n);l.length;){let d=r()*l.length|0,[m,f]=i[l[d]],M=!1;for(let b=0;b<24;b++){let T=r()*Math.PI*2,x=t*(1+r()),L=m+Math.cos(T)*x,z=f+Math.sin(T)*x;if(p(L,z)){h(L,z),M=!0;break}}M||l.splice(d,1)}return i}var st=(e,n)=>(e()-.5)*n,eo=[(e,n,t)=>{let r=n*.5,a=n*(.14+t()*.04),o=n*.07;e.beginPath(),e.moveTo(-a-o*.6,-r),e.lineTo(a+o*.6,-r),e.moveTo(-a,-r+o),e.lineTo(a,-r+o),e.moveTo(-a,-r+o),e.lineTo(-a*.85,r-o),e.moveTo(a,-r+o),e.lineTo(a*.85,r-o),e.moveTo(0,-r+o*1.7),e.lineTo(0,r-o*1.7),e.moveTo(-a,r-o),e.lineTo(a,r-o),e.moveTo(-a-o*.6,r),e.lineTo(a+o*.6,r),e.stroke()},(e,n,t)=>{let r=n*.5,a=-r*(.18+t()*.1);e.beginPath(),e.moveTo(-r,a),e.lineTo(0,-r),e.lineTo(r,a),e.closePath(),e.moveTo(-r*.92,a+r*.16),e.lineTo(r*.92,a+r*.16);for(let o of[-.62,-.21,.21,.62])e.moveTo(r*o,a+r*.16),e.lineTo(r*o,r*.8);e.moveTo(-r,r*.8),e.lineTo(r,r*.8),e.stroke()},(e,n,t)=>{let r=n*.5,a=r*(.48+t()*.12);e.beginPath(),e.moveTo(-r*.2,-r*.86),e.lineTo(r*.2,-r*.86),e.moveTo(-r*.15,-r*.78),e.bezierCurveTo(-a,-r*.3,-a*.85,r*.6,0,r*.86),e.bezierCurveTo(a*.85,r*.6,a,-r*.3,r*.15,-r*.78),e.moveTo(-r*.17,-r*.64),e.quadraticCurveTo(-a*1.16,-r*.48,-a*.7,-r*.04),e.moveTo(r*.17,-r*.64),e.quadraticCurveTo(a*1.16,-r*.48,a*.7,-r*.04),e.stroke()},(e,n,t)=>{let r=n*.5;e.beginPath(),e.moveTo(-r*.9,r*.52),e.quadraticCurveTo(0,-r*.18,r*.9,-r*.58),e.stroke();let a=4+(t()*3|0);for(let o=0;o<a;o++){let s=.16+o/a*.8,c=-r*.9+s*r*1.8,i=r*.52-s*r*1.16+(1-s)*s*r*.3,l=o%2?1:-1,h=r*(.26+t()*.1);e.beginPath(),e.moveTo(c,i),e.quadraticCurveTo(c+h*.5,i+l*h*.66,c+h*.9,i+l*h*.08),e.quadraticCurveTo(c+h*.42,i+l*h*.04,c,i),e.stroke()}},(e,n,t)=>{let r=n*.5;e.beginPath(),e.moveTo(-r*.85,-r*.7),e.quadraticCurveTo(-r*.1,-r*.35,r*.2,r*.1),e.stroke();let a=[[-r*.45,-r*.12],[r*.05,r*.3],[r*.42,-r*.4]];for(let[o,s]of a)e.beginPath(),e.moveTo(o,s-r*.28),e.lineTo(o-r*.02,s-r*.16),e.stroke(),e.beginPath(),e.ellipse(o,s,r*(.15+t()*.04),r*.19,st(t,.5),0,Math.PI*2),e.stroke()},(e,n,t)=>{let r=n*.5;for(let a of[-1,1]){e.beginPath(),e.arc(0,0,r*.72,a>0?-1.25:1.25,a>0?1.25:Math.PI*2-1.25,a<0),e.stroke();for(let o=0;o<5;o++){let s=-1.05+o/4*2.1,c=Math.sin(s)*a*r*.72,i=Math.cos(s)*r*.72,l=r*(.2+t()*.08);e.beginPath(),e.moveTo(c,i),e.quadraticCurveTo(c+a*l*.9,i-l*.5,c+a*l*.6,i-l*1.05),e.stroke()}}},(e,n)=>{let t=n*.5;e.beginPath(),e.moveTo(-t,t*.6),e.lineTo(t*.55,t*.6),e.lineTo(t*.55,-t*.6),e.lineTo(-t*.45,-t*.6),e.lineTo(-t*.45,t*.15),e.lineTo(t*.1,t*.15),e.lineTo(t*.1,-t*.18),e.stroke()},(e,n)=>{let t=n*.5;e.beginPath(),e.moveTo(-t*.62,t*.8),e.lineTo(-t*.62,-t*.05),e.arc(0,-t*.05,t*.62,Math.PI,0),e.lineTo(t*.62,t*.8),e.stroke(),e.beginPath(),e.moveTo(-t*.86,t*.8),e.lineTo(t*.86,t*.8),e.stroke()},(e,n,t)=>{let r=n*.5;e.beginPath(),e.arc(0,0,r*.4,0,Math.PI*2),e.stroke();let a=t()*.5;for(let o=0;o<8;o++){let s=a+o/8*Math.PI*2;e.beginPath(),e.moveTo(Math.cos(s)*r*.6,Math.sin(s)*r*.6),e.lineTo(Math.cos(s)*r*.94,Math.sin(s)*r*.94),e.stroke()}},(e,n)=>{let t=n*.5;e.beginPath(),e.moveTo(-t*.44,t*.7),e.bezierCurveTo(-t,t*.2,-t*.8,-t*.7,-t*.3,-t*.6),e.moveTo(t*.44,t*.7),e.bezierCurveTo(t,t*.2,t*.8,-t*.7,t*.3,-t*.6),e.moveTo(-t*.32,-t*.64),e.lineTo(t*.32,-t*.64),e.moveTo(-t*.44,t*.7),e.lineTo(t*.44,t*.7);for(let r of[-.16,.02,.2])e.moveTo(t*r,-t*.56),e.lineTo(t*r,t*.62);e.stroke()},(e,n,t)=>{let r=n*.5,a=r*(.4+t()*.18);e.beginPath(),e.moveTo(-r,r*.16),e.quadraticCurveTo(-r*.5,-a,0,-r*.02),e.quadraticCurveTo(r*.5,-a,r,r*.16),e.stroke()}],Bs=[(e,n,t)=>{let r=n*.5,a=-r+st(t,r*.3),o=st(t,r);e.beginPath(),e.moveTo(a,o);let s=4+(t()*4|0);for(let c=0;c<s;c++){let i=a+r*2/s+st(t,r*.5),l=st(t,r*1.5);e.quadraticCurveTo(a+st(t,r*.9),o+st(t,r*1.6),i,l),a=i,o=l}e.stroke()},(e,n,t)=>{let r=n*.5,a=2.2+t()*1.6,o=t()<.5?-1:1;e.beginPath();for(let s=0;s<=60;s++){let c=s/60,i=o*c*a*Math.PI*2,l=r*c*(.9+st(t,.06)),h=Math.cos(i)*l,p=Math.sin(i)*l;s===0?e.moveTo(h,p):e.lineTo(h,p)}e.stroke()},(e,n,t)=>{let r=n*.5,a=4+(t()*4|0),o=st(t,.7);for(let s=0;s<a;s++){let c=-r+s/(a-1)*r*2+st(t,r*.16),i=r*(.7+t()*.6);e.beginPath(),e.moveTo(c-o*i*.5,-i*.5),e.quadraticCurveTo(c+st(t,r*.2),0,c+o*i*.5,i*.5),e.stroke()}},(e,n,t)=>{let r=n*.5,a=2+(t()*3|0),o=r*2/a;e.beginPath(),e.moveTo(-r,r*.4);for(let s=0;s<a;s++){let c=-r+s*o,i=o*(.42+t()*.18);e.bezierCurveTo(c+i*.2,r*.4-i*2.1,c+o-i*.2,r*.4-i*2.1,c+o,r*.4+st(t,r*.14))}e.stroke()}],$s=[(e,n,t)=>{e.beginPath(),e.arc(0,0,n*.1+t()*n*.04,0,Math.PI*2),e.fill()},(e,n,t)=>{e.beginPath(),e.arc(st(t,n*.04),st(t,n*.04),n*.32,0,Math.PI*2),e.stroke()},(e,n,t)=>{let r=n*.4,a=r*(.2+t()*.12);e.beginPath(),e.moveTo(0,-r),e.quadraticCurveTo(a,-a,r,0),e.quadraticCurveTo(a,a,0,r),e.quadraticCurveTo(-a,a,-r,0),e.quadraticCurveTo(-a,-a,0,-r),e.stroke()},(e,n,t)=>{let r=n*.4;e.beginPath(),e.moveTo(-r,st(t,n*.08)),e.quadraticCurveTo(0,st(t,n*.16),r,st(t,n*.08)),e.stroke()}],uh={light:(e,n)=>{let t=n*.5;e.beginPath(),e.moveTo(0,-t),e.quadraticCurveTo(t*.16,-t*.16,t,0),e.quadraticCurveTo(t*.16,t*.16,0,t),e.quadraticCurveTo(-t*.16,t*.16,-t,0),e.quadraticCurveTo(-t*.16,-t*.16,0,-t),e.stroke()},dark:(e,n)=>{let t=n*.44;e.beginPath(),e.moveTo(-t*.6,-t*.5),e.lineTo(t*.6,-t*.5),e.lineTo(t,t*.05),e.lineTo(0,t),e.lineTo(-t,t*.05),e.closePath(),e.moveTo(-t,t*.05),e.lineTo(t,t*.05),e.moveTo(-t*.6,-t*.5),e.lineTo(-t*.3,t*.05),e.lineTo(0,t),e.moveTo(t*.6,-t*.5),e.lineTo(t*.3,t*.05),e.lineTo(0,t),e.stroke()},mahogany:(e,n)=>{let t=n*.5;e.beginPath(),e.moveTo(0,t),e.bezierCurveTo(-t*.9,t*.2,-t*.7,-t*.7,0,-t),e.bezierCurveTo(t*.7,-t*.7,t*.9,t*.2,0,t),e.moveTo(0,t*.86),e.lineTo(0,-t*.86);for(let r=0;r<3;r++){let a=-.34+r*.36;e.moveTo(0,t*a),e.lineTo(t*.44,t*(a-.26)),e.moveTo(0,t*a),e.lineTo(-t*.44,t*(a-.26))}e.stroke()},blush:(e,n)=>{let t=n*.5;for(let r=0;r<5;r++){let a=r/5*Math.PI*2-Math.PI/2;e.beginPath(),e.ellipse(Math.cos(a)*t*.52,Math.sin(a)*t*.52,t*.42,t*.26,a,0,Math.PI*2),e.stroke()}e.beginPath(),e.arc(0,0,t*.19,0,Math.PI*2),e.stroke()},coffee:(e,n)=>{let t=n*.5;e.beginPath(),e.ellipse(0,0,t*.6,t*.9,0,0,Math.PI*2),e.stroke(),e.beginPath(),e.moveTo(0,-t*.84),e.bezierCurveTo(t*.34,-t*.3,-t*.34,t*.3,0,t*.84),e.stroke()},midnight:(e,n)=>{let t=n*.5;e.beginPath();for(let r=0;r<10;r++){let a=r%2===0?t:t*.4,o=r/10*Math.PI*2-Math.PI/2,s=Math.cos(o)*a,c=Math.sin(o)*a;r===0?e.moveTo(s,c):e.lineTo(s,c)}e.closePath(),e.stroke()}},qs=e=>{let n=e.split(",").map(t=>parseFloat(t.trim()));return[n[0]||0,n[1]||0,n[2]||0]};function to(e,n,t){let r=qs(e),a=qs(n);return`rgb(${Math.round(r[0]+(a[0]-r[0])*t)},${Math.round(r[1]+(a[1]-r[1])*t)},${Math.round(r[2]+(a[2]-r[2])*t)})`}var ro=new Set,no=new Set;function oo(){for(let e of no)e()}function js(e){ro.forEach(n=>n(e))}var mh=83,Us=[{k:.45,hop:1},{k:1.15,hop:.55},{k:.95,hop:.12},{k:1,hop:0}],Ws=7,bh=.28;function kh(e,n,t){return`hsl(${Math.round(n*300%360)}, ${t?72:68}%, ${t?58:46}%)`}function Ys(e,n,t,r,a,o,s,c=n){let i=s?uh[s]:void 0,l=yn(a),h=ph(yn(a^2654435769)),p=e*n,m=Math.max(40,Math.min(520,Math.round(p/3100)))/.48,f=Math.max(26,Math.sqrt(.7*p/m)),M=dh(e,n,f,l),b=4.4/Math.max(e,n),T=b*2.6,x=Math.hypot(e,n),L=l()*Math.PI*2,z=Math.cos(L),y=Math.sin(L),A=e*(.18+l()*.64),$=n*(.12+l()*.5),R=[],q=Math.hypot(e,n)||1,F=yn(a^1540483477),I=o?e:0,G=Math.hypot(e,c)||1,[_,ne,ke]=t.split(",").map(V=>parseFloat(V)||0),ue=.2126*_+.7152*ne+.0722*ke>128;for(let[V,he]of M){let X=h(V*b,he*b)*.72+h(V*T,he*T)*.28,D=Math.min(1,Math.max(0,(X-.26)/.44));if(l()>D*D*(3-2*D))continue;let W=l(),w=Math.max(0,1-Math.hypot(V-A,he-$)/(x*.72))**1.6,E=((V-e/2)*z+(he-n/2)*y)/x+.5,N=!ue,S=((N?.055:.028)+l()*(N?.04:.025))*(.75+E*.55)*(1+w*.4),C=to(t,r,w*.85),u=((o?e-V:V)+n-he)/(e+n||1),ee=l()*16777215|0,j=kh(ee,u,ue),H=0,v=N?1.05+l()*.35:.65+l()*.35,k=20,P=eo[0],U=1;W<.5?(H=st(l,.16),v=N?1.15+l()*.45:.7+l()*.35,k=20+l()*16,P=eo[l()*eo.length|0]):W<.82?(H=l()*Math.PI*2,v=N?.95+l()*.4:.6+l()*.4,k=16+l()*20,P=Bs[l()*Bs.length|0]):W<.95||!i?(H=l()*Math.PI*2,v=N?.85+l()*.35:.55+l()*.35,k=7+l()*7,P=$s[l()*$s.length|0]):(H=st(l,.3),v=N?1.1+l()*.3:.75+l()*.3,k=15+l()*9,P=i,U=2.6),R.push({x:V,y:he,roll:W,rotation:H,lineWidth:v,alpha:S*U,baseColor:C,shimmerColor:j,drawFn:P,size:k,seed:ee,normDist:u,bloom:Math.min(1,Math.hypot(V-I,he-c)/G)*.62+F()*.08,glow:ue?.2:.06,ux:(V-I)/(Math.hypot(V-I,he-c)||1),uy:(he-c)/(Math.hypot(V-I,he-c)||1)})}return R}var fh=.3;function gh(e){return 1+(1.2+1)*(e-1)**3+1.2*(e-1)**2}function Cr(e,n,t,r,a,o=1,s){e.clearRect(0,0,t,r),e.lineCap="round",e.lineJoin="round";let c=a>=0&&a<=1.4,i=c?a*1.4-.2:-999,l=.3;for(let h of n){let p=h.alpha,d=h.baseColor,m=h.lineWidth,f=1,M=0,b=0;if(s!==void 0){let x=Math.min(1,Math.max(0,(s-h.bloom)/fh));if(x<=0)continue;let L=1-(1-x)**3,z=Math.sin(x*Math.PI)**2;p=h.alpha*L+z*h.glow,d=to(h.baseColor,h.shimmerColor,z*(h.glow>.1?.85:.55)),m=h.lineWidth*(1+z*.35),f=.86+.14*gh(x),M=-h.ux*(1-L)*9,b=-h.uy*(1-L)*9}else if(c){let x=h.normDist-i;if(x>l)p=h.alpha*.45,d=h.baseColor,m=h.lineWidth;else if(x<-l)p=h.alpha,d=h.baseColor,m=h.lineWidth;else{let L=Math.cos(x/l*(Math.PI/2))**2;p=h.alpha+L*.08,d=L>.08?to(h.baseColor,h.shimmerColor,L*.65):h.baseColor,m=h.lineWidth*(1+L*.2)}}e.save(),e.translate(h.x+(h.dx??0)+M,h.y+(h.dy??0)+b),e.rotate(h.rotation+(h.dr??0)),f!==1&&e.scale(f,f),h.hop&&(e.scale(1+h.hop,1+h.hop),p*=1+h.hop*2),e.globalAlpha=Math.min(p*o,1),e.strokeStyle=d,e.fillStyle=d,e.lineWidth=m;let T=yn(h.seed);h.drawFn(e,h.size,T),e.restore()}}var xh=lh.memo(function({seed:n="",theme:t,dir:r,waitForContent:a=!1}){let o=cr(null),s=cr(!1),c=cr(0),i=cr(null),l=cr(0),h=cr(0),p=cr(a);return ao(()=>{let d=o.current;if(!d)return;let m=Gs(n||"kiku"),f=0,M=(F,I,G,_)=>ne=>{let ke=ne-F,ue=Math.min(1,ke/I),V=d.clientWidth,he=d.clientHeight;if(V&&he){let X=Math.min(window.devicePixelRatio||1,3),D=Math.round(V*X),W=Math.round(he*X);(d.width!==D||d.height!==W)&&(d.width=D,d.height=W);let w=d.getContext("2d");w&&(w.setTransform(X,0,0,X,0,0),Cr(w,G,V,he,-1,1,ue))}if(ue<1)c.current=requestAnimationFrame(M(F,I,G,_));else{s.current=!1;let X=d.clientWidth,D=d.clientHeight,W=d.getContext("2d");if(W&&X&&D){let w=Math.min(window.devicePixelRatio||1,3);W.setTransform(w,0,0,w,0,0),Cr(W,G,X,D,-1)}}},b=()=>{let F=d.clientWidth,I=d.clientHeight;if(!F||!I)return;let G=Math.min(window.devicePixelRatio||1,3),_=d.getContext("2d");if(!_)return;let ne=getComputedStyle(d),ke=ne.getPropertyValue("--hsk-doodle-ink").trim()||"31,31,31",ue=ne.getPropertyValue("--hsk-doodle-tint").trim()||ke,V=r==="rtl"||ne.direction==="rtl"||d.closest('[dir="rtl"]')!==null,he=typeof window<"u"?Math.max(I,window.innerHeight||0):I,X=Ys(F,he,ke,ue,m,V,t,I);i.current=X,l.current=F,h.current=he;let D=Math.round(F*G),W=Math.round(I*G);if((d.width!==D||d.height!==W)&&(d.width=D,d.height=W),_.setTransform(G,0,0,G,0,0),p.current){_.clearRect(0,0,F,I);return}if(window.matchMedia?.("(prefers-reduced-motion: reduce)")?.matches){Cr(_,X,F,I,-1);return}cancelAnimationFrame(c.current),s.current=!0;let E=1500,N=performance.now();c.current=requestAnimationFrame(M(N,E,X,V))},T=()=>{let F=i.current,I=d.clientWidth,G=d.clientHeight;if(F&&I===l.current&&G<=h.current){if(s.current||p.current||!G)return;let _=d.getContext("2d");if(!_)return;let ne=Math.min(window.devicePixelRatio||1,3);d.width=Math.round(I*ne),d.height=Math.round(G*ne),_.setTransform(ne,0,0,ne,0,0),Cr(_,F,I,G,-1);return}clearTimeout(f),f=window.setTimeout(b,20)};b();let x=()=>{p.current&&(p.current=!1,b())};no.add(x);let L=p.current?window.setTimeout(x,2e3):0,z=new ResizeObserver(T);z.observe(d);let y=window.matchMedia?.("(prefers-color-scheme: dark)"),A=()=>{b()};y?.addEventListener?.("change",A);let $=0,R=()=>{let F=i.current,I=d.getContext("2d"),G=d.clientWidth,_=d.clientHeight;if(!F||!I||!G||!_)return;let ne=Math.min(window.devicePixelRatio||1,3);I.setTransform(ne,0,0,ne,0,0),Cr(I,F,G,_,-1)},q=({x:F,y:I,strength:G})=>{let _=i.current;if(!_||window.matchMedia?.("(prefers-reduced-motion: reduce)")?.matches)return;cancelAnimationFrame(c.current),s.current=!1,clearTimeout($);let ne=d.getBoundingClientRect(),ke=F-ne.left,ue=I-ne.top,V=yn(performance.now()*997|0),he=(w,E)=>Math.max(-E,Math.min(E,w)),X=_.map(w=>{let E=w.dx??0,N=w.dy??0,Y=w.dr??0,S=w.x-ke,C=w.y-ue,u=Math.hypot(S,C)||1,ee=G*(.18+.82*Math.exp(-u/220)),j=ee*(.6+V()*1.8),H=he(E+S/u*j+(V()-.5)*ee*2,Ws),v=he(N+C/u*j+(V()-.5)*ee*2,Ws),k=he(Y+(V()-.5)*ee*.12,bh);return{g:w,fx:E,fy:N,fr:Y,tx:H,ty:v,tr:k,lift:ee*.09}}),D=0,W=()=>{let w=Us[D];for(let E of X)E.g.dx=E.fx+(E.tx-E.fx)*w.k,E.g.dy=E.fy+(E.ty-E.fy)*w.k,E.g.dr=E.fr+(E.tr-E.fr)*w.k,E.g.hop=E.lift*w.hop;R(),++D<Us.length&&($=window.setTimeout(W,mh))};W()};return ro.add(q),()=>{ro.delete(q),no.delete(x),clearTimeout(L),clearTimeout($),clearTimeout(f),cancelAnimationFrame(c.current),s.current=!1,z.disconnect(),y?.removeEventListener?.("change",A)}},[n,t,r]),ta("canvas",{className:"hsk-cb-doodles",ref:o,"aria-hidden":"true"})}),vn=3,Os=1800;function vh({seed:e="",theme:n,alphaScale:t=1.8,weight:r=.6}){let a=cr(null);return ao(()=>{let o=a.current,s=o?.getContext("2d");if(!o||!s)return;let c=0,i=()=>{let h=o.clientWidth,p=o.clientHeight,d=Math.min(window.devicePixelRatio||1,3);o.width=Math.round(h*d),o.height=Math.round(p*d);let m=getComputedStyle(o),f=m.getPropertyValue("--hsk-doodle-ink").trim()||"31,31,31",M=m.getPropertyValue("--hsk-doodle-tint").trim()||f,b=h*vn,T=p*vn,x=Ys(b,T,f,M,Gs(e||"kiku"),!1,n);for(let y of x)y.lineWidth*=vn*r;if(s.setTransform(d/vn,0,0,d/vn,0,0),window.matchMedia?.("(prefers-reduced-motion: reduce)")?.matches){Cr(s,x,b,T,-1,t);return}let L=performance.now(),z=y=>{let A=(y-L)%(Os*2)/Os,$=A<1?A:2-A;Cr(s,x,b,T,(1-Math.cos($*Math.PI))/2*1.4,t),c=requestAnimationFrame(z)};c=requestAnimationFrame(z)},l=new ResizeObserver(()=>{c||!o.clientWidth||!o.clientHeight||(l.disconnect(),i())});return l.observe(o),()=>{l.disconnect(),cancelAnimationFrame(c)}},[e,n,t,r]),ta("canvas",{className:"hsk-doodle-shimmer",ref:a,"aria-hidden":"true"})}var yh=300;function Gr({active:e,seed:n,theme:t}){let[r,a]=hh(e);return ao(()=>{if(e){a(!0);return}let o=setTimeout(()=>a(!1),yh);return()=>clearTimeout(o)},[e]),r?ta("span",{className:`hsk-working-veil${e?"":" is-leaving"}`,"aria-hidden":"true",children:ta(vh,{seed:n,theme:t,alphaScale:18,weight:1.15})}):null}var ra=xh;import Qs from"react";var aa=[],oa=[{value:"English",native:"English",tag:"en",rtl:!1},{value:"Chinese",native:"\u4E2D\u6587",tag:"zh",rtl:!1},{value:"Spanish",native:"Espa\xF1ol",tag:"es",rtl:!1},{value:"Arabic",native:"\u0627\u0644\u0639\u0631\u0628\u064A\u0629",tag:"ar",rtl:!0},{value:"Hindi",native:"\u0939\u093F\u0928\u094D\u0926\u0940",tag:"hi",rtl:!1},{value:"French",native:"Fran\xE7ais",tag:"fr",rtl:!1},{value:"Swahili",native:"Kiswahili",tag:"sw",rtl:!1},{value:"Portuguese",native:"Portugu\xEAs",tag:"pt",rtl:!1},{value:"Japanese",native:"\u65E5\u672C\u8A9E",tag:"ja",rtl:!1},{value:"Urdu",native:"\u0627\u0631\u062F\u0648",tag:"ur",rtl:!0}];function wn(e,n){if(!e)return;let t=e.trim();if(!t)return;let r=t.toLowerCase(),a=oa.find(c=>c.value.toLowerCase()===r||c.native.toLowerCase()===r||c.tag===r);if(a)return a.native;if(na[r]?.endonym)return na[r].endonym;let o=Object.values(na).find(c=>c.endonym?.toLowerCase()===r);if(o?.endonym)return o.endonym;let s=n||(r.length<=3?r:void 0);if(s&&typeof Intl<"u"&&Intl.DisplayNames)try{let i=new Intl.DisplayNames([s],{type:"language"}).of(s);if(i&&i.toLowerCase()!==s.toLowerCase())return i}catch{}return t}function Vs(e){for(let n of e){let t=n.codePointAt(0)??0;if(t>=1424&&t<=2303||t>=64285&&t<=65023||t>=65136&&t<=65279)return!0}return!1}var na={english:{preparing:"Preparing in English\u2026",changeLang:"Change language",endonym:"English"},swahili:{preparing:"Inatayarisha kwa Kiswahili\u2026",changeLang:"Badilisha lugha",endonym:"Kiswahili"},french:{preparing:"Configuration en fran\xE7ais\u2026",changeLang:"Changer de langue",endonym:"Fran\xE7ais"},spanish:{preparing:"Configurando en espa\xF1ol\u2026",changeLang:"Cambiar idioma",endonym:"Espa\xF1ol"},arabic:{preparing:"\u062C\u0627\u0631\u064D \u0627\u0644\u0625\u0639\u062F\u0627\u062F \u0628\u0627\u0644\u0644\u063A\u0629 \u0627\u0644\u0639\u0631\u0628\u064A\u0629\u2026",changeLang:"\u062A\u063A\u064A\u064A\u0631 \u0627\u0644\u0644\u063A\u0629",rtl:!0,endonym:"\u0627\u0644\u0639\u0631\u0628\u064A\u0629"},portuguese:{preparing:"Configurando em portugu\xEAs\u2026",changeLang:"Alterar idioma",endonym:"Portugu\xEAs"},hindi:{preparing:"\u0939\u093F\u0928\u094D\u0926\u0940 \u092E\u0947\u0902 \u0924\u0948\u092F\u093E\u0930 \u0915\u093F\u092F\u093E \u091C\u093E \u0930\u0939\u093E \u0939\u0948\u2026",changeLang:"\u092D\u093E\u0937\u093E \u092C\u0926\u0932\u0947\u0902",endonym:"\u0939\u093F\u0928\u094D\u0926\u0940"},chinese:{preparing:"\u6B63\u5728\u51C6\u5907\u4E2D\u6587\u73AF\u5883\u2026",changeLang:"\u66F4\u6539\u8BED\u8A00",endonym:"\u4E2D\u6587"},urdu:{preparing:"\u0627\u0631\u062F\u0648 \u0645\u06CC\u06BA \u062A\u06CC\u0627\u0631\u06CC \u062C\u0627\u0631\u06CC \u06C1\u06D2\u2026",changeLang:"\u0632\u0628\u0627\u0646 \u062A\u0628\u062F\u06CC\u0644 \u06A9\u0631\u06CC\u06BA",rtl:!0,endonym:"\u0627\u0631\u062F\u0648"},japanese:{preparing:"\u65E5\u672C\u8A9E\u3092\u8A2D\u5B9A\u4E2D\u2026",changeLang:"\u8A00\u8A9E\u3092\u5909\u66F4",endonym:"\u65E5\u672C\u8A9E"},german:{preparing:"Wird auf Deutsch eingerichtet\u2026",changeLang:"Sprache \xE4ndern",endonym:"Deutsch"},italian:{preparing:"Configurazione in italiano\u2026",changeLang:"Cambia lingua",endonym:"Italiano"},russian:{preparing:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0430 \u043D\u0430 \u0440\u0443\u0441\u0441\u043A\u043E\u043C\u2026",changeLang:"\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u044F\u0437\u044B\u043A",endonym:"\u0420\u0443\u0441\u0441\u043A\u0438\u0439"},korean:{preparing:"\uD55C\uAD6D\uC5B4\uB85C \uC124\uC815 \uC911\u2026",changeLang:"\uC5B8\uC5B4 \uBCC0\uACBD",endonym:"\uD55C\uAD6D\uC5B4"},turkish:{preparing:"T\xFCrk\xE7e olarak haz\u0131rlan\u0131yor\u2026",changeLang:"Dili de\u011Fi\u015Ftir",endonym:"T\xFCrk\xE7e"},vietnamese:{preparing:"\u0110ang thi\u1EBFt l\u1EADp b\u1EB1ng Ti\u1EBFng Vi\u1EC7t\u2026",changeLang:"\u0110\u1ED5i ng\xF4n ng\u1EEF",endonym:"Ti\u1EBFng Vi\u1EC7t"},indonesian:{preparing:"Menyiapkan dalam Bahasa Indonesia\u2026",changeLang:"Ubah bahasa",endonym:"Bahasa Indonesia"},malay:{preparing:"Menyediakan dalam Bahasa Melayu\u2026",changeLang:"Tukar bahasa",endonym:"Bahasa Melayu"},bahasa:{preparing:"Menyediakan dalam Bahasa Melayu\u2026",changeLang:"Tukar bahasa",endonym:"Bahasa Melayu"},polish:{preparing:"Przygotowywanie w j\u0119zyku polskim\u2026",changeLang:"Zmie\u0144 j\u0119zyk",endonym:"Polski"},dutch:{preparing:"Instellen in het Nederlands\u2026",changeLang:"Taal wijzigen",endonym:"Nederlands"},thai:{preparing:"\u0E01\u0E33\u0E25\u0E31\u0E07\u0E15\u0E31\u0E49\u0E07\u0E04\u0E48\u0E32\u0E40\u0E1B\u0E47\u0E19\u0E20\u0E32\u0E29\u0E32\u0E44\u0E17\u0E22\u2026",changeLang:"\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19\u0E20\u0E32\u0E29\u0E32",endonym:"\u0E44\u0E17\u0E22"},bengali:{preparing:"\u09AC\u09BE\u0982\u09B2\u09BE\u09AF\u09BC \u09AA\u09CD\u09B0\u09B8\u09CD\u09A4\u09C1\u09A4 \u0995\u09B0\u09BE \u09B9\u099A\u09CD\u099B\u09C7\u2026",changeLang:"\u09AD\u09BE\u09B7\u09BE \u09AA\u09B0\u09BF\u09AC\u09B0\u09CD\u09A4\u09A8 \u0995\u09B0\u09C1\u09A8",endonym:"\u09AC\u09BE\u0982\u09B2\u09BE"},tamil:{preparing:"\u0BA4\u0BAE\u0BBF\u0BB4\u0BBF\u0BB2\u0BCD \u0BA4\u0BAF\u0BBE\u0BB0\u0BCD \u0B9A\u0BC6\u0BAF\u0BCD\u0BAF\u0BAA\u0BCD\u0BAA\u0B9F\u0BC1\u0B95\u0BBF\u0BB1\u0BA4\u0BC1\u2026",changeLang:"\u0BAE\u0BCA\u0BB4\u0BBF\u0BAF\u0BC8 \u0BAE\u0BBE\u0BB1\u0BCD\u0BB1\u0BB5\u0BC1\u0BAE\u0BCD",endonym:"\u0BA4\u0BAE\u0BBF\u0BB4\u0BCD"},telugu:{preparing:"\u0C24\u0C46\u0C32\u0C41\u0C17\u0C41\u0C32\u0C4B \u0C38\u0C3F\u0C26\u0C4D\u0C27\u0C02 \u0C1A\u0C47\u0C38\u0C4D\u0C24\u0C4B\u0C02\u0C26\u0C3F\u2026",changeLang:"\u0C2D\u0C3E\u0C37\u0C28\u0C41 \u0C2E\u0C3E\u0C30\u0C4D\u0C1A\u0C02\u0C21\u0C3F",endonym:"\u0C24\u0C46\u0C32\u0C41\u0C17\u0C41"},persian:{preparing:"\u062F\u0631 \u062D\u0627\u0644 \u0622\u0645\u0627\u062F\u0647\u200C\u0633\u0627\u0632\u06CC \u0628\u0647 \u0632\u0628\u0627\u0646 \u0641\u0627\u0631\u0633\u06CC\u2026",changeLang:"\u062A\u063A\u06CC\u06CC\u0631 \u0632\u0628\u0627\u0646",rtl:!0,endonym:"\u0641\u0627\u0631\u0633\u06CC"},farsi:{preparing:"\u062F\u0631 \u062D\u0627\u0644 \u0622\u0645\u0627\u062F\u0647\u200C\u0633\u0627\u0632\u06CC \u0628\u0647 \u0632\u0628\u0627\u0646 \u0641\u0627\u0631\u0633\u06CC\u2026",changeLang:"\u062A\u063A\u06CC\u06CC\u0631 \u0632\u0628\u0627\u0646",rtl:!0,endonym:"\u0641\u0627\u0631\u0633\u06CC"},greek:{preparing:"\u03A1\u03CD\u03B8\u03BC\u03B9\u03C3\u03B7 \u03C3\u03C4\u03B1 \u03B5\u03BB\u03BB\u03B7\u03BD\u03B9\u03BA\u03AC\u2026",changeLang:"\u0391\u03BB\u03BB\u03B1\u03B3\u03AE \u03B3\u03BB\u03CE\u03C3\u03C3\u03B1\u03C2",endonym:"\u0395\u03BB\u03BB\u03B7\u03BD\u03B9\u03BA\u03AC"},hebrew:{preparing:"\u05DE\u05D2\u05D3\u05D9\u05E8 \u05D1\u05E2\u05D1\u05E8\u05D9\u05EA\u2026",changeLang:"\u05E9\u05E0\u05D4 \u05E9\u05E4\u05D4",rtl:!0,endonym:"\u05E2\u05D1\u05E8\u05D9\u05EA"},burmese:{preparing:"\u1019\u103C\u1014\u103A\u1019\u102C\u1018\u102C\u101E\u102C\u1016\u103C\u1004\u1037\u103A \u1015\u103C\u1004\u103A\u1006\u1004\u103A\u1014\u1031\u101E\u100A\u103A\u2026",changeLang:"\u1018\u102C\u101E\u102C\u1005\u1000\u102C\u1038\u1015\u103C\u1031\u102C\u1004\u103A\u1038\u101B\u1014\u103A",endonym:"\u1019\u103C\u1014\u103A\u1019\u102C\u1018\u102C\u101E\u102C"},burma:{preparing:"\u1019\u103C\u1014\u103A\u1019\u102C\u1018\u102C\u101E\u102C\u1016\u103C\u1004\u1037\u103A \u1015\u103C\u1004\u103A\u1006\u1004\u103A\u1014\u1031\u101E\u100A\u103A\u2026",changeLang:"\u1018\u102C\u101E\u102C\u1005\u1000\u102C\u1038\u1015\u103C\u1031\u102C\u1004\u103A\u1038\u101B\u1014\u103A",endonym:"\u1019\u103C\u1014\u103A\u1019\u102C\u1018\u102C\u101E\u102C"},myanmar:{preparing:"\u1019\u103C\u1014\u103A\u1019\u102C\u1018\u102C\u101E\u102C\u1016\u103C\u1004\u1037\u103A \u1015\u103C\u1004\u103A\u1006\u1004\u103A\u1014\u1031\u101E\u100A\u103A\u2026",changeLang:"\u1018\u102C\u101E\u102C\u1005\u1000\u102C\u1038\u1015\u103C\u1031\u102C\u1004\u103A\u1038\u101B\u1014\u103A",endonym:"\u1019\u103C\u1014\u103A\u1019\u102C\u1018\u102C\u101E\u102C"},khmer:{preparing:"\u1780\u17C6\u1796\u17BB\u1784\u179A\u17C0\u1794\u1785\u17C6\u1787\u17B6\u1797\u17B6\u179F\u17B6\u1781\u17D2\u1798\u17C2\u179A\u2026",changeLang:"\u1794\u17D2\u178F\u17BC\u179A\u1797\u17B6\u179F\u17B6",endonym:"\u1797\u17B6\u179F\u17B6\u1781\u17D2\u1798\u17C2\u179A"},cambodian:{preparing:"\u1780\u17C6\u1796\u17BB\u1784\u179A\u17C0\u1794\u1785\u17C6\u1787\u17B6\u1797\u17B6\u179F\u17B6\u1781\u17D2\u1798\u17C2\u179A\u2026",changeLang:"\u1794\u17D2\u178F\u17BC\u179A\u1797\u17B6\u179F\u17B6",endonym:"\u1797\u17B6\u179F\u17B6\u1781\u17D2\u1798\u17C2\u179A"},swedish:{preparing:"St\xE4ller in p\xE5 svenska\u2026",changeLang:"Byt spr\xE5k",endonym:"Svenska"},svenska:{preparing:"St\xE4ller in p\xE5 svenska\u2026",changeLang:"Byt spr\xE5k",endonym:"Svenska"},sv:{preparing:"St\xE4ller in p\xE5 svenska\u2026",changeLang:"Byt spr\xE5k",endonym:"Svenska"},kikuyu:{preparing:"G\u0129k\u0169y\u0169 g\u0129g\u0129thondekwo\u2026",changeLang:"Cenjia r\u0169thiomi",endonym:"G\u0129k\u0169y\u0169"},gikuyu:{preparing:"G\u0129k\u0169y\u0169 g\u0129g\u0129thondekwo\u2026",changeLang:"Cenjia r\u0169thiomi",endonym:"G\u0129k\u0169y\u0169"},akan:{preparing:"Y\u025Bresiesie w\u0254 Akan mu\u2026",changeLang:"Sesa kasa",endonym:"Akan"},twi:{preparing:"Y\u025Bresiesie w\u0254 Twi mu\u2026",changeLang:"Sesa kasa",endonym:"Twi"},yoruba:{preparing:"Ngbaradi ni \xC8d\xE8 Yor\xF9b\xE1\u2026",changeLang:"Yi ede pada",endonym:"\xC8d\xE8 Yor\xF9b\xE1"},amharic:{preparing:"\u1260\u12A0\u121B\u122D\u129B \u1260\u1218\u12D8\u130B\u1300\u1275 \u120B\u12ED\u2026",changeLang:"\u124B\u1295\u124B \u1240\u12ED\u122D",endonym:"\u12A0\u121B\u122D\u129B"},somali:{preparing:"Diyaarinta af Soomaali\u2026",changeLang:"Beddel luqadda",endonym:"Af-Soomaali"},soomaali:{preparing:"Diyaarinta af Soomaali\u2026",changeLang:"Beddel luqadda",endonym:"Af-Soomaali"},"af-soomaali":{preparing:"Diyaarinta af Soomaali\u2026",changeLang:"Beddel luqadda",endonym:"Af-Soomaali"},so:{preparing:"Diyaarinta af Soomaali\u2026",changeLang:"Beddel luqadda",endonym:"Af-Soomaali"},hausa:{preparing:"Shirya cikin Hausa\u2026",changeLang:"Canja harshe",endonym:"Hausa"},zulu:{preparing:"Ilungiselela ngesiZulu\u2026",changeLang:"Shintsha ulimi",endonym:"isiZulu"},oromo:{preparing:"Afaan Oromootiin qophaa'aa jira\u2026",changeLang:"Afaan jijjiiri",endonym:"Afaan Oromoo"},luganda:{preparing:"Tuteekateeka mu Oluganda\u2026",changeLang:"Kyusa olulimi",endonym:"Oluganda"},igbo:{preparing:"Na-akwadebe na As\u1EE5s\u1EE5 Igbo\u2026",changeLang:"Gbanwee as\u1EE5s\u1EE5",endonym:"As\u1EE5s\u1EE5 Igbo"},xhosa:{preparing:"Ilungiselela ngesiXhosa\u2026",changeLang:"Tshintsha ulwimi",endonym:"isiXhosa"},kinyarwanda:{preparing:"Guteza imbere mu Kinyarwanda\u2026",changeLang:"Hindura ururimi",endonym:"Ikinyarwanda"},lingala:{preparing:"Kozala na Ling\xE1la\u2026",changeLang:"Bongola lok\xF3t\xE1",endonym:"Ling\xE1la"},shona:{preparing:"Kugadzirira mu chiShona\u2026",changeLang:"Chinja mutauro",endonym:"chiShona"},tigrinya:{preparing:"\u1265\u1275\u130D\u122D\u129B \u12A3\u1265 \u121D\u12F5\u120B\u12CD \u12ED\u122D\u12A8\u1265\u2026",changeLang:"\u124B\u1295\u124B \u121D\u1255\u12EB\u122D",endonym:"\u1275\u130D\u122D\u129B"},wolof:{preparing:"Waajal ci Wolof\u2026",changeLang:"Soppi l\xE0kk",endonym:"Wolof"},afrikaans:{preparing:"Berei voor in Afrikaans\u2026",changeLang:"Verander taal",endonym:"Afrikaans"}};function Ks(e){let n=e.trim();return n?n.charAt(0).toUpperCase()+n.slice(1):"\u2026"}function Sr(e){if(!e)return{nativeName:"\u2026",preparing:"Preparing\u2026",changeLang:"\u2190",rtl:!1,known:!0};let n=e.trim().toLowerCase(),t=Object.entries(na).find(([s,c])=>s===n||c.endonym?.toLowerCase()===n||wn(s)?.toLowerCase()===n);if(t)return{nativeName:t[1].endonym||wn(e)||Ks(e),preparing:t[1].preparing,changeLang:t[1].changeLang,rtl:!!t[1].rtl||Vs(t[1].preparing),known:!0};let r=wn(e)||e,a=Ks(r),o=Vs(a);return{nativeName:a,preparing:`Preparing in ${a}\u2026`,changeLang:o?"\u062A\u063A\u064A\u064A\u0631":"Change",rtl:o,known:!1}}var Cn=[{name:"Puck",trait:"Upbeat",gender:"male"},{name:"Charon",trait:"Informative",gender:"male"},{name:"Kore",trait:"Firm",gender:"female"},{name:"Aoede",trait:"Breezy",gender:"female"},{name:"Zephyr",trait:"Bright",gender:"female"},{name:"Fenrir",trait:"Excitable",gender:"male"},{name:"Leda",trait:"Youthful",gender:"female"},{name:"Orus",trait:"Firm",gender:"male"},{name:"Callirrhoe",trait:"Easy-going",gender:"female"},{name:"Autonoe",trait:"Bright",gender:"female"},{name:"Enceladus",trait:"Breathy",gender:"male"},{name:"Iapetus",trait:"Clear",gender:"male"},{name:"Umbriel",trait:"Easy-going",gender:"male"},{name:"Algieba",trait:"Smooth",gender:"male"},{name:"Despina",trait:"Smooth",gender:"female"},{name:"Erinome",trait:"Clear",gender:"female"},{name:"Algenib",trait:"Gravelly",gender:"male"},{name:"Rasalgethi",trait:"Informative",gender:"male"},{name:"Laomedeia",trait:"Upbeat",gender:"female"},{name:"Achernar",trait:"Soft",gender:"female"},{name:"Alnilam",trait:"Firm",gender:"male"},{name:"Schedar",trait:"Even",gender:"male"},{name:"Gacrux",trait:"Mature",gender:"female"},{name:"Pulcherrima",trait:"Forward",gender:"female"},{name:"Achird",trait:"Friendly",gender:"male"},{name:"Zubenelgenubi",trait:"Casual",gender:"male"},{name:"Vindemiatrix",trait:"Gentle",gender:"female"},{name:"Sadachbia",trait:"Lively",gender:"male"},{name:"Sadaltager",trait:"Knowledgeable",gender:"male"},{name:"Sulafat",trait:"Warm",gender:"female"}],so="hsk-live-voice",lr={langPlaceholder:"Type your language\u2026",nameStepTitle:"Good to meet you.",nameStepAsk:"What should I call you?",namePlaceholder:"Type your name\u2026",howShouldResultsLook:"How do you want to see results?",entityLangIntro:"I will write to you in {lang}. Names stay as this website wrote them. For the other details, choose below.",asWritten:"Same as the website",inLanguage:"In {lang}",namesAsWritten:"Details stay exactly as the website wrote them.",detailsTranslated:"Details are translated. Numbers and links do not change.",entityLangPlaceholder:"Choose one, then press Continue\u2026",termsStepTitle:"Privacy and terms",termsStepSubtitle:"Please read how kiku works on this website.",termsPiiTitle:"Your contact details",termsPiiDesc:"kiku never asks for your email, phone number or real name. Any name or nickname is fine.",termsSessionTitle:"A random code",termsSessionDesc:"Your browser keeps a random code so kiku can remember your conversation. The code is not linked to your name.",termsMemoryTitle:"What is kept",termsMemoryDesc:"Your questions (not kiku's answers) are kept so this website can improve. Things you save with @kiku are kept at mimi.akropolys.cloud, and only your secret key opens them.",termsCookieTitle:"This website's own rules",termsCookieDesc:"This website may use cookies or collect more information. kiku does not control this.",termsAiTitle:"From this website, explained by AI",termsAiDesc:"kiku answers from what this website really lists. The facts are the website's own; how kiku summarises, compares or translates them is AI and may read them differently. Check anything that matters on the website itself.",termsAgreeButton:"I agree",termsAgreeCounting:"I agree ({seconds}s)",nameStepHint:"Any name or nickname is fine.",privacyMore:"Read our full terms at",continueButton:"Continue",termsPlaceholder:"Please read the notes above\u2026",allSet:"You are ready, {name}.",replyingOriginal:"I will write to you in {lang}. Results stay as this website wrote them. Ask me anything.",replyingTranslated:"I will write to you in {lang}. Results will be translated too. Ask me anything.",greetReturning:"Hello, {name}.",greetReturningLead:"What can I find for you today?",defaultPlaceholder:"Ask me anything\u2026"},Rt={back:"Back",langPlaceholder:"Type your language\u2026",nameStepTitle:"Good to meet you.",nameStepAsk:"What should I call you?",namePlaceholder:"Type your name\u2026",attachImage:"Attach a photo",vizUnavailable:"The preview could not be loaded.",vizDisclaimerImage:"Generated using Artificial Intelligence \u2014 colours, size and placement may differ from the real product.",vizDisclaimerVideo:"Generated using Artificial Intelligence \u2014 colours, size and movement may differ from the real product.",calcDisclaimer:"This is a calculation from live figures, not a guarantee \u2014 the market can move against it.",staleTitle:"No longer available",staleRemoved:"{title} has been removed and is no longer on offer.",staleUnavailable:"{title} is currently unavailable.",keyPastePrompt:"Paste your public id \u2014 or create one",keyPastePlaceholder:"your public id\u2026",keyUseMine:"Use my id",keyCreating:"Creating\u2026",keyCreateNew:"I'm new \u2014 create one",keySecretTitle:"Your secret key \u2014 shown once",keyDismiss:"Dismiss",keyCopySecret:"Copy",keyCopied:"Copied",keySecretHint:"Keep it private. It unlocks your memory.",keyPublicTitle:"Your public id",keyCopyId:"Copy id",greetReturning:"Hello, {name}.",greetReturningLead:"What can I find for you today?",howShouldResultsLook:"How do you want to see results?",entityLangIntro:"I will write to you in {lang}. Names stay as this website wrote them. For the other details, choose below.",asWritten:"Same as the website",inLanguage:"In {lang}",namesAsWritten:"Details stay exactly as the website wrote them.",detailsTranslated:"Details are translated. Numbers and links do not change.",entityLangPlaceholder:"Choose one, then press Continue\u2026",termsStepTitle:"Privacy and terms",termsStepSubtitle:"Please read how kiku works on this website.",termsPiiTitle:"Your contact details",termsPiiDesc:"kiku never asks for your email, phone number or real name. Any name or nickname is fine.",termsSessionTitle:"A random code",termsSessionDesc:"Your browser keeps a random code so kiku can remember your conversation. The code is not linked to your name.",termsMemoryTitle:"What is kept",termsMemoryDesc:"Your questions (not kiku's answers) are kept so this website can improve. Things you save with @kiku are kept at mimi.akropolys.cloud, and only your secret key opens them.",termsCookieTitle:"This website's own rules",termsCookieDesc:"This website may use cookies or collect more information. kiku does not control this.",termsAiTitle:"From this website, explained by AI",termsAiDesc:"kiku answers from what this website really lists. The facts are the website's own; how kiku summarises, compares or translates them is AI and may read them differently. Check anything that matters on the website itself.",termsAgreeButton:"I agree",termsAgreeCounting:"I agree ({seconds}s)",nameStepHint:"Any name or nickname is fine.",privacyMore:"Read our full terms at",continueButton:"Continue",termsPlaceholder:"Please read the notes above\u2026",allSet:"You are ready, {name}.",replyingTranslated:"I will write to you in {lang}. Results will be translated too. Ask me anything.",replyingOriginal:"I will write to you in {lang}. Results stay as this website wrote them. Ask me anything.",defaultPlaceholder:"Ask me anything\u2026",voiceListening:"Listening\u2026 tap the mic to stop",voiceSending:"Got it \u2014 sending\u2026",voiceModeStart:"Hands-free conversation",voiceModeExit:"Leave hands-free",voicePhaseListening:"Listening",voicePhaseThinking:"Thinking",micDenied:"Microphone blocked. Allow mic access for this site, then try again.",micInsecure:"Voice needs a secure (https) connection.",micMissing:"No microphone found.",micLangUnsupported:"This browser cannot transcribe that language yet. Type instead.",micNetwork:"Couldn't reach voice. Try again in a moment.",voiceUnavailable:"Voice is unavailable right now. Try again in a moment.",voiceLimitReached:"You've used up today's voice time. It resets in a day \u2014 chat still works.",voiceSiteLimit:"Voice is out of allowance on this site for now. Chat still works.",voiceIdleEnded:"Voice closed after a quiet minute. Tap the mic to talk again.",voiceSessionEnded:"Voice session ended. Tap the mic to talk again.",voicePhotoFailed:"That photo couldn't be added. Try another one.",voiceAttachPhoto:"Attach a photo",voicePickerLabel:"Choose a voice",voiceFemale:"Female",voiceMale:"Male",voiceNewChat:"New voice chat",pillVoice:"{n} min voice",pillImages:"{n} images",pillVideos:"{n} videos",pillReplies:"{n} replies",micNoSpeech:"Didn't catch anything. Try again, a little closer to the mic.",micFailed:"Couldn't hear that. Try again.",clearChat:"Clear chat",thinking:"Thinking",thoughtForSeconds:"Thought for {duration}",thoughtProcess:"Thought process",reachingTeam:"Getting a person",passedToTeam:"Passed to a person",withTeam:"Sent to the team \xB7 a person will reply here",repliedIn:"Replied in {duration}",backWithKiku:"Kiku is back with you",teamClosed:"The team closed this conversation",teamJoined:"Another team member joined the conversation",leaveHumanWarning:"A person is replying here.",leaveHumanStay:"Wait",leaveHumanKeep:"Keep for later",leaveHumanConfirm:"End request",requestsTitle:"Your requests",requestWaiting:"Waiting for a person",requestHuman:"With a person",requestKiku:"Answered",requestClosed:"Closed",requestNewReply:"New reply",captureAndRemember:"kiku \u2014 capture & remember",captureCurrentPage:"Capture current page",captureAll:"Capture all ({count})",whatHaveYouSaved:"What have you saved?",deleteThis:"Delete this",errShopperReplyLimit:"You've reached this site's reply limit.",errAccessRevoked:"Your access to the assistant has been revoked on this website.",errAccountRequired:"Please create an account to continue using the chat assistant.",errStreamInterrupted:"The reply was interrupted. Please try again.",errNetwork:"The assistant couldn't respond just now \u2014 please try again in a moment.",errGeneric:"Something went wrong. Please try again.",vizWorking:"Visualizing\u2026",vizMarkEdit:"Mark & edit",swatchTarget:"Your colour",markupCancel:"Cancel",markupSketch:"Sketch",markupPin:"Edit Pin",markupPinLabel:"What should happen here?",markupPinLabelHint:"e.g. move the sofa here",markupSketchHint:"Sketch around an area, then drop a pin saying what to do with it.",markupRemovePin:"Remove pin",markupPinHint:"Drop a pin and say what should happen there. Drag to move it. Up to 4 pins.",markupSelect:"Select outline",markupCloseOutline:"Close outline",markupOutlineHint:"Tap around the item, then close the outline. Undo removes the last point.",markupSelectedHint:"Drag the outline points to refine, then drop a pin saying what to do with it.",markupEraser:"Eraser",markupUndo:"Undo",markupClear:"Clear",markupSend:"Send",markupDialogLabel:"Mark up image",markupError:"Couldn't process this image \u2014 try a newer visualization.",markupLoadError:"This image can't be edited here.",markupLoading:"Loading image\u2026",openMemory:"Open my memory on MiMi",errTooManyRequests:"The assistant is currently receiving too many requests. Please try again in a few moments.",errTokenLimit:"You've reached your usage limit. Please update your billing limits in your dashboard to continue.",statusSent:"Sent",statusStopped:"Sent \xB7 reply stopped",queuedWaiting:"Queued",queuedSendNow:"Send now",jumpToLatest:"Scroll to latest",timelineLabel:"Questions in this conversation",voiceConnecting:"Connecting \u2014 wait for the tone before speaking",stoppedByYou:"You stopped this response.",stoppedInterrupted:"This response was interrupted.",continueGenerating:"Continue generating",generateResponse:"Generate response",pillCompareTop2:"Compare top 2",pillCompareTop2Query:"Compare the {a} and {b}",pillMoreOn:"More on {name}",pillMoreOnQuery:"Tell me more about the {name}",pillSimilarOptions:"Similar options",pillSimilarOptionsQuery:"Show me more like the {name}",pillWhichBest:"Which is best?",pillWhichBestQuery:"Which one would you recommend and why?",pillFindAlternatives:"Find alternatives",pillFindAlternativesQuery:"What are good alternatives to the {name}?",pillShowPopular:"Show popular items",pillShowPopularQuery:"What are your most popular items?",pillRecommend:"Recommend something",pillRecommendQuery:"What do you recommend for me?",cardClickAnswer:"The {name}",cardClickQuery:"Tell me more about the {name}{details} \u2014 what are its key details, who is it best suited for, and what should I know?",displayCapture:"capture {name}",displayCaptureAll:"capture all ({count} items)",displayViewHistory:"what have you saved?",displayDelete:"delete this",retry:"Retry",edit:"Edit",copy:"Copy",copied:"Copied",msgFailed:"Failed to send"},io=Qs.createContext((e,n)=>{let t=Rt[e];if(n)for(let[r,a]of Object.entries(n))t=t.split(`{${r}}`).join(a);return t}),hr=()=>Qs.useContext(io);function Js(e){let n=e.trim();if(!n||n.length>40||n.includes("?"))return null;n=n.replace(/^(hi|hey|hello|yo)[,!.\s]+/i,""),n=n.replace(/^(i['’]?m|im|my name is|call me|it['’]?s|this is|name['’]?s)\s+/i,""),n=n.trim().replace(/[.!,]+$/,"");let t=n.split(/\s+/);if(t.length===0||t.length>3||!/^[\p{L}][\p{L}\-'’ ]{0,30}$/u.test(n))return null;let r=n.toLowerCase();if(["phone","laptop","tv","cheap","best","under","buy","search","find","show","need","want","price","sofa","shoe","headphone","camera","gift","help"].some(s=>r.includes(s)))return null;let o=t[0];return o.charAt(0).toUpperCase()+o.slice(1)}var Xs={shopper_reply_limit:"errShopperReplyLimit",RATE_LIMIT_EXCEEDED:"errShopperReplyLimit",access_revoked:"errAccessRevoked",account_required:"errAccountRequired",stream_interrupted:"errStreamInterrupted"};var Zs=(e,n)=>{let t=e&&typeof e=="object"?e.code:void 0;if(t&&Xs[t])return n(Xs[t]);let r="";if(typeof e=="string")r=e;else if(e&&typeof e=="object"&&e.message)r=e.message;else try{r=JSON.stringify(e)}catch{r=String(e)}let a=r.toLowerCase();if(a.includes("429")||a.includes("too many requests")||a.includes("requests per minute limit exceeded")||a.includes("too_many_requests_error")||a.includes("request_quota_exceeded")||a.includes("quota"))return n("errTooManyRequests");if(a.includes("token limit"))return n("errTokenLimit");if(a.includes("failed to fetch")||a.includes("networkerror")||a.includes("request failed"))return n("errNetwork");if(r)try{console.warn("[kiku] untranslated error:",r)}catch{}return n("errGeneric")},ei=()=>typeof window>"u"||window.isSecureContext!==!1,co=15;var ti=new WeakMap,ri=new WeakMap;function ni(e){return e?ri.get(e)??null:null}function lo(e){if(!e)return Promise.resolve(null);let n=ti.get(e);if(n)return n;let t=Promise.resolve().then(()=>e.baseFont?.()??null).then(r=>(r&&(ri.set(e,r),_t(r,0).catch(()=>{})),r)).catch(()=>null);return ti.set(e,t),t}function wh(e,n,t){e&&(lo(e),n&&sa(e,n,t))}function sa(e,n,t){if(!(!e||!n))try{e.getUIStrings?.(n,t)?.then?.(r=>{r?.font&&_t(r.font,1200).catch(()=>{})})?.catch?.(()=>{})}catch{}}import Sn,{useState as Ht,useEffect as ho,useCallback as ai}from"react";import{useAkropolysContext as Ch}from"@akropolys/sdk";import{jsx as ii}from"react/jsx-runtime";var Sh={english:"en",en:"en",swahili:"sw",kiswahili:"sw",sw:"sw",french:"fr",fran\u00E7ais:"fr",francais:"fr",fr:"fr",spanish:"es",espa\u00F1ol:"es",espanol:"es",es:"es",arabic:"ar",\u0627\u0644\u0639\u0631\u0628\u064A\u0629:"ar",ar:"ar",portuguese:"pt",portugu\u00EAs:"pt",pt:"pt",hindi:"hi",\u0939\u093F\u0928\u094D\u0926\u0940:"hi",hi:"hi",chinese:"zh",\u4E2D\u6587:"zh",zh:"zh",japanese:"ja",\u65E5\u672C\u8A9E:"ja",ja:"ja",urdu:"ur",\u0627\u0631\u062F\u0648:"ur",ur:"ur",burmese:"my",burma:"my",myanmar:"my","\u1019\u103C\u1014\u103A\u1019\u102C":"my","\u1019\u103C\u1014\u103A\u1019\u102C\u1018\u102C\u101E\u102C":"my",my:"my",khmer:"km",cambodian:"km",\u1797\u17B6\u179F\u17B6\u1781\u17D2\u1798\u17C2\u179A:"km",\u1781\u17D2\u1798\u17C2\u179A:"km",km:"km",persian:"fa",farsi:"fa",\u0641\u0627\u0631\u0633\u06CC:"fa",fa:"fa",fas:"fa",malay:"ms",bahasa:"ms",indonesian:"id","bahasa melayu":"ms","bahasa indonesia":"id",ms:"ms",id:"id",amharic:"am",\u12A0\u121B\u122D\u129B:"am",am:"am"};function jr(e){let n=e?Sh[e.trim().toLowerCase()]:void 0;return n?{dir:n==="ar"||n==="ur"||n==="fa"?"rtl":"ltr",bcp47:n}:null}function Mh(e){let n=/var\(\s*(--[\w-]+)/.exec(e)?.[1];if(!n||typeof document>"u")return"";for(let t of[document.documentElement,document.body]){let r=t?getComputedStyle(t).getPropertyValue(n).trim():"";if(r)return r.split(",")[0].trim()}return""}var oi=5e3,si=[5e3,15e3,45e3,12e4];function ci({shopperLanguage:e,theme:n,preloadedStrings:t}){let r=Ch(),a=e?r?.getCachedUIStrings?.(e,Rt)??r?.getCachedUIStrings?.(e,lr):null,o=t&&Object.keys(t).length>0?t:a?.strings??{},[s,c]=Ht(()=>o),[i,l]=Ht(()=>!e||t&&Object.keys(t).length>0||!!a?.complete),[h,p]=Ht(()=>t&&Object.keys(t).length>0||a?.complete?e:!e||jr(e)?.bcp47==="en"?e||"en":""),d=!e||jr(e)?.bcp47==="en",m=s;t&&Object.keys(t).length>0&&(m={...s,...t});let f=e?`akropolys_ui_dir_${e.toLowerCase()}`:"",[M,b]=Ht(()=>{if(a?.dir)return a.dir==="rtl";let w=jr(e);if(w)return w.dir==="rtl";if(Sr(e)?.rtl)return!0;if(typeof window>"u"||!f)return!1;try{return localStorage.getItem(f)==="rtl"}catch{return!1}}),[T,x]=Ht(()=>a?.bcp47||jr(e)?.bcp47||""),[L,z]=Ht(()=>a?.font??null),[y,A]=Ht(()=>ni(r)),[$,R]=Ht(!0),[q,F]=Ht(!1),I=Sn.useRef(e),[G,_]=Ht(e);if(e!==G){_(e);let w=jr(e);w&&(b(w.dir==="rtl"),x(w.bcp47));let E=e?r?.getCachedUIStrings?.(e,Rt)??r?.getCachedUIStrings?.(e,lr):null,N=t&&Object.keys(t).length>0?t:E?.strings;N&&Object.keys(N).length>0&&(c(N),m=N,E&&(E.font&&z(E.font),E.dir&&b(E.dir==="rtl"),E.bcp47&&x(E.bcp47)),E?.font&&_t(E.font),F(!Ya([E?.font?.family,y?.family].filter(Y=>!!Y),N)),p(e),l(!0))}let ne=d||!q&&(h.toLowerCase()===e.toLowerCase()&&i||Object.keys(m).length>0);ho(()=>{if(!e){x(""),z(null),c({}),p(""),l(!0),b(!1);return}let w=jr(e),E=Sr(e),N=w?.bcp47==="en",Y=!1,S=(j,H)=>{let v=[j?.family,y?.family].filter(k=>!!k);if(e===I.current||Ya(v,H)){F(!1);return}F(!0),Va(v,H,oi).then(()=>{Y||F(!1)})},C=r?.getCachedUIStrings?.(e,Rt);if(C?.strings&&Object.keys(C.strings).length>0)return c(C.strings),b(C.dir==="rtl"),x(C.bcp47||w?.bcp47||""),C.font&&(_t(C.font),z(C.font)),S(C.font,C.strings),p(e),l(!0),()=>{Y=!0};let u=r?.getCachedUIStrings?.(e,lr);u?.strings&&Object.keys(u.strings).length>0?(c(u.strings),b(u.dir==="rtl"),x(u.bcp47||w?.bcp47||""),u.font&&(_t(u.font),z(u.font)),S(u.font,u.strings),p(e),l(!0)):(F(!1),c({}),w?(b(w.dir==="rtl"),x(w.bcp47)):E?.rtl&&b(!0),N||l(!1));let ee=async()=>{let j=!1;try{if(!u?.strings){let v=await r.getUIStrings?.(e,lr);if(!Y&&v?.complete){F(!0),c(P=>({...P,...v.strings})),b(v.dir==="rtl"),x(v.bcp47||w?.bcp47||"");try{localStorage.setItem(f,v.dir)}catch{}v.font&&_t(v.font);let k=[v.font?.family,y?.family].filter(P=>!!P);await Va(k,v.strings,oi),Y||(v.font&&z(v.font),p(e),l(!0),F(!1))}}let H=await r.getUIStrings?.(e,Rt);!Y&&H?.complete&&(j=!0,c(v=>({...v,...H.strings})),H.font&&(await _t(H.font,1200),Y||z(H.font)))}catch{return!1}return j};return(async()=>{for(let j=0;!Y&&!await ee();j++){let H=si[Math.min(j,si.length-1)];await new Promise(v=>window.setTimeout(v,H))}})(),()=>{Y=!0}},[e,r,f]),ho(()=>{let w=!1;return(async()=>{try{let E=await lo(r);!w&&E&&A(E)}catch{}w||R(!0)})(),()=>{w=!0}},[r]),ja(L),ja(y);let ke=Sn.useMemo(()=>{let E=(typeof n=="object"&&n?.fontFamily?n.fontFamily:"").split(",")[0].trim(),N=/^var\(/i.test(E),Y=E.replace(/^['"]|['"]$/g,""),S=N?Mh(E):"",C=N?S?`${S}, `:"":Y?`"${Y}", `:"";if(L)return`"${L.family}", ${C}"Geist", system-ui, sans-serif`;let u=e?e.trim().toLowerCase():"";if(u==="japanese"||u==="ja"||u==="\u65E5\u672C\u8A9E")return`${C}"Geist", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", system-ui, sans-serif`;if(u==="chinese"||u==="zh"||u==="\u4E2D\u6587")return`${C}"Geist", "PingFang SC", "Microsoft YaHei", "Hiragino Sans GB", system-ui, sans-serif`;if(u==="urdu"||u==="ur"||u==="\u0627\u0631\u062F\u0648")return`"Noto Nastaliq Urdu", ${C}"IBM Plex Sans Arabic", "Geist", system-ui, sans-serif`;if(u==="arabic"||u==="ar"||u==="\u0627\u0644\u0639\u0631\u0628\u064A\u0629")return`"IBM Plex Sans Arabic", ${C}"Geist", system-ui, sans-serif`;if(u==="hindi"||u==="hi"||u==="\u0939\u093F\u0928\u094D\u0926\u0940")return`"Hind", ${C}"Geist", system-ui, sans-serif`},[L,e,typeof n=="object"&&n?n.fontFamily:void 0]),ue=Sn.useMemo(()=>{let w=0,E=0;for(let N of Object.values(s))for(let Y of N){let S=Y.codePointAt(0)??0;S<192||/\p{L}/u.test(Y)&&(S<=591?w++:E++)}return E>w},[s]),[V,he]=Ht(0);ho(()=>{if(typeof document>"u"||!document.fonts?.ready)return;let w=!0;return document.fonts.ready.then(()=>{w&&he(E=>E+1)}),()=>{w=!1}},[L]);let X=Sn.useMemo(()=>{if(!ue||typeof document>"u")return!0;let E=(typeof n=="object"&&n?.fontFamily?n.fontFamily:"").split(",")[0].trim();if(!E)return!1;let N="";for(let S of Object.values(s))if(S){N=S;break}if(!N)return!0;let Y=N.replace(/\s+/g,"");if(!Y)return!0;try{let C=document.createElement("canvas").getContext("2d");if(!C)return!0;let u=E.startsWith("var(")&&getComputedStyle(document.documentElement).getPropertyValue(E.slice(4,-1).trim()).trim()||E;C.font=`16px ${u}, __akropolys_nonexistent_font__`;let ee=C.measureText(Y).width;C.font="16px __akropolys_nonexistent_font__";let j=C.measureText(Y).width;return Math.abs(ee-j)>1}catch{return!0}},[ue,s,typeof n=="object"&&n?n.fontFamily:void 0,V]),D=ai((w,E)=>{let N=m[w]||s[w]||Rt[w]||w;if(E)for(let[Y,S]of Object.entries(E))N=N.split(`{${Y}}`).join(S);return N},[m,s]),W=ai((w,E)=>(m[w]||s[w]||Rt[w]||w).split(/(\{[a-zA-Z]+\})/g).map((Y,S)=>{let C=Y.match(/^\{([a-zA-Z]+)\}$/);return C&&E?.[C[1]]!==void 0?ii("bdi",{children:E[C[1]]},S):ii(Sn.Fragment,{children:Y},S)}),[m,s]);return{chromeStrings:s,chromeReady:ne,isRTL:M,speechLang:T,scriptFont:L,fontStack:ke,isNonLatin:ue,hostFontCovers:X,baseFontReady:$,t:D,tNode:W}}import{useState as Yr,useRef as Ke,useEffect as ia,useLayoutEffect as Th,useCallback as Qt}from"react";function li({messages:e,loading:n,streaming:t,messageRefs:r}){let a=Ke(null),o=Ke(0),[s,c]=Yr(!1),[i,l]=Yr(1),[h,p]=Yr(0),d=Ke(()=>{}),m=Ke(null),f=Ke(!1),M=Ke(!0),b=Ke(!1),T=Ke(null),x=Ke(null),L=Ke(e.length),z=Ke(!1),y=Ke(()=>{}),A=Ke(()=>{}),$=Ke(null),R=Ke(()=>{}),[q,F]=Yr(0),I=Ke(0),G=Ke(""),_=Ke(()=>{}),ne=Ke(()=>{});ia(()=>{let v=a.current;if(!v)return;let k,P=()=>{clearTimeout(k),k=setTimeout(()=>{f.current=!1},150)},U=()=>{clearTimeout(k),f.current=!0,_.current()},te=()=>{f.current&&P()};return v.addEventListener("touchstart",U,{passive:!0}),v.addEventListener("touchend",P,{passive:!0}),v.addEventListener("touchcancel",P,{passive:!0}),v.addEventListener("scroll",te,{passive:!0}),()=>{clearTimeout(k),v.removeEventListener("touchstart",U),v.removeEventListener("touchend",P),v.removeEventListener("touchcancel",P),v.removeEventListener("scroll",te)}},[]),ia(()=>{let v=a.current;if(!v)return;let k=160,P=8,U=0,te=()=>{U=0;let ie=T.current?.offsetHeight??0,K=v.scrollHeight-ie-v.scrollTop-v.clientHeight,Q=performance.now()-o.current<400;K<=P&&(!b.current||Q)&&(M.current||ne.current(),M.current=!0,b.current=!1,W.current()),c(K>k&&!M.current);let xe=v.scrollHeight-v.clientHeight;l(xe>8?Math.min(1,Math.max(0,v.scrollTop/xe)):1);let Ie=v.scrollTop+v.clientHeight*.33,Ae=0;for(let ge=0;ge<r.current.length;ge++){let Se=r.current[ge];Se&&Se.offsetTop<=Ie&&(Ae=ge)}p(Ae)},oe=()=>{U||(U=requestAnimationFrame(te))};te(),v.addEventListener("scroll",oe,{passive:!0});let ce=new ResizeObserver(()=>{x.current?y.current("sync"):M.current&&!f.current&&A.current(),oe()});ce.observe(v);for(let ie of r.current)ie&&ce.observe(ie);return()=>{U&&cancelAnimationFrame(U),v.removeEventListener("scroll",oe),ce.disconnect()}},[e.length,r]);let ke=Qt(v=>{let k=`${v}:${I.current}`;G.current!==k&&(G.current=k,F(P=>P+1))},[]),[ue,V]=Yr(!1),he=Ke(!1),X=Qt(()=>{he.current||(he.current=!0,V(!0))},[]),D=Qt(()=>{he.current&&(he.current=!1,V(!1))},[]),W=Ke(()=>{});W.current=D;let[w,E]=Yr(!1),N=Ke(!1),Y=Ke(0),S=Qt(()=>{N.current=!1,E(!1)},[]),C=Qt(()=>{G.current="",S(),D()},[S,D]),u=Qt(()=>{N.current&&(performance.now()-Y.current<700||S())},[S]);_.current=u,ne.current=C,ia(()=>{if(q===0)return;N.current=!0,Y.current=performance.now(),E(!0);let v=setTimeout(S,4200);return()=>clearTimeout(v)},[q,S]);let ee=Qt(()=>{z.current=!1,x.current&&(x.current=null,T.current&&(T.current.style.height=""))},[]);R.current=ee,A.current=()=>{let v=a.current;if(!v)return;let k=v.scrollHeight-v.clientHeight;$.current?$.current(k):v.scrollTop=k},y.current=v=>{let k=a.current,P=T.current,U=x.current,te=Q=>{let xe=v==="sync"?$.current:m.current;xe?xe(Q):k&&(k.scrollTop=Q)},oe=A.current;if(!k||!P||!U||!U.isConnected){ee(),M.current&&oe();return}let ce=parseFloat(getComputedStyle(k).paddingTop)||0;P.offsetHeight<k.clientHeight&&(P.style.height=`${k.clientHeight}px`);let ie=Math.max(0,U.offsetTop-ce),K=ie+k.clientHeight-(k.scrollHeight-P.offsetHeight);if(K<=0){ee(),M.current=!1,b.current=!0,te(ie);return}K!==P.offsetHeight&&(P.style.height=`${K}px`),te(ie)};let j=Qt(v=>{let k=a.current,P=r.current[v];if(!k||!P)return;let U=P.offsetTop-Math.max(0,(k.clientHeight-P.clientHeight)/2),te=Math.max(0,Math.min(k.scrollHeight-k.clientHeight,U));m.current?m.current(te):k.scrollTo({top:te,behavior:"smooth"})},[r]),H=Qt(()=>{let v=a.current;if(!v)return;M.current=!0,b.current=!1,R.current(),ne.current();let k=v.scrollHeight-v.clientHeight;m.current?m.current(k):v.scrollTo({top:k,behavior:"smooth"})},[]);return Th(()=>{let v=a.current;if(!v)return;let k=e.slice(L.current);if(L.current=e.length,k.some(U=>U.role==="user")&&(M.current=!0,b.current=!1,ne.current(),x.current=null,z.current=!0),z.current){z.current=!1;for(let U=r.current.length-1;U>=0;U--){let te=r.current[U];if(te?.dataset.hskRole==="user"){x.current=te;break}}if(x.current){y.current("glide");return}}if(x.current){y.current("glide");return}let P=v.scrollTop;if(!M.current)b.current||(X(),ke(e.length));else if(!f.current){A.current();return}v.scrollTop!==P&&d.current()},[e,n,t,r,ke,X]),ia(()=>{let v=a.current;if(!v||typeof window<"u"&&window.matchMedia?.("(prefers-reduced-motion: reduce)").matches)return;let k=7,P=16,U=1/(window.devicePixelRatio||1),te=me=>Math.round(me/U)*U,oe=v.scrollTop,ce=v.scrollTop,ie=v.scrollTop,K=0,Q=null,xe=me=>{me!==ie&&(v.scrollTop=me,ie=v.scrollTop)},Ie=()=>{Q!==null&&(cancelAnimationFrame(Q),Q=null),v.classList.remove("hsk-scrolling"),oe=ce=ie=v.scrollTop};d.current=Ie,m.current=me=>{Math.abs(v.scrollTop-ie)>1&&(oe=ce=ie=v.scrollTop);let at=Math.round(Math.max(0,Math.min(v.scrollHeight-v.clientHeight,me)));at!==oe&&(oe=at,Q===null&&(K=performance.now(),Q=requestAnimationFrame(Ae)))},$.current=me=>{let at=Math.round(Math.max(0,Math.min(v.scrollHeight-v.clientHeight,me)));Q!==null&&(cancelAnimationFrame(Q),Q=null,v.classList.remove("hsk-scrolling")),v.scrollTop=at,oe=ce=ie=v.scrollTop};let Ae=me=>{let at=Math.min((me-K)/1e3,.05);if(K=me,ce+=(oe-ce)*(1-Math.exp(-k*at)),Math.abs(oe-ce)<U){ce=oe,xe(Math.round(oe)),v.classList.remove("hsk-scrolling"),Q=null;return}xe(te(ce)),Q=requestAnimationFrame(Ae)},ge=me=>{if(me.ctrlKey)return;Math.abs(v.scrollTop-ie)>1&&(oe=ce=ie=v.scrollTop),me.deltaY<0&&(M.current&&(I.current+=1),M.current=!1,x.current=null),_.current();let at=me.deltaMode===1?P:me.deltaMode===2?v.clientHeight:1,Xe=Math.max(0,v.scrollHeight-v.clientHeight),xt=Math.round(Math.max(0,Math.min(Xe,oe+me.deltaY*at)));if(xt===oe){Xe>0&&me.preventDefault();return}me.preventDefault(),oe=xt,Q===null&&(K=performance.now(),v.classList.add("hsk-scrolling"),Q=requestAnimationFrame(Ae))},Se=v.scrollTop,Pe=()=>{let me=Math.abs(v.scrollTop-ie)>1;me&&(o.current=performance.now(),v.scrollTop<Se-1&&M.current&&(I.current+=1,M.current=!1,x.current=null)),Se=v.scrollTop,Q!==null&&me&&(cancelAnimationFrame(Q),Q=null,v.classList.remove("hsk-scrolling"),oe=ce=ie=v.scrollTop)};return v.addEventListener("wheel",ge,{passive:!1}),v.addEventListener("scroll",Pe,{passive:!0}),()=>{v.removeEventListener("scroll",Pe),v.removeEventListener("wheel",ge),Q!==null&&cancelAnimationFrame(Q),v.classList.remove("hsk-scrolling"),d.current=()=>{},m.current=null,$.current=null}},[]),{msgsContainerRef:a,spacerRef:T,lastExternalScrollRef:o,showJumpToBottom:s,scrollProgress:i,activeMsgIdx:h,jumpAlert:w,unreadBelow:ue,jumpToMessage:j,jumpToBottom:H,resetAlertArming:C}}import{useState as Rh,useRef as Vr,useEffect as hi}from"react";var zh=450,Eh=45,Lh=900,Nh=180;function pi(e){let[n,t]=Rh(e),r=Vr(e),a=Vr(e),o=Vr(0),s=Vr(0),c=Vr(0),i=Vr(null);return hi(()=>()=>{i.current!==null&&cancelAnimationFrame(i.current)},[]),hi(()=>{if(a.current=e,window.matchMedia?.("(prefers-reduced-motion: reduce)").matches||!e.startsWith(r.current)){i.current!==null&&(cancelAnimationFrame(i.current),i.current=null),r.current=e,o.current=0,s.current=0,t(e);return}if(i.current!==null||r.current.length>=e.length)return;c.current=performance.now();let h=p=>{let d=Math.min(p-c.current,50);c.current=p;let m=a.current,f=m.length-r.current.length,M=Math.min(Lh,Math.max(Eh,f*1e3/zh));o.current+=(M-o.current)*(1-Math.exp(-d/Nh)),s.current+=o.current*d/1e3;let b=Math.floor(s.current);b>0&&(s.current-=b,r.current=m.slice(0,Math.min(m.length,r.current.length+b)),t(r.current)),r.current.length<a.current.length?i.current=requestAnimationFrame(h):(i.current=null,s.current=0)};i.current=requestAnimationFrame(h)},[e]),n}import{useState as Mr,useEffect as di,useCallback as po}from"react";import{useAkropolysContext as Ih}from"@akropolys/sdk";function ui(e,n){let t=Ih(),[r,a]=Mr(""),[o,s]=Mr("idle"),[c,i]=Mr(null),[l,h]=Mr(null),[p,d]=Mr(null),[m,f]=Mr(co),[M,b]=Mr(!1),T=po(async(z,y)=>{try{navigator.clipboard&&window.isSecureContext?await navigator.clipboard.writeText(z):Ph(z),d(y),setTimeout(()=>d(null),2e3)}catch{}},[]);di(()=>{e&&e.type==="request_kiku_key"&&(s("prompt_key"),a(""))},[e]),di(()=>{if(!c)return;f(co);let z=setInterval(()=>{f(y=>y<=1?(clearInterval(z),i(null),h(null),0):y-1)},1e3);return()=>clearInterval(z)},[c]);let x=po(async()=>{let z=r.trim();z&&(t.setKikuPub(z),a(""),s("idle"),await n())},[t,r,n]),L=po(async()=>{if(!M){b(!0);try{let{secret:z,publicId:y}=await t.mintKikuKey();i(z),h(y),s("idle"),await n()}catch{}finally{b(!1)}}},[t,M,n]);return{keyInput:r,setKeyInput:a,keyPhase:o,setKeyPhase:s,mintedKey:c,setMintedKey:i,mintedPub:l,setMintedPub:h,copied:p,keyCountdown:m,minting:M,copyValue:T,handleUseExistingKey:x,handleCreateKey:L}}function Ph(e){let n=document.createElement("textarea");n.value=e,n.setAttribute("readonly",""),n.style.cssText="position:fixed;top:0;left:0;opacity:0;",document.body.appendChild(n),n.select(),n.setSelectionRange(0,e.length);let t=document.execCommand("copy");if(n.remove(),!t)throw new Error("copy failed")}import{useCallback as ca}from"react";function mi({attachments:e,setAttachments:n,setInput:t,send:r,t:a}){let o=ca(l=>{let h=l.name||"",p=`@kiku ${a("displayCapture",{name:h}).trim()}`,d=h||"capture current page";t("");let m=e;n([]),r(d,p,m.length>0?m:void 0,"capture")},[e,r,n,t,a]),s=ca(l=>{let h=l.filter(m=>m.id).map(m=>({name:m.name||"",url:m.url||"",image:m.image||""})),p=l.map(m=>m.name).filter(Boolean).join(", "),d=`@kiku ${a("displayCaptureAll",{count:String(l.length)})}`;t(""),n([]),r(p||"capture all",d,void 0,"capture_all",h)},[r,n,t,a]),c=ca(()=>{let l=`@kiku ${a("displayViewHistory")}`;t(""),n([]),r("show my saved items",l,void 0,"view_history")},[r,n,t,a]),i=ca(()=>{let l=`@kiku ${a("displayDelete")}`;t(""),n([]),r("delete this",l,void 0,"delete")},[r,n,t,a]);return{handleKikuCapture:o,handleKikuCaptureAll:s,handleKikuViewHistory:c,handleKikuDelete:i}}import{useState as zr,useCallback as ua,useEffect as Ii,useRef as Jh}from"react";import{useAkropolysContext as Zh}from"@akropolys/sdk";var ha=null,bi=null,la=null,Mn=null,ki=!1,Tr=0;function Tn(e,n=130){let t=la;if(!t||!ha)return;let r=ha.currentTime;t.gain.cancelScheduledValues(r),t.gain.setValueAtTime(t.gain.value,r),t.gain.linearRampToValueAtTime(Math.max(0,Math.min(1,e)),r+n/1e3)}function fi(){if(!ki)return Tr*=.85,Tr;if(!bi||!Mn)return Tr;bi.getByteTimeDomainData(Mn);let e=0;for(let r=0;r<Mn.length;r++){let a=(Mn[r]-128)/128;e+=a*a}let n=Math.sqrt(e/Mn.length),t=Math.min(1,n*3.2);return Tr+=(t-Tr)*(t>Tr?.6:.12),Tr}function gi(){if(ki=!1,la&&ha&&(la.gain.cancelScheduledValues(ha.currentTime),la.gain.value=1),typeof window<"u"&&"speechSynthesis"in window)try{window.speechSynthesis.cancel()}catch{}}import{useCallback as Wt,useEffect as pr,useRef as We,useState as pa}from"react";var Ah=1100,uo=.012,_h=320,Fh=.09,Dh=.25,xi=130,Hh=700,Bh=12,$h=48,qh=.45,Uh=.35,Wh=.2,vi=.55;function yi({lang:e,onUtterance:n,onError:t,onBargeIn:r,silenceMs:a=Ah,paused:o=!1}){let[s,c]=pa(!1),[i,l]=pa(!1),[h,p]=pa(""),[d,m]=pa(!1),f=We(null),M=We(null),b=We(null),T=We(null),x=We(null),L=We(null),z=We(0),y=We(.008),A=We(0),$=We(0),R=We(""),q=We(0),F=We(0),I=We(!1),G=We(o),_=We(!1),ne=We(!1),ke=We(n),ue=We(t),V=We(r);pr(()=>{ke.current=n},[n]),pr(()=>{ue.current=t},[t]),pr(()=>{V.current=r},[r]),pr(()=>{G.current=o},[o]),pr(()=>{m(typeof window<"u"&&("SpeechRecognition"in window||"webkitSpeechRecognition"in window)&&!!navigator.mediaDevices?.getUserMedia)},[]);let he=Wt(()=>z.current,[]),X=Wt(k=>{let P=T.current;return!P||k.length!==P.frequencyBinCount?!1:(P.getByteFrequencyData(k),!0)},[]),D=Wt(()=>T.current?.frequencyBinCount??0,[]),W=We([]),w=We(null),E=We(!1),N=We(0),Y=We(0),S=Wt(k=>{let P=T.current;if(!P)return 0;let U=W.current;U.push(k),U.length>$h&&U.shift();let te=0;if(U.length>=12){let Se=0;for(let Pe of U)Se+=Pe;if(Se/=U.length,Se>1e-4){let Pe=0;for(let me of U)Pe+=(me-Se)*(me-Se);te=Math.min(1,Math.sqrt(Pe/U.length)/Se/.6)}}let oe=0;(!w.current||w.current.length!==P.frequencyBinCount)&&(w.current=new Uint8Array(P.frequencyBinCount));let ce=w.current;P.getByteFrequencyData(ce);let K=(b.current?.sampleRate??48e3)/2/ce.length,Q=Math.floor(300/K),xe=Math.min(ce.length-1,Math.ceil(3400/K)),Ie=0,Ae=0;for(let Se=0;Se<ce.length;Se++)Ae+=ce[Se],Se>=Q&&Se<=xe&&(Ie+=ce[Se]);Ae>0&&(oe=Ie/Ae);let ge=Math.min(1,k/(y.current+uo*3));return qh*ge+Uh*te+Wh*oe},[]),C=Wt(()=>{let k=R.current.trim();if(R.current="",q.current=F.current,p(""),l(!1),k){_.current=!1;let P=f.current;f.current=null;try{P?.stop()}catch{}ke.current(k)}},[]),u=Wt(()=>{let k=T.current,P=L.current;if(!k||!P)return;k.getByteTimeDomainData(P);let U=0;for(let Q=0;Q<P.length;Q++){let xe=(P[Q]-128)/128;U+=xe*xe}let te=Math.sqrt(U/P.length),oe=Math.min(1,te*4);z.current+=(oe-z.current)*(oe>z.current?.6:.12);let ce=Date.now(),ie=G.current?fi()*Fh:0;te>y.current+uo+ie?(A.current=ce,$.current||($.current=ce)):($.current=0,y.current=Math.min(y.current*1.02+2e-5,Math.max(.004,te))),G.current?E.current?(S(te)>vi?Y.current+=1:Y.current=Math.max(0,Y.current-2),Y.current>=Bh?(E.current=!1,Y.current=0,Tn(1,0),V.current?.()):ce-N.current>Hh&&(E.current=!1,Y.current=0,Tn(1,xi*2))):$.current&&ce-$.current>_h&&S(te)>vi&&($.current=0,E.current=!0,N.current=ce,Y.current=0,Tn(Dh,xi)):R.current.trim()&&ce-A.current>a&&C(),x.current=requestAnimationFrame(u)},[C,a,S]),ee=Wt(()=>{if(f.current||!I.current)return;let k=window.SpeechRecognition||window.webkitSpeechRecognition,P=new k;q.current=0,F.current=0,P.lang=e||document.documentElement.lang||navigator.language||"en-US",P.interimResults=!0,P.maxAlternatives=1,P.continuous=!0,P.onresult=U=>{let te="";for(let oe=q.current;oe<U.results.length;oe++)te+=U.results[oe][0].transcript;F.current=U.results.length,te=te.trim(),te&&(R.current=te,p(te),l(!0))},P.onerror=U=>{let te=U?.error||"";te==="no-speech"||te==="aborted"||ue.current?.(te)},P.onend=()=>{f.current=null,I.current&&_.current&&setTimeout(()=>{ee()},120)},f.current=P;try{P.start()}catch{f.current=null,ue.current?.("failed-to-start")}},[e]),j=Wt(()=>{_.current=!1;let k=f.current;f.current=null;try{k?.stop()}catch{}},[]),H=Wt(()=>{I.current=!1,E.current=!1,Y.current=0,W.current=[],Tn(1,0),_.current=!1,c(!1),l(!1),p(""),R.current="",z.current=0;let k=f.current;f.current=null;try{k?.abort()}catch{}x.current!==null&&(cancelAnimationFrame(x.current),x.current=null),M.current?.getTracks().forEach(P=>P.stop()),M.current=null,T.current=null,b.current?.close().catch(()=>{}),b.current=null},[]),v=Wt(async()=>{if(!(I.current||!d)){I.current=!0,c(!0);try{let k=await navigator.mediaDevices.getUserMedia({audio:{echoCancellation:!0,noiseSuppression:!0,autoGainControl:!0}});M.current=k;let P=window.AudioContext||window.webkitAudioContext,U=new P;b.current=U;let te=U.createAnalyser();te.fftSize=1024,te.smoothingTimeConstant=.25,U.createMediaStreamSource(k).connect(te),T.current=te,L.current=new Uint8Array(te.fftSize),y.current=.008,A.current=Date.now(),x.current=requestAnimationFrame(u)}catch(k){I.current=!1,c(!1),ue.current?.(k?.name==="NotAllowedError"?"not-allowed":"audio-capture");return}_.current=!0,ee()}},[d,u,ee]);return pr(()=>{s&&(o?(R.current="",p(""),E.current=!1,Y.current=0,W.current=[],j()):(E.current=!1,A.current=Date.now(),_.current=!0,ee()))},[o,s,ee,j]),pr(()=>{if(!s||o)return;let k=setInterval(()=>{let P=!!f.current,U=z.current>y.current+uo;P&&U&&R.current},2e3);return()=>clearInterval(k)},[s,o]),pr(()=>()=>{H()},[H]),{supported:d,active:s,hearing:i,interim:h,micLevel:he,micSpectrum:X,spectrumBins:D,start:v,stop:H}}import{useCallback as Ue,useEffect as Xr,useRef as we,useState as Rr}from"react";var wi=[-1,-1,-1,-1,2,4,6,8,-1,-1,-1,-1,2,4,6,8],Ci=[7,8,9,10,11,12,13,14,16,17,19,21,23,25,28,31,34,37,41,45,50,55,60,66,73,80,88,97,107,118,130,143,157,173,190,209,230,253,279,307,337,371,408,449,494,544,598,658,724,796,876,963,1060,1166,1282,1411,1552,1707,1878,2066,2272,2499,2749,3024,3327,3660,4026,4428,4871,5358,5894,6484,7132,7845,8630,9493,10442,11487,12635,13899,15289,16818,18500,20350,22385,24623,27086,29794,32767],mo=e=>e<0?0:e>88?88:e,Si=e=>e<-32768?-32768:e>32767?32767:e,Rn=class{constructor(){this.index=0}encode(n){let t=n.length,r=new Uint8Array(4+(t+1>>1));if(t===0)return r.buffer;let a=n[0];new DataView(r.buffer).setInt16(0,a,!0),r[2]=this.index,r[3]=t&1;let s=this.index;for(let c=0;c<t;c++){let i=Ci[s],l=n[c]-a,h=0;l<0&&(h=8,l=-l);let p=i>>3;l>=i&&(h|=4,l-=i,p+=i),i>>=1,l>=i&&(h|=2,l-=i,p+=i),i>>=1,l>=i&&(h|=1,p+=i),a=Si(h&8?a-p:a+p),s=mo(s+wi[h]),r[4+(c>>1)]|=h<<4*(c&1)}return this.index=s,r.buffer}};function Mi(e){let n=new Uint8Array(e);if(n.length<4)return new Float32Array(0);let t=new DataView(e).getInt16(0,!0),r=mo(n[2]),a=(n.length-4)*2;n[3]&1&&a>0&&a--;let o=new Float32Array(a);for(let s=0;s<a;s++){let c=n[4+(s>>1)]>>4*(s&1)&15,i=Ci[r],l=i>>3;c&4&&(l+=i),c&2&&(l+=i>>1),c&1&&(l+=i>>2),t=Si(c&8?t-l:t+l),r=mo(r+wi[c]),o[s]=t/32768}return o}function dr(e,n,t){for(let r=0;r<t.length;r++)e.setUint8(n+r,t.charCodeAt(r))}function Ti(e,n=24e3){let t=0;for(let i of e)t+=i.length;let r=new Float32Array(t),a=0;for(let i of e)r.set(i,a),a+=i.length;let o=new ArrayBuffer(44+t*2),s=new DataView(o);dr(s,0,"RIFF"),s.setUint32(4,36+t*2,!0),dr(s,8,"WAVE"),dr(s,12,"fmt "),s.setUint32(16,16,!0),s.setUint16(20,1,!0),s.setUint16(22,1,!0),s.setUint32(24,n,!0),s.setUint32(28,n*2,!0),s.setUint16(32,2,!0),s.setUint16(34,16,!0),dr(s,36,"data"),s.setUint32(40,t*2,!0);let c=44;for(let i=0;i<t;i++){let l=Math.max(-1,Math.min(1,r[i]));s.setInt16(c,l<0?l*32768:l*32767,!0),c+=2}return new Blob([o],{type:"audio/wav"})}function Ri(e,n=16e3){let t=0;for(let i of e)t+=i.length;let r=new Int16Array(t),a=0;for(let i of e)r.set(i,a),a+=i.length;let o=new ArrayBuffer(44+t*2),s=new DataView(o);dr(s,0,"RIFF"),s.setUint32(4,36+t*2,!0),dr(s,8,"WAVE"),dr(s,12,"fmt "),s.setUint32(16,16,!0),s.setUint16(20,1,!0),s.setUint16(22,1,!0),s.setUint32(24,n,!0),s.setUint32(28,n*2,!0),s.setUint16(32,2,!0),s.setUint16(34,16,!0),dr(s,36,"data"),s.setUint32(40,t*2,!0);let c=44;for(let i=0;i<t;i++)s.setInt16(c,r[i],!0),c+=2;return new Blob([o],{type:"audio/wav"})}var Kr=class{constructor(){this.attempts=0}static canRetry(n){return n===1006||n===1011||n===1012||n===1013}nextDelay(){return[500,1500][this.attempts++]??null}};function zi(e,n,t){let r=e.map(a=>({...a}));for(let[a,o]of[["user",n],["assistant",t]]){if(!o.trim())continue;let s=-1;for(let c=r.length-1;c>=0;c--)if(r[c].role===a&&!r[c].done){s=c;break}if(s<0&&a==="user"){let c=r.map(i=>i.role).lastIndexOf("user");if(c>=0&&r[c].text===o.trim())continue}s>=0?r[s].text=o.trim():r.push({role:a,text:o.trim(),done:!0})}return r.map(a=>({...a,done:!0}))}var bo=16e3,da=24e3,Oh=.08,Gh=.12,jh=.03,Yh=.08;var Vh=.12,Kh=500,Xh=6e4,Qh=`
|
|
3
|
-
class KikuCapture extends AudioWorkletProcessor {
|
|
4
|
-
constructor() {
|
|
5
|
-
super();
|
|
6
|
-
this._ratio = sampleRate / ${bo};
|
|
7
|
-
this._chunk = ${Math.round(bo*.04)};
|
|
8
|
-
this._acc = new Int16Array(this._chunk);
|
|
9
|
-
this._n = 0;
|
|
10
|
-
this._pos = 0;
|
|
11
|
-
}
|
|
12
|
-
process(inputs) {
|
|
13
|
-
const ch = inputs[0] && inputs[0][0];
|
|
14
|
-
if (!ch) return true;
|
|
15
|
-
while (this._pos < ch.length) {
|
|
16
|
-
const i = this._pos | 0;
|
|
17
|
-
const frac = this._pos - i;
|
|
18
|
-
const a = ch[i];
|
|
19
|
-
const b = i + 1 < ch.length ? ch[i + 1] : a;
|
|
20
|
-
const s = a + (b - a) * frac;
|
|
21
|
-
const c = s < -1 ? -1 : s > 1 ? 1 : s;
|
|
22
|
-
this._acc[this._n++] = c < 0 ? c * 0x8000 : c * 0x7fff;
|
|
23
|
-
if (this._n === this._chunk) {
|
|
24
|
-
this.port.postMessage(this._acc.buffer, [this._acc.buffer]);
|
|
25
|
-
this._acc = new Int16Array(this._chunk);
|
|
26
|
-
this._n = 0;
|
|
27
|
-
}
|
|
28
|
-
this._pos += this._ratio;
|
|
29
|
-
}
|
|
30
|
-
this._pos -= ch.length;
|
|
31
|
-
return true;
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
registerProcessor('kiku-capture', KikuCapture);
|
|
35
|
-
`;function Ei(e){return e.proof?["akropolys.token."+e.token,"akropolys.proof."+e.proof]:["akropolys.token."+e.token]}function Li(e,n){let t=e.apiUrl.replace(/\/+$/,""),r=t.endsWith("/voice/live")?t:t+"/voice/live",a=new URL(r,window.location.href);a.protocol=a.protocol==="https:"?"wss:":"ws:",a.searchParams.set("siteId",e.siteId),e.kikuId&&a.searchParams.set("kikuId",e.kikuId),e.sessionId&&a.searchParams.set("sessionId",e.sessionId),e.name&&a.searchParams.set("name",e.name),e.language&&a.searchParams.set("language",e.language),a.searchParams.set("codec","adpcm");let o=n||e.voice;return o&&a.searchParams.set("voice",o),a.toString()}function Ni(e){let[n,t]=Rr("idle"),[r,a]=Rr(!1),[o,s]=Rr([]),[c,i]=Rr(null),[l,h]=Rr(!1),p=we(null),d=we(!1),m=we(new Kr),f=we(()=>!1),M=we(null),b=we(null),T=we(!1),x=we(0),L=we(0),z=we(!1),y=we(null),A=we(0),$=we(!1),R=we(!1),q=we(null),F=we(null),I=we(null),G=we(null),_=we(0),ne=we(!1),ke=we([]),ue=we(0),V=we(new Set),he=we(null),X=we(null),D=we(da),W=we(e);Xr(()=>{W.current=e;let O=F.current;if(O)for(let re of O.getAudioTracks())re.enabled=!e.muted},[e]);let w=we(!1),E=we([]),N=we(new Rn),Y=we(null),S=we(""),C=we(""),[u,ee]=Rr([]),j=we([]);j.current=u;let H=we([]),[v,k]=Rr([]),P=we(0),U=we([]),te=we(void 0),oe=we(null),ce=we([]),ie=we([]),K=Ue(()=>{let O=S.current.trim(),re=C.current.trim(),pe=oe.current?Math.max(.1,(Date.now()-oe.current)/1e3):void 0,J;if(ce.current.length>0)try{let Te=Ti(ce.current,D.current);J=URL.createObjectURL(Te)}catch(Te){console.error("[kiku] failed to encode bot audio wav:",Te)}let se;if(ie.current.length>0)try{let Te=Ri(ie.current,bo);se=URL.createObjectURL(Te)}catch(Te){console.error("[kiku] failed to encode user audio wav:",Te)}let ae=U.current.length?U.current:void 0,ze=te.current;S.current="",C.current="",oe.current=null,ce.current=[],ie.current=[],U.current=[],te.current=void 0,!(!O&&!re&&!ae&&!ze)&&W.current.onExchange?.({heard:O,said:re,duration:pe,userAudioUrl:se,audioUrl:J,images:ae,visualization:ze})},[]),Q=Ue(()=>{},[]),xe=Ue(O=>{if(x.current=Date.now(),W.current.muted)return;let re=new Int16Array(O),pe=0;for(let se=0;se<re.length;se+=8){let ae=Math.abs(re[se]);ae>pe&&(pe=ae)}pe>1200&&(A.current=Date.now());let J=p.current;if(!(!w.current||!J||J.readyState!==WebSocket.OPEN)){if(J.bufferedAmount>256*1024){f.current()||W.current.onError?.("connection");return}ie.current.push(new Int16Array(O.slice(0)));try{J.send(N.current.encode(new Int16Array(O)))}catch{f.current()||W.current.onError?.("connection")}}},[]),Ie=Ue(()=>{E.current=[]},[]),Ae=Ue(()=>{let O=q.current;if(Y.current&&O&&O.state!=="closed")return Y.current;let re=window.AudioContext||window.webkitAudioContext;if(!re)return Promise.resolve(null);let pe=new re({latencyHint:"interactive",sampleRate:da});q.current=pe;let J=URL.createObjectURL(new Blob([Qh],{type:"application/javascript"}));return Y.current=pe.audioWorklet.addModule(J).then(()=>pe).catch(()=>null).finally(()=>URL.revokeObjectURL(J)),Y.current},[]),ge=Ue(()=>{typeof window>"u"||Ae()},[Ae]),Se=Ue(()=>{let O=G.current;if(!O)return 0;let re=new Uint8Array(O.fftSize);O.getByteTimeDomainData(re);let pe=0;for(let J=0;J<re.length;J++){let se=(re[J]-128)/128;pe+=se*se}return Math.min(1,Math.sqrt(pe/re.length)*4)},[]),Pe=n==="speaking"||n==="thinking",me=Ue(O=>{let re=Pe?he.current:G.current;return!re||O.length!==re.frequencyBinCount?!1:(re.getByteFrequencyData(O),!0)},[Pe]),at=Ue(()=>(Pe?he.current:G.current)?.frequencyBinCount??0,[Pe]),Xe=Ue(()=>{let O=X.current,re=q.current;if(!O||!re||re.state==="closed"){_.current=0;for(let se of V.current)try{se.onended=null,se.stop()}catch{}V.current.clear();return}let pe=re.currentTime,J=pe+Yh;O.gain.cancelScheduledValues(pe),O.gain.setValueAtTime(O.gain.value,pe),O.gain.linearRampToValueAtTime(0,J),O.gain.setValueAtTime(1,J);for(let se of V.current)try{se.onended=null,se.stop(J)}catch{}V.current.clear(),_.current=J},[]),xt=Ue(O=>{let re=q.current,pe=he.current;if(!re||!pe||O.length===0)return;re.state==="suspended"&&re.resume().catch(()=>{});let J=re.createBuffer(1,O.length,D.current);J.getChannelData(0).set(O);let se=re.createBufferSource();se.buffer=J,se.connect(pe);let ae=re.currentTime,ze=_.current>ae?_.current:ae+jh;se.start(ze),_.current=ze+J.duration,V.current.add(se),se.onended=()=>{V.current.delete(se),V.current.size===0&&(_.current=0,ne.current=!1,t(Te=>Te==="speaking"?"listening":Te))},t(Te=>Te==="speaking"||Te==="idle"||Te==="ended"?Te:"speaking")},[]),ut=Ue(()=>{let O=ke.current;ke.current=[],ue.current=0;for(let re of O)xt(re)},[xt]),Ze=Ue(()=>{ke.current=[],ue.current=0},[]),rr=Ue(O=>{let re=q.current;if(!re||O.length===0)return;if(_.current>re.currentTime&&ke.current.length===0){xt(O);return}let J=ne.current?Gh:Oh;ke.current.push(O),ue.current+=O.length/D.current,ue.current>=J&&(ne.current=!0,ut())},[xt,ut]),Nt=we(null),Yt=we(null),it=Ue(()=>{Nt.current&&(clearInterval(Nt.current),Nt.current=null);let O=Yt.current,re=q.current;if(O&&re&&re.state!=="closed"){let pe=re.currentTime;try{O.gain.cancelScheduledValues(pe),O.gain.setValueAtTime(O.gain.value,pe),O.gain.linearRampToValueAtTime(1e-4,pe+.04)}catch{}setTimeout(()=>{try{O.disconnect()}catch{}Yt.current===O&&(Yt.current=null)},50)}},[]),Ut=Ue(()=>{},[]),Mt=Ue(O=>{M.current!==null&&clearTimeout(M.current),b.current!==null&&clearTimeout(b.current),M.current=b.current=null,T.current=!1,L.current=0,K();let re=p.current;p.current=null;try{re?.close()}catch{}w.current=!1,E.current=[],Y.current=null,ne.current=!1,ke.current=[],ue.current=0,it(),Xe(),y.current=null,I.current&&(I.current.port.onmessage=null),I.current?.disconnect(),I.current=null,F.current?.getTracks().forEach(pe=>pe.stop()),F.current=null,G.current=null,he.current=null,X.current=null,q.current?.close().catch(()=>{}),q.current=null,t(O),a(!1),s([]),d.current=!1,z.current=!1},[K,Xe,it]),be=Ue(()=>{try{p.current?.send(JSON.stringify({type:"close"}))}catch{}try{p.current?.close()}catch{}Mt("idle")},[Mt]),ct=Ue(O=>{let re=[...H.current,...j.current.filter(pe=>pe.done)].filter(pe=>pe.text).map(pe=>({role:pe.role,text:pe.text}));try{O.send(JSON.stringify({type:"open",history:re}))}catch{}},[]),Tt=Ue(O=>{let re=!1;b.current!==null&&clearTimeout(b.current),b.current=setTimeout(()=>{p.current!==O||w.current||f.current()||(W.current.onError?.("connection"),be())},3e4),O.binaryType="arraybuffer",N.current=new Rn,O.onopen=()=>{p.current!==O||!z.current||(z.current=!1,ct(O))},O.onmessage=pe=>{if(p.current!==O)return;if(pe.data instanceof ArrayBuffer){if(!$.current){$.current=!0;let ae=C.current.trim();ae&&ee(ze=>{let Te=ze.slice();for(let De=Te.length-1;De>=0;De--)Te[De].role==="user"&&!Te[De].done&&(Te[De]={...Te[De],done:!0});return Te.push({role:"assistant",text:ae,done:!1}),Te})}!R.current&&A.current&&(R.current=!0,console.log("[kiku] wait from last speech to first audio: "+(Date.now()-A.current)+"ms")),it();let se=Mi(pe.data);ce.current.push(se.slice()),rr(se);return}let J;try{J=JSON.parse(pe.data)}catch{return}switch(J.type){case"ready":b.current!==null&&clearTimeout(b.current),b.current=null,T.current=!0,x.current=Date.now(),J.sampleRate&&(D.current=J.sampleRate,J.sampleRate!==da&&console.warn(`[kiku] live audio rate ${J.sampleRate} != context ${da}; per-buffer resampling will click at every chunk seam`)),typeof J.secondsLeft=="number"&&i(J.secondsLeft),h(J.photos===!0),w.current=!0,t("listening"),Ie(),y.current?.(),y.current=null,Dt("connect",!0);break;case"hearing":oe.current||(oe.current=Date.now()),a(!0);break;case"thinking":oe.current||(oe.current=Date.now()),a(!1),t("thinking"),Ut(),J.tool==="visualize"&&k(se=>se.some(ae=>ae.pending)?se:[...se,{id:++P.current,url:"",pending:!0}]);break;case"viz":typeof J.url=="string"&&J.url?(te.current=J.url,k(se=>se.map(ae=>ae.pending?{...ae,url:J.url,pending:!1}:ae))):k(se=>se.filter(ae=>!ae.pending));break;case"heard":V.current.size===0&&(_.current=0),oe.current||(oe.current=Date.now(),Dt("heard")),S.current+=J.text,ee(se=>{let ae=se.slice(),ze=ae[ae.length-1];return ze&&ze.role==="user"&&!ze.done?ae[ae.length-1]={...ze,text:S.current.trim()}:ae.push({role:"user",text:S.current.trim(),done:!1}),ae}),a(!1),t("thinking"),Ut();break;case"said":if(C.current+=J.text,!$.current)break;ee(se=>{let ae=se.slice();for(let De=ae.length-1;De>=0;De--)ae[De].role==="user"&&!ae[De].done&&(ae[De]={...ae[De],done:!0});let ze=ae[ae.length-1],Te=C.current.trim();return ze&&ze.role==="assistant"&&!ze.done?ae[ae.length-1]={...ze,text:Te}:ae.push({role:"assistant",text:Te,done:!1}),ae});break;case"interrupted":ne.current=!1,Ze(),it(),Xe(),Dt("interrupt"),a(!1),t("listening");break;case"turn_complete":R.current=!1,$.current=!1,A.current=0,ee(se=>se.map(ae=>ae.done?ae:{...ae,done:!0})),ut(),ne.current=!1,it(),a(!1),K();break;case"sources":Array.isArray(J.sources)&&J.sources.length&&s(J.sources);break;case"seconds":typeof J.secondsLeft=="number"&&i(J.secondsLeft);break;case"refused":W.current.onRefused?.(J.code||"guest"),be();break;case"error":if(J.code==="session_expiring"&&f.current())return;W.current.onError?.(J.code||"unavailable"),be();break}},O.onclose=pe=>{p.current===O&&(b.current!==null&&clearTimeout(b.current),b.current=null,!(Kr.canRetry(pe.code)&&f.current())&&(pe.code===4402&&(re=!0,W.current.onError?.(pe.reason==="site"?"siteLimit":"limit")),Mt("ended")))},O.onerror=()=>{!re&&p.current===O&&console.warn("[kiku] voice transport interrupted")}},[Ze,rr,K,Ie,Xe,ut,ct,Ut,it,be,Mt]),vt=Ue(O=>{let re=p.current;if(p.current=null,w.current=!1,j.current=zi(j.current,S.current,C.current),ee(j.current),k(se=>se.filter(ae=>!ae.pending)),K(),$.current=!1,R.current=!1,ne.current=!1,Ze(),t("connecting"),Xe(),it(),re){try{re.send(JSON.stringify({type:"close"}))}catch{}try{re.close()}catch{}}let pe=W.current;z.current=!0;let J=new WebSocket(Li(pe,O),Ei(pe));p.current=J,Tt(J)},[Tt,Ze,K,Xe,it]),ot=Ue(()=>{if(!d.current||!T.current||!I.current)return!1;if(M.current!==null)return!0;let O=m.current.nextDelay();if(O===null)return W.current.onError?.("connection"),be(),!0;let re=p.current;p.current=null,w.current=!1,b.current!==null&&clearTimeout(b.current),b.current=null;try{re?.close()}catch{}return Xe(),Ze(),it(),a(!1),t("connecting"),M.current=setTimeout(()=>{M.current=null,d.current&&vt()},O),!0},[Ze,Xe,vt,be,it]);f.current=ot,Xr(()=>{let O=()=>{if(!d.current||!w.current||!I.current||document.visibilityState==="hidden")return;let pe=q.current;if(!pe)return;let J=Date.now();if(J-x.current<1e4){L.current=0;return}L.current?J-L.current>1e4&&(W.current.onError?.("audio-capture"),be()):(L.current=J,pe.resume().catch(()=>{}))},re=window.setInterval(O,2e3);return document.addEventListener("visibilitychange",O),()=>{clearInterval(re),document.removeEventListener("visibilitychange",O)}},[be]);let ft=we(e.voice);Xr(()=>{ft.current!==e.voice&&(ft.current=e.voice,p.current&&(n==="listening"||n==="thinking"||n==="speaking")&&vt(e.voice))},[e.voice,n,vt]);let Pt=Ue(async(O=[])=>{if(d.current&&(p.current||M.current!==null))return;d.current=!0,m.current=new Kr,T.current=!1,t("connecting");let re=W.current;E.current=[],H.current=O,j.current=[],ee([]),k([]),S.current="",C.current="";let pe=Ae();q.current?.resume().catch(()=>{}),Xn();let J=p.current;J&&J.readyState===WebSocket.OPEN?ct(J):J&&J.readyState===WebSocket.CONNECTING?z.current=!0:(J=new WebSocket(Li(re),Ei(re)),p.current=J,z.current=!0,Tt(J));let se;try{if(!navigator.mediaDevices?.getUserMedia)throw{name:"NotAllowedError"};se=await navigator.mediaDevices.getUserMedia({audio:{echoCancellation:!0,noiseSuppression:!0,autoGainControl:!0}})}catch(lt){try{J.close()}catch{}p.current=null,t("idle"),re.onError?.(lt?.name==="NotAllowedError"?"not-allowed":"audio-capture");return}if(p.current!==J){se.getTracks().forEach(lt=>lt.stop());return}F.current=se;for(let lt of se.getAudioTracks())lt.enabled=!W.current.muted;let ae=await pe;if(p.current!==J){se.getTracks().forEach(lt=>lt.stop());return}if(!ae){W.current.onError?.("audio-worklet"),be();return}ae.state==="suspended"&&ae.resume().catch(()=>{});let ze=ae.createAnalyser();ze.fftSize=1024,ze.smoothingTimeConstant=.25,G.current=ze;let Te=ae.createGain();Te.gain.value=1,Te.connect(ae.destination),X.current=Te;let De=ae.createAnalyser();De.fftSize=1024,De.smoothingTimeConstant=.25,De.connect(Te),he.current=De;try{let lt=new AudioWorkletNode(ae,"kiku-capture");I.current=lt,lt.port.onmessage=Pr=>xe(Pr.data);let Vt=ae.createMediaStreamSource(se),Ir=()=>{if(!(p.current!==J||!I.current)){try{Vt.connect(ze)}catch{}try{Vt.connect(lt)}catch{}}};w.current?Ir():y.current=Ir}catch{W.current.onError?.("audio-worklet"),be()}},[Tt,Ae,xe,ct,be]);Xr(()=>{if(n!=="listening"){a(!1);return}let O=0,re=!1,pe=Date.now(),J=window.setInterval(()=>{let se=Date.now();if(!W.current.muted&&Se()>Vh&&(O=se),se-Math.max(O,pe)>Xh){window.clearInterval(J),W.current.onError?.("idle"),be();return}let ae=se-O<Kh;ae!==re&&(re=ae,a(ae))},100);return()=>window.clearInterval(J)},[n,Se,be]);let It=Ue(()=>{ge()},[ge]);Xr(()=>()=>{be()},[be]),Xr(()=>{let O=F.current;if(O)for(let re of O.getAudioTracks())re.enabled=!e.muted},[e.muted,n]);let et=Ue(async O=>{let re=W.current.storeScene;if(!re||!O.type.startsWith("image/"))return!1;let pe;try{pe=await ea(O)}catch{return!1}let J=++P.current;if(k(ae=>[...ae,{id:J,url:pe,pending:!1,sending:!0}]),!await re(pe))return k(ae=>ae.filter(ze=>ze.id!==J)),!1;k(ae=>ae.map(ze=>ze.id===J?{...ze,sending:!1}:ze)),U.current.push(pe);let se=p.current;return se&&se.readyState===WebSocket.OPEN&&se.send(JSON.stringify({type:"text",text:"(The visitor just attached a photo. You cannot see it. In one short sentence, ask what they would like changed in it.)"})),!0},[]),mt=Ue(O=>{let re=p.current;re&&re.readyState===WebSocket.OPEN&&O.trim()&&re.send(JSON.stringify({type:"text",text:O}))},[]);return{state:n,phase:n,hearing:r,sources:o,secondsLeft:c,photos:l,turns:u,images:v,micLevel:Se,micSpectrum:me,spectrumBins:at,start:Pt,stop:be,prewarm:It,attachPhoto:et,ask:mt}}var ep=e=>e==="connecting"||e==="ended"?"idle":e,Pi={turns:[],images:[]},Ai=()=>`v${Date.now().toString(36)}`;function tp(e,n){let t=[],r=[];for(let a of e)if(a.live===n){a.content&&t.push({role:a.role==="user"?"user":"assistant",text:a.content,done:!0});for(let o of[...a.images??[],...a.visualization?[a.visualization]:[]])r.push({id:-(r.length+1),url:o,pending:!1})}return{turns:t,images:r}}function _i({voiceLang:e,speechLang:n,shopperLanguage:t,ttsVoice:r="Algenib",messages:a,handleSendUtterance:o,appendSpokenExchange:s}){let c=Zh(),[i,l]=zr("off"),[h,p]=zr("idle"),[d,m]=zr(""),[f,M]=zr(!1),[b,T]=zr(!1),[x,L]=zr(()=>{try{let N=localStorage.getItem(so);if(N&&Cn.some(Y=>Y.name===N))return N}catch{}return r||"Algenib"}),z=Jh(Ai()),y=ua(N=>{L(N);try{localStorage.setItem(so,N)}catch{}},[]),A=yi({lang:e||n,onUtterance:N=>{p("thinking"),o(N)},onError:N=>{l("off"),p("idle"),m(N==="not-allowed"?"micDenied":N==="language-not-supported"?"micLangUnsupported":N==="audio-capture"?"micMissing":N==="network"?"micNetwork":"micFailed")},onBargeIn:()=>{gi()}}),R=c?.voiceUrl||c?.api?.voiceUrl||c?.api?.apiUrl||c?.apiUrl||"",q=c?.api?.siteId||c?.siteId||"",F=c?.api?.apiToken||c?.apiToken||"",I=c?.getShopperId?.()||c?.getKikuPub?.()||void 0,G=c?.getShopperName?.()||void 0,_=Ni({apiUrl:R,siteId:q,token:F,kikuId:I,proof:c?.getUserProof?.()||void 0,sessionId:c?.getSessionId?.()||void 0,storeScene:N=>c?.storeScene?.(N)??Promise.resolve(!1),name:G,language:t,voice:x,muted:f,onExchange:N=>{s(N.heard,N.said,N.duration,N.userAudioUrl,N.audioUrl,{images:N.images,visualization:N.visualization,live:z.current})},onError:N=>{if(N==="shopper_reply_limit"||N==="access_revoked"||N==="account_required"){T(!0),_.stop(),l("off");return}l("off"),m(N==="idle"?"voiceIdleEnded":N==="not-allowed"?"micDenied":N==="audio-capture"?"micMissing":N==="limit"?"voiceLimitReached":N==="siteLimit"?"voiceSiteLimit":N==="connection"||N==="network"?"micNetwork":"voiceUnavailable")},onRefused:N=>{(N==="shopper_reply_limit"||N==="access_revoked"||N==="account_required")&&T(!0),l("off"),m("voiceUnavailable")}}),ne=typeof window<"u"&&!!window.WebSocket&&!!(window.AudioContext||window.webkitAudioContext)&&!!navigator.mediaDevices?.getUserMedia,{prewarm:ke}=_;Ii(()=>{if(!ne)return;let N=window;if(N.requestIdleCallback){let S=N.requestIdleCallback(ke,{timeout:3e3});return()=>N.cancelIdleCallback(S)}let Y=window.setTimeout(ke,1500);return()=>window.clearTimeout(Y)},[ne,ke]),Ii(()=>{i==="converse"&&_.state==="ended"&&(l("off"),m("voiceSessionEnded"))},[i,_.state]);let[ue,V]=zr(Pi),he=ua(async N=>{if(!ei()){m("micInsecure");return}if(m(""),l(N),N==="dictate")p("listening"),await A.start();else{let Y=tp(a,z.current);V(Y),_.start(Y.turns)}},[_,A,a]),X=ua(()=>{_.stop(),z.current=Ai(),V(Pi),_.start([])},[_]),D=ua(()=>{l("off"),p("idle"),A.stop(),_.stop()},[_,A]),W=i==="converse"?ep(_.state):i==="dictate"?h==="listening"?A.hearing?"speaking":"listening":h:"idle",w=i==="converse"&&_.state!=="listening"&&_.state!=="thinking"&&_.state!=="speaking";return{attachPhoto:async N=>{await _.attachPhoto(N)||m("voicePhotoFailed")},voiceMode:i,voicePhase:W,voiceConnecting:w,voiceError:d,setVoiceError:m,voiceMuted:f,setVoiceMuted:M,voiceSecondsLeft:_.secondsLeft??null,voiceBlocked:b,liveVoiceName:x,chooseVoice:y,canConverse:ne,startVoice:he,stopVoice:D,voice:A,live:_,earlier:ue,newVoiceChat:X}}import Oe from"react";import{useEffect as rp,useRef as Je}from"react";import{jsx as Ne,jsxs as zt}from"react/jsx-runtime";var ko={idle:{bw:50,bh:60,tr:1,br:.42,bow:3},thinking:{bw:46,bh:46,tr:1,br:1,bow:2},visualizing:{bw:64,bh:42,tr:.42,br:.42,bow:2},speaking:{bw:44,bh:54,tr:.9,br:.9,bow:3},failed:{bw:53,bh:45,tr:.95,br:.55,bow:4},curious:{bw:48,bh:52,tr:.9,br:.7,bow:3},welcoming:{bw:50,bh:58,tr:1,br:.5,bow:2},guiding:{bw:46,bh:50,tr:.8,br:.8,bow:2},happy:{bw:52,bh:56,tr:1,br:.4,bow:4},focused:{bw:48,bh:52,tr:.9,br:.7,bow:2}},fo={idle:{lid:1,warm:0,breath:2100,wob:1},thinking:{lid:1,warm:.2,breath:1700,wob:1.6},visualizing:{lid:1,warm:.9,breath:1200,wob:2.2},speaking:{lid:1,warm:.35,breath:900,wob:1.8},failed:{lid:.28,warm:0,breath:3e3,wob:.6},curious:{lid:1,warm:.15,breath:1800,wob:1.4},welcoming:{lid:1,warm:.25,breath:1600,wob:1.2},guiding:{lid:1,warm:.2,breath:1500,wob:1.3},happy:{lid:1,warm:.4,breath:1200,wob:1.5},focused:{lid:1,warm:.2,breath:1500,wob:1.2}},ma=[[0,0,0],[.09,.54,0],[.19,-.36,32],[.31,-.22,58],[.42,-.12,68],[.54,.04,28],[.63,.96,0],[.71,.18,0],[.79,-.16,20],[.88,.34,0],[.95,-.05,4],[1,0,0]],np=.42,ap=170;function op(e){let n=1;for(;n<ma.length-1&&ma[n][0]<e;)n++;let[t,r,a]=ma[n-1],[o,s,c]=ma[n],i=o===t?0:(e-t)/(o-t),l=i*i*(3-2*i);return[r+(s-r)*l,a+(c-a)*l]}var zn=6,Fi=["bw","bh","tr","br","bow","lid","warm","wob","gx","gy"],ur=(e,n,t)=>Math.max(n,Math.min(t,e));function Di(e,n,t,r){let a=l=>l.toFixed(2),o=(n+t)/2,s=e+r,c=(o-n)*.55,i=(t-o)*.55;return`C${a(e)} ${a(n+c)} ${a(s)} ${a(o-c)} ${a(s)} ${a(o)}C${a(s)} ${a(o+i)} ${a(e)} ${a(t-i)} ${a(e)} ${a(t)}`}function sp(e,n,t,r,a){let o=ur(e*t,8,n*.96),s=ur(e*r,8,n*.96),c=(p,d)=>`${p.toFixed(2)} ${d.toFixed(2)}`,i=.46,l=ur((e-o)/e,0,1),h=ur((e-s)/e,0,1);return`M${c(-e,-n+o)}C${c(-e,-n+o*i)} ${c(-e+o*i,-n)} ${c(-e+o,-n)}C${c(-e*.3*l,-n-2*l)} ${c(e*.3*l,-n-2*l)} ${c(e-o,-n)}C${c(e-o*i,-n)} ${c(e,-n+o*i)} ${c(e,-n+o)}`+Di(e,-n+o,n-s,a)+`C${c(e,n-s*i)} ${c(e-s*i,n)} ${c(e-s,n)}C${c(e*.3*h,n+2*h)} ${c(-e*.3*h,n+2*h)} ${c(-e+s,n)}C${c(-e+s*i,n)} ${c(-e,n-s*i)} ${c(-e,n-s)}`+Di(-e,n-s,-n+o,-a)+"Z"}var Qr=[{name:"Graphite",color:"#4B5058",light:"#A8AEB6",glow:"rgba(75, 80, 88, 0.26)"},{name:"Mist",color:"#78868F",light:"#BFC9CF",glow:"rgba(120, 134, 143, 0.26)"},{name:"Sandstone",color:"#8A7E71",light:"#CBC1B5",glow:"rgba(138, 126, 113, 0.26)"},{name:"Pewter",color:"#5F6670",light:"#B3BAC3",glow:"rgba(95, 102, 112, 0.26)"}],vo=[{name:"Aegean",color:"#2E6FB7",light:"#9CC1E6",glow:"rgba(46, 111, 183, 0.30)"},{name:"Fern",color:"#3C8C60",light:"#A2CFB4",glow:"rgba(60, 140, 96, 0.30)"},{name:"Marigold",color:"#C48A22",light:"#EBD095",glow:"rgba(196, 138, 34, 0.30)"},{name:"Coral",color:"#C15A4E",light:"#E9AEA3",glow:"rgba(193, 90, 78, 0.30)"},{name:"Iris",color:"#5F5CC4",light:"#B6B4E8",glow:"rgba(95, 92, 196, 0.30)"}],lm=[...Qr,...vo];function go(e){let r=(!vo.includes(e)&&Math.random()<.26?vo:Qr).filter(a=>a!==e);return r[Math.floor(Math.random()*r.length)]}function Ot(e){let n=parseInt(e.slice(1),16);return[n>>16&255,n>>8&255,n&255]}function xo(e){return`rgb(${Math.round(e[0])}, ${Math.round(e[1])}, ${Math.round(e[2])})`}function ip(e,n,t){return[e[0]+(n[0]-e[0])*t,e[1]+(n[1]-e[1])*t,e[2]+(n[2]-e[2])*t]}var cp=[[255,253,248],[247,240,231],[231,218,202],[198,178,156]],Hi=[.05,.15,.42,.74],lp=[.52,.72,.9,1],Bi={color:"#E2581D",light:"#FFBE96",glow:"rgba(226, 88, 29, 0.34)"};function $i({state:e="idle",size:n=40,alert:t=!1,theme:r,feminine:a,accessories:o,onImpact:s,triggerRef:c,dropIn:i=!1}){let l=Je(i),h=Je(e);h.current=e;let p=Je(t);p.current=t;let d=r==="blush"||a===!0||!!(o?.flower||o?.eyelashes||o?.blush),m=o?.flower??d,f=o?.eyelashes??d,M=o?.blush??d,b=Je(null),T=Je(null),x=Je(null),L=Je(null),z=Je(null),y=Je(null),A=Je(null),$=Je(null),R=Je(null),q=Je(null),F=Je(null),I=Je(null),G=Je(null),_=Je(null),ne=Je([]),ke=Je([]),ue=Je(null),V=Je(`kiku-${Math.random().toString(36).slice(2,8)}`).current,he=Je(s);return he.current=s,rp(()=>{let X=window.matchMedia("(prefers-reduced-motion: reduce)").matches,D={},W={};Fi.forEach(be=>{D[be]=ko.idle[be]??fo.idle[be]??0,W[be]=0});let w=Array.from({length:zn},()=>({x:0,y:0,w:0,h:0,rx:0,a:0})),E=Array.from({length:zn},()=>({x:0,y:0,w:0,h:0,rx:0,a:0})),N=1800,Y=-1,S=0,C=2600,u=0,ee=!1,j=9e3+Math.random()*8e3,H=-1,v=0;l.current&&!X&&(H=np,v=performance.now()+ap);let k=0,P=0,U=0,te=4200,oe=0,ce=0,ie=0,K=12e3,Q=Qr[0],xe=Ot(Q.color),Ie=Ot(Q.light),Ae=[...xe],ge=[...Ie],Se=2600,Pe=-1/0,me=!1,at=0,Xe=!1,xt=0,ut=0,Ze=0,rr=!1,Nt=0,Yt=be=>{be-Pe<Se?(Q=go(Q),Ae=Ot(Q.color),ge=Ot(Q.light),Pe=-1/0):Pe=be},it=(be,ct,Tt,vt)=>{let ot=h.current,ft=Array.from({length:zn},()=>({x:0,y:0,w:0,h:0,rx:0,a:0})),Pt=(It,et,mt=0)=>{let O=Math.max(4,54*Math.max(.06,ct));ft[It]={x:et+Tt,y:-4+vt+mt,w:21,h:O,rx:10.5,a:1}};if(ot==="thinking"){let et=be%2800/2800,mt=Math.pow(Math.sin(et*Math.PI*2)*.5+.5,3);for(let O=0;O<4;O++){let re=be/700+O/4*Math.PI*2,pe=(26-O%2*5)*(1-.94*mt),J=16+mt*6+Math.sin(be/420+O)*1.4;ft[O]={x:Math.cos(re)*pe,y:Math.sin(re)*pe*.86+2,w:J,h:J,rx:J/2,a:1}}}else if(ot==="visualizing")ft[0]={x:0,y:-2,w:78,h:26,rx:13,a:1};else if(ot==="speaking")for(let et=0;et<5;et++){let mt=12+Math.abs(Math.sin(be/150+et*.9))*26;ft[et]={x:(et-4/2)*15,y:-2,w:9,h:mt,rx:4.5,a:1}}else ot==="failed"?(Pt(0,-22,8),Pt(1,22,8)):(Pt(0,-22),Pt(1,22));return ft};c&&(c.current=()=>{if(H>=0){Xe=!0,Q=go(Q),Ae=Ot(Q.color),ge=Ot(Q.light),Pe=-1/0;return}H=0,Yt(xt),j=xt+4e3});let Ut=be=>{xt=be;let ct=h.current,Tt=ko[ct]??ko.idle,vt=fo[ct]??fo.idle,ot=ct==="idle"||ct==="failed";ot&&!X&&(be>C&&(S=(Math.random()-.5)*2,C=be+1800+Math.random()*3600),D.wantGx=S*5);let ft=p.current?1:0;Ze=(Ze+(ft-ut)*.1)*.88,ut+=Ze;let Pt=p.current&&!X?Math.sin(be/480)*.055*ut:0,It={bw:Tt.bw*(1+ut*.34+Pt),bh:Tt.bh*(1+ut*.2+Pt),tr:Tt.tr,br:Tt.br,bow:Tt.bow,warm:vt.warm,wob:vt.wob,lid:vt.lid,gx:ot&&!X?S*5:0,gy:ot&&!X?Math.sin(be/2600)*2:0};!X&&ot&&(Y<0&&be>N&&(Y=0),Y>=0&&(Y+=1/7,It.lid=vt.lid*Math.abs(Y-.5)*2,Y>=1&&(Y=-1,It.lid=vt.lid,N=be+(Math.random()<.22?340:2600+Math.random()*4200)))),Fi.forEach(Ee=>{let Ye=Ee;if(X){D[Ye]=It[Ye];return}let _e=Ye==="lid"?.42:.11,yt=Ye==="lid"?.55:.78;W[Ye]=(W[Ye]+(It[Ye]-D[Ye])*_e)*yt,D[Ye]+=W[Ye]});let et=0,mt=0;!X&&p.current&&H<0&&be>Nt&&(H=0,Nt=be+2100,j=be+4e3),!X&&ct==="idle"?H<0&&be>j&&(H=0,me?(me=!1,at=0,Q=go(Q),Ae=Ot(Q.color),ge=Ot(Q.light),Pe=-1/0):(at++,Yt(be))):H<0&&(j=be+3e3+Math.random()*3e3),H>=0&&(be>=v&&(H+=1/96),[et,mt]=op(H),H>=1&&(H=-1,et=0,mt=0,Xe?(Xe=!1,at=0,j=be+150):!me&&at>=2?(me=!0,j=be+240):j=be+5e3+Math.random()*5e3));let O=Math.max(0,et);if(p.current!==rr){rr=p.current;let Ee=p.current?Bi:Q;Ae=Ot(Ee.color),ge=Ot(Ee.light),p.current&&!X&&(H<0&&(H=0),Nt=be+2600)}let re=p.current?Bi:Q;if(X)xe=[...Ae],Ie=[...ge];else for(let Ee=0;Ee<3;Ee++)xe[Ee]+=(Ae[Ee]-xe[Ee])*.055,Ie[Ee]+=(ge[Ee]-Ie[Ee])*.055;let pe=xo(xe),J=xo(Ie);I.current?.setAttribute("stop-color",pe),G.current?.setAttribute("stop-color",J),_.current?.setAttribute("stop-color",J);for(let Ee=0;Ee<4;Ee++){let Ye=Hi[Ee]+(lp[Ee]-Hi[Ee])*ut;ne.current[Ee]?.style.setProperty("stop-color",xo(ip(cp[Ee],xe,Ye)))}let se=.34+Math.sin(be/1200)*.06,ae=O>.02?Math.min(.72,se+O*.34):se;F.current?.setAttribute("opacity",ae.toFixed(3)),O>.04?he.current?.(O,re.color,re.glow):Mt>.04&&he.current?.(0,re.color,re.glow),Mt=O;let ze=X?0:Math.sin(be/1900)*.9*D.wob,Te=D.bw*(1+et*.55)+ze*.4,De=D.bh*(1-et*.62),lt=sp(Te,De,ur(D.tr+O*.5,0,1.2),ur(D.br+O*.9,0,1),D.bow+ze+O*5);b.current?.setAttribute("d",lt),T.current?.setAttribute("d",lt);let Vt=ct==="thinking";Vt!==ee&&(ee=Vt,ue.current?.setAttribute("filter",Vt?`url(#${V}-goo)`:"none"));let Ir=it(be,D.lid*(1-O*.85),D.gx,D.gy);for(let Ee=0;Ee<zn;Ee++){let Ye=Ir[Ee],_e=w[Ee],yt=E[Ee];for(let wt of["x","y","w","h","rx","a"]){if(X){_e[wt]=Ye[wt];continue}yt[wt]=(yt[wt]+(Ye[wt]-_e[wt])*.16)*.74,_e[wt]+=yt[wt]}let tt=ke.current[Ee];tt&&(tt.setAttribute("x",(_e.x-_e.w/2).toFixed(2)),tt.setAttribute("y",(_e.y-_e.h/2).toFixed(2)),tt.setAttribute("width",Math.max(0,_e.w).toFixed(2)),tt.setAttribute("height",Math.max(0,_e.h).toFixed(2)),tt.setAttribute("rx",Math.max(0,Math.min(_e.rx,_e.w/2,_e.h/2)).toFixed(2)),tt.setAttribute("opacity",ur(_e.a,0,1).toFixed(2)))}let Pr=X?0:Math.sin(be/vt.breath)*1.5;!X&&ot&&H<0?(be>te&&(U=(Math.random()<.5?-1:1)*(.35+Math.random()*.65),te=be+2600+Math.random()*4200),be>K&&(ie=ie>.1?0:1,K=be+(ie>.1?900:9e3+Math.random()*11e3))):(U=0,ie=0),P=(P+(U-k)*.028)*.9,k+=P,ce=(ce+(ie-oe)*.06)*.82,oe+=ce;let qn=D.bh-De,Ar=k*3.4+oe*4.5,Un=k*2.2+oe*3,_r=oe*2.4;if(x.current?.setAttribute("transform",`translate(${Un.toFixed(2)} ${(Pr+qn-mt+_r).toFixed(2)}) rotate(${Ar.toFixed(2)} 0 60)`),L.current&&L.current.setAttribute("transform",`translate(${Un.toFixed(2)} ${(Pr+qn-mt+_r).toFixed(2)}) rotate(${Ar.toFixed(2)} 0 60)`),m&&z.current){let Ee=-Te*.62,Ye=-De*.7,_e=-16+(X?0:Math.sin(be/1400)*3)+Ar*.4;z.current.setAttribute("transform",`translate(${Ee.toFixed(2)}, ${Ye.toFixed(2)}) rotate(${_e.toFixed(2)})`)}if(M&&y.current){let Ee=12+D.gy*.5;y.current.setAttribute("transform",`translate(0, ${Ee.toFixed(2)})`)}if(f&&A.current){let Ee=ct!=="thinking"&&ct!=="visualizing"&&ct!=="speaking";A.current.setAttribute("opacity",Ee?ur(D.lid*1.3,0,1).toFixed(2):"0");let Ye=(_e,yt)=>{let tt=Math.max(1,Math.min(_e.w,_e.h)/2),wt=_e.y-_e.h/2+tt,Fr="";for(let[Na,fr]of[[20,7],[48,8],[76,6.5]]){let nr=Na*Math.PI/180,Ia=_e.x+yt*Math.sin(nr)*tt,Pa=wt-Math.cos(nr)*tt,Aa=_e.x+yt*Math.sin(nr)*(tt+fr),_a=wt-Math.cos(nr)*(tt+fr)-1.5,ar=_e.x+yt*Math.sin(nr-.22)*(tt+fr*.65),Fa=wt-Math.cos(nr-.22)*(tt+fr*.65);Fr+=` M ${Ia.toFixed(2)} ${Pa.toFixed(2)} Q ${ar.toFixed(2)} ${Fa.toFixed(2)} ${Aa.toFixed(2)} ${_a.toFixed(2)}`}return Fr.trim()};$.current?.setAttribute("d",Ye(w[0],-1)),R.current?.setAttribute("d",Ye(w[1],1))}u=requestAnimationFrame(Ut)},Mt=0;return u=requestAnimationFrame(Ut),()=>cancelAnimationFrame(u)},[m,f,M,d]),zt("svg",{className:"hsk-kiku-avatar",width:n,height:n,viewBox:"-100 -100 200 200","aria-hidden":"true",style:{display:"block",overflow:"visible"},children:[zt("defs",{children:[Ne("linearGradient",{id:`${V}-marble`,x1:".2",y1:"0",x2:".42",y2:"1",children:[0,40,82,100].map((X,D)=>Ne("stop",{ref:W=>{ne.current[D]=W},offset:`${X}%`,style:{stopColor:`var(--hsk-marble-${D+1}, #FAF7F2)`}},X))}),zt("linearGradient",{id:`${V}-contact`,x1:"0",y1:"1",x2:"0",y2:"0",children:[Ne("stop",{ref:I,offset:"0%",stopColor:Qr[0].color,stopOpacity:"0.9"}),Ne("stop",{ref:G,offset:"45%",stopColor:Qr[0].light,stopOpacity:"0.5"}),Ne("stop",{ref:_,offset:"100%",stopColor:Qr[0].light,stopOpacity:"0"})]}),zt("radialGradient",{id:`${V}-sheen`,cx:".34",cy:".2",r:".55",children:[Ne("stop",{offset:"0%",stopColor:"#FFFFFF",style:{stopOpacity:"var(--hsk-marble-sheen, .9)"}}),Ne("stop",{offset:"100%",stopColor:"#FFFFFF",stopOpacity:"0"})]}),zt("linearGradient",{id:`${V}-hibiscus-petal`,x1:"0",y1:"1",x2:"0",y2:"0",children:[Ne("stop",{offset:"0%",stopColor:"#FF3366"}),Ne("stop",{offset:"65%",stopColor:"#FF758F"}),Ne("stop",{offset:"100%",stopColor:"#FFAAA6"})]}),zt("radialGradient",{id:`${V}-blush-cheek`,cx:"50%",cy:"50%",r:"50%",children:[Ne("stop",{offset:"0%",stopColor:"#FB7185",stopOpacity:"0.48"}),Ne("stop",{offset:"100%",stopColor:"#FB7185",stopOpacity:"0"})]}),Ne("clipPath",{id:`${V}-skin`,children:Ne("use",{href:`#${V}-body`})}),zt("filter",{id:`${V}-goo`,x:"-50%",y:"-50%",width:"200%",height:"200%",children:[Ne("feGaussianBlur",{in:"SourceGraphic",stdDeviation:"4",result:"b"}),Ne("feColorMatrix",{in:"b",values:"1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 18 -7"})]}),zt("mask",{id:`${V}-cut`,children:[Ne("path",{ref:T,d:"",fill:"#FFFFFF"}),Ne("g",{ref:ue,children:Array.from({length:zn},(X,D)=>Ne("rect",{ref:W=>{ke.current[D]=W},fill:"#000000"},D))})]})]}),zt("g",{ref:x,mask:`url(#${V}-cut)`,children:[Ne("path",{id:`${V}-body`,ref:b,d:"",fill:`url(#${V}-marble)`}),zt("g",{clipPath:`url(#${V}-skin)`,children:[Ne("ellipse",{cx:"-14",cy:"-40",rx:"46",ry:"34",fill:`url(#${V}-sheen)`}),Ne("rect",{ref:F,x:"-100",y:"-20",width:"200",height:"100",fill:`url(#${V}-contact)`,opacity:"0.45"})]})]}),zt("g",{ref:L,style:{pointerEvents:"none"},children:[M&&zt("g",{ref:y,children:[Ne("ellipse",{cx:"-28",cy:"0",rx:"10",ry:"5.5",fill:`url(#${V}-blush-cheek)`}),Ne("ellipse",{cx:"28",cy:"0",rx:"10",ry:"5.5",fill:`url(#${V}-blush-cheek)`})]}),f&&zt("g",{ref:A,children:[Ne("path",{ref:$,stroke:"#3D1424",strokeWidth:"1.7",strokeLinecap:"round",fill:"none"}),Ne("path",{ref:R,stroke:"#3D1424",strokeWidth:"1.7",strokeLinecap:"round",fill:"none"})]}),m&&zt("g",{ref:z,className:"hsk-avatar-flower",children:[Ne("path",{d:"M 0 0 C -12 -7 -15 5 0 0 Z",fill:"#10B981",transform:"translate(6, 4) rotate(-35)"}),[0,72,144,216,288].map(X=>Ne("path",{d:"M 0 0 C -6 -13 6 -13 0 0 Z",fill:`url(#${V}-hibiscus-petal)`,stroke:"#FF2A5F",strokeWidth:"0.6",transform:`rotate(${X-18})`},X)),Ne("path",{d:"M 0 0 Q 3 -10 9 -14",stroke:"#F59E0B",strokeWidth:"1.6",strokeLinecap:"round",fill:"none"}),Ne("circle",{cx:"9",cy:"-14",r:"1.3",fill:"#FDE047"}),Ne("circle",{cx:"7",cy:"-12",r:"1.1",fill:"#FDE047"}),Ne("circle",{cx:"6.5",cy:"-15",r:"1.1",fill:"#FDE047"}),Ne("circle",{cx:"0",cy:"0",r:"2.2",fill:"#881337"})]})]})]})}import{useState as qi}from"react";import{Fragment as Ui,jsx as Jr,jsxs as ba}from"react/jsx-runtime";function ka({className:e="",compact:n=!1}){let[t,r]=qi(()=>ps()),[a,o]=qi(""),s=()=>{let c=!t;ds(c),r(c),Dt(c?"reply":"interrupt",!0),o(us())};return ba("button",{type:"button",className:le("hsk-cb-sound-pill",n&&"is-compact",t&&"is-on",a&&a!=="running"&&a!=="off"&&"is-blocked",e),onClick:s,role:"switch","aria-checked":t,"aria-label":t?"Mute notification sounds":"Unmute notification sounds",children:[ba("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[Jr("path",{d:"M11 5 6 9H3v6h3l5 4V5Z"}),t?ba(Ui,{children:[Jr("path",{className:"hsk-snd-wave",style:{"--hsk-wave":0},d:"M15.5 8.5a5 5 0 0 1 0 7"}),Jr("path",{className:"hsk-snd-wave",style:{"--hsk-wave":1},d:"M18.5 5.5a9 9 0 0 1 0 13"})]}):ba(Ui,{children:[Jr("line",{className:"hsk-snd-x",x1:"16",y1:"9",x2:"21",y2:"15"}),Jr("line",{className:"hsk-snd-x",x1:"21",y1:"9",x2:"16",y2:"15"})]})]}),!n&&Jr("span",{children:t?"Sounds":"Muted"})]})}import{useCallback as Wi,useLayoutEffect as hp,useRef as Zr}from"react";var pp=300,dp=220,up=120,mp=.45,bp=.4,kp=.25,fa=e=>Math.min(1,Math.max(0,e));function fp(e,n,t,r){let a=3*e,o=3*(t-e)-a,s=1-a-o,c=3*n,i=3*(r-n)-c,l=1-c-i,h=m=>((s*m+o)*m+a)*m,p=m=>((l*m+i)*m+c)*m,d=m=>(3*s*m+2*o)*m+a;return m=>{let f=m;for(let M=0;M<8;M++){let b=h(f)-m,T=d(f);if(Math.abs(b)<1e-5||Math.abs(T)<1e-6)break;f-=b/T}return p(fa(f))}}var gp=fp(.32,.72,0,1);function xp(e){let n=e.getBoundingClientRect();return{top:n.top,left:n.left,width:n.width,height:n.height,radius:Math.min(parseFloat(getComputedStyle(e).borderTopLeftRadius)||0,n.height/2)}}function Oi({target:e,trigger:n,shadow:t,radius:r=0,enabled:a,onClosed:o}){let s=Zr(null),c=Zr(null),i=Zr(!1),l=Zr(0),h=Zr(null),p=Zr(o);p.current=o;let d=Wi(x=>{l.current=x;let L=e(),z=s.current,y=c.current;if(!L||!z||!y)return;let A=1-x,$=Math.min(Math.max(z.top,y.top),y.bottom-z.height),R=Math.min(Math.max(z.left,y.left),y.right-z.width),q=(z.top-$)*A,F=(z.left-R)*A,I=Math.max(0,($-y.top)*A),G=Math.max(0,(R-y.left)*A),_=Math.max(0,(y.right-R-z.width)*A),ne=Math.max(0,(y.bottom-$-z.height)*A),ke=z.radius*A+r*x;L.style.clipPath=`inset(${I}px ${_}px ${ne}px ${G}px round ${ke}px)`,L.style.translate=F||q?`${F}px ${q}px`:"";let ue=t?.();ue&&Object.assign(ue.style,{left:`${G}px`,top:`${I}px`,width:`${Math.max(0,y.width-G-_)}px`,height:`${Math.max(0,y.height-I-ne)}px`,borderRadius:`${ke}px`,translate:L.style.translate}),L.style.setProperty("--hsk-island-content",String(fa((x-mp)/bp)));let V=String(fa(x/kp));L.style.opacity=V,ue&&(ue.style.opacity=V)},[e,t,r]),m=()=>{let x=e();if(x)for(let z of["clip-path","translate","--hsk-island-content","opacity"])x.style.removeProperty(z);let L=t?.();if(L)for(let z of["left","top","width","height","border-radius","translate","opacity"])L.style.removeProperty(z)},f=()=>{h.current!==null&&cancelAnimationFrame(h.current),h.current=null},M=(x,L,z)=>{f();let y=l.current,A=Math.max(up,L*Math.abs(x-y)),$=performance.now(),R=q=>{let F=fa((q-$)/A);d(y+(x-y)*gp(F)),F<1?h.current=requestAnimationFrame(R):(h.current=null,z())};d(y),h.current=requestAnimationFrame(R)},b=(x,L)=>{s.current=xp(L),x.style.clipPath="",x.style.translate="",c.current=x.getBoundingClientRect()};return hp(()=>{if(!a)return;let x=e(),L=n();if(!(!x||!L))return i.current=!1,x.style.removeProperty("pointer-events"),b(x,L),l.current=0,M(1,pp,m),()=>{f(),m()}},[a]),{close:Wi(()=>{let x=e(),L=a?n():null,z=L?.getBoundingClientRect(),y=z&&z.bottom>0&&z.top<window.innerHeight;if(!x||!L||!y){p.current();return}let A=h.current!==null?l.current:1;b(x,L),i.current=!0,x.style.pointerEvents="none",l.current=A,M(0,dp,()=>p.current())},[a,e,n])}}import{jsx as rt,jsxs as en}from"react/jsx-runtime";var Gi=!1;function ji({title:e,logo:n,hasMessages:t,avatarState:r="idle",unread:a=!1,awayFromBottom:o=!1,themeMenuOpen:s=!1,themeMenuClosing:c=!1,onThemeMenuClosed:i,isNarrow:l=!1,currentTheme:h="dark",onJumpToLatest:p,onReset:d,onClose:m,onToggleThemeMenu:f,onSelectTheme:M,themeAttr:b,below:T}){let x=hr(),L=Oe.useRef(null),z=Oe.useRef(null),y=Oe.useRef(null),A=Oe.useRef(null),[$]=Oe.useState(()=>{let u=!Gi;return Gi=!0,u});Oe.useLayoutEffect(()=>{let u=L.current,ee=A.current,j=z.current;if(!u||!ee||!j)return;let H=ee.offsetParent;if(!H)return;let v=H.offsetTop+ee.offsetTop+ee.offsetHeight/2;u.style.setProperty("--hsk-tray-top",`${v}px`),u.style.setProperty("--hsk-tray-head",`${ee.offsetHeight/2+8}px`),u.style.setProperty("--hsk-tray-h",`${j.offsetHeight}px`),u.style.setProperty("--hsk-tray-w",`${j.offsetWidth}px`)},[s,l]);let[R]=Oe.useState(()=>typeof window<"u"&&!window.matchMedia?.("(prefers-reduced-motion: reduce)").matches),[q,F]=Oe.useState(!1);Oe.useEffect(()=>{if(!l||q)return;let u=window.requestIdleCallback,ee=u?u(()=>F(!0),{timeout:1200}):setTimeout(()=>F(!0),600);return()=>{let j=window.cancelIdleCallback;u&&j?j(ee):clearTimeout(ee)}},[l,q]);let I=l&&(s||q),G=Oi({target:Oe.useCallback(()=>z.current,[]),trigger:Oe.useCallback(()=>A.current,[]),shadow:Oe.useCallback(()=>y.current,[]),radius:18,enabled:l&&s&&R,onClosed:()=>i?.()});Oe.useEffect(()=>{l&&c&&G.close()},[c,l]);let[_,ne]=Oe.useState(!1),[ke,ue]=Oe.useState("#134e3d"),[V,he]=Oe.useState("rgba(19, 78, 61, 0.45)"),X=Oe.useRef(void 0),D=Oe.useRef(null),W=Oe.useRef(!1),w=Oe.useRef(0),E=Oe.useCallback(()=>{W.current=!1,w.current=Date.now(),D.current=setTimeout(()=>{if(W.current=!0,typeof navigator<"u"&&navigator.vibrate)try{navigator.vibrate(25)}catch{}f?.()},350)},[f]),N=Oe.useCallback(()=>{D.current&&(clearTimeout(D.current),D.current=null)},[]),Y=Oe.useCallback(()=>{D.current&&(clearTimeout(D.current),D.current=null)},[]),S=Oe.useCallback(u=>{if(W.current){W.current=!1,u.preventDefault(),u.stopPropagation();return}o?p?.():l?f?.():X.current?.()},[o,l,p,f]),C=Oe.useCallback((u,ee,j)=>{u>.04?(ne(!0),ue(ee),he(j)):ne(!1)},[]);return en("div",{ref:L,className:le("hsk-cb-topbar",l&&s&&"is-docked"),children:[rt("div",{className:"hsk-cb-topbar-left",style:{minWidth:"34px"},children:l&&rt("button",{type:"button",className:"hsk-cb-back",onClick:m,"aria-label":x("back"),children:rt("span",{className:"hsk-cb-back-icon",children:rt(qr,{})})})}),en("div",{className:le("hsk-cb-topbar-mark",l&&s&&"is-oozing"),"data-impacting":_?"true":"false",style:{"--hsk-contact-color":ke,"--hsk-contact-glow":V},"data-unread":a?"true":"false",onTouchStart:E,onTouchEnd:N,onTouchMove:Y,onTouchCancel:Y,onClick:S,role:"button",tabIndex:0,"aria-label":o?x("jumpToLatest"):`${e} (tap for themes)`,children:[rt($i,{state:r,size:34,theme:h,alert:a,onImpact:C,triggerRef:X,dropIn:$}),n?rt("img",{ref:A,className:"hsk-cb-topbar-logo",src:n,alt:e}):rt("span",{ref:A,className:"hsk-cb-topbar-name",children:e})]}),en("div",{className:"hsk-cb-topbar-actions",style:{display:"flex",alignItems:"center",gap:"6px"},children:[t&&rt("button",{className:"hsk-cb-topbar-btn",onClick:d,children:x("clearChat")}),!l&&rt("button",{type:"button",className:"hsk-cb-squircle-btn hsk-cb-exit-btn",onClick:m,"aria-label":"Close Chat",children:rt($r,{})})]}),l&&s&&rt("div",{className:le("hsk-cb-topbar-scrim",c&&"is-closing"),onClick:f,"aria-hidden":"true"}),I&&rt("div",{className:le("hsk-cb-tray-shadow",!s&&"is-parked"),"aria-hidden":"true",children:rt("div",{ref:y})}),I&&rt("div",{ref:z,className:le("hsk-cb-topbar-ooze-menu",c&&"is-closing",R&&"is-island",!s&&"is-parked"),role:"dialog","aria-label":"Theme selector",style:{position:"absolute",left:"50%",transform:"translateX(-50%)",zIndex:1e3},onPointerDown:u=>u.stopPropagation(),onClick:u=>u.stopPropagation(),onMouseDown:u=>u.stopPropagation(),children:en("div",{className:"hsk-cb-theme-block",children:[en("div",{className:"hsk-cb-tray-aside",children:[rt(ka,{compact:!0}),rt("span",{className:"hsk-cb-tray-rule","aria-hidden":"true"}),rt("span",{className:"hsk-cb-theme-vlabel","aria-hidden":"true",children:"Themes"})]}),rt("div",{className:"hsk-cb-theme-2x2-grid",children:Wr.map(({id:u,label:ee,Icon:j})=>en("button",{type:"button",className:le("hsk-cb-theme-grid-item",h===u&&"is-active"),onClick:H=>{H.stopPropagation(),M?.(u)},children:[rt(j,{}),rt("span",{children:ee})]},u))})]})}),l&&s&&T&&rt("div",{className:le("hsk-cb-tray-below",c&&"is-closing"),children:T})]})}import mr from"react";import ga from"react";import{jsx as Xi,jsxs as Mp}from"react/jsx-runtime";var Yi=83,vp=2,va=240,wo=160,Ct=va/2,pt=wo/2,Jt=24,tn=50,rn=56,Co=124,on=22,Bt=6,So=13,yp=30,Gt=(e,n,t)=>e+(n-e)*t,Ln=(e,n)=>Math.sin(e*12.9898+n*78.233)*.5;function Qi(e,n,t,r,a,o=0){let s=[];for(let l=0;l<16;l++){let h=l/16*Math.PI*2,p=1+Math.sin(l*2.3+1.7)*.06+Math.sin(l*5.1)*.03+Ln(e.n,l)*.02;s.push([n+Math.cos(h+o)*r*p,t+Math.sin(h+o)*a*p])}let c=(l,h)=>[(l[0]+h[0])/2,(l[1]+h[1])/2],{ctx:i}=e;i.beginPath(),i.moveTo(...c(s[15],s[0]));for(let l=0;l<16;l++)i.quadraticCurveTo(s[l][0],s[l][1],...c(s[l],s[(l+1)%16]));i.closePath()}function wa(e,n){let{ctx:t,dpr:r}=e;t.shadowColor=`rgba(0,0,0,${.5-n*.22})`,t.shadowBlur=(4+n*14)*r,t.shadowOffsetX=(1.5+n*13)*r,t.shadowOffsetY=(2.5+n*17)*r}function zo(e,n,t,r){let a=e.ctx.createRadialGradient(n-r*.35,t-r*.4,0,n,t,r*1.15);return a.addColorStop(0,e.light),a.addColorStop(.35,e.clay),a.addColorStop(1,e.dark),a}function wp(e,n,t){let r=e.ctx.createLinearGradient(0,n-t/2,0,n+t/2);return r.addColorStop(0,e.clay),r.addColorStop(.25,e.light),r.addColorStop(.5,e.clay),r.addColorStop(1,e.dark),r}function Er(e,n,t=0){let{ctx:r}=e,a=n*(1+t*.3);r.save(),wa(e,t),r.fillStyle=zo(e,Ct,pt,a),Qi(e,Ct,pt,a,a,e.n*.03),r.fill(),r.restore()}function yo(e,n,t,r){let{ctx:a}=e;a.save(),r!==void 0&&(a.beginPath(),a.rect(0,0,va,r),a.clip()),wa(e,0),a.fillStyle=zo(e,Ct,pt,Math.max(n,t)),Qi(e,Ct,pt,n,t),a.fill(),a.restore()}function xa(e,n,t,r,a,o=a/2,s=a/2){let{ctx:c}=e;c.save(),wa(e,0),c.fillStyle=wp(e,r,a),c.beginPath(),c.roundRect(n+Ln(e.n,n)*.6,r-a/2+Ln(e.n,r)*.6,t-n,a,[o,s,s,o]),c.fill(),c.restore()}function Mo(e,n,t,r,a=0){let{ctx:o}=e,s=r*(1+a*.2);o.save(),wa(e,a),o.fillStyle=zo(e,n,t,s),o.beginPath(),o.arc(n,t,s,0,Math.PI*2),o.fill(),o.restore(),o.save(),o.strokeStyle=e.dark,o.lineWidth=1.4,o.lineCap="round",o.beginPath();for(let c=0;c<=1.001;c+=.04){let i=c*Math.PI*5+n*.3,l=(1.5+c*(r-4))*(1+a*.2),h=n+Math.cos(i)*l,p=t+Math.sin(i)*l;c===0?o.moveTo(h,p):o.lineTo(h,p)}o.stroke(),o.restore()}function ya(e,n){let{ctx:t}=e;t.save(),t.strokeStyle=`rgba(${e.ink},${.55*n})`,t.lineWidth=2,t.lineCap="round";for(let r=0;r<7;r++){let a=r/7*Math.PI*2+.14,o=38+(1-n)*8,s=r%2?5:8;t.beginPath(),t.moveTo(Ct+Math.cos(a)*o,pt+Math.sin(a)*o),t.lineTo(Ct+Math.cos(a)*(o+s),pt+Math.sin(a)*(o+s)),t.stroke()}t.restore()}var To=e=>Ct-Co/2+Co*e/Bt;function Cp(e,n){let{ctx:t}=e;t.save(),t.strokeStyle=e.dark,t.lineWidth=1.5,t.lineCap="round",t.beginPath(),t.moveTo(n,pt-on/2+2),t.lineTo(n+Ln(e.n,n)*1.5,pt+on/2-2),t.stroke(),t.restore()}var Ro=e=>Ct+(e-(Bt-1)/2)*yp;function En(e,n,t=-1,r=-1){for(let a=0;a<Bt;a++){let o=0;for(let i=0;i<n;i++)o+=a<=i?-2:2;let s=To(a)+o,c=To(a+1)+o;a===r?Mo(e,Gt((s+c)/2,Ro(a),.5),pt-4,So,.5):a<=t?Mo(e,Ro(a),pt,So):xa(e,s,c,pt,on,a===0?on/2:2,a===Bt-1?on/2:2)}}function Sp(){let e=[];for(let r=0;r<5;r++)e.push({draw:a=>Er(a,Jt)});let n=[[Jt,Jt,34,38],[34,38,44,48],[44,48,tn,rn]];for(let[r,a,o,s]of n){for(let c=0;c<3;c++){let i=(c+1)/3,l=c===0?1.05:1;e.push({hold:1,thump:c===0?.25:void 0,draw:h=>yo(h,Gt(r,o,i),Gt(a,s,i)*l)})}e.push({hold:1,draw:c=>yo(c,o,s)})}let t=0;for(let r=0;r<12;r++){let a=(r+1)/12,o=Gt(pt+rn,pt-rn,a),s=Gt(8,24,a),c=(o-pt)/rn;t=Math.max(t,2*tn*Math.sqrt(Math.max(0,1-c*c)),30);let i=t;e.push({draw:l=>{a<1&&yo(l,tn,rn,o-s*.3),xa(l,Ct-i/2,Ct+i/2,o,s)}})}for(let r of[.5,1])e.push({draw:a=>xa(a,Ct-tn,Ct+tn,Gt(pt-rn,pt,r),24)});for(let r=0;r<6;r++){let a=(r+1)/6,o=Gt(2*tn,Co,a),s=Gt(24,on,a),c=r%2?2:-2;e.push({draw:i=>xa(i,Ct-o/2+c,Ct+o/2+c,pt,s)})}for(let r=1;r<Bt;r++)e.push({draw:a=>{En(a,r-1),Cp(a,To(r))}}),e.push({thump:.35,draw:a=>En(a,r)});e.push({draw:r=>En(r,Bt-1)});for(let r=0;r<Bt;r++)e.push({thump:.12,draw:a=>En(a,Bt-1,r-1,r)});for(let r=0;r<4;r++)e.push({draw:a=>En(a,Bt-1,Bt-1)});for(let r of[.35,.7,1])e.push({draw:a=>{for(let o=0;o<Bt;o++)Mo(a,Gt(Ro(o),Ct,r),pt,Gt(So,10,r),.4)}});return e.push({thump:1,draw:r=>{Er(r,Jt*1.3),ya(r,1)}}),e.push({draw:r=>{Er(r,Jt*1.12),ya(r,.4)}}),e.push({draw:r=>Er(r,Jt*1.04)}),e}var nn=Sp(),Vi=[...[1.6,1.25,.9,.5,.18].map(e=>({draw:n=>Er(n,Jt,e)})),{thump:.7,draw:e=>{Er(e,Jt*1.24),ya(e,1)}},{draw:e=>{Er(e,Jt*1.08),ya(e,.4)}}],Ki=[1,.7,.35,0];function an(e,n){let t=document.createElement("span");t.style.display="none",t.style.color=n,e.parentElement?.appendChild(t);let r=getComputedStyle(t).color;return t.remove(),r}function Ji({phase:e,label:n,theme:t}){let r=ga.useRef(null),a=ga.useRef(null),o=ga.useRef({n:0,at:0,held:0,entered:!1,last:nn[0]});return ga.useEffect(()=>{let s=r.current,c=a.current,i=s?.getContext("2d");if(!s||!i||!c)return;let l=Math.min(window.devicePixelRatio||1,3);s.width=va*l,s.height=wo*l;let h="var(--hsk-primary, #ff6a33)",p={ctx:i,dpr:l,n:0,clay:an(s,h),light:an(s,`color-mix(in srgb, ${h} 55%, white)`),dark:an(s,`color-mix(in srgb, ${h} 70%, black)`),ink:getComputedStyle(s).getPropertyValue("--hsk-doodle-ink").trim()||"31, 31, 31"},d=o.current,m="",f=()=>{let y=getComputedStyle(s).getPropertyValue("--hsk-primary").trim()||"#ff6a33";y!==m&&(m=y,p.clay=an(s,y),p.light=an(s,`color-mix(in srgb, ${y} 55%, white)`),p.dark=an(s,`color-mix(in srgb, ${y} 70%, black)`),p.ink=getComputedStyle(s).getPropertyValue("--hsk-doodle-ink").trim()||"31, 31, 31")},M=(y,A=1)=>{f(),i.setTransform(l,0,0,l,0,0),i.clearRect(0,0,va,wo),i.globalAlpha=A,p.n=d.n++,y.draw(p),i.globalAlpha=1},b=y=>{let A=s.getBoundingClientRect();js({x:A.left+A.width/2,y:A.top+A.height/2,strength:y}),c.style.translate="0 1px",c.style.rotate=`${Ln(d.n,4)*.8}deg`};if(window.matchMedia?.("(prefers-reduced-motion: reduce)")?.matches){M(nn[0]);let y=window.setInterval(()=>M(nn[0]),Yi);return()=>clearInterval(y)}let T=e==="exit"?null:e==="enter"&&!d.entered?Vi:nn;T&&(d.at=0);let x=0,L=0,z=()=>{if(c.style.translate="",c.style.rotate="",!T){x===0&&b(.6),M(d.last,Ki[x]),++x>=Ki.length&&clearInterval(L);return}let y=T[d.at];M(y),d.last=y,y.thump&&d.held===0&&b(y.thump),!(T===nn&&++d.held<(y.hold??vp))&&(d.held=0,!(++d.at<T.length)&&(T===Vi&&(d.entered=!0),T=nn,d.at=0))};return z(),L=window.setInterval(z,Yi),()=>clearInterval(L)},[e==="exit",t]),Mp("div",{className:"hsk-clay",children:[Xi("canvas",{className:"hsk-clay-table",ref:r,"aria-hidden":"true"}),Xi("p",{className:"hsk-lang-preparing",ref:a,children:n})]})}import{jsx as ve,jsxs as Ge}from"react/jsx-runtime";function Tp(){return ve("span",{className:"hsk-cb-check","aria-hidden":"true",children:ve("svg",{viewBox:"0 0 16 16",children:ve("path",{d:"M3.5 8.4 6.6 11.4 12.6 4.8"})})})}function Zi({theme:e,inOnboarding:n,justCompleted:t,onboardingMood:r,awaitingLang:a,awaitingName:o,awaitingEntityLang:s,awaitingConsent:c,termsAgreed:i,shopperLanguage:l,pendingLanguage:h,shopperName:p,entityLangPref:d,chromeReady:m,activeChips:f,speechLang:M,t:b,tNode:T,chooseLanguage:x,langSwitching:L=!1,isLangPreparing:z,onPrewarmLanguage:y,chooseEntityLang:A,agreeTerms:$,handleSend:R}){let q=h||l,F=!q||q.toLowerCase()==="english"||q.toLowerCase()==="en",I=z??(L||!!h||!!l&&!m&&!F),G=Sr(q),[_,ne]=mr.useState(I),[ke,ue]=mr.useState(()=>I?"spinner-steady":"idle"),V=mr.useRef([]),he=()=>{V.current.forEach(clearTimeout),V.current=[]};I!==_&&(ne(I),he(),I?(ue("step1-exit"),V.current.push(setTimeout(()=>ue("spinner-enter"),280)),V.current.push(setTimeout(()=>ue("spinner-steady"),960))):(ue("spinner-exit"),V.current.push(setTimeout(()=>ue("idle"),460)))),mr.useEffect(()=>()=>he(),[]);let X=ke==="spinner-enter"||ke==="spinner-steady"||ke==="spinner-exit",D=ke==="step1-exit",W=X||D||!l||a?"1":!p||o?"2":!d||s?"3":!i||c?"4":null,[w,E]=mr.useState(null),[N,Y]=mr.useState(3);mr.useEffect(()=>{if(!c)return;Y(3);let C=setInterval(()=>{Y(u=>u<=1?(clearInterval(C),0):u-1)},1e3);return()=>clearInterval(C)},[c]);let S=l?wn(l,M)||l.charAt(0).toUpperCase()+l.slice(1):"";return mr.useEffect(()=>{if(a&&y){let C=typeof window<"u"?window.requestIdleCallback:void 0,u=C?C(()=>y("Urdu"),{timeout:2e3}):setTimeout(()=>y("Urdu"),500);return()=>{C&&typeof window<"u"?window.cancelIdleCallback?.(u):clearTimeout(u)}}},[a,y]),ve("div",{className:"hsk-cb-empty",children:Ge("div",{className:"hsk-cb-onboarding-card",children:[W&&ve("div",{className:"hsk-cb-onboarding-head",children:Ge("span",{className:"hsk-cb-step-badge",dir:"ltr",children:[W," / 4"]})}),X?ve("div",{className:le("hsk-lang-loader",ke==="spinner-enter"&&"hsk-lang-loader--enter",ke==="spinner-exit"&&"hsk-lang-loader--exit"),children:ve(Ji,{theme:e,phase:ke==="spinner-exit"?"exit":ke==="spinner-enter"?"enter":"steady",label:G.preparing})},"spinner-loading"):D||a||!l?Ge("div",{className:le("hsk-cb-hello-wrap",D&&"hsk-step1-exit"),children:[ve("h2",{className:"hsk-cb-hello",children:"Which language do you want to use?"}),Ge("div",{className:"hsk-cb-lang-chips",children:[oa.map((C,u)=>ve("button",{type:"button",className:"hsk-cb-lang-chip",style:{"--hsk-pill-idx":u},lang:C.tag,dir:C.rtl?"rtl":"ltr",disabled:L,onPointerEnter:()=>!L&&y?.(C.value),onPointerDown:()=>!L&&y?.(C.value),onClick:()=>!L&&x(C.value),children:C.native},C.value)),ve("span",{className:"hsk-cb-lang-chips-hint",style:{"--hsk-pill-idx":oa.length},children:"or type another one"})]})]},"step-lang"):o||!p?Ge("div",{className:"hsk-cb-hello-wrap hsk-cb-name-step hsk-step-enter",children:[ve("h2",{className:"hsk-cb-hello",children:b("nameStepTitle")}),ve("p",{className:"hsk-cb-hello-ask",children:b("nameStepAsk")}),ve("p",{className:"hsk-cb-hello-hint",children:b("nameStepHint")})]},"step-name"):s?Ge("div",{className:"hsk-cb-hello-wrap",children:[ve("h2",{className:"hsk-cb-hello",children:b("howShouldResultsLook")}),ve("p",{className:"hsk-cb-hello-lead",children:T("entityLangIntro",{lang:S})}),ve("div",{className:"hsk-cb-entlang-opts",role:"radiogroup","aria-label":b("howShouldResultsLook"),children:["translated","original"].map((C,u)=>Ge("button",{type:"button",role:"radio","aria-checked":(w??d)===C,className:le("hsk-cb-entlang-opt",(w??d)===C&&"is-selected"),style:{"--hsk-opt-idx":u},onClick:()=>E(C),children:[ve(Tp,{}),Ge("span",{className:"hsk-cb-entlang-opt-text",children:[ve("span",{className:"hsk-cb-entlang-opt-title",children:C==="translated"?T("inLanguage",{lang:S}):b("asWritten")}),ve("span",{className:"hsk-cb-entlang-opt-note",children:b(C==="translated"?"detailsTranslated":"namesAsWritten")})]})]},C))}),ve("div",{className:"hsk-cb-terms-action-wrap",children:ve("button",{type:"button",className:le("hsk-cb-terms-agree-btn",w&&"is-active"),disabled:!w,onClick:()=>w&&A(w),children:b("continueButton")})})]},"step-entity-lang"):c?Ge("div",{className:"hsk-cb-hello-wrap",children:[ve("h2",{className:"hsk-cb-hello",children:b("termsStepTitle")}),ve("p",{className:"hsk-cb-hello-lead",children:b("termsStepSubtitle")}),Ge("div",{className:"hsk-cb-terms-sanctuary",children:[Ge("div",{className:"hsk-cb-terms-item",style:{"--hsk-row-idx":0},children:[Ge("div",{className:"hsk-cb-terms-head",children:[ve("span",{className:"hsk-cb-terms-numeral",children:"I"}),ve("h3",{className:"hsk-cb-terms-title",children:b("termsPiiTitle")})]}),ve("p",{className:"hsk-cb-terms-desc",children:b("termsPiiDesc")})]}),ve("div",{className:"hsk-cb-terms-divider"}),Ge("div",{className:"hsk-cb-terms-item",style:{"--hsk-row-idx":1},children:[Ge("div",{className:"hsk-cb-terms-head",children:[ve("span",{className:"hsk-cb-terms-numeral",children:"II"}),ve("h3",{className:"hsk-cb-terms-title",children:b("termsSessionTitle")})]}),ve("p",{className:"hsk-cb-terms-desc",children:b("termsSessionDesc")})]}),ve("div",{className:"hsk-cb-terms-divider"}),Ge("div",{className:"hsk-cb-terms-item",style:{"--hsk-row-idx":2},children:[Ge("div",{className:"hsk-cb-terms-head",children:[ve("span",{className:"hsk-cb-terms-numeral",children:"III"}),ve("h3",{className:"hsk-cb-terms-title",children:b("termsMemoryTitle")})]}),ve("p",{className:"hsk-cb-terms-desc",children:b("termsMemoryDesc")})]}),ve("div",{className:"hsk-cb-terms-divider"}),Ge("div",{className:"hsk-cb-terms-item",style:{"--hsk-row-idx":3},children:[Ge("div",{className:"hsk-cb-terms-head",children:[ve("span",{className:"hsk-cb-terms-numeral",children:"IV"}),ve("h3",{className:"hsk-cb-terms-title",children:b("termsCookieTitle")})]}),ve("p",{className:"hsk-cb-terms-desc",children:b("termsCookieDesc")})]}),ve("div",{className:"hsk-cb-terms-divider"}),Ge("div",{className:"hsk-cb-terms-item",style:{"--hsk-row-idx":4},children:[Ge("div",{className:"hsk-cb-terms-head",children:[ve("span",{className:"hsk-cb-terms-numeral",children:"V"}),ve("h3",{className:"hsk-cb-terms-title",children:b("termsAiTitle")})]}),ve("p",{className:"hsk-cb-terms-desc",children:b("termsAiDesc")})]})]}),Ge("p",{className:"hsk-cb-terms-more",children:[b("privacyMore")," ",ve("a",{href:"https://akropolys.cloud/privacy",target:"_blank",rel:"noopener noreferrer",dir:"ltr",children:"akropolys.cloud/privacy"})]}),ve("div",{className:"hsk-cb-terms-action-wrap",children:ve("button",{type:"button",className:le("hsk-cb-terms-agree-btn",N===0&&"is-active"),disabled:N>0,onClick:$,children:N>0?b("termsAgreeCounting",{seconds:String(N)}):b("termsAgreeButton")})})]},"step-terms"):t?Ge("div",{className:"hsk-cb-hello-wrap",children:[ve("h2",{className:"hsk-cb-hello",children:T("allSet",{name:p})}),ve("p",{className:"hsk-cb-hello-lead",children:d==="translated"?T("replyingTranslated",{lang:S}):T("replyingOriginal",{lang:S})})]},"step-completed"):p?Ge("div",{className:"hsk-cb-hello-wrap",children:[ve("h2",{className:"hsk-cb-hello",children:T("greetReturning",{name:p})}),ve("p",{className:"hsk-cb-hello-lead",children:b("greetReturningLead")})]},"step-returning"):Ge("div",{className:"hsk-cb-hello-wrap",children:[Ge("h2",{className:"hsk-cb-hello",children:["Hello, I am ",ve("b",{children:"kiku"}),"."]}),ve("p",{className:"hsk-cb-hello-lead",children:"Ask me to find, show or save anything. I look through this whole website for you."})]},"step-initial"),!n&&(f?.length??0)>0&&ve("div",{className:"hsk-cb-chips",children:f.map((C,u)=>ve("button",{className:"hsk-cb-chip",style:{"--hsk-pill-idx":u},onClick:()=>R(C),children:C},C))})]})})}import{useState as ec,useEffect as Rp,useRef as zp}from"react";import{jsx as Eo,jsxs as tc}from"react/jsx-runtime";function Ca(e){let n=e.match(/<\s*thinking\s*>/i);if(!n)return{thinking:"",content:e,isComplete:!0};let t=n.index??0,r=n[0].length,a=t+r,o=e.slice(0,t),s=e.slice(a),c=s.match(/<\/\s*thinking\s*>/i);if(!c)return{thinking:s,content:o,isComplete:!1};let i=c.index??0,l=c[0].length;return{thinking:s.slice(0,i),content:o+s.slice(i+l),isComplete:!0}}var Nn=e=>e==="with_team"||e==="back_with_kiku"||e==="team_closed"||e==="team_joined";function Ep(e){return e<60?`${Math.max(1,Math.round(e))}s`:e<3600?`${Math.round(e/60)} min`:`${Math.round(e/3600)} h`}function rc({text:e,isComplete:n,seconds:t,stage:r,repliedSeconds:a}){let o=hr(),s=zp(Date.now()),[c,i]=ec(()=>n?null:0),[l,h]=ec(!n);Rp(()=>{if(n){c!==null&&(i(Math.max(1,Math.round((Date.now()-s.current)/1e3))),h(!1));return}h(!0);let f=setInterval(()=>{i(Math.round((Date.now()-s.current)/1e3))},1e3);return()=>clearInterval(f)},[n]);let p=t??c,d=a!=null?o("repliedIn",{duration:Ep(a)}):r==="with_team"?o("withTeam"):r==="back_with_kiku"?o("backWithKiku"):r==="team_closed"?o("teamClosed"):r==="team_joined"?o("teamJoined"):r==="reaching_team"?n?o("passedToTeam"):`${o("reachingTeam")}\u2026`:n?p!=null?o("thoughtForSeconds",{duration:`${p}s`}):o("thoughtProcess"):`${o("thinking")}${c?` \xB7 ${c}s`:"\u2026"}`,m=!!e;return tc("div",{className:le("hsk-cb-think",!n&&"hsk-cb-think--live",a==null&&Nn(r)&&"hsk-cb-think--note"),children:[tc("button",{type:"button",className:le("hsk-cb-think-head",!m&&"hsk-cb-think-head--static"),onClick:m?()=>h(f=>!f):void 0,"aria-expanded":m?l:void 0,children:[Eo("span",{children:d}),m&&Eo("span",{className:le("hsk-cb-think-chevron",l&&"hsk-cb-think-chevron--open"),children:"\u25B6"})]}),m&&l&&Eo("div",{className:"hsk-cb-think-body",children:e})]})}import{useCallback as nc,useEffect as Lp,useRef as ac,useState as Np}from"react";function In(e,n){let[t,r]=Np(!1),a=ac(null),o=ac(n);o.current=n,Lp(()=>()=>{a.current&&clearTimeout(a.current)},[]);let s=nc(()=>{a.current||(r(!0),a.current=setTimeout(()=>{a.current=null,r(!1),o.current()},e))},[e]),c=nc(()=>{a.current&&(clearTimeout(a.current),a.current=null),r(!1),o.current()},[]);return{closing:t,requestClose:s,closeNow:c}}import gt from"react";import{useAkropolysContext as gd}from"@akropolys/sdk";import sn from"react";var Ip=/\p{L}/u,Pp=/\]\([^)]*\)|https?:\/\/\S+|www\.\S+/g;function Ap(e){return e>=1424&&e<=2303||e>=64285&&e<=65023||e>=65136&&e<=65279}function Sa(e,n=1){let t=0,r=0;for(let a of e.replace(Pp," "))Ip.test(a)&&(Ap(a.codePointAt(0)??0)?t++:r++);if(!(t+r<n||t===r))return t>r?"rtl":"ltr"}import{Fragment as Qp,jsx as je,jsxs as Xp}from"react/jsx-runtime";var _p=/[ \t]{2,}/g,Fp=/ ([.,!?:;])/g,Dp=/\(([ \t]+)/g,Hp=/([ \t]+)\)/g,Bp=/(\d+)\s+(MP|mAh|W|GB|MB|KHz|Hz|KSh|KES|USD|EUR)\b/gi,$p=/(!\[[^\]]*\]\([^)]+\)|\[[^\]]+\]\([^)]+\)|\*\*[^*]+\*\*|`[^`]+`)/g,qp=/^!\[([^\]]*)\]\(([^)]+)\)$/,Up=/^\[([^\]]+)\]\(([^)]+)\)$/,Wp=/^(data:image|blob):/i,ic=/^(https?|mailto|tel):/i;function Pn(e){let n=String(e??"").trim();return ic.test(n)||n.startsWith("/")&&!n.startsWith("//")?n:void 0}var Lo=null;function cc(e){if(Wp.test(e))return!0;if(typeof location>"u")return!1;try{let n=new URL(e,location.href);return/^https?:$/.test(n.protocol)&&(n.host===location.host||!!Lo?.has(n.host))}catch{return!1}}var Op=/memory|mimi/i,Gp=/mimi\.akropolys/i,jp=e=>e&&e.replace(_p," ").replace(Fp,"$1").replace(Dp,"(").replace(Hp,")").replace(Bp,"$1 $2"),Zt=(e,n)=>jp(e).split($p).map((a,o)=>{if(!a)return null;let s=`${n}-inline-${o}`;if(a.startsWith("`")&&a.endsWith("`"))return je("code",{className:"hsk-markdown-code",children:a.slice(1,-1)},s);if(a.startsWith("**")&&a.endsWith("**"))return je("strong",{children:Zt(a.slice(2,-2),s)},s);let c=a.match(qp);if(c){let l=c[1],h=c[2];return cc(h)?je("img",{src:h,alt:l||"Product image",className:"hsk-markdown-img",loading:"lazy",onError:p=>{p.target.style.display="none"}},s):null}let i=a.match(Up);if(i){let l=i[1],h=i[2];return Op.test(l)||Gp.test(h)?null:ic.test(h)||h.startsWith("/")?je("a",{href:h,target:"_blank",rel:"noopener noreferrer",className:"hsk-markdown-link",children:Zt(l,s)},s):je("span",{children:Zt(l,s)},s)}return a}),Yp=/^\s*\|?[\s:|-]*-[\s:|-]*\|?\s*$/;function oc(e,n){let t=e.trim();return n?t.includes("|"):t.startsWith("|")}function sc(e){let n=e.trim();return n.startsWith("|")&&(n=n.slice(1)),n.endsWith("|")&&(n=n.slice(0,-1)),n.split("|").map(t=>t.trim())}function Vp({children:e}){let n=sn.useRef(null),[t,r]=sn.useState("none"),[a,o]=sn.useState(!1),s=sn.useRef({startX:0,scrollLeft:0,isDown:!1,hasMoved:!1}),c=sn.useCallback(()=>{let p=n.current;if(!p)return;if(!(p.scrollWidth>p.clientWidth+2)){r("none");return}let m=getComputedStyle(p).direction==="rtl",f=Math.abs(p.scrollLeft),M=f<=4,b=f+p.clientWidth>=p.scrollWidth-4;r(M?m?"right":"left":b?m?"left":"right":"middle")},[]);sn.useEffect(()=>{c();let p=n.current;if(!p)return;let d=typeof ResizeObserver<"u"?new ResizeObserver(c):null;return d?.observe(p),()=>d?.disconnect()},[c]);let i=p=>{let d=n.current;!d||d.scrollWidth<=d.clientWidth||p.target.closest("a, button, input")||(s.current={startX:p.pageX-d.offsetLeft,scrollLeft:d.scrollLeft,isDown:!0,hasMoved:!1},o(!0))},l=p=>{if(!s.current.isDown)return;let d=n.current;if(!d)return;let f=(p.pageX-d.offsetLeft-s.current.startX)*1.5;Math.abs(f)>3&&(s.current.hasMoved=!0,p.preventDefault(),d.scrollLeft=s.current.scrollLeft-f)},h=()=>{s.current.isDown=!1,o(!1)};return je("div",{ref:n,className:`hsk-table-wrapper hsk-table-wrapper--${t}${a?" is-dragging":""}`,onScroll:c,onMouseDown:i,onMouseMove:l,onMouseUp:h,onMouseLeave:h,children:e})}function lc(e,n=!1,t){Lo=t??null;try{return Kp(e,n)}finally{Lo=null}}function Kp(e,n){let t=e.split(`
|
|
36
|
-
`);if(n&&t.length>0){!e.endsWith(`
|
|
37
|
-
`)&&t[t.length-1].trim().startsWith("|")&&t.pop();let l=t.length-1;for(;l>=0&&t[l].trim().startsWith("|");)l--;l++,l<t.length&&!t.slice(l).some(h=>Yp.test(h))&&(t.length=l)}let r=(l,h)=>Sa(l,n&&h===t.length-1?15:1),a=[],o=[],s=0,c=()=>{o.length>0&&(a.push(je("div",{className:"hsk-cb-ai-text",children:o},`text-bubble-${s++}`)),o=[])},i=0;for(;i<t.length;){let l=t[i],h=`md-line-${i}`;if(!l.trim()){i++;continue}let p=l.trim().match(/^!\[([^\]]*)\]\(([^)]+)\)$/);if(p){c();let m=p[1],f=p[2];cc(f)&&a.push(je("div",{className:"hsk-markdown-img-block",children:je("img",{src:f,alt:m||"Product image",className:"hsk-markdown-img",loading:"lazy",onError:M=>{M.target.style.display="none"}})},h)),i++;continue}let d=l.match(/^(#{1,3})\s+(.*)/);if(d){let m=d[1].length,f=`h${m+3}`;o.push(je(f,{className:`hsk-markdown-h${m}`,dir:r(d[2],i),children:Zt(d[2],h)},h)),i++;continue}if(l.match(/^[\s]*[-*+•]\s+/)){let m=[],f="";for(;i<t.length&&t[i].match(/^[\s]*[-*+•]\s+/);){let M=t[i].replace(/^[\s]*[-*+•]\s+/,"");f+=M+" ",m.push(je("li",{children:Zt(M,`li-${i}`)},`li-${i}`)),i++}o.push(je("ul",{className:"hsk-markdown-list hsk-markdown-ul",dir:r(f,i-1),children:m},`ul-${h}`));continue}if(l.match(/^[\s]*\d+[\.\)]\s+/)){let m=[],f="";for(;i<t.length&&t[i].match(/^[\s]*\d+[\.\)]\s+/);){let M=t[i].replace(/^[\s]*\d+[\.\)]\s+/,"");f+=M+" ",m.push(je("li",{children:Zt(M,`li-${i}`)},`li-${i}`)),i++}o.push(je("ol",{className:"hsk-markdown-list hsk-markdown-ol",dir:r(f,i-1),children:m},`ol-${h}`));continue}if(oc(l,!1)){c();let m=[],f=[],M=[],b=!0;for(;i<t.length&&oc(t[i],!0);){let y=t[i].trim();if(y.match(/^\|?[-:| ]+\|?$/)&&y.includes("-")){M=sc(y).map(R=>{let q=R.trim(),F=q.startsWith(":"),I=q.endsWith(":");return F&&I?"center":I?"end":"start"}),i++,b=!1;continue}let A=sc(y);b&&m.length===0?m=A:f.push(A),i++}let T=Math.max(m.length,...f.map(y=>y.length)),x=[];for(let y=0;y<T;y++)if(M[y])x[y]=M[y];else if(y===0)x[y]="start";else{let A=f.filter($=>{let R=($[y]||"").trim();return/^[\$€£¥+-]?\d+([.,]\d+)?%?$/.test(R)||/^[\$€£¥+-]?\d+([.,]\d+)?\s*(bps|M|K|B)?$/i.test(R)}).length;x[y]=A>=Math.ceil(f.length/2)?"end":"start"}let L=m.length>0?je("tr",{children:m.map((y,A)=>je("th",{style:{textAlign:x[A]||"start"},children:je("bdi",{children:Zt(y,`th-${h}-${A}`)})},`th-${h}-${A}`))},`tr-head-${h}`):null,z=f.map((y,A)=>je("tr",{children:y.map(($,R)=>je("td",{className:$.trim().startsWith("\u2713")?"hsk-md-ok":$.trim().startsWith("\u2717")?"hsk-md-bad":void 0,style:{textAlign:x[R]||"start"},children:je("bdi",{children:Zt($,`td-${h}-${A}-${R}`)})},`td-${h}-${A}-${R}`))},`tr-body-${h}-${A}`));a.push(je(Vp,{children:Xp("table",{className:"hsk-markdown-table",children:[L&&je("thead",{children:L}),je("tbody",{children:z})]})},`table-wrapper-${h}`));continue}o.push(je("p",{className:"hsk-markdown-p",dir:r(l,i),children:Zt(l,h)},h)),i++}return c(),je(Qp,{children:a})}import{useEffect as hc,useState as Jp}from"react";import{describeAge as pc,getLiveValue as Zp,isFresh as ed,isStale as td,labelFor as rd,formatLiveValue as nd,subscribeLiveValues as ad,LIVE_FLASH_MS as od}from"@akropolys/sdk";import{jsx as $t,jsxs as No}from"react/jsx-runtime";function sd(e){let[,n]=Jp(0),t=JSON.stringify(e);return hc(()=>ad(r=>{e.includes(r)&&n(a=>a+1)}),[t]),hc(()=>{let r=setInterval(()=>n(a=>a+1),1e3);return()=>clearInterval(r)},[]),e.map(Zp)}var id=["title","name","label","headline","subject"],cd=8,ld=40;function hd({record:e,now:n}){let t=td(e,n),r=e.fields,a=id.find(i=>r[i]),o=a?r[a]:e.key,s=o.length>38?o.slice(0,36)+"\u2026":o,c=Object.entries(r).filter(([i,l])=>i!==a&&l!==""&&l.length<=ld&&!/^[0-9a-fA-F-]{26,}$/.test(l)).slice(0,cd).map(([i,l])=>({label:rd(i),value:nd(l),rawKey:i}));return No("div",{className:`hsk-live-card${t?" is-stale":""}`,role:"region","aria-label":"Live values",children:[$t("div",{className:"hsk-live-card__top",children:No("div",{className:"hsk-live-card__badge",children:[$t("span",{className:`hsk-live-dot${t?" is-stale":""}`,"aria-hidden":"true"}),$t("span",{className:"hsk-live-card__age",children:t?`Paused \xB7 ${pc(n-e.at)}`:`Live \xB7 ${pc(n-e.at)}`})]})}),$t("div",{className:"hsk-live-card__body",children:$t("span",{className:"hsk-live-card__title",title:o,children:s})}),$t("div",{className:"hsk-live-card__pills",children:c.map(i=>{let l=ed(e,i.rawKey,n);return No("div",{className:`hsk-live-pill${l?" is-changed":""}`,style:l?{animationDuration:`${od}ms`}:void 0,children:[$t("span",{className:"hsk-live-pill__label",children:i.label}),$t("span",{className:"hsk-live-pill__value",children:i.value})]},i.rawKey)})})]})}function dc({keys:e}){let n=new Set,t=(e??[]).filter(c=>n.has(c)?!1:(n.add(c),!0)),r=sd(t);if(t.filter((c,i)=>r[i]).length===0)return null;let o=r.filter(c=>!!c),s=Date.now();return $t("div",{className:"hsk-live-wrap",role:"group","aria-label":"Live data",children:$t("div",{className:"hsk-live-carousel",children:o.map(c=>$t(hd,{record:c,now:s},c.key))})})}import{useState as pd}from"react";import{normalizeEntityImages as dd}from"@akropolys/sdk";import{jsx as Ma,jsxs as uc}from"react/jsx-runtime";function mc({source:e,onImageClick:n}){let t=dd(e.images??e.fields?.images,e.image,e.url),[r,a]=pd(!1),o=e.image||t[0]?.url;if(!o)return Ma("div",{className:"hsk-cb-src-imgwrap-empty",children:Ma(Xt,{})});let s=c=>{if(c.stopPropagation(),!n)return;let i=Math.max(0,t.findIndex(l=>l.url===o));t.length>1?n(o,{images:t.map(l=>({url:l.url,caption:l.caption,alt:l.alt})),index:i,title:e.name}):n(o)};return uc("button",{type:"button",className:"hsk-cb-src-imgwrap hsk-gallery-cover","aria-label":t.length>1?`View ${t.length} images of ${e.name}`:`View image of ${e.name}`,onClick:s,children:[r?Ma(Xt,{}):Ma("img",{src:o,alt:t.find(c=>c.url===o)?.alt||e.name,loading:"lazy",onError:()=>a(!0)}),t.length>1&&uc("span",{className:"hsk-gallery-count",children:[Math.max(0,t.findIndex(c=>c.url===o))+1," / ",t.length]})]})}import{useState as Io,useRef as ud,useEffect as md,useCallback as bd}from"react";import{normalizeEntityImages as bc,useCardFields as kd}from"@akropolys/sdk";import{Fragment as Po,jsx as dt,jsxs as Lr}from"react/jsx-runtime";function Ta({sources:e,onSelectSource:n,onImageClick:t,referencedIds:r=[],compact:a=!1,targetLabel:o="Your colour"}){let s=kd(),c=ud(null),[i,l]=Io(!1),[h,p]=Io(!1),[d,m]=Io(0),f=e.filter(R=>R.id&&r.includes(R.id)),M=f.filter(R=>R.swatch),b=f.filter(R=>!R.swatch),T=b.length===1,x=T?b.flatMap(R=>{let q=bc(R.images??R.fields?.images,R.image,R.url);return q.length?q.map((F,I)=>({source:R,image:F,photoIndex:I,totalPhotos:q.length})):[{source:R,image:void 0,photoIndex:0,totalPhotos:0}]}):b.map(R=>{let q=bc(R.images??R.fields?.images,R.image,R.url);return{source:R,image:q[0],photoIndex:0,totalPhotos:q.length}}),L=bd(()=>{let R=c.current;if(!R||x.length===0)return;let q=Math.abs(R.scrollLeft),F=R.scrollWidth-R.clientWidth;l(q>10),p(F>4&&q<F-12);let G=Math.round(q/190);m(Math.min(Math.max(0,G),x.length-1))},[x.length]);md(()=>{L();let R=c.current;if(!R)return;let q=new ResizeObserver(L);return q.observe(R),R.addEventListener("scroll",L,{passive:!0}),()=>{q.disconnect(),R.removeEventListener("scroll",L)}},[L,e]);let z=R=>{let q=c.current;if(!q)return;let F=getComputedStyle(q).direction==="rtl";q.scrollBy({left:190*R*(F?-1:1),behavior:"smooth"})},y=()=>z(1),A=()=>z(-1);if(x.length===0&&M.length===0)return null;let $=M.length>0&&dt("div",{className:"hsk-cb-swatch-grid",children:M.map((R,q)=>Lr("button",{type:"button",className:le("hsk-cb-swatch",R.target&&"hsk-cb-swatch--target"),style:{animationDelay:`${q*40}ms`},onClick:R.target?void 0:()=>n?.(R),children:[dt("span",{className:"hsk-cb-swatch-chip",style:{background:R.swatch}}),dt("span",{className:"hsk-cb-swatch-name",children:R.target?o:R.name}),dt("span",{className:"hsk-cb-swatch-code",children:R.swatch})]},R.id??R.url??q))});return x.length===0?$||null:Lr(Po,{children:[$,Lr("div",{className:le("hsk-cb-sources-wrap",a&&"hsk-cb-sources-wrap--compact"),children:[i&&Lr(Po,{children:[dt("div",{className:"hsk-cb-sources-fade-left"}),dt("button",{className:"hsk-cb-sources-prev",onClick:A,"aria-label":"Previous",children:dt(qr,{})})]}),dt("div",{className:"hsk-cb-sources",ref:c,children:x.map(({source:R,image:q,photoIndex:F,totalPhotos:I},G)=>{let _=!!(R.id&&r.includes(R.id));return Lr("div",{className:le("hsk-cb-source",_&&"hsk-cb-source--referenced"),style:{animationDelay:`${G*50}ms`},onClick:()=>n?.(R),children:[dt(mc,{source:T&&q?{...R,image:q.url,images:[q]}:R,onImageClick:t}),Lr("div",{className:"hsk-cb-src-info",children:[dt("div",{className:"hsk-cb-src-name",children:R.name}),T&&q?.caption?dt("div",{className:"hsk-cb-src-detail",children:q.caption}):T&&I>1?dt("div",{className:"hsk-cb-src-detail",children:`Photo ${F+1} of ${I}`}):null,ir(R,s).slice(0,2).map(ne=>dt("div",{className:"hsk-cb-src-detail",children:ne.value},ne.label))]})]},`${R.id??R.url??G}:${q?.url??F}`)})}),h&&Lr(Po,{children:[dt("div",{className:"hsk-cb-sources-fade-right"}),dt("button",{className:"hsk-cb-sources-next",onClick:y,"aria-label":"See more",children:dt(Ur,{})})]}),x.length>1&&dt("div",{className:"hsk-cb-carousel-dots",children:x.map((R,q)=>dt("div",{className:le("hsk-cb-dot-item",q===d&&"hsk-cb-dot-item--active"),onClick:()=>{let F=c.current;if(F){let I=getComputedStyle(F).direction==="rtl";F.scrollTo({left:q*190*(I?-1:1),behavior:"smooth"})}}},q))})]})]})}import{jsx as kc,jsxs as fd}from"react/jsx-runtime";function fc({intent:e,sources:n,onSend:t,loading:r}){let a=hr();if(!e)return null;let o=[],s=n[0]?.name??"",c=n.slice(0,2).map(i=>i.name);if(e==="search"&&n.length>0){if(c.length>=2&&o.push({emoji:"\u2696\uFE0F",label:a("pillCompareTop2"),query:a("pillCompareTop2Query",{a:c[0],b:c[1]})}),s){let i=s.split(" ").slice(0,3).join(" ");o.push({emoji:"\u{1F4A1}",label:a("pillMoreOn",{name:i}),query:a("pillMoreOnQuery",{name:s})})}}else e==="compare"&&n.length>0?(s&&o.push({emoji:"\u{1F50D}",label:a("pillSimilarOptions"),query:a("pillSimilarOptionsQuery",{name:s})}),o.push({emoji:"\u{1F4A1}",label:a("pillWhichBest"),query:a("pillWhichBestQuery")})):e==="specs"&&n.length>0?s&&o.push({emoji:"\u{1F504}",label:a("pillFindAlternatives"),query:a("pillFindAlternativesQuery",{name:s})}):e==="general"&&(o.push({emoji:"\u{1F50D}",label:a("pillShowPopular"),query:a("pillShowPopularQuery")}),o.push({emoji:"\u{1F4A1}",label:a("pillRecommend"),query:a("pillRecommendQuery")}));return o.length===0?null:kc("div",{className:"hsk-action-pills",children:o.map(i=>fd("button",{className:"hsk-action-pill",onClick:()=>t(i.query),disabled:r,children:[kc("span",{className:"hsk-pill-emoji",children:i.emoji}),i.label]},i.query))})}import{Fragment as Ao,jsx as ye,jsxs as Fe}from"react/jsx-runtime";var gc=gt.memo(({content:e,streaming:n,hosts:t})=>ye(Ao,{children:lc(e,n,new Set(t.split(",")))}),(e,n)=>e.content===n.content&&e.streaming===n.streaming&&e.hosts===n.hosts);gc.displayName="MarkdownBlock";function xd(e){let n=new Set;for(let t of e)if(t)try{n.add(new URL(t,location.href).host)}catch{}return[...n].sort().join(",")}function vd(e,n){gt.useLayoutEffect(()=>{let t=e.current;if(!t)return;let r=()=>{t.style.width="";let s=document.createRange();s.selectNodeContents(t);let c=Array.from(s.getClientRects()),i=t.getBoundingClientRect();if(!c.length||!t.offsetWidth||!i.width)return;let l=i.width/t.offsetWidth,h=getComputedStyle(t),p=parseFloat(h.paddingLeft)+parseFloat(h.paddingRight)+parseFloat(h.borderLeftWidth)+parseFloat(h.borderRightWidth),d=Math.max(...c.map(f=>f.right))-Math.min(...c.map(f=>f.left)),m=Math.ceil(d/l)+1;m+p<t.offsetWidth&&(t.style.width=`${h.boxSizing==="border-box"?m+p:m}px`)};r(),document.fonts?.ready.then(r).catch(()=>{});let a=t.closest(".hsk-cb-msg-group");if(!a||typeof ResizeObserver>"u")return;let o=new ResizeObserver(r);return o.observe(a),()=>o.disconnect()},[e,n])}function xc({msg:e,idx:n,isLast:t,isLastUser:r,isRunEnd:a,runMid:o,runCont:s,isNarrow:c,loading:i,streaming:l,stopped:h,interrupted:p,sources:d,referencedIds:m,discussedSources:f,lastIntent:M,lastAction:b,vizState:T,setVizState:x,setLightboxSrc:L,setMarkupSrc:z,handleSend:y,handleSourceClick:A,onRetry:$,onEdit:R,onLongPress:q,hasError:F,retrying:I,t:G,messageRef:_,photosSending:ne,workingOn:ke,doodleTheme:ue}){let V=gd()?.api,he=V?.siteId??"",X=xd([V?.apiUrl,...(t?d:e.sources??[]).flatMap(K=>[K.image,K.url])]),D=e.role==="user",W=e.content,[w,E]=gt.useState(!1),N=gt.useRef(null);vd(N,e.content);let Y=gt.useRef(null),S=gt.useRef(null),C=gt.useRef(!1),u=gt.useCallback(K=>{let Q=D?".hsk-cb-user-bubble":".hsk-cb-ai-text";return K.matches?.(Q)?K:K.querySelector(Q)||K},[D]),ee=gt.useCallback(K=>{S.current&&clearTimeout(S.current),S.current=setTimeout(()=>{if(q){if(typeof navigator<"u"&&navigator.vibrate)try{navigator.vibrate(25)}catch{}let Q=u(K),xe=Q.getBoundingClientRect();q(e,{top:xe.top,left:xe.left,width:xe.width,height:xe.height},D,Q),C.current=!0}S.current=null},420)},[e,D,q,u]),j=gt.useCallback(K=>{if(K.touches.length!==1)return;let Q=K.touches[0];Y.current={x:Q.clientX,y:Q.clientY},C.current=!1,ee(K.currentTarget)},[ee]),H=gt.useCallback(K=>{if(!Y.current||!S.current)return;let Q=K.touches[0];Math.hypot(Q.clientX-Y.current.x,Q.clientY-Y.current.y)>8&&(clearTimeout(S.current),S.current=null)},[]),v=gt.useCallback(K=>{S.current&&(clearTimeout(S.current),S.current=null),Y.current=null,C.current&&K.cancelable&&K.preventDefault()},[]),k=gt.useCallback(K=>{if(!q||(K.preventDefault(),C.current))return;let Q=u(K.currentTarget),xe=Q.getBoundingClientRect();q(e,{top:xe.top,left:xe.left,width:xe.width,height:xe.height},D,Q)},[e,D,q,u]);gt.useEffect(()=>()=>{S.current&&clearTimeout(S.current)},[]);let P=gt.useCallback(K=>{if(K)try{navigator.clipboard.writeText(K),E(!0),setTimeout(()=>E(!1),2e3)}catch{}},[]),U=gt.useMemo(()=>Ca(W),[W]),te=e.thinking||U.thinking,oe=/(?:^|\n+)(?:[>*_~`\s]*)(?:This is a calculation from live figures,?\s*not a guarantee\s*[—–-]\s*the market can move against it\.?)(?:[>*_~`\s]*)/gi,ce=oe.test(U.content),ie=ce?U.content.replace(oe,"").trimEnd():U.content;return ye("div",{className:le("hsk-cb-msg-group",o&&"hsk-cb-msg-group--run-mid",s&&"hsk-cb-msg-group--run-cont"),"data-hsk-role":D?"user":"assistant",ref:_,children:D?Fe("div",{className:`hsk-cb-user-msg${r?" hsk-sent":""}`,children:[e.images&&e.images.length>0&&ye("div",{className:"hsk-cb-user-imgs","data-count":Math.min(e.images.length,4),children:e.images.slice(0,4).map((K,Q)=>Fe("button",{type:"button",className:"hsk-cb-user-img-cell",onClick:()=>L(K),children:[ye("img",{src:K,alt:`attachment ${Q+1}`,className:"hsk-cb-user-img-thumb"}),ye(Gr,{active:ne,seed:he,theme:ue}),Q===3&&e.images.length>4&&Fe("span",{className:"hsk-cb-user-img-more",children:["+",e.images.length-3]})]},Q))}),e.content&&Fe("div",{ref:N,className:le("hsk-cb-user-bubble",a&&"hsk-cb-user-bubble--tail",e.spoken&&"hsk-cb-user-bubble--spoken",F&&"hsk-cb-user-bubble--error"),onTouchStart:j,onTouchMove:H,onTouchEnd:v,onTouchCancel:v,onContextMenu:k,dir:Sa(e.content.replace(/^@kiku\s*/i,"")),children:[e.spoken&&ye(gn,{className:"hsk-cb-spoken-mark",size:10}),/^@kiku\b/i.test(e.content)?Fe(Ao,{children:[ye("span",{className:"hsk-kiku-badge",children:"@kiku"}),e.content.replace(/^@kiku\s*/i,"")]}):e.content]}),a&&Fe("div",{className:"hsk-cb-user-footer",children:[Fe("div",{className:"hsk-cb-msg-actions",children:[$&&(F||r)&&Fe("button",{type:"button",className:"hsk-cb-msg-action hsk-cb-msg-action--retry",onClick:()=>$(e),"aria-label":G("retry"),children:[ye(fn,{className:I?"hsk-retry-icon--spinning":"",size:11}),ye("span",{className:"hsk-cb-msg-action-label",children:G("retry")})]}),R&&Fe("button",{type:"button",className:"hsk-cb-msg-action hsk-cb-msg-action--edit",onClick:()=>R(e),"aria-label":G("edit"),children:[ye(Zn,{size:11}),ye("span",{className:"hsk-cb-msg-action-label",children:G("edit")})]}),Fe("button",{type:"button",className:le("hsk-cb-msg-action hsk-cb-msg-action--copy",w&&"hsk-cb-msg-action--copied"),onClick:()=>P(e.content),"aria-label":G(w?"copied":"copy"),children:[w?ye(xr,{size:11}):ye(gr,{size:11}),ye("span",{className:"hsk-cb-msg-action-label",children:G(w?"copied":"copy")})]})]}),r&&!F&&ye("span",{className:"hsk-cb-sent-status",children:G(h||p?"statusStopped":"statusSent")}),F&&Fe("span",{className:"hsk-cb-failed-notice",children:[ye("span",{className:"hsk-cb-failed-dot"}),G("msgFailed")]})]})]}):ye("div",{className:le("hsk-cb-ai-msg",c&&"hsk-cb-ai-msg--inline"),children:Fe("div",{className:"hsk-cb-ai-body",onTouchStart:j,onTouchMove:H,onTouchEnd:v,onTouchCancel:v,onContextMenu:k,children:[(()=>{let K=e.thoughtForSeconds!=null||ie.length>0||!(t&&(l||i));return Fe(Ao,{children:[!e.spoken&&(te||e.thoughtForSeconds!=null||e.repliedSeconds!=null||Nn(e.statusStage)||t&&(l||i))&&ye(rc,{text:te,isComplete:K,seconds:e.thoughtForSeconds,stage:e.statusStage,repliedSeconds:e.repliedSeconds}),e.spoken&&typeof e.thoughtForSeconds=="number"&&e.thoughtForSeconds>0&&ye("div",{className:"hsk-cb-think",children:Fe("span",{className:"hsk-cb-think-head hsk-cb-think-head--static",children:[ye(gn,{size:11}),Fe("span",{children:["spoken \xB7 ",e.thoughtForSeconds.toFixed(1),"s"]})]})}),ie&&ye("div",{className:"hsk-cb-ai-content",children:ye(gc,{content:ie,streaming:t&&l,hosts:X})}),ce&&ye("div",{className:"hsk-cb-calc-disclaimer",children:G("calcDisclaimer")})]})})(),e.visualizing&&ye("div",{className:"hsk-cb-viz",children:Fe("div",{className:le("hsk-cb-viz--working",!ke&&"is-blank",e.visualizationType==="video"&&"is-video"),role:"status","aria-label":e.visualizingText||G("vizWorking"),children:[ke&&ye("img",{src:ke,alt:""}),ye(Gr,{active:!0,seed:he,theme:ue})]})}),e.visualization&&Fe("div",{className:"hsk-cb-viz",children:[Fe("div",{className:"hsk-cb-viz-imgwrap",children:[e.visualizationType==="video"||e.visualization.includes("/videos/")?ye("video",{src:e.visualization,controls:!0,autoPlay:!0,loop:!0,muted:!0,playsInline:!0,className:"hsk-markdown-video",style:{display:"block",maxHeight:"400px",objectFit:"contain",width:"100%"}}):ye("img",{src:e.visualization,alt:"Product visualized in your photo",className:"hsk-markdown-img",style:T[e.visualization]==="err"?{display:"none"}:void 0,onLoad:()=>x(K=>({...K,[e.visualization]:"ok"})),onError:()=>x(K=>({...K,[e.visualization]:"err"}))}),T[e.visualization]==="err"&&ye("div",{className:"hsk-cb-viz-broken",children:G("vizUnavailable")}),t&&!l&&T[e.visualization]==="ok"&&e.visualizationType!=="video"&&!e.visualization.includes("/videos/")&&Fe("button",{className:"hsk-cb-viz-mark",onClick:()=>z(e.visualization),children:[Fe("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[ye("path",{d:"M12 20h9"}),ye("path",{d:"M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4Z"})]}),G("vizMarkEdit")]})]}),ye("div",{className:"hsk-cb-viz-disclaimer",children:e.visualizationType==="video"||e.visualization.includes("/videos/")?G("vizDisclaimerVideo"):G("vizDisclaimerImage")})]}),!D&&(e.knowledgeImages?.length??0)>0&&ye("div",{className:"hsk-cb-kimgs",children:e.knowledgeImages.map(K=>Fe("div",{className:"hsk-cb-kimg-group",children:[ye("div",{className:"hsk-cb-kimg-grid",children:K.images.map((Q,xe)=>ye("img",{src:Q.url,alt:Q.note||K.title||"Reference image",className:"hsk-cb-kimg",loading:"lazy",onClick:()=>L(Q.url),onError:Ie=>{Ie.target.style.display="none"}},xe))}),(K.title||K.images[0]?.note)&&ye("div",{className:"hsk-cb-kimg-caption",children:K.title||K.images[0]?.note})]},K.entryId))}),!D&&ye(dc,{keys:e.liveKeys}),!D&&(e.staleNotices?.length??0)>0&&Fe("div",{className:"hsk-cb-stale",role:"status",children:[ye("div",{className:"hsk-cb-stale-title",children:G("staleTitle")}),e.staleNotices.map((K,Q)=>Fe("div",{className:"hsk-cb-stale-item",children:[K.state==="removed"?G("staleRemoved",{title:K.title}):G("staleUnavailable",{title:K.title}),K.reason&&Fe("span",{className:"hsk-cb-stale-reason",children:[" ",K.reason]})]},Q))]}),(()=>{let K=t&&(i||l),Q=K?m:e.referencedIds??[],xe=K?d:e.sources??[],Ie=t?M:e.intent,Ae=Ie==="compare"||Ie==="capture"||Ie==="capture_all"||Ie==="delete"||Ie==="view_history";return Q.length>0&&!Ae&&(!t||b?.type!=="request_kiku_key")&&ye(Ta,{sources:xe,onSelectSource:A,onImageClick:L,referencedIds:Q,compact:!!e.visualization,targetLabel:G("swatchTarget")})})(),t&&!i&&!l&&b?.type==="open_memory"&&Pn(b.url)&&Fe("a",{className:"hsk-cb-memory-pill",href:Pn(b.url),target:"_blank",rel:"noopener noreferrer",children:[G("openMemory"),ye(ks,{})]}),t&&!i&&Pn(b?.url)&&b?.type!=="open_memory"&&ye("div",{className:"hsk-action-pills",children:Fe("a",{className:"hsk-action-pill",href:Pn(b?.url),children:[String(b?.type||"continue").replace(/_/g," ")," \u2192"]})}),t&&!i&&ye(fc,{intent:M,sources:f,onSend:y,loading:i}),!D&&a&&!l&&ie&&ye("div",{className:"hsk-cb-ai-footer",children:Fe("div",{className:"hsk-cb-msg-actions",children:[Fe("button",{type:"button",className:le("hsk-cb-msg-action hsk-cb-msg-action--copy",w&&"hsk-cb-msg-action--copied"),onClick:()=>P(ie),"aria-label":G(w?"copied":"copy"),children:[w?ye(xr,{size:11}):ye(gr,{size:11}),ye("span",{className:"hsk-cb-msg-action-label",children:G(w?"copied":"copy")})]}),t&&(F||ie.includes("We're experiencing high demand right now"))&&$&&Fe("button",{type:"button",className:"hsk-cb-msg-action hsk-cb-msg-action--retry",onClick:()=>$(e),"aria-label":G("retry"),children:[ye(fn,{className:I?"hsk-retry-icon--spinning":"",size:11}),ye("span",{className:"hsk-cb-msg-action-label",children:G("retry")})]})]})})]})})})}import{jsx as kt,jsxs as er}from"react/jsx-runtime";function vc({keyInput:e,setKeyInput:n,minting:t,handleUseExistingKey:r,handleCreateKey:a,t:o}){return er("div",{className:"hsk-cb-ai-msg",children:[kt("div",{className:"hsk-cb-ai-icon",style:{display:"flex",alignItems:"center"},children:kt(Xt,{})}),kt("div",{className:"hsk-cb-ai-body",children:kt("div",{className:"hsk-cb-ai-text",children:er("div",{className:"hsk-cb-phone-form",children:[kt("label",{className:"hsk-cb-phone-label",children:o("keyPastePrompt")}),kt("input",{type:"text",className:"hsk-cb-phone-input",placeholder:o("keyPastePlaceholder"),value:e,onChange:s=>n(s.target.value),onKeyDown:s=>s.key==="Enter"&&r(),autoFocus:!0}),er("div",{style:{display:"flex",gap:8},children:[kt("button",{className:"hsk-cb-phone-submit",onClick:r,disabled:!e.trim(),children:o("keyUseMine")}),kt("button",{className:"hsk-cb-phone-submit",onClick:a,disabled:t,children:o(t?"keyCreating":"keyCreateNew")})]})]})})})]})}function yc({mintedKey:e,copied:n,keyCountdown:t,onDismiss:r,copyValue:a,t:o}){return er("div",{className:"hsk-cb-ai-msg",children:[kt("div",{className:"hsk-cb-ai-icon",style:{display:"flex",alignItems:"center"},children:kt(Xt,{})}),kt("div",{className:"hsk-cb-ai-body",children:er("div",{className:"hsk-cb-secret-card",children:[er("div",{className:"hsk-cb-secret-head",children:[kt("span",{className:"hsk-cb-secret-title",children:o("keySecretTitle")}),er("span",{className:"hsk-cb-secret-timer",children:[t,"s"]}),kt("button",{type:"button",className:"hsk-cb-secret-dismiss",onClick:r,"aria-label":o("keyDismiss"),children:"\xD7"})]}),er("button",{type:"button",className:"hsk-cb-secret-key",onClick:()=>a(e,"secret"),children:[kt("code",{children:e}),er("span",{className:"hsk-cb-secret-copy",children:[n==="secret"?kt(xr,{}):kt(gr,{}),o(n==="secret"?"keyCopied":"keyCopySecret")]})]}),kt("span",{className:"hsk-cb-secret-hint",children:o("keySecretHint")})]})})]})}import{Fragment as wd,jsx as Et,jsxs as cn}from"react/jsx-runtime";function yd(e,n){for(let t=n-1;t>=0;t--){let r=e[t];if(r.visualization&&r.visualizationType!=="video")return r.visualization;if(r.images?.length)return r.images[r.images.length-1]}}function wc({displayMessages:e,messageRefs:n,isNarrow:t,loading:r,streaming:a,sources:o,referencedIds:s,discussedSources:c,lastIntent:i,lastAction:l,stopped:h,interrupted:p,halted:d,haltedEmpty:m,error:f,errorCode:M,keyPhase:b,keyInput:T,setKeyInput:x,mintedKey:L,setMintedKey:z,setMintedPub:y,minting:A,copied:$,keyCountdown:R,handleUseExistingKey:q,handleCreateKey:F,copyValue:I,queuedMessage:G,sendQueuedNow:_,setLightboxSrc:ne,setMarkupSrc:ke,handleSend:ue,handleSourceClick:V,onRetry:he,onEdit:X,onLongPress:D,retrying:W,continueGenerating:w,t:E,spacerRef:N,vizState:Y,setVizState:S,messages:C,doodleTheme:u}){return cn(wd,{children:[(()=>{let ee=-1;for(let j=e.length-1;j>=0;j--)if(e[j]?.role==="user"){ee=j;break}return e.map((j,H)=>{let v=H===e.length-1,k=j.role==="user",P=k&&H===ee,U=e[H+1]?.role!==j.role,te=!U,oe=e[H-1]?.role===j.role,ce=j.id||`${j.role}-${H}`,ie=e[H+1]?.content??"",K=P&&(r||a)&&!Ca(ie).content.trim(),Q=j.visualizing?yd(e,H):void 0,xe=P&&!!f||!k&&v&&!!f||!k&&!!j.content?.includes("We're experiencing high demand right now");return Et(xc,{msg:j,idx:H,isLast:v,isLastUser:P,isRunEnd:U,runMid:te,runCont:oe,isNarrow:t,loading:r,streaming:a,stopped:h,interrupted:p,sources:o,referencedIds:s,discussedSources:c,lastIntent:i,lastAction:l,vizState:Y,setVizState:S,setLightboxSrc:ne,setMarkupSrc:ke,handleSend:ue,handleSourceClick:V,onRetry:he,onEdit:X,onLongPress:D,hasError:xe,retrying:W,t:E,messageRef:Ie=>{n.current[H]=Ie},photosSending:K,workingOn:Q,doodleTheme:u},ce)})})(),d&&C.length>0&&cn("div",{className:le("hsk-cb-stopped",m&&"hsk-cb-stopped--empty"),children:[m&&cn("span",{className:"hsk-cb-stopped-dots","aria-hidden":"true",children:[Et("i",{}),Et("i",{}),Et("i",{})]}),Et("span",{className:"hsk-cb-stopped-label",children:E(h?"stoppedByYou":"stoppedInterrupted")}),cn("button",{className:"hsk-cb-continue",onClick:w,children:[Et(fs,{}),E(C[C.length-1]?.role==="assistant"?"continueGenerating":"generateResponse")]})]}),f&&Et("div",{className:"hsk-cb-error",children:Zs({code:M??void 0,message:f},E)}),b==="prompt_key"&&Et(vc,{keyInput:T,setKeyInput:x,minting:A,handleUseExistingKey:q,handleCreateKey:F,t:E}),L&&Et(yc,{mintedKey:L,copied:$,keyCountdown:R,onDismiss:()=>{z(null),y(null)},copyValue:I,t:E}),G&&Et("div",{className:le("hsk-cb-msg-group",e[e.length-1]?.role==="user"&&"hsk-cb-msg-group--run-cont"),children:cn("div",{className:"hsk-cb-user-msg",children:[Et("div",{className:"hsk-cb-user-bubble hsk-cb-user-bubble--tail hsk-cb-user-bubble--queued",children:G.content}),cn("button",{type:"button",className:"hsk-cb-queued-status",onClick:_,children:[Et("span",{className:"hsk-cb-queued-dot"}),E("queuedWaiting"),Et("span",{className:"hsk-cb-queued-now",children:E("queuedSendNow")})]})]})}),Et("div",{ref:N,className:"hsk-cb-msgs-spacer"})]})}import An,{useState as Mc,useRef as Fo,useEffect as Do}from"react";import{useAkropolysContext as Md,useCardFields as Td}from"@akropolys/sdk";import{jsx as Cc}from"react/jsx-runtime";var Ra=16,Cd=110,Sd=/[-ۿ܀-ݏ߀-߿ࡠ-ࣿﭐ-﷿ﹰ-]/;function _o(e){if(!e)return[];if(Sd.test(e))return e.split(/(\s+)/).filter(Boolean);let n=typeof Intl<"u"?Intl:void 0;if(n?.Segmenter){let t=new n.Segmenter(void 0,{granularity:"grapheme"});return Array.from(t.segment(e),r=>r.segment)}return e.split(/(\s+)/).filter(Boolean)}function Sc({text:e,placeholder:n,visible:t=!0,replay:r=0,replaySeed:a,staggerMs:o=Ra}){if(!t)return null;let s=e||n||"";if(!s)return null;let c=a!==void 0?a:r,i=s.length>26,l=i?s.match(/\S+\s*/g)??[s]:_o(s),h=Math.max(l.length-1,1),p=s.length>44?"3":i?"2":"1";return Cc("div",{className:"hsk-animated-placeholder","data-fit":p,dir:"auto","aria-hidden":"true",children:l.map((d,m)=>Cc("span",{className:"hsk-animated-placeholder__char",style:{animationDelay:`${Cd+m*o}ms`,"--hsk-ph-hue":`${Math.round(m/h*300)}`},children:d},`${s}|${c}|${m}`))})}import{Fragment as Ho,jsx as fe,jsxs as Ve}from"react/jsx-runtime";function Tc({gooId:e,input:n,setInput:t,showKikuPicker:r,setShowKikuPicker:a,showAtPicker:o,setShowAtPicker:s,captureAllowed:c,discussedSources:i,handleSelectExtension:l,handleKikuCapture:h,handleKikuCaptureAll:p,handleKikuViewHistory:d,handleKikuDelete:m,attachments:f,removeAttachment:M,chromeLoading:b,inputLocked:T,langSwitching:x=!1,imageInputRef:L,handleImageFiles:z,enableVision:y,enableVoice:A,canConverse:$,startVoice:R,voiceBlocked:q,textareaRef:F,classNames:I={},handleInput:G,handleKeyDown:_,voice:ne,voicePhase:ke,activePlaceholder:ue,loading:V,streaming:he,stop:X,handleSend:D,voiceError:W,setVoiceError:w,t:E,rail:N,notice:Y,onOpenMimi:S}){let C=Md(),u=Td(),[ee,j]=An.useState(0),[H,v]=An.useState(!1);An.useEffect(()=>{if(!W)return;let ge=setTimeout(()=>{w?.("")},6e3);return()=>clearTimeout(ge)},[W,w]);let k=An.useRef(null);An.useEffect(()=>{if(!H)return;let ge=Pe=>{Pe.key==="Escape"&&v(!1)},Se=Pe=>{let me=Pe.composedPath?Pe.composedPath():[],Xe=Pe.target?.closest?.(".hsk-cb-tools-toggle")||me.some(ut=>ut?.classList?.contains?.("hsk-cb-tools-toggle")),xt=k.current&&(me.includes(k.current)||k.current.contains(Pe.target));Xe||xt||v(!1)};return window.addEventListener("keydown",ge),document.addEventListener("mousedown",Se),document.addEventListener("touchstart",Se,{passive:!0}),()=>{window.removeEventListener("keydown",ge),document.removeEventListener("mousedown",Se),document.removeEventListener("touchstart",Se)}},[H]);let P=ue||"Ask me anything\u2026",U=Fo(null),[te,oe]=Mc(()=>P.length>26);Do(()=>{let ge=U.current;if(!ge||n)return;let Se=()=>{let me=ge.querySelectorAll(".hsk-animated-placeholder__char");if(me.length<2)return oe(!1);let at=me[0].offsetTop,Xe=me[me.length-1].offsetTop;oe(Xe-at>me[0].offsetHeight/2)};Se();let Pe=new ResizeObserver(Se);return Pe.observe(ge),()=>Pe.disconnect()},[P,n]);let ce=Math.max(_o(P).length-1,0)*Ra,[ie,K]=Mc(!1),Q=Fo(null),xe=()=>{Q.current&&clearTimeout(Q.current),K(!0),Q.current=setTimeout(()=>{K(!1),Q.current=null},550)};Do(()=>()=>{Q.current&&clearTimeout(Q.current)},[]);let Ie=Fo(null),Ae=!!Y;return Do(()=>{Ie.current?.toggleAttribute("inert",Ae)},[Ae]),Ve("div",{className:"hsk-cb-input-wrap","data-tools-open":H?"true":void 0,children:[H&&Ve(Ho,{children:[fe("div",{className:"hsk-cb-toolsheet-scrim",onClick:()=>v(!1),"aria-hidden":"true"}),fe("div",{className:"hsk-cb-toolsheet-wrap",ref:k,children:Ve("div",{className:"hsk-cb-toolsheet",role:"menu",children:[y&&Ve("button",{className:"hsk-cb-toolsheet-item",role:"menuitem",onClick:()=>{v(!1),L.current?.click()},disabled:V,children:[fe(Ka,{}),fe("span",{children:E("attachImage")})]}),A&&$&&Ve("button",{className:"hsk-cb-toolsheet-item",role:"menuitem",onClick:()=>{v(!1),q?w?.(E("errAccountRequired")):R("converse")},disabled:V||b,children:[fe(Xa,{}),fe("span",{children:E("voiceModeStart")})]}),S&&Ve("button",{className:"hsk-cb-toolsheet-item",role:"menuitem",onClick:S,children:[fe(Jn,{}),fe("span",{children:"MiMi"})]})]})})]}),Y,Ve("div",{className:"hsk-cb-input-card",ref:Ie,children:[(/^@kiku\b/i.test(n)||r||o)&&Ve("div",{className:"hsk-cb-docked-header",children:[fe("span",{className:"hsk-cb-docked-sub",children:E("captureAndRemember")}),fe("button",{type:"button",className:"hsk-cb-docked-close",onClick:()=>{t(ge=>ge.replace(/^@kiku\s*/i,"")),a(!1),s(!1)},"aria-label":"Close mode",children:"\xD7"})]}),(r||o)&&Ve("div",{className:"hsk-cb-docked-options",onMouseDown:ge=>ge.preventDefault(),children:[o&&c&&Ve("button",{type:"button",className:"hsk-cb-docked-option",onClick:()=>l("@kiku"),children:[fe("span",{className:"hsk-cb-docked-option-icon",children:fe(Xt,{})}),fe("span",{className:"hsk-cb-docked-option-title",children:"kiku"}),fe("span",{className:"hsk-cb-docked-option-desc",children:"capture & remember"})]}),r&&c&&Ve(Ho,{children:[i.map((ge,Se)=>Ve("button",{type:"button",className:"hsk-cb-docked-option",onClick:()=>{h(ge),a(!1)},children:[fe("span",{className:"hsk-cb-docked-option-icon",children:ge.image?fe("img",{src:ge.image,alt:""}):fe(Qn,{})}),fe("span",{className:"hsk-cb-docked-option-title",children:ge.name}),ir(ge,u)[0]&&fe("span",{className:"hsk-cb-docked-option-detail",children:ir(ge,u)[0].value})]},ge.id??Se)),i.length>1&&Ve("button",{type:"button",className:"hsk-cb-docked-option",onClick:()=>{p(i),a(!1)},children:[fe("span",{className:"hsk-cb-docked-option-icon",children:fe(Qn,{})}),fe("span",{className:"hsk-cb-docked-option-title",children:E("captureAll",{count:String(i.length)})})]}),i.length===0&&Ve("button",{type:"button",className:"hsk-cb-docked-option",onClick:()=>{h({name:"current page",id:void 0}),a(!1)},children:[fe("span",{className:"hsk-cb-docked-option-icon",children:fe(Qn,{})}),fe("span",{className:"hsk-cb-docked-option-title",children:E("captureCurrentPage")})]}),Ve("button",{type:"button",className:"hsk-cb-docked-option",onClick:()=>{d(),a(!1)},children:[fe("span",{className:"hsk-cb-docked-option-icon",children:fe(gs,{})}),fe("span",{className:"hsk-cb-docked-option-title",children:E("whatHaveYouSaved")})]}),Ve("button",{type:"button",className:"hsk-cb-docked-option",onClick:()=>{m(),a(!1)},children:[fe("span",{className:"hsk-cb-docked-option-icon",children:fe(xs,{})}),fe("span",{className:"hsk-cb-docked-option-title",children:E("deleteThis")})]})]})]}),f.length>0&&fe("div",{className:"hsk-cb-img-strip",children:f.map((ge,Se)=>Ve("div",{className:"hsk-cb-img-thumb-wrap",children:[fe("img",{src:ge.thumb||ge.data,alt:`attachment ${Se+1}`,className:"hsk-cb-img-thumb"}),fe("button",{type:"button",className:"hsk-cb-img-thumb-remove",onClick:()=>M(Se),"aria-label":"Remove image",children:fe(Ls,{size:10})})]},Se))}),Ve("div",{className:le("hsk-cb-input-box",b&&"hsk-cb-input-box--waiting"),"data-cascade":ee%2?"b":"a","data-tools":H?"open":"closed",style:{"--hsk-text-sweep":`${ce}ms`},children:[fe("input",{ref:L,type:"file",accept:"image/*",className:"hsk-sr-only",onChange:ge=>{z(ge.target.files),ge.target.value=""}}),(y||A&&$)&&fe("button",{className:le("hsk-cb-tools-toggle",H&&"hsk-cb-tools-toggle--open"),onClick:()=>v(ge=>!ge),disabled:V||b,"aria-label":H?"Close options":"More options","aria-expanded":H,children:fe(vs,{})}),fe(Ho,{children:y&&fe("button",{className:"hsk-cb-attach-btn",onClick:()=>L.current?.click(),disabled:V,"aria-label":"Attach image",children:fe(Ka,{})})}),Ve("div",{className:"hsk-cb-field",ref:U,"data-ph-lines":!n&&te?"2":void 0,children:[fe("textarea",{ref:F,value:n,onChange:G,onKeyDown:_,rows:1,placeholder:"",className:le("hsk-cb-textarea",I.input),"aria-label":ue,disabled:T||V&&!he||x}),fe(Sc,{placeholder:ue,visible:!n,staggerMs:Ra,replaySeed:ee})]}),A&&$&&fe("button",{className:le("hsk-cb-voice-mode-btn",q&&"hsk-cb-voice-mode-btn--blocked"),onClick:()=>q?w?.(E("errAccountRequired")):R("converse"),disabled:V||b,"aria-label":"Voice conversation",children:fe(Xa,{})}),(V||he)&&!ie?fe("button",{className:le("hsk-cb-send","hsk-cb-send--stop",I.sendButton),onClick:X,"aria-label":"Stop generating",children:fe(bs,{})}):Ve("button",{className:le("hsk-cb-send",ie&&"is-launching",I.sendButton),onClick:()=>{xe(),D()},disabled:x||T||b||!n.trim()&&f.length===0,"aria-label":"Send message",children:[fe("svg",{width:"0",height:"0","aria-hidden":"true",focusable:"false",style:{position:"absolute"},children:fe("defs",{children:Ve("filter",{id:e,children:[fe("feGaussianBlur",{in:"SourceGraphic",stdDeviation:"1.6",result:"blur"}),fe("feColorMatrix",{in:"blur",type:"matrix",values:"1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 16 -7",result:"goo"}),fe("feBlend",{in:"SourceGraphic",in2:"goo"})]})})}),fe("span",{className:"hsk-cb-send-sheath","aria-hidden":"true"}),Ve("span",{className:"hsk-cb-send-stage",style:{filter:`url(#${e})`},children:[fe("span",{className:"hsk-cb-send-seam","aria-hidden":"true"}),fe("span",{className:"hsk-cb-send-kite",children:fe(Cs,{})})]})]})]})]}),q?Ve("div",{className:"hsk-cb-voice-error",role:"status",onClick:()=>w?.(""),children:[fe("span",{children:E("errAccountRequired")}),fe("button",{type:"button",className:"hsk-cb-voice-error-dismiss",onClick:ge=>{ge.stopPropagation(),w?.("")},"aria-label":"Dismiss error",children:"\xD7"})]}):W&&Ve("div",{className:"hsk-cb-voice-error",role:"status",onClick:()=>w?.(""),children:[fe("span",{children:E(W)}),fe("button",{type:"button",className:"hsk-cb-voice-error-dismiss",onClick:ge=>{ge.stopPropagation(),w?.("")},"aria-label":"Dismiss error",children:"\xD7"})]})]})}import Id,{useEffect as Bo,useRef as Nr,useState as $o}from"react";import{useEffect as _n,useRef as Fn}from"react";import{jsx as Ed}from"react/jsx-runtime";function Rc(e,n){let t=e.trim().match(/^#([\da-f]{3}|[\da-f]{6})$/i);if(t){let a=t[1].length===3?t[1].split("").map(o=>o+o).join(""):t[1];return[parseInt(a.slice(0,2),16),parseInt(a.slice(2,4),16),parseInt(a.slice(4,6),16)]}let r=e.match(/-?[\d.]+/g);return!r||r.length<3?n:[Number(r[0]),Number(r[1]),Number(r[2])]}function Rd(e,n,t){return[e[0]+(n[0]-e[0])*t,e[1]+(n[1]-e[1])*t,e[2]+(n[2]-e[2])*t]}function ln(e,n){return`rgba(${e[0]|0}, ${e[1]|0}, ${e[2]|0}, ${n})`}var tr=24,zd=.42;function zc({phase:e,theme:n,level:t,spectrum:r,bins:a,className:o}){let s=Fn(null),c=Fn(e),i=Fn(t),l=Fn(r),h=Fn(a);return _n(()=>{c.current=e},[e]),_n(()=>{i.current=t},[t]),_n(()=>{l.current=r},[r]),_n(()=>{h.current=a},[a]),_n(()=>{let p=s.current;if(!p)return;let d=p.getContext("2d");if(!d)return;let m=getComputedStyle(p),f=Rc(m.getPropertyValue("--hsk-primary")||"",[255,106,51]),M=Rc(m.getPropertyValue("--hsk-chat-text")||"",[31,31,31]),b=0,T=0,x=0,L=()=>{let X=Math.min(window.devicePixelRatio||1,3),D=p.getBoundingClientRect();T=Math.max(1,D.width),x=Math.max(1,D.height),p.width=Math.round(T*X),p.height=Math.round(x*X),d.setTransform(X,0,0,X,0,0)};L();let z=typeof ResizeObserver<"u"?new ResizeObserver(L):null;z?.observe(p),window.addEventListener("resize",L);let y=window.matchMedia?.("(prefers-reduced-motion: reduce)")?.matches??!1,A=new Float32Array(tr),$=[],R=null,q=-1,F=null,I=0,G=0,_=performance.now(),ne=(X,D,W,w)=>X+(D-X)*(D>X?W:w),ke=()=>{let X=l.current,D=h.current?.()??0;if(!X||!D||((!F||F.length!==D)&&(F=new Uint8Array(D)),!X(F)))return!1;let w=Math.max(tr,Math.floor(D*zd))/tr;for(let E=0;E<tr;E++){let N=Math.floor(E*w),Y=Math.max(N+1,Math.floor((E+1)*w)),S=0;for(let u=N;u<Y;u++)S+=F[u];let C=S/(Y-N)/255;A[E]=ne(A[E],C,y?.2:.55,y?.06:.14)}return!0},ue=(X,D)=>{for(let W=0;W<tr;W++){let w=W/(tr-1),E=Math.pow(1-w,1.6)*(.75+.25*Math.sin(X*3.1+W*.7));A[W]=ne(A[W],E*D,.3,.12)}},V=X=>{let D=Math.min(tr-1,Math.max(0,X*(tr-1))),W=Math.floor(D),w=D-W,E=A[W],N=A[Math.min(tr-1,W+1)];return E+(N-E)*w*w*(3-2*w)},he=X=>{b=requestAnimationFrame(he);let D=(X-_)/1e3,W=c.current,w=Math.min(1,i.current());I=ne(I,Math.max(W==="speaking"?.42:W==="listening"?.3:W==="thinking"?.28:.12,w),y?.1:.5,y?.05:.11),ke()||ue(D,Math.max(.25,I)),d.clearRect(0,0,T,x);let N=x/2;G=W==="thinking"?(G+.012)%1.6:0;let Y=3;if(q!==T){$=[];for(let u=0;u<Y;u++){let ee=u/(Y-1||1),j=Rd(f,M,ee*.5),H=d.createLinearGradient(0,0,T,0);H.addColorStop(0,ln(j,0)),H.addColorStop(.5,ln(j,.9-ee*.35)),H.addColorStop(1,ln(j,0)),$.push(H)}R=d.createLinearGradient(0,0,T,0),R.addColorStop(0,ln(f,0)),R.addColorStop(.5,ln(f,.14)),R.addColorStop(1,ln(f,0)),q=T}let S=x*.32,C=Math.max(4,T/130);for(let u=0;u<Y;u++){let ee=u/(Y-1||1),j=u*.055,H=1-ee*.22;d.beginPath();let v=0,k=N;for(let U=0;U<=T;U+=C){let te=U/T,oe=Math.pow(Math.sin(Math.PI*te),.85),ce=W==="thinking"?Math.exp(-Math.pow((te-(G-.3))*4.5,2)):1,ie=V(Math.abs(te-.5)*2),K=D-j,Q=Math.sin(te*Math.PI*2*2.1+K*7.4)*.66+Math.sin(te*Math.PI*2*3.7-K*5.6)*.26+Math.sin(te*Math.PI*2*5.9+K*9.1)*.08,xe=N+oe*ce*H*S*I*(.6+ie*1.1)*Q+Math.sin(te*Math.PI*2*.6+(D-j)*2.2)*oe*x*.01;U===0?d.moveTo(U,xe):d.quadraticCurveTo(v,k,(v+U)/2,(k+xe)/2),v=U,k=xe}d.quadraticCurveTo(v,k,T,k),d.lineCap="round",d.lineJoin="round";let P=(u===0?3:1.6)*(1+I*.6);u===0&&(d.strokeStyle=R,d.lineWidth=P*5,d.stroke()),d.strokeStyle=$[u],d.lineWidth=P,d.stroke()}};return b=requestAnimationFrame(he),()=>{cancelAnimationFrame(b),z?.disconnect(),window.removeEventListener("resize",L)}},[n]),Ed("canvas",{ref:s,className:o,"aria-hidden":"true"})}import{useState as Ld,useEffect as Ec,useRef as Nd}from"react";import{jsx as qt,jsxs as za}from"react/jsx-runtime";function Dn({src:e,images:n,initialIndex:t=0,title:r,onClose:a}){let o=n&&n.length>0?n:e?[{url:e}]:[],[s,c]=Ld(t),i=Nd(null);if(Ec(()=>{c(Math.min(Math.max(0,t),Math.max(0,o.length-1)))},[t,o.length]),Ec(()=>{if(o.length===0)return;let p=d=>{d.key==="Escape"&&a(),o.length>1&&(d.key==="ArrowLeft"&&c(m=>(m-1+o.length)%o.length),d.key==="ArrowRight"&&c(m=>(m+1)%o.length))};return window.addEventListener("keydown",p),()=>window.removeEventListener("keydown",p)},[o.length,a]),o.length===0)return null;let l=o[s]||o[0],h=p=>c(d=>(d+p+o.length)%o.length);return za("div",{className:"hsk-lightbox",onClick:a,role:"dialog","aria-modal":"true","aria-label":r||"Image preview",children:[qt("button",{className:"hsk-lightbox-close",onClick:a,"aria-label":"Close image",children:qt($r,{})}),r&&qt("div",{className:"hsk-lightbox-top",onClick:p=>p.stopPropagation(),children:qt("span",{className:"hsk-lightbox-title",children:r})}),za("div",{className:"hsk-lightbox-stage",onClick:p=>p.stopPropagation(),onTouchStart:p=>{i.current=p.touches[0]?.clientX??null},onTouchEnd:p=>{let d=p.changedTouches[0]?.clientX;i.current!==null&&d!==void 0&&Math.abs(d-i.current)>40&&h(d<i.current?1:-1),i.current=null},children:[o.length>1&&qt("button",{type:"button",className:"hsk-lightbox-nav hsk-lightbox-nav--prev",onClick:()=>h(-1),"aria-label":"Previous image",children:qt(qr,{})}),za("div",{className:"hsk-lightbox-content",children:[qt("img",{src:l.url,alt:l.alt||r||"",className:"hsk-lightbox-img"},l.url),l.caption&&qt("div",{className:"hsk-lightbox-caption",children:l.caption})]}),o.length>1&&qt("button",{type:"button",className:"hsk-lightbox-nav hsk-lightbox-nav--next",onClick:()=>h(1),"aria-label":"Next image",children:qt(Ur,{})})]}),o.length>1&&qt("div",{className:"hsk-lightbox-bottom",onClick:p=>p.stopPropagation(),children:za("div",{className:"hsk-lightbox-counter",children:[s+1," / ",o.length]})})]})}import{Fragment as _d,jsx as Re,jsxs as Ft}from"react/jsx-runtime";function Pd({images:e,siteId:n,themeAttr:t}){let r=Nr(null),[a,o]=$o(null);if(Bo(()=>{let i=r.current;i&&i.scrollTo({left:i.scrollWidth,behavior:"smooth"})},[e.length]),!e.length)return null;let s=e.findIndex(i=>i.pending),c=s>0?e.slice(0,s).reverse().find(i=>i.url)?.id:void 0;return Ft("div",{className:"hsk-voice-images",ref:r,children:[e.map(i=>Ft("button",{type:"button",className:"hsk-voice-image","data-pending":i.pending?"":void 0,disabled:i.pending,onClick:()=>o(i.url),children:[i.pending&&Re(Gr,{active:!0,seed:n,theme:t}),i.url&&Re("img",{src:i.url,alt:"",draggable:!1},i.url),i.url&&Re(Gr,{active:!!i.sending||i.id===c,seed:n,theme:t})]},i.id)),a&&Re(Dn,{src:a,onClose:()=>o(null)})]})}function Ad({current:e,choose:n,label:t,groups:r}){let a=Cn.find(l=>l.name===e),[o,s]=$o(!1),c=Nr(null),i=Nr(null);return Bo(()=>{if(i.current&&(i.current.inert=!o),!o)return;let l=i.current,h=l?.querySelector('[aria-checked="true"]');l&&h&&(l.scrollTop=h.offsetTop-(l.clientHeight-h.offsetHeight)/2);let p=m=>{c.current&&!m.composedPath().includes(c.current)&&s(!1)},d=m=>{m.key==="Escape"&&s(!1)};return document.addEventListener("pointerdown",p),document.addEventListener("keydown",d),()=>{document.removeEventListener("pointerdown",p),document.removeEventListener("keydown",d)}},[o]),Ft("div",{className:"hsk-voice-picker",ref:c,"data-open":o?"":void 0,dir:"ltr",children:[Ft("button",{type:"button",className:"hsk-voice-pill hsk-voice-pill--current","aria-haspopup":"true","aria-expanded":o,"aria-label":`${t}: ${a?.trait??e} (${e})`,onClick:()=>s(l=>!l),children:[Re("span",{children:a?.trait??e}),Re("span",{className:"hsk-voice-pill-caret",children:Re(Ur,{})})]}),Re("div",{className:"hsk-voice-menu-list",role:"radiogroup","aria-label":t,ref:i,children:["male","female"].map(l=>Ft(Id.Fragment,{children:[Re("div",{className:"hsk-voice-group","aria-hidden":"true",children:r[l]}),Cn.filter(h=>h.gender===l).map(h=>Ft("button",{type:"button",role:"radio","aria-checked":e===h.name,"aria-label":`${h.trait}, ${r[l]} (${h.name})`,className:le("hsk-voice-option",e===h.name&&"hsk-voice-option--on"),onClick:()=>{n(h.name),s(!1)},children:[Re("span",{className:"hsk-voice-option-name",children:h.trait}),Re("span",{className:"hsk-voice-option-trait",children:h.name})]},h.name))]},l))})]})}function Lc({siteId:e,themeAttr:n,stopVoice:t,chooseVoice:r,liveVoiceName:a,voiceSecondsLeft:o,voiceConnecting:s,voicePhase:c,live:i,earlier:l,newVoiceChat:h,voiceMuted:p,setVoiceMuted:d,voiceError:m,attachPhoto:f,onSelectSource:M,t:b}){let T=Nr(null),x=Nr(null),L=Nr(null),z=[...l.turns,...i.turns??[]],y=[...l.images,...i.images??[]],A=i.sources??[],[$,R]=$o(null),q=y.some(_=>_.pending),F=z.length,I=z[F-1]?.text??"",G=Nr(!1);return Bo(()=>{x.current?.scrollIntoView({block:"end",behavior:G.current?"smooth":"auto"}),G.current=!0},[F,I]),Ft("div",{className:"hsk-voice-overlay",role:"dialog","aria-label":b("voiceModeStart"),children:[Re(ra,{seed:e,theme:n}),z.some(_=>_.text)&&Re("button",{type:"button",className:"hsk-voice-new",onClick:h,disabled:s,"aria-label":b("voiceNewChat"),title:b("voiceNewChat"),children:Re(Zn,{size:15})}),Re("button",{className:"hsk-voice-exit",onClick:t,"aria-label":b("voiceModeExit"),children:Re($r,{})}),Re(Ad,{current:a,choose:r,label:b("voicePickerLabel"),groups:{female:b("voiceFemale"),male:b("voiceMale")}}),Ft("div",{className:"hsk-voice-thread",ref:T,children:[z.filter(_=>_.text).map((_,ne)=>_.role==="user"?Re("div",{className:"hsk-cb-user-msg",children:Re("div",{className:le("hsk-cb-user-bubble","hsk-cb-user-bubble--spoken",!_.done&&"hsk-voice-turn--live"),children:_.text})},ne):Re("div",{className:"hsk-cb-ai-msg",children:Re("div",{className:le("hsk-cb-ai-body",!_.done&&"hsk-voice-turn--live"),children:_.text})},ne)),Re("div",{ref:x})]}),(y.length>0||A.length>0)&&Ft("div",{className:"hsk-voice-shelf",children:[Re(Pd,{images:y,siteId:e,themeAttr:n}),A.length>0&&Re("div",{className:"hsk-voice-sources",children:Re(Ta,{sources:A,onSelectSource:M,onImageClick:R,referencedIds:A.map(_=>_.id).filter(_=>!!_),compact:!0})})]}),$&&Re(Dn,{src:$,onClose:()=>R(null)}),s&&Ft("div",{className:"hsk-voice-connecting",role:"status",children:[Re("span",{className:"hsk-voice-connecting-dot"}),Re("span",{children:b("voiceConnecting")})]}),m&&Re("div",{className:"hsk-voice-error",children:b(m)}),Ft("div",{className:"hsk-voice-controls",dir:"ltr",children:[i.photos&&Ft(_d,{children:[Re("input",{ref:L,type:"file",accept:"image/*",className:"hsk-sr-only",onChange:_=>{let ne=_.target.files?.[0];_.target.value="",ne&&f(ne)}}),Re("button",{type:"button",className:"hsk-voice-control hsk-voice-control--attach","data-control":"attach",disabled:s||q,onClick:()=>L.current?.click(),"aria-label":b("voiceAttachPhoto"),children:Re("span",{className:"hsk-voice-control-icon",children:Re(ys,{})})})]}),Re("div",{className:le("hsk-voice-stage",s&&"hsk-voice-stage--connecting"),children:Re(zc,{className:"hsk-voice-canvas",theme:n,phase:c,level:i.micLevel,spectrum:i.micSpectrum,bins:i.spectrumBins})}),Re("button",{className:le("hsk-voice-control",p&&"hsk-voice-control--muted",s&&"hsk-voice-control--waiting"),"data-control":"mic",disabled:s,onClick:()=>d(_=>!_),"aria-label":b(p?"voicePhaseListening":"voiceModeExit"),children:Re("span",{className:"hsk-voice-control-icon",children:p?Re(ws,{}):Re(gn,{})},p?"off":"on")})]})]})}import{useRef as Ea,useEffect as Fd,useState as Dd}from"react";import{jsx as hn,jsxs as Ic}from"react/jsx-runtime";var Hn=14,Nc=6;function Hd(e,n){let t=e.filter(Boolean);if(t.length<2)return null;let r=i=>i.offsetTop+i.offsetHeight/2,a=r(t[t.length-1])+10,o=i=>(i===n?Nc*1.3:Nc*.6)*(i%2?1:-1),s=`M ${Hn} 0`,c=0;return t.forEach((i,l)=>{let h=r(i),p=c+(h-c)/2;s+=` C ${Hn+o(l)} ${p}, ${Hn+o(l)} ${p}, ${Hn} ${h}`,c=h}),{d:s+` L ${Hn} ${a}`,height:a}}function Pc({items:e,activeIdx:n,progress:t,onJump:r,side:a="right"}){let o=hr(),s=Ea(null),c=Ea(null),i=Ea([]),l=Ea(null),[h,p]=Dd(null),d=0;for(let m=0;m<e.length;m++)e[m].idx<=n&&(d=m);return Fd(()=>{let m=i.current[d],f=l.current,M=c.current,b=s.current;if(m&&(f&&(f.style.transform=`translateY(${m.offsetTop+m.offsetHeight/2}px)`),p(Hd(i.current,d)),M&&b)){let T=b.clientHeight;if(M.scrollHeight>T&&T>0){let L=m.offsetTop+m.offsetHeight/2,z=T/2-L;M.style.transform=`translateY(${z}px)`}else M.style.transform="none"}},[d,e.length]),e.length<2?null:hn("nav",{ref:s,className:le("hsk-cb-timeline",a==="left"?"hsk-cb-timeline--left":"hsk-cb-timeline--right"),"aria-label":o("timelineLabel"),children:Ic("div",{ref:c,className:"hsk-cb-timeline-track",style:{"--hsk-tl-progress":t},children:[h&&hn("svg",{className:"hsk-cb-tl-wave",width:"28",height:h.height,viewBox:`0 0 28 ${h.height}`,"aria-hidden":"true",children:hn("path",{d:h.d})}),hn("span",{className:"hsk-cb-tl-cursor",ref:l,"aria-hidden":"true"}),e.map((m,f)=>Ic("button",{ref:M=>{i.current[f]=M},type:"button",className:le("hsk-cb-tl-item",f===d&&"hsk-cb-tl-item--on"),style:{"--hsk-tl-d":Math.min(Math.abs(f-d),4)},onClick:()=>r(m.idx),title:m.text,children:[hn("span",{className:"hsk-cb-tl-dot"}),hn("span",{className:"hsk-cb-tl-label",children:m.text})]},m.idx))]})})}import{useState as Bn,useEffect as La,useRef as Bd,useCallback as qo}from"react";import{jsx as jt,jsxs as pn}from"react/jsx-runtime";var $d=190;function Ac({msg:e,rect:n,containerRect:t,anchorEl:r,containerEl:a,isUser:o,isRTL:s=!1,canRetry:c,onPin:i,onRetry:l,onCopy:h,onClose:p,t:d}){let[m,f]=Bn(!1),M=Bd(null),{closing:b,requestClose:T}=In($d,p);La(()=>{let U=te=>{te.key==="Escape"&&T()};return window.addEventListener("keydown",U),()=>window.removeEventListener("keydown",U)},[T]);let x=qo(async()=>{await h(e.content||"")&&(f(!0),setTimeout(T,450))},[e.content,h,T]),L=qo(()=>{Dt("pin"),i(e),T()},[e,i,T]),z=qo(()=>{l&&l(e),T()},[e,l,T]),[y,A]=Bn(0);La(()=>{if(M.current){let U=M.current.offsetWidth;U&&Math.abs(U-y)>2&&A(U)}},[y]);let[$,R]=Bn(n),[q,F]=Bn(t);La(()=>{if(!r)return;let U=0,te=(ce,ie)=>Math.abs(ce-ie)<.5,oe=()=>{let ce=r.getBoundingClientRect();if(R(ie=>te(ie.top,ce.top)&&te(ie.left,ce.left)&&te(ie.width,ce.width)&&te(ie.height,ce.height)?ie:{top:ce.top,left:ce.left,width:ce.width,height:ce.height}),a){let ie=a.getBoundingClientRect();F(K=>K&&te(K.top,ie.top)&&te(K.left,ie.left)&&te(K.width,ie.width)?K:{top:ie.top,left:ie.left,width:ie.width,height:ie.height})}U=requestAnimationFrame(oe)};return U=requestAnimationFrame(oe),()=>cancelAnimationFrame(U)},[r,a]);let[I,G]=Bn("");La(()=>{if(!r)return;let U=getComputedStyle(r).backgroundColor;U&&U!=="rgba(0, 0, 0, 0)"&&U!=="transparent"&&G(U)},[r]);let _=$,ne=q??t,ke=ne?.top??0,ue=ne?.left??0,V=ne?.width??(typeof window<"u"?window.innerWidth:390),he=_.top-ke,X=_.left-ue,D=_.width,W=_.height,w=2;c&&l&&w++;let N=y||(w===2?122:170),Y=36,S=!!r?.closest(".hsk-cb-think")||!!r?.parentElement?.querySelector(".hsk-cb-think-head"),C=he>=58&&!S,u=C?Math.max(8,he-Y-9):Math.min(he+W+9,(ne?.height??800)-Y-8),ee=o?s:!s,j=ee?Math.min(V-18,X+D-7):Math.max(18,X+7),H=ee?j-N+18:j-18;H=Math.max(10,Math.min(H,V-N-10));let v=Math.max(18,Math.min(j-H,N-18)),k=I||(o?"var(--hsk-user-bubble-bg, var(--hsk-primary, #007aff))":"var(--hsk-bubble-bg, #eeeef0)"),P=0;return jt("div",{className:"hsk-tapback-overlay",onClick:T,children:pn("div",{ref:M,className:le("hsk-tapback-group",b&&"is-closing",C?"is-above":"is-below",o?"is-user":"is-ai"),style:{top:`${u}px`,left:`${H}px`,"--tail-x":`${v}px`,"--tail-dir":ee?1:-1,"--tail-step":o?"9px":"8px","--hsk-anchor-color":k,"--hsk-skin":"var(--hsk-bubble-bg, var(--hsk-chat-ai-bg, #eeeef0))"},onClick:U=>U.stopPropagation(),children:[pn("div",{className:"hsk-tapback-capsule",children:[pn("button",{type:"button",className:"hsk-tapback-tool-btn hsk-tapback-tool-btn--pin",onClick:L,"aria-label":"Pin to Kiku Memory",style:{"--tool-idx":P++},children:[jt(Ns,{size:14}),jt("span",{children:"Pin"})]}),c&&l&&pn("button",{type:"button",className:"hsk-tapback-tool-btn hsk-tapback-tool-btn--retry",onClick:z,"aria-label":d("retry"),style:{"--tool-idx":P++},children:[jt(fn,{size:14}),jt("span",{children:d("retry")})]}),pn("button",{type:"button",className:le("hsk-tapback-tool-btn hsk-tapback-tool-btn--copy",m&&"is-copied"),onClick:x,"aria-label":d(m?"copied":"copy"),style:{"--tool-idx":P++},children:[m?jt(xr,{size:14}):jt(gr,{size:14}),jt("span",{children:d(m?"copied":"copy")})]})]}),pn("div",{className:le("hsk-tapback-tail",C?"is-above":"is-below"),style:{left:`${v}px`},children:[jt("span",{className:"hsk-tapback-dot hsk-tapback-dot--mid"}),jt("span",{className:"hsk-tapback-dot hsk-tapback-dot--anchor"})]})]})})}import{jsx as $e,jsxs as br}from"react/jsx-runtime";var jd=240,Yd=700,Vd=200;function Kd({title:e="kiku",logo:n,placeholder:t="Ask me anything\u2026",backdropColor:r,backdropBlur:a,onClose:o,onSelectSource:s,chips:c=aa,theme:i,classNames:l={},enableVoice:h=!1,voiceLang:p,enableVision:d=!1,ttsVoice:m="Algenib",origin:f}){let M=Od(),b=Gd(),{messages:T,sources:x,loading:L,streaming:z,error:y,errorCode:A,lastAction:$,lastIntent:R,allowedActions:q,send:F,queuedMessage:I,sendQueuedNow:G,appendSpokenExchange:_,stop:ne,stopped:ke,interrupted:ue,continueGenerating:V,reset:he,referencedIds:X,humanPending:D,leaveHuman:W}=Ud(),[w,E]=Be(null),N=nt(null),Y=St(()=>{window.matchMedia?.("(prefers-reduced-motion: reduce)").matches||N.current?.animate([0,-7,6,-4,2,0].map(g=>({transform:`translateX(${g}px)`})),{duration:380,easing:"cubic-bezier(.36, .07, .19, .97)"})},[]);Lt(()=>{if(!w)return;let g=Me=>{(Me.key.length===1||Me.key==="Enter"||Me.key==="Backspace")&&Y()},B=Me=>{let Ce=He=>Me.composedPath().some(Le=>Le.classList?.contains(He));!Ce("hsk-cb-leave")&&!Ce("hsk-cb-topbar")&&Y()},de=kn.current;return de?.setAttribute("inert",""),document.addEventListener("keydown",g),document.addEventListener("pointerdown",B,!0),()=>{de?.removeAttribute("inert"),document.removeEventListener("keydown",g),document.removeEventListener("pointerdown",B,!0)}},[w,Y]);let[S,C]=Be(()=>{try{return M.getShopperName?.()??""}catch{return""}}),[u,ee]=Be(()=>{try{return M.getShopperLanguage?.()??""}catch{return""}}),[j,H]=Be(()=>{try{return M.getEntityLanguageMode?.()??""}catch{return""}}),[v,k]=Be(!1),[P,U]=Be(null),[te,oe]=Be(""),[ce,ie]=Be(!1),{chromeReady:K,baseFontReady:Q,isRTL:xe,speechLang:Ie,scriptFont:Ae,fontStack:ge,isNonLatin:Se,hostFontCovers:Pe,t:me,tNode:at}=ci({shopperLanguage:u||te,theme:i,preloadedStrings:P}),Xe=$n.useMemo(()=>{let g=x.filter(Le=>Le.id&&X.includes(Le.id)),B=[...T].reverse().find(Le=>Le.role==="assistant")?.content??"";if(!B)return g;let de=new Set(g.map(Le=>Le.id)),Me=B.toLowerCase().replace(/\s+/g," "),Ce=Le=>{let bt=String(Le??"").toLowerCase().replace(/\s+/g," ").trim(),qe=bt.split(" "),At=[bt];return qe.length>3&&At.push(qe.slice(0,3).join(" ")),qe.length>4&&At.push(qe.slice(0,4).join(" ")),At.filter(Br=>Br.length>=5)},He=x.filter(Le=>Le.id&&!de.has(Le.id)&&Ce(Le.name).some(bt=>Me.includes(bt)));return[...g,...He]},[x,X,T]),xt=q===null||q.includes("capture"),[ut,Ze]=Be(""),[rr,Nt]=Be(!1),[Yt,it]=Be(!1),[Ut,Mt]=Be([]),be=nt(new Map),ct=nt(null),[Tt,vt]=Be({}),[ot,ft]=Be(null),Pt=St((g,B)=>{if(!g&&!B){ft(null);return}ft(B?{images:B.images,initialIndex:B.index??0,title:B.title}:{src:g})},[]),[It,et]=Be(null),[mt,O]=Be(()=>{if(typeof window>"u")return!1;try{return localStorage.getItem("akropolys_terms_agreed")==="true"}catch{return!1}}),re=T.length===0,pe=te||u,J=!pe||pe.toLowerCase()==="english"||pe.toLowerCase()==="en",se=ce||!!te||!!u&&!K&&!J,ae=re&&!u&&!se,ze=re&&!!u&&!S&&!se,Te=re&&!!u&&!!S&&!j,De=re&&!!u&&!!S&&!!j&&!mt,lt=ae||ze||Te||De||se,Vt=Te||De||se,[Ir,Pr]=Be(se),[qn,Ar]=Be(!1),[Un,_r]=Be(!1),[Ee,Ye]=Be(!1),_e=nt(!1),yt=nt(null),tt=nt(null);se!==Ir&&(Pr(se),se?(tt.current&&clearTimeout(tt.current),Ye(!1),_r(!0),yt.current=setTimeout(()=>{Ar(!0),_r(!1),_e.current=!0},280)):(yt.current&&clearTimeout(yt.current),_r(!1),Ar(!1),_e.current&&(_e.current=!1,Ye(!0),tt.current=setTimeout(()=>Ye(!1),560)))),Lt(()=>()=>{yt.current&&clearTimeout(yt.current),tt.current&&clearTimeout(tt.current)},[]);let wt=$n.useMemo(()=>T.some(g=>g.liveKeys?.length>0),[T]);Lt(()=>{if(wt)return Wd({client:M})},[wt,M]);let[Fr,Na]=Be(!1);Lt(()=>{let g=window.matchMedia?.("(max-width: 1199px)");if(!g)return;let B=()=>Na(g.matches);return B(),g.addEventListener?.("change",B),()=>g.removeEventListener?.("change",B)},[]);let fr=async g=>{let B=g.trim();if(!B){try{M.setShopperLanguage?.("")}catch{}ee(""),oe(""),U(null);return}if(oe(B),ie(!0),B.toLowerCase()==="english"||B.toLowerCase()==="en"){U(Rt);try{M.setShopperLanguage?.(B)}catch{}ee(B),oe(""),ie(!1),k(!1);return}let Me=Date.now(),Ce=1200;try{let Le=M.getCachedUIStrings?.(B,lr)??M.getCachedUIStrings?.(B,Rt);if(Le?.strings&&Object.keys(Le.strings).length>0)U(Le.strings),Le.font&&await _t(Le.font,800);else{let bt=M.getUIStrings?.(B,lr),qe=await Promise.race([bt,new Promise(At=>setTimeout(()=>At(null),8e3))]);qe?.font&&await _t(qe.font,1200),qe?.strings&&Object.keys(qe.strings).length>0&&U(qe.strings)}}catch{}let He=Date.now()-Me;He<Ce&&await new Promise(Le=>setTimeout(Le,Ce-He));try{M.setShopperLanguage?.(B)}catch{}ee(B),oe(""),ie(!1),k(!1);try{M.getUIStrings?.(B,Rt)?.catch?.(()=>{})}catch{}},nr=g=>{try{M.setEntityLanguageMode?.(g)}catch{}H(g),mt&&k(!0)},Ia=()=>{try{localStorage.setItem("akropolys_terms_agreed","true")}catch{}O(!0),k(!0)},Pa=se?Sr(te||u).preparing:ae?me("langPlaceholder"):ze?me("namePlaceholder"):Te?me("entityLangPlaceholder"):De?me("termsPlaceholder"):t==="Ask me anything\u2026"?me("defaultPlaceholder"):t,Aa=!c||c===aa?[]:Array.isArray(c)?c:[],_a=ae?"curious":ze?"welcoming":Te?"guiding":De?"focused":"happy",[ar,Fa]=Be(()=>hs(i)),[Hc,Wo]=Be(!1),un=nt(null);Lt(()=>()=>{un.current&&clearTimeout(un.current)},[]);let Oo=nt(null),Bc=()=>{let g=kn.current;if(!g?.animate||window.matchMedia?.("(prefers-reduced-motion: reduce)").matches)return;let B=xe?-3:3;Oo.current?.cancel(),Oo.current=g.animate([{transform:"translate(0, 0)",easing:"cubic-bezier(.3, 0, .2, 1)"},{offset:.26,transform:`translate(${B}px, -6px)`,easing:"cubic-bezier(.45, 0, .35, 1)"},{offset:.52,transform:`translate(${-B*.3}px, 1.6px)`,easing:"cubic-bezier(.45, 0, .35, 1)"},{offset:.74,transform:`translate(${B*.1}px, -0.6px)`,easing:"cubic-bezier(.45, 0, .55, 1)"},{transform:"translate(0, 0)"}],{duration:1100,delay:380})},Go=nt(!1);Lt(()=>{if(Go.current)return;let g=kn.current;if(!g){oo();return}let B=!1,de=()=>g.querySelector(".hsk-cb-hello-wrap, .hsk-cb-msg-group"),Me=()=>{B||(B=!0,Go.current=!0,Ce.disconnect(),clearTimeout(He),oo())},Ce=new MutationObserver(()=>{de()&&Me()});Ce.observe(g,{childList:!0,subtree:!0});let He=window.setTimeout(Me,2e3);return de()&&Me(),()=>{B=!0,Ce.disconnect(),clearTimeout(He)}},[]);let jo=(g,B=!1)=>{Wo(!0),un.current&&clearTimeout(un.current),un.current=setTimeout(()=>Wo(!1),420),Fa(g),Bc(),B&&$a();try{localStorage.setItem("akropolys_theme",g)}catch{}},{vars:$c}=ls(i),Dr=ar;ms(i);let Yo=nt(()=>{}),Kt=nt(null),or=async(g,B,de,Me)=>{let Ce=(g??ut).trim(),He=B??Ut;if(!Ce&&He.length===0||!K||I)return;if(Dt("send"),ze){if(!Ce)return;let qe=Js(Ce)||Ce.slice(0,40);try{M.setShopperName?.(qe)}catch{}C(qe),Ze("");return}if(ae){if(!Ce||ce)return;Ze(""),fr(Ce);return}if(Vt){Ze("");return}Nt(!1),it(!1),Ze(""),Mt([]);let Le=(await Promise.all(He.map(async({thumb:qe,...At})=>{let Br=At.data||(qe?await be.current.get(qe)?.catch(()=>""):"")||"";return qe&&URL.revokeObjectURL(qe),{...At,data:Br}}))).filter(qe=>qe.data),bt=Ce||(Le.some(qe=>qe.type==="image")?"Analyze this image":"What is this?");await F(bt,Ce,Le.length>0?Le:void 0,de,Me)},[qc,Vo]=Be(!1),Wn=St(async g=>{let B=g&&g.role==="user"?g:[...T].reverse().find(de=>de.role==="user");if(B?.content){Vo(!0);try{await or(B.content)}finally{Vo(!1)}}},[T,or]),Uc=St(g=>{g?.content&&(Ze(g.content),setTimeout(()=>{if(Kt.current){Kt.current.focus();let B=g.content.length;try{Kt.current.setSelectionRange(B,B)}catch{}}},50))},[Ze,Kt]),Wc=St(async()=>{await Wn()},[Wn]),{keyInput:Oc,setKeyInput:Gc,keyPhase:jc,setKeyPhase:Ko,mintedKey:Yc,setMintedKey:Vc,mintedPub:Qd,setMintedPub:Kc,copied:Xc,keyCountdown:Qc,minting:Jc,copyValue:Zc,handleUseExistingKey:el,handleCreateKey:tl}=ui($,Wc),Xo=St(()=>{let g=M?.getKikuKey?.();g&&window.open(`https://mimi.akropolys.cloud/#k=${encodeURIComponent(g)}`,"_blank","noopener")},[M]),[mn,Qo]=Be(null),rl=St((g,B,de,Me)=>{Qo({msg:g,rect:B,isUser:de,el:Me})},[]),nl=St(async g=>{let B=(g.content||"").replace(/^(@kiku pin\s*)+/i,""),Me=`@kiku pin ${B.slice(0,50).replace(/\n+/g," ")}`;await F(B||"pin message",Me,void 0,"capture")},[F]),{handleKikuCapture:al,handleKikuCaptureAll:ol,handleKikuViewHistory:sl,handleKikuDelete:il}=mi({attachments:Ut,setAttachments:Mt,setInput:Ze,send:F,t:me}),{voiceMode:Jo,voicePhase:Zo,voiceConnecting:cl,voiceError:Da,setVoiceError:es,voiceMuted:ll,setVoiceMuted:hl,voiceSecondsLeft:pl,voiceBlocked:dl,liveVoiceName:ul,chooseVoice:ml,canConverse:bl,startVoice:kl,stopVoice:fl,voice:gl,live:ts,earlier:xl,newVoiceChat:vl,attachPhoto:yl}=_i({voiceLang:p,speechLang:Ie,shopperLanguage:u,ttsVoice:m,messages:T,handleSendUtterance:g=>Yo.current(g),appendSpokenExchange:_}),On=nt(null),[sr,Gn]=Be(!1),[wl,Cl]=Be(null),jn=nt(null),Ha=nt(null),rs=nt([]),bn=nt(null),Sl=`hsk-goo-${qd()}`,{closing:Ba,requestClose:ns,closeNow:$a}=In(Fr?Yd:jd,()=>Gn(!1));Lt(()=>{if(!sr)return;let g=B=>{let de=B.composedPath?B.composedPath():[],Me=jn.current&&(de.includes(jn.current)||jn.current.contains(B.target)),Ce=Ha.current&&(de.includes(Ha.current)||Ha.current.contains(B.target)),He=B.target,Le=He?.closest?.(".hsk-cb-topbar-mark"),bt=He?.closest?.(".hsk-cb-topbar-ooze-menu")||de.some(qe=>qe?.classList?.contains?.("hsk-cb-topbar-ooze-menu"));Me||Ce||Le||bt||ns()};return document.addEventListener("mousedown",g),document.addEventListener("touchstart",g,{passive:!0}),()=>{document.removeEventListener("mousedown",g),document.removeEventListener("touchstart",g)}},[sr]);let{msgsContainerRef:kn,spacerRef:Ml,lastExternalScrollRef:Tl,showJumpToBottom:Rl,scrollProgress:zl,activeMsgIdx:El,unreadBelow:Ll,jumpToMessage:Nl,jumpToBottom:Il}=li({messages:T,loading:L,streaming:z,messageRefs:rs}),{closing:Pl,requestClose:as}=In(Vd,o),qa=St(g=>{g&&W(),Gn(!1),window.matchMedia?.("(prefers-reduced-motion: reduce)").matches?o():as()},[as,o,W]),Yn=St(()=>{w?Y():D?E("close"):qa(!1)},[D,qa,w,Y]);Is({panel:St(()=>On.current,[]),scroller:St(()=>kn.current,[]),onDismiss:o,quiescent:St(()=>performance.now()-Tl.current>90,[])}),Lt(()=>{if(typeof window>"u")return;let g=window.innerWidth-document.documentElement.clientWidth,B=document.body.style.overflow,de=document.body.style.paddingRight;if(g>0){let Me=parseFloat(window.getComputedStyle(document.body).paddingRight)||0;document.body.style.paddingRight=`${Me+g}px`,document.documentElement.style.setProperty("--hsk-scrollbar-width",`${g}px`)}return document.body.style.overflow="hidden",()=>{document.body.style.overflow=B,document.body.style.paddingRight=de,document.documentElement.style.removeProperty("--hsk-scrollbar-width")}},[]),Lt(()=>{let g=window.visualViewport;if(!g)return;let B=document.documentElement,de=()=>{B.style.setProperty("--hsk-vvh",`${g.height}px`)};return de(),g.addEventListener("resize",de),g.addEventListener("scroll",de),()=>{g.removeEventListener("resize",de),g.removeEventListener("scroll",de),B.style.removeProperty("--hsk-vvh")}},[]),Lt(()=>{let g=B=>{if(B.key==="Escape"){if(ot){ft(null);return}Yn()}};return document.addEventListener("keydown",g),()=>document.removeEventListener("keydown",g)},[ot,Yn]);let Ua=St(g=>{g&&W(),he(),Ko("idle")},[he,Ko,W]),Al=St(()=>{w?Y():D?E("reset"):Ua(!1)},[D,Ua,w,Y]),_l=g=>{s?.(g);let B=[...T].reverse().find(de=>de.role==="assistant");if(B&&B.content.trim().endsWith("?")){F(me("cardClickAnswer",{name:g.name}));return}F(me("cardClickQuery",{name:g.name,details:Ga(ir(g,b))}))},Fl=g=>{Ze(g+" "),it(!1),Nt(!0),Kt.current&&Kt.current.focus()},Dl=g=>{if(g.key==="Escape"&&rr){g.preventDefault(),Nt(!1);return}if(g.key==="Escape"&&Yt){g.preventDefault(),it(!1);return}g.key==="Enter"&&!g.shiftKey&&!g.nativeEvent.isComposing&&(g.preventDefault(),or())},Wa=nt(28),os=nt(280),Oa=nt(null),Hl=(g,B)=>{try{!Oa.current&&typeof document<"u"&&(Oa.current=document.createElement("canvas"));let de=Oa.current?.getContext("2d");return de?(de.font=B,de.measureText(g).width):g.length*8.5}catch{return g.length*8.5}},Bl=g=>{let B=g.closest(".hsk-cb-input-box");if(!B)return;let de=g.value;!(B.dataset.expanded==="true")&&g.clientWidth>50&&(os.current=g.clientWidth);let Ce=window.getComputedStyle(g),He=Ce.font||`${Ce.fontSize||"16px"} ${Ce.fontFamily||"Geist, sans-serif"}`,Le=Hl(de,He),bt=Math.max(120,os.current-14),qe=de.includes(`
|
|
38
|
-
`),At=!!(de&&(qe||Le>bt));if(B.dataset.expanded!==(At?"true":"false")&&(B.dataset.expanded=At?"true":"false"),!de){Wa.current=28,g.style.height="";return}if(!At){Wa.current=28,g.style.height="";return}g.style.height="auto";let Br=Math.max(28,Math.min(g.scrollHeight,140));Wa.current=Br,g.style.height=`${Br}px`};Lt(()=>{Kt.current&&Bl(Kt.current)},[ut]);let $l=g=>{let B=g.target.value;Ze(B),Da&&es("");let de=B.trim();it(de==="@"),Nt(/^@kiku\s*$/i.test(de))};Lt(()=>{Yo.current=g=>{or(g)}});let ql=async g=>{if(!g||g.length===0)return;let B=Array.from(g);for(let de of B){if(!de.type.startsWith("image/"))continue;let Me=URL.createObjectURL(de),Ce=ea(de);be.current.set(Me,Ce),Mt(He=>[...He,{type:"image",data:"",thumb:Me}]),Ce.then(He=>Mt(Le=>Le.map(bt=>bt.thumb===Me?{...bt,data:He}:bt))).catch(()=>Mt(He=>He.filter(Le=>Le.thumb!==Me))).finally(()=>be.current.delete(Me))}},Ul=g=>{Mt(B=>{let de=B[g]?.thumb;return de&&URL.revokeObjectURL(de),B.filter((Me,Ce)=>Ce!==g)})},Wl=r&&(r.includes("rgba")||r.includes("hsla")||r==="transparent"),Ol=a||Wl?{backdropFilter:`blur(${typeof a=="number"?`${a}px`:a||"20px"})`,WebkitBackdropFilter:`blur(${typeof a=="number"?`${a}px`:a||"20px"})`}:{},ss=nt(!1);Lt(()=>{if(ss.current&&!z){let g=T[T.length-1];g&&g.role!=="user"&&Dt("reply")}ss.current=z},[z,T]);let is=(ke||ue)&&!L&&!z,Vn=T[T.length-1],Kn=pi(Vn?.role==="assistant"?Vn.content??"":""),Gl=Vn?.role==="assistant"&&Kn.length<(Vn.content?.length??0),jl=z||Gl,Hr=$n.useMemo(()=>{let g=L||z,B=T.filter((Ce,He)=>Ce.role!=="assistant"||He===T.length-1&&g?!0:!!Ce.content||!!Ce.visualization||Ce.visualizing||(Ce.knowledgeImages?.length??0)>0||(Ce.referencedIds?.length??0)>0||Nn(Ce.statusStage)),de=B.length-1;if(de<0||B[de].role!=="assistant"||B[de]!==T[T.length-1])return B;let Me=Kn.length<(B[de].content?.length??0);return!g&&!Me?B:B.map((Ce,He)=>He===de?{...Ce,content:Kn}:Ce)},[T,L,z,Kn]),Yl=$n.useMemo(()=>{let g=[];return Hr.forEach((B,de)=>{if(B.role==="user"&&B.content.trim()){let Me=B.content.replace(/^@kiku\s*/i,"").replace(/\s+/g," ").trim();g.push({idx:de,text:Me.length>28?Me.slice(0,27).trimEnd()+"\u2026":Me})}}),g},[Hr]),Vl=is&&Hr[Hr.length-1]?.role!=="assistant",cs=nt(Date.now());return Lt(()=>{cs.current=Date.now()},[]),$e(io.Provider,{value:me,children:$e("div",{ref:bn,className:le("hsk-cb-overlay",f&&"hsk-cb-overlay--grows",Pl&&"hsk-cb-overlay--closing",l.overlay),onPointerDown:g=>{Xn(),g.target===g.currentTarget&&(bn.current._ptrDown=!0)},onClick:g=>{g.target===g.currentTarget&&bn.current?._ptrDown&&Date.now()-cs.current>200&&Yn(),bn.current&&(bn.current._ptrDown=!1)},"data-hsk-theme":Dr,"data-hsk-theming":Hc?"":void 0,style:{...Ol,...r?{background:r}:{},...f?{"--hsk-ox":`${f.x}px`,"--hsk-oy":`${f.y}px`}:{},...$c},children:br("div",{ref:On,className:le("hsk-cb-panel",l.panel),dir:xe?"rtl":"ltr",lang:Ie||void 0,"data-script":Se?"nonlatin":"latin","data-host-font":Pe?"covers":"gap","data-nastaliq":Ae?.family==="Noto Nastaliq Urdu"||u?.toLowerCase()==="urdu"||u?.toLowerCase()==="ur"||u==="\u0627\u0631\u062F\u0648"?"true":void 0,style:ge?{"--hsk-font":ge}:void 0,onClick:g=>{g.stopPropagation();let B=g.target;if(B.tagName==="IMG"&&(B.classList.contains("hsk-markdown-img")||B.classList.contains("hsk-cb-user-img-thumb"))){let de=B.src;de&&Pt(de)}},children:[$e(Dn,{src:ot?.src,images:ot?.images,initialIndex:ot?.initialIndex,title:ot?.title,onClose:()=>ft(null)}),It&&$e("div",{className:"hsk-markup-overlay",children:$e(Ds,{src:It,t:me,onCancel:()=>et(null),onSend:(g,B,de,Me)=>{et(null),or(B,[{type:"image",data:g,annotated:!0,marks:de,instructed:!0,preview:Me}])}})}),br("div",{className:"hsk-cb-main",children:[$e(ra,{seed:M?.api?.siteId??"",theme:Dr,dir:xe?"rtl":"ltr",waitForContent:!0}),$e(ji,{title:e,logo:n,hasMessages:T.length>0,avatarState:z?"speaking":L?"thinking":"idle",unread:Ll,awayFromBottom:Rl,themeMenuOpen:sr,themeMenuClosing:Ba,onThemeMenuClosed:$a,isNarrow:Fr,currentTheme:ar,onJumpToLatest:Il,onReset:Al,onClose:Yn,onToggleThemeMenu:()=>sr?ns():Gn(!0),onSelectTheme:g=>{jo(g,!0)},themeAttr:Dr}),$e("div",{className:"hsk-cb-msgs",ref:kn,children:Hr.length===0?$e(Zi,{theme:Dr,inOnboarding:lt,justCompleted:v,onboardingMood:_a,awaitingLang:ae,awaitingName:ze,awaitingEntityLang:Te,awaitingConsent:De,termsAgreed:mt,shopperLanguage:u,pendingLanguage:te,shopperName:S,entityLangPref:j,chromeReady:K&&Q,activeChips:Aa,speechLang:Ie,t:me,tNode:at,chooseLanguage:fr,langSwitching:ce,isLangPreparing:se,onPrewarmLanguage:g=>sa(M,g,Rt),chooseEntityLang:nr,agreeTerms:Ia,handleSend:or}):$e(wc,{doodleTheme:Dr,displayMessages:Hr,messageRefs:rs,isNarrow:Fr,loading:L,streaming:jl,sources:x,referencedIds:X,discussedSources:Xe,lastIntent:R,lastAction:$,stopped:ke,interrupted:ue,halted:is,haltedEmpty:Vl,error:y,errorCode:A,keyPhase:jc,keyInput:Oc,setKeyInput:Gc,mintedKey:Yc,setMintedKey:Vc,setMintedPub:Kc,minting:Jc,copied:Xc,keyCountdown:Qc,handleUseExistingKey:el,handleCreateKey:tl,copyValue:Zc,queuedMessage:I,sendQueuedNow:G,setLightboxSrc:Pt,setMarkupSrc:et,handleSend:or,handleSourceClick:_l,onRetry:Wn,onEdit:Uc,onLongPress:rl,retrying:qc,continueGenerating:V,t:me,spacerRef:Ml,vizState:Tt,setVizState:vt,messages:T})}),!qn&&$e("div",{className:le("hsk-cb-composer-wrapper",Un&&"hsk-composer-exit-up",Ee&&"hsk-composer-reveal"),children:$e(Tc,{notice:w&&br("div",{className:"hsk-cb-leave",role:"alertdialog",ref:N,children:[$e("span",{children:me("leaveHumanWarning")}),$e("button",{type:"button",className:"hsk-cb-leave-btn",onClick:()=>E(null),children:me("leaveHumanStay")}),$e("button",{type:"button",className:"hsk-cb-leave-btn hsk-cb-leave-btn--end",onClick:()=>{let g=w;E(null),g==="reset"?Ua(!0):qa(!0)},children:me("leaveHumanConfirm")})]}),gooId:Sl,input:ut,setInput:Ze,showKikuPicker:rr,setShowKikuPicker:Nt,showAtPicker:Yt,setShowAtPicker:it,captureAllowed:xt,discussedSources:Xe,handleSelectExtension:Fl,handleKikuCapture:al,handleKikuCaptureAll:ol,handleKikuViewHistory:sl,handleKikuDelete:il,attachments:Ut,removeAttachment:Ul,chromeLoading:!K,imageInputRef:ct,handleImageFiles:ql,enableVision:d&&!lt,enableVoice:h&&!lt,canConverse:bl,startVoice:kl,inputLocked:Vt,voiceBlocked:dl,textareaRef:Kt,classNames:l,handleInput:$l,handleKeyDown:Dl,voice:gl,voicePhase:Zo,activePlaceholder:Pa,loading:L,streaming:z,stop:ne,handleSend:or,voiceError:Da,setVoiceError:es,langSwitching:ce||se,t:me,onOpenMimi:M?.getKikuKey?.()?Xo:void 0})})]}),Jo!=="converse"&&$e(Pc,{items:Yl,activeIdx:El,progress:zl,onJump:Nl,side:xe?"left":"right"}),br("div",{className:le("hsk-cb-kiku-id-rail",xe?"hsk-cb-kiku-id-rail--right":"hsk-cb-kiku-id-rail--left"),children:[$e("div",{className:"hsk-cb-dock-frost","aria-hidden":"true"}),$e(ka,{}),br("div",{className:le("hsk-cb-theme-squircle-wrap",sr&&!Ba&&"is-open"),ref:jn,children:[$e("div",{className:"hsk-cb-theme-2x2-grid",role:"dialog","aria-label":"Theme selector",ref:g=>{g&&(g.inert=!sr||Ba)},children:Wr.map(({id:g,label:B,Icon:de})=>br("button",{type:"button",className:le("hsk-cb-theme-grid-item",(wl??ar)===g&&"is-active"),onClick:Me=>{Me.stopPropagation(),jo(g,!0)},children:[$e(de,{}),$e("span",{children:B})]},g))}),br("button",{type:"button",className:"hsk-cb-theme-squircle-trigger",onClick:()=>{if(sr){$a();return}Cl(ar),Gn(!0)},"aria-label":"Themes","aria-expanded":sr,children:[$e("span",{className:"hsk-cb-theme-trigger-icon",children:$n.createElement(Qa(ar).Icon)}),$e("span",{className:"hsk-cb-theme-trigger-label",children:Qa(ar).label})]})]}),M?.getKikuKey?.()&&br("button",{type:"button",className:"hsk-cb-sound-pill",onClick:Xo,children:[$e(Jn,{size:13}),$e("span",{children:"MiMi"})]})]}),Jo==="converse"&&$e(Lc,{siteId:M?.api?.siteId??"",themeAttr:Dr,stopVoice:fl,chooseVoice:ml,liveVoiceName:ul,voiceSecondsLeft:pl,voiceConnecting:cl,voicePhase:Zo,live:ts,earlier:xl,newVoiceChat:vl,voiceMuted:ll,setVoiceMuted:hl,voiceError:Da,attachPhoto:yl,onSelectSource:g=>{s?.(g),ts.ask(me("cardClickQuery",{name:g.name,details:Ga(ir(g,b))}))},t:me}),mn&&$e(Ac,{msg:mn.msg,rect:mn.rect,anchorEl:mn.el,containerEl:On.current,containerRect:On.current?.getBoundingClientRect(),isUser:mn.isUser,isRTL:xe,canRetry:!L&&!z,onPin:nl,onRetry:Wn,onCopy:async g=>{if(!g)return!1;try{return await navigator.clipboard.writeText(g),!0}catch{}try{let B=document.createElement("textarea");B.value=g,B.setAttribute("readonly",""),B.style.cssText="position:fixed;top:0;left:0;opacity:0;pointer-events:none",document.body.appendChild(B),B.select(),B.setSelectionRange(0,g.length);let de=document.execCommand("copy");return document.body.removeChild(B),de}catch{return!1}},onClose:()=>Qo(null),t:me})]})})})}var Uo='@property --hsk-chat-bg{syntax: "<color>"; inherits: true; initial-value: #0a0a0a;}@property --hsk-chat-text{syntax: "<color>"; inherits: true; initial-value: #f0efed;}@property --hsk-chat-muted{syntax: "<color>"; inherits: true; initial-value: #888888;}@property --hsk-chat-divide{syntax: "<color>"; inherits: true; initial-value: rgba(255,255,255,.08);}@property --hsk-chat-input-bg{syntax: "<color>"; inherits: true; initial-value: #191919;}@property --hsk-chat-source-bg{syntax: "<color>"; inherits: true; initial-value: rgba(255,255,255,.04);}@property --hsk-fade-bg{syntax: "<color>"; inherits: true; initial-value: #0a0a0a;}@property --hsk-surface-1{syntax: "<color>"; inherits: true; initial-value: rgba(255,255,255,.06);}@property --hsk-surface-2{syntax: "<color>"; inherits: true; initial-value: #1f1f22;}@property --hsk-bubble-bg{syntax: "<color>"; inherits: true; initial-value: #1f1f22;}@property --hsk-think-text{syntax: "<color>"; inherits: true; initial-value: #a6a6a6;}@property --hsk-placeholder{syntax: "<color>"; inherits: true; initial-value: #555555;}@property --hsk-grid-bg{syntax: "<color>"; inherits: true; initial-value: #1a1a1c;}@property --hsk-active-bg{syntax: "<color>"; inherits: true; initial-value: #f0efed;}@property --hsk-on-active{syntax: "<color>"; inherits: true; initial-value: #0a0a0a;}@property --hsk-src-title{syntax: "<color>"; inherits: true; initial-value: #f9fafb;}@property --hsk-src-desc{syntax: "<color>"; inherits: true; initial-value: #9ca3af;}@property --hsk-price-bg{syntax: "<color>"; inherits: true; initial-value: rgba(255,255,255,.08);}@property --hsk-price-text{syntax: "<color>"; inherits: true; initial-value: #ff7a45;}@property --hsk-sheet-bg{syntax: "<color>"; inherits: true; initial-value: #1f1f22;}@property --hsk-primary{syntax: "<color>"; inherits: true; initial-value: #ff6a33;}@property --hsk-pill-bg{syntax: "<color>"; inherits: true; initial-value: rgba(255,255,255,.06);}@property --hsk-glass-bg{syntax: "<color>"; inherits: true; initial-value: rgba(255,255,255,.07);}@property --hsk-glass-edge{syntax: "<color>"; inherits: true; initial-value: transparent;}@property --hsk-glass-edge-top{syntax: "<color>"; inherits: true; initial-value: transparent;}@property --hsk-glass-drop{syntax: "<color>"; inherits: true; initial-value: transparent;}@property --hsk-glass-sheen{syntax: "<color>"; inherits: true; initial-value: transparent;}[data-hsk-theme]{transition:--hsk-chat-bg .36s cubic-bezier(.4,0,.2,1),--hsk-chat-text .36s cubic-bezier(.4,0,.2,1),--hsk-chat-muted .36s cubic-bezier(.4,0,.2,1),--hsk-chat-divide .36s cubic-bezier(.4,0,.2,1),--hsk-chat-input-bg .36s cubic-bezier(.4,0,.2,1),--hsk-chat-source-bg .36s cubic-bezier(.4,0,.2,1),--hsk-fade-bg .36s cubic-bezier(.4,0,.2,1),--hsk-surface-1 .36s cubic-bezier(.4,0,.2,1),--hsk-surface-2 .36s cubic-bezier(.4,0,.2,1),--hsk-bubble-bg .36s cubic-bezier(.4,0,.2,1),--hsk-think-text .36s cubic-bezier(.4,0,.2,1),--hsk-placeholder .36s cubic-bezier(.4,0,.2,1),--hsk-grid-bg .36s cubic-bezier(.4,0,.2,1),--hsk-active-bg .36s cubic-bezier(.4,0,.2,1),--hsk-on-active .36s cubic-bezier(.4,0,.2,1),--hsk-src-title .36s cubic-bezier(.4,0,.2,1),--hsk-src-desc .36s cubic-bezier(.4,0,.2,1),--hsk-price-bg .36s cubic-bezier(.4,0,.2,1),--hsk-price-text .36s cubic-bezier(.4,0,.2,1),--hsk-sheet-bg .36s cubic-bezier(.4,0,.2,1),--hsk-primary .36s cubic-bezier(.4,0,.2,1),--hsk-pill-bg .36s cubic-bezier(.4,0,.2,1),--hsk-glass-bg .36s cubic-bezier(.4,0,.2,1),--hsk-glass-edge .36s cubic-bezier(.4,0,.2,1),--hsk-glass-edge-top .36s cubic-bezier(.4,0,.2,1),--hsk-glass-drop .36s cubic-bezier(.4,0,.2,1),--hsk-glass-sheen .36s cubic-bezier(.4,0,.2,1)}[data-hsk-theming] *,[data-hsk-theming] *:before,[data-hsk-theming] *:after{transition-property:transform,opacity!important}[data-hsk-theming] .hsk-cb-theme-squircle-wrap{transition-property:width,height,border-radius!important}[data-hsk-theming] .hsk-cb-theme-squircle-wrap>.hsk-cb-theme-squircle-trigger{transition-property:height,opacity!important}@media(prefers-reduced-motion:reduce){[data-hsk-theme]{transition:none}}:host,:root{--hsk-border-radius: 0px;--hsk-brand-green: #2D7A4B;--hsk-font: "Geist", "Inter", -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--hsk-default-font-size: 15px}.hsk-cb-btn,.hsk-cb-close,.hsk-cb-topbar-btn,.hsk-cb-chip,.hsk-cb-source,.hsk-cb-sources-next,.hsk-action-pill,.hsk-chat-send,.hsk-chat-reset,.hsk-close-btn,.hsk-cb-overlay{--hsk-font-size: 16px;touch-action:manipulation;-webkit-tap-highlight-color:transparent;font-family:var(--hsk-font)}.hsk-cb-overlay{transition:--hsk-chat-bg .45s cubic-bezier(.16,1,.3,1),--hsk-chat-text .45s cubic-bezier(.16,1,.3,1),--hsk-chat-muted .45s cubic-bezier(.16,1,.3,1),--hsk-chat-divide .45s cubic-bezier(.16,1,.3,1),--hsk-chat-input-bg .45s cubic-bezier(.16,1,.3,1),--hsk-surface-1 .45s cubic-bezier(.16,1,.3,1),--hsk-surface-2 .45s cubic-bezier(.16,1,.3,1),--hsk-bubble-bg .45s cubic-bezier(.16,1,.3,1),--hsk-primary .45s cubic-bezier(.16,1,.3,1),--hsk-grid-bg .45s cubic-bezier(.16,1,.3,1),--hsk-active-bg .45s cubic-bezier(.16,1,.3,1),--hsk-on-active .45s cubic-bezier(.16,1,.3,1),--hsk-src-title .45s cubic-bezier(.16,1,.3,1),--hsk-src-desc .45s cubic-bezier(.16,1,.3,1),--hsk-price-bg .45s cubic-bezier(.16,1,.3,1),--hsk-price-text .45s cubic-bezier(.16,1,.3,1),--hsk-sheet-bg .45s cubic-bezier(.16,1,.3,1),--hsk-pill-bg .45s cubic-bezier(.16,1,.3,1),--hsk-glass-bg .45s cubic-bezier(.16,1,.3,1),--hsk-glass-edge .45s cubic-bezier(.16,1,.3,1),--hsk-glass-edge-top .45s cubic-bezier(.16,1,.3,1),--hsk-glass-drop .45s cubic-bezier(.16,1,.3,1),--hsk-glass-sheen .45s cubic-bezier(.16,1,.3,1),--hsk-fade-bg .45s cubic-bezier(.16,1,.3,1),--hsk-chat-source-bg .45s cubic-bezier(.16,1,.3,1),--hsk-think-text .45s cubic-bezier(.16,1,.3,1),--hsk-placeholder .45s cubic-bezier(.16,1,.3,1),background-color .45s cubic-bezier(.16,1,.3,1),border-color .45s cubic-bezier(.16,1,.3,1),color .45s cubic-bezier(.16,1,.3,1),fill .45s cubic-bezier(.16,1,.3,1),stroke .45s cubic-bezier(.16,1,.3,1),box-shadow .45s cubic-bezier(.16,1,.3,1)}.hsk-cb-overlay{--hsk-glass-border: 1px solid var(--hsk-glass-edge);--hsk-glass-border-top: 1px solid var(--hsk-glass-edge-top);--hsk-glass-shadow: 0 12px 32px -4px var(--hsk-glass-drop), 0 1px 0 0 var(--hsk-glass-sheen) inset}.hsk-kiku-avatar,.hsk-kiku-avatar *{transition:none}@media(prefers-reduced-motion:reduce){.hsk-cb-overlay,.hsk-cb-overlay *,.hsk-cb-overlay *:before,.hsk-cb-overlay *:after{transition:none}}.hsk-cb-overlay button,.hsk-cb-overlay [role=button],.hsk-cb-overlay input,.hsk-cb-overlay textarea,.hsk-cb-overlay select,.hsk-chat button,.hsk-chat [role=button],.hsk-chat input,.hsk-chat textarea,.hsk-chat select,.hsk-cb-btn,.hsk-search button,.hsk-search [role=button],.hsk-search input,.hsk-search textarea,.hsk-search select{touch-action:manipulation;-webkit-tap-highlight-color:transparent;font-family:var(--hsk-font)}:host,:root,.hsk-cb-btn,.hsk-cb-overlay,.hsk-chat-widget{--hsk-marble-1: color-mix(in srgb, var(--hsk-primary, #ff6a33) 12%, #fffaf4);--hsk-marble-2: color-mix(in srgb, var(--hsk-primary, #ff6a33) 30%, #fdf0e4);--hsk-marble-3: color-mix(in srgb, var(--hsk-primary, #ff6a33) 62%, #e8cbb0);--hsk-marble-4: color-mix(in srgb, var(--hsk-primary, #ff6a33) 85%, #6d3a1c);--hsk-marble-sheen: .5}@media(prefers-color-scheme:dark){:host,:root,.hsk-cb-btn,.hsk-cb-overlay,.hsk-chat-widget{--hsk-marble-1: #FFFDF6;--hsk-marble-2: #FBF3E2;--hsk-marble-3: color-mix(in srgb, var(--hsk-primary, #ff6a33) 20%, #EDDFC4);--hsk-marble-4: color-mix(in srgb, var(--hsk-primary, #ff6a33) 42%, #D8C39C);--hsk-marble-sheen: .9}}@keyframes hsk-pulse{0%,to{transform:scale(.8);opacity:.5}50%{transform:scale(1.2);opacity:1}}.hsk-cb-btn{--hsk-primary: var(--chat-primary-color, #ff6a33);display:inline-flex;align-items:center;gap:7px;padding:8px 16px;border-radius:var(--hsk-border-radius, 0px);border:1px solid rgba(255,106,51,.4);background:#ff6a331a;color:var(--hsk-primary);font-size:13px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s,transform .16s cubic-bezier(.34,1.56,.64,1),box-shadow .15s;will-change:transform}.hsk-cb-btn:hover{background:#ff6a332e;border-color:#ff6a33b3;box-shadow:0 4px 16px #ff6a3333}.hsk-cb-btn:active{transform:scale(.97)}.hsk-cb-topbar-mark:active .hsk-cb-topbar-name{transform:scale(.95)}.hsk-cb-btn-icon{font-size:15px;line-height:1;display:flex;align-items:center}.hsk-cb-overlay{--hsk-primary: var(--chat-primary-color, #ff6a33);--hsk-font: var(--chat-font-family, "Geist", ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);letter-spacing:normal;word-spacing:normal;font-kerning:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--hsk-font-size: var(--hsk-desktop-font-size, 15px);--hsk-mobile-font-size: 14px;position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;height:100dvh!important;z-index:2147483647!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;animation:hsk-overlay-in .2s ease-out;background:var(--hsk-chat-bg, #ffffff)!important;box-sizing:border-box!important;margin:0!important;padding:0!important}@keyframes hsk-overlay-in{0%{opacity:0}to{opacity:1}}.hsk-cb-overlay.hsk-cb-overlay--grows{animation:hsk-overlay-in .18s cubic-bezier(.16,1,.3,1) both!important}.hsk-cb-overlay.hsk-cb-overlay--grows .hsk-cb-panel{transform-origin:var(--hsk-ox, 50%) var(--hsk-oy, 50%);animation:hsk-panel-float-in .22s cubic-bezier(.16,1,.3,1) both!important}@keyframes hsk-panel-float-in{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.hsk-cb-overlay.hsk-cb-overlay--grows .hsk-cb-msgs{animation:hsk-content-fade .2s cubic-bezier(.16,1,.3,1) both}@keyframes hsk-content-fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.hsk-cb-lang-chip,.hsk-cb-chip{animation:hsk-pill-wave .22s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(.04s + var(--hsk-pill-idx, 0) * 12ms)}.hsk-cb-lang-chips-hint{animation:hsk-content-fade .22s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(.04s + var(--hsk-pill-idx, 0) * 12ms)}@keyframes hsk-pill-wave{0%{opacity:0;transform:translateY(6px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.hsk-cb-overlay.hsk-cb-overlay--grows .hsk-cb-input-wrap{animation:hsk-input-dock .22s cubic-bezier(.16,1,.3,1) backwards}@keyframes hsk-input-dock{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.hsk-cb-overlay.hsk-cb-overlay--closing{animation:hsk-overlay-out .2s cubic-bezier(.4,0,1,1) both!important;pointer-events:none}.hsk-cb-overlay.hsk-cb-overlay--closing .hsk-cb-panel{animation:hsk-panel-sink .2s cubic-bezier(.4,0,1,1) both!important}@keyframes hsk-overlay-out{0%{opacity:1}to{opacity:0}}@keyframes hsk-panel-sink{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(8px) scale(.985)}}@media(prefers-reduced-motion:reduce){.hsk-cb-overlay.hsk-cb-overlay--closing,.hsk-cb-overlay.hsk-cb-overlay--closing .hsk-cb-panel{animation:none!important}.hsk-cb-overlay.hsk-cb-overlay--grows{animation:none!important;-webkit-clip-path:none!important;clip-path:none!important}.hsk-cb-overlay.hsk-cb-overlay--grows .hsk-cb-panel,.hsk-cb-overlay.hsk-cb-overlay--grows .hsk-cb-msgs,.hsk-cb-overlay.hsk-cb-overlay--grows .hsk-cb-lang-chip,.hsk-cb-overlay.hsk-cb-overlay--grows .hsk-cb-chip,.hsk-cb-overlay.hsk-cb-overlay--grows .hsk-cb-input-wrap,.hsk-cb-overlay.hsk-cb-overlay--grows .hsk-cb-hello-avatar{animation:none!important}}.hsk-cb-panel:lang(ja){font-feature-settings:"palt";word-break:auto-phrase;line-break:strict}.hsk-cb-panel:lang(ja) p,.hsk-cb-panel:lang(ja) li{font-weight:500}.hsk-cb-panel{position:relative;display:flex;flex-direction:column;height:100%;max-width:720px;width:100%;margin:0 auto;animation:hsk-panel-in .28s cubic-bezier(.34,1.2,.64,1)}.hsk-cb-main{position:relative;flex:1;min-width:0;display:flex;flex-direction:column;height:100%;overflow:hidden}@keyframes hsk-panel-in{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.hsk-cb-topbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:14px var(--hsk-gutter, 24px) 10px;flex-shrink:0;position:relative;z-index:10;background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.hsk-cb-topbar:after{display:none!important}.hsk-cb-topbar-left{display:flex;align-items:center;gap:10px;justify-self:start;min-width:0}.hsk-cb-topbar-mark{justify-self:center;display:flex;flex-direction:column;align-items:center;line-height:0;cursor:pointer;user-select:none;touch-action:manipulation;transition:transform .22s cubic-bezier(.34,1.56,.64,1)}@media(hover:hover)and (pointer:fine){.hsk-cb-topbar-mark:hover>*{translate:0 -1px}}.hsk-cb-topbar-mark[data-unread=true] .hsk-cb-topbar-name{background:var(--hsk-primary, #ff6a33);color:#fff;box-shadow:0 0 0 3px var(--hsk-chat-bg, #ffffff);animation:hsk-unread-pill .9s cubic-bezier(.34,1.56,.64,1) infinite}@keyframes hsk-unread-pill{0%,to{transform:scale(1)}38%{transform:scale(1.08,.92)}62%{transform:scale(.97,1.03)}}@media(prefers-reduced-motion:reduce){.hsk-cb-topbar-mark[data-unread=true] .hsk-cb-topbar-name{animation:none}}.hsk-cb-topbar-name{margin-top:-5px;padding:3px 13px;white-space:nowrap;border-radius:999px;background:var(--hsk-surface-2);box-shadow:0 0 0 3px var(--hsk-chat-bg),0 1px 3px #0000001f;font-size:12px;font-weight:700;line-height:18px;letter-spacing:-.01em;color:var(--hsk-name-text, var(--hsk-chat-text));transform-origin:50% 0%;transition:transform .18s cubic-bezier(.34,1.8,.64,1)}.hsk-cb-topbar-mark{position:relative;z-index:100}.hsk-cb-topbar-ooze-menu{position:absolute;top:var(--hsk-tray-top, calc(100% + 12px) )!important;left:50%;transform:translate(-50%);width:min(300px,calc(100vw - 28px))!important;padding:var(--hsk-tray-head, 6px) 6px 6px!important;border-radius:18px;background:color-mix(in srgb,var(--hsk-chat-bg, #ffffff) 68%,transparent)!important;backdrop-filter:blur(28px) saturate(190%) contrast(102%)!important;-webkit-backdrop-filter:blur(28px) saturate(190%) contrast(102%)!important;border:1px solid color-mix(in srgb,var(--hsk-chat-border, rgba(255, 255, 255, .35)) 35%,transparent)!important;z-index:1000;transform-origin:50% 0;animation:hsk-topbar-ooze .25s cubic-bezier(.16,1,.3,1) both}.hsk-cb-topbar.is-docked{z-index:20!important}.hsk-cb-topbar-scrim{position:fixed;inset:0;z-index:999;background:color-mix(in srgb,var(--hsk-chat-bg, #fff) 30%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);mask-image:linear-gradient(to bottom,#000 40vh,rgba(0,0,0,.97) 43.5vh,rgba(0,0,0,.84) 48.75vh,rgba(0,0,0,.5) 57.5vh,rgba(0,0,0,.16) 66.25vh,rgba(0,0,0,.03) 71.5vh,transparent 75vh);-webkit-mask-image:linear-gradient(to bottom,#000 40vh,rgba(0,0,0,.97) 43.5vh,rgba(0,0,0,.84) 48.75vh,rgba(0,0,0,.5) 57.5vh,rgba(0,0,0,.16) 66.25vh,rgba(0,0,0,.03) 71.5vh,transparent 75vh);animation:hsk-scrim-in .25s cubic-bezier(.16,1,.3,1) both}.hsk-cb-topbar-scrim.is-closing{animation:hsk-scrim-out .18s cubic-bezier(.4,0,1,1) both}.hsk-cb-topbar-mark.is-oozing{position:relative;z-index:1001}@keyframes hsk-scrim-in{0%{opacity:0}to{opacity:1}}@keyframes hsk-scrim-out{0%{opacity:1}to{opacity:0}}.hsk-cb-topbar-ooze-menu.is-closing{animation:hsk-topbar-ooze-out .18s cubic-bezier(.4,0,1,1) both;pointer-events:none}@keyframes hsk-topbar-ooze-out{0%{opacity:1;transform:translate(-50%) scale(1)}to{opacity:0;transform:translate(-50%) scale(.96)}}@media(prefers-reduced-motion:reduce){.hsk-cb-topbar-scrim,.hsk-cb-topbar-scrim.is-closing,.hsk-cb-topbar-ooze-menu.is-closing{animation:none}}.hsk-cb-topbar-ooze-menu .hsk-cb-theme-grid-item{width:max-content;max-width:100%}.hsk-cb-topbar-ooze-menu .hsk-cb-theme-block{display:flex;align-items:stretch;gap:8px;padding:6px 7px 0}.hsk-cb-topbar-ooze-menu .hsk-cb-theme-vlabel{flex:0 0 auto;align-self:center;writing-mode:vertical-rl;transform:rotate(180deg);font-size:8px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--hsk-chat-muted);opacity:.38;user-select:none}.hsk-cb-topbar-ooze-menu .hsk-cb-theme-2x2-grid{display:flex!important;flex-wrap:wrap!important;justify-content:flex-start!important;gap:6px!important;width:100%!important;max-width:100%!important;min-width:0!important;padding:0!important;box-sizing:border-box!important;margin-top:0!important;background:none!important;border:none!important;border-radius:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.hsk-cb-topbar-ooze-menu .hsk-cb-theme-grid-item{width:max-content;max-width:100%;height:34px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 12px;border-radius:999px;border:1px solid color-mix(in srgb,var(--hsk-chat-border, rgba(255, 255, 255, .4)) 22%,transparent)!important;background:color-mix(in srgb,var(--hsk-chat-bg, #ffffff) 34%,transparent)!important;color:var(--hsk-chat-muted, #71717a);font-size:11.5px;font-weight:600;box-sizing:border-box;white-space:nowrap;cursor:pointer;transition:background-color .16s cubic-bezier(.16,1,.3,1),color .16s cubic-bezier(.16,1,.3,1),border-color .16s cubic-bezier(.16,1,.3,1),box-shadow .16s cubic-bezier(.16,1,.3,1),transform .16s cubic-bezier(.16,1,.3,1)}.hsk-cb-topbar-ooze-menu .hsk-cb-theme-grid-item svg{flex-shrink:0;width:12px;height:12px}.hsk-cb-topbar-ooze-menu .hsk-cb-theme-grid-item:hover{color:var(--hsk-chat-text, currentColor)!important;transform:translateY(-1px)}.hsk-cb-topbar-ooze-menu .hsk-cb-theme-grid-item.is-active{background:var(--hsk-primary, #ff6a33)!important;color:#fff!important;border-color:var(--hsk-primary, #ff6a33)!important;box-shadow:0 3px 12px color-mix(in srgb,var(--hsk-primary, #ff6a33) 35%,transparent)!important}@keyframes hsk-topbar-ooze{0%{opacity:0;transform:translate(-50%) translateY(-6px) scale(.94)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}.hsk-cb-topbar-mark[data-impacting=true] .hsk-cb-topbar-name{transform:translateY(1.5px) scale(1.09,.91);box-shadow:0 0 0 3px var(--hsk-chat-bg, #ffffff),0 2px 10px var(--hsk-contact-glow, rgba(19, 78, 61, .45))}.hsk-cb-back{width:34px;height:34px;border-radius:999px;border:none;padding:0;display:flex;align-items:center;justify-content:center;background:var(--hsk-surface-1);color:var(--hsk-chat-muted);cursor:pointer;transition:transform .18s cubic-bezier(.34,1.56,.64,1)}.hsk-cb-back:hover{background:var(--hsk-chat-divide, rgba(0,0,0,.09))}.hsk-cb-back:active{transform:scale(.94)}.hsk-cb-panel[dir=rtl] .hsk-cb-back-icon{display:inline-flex;transform:scaleX(-1)}.hsk-cb-topbar-actions{justify-self:end}.hsk-cb-kiku-id-rail{display:none}@media(min-width:1200px){.hsk-cb-kiku-id-rail.hsk-cb-kiku-id-rail--left{display:flex;position:absolute;inset:auto 100% 48px auto!important;margin-right:28px!important;transform:none!important;flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:8px;width:200px;max-width:200px;min-width:200px;padding:0;border:0;background:none;font-family:inherit;z-index:10}.hsk-cb-kiku-id-rail.hsk-cb-kiku-id-rail--right{display:flex;position:absolute;inset:auto auto 48px 100%!important;margin-left:28px!important;transform:none!important;flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:8px;width:200px;max-width:200px;min-width:200px;padding:0;border:0;background:none;font-family:inherit;z-index:10}.hsk-cb-dock-frost{position:absolute;inset:-100vmax;z-index:-1;pointer-events:none;background:color-mix(in srgb,var(--hsk-chat-bg, #fff) 30%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);mask-image:radial-gradient(circle at 50% 50%,#000 330px,rgba(0,0,0,.97) 369px,rgba(0,0,0,.84) 427px,rgba(0,0,0,.5) 525px,rgba(0,0,0,.16) 622px,rgba(0,0,0,.03) 681px,transparent 720px);-webkit-mask-image:radial-gradient(circle at 50% 50%,#000 330px,rgba(0,0,0,.97) 369px,rgba(0,0,0,.84) 427px,rgba(0,0,0,.5) 525px,rgba(0,0,0,.16) 622px,rgba(0,0,0,.03) 681px,transparent 720px);opacity:0;transition:opacity .2s cubic-bezier(.4,0,.9,.4)}.hsk-cb-panel[data-script=nonlatin] .hsk-cb-kiku-id-rail{bottom:50px!important}.hsk-cb-panel[data-nastaliq=true] .hsk-cb-kiku-id-rail{bottom:58px!important}.hsk-cb-kiku-id-pill{display:inline-flex;align-items:center;gap:6px;max-width:100%;height:28px;padding:0 11px;border-radius:999px;background:color-mix(in srgb,var(--hsk-chat-bg, #ffffff) 62%,transparent);backdrop-filter:blur(22px) saturate(180%);-webkit-backdrop-filter:blur(22px) saturate(180%);border:1px solid color-mix(in srgb,var(--hsk-chat-border, rgba(255, 255, 255, .35)) 30%,transparent)!important;border-top:1px solid color-mix(in srgb,var(--hsk-chat-bg, #fff) 60%,transparent)!important;border-bottom:1px solid color-mix(in srgb,#000 6%,transparent)!important;box-shadow:0 4px 14px -2px color-mix(in srgb,#000 12%,transparent),0 1px color-mix(in srgb,var(--hsk-chat-bg, #fff) 40%,transparent) inset;color:var(--hsk-chat-muted, #71717a);cursor:pointer;font-family:inherit;transition:all .2s cubic-bezier(.16,1,.3,1)}.hsk-cb-kiku-id-pill:hover{color:var(--hsk-primary, #ff6a33);background:color-mix(in srgb,var(--hsk-chat-bg, #ffffff) 80%,transparent);border-top-color:color-mix(in srgb,var(--hsk-chat-bg, #fff) 75%,transparent)!important;transform:translateY(-1px);box-shadow:0 6px 18px -2px color-mix(in srgb,#000 15%,transparent),0 1px color-mix(in srgb,var(--hsk-chat-bg, #fff) 55%,transparent) inset}.hsk-cb-kiku-id-rail-val{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;letter-spacing:-.01em;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hsk-cb-kiku-id-pill svg{flex:none;opacity:.8}.hsk-cb-theme-squircle-wrap{position:relative;display:flex;flex-direction:column;align-items:flex-start;padding:0;margin:0;border:none!important;box-shadow:none!important;background:transparent!important}.hsk-cb-theme-squircle-trigger{display:inline-flex;align-items:center;gap:7px;height:32px;padding:0 12px;border-radius:16px;background:color-mix(in srgb,var(--hsk-chat-bg, #ffffff) 65%,transparent)!important;backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border:1px solid color-mix(in srgb,var(--hsk-chat-border, rgba(255, 255, 255, .35)) 30%,transparent)!important;border-top:1px solid color-mix(in srgb,var(--hsk-chat-bg, #fff) 60%,transparent)!important;border-bottom:1px solid color-mix(in srgb,#000 6%,transparent)!important;box-shadow:0 4px 16px -2px color-mix(in srgb,#000 12%,transparent),0 1px color-mix(in srgb,var(--hsk-chat-bg, #fff) 40%,transparent) inset!important;color:var(--hsk-chat-text)!important;font-size:11.5px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .2s cubic-bezier(.16,1,.3,1)}.hsk-cb-theme-squircle-trigger:hover{background:color-mix(in srgb,var(--hsk-chat-bg, #ffffff) 80%,transparent)!important;color:var(--hsk-primary, #ff6a33)!important;border-top-color:color-mix(in srgb,var(--hsk-chat-bg, #fff) 80%,transparent)!important;transform:translateY(-1px);box-shadow:0 6px 20px -2px color-mix(in srgb,#000 16%,transparent),0 1px color-mix(in srgb,var(--hsk-chat-bg, #fff) 55%,transparent) inset!important}.hsk-cb-theme-trigger-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.hsk-cb-theme-trigger-icon svg{width:13px;height:13px}.hsk-cb-theme-trigger-label{letter-spacing:-.01em}.hsk-cb-theme-2x2-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:5px;padding:6px;width:200px;max-width:200px;min-width:200px;box-sizing:border-box;border-radius:18px;background:color-mix(in srgb,var(--hsk-chat-bg, #ffffff) 70%,transparent);backdrop-filter:blur(28px) saturate(190%) contrast(102%);-webkit-backdrop-filter:blur(28px) saturate(190%) contrast(102%);border:1px solid color-mix(in srgb,var(--hsk-chat-border, rgba(255, 255, 255, .4)) 35%,transparent);border-top:1px solid color-mix(in srgb,var(--hsk-chat-bg, #fff) 65%,transparent);border-bottom:1px solid color-mix(in srgb,#000 6%,transparent);box-shadow:0 16px 38px -6px color-mix(in srgb,#000 16%,transparent),0 0 0 1px color-mix(in srgb,var(--hsk-chat-bg, #fff) 20%,transparent) inset,0 1px color-mix(in srgb,var(--hsk-chat-bg, #fff) 50%,transparent) inset;transform-origin:bottom left;animation:hsk-theme-morph-in .26s cubic-bezier(.16,1,.3,1) both}.hsk-cb-theme-squircle-wrap.is-closing .hsk-cb-theme-2x2-grid{animation:hsk-theme-morph-out .22s cubic-bezier(.4,0,.2,1) both}.hsk-cb-theme-squircle-trigger{animation:hsk-theme-pill-in .24s cubic-bezier(.16,1,.3,1) both}.hsk-cb-theme-squircle-wrap{justify-content:flex-end;box-sizing:border-box;width:auto;height:32px;overflow:hidden;border-radius:16px;background:color-mix(in srgb,var(--hsk-chat-bg, #ffffff) 65%,transparent)!important;backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border:1px solid color-mix(in srgb,var(--hsk-chat-border, rgba(255, 255, 255, .35)) 30%,transparent)!important;border-top:1px solid color-mix(in srgb,var(--hsk-chat-bg, #fff) 60%,transparent)!important;border-bottom:1px solid color-mix(in srgb,#000 6%,transparent)!important;box-shadow:0 4px 16px -2px color-mix(in srgb,#000 12%,transparent),0 1px color-mix(in srgb,var(--hsk-chat-bg, #fff) 40%,transparent) inset!important;interpolate-size:allow-keywords;transition:width .38s cubic-bezier(.16,1,.3,1),height .38s cubic-bezier(.16,1,.3,1),border-radius .38s cubic-bezier(.16,1,.3,1)}.hsk-cb-theme-squircle-wrap.is-open{width:222px;height:auto;border-radius:18px}.hsk-cb-kiku-id-rail .hsk-cb-theme-squircle-wrap>.hsk-cb-theme-squircle-trigger,.hsk-cb-kiku-id-rail .hsk-cb-theme-squircle-wrap>.hsk-cb-theme-squircle-trigger:hover{flex:none;height:30px;background:none!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;transform:none;animation:none;transition:height .38s cubic-bezier(.16,1,.3,1),opacity .2s ease,color .2s ease}.hsk-cb-kiku-id-rail .hsk-cb-theme-squircle-wrap.is-open>.hsk-cb-theme-squircle-trigger{height:0;opacity:0;pointer-events:none}.hsk-cb-kiku-id-rail .hsk-cb-theme-squircle-wrap>.hsk-cb-theme-2x2-grid{flex:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:220px;min-width:220px;max-width:220px;margin-inline-end:-220px;background:none!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border-radius:0;animation:none;opacity:0;transition:opacity .1s ease}.hsk-cb-kiku-id-rail .hsk-cb-theme-squircle-wrap>.hsk-cb-theme-2x2-grid>.hsk-cb-theme-grid-item{width:100%;justify-content:flex-start;padding:0 10px}.hsk-cb-kiku-id-rail .hsk-cb-theme-squircle-wrap.is-open>.hsk-cb-theme-2x2-grid{opacity:1;transition:opacity .24s ease .1s}.hsk-cb-theme-grid-item{display:inline-flex;flex-direction:row;align-items:center;justify-content:center;gap:6px;height:30px;padding:0 12px;border-radius:999px;border:1px solid color-mix(in srgb,var(--hsk-chat-border, rgba(255, 255, 255, .3)) 25%,transparent)!important;border-top:1px solid color-mix(in srgb,var(--hsk-chat-bg, #fff) 45%,transparent)!important;outline:none!important;background:color-mix(in srgb,var(--hsk-chat-bg, #ffffff) 65%,transparent);color:var(--hsk-chat-text, currentColor);font-size:11px;font-weight:550;cursor:pointer;font-family:inherit;transition:all .18s cubic-bezier(.16,1,.3,1);box-shadow:0 1px 3px #0000000a,0 1px color-mix(in srgb,var(--hsk-chat-bg, #fff) 30%,transparent) inset!important;box-sizing:border-box;white-space:nowrap}.hsk-cb-theme-grid-item svg{flex-shrink:0;width:12px;height:12px}.hsk-cb-theme-grid-item:hover{background:color-mix(in srgb,var(--hsk-chat-bg, #ffffff) 85%,transparent);color:var(--hsk-chat-text, currentColor);border-top-color:color-mix(in srgb,var(--hsk-chat-bg, #fff) 70%,transparent)!important;transform:translateY(-1px);box-shadow:0 3px 8px #00000014,0 1px color-mix(in srgb,var(--hsk-chat-bg, #fff) 45%,transparent) inset!important}.hsk-cb-theme-grid-item.is-active{background:var(--hsk-primary, #ff6a33)!important;border-color:var(--hsk-primary, #ff6a33)!important;color:#fff!important;box-shadow:0 2px 10px color-mix(in srgb,var(--hsk-primary, #ff6a33) 38%,transparent),0 1px color-mix(in srgb,var(--hsk-chat-bg, #fff) 40%,transparent) inset!important}}.hsk-cb-topbar-actions{display:flex;align-items:center;gap:8px}.hsk-cb-topbar-btn{height:34px;padding:0 14px;border-radius:var(--hsk-control-radius, 999px);border:1px solid transparent;background:var(--hsk-chat-subtle, rgba(0,0,0,.045));color:var(--hsk-chat-muted, #5f6368);font-size:12px;font-weight:500;cursor:pointer;transition:all .15s;font-family:inherit}.hsk-cb-topbar-btn:hover{background:color-mix(in srgb,var(--hsk-primary) 12%,transparent);color:var(--hsk-primary)}.hsk-cb-squircle-btn{width:34px;height:34px;border-radius:11px;background:color-mix(in srgb,var(--hsk-surface-1, currentColor) 35%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid color-mix(in srgb,var(--hsk-chat-border, currentColor) 16%,transparent);border-top:1px solid color-mix(in srgb,var(--hsk-chat-bg, #fff) 35%,transparent);border-bottom:1px solid color-mix(in srgb,#000 6%,transparent);box-shadow:0 2px 6px color-mix(in srgb,var(--hsk-chat-text, #000) 6%,transparent),0 1px color-mix(in srgb,var(--hsk-chat-bg, #fff) 25%,transparent) inset;color:var(--hsk-chat-muted, currentColor);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:all .2s cubic-bezier(.16,1,.3,1);position:relative;flex-shrink:0}.hsk-cb-squircle-btn:hover{background:color-mix(in srgb,var(--hsk-surface-2, currentColor) 50%,transparent);color:var(--hsk-chat-text, currentColor);border-top-color:color-mix(in srgb,var(--hsk-chat-bg, #fff) 55%,transparent);box-shadow:0 3px 10px color-mix(in srgb,var(--hsk-chat-text, #000) 8%,transparent),0 1px color-mix(in srgb,var(--hsk-chat-bg, #fff) 35%,transparent) inset;transform:translateY(-1px)}.hsk-cb-squircle-btn:active{transform:scale(.95)}.hsk-cb-squircle-btn.is-active{background:color-mix(in srgb,var(--hsk-primary, #ff6a33) 16%,transparent);border-color:var(--hsk-primary, #ff6a33);color:var(--hsk-primary, #ff6a33);box-shadow:0 0 12px color-mix(in srgb,var(--hsk-primary, #ff6a33) 30%,transparent),0 1px color-mix(in srgb,var(--hsk-chat-bg, #fff) 30%,transparent) inset}.hsk-cb-exit-btn:hover{background:radial-gradient(120% 90% at 30% 0%,rgba(255,255,255,.4),transparent 65%),color-mix(in srgb,var(--hsk-surface-1, currentColor) 35%,transparent);color:#ef4444}.hsk-cb-msgs{position:relative;flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;touch-action:pan-y;overscroll-behavior-y:none;overflow-anchor:none;padding:16px var(--hsk-gutter, 24px) 16px;display:flex;flex-direction:column;gap:0;scrollbar-width:none;-ms-overflow-style:none;mask-image:linear-gradient(to bottom,transparent 0px,#000000 8px,#000000 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0px,#000000 8px,#000000 100%)}.hsk-cb-msgs-spacer{flex:none;height:1px;pointer-events:none}.hsk-cb-msgs>:first-child{margin-top:auto}.hsk-cb-msgs.hsk-scrolling>*{pointer-events:none}.hsk-cb-msgs::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}.hsk-cb-empty{flex:1 0 auto;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:14px;padding:24px 0 32px;width:100%;text-align:start}.hsk-cb-onboarding-card{display:flex;flex-direction:column;align-items:flex-start;width:100%;gap:10px;flex-shrink:0;overflow:hidden;padding-bottom:26px;margin-bottom:-26px}.hsk-cb-onboarding-head{display:flex;align-items:center;justify-content:flex-start;width:100%;margin-bottom:8px}.hsk-cb-step-badge{font-size:11px;font-weight:600;letter-spacing:.05em;color:var(--hsk-chat-muted, #71717a);background:var(--hsk-chat-source-bg, rgba(255, 255, 255, .06));border:1px solid var(--hsk-chat-border, rgba(255, 255, 255, .08));padding:4px 10px;border-radius:999px;line-height:1}.hsk-cb-hello-wrap{display:flex;flex-direction:column;align-items:flex-start;text-align:start;gap:6px;padding:0;width:100%}.hsk-cb-hello{margin:0;font-size:clamp(24px,4.5vw,34px);font-weight:500;line-height:1.2;letter-spacing:-.02em;color:color-mix(in srgb,var(--hsk-chat-text, #111) 55%,var(--hsk-chat-muted, #8b8b8f));text-align:start}.hsk-cb-hello b{font-weight:700;color:var(--hsk-primary, #ff6a33)}.hsk-cb-hello-lead{margin:0;font-size:15px;line-height:22px;color:var(--hsk-chat-muted, #5f6368);max-width:42ch;text-align:start}.hsk-cb-hello-ask{margin:2px 0;font-size:16px;font-weight:500;color:var(--hsk-chat-text, #111);text-align:start}.hsk-cb-hello-hint{margin:0;font-size:13px;line-height:1.5;color:var(--hsk-chat-muted, #5f6368);text-align:start}.hsk-cb-name-step .hsk-cb-hello{color:var(--hsk-chat-text, #111)}.hsk-cb-name-step .hsk-cb-hello-ask{margin-top:6px;font-size:19px;font-weight:600;color:color-mix(in srgb,var(--hsk-chat-text, #111) 62%,var(--hsk-chat-muted, #8b8b8f))}.hsk-cb-panel[dir=rtl] .hsk-cb-msgs{direction:ltr}.hsk-cb-panel[dir=rtl] .hsk-cb-msgs>*{direction:rtl}.hsk-cb-panel[dir=rtl] .hsk-cb-user-imgs{margin-left:0;margin-right:auto}.hsk-cb-panel[dir=rtl] .hsk-cb-user-bubble,.hsk-cb-panel[dir=rtl] .hsk-cb-ai-text{word-break:normal;overflow-wrap:break-word;letter-spacing:normal}.hsk-cb-panel[dir=rtl] .hsk-cb-hello{line-height:1.6;letter-spacing:normal}.hsk-cb-lang-chips{display:flex;flex-wrap:wrap;gap:8px 10px;margin:16px 0 8px;align-items:center}.hsk-cb-lang-chip{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:6px 15px;font-family:var(--hsk-font);font-size:13.5px;font-weight:400;line-height:1.2;letter-spacing:-.01em;color:var(--hsk-chat-text, #27272a);background:color-mix(in srgb,var(--hsk-chat-card-bg, var(--hsk-chat-bg, #ffffff)) 72%,transparent);backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border:none;border-radius:999px;box-shadow:0 2px 8px -1px #0000000f,0 1px 2px #00000005;cursor:pointer;transition:all .18s cubic-bezier(.16,1,.3,1);user-select:none;-webkit-font-smoothing:antialiased}.hsk-cb-lang-chip:hover{background:color-mix(in srgb,var(--hsk-primary, #ff6a33) 12%,var(--hsk-chat-card-bg, #ffffff));color:var(--hsk-primary, #ff6a33);transform:translateY(-1px);box-shadow:0 4px 12px -2px #00000014}.hsk-cb-lang-chip:active{transform:translateY(0) scale(.97)}.hsk-cb-lang-chip:focus-visible{outline:2px solid var(--hsk-primary, #ff6a33);outline-offset:2px}[data-hsk-theme=dark] .hsk-cb-lang-chip,[data-hsk-theme=midnight] .hsk-cb-lang-chip{color:#e4e4e7;background:#ffffff12;border:none;box-shadow:0 2px 8px -1px #0000004d}[data-hsk-theme=dark] .hsk-cb-lang-chip:hover,[data-hsk-theme=midnight] .hsk-cb-lang-chip:hover{background:rgba(var(--hsk-primary-rgb, 255, 106, 51),.2);color:#fff}.hsk-cb-lang-chips-hint{display:inline-flex;align-items:center;font-size:13px;font-weight:400;color:var(--hsk-chat-muted, #71717a);padding:0 6px;margin-inline-start:4px;user-select:none;align-self:center}.hsk-cb-chrome-loading{display:flex;flex-direction:column;align-items:flex-start;text-align:start;gap:12px;width:100%;max-width:480px;margin:4px 0 2px;animation:hsk-content-fade .3s ease-out both}.hsk-cb-chrome-loading-header{display:flex;flex-direction:column;align-items:flex-start;text-align:start;gap:6px;width:100%}.hsk-cb-chrome-progress{height:3px;width:100%;border-radius:3px;background:var(--hsk-chat-source-bg, rgba(255, 255, 255, .08));overflow:hidden;margin-top:4px}.hsk-cb-chrome-progress-track{height:100%;width:100%;border-radius:3px;background:linear-gradient(90deg,#ff6a33,#f7b733,#43c59e,#3d8bfd,#9b5de5,#ff5d8f,#ff6a33);background-size:300% 100%;animation:hsk-chrome-rainbow 2.6s linear infinite}.hsk-cb-chrome-progress{position:relative;overflow:hidden}.hsk-cb-chrome-progress:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.55) 50%,transparent 80%);transform:translate(-100%);animation:hsk-chrome-sheen 1.9s cubic-bezier(.55,0,.45,1) infinite;pointer-events:none}@keyframes hsk-chrome-rainbow{0%{background-position:0% 0}to{background-position:-300% 0}}@keyframes hsk-chrome-sheen{0%{transform:translate(-100%)}to{transform:translate(200%)}}@media(prefers-reduced-motion:reduce){.hsk-cb-chrome-progress-track{animation:none;opacity:.5}.hsk-cb-chrome-progress:after{animation:none;opacity:0}}.hsk-cb-chrome-back-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;margin-top:6px;font-size:13px;font-weight:500;color:var(--hsk-chat-muted, #a1a1aa);background:var(--hsk-chat-source-bg, rgba(255, 255, 255, .05));border:1px solid var(--hsk-chat-border, rgba(255, 255, 255, .09));border-radius:999px;cursor:pointer;transition:all .15s ease;user-select:none}.hsk-cb-chrome-back-btn:hover{background:var(--hsk-chat-source-bg, rgba(255, 255, 255, .12));color:var(--hsk-chat-text, #ffffff);border-color:var(--hsk-chat-border, rgba(255, 255, 255, .18))}.hsk-cb-chrome-notice{display:flex;flex-direction:column;gap:6px;max-width:48ch;margin:24px 0 0;padding:14px 16px;border-radius:14px;background:var(--hsk-chat-source-bg, rgba(255, 255, 255, .04));border:1px solid var(--hsk-chat-border, rgba(255, 255, 255, .09));text-align:start;font-family:var(--hsk-font, system-ui, sans-serif);animation:hsk-content-fade .4s ease-out both}.hsk-cb-chrome-notice-header{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.hsk-cb-chrome-notice-pill{display:inline-flex;align-items:center;padding:2px 7px;border-radius:6px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;background:#ff6a3326;color:var(--hsk-primary, #ff6a33);border:1px solid rgba(255,106,51,.28)}.hsk-cb-chrome-notice-title{font-size:12px;font-weight:600;letter-spacing:.01em;color:var(--hsk-chat-text, #ffffff)}.hsk-cb-chrome-notice-body{font-size:12px;line-height:1.55;color:var(--hsk-chat-muted, #a1a1aa)}.hsk-cb-chrome-notice-body b{color:var(--hsk-chat-text, #ffffff)}@media(prefers-color-scheme:light){.hsk-cb-chrome-progress{background:var(--hsk-chat-source-bg, rgba(0, 0, 0, .06))}.hsk-cb-chrome-back-btn{color:#52525b;background:#0000000a;border-color:#00000014}.hsk-cb-chrome-back-btn:hover{background:#00000014;color:#09090b;border-color:#00000024}}.hsk-cb-input-box--waiting{opacity:.45;pointer-events:none}.hsk-cb-entlang-opts{display:flex;flex-direction:column;gap:10px;width:100%;max-width:440px;margin-top:6px}.hsk-cb-entlang-opt{position:relative;display:flex;flex-direction:row;align-items:center;width:100%;padding:16px 20px;text-align:start;background:transparent!important;border:none!important;outline:none!important;border-radius:16px;cursor:pointer;user-select:none;box-shadow:none!important;animation:hsk-entlang-opt-in .22s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(.04s + var(--hsk-opt-idx, 0) * .02s)}@media(prefers-color-scheme:light){.hsk-cb-entlang-opt{background:transparent!important}}[data-hsk-theme=light] .hsk-cb-entlang-opt{background:transparent!important}@keyframes hsk-entlang-opt-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.hsk-cb-entlang-opt:hover{background:transparent!important;border:none!important;box-shadow:none!important}.hsk-cb-entlang-opt:active{opacity:.8}.hsk-cb-check{display:inline-grid;place-items:center;width:20px;height:20px;flex-shrink:0;border-radius:6px;border:1.5px solid color-mix(in srgb,var(--hsk-chat-text, #111) 28%,transparent);background:transparent;box-sizing:border-box;transition:background-color .22s ease,border-color .22s ease}.hsk-cb-check svg{width:14px;height:14px;fill:none;stroke:#fff;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.hsk-cb-check path{stroke-dasharray:16;stroke-dashoffset:16;transition:stroke-dashoffset .3s cubic-bezier(.65,0,.35,1) .06s}.is-selected>.hsk-cb-check{background:var(--hsk-primary, #ff6a33);border-color:var(--hsk-primary, #ff6a33);animation:hsk-cb-check-press .42s cubic-bezier(.34,1.56,.64,1)}.is-selected>.hsk-cb-check path{stroke-dashoffset:0}.hsk-cb-entlang-opt:hover>.hsk-cb-check{border-color:var(--hsk-primary, #ff6a33)}@keyframes hsk-cb-check-press{0%{transform:scale(1)}35%{transform:scale(.78)}to{transform:scale(1)}}.hsk-cb-entlang-opt>.hsk-cb-check{margin-inline-end:14px}.hsk-cb-entlang-opt-text{display:flex;flex-direction:column;gap:3px;width:100%}.hsk-cb-entlang-opt-title{font-size:15px;font-weight:600;color:var(--hsk-chat-text, #1f1f1f);letter-spacing:-.01em}.hsk-cb-entlang-opt-note{font-size:12.5px;color:var(--hsk-chat-muted, #71717a);line-height:1.45}.hsk-cb-ink-skeleton{display:flex;flex-direction:column;align-items:flex-start;width:100%;gap:12px;animation:hsk-ink-bloom-in .22s cubic-bezier(.16,1,.3,1) both}.hsk-cb-ink-line{position:relative;border-radius:999px;overflow:hidden;background:color-mix(in srgb,var(--hsk-chat-text, #ffffff) 6%,transparent)}.hsk-cb-ink-line:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,color-mix(in srgb,var(--hsk-primary, #ff6a33) 12%,transparent) 35%,color-mix(in srgb,var(--hsk-chat-text, #ffffff) 14%,transparent) 50%,color-mix(in srgb,var(--hsk-primary, #ff6a33) 12%,transparent) 65%,transparent 100%);transform:translate(-100%);animation:hsk-ink-sheen 2.2s cubic-bezier(.4,0,.2,1) infinite}.hsk-cb-ink-line--title{height:30px;width:50%;max-width:220px;border-radius:14px;margin-bottom:2px}.hsk-cb-ink-line--lead1{height:14px;width:78%;max-width:340px}.hsk-cb-ink-line--lead2{height:14px;width:60%;max-width:260px}.hsk-cb-ink-line--ask{height:15px;width:40%;max-width:170px;margin-top:3px}@keyframes hsk-ink-sheen{0%{transform:translate(-100%)}to{transform:translate(200%)}}@keyframes hsk-ink-bloom-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes hsk-hello-rise{0%{opacity:0}to{opacity:1}}.hsk-cb-hello,.hsk-cb-hello-lead,.hsk-cb-hello-ask,.hsk-cb-hello-hint,.hsk-cb-hello-skip{opacity:0;animation:hsk-hello-rise .45s cubic-bezier(.22,1,.36,1) both}.hsk-cb-hello{animation-delay:.04s}.hsk-cb-hello-lead{animation-delay:.12s}.hsk-cb-hello-ask{animation-delay:.2s}.hsk-cb-hello-hint{animation-delay:.28s}.hsk-cb-hello.hsk-cascade,.hsk-cb-hello-lead.hsk-cascade,.hsk-cb-hello-ask.hsk-cascade{opacity:1;animation:none;filter:none}.hsk-cascade__w{display:inline-block;white-space:nowrap;opacity:0;animation:hsk-cascade-rise .44s cubic-bezier(.16,1,.3,1) both}@keyframes hsk-cascade-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.hsk-cb-hello,.hsk-cb-hello-lead,.hsk-cb-hello-ask,.hsk-cb-hello-hint,.hsk-cb-hello-skip,.hsk-cascade__w,.hsk-cb-check{animation:none;opacity:1;transform:none;filter:none}.hsk-cb-check path{transition:none}}.hsk-cb-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-start;margin-top:4px}.hsk-cb-chip{padding:8px 16px;border-radius:var(--hsk-border-radius, 0px);border:1px solid var(--hsk-chat-divide, rgba(0,0,0,.1));background:var(--hsk-chat-source-bg, rgba(0,0,0,.03));color:var(--hsk-chat-text, #333);font-size:13px;cursor:pointer;transition:all .15s;font-family:inherit}.hsk-cb-chip:hover{border-color:var(--hsk-primary);color:var(--hsk-primary);background:#ff6a330f}.hsk-cb-msg-group{padding:16px 0;border-bottom:none;animation:hsk-msg-in .22s ease-out both}.hsk-cb-spoken-mark{position:absolute;top:50%;margin-top:-5px;inset-inline-start:-17px;opacity:.4;pointer-events:none}.hsk-cb-msg-group--run-mid{padding-bottom:0}.hsk-cb-msg-group--run-mid .hsk-cb-user-msg{margin-bottom:3px;gap:0}.hsk-cb-msg-group--run-cont{padding-top:0}.hsk-cb-msg-group--run-mid .hsk-cb-ai-msg{margin-bottom:3px}.hsk-cb-msg-group--run-cont .hsk-cb-ai-text{margin-top:0}.hsk-cb-msg-group--run-mid .hsk-cb-ai-msg .hsk-cb-ai-text:before,.hsk-cb-msg-group--run-mid .hsk-cb-ai-msg .hsk-cb-ai-text:after{display:none}.hsk-cb-msg-group--run-mid .hsk-cb-user-bubble{border-bottom-right-radius:20px!important}[dir=rtl] .hsk-cb-msg-group--run-mid .hsk-cb-user-bubble,.hsk-cb-panel[dir=rtl] .hsk-cb-msg-group--run-mid .hsk-cb-user-bubble,.hsk-cb-msg-group--run-mid .hsk-cb-user-bubble[dir=rtl]{border-bottom-right-radius:20px!important;border-bottom-left-radius:20px!important}.hsk-cb-msg-group--run-cont .hsk-cb-user-bubble{border-top-right-radius:20px!important}[dir=rtl] .hsk-cb-msg-group--run-cont .hsk-cb-user-bubble,.hsk-cb-panel[dir=rtl] .hsk-cb-msg-group--run-cont .hsk-cb-user-bubble,.hsk-cb-msg-group--run-cont .hsk-cb-user-bubble[dir=rtl]{border-top-right-radius:20px!important;border-top-left-radius:20px!important}.hsk-cb-msg-group:last-child{border-bottom:none}@keyframes hsk-msg-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.hsk-cb-user-msg{display:flex;flex-direction:column;align-items:flex-end;align-self:flex-end;max-width:min(75%,420px);margin-inline-start:auto;margin-inline-end:0;gap:6px;margin-bottom:20px}@media(max-width:640px){.hsk-cb-user-msg{max-width:84%}}.hsk-cb-user-msg.hsk-sent{transform-origin:bottom right;animation:hsk-send-in .3s cubic-bezier(.22,1,.36,1) both}.hsk-cb-panel[dir=rtl] .hsk-cb-user-msg.hsk-sent{transform-origin:bottom left}@keyframes hsk-send-in{0%{opacity:0;transform:translateY(12px) scale(.94)}60%{opacity:1}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){.hsk-cb-user-msg.hsk-sent{animation:none}}.hsk-cb-user-bubble{background:var(--hsk-user-bubble-bg, #007aff);color:#fff;padding:10px 18px;border-radius:20px;position:relative;font-size:var(--hsk-font-size, 15.5px);font-family:var(--hsk-font);line-height:1.45;max-width:100%;font-weight:500;width:fit-content;word-break:break-word;overflow-wrap:anywhere;letter-spacing:-.01em}.hsk-cb-user-bubble--tail:before,.hsk-cb-user-bubble--tail:after{content:"";position:absolute;bottom:0;height:25px;pointer-events:none}.hsk-cb-user-bubble--tail:before{right:-7px;width:20px;background:var(--hsk-user-bubble-bg, #007aff);border-bottom-left-radius:16px 14px}.hsk-cb-user-bubble--tail:after{right:-26px;width:26px;background:var(--hsk-chat-bg, #ffffff);border-bottom-left-radius:10px}.hsk-cb-panel[dir=rtl] .hsk-cb-user-bubble--tail:before{right:auto;left:-7px;border-bottom-left-radius:0;border-bottom-right-radius:16px 14px}.hsk-cb-panel[dir=rtl] .hsk-cb-user-bubble--tail:after{right:auto;left:-26px;border-bottom-left-radius:0;border-bottom-right-radius:10px}.hsk-cb-ai-msg{display:block}.hsk-cb-ai-icon{width:32px;height:32px;border-radius:0;background:transparent!important;border:none!important;color:var(--hsk-primary, #ff6a33);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:-2px}.hsk-cb-ai-icon>svg{width:30px!important;height:30px!important}.hsk-cb-ai-body{flex:1;min-width:0}.hsk-cb-ai-content{display:flex;flex-direction:column;gap:10px;align-items:flex-start;width:100%}.hsk-cb-think+.hsk-cb-ai-content>.hsk-cb-ai-text:first-child{padding-top:20px}.hsk-cb-ai-text{font-size:var(--hsk-font-size, 14.5px);font-family:var(--hsk-font);line-height:1.48;color:var(--hsk-chat-text, #111827);background:var(--hsk-chat-ai-bg, #eeeef0);padding:11px 15px;border-radius:18px;position:relative;display:inline-block;width:fit-content;box-sizing:border-box;max-width:min(88%,460px);word-break:break-word;overflow-wrap:anywhere;margin-top:4px}.hsk-cb-ai-text:not(:has(~.hsk-cb-ai-text)):before,.hsk-cb-ai-text:not(:has(~.hsk-cb-ai-text)):after{content:"";position:absolute;bottom:0;height:25px;pointer-events:none}.hsk-cb-ai-text:not(:has(~.hsk-cb-ai-text)):before{left:-7px;width:20px;background:var(--hsk-chat-ai-bg, #eeeef0);border-bottom-right-radius:16px 14px}.hsk-cb-ai-text:not(:has(~.hsk-cb-ai-text)):after{left:-26px;width:26px;background:var(--hsk-chat-bg, #ffffff);border-bottom-right-radius:10px}.hsk-cb-panel[dir=rtl] .hsk-cb-ai-text:not(:has(~.hsk-cb-ai-text)):before{left:auto;right:-7px;border-bottom-right-radius:0;border-bottom-left-radius:16px 14px}.hsk-cb-panel[dir=rtl] .hsk-cb-ai-text:not(:has(~.hsk-cb-ai-text)):after{left:auto;right:-26px;border-bottom-right-radius:0;border-bottom-left-radius:10px}.hsk-cb-user-bubble--tail{border-bottom-right-radius:25px}.hsk-cb-panel[dir=rtl] .hsk-cb-user-bubble--tail{border-bottom-right-radius:20px;border-bottom-left-radius:25px}.hsk-cb-user-footer{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;gap:6px;width:100%;margin-top:2px;min-height:16px;line-height:1}.hsk-cb-ai-footer{display:flex;align-items:center;gap:4px;margin-top:4px;min-height:16px;line-height:1}.hsk-cb-ai-body:hover .hsk-cb-msg-actions,.hsk-cb-ai-body:focus-within .hsk-cb-msg-actions{opacity:1;pointer-events:auto;transform:translateY(0)}.hsk-cb-sent-status{font-size:11px;line-height:1;color:var(--hsk-chat-muted, #8a8f98);padding:0;display:inline-flex;align-items:center;user-select:none;animation:hsk-sent-in .2s ease-out both}.hsk-cb-msg-actions{display:inline-flex;align-items:center;gap:2px;padding:0;opacity:0;pointer-events:none;transform:translate(3px);transition:opacity .18s cubic-bezier(.16,1,.3,1),transform .18s cubic-bezier(.16,1,.3,1)}.hsk-cb-user-msg:hover .hsk-cb-msg-actions,.hsk-cb-user-msg:focus-within .hsk-cb-msg-actions,.hsk-cb-msg-actions--visible{opacity:1;pointer-events:auto;transform:translate(0)}.hsk-cb-msg-action{display:inline-flex;align-items:center;justify-content:center;gap:3.5px;padding:1px 6.5px;height:16px;border-radius:999px;font-size:11px;font-weight:500;font-family:var(--hsk-font);line-height:1;color:var(--hsk-chat-muted, #8a8f98);background:transparent;border:none;box-shadow:none;cursor:pointer;user-select:none;box-sizing:border-box;transition:color .15s ease,background-color .15s ease,transform .18s cubic-bezier(.34,1.56,.64,1)}.hsk-cb-msg-action .hsk-cb-msg-action-label{font-size:11px;line-height:1}.hsk-cb-msg-action:hover:not(:disabled){color:var(--hsk-chat-text, #ffffff)!important;background:var(--hsk-chat-divide, rgba(140, 140, 140, .18));border:none;transform:translateY(-.5px)}.hsk-cb-msg-action:active:not(:disabled){transform:translateY(0) scale(.95);transition-duration:.1s}.hsk-cb-msg-action--retry{color:var(--hsk-primary, #ff6a33);background:transparent;border:none;box-shadow:none}.hsk-cb-msg-action--retry:hover:not(:disabled){color:var(--hsk-on-active, #ffffff)!important;background:var(--hsk-primary, #ff6a33)!important;border:none!important;box-shadow:0 1px 6px color-mix(in srgb,var(--hsk-primary, #ff6a33) 35%,transparent)}.hsk-cb-failed-notice{display:inline-flex;align-items:center;gap:4px;font-size:11px;line-height:1;color:#ef4444;font-weight:500;user-select:none}.hsk-cb-failed-dot{width:5px;height:5px;border-radius:999px;background:#ef4444;box-shadow:0 0 5px #ef444499;animation:hsk-failed-pulse 1.8s ease-in-out infinite}@keyframes hsk-failed-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.25);opacity:.7}}.hsk-cb-msg-action--copied{color:#10b981!important;background:#10b98126!important;font-weight:600}@media(max-width:640px){.hsk-cb-msg-actions{display:none!important}}@keyframes hsk-sent-in{0%{opacity:0}to{opacity:1}}.hsk-cb-user-bubble--queued{opacity:.55}.hsk-cb-queued-status{display:inline-flex;align-items:center;gap:5px;font-size:11px;line-height:1;color:var(--hsk-chat-muted, #8a8f98);padding:4px 0 0;background:none;border:none;cursor:pointer;font-family:var(--hsk-font);animation:hsk-sent-in .2s ease-out both}.hsk-cb-queued-dot{width:5px;height:5px;border-radius:999px;background:currentColor;animation:hsk-queued-pulse 1.1s ease-in-out infinite}@keyframes hsk-queued-pulse{0%,to{opacity:.35;transform:scale(.85)}50%{opacity:1;transform:scale(1)}}.hsk-cb-queued-now{color:var(--hsk-primary, #ff6a33);font-weight:600;transition:opacity .15s ease}.hsk-cb-queued-status:hover .hsk-cb-queued-now{opacity:.7}@media(prefers-reduced-motion:reduce){.hsk-cb-queued-dot{animation:none;opacity:.8}}.hsk-cb-timeline{display:none}@media(min-width:1200px){.hsk-cb-timeline.hsk-cb-timeline--left{display:block;position:absolute;left:auto!important;right:100%!important;margin-right:28px!important;top:50%;transform:translateY(-50%)!important;width:180px;max-height:60%;overflow:hidden;z-index:10;pointer-events:auto;direction:ltr!important;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 14%,#000 86%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 14%,#000 86%,transparent)}.hsk-cb-timeline.hsk-cb-timeline--right{display:block;position:absolute;left:100%!important;right:auto!important;margin-left:28px!important;top:50%;transform:translateY(-50%)!important;width:180px;max-height:60%;overflow:hidden;z-index:10;pointer-events:auto;direction:ltr!important;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 14%,#000 86%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 14%,#000 86%,transparent)}.hsk-cb-timeline-track{animation:hsk-tl-in .32s cubic-bezier(.22,1,.36,1) both}}@keyframes hsk-tl-in{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.hsk-cb-timeline-track{--hsk-tl-x: 14px;--hsk-tl-gutter: 28px;position:relative;padding-left:var(--hsk-tl-gutter)!important;padding-right:6px!important;transition:transform .28s cubic-bezier(.22,1,.36,1)}.hsk-cb-timeline-track:before,.hsk-cb-timeline-track:after{display:none!important}.hsk-cb-tl-wave{position:absolute;left:0;top:0;overflow:visible;pointer-events:none;fill:none;stroke:var(--hsk-chat-divide, rgba(0, 0, 0, .12));stroke-width:2;stroke-linecap:round;transition:d .35s cubic-bezier(.22,1,.36,1)}@media(prefers-color-scheme:dark){.hsk-cb-tl-wave{stroke:var(--hsk-chat-divide, rgba(255, 255, 255, .14))}}.hsk-cb-tl-item{--hsk-tl-d: 0;position:relative;display:block;width:100%;padding:7px 6px 7px 0!important;border:none;background:none;text-align:left!important;cursor:pointer;font-family:var(--hsk-font)}.hsk-cb-tl-dot{position:absolute;left:calc(var(--hsk-tl-x, 14px) - var(--hsk-tl-gutter, 28px) - 3px)!important;right:auto!important;top:50%;width:6px;height:6px;margin-top:-3px;border-radius:999px;background:var(--hsk-chat-muted, #8a8f98);opacity:max(.1,calc(.28 - var(--hsk-tl-d) * .07));transform:translate(calc(10px + var(--hsk-tl-d) * 7px));transition:transform .28s cubic-bezier(.34,1.4,.64,1),opacity .46s cubic-bezier(.22,1,.36,1),background .2s ease}.hsk-cb-tl-label{display:block;font-size:12px;line-height:1.4;color:var(--hsk-chat-muted, #8a8f98);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transform:translate(calc(10px + var(--hsk-tl-d) * 7px));opacity:max(.32,calc(.9 - var(--hsk-tl-d) * .15));transition:transform .46s cubic-bezier(.22,1,.36,1),opacity .46s cubic-bezier(.22,1,.36,1),color .2s ease}.hsk-cb-tl-item:hover .hsk-cb-tl-label{opacity:1;transform:translate(calc(10px + var(--hsk-tl-d) * 7px - 2px))}.hsk-cb-tl-item:hover .hsk-cb-tl-dot{transform:translate(calc(10px + var(--hsk-tl-d) * 7px - 2px)) scale(1.25)}.hsk-cb-tl-cursor{position:absolute;box-shadow:0 0 0 5px color-mix(in srgb,var(--hsk-primary, #ff6a33) 14%,transparent);left:calc(var(--hsk-tl-x, 14px) - 4.5px)!important;right:auto!important;top:0;width:9px;height:9px;margin-top:-4.5px;border-radius:999px;background:var(--hsk-primary, #ff6a33);transform:translateY(0);transition:transform .44s cubic-bezier(.22,1,.36,1);will-change:transform}.hsk-cb-tl-item--on .hsk-cb-tl-dot{opacity:0}.hsk-cb-tl-item--on .hsk-cb-tl-label{color:var(--hsk-chat-text, #1f1f1f);opacity:1;font-weight:500}@media(prefers-reduced-motion:reduce){.hsk-cb-timeline-track{animation:none}.hsk-cb-timeline-track:after,.hsk-cb-tl-label,.hsk-cb-tl-cursor,.hsk-cb-tl-dot{transition:none}}@media(prefers-color-scheme:dark){.hsk-cb-ai-text{--hsk-chat-ai-bg: #26262a;background:var(--hsk-chat-ai-bg);color:#f9fafb}}.hsk-cb-sources-wrap{position:relative;margin-top:20px}.hsk-cb-sources{display:flex;flex-direction:row;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;padding-bottom:4px}.hsk-cb-sources::-webkit-scrollbar{display:none}.hsk-cb-sources-fade-left,.hsk-cb-sources-fade-right{position:absolute;top:0;bottom:4px;width:30px;pointer-events:none;z-index:2}.hsk-cb-sources-fade-left,.hsk-cb-sources-fade-right{background-color:var(--hsk-fade-bg, var(--hsk-chat-bg, #0e0e0f))}.hsk-cb-sources-fade-left,[dir=rtl] .hsk-cb-sources-fade-right{-webkit-mask-image:linear-gradient(to right,#000 0%,rgba(0,0,0,.55) 45%,transparent 100%);mask-image:linear-gradient(to right,#000 0%,rgba(0,0,0,.55) 45%,transparent 100%)}.hsk-cb-sources-fade-right,[dir=rtl] .hsk-cb-sources-fade-left{-webkit-mask-image:linear-gradient(to left,#000 0%,rgba(0,0,0,.55) 45%,transparent 100%);mask-image:linear-gradient(to left,#000 0%,rgba(0,0,0,.55) 45%,transparent 100%)}.hsk-cb-sources-fade-left{inset-inline-start:0}.hsk-cb-sources-fade-right{inset-inline-end:0}.hsk-cb-sources-next,.hsk-cb-sources-prev{position:absolute;top:42%;transform:translateY(-50%);width:34px;height:34px;border-radius:50%!important;background:var(--hsk-chat-bg, #ffffff)!important;border:1px solid var(--hsk-chat-divide, rgba(0, 0, 0, .12))!important;color:var(--hsk-primary, #ff6a33)!important;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px #00000024;z-index:10;cursor:pointer;transition:transform .2s cubic-bezier(.34,1.56,.64,1),background .18s ease,color .18s ease,box-shadow .18s ease}.hsk-cb-sources-next:hover,.hsk-cb-sources-prev:hover{background:var(--hsk-primary, #ff6a33)!important;color:#fff!important;border-color:var(--hsk-primary, #ff6a33)!important;transform:translateY(-50%) scale(1.1);box-shadow:0 6px 18px #ff6a3359}.hsk-cb-sources-next{inset-inline-end:2px}.hsk-cb-sources-prev{inset-inline-start:2px}[dir=rtl] .hsk-cb-sources-next svg,[dir=rtl] .hsk-cb-sources-prev svg{transform:scaleX(-1)}.hsk-cb-carousel-dots{display:flex;align-items:center;justify-content:center;gap:5px;margin-top:10px}.hsk-cb-dot-item{width:6px;height:6px;border-radius:50%;background:#96969659;transition:all .25s cubic-bezier(.34,1.56,.64,1);cursor:pointer}.hsk-cb-dot-item--active{width:18px;border-radius:999px;background:var(--hsk-primary, #ff6a33)}.hsk-cb-source{flex:0 0 188px;scroll-snap-align:start;border-radius:var(--hsk-border-radius, 0px);border:none;background:transparent;cursor:pointer;transition:transform .14s,opacity .14s;animation:hsk-card-in .26s ease-out both;overflow:visible}@keyframes hsk-card-in{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:none}}.hsk-cb-source:hover{transform:translateY(-3px);opacity:.92}.hsk-cb-src-imgwrap{width:188px;height:188px;overflow:hidden;border-radius:var(--hsk-border-radius, 0px);display:block;background:var(--hsk-chat-source-bg, #f8f9fa)}.hsk-cb-src-imgwrap img{width:100%;height:100%;object-fit:cover;transition:transform .22s;display:block}.hsk-cb-source:hover .hsk-cb-src-imgwrap img{transform:scale(1.05)}.hsk-cb-src-imgwrap-empty{width:188px;height:188px;background:var(--hsk-chat-divide, rgba(0,0,0,.06));display:flex;align-items:center;justify-content:center;color:var(--hsk-chat-muted, #555);font-size:32px}.hsk-cb-src-info{padding:8px 2px 0}.hsk-cb-sources-wrap--compact{margin-top:10px}.hsk-cb-sources-wrap--compact .hsk-cb-sources{gap:10px}.hsk-cb-sources-wrap--compact .hsk-cb-source{flex:0 0 96px}.hsk-cb-sources-wrap--compact .hsk-cb-src-imgwrap,.hsk-cb-sources-wrap--compact .hsk-cb-src-imgwrap-empty{width:96px;height:96px}.hsk-cb-sources-wrap--compact .hsk-cb-src-imgwrap-empty{font-size:20px}.hsk-cb-sources-wrap--compact .hsk-cb-src-name{font-size:12px;-webkit-line-clamp:1}.hsk-cb-sources-wrap--compact .hsk-cb-src-detail{font-size:11px;padding:1px 6px}.hsk-cb-src-name{font-size:13px;font-weight:600;color:var(--hsk-chat-text, #333);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.hsk-cb-src-detail{display:inline-flex;align-items:center;width:fit-content;max-width:100%;padding:2px 9px;border-radius:9999px;background:var(--hsk-chat-source-bg, rgba(0, 0, 0, .05));border:1px solid var(--hsk-chat-divide, rgba(0, 0, 0, .08));font-size:12px;font-weight:600;color:var(--hsk-primary, #ff6a33);margin-top:5px;line-height:1.2}.hsk-cb-input-wrap{position:relative;--hsk-composer-pad-top: 16px;--hsk-composer-pad-x: var(--hsk-gutter, 24px);padding:var(--hsk-composer-pad-top) var(--hsk-composer-pad-x) 24px;flex-shrink:0;background:transparent!important;z-index:10}.hsk-cb-input-wrap[data-tools-open=true]{z-index:20!important}.hsk-cb-input-wrap:after{display:none!important}.hsk-cb-input-card{position:relative;z-index:1001;border-radius:20px;background:var(--hsk-chat-input-bg, #ffffff);border:none!important;outline:none!important;box-shadow:0 3px 14px -1px #0000000d,0 1px 4px #00000008!important;overflow:hidden;transition:height .22s cubic-bezier(.32,.72,0,1)}.hsk-cb-input-card:focus-within{border:none!important;outline:none!important;box-shadow:0 4px 18px -1px #00000012,0 2px 6px #0000000a!important}.hsk-cb-docked-header{display:flex;align-items:center;gap:8px;padding:10px 16px 6px;background:transparent;border-bottom:none!important;user-select:none}.hsk-cb-docked-sub{font-size:12px;font-weight:500;letter-spacing:-.01em;color:var(--hsk-chat-text, #1f1f1f);flex:1}.hsk-cb-docked-close{background:none;border:none;color:var(--hsk-chat-muted, rgba(0, 0, 0, .4));font-size:16px;line-height:1;cursor:pointer;padding:2px 6px;border-radius:50%;transition:background .12s,color .12s}.hsk-cb-docked-close:hover{background:#00000014;color:var(--hsk-chat-text, #111111)}.hsk-cb-field{margin-inline:5px}.hsk-cb-input-box[data-expanded=true]>.hsk-cb-field{margin-inline:0}.hsk-cb-docked-options{display:flex;flex-direction:column;padding:4px 6px;background:transparent;border-bottom:none!important;max-height:220px;overflow-y:auto;scrollbar-width:thin}.hsk-cb-docked-option{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;border:none;background:transparent!important;border-radius:10px;color:var(--hsk-chat-text, #1f1f1f);font-family:inherit;font-size:14px;text-align:start;cursor:pointer;transition:color .15s ease}.hsk-cb-docked-option:hover,.hsk-cb-docked-option:focus{background:transparent!important;color:var(--hsk-primary, #ff6a33)}.hsk-cb-docked-option-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:color-mix(in srgb,var(--hsk-primary, #ff6a33) 12%,transparent);color:var(--hsk-primary, #ff6a33);flex-shrink:0;overflow:hidden;transition:transform .2s cubic-bezier(.34,1.56,.64,1),background .18s ease}.hsk-cb-docked-option:hover .hsk-cb-docked-option-icon,.hsk-cb-docked-option:focus .hsk-cb-docked-option-icon{background:color-mix(in srgb,var(--hsk-primary, #ff6a33) 22%,transparent);transform:scale(1.15) rotate(4deg)}.hsk-cb-docked-option-icon img{width:100%;height:100%;object-fit:cover}.hsk-cb-docked-option-title{font-weight:500;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .15s ease}.hsk-cb-docked-option-desc{font-size:12px;color:var(--hsk-chat-muted, #6b7280);font-weight:400}.hsk-cb-docked-option-detail{font-size:12px;font-weight:600;color:var(--hsk-chat-muted, #6b7280)}.hsk-cb-input-box{position:relative;display:grid;grid-template-columns:auto 1fr auto auto;grid-template-rows:auto 0px;align-items:center;justify-items:start;column-gap:10px;row-gap:0px;transition:grid-template-rows .2s cubic-bezier(.32,.72,0,1),row-gap .2s cubic-bezier(.32,.72,0,1);background:transparent!important;border:none!important;outline:none!important;border-radius:0!important;padding-block:12px;padding-inline:18px 14px;box-shadow:none!important}.hsk-cb-tools-toggle{display:none}@media(max-width:640px){.hsk-cb-tools-toggle{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:12px;border:none;background:var(--hsk-surface-1, rgba(0,0,0,.06));color:var(--hsk-chat-muted, #5f6368);cursor:pointer;flex-shrink:0;transition:background .16s,color .16s,transform .22s cubic-bezier(.34,1.56,.64,1)}.hsk-cb-tools-toggle:active{transform:scale(.91)}.hsk-cb-tools-toggle--open{background:color-mix(in srgb,var(--hsk-primary, #ff6a33) 14%,transparent);color:var(--hsk-primary, #ff6a33);transform:rotate(45deg)}[data-hsk-theme] .hsk-cb-tools-toggle{background:var(--hsk-surface-1)!important;color:var(--hsk-chat-muted)!important}[data-hsk-theme] .hsk-cb-tools-toggle--open{background:color-mix(in srgb,var(--hsk-primary) 14%,transparent)!important;color:var(--hsk-primary)!important}.hsk-cb-input-box{grid-template-columns:auto 1fr auto}.hsk-cb-input-box>.hsk-cb-tools-toggle{grid-column:1;grid-row:1;display:inline-flex}.hsk-cb-input-box>.hsk-cb-field{grid-column:2;grid-row:1}.hsk-cb-input-box>.hsk-cb-send,.hsk-cb-input-box>.hsk-chat-send{grid-column:3;grid-row:1}.hsk-cb-input-box>.hsk-cb-attach-btn,.hsk-cb-input-box>.hsk-cb-voice-mode-btn{display:none!important}.hsk-cb-input-box[data-expanded=true]>.hsk-cb-field{grid-column:1 / -1;grid-row:1}.hsk-cb-input-box[data-expanded=true]>.hsk-cb-tools-toggle,.hsk-cb-input-box[data-expanded=true]>.hsk-cb-send,.hsk-cb-input-box[data-expanded=true]>.hsk-chat-send{grid-row:2}}.hsk-cb-toolsheet-wrap{position:absolute;bottom:calc(100% - 6px);inset-inline-start:var(--hsk-composer-pad-x, 14px);inset-inline-end:auto;z-index:1000;transform-origin:bottom left;animation:hsk-toolsheet-in .22s cubic-bezier(.16,1,.3,1) both;pointer-events:auto}[dir=rtl] .hsk-cb-toolsheet-wrap,.hsk-cb-panel[dir=rtl] .hsk-cb-toolsheet-wrap{transform-origin:bottom right}.hsk-cb-toolsheet{position:relative;z-index:1;min-width:200px;padding:6px;border-radius:16px;background:var(--hsk-chat-source-bg, rgba(255, 255, 255, .08));border:none!important;box-shadow:none!important}@keyframes hsk-toolsheet-in{0%{opacity:0;transform:translateY(8px) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}.hsk-cb-toolsheet-scrim{position:fixed;inset:0;z-index:999;background:color-mix(in srgb,var(--hsk-chat-bg, #fff) 30%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);mask-image:linear-gradient(to top,#000 30vh,rgba(0,0,0,.84) 38vh,rgba(0,0,0,.4) 48vh,rgba(0,0,0,.1) 56vh,transparent 62vh);-webkit-mask-image:linear-gradient(to top,#000 30vh,rgba(0,0,0,.84) 38vh,rgba(0,0,0,.4) 48vh,rgba(0,0,0,.1) 56vh,transparent 62vh);animation:hsk-scrim-in .25s cubic-bezier(.16,1,.3,1) both;cursor:default}.hsk-cb-input-wrap[data-tools-open=true] .hsk-cb-tools-toggle{position:relative;z-index:1002}.hsk-cb-toolsheet-pub-text{display:flex;flex-direction:column;min-width:0;gap:2px}.hsk-cb-toolsheet-pub-text code{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:var(--hsk-chat-muted, #6b7280)}.hsk-cb-toolsheet-item{display:flex;align-items:center;gap:11px;width:100%;padding:10px 12px;border:none;border-radius:11px;background:transparent;color:var(--hsk-chat-text, #111827);font-family:var(--hsk-font);font-size:15px;text-align:start;cursor:pointer;transition:background-color .15s ease}.hsk-cb-toolsheet-item:hover:not(:disabled){background:var(--hsk-chat-subtle, rgba(0,0,0,.05))}.hsk-cb-toolsheet-item:disabled{opacity:.45;cursor:default}.hsk-cb-toolsheet-item>svg{flex-shrink:0;color:var(--hsk-chat-muted, #6b7280)}[data-hsk-theme] .hsk-cb-toolsheet{background:var(--hsk-sheet-bg, var(--hsk-chat-input-bg, #f3f4f6))!important;border:none!important}[data-hsk-theme] .hsk-cb-toolsheet-item{color:var(--hsk-chat-text, #111827)!important}[data-hsk-theme] .hsk-cb-toolsheet-item:hover:not(:disabled){background:var(--hsk-sheet-hover, var(--hsk-surface-2, rgba(0, 0, 0, .05)))!important}[data-hsk-theme] .hsk-cb-toolsheet-item>svg{color:var(--hsk-chat-muted, #6b7280)!important}@media(prefers-reduced-motion:reduce){.hsk-cb-toolsheet-wrap,.hsk-cb-toolsheet-stem{animation:none}}.hsk-cb-input-box>.hsk-cb-attach-btn{grid-column:1;grid-row:1}.hsk-cb-input-box>.hsk-cb-field{grid-column:2;grid-row:1}.hsk-cb-input-box>.hsk-cb-voice-mode-btn{grid-column:3;grid-row:1}.hsk-cb-input-box>.hsk-cb-send,.hsk-cb-input-box>.hsk-chat-send{grid-column:4;grid-row:1}.hsk-cb-input-box[data-expanded=true]{grid-template-rows:auto 36px;row-gap:6px}.hsk-cb-input-box[data-expanded=true]>.hsk-cb-field{grid-column:1 / -1;grid-row:1}.hsk-cb-input-box[data-expanded=true]>.hsk-cb-attach-btn,.hsk-cb-input-box[data-expanded=true]>.hsk-cb-voice-mode-btn,.hsk-cb-input-box[data-expanded=true]>.hsk-cb-send,.hsk-cb-input-box[data-expanded=true]>.hsk-chat-send{grid-row:2}.hsk-cb-textarea{width:100%;background:transparent;border:none;outline:none;resize:none;font-size:var(--hsk-input-font-size, 16px);font-family:var(--hsk-font);color:var(--hsk-chat-text, #111);min-height:28px;max-height:140px;field-sizing:content;line-height:var(--hsk-input-line-height, 1.55);word-break:break-word;overflow-wrap:break-word;padding:0;transition:height .18s cubic-bezier(.32,.72,0,1),color .42s cubic-bezier(.16,1,.3,1);scrollbar-width:none}.hsk-cb-textarea::-webkit-scrollbar{width:0;height:0}.hsk-cb-textarea::placeholder{color:var(--hsk-chat-muted, #9ca3af);font-family:var(--hsk-font);font-size:var(--hsk-ph-font-size, var(--hsk-input-font-size, 16px))}.hsk-cb-attach-btn,.hsk-cb-send,.hsk-chat-send{width:36px;height:36px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;border:none;cursor:pointer;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s cubic-bezier(.34,1.56,.64,1),background-color .42s cubic-bezier(.16,1,.3,1),opacity .2s ease;font-family:inherit;margin:0;padding:0}.hsk-cb-send,.hsk-chat-send{background:linear-gradient(135deg,#007aff,#0056b3);color:#fff;border-radius:12px!important;box-shadow:0 4px 14px #007aff61,inset 0 1px color-mix(in srgb,var(--hsk-chat-bg, #fff) 35%,transparent);position:relative;overflow:hidden}.hsk-cb-send .hsk-telegram-icon,.hsk-chat-send .hsk-telegram-icon{transition:transform .25s cubic-bezier(.34,1.56,.64,1)}.hsk-cb-send:hover:not(:disabled),.hsk-chat-send:hover:not(:disabled){opacity:1;transform:translateY(-1px) scale(1.05);box-shadow:0 6px 18px #007aff7a,inset 0 1px color-mix(in srgb,var(--hsk-chat-bg, #fff) 45%,transparent)}.hsk-cb-send:hover:not(:disabled) .hsk-telegram-icon,.hsk-chat-send:hover:not(:disabled) .hsk-telegram-icon{transform:translate(2px,-2px) rotate(-10deg) scale(1.1)}.hsk-cb-send:active:not(:disabled),.hsk-chat-send:active:not(:disabled){transform:translateY(0) scale(.94);box-shadow:0 1px 4px #007aff4d}.hsk-cb-send:disabled,.hsk-chat-send:disabled{opacity:.4;cursor:not-allowed;background:var(--hsk-chat-muted, #ccc);box-shadow:none}.hsk-cb-send--stop{background:#e5342a!important}.hsk-cb-send--stop:hover{background:#c92a21!important;opacity:1}.hsk-cb-field{position:relative;grid-area:field;display:flex;align-items:center;width:100%;min-width:0;--hsk-input-font-size: 16px;--hsk-input-line-height: 1.55;--hsk-input-control: 36px;--hsk-input-line-box: calc(var(--hsk-input-font-size) * var(--hsk-input-line-height))}.hsk-cb-listening{position:absolute;inset:0;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.hsk-cb-listening span{width:2px;height:2px;border-radius:999px;background:var(--hsk-primary, #ff6a33);opacity:.3;transform-origin:center;will-change:transform,opacity;transition:transform 90ms linear,opacity 90ms linear}.hsk-animated-placeholder{position:absolute;inset:0;display:flex;flex-wrap:wrap;align-items:center;align-content:center;row-gap:1px;height:100%;pointer-events:none;overflow:hidden;user-select:none;padding:0;z-index:1}.hsk-cb-input-box>*{--hsk-cascade-ease: cubic-bezier(.45, 0, .55, 1);--hsk-cascade-dur: .44s;--hsk-cascade-step: 55ms}.hsk-cb-input-box[data-cascade]>*:not([type=file]):not(.hsk-cb-field){animation-duration:var(--hsk-cascade-dur);animation-timing-function:var(--hsk-cascade-ease);animation-fill-mode:none}.hsk-cb-input-box[data-cascade=a]>*:not([type=file]):not(.hsk-cb-field){animation-name:hsk-leaf-settle-a}.hsk-cb-input-box[data-cascade=b]>*:not([type=file]):not(.hsk-cb-field){animation-name:hsk-leaf-settle-b}.hsk-cb-input-box[data-cascade]>*:not([type=file]):not(.hsk-cb-field),.hsk-animated-placeholder__char{will-change:transform}.hsk-cb-input-box:hover>*,.hsk-cb-input-box:focus-within>*{will-change:auto}.hsk-cb-input-box>*{--hsk-cascade-field: .11s}.hsk-cb-input-box[data-cascade]>.hsk-cb-attach-btn{animation-delay:0ms}.hsk-cb-input-box[data-cascade]>.hsk-cb-voice-mode-btn{animation-delay:calc(var(--hsk-cascade-field) + var(--hsk-text-sweep, 0ms))}.hsk-cb-input-box[data-cascade]>.hsk-cb-send,.hsk-cb-input-box[data-cascade]>.hsk-chat-send{animation-delay:calc(var(--hsk-cascade-field) + var(--hsk-text-sweep, 0ms) + var(--hsk-cascade-step))}@keyframes hsk-leaf-settle-a{0%{transform:translateY(0) scale(1)}42%{transform:translateY(-3px) scale(1.05)}to{transform:translateY(0) scale(1)}}@keyframes hsk-leaf-settle-b{0%{transform:translateY(0) scale(1)}42%{transform:translateY(-3px) scale(1.05)}to{transform:translateY(0) scale(1)}}.hsk-cb-input-box>.hsk-cb-field .hsk-animated-placeholder__char{animation-name:hsk-placeholder-animate-up}@media(prefers-reduced-motion:reduce){.hsk-cb-input-box[data-cascade=a]>*,.hsk-cb-input-box[data-cascade=b]>*{animation:none;transform:none;opacity:1}.hsk-cb-textarea,.hsk-cb-input-card{transition-property:background-color,box-shadow}}.hsk-animated-placeholder[data-fit="2"]{--hsk-ph-font-size: 15px}.hsk-animated-placeholder[data-fit="3"]{--hsk-ph-font-size: 14px}.hsk-cb-field{transition:min-block-size .26s cubic-bezier(.16,1,.3,1)}.hsk-cb-field[data-ph-lines="2"]{min-block-size:48px}.hsk-animated-placeholder__char{display:inline-block;font-size:var(--hsk-ph-font-size, var(--hsk-input-font-size, 16px));line-height:var(--hsk-input-line-height, 1.55);color:var(--hsk-chat-muted, #9ca3af);font-family:var(--hsk-font);white-space:pre;animation:hsk-placeholder-animate-up .46s cubic-bezier(.16,1,.3,1) both}@keyframes hsk-placeholder-animate-up{0%{opacity:0;transform:translateY(9px);color:hsl(var(--hsk-ph-hue, 0) var(--hsk-ph-sat, 68%) var(--hsk-ph-light, 55%))}55%{opacity:1;color:hsl(var(--hsk-ph-hue, 0) var(--hsk-ph-sat, 68%) var(--hsk-ph-light, 55%))}to{opacity:1;transform:translateY(0);color:var(--hsk-chat-muted, #9ca3af)}}@media(prefers-reduced-motion:reduce){.hsk-animated-placeholder__char{animation:none;transform:none;opacity:1;color:var(--hsk-chat-muted, #9ca3af);animation-delay:0ms!important}}.hsk-cb-voice-error{display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;line-height:1.45;width:fit-content;max-width:min(92%,520px);margin-inline:auto;margin:8px auto 0;text-align:center;text-wrap:balance;color:#ff6b6b;padding:3px 8px;border-radius:0;background:transparent;border:none;border-bottom:1px solid rgba(229,72,77,.35);cursor:pointer;animation:hsk-msg-in .2s ease-out both}.hsk-cb-voice-error span{text-align:center}.hsk-cb-voice-error-dismiss{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;border:none;background:#ffffff1f;color:inherit;font-size:14px;line-height:1;cursor:pointer;padding:0;flex-shrink:0;transition:background .15s ease,transform .15s ease}.hsk-cb-voice-error-dismiss:hover{background:#ffffff40;transform:scale(1.1)}.hsk-cb-img-strip{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 18px 2px;background:transparent;border:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;animation:hsk-msg-in .2s ease-out both}.hsk-cb-img-thumb-wrap{position:relative;width:60px;height:60px;flex-shrink:0;border-radius:12px;box-shadow:0 2px 8px #00000014,0 0 0 1px color-mix(in srgb,var(--hsk-chat-bg, #fff) 12%,transparent);transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s cubic-bezier(.16,1,.3,1);overflow:visible}.hsk-cb-img-thumb-wrap:hover{transform:translateY(-2px);box-shadow:0 6px 14px #0000001f,0 0 0 1px color-mix(in srgb,var(--hsk-chat-bg, #fff) 20%,transparent)}.hsk-cb-img-thumb{width:100%;height:100%;object-fit:cover;border-radius:12px;border:none;display:block}.hsk-cb-img-thumb-remove{position:absolute;top:-5px;inset-inline-end:-5px;width:18px;height:18px;border-radius:50%;background:#141418bf;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#fff;border:1px solid rgba(255,255,255,.25);box-shadow:0 2px 6px #00000040;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:transform .15s cubic-bezier(.16,1,.3,1),background-color .15s ease;z-index:2}.hsk-cb-img-thumb-remove:hover{background:#ef4444eb;border-color:#fff6;transform:scale(1.15)}.hsk-cb-attach-btn,.hsk-cb-voice-mode-btn{position:relative;width:36px;height:36px;border-radius:12px;border:none!important;outline:none!important;background:transparent;color:var(--hsk-chat-muted, #71717a);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:none!important;opacity:.75;transition:transform .35s cubic-bezier(.34,1.8,.64,1),background-color .2s ease,color .2s ease,opacity .2s ease;font-family:inherit;overflow:visible}.hsk-cb-attach-btn:hover:not(:disabled),.hsk-cb-voice-mode-btn:hover:not(:disabled){opacity:1;color:var(--hsk-chat-text, #1f1f1f);background:transparent;transform:translateY(-1px)}.hsk-cb-attach-btn:active:not(:disabled),.hsk-cb-voice-mode-btn:active:not(:disabled){transform:translateY(0) scale(.94);transition-duration:.1s}.hsk-cb-attach-btn svg,.hsk-cb-voice-mode-btn svg{overflow:visible}.hsk-cb-attach-btn svg{transition:transform .34s cubic-bezier(.22,1,.36,1)}.hsk-cb-attach-btn:hover:not(:disabled) svg{transform:rotate(-14deg) translateY(-1px)}.hsk-mic-cap{transform-box:fill-box;transform-origin:center;transition:transform .32s cubic-bezier(.34,1.56,.64,1)}.hsk-wave-bar{transform-box:fill-box;transform-origin:center;transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.hsk-cb-voice-mode-btn:hover:not(:disabled) .hsk-wave-bar{animation:hsk-wave-wake .52s cubic-bezier(.34,1.8,.64,1) both,hsk-wave-live var(--hsk-period, 1.1s) ease-in-out .52s infinite;animation-delay:calc(var(--hsk-bar, 0) * 55ms),calc(.52s + var(--hsk-bar, 0) * 55ms)}.hsk-cb-voice-mode-btn:hover:not(:disabled) .hsk-wave-bar--tip{animation-name:hsk-wave-wake-tip,hsk-wave-live-tip}@keyframes hsk-wave-wake{0%{transform:scaleY(.12)}55%{transform:scaleY(calc(var(--hsk-amp, 1.6) * 1.12))}to{transform:scaleY(1)}}@keyframes hsk-wave-live{0%,to{transform:scaleY(1)}30%{transform:scaleY(var(--hsk-amp, 1.6))}55%{transform:scaleY(calc(1 + (var(--hsk-amp, 1.6) - 1) * .22))}78%{transform:scaleY(calc(1 + (var(--hsk-amp, 1.6) - 1) * .62))}}@keyframes hsk-wave-wake-tip{0%{transform:scaleX(.2);opacity:.4}55%{transform:scaleX(calc(var(--hsk-amp, 1.9) * 1.1));opacity:1}to{transform:scaleX(1);opacity:.8}}@keyframes hsk-wave-live-tip{0%,to{transform:scaleX(1);opacity:.7}30%{transform:scaleX(var(--hsk-amp, 1.9));opacity:1}70%{transform:scaleX(1.15);opacity:.8}}.hsk-copy-sheet,.hsk-copy-back{transform-box:fill-box;transform-origin:center;transition:transform .3s cubic-bezier(.22,1,.36,1)}.hsk-cb-kiku-id-pill:hover .hsk-copy-sheet,.hsk-cb-toolsheet-pub:is(:hover,:active) .hsk-copy-sheet,.hsk-cb-secret-key:is(:hover,:active) .hsk-copy-sheet{transform:translate(.9px,.9px)}.hsk-cb-kiku-id-pill:hover .hsk-copy-back,.hsk-cb-toolsheet-pub:is(:hover,:active) .hsk-copy-back,.hsk-cb-secret-key:is(:hover,:active) .hsk-copy-back{transform:translate(-.9px,-.9px)}@media(prefers-reduced-motion:reduce){.hsk-cb-attach-btn:hover:not(:disabled) svg,.hsk-cb-kiku-id-pill:hover .hsk-copy-sheet,.hsk-cb-kiku-id-pill:hover .hsk-copy-back,.hsk-cb-toolsheet-pub:is(:hover,:active) :is(.hsk-copy-sheet,.hsk-copy-back),.hsk-cb-secret-key:is(:hover,:active) :is(.hsk-copy-sheet,.hsk-copy-back){transform:none}.hsk-cb-voice-mode-btn:hover:not(:disabled) .hsk-wave-bar{animation:none}}.hsk-cb-attach-btn:disabled,.hsk-cb-voice-mode-btn:disabled{opacity:.3;cursor:not-allowed;transform:none}.hsk-cb-user-imgs{display:grid;gap:2px;width:fit-content;max-width:min(78%,320px);margin-bottom:4px;margin-left:auto;border-radius:18px 18px 4px;overflow:hidden;box-shadow:0 4px 16px #00000029}.hsk-cb-user-imgs[data-count="1"]{grid-template-columns:1fr}.hsk-cb-user-imgs[data-count="2"]{grid-template-columns:1fr 1fr}.hsk-cb-user-imgs[data-count="3"]{grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr}.hsk-cb-user-imgs[data-count="3"]>:first-child{grid-row:span 2}.hsk-cb-user-imgs[data-count="4"]{grid-template-columns:1fr 1fr}.hsk-cb-user-img-cell{position:relative;display:block;padding:0;border:none;background:none;cursor:pointer;overflow:hidden;min-width:0;line-height:0}.hsk-cb-user-imgs[data-count="1"] .hsk-cb-user-img-cell{aspect-ratio:auto}.hsk-cb-user-imgs:not([data-count="1"]) .hsk-cb-user-img-cell{aspect-ratio:1}.hsk-cb-user-img-more{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#00000073;color:#fff;font-size:20px;font-weight:600;line-height:1}.hsk-cb-user-img-thumb{width:100%;height:100%;object-fit:cover;display:block;cursor:pointer}.hsk-cb-user-imgs[data-count="1"] .hsk-cb-user-img-thumb{height:auto;max-height:300px;object-fit:contain}.hsk-cb-user-img-cell:hover .hsk-cb-user-img-thumb{filter:brightness(.93)}.hsk-cb-leave{position:relative;z-index:1002;display:inline-flex;flex-wrap:nowrap;white-space:nowrap;align-items:center;gap:8px;width:fit-content;max-width:calc(100% - 24px);margin-bottom:-11px;margin-inline-start:14px;padding:3px 4px 3px 12px;border-radius:999px;background:var(--hsk-chat-ai-bg, #eeeef0);color:var(--hsk-chat-text, #111827);box-shadow:0 0 0 3px var(--hsk-chat-bg, #ffffff);font:600 12px/24px var(--hsk-font);animation:hsk-leave-in .18s cubic-bezier(.16,1,.3,1) both}@keyframes hsk-leave-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.hsk-cb-leave+.hsk-cb-input-card>*{opacity:.45;transition:opacity .15s}.hsk-cb-leave-btn{height:24px;padding:0 11px;border:none;border-radius:999px;background:#80808029;color:inherit;font:600 12px var(--hsk-font);cursor:pointer;transition:opacity .15s}.hsk-cb-leave-btn:hover{opacity:.88}.hsk-cb-leave-btn--end{background:var(--hsk-primary, #ff6a33);color:#fff}.hsk-cb-error{display:block;width:fit-content;max-width:min(560px,100%);margin:10px auto 8px;padding:10px 14px;border-radius:10px;background:#ef444414;border:1px solid rgba(239,68,68,.2);color:#ef4444;font-size:13px;line-height:1.5;font-family:var(--hsk-font);text-align:center}.hsk-kiku-badge{display:inline-block;font-size:var(--hsk-font-size, 16px);font-family:var(--hsk-font);font-weight:600;background:#ffffff38;border:1px solid rgba(255,255,255,.35);color:#fff;padding:1px 7px;border-radius:6px;margin-inline-end:6px}.hsk-cb-memory-pill{display:inline-flex;align-items:center;gap:10px;align-self:flex-start;margin:12px 0 6px;padding:12px 22px;font-size:15px;font-weight:600;text-decoration:none;color:#fff;background:linear-gradient(135deg,#007aff,#0056b3);border:none;border-radius:18px 18px 18px 4px!important;box-shadow:0 4px 16px -2px #007aff61,inset 0 1px color-mix(in srgb,var(--hsk-chat-bg, #fff) 28%,transparent);transition:transform .18s cubic-bezier(.34,1.56,.64,1),opacity .15s,box-shadow .18s ease;cursor:pointer}.hsk-cb-memory-pill:hover{opacity:.96;transform:translateY(-1px) scale(1.02);box-shadow:0 6px 20px #007aff7a}.hsk-cb-think{position:relative;z-index:2;margin-bottom:-11px;margin-inline-start:12px;font-size:14px;font-family:var(--hsk-font)}.hsk-cb-think--note{margin-bottom:0}.hsk-cb-think-head{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 11px;border:none;border-radius:999px;background:var(--hsk-chat-ai-bg, #eeeef0);box-shadow:0 0 0 3px var(--hsk-chat-bg, #ffffff),0 1px 3px #00000021;font-family:var(--hsk-font);font-size:12px;font-weight:600;color:var(--hsk-chat-muted, #6b7280);cursor:pointer;user-select:none;line-height:28px}.hsk-cb-think-head:hover{color:var(--hsk-chat-text, #111827)}.hsk-cb-think-head--static{cursor:default}.hsk-cb-think-head--static:hover{color:var(--hsk-chat-muted, #6b7280)}.hsk-cb-think-chevron{font-size:9px;transition:transform .12s}.hsk-cb-think-chevron--open{transform:rotate(90deg)}.hsk-cb-think-body{margin-top:6px;padding:8px 12px;border-left:2px solid var(--hsk-chat-border, rgba(128,128,128,.25));color:var(--hsk-chat-muted, #4b5563);white-space:pre-wrap;line-height:1.5;font-family:var(--hsk-font);font-size:14px}.hsk-cb-stopped{display:flex;flex-direction:column;align-items:start;gap:8px;margin:10px 0 14px}.hsk-cb-stopped--empty{align-items:center;text-align:center;margin:22px auto 18px}.hsk-cb-stopped--empty .hsk-cb-stopped-label{text-align:center}.hsk-cb-stopped-dots{display:flex;gap:5px;margin-bottom:2px}.hsk-cb-stopped-dots i{width:5px;height:5px;border-radius:50%;background:var(--hsk-chat-muted, #888);opacity:.4}.hsk-cb-stopped-label{font-size:13px;line-height:1.5;color:var(--hsk-chat-muted, #888);font-family:var(--hsk-font);text-align:start}.hsk-cb-continue{display:inline-flex;align-items:center;gap:7px;padding:7px 14px;font-size:13px;font-weight:500;font-family:var(--hsk-font);color:var(--hsk-chat-text, #111);background:color-mix(in srgb,var(--hsk-chat-text, #111) 7%,transparent);border:1px solid color-mix(in srgb,var(--hsk-chat-text, #111) 12%,transparent);border-radius:999px;cursor:pointer;transition:border-color .15s,color .15s,background .15s}.hsk-cb-continue:hover{border-color:var(--hsk-primary);color:var(--hsk-primary);background:transparent}.hsk-cb-continue svg{flex:none}[dir=rtl] .hsk-cb-continue svg{transform:scaleX(-1)}.hsk-sb-wrap{--hsk-bg: #ffffff;--hsk-border: #f1f3f4;--hsk-text: #1f1f1f;--hsk-muted: #5f6368;--hsk-hover: #f8f9fa;--hsk-drop-shadow: 0 8px 30px rgba(0,0,0,.06);--hsk-primary: var(--chat-primary-color, #ff6a33);position:relative;width:100%;font-family:inherit}@media(prefers-color-scheme:dark){.hsk-sb-wrap{--hsk-bg: #0a0a0a;--hsk-border: #202124;--hsk-text: #e8eaed;--hsk-muted: #888;--hsk-hover: #1a1a1b;--hsk-drop-shadow: 0 12px 40px rgba(0,0,0,.4)}}.hsk-sb-input{width:100%;padding:10px 16px 10px 40px;font-size:14px;border-radius:var(--hsk-border-radius, 0px);border:1.5px solid var(--hsk-border);outline:none;box-sizing:border-box;background:var(--hsk-bg);color:var(--hsk-text);transition:border-color .15s,box-shadow .15s;font-family:inherit}.hsk-sb-input::placeholder{color:var(--hsk-muted)}.hsk-sb-input:focus{border-color:var(--hsk-primary);box-shadow:0 0 0 3px #ff6a331f}.hsk-sb-icon{position:absolute;inset-inline-start:14px;top:50%;transform:translateY(-50%);color:var(--hsk-muted);pointer-events:none;display:flex;align-items:center}.hsk-sb-drop{position:absolute;top:calc(100% + 6px);left:0;right:0;background:var(--hsk-bg);border:1px solid var(--hsk-border);border-radius:var(--hsk-border-radius, 0px);box-shadow:var(--hsk-drop-shadow);z-index:9999;overflow:hidden;padding:6px 0}.hsk-sb-row{display:flex;align-items:center;gap:12px;padding:9px 16px;cursor:pointer;transition:background .1s}.hsk-sb-row:hover{background:var(--hsk-hover)}.hsk-sb-row-thumb{width:38px;height:38px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--hsk-muted);background:var(--hsk-hover);border-radius:var(--hsk-border-radius, 0px);overflow:hidden}.hsk-sb-row-thumb img{width:100%;height:100%;object-fit:cover;display:block}.hsk-sb-row-body{flex:1;min-width:0}.hsk-sb-row-title{font-size:13px;font-weight:500;color:var(--hsk-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.hsk-sb-row-sub{font-size:11px;color:var(--hsk-muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hsk-sb-empty{padding:14px 16px;font-size:13px;color:var(--hsk-muted)}.hsk-sb-loading-bar{height:2px;background:linear-gradient(90deg,transparent,var(--hsk-primary),transparent);background-size:200% 100%;animation:hsk-sweep .9s linear infinite;position:absolute;top:0;left:0;right:0}@keyframes hsk-sweep{0%{background-position:200% 0}to{background-position:-200% 0}}.hsk-sb-fade{animation:hsk-fin .1s ease-out both}@keyframes hsk-fin{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}.hsk-sb-skeleton-row{display:flex;align-items:center;gap:12px;padding:9px 16px}.hsk-sb-skeleton-icon{width:38px;height:38px;background:var(--hsk-hover, rgba(0, 0, 0, .05));border-radius:var(--hsk-border-radius, 0px);flex-shrink:0;animation:hsk-pulse 1.5s ease-in-out infinite}.hsk-sb-skeleton-text1{height:12px;background:var(--hsk-hover, rgba(0, 0, 0, .05));border-radius:3px;width:60%;animation:hsk-pulse 1.5s ease-in-out infinite}.hsk-sb-skeleton-text2{height:8px;background:var(--hsk-hover, rgba(0, 0, 0, .05));border-radius:2px;width:35%;margin-top:5px;animation:hsk-pulse 1.5s ease-in-out infinite}@keyframes hsk-pulse{0%,to{opacity:.6}50%{opacity:1}}@media(pointer:coarse){.hsk-cb-user-bubble,.hsk-cb-ai-body{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}}.hsk-tapback-overlay{position:absolute;inset:0;z-index:1000;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;touch-action:none}.hsk-tapback-group{position:absolute;z-index:1002;display:flex;flex-direction:column;animation:hsk-tapback-flow-up .26s cubic-bezier(.34,1.56,.64,1) both}.hsk-tapback-group.is-closing{animation:hsk-tapback-flow-down .19s cubic-bezier(.55,0,.85,.35) forwards}.hsk-tapback-group.is-above{transform-origin:var(--tail-x, 80%) calc(100% + 16px)}.hsk-tapback-group.is-below{transform-origin:var(--tail-x, 80%) -16px}.hsk-tapback-capsule{display:inline-flex;align-items:center;gap:1px;padding:3px 5px;height:36px;min-height:36px;border-radius:999px;border:none;background:var(--hsk-skin, var(--hsk-bubble-bg, #eeeef0));box-shadow:0 0 0 3px var(--hsk-chat-bg, #ffffff),0 6px 18px #00000029;max-width:calc(100vw - 20px);position:relative;z-index:2;box-sizing:border-box}.hsk-tapback-tail{position:absolute;top:calc(100% - 2px);transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:3px;pointer-events:none;z-index:1}.hsk-tapback-tail.is-below{top:auto;bottom:calc(100% - 2px);flex-direction:column-reverse}.hsk-tapback-dot--mid{margin-left:calc(var(--tail-dir, 0) * var(--tail-step, 5px))}.hsk-tapback-dot--anchor{margin-left:calc(var(--tail-dir, 0) * var(--tail-step, 5px) * 2.2)}.hsk-tapback-dot{display:block;border-radius:50%;flex-shrink:0;border:none}.hsk-tapback-dot--mid{width:12px;height:12px;background:var(--hsk-skin, var(--hsk-bubble-bg, #eeeef0));box-shadow:0 0 0 3px var(--hsk-chat-bg, #ffffff),0 2px 5px #0000001f;animation:hsk-tapback-bead .2s cubic-bezier(.16,1,.3,1) .06s backwards}.hsk-tapback-dot--anchor{width:9px;height:9px;background:var(--hsk-anchor-color, var(--hsk-primary, #007aff));animation:hsk-tapback-bead .2s cubic-bezier(.16,1,.3,1) .02s backwards}.hsk-tapback-tool-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;height:30px;border-radius:999px;font-size:12px;font-weight:500;font-family:var(--hsk-font);line-height:1;color:var(--hsk-chat-text, #f3f4f6);background:transparent;border:none;cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent;transition:background-color .15s ease,transform .12s ease;white-space:nowrap;animation:hsk-tapback-tool-pop .2s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(.02s + var(--tool-idx, 0) * .02s)}.hsk-tapback-tool-btn:hover{background:color-mix(in srgb,var(--hsk-chat-text, #ffffff) 14%,transparent)}.hsk-tapback-tool-btn:active{transform:scale(.92)}.hsk-tapback-tool-btn--pin{color:var(--hsk-primary, #ff6a33)}.hsk-tapback-tool-btn--pin:hover{background:color-mix(in srgb,var(--hsk-primary, #ff6a33) 18%,transparent)}.hsk-tapback-tool-btn--copy.is-copied{color:#10b981!important}@keyframes hsk-tapback-flow-up{0%{opacity:0;transform:scale(.12,.04)}18%{opacity:1}46%{transform:scale(1.06,1.13)}74%{transform:scale(.985,.95)}to{opacity:1;transform:scale(1)}}@keyframes hsk-tapback-flow-down{0%{opacity:1;transform:scale(1)}65%{opacity:1;transform:scale(.5,.34)}to{opacity:0;transform:scale(.12,.04)}}@keyframes hsk-tapback-bead{0%{opacity:0;transform:scale(.2)}to{opacity:1;transform:scale(1)}}@keyframes hsk-tapback-tool-pop{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.hsk-cb-topbar-logo{display:block;max-height:18px;max-width:104px;object-fit:contain}.hsk-cb-sound-pill{display:inline-flex;align-items:center;gap:7px;height:32px;padding:0 12px;border-radius:16px;font-family:var(--hsk-font);font-size:11px;font-weight:550;color:var(--hsk-chat-muted, #71717a);background:color-mix(in srgb,var(--hsk-chat-bg, #ffffff) 65%,transparent);backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border:1px solid color-mix(in srgb,var(--hsk-chat-border, rgba(255, 255, 255, .35)) 30%,transparent);cursor:pointer;transition:color .2s ease,border-color .2s ease,transform .2s cubic-bezier(.34,1.56,.64,1)}.hsk-cb-sound-pill.is-on{color:var(--hsk-chat-text, #111)}.hsk-cb-req{position:relative;width:100%}.hsk-cb-req-dot{width:7px;height:7px;border-radius:50%;background:var(--hsk-primary, #ff6a33)}.hsk-cb-req-list{position:absolute;bottom:calc(100% + 10px);inset-inline-start:0;z-index:60;display:flex;flex-direction:column;width:100%;max-height:300px;overflow-y:auto;scrollbar-width:none;font-family:var(--hsk-font);animation:hsk-leave-in .18s cubic-bezier(.16,1,.3,1) both}.hsk-cb-req-open{display:flex;align-items:flex-start;gap:9px;width:100%;padding:6px 0 6px 12px;padding-inline:12px 0;border:none;background:none;color:var(--hsk-chat-muted, #8a8f98);font:inherit;text-align:start;cursor:pointer;opacity:.6;transition:opacity .2s ease,color .2s ease}.hsk-cb-req-open:hover,.hsk-cb-req-card.is-open .hsk-cb-req-open,.hsk-cb-req-card.is-active .hsk-cb-req-open{opacity:1}.hsk-cb-req-card.is-active .hsk-cb-req-summary{color:var(--hsk-chat-text, #1f1f1f);font-weight:500}.hsk-cb-req-mark{flex:none;width:6px;height:6px;margin-top:5px;border-radius:50%;background:currentColor;opacity:.45}.hsk-cb-req-card.is-open .hsk-cb-req-mark{background:var(--hsk-primary, #ff6a33);box-shadow:0 0 0 4px color-mix(in srgb,var(--hsk-primary, #ff6a33) 14%,transparent);opacity:1}.hsk-cb-req-text{display:flex;flex-direction:column;gap:1px;min-width:0}.hsk-cb-req-summary,.hsk-cb-req-status{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hsk-cb-req-summary{font-size:12px;line-height:1.4}.hsk-cb-req-status{font-size:10.5px;opacity:.75}.hsk-cb-tray-below{position:absolute;top:calc(var(--hsk-tray-top, 100%) + var(--hsk-tray-h, 0px) + 14px);left:50%;transform:translate(-50%);width:min(300px,calc(100vw - 28px));z-index:1000;animation:hsk-scrim-in .25s cubic-bezier(.16,1,.3,1) .08s both}.hsk-cb-tray-below.is-closing{animation:hsk-scrim-out .18s cubic-bezier(.4,0,1,1) both;pointer-events:none}.hsk-cb-tray-below .hsk-cb-req-list{position:static;max-height:32vh;animation:none}.hsk-cb-tray-below-title{display:block;padding:0 12px 4px;font:600 10.5px var(--hsk-font);letter-spacing:.04em;text-transform:uppercase;color:var(--hsk-chat-muted, #8a8f98);opacity:.7}.hsk-cb-btn-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#ef4444;color:#fff;font-size:11px;font-weight:700;line-height:1}.hsk-cb-sound-pill:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--hsk-primary, #ff6a33) 25%,transparent);color:var(--hsk-primary, #ff6a33)}.hsk-cb-topbar-ooze-menu .hsk-cb-tray-aside{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}.hsk-cb-topbar-ooze-menu .hsk-cb-tray-rule{width:13px;height:1px;background:var(--hsk-chat-muted, #71717a);opacity:.25}.hsk-cb-sound-pill.is-compact{width:26px;height:26px;padding:0;gap:0;justify-content:center;border-radius:9px}.hsk-cb-topbar-ooze-menu .hsk-cb-tray-aside{width:14px;flex:0 0 14px}.hsk-cb-topbar-ooze-menu .hsk-cb-tray-aside .hsk-cb-sound-pill{width:14px;height:14px;border:none;background:none;backdrop-filter:none;-webkit-backdrop-filter:none;border-radius:0;opacity:.45}.hsk-cb-topbar-ooze-menu .hsk-cb-tray-aside .hsk-cb-sound-pill.is-on{opacity:.75}.hsk-cb-topbar-ooze-menu .hsk-cb-tray-aside .hsk-cb-sound-pill:hover{transform:none}.hsk-cb-topbar-ooze-menu .hsk-cb-tray-aside .hsk-cb-sound-pill svg{width:12px;height:12px}.hsk-cb-topbar-ooze-menu .hsk-cb-theme-2x2-grid{flex:1 1 auto!important}.hsk-cb-sound-pill.is-blocked{color:#ef4444!important;opacity:1!important}.hsk-cb-panel[dir=rtl] .hsk-cb-topbar-ooze-menu .hsk-cb-theme-vlabel{transform:none}.hsk-markdown-table td.hsk-md-ok,[data-hsk-theme] .hsk-markdown-table td.hsk-md-ok{color:color-mix(in srgb,#10b981 72%,var(--hsk-chat-text, #111))!important;font-weight:600}.hsk-markdown-table td.hsk-md-bad,[data-hsk-theme] .hsk-markdown-table td.hsk-md-bad{color:color-mix(in srgb,#ef4444 72%,var(--hsk-chat-text, #111))!important;font-weight:600}@media(max-width:1199px){.hsk-cb-topbar-ooze-menu.is-island,.hsk-cb-topbar-ooze-menu.is-island.is-closing{animation:none;will-change:clip-path}.hsk-cb-topbar-ooze-menu.is-island>*{opacity:var(--hsk-island-content, 1)}}.hsk-cb-topbar-ooze-menu.is-parked,.hsk-cb-tray-shadow.is-parked{visibility:hidden;pointer-events:none;opacity:0!important}[data-hsk-theme] .hsk-cb-topbar-ooze-menu.is-parked,.hsk-cb-topbar-ooze-menu.is-parked{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:none!important}.hsk-cb-tray-shadow.is-parked>div{box-shadow:none!important}.hsk-cb-tray-shadow{position:absolute;top:var(--hsk-tray-top, 0px);left:50%;transform:translate(-50%);width:var(--hsk-tray-w, 0px);height:var(--hsk-tray-h, 0px);z-index:1000;pointer-events:none}.hsk-cb-tray-shadow>div{position:absolute;left:0;top:0;width:100%;height:100%;border-radius:18px;box-shadow:0 16px 38px -6px color-mix(in srgb,#000 16%,transparent)}.hsk-cb-allowance{display:flex;flex-wrap:wrap;gap:6px;margin-block-start:8px;pointer-events:none}@media(min-width:1200px){.hsk-cb-allowance{flex-direction:column;flex-wrap:nowrap;align-items:flex-start;gap:12px;position:absolute;bottom:48px;width:auto;max-width:200px;margin-block-start:0;z-index:10;direction:ltr}.hsk-cb-allowance--right{left:100%!important;right:auto!important;margin-left:28px!important;margin-right:0!important;align-items:flex-start}.hsk-cb-allowance--left{left:auto!important;right:100%!important;margin-right:28px!important;margin-left:0!important;align-items:flex-end}}.hsk-cb-allowance-pill{display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 13px;border-radius:999px;font-family:inherit;font-size:11.5px;font-weight:550;letter-spacing:-.01em;line-height:1;white-space:nowrap;color:var(--hsk-chat-text)!important;background:color-mix(in srgb,var(--hsk-chat-bg, #ffffff) 68%,transparent)!important;backdrop-filter:blur(28px) saturate(var(--hsk-glass-saturate, 180%));-webkit-backdrop-filter:blur(28px) saturate(var(--hsk-glass-saturate, 180%));border:1px solid color-mix(in srgb,var(--hsk-chat-border, rgba(255, 255, 255, .35)) 35%,transparent)!important;border-top:1px solid color-mix(in srgb,var(--hsk-chat-bg, #fff) 70%,transparent)!important;border-bottom:1px solid color-mix(in srgb,#000 8%,transparent)!important;box-shadow:0 4px 18px -2px color-mix(in srgb,#000 14%,transparent),0 1px color-mix(in srgb,var(--hsk-chat-bg, #fff) 45%,transparent) inset!important;animation:hsk-allowance-in .34s cubic-bezier(.22,1,.36,1) both;transition:all .2s cubic-bezier(.16,1,.3,1);cursor:default}.hsk-cb-allowance-pill:hover{background:color-mix(in srgb,var(--hsk-chat-bg, #ffffff) 82%,transparent)!important;border-top-color:color-mix(in srgb,var(--hsk-chat-bg, #fff) 85%,transparent)!important;transform:translateY(-1px);box-shadow:0 6px 20px -2px color-mix(in srgb,#000 18%,transparent),0 1px color-mix(in srgb,var(--hsk-chat-bg, #fff) 60%,transparent) inset!important}.hsk-cb-allowance-pill-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--hsk-primary, #6366f1);opacity:.95}.hsk-cb-allowance-pill-icon svg{width:12.5px;height:12.5px}.hsk-cb-allowance-pill-label{font-family:inherit;letter-spacing:-.01em}.hsk-cb-allowance-pill.is-spent{opacity:.5;filter:grayscale(.6)}@keyframes hsk-allowance-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.hsk-cb-allowance-pill{animation:none}}.hsk-cb-onboarding-card .hsk-cb-entlang-opt{padding-inline:2px 0}.hsk-cb-secret-card{display:flex;flex-direction:column;gap:8px;max-width:340px}.hsk-cb-secret-head{display:flex;align-items:center;gap:8px}.hsk-cb-secret-title{flex:1;font-size:13px;font-weight:600;color:var(--hsk-chat-text, #111)}.hsk-cb-secret-timer{font-size:11px;font-variant-numeric:tabular-nums;color:var(--hsk-chat-muted, #6b7280)}.hsk-cb-secret-dismiss{display:grid;place-items:center;width:24px;height:24px;padding:0;font-size:15px;line-height:1;color:var(--hsk-chat-text, #111);background:color-mix(in srgb,var(--hsk-chat-text, #111) 8%,transparent);border:0;border-radius:50%;cursor:pointer}.hsk-cb-secret-key{display:flex;align-items:center;gap:10px;width:100%;padding:8px 8px 8px 14px;border:1px solid color-mix(in srgb,var(--hsk-chat-text, #111) 10%,transparent);border-radius:999px;background:color-mix(in srgb,var(--hsk-chat-bg, #fff) 70%,transparent);cursor:pointer}.hsk-cb-secret-key code{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;text-align:start;color:var(--hsk-chat-text, #111)}.hsk-cb-secret-copy{display:inline-flex;align-items:center;gap:5px;flex-shrink:0;padding:5px 12px;font-size:12px;font-weight:600;color:#fff;background:var(--hsk-primary, #ff6a33);border-radius:999px}.hsk-cb-secret-hint{font-size:11px;color:var(--hsk-chat-muted, #6b7280)}.hsk-cb-swatch-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:10px;max-width:460px;margin-top:10px}.hsk-cb-swatch{display:flex;flex-direction:column;gap:2px;padding:0 0 8px;text-align:start;background:var(--hsk-chat-source-bg, rgba(0, 0, 0, .03));border:1px solid color-mix(in srgb,var(--hsk-chat-text, #111) 8%,transparent);border-radius:14px;overflow:hidden;cursor:pointer;animation:hsk-msg-in .25s ease-out both;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s ease}.hsk-cb-swatch--target{cursor:default;background:transparent;border-style:dashed;border-color:color-mix(in srgb,var(--hsk-chat-text, #111) 28%,transparent)}.hsk-cb-swatch--target .hsk-cb-swatch-name{color:var(--hsk-chat-muted, #6b7280)}.hsk-cb-swatch:not(.hsk-cb-swatch--target):hover{transform:translateY(-2px);box-shadow:0 10px 24px -12px color-mix(in srgb,#000 35%,transparent)}.hsk-cb-swatch-chip{display:block;aspect-ratio:1 / .8;margin-bottom:6px;box-shadow:inset 0 -1px color-mix(in srgb,#000 8%,transparent)}.hsk-cb-swatch-name{padding:0 10px;font-size:12px;font-weight:600;line-height:1.3;color:var(--hsk-chat-text, #111);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hsk-cb-swatch-code{padding:0 10px;font-size:11px;font-variant-numeric:tabular-nums;letter-spacing:.02em;color:var(--hsk-chat-muted, #6b7280)}@media(prefers-reduced-motion:reduce){.hsk-cb-swatch,.hsk-cb-swatch:hover{animation:none;transform:none}}.hsk-cb-opening-spinner{animation:hsk-cb-opening-spin 1s linear infinite}@keyframes hsk-cb-opening-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.hsk-cb-opening-spinner{animation:none}}.hsk-opening-shell{position:fixed;inset:0;z-index:2147483647;height:100vh;height:100dvh;margin:0;box-sizing:border-box;background:var(--hsk-chat-bg, #f5f0e8);color:var(--hsk-chat-text, #342820);font:14px var(--hsk-font, system-ui, sans-serif)}.hsk-opening-panel{max-width:720px;height:100%;margin:0 auto;display:flex;flex-direction:column}.hsk-opening-header{display:flex;align-items:center;justify-content:space-between;padding:14px 24px 10px;min-height:48px;box-sizing:border-box;font-weight:600}.hsk-opening-logo{max-width:150px;height:24px;object-fit:contain}.hsk-opening-close{appearance:none;border:0;border-radius:50%;background:transparent;color:inherit;font:28px/1 system-ui,sans-serif;width:40px;height:40px;cursor:pointer}.hsk-opening-close:focus-visible,.hsk-opening-retry:focus-visible{outline:2px solid currentColor;outline-offset:3px}.hsk-opening-content{flex:1;display:grid;place-items:center;padding:24px}.hsk-opening-feedback{display:flex;flex-direction:column;align-items:center;gap:14px;color:inherit}.hsk-opening-feedback p{margin:0}.hsk-opening-retry{appearance:none;background:transparent;color:inherit;border:1px solid currentColor;border-radius:6px;padding:8px 16px;font:inherit;cursor:pointer}.hsk-gallery-cover{position:relative;display:block;width:100%;border:0;padding:0;cursor:pointer;background:transparent}.hsk-gallery-cover img{width:100%;height:100%;object-fit:cover}.hsk-gallery-count{position:absolute;bottom:6px;right:6px;padding:3px 7px;border-radius:10px;background:#000000b8;color:#fff;font-size:11px}.hsk-gallery-cover:focus-visible{outline:2px solid var(--hsk-primary,#ff6a33);outline-offset:3px}@keyframes hsk-card-in{0%{opacity:0;transform:scale(.96) translateY(-12px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes hsk-bar{0%{background-position:200% 0}to{background-position:-200% 0}}@media(max-width:768px){.hsk-cb-overlay{--hsk-font-size: var(--hsk-mobile-font-size, 14px) !important;position:fixed!important;inset:0!important;width:100vw!important;height:100%!important;height:var(--hsk-vvh, 100dvh)!important;min-height:0!important;z-index:2147483647!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;overscroll-behavior:contain!important;background:var(--hsk-chat-bg, #0a0a0a)!important;box-sizing:border-box!important}.hsk-cb-panel{position:relative!important;height:100%!important;width:100%!important;max-width:100%!important;margin:0!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;border-radius:0!important;background:var(--hsk-chat-bg, #0a0a0a)!important;box-sizing:border-box!important}.hsk-cb-main{flex:1 1 auto!important;height:100%!important;min-height:0!important;display:flex!important;flex-direction:column!important;justify-content:space-between!important;overflow:hidden!important;background:var(--hsk-chat-bg, #0a0a0a)!important;box-sizing:border-box!important}.hsk-cb-topbar{padding:14px 14px 8px!important}.hsk-cb-msgs{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;padding:10px 14px 0!important}.hsk-cb-empty{flex:1 0 auto!important;justify-content:center!important;padding:16px 4px!important}.hsk-cb-input-box{grid-template-columns:auto 1fr auto auto}.hsk-cb-input-box>.hsk-cb-attach-btn{display:none}.hsk-cb-input-box>.hsk-cb-voice-mode-btn{display:none}.hsk-cb-input-box>.hsk-cb-field{grid-column:2}.hsk-cb-input-box>.hsk-cb-voice-mode-btn{grid-column:3}.hsk-cb-input-box>.hsk-cb-send,.hsk-cb-input-box>.hsk-chat-send{grid-column:4}.hsk-cb-tools-toggle{display:flex;grid-column:1;grid-row:1;width:36px;height:36px;align-items:center;justify-content:center;flex-shrink:0;padding:0;border:none;border-radius:12px;background:var(--hsk-chat-subtle, rgba(0,0,0,.045));color:var(--hsk-chat-muted, #6b7280);cursor:pointer;transition:transform .26s cubic-bezier(.34,1.56,.64,1),background-color .2s ease}.hsk-cb-tools-toggle--open{transform:rotate(45deg);background:var(--hsk-chat-divide, rgba(0,0,0,.09))}.hsk-cb-toolsheet-wrap,.hsk-cb-toolsheet-scrim{display:block}.hsk-cb-toolsheet-item{display:flex}.hsk-cb-input-box[data-expanded=true]>.hsk-cb-tools-toggle{grid-row:2}.hsk-cb-ai-msg--inline{display:block!important;padding-inline-end:34px}.hsk-cb-hello-wrap{align-items:center!important;text-align:center!important;gap:4px!important;width:100%!important;max-width:min(520px,100%)!important;padding-inline:16px!important;box-sizing:border-box!important;margin-inline:auto!important}.hsk-cb-ink-skeleton{align-items:center!important}.hsk-cb-hello{font-size:clamp(21px,5.8vw,30px)!important;font-weight:600!important;line-height:1.25!important;letter-spacing:-.02em!important;color:var(--hsk-chat-muted, #8b8b8f)!important;text-align:center!important;text-wrap:balance;max-width:100%!important;overflow-wrap:break-word}.hsk-cb-hello-lead,.hsk-cb-hello-ask{font-size:14px!important;font-weight:400!important;line-height:1.45!important;text-align:center!important;text-wrap:balance;max-width:100%!important;overflow-wrap:break-word;color:color-mix(in srgb,var(--hsk-chat-muted, #8b8b8f) 78%,transparent)!important}.hsk-cb-hello-lead{font-size:14px!important;margin-top:4px!important}.hsk-cb-lang-chips{justify-content:center!important;width:100%!important;gap:8px!important;margin:12px 0 6px!important}.hsk-cb-lang-chips-hint{width:100%!important;justify-content:center!important;margin-top:6px!important;margin-inline-start:0!important}.hsk-cb-onboarding-head{justify-content:flex-start!important;margin-bottom:12px!important}.hsk-cb-onboarding-card .hsk-cb-hello-wrap{align-items:flex-start!important;text-align:start!important}.hsk-cb-onboarding-card .hsk-cb-hello,.hsk-cb-onboarding-card .hsk-cb-hello-lead,.hsk-cb-onboarding-card .hsk-cb-hello-ask,.hsk-cb-onboarding-card .hsk-cb-hello-hint{text-align:start!important}.hsk-cb-onboarding-card .hsk-cb-lang-chips,.hsk-cb-onboarding-card .hsk-cb-lang-chips-hint{justify-content:flex-start!important}.hsk-cb-doodles{opacity:.92!important}.hsk-cb-input-wrap{margin-top:auto!important;flex-shrink:0!important;--hsk-composer-pad-top: 8px;--hsk-composer-pad-x: 14px;padding:8px 14px!important;padding-bottom:max(12px,env(safe-area-inset-bottom))!important;background:var(--hsk-chat-bg, #0a0a0a)!important;position:relative!important;z-index:10!important}.hsk-cb-attach-btn,.hsk-cb-send,.hsk-chat-send{width:32px!important;height:32px!important;border-radius:8px!important}.hsk-cb-attach-btn svg,.hsk-cb-send svg,.hsk-chat-send svg{width:15px!important;height:15px!important}.hsk-cb-input-box{padding:10px 10px 10px 14px}.hsk-cb-user-bubble{max-width:85%}}.hsk-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:12px 0 8px;width:100%;max-width:100%;min-width:0;border-radius:0;padding:0 0 6px;background:transparent;box-shadow:none;box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--hsk-chat-divide, rgba(0, 0, 0, .2)) transparent;cursor:grab;user-select:auto;transition:mask-image .15s ease,-webkit-mask-image .15s ease}.hsk-table-wrapper.is-dragging{cursor:grabbing;user-select:none}.hsk-table-wrapper::-webkit-scrollbar{height:5px}.hsk-table-wrapper::-webkit-scrollbar-track{background:transparent}.hsk-table-wrapper::-webkit-scrollbar-thumb{background:var(--hsk-chat-divide, rgba(0, 0, 0, .25));border-radius:4px}.hsk-table-wrapper::-webkit-scrollbar-thumb:hover{background:var(--hsk-chat-muted, rgba(0, 0, 0, .5))}.hsk-cb-ai-text .hsk-markdown-p{margin:0 0 10px}.hsk-cb-ai-text .hsk-markdown-p:last-child{margin-bottom:0}.hsk-cb-ai-text .hsk-markdown-list{margin:0 0 10px;padding-inline-start:1.2em}.hsk-cb-ai-text .hsk-markdown-list:last-child{margin-bottom:0}.hsk-cb-ai-text .hsk-markdown-ul{list-style:disc outside}.hsk-cb-ai-text .hsk-markdown-ol{list-style:decimal outside}.hsk-cb-ai-text .hsk-markdown-list li{margin:0 0 7px;padding-left:3px;line-height:1.5}.hsk-cb-ai-text .hsk-markdown-list li:last-child{margin-bottom:0}.hsk-cb-ai-text .hsk-markdown-list li::marker{color:var(--hsk-primary, #ff6a33)}.hsk-cb-ai-text .hsk-markdown-h1,.hsk-cb-ai-text .hsk-markdown-h2,.hsk-cb-ai-text .hsk-markdown-h3{margin:14px 0 7px;font-weight:650;line-height:1.3;letter-spacing:-.01em}.hsk-cb-ai-text .hsk-markdown-h1{font-size:1.09em}.hsk-cb-ai-text .hsk-markdown-h2{font-size:1.03em}.hsk-cb-ai-text .hsk-markdown-h3{font-size:1em}.hsk-cb-ai-text>:first-child{margin-top:0}.hsk-markdown-table{width:max-content;min-width:100%;border-collapse:collapse;border-spacing:0;text-align:start;font-size:13px;background:transparent;margin:0;border:none;font-variant-numeric:tabular-nums}.hsk-markdown-table th{padding:8px 16px 6px;vertical-align:bottom;line-height:1.35;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;color:var(--hsk-chat-muted, rgba(0, 0, 0, .55));border-bottom:1px solid var(--hsk-chat-divide, rgba(0, 0, 0, .1));background:transparent!important}.hsk-markdown-table td{padding:8px 16px;vertical-align:middle;line-height:1.45;font-size:13px;white-space:nowrap;color:var(--hsk-chat-text, inherit);border-bottom:.5px solid var(--hsk-chat-divide, rgba(0, 0, 0, .06));background:transparent!important}.hsk-markdown-table th:first-child,.hsk-markdown-table td:first-child{padding-inline-start:0;font-weight:590;white-space:normal;max-width:280px;min-width:150px;line-height:1.35}.hsk-markdown-table th:last-child,.hsk-markdown-table td:last-child{padding-inline-end:0}.hsk-markdown-table tbody tr:last-child td{border-bottom:none}.hsk-markdown-table td *{color:inherit}.hsk-markdown-table .hsk-markdown-link{display:inline-flex;align-items:center;padding:2px 8px;background-color:var(--hsk-chat-source-bg, rgba(0, 0, 0, .04));border:1px solid var(--hsk-chat-divide, rgba(0, 0, 0, .08));color:var(--hsk-primary, #ff6a33);font-size:12px;font-weight:500;border-radius:6px;text-decoration:none!important;margin:2px 0;transition:opacity .15s ease}.hsk-markdown-table .hsk-markdown-link:hover{opacity:.8}@media(prefers-color-scheme:dark){.hsk-markdown-table th{color:var(--hsk-chat-muted, rgba(255, 255, 255, .5));border-bottom-color:var(--hsk-chat-divide, rgba(255, 255, 255, .1))}.hsk-markdown-table td{color:var(--hsk-chat-text, #f0efed);border-bottom-color:var(--hsk-chat-divide, rgba(255, 255, 255, .06))}}.hsk-markdown-link{color:var(--hsk-primary, #ff6a33);text-decoration:underline;text-underline-offset:2px}.hsk-markdown-code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace,var(--hsk-font);font-size:.85em;background-color:#80808026;padding:.2em .4em;border-radius:var(--hsk-border-radius, 0px);color:inherit;word-break:break-word}.hsk-markdown-img-block{margin:8px 0;line-height:0}.hsk-markdown-img{display:block;max-width:100%;width:auto;max-height:220px;border-radius:10px;box-shadow:0 2px 12px #0000002e;object-fit:cover;background:#80808014}.hsk-chat-widget ::-webkit-scrollbar,.hsk-sp-card ::-webkit-scrollbar,.hsk-cb-msgs ::-webkit-scrollbar,.hsk-sp-details-pane ::-webkit-scrollbar,.hsk-sp-results ::-webkit-scrollbar,.hsk-chat-messages ::-webkit-scrollbar{width:3px;height:3px}.hsk-chat-widget ::-webkit-scrollbar-track,.hsk-sp-card ::-webkit-scrollbar-track,.hsk-cb-msgs ::-webkit-scrollbar-track,.hsk-sp-details-pane ::-webkit-scrollbar-track,.hsk-sp-results ::-webkit-scrollbar-track,.hsk-chat-messages ::-webkit-scrollbar-track{background:transparent}.hsk-chat-widget ::-webkit-scrollbar-thumb,.hsk-sp-card ::-webkit-scrollbar-thumb,.hsk-cb-msgs ::-webkit-scrollbar-thumb,.hsk-sp-details-pane ::-webkit-scrollbar-thumb,.hsk-sp-results ::-webkit-scrollbar-thumb,.hsk-chat-messages ::-webkit-scrollbar-thumb{background:#0000000f;border-radius:99px;transition:background .2s ease}.hsk-chat-widget ::-webkit-scrollbar-thumb:hover,.hsk-cb-msgs ::-webkit-scrollbar-thumb:hover{background:#00000026}@media(prefers-color-scheme:dark){.hsk-chat-widget ::-webkit-scrollbar-thumb,.hsk-sp-card ::-webkit-scrollbar-thumb,.hsk-cb-msgs ::-webkit-scrollbar-thumb,.hsk-sp-details-pane ::-webkit-scrollbar-thumb,.hsk-sp-results ::-webkit-scrollbar-thumb,.hsk-chat-messages ::-webkit-scrollbar-thumb{background:#ffffff14}.hsk-chat-widget ::-webkit-scrollbar-thumb:hover,.hsk-cb-msgs ::-webkit-scrollbar-thumb:hover{background:#fff3}}.hsk-cb-phone-form{display:flex;flex-direction:column;gap:8px;margin-top:8px}.hsk-cb-phone-label{font-size:.875rem;color:var(--hsk-chat-text, #111);margin:0}.hsk-cb-phone-input{width:100%;box-sizing:border-box;padding:8px 12px;border:1px solid var(--hsk-chat-divide, rgba(0,0,0,.12));border-radius:var(--hsk-border-radius, 0px);background:var(--hsk-chat-input-bg, rgba(0,0,0,.04));color:var(--hsk-chat-text, #111);font-size:.9rem;outline:none;transition:border-color .15s}.hsk-cb-phone-input::placeholder{color:var(--hsk-chat-muted, #888)}.hsk-cb-phone-input:focus{border-color:var(--hsk-primary, #ff6a33)}.hsk-cb-phone-submit{align-self:flex-start;padding:8px 16px;border:1px solid var(--hsk-chat-divide, rgba(0,0,0,.12));border-radius:var(--hsk-border-radius, 0px);background:transparent;color:var(--hsk-chat-text, #111);font-size:.875rem;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.hsk-cb-phone-submit:hover{border-color:var(--hsk-primary, #ff6a33);color:var(--hsk-primary, #ff6a33)}.hsk-cb-main{flex:1;min-width:0;display:flex;flex-direction:column;height:100%;overflow:hidden}@keyframes hsk-fade-in-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.hsk-action-pills{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;animation:hsk-fade-in-up .35s ease .1s both}.hsk-action-pill{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border-radius:20px;border:1px solid var(--hsk-chat-divide, rgba(0,0,0,.12));background:var(--hsk-pill-bg, rgba(255,255,255,.8));color:var(--hsk-chat-text, #1f1f1f);font-size:12px;font-weight:500;cursor:pointer;font-family:inherit;transition:all .15s;white-space:nowrap;backdrop-filter:blur(4px)}.hsk-action-pill:hover:not(:disabled){border-color:var(--hsk-primary, #ff6a33);background:color-mix(in srgb,var(--hsk-primary, #ff6a33) 8%,transparent);color:var(--hsk-primary, #ff6a33);transform:translateY(-1px);box-shadow:0 2px 8px #00000014}.hsk-action-pill:disabled{opacity:.4;cursor:not-allowed}.hsk-pill-emoji{font-size:13px;line-height:1}@media(prefers-color-scheme:dark){.hsk-action-pill{--hsk-pill-bg: rgba(40,40,42,.85);border-color:#ffffff1a;color:var(--hsk-chat-text, #e8eaed)}}[data-hsk-theme=dark] .hsk-action-pill{--hsk-pill-bg: rgba(40,40,42,.85);border-color:#ffffff1a;color:var(--hsk-chat-text, #e8eaed)}.kiku-voice-btn:hover{background:var(--hsk-hover-bg, rgba(0,0,0,.06));color:var(--hsk-primary, #6c47ff)}@keyframes kiku-voice-pulse{0%{transform:scale(1);opacity:1}to{transform:scale(1.6);opacity:0}}.kiku-style-tag{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:99px;background:var(--hsk-primary-alpha, rgba(108,71,255,.1));color:var(--hsk-primary, #6c47ff);font-size:11px;font-weight:500;white-space:nowrap}.kiku-voice-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:none;background:transparent;color:var(--hsk-text-muted, #888);cursor:pointer;transition:color .2s,background .2s;flex-shrink:0}.kiku-voice-btn:hover{background:var(--hsk-hover-bg, rgba(0,0,0,.06));color:var(--hsk-primary, #ff6a33)}.kiku-voice-btn--active{color:#ef4444;background:#ef44441a}.kiku-voice-btn:disabled{opacity:.4;cursor:not-allowed}.kiku-voice-ripple{position:absolute;inset:-4px;border-radius:50%;border:2px solid #ef4444;animation:kiku-voice-pulse 1.2s ease-out infinite;pointer-events:none}@keyframes kiku-voice-pulse{0%{transform:scale(1);opacity:1}to{transform:scale(1.7);opacity:0}}.kiku-style-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.kiku-style-tag{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:99px;background:#ff6a331a;color:var(--hsk-primary, #ff6a33);font-size:11px;font-weight:500;white-space:nowrap}.hsk-kiku-badge{display:inline-flex;align-items:center;gap:3px;font-size:13px;font-weight:700;letter-spacing:-.01em;color:#fff;background:#ffffff47;border:1px solid rgba(255,255,255,.45);padding:2px 8px;border-radius:8px;margin-inline-end:8px;vertical-align:middle;position:relative;top:-1px;box-shadow:0 1px 3px #0000001f}.hsk-markdown-img,.hsk-cb-user-img-thumb,.hsk-cb-source .hsk-cb-src-imgwrap img{cursor:zoom-in}.hsk-lightbox{position:fixed;inset:0;z-index:999999;background:color-mix(in srgb,var(--hsk-chat-bg, #fff) 84%,transparent);backdrop-filter:blur(28px) saturate(180%);-webkit-backdrop-filter:blur(28px) saturate(180%);display:flex;align-items:center;justify-content:center;padding:24px;animation:hsk-lightbox-in .15s ease-out both;cursor:zoom-out;user-select:none}@keyframes hsk-lightbox-in{0%{opacity:0}to{opacity:1}}.hsk-lightbox-top{position:absolute;top:18px;left:20px;right:68px;display:flex;align-items:center;z-index:2;pointer-events:none}.hsk-lightbox-title{font-size:14px;font-weight:600;letter-spacing:-.01em;color:var(--hsk-chat-text, #111);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:6px 14px;border-radius:999px;background:color-mix(in srgb,var(--hsk-chat-bg, #fff) 80%,transparent);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid color-mix(in srgb,var(--hsk-chat-text, #111) 10%,transparent);box-shadow:0 2px 10px #0000000f}.hsk-lightbox-stage{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;max-width:100%;max-height:100%;cursor:default}.hsk-lightbox-content{display:flex;flex-direction:column;align-items:center;justify-content:center;max-width:min(92vw,1000px);max-height:calc(100vh - 120px);position:relative}.hsk-lightbox-img{max-width:100%;max-height:min(78vh,760px);width:auto;height:auto;object-fit:contain;border-radius:12px;box-shadow:0 24px 64px -16px #0000005c;cursor:default;transition:transform .18s ease-out}.hsk-lightbox-caption{margin-top:12px;font-size:13px;font-weight:500;line-height:1.4;color:var(--hsk-chat-text, #111);text-align:center;padding:5px 14px;border-radius:999px;background:color-mix(in srgb,var(--hsk-chat-bg, #fff) 75%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid color-mix(in srgb,var(--hsk-chat-text, #111) 8%,transparent);box-shadow:0 2px 8px #0000000d}.hsk-lightbox-close{position:absolute;top:16px;right:16px;width:38px;height:38px;border-radius:50%;border:1px solid color-mix(in srgb,var(--hsk-chat-text, #111) 10%,transparent);background:color-mix(in srgb,var(--hsk-chat-bg, #fff) 78%,transparent);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);color:var(--hsk-chat-text, #111);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease;z-index:3;box-shadow:0 2px 8px #00000014}.hsk-lightbox-close:hover{background:color-mix(in srgb,var(--hsk-chat-bg, #fff) 95%,transparent);transform:scale(1.05)}.hsk-lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:1px solid color-mix(in srgb,var(--hsk-chat-text, #111) 12%,transparent);background:color-mix(in srgb,var(--hsk-chat-bg, #fff) 78%,transparent);backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);color:var(--hsk-chat-text, #111);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .16s ease;z-index:3;box-shadow:0 4px 16px #0000001f}.hsk-lightbox-nav:hover{background:color-mix(in srgb,var(--hsk-chat-bg, #fff) 95%,transparent);transform:translateY(-50%) scale(1.08);box-shadow:0 6px 20px #0000002e}.hsk-lightbox-nav:active{transform:translateY(-50%) scale(.96)}.hsk-lightbox-nav--prev{left:20px}.hsk-lightbox-nav--next{right:20px}.hsk-lightbox-bottom{position:absolute;bottom:22px;left:50%;transform:translate(-50%);display:flex;align-items:center;z-index:2;pointer-events:none}.hsk-lightbox-counter{padding:6px 16px;border-radius:999px;font-size:13px;font-weight:600;letter-spacing:.03em;color:var(--hsk-chat-text, #111);background:color-mix(in srgb,var(--hsk-chat-bg, #fff) 78%,transparent);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid color-mix(in srgb,var(--hsk-chat-text, #111) 10%,transparent);box-shadow:0 4px 14px #00000014}@media(max-width:600px){.hsk-lightbox-nav--prev{left:8px}.hsk-lightbox-nav--next{right:8px}.hsk-lightbox-content{max-width:100%}}.hsk-cb-viz{margin-top:10px;animation:hsk-msg-in .2s ease-out both}.hsk-cb-viz img,.hsk-cb-viz video{width:100%;max-width:420px;border-radius:8px;display:block}.hsk-cb-viz-disclaimer{max-width:420px;margin-top:4px;font-size:11px;line-height:1.4;color:var(--hsk-chat-muted, #9aa0a6)}.hsk-cb-calc-disclaimer{max-width:440px;margin-top:8px;padding:8px 12px;font-size:11.5px;line-height:1.45;color:var(--hsk-chat-muted, rgba(255, 255, 255, .65));background:var(--hsk-chat-callout-bg, rgba(255, 255, 255, .04));border:1px solid var(--hsk-border-subtle, rgba(255, 255, 255, .08));border-radius:8px}[data-hsk-theme=light] .hsk-cb-calc-disclaimer{color:#0009;background:#00000008;border-color:#00000014}.hsk-cb-stale{max-width:420px;margin-top:8px;padding:8px 10px;border:1px solid rgba(220,38,38,.35);border-left-width:3px;border-radius:6px;background:#dc26260f}.hsk-cb-stale-title{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#dc2626}.hsk-cb-stale-item{margin-top:3px;font-size:12px;line-height:1.45;color:var(--hsk-chat-text, #202124)}.hsk-cb-stale-reason{color:var(--hsk-chat-muted, #9aa0a6)}.hsk-cb-viz-imgwrap{position:relative;display:inline-block;max-width:100%}.hsk-cb-viz-mark{position:absolute;right:10px;bottom:10px;display:inline-flex;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:600;color:#fff;background:#0000009e;backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.35);border-radius:999px;cursor:pointer;transition:background .15s}.hsk-cb-viz-mark:hover{background:var(--hsk-primary, #ff6a33);border-color:transparent}.hsk-markup-overlay{position:fixed;inset:0;z-index:999999;background:color-mix(in srgb,var(--hsk-chat-bg, #fff) 84%,transparent);backdrop-filter:blur(28px) saturate(180%);-webkit-backdrop-filter:blur(28px) saturate(180%);display:flex;align-items:center;justify-content:center;padding:12px;animation:hsk-lightbox-in .15s ease-out both}.hsk-markup{height:100%;box-sizing:border-box;padding-top:max(32px,env(safe-area-inset-top));padding-bottom:max(24px,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:12px;width:100%;max-height:100%;overflow-y:auto}.hsk-markup-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.hsk-markup-title{font-size:12px;font-weight:500;line-height:1.4;color:color-mix(in srgb,var(--hsk-chat-text, #111) 55%,transparent)}.hsk-markup-cancel{flex-shrink:0;padding:6px 12px;font-size:12px;font-weight:600;color:var(--hsk-chat-text, #111);border-radius:999px;background:color-mix(in srgb,var(--hsk-chat-bg, #fff) 70%,transparent);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid color-mix(in srgb,var(--hsk-chat-text, #111) 10%,transparent);box-shadow:0 6px 18px -8px color-mix(in srgb,#000 22%,transparent);cursor:pointer}.hsk-markup-cancel:hover{background:color-mix(in srgb,var(--hsk-chat-text, #111) 16%,transparent)}.hsk-markup-stage{display:flex;flex:1;min-height:0;align-items:center;justify-content:center}.hsk-markup-canvas-wrap{position:relative;max-width:100%}.hsk-markup-canvas{display:block;max-width:100%;max-height:calc(100vh - 130px);box-shadow:0 18px 50px -12px color-mix(in srgb,#000 30%,transparent);border-radius:var(--hsk-border-radius, 0px);touch-action:none}.hsk-markup-canvas--pen,.hsk-markup-canvas--eraser{cursor:crosshair}.hsk-markup-pinlabel{position:absolute;display:flex;align-items:center;gap:4px;max-width:calc(100% - 16px);padding:4px 4px 4px 12px;border-radius:999px;background:color-mix(in srgb,var(--hsk-chat-bg, #fff) 78%,transparent);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid color-mix(in srgb,var(--hsk-chat-text, #111) 10%,transparent);box-shadow:0 10px 28px -10px color-mix(in srgb,#000 40%,transparent)}.hsk-markup-pinlabel input{min-width:0;max-width:100%;padding:6px 0;font-size:13px;color:var(--hsk-chat-text, #111);background:transparent;border:0;outline:none}.hsk-markup-pinlabel input::placeholder{color:color-mix(in srgb,var(--hsk-chat-text, #111) 45%,transparent)}.hsk-markup-pinlabel button{flex-shrink:0;display:grid;place-items:center;width:26px;height:26px;padding:0;font-size:15px;line-height:1;color:var(--hsk-chat-text, #111);background:color-mix(in srgb,var(--hsk-chat-text, #111) 8%,transparent);border:0;border-radius:50%;cursor:pointer}.hsk-markup-loading,.hsk-markup-error{padding:40px 16px;font-size:13px;color:color-mix(in srgb,var(--hsk-chat-text, #111) 70%,transparent);text-align:center}.hsk-markup-tools{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;margin-top:auto}.hsk-markup-tool{flex-shrink:0;white-space:nowrap;padding:8px 14px;font-size:12px;font-weight:600;color:var(--hsk-chat-text, #111);border-radius:999px;background:color-mix(in srgb,var(--hsk-chat-bg, #fff) 70%,transparent);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid color-mix(in srgb,var(--hsk-chat-text, #111) 10%,transparent);box-shadow:0 6px 18px -8px color-mix(in srgb,#000 22%,transparent);cursor:pointer}.hsk-markup-tool:hover:not(:disabled){background:color-mix(in srgb,var(--hsk-chat-text, #111) 16%,transparent)}.hsk-markup-tool--on{color:#fff;background:var(--hsk-primary, #ff6a33);border-color:transparent}.hsk-markup-tool--on:hover:not(:disabled){background:var(--hsk-primary, #ff6a33)}.hsk-markup-tool:disabled{opacity:.4;cursor:default}.hsk-markup-go{flex-shrink:0;padding:8px 22px;font-size:13px;font-weight:600;color:#fff;background:var(--hsk-primary, #ff6a33);border:none;border-radius:999px;box-shadow:0 6px 18px -8px color-mix(in srgb,var(--hsk-primary, #ff6a33) 60%,transparent);cursor:pointer}.hsk-markup-go:hover:not(:disabled){opacity:.9}.hsk-markup-go:disabled{opacity:.45;cursor:default}@media(max-width:640px){.hsk-markup-head{flex-direction:column-reverse;align-items:flex-start}.hsk-markup-cancel{align-self:flex-end}}.hsk-cb-kimgs{margin-top:10px;display:flex;flex-direction:column;gap:10px;animation:hsk-msg-in .2s ease-out both}.hsk-cb-kimg-grid{display:flex;flex-wrap:wrap;gap:6px}.hsk-cb-kimg{width:132px;height:132px;object-fit:cover;border-radius:8px;cursor:zoom-in;border:1px solid var(--hsk-chat-border, rgba(0, 0, 0, .08))}.hsk-cb-kimg:only-child{width:100%;max-width:320px;height:auto}.hsk-cb-kimg-caption{margin-top:4px;font-size:11px;line-height:1.4;color:var(--hsk-chat-muted, #9aa0a6)}.hsk-cb-panel[data-script=nonlatin][data-host-font=gap]{--hsk-font: "Geist", system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", sans-serif}.hsk-cb-panel[data-script=nonlatin],.hsk-cb-panel[data-script=nonlatin] *{letter-spacing:normal;font-family:var(--hsk-font)}.hsk-cb-panel[data-script=nonlatin] .hsk-cb-hello,.hsk-cb-panel[data-script=nonlatin] .hsk-cb-hello-lead,.hsk-cb-panel[data-script=nonlatin] .hsk-cb-hello-ask,.hsk-cb-panel[data-script=nonlatin] .hsk-cb-ai-text,.hsk-cb-panel[data-script=nonlatin] .hsk-cb-user-bubble,.hsk-cb-panel[data-script=nonlatin] .hsk-cb-chip,.hsk-cb-panel[data-script=nonlatin] .hsk-cb-topbar-btn,.hsk-cb-panel[data-script=nonlatin] .hsk-cb-textarea,.hsk-cb-panel[data-script=nonlatin] .hsk-cb-entlang-opt-title,.hsk-cb-panel[data-script=nonlatin] .hsk-cb-entlang-opt-note,.hsk-cb-panel[data-script=nonlatin] .hsk-cb-ai-text .hsk-markdown-list li,.hsk-cb-panel[data-script=nonlatin] .hsk-cb-ai-text .hsk-markdown-h1,.hsk-cb-panel[data-script=nonlatin] .hsk-cb-ai-text .hsk-markdown-h2,.hsk-cb-panel[data-script=nonlatin] .hsk-cb-ai-text .hsk-markdown-h3,.hsk-cb-panel[data-script=nonlatin] .hsk-markdown-table th,.hsk-cb-panel[data-script=nonlatin] .hsk-markdown-table td{line-height:1.9}.hsk-cb-panel[data-script=nonlatin] .hsk-cb-voice-error{font-size:12px;line-height:1.7;max-width:min(92%,520px);margin-left:auto;margin-right:auto}.hsk-cb-panel[data-script=nonlatin] .hsk-cb-msg-action{height:16px;padding:1px 6.5px;font-size:9.5px;line-height:1}.hsk-cb-panel[data-script=nonlatin] .hsk-cb-msg-action .hsk-cb-msg-action-label{font-size:9.5px;line-height:1}.hsk-cb-panel[data-script=nonlatin] .hsk-cb-user-footer,.hsk-cb-panel[data-script=nonlatin] .hsk-cb-ai-footer{min-height:16px}.hsk-cb-panel[data-script=nonlatin] .hsk-cb-sent-status,.hsk-cb-panel[data-script=nonlatin] .hsk-cb-failed-notice{font-size:10px;line-height:1}.hsk-cb-panel[data-script=nonlatin] .hsk-cb-hello{font-size:clamp(20px,3.4vw,26px);line-height:1.5;text-wrap:balance;overflow-wrap:break-word}.hsk-cb-panel[data-script=nonlatin] .hsk-cb-hello-ask{font-size:15px;line-height:1.75}.hsk-cb-panel[data-script=nonlatin] .hsk-cb-hello-wrap{max-width:100%;min-width:0}.hsk-cb-panel[data-script=nonlatin] .hsk-cascade__w{white-space:normal}.hsk-cb-panel[data-nastaliq=true] .hsk-cb-hello,.hsk-cb-panel[data-nastaliq=true] .hsk-cb-hello-lead,.hsk-cb-panel[data-nastaliq=true] .hsk-cb-hello-ask,.hsk-cb-panel[data-nastaliq=true] .hsk-cb-ai-text,.hsk-cb-panel[data-nastaliq=true] .hsk-cb-user-bubble,.hsk-cb-panel[data-nastaliq=true] .hsk-cb-chip,.hsk-cb-panel[data-nastaliq=true] .hsk-cb-topbar-btn,.hsk-cb-panel[data-nastaliq=true] .hsk-cb-textarea,.hsk-cb-panel[data-nastaliq=true] .hsk-cb-entlang-opt-title,.hsk-cb-panel[data-nastaliq=true] .hsk-cb-entlang-opt-note,.hsk-cb-panel[data-nastaliq=true] .hsk-cb-ai-text .hsk-markdown-list li,.hsk-cb-panel[data-nastaliq=true] .hsk-cb-ai-text .hsk-markdown-h1,.hsk-cb-panel[data-nastaliq=true] .hsk-cb-ai-text .hsk-markdown-h2,.hsk-cb-panel[data-nastaliq=true] .hsk-cb-ai-text .hsk-markdown-h3,.hsk-cb-panel[data-nastaliq=true] .hsk-markdown-table th,.hsk-cb-panel[data-nastaliq=true] .hsk-markdown-table td{line-height:2.2}.hsk-cb-panel[data-nastaliq=true] .hsk-cb-voice-error{font-size:13px;line-height:2;max-width:min(92%,540px);margin-left:auto;margin-right:auto}.hsk-cb-panel[data-nastaliq=true] .hsk-cb-msg-action{height:16px;padding:1px 6.5px;font-size:9px;line-height:1}.hsk-cb-panel[data-nastaliq=true] .hsk-cb-msg-action .hsk-cb-msg-action-label{font-size:9px;line-height:1}.hsk-cb-panel[data-nastaliq=true] .hsk-cb-user-footer,.hsk-cb-panel[data-nastaliq=true] .hsk-cb-ai-footer{min-height:16px}.hsk-cb-panel[data-nastaliq=true] .hsk-cb-sent-status,.hsk-cb-panel[data-nastaliq=true] .hsk-cb-failed-notice{font-size:9.5px;line-height:1}.hsk-cb-panel[data-script=nonlatin] .hsk-cb-chip{font-size:14px}.hsk-cb-panel[data-script=nonlatin] .hsk-cb-topbar-btn{height:auto;min-height:34px;padding:5px 14px}.hsk-cb-panel[data-script=nonlatin] .hsk-cb-field{--hsk-input-line-height: 1.9}.hsk-cb-panel[data-script=nonlatin] .hsk-cb-textarea{min-height:34px}.hsk-cb-panel[data-nastaliq=true] .hsk-cb-field{--hsk-input-line-height: 2.2}.hsk-cb-panel[data-script=nonlatin] .hsk-cb-user-bubble,.hsk-cb-panel[data-script=nonlatin] .hsk-cb-ai-text{overflow-wrap:break-word;word-break:normal}.hsk-cb-viz-broken{font-size:13px;color:var(--hsk-chat-muted, #71717a);padding:14px 16px;border:1px dashed var(--hsk-chat-divide, rgba(0, 0, 0, .12));border-radius:12px}.hsk-cb-voice-mode-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;flex-shrink:0;padding:0;background:transparent;border:1px solid transparent;border-radius:12px;color:var(--hsk-chat-muted, #71717a);cursor:pointer;transition:all .2s cubic-bezier(.34,1.56,.64,1);font-family:inherit}.hsk-cb-voice-mode-btn:hover:not(:disabled){border-color:color-mix(in srgb,var(--hsk-primary, #ff6a33) 25%,transparent);color:var(--hsk-primary, #ff6a33);background:color-mix(in srgb,var(--hsk-primary, #ff6a33) 8%,transparent);transform:translateY(-1px)}.hsk-cb-voice-mode-btn:disabled{opacity:.35;cursor:not-allowed}.hsk-cb-panel[data-script=nonlatin] .hsk-animated-placeholder[data-fit="2"]{--hsk-ph-font-size: 13.5px}.hsk-cb-panel[data-script=nonlatin] .hsk-animated-placeholder[data-fit="3"]{--hsk-ph-font-size: 12px}.hsk-cb-panel[data-nastaliq=true] .hsk-animated-placeholder[data-fit="1"]{--hsk-ph-font-size: 15px}.hsk-cb-panel[data-nastaliq=true] .hsk-animated-placeholder[data-fit="2"]{--hsk-ph-font-size: 13px}.hsk-cb-panel[data-nastaliq=true] .hsk-animated-placeholder[data-fit="3"]{--hsk-ph-font-size: 11.5px}.hsk-cb-panel[data-script=nonlatin] .hsk-animated-placeholder__char{line-height:1.35}.hsk-cb-panel[data-script] .hsk-cb-chrome-loading,.hsk-cb-panel[data-script] .hsk-cb-chrome-loading *{font-family:system-ui,-apple-system,Segoe UI,Roboto,Noto Sans,sans-serif}.hsk-voice-overlay{position:absolute;inset:0;z-index:30;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:clamp(8px,1.4vh,16px);padding:clamp(14px,2.5vh,24px);overflow:hidden;overscroll-behavior:contain;background:var(--hsk-chat-bg, #ffffff);animation:hsk-voice-in .32s cubic-bezier(.2,.8,.2,1);will-change:opacity;contain:paint}.hsk-voice-overlay:before{content:"";position:absolute;inset:0;background:radial-gradient(46% 20% at 50% 92%,color-mix(in srgb,var(--hsk-primary, #ff6a33) 8%,transparent) 0%,transparent 68%);pointer-events:none}.hsk-voice-overlay>*{position:relative}@keyframes hsk-voice-in{0%{opacity:0}to{opacity:1}}.hsk-voice-exit{position:absolute;z-index:2;top:14px;right:14px;display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:transparent;border:1px solid color-mix(in srgb,var(--hsk-chat-text, #1f1f1f) 14%,transparent);border-radius:999px;color:var(--hsk-chat-muted, #71717a);cursor:pointer;transition:color .18s ease,border-color .18s ease}.hsk-voice-exit:hover{color:var(--hsk-chat-text, #1f1f1f);border-color:color-mix(in srgb,var(--hsk-chat-text, #1f1f1f) 32%,transparent)}.hsk-voice-new{position:absolute;z-index:2;top:14px;right:58px;display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:transparent;border:1px solid color-mix(in srgb,var(--hsk-chat-text, #1f1f1f) 14%,transparent);border-radius:999px;color:var(--hsk-chat-muted, #71717a);cursor:pointer;transition:color .18s ease,border-color .18s ease,transform .12s ease}.hsk-voice-new:hover:not(:disabled){color:var(--hsk-chat-text, #1f1f1f);border-color:color-mix(in srgb,var(--hsk-chat-text, #1f1f1f) 32%,transparent)}.hsk-voice-new:active:not(:disabled){transform:scale(.92)}.hsk-voice-new:disabled{opacity:.4;cursor:default}.hsk-voice-stage{grid-column:2;width:100%;height:clamp(64px,13vh,140px);min-width:0;animation:hsk-composer-to-wave .42s cubic-bezier(.2,.8,.2,1) both}@keyframes hsk-composer-to-wave{0%{opacity:0;translate:0 18px}to{opacity:1;translate:0 0}}@media(prefers-reduced-motion:reduce){.hsk-voice-stage{animation:none}}.hsk-voice-thread{position:relative;z-index:1;flex:1 1 auto;width:min(720px,100%);min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:none;-ms-overflow-style:none;display:flex;flex-direction:column;gap:12px;padding:clamp(46px,8vh,72px) 4px 6px;-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 34px,#000 calc(100% - 30px),transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 34px,#000 calc(100% - 30px),transparent 100%)}.hsk-voice-turn--live{opacity:.72}.hsk-voice-canvas{display:block;width:100%;height:100%}.hsk-voice-controls{display:grid;grid-template-columns:52px minmax(0,1fr) 52px;align-items:center;gap:12px;flex:none;width:min(640px,100%)}.hsk-voice-controls [data-control=attach]{grid-column:1}.hsk-voice-controls [data-control=mic]{grid-column:3}.hsk-voice-control{display:flex;align-items:center;justify-content:center;width:52px;height:52px;padding:0;background:var(--hsk-surface-2, rgba(255, 255, 255, .95));border:1px solid color-mix(in srgb,var(--hsk-chat-text, #000000) 10%,transparent);border-radius:999px;color:var(--hsk-chat-text, #1f1f1f);cursor:pointer;box-shadow:0 2px 12px #00000014,0 1px 3px #0000000a;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);transition:color .2s ease,border-color .2s ease,background .2s ease,transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s ease}.hsk-voice-control:hover{transform:scale(1.06);box-shadow:0 4px 18px #0000001f}.hsk-voice-control:active{transform:scale(.92);transition-duration:.08s}.hsk-voice-control--muted{color:var(--hsk-chat-muted, #888888);border-color:color-mix(in srgb,var(--hsk-chat-text, #000000) 12%,transparent);background:color-mix(in srgb,var(--hsk-chat-bg, #ffffff) 85%,transparent);box-shadow:0 1px 4px #0000000a}.hsk-voice-control-icon{display:inline-flex;align-items:center;justify-content:center;z-index:2;transition:transform .2s ease}@media(prefers-reduced-motion:reduce){.hsk-voice-control-icon,.hsk-voice-control--muted{animation:none}}.hsk-voice-stage--connecting{opacity:.4;transition:opacity .25s ease}.hsk-voice-connecting{display:flex;align-items:center;gap:7px;font-family:var(--hsk-font);font-size:13px;color:var(--hsk-chat-muted, #8a8f98);animation:hsk-sent-in .2s ease-out both}.hsk-voice-connecting-dot{width:6px;height:6px;border-radius:999px;background:currentColor;animation:hsk-queued-pulse 1s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.hsk-voice-connecting-dot{animation:none;opacity:.7}}.hsk-voice-error{font-family:var(--hsk-font);font-size:.85rem;color:#e5484d;text-align:center}@media(prefers-reduced-motion:reduce){.hsk-voice-overlay{animation:none}}.hsk-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.hsk-voice-picker{position:absolute;z-index:3;top:14px;left:14px;display:flex;flex-direction:column;width:auto;height:36px;overflow:hidden;border-radius:18px;border:1px solid color-mix(in srgb,var(--hsk-chat-text, #1f1f1f) 10%,transparent);background:linear-gradient(180deg,#ffffff1f,#fff0 60%),color-mix(in srgb,var(--hsk-chat-bg, #ffffff) 58%,transparent);backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);box-shadow:inset 0 1px #ffffff40,0 1px 2px #0000000d;interpolate-size:allow-keywords;transition:width .42s cubic-bezier(.16,1,.3,1),height .42s cubic-bezier(.16,1,.3,1),border-radius .42s cubic-bezier(.16,1,.3,1),box-shadow .3s ease;animation:hsk-voice-pill-in .42s cubic-bezier(.16,1,.3,1) both}.hsk-voice-picker[data-open]{width:224px;height:auto;border-radius:20px;background:linear-gradient(180deg,#ffffff1a,#fff0 50%),color-mix(in srgb,var(--hsk-chat-bg, #ffffff) 78%,transparent);box-shadow:inset 0 1px #ffffff40,0 8px 22px -8px #0003,0 1px 2px #0000000d}@keyframes hsk-voice-pill-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.hsk-voice-pill{display:flex;align-items:center;justify-content:space-between;gap:6px;flex:none;height:34px;padding:0 10px 0 14px;border:0;background:transparent;font:inherit;font-size:12px;font-weight:600;white-space:nowrap;color:var(--hsk-chat-text, #1f1f1f);cursor:pointer}.hsk-voice-pill-caret{display:inline-flex;color:var(--hsk-chat-muted, #71717a);transform:rotate(90deg) scale(.8);transition:transform .32s cubic-bezier(.16,1,.3,1)}.hsk-voice-picker[data-open] .hsk-voice-pill-caret{transform:rotate(-90deg) scale(.8)}.hsk-voice-menu-list{position:relative;contain:inline-size;display:flex;flex-direction:column;gap:1px;max-height:min(320px,50vh);padding:4px 5px 6px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;opacity:0;transition:opacity .18s ease;-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 10px,#000 calc(100% - 16px),transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 10px,#000 calc(100% - 16px),transparent 100%)}.hsk-voice-menu-list::-webkit-scrollbar{display:none}.hsk-voice-picker[data-open] .hsk-voice-menu-list{opacity:1;transition:opacity .26s ease .12s}.hsk-voice-group{display:flex;align-items:center;gap:8px;flex:none;padding:10px 9px 4px;font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--hsk-chat-muted, #71717a)}.hsk-voice-group:after{content:"";flex:1;height:1px;background:color-mix(in srgb,var(--hsk-chat-text, #1f1f1f) 12%,transparent)}.hsk-voice-group:first-child{padding-top:4px}.hsk-voice-option{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex:none;padding:7px 9px;border:0;border-radius:13px;background:transparent;font:inherit;text-align:start;color:var(--hsk-chat-text, #1f1f1f);cursor:pointer;transition:background .14s ease}.hsk-voice-option:hover{background:color-mix(in srgb,var(--hsk-chat-text, #1f1f1f) 6%,transparent)}.hsk-voice-option-name{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600}.hsk-voice-option-trait{font-size:11px;color:var(--hsk-chat-muted, #71717a)}.hsk-voice-option--on,.hsk-voice-option--on:hover{background:color-mix(in srgb,var(--hsk-primary, #ff6a33) 12%,transparent)}.hsk-voice-option--on .hsk-voice-option-name{color:var(--hsk-primary, #ff6a33)}.hsk-voice-option--on .hsk-voice-option-name:before{content:"";width:5px;height:5px;border-radius:999px;background:currentColor}@media(prefers-reduced-motion:reduce){.hsk-voice-picker{animation:none;transition:none}}@media(max-width:520px){.hsk-cb-input-box{gap:6px;padding:10px 10px 10px 12px}.hsk-cb-attach-btn,.hsk-cb-send,.hsk-cb-voice-mode-btn,.hsk-chat-send{width:32px;height:32px;border-radius:10px}.hsk-cb-textarea{flex:1 1 auto;min-width:0;font-size:16px}.hsk-cb-input-box .hsk-cb-listening{display:none}}.hsk-cb-main{position:relative}.hsk-cb-main,.hsk-voice-overlay{--hsk-doodle-ink: 31, 31, 31;--hsk-doodle-tint: 255, 106, 51}@keyframes hsk-doodles-shimmer-in{0%{opacity:0}to{opacity:.9}}.hsk-cb-doodles{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;opacity:.9;animation:hsk-doodles-shimmer-in .28s cubic-bezier(.16,1,.3,1) both}.hsk-cb-main>*:not(.hsk-cb-doodles){position:relative}@media(prefers-color-scheme:dark){.hsk-cb-main,.hsk-voice-overlay{--hsk-doodle-ink: 240, 239, 237;--hsk-doodle-tint: 255, 150, 110}}[data-hsk-theme=light] .hsk-cb-main,[data-hsk-theme=light] .hsk-voice-overlay{--hsk-doodle-ink: 31, 31, 31;--hsk-doodle-tint: 255, 106, 51}[data-hsk-theme=dark] .hsk-cb-main,[data-hsk-theme=dark] .hsk-voice-overlay{--hsk-doodle-ink: 240, 239, 237;--hsk-doodle-tint: 255, 150, 110}.hsk-cb-docked-option-detail,.hsk-cb-entlang-price,.hsk-cb-src-detail,.hsk-kiku-picker-item-price,.hsk-source-price,.hsk-sp-item-discount,.hsk-sp-item-original-price,.hsk-sp-item-price,.hsk-sp-mobile-main-card-price,.hsk-sp-mobile-similar-carousel-price,.hsk-voice-item-price,.hsk-live-cell{font-variant-numeric:tabular-nums}.hsk-live-wrap{margin:6px 0 2px;width:100%;max-width:100%;box-sizing:border-box}.hsk-live-carousel{display:flex;flex-wrap:wrap;gap:6px;align-items:flex-start;width:100%;box-sizing:border-box}.hsk-live-card{flex:0 1 auto;width:fit-content;min-width:120px;max-width:100%;background:var(--hsk-chat-source-bg, rgba(255, 255, 255, .05));border:1px solid var(--hsk-chat-divide, rgba(255, 255, 255, .08));border-radius:12px;padding:6px 10px;box-sizing:border-box;display:flex;flex-direction:column;gap:3px;transition:opacity .2s ease;overflow:hidden}.hsk-live-card.is-stale{opacity:.75}.hsk-live-card__top{display:flex;align-items:center;justify-content:space-between;gap:8px}.hsk-live-card__badge{display:inline-flex;align-items:center;gap:5px}.hsk-live-card__body{display:flex;align-items:center}.hsk-live-dot{width:6px;height:6px;border-radius:50%;background:#10b981;flex-shrink:0}@media(prefers-reduced-motion:no-preference){.hsk-live-dot:not(.is-stale){animation:hsk-live-pulse 2s ease-in-out infinite}}.hsk-live-dot.is-stale{background:var(--hsk-chat-muted, #9ca3af)}.hsk-live-card__title{font-size:13px;font-weight:600;color:var(--hsk-chat-text, #111827);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.01em}.hsk-live-card__age{font-size:10.5px;font-weight:500;color:var(--hsk-chat-muted, #6b7280);white-space:nowrap;flex-shrink:0}.hsk-live-card__pills{display:flex;flex-wrap:wrap;gap:4px;align-items:center;margin-top:1px}.hsk-live-pill{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;background:color-mix(in srgb,var(--hsk-surface-1, var(--hsk-chat-bg, #ffffff)) 85%,transparent);border:1px solid color-mix(in srgb,var(--hsk-chat-text, #ffffff) 10%,transparent);border-radius:6px;font-size:11.5px;font-variant-numeric:tabular-nums;line-height:1.25;color:var(--hsk-chat-text, #111827);box-shadow:0 1px 2px #00000008}.hsk-live-pill__label{font-weight:500;color:var(--hsk-chat-muted, #6b7280);font-size:11px;text-transform:capitalize}.hsk-live-pill__value{font-weight:650;color:var(--hsk-chat-text, #111827)}@media(prefers-reduced-motion:no-preference){.hsk-live-pill.is-changed{animation:hsk-live-pill-flash 1.2s ease-out}@keyframes hsk-live-pill-flash{0%{background:#10b98140;border-color:#10b981}to{background:var(--hsk-chat-bg, #ffffff);border-color:var(--hsk-chat-divide, rgba(0, 0, 0, .08))}}}@media(max-width:640px){.hsk-cb-source{flex:0 0 128px}.hsk-cb-src-imgwrap,.hsk-cb-src-imgwrap-empty{width:128px;height:128px;font-size:24px}.hsk-cb-sources{gap:10px}.hsk-cb-src-name{font-size:12px;line-height:1.35}.hsk-cb-src-detail{font-size:11px;padding:1px 7px;margin-top:4px}}@media(max-width:480px){.hsk-cb-source{flex:0 0 114px}.hsk-cb-src-imgwrap,.hsk-cb-src-imgwrap-empty{width:114px;height:114px;font-size:20px}.hsk-cb-sources{gap:8px}.hsk-live-card{flex:0 0 auto;width:fit-content;max-width:100%}}.hsk-voice-thread::-webkit-scrollbar{width:0;height:0}.hsk-voice-thread{font-family:var(--hsk-font);gap:0;padding-inline:20px}.hsk-voice-thread .hsk-cb-user-msg,.hsk-voice-thread .hsk-cb-ai-msg{align-self:stretch;max-width:100%;margin:0}.hsk-voice-thread .hsk-cb-user-bubble{max-width:100%;padding:0;background:none!important;border:none;border-radius:0;text-align:inherit;font-family:inherit;font-style:italic;font-size:16.5px;line-height:1.62;letter-spacing:.005em;color:color-mix(in srgb,var(--hsk-chat-text, #1f1f1f) 62%,transparent)}.hsk-voice-thread .hsk-cb-user-bubble:after{display:none!important}.hsk-voice-thread .hsk-cb-user-msg{align-items:flex-start}.hsk-voice-thread .hsk-cb-user-bubble{position:relative;text-align:start}.hsk-voice-thread .hsk-cb-user-bubble:before{content:"\\201c";display:block!important;position:absolute;inset-inline-start:-.62em;top:-.12em;width:auto;height:auto;background:none;font-size:1.55em;font-style:normal;line-height:1;color:color-mix(in srgb,var(--hsk-primary, #ff6a33) 72%,transparent);pointer-events:none}.hsk-voice-thread .hsk-cb-ai-msg{font-size:17px;line-height:1.68;color:var(--hsk-chat-text, #1f1f1f)}.hsk-voice-thread .hsk-cb-user-msg{margin-top:22px}.hsk-voice-thread>.hsk-cb-user-msg:first-child{margin-top:0}.hsk-voice-thread .hsk-cb-ai-msg{margin-top:6px}.hsk-voice-thread .hsk-cb-ai-body.hsk-voice-turn--live:after{content:"";display:inline-block;width:.36em;height:.36em;margin-inline-start:.34em;vertical-align:.08em;background:currentColor;border-radius:0 50% 50%;transform:rotate(45deg);animation:hsk-voice-nib 1.6s ease-in-out infinite}@keyframes hsk-voice-nib{0%,to{opacity:.25}50%{opacity:.85}}.hsk-voice-images{display:flex;gap:10px;flex:none;width:min(720px,100%);padding:4px 20px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}.hsk-voice-images::-webkit-scrollbar{display:none}.hsk-voice-image{position:relative;flex:none;width:76px;height:76px;padding:0;border-radius:14px;overflow:hidden;border:1px solid color-mix(in srgb,var(--hsk-chat-text, #1f1f1f) 12%,transparent);background:color-mix(in srgb,var(--hsk-chat-text, #1f1f1f) 4%,transparent);cursor:zoom-in;animation:hsk-voice-image-in .45s cubic-bezier(.16,1,.3,1) both}@media(min-width:720px){.hsk-voice-image{width:92px;height:92px}}.hsk-voice-image img{display:block;width:100%;height:100%;object-fit:cover;animation:hsk-voice-develop 1.1s cubic-bezier(.16,1,.3,1) both}@keyframes hsk-voice-image-in{0%{opacity:0;transform:translate(10px) scale(.92)}to{opacity:1;transform:none}}@keyframes hsk-voice-develop{0%{opacity:0;filter:blur(8px) saturate(.2) brightness(1.2);transform:scale(1.06)}to{opacity:1;filter:none;transform:scale(1)}}.hsk-voice-image[data-pending]{cursor:progress;border-color:transparent;background:color-mix(in srgb,var(--hsk-chat-text, #1f1f1f) 5%,var(--hsk-chat-bg, #ffffff))}.hsk-doodle-shimmer{position:absolute;inset:0;width:100%;height:100%}.hsk-working-veil{--hsk-feather-12: linear-gradient(to right, transparent, #000 12px, #000 calc(100% - 12px) , transparent), linear-gradient(to bottom, transparent, #000 12px, #000 calc(100% - 12px) , transparent);--hsk-doodle-ink: 255, 122, 64;--hsk-doodle-tint: 255, 200, 165;position:absolute;inset:0;overflow:hidden;border-radius:inherit;pointer-events:none;background:radial-gradient(ellipse at center,transparent 45%,rgba(0,0,0,.22) 100%);-webkit-mask-image:var(--hsk-feather-12);-webkit-mask-composite:source-in;mask-image:var(--hsk-feather-12);mask-composite:intersect;animation:hsk-veil-in .3s cubic-bezier(.16,1,.3,1) both}.hsk-working-veil.is-leaving{animation:hsk-veil-out .3s ease-out both}.hsk-working-veil .hsk-doodle-shimmer{filter:drop-shadow(0 0 .6px rgba(0,0,0,.75));-webkit-mask-image:radial-gradient(ellipse at center,transparent 14%,rgba(0,0,0,.5) 36%,rgba(0,0,0,.9) 58%,#000 75%);mask-image:radial-gradient(ellipse at center,transparent 14%,rgba(0,0,0,.5) 36%,rgba(0,0,0,.9) 58%,#000 75%)}.hsk-working-veil:after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 20px 8px color-mix(in srgb,var(--hsk-primary, #ff6a33) 90%,transparent),inset 0 0 48px 12px color-mix(in srgb,var(--hsk-primary, #ff6a33) 30%,transparent);animation:hsk-halo-breathe 2.4s ease-in-out infinite}.hsk-cb-user-img-cell:has(>.hsk-working-veil)>img,.hsk-cb-viz--working>img,.hsk-voice-image:has(>.hsk-working-veil)>img,.hsk-voice-image[data-pending],.hsk-cb-viz--working.is-blank{-webkit-mask-image:linear-gradient(to right,transparent,#000 26px,#000 calc(100% - 26px),transparent),linear-gradient(to bottom,transparent,#000 26px,#000 calc(100% - 26px),transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent,#000 26px,#000 calc(100% - 26px),transparent),linear-gradient(to bottom,transparent,#000 26px,#000 calc(100% - 26px),transparent);mask-composite:intersect}.hsk-voice-image:has(>.hsk-working-veil){border-color:transparent}@keyframes hsk-veil-in{0%{opacity:0}to{opacity:1}}@keyframes hsk-veil-out{0%{opacity:1}to{opacity:0}}@keyframes hsk-halo-breathe{0%,to{opacity:.7}50%{opacity:1}}@media(prefers-reduced-motion:reduce){.hsk-working-veil:after{animation:none;opacity:.8}}.hsk-cb-viz--working{position:relative;display:inline-block;max-width:420px;border-radius:8px;overflow:hidden;line-height:0}.hsk-cb-viz--working.is-blank{display:block;width:min(100%,320px);aspect-ratio:1;background:color-mix(in srgb,var(--hsk-chat-text, #1f1f1f) 5%,var(--hsk-chat-bg, #ffffff))}.hsk-cb-viz--working.is-video{display:block;width:min(100%,420px);aspect-ratio:16 / 9}.hsk-cb-viz--working img{opacity:.85}.hsk-cb-viz--working.is-video img{width:100%;height:100%;object-fit:cover}.hsk-voice-control--attach{justify-self:center;width:44px;height:44px;color:var(--hsk-chat-muted, #888888);box-shadow:none}.hsk-voice-control--attach:hover:not(:disabled){transform:none;color:var(--hsk-chat-text, #1f1f1f);box-shadow:none}.hsk-voice-control--attach:active:not(:disabled){transform:scale(.9);transition-duration:.08s}@media(prefers-reduced-motion:reduce){.hsk-voice-thread .hsk-cb-ai-body.hsk-voice-turn--live:after,.hsk-voice-image,.hsk-voice-image img{animation:none}}.hsk-voice-shelf{display:flex;align-items:flex-start;gap:10px;flex:none;width:min(720px,100%);padding:0 20px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}.hsk-voice-shelf::-webkit-scrollbar{display:none}.hsk-voice-shelf>.hsk-voice-images{width:auto;padding:4px 0;overflow:visible}.hsk-voice-shelf>.hsk-voice-sources{flex:0 1 auto;width:auto;min-width:0;padding:0}.hsk-voice-sources{flex:none;width:min(720px,100%);padding:0 20px;animation:hsk-voice-image-in .45s cubic-bezier(.16,1,.3,1) both}@media(prefers-reduced-motion:reduce){.hsk-voice-sources{animation:none}}.hsk-cb-overlay[data-hsk-theme],[data-hsk-theme] .hsk-cb-overlay{background:var(--hsk-chat-bg)!important;color:var(--hsk-chat-text)!important}[data-hsk-theme] .hsk-cb-panel{background:transparent!important;color:var(--hsk-chat-text)!important}[data-hsk-theme] .hsk-cb-topbar-name{background:var(--hsk-surface-2)!important;color:var(--hsk-name-text, var(--hsk-chat-text))!important;box-shadow:0 0 0 3px var(--hsk-chat-bg),0 1px 3px rgba(var(--hsk-primary-rgb),.2)!important}[data-hsk-theme] .hsk-cb-think-head{background:var(--hsk-surface-2)!important;color:var(--hsk-think-text)!important;box-shadow:0 0 0 3px var(--hsk-chat-bg),0 1px 3px rgba(var(--hsk-primary-rgb),.2)!important}[data-hsk-theme] .hsk-cb-leave{background:var(--hsk-surface-2)!important;color:var(--hsk-chat-text)!important;box-shadow:0 0 0 3px var(--hsk-chat-bg)!important}[data-hsk-theme] .hsk-cb-leave-btn{background:var(--hsk-surface-1)!important;color:var(--hsk-chat-text)!important}[data-hsk-theme] .hsk-cb-leave-btn--end{background:var(--hsk-primary)!important;color:var(--hsk-chat-bg)!important}[data-hsk-theme] .hsk-cb-chip,[data-hsk-theme] .hsk-action-pill{border:var(--hsk-chip-border, none)!important;background:var(--hsk-surface-1)!important;color:var(--hsk-chat-text)!important}[data-hsk-theme] .hsk-cb-chip:hover,[data-hsk-theme] .hsk-action-pill:hover{background:rgba(var(--hsk-primary-rgb),.12)!important;color:var(--hsk-primary)!important}[data-hsk-theme] .hsk-cb-ai-text{background:var(--hsk-bubble-bg)!important;color:var(--hsk-chat-text)!important}[data-hsk-theme] .hsk-cb-ai-text:not(:has(~.hsk-cb-ai-text)):before{background:var(--hsk-bubble-bg)!important}[data-hsk-theme] .hsk-cb-ai-text:not(:has(~.hsk-cb-ai-text)):after{background:var(--hsk-chat-bg)!important}[data-hsk-theme] .hsk-cb-user-bubble--tail:before{background:#007aff!important}[data-hsk-theme] .hsk-cb-user-bubble--tail:after{background:var(--hsk-chat-bg)!important}[data-hsk-theme] .hsk-cb-topbar-btn,[data-hsk-theme] .hsk-cb-back{background:var(--hsk-surface-1)!important;color:var(--hsk-chat-muted)!important}[data-hsk-theme] .hsk-cb-input-box{background:transparent!important;border:none!important;border-radius:inherit!important}[data-hsk-theme] .hsk-cb-textarea{color:var(--hsk-chat-text)!important}[data-hsk-theme] .hsk-cb-textarea::placeholder{color:var(--hsk-placeholder)!important}[data-hsk-theme] .hsk-markdown-table th{color:var(--hsk-chat-muted)!important;border-bottom:1px solid var(--hsk-chat-divide)!important}[data-hsk-theme] .hsk-markdown-table td{color:var(--hsk-chat-text)!important;border-bottom:1px solid var(--hsk-chat-divide)!important}[data-hsk-theme] .hsk-cb-kiku-id-pill:hover{color:var(--hsk-primary)!important}[data-hsk-theme] .hsk-cb-theme-2x2-grid,[data-hsk-theme] .hsk-cb-topbar-ooze-menu{background:var(--hsk-glass-bg)!important;border:var(--hsk-glass-border)!important;border-top:var(--hsk-glass-border-top)!important;box-shadow:var(--hsk-glass-shadow)!important;backdrop-filter:blur(28px) saturate(var(--hsk-glass-saturate, 180%))!important;-webkit-backdrop-filter:blur(28px) saturate(var(--hsk-glass-saturate, 180%))!important}[data-hsk-theme] .hsk-cb-topbar-ooze-menu{border-top:var(--hsk-glass-border)!important;box-shadow:none!important}[data-hsk-theme] .hsk-cb-topbar-ooze-menu .hsk-cb-theme-2x2-grid{background:none!important;border:none!important;border-top:none!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}[data-hsk-theme] .hsk-cb-theme-squircle-trigger,[data-hsk-theme] .hsk-cb-theme-squircle-wrap,[data-hsk-theme] .hsk-cb-kiku-id-pill,[data-hsk-theme] .hsk-cb-kiku-id-rail .hsk-cb-sound-pill,[data-hsk-theme] .hsk-cb-squircle-btn{background:var(--hsk-pill-bg)!important;color:var(--hsk-chat-text)!important;border:var(--hsk-glass-border)!important;border-top:var(--hsk-glass-border-top)!important;box-shadow:var(--hsk-glass-shadow)!important;backdrop-filter:blur(20px) saturate(var(--hsk-glass-saturate, 160%))!important;-webkit-backdrop-filter:blur(20px) saturate(var(--hsk-glass-saturate, 160%))!important}[data-hsk-theme] .hsk-cb-kiku-id-pill,[data-hsk-theme] .hsk-cb-squircle-btn{color:var(--hsk-chat-muted)!important}[data-hsk-theme] .hsk-cb-exit-btn:hover{background:radial-gradient(120% 90% at 30% 0%,rgba(255,255,255,.4),transparent 65%),var(--hsk-pill-bg)!important;color:#ef4444!important}[data-hsk-theme] .hsk-cb-theme-grid-item{background:var(--hsk-grid-bg)!important;color:var(--hsk-chat-muted)!important;border:none!important;box-shadow:none!important}[data-hsk-theme] .hsk-cb-theme-grid-item.is-active{background:var(--hsk-active-bg)!important;color:var(--hsk-on-active)!important;box-shadow:none!important}[data-hsk-theme] .hsk-cb-src-name,[data-hsk-theme] .hsk-source-card__title{color:var(--hsk-src-title)!important;font-weight:650!important}[data-hsk-theme] .hsk-cb-src-desc,[data-hsk-theme] .hsk-cb-src-detail,[data-hsk-theme] .hsk-source-card__desc{color:var(--hsk-src-desc)!important}[data-hsk-theme] .hsk-cb-src-detail{background:var(--hsk-price-bg)!important;color:var(--hsk-price-text)!important;font-weight:700!important}[data-hsk-theme] .hsk-cb-main,[data-hsk-theme] .hsk-voice-overlay{--hsk-doodle-ink: var(--hsk-ink) !important;--hsk-doodle-tint: var(--hsk-tint) !important}[data-hsk-theme] .hsk-voice-picker{background:var(--hsk-pill-bg)!important;border:var(--hsk-glass-border)!important;border-top:var(--hsk-glass-border-top)!important}[data-hsk-theme] .hsk-voice-picker[data-open]{background:linear-gradient(180deg,#ffffff1a,#fff0 50%),color-mix(in srgb,var(--hsk-chat-bg) 78%,transparent)!important}.hsk-opening-shell[data-hsk-theme=light],.hsk-cb-overlay[data-hsk-theme=light],[data-hsk-theme=light] .hsk-cb-overlay{--hsk-primary: #ff6a33 !important;--hsk-primary-rgb: 255, 106, 51 !important;--hsk-chat-bg: #ffffff !important;--hsk-chat-text: #1f1f1f !important;--hsk-chat-muted: #5f6368 !important;--hsk-chat-divide: #e5e7eb !important;--hsk-chat-input-bg: #f3f4f6 !important;--hsk-chat-source-bg: #f9fafb !important;--hsk-fade-bg: #ffffff !important;--hsk-goo-fill: #ffffff !important;--hsk-surface-1: rgba(0, 0, 0, .05) !important;--hsk-surface-2: #f1f3f4 !important;--hsk-bubble-bg: #f3f4f6 !important;--hsk-think-text: #4b5563 !important;--hsk-placeholder: #757575 !important;--hsk-grid-bg: #ffffff !important;--hsk-active-bg: #1f1f1f !important;--hsk-on-active: #ffffff !important;--hsk-src-title: #111827 !important;--hsk-src-desc: #4b5563 !important;--hsk-price-bg: #f3f4f6 !important;--hsk-price-text: #ea580c !important;--hsk-sheet-bg: #f3f4f6 !important;--hsk-chip-border: 1px solid rgba(0, 0, 0, .08) !important;--hsk-ink: 55, 65, 81 !important;--hsk-tint: 145, 77, 47 !important;--hsk-glass-bg: rgba(255, 255, 255, .72) !important;--hsk-glass-edge: rgba(0, 0, 0, .07) !important;--hsk-glass-edge-top: rgba(255, 255, 255, .9) !important;--hsk-glass-drop: rgba(0,0,0,.1) !important;--hsk-glass-sheen: rgba(255,255,255,.85) !important;--hsk-glass-saturate: 190% !important;--hsk-pill-bg: rgba(255, 255, 255, .65) !important}.hsk-opening-shell[data-hsk-theme=dark],.hsk-cb-overlay[data-hsk-theme=dark],[data-hsk-theme=dark] .hsk-cb-overlay{--hsk-primary: #ff6a33 !important;--hsk-primary-rgb: 255, 106, 51 !important;--hsk-chat-bg: #0a0a0a !important;--hsk-chat-text: #f0efed !important;--hsk-chat-muted: #888888 !important;--hsk-chat-divide: rgba(255, 255, 255, .08) !important;--hsk-chat-input-bg: #191919 !important;--hsk-chat-source-bg: rgba(255, 255, 255, .04) !important;--hsk-fade-bg: #0a0a0a !important;--hsk-goo-fill: #1a1a1c !important;--hsk-surface-1: rgba(255, 255, 255, .06) !important;--hsk-surface-2: #1f1f22 !important;--hsk-bubble-bg: #1f1f22 !important;--hsk-think-text: #a6a6a6 !important;--hsk-placeholder: #555555 !important;--hsk-grid-bg: #1a1a1c !important;--hsk-active-bg: #f0efed !important;--hsk-on-active: #0a0a0a !important;--hsk-src-title: #f9fafb !important;--hsk-src-desc: #9ca3af !important;--hsk-price-bg: rgba(255, 255, 255, .08) !important;--hsk-price-text: #ff7a45 !important;--hsk-sheet-bg: #1f1f22 !important;--hsk-ink: 240, 239, 237 !important;--hsk-tint: 248, 195, 174 !important;--hsk-glass-bg: rgba(255, 255, 255, .07) !important;--hsk-glass-edge: rgba(255, 255, 255, .1) !important;--hsk-glass-edge-top: rgba(255, 255, 255, .22) !important;--hsk-glass-drop: rgba(0,0,0,.45) !important;--hsk-glass-sheen: rgba(255,255,255,.1) !important;--hsk-glass-saturate: 160% !important;--hsk-pill-bg: rgba(255, 255, 255, .06) !important}.hsk-opening-shell[data-hsk-theme=mahogany],.hsk-cb-overlay[data-hsk-theme=mahogany],[data-hsk-theme=mahogany] .hsk-cb-overlay{--hsk-primary: #e07a38 !important;--hsk-primary-rgb: 224, 122, 56 !important;--hsk-chat-bg: #140d09 !important;--hsk-chat-text: #f6eee3 !important;--hsk-chat-muted: #a89485 !important;--hsk-chat-divide: rgba(217, 140, 85, .18) !important;--hsk-chat-input-bg: #211610 !important;--hsk-chat-source-bg: #1c130d !important;--hsk-fade-bg: #140d09 !important;--hsk-goo-fill: #211610 !important;--hsk-surface-1: #211610 !important;--hsk-surface-2: #2b1c14 !important;--hsk-bubble-bg: #261912 !important;--hsk-think-text: #c4b1a1 !important;--hsk-placeholder: #7a6557 !important;--hsk-grid-bg: #2b1c14 !important;--hsk-active-bg: #e07a38 !important;--hsk-on-active: #ffffff !important;--hsk-src-title: #fdf8f4 !important;--hsk-src-desc: #c4b1a1 !important;--hsk-price-bg: #2b1c14 !important;--hsk-price-text: #f59e0b !important;--hsk-sheet-bg: #211610 !important;--hsk-ink: 246, 238, 227 !important;--hsk-tint: 235, 180, 142 !important;--hsk-glass-bg: rgba(255, 220, 180, .07) !important;--hsk-glass-edge: rgba(217, 140, 85, .15) !important;--hsk-glass-edge-top: rgba(255, 200, 150, .25) !important;--hsk-glass-drop: rgba(0,0,0,.55) !important;--hsk-glass-sheen: rgba(255,200,150,.12) !important;--hsk-glass-saturate: 155% !important;--hsk-pill-bg: rgba(255, 220, 180, .06) !important}.hsk-opening-shell[data-hsk-theme=blush],.hsk-cb-overlay[data-hsk-theme=blush],[data-hsk-theme=blush] .hsk-cb-overlay{--hsk-primary: #ec4899 !important;--hsk-primary-rgb: 236, 72, 153 !important;--hsk-chat-bg: #fff5f7 !important;--hsk-chat-text: #3d1424 !important;--hsk-chat-muted: #94536d !important;--hsk-chat-divide: rgba(236, 72, 153, .18) !important;--hsk-chat-input-bg: #ffe4ec !important;--hsk-chat-source-bg: #fff0f4 !important;--hsk-fade-bg: #fff5f7 !important;--hsk-goo-fill: #ffe4ec !important;--hsk-surface-1: #ffe4ec !important;--hsk-surface-2: #fbcfe8 !important;--hsk-bubble-bg: #ffebf1 !important;--hsk-think-text: #831843 !important;--hsk-name-text: #831843 !important;--hsk-placeholder: #b57a91 !important;--hsk-grid-bg: #fff0f4 !important;--hsk-active-bg: #ec4899 !important;--hsk-on-active: #ffffff !important;--hsk-src-title: #2b0c19 !important;--hsk-src-desc: #702648 !important;--hsk-price-bg: #fce7f3 !important;--hsk-price-text: #db2777 !important;--hsk-sheet-bg: #ffe4ec !important;--hsk-sheet-hover: #ffd2e0 !important;--hsk-ink: 130, 36, 75 !important;--hsk-tint: 175, 38, 97 !important;--hsk-glass-bg: rgba(255, 240, 248, .75) !important;--hsk-glass-edge: rgba(236, 72, 153, .1) !important;--hsk-glass-edge-top: rgba(255, 255, 255, .9) !important;--hsk-glass-drop: rgba(180, 30, 100, .08) !important;--hsk-glass-sheen: rgba(255,255,255,.85) !important;--hsk-glass-saturate: 185% !important;--hsk-pill-bg: rgba(255, 228, 236, .8) !important}.hsk-opening-shell[data-hsk-theme=coffee],.hsk-cb-overlay[data-hsk-theme=coffee],[data-hsk-theme=coffee] .hsk-cb-overlay{--hsk-primary: #a9714b !important;--hsk-primary-rgb: 169, 113, 75 !important;--hsk-chat-bg: #f7f1e8 !important;--hsk-chat-text: #3b2a1d !important;--hsk-chat-muted: #8a7561 !important;--hsk-chat-divide: rgba(169, 113, 75, .18) !important;--hsk-chat-input-bg: #efe4d6 !important;--hsk-chat-source-bg: #f2eade !important;--hsk-fade-bg: #f7f1e8 !important;--hsk-goo-fill: #efe4d6 !important;--hsk-surface-1: #efe4d6 !important;--hsk-surface-2: #e6d7c4 !important;--hsk-bubble-bg: #f0e7da !important;--hsk-think-text: #6b543f !important;--hsk-placeholder: #a89680 !important;--hsk-grid-bg: #f2eade !important;--hsk-active-bg: #a9714b !important;--hsk-on-active: #ffffff !important;--hsk-src-title: #2a1c11 !important;--hsk-src-desc: #6b543f !important;--hsk-price-bg: #ece0cf !important;--hsk-price-text: #9a5f32 !important;--hsk-sheet-bg: #efe4d6 !important;--hsk-sheet-hover: #e6d7c4 !important;--hsk-ink: 59, 42, 29 !important;--hsk-tint: 120, 88, 62 !important;--hsk-glass-bg: rgba(247, 241, 232, .78) !important;--hsk-glass-edge: rgba(169, 113, 75, .12) !important;--hsk-glass-edge-top: rgba(255, 255, 255, .88) !important;--hsk-glass-drop: rgba(90, 55, 20, .1) !important;--hsk-glass-sheen: rgba(255,255,255,.8) !important;--hsk-glass-saturate: 185% !important;--hsk-pill-bg: rgba(239, 228, 214, .82) !important}.hsk-opening-shell[data-hsk-theme=midnight],.hsk-cb-overlay[data-hsk-theme=midnight],[data-hsk-theme=midnight] .hsk-cb-overlay{--hsk-primary: #6366f1 !important;--hsk-primary-rgb: 99, 102, 241 !important;--hsk-chat-bg: #0f1420 !important;--hsk-chat-text: #dfe6f5 !important;--hsk-chat-muted: #8792ad !important;--hsk-chat-divide: rgba(99, 102, 241, .18) !important;--hsk-chat-input-bg: #1a2133 !important;--hsk-chat-source-bg: #161d2c !important;--hsk-fade-bg: #0f1420 !important;--hsk-goo-fill: #1a2133 !important;--hsk-surface-1: #1a2133 !important;--hsk-surface-2: #222b40 !important;--hsk-bubble-bg: #1e2637 !important;--hsk-think-text: #a8b3cc !important;--hsk-placeholder: #5c6780 !important;--hsk-grid-bg: #222b40 !important;--hsk-active-bg: #6366f1 !important;--hsk-on-active: #ffffff !important;--hsk-src-title: #f2f5fc !important;--hsk-src-desc: #a8b3cc !important;--hsk-price-bg: #222b40 !important;--hsk-price-text: #818cf8 !important;--hsk-sheet-bg: #1a2133 !important;--hsk-sheet-hover: #222b40 !important;--hsk-ink: 223, 230, 245 !important;--hsk-tint: 150, 160, 200 !important;--hsk-glass-bg: rgba(180, 190, 255, .06) !important;--hsk-glass-edge: rgba(99, 102, 241, .18) !important;--hsk-glass-edge-top: rgba(180, 185, 255, .25) !important;--hsk-glass-drop: rgba(0,0,0,.55) !important;--hsk-glass-sheen: rgba(180,190,255,.1) !important;--hsk-glass-saturate: 155% !important;--hsk-pill-bg: rgba(180, 190, 255, .06) !important}.hsk-cb-back-icon{display:inline-flex;transition:transform .22s cubic-bezier(.22,1,.36,1)}.hsk-cb-back:hover:not(:disabled) .hsk-cb-back-icon{transform:translate(-2px)}.hsk-cb-panel[dir=rtl] .hsk-cb-back:hover:not(:disabled) .hsk-cb-back-icon{transform:scaleX(-1) translate(-2px)}.hsk-cb-tools-toggle{transition:transform .26s cubic-bezier(.34,1.56,.64,1),background-color .42s cubic-bezier(.16,1,.3,1),color .42s cubic-bezier(.16,1,.3,1)}.hsk-cb-tools-toggle:hover:not(:disabled){color:var(--hsk-primary, #ff6a33);transform:rotate(90deg)}.hsk-cb-tools-toggle--open:hover:not(:disabled){transform:rotate(135deg)}.hsk-cb-tools-toggle:active:not(:disabled){transform:scale(.9);transition-duration:.1s}.hsk-cb-theme-trigger-icon{display:inline-flex;transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.hsk-cb-theme-squircle-trigger:hover .hsk-cb-theme-trigger-icon{transform:translateY(-1.5px) rotate(-8deg)}.hsk-cb-dot-item:hover:not(.hsk-cb-dot-item--active){background:var(--hsk-chat-muted, rgba(120, 120, 120, .6));transform:scale(1.35)}@media(prefers-reduced-motion:reduce){.hsk-cb-back:hover:not(:disabled) .hsk-cb-back-icon,.hsk-cb-panel[dir=rtl] .hsk-cb-back:hover:not(:disabled) .hsk-cb-back-icon,.hsk-cb-theme-squircle-trigger:hover .hsk-cb-theme-trigger-icon,.hsk-cb-dot-item:hover:not(.hsk-cb-dot-item--active),.hsk-msg-audio-btn:hover:not(:disabled){transform:none}.hsk-cb-tools-toggle:hover:not(:disabled),.hsk-cb-tools-toggle--open:hover:not(:disabled){transform:none}}.hsk-voice-control{position:relative;isolation:isolate;border-radius:999px}.hsk-voice-control--waiting{opacity:.45;cursor:default}.hsk-voice-control--waiting:before,.hsk-voice-control--waiting .hsk-voice-control-icon{animation:none!important;background:none!important}.hsk-voice-control[data-control=mic]:not(.hsk-voice-control--muted):not(.hsk-voice-control--waiting):before{content:"";position:absolute;inset:-1.5px;border-radius:inherit;background:conic-gradient(from 0deg,#ff3b30,#ff9500,#ffd60a,#34c759,#00c7be,#30b0c7,#007aff,#5856d6,#af52de,#ff2d55,#ff3b30);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 2.5px),#000 calc(100% - 2px));mask:radial-gradient(farthest-side,transparent calc(100% - 2.5px),#000 calc(100% - 2px));animation:hsk-apple-siri-spin 3s linear infinite;pointer-events:none;z-index:1}.hsk-voice-control:after{display:none!important}.hsk-voice-control-icon{will-change:transform}.hsk-voice-control[data-control=mic]:not(.hsk-voice-control--muted):not(.hsk-voice-control--waiting) .hsk-voice-control-icon{animation:hsk-apple-siri-mic-pulse 2.2s ease-in-out infinite}.hsk-img-sun,.hsk-img-ridge{transform-box:fill-box;transform-origin:center;transition:transform .34s cubic-bezier(.34,1.56,.64,1)}.hsk-voice-control--attach:is(:hover,:active) .hsk-img-sun{transform:translate(1px,-1.5px) scale(1.25)}.hsk-voice-control--attach:is(:hover,:active) .hsk-img-ridge{transform:translateY(-1px);transition-delay:40ms}.hsk-mic-slash{stroke-dasharray:29;animation:hsk-slash-draw .3s cubic-bezier(.65,0,.35,1) both}@keyframes hsk-slash-draw{0%{stroke-dashoffset:29}to{stroke-dashoffset:0}}.hsk-voice-control[data-control=mic].hsk-voice-control--muted .hsk-voice-control-icon{animation:hsk-icon-pop .38s cubic-bezier(.34,1.56,.64,1)}@keyframes hsk-icon-pop{0%{transform:scale(.82)}to{transform:scale(1)}}.hsk-voice-exit svg{transition:transform .32s cubic-bezier(.34,1.56,.64,1)}.hsk-voice-exit:hover svg{transform:rotate(90deg)}.hsk-snd-wave{transform-box:fill-box;transform-origin:left center}.hsk-cb-sound-pill:hover .hsk-snd-wave{animation:hsk-wave-ripple .9s ease-out infinite;animation-delay:calc(var(--hsk-wave, 0) * .14s)}.hsk-mimi-dot{transform-box:fill-box;transform-origin:center;opacity:.7}.hsk-cb-sound-pill:hover .hsk-mimi-dot,.hsk-cb-toolsheet-item:hover .hsk-mimi-dot{animation:hsk-mimi-typing .9s ease-in-out infinite;animation-delay:calc(var(--hsk-dot, 0) * .13s)}@keyframes hsk-mimi-typing{0%,60%,to{transform:translateY(0);opacity:.55}30%{transform:translateY(-1.8px);opacity:1}}@keyframes hsk-wave-ripple{0%{opacity:.25;transform:scale(.7)}45%{opacity:1;transform:scale(1.05)}to{opacity:.25;transform:scale(1)}}.hsk-snd-x{stroke-dasharray:8;animation:hsk-snd-x-draw .26s ease-out both}.hsk-snd-x+.hsk-snd-x{animation-delay:70ms}@keyframes hsk-snd-x-draw{0%{stroke-dashoffset:8}to{stroke-dashoffset:0}}@keyframes hsk-apple-siri-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes hsk-apple-siri-mic-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.hsk-voice-control--muted:before,.hsk-voice-control--muted:after{display:none}@media(prefers-reduced-motion:reduce){.hsk-voice-control:not(:hover):not(.hsk-voice-control--muted) .hsk-voice-control-icon,.hsk-voice-control:hover:before,.hsk-voice-control--muted:before,.hsk-voice-control--muted:after{animation:none}.hsk-voice-control:hover,.hsk-voice-control:hover .hsk-mic-cap{transform:none}.hsk-voice-control--attach:hover .hsk-img-sun,.hsk-voice-control--attach:hover .hsk-img-ridge,.hsk-voice-exit:hover svg{transform:none}.hsk-mic-slash,.hsk-snd-x,.hsk-cb-sound-pill:hover .hsk-snd-wave,.hsk-cb-sound-pill:hover .hsk-mimi-dot,.hsk-cb-toolsheet-item:hover .hsk-mimi-dot,.hsk-voice-controls .hsk-voice-control-icon{animation:none}}.hsk-cb-voice-error{animation:hsk-error-shake .26s cubic-bezier(.36,.07,.19,.97) both}@keyframes hsk-error-shake{0%,to{transform:translate(0)}22%{transform:translate(-3px)}55%{transform:translate(2px)}80%{transform:translate(-1px)}}@media(prefers-reduced-motion:reduce){.hsk-cb-voice-error{animation:none}}.hsk-sun-rays,.hsk-sun-core,.hsk-moon-body,.hsk-wood-layer,.hsk-heart-body,.hsk-steam,.hsk-star-spark,.hsk-check-mark,.hsk-send-tail,.hsk-send-body{transform-box:fill-box;transform-origin:center}.hsk-sun-rays{transform-origin:12px 12px;transition:transform .5s cubic-bezier(.22,1,.36,1)}.hsk-cb-theme-grid-item:hover .hsk-sun-rays,.hsk-cb-theme-squircle-trigger:hover .hsk-sun-rays{transform:rotate(45deg)}.hsk-sun-core{transition:transform .32s cubic-bezier(.34,1.56,.64,1)}.hsk-cb-theme-grid-item:hover .hsk-sun-core,.hsk-cb-theme-squircle-trigger:hover .hsk-sun-core{transform:scale(1.14)}.hsk-moon-body{transition:transform .34s cubic-bezier(.34,1.56,.64,1)}.hsk-cb-theme-grid-item:hover .hsk-moon-body,.hsk-cb-theme-squircle-trigger:hover .hsk-moon-body{transform:rotate(-16deg)}.hsk-wood-layer{transition:transform .34s cubic-bezier(.34,1.56,.64,1)}.hsk-wood-layer{transition-delay:calc(var(--hsk-layer, 0) * 45ms)}.hsk-cb-theme-grid-item:hover .hsk-wood-layer,.hsk-cb-theme-squircle-trigger:hover .hsk-wood-layer{transform:translateY(-1.2px)}.hsk-cb-theme-grid-item:hover .hsk-heart-body,.hsk-cb-theme-squircle-trigger:hover .hsk-heart-body{animation:hsk-heartbeat 1.1s ease-in-out infinite}@keyframes hsk-heartbeat{0%,to{transform:scale(1)}14%{transform:scale(1.18)}28%{transform:scale(1)}42%{transform:scale(1.12)}56%{transform:scale(1)}}.hsk-steam{opacity:.9}.hsk-cb-theme-grid-item:hover .hsk-steam,.hsk-cb-theme-squircle-trigger:hover .hsk-steam{animation:hsk-steam-rise 1.6s ease-out infinite;animation-delay:calc(var(--hsk-steam, 0) * .22s)}@keyframes hsk-steam-rise{0%{transform:translateY(2px) scaleY(.5);opacity:0}35%{opacity:.95}to{transform:translateY(-3px) scaleY(1.15);opacity:0}}.hsk-cb-theme-grid-item:hover .hsk-star-spark,.hsk-cb-theme-squircle-trigger:hover .hsk-star-spark{animation:hsk-twinkle 1.4s ease-in-out infinite}@keyframes hsk-twinkle{0%,to{transform:scale(1) rotate(0);opacity:.85}50%{transform:scale(1.45) rotate(20deg);opacity:1}}.hsk-check-mark{stroke-dasharray:30;stroke-dashoffset:30;animation:hsk-check-draw .42s cubic-bezier(.65,0,.35,1) forwards}@keyframes hsk-check-draw{to{stroke-dashoffset:0}}@media(prefers-reduced-motion:reduce){.hsk-sun-rays,.hsk-sun-core,.hsk-moon-body,.hsk-wood-layer,.hsk-send-body,.hsk-send-tail{transition:none;transform:none!important}.hsk-cb-theme-grid-item:hover .hsk-heart-body,.hsk-cb-theme-squircle-trigger:hover .hsk-heart-body,.hsk-cb-theme-grid-item:hover .hsk-steam,.hsk-cb-theme-squircle-trigger:hover .hsk-steam,.hsk-cb-theme-grid-item:hover .hsk-star-spark,.hsk-cb-theme-squircle-trigger:hover .hsk-star-spark{animation:none}.hsk-check-mark{animation:none;stroke-dashoffset:0}}.hsk-cb-send-stage{position:relative;display:inline-flex;align-items:center;justify-content:center;width:100%;height:100%;overflow:visible}.hsk-cb-send-seam{position:absolute;top:50%;left:50%;width:2px;height:15px;border-radius:2px;background:currentColor;transform:translate(-50%,-50%) rotate(38deg) scaleY(0);transform-origin:center;opacity:0;pointer-events:none}.hsk-cb-send-kite{display:inline-flex;transform-origin:center;will-change:transform}.hsk-cb-send:hover:not(:disabled) .hsk-cb-send-kite{transform:translate(1.5px,-1.5px);transition:transform .26s cubic-bezier(.22,1,.36,1)}.hsk-cb-send.is-launching .hsk-cb-send-kite{animation:hsk-kite-tear .55s cubic-bezier(.22,1,.36,1) both}.hsk-cb-send.is-launching .hsk-cb-send-seam{animation:hsk-seam-heal .55s cubic-bezier(.4,0,.3,1) both}@keyframes hsk-kite-tear{0%{transform:translate(0) scale(1) rotate(0);opacity:1}18%{transform:translate(-1px,2.5px) scale(.92,1.08) rotate(-4deg);opacity:1}45%{transform:translate(3px,-16px) scale(1.2,.8) rotate(6deg);opacity:.95}75%{transform:translate(6px,-38px) scale(1.05,.7) rotate(10deg);opacity:.6}to{transform:translate(8px,-56px) scale(.6,.4) rotate(12deg);opacity:0}}@keyframes hsk-seam-heal{0%{transform:translate(-50%,-50%) rotate(38deg) scaleY(0);opacity:0}22%{transform:translate(-50%,-50%) rotate(38deg) scaleY(1);opacity:.9}45%{transform:translate(-50%,-50%) rotate(38deg) scaleY(1.3);opacity:.8}72%{transform:translate(-50%,-50%) rotate(38deg) scaleY(.3);opacity:.35}to{transform:translate(-50%,-50%) rotate(38deg) scaleY(0);opacity:0}}.hsk-kite-wing{transform-box:fill-box;transform-origin:100% 0}.hsk-cb-send:not(:disabled):not(.is-launching) .hsk-kite-wing--far{animation:hsk-wing-beat-far .62s ease-in-out infinite}.hsk-cb-send:not(:disabled):not(.is-launching) .hsk-kite-wing--near{animation:hsk-wing-beat-near .62s ease-in-out .07s infinite}.hsk-cb-send:not(:disabled):not(.is-launching) .hsk-cb-send-kite{animation:hsk-kite-strain 2.4s cubic-bezier(.45,0,.35,1) infinite}.hsk-cb-send:not(:disabled):not(.is-launching) .hsk-cb-send-seam{animation:hsk-seam-strain 2.4s cubic-bezier(.45,0,.35,1) infinite}@keyframes hsk-kite-strain{0%,10%{transform:translate(0) scale(1) rotate(0)}20%{transform:translate(-1.2px,2px) scale(.94,1.05) rotate(-4deg)}34%{transform:translate(3.5px,-5px) scale(1.16,.86) rotate(8deg)}42%{transform:translate(4.2px,-6px) scale(1.2,.82) rotate(9deg)}50%{transform:translate(2.4px,-3.4px) scale(1.06,.94) rotate(5deg)}64%{transform:translate(-.6px,1.2px) scale(.97,1.03) rotate(-2deg)}78%,to{transform:translate(0) scale(1) rotate(0)}}@keyframes hsk-seam-strain{0%,22%{transform:translate(-50%,-50%) rotate(38deg) scaleY(0);opacity:0}34%{transform:translate(-50%,-50%) rotate(38deg) scaleY(.6);opacity:.34}42%{transform:translate(-50%,-50%) rotate(38deg) scaleY(.95);opacity:.5}52%{transform:translate(-50%,-50%) rotate(38deg) scaleY(.55);opacity:.3}66%,to{transform:translate(-50%,-50%) rotate(38deg) scaleY(0);opacity:0}}@keyframes hsk-wing-beat-far{0%,to{transform:scaleX(1) skewY(0)}50%{transform:scaleX(.86) skewY(-4deg)}}@keyframes hsk-wing-beat-near{0%,to{transform:scaleX(1) skewY(0)}50%{transform:scaleX(1.1) skewY(3deg)}}.hsk-stop-ring{transform-box:fill-box;transform-origin:center;stroke-dasharray:22 38;opacity:.85;animation:hsk-stop-orbit 1.4s linear infinite}.hsk-stop-core{transform-box:fill-box;transform-origin:center;animation:hsk-stop-pulse 1.4s ease-in-out infinite;transition:rx .2s ease,transform .2s cubic-bezier(.34,1.56,.64,1)}.hsk-cb-send--stop:hover .hsk-stop-core{transform:scale(1.16);animation-play-state:paused}.hsk-cb-send--stop:hover .hsk-stop-ring{animation-duration:.7s}@keyframes hsk-stop-orbit{to{transform:rotate(1turn)}}@keyframes hsk-stop-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(.86);opacity:.75}}@media(prefers-reduced-motion:reduce){.hsk-cb-send.is-launching .hsk-cb-send-kite,.hsk-cb-send.is-launching .hsk-cb-send-seam,.hsk-cb-send:hover:not(:disabled) .hsk-cb-send-kite{animation:none;transform:none}}.hsk-cb-send.is-launching{overflow:visible!important}.hsk-cb-send-sheath{position:absolute;inset:-1px;background:radial-gradient(120% 90% at 32% 22%,#ffffff70,#fff0 58%),linear-gradient(150deg,color-mix(in srgb,var(--hsk-primary, #1273e6) 72%,#ffffff) 0%,var(--hsk-primary, #1273e6) 46%,color-mix(in srgb,var(--hsk-primary, #1273e6) 74%,#000000) 100%);border-radius:46% 54% 52% 48%/50% 47% 53% 50%;box-shadow:inset 0 2px 3px #ffffff80,inset 0 -3px 5px color-mix(in srgb,var(--hsk-primary, #1273e6) 30%,rgba(0,0,0,.55)),0 2px 5px #0003,0 7px 16px color-mix(in srgb,var(--hsk-primary, #1273e6) 16%,transparent);transform-origin:58% 62%;pointer-events:none;z-index:1;will-change:transform,border-radius;transition:border-radius .5s cubic-bezier(.34,1.6,.5,1),box-shadow .3s ease}.hsk-cb-send-stage{z-index:2;position:relative}.hsk-cb-send:not(:disabled):not(.is-launching) .hsk-cb-send-sheath{animation:hsk-sheath-press 2.4s cubic-bezier(.35,.8,.3,1) infinite}@keyframes hsk-sheath-press{0%,12%{transform:scale(1);border-radius:46% 54% 52% 48%/50% 47% 53% 50%}22%{transform:scale(.94,1.08) translate(-1.4px,2.2px);border-radius:52% 48% 44% 56%/58% 40% 60% 42%}36%{transform:scale(1.14,.87) translate(2.6px,-3.4px) rotate(2deg);border-radius:38% 66% 54% 46%/40% 62% 38% 60%}46%{transform:scale(1.19,.83) translate(3.6px,-4.6px) rotate(2.8deg);border-radius:34% 72% 56% 44%/36% 68% 32% 64%}58%{transform:scale(.93,1.09) translate(-1.2px,1.8px) rotate(-1.4deg);border-radius:56% 44% 42% 58%/60% 38% 62% 40%}70%{transform:scale(1.05,.96) translate(.8px,-1px) rotate(.6deg);border-radius:44% 56% 50% 50%/46% 54%}80%{transform:scale(.98,1.03);border-radius:50% 50% 48% 52%/52% 48%}88%,to{transform:scale(1);border-radius:46% 54% 52% 48%/50% 47% 53% 50%}}.hsk-cb-send.is-launching .hsk-cb-send-sheath{animation:hsk-sheath-yield .55s cubic-bezier(.3,.7,.25,1) both}@keyframes hsk-sheath-yield{0%{transform:scale(1);border-radius:46% 54% 52% 48%/50% 47% 53% 50%}20%{transform:scale(.88,1.14) translate(-2px,3.4px);border-radius:56% 44% 40% 60%/64% 34% 66% 36%}45%{transform:scale(1.34,.68) translate(6px,-10px) rotate(4.6deg);border-radius:24% 86% 62% 38%/26% 80% 20% 74%}65%{transform:scale(.86,1.16) translate(-2.2px,3.6px) rotate(-2.2deg);border-radius:60% 40% 38% 62%/68% 30% 70% 32%}82%{transform:scale(1.06,.95) translate(1px,-1px) rotate(.8deg);border-radius:44% 56% 52% 48%/46% 54%}to{transform:scale(1);border-radius:46% 54% 52% 48%/50% 47% 53% 50%}}.hsk-cb-send:disabled .hsk-cb-send-sheath{opacity:0}.hsk-cb-send--stop .hsk-cb-send-sheath{display:none}.hsk-cb-send:active:not(:disabled) .hsk-cb-send-sheath{box-shadow:inset 0 1px 2px #ffffff4d,inset 0 -1px 3px color-mix(in srgb,var(--hsk-primary, #1273e6) 24%,rgba(0,0,0,.6)),0 1px 3px #0000003d}@media(prefers-reduced-motion:reduce){.hsk-cb-send:not(:disabled):not(.is-launching) .hsk-cb-send-sheath,.hsk-cb-send.is-launching .hsk-cb-send-sheath{animation:none}}.hsk-cb-send:not(.hsk-cb-send--stop):not(:disabled){background:transparent!important;box-shadow:none!important;overflow:visible!important}.hsk-cb-send:not(.hsk-cb-send--stop):not(:disabled):hover{box-shadow:none!important}.hsk-cb-send:not(:disabled):hover .hsk-cb-send-sheath{box-shadow:inset 0 2px 4px #ffffff94,inset 0 -3px 6px color-mix(in srgb,var(--hsk-primary, #1273e6) 28%,rgba(0,0,0,.5)),0 3px 7px #00000038,0 10px 22px color-mix(in srgb,var(--hsk-primary, #1273e6) 20%,transparent)}.hsk-cb-terms-sanctuary{display:flex;flex-direction:column;margin:18px 0 22px;width:100%;max-width:520px;text-align:start;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border:none;border-radius:0;padding:0;box-shadow:none;opacity:0;animation:hsk-terms-delicate-in .5s cubic-bezier(.16,1,.3,1) .05s forwards}@keyframes hsk-terms-delicate-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.hsk-cb-terms-item{display:flex;flex-direction:column;gap:4px;opacity:0;animation:hsk-terms-item-in .45s cubic-bezier(.16,1,.3,1) forwards;animation-delay:calc(var(--hsk-row-idx, 0) * 60ms + 80ms)}@keyframes hsk-terms-item-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.hsk-cb-terms-head{display:flex;align-items:baseline;gap:10px}.hsk-cb-terms-numeral{font-family:ui-serif,Georgia,Cambria,Times New Roman,Times,serif;font-style:italic;font-size:11px;font-weight:600;letter-spacing:.12em;color:var(--hsk-primary, #ff6a33);opacity:.85;flex-shrink:0;user-select:none}.hsk-cb-terms-title{margin:0;font-size:14.5px;font-weight:700;letter-spacing:-.015em;color:var(--hsk-chat-text, #ffffff)}.hsk-cb-terms-desc{margin:0;padding-inline-start:22px;font-size:13px;line-height:1.55;color:var(--hsk-chat-muted, #9ca3af);font-weight:400}.hsk-cb-terms-more{margin:0 0 4px;font-size:12.5px;color:var(--hsk-chat-muted, #9ca3af);text-align:start}.hsk-cb-terms-more a{color:var(--hsk-primary, #ff6a33);font-weight:600;text-decoration:none;unicode-bidi:isolate}.hsk-cb-terms-more a:hover{text-decoration:underline}.hsk-cb-terms-divider{height:1px;margin:14px 0;background:linear-gradient(90deg,transparent 0%,color-mix(in srgb,var(--hsk-chat-text, #000000) 8%,transparent) 20%,color-mix(in srgb,var(--hsk-chat-text, #000000) 8%,transparent) 80%,transparent 100%)}.hsk-cb-terms-action-wrap{display:flex;justify-content:center;width:100%;margin-top:14px}.hsk-cb-terms-agree-btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 34px;font-size:14px;font-weight:600;border-radius:9999px;border:1px solid var(--hsk-chat-divide, rgba(255, 255, 255, .08));background:var(--hsk-chat-divide, rgba(255, 255, 255, .06));color:var(--hsk-chat-muted, rgba(255, 255, 255, .4));cursor:not-allowed;transition:all .3s cubic-bezier(.16,1,.3,1);letter-spacing:-.01em}.hsk-cb-terms-agree-btn.is-active{background:var(--hsk-primary, #ff6a33);color:#fff;border-color:var(--hsk-primary, #ff6a33);cursor:pointer;box-shadow:0 4px 14px color-mix(in srgb,var(--hsk-primary, #ff6a33) 35%,transparent)}.hsk-cb-terms-agree-btn.is-active:hover{filter:brightness(.92);transform:translateY(-1px);box-shadow:0 6px 18px color-mix(in srgb,var(--hsk-primary, #ff6a33) 45%,transparent)}.hsk-cb-terms-agree-btn.is-active:active{transform:translateY(0);box-shadow:0 2px 6px color-mix(in srgb,var(--hsk-primary, #ff6a33) 25%,transparent)}@keyframes hsk-theme-morph-in{0%{opacity:0;transform:scale(.92) translateY(4px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes hsk-theme-pill-in{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}.hsk-cb-panel[dir=rtl] .hsk-cb-theme-2x2-grid{transform-origin:bottom right}@media(prefers-reduced-motion:reduce){.hsk-cb-theme-squircle-trigger{animation:none}}@keyframes hsk-theme-morph-out{0%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.92) translateY(4px)}}.hsk-retry-icon{display:inline-flex;transform-origin:center;transition:transform .36s cubic-bezier(.34,1.56,.64,1)}.hsk-cb-msg-action:hover:not(:disabled) .hsk-retry-icon{transform:rotate(-180deg)}.hsk-cb-msg-action:active:not(:disabled) .hsk-retry-icon{transform:rotate(-360deg) scale(.85);transition-duration:.18s}.hsk-retry-icon--spinning{animation:hsk-spin .65s linear infinite!important}.hsk-edit-icon{display:inline-flex;transform-origin:20% 80%;transition:transform .26s cubic-bezier(.34,1.56,.64,1)}.hsk-cb-msg-action:hover:not(:disabled) .hsk-edit-icon{transform:translateY(-1.5px) rotate(-14deg)}.hsk-cb-msg-action:active:not(:disabled) .hsk-edit-icon{transform:translateY(1px) scale(.88);transition-duration:.1s}.hsk-copy-icon{display:inline-flex}.hsk-copy-sheet{transition:transform .22s cubic-bezier(.34,1.56,.64,1)}.hsk-cb-msg-action:hover:not(:disabled) .hsk-copy-sheet{transform:translate(-1.5px,-1.5px)}.hsk-check-icon{display:inline-flex;animation:hsk-check-pop .28s cubic-bezier(.34,1.56,.64,1) both}@keyframes hsk-check-pop{0%{transform:scale(.4);opacity:0}60%{transform:scale(1.24);opacity:1}to{transform:scale(1);opacity:1}}:root{--hsk-apple-bezier: cubic-bezier(.16, 1, .3, 1);--hsk-apple-exit-bezier: cubic-bezier(.4, 0, .2, 1)}@keyframes hsk-step1-exit-up{0%{opacity:1;transform:translateY(0) scale(1);filter:blur(0px)}to{opacity:0;transform:translateY(-46px) scale(.96);filter:blur(14px)}}.hsk-step1-exit{animation:hsk-step1-exit-up .32s cubic-bezier(.16,1,.3,1) forwards;pointer-events:none;will-change:transform,opacity,filter}@keyframes hsk-composer-exit-up{0%{opacity:1;transform:translateY(0);filter:blur(0px)}to{opacity:0;transform:translateY(-42px);filter:blur(12px)}}.hsk-composer-exit-up{animation:hsk-composer-exit-up .3s cubic-bezier(.16,1,.3,1) forwards;pointer-events:none;will-change:transform,opacity,filter}.hsk-lang-loader{display:flex;flex-direction:column;align-items:center;gap:28px;padding:16px 0;width:100%}.hsk-lang-loader--enter{animation:hsk-clay-in .16s steps(2,end) both}@keyframes hsk-clay-in{0%{opacity:0}to{opacity:1}}.hsk-clay{display:flex;flex-direction:column;align-items:center;gap:8px}.hsk-clay-table{display:block;width:240px;height:160px}.hsk-lang-preparing{font-size:13px;font-weight:500;letter-spacing:-.015em;color:var(--hsk-chat-muted, rgba(255, 255, 255, .44));text-align:center;margin:0;line-height:1.4}.hsk-lang-loader--enter .hsk-lang-preparing{animation:hsk-preparing-in .42s .4s cubic-bezier(.16,1,.3,1) both}.hsk-lang-loader--exit .hsk-lang-preparing{animation:hsk-preparing-out .12s cubic-bezier(.4,0,.2,1) forwards}@keyframes hsk-preparing-in{0%{opacity:0;transform:translateY(10px);filter:blur(8px)}to{opacity:1;transform:translateY(0);filter:blur(0px)}}@keyframes hsk-preparing-out{to{opacity:0;transform:translateY(4px);filter:blur(6px)}}.hsk-composer-reveal{animation:hsk-composer-in .48s cubic-bezier(.16,1,.3,1) both;will-change:transform,opacity,filter}@keyframes hsk-composer-in{0%{opacity:0;transform:translateY(36px);filter:blur(10px)}to{opacity:1;transform:translateY(0);filter:blur(0px)}}.hsk-step-enter{animation:hsk-step-enter-in .46s cubic-bezier(.16,1,.3,1) both;will-change:transform,opacity,filter}@keyframes hsk-step-enter-in{0%{opacity:0;transform:translateY(22px);filter:blur(12px)}to{opacity:1;transform:translateY(0);filter:blur(0px)}}@media(prefers-reduced-motion:reduce){.hsk-step1-exit,.hsk-composer-exit-up,.hsk-lang-loader--enter,.hsk-lang-loader--exit,.hsk-composer-reveal,.hsk-step-enter{animation:none!important}}';var _c="akropolys-kiku-root",kr=null,dn=null,Fc=!1;function Dc(e){if(Fc)return;if(Fc=!0,typeof CSSStyleSheet<"u"&&"replaceSync"in CSSStyleSheet.prototype)try{let t=new CSSStyleSheet;t.replaceSync(Uo),e.adoptedStyleSheets=[t];return}catch{}let n=document.createElement("style");n.textContent=Uo,e.appendChild(n)}function Xd(){return typeof document>"u"?null:dn?(Dc(dn),dn):(kr=document.getElementById(_c),kr||(kr=document.createElement("div"),kr.id=_c,kr.style.cssText="all: initial;",document.body.appendChild(kr)),dn=kr.shadowRoot??kr.attachShadow({mode:"open"}),Dc(dn),dn)}export{Kd as ChatModal,aa as DEFAULT_CHIPS,Rt as DEFAULT_UI_STRINGS,Xd as getShadowContainer,wh as warmChrome,sa as warmLanguage};
|
|
39
|
-
//# sourceMappingURL=lazy-KLKJL6S2.mjs.map
|