@akropolys/kiku 2.2.1 → 2.2.2

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.
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import{a as tr,b as $a,c as ie,d as is,e as cs,f as jn,g as ls,h as Lt,i as hs,j as Ua,k as Rt,l as Wa,m as Oa,n as ps}from"./chunk-RWGHGIF7.mjs";import Pn,{useState as Be,useEffect as xt,useRef as at,useCallback as Ct,useId as Id}from"react";import{Fragment as Gd,jsx as J,jsxs as Je}from"react/jsx-runtime";var ql=({className:e,size:n=18,tight:t=!1})=>J("svg",{className:ie("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:Je("g",{transform:"translate(22.7 19) scale(0.62)",fill:"currentColor",fillRule:"evenodd",children:[J("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"}),J("circle",{cx:"55",cy:"82",r:"3.4"})]})}),rr=ql,ds=()=>Je("svg",{className:"hsk-stop-icon",width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",children:[J("circle",{className:"hsk-stop-ring",cx:"12",cy:"12",r:"9.5",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round"}),J("rect",{className:"hsk-stop-core",x:"8.5",y:"8.5",width:"7",height:"7",rx:"1.8",fill:"currentColor"})]});var us=()=>Je("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.2",strokeLinecap:"round",strokeLinejoin:"round",children:[J("path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"}),J("polyline",{points:"15 3 21 3 21 9"}),J("line",{x1:"10",y1:"14",x2:"21",y2:"3"})]}),ms=()=>J("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"currentColor",children:J("path",{d:"M8 5v14l11-7z"})}),Pr=()=>Je("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:[J("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),J("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]}),Vn=()=>J("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:J("path",{d:"m15 18-6-6 6-6"})}),Kn=()=>J("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:J("path",{d:"m9 18 6-6-6-6"})}),bs=()=>Je("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[J("path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8"}),J("path",{d:"M3 3v5h5"}),J("path",{d:"M12 7v5l4 2"})]}),Xn=()=>J("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:J("path",{d:"M19 21 12 16l-7 5V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z"})}),ks=()=>Je("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[J("path",{d:"M3 6h18"}),J("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 fs=()=>J("svg",{width:"19",height:"19",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",children:J("path",{d:"M12 5v14M5 12h14"})}),Qn=({size:e=18}={})=>Je("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[J("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)=>J("circle",{className:"hsk-mimi-dot",style:{"--hsk-dot":t},cx:n,cy:"11.6",r:"1.15",fill:"currentColor",stroke:"none"},n))]}),Ga=()=>J("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:J("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"})}),gs=()=>Je("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[J("rect",{x:"3",y:"3",width:"18",height:"18",rx:"4"}),J("circle",{className:"hsk-img-sun",cx:"9",cy:"9",r:"1.8"}),J("path",{className:"hsk-img-ridge",d:"m21 15-4.5-4.5L6 21"})]}),cn=({className:e,size:n=13}={})=>Je("svg",{className:ie("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:[J("path",{className:"hsk-retry-arrow",d:"M21.5 2v6h-6"}),J("path",{className:"hsk-retry-arc",d:"M21.34 15.57a10 10 0 1 1-.57-8.38l5.67-5.19"})]}),Jn=({className:e,size:n=13}={})=>Je("svg",{className:ie("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:[J("path",{className:"hsk-edit-pencil",d:"M17 3a2.85 2.83 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5Z"}),J("path",{className:"hsk-edit-lead",d:"m15 5 4 4"})]}),mr=({className:e,size:n=13}={})=>Je("svg",{className:ie("hsk-copy-icon",e),width:n,height:n,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[J("rect",{className:"hsk-copy-sheet",x:"8.5",y:"7",width:"12",height:"14",rx:"3.5"}),J("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"})]}),br=({className:e,size:n=13}={})=>J("svg",{className:ie("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:J("polyline",{className:"hsk-check-mark",points:"20 6 9 17 4 12"})}),ln=({className:e,size:n=18}={})=>Je("svg",{className:e,width:n,height:n,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[J("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"}),J("path",{d:"M19 10v2a7 7 0 0 1-14 0v-2"}),J("line",{x1:"12",y1:"19",x2:"12",y2:"22"})]}),xs=()=>Je("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[J("line",{className:"hsk-mic-slash",x1:"2",y1:"2",x2:"22",y2:"22"}),J("path",{d:"M18.89 13.23A7.12 7.12 0 0 0 19 12v-2"}),J("path",{d:"M5 10v2a7 7 0 0 0 12 5"}),J("path",{d:"M15 9.34V5a3 3 0 0 0-5.68-1.33"}),J("path",{d:"M9 9v3a3 3 0 0 0 5.12 2.12"}),J("line",{x1:"12",y1:"19",x2:"12",y2:"22"})]}),Ya=({active:e})=>Je("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[J("path",{className:"hsk-wave-bar hsk-wave-bar--tip",style:{"--hsk-bar":0,"--hsk-amp":1.9,"--hsk-period":"1.24s"},d:"M2 12h2"}),J("path",{className:"hsk-wave-bar",style:{"--hsk-bar":1,"--hsk-amp":1.78,"--hsk-period":"0.94s"},d:"M6 8v8"}),J("path",{className:"hsk-wave-bar",style:{"--hsk-bar":2,"--hsk-amp":1.26,"--hsk-period":"1.42s"},d:"M10 4v16"}),J("path",{className:"hsk-wave-bar",style:{"--hsk-bar":3,"--hsk-amp":1.62,"--hsk-period":"1.08s"},d:"M14 7v10"}),J("path",{className:"hsk-wave-bar",style:{"--hsk-bar":4,"--hsk-amp":2.05,"--hsk-period":"0.86s"},d:"M18 9v6"}),J("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"})]}),vs=()=>Je("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:[J("polygon",{className:"hsk-kite-wing hsk-kite-wing--far",points:"22 2 11 13 2 9"}),J("polygon",{className:"hsk-kite-wing hsk-kite-wing--near",points:"22 2 15 22 11 13"}),J("line",{className:"hsk-kite-spine",x1:"22",y1:"2",x2:"11",y2:"13"})]}),ys=()=>Je("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[J("circle",{className:"hsk-sun-core",cx:"12",cy:"12",r:"5"}),Je("g",{className:"hsk-sun-rays",children:[J("line",{x1:"12",y1:"1",x2:"12",y2:"3"}),J("line",{x1:"12",y1:"21",x2:"12",y2:"23"}),J("line",{x1:"4.22",y1:"4.22",x2:"5.64",y2:"5.64"}),J("line",{x1:"18.36",y1:"18.36",x2:"19.78",y2:"19.78"}),J("line",{x1:"1",y1:"12",x2:"3",y2:"12"}),J("line",{x1:"21",y1:"12",x2:"23",y2:"12"}),J("line",{x1:"4.22",y1:"19.78",x2:"5.64",y2:"18.36"}),J("line",{x1:"18.36",y1:"5.64",x2:"19.78",y2:"4.22"})]})]}),ws=()=>J("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:J("path",{className:"hsk-moon-body",d:"M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"})}),Cs=()=>Je("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[J("path",{className:"hsk-wood-layer",style:{"--hsk-layer":0},d:"M12 2L2 7l10 5 10-5-10-5z"}),J("path",{className:"hsk-wood-layer",style:{"--hsk-layer":2},d:"M2 17l10 5 10-5"}),J("path",{className:"hsk-wood-layer",style:{"--hsk-layer":1},d:"M2 12l10 5 10-5"})]}),Ss=()=>J("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:J("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"})}),Ms=()=>Je("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[J("path",{d:"M17 8h1a4 4 0 1 1 0 8h-1"}),J("path",{d:"M3 8h14v9a4 4 0 0 1-4 4H7a4 4 0 0 1-4-4z"}),J("line",{className:"hsk-steam",style:{"--hsk-steam":0},x1:"6",y1:"1",x2:"6",y2:"4"}),J("line",{className:"hsk-steam",style:{"--hsk-steam":1},x1:"10",y1:"1",x2:"10",y2:"4"}),J("line",{className:"hsk-steam",style:{"--hsk-steam":2},x1:"14",y1:"1",x2:"14",y2:"4"})]}),Ts=()=>Je("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[J("path",{d:"M12 3a6.5 6.5 0 0 0 9 9 9 9 0 1 1-9-9z"}),J("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 Rs=({size:e=11})=>Je("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.6",strokeLinecap:"round",strokeLinejoin:"round",children:[J("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),J("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]}),zs=({className:e,size:n=16,filled:t=!1}={})=>Je("svg",{className:ie("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:[J("line",{x1:"12",y1:"17",x2:"12",y2:"22"}),J("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 kr=[{id:"light",label:"Silver",Icon:ys,dark:!1},{id:"dark",label:"Onyx",Icon:ws,dark:!0},{id:"mahogany",label:"Mahogany",Icon:Cs,dark:!0},{id:"blush",label:"Blush",Icon:Ss,dark:!1},{id:"coffee",label:"Coffee",Icon:Ms,dark:!1},{id:"midnight",label:"Midnight",Icon:Ts,dark:!0}],Es="coffee";function ja(e){return typeof e=="string"&&kr.some(n=>n.id===e)}function Va(e){return kr.find(n=>n.id===e)??kr[0]}import{useKiku as Pd,subscribeLiveStream as Ad}from"@akropolys/sdk";import{useAkropolysContext as _d,useCardFields as Fd}from"@akropolys/sdk";import{useEffect as $l,useRef as Ul}from"react";function Wl(e,n,t=.55){return n<=0?0:e*n*t/(n+t*Math.abs(e))}function Ol({stiffness:e=500,damping:n=45,onFrame:t,onRest:r}){let a=0,s=0,i=0,c=null,o=0,l=p=>{let m=Math.min(.032,(p-o)/1e3)||.016666666666666666;o=p;let d=Math.max(1,Math.ceil(m/.008)),v=m/d;for(let f=0;f<d;f++){let b=-e*(a-i)-n*s;s+=b*v,a+=s*v}if(Math.abs(a-i)<.5&&Math.abs(s)<.5){a=i,s=0,c=null,t(a),r?.();return}t(a),c=requestAnimationFrame(l)},h=()=>{c===null&&(o=performance.now(),c=requestAnimationFrame(l))};return{track(p){c!==null&&(cancelAnimationFrame(c),c=null),a=p,s=0,t(a)},to(p,m=0){i=p,s=m,h()},get value(){return a},stop(){c!==null&&(cancelAnimationFrame(c),c=null)}}}function Ls({panel:e,scroller:n,onDismiss:t,quiescent:r,enabled:a=!0}){let s=Ul(t);s.current=t,$l(()=>{if(!a)return;let i=e();if(!i||typeof matchMedia=="function"&&matchMedia("(prefers-reduced-motion: reduce)").matches)return;let c=!1,o=0,l=0,h=0,p=-1,m=0,d=0,v=0,f=!1,b=!1,k=Ol({onFrame:C=>{i.style.transform=C===0?"":`translate3d(0, ${C}px, 0)`;let $=i.parentElement;$&&($.style.opacity=C===0?"":String(Math.max(.35,1-C/(i.offsetHeight||1)*1.1)))},onRest:()=>{i.style.willChange="",b&&(b=!1,s.current())}}),N=()=>{let C=n();return C&&C.scrollTop>0?!1:r?r():!0},T=C=>{C.pointerType==="mouse"||!C.isPrimary||(c=!1,f=!1,p=C.pointerId,o=m=C.clientY,l=C.clientX,d=C.timeStamp,v=0,h=k.value)},z=C=>{if(C.pointerId!==p)return;let $=C.clientY-o,Z=C.clientX-l;if(!f){if(Math.abs($)<6&&Math.abs(Z)<6)return;if(f=!0,c=$>0&&Math.abs($)>Math.abs(Z)&&N(),c){try{i.setPointerCapture(C.pointerId)}catch{}k.stop(),i.style.animation="none",i.style.willChange="transform"}}if(!c)return;let A=C.timeStamp-d;A>0&&(v=(C.clientY-m)/A*1e3),m=C.clientY,d=C.timeStamp;let D=h+$;k.track(D<0?-Wl(-D,i.offsetHeight||1):D),C.cancelable&&C.preventDefault()},F=C=>{if(C.pointerId!==p)return;try{i.hasPointerCapture(C.pointerId)&&i.releasePointerCapture(C.pointerId)}catch{}if(p=-1,!c)return;c=!1;let $=i.offsetHeight||1;k.value+v*.12>$*.3||v>900?(b=!0,i.style.pointerEvents="none",k.to($,v)):k.to(0,v)};return i.addEventListener("pointerdown",T,{passive:!0}),i.addEventListener("pointermove",z,{passive:!1}),i.addEventListener("pointerup",F,{passive:!0}),i.addEventListener("pointercancel",F,{passive:!0}),()=>{k.stop(),i.removeEventListener("pointerdown",T),i.removeEventListener("pointermove",z),i.removeEventListener("pointerup",F),i.removeEventListener("pointercancel",F),i.style.transform="",i.style.willChange="",i.style.animation="",i.style.pointerEvents="";let C=i.parentElement;C&&(C.style.opacity="")}},[a,e,n,r])}function hn(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 Zn(e){if(e.type==="image/gif"||e.type==="image/svg+xml"||e.size<=307200)return hn(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 s=await createImageBitmap(e,{resizeWidth:r,resizeHeight:a,resizeQuality:"high"});try{let i=document.createElement("canvas");i.width=r,i.height=a;let c=i.getContext("2d");if(!c)return hn(e);c.drawImage(s,0,0);let o=e.type==="image/png",l=await new Promise(h=>i.toBlob(h,o?"image/png":"image/jpeg",.85));return!l||l.size>=e.size?hn(e):hn(l)}finally{s.close?.()}}catch{return hn(e)}}import{useEffect as Ps,useRef as fr,useState as gr}from"react";var Ns=(e,n)=>Math.hypot(e.x-n.x,e.y-n.y);function Gl(e){let n=0;for(let t=1;t<e.length;t++)n+=Ns(e[t-1],e[t]);return n}function Ka(e){let n=1/0,t=1/0,r=-1/0,a=-1/0;for(let s of e)s.x<n&&(n=s.x),s.y<t&&(t=s.y),s.x>r&&(r=s.x),s.y>a&&(a=s.y);return{minX:n,minY:t,maxX:r,maxY:a}}var Ar=e=>Math.max(0,Math.min(1e3,Math.round(e)));function Xa(e,n,t){return[Ar(e.minY/t*1e3),Ar(e.minX/n*1e3),Ar(e.maxY/t*1e3),Ar(e.maxX/n*1e3)]}function Yl(e,n){let[t,r,a,s]=e,[i,c,o,l]=n,h=Math.min(s,l)-Math.max(r,c),p=Math.min(a,o)-Math.max(t,i);if(h<=0||p<=0)return!1;let m=Math.min((s-r)*(a-t),(l-c)*(o-i));return m>0&&h*p/m>.35}var jl=(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 Vl(e,n,t){if(e.length<2)return null;let r=Ka(e),a=Xa(r,n,t),s=Math.hypot(r.maxX-r.minX,r.maxY-r.minY);if(s<4)return null;let i=Gl(e),c=Ns(e[0],e[e.length-1]),o=i/Math.max(c,1e-6);return c/s<.3&&i>s*1.8?{gesture:"ring",box:a,straight:!1}:o<1.25?{gesture:"arrow",box:a,to:[Ar(e[e.length-1].y/t*1e3),Ar(e[e.length-1].x/n*1e3)],straight:!0}:{gesture:"scribble",box:a,straight:!1}}function Is(e,n,t){if(!n||!t)return[];let r=[],a=[],s=[];for(let o of e){if(o.kind==="pin"&&typeof o.x=="number"&&typeof o.y=="number"){let l={x:o.x,y:o.y};s.push({gesture:"pin",id:o.id,text:o.label,box:Xa(Ka([l,l]),n,t)});continue}if(o.kind==="text"&&o.value&&typeof o.x=="number"&&typeof o.y=="number"){let l={x:o.x,y:o.y};a.push({gesture:"text",box:Xa(Ka([l,l]),n,t),text:o.value});continue}if(o.kind==="stroke"&&o.tool!=="eraser"&&o.points){let l=Vl(o.points,n,t);l&&r.push(l)}}let i=new Set,c=[];for(let o=0;o<r.length;o++){if(i.has(o))continue;let l=r[o];for(let h=o+1;h<r.length;h++)i.has(h)||!l.straight||!r[h].straight||Yl(l.box,r[h].box)&&(i.add(h),l={gesture:"cross",box:jl(l.box,r[h].box),straight:!1});i.add(o),c.push(l.gesture==="arrow"?{gesture:"arrow",box:l.box,to:l.to}:{gesture:l.gesture,box:l.box})}return[...s,...c,...a]}import{jsx as ct,jsxs as xr}from"react/jsx-runtime";var As="#ff5a5a",Kl=1280,Xl=4,Ql=80;function Jl(e,n,t){let r=[],a="";for(let s of n.split(/\s+/)){let i=a?`${a} ${s}`:s;a&&e.measureText(i).width>t?(r.push(a),a=s):a=i}return a&&r.push(a),r.slice(0,3)}function Zl(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 _s({src:e,onCancel:n,onSend:t,t:r}){let[a,s]=gr(null),[i,c]=gr(!1),[o,l]=gr("pin"),h=fr(0),[p,m]=gr(null),d=fr(null),[v,f]=gr([{points:[],closed:!1}]),b=v[v.length-1],E=fr(`selection-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,10)}`),k=fr(null),N=g=>f(M=>[...M.slice(-66),g]),T=o==="select",[z,F]=gr([]),[C,$]=gr(!1),Z=fr(null),A=fr(null);Ps(()=>{let g=new Image;return g.crossOrigin="anonymous",g.onload=()=>s(g),g.onerror=()=>c(!0),g.src=e,()=>{g.onload=null,g.onerror=null}},[e]);let D=(()=>{if(!a)return{w:0,h:0};let g=Math.min(1,Kl/Math.max(a.naturalWidth,a.naturalHeight));return{w:Math.round(a.naturalWidth*g),h:Math.round(a.naturalHeight*g)}})(),Y=fr(null),H=g=>{let M=Z.current;if(!M||!a)return;let u=M.getContext("2d");if(!u)return;Y.current||(Y.current=document.createElement("canvas"));let te=Y.current;te.width=M.width,te.height=M.height;let B=te.getContext("2d"),_=g?[...z,g]:z;for(let y of _)y.kind==="stroke"&&(B.save(),B.globalCompositeOperation=y.tool==="eraser"?"destination-out":"source-over",B.strokeStyle=As,B.lineWidth=y.tool==="eraser"?y.size*3:y.size,B.lineCap="round",B.lineJoin="round",B.beginPath(),y.points.forEach((L,q)=>q===0?B.moveTo(L.x,L.y):B.lineTo(L.x,L.y)),y.points.length===1&&B.lineTo(y.points[0].x+.01,y.points[0].y),B.stroke(),B.restore());u.clearRect(0,0,M.width,M.height),u.drawImage(a,0,0,M.width,M.height),u.drawImage(te,0,0);let w=b.points.map((y,L)=>k.current?.index===L?k.current.point:y);w.length&&(u.save(),u.beginPath(),w.forEach((y,L)=>L?u.lineTo(y.x,y.y):u.moveTo(y.x,y.y)),b.closed&&(u.closePath(),u.fillStyle="#22c55e33",u.fill()),u.strokeStyle="#22c55e",u.lineWidth=Math.max(2,D.w/400),u.stroke(),u.restore());for(let y of w)u.beginPath(),u.arc(y.x,y.y,Math.max(3,D.w/260),0,Math.PI*2),u.fillStyle="#ffffff",u.fill(),u.strokeStyle="#15803d",u.stroke();for(let y of _){if(y.kind!=="pin")continue;let L=y.size;if(u.save(),u.beginPath(),u.moveTo(y.x,y.y),u.bezierCurveTo(y.x-L*2,y.y-L*2,y.x-L,y.y-L*3.5,y.x,y.y-L*3.5),u.bezierCurveTo(y.x+L,y.y-L*3.5,y.x+L*2,y.y-L*2,y.x,y.y),u.fillStyle=As,u.fill(),u.lineWidth=Math.max(1,L/7),u.strokeStyle="#fff",u.stroke(),u.beginPath(),u.arc(y.x,y.y-L*2.2,L*.5,0,Math.PI*2),u.fillStyle="#fff",u.fill(),y.label){u.font=`600 ${L*1.2}px system-ui, sans-serif`,u.textAlign="center",u.textBaseline="middle";let q=Jl(u,y.label,M.width*.32),ne=L*1.5,de=Math.min(M.width,Math.max(...q.map(K=>u.measureText(K).width))+L),ce=q.length*ne+L*.4,se=Math.max(de/2,Math.min(M.width-de/2,y.x)),W=Math.max(ce,y.y-L*3.7);u.fillStyle="rgba(0,0,0,.8)",u.fillRect(se-de/2,W-ce,de,ce),u.fillStyle="#fff",q.forEach((K,ge)=>u.fillText(K,se,W-ce+L*.2+ne*(ge+.5),de-L))}u.restore()}};Ps(()=>{H()},[a,z,b,D.w,D.h]);let V=g=>{let M=Z.current,u=M.getBoundingClientRect();return{x:Math.max(0,Math.min(M.width,(g.clientX-u.left)/u.width*M.width)),y:Math.max(0,Math.min(M.height,(g.clientY-u.top)/u.height*M.height))}},fe=()=>Math.max(4,Math.round(D.w/180)),ue=g=>{F(M=>M.filter(u=>u.kind!=="pin"||u.id!==g)),m(null)},j=()=>{let g=z.find(M=>M.kind==="pin"&&M.id===p);g?.kind==="pin"&&!g.label.trim()?ue(g.id):m(null)},re=g=>{if(!a)return;let M=V(g);if(o==="pin"){let u=z.find(_=>_.kind==="pin"&&Math.hypot(M.x-_.x,M.y-(_.y-_.size*1.7))<_.size*2);if(u?.kind==="pin"){m(u.id),g.currentTarget.setPointerCapture(g.pointerId),d.current={id:u.id,offset:{x:M.x-u.x,y:M.y-u.y}};return}if(p){j();return}if(z.filter(_=>_.kind==="pin").length>=Xl)return;let te=`pin-${++h.current}`,B=Math.max(10,D.w/Z.current.getBoundingClientRect().width*9);F(_=>[..._,{kind:"pin",...M,id:te,label:"",size:B}]),m(te);return}if(o==="select"){let u=b.points[0],te=Z.current.getBoundingClientRect(),B=12*D.w/te.width;if(!b.closed&&u&&b.points.length>=3&&Math.hypot(M.x-u.x,M.y-u.y)<B)N({...b,closed:!0});else{let _=b.points.findIndex(w=>Math.hypot(M.x-w.x,M.y-w.y)<B);if(_>=0){g.currentTarget.setPointerCapture(g.pointerId),k.current={index:_,point:M};return}if(b.closed||b.points.length>=64)return;N({...b,points:[...b.points,M]})}return}g.target.setPointerCapture(g.pointerId),A.current={kind:"stroke",tool:o,size:fe(),points:[M]},H(A.current)},O=g=>{if(d.current){let{id:M,offset:u}=d.current,te=V(g);F(B=>B.map(_=>_.kind==="pin"&&_.id===M?{..._,x:Math.max(0,Math.min(D.w,te.x-u.x)),y:Math.max(0,Math.min(D.h,te.y-u.y))}:_));return}if(k.current){k.current.point=V(g),H();return}A.current&&(A.current.points.push(V(g)),H(A.current))},P=()=>{if(d.current){d.current=null;return}if(k.current){let{index:M,point:u}=k.current;k.current=null,N({...b,points:b.points.map((te,B)=>B===M?u:te)});return}if(!A.current)return;let g=A.current;A.current=null,F(M=>[...M,g])},X=z.filter(g=>g.kind==="pin"),S=X.find(g=>g.id===p),R=!!a&&!(b.points.length>0&&!b.closed)&&X.length>0&&X.every(g=>g.label.trim()),I=()=>{if(!(!R||!a))try{let g=document.createElement("canvas");g.width=D.w,g.height=D.h;let M=g.getContext("2d");if(!M){$(!0);return}M.drawImage(a,0,0,D.w,D.h);let u=g.toDataURL("image/jpeg",.92),te=Z.current?.toDataURL("image/jpeg",.85)||u,B=Is(z,D.w,D.h);if(b.closed){let _=y=>Math.round(y/D.w*1e3),w=y=>Math.round(y/D.h*1e3);B.unshift({gesture:"selection",id:E.current,box:[w(Math.min(...b.points.map(y=>y.y))),_(Math.min(...b.points.map(y=>y.x))),w(Math.max(...b.points.map(y=>y.y))),_(Math.max(...b.points.map(y=>y.x)))],points:b.points.map(y=>[_(y.x),w(y.y)])})}t(u,X.map(_=>_.label.trim()).join("; "),B,te)}catch{$(!0)}},G=o==="pin"?"markupPinHint":o==="select"?b.closed?"markupSelectedHint":"markupOutlineHint":"markupSketchHint";return xr("div",{className:"hsk-markup",role:"dialog","aria-label":r("markupDialogLabel"),children:[xr("div",{className:"hsk-markup-head",children:[ct("span",{className:"hsk-markup-title",role:"status",children:r(G)}),ct("button",{className:"hsk-markup-cancel",onClick:n,children:r("markupCancel")})]}),ct("div",{className:"hsk-markup-stage",children:i?ct("div",{className:"hsk-markup-error",children:r("markupLoadError")}):a?xr("div",{className:"hsk-markup-canvas-wrap",children:[ct("canvas",{ref:Z,width:D.w,height:D.h,className:`hsk-markup-canvas hsk-markup-canvas--${o}`,style:{touchAction:"none",cursor:T||o==="pin"?"crosshair":void 0},onPointerDown:re,onPointerMove:O,onPointerUp:P,onPointerCancel:()=>{d.current=null,k.current=null,A.current=null,H()}}),o==="pin"&&S&&xr("div",{className:"hsk-markup-pinlabel",style:Zl(S.x/D.w*100,Math.max(12,(S.y-S.size*4)/D.h*100)),children:[ct("input",{autoFocus:!0,"aria-label":r("markupPinLabel"),placeholder:r("markupPinLabelHint"),value:S.label,maxLength:Ql,style:{width:`${Math.min(34,Math.max(16,S.label.length+2))}ch`},onChange:g=>F(M=>M.map(u=>u.kind==="pin"&&u.id===S.id?{...u,label:g.target.value}:u)),onKeyDown:g=>{(g.key==="Enter"||g.key==="Escape")&&j()}}),ct("button",{"aria-label":r("markupRemovePin"),title:r("markupRemovePin"),onClick:()=>ue(S.id),children:"\xD7"})]})]}):ct("div",{className:"hsk-markup-loading",children:r("markupLoading")})}),xr("div",{className:"hsk-markup-tools",children:[xr("button",{className:`hsk-markup-tool${o==="pin"?" hsk-markup-tool--on":""}`,onClick:()=>l("pin"),children:[xr("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:[ct("path",{d:"M20 10c0 6-8 12-8 12S4 16 4 10a8 8 0 1 1 16 0Z"}),ct("circle",{cx:"12",cy:"10",r:"3"})]}),r("markupPin")]}),ct("button",{className:`hsk-markup-tool${o==="select"?" hsk-markup-tool--on":""}`,onClick:()=>{m(null),l("select")},children:r("markupSelect")}),ct("button",{className:"hsk-markup-tool",disabled:b.closed||b.points.length<3,onClick:()=>N({...b,closed:!0}),children:r("markupCloseOutline")}),ct("button",{className:`hsk-markup-tool${o==="pen"?" hsk-markup-tool--on":""}`,onClick:()=>{m(null),l("pen")},children:r("markupSketch")}),ct("button",{className:`hsk-markup-tool${o==="eraser"?" hsk-markup-tool--on":""}`,onClick:()=>{m(null),l("eraser")},children:r("markupEraser")}),ct("button",{className:"hsk-markup-tool",onClick:()=>T?f(g=>g.length>1?g.slice(0,-1):g):F(g=>g.slice(0,-1)),disabled:T?v.length<2:z.length===0,children:r("markupUndo")}),ct("button",{className:"hsk-markup-tool",onClick:()=>{F([]),m(null),f([{points:[],closed:!1}]),l("pin")},disabled:z.length===0&&!b.points.length,children:r("markupClear")}),ct("button",{className:"hsk-markup-go",onClick:I,disabled:!R,children:r("markupSend")})]}),C&&ct("div",{className:"hsk-markup-error",children:r("markupError")})]})}import eh,{useEffect as to,useRef as nr,useState as th}from"react";import{jsx as ea}from"react/jsx-runtime";function Ws(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 dn(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 Fs=e=>e*e*(3-2*e);function rh(e){let t=new Float32Array(65536);for(let a=0;a<t.length;a++)t[a]=e();let r=(a,s)=>t[(s&255)*256+(a&255)];return(a,s)=>{let i=Math.floor(a),c=Math.floor(s),o=Fs(a-i),l=Fs(s-c),h=r(i,c),p=r(i+1,c),m=r(i,c+1),d=r(i+1,c+1);return(h+(p-h)*o)*(1-l)+(m+(d-m)*o)*l}}function nh(e,n,t,r){let a=t/Math.SQRT2,s=Math.ceil(e/a),i=Math.ceil(n/a),c=new Int32Array(s*i).fill(-1),o=[],l=[],h=(m,d)=>{let v=o.length;o.push([m,d]),c[Math.floor(d/a)*s+Math.floor(m/a)]=v,l.push(v)},p=(m,d)=>{if(m<0||d<0||m>=e||d>=n)return!1;let v=Math.floor(m/a),f=Math.floor(d/a);for(let b=Math.max(f-2,0);b<=Math.min(f+2,i-1);b++)for(let E=Math.max(v-2,0);E<=Math.min(v+2,s-1);E++){let k=c[b*s+E];if(k<0)continue;let N=o[k][0]-m,T=o[k][1]-d;if(N*N+T*T<t*t)return!1}return!0};for(h(r()*e,r()*n);l.length;){let m=r()*l.length|0,[d,v]=o[l[m]],f=!1;for(let b=0;b<24;b++){let E=r()*Math.PI*2,k=t*(1+r()),N=d+Math.cos(E)*k,T=v+Math.sin(E)*k;if(p(N,T)){h(N,T),f=!0;break}}f||l.splice(m,1)}return o}var ot=(e,n)=>(e()-.5)*n,Qa=[(e,n,t)=>{let r=n*.5,a=n*(.14+t()*.04),s=n*.07;e.beginPath(),e.moveTo(-a-s*.6,-r),e.lineTo(a+s*.6,-r),e.moveTo(-a,-r+s),e.lineTo(a,-r+s),e.moveTo(-a,-r+s),e.lineTo(-a*.85,r-s),e.moveTo(a,-r+s),e.lineTo(a*.85,r-s),e.moveTo(0,-r+s*1.7),e.lineTo(0,r-s*1.7),e.moveTo(-a,r-s),e.lineTo(a,r-s),e.moveTo(-a-s*.6,r),e.lineTo(a+s*.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 s of[-.62,-.21,.21,.62])e.moveTo(r*s,a+r*.16),e.lineTo(r*s,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 s=0;s<a;s++){let i=.16+s/a*.8,c=-r*.9+i*r*1.8,o=r*.52-i*r*1.16+(1-i)*i*r*.3,l=s%2?1:-1,h=r*(.26+t()*.1);e.beginPath(),e.moveTo(c,o),e.quadraticCurveTo(c+h*.5,o+l*h*.66,c+h*.9,o+l*h*.08),e.quadraticCurveTo(c+h*.42,o+l*h*.04,c,o),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[s,i]of a)e.beginPath(),e.moveTo(s,i-r*.28),e.lineTo(s-r*.02,i-r*.16),e.stroke(),e.beginPath(),e.ellipse(s,i,r*(.15+t()*.04),r*.19,ot(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 s=0;s<5;s++){let i=-1.05+s/4*2.1,c=Math.sin(i)*a*r*.72,o=Math.cos(i)*r*.72,l=r*(.2+t()*.08);e.beginPath(),e.moveTo(c,o),e.quadraticCurveTo(c+a*l*.9,o-l*.5,c+a*l*.6,o-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 s=0;s<8;s++){let i=a+s/8*Math.PI*2;e.beginPath(),e.moveTo(Math.cos(i)*r*.6,Math.sin(i)*r*.6),e.lineTo(Math.cos(i)*r*.94,Math.sin(i)*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()}],Ds=[(e,n,t)=>{let r=n*.5,a=-r+ot(t,r*.3),s=ot(t,r);e.beginPath(),e.moveTo(a,s);let i=4+(t()*4|0);for(let c=0;c<i;c++){let o=a+r*2/i+ot(t,r*.5),l=ot(t,r*1.5);e.quadraticCurveTo(a+ot(t,r*.9),s+ot(t,r*1.6),o,l),a=o,s=l}e.stroke()},(e,n,t)=>{let r=n*.5,a=2.2+t()*1.6,s=t()<.5?-1:1;e.beginPath();for(let i=0;i<=60;i++){let c=i/60,o=s*c*a*Math.PI*2,l=r*c*(.9+ot(t,.06)),h=Math.cos(o)*l,p=Math.sin(o)*l;i===0?e.moveTo(h,p):e.lineTo(h,p)}e.stroke()},(e,n,t)=>{let r=n*.5,a=4+(t()*4|0),s=ot(t,.7);for(let i=0;i<a;i++){let c=-r+i/(a-1)*r*2+ot(t,r*.16),o=r*(.7+t()*.6);e.beginPath(),e.moveTo(c-s*o*.5,-o*.5),e.quadraticCurveTo(c+ot(t,r*.2),0,c+s*o*.5,o*.5),e.stroke()}},(e,n,t)=>{let r=n*.5,a=2+(t()*3|0),s=r*2/a;e.beginPath(),e.moveTo(-r,r*.4);for(let i=0;i<a;i++){let c=-r+i*s,o=s*(.42+t()*.18);e.bezierCurveTo(c+o*.2,r*.4-o*2.1,c+s-o*.2,r*.4-o*2.1,c+s,r*.4+ot(t,r*.14))}e.stroke()}],Hs=[(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(ot(t,n*.04),ot(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,ot(t,n*.08)),e.quadraticCurveTo(0,ot(t,n*.16),r,ot(t,n*.08)),e.stroke()}],ah={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,s=r/10*Math.PI*2-Math.PI/2,i=Math.cos(s)*a,c=Math.sin(s)*a;r===0?e.moveTo(i,c):e.lineTo(i,c)}e.closePath(),e.stroke()}},Bs=e=>{let n=e.split(",").map(t=>parseFloat(t.trim()));return[n[0]||0,n[1]||0,n[2]||0]};function Ja(e,n,t){let r=Bs(e),a=Bs(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 Za=new Set,eo=new Set;function ro(){for(let e of eo)e()}function Os(e){Za.forEach(n=>n(e))}var oh=83,qs=[{k:.45,hop:1},{k:1.15,hop:.55},{k:.95,hop:.12},{k:1,hop:0}],$s=7,sh=.28;function ih(e,n,t){return`hsl(${Math.round(n*300%360)}, ${t?72:68}%, ${t?58:46}%)`}function Gs(e,n,t,r,a,s,i,c=n){let o=i?ah[i]:void 0,l=dn(a),h=rh(dn(a^2654435769)),p=e*n,d=Math.max(40,Math.min(520,Math.round(p/3100)))/.48,v=Math.max(26,Math.sqrt(.7*p/d)),f=nh(e,n,v,l),b=4.4/Math.max(e,n),E=b*2.6,k=Math.hypot(e,n),N=l()*Math.PI*2,T=Math.cos(N),z=Math.sin(N),F=e*(.18+l()*.64),C=n*(.12+l()*.5),$=[],Z=Math.hypot(e,n)||1,A=dn(a^1540483477),D=s?e:0,Y=Math.hypot(e,c)||1,[H,V,fe]=t.split(",").map(j=>parseFloat(j)||0),ue=.2126*H+.7152*V+.0722*fe>128;for(let[j,re]of f){let O=h(j*b,re*b)*.72+h(j*E,re*E)*.28,P=Math.min(1,Math.max(0,(O-.26)/.44));if(l()>P*P*(3-2*P))continue;let X=l(),S=Math.max(0,1-Math.hypot(j-F,re-C)/(k*.72))**1.6,R=((j-e/2)*T+(re-n/2)*z)/k+.5,I=!ue,g=((I?.055:.028)+l()*(I?.04:.025))*(.75+R*.55)*(1+S*.4),M=Ja(t,r,S*.85),u=((s?e-j:j)+n-re)/(e+n||1),te=l()*16777215|0,B=ih(te,u,ue),_=0,w=I?1.05+l()*.35:.65+l()*.35,y=20,L=Qa[0],q=1;X<.5?(_=ot(l,.16),w=I?1.15+l()*.45:.7+l()*.35,y=20+l()*16,L=Qa[l()*Qa.length|0]):X<.82?(_=l()*Math.PI*2,w=I?.95+l()*.4:.6+l()*.4,y=16+l()*20,L=Ds[l()*Ds.length|0]):X<.95||!o?(_=l()*Math.PI*2,w=I?.85+l()*.35:.55+l()*.35,y=7+l()*7,L=Hs[l()*Hs.length|0]):(_=ot(l,.3),w=I?1.1+l()*.3:.75+l()*.3,y=15+l()*9,L=o,q=2.6),$.push({x:j,y:re,roll:X,rotation:_,lineWidth:w,alpha:g*q,baseColor:M,shimmerColor:B,drawFn:L,size:y,seed:te,normDist:u,bloom:Math.min(1,Math.hypot(j-D,re-c)/Y)*.62+A()*.08,glow:ue?.2:.06,ux:(j-D)/(Math.hypot(j-D,re-c)||1),uy:(re-c)/(Math.hypot(j-D,re-c)||1)})}return $}var ch=.3;function lh(e){return 1+(1.2+1)*(e-1)**3+1.2*(e-1)**2}function vr(e,n,t,r,a,s=1,i){e.clearRect(0,0,t,r),e.lineCap="round",e.lineJoin="round";let c=a>=0&&a<=1.4,o=c?a*1.4-.2:-999,l=.3;for(let h of n){let p=h.alpha,m=h.baseColor,d=h.lineWidth,v=1,f=0,b=0;if(i!==void 0){let k=Math.min(1,Math.max(0,(i-h.bloom)/ch));if(k<=0)continue;let N=1-(1-k)**3,T=Math.sin(k*Math.PI)**2;p=h.alpha*N+T*h.glow,m=Ja(h.baseColor,h.shimmerColor,T*(h.glow>.1?.85:.55)),d=h.lineWidth*(1+T*.35),v=.86+.14*lh(k),f=-h.ux*(1-N)*9,b=-h.uy*(1-N)*9}else if(c){let k=h.normDist-o;if(k>l)p=h.alpha*.45,m=h.baseColor,d=h.lineWidth;else if(k<-l)p=h.alpha,m=h.baseColor,d=h.lineWidth;else{let N=Math.cos(k/l*(Math.PI/2))**2;p=h.alpha+N*.08,m=N>.08?Ja(h.baseColor,h.shimmerColor,N*.65):h.baseColor,d=h.lineWidth*(1+N*.2)}}e.save(),e.translate(h.x+(h.dx??0)+f,h.y+(h.dy??0)+b),e.rotate(h.rotation+(h.dr??0)),v!==1&&e.scale(v,v),h.hop&&(e.scale(1+h.hop,1+h.hop),p*=1+h.hop*2),e.globalAlpha=Math.min(p*s,1),e.strokeStyle=m,e.fillStyle=m,e.lineWidth=d;let E=dn(h.seed);h.drawFn(e,h.size,E),e.restore()}}var hh=eh.memo(function({seed:n="",theme:t,dir:r,waitForContent:a=!1}){let s=nr(null),i=nr(!1),c=nr(0),o=nr(null),l=nr(0),h=nr(0),p=nr(a);return to(()=>{let m=s.current;if(!m)return;let d=Ws(n||"kiku"),v=0,f=(A,D,Y,H)=>V=>{let fe=V-A,ue=Math.min(1,fe/D),j=m.clientWidth,re=m.clientHeight;if(j&&re){let O=Math.min(window.devicePixelRatio||1,3),P=Math.round(j*O),X=Math.round(re*O);(m.width!==P||m.height!==X)&&(m.width=P,m.height=X);let S=m.getContext("2d");S&&(S.setTransform(O,0,0,O,0,0),vr(S,Y,j,re,-1,1,ue))}if(ue<1)c.current=requestAnimationFrame(f(A,D,Y,H));else{i.current=!1;let O=m.clientWidth,P=m.clientHeight,X=m.getContext("2d");if(X&&O&&P){let S=Math.min(window.devicePixelRatio||1,3);X.setTransform(S,0,0,S,0,0),vr(X,Y,O,P,-1)}}},b=()=>{let A=m.clientWidth,D=m.clientHeight;if(!A||!D)return;let Y=Math.min(window.devicePixelRatio||1,3),H=m.getContext("2d");if(!H)return;let V=getComputedStyle(m),fe=V.getPropertyValue("--hsk-doodle-ink").trim()||"31,31,31",ue=V.getPropertyValue("--hsk-doodle-tint").trim()||fe,j=r==="rtl"||V.direction==="rtl"||m.closest('[dir="rtl"]')!==null,re=typeof window<"u"?Math.max(D,window.innerHeight||0):D,O=Gs(A,re,fe,ue,d,j,t,D);o.current=O,l.current=A,h.current=re;let P=Math.round(A*Y),X=Math.round(D*Y);if((m.width!==P||m.height!==X)&&(m.width=P,m.height=X),H.setTransform(Y,0,0,Y,0,0),p.current){H.clearRect(0,0,A,D);return}if(window.matchMedia?.("(prefers-reduced-motion: reduce)")?.matches){vr(H,O,A,D,-1);return}cancelAnimationFrame(c.current),i.current=!0;let R=1500,I=performance.now();c.current=requestAnimationFrame(f(I,R,O,j))},E=()=>{let A=o.current,D=m.clientWidth,Y=m.clientHeight;if(A&&D===l.current&&Y<=h.current){if(i.current||p.current||!Y)return;let H=m.getContext("2d");if(!H)return;let V=Math.min(window.devicePixelRatio||1,3);m.width=Math.round(D*V),m.height=Math.round(Y*V),H.setTransform(V,0,0,V,0,0),vr(H,A,D,Y,-1);return}clearTimeout(v),v=window.setTimeout(b,20)};b();let k=()=>{p.current&&(p.current=!1,b())};eo.add(k);let N=p.current?window.setTimeout(k,2e3):0,T=new ResizeObserver(E);T.observe(m);let z=window.matchMedia?.("(prefers-color-scheme: dark)"),F=()=>{b()};z?.addEventListener?.("change",F);let C=0,$=()=>{let A=o.current,D=m.getContext("2d"),Y=m.clientWidth,H=m.clientHeight;if(!A||!D||!Y||!H)return;let V=Math.min(window.devicePixelRatio||1,3);D.setTransform(V,0,0,V,0,0),vr(D,A,Y,H,-1)},Z=({x:A,y:D,strength:Y})=>{let H=o.current;if(!H||window.matchMedia?.("(prefers-reduced-motion: reduce)")?.matches)return;cancelAnimationFrame(c.current),i.current=!1,clearTimeout(C);let V=m.getBoundingClientRect(),fe=A-V.left,ue=D-V.top,j=dn(performance.now()*997|0),re=(S,R)=>Math.max(-R,Math.min(R,S)),O=H.map(S=>{let R=S.dx??0,I=S.dy??0,G=S.dr??0,g=S.x-fe,M=S.y-ue,u=Math.hypot(g,M)||1,te=Y*(.18+.82*Math.exp(-u/220)),B=te*(.6+j()*1.8),_=re(R+g/u*B+(j()-.5)*te*2,$s),w=re(I+M/u*B+(j()-.5)*te*2,$s),y=re(G+(j()-.5)*te*.12,sh);return{g:S,fx:R,fy:I,fr:G,tx:_,ty:w,tr:y,lift:te*.09}}),P=0,X=()=>{let S=qs[P];for(let R of O)R.g.dx=R.fx+(R.tx-R.fx)*S.k,R.g.dy=R.fy+(R.ty-R.fy)*S.k,R.g.dr=R.fr+(R.tr-R.fr)*S.k,R.g.hop=R.lift*S.hop;$(),++P<qs.length&&(C=window.setTimeout(X,oh))};X()};return Za.add(Z),()=>{Za.delete(Z),eo.delete(k),clearTimeout(N),clearTimeout(C),clearTimeout(v),cancelAnimationFrame(c.current),i.current=!1,T.disconnect(),z?.removeEventListener?.("change",F)}},[n,t,r]),ea("canvas",{className:"hsk-cb-doodles",ref:s,"aria-hidden":"true"})}),pn=3,Us=1800;function ph({seed:e="",theme:n,alphaScale:t=1.8,weight:r=.6}){let a=nr(null);return to(()=>{let s=a.current,i=s?.getContext("2d");if(!s||!i)return;let c=0,o=()=>{let h=s.clientWidth,p=s.clientHeight,m=Math.min(window.devicePixelRatio||1,3);s.width=Math.round(h*m),s.height=Math.round(p*m);let d=getComputedStyle(s),v=d.getPropertyValue("--hsk-doodle-ink").trim()||"31,31,31",f=d.getPropertyValue("--hsk-doodle-tint").trim()||v,b=h*pn,E=p*pn,k=Gs(b,E,v,f,Ws(e||"kiku"),!1,n);for(let z of k)z.lineWidth*=pn*r;if(i.setTransform(m/pn,0,0,m/pn,0,0),window.matchMedia?.("(prefers-reduced-motion: reduce)")?.matches){vr(i,k,b,E,-1,t);return}let N=performance.now(),T=z=>{let F=(z-N)%(Us*2)/Us,C=F<1?F:2-F;vr(i,k,b,E,(1-Math.cos(C*Math.PI))/2*1.4,t),c=requestAnimationFrame(T)};c=requestAnimationFrame(T)},l=new ResizeObserver(()=>{c||!s.clientWidth||!s.clientHeight||(l.disconnect(),o())});return l.observe(s),()=>{l.disconnect(),cancelAnimationFrame(c)}},[e,n,t,r]),ea("canvas",{className:"hsk-doodle-shimmer",ref:a,"aria-hidden":"true"})}var dh=300;function _r({active:e,seed:n,theme:t}){let[r,a]=th(e);return to(()=>{if(e){a(!0);return}let s=setTimeout(()=>a(!1),dh);return()=>clearTimeout(s)},[e]),r?ea("span",{className:`hsk-working-veil${e?"":" is-leaving"}`,"aria-hidden":"true",children:ea(ph,{seed:n,theme:t,alphaScale:18,weight:1.15})}):null}var ta=hh;import Ks from"react";var na=[],aa=[{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 un(e,n){if(!e)return;let t=e.trim();if(!t)return;let r=t.toLowerCase(),a=aa.find(c=>c.value.toLowerCase()===r||c.native.toLowerCase()===r||c.tag===r);if(a)return a.native;if(ra[r]?.endonym)return ra[r].endonym;let s=Object.values(ra).find(c=>c.endonym?.toLowerCase()===r);if(s?.endonym)return s.endonym;let i=n||(r.length<=3?r:void 0);if(i&&typeof Intl<"u"&&Intl.DisplayNames)try{let o=new Intl.DisplayNames([i],{type:"language"}).of(i);if(o&&o.toLowerCase()!==i.toLowerCase())return o}catch{}return t}function Ys(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 ra={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 js(e){let n=e.trim();return n?n.charAt(0).toUpperCase()+n.slice(1):"\u2026"}function yr(e){if(!e)return{nativeName:"\u2026",preparing:"Preparing\u2026",changeLang:"\u2190",rtl:!1,known:!0};let n=e.trim().toLowerCase(),t=Object.entries(ra).find(([i,c])=>i===n||c.endonym?.toLowerCase()===n||un(i)?.toLowerCase()===n);if(t)return{nativeName:t[1].endonym||un(e)||js(e),preparing:t[1].preparing,changeLang:t[1].changeLang,rtl:!!t[1].rtl||Ys(t[1].preparing),known:!0};let r=un(e)||e,a=js(r),s=Ys(a);return{nativeName:a,preparing:`Preparing in ${a}\u2026`,changeLang:s?"\u062A\u063A\u064A\u064A\u0631":"Change",rtl:s,known:!1}}var mn=[{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"}],no="hsk-live-voice",ar={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"},ft={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:"Stay",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"},ao=Ks.createContext((e,n)=>{let t=ft[e];if(n)for(let[r,a]of Object.entries(n))t=t.split(`{${r}}`).join(a);return t}),or=()=>Ks.useContext(ao);function Xs(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(i=>r.includes(i)))return null;let s=t[0];return s.charAt(0).toUpperCase()+s.slice(1)}var Vs={shopper_reply_limit:"errShopperReplyLimit",RATE_LIMIT_EXCEEDED:"errShopperReplyLimit",access_revoked:"errAccessRevoked",account_required:"errAccountRequired",stream_interrupted:"errStreamInterrupted"};var Qs=(e,n)=>{let t=e&&typeof e=="object"?e.code:void 0;if(t&&Vs[t])return n(Vs[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")},Js=()=>typeof window>"u"||window.isSecureContext!==!1,oo=15;var Zs=new WeakMap,ei=new WeakMap;function ti(e){return e?ei.get(e)??null:null}function so(e){if(!e)return Promise.resolve(null);let n=Zs.get(e);if(n)return n;let t=Promise.resolve().then(()=>e.baseFont?.()??null).then(r=>(r&&(ei.set(e,r),Rt(r,0).catch(()=>{})),r)).catch(()=>null);return Zs.set(e,t),t}function uh(e,n,t){e&&(so(e),n&&bn(e,n,t))}function bn(e,n,t){if(!(!e||!n))try{e.getUIStrings?.(n,t)?.then?.(r=>{r?.font&&Rt(r.font,1200).catch(()=>{})})?.catch?.(()=>{})}catch{}}import kn,{useState as Nt,useEffect as io,useCallback as ri}from"react";import{useAkropolysContext as mh}from"@akropolys/sdk";import{jsx as oi}from"react/jsx-runtime";var bh={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 Fr(e){let n=e?bh[e.trim().toLowerCase()]:void 0;return n?{dir:n==="ar"||n==="ur"||n==="fa"?"rtl":"ltr",bcp47:n}:null}function kh(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 ni=5e3,ai=[5e3,15e3,45e3,12e4];function si({shopperLanguage:e,theme:n,preloadedStrings:t}){let r=mh(),a=e?r?.getCachedUIStrings?.(e,ft)??r?.getCachedUIStrings?.(e,ar):null,s=t&&Object.keys(t).length>0?t:a?.strings??{},[i,c]=Nt(()=>s),[o,l]=Nt(()=>!e||t&&Object.keys(t).length>0||!!a?.complete),[h,p]=Nt(()=>t&&Object.keys(t).length>0||a?.complete?e:!e||Fr(e)?.bcp47==="en"?e||"en":""),m=!e||Fr(e)?.bcp47==="en",d=i;t&&Object.keys(t).length>0&&(d={...i,...t});let v=e?`akropolys_ui_dir_${e.toLowerCase()}`:"",[f,b]=Nt(()=>{if(a?.dir)return a.dir==="rtl";let S=Fr(e);if(S)return S.dir==="rtl";if(yr(e)?.rtl)return!0;if(typeof window>"u"||!v)return!1;try{return localStorage.getItem(v)==="rtl"}catch{return!1}}),[E,k]=Nt(()=>a?.bcp47||Fr(e)?.bcp47||""),[N,T]=Nt(()=>a?.font??null),[z,F]=Nt(()=>ti(r)),[C,$]=Nt(!0),[Z,A]=Nt(!1),D=kn.useRef(e),[Y,H]=Nt(e);if(e!==Y){H(e);let S=Fr(e);S&&(b(S.dir==="rtl"),k(S.bcp47));let R=e?r?.getCachedUIStrings?.(e,ft)??r?.getCachedUIStrings?.(e,ar):null,I=t&&Object.keys(t).length>0?t:R?.strings;I&&Object.keys(I).length>0&&(c(I),d=I,R&&(R.font&&T(R.font),R.dir&&b(R.dir==="rtl"),R.bcp47&&k(R.bcp47)),R?.font&&Rt(R.font),A(!Wa([R?.font?.family,z?.family].filter(G=>!!G),I)),p(e),l(!0))}let V=m||!Z&&(h.toLowerCase()===e.toLowerCase()&&o||Object.keys(d).length>0);io(()=>{if(!e){k(""),T(null),c({}),p(""),l(!0),b(!1);return}let S=Fr(e),R=yr(e),I=S?.bcp47==="en",G=!1,g=(B,_)=>{let w=[B?.family,z?.family].filter(y=>!!y);if(e===D.current||Wa(w,_)){A(!1);return}A(!0),Oa(w,_,ni).then(()=>{G||A(!1)})},M=r?.getCachedUIStrings?.(e,ft);if(M?.strings&&Object.keys(M.strings).length>0)return c(M.strings),b(M.dir==="rtl"),k(M.bcp47||S?.bcp47||""),M.font&&(Rt(M.font),T(M.font)),g(M.font,M.strings),p(e),l(!0),()=>{G=!0};let u=r?.getCachedUIStrings?.(e,ar);u?.strings&&Object.keys(u.strings).length>0?(c(u.strings),b(u.dir==="rtl"),k(u.bcp47||S?.bcp47||""),u.font&&(Rt(u.font),T(u.font)),g(u.font,u.strings),p(e),l(!0)):(A(!1),c({}),S?(b(S.dir==="rtl"),k(S.bcp47)):R?.rtl&&b(!0),I||l(!1));let te=async()=>{let B=!!u?.strings;try{if(!u?.strings){let w=await r.getUIStrings?.(e,ar);if(!G&&w?.complete){B=!0,A(!0),c(L=>({...L,...w.strings})),b(w.dir==="rtl"),k(w.bcp47||S?.bcp47||"");try{localStorage.setItem(v,w.dir)}catch{}w.font&&Rt(w.font);let y=[w.font?.family,z?.family].filter(L=>!!L);await Oa(y,w.strings,ni),G||(w.font&&T(w.font),p(e),l(!0),A(!1))}}let _=await r.getUIStrings?.(e,ft);!G&&_?.complete&&(B=!0,c(w=>({...w,..._.strings})),_.font&&(await Rt(_.font,1200),G||T(_.font)))}catch{return!1}return B};return(async()=>{for(let B=0;!G&&!await te();B++){let _=ai[Math.min(B,ai.length-1)];await new Promise(w=>window.setTimeout(w,_))}})(),()=>{G=!0}},[e,r,v]),io(()=>{let S=!1;return(async()=>{try{let R=await so(r);!S&&R&&F(R)}catch{}S||$(!0)})(),()=>{S=!0}},[r]),Ua(N),Ua(z);let fe=kn.useMemo(()=>{let R=(typeof n=="object"&&n?.fontFamily?n.fontFamily:"").split(",")[0].trim(),I=/^var\(/i.test(R),G=R.replace(/^['"]|['"]$/g,""),g=I?kh(R):"",M=I?g?`${g}, `:"":G?`"${G}", `:"";if(N)return`"${N.family}", ${M}"Geist", system-ui, sans-serif`;let u=e?e.trim().toLowerCase():"";if(u==="japanese"||u==="ja"||u==="\u65E5\u672C\u8A9E")return`${M}"Geist", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", system-ui, sans-serif`;if(u==="chinese"||u==="zh"||u==="\u4E2D\u6587")return`${M}"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", ${M}"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", ${M}"Geist", system-ui, sans-serif`;if(u==="hindi"||u==="hi"||u==="\u0939\u093F\u0928\u094D\u0926\u0940")return`"Hind", ${M}"Geist", system-ui, sans-serif`},[N,e,typeof n=="object"&&n?n.fontFamily:void 0]),ue=kn.useMemo(()=>{let S=0,R=0;for(let I of Object.values(i))for(let G of I){let g=G.codePointAt(0)??0;g<192||/\p{L}/u.test(G)&&(g<=591?S++:R++)}return R>S},[i]),[j,re]=Nt(0);io(()=>{if(typeof document>"u"||!document.fonts?.ready)return;let S=!0;return document.fonts.ready.then(()=>{S&&re(R=>R+1)}),()=>{S=!1}},[N]);let O=kn.useMemo(()=>{if(!ue||typeof document>"u")return!0;let R=(typeof n=="object"&&n?.fontFamily?n.fontFamily:"").split(",")[0].trim();if(!R)return!1;let I="";for(let g of Object.values(i))if(g){I=g;break}if(!I)return!0;let G=I.replace(/\s+/g,"");if(!G)return!0;try{let M=document.createElement("canvas").getContext("2d");if(!M)return!0;let u=R.startsWith("var(")&&getComputedStyle(document.documentElement).getPropertyValue(R.slice(4,-1).trim()).trim()||R;M.font=`16px ${u}, __akropolys_nonexistent_font__`;let te=M.measureText(G).width;M.font="16px __akropolys_nonexistent_font__";let B=M.measureText(G).width;return Math.abs(te-B)>1}catch{return!0}},[ue,i,typeof n=="object"&&n?n.fontFamily:void 0,j]),P=ri((S,R)=>{let I=d[S]||i[S]||ft[S]||S;if(R)for(let[G,g]of Object.entries(R))I=I.split(`{${G}}`).join(g);return I},[d,i]),X=ri((S,R)=>(d[S]||i[S]||ft[S]||S).split(/(\{[a-zA-Z]+\})/g).map((G,g)=>{let M=G.match(/^\{([a-zA-Z]+)\}$/);return M&&R?.[M[1]]!==void 0?oi("bdi",{children:R[M[1]]},g):oi(kn.Fragment,{children:G},g)}),[d,i]);return{chromeStrings:i,chromeReady:V,isRTL:f,speechLang:E,scriptFont:N,fontStack:fe,isNonLatin:ue,hostFontCovers:O,baseFontReady:C,t:P,tNode:X}}import{useState as Dr,useRef as Qe,useEffect as oa,useLayoutEffect as fh,useCallback as Ut}from"react";function ii({messages:e,loading:n,streaming:t,messageRefs:r}){let a=Qe(null),s=Qe(0),[i,c]=Dr(!1),[o,l]=Dr(1),[h,p]=Dr(0),m=Qe(()=>{}),d=Qe(null),v=Qe(!1),f=Qe(!0),b=Qe(!1),E=Qe(null),k=Qe(null),N=Qe(e.length),T=Qe(!1),z=Qe(()=>{}),F=Qe(()=>{}),C=Qe(null),$=Qe(()=>{}),[Z,A]=Dr(0),D=Qe(0),Y=Qe(""),H=Qe(()=>{}),V=Qe(()=>{});oa(()=>{let w=a.current;if(!w)return;let y,L=()=>{clearTimeout(y),y=setTimeout(()=>{v.current=!1},150)},q=()=>{clearTimeout(y),v.current=!0,H.current()},ne=()=>{v.current&&L()};return w.addEventListener("touchstart",q,{passive:!0}),w.addEventListener("touchend",L,{passive:!0}),w.addEventListener("touchcancel",L,{passive:!0}),w.addEventListener("scroll",ne,{passive:!0}),()=>{clearTimeout(y),w.removeEventListener("touchstart",q),w.removeEventListener("touchend",L),w.removeEventListener("touchcancel",L),w.removeEventListener("scroll",ne)}},[]),oa(()=>{let w=a.current;if(!w)return;let y=160,L=8,q=0,ne=()=>{q=0;let se=E.current?.offsetHeight??0,W=w.scrollHeight-se-w.scrollTop-w.clientHeight,K=performance.now()-s.current<400;W<=L&&(!b.current||K)&&(f.current||V.current(),f.current=!0,b.current=!1,X.current()),c(W>y&&!f.current);let ge=w.scrollHeight-w.clientHeight;l(ge>8?Math.min(1,Math.max(0,w.scrollTop/ge)):1);let Pe=w.scrollTop+w.clientHeight*.33,be=0;for(let Le=0;Le<r.current.length;Le++){let _e=r.current[Le];_e&&_e.offsetTop<=Pe&&(be=Le)}p(be)},de=()=>{q||(q=requestAnimationFrame(ne))};ne(),w.addEventListener("scroll",de,{passive:!0});let ce=new ResizeObserver(()=>{k.current?z.current("sync"):f.current&&!v.current&&F.current(),de()});ce.observe(w);for(let se of r.current)se&&ce.observe(se);return()=>{q&&cancelAnimationFrame(q),w.removeEventListener("scroll",de),ce.disconnect()}},[e.length,r]);let fe=Ut(w=>{let y=`${w}:${D.current}`;Y.current!==y&&(Y.current=y,A(L=>L+1))},[]),[ue,j]=Dr(!1),re=Qe(!1),O=Ut(()=>{re.current||(re.current=!0,j(!0))},[]),P=Ut(()=>{re.current&&(re.current=!1,j(!1))},[]),X=Qe(()=>{});X.current=P;let[S,R]=Dr(!1),I=Qe(!1),G=Qe(0),g=Ut(()=>{I.current=!1,R(!1)},[]),M=Ut(()=>{Y.current="",g(),P()},[g,P]),u=Ut(()=>{I.current&&(performance.now()-G.current<700||g())},[g]);H.current=u,V.current=M,oa(()=>{if(Z===0)return;I.current=!0,G.current=performance.now(),R(!0);let w=setTimeout(g,4200);return()=>clearTimeout(w)},[Z,g]);let te=Ut(()=>{T.current=!1,k.current&&(k.current=null,E.current&&(E.current.style.height=""))},[]);$.current=te,F.current=()=>{let w=a.current;if(!w)return;let y=w.scrollHeight-w.clientHeight;C.current?C.current(y):w.scrollTop=y},z.current=w=>{let y=a.current,L=E.current,q=k.current,ne=K=>{let ge=w==="sync"?C.current:d.current;ge?ge(K):y&&(y.scrollTop=K)},de=F.current;if(!y||!L||!q||!q.isConnected){te(),f.current&&de();return}let ce=parseFloat(getComputedStyle(y).paddingTop)||0;L.offsetHeight<y.clientHeight&&(L.style.height=`${y.clientHeight}px`);let se=Math.max(0,q.offsetTop-ce),W=se+y.clientHeight-(y.scrollHeight-L.offsetHeight);if(W<=0){te(),f.current=!1,b.current=!0,ne(se);return}W!==L.offsetHeight&&(L.style.height=`${W}px`),ne(se)};let B=Ut(w=>{let y=a.current,L=r.current[w];if(!y||!L)return;let q=L.offsetTop-Math.max(0,(y.clientHeight-L.clientHeight)/2),ne=Math.max(0,Math.min(y.scrollHeight-y.clientHeight,q));d.current?d.current(ne):y.scrollTo({top:ne,behavior:"smooth"})},[r]),_=Ut(()=>{let w=a.current;if(!w)return;f.current=!0,b.current=!1,$.current(),V.current();let y=w.scrollHeight-w.clientHeight;d.current?d.current(y):w.scrollTo({top:y,behavior:"smooth"})},[]);return fh(()=>{let w=a.current;if(!w)return;let y=e.slice(N.current);if(N.current=e.length,y.some(q=>q.role==="user")&&(f.current=!0,b.current=!1,V.current(),k.current=null,T.current=!0),T.current){T.current=!1;for(let q=r.current.length-1;q>=0;q--){let ne=r.current[q];if(ne?.dataset.hskRole==="user"){k.current=ne;break}}if(k.current){z.current("glide");return}}if(k.current){z.current("glide");return}let L=w.scrollTop;if(!f.current)b.current||(O(),fe(e.length));else if(!v.current){F.current();return}w.scrollTop!==L&&m.current()},[e,n,t,r,fe,O]),oa(()=>{let w=a.current;if(!w||typeof window<"u"&&window.matchMedia?.("(prefers-reduced-motion: reduce)").matches)return;let y=7,L=16,q=1/(window.devicePixelRatio||1),ne=ke=>Math.round(ke/q)*q,de=w.scrollTop,ce=w.scrollTop,se=w.scrollTop,W=0,K=null,ge=ke=>{ke!==se&&(w.scrollTop=ke,se=w.scrollTop)},Pe=()=>{K!==null&&(cancelAnimationFrame(K),K=null),w.classList.remove("hsk-scrolling"),de=ce=se=w.scrollTop};m.current=Pe,d.current=ke=>{Math.abs(w.scrollTop-se)>1&&(de=ce=se=w.scrollTop);let tt=Math.round(Math.max(0,Math.min(w.scrollHeight-w.clientHeight,ke)));tt!==de&&(de=tt,K===null&&(W=performance.now(),K=requestAnimationFrame(be)))},C.current=ke=>{let tt=Math.round(Math.max(0,Math.min(w.scrollHeight-w.clientHeight,ke)));K!==null&&(cancelAnimationFrame(K),K=null,w.classList.remove("hsk-scrolling")),w.scrollTop=tt,de=ce=se=w.scrollTop};let be=ke=>{let tt=Math.min((ke-W)/1e3,.05);if(W=ke,ce+=(de-ce)*(1-Math.exp(-y*tt)),Math.abs(de-ce)<q){ce=de,ge(Math.round(de)),w.classList.remove("hsk-scrolling"),K=null;return}ge(ne(ce)),K=requestAnimationFrame(be)},Le=ke=>{if(ke.ctrlKey)return;Math.abs(w.scrollTop-se)>1&&(de=ce=se=w.scrollTop),ke.deltaY<0&&(f.current&&(D.current+=1),f.current=!1,k.current=null),H.current();let tt=ke.deltaMode===1?L:ke.deltaMode===2?w.clientHeight:1,st=Math.max(0,w.scrollHeight-w.clientHeight),St=Math.round(Math.max(0,Math.min(st,de+ke.deltaY*tt)));if(St===de){st>0&&ke.preventDefault();return}ke.preventDefault(),de=St,K===null&&(W=performance.now(),w.classList.add("hsk-scrolling"),K=requestAnimationFrame(be))},_e=w.scrollTop,je=()=>{let ke=Math.abs(w.scrollTop-se)>1;ke&&(s.current=performance.now(),w.scrollTop<_e-1&&f.current&&(D.current+=1,f.current=!1,k.current=null)),_e=w.scrollTop,K!==null&&ke&&(cancelAnimationFrame(K),K=null,w.classList.remove("hsk-scrolling"),de=ce=se=w.scrollTop)};return w.addEventListener("wheel",Le,{passive:!1}),w.addEventListener("scroll",je,{passive:!0}),()=>{w.removeEventListener("scroll",je),w.removeEventListener("wheel",Le),K!==null&&cancelAnimationFrame(K),w.classList.remove("hsk-scrolling"),m.current=()=>{},d.current=null,C.current=null}},[]),{msgsContainerRef:a,spacerRef:E,lastExternalScrollRef:s,showJumpToBottom:i,scrollProgress:o,activeMsgIdx:h,jumpAlert:S,unreadBelow:ue,jumpToMessage:B,jumpToBottom:_,resetAlertArming:M}}import{useState as gh,useRef as Hr,useEffect as ci}from"react";var xh=450,vh=45,yh=900,wh=180;function li(e){let[n,t]=gh(e),r=Hr(e),a=Hr(e),s=Hr(0),i=Hr(0),c=Hr(0),o=Hr(null);return ci(()=>()=>{o.current!==null&&cancelAnimationFrame(o.current)},[]),ci(()=>{if(a.current=e,window.matchMedia?.("(prefers-reduced-motion: reduce)").matches||!e.startsWith(r.current)){o.current!==null&&(cancelAnimationFrame(o.current),o.current=null),r.current=e,s.current=0,i.current=0,t(e);return}if(o.current!==null||r.current.length>=e.length)return;c.current=performance.now();let h=p=>{let m=Math.min(p-c.current,50);c.current=p;let d=a.current,v=d.length-r.current.length,f=Math.min(yh,Math.max(vh,v*1e3/xh));s.current+=(f-s.current)*(1-Math.exp(-m/wh)),i.current+=s.current*m/1e3;let b=Math.floor(i.current);b>0&&(i.current-=b,r.current=d.slice(0,Math.min(d.length,r.current.length+b)),t(r.current)),r.current.length<a.current.length?o.current=requestAnimationFrame(h):(o.current=null,i.current=0)};o.current=requestAnimationFrame(h)},[e]),n}import{useState as wr,useEffect as hi,useCallback as co}from"react";import{useAkropolysContext as Ch}from"@akropolys/sdk";function pi(e,n){let t=Ch(),[r,a]=wr(""),[s,i]=wr("idle"),[c,o]=wr(null),[l,h]=wr(null),[p,m]=wr(null),[d,v]=wr(oo),[f,b]=wr(!1),E=co(async(T,z)=>{try{navigator.clipboard&&window.isSecureContext?await navigator.clipboard.writeText(T):Sh(T),m(z),setTimeout(()=>m(null),2e3)}catch{}},[]);hi(()=>{e&&e.type==="request_kiku_key"&&(i("prompt_key"),a(""))},[e]),hi(()=>{if(!c)return;v(oo);let T=setInterval(()=>{v(z=>z<=1?(clearInterval(T),o(null),h(null),0):z-1)},1e3);return()=>clearInterval(T)},[c]);let k=co(async()=>{let T=r.trim();T&&(t.setKikuPub(T),a(""),i("idle"),await n())},[t,r,n]),N=co(async()=>{if(!f){b(!0);try{let{secret:T,publicId:z}=await t.mintKikuKey();o(T),h(z),i("idle"),await n()}catch{}finally{b(!1)}}},[t,f,n]);return{keyInput:r,setKeyInput:a,keyPhase:s,setKeyPhase:i,mintedKey:c,setMintedKey:o,mintedPub:l,setMintedPub:h,copied:p,keyCountdown:d,minting:f,copyValue:E,handleUseExistingKey:k,handleCreateKey:N}}function Sh(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 sa}from"react";function di({attachments:e,setAttachments:n,setInput:t,send:r,t:a}){let s=sa(l=>{let h=l.name||"",p=`@kiku ${a("displayCapture",{name:h}).trim()}`,m=h||"capture current page";t("");let d=e;n([]),r(m,p,d.length>0?d:void 0,"capture")},[e,r,n,t,a]),i=sa(l=>{let h=l.filter(d=>d.id).map(d=>({name:d.name||"",url:d.url||"",image:d.image||""})),p=l.map(d=>d.name).filter(Boolean).join(", "),m=`@kiku ${a("displayCaptureAll",{count:String(l.length)})}`;t(""),n([]),r(p||"capture all",m,void 0,"capture_all",h)},[r,n,t,a]),c=sa(()=>{let l=`@kiku ${a("displayViewHistory")}`;t(""),n([]),r("show my saved items",l,void 0,"view_history")},[r,n,t,a]),o=sa(()=>{let l=`@kiku ${a("displayDelete")}`;t(""),n([]),r("delete this",l,void 0,"delete")},[r,n,t,a]);return{handleKikuCapture:s,handleKikuCaptureAll:i,handleKikuViewHistory:c,handleKikuDelete:o}}import{useState as Mr,useCallback as pa,useEffect as Ei,useRef as Wh}from"react";import{useAkropolysContext as Oh}from"@akropolys/sdk";var ca=null,ui=null,ia=null,fn=null,mi=!1,Cr=0;function gn(e,n=130){let t=ia;if(!t||!ca)return;let r=ca.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 bi(){if(!mi)return Cr*=.85,Cr;if(!ui||!fn)return Cr;ui.getByteTimeDomainData(fn);let e=0;for(let r=0;r<fn.length;r++){let a=(fn[r]-128)/128;e+=a*a}let n=Math.sqrt(e/fn.length),t=Math.min(1,n*3.2);return Cr+=(t-Cr)*(t>Cr?.6:.12),Cr}function ki(){if(mi=!1,ia&&ca&&(ia.gain.cancelScheduledValues(ca.currentTime),ia.gain.value=1),typeof window<"u"&&"speechSynthesis"in window)try{window.speechSynthesis.cancel()}catch{}}import{useCallback as Ft,useEffect as sr,useRef as Ue,useState as la}from"react";var Mh=1100,lo=.012,Th=320,Rh=.09,zh=.25,fi=130,Eh=700,Lh=12,Nh=48,Ih=.45,Ph=.35,Ah=.2,gi=.55;function xi({lang:e,onUtterance:n,onError:t,onBargeIn:r,silenceMs:a=Mh,paused:s=!1}){let[i,c]=la(!1),[o,l]=la(!1),[h,p]=la(""),[m,d]=la(!1),v=Ue(null),f=Ue(null),b=Ue(null),E=Ue(null),k=Ue(null),N=Ue(null),T=Ue(0),z=Ue(.008),F=Ue(0),C=Ue(0),$=Ue(""),Z=Ue(0),A=Ue(0),D=Ue(!1),Y=Ue(s),H=Ue(!1),V=Ue(!1),fe=Ue(n),ue=Ue(t),j=Ue(r);sr(()=>{fe.current=n},[n]),sr(()=>{ue.current=t},[t]),sr(()=>{j.current=r},[r]),sr(()=>{Y.current=s},[s]),sr(()=>{d(typeof window<"u"&&("SpeechRecognition"in window||"webkitSpeechRecognition"in window)&&!!navigator.mediaDevices?.getUserMedia)},[]);let re=Ft(()=>T.current,[]),O=Ft(y=>{let L=E.current;return!L||y.length!==L.frequencyBinCount?!1:(L.getByteFrequencyData(y),!0)},[]),P=Ft(()=>E.current?.frequencyBinCount??0,[]),X=Ue([]),S=Ue(null),R=Ue(!1),I=Ue(0),G=Ue(0),g=Ft(y=>{let L=E.current;if(!L)return 0;let q=X.current;q.push(y),q.length>Nh&&q.shift();let ne=0;if(q.length>=12){let _e=0;for(let je of q)_e+=je;if(_e/=q.length,_e>1e-4){let je=0;for(let ke of q)je+=(ke-_e)*(ke-_e);ne=Math.min(1,Math.sqrt(je/q.length)/_e/.6)}}let de=0;(!S.current||S.current.length!==L.frequencyBinCount)&&(S.current=new Uint8Array(L.frequencyBinCount));let ce=S.current;L.getByteFrequencyData(ce);let W=(b.current?.sampleRate??48e3)/2/ce.length,K=Math.floor(300/W),ge=Math.min(ce.length-1,Math.ceil(3400/W)),Pe=0,be=0;for(let _e=0;_e<ce.length;_e++)be+=ce[_e],_e>=K&&_e<=ge&&(Pe+=ce[_e]);be>0&&(de=Pe/be);let Le=Math.min(1,y/(z.current+lo*3));return Ih*Le+Ph*ne+Ah*de},[]),M=Ft(()=>{let y=$.current.trim();if($.current="",Z.current=A.current,p(""),l(!1),y){H.current=!1;let L=v.current;v.current=null;try{L?.stop()}catch{}fe.current(y)}},[]),u=Ft(()=>{let y=E.current,L=N.current;if(!y||!L)return;y.getByteTimeDomainData(L);let q=0;for(let K=0;K<L.length;K++){let ge=(L[K]-128)/128;q+=ge*ge}let ne=Math.sqrt(q/L.length),de=Math.min(1,ne*4);T.current+=(de-T.current)*(de>T.current?.6:.12);let ce=Date.now(),se=Y.current?bi()*Rh:0;ne>z.current+lo+se?(F.current=ce,C.current||(C.current=ce)):(C.current=0,z.current=Math.min(z.current*1.02+2e-5,Math.max(.004,ne))),Y.current?R.current?(g(ne)>gi?G.current+=1:G.current=Math.max(0,G.current-2),G.current>=Lh?(R.current=!1,G.current=0,gn(1,0),j.current?.()):ce-I.current>Eh&&(R.current=!1,G.current=0,gn(1,fi*2))):C.current&&ce-C.current>Th&&g(ne)>gi&&(C.current=0,R.current=!0,I.current=ce,G.current=0,gn(zh,fi)):$.current.trim()&&ce-F.current>a&&M(),k.current=requestAnimationFrame(u)},[M,a,g]),te=Ft(()=>{if(v.current||!D.current)return;let y=window.SpeechRecognition||window.webkitSpeechRecognition,L=new y;Z.current=0,A.current=0,L.lang=e||document.documentElement.lang||navigator.language||"en-US",L.interimResults=!0,L.maxAlternatives=1,L.continuous=!0,L.onresult=q=>{let ne="";for(let de=Z.current;de<q.results.length;de++)ne+=q.results[de][0].transcript;A.current=q.results.length,ne=ne.trim(),ne&&($.current=ne,p(ne),l(!0))},L.onerror=q=>{let ne=q?.error||"";ne==="no-speech"||ne==="aborted"||ue.current?.(ne)},L.onend=()=>{v.current=null,D.current&&H.current&&setTimeout(()=>{te()},120)},v.current=L;try{L.start()}catch{v.current=null,ue.current?.("failed-to-start")}},[e]),B=Ft(()=>{H.current=!1;let y=v.current;v.current=null;try{y?.stop()}catch{}},[]),_=Ft(()=>{D.current=!1,R.current=!1,G.current=0,X.current=[],gn(1,0),H.current=!1,c(!1),l(!1),p(""),$.current="",T.current=0;let y=v.current;v.current=null;try{y?.abort()}catch{}k.current!==null&&(cancelAnimationFrame(k.current),k.current=null),f.current?.getTracks().forEach(L=>L.stop()),f.current=null,E.current=null,b.current?.close().catch(()=>{}),b.current=null},[]),w=Ft(async()=>{if(!(D.current||!m)){D.current=!0,c(!0);try{let y=await navigator.mediaDevices.getUserMedia({audio:{echoCancellation:!0,noiseSuppression:!0,autoGainControl:!0}});f.current=y;let L=window.AudioContext||window.webkitAudioContext,q=new L;b.current=q;let ne=q.createAnalyser();ne.fftSize=1024,ne.smoothingTimeConstant=.25,q.createMediaStreamSource(y).connect(ne),E.current=ne,N.current=new Uint8Array(ne.fftSize),z.current=.008,F.current=Date.now(),k.current=requestAnimationFrame(u)}catch(y){D.current=!1,c(!1),ue.current?.(y?.name==="NotAllowedError"?"not-allowed":"audio-capture");return}H.current=!0,te()}},[m,u,te]);return sr(()=>{i&&(s?($.current="",p(""),R.current=!1,G.current=0,X.current=[],B()):(R.current=!1,F.current=Date.now(),H.current=!0,te()))},[s,i,te,B]),sr(()=>{if(!i||s)return;let y=setInterval(()=>{let L=!!v.current,q=T.current>z.current+lo;L&&q&&$.current},2e3);return()=>clearInterval(y)},[i,s]),sr(()=>()=>{_()},[_]),{supported:m,active:i,hearing:o,interim:h,micLevel:re,micSpectrum:O,spectrumBins:P,start:w,stop:_}}import{useCallback as We,useEffect as vn,useRef as Ee,useState as Sr}from"react";var vi=[-1,-1,-1,-1,2,4,6,8,-1,-1,-1,-1,2,4,6,8],yi=[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],ho=e=>e<0?0:e>88?88:e,wi=e=>e<-32768?-32768:e>32767?32767:e,xn=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 i=this.index;for(let c=0;c<t;c++){let o=yi[i],l=n[c]-a,h=0;l<0&&(h=8,l=-l);let p=o>>3;l>=o&&(h|=4,l-=o,p+=o),o>>=1,l>=o&&(h|=2,l-=o,p+=o),o>>=1,l>=o&&(h|=1,p+=o),a=wi(h&8?a-p:a+p),i=ho(i+vi[h]),r[4+(c>>1)]|=h<<4*(c&1)}return this.index=i,r.buffer}};function Ci(e){let n=new Uint8Array(e);if(n.length<4)return new Float32Array(0);let t=new DataView(e).getInt16(0,!0),r=ho(n[2]),a=(n.length-4)*2;n[3]&1&&a>0&&a--;let s=new Float32Array(a);for(let i=0;i<a;i++){let c=n[4+(i>>1)]>>4*(i&1)&15,o=yi[r],l=o>>3;c&4&&(l+=o),c&2&&(l+=o>>1),c&1&&(l+=o>>2),t=wi(c&8?t-l:t+l),r=ho(r+vi[c]),s[i]=t/32768}return s}function ir(e,n,t){for(let r=0;r<t.length;r++)e.setUint8(n+r,t.charCodeAt(r))}function Si(e,n=24e3){let t=0;for(let o of e)t+=o.length;let r=new Float32Array(t),a=0;for(let o of e)r.set(o,a),a+=o.length;let s=new ArrayBuffer(44+t*2),i=new DataView(s);ir(i,0,"RIFF"),i.setUint32(4,36+t*2,!0),ir(i,8,"WAVE"),ir(i,12,"fmt "),i.setUint32(16,16,!0),i.setUint16(20,1,!0),i.setUint16(22,1,!0),i.setUint32(24,n,!0),i.setUint32(28,n*2,!0),i.setUint16(32,2,!0),i.setUint16(34,16,!0),ir(i,36,"data"),i.setUint32(40,t*2,!0);let c=44;for(let o=0;o<t;o++){let l=Math.max(-1,Math.min(1,r[o]));i.setInt16(c,l<0?l*32768:l*32767,!0),c+=2}return new Blob([s],{type:"audio/wav"})}function Mi(e,n=16e3){let t=0;for(let o of e)t+=o.length;let r=new Int16Array(t),a=0;for(let o of e)r.set(o,a),a+=o.length;let s=new ArrayBuffer(44+t*2),i=new DataView(s);ir(i,0,"RIFF"),i.setUint32(4,36+t*2,!0),ir(i,8,"WAVE"),ir(i,12,"fmt "),i.setUint32(16,16,!0),i.setUint16(20,1,!0),i.setUint16(22,1,!0),i.setUint32(24,n,!0),i.setUint32(28,n*2,!0),i.setUint16(32,2,!0),i.setUint16(34,16,!0),ir(i,36,"data"),i.setUint32(40,t*2,!0);let c=44;for(let o=0;o<t;o++)i.setInt16(c,r[o],!0),c+=2;return new Blob([s],{type:"audio/wav"})}var po=16e3,ha=24e3,_h=.08,Fh=.12,Dh=.03,Hh=.08;var Bh=.12,qh=500,$h=6e4,Uh=`
2
+ import{a as tr,b as $a,c as ie,d as is,e as cs,f as Yn,g as ls,h as Et,i as hs,j as Ua,k as Tt,l as Wa,m as Oa,n as ps}from"./chunk-RWGHGIF7.mjs";import In,{useState as Be,useEffect as wt,useRef as at,useCallback as Ct,useId as Id}from"react";import{Fragment as Gd,jsx as J,jsxs as Je}from"react/jsx-runtime";var ql=({className:e,size:n=18,tight:t=!1})=>J("svg",{className:ie("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:Je("g",{transform:"translate(22.7 19) scale(0.62)",fill:"currentColor",fillRule:"evenodd",children:[J("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"}),J("circle",{cx:"55",cy:"82",r:"3.4"})]})}),rr=ql,ds=()=>Je("svg",{className:"hsk-stop-icon",width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",children:[J("circle",{className:"hsk-stop-ring",cx:"12",cy:"12",r:"9.5",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round"}),J("rect",{className:"hsk-stop-core",x:"8.5",y:"8.5",width:"7",height:"7",rx:"1.8",fill:"currentColor"})]});var us=()=>Je("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.2",strokeLinecap:"round",strokeLinejoin:"round",children:[J("path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"}),J("polyline",{points:"15 3 21 3 21 9"}),J("line",{x1:"10",y1:"14",x2:"21",y2:"3"})]}),ms=()=>J("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"currentColor",children:J("path",{d:"M8 5v14l11-7z"})}),Pr=()=>Je("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:[J("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),J("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]}),jn=()=>J("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:J("path",{d:"m15 18-6-6 6-6"})}),Vn=()=>J("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:J("path",{d:"m9 18 6-6-6-6"})}),bs=()=>Je("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[J("path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8"}),J("path",{d:"M3 3v5h5"}),J("path",{d:"M12 7v5l4 2"})]}),Kn=()=>J("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:J("path",{d:"M19 21 12 16l-7 5V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z"})}),ks=()=>Je("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[J("path",{d:"M3 6h18"}),J("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 fs=()=>J("svg",{width:"19",height:"19",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",children:J("path",{d:"M12 5v14M5 12h14"})}),Xn=({size:e=18}={})=>Je("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[J("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)=>J("circle",{className:"hsk-mimi-dot",style:{"--hsk-dot":t},cx:n,cy:"11.6",r:"1.15",fill:"currentColor",stroke:"none"},n))]}),Ga=()=>J("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:J("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"})}),gs=()=>Je("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[J("rect",{x:"3",y:"3",width:"18",height:"18",rx:"4"}),J("circle",{className:"hsk-img-sun",cx:"9",cy:"9",r:"1.8"}),J("path",{className:"hsk-img-ridge",d:"m21 15-4.5-4.5L6 21"})]}),cn=({className:e,size:n=13}={})=>Je("svg",{className:ie("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:[J("path",{className:"hsk-retry-arrow",d:"M21.5 2v6h-6"}),J("path",{className:"hsk-retry-arc",d:"M21.34 15.57a10 10 0 1 1-.57-8.38l5.67-5.19"})]}),Qn=({className:e,size:n=13}={})=>Je("svg",{className:ie("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:[J("path",{className:"hsk-edit-pencil",d:"M17 3a2.85 2.83 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5Z"}),J("path",{className:"hsk-edit-lead",d:"m15 5 4 4"})]}),mr=({className:e,size:n=13}={})=>Je("svg",{className:ie("hsk-copy-icon",e),width:n,height:n,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[J("rect",{className:"hsk-copy-sheet",x:"8.5",y:"7",width:"12",height:"14",rx:"3.5"}),J("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"})]}),br=({className:e,size:n=13}={})=>J("svg",{className:ie("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:J("polyline",{className:"hsk-check-mark",points:"20 6 9 17 4 12"})}),ln=({className:e,size:n=18}={})=>Je("svg",{className:e,width:n,height:n,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[J("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"}),J("path",{d:"M19 10v2a7 7 0 0 1-14 0v-2"}),J("line",{x1:"12",y1:"19",x2:"12",y2:"22"})]}),xs=()=>Je("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[J("line",{className:"hsk-mic-slash",x1:"2",y1:"2",x2:"22",y2:"22"}),J("path",{d:"M18.89 13.23A7.12 7.12 0 0 0 19 12v-2"}),J("path",{d:"M5 10v2a7 7 0 0 0 12 5"}),J("path",{d:"M15 9.34V5a3 3 0 0 0-5.68-1.33"}),J("path",{d:"M9 9v3a3 3 0 0 0 5.12 2.12"}),J("line",{x1:"12",y1:"19",x2:"12",y2:"22"})]}),Ya=({active:e})=>Je("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[J("path",{className:"hsk-wave-bar hsk-wave-bar--tip",style:{"--hsk-bar":0,"--hsk-amp":1.9,"--hsk-period":"1.24s"},d:"M2 12h2"}),J("path",{className:"hsk-wave-bar",style:{"--hsk-bar":1,"--hsk-amp":1.78,"--hsk-period":"0.94s"},d:"M6 8v8"}),J("path",{className:"hsk-wave-bar",style:{"--hsk-bar":2,"--hsk-amp":1.26,"--hsk-period":"1.42s"},d:"M10 4v16"}),J("path",{className:"hsk-wave-bar",style:{"--hsk-bar":3,"--hsk-amp":1.62,"--hsk-period":"1.08s"},d:"M14 7v10"}),J("path",{className:"hsk-wave-bar",style:{"--hsk-bar":4,"--hsk-amp":2.05,"--hsk-period":"0.86s"},d:"M18 9v6"}),J("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"})]}),vs=()=>Je("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:[J("polygon",{className:"hsk-kite-wing hsk-kite-wing--far",points:"22 2 11 13 2 9"}),J("polygon",{className:"hsk-kite-wing hsk-kite-wing--near",points:"22 2 15 22 11 13"}),J("line",{className:"hsk-kite-spine",x1:"22",y1:"2",x2:"11",y2:"13"})]}),ys=()=>Je("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[J("circle",{className:"hsk-sun-core",cx:"12",cy:"12",r:"5"}),Je("g",{className:"hsk-sun-rays",children:[J("line",{x1:"12",y1:"1",x2:"12",y2:"3"}),J("line",{x1:"12",y1:"21",x2:"12",y2:"23"}),J("line",{x1:"4.22",y1:"4.22",x2:"5.64",y2:"5.64"}),J("line",{x1:"18.36",y1:"18.36",x2:"19.78",y2:"19.78"}),J("line",{x1:"1",y1:"12",x2:"3",y2:"12"}),J("line",{x1:"21",y1:"12",x2:"23",y2:"12"}),J("line",{x1:"4.22",y1:"19.78",x2:"5.64",y2:"18.36"}),J("line",{x1:"18.36",y1:"5.64",x2:"19.78",y2:"4.22"})]})]}),ws=()=>J("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:J("path",{className:"hsk-moon-body",d:"M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"})}),Cs=()=>Je("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[J("path",{className:"hsk-wood-layer",style:{"--hsk-layer":0},d:"M12 2L2 7l10 5 10-5-10-5z"}),J("path",{className:"hsk-wood-layer",style:{"--hsk-layer":2},d:"M2 17l10 5 10-5"}),J("path",{className:"hsk-wood-layer",style:{"--hsk-layer":1},d:"M2 12l10 5 10-5"})]}),Ss=()=>J("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:J("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"})}),Ms=()=>Je("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[J("path",{d:"M17 8h1a4 4 0 1 1 0 8h-1"}),J("path",{d:"M3 8h14v9a4 4 0 0 1-4 4H7a4 4 0 0 1-4-4z"}),J("line",{className:"hsk-steam",style:{"--hsk-steam":0},x1:"6",y1:"1",x2:"6",y2:"4"}),J("line",{className:"hsk-steam",style:{"--hsk-steam":1},x1:"10",y1:"1",x2:"10",y2:"4"}),J("line",{className:"hsk-steam",style:{"--hsk-steam":2},x1:"14",y1:"1",x2:"14",y2:"4"})]}),Ts=()=>Je("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[J("path",{d:"M12 3a6.5 6.5 0 0 0 9 9 9 9 0 1 1-9-9z"}),J("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 Rs=({size:e=11})=>Je("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.6",strokeLinecap:"round",strokeLinejoin:"round",children:[J("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),J("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]}),zs=({className:e,size:n=16,filled:t=!1}={})=>Je("svg",{className:ie("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:[J("line",{x1:"12",y1:"17",x2:"12",y2:"22"}),J("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 kr=[{id:"light",label:"Silver",Icon:ys,dark:!1},{id:"dark",label:"Onyx",Icon:ws,dark:!0},{id:"mahogany",label:"Mahogany",Icon:Cs,dark:!0},{id:"blush",label:"Blush",Icon:Ss,dark:!1},{id:"coffee",label:"Coffee",Icon:Ms,dark:!1},{id:"midnight",label:"Midnight",Icon:Ts,dark:!0}],Es="coffee";function ja(e){return typeof e=="string"&&kr.some(n=>n.id===e)}function Va(e){return kr.find(n=>n.id===e)??kr[0]}import{useKiku as Pd,subscribeLiveStream as Ad}from"@akropolys/sdk";import{useAkropolysContext as _d,useCardFields as Fd}from"@akropolys/sdk";import{useEffect as $l,useRef as Ul}from"react";function Wl(e,n,t=.55){return n<=0?0:e*n*t/(n+t*Math.abs(e))}function Ol({stiffness:e=500,damping:n=45,onFrame:t,onRest:r}){let a=0,s=0,i=0,c=null,o=0,l=p=>{let m=Math.min(.032,(p-o)/1e3)||.016666666666666666;o=p;let d=Math.max(1,Math.ceil(m/.008)),v=m/d;for(let g=0;g<d;g++){let b=-e*(a-i)-n*s;s+=b*v,a+=s*v}if(Math.abs(a-i)<.5&&Math.abs(s)<.5){a=i,s=0,c=null,t(a),r?.();return}t(a),c=requestAnimationFrame(l)},h=()=>{c===null&&(o=performance.now(),c=requestAnimationFrame(l))};return{track(p){c!==null&&(cancelAnimationFrame(c),c=null),a=p,s=0,t(a)},to(p,m=0){i=p,s=m,h()},get value(){return a},stop(){c!==null&&(cancelAnimationFrame(c),c=null)}}}function Ls({panel:e,scroller:n,onDismiss:t,quiescent:r,enabled:a=!0}){let s=Ul(t);s.current=t,$l(()=>{if(!a)return;let i=e();if(!i||typeof matchMedia=="function"&&matchMedia("(prefers-reduced-motion: reduce)").matches)return;let c=!1,o=0,l=0,h=0,p=-1,m=0,d=0,v=0,g=!1,b=!1,k=Ol({onFrame:C=>{i.style.transform=C===0?"":`translate3d(0, ${C}px, 0)`;let $=i.parentElement;$&&($.style.opacity=C===0?"":String(Math.max(.35,1-C/(i.offsetHeight||1)*1.1)))},onRest:()=>{i.style.willChange="",b&&(b=!1,s.current())}}),N=()=>{let C=n();return C&&C.scrollTop>0?!1:r?r():!0},T=C=>{C.pointerType==="mouse"||!C.isPrimary||(c=!1,g=!1,p=C.pointerId,o=m=C.clientY,l=C.clientX,d=C.timeStamp,v=0,h=k.value)},z=C=>{if(C.pointerId!==p)return;let $=C.clientY-o,Z=C.clientX-l;if(!g){if(Math.abs($)<6&&Math.abs(Z)<6)return;if(g=!0,c=$>0&&Math.abs($)>Math.abs(Z)&&N(),c){try{i.setPointerCapture(C.pointerId)}catch{}k.stop(),i.style.animation="none",i.style.willChange="transform"}}if(!c)return;let A=C.timeStamp-d;A>0&&(v=(C.clientY-m)/A*1e3),m=C.clientY,d=C.timeStamp;let D=h+$;k.track(D<0?-Wl(-D,i.offsetHeight||1):D),C.cancelable&&C.preventDefault()},F=C=>{if(C.pointerId!==p)return;try{i.hasPointerCapture(C.pointerId)&&i.releasePointerCapture(C.pointerId)}catch{}if(p=-1,!c)return;c=!1;let $=i.offsetHeight||1;k.value+v*.12>$*.3||v>900?(b=!0,i.style.pointerEvents="none",k.to($,v)):k.to(0,v)};return i.addEventListener("pointerdown",T,{passive:!0}),i.addEventListener("pointermove",z,{passive:!1}),i.addEventListener("pointerup",F,{passive:!0}),i.addEventListener("pointercancel",F,{passive:!0}),()=>{k.stop(),i.removeEventListener("pointerdown",T),i.removeEventListener("pointermove",z),i.removeEventListener("pointerup",F),i.removeEventListener("pointercancel",F),i.style.transform="",i.style.willChange="",i.style.animation="",i.style.pointerEvents="";let C=i.parentElement;C&&(C.style.opacity="")}},[a,e,n,r])}function hn(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 Jn(e){if(e.type==="image/gif"||e.type==="image/svg+xml"||e.size<=307200)return hn(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 s=await createImageBitmap(e,{resizeWidth:r,resizeHeight:a,resizeQuality:"high"});try{let i=document.createElement("canvas");i.width=r,i.height=a;let c=i.getContext("2d");if(!c)return hn(e);c.drawImage(s,0,0);let o=e.type==="image/png",l=await new Promise(h=>i.toBlob(h,o?"image/png":"image/jpeg",.85));return!l||l.size>=e.size?hn(e):hn(l)}finally{s.close?.()}}catch{return hn(e)}}import{useEffect as Ps,useRef as fr,useState as gr}from"react";var Ns=(e,n)=>Math.hypot(e.x-n.x,e.y-n.y);function Gl(e){let n=0;for(let t=1;t<e.length;t++)n+=Ns(e[t-1],e[t]);return n}function Ka(e){let n=1/0,t=1/0,r=-1/0,a=-1/0;for(let s of e)s.x<n&&(n=s.x),s.y<t&&(t=s.y),s.x>r&&(r=s.x),s.y>a&&(a=s.y);return{minX:n,minY:t,maxX:r,maxY:a}}var Ar=e=>Math.max(0,Math.min(1e3,Math.round(e)));function Xa(e,n,t){return[Ar(e.minY/t*1e3),Ar(e.minX/n*1e3),Ar(e.maxY/t*1e3),Ar(e.maxX/n*1e3)]}function Yl(e,n){let[t,r,a,s]=e,[i,c,o,l]=n,h=Math.min(s,l)-Math.max(r,c),p=Math.min(a,o)-Math.max(t,i);if(h<=0||p<=0)return!1;let m=Math.min((s-r)*(a-t),(l-c)*(o-i));return m>0&&h*p/m>.35}var jl=(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 Vl(e,n,t){if(e.length<2)return null;let r=Ka(e),a=Xa(r,n,t),s=Math.hypot(r.maxX-r.minX,r.maxY-r.minY);if(s<4)return null;let i=Gl(e),c=Ns(e[0],e[e.length-1]),o=i/Math.max(c,1e-6);return c/s<.3&&i>s*1.8?{gesture:"ring",box:a,straight:!1}:o<1.25?{gesture:"arrow",box:a,to:[Ar(e[e.length-1].y/t*1e3),Ar(e[e.length-1].x/n*1e3)],straight:!0}:{gesture:"scribble",box:a,straight:!1}}function Is(e,n,t){if(!n||!t)return[];let r=[],a=[],s=[];for(let o of e){if(o.kind==="pin"&&typeof o.x=="number"&&typeof o.y=="number"){let l={x:o.x,y:o.y};s.push({gesture:"pin",id:o.id,text:o.label,box:Xa(Ka([l,l]),n,t)});continue}if(o.kind==="text"&&o.value&&typeof o.x=="number"&&typeof o.y=="number"){let l={x:o.x,y:o.y};a.push({gesture:"text",box:Xa(Ka([l,l]),n,t),text:o.value});continue}if(o.kind==="stroke"&&o.tool!=="eraser"&&o.points){let l=Vl(o.points,n,t);l&&r.push(l)}}let i=new Set,c=[];for(let o=0;o<r.length;o++){if(i.has(o))continue;let l=r[o];for(let h=o+1;h<r.length;h++)i.has(h)||!l.straight||!r[h].straight||Yl(l.box,r[h].box)&&(i.add(h),l={gesture:"cross",box:jl(l.box,r[h].box),straight:!1});i.add(o),c.push(l.gesture==="arrow"?{gesture:"arrow",box:l.box,to:l.to}:{gesture:l.gesture,box:l.box})}return[...s,...c,...a]}import{jsx as ct,jsxs as xr}from"react/jsx-runtime";var As="#ff5a5a",Kl=1280,Xl=4,Ql=80;function Jl(e,n,t){let r=[],a="";for(let s of n.split(/\s+/)){let i=a?`${a} ${s}`:s;a&&e.measureText(i).width>t?(r.push(a),a=s):a=i}return a&&r.push(a),r.slice(0,3)}function Zl(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 _s({src:e,onCancel:n,onSend:t,t:r}){let[a,s]=gr(null),[i,c]=gr(!1),[o,l]=gr("pin"),h=fr(0),[p,m]=gr(null),d=fr(null),[v,g]=gr([{points:[],closed:!1}]),b=v[v.length-1],E=fr(`selection-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,10)}`),k=fr(null),N=f=>g(M=>[...M.slice(-66),f]),T=o==="select",[z,F]=gr([]),[C,$]=gr(!1),Z=fr(null),A=fr(null);Ps(()=>{let f=new Image;return f.crossOrigin="anonymous",f.onload=()=>s(f),f.onerror=()=>c(!0),f.src=e,()=>{f.onload=null,f.onerror=null}},[e]);let D=(()=>{if(!a)return{w:0,h:0};let f=Math.min(1,Kl/Math.max(a.naturalWidth,a.naturalHeight));return{w:Math.round(a.naturalWidth*f),h:Math.round(a.naturalHeight*f)}})(),Y=fr(null),H=f=>{let M=Z.current;if(!M||!a)return;let u=M.getContext("2d");if(!u)return;Y.current||(Y.current=document.createElement("canvas"));let te=Y.current;te.width=M.width,te.height=M.height;let B=te.getContext("2d"),_=f?[...z,f]:z;for(let y of _)y.kind==="stroke"&&(B.save(),B.globalCompositeOperation=y.tool==="eraser"?"destination-out":"source-over",B.strokeStyle=As,B.lineWidth=y.tool==="eraser"?y.size*3:y.size,B.lineCap="round",B.lineJoin="round",B.beginPath(),y.points.forEach((L,q)=>q===0?B.moveTo(L.x,L.y):B.lineTo(L.x,L.y)),y.points.length===1&&B.lineTo(y.points[0].x+.01,y.points[0].y),B.stroke(),B.restore());u.clearRect(0,0,M.width,M.height),u.drawImage(a,0,0,M.width,M.height),u.drawImage(te,0,0);let w=b.points.map((y,L)=>k.current?.index===L?k.current.point:y);w.length&&(u.save(),u.beginPath(),w.forEach((y,L)=>L?u.lineTo(y.x,y.y):u.moveTo(y.x,y.y)),b.closed&&(u.closePath(),u.fillStyle="#22c55e33",u.fill()),u.strokeStyle="#22c55e",u.lineWidth=Math.max(2,D.w/400),u.stroke(),u.restore());for(let y of w)u.beginPath(),u.arc(y.x,y.y,Math.max(3,D.w/260),0,Math.PI*2),u.fillStyle="#ffffff",u.fill(),u.strokeStyle="#15803d",u.stroke();for(let y of _){if(y.kind!=="pin")continue;let L=y.size;if(u.save(),u.beginPath(),u.moveTo(y.x,y.y),u.bezierCurveTo(y.x-L*2,y.y-L*2,y.x-L,y.y-L*3.5,y.x,y.y-L*3.5),u.bezierCurveTo(y.x+L,y.y-L*3.5,y.x+L*2,y.y-L*2,y.x,y.y),u.fillStyle=As,u.fill(),u.lineWidth=Math.max(1,L/7),u.strokeStyle="#fff",u.stroke(),u.beginPath(),u.arc(y.x,y.y-L*2.2,L*.5,0,Math.PI*2),u.fillStyle="#fff",u.fill(),y.label){u.font=`600 ${L*1.2}px system-ui, sans-serif`,u.textAlign="center",u.textBaseline="middle";let q=Jl(u,y.label,M.width*.32),ne=L*1.5,de=Math.min(M.width,Math.max(...q.map(K=>u.measureText(K).width))+L),ce=q.length*ne+L*.4,se=Math.max(de/2,Math.min(M.width-de/2,y.x)),W=Math.max(ce,y.y-L*3.7);u.fillStyle="rgba(0,0,0,.8)",u.fillRect(se-de/2,W-ce,de,ce),u.fillStyle="#fff",q.forEach((K,ge)=>u.fillText(K,se,W-ce+L*.2+ne*(ge+.5),de-L))}u.restore()}};Ps(()=>{H()},[a,z,b,D.w,D.h]);let V=f=>{let M=Z.current,u=M.getBoundingClientRect();return{x:Math.max(0,Math.min(M.width,(f.clientX-u.left)/u.width*M.width)),y:Math.max(0,Math.min(M.height,(f.clientY-u.top)/u.height*M.height))}},fe=()=>Math.max(4,Math.round(D.w/180)),ue=f=>{F(M=>M.filter(u=>u.kind!=="pin"||u.id!==f)),m(null)},j=()=>{let f=z.find(M=>M.kind==="pin"&&M.id===p);f?.kind==="pin"&&!f.label.trim()?ue(f.id):m(null)},re=f=>{if(!a)return;let M=V(f);if(o==="pin"){let u=z.find(_=>_.kind==="pin"&&Math.hypot(M.x-_.x,M.y-(_.y-_.size*1.7))<_.size*2);if(u?.kind==="pin"){m(u.id),f.currentTarget.setPointerCapture(f.pointerId),d.current={id:u.id,offset:{x:M.x-u.x,y:M.y-u.y}};return}if(p){j();return}if(z.filter(_=>_.kind==="pin").length>=Xl)return;let te=`pin-${++h.current}`,B=Math.max(10,D.w/Z.current.getBoundingClientRect().width*9);F(_=>[..._,{kind:"pin",...M,id:te,label:"",size:B}]),m(te);return}if(o==="select"){let u=b.points[0],te=Z.current.getBoundingClientRect(),B=12*D.w/te.width;if(!b.closed&&u&&b.points.length>=3&&Math.hypot(M.x-u.x,M.y-u.y)<B)N({...b,closed:!0});else{let _=b.points.findIndex(w=>Math.hypot(M.x-w.x,M.y-w.y)<B);if(_>=0){f.currentTarget.setPointerCapture(f.pointerId),k.current={index:_,point:M};return}if(b.closed||b.points.length>=64)return;N({...b,points:[...b.points,M]})}return}f.target.setPointerCapture(f.pointerId),A.current={kind:"stroke",tool:o,size:fe(),points:[M]},H(A.current)},O=f=>{if(d.current){let{id:M,offset:u}=d.current,te=V(f);F(B=>B.map(_=>_.kind==="pin"&&_.id===M?{..._,x:Math.max(0,Math.min(D.w,te.x-u.x)),y:Math.max(0,Math.min(D.h,te.y-u.y))}:_));return}if(k.current){k.current.point=V(f),H();return}A.current&&(A.current.points.push(V(f)),H(A.current))},P=()=>{if(d.current){d.current=null;return}if(k.current){let{index:M,point:u}=k.current;k.current=null,N({...b,points:b.points.map((te,B)=>B===M?u:te)});return}if(!A.current)return;let f=A.current;A.current=null,F(M=>[...M,f])},X=z.filter(f=>f.kind==="pin"),S=X.find(f=>f.id===p),R=!!a&&!(b.points.length>0&&!b.closed)&&X.length>0&&X.every(f=>f.label.trim()),I=()=>{if(!(!R||!a))try{let f=document.createElement("canvas");f.width=D.w,f.height=D.h;let M=f.getContext("2d");if(!M){$(!0);return}M.drawImage(a,0,0,D.w,D.h);let u=f.toDataURL("image/jpeg",.92),te=Z.current?.toDataURL("image/jpeg",.85)||u,B=Is(z,D.w,D.h);if(b.closed){let _=y=>Math.round(y/D.w*1e3),w=y=>Math.round(y/D.h*1e3);B.unshift({gesture:"selection",id:E.current,box:[w(Math.min(...b.points.map(y=>y.y))),_(Math.min(...b.points.map(y=>y.x))),w(Math.max(...b.points.map(y=>y.y))),_(Math.max(...b.points.map(y=>y.x)))],points:b.points.map(y=>[_(y.x),w(y.y)])})}t(u,X.map(_=>_.label.trim()).join("; "),B,te)}catch{$(!0)}},G=o==="pin"?"markupPinHint":o==="select"?b.closed?"markupSelectedHint":"markupOutlineHint":"markupSketchHint";return xr("div",{className:"hsk-markup",role:"dialog","aria-label":r("markupDialogLabel"),children:[xr("div",{className:"hsk-markup-head",children:[ct("span",{className:"hsk-markup-title",role:"status",children:r(G)}),ct("button",{className:"hsk-markup-cancel",onClick:n,children:r("markupCancel")})]}),ct("div",{className:"hsk-markup-stage",children:i?ct("div",{className:"hsk-markup-error",children:r("markupLoadError")}):a?xr("div",{className:"hsk-markup-canvas-wrap",children:[ct("canvas",{ref:Z,width:D.w,height:D.h,className:`hsk-markup-canvas hsk-markup-canvas--${o}`,style:{touchAction:"none",cursor:T||o==="pin"?"crosshair":void 0},onPointerDown:re,onPointerMove:O,onPointerUp:P,onPointerCancel:()=>{d.current=null,k.current=null,A.current=null,H()}}),o==="pin"&&S&&xr("div",{className:"hsk-markup-pinlabel",style:Zl(S.x/D.w*100,Math.max(12,(S.y-S.size*4)/D.h*100)),children:[ct("input",{autoFocus:!0,"aria-label":r("markupPinLabel"),placeholder:r("markupPinLabelHint"),value:S.label,maxLength:Ql,style:{width:`${Math.min(34,Math.max(16,S.label.length+2))}ch`},onChange:f=>F(M=>M.map(u=>u.kind==="pin"&&u.id===S.id?{...u,label:f.target.value}:u)),onKeyDown:f=>{(f.key==="Enter"||f.key==="Escape")&&j()}}),ct("button",{"aria-label":r("markupRemovePin"),title:r("markupRemovePin"),onClick:()=>ue(S.id),children:"\xD7"})]})]}):ct("div",{className:"hsk-markup-loading",children:r("markupLoading")})}),xr("div",{className:"hsk-markup-tools",children:[xr("button",{className:`hsk-markup-tool${o==="pin"?" hsk-markup-tool--on":""}`,onClick:()=>l("pin"),children:[xr("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:[ct("path",{d:"M20 10c0 6-8 12-8 12S4 16 4 10a8 8 0 1 1 16 0Z"}),ct("circle",{cx:"12",cy:"10",r:"3"})]}),r("markupPin")]}),ct("button",{className:`hsk-markup-tool${o==="select"?" hsk-markup-tool--on":""}`,onClick:()=>{m(null),l("select")},children:r("markupSelect")}),ct("button",{className:"hsk-markup-tool",disabled:b.closed||b.points.length<3,onClick:()=>N({...b,closed:!0}),children:r("markupCloseOutline")}),ct("button",{className:`hsk-markup-tool${o==="pen"?" hsk-markup-tool--on":""}`,onClick:()=>{m(null),l("pen")},children:r("markupSketch")}),ct("button",{className:`hsk-markup-tool${o==="eraser"?" hsk-markup-tool--on":""}`,onClick:()=>{m(null),l("eraser")},children:r("markupEraser")}),ct("button",{className:"hsk-markup-tool",onClick:()=>T?g(f=>f.length>1?f.slice(0,-1):f):F(f=>f.slice(0,-1)),disabled:T?v.length<2:z.length===0,children:r("markupUndo")}),ct("button",{className:"hsk-markup-tool",onClick:()=>{F([]),m(null),g([{points:[],closed:!1}]),l("pin")},disabled:z.length===0&&!b.points.length,children:r("markupClear")}),ct("button",{className:"hsk-markup-go",onClick:I,disabled:!R,children:r("markupSend")})]}),C&&ct("div",{className:"hsk-markup-error",children:r("markupError")})]})}import eh,{useEffect as to,useRef as nr,useState as th}from"react";import{jsx as Zn}from"react/jsx-runtime";function Ws(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 dn(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 Fs=e=>e*e*(3-2*e);function rh(e){let t=new Float32Array(65536);for(let a=0;a<t.length;a++)t[a]=e();let r=(a,s)=>t[(s&255)*256+(a&255)];return(a,s)=>{let i=Math.floor(a),c=Math.floor(s),o=Fs(a-i),l=Fs(s-c),h=r(i,c),p=r(i+1,c),m=r(i,c+1),d=r(i+1,c+1);return(h+(p-h)*o)*(1-l)+(m+(d-m)*o)*l}}function nh(e,n,t,r){let a=t/Math.SQRT2,s=Math.ceil(e/a),i=Math.ceil(n/a),c=new Int32Array(s*i).fill(-1),o=[],l=[],h=(m,d)=>{let v=o.length;o.push([m,d]),c[Math.floor(d/a)*s+Math.floor(m/a)]=v,l.push(v)},p=(m,d)=>{if(m<0||d<0||m>=e||d>=n)return!1;let v=Math.floor(m/a),g=Math.floor(d/a);for(let b=Math.max(g-2,0);b<=Math.min(g+2,i-1);b++)for(let E=Math.max(v-2,0);E<=Math.min(v+2,s-1);E++){let k=c[b*s+E];if(k<0)continue;let N=o[k][0]-m,T=o[k][1]-d;if(N*N+T*T<t*t)return!1}return!0};for(h(r()*e,r()*n);l.length;){let m=r()*l.length|0,[d,v]=o[l[m]],g=!1;for(let b=0;b<24;b++){let E=r()*Math.PI*2,k=t*(1+r()),N=d+Math.cos(E)*k,T=v+Math.sin(E)*k;if(p(N,T)){h(N,T),g=!0;break}}g||l.splice(m,1)}return o}var ot=(e,n)=>(e()-.5)*n,Qa=[(e,n,t)=>{let r=n*.5,a=n*(.14+t()*.04),s=n*.07;e.beginPath(),e.moveTo(-a-s*.6,-r),e.lineTo(a+s*.6,-r),e.moveTo(-a,-r+s),e.lineTo(a,-r+s),e.moveTo(-a,-r+s),e.lineTo(-a*.85,r-s),e.moveTo(a,-r+s),e.lineTo(a*.85,r-s),e.moveTo(0,-r+s*1.7),e.lineTo(0,r-s*1.7),e.moveTo(-a,r-s),e.lineTo(a,r-s),e.moveTo(-a-s*.6,r),e.lineTo(a+s*.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 s of[-.62,-.21,.21,.62])e.moveTo(r*s,a+r*.16),e.lineTo(r*s,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 s=0;s<a;s++){let i=.16+s/a*.8,c=-r*.9+i*r*1.8,o=r*.52-i*r*1.16+(1-i)*i*r*.3,l=s%2?1:-1,h=r*(.26+t()*.1);e.beginPath(),e.moveTo(c,o),e.quadraticCurveTo(c+h*.5,o+l*h*.66,c+h*.9,o+l*h*.08),e.quadraticCurveTo(c+h*.42,o+l*h*.04,c,o),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[s,i]of a)e.beginPath(),e.moveTo(s,i-r*.28),e.lineTo(s-r*.02,i-r*.16),e.stroke(),e.beginPath(),e.ellipse(s,i,r*(.15+t()*.04),r*.19,ot(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 s=0;s<5;s++){let i=-1.05+s/4*2.1,c=Math.sin(i)*a*r*.72,o=Math.cos(i)*r*.72,l=r*(.2+t()*.08);e.beginPath(),e.moveTo(c,o),e.quadraticCurveTo(c+a*l*.9,o-l*.5,c+a*l*.6,o-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 s=0;s<8;s++){let i=a+s/8*Math.PI*2;e.beginPath(),e.moveTo(Math.cos(i)*r*.6,Math.sin(i)*r*.6),e.lineTo(Math.cos(i)*r*.94,Math.sin(i)*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()}],Ds=[(e,n,t)=>{let r=n*.5,a=-r+ot(t,r*.3),s=ot(t,r);e.beginPath(),e.moveTo(a,s);let i=4+(t()*4|0);for(let c=0;c<i;c++){let o=a+r*2/i+ot(t,r*.5),l=ot(t,r*1.5);e.quadraticCurveTo(a+ot(t,r*.9),s+ot(t,r*1.6),o,l),a=o,s=l}e.stroke()},(e,n,t)=>{let r=n*.5,a=2.2+t()*1.6,s=t()<.5?-1:1;e.beginPath();for(let i=0;i<=60;i++){let c=i/60,o=s*c*a*Math.PI*2,l=r*c*(.9+ot(t,.06)),h=Math.cos(o)*l,p=Math.sin(o)*l;i===0?e.moveTo(h,p):e.lineTo(h,p)}e.stroke()},(e,n,t)=>{let r=n*.5,a=4+(t()*4|0),s=ot(t,.7);for(let i=0;i<a;i++){let c=-r+i/(a-1)*r*2+ot(t,r*.16),o=r*(.7+t()*.6);e.beginPath(),e.moveTo(c-s*o*.5,-o*.5),e.quadraticCurveTo(c+ot(t,r*.2),0,c+s*o*.5,o*.5),e.stroke()}},(e,n,t)=>{let r=n*.5,a=2+(t()*3|0),s=r*2/a;e.beginPath(),e.moveTo(-r,r*.4);for(let i=0;i<a;i++){let c=-r+i*s,o=s*(.42+t()*.18);e.bezierCurveTo(c+o*.2,r*.4-o*2.1,c+s-o*.2,r*.4-o*2.1,c+s,r*.4+ot(t,r*.14))}e.stroke()}],Hs=[(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(ot(t,n*.04),ot(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,ot(t,n*.08)),e.quadraticCurveTo(0,ot(t,n*.16),r,ot(t,n*.08)),e.stroke()}],ah={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,s=r/10*Math.PI*2-Math.PI/2,i=Math.cos(s)*a,c=Math.sin(s)*a;r===0?e.moveTo(i,c):e.lineTo(i,c)}e.closePath(),e.stroke()}},Bs=e=>{let n=e.split(",").map(t=>parseFloat(t.trim()));return[n[0]||0,n[1]||0,n[2]||0]};function Ja(e,n,t){let r=Bs(e),a=Bs(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 Za=new Set,eo=new Set;function ro(){for(let e of eo)e()}function Os(e){Za.forEach(n=>n(e))}var oh=83,qs=[{k:.45,hop:1},{k:1.15,hop:.55},{k:.95,hop:.12},{k:1,hop:0}],$s=7,sh=.28;function ih(e,n,t){return`hsl(${Math.round(n*300%360)}, ${t?72:68}%, ${t?58:46}%)`}function Gs(e,n,t,r,a,s,i,c=n){let o=i?ah[i]:void 0,l=dn(a),h=rh(dn(a^2654435769)),p=e*n,d=Math.max(40,Math.min(520,Math.round(p/3100)))/.48,v=Math.max(26,Math.sqrt(.7*p/d)),g=nh(e,n,v,l),b=4.4/Math.max(e,n),E=b*2.6,k=Math.hypot(e,n),N=l()*Math.PI*2,T=Math.cos(N),z=Math.sin(N),F=e*(.18+l()*.64),C=n*(.12+l()*.5),$=[],Z=Math.hypot(e,n)||1,A=dn(a^1540483477),D=s?e:0,Y=Math.hypot(e,c)||1,[H,V,fe]=t.split(",").map(j=>parseFloat(j)||0),ue=.2126*H+.7152*V+.0722*fe>128;for(let[j,re]of g){let O=h(j*b,re*b)*.72+h(j*E,re*E)*.28,P=Math.min(1,Math.max(0,(O-.26)/.44));if(l()>P*P*(3-2*P))continue;let X=l(),S=Math.max(0,1-Math.hypot(j-F,re-C)/(k*.72))**1.6,R=((j-e/2)*T+(re-n/2)*z)/k+.5,I=!ue,f=((I?.055:.028)+l()*(I?.04:.025))*(.75+R*.55)*(1+S*.4),M=Ja(t,r,S*.85),u=((s?e-j:j)+n-re)/(e+n||1),te=l()*16777215|0,B=ih(te,u,ue),_=0,w=I?1.05+l()*.35:.65+l()*.35,y=20,L=Qa[0],q=1;X<.5?(_=ot(l,.16),w=I?1.15+l()*.45:.7+l()*.35,y=20+l()*16,L=Qa[l()*Qa.length|0]):X<.82?(_=l()*Math.PI*2,w=I?.95+l()*.4:.6+l()*.4,y=16+l()*20,L=Ds[l()*Ds.length|0]):X<.95||!o?(_=l()*Math.PI*2,w=I?.85+l()*.35:.55+l()*.35,y=7+l()*7,L=Hs[l()*Hs.length|0]):(_=ot(l,.3),w=I?1.1+l()*.3:.75+l()*.3,y=15+l()*9,L=o,q=2.6),$.push({x:j,y:re,roll:X,rotation:_,lineWidth:w,alpha:f*q,baseColor:M,shimmerColor:B,drawFn:L,size:y,seed:te,normDist:u,bloom:Math.min(1,Math.hypot(j-D,re-c)/Y)*.62+A()*.08,glow:ue?.2:.06,ux:(j-D)/(Math.hypot(j-D,re-c)||1),uy:(re-c)/(Math.hypot(j-D,re-c)||1)})}return $}var ch=.3;function lh(e){return 1+(1.2+1)*(e-1)**3+1.2*(e-1)**2}function vr(e,n,t,r,a,s=1,i){e.clearRect(0,0,t,r),e.lineCap="round",e.lineJoin="round";let c=a>=0&&a<=1.4,o=c?a*1.4-.2:-999,l=.3;for(let h of n){let p=h.alpha,m=h.baseColor,d=h.lineWidth,v=1,g=0,b=0;if(i!==void 0){let k=Math.min(1,Math.max(0,(i-h.bloom)/ch));if(k<=0)continue;let N=1-(1-k)**3,T=Math.sin(k*Math.PI)**2;p=h.alpha*N+T*h.glow,m=Ja(h.baseColor,h.shimmerColor,T*(h.glow>.1?.85:.55)),d=h.lineWidth*(1+T*.35),v=.86+.14*lh(k),g=-h.ux*(1-N)*9,b=-h.uy*(1-N)*9}else if(c){let k=h.normDist-o;if(k>l)p=h.alpha*.45,m=h.baseColor,d=h.lineWidth;else if(k<-l)p=h.alpha,m=h.baseColor,d=h.lineWidth;else{let N=Math.cos(k/l*(Math.PI/2))**2;p=h.alpha+N*.08,m=N>.08?Ja(h.baseColor,h.shimmerColor,N*.65):h.baseColor,d=h.lineWidth*(1+N*.2)}}e.save(),e.translate(h.x+(h.dx??0)+g,h.y+(h.dy??0)+b),e.rotate(h.rotation+(h.dr??0)),v!==1&&e.scale(v,v),h.hop&&(e.scale(1+h.hop,1+h.hop),p*=1+h.hop*2),e.globalAlpha=Math.min(p*s,1),e.strokeStyle=m,e.fillStyle=m,e.lineWidth=d;let E=dn(h.seed);h.drawFn(e,h.size,E),e.restore()}}var hh=eh.memo(function({seed:n="",theme:t,dir:r,waitForContent:a=!1}){let s=nr(null),i=nr(!1),c=nr(0),o=nr(null),l=nr(0),h=nr(0),p=nr(a);return to(()=>{let m=s.current;if(!m)return;let d=Ws(n||"kiku"),v=0,g=(A,D,Y,H)=>V=>{let fe=V-A,ue=Math.min(1,fe/D),j=m.clientWidth,re=m.clientHeight;if(j&&re){let O=Math.min(window.devicePixelRatio||1,3),P=Math.round(j*O),X=Math.round(re*O);(m.width!==P||m.height!==X)&&(m.width=P,m.height=X);let S=m.getContext("2d");S&&(S.setTransform(O,0,0,O,0,0),vr(S,Y,j,re,-1,1,ue))}if(ue<1)c.current=requestAnimationFrame(g(A,D,Y,H));else{i.current=!1;let O=m.clientWidth,P=m.clientHeight,X=m.getContext("2d");if(X&&O&&P){let S=Math.min(window.devicePixelRatio||1,3);X.setTransform(S,0,0,S,0,0),vr(X,Y,O,P,-1)}}},b=()=>{let A=m.clientWidth,D=m.clientHeight;if(!A||!D)return;let Y=Math.min(window.devicePixelRatio||1,3),H=m.getContext("2d");if(!H)return;let V=getComputedStyle(m),fe=V.getPropertyValue("--hsk-doodle-ink").trim()||"31,31,31",ue=V.getPropertyValue("--hsk-doodle-tint").trim()||fe,j=r==="rtl"||V.direction==="rtl"||m.closest('[dir="rtl"]')!==null,re=typeof window<"u"?Math.max(D,window.innerHeight||0):D,O=Gs(A,re,fe,ue,d,j,t,D);o.current=O,l.current=A,h.current=re;let P=Math.round(A*Y),X=Math.round(D*Y);if((m.width!==P||m.height!==X)&&(m.width=P,m.height=X),H.setTransform(Y,0,0,Y,0,0),p.current){H.clearRect(0,0,A,D);return}if(window.matchMedia?.("(prefers-reduced-motion: reduce)")?.matches){vr(H,O,A,D,-1);return}cancelAnimationFrame(c.current),i.current=!0;let R=1500,I=performance.now();c.current=requestAnimationFrame(g(I,R,O,j))},E=()=>{let A=o.current,D=m.clientWidth,Y=m.clientHeight;if(A&&D===l.current&&Y<=h.current){if(i.current||p.current||!Y)return;let H=m.getContext("2d");if(!H)return;let V=Math.min(window.devicePixelRatio||1,3);m.width=Math.round(D*V),m.height=Math.round(Y*V),H.setTransform(V,0,0,V,0,0),vr(H,A,D,Y,-1);return}clearTimeout(v),v=window.setTimeout(b,20)};b();let k=()=>{p.current&&(p.current=!1,b())};eo.add(k);let N=p.current?window.setTimeout(k,2e3):0,T=new ResizeObserver(E);T.observe(m);let z=window.matchMedia?.("(prefers-color-scheme: dark)"),F=()=>{b()};z?.addEventListener?.("change",F);let C=0,$=()=>{let A=o.current,D=m.getContext("2d"),Y=m.clientWidth,H=m.clientHeight;if(!A||!D||!Y||!H)return;let V=Math.min(window.devicePixelRatio||1,3);D.setTransform(V,0,0,V,0,0),vr(D,A,Y,H,-1)},Z=({x:A,y:D,strength:Y})=>{let H=o.current;if(!H||window.matchMedia?.("(prefers-reduced-motion: reduce)")?.matches)return;cancelAnimationFrame(c.current),i.current=!1,clearTimeout(C);let V=m.getBoundingClientRect(),fe=A-V.left,ue=D-V.top,j=dn(performance.now()*997|0),re=(S,R)=>Math.max(-R,Math.min(R,S)),O=H.map(S=>{let R=S.dx??0,I=S.dy??0,G=S.dr??0,f=S.x-fe,M=S.y-ue,u=Math.hypot(f,M)||1,te=Y*(.18+.82*Math.exp(-u/220)),B=te*(.6+j()*1.8),_=re(R+f/u*B+(j()-.5)*te*2,$s),w=re(I+M/u*B+(j()-.5)*te*2,$s),y=re(G+(j()-.5)*te*.12,sh);return{g:S,fx:R,fy:I,fr:G,tx:_,ty:w,tr:y,lift:te*.09}}),P=0,X=()=>{let S=qs[P];for(let R of O)R.g.dx=R.fx+(R.tx-R.fx)*S.k,R.g.dy=R.fy+(R.ty-R.fy)*S.k,R.g.dr=R.fr+(R.tr-R.fr)*S.k,R.g.hop=R.lift*S.hop;$(),++P<qs.length&&(C=window.setTimeout(X,oh))};X()};return Za.add(Z),()=>{Za.delete(Z),eo.delete(k),clearTimeout(N),clearTimeout(C),clearTimeout(v),cancelAnimationFrame(c.current),i.current=!1,T.disconnect(),z?.removeEventListener?.("change",F)}},[n,t,r]),Zn("canvas",{className:"hsk-cb-doodles",ref:s,"aria-hidden":"true"})}),pn=3,Us=1800;function ph({seed:e="",theme:n,alphaScale:t=1.8,weight:r=.6}){let a=nr(null);return to(()=>{let s=a.current,i=s?.getContext("2d");if(!s||!i)return;let c=0,o=()=>{let h=s.clientWidth,p=s.clientHeight,m=Math.min(window.devicePixelRatio||1,3);s.width=Math.round(h*m),s.height=Math.round(p*m);let d=getComputedStyle(s),v=d.getPropertyValue("--hsk-doodle-ink").trim()||"31,31,31",g=d.getPropertyValue("--hsk-doodle-tint").trim()||v,b=h*pn,E=p*pn,k=Gs(b,E,v,g,Ws(e||"kiku"),!1,n);for(let z of k)z.lineWidth*=pn*r;if(i.setTransform(m/pn,0,0,m/pn,0,0),window.matchMedia?.("(prefers-reduced-motion: reduce)")?.matches){vr(i,k,b,E,-1,t);return}let N=performance.now(),T=z=>{let F=(z-N)%(Us*2)/Us,C=F<1?F:2-F;vr(i,k,b,E,(1-Math.cos(C*Math.PI))/2*1.4,t),c=requestAnimationFrame(T)};c=requestAnimationFrame(T)},l=new ResizeObserver(()=>{c||!s.clientWidth||!s.clientHeight||(l.disconnect(),o())});return l.observe(s),()=>{l.disconnect(),cancelAnimationFrame(c)}},[e,n,t,r]),Zn("canvas",{className:"hsk-doodle-shimmer",ref:a,"aria-hidden":"true"})}var dh=300;function _r({active:e,seed:n,theme:t}){let[r,a]=th(e);return to(()=>{if(e){a(!0);return}let s=setTimeout(()=>a(!1),dh);return()=>clearTimeout(s)},[e]),r?Zn("span",{className:`hsk-working-veil${e?"":" is-leaving"}`,"aria-hidden":"true",children:Zn(ph,{seed:n,theme:t,alphaScale:18,weight:1.15})}):null}var ea=hh;import Ks from"react";var ra=[],na=[{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 un(e,n){if(!e)return;let t=e.trim();if(!t)return;let r=t.toLowerCase(),a=na.find(c=>c.value.toLowerCase()===r||c.native.toLowerCase()===r||c.tag===r);if(a)return a.native;if(ta[r]?.endonym)return ta[r].endonym;let s=Object.values(ta).find(c=>c.endonym?.toLowerCase()===r);if(s?.endonym)return s.endonym;let i=n||(r.length<=3?r:void 0);if(i&&typeof Intl<"u"&&Intl.DisplayNames)try{let o=new Intl.DisplayNames([i],{type:"language"}).of(i);if(o&&o.toLowerCase()!==i.toLowerCase())return o}catch{}return t}function Ys(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 ta={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 js(e){let n=e.trim();return n?n.charAt(0).toUpperCase()+n.slice(1):"\u2026"}function yr(e){if(!e)return{nativeName:"\u2026",preparing:"Preparing\u2026",changeLang:"\u2190",rtl:!1,known:!0};let n=e.trim().toLowerCase(),t=Object.entries(ta).find(([i,c])=>i===n||c.endonym?.toLowerCase()===n||un(i)?.toLowerCase()===n);if(t)return{nativeName:t[1].endonym||un(e)||js(e),preparing:t[1].preparing,changeLang:t[1].changeLang,rtl:!!t[1].rtl||Ys(t[1].preparing),known:!0};let r=un(e)||e,a=js(r),s=Ys(a);return{nativeName:a,preparing:`Preparing in ${a}\u2026`,changeLang:s?"\u062A\u063A\u064A\u064A\u0631":"Change",rtl:s,known:!1}}var mn=[{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"}],no="hsk-live-voice",ar={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"},xt={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:"Stay",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"},ao=Ks.createContext((e,n)=>{let t=xt[e];if(n)for(let[r,a]of Object.entries(n))t=t.split(`{${r}}`).join(a);return t}),or=()=>Ks.useContext(ao);function Xs(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(i=>r.includes(i)))return null;let s=t[0];return s.charAt(0).toUpperCase()+s.slice(1)}var Vs={shopper_reply_limit:"errShopperReplyLimit",RATE_LIMIT_EXCEEDED:"errShopperReplyLimit",access_revoked:"errAccessRevoked",account_required:"errAccountRequired",stream_interrupted:"errStreamInterrupted"};var Qs=(e,n)=>{let t=e&&typeof e=="object"?e.code:void 0;if(t&&Vs[t])return n(Vs[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")},Js=()=>typeof window>"u"||window.isSecureContext!==!1,oo=15;var Zs=new WeakMap,ei=new WeakMap;function ti(e){return e?ei.get(e)??null:null}function so(e){if(!e)return Promise.resolve(null);let n=Zs.get(e);if(n)return n;let t=Promise.resolve().then(()=>e.baseFont?.()??null).then(r=>(r&&(ei.set(e,r),Tt(r,0).catch(()=>{})),r)).catch(()=>null);return Zs.set(e,t),t}function uh(e,n,t){e&&(so(e),n&&aa(e,n,t))}function aa(e,n,t){if(!(!e||!n))try{e.getUIStrings?.(n,t)?.then?.(r=>{r?.font&&Tt(r.font,1200).catch(()=>{})})?.catch?.(()=>{})}catch{}}import bn,{useState as Lt,useEffect as io,useCallback as ri}from"react";import{useAkropolysContext as mh}from"@akropolys/sdk";import{jsx as oi}from"react/jsx-runtime";var bh={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 Fr(e){let n=e?bh[e.trim().toLowerCase()]:void 0;return n?{dir:n==="ar"||n==="ur"||n==="fa"?"rtl":"ltr",bcp47:n}:null}function kh(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 ni=5e3,ai=[5e3,15e3,45e3,12e4];function si({shopperLanguage:e,theme:n,preloadedStrings:t}){let r=mh(),a=e?r?.getCachedUIStrings?.(e,xt)??r?.getCachedUIStrings?.(e,ar):null,s=t&&Object.keys(t).length>0?t:a?.strings??{},[i,c]=Lt(()=>s),[o,l]=Lt(()=>!e||t&&Object.keys(t).length>0||!!a?.complete),[h,p]=Lt(()=>t&&Object.keys(t).length>0||a?.complete?e:!e||Fr(e)?.bcp47==="en"?e||"en":""),m=!e||Fr(e)?.bcp47==="en",d=i;t&&Object.keys(t).length>0&&(d={...i,...t});let v=e?`akropolys_ui_dir_${e.toLowerCase()}`:"",[g,b]=Lt(()=>{if(a?.dir)return a.dir==="rtl";let S=Fr(e);if(S)return S.dir==="rtl";if(yr(e)?.rtl)return!0;if(typeof window>"u"||!v)return!1;try{return localStorage.getItem(v)==="rtl"}catch{return!1}}),[E,k]=Lt(()=>a?.bcp47||Fr(e)?.bcp47||""),[N,T]=Lt(()=>a?.font??null),[z,F]=Lt(()=>ti(r)),[C,$]=Lt(!0),[Z,A]=Lt(!1),D=bn.useRef(e),[Y,H]=Lt(e);if(e!==Y){H(e);let S=Fr(e);S&&(b(S.dir==="rtl"),k(S.bcp47));let R=e?r?.getCachedUIStrings?.(e,xt)??r?.getCachedUIStrings?.(e,ar):null,I=t&&Object.keys(t).length>0?t:R?.strings;I&&Object.keys(I).length>0&&(c(I),d=I,R&&(R.font&&T(R.font),R.dir&&b(R.dir==="rtl"),R.bcp47&&k(R.bcp47)),R?.font&&Tt(R.font),A(!Wa([R?.font?.family,z?.family].filter(G=>!!G),I)),p(e),l(!0))}let V=m||!Z&&(h.toLowerCase()===e.toLowerCase()&&o||Object.keys(d).length>0);io(()=>{if(!e){k(""),T(null),c({}),p(""),l(!0),b(!1);return}let S=Fr(e),R=yr(e),I=S?.bcp47==="en",G=!1,f=(B,_)=>{let w=[B?.family,z?.family].filter(y=>!!y);if(e===D.current||Wa(w,_)){A(!1);return}A(!0),Oa(w,_,ni).then(()=>{G||A(!1)})},M=r?.getCachedUIStrings?.(e,xt);if(M?.strings&&Object.keys(M.strings).length>0)return c(M.strings),b(M.dir==="rtl"),k(M.bcp47||S?.bcp47||""),M.font&&(Tt(M.font),T(M.font)),f(M.font,M.strings),p(e),l(!0),()=>{G=!0};let u=r?.getCachedUIStrings?.(e,ar);u?.strings&&Object.keys(u.strings).length>0?(c(u.strings),b(u.dir==="rtl"),k(u.bcp47||S?.bcp47||""),u.font&&(Tt(u.font),T(u.font)),f(u.font,u.strings),p(e),l(!0)):(A(!1),c({}),S?(b(S.dir==="rtl"),k(S.bcp47)):R?.rtl&&b(!0),I||l(!1));let te=async()=>{let B=!!u?.strings;try{if(!u?.strings){let w=await r.getUIStrings?.(e,ar);if(!G&&w?.complete){B=!0,A(!0),c(L=>({...L,...w.strings})),b(w.dir==="rtl"),k(w.bcp47||S?.bcp47||"");try{localStorage.setItem(v,w.dir)}catch{}w.font&&Tt(w.font);let y=[w.font?.family,z?.family].filter(L=>!!L);await Oa(y,w.strings,ni),G||(w.font&&T(w.font),p(e),l(!0),A(!1))}}let _=await r.getUIStrings?.(e,xt);!G&&_?.complete&&(B=!0,c(w=>({...w,..._.strings})),_.font&&(await Tt(_.font,1200),G||T(_.font)))}catch{return!1}return B};return(async()=>{for(let B=0;!G&&!await te();B++){let _=ai[Math.min(B,ai.length-1)];await new Promise(w=>window.setTimeout(w,_))}})(),()=>{G=!0}},[e,r,v]),io(()=>{let S=!1;return(async()=>{try{let R=await so(r);!S&&R&&F(R)}catch{}S||$(!0)})(),()=>{S=!0}},[r]),Ua(N),Ua(z);let fe=bn.useMemo(()=>{let R=(typeof n=="object"&&n?.fontFamily?n.fontFamily:"").split(",")[0].trim(),I=/^var\(/i.test(R),G=R.replace(/^['"]|['"]$/g,""),f=I?kh(R):"",M=I?f?`${f}, `:"":G?`"${G}", `:"";if(N)return`"${N.family}", ${M}"Geist", system-ui, sans-serif`;let u=e?e.trim().toLowerCase():"";if(u==="japanese"||u==="ja"||u==="\u65E5\u672C\u8A9E")return`${M}"Geist", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", system-ui, sans-serif`;if(u==="chinese"||u==="zh"||u==="\u4E2D\u6587")return`${M}"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", ${M}"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", ${M}"Geist", system-ui, sans-serif`;if(u==="hindi"||u==="hi"||u==="\u0939\u093F\u0928\u094D\u0926\u0940")return`"Hind", ${M}"Geist", system-ui, sans-serif`},[N,e,typeof n=="object"&&n?n.fontFamily:void 0]),ue=bn.useMemo(()=>{let S=0,R=0;for(let I of Object.values(i))for(let G of I){let f=G.codePointAt(0)??0;f<192||/\p{L}/u.test(G)&&(f<=591?S++:R++)}return R>S},[i]),[j,re]=Lt(0);io(()=>{if(typeof document>"u"||!document.fonts?.ready)return;let S=!0;return document.fonts.ready.then(()=>{S&&re(R=>R+1)}),()=>{S=!1}},[N]);let O=bn.useMemo(()=>{if(!ue||typeof document>"u")return!0;let R=(typeof n=="object"&&n?.fontFamily?n.fontFamily:"").split(",")[0].trim();if(!R)return!1;let I="";for(let f of Object.values(i))if(f){I=f;break}if(!I)return!0;let G=I.replace(/\s+/g,"");if(!G)return!0;try{let M=document.createElement("canvas").getContext("2d");if(!M)return!0;let u=R.startsWith("var(")&&getComputedStyle(document.documentElement).getPropertyValue(R.slice(4,-1).trim()).trim()||R;M.font=`16px ${u}, __akropolys_nonexistent_font__`;let te=M.measureText(G).width;M.font="16px __akropolys_nonexistent_font__";let B=M.measureText(G).width;return Math.abs(te-B)>1}catch{return!0}},[ue,i,typeof n=="object"&&n?n.fontFamily:void 0,j]),P=ri((S,R)=>{let I=d[S]||i[S]||xt[S]||S;if(R)for(let[G,f]of Object.entries(R))I=I.split(`{${G}}`).join(f);return I},[d,i]),X=ri((S,R)=>(d[S]||i[S]||xt[S]||S).split(/(\{[a-zA-Z]+\})/g).map((G,f)=>{let M=G.match(/^\{([a-zA-Z]+)\}$/);return M&&R?.[M[1]]!==void 0?oi("bdi",{children:R[M[1]]},f):oi(bn.Fragment,{children:G},f)}),[d,i]);return{chromeStrings:i,chromeReady:V,isRTL:g,speechLang:E,scriptFont:N,fontStack:fe,isNonLatin:ue,hostFontCovers:O,baseFontReady:C,t:P,tNode:X}}import{useState as Dr,useRef as Qe,useEffect as oa,useLayoutEffect as fh,useCallback as Ut}from"react";function ii({messages:e,loading:n,streaming:t,messageRefs:r}){let a=Qe(null),s=Qe(0),[i,c]=Dr(!1),[o,l]=Dr(1),[h,p]=Dr(0),m=Qe(()=>{}),d=Qe(null),v=Qe(!1),g=Qe(!0),b=Qe(!1),E=Qe(null),k=Qe(null),N=Qe(e.length),T=Qe(!1),z=Qe(()=>{}),F=Qe(()=>{}),C=Qe(null),$=Qe(()=>{}),[Z,A]=Dr(0),D=Qe(0),Y=Qe(""),H=Qe(()=>{}),V=Qe(()=>{});oa(()=>{let w=a.current;if(!w)return;let y,L=()=>{clearTimeout(y),y=setTimeout(()=>{v.current=!1},150)},q=()=>{clearTimeout(y),v.current=!0,H.current()},ne=()=>{v.current&&L()};return w.addEventListener("touchstart",q,{passive:!0}),w.addEventListener("touchend",L,{passive:!0}),w.addEventListener("touchcancel",L,{passive:!0}),w.addEventListener("scroll",ne,{passive:!0}),()=>{clearTimeout(y),w.removeEventListener("touchstart",q),w.removeEventListener("touchend",L),w.removeEventListener("touchcancel",L),w.removeEventListener("scroll",ne)}},[]),oa(()=>{let w=a.current;if(!w)return;let y=160,L=8,q=0,ne=()=>{q=0;let se=E.current?.offsetHeight??0,W=w.scrollHeight-se-w.scrollTop-w.clientHeight,K=performance.now()-s.current<400;W<=L&&(!b.current||K)&&(g.current||V.current(),g.current=!0,b.current=!1,X.current()),c(W>y&&!g.current);let ge=w.scrollHeight-w.clientHeight;l(ge>8?Math.min(1,Math.max(0,w.scrollTop/ge)):1);let Pe=w.scrollTop+w.clientHeight*.33,be=0;for(let Le=0;Le<r.current.length;Le++){let _e=r.current[Le];_e&&_e.offsetTop<=Pe&&(be=Le)}p(be)},de=()=>{q||(q=requestAnimationFrame(ne))};ne(),w.addEventListener("scroll",de,{passive:!0});let ce=new ResizeObserver(()=>{k.current?z.current("sync"):g.current&&!v.current&&F.current(),de()});ce.observe(w);for(let se of r.current)se&&ce.observe(se);return()=>{q&&cancelAnimationFrame(q),w.removeEventListener("scroll",de),ce.disconnect()}},[e.length,r]);let fe=Ut(w=>{let y=`${w}:${D.current}`;Y.current!==y&&(Y.current=y,A(L=>L+1))},[]),[ue,j]=Dr(!1),re=Qe(!1),O=Ut(()=>{re.current||(re.current=!0,j(!0))},[]),P=Ut(()=>{re.current&&(re.current=!1,j(!1))},[]),X=Qe(()=>{});X.current=P;let[S,R]=Dr(!1),I=Qe(!1),G=Qe(0),f=Ut(()=>{I.current=!1,R(!1)},[]),M=Ut(()=>{Y.current="",f(),P()},[f,P]),u=Ut(()=>{I.current&&(performance.now()-G.current<700||f())},[f]);H.current=u,V.current=M,oa(()=>{if(Z===0)return;I.current=!0,G.current=performance.now(),R(!0);let w=setTimeout(f,4200);return()=>clearTimeout(w)},[Z,f]);let te=Ut(()=>{T.current=!1,k.current&&(k.current=null,E.current&&(E.current.style.height=""))},[]);$.current=te,F.current=()=>{let w=a.current;if(!w)return;let y=w.scrollHeight-w.clientHeight;C.current?C.current(y):w.scrollTop=y},z.current=w=>{let y=a.current,L=E.current,q=k.current,ne=K=>{let ge=w==="sync"?C.current:d.current;ge?ge(K):y&&(y.scrollTop=K)},de=F.current;if(!y||!L||!q||!q.isConnected){te(),g.current&&de();return}let ce=parseFloat(getComputedStyle(y).paddingTop)||0;L.offsetHeight<y.clientHeight&&(L.style.height=`${y.clientHeight}px`);let se=Math.max(0,q.offsetTop-ce),W=se+y.clientHeight-(y.scrollHeight-L.offsetHeight);if(W<=0){te(),g.current=!1,b.current=!0,ne(se);return}W!==L.offsetHeight&&(L.style.height=`${W}px`),ne(se)};let B=Ut(w=>{let y=a.current,L=r.current[w];if(!y||!L)return;let q=L.offsetTop-Math.max(0,(y.clientHeight-L.clientHeight)/2),ne=Math.max(0,Math.min(y.scrollHeight-y.clientHeight,q));d.current?d.current(ne):y.scrollTo({top:ne,behavior:"smooth"})},[r]),_=Ut(()=>{let w=a.current;if(!w)return;g.current=!0,b.current=!1,$.current(),V.current();let y=w.scrollHeight-w.clientHeight;d.current?d.current(y):w.scrollTo({top:y,behavior:"smooth"})},[]);return fh(()=>{let w=a.current;if(!w)return;let y=e.slice(N.current);if(N.current=e.length,y.some(q=>q.role==="user")&&(g.current=!0,b.current=!1,V.current(),k.current=null,T.current=!0),T.current){T.current=!1;for(let q=r.current.length-1;q>=0;q--){let ne=r.current[q];if(ne?.dataset.hskRole==="user"){k.current=ne;break}}if(k.current){z.current("glide");return}}if(k.current){z.current("glide");return}let L=w.scrollTop;if(!g.current)b.current||(O(),fe(e.length));else if(!v.current){F.current();return}w.scrollTop!==L&&m.current()},[e,n,t,r,fe,O]),oa(()=>{let w=a.current;if(!w||typeof window<"u"&&window.matchMedia?.("(prefers-reduced-motion: reduce)").matches)return;let y=7,L=16,q=1/(window.devicePixelRatio||1),ne=ke=>Math.round(ke/q)*q,de=w.scrollTop,ce=w.scrollTop,se=w.scrollTop,W=0,K=null,ge=ke=>{ke!==se&&(w.scrollTop=ke,se=w.scrollTop)},Pe=()=>{K!==null&&(cancelAnimationFrame(K),K=null),w.classList.remove("hsk-scrolling"),de=ce=se=w.scrollTop};m.current=Pe,d.current=ke=>{Math.abs(w.scrollTop-se)>1&&(de=ce=se=w.scrollTop);let tt=Math.round(Math.max(0,Math.min(w.scrollHeight-w.clientHeight,ke)));tt!==de&&(de=tt,K===null&&(W=performance.now(),K=requestAnimationFrame(be)))},C.current=ke=>{let tt=Math.round(Math.max(0,Math.min(w.scrollHeight-w.clientHeight,ke)));K!==null&&(cancelAnimationFrame(K),K=null,w.classList.remove("hsk-scrolling")),w.scrollTop=tt,de=ce=se=w.scrollTop};let be=ke=>{let tt=Math.min((ke-W)/1e3,.05);if(W=ke,ce+=(de-ce)*(1-Math.exp(-y*tt)),Math.abs(de-ce)<q){ce=de,ge(Math.round(de)),w.classList.remove("hsk-scrolling"),K=null;return}ge(ne(ce)),K=requestAnimationFrame(be)},Le=ke=>{if(ke.ctrlKey)return;Math.abs(w.scrollTop-se)>1&&(de=ce=se=w.scrollTop),ke.deltaY<0&&(g.current&&(D.current+=1),g.current=!1,k.current=null),H.current();let tt=ke.deltaMode===1?L:ke.deltaMode===2?w.clientHeight:1,st=Math.max(0,w.scrollHeight-w.clientHeight),St=Math.round(Math.max(0,Math.min(st,de+ke.deltaY*tt)));if(St===de){st>0&&ke.preventDefault();return}ke.preventDefault(),de=St,K===null&&(W=performance.now(),w.classList.add("hsk-scrolling"),K=requestAnimationFrame(be))},_e=w.scrollTop,je=()=>{let ke=Math.abs(w.scrollTop-se)>1;ke&&(s.current=performance.now(),w.scrollTop<_e-1&&g.current&&(D.current+=1,g.current=!1,k.current=null)),_e=w.scrollTop,K!==null&&ke&&(cancelAnimationFrame(K),K=null,w.classList.remove("hsk-scrolling"),de=ce=se=w.scrollTop)};return w.addEventListener("wheel",Le,{passive:!1}),w.addEventListener("scroll",je,{passive:!0}),()=>{w.removeEventListener("scroll",je),w.removeEventListener("wheel",Le),K!==null&&cancelAnimationFrame(K),w.classList.remove("hsk-scrolling"),m.current=()=>{},d.current=null,C.current=null}},[]),{msgsContainerRef:a,spacerRef:E,lastExternalScrollRef:s,showJumpToBottom:i,scrollProgress:o,activeMsgIdx:h,jumpAlert:S,unreadBelow:ue,jumpToMessage:B,jumpToBottom:_,resetAlertArming:M}}import{useState as gh,useRef as Hr,useEffect as ci}from"react";var xh=450,vh=45,yh=900,wh=180;function li(e){let[n,t]=gh(e),r=Hr(e),a=Hr(e),s=Hr(0),i=Hr(0),c=Hr(0),o=Hr(null);return ci(()=>()=>{o.current!==null&&cancelAnimationFrame(o.current)},[]),ci(()=>{if(a.current=e,window.matchMedia?.("(prefers-reduced-motion: reduce)").matches||!e.startsWith(r.current)){o.current!==null&&(cancelAnimationFrame(o.current),o.current=null),r.current=e,s.current=0,i.current=0,t(e);return}if(o.current!==null||r.current.length>=e.length)return;c.current=performance.now();let h=p=>{let m=Math.min(p-c.current,50);c.current=p;let d=a.current,v=d.length-r.current.length,g=Math.min(yh,Math.max(vh,v*1e3/xh));s.current+=(g-s.current)*(1-Math.exp(-m/wh)),i.current+=s.current*m/1e3;let b=Math.floor(i.current);b>0&&(i.current-=b,r.current=d.slice(0,Math.min(d.length,r.current.length+b)),t(r.current)),r.current.length<a.current.length?o.current=requestAnimationFrame(h):(o.current=null,i.current=0)};o.current=requestAnimationFrame(h)},[e]),n}import{useState as wr,useEffect as hi,useCallback as co}from"react";import{useAkropolysContext as Ch}from"@akropolys/sdk";function pi(e,n){let t=Ch(),[r,a]=wr(""),[s,i]=wr("idle"),[c,o]=wr(null),[l,h]=wr(null),[p,m]=wr(null),[d,v]=wr(oo),[g,b]=wr(!1),E=co(async(T,z)=>{try{navigator.clipboard&&window.isSecureContext?await navigator.clipboard.writeText(T):Sh(T),m(z),setTimeout(()=>m(null),2e3)}catch{}},[]);hi(()=>{e&&e.type==="request_kiku_key"&&(i("prompt_key"),a(""))},[e]),hi(()=>{if(!c)return;v(oo);let T=setInterval(()=>{v(z=>z<=1?(clearInterval(T),o(null),h(null),0):z-1)},1e3);return()=>clearInterval(T)},[c]);let k=co(async()=>{let T=r.trim();T&&(t.setKikuPub(T),a(""),i("idle"),await n())},[t,r,n]),N=co(async()=>{if(!g){b(!0);try{let{secret:T,publicId:z}=await t.mintKikuKey();o(T),h(z),i("idle"),await n()}catch{}finally{b(!1)}}},[t,g,n]);return{keyInput:r,setKeyInput:a,keyPhase:s,setKeyPhase:i,mintedKey:c,setMintedKey:o,mintedPub:l,setMintedPub:h,copied:p,keyCountdown:d,minting:g,copyValue:E,handleUseExistingKey:k,handleCreateKey:N}}function Sh(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 sa}from"react";function di({attachments:e,setAttachments:n,setInput:t,send:r,t:a}){let s=sa(l=>{let h=l.name||"",p=`@kiku ${a("displayCapture",{name:h}).trim()}`,m=h||"capture current page";t("");let d=e;n([]),r(m,p,d.length>0?d:void 0,"capture")},[e,r,n,t,a]),i=sa(l=>{let h=l.filter(d=>d.id).map(d=>({name:d.name||"",url:d.url||"",image:d.image||""})),p=l.map(d=>d.name).filter(Boolean).join(", "),m=`@kiku ${a("displayCaptureAll",{count:String(l.length)})}`;t(""),n([]),r(p||"capture all",m,void 0,"capture_all",h)},[r,n,t,a]),c=sa(()=>{let l=`@kiku ${a("displayViewHistory")}`;t(""),n([]),r("show my saved items",l,void 0,"view_history")},[r,n,t,a]),o=sa(()=>{let l=`@kiku ${a("displayDelete")}`;t(""),n([]),r("delete this",l,void 0,"delete")},[r,n,t,a]);return{handleKikuCapture:s,handleKikuCaptureAll:i,handleKikuViewHistory:c,handleKikuDelete:o}}import{useState as Mr,useCallback as pa,useEffect as Ei,useRef as Wh}from"react";import{useAkropolysContext as Oh}from"@akropolys/sdk";var ca=null,ui=null,ia=null,kn=null,mi=!1,Cr=0;function fn(e,n=130){let t=ia;if(!t||!ca)return;let r=ca.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 bi(){if(!mi)return Cr*=.85,Cr;if(!ui||!kn)return Cr;ui.getByteTimeDomainData(kn);let e=0;for(let r=0;r<kn.length;r++){let a=(kn[r]-128)/128;e+=a*a}let n=Math.sqrt(e/kn.length),t=Math.min(1,n*3.2);return Cr+=(t-Cr)*(t>Cr?.6:.12),Cr}function ki(){if(mi=!1,ia&&ca&&(ia.gain.cancelScheduledValues(ca.currentTime),ia.gain.value=1),typeof window<"u"&&"speechSynthesis"in window)try{window.speechSynthesis.cancel()}catch{}}import{useCallback as Ft,useEffect as sr,useRef as Ue,useState as la}from"react";var Mh=1100,lo=.012,Th=320,Rh=.09,zh=.25,fi=130,Eh=700,Lh=12,Nh=48,Ih=.45,Ph=.35,Ah=.2,gi=.55;function xi({lang:e,onUtterance:n,onError:t,onBargeIn:r,silenceMs:a=Mh,paused:s=!1}){let[i,c]=la(!1),[o,l]=la(!1),[h,p]=la(""),[m,d]=la(!1),v=Ue(null),g=Ue(null),b=Ue(null),E=Ue(null),k=Ue(null),N=Ue(null),T=Ue(0),z=Ue(.008),F=Ue(0),C=Ue(0),$=Ue(""),Z=Ue(0),A=Ue(0),D=Ue(!1),Y=Ue(s),H=Ue(!1),V=Ue(!1),fe=Ue(n),ue=Ue(t),j=Ue(r);sr(()=>{fe.current=n},[n]),sr(()=>{ue.current=t},[t]),sr(()=>{j.current=r},[r]),sr(()=>{Y.current=s},[s]),sr(()=>{d(typeof window<"u"&&("SpeechRecognition"in window||"webkitSpeechRecognition"in window)&&!!navigator.mediaDevices?.getUserMedia)},[]);let re=Ft(()=>T.current,[]),O=Ft(y=>{let L=E.current;return!L||y.length!==L.frequencyBinCount?!1:(L.getByteFrequencyData(y),!0)},[]),P=Ft(()=>E.current?.frequencyBinCount??0,[]),X=Ue([]),S=Ue(null),R=Ue(!1),I=Ue(0),G=Ue(0),f=Ft(y=>{let L=E.current;if(!L)return 0;let q=X.current;q.push(y),q.length>Nh&&q.shift();let ne=0;if(q.length>=12){let _e=0;for(let je of q)_e+=je;if(_e/=q.length,_e>1e-4){let je=0;for(let ke of q)je+=(ke-_e)*(ke-_e);ne=Math.min(1,Math.sqrt(je/q.length)/_e/.6)}}let de=0;(!S.current||S.current.length!==L.frequencyBinCount)&&(S.current=new Uint8Array(L.frequencyBinCount));let ce=S.current;L.getByteFrequencyData(ce);let W=(b.current?.sampleRate??48e3)/2/ce.length,K=Math.floor(300/W),ge=Math.min(ce.length-1,Math.ceil(3400/W)),Pe=0,be=0;for(let _e=0;_e<ce.length;_e++)be+=ce[_e],_e>=K&&_e<=ge&&(Pe+=ce[_e]);be>0&&(de=Pe/be);let Le=Math.min(1,y/(z.current+lo*3));return Ih*Le+Ph*ne+Ah*de},[]),M=Ft(()=>{let y=$.current.trim();if($.current="",Z.current=A.current,p(""),l(!1),y){H.current=!1;let L=v.current;v.current=null;try{L?.stop()}catch{}fe.current(y)}},[]),u=Ft(()=>{let y=E.current,L=N.current;if(!y||!L)return;y.getByteTimeDomainData(L);let q=0;for(let K=0;K<L.length;K++){let ge=(L[K]-128)/128;q+=ge*ge}let ne=Math.sqrt(q/L.length),de=Math.min(1,ne*4);T.current+=(de-T.current)*(de>T.current?.6:.12);let ce=Date.now(),se=Y.current?bi()*Rh:0;ne>z.current+lo+se?(F.current=ce,C.current||(C.current=ce)):(C.current=0,z.current=Math.min(z.current*1.02+2e-5,Math.max(.004,ne))),Y.current?R.current?(f(ne)>gi?G.current+=1:G.current=Math.max(0,G.current-2),G.current>=Lh?(R.current=!1,G.current=0,fn(1,0),j.current?.()):ce-I.current>Eh&&(R.current=!1,G.current=0,fn(1,fi*2))):C.current&&ce-C.current>Th&&f(ne)>gi&&(C.current=0,R.current=!0,I.current=ce,G.current=0,fn(zh,fi)):$.current.trim()&&ce-F.current>a&&M(),k.current=requestAnimationFrame(u)},[M,a,f]),te=Ft(()=>{if(v.current||!D.current)return;let y=window.SpeechRecognition||window.webkitSpeechRecognition,L=new y;Z.current=0,A.current=0,L.lang=e||document.documentElement.lang||navigator.language||"en-US",L.interimResults=!0,L.maxAlternatives=1,L.continuous=!0,L.onresult=q=>{let ne="";for(let de=Z.current;de<q.results.length;de++)ne+=q.results[de][0].transcript;A.current=q.results.length,ne=ne.trim(),ne&&($.current=ne,p(ne),l(!0))},L.onerror=q=>{let ne=q?.error||"";ne==="no-speech"||ne==="aborted"||ue.current?.(ne)},L.onend=()=>{v.current=null,D.current&&H.current&&setTimeout(()=>{te()},120)},v.current=L;try{L.start()}catch{v.current=null,ue.current?.("failed-to-start")}},[e]),B=Ft(()=>{H.current=!1;let y=v.current;v.current=null;try{y?.stop()}catch{}},[]),_=Ft(()=>{D.current=!1,R.current=!1,G.current=0,X.current=[],fn(1,0),H.current=!1,c(!1),l(!1),p(""),$.current="",T.current=0;let y=v.current;v.current=null;try{y?.abort()}catch{}k.current!==null&&(cancelAnimationFrame(k.current),k.current=null),g.current?.getTracks().forEach(L=>L.stop()),g.current=null,E.current=null,b.current?.close().catch(()=>{}),b.current=null},[]),w=Ft(async()=>{if(!(D.current||!m)){D.current=!0,c(!0);try{let y=await navigator.mediaDevices.getUserMedia({audio:{echoCancellation:!0,noiseSuppression:!0,autoGainControl:!0}});g.current=y;let L=window.AudioContext||window.webkitAudioContext,q=new L;b.current=q;let ne=q.createAnalyser();ne.fftSize=1024,ne.smoothingTimeConstant=.25,q.createMediaStreamSource(y).connect(ne),E.current=ne,N.current=new Uint8Array(ne.fftSize),z.current=.008,F.current=Date.now(),k.current=requestAnimationFrame(u)}catch(y){D.current=!1,c(!1),ue.current?.(y?.name==="NotAllowedError"?"not-allowed":"audio-capture");return}H.current=!0,te()}},[m,u,te]);return sr(()=>{i&&(s?($.current="",p(""),R.current=!1,G.current=0,X.current=[],B()):(R.current=!1,F.current=Date.now(),H.current=!0,te()))},[s,i,te,B]),sr(()=>{if(!i||s)return;let y=setInterval(()=>{let L=!!v.current,q=T.current>z.current+lo;L&&q&&$.current},2e3);return()=>clearInterval(y)},[i,s]),sr(()=>()=>{_()},[_]),{supported:m,active:i,hearing:o,interim:h,micLevel:re,micSpectrum:O,spectrumBins:P,start:w,stop:_}}import{useCallback as We,useEffect as xn,useRef as Ee,useState as Sr}from"react";var vi=[-1,-1,-1,-1,2,4,6,8,-1,-1,-1,-1,2,4,6,8],yi=[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],ho=e=>e<0?0:e>88?88:e,wi=e=>e<-32768?-32768:e>32767?32767:e,gn=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 i=this.index;for(let c=0;c<t;c++){let o=yi[i],l=n[c]-a,h=0;l<0&&(h=8,l=-l);let p=o>>3;l>=o&&(h|=4,l-=o,p+=o),o>>=1,l>=o&&(h|=2,l-=o,p+=o),o>>=1,l>=o&&(h|=1,p+=o),a=wi(h&8?a-p:a+p),i=ho(i+vi[h]),r[4+(c>>1)]|=h<<4*(c&1)}return this.index=i,r.buffer}};function Ci(e){let n=new Uint8Array(e);if(n.length<4)return new Float32Array(0);let t=new DataView(e).getInt16(0,!0),r=ho(n[2]),a=(n.length-4)*2;n[3]&1&&a>0&&a--;let s=new Float32Array(a);for(let i=0;i<a;i++){let c=n[4+(i>>1)]>>4*(i&1)&15,o=yi[r],l=o>>3;c&4&&(l+=o),c&2&&(l+=o>>1),c&1&&(l+=o>>2),t=wi(c&8?t-l:t+l),r=ho(r+vi[c]),s[i]=t/32768}return s}function ir(e,n,t){for(let r=0;r<t.length;r++)e.setUint8(n+r,t.charCodeAt(r))}function Si(e,n=24e3){let t=0;for(let o of e)t+=o.length;let r=new Float32Array(t),a=0;for(let o of e)r.set(o,a),a+=o.length;let s=new ArrayBuffer(44+t*2),i=new DataView(s);ir(i,0,"RIFF"),i.setUint32(4,36+t*2,!0),ir(i,8,"WAVE"),ir(i,12,"fmt "),i.setUint32(16,16,!0),i.setUint16(20,1,!0),i.setUint16(22,1,!0),i.setUint32(24,n,!0),i.setUint32(28,n*2,!0),i.setUint16(32,2,!0),i.setUint16(34,16,!0),ir(i,36,"data"),i.setUint32(40,t*2,!0);let c=44;for(let o=0;o<t;o++){let l=Math.max(-1,Math.min(1,r[o]));i.setInt16(c,l<0?l*32768:l*32767,!0),c+=2}return new Blob([s],{type:"audio/wav"})}function Mi(e,n=16e3){let t=0;for(let o of e)t+=o.length;let r=new Int16Array(t),a=0;for(let o of e)r.set(o,a),a+=o.length;let s=new ArrayBuffer(44+t*2),i=new DataView(s);ir(i,0,"RIFF"),i.setUint32(4,36+t*2,!0),ir(i,8,"WAVE"),ir(i,12,"fmt "),i.setUint32(16,16,!0),i.setUint16(20,1,!0),i.setUint16(22,1,!0),i.setUint32(24,n,!0),i.setUint32(28,n*2,!0),i.setUint16(32,2,!0),i.setUint16(34,16,!0),ir(i,36,"data"),i.setUint32(40,t*2,!0);let c=44;for(let o=0;o<t;o++)i.setInt16(c,r[o],!0),c+=2;return new Blob([s],{type:"audio/wav"})}var po=16e3,ha=24e3,_h=.08,Fh=.12,Dh=.03,Hh=.08;var Bh=.12,qh=500,$h=6e4,Uh=`
3
3
  class KikuCapture extends AudioWorkletProcessor {
4
4
  constructor() {
5
5
  super();
@@ -32,8 +32,8 @@ class KikuCapture extends AudioWorkletProcessor {
32
32
  }
33
33
  }
34
34
  registerProcessor('kiku-capture', KikuCapture);
35
- `;function Ti(e){return e.proof?["akropolys.token."+e.token,"akropolys.proof."+e.proof]:["akropolys.token."+e.token]}function Ri(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 s=n||e.voice;return s&&a.searchParams.set("voice",s),a.toString()}function zi(e){let[n,t]=Sr("idle"),[r,a]=Sr(!1),[s,i]=Sr([]),[c,o]=Sr(null),[l,h]=Sr(!1),p=Ee(null),m=Ee(!1),d=Ee(!1),v=Ee(null),f=Ee(0),b=Ee(!1),E=Ee(!1),k=Ee(null),N=Ee(null),T=Ee(null),z=Ee(null),F=Ee(0),C=Ee(!1),$=Ee([]),Z=Ee(0),A=Ee(new Set),D=Ee(null),Y=Ee(null),H=Ee(ha),V=Ee(e);vn(()=>{V.current=e;let Q=N.current;if(Q)for(let ae of Q.getAudioTracks())ae.enabled=!e.muted},[e]);let fe=Ee(!1),ue=Ee([]),j=Ee(new xn),re=Ee(null),O=Ee(""),P=Ee(""),[X,S]=Sr([]),R=Ee([]);R.current=X;let I=Ee([]),[G,g]=Sr([]),M=Ee(0),u=Ee([]),te=Ee(void 0),B=Ee(null),_=Ee([]),w=Ee([]),y=We(()=>{let Q=O.current.trim(),ae=P.current.trim(),he=B.current?Math.max(.1,(Date.now()-B.current)/1e3):void 0,ee;if(_.current.length>0)try{let Ce=Si(_.current,H.current);ee=URL.createObjectURL(Ce)}catch(Ce){console.error("[kiku] failed to encode bot audio wav:",Ce)}let pe;if(w.current.length>0)try{let Ce=Mi(w.current,po);pe=URL.createObjectURL(Ce)}catch(Ce){console.error("[kiku] failed to encode user audio wav:",Ce)}let oe=u.current.length?u.current:void 0,ve=te.current;O.current="",P.current="",B.current=null,_.current=[],w.current=[],u.current=[],te.current=void 0,!(!Q&&!ae&&!oe&&!ve)&&V.current.onExchange?.({heard:Q,said:ae,duration:he,userAudioUrl:pe,audioUrl:ee,images:oe,visualization:ve})},[]),L=We(()=>{},[]),q=We(Q=>{if(V.current.muted)return;let ae=new Int16Array(Q),he=0;for(let pe=0;pe<ae.length;pe+=8){let oe=Math.abs(ae[pe]);oe>he&&(he=oe)}he>1200&&(f.current=Date.now());let ee=p.current;!fe.current||!ee||ee.readyState!==WebSocket.OPEN||(w.current.push(new Int16Array(Q.slice(0))),ee.send(j.current.encode(new Int16Array(Q))))},[]),ne=We(()=>{ue.current=[]},[]),de=We(()=>{let Q=k.current;if(re.current&&Q&&Q.state!=="closed")return re.current;let ae=window.AudioContext||window.webkitAudioContext;if(!ae)return Promise.resolve(null);let he=new ae({latencyHint:"interactive",sampleRate:ha});k.current=he;let ee=URL.createObjectURL(new Blob([Uh],{type:"application/javascript"}));return re.current=he.audioWorklet.addModule(ee).then(()=>he).catch(()=>null).finally(()=>URL.revokeObjectURL(ee)),re.current},[]),ce=We(()=>{typeof window>"u"||de()},[de]),se=We(()=>{let Q=z.current;if(!Q)return 0;let ae=new Uint8Array(Q.fftSize);Q.getByteTimeDomainData(ae);let he=0;for(let ee=0;ee<ae.length;ee++){let pe=(ae[ee]-128)/128;he+=pe*pe}return Math.min(1,Math.sqrt(he/ae.length)*4)},[]),W=n==="speaking"||n==="thinking",K=We(Q=>{let ae=W?D.current:z.current;return!ae||Q.length!==ae.frequencyBinCount?!1:(ae.getByteFrequencyData(Q),!0)},[W]),ge=We(()=>(W?D.current:z.current)?.frequencyBinCount??0,[W]),Pe=We(()=>{let Q=Y.current,ae=k.current;if(!Q||!ae||ae.state==="closed"){F.current=0;for(let pe of A.current)try{pe.onended=null,pe.stop()}catch{}A.current.clear();return}let he=ae.currentTime,ee=he+Hh;Q.gain.cancelScheduledValues(he),Q.gain.setValueAtTime(Q.gain.value,he),Q.gain.linearRampToValueAtTime(0,ee),Q.gain.setValueAtTime(1,ee);for(let pe of A.current)try{pe.onended=null,pe.stop(ee)}catch{}A.current.clear(),F.current=ee},[]),be=We(Q=>{let ae=k.current,he=D.current;if(!ae||!he||Q.length===0)return;ae.state==="suspended"&&ae.resume().catch(()=>{});let ee=ae.createBuffer(1,Q.length,H.current);ee.getChannelData(0).set(Q);let pe=ae.createBufferSource();pe.buffer=ee,pe.connect(he);let oe=ae.currentTime,ve=F.current>oe?F.current:oe+Dh;pe.start(ve),F.current=ve+ee.duration,A.current.add(pe),pe.onended=()=>{A.current.delete(pe),A.current.size===0&&(F.current=0,C.current=!1,t(Ce=>Ce==="speaking"?"listening":Ce))},t(Ce=>Ce==="speaking"||Ce==="idle"||Ce==="ended"?Ce:"speaking")},[]),Le=We(()=>{let Q=$.current;$.current=[],Z.current=0;for(let ae of Q)be(ae)},[be]),_e=We(()=>{$.current=[],Z.current=0},[]),je=We(Q=>{let ae=k.current;if(!ae||Q.length===0)return;if(F.current>ae.currentTime&&$.current.length===0){be(Q);return}let ee=C.current?Fh:_h;$.current.push(Q),Z.current+=Q.length/H.current,Z.current>=ee&&(C.current=!0,Le())},[be,Le]),ke=Ee(null),tt=Ee(null),st=We(()=>{ke.current&&(clearInterval(ke.current),ke.current=null);let Q=tt.current,ae=k.current;if(Q&&ae&&ae.state!=="closed"){let he=ae.currentTime;try{Q.gain.cancelScheduledValues(he),Q.gain.setValueAtTime(Q.gain.value,he),Q.gain.linearRampToValueAtTime(1e-4,he+.04)}catch{}setTimeout(()=>{try{Q.disconnect()}catch{}tt.current===Q&&(tt.current=null)},50)}},[]),St=We(()=>{},[]),ht=We(Q=>{y(),p.current=null,fe.current=!1,ue.current=[],re.current=null,C.current=!1,$.current=[],Z.current=0,st(),Pe(),T.current?.disconnect(),T.current=null,N.current?.getTracks().forEach(ae=>ae.stop()),N.current=null,z.current=null,D.current=null,Y.current=null,k.current?.close().catch(()=>{}),k.current=null,t(Q),a(!1),i([]),m.current=!1,d.current=!1},[y,Pe,st]),qe=We(()=>{try{p.current?.send(JSON.stringify({type:"close"}))}catch{}try{p.current?.close()}catch{}ht("idle")},[ht]),At=We(Q=>{let ae=[...I.current,...R.current.filter(he=>he.done)].filter(he=>he.text).map(he=>({role:he.role,text:he.text}));try{Q.send(JSON.stringify({type:"open",history:ae}))}catch{}},[]),vt=We(Q=>{let ae=!1;Q.binaryType="arraybuffer",j.current=new xn,Q.onopen=()=>{p.current!==Q||!d.current||(d.current=!1,At(Q))},Q.onmessage=he=>{if(he.data instanceof ArrayBuffer){if(!b.current){b.current=!0;let oe=P.current.trim();oe&&S(ve=>{let Ce=ve.slice();for(let Se=Ce.length-1;Se>=0;Se--)Ce[Se].role==="user"&&!Ce[Se].done&&(Ce[Se]={...Ce[Se],done:!0});return Ce.push({role:"assistant",text:oe,done:!1}),Ce})}!E.current&&f.current&&(E.current=!0,console.log("[kiku] wait from last speech to first audio: "+(Date.now()-f.current)+"ms")),st();let pe=Ci(he.data);_.current.push(pe.slice()),je(pe);return}let ee;try{ee=JSON.parse(he.data)}catch{return}switch(ee.type){case"ready":ee.sampleRate&&(H.current=ee.sampleRate,ee.sampleRate!==ha&&console.warn(`[kiku] live audio rate ${ee.sampleRate} != context ${ha}; per-buffer resampling will click at every chunk seam`)),typeof ee.secondsLeft=="number"&&o(ee.secondsLeft),h(ee.photos===!0),fe.current=!0,t("listening"),ne(),v.current?.(),v.current=null,Lt("connect",!0);break;case"hearing":B.current||(B.current=Date.now()),a(!0);break;case"thinking":B.current||(B.current=Date.now()),a(!1),t("thinking"),St(),ee.tool==="visualize"&&g(pe=>pe.some(oe=>oe.pending)?pe:[...pe,{id:++M.current,url:"",pending:!0}]);break;case"viz":typeof ee.url=="string"&&ee.url?(te.current=ee.url,g(pe=>pe.map(oe=>oe.pending?{...oe,url:ee.url,pending:!1}:oe))):g(pe=>pe.filter(oe=>!oe.pending));break;case"heard":A.current.size===0&&(F.current=0),B.current||(B.current=Date.now(),Lt("heard")),O.current+=ee.text,S(pe=>{let oe=pe.slice(),ve=oe[oe.length-1];return ve&&ve.role==="user"&&!ve.done?oe[oe.length-1]={...ve,text:O.current.trim()}:oe.push({role:"user",text:O.current.trim(),done:!1}),oe}),a(!1),t("thinking"),St();break;case"said":if(P.current+=ee.text,!b.current)break;S(pe=>{let oe=pe.slice();for(let Se=oe.length-1;Se>=0;Se--)oe[Se].role==="user"&&!oe[Se].done&&(oe[Se]={...oe[Se],done:!0});let ve=oe[oe.length-1],Ce=P.current.trim();return ve&&ve.role==="assistant"&&!ve.done?oe[oe.length-1]={...ve,text:Ce}:oe.push({role:"assistant",text:Ce,done:!1}),oe});break;case"interrupted":C.current=!1,_e(),st(),Pe(),Lt("interrupt"),a(!1),t("listening");break;case"turn_complete":E.current=!1,b.current=!1,f.current=0,S(pe=>pe.map(oe=>oe.done?oe:{...oe,done:!0})),Le(),C.current=!1,st(),a(!1),y();break;case"sources":Array.isArray(ee.sources)&&ee.sources.length&&i(ee.sources);break;case"seconds":typeof ee.secondsLeft=="number"&&o(ee.secondsLeft);break;case"refused":V.current.onRefused?.(ee.code||"guest"),qe();break;case"error":V.current.onError?.(ee.code||"unavailable"),qe();break}},Q.onclose=he=>{p.current===Q&&(he.code===4402&&(ae=!0,V.current.onError?.(he.reason==="site"?"siteLimit":"limit")),ht("ended"))},Q.onerror=()=>{!ae&&p.current===Q&&V.current.onError?.("connection")}},[_e,je,y,ne,Pe,Le,At,St,st,qe,ht]),jt=We(Q=>{let ae=p.current;if(fe.current=!1,t("connecting"),Pe(),st(),ae){try{ae.send(JSON.stringify({type:"close"}))}catch{}try{ae.close()}catch{}}let he=V.current;d.current=!0;let ee=new WebSocket(Ri(he,Q),Ti(he));p.current=ee,vt(ee)},[vt,Pe,st]),_t=Ee(e.voice);vn(()=>{_t.current!==e.voice&&(_t.current=e.voice,p.current&&(n==="listening"||n==="thinking"||n==="speaking")&&jt(e.voice))},[e.voice,n,jt]);let Vt=We(async(Q=[])=>{if(m.current&&p.current)return;m.current=!0,t("connecting");let ae=V.current;ue.current=[],I.current=Q,R.current=[],S([]),g([]),O.current="",P.current="";let he=de();k.current?.resume().catch(()=>{}),jn();let ee=p.current;ee&&ee.readyState===WebSocket.OPEN?At(ee):ee&&ee.readyState===WebSocket.CONNECTING?d.current=!0:(ee=new WebSocket(Ri(ae),Ti(ae)),p.current=ee,d.current=!0,vt(ee));let pe;try{if(!navigator.mediaDevices?.getUserMedia)throw{name:"NotAllowedError"};pe=await navigator.mediaDevices.getUserMedia({audio:{echoCancellation:!0,noiseSuppression:!0,autoGainControl:!0}})}catch(Xe){try{ee.close()}catch{}p.current=null,t("idle"),ae.onError?.(Xe?.name==="NotAllowedError"?"not-allowed":"audio-capture");return}if(p.current!==ee){pe.getTracks().forEach(Xe=>Xe.stop());return}N.current=pe;for(let Xe of pe.getAudioTracks())Xe.enabled=!V.current.muted;let oe=await he;if(p.current!==ee){pe.getTracks().forEach(Xe=>Xe.stop());return}if(!oe){V.current.onError?.("audio-worklet"),qe();return}oe.state==="suspended"&&oe.resume().catch(()=>{});let ve=oe.createAnalyser();ve.fftSize=1024,ve.smoothingTimeConstant=.25,z.current=ve;let Ce=oe.createGain();Ce.gain.value=1,Ce.connect(oe.destination),Y.current=Ce;let Se=oe.createAnalyser();Se.fftSize=1024,Se.smoothingTimeConstant=.25,Se.connect(Ce),D.current=Se;try{let Xe=new AudioWorkletNode(oe,"kiku-capture");T.current=Xe,Xe.port.onmessage=Mt=>q(Mt.data);let qt=oe.createMediaStreamSource(pe),rt=()=>{if(!(p.current!==ee||!T.current)){try{qt.connect(ve)}catch{}try{qt.connect(Xe)}catch{}}};fe.current?rt():v.current=rt}catch{V.current.onError?.("audio-worklet"),qe()}},[vt,de,q,At,qe]);vn(()=>{if(n!=="listening"){a(!1);return}let Q=0,ae=!1,he=Date.now(),ee=window.setInterval(()=>{let pe=Date.now();if(!V.current.muted&&se()>Bh&&(Q=pe),pe-Math.max(Q,he)>$h){window.clearInterval(ee),V.current.onError?.("idle"),qe();return}let oe=pe-Q<qh;oe!==ae&&(ae=oe,a(oe))},100);return()=>window.clearInterval(ee)},[n,se,qe]);let Et=We(()=>{ce()},[ce]);vn(()=>()=>{qe()},[qe]),vn(()=>{let Q=N.current;if(Q)for(let ae of Q.getAudioTracks())ae.enabled=!e.muted},[e.muted,n]);let we=We(async Q=>{let ae=V.current.storeScene;if(!ae||!Q.type.startsWith("image/"))return!1;let he;try{he=await Zn(Q)}catch{return!1}let ee=++M.current;if(g(oe=>[...oe,{id:ee,url:he,pending:!1,sending:!0}]),!await ae(he))return g(oe=>oe.filter(ve=>ve.id!==ee)),!1;g(oe=>oe.map(ve=>ve.id===ee?{...ve,sending:!1}:ve)),u.current.push(he);let pe=p.current;return pe&&pe.readyState===WebSocket.OPEN&&pe.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},[]),bt=We(Q=>{let ae=p.current;ae&&ae.readyState===WebSocket.OPEN&&Q.trim()&&ae.send(JSON.stringify({type:"text",text:Q}))},[]);return{state:n,phase:n,hearing:r,sources:s,secondsLeft:c,photos:l,turns:X,images:G,micLevel:se,micSpectrum:K,spectrumBins:ge,start:Vt,stop:qe,prewarm:Et,attachPhoto:we,ask:bt}}var Gh=e=>e==="connecting"||e==="ended"?"idle":e,Li={turns:[],images:[]},Ni=()=>`v${Date.now().toString(36)}`;function Yh(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 s of[...a.images??[],...a.visualization?[a.visualization]:[]])r.push({id:-(r.length+1),url:s,pending:!1})}return{turns:t,images:r}}function Ii({voiceLang:e,speechLang:n,shopperLanguage:t,ttsVoice:r="Algenib",messages:a,handleSendUtterance:s,appendSpokenExchange:i}){let c=Oh(),[o,l]=Mr("off"),[h,p]=Mr("idle"),[m,d]=Mr(""),[v,f]=Mr(!1),[b,E]=Mr(!1),[k,N]=Mr(()=>{try{let I=localStorage.getItem(no);if(I&&mn.some(G=>G.name===I))return I}catch{}return r||"Algenib"}),T=Wh(Ni()),z=pa(I=>{N(I);try{localStorage.setItem(no,I)}catch{}},[]),F=xi({lang:e||n,onUtterance:I=>{p("thinking"),s(I)},onError:I=>{l("off"),p("idle"),d(I==="not-allowed"?"micDenied":I==="language-not-supported"?"micLangUnsupported":I==="audio-capture"?"micMissing":I==="network"?"micNetwork":"micFailed")},onBargeIn:()=>{ki()}}),$=c?.voiceUrl||c?.api?.voiceUrl||c?.api?.apiUrl||c?.apiUrl||"",Z=c?.api?.siteId||c?.siteId||"",A=c?.api?.apiToken||c?.apiToken||"",D=c?.getShopperId?.()||c?.getKikuPub?.()||void 0,Y=c?.getShopperName?.()||void 0,H=zi({apiUrl:$,siteId:Z,token:A,kikuId:D,proof:c?.getUserProof?.()||void 0,sessionId:c?.getSessionId?.()||void 0,storeScene:I=>c?.storeScene?.(I)??Promise.resolve(!1),name:Y,language:t,voice:k,muted:v,onExchange:I=>{i(I.heard,I.said,I.duration,I.userAudioUrl,I.audioUrl,{images:I.images,visualization:I.visualization,live:T.current})},onError:I=>{if(I==="shopper_reply_limit"||I==="access_revoked"||I==="account_required"){E(!0),H.stop(),l("off");return}l("off"),d(I==="idle"?"voiceIdleEnded":I==="not-allowed"?"micDenied":I==="audio-capture"?"micMissing":I==="limit"?"voiceLimitReached":I==="siteLimit"?"voiceSiteLimit":I==="connection"||I==="network"?"micNetwork":"voiceUnavailable")},onRefused:I=>{(I==="shopper_reply_limit"||I==="access_revoked"||I==="account_required")&&E(!0),l("off"),d("voiceUnavailable")}}),V=typeof window<"u"&&!!window.WebSocket&&!!(window.AudioContext||window.webkitAudioContext)&&!!navigator.mediaDevices?.getUserMedia,{prewarm:fe}=H;Ei(()=>{if(!V)return;let I=window;if(I.requestIdleCallback){let g=I.requestIdleCallback(fe,{timeout:3e3});return()=>I.cancelIdleCallback(g)}let G=window.setTimeout(fe,1500);return()=>window.clearTimeout(G)},[V,fe]),Ei(()=>{o==="converse"&&H.state==="ended"&&(l("off"),d("voiceSessionEnded"))},[o,H.state]);let[ue,j]=Mr(Li),re=pa(async I=>{if(!Js()){d("micInsecure");return}if(d(""),l(I),I==="dictate")p("listening"),await F.start();else{let G=Yh(a,T.current);j(G),H.start(G.turns)}},[H,F,a]),O=pa(()=>{H.stop(),T.current=Ni(),j(Li),H.start([])},[H]),P=pa(()=>{l("off"),p("idle"),F.stop(),H.stop()},[H,F]),X=o==="converse"?Gh(H.state):o==="dictate"?h==="listening"?F.hearing?"speaking":"listening":h:"idle",S=o==="converse"&&H.state!=="listening"&&H.state!=="thinking"&&H.state!=="speaking";return{attachPhoto:async I=>{await H.attachPhoto(I)||d("voicePhotoFailed")},voiceMode:o,voicePhase:X,voiceConnecting:S,voiceError:m,setVoiceError:d,voiceMuted:v,setVoiceMuted:f,voiceSecondsLeft:H.secondsLeft??null,voiceBlocked:b,liveVoiceName:k,chooseVoice:z,canConverse:V,startVoice:re,stopVoice:P,voice:F,live:H,earlier:ue,newVoiceChat:O}}import Oe from"react";import{useEffect as jh,useRef as Ze}from"react";import{jsx as Ie,jsxs as yt}from"react/jsx-runtime";var uo={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}},mo={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}},da=[[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]],Vh=.42,Kh=170;function Xh(e){let n=1;for(;n<da.length-1&&da[n][0]<e;)n++;let[t,r,a]=da[n-1],[s,i,c]=da[n],o=s===t?0:(e-t)/(s-t),l=o*o*(3-2*o);return[r+(i-r)*l,a+(c-a)*l]}var yn=6,Pi=["bw","bh","tr","br","bow","lid","warm","wob","gx","gy"],cr=(e,n,t)=>Math.max(n,Math.min(t,e));function Ai(e,n,t,r){let a=l=>l.toFixed(2),s=(n+t)/2,i=e+r,c=(s-n)*.55,o=(t-s)*.55;return`C${a(e)} ${a(n+c)} ${a(i)} ${a(s-c)} ${a(i)} ${a(s)}C${a(i)} ${a(s+o)} ${a(e)} ${a(t-o)} ${a(e)} ${a(t)}`}function Qh(e,n,t,r,a){let s=cr(e*t,8,n*.96),i=cr(e*r,8,n*.96),c=(p,m)=>`${p.toFixed(2)} ${m.toFixed(2)}`,o=.46,l=cr((e-s)/e,0,1),h=cr((e-i)/e,0,1);return`M${c(-e,-n+s)}C${c(-e,-n+s*o)} ${c(-e+s*o,-n)} ${c(-e+s,-n)}C${c(-e*.3*l,-n-2*l)} ${c(e*.3*l,-n-2*l)} ${c(e-s,-n)}C${c(e-s*o,-n)} ${c(e,-n+s*o)} ${c(e,-n+s)}`+Ai(e,-n+s,n-i,a)+`C${c(e,n-i*o)} ${c(e-i*o,n)} ${c(e-i,n)}C${c(e*.3*h,n+2*h)} ${c(-e*.3*h,n+2*h)} ${c(-e+i,n)}C${c(-e+i*o,n)} ${c(-e,n-i*o)} ${c(-e,n-i)}`+Ai(-e,n-i,-n+s,-a)+"Z"}var Br=[{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)"}],fo=[{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)"}],Ku=[...Br,...fo];function bo(e){let r=(!fo.includes(e)&&Math.random()<.26?fo:Br).filter(a=>a!==e);return r[Math.floor(Math.random()*r.length)]}function Dt(e){let n=parseInt(e.slice(1),16);return[n>>16&255,n>>8&255,n&255]}function ko(e){return`rgb(${Math.round(e[0])}, ${Math.round(e[1])}, ${Math.round(e[2])})`}function Jh(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 Zh=[[255,253,248],[247,240,231],[231,218,202],[198,178,156]],_i=[.05,.15,.42,.74],ep=[.52,.72,.9,1],Fi={color:"#E2581D",light:"#FFBE96",glow:"rgba(226, 88, 29, 0.34)"};function Di({state:e="idle",size:n=40,alert:t=!1,theme:r,feminine:a,accessories:s,onImpact:i,triggerRef:c,dropIn:o=!1}){let l=Ze(o),h=Ze(e);h.current=e;let p=Ze(t);p.current=t;let m=r==="blush"||a===!0||!!(s?.flower||s?.eyelashes||s?.blush),d=s?.flower??m,v=s?.eyelashes??m,f=s?.blush??m,b=Ze(null),E=Ze(null),k=Ze(null),N=Ze(null),T=Ze(null),z=Ze(null),F=Ze(null),C=Ze(null),$=Ze(null),Z=Ze(null),A=Ze(null),D=Ze(null),Y=Ze(null),H=Ze(null),V=Ze([]),fe=Ze([]),ue=Ze(null),j=Ze(`kiku-${Math.random().toString(36).slice(2,8)}`).current,re=Ze(i);return re.current=i,jh(()=>{let O=window.matchMedia("(prefers-reduced-motion: reduce)").matches,P={},X={};Pi.forEach(we=>{P[we]=uo.idle[we]??mo.idle[we]??0,X[we]=0});let S=Array.from({length:yn},()=>({x:0,y:0,w:0,h:0,rx:0,a:0})),R=Array.from({length:yn},()=>({x:0,y:0,w:0,h:0,rx:0,a:0})),I=1800,G=-1,g=0,M=2600,u=0,te=!1,B=9e3+Math.random()*8e3,_=-1,w=0;l.current&&!O&&(_=Vh,w=performance.now()+Kh);let y=0,L=0,q=0,ne=4200,de=0,ce=0,se=0,W=12e3,K=Br[0],ge=Dt(K.color),Pe=Dt(K.light),be=[...ge],Le=[...Pe],_e=2600,je=-1/0,ke=!1,tt=0,st=!1,St=0,ht=0,qe=0,At=!1,vt=0,jt=we=>{we-je<_e?(K=bo(K),be=Dt(K.color),Le=Dt(K.light),je=-1/0):je=we},_t=(we,bt,Q,ae)=>{let he=h.current,ee=Array.from({length:yn},()=>({x:0,y:0,w:0,h:0,rx:0,a:0})),pe=(oe,ve,Ce=0)=>{let Se=Math.max(4,54*Math.max(.06,bt));ee[oe]={x:ve+Q,y:-4+ae+Ce,w:21,h:Se,rx:10.5,a:1}};if(he==="thinking"){let ve=we%2800/2800,Ce=Math.pow(Math.sin(ve*Math.PI*2)*.5+.5,3);for(let Se=0;Se<4;Se++){let Xe=we/700+Se/4*Math.PI*2,qt=(26-Se%2*5)*(1-.94*Ce),rt=16+Ce*6+Math.sin(we/420+Se)*1.4;ee[Se]={x:Math.cos(Xe)*qt,y:Math.sin(Xe)*qt*.86+2,w:rt,h:rt,rx:rt/2,a:1}}}else if(he==="visualizing")ee[0]={x:0,y:-2,w:78,h:26,rx:13,a:1};else if(he==="speaking")for(let ve=0;ve<5;ve++){let Ce=12+Math.abs(Math.sin(we/150+ve*.9))*26;ee[ve]={x:(ve-4/2)*15,y:-2,w:9,h:Ce,rx:4.5,a:1}}else he==="failed"?(pe(0,-22,8),pe(1,22,8)):(pe(0,-22),pe(1,22));return ee};c&&(c.current=()=>{if(_>=0){st=!0,K=bo(K),be=Dt(K.color),Le=Dt(K.light),je=-1/0;return}_=0,jt(St),B=St+4e3});let Vt=we=>{St=we;let bt=h.current,Q=uo[bt]??uo.idle,ae=mo[bt]??mo.idle,he=bt==="idle"||bt==="failed";he&&!O&&(we>M&&(g=(Math.random()-.5)*2,M=we+1800+Math.random()*3600),P.wantGx=g*5);let ee=p.current?1:0;qe=(qe+(ee-ht)*.1)*.88,ht+=qe;let pe=p.current&&!O?Math.sin(we/480)*.055*ht:0,oe={bw:Q.bw*(1+ht*.34+pe),bh:Q.bh*(1+ht*.2+pe),tr:Q.tr,br:Q.br,bow:Q.bow,warm:ae.warm,wob:ae.wob,lid:ae.lid,gx:he&&!O?g*5:0,gy:he&&!O?Math.sin(we/2600)*2:0};!O&&he&&(G<0&&we>I&&(G=0),G>=0&&(G+=1/7,oe.lid=ae.lid*Math.abs(G-.5)*2,G>=1&&(G=-1,oe.lid=ae.lid,I=we+(Math.random()<.22?340:2600+Math.random()*4200)))),Pi.forEach(ze=>{let Ve=ze;if(O){P[Ve]=oe[Ve];return}let Ae=Ve==="lid"?.42:.11,kt=Ve==="lid"?.55:.78;X[Ve]=(X[Ve]+(oe[Ve]-P[Ve])*Ae)*kt,P[Ve]+=X[Ve]});let ve=0,Ce=0;!O&&p.current&&_<0&&we>vt&&(_=0,vt=we+2100,B=we+4e3),!O&&bt==="idle"?_<0&&we>B&&(_=0,ke?(ke=!1,tt=0,K=bo(K),be=Dt(K.color),Le=Dt(K.light),je=-1/0):(tt++,jt(we))):_<0&&(B=we+3e3+Math.random()*3e3),_>=0&&(we>=w&&(_+=1/96),[ve,Ce]=Xh(_),_>=1&&(_=-1,ve=0,Ce=0,st?(st=!1,tt=0,B=we+150):!ke&&tt>=2?(ke=!0,B=we+240):B=we+5e3+Math.random()*5e3));let Se=Math.max(0,ve);if(p.current!==At){At=p.current;let ze=p.current?Fi:K;be=Dt(ze.color),Le=Dt(ze.light),p.current&&!O&&(_<0&&(_=0),vt=we+2600)}let Xe=p.current?Fi:K;if(O)ge=[...be],Pe=[...Le];else for(let ze=0;ze<3;ze++)ge[ze]+=(be[ze]-ge[ze])*.055,Pe[ze]+=(Le[ze]-Pe[ze])*.055;let qt=ko(ge),rt=ko(Pe);D.current?.setAttribute("stop-color",qt),Y.current?.setAttribute("stop-color",rt),H.current?.setAttribute("stop-color",rt);for(let ze=0;ze<4;ze++){let Ve=_i[ze]+(ep[ze]-_i[ze])*ht;V.current[ze]?.style.setProperty("stop-color",ko(Jh(Zh[ze],ge,Ve)))}let Mt=.34+Math.sin(we/1200)*.06,dr=Se>.02?Math.min(.72,Mt+Se*.34):Mt;A.current?.setAttribute("opacity",dr.toFixed(3)),Se>.04?re.current?.(Se,Xe.color,Xe.glow):Et>.04&&re.current?.(0,Xe.color,Xe.glow),Et=Se;let Kt=O?0:Math.sin(we/1900)*.9*P.wob,Xt=P.bw*(1+ve*.55)+Kt*.4,ur=P.bh*(1-ve*.62),Jr=Qh(Xt,ur,cr(P.tr+Se*.5,0,1.2),cr(P.br+Se*.9,0,1),P.bow+Kt+Se*5);b.current?.setAttribute("d",Jr),E.current?.setAttribute("d",Jr);let Zr=bt==="thinking";Zr!==te&&(te=Zr,ue.current?.setAttribute("filter",Zr?`url(#${j}-goo)`:"none"));let Ea=_t(we,P.lid*(1-Se*.85),P.gx,P.gy);for(let ze=0;ze<yn;ze++){let Ve=Ea[ze],Ae=S[ze],kt=R[ze];for(let ut of["x","y","w","h","rx","a"]){if(O){Ae[ut]=Ve[ut];continue}kt[ut]=(kt[ut]+(Ve[ut]-Ae[ut])*.16)*.74,Ae[ut]+=kt[ut]}let it=fe.current[ze];it&&(it.setAttribute("x",(Ae.x-Ae.w/2).toFixed(2)),it.setAttribute("y",(Ae.y-Ae.h/2).toFixed(2)),it.setAttribute("width",Math.max(0,Ae.w).toFixed(2)),it.setAttribute("height",Math.max(0,Ae.h).toFixed(2)),it.setAttribute("rx",Math.max(0,Math.min(Ae.rx,Ae.w/2,Ae.h/2)).toFixed(2)),it.setAttribute("opacity",cr(Ae.a,0,1).toFixed(2)))}let An=O?0:Math.sin(we/ae.breath)*1.5;!O&&he&&_<0?(we>ne&&(q=(Math.random()<.5?-1:1)*(.35+Math.random()*.65),ne=we+2600+Math.random()*4200),we>W&&(se=se>.1?0:1,W=we+(se>.1?900:9e3+Math.random()*11e3))):(q=0,se=0),L=(L+(q-y)*.028)*.9,y+=L,ce=(ce+(se-de)*.06)*.82,de+=ce;let en=P.bh-ur,tn=y*3.4+de*4.5,Er=y*2.2+de*3,_n=de*2.4;if(k.current?.setAttribute("transform",`translate(${Er.toFixed(2)} ${(An+en-Ce+_n).toFixed(2)}) rotate(${tn.toFixed(2)} 0 60)`),N.current&&N.current.setAttribute("transform",`translate(${Er.toFixed(2)} ${(An+en-Ce+_n).toFixed(2)}) rotate(${tn.toFixed(2)} 0 60)`),d&&T.current){let ze=-Xt*.62,Ve=-ur*.7,Ae=-16+(O?0:Math.sin(we/1400)*3)+tn*.4;T.current.setAttribute("transform",`translate(${ze.toFixed(2)}, ${Ve.toFixed(2)}) rotate(${Ae.toFixed(2)})`)}if(f&&z.current){let ze=12+P.gy*.5;z.current.setAttribute("transform",`translate(0, ${ze.toFixed(2)})`)}if(v&&F.current){let ze=bt!=="thinking"&&bt!=="visualizing"&&bt!=="speaking";F.current.setAttribute("opacity",ze?cr(P.lid*1.3,0,1).toFixed(2):"0");let Ve=(Ae,kt)=>{let it=Math.max(1,Math.min(Ae.w,Ae.h)/2),ut=Ae.y-Ae.h/2+it,Fn="";for(let[Dn,Lr]of[[20,7],[48,8],[76,6.5]]){let Qt=Dn*Math.PI/180,La=Ae.x+kt*Math.sin(Qt)*it,Na=ut-Math.cos(Qt)*it,Ia=Ae.x+kt*Math.sin(Qt)*(it+Lr),Jt=ut-Math.cos(Qt)*(it+Lr)-1.5,Pa=Ae.x+kt*Math.sin(Qt-.22)*(it+Lr*.65),Aa=ut-Math.cos(Qt-.22)*(it+Lr*.65);Fn+=` M ${La.toFixed(2)} ${Na.toFixed(2)} Q ${Pa.toFixed(2)} ${Aa.toFixed(2)} ${Ia.toFixed(2)} ${Jt.toFixed(2)}`}return Fn.trim()};C.current?.setAttribute("d",Ve(S[0],-1)),$.current?.setAttribute("d",Ve(S[1],1))}u=requestAnimationFrame(Vt)},Et=0;return u=requestAnimationFrame(Vt),()=>cancelAnimationFrame(u)},[d,v,f,m]),yt("svg",{className:"hsk-kiku-avatar",width:n,height:n,viewBox:"-100 -100 200 200","aria-hidden":"true",style:{display:"block",overflow:"visible"},children:[yt("defs",{children:[Ie("linearGradient",{id:`${j}-marble`,x1:".2",y1:"0",x2:".42",y2:"1",children:[0,40,82,100].map((O,P)=>Ie("stop",{ref:X=>{V.current[P]=X},offset:`${O}%`,style:{stopColor:`var(--hsk-marble-${P+1}, #FAF7F2)`}},O))}),yt("linearGradient",{id:`${j}-contact`,x1:"0",y1:"1",x2:"0",y2:"0",children:[Ie("stop",{ref:D,offset:"0%",stopColor:Br[0].color,stopOpacity:"0.9"}),Ie("stop",{ref:Y,offset:"45%",stopColor:Br[0].light,stopOpacity:"0.5"}),Ie("stop",{ref:H,offset:"100%",stopColor:Br[0].light,stopOpacity:"0"})]}),yt("radialGradient",{id:`${j}-sheen`,cx:".34",cy:".2",r:".55",children:[Ie("stop",{offset:"0%",stopColor:"#FFFFFF",style:{stopOpacity:"var(--hsk-marble-sheen, .9)"}}),Ie("stop",{offset:"100%",stopColor:"#FFFFFF",stopOpacity:"0"})]}),yt("linearGradient",{id:`${j}-hibiscus-petal`,x1:"0",y1:"1",x2:"0",y2:"0",children:[Ie("stop",{offset:"0%",stopColor:"#FF3366"}),Ie("stop",{offset:"65%",stopColor:"#FF758F"}),Ie("stop",{offset:"100%",stopColor:"#FFAAA6"})]}),yt("radialGradient",{id:`${j}-blush-cheek`,cx:"50%",cy:"50%",r:"50%",children:[Ie("stop",{offset:"0%",stopColor:"#FB7185",stopOpacity:"0.48"}),Ie("stop",{offset:"100%",stopColor:"#FB7185",stopOpacity:"0"})]}),Ie("clipPath",{id:`${j}-skin`,children:Ie("use",{href:`#${j}-body`})}),yt("filter",{id:`${j}-goo`,x:"-50%",y:"-50%",width:"200%",height:"200%",children:[Ie("feGaussianBlur",{in:"SourceGraphic",stdDeviation:"4",result:"b"}),Ie("feColorMatrix",{in:"b",values:"1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 18 -7"})]}),yt("mask",{id:`${j}-cut`,children:[Ie("path",{ref:E,d:"",fill:"#FFFFFF"}),Ie("g",{ref:ue,children:Array.from({length:yn},(O,P)=>Ie("rect",{ref:X=>{fe.current[P]=X},fill:"#000000"},P))})]})]}),yt("g",{ref:k,mask:`url(#${j}-cut)`,children:[Ie("path",{id:`${j}-body`,ref:b,d:"",fill:`url(#${j}-marble)`}),yt("g",{clipPath:`url(#${j}-skin)`,children:[Ie("ellipse",{cx:"-14",cy:"-40",rx:"46",ry:"34",fill:`url(#${j}-sheen)`}),Ie("rect",{ref:A,x:"-100",y:"-20",width:"200",height:"100",fill:`url(#${j}-contact)`,opacity:"0.45"})]})]}),yt("g",{ref:N,style:{pointerEvents:"none"},children:[f&&yt("g",{ref:z,children:[Ie("ellipse",{cx:"-28",cy:"0",rx:"10",ry:"5.5",fill:`url(#${j}-blush-cheek)`}),Ie("ellipse",{cx:"28",cy:"0",rx:"10",ry:"5.5",fill:`url(#${j}-blush-cheek)`})]}),v&&yt("g",{ref:F,children:[Ie("path",{ref:C,stroke:"#3D1424",strokeWidth:"1.7",strokeLinecap:"round",fill:"none"}),Ie("path",{ref:$,stroke:"#3D1424",strokeWidth:"1.7",strokeLinecap:"round",fill:"none"})]}),d&&yt("g",{ref:T,className:"hsk-avatar-flower",children:[Ie("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(O=>Ie("path",{d:"M 0 0 C -6 -13 6 -13 0 0 Z",fill:`url(#${j}-hibiscus-petal)`,stroke:"#FF2A5F",strokeWidth:"0.6",transform:`rotate(${O-18})`},O)),Ie("path",{d:"M 0 0 Q 3 -10 9 -14",stroke:"#F59E0B",strokeWidth:"1.6",strokeLinecap:"round",fill:"none"}),Ie("circle",{cx:"9",cy:"-14",r:"1.3",fill:"#FDE047"}),Ie("circle",{cx:"7",cy:"-12",r:"1.1",fill:"#FDE047"}),Ie("circle",{cx:"6.5",cy:"-15",r:"1.1",fill:"#FDE047"}),Ie("circle",{cx:"0",cy:"0",r:"2.2",fill:"#881337"})]})]})]})}import{useState as Hi}from"react";import{Fragment as Bi,jsx as qr,jsxs as ua}from"react/jsx-runtime";function ma({className:e="",compact:n=!1}){let[t,r]=Hi(()=>is()),[a,s]=Hi(""),i=()=>{let c=!t;cs(c),r(c),Lt(c?"reply":"interrupt",!0),s(ls())};return ua("button",{type:"button",className:ie("hsk-cb-sound-pill",n&&"is-compact",t&&"is-on",a&&a!=="running"&&a!=="off"&&"is-blocked",e),onClick:i,role:"switch","aria-checked":t,"aria-label":t?"Mute notification sounds":"Unmute notification sounds",children:[ua("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[qr("path",{d:"M11 5 6 9H3v6h3l5 4V5Z"}),t?ua(Bi,{children:[qr("path",{className:"hsk-snd-wave",style:{"--hsk-wave":0},d:"M15.5 8.5a5 5 0 0 1 0 7"}),qr("path",{className:"hsk-snd-wave",style:{"--hsk-wave":1},d:"M18.5 5.5a9 9 0 0 1 0 13"})]}):ua(Bi,{children:[qr("line",{className:"hsk-snd-x",x1:"16",y1:"9",x2:"21",y2:"15"}),qr("line",{className:"hsk-snd-x",x1:"21",y1:"9",x2:"16",y2:"15"})]})]}),!n&&qr("span",{children:t?"Sounds":"Muted"})]})}import{useCallback as qi,useLayoutEffect as tp,useRef as $r}from"react";var rp=300,np=220,ap=120,op=.45,sp=.4,ip=.25,ba=e=>Math.min(1,Math.max(0,e));function cp(e,n,t,r){let a=3*e,s=3*(t-e)-a,i=1-a-s,c=3*n,o=3*(r-n)-c,l=1-c-o,h=d=>((i*d+s)*d+a)*d,p=d=>((l*d+o)*d+c)*d,m=d=>(3*i*d+2*s)*d+a;return d=>{let v=d;for(let f=0;f<8;f++){let b=h(v)-d,E=m(v);if(Math.abs(b)<1e-5||Math.abs(E)<1e-6)break;v-=b/E}return p(ba(v))}}var lp=cp(.32,.72,0,1);function hp(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 $i({target:e,trigger:n,shadow:t,radius:r=0,enabled:a,onClosed:s}){let i=$r(null),c=$r(null),o=$r(!1),l=$r(0),h=$r(null),p=$r(s);p.current=s;let m=qi(k=>{l.current=k;let N=e(),T=i.current,z=c.current;if(!N||!T||!z)return;let F=1-k,C=Math.min(Math.max(T.top,z.top),z.bottom-T.height),$=Math.min(Math.max(T.left,z.left),z.right-T.width),Z=(T.top-C)*F,A=(T.left-$)*F,D=Math.max(0,(C-z.top)*F),Y=Math.max(0,($-z.left)*F),H=Math.max(0,(z.right-$-T.width)*F),V=Math.max(0,(z.bottom-C-T.height)*F),fe=T.radius*F+r*k;N.style.clipPath=`inset(${D}px ${H}px ${V}px ${Y}px round ${fe}px)`,N.style.translate=A||Z?`${A}px ${Z}px`:"";let ue=t?.();ue&&Object.assign(ue.style,{left:`${Y}px`,top:`${D}px`,width:`${Math.max(0,z.width-Y-H)}px`,height:`${Math.max(0,z.height-D-V)}px`,borderRadius:`${fe}px`,translate:N.style.translate}),N.style.setProperty("--hsk-island-content",String(ba((k-op)/sp)));let j=String(ba(k/ip));N.style.opacity=j,ue&&(ue.style.opacity=j)},[e,t,r]),d=()=>{let k=e();if(k)for(let T of["clip-path","translate","--hsk-island-content","opacity"])k.style.removeProperty(T);let N=t?.();if(N)for(let T of["left","top","width","height","border-radius","translate","opacity"])N.style.removeProperty(T)},v=()=>{h.current!==null&&cancelAnimationFrame(h.current),h.current=null},f=(k,N,T)=>{v();let z=l.current,F=Math.max(ap,N*Math.abs(k-z)),C=performance.now(),$=Z=>{let A=ba((Z-C)/F);m(z+(k-z)*lp(A)),A<1?h.current=requestAnimationFrame($):(h.current=null,T())};m(z),h.current=requestAnimationFrame($)},b=(k,N)=>{i.current=hp(N),k.style.clipPath="",k.style.translate="",c.current=k.getBoundingClientRect()};return tp(()=>{if(!a)return;let k=e(),N=n();if(!(!k||!N))return o.current=!1,k.style.removeProperty("pointer-events"),b(k,N),l.current=0,f(1,rp,d),()=>{v(),d()}},[a]),{close:qi(()=>{let k=e(),N=a?n():null,T=N?.getBoundingClientRect(),z=T&&T.bottom>0&&T.top<window.innerHeight;if(!k||!N||!z){p.current();return}let F=h.current!==null?l.current:1;b(k,N),o.current=!0,k.style.pointerEvents="none",l.current=F,f(0,np,()=>p.current())},[a,e,n])}}import{jsx as nt,jsxs as Ur}from"react/jsx-runtime";var Ui=!1;function Wi({title:e,logo:n,hasMessages:t,avatarState:r="idle",unread:a=!1,awayFromBottom:s=!1,themeMenuOpen:i=!1,themeMenuClosing:c=!1,onThemeMenuClosed:o,isNarrow:l=!1,currentTheme:h="dark",onJumpToLatest:p,onReset:m,onClose:d,onToggleThemeMenu:v,onSelectTheme:f,themeAttr:b,below:E}){let k=or(),N=Oe.useRef(null),T=Oe.useRef(null),z=Oe.useRef(null),F=Oe.useRef(null),[C]=Oe.useState(()=>{let u=!Ui;return Ui=!0,u});Oe.useLayoutEffect(()=>{let u=N.current,te=F.current,B=T.current;if(!u||!te||!B)return;let _=te.offsetParent;if(!_)return;let w=_.offsetTop+te.offsetTop+te.offsetHeight/2;u.style.setProperty("--hsk-tray-top",`${w}px`),u.style.setProperty("--hsk-tray-head",`${te.offsetHeight/2+8}px`),u.style.setProperty("--hsk-tray-h",`${B.offsetHeight}px`),u.style.setProperty("--hsk-tray-w",`${B.offsetWidth}px`)},[i,l]);let[$]=Oe.useState(()=>typeof window<"u"&&!window.matchMedia?.("(prefers-reduced-motion: reduce)").matches),[Z,A]=Oe.useState(!1);Oe.useEffect(()=>{if(!l||Z)return;let u=window.requestIdleCallback,te=u?u(()=>A(!0),{timeout:1200}):setTimeout(()=>A(!0),600);return()=>{let B=window.cancelIdleCallback;u&&B?B(te):clearTimeout(te)}},[l,Z]);let D=l&&(i||Z),Y=$i({target:Oe.useCallback(()=>T.current,[]),trigger:Oe.useCallback(()=>F.current,[]),shadow:Oe.useCallback(()=>z.current,[]),radius:18,enabled:l&&i&&$,onClosed:()=>o?.()});Oe.useEffect(()=>{l&&c&&Y.close()},[c,l]);let[H,V]=Oe.useState(!1),[fe,ue]=Oe.useState("#134e3d"),[j,re]=Oe.useState("rgba(19, 78, 61, 0.45)"),O=Oe.useRef(void 0),P=Oe.useRef(null),X=Oe.useRef(!1),S=Oe.useRef(0),R=Oe.useCallback(()=>{X.current=!1,S.current=Date.now(),P.current=setTimeout(()=>{if(X.current=!0,typeof navigator<"u"&&navigator.vibrate)try{navigator.vibrate(25)}catch{}v?.()},350)},[v]),I=Oe.useCallback(()=>{P.current&&(clearTimeout(P.current),P.current=null)},[]),G=Oe.useCallback(()=>{P.current&&(clearTimeout(P.current),P.current=null)},[]),g=Oe.useCallback(u=>{if(X.current){X.current=!1,u.preventDefault(),u.stopPropagation();return}s?p?.():l?v?.():O.current?.()},[s,l,p,v]),M=Oe.useCallback((u,te,B)=>{u>.04?(V(!0),ue(te),re(B)):V(!1)},[]);return Ur("div",{ref:N,className:ie("hsk-cb-topbar",l&&i&&"is-docked"),children:[nt("div",{className:"hsk-cb-topbar-left",style:{minWidth:"34px"},children:l&&nt("button",{type:"button",className:"hsk-cb-back",onClick:d,"aria-label":k("back"),children:nt("span",{className:"hsk-cb-back-icon",children:nt(Vn,{})})})}),Ur("div",{className:ie("hsk-cb-topbar-mark",l&&i&&"is-oozing"),"data-impacting":H?"true":"false",style:{"--hsk-contact-color":fe,"--hsk-contact-glow":j},"data-unread":a?"true":"false",onTouchStart:R,onTouchEnd:I,onTouchMove:G,onTouchCancel:G,onClick:g,role:"button",tabIndex:0,"aria-label":s?k("jumpToLatest"):`${e} (tap for themes)`,children:[nt(Di,{state:r,size:34,theme:h,alert:a,onImpact:M,triggerRef:O,dropIn:C}),n?nt("img",{ref:F,className:"hsk-cb-topbar-logo",src:n,alt:e}):nt("span",{ref:F,className:"hsk-cb-topbar-name",children:e})]}),Ur("div",{className:"hsk-cb-topbar-actions",style:{display:"flex",alignItems:"center",gap:"6px"},children:[t&&nt("button",{className:"hsk-cb-topbar-btn",onClick:m,children:k("clearChat")}),!l&&nt("button",{type:"button",className:"hsk-cb-squircle-btn hsk-cb-exit-btn",onClick:d,"aria-label":"Close Chat",children:nt(Pr,{})})]}),l&&i&&nt("div",{className:ie("hsk-cb-topbar-scrim",c&&"is-closing"),onClick:v,"aria-hidden":"true"}),D&&nt("div",{className:ie("hsk-cb-tray-shadow",!i&&"is-parked"),"aria-hidden":"true",children:nt("div",{ref:z})}),D&&nt("div",{ref:T,className:ie("hsk-cb-topbar-ooze-menu",c&&"is-closing",$&&"is-island",!i&&"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:Ur("div",{className:"hsk-cb-theme-block",children:[Ur("div",{className:"hsk-cb-tray-aside",children:[nt(ma,{compact:!0}),nt("span",{className:"hsk-cb-tray-rule","aria-hidden":"true"}),nt("span",{className:"hsk-cb-theme-vlabel","aria-hidden":"true",children:"Themes"})]}),nt("div",{className:"hsk-cb-theme-2x2-grid",children:kr.map(({id:u,label:te,Icon:B})=>Ur("button",{type:"button",className:ie("hsk-cb-theme-grid-item",h===u&&"is-active"),onClick:_=>{_.stopPropagation(),f?.(u)},children:[nt(B,{}),nt("span",{children:te})]},u))})]})}),l&&i&&E&&nt("div",{className:ie("hsk-cb-tray-below",c&&"is-closing"),children:E})]})}import lr from"react";import ka from"react";import{jsx as Yi,jsxs as fp}from"react/jsx-runtime";var pp=83,dp=2,ga=240,vo=160,gt=ga/2,lt=vo/2,Wt=24,Wr=50,Or=56,yo=124,Gr=22,It=6,wo=13,up=30,Ht=(e,n,t)=>e+(n-e)*t,Sn=(e,n)=>Math.sin(e*12.9898+n*78.233)*.5;function ji(e,n,t,r,a,s=0){let i=[];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+Sn(e.n,l)*.02;i.push([n+Math.cos(h+s)*r*p,t+Math.sin(h+s)*a*p])}let c=(l,h)=>[(l[0]+h[0])/2,(l[1]+h[1])/2],{ctx:o}=e;o.beginPath(),o.moveTo(...c(i[15],i[0]));for(let l=0;l<16;l++)o.quadraticCurveTo(i[l][0],i[l][1],...c(i[l],i[(l+1)%16]));o.closePath()}function va(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 To(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 mp(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 Tr(e,n,t=0){let{ctx:r}=e,a=n*(1+t*.3);r.save(),va(e,t),r.fillStyle=To(e,gt,lt,a),ji(e,gt,lt,a,a,e.n*.03),r.fill(),r.restore()}function go(e,n,t,r){let{ctx:a}=e;a.save(),r!==void 0&&(a.beginPath(),a.rect(0,0,ga,r),a.clip()),va(e,0),a.fillStyle=To(e,gt,lt,Math.max(n,t)),ji(e,gt,lt,n,t),a.fill(),a.restore()}function fa(e,n,t,r,a,s=a/2,i=a/2){let{ctx:c}=e;c.save(),va(e,0),c.fillStyle=mp(e,r,a),c.beginPath(),c.roundRect(n+Sn(e.n,n)*.6,r-a/2+Sn(e.n,r)*.6,t-n,a,[s,i,i,s]),c.fill(),c.restore()}function Co(e,n,t,r,a=0){let{ctx:s}=e,i=r*(1+a*.2);s.save(),va(e,a),s.fillStyle=To(e,n,t,i),s.beginPath(),s.arc(n,t,i,0,Math.PI*2),s.fill(),s.restore(),s.save(),s.strokeStyle=e.dark,s.lineWidth=1.4,s.lineCap="round",s.beginPath();for(let c=0;c<=1.001;c+=.04){let o=c*Math.PI*5+n*.3,l=(1.5+c*(r-4))*(1+a*.2),h=n+Math.cos(o)*l,p=t+Math.sin(o)*l;c===0?s.moveTo(h,p):s.lineTo(h,p)}s.stroke(),s.restore()}function xa(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,s=38+(1-n)*8,i=r%2?5:8;t.beginPath(),t.moveTo(gt+Math.cos(a)*s,lt+Math.sin(a)*s),t.lineTo(gt+Math.cos(a)*(s+i),lt+Math.sin(a)*(s+i)),t.stroke()}t.restore()}var So=e=>gt-yo/2+yo*e/It;function bp(e,n){let{ctx:t}=e;t.save(),t.strokeStyle=e.dark,t.lineWidth=1.5,t.lineCap="round",t.beginPath(),t.moveTo(n,lt-Gr/2+2),t.lineTo(n+Sn(e.n,n)*1.5,lt+Gr/2-2),t.stroke(),t.restore()}var Mo=e=>gt+(e-(It-1)/2)*up;function wn(e,n,t=-1,r=-1){for(let a=0;a<It;a++){let s=0;for(let o=0;o<n;o++)s+=a<=o?-2:2;let i=So(a)+s,c=So(a+1)+s;a===r?Co(e,Ht((i+c)/2,Mo(a),.5),lt-4,wo,.5):a<=t?Co(e,Mo(a),lt,wo):fa(e,i,c,lt,Gr,a===0?Gr/2:2,a===It-1?Gr/2:2)}}function kp(){let e=[];for(let r=0;r<5;r++)e.push({draw:a=>Tr(a,Wt)});let n=[[Wt,Wt,34,38],[34,38,44,48],[44,48,Wr,Or]];for(let[r,a,s,i]of n){for(let c=0;c<3;c++){let o=(c+1)/3,l=c===0?1.05:1;e.push({hold:1,thump:c===0?.25:void 0,draw:h=>go(h,Ht(r,s,o),Ht(a,i,o)*l)})}e.push({hold:1,draw:c=>go(c,s,i)})}let t=0;for(let r=0;r<12;r++){let a=(r+1)/12,s=Ht(lt+Or,lt-Or,a),i=Ht(8,24,a),c=(s-lt)/Or;t=Math.max(t,2*Wr*Math.sqrt(Math.max(0,1-c*c)),30);let o=t;e.push({draw:l=>{a<1&&go(l,Wr,Or,s-i*.3),fa(l,gt-o/2,gt+o/2,s,i)}})}for(let r of[.5,1])e.push({draw:a=>fa(a,gt-Wr,gt+Wr,Ht(lt-Or,lt,r),24)});for(let r=0;r<6;r++){let a=(r+1)/6,s=Ht(2*Wr,yo,a),i=Ht(24,Gr,a),c=r%2?2:-2;e.push({draw:o=>fa(o,gt-s/2+c,gt+s/2+c,lt,i)})}for(let r=1;r<It;r++)e.push({draw:a=>{wn(a,r-1),bp(a,So(r))}}),e.push({thump:.35,draw:a=>wn(a,r)});e.push({draw:r=>wn(r,It-1)});for(let r=0;r<It;r++)e.push({thump:.12,draw:a=>wn(a,It-1,r-1,r)});for(let r=0;r<4;r++)e.push({draw:a=>wn(a,It-1,It-1)});for(let r of[.35,.7,1])e.push({draw:a=>{for(let s=0;s<It;s++)Co(a,Ht(Mo(s),gt,r),lt,Ht(wo,10,r),.4)}});return e.push({thump:1,draw:r=>{Tr(r,Wt*1.3),xa(r,1)}}),e.push({draw:r=>{Tr(r,Wt*1.12),xa(r,.4)}}),e.push({draw:r=>Tr(r,Wt*1.04)}),e}var Cn=kp(),Oi=[...[1.6,1.25,.9,.5,.18].map(e=>({draw:n=>Tr(n,Wt,e)})),{thump:.7,draw:e=>{Tr(e,Wt*1.24),xa(e,1)}},{draw:e=>{Tr(e,Wt*1.08),xa(e,.4)}}],Gi=[1,.7,.35,0];function xo(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 Vi({phase:e,label:n}){let t=ka.useRef(null),r=ka.useRef(null),a=ka.useRef({n:0,at:0,held:0,entered:!1,last:Cn[0]});return ka.useEffect(()=>{let s=t.current,i=r.current,c=s?.getContext("2d");if(!s||!c||!i)return;let o=Math.min(window.devicePixelRatio||1,3);s.width=ga*o,s.height=vo*o;let l="var(--hsk-primary, #ff6a33)",h={ctx:c,dpr:o,n:0,clay:xo(s,l),light:xo(s,`color-mix(in srgb, ${l} 55%, white)`),dark:xo(s,`color-mix(in srgb, ${l} 70%, black)`),ink:getComputedStyle(s).getPropertyValue("--hsk-doodle-ink").trim()||"31, 31, 31"},p=a.current,m=(k,N=1)=>{c.setTransform(o,0,0,o,0,0),c.clearRect(0,0,ga,vo),c.globalAlpha=N,h.n=p.n++,k.draw(h),c.globalAlpha=1},d=k=>{let N=s.getBoundingClientRect();Os({x:N.left+N.width/2,y:N.top+N.height/2,strength:k}),i.style.translate="0 1px",i.style.rotate=`${Sn(p.n,4)*.8}deg`};if(window.matchMedia?.("(prefers-reduced-motion: reduce)")?.matches){m(Cn[0]);return}let v=e==="exit"?null:e==="enter"&&!p.entered?Oi:Cn;v&&(p.at=0);let f=0,b=0,E=()=>{if(i.style.translate="",i.style.rotate="",!v){f===0&&d(.6),m(p.last,Gi[f]),++f>=Gi.length&&clearInterval(b);return}let k=v[p.at];m(k),p.last=k,k.thump&&p.held===0&&d(k.thump),!(v===Cn&&++p.held<(k.hold??dp))&&(p.held=0,!(++p.at<v.length)&&(v===Oi&&(p.entered=!0),v=Cn,p.at=0))};return E(),b=window.setInterval(E,pp),()=>clearInterval(b)},[e==="exit"]),fp("div",{className:"hsk-clay",children:[Yi("canvas",{className:"hsk-clay-table",ref:t,"aria-hidden":"true"}),Yi("p",{className:"hsk-lang-preparing",ref:r,children:n})]})}import{jsx as xe,jsxs as Ge}from"react/jsx-runtime";function gp(){return xe("span",{className:"hsk-cb-check","aria-hidden":"true",children:xe("svg",{viewBox:"0 0 16 16",children:xe("path",{d:"M3.5 8.4 6.6 11.4 12.6 4.8"})})})}function Ki({inOnboarding:e,justCompleted:n,onboardingMood:t,awaitingLang:r,awaitingName:a,awaitingEntityLang:s,awaitingConsent:i,termsAgreed:c,shopperLanguage:o,pendingLanguage:l,shopperName:h,entityLangPref:p,chromeReady:m,activeChips:d,speechLang:v,t:f,tNode:b,chooseLanguage:E,langSwitching:k=!1,isLangPreparing:N,onPrewarmLanguage:T,chooseEntityLang:z,agreeTerms:F,handleSend:C}){let $=l||o,Z=!$||$.toLowerCase()==="english"||$.toLowerCase()==="en",A=N??(k||!!l||!!o&&!m&&!Z),D=yr($),[Y,H]=lr.useState(A),[V,fe]=lr.useState(()=>A?"spinner-steady":"idle"),ue=lr.useRef([]),j=()=>{ue.current.forEach(clearTimeout),ue.current=[]};A!==Y&&(H(A),j(),A?(fe("step1-exit"),ue.current.push(setTimeout(()=>fe("spinner-enter"),280)),ue.current.push(setTimeout(()=>fe("spinner-steady"),960))):(fe("spinner-exit"),ue.current.push(setTimeout(()=>fe("idle"),460)))),lr.useEffect(()=>()=>j(),[]);let re=V==="spinner-enter"||V==="spinner-steady"||V==="spinner-exit",O=V==="step1-exit",P=re||O||!o||r?"1":!h||a?"2":!p||s?"3":!c||i?"4":null,[X,S]=lr.useState(null),[R,I]=lr.useState(3);lr.useEffect(()=>{if(!i)return;I(3);let g=setInterval(()=>{I(M=>M<=1?(clearInterval(g),0):M-1)},1e3);return()=>clearInterval(g)},[i]);let G=o?un(o,v)||o.charAt(0).toUpperCase()+o.slice(1):"";return lr.useEffect(()=>{if(r&&T){let g=typeof window<"u"?window.requestIdleCallback:void 0,M=g?g(()=>T("Urdu"),{timeout:2e3}):setTimeout(()=>T("Urdu"),500);return()=>{g&&typeof window<"u"?window.cancelIdleCallback?.(M):clearTimeout(M)}}},[r,T]),xe("div",{className:"hsk-cb-empty",children:Ge("div",{className:"hsk-cb-onboarding-card",children:[P&&xe("div",{className:"hsk-cb-onboarding-head",children:Ge("span",{className:"hsk-cb-step-badge",dir:"ltr",children:[P," / 4"]})}),re?xe("div",{className:ie("hsk-lang-loader",V==="spinner-enter"&&"hsk-lang-loader--enter",V==="spinner-exit"&&"hsk-lang-loader--exit"),children:xe(Vi,{phase:V==="spinner-exit"?"exit":V==="spinner-enter"?"enter":"steady",label:D.preparing})},"spinner-loading"):O||r||!o?Ge("div",{className:ie("hsk-cb-hello-wrap",O&&"hsk-step1-exit"),children:[xe("h2",{className:"hsk-cb-hello",children:"Which language do you want to use?"}),Ge("div",{className:"hsk-cb-lang-chips",children:[aa.map((g,M)=>xe("button",{type:"button",className:"hsk-cb-lang-chip",style:{"--hsk-pill-idx":M},lang:g.tag,dir:g.rtl?"rtl":"ltr",disabled:k,onPointerEnter:()=>!k&&T?.(g.value),onPointerDown:()=>!k&&T?.(g.value),onClick:()=>!k&&E(g.value),children:g.native},g.value)),xe("span",{className:"hsk-cb-lang-chips-hint",style:{"--hsk-pill-idx":aa.length},children:"or type another one"})]})]},"step-lang"):a||!h?Ge("div",{className:"hsk-cb-hello-wrap hsk-cb-name-step hsk-step-enter",children:[xe("h2",{className:"hsk-cb-hello",children:f("nameStepTitle")}),xe("p",{className:"hsk-cb-hello-ask",children:f("nameStepAsk")}),xe("p",{className:"hsk-cb-hello-hint",children:f("nameStepHint")})]},"step-name"):s?Ge("div",{className:"hsk-cb-hello-wrap",children:[xe("h2",{className:"hsk-cb-hello",children:f("howShouldResultsLook")}),xe("p",{className:"hsk-cb-hello-lead",children:b("entityLangIntro",{lang:G})}),xe("div",{className:"hsk-cb-entlang-opts",role:"radiogroup","aria-label":f("howShouldResultsLook"),children:["translated","original"].map((g,M)=>Ge("button",{type:"button",role:"radio","aria-checked":(X??p)===g,className:ie("hsk-cb-entlang-opt",(X??p)===g&&"is-selected"),style:{"--hsk-opt-idx":M},onClick:()=>S(g),children:[xe(gp,{}),Ge("span",{className:"hsk-cb-entlang-opt-text",children:[xe("span",{className:"hsk-cb-entlang-opt-title",children:g==="translated"?b("inLanguage",{lang:G}):f("asWritten")}),xe("span",{className:"hsk-cb-entlang-opt-note",children:f(g==="translated"?"detailsTranslated":"namesAsWritten")})]})]},g))}),xe("div",{className:"hsk-cb-terms-action-wrap",children:xe("button",{type:"button",className:ie("hsk-cb-terms-agree-btn",X&&"is-active"),disabled:!X,onClick:()=>X&&z(X),children:f("continueButton")})})]},"step-entity-lang"):i?Ge("div",{className:"hsk-cb-hello-wrap",children:[xe("h2",{className:"hsk-cb-hello",children:f("termsStepTitle")}),xe("p",{className:"hsk-cb-hello-lead",children:f("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:[xe("span",{className:"hsk-cb-terms-numeral",children:"I"}),xe("h3",{className:"hsk-cb-terms-title",children:f("termsPiiTitle")})]}),xe("p",{className:"hsk-cb-terms-desc",children:f("termsPiiDesc")})]}),xe("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:[xe("span",{className:"hsk-cb-terms-numeral",children:"II"}),xe("h3",{className:"hsk-cb-terms-title",children:f("termsSessionTitle")})]}),xe("p",{className:"hsk-cb-terms-desc",children:f("termsSessionDesc")})]}),xe("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:[xe("span",{className:"hsk-cb-terms-numeral",children:"III"}),xe("h3",{className:"hsk-cb-terms-title",children:f("termsMemoryTitle")})]}),xe("p",{className:"hsk-cb-terms-desc",children:f("termsMemoryDesc")})]}),xe("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:[xe("span",{className:"hsk-cb-terms-numeral",children:"IV"}),xe("h3",{className:"hsk-cb-terms-title",children:f("termsCookieTitle")})]}),xe("p",{className:"hsk-cb-terms-desc",children:f("termsCookieDesc")})]}),xe("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:[xe("span",{className:"hsk-cb-terms-numeral",children:"V"}),xe("h3",{className:"hsk-cb-terms-title",children:f("termsAiTitle")})]}),xe("p",{className:"hsk-cb-terms-desc",children:f("termsAiDesc")})]})]}),Ge("p",{className:"hsk-cb-terms-more",children:[f("privacyMore")," ",xe("a",{href:"https://akropolys.cloud/privacy",target:"_blank",rel:"noopener noreferrer",dir:"ltr",children:"akropolys.cloud/privacy"})]}),xe("div",{className:"hsk-cb-terms-action-wrap",children:xe("button",{type:"button",className:ie("hsk-cb-terms-agree-btn",R===0&&"is-active"),disabled:R>0,onClick:F,children:R>0?f("termsAgreeCounting",{seconds:String(R)}):f("termsAgreeButton")})})]},"step-terms"):n?Ge("div",{className:"hsk-cb-hello-wrap",children:[xe("h2",{className:"hsk-cb-hello",children:b("allSet",{name:h})}),xe("p",{className:"hsk-cb-hello-lead",children:p==="translated"?b("replyingTranslated",{lang:G}):b("replyingOriginal",{lang:G})})]},"step-completed"):h?Ge("div",{className:"hsk-cb-hello-wrap",children:[xe("h2",{className:"hsk-cb-hello",children:b("greetReturning",{name:h})}),xe("p",{className:"hsk-cb-hello-lead",children:f("greetReturningLead")})]},"step-returning"):Ge("div",{className:"hsk-cb-hello-wrap",children:[Ge("h2",{className:"hsk-cb-hello",children:["Hello, I am ",xe("b",{children:"kiku"}),"."]}),xe("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"),!e&&(d?.length??0)>0&&xe("div",{className:"hsk-cb-chips",children:d.map((g,M)=>xe("button",{className:"hsk-cb-chip",style:{"--hsk-pill-idx":M},onClick:()=>C(g),children:g},g))})]})})}import{useState as Xi,useEffect as xp,useRef as vp}from"react";import{jsx as Ro,jsxs as Qi}from"react/jsx-runtime";function ya(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,s=e.slice(0,t),i=e.slice(a),c=i.match(/<\/\s*thinking\s*>/i);if(!c)return{thinking:i,content:s,isComplete:!1};let o=c.index??0,l=c[0].length;return{thinking:i.slice(0,o),content:s+i.slice(o+l),isComplete:!0}}var Mn=e=>e==="with_team"||e==="back_with_kiku"||e==="team_closed"||e==="team_joined";function yp(e){return e<60?`${Math.max(1,Math.round(e))}s`:e<3600?`${Math.round(e/60)} min`:`${Math.round(e/3600)} h`}function Ji({text:e,isComplete:n,seconds:t,stage:r,repliedSeconds:a}){let s=or(),i=vp(Date.now()),[c,o]=Xi(()=>n?null:0),[l,h]=Xi(!n);xp(()=>{if(n){c!==null&&(o(Math.max(1,Math.round((Date.now()-i.current)/1e3))),h(!1));return}h(!0);let v=setInterval(()=>{o(Math.round((Date.now()-i.current)/1e3))},1e3);return()=>clearInterval(v)},[n]);let p=t??c,m=a!=null?s("repliedIn",{duration:yp(a)}):r==="with_team"?s("withTeam"):r==="back_with_kiku"?s("backWithKiku"):r==="team_closed"?s("teamClosed"):r==="team_joined"?s("teamJoined"):r==="reaching_team"?n?s("passedToTeam"):`${s("reachingTeam")}\u2026`:n?p!=null?s("thoughtForSeconds",{duration:`${p}s`}):s("thoughtProcess"):`${s("thinking")}${c?` \xB7 ${c}s`:"\u2026"}`,d=!!e;return Qi("div",{className:ie("hsk-cb-think",!n&&"hsk-cb-think--live",a==null&&Mn(r)&&"hsk-cb-think--note"),children:[Qi("button",{type:"button",className:ie("hsk-cb-think-head",!d&&"hsk-cb-think-head--static"),onClick:d?()=>h(v=>!v):void 0,"aria-expanded":d?l:void 0,children:[Ro("span",{children:m}),d&&Ro("span",{className:ie("hsk-cb-think-chevron",l&&"hsk-cb-think-chevron--open"),children:"\u25B6"})]}),d&&l&&Ro("div",{className:"hsk-cb-think-body",children:e})]})}import{useCallback as Zi,useEffect as wp,useRef as ec,useState as Cp}from"react";function Tn(e,n){let[t,r]=Cp(!1),a=ec(null),s=ec(n);s.current=n,wp(()=>()=>{a.current&&clearTimeout(a.current)},[]);let i=Zi(()=>{a.current||(r(!0),a.current=setTimeout(()=>{a.current=null,r(!1),s.current()},e))},[e]),c=Zi(()=>{a.current&&(clearTimeout(a.current),a.current=null),r(!1),s.current()},[]);return{closing:t,requestClose:i,closeNow:c}}import mt from"react";import{useAkropolysContext as hd}from"@akropolys/sdk";import Yr from"react";var Sp=/\p{L}/u,Mp=/\]\([^)]*\)|https?:\/\/\S+|www\.\S+/g;function Tp(e){return e>=1424&&e<=2303||e>=64285&&e<=65023||e>=65136&&e<=65279}function wa(e,n=1){let t=0,r=0;for(let a of e.replace(Mp," "))Sp.test(a)&&(Tp(a.codePointAt(0)??0)?t++:r++);if(!(t+r<n||t===r))return t>r?"rtl":"ltr"}import{Fragment as Wp,jsx as Ye,jsxs as Up}from"react/jsx-runtime";var Rp=/[ \t]{2,}/g,zp=/ ([.,!?:;])/g,Ep=/\(([ \t]+)/g,Lp=/([ \t]+)\)/g,Np=/(\d+)\s+(MP|mAh|W|GB|MB|KHz|Hz|KSh|KES|USD|EUR)\b/gi,Ip=/(!\[[^\]]*\]\([^)]+\)|\[[^\]]+\]\([^)]+\)|\*\*[^*]+\*\*|`[^`]+`)/g,Pp=/^!\[([^\]]*)\]\(([^)]+)\)$/,Ap=/^\[([^\]]+)\]\(([^)]+)\)$/,_p=/^(data:image|blob):/i,nc=/^(https?|mailto|tel):/i;function Rn(e){let n=String(e??"").trim();return nc.test(n)||n.startsWith("/")&&!n.startsWith("//")?n:void 0}var zo=null;function ac(e){if(_p.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||!!zo?.has(n.host))}catch{return!1}}var Fp=/memory|mimi/i,Dp=/mimi\.akropolys/i,Hp=e=>e&&e.replace(Rp," ").replace(zp,"$1").replace(Ep,"(").replace(Lp,")").replace(Np,"$1 $2"),Ot=(e,n)=>Hp(e).split(Ip).map((a,s)=>{if(!a)return null;let i=`${n}-inline-${s}`;if(a.startsWith("`")&&a.endsWith("`"))return Ye("code",{className:"hsk-markdown-code",children:a.slice(1,-1)},i);if(a.startsWith("**")&&a.endsWith("**"))return Ye("strong",{children:Ot(a.slice(2,-2),i)},i);let c=a.match(Pp);if(c){let l=c[1],h=c[2];return ac(h)?Ye("img",{src:h,alt:l||"Product image",className:"hsk-markdown-img",loading:"lazy",onError:p=>{p.target.style.display="none"}},i):null}let o=a.match(Ap);if(o){let l=o[1],h=o[2];return Fp.test(l)||Dp.test(h)?null:nc.test(h)||h.startsWith("/")?Ye("a",{href:h,target:"_blank",rel:"noopener noreferrer",className:"hsk-markdown-link",children:Ot(l,i)},i):Ye("span",{children:Ot(l,i)},i)}return a}),Bp=/^\s*\|?[\s:|-]*-[\s:|-]*\|?\s*$/;function tc(e,n){let t=e.trim();return n?t.includes("|"):t.startsWith("|")}function rc(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 qp({children:e}){let n=Yr.useRef(null),[t,r]=Yr.useState("none"),[a,s]=Yr.useState(!1),i=Yr.useRef({startX:0,scrollLeft:0,isDown:!1,hasMoved:!1}),c=Yr.useCallback(()=>{let p=n.current;if(!p)return;if(!(p.scrollWidth>p.clientWidth+2)){r("none");return}let d=getComputedStyle(p).direction==="rtl",v=Math.abs(p.scrollLeft),f=v<=4,b=v+p.clientWidth>=p.scrollWidth-4;r(f?d?"right":"left":b?d?"left":"right":"middle")},[]);Yr.useEffect(()=>{c();let p=n.current;if(!p)return;let m=typeof ResizeObserver<"u"?new ResizeObserver(c):null;return m?.observe(p),()=>m?.disconnect()},[c]);let o=p=>{let m=n.current;!m||m.scrollWidth<=m.clientWidth||p.target.closest("a, button, input")||(i.current={startX:p.pageX-m.offsetLeft,scrollLeft:m.scrollLeft,isDown:!0,hasMoved:!1},s(!0))},l=p=>{if(!i.current.isDown)return;let m=n.current;if(!m)return;let v=(p.pageX-m.offsetLeft-i.current.startX)*1.5;Math.abs(v)>3&&(i.current.hasMoved=!0,p.preventDefault(),m.scrollLeft=i.current.scrollLeft-v)},h=()=>{i.current.isDown=!1,s(!1)};return Ye("div",{ref:n,className:`hsk-table-wrapper hsk-table-wrapper--${t}${a?" is-dragging":""}`,onScroll:c,onMouseDown:o,onMouseMove:l,onMouseUp:h,onMouseLeave:h,children:e})}function oc(e,n=!1,t){zo=t??null;try{return $p(e,n)}finally{zo=null}}function $p(e,n){let t=e.split(`
35
+ `;function Ti(e){return e.proof?["akropolys.token."+e.token,"akropolys.proof."+e.proof]:["akropolys.token."+e.token]}function Ri(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 s=n||e.voice;return s&&a.searchParams.set("voice",s),a.toString()}function zi(e){let[n,t]=Sr("idle"),[r,a]=Sr(!1),[s,i]=Sr([]),[c,o]=Sr(null),[l,h]=Sr(!1),p=Ee(null),m=Ee(!1),d=Ee(!1),v=Ee(null),g=Ee(0),b=Ee(!1),E=Ee(!1),k=Ee(null),N=Ee(null),T=Ee(null),z=Ee(null),F=Ee(0),C=Ee(!1),$=Ee([]),Z=Ee(0),A=Ee(new Set),D=Ee(null),Y=Ee(null),H=Ee(ha),V=Ee(e);xn(()=>{V.current=e;let Q=N.current;if(Q)for(let ae of Q.getAudioTracks())ae.enabled=!e.muted},[e]);let fe=Ee(!1),ue=Ee([]),j=Ee(new gn),re=Ee(null),O=Ee(""),P=Ee(""),[X,S]=Sr([]),R=Ee([]);R.current=X;let I=Ee([]),[G,f]=Sr([]),M=Ee(0),u=Ee([]),te=Ee(void 0),B=Ee(null),_=Ee([]),w=Ee([]),y=We(()=>{let Q=O.current.trim(),ae=P.current.trim(),le=B.current?Math.max(.1,(Date.now()-B.current)/1e3):void 0,ee;if(_.current.length>0)try{let Ce=Si(_.current,H.current);ee=URL.createObjectURL(Ce)}catch(Ce){console.error("[kiku] failed to encode bot audio wav:",Ce)}let he;if(w.current.length>0)try{let Ce=Mi(w.current,po);he=URL.createObjectURL(Ce)}catch(Ce){console.error("[kiku] failed to encode user audio wav:",Ce)}let oe=u.current.length?u.current:void 0,ve=te.current;O.current="",P.current="",B.current=null,_.current=[],w.current=[],u.current=[],te.current=void 0,!(!Q&&!ae&&!oe&&!ve)&&V.current.onExchange?.({heard:Q,said:ae,duration:le,userAudioUrl:he,audioUrl:ee,images:oe,visualization:ve})},[]),L=We(()=>{},[]),q=We(Q=>{if(V.current.muted)return;let ae=new Int16Array(Q),le=0;for(let he=0;he<ae.length;he+=8){let oe=Math.abs(ae[he]);oe>le&&(le=oe)}le>1200&&(g.current=Date.now());let ee=p.current;!fe.current||!ee||ee.readyState!==WebSocket.OPEN||(w.current.push(new Int16Array(Q.slice(0))),ee.send(j.current.encode(new Int16Array(Q))))},[]),ne=We(()=>{ue.current=[]},[]),de=We(()=>{let Q=k.current;if(re.current&&Q&&Q.state!=="closed")return re.current;let ae=window.AudioContext||window.webkitAudioContext;if(!ae)return Promise.resolve(null);let le=new ae({latencyHint:"interactive",sampleRate:ha});k.current=le;let ee=URL.createObjectURL(new Blob([Uh],{type:"application/javascript"}));return re.current=le.audioWorklet.addModule(ee).then(()=>le).catch(()=>null).finally(()=>URL.revokeObjectURL(ee)),re.current},[]),ce=We(()=>{typeof window>"u"||de()},[de]),se=We(()=>{let Q=z.current;if(!Q)return 0;let ae=new Uint8Array(Q.fftSize);Q.getByteTimeDomainData(ae);let le=0;for(let ee=0;ee<ae.length;ee++){let he=(ae[ee]-128)/128;le+=he*he}return Math.min(1,Math.sqrt(le/ae.length)*4)},[]),W=n==="speaking"||n==="thinking",K=We(Q=>{let ae=W?D.current:z.current;return!ae||Q.length!==ae.frequencyBinCount?!1:(ae.getByteFrequencyData(Q),!0)},[W]),ge=We(()=>(W?D.current:z.current)?.frequencyBinCount??0,[W]),Pe=We(()=>{let Q=Y.current,ae=k.current;if(!Q||!ae||ae.state==="closed"){F.current=0;for(let he of A.current)try{he.onended=null,he.stop()}catch{}A.current.clear();return}let le=ae.currentTime,ee=le+Hh;Q.gain.cancelScheduledValues(le),Q.gain.setValueAtTime(Q.gain.value,le),Q.gain.linearRampToValueAtTime(0,ee),Q.gain.setValueAtTime(1,ee);for(let he of A.current)try{he.onended=null,he.stop(ee)}catch{}A.current.clear(),F.current=ee},[]),be=We(Q=>{let ae=k.current,le=D.current;if(!ae||!le||Q.length===0)return;ae.state==="suspended"&&ae.resume().catch(()=>{});let ee=ae.createBuffer(1,Q.length,H.current);ee.getChannelData(0).set(Q);let he=ae.createBufferSource();he.buffer=ee,he.connect(le);let oe=ae.currentTime,ve=F.current>oe?F.current:oe+Dh;he.start(ve),F.current=ve+ee.duration,A.current.add(he),he.onended=()=>{A.current.delete(he),A.current.size===0&&(F.current=0,C.current=!1,t(Ce=>Ce==="speaking"?"listening":Ce))},t(Ce=>Ce==="speaking"||Ce==="idle"||Ce==="ended"?Ce:"speaking")},[]),Le=We(()=>{let Q=$.current;$.current=[],Z.current=0;for(let ae of Q)be(ae)},[be]),_e=We(()=>{$.current=[],Z.current=0},[]),je=We(Q=>{let ae=k.current;if(!ae||Q.length===0)return;if(F.current>ae.currentTime&&$.current.length===0){be(Q);return}let ee=C.current?Fh:_h;$.current.push(Q),Z.current+=Q.length/H.current,Z.current>=ee&&(C.current=!0,Le())},[be,Le]),ke=Ee(null),tt=Ee(null),st=We(()=>{ke.current&&(clearInterval(ke.current),ke.current=null);let Q=tt.current,ae=k.current;if(Q&&ae&&ae.state!=="closed"){let le=ae.currentTime;try{Q.gain.cancelScheduledValues(le),Q.gain.setValueAtTime(Q.gain.value,le),Q.gain.linearRampToValueAtTime(1e-4,le+.04)}catch{}setTimeout(()=>{try{Q.disconnect()}catch{}tt.current===Q&&(tt.current=null)},50)}},[]),St=We(()=>{},[]),mt=We(Q=>{y(),p.current=null,fe.current=!1,ue.current=[],re.current=null,C.current=!1,$.current=[],Z.current=0,st(),Pe(),T.current?.disconnect(),T.current=null,N.current?.getTracks().forEach(ae=>ae.stop()),N.current=null,z.current=null,D.current=null,Y.current=null,k.current?.close().catch(()=>{}),k.current=null,t(Q),a(!1),i([]),m.current=!1,d.current=!1},[y,Pe,st]),qe=We(()=>{try{p.current?.send(JSON.stringify({type:"close"}))}catch{}try{p.current?.close()}catch{}mt("idle")},[mt]),Pt=We(Q=>{let ae=[...I.current,...R.current.filter(le=>le.done)].filter(le=>le.text).map(le=>({role:le.role,text:le.text}));try{Q.send(JSON.stringify({type:"open",history:ae}))}catch{}},[]),gt=We(Q=>{let ae=!1;Q.binaryType="arraybuffer",j.current=new gn,Q.onopen=()=>{p.current!==Q||!d.current||(d.current=!1,Pt(Q))},Q.onmessage=le=>{if(le.data instanceof ArrayBuffer){if(!b.current){b.current=!0;let oe=P.current.trim();oe&&S(ve=>{let Ce=ve.slice();for(let Se=Ce.length-1;Se>=0;Se--)Ce[Se].role==="user"&&!Ce[Se].done&&(Ce[Se]={...Ce[Se],done:!0});return Ce.push({role:"assistant",text:oe,done:!1}),Ce})}!E.current&&g.current&&(E.current=!0,console.log("[kiku] wait from last speech to first audio: "+(Date.now()-g.current)+"ms")),st();let he=Ci(le.data);_.current.push(he.slice()),je(he);return}let ee;try{ee=JSON.parse(le.data)}catch{return}switch(ee.type){case"ready":ee.sampleRate&&(H.current=ee.sampleRate,ee.sampleRate!==ha&&console.warn(`[kiku] live audio rate ${ee.sampleRate} != context ${ha}; per-buffer resampling will click at every chunk seam`)),typeof ee.secondsLeft=="number"&&o(ee.secondsLeft),h(ee.photos===!0),fe.current=!0,t("listening"),ne(),v.current?.(),v.current=null,Et("connect",!0);break;case"hearing":B.current||(B.current=Date.now()),a(!0);break;case"thinking":B.current||(B.current=Date.now()),a(!1),t("thinking"),St(),ee.tool==="visualize"&&f(he=>he.some(oe=>oe.pending)?he:[...he,{id:++M.current,url:"",pending:!0}]);break;case"viz":typeof ee.url=="string"&&ee.url?(te.current=ee.url,f(he=>he.map(oe=>oe.pending?{...oe,url:ee.url,pending:!1}:oe))):f(he=>he.filter(oe=>!oe.pending));break;case"heard":A.current.size===0&&(F.current=0),B.current||(B.current=Date.now(),Et("heard")),O.current+=ee.text,S(he=>{let oe=he.slice(),ve=oe[oe.length-1];return ve&&ve.role==="user"&&!ve.done?oe[oe.length-1]={...ve,text:O.current.trim()}:oe.push({role:"user",text:O.current.trim(),done:!1}),oe}),a(!1),t("thinking"),St();break;case"said":if(P.current+=ee.text,!b.current)break;S(he=>{let oe=he.slice();for(let Se=oe.length-1;Se>=0;Se--)oe[Se].role==="user"&&!oe[Se].done&&(oe[Se]={...oe[Se],done:!0});let ve=oe[oe.length-1],Ce=P.current.trim();return ve&&ve.role==="assistant"&&!ve.done?oe[oe.length-1]={...ve,text:Ce}:oe.push({role:"assistant",text:Ce,done:!1}),oe});break;case"interrupted":C.current=!1,_e(),st(),Pe(),Et("interrupt"),a(!1),t("listening");break;case"turn_complete":E.current=!1,b.current=!1,g.current=0,S(he=>he.map(oe=>oe.done?oe:{...oe,done:!0})),Le(),C.current=!1,st(),a(!1),y();break;case"sources":Array.isArray(ee.sources)&&ee.sources.length&&i(ee.sources);break;case"seconds":typeof ee.secondsLeft=="number"&&o(ee.secondsLeft);break;case"refused":V.current.onRefused?.(ee.code||"guest"),qe();break;case"error":V.current.onError?.(ee.code||"unavailable"),qe();break}},Q.onclose=le=>{p.current===Q&&(le.code===4402&&(ae=!0,V.current.onError?.(le.reason==="site"?"siteLimit":"limit")),mt("ended"))},Q.onerror=()=>{!ae&&p.current===Q&&V.current.onError?.("connection")}},[_e,je,y,ne,Pe,Le,Pt,St,st,qe,mt]),jt=We(Q=>{let ae=p.current;if(fe.current=!1,t("connecting"),Pe(),st(),ae){try{ae.send(JSON.stringify({type:"close"}))}catch{}try{ae.close()}catch{}}let le=V.current;d.current=!0;let ee=new WebSocket(Ri(le,Q),Ti(le));p.current=ee,gt(ee)},[gt,Pe,st]),At=Ee(e.voice);xn(()=>{At.current!==e.voice&&(At.current=e.voice,p.current&&(n==="listening"||n==="thinking"||n==="speaking")&&jt(e.voice))},[e.voice,n,jt]);let Vt=We(async(Q=[])=>{if(m.current&&p.current)return;m.current=!0,t("connecting");let ae=V.current;ue.current=[],I.current=Q,R.current=[],S([]),f([]),O.current="",P.current="";let le=de();k.current?.resume().catch(()=>{}),Yn();let ee=p.current;ee&&ee.readyState===WebSocket.OPEN?Pt(ee):ee&&ee.readyState===WebSocket.CONNECTING?d.current=!0:(ee=new WebSocket(Ri(ae),Ti(ae)),p.current=ee,d.current=!0,gt(ee));let he;try{if(!navigator.mediaDevices?.getUserMedia)throw{name:"NotAllowedError"};he=await navigator.mediaDevices.getUserMedia({audio:{echoCancellation:!0,noiseSuppression:!0,autoGainControl:!0}})}catch(Xe){try{ee.close()}catch{}p.current=null,t("idle"),ae.onError?.(Xe?.name==="NotAllowedError"?"not-allowed":"audio-capture");return}if(p.current!==ee){he.getTracks().forEach(Xe=>Xe.stop());return}N.current=he;for(let Xe of he.getAudioTracks())Xe.enabled=!V.current.muted;let oe=await le;if(p.current!==ee){he.getTracks().forEach(Xe=>Xe.stop());return}if(!oe){V.current.onError?.("audio-worklet"),qe();return}oe.state==="suspended"&&oe.resume().catch(()=>{});let ve=oe.createAnalyser();ve.fftSize=1024,ve.smoothingTimeConstant=.25,z.current=ve;let Ce=oe.createGain();Ce.gain.value=1,Ce.connect(oe.destination),Y.current=Ce;let Se=oe.createAnalyser();Se.fftSize=1024,Se.smoothingTimeConstant=.25,Se.connect(Ce),D.current=Se;try{let Xe=new AudioWorkletNode(oe,"kiku-capture");T.current=Xe,Xe.port.onmessage=_t=>q(_t.data);let qt=oe.createMediaStreamSource(he),rt=()=>{if(!(p.current!==ee||!T.current)){try{qt.connect(ve)}catch{}try{qt.connect(Xe)}catch{}}};fe.current?rt():v.current=rt}catch{V.current.onError?.("audio-worklet"),qe()}},[gt,de,q,Pt,qe]);xn(()=>{if(n!=="listening"){a(!1);return}let Q=0,ae=!1,le=Date.now(),ee=window.setInterval(()=>{let he=Date.now();if(!V.current.muted&&se()>Bh&&(Q=he),he-Math.max(Q,le)>$h){window.clearInterval(ee),V.current.onError?.("idle"),qe();return}let oe=he-Q<qh;oe!==ae&&(ae=oe,a(oe))},100);return()=>window.clearInterval(ee)},[n,se,qe]);let zt=We(()=>{ce()},[ce]);xn(()=>()=>{qe()},[qe]),xn(()=>{let Q=N.current;if(Q)for(let ae of Q.getAudioTracks())ae.enabled=!e.muted},[e.muted,n]);let we=We(async Q=>{let ae=V.current.storeScene;if(!ae||!Q.type.startsWith("image/"))return!1;let le;try{le=await Jn(Q)}catch{return!1}let ee=++M.current;if(f(oe=>[...oe,{id:ee,url:le,pending:!1,sending:!0}]),!await ae(le))return f(oe=>oe.filter(ve=>ve.id!==ee)),!1;f(oe=>oe.map(ve=>ve.id===ee?{...ve,sending:!1}:ve)),u.current.push(le);let he=p.current;return he&&he.readyState===WebSocket.OPEN&&he.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},[]),bt=We(Q=>{let ae=p.current;ae&&ae.readyState===WebSocket.OPEN&&Q.trim()&&ae.send(JSON.stringify({type:"text",text:Q}))},[]);return{state:n,phase:n,hearing:r,sources:s,secondsLeft:c,photos:l,turns:X,images:G,micLevel:se,micSpectrum:K,spectrumBins:ge,start:Vt,stop:qe,prewarm:zt,attachPhoto:we,ask:bt}}var Gh=e=>e==="connecting"||e==="ended"?"idle":e,Li={turns:[],images:[]},Ni=()=>`v${Date.now().toString(36)}`;function Yh(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 s of[...a.images??[],...a.visualization?[a.visualization]:[]])r.push({id:-(r.length+1),url:s,pending:!1})}return{turns:t,images:r}}function Ii({voiceLang:e,speechLang:n,shopperLanguage:t,ttsVoice:r="Algenib",messages:a,handleSendUtterance:s,appendSpokenExchange:i}){let c=Oh(),[o,l]=Mr("off"),[h,p]=Mr("idle"),[m,d]=Mr(""),[v,g]=Mr(!1),[b,E]=Mr(!1),[k,N]=Mr(()=>{try{let I=localStorage.getItem(no);if(I&&mn.some(G=>G.name===I))return I}catch{}return r||"Algenib"}),T=Wh(Ni()),z=pa(I=>{N(I);try{localStorage.setItem(no,I)}catch{}},[]),F=xi({lang:e||n,onUtterance:I=>{p("thinking"),s(I)},onError:I=>{l("off"),p("idle"),d(I==="not-allowed"?"micDenied":I==="language-not-supported"?"micLangUnsupported":I==="audio-capture"?"micMissing":I==="network"?"micNetwork":"micFailed")},onBargeIn:()=>{ki()}}),$=c?.voiceUrl||c?.api?.voiceUrl||c?.api?.apiUrl||c?.apiUrl||"",Z=c?.api?.siteId||c?.siteId||"",A=c?.api?.apiToken||c?.apiToken||"",D=c?.getShopperId?.()||c?.getKikuPub?.()||void 0,Y=c?.getShopperName?.()||void 0,H=zi({apiUrl:$,siteId:Z,token:A,kikuId:D,proof:c?.getUserProof?.()||void 0,sessionId:c?.getSessionId?.()||void 0,storeScene:I=>c?.storeScene?.(I)??Promise.resolve(!1),name:Y,language:t,voice:k,muted:v,onExchange:I=>{i(I.heard,I.said,I.duration,I.userAudioUrl,I.audioUrl,{images:I.images,visualization:I.visualization,live:T.current})},onError:I=>{if(I==="shopper_reply_limit"||I==="access_revoked"||I==="account_required"){E(!0),H.stop(),l("off");return}l("off"),d(I==="idle"?"voiceIdleEnded":I==="not-allowed"?"micDenied":I==="audio-capture"?"micMissing":I==="limit"?"voiceLimitReached":I==="siteLimit"?"voiceSiteLimit":I==="connection"||I==="network"?"micNetwork":"voiceUnavailable")},onRefused:I=>{(I==="shopper_reply_limit"||I==="access_revoked"||I==="account_required")&&E(!0),l("off"),d("voiceUnavailable")}}),V=typeof window<"u"&&!!window.WebSocket&&!!(window.AudioContext||window.webkitAudioContext)&&!!navigator.mediaDevices?.getUserMedia,{prewarm:fe}=H;Ei(()=>{if(!V)return;let I=window;if(I.requestIdleCallback){let f=I.requestIdleCallback(fe,{timeout:3e3});return()=>I.cancelIdleCallback(f)}let G=window.setTimeout(fe,1500);return()=>window.clearTimeout(G)},[V,fe]),Ei(()=>{o==="converse"&&H.state==="ended"&&(l("off"),d("voiceSessionEnded"))},[o,H.state]);let[ue,j]=Mr(Li),re=pa(async I=>{if(!Js()){d("micInsecure");return}if(d(""),l(I),I==="dictate")p("listening"),await F.start();else{let G=Yh(a,T.current);j(G),H.start(G.turns)}},[H,F,a]),O=pa(()=>{H.stop(),T.current=Ni(),j(Li),H.start([])},[H]),P=pa(()=>{l("off"),p("idle"),F.stop(),H.stop()},[H,F]),X=o==="converse"?Gh(H.state):o==="dictate"?h==="listening"?F.hearing?"speaking":"listening":h:"idle",S=o==="converse"&&H.state!=="listening"&&H.state!=="thinking"&&H.state!=="speaking";return{attachPhoto:async I=>{await H.attachPhoto(I)||d("voicePhotoFailed")},voiceMode:o,voicePhase:X,voiceConnecting:S,voiceError:m,setVoiceError:d,voiceMuted:v,setVoiceMuted:g,voiceSecondsLeft:H.secondsLeft??null,voiceBlocked:b,liveVoiceName:k,chooseVoice:z,canConverse:V,startVoice:re,stopVoice:P,voice:F,live:H,earlier:ue,newVoiceChat:O}}import Oe from"react";import{useEffect as jh,useRef as Ze}from"react";import{jsx as Ie,jsxs as vt}from"react/jsx-runtime";var uo={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}},mo={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}},da=[[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]],Vh=.42,Kh=170;function Xh(e){let n=1;for(;n<da.length-1&&da[n][0]<e;)n++;let[t,r,a]=da[n-1],[s,i,c]=da[n],o=s===t?0:(e-t)/(s-t),l=o*o*(3-2*o);return[r+(i-r)*l,a+(c-a)*l]}var vn=6,Pi=["bw","bh","tr","br","bow","lid","warm","wob","gx","gy"],cr=(e,n,t)=>Math.max(n,Math.min(t,e));function Ai(e,n,t,r){let a=l=>l.toFixed(2),s=(n+t)/2,i=e+r,c=(s-n)*.55,o=(t-s)*.55;return`C${a(e)} ${a(n+c)} ${a(i)} ${a(s-c)} ${a(i)} ${a(s)}C${a(i)} ${a(s+o)} ${a(e)} ${a(t-o)} ${a(e)} ${a(t)}`}function Qh(e,n,t,r,a){let s=cr(e*t,8,n*.96),i=cr(e*r,8,n*.96),c=(p,m)=>`${p.toFixed(2)} ${m.toFixed(2)}`,o=.46,l=cr((e-s)/e,0,1),h=cr((e-i)/e,0,1);return`M${c(-e,-n+s)}C${c(-e,-n+s*o)} ${c(-e+s*o,-n)} ${c(-e+s,-n)}C${c(-e*.3*l,-n-2*l)} ${c(e*.3*l,-n-2*l)} ${c(e-s,-n)}C${c(e-s*o,-n)} ${c(e,-n+s*o)} ${c(e,-n+s)}`+Ai(e,-n+s,n-i,a)+`C${c(e,n-i*o)} ${c(e-i*o,n)} ${c(e-i,n)}C${c(e*.3*h,n+2*h)} ${c(-e*.3*h,n+2*h)} ${c(-e+i,n)}C${c(-e+i*o,n)} ${c(-e,n-i*o)} ${c(-e,n-i)}`+Ai(-e,n-i,-n+s,-a)+"Z"}var Br=[{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)"}],fo=[{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)"}],Ku=[...Br,...fo];function bo(e){let r=(!fo.includes(e)&&Math.random()<.26?fo:Br).filter(a=>a!==e);return r[Math.floor(Math.random()*r.length)]}function Dt(e){let n=parseInt(e.slice(1),16);return[n>>16&255,n>>8&255,n&255]}function ko(e){return`rgb(${Math.round(e[0])}, ${Math.round(e[1])}, ${Math.round(e[2])})`}function Jh(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 Zh=[[255,253,248],[247,240,231],[231,218,202],[198,178,156]],_i=[.05,.15,.42,.74],ep=[.52,.72,.9,1],Fi={color:"#E2581D",light:"#FFBE96",glow:"rgba(226, 88, 29, 0.34)"};function Di({state:e="idle",size:n=40,alert:t=!1,theme:r,feminine:a,accessories:s,onImpact:i,triggerRef:c,dropIn:o=!1}){let l=Ze(o),h=Ze(e);h.current=e;let p=Ze(t);p.current=t;let m=r==="blush"||a===!0||!!(s?.flower||s?.eyelashes||s?.blush),d=s?.flower??m,v=s?.eyelashes??m,g=s?.blush??m,b=Ze(null),E=Ze(null),k=Ze(null),N=Ze(null),T=Ze(null),z=Ze(null),F=Ze(null),C=Ze(null),$=Ze(null),Z=Ze(null),A=Ze(null),D=Ze(null),Y=Ze(null),H=Ze(null),V=Ze([]),fe=Ze([]),ue=Ze(null),j=Ze(`kiku-${Math.random().toString(36).slice(2,8)}`).current,re=Ze(i);return re.current=i,jh(()=>{let O=window.matchMedia("(prefers-reduced-motion: reduce)").matches,P={},X={};Pi.forEach(we=>{P[we]=uo.idle[we]??mo.idle[we]??0,X[we]=0});let S=Array.from({length:vn},()=>({x:0,y:0,w:0,h:0,rx:0,a:0})),R=Array.from({length:vn},()=>({x:0,y:0,w:0,h:0,rx:0,a:0})),I=1800,G=-1,f=0,M=2600,u=0,te=!1,B=9e3+Math.random()*8e3,_=-1,w=0;l.current&&!O&&(_=Vh,w=performance.now()+Kh);let y=0,L=0,q=0,ne=4200,de=0,ce=0,se=0,W=12e3,K=Br[0],ge=Dt(K.color),Pe=Dt(K.light),be=[...ge],Le=[...Pe],_e=2600,je=-1/0,ke=!1,tt=0,st=!1,St=0,mt=0,qe=0,Pt=!1,gt=0,jt=we=>{we-je<_e?(K=bo(K),be=Dt(K.color),Le=Dt(K.light),je=-1/0):je=we},At=(we,bt,Q,ae)=>{let le=h.current,ee=Array.from({length:vn},()=>({x:0,y:0,w:0,h:0,rx:0,a:0})),he=(oe,ve,Ce=0)=>{let Se=Math.max(4,54*Math.max(.06,bt));ee[oe]={x:ve+Q,y:-4+ae+Ce,w:21,h:Se,rx:10.5,a:1}};if(le==="thinking"){let ve=we%2800/2800,Ce=Math.pow(Math.sin(ve*Math.PI*2)*.5+.5,3);for(let Se=0;Se<4;Se++){let Xe=we/700+Se/4*Math.PI*2,qt=(26-Se%2*5)*(1-.94*Ce),rt=16+Ce*6+Math.sin(we/420+Se)*1.4;ee[Se]={x:Math.cos(Xe)*qt,y:Math.sin(Xe)*qt*.86+2,w:rt,h:rt,rx:rt/2,a:1}}}else if(le==="visualizing")ee[0]={x:0,y:-2,w:78,h:26,rx:13,a:1};else if(le==="speaking")for(let ve=0;ve<5;ve++){let Ce=12+Math.abs(Math.sin(we/150+ve*.9))*26;ee[ve]={x:(ve-4/2)*15,y:-2,w:9,h:Ce,rx:4.5,a:1}}else le==="failed"?(he(0,-22,8),he(1,22,8)):(he(0,-22),he(1,22));return ee};c&&(c.current=()=>{if(_>=0){st=!0,K=bo(K),be=Dt(K.color),Le=Dt(K.light),je=-1/0;return}_=0,jt(St),B=St+4e3});let Vt=we=>{St=we;let bt=h.current,Q=uo[bt]??uo.idle,ae=mo[bt]??mo.idle,le=bt==="idle"||bt==="failed";le&&!O&&(we>M&&(f=(Math.random()-.5)*2,M=we+1800+Math.random()*3600),P.wantGx=f*5);let ee=p.current?1:0;qe=(qe+(ee-mt)*.1)*.88,mt+=qe;let he=p.current&&!O?Math.sin(we/480)*.055*mt:0,oe={bw:Q.bw*(1+mt*.34+he),bh:Q.bh*(1+mt*.2+he),tr:Q.tr,br:Q.br,bow:Q.bow,warm:ae.warm,wob:ae.wob,lid:ae.lid,gx:le&&!O?f*5:0,gy:le&&!O?Math.sin(we/2600)*2:0};!O&&le&&(G<0&&we>I&&(G=0),G>=0&&(G+=1/7,oe.lid=ae.lid*Math.abs(G-.5)*2,G>=1&&(G=-1,oe.lid=ae.lid,I=we+(Math.random()<.22?340:2600+Math.random()*4200)))),Pi.forEach(ze=>{let Ve=ze;if(O){P[Ve]=oe[Ve];return}let Ae=Ve==="lid"?.42:.11,kt=Ve==="lid"?.55:.78;X[Ve]=(X[Ve]+(oe[Ve]-P[Ve])*Ae)*kt,P[Ve]+=X[Ve]});let ve=0,Ce=0;!O&&p.current&&_<0&&we>gt&&(_=0,gt=we+2100,B=we+4e3),!O&&bt==="idle"?_<0&&we>B&&(_=0,ke?(ke=!1,tt=0,K=bo(K),be=Dt(K.color),Le=Dt(K.light),je=-1/0):(tt++,jt(we))):_<0&&(B=we+3e3+Math.random()*3e3),_>=0&&(we>=w&&(_+=1/96),[ve,Ce]=Xh(_),_>=1&&(_=-1,ve=0,Ce=0,st?(st=!1,tt=0,B=we+150):!ke&&tt>=2?(ke=!0,B=we+240):B=we+5e3+Math.random()*5e3));let Se=Math.max(0,ve);if(p.current!==Pt){Pt=p.current;let ze=p.current?Fi:K;be=Dt(ze.color),Le=Dt(ze.light),p.current&&!O&&(_<0&&(_=0),gt=we+2600)}let Xe=p.current?Fi:K;if(O)ge=[...be],Pe=[...Le];else for(let ze=0;ze<3;ze++)ge[ze]+=(be[ze]-ge[ze])*.055,Pe[ze]+=(Le[ze]-Pe[ze])*.055;let qt=ko(ge),rt=ko(Pe);D.current?.setAttribute("stop-color",qt),Y.current?.setAttribute("stop-color",rt),H.current?.setAttribute("stop-color",rt);for(let ze=0;ze<4;ze++){let Ve=_i[ze]+(ep[ze]-_i[ze])*mt;V.current[ze]?.style.setProperty("stop-color",ko(Jh(Zh[ze],ge,Ve)))}let _t=.34+Math.sin(we/1200)*.06,dr=Se>.02?Math.min(.72,_t+Se*.34):_t;A.current?.setAttribute("opacity",dr.toFixed(3)),Se>.04?re.current?.(Se,Xe.color,Xe.glow):zt>.04&&re.current?.(0,Xe.color,Xe.glow),zt=Se;let Kt=O?0:Math.sin(we/1900)*.9*P.wob,Xt=P.bw*(1+ve*.55)+Kt*.4,ur=P.bh*(1-ve*.62),Jr=Qh(Xt,ur,cr(P.tr+Se*.5,0,1.2),cr(P.br+Se*.9,0,1),P.bow+Kt+Se*5);b.current?.setAttribute("d",Jr),E.current?.setAttribute("d",Jr);let Zr=bt==="thinking";Zr!==te&&(te=Zr,ue.current?.setAttribute("filter",Zr?`url(#${j}-goo)`:"none"));let Ea=At(we,P.lid*(1-Se*.85),P.gx,P.gy);for(let ze=0;ze<vn;ze++){let Ve=Ea[ze],Ae=S[ze],kt=R[ze];for(let dt of["x","y","w","h","rx","a"]){if(O){Ae[dt]=Ve[dt];continue}kt[dt]=(kt[dt]+(Ve[dt]-Ae[dt])*.16)*.74,Ae[dt]+=kt[dt]}let it=fe.current[ze];it&&(it.setAttribute("x",(Ae.x-Ae.w/2).toFixed(2)),it.setAttribute("y",(Ae.y-Ae.h/2).toFixed(2)),it.setAttribute("width",Math.max(0,Ae.w).toFixed(2)),it.setAttribute("height",Math.max(0,Ae.h).toFixed(2)),it.setAttribute("rx",Math.max(0,Math.min(Ae.rx,Ae.w/2,Ae.h/2)).toFixed(2)),it.setAttribute("opacity",cr(Ae.a,0,1).toFixed(2)))}let Pn=O?0:Math.sin(we/ae.breath)*1.5;!O&&le&&_<0?(we>ne&&(q=(Math.random()<.5?-1:1)*(.35+Math.random()*.65),ne=we+2600+Math.random()*4200),we>W&&(se=se>.1?0:1,W=we+(se>.1?900:9e3+Math.random()*11e3))):(q=0,se=0),L=(L+(q-y)*.028)*.9,y+=L,ce=(ce+(se-de)*.06)*.82,de+=ce;let en=P.bh-ur,tn=y*3.4+de*4.5,Er=y*2.2+de*3,An=de*2.4;if(k.current?.setAttribute("transform",`translate(${Er.toFixed(2)} ${(Pn+en-Ce+An).toFixed(2)}) rotate(${tn.toFixed(2)} 0 60)`),N.current&&N.current.setAttribute("transform",`translate(${Er.toFixed(2)} ${(Pn+en-Ce+An).toFixed(2)}) rotate(${tn.toFixed(2)} 0 60)`),d&&T.current){let ze=-Xt*.62,Ve=-ur*.7,Ae=-16+(O?0:Math.sin(we/1400)*3)+tn*.4;T.current.setAttribute("transform",`translate(${ze.toFixed(2)}, ${Ve.toFixed(2)}) rotate(${Ae.toFixed(2)})`)}if(g&&z.current){let ze=12+P.gy*.5;z.current.setAttribute("transform",`translate(0, ${ze.toFixed(2)})`)}if(v&&F.current){let ze=bt!=="thinking"&&bt!=="visualizing"&&bt!=="speaking";F.current.setAttribute("opacity",ze?cr(P.lid*1.3,0,1).toFixed(2):"0");let Ve=(Ae,kt)=>{let it=Math.max(1,Math.min(Ae.w,Ae.h)/2),dt=Ae.y-Ae.h/2+it,_n="";for(let[Fn,Lr]of[[20,7],[48,8],[76,6.5]]){let Qt=Fn*Math.PI/180,La=Ae.x+kt*Math.sin(Qt)*it,Na=dt-Math.cos(Qt)*it,Ia=Ae.x+kt*Math.sin(Qt)*(it+Lr),Jt=dt-Math.cos(Qt)*(it+Lr)-1.5,Pa=Ae.x+kt*Math.sin(Qt-.22)*(it+Lr*.65),Aa=dt-Math.cos(Qt-.22)*(it+Lr*.65);_n+=` M ${La.toFixed(2)} ${Na.toFixed(2)} Q ${Pa.toFixed(2)} ${Aa.toFixed(2)} ${Ia.toFixed(2)} ${Jt.toFixed(2)}`}return _n.trim()};C.current?.setAttribute("d",Ve(S[0],-1)),$.current?.setAttribute("d",Ve(S[1],1))}u=requestAnimationFrame(Vt)},zt=0;return u=requestAnimationFrame(Vt),()=>cancelAnimationFrame(u)},[d,v,g,m]),vt("svg",{className:"hsk-kiku-avatar",width:n,height:n,viewBox:"-100 -100 200 200","aria-hidden":"true",style:{display:"block",overflow:"visible"},children:[vt("defs",{children:[Ie("linearGradient",{id:`${j}-marble`,x1:".2",y1:"0",x2:".42",y2:"1",children:[0,40,82,100].map((O,P)=>Ie("stop",{ref:X=>{V.current[P]=X},offset:`${O}%`,style:{stopColor:`var(--hsk-marble-${P+1}, #FAF7F2)`}},O))}),vt("linearGradient",{id:`${j}-contact`,x1:"0",y1:"1",x2:"0",y2:"0",children:[Ie("stop",{ref:D,offset:"0%",stopColor:Br[0].color,stopOpacity:"0.9"}),Ie("stop",{ref:Y,offset:"45%",stopColor:Br[0].light,stopOpacity:"0.5"}),Ie("stop",{ref:H,offset:"100%",stopColor:Br[0].light,stopOpacity:"0"})]}),vt("radialGradient",{id:`${j}-sheen`,cx:".34",cy:".2",r:".55",children:[Ie("stop",{offset:"0%",stopColor:"#FFFFFF",style:{stopOpacity:"var(--hsk-marble-sheen, .9)"}}),Ie("stop",{offset:"100%",stopColor:"#FFFFFF",stopOpacity:"0"})]}),vt("linearGradient",{id:`${j}-hibiscus-petal`,x1:"0",y1:"1",x2:"0",y2:"0",children:[Ie("stop",{offset:"0%",stopColor:"#FF3366"}),Ie("stop",{offset:"65%",stopColor:"#FF758F"}),Ie("stop",{offset:"100%",stopColor:"#FFAAA6"})]}),vt("radialGradient",{id:`${j}-blush-cheek`,cx:"50%",cy:"50%",r:"50%",children:[Ie("stop",{offset:"0%",stopColor:"#FB7185",stopOpacity:"0.48"}),Ie("stop",{offset:"100%",stopColor:"#FB7185",stopOpacity:"0"})]}),Ie("clipPath",{id:`${j}-skin`,children:Ie("use",{href:`#${j}-body`})}),vt("filter",{id:`${j}-goo`,x:"-50%",y:"-50%",width:"200%",height:"200%",children:[Ie("feGaussianBlur",{in:"SourceGraphic",stdDeviation:"4",result:"b"}),Ie("feColorMatrix",{in:"b",values:"1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 18 -7"})]}),vt("mask",{id:`${j}-cut`,children:[Ie("path",{ref:E,d:"",fill:"#FFFFFF"}),Ie("g",{ref:ue,children:Array.from({length:vn},(O,P)=>Ie("rect",{ref:X=>{fe.current[P]=X},fill:"#000000"},P))})]})]}),vt("g",{ref:k,mask:`url(#${j}-cut)`,children:[Ie("path",{id:`${j}-body`,ref:b,d:"",fill:`url(#${j}-marble)`}),vt("g",{clipPath:`url(#${j}-skin)`,children:[Ie("ellipse",{cx:"-14",cy:"-40",rx:"46",ry:"34",fill:`url(#${j}-sheen)`}),Ie("rect",{ref:A,x:"-100",y:"-20",width:"200",height:"100",fill:`url(#${j}-contact)`,opacity:"0.45"})]})]}),vt("g",{ref:N,style:{pointerEvents:"none"},children:[g&&vt("g",{ref:z,children:[Ie("ellipse",{cx:"-28",cy:"0",rx:"10",ry:"5.5",fill:`url(#${j}-blush-cheek)`}),Ie("ellipse",{cx:"28",cy:"0",rx:"10",ry:"5.5",fill:`url(#${j}-blush-cheek)`})]}),v&&vt("g",{ref:F,children:[Ie("path",{ref:C,stroke:"#3D1424",strokeWidth:"1.7",strokeLinecap:"round",fill:"none"}),Ie("path",{ref:$,stroke:"#3D1424",strokeWidth:"1.7",strokeLinecap:"round",fill:"none"})]}),d&&vt("g",{ref:T,className:"hsk-avatar-flower",children:[Ie("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(O=>Ie("path",{d:"M 0 0 C -6 -13 6 -13 0 0 Z",fill:`url(#${j}-hibiscus-petal)`,stroke:"#FF2A5F",strokeWidth:"0.6",transform:`rotate(${O-18})`},O)),Ie("path",{d:"M 0 0 Q 3 -10 9 -14",stroke:"#F59E0B",strokeWidth:"1.6",strokeLinecap:"round",fill:"none"}),Ie("circle",{cx:"9",cy:"-14",r:"1.3",fill:"#FDE047"}),Ie("circle",{cx:"7",cy:"-12",r:"1.1",fill:"#FDE047"}),Ie("circle",{cx:"6.5",cy:"-15",r:"1.1",fill:"#FDE047"}),Ie("circle",{cx:"0",cy:"0",r:"2.2",fill:"#881337"})]})]})]})}import{useState as Hi}from"react";import{Fragment as Bi,jsx as qr,jsxs as ua}from"react/jsx-runtime";function ma({className:e="",compact:n=!1}){let[t,r]=Hi(()=>is()),[a,s]=Hi(""),i=()=>{let c=!t;cs(c),r(c),Et(c?"reply":"interrupt",!0),s(ls())};return ua("button",{type:"button",className:ie("hsk-cb-sound-pill",n&&"is-compact",t&&"is-on",a&&a!=="running"&&a!=="off"&&"is-blocked",e),onClick:i,role:"switch","aria-checked":t,"aria-label":t?"Mute notification sounds":"Unmute notification sounds",children:[ua("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[qr("path",{d:"M11 5 6 9H3v6h3l5 4V5Z"}),t?ua(Bi,{children:[qr("path",{className:"hsk-snd-wave",style:{"--hsk-wave":0},d:"M15.5 8.5a5 5 0 0 1 0 7"}),qr("path",{className:"hsk-snd-wave",style:{"--hsk-wave":1},d:"M18.5 5.5a9 9 0 0 1 0 13"})]}):ua(Bi,{children:[qr("line",{className:"hsk-snd-x",x1:"16",y1:"9",x2:"21",y2:"15"}),qr("line",{className:"hsk-snd-x",x1:"21",y1:"9",x2:"16",y2:"15"})]})]}),!n&&qr("span",{children:t?"Sounds":"Muted"})]})}import{useCallback as qi,useLayoutEffect as tp,useRef as $r}from"react";var rp=300,np=220,ap=120,op=.45,sp=.4,ip=.25,ba=e=>Math.min(1,Math.max(0,e));function cp(e,n,t,r){let a=3*e,s=3*(t-e)-a,i=1-a-s,c=3*n,o=3*(r-n)-c,l=1-c-o,h=d=>((i*d+s)*d+a)*d,p=d=>((l*d+o)*d+c)*d,m=d=>(3*i*d+2*s)*d+a;return d=>{let v=d;for(let g=0;g<8;g++){let b=h(v)-d,E=m(v);if(Math.abs(b)<1e-5||Math.abs(E)<1e-6)break;v-=b/E}return p(ba(v))}}var lp=cp(.32,.72,0,1);function hp(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 $i({target:e,trigger:n,shadow:t,radius:r=0,enabled:a,onClosed:s}){let i=$r(null),c=$r(null),o=$r(!1),l=$r(0),h=$r(null),p=$r(s);p.current=s;let m=qi(k=>{l.current=k;let N=e(),T=i.current,z=c.current;if(!N||!T||!z)return;let F=1-k,C=Math.min(Math.max(T.top,z.top),z.bottom-T.height),$=Math.min(Math.max(T.left,z.left),z.right-T.width),Z=(T.top-C)*F,A=(T.left-$)*F,D=Math.max(0,(C-z.top)*F),Y=Math.max(0,($-z.left)*F),H=Math.max(0,(z.right-$-T.width)*F),V=Math.max(0,(z.bottom-C-T.height)*F),fe=T.radius*F+r*k;N.style.clipPath=`inset(${D}px ${H}px ${V}px ${Y}px round ${fe}px)`,N.style.translate=A||Z?`${A}px ${Z}px`:"";let ue=t?.();ue&&Object.assign(ue.style,{left:`${Y}px`,top:`${D}px`,width:`${Math.max(0,z.width-Y-H)}px`,height:`${Math.max(0,z.height-D-V)}px`,borderRadius:`${fe}px`,translate:N.style.translate}),N.style.setProperty("--hsk-island-content",String(ba((k-op)/sp)));let j=String(ba(k/ip));N.style.opacity=j,ue&&(ue.style.opacity=j)},[e,t,r]),d=()=>{let k=e();if(k)for(let T of["clip-path","translate","--hsk-island-content","opacity"])k.style.removeProperty(T);let N=t?.();if(N)for(let T of["left","top","width","height","border-radius","translate","opacity"])N.style.removeProperty(T)},v=()=>{h.current!==null&&cancelAnimationFrame(h.current),h.current=null},g=(k,N,T)=>{v();let z=l.current,F=Math.max(ap,N*Math.abs(k-z)),C=performance.now(),$=Z=>{let A=ba((Z-C)/F);m(z+(k-z)*lp(A)),A<1?h.current=requestAnimationFrame($):(h.current=null,T())};m(z),h.current=requestAnimationFrame($)},b=(k,N)=>{i.current=hp(N),k.style.clipPath="",k.style.translate="",c.current=k.getBoundingClientRect()};return tp(()=>{if(!a)return;let k=e(),N=n();if(!(!k||!N))return o.current=!1,k.style.removeProperty("pointer-events"),b(k,N),l.current=0,g(1,rp,d),()=>{v(),d()}},[a]),{close:qi(()=>{let k=e(),N=a?n():null,T=N?.getBoundingClientRect(),z=T&&T.bottom>0&&T.top<window.innerHeight;if(!k||!N||!z){p.current();return}let F=h.current!==null?l.current:1;b(k,N),o.current=!0,k.style.pointerEvents="none",l.current=F,g(0,np,()=>p.current())},[a,e,n])}}import{jsx as nt,jsxs as Ur}from"react/jsx-runtime";var Ui=!1;function Wi({title:e,logo:n,hasMessages:t,avatarState:r="idle",unread:a=!1,awayFromBottom:s=!1,themeMenuOpen:i=!1,themeMenuClosing:c=!1,onThemeMenuClosed:o,isNarrow:l=!1,currentTheme:h="dark",onJumpToLatest:p,onReset:m,onClose:d,onToggleThemeMenu:v,onSelectTheme:g,themeAttr:b,below:E}){let k=or(),N=Oe.useRef(null),T=Oe.useRef(null),z=Oe.useRef(null),F=Oe.useRef(null),[C]=Oe.useState(()=>{let u=!Ui;return Ui=!0,u});Oe.useLayoutEffect(()=>{let u=N.current,te=F.current,B=T.current;if(!u||!te||!B)return;let _=te.offsetParent;if(!_)return;let w=_.offsetTop+te.offsetTop+te.offsetHeight/2;u.style.setProperty("--hsk-tray-top",`${w}px`),u.style.setProperty("--hsk-tray-head",`${te.offsetHeight/2+8}px`),u.style.setProperty("--hsk-tray-h",`${B.offsetHeight}px`),u.style.setProperty("--hsk-tray-w",`${B.offsetWidth}px`)},[i,l]);let[$]=Oe.useState(()=>typeof window<"u"&&!window.matchMedia?.("(prefers-reduced-motion: reduce)").matches),[Z,A]=Oe.useState(!1);Oe.useEffect(()=>{if(!l||Z)return;let u=window.requestIdleCallback,te=u?u(()=>A(!0),{timeout:1200}):setTimeout(()=>A(!0),600);return()=>{let B=window.cancelIdleCallback;u&&B?B(te):clearTimeout(te)}},[l,Z]);let D=l&&(i||Z),Y=$i({target:Oe.useCallback(()=>T.current,[]),trigger:Oe.useCallback(()=>F.current,[]),shadow:Oe.useCallback(()=>z.current,[]),radius:18,enabled:l&&i&&$,onClosed:()=>o?.()});Oe.useEffect(()=>{l&&c&&Y.close()},[c,l]);let[H,V]=Oe.useState(!1),[fe,ue]=Oe.useState("#134e3d"),[j,re]=Oe.useState("rgba(19, 78, 61, 0.45)"),O=Oe.useRef(void 0),P=Oe.useRef(null),X=Oe.useRef(!1),S=Oe.useRef(0),R=Oe.useCallback(()=>{X.current=!1,S.current=Date.now(),P.current=setTimeout(()=>{if(X.current=!0,typeof navigator<"u"&&navigator.vibrate)try{navigator.vibrate(25)}catch{}v?.()},350)},[v]),I=Oe.useCallback(()=>{P.current&&(clearTimeout(P.current),P.current=null)},[]),G=Oe.useCallback(()=>{P.current&&(clearTimeout(P.current),P.current=null)},[]),f=Oe.useCallback(u=>{if(X.current){X.current=!1,u.preventDefault(),u.stopPropagation();return}s?p?.():l?v?.():O.current?.()},[s,l,p,v]),M=Oe.useCallback((u,te,B)=>{u>.04?(V(!0),ue(te),re(B)):V(!1)},[]);return Ur("div",{ref:N,className:ie("hsk-cb-topbar",l&&i&&"is-docked"),children:[nt("div",{className:"hsk-cb-topbar-left",style:{minWidth:"34px"},children:l&&nt("button",{type:"button",className:"hsk-cb-back",onClick:d,"aria-label":k("back"),children:nt("span",{className:"hsk-cb-back-icon",children:nt(jn,{})})})}),Ur("div",{className:ie("hsk-cb-topbar-mark",l&&i&&"is-oozing"),"data-impacting":H?"true":"false",style:{"--hsk-contact-color":fe,"--hsk-contact-glow":j},"data-unread":a?"true":"false",onTouchStart:R,onTouchEnd:I,onTouchMove:G,onTouchCancel:G,onClick:f,role:"button",tabIndex:0,"aria-label":s?k("jumpToLatest"):`${e} (tap for themes)`,children:[nt(Di,{state:r,size:34,theme:h,alert:a,onImpact:M,triggerRef:O,dropIn:C}),n?nt("img",{ref:F,className:"hsk-cb-topbar-logo",src:n,alt:e}):nt("span",{ref:F,className:"hsk-cb-topbar-name",children:e})]}),Ur("div",{className:"hsk-cb-topbar-actions",style:{display:"flex",alignItems:"center",gap:"6px"},children:[t&&nt("button",{className:"hsk-cb-topbar-btn",onClick:m,children:k("clearChat")}),!l&&nt("button",{type:"button",className:"hsk-cb-squircle-btn hsk-cb-exit-btn",onClick:d,"aria-label":"Close Chat",children:nt(Pr,{})})]}),l&&i&&nt("div",{className:ie("hsk-cb-topbar-scrim",c&&"is-closing"),onClick:v,"aria-hidden":"true"}),D&&nt("div",{className:ie("hsk-cb-tray-shadow",!i&&"is-parked"),"aria-hidden":"true",children:nt("div",{ref:z})}),D&&nt("div",{ref:T,className:ie("hsk-cb-topbar-ooze-menu",c&&"is-closing",$&&"is-island",!i&&"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:Ur("div",{className:"hsk-cb-theme-block",children:[Ur("div",{className:"hsk-cb-tray-aside",children:[nt(ma,{compact:!0}),nt("span",{className:"hsk-cb-tray-rule","aria-hidden":"true"}),nt("span",{className:"hsk-cb-theme-vlabel","aria-hidden":"true",children:"Themes"})]}),nt("div",{className:"hsk-cb-theme-2x2-grid",children:kr.map(({id:u,label:te,Icon:B})=>Ur("button",{type:"button",className:ie("hsk-cb-theme-grid-item",h===u&&"is-active"),onClick:_=>{_.stopPropagation(),g?.(u)},children:[nt(B,{}),nt("span",{children:te})]},u))})]})}),l&&i&&E&&nt("div",{className:ie("hsk-cb-tray-below",c&&"is-closing"),children:E})]})}import lr from"react";import ka from"react";import{jsx as Yi,jsxs as fp}from"react/jsx-runtime";var pp=83,dp=2,ga=240,vo=160,ft=ga/2,lt=vo/2,Wt=24,Wr=50,Or=56,yo=124,Gr=22,Nt=6,wo=13,up=30,Ht=(e,n,t)=>e+(n-e)*t,Cn=(e,n)=>Math.sin(e*12.9898+n*78.233)*.5;function ji(e,n,t,r,a,s=0){let i=[];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+Cn(e.n,l)*.02;i.push([n+Math.cos(h+s)*r*p,t+Math.sin(h+s)*a*p])}let c=(l,h)=>[(l[0]+h[0])/2,(l[1]+h[1])/2],{ctx:o}=e;o.beginPath(),o.moveTo(...c(i[15],i[0]));for(let l=0;l<16;l++)o.quadraticCurveTo(i[l][0],i[l][1],...c(i[l],i[(l+1)%16]));o.closePath()}function va(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 To(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 mp(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 Tr(e,n,t=0){let{ctx:r}=e,a=n*(1+t*.3);r.save(),va(e,t),r.fillStyle=To(e,ft,lt,a),ji(e,ft,lt,a,a,e.n*.03),r.fill(),r.restore()}function go(e,n,t,r){let{ctx:a}=e;a.save(),r!==void 0&&(a.beginPath(),a.rect(0,0,ga,r),a.clip()),va(e,0),a.fillStyle=To(e,ft,lt,Math.max(n,t)),ji(e,ft,lt,n,t),a.fill(),a.restore()}function fa(e,n,t,r,a,s=a/2,i=a/2){let{ctx:c}=e;c.save(),va(e,0),c.fillStyle=mp(e,r,a),c.beginPath(),c.roundRect(n+Cn(e.n,n)*.6,r-a/2+Cn(e.n,r)*.6,t-n,a,[s,i,i,s]),c.fill(),c.restore()}function Co(e,n,t,r,a=0){let{ctx:s}=e,i=r*(1+a*.2);s.save(),va(e,a),s.fillStyle=To(e,n,t,i),s.beginPath(),s.arc(n,t,i,0,Math.PI*2),s.fill(),s.restore(),s.save(),s.strokeStyle=e.dark,s.lineWidth=1.4,s.lineCap="round",s.beginPath();for(let c=0;c<=1.001;c+=.04){let o=c*Math.PI*5+n*.3,l=(1.5+c*(r-4))*(1+a*.2),h=n+Math.cos(o)*l,p=t+Math.sin(o)*l;c===0?s.moveTo(h,p):s.lineTo(h,p)}s.stroke(),s.restore()}function xa(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,s=38+(1-n)*8,i=r%2?5:8;t.beginPath(),t.moveTo(ft+Math.cos(a)*s,lt+Math.sin(a)*s),t.lineTo(ft+Math.cos(a)*(s+i),lt+Math.sin(a)*(s+i)),t.stroke()}t.restore()}var So=e=>ft-yo/2+yo*e/Nt;function bp(e,n){let{ctx:t}=e;t.save(),t.strokeStyle=e.dark,t.lineWidth=1.5,t.lineCap="round",t.beginPath(),t.moveTo(n,lt-Gr/2+2),t.lineTo(n+Cn(e.n,n)*1.5,lt+Gr/2-2),t.stroke(),t.restore()}var Mo=e=>ft+(e-(Nt-1)/2)*up;function yn(e,n,t=-1,r=-1){for(let a=0;a<Nt;a++){let s=0;for(let o=0;o<n;o++)s+=a<=o?-2:2;let i=So(a)+s,c=So(a+1)+s;a===r?Co(e,Ht((i+c)/2,Mo(a),.5),lt-4,wo,.5):a<=t?Co(e,Mo(a),lt,wo):fa(e,i,c,lt,Gr,a===0?Gr/2:2,a===Nt-1?Gr/2:2)}}function kp(){let e=[];for(let r=0;r<5;r++)e.push({draw:a=>Tr(a,Wt)});let n=[[Wt,Wt,34,38],[34,38,44,48],[44,48,Wr,Or]];for(let[r,a,s,i]of n){for(let c=0;c<3;c++){let o=(c+1)/3,l=c===0?1.05:1;e.push({hold:1,thump:c===0?.25:void 0,draw:h=>go(h,Ht(r,s,o),Ht(a,i,o)*l)})}e.push({hold:1,draw:c=>go(c,s,i)})}let t=0;for(let r=0;r<12;r++){let a=(r+1)/12,s=Ht(lt+Or,lt-Or,a),i=Ht(8,24,a),c=(s-lt)/Or;t=Math.max(t,2*Wr*Math.sqrt(Math.max(0,1-c*c)),30);let o=t;e.push({draw:l=>{a<1&&go(l,Wr,Or,s-i*.3),fa(l,ft-o/2,ft+o/2,s,i)}})}for(let r of[.5,1])e.push({draw:a=>fa(a,ft-Wr,ft+Wr,Ht(lt-Or,lt,r),24)});for(let r=0;r<6;r++){let a=(r+1)/6,s=Ht(2*Wr,yo,a),i=Ht(24,Gr,a),c=r%2?2:-2;e.push({draw:o=>fa(o,ft-s/2+c,ft+s/2+c,lt,i)})}for(let r=1;r<Nt;r++)e.push({draw:a=>{yn(a,r-1),bp(a,So(r))}}),e.push({thump:.35,draw:a=>yn(a,r)});e.push({draw:r=>yn(r,Nt-1)});for(let r=0;r<Nt;r++)e.push({thump:.12,draw:a=>yn(a,Nt-1,r-1,r)});for(let r=0;r<4;r++)e.push({draw:a=>yn(a,Nt-1,Nt-1)});for(let r of[.35,.7,1])e.push({draw:a=>{for(let s=0;s<Nt;s++)Co(a,Ht(Mo(s),ft,r),lt,Ht(wo,10,r),.4)}});return e.push({thump:1,draw:r=>{Tr(r,Wt*1.3),xa(r,1)}}),e.push({draw:r=>{Tr(r,Wt*1.12),xa(r,.4)}}),e.push({draw:r=>Tr(r,Wt*1.04)}),e}var wn=kp(),Oi=[...[1.6,1.25,.9,.5,.18].map(e=>({draw:n=>Tr(n,Wt,e)})),{thump:.7,draw:e=>{Tr(e,Wt*1.24),xa(e,1)}},{draw:e=>{Tr(e,Wt*1.08),xa(e,.4)}}],Gi=[1,.7,.35,0];function xo(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 Vi({phase:e,label:n}){let t=ka.useRef(null),r=ka.useRef(null),a=ka.useRef({n:0,at:0,held:0,entered:!1,last:wn[0]});return ka.useEffect(()=>{let s=t.current,i=r.current,c=s?.getContext("2d");if(!s||!c||!i)return;let o=Math.min(window.devicePixelRatio||1,3);s.width=ga*o,s.height=vo*o;let l="var(--hsk-primary, #ff6a33)",h={ctx:c,dpr:o,n:0,clay:xo(s,l),light:xo(s,`color-mix(in srgb, ${l} 55%, white)`),dark:xo(s,`color-mix(in srgb, ${l} 70%, black)`),ink:getComputedStyle(s).getPropertyValue("--hsk-doodle-ink").trim()||"31, 31, 31"},p=a.current,m=(k,N=1)=>{c.setTransform(o,0,0,o,0,0),c.clearRect(0,0,ga,vo),c.globalAlpha=N,h.n=p.n++,k.draw(h),c.globalAlpha=1},d=k=>{let N=s.getBoundingClientRect();Os({x:N.left+N.width/2,y:N.top+N.height/2,strength:k}),i.style.translate="0 1px",i.style.rotate=`${Cn(p.n,4)*.8}deg`};if(window.matchMedia?.("(prefers-reduced-motion: reduce)")?.matches){m(wn[0]);return}let v=e==="exit"?null:e==="enter"&&!p.entered?Oi:wn;v&&(p.at=0);let g=0,b=0,E=()=>{if(i.style.translate="",i.style.rotate="",!v){g===0&&d(.6),m(p.last,Gi[g]),++g>=Gi.length&&clearInterval(b);return}let k=v[p.at];m(k),p.last=k,k.thump&&p.held===0&&d(k.thump),!(v===wn&&++p.held<(k.hold??dp))&&(p.held=0,!(++p.at<v.length)&&(v===Oi&&(p.entered=!0),v=wn,p.at=0))};return E(),b=window.setInterval(E,pp),()=>clearInterval(b)},[e==="exit"]),fp("div",{className:"hsk-clay",children:[Yi("canvas",{className:"hsk-clay-table",ref:t,"aria-hidden":"true"}),Yi("p",{className:"hsk-lang-preparing",ref:r,children:n})]})}import{jsx as xe,jsxs as Ge}from"react/jsx-runtime";function gp(){return xe("span",{className:"hsk-cb-check","aria-hidden":"true",children:xe("svg",{viewBox:"0 0 16 16",children:xe("path",{d:"M3.5 8.4 6.6 11.4 12.6 4.8"})})})}function Ki({inOnboarding:e,justCompleted:n,onboardingMood:t,awaitingLang:r,awaitingName:a,awaitingEntityLang:s,awaitingConsent:i,termsAgreed:c,shopperLanguage:o,pendingLanguage:l,shopperName:h,entityLangPref:p,chromeReady:m,activeChips:d,speechLang:v,t:g,tNode:b,chooseLanguage:E,langSwitching:k=!1,isLangPreparing:N,onPrewarmLanguage:T,chooseEntityLang:z,agreeTerms:F,handleSend:C}){let $=l||o,Z=!$||$.toLowerCase()==="english"||$.toLowerCase()==="en",A=N??(k||!!l||!!o&&!m&&!Z),D=yr($),[Y,H]=lr.useState(A),[V,fe]=lr.useState(()=>A?"spinner-steady":"idle"),ue=lr.useRef([]),j=()=>{ue.current.forEach(clearTimeout),ue.current=[]};A!==Y&&(H(A),j(),A?(fe("step1-exit"),ue.current.push(setTimeout(()=>fe("spinner-enter"),280)),ue.current.push(setTimeout(()=>fe("spinner-steady"),960))):(fe("spinner-exit"),ue.current.push(setTimeout(()=>fe("idle"),460)))),lr.useEffect(()=>()=>j(),[]);let re=V==="spinner-enter"||V==="spinner-steady"||V==="spinner-exit",O=V==="step1-exit",P=re||O||!o||r?"1":!h||a?"2":!p||s?"3":!c||i?"4":null,[X,S]=lr.useState(null),[R,I]=lr.useState(3);lr.useEffect(()=>{if(!i)return;I(3);let f=setInterval(()=>{I(M=>M<=1?(clearInterval(f),0):M-1)},1e3);return()=>clearInterval(f)},[i]);let G=o?un(o,v)||o.charAt(0).toUpperCase()+o.slice(1):"";return lr.useEffect(()=>{if(r&&T){let f=typeof window<"u"?window.requestIdleCallback:void 0,M=f?f(()=>T("Urdu"),{timeout:2e3}):setTimeout(()=>T("Urdu"),500);return()=>{f&&typeof window<"u"?window.cancelIdleCallback?.(M):clearTimeout(M)}}},[r,T]),xe("div",{className:"hsk-cb-empty",children:Ge("div",{className:"hsk-cb-onboarding-card",children:[P&&xe("div",{className:"hsk-cb-onboarding-head",children:Ge("span",{className:"hsk-cb-step-badge",dir:"ltr",children:[P," / 4"]})}),re?xe("div",{className:ie("hsk-lang-loader",V==="spinner-enter"&&"hsk-lang-loader--enter",V==="spinner-exit"&&"hsk-lang-loader--exit"),children:xe(Vi,{phase:V==="spinner-exit"?"exit":V==="spinner-enter"?"enter":"steady",label:D.preparing})},"spinner-loading"):O||r||!o?Ge("div",{className:ie("hsk-cb-hello-wrap",O&&"hsk-step1-exit"),children:[xe("h2",{className:"hsk-cb-hello",children:"Which language do you want to use?"}),Ge("div",{className:"hsk-cb-lang-chips",children:[na.map((f,M)=>xe("button",{type:"button",className:"hsk-cb-lang-chip",style:{"--hsk-pill-idx":M},lang:f.tag,dir:f.rtl?"rtl":"ltr",disabled:k,onPointerEnter:()=>!k&&T?.(f.value),onPointerDown:()=>!k&&T?.(f.value),onClick:()=>!k&&E(f.value),children:f.native},f.value)),xe("span",{className:"hsk-cb-lang-chips-hint",style:{"--hsk-pill-idx":na.length},children:"or type another one"})]})]},"step-lang"):a||!h?Ge("div",{className:"hsk-cb-hello-wrap hsk-cb-name-step hsk-step-enter",children:[xe("h2",{className:"hsk-cb-hello",children:g("nameStepTitle")}),xe("p",{className:"hsk-cb-hello-ask",children:g("nameStepAsk")}),xe("p",{className:"hsk-cb-hello-hint",children:g("nameStepHint")})]},"step-name"):s?Ge("div",{className:"hsk-cb-hello-wrap",children:[xe("h2",{className:"hsk-cb-hello",children:g("howShouldResultsLook")}),xe("p",{className:"hsk-cb-hello-lead",children:b("entityLangIntro",{lang:G})}),xe("div",{className:"hsk-cb-entlang-opts",role:"radiogroup","aria-label":g("howShouldResultsLook"),children:["translated","original"].map((f,M)=>Ge("button",{type:"button",role:"radio","aria-checked":(X??p)===f,className:ie("hsk-cb-entlang-opt",(X??p)===f&&"is-selected"),style:{"--hsk-opt-idx":M},onClick:()=>S(f),children:[xe(gp,{}),Ge("span",{className:"hsk-cb-entlang-opt-text",children:[xe("span",{className:"hsk-cb-entlang-opt-title",children:f==="translated"?b("inLanguage",{lang:G}):g("asWritten")}),xe("span",{className:"hsk-cb-entlang-opt-note",children:g(f==="translated"?"detailsTranslated":"namesAsWritten")})]})]},f))}),xe("div",{className:"hsk-cb-terms-action-wrap",children:xe("button",{type:"button",className:ie("hsk-cb-terms-agree-btn",X&&"is-active"),disabled:!X,onClick:()=>X&&z(X),children:g("continueButton")})})]},"step-entity-lang"):i?Ge("div",{className:"hsk-cb-hello-wrap",children:[xe("h2",{className:"hsk-cb-hello",children:g("termsStepTitle")}),xe("p",{className:"hsk-cb-hello-lead",children:g("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:[xe("span",{className:"hsk-cb-terms-numeral",children:"I"}),xe("h3",{className:"hsk-cb-terms-title",children:g("termsPiiTitle")})]}),xe("p",{className:"hsk-cb-terms-desc",children:g("termsPiiDesc")})]}),xe("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:[xe("span",{className:"hsk-cb-terms-numeral",children:"II"}),xe("h3",{className:"hsk-cb-terms-title",children:g("termsSessionTitle")})]}),xe("p",{className:"hsk-cb-terms-desc",children:g("termsSessionDesc")})]}),xe("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:[xe("span",{className:"hsk-cb-terms-numeral",children:"III"}),xe("h3",{className:"hsk-cb-terms-title",children:g("termsMemoryTitle")})]}),xe("p",{className:"hsk-cb-terms-desc",children:g("termsMemoryDesc")})]}),xe("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:[xe("span",{className:"hsk-cb-terms-numeral",children:"IV"}),xe("h3",{className:"hsk-cb-terms-title",children:g("termsCookieTitle")})]}),xe("p",{className:"hsk-cb-terms-desc",children:g("termsCookieDesc")})]}),xe("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:[xe("span",{className:"hsk-cb-terms-numeral",children:"V"}),xe("h3",{className:"hsk-cb-terms-title",children:g("termsAiTitle")})]}),xe("p",{className:"hsk-cb-terms-desc",children:g("termsAiDesc")})]})]}),Ge("p",{className:"hsk-cb-terms-more",children:[g("privacyMore")," ",xe("a",{href:"https://akropolys.cloud/privacy",target:"_blank",rel:"noopener noreferrer",dir:"ltr",children:"akropolys.cloud/privacy"})]}),xe("div",{className:"hsk-cb-terms-action-wrap",children:xe("button",{type:"button",className:ie("hsk-cb-terms-agree-btn",R===0&&"is-active"),disabled:R>0,onClick:F,children:R>0?g("termsAgreeCounting",{seconds:String(R)}):g("termsAgreeButton")})})]},"step-terms"):n?Ge("div",{className:"hsk-cb-hello-wrap",children:[xe("h2",{className:"hsk-cb-hello",children:b("allSet",{name:h})}),xe("p",{className:"hsk-cb-hello-lead",children:p==="translated"?b("replyingTranslated",{lang:G}):b("replyingOriginal",{lang:G})})]},"step-completed"):h?Ge("div",{className:"hsk-cb-hello-wrap",children:[xe("h2",{className:"hsk-cb-hello",children:b("greetReturning",{name:h})}),xe("p",{className:"hsk-cb-hello-lead",children:g("greetReturningLead")})]},"step-returning"):Ge("div",{className:"hsk-cb-hello-wrap",children:[Ge("h2",{className:"hsk-cb-hello",children:["Hello, I am ",xe("b",{children:"kiku"}),"."]}),xe("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"),!e&&(d?.length??0)>0&&xe("div",{className:"hsk-cb-chips",children:d.map((f,M)=>xe("button",{className:"hsk-cb-chip",style:{"--hsk-pill-idx":M},onClick:()=>C(f),children:f},f))})]})})}import{useState as Xi,useEffect as xp,useRef as vp}from"react";import{jsx as Ro,jsxs as Qi}from"react/jsx-runtime";function ya(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,s=e.slice(0,t),i=e.slice(a),c=i.match(/<\/\s*thinking\s*>/i);if(!c)return{thinking:i,content:s,isComplete:!1};let o=c.index??0,l=c[0].length;return{thinking:i.slice(0,o),content:s+i.slice(o+l),isComplete:!0}}var Sn=e=>e==="with_team"||e==="back_with_kiku"||e==="team_closed"||e==="team_joined";function yp(e){return e<60?`${Math.max(1,Math.round(e))}s`:e<3600?`${Math.round(e/60)} min`:`${Math.round(e/3600)} h`}function Ji({text:e,isComplete:n,seconds:t,stage:r,repliedSeconds:a}){let s=or(),i=vp(Date.now()),[c,o]=Xi(()=>n?null:0),[l,h]=Xi(!n);xp(()=>{if(n){c!==null&&(o(Math.max(1,Math.round((Date.now()-i.current)/1e3))),h(!1));return}h(!0);let v=setInterval(()=>{o(Math.round((Date.now()-i.current)/1e3))},1e3);return()=>clearInterval(v)},[n]);let p=t??c,m=a!=null?s("repliedIn",{duration:yp(a)}):r==="with_team"?s("withTeam"):r==="back_with_kiku"?s("backWithKiku"):r==="team_closed"?s("teamClosed"):r==="team_joined"?s("teamJoined"):r==="reaching_team"?n?s("passedToTeam"):`${s("reachingTeam")}\u2026`:n?p!=null?s("thoughtForSeconds",{duration:`${p}s`}):s("thoughtProcess"):`${s("thinking")}${c?` \xB7 ${c}s`:"\u2026"}`,d=!!e;return Qi("div",{className:ie("hsk-cb-think",!n&&"hsk-cb-think--live",a==null&&Sn(r)&&"hsk-cb-think--note"),children:[Qi("button",{type:"button",className:ie("hsk-cb-think-head",!d&&"hsk-cb-think-head--static"),onClick:d?()=>h(v=>!v):void 0,"aria-expanded":d?l:void 0,children:[Ro("span",{children:m}),d&&Ro("span",{className:ie("hsk-cb-think-chevron",l&&"hsk-cb-think-chevron--open"),children:"\u25B6"})]}),d&&l&&Ro("div",{className:"hsk-cb-think-body",children:e})]})}import{useCallback as Zi,useEffect as wp,useRef as ec,useState as Cp}from"react";function Mn(e,n){let[t,r]=Cp(!1),a=ec(null),s=ec(n);s.current=n,wp(()=>()=>{a.current&&clearTimeout(a.current)},[]);let i=Zi(()=>{a.current||(r(!0),a.current=setTimeout(()=>{a.current=null,r(!1),s.current()},e))},[e]),c=Zi(()=>{a.current&&(clearTimeout(a.current),a.current=null),r(!1),s.current()},[]);return{closing:t,requestClose:i,closeNow:c}}import ut from"react";import{useAkropolysContext as hd}from"@akropolys/sdk";import Yr from"react";var Sp=/\p{L}/u,Mp=/\]\([^)]*\)|https?:\/\/\S+|www\.\S+/g;function Tp(e){return e>=1424&&e<=2303||e>=64285&&e<=65023||e>=65136&&e<=65279}function wa(e,n=1){let t=0,r=0;for(let a of e.replace(Mp," "))Sp.test(a)&&(Tp(a.codePointAt(0)??0)?t++:r++);if(!(t+r<n||t===r))return t>r?"rtl":"ltr"}import{Fragment as Wp,jsx as Ye,jsxs as Up}from"react/jsx-runtime";var Rp=/[ \t]{2,}/g,zp=/ ([.,!?:;])/g,Ep=/\(([ \t]+)/g,Lp=/([ \t]+)\)/g,Np=/(\d+)\s+(MP|mAh|W|GB|MB|KHz|Hz|KSh|KES|USD|EUR)\b/gi,Ip=/(!\[[^\]]*\]\([^)]+\)|\[[^\]]+\]\([^)]+\)|\*\*[^*]+\*\*|`[^`]+`)/g,Pp=/^!\[([^\]]*)\]\(([^)]+)\)$/,Ap=/^\[([^\]]+)\]\(([^)]+)\)$/,_p=/^(data:image|blob):/i,nc=/^(https?|mailto|tel):/i;function Tn(e){let n=String(e??"").trim();return nc.test(n)||n.startsWith("/")&&!n.startsWith("//")?n:void 0}var zo=null;function ac(e){if(_p.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||!!zo?.has(n.host))}catch{return!1}}var Fp=/memory|mimi/i,Dp=/mimi\.akropolys/i,Hp=e=>e&&e.replace(Rp," ").replace(zp,"$1").replace(Ep,"(").replace(Lp,")").replace(Np,"$1 $2"),Ot=(e,n)=>Hp(e).split(Ip).map((a,s)=>{if(!a)return null;let i=`${n}-inline-${s}`;if(a.startsWith("`")&&a.endsWith("`"))return Ye("code",{className:"hsk-markdown-code",children:a.slice(1,-1)},i);if(a.startsWith("**")&&a.endsWith("**"))return Ye("strong",{children:Ot(a.slice(2,-2),i)},i);let c=a.match(Pp);if(c){let l=c[1],h=c[2];return ac(h)?Ye("img",{src:h,alt:l||"Product image",className:"hsk-markdown-img",loading:"lazy",onError:p=>{p.target.style.display="none"}},i):null}let o=a.match(Ap);if(o){let l=o[1],h=o[2];return Fp.test(l)||Dp.test(h)?null:nc.test(h)||h.startsWith("/")?Ye("a",{href:h,target:"_blank",rel:"noopener noreferrer",className:"hsk-markdown-link",children:Ot(l,i)},i):Ye("span",{children:Ot(l,i)},i)}return a}),Bp=/^\s*\|?[\s:|-]*-[\s:|-]*\|?\s*$/;function tc(e,n){let t=e.trim();return n?t.includes("|"):t.startsWith("|")}function rc(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 qp({children:e}){let n=Yr.useRef(null),[t,r]=Yr.useState("none"),[a,s]=Yr.useState(!1),i=Yr.useRef({startX:0,scrollLeft:0,isDown:!1,hasMoved:!1}),c=Yr.useCallback(()=>{let p=n.current;if(!p)return;if(!(p.scrollWidth>p.clientWidth+2)){r("none");return}let d=getComputedStyle(p).direction==="rtl",v=Math.abs(p.scrollLeft),g=v<=4,b=v+p.clientWidth>=p.scrollWidth-4;r(g?d?"right":"left":b?d?"left":"right":"middle")},[]);Yr.useEffect(()=>{c();let p=n.current;if(!p)return;let m=typeof ResizeObserver<"u"?new ResizeObserver(c):null;return m?.observe(p),()=>m?.disconnect()},[c]);let o=p=>{let m=n.current;!m||m.scrollWidth<=m.clientWidth||p.target.closest("a, button, input")||(i.current={startX:p.pageX-m.offsetLeft,scrollLeft:m.scrollLeft,isDown:!0,hasMoved:!1},s(!0))},l=p=>{if(!i.current.isDown)return;let m=n.current;if(!m)return;let v=(p.pageX-m.offsetLeft-i.current.startX)*1.5;Math.abs(v)>3&&(i.current.hasMoved=!0,p.preventDefault(),m.scrollLeft=i.current.scrollLeft-v)},h=()=>{i.current.isDown=!1,s(!1)};return Ye("div",{ref:n,className:`hsk-table-wrapper hsk-table-wrapper--${t}${a?" is-dragging":""}`,onScroll:c,onMouseDown:o,onMouseMove:l,onMouseUp:h,onMouseLeave:h,children:e})}function oc(e,n=!1,t){zo=t??null;try{return $p(e,n)}finally{zo=null}}function $p(e,n){let t=e.split(`
36
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=>Bp.test(h))&&(t.length=l)}let r=(l,h)=>wa(l,n&&h===t.length-1?15:1),a=[],s=[],i=0,c=()=>{s.length>0&&(a.push(Ye("div",{className:"hsk-cb-ai-text",children:s},`text-bubble-${i++}`)),s=[])},o=0;for(;o<t.length;){let l=t[o],h=`md-line-${o}`;if(!l.trim()){o++;continue}let p=l.trim().match(/^!\[([^\]]*)\]\(([^)]+)\)$/);if(p){c();let d=p[1],v=p[2];ac(v)&&a.push(Ye("div",{className:"hsk-markdown-img-block",children:Ye("img",{src:v,alt:d||"Product image",className:"hsk-markdown-img",loading:"lazy",onError:f=>{f.target.style.display="none"}})},h)),o++;continue}let m=l.match(/^(#{1,3})\s+(.*)/);if(m){let d=m[1].length,v=`h${d+3}`;s.push(Ye(v,{className:`hsk-markdown-h${d}`,dir:r(m[2],o),children:Ot(m[2],h)},h)),o++;continue}if(l.match(/^[\s]*[-*+•]\s+/)){let d=[],v="";for(;o<t.length&&t[o].match(/^[\s]*[-*+•]\s+/);){let f=t[o].replace(/^[\s]*[-*+•]\s+/,"");v+=f+" ",d.push(Ye("li",{children:Ot(f,`li-${o}`)},`li-${o}`)),o++}s.push(Ye("ul",{className:"hsk-markdown-list hsk-markdown-ul",dir:r(v,o-1),children:d},`ul-${h}`));continue}if(l.match(/^[\s]*\d+[\.\)]\s+/)){let d=[],v="";for(;o<t.length&&t[o].match(/^[\s]*\d+[\.\)]\s+/);){let f=t[o].replace(/^[\s]*\d+[\.\)]\s+/,"");v+=f+" ",d.push(Ye("li",{children:Ot(f,`li-${o}`)},`li-${o}`)),o++}s.push(Ye("ol",{className:"hsk-markdown-list hsk-markdown-ol",dir:r(v,o-1),children:d},`ol-${h}`));continue}if(tc(l,!1)){c();let d=[],v=[],f=[],b=!0;for(;o<t.length&&tc(t[o],!0);){let z=t[o].trim();if(z.match(/^\|?[-:| ]+\|?$/)&&z.includes("-")){f=rc(z).map($=>{let Z=$.trim(),A=Z.startsWith(":"),D=Z.endsWith(":");return A&&D?"center":D?"end":"start"}),o++,b=!1;continue}let F=rc(z);b&&d.length===0?d=F:v.push(F),o++}let E=Math.max(d.length,...v.map(z=>z.length)),k=[];for(let z=0;z<E;z++)if(f[z])k[z]=f[z];else if(z===0)k[z]="start";else{let F=v.filter(C=>{let $=(C[z]||"").trim();return/^[\$€£¥+-]?\d+([.,]\d+)?%?$/.test($)||/^[\$€£¥+-]?\d+([.,]\d+)?\s*(bps|M|K|B)?$/i.test($)}).length;k[z]=F>=Math.ceil(v.length/2)?"end":"start"}let N=d.length>0?Ye("tr",{children:d.map((z,F)=>Ye("th",{style:{textAlign:k[F]||"start"},children:Ye("bdi",{children:Ot(z,`th-${h}-${F}`)})},`th-${h}-${F}`))},`tr-head-${h}`):null,T=v.map((z,F)=>Ye("tr",{children:z.map((C,$)=>Ye("td",{className:C.trim().startsWith("\u2713")?"hsk-md-ok":C.trim().startsWith("\u2717")?"hsk-md-bad":void 0,style:{textAlign:k[$]||"start"},children:Ye("bdi",{children:Ot(C,`td-${h}-${F}-${$}`)})},`td-${h}-${F}-${$}`))},`tr-body-${h}-${F}`));a.push(Ye(qp,{children:Up("table",{className:"hsk-markdown-table",children:[N&&Ye("thead",{children:N}),Ye("tbody",{children:T})]})},`table-wrapper-${h}`));continue}s.push(Ye("p",{className:"hsk-markdown-p",dir:r(l,o),children:Ot(l,h)},h)),o++}return c(),Ye(Wp,{children:a})}import{useEffect as sc,useState as Op}from"react";import{describeAge as ic,getLiveValue as Gp,isFresh as Yp,isStale as jp,labelFor as Vp,formatLiveValue as Kp,subscribeLiveValues as Xp,LIVE_FLASH_MS as Qp}from"@akropolys/sdk";import{jsx as Pt,jsxs as Eo}from"react/jsx-runtime";function Jp(e){let[,n]=Op(0),t=JSON.stringify(e);return sc(()=>Xp(r=>{e.includes(r)&&n(a=>a+1)}),[t]),sc(()=>{let r=setInterval(()=>n(a=>a+1),1e3);return()=>clearInterval(r)},[]),e.map(Gp)}var Zp=["title","name","label","headline","subject"],ed=8,td=40;function rd({record:e,now:n}){let t=jp(e,n),r=e.fields,a=Zp.find(o=>r[o]),s=a?r[a]:e.key,i=s.length>38?s.slice(0,36)+"\u2026":s,c=Object.entries(r).filter(([o,l])=>o!==a&&l!==""&&l.length<=td&&!/^[0-9a-fA-F-]{26,}$/.test(l)).slice(0,ed).map(([o,l])=>({label:Vp(o),value:Kp(l),rawKey:o}));return Eo("div",{className:`hsk-live-card${t?" is-stale":""}`,role:"region","aria-label":"Live values",children:[Pt("div",{className:"hsk-live-card__top",children:Eo("div",{className:"hsk-live-card__badge",children:[Pt("span",{className:`hsk-live-dot${t?" is-stale":""}`,"aria-hidden":"true"}),Pt("span",{className:"hsk-live-card__age",children:t?`Paused \xB7 ${ic(n-e.at)}`:`Live \xB7 ${ic(n-e.at)}`})]})}),Pt("div",{className:"hsk-live-card__body",children:Pt("span",{className:"hsk-live-card__title",title:s,children:i})}),Pt("div",{className:"hsk-live-card__pills",children:c.map(o=>{let l=Yp(e,o.rawKey,n);return Eo("div",{className:`hsk-live-pill${l?" is-changed":""}`,style:l?{animationDuration:`${Qp}ms`}:void 0,children:[Pt("span",{className:"hsk-live-pill__label",children:o.label}),Pt("span",{className:"hsk-live-pill__value",children:o.value})]},o.rawKey)})})]})}function cc({keys:e}){let n=new Set,t=(e??[]).filter(c=>n.has(c)?!1:(n.add(c),!0)),r=Jp(t);if(t.filter((c,o)=>r[o]).length===0)return null;let s=r.filter(c=>!!c),i=Date.now();return Pt("div",{className:"hsk-live-wrap",role:"group","aria-label":"Live data",children:Pt("div",{className:"hsk-live-carousel",children:s.map(c=>Pt(rd,{record:c,now:i},c.key))})})}import{useState as Ca,useRef as nd,useEffect as ad,useCallback as od}from"react";import{useAkropolysContext as sd,useCardFields as id}from"@akropolys/sdk";import{Fragment as Lo,jsx as et,jsxs as Rr}from"react/jsx-runtime";function cd({src:e,alt:n,onImageClick:t}){let[r,a]=Ca(!1);return r?et("div",{style:{width:"100%",height:"100%",display:"flex",alignItems:"center",justifyContent:"center",background:"var(--hsk-chat-source-bg, rgba(0,0,0,.04))",color:"var(--hsk-chat-muted, #888)"},children:et(rr,{})}):et("img",{src:e,alt:n??"",onError:()=>a(!0),onClick:t?s=>{s.stopPropagation(),t(e)}:void 0})}function Sa({sources:e,onSelectSource:n,onImageClick:t,referencedIds:r=[],compact:a=!1,targetLabel:s="Your colour"}){let i=sd(),c=id(),o=nd(null),[l,h]=Ca(!1),[p,m]=Ca(!1),[d,v]=Ca(0),f=e.filter(C=>C.id&&r.includes(C.id)),b=f.filter(C=>C.swatch),E=f.filter(C=>!C.swatch),k=od(()=>{let C=o.current;if(!C||E.length===0)return;let $=Math.abs(C.scrollLeft),Z=C.scrollWidth-C.clientWidth;h($>10),m(Z>4&&$<Z-12);let D=Math.round($/190);v(Math.min(Math.max(0,D),E.length-1))},[E.length]);ad(()=>{k();let C=o.current;if(!C)return;let $=new ResizeObserver(k);return $.observe(C),C.addEventListener("scroll",k,{passive:!0}),()=>{$.disconnect(),C.removeEventListener("scroll",k)}},[k,e]);let N=C=>{let $=o.current;if(!$)return;let Z=getComputedStyle($).direction==="rtl";$.scrollBy({left:190*C*(Z?-1:1),behavior:"smooth"})},T=()=>N(1),z=()=>N(-1);if(E.length===0&&b.length===0)return null;let F=b.length>0&&et("div",{className:"hsk-cb-swatch-grid",children:b.map((C,$)=>Rr("button",{type:"button",className:ie("hsk-cb-swatch",C.target&&"hsk-cb-swatch--target"),style:{animationDelay:`${$*40}ms`},onClick:C.target?void 0:()=>n?.(C),children:[et("span",{className:"hsk-cb-swatch-chip",style:{background:C.swatch}}),et("span",{className:"hsk-cb-swatch-name",children:C.target?s:C.name}),et("span",{className:"hsk-cb-swatch-code",children:C.swatch})]},C.id??$))});return E.length===0?F||null:Rr(Lo,{children:[F,Rr("div",{className:ie("hsk-cb-sources-wrap",a&&"hsk-cb-sources-wrap--compact"),children:[l&&Rr(Lo,{children:[et("div",{className:"hsk-cb-sources-fade-left"}),et("button",{className:"hsk-cb-sources-prev",onClick:z,"aria-label":"Previous",children:et(Vn,{})})]}),et("div",{className:"hsk-cb-sources",ref:o,children:E.map((C,$)=>{let Z=!!(C.id&&r.includes(C.id));return Rr("div",{className:ie("hsk-cb-source",Z&&"hsk-cb-source--referenced"),style:{animationDelay:`${$*50}ms`},onClick:()=>n?.(C),children:[C.image?et("div",{className:"hsk-cb-src-imgwrap",style:{position:"relative"},children:et(cd,{src:C.image,alt:C.name,onImageClick:t})}):et("div",{className:"hsk-cb-src-imgwrap-empty",style:{position:"relative"},children:et(rr,{})}),Rr("div",{className:"hsk-cb-src-info",children:[et("div",{className:"hsk-cb-src-name",children:C.name}),tr(C,c).slice(0,2).map(A=>et("div",{className:"hsk-cb-src-detail",children:A.value},A.label))]})]},C.id??$)})}),p&&Rr(Lo,{children:[et("div",{className:"hsk-cb-sources-fade-right"}),et("button",{className:"hsk-cb-sources-next",onClick:T,"aria-label":"See more",children:et(Kn,{})})]}),E.length>1&&et("div",{className:"hsk-cb-carousel-dots",children:E.map((C,$)=>et("div",{className:ie("hsk-cb-dot-item",$===d&&"hsk-cb-dot-item--active"),onClick:()=>{let Z=o.current;if(Z){let A=getComputedStyle(Z).direction==="rtl";Z.scrollTo({left:$*190*(A?-1:1),behavior:"smooth"})}}},$))})]})]})}import{jsx as lc,jsxs as ld}from"react/jsx-runtime";function hc({intent:e,sources:n,onSend:t,loading:r}){let a=or();if(!e)return null;let s=[],i=n[0]?.name??"",c=n.slice(0,2).map(o=>o.name);if(e==="search"&&n.length>0){if(c.length>=2&&s.push({emoji:"\u2696\uFE0F",label:a("pillCompareTop2"),query:a("pillCompareTop2Query",{a:c[0],b:c[1]})}),i){let o=i.split(" ").slice(0,3).join(" ");s.push({emoji:"\u{1F4A1}",label:a("pillMoreOn",{name:o}),query:a("pillMoreOnQuery",{name:i})})}}else e==="compare"&&n.length>0?(i&&s.push({emoji:"\u{1F50D}",label:a("pillSimilarOptions"),query:a("pillSimilarOptionsQuery",{name:i})}),s.push({emoji:"\u{1F4A1}",label:a("pillWhichBest"),query:a("pillWhichBestQuery")})):e==="specs"&&n.length>0?i&&s.push({emoji:"\u{1F504}",label:a("pillFindAlternatives"),query:a("pillFindAlternativesQuery",{name:i})}):e==="general"&&(s.push({emoji:"\u{1F50D}",label:a("pillShowPopular"),query:a("pillShowPopularQuery")}),s.push({emoji:"\u{1F4A1}",label:a("pillRecommend"),query:a("pillRecommendQuery")}));return s.length===0?null:lc("div",{className:"hsk-action-pills",children:s.map(o=>ld("button",{className:"hsk-action-pill",onClick:()=>t(o.query),disabled:r,children:[lc("span",{className:"hsk-pill-emoji",children:o.emoji}),o.label]},o.query))})}import{Fragment as No,jsx as ye,jsxs as Fe}from"react/jsx-runtime";var pc=mt.memo(({content:e,streaming:n,hosts:t})=>ye(No,{children:oc(e,n,new Set(t.split(",")))}),(e,n)=>e.content===n.content&&e.streaming===n.streaming&&e.hosts===n.hosts);pc.displayName="MarkdownBlock";function pd(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 dd(e,n){mt.useLayoutEffect(()=>{let t=e.current;if(!t)return;let r=()=>{t.style.width="";let i=document.createRange();i.selectNodeContents(t);let c=Array.from(i.getClientRects()),o=t.getBoundingClientRect();if(!c.length||!t.offsetWidth||!o.width)return;let l=o.width/t.offsetWidth,h=getComputedStyle(t),p=parseFloat(h.paddingLeft)+parseFloat(h.paddingRight)+parseFloat(h.borderLeftWidth)+parseFloat(h.borderRightWidth),m=Math.max(...c.map(v=>v.right))-Math.min(...c.map(v=>v.left)),d=Math.ceil(m/l)+1;d+p<t.offsetWidth&&(t.style.width=`${h.boxSizing==="border-box"?d+p:d}px`)};r(),document.fonts?.ready.then(r).catch(()=>{});let a=t.closest(".hsk-cb-msg-group");if(!a||typeof ResizeObserver>"u")return;let s=new ResizeObserver(r);return s.observe(a),()=>s.disconnect()},[e,n])}function dc({msg:e,idx:n,isLast:t,isLastUser:r,isRunEnd:a,runMid:s,runCont:i,isNarrow:c,loading:o,streaming:l,stopped:h,interrupted:p,sources:m,referencedIds:d,discussedSources:v,lastIntent:f,lastAction:b,vizState:E,setVizState:k,setLightboxSrc:N,setMarkupSrc:T,handleSend:z,handleSourceClick:F,onRetry:C,onEdit:$,onLongPress:Z,hasError:A,retrying:D,t:Y,messageRef:H,photosSending:V,workingOn:fe,doodleTheme:ue}){let j=hd()?.api,re=j?.siteId??"",O=pd([j?.apiUrl,...(t?m:e.sources??[]).flatMap(W=>[W.image,W.url])]),P=e.role==="user",X=e.content,[S,R]=mt.useState(!1),I=mt.useRef(null);dd(I,e.content);let G=mt.useRef(null),g=mt.useRef(null),M=mt.useRef(!1),u=mt.useCallback(W=>{let K=P?".hsk-cb-user-bubble":".hsk-cb-ai-text";return W.matches?.(K)?W:W.querySelector(K)||W},[P]),te=mt.useCallback(W=>{g.current&&clearTimeout(g.current),g.current=setTimeout(()=>{if(Z){if(typeof navigator<"u"&&navigator.vibrate)try{navigator.vibrate(25)}catch{}let K=u(W),ge=K.getBoundingClientRect();Z(e,{top:ge.top,left:ge.left,width:ge.width,height:ge.height},P,K),M.current=!0}g.current=null},420)},[e,P,Z,u]),B=mt.useCallback(W=>{if(W.touches.length!==1)return;let K=W.touches[0];G.current={x:K.clientX,y:K.clientY},M.current=!1,te(W.currentTarget)},[te]),_=mt.useCallback(W=>{if(!G.current||!g.current)return;let K=W.touches[0];Math.hypot(K.clientX-G.current.x,K.clientY-G.current.y)>8&&(clearTimeout(g.current),g.current=null)},[]),w=mt.useCallback(W=>{g.current&&(clearTimeout(g.current),g.current=null),G.current=null,M.current&&W.cancelable&&W.preventDefault()},[]),y=mt.useCallback(W=>{if(!Z||(W.preventDefault(),M.current))return;let K=u(W.currentTarget),ge=K.getBoundingClientRect();Z(e,{top:ge.top,left:ge.left,width:ge.width,height:ge.height},P,K)},[e,P,Z,u]);mt.useEffect(()=>()=>{g.current&&clearTimeout(g.current)},[]);let L=mt.useCallback(W=>{if(W)try{navigator.clipboard.writeText(W),R(!0),setTimeout(()=>R(!1),2e3)}catch{}},[]),q=mt.useMemo(()=>ya(X),[X]),ne=e.thinking||q.thinking,de=/(?:^|\n+)(?:[>*_~`\s]*)(?:This is a calculation from live figures,?\s*not a guarantee\s*[—–-]\s*the market can move against it\.?)(?:[>*_~`\s]*)/gi,ce=de.test(q.content),se=ce?q.content.replace(de,"").trimEnd():q.content;return ye("div",{className:ie("hsk-cb-msg-group",s&&"hsk-cb-msg-group--run-mid",i&&"hsk-cb-msg-group--run-cont"),"data-hsk-role":P?"user":"assistant",ref:H,children:P?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((W,K)=>Fe("button",{type:"button",className:"hsk-cb-user-img-cell",onClick:()=>N(W),children:[ye("img",{src:W,alt:`attachment ${K+1}`,className:"hsk-cb-user-img-thumb"}),ye(_r,{active:V,seed:re,theme:ue}),K===3&&e.images.length>4&&Fe("span",{className:"hsk-cb-user-img-more",children:["+",e.images.length-3]})]},K))}),e.content&&Fe("div",{ref:I,className:ie("hsk-cb-user-bubble",a&&"hsk-cb-user-bubble--tail",e.spoken&&"hsk-cb-user-bubble--spoken",A&&"hsk-cb-user-bubble--error"),onTouchStart:B,onTouchMove:_,onTouchEnd:w,onTouchCancel:w,onContextMenu:y,dir:wa(e.content.replace(/^@kiku\s*/i,"")),children:[e.spoken&&ye(ln,{className:"hsk-cb-spoken-mark",size:10}),/^@kiku\b/i.test(e.content)?Fe(No,{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:[C&&(A||r)&&Fe("button",{type:"button",className:"hsk-cb-msg-action hsk-cb-msg-action--retry",onClick:()=>C(e),"aria-label":Y("retry"),children:[ye(cn,{className:D?"hsk-retry-icon--spinning":"",size:11}),ye("span",{className:"hsk-cb-msg-action-label",children:Y("retry")})]}),$&&Fe("button",{type:"button",className:"hsk-cb-msg-action hsk-cb-msg-action--edit",onClick:()=>$(e),"aria-label":Y("edit"),children:[ye(Jn,{size:11}),ye("span",{className:"hsk-cb-msg-action-label",children:Y("edit")})]}),Fe("button",{type:"button",className:ie("hsk-cb-msg-action hsk-cb-msg-action--copy",S&&"hsk-cb-msg-action--copied"),onClick:()=>L(e.content),"aria-label":Y(S?"copied":"copy"),children:[S?ye(br,{size:11}):ye(mr,{size:11}),ye("span",{className:"hsk-cb-msg-action-label",children:Y(S?"copied":"copy")})]})]}),r&&!A&&ye("span",{className:"hsk-cb-sent-status",children:Y(h||p?"statusStopped":"statusSent")}),A&&Fe("span",{className:"hsk-cb-failed-notice",children:[ye("span",{className:"hsk-cb-failed-dot"}),Y("msgFailed")]})]})]}):ye("div",{className:ie("hsk-cb-ai-msg",c&&"hsk-cb-ai-msg--inline"),children:Fe("div",{className:"hsk-cb-ai-body",onTouchStart:B,onTouchMove:_,onTouchEnd:w,onTouchCancel:w,onContextMenu:y,children:[(()=>{let W=e.thoughtForSeconds!=null||se.length>0||!(t&&(l||o));return Fe(No,{children:[!e.spoken&&(ne||e.thoughtForSeconds!=null||e.repliedSeconds!=null||Mn(e.statusStage)||t&&(l||o))&&ye(Ji,{text:ne,isComplete:W,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(ln,{size:11}),Fe("span",{children:["spoken \xB7 ",e.thoughtForSeconds.toFixed(1),"s"]})]})}),se&&ye("div",{className:"hsk-cb-ai-content",children:ye(pc,{content:se,streaming:t&&l,hosts:O})}),ce&&ye("div",{className:"hsk-cb-calc-disclaimer",children:Y("calcDisclaimer")})]})})(),e.visualizing&&ye("div",{className:"hsk-cb-viz",children:Fe("div",{className:ie("hsk-cb-viz--working",!fe&&"is-blank",e.visualizationType==="video"&&"is-video"),role:"status","aria-label":e.visualizingText||Y("vizWorking"),children:[fe&&ye("img",{src:fe,alt:""}),ye(_r,{active:!0,seed:re,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:E[e.visualization]==="err"?{display:"none"}:void 0,onLoad:()=>k(W=>({...W,[e.visualization]:"ok"})),onError:()=>k(W=>({...W,[e.visualization]:"err"}))}),E[e.visualization]==="err"&&ye("div",{className:"hsk-cb-viz-broken",children:Y("vizUnavailable")}),t&&!l&&E[e.visualization]==="ok"&&e.visualizationType!=="video"&&!e.visualization.includes("/videos/")&&Fe("button",{className:"hsk-cb-viz-mark",onClick:()=>T(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"})]}),Y("vizMarkEdit")]})]}),ye("div",{className:"hsk-cb-viz-disclaimer",children:e.visualizationType==="video"||e.visualization.includes("/videos/")?Y("vizDisclaimerVideo"):Y("vizDisclaimerImage")})]}),!P&&(e.knowledgeImages?.length??0)>0&&ye("div",{className:"hsk-cb-kimgs",children:e.knowledgeImages.map(W=>Fe("div",{className:"hsk-cb-kimg-group",children:[ye("div",{className:"hsk-cb-kimg-grid",children:W.images.map((K,ge)=>ye("img",{src:K.url,alt:K.note||W.title||"Reference image",className:"hsk-cb-kimg",loading:"lazy",onClick:()=>N(K.url),onError:Pe=>{Pe.target.style.display="none"}},ge))}),(W.title||W.images[0]?.note)&&ye("div",{className:"hsk-cb-kimg-caption",children:W.title||W.images[0]?.note})]},W.entryId))}),!P&&ye(cc,{keys:e.liveKeys}),!P&&(e.staleNotices?.length??0)>0&&Fe("div",{className:"hsk-cb-stale",role:"status",children:[ye("div",{className:"hsk-cb-stale-title",children:Y("staleTitle")}),e.staleNotices.map((W,K)=>Fe("div",{className:"hsk-cb-stale-item",children:[W.state==="removed"?Y("staleRemoved",{title:W.title}):Y("staleUnavailable",{title:W.title}),W.reason&&Fe("span",{className:"hsk-cb-stale-reason",children:[" ",W.reason]})]},K))]}),(()=>{let W=t?d:e.referencedIds??[],K=t?m:e.sources??[],ge=t?f:e.intent,Pe=ge==="compare"||ge==="capture"||ge==="capture_all"||ge==="delete"||ge==="view_history";return W.length>0&&!Pe&&(!t||b?.type!=="request_kiku_key")&&ye(Sa,{sources:K,onSelectSource:F,onImageClick:N,referencedIds:W,compact:!!e.visualization,targetLabel:Y("swatchTarget")})})(),t&&!o&&!l&&b?.type==="open_memory"&&Rn(b.url)&&Fe("a",{className:"hsk-cb-memory-pill",href:Rn(b.url),target:"_blank",rel:"noopener noreferrer",children:[Y("openMemory"),ye(us,{})]}),t&&!o&&Rn(b?.url)&&b?.type!=="open_memory"&&ye("div",{className:"hsk-action-pills",children:Fe("a",{className:"hsk-action-pill",href:Rn(b?.url),children:[String(b?.type||"continue").replace(/_/g," ")," \u2192"]})}),t&&!o&&ye(hc,{intent:f,sources:v,onSend:z,loading:o}),!P&&a&&!l&&se&&ye("div",{className:"hsk-cb-ai-footer",children:Fe("div",{className:"hsk-cb-msg-actions",children:[Fe("button",{type:"button",className:ie("hsk-cb-msg-action hsk-cb-msg-action--copy",S&&"hsk-cb-msg-action--copied"),onClick:()=>L(se),"aria-label":Y(S?"copied":"copy"),children:[S?ye(br,{size:11}):ye(mr,{size:11}),ye("span",{className:"hsk-cb-msg-action-label",children:Y(S?"copied":"copy")})]}),t&&(A||se.includes("We're experiencing high demand right now"))&&C&&Fe("button",{type:"button",className:"hsk-cb-msg-action hsk-cb-msg-action--retry",onClick:()=>C(e),"aria-label":Y("retry"),children:[ye(cn,{className:D?"hsk-retry-icon--spinning":"",size:11}),ye("span",{className:"hsk-cb-msg-action-label",children:Y("retry")})]})]})})]})})})}import{jsx as dt,jsxs as Gt}from"react/jsx-runtime";function uc({keyInput:e,setKeyInput:n,minting:t,handleUseExistingKey:r,handleCreateKey:a,t:s}){return Gt("div",{className:"hsk-cb-ai-msg",children:[dt("div",{className:"hsk-cb-ai-icon",style:{display:"flex",alignItems:"center"},children:dt(rr,{})}),dt("div",{className:"hsk-cb-ai-body",children:dt("div",{className:"hsk-cb-ai-text",children:Gt("div",{className:"hsk-cb-phone-form",children:[dt("label",{className:"hsk-cb-phone-label",children:s("keyPastePrompt")}),dt("input",{type:"text",className:"hsk-cb-phone-input",placeholder:s("keyPastePlaceholder"),value:e,onChange:i=>n(i.target.value),onKeyDown:i=>i.key==="Enter"&&r(),autoFocus:!0}),Gt("div",{style:{display:"flex",gap:8},children:[dt("button",{className:"hsk-cb-phone-submit",onClick:r,disabled:!e.trim(),children:s("keyUseMine")}),dt("button",{className:"hsk-cb-phone-submit",onClick:a,disabled:t,children:s(t?"keyCreating":"keyCreateNew")})]})]})})})]})}function mc({mintedKey:e,copied:n,keyCountdown:t,onDismiss:r,copyValue:a,t:s}){return Gt("div",{className:"hsk-cb-ai-msg",children:[dt("div",{className:"hsk-cb-ai-icon",style:{display:"flex",alignItems:"center"},children:dt(rr,{})}),dt("div",{className:"hsk-cb-ai-body",children:Gt("div",{className:"hsk-cb-secret-card",children:[Gt("div",{className:"hsk-cb-secret-head",children:[dt("span",{className:"hsk-cb-secret-title",children:s("keySecretTitle")}),Gt("span",{className:"hsk-cb-secret-timer",children:[t,"s"]}),dt("button",{type:"button",className:"hsk-cb-secret-dismiss",onClick:r,"aria-label":s("keyDismiss"),children:"\xD7"})]}),Gt("button",{type:"button",className:"hsk-cb-secret-key",onClick:()=>a(e,"secret"),children:[dt("code",{children:e}),Gt("span",{className:"hsk-cb-secret-copy",children:[n==="secret"?dt(br,{}):dt(mr,{}),s(n==="secret"?"keyCopied":"keyCopySecret")]})]}),dt("span",{className:"hsk-cb-secret-hint",children:s("keySecretHint")})]})})]})}import{Fragment as md,jsx as wt,jsxs as jr}from"react/jsx-runtime";function ud(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 bc({displayMessages:e,messageRefs:n,isNarrow:t,loading:r,streaming:a,sources:s,referencedIds:i,discussedSources:c,lastIntent:o,lastAction:l,stopped:h,interrupted:p,halted:m,haltedEmpty:d,error:v,errorCode:f,keyPhase:b,keyInput:E,setKeyInput:k,mintedKey:N,setMintedKey:T,setMintedPub:z,minting:F,copied:C,keyCountdown:$,handleUseExistingKey:Z,handleCreateKey:A,copyValue:D,queuedMessage:Y,sendQueuedNow:H,setLightboxSrc:V,setMarkupSrc:fe,handleSend:ue,handleSourceClick:j,onRetry:re,onEdit:O,onLongPress:P,retrying:X,continueGenerating:S,t:R,spacerRef:I,vizState:G,setVizState:g,messages:M,doodleTheme:u}){return jr(md,{children:[(()=>{let te=-1;for(let B=e.length-1;B>=0;B--)if(e[B]?.role==="user"){te=B;break}return e.map((B,_)=>{let w=_===e.length-1,y=B.role==="user",L=y&&_===te,q=e[_+1]?.role!==B.role,ne=!q,de=e[_-1]?.role===B.role,ce=B.id||`${B.role}-${_}`,se=e[_+1]?.content??"",W=L&&(r||a)&&!ya(se).content.trim(),K=B.visualizing?ud(e,_):void 0,ge=L&&!!v||!y&&w&&!!v||!y&&!!B.content?.includes("We're experiencing high demand right now");return wt(dc,{msg:B,idx:_,isLast:w,isLastUser:L,isRunEnd:q,runMid:ne,runCont:de,isNarrow:t,loading:r,streaming:a,stopped:h,interrupted:p,sources:s,referencedIds:i,discussedSources:c,lastIntent:o,lastAction:l,vizState:G,setVizState:g,setLightboxSrc:V,setMarkupSrc:fe,handleSend:ue,handleSourceClick:j,onRetry:re,onEdit:O,onLongPress:P,hasError:ge,retrying:X,t:R,messageRef:Pe=>{n.current[_]=Pe},photosSending:W,workingOn:K,doodleTheme:u},ce)})})(),m&&M.length>0&&jr("div",{className:ie("hsk-cb-stopped",d&&"hsk-cb-stopped--empty"),children:[d&&jr("span",{className:"hsk-cb-stopped-dots","aria-hidden":"true",children:[wt("i",{}),wt("i",{}),wt("i",{})]}),wt("span",{className:"hsk-cb-stopped-label",children:R(h?"stoppedByYou":"stoppedInterrupted")}),jr("button",{className:"hsk-cb-continue",onClick:S,children:[wt(ms,{}),R(M[M.length-1]?.role==="assistant"?"continueGenerating":"generateResponse")]})]}),v&&wt("div",{className:"hsk-cb-error",children:Qs({code:f??void 0,message:v},R)}),b==="prompt_key"&&wt(uc,{keyInput:E,setKeyInput:k,minting:F,handleUseExistingKey:Z,handleCreateKey:A,t:R}),N&&wt(mc,{mintedKey:N,copied:C,keyCountdown:$,onDismiss:()=>{T(null),z(null)},copyValue:D,t:R}),Y&&wt("div",{className:ie("hsk-cb-msg-group",e[e.length-1]?.role==="user"&&"hsk-cb-msg-group--run-cont"),children:jr("div",{className:"hsk-cb-user-msg",children:[wt("div",{className:"hsk-cb-user-bubble hsk-cb-user-bubble--tail hsk-cb-user-bubble--queued",children:Y.content}),jr("button",{type:"button",className:"hsk-cb-queued-status",onClick:H,children:[wt("span",{className:"hsk-cb-queued-dot"}),R("queuedWaiting"),wt("span",{className:"hsk-cb-queued-now",children:R("queuedSendNow")})]})]})}),wt("div",{ref:I,className:"hsk-cb-msgs-spacer"})]})}import Ta,{useState as gc,useRef as Po,useEffect as Ao}from"react";import{useAkropolysContext as fd,useCardFields as gd}from"@akropolys/sdk";import{jsx as kc}from"react/jsx-runtime";var Ma=16,bd=110,kd=/[؀-ۿ܀-ݏ߀-߿ࡠ-ࣿﭐ-﷿ﹰ-]/;function Io(e){if(!e)return[];if(kd.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 fc({text:e,placeholder:n,visible:t=!0,replay:r=0,replaySeed:a,staggerMs:s=Ma}){if(!t)return null;let i=e||n||"";if(!i)return null;let c=a!==void 0?a:r,o=i.length>26,l=o?i.match(/\S+\s*/g)??[i]:Io(i),h=Math.max(l.length-1,1),p=i.length>44?"3":o?"2":"1";return kc("div",{className:"hsk-animated-placeholder","data-fit":p,dir:"auto","aria-hidden":"true",children:l.map((m,d)=>kc("span",{className:"hsk-animated-placeholder__char",style:{animationDelay:`${bd+d*s}ms`,"--hsk-ph-hue":`${Math.round(d/h*300)}`},children:m},`${i}|${c}|${d}`))})}import{Fragment as _o,jsx as me,jsxs as Ke}from"react/jsx-runtime";function xc({gooId:e,input:n,setInput:t,showKikuPicker:r,setShowKikuPicker:a,showAtPicker:s,setShowAtPicker:i,captureAllowed:c,discussedSources:o,handleSelectExtension:l,handleKikuCapture:h,handleKikuCaptureAll:p,handleKikuViewHistory:m,handleKikuDelete:d,attachments:v,removeAttachment:f,chromeLoading:b,inputLocked:E,langSwitching:k=!1,imageInputRef:N,handleImageFiles:T,enableVision:z,enableVoice:F,canConverse:C,startVoice:$,voiceBlocked:Z,textareaRef:A,classNames:D={},handleInput:Y,handleKeyDown:H,voice:V,voicePhase:fe,activePlaceholder:ue,loading:j,streaming:re,stop:O,handleSend:P,voiceError:X,setVoiceError:S,t:R,rail:I,notice:G,onOpenMimi:g}){let M=fd(),u=gd(),[te,B]=Ta.useState(0),[_,w]=Ta.useState(!1);Ta.useEffect(()=>{if(!X)return;let be=setTimeout(()=>{S?.("")},6e3);return()=>clearTimeout(be)},[X,S]),Ta.useEffect(()=>{if(!_)return;let be=Le=>{Le.key==="Escape"&&w(!1)};return window.addEventListener("keydown",be),()=>window.removeEventListener("keydown",be)},[_]);let y=ue||"Ask me anything\u2026",L=Po(null),[q,ne]=gc(()=>y.length>26);Ao(()=>{let be=L.current;if(!be||n)return;let Le=()=>{let je=be.querySelectorAll(".hsk-animated-placeholder__char");if(je.length<2)return ne(!1);let ke=je[0].offsetTop,tt=je[je.length-1].offsetTop;ne(tt-ke>je[0].offsetHeight/2)};Le();let _e=new ResizeObserver(Le);return _e.observe(be),()=>_e.disconnect()},[y,n]);let de=Math.max(Io(y).length-1,0)*Ma,[ce,se]=gc(!1),W=Po(null),K=()=>{W.current&&clearTimeout(W.current),se(!0),W.current=setTimeout(()=>{se(!1),W.current=null},550)};Ao(()=>()=>{W.current&&clearTimeout(W.current)},[]);let ge=Po(null),Pe=!!G;return Ao(()=>{ge.current?.toggleAttribute("inert",Pe)},[Pe]),Ke("div",{className:"hsk-cb-input-wrap",children:[_&&Ke(_o,{children:[me("div",{className:"hsk-cb-toolsheet-scrim",onClick:()=>w(!1)}),me("div",{className:"hsk-cb-toolsheet-wrap",children:Ke("div",{className:"hsk-cb-toolsheet",role:"menu",children:[z&&Ke("button",{className:"hsk-cb-toolsheet-item",role:"menuitem",onClick:()=>{w(!1),N.current?.click()},disabled:j,children:[me(Ga,{}),me("span",{children:R("attachImage")})]}),F&&C&&Ke("button",{className:"hsk-cb-toolsheet-item",role:"menuitem",onClick:()=>{w(!1),Z?S?.(R("errAccountRequired")):$("converse")},disabled:j||b,children:[me(Ya,{}),me("span",{children:R("voiceModeStart")})]}),g&&Ke("button",{className:"hsk-cb-toolsheet-item",role:"menuitem",onClick:g,children:[me(Qn,{}),me("span",{children:"MiMi"})]})]})})]}),G,Ke("div",{className:"hsk-cb-input-card",ref:ge,children:[(/^@kiku\b/i.test(n)||r||s)&&Ke("div",{className:"hsk-cb-docked-header",children:[me("span",{className:"hsk-cb-docked-sub",children:R("captureAndRemember")}),me("button",{type:"button",className:"hsk-cb-docked-close",onClick:()=>{t(be=>be.replace(/^@kiku\s*/i,"")),a(!1),i(!1)},"aria-label":"Close mode",children:"\xD7"})]}),(r||s)&&Ke("div",{className:"hsk-cb-docked-options",onMouseDown:be=>be.preventDefault(),children:[s&&c&&Ke("button",{type:"button",className:"hsk-cb-docked-option",onClick:()=>l("@kiku"),children:[me("span",{className:"hsk-cb-docked-option-icon",children:me(rr,{})}),me("span",{className:"hsk-cb-docked-option-title",children:"kiku"}),me("span",{className:"hsk-cb-docked-option-desc",children:"capture & remember"})]}),r&&c&&Ke(_o,{children:[o.map((be,Le)=>Ke("button",{type:"button",className:"hsk-cb-docked-option",onClick:()=>{h(be),a(!1)},children:[me("span",{className:"hsk-cb-docked-option-icon",children:be.image?me("img",{src:be.image,alt:""}):me(Xn,{})}),me("span",{className:"hsk-cb-docked-option-title",children:be.name}),tr(be,u)[0]&&me("span",{className:"hsk-cb-docked-option-detail",children:tr(be,u)[0].value})]},be.id??Le)),o.length>1&&Ke("button",{type:"button",className:"hsk-cb-docked-option",onClick:()=>{p(o),a(!1)},children:[me("span",{className:"hsk-cb-docked-option-icon",children:me(Xn,{})}),me("span",{className:"hsk-cb-docked-option-title",children:R("captureAll",{count:String(o.length)})})]}),o.length===0&&Ke("button",{type:"button",className:"hsk-cb-docked-option",onClick:()=>{h({name:"current page",id:void 0}),a(!1)},children:[me("span",{className:"hsk-cb-docked-option-icon",children:me(Xn,{})}),me("span",{className:"hsk-cb-docked-option-title",children:R("captureCurrentPage")})]}),Ke("button",{type:"button",className:"hsk-cb-docked-option",onClick:()=>{m(),a(!1)},children:[me("span",{className:"hsk-cb-docked-option-icon",children:me(bs,{})}),me("span",{className:"hsk-cb-docked-option-title",children:R("whatHaveYouSaved")})]}),Ke("button",{type:"button",className:"hsk-cb-docked-option",onClick:()=>{d(),a(!1)},children:[me("span",{className:"hsk-cb-docked-option-icon",children:me(ks,{})}),me("span",{className:"hsk-cb-docked-option-title",children:R("deleteThis")})]})]})]}),v.length>0&&me("div",{className:"hsk-cb-img-strip",children:v.map((be,Le)=>Ke("div",{className:"hsk-cb-img-thumb-wrap",children:[me("img",{src:be.thumb||be.data,alt:`attachment ${Le+1}`,className:"hsk-cb-img-thumb"}),me("button",{type:"button",className:"hsk-cb-img-thumb-remove",onClick:()=>f(Le),"aria-label":"Remove image",children:me(Rs,{size:10})})]},Le))}),Ke("div",{className:ie("hsk-cb-input-box",b&&"hsk-cb-input-box--waiting"),"data-cascade":te%2?"b":"a","data-tools":_?"open":"closed",style:{"--hsk-text-sweep":`${de}ms`},children:[me("input",{ref:N,type:"file",accept:"image/*",className:"hsk-sr-only",onChange:be=>{T(be.target.files),be.target.value=""}}),(z||F&&C)&&me("button",{className:ie("hsk-cb-tools-toggle",_&&"hsk-cb-tools-toggle--open"),onClick:()=>w(be=>!be),disabled:j||b,"aria-label":_?"Close options":"More options","aria-expanded":_,children:me(fs,{})}),me(_o,{children:z&&me("button",{className:"hsk-cb-attach-btn",onClick:()=>N.current?.click(),disabled:j,"aria-label":"Attach image",children:me(Ga,{})})}),Ke("div",{className:"hsk-cb-field",ref:L,"data-ph-lines":!n&&q?"2":void 0,children:[me("textarea",{ref:A,value:n,onChange:Y,onKeyDown:H,rows:1,placeholder:"",className:ie("hsk-cb-textarea",D.input),"aria-label":ue,disabled:E||j&&!re||k}),me(fc,{placeholder:ue,visible:!n,staggerMs:Ma,replaySeed:te})]}),F&&C&&me("button",{className:ie("hsk-cb-voice-mode-btn",Z&&"hsk-cb-voice-mode-btn--blocked"),onClick:()=>Z?S?.(R("errAccountRequired")):$("converse"),disabled:j||b,"aria-label":"Voice conversation",children:me(Ya,{})}),(j||re)&&!ce?me("button",{className:ie("hsk-cb-send","hsk-cb-send--stop",D.sendButton),onClick:O,"aria-label":"Stop generating",children:me(ds,{})}):Ke("button",{className:ie("hsk-cb-send",ce&&"is-launching",D.sendButton),onClick:()=>{K(),P()},disabled:k||E||b||!n.trim()&&v.length===0,"aria-label":"Send message",children:[me("svg",{width:"0",height:"0","aria-hidden":"true",focusable:"false",style:{position:"absolute"},children:me("defs",{children:Ke("filter",{id:e,children:[me("feGaussianBlur",{in:"SourceGraphic",stdDeviation:"1.6",result:"blur"}),me("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"}),me("feBlend",{in:"SourceGraphic",in2:"goo"})]})})}),me("span",{className:"hsk-cb-send-sheath","aria-hidden":"true"}),Ke("span",{className:"hsk-cb-send-stage",style:{filter:`url(#${e})`},children:[me("span",{className:"hsk-cb-send-seam","aria-hidden":"true"}),me("span",{className:"hsk-cb-send-kite",children:me(vs,{})})]})]})]})]}),Z?Ke("div",{className:"hsk-cb-voice-error",role:"status",onClick:()=>S?.(""),children:[me("span",{children:R("errAccountRequired")}),me("button",{type:"button",className:"hsk-cb-voice-error-dismiss",onClick:be=>{be.stopPropagation(),S?.("")},"aria-label":"Dismiss error",children:"\xD7"})]}):X&&Ke("div",{className:"hsk-cb-voice-error",role:"status",onClick:()=>S?.(""),children:[me("span",{children:R(X)}),me("button",{type:"button",className:"hsk-cb-voice-error-dismiss",onClick:be=>{be.stopPropagation(),S?.("")},"aria-label":"Dismiss error",children:"\xD7"})]})]})}import Cd,{useEffect as Do,useRef as zr,useState as Ho}from"react";import{useEffect as zn,useRef as En}from"react";import{jsx as yd}from"react/jsx-runtime";function vc(e,n){let t=e.match(/-?[\d.]+/g);return!t||t.length<3?n:[Number(t[0]),Number(t[1]),Number(t[2])]}function xd(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 Vr(e,n){return`rgba(${e[0]|0}, ${e[1]|0}, ${e[2]|0}, ${n})`}var Yt=24,vd=.42;function yc({phase:e,level:n,spectrum:t,bins:r,className:a}){let s=En(null),i=En(e),c=En(n),o=En(t),l=En(r);return zn(()=>{i.current=e},[e]),zn(()=>{c.current=n},[n]),zn(()=>{o.current=t},[t]),zn(()=>{l.current=r},[r]),zn(()=>{let h=s.current;if(!h)return;let p=h.getContext("2d");if(!p)return;let m=getComputedStyle(h),d=vc(m.getPropertyValue("--hsk-primary")||"",[255,106,51]),v=vc(m.getPropertyValue("--hsk-chat-text")||"",[31,31,31]),f=0,b=0,E=0,k=()=>{let re=Math.min(window.devicePixelRatio||1,3),O=h.getBoundingClientRect();b=Math.max(1,O.width),E=Math.max(1,O.height),h.width=Math.round(b*re),h.height=Math.round(E*re),p.setTransform(re,0,0,re,0,0)};k();let N=typeof ResizeObserver<"u"?new ResizeObserver(k):null;N?.observe(h),window.addEventListener("resize",k);let T=window.matchMedia?.("(prefers-reduced-motion: reduce)")?.matches??!1,z=new Float32Array(Yt),F=[],C=null,$=-1,Z=null,A=0,D=0,Y=performance.now(),H=(re,O,P,X)=>re+(O-re)*(O>re?P:X),V=()=>{let re=o.current,O=l.current?.()??0;if(!re||!O||((!Z||Z.length!==O)&&(Z=new Uint8Array(O)),!re(Z)))return!1;let X=Math.max(Yt,Math.floor(O*vd))/Yt;for(let S=0;S<Yt;S++){let R=Math.floor(S*X),I=Math.max(R+1,Math.floor((S+1)*X)),G=0;for(let M=R;M<I;M++)G+=Z[M];let g=G/(I-R)/255;z[S]=H(z[S],g,T?.2:.55,T?.06:.14)}return!0},fe=(re,O)=>{for(let P=0;P<Yt;P++){let X=P/(Yt-1),S=Math.pow(1-X,1.6)*(.75+.25*Math.sin(re*3.1+P*.7));z[P]=H(z[P],S*O,.3,.12)}},ue=re=>{let O=Math.min(Yt-1,Math.max(0,re*(Yt-1))),P=Math.floor(O),X=O-P,S=z[P],R=z[Math.min(Yt-1,P+1)];return S+(R-S)*X*X*(3-2*X)},j=re=>{f=requestAnimationFrame(j);let O=(re-Y)/1e3,P=i.current,X=Math.min(1,c.current());A=H(A,Math.max(P==="speaking"?.42:P==="listening"?.3:P==="thinking"?.28:.12,X),T?.1:.5,T?.05:.11),V()||fe(O,Math.max(.25,A)),p.clearRect(0,0,b,E);let R=E/2;D=P==="thinking"?(D+.012)%1.6:0;let I=3;if($!==b){F=[];for(let M=0;M<I;M++){let u=M/(I-1||1),te=xd(d,v,u*.5),B=p.createLinearGradient(0,0,b,0);B.addColorStop(0,Vr(te,0)),B.addColorStop(.5,Vr(te,.9-u*.35)),B.addColorStop(1,Vr(te,0)),F.push(B)}C=p.createLinearGradient(0,0,b,0),C.addColorStop(0,Vr(d,0)),C.addColorStop(.5,Vr(d,.14)),C.addColorStop(1,Vr(d,0)),$=b}let G=E*.32,g=Math.max(4,b/130);for(let M=0;M<I;M++){let u=M/(I-1||1),te=M*.055,B=1-u*.22;p.beginPath();let _=0,w=R;for(let L=0;L<=b;L+=g){let q=L/b,ne=Math.pow(Math.sin(Math.PI*q),.85),de=P==="thinking"?Math.exp(-Math.pow((q-(D-.3))*4.5,2)):1,ce=ue(Math.abs(q-.5)*2),se=O-te,W=Math.sin(q*Math.PI*2*2.1+se*7.4)*.66+Math.sin(q*Math.PI*2*3.7-se*5.6)*.26+Math.sin(q*Math.PI*2*5.9+se*9.1)*.08,K=R+ne*de*B*G*A*(.6+ce*1.1)*W+Math.sin(q*Math.PI*2*.6+(O-te)*2.2)*ne*E*.01;L===0?p.moveTo(L,K):p.quadraticCurveTo(_,w,(_+L)/2,(w+K)/2),_=L,w=K}p.quadraticCurveTo(_,w,b,w),p.lineCap="round",p.lineJoin="round";let y=(M===0?3:1.6)*(1+A*.6);M===0&&(p.strokeStyle=C,p.lineWidth=y*5,p.stroke()),p.strokeStyle=F[M],p.lineWidth=y,p.stroke()}};return f=requestAnimationFrame(j),()=>{cancelAnimationFrame(f),N?.disconnect(),window.removeEventListener("resize",k)}},[]),yd("canvas",{ref:s,className:a,"aria-hidden":"true"})}import{jsx as Fo,jsxs as wd}from"react/jsx-runtime";function Ln({src:e,onClose:n}){return e?wd("div",{className:"hsk-lightbox",onClick:n,children:[Fo("button",{className:"hsk-lightbox-close",onClick:n,"aria-label":"Close image",children:Fo(Pr,{})}),Fo("img",{src:e,alt:"",className:"hsk-lightbox-img",onClick:t=>t.stopPropagation()})]}):null}import{Fragment as Td,jsx as Re,jsxs as zt}from"react/jsx-runtime";function Sd({images:e,siteId:n,themeAttr:t}){let r=zr(null),[a,s]=Ho(null);if(Do(()=>{let o=r.current;o&&o.scrollTo({left:o.scrollWidth,behavior:"smooth"})},[e.length]),!e.length)return null;let i=e.findIndex(o=>o.pending),c=i>0?e.slice(0,i).reverse().find(o=>o.url)?.id:void 0;return zt("div",{className:"hsk-voice-images",ref:r,children:[e.map(o=>zt("button",{type:"button",className:"hsk-voice-image","data-pending":o.pending?"":void 0,disabled:o.pending,onClick:()=>s(o.url),children:[o.pending&&Re(_r,{active:!0,seed:n,theme:t}),o.url&&Re("img",{src:o.url,alt:"",draggable:!1},o.url),o.url&&Re(_r,{active:!!o.sending||o.id===c,seed:n,theme:t})]},o.id)),a&&Re(Ln,{src:a,onClose:()=>s(null)})]})}function Md({current:e,choose:n,label:t,groups:r}){let a=mn.find(l=>l.name===e),[s,i]=Ho(!1),c=zr(null),o=zr(null);return Do(()=>{if(o.current&&(o.current.inert=!s),!s)return;let l=o.current,h=l?.querySelector('[aria-checked="true"]');l&&h&&(l.scrollTop=h.offsetTop-(l.clientHeight-h.offsetHeight)/2);let p=d=>{c.current&&!d.composedPath().includes(c.current)&&i(!1)},m=d=>{d.key==="Escape"&&i(!1)};return document.addEventListener("pointerdown",p),document.addEventListener("keydown",m),()=>{document.removeEventListener("pointerdown",p),document.removeEventListener("keydown",m)}},[s]),zt("div",{className:"hsk-voice-picker",ref:c,"data-open":s?"":void 0,dir:"ltr",children:[zt("button",{type:"button",className:"hsk-voice-pill hsk-voice-pill--current","aria-haspopup":"true","aria-expanded":s,"aria-label":`${t}: ${a?.trait??e} (${e})`,onClick:()=>i(l=>!l),children:[Re("span",{children:a?.trait??e}),Re("span",{className:"hsk-voice-pill-caret",children:Re(Kn,{})})]}),Re("div",{className:"hsk-voice-menu-list",role:"radiogroup","aria-label":t,ref:o,children:["male","female"].map(l=>zt(Cd.Fragment,{children:[Re("div",{className:"hsk-voice-group","aria-hidden":"true",children:r[l]}),mn.filter(h=>h.gender===l).map(h=>zt("button",{type:"button",role:"radio","aria-checked":e===h.name,"aria-label":`${h.trait}, ${r[l]} (${h.name})`,className:ie("hsk-voice-option",e===h.name&&"hsk-voice-option--on"),onClick:()=>{n(h.name),i(!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 wc({siteId:e,themeAttr:n,stopVoice:t,chooseVoice:r,liveVoiceName:a,voiceSecondsLeft:s,voiceConnecting:i,voicePhase:c,live:o,earlier:l,newVoiceChat:h,voiceMuted:p,setVoiceMuted:m,voiceError:d,attachPhoto:v,onSelectSource:f,t:b}){let E=zr(null),k=zr(null),N=zr(null),T=[...l.turns,...o.turns??[]],z=[...l.images,...o.images??[]],F=o.sources??[],[C,$]=Ho(null),Z=z.some(H=>H.pending),A=T.length,D=T[A-1]?.text??"",Y=zr(!1);return Do(()=>{k.current?.scrollIntoView({block:"end",behavior:Y.current?"smooth":"auto"}),Y.current=!0},[A,D]),zt("div",{className:"hsk-voice-overlay",role:"dialog","aria-label":b("voiceModeStart"),children:[Re(ta,{seed:e,theme:n}),T.some(H=>H.text)&&Re("button",{type:"button",className:"hsk-voice-new",onClick:h,disabled:i,"aria-label":b("voiceNewChat"),title:b("voiceNewChat"),children:Re(Jn,{size:15})}),Re("button",{className:"hsk-voice-exit",onClick:t,"aria-label":b("voiceModeExit"),children:Re(Pr,{})}),Re(Md,{current:a,choose:r,label:b("voicePickerLabel"),groups:{female:b("voiceFemale"),male:b("voiceMale")}}),zt("div",{className:"hsk-voice-thread",ref:E,children:[T.filter(H=>H.text).map((H,V)=>H.role==="user"?Re("div",{className:"hsk-cb-user-msg",children:Re("div",{className:ie("hsk-cb-user-bubble","hsk-cb-user-bubble--spoken",!H.done&&"hsk-voice-turn--live"),children:H.text})},V):Re("div",{className:"hsk-cb-ai-msg",children:Re("div",{className:ie("hsk-cb-ai-body",!H.done&&"hsk-voice-turn--live"),children:H.text})},V)),Re("div",{ref:k})]}),(z.length>0||F.length>0)&&zt("div",{className:"hsk-voice-shelf",children:[Re(Sd,{images:z,siteId:e,themeAttr:n}),F.length>0&&Re("div",{className:"hsk-voice-sources",children:Re(Sa,{sources:F,onSelectSource:f,onImageClick:$,referencedIds:F.map(H=>H.id).filter(H=>!!H),compact:!0})})]}),C&&Re(Ln,{src:C,onClose:()=>$(null)}),i&&zt("div",{className:"hsk-voice-connecting",role:"status",children:[Re("span",{className:"hsk-voice-connecting-dot"}),Re("span",{children:b("voiceConnecting")})]}),d&&Re("div",{className:"hsk-voice-error",children:b(d)}),zt("div",{className:"hsk-voice-controls",dir:"ltr",children:[o.photos&&zt(Td,{children:[Re("input",{ref:N,type:"file",accept:"image/*",className:"hsk-sr-only",onChange:H=>{let V=H.target.files?.[0];H.target.value="",V&&v(V)}}),Re("button",{type:"button",className:"hsk-voice-control hsk-voice-control--attach","data-control":"attach",disabled:i||Z,onClick:()=>N.current?.click(),"aria-label":b("voiceAttachPhoto"),children:Re("span",{className:"hsk-voice-control-icon",children:Re(gs,{})})})]}),Re("div",{className:ie("hsk-voice-stage",i&&"hsk-voice-stage--connecting"),children:Re(yc,{className:"hsk-voice-canvas",phase:c,level:o.micLevel,spectrum:o.micSpectrum,bins:o.spectrumBins})}),Re("button",{className:ie("hsk-voice-control",p&&"hsk-voice-control--muted",i&&"hsk-voice-control--waiting"),"data-control":"mic",disabled:i,onClick:()=>m(H=>!H),"aria-label":b(p?"voicePhaseListening":"voiceModeExit"),children:Re("span",{className:"hsk-voice-control-icon",children:p?Re(xs,{}):Re(ln,{})},p?"off":"on")})]})]})}import{useRef as Ra,useEffect as Rd,useState as zd}from"react";import{jsx as Kr,jsxs as Sc}from"react/jsx-runtime";var Nn=14,Cc=6;function Ed(e,n){let t=e.filter(Boolean);if(t.length<2)return null;let r=o=>o.offsetTop+o.offsetHeight/2,a=r(t[t.length-1])+10,s=o=>(o===n?Cc*1.3:Cc*.6)*(o%2?1:-1),i=`M ${Nn} 0`,c=0;return t.forEach((o,l)=>{let h=r(o),p=c+(h-c)/2;i+=` C ${Nn+s(l)} ${p}, ${Nn+s(l)} ${p}, ${Nn} ${h}`,c=h}),{d:i+` L ${Nn} ${a}`,height:a}}function Mc({items:e,activeIdx:n,progress:t,onJump:r,side:a="right"}){let s=or(),i=Ra(null),c=Ra(null),o=Ra([]),l=Ra(null),[h,p]=zd(null),m=0;for(let d=0;d<e.length;d++)e[d].idx<=n&&(m=d);return Rd(()=>{let d=o.current[m],v=l.current,f=c.current,b=i.current;if(d&&(v&&(v.style.transform=`translateY(${d.offsetTop+d.offsetHeight/2}px)`),p(Ed(o.current,m)),f&&b)){let E=b.clientHeight;if(f.scrollHeight>E&&E>0){let N=d.offsetTop+d.offsetHeight/2,T=E/2-N;f.style.transform=`translateY(${T}px)`}else f.style.transform="none"}},[m,e.length]),e.length<2?null:Kr("nav",{ref:i,className:ie("hsk-cb-timeline",a==="left"?"hsk-cb-timeline--left":"hsk-cb-timeline--right"),"aria-label":s("timelineLabel"),children:Sc("div",{ref:c,className:"hsk-cb-timeline-track",style:{"--hsk-tl-progress":t},children:[h&&Kr("svg",{className:"hsk-cb-tl-wave",width:"28",height:h.height,viewBox:`0 0 28 ${h.height}`,"aria-hidden":"true",children:Kr("path",{d:h.d})}),Kr("span",{className:"hsk-cb-tl-cursor",ref:l,"aria-hidden":"true"}),e.map((d,v)=>Sc("button",{ref:f=>{o.current[v]=f},type:"button",className:ie("hsk-cb-tl-item",v===m&&"hsk-cb-tl-item--on"),style:{"--hsk-tl-d":Math.min(Math.abs(v-m),4)},onClick:()=>r(d.idx),title:d.text,children:[Kr("span",{className:"hsk-cb-tl-dot"}),Kr("span",{className:"hsk-cb-tl-label",children:d.text})]},d.idx))]})})}import{useState as In,useEffect as za,useRef as Ld,useCallback as Bo}from"react";import{jsx as Bt,jsxs as Xr}from"react/jsx-runtime";var Nd=190;function Tc({msg:e,rect:n,containerRect:t,anchorEl:r,containerEl:a,isUser:s,isRTL:i=!1,canRetry:c,onPin:o,onRetry:l,onCopy:h,onClose:p,t:m}){let[d,v]=In(!1),f=Ld(null),{closing:b,requestClose:E}=Tn(Nd,p);za(()=>{let q=ne=>{ne.key==="Escape"&&E()};return window.addEventListener("keydown",q),()=>window.removeEventListener("keydown",q)},[E]);let k=Bo(async()=>{await h(e.content||"")&&(v(!0),setTimeout(E,450))},[e.content,h,E]),N=Bo(()=>{Lt("pin"),o(e),E()},[e,o,E]),T=Bo(()=>{l&&l(e),E()},[e,l,E]),[z,F]=In(0);za(()=>{if(f.current){let q=f.current.offsetWidth;q&&Math.abs(q-z)>2&&F(q)}},[z]);let[C,$]=In(n),[Z,A]=In(t);za(()=>{if(!r)return;let q=0,ne=(ce,se)=>Math.abs(ce-se)<.5,de=()=>{let ce=r.getBoundingClientRect();if($(se=>ne(se.top,ce.top)&&ne(se.left,ce.left)&&ne(se.width,ce.width)&&ne(se.height,ce.height)?se:{top:ce.top,left:ce.left,width:ce.width,height:ce.height}),a){let se=a.getBoundingClientRect();A(W=>W&&ne(W.top,se.top)&&ne(W.left,se.left)&&ne(W.width,se.width)?W:{top:se.top,left:se.left,width:se.width,height:se.height})}q=requestAnimationFrame(de)};return q=requestAnimationFrame(de),()=>cancelAnimationFrame(q)},[r,a]);let[D,Y]=In("");za(()=>{if(!r)return;let q=getComputedStyle(r).backgroundColor;q&&q!=="rgba(0, 0, 0, 0)"&&q!=="transparent"&&Y(q)},[r]);let H=C,V=Z??t,fe=V?.top??0,ue=V?.left??0,j=V?.width??(typeof window<"u"?window.innerWidth:390),re=H.top-fe,O=H.left-ue,P=H.width,X=H.height,S=2;c&&l&&S++;let I=z||(S===2?122:170),G=36,g=!!r?.closest(".hsk-cb-think")||!!r?.parentElement?.querySelector(".hsk-cb-think-head"),M=re>=58&&!g,u=M?Math.max(8,re-G-9):Math.min(re+X+9,(V?.height??800)-G-8),te=s?i:!i,B=te?Math.min(j-18,O+P-7):Math.max(18,O+7),_=te?B-I+18:B-18;_=Math.max(10,Math.min(_,j-I-10));let w=Math.max(18,Math.min(B-_,I-18)),y=D||(s?"var(--hsk-user-bubble-bg, var(--hsk-primary, #007aff))":"var(--hsk-bubble-bg, #eeeef0)"),L=0;return Bt("div",{className:"hsk-tapback-overlay",onClick:E,children:Xr("div",{ref:f,className:ie("hsk-tapback-group",b&&"is-closing",M?"is-above":"is-below",s?"is-user":"is-ai"),style:{top:`${u}px`,left:`${_}px`,"--tail-x":`${w}px`,"--tail-dir":te?1:-1,"--tail-step":s?"9px":"8px","--hsk-anchor-color":y,"--hsk-skin":"var(--hsk-bubble-bg, var(--hsk-chat-ai-bg, #eeeef0))"},onClick:q=>q.stopPropagation(),children:[Xr("div",{className:"hsk-tapback-capsule",children:[Xr("button",{type:"button",className:"hsk-tapback-tool-btn hsk-tapback-tool-btn--pin",onClick:N,"aria-label":"Pin to Kiku Memory",style:{"--tool-idx":L++},children:[Bt(zs,{size:14}),Bt("span",{children:"Pin"})]}),c&&l&&Xr("button",{type:"button",className:"hsk-tapback-tool-btn hsk-tapback-tool-btn--retry",onClick:T,"aria-label":m("retry"),style:{"--tool-idx":L++},children:[Bt(cn,{size:14}),Bt("span",{children:m("retry")})]}),Xr("button",{type:"button",className:ie("hsk-tapback-tool-btn hsk-tapback-tool-btn--copy",d&&"is-copied"),onClick:k,"aria-label":m(d?"copied":"copy"),style:{"--tool-idx":L++},children:[d?Bt(br,{size:14}):Bt(mr,{size:14}),Bt("span",{children:m(d?"copied":"copy")})]})]}),Xr("div",{className:ie("hsk-tapback-tail",M?"is-above":"is-below"),style:{left:`${w}px`},children:[Bt("span",{className:"hsk-tapback-dot hsk-tapback-dot--mid"}),Bt("span",{className:"hsk-tapback-dot hsk-tapback-dot--anchor"})]})]})})}import{jsx as De,jsxs as hr}from"react/jsx-runtime";var Dd=240,Hd=700,Bd=200;function qd({title:e="kiku",logo:n,placeholder:t="Ask me anything\u2026",backdropColor:r,backdropBlur:a,onClose:s,onSelectSource:i,chips:c=na,theme:o,classNames:l={},enableVoice:h=!1,voiceLang:p,enableVision:m=!1,ttsVoice:d="Algenib",origin:v}){let f=_d(),b=Fd(),{messages:E,sources:k,loading:N,streaming:T,error:z,errorCode:F,lastAction:C,lastIntent:$,allowedActions:Z,send:A,queuedMessage:D,sendQueuedNow:Y,appendSpokenExchange:H,stop:V,stopped:fe,interrupted:ue,continueGenerating:j,reset:re,referencedIds:O,humanPending:P,leaveHuman:X}=Pd(),[S,R]=Be(null),I=at(null),G=Ct(()=>{window.matchMedia?.("(prefers-reduced-motion: reduce)").matches||I.current?.animate([0,-7,6,-4,2,0].map(x=>({transform:`translateX(${x}px)`})),{duration:380,easing:"cubic-bezier(.36, .07, .19, .97)"})},[]);xt(()=>{if(!S)return;let x=Te=>{(Te.key.length===1||Te.key==="Enter"||Te.key==="Backspace")&&G()},U=Te=>{let Me=He=>Te.composedPath().some(Ne=>Ne.classList?.contains(He));!Me("hsk-cb-leave")&&!Me("hsk-cb-topbar")&&G()},le=sn.current;return le?.setAttribute("inert",""),document.addEventListener("keydown",x),document.addEventListener("pointerdown",U,!0),()=>{le?.removeAttribute("inert"),document.removeEventListener("keydown",x),document.removeEventListener("pointerdown",U,!0)}},[S,G]);let[g,M]=Be(()=>{try{return f.getShopperName?.()??""}catch{return""}}),[u,te]=Be(()=>{try{return f.getShopperLanguage?.()??""}catch{return""}}),[B,_]=Be(()=>{try{return f.getEntityLanguageMode?.()??""}catch{return""}}),[w,y]=Be(!1),[L,q]=Be(null),[ne,de]=Be(""),[ce,se]=Be(!1),{chromeReady:W,baseFontReady:K,isRTL:ge,speechLang:Pe,scriptFont:be,fontStack:Le,isNonLatin:_e,hostFontCovers:je,t:ke,tNode:tt}=si({shopperLanguage:u||ne,theme:o,preloadedStrings:L}),st=Pn.useMemo(()=>{let x=k.filter(Ne=>Ne.id&&O.includes(Ne.id)),U=[...E].reverse().find(Ne=>Ne.role==="assistant")?.content??"";if(!U)return x;let le=new Set(x.map(Ne=>Ne.id)),Te=U.toLowerCase().replace(/\s+/g," "),Me=Ne=>{let pt=String(Ne??"").toLowerCase().replace(/\s+/g," ").trim(),$e=pt.split(" "),Tt=[pt];return $e.length>3&&Tt.push($e.slice(0,3).join(" ")),$e.length>4&&Tt.push($e.slice(0,4).join(" ")),Tt.filter(Ir=>Ir.length>=5)},He=k.filter(Ne=>Ne.id&&!le.has(Ne.id)&&Me(Ne.name).some(pt=>Te.includes(pt)));return[...x,...He]},[k,O,E]),St=Z===null||Z.includes("capture"),[ht,qe]=Be(""),[At,vt]=Be(!1),[jt,_t]=Be(!1),[Vt,Et]=Be([]),we=at(new Map),bt=at(null),[Q,ae]=Be({}),[he,ee]=Be(null),[pe,oe]=Be(null),[ve,Ce]=Be(()=>{if(typeof window>"u")return!1;try{return localStorage.getItem("akropolys_terms_agreed")==="true"}catch{return!1}}),Se=E.length===0,Xe=ne||u,qt=!Xe||Xe.toLowerCase()==="english"||Xe.toLowerCase()==="en",rt=ce||!!ne||!!u&&!W&&!qt,Mt=Se&&!u&&!rt,dr=Se&&!!u&&!g&&!rt,Kt=Se&&!!u&&!!g&&!B,Xt=Se&&!!u&&!!g&&!!B&&!ve,ur=Mt||dr||Kt||Xt||rt,Jr=Kt||Xt||rt,[Zr,Ea]=Be(rt),[An,en]=Be(!1),[tn,Er]=Be(!1),[_n,ze]=Be(!1),Ve=at(!1),Ae=at(null),kt=at(null);rt!==Zr&&(Ea(rt),rt?(kt.current&&clearTimeout(kt.current),ze(!1),Er(!0),Ae.current=setTimeout(()=>{en(!0),Er(!1),Ve.current=!0},280)):(Ae.current&&clearTimeout(Ae.current),Er(!1),en(!1),Ve.current&&(Ve.current=!1,ze(!0),kt.current=setTimeout(()=>ze(!1),560)))),xt(()=>()=>{Ae.current&&clearTimeout(Ae.current),kt.current&&clearTimeout(kt.current)},[]),xt(()=>{if(!Mt)return;let x=ht.trim();if(x.length<2)return;let U=setTimeout(()=>{bn(f,x,ft)},150);return()=>clearTimeout(U)},[Mt,ht,f]);let it=Pn.useMemo(()=>E.some(x=>x.liveKeys?.length>0),[E]);xt(()=>{if(it)return Ad({client:f})},[it,f]);let[ut,Fn]=Be(!1);xt(()=>{let x=window.matchMedia?.("(max-width: 1199px)");if(!x)return;let U=()=>Fn(x.matches);return U(),x.addEventListener?.("change",U),()=>x.removeEventListener?.("change",U)},[]);let Dn=async x=>{let U=x.trim();if(!U){try{f.setShopperLanguage?.("")}catch{}te(""),de(""),q(null);return}if(de(U),se(!0),U.toLowerCase()==="english"||U.toLowerCase()==="en"){q(ft);try{f.setShopperLanguage?.(U)}catch{}te(U),de(""),se(!1),y(!1);return}let Te=Date.now(),Me=1200;try{let Ne=f.getCachedUIStrings?.(U,ar)??f.getCachedUIStrings?.(U,ft);if(Ne?.strings&&Object.keys(Ne.strings).length>0)q(Ne.strings),Ne.font&&await Rt(Ne.font,800);else{let pt=f.getUIStrings?.(U,ar),$e=await Promise.race([pt,new Promise(Tt=>setTimeout(()=>Tt(null),8e3))]);$e?.font&&await Rt($e.font,1200),$e?.strings&&Object.keys($e.strings).length>0&&q($e.strings)}}catch{}let He=Date.now()-Te;He<Me&&await new Promise(Ne=>setTimeout(Ne,Me-He));try{f.setShopperLanguage?.(U)}catch{}te(U),de(""),se(!1),y(!1);try{f.getUIStrings?.(U,ft)?.catch?.(()=>{})}catch{}},Lr=x=>{try{f.setEntityLanguageMode?.(x)}catch{}_(x),ve&&y(!0)},Qt=()=>{try{localStorage.setItem("akropolys_terms_agreed","true")}catch{}Ce(!0),y(!0)},La=rt?yr(ne||u).preparing:Mt?ke("langPlaceholder"):dr?ke("namePlaceholder"):Kt?ke("entityLangPlaceholder"):Xt?ke("termsPlaceholder"):t==="Ask me anything\u2026"?ke("defaultPlaceholder"):t,Na=!c||c===na?[]:Array.isArray(c)?c:[],Ia=Mt?"curious":dr?"welcoming":Kt?"guiding":Xt?"focused":"happy",[Jt,Pa]=Be(()=>{if(ja(o))return o;if(typeof window<"u"){let x=localStorage.getItem("akropolys_theme");if(ja(x))return x}return Es}),[Aa,$o]=Be(!1),rn=at(null);xt(()=>()=>{rn.current&&clearTimeout(rn.current)},[]);let Uo=at(null),Lc=()=>{let x=sn.current;if(!x?.animate||window.matchMedia?.("(prefers-reduced-motion: reduce)").matches)return;let U=ge?-3:3;Uo.current?.cancel(),Uo.current=x.animate([{transform:"translate(0, 0)",easing:"cubic-bezier(.3, 0, .2, 1)"},{offset:.26,transform:`translate(${U}px, -6px)`,easing:"cubic-bezier(.45, 0, .35, 1)"},{offset:.52,transform:`translate(${-U*.3}px, 1.6px)`,easing:"cubic-bezier(.45, 0, .35, 1)"},{offset:.74,transform:`translate(${U*.1}px, -0.6px)`,easing:"cubic-bezier(.45, 0, .55, 1)"},{transform:"translate(0, 0)"}],{duration:1100,delay:380})},Wo=at(!1);xt(()=>{if(Wo.current)return;let x=sn.current;if(!x){ro();return}let U=!1,le=()=>x.querySelector(".hsk-cb-hello-wrap, .hsk-cb-msg-group"),Te=()=>{U||(U=!0,Wo.current=!0,Me.disconnect(),clearTimeout(He),ro())},Me=new MutationObserver(()=>{le()&&Te()});Me.observe(x,{childList:!0,subtree:!0});let He=window.setTimeout(Te,2e3);return le()&&Te(),()=>{U=!0,Me.disconnect(),clearTimeout(He)}},[]);let Oo=(x,U=!1)=>{$o(!0),rn.current&&clearTimeout(rn.current),rn.current=setTimeout(()=>$o(!1),420),Pa(x),Lc(),U&&Ha();try{localStorage.setItem("akropolys_theme",x)}catch{}},{vars:Nc}=hs(o),nn=Jt;ps(o);let Go=at(()=>{}),$t=at(null),Zt=async(x,U,le,Te)=>{let Me=(x??ht).trim(),He=U??Vt;if(!Me&&He.length===0||!W||D)return;if(Lt("send"),dr){if(!Me)return;let $e=Xs(Me)||Me.slice(0,40);try{f.setShopperName?.($e)}catch{}M($e),qe("");return}if(Mt){if(!Me||ce)return;qe(""),Dn(Me);return}if(Jr){qe("");return}vt(!1),_t(!1),qe(""),Et([]);let Ne=(await Promise.all(He.map(async({thumb:$e,...Tt})=>{let Ir=Tt.data||($e?await we.current.get($e)?.catch(()=>""):"")||"";return $e&&URL.revokeObjectURL($e),{...Tt,data:Ir}}))).filter($e=>$e.data),pt=Me||(Ne.some($e=>$e.type==="image")?"Analyze this image":"What is this?");await A(pt,Me,Ne.length>0?Ne:void 0,le,Te)},[Ic,Yo]=Be(!1),Hn=Ct(async x=>{let U=x&&x.role==="user"?x:[...E].reverse().find(le=>le.role==="user");if(U?.content){Yo(!0);try{await Zt(U.content)}finally{Yo(!1)}}},[E,Zt]),Pc=Ct(x=>{x?.content&&(qe(x.content),setTimeout(()=>{if($t.current){$t.current.focus();let U=x.content.length;try{$t.current.setSelectionRange(U,U)}catch{}}},50))},[qe,$t]),Ac=Ct(async()=>{await Hn()},[Hn]),{keyInput:_c,setKeyInput:Fc,keyPhase:Dc,setKeyPhase:jo,mintedKey:Hc,setMintedKey:Bc,mintedPub:Ud,setMintedPub:qc,copied:$c,keyCountdown:Uc,minting:Wc,copyValue:Oc,handleUseExistingKey:Gc,handleCreateKey:Yc}=pi(C,Ac),Vo=Ct(()=>{let x=f?.getKikuKey?.();x&&window.open(`https://mimi.akropolys.cloud/#k=${encodeURIComponent(x)}`,"_blank","noopener")},[f]),[an,Ko]=Be(null),jc=Ct((x,U,le,Te)=>{Ko({msg:x,rect:U,isUser:le,el:Te})},[]),Vc=Ct(async x=>{let le=`@kiku pin ${(x.content||"").slice(0,50).replace(/\n+/g," ")}`;await A(x.content||"pin message",le,void 0,"capture")},[A]),{handleKikuCapture:Kc,handleKikuCaptureAll:Xc,handleKikuViewHistory:Qc,handleKikuDelete:Jc}=di({attachments:Vt,setAttachments:Et,setInput:qe,send:A,t:ke}),{voiceMode:Xo,voicePhase:Qo,voiceConnecting:Zc,voiceError:_a,setVoiceError:Jo,voiceMuted:el,setVoiceMuted:tl,voiceSecondsLeft:rl,voiceBlocked:nl,liveVoiceName:al,chooseVoice:ol,canConverse:sl,startVoice:il,stopVoice:cl,voice:ll,live:Zo,earlier:hl,newVoiceChat:pl,attachPhoto:dl}=Ii({voiceLang:p,speechLang:Pe,shopperLanguage:u,ttsVoice:d,messages:E,handleSendUtterance:x=>Go.current(x),appendSpokenExchange:H}),Bn=at(null),[er,qn]=Be(!1),[ul,ml]=Be(null),$n=at(null),Fa=at(null),es=at([]),on=at(null),bl=`hsk-goo-${Id()}`,{closing:Da,requestClose:ts,closeNow:Ha}=Tn(ut?Hd:Dd,()=>qn(!1));xt(()=>{if(!er)return;let x=U=>{let le=U.composedPath?U.composedPath():[],Te=$n.current&&(le.includes($n.current)||$n.current.contains(U.target)),Me=Fa.current&&(le.includes(Fa.current)||Fa.current.contains(U.target)),He=U.target,Ne=He?.closest?.(".hsk-cb-topbar-mark"),pt=He?.closest?.(".hsk-cb-topbar-ooze-menu")||le.some($e=>$e?.classList?.contains?.("hsk-cb-topbar-ooze-menu"));Te||Me||Ne||pt||ts()};return document.addEventListener("mousedown",x),document.addEventListener("touchstart",x,{passive:!0}),()=>{document.removeEventListener("mousedown",x),document.removeEventListener("touchstart",x)}},[er]);let{msgsContainerRef:sn,spacerRef:kl,lastExternalScrollRef:fl,showJumpToBottom:gl,scrollProgress:xl,activeMsgIdx:vl,unreadBelow:yl,jumpToMessage:wl,jumpToBottom:Cl}=ii({messages:E,loading:N,streaming:T,messageRefs:es}),{closing:Sl,requestClose:rs}=Tn(Bd,s),Un=Ct(x=>{x&&X(),qn(!1),window.matchMedia?.("(prefers-reduced-motion: reduce)").matches?s():rs()},[rs,s,X]),Wn=Ct(()=>{S?G():P?R("close"):Un(!1)},[P,Un,S,G]);Ls({panel:Ct(()=>Bn.current,[]),scroller:Ct(()=>sn.current,[]),onDismiss:s,quiescent:Ct(()=>performance.now()-fl.current>90,[])}),xt(()=>{if(typeof window>"u")return;let x=window.innerWidth-document.documentElement.clientWidth,U=document.body.style.overflow,le=document.body.style.paddingRight;if(x>0){let Te=parseFloat(window.getComputedStyle(document.body).paddingRight)||0;document.body.style.paddingRight=`${Te+x}px`,document.documentElement.style.setProperty("--hsk-scrollbar-width",`${x}px`)}return document.body.style.overflow="hidden",()=>{document.body.style.overflow=U,document.body.style.paddingRight=le,document.documentElement.style.removeProperty("--hsk-scrollbar-width")}},[]),xt(()=>{let x=window.visualViewport;if(!x)return;let U=document.documentElement,le=()=>{U.style.setProperty("--hsk-vvh",`${x.height}px`)};return le(),x.addEventListener("resize",le),x.addEventListener("scroll",le),()=>{x.removeEventListener("resize",le),x.removeEventListener("scroll",le),U.style.removeProperty("--hsk-vvh")}},[]),xt(()=>{let x=U=>{if(U.key==="Escape"){if(he){ee(null);return}Wn()}};return document.addEventListener("keydown",x),()=>document.removeEventListener("keydown",x)},[he,Wn]);let On=Ct(x=>{x&&X(),re(),jo("idle")},[re,jo,X]),Ml=Ct(()=>{S?G():P?R("reset"):On(!1)},[P,On,S,G]),Tl=x=>{i?.(x);let U=[...E].reverse().find(le=>le.role==="assistant");if(U&&U.content.trim().endsWith("?")){A(ke("cardClickAnswer",{name:x.name}));return}A(ke("cardClickQuery",{name:x.name,details:$a(tr(x,b))}))},Rl=x=>{qe(x+" "),_t(!1),vt(!0),$t.current&&$t.current.focus()},zl=x=>{if(x.key==="Escape"&&At){x.preventDefault(),vt(!1);return}if(x.key==="Escape"&&jt){x.preventDefault(),_t(!1);return}x.key==="Enter"&&!x.shiftKey&&!x.nativeEvent.isComposing&&(x.preventDefault(),Zt())},Ba=at(28),ns=at(280),qa=at(null),El=(x,U)=>{try{!qa.current&&typeof document<"u"&&(qa.current=document.createElement("canvas"));let le=qa.current?.getContext("2d");return le?(le.font=U,le.measureText(x).width):x.length*8.5}catch{return x.length*8.5}},Ll=x=>{let U=x.closest(".hsk-cb-input-box");if(!U)return;let le=x.value;!(U.dataset.expanded==="true")&&x.clientWidth>50&&(ns.current=x.clientWidth);let Me=window.getComputedStyle(x),He=Me.font||`${Me.fontSize||"16px"} ${Me.fontFamily||"Geist, sans-serif"}`,Ne=El(le,He),pt=Math.max(120,ns.current-14),$e=le.includes(`
38
- `),Tt=!!(le&&($e||Ne>pt));if(U.dataset.expanded!==(Tt?"true":"false")&&(U.dataset.expanded=Tt?"true":"false"),!le){Ba.current=28,x.style.height="";return}if(!Tt){Ba.current=28,x.style.height="";return}x.style.height="auto";let Ir=Math.max(28,Math.min(x.scrollHeight,140));Ba.current=Ir,x.style.height=`${Ir}px`};xt(()=>{$t.current&&Ll($t.current)},[ht]);let Nl=x=>{let U=x.target.value;qe(U),_a&&Jo("");let le=U.trim();_t(le==="@"),vt(/^@kiku\s*$/i.test(le))};xt(()=>{Go.current=x=>{Zt(x)}});let Il=async x=>{if(!x||x.length===0)return;let U=Array.from(x);for(let le of U){if(!le.type.startsWith("image/"))continue;let Te=URL.createObjectURL(le),Me=Zn(le);we.current.set(Te,Me),Et(He=>[...He,{type:"image",data:"",thumb:Te}]),Me.then(He=>Et(Ne=>Ne.map(pt=>pt.thumb===Te?{...pt,data:He}:pt))).catch(()=>Et(He=>He.filter(Ne=>Ne.thumb!==Te))).finally(()=>we.current.delete(Te))}},Pl=x=>{Et(U=>{let le=U[x]?.thumb;return le&&URL.revokeObjectURL(le),U.filter((Te,Me)=>Me!==x)})},Al=r&&(r.includes("rgba")||r.includes("hsla")||r==="transparent"),_l=a||Al?{backdropFilter:`blur(${typeof a=="number"?`${a}px`:a||"20px"})`,WebkitBackdropFilter:`blur(${typeof a=="number"?`${a}px`:a||"20px"})`}:{},as=at(!1);xt(()=>{if(as.current&&!T){let x=E[E.length-1];x&&x.role!=="user"&&Lt("reply")}as.current=T},[T,E]);let os=(fe||ue)&&!N&&!T,Gn=E[E.length-1],Yn=li(Gn?.role==="assistant"?Gn.content??"":""),Fl=Gn?.role==="assistant"&&Yn.length<(Gn.content?.length??0),Dl=T||Fl,Nr=Pn.useMemo(()=>{let x=N||T,U=E.filter((Me,He)=>Me.role!=="assistant"||He===E.length-1&&x?!0:!!Me.content||!!Me.visualization||Me.visualizing||(Me.knowledgeImages?.length??0)>0||(Me.referencedIds?.length??0)>0||Mn(Me.statusStage)),le=U.length-1;if(le<0||U[le].role!=="assistant"||U[le]!==E[E.length-1])return U;let Te=Yn.length<(U[le].content?.length??0);return!x&&!Te?U:U.map((Me,He)=>He===le?{...Me,content:Yn}:Me)},[E,N,T,Yn]),Hl=Pn.useMemo(()=>{let x=[];return Nr.forEach((U,le)=>{if(U.role==="user"&&U.content.trim()){let Te=U.content.replace(/^@kiku\s*/i,"").replace(/\s+/g," ").trim();x.push({idx:le,text:Te.length>28?Te.slice(0,27).trimEnd()+"\u2026":Te})}}),x},[Nr]),Bl=os&&Nr[Nr.length-1]?.role!=="assistant",ss=at(Date.now());return xt(()=>{ss.current=Date.now()},[]),De(ao.Provider,{value:ke,children:De("div",{ref:on,className:ie("hsk-cb-overlay",v&&"hsk-cb-overlay--grows",Sl&&"hsk-cb-overlay--closing",l.overlay),onPointerDown:x=>{jn(),x.target===x.currentTarget&&(on.current._ptrDown=!0)},onClick:x=>{x.target===x.currentTarget&&on.current?._ptrDown&&Date.now()-ss.current>200&&Wn(),on.current&&(on.current._ptrDown=!1)},"data-hsk-theme":nn,"data-hsk-theming":Aa?"":void 0,style:{..._l,...r?{background:r}:{},...v?{"--hsk-ox":`${v.x}px`,"--hsk-oy":`${v.y}px`}:{},...Nc},children:hr("div",{ref:Bn,className:ie("hsk-cb-panel",l.panel),dir:ge?"rtl":"ltr",lang:Pe||void 0,"data-script":_e?"nonlatin":"latin","data-host-font":je?"covers":"gap","data-nastaliq":be?.family==="Noto Nastaliq Urdu"||u?.toLowerCase()==="urdu"||u?.toLowerCase()==="ur"||u==="\u0627\u0631\u062F\u0648"?"true":void 0,style:Le?{"--hsk-font":Le}:void 0,onClick:x=>{x.stopPropagation();let U=x.target;if(U.tagName==="IMG"&&(U.classList.contains("hsk-markdown-img")||U.classList.contains("hsk-cb-user-img-thumb"))){let le=U.src;le&&ee(le)}},children:[De(Ln,{src:he,onClose:()=>ee(null)}),pe&&De("div",{className:"hsk-markup-overlay",children:De(_s,{src:pe,t:ke,onCancel:()=>oe(null),onSend:(x,U,le,Te)=>{oe(null),Zt(U,[{type:"image",data:x,annotated:!0,marks:le,instructed:!0,preview:Te}])}})}),hr("div",{className:"hsk-cb-main",children:[De(ta,{seed:f?.api?.siteId??"",theme:nn,dir:ge?"rtl":"ltr",waitForContent:!0}),De(Wi,{title:e,logo:n,hasMessages:E.length>0,avatarState:T?"speaking":N?"thinking":"idle",unread:yl,awayFromBottom:gl,themeMenuOpen:er,themeMenuClosing:Da,onThemeMenuClosed:Ha,isNarrow:ut,currentTheme:Jt,onJumpToLatest:Cl,onReset:Ml,onClose:Wn,onToggleThemeMenu:()=>er?ts():qn(!0),onSelectTheme:x=>{Oo(x,!0)},themeAttr:nn}),De("div",{className:"hsk-cb-msgs",ref:sn,children:Nr.length===0?De(Ki,{inOnboarding:ur,justCompleted:w,onboardingMood:Ia,awaitingLang:Mt,awaitingName:dr,awaitingEntityLang:Kt,awaitingConsent:Xt,termsAgreed:ve,shopperLanguage:u,pendingLanguage:ne,shopperName:g,entityLangPref:B,chromeReady:W&&K,activeChips:Na,speechLang:Pe,t:ke,tNode:tt,chooseLanguage:Dn,langSwitching:ce,isLangPreparing:rt,onPrewarmLanguage:x=>bn(f,x,ft),chooseEntityLang:Lr,agreeTerms:Qt,handleSend:Zt}):De(bc,{doodleTheme:nn,displayMessages:Nr,messageRefs:es,isNarrow:ut,loading:N,streaming:Dl,sources:k,referencedIds:O,discussedSources:st,lastIntent:$,lastAction:C,stopped:fe,interrupted:ue,halted:os,haltedEmpty:Bl,error:z,errorCode:F,keyPhase:Dc,keyInput:_c,setKeyInput:Fc,mintedKey:Hc,setMintedKey:Bc,setMintedPub:qc,minting:Wc,copied:$c,keyCountdown:Uc,handleUseExistingKey:Gc,handleCreateKey:Yc,copyValue:Oc,queuedMessage:D,sendQueuedNow:Y,setLightboxSrc:ee,setMarkupSrc:oe,handleSend:Zt,handleSourceClick:Tl,onRetry:Hn,onEdit:Pc,onLongPress:jc,retrying:Ic,continueGenerating:j,t:ke,spacerRef:kl,vizState:Q,setVizState:ae,messages:E})}),!An&&De("div",{className:ie(tn&&"hsk-composer-exit-up",_n&&"hsk-composer-reveal"),children:De(xc,{notice:S&&hr("div",{className:"hsk-cb-leave",role:"alertdialog",ref:I,children:[De("span",{children:ke("leaveHumanWarning")}),De("button",{type:"button",className:"hsk-cb-leave-btn",onClick:()=>R(null),children:ke("leaveHumanStay")}),De("button",{type:"button",className:"hsk-cb-leave-btn",onClick:()=>{let x=S;R(null),x==="reset"?On(!0):Un(!0)},children:ke("leaveHumanConfirm")}),De("button",{type:"button",className:"hsk-cb-leave-btn hsk-cb-leave-btn--end",onClick:()=>{let x=S;R(null),x==="reset"?On(!1):Un(!1)},children:ke("leaveHumanKeep")})]}),gooId:bl,input:ht,setInput:qe,showKikuPicker:At,setShowKikuPicker:vt,showAtPicker:jt,setShowAtPicker:_t,captureAllowed:St,discussedSources:st,handleSelectExtension:Rl,handleKikuCapture:Kc,handleKikuCaptureAll:Xc,handleKikuViewHistory:Qc,handleKikuDelete:Jc,attachments:Vt,removeAttachment:Pl,chromeLoading:!W,imageInputRef:bt,handleImageFiles:Il,enableVision:m&&!ur,enableVoice:h&&!ur,canConverse:sl,startVoice:il,inputLocked:Jr,voiceBlocked:nl,textareaRef:$t,classNames:l,handleInput:Nl,handleKeyDown:zl,voice:ll,voicePhase:Qo,activePlaceholder:La,loading:N,streaming:T,stop:V,handleSend:Zt,voiceError:_a,setVoiceError:Jo,langSwitching:ce||rt,t:ke,onOpenMimi:f?.getKikuKey?.()?Vo:void 0})})]}),Xo!=="converse"&&De(Mc,{items:Hl,activeIdx:vl,progress:xl,onJump:wl,side:ge?"left":"right"}),hr("div",{className:ie("hsk-cb-kiku-id-rail",ge?"hsk-cb-kiku-id-rail--right":"hsk-cb-kiku-id-rail--left"),children:[De("div",{className:"hsk-cb-dock-frost","aria-hidden":"true"}),De(ma,{}),hr("div",{className:ie("hsk-cb-theme-squircle-wrap",er&&!Da&&"is-open"),ref:$n,children:[De("div",{className:"hsk-cb-theme-2x2-grid",role:"dialog","aria-label":"Theme selector",ref:x=>{x&&(x.inert=!er||Da)},children:kr.map(({id:x,label:U,Icon:le})=>hr("button",{type:"button",className:ie("hsk-cb-theme-grid-item",(ul??Jt)===x&&"is-active"),onClick:Te=>{Te.stopPropagation(),Oo(x,!0)},children:[De(le,{}),De("span",{children:U})]},x))}),hr("button",{type:"button",className:"hsk-cb-theme-squircle-trigger",onClick:()=>{if(er){Ha();return}ml(Jt),qn(!0)},"aria-label":"Themes","aria-expanded":er,children:[De("span",{className:"hsk-cb-theme-trigger-icon",children:Pn.createElement(Va(Jt).Icon)}),De("span",{className:"hsk-cb-theme-trigger-label",children:Va(Jt).label})]})]}),f?.getKikuKey?.()&&hr("button",{type:"button",className:"hsk-cb-sound-pill",onClick:Vo,children:[De(Qn,{size:13}),De("span",{children:"MiMi"})]})]}),Xo==="converse"&&De(wc,{siteId:f?.api?.siteId??"",themeAttr:nn,stopVoice:cl,chooseVoice:ol,liveVoiceName:al,voiceSecondsLeft:rl,voiceConnecting:Zc,voicePhase:Qo,live:Zo,earlier:hl,newVoiceChat:pl,voiceMuted:el,setVoiceMuted:tl,voiceError:_a,attachPhoto:dl,onSelectSource:x=>{i?.(x),Zo.ask(ke("cardClickQuery",{name:x.name,details:$a(tr(x,b))}))},t:ke}),an&&De(Tc,{msg:an.msg,rect:an.rect,anchorEl:an.el,containerEl:Bn.current,containerRect:Bn.current?.getBoundingClientRect(),isUser:an.isUser,isRTL:ge,canRetry:!N&&!T,onPin:Vc,onRetry:Hn,onCopy:async x=>{if(!x)return!1;try{return await navigator.clipboard.writeText(x),!0}catch{}try{let U=document.createElement("textarea");U.value=x,U.setAttribute("readonly",""),U.style.cssText="position:fixed;top:0;left:0;opacity:0;pointer-events:none",document.body.appendChild(U),U.select(),U.setSelectionRange(0,x.length);let le=document.execCommand("copy");return document.body.removeChild(U),le}catch{return!1}},onClose:()=>Ko(null),t:ke})]})})})}var qo='@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) both}@keyframes hsk-input-dock{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.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)}@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;margin-inline-start:-4px;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;position:relative;padding-left:28px!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) - 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));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(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(var(--hsk-tl-d) * 7px - 2px))}.hsk-cb-tl-item:hover .hsk-cb-tl-dot{transform: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:after{display:none!important}.hsk-cb-input-card{position:relative;z-index:95;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}.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:100;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:90;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-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:96;display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;width:fit-content;max-width:calc(100% - 24px);margin:0 12px -12px;padding:6px 6px 6px 14px;border-radius:18px;background:var(--hsk-chat-ai-bg, #eeeef0);color:var(--hsk-chat-text, #111827);box-shadow:0 0 0 3px var(--hsk-chat-bg, #fff),0 6px 20px #0000001f;font:500 13px/1.4 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:28px;padding:0 13px;border:none;border-radius:999px;background:#80808029;color:inherit;font:600 12.5px var(--hsk-font);cursor:pointer}.hsk-cb-leave-btn--end{background:var(--hsk-chat-text, #111827);color:var(--hsk-chat-bg, #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}}@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}@keyframes hsk-lightbox-in{0%{opacity:0}to{opacity:1}}.hsk-lightbox-img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:4px;box-shadow:0 18px 50px -12px color-mix(in srgb,#000 30%,transparent);cursor:default}.hsk-lightbox-close{position:absolute;top:16px;right:16px;width:36px;height:36px;border-radius:50%;border:none;background:color-mix(in srgb,var(--hsk-chat-text, #111) 8%,transparent);color:var(--hsk-chat-text, #111);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s}.hsk-lightbox-close:hover{background:color-mix(in srgb,var(--hsk-chat-text, #111) 16%,transparent)}.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),0 1px 3px rgba(var(--hsk-primary-rgb),.2)!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-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-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-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-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-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-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 Rc="akropolys-kiku-root",pr=null,Qr=null,zc=!1;function Ec(e){if(zc)return;if(zc=!0,typeof CSSStyleSheet<"u"&&"replaceSync"in CSSStyleSheet.prototype)try{let t=new CSSStyleSheet;t.replaceSync(qo),e.adoptedStyleSheets=[t];return}catch{}let n=document.createElement("style");n.textContent=qo,e.appendChild(n)}function $d(){return typeof document>"u"?null:Qr?(Ec(Qr),Qr):(pr=document.getElementById(Rc),pr||(pr=document.createElement("div"),pr.id=Rc,pr.style.cssText="all: initial;",document.body.appendChild(pr)),Qr=pr.shadowRoot??pr.attachShadow({mode:"open"}),Ec(Qr),Qr)}export{qd as ChatModal,na as DEFAULT_CHIPS,ft as DEFAULT_UI_STRINGS,$d as getShadowContainer,uh as warmChrome,bn as warmLanguage};
39
- //# sourceMappingURL=lazy-SKZPMC7T.mjs.map
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=>Bp.test(h))&&(t.length=l)}let r=(l,h)=>wa(l,n&&h===t.length-1?15:1),a=[],s=[],i=0,c=()=>{s.length>0&&(a.push(Ye("div",{className:"hsk-cb-ai-text",children:s},`text-bubble-${i++}`)),s=[])},o=0;for(;o<t.length;){let l=t[o],h=`md-line-${o}`;if(!l.trim()){o++;continue}let p=l.trim().match(/^!\[([^\]]*)\]\(([^)]+)\)$/);if(p){c();let d=p[1],v=p[2];ac(v)&&a.push(Ye("div",{className:"hsk-markdown-img-block",children:Ye("img",{src:v,alt:d||"Product image",className:"hsk-markdown-img",loading:"lazy",onError:g=>{g.target.style.display="none"}})},h)),o++;continue}let m=l.match(/^(#{1,3})\s+(.*)/);if(m){let d=m[1].length,v=`h${d+3}`;s.push(Ye(v,{className:`hsk-markdown-h${d}`,dir:r(m[2],o),children:Ot(m[2],h)},h)),o++;continue}if(l.match(/^[\s]*[-*+•]\s+/)){let d=[],v="";for(;o<t.length&&t[o].match(/^[\s]*[-*+•]\s+/);){let g=t[o].replace(/^[\s]*[-*+•]\s+/,"");v+=g+" ",d.push(Ye("li",{children:Ot(g,`li-${o}`)},`li-${o}`)),o++}s.push(Ye("ul",{className:"hsk-markdown-list hsk-markdown-ul",dir:r(v,o-1),children:d},`ul-${h}`));continue}if(l.match(/^[\s]*\d+[\.\)]\s+/)){let d=[],v="";for(;o<t.length&&t[o].match(/^[\s]*\d+[\.\)]\s+/);){let g=t[o].replace(/^[\s]*\d+[\.\)]\s+/,"");v+=g+" ",d.push(Ye("li",{children:Ot(g,`li-${o}`)},`li-${o}`)),o++}s.push(Ye("ol",{className:"hsk-markdown-list hsk-markdown-ol",dir:r(v,o-1),children:d},`ol-${h}`));continue}if(tc(l,!1)){c();let d=[],v=[],g=[],b=!0;for(;o<t.length&&tc(t[o],!0);){let z=t[o].trim();if(z.match(/^\|?[-:| ]+\|?$/)&&z.includes("-")){g=rc(z).map($=>{let Z=$.trim(),A=Z.startsWith(":"),D=Z.endsWith(":");return A&&D?"center":D?"end":"start"}),o++,b=!1;continue}let F=rc(z);b&&d.length===0?d=F:v.push(F),o++}let E=Math.max(d.length,...v.map(z=>z.length)),k=[];for(let z=0;z<E;z++)if(g[z])k[z]=g[z];else if(z===0)k[z]="start";else{let F=v.filter(C=>{let $=(C[z]||"").trim();return/^[\$€£¥+-]?\d+([.,]\d+)?%?$/.test($)||/^[\$€£¥+-]?\d+([.,]\d+)?\s*(bps|M|K|B)?$/i.test($)}).length;k[z]=F>=Math.ceil(v.length/2)?"end":"start"}let N=d.length>0?Ye("tr",{children:d.map((z,F)=>Ye("th",{style:{textAlign:k[F]||"start"},children:Ye("bdi",{children:Ot(z,`th-${h}-${F}`)})},`th-${h}-${F}`))},`tr-head-${h}`):null,T=v.map((z,F)=>Ye("tr",{children:z.map((C,$)=>Ye("td",{className:C.trim().startsWith("\u2713")?"hsk-md-ok":C.trim().startsWith("\u2717")?"hsk-md-bad":void 0,style:{textAlign:k[$]||"start"},children:Ye("bdi",{children:Ot(C,`td-${h}-${F}-${$}`)})},`td-${h}-${F}-${$}`))},`tr-body-${h}-${F}`));a.push(Ye(qp,{children:Up("table",{className:"hsk-markdown-table",children:[N&&Ye("thead",{children:N}),Ye("tbody",{children:T})]})},`table-wrapper-${h}`));continue}s.push(Ye("p",{className:"hsk-markdown-p",dir:r(l,o),children:Ot(l,h)},h)),o++}return c(),Ye(Wp,{children:a})}import{useEffect as sc,useState as Op}from"react";import{describeAge as ic,getLiveValue as Gp,isFresh as Yp,isStale as jp,labelFor as Vp,formatLiveValue as Kp,subscribeLiveValues as Xp,LIVE_FLASH_MS as Qp}from"@akropolys/sdk";import{jsx as It,jsxs as Eo}from"react/jsx-runtime";function Jp(e){let[,n]=Op(0),t=JSON.stringify(e);return sc(()=>Xp(r=>{e.includes(r)&&n(a=>a+1)}),[t]),sc(()=>{let r=setInterval(()=>n(a=>a+1),1e3);return()=>clearInterval(r)},[]),e.map(Gp)}var Zp=["title","name","label","headline","subject"],ed=8,td=40;function rd({record:e,now:n}){let t=jp(e,n),r=e.fields,a=Zp.find(o=>r[o]),s=a?r[a]:e.key,i=s.length>38?s.slice(0,36)+"\u2026":s,c=Object.entries(r).filter(([o,l])=>o!==a&&l!==""&&l.length<=td&&!/^[0-9a-fA-F-]{26,}$/.test(l)).slice(0,ed).map(([o,l])=>({label:Vp(o),value:Kp(l),rawKey:o}));return Eo("div",{className:`hsk-live-card${t?" is-stale":""}`,role:"region","aria-label":"Live values",children:[It("div",{className:"hsk-live-card__top",children:Eo("div",{className:"hsk-live-card__badge",children:[It("span",{className:`hsk-live-dot${t?" is-stale":""}`,"aria-hidden":"true"}),It("span",{className:"hsk-live-card__age",children:t?`Paused \xB7 ${ic(n-e.at)}`:`Live \xB7 ${ic(n-e.at)}`})]})}),It("div",{className:"hsk-live-card__body",children:It("span",{className:"hsk-live-card__title",title:s,children:i})}),It("div",{className:"hsk-live-card__pills",children:c.map(o=>{let l=Yp(e,o.rawKey,n);return Eo("div",{className:`hsk-live-pill${l?" is-changed":""}`,style:l?{animationDuration:`${Qp}ms`}:void 0,children:[It("span",{className:"hsk-live-pill__label",children:o.label}),It("span",{className:"hsk-live-pill__value",children:o.value})]},o.rawKey)})})]})}function cc({keys:e}){let n=new Set,t=(e??[]).filter(c=>n.has(c)?!1:(n.add(c),!0)),r=Jp(t);if(t.filter((c,o)=>r[o]).length===0)return null;let s=r.filter(c=>!!c),i=Date.now();return It("div",{className:"hsk-live-wrap",role:"group","aria-label":"Live data",children:It("div",{className:"hsk-live-carousel",children:s.map(c=>It(rd,{record:c,now:i},c.key))})})}import{useState as Ca,useRef as nd,useEffect as ad,useCallback as od}from"react";import{useAkropolysContext as sd,useCardFields as id}from"@akropolys/sdk";import{Fragment as Lo,jsx as et,jsxs as Rr}from"react/jsx-runtime";function cd({src:e,alt:n,onImageClick:t}){let[r,a]=Ca(!1);return r?et("div",{style:{width:"100%",height:"100%",display:"flex",alignItems:"center",justifyContent:"center",background:"var(--hsk-chat-source-bg, rgba(0,0,0,.04))",color:"var(--hsk-chat-muted, #888)"},children:et(rr,{})}):et("img",{src:e,alt:n??"",onError:()=>a(!0),onClick:t?s=>{s.stopPropagation(),t(e)}:void 0})}function Sa({sources:e,onSelectSource:n,onImageClick:t,referencedIds:r=[],compact:a=!1,targetLabel:s="Your colour"}){let i=sd(),c=id(),o=nd(null),[l,h]=Ca(!1),[p,m]=Ca(!1),[d,v]=Ca(0),g=e.filter(C=>C.id&&r.includes(C.id)),b=g.filter(C=>C.swatch),E=g.filter(C=>!C.swatch),k=od(()=>{let C=o.current;if(!C||E.length===0)return;let $=Math.abs(C.scrollLeft),Z=C.scrollWidth-C.clientWidth;h($>10),m(Z>4&&$<Z-12);let D=Math.round($/190);v(Math.min(Math.max(0,D),E.length-1))},[E.length]);ad(()=>{k();let C=o.current;if(!C)return;let $=new ResizeObserver(k);return $.observe(C),C.addEventListener("scroll",k,{passive:!0}),()=>{$.disconnect(),C.removeEventListener("scroll",k)}},[k,e]);let N=C=>{let $=o.current;if(!$)return;let Z=getComputedStyle($).direction==="rtl";$.scrollBy({left:190*C*(Z?-1:1),behavior:"smooth"})},T=()=>N(1),z=()=>N(-1);if(E.length===0&&b.length===0)return null;let F=b.length>0&&et("div",{className:"hsk-cb-swatch-grid",children:b.map((C,$)=>Rr("button",{type:"button",className:ie("hsk-cb-swatch",C.target&&"hsk-cb-swatch--target"),style:{animationDelay:`${$*40}ms`},onClick:C.target?void 0:()=>n?.(C),children:[et("span",{className:"hsk-cb-swatch-chip",style:{background:C.swatch}}),et("span",{className:"hsk-cb-swatch-name",children:C.target?s:C.name}),et("span",{className:"hsk-cb-swatch-code",children:C.swatch})]},C.id??$))});return E.length===0?F||null:Rr(Lo,{children:[F,Rr("div",{className:ie("hsk-cb-sources-wrap",a&&"hsk-cb-sources-wrap--compact"),children:[l&&Rr(Lo,{children:[et("div",{className:"hsk-cb-sources-fade-left"}),et("button",{className:"hsk-cb-sources-prev",onClick:z,"aria-label":"Previous",children:et(jn,{})})]}),et("div",{className:"hsk-cb-sources",ref:o,children:E.map((C,$)=>{let Z=!!(C.id&&r.includes(C.id));return Rr("div",{className:ie("hsk-cb-source",Z&&"hsk-cb-source--referenced"),style:{animationDelay:`${$*50}ms`},onClick:()=>n?.(C),children:[C.image?et("div",{className:"hsk-cb-src-imgwrap",style:{position:"relative"},children:et(cd,{src:C.image,alt:C.name,onImageClick:t})}):et("div",{className:"hsk-cb-src-imgwrap-empty",style:{position:"relative"},children:et(rr,{})}),Rr("div",{className:"hsk-cb-src-info",children:[et("div",{className:"hsk-cb-src-name",children:C.name}),tr(C,c).slice(0,2).map(A=>et("div",{className:"hsk-cb-src-detail",children:A.value},A.label))]})]},C.id??$)})}),p&&Rr(Lo,{children:[et("div",{className:"hsk-cb-sources-fade-right"}),et("button",{className:"hsk-cb-sources-next",onClick:T,"aria-label":"See more",children:et(Vn,{})})]}),E.length>1&&et("div",{className:"hsk-cb-carousel-dots",children:E.map((C,$)=>et("div",{className:ie("hsk-cb-dot-item",$===d&&"hsk-cb-dot-item--active"),onClick:()=>{let Z=o.current;if(Z){let A=getComputedStyle(Z).direction==="rtl";Z.scrollTo({left:$*190*(A?-1:1),behavior:"smooth"})}}},$))})]})]})}import{jsx as lc,jsxs as ld}from"react/jsx-runtime";function hc({intent:e,sources:n,onSend:t,loading:r}){let a=or();if(!e)return null;let s=[],i=n[0]?.name??"",c=n.slice(0,2).map(o=>o.name);if(e==="search"&&n.length>0){if(c.length>=2&&s.push({emoji:"\u2696\uFE0F",label:a("pillCompareTop2"),query:a("pillCompareTop2Query",{a:c[0],b:c[1]})}),i){let o=i.split(" ").slice(0,3).join(" ");s.push({emoji:"\u{1F4A1}",label:a("pillMoreOn",{name:o}),query:a("pillMoreOnQuery",{name:i})})}}else e==="compare"&&n.length>0?(i&&s.push({emoji:"\u{1F50D}",label:a("pillSimilarOptions"),query:a("pillSimilarOptionsQuery",{name:i})}),s.push({emoji:"\u{1F4A1}",label:a("pillWhichBest"),query:a("pillWhichBestQuery")})):e==="specs"&&n.length>0?i&&s.push({emoji:"\u{1F504}",label:a("pillFindAlternatives"),query:a("pillFindAlternativesQuery",{name:i})}):e==="general"&&(s.push({emoji:"\u{1F50D}",label:a("pillShowPopular"),query:a("pillShowPopularQuery")}),s.push({emoji:"\u{1F4A1}",label:a("pillRecommend"),query:a("pillRecommendQuery")}));return s.length===0?null:lc("div",{className:"hsk-action-pills",children:s.map(o=>ld("button",{className:"hsk-action-pill",onClick:()=>t(o.query),disabled:r,children:[lc("span",{className:"hsk-pill-emoji",children:o.emoji}),o.label]},o.query))})}import{Fragment as No,jsx as ye,jsxs as Fe}from"react/jsx-runtime";var pc=ut.memo(({content:e,streaming:n,hosts:t})=>ye(No,{children:oc(e,n,new Set(t.split(",")))}),(e,n)=>e.content===n.content&&e.streaming===n.streaming&&e.hosts===n.hosts);pc.displayName="MarkdownBlock";function pd(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 dd(e,n){ut.useLayoutEffect(()=>{let t=e.current;if(!t)return;let r=()=>{t.style.width="";let i=document.createRange();i.selectNodeContents(t);let c=Array.from(i.getClientRects()),o=t.getBoundingClientRect();if(!c.length||!t.offsetWidth||!o.width)return;let l=o.width/t.offsetWidth,h=getComputedStyle(t),p=parseFloat(h.paddingLeft)+parseFloat(h.paddingRight)+parseFloat(h.borderLeftWidth)+parseFloat(h.borderRightWidth),m=Math.max(...c.map(v=>v.right))-Math.min(...c.map(v=>v.left)),d=Math.ceil(m/l)+1;d+p<t.offsetWidth&&(t.style.width=`${h.boxSizing==="border-box"?d+p:d}px`)};r(),document.fonts?.ready.then(r).catch(()=>{});let a=t.closest(".hsk-cb-msg-group");if(!a||typeof ResizeObserver>"u")return;let s=new ResizeObserver(r);return s.observe(a),()=>s.disconnect()},[e,n])}function dc({msg:e,idx:n,isLast:t,isLastUser:r,isRunEnd:a,runMid:s,runCont:i,isNarrow:c,loading:o,streaming:l,stopped:h,interrupted:p,sources:m,referencedIds:d,discussedSources:v,lastIntent:g,lastAction:b,vizState:E,setVizState:k,setLightboxSrc:N,setMarkupSrc:T,handleSend:z,handleSourceClick:F,onRetry:C,onEdit:$,onLongPress:Z,hasError:A,retrying:D,t:Y,messageRef:H,photosSending:V,workingOn:fe,doodleTheme:ue}){let j=hd()?.api,re=j?.siteId??"",O=pd([j?.apiUrl,...(t?m:e.sources??[]).flatMap(W=>[W.image,W.url])]),P=e.role==="user",X=e.content,[S,R]=ut.useState(!1),I=ut.useRef(null);dd(I,e.content);let G=ut.useRef(null),f=ut.useRef(null),M=ut.useRef(!1),u=ut.useCallback(W=>{let K=P?".hsk-cb-user-bubble":".hsk-cb-ai-text";return W.matches?.(K)?W:W.querySelector(K)||W},[P]),te=ut.useCallback(W=>{f.current&&clearTimeout(f.current),f.current=setTimeout(()=>{if(Z){if(typeof navigator<"u"&&navigator.vibrate)try{navigator.vibrate(25)}catch{}let K=u(W),ge=K.getBoundingClientRect();Z(e,{top:ge.top,left:ge.left,width:ge.width,height:ge.height},P,K),M.current=!0}f.current=null},420)},[e,P,Z,u]),B=ut.useCallback(W=>{if(W.touches.length!==1)return;let K=W.touches[0];G.current={x:K.clientX,y:K.clientY},M.current=!1,te(W.currentTarget)},[te]),_=ut.useCallback(W=>{if(!G.current||!f.current)return;let K=W.touches[0];Math.hypot(K.clientX-G.current.x,K.clientY-G.current.y)>8&&(clearTimeout(f.current),f.current=null)},[]),w=ut.useCallback(W=>{f.current&&(clearTimeout(f.current),f.current=null),G.current=null,M.current&&W.cancelable&&W.preventDefault()},[]),y=ut.useCallback(W=>{if(!Z||(W.preventDefault(),M.current))return;let K=u(W.currentTarget),ge=K.getBoundingClientRect();Z(e,{top:ge.top,left:ge.left,width:ge.width,height:ge.height},P,K)},[e,P,Z,u]);ut.useEffect(()=>()=>{f.current&&clearTimeout(f.current)},[]);let L=ut.useCallback(W=>{if(W)try{navigator.clipboard.writeText(W),R(!0),setTimeout(()=>R(!1),2e3)}catch{}},[]),q=ut.useMemo(()=>ya(X),[X]),ne=e.thinking||q.thinking,de=/(?:^|\n+)(?:[>*_~`\s]*)(?:This is a calculation from live figures,?\s*not a guarantee\s*[—–-]\s*the market can move against it\.?)(?:[>*_~`\s]*)/gi,ce=de.test(q.content),se=ce?q.content.replace(de,"").trimEnd():q.content;return ye("div",{className:ie("hsk-cb-msg-group",s&&"hsk-cb-msg-group--run-mid",i&&"hsk-cb-msg-group--run-cont"),"data-hsk-role":P?"user":"assistant",ref:H,children:P?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((W,K)=>Fe("button",{type:"button",className:"hsk-cb-user-img-cell",onClick:()=>N(W),children:[ye("img",{src:W,alt:`attachment ${K+1}`,className:"hsk-cb-user-img-thumb"}),ye(_r,{active:V,seed:re,theme:ue}),K===3&&e.images.length>4&&Fe("span",{className:"hsk-cb-user-img-more",children:["+",e.images.length-3]})]},K))}),e.content&&Fe("div",{ref:I,className:ie("hsk-cb-user-bubble",a&&"hsk-cb-user-bubble--tail",e.spoken&&"hsk-cb-user-bubble--spoken",A&&"hsk-cb-user-bubble--error"),onTouchStart:B,onTouchMove:_,onTouchEnd:w,onTouchCancel:w,onContextMenu:y,dir:wa(e.content.replace(/^@kiku\s*/i,"")),children:[e.spoken&&ye(ln,{className:"hsk-cb-spoken-mark",size:10}),/^@kiku\b/i.test(e.content)?Fe(No,{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:[C&&(A||r)&&Fe("button",{type:"button",className:"hsk-cb-msg-action hsk-cb-msg-action--retry",onClick:()=>C(e),"aria-label":Y("retry"),children:[ye(cn,{className:D?"hsk-retry-icon--spinning":"",size:11}),ye("span",{className:"hsk-cb-msg-action-label",children:Y("retry")})]}),$&&Fe("button",{type:"button",className:"hsk-cb-msg-action hsk-cb-msg-action--edit",onClick:()=>$(e),"aria-label":Y("edit"),children:[ye(Qn,{size:11}),ye("span",{className:"hsk-cb-msg-action-label",children:Y("edit")})]}),Fe("button",{type:"button",className:ie("hsk-cb-msg-action hsk-cb-msg-action--copy",S&&"hsk-cb-msg-action--copied"),onClick:()=>L(e.content),"aria-label":Y(S?"copied":"copy"),children:[S?ye(br,{size:11}):ye(mr,{size:11}),ye("span",{className:"hsk-cb-msg-action-label",children:Y(S?"copied":"copy")})]})]}),r&&!A&&ye("span",{className:"hsk-cb-sent-status",children:Y(h||p?"statusStopped":"statusSent")}),A&&Fe("span",{className:"hsk-cb-failed-notice",children:[ye("span",{className:"hsk-cb-failed-dot"}),Y("msgFailed")]})]})]}):ye("div",{className:ie("hsk-cb-ai-msg",c&&"hsk-cb-ai-msg--inline"),children:Fe("div",{className:"hsk-cb-ai-body",onTouchStart:B,onTouchMove:_,onTouchEnd:w,onTouchCancel:w,onContextMenu:y,children:[(()=>{let W=e.thoughtForSeconds!=null||se.length>0||!(t&&(l||o));return Fe(No,{children:[!e.spoken&&(ne||e.thoughtForSeconds!=null||e.repliedSeconds!=null||Sn(e.statusStage)||t&&(l||o))&&ye(Ji,{text:ne,isComplete:W,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(ln,{size:11}),Fe("span",{children:["spoken \xB7 ",e.thoughtForSeconds.toFixed(1),"s"]})]})}),se&&ye("div",{className:"hsk-cb-ai-content",children:ye(pc,{content:se,streaming:t&&l,hosts:O})}),ce&&ye("div",{className:"hsk-cb-calc-disclaimer",children:Y("calcDisclaimer")})]})})(),e.visualizing&&ye("div",{className:"hsk-cb-viz",children:Fe("div",{className:ie("hsk-cb-viz--working",!fe&&"is-blank",e.visualizationType==="video"&&"is-video"),role:"status","aria-label":e.visualizingText||Y("vizWorking"),children:[fe&&ye("img",{src:fe,alt:""}),ye(_r,{active:!0,seed:re,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:E[e.visualization]==="err"?{display:"none"}:void 0,onLoad:()=>k(W=>({...W,[e.visualization]:"ok"})),onError:()=>k(W=>({...W,[e.visualization]:"err"}))}),E[e.visualization]==="err"&&ye("div",{className:"hsk-cb-viz-broken",children:Y("vizUnavailable")}),t&&!l&&E[e.visualization]==="ok"&&e.visualizationType!=="video"&&!e.visualization.includes("/videos/")&&Fe("button",{className:"hsk-cb-viz-mark",onClick:()=>T(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"})]}),Y("vizMarkEdit")]})]}),ye("div",{className:"hsk-cb-viz-disclaimer",children:e.visualizationType==="video"||e.visualization.includes("/videos/")?Y("vizDisclaimerVideo"):Y("vizDisclaimerImage")})]}),!P&&(e.knowledgeImages?.length??0)>0&&ye("div",{className:"hsk-cb-kimgs",children:e.knowledgeImages.map(W=>Fe("div",{className:"hsk-cb-kimg-group",children:[ye("div",{className:"hsk-cb-kimg-grid",children:W.images.map((K,ge)=>ye("img",{src:K.url,alt:K.note||W.title||"Reference image",className:"hsk-cb-kimg",loading:"lazy",onClick:()=>N(K.url),onError:Pe=>{Pe.target.style.display="none"}},ge))}),(W.title||W.images[0]?.note)&&ye("div",{className:"hsk-cb-kimg-caption",children:W.title||W.images[0]?.note})]},W.entryId))}),!P&&ye(cc,{keys:e.liveKeys}),!P&&(e.staleNotices?.length??0)>0&&Fe("div",{className:"hsk-cb-stale",role:"status",children:[ye("div",{className:"hsk-cb-stale-title",children:Y("staleTitle")}),e.staleNotices.map((W,K)=>Fe("div",{className:"hsk-cb-stale-item",children:[W.state==="removed"?Y("staleRemoved",{title:W.title}):Y("staleUnavailable",{title:W.title}),W.reason&&Fe("span",{className:"hsk-cb-stale-reason",children:[" ",W.reason]})]},K))]}),(()=>{let W=t?d:e.referencedIds??[],K=t?m:e.sources??[],ge=t?g:e.intent,Pe=ge==="compare"||ge==="capture"||ge==="capture_all"||ge==="delete"||ge==="view_history";return W.length>0&&!Pe&&(!t||b?.type!=="request_kiku_key")&&ye(Sa,{sources:K,onSelectSource:F,onImageClick:N,referencedIds:W,compact:!!e.visualization,targetLabel:Y("swatchTarget")})})(),t&&!o&&!l&&b?.type==="open_memory"&&Tn(b.url)&&Fe("a",{className:"hsk-cb-memory-pill",href:Tn(b.url),target:"_blank",rel:"noopener noreferrer",children:[Y("openMemory"),ye(us,{})]}),t&&!o&&Tn(b?.url)&&b?.type!=="open_memory"&&ye("div",{className:"hsk-action-pills",children:Fe("a",{className:"hsk-action-pill",href:Tn(b?.url),children:[String(b?.type||"continue").replace(/_/g," ")," \u2192"]})}),t&&!o&&ye(hc,{intent:g,sources:v,onSend:z,loading:o}),!P&&a&&!l&&se&&ye("div",{className:"hsk-cb-ai-footer",children:Fe("div",{className:"hsk-cb-msg-actions",children:[Fe("button",{type:"button",className:ie("hsk-cb-msg-action hsk-cb-msg-action--copy",S&&"hsk-cb-msg-action--copied"),onClick:()=>L(se),"aria-label":Y(S?"copied":"copy"),children:[S?ye(br,{size:11}):ye(mr,{size:11}),ye("span",{className:"hsk-cb-msg-action-label",children:Y(S?"copied":"copy")})]}),t&&(A||se.includes("We're experiencing high demand right now"))&&C&&Fe("button",{type:"button",className:"hsk-cb-msg-action hsk-cb-msg-action--retry",onClick:()=>C(e),"aria-label":Y("retry"),children:[ye(cn,{className:D?"hsk-retry-icon--spinning":"",size:11}),ye("span",{className:"hsk-cb-msg-action-label",children:Y("retry")})]})]})})]})})})}import{jsx as pt,jsxs as Gt}from"react/jsx-runtime";function uc({keyInput:e,setKeyInput:n,minting:t,handleUseExistingKey:r,handleCreateKey:a,t:s}){return Gt("div",{className:"hsk-cb-ai-msg",children:[pt("div",{className:"hsk-cb-ai-icon",style:{display:"flex",alignItems:"center"},children:pt(rr,{})}),pt("div",{className:"hsk-cb-ai-body",children:pt("div",{className:"hsk-cb-ai-text",children:Gt("div",{className:"hsk-cb-phone-form",children:[pt("label",{className:"hsk-cb-phone-label",children:s("keyPastePrompt")}),pt("input",{type:"text",className:"hsk-cb-phone-input",placeholder:s("keyPastePlaceholder"),value:e,onChange:i=>n(i.target.value),onKeyDown:i=>i.key==="Enter"&&r(),autoFocus:!0}),Gt("div",{style:{display:"flex",gap:8},children:[pt("button",{className:"hsk-cb-phone-submit",onClick:r,disabled:!e.trim(),children:s("keyUseMine")}),pt("button",{className:"hsk-cb-phone-submit",onClick:a,disabled:t,children:s(t?"keyCreating":"keyCreateNew")})]})]})})})]})}function mc({mintedKey:e,copied:n,keyCountdown:t,onDismiss:r,copyValue:a,t:s}){return Gt("div",{className:"hsk-cb-ai-msg",children:[pt("div",{className:"hsk-cb-ai-icon",style:{display:"flex",alignItems:"center"},children:pt(rr,{})}),pt("div",{className:"hsk-cb-ai-body",children:Gt("div",{className:"hsk-cb-secret-card",children:[Gt("div",{className:"hsk-cb-secret-head",children:[pt("span",{className:"hsk-cb-secret-title",children:s("keySecretTitle")}),Gt("span",{className:"hsk-cb-secret-timer",children:[t,"s"]}),pt("button",{type:"button",className:"hsk-cb-secret-dismiss",onClick:r,"aria-label":s("keyDismiss"),children:"\xD7"})]}),Gt("button",{type:"button",className:"hsk-cb-secret-key",onClick:()=>a(e,"secret"),children:[pt("code",{children:e}),Gt("span",{className:"hsk-cb-secret-copy",children:[n==="secret"?pt(br,{}):pt(mr,{}),s(n==="secret"?"keyCopied":"keyCopySecret")]})]}),pt("span",{className:"hsk-cb-secret-hint",children:s("keySecretHint")})]})})]})}import{Fragment as md,jsx as yt,jsxs as jr}from"react/jsx-runtime";function ud(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 bc({displayMessages:e,messageRefs:n,isNarrow:t,loading:r,streaming:a,sources:s,referencedIds:i,discussedSources:c,lastIntent:o,lastAction:l,stopped:h,interrupted:p,halted:m,haltedEmpty:d,error:v,errorCode:g,keyPhase:b,keyInput:E,setKeyInput:k,mintedKey:N,setMintedKey:T,setMintedPub:z,minting:F,copied:C,keyCountdown:$,handleUseExistingKey:Z,handleCreateKey:A,copyValue:D,queuedMessage:Y,sendQueuedNow:H,setLightboxSrc:V,setMarkupSrc:fe,handleSend:ue,handleSourceClick:j,onRetry:re,onEdit:O,onLongPress:P,retrying:X,continueGenerating:S,t:R,spacerRef:I,vizState:G,setVizState:f,messages:M,doodleTheme:u}){return jr(md,{children:[(()=>{let te=-1;for(let B=e.length-1;B>=0;B--)if(e[B]?.role==="user"){te=B;break}return e.map((B,_)=>{let w=_===e.length-1,y=B.role==="user",L=y&&_===te,q=e[_+1]?.role!==B.role,ne=!q,de=e[_-1]?.role===B.role,ce=B.id||`${B.role}-${_}`,se=e[_+1]?.content??"",W=L&&(r||a)&&!ya(se).content.trim(),K=B.visualizing?ud(e,_):void 0,ge=L&&!!v||!y&&w&&!!v||!y&&!!B.content?.includes("We're experiencing high demand right now");return yt(dc,{msg:B,idx:_,isLast:w,isLastUser:L,isRunEnd:q,runMid:ne,runCont:de,isNarrow:t,loading:r,streaming:a,stopped:h,interrupted:p,sources:s,referencedIds:i,discussedSources:c,lastIntent:o,lastAction:l,vizState:G,setVizState:f,setLightboxSrc:V,setMarkupSrc:fe,handleSend:ue,handleSourceClick:j,onRetry:re,onEdit:O,onLongPress:P,hasError:ge,retrying:X,t:R,messageRef:Pe=>{n.current[_]=Pe},photosSending:W,workingOn:K,doodleTheme:u},ce)})})(),m&&M.length>0&&jr("div",{className:ie("hsk-cb-stopped",d&&"hsk-cb-stopped--empty"),children:[d&&jr("span",{className:"hsk-cb-stopped-dots","aria-hidden":"true",children:[yt("i",{}),yt("i",{}),yt("i",{})]}),yt("span",{className:"hsk-cb-stopped-label",children:R(h?"stoppedByYou":"stoppedInterrupted")}),jr("button",{className:"hsk-cb-continue",onClick:S,children:[yt(ms,{}),R(M[M.length-1]?.role==="assistant"?"continueGenerating":"generateResponse")]})]}),v&&yt("div",{className:"hsk-cb-error",children:Qs({code:g??void 0,message:v},R)}),b==="prompt_key"&&yt(uc,{keyInput:E,setKeyInput:k,minting:F,handleUseExistingKey:Z,handleCreateKey:A,t:R}),N&&yt(mc,{mintedKey:N,copied:C,keyCountdown:$,onDismiss:()=>{T(null),z(null)},copyValue:D,t:R}),Y&&yt("div",{className:ie("hsk-cb-msg-group",e[e.length-1]?.role==="user"&&"hsk-cb-msg-group--run-cont"),children:jr("div",{className:"hsk-cb-user-msg",children:[yt("div",{className:"hsk-cb-user-bubble hsk-cb-user-bubble--tail hsk-cb-user-bubble--queued",children:Y.content}),jr("button",{type:"button",className:"hsk-cb-queued-status",onClick:H,children:[yt("span",{className:"hsk-cb-queued-dot"}),R("queuedWaiting"),yt("span",{className:"hsk-cb-queued-now",children:R("queuedSendNow")})]})]})}),yt("div",{ref:I,className:"hsk-cb-msgs-spacer"})]})}import Ta,{useState as gc,useRef as Po,useEffect as Ao}from"react";import{useAkropolysContext as fd,useCardFields as gd}from"@akropolys/sdk";import{jsx as kc}from"react/jsx-runtime";var Ma=16,bd=110,kd=/[؀-ۿ܀-ݏ߀-߿ࡠ-ࣿﭐ-﷿ﹰ-]/;function Io(e){if(!e)return[];if(kd.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 fc({text:e,placeholder:n,visible:t=!0,replay:r=0,replaySeed:a,staggerMs:s=Ma}){if(!t)return null;let i=e||n||"";if(!i)return null;let c=a!==void 0?a:r,o=i.length>26,l=o?i.match(/\S+\s*/g)??[i]:Io(i),h=Math.max(l.length-1,1),p=i.length>44?"3":o?"2":"1";return kc("div",{className:"hsk-animated-placeholder","data-fit":p,dir:"auto","aria-hidden":"true",children:l.map((m,d)=>kc("span",{className:"hsk-animated-placeholder__char",style:{animationDelay:`${bd+d*s}ms`,"--hsk-ph-hue":`${Math.round(d/h*300)}`},children:m},`${i}|${c}|${d}`))})}import{Fragment as _o,jsx as me,jsxs as Ke}from"react/jsx-runtime";function xc({gooId:e,input:n,setInput:t,showKikuPicker:r,setShowKikuPicker:a,showAtPicker:s,setShowAtPicker:i,captureAllowed:c,discussedSources:o,handleSelectExtension:l,handleKikuCapture:h,handleKikuCaptureAll:p,handleKikuViewHistory:m,handleKikuDelete:d,attachments:v,removeAttachment:g,chromeLoading:b,inputLocked:E,langSwitching:k=!1,imageInputRef:N,handleImageFiles:T,enableVision:z,enableVoice:F,canConverse:C,startVoice:$,voiceBlocked:Z,textareaRef:A,classNames:D={},handleInput:Y,handleKeyDown:H,voice:V,voicePhase:fe,activePlaceholder:ue,loading:j,streaming:re,stop:O,handleSend:P,voiceError:X,setVoiceError:S,t:R,rail:I,notice:G,onOpenMimi:f}){let M=fd(),u=gd(),[te,B]=Ta.useState(0),[_,w]=Ta.useState(!1);Ta.useEffect(()=>{if(!X)return;let be=setTimeout(()=>{S?.("")},6e3);return()=>clearTimeout(be)},[X,S]),Ta.useEffect(()=>{if(!_)return;let be=Le=>{Le.key==="Escape"&&w(!1)};return window.addEventListener("keydown",be),()=>window.removeEventListener("keydown",be)},[_]);let y=ue||"Ask me anything\u2026",L=Po(null),[q,ne]=gc(()=>y.length>26);Ao(()=>{let be=L.current;if(!be||n)return;let Le=()=>{let je=be.querySelectorAll(".hsk-animated-placeholder__char");if(je.length<2)return ne(!1);let ke=je[0].offsetTop,tt=je[je.length-1].offsetTop;ne(tt-ke>je[0].offsetHeight/2)};Le();let _e=new ResizeObserver(Le);return _e.observe(be),()=>_e.disconnect()},[y,n]);let de=Math.max(Io(y).length-1,0)*Ma,[ce,se]=gc(!1),W=Po(null),K=()=>{W.current&&clearTimeout(W.current),se(!0),W.current=setTimeout(()=>{se(!1),W.current=null},550)};Ao(()=>()=>{W.current&&clearTimeout(W.current)},[]);let ge=Po(null),Pe=!!G;return Ao(()=>{ge.current?.toggleAttribute("inert",Pe)},[Pe]),Ke("div",{className:"hsk-cb-input-wrap",children:[_&&Ke(_o,{children:[me("div",{className:"hsk-cb-toolsheet-scrim",onClick:()=>w(!1)}),me("div",{className:"hsk-cb-toolsheet-wrap",children:Ke("div",{className:"hsk-cb-toolsheet",role:"menu",children:[z&&Ke("button",{className:"hsk-cb-toolsheet-item",role:"menuitem",onClick:()=>{w(!1),N.current?.click()},disabled:j,children:[me(Ga,{}),me("span",{children:R("attachImage")})]}),F&&C&&Ke("button",{className:"hsk-cb-toolsheet-item",role:"menuitem",onClick:()=>{w(!1),Z?S?.(R("errAccountRequired")):$("converse")},disabled:j||b,children:[me(Ya,{}),me("span",{children:R("voiceModeStart")})]}),f&&Ke("button",{className:"hsk-cb-toolsheet-item",role:"menuitem",onClick:f,children:[me(Xn,{}),me("span",{children:"MiMi"})]})]})})]}),G,Ke("div",{className:"hsk-cb-input-card",ref:ge,children:[(/^@kiku\b/i.test(n)||r||s)&&Ke("div",{className:"hsk-cb-docked-header",children:[me("span",{className:"hsk-cb-docked-sub",children:R("captureAndRemember")}),me("button",{type:"button",className:"hsk-cb-docked-close",onClick:()=>{t(be=>be.replace(/^@kiku\s*/i,"")),a(!1),i(!1)},"aria-label":"Close mode",children:"\xD7"})]}),(r||s)&&Ke("div",{className:"hsk-cb-docked-options",onMouseDown:be=>be.preventDefault(),children:[s&&c&&Ke("button",{type:"button",className:"hsk-cb-docked-option",onClick:()=>l("@kiku"),children:[me("span",{className:"hsk-cb-docked-option-icon",children:me(rr,{})}),me("span",{className:"hsk-cb-docked-option-title",children:"kiku"}),me("span",{className:"hsk-cb-docked-option-desc",children:"capture & remember"})]}),r&&c&&Ke(_o,{children:[o.map((be,Le)=>Ke("button",{type:"button",className:"hsk-cb-docked-option",onClick:()=>{h(be),a(!1)},children:[me("span",{className:"hsk-cb-docked-option-icon",children:be.image?me("img",{src:be.image,alt:""}):me(Kn,{})}),me("span",{className:"hsk-cb-docked-option-title",children:be.name}),tr(be,u)[0]&&me("span",{className:"hsk-cb-docked-option-detail",children:tr(be,u)[0].value})]},be.id??Le)),o.length>1&&Ke("button",{type:"button",className:"hsk-cb-docked-option",onClick:()=>{p(o),a(!1)},children:[me("span",{className:"hsk-cb-docked-option-icon",children:me(Kn,{})}),me("span",{className:"hsk-cb-docked-option-title",children:R("captureAll",{count:String(o.length)})})]}),o.length===0&&Ke("button",{type:"button",className:"hsk-cb-docked-option",onClick:()=>{h({name:"current page",id:void 0}),a(!1)},children:[me("span",{className:"hsk-cb-docked-option-icon",children:me(Kn,{})}),me("span",{className:"hsk-cb-docked-option-title",children:R("captureCurrentPage")})]}),Ke("button",{type:"button",className:"hsk-cb-docked-option",onClick:()=>{m(),a(!1)},children:[me("span",{className:"hsk-cb-docked-option-icon",children:me(bs,{})}),me("span",{className:"hsk-cb-docked-option-title",children:R("whatHaveYouSaved")})]}),Ke("button",{type:"button",className:"hsk-cb-docked-option",onClick:()=>{d(),a(!1)},children:[me("span",{className:"hsk-cb-docked-option-icon",children:me(ks,{})}),me("span",{className:"hsk-cb-docked-option-title",children:R("deleteThis")})]})]})]}),v.length>0&&me("div",{className:"hsk-cb-img-strip",children:v.map((be,Le)=>Ke("div",{className:"hsk-cb-img-thumb-wrap",children:[me("img",{src:be.thumb||be.data,alt:`attachment ${Le+1}`,className:"hsk-cb-img-thumb"}),me("button",{type:"button",className:"hsk-cb-img-thumb-remove",onClick:()=>g(Le),"aria-label":"Remove image",children:me(Rs,{size:10})})]},Le))}),Ke("div",{className:ie("hsk-cb-input-box",b&&"hsk-cb-input-box--waiting"),"data-cascade":te%2?"b":"a","data-tools":_?"open":"closed",style:{"--hsk-text-sweep":`${de}ms`},children:[me("input",{ref:N,type:"file",accept:"image/*",className:"hsk-sr-only",onChange:be=>{T(be.target.files),be.target.value=""}}),(z||F&&C)&&me("button",{className:ie("hsk-cb-tools-toggle",_&&"hsk-cb-tools-toggle--open"),onClick:()=>w(be=>!be),disabled:j||b,"aria-label":_?"Close options":"More options","aria-expanded":_,children:me(fs,{})}),me(_o,{children:z&&me("button",{className:"hsk-cb-attach-btn",onClick:()=>N.current?.click(),disabled:j,"aria-label":"Attach image",children:me(Ga,{})})}),Ke("div",{className:"hsk-cb-field",ref:L,"data-ph-lines":!n&&q?"2":void 0,children:[me("textarea",{ref:A,value:n,onChange:Y,onKeyDown:H,rows:1,placeholder:"",className:ie("hsk-cb-textarea",D.input),"aria-label":ue,disabled:E||j&&!re||k}),me(fc,{placeholder:ue,visible:!n,staggerMs:Ma,replaySeed:te})]}),F&&C&&me("button",{className:ie("hsk-cb-voice-mode-btn",Z&&"hsk-cb-voice-mode-btn--blocked"),onClick:()=>Z?S?.(R("errAccountRequired")):$("converse"),disabled:j||b,"aria-label":"Voice conversation",children:me(Ya,{})}),(j||re)&&!ce?me("button",{className:ie("hsk-cb-send","hsk-cb-send--stop",D.sendButton),onClick:O,"aria-label":"Stop generating",children:me(ds,{})}):Ke("button",{className:ie("hsk-cb-send",ce&&"is-launching",D.sendButton),onClick:()=>{K(),P()},disabled:k||E||b||!n.trim()&&v.length===0,"aria-label":"Send message",children:[me("svg",{width:"0",height:"0","aria-hidden":"true",focusable:"false",style:{position:"absolute"},children:me("defs",{children:Ke("filter",{id:e,children:[me("feGaussianBlur",{in:"SourceGraphic",stdDeviation:"1.6",result:"blur"}),me("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"}),me("feBlend",{in:"SourceGraphic",in2:"goo"})]})})}),me("span",{className:"hsk-cb-send-sheath","aria-hidden":"true"}),Ke("span",{className:"hsk-cb-send-stage",style:{filter:`url(#${e})`},children:[me("span",{className:"hsk-cb-send-seam","aria-hidden":"true"}),me("span",{className:"hsk-cb-send-kite",children:me(vs,{})})]})]})]})]}),Z?Ke("div",{className:"hsk-cb-voice-error",role:"status",onClick:()=>S?.(""),children:[me("span",{children:R("errAccountRequired")}),me("button",{type:"button",className:"hsk-cb-voice-error-dismiss",onClick:be=>{be.stopPropagation(),S?.("")},"aria-label":"Dismiss error",children:"\xD7"})]}):X&&Ke("div",{className:"hsk-cb-voice-error",role:"status",onClick:()=>S?.(""),children:[me("span",{children:R(X)}),me("button",{type:"button",className:"hsk-cb-voice-error-dismiss",onClick:be=>{be.stopPropagation(),S?.("")},"aria-label":"Dismiss error",children:"\xD7"})]})]})}import Cd,{useEffect as Do,useRef as zr,useState as Ho}from"react";import{useEffect as Rn,useRef as zn}from"react";import{jsx as yd}from"react/jsx-runtime";function vc(e,n){let t=e.match(/-?[\d.]+/g);return!t||t.length<3?n:[Number(t[0]),Number(t[1]),Number(t[2])]}function xd(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 Vr(e,n){return`rgba(${e[0]|0}, ${e[1]|0}, ${e[2]|0}, ${n})`}var Yt=24,vd=.42;function yc({phase:e,level:n,spectrum:t,bins:r,className:a}){let s=zn(null),i=zn(e),c=zn(n),o=zn(t),l=zn(r);return Rn(()=>{i.current=e},[e]),Rn(()=>{c.current=n},[n]),Rn(()=>{o.current=t},[t]),Rn(()=>{l.current=r},[r]),Rn(()=>{let h=s.current;if(!h)return;let p=h.getContext("2d");if(!p)return;let m=getComputedStyle(h),d=vc(m.getPropertyValue("--hsk-primary")||"",[255,106,51]),v=vc(m.getPropertyValue("--hsk-chat-text")||"",[31,31,31]),g=0,b=0,E=0,k=()=>{let re=Math.min(window.devicePixelRatio||1,3),O=h.getBoundingClientRect();b=Math.max(1,O.width),E=Math.max(1,O.height),h.width=Math.round(b*re),h.height=Math.round(E*re),p.setTransform(re,0,0,re,0,0)};k();let N=typeof ResizeObserver<"u"?new ResizeObserver(k):null;N?.observe(h),window.addEventListener("resize",k);let T=window.matchMedia?.("(prefers-reduced-motion: reduce)")?.matches??!1,z=new Float32Array(Yt),F=[],C=null,$=-1,Z=null,A=0,D=0,Y=performance.now(),H=(re,O,P,X)=>re+(O-re)*(O>re?P:X),V=()=>{let re=o.current,O=l.current?.()??0;if(!re||!O||((!Z||Z.length!==O)&&(Z=new Uint8Array(O)),!re(Z)))return!1;let X=Math.max(Yt,Math.floor(O*vd))/Yt;for(let S=0;S<Yt;S++){let R=Math.floor(S*X),I=Math.max(R+1,Math.floor((S+1)*X)),G=0;for(let M=R;M<I;M++)G+=Z[M];let f=G/(I-R)/255;z[S]=H(z[S],f,T?.2:.55,T?.06:.14)}return!0},fe=(re,O)=>{for(let P=0;P<Yt;P++){let X=P/(Yt-1),S=Math.pow(1-X,1.6)*(.75+.25*Math.sin(re*3.1+P*.7));z[P]=H(z[P],S*O,.3,.12)}},ue=re=>{let O=Math.min(Yt-1,Math.max(0,re*(Yt-1))),P=Math.floor(O),X=O-P,S=z[P],R=z[Math.min(Yt-1,P+1)];return S+(R-S)*X*X*(3-2*X)},j=re=>{g=requestAnimationFrame(j);let O=(re-Y)/1e3,P=i.current,X=Math.min(1,c.current());A=H(A,Math.max(P==="speaking"?.42:P==="listening"?.3:P==="thinking"?.28:.12,X),T?.1:.5,T?.05:.11),V()||fe(O,Math.max(.25,A)),p.clearRect(0,0,b,E);let R=E/2;D=P==="thinking"?(D+.012)%1.6:0;let I=3;if($!==b){F=[];for(let M=0;M<I;M++){let u=M/(I-1||1),te=xd(d,v,u*.5),B=p.createLinearGradient(0,0,b,0);B.addColorStop(0,Vr(te,0)),B.addColorStop(.5,Vr(te,.9-u*.35)),B.addColorStop(1,Vr(te,0)),F.push(B)}C=p.createLinearGradient(0,0,b,0),C.addColorStop(0,Vr(d,0)),C.addColorStop(.5,Vr(d,.14)),C.addColorStop(1,Vr(d,0)),$=b}let G=E*.32,f=Math.max(4,b/130);for(let M=0;M<I;M++){let u=M/(I-1||1),te=M*.055,B=1-u*.22;p.beginPath();let _=0,w=R;for(let L=0;L<=b;L+=f){let q=L/b,ne=Math.pow(Math.sin(Math.PI*q),.85),de=P==="thinking"?Math.exp(-Math.pow((q-(D-.3))*4.5,2)):1,ce=ue(Math.abs(q-.5)*2),se=O-te,W=Math.sin(q*Math.PI*2*2.1+se*7.4)*.66+Math.sin(q*Math.PI*2*3.7-se*5.6)*.26+Math.sin(q*Math.PI*2*5.9+se*9.1)*.08,K=R+ne*de*B*G*A*(.6+ce*1.1)*W+Math.sin(q*Math.PI*2*.6+(O-te)*2.2)*ne*E*.01;L===0?p.moveTo(L,K):p.quadraticCurveTo(_,w,(_+L)/2,(w+K)/2),_=L,w=K}p.quadraticCurveTo(_,w,b,w),p.lineCap="round",p.lineJoin="round";let y=(M===0?3:1.6)*(1+A*.6);M===0&&(p.strokeStyle=C,p.lineWidth=y*5,p.stroke()),p.strokeStyle=F[M],p.lineWidth=y,p.stroke()}};return g=requestAnimationFrame(j),()=>{cancelAnimationFrame(g),N?.disconnect(),window.removeEventListener("resize",k)}},[]),yd("canvas",{ref:s,className:a,"aria-hidden":"true"})}import{jsx as Fo,jsxs as wd}from"react/jsx-runtime";function En({src:e,onClose:n}){return e?wd("div",{className:"hsk-lightbox",onClick:n,children:[Fo("button",{className:"hsk-lightbox-close",onClick:n,"aria-label":"Close image",children:Fo(Pr,{})}),Fo("img",{src:e,alt:"",className:"hsk-lightbox-img",onClick:t=>t.stopPropagation()})]}):null}import{Fragment as Td,jsx as Re,jsxs as Rt}from"react/jsx-runtime";function Sd({images:e,siteId:n,themeAttr:t}){let r=zr(null),[a,s]=Ho(null);if(Do(()=>{let o=r.current;o&&o.scrollTo({left:o.scrollWidth,behavior:"smooth"})},[e.length]),!e.length)return null;let i=e.findIndex(o=>o.pending),c=i>0?e.slice(0,i).reverse().find(o=>o.url)?.id:void 0;return Rt("div",{className:"hsk-voice-images",ref:r,children:[e.map(o=>Rt("button",{type:"button",className:"hsk-voice-image","data-pending":o.pending?"":void 0,disabled:o.pending,onClick:()=>s(o.url),children:[o.pending&&Re(_r,{active:!0,seed:n,theme:t}),o.url&&Re("img",{src:o.url,alt:"",draggable:!1},o.url),o.url&&Re(_r,{active:!!o.sending||o.id===c,seed:n,theme:t})]},o.id)),a&&Re(En,{src:a,onClose:()=>s(null)})]})}function Md({current:e,choose:n,label:t,groups:r}){let a=mn.find(l=>l.name===e),[s,i]=Ho(!1),c=zr(null),o=zr(null);return Do(()=>{if(o.current&&(o.current.inert=!s),!s)return;let l=o.current,h=l?.querySelector('[aria-checked="true"]');l&&h&&(l.scrollTop=h.offsetTop-(l.clientHeight-h.offsetHeight)/2);let p=d=>{c.current&&!d.composedPath().includes(c.current)&&i(!1)},m=d=>{d.key==="Escape"&&i(!1)};return document.addEventListener("pointerdown",p),document.addEventListener("keydown",m),()=>{document.removeEventListener("pointerdown",p),document.removeEventListener("keydown",m)}},[s]),Rt("div",{className:"hsk-voice-picker",ref:c,"data-open":s?"":void 0,dir:"ltr",children:[Rt("button",{type:"button",className:"hsk-voice-pill hsk-voice-pill--current","aria-haspopup":"true","aria-expanded":s,"aria-label":`${t}: ${a?.trait??e} (${e})`,onClick:()=>i(l=>!l),children:[Re("span",{children:a?.trait??e}),Re("span",{className:"hsk-voice-pill-caret",children:Re(Vn,{})})]}),Re("div",{className:"hsk-voice-menu-list",role:"radiogroup","aria-label":t,ref:o,children:["male","female"].map(l=>Rt(Cd.Fragment,{children:[Re("div",{className:"hsk-voice-group","aria-hidden":"true",children:r[l]}),mn.filter(h=>h.gender===l).map(h=>Rt("button",{type:"button",role:"radio","aria-checked":e===h.name,"aria-label":`${h.trait}, ${r[l]} (${h.name})`,className:ie("hsk-voice-option",e===h.name&&"hsk-voice-option--on"),onClick:()=>{n(h.name),i(!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 wc({siteId:e,themeAttr:n,stopVoice:t,chooseVoice:r,liveVoiceName:a,voiceSecondsLeft:s,voiceConnecting:i,voicePhase:c,live:o,earlier:l,newVoiceChat:h,voiceMuted:p,setVoiceMuted:m,voiceError:d,attachPhoto:v,onSelectSource:g,t:b}){let E=zr(null),k=zr(null),N=zr(null),T=[...l.turns,...o.turns??[]],z=[...l.images,...o.images??[]],F=o.sources??[],[C,$]=Ho(null),Z=z.some(H=>H.pending),A=T.length,D=T[A-1]?.text??"",Y=zr(!1);return Do(()=>{k.current?.scrollIntoView({block:"end",behavior:Y.current?"smooth":"auto"}),Y.current=!0},[A,D]),Rt("div",{className:"hsk-voice-overlay",role:"dialog","aria-label":b("voiceModeStart"),children:[Re(ea,{seed:e,theme:n}),T.some(H=>H.text)&&Re("button",{type:"button",className:"hsk-voice-new",onClick:h,disabled:i,"aria-label":b("voiceNewChat"),title:b("voiceNewChat"),children:Re(Qn,{size:15})}),Re("button",{className:"hsk-voice-exit",onClick:t,"aria-label":b("voiceModeExit"),children:Re(Pr,{})}),Re(Md,{current:a,choose:r,label:b("voicePickerLabel"),groups:{female:b("voiceFemale"),male:b("voiceMale")}}),Rt("div",{className:"hsk-voice-thread",ref:E,children:[T.filter(H=>H.text).map((H,V)=>H.role==="user"?Re("div",{className:"hsk-cb-user-msg",children:Re("div",{className:ie("hsk-cb-user-bubble","hsk-cb-user-bubble--spoken",!H.done&&"hsk-voice-turn--live"),children:H.text})},V):Re("div",{className:"hsk-cb-ai-msg",children:Re("div",{className:ie("hsk-cb-ai-body",!H.done&&"hsk-voice-turn--live"),children:H.text})},V)),Re("div",{ref:k})]}),(z.length>0||F.length>0)&&Rt("div",{className:"hsk-voice-shelf",children:[Re(Sd,{images:z,siteId:e,themeAttr:n}),F.length>0&&Re("div",{className:"hsk-voice-sources",children:Re(Sa,{sources:F,onSelectSource:g,onImageClick:$,referencedIds:F.map(H=>H.id).filter(H=>!!H),compact:!0})})]}),C&&Re(En,{src:C,onClose:()=>$(null)}),i&&Rt("div",{className:"hsk-voice-connecting",role:"status",children:[Re("span",{className:"hsk-voice-connecting-dot"}),Re("span",{children:b("voiceConnecting")})]}),d&&Re("div",{className:"hsk-voice-error",children:b(d)}),Rt("div",{className:"hsk-voice-controls",dir:"ltr",children:[o.photos&&Rt(Td,{children:[Re("input",{ref:N,type:"file",accept:"image/*",className:"hsk-sr-only",onChange:H=>{let V=H.target.files?.[0];H.target.value="",V&&v(V)}}),Re("button",{type:"button",className:"hsk-voice-control hsk-voice-control--attach","data-control":"attach",disabled:i||Z,onClick:()=>N.current?.click(),"aria-label":b("voiceAttachPhoto"),children:Re("span",{className:"hsk-voice-control-icon",children:Re(gs,{})})})]}),Re("div",{className:ie("hsk-voice-stage",i&&"hsk-voice-stage--connecting"),children:Re(yc,{className:"hsk-voice-canvas",phase:c,level:o.micLevel,spectrum:o.micSpectrum,bins:o.spectrumBins})}),Re("button",{className:ie("hsk-voice-control",p&&"hsk-voice-control--muted",i&&"hsk-voice-control--waiting"),"data-control":"mic",disabled:i,onClick:()=>m(H=>!H),"aria-label":b(p?"voicePhaseListening":"voiceModeExit"),children:Re("span",{className:"hsk-voice-control-icon",children:p?Re(xs,{}):Re(ln,{})},p?"off":"on")})]})]})}import{useRef as Ra,useEffect as Rd,useState as zd}from"react";import{jsx as Kr,jsxs as Sc}from"react/jsx-runtime";var Ln=14,Cc=6;function Ed(e,n){let t=e.filter(Boolean);if(t.length<2)return null;let r=o=>o.offsetTop+o.offsetHeight/2,a=r(t[t.length-1])+10,s=o=>(o===n?Cc*1.3:Cc*.6)*(o%2?1:-1),i=`M ${Ln} 0`,c=0;return t.forEach((o,l)=>{let h=r(o),p=c+(h-c)/2;i+=` C ${Ln+s(l)} ${p}, ${Ln+s(l)} ${p}, ${Ln} ${h}`,c=h}),{d:i+` L ${Ln} ${a}`,height:a}}function Mc({items:e,activeIdx:n,progress:t,onJump:r,side:a="right"}){let s=or(),i=Ra(null),c=Ra(null),o=Ra([]),l=Ra(null),[h,p]=zd(null),m=0;for(let d=0;d<e.length;d++)e[d].idx<=n&&(m=d);return Rd(()=>{let d=o.current[m],v=l.current,g=c.current,b=i.current;if(d&&(v&&(v.style.transform=`translateY(${d.offsetTop+d.offsetHeight/2}px)`),p(Ed(o.current,m)),g&&b)){let E=b.clientHeight;if(g.scrollHeight>E&&E>0){let N=d.offsetTop+d.offsetHeight/2,T=E/2-N;g.style.transform=`translateY(${T}px)`}else g.style.transform="none"}},[m,e.length]),e.length<2?null:Kr("nav",{ref:i,className:ie("hsk-cb-timeline",a==="left"?"hsk-cb-timeline--left":"hsk-cb-timeline--right"),"aria-label":s("timelineLabel"),children:Sc("div",{ref:c,className:"hsk-cb-timeline-track",style:{"--hsk-tl-progress":t},children:[h&&Kr("svg",{className:"hsk-cb-tl-wave",width:"28",height:h.height,viewBox:`0 0 28 ${h.height}`,"aria-hidden":"true",children:Kr("path",{d:h.d})}),Kr("span",{className:"hsk-cb-tl-cursor",ref:l,"aria-hidden":"true"}),e.map((d,v)=>Sc("button",{ref:g=>{o.current[v]=g},type:"button",className:ie("hsk-cb-tl-item",v===m&&"hsk-cb-tl-item--on"),style:{"--hsk-tl-d":Math.min(Math.abs(v-m),4)},onClick:()=>r(d.idx),title:d.text,children:[Kr("span",{className:"hsk-cb-tl-dot"}),Kr("span",{className:"hsk-cb-tl-label",children:d.text})]},d.idx))]})})}import{useState as Nn,useEffect as za,useRef as Ld,useCallback as Bo}from"react";import{jsx as Bt,jsxs as Xr}from"react/jsx-runtime";var Nd=190;function Tc({msg:e,rect:n,containerRect:t,anchorEl:r,containerEl:a,isUser:s,isRTL:i=!1,canRetry:c,onPin:o,onRetry:l,onCopy:h,onClose:p,t:m}){let[d,v]=Nn(!1),g=Ld(null),{closing:b,requestClose:E}=Mn(Nd,p);za(()=>{let q=ne=>{ne.key==="Escape"&&E()};return window.addEventListener("keydown",q),()=>window.removeEventListener("keydown",q)},[E]);let k=Bo(async()=>{await h(e.content||"")&&(v(!0),setTimeout(E,450))},[e.content,h,E]),N=Bo(()=>{Et("pin"),o(e),E()},[e,o,E]),T=Bo(()=>{l&&l(e),E()},[e,l,E]),[z,F]=Nn(0);za(()=>{if(g.current){let q=g.current.offsetWidth;q&&Math.abs(q-z)>2&&F(q)}},[z]);let[C,$]=Nn(n),[Z,A]=Nn(t);za(()=>{if(!r)return;let q=0,ne=(ce,se)=>Math.abs(ce-se)<.5,de=()=>{let ce=r.getBoundingClientRect();if($(se=>ne(se.top,ce.top)&&ne(se.left,ce.left)&&ne(se.width,ce.width)&&ne(se.height,ce.height)?se:{top:ce.top,left:ce.left,width:ce.width,height:ce.height}),a){let se=a.getBoundingClientRect();A(W=>W&&ne(W.top,se.top)&&ne(W.left,se.left)&&ne(W.width,se.width)?W:{top:se.top,left:se.left,width:se.width,height:se.height})}q=requestAnimationFrame(de)};return q=requestAnimationFrame(de),()=>cancelAnimationFrame(q)},[r,a]);let[D,Y]=Nn("");za(()=>{if(!r)return;let q=getComputedStyle(r).backgroundColor;q&&q!=="rgba(0, 0, 0, 0)"&&q!=="transparent"&&Y(q)},[r]);let H=C,V=Z??t,fe=V?.top??0,ue=V?.left??0,j=V?.width??(typeof window<"u"?window.innerWidth:390),re=H.top-fe,O=H.left-ue,P=H.width,X=H.height,S=2;c&&l&&S++;let I=z||(S===2?122:170),G=36,f=!!r?.closest(".hsk-cb-think")||!!r?.parentElement?.querySelector(".hsk-cb-think-head"),M=re>=58&&!f,u=M?Math.max(8,re-G-9):Math.min(re+X+9,(V?.height??800)-G-8),te=s?i:!i,B=te?Math.min(j-18,O+P-7):Math.max(18,O+7),_=te?B-I+18:B-18;_=Math.max(10,Math.min(_,j-I-10));let w=Math.max(18,Math.min(B-_,I-18)),y=D||(s?"var(--hsk-user-bubble-bg, var(--hsk-primary, #007aff))":"var(--hsk-bubble-bg, #eeeef0)"),L=0;return Bt("div",{className:"hsk-tapback-overlay",onClick:E,children:Xr("div",{ref:g,className:ie("hsk-tapback-group",b&&"is-closing",M?"is-above":"is-below",s?"is-user":"is-ai"),style:{top:`${u}px`,left:`${_}px`,"--tail-x":`${w}px`,"--tail-dir":te?1:-1,"--tail-step":s?"9px":"8px","--hsk-anchor-color":y,"--hsk-skin":"var(--hsk-bubble-bg, var(--hsk-chat-ai-bg, #eeeef0))"},onClick:q=>q.stopPropagation(),children:[Xr("div",{className:"hsk-tapback-capsule",children:[Xr("button",{type:"button",className:"hsk-tapback-tool-btn hsk-tapback-tool-btn--pin",onClick:N,"aria-label":"Pin to Kiku Memory",style:{"--tool-idx":L++},children:[Bt(zs,{size:14}),Bt("span",{children:"Pin"})]}),c&&l&&Xr("button",{type:"button",className:"hsk-tapback-tool-btn hsk-tapback-tool-btn--retry",onClick:T,"aria-label":m("retry"),style:{"--tool-idx":L++},children:[Bt(cn,{size:14}),Bt("span",{children:m("retry")})]}),Xr("button",{type:"button",className:ie("hsk-tapback-tool-btn hsk-tapback-tool-btn--copy",d&&"is-copied"),onClick:k,"aria-label":m(d?"copied":"copy"),style:{"--tool-idx":L++},children:[d?Bt(br,{size:14}):Bt(mr,{size:14}),Bt("span",{children:m(d?"copied":"copy")})]})]}),Xr("div",{className:ie("hsk-tapback-tail",M?"is-above":"is-below"),style:{left:`${w}px`},children:[Bt("span",{className:"hsk-tapback-dot hsk-tapback-dot--mid"}),Bt("span",{className:"hsk-tapback-dot hsk-tapback-dot--anchor"})]})]})})}import{jsx as De,jsxs as hr}from"react/jsx-runtime";var Dd=240,Hd=700,Bd=200;function qd({title:e="kiku",logo:n,placeholder:t="Ask me anything\u2026",backdropColor:r,backdropBlur:a,onClose:s,onSelectSource:i,chips:c=ra,theme:o,classNames:l={},enableVoice:h=!1,voiceLang:p,enableVision:m=!1,ttsVoice:d="Algenib",origin:v}){let g=_d(),b=Fd(),{messages:E,sources:k,loading:N,streaming:T,error:z,errorCode:F,lastAction:C,lastIntent:$,allowedActions:Z,send:A,queuedMessage:D,sendQueuedNow:Y,appendSpokenExchange:H,stop:V,stopped:fe,interrupted:ue,continueGenerating:j,reset:re,referencedIds:O,humanPending:P,leaveHuman:X}=Pd(),[S,R]=Be(null),I=at(null),G=Ct(()=>{window.matchMedia?.("(prefers-reduced-motion: reduce)").matches||I.current?.animate([0,-7,6,-4,2,0].map(x=>({transform:`translateX(${x}px)`})),{duration:380,easing:"cubic-bezier(.36, .07, .19, .97)"})},[]);wt(()=>{if(!S)return;let x=Te=>{(Te.key.length===1||Te.key==="Enter"||Te.key==="Backspace")&&G()},U=Te=>{let Me=He=>Te.composedPath().some(Ne=>Ne.classList?.contains(He));!Me("hsk-cb-leave")&&!Me("hsk-cb-topbar")&&G()},pe=sn.current;return pe?.setAttribute("inert",""),document.addEventListener("keydown",x),document.addEventListener("pointerdown",U,!0),()=>{pe?.removeAttribute("inert"),document.removeEventListener("keydown",x),document.removeEventListener("pointerdown",U,!0)}},[S,G]);let[f,M]=Be(()=>{try{return g.getShopperName?.()??""}catch{return""}}),[u,te]=Be(()=>{try{return g.getShopperLanguage?.()??""}catch{return""}}),[B,_]=Be(()=>{try{return g.getEntityLanguageMode?.()??""}catch{return""}}),[w,y]=Be(!1),[L,q]=Be(null),[ne,de]=Be(""),[ce,se]=Be(!1),{chromeReady:W,baseFontReady:K,isRTL:ge,speechLang:Pe,scriptFont:be,fontStack:Le,isNonLatin:_e,hostFontCovers:je,t:ke,tNode:tt}=si({shopperLanguage:u||ne,theme:o,preloadedStrings:L}),st=In.useMemo(()=>{let x=k.filter(Ne=>Ne.id&&O.includes(Ne.id)),U=[...E].reverse().find(Ne=>Ne.role==="assistant")?.content??"";if(!U)return x;let pe=new Set(x.map(Ne=>Ne.id)),Te=U.toLowerCase().replace(/\s+/g," "),Me=Ne=>{let ht=String(Ne??"").toLowerCase().replace(/\s+/g," ").trim(),$e=ht.split(" "),Mt=[ht];return $e.length>3&&Mt.push($e.slice(0,3).join(" ")),$e.length>4&&Mt.push($e.slice(0,4).join(" ")),Mt.filter(Ir=>Ir.length>=5)},He=k.filter(Ne=>Ne.id&&!pe.has(Ne.id)&&Me(Ne.name).some(ht=>Te.includes(ht)));return[...x,...He]},[k,O,E]),St=Z===null||Z.includes("capture"),[mt,qe]=Be(""),[Pt,gt]=Be(!1),[jt,At]=Be(!1),[Vt,zt]=Be([]),we=at(new Map),bt=at(null),[Q,ae]=Be({}),[le,ee]=Be(null),[he,oe]=Be(null),[ve,Ce]=Be(()=>{if(typeof window>"u")return!1;try{return localStorage.getItem("akropolys_terms_agreed")==="true"}catch{return!1}}),Se=E.length===0,Xe=ne||u,qt=!Xe||Xe.toLowerCase()==="english"||Xe.toLowerCase()==="en",rt=ce||!!ne||!!u&&!W&&!qt,_t=Se&&!u&&!rt,dr=Se&&!!u&&!f&&!rt,Kt=Se&&!!u&&!!f&&!B,Xt=Se&&!!u&&!!f&&!!B&&!ve,ur=_t||dr||Kt||Xt||rt,Jr=Kt||Xt||rt,[Zr,Ea]=Be(rt),[Pn,en]=Be(!1),[tn,Er]=Be(!1),[An,ze]=Be(!1),Ve=at(!1),Ae=at(null),kt=at(null);rt!==Zr&&(Ea(rt),rt?(kt.current&&clearTimeout(kt.current),ze(!1),Er(!0),Ae.current=setTimeout(()=>{en(!0),Er(!1),Ve.current=!0},280)):(Ae.current&&clearTimeout(Ae.current),Er(!1),en(!1),Ve.current&&(Ve.current=!1,ze(!0),kt.current=setTimeout(()=>ze(!1),560)))),wt(()=>()=>{Ae.current&&clearTimeout(Ae.current),kt.current&&clearTimeout(kt.current)},[]);let it=In.useMemo(()=>E.some(x=>x.liveKeys?.length>0),[E]);wt(()=>{if(it)return Ad({client:g})},[it,g]);let[dt,_n]=Be(!1);wt(()=>{let x=window.matchMedia?.("(max-width: 1199px)");if(!x)return;let U=()=>_n(x.matches);return U(),x.addEventListener?.("change",U),()=>x.removeEventListener?.("change",U)},[]);let Fn=async x=>{let U=x.trim();if(!U){try{g.setShopperLanguage?.("")}catch{}te(""),de(""),q(null);return}if(de(U),se(!0),U.toLowerCase()==="english"||U.toLowerCase()==="en"){q(xt);try{g.setShopperLanguage?.(U)}catch{}te(U),de(""),se(!1),y(!1);return}let Te=Date.now(),Me=1200;try{let Ne=g.getCachedUIStrings?.(U,ar)??g.getCachedUIStrings?.(U,xt);if(Ne?.strings&&Object.keys(Ne.strings).length>0)q(Ne.strings),Ne.font&&await Tt(Ne.font,800);else{let ht=g.getUIStrings?.(U,ar),$e=await Promise.race([ht,new Promise(Mt=>setTimeout(()=>Mt(null),8e3))]);$e?.font&&await Tt($e.font,1200),$e?.strings&&Object.keys($e.strings).length>0&&q($e.strings)}}catch{}let He=Date.now()-Te;He<Me&&await new Promise(Ne=>setTimeout(Ne,Me-He));try{g.setShopperLanguage?.(U)}catch{}te(U),de(""),se(!1),y(!1);try{g.getUIStrings?.(U,xt)?.catch?.(()=>{})}catch{}},Lr=x=>{try{g.setEntityLanguageMode?.(x)}catch{}_(x),ve&&y(!0)},Qt=()=>{try{localStorage.setItem("akropolys_terms_agreed","true")}catch{}Ce(!0),y(!0)},La=rt?yr(ne||u).preparing:_t?ke("langPlaceholder"):dr?ke("namePlaceholder"):Kt?ke("entityLangPlaceholder"):Xt?ke("termsPlaceholder"):t==="Ask me anything\u2026"?ke("defaultPlaceholder"):t,Na=!c||c===ra?[]:Array.isArray(c)?c:[],Ia=_t?"curious":dr?"welcoming":Kt?"guiding":Xt?"focused":"happy",[Jt,Pa]=Be(()=>{if(ja(o))return o;if(typeof window<"u"){let x=localStorage.getItem("akropolys_theme");if(ja(x))return x}return Es}),[Aa,$o]=Be(!1),rn=at(null);wt(()=>()=>{rn.current&&clearTimeout(rn.current)},[]);let Uo=at(null),Lc=()=>{let x=sn.current;if(!x?.animate||window.matchMedia?.("(prefers-reduced-motion: reduce)").matches)return;let U=ge?-3:3;Uo.current?.cancel(),Uo.current=x.animate([{transform:"translate(0, 0)",easing:"cubic-bezier(.3, 0, .2, 1)"},{offset:.26,transform:`translate(${U}px, -6px)`,easing:"cubic-bezier(.45, 0, .35, 1)"},{offset:.52,transform:`translate(${-U*.3}px, 1.6px)`,easing:"cubic-bezier(.45, 0, .35, 1)"},{offset:.74,transform:`translate(${U*.1}px, -0.6px)`,easing:"cubic-bezier(.45, 0, .55, 1)"},{transform:"translate(0, 0)"}],{duration:1100,delay:380})},Wo=at(!1);wt(()=>{if(Wo.current)return;let x=sn.current;if(!x){ro();return}let U=!1,pe=()=>x.querySelector(".hsk-cb-hello-wrap, .hsk-cb-msg-group"),Te=()=>{U||(U=!0,Wo.current=!0,Me.disconnect(),clearTimeout(He),ro())},Me=new MutationObserver(()=>{pe()&&Te()});Me.observe(x,{childList:!0,subtree:!0});let He=window.setTimeout(Te,2e3);return pe()&&Te(),()=>{U=!0,Me.disconnect(),clearTimeout(He)}},[]);let Oo=(x,U=!1)=>{$o(!0),rn.current&&clearTimeout(rn.current),rn.current=setTimeout(()=>$o(!1),420),Pa(x),Lc(),U&&Ha();try{localStorage.setItem("akropolys_theme",x)}catch{}},{vars:Nc}=hs(o),nn=Jt;ps(o);let Go=at(()=>{}),$t=at(null),Zt=async(x,U,pe,Te)=>{let Me=(x??mt).trim(),He=U??Vt;if(!Me&&He.length===0||!W||D)return;if(Et("send"),dr){if(!Me)return;let $e=Xs(Me)||Me.slice(0,40);try{g.setShopperName?.($e)}catch{}M($e),qe("");return}if(_t){if(!Me||ce)return;qe(""),Fn(Me);return}if(Jr){qe("");return}gt(!1),At(!1),qe(""),zt([]);let Ne=(await Promise.all(He.map(async({thumb:$e,...Mt})=>{let Ir=Mt.data||($e?await we.current.get($e)?.catch(()=>""):"")||"";return $e&&URL.revokeObjectURL($e),{...Mt,data:Ir}}))).filter($e=>$e.data),ht=Me||(Ne.some($e=>$e.type==="image")?"Analyze this image":"What is this?");await A(ht,Me,Ne.length>0?Ne:void 0,pe,Te)},[Ic,Yo]=Be(!1),Dn=Ct(async x=>{let U=x&&x.role==="user"?x:[...E].reverse().find(pe=>pe.role==="user");if(U?.content){Yo(!0);try{await Zt(U.content)}finally{Yo(!1)}}},[E,Zt]),Pc=Ct(x=>{x?.content&&(qe(x.content),setTimeout(()=>{if($t.current){$t.current.focus();let U=x.content.length;try{$t.current.setSelectionRange(U,U)}catch{}}},50))},[qe,$t]),Ac=Ct(async()=>{await Dn()},[Dn]),{keyInput:_c,setKeyInput:Fc,keyPhase:Dc,setKeyPhase:jo,mintedKey:Hc,setMintedKey:Bc,mintedPub:Ud,setMintedPub:qc,copied:$c,keyCountdown:Uc,minting:Wc,copyValue:Oc,handleUseExistingKey:Gc,handleCreateKey:Yc}=pi(C,Ac),Vo=Ct(()=>{let x=g?.getKikuKey?.();x&&window.open(`https://mimi.akropolys.cloud/#k=${encodeURIComponent(x)}`,"_blank","noopener")},[g]),[an,Ko]=Be(null),jc=Ct((x,U,pe,Te)=>{Ko({msg:x,rect:U,isUser:pe,el:Te})},[]),Vc=Ct(async x=>{let U=(x.content||"").replace(/^(@kiku pin\s*)+/i,""),Te=`@kiku pin ${U.slice(0,50).replace(/\n+/g," ")}`;await A(U||"pin message",Te,void 0,"capture")},[A]),{handleKikuCapture:Kc,handleKikuCaptureAll:Xc,handleKikuViewHistory:Qc,handleKikuDelete:Jc}=di({attachments:Vt,setAttachments:zt,setInput:qe,send:A,t:ke}),{voiceMode:Xo,voicePhase:Qo,voiceConnecting:Zc,voiceError:_a,setVoiceError:Jo,voiceMuted:el,setVoiceMuted:tl,voiceSecondsLeft:rl,voiceBlocked:nl,liveVoiceName:al,chooseVoice:ol,canConverse:sl,startVoice:il,stopVoice:cl,voice:ll,live:Zo,earlier:hl,newVoiceChat:pl,attachPhoto:dl}=Ii({voiceLang:p,speechLang:Pe,shopperLanguage:u,ttsVoice:d,messages:E,handleSendUtterance:x=>Go.current(x),appendSpokenExchange:H}),Hn=at(null),[er,Bn]=Be(!1),[ul,ml]=Be(null),qn=at(null),Fa=at(null),es=at([]),on=at(null),bl=`hsk-goo-${Id()}`,{closing:Da,requestClose:ts,closeNow:Ha}=Mn(dt?Hd:Dd,()=>Bn(!1));wt(()=>{if(!er)return;let x=U=>{let pe=U.composedPath?U.composedPath():[],Te=qn.current&&(pe.includes(qn.current)||qn.current.contains(U.target)),Me=Fa.current&&(pe.includes(Fa.current)||Fa.current.contains(U.target)),He=U.target,Ne=He?.closest?.(".hsk-cb-topbar-mark"),ht=He?.closest?.(".hsk-cb-topbar-ooze-menu")||pe.some($e=>$e?.classList?.contains?.("hsk-cb-topbar-ooze-menu"));Te||Me||Ne||ht||ts()};return document.addEventListener("mousedown",x),document.addEventListener("touchstart",x,{passive:!0}),()=>{document.removeEventListener("mousedown",x),document.removeEventListener("touchstart",x)}},[er]);let{msgsContainerRef:sn,spacerRef:kl,lastExternalScrollRef:fl,showJumpToBottom:gl,scrollProgress:xl,activeMsgIdx:vl,unreadBelow:yl,jumpToMessage:wl,jumpToBottom:Cl}=ii({messages:E,loading:N,streaming:T,messageRefs:es}),{closing:Sl,requestClose:rs}=Mn(Bd,s),$n=Ct(x=>{x&&X(),Bn(!1),window.matchMedia?.("(prefers-reduced-motion: reduce)").matches?s():rs()},[rs,s,X]),Un=Ct(()=>{S?G():P?R("close"):$n(!1)},[P,$n,S,G]);Ls({panel:Ct(()=>Hn.current,[]),scroller:Ct(()=>sn.current,[]),onDismiss:s,quiescent:Ct(()=>performance.now()-fl.current>90,[])}),wt(()=>{if(typeof window>"u")return;let x=window.innerWidth-document.documentElement.clientWidth,U=document.body.style.overflow,pe=document.body.style.paddingRight;if(x>0){let Te=parseFloat(window.getComputedStyle(document.body).paddingRight)||0;document.body.style.paddingRight=`${Te+x}px`,document.documentElement.style.setProperty("--hsk-scrollbar-width",`${x}px`)}return document.body.style.overflow="hidden",()=>{document.body.style.overflow=U,document.body.style.paddingRight=pe,document.documentElement.style.removeProperty("--hsk-scrollbar-width")}},[]),wt(()=>{let x=window.visualViewport;if(!x)return;let U=document.documentElement,pe=()=>{U.style.setProperty("--hsk-vvh",`${x.height}px`)};return pe(),x.addEventListener("resize",pe),x.addEventListener("scroll",pe),()=>{x.removeEventListener("resize",pe),x.removeEventListener("scroll",pe),U.style.removeProperty("--hsk-vvh")}},[]),wt(()=>{let x=U=>{if(U.key==="Escape"){if(le){ee(null);return}Un()}};return document.addEventListener("keydown",x),()=>document.removeEventListener("keydown",x)},[le,Un]);let Wn=Ct(x=>{x&&X(),re(),jo("idle")},[re,jo,X]),Ml=Ct(()=>{S?G():P?R("reset"):Wn(!1)},[P,Wn,S,G]),Tl=x=>{i?.(x);let U=[...E].reverse().find(pe=>pe.role==="assistant");if(U&&U.content.trim().endsWith("?")){A(ke("cardClickAnswer",{name:x.name}));return}A(ke("cardClickQuery",{name:x.name,details:$a(tr(x,b))}))},Rl=x=>{qe(x+" "),At(!1),gt(!0),$t.current&&$t.current.focus()},zl=x=>{if(x.key==="Escape"&&Pt){x.preventDefault(),gt(!1);return}if(x.key==="Escape"&&jt){x.preventDefault(),At(!1);return}x.key==="Enter"&&!x.shiftKey&&!x.nativeEvent.isComposing&&(x.preventDefault(),Zt())},Ba=at(28),ns=at(280),qa=at(null),El=(x,U)=>{try{!qa.current&&typeof document<"u"&&(qa.current=document.createElement("canvas"));let pe=qa.current?.getContext("2d");return pe?(pe.font=U,pe.measureText(x).width):x.length*8.5}catch{return x.length*8.5}},Ll=x=>{let U=x.closest(".hsk-cb-input-box");if(!U)return;let pe=x.value;!(U.dataset.expanded==="true")&&x.clientWidth>50&&(ns.current=x.clientWidth);let Me=window.getComputedStyle(x),He=Me.font||`${Me.fontSize||"16px"} ${Me.fontFamily||"Geist, sans-serif"}`,Ne=El(pe,He),ht=Math.max(120,ns.current-14),$e=pe.includes(`
38
+ `),Mt=!!(pe&&($e||Ne>ht));if(U.dataset.expanded!==(Mt?"true":"false")&&(U.dataset.expanded=Mt?"true":"false"),!pe){Ba.current=28,x.style.height="";return}if(!Mt){Ba.current=28,x.style.height="";return}x.style.height="auto";let Ir=Math.max(28,Math.min(x.scrollHeight,140));Ba.current=Ir,x.style.height=`${Ir}px`};wt(()=>{$t.current&&Ll($t.current)},[mt]);let Nl=x=>{let U=x.target.value;qe(U),_a&&Jo("");let pe=U.trim();At(pe==="@"),gt(/^@kiku\s*$/i.test(pe))};wt(()=>{Go.current=x=>{Zt(x)}});let Il=async x=>{if(!x||x.length===0)return;let U=Array.from(x);for(let pe of U){if(!pe.type.startsWith("image/"))continue;let Te=URL.createObjectURL(pe),Me=Jn(pe);we.current.set(Te,Me),zt(He=>[...He,{type:"image",data:"",thumb:Te}]),Me.then(He=>zt(Ne=>Ne.map(ht=>ht.thumb===Te?{...ht,data:He}:ht))).catch(()=>zt(He=>He.filter(Ne=>Ne.thumb!==Te))).finally(()=>we.current.delete(Te))}},Pl=x=>{zt(U=>{let pe=U[x]?.thumb;return pe&&URL.revokeObjectURL(pe),U.filter((Te,Me)=>Me!==x)})},Al=r&&(r.includes("rgba")||r.includes("hsla")||r==="transparent"),_l=a||Al?{backdropFilter:`blur(${typeof a=="number"?`${a}px`:a||"20px"})`,WebkitBackdropFilter:`blur(${typeof a=="number"?`${a}px`:a||"20px"})`}:{},as=at(!1);wt(()=>{if(as.current&&!T){let x=E[E.length-1];x&&x.role!=="user"&&Et("reply")}as.current=T},[T,E]);let os=(fe||ue)&&!N&&!T,On=E[E.length-1],Gn=li(On?.role==="assistant"?On.content??"":""),Fl=On?.role==="assistant"&&Gn.length<(On.content?.length??0),Dl=T||Fl,Nr=In.useMemo(()=>{let x=N||T,U=E.filter((Me,He)=>Me.role!=="assistant"||He===E.length-1&&x?!0:!!Me.content||!!Me.visualization||Me.visualizing||(Me.knowledgeImages?.length??0)>0||(Me.referencedIds?.length??0)>0||Sn(Me.statusStage)),pe=U.length-1;if(pe<0||U[pe].role!=="assistant"||U[pe]!==E[E.length-1])return U;let Te=Gn.length<(U[pe].content?.length??0);return!x&&!Te?U:U.map((Me,He)=>He===pe?{...Me,content:Gn}:Me)},[E,N,T,Gn]),Hl=In.useMemo(()=>{let x=[];return Nr.forEach((U,pe)=>{if(U.role==="user"&&U.content.trim()){let Te=U.content.replace(/^@kiku\s*/i,"").replace(/\s+/g," ").trim();x.push({idx:pe,text:Te.length>28?Te.slice(0,27).trimEnd()+"\u2026":Te})}}),x},[Nr]),Bl=os&&Nr[Nr.length-1]?.role!=="assistant",ss=at(Date.now());return wt(()=>{ss.current=Date.now()},[]),De(ao.Provider,{value:ke,children:De("div",{ref:on,className:ie("hsk-cb-overlay",v&&"hsk-cb-overlay--grows",Sl&&"hsk-cb-overlay--closing",l.overlay),onPointerDown:x=>{Yn(),x.target===x.currentTarget&&(on.current._ptrDown=!0)},onClick:x=>{x.target===x.currentTarget&&on.current?._ptrDown&&Date.now()-ss.current>200&&Un(),on.current&&(on.current._ptrDown=!1)},"data-hsk-theme":nn,"data-hsk-theming":Aa?"":void 0,style:{..._l,...r?{background:r}:{},...v?{"--hsk-ox":`${v.x}px`,"--hsk-oy":`${v.y}px`}:{},...Nc},children:hr("div",{ref:Hn,className:ie("hsk-cb-panel",l.panel),dir:ge?"rtl":"ltr",lang:Pe||void 0,"data-script":_e?"nonlatin":"latin","data-host-font":je?"covers":"gap","data-nastaliq":be?.family==="Noto Nastaliq Urdu"||u?.toLowerCase()==="urdu"||u?.toLowerCase()==="ur"||u==="\u0627\u0631\u062F\u0648"?"true":void 0,style:Le?{"--hsk-font":Le}:void 0,onClick:x=>{x.stopPropagation();let U=x.target;if(U.tagName==="IMG"&&(U.classList.contains("hsk-markdown-img")||U.classList.contains("hsk-cb-user-img-thumb"))){let pe=U.src;pe&&ee(pe)}},children:[De(En,{src:le,onClose:()=>ee(null)}),he&&De("div",{className:"hsk-markup-overlay",children:De(_s,{src:he,t:ke,onCancel:()=>oe(null),onSend:(x,U,pe,Te)=>{oe(null),Zt(U,[{type:"image",data:x,annotated:!0,marks:pe,instructed:!0,preview:Te}])}})}),hr("div",{className:"hsk-cb-main",children:[De(ea,{seed:g?.api?.siteId??"",theme:nn,dir:ge?"rtl":"ltr",waitForContent:!0}),De(Wi,{title:e,logo:n,hasMessages:E.length>0,avatarState:T?"speaking":N?"thinking":"idle",unread:yl,awayFromBottom:gl,themeMenuOpen:er,themeMenuClosing:Da,onThemeMenuClosed:Ha,isNarrow:dt,currentTheme:Jt,onJumpToLatest:Cl,onReset:Ml,onClose:Un,onToggleThemeMenu:()=>er?ts():Bn(!0),onSelectTheme:x=>{Oo(x,!0)},themeAttr:nn}),De("div",{className:"hsk-cb-msgs",ref:sn,children:Nr.length===0?De(Ki,{inOnboarding:ur,justCompleted:w,onboardingMood:Ia,awaitingLang:_t,awaitingName:dr,awaitingEntityLang:Kt,awaitingConsent:Xt,termsAgreed:ve,shopperLanguage:u,pendingLanguage:ne,shopperName:f,entityLangPref:B,chromeReady:W&&K,activeChips:Na,speechLang:Pe,t:ke,tNode:tt,chooseLanguage:Fn,langSwitching:ce,isLangPreparing:rt,onPrewarmLanguage:x=>aa(g,x,xt),chooseEntityLang:Lr,agreeTerms:Qt,handleSend:Zt}):De(bc,{doodleTheme:nn,displayMessages:Nr,messageRefs:es,isNarrow:dt,loading:N,streaming:Dl,sources:k,referencedIds:O,discussedSources:st,lastIntent:$,lastAction:C,stopped:fe,interrupted:ue,halted:os,haltedEmpty:Bl,error:z,errorCode:F,keyPhase:Dc,keyInput:_c,setKeyInput:Fc,mintedKey:Hc,setMintedKey:Bc,setMintedPub:qc,minting:Wc,copied:$c,keyCountdown:Uc,handleUseExistingKey:Gc,handleCreateKey:Yc,copyValue:Oc,queuedMessage:D,sendQueuedNow:Y,setLightboxSrc:ee,setMarkupSrc:oe,handleSend:Zt,handleSourceClick:Tl,onRetry:Dn,onEdit:Pc,onLongPress:jc,retrying:Ic,continueGenerating:j,t:ke,spacerRef:kl,vizState:Q,setVizState:ae,messages:E})}),!Pn&&De("div",{className:ie(tn&&"hsk-composer-exit-up",An&&"hsk-composer-reveal"),children:De(xc,{notice:S&&hr("div",{className:"hsk-cb-leave",role:"alertdialog",ref:I,children:[De("span",{children:ke("leaveHumanWarning")}),De("button",{type:"button",className:"hsk-cb-leave-btn",onClick:()=>R(null),children:ke("leaveHumanStay")}),De("button",{type:"button",className:"hsk-cb-leave-btn",onClick:()=>{let x=S;R(null),x==="reset"?Wn(!0):$n(!0)},children:ke("leaveHumanConfirm")}),De("button",{type:"button",className:"hsk-cb-leave-btn hsk-cb-leave-btn--end",onClick:()=>{let x=S;R(null),x==="reset"?Wn(!1):$n(!1)},children:ke("leaveHumanKeep")})]}),gooId:bl,input:mt,setInput:qe,showKikuPicker:Pt,setShowKikuPicker:gt,showAtPicker:jt,setShowAtPicker:At,captureAllowed:St,discussedSources:st,handleSelectExtension:Rl,handleKikuCapture:Kc,handleKikuCaptureAll:Xc,handleKikuViewHistory:Qc,handleKikuDelete:Jc,attachments:Vt,removeAttachment:Pl,chromeLoading:!W,imageInputRef:bt,handleImageFiles:Il,enableVision:m&&!ur,enableVoice:h&&!ur,canConverse:sl,startVoice:il,inputLocked:Jr,voiceBlocked:nl,textareaRef:$t,classNames:l,handleInput:Nl,handleKeyDown:zl,voice:ll,voicePhase:Qo,activePlaceholder:La,loading:N,streaming:T,stop:V,handleSend:Zt,voiceError:_a,setVoiceError:Jo,langSwitching:ce||rt,t:ke,onOpenMimi:g?.getKikuKey?.()?Vo:void 0})})]}),Xo!=="converse"&&De(Mc,{items:Hl,activeIdx:vl,progress:xl,onJump:wl,side:ge?"left":"right"}),hr("div",{className:ie("hsk-cb-kiku-id-rail",ge?"hsk-cb-kiku-id-rail--right":"hsk-cb-kiku-id-rail--left"),children:[De("div",{className:"hsk-cb-dock-frost","aria-hidden":"true"}),De(ma,{}),hr("div",{className:ie("hsk-cb-theme-squircle-wrap",er&&!Da&&"is-open"),ref:qn,children:[De("div",{className:"hsk-cb-theme-2x2-grid",role:"dialog","aria-label":"Theme selector",ref:x=>{x&&(x.inert=!er||Da)},children:kr.map(({id:x,label:U,Icon:pe})=>hr("button",{type:"button",className:ie("hsk-cb-theme-grid-item",(ul??Jt)===x&&"is-active"),onClick:Te=>{Te.stopPropagation(),Oo(x,!0)},children:[De(pe,{}),De("span",{children:U})]},x))}),hr("button",{type:"button",className:"hsk-cb-theme-squircle-trigger",onClick:()=>{if(er){Ha();return}ml(Jt),Bn(!0)},"aria-label":"Themes","aria-expanded":er,children:[De("span",{className:"hsk-cb-theme-trigger-icon",children:In.createElement(Va(Jt).Icon)}),De("span",{className:"hsk-cb-theme-trigger-label",children:Va(Jt).label})]})]}),g?.getKikuKey?.()&&hr("button",{type:"button",className:"hsk-cb-sound-pill",onClick:Vo,children:[De(Xn,{size:13}),De("span",{children:"MiMi"})]})]}),Xo==="converse"&&De(wc,{siteId:g?.api?.siteId??"",themeAttr:nn,stopVoice:cl,chooseVoice:ol,liveVoiceName:al,voiceSecondsLeft:rl,voiceConnecting:Zc,voicePhase:Qo,live:Zo,earlier:hl,newVoiceChat:pl,voiceMuted:el,setVoiceMuted:tl,voiceError:_a,attachPhoto:dl,onSelectSource:x=>{i?.(x),Zo.ask(ke("cardClickQuery",{name:x.name,details:$a(tr(x,b))}))},t:ke}),an&&De(Tc,{msg:an.msg,rect:an.rect,anchorEl:an.el,containerEl:Hn.current,containerRect:Hn.current?.getBoundingClientRect(),isUser:an.isUser,isRTL:ge,canRetry:!N&&!T,onPin:Vc,onRetry:Dn,onCopy:async x=>{if(!x)return!1;try{return await navigator.clipboard.writeText(x),!0}catch{}try{let U=document.createElement("textarea");U.value=x,U.setAttribute("readonly",""),U.style.cssText="position:fixed;top:0;left:0;opacity:0;pointer-events:none",document.body.appendChild(U),U.select(),U.setSelectionRange(0,x.length);let pe=document.execCommand("copy");return document.body.removeChild(U),pe}catch{return!1}},onClose:()=>Ko(null),t:ke})]})})})}var qo='@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) both}@keyframes hsk-input-dock{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.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)}@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;margin-inline-start:-4px;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;position:relative;padding-left:28px!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) - 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));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(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(var(--hsk-tl-d) * 7px - 2px))}.hsk-cb-tl-item:hover .hsk-cb-tl-dot{transform: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:after{display:none!important}.hsk-cb-input-card{position:relative;z-index:95;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}.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:100;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:90;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-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:96;display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;width:fit-content;max-width:calc(100% - 24px);margin:0 12px -12px;padding:6px 6px 6px 14px;border-radius:18px;background:var(--hsk-chat-ai-bg, #eeeef0);color:var(--hsk-chat-text, #111827);box-shadow:0 0 0 3px var(--hsk-chat-bg, #fff),0 6px 20px #0000001f;font:500 13px/1.4 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:28px;padding:0 13px;border:none;border-radius:999px;background:#80808029;color:inherit;font:600 12.5px var(--hsk-font);cursor:pointer}.hsk-cb-leave-btn--end{background:var(--hsk-chat-text, #111827);color:var(--hsk-chat-bg, #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}}@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}@keyframes hsk-lightbox-in{0%{opacity:0}to{opacity:1}}.hsk-lightbox-img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:4px;box-shadow:0 18px 50px -12px color-mix(in srgb,#000 30%,transparent);cursor:default}.hsk-lightbox-close{position:absolute;top:16px;right:16px;width:36px;height:36px;border-radius:50%;border:none;background:color-mix(in srgb,var(--hsk-chat-text, #111) 8%,transparent);color:var(--hsk-chat-text, #111);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s}.hsk-lightbox-close:hover{background:color-mix(in srgb,var(--hsk-chat-text, #111) 16%,transparent)}.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),0 1px 3px rgba(var(--hsk-primary-rgb),.2)!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-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-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-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-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-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-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 Rc="akropolys-kiku-root",pr=null,Qr=null,zc=!1;function Ec(e){if(zc)return;if(zc=!0,typeof CSSStyleSheet<"u"&&"replaceSync"in CSSStyleSheet.prototype)try{let t=new CSSStyleSheet;t.replaceSync(qo),e.adoptedStyleSheets=[t];return}catch{}let n=document.createElement("style");n.textContent=qo,e.appendChild(n)}function $d(){return typeof document>"u"?null:Qr?(Ec(Qr),Qr):(pr=document.getElementById(Rc),pr||(pr=document.createElement("div"),pr.id=Rc,pr.style.cssText="all: initial;",document.body.appendChild(pr)),Qr=pr.shadowRoot??pr.attachShadow({mode:"open"}),Ec(Qr),Qr)}export{qd as ChatModal,ra as DEFAULT_CHIPS,xt as DEFAULT_UI_STRINGS,$d as getShadowContainer,uh as warmChrome,aa as warmLanguage};
39
+ //# sourceMappingURL=lazy-HMHFTX2M.mjs.map