@akropolys/kiku 2.2.34 → 2.2.42
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/EMBED.md +106 -103
- package/README.md +107 -107
- package/dist/embed/embed.js +14 -47
- package/dist/embed/meta.json +1 -1
- package/dist/index.d.mts +3 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.js +4 -37
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +4 -37
- package/dist/index.mjs.map +1 -1
- package/dist/kiku.js +2 -1
- package/dist/voice-worklet.js +32 -0
- package/package.json +69 -68
package/dist/index.mjs
CHANGED
|
@@ -1,41 +1,8 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import{useState as oi,useEffect as si,useRef as ii}from"react";import{useSearch as wp,useAkropolysContext as Cp,useCardFields as Sp}from"@akropolys/sdk";import{resolveDisplayFields as yp}from"@akropolys/sdk";function Qt(e,r){return e.details??(e.fields?yp(e.fields,r).details:[])}function xo(e){return e.length?` (${e.map(r=>`${r.label}: ${r.value}`).join(", ")})`:""}function ni(e){var r,t,n="";if(typeof e=="string"||typeof e=="number")n+=e;else if(typeof e=="object")if(Array.isArray(e)){var a=e.length;for(r=0;r<a;r++)e[r]&&(t=ni(e[r]))&&(n&&(n+=" "),n+=t)}else for(t in e)e[t]&&(n&&(n+=" "),n+=t);return n}function ai(){for(var e,r,t=0,n="",a=arguments.length;t<a;t++)(e=arguments[t])&&(r=ni(e))&&(n&&(n+=" "),n+=r);return n}function oe(...e){return ai(e)}import{Fragment as li,jsx as kt,jsxs as Ut}from"react/jsx-runtime";var ci=()=>Ut("svg",{width:"15",height:"15",viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",children:[kt("circle",{cx:"8.5",cy:"8.5",r:"5.5"}),kt("line",{x1:"13",y1:"13",x2:"18",y2:"18"})]});function Mp({placeholder:e="Search products\u2026",limit:r=10,debounceMs:t=150,onSelect:n,className:a,inputClassName:o,dropdownClassName:s,renderResult:c,theme:i,classNames:l={}}){let[h,p]=oi(""),[d,u]=oi(!1),{results:f,loading:k,search:m,clear:M}=wp({debounceMs:t}),g=Cp(),R=Sp(),S=ii(null),y=ii(!1);si(()=>{if(y.current){y.current=!1;return}if(!h.trim()){M(),u(!1);return}u(!0),m(h,r)},[h]),si(()=>{let w=I=>{S.current&&!S.current.contains(I.target)&&u(!1)};return document.addEventListener("mousedown",w),()=>document.removeEventListener("mousedown",w)},[]);let A=w=>{h.trim()&&g.api.searchVector(h,1,void 0,!0).catch(()=>{}),y.current=!0,u(!1),p(w.entity.title??w.entity.name??""),n?.(w)},D=()=>{h.trim()&&(f.length>0?A(f[0]):g.api.searchVector(h,1,void 0,!0).catch(()=>{}))},T=d&&h.trim().length>0,O={...i?.primaryColor&&{"--hsk-primary":i.primaryColor},...i?.backgroundColor&&{"--hsk-bg":i.backgroundColor},...i?.textColor&&{"--hsk-text":i.textColor},...i?.fontFamily&&{"--hsk-font":i.fontFamily},...i?.borderRadius&&{"--hsk-border-radius":i.borderRadius}};return Ut("div",{className:oe("hsk-sb-wrap",l.root,a),ref:S,style:O,children:[kt("span",{className:"hsk-sb-icon",children:kt(ci,{})}),kt("input",{className:oe("hsk-sb-input",l.input,o),type:"text",value:h,placeholder:e,onChange:w=>p(w.target.value),onFocus:()=>f.length>0&&h.trim()&&u(!0),onKeyDown:w=>{w.key==="Enter"&&D()},autoComplete:"off",spellCheck:!1}),T&&Ut("div",{className:oe("hsk-sb-drop",l.dropdown,s),style:{position:"absolute"},children:[k&&kt("div",{className:"hsk-sb-loading-bar"}),k&&f.length===0?Ut(li,{children:[Ut("div",{className:"hsk-sb-skeleton-row",children:[kt("span",{className:"hsk-sb-skeleton-icon"}),Ut("div",{className:"hsk-sb-row-body",children:[kt("div",{className:"hsk-sb-skeleton-text1"}),kt("div",{className:"hsk-sb-skeleton-text2"})]})]}),Ut("div",{className:"hsk-sb-skeleton-row",children:[kt("span",{className:"hsk-sb-skeleton-icon"}),Ut("div",{className:"hsk-sb-row-body",children:[kt("div",{className:"hsk-sb-skeleton-text1",style:{width:"45%"}}),kt("div",{className:"hsk-sb-skeleton-text2",style:{width:"25%"}})]})]})]}):Ut(li,{children:[f.length===0&&!k&&Ut("div",{className:"hsk-sb-empty",children:["No results for \u201C",h,"\u201D"]}),f.map((w,I)=>{if(c)return kt("div",{onClick:()=>A(w),className:"hsk-sb-fade",style:{animationDelay:`${I*18}ms`},children:c(w)},w.id);let $=w.entity.image??w.entity.thumbnail??w.entity.images?.[0];return Ut("div",{className:oe("hsk-sb-row hsk-sb-fade",l.row),style:{animationDelay:`${I*18}ms`},onClick:()=>A(w),children:[kt("span",{className:"hsk-sb-row-thumb",children:$?kt("img",{src:$,alt:"",loading:"lazy",onError:_=>{_.currentTarget.style.display="none"}}):kt(ci,{})}),Ut("div",{className:"hsk-sb-row-body",children:[kt("div",{className:"hsk-sb-row-title",children:w.entity.title??w.entity.name}),Qt({fields:w.entity.fields??w.entity},R)[0]&&kt("div",{className:"hsk-sb-row-sub",children:Qt({fields:w.entity.fields??w.entity},R)[0].value})]})]},w.id)})]})]})]})}import{useState as Qa,useEffect as ih,useCallback as zs,useRef as jm}from"react";import{createPortal as Ym}from"react-dom";var hi="hsk-sounds",Be=null,ir=null;function ua(){try{return localStorage.getItem(hi)!=="off"}catch{return!0}}function pi(e){try{localStorage.setItem(hi,e?"on":"off")}catch{}e&&wr()}function wr(){if(typeof window>"u")return;try{let r=navigator.audioSession;r&&r.type!=="playback"&&(r.type="playback")}catch{}if(Be){Be.state==="suspended"&&Be.resume().catch(()=>{});return}let e=window.AudioContext||window.webkitAudioContext;if(e)try{Be=new e({latencyHint:"interactive"}),ir=Be.createGain(),ir.gain.value=.28,ir.connect(Be.destination);let r=Be.createBuffer(1,1,Be.sampleRate),t=Be.createBufferSource();t.buffer=r,t.connect(Be.destination),t.start(0),Be.resume().catch(()=>{})}catch{Be=null}}function sr(e,r,t,n,a){if(!Be||!ir)return;let o=Be.createOscillator();o.type="sine",o.frequency.setValueAtTime(r,e),o.frequency.exponentialRampToValueAtTime(Math.max(40,r*t),e+n);let s=Be.createBiquadFilter();s.type="lowpass",s.Q.value=.9,s.frequency.setValueAtTime(Math.min(18e3,r*7),e),s.frequency.exponentialRampToValueAtTime(Math.max(80,r*1.5),e+n);let c=Be.createGain();c.gain.setValueAtTime(1e-4,e),c.gain.exponentialRampToValueAtTime(a,e+.006),c.gain.exponentialRampToValueAtTime(1e-4,e+n),o.connect(s),s.connect(c),c.connect(ir),o.start(e),o.stop(e+n+.02)}function di(e,r){if(!Be||!ir)return;let t=Math.floor(Be.sampleRate*.03),n=Be.createBuffer(1,t,Be.sampleRate),a=n.getChannelData(0);for(let i=0;i<t;i++)a[i]=(Math.random()*2-1)*Math.pow(1-i/t,3);let o=Be.createBufferSource();o.buffer=n;let s=Be.createBiquadFilter();s.type="bandpass",s.frequency.value=2600,s.Q.value=5;let c=Be.createGain();c.gain.value=r,o.connect(s),s.connect(c),c.connect(ir),o.start(e)}function ui(){return ua()?Be?Be.state:"unsupported":"off"}function Tp(e){!Be||!ir||(sr(e,587.33,.985,.16,.38),sr(e+.048,739.99,.985,.18,.42),sr(e+.096,880,.985,.28,.46),sr(e+.105,1174.66,.985,.22,.22),di(e+.096,.16))}function Rp(e){!Be||!ir||sr(e,659.25,.97,.09,.26)}function Jt(e,r=!1){if(!r&&!ua()||(wr(),!Be||!ir||Be.state==="closed"))return;Be.state==="suspended"&&Be.resume().catch(()=>{});let t=Be.currentTime+.01;switch(e){case"connect":Tp(t);break;case"heard":Rp(t);break;case"reply":sr(t,440,.94,.13,.5),sr(t+.09,660,.94,.16,.42);break;case"interrupt":sr(t,520,.62,.17,.4);break;case"send":sr(t,300,1.16,.1,.22);break;case"pin":di(t,.35),sr(t+.02,880,.97,.07,.22);break}}var vo='@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;}@property --hsk-selection-bg{syntax: "<color>"; inherits: true; initial-value: #ff6a33;}@property --hsk-selection-text{syntax: "<color>"; inherits: true; initial-value: #ffffff;}[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),--hsk-selection-bg .36s cubic-bezier(.4,0,.2,1),--hsk-selection-text .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-selection-bg .45s cubic-bezier(.16,1,.3,1),--hsk-selection-text .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-cb-overlay::selection,.hsk-cb-overlay *::selection,.hsk-cb-btn::selection,.hsk-cb-btn *::selection,.hsk-sb-wrap::selection,.hsk-sb-wrap *::selection{background:var(--hsk-selection-bg, #ff6a33);color:var(--hsk-selection-text, #ffffff)}.hsk-kiku-avatar,.hsk-kiku-avatar *{transition:none}@media(prefers-reduced-motion:reduce){.hsk-cb-overlay,.hsk-cb-overlay *,.hsk-cb-overlay *:before,.hsk-cb-overlay *:after{transition:none}}.hsk-cb-overlay button,.hsk-cb-overlay [role=button],.hsk-cb-overlay input,.hsk-cb-overlay textarea,.hsk-cb-overlay select,.hsk-chat button,.hsk-chat [role=button],.hsk-chat input,.hsk-chat textarea,.hsk-chat select,.hsk-cb-btn,.hsk-search button,.hsk-search [role=button],.hsk-search input,.hsk-search textarea,.hsk-search select{touch-action:manipulation;-webkit-tap-highlight-color:transparent;font-family:var(--hsk-font)}:host,:root,.hsk-cb-btn,.hsk-cb-overlay,.hsk-chat-widget{--hsk-marble-1: color-mix(in srgb, var(--hsk-primary, #ff6a33) 12%, #fffaf4);--hsk-marble-2: color-mix(in srgb, var(--hsk-primary, #ff6a33) 30%, #fdf0e4);--hsk-marble-3: color-mix(in srgb, var(--hsk-primary, #ff6a33) 62%, #e8cbb0);--hsk-marble-4: color-mix(in srgb, var(--hsk-primary, #ff6a33) 85%, #6d3a1c);--hsk-marble-sheen: .5}@media(prefers-color-scheme:dark){:host,:root,.hsk-cb-btn,.hsk-cb-overlay,.hsk-chat-widget{--hsk-marble-1: #FFFDF6;--hsk-marble-2: #FBF3E2;--hsk-marble-3: color-mix(in srgb, var(--hsk-primary, #ff6a33) 20%, #EDDFC4);--hsk-marble-4: color-mix(in srgb, var(--hsk-primary, #ff6a33) 42%, #D8C39C);--hsk-marble-sheen: .9}}@keyframes hsk-pulse{0%,to{transform:scale(.8);opacity:.5}50%{transform:scale(1.2);opacity:1}}.hsk-cb-btn{--hsk-primary: var(--chat-primary-color, #ff6a33);display:inline-flex;align-items:center;gap:7px;padding:8px 16px;border-radius:var(--hsk-border-radius, 0px);border:1px solid rgba(255,106,51,.4);background:#ff6a331a;color:var(--hsk-primary);font-size:13px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s,transform .16s cubic-bezier(.34,1.56,.64,1),box-shadow .15s;will-change:transform}.hsk-cb-btn:hover{background:#ff6a332e;border-color:#ff6a33b3;box-shadow:0 4px 16px #ff6a3333}.hsk-cb-btn:active{transform:scale(.97)}.hsk-cb-topbar-mark:active .hsk-cb-topbar-name{transform:scale(.95)}.hsk-cb-btn-icon{font-size:15px;line-height:1;display:flex;align-items:center}.hsk-cb-overlay{--hsk-primary: var(--chat-primary-color, #ff6a33);--hsk-font: var(--chat-font-family, "Geist", ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);letter-spacing:normal;word-spacing:normal;font-kerning:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--hsk-font-size: var(--hsk-desktop-font-size, 15px);--hsk-mobile-font-size: 14px;position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;height:100dvh!important;z-index:2147483647!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;animation:hsk-overlay-in .2s ease-out;background:var(--hsk-chat-bg, #ffffff)!important;box-sizing:border-box!important;margin:0!important;padding:0!important}@keyframes hsk-overlay-in{0%{opacity:0}to{opacity:1}}.hsk-cb-overlay.hsk-cb-overlay--grows{animation:hsk-overlay-in .18s cubic-bezier(.16,1,.3,1) both!important}.hsk-cb-overlay.hsk-cb-overlay--grows .hsk-cb-panel{transform-origin:var(--hsk-ox, 50%) var(--hsk-oy, 50%);animation:hsk-panel-float-in .22s cubic-bezier(.16,1,.3,1) both!important}@keyframes hsk-panel-float-in{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.hsk-cb-overlay.hsk-cb-overlay--grows .hsk-cb-msgs{animation:hsk-content-fade .2s cubic-bezier(.16,1,.3,1) both}@keyframes hsk-content-fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.hsk-cb-lang-chip,.hsk-cb-chip{animation:hsk-pill-wave .22s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(.04s + var(--hsk-pill-idx, 0) * 12ms)}.hsk-cb-lang-chips-hint{animation:hsk-content-fade .22s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(.04s + var(--hsk-pill-idx, 0) * 12ms)}@keyframes hsk-pill-wave{0%{opacity:0;transform:translateY(6px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.hsk-cb-overlay.hsk-cb-overlay--grows .hsk-cb-input-wrap{animation:hsk-input-dock .22s cubic-bezier(.16,1,.3,1) backwards}@keyframes hsk-input-dock{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.hsk-cb-overlay.hsk-cb-overlay--closing{animation:hsk-overlay-out .2s cubic-bezier(.4,0,1,1) both!important;pointer-events:none}.hsk-cb-overlay.hsk-cb-overlay--closing .hsk-cb-panel{animation:hsk-panel-sink .2s cubic-bezier(.4,0,1,1) both!important}@keyframes hsk-overlay-out{0%{opacity:1}to{opacity:0}}@keyframes hsk-panel-sink{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(8px) scale(.985)}}@media(prefers-reduced-motion:reduce){.hsk-cb-overlay.hsk-cb-overlay--closing,.hsk-cb-overlay.hsk-cb-overlay--closing .hsk-cb-panel{animation:none!important}.hsk-cb-overlay.hsk-cb-overlay--grows{animation:none!important;-webkit-clip-path:none!important;clip-path:none!important}.hsk-cb-overlay.hsk-cb-overlay--grows .hsk-cb-panel,.hsk-cb-overlay.hsk-cb-overlay--grows .hsk-cb-msgs,.hsk-cb-overlay.hsk-cb-overlay--grows .hsk-cb-lang-chip,.hsk-cb-overlay.hsk-cb-overlay--grows .hsk-cb-chip,.hsk-cb-overlay.hsk-cb-overlay--grows .hsk-cb-input-wrap,.hsk-cb-overlay.hsk-cb-overlay--grows .hsk-cb-hello-avatar{animation:none!important}}.hsk-cb-panel:lang(ja){font-feature-settings:"palt";word-break:auto-phrase;line-break:strict}.hsk-cb-panel:lang(ja) p,.hsk-cb-panel:lang(ja) li{font-weight:500}.hsk-cb-panel{position:relative;display:flex;flex-direction:column;height:100%;max-width:720px;width:100%;margin:0 auto;animation:hsk-panel-in .28s cubic-bezier(.34,1.2,.64,1)}.hsk-cb-main{position:relative;flex:1;min-width:0;display:flex;flex-direction:column;height:100%;overflow:hidden}@keyframes hsk-panel-in{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.hsk-cb-topbar{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);column-gap:8px;align-items:end;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-identity{height:34px;margin-top:-10px;display:flex;align-items:center;justify-content:center}.hsk-cb-topbar-name{margin-top:0;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-scrim.is-discovery{--hsk-discovery-edge: calc(var(--hsk-tray-top, 40px) + var(--hsk-tray-h, 160px));--hsk-discovery-mask: linear-gradient(to bottom, #000 calc(var(--hsk-discovery-edge) + 24px), rgba(0, 0, 0, .84) calc(var(--hsk-discovery-edge) + 100px), rgba(0, 0, 0, .4) calc(var(--hsk-discovery-edge) + 190px), transparent calc(var(--hsk-discovery-edge) + 320px));-webkit-mask-image:var(--hsk-discovery-mask);mask-image:var(--hsk-discovery-mask);animation-duration:.4s}.hsk-cb-theme-discovery{position:absolute;z-index:1001;inset-inline-start:calc(100% + 18px);bottom:52px;width:150px;color:var(--hsk-chat-text);text-align:center;pointer-events:none;animation:hsk-theme-discovery-in .36s ease .28s both}.hsk-cb-theme-discovery svg{display:block;width:104px;height:72px;margin:0 auto 4px;transform:rotate(-90deg)}.hsk-cb-theme-discovery path{stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;color:color-mix(in srgb,var(--hsk-primary) 62%,var(--hsk-chat-text));animation:hsk-theme-arrow-draw 1s cubic-bezier(.22,.61,.36,1) .3s both}.hsk-cb-theme-discovery span{display:inline-block;padding:6px 13px;border-radius:999px;background:color-mix(in srgb,var(--hsk-primary) 9%,transparent);font-family:var(--hsk-font);font-size:13px;font-style:italic;font-weight:550;line-height:1.5;overflow-wrap:anywhere;transform:rotate(-2deg);animation:hsk-theme-hint-hop .65s cubic-bezier(.22,.61,.36,1) .85s both}.hsk-cb-theme-discovery.is-mobile{top:calc(var(--hsk-tray-top, 40px) + var(--hsk-tray-h, 160px) + 10px);bottom:auto;left:50%;right:auto;width:min(260px,calc(100vw - 48px));transform:translate(-50%)}.hsk-cb-theme-discovery.is-mobile svg{position:relative;left:50%;width:min(calc(100vw - 24px),366px);height:calc(var(--hsk-tray-h, 160px) + 98px);margin-top:calc(-1 * var(--hsk-tray-h, 160px) - 28px);transform:translate(-50%)}.hsk-cb-panel[dir=rtl] .hsk-cb-theme-discovery:not(.is-mobile) svg{transform:rotate(90deg) scaleX(-1)}.hsk-cb-kiku-id-rail.is-theme-open .hsk-cb-dock-frost{opacity:1;transition-duration:.4s}.hsk-cb-theme-discovery.is-closing{animation:hsk-scrim-out .18s ease both}@keyframes hsk-theme-discovery-in{0%{opacity:0;translate:0 -4px}to{opacity:.8;translate:0 0}}@keyframes hsk-theme-arrow-draw{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}@keyframes hsk-theme-hint-hop{0%{transform:translateY(4px) rotate(-4deg) scale(.96)}42%{transform:translateY(-3px) rotate(1deg) scale(1.025)}72%{transform:translateY(1px) rotate(-3deg) scale(.995)}to{transform:translateY(0) rotate(-2deg) scale(1)}}.hsk-cb-topbar-mark.is-discovering:before,.hsk-cb-topbar-mark.is-discovering:after{content:"";position:absolute;inset-inline-end:-13px;top:15px;width:9px;height:13px;background:var(--hsk-primary);clip-path:polygon(50% 0,64% 35%,100% 50%,64% 64%,50% 100%,36% 64%,0 50%,36% 35%);pointer-events:none;animation:hsk-theme-twinkle 1.6s ease .8s 2 both}.hsk-cb-topbar-mark.is-discovering:after{inset-inline-end:auto;inset-inline-start:-10px;top:35px;width:6px;height:9px;animation-delay:1.2s}@keyframes hsk-theme-twinkle{0%,to{opacity:0;transform:rotate(-12deg) scale(.4)}40%{opacity:.85;transform:rotate(9deg) scale(1)}}@media(prefers-reduced-motion:reduce){.hsk-cb-theme-discovery,.hsk-cb-theme-discovery path,.hsk-cb-theme-discovery span,.hsk-cb-topbar-mark.is-discovering:before,.hsk-cb-topbar-mark.is-discovering:after{animation:none}}.hsk-cb-layout-discovery-note{display:flex;align-items:center;gap:10px;width:fit-content;max-width:min(100%,380px);margin:0 0 20px;margin-inline-start:auto;padding:8px 14px 8px 10px;border:0;border-radius:18px;background:color-mix(in srgb,var(--hsk-primary) 6%,transparent);color:var(--hsk-chat-muted);font:500 12px/1.5 var(--hsk-font);text-align:start;cursor:pointer;animation:hsk-msg-in .3s ease both}.hsk-cb-layout-discovery-note svg{width:34px;height:40px;flex-shrink:0;color:color-mix(in srgb,var(--hsk-primary) 62%,var(--hsk-chat-text));transform:scaleX(-1)}.hsk-cb-layout-discovery-note path{stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;animation:hsk-theme-arrow-draw .8s ease .2s both}.hsk-cb-layout-discovery-note:focus-visible{outline:2px solid var(--hsk-primary);outline-offset:4px}.hsk-cb-panel[dir=rtl] .hsk-cb-layout-discovery-note svg{transform:none}.hsk-cb-layout-toggle.is-discovery{position:relative}.hsk-cb-layout-toggle.is-discovery:after{content:"";position:absolute;inset:-3px;border-radius:inherit;pointer-events:none;box-shadow:0 0 0 4px color-mix(in srgb,var(--hsk-primary) 14%,transparent),0 0 12px color-mix(in srgb,var(--hsk-primary) 18%,transparent);animation:hsk-layout-discovery-pulse 1.2s ease .2s 2 both}@keyframes hsk-layout-discovery-pulse{0%,to{opacity:0;transform:scale(.98)}45%{opacity:1;transform:scale(1.02)}}.hsk-cb-layout-dock-anchor{position:relative;width:fit-content}.hsk-cb-layout-discovery-note--dock{display:none}@media(min-width:1200px){.hsk-cb-layout-discovery-note--reply{display:none}.hsk-cb-layout-discovery-note--dock{display:flex;position:absolute;inset-inline-start:calc(100% + 12px);top:50%;transform:translateY(-50%);width:230px;max-width:none;margin:0;padding:6px 10px;background:var(--hsk-chat-bg);animation:none}.hsk-cb-layout-discovery-note--dock svg{transform:rotate(-90deg)}.hsk-cb-panel[dir=rtl] .hsk-cb-layout-discovery-note--dock svg{transform:rotate(90deg)}}@media(prefers-reduced-motion:reduce){.hsk-cb-layout-discovery-note,.hsk-cb-layout-discovery-note path,.hsk-cb-layout-toggle.is-discovery:after{animation:none}}.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{min-width:0;max-width:100%;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{position:relative;display:inline-flex;align-items:center;min-width:0;max-width:100%;white-space:nowrap;flex:0 1 auto;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.is-compact{width:34px;padding:0;flex:none;justify-content:center}.hsk-cb-clear-measure{position:absolute;visibility:hidden;pointer-events:none;white-space:nowrap;font-size:12px}.hsk-cb-topbar-btn-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.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[data-hsk-tapback-active]{background:var(--hsk-chat-bg, #fff);--hsk-viewport-feather: linear-gradient(to bottom, transparent, rgba(0, 0, 0, .03) min(6px, 2%), rgba(0, 0, 0, .16) min(16px, 5%), rgba(0, 0, 0, .5) min(32px, 10%), rgba(0, 0, 0, .84) min(48px, 15%), rgba(0, 0, 0, .97) min(58px, 18%), #000 min(64px, 20%), #000 calc(100% - min(64px, 20%)) , rgba(0, 0, 0, .97) calc(100% - min(58px, 18%)) , rgba(0, 0, 0, .84) calc(100% - min(48px, 15%)) , rgba(0, 0, 0, .5) calc(100% - min(32px, 10%)) , rgba(0, 0, 0, .16) calc(100% - min(16px, 5%)) , rgba(0, 0, 0, .03) calc(100% - min(6px, 2%)) , transparent);--hsk-viewport-sides: linear-gradient(to right, transparent, rgba(0, 0, 0, .03) min(4px, 1%), rgba(0, 0, 0, .16) min(12px, 3%), rgba(0, 0, 0, .5) min(24px, 6%), rgba(0, 0, 0, .84) min(36px, 9%), rgba(0, 0, 0, .97) min(44px, 11%), #000 min(48px, 12%), #000 calc(100% - min(48px, 12%)) , rgba(0, 0, 0, .97) calc(100% - min(44px, 11%)) , rgba(0, 0, 0, .84) calc(100% - min(36px, 9%)) , rgba(0, 0, 0, .5) calc(100% - min(24px, 6%)) , rgba(0, 0, 0, .16) calc(100% - min(12px, 3%)) , rgba(0, 0, 0, .03) calc(100% - min(4px, 1%)) , transparent);-webkit-mask-image:var(--hsk-viewport-sides),var(--hsk-viewport-feather);mask-image:var(--hsk-viewport-sides),var(--hsk-viewport-feather);-webkit-mask-composite:source-in;mask-composite:intersect;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.hsk-cb-msgs-spacer{flex:none;height:1px;pointer-events:none}.hsk-cb-msgs>:first-child{margin-top:auto}.hsk-cb-msgs.hsk-scrolling>*{pointer-events:none}.hsk-cb-msgs::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}.hsk-cb-empty{flex:1 0 auto;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:14px;padding:24px 0 32px;width:100%;text-align:start}.hsk-cb-onboarding-card{display:flex;flex-direction:column;align-items:flex-start;width:100%;gap:10px;flex-shrink:0;overflow:hidden;padding-bottom:26px;margin-bottom:-26px}.hsk-cb-onboarding-head{display:flex;align-items:center;justify-content:flex-start;width:100%;margin-bottom:8px}.hsk-cb-step-badge{font-size:11px;font-weight:600;letter-spacing:.05em;color:var(--hsk-chat-muted, #71717a);background:var(--hsk-chat-source-bg, rgba(255, 255, 255, .06));border:1px solid var(--hsk-chat-border, rgba(255, 255, 255, .08));padding:4px 10px;border-radius:999px;line-height:1}.hsk-cb-hello-wrap{display:flex;flex-direction:column;align-items:flex-start;text-align:start;gap:6px;padding:0;width:100%}.hsk-cb-hello{margin:0;font-size:clamp(24px,4.5vw,34px);font-weight:500;line-height:1.2;letter-spacing:-.02em;color:color-mix(in srgb,var(--hsk-chat-text, #111) 55%,var(--hsk-chat-muted, #8b8b8f));text-align:start}.hsk-cb-hello b{font-weight:700;color:var(--hsk-primary, #ff6a33)}.hsk-cb-hello-lead{margin:0;font-size:15px;line-height:22px;color:var(--hsk-chat-muted, #5f6368);max-width:42ch;text-align:start}.hsk-cb-hello-ask{margin:2px 0;font-size:16px;font-weight:500;color:var(--hsk-chat-text, #111);text-align:start}.hsk-cb-hello-hint{margin:0;font-size:13px;line-height:1.5;color:var(--hsk-chat-muted, #5f6368);text-align:start}.hsk-cb-name-step .hsk-cb-hello{color:var(--hsk-chat-text, #111)}.hsk-cb-name-step .hsk-cb-hello-ask{margin-top:6px;font-size:19px;font-weight:600;color:color-mix(in srgb,var(--hsk-chat-text, #111) 62%,var(--hsk-chat-muted, #8b8b8f))}.hsk-cb-panel[dir=rtl] .hsk-cb-msgs{direction:ltr}.hsk-cb-panel[dir=rtl] .hsk-cb-msgs>*{direction:rtl}.hsk-cb-panel[dir=rtl] .hsk-cb-user-imgs{margin-left:0;margin-right:auto}.hsk-cb-panel[dir=rtl] .hsk-cb-user-bubble,.hsk-cb-panel[dir=rtl] .hsk-cb-ai-text{word-break:normal;overflow-wrap:break-word;letter-spacing:normal}.hsk-cb-panel[dir=rtl] .hsk-cb-hello{line-height:1.6;letter-spacing:normal}.hsk-cb-lang-chips{display:flex;flex-wrap:wrap;gap:8px 10px;margin:16px 0 8px;align-items:center}.hsk-cb-lang-chip{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:6px 15px;font-family:var(--hsk-font);font-size:13.5px;font-weight:400;line-height:1.2;letter-spacing:-.01em;color:var(--hsk-chat-text, #27272a);background:color-mix(in srgb,var(--hsk-chat-card-bg, var(--hsk-chat-bg, #ffffff)) 72%,transparent);backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border:none;border-radius:999px;box-shadow:0 2px 8px -1px #0000000f,0 1px 2px #00000005;cursor:pointer;transition:all .18s cubic-bezier(.16,1,.3,1);user-select:none;-webkit-font-smoothing:antialiased}.hsk-cb-lang-chip:hover{background:color-mix(in srgb,var(--hsk-primary, #ff6a33) 12%,var(--hsk-chat-card-bg, #ffffff));color:var(--hsk-primary, #ff6a33);transform:translateY(-1px);box-shadow:0 4px 12px -2px #00000014}.hsk-cb-lang-chip:active{transform:translateY(0) scale(.97)}.hsk-cb-lang-chip:focus-visible{outline:2px solid var(--hsk-primary, #ff6a33);outline-offset:2px}[data-hsk-theme=dark] .hsk-cb-lang-chip,[data-hsk-theme=midnight] .hsk-cb-lang-chip{color:#e4e4e7;background:#ffffff12;border:none;box-shadow:0 2px 8px -1px #0000004d}[data-hsk-theme=dark] .hsk-cb-lang-chip:hover,[data-hsk-theme=midnight] .hsk-cb-lang-chip:hover{background:rgba(var(--hsk-primary-rgb, 255, 106, 51),.2);color:#fff}.hsk-cb-lang-chips-hint{display:inline-flex;align-items:center;font-size:13px;font-weight:400;color:var(--hsk-chat-muted, #71717a);padding:0 6px;margin-inline-start:4px;user-select:none;align-self:center}.hsk-cb-chrome-loading{display:flex;flex-direction:column;align-items:flex-start;text-align:start;gap:12px;width:100%;max-width:480px;margin:4px 0 2px;animation:hsk-content-fade .3s ease-out both}.hsk-cb-chrome-loading-header{display:flex;flex-direction:column;align-items:flex-start;text-align:start;gap:6px;width:100%}.hsk-cb-chrome-progress{height:3px;width:100%;border-radius:3px;background:var(--hsk-chat-source-bg, rgba(255, 255, 255, .08));overflow:hidden;margin-top:4px}.hsk-cb-chrome-progress-track{height:100%;width:100%;border-radius:3px;background:linear-gradient(90deg,#ff6a33,#f7b733,#43c59e,#3d8bfd,#9b5de5,#ff5d8f,#ff6a33);background-size:300% 100%;animation:hsk-chrome-rainbow 2.6s linear infinite}.hsk-cb-chrome-progress{position:relative;overflow:hidden}.hsk-cb-chrome-progress:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.55) 50%,transparent 80%);transform:translate(-100%);animation:hsk-chrome-sheen 1.9s cubic-bezier(.55,0,.45,1) infinite;pointer-events:none}@keyframes hsk-chrome-rainbow{0%{background-position:0% 0}to{background-position:-300% 0}}@keyframes hsk-chrome-sheen{0%{transform:translate(-100%)}to{transform:translate(200%)}}@media(prefers-reduced-motion:reduce){.hsk-cb-chrome-progress-track{animation:none;opacity:.5}.hsk-cb-chrome-progress:after{animation:none;opacity:0}}.hsk-cb-chrome-back-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;margin-top:6px;font-size:13px;font-weight:500;color:var(--hsk-chat-muted, #a1a1aa);background:var(--hsk-chat-source-bg, rgba(255, 255, 255, .05));border:1px solid var(--hsk-chat-border, rgba(255, 255, 255, .09));border-radius:999px;cursor:pointer;transition:all .15s ease;user-select:none}.hsk-cb-chrome-back-btn:hover{background:var(--hsk-chat-source-bg, rgba(255, 255, 255, .12));color:var(--hsk-chat-text, #ffffff);border-color:var(--hsk-chat-border, rgba(255, 255, 255, .18))}.hsk-cb-chrome-notice{display:flex;flex-direction:column;gap:6px;max-width:48ch;margin:24px 0 0;padding:14px 16px;border-radius:14px;background:var(--hsk-chat-source-bg, rgba(255, 255, 255, .04));border:1px solid var(--hsk-chat-border, rgba(255, 255, 255, .09));text-align:start;font-family:var(--hsk-font, system-ui, sans-serif);animation:hsk-content-fade .4s ease-out both}.hsk-cb-chrome-notice-header{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.hsk-cb-chrome-notice-pill{display:inline-flex;align-items:center;padding:2px 7px;border-radius:6px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;background:#ff6a3326;color:var(--hsk-primary, #ff6a33);border:1px solid rgba(255,106,51,.28)}.hsk-cb-chrome-notice-title{font-size:12px;font-weight:600;letter-spacing:.01em;color:var(--hsk-chat-text, #ffffff)}.hsk-cb-chrome-notice-body{font-size:12px;line-height:1.55;color:var(--hsk-chat-muted, #a1a1aa)}.hsk-cb-chrome-notice-body b{color:var(--hsk-chat-text, #ffffff)}@media(prefers-color-scheme:light){.hsk-cb-chrome-progress{background:var(--hsk-chat-source-bg, rgba(0, 0, 0, .06))}.hsk-cb-chrome-back-btn{color:#52525b;background:#0000000a;border-color:#00000014}.hsk-cb-chrome-back-btn:hover{background:#00000014;color:#09090b;border-color:#00000024}}.hsk-cb-input-box--waiting{opacity:.45;pointer-events:none}.hsk-cb-entlang-opts{display:flex;flex-direction:column;gap:10px;width:100%;max-width:440px;margin-top:6px}.hsk-cb-entlang-opt{position:relative;display:flex;flex-direction:row;align-items:center;width:100%;padding:16px 20px;text-align:start;background:transparent!important;border:none!important;outline:none!important;border-radius:16px;cursor:pointer;user-select:none;box-shadow:none!important;animation:hsk-entlang-opt-in .22s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(.04s + var(--hsk-opt-idx, 0) * .02s)}@media(prefers-color-scheme:light){.hsk-cb-entlang-opt{background:transparent!important}}[data-hsk-theme=light] .hsk-cb-entlang-opt{background:transparent!important}@keyframes hsk-entlang-opt-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.hsk-cb-entlang-opt:hover{background:transparent!important;border:none!important;box-shadow:none!important}.hsk-cb-entlang-opt:active>.hsk-cb-check{scale:.94;translate:0 1px;box-shadow:none}.hsk-cb-check{display:inline-grid;place-items:center;width:22px;height:22px;flex-shrink:0;border-radius:8px;border:1.5px solid color-mix(in srgb,var(--hsk-chat-text, #111) 20%,transparent);background:color-mix(in srgb,var(--hsk-chat-text, #111) 4%,transparent);box-shadow:0 2px color-mix(in srgb,var(--hsk-chat-text, #111) 8%,transparent);box-sizing:border-box;transition:background-color .22s ease,border-color .22s ease,box-shadow .16s ease,scale .16s ease,translate .16s 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}@media(hover:hover){.hsk-cb-entlang-opt:not(.is-selected):hover>.hsk-cb-check{background:color-mix(in srgb,var(--hsk-chat-text, #111) 7%,transparent)}}.hsk-cb-entlang-opt:focus-visible{outline:2px solid var(--hsk-primary, #ff6a33)!important;outline-offset:-2px}@keyframes hsk-cb-check-press{0%{transform:scale(1)}35%{transform:scale(.9)}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,.hsk-cb-check path{transition:none}.hsk-cb-entlang-opt:active>.hsk-cb-check{scale:none;translate:none}}.hsk-cb-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-start;margin-top:4px}.hsk-cb-chip{padding:8px 16px;border-radius:var(--hsk-border-radius, 0px);border:1px solid var(--hsk-chat-divide, rgba(0,0,0,.1));background:var(--hsk-chat-source-bg, rgba(0,0,0,.03));color:var(--hsk-chat-text, #333);font-size:13px;cursor:pointer;transition:all .15s;font-family:inherit}.hsk-cb-chip:hover{border-color:var(--hsk-primary);color:var(--hsk-primary);background:#ff6a330f}.hsk-cb-msg-group{padding:16px 0;border-bottom:none;animation:hsk-msg-in .22s ease-out both}.hsk-cb-spoken-mark{position:absolute;top:50%;margin-top:-5px;inset-inline-start:-17px;opacity:.4;pointer-events:none}.hsk-cb-msg-group--run-mid{padding-bottom:0}.hsk-cb-msg-group--run-mid .hsk-cb-user-msg{margin-bottom:3px;gap:0}.hsk-cb-msg-group--run-cont{padding-top:0}.hsk-cb-msg-group--run-mid .hsk-cb-ai-msg{margin-bottom:3px}.hsk-cb-msg-group--run-cont .hsk-cb-ai-text{margin-top:0}.hsk-cb-msg-group--run-mid .hsk-cb-ai-msg .hsk-cb-ai-text:before,.hsk-cb-msg-group--run-mid .hsk-cb-ai-msg .hsk-cb-ai-text:after{display:none}.hsk-cb-msg-group--run-mid .hsk-cb-user-bubble{border-bottom-right-radius:20px!important}[dir=rtl] .hsk-cb-msg-group--run-mid .hsk-cb-user-bubble,.hsk-cb-panel[dir=rtl] .hsk-cb-msg-group--run-mid .hsk-cb-user-bubble,.hsk-cb-msg-group--run-mid .hsk-cb-user-bubble[dir=rtl]{border-bottom-right-radius:20px!important;border-bottom-left-radius:20px!important}.hsk-cb-msg-group--run-cont .hsk-cb-user-bubble{border-top-right-radius:20px!important}[dir=rtl] .hsk-cb-msg-group--run-cont .hsk-cb-user-bubble,.hsk-cb-panel[dir=rtl] .hsk-cb-msg-group--run-cont .hsk-cb-user-bubble,.hsk-cb-msg-group--run-cont .hsk-cb-user-bubble[dir=rtl]{border-top-right-radius:20px!important;border-top-left-radius:20px!important}.hsk-cb-msg-group:last-child{border-bottom:none}@keyframes hsk-msg-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.hsk-cb-user-msg{display:flex;flex-direction:column;align-items:flex-end;align-self:flex-end;max-width:min(75%,420px);margin-inline-start:auto;margin-inline-end:0;gap:6px;margin-bottom:20px}@media(max-width:640px){.hsk-cb-user-msg{max-width:84%}}.hsk-cb-user-msg.hsk-sent{transform-origin:bottom right;animation:hsk-send-in .3s cubic-bezier(.22,1,.36,1) both}.hsk-cb-panel[dir=rtl] .hsk-cb-user-msg.hsk-sent{transform-origin:bottom left}@keyframes hsk-send-in{0%{opacity:0;transform:translateY(12px) scale(.94)}60%{opacity:1}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){.hsk-cb-user-msg.hsk-sent{animation:none}}.hsk-cb-user-bubble{background:var(--hsk-user-bubble-bg, #007aff);color:#fff;padding:10px 18px;border-radius:20px;position:relative;font-size:var(--hsk-font-size, 15.5px);font-family:var(--hsk-font);line-height:1.45;max-width:100%;font-weight:500;width:fit-content;word-break:break-word;overflow-wrap:anywhere;letter-spacing:-.01em}.hsk-cb-user-bubble--tail:before,.hsk-cb-user-bubble--tail:after{content:"";position:absolute;bottom:0;height:25px;pointer-events:none}.hsk-cb-user-bubble--tail:before{right:-7px;width:20px;background:var(--hsk-user-bubble-bg, #007aff);border-bottom-left-radius:16px 14px}.hsk-cb-user-bubble--tail:after{right:-26px;width:26px;background:var(--hsk-chat-bg, #ffffff);border-bottom-left-radius:10px}.hsk-cb-panel[dir=rtl] .hsk-cb-user-bubble--tail:before{right:auto;left:-7px;border-bottom-left-radius:0;border-bottom-right-radius:16px 14px}.hsk-cb-panel[dir=rtl] .hsk-cb-user-bubble--tail:after{right:auto;left:-26px;border-bottom-left-radius:0;border-bottom-right-radius:10px}.hsk-cb-ai-msg{display:block}.hsk-cb-ai-icon{width:32px;height:32px;border-radius:0;background:transparent!important;border:none!important;color:var(--hsk-primary, #ff6a33);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:-2px}.hsk-cb-ai-icon>svg{width:30px!important;height:30px!important}.hsk-cb-ai-body{flex:1;min-width:0}.hsk-cb-ai-content{display:flex;flex-direction:column;gap:10px;align-items:flex-start;width:100%}.hsk-cb-think+.hsk-cb-ai-content>.hsk-cb-ai-text:first-child{padding-top:20px}.hsk-cb-ai-text{font-size:var(--hsk-font-size, 14.5px);font-family:var(--hsk-font);line-height:1.48;color:var(--hsk-chat-text, #111827);background:var(--hsk-chat-ai-bg, #eeeef0);padding:11px 15px;border-radius:18px;position:relative;display:inline-block;width:fit-content;box-sizing:border-box;max-width:min(88%,460px);word-break:break-word;overflow-wrap:anywhere;margin-top:4px}.hsk-cb-ai-text:not(:has(~.hsk-cb-ai-text)):before,.hsk-cb-ai-text:not(:has(~.hsk-cb-ai-text)):after{content:"";position:absolute;bottom:0;height:25px;pointer-events:none}.hsk-cb-ai-text:not(:has(~.hsk-cb-ai-text)):before{left:-7px;width:20px;background:var(--hsk-chat-ai-bg, #eeeef0);border-bottom-right-radius:16px 14px}.hsk-cb-ai-text:not(:has(~.hsk-cb-ai-text)):after{left:-26px;width:26px;background:var(--hsk-chat-bg, #ffffff);border-bottom-right-radius:10px}.hsk-cb-panel[dir=rtl] .hsk-cb-ai-text:not(:has(~.hsk-cb-ai-text)):before{left:auto;right:-7px;border-bottom-right-radius:0;border-bottom-left-radius:16px 14px}.hsk-cb-panel[dir=rtl] .hsk-cb-ai-text:not(:has(~.hsk-cb-ai-text)):after{left:auto;right:-26px;border-bottom-right-radius:0;border-bottom-left-radius:10px}.hsk-cb-user-bubble--tail{border-bottom-right-radius:25px}.hsk-cb-panel[dir=rtl] .hsk-cb-user-bubble--tail{border-bottom-right-radius:20px;border-bottom-left-radius:25px}.hsk-cb-user-footer{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;gap:6px;width:100%;margin-top:2px;min-height:16px;line-height:1}.hsk-cb-ai-footer{display:flex;align-items:center;gap:4px;margin-top:4px;min-height:16px;line-height:1}.hsk-cb-ai-body:hover .hsk-cb-msg-actions,.hsk-cb-ai-body:focus-within .hsk-cb-msg-actions{opacity:1;pointer-events:auto;transform:translateY(0)}.hsk-cb-sent-status{font-size:11px;line-height:1;color:var(--hsk-chat-muted, #8a8f98);padding:0;display:inline-flex;align-items:center;user-select:none;animation:hsk-sent-in .2s ease-out both}.hsk-cb-msg-actions{display:inline-flex;align-items:center;gap:2px;padding:0;opacity:0;pointer-events:none;transform:translate(3px);transition:opacity .18s cubic-bezier(.16,1,.3,1),transform .18s cubic-bezier(.16,1,.3,1)}.hsk-cb-user-msg:hover .hsk-cb-msg-actions,.hsk-cb-user-msg:focus-within .hsk-cb-msg-actions,.hsk-cb-msg-actions--visible{opacity:1;pointer-events:auto;transform:translate(0)}.hsk-cb-msg-action{display:inline-flex;align-items:center;justify-content:center;gap:3.5px;padding:1px 6.5px;height:16px;border-radius:999px;font-size:11px;font-weight:500;font-family:var(--hsk-font);line-height:1;color:var(--hsk-chat-muted, #8a8f98);background:transparent;border:none;box-shadow:none;cursor:pointer;user-select:none;box-sizing:border-box;transition:color .15s ease,background-color .15s ease,transform .18s cubic-bezier(.34,1.56,.64,1)}.hsk-cb-msg-action .hsk-cb-msg-action-label{font-size:11px;line-height:1}.hsk-cb-msg-action:hover:not(:disabled){color:var(--hsk-chat-text, #ffffff)!important;background:var(--hsk-chat-divide, rgba(140, 140, 140, .18));border:none;transform:translateY(-.5px)}.hsk-cb-msg-action:active:not(:disabled){transform:translateY(0) scale(.95);transition-duration:.1s}.hsk-cb-msg-action--retry{color:var(--hsk-primary, #ff6a33);background:transparent;border:none;box-shadow:none}.hsk-cb-msg-action--retry:hover:not(:disabled){color:var(--hsk-on-active, #ffffff)!important;background:var(--hsk-primary, #ff6a33)!important;border:none!important;box-shadow:0 1px 6px color-mix(in srgb,var(--hsk-primary, #ff6a33) 35%,transparent)}.hsk-cb-failed-notice{display:inline-flex;align-items:center;gap:4px;font-size:11px;line-height:1;color:#ef4444;font-weight:500;user-select:none}.hsk-cb-failed-dot{width:5px;height:5px;border-radius:999px;background:#ef4444;box-shadow:0 0 5px #ef444499;animation:hsk-failed-pulse 1.8s ease-in-out infinite}@keyframes hsk-failed-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.25);opacity:.7}}.hsk-cb-msg-action--copied{color:#10b981!important;background:#10b98126!important;font-weight:600}@media(max-width:640px){.hsk-cb-msg-actions{display:none!important}}@keyframes hsk-sent-in{0%{opacity:0}to{opacity:1}}.hsk-cb-user-bubble--queued{opacity:.55}.hsk-cb-queued-status{display:inline-flex;align-items:center;gap:5px;font-size:11px;line-height:1;color:var(--hsk-chat-muted, #8a8f98);padding:4px 0 0;background:none;border:none;cursor:pointer;font-family:var(--hsk-font);animation:hsk-sent-in .2s ease-out both}.hsk-cb-queued-dot{width:5px;height:5px;border-radius:999px;background:currentColor;animation:hsk-queued-pulse 1.1s ease-in-out infinite}@keyframes hsk-queued-pulse{0%,to{opacity:.35;transform:scale(.85)}50%{opacity:1;transform:scale(1)}}.hsk-cb-queued-now{color:var(--hsk-primary, #ff6a33);font-weight:600;transition:opacity .15s ease}.hsk-cb-queued-status:hover .hsk-cb-queued-now{opacity:.7}@media(prefers-reduced-motion:reduce){.hsk-cb-queued-dot{animation:none;opacity:.8}}.hsk-cb-timeline{display:none}@media(min-width:1200px){.hsk-cb-timeline.hsk-cb-timeline--left{display:block;position:absolute;left:auto!important;right:100%!important;margin-right:28px!important;top:50%;transform:translateY(-50%)!important;width:180px;max-height:60%;overflow:hidden;z-index:10;pointer-events:auto;direction:ltr!important;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 14%,#000 86%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 14%,#000 86%,transparent)}.hsk-cb-timeline.hsk-cb-timeline--right{display:block;position:absolute;left:100%!important;right:auto!important;margin-left:28px!important;top:50%;transform:translateY(-50%)!important;width:180px;max-height:60%;overflow:hidden;z-index:10;pointer-events:auto;direction:ltr!important;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 14%,#000 86%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 14%,#000 86%,transparent)}.hsk-cb-timeline-track{animation:hsk-tl-in .32s cubic-bezier(.22,1,.36,1) both}}@keyframes hsk-tl-in{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.hsk-cb-timeline-track{--hsk-tl-x: 14px;--hsk-tl-gutter: 28px;position:relative;padding-left:var(--hsk-tl-gutter)!important;padding-right:6px!important;transition:transform .28s cubic-bezier(.22,1,.36,1)}.hsk-cb-timeline-track:before,.hsk-cb-timeline-track:after{display:none!important}.hsk-cb-tl-wave{position:absolute;left:0;top:0;overflow:visible;pointer-events:none;fill:none;stroke:var(--hsk-chat-divide, rgba(0, 0, 0, .12));stroke-width:2;stroke-linecap:round;transition:d .35s cubic-bezier(.22,1,.36,1)}@media(prefers-color-scheme:dark){.hsk-cb-tl-wave{stroke:var(--hsk-chat-divide, rgba(255, 255, 255, .14))}}.hsk-cb-tl-item{--hsk-tl-d: 0;position:relative;display:block;width:100%;padding:7px 6px 7px 0!important;border:none;background:none;text-align:left!important;cursor:pointer;font-family:var(--hsk-font)}.hsk-cb-tl-dot{position:absolute;left:calc(var(--hsk-tl-x, 14px) - var(--hsk-tl-gutter, 28px) - 3px)!important;right:auto!important;top:50%;width:6px;height:6px;margin-top:-3px;border-radius:999px;background:var(--hsk-chat-muted, #8a8f98);opacity:max(.1,calc(.28 - var(--hsk-tl-d) * .07));transform:translate(calc(10px + var(--hsk-tl-d) * 7px));transition:transform .28s cubic-bezier(.34,1.4,.64,1),opacity .46s cubic-bezier(.22,1,.36,1),background .2s ease}.hsk-cb-tl-label{display:block;font-size:12px;line-height:1.4;color:var(--hsk-chat-muted, #8a8f98);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transform:translate(calc(10px + var(--hsk-tl-d) * 7px));opacity:max(.32,calc(.9 - var(--hsk-tl-d) * .15));transition:transform .46s cubic-bezier(.22,1,.36,1),opacity .46s cubic-bezier(.22,1,.36,1),color .2s ease}.hsk-cb-tl-item:hover .hsk-cb-tl-label{opacity:1;transform:translate(calc(10px + var(--hsk-tl-d) * 7px - 2px))}.hsk-cb-tl-item:hover .hsk-cb-tl-dot{transform:translate(calc(10px + var(--hsk-tl-d) * 7px - 2px)) scale(1.25)}.hsk-cb-tl-cursor{position:absolute;box-shadow:0 0 0 5px color-mix(in srgb,var(--hsk-primary, #ff6a33) 14%,transparent);left:calc(var(--hsk-tl-x, 14px) - 4.5px)!important;right:auto!important;top:0;width:9px;height:9px;margin-top:-4.5px;border-radius:999px;background:var(--hsk-primary, #ff6a33);transform:translateY(0);transition:transform .44s cubic-bezier(.22,1,.36,1);will-change:transform}.hsk-cb-tl-item--on .hsk-cb-tl-dot{opacity:0}.hsk-cb-tl-item--on .hsk-cb-tl-label{color:var(--hsk-chat-text, #1f1f1f);opacity:1;font-weight:500}@media(prefers-reduced-motion:reduce){.hsk-cb-timeline-track{animation:none}.hsk-cb-timeline-track:after,.hsk-cb-tl-label,.hsk-cb-tl-cursor,.hsk-cb-tl-dot{transition:none}}@media(prefers-color-scheme:dark){.hsk-cb-ai-text{--hsk-chat-ai-bg: #26262a;background:var(--hsk-chat-ai-bg);color:#f9fafb}}.hsk-cb-sources-wrap{position:relative;margin-top:20px}.hsk-cb-sources{display:flex;flex-direction:row;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;padding-bottom:4px}.hsk-cb-sources::-webkit-scrollbar{display:none}.hsk-cb-sources-fade-left,.hsk-cb-sources-fade-right{position:absolute;top:0;bottom:4px;width:30px;pointer-events:none;z-index:2}.hsk-cb-sources-fade-left,.hsk-cb-sources-fade-right{background-color:var(--hsk-fade-bg, var(--hsk-chat-bg, #0e0e0f))}.hsk-cb-sources-fade-left,[dir=rtl] .hsk-cb-sources-fade-right{-webkit-mask-image:linear-gradient(to right,#000 0%,rgba(0,0,0,.55) 45%,transparent 100%);mask-image:linear-gradient(to right,#000 0%,rgba(0,0,0,.55) 45%,transparent 100%)}.hsk-cb-sources-fade-right,[dir=rtl] .hsk-cb-sources-fade-left{-webkit-mask-image:linear-gradient(to left,#000 0%,rgba(0,0,0,.55) 45%,transparent 100%);mask-image:linear-gradient(to left,#000 0%,rgba(0,0,0,.55) 45%,transparent 100%)}.hsk-cb-sources-fade-left{inset-inline-start:0}.hsk-cb-sources-fade-right{inset-inline-end:0}.hsk-cb-sources-next,.hsk-cb-sources-prev{position:absolute;top:42%;transform:translateY(-50%);width:34px;height:34px;border-radius:50%!important;background:var(--hsk-chat-bg, #ffffff)!important;border:1px solid var(--hsk-chat-divide, rgba(0, 0, 0, .12))!important;color:var(--hsk-primary, #ff6a33)!important;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px #00000024;z-index:10;cursor:pointer;transition:transform .2s cubic-bezier(.34,1.56,.64,1),background .18s ease,color .18s ease,box-shadow .18s ease}.hsk-cb-sources-next:hover,.hsk-cb-sources-prev:hover{background:var(--hsk-primary, #ff6a33)!important;color:#fff!important;border-color:var(--hsk-primary, #ff6a33)!important;transform:translateY(-50%) scale(1.1);box-shadow:0 6px 18px #ff6a3359}.hsk-cb-sources-next{inset-inline-end:2px}.hsk-cb-sources-prev{inset-inline-start:2px}[dir=rtl] .hsk-cb-sources-next svg,[dir=rtl] .hsk-cb-sources-prev svg{transform:scaleX(-1)}.hsk-cb-carousel-dots{display:flex;align-items:center;justify-content:center;gap:5px;margin-top:10px}.hsk-cb-dot-item{width:6px;height:6px;border-radius:50%;background:#96969659;transition:all .25s cubic-bezier(.34,1.56,.64,1);cursor:pointer}.hsk-cb-dot-item--active{width:18px;border-radius:999px;background:var(--hsk-primary, #ff6a33)}.hsk-cb-source{flex:0 0 188px;scroll-snap-align:start;border-radius:var(--hsk-border-radius, 0px);border:none;background:transparent;cursor:pointer;transition:transform .14s,opacity .14s;animation:hsk-card-in .26s ease-out both;overflow:visible}@keyframes hsk-card-in{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:none}}.hsk-cb-source:hover{transform:translateY(-3px);opacity:.92}.hsk-cb-src-imgwrap{width:188px;height:188px;overflow:hidden;border-radius:var(--hsk-border-radius, 0px);display:block;background:var(--hsk-chat-source-bg, #f8f9fa)}.hsk-cb-src-imgwrap img{width:100%;height:100%;object-fit:cover;transition:transform .22s;display:block}.hsk-cb-source:hover .hsk-cb-src-imgwrap img{transform:scale(1.05)}.hsk-cb-src-imgwrap-empty{width:188px;height:188px;background:var(--hsk-chat-divide, rgba(0,0,0,.06));display:flex;align-items:center;justify-content:center;color:var(--hsk-chat-muted, #555);font-size:32px}.hsk-cb-src-info{padding:8px 2px 0}.hsk-cb-sources-wrap--compact{margin-top:10px}.hsk-cb-sources-wrap--compact .hsk-cb-sources{gap:10px}.hsk-cb-sources-wrap--compact .hsk-cb-source{flex:0 0 96px}.hsk-cb-sources-wrap--compact .hsk-cb-src-imgwrap,.hsk-cb-sources-wrap--compact .hsk-cb-src-imgwrap-empty{width:96px;height:96px}.hsk-cb-sources-wrap--compact .hsk-cb-src-imgwrap-empty{font-size:20px}.hsk-cb-sources-wrap--compact .hsk-cb-src-name{font-size:12px;-webkit-line-clamp:1}.hsk-cb-sources-wrap--compact .hsk-cb-src-detail{font-size:11px;padding:1px 6px}.hsk-cb-src-name{font-size:13px;font-weight:600;color:var(--hsk-chat-text, #333);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.hsk-cb-src-detail{display:inline-flex;align-items:center;width:fit-content;max-width:100%;padding:2px 9px;border-radius:9999px;background:var(--hsk-chat-source-bg, rgba(0, 0, 0, .05));border:1px solid var(--hsk-chat-divide, rgba(0, 0, 0, .08));font-size:12px;font-weight:600;color:var(--hsk-primary, #ff6a33);margin-top:5px;line-height:1.2}.hsk-cb-input-wrap{position:relative;--hsk-composer-pad-top: 16px;--hsk-composer-pad-x: var(--hsk-gutter, 24px);padding:var(--hsk-composer-pad-top) var(--hsk-composer-pad-x) 24px;flex-shrink:0;background:transparent!important;z-index:10}.hsk-cb-input-wrap[data-tools-open=true]{z-index:20!important}.hsk-cb-input-wrap:after{display:none!important}.hsk-cb-input-card{position:relative;z-index:1001;border-radius:20px;background:var(--hsk-chat-input-bg, #ffffff);border:none!important;outline:none!important;box-shadow:0 3px 14px -1px #0000000d,0 1px 4px #00000008!important;overflow:hidden;transition:height .22s cubic-bezier(.32,.72,0,1)}.hsk-cb-input-card:focus-within{border:none!important;outline:none!important;box-shadow:0 4px 18px -1px #00000012,0 2px 6px #0000000a!important}.hsk-cb-docked-header{display:flex;align-items:center;gap:8px;padding:10px 16px 6px;background:transparent;border-bottom:none!important;user-select:none}.hsk-cb-docked-sub{font-size:12px;font-weight:500;letter-spacing:-.01em;color:var(--hsk-chat-text, #1f1f1f);flex:1}.hsk-cb-docked-close{background:none;border:none;color:var(--hsk-chat-muted, rgba(0, 0, 0, .4));font-size:16px;line-height:1;cursor:pointer;padding:2px 6px;border-radius:50%;transition:background .12s,color .12s}.hsk-cb-docked-close:hover{background:#00000014;color:var(--hsk-chat-text, #111111)}.hsk-cb-field{margin-inline:5px}.hsk-cb-input-box[data-expanded=true]>.hsk-cb-field{margin-inline:0}.hsk-cb-docked-options{display:flex;flex-direction:column;padding:4px 6px;background:transparent;border-bottom:none!important;max-height:220px;overflow-y:auto;scrollbar-width:thin}.hsk-cb-docked-option{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;border:none;background:transparent!important;border-radius:10px;color:var(--hsk-chat-text, #1f1f1f);font-family:inherit;font-size:14px;text-align:start;cursor:pointer;transition:color .15s ease}.hsk-cb-docked-option:hover,.hsk-cb-docked-option:focus{background:transparent!important;color:var(--hsk-primary, #ff6a33)}.hsk-cb-docked-option-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:color-mix(in srgb,var(--hsk-primary, #ff6a33) 12%,transparent);color:var(--hsk-primary, #ff6a33);flex-shrink:0;overflow:hidden;transition:transform .2s cubic-bezier(.34,1.56,.64,1),background .18s ease}.hsk-cb-docked-option:hover .hsk-cb-docked-option-icon,.hsk-cb-docked-option:focus .hsk-cb-docked-option-icon{background:color-mix(in srgb,var(--hsk-primary, #ff6a33) 22%,transparent);transform:scale(1.15) rotate(4deg)}.hsk-cb-docked-option-icon img{width:100%;height:100%;object-fit:cover}.hsk-cb-docked-option-title{font-weight:500;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .15s ease}.hsk-cb-docked-option-desc{font-size:12px;color:var(--hsk-chat-muted, #6b7280);font-weight:400}.hsk-cb-docked-option-detail{font-size:12px;font-weight:600;color:var(--hsk-chat-muted, #6b7280)}.hsk-cb-input-box{position:relative;display:grid;grid-template-columns:auto 1fr auto auto;grid-template-rows:auto 0px;align-items:center;justify-items:start;column-gap:10px;row-gap:0px;transition:grid-template-rows .2s cubic-bezier(.32,.72,0,1),row-gap .2s cubic-bezier(.32,.72,0,1);background:transparent!important;border:none!important;outline:none!important;border-radius:0!important;padding-block:12px;padding-inline:18px 14px;box-shadow:none!important}.hsk-cb-tools-toggle{display:none}@media(max-width:640px){.hsk-cb-tools-toggle{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:12px;border:none;background:var(--hsk-surface-1, rgba(0,0,0,.06));color:var(--hsk-chat-muted, #5f6368);cursor:pointer;flex-shrink:0;transition:background .16s,color .16s,transform .22s cubic-bezier(.34,1.56,.64,1)}.hsk-cb-tools-toggle:active{transform:scale(.91)}.hsk-cb-tools-toggle--open{background:color-mix(in srgb,var(--hsk-primary, #ff6a33) 14%,transparent);color:var(--hsk-primary, #ff6a33);transform:rotate(45deg)}[data-hsk-theme] .hsk-cb-tools-toggle{background:var(--hsk-surface-1)!important;color:var(--hsk-chat-muted)!important}[data-hsk-theme] .hsk-cb-tools-toggle--open{background:color-mix(in srgb,var(--hsk-primary) 14%,transparent)!important;color:var(--hsk-primary)!important}.hsk-cb-input-box{grid-template-columns:auto 1fr auto}.hsk-cb-input-box>.hsk-cb-tools-toggle{grid-column:1;grid-row:1;display:inline-flex}.hsk-cb-input-box>.hsk-cb-field{grid-column:2;grid-row:1}.hsk-cb-input-box>.hsk-cb-send,.hsk-cb-input-box>.hsk-chat-send{grid-column:3;grid-row:1}.hsk-cb-input-box>.hsk-cb-attach-btn,.hsk-cb-input-box>.hsk-cb-voice-mode-btn{display:none!important}.hsk-cb-input-box[data-expanded=true]>.hsk-cb-field{grid-column:1 / -1;grid-row:1}.hsk-cb-input-box[data-expanded=true]>.hsk-cb-tools-toggle,.hsk-cb-input-box[data-expanded=true]>.hsk-cb-send,.hsk-cb-input-box[data-expanded=true]>.hsk-chat-send{grid-row:2}}.hsk-cb-toolsheet-wrap{position:absolute;bottom:calc(100% - 6px);inset-inline-start:var(--hsk-composer-pad-x, 14px);inset-inline-end:auto;z-index:1000;transform-origin:bottom left;animation:hsk-toolsheet-in .22s cubic-bezier(.16,1,.3,1) both;pointer-events:auto}[dir=rtl] .hsk-cb-toolsheet-wrap,.hsk-cb-panel[dir=rtl] .hsk-cb-toolsheet-wrap{transform-origin:bottom right}.hsk-cb-toolsheet{position:relative;z-index:1;min-width:200px;padding:6px;border-radius:16px;background:var(--hsk-chat-source-bg, rgba(255, 255, 255, .08));border:none!important;box-shadow:none!important}@keyframes hsk-toolsheet-in{0%{opacity:0;transform:translateY(8px) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}.hsk-cb-toolsheet-scrim{position:fixed;inset:0;z-index:999;background:color-mix(in srgb,var(--hsk-chat-bg, #fff) 30%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);mask-image:linear-gradient(to top,#000 30vh,rgba(0,0,0,.84) 38vh,rgba(0,0,0,.4) 48vh,rgba(0,0,0,.1) 56vh,transparent 62vh);-webkit-mask-image:linear-gradient(to top,#000 30vh,rgba(0,0,0,.84) 38vh,rgba(0,0,0,.4) 48vh,rgba(0,0,0,.1) 56vh,transparent 62vh);animation:hsk-scrim-in .25s cubic-bezier(.16,1,.3,1) both;cursor:default}.hsk-cb-input-wrap[data-tools-open=true] .hsk-cb-tools-toggle{position:relative;z-index:1002}.hsk-cb-toolsheet-pub-text{display:flex;flex-direction:column;min-width:0;gap:2px}.hsk-cb-toolsheet-pub-text code{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:var(--hsk-chat-muted, #6b7280)}.hsk-cb-toolsheet-item{display:flex;align-items:center;gap:11px;width:100%;padding:10px 12px;border:none;border-radius:11px;background:transparent;color:var(--hsk-chat-text, #111827);font-family:var(--hsk-font);font-size:15px;text-align:start;cursor:pointer;transition:background-color .15s ease}.hsk-cb-toolsheet-item:hover:not(:disabled){background:var(--hsk-chat-subtle, rgba(0,0,0,.05))}.hsk-cb-toolsheet-item:disabled{opacity:.45;cursor:default}.hsk-cb-toolsheet-item>svg{flex-shrink:0;color:var(--hsk-chat-muted, #6b7280)}[data-hsk-theme] .hsk-cb-toolsheet{background:var(--hsk-sheet-bg, var(--hsk-chat-input-bg, #f3f4f6))!important;border:none!important}[data-hsk-theme] .hsk-cb-toolsheet-item{color:var(--hsk-chat-text, #111827)!important}[data-hsk-theme] .hsk-cb-toolsheet-item:hover:not(:disabled){background:var(--hsk-sheet-hover, var(--hsk-surface-2, rgba(0, 0, 0, .05)))!important}[data-hsk-theme] .hsk-cb-toolsheet-item>svg{color:var(--hsk-chat-muted, #6b7280)!important}@media(prefers-reduced-motion:reduce){.hsk-cb-toolsheet-wrap,.hsk-cb-toolsheet-stem{animation:none}}.hsk-cb-input-box>.hsk-cb-attach-btn{grid-column:1;grid-row:1}.hsk-cb-input-box>.hsk-cb-field{grid-column:2;grid-row:1}.hsk-cb-input-box>.hsk-cb-voice-mode-btn{grid-column:3;grid-row:1}.hsk-cb-input-box>.hsk-cb-send,.hsk-cb-input-box>.hsk-chat-send{grid-column:4;grid-row:1}.hsk-cb-input-box[data-expanded=true]{grid-template-rows:auto 36px;row-gap:6px}.hsk-cb-input-box[data-expanded=true]>.hsk-cb-field{grid-column:1 / -1;grid-row:1}.hsk-cb-input-box[data-expanded=true]>.hsk-cb-attach-btn,.hsk-cb-input-box[data-expanded=true]>.hsk-cb-voice-mode-btn,.hsk-cb-input-box[data-expanded=true]>.hsk-cb-send,.hsk-cb-input-box[data-expanded=true]>.hsk-chat-send{grid-row:2}.hsk-cb-textarea{width:100%;background:transparent;border:none;outline:none;resize:none;font-size:var(--hsk-input-font-size, 16px);font-family:var(--hsk-font);color:var(--hsk-chat-text, #111);min-height:28px;max-height:140px;field-sizing:content;line-height:var(--hsk-input-line-height, 1.55);word-break:break-word;overflow-wrap:break-word;padding:0;transition:height .18s cubic-bezier(.32,.72,0,1),color .42s cubic-bezier(.16,1,.3,1);scrollbar-width:none}.hsk-cb-textarea::-webkit-scrollbar{width:0;height:0}.hsk-cb-textarea::placeholder{color:var(--hsk-chat-muted, #9ca3af);font-family:var(--hsk-font);font-size:var(--hsk-ph-font-size, var(--hsk-input-font-size, 16px))}.hsk-cb-attach-btn,.hsk-cb-send,.hsk-chat-send{width:36px;height:36px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;border:none;cursor:pointer;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s cubic-bezier(.34,1.56,.64,1),background-color .42s cubic-bezier(.16,1,.3,1),opacity .2s ease;font-family:inherit;margin:0;padding:0}.hsk-cb-send,.hsk-chat-send{background:linear-gradient(135deg,#007aff,#0056b3);color:#fff;border-radius:12px!important;box-shadow:0 4px 14px #007aff61,inset 0 1px color-mix(in srgb,var(--hsk-chat-bg, #fff) 35%,transparent);position:relative;overflow:hidden}.hsk-cb-send .hsk-telegram-icon,.hsk-chat-send .hsk-telegram-icon{transition:transform .25s cubic-bezier(.34,1.56,.64,1)}.hsk-cb-send:hover:not(:disabled),.hsk-chat-send:hover:not(:disabled){opacity:1;transform:translateY(-1px) scale(1.05);box-shadow:0 6px 18px #007aff7a,inset 0 1px color-mix(in srgb,var(--hsk-chat-bg, #fff) 45%,transparent)}.hsk-cb-send:hover:not(:disabled) .hsk-telegram-icon,.hsk-chat-send:hover:not(:disabled) .hsk-telegram-icon{transform:translate(2px,-2px) rotate(-10deg) scale(1.1)}.hsk-cb-send:active:not(:disabled),.hsk-chat-send:active:not(:disabled){transform:translateY(0) scale(.94);box-shadow:0 1px 4px #007aff4d}.hsk-cb-send:disabled,.hsk-chat-send:disabled{opacity:.4;cursor:not-allowed;background:var(--hsk-chat-muted, #ccc);box-shadow:none}.hsk-cb-send--stop{background:#e5342a!important}.hsk-cb-send--stop:hover{background:#c92a21!important;opacity:1}.hsk-cb-field{position:relative;grid-area:field;display:flex;align-items:center;width:100%;min-width:0;--hsk-input-font-size: 16px;--hsk-input-line-height: 1.55;--hsk-input-control: 36px;--hsk-input-line-box: calc(var(--hsk-input-font-size) * var(--hsk-input-line-height))}.hsk-cb-listening{position:absolute;inset:0;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.hsk-cb-listening span{width:2px;height:2px;border-radius:999px;background:var(--hsk-primary, #ff6a33);opacity:.3;transform-origin:center;will-change:transform,opacity;transition:transform 90ms linear,opacity 90ms linear}.hsk-animated-placeholder{position:absolute;inset:0;display:flex;flex-wrap:wrap;align-items:center;align-content:center;row-gap:1px;height:100%;pointer-events:none;overflow:hidden;user-select:none;padding:0;z-index:1}.hsk-cb-input-box>*{--hsk-cascade-ease: cubic-bezier(.45, 0, .55, 1);--hsk-cascade-dur: .44s;--hsk-cascade-step: 55ms}.hsk-cb-input-box[data-cascade]>*:not([type=file]):not(.hsk-cb-field){animation-duration:var(--hsk-cascade-dur);animation-timing-function:var(--hsk-cascade-ease);animation-fill-mode:none}.hsk-cb-input-box[data-cascade=a]>*:not([type=file]):not(.hsk-cb-field){animation-name:hsk-leaf-settle-a}.hsk-cb-input-box[data-cascade=b]>*:not([type=file]):not(.hsk-cb-field){animation-name:hsk-leaf-settle-b}.hsk-cb-input-box[data-cascade]>*:not([type=file]):not(.hsk-cb-field),.hsk-animated-placeholder__char{will-change:transform}.hsk-cb-input-box:hover>*,.hsk-cb-input-box:focus-within>*{will-change:auto}.hsk-cb-input-box>*{--hsk-cascade-field: .11s}.hsk-cb-input-box[data-cascade]>.hsk-cb-attach-btn{animation-delay:0ms}.hsk-cb-input-box[data-cascade]>.hsk-cb-voice-mode-btn{animation-delay:calc(var(--hsk-cascade-field) + var(--hsk-text-sweep, 0ms))}.hsk-cb-input-box[data-cascade]>.hsk-cb-send,.hsk-cb-input-box[data-cascade]>.hsk-chat-send{animation-delay:calc(var(--hsk-cascade-field) + var(--hsk-text-sweep, 0ms) + var(--hsk-cascade-step))}@keyframes hsk-leaf-settle-a{0%{transform:translateY(0) scale(1)}42%{transform:translateY(-3px) scale(1.05)}to{transform:translateY(0) scale(1)}}@keyframes hsk-leaf-settle-b{0%{transform:translateY(0) scale(1)}42%{transform:translateY(-3px) scale(1.05)}to{transform:translateY(0) scale(1)}}.hsk-cb-input-box>.hsk-cb-field .hsk-animated-placeholder__char{animation-name:hsk-placeholder-animate-up}@media(prefers-reduced-motion:reduce){.hsk-cb-input-box[data-cascade=a]>*,.hsk-cb-input-box[data-cascade=b]>*{animation:none;transform:none;opacity:1}.hsk-cb-textarea,.hsk-cb-input-card{transition-property:background-color,box-shadow}}.hsk-animated-placeholder[data-fit="2"]{--hsk-ph-font-size: 15px}.hsk-animated-placeholder[data-fit="3"]{--hsk-ph-font-size: 14px}.hsk-cb-field{transition:min-block-size .26s cubic-bezier(.16,1,.3,1)}.hsk-cb-field[data-ph-lines="2"]{min-block-size:48px}.hsk-animated-placeholder__char{display:inline-block;font-size:var(--hsk-ph-font-size, var(--hsk-input-font-size, 16px));line-height:var(--hsk-input-line-height, 1.55);color:var(--hsk-chat-muted, #9ca3af);font-family:var(--hsk-font);white-space:pre;animation:hsk-placeholder-animate-up .46s cubic-bezier(.16,1,.3,1) both}@keyframes hsk-placeholder-animate-up{0%{opacity:0;transform:translateY(9px);color:hsl(var(--hsk-ph-hue, 0) var(--hsk-ph-sat, 68%) var(--hsk-ph-light, 55%))}55%{opacity:1;color:hsl(var(--hsk-ph-hue, 0) var(--hsk-ph-sat, 68%) var(--hsk-ph-light, 55%))}to{opacity:1;transform:translateY(0);color:var(--hsk-chat-muted, #9ca3af)}}@media(prefers-reduced-motion:reduce){.hsk-animated-placeholder__char{animation:none;transform:none;opacity:1;color:var(--hsk-chat-muted, #9ca3af);animation-delay:0ms!important}}.hsk-cb-voice-error{display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;line-height:1.45;width:fit-content;max-width:min(92%,520px);margin-inline:auto;margin:8px auto 0;text-align:center;text-wrap:balance;color:#ff6b6b;padding:3px 8px;border-radius:0;background:transparent;border:none;border-bottom:1px solid rgba(229,72,77,.35);cursor:pointer;animation:hsk-msg-in .2s ease-out both}.hsk-cb-voice-error span{text-align:center}.hsk-cb-voice-error-dismiss{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;border:none;background:#ffffff1f;color:inherit;font-size:14px;line-height:1;cursor:pointer;padding:0;flex-shrink:0;transition:background .15s ease,transform .15s ease}.hsk-cb-voice-error-dismiss:hover{background:#ffffff40;transform:scale(1.1)}.hsk-cb-img-strip{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 18px 2px;background:transparent;border:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;animation:hsk-msg-in .2s ease-out both}.hsk-cb-img-thumb-wrap{position:relative;width:60px;height:60px;flex-shrink:0;border-radius:12px;box-shadow:0 2px 8px #00000014,0 0 0 1px color-mix(in srgb,var(--hsk-chat-bg, #fff) 12%,transparent);transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s cubic-bezier(.16,1,.3,1);overflow:visible}.hsk-cb-img-thumb-wrap:hover{transform:translateY(-2px);box-shadow:0 6px 14px #0000001f,0 0 0 1px color-mix(in srgb,var(--hsk-chat-bg, #fff) 20%,transparent)}.hsk-cb-img-thumb{width:100%;height:100%;object-fit:cover;border-radius:12px;border:none;display:block}.hsk-cb-img-thumb-remove{position:absolute;top:-5px;inset-inline-end:-5px;width:18px;height:18px;border-radius:50%;background:#141418bf;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#fff;border:1px solid rgba(255,255,255,.25);box-shadow:0 2px 6px #00000040;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:transform .15s cubic-bezier(.16,1,.3,1),background-color .15s ease;z-index:2}.hsk-cb-img-thumb-remove:hover{background:#ef4444eb;border-color:#fff6;transform:scale(1.15)}.hsk-cb-attach-btn,.hsk-cb-voice-mode-btn{position:relative;width:36px;height:36px;border-radius:12px;border:none!important;outline:none!important;background:transparent;color:var(--hsk-chat-muted, #71717a);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:none!important;opacity:.75;transition:transform .35s cubic-bezier(.34,1.8,.64,1),background-color .2s ease,color .2s ease,opacity .2s ease;font-family:inherit;overflow:visible}.hsk-cb-attach-btn:hover:not(:disabled),.hsk-cb-voice-mode-btn:hover:not(:disabled){opacity:1;color:var(--hsk-chat-text, #1f1f1f);background:transparent;transform:translateY(-1px)}.hsk-cb-attach-btn:active:not(:disabled),.hsk-cb-voice-mode-btn:active:not(:disabled){transform:translateY(0) scale(.94);transition-duration:.1s}.hsk-cb-attach-btn svg,.hsk-cb-voice-mode-btn svg{overflow:visible}.hsk-cb-attach-btn svg{transition:transform .34s cubic-bezier(.22,1,.36,1)}.hsk-cb-attach-btn:hover:not(:disabled) svg{transform:rotate(-14deg) translateY(-1px)}.hsk-mic-cap{transform-box:fill-box;transform-origin:center;transition:transform .32s cubic-bezier(.34,1.56,.64,1)}.hsk-wave-bar{transform-box:fill-box;transform-origin:center;transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.hsk-cb-voice-mode-btn:hover:not(:disabled) .hsk-wave-bar{animation:hsk-wave-wake .52s cubic-bezier(.34,1.8,.64,1) both,hsk-wave-live var(--hsk-period, 1.1s) ease-in-out .52s infinite;animation-delay:calc(var(--hsk-bar, 0) * 55ms),calc(.52s + var(--hsk-bar, 0) * 55ms)}.hsk-cb-voice-mode-btn:hover:not(:disabled) .hsk-wave-bar--tip{animation-name:hsk-wave-wake-tip,hsk-wave-live-tip}@keyframes hsk-wave-wake{0%{transform:scaleY(.12)}55%{transform:scaleY(calc(var(--hsk-amp, 1.6) * 1.12))}to{transform:scaleY(1)}}@keyframes hsk-wave-live{0%,to{transform:scaleY(1)}30%{transform:scaleY(var(--hsk-amp, 1.6))}55%{transform:scaleY(calc(1 + (var(--hsk-amp, 1.6) - 1) * .22))}78%{transform:scaleY(calc(1 + (var(--hsk-amp, 1.6) - 1) * .62))}}@keyframes hsk-wave-wake-tip{0%{transform:scaleX(.2);opacity:.4}55%{transform:scaleX(calc(var(--hsk-amp, 1.9) * 1.1));opacity:1}to{transform:scaleX(1);opacity:.8}}@keyframes hsk-wave-live-tip{0%,to{transform:scaleX(1);opacity:.7}30%{transform:scaleX(var(--hsk-amp, 1.9));opacity:1}70%{transform:scaleX(1.15);opacity:.8}}.hsk-copy-sheet,.hsk-copy-back{transform-box:fill-box;transform-origin:center;transition:transform .3s cubic-bezier(.22,1,.36,1)}.hsk-cb-kiku-id-pill:hover .hsk-copy-sheet,.hsk-cb-toolsheet-pub:is(:hover,:active) .hsk-copy-sheet,.hsk-cb-secret-key:is(:hover,:active) .hsk-copy-sheet{transform:translate(.9px,.9px)}.hsk-cb-kiku-id-pill:hover .hsk-copy-back,.hsk-cb-toolsheet-pub:is(:hover,:active) .hsk-copy-back,.hsk-cb-secret-key:is(:hover,:active) .hsk-copy-back{transform:translate(-.9px,-.9px)}@media(prefers-reduced-motion:reduce){.hsk-cb-attach-btn:hover:not(:disabled) svg,.hsk-cb-kiku-id-pill:hover .hsk-copy-sheet,.hsk-cb-kiku-id-pill:hover .hsk-copy-back,.hsk-cb-toolsheet-pub:is(:hover,:active) :is(.hsk-copy-sheet,.hsk-copy-back),.hsk-cb-secret-key:is(:hover,:active) :is(.hsk-copy-sheet,.hsk-copy-back){transform:none}.hsk-cb-voice-mode-btn:hover:not(:disabled) .hsk-wave-bar{animation:none}}.hsk-cb-attach-btn:disabled,.hsk-cb-voice-mode-btn:disabled{opacity:.3;cursor:not-allowed;transform:none}.hsk-cb-user-imgs{display:grid;gap:2px;width:fit-content;max-width:min(78%,320px);margin-bottom:4px;margin-left:auto;border-radius:18px 18px 4px;overflow:hidden;box-shadow:0 4px 16px #00000029}.hsk-cb-user-imgs[data-count="1"]{grid-template-columns:1fr}.hsk-cb-user-imgs[data-count="2"]{grid-template-columns:1fr 1fr}.hsk-cb-user-imgs[data-count="3"]{grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr}.hsk-cb-user-imgs[data-count="3"]>:first-child{grid-row:span 2}.hsk-cb-user-imgs[data-count="4"]{grid-template-columns:1fr 1fr}.hsk-cb-user-img-cell{position:relative;display:block;padding:0;border:none;background:none;cursor:pointer;overflow:hidden;min-width:0;line-height:0}.hsk-cb-user-imgs[data-count="1"] .hsk-cb-user-img-cell{aspect-ratio:auto}.hsk-cb-user-imgs:not([data-count="1"]) .hsk-cb-user-img-cell{aspect-ratio:1}.hsk-cb-user-img-more{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#00000073;color:#fff;font-size:20px;font-weight:600;line-height:1}.hsk-cb-user-img-thumb{width:100%;height:100%;object-fit:cover;display:block;cursor:pointer}.hsk-cb-user-imgs[data-count="1"] .hsk-cb-user-img-thumb{height:auto;max-height:300px;object-fit:contain}.hsk-cb-user-img-cell:hover .hsk-cb-user-img-thumb{filter:brightness(.93)}.hsk-cb-leave{position:relative;z-index:1002;display:inline-flex;flex-wrap:nowrap;white-space:nowrap;align-items:center;gap:8px;width:fit-content;max-width:calc(100% - 24px);margin-bottom:-11px;margin-inline-start:14px;padding:3px 4px 3px 12px;border-radius:999px;background:var(--hsk-chat-ai-bg, #eeeef0);color:var(--hsk-chat-text, #111827);box-shadow:0 0 0 3px var(--hsk-chat-bg, #ffffff);font:600 12px/24px var(--hsk-font);animation:hsk-leave-in .18s cubic-bezier(.16,1,.3,1) both}@keyframes hsk-leave-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.hsk-cb-leave+.hsk-cb-input-card>*{opacity:.45;transition:opacity .15s}.hsk-cb-leave-btn{height:24px;padding:0 11px;border:none;border-radius:999px;background:#80808029;color:inherit;font:600 12px var(--hsk-font);cursor:pointer;transition:opacity .15s}.hsk-cb-leave-btn:hover{opacity:.88}.hsk-cb-leave-btn--end{background:var(--hsk-primary, #ff6a33);color:#fff}.hsk-cb-error{display:block;width:fit-content;max-width:min(560px,100%);margin:10px auto 8px;padding:10px 14px;border-radius:10px;background:#ef444414;border:1px solid rgba(239,68,68,.2);color:#ef4444;font-size:13px;line-height:1.5;font-family:var(--hsk-font);text-align:center}.hsk-kiku-badge{display:inline-block;font-size:var(--hsk-font-size, 16px);font-family:var(--hsk-font);font-weight:600;background:#ffffff38;border:1px solid rgba(255,255,255,.35);color:#fff;padding:1px 7px;border-radius:6px;margin-inline-end:6px}.hsk-cb-memory-pill{display:inline-flex;align-items:center;gap:10px;align-self:flex-start;margin:12px 0 6px;padding:12px 22px;font-size:15px;font-weight:600;text-decoration:none;color:#fff;background:linear-gradient(135deg,#007aff,#0056b3);border:none;border-radius:18px 18px 18px 4px!important;box-shadow:0 4px 16px -2px #007aff61,inset 0 1px color-mix(in srgb,var(--hsk-chat-bg, #fff) 28%,transparent);transition:transform .18s cubic-bezier(.34,1.56,.64,1),opacity .15s,box-shadow .18s ease;cursor:pointer}.hsk-cb-memory-pill:hover{opacity:.96;transform:translateY(-1px) scale(1.02);box-shadow:0 6px 20px #007aff7a}.hsk-cb-think{position:relative;z-index:2;margin-bottom:-11px;margin-inline-start:0;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-cb-msg-group[data-hsk-tapback-focus]{position:relative;z-index:2;pointer-events:none}.hsk-tapback-frost{z-index:1;position:absolute;left:0;right:0;pointer-events:none;background:color-mix(in srgb,var(--hsk-chat-bg, #fff) 24%,transparent);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);-webkit-mask-image:var(--hsk-tapback-feather);mask-image:var(--hsk-tapback-feather);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;animation:hsk-scrim-in .2s cubic-bezier(.16,1,.3,1) both}.hsk-tapback-frost.is-upper{--hsk-tapback-feather: linear-gradient(to bottom, transparent, rgba(0, 0, 0, .03) 6px, rgba(0, 0, 0, .16) 16px, rgba(0, 0, 0, .5) 32px, rgba(0, 0, 0, .84) 48px, rgba(0, 0, 0, .97) 58px, #000 64px)}.hsk-tapback-frost.is-lower{--hsk-tapback-feather: linear-gradient(to top, transparent, rgba(0, 0, 0, .03) 6px, rgba(0, 0, 0, .16) 16px, rgba(0, 0, 0, .5) 32px, rgba(0, 0, 0, .84) 48px, rgba(0, 0, 0, .97) 58px, #000 64px)}.hsk-tapback-frost.is-closing{animation:hsk-scrim-out .19s cubic-bezier(.4,0,1,1) both}@media(prefers-reduced-motion:reduce){.hsk-tapback-overlay *,.hsk-tapback-overlay.is-closing *,.hsk-tapback-frost,.hsk-tapback-frost.is-closing{animation:none!important;transition:none!important}}.hsk-tapback-group{position:absolute;z-index:1002;outline:none;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:100%;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{min-width:0;flex:1 1 auto;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 span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hsk-tapback-tool-btn svg{flex-shrink:0}.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}.hsk-tapback-group.is-docked .hsk-tapback-tail{display:none}@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-text, #111) 12%,transparent);cursor:pointer;transition:color .2s ease,background-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}@media(hover:hover){.hsk-cb-sound-pill:hover{background:color-mix(in srgb,var(--hsk-chat-text, #111) 7%,transparent);color:var(--hsk-primary, #ff6a33)}}.hsk-cb-topbar-ooze-menu .hsk-cb-tray-aside{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}.hsk-cb-topbar-ooze-menu .hsk-cb-tray-rule{width:13px;height:1px;background:var(--hsk-chat-muted, #71717a);opacity:.25}.hsk-cb-sound-pill.is-compact{width:26px;height:26px;padding:0;gap:0;justify-content:center;border-radius:9px}.hsk-cb-topbar-ooze-menu .hsk-cb-tray-aside{width:14px;flex:0 0 14px}.hsk-cb-topbar-ooze-menu .hsk-cb-tray-aside .hsk-cb-sound-pill{width:14px;height:14px;border:none;background:none;backdrop-filter:none;-webkit-backdrop-filter:none;border-radius:0;opacity:.45}.hsk-cb-topbar-ooze-menu .hsk-cb-tray-aside .hsk-cb-sound-pill.is-on{opacity:.75}.hsk-cb-topbar-ooze-menu .hsk-cb-tray-aside .hsk-cb-sound-pill:hover{transform:none}.hsk-cb-topbar-ooze-menu .hsk-cb-tray-aside .hsk-cb-sound-pill svg{width:12px;height:12px}.hsk-cb-topbar-ooze-menu .hsk-cb-theme-2x2-grid{flex:1 1 auto!important}.hsk-cb-sound-pill.is-blocked{color:#ef4444!important;opacity:1!important}.hsk-cb-panel[dir=rtl] .hsk-cb-topbar-ooze-menu .hsk-cb-theme-vlabel{transform:none}.hsk-markdown-table td.hsk-md-ok,[data-hsk-theme] .hsk-markdown-table td.hsk-md-ok{color:color-mix(in srgb,#10b981 72%,var(--hsk-chat-text, #111))!important;font-weight:600}.hsk-markdown-table td.hsk-md-bad,[data-hsk-theme] .hsk-markdown-table td.hsk-md-bad{color:color-mix(in srgb,#ef4444 72%,var(--hsk-chat-text, #111))!important;font-weight:600}@media(max-width:1199px){.hsk-cb-topbar-ooze-menu.is-island,.hsk-cb-topbar-ooze-menu.is-island.is-closing{animation:none;will-change:clip-path}.hsk-cb-topbar-ooze-menu.is-island>*{opacity:var(--hsk-island-content, 1)}}.hsk-cb-topbar-ooze-menu.is-parked,.hsk-cb-tray-shadow.is-parked{visibility:hidden;pointer-events:none;opacity:0!important}[data-hsk-theme] .hsk-cb-topbar-ooze-menu.is-parked,.hsk-cb-topbar-ooze-menu.is-parked{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:none!important}.hsk-cb-tray-shadow.is-parked>div{box-shadow:none!important}.hsk-cb-tray-shadow{position:absolute;top:var(--hsk-tray-top, 0px);left:50%;transform:translate(-50%);width:var(--hsk-tray-w, 0px);height:var(--hsk-tray-h, 0px);z-index:1000;pointer-events:none}.hsk-cb-tray-shadow>div{position:absolute;left:0;top:0;width:100%;height:100%;border-radius:18px;box-shadow:0 16px 38px -6px color-mix(in srgb,#000 16%,transparent)}.hsk-cb-allowance{display:flex;flex-wrap:wrap;gap:6px;margin-block-start:8px;pointer-events:none}@media(min-width:1200px){.hsk-cb-allowance{flex-direction:column;flex-wrap:nowrap;align-items:flex-start;gap:12px;position:absolute;bottom:48px;width:auto;max-width:200px;margin-block-start:0;z-index:10;direction:ltr}.hsk-cb-allowance--right{left:100%!important;right:auto!important;margin-left:28px!important;margin-right:0!important;align-items:flex-start}.hsk-cb-allowance--left{left:auto!important;right:100%!important;margin-right:28px!important;margin-left:0!important;align-items:flex-end}}.hsk-cb-allowance-pill{display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 13px;border-radius:999px;font-family:inherit;font-size:11.5px;font-weight:550;letter-spacing:-.01em;line-height:1;white-space:nowrap;color:var(--hsk-chat-text)!important;background:color-mix(in srgb,var(--hsk-chat-bg, #ffffff) 68%,transparent)!important;backdrop-filter:blur(28px) saturate(var(--hsk-glass-saturate, 180%));-webkit-backdrop-filter:blur(28px) saturate(var(--hsk-glass-saturate, 180%));border:1px solid color-mix(in srgb,var(--hsk-chat-border, rgba(255, 255, 255, .35)) 35%,transparent)!important;border-top:1px solid color-mix(in srgb,var(--hsk-chat-bg, #fff) 70%,transparent)!important;border-bottom:1px solid color-mix(in srgb,#000 8%,transparent)!important;box-shadow:0 4px 18px -2px color-mix(in srgb,#000 14%,transparent),0 1px color-mix(in srgb,var(--hsk-chat-bg, #fff) 45%,transparent) inset!important;animation:hsk-allowance-in .34s cubic-bezier(.22,1,.36,1) both;transition:all .2s cubic-bezier(.16,1,.3,1);cursor:default}.hsk-cb-allowance-pill:hover{background:color-mix(in srgb,var(--hsk-chat-bg, #ffffff) 82%,transparent)!important;border-top-color:color-mix(in srgb,var(--hsk-chat-bg, #fff) 85%,transparent)!important;transform:translateY(-1px);box-shadow:0 6px 20px -2px color-mix(in srgb,#000 18%,transparent),0 1px color-mix(in srgb,var(--hsk-chat-bg, #fff) 60%,transparent) inset!important}.hsk-cb-allowance-pill-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--hsk-primary, #6366f1);opacity:.95}.hsk-cb-allowance-pill-icon svg{width:12.5px;height:12.5px}.hsk-cb-allowance-pill-label{font-family:inherit;letter-spacing:-.01em}.hsk-cb-allowance-pill.is-spent{opacity:.5;filter:grayscale(.6)}@keyframes hsk-allowance-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.hsk-cb-allowance-pill{animation:none}}.hsk-cb-onboarding-card .hsk-cb-entlang-opt{padding-inline:2px 0}.hsk-cb-secret-card{display:flex;flex-direction:column;gap:8px;max-width:340px}.hsk-cb-secret-head{display:flex;align-items:center;gap:8px}.hsk-cb-secret-title{flex:1;font-size:13px;font-weight:600;color:var(--hsk-chat-text, #111)}.hsk-cb-secret-timer{font-size:11px;font-variant-numeric:tabular-nums;color:var(--hsk-chat-muted, #6b7280)}.hsk-cb-secret-dismiss{display:grid;place-items:center;width:24px;height:24px;padding:0;font-size:15px;line-height:1;color:var(--hsk-chat-text, #111);background:color-mix(in srgb,var(--hsk-chat-text, #111) 8%,transparent);border:0;border-radius:50%;cursor:pointer}.hsk-cb-secret-key{display:flex;align-items:center;gap:10px;width:100%;padding:8px 8px 8px 14px;border:1px solid color-mix(in srgb,var(--hsk-chat-text, #111) 10%,transparent);border-radius:999px;background:color-mix(in srgb,var(--hsk-chat-bg, #fff) 70%,transparent);cursor:pointer}.hsk-cb-secret-key code{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;text-align:start;color:var(--hsk-chat-text, #111)}.hsk-cb-secret-copy{display:inline-flex;align-items:center;gap:5px;flex-shrink:0;padding:5px 12px;font-size:12px;font-weight:600;color:#fff;background:var(--hsk-primary, #ff6a33);border-radius:999px}.hsk-cb-secret-hint{font-size:11px;color:var(--hsk-chat-muted, #6b7280)}.hsk-cb-swatch-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:10px;max-width:460px;margin-top:10px}.hsk-cb-swatch{display:flex;flex-direction:column;gap:2px;padding:0 0 8px;text-align:start;background:var(--hsk-chat-source-bg, rgba(0, 0, 0, .03));border:1px solid color-mix(in srgb,var(--hsk-chat-text, #111) 8%,transparent);border-radius:14px;overflow:hidden;cursor:pointer;animation:hsk-msg-in .25s ease-out both;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s ease}.hsk-cb-swatch--target{cursor:default;background:transparent;border-style:dashed;border-color:color-mix(in srgb,var(--hsk-chat-text, #111) 28%,transparent)}.hsk-cb-swatch--target .hsk-cb-swatch-name{color:var(--hsk-chat-muted, #6b7280)}.hsk-cb-swatch:not(.hsk-cb-swatch--target):hover{transform:translateY(-2px);box-shadow:0 10px 24px -12px color-mix(in srgb,#000 35%,transparent)}.hsk-cb-swatch-chip{display:block;aspect-ratio:1 / .8;margin-bottom:6px;box-shadow:inset 0 -1px color-mix(in srgb,#000 8%,transparent)}.hsk-cb-swatch-name{padding:0 10px;font-size:12px;font-weight:600;line-height:1.3;color:var(--hsk-chat-text, #111);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hsk-cb-swatch-code{padding:0 10px;font-size:11px;font-variant-numeric:tabular-nums;letter-spacing:.02em;color:var(--hsk-chat-muted, #6b7280)}@media(prefers-reduced-motion:reduce){.hsk-cb-swatch,.hsk-cb-swatch:hover{animation:none;transform:none}}.hsk-gallery-cover{position:relative;display:block;width:100%;border:0;padding:0;cursor:pointer;background:transparent}.hsk-gallery-cover img{width:100%;height:100%;object-fit:cover}.hsk-gallery-count{position:absolute;bottom:6px;right:6px;padding:3px 7px;border-radius:10px;background:#000000b8;color:#fff;font-size:11px}.hsk-gallery-cover:focus-visible{outline:2px solid var(--hsk-primary,#ff6a33);outline-offset:3px}.hsk-cb-layout-toggle{gap:7px;height:32px;min-height:32px;padding:0 10px 0 5px;box-sizing:border-box}.hsk-cb-layout-toggle:focus-visible{outline:2px solid var(--hsk-primary, #007aff);outline-offset:3px}.hsk-cb-layout-track{display:block;position:relative;width:32px;height:20px;border-radius:20px;background:var(--hsk-chat-ai-bg, #ddd);transition:background-color .32s ease}.hsk-cb-layout-thumb{position:absolute;inset-block-start:3px;inset-inline-start:3px;display:grid;place-items:center;width:14px;height:14px;border-radius:50%;background:#fff;color:#454545;box-shadow:0 1px 4px #0003;transition:inset-inline-start .38s cubic-bezier(.22,1,.36,1),scale .18s ease}.hsk-cb-layout-toggle[aria-checked=true] .hsk-cb-layout-track{background:var(--hsk-primary, #007aff)}.hsk-cb-layout-toggle[aria-checked=true] .hsk-cb-layout-thumb{inset-inline-start:15px}.hsk-cb-layout-toggle:active .hsk-cb-layout-thumb{scale:1.12 .92}.hsk-cb-speaker-label{display:none}[data-hsk-layout=wide] .hsk-cb-speaker-label{display:block;margin-block:12px 6px;font-size:11px;font-weight:650;color:var(--hsk-chat-muted, #71717a)}[data-hsk-layout=wide] .hsk-cb-ai-text{width:100%!important;max-width:100%;box-sizing:border-box;padding:0;border-radius:0;background:transparent;box-shadow:none;border:0;color:var(--hsk-chat-text, #111827);line-height:1.65}[data-hsk-layout=wide] .hsk-cb-ai-text:before,[data-hsk-layout=wide] .hsk-cb-ai-text:after{display:none}[data-hsk-layout=wide] .hsk-cb-ai-content{gap:12px}@media(prefers-reduced-motion:reduce){.hsk-cb-layout-track,.hsk-cb-layout-thumb{transition:none}}.hsk-cb-dock-layout{display:flex;justify-content:flex-end;padding:10px 0 2px}.hsk-cb-dock-layout .hsk-cb-layout-toggle{min-height:40px}[data-hsk-theme][data-hsk-layout=wide] .hsk-cb-ai-text{background:transparent!important;color:var(--hsk-chat-text, #111827)!important}.hsk-cb-rail-pair{display:flex;align-items:center;gap:8px}[data-hsk-layout=wide] .hsk-cb-think{margin-bottom:6px}[data-hsk-theme] .hsk-cb-dock-layout .hsk-cb-layout-toggle{background:var(--hsk-grid-bg)!important;color:var(--hsk-chat-muted)!important;border:none!important;box-shadow:none!important}[data-hsk-layout=wide] .hsk-cb-think+.hsk-cb-ai-content>.hsk-cb-ai-text:first-child{padding-top:0;margin-top:0}[data-hsk-layout=wide] .hsk-cb-think{margin-bottom:4px}.hsk-tapback-group.is-wide .hsk-tapback-tail{display:none}[data-hsk-theme] .hsk-cb-layout-toggle,[data-hsk-theme] .hsk-cb-dock-layout .hsk-cb-layout-toggle{background:transparent!important;border:none!important;box-shadow:none!important;color:var(--hsk-chat-text)!important}.hsk-cb-layout-track{background:color-mix(in srgb,currentColor 12%,transparent)}.hsk-cb-dock-layout{padding-top:4px}.hsk-cb-dock-layout .hsk-cb-layout-toggle{min-height:32px}.hsk-cb-dock-layout{align-items:center;justify-content:space-between;gap:12px}.hsk-cb-layout-label{padding-inline-start:12px;font-size:11px;font-weight:500;color:var(--hsk-chat-muted);opacity:.75}.hsk-cb-layout-label{text-transform:uppercase;letter-spacing:.07em}[data-hsk-theme] .hsk-cb-layout-toggle,[data-hsk-theme] .hsk-cb-dock-layout .hsk-cb-layout-toggle{padding:0 12px;background:var(--hsk-pill-bg)!important}.hsk-cb-layout-icon{display:inline-flex;align-items:center}[data-hsk-theme] .hsk-cb-layout-toggle[aria-checked=true]{color:var(--hsk-primary)!important}.hsk-cb-topbar-ooze-menu .hsk-cb-dock-layout{margin-inline:7px}.hsk-cb-topbar-ooze-menu .hsk-cb-layout-label{color:var(--hsk-chat-muted);opacity:.38;font-size:9px;font-weight:600;letter-spacing:.14em;padding-inline-start:0}.hsk-cb-layout-track{flex-shrink:0}[data-hsk-theme] .hsk-cb-layout-track{background:var(--hsk-grid-bg)}[data-hsk-theme] .hsk-cb-layout-thumb{background:var(--hsk-chat-bg);color:var(--hsk-chat-text)}[data-hsk-theme] .hsk-cb-layout-toggle[aria-checked=true] .hsk-cb-layout-track{background:var(--hsk-active-bg)}[data-hsk-theme] .hsk-cb-layout-toggle[aria-checked=true] .hsk-cb-layout-thumb{background:var(--hsk-on-active);color:var(--hsk-active-bg)}[data-hsk-theme] .hsk-cb-layout-toggle[aria-checked=true]{color:var(--hsk-chat-text)!important}.hsk-cb-topbar-ooze-menu .hsk-cb-theme-block{display:grid;grid-template-columns:14px minmax(0,1fr);column-gap:8px;row-gap:4px}.hsk-cb-topbar-ooze-menu .hsk-cb-theme-2x2-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))}.hsk-cb-topbar-ooze-menu .hsk-cb-theme-grid-item{width:100%;justify-content:center;min-width:0;padding-inline:6px}.hsk-cb-topbar-ooze-menu .hsk-cb-dock-layout{grid-column:2;margin:0;padding:0 0 2px;gap:6px}.hsk-cb-topbar-ooze-menu .hsk-cb-layout-label{font-size:7px;letter-spacing:.06em}.hsk-cb-external-links{display:grid;justify-items:center;gap:7px;width:100%;margin:18px auto}.hsk-cb-external-card{display:flex;align-items:center;gap:10px;box-sizing:border-box;width:fit-content;max-width:100%;min-height:44px;padding:8px 14px;border-radius:999px;color:var(--hsk-chat-text);text-decoration:none;transition:color .2s ease,transform .2s cubic-bezier(.16,1,.3,1)}.hsk-cb-external-card:hover{transform:translateY(-1px)}.hsk-cb-external-card:active{transform:translateY(0) scale(.99)}.hsk-cb-external-card:focus-visible{outline:2px solid var(--hsk-primary);outline-offset:4px}.hsk-cb-external-brand{display:flex;align-items:center;gap:7px;flex-shrink:0;padding-inline-end:10px;border-inline-end:1px solid var(--hsk-external-divider,rgba(128,128,128,.18));color:var(--hsk-external-muted,var(--hsk-chat-muted));font:500 11px/1.4 var(--hsk-font)}.hsk-cb-external-logo{display:grid;place-items:center;flex-shrink:0;width:20px;height:20px;color:var(--hsk-chat-muted);font:600 18px/1 var(--hsk-font)}.hsk-cb-external-logo img{width:20px;height:20px;object-fit:contain}.hsk-cb-external-identity{display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 8px;min-width:0}.hsk-cb-external-identity strong{color:var(--hsk-external-text,var(--hsk-chat-text));font:600 13px/1.4 var(--hsk-font);overflow-wrap:anywhere}.hsk-cb-external-identity>span{font:400 10px/1.4 var(--hsk-font);color:var(--hsk-chat-muted);overflow-wrap:anywhere}.hsk-cb-external-amount{padding-inline-start:0;margin-inline-start:2px;font:500 13px/1.4 var(--hsk-font);font-variant-numeric:tabular-nums;white-space:nowrap}.hsk-cb-external-notice{display:flex;align-items:center;justify-content:center;gap:7px;color:var(--hsk-chat-muted);font:400 11px/1.5 var(--hsk-font)}.hsk-cb-external-notice svg{width:22px;height:26px;flex-shrink:0;color:color-mix(in srgb,var(--hsk-primary) 55%,var(--hsk-chat-muted))}.hsk-cb-external-notice path{stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;animation:hsk-theme-arrow-draw .8s ease .2s both}@media(max-width:480px){.hsk-cb-external-card{gap:8px;padding:8px 12px}.hsk-cb-external-amount{font-size:13px}.hsk-cb-external-brand{padding-inline-end:10px}.hsk-cb-external-logo,.hsk-cb-external-logo img{width:20px;height:20px}}@media(prefers-reduced-motion:reduce){.hsk-cb-external-card{transition:none}.hsk-cb-external-card:hover,.hsk-cb-external-card:active{transform:none}.hsk-cb-external-notice path{animation:none}}.hsk-cb-external-card{--hsk-external-text: var(--hsk-chat-text);--hsk-external-muted: var(--hsk-chat-muted);--hsk-external-divider: color-mix(in srgb, var(--hsk-chat-text) 18%, transparent);position:relative;isolation:isolate;overflow:visible;background:transparent!important;color:var(--hsk-chat-text)!important;border:1px solid transparent!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.hsk-cb-external-amount{opacity:.78}.hsk-cb-external-card>*{position:relative;z-index:1}.hsk-cb-external-card>.hsk-cb-external-surface,.hsk-cb-external-card>.hsk-cb-external-outline{position:absolute;inset:-6px 0;width:100%;height:calc(100% + 12px);z-index:0;pointer-events:none}.hsk-cb-external-surface{clip-path:inset(6px 0 round 999px);background:radial-gradient(ellipse 65px 50px at var(--hsk-wave-x, -90px) 50%,rgba(255,255,255,.2),transparent),linear-gradient(155deg,var(--hsk-glass-sheen),transparent 55%),var(--hsk-glass-bg);backdrop-filter:blur(20px) saturate(var(--hsk-glass-saturate, 160%));-webkit-backdrop-filter:blur(20px) saturate(var(--hsk-glass-saturate, 160%))}.hsk-cb-external-outline{overflow:visible;filter:drop-shadow(0 4px 7px var(--hsk-glass-drop))}.hsk-cb-external-outline path{fill:none;stroke:var(--hsk-glass-edge);stroke-width:1;stroke-linejoin:round;shape-rendering:geometricPrecision}@keyframes hsk-card-in{0%{opacity:0;transform:scale(.96) translateY(-12px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes hsk-bar{0%{background-position:200% 0}to{background-position:-200% 0}}@media(max-width:768px){.hsk-cb-overlay{--hsk-font-size: var(--hsk-mobile-font-size, 14px) !important;position:fixed!important;inset:0!important;width:100vw!important;height:100%!important;height:var(--hsk-vvh, 100dvh)!important;min-height:0!important;z-index:2147483647!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;overscroll-behavior:contain!important;background:var(--hsk-chat-bg, #0a0a0a)!important;box-sizing:border-box!important}.hsk-cb-panel{position:relative!important;height:100%!important;width:100%!important;max-width:100%!important;margin:0!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;border-radius:0!important;background:var(--hsk-chat-bg, #0a0a0a)!important;box-sizing:border-box!important}.hsk-cb-main{flex:1 1 auto!important;height:100%!important;min-height:0!important;display:flex!important;flex-direction:column!important;justify-content:space-between!important;overflow:hidden!important;background:var(--hsk-chat-bg, #0a0a0a)!important;box-sizing:border-box!important}.hsk-cb-topbar{padding:14px 14px 8px!important}.hsk-cb-msgs{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;padding:10px 14px 0!important}.hsk-cb-empty{flex:1 0 auto!important;justify-content:center!important;padding:16px 4px!important}.hsk-cb-input-box{grid-template-columns:auto 1fr auto auto}.hsk-cb-input-box>.hsk-cb-attach-btn{display:none}.hsk-cb-input-box>.hsk-cb-voice-mode-btn{display:none}.hsk-cb-input-box>.hsk-cb-field{grid-column:2}.hsk-cb-input-box>.hsk-cb-voice-mode-btn{grid-column:3}.hsk-cb-input-box>.hsk-cb-send,.hsk-cb-input-box>.hsk-chat-send{grid-column:4}.hsk-cb-tools-toggle{display:flex;grid-column:1;grid-row:1;width:36px;height:36px;align-items:center;justify-content:center;flex-shrink:0;padding:0;border:none;border-radius:12px;background:var(--hsk-chat-subtle, rgba(0,0,0,.045));color:var(--hsk-chat-muted, #6b7280);cursor:pointer;transition:transform .26s cubic-bezier(.34,1.56,.64,1),background-color .2s ease}.hsk-cb-tools-toggle--open{transform:rotate(45deg);background:var(--hsk-chat-divide, rgba(0,0,0,.09))}.hsk-cb-toolsheet-wrap,.hsk-cb-toolsheet-scrim{display:block}.hsk-cb-toolsheet-item{display:flex}.hsk-cb-input-box[data-expanded=true]>.hsk-cb-tools-toggle{grid-row:2}.hsk-cb-ai-msg--inline{display:block!important;padding-inline-end:34px}.hsk-cb-hello-wrap{align-items:center!important;text-align:center!important;gap:4px!important;width:100%!important;max-width:min(520px,100%)!important;padding-inline:16px!important;box-sizing:border-box!important;margin-inline:auto!important}.hsk-cb-ink-skeleton{align-items:center!important}.hsk-cb-hello{font-size:clamp(21px,5.8vw,30px)!important;font-weight:600!important;line-height:1.25!important;letter-spacing:-.02em!important;color:var(--hsk-chat-muted, #8b8b8f)!important;text-align:center!important;text-wrap:balance;max-width:100%!important;overflow-wrap:break-word}.hsk-cb-hello-lead,.hsk-cb-hello-ask{font-size:14px!important;font-weight:400!important;line-height:1.45!important;text-align:center!important;text-wrap:balance;max-width:100%!important;overflow-wrap:break-word;color:color-mix(in srgb,var(--hsk-chat-muted, #8b8b8f) 78%,transparent)!important}.hsk-cb-hello-lead{font-size:14px!important;margin-top:4px!important}.hsk-cb-lang-chips{justify-content:center!important;width:100%!important;gap:8px!important;margin:12px 0 6px!important}.hsk-cb-lang-chips-hint{width:100%!important;justify-content:center!important;margin-top:6px!important;margin-inline-start:0!important}.hsk-cb-onboarding-head{justify-content:flex-start!important;margin-bottom:12px!important}.hsk-cb-onboarding-card .hsk-cb-hello-wrap{align-items:flex-start!important;text-align:start!important}.hsk-cb-onboarding-card .hsk-cb-hello,.hsk-cb-onboarding-card .hsk-cb-hello-lead,.hsk-cb-onboarding-card .hsk-cb-hello-ask,.hsk-cb-onboarding-card .hsk-cb-hello-hint{text-align:start!important}.hsk-cb-onboarding-card .hsk-cb-lang-chips,.hsk-cb-onboarding-card .hsk-cb-lang-chips-hint{justify-content:flex-start!important}.hsk-cb-doodles{opacity:.92!important}.hsk-cb-input-wrap{margin-top:auto!important;flex-shrink:0!important;--hsk-composer-pad-top: 8px;--hsk-composer-pad-x: 14px;padding:8px 14px!important;padding-bottom:max(12px,env(safe-area-inset-bottom))!important;background:var(--hsk-chat-bg, #0a0a0a)!important;position:relative!important;z-index:10!important}.hsk-cb-attach-btn,.hsk-cb-send,.hsk-chat-send{width:32px!important;height:32px!important;border-radius:8px!important}.hsk-cb-attach-btn svg,.hsk-cb-send svg,.hsk-chat-send svg{width:15px!important;height:15px!important}.hsk-cb-input-box{padding:10px 10px 10px 14px}.hsk-cb-user-bubble{max-width:85%}}.hsk-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:12px 0 8px;width:100%;max-width:100%;min-width:0;border-radius:0;padding:0 0 6px;background:transparent;box-shadow:none;box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--hsk-chat-divide, rgba(0, 0, 0, .2)) transparent;cursor:grab;user-select:auto;transition:mask-image .15s ease,-webkit-mask-image .15s ease}.hsk-table-wrapper.is-dragging{cursor:grabbing;user-select:none}.hsk-table-wrapper::-webkit-scrollbar{height:5px}.hsk-table-wrapper::-webkit-scrollbar-track{background:transparent}.hsk-table-wrapper::-webkit-scrollbar-thumb{background:var(--hsk-chat-divide, rgba(0, 0, 0, .25));border-radius:4px}.hsk-table-wrapper::-webkit-scrollbar-thumb:hover{background:var(--hsk-chat-muted, rgba(0, 0, 0, .5))}.hsk-cb-ai-text .hsk-markdown-p{margin:0 0 10px}.hsk-cb-ai-text .hsk-markdown-p:last-child{margin-bottom:0}.hsk-cb-ai-text .hsk-markdown-list{margin:0 0 10px;padding-inline-start:1.2em}.hsk-cb-ai-text .hsk-markdown-list:last-child{margin-bottom:0}.hsk-cb-ai-text .hsk-markdown-ul{list-style:disc outside}.hsk-cb-ai-text .hsk-markdown-ol{list-style:decimal outside}.hsk-cb-ai-text .hsk-markdown-list li{margin:0 0 7px;padding-left:3px;line-height:1.5}.hsk-cb-ai-text .hsk-markdown-list li:last-child{margin-bottom:0}.hsk-cb-ai-text .hsk-markdown-list li::marker{color:var(--hsk-primary, #ff6a33)}.hsk-cb-ai-text .hsk-markdown-h1,.hsk-cb-ai-text .hsk-markdown-h2,.hsk-cb-ai-text .hsk-markdown-h3{margin:14px 0 7px;font-weight:650;line-height:1.3;letter-spacing:-.01em}.hsk-cb-ai-text .hsk-markdown-h1{font-size:1.09em}.hsk-cb-ai-text .hsk-markdown-h2{font-size:1.03em}.hsk-cb-ai-text .hsk-markdown-h3{font-size:1em}.hsk-cb-ai-text>:first-child{margin-top:0}.hsk-markdown-table{width:max-content;min-width:100%;border-collapse:collapse;border-spacing:0;text-align:start;font-size:13px;background:transparent;margin:0;border:none;font-variant-numeric:tabular-nums}.hsk-markdown-table th{padding:8px 16px 6px;vertical-align:bottom;line-height:1.35;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;color:var(--hsk-chat-muted, rgba(0, 0, 0, .55));border-bottom:1px solid var(--hsk-chat-divide, rgba(0, 0, 0, .1));background:transparent!important}.hsk-markdown-table td{padding:8px 16px;vertical-align:middle;line-height:1.45;font-size:13px;white-space:nowrap;color:var(--hsk-chat-text, inherit);border-bottom:.5px solid var(--hsk-chat-divide, rgba(0, 0, 0, .06));background:transparent!important}.hsk-markdown-table th:first-child,.hsk-markdown-table td:first-child{padding-inline-start:0;font-weight:590;white-space:normal;max-width:280px;min-width:150px;line-height:1.35}.hsk-markdown-table th:last-child,.hsk-markdown-table td:last-child{padding-inline-end:0}.hsk-markdown-table tbody tr:last-child td{border-bottom:none}.hsk-markdown-table td *{color:inherit}.hsk-markdown-table .hsk-markdown-link{display:inline-flex;align-items:center;padding:2px 8px;background-color:var(--hsk-chat-source-bg, rgba(0, 0, 0, .04));border:1px solid var(--hsk-chat-divide, rgba(0, 0, 0, .08));color:var(--hsk-primary, #ff6a33);font-size:12px;font-weight:500;border-radius:6px;text-decoration:none!important;margin:2px 0;transition:opacity .15s ease}.hsk-markdown-table .hsk-markdown-link:hover{opacity:.8}@media(prefers-color-scheme:dark){.hsk-markdown-table th{color:var(--hsk-chat-muted, rgba(255, 255, 255, .5));border-bottom-color:var(--hsk-chat-divide, rgba(255, 255, 255, .1))}.hsk-markdown-table td{color:var(--hsk-chat-text, #f0efed);border-bottom-color:var(--hsk-chat-divide, rgba(255, 255, 255, .06))}}.hsk-markdown-link{color:var(--hsk-primary, #ff6a33);text-decoration:underline;text-underline-offset:2px}.hsk-markdown-code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace,var(--hsk-font);font-size:.85em;background-color:#80808026;padding:.2em .4em;border-radius:var(--hsk-border-radius, 0px);color:inherit;word-break:break-word}.hsk-markdown-img-block{margin:8px 0;line-height:0}.hsk-markdown-img{display:block;max-width:100%;width:auto;max-height:220px;border-radius:10px;box-shadow:0 2px 12px #0000002e;object-fit:cover;background:#80808014}.hsk-chat-widget ::-webkit-scrollbar,.hsk-sp-card ::-webkit-scrollbar,.hsk-cb-msgs ::-webkit-scrollbar,.hsk-sp-details-pane ::-webkit-scrollbar,.hsk-sp-results ::-webkit-scrollbar,.hsk-chat-messages ::-webkit-scrollbar{width:3px;height:3px}.hsk-chat-widget ::-webkit-scrollbar-track,.hsk-sp-card ::-webkit-scrollbar-track,.hsk-cb-msgs ::-webkit-scrollbar-track,.hsk-sp-details-pane ::-webkit-scrollbar-track,.hsk-sp-results ::-webkit-scrollbar-track,.hsk-chat-messages ::-webkit-scrollbar-track{background:transparent}.hsk-chat-widget ::-webkit-scrollbar-thumb,.hsk-sp-card ::-webkit-scrollbar-thumb,.hsk-cb-msgs ::-webkit-scrollbar-thumb,.hsk-sp-details-pane ::-webkit-scrollbar-thumb,.hsk-sp-results ::-webkit-scrollbar-thumb,.hsk-chat-messages ::-webkit-scrollbar-thumb{background:#0000000f;border-radius:99px;transition:background .2s ease}.hsk-chat-widget ::-webkit-scrollbar-thumb:hover,.hsk-cb-msgs ::-webkit-scrollbar-thumb:hover{background:#00000026}@media(prefers-color-scheme:dark){.hsk-chat-widget ::-webkit-scrollbar-thumb,.hsk-sp-card ::-webkit-scrollbar-thumb,.hsk-cb-msgs ::-webkit-scrollbar-thumb,.hsk-sp-details-pane ::-webkit-scrollbar-thumb,.hsk-sp-results ::-webkit-scrollbar-thumb,.hsk-chat-messages ::-webkit-scrollbar-thumb{background:#ffffff14}.hsk-chat-widget ::-webkit-scrollbar-thumb:hover,.hsk-cb-msgs ::-webkit-scrollbar-thumb:hover{background:#fff3}}.hsk-cb-phone-form{display:flex;flex-direction:column;gap:8px;margin-top:8px}.hsk-cb-phone-label{font-size:.875rem;color:var(--hsk-chat-text, #111);margin:0}.hsk-cb-phone-input{width:100%;box-sizing:border-box;padding:8px 12px;border:1px solid var(--hsk-chat-divide, rgba(0,0,0,.12));border-radius:var(--hsk-border-radius, 0px);background:var(--hsk-chat-input-bg, rgba(0,0,0,.04));color:var(--hsk-chat-text, #111);font-size:.9rem;outline:none;transition:border-color .15s}.hsk-cb-phone-input::placeholder{color:var(--hsk-chat-muted, #888)}.hsk-cb-phone-input:focus{border-color:var(--hsk-primary, #ff6a33)}.hsk-cb-phone-submit{align-self:flex-start;padding:8px 16px;border:1px solid var(--hsk-chat-divide, rgba(0,0,0,.12));border-radius:var(--hsk-border-radius, 0px);background:transparent;color:var(--hsk-chat-text, #111);font-size:.875rem;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.hsk-cb-phone-submit:hover{border-color:var(--hsk-primary, #ff6a33);color:var(--hsk-primary, #ff6a33)}.hsk-cb-main{flex:1;min-width:0;display:flex;flex-direction:column;height:100%;overflow:hidden}@keyframes hsk-fade-in-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.hsk-action-pills{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;animation:hsk-fade-in-up .35s ease .1s both}.hsk-action-pill{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border-radius:20px;border:1px solid var(--hsk-chat-divide, rgba(0,0,0,.12));background:var(--hsk-pill-bg, rgba(255,255,255,.8));color:var(--hsk-chat-text, #1f1f1f);font-size:12px;font-weight:500;cursor:pointer;font-family:inherit;transition:all .15s;white-space:nowrap;backdrop-filter:blur(4px)}.hsk-action-pill:hover:not(:disabled){border-color:var(--hsk-primary, #ff6a33);background:color-mix(in srgb,var(--hsk-primary, #ff6a33) 8%,transparent);color:var(--hsk-primary, #ff6a33);transform:translateY(-1px);box-shadow:0 2px 8px #00000014}.hsk-action-pill:disabled{opacity:.4;cursor:not-allowed}.hsk-pill-emoji{font-size:13px;line-height:1}@media(prefers-color-scheme:dark){.hsk-action-pill{--hsk-pill-bg: rgba(40,40,42,.85);border-color:#ffffff1a;color:var(--hsk-chat-text, #e8eaed)}}[data-hsk-theme=dark] .hsk-action-pill{--hsk-pill-bg: rgba(40,40,42,.85);border-color:#ffffff1a;color:var(--hsk-chat-text, #e8eaed)}.kiku-voice-btn:hover{background:var(--hsk-hover-bg, rgba(0,0,0,.06));color:var(--hsk-primary, #6c47ff)}@keyframes kiku-voice-pulse{0%{transform:scale(1);opacity:1}to{transform:scale(1.6);opacity:0}}.kiku-style-tag{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:99px;background:var(--hsk-primary-alpha, rgba(108,71,255,.1));color:var(--hsk-primary, #6c47ff);font-size:11px;font-weight:500;white-space:nowrap}.kiku-voice-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:none;background:transparent;color:var(--hsk-text-muted, #888);cursor:pointer;transition:color .2s,background .2s;flex-shrink:0}.kiku-voice-btn:hover{background:var(--hsk-hover-bg, rgba(0,0,0,.06));color:var(--hsk-primary, #ff6a33)}.kiku-voice-btn--active{color:#ef4444;background:#ef44441a}.kiku-voice-btn:disabled{opacity:.4;cursor:not-allowed}.kiku-voice-ripple{position:absolute;inset:-4px;border-radius:50%;border:2px solid #ef4444;animation:kiku-voice-pulse 1.2s ease-out infinite;pointer-events:none}@keyframes kiku-voice-pulse{0%{transform:scale(1);opacity:1}to{transform:scale(1.7);opacity:0}}.kiku-style-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.kiku-style-tag{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:99px;background:#ff6a331a;color:var(--hsk-primary, #ff6a33);font-size:11px;font-weight:500;white-space:nowrap}.hsk-kiku-badge{display:inline-flex;align-items:center;gap:3px;font-size:13px;font-weight:700;letter-spacing:-.01em;color:#fff;background:#ffffff47;border:1px solid rgba(255,255,255,.45);padding:2px 8px;border-radius:8px;margin-inline-end:8px;vertical-align:middle;position:relative;top:-1px;box-shadow:0 1px 3px #0000001f}.hsk-markdown-img,.hsk-cb-user-img-thumb,.hsk-cb-source .hsk-cb-src-imgwrap img{cursor:zoom-in}.hsk-lightbox{position:fixed;inset:0;z-index:999999;background:color-mix(in srgb,var(--hsk-chat-bg, #fff) 84%,transparent);backdrop-filter:blur(28px) saturate(180%);-webkit-backdrop-filter:blur(28px) saturate(180%);display:flex;align-items:center;justify-content:center;padding:24px;animation:hsk-lightbox-in .15s ease-out both;cursor:zoom-out;user-select:none}@keyframes hsk-lightbox-in{0%{opacity:0}to{opacity:1}}.hsk-lightbox-top{position:absolute;top:18px;left:20px;right:68px;display:flex;align-items:center;z-index:2;pointer-events:none}.hsk-lightbox-title{font-size:14px;font-weight:600;letter-spacing:-.01em;color:var(--hsk-chat-text, #111);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:6px 14px;border-radius:999px;background:color-mix(in srgb,var(--hsk-chat-bg, #fff) 80%,transparent);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid color-mix(in srgb,var(--hsk-chat-text, #111) 10%,transparent);box-shadow:0 2px 10px #0000000f}.hsk-lightbox-stage{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;max-width:100%;max-height:100%;cursor:default}.hsk-lightbox-content{display:flex;flex-direction:column;align-items:center;justify-content:center;max-width:min(92vw,1000px);max-height:calc(100vh - 120px);position:relative}.hsk-lightbox-img{max-width:100%;max-height:min(78vh,760px);width:auto;height:auto;object-fit:contain;border-radius:12px;box-shadow:0 24px 64px -16px #0000005c;cursor:default;transition:transform .18s ease-out}.hsk-lightbox-caption{margin-top:12px;font-size:13px;font-weight:500;line-height:1.4;color:var(--hsk-chat-text, #111);text-align:center;padding:5px 14px;border-radius:999px;background:color-mix(in srgb,var(--hsk-chat-bg, #fff) 75%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid color-mix(in srgb,var(--hsk-chat-text, #111) 8%,transparent);box-shadow:0 2px 8px #0000000d}.hsk-lightbox-close{position:absolute;top:16px;right:16px;width:38px;height:38px;border-radius:50%;border:1px solid color-mix(in srgb,var(--hsk-chat-text, #111) 10%,transparent);background:color-mix(in srgb,var(--hsk-chat-bg, #fff) 78%,transparent);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);color:var(--hsk-chat-text, #111);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease;z-index:3;box-shadow:0 2px 8px #00000014}.hsk-lightbox-close:hover{background:color-mix(in srgb,var(--hsk-chat-bg, #fff) 95%,transparent);transform:scale(1.05)}.hsk-lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:1px solid color-mix(in srgb,var(--hsk-chat-text, #111) 12%,transparent);background:color-mix(in srgb,var(--hsk-chat-bg, #fff) 78%,transparent);backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);color:var(--hsk-chat-text, #111);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .16s ease;z-index:3;box-shadow:0 4px 16px #0000001f}.hsk-lightbox-nav:hover{background:color-mix(in srgb,var(--hsk-chat-bg, #fff) 95%,transparent);transform:translateY(-50%) scale(1.08);box-shadow:0 6px 20px #0000002e}.hsk-lightbox-nav:active{transform:translateY(-50%) scale(.96)}.hsk-lightbox-nav--prev{left:20px}.hsk-lightbox-nav--next{right:20px}.hsk-lightbox-bottom{position:absolute;bottom:22px;left:50%;transform:translate(-50%);display:flex;align-items:center;z-index:2;pointer-events:none}.hsk-lightbox-counter{padding:6px 16px;border-radius:999px;font-size:13px;font-weight:600;letter-spacing:.03em;color:var(--hsk-chat-text, #111);background:color-mix(in srgb,var(--hsk-chat-bg, #fff) 78%,transparent);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid color-mix(in srgb,var(--hsk-chat-text, #111) 10%,transparent);box-shadow:0 4px 14px #00000014}@media(max-width:600px){.hsk-lightbox-nav--prev{left:8px}.hsk-lightbox-nav--next{right:8px}.hsk-lightbox-content{max-width:100%}}.hsk-cb-viz{margin-top:10px;animation:hsk-msg-in .2s ease-out both}.hsk-cb-viz img,.hsk-cb-viz video{width:100%;max-width:420px;border-radius:8px;display:block}.hsk-cb-viz-disclaimer{max-width:420px;margin-top:4px;font-size:11px;line-height:1.4;color:var(--hsk-chat-muted, #9aa0a6)}.hsk-cb-calc-disclaimer{max-width:440px;margin-top:8px;padding:8px 12px;font-size:11.5px;line-height:1.45;color:var(--hsk-chat-muted, rgba(255, 255, 255, .65));background:var(--hsk-chat-callout-bg, rgba(255, 255, 255, .04));border:1px solid var(--hsk-border-subtle, rgba(255, 255, 255, .08));border-radius:8px}[data-hsk-theme=light] .hsk-cb-calc-disclaimer{color:#0009;background:#00000008;border-color:#00000014}.hsk-cb-stale{max-width:420px;margin-top:8px;padding:8px 10px;border:1px solid rgba(220,38,38,.35);border-left-width:3px;border-radius:6px;background:#dc26260f}.hsk-cb-stale-title{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#dc2626}.hsk-cb-stale-item{margin-top:3px;font-size:12px;line-height:1.45;color:var(--hsk-chat-text, #202124)}.hsk-cb-stale-reason{color:var(--hsk-chat-muted, #9aa0a6)}.hsk-cb-viz-imgwrap{position:relative;display:inline-block;max-width:100%}.hsk-cb-viz-mark{position:absolute;right:10px;bottom:10px;display:inline-flex;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:600;color:#fff;background:#0000009e;backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.35);border-radius:999px;cursor:pointer;transition:background .15s}.hsk-cb-viz-mark:hover{background:var(--hsk-primary, #ff6a33);border-color:transparent}.hsk-markup-overlay{position:fixed;inset:0;z-index:999999;background:color-mix(in srgb,var(--hsk-chat-bg, #fff) 84%,transparent);backdrop-filter:blur(28px) saturate(180%);-webkit-backdrop-filter:blur(28px) saturate(180%);display:flex;align-items:center;justify-content:center;padding:12px;animation:hsk-lightbox-in .15s ease-out both}.hsk-markup{height:100%;box-sizing:border-box;padding-top:max(32px,env(safe-area-inset-top));padding-bottom:max(24px,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:12px;width:100%;max-height:100%;overflow-y:auto}.hsk-markup-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.hsk-markup-title{font-size:12px;font-weight:500;line-height:1.4;color:color-mix(in srgb,var(--hsk-chat-text, #111) 55%,transparent)}.hsk-markup-cancel{flex-shrink:0;padding:6px 12px;font-size:12px;font-weight:600;color:var(--hsk-chat-text, #111);border-radius:999px;background:color-mix(in srgb,var(--hsk-chat-bg, #fff) 70%,transparent);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid color-mix(in srgb,var(--hsk-chat-text, #111) 10%,transparent);box-shadow:0 6px 18px -8px color-mix(in srgb,#000 22%,transparent);cursor:pointer}.hsk-markup-cancel:hover{background:color-mix(in srgb,var(--hsk-chat-text, #111) 16%,transparent)}.hsk-markup-stage{display:flex;flex:1;min-height:0;align-items:center;justify-content:center}.hsk-markup-canvas-wrap{position:relative;max-width:100%}.hsk-markup-canvas{display:block;max-width:100%;max-height:calc(100vh - 130px);box-shadow:0 18px 50px -12px color-mix(in srgb,#000 30%,transparent);border-radius:var(--hsk-border-radius, 0px);touch-action:none}.hsk-markup-canvas--pen,.hsk-markup-canvas--eraser{cursor:crosshair}.hsk-markup-pinlabel{position:absolute;display:flex;align-items:center;gap:4px;max-width:calc(100% - 16px);padding:4px 4px 4px 12px;border-radius:999px;background:color-mix(in srgb,var(--hsk-chat-bg, #fff) 78%,transparent);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid color-mix(in srgb,var(--hsk-chat-text, #111) 10%,transparent);box-shadow:0 10px 28px -10px color-mix(in srgb,#000 40%,transparent)}.hsk-markup-pinlabel input{min-width:0;max-width:100%;padding:6px 0;font-size:13px;color:var(--hsk-chat-text, #111);background:transparent;border:0;outline:none}.hsk-markup-pinlabel input::placeholder{color:color-mix(in srgb,var(--hsk-chat-text, #111) 45%,transparent)}.hsk-markup-pinlabel button{flex-shrink:0;display:grid;place-items:center;width:26px;height:26px;padding:0;font-size:15px;line-height:1;color:var(--hsk-chat-text, #111);background:color-mix(in srgb,var(--hsk-chat-text, #111) 8%,transparent);border:0;border-radius:50%;cursor:pointer}.hsk-markup-loading,.hsk-markup-error{padding:40px 16px;font-size:13px;color:color-mix(in srgb,var(--hsk-chat-text, #111) 70%,transparent);text-align:center}.hsk-markup-tools{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;margin-top:auto}.hsk-markup-tool{flex-shrink:0;white-space:nowrap;padding:8px 14px;font-size:12px;font-weight:600;color:var(--hsk-chat-text, #111);border-radius:999px;background:color-mix(in srgb,var(--hsk-chat-bg, #fff) 70%,transparent);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid color-mix(in srgb,var(--hsk-chat-text, #111) 10%,transparent);box-shadow:0 6px 18px -8px color-mix(in srgb,#000 22%,transparent);cursor:pointer}.hsk-markup-tool:hover:not(:disabled){background:color-mix(in srgb,var(--hsk-chat-text, #111) 16%,transparent)}.hsk-markup-tool--on{color:#fff;background:var(--hsk-primary, #ff6a33);border-color:transparent}.hsk-markup-tool--on:hover:not(:disabled){background:var(--hsk-primary, #ff6a33)}.hsk-markup-tool:disabled{opacity:.4;cursor:default}.hsk-markup-go{flex-shrink:0;padding:8px 22px;font-size:13px;font-weight:600;color:#fff;background:var(--hsk-primary, #ff6a33);border:none;border-radius:999px;box-shadow:0 6px 18px -8px color-mix(in srgb,var(--hsk-primary, #ff6a33) 60%,transparent);cursor:pointer}.hsk-markup-go:hover:not(:disabled){opacity:.9}.hsk-markup-go:disabled{opacity:.45;cursor:default}@media(max-width:640px){.hsk-markup-head{flex-direction:column-reverse;align-items:flex-start}.hsk-markup-cancel{align-self:flex-end}}.hsk-cb-kimgs{margin-top:10px;display:flex;flex-direction:column;gap:10px;animation:hsk-msg-in .2s ease-out both}.hsk-cb-kimg-grid{display:flex;flex-wrap:wrap;gap:6px}.hsk-cb-kimg{width:132px;height:132px;object-fit:cover;border-radius:8px;cursor:zoom-in;border:1px solid var(--hsk-chat-border, rgba(0, 0, 0, .08))}.hsk-cb-kimg:only-child{width:100%;max-width:320px;height:auto}.hsk-cb-kimg-caption{margin-top:4px;font-size:11px;line-height:1.4;color:var(--hsk-chat-muted, #9aa0a6)}.hsk-cb-panel[data-script=nonlatin][data-host-font=gap]{--hsk-font: "Geist", system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", sans-serif}.hsk-cb-panel[data-script=nonlatin],.hsk-cb-panel[data-script=nonlatin] *{letter-spacing:normal;font-family:var(--hsk-font)}.hsk-cb-panel[data-script=nonlatin] .hsk-cb-hello,.hsk-cb-panel[data-script=nonlatin] .hsk-cb-hello-lead,.hsk-cb-panel[data-script=nonlatin] .hsk-cb-hello-ask,.hsk-cb-panel[data-script=nonlatin] .hsk-cb-ai-text,.hsk-cb-panel[data-script=nonlatin] .hsk-cb-user-bubble,.hsk-cb-panel[data-script=nonlatin] .hsk-cb-chip,.hsk-cb-panel[data-script=nonlatin] .hsk-cb-topbar-btn,.hsk-cb-panel[data-script=nonlatin] .hsk-cb-textarea,.hsk-cb-panel[data-script=nonlatin] .hsk-cb-entlang-opt-title,.hsk-cb-panel[data-script=nonlatin] .hsk-cb-entlang-opt-note,.hsk-cb-panel[data-script=nonlatin] .hsk-cb-ai-text .hsk-markdown-list li,.hsk-cb-panel[data-script=nonlatin] .hsk-cb-ai-text .hsk-markdown-h1,.hsk-cb-panel[data-script=nonlatin] .hsk-cb-ai-text .hsk-markdown-h2,.hsk-cb-panel[data-script=nonlatin] .hsk-cb-ai-text .hsk-markdown-h3,.hsk-cb-panel[data-script=nonlatin] .hsk-markdown-table th,.hsk-cb-panel[data-script=nonlatin] .hsk-markdown-table td{line-height:1.9}.hsk-cb-panel[data-script=nonlatin] .hsk-cb-voice-error{font-size:12px;line-height:1.7;max-width:min(92%,520px);margin-left:auto;margin-right:auto}.hsk-cb-panel[data-script=nonlatin] .hsk-cb-msg-action{height:16px;padding:1px 6.5px;font-size:9.5px;line-height:1}.hsk-cb-panel[data-script=nonlatin] .hsk-cb-msg-action .hsk-cb-msg-action-label{font-size:9.5px;line-height:1}.hsk-cb-panel[data-script=nonlatin] .hsk-cb-user-footer,.hsk-cb-panel[data-script=nonlatin] .hsk-cb-ai-footer{min-height:16px}.hsk-cb-panel[data-script=nonlatin] .hsk-cb-sent-status,.hsk-cb-panel[data-script=nonlatin] .hsk-cb-failed-notice{font-size:10px;line-height:1}.hsk-cb-panel[data-script=nonlatin] .hsk-cb-hello{font-size:clamp(20px,3.4vw,26px);line-height:1.5;text-wrap:balance;overflow-wrap:break-word}.hsk-cb-panel[data-script=nonlatin] .hsk-cb-hello-ask{font-size:15px;line-height:1.75}.hsk-cb-panel[data-script=nonlatin] .hsk-cb-hello-wrap{max-width:100%;min-width:0}.hsk-cb-panel[data-script=nonlatin] .hsk-cascade__w{white-space:normal}.hsk-cb-panel[data-nastaliq=true] .hsk-cb-hello,.hsk-cb-panel[data-nastaliq=true] .hsk-cb-hello-lead,.hsk-cb-panel[data-nastaliq=true] .hsk-cb-hello-ask,.hsk-cb-panel[data-nastaliq=true] .hsk-cb-ai-text,.hsk-cb-panel[data-nastaliq=true] .hsk-cb-user-bubble,.hsk-cb-panel[data-nastaliq=true] .hsk-cb-chip,.hsk-cb-panel[data-nastaliq=true] .hsk-cb-topbar-btn,.hsk-cb-panel[data-nastaliq=true] .hsk-cb-textarea,.hsk-cb-panel[data-nastaliq=true] .hsk-cb-entlang-opt-title,.hsk-cb-panel[data-nastaliq=true] .hsk-cb-entlang-opt-note,.hsk-cb-panel[data-nastaliq=true] .hsk-cb-ai-text .hsk-markdown-list li,.hsk-cb-panel[data-nastaliq=true] .hsk-cb-ai-text .hsk-markdown-h1,.hsk-cb-panel[data-nastaliq=true] .hsk-cb-ai-text .hsk-markdown-h2,.hsk-cb-panel[data-nastaliq=true] .hsk-cb-ai-text .hsk-markdown-h3,.hsk-cb-panel[data-nastaliq=true] .hsk-markdown-table th,.hsk-cb-panel[data-nastaliq=true] .hsk-markdown-table td{line-height:2.2}.hsk-cb-panel[data-nastaliq=true] .hsk-cb-voice-error{font-size:13px;line-height:2;max-width:min(92%,540px);margin-left:auto;margin-right:auto}.hsk-cb-panel[data-nastaliq=true] .hsk-cb-msg-action{height:16px;padding:1px 6.5px;font-size:9px;line-height:1}.hsk-cb-panel[data-nastaliq=true] .hsk-cb-msg-action .hsk-cb-msg-action-label{font-size:9px;line-height:1}.hsk-cb-panel[data-nastaliq=true] .hsk-cb-user-footer,.hsk-cb-panel[data-nastaliq=true] .hsk-cb-ai-footer{min-height:16px}.hsk-cb-panel[data-nastaliq=true] .hsk-cb-sent-status,.hsk-cb-panel[data-nastaliq=true] .hsk-cb-failed-notice{font-size:9.5px;line-height:1}.hsk-cb-panel[data-script=nonlatin] .hsk-cb-chip{font-size:14px}.hsk-cb-panel[data-script=nonlatin] .hsk-cb-topbar-btn{height:auto;min-height:34px;padding:5px 14px}.hsk-cb-panel[data-script=nonlatin] .hsk-cb-field{--hsk-input-line-height: 1.9}.hsk-cb-panel[data-script=nonlatin] .hsk-cb-textarea{min-height:34px}.hsk-cb-panel[data-nastaliq=true] .hsk-cb-field{--hsk-input-line-height: 2.2}.hsk-cb-panel[data-script=nonlatin] .hsk-cb-user-bubble,.hsk-cb-panel[data-script=nonlatin] .hsk-cb-ai-text{overflow-wrap:break-word;word-break:normal}.hsk-cb-viz-broken{font-size:13px;color:var(--hsk-chat-muted, #71717a);padding:14px 16px;border:1px dashed var(--hsk-chat-divide, rgba(0, 0, 0, .12));border-radius:12px}.hsk-cb-voice-mode-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;flex-shrink:0;padding:0;background:transparent;border:1px solid transparent;border-radius:12px;color:var(--hsk-chat-muted, #71717a);cursor:pointer;transition:all .2s cubic-bezier(.34,1.56,.64,1);font-family:inherit}.hsk-cb-voice-mode-btn:hover:not(:disabled){border-color:color-mix(in srgb,var(--hsk-primary, #ff6a33) 25%,transparent);color:var(--hsk-primary, #ff6a33);background:color-mix(in srgb,var(--hsk-primary, #ff6a33) 8%,transparent);transform:translateY(-1px)}.hsk-cb-voice-mode-btn:disabled{opacity:.35;cursor:not-allowed}.hsk-cb-panel[data-script=nonlatin] .hsk-animated-placeholder[data-fit="2"]{--hsk-ph-font-size: 13.5px}.hsk-cb-panel[data-script=nonlatin] .hsk-animated-placeholder[data-fit="3"]{--hsk-ph-font-size: 12px}.hsk-cb-panel[data-nastaliq=true] .hsk-animated-placeholder[data-fit="1"]{--hsk-ph-font-size: 15px}.hsk-cb-panel[data-nastaliq=true] .hsk-animated-placeholder[data-fit="2"]{--hsk-ph-font-size: 13px}.hsk-cb-panel[data-nastaliq=true] .hsk-animated-placeholder[data-fit="3"]{--hsk-ph-font-size: 11.5px}.hsk-cb-panel[data-script=nonlatin] .hsk-animated-placeholder__char{line-height:1.35}.hsk-cb-panel[data-script] .hsk-cb-chrome-loading,.hsk-cb-panel[data-script] .hsk-cb-chrome-loading *{font-family:system-ui,-apple-system,Segoe UI,Roboto,Noto Sans,sans-serif}.hsk-voice-overlay{position:absolute;inset:0;z-index:30;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:clamp(8px,1.4vh,16px);padding:clamp(14px,2.5vh,24px);overflow:hidden;overscroll-behavior:contain;background:var(--hsk-chat-bg, #ffffff);animation:hsk-voice-in .32s cubic-bezier(.2,.8,.2,1);will-change:opacity;contain:paint}.hsk-voice-overlay:before{content:"";position:absolute;inset:0;background:radial-gradient(46% 20% at 50% 92%,color-mix(in srgb,var(--hsk-primary, #ff6a33) 8%,transparent) 0%,transparent 68%);pointer-events:none}.hsk-voice-overlay>*{position:relative}@keyframes hsk-voice-in{0%{opacity:0}to{opacity:1}}.hsk-voice-exit{position:absolute;z-index:2;top:14px;right:14px;display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:transparent;border:1px solid color-mix(in srgb,var(--hsk-chat-text, #1f1f1f) 14%,transparent);border-radius:999px;color:var(--hsk-chat-muted, #71717a);cursor:pointer;transition:color .18s ease,border-color .18s ease}.hsk-voice-exit:hover{color:var(--hsk-chat-text, #1f1f1f);border-color:color-mix(in srgb,var(--hsk-chat-text, #1f1f1f) 32%,transparent)}.hsk-voice-new{position:absolute;z-index:2;top:14px;right:58px;display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:transparent;border:1px solid color-mix(in srgb,var(--hsk-chat-text, #1f1f1f) 14%,transparent);border-radius:999px;color:var(--hsk-chat-muted, #71717a);cursor:pointer;transition:color .18s ease,border-color .18s ease,transform .12s ease}.hsk-voice-new:hover:not(:disabled){color:var(--hsk-chat-text, #1f1f1f);border-color:color-mix(in srgb,var(--hsk-chat-text, #1f1f1f) 32%,transparent)}.hsk-voice-new:active:not(:disabled){transform:scale(.92)}.hsk-voice-new:disabled{opacity:.4;cursor:default}.hsk-voice-stage{grid-column:2;width:100%;height:clamp(64px,13vh,140px);min-width:0;animation:hsk-composer-to-wave .42s cubic-bezier(.2,.8,.2,1) both}@keyframes hsk-composer-to-wave{0%{opacity:0;translate:0 18px}to{opacity:1;translate:0 0}}@media(prefers-reduced-motion:reduce){.hsk-voice-stage{animation:none}}.hsk-voice-thread{position:relative;z-index:1;flex:1 1 auto;width:min(720px,100%);min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:none;-ms-overflow-style:none;display:flex;flex-direction:column;gap:12px;padding:clamp(46px,8vh,72px) 4px 6px;-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 34px,#000 calc(100% - 30px),transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 34px,#000 calc(100% - 30px),transparent 100%)}.hsk-voice-turn--live{opacity:.72}.hsk-voice-canvas{display:block;width:100%;height:100%}.hsk-voice-controls{display:grid;grid-template-columns:52px minmax(0,1fr) 52px;align-items:center;gap:12px;flex:none;width:min(640px,100%)}.hsk-voice-controls [data-control=attach]{grid-column:1}.hsk-voice-controls [data-control=mic]{grid-column:3}.hsk-voice-control{display:flex;align-items:center;justify-content:center;width:52px;height:52px;padding:0;background:var(--hsk-surface-2, rgba(255, 255, 255, .95));border:1px solid color-mix(in srgb,var(--hsk-chat-text, #000000) 10%,transparent);border-radius:999px;color:var(--hsk-chat-text, #1f1f1f);cursor:pointer;box-shadow:0 2px 12px #00000014,0 1px 3px #0000000a;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);transition:color .2s ease,border-color .2s ease,background .2s ease,transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s ease}.hsk-voice-control:hover{transform:scale(1.06);box-shadow:0 4px 18px #0000001f}.hsk-voice-control:active{transform:scale(.92);transition-duration:.08s}.hsk-voice-control--muted{color:var(--hsk-chat-muted, #888888);border-color:color-mix(in srgb,var(--hsk-chat-text, #000000) 12%,transparent);background:color-mix(in srgb,var(--hsk-chat-bg, #ffffff) 85%,transparent);box-shadow:0 1px 4px #0000000a}.hsk-voice-control-icon{display:inline-flex;align-items:center;justify-content:center;z-index:2;transition:transform .2s ease}@media(prefers-reduced-motion:reduce){.hsk-voice-control-icon,.hsk-voice-control--muted{animation:none}}.hsk-voice-stage--connecting{opacity:.4;transition:opacity .25s ease}.hsk-voice-connecting{display:flex;align-items:center;gap:7px;font-family:var(--hsk-font);font-size:13px;color:var(--hsk-chat-muted, #8a8f98);animation:hsk-sent-in .2s ease-out both}.hsk-voice-connecting-dot{width:6px;height:6px;border-radius:999px;background:currentColor;animation:hsk-queued-pulse 1s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.hsk-voice-connecting-dot{animation:none;opacity:.7}}.hsk-voice-error{font-family:var(--hsk-font);font-size:.85rem;color:#e5484d;text-align:center}@media(prefers-reduced-motion:reduce){.hsk-voice-overlay{animation:none}}.hsk-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.hsk-voice-picker{position:absolute;z-index:3;top:14px;left:14px;display:flex;flex-direction:column;width:auto;height:36px;overflow:hidden;border-radius:18px;border:1px solid color-mix(in srgb,var(--hsk-chat-text, #1f1f1f) 10%,transparent);background:linear-gradient(180deg,#ffffff1f,#fff0 60%),color-mix(in srgb,var(--hsk-chat-bg, #ffffff) 58%,transparent);backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);box-shadow:inset 0 1px #ffffff40,0 1px 2px #0000000d;interpolate-size:allow-keywords;transition:width .42s cubic-bezier(.16,1,.3,1),height .42s cubic-bezier(.16,1,.3,1),border-radius .42s cubic-bezier(.16,1,.3,1),box-shadow .3s ease;animation:hsk-voice-pill-in .42s cubic-bezier(.16,1,.3,1) both}.hsk-voice-picker[data-open]{width:224px;height:auto;border-radius:20px;background:linear-gradient(180deg,#ffffff1a,#fff0 50%),color-mix(in srgb,var(--hsk-chat-bg, #ffffff) 78%,transparent);box-shadow:inset 0 1px #ffffff40,0 8px 22px -8px #0003,0 1px 2px #0000000d}@keyframes hsk-voice-pill-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.hsk-voice-pill{display:flex;align-items:center;justify-content:space-between;gap:6px;flex:none;height:34px;padding:0 10px 0 14px;border:0;background:transparent;font:inherit;font-size:12px;font-weight:600;white-space:nowrap;color:var(--hsk-chat-text, #1f1f1f);cursor:pointer}.hsk-voice-pill-caret{display:inline-flex;color:var(--hsk-chat-muted, #71717a);transform:rotate(90deg) scale(.8);transition:transform .32s cubic-bezier(.16,1,.3,1)}.hsk-voice-picker[data-open] .hsk-voice-pill-caret{transform:rotate(-90deg) scale(.8)}.hsk-voice-menu-list{position:relative;contain:inline-size;display:flex;flex-direction:column;gap:1px;max-height:min(320px,50vh);padding:4px 5px 6px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;opacity:0;transition:opacity .18s ease;-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 10px,#000 calc(100% - 16px),transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 10px,#000 calc(100% - 16px),transparent 100%)}.hsk-voice-menu-list::-webkit-scrollbar{display:none}.hsk-voice-picker[data-open] .hsk-voice-menu-list{opacity:1;transition:opacity .26s ease .12s}.hsk-voice-group{display:flex;align-items:center;gap:8px;flex:none;padding:10px 9px 4px;font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--hsk-chat-muted, #71717a)}.hsk-voice-group:after{content:"";flex:1;height:1px;background:color-mix(in srgb,var(--hsk-chat-text, #1f1f1f) 12%,transparent)}.hsk-voice-group:first-child{padding-top:4px}.hsk-voice-option{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex:none;padding:7px 9px;border:0;border-radius:13px;background:transparent;font:inherit;text-align:start;color:var(--hsk-chat-text, #1f1f1f);cursor:pointer;transition:background .14s ease}.hsk-voice-option:hover{background:color-mix(in srgb,var(--hsk-chat-text, #1f1f1f) 6%,transparent)}.hsk-voice-option-name{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600}.hsk-voice-option-trait{font-size:11px;color:var(--hsk-chat-muted, #71717a)}.hsk-voice-option--on,.hsk-voice-option--on:hover{background:color-mix(in srgb,var(--hsk-primary, #ff6a33) 12%,transparent)}.hsk-voice-option--on .hsk-voice-option-name{color:var(--hsk-primary, #ff6a33)}.hsk-voice-option--on .hsk-voice-option-name:before{content:"";width:5px;height:5px;border-radius:999px;background:currentColor}@media(prefers-reduced-motion:reduce){.hsk-voice-picker{animation:none;transition:none}}@media(max-width:520px){.hsk-cb-input-box{gap:6px;padding:10px 10px 10px 12px}.hsk-cb-attach-btn,.hsk-cb-send,.hsk-cb-voice-mode-btn,.hsk-chat-send{width:32px;height:32px;border-radius:10px}.hsk-cb-textarea{flex:1 1 auto;min-width:0;font-size:16px}.hsk-cb-input-box .hsk-cb-listening{display:none}}.hsk-cb-main{position:relative}.hsk-cb-main,.hsk-voice-overlay{--hsk-doodle-ink: 31, 31, 31;--hsk-doodle-tint: 255, 106, 51}@keyframes hsk-doodles-shimmer-in{0%{opacity:0}to{opacity:.9}}.hsk-cb-doodles{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;opacity:.9;animation:hsk-doodles-shimmer-in .28s cubic-bezier(.16,1,.3,1) both}.hsk-cb-main>*:not(.hsk-cb-doodles){position:relative}@media(prefers-color-scheme:dark){.hsk-cb-main,.hsk-voice-overlay{--hsk-doodle-ink: 240, 239, 237;--hsk-doodle-tint: 255, 150, 110}}[data-hsk-theme=light] .hsk-cb-main,[data-hsk-theme=light] .hsk-voice-overlay{--hsk-doodle-ink: 31, 31, 31;--hsk-doodle-tint: 255, 106, 51}[data-hsk-theme=dark] .hsk-cb-main,[data-hsk-theme=dark] .hsk-voice-overlay{--hsk-doodle-ink: 240, 239, 237;--hsk-doodle-tint: 255, 150, 110}.hsk-cb-docked-option-detail,.hsk-cb-entlang-price,.hsk-cb-src-detail,.hsk-kiku-picker-item-price,.hsk-source-price,.hsk-sp-item-discount,.hsk-sp-item-original-price,.hsk-sp-item-price,.hsk-sp-mobile-main-card-price,.hsk-sp-mobile-similar-carousel-price,.hsk-voice-item-price,.hsk-live-cell{font-variant-numeric:tabular-nums}.hsk-live-wrap{margin:6px 0 2px;width:100%;max-width:100%;box-sizing:border-box}.hsk-live-carousel{display:flex;flex-wrap:wrap;gap:6px;align-items:flex-start;width:100%;box-sizing:border-box}.hsk-live-card{flex:0 1 auto;width:fit-content;min-width:120px;max-width:100%;background:var(--hsk-chat-source-bg, rgba(255, 255, 255, .05));border:1px solid var(--hsk-chat-divide, rgba(255, 255, 255, .08));border-radius:12px;padding:6px 10px;box-sizing:border-box;display:flex;flex-direction:column;gap:3px;transition:opacity .2s ease;overflow:hidden}.hsk-live-card.is-stale{opacity:.75}.hsk-live-card__top{display:flex;align-items:center;justify-content:space-between;gap:8px}.hsk-live-card__badge{display:inline-flex;align-items:center;gap:5px}.hsk-live-card__body{display:flex;align-items:center}.hsk-live-dot{width:6px;height:6px;border-radius:50%;background:#10b981;flex-shrink:0}@media(prefers-reduced-motion:no-preference){.hsk-live-dot:not(.is-stale){animation:hsk-live-pulse 2s ease-in-out infinite}}.hsk-live-dot.is-stale{background:var(--hsk-chat-muted, #9ca3af)}.hsk-live-card__title{font-size:13px;font-weight:600;color:var(--hsk-chat-text, #111827);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.01em}.hsk-live-card__age{font-size:10.5px;font-weight:500;color:var(--hsk-chat-muted, #6b7280);white-space:nowrap;flex-shrink:0}.hsk-live-card__pills{display:flex;flex-wrap:wrap;gap:4px;align-items:center;margin-top:1px}.hsk-live-pill{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;background:color-mix(in srgb,var(--hsk-surface-1, var(--hsk-chat-bg, #ffffff)) 85%,transparent);border:1px solid color-mix(in srgb,var(--hsk-chat-text, #ffffff) 10%,transparent);border-radius:6px;font-size:11.5px;font-variant-numeric:tabular-nums;line-height:1.25;color:var(--hsk-chat-text, #111827);box-shadow:0 1px 2px #00000008}.hsk-live-pill__label{font-weight:500;color:var(--hsk-chat-muted, #6b7280);font-size:11px;text-transform:capitalize}.hsk-live-pill__value{font-weight:650;color:var(--hsk-chat-text, #111827)}@media(prefers-reduced-motion:no-preference){.hsk-live-pill.is-changed{animation:hsk-live-pill-flash 1.2s ease-out}@keyframes hsk-live-pill-flash{0%{background:#10b98140;border-color:#10b981}to{background:var(--hsk-chat-bg, #ffffff);border-color:var(--hsk-chat-divide, rgba(0, 0, 0, .08))}}}@media(max-width:640px){.hsk-cb-source{flex:0 0 128px}.hsk-cb-src-imgwrap,.hsk-cb-src-imgwrap-empty{width:128px;height:128px;font-size:24px}.hsk-cb-sources{gap:10px}.hsk-cb-src-name{font-size:12px;line-height:1.35}.hsk-cb-src-detail{font-size:11px;padding:1px 7px;margin-top:4px}}@media(max-width:480px){.hsk-cb-source{flex:0 0 114px}.hsk-cb-src-imgwrap,.hsk-cb-src-imgwrap-empty{width:114px;height:114px;font-size:20px}.hsk-cb-sources{gap:8px}.hsk-live-card{flex:0 0 auto;width:fit-content;max-width:100%}}.hsk-voice-thread::-webkit-scrollbar{width:0;height:0}.hsk-voice-thread{font-family:var(--hsk-font);gap:0;padding-inline:20px}.hsk-voice-thread .hsk-cb-user-msg,.hsk-voice-thread .hsk-cb-ai-msg{align-self:stretch;max-width:100%;margin:0}.hsk-voice-thread .hsk-cb-user-bubble{max-width:100%;padding:0;background:none!important;border:none;border-radius:0;text-align:inherit;font-family:inherit;font-style:italic;font-size:16.5px;line-height:1.62;letter-spacing:.005em;color:color-mix(in srgb,var(--hsk-chat-text, #1f1f1f) 62%,transparent)}.hsk-voice-thread .hsk-cb-user-bubble:after{display:none!important}.hsk-voice-thread .hsk-cb-user-msg{align-items:flex-start}.hsk-voice-thread .hsk-cb-user-bubble{position:relative;text-align:start}.hsk-voice-thread .hsk-cb-user-bubble:before{content:"\\201c";display:block!important;position:absolute;inset-inline-start:-.62em;top:-.12em;width:auto;height:auto;background:none;font-size:1.55em;font-style:normal;line-height:1;color:color-mix(in srgb,var(--hsk-primary, #ff6a33) 72%,transparent);pointer-events:none}.hsk-voice-thread .hsk-cb-ai-msg{font-size:17px;line-height:1.68;color:var(--hsk-chat-text, #1f1f1f)}.hsk-voice-thread .hsk-cb-user-msg{margin-top:22px}.hsk-voice-thread>.hsk-cb-user-msg:first-child{margin-top:0}.hsk-voice-thread .hsk-cb-ai-msg{margin-top:6px}.hsk-voice-thread .hsk-cb-ai-body.hsk-voice-turn--live:after{content:"";display:inline-block;width:.36em;height:.36em;margin-inline-start:.34em;vertical-align:.08em;background:currentColor;border-radius:0 50% 50%;transform:rotate(45deg);animation:hsk-voice-nib 1.6s ease-in-out infinite}@keyframes hsk-voice-nib{0%,to{opacity:.25}50%{opacity:.85}}.hsk-voice-images{display:flex;gap:10px;flex:none;width:min(720px,100%);padding:4px 20px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}.hsk-voice-images::-webkit-scrollbar{display:none}.hsk-voice-image{position:relative;flex:none;width:76px;height:76px;padding:0;border-radius:14px;overflow:hidden;border:1px solid color-mix(in srgb,var(--hsk-chat-text, #1f1f1f) 12%,transparent);background:color-mix(in srgb,var(--hsk-chat-text, #1f1f1f) 4%,transparent);cursor:zoom-in;animation:hsk-voice-image-in .45s cubic-bezier(.16,1,.3,1) both}@media(min-width:720px){.hsk-voice-image{width:92px;height:92px}}.hsk-voice-image img{display:block;width:100%;height:100%;object-fit:cover;animation:hsk-voice-develop 1.1s cubic-bezier(.16,1,.3,1) both}@keyframes hsk-voice-image-in{0%{opacity:0;transform:translate(10px) scale(.92)}to{opacity:1;transform:none}}@keyframes hsk-voice-develop{0%{opacity:0;filter:blur(8px) saturate(.2) brightness(1.2);transform:scale(1.06)}to{opacity:1;filter:none;transform:scale(1)}}.hsk-voice-image[data-pending]{cursor:progress;border-color:transparent;background:color-mix(in srgb,var(--hsk-chat-text, #1f1f1f) 5%,var(--hsk-chat-bg, #ffffff))}.hsk-doodle-shimmer{position:absolute;inset:0;width:100%;height:100%}.hsk-working-veil{--hsk-feather-12: linear-gradient(to right, transparent, #000 12px, #000 calc(100% - 12px) , transparent), linear-gradient(to bottom, transparent, #000 12px, #000 calc(100% - 12px) , transparent);--hsk-doodle-ink: 255, 122, 64;--hsk-doodle-tint: 255, 200, 165;position:absolute;inset:0;overflow:hidden;border-radius:inherit;pointer-events:none;background:radial-gradient(ellipse at center,transparent 45%,rgba(0,0,0,.22) 100%);-webkit-mask-image:var(--hsk-feather-12);-webkit-mask-composite:source-in;mask-image:var(--hsk-feather-12);mask-composite:intersect;animation:hsk-veil-in .3s cubic-bezier(.16,1,.3,1) both}.hsk-working-veil.is-leaving{animation:hsk-veil-out .3s ease-out both}.hsk-working-veil .hsk-doodle-shimmer{filter:drop-shadow(0 0 .6px rgba(0,0,0,.75));-webkit-mask-image:radial-gradient(ellipse at center,transparent 14%,rgba(0,0,0,.5) 36%,rgba(0,0,0,.9) 58%,#000 75%);mask-image:radial-gradient(ellipse at center,transparent 14%,rgba(0,0,0,.5) 36%,rgba(0,0,0,.9) 58%,#000 75%)}.hsk-working-veil:after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 20px 8px color-mix(in srgb,var(--hsk-primary, #ff6a33) 90%,transparent),inset 0 0 48px 12px color-mix(in srgb,var(--hsk-primary, #ff6a33) 30%,transparent);animation:hsk-halo-breathe 2.4s ease-in-out infinite}.hsk-cb-user-img-cell:has(>.hsk-working-veil)>img,.hsk-cb-viz--working>img,.hsk-voice-image:has(>.hsk-working-veil)>img,.hsk-voice-image[data-pending],.hsk-cb-viz--working.is-blank{-webkit-mask-image:linear-gradient(to right,transparent,#000 26px,#000 calc(100% - 26px),transparent),linear-gradient(to bottom,transparent,#000 26px,#000 calc(100% - 26px),transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent,#000 26px,#000 calc(100% - 26px),transparent),linear-gradient(to bottom,transparent,#000 26px,#000 calc(100% - 26px),transparent);mask-composite:intersect}.hsk-voice-image:has(>.hsk-working-veil){border-color:transparent}@keyframes hsk-veil-in{0%{opacity:0}to{opacity:1}}@keyframes hsk-veil-out{0%{opacity:1}to{opacity:0}}@keyframes hsk-halo-breathe{0%,to{opacity:.7}50%{opacity:1}}@media(prefers-reduced-motion:reduce){.hsk-working-veil:after{animation:none;opacity:.8}}.hsk-cb-viz--working{position:relative;display:inline-block;max-width:420px;border-radius:8px;overflow:hidden;line-height:0}.hsk-cb-viz--working.is-blank{display:block;width:min(100%,320px);aspect-ratio:1;background:color-mix(in srgb,var(--hsk-chat-text, #1f1f1f) 5%,var(--hsk-chat-bg, #ffffff))}.hsk-cb-viz--working.is-video{display:block;width:min(100%,420px);aspect-ratio:16 / 9}.hsk-cb-viz--working img{opacity:.85}.hsk-cb-viz--working.is-video img{width:100%;height:100%;object-fit:cover}.hsk-voice-control--attach{justify-self:center;width:44px;height:44px;color:var(--hsk-chat-muted, #888888);box-shadow:none}.hsk-voice-control--attach:hover:not(:disabled){transform:none;color:var(--hsk-chat-text, #1f1f1f);box-shadow:none}.hsk-voice-control--attach:active:not(:disabled){transform:scale(.9);transition-duration:.08s}@media(prefers-reduced-motion:reduce){.hsk-voice-thread .hsk-cb-ai-body.hsk-voice-turn--live:after,.hsk-voice-image,.hsk-voice-image img{animation:none}}.hsk-voice-shelf{display:flex;align-items:flex-start;gap:10px;flex:none;width:min(720px,100%);padding:0 20px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}.hsk-voice-shelf::-webkit-scrollbar{display:none}.hsk-voice-shelf>.hsk-voice-images{width:auto;padding:4px 0;overflow:visible}.hsk-voice-shelf>.hsk-voice-sources{flex:0 1 auto;width:auto;min-width:0;padding:0}.hsk-voice-sources{flex:none;width:min(720px,100%);padding:0 20px;animation:hsk-voice-image-in .45s cubic-bezier(.16,1,.3,1) both}@media(prefers-reduced-motion:reduce){.hsk-voice-sources{animation:none}}.hsk-cb-overlay[data-hsk-theme],[data-hsk-theme] .hsk-cb-overlay{background:var(--hsk-chat-bg)!important;color:var(--hsk-chat-text)!important}[data-hsk-theme] .hsk-cb-panel{background:transparent!important;color:var(--hsk-chat-text)!important}[data-hsk-theme] .hsk-cb-topbar-name{background:var(--hsk-surface-2)!important;color:var(--hsk-name-text, var(--hsk-chat-text))!important;box-shadow:0 0 0 3px var(--hsk-chat-bg),0 1px 3px rgba(var(--hsk-primary-rgb),.2)!important}[data-hsk-theme] .hsk-cb-think-head{background:var(--hsk-surface-2)!important;color:var(--hsk-think-text)!important;box-shadow:0 0 0 3px var(--hsk-chat-bg),0 1px 3px rgba(var(--hsk-primary-rgb),.2)!important}[data-hsk-theme] .hsk-cb-leave{background:var(--hsk-surface-2)!important;color:var(--hsk-chat-text)!important;box-shadow:0 0 0 3px var(--hsk-chat-bg)!important}[data-hsk-theme] .hsk-cb-leave-btn{background:var(--hsk-surface-1)!important;color:var(--hsk-chat-text)!important}[data-hsk-theme] .hsk-cb-leave-btn--end{background:var(--hsk-primary)!important;color:var(--hsk-chat-bg)!important}[data-hsk-theme] .hsk-cb-chip,[data-hsk-theme] .hsk-action-pill{border:var(--hsk-chip-border, none)!important;background:var(--hsk-surface-1)!important;color:var(--hsk-chat-text)!important}[data-hsk-theme] .hsk-cb-chip:hover,[data-hsk-theme] .hsk-action-pill:hover{background:rgba(var(--hsk-primary-rgb),.12)!important;color:var(--hsk-primary)!important}[data-hsk-theme] .hsk-cb-ai-text{background:var(--hsk-bubble-bg)!important;color:var(--hsk-chat-text)!important}[data-hsk-theme] .hsk-cb-ai-text:not(:has(~.hsk-cb-ai-text)):before{background:var(--hsk-bubble-bg)!important}[data-hsk-theme] .hsk-cb-ai-text:not(:has(~.hsk-cb-ai-text)):after{background:var(--hsk-chat-bg)!important}[data-hsk-theme] .hsk-cb-user-bubble--tail:before{background:#007aff!important}[data-hsk-theme] .hsk-cb-user-bubble--tail:after{background:var(--hsk-chat-bg)!important}[data-hsk-theme] .hsk-cb-topbar-btn,[data-hsk-theme] .hsk-cb-back{background:var(--hsk-surface-1)!important;color:var(--hsk-chat-muted)!important}[data-hsk-theme] .hsk-cb-input-box{background:transparent!important;border:none!important;border-radius:inherit!important}[data-hsk-theme] .hsk-cb-textarea{color:var(--hsk-chat-text)!important}[data-hsk-theme] .hsk-cb-textarea::placeholder{color:var(--hsk-placeholder)!important}[data-hsk-theme] .hsk-markdown-table th{color:var(--hsk-chat-muted)!important;border-bottom:1px solid var(--hsk-chat-divide)!important}[data-hsk-theme] .hsk-markdown-table td{color:var(--hsk-chat-text)!important;border-bottom:1px solid var(--hsk-chat-divide)!important}[data-hsk-theme] .hsk-cb-kiku-id-pill:hover{color:var(--hsk-primary)!important}[data-hsk-theme] .hsk-cb-theme-2x2-grid,[data-hsk-theme] .hsk-cb-topbar-ooze-menu{background:var(--hsk-glass-bg)!important;border:var(--hsk-glass-border)!important;border-top:var(--hsk-glass-border-top)!important;box-shadow:var(--hsk-glass-shadow)!important;backdrop-filter:blur(28px) saturate(var(--hsk-glass-saturate, 180%))!important;-webkit-backdrop-filter:blur(28px) saturate(var(--hsk-glass-saturate, 180%))!important}[data-hsk-theme] .hsk-cb-topbar-ooze-menu{border-top:var(--hsk-glass-border)!important;box-shadow:none!important}[data-hsk-theme] .hsk-cb-topbar-ooze-menu .hsk-cb-theme-2x2-grid{background:none!important;border:none!important;border-top:none!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}[data-hsk-theme] .hsk-cb-theme-squircle-trigger,[data-hsk-theme] .hsk-cb-theme-squircle-wrap,[data-hsk-theme] .hsk-cb-kiku-id-pill,[data-hsk-theme] .hsk-cb-kiku-id-rail .hsk-cb-sound-pill,[data-hsk-theme] .hsk-cb-layout-toggle,[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-selection-bg: #ff6a33 !important;--hsk-selection-text: #ffffff !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-selection-bg: #ff6a33 !important;--hsk-selection-text: #ffffff !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-selection-bg: #ff6a33 !important;--hsk-selection-text: #ffffff !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-selection-bg: #ec4899 !important;--hsk-selection-text: #ffffff !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-selection-bg: #a9714b !important;--hsk-selection-text: #ffffff !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-selection-bg: #ff6a33 !important;--hsk-selection-text: #ffffff !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 mi="akropolys-kiku-root",Cr=null,an=null,bi=!1;function fi(e){if(bi)return;if(bi=!0,typeof CSSStyleSheet<"u"&&"replaceSync"in CSSStyleSheet.prototype)try{let t=new CSSStyleSheet;t.replaceSync(vo),e.adoptedStyleSheets=[t];return}catch{}let r=document.createElement("style");r.textContent=vo,e.appendChild(r)}function yo(){return typeof document>"u"?null:an?(fi(an),an):(Cr=document.getElementById(mi),Cr||(Cr=document.createElement("div"),Cr.id=mi,Cr.style.cssText="all: initial;",document.body.appendChild(Cr)),an=Cr.shadowRoot??Cr.attachShadow({mode:"open"}),fi(an),an)}import{useAkropolysContext as Km}from"@akropolys/sdk";function ma(e){if(typeof e=="string")return{themeAttr:e,vars:void 0};if(!e)return{themeAttr:void 0,vars:void 0};let r={};return e.primaryColor&&(r["--hsk-primary"]=e.primaryColor,r["--hsk-selection-bg"]=e.primaryColor),e.backgroundColor&&(r["--hsk-bg"]=e.backgroundColor,r["--hsk-chat-bg"]=e.backgroundColor),e.textColor&&(r["--hsk-text"]=e.textColor,r["--hsk-chat-text"]=e.textColor),e.fontFamily&&(r["--hsk-font"]=e.fontFamily),e.fontSize&&(r["--hsk-font-size"]=e.fontSize),e.mobileFontSize&&(r["--hsk-mobile-font-size"]=e.mobileFontSize),e.borderRadius&&(r["--hsk-border-radius"]=e.borderRadius),{themeAttr:void 0,vars:r}}import{useEffect as gi}from"react";var Gt=new Map;function wo(e,r="hsk-font"){let t=5381;for(let n=0;n<e.length;n++)t=(t<<5)+t+e.charCodeAt(n)>>>0;return`${r}-${t.toString(36)}`}function Lp(e){let r=e.split("?")[0].split("#")[0].split(".").pop()?.toLowerCase();return r==="woff2"?"woff2":r==="woff"?"woff":r==="otf"?"opentype":r==="ttf"?"truetype":""}function Co(e){let r=e.trim();return!r||/["'()\\\s]/.test(r)||/^(javascript|vbscript):/i.test(r)?null:r}var xi=e=>/["\\{}<>;\n\r]/.test(e)?"":e.trim(),Ep=/^[Uu]\+[0-9A-Fa-f?]{1,6}(-[0-9A-Fa-f]{1,6})?$/,ki=e=>{let r=e.split(",").map(t=>t.trim()).filter(Boolean);return r.length===0||!r.every(t=>Ep.test(t))?"":r.join(", ")},vi=e=>/^\d{3}( \d{3})?$/.test(e)?e:"400";function zp(e,r){gi(()=>{if(!e||!r||typeof document>"u")return;let t=wo(e);if(Gt.set(e,(Gt.get(e)??0)+1),!document.getElementById(t)){let n=document.createElement("style");n.id=t,n.textContent=r,document.head.appendChild(n)}return()=>{let n=(Gt.get(e)??1)-1;if(n>0){Gt.set(e,n);return}Gt.delete(e),document.getElementById(t)?.remove()}},[e,r])}function yi(e){let r=xi(e.family);return r?e.faces.map(t=>{let n=Co(t.url);return n?`@font-face{font-family:"${r}";font-style:normal;font-weight:${vi(t.weight)};font-display:swap;src:url(${n}) format("woff2");`+(ki(t.unicodeRange)?`unicode-range:${ki(t.unicodeRange)};`:"")+"}":""}).join(""):""}function So(e){let r=e?.faces??[],t=e&&r.length?yi(e):"";zp(t?`script|${e.family}|${r.map(n=>n.url).join("|")}`:"",t)}async function Vt(e,r=0){if(typeof document>"u"||!("fonts"in document))return;let t=yi(e);if(!t)return;let n=`script|${e.family}|${e.faces.map(o=>o.url).join("|")}`;Gt.set(n,(Gt.get(n)??0)+1);let a=wo(n);if(!document.getElementById(a)){let o=document.createElement("style");o.id=a,o.textContent=t,document.head.appendChild(o)}if(r>0){let o=document.fonts,s=e.family.replace(/^['"]|['"]$/g,""),c=Array.from(o||[]).filter(l=>l.family.replace(/^['"]|['"]$/g,"")===s),i=c.length>0?c.map(l=>l.load().catch(()=>{})):e.faces.map(l=>{let h=Co(l.url);if(!h)return Promise.resolve();try{return new window.FontFace(s,`url(${h})`,{weight:vi(l.weight),style:"normal"}).load().then(d=>{document.fonts?.add(d)}).catch(()=>{})}catch{return Promise.resolve()}});await Promise.race([Promise.all(i),new Promise(l=>setTimeout(l,r))])}}var wi=["400","500","600","700"];function Ci(e,r){let t=Array.from(new Set(Array.from(Object.values(r).join("")))).join(""),n=e.map(a=>`"${a.replace(/^['"]|['"]$/g,"")}"`).join(", ");return{text:t,stack:n}}function Mo(e,r){let t=typeof document<"u"?document.fonts:null,{text:n,stack:a}=Ci(e,r);if(!t?.check||!n||!a)return!0;try{return wi.every(o=>t.check(`${o} 16px ${a}`,n))}catch{return!0}}async function To(e,r,t){let n=typeof document<"u"?document.fonts:null;if(!n?.load)return;let{text:a,stack:o}=Ci(e,r);!a||!o||await Promise.race([Promise.all(wi.map(s=>n.load(`${s} 16px ${o}`,a).catch(()=>{}))),new Promise(s=>setTimeout(s,t))])}function ba(e){let r=typeof e=="object"&&e?e:void 0,t=xi(r?.fontFamily?.split(",")[0].trim().replace(/^['"]|['"]$/g,"")??""),n=typeof r?.fontUrl=="string"?{normal:r.fontUrl}:r?.fontUrl??{},a=n.normal??"",o=n.bold??"",s=n.variable??"";gi(()=>{if(!t||!a&&!o&&!s)return;let c=s?[["100 900",s]]:[["400",a],["700",o]],i=[];for(let[d,u]of c){if(!u)continue;let f=Co(u);if(!f)continue;let k=Lp(f);i.push(`@font-face{font-family:"${t}";font-style:normal;font-weight:${d};font-display:swap;src:url(${f})${k?` format("${k}")`:""};}`)}if(i.length===0)return;let l=i.join(""),h=`${t}|${a}|${o}|${s}`,p=wo(h,"hsk-host-font");if(Gt.set(h,(Gt.get(h)??0)+1),!document.getElementById(p)){let d=document.createElement("style");d.id=p,d.textContent=l,document.head.appendChild(d)}return()=>{let d=(Gt.get(h)??1)-1;if(d>0){Gt.set(h,d);return}Gt.delete(h),document.getElementById(p)?.remove()}},[t,a,o,s])}var Si=new WeakMap,Mi=new WeakMap;function Ti(e){return e?Mi.get(e)??null:null}function Ro(e){if(!e)return Promise.resolve(null);let r=Si.get(e);if(r)return r;let t=Promise.resolve().then(()=>e.baseFont?.()??null).then(n=>(n&&(Mi.set(e,n),Vt(n,0).catch(()=>{})),n)).catch(()=>null);return Si.set(e,t),t}function Ri(e,r,t){e&&(Ro(e),r&&Lo(e,r,t))}function Lo(e,r,t){if(!(!e||!r))try{e.getUIStrings?.(r,t)?.then?.(n=>{n?.font&&Vt(n.font,1200).catch(()=>{})})?.catch?.(()=>{})}catch{}}import Ni from"react";var Pn=[],ka=[{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 An(e,r){if(!e)return;let t=e.trim();if(!t)return;let n=t.toLowerCase(),a=ka.find(c=>c.value.toLowerCase()===n||c.native.toLowerCase()===n||c.tag===n);if(a)return a.native;if(fa[n]?.endonym)return fa[n].endonym;let o=Object.values(fa).find(c=>c.endonym?.toLowerCase()===n);if(o?.endonym)return o.endonym;let s=r||(n.length<=3?n:void 0);if(s&&typeof Intl<"u"&&Intl.DisplayNames)try{let i=new Intl.DisplayNames([s],{type:"language"}).of(s);if(i&&i.toLowerCase()!==s.toLowerCase())return i}catch{}return t}function Li(e){for(let r of e){let t=r.codePointAt(0)??0;if(t>=1424&&t<=2303||t>=64285&&t<=65023||t>=65136&&t<=65279)return!0}return!1}var fa={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 Ei(e){let r=e.trim();return r?r.charAt(0).toUpperCase()+r.slice(1):"\u2026"}function _r(e){if(!e)return{nativeName:"\u2026",preparing:"Preparing\u2026",changeLang:"\u2190",rtl:!1,known:!0};let r=e.trim().toLowerCase(),t=Object.entries(fa).find(([s,c])=>s===r||c.endonym?.toLowerCase()===r||An(s)?.toLowerCase()===r);if(t)return{nativeName:t[1].endonym||An(e)||Ei(e),preparing:t[1].preparing,changeLang:t[1].changeLang,rtl:!!t[1].rtl||Li(t[1].preparing),known:!0};let n=An(e)||e,a=Ei(n),o=Li(a);return{nativeName:a,preparing:`Preparing in ${a}\u2026`,changeLang:o?"\u062A\u063A\u064A\u064A\u0631":"Change",rtl:o,known:!1}}var _n=[{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"}],Eo="hsk-live-voice",Sr={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:"Chat messages aren't saved for analytics. Search-bar queries and usage counts help this website improve. If you ask to speak to its team, that support conversation is saved. 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"},_t={themeHoldHint:"Long press for themes",themeClickHint:"Pick your mood",layoutDockNote:"Try {button} to change the reply layout.",layoutFirstReplyNote:"Open the dock and try {button} to change the reply layout.",externalOpensOutside:"This opens outside Kiku.",externalWatchVideo:"Watch video",externalCheckout:"Continue to checkout",externalOpenEmail:"Open email",externalOpenLink:"Open {destination}",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:"Chat messages aren't saved for analytics. Search-bar queries and usage counts help this website improve. If you ask to speak to its team, that support conversation is saved. Things you save with @kiku are kept at mimi.akropolys.cloud, and only your secret key opens them.",termsCookieTitle:"This website's own rules",termsCookieDesc:"This website may use cookies or collect more information. kiku does not control this.",termsAiTitle:"From this website, explained by AI",termsAiDesc:"kiku answers from what this website really lists. The facts are the website's own; how kiku summarises, compares or translates them is AI and may read them differently. Check anything that matters on the website itself.",termsAgreeButton:"I agree",termsAgreeCounting:"I agree ({seconds}s)",nameStepHint:"Any name or nickname is fine.",privacyMore:"Read our full terms at",continueButton:"Continue",termsPlaceholder:"Please read the notes above\u2026",allSet:"You are ready, {name}.",replyingTranslated:"I will write to you in {lang}. Results will be translated too. Ask me anything.",replyingOriginal:"I will write to you in {lang}. Results stay as this website wrote them. Ask me anything.",defaultPlaceholder:"Ask me anything\u2026",voiceListening:"Listening\u2026 tap the mic to stop",voiceSending:"Got it \u2014 sending\u2026",voiceModeStart:"Hands-free conversation",voiceModeExit:"Leave hands-free",voicePhaseListening:"Listening",voicePhaseThinking:"Thinking",micDenied:"Microphone blocked. Allow mic access for this site, then try again.",micInsecure:"Voice needs a secure (https) connection.",micMissing:"No microphone found.",micLangUnsupported:"This browser cannot transcribe that language yet. Type instead.",micNetwork:"Couldn't reach voice. Try again in a moment.",voiceUnavailable:"Voice is unavailable right now. Try again in a moment.",voiceLimitReached:"You've used up today's voice time. It resets in a day \u2014 chat still works.",voiceSiteLimit:"Voice is out of allowance on this site for now. Chat still works.",voiceIdleEnded:"Voice closed after a quiet minute. Tap the mic to talk again.",voiceSessionEnded:"Voice session ended. Tap the mic to talk again.",voicePhotoFailed:"That photo couldn't be added. Try another one.",voiceAttachPhoto:"Attach a photo",voicePickerLabel:"Choose a voice",voiceFemale:"Female",voiceMale:"Male",voiceNewChat:"New voice chat",pillVoice:"{n} min voice",pillImages:"{n} images",pillVideos:"{n} videos",pillReplies:"{n} replies",micNoSpeech:"Didn't catch anything. Try again, a little closer to the mic.",micFailed:"Couldn't hear that. Try again.",clearChat:"Clear chat",thinking:"Thinking",thoughtForSeconds:"Thought for {duration}",thoughtProcess:"Thought process",reachingTeam:"Getting a person",passedToTeam:"Passed to a person",withTeam:"Sent to the team \xB7 a person will reply here",repliedIn:"Replied in {duration}",backWithKiku:"Kiku is back with you",teamClosed:"The team closed this conversation",teamJoined:"Another team member joined the conversation",leaveHumanWarning:"A person is replying here.",leaveHumanStay:"Wait",leaveHumanKeep:"Keep for later",leaveHumanConfirm:"End request",requestsTitle:"Your requests",requestWaiting:"Waiting for a person",requestHuman:"With a person",requestKiku:"Answered",requestClosed:"Closed",requestNewReply:"New reply",captureAndRemember:"kiku \u2014 capture & remember",captureCurrentPage:"Capture current page",captureAll:"Capture all ({count})",whatHaveYouSaved:"What have you saved?",deleteThis:"Delete this",errShopperReplyLimit:"You've reached this site's reply limit. It resets in 24 hours.",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"},zo=Ni.createContext((e,r)=>{let t=_t[e];if(r)for(let[n,a]of Object.entries(r))t=t.split(`{${n}}`).join(a);return t}),jt=()=>Ni.useContext(zo);function Ii(e){let r=e.trim();if(!r||r.length>40||r.includes("?"))return null;r=r.replace(/^(hi|hey|hello|yo)[,!.\s]+/i,""),r=r.replace(/^(i['’]?m|im|my name is|call me|it['’]?s|this is|name['’]?s)\s+/i,""),r=r.trim().replace(/[.!,]+$/,"");let t=r.split(/\s+/);if(t.length===0||t.length>3||!/^[\p{L}][\p{L}\-'’ ]{0,30}$/u.test(r))return null;let n=r.toLowerCase();if(["phone","laptop","tv","cheap","best","under","buy","search","find","show","need","want","price","sofa","shoe","headphone","camera","gift","help"].some(s=>n.includes(s)))return null;let o=t[0];return o.charAt(0).toUpperCase()+o.slice(1)}var zi={shopper_reply_limit:"errShopperReplyLimit",RATE_LIMIT_EXCEEDED:"errShopperReplyLimit",access_revoked:"errAccessRevoked",account_required:"errAccountRequired",stream_interrupted:"errStreamInterrupted"};var Ai=(e,r)=>{let t=e&&typeof e=="object"?e.code:void 0;if(t&&zi[t])return r(zi[t]);let n="";if(typeof e=="string")n=e;else if(e&&typeof e=="object"&&e.message)n=e.message;else try{n=JSON.stringify(e)}catch{n=String(e)}let a=n.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 r("errTooManyRequests");if(a.includes("token limit"))return r("errTokenLimit");if(a.includes("failed to fetch")||a.includes("networkerror")||a.includes("request failed"))return r("errNetwork");if(n)try{console.warn("[kiku] untranslated error:",n)}catch{}return r("errGeneric")},Pi=()=>typeof window>"u"||window.isSecureContext!==!1,No=15;var _i="light",Np=["light","dark","mahogany","blush","coffee","midnight"],Fi=!1;function ga(e){return typeof e=="string"&&Np.includes(e)}function Di(e){if(ga(e))return e;try{let r=typeof window<"u"?localStorage.getItem("akropolys_theme"):null;if(ga(r))return r}catch{}return _i}function Io(){if(Fi)return!0;try{return localStorage.getItem("akropolys_themes_seen")==="true"||ga(localStorage.getItem("akropolys_theme"))}catch{return!1}}function Hi(){Fi=!0;try{localStorage.setItem("akropolys_themes_seen","true")}catch{}}import ra,{useState as $e,useEffect as yt,useRef as pt,useCallback as Nt,useId as Bm}from"react";import{Fragment as Tb,jsx as ee,jsxs as lt}from"react/jsx-runtime";var Ip=({className:e,size:r=18,tight:t=!1})=>ee("svg",{className:oe("hsk-brand-mark",e),width:r,height:r,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:lt("g",{transform:"translate(22.7 19) scale(0.62)",fill:"currentColor",fillRule:"evenodd",children:[ee("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"}),ee("circle",{cx:"55",cy:"82",r:"3.4"})]})}),mr=Ip,Bi=()=>lt("svg",{className:"hsk-stop-icon",width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",children:[ee("circle",{className:"hsk-stop-ring",cx:"12",cy:"12",r:"9.5",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round"}),ee("rect",{className:"hsk-stop-core",x:"8.5",y:"8.5",width:"7",height:"7",rx:"1.8",fill:"currentColor"})]});var $i=()=>lt("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.2",strokeLinecap:"round",strokeLinejoin:"round",children:[ee("path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"}),ee("polyline",{points:"15 3 21 3 21 9"}),ee("line",{x1:"10",y1:"14",x2:"21",y2:"3"})]}),qi=()=>ee("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"currentColor",children:ee("path",{d:"M8 5v14l11-7z"})}),on=()=>lt("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:[ee("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),ee("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]}),sn=()=>ee("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:ee("path",{d:"m15 18-6-6 6-6"})}),cn=()=>ee("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:ee("path",{d:"m9 18 6-6-6-6"})}),Oi=()=>lt("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[ee("path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8"}),ee("path",{d:"M3 3v5h5"}),ee("path",{d:"M12 7v5l4 2"})]}),xa=()=>ee("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:ee("path",{d:"M19 21 12 16l-7 5V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z"})}),va=()=>lt("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[ee("path",{d:"M3 6h18"}),ee("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 Wi=()=>ee("svg",{width:"19",height:"19",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",children:ee("path",{d:"M12 5v14M5 12h14"})}),Ui=({size:e=18}={})=>lt("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[ee("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((r,t)=>ee("circle",{className:"hsk-mimi-dot",style:{"--hsk-dot":t},cx:r,cy:"11.6",r:"1.15",fill:"currentColor",stroke:"none"},r))]}),Ao=()=>ee("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:ee("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"})}),Gi=()=>lt("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[ee("rect",{x:"3",y:"3",width:"18",height:"18",rx:"4"}),ee("circle",{className:"hsk-img-sun",cx:"9",cy:"9",r:"1.8"}),ee("path",{className:"hsk-img-ridge",d:"m21 15-4.5-4.5L6 21"})]}),Fn=({className:e,size:r=13}={})=>lt("svg",{className:oe("hsk-retry-icon",e),width:r,height:r,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.2",strokeLinecap:"round",strokeLinejoin:"round",children:[ee("path",{className:"hsk-retry-arrow",d:"M21.5 2v6h-6"}),ee("path",{className:"hsk-retry-arc",d:"M21.34 15.57a10 10 0 1 1-.57-8.38l5.67-5.19"})]}),ya=({className:e,size:r=13}={})=>lt("svg",{className:oe("hsk-edit-icon",e),width:r,height:r,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.2",strokeLinecap:"round",strokeLinejoin:"round",children:[ee("path",{className:"hsk-edit-pencil",d:"M17 3a2.85 2.83 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5Z"}),ee("path",{className:"hsk-edit-lead",d:"m15 5 4 4"})]}),Fr=({className:e,size:r=13}={})=>lt("svg",{className:oe("hsk-copy-icon",e),width:r,height:r,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[ee("rect",{className:"hsk-copy-sheet",x:"8.5",y:"7",width:"12",height:"14",rx:"3.5"}),ee("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"})]}),Dr=({className:e,size:r=13}={})=>ee("svg",{className:oe("hsk-check-icon",e),width:r,height:r,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.4",strokeLinecap:"round",strokeLinejoin:"round",children:ee("polyline",{className:"hsk-check-mark",points:"20 6 9 17 4 12"})}),Dn=({className:e,size:r=18}={})=>lt("svg",{className:e,width:r,height:r,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[ee("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"}),ee("path",{d:"M19 10v2a7 7 0 0 1-14 0v-2"}),ee("line",{x1:"12",y1:"19",x2:"12",y2:"22"})]}),Vi=()=>lt("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[ee("line",{className:"hsk-mic-slash",x1:"2",y1:"2",x2:"22",y2:"22"}),ee("path",{d:"M18.89 13.23A7.12 7.12 0 0 0 19 12v-2"}),ee("path",{d:"M5 10v2a7 7 0 0 0 12 5"}),ee("path",{d:"M15 9.34V5a3 3 0 0 0-5.68-1.33"}),ee("path",{d:"M9 9v3a3 3 0 0 0 5.12 2.12"}),ee("line",{x1:"12",y1:"19",x2:"12",y2:"22"})]}),Po=({active:e})=>lt("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[ee("path",{className:"hsk-wave-bar hsk-wave-bar--tip",style:{"--hsk-bar":0,"--hsk-amp":1.9,"--hsk-period":"1.24s"},d:"M2 12h2"}),ee("path",{className:"hsk-wave-bar",style:{"--hsk-bar":1,"--hsk-amp":1.78,"--hsk-period":"0.94s"},d:"M6 8v8"}),ee("path",{className:"hsk-wave-bar",style:{"--hsk-bar":2,"--hsk-amp":1.26,"--hsk-period":"1.42s"},d:"M10 4v16"}),ee("path",{className:"hsk-wave-bar",style:{"--hsk-bar":3,"--hsk-amp":1.62,"--hsk-period":"1.08s"},d:"M14 7v10"}),ee("path",{className:"hsk-wave-bar",style:{"--hsk-bar":4,"--hsk-amp":2.05,"--hsk-period":"0.86s"},d:"M18 9v6"}),ee("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"})]}),ji=()=>lt("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:[ee("polygon",{className:"hsk-kite-wing hsk-kite-wing--far",points:"22 2 11 13 2 9"}),ee("polygon",{className:"hsk-kite-wing hsk-kite-wing--near",points:"22 2 15 22 11 13"}),ee("line",{className:"hsk-kite-spine",x1:"22",y1:"2",x2:"11",y2:"13"})]}),Yi=()=>lt("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[ee("circle",{className:"hsk-sun-core",cx:"12",cy:"12",r:"5"}),lt("g",{className:"hsk-sun-rays",children:[ee("line",{x1:"12",y1:"1",x2:"12",y2:"3"}),ee("line",{x1:"12",y1:"21",x2:"12",y2:"23"}),ee("line",{x1:"4.22",y1:"4.22",x2:"5.64",y2:"5.64"}),ee("line",{x1:"18.36",y1:"18.36",x2:"19.78",y2:"19.78"}),ee("line",{x1:"1",y1:"12",x2:"3",y2:"12"}),ee("line",{x1:"21",y1:"12",x2:"23",y2:"12"}),ee("line",{x1:"4.22",y1:"19.78",x2:"5.64",y2:"18.36"}),ee("line",{x1:"18.36",y1:"5.64",x2:"19.78",y2:"4.22"})]})]}),Ki=()=>ee("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:ee("path",{className:"hsk-moon-body",d:"M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"})}),Xi=()=>lt("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[ee("path",{className:"hsk-wood-layer",style:{"--hsk-layer":0},d:"M12 2L2 7l10 5 10-5-10-5z"}),ee("path",{className:"hsk-wood-layer",style:{"--hsk-layer":2},d:"M2 17l10 5 10-5"}),ee("path",{className:"hsk-wood-layer",style:{"--hsk-layer":1},d:"M2 12l10 5 10-5"})]}),Qi=()=>ee("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:ee("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"})}),Ji=()=>lt("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[ee("path",{d:"M17 8h1a4 4 0 1 1 0 8h-1"}),ee("path",{d:"M3 8h14v9a4 4 0 0 1-4 4H7a4 4 0 0 1-4-4z"}),ee("line",{className:"hsk-steam",style:{"--hsk-steam":0},x1:"6",y1:"1",x2:"6",y2:"4"}),ee("line",{className:"hsk-steam",style:{"--hsk-steam":1},x1:"10",y1:"1",x2:"10",y2:"4"}),ee("line",{className:"hsk-steam",style:{"--hsk-steam":2},x1:"14",y1:"1",x2:"14",y2:"4"})]}),Zi=()=>lt("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[ee("path",{d:"M12 3a6.5 6.5 0 0 0 9 9 9 9 0 1 1-9-9z"}),ee("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 ec=({size:e=11})=>lt("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.6",strokeLinecap:"round",strokeLinejoin:"round",children:[ee("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),ee("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]}),tc=({className:e,size:r=16,filled:t=!1}={})=>lt("svg",{className:oe("hsk-pin-icon",e),width:r,height:r,viewBox:"0 0 24 24",fill:t?"currentColor":"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[ee("line",{x1:"12",y1:"17",x2:"12",y2:"22"}),ee("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 ln=[{id:"light",label:"Silver",Icon:Yi,dark:!1},{id:"dark",label:"Onyx",Icon:Ki,dark:!0},{id:"mahogany",label:"Mahogany",Icon:Xi,dark:!0},{id:"blush",label:"Blush",Icon:Qi,dark:!1},{id:"coffee",label:"Coffee",Icon:Ji,dark:!1},{id:"midnight",label:"Midnight",Icon:Zi,dark:!0}];function _o(e){return ln.find(r=>r.id===e)??ln[0]}import{useKiku as $m,subscribeLiveStream as qm}from"@akropolys/sdk";import{useAkropolysContext as Om,useCardFields as Wm}from"@akropolys/sdk";import{useEffect as Ap,useRef as Pp}from"react";function _p(e,r,t=.55){return r<=0?0:e*r*t/(r+t*Math.abs(e))}function Fp({stiffness:e=500,damping:r=45,onFrame:t,onRest:n}){let a=0,o=0,s=0,c=null,i=0,l=p=>{let d=Math.min(.032,(p-i)/1e3)||.016666666666666666;i=p;let u=Math.max(1,Math.ceil(d/.008)),f=d/u;for(let k=0;k<u;k++){let m=-e*(a-s)-r*o;o+=m*f,a+=o*f}if(Math.abs(a-s)<.5&&Math.abs(o)<.5){a=s,o=0,c=null,t(a),n?.();return}t(a),c=requestAnimationFrame(l)},h=()=>{c===null&&(i=performance.now(),c=requestAnimationFrame(l))};return{track(p){c!==null&&(cancelAnimationFrame(c),c=null),a=p,o=0,t(a)},to(p,d=0){s=p,o=d,h()},get value(){return a},stop(){c!==null&&(cancelAnimationFrame(c),c=null)}}}function rc({panel:e,scroller:r,onDismiss:t,quiescent:n,enabled:a=!0}){let o=Pp(t);o.current=t,Ap(()=>{if(!a)return;let s=e();if(!s||typeof matchMedia=="function"&&matchMedia("(prefers-reduced-motion: reduce)").matches)return;let c=!1,i=0,l=0,h=0,p=-1,d=0,u=0,f=0,k=!1,m=!1,g=Fp({onFrame:D=>{s.style.transform=D===0?"":`translate3d(0, ${D}px, 0)`;let T=s.parentElement;T&&(T.style.opacity=D===0?"":String(Math.max(.35,1-D/(s.offsetHeight||1)*1.1)))},onRest:()=>{s.style.willChange="",m&&(m=!1,o.current())}}),R=()=>{let D=r();return D&&D.scrollTop>0?!1:n?n():!0},S=D=>{D.pointerType==="mouse"||!D.isPrimary||(c=!1,k=!1,p=D.pointerId,i=d=D.clientY,l=D.clientX,u=D.timeStamp,f=0,h=g.value)},y=D=>{if(D.pointerId!==p)return;let T=D.clientY-i,O=D.clientX-l;if(!k){if(Math.abs(T)<6&&Math.abs(O)<6)return;if(k=!0,c=T>0&&Math.abs(T)>Math.abs(O)&&R(),c){try{s.setPointerCapture(D.pointerId)}catch{}g.stop(),s.style.animation="none",s.style.willChange="transform"}}if(!c)return;let w=D.timeStamp-u;w>0&&(f=(D.clientY-d)/w*1e3),d=D.clientY,u=D.timeStamp;let I=h+T;g.track(I<0?-_p(-I,s.offsetHeight||1):I),D.cancelable&&D.preventDefault()},A=D=>{if(D.pointerId!==p)return;try{s.hasPointerCapture(D.pointerId)&&s.releasePointerCapture(D.pointerId)}catch{}if(p=-1,!c)return;c=!1;let T=s.offsetHeight||1;g.value+f*.12>T*.3||f>900?(m=!0,s.style.pointerEvents="none",g.to(T,f)):g.to(0,f)};return s.addEventListener("pointerdown",S,{passive:!0}),s.addEventListener("pointermove",y,{passive:!1}),s.addEventListener("pointerup",A,{passive:!0}),s.addEventListener("pointercancel",A,{passive:!0}),()=>{g.stop(),s.removeEventListener("pointerdown",S),s.removeEventListener("pointermove",y),s.removeEventListener("pointerup",A),s.removeEventListener("pointercancel",A),s.style.transform="",s.style.willChange="",s.style.animation="",s.style.pointerEvents="";let D=s.parentElement;D&&(D.style.opacity="")}},[a,e,r,n])}function hn(e){return new Promise((r,t)=>{let n=new FileReader;n.onload=()=>r(n.result),n.onerror=()=>t(n.error??new Error("read failed")),n.readAsDataURL(e)})}async function wa(e,r){if(!r&&(e.type==="image/gif"||e.type==="image/svg+xml"||e.size<=307200))return hn(e);try{let t=await createImageBitmap(e),n=Math.min(1,1536/Math.max(t.width,t.height)),a=Math.max(1,Math.round(t.width*n)),o=Math.max(1,Math.round(t.height*n));t.close?.();let s=await createImageBitmap(e,{resizeWidth:a,resizeHeight:o,resizeQuality:"high"});try{let c=document.createElement("canvas");c.width=a,c.height=o;let i=c.getContext("2d");if(!i){if(r)throw new Error("image conversion failed");return hn(e)}r&&(i.fillStyle="#fff",i.fillRect(0,0,a,o)),i.drawImage(s,0,0);let l=!r&&e.type==="image/png",h=await new Promise(p=>c.toBlob(p,l?"image/png":"image/jpeg",.85));if(!h){if(r)throw new Error("image conversion failed");return hn(e)}return!r&&h.size>=e.size?hn(e):hn(h)}finally{s.close?.()}}catch(t){if(r)throw t;return hn(e)}}import{useEffect as oc,useRef as Hr,useState as Br}from"react";var nc=(e,r)=>Math.hypot(e.x-r.x,e.y-r.y);function Dp(e){let r=0;for(let t=1;t<e.length;t++)r+=nc(e[t-1],e[t]);return r}function Fo(e){let r=1/0,t=1/0,n=-1/0,a=-1/0;for(let o of e)o.x<r&&(r=o.x),o.y<t&&(t=o.y),o.x>n&&(n=o.x),o.y>a&&(a=o.y);return{minX:r,minY:t,maxX:n,maxY:a}}var pn=e=>Math.max(0,Math.min(1e3,Math.round(e)));function Do(e,r,t){return[pn(e.minY/t*1e3),pn(e.minX/r*1e3),pn(e.maxY/t*1e3),pn(e.maxX/r*1e3)]}function Hp(e,r){let[t,n,a,o]=e,[s,c,i,l]=r,h=Math.min(o,l)-Math.max(n,c),p=Math.min(a,i)-Math.max(t,s);if(h<=0||p<=0)return!1;let d=Math.min((o-n)*(a-t),(l-c)*(i-s));return d>0&&h*p/d>.35}var Bp=(e,r)=>[Math.min(e[0],r[0]),Math.min(e[1],r[1]),Math.max(e[2],r[2]),Math.max(e[3],r[3])];function $p(e,r,t){if(e.length<2)return null;let n=Fo(e),a=Do(n,r,t),o=Math.hypot(n.maxX-n.minX,n.maxY-n.minY);if(o<4)return null;let s=Dp(e),c=nc(e[0],e[e.length-1]),i=s/Math.max(c,1e-6);return c/o<.3&&s>o*1.8?{gesture:"ring",box:a,straight:!1}:i<1.25?{gesture:"arrow",box:a,to:[pn(e[e.length-1].y/t*1e3),pn(e[e.length-1].x/r*1e3)],straight:!0}:{gesture:"scribble",box:a,straight:!1}}function ac(e,r,t){if(!r||!t)return[];let n=[],a=[],o=[];for(let i of e){if(i.kind==="pin"&&typeof i.x=="number"&&typeof i.y=="number"){let l={x:i.x,y:i.y};o.push({gesture:"pin",id:i.id,text:i.label,box:Do(Fo([l,l]),r,t)});continue}if(i.kind==="text"&&i.value&&typeof i.x=="number"&&typeof i.y=="number"){let l={x:i.x,y:i.y};a.push({gesture:"text",box:Do(Fo([l,l]),r,t),text:i.value});continue}if(i.kind==="stroke"&&i.tool!=="eraser"&&i.points){let l=$p(i.points,r,t);l&&n.push(l)}}let s=new Set,c=[];for(let i=0;i<n.length;i++){if(s.has(i))continue;let l=n[i];for(let h=i+1;h<n.length;h++)s.has(h)||!l.straight||!n[h].straight||Hp(l.box,n[h].box)&&(s.add(h),l={gesture:"cross",box:Bp(l.box,n[h].box),straight:!1});s.add(i),c.push(l.gesture==="arrow"?{gesture:"arrow",box:l.box,to:l.to}:{gesture:l.gesture,box:l.box})}return[...o,...c,...a]}import{jsx as gt,jsxs as $r}from"react/jsx-runtime";var sc="#ff5a5a",qp=1280,Op=4,Wp=80;function Up(e,r,t){let n=[],a="";for(let o of r.split(/\s+/)){let s=a?`${a} ${o}`:o;a&&e.measureText(s).width>t?(n.push(a),a=o):a=s}return a&&n.push(a),n.slice(0,3)}function Gp(e,r){let t=`${r}%`;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 ic({src:e,onCancel:r,onSend:t,t:n}){let[a,o]=Br(null),[s,c]=Br(!1),[i,l]=Br("pin"),h=Hr(0),[p,d]=Br(null),u=Hr(null),[f,k]=Br([{points:[],closed:!1}]),m=f[f.length-1],M=Hr(`selection-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,10)}`),g=Hr(null),R=C=>k(z=>[...z.slice(-66),C]),S=i==="select",[y,A]=Br([]),[D,T]=Br(!1),O=Hr(null),w=Hr(null);oc(()=>{let C=new Image;return C.crossOrigin="anonymous",C.onload=()=>o(C),C.onerror=()=>c(!0),C.src=e,()=>{C.onload=null,C.onerror=null}},[e]);let I=(()=>{if(!a)return{w:0,h:0};let C=Math.min(1,qp/Math.max(a.naturalWidth,a.naturalHeight));return{w:Math.round(a.naturalWidth*C),h:Math.round(a.naturalHeight*C)}})(),$=Hr(null),_=C=>{let z=O.current;if(!z||!a)return;let x=z.getContext("2d");if(!x)return;$.current||($.current=document.createElement("canvas"));let se=$.current;se.width=z.width,se.height=z.height;let te=se.getContext("2d"),W=C?[...y,C]:y;for(let b of W)b.kind==="stroke"&&(te.save(),te.globalCompositeOperation=b.tool==="eraser"?"destination-out":"source-over",te.strokeStyle=sc,te.lineWidth=b.tool==="eraser"?b.size*3:b.size,te.lineCap="round",te.lineJoin="round",te.beginPath(),b.points.forEach((E,V)=>V===0?te.moveTo(E.x,E.y):te.lineTo(E.x,E.y)),b.points.length===1&&te.lineTo(b.points[0].x+.01,b.points[0].y),te.stroke(),te.restore());x.clearRect(0,0,z.width,z.height),x.drawImage(a,0,0,z.width,z.height),x.drawImage(se,0,0);let ne=m.points.map((b,E)=>g.current?.index===E?g.current.point:b);ne.length&&(x.save(),x.beginPath(),ne.forEach((b,E)=>E?x.lineTo(b.x,b.y):x.moveTo(b.x,b.y)),m.closed&&(x.closePath(),x.fillStyle="#22c55e33",x.fill()),x.strokeStyle="#22c55e",x.lineWidth=Math.max(2,I.w/400),x.stroke(),x.restore());for(let b of ne)x.beginPath(),x.arc(b.x,b.y,Math.max(3,I.w/260),0,Math.PI*2),x.fillStyle="#ffffff",x.fill(),x.strokeStyle="#15803d",x.stroke();for(let b of W){if(b.kind!=="pin")continue;let E=b.size;if(x.save(),x.beginPath(),x.moveTo(b.x,b.y),x.bezierCurveTo(b.x-E*2,b.y-E*2,b.x-E,b.y-E*3.5,b.x,b.y-E*3.5),x.bezierCurveTo(b.x+E,b.y-E*3.5,b.x+E*2,b.y-E*2,b.x,b.y),x.fillStyle=sc,x.fill(),x.lineWidth=Math.max(1,E/7),x.strokeStyle="#fff",x.stroke(),x.beginPath(),x.arc(b.x,b.y-E*2.2,E*.5,0,Math.PI*2),x.fillStyle="#fff",x.fill(),b.label){x.font=`600 ${E*1.2}px system-ui, sans-serif`,x.textAlign="center",x.textBaseline="middle";let V=Up(x,b.label,z.width*.32),X=E*1.5,Y=Math.min(z.width,Math.max(...V.map(le=>x.measureText(le).width))+E),re=V.length*X+E*.4,ge=Math.max(Y/2,Math.min(z.width-Y/2,b.x)),ie=Math.max(re,b.y-E*3.7);x.fillStyle="rgba(0,0,0,.8)",x.fillRect(ge-Y/2,ie-re,Y,re),x.fillStyle="#fff",V.forEach((le,q)=>x.fillText(le,ge,ie-re+E*.2+X*(q+.5),Y-E))}x.restore()}};oc(()=>{_()},[a,y,m,I.w,I.h]);let Q=C=>{let z=O.current,x=z.getBoundingClientRect();return{x:Math.max(0,Math.min(z.width,(C.clientX-x.left)/x.width*z.width)),y:Math.max(0,Math.min(z.height,(C.clientY-x.top)/x.height*z.height))}},be=()=>Math.max(4,Math.round(I.w/180)),Z=C=>{A(z=>z.filter(x=>x.kind!=="pin"||x.id!==C)),d(null)},U=()=>{let C=y.find(z=>z.kind==="pin"&&z.id===p);C?.kind==="pin"&&!C.label.trim()?Z(C.id):d(null)},de=C=>{if(!a)return;let z=Q(C);if(i==="pin"){let x=y.find(W=>W.kind==="pin"&&Math.hypot(z.x-W.x,z.y-(W.y-W.size*1.7))<W.size*2);if(x?.kind==="pin"){d(x.id),C.currentTarget.setPointerCapture(C.pointerId),u.current={id:x.id,offset:{x:z.x-x.x,y:z.y-x.y}};return}if(p){U();return}if(y.filter(W=>W.kind==="pin").length>=Op)return;let se=`pin-${++h.current}`,te=Math.max(10,I.w/O.current.getBoundingClientRect().width*9);A(W=>[...W,{kind:"pin",...z,id:se,label:"",size:te}]),d(se);return}if(i==="select"){let x=m.points[0],se=O.current.getBoundingClientRect(),te=12*I.w/se.width;if(!m.closed&&x&&m.points.length>=3&&Math.hypot(z.x-x.x,z.y-x.y)<te)R({...m,closed:!0});else{let W=m.points.findIndex(ne=>Math.hypot(z.x-ne.x,z.y-ne.y)<te);if(W>=0){C.currentTarget.setPointerCapture(C.pointerId),g.current={index:W,point:z};return}if(m.closed||m.points.length>=64)return;R({...m,points:[...m.points,z]})}return}C.target.setPointerCapture(C.pointerId),w.current={kind:"stroke",tool:i,size:be(),points:[z]},_(w.current)},K=C=>{if(u.current){let{id:z,offset:x}=u.current,se=Q(C);A(te=>te.map(W=>W.kind==="pin"&&W.id===z?{...W,x:Math.max(0,Math.min(I.w,se.x-x.x)),y:Math.max(0,Math.min(I.h,se.y-x.y))}:W));return}if(g.current){g.current.point=Q(C),_();return}w.current&&(w.current.points.push(Q(C)),_(w.current))},F=()=>{if(u.current){u.current=null;return}if(g.current){let{index:z,point:x}=g.current;g.current=null,R({...m,points:m.points.map((se,te)=>te===z?x:se)});return}if(!w.current)return;let C=w.current;w.current=null,A(z=>[...z,C])},B=y.filter(C=>C.kind==="pin"),N=B.find(C=>C.id===p),L=!!a&&!(m.points.length>0&&!m.closed)&&B.length>0&&B.every(C=>C.label.trim()),P=()=>{if(!(!L||!a))try{let C=document.createElement("canvas");C.width=I.w,C.height=I.h;let z=C.getContext("2d");if(!z){T(!0);return}z.drawImage(a,0,0,I.w,I.h);let x=C.toDataURL("image/jpeg",.92),se=O.current?.toDataURL("image/jpeg",.85)||x,te=ac(y,I.w,I.h);if(m.closed){let W=b=>Math.round(b/I.w*1e3),ne=b=>Math.round(b/I.h*1e3);te.unshift({gesture:"selection",id:M.current,box:[ne(Math.min(...m.points.map(b=>b.y))),W(Math.min(...m.points.map(b=>b.x))),ne(Math.max(...m.points.map(b=>b.y))),W(Math.max(...m.points.map(b=>b.x)))],points:m.points.map(b=>[W(b.x),ne(b.y)])})}t(x,B.map(W=>W.label.trim()).join("; "),te,se)}catch{T(!0)}},j=i==="pin"?"markupPinHint":i==="select"?m.closed?"markupSelectedHint":"markupOutlineHint":"markupSketchHint";return $r("div",{className:"hsk-markup",role:"dialog","aria-label":n("markupDialogLabel"),children:[$r("div",{className:"hsk-markup-head",children:[gt("span",{className:"hsk-markup-title",role:"status",children:n(j)}),gt("button",{className:"hsk-markup-cancel",onClick:r,children:n("markupCancel")})]}),gt("div",{className:"hsk-markup-stage",children:s?gt("div",{className:"hsk-markup-error",children:n("markupLoadError")}):a?$r("div",{className:"hsk-markup-canvas-wrap",children:[gt("canvas",{ref:O,width:I.w,height:I.h,className:`hsk-markup-canvas hsk-markup-canvas--${i}`,style:{touchAction:"none",cursor:S||i==="pin"?"crosshair":void 0},onPointerDown:de,onPointerMove:K,onPointerUp:F,onPointerCancel:()=>{u.current=null,g.current=null,w.current=null,_()}}),i==="pin"&&N&&$r("div",{className:"hsk-markup-pinlabel",style:Gp(N.x/I.w*100,Math.max(12,(N.y-N.size*4)/I.h*100)),children:[gt("input",{autoFocus:!0,"aria-label":n("markupPinLabel"),placeholder:n("markupPinLabelHint"),value:N.label,maxLength:Wp,style:{width:`${Math.min(34,Math.max(16,N.label.length+2))}ch`},onChange:C=>A(z=>z.map(x=>x.kind==="pin"&&x.id===N.id?{...x,label:C.target.value}:x)),onKeyDown:C=>{(C.key==="Enter"||C.key==="Escape")&&U()}}),gt("button",{"aria-label":n("markupRemovePin"),title:n("markupRemovePin"),onClick:()=>Z(N.id),children:"\xD7"})]})]}):gt("div",{className:"hsk-markup-loading",children:n("markupLoading")})}),$r("div",{className:"hsk-markup-tools",children:[$r("button",{className:`hsk-markup-tool${i==="pin"?" hsk-markup-tool--on":""}`,onClick:()=>l("pin"),children:[$r("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:[gt("path",{d:"M20 10c0 6-8 12-8 12S4 16 4 10a8 8 0 1 1 16 0Z"}),gt("circle",{cx:"12",cy:"10",r:"3"})]}),n("markupPin")]}),gt("button",{className:`hsk-markup-tool${i==="select"?" hsk-markup-tool--on":""}`,onClick:()=>{d(null),l("select")},children:n("markupSelect")}),gt("button",{className:"hsk-markup-tool",disabled:m.closed||m.points.length<3,onClick:()=>R({...m,closed:!0}),children:n("markupCloseOutline")}),gt("button",{className:`hsk-markup-tool${i==="pen"?" hsk-markup-tool--on":""}`,onClick:()=>{d(null),l("pen")},children:n("markupSketch")}),gt("button",{className:`hsk-markup-tool${i==="eraser"?" hsk-markup-tool--on":""}`,onClick:()=>{d(null),l("eraser")},children:n("markupEraser")}),gt("button",{className:"hsk-markup-tool",onClick:()=>S?k(C=>C.length>1?C.slice(0,-1):C):A(C=>C.slice(0,-1)),disabled:S?f.length<2:y.length===0,children:n("markupUndo")}),gt("button",{className:"hsk-markup-tool",onClick:()=>{A([]),d(null),k([{points:[],closed:!1}]),l("pin")},disabled:y.length===0&&!m.points.length,children:n("markupClear")}),gt("button",{className:"hsk-markup-go",onClick:P,disabled:!L,children:n("markupSend")})]}),D&>("div",{className:"hsk-markup-error",children:n("markupError")})]})}import Vp,{useEffect as Oo,useRef as Mr,useState as jp}from"react";import{jsx as Ca}from"react/jsx-runtime";function bc(e){let r=2166136261;for(let t=0;t<e.length;t++)r^=e.charCodeAt(t),r=Math.imul(r,16777619);return r>>>0}function Bn(e){let r=e>>>0;return()=>{r=r+1831565813>>>0;let t=Math.imul(r^r>>>15,1|r);return t=t+Math.imul(t^t>>>7,61|t)^t,((t^t>>>14)>>>0)/4294967296}}var cc=e=>e*e*(3-2*e);function Yp(e){let t=new Float32Array(65536);for(let a=0;a<t.length;a++)t[a]=e();let n=(a,o)=>t[(o&255)*256+(a&255)];return(a,o)=>{let s=Math.floor(a),c=Math.floor(o),i=cc(a-s),l=cc(o-c),h=n(s,c),p=n(s+1,c),d=n(s,c+1),u=n(s+1,c+1);return(h+(p-h)*i)*(1-l)+(d+(u-d)*i)*l}}function Kp(e,r,t,n){let a=t/Math.SQRT2,o=Math.ceil(e/a),s=Math.ceil(r/a),c=new Int32Array(o*s).fill(-1),i=[],l=[],h=(d,u)=>{let f=i.length;i.push([d,u]),c[Math.floor(u/a)*o+Math.floor(d/a)]=f,l.push(f)},p=(d,u)=>{if(d<0||u<0||d>=e||u>=r)return!1;let f=Math.floor(d/a),k=Math.floor(u/a);for(let m=Math.max(k-2,0);m<=Math.min(k+2,s-1);m++)for(let M=Math.max(f-2,0);M<=Math.min(f+2,o-1);M++){let g=c[m*o+M];if(g<0)continue;let R=i[g][0]-d,S=i[g][1]-u;if(R*R+S*S<t*t)return!1}return!0};for(h(n()*e,n()*r);l.length;){let d=n()*l.length|0,[u,f]=i[l[d]],k=!1;for(let m=0;m<24;m++){let M=n()*Math.PI*2,g=t*(1+n()),R=u+Math.cos(M)*g,S=f+Math.sin(M)*g;if(p(R,S)){h(R,S),k=!0;break}}k||l.splice(d,1)}return i}var bt=(e,r)=>(e()-.5)*r,Ho=[(e,r,t)=>{let n=r*.5,a=r*(.14+t()*.04),o=r*.07;e.beginPath(),e.moveTo(-a-o*.6,-n),e.lineTo(a+o*.6,-n),e.moveTo(-a,-n+o),e.lineTo(a,-n+o),e.moveTo(-a,-n+o),e.lineTo(-a*.85,n-o),e.moveTo(a,-n+o),e.lineTo(a*.85,n-o),e.moveTo(0,-n+o*1.7),e.lineTo(0,n-o*1.7),e.moveTo(-a,n-o),e.lineTo(a,n-o),e.moveTo(-a-o*.6,n),e.lineTo(a+o*.6,n),e.stroke()},(e,r,t)=>{let n=r*.5,a=-n*(.18+t()*.1);e.beginPath(),e.moveTo(-n,a),e.lineTo(0,-n),e.lineTo(n,a),e.closePath(),e.moveTo(-n*.92,a+n*.16),e.lineTo(n*.92,a+n*.16);for(let o of[-.62,-.21,.21,.62])e.moveTo(n*o,a+n*.16),e.lineTo(n*o,n*.8);e.moveTo(-n,n*.8),e.lineTo(n,n*.8),e.stroke()},(e,r,t)=>{let n=r*.5,a=n*(.48+t()*.12);e.beginPath(),e.moveTo(-n*.2,-n*.86),e.lineTo(n*.2,-n*.86),e.moveTo(-n*.15,-n*.78),e.bezierCurveTo(-a,-n*.3,-a*.85,n*.6,0,n*.86),e.bezierCurveTo(a*.85,n*.6,a,-n*.3,n*.15,-n*.78),e.moveTo(-n*.17,-n*.64),e.quadraticCurveTo(-a*1.16,-n*.48,-a*.7,-n*.04),e.moveTo(n*.17,-n*.64),e.quadraticCurveTo(a*1.16,-n*.48,a*.7,-n*.04),e.stroke()},(e,r,t)=>{let n=r*.5;e.beginPath(),e.moveTo(-n*.9,n*.52),e.quadraticCurveTo(0,-n*.18,n*.9,-n*.58),e.stroke();let a=4+(t()*3|0);for(let o=0;o<a;o++){let s=.16+o/a*.8,c=-n*.9+s*n*1.8,i=n*.52-s*n*1.16+(1-s)*s*n*.3,l=o%2?1:-1,h=n*(.26+t()*.1);e.beginPath(),e.moveTo(c,i),e.quadraticCurveTo(c+h*.5,i+l*h*.66,c+h*.9,i+l*h*.08),e.quadraticCurveTo(c+h*.42,i+l*h*.04,c,i),e.stroke()}},(e,r,t)=>{let n=r*.5;e.beginPath(),e.moveTo(-n*.85,-n*.7),e.quadraticCurveTo(-n*.1,-n*.35,n*.2,n*.1),e.stroke();let a=[[-n*.45,-n*.12],[n*.05,n*.3],[n*.42,-n*.4]];for(let[o,s]of a)e.beginPath(),e.moveTo(o,s-n*.28),e.lineTo(o-n*.02,s-n*.16),e.stroke(),e.beginPath(),e.ellipse(o,s,n*(.15+t()*.04),n*.19,bt(t,.5),0,Math.PI*2),e.stroke()},(e,r,t)=>{let n=r*.5;for(let a of[-1,1]){e.beginPath(),e.arc(0,0,n*.72,a>0?-1.25:1.25,a>0?1.25:Math.PI*2-1.25,a<0),e.stroke();for(let o=0;o<5;o++){let s=-1.05+o/4*2.1,c=Math.sin(s)*a*n*.72,i=Math.cos(s)*n*.72,l=n*(.2+t()*.08);e.beginPath(),e.moveTo(c,i),e.quadraticCurveTo(c+a*l*.9,i-l*.5,c+a*l*.6,i-l*1.05),e.stroke()}}},(e,r)=>{let t=r*.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,r)=>{let t=r*.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,r,t)=>{let n=r*.5;e.beginPath(),e.arc(0,0,n*.4,0,Math.PI*2),e.stroke();let a=t()*.5;for(let o=0;o<8;o++){let s=a+o/8*Math.PI*2;e.beginPath(),e.moveTo(Math.cos(s)*n*.6,Math.sin(s)*n*.6),e.lineTo(Math.cos(s)*n*.94,Math.sin(s)*n*.94),e.stroke()}},(e,r)=>{let t=r*.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 n of[-.16,.02,.2])e.moveTo(t*n,-t*.56),e.lineTo(t*n,t*.62);e.stroke()},(e,r,t)=>{let n=r*.5,a=n*(.4+t()*.18);e.beginPath(),e.moveTo(-n,n*.16),e.quadraticCurveTo(-n*.5,-a,0,-n*.02),e.quadraticCurveTo(n*.5,-a,n,n*.16),e.stroke()}],lc=[(e,r,t)=>{let n=r*.5,a=-n+bt(t,n*.3),o=bt(t,n);e.beginPath(),e.moveTo(a,o);let s=4+(t()*4|0);for(let c=0;c<s;c++){let i=a+n*2/s+bt(t,n*.5),l=bt(t,n*1.5);e.quadraticCurveTo(a+bt(t,n*.9),o+bt(t,n*1.6),i,l),a=i,o=l}e.stroke()},(e,r,t)=>{let n=r*.5,a=2.2+t()*1.6,o=t()<.5?-1:1;e.beginPath();for(let s=0;s<=60;s++){let c=s/60,i=o*c*a*Math.PI*2,l=n*c*(.9+bt(t,.06)),h=Math.cos(i)*l,p=Math.sin(i)*l;s===0?e.moveTo(h,p):e.lineTo(h,p)}e.stroke()},(e,r,t)=>{let n=r*.5,a=4+(t()*4|0),o=bt(t,.7);for(let s=0;s<a;s++){let c=-n+s/(a-1)*n*2+bt(t,n*.16),i=n*(.7+t()*.6);e.beginPath(),e.moveTo(c-o*i*.5,-i*.5),e.quadraticCurveTo(c+bt(t,n*.2),0,c+o*i*.5,i*.5),e.stroke()}},(e,r,t)=>{let n=r*.5,a=2+(t()*3|0),o=n*2/a;e.beginPath(),e.moveTo(-n,n*.4);for(let s=0;s<a;s++){let c=-n+s*o,i=o*(.42+t()*.18);e.bezierCurveTo(c+i*.2,n*.4-i*2.1,c+o-i*.2,n*.4-i*2.1,c+o,n*.4+bt(t,n*.14))}e.stroke()}],hc=[(e,r,t)=>{e.beginPath(),e.arc(0,0,r*.1+t()*r*.04,0,Math.PI*2),e.fill()},(e,r,t)=>{e.beginPath(),e.arc(bt(t,r*.04),bt(t,r*.04),r*.32,0,Math.PI*2),e.stroke()},(e,r,t)=>{let n=r*.4,a=n*(.2+t()*.12);e.beginPath(),e.moveTo(0,-n),e.quadraticCurveTo(a,-a,n,0),e.quadraticCurveTo(a,a,0,n),e.quadraticCurveTo(-a,a,-n,0),e.quadraticCurveTo(-a,-a,0,-n),e.stroke()},(e,r,t)=>{let n=r*.4;e.beginPath(),e.moveTo(-n,bt(t,r*.08)),e.quadraticCurveTo(0,bt(t,r*.16),n,bt(t,r*.08)),e.stroke()}],Xp={light:(e,r)=>{let t=r*.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,r)=>{let t=r*.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,r)=>{let t=r*.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 n=0;n<3;n++){let a=-.34+n*.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,r)=>{let t=r*.5;for(let n=0;n<5;n++){let a=n/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,r)=>{let t=r*.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,r)=>{let t=r*.5;e.beginPath();for(let n=0;n<10;n++){let a=n%2===0?t:t*.4,o=n/10*Math.PI*2-Math.PI/2,s=Math.cos(o)*a,c=Math.sin(o)*a;n===0?e.moveTo(s,c):e.lineTo(s,c)}e.closePath(),e.stroke()}},pc=e=>{let r=e.split(",").map(t=>parseFloat(t.trim()));return[r[0]||0,r[1]||0,r[2]||0]};function Bo(e,r,t){let n=pc(e),a=pc(r);return`rgb(${Math.round(n[0]+(a[0]-n[0])*t)},${Math.round(n[1]+(a[1]-n[1])*t)},${Math.round(n[2]+(a[2]-n[2])*t)})`}var $o=new Set,qo=new Set;function Wo(){for(let e of qo)e()}function fc(e){$o.forEach(r=>r(e))}var Qp=83,dc=[{k:.45,hop:1},{k:1.15,hop:.55},{k:.95,hop:.12},{k:1,hop:0}],uc=7,Jp=.28;function Zp(e,r,t){return`hsl(${Math.round(r*300%360)}, ${t?72:68}%, ${t?58:46}%)`}function kc(e,r,t,n,a,o,s,c=r){let i=s?Xp[s]:void 0,l=Bn(a),h=Yp(Bn(a^2654435769)),p=e*r,u=Math.max(40,Math.min(520,Math.round(p/3100)))/.48,f=Math.max(26,Math.sqrt(.7*p/u)),k=Kp(e,r,f,l),m=4.4/Math.max(e,r),M=m*2.6,g=Math.hypot(e,r),R=l()*Math.PI*2,S=Math.cos(R),y=Math.sin(R),A=e*(.18+l()*.64),D=r*(.12+l()*.5),T=[],O=Math.hypot(e,r)||1,w=Bn(a^1540483477),I=o?e:0,$=Math.hypot(e,c)||1,[_,Q,be]=t.split(",").map(U=>parseFloat(U)||0),Z=.2126*_+.7152*Q+.0722*be>128;for(let[U,de]of k){let K=h(U*m,de*m)*.72+h(U*M,de*M)*.28,F=Math.min(1,Math.max(0,(K-.26)/.44));if(l()>F*F*(3-2*F))continue;let B=l(),N=Math.max(0,1-Math.hypot(U-A,de-D)/(g*.72))**1.6,L=((U-e/2)*S+(de-r/2)*y)/g+.5,P=!Z,C=((P?.055:.028)+l()*(P?.04:.025))*(.75+L*.55)*(1+N*.4),z=Bo(t,n,N*.85),x=((o?e-U:U)+r-de)/(e+r||1),se=l()*16777215|0,te=Zp(se,x,Z),W=0,ne=P?1.05+l()*.35:.65+l()*.35,b=20,E=Ho[0],V=1;B<.5?(W=bt(l,.16),ne=P?1.15+l()*.45:.7+l()*.35,b=20+l()*16,E=Ho[l()*Ho.length|0]):B<.82?(W=l()*Math.PI*2,ne=P?.95+l()*.4:.6+l()*.4,b=16+l()*20,E=lc[l()*lc.length|0]):B<.95||!i?(W=l()*Math.PI*2,ne=P?.85+l()*.35:.55+l()*.35,b=7+l()*7,E=hc[l()*hc.length|0]):(W=bt(l,.3),ne=P?1.1+l()*.3:.75+l()*.3,b=15+l()*9,E=i,V=2.6),T.push({x:U,y:de,roll:B,rotation:W,lineWidth:ne,alpha:C*V,baseColor:z,shimmerColor:te,drawFn:E,size:b,seed:se,normDist:x,bloom:Math.min(1,Math.hypot(U-I,de-c)/$)*.62+w()*.08,glow:Z?.2:.06,ux:(U-I)/(Math.hypot(U-I,de-c)||1),uy:(de-c)/(Math.hypot(U-I,de-c)||1)})}return T}var ed=.3;function td(e){return 1+(1.2+1)*(e-1)**3+1.2*(e-1)**2}function qr(e,r,t,n,a,o=1,s){e.clearRect(0,0,t,n),e.lineCap="round",e.lineJoin="round";let c=a>=0&&a<=1.4,i=c?a*1.4-.2:-999,l=.3;for(let h of r){let p=h.alpha,d=h.baseColor,u=h.lineWidth,f=1,k=0,m=0;if(s!==void 0){let g=Math.min(1,Math.max(0,(s-h.bloom)/ed));if(g<=0)continue;let R=1-(1-g)**3,S=Math.sin(g*Math.PI)**2;p=h.alpha*R+S*h.glow,d=Bo(h.baseColor,h.shimmerColor,S*(h.glow>.1?.85:.55)),u=h.lineWidth*(1+S*.35),f=.86+.14*td(g),k=-h.ux*(1-R)*9,m=-h.uy*(1-R)*9}else if(c){let g=h.normDist-i;if(g>l)p=h.alpha*.45,d=h.baseColor,u=h.lineWidth;else if(g<-l)p=h.alpha,d=h.baseColor,u=h.lineWidth;else{let R=Math.cos(g/l*(Math.PI/2))**2;p=h.alpha+R*.08,d=R>.08?Bo(h.baseColor,h.shimmerColor,R*.65):h.baseColor,u=h.lineWidth*(1+R*.2)}}e.save(),e.translate(h.x+(h.dx??0)+k,h.y+(h.dy??0)+m),e.rotate(h.rotation+(h.dr??0)),f!==1&&e.scale(f,f),h.hop&&(e.scale(1+h.hop,1+h.hop),p*=1+h.hop*2),e.globalAlpha=Math.min(p*o,1),e.strokeStyle=d,e.fillStyle=d,e.lineWidth=u;let M=Bn(h.seed);h.drawFn(e,h.size,M),e.restore()}}var rd=Vp.memo(function({seed:r="",theme:t,dir:n,waitForContent:a=!1}){let o=Mr(null),s=Mr(!1),c=Mr(0),i=Mr(null),l=Mr(0),h=Mr(0),p=Mr(a);return Oo(()=>{let d=o.current;if(!d)return;let u=bc(r||"kiku"),f=0,k=(w,I,$,_)=>()=>{let Q=performance.now(),be=d.clientWidth,Z=d.clientHeight;w===null&&be&&Z&&(w=Q);let U=w===null?0:Q-w,de=Math.min(1,U/I);if(be&&Z){let K=Math.min(window.devicePixelRatio||1,3),F=Math.round(be*K),B=Math.round(Z*K);(d.width!==F||d.height!==B)&&(d.width=F,d.height=B);let N=d.getContext("2d");N&&(N.setTransform(K,0,0,K,0,0),qr(N,$,be,Z,-1,1,de))}if(de<1)c.current=requestAnimationFrame(k(w,I,$,_));else{s.current=!1;let K=d.clientWidth,F=d.clientHeight,B=d.getContext("2d");if(B&&K&&F){let N=Math.min(window.devicePixelRatio||1,3);B.setTransform(N,0,0,N,0,0),qr(B,$,K,F,-1)}}},m=()=>{let w=d.clientWidth,I=d.clientHeight;if(!w||!I)return;let $=Math.min(window.devicePixelRatio||1,3),_=d.getContext("2d");if(!_)return;let Q=getComputedStyle(d),be=Q.getPropertyValue("--hsk-doodle-ink").trim()||"31,31,31",Z=Q.getPropertyValue("--hsk-doodle-tint").trim()||be,U=n==="rtl"||Q.direction==="rtl"||d.closest('[dir="rtl"]')!==null,de=typeof window<"u"?Math.max(I,window.innerHeight||0):I,K=kc(w,de,be,Z,u,U,t,I);i.current=K,l.current=w,h.current=de;let F=Math.round(w*$),B=Math.round(I*$);if((d.width!==F||d.height!==B)&&(d.width=F,d.height=B),_.setTransform($,0,0,$,0,0),p.current){_.clearRect(0,0,w,I);return}if(window.matchMedia?.("(prefers-reduced-motion: reduce)")?.matches){qr(_,K,w,I,-1);return}cancelAnimationFrame(c.current),s.current=!0;let L=1500;c.current=requestAnimationFrame(k(null,L,K,U))},M=()=>{let w=i.current,I=d.clientWidth,$=d.clientHeight;if(w&&I===l.current&&$<=h.current){if(s.current||p.current||!$)return;let _=d.getContext("2d");if(!_)return;let Q=Math.min(window.devicePixelRatio||1,3);d.width=Math.round(I*Q),d.height=Math.round($*Q),_.setTransform(Q,0,0,Q,0,0),qr(_,w,I,$,-1);return}clearTimeout(f),f=window.setTimeout(m,20)};m();let g=()=>{p.current&&(p.current=!1,m())};qo.add(g);let R=p.current?window.setTimeout(g,2e3):0,S=new ResizeObserver(M);S.observe(d);let y=window.matchMedia?.("(prefers-color-scheme: dark)"),A=()=>{m()};y?.addEventListener?.("change",A);let D=0,T=()=>{let w=i.current,I=d.getContext("2d"),$=d.clientWidth,_=d.clientHeight;if(!w||!I||!$||!_)return;let Q=Math.min(window.devicePixelRatio||1,3);I.setTransform(Q,0,0,Q,0,0),qr(I,w,$,_,-1)},O=({x:w,y:I,strength:$})=>{let _=i.current;if(p.current||s.current||!_||window.matchMedia?.("(prefers-reduced-motion: reduce)")?.matches)return;cancelAnimationFrame(c.current),s.current=!1,clearTimeout(D);let Q=d.getBoundingClientRect(),be=w-Q.left,Z=I-Q.top,U=Bn(performance.now()*997|0),de=(N,L)=>Math.max(-L,Math.min(L,N)),K=_.map(N=>{let L=N.dx??0,P=N.dy??0,j=N.dr??0,C=N.x-be,z=N.y-Z,x=Math.hypot(C,z)||1,se=$*(.18+.82*Math.exp(-x/220)),te=se*(.6+U()*1.8),W=de(L+C/x*te+(U()-.5)*se*2,uc),ne=de(P+z/x*te+(U()-.5)*se*2,uc),b=de(j+(U()-.5)*se*.12,Jp);return{g:N,fx:L,fy:P,fr:j,tx:W,ty:ne,tr:b,lift:se*.09}}),F=0,B=()=>{let N=dc[F];for(let L of K)L.g.dx=L.fx+(L.tx-L.fx)*N.k,L.g.dy=L.fy+(L.ty-L.fy)*N.k,L.g.dr=L.fr+(L.tr-L.fr)*N.k,L.g.hop=L.lift*N.hop;T(),++F<dc.length&&(D=window.setTimeout(B,Qp))};B()};return $o.add(O),()=>{$o.delete(O),qo.delete(g),clearTimeout(R),clearTimeout(D),clearTimeout(f),cancelAnimationFrame(c.current),s.current=!1,S.disconnect(),y?.removeEventListener?.("change",A)}},[r,t,n]),Ca("canvas",{className:"hsk-cb-doodles",ref:o,"aria-hidden":"true"})}),Hn=3,mc=1800;function nd({seed:e="",theme:r,alphaScale:t=1.8,weight:n=.6}){let a=Mr(null);return Oo(()=>{let o=a.current,s=o?.getContext("2d");if(!o||!s)return;let c=0,i=()=>{let h=o.clientWidth,p=o.clientHeight,d=Math.min(window.devicePixelRatio||1,3);o.width=Math.round(h*d),o.height=Math.round(p*d);let u=getComputedStyle(o),f=u.getPropertyValue("--hsk-doodle-ink").trim()||"31,31,31",k=u.getPropertyValue("--hsk-doodle-tint").trim()||f,m=h*Hn,M=p*Hn,g=kc(m,M,f,k,bc(e||"kiku"),!1,r);for(let y of g)y.lineWidth*=Hn*n;if(s.setTransform(d/Hn,0,0,d/Hn,0,0),window.matchMedia?.("(prefers-reduced-motion: reduce)")?.matches){qr(s,g,m,M,-1,t);return}let R=performance.now(),S=y=>{let A=(y-R)%(mc*2)/mc,D=A<1?A:2-A;qr(s,g,m,M,(1-Math.cos(D*Math.PI))/2*1.4,t),c=requestAnimationFrame(S)};c=requestAnimationFrame(S)},l=new ResizeObserver(()=>{c||!o.clientWidth||!o.clientHeight||(l.disconnect(),i())});return l.observe(o),()=>{l.disconnect(),cancelAnimationFrame(c)}},[e,r,t,n]),Ca("canvas",{className:"hsk-doodle-shimmer",ref:a,"aria-hidden":"true"})}var ad=300;function dn({active:e,seed:r,theme:t}){let[n,a]=jp(e);return Oo(()=>{if(e){a(!0);return}let o=setTimeout(()=>a(!1),ad);return()=>clearTimeout(o)},[e]),n?Ca("span",{className:`hsk-working-veil${e?"":" is-leaving"}`,"aria-hidden":"true",children:Ca(nd,{seed:r,theme:t,alphaScale:18,weight:1.15})}):null}var Sa=rd;import $n,{useState as Zt,useEffect as Uo,useCallback as gc}from"react";import{useAkropolysContext as od}from"@akropolys/sdk";import{jsx as yc}from"react/jsx-runtime";var sd={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 un(e){let r=e?sd[e.trim().toLowerCase()]:void 0;return r?{dir:r==="ar"||r==="ur"||r==="fa"?"rtl":"ltr",bcp47:r}:null}function id(e){let r=/var\(\s*(--[\w-]+)/.exec(e)?.[1];if(!r||typeof document>"u")return"";for(let t of[document.documentElement,document.body]){let n=t?getComputedStyle(t).getPropertyValue(r).trim():"";if(n)return n.split(",")[0].trim()}return""}var xc=5e3,vc=[5e3,15e3,45e3,12e4];function wc({shopperLanguage:e,theme:r,preloadedStrings:t}){let n=od(),a=e?n?.getCachedUIStrings?.(e,_t)??n?.getCachedUIStrings?.(e,Sr):null,o=t&&Object.keys(t).length>0?t:a?.strings??{},[s,c]=Zt(()=>o),[i,l]=Zt(()=>!e||t&&Object.keys(t).length>0||!!a?.complete),[h,p]=Zt(()=>t&&Object.keys(t).length>0||a?.complete?e:!e||un(e)?.bcp47==="en"?e||"en":""),d=!e||un(e)?.bcp47==="en",u=s;t&&Object.keys(t).length>0&&(u={...s,...t});let f=e?`akropolys_ui_dir_${e.toLowerCase()}`:"",[k,m]=Zt(()=>{if(a?.dir)return a.dir==="rtl";let N=un(e);if(N)return N.dir==="rtl";if(_r(e)?.rtl)return!0;if(typeof window>"u"||!f)return!1;try{return localStorage.getItem(f)==="rtl"}catch{return!1}}),[M,g]=Zt(()=>a?.bcp47||un(e)?.bcp47||""),[R,S]=Zt(()=>a?.font??null),[y,A]=Zt(()=>Ti(n)),[D,T]=Zt(!0),[O,w]=Zt(!1),I=$n.useRef(e),[$,_]=Zt(e);if(e!==$){_(e);let N=un(e);N&&(m(N.dir==="rtl"),g(N.bcp47));let L=e?n?.getCachedUIStrings?.(e,_t)??n?.getCachedUIStrings?.(e,Sr):null,P=t&&Object.keys(t).length>0?t:L?.strings;P&&Object.keys(P).length>0&&(c(P),u=P,L&&(L.font&&S(L.font),L.dir&&m(L.dir==="rtl"),L.bcp47&&g(L.bcp47)),L?.font&&Vt(L.font),w(!Mo([L?.font?.family,y?.family].filter(j=>!!j),P)),p(e),l(!0))}let Q=e===I.current||d||!O&&(h.toLowerCase()===e.toLowerCase()&&i||Object.keys(u).length>0);Uo(()=>{if(!e){g(""),S(null),c({}),p(""),l(!0),m(!1);return}let N=un(e),L=_r(e),P=N?.bcp47==="en",j=!1,C=(te,W)=>{let ne=[te?.family,y?.family].filter(b=>!!b);if(e===I.current||Mo(ne,W)){w(!1);return}w(!0),To(ne,W,xc).then(()=>{j||w(!1)})},z=n?.getCachedUIStrings?.(e,_t);if(z?.strings&&Object.keys(z.strings).length>0)return c(z.strings),m(z.dir==="rtl"),g(z.bcp47||N?.bcp47||""),z.font&&(Vt(z.font),S(z.font)),C(z.font,z.strings),p(e),l(!0),()=>{j=!0};let x=n?.getCachedUIStrings?.(e,Sr);x?.strings&&Object.keys(x.strings).length>0?(c(x.strings),m(x.dir==="rtl"),g(x.bcp47||N?.bcp47||""),x.font&&(Vt(x.font),S(x.font)),C(x.font,x.strings),p(e),l(!0)):(w(!1),c({}),N?(m(N.dir==="rtl"),g(N.bcp47)):L?.rtl&&m(!0),P||l(!1));let se=async()=>{let te=!1;try{if(!x?.strings){let ne=await n.getUIStrings?.(e,Sr);if(!j&&ne?.complete){w(!0),c(E=>({...E,...ne.strings})),m(ne.dir==="rtl"),g(ne.bcp47||N?.bcp47||"");try{localStorage.setItem(f,ne.dir)}catch{}ne.font&&Vt(ne.font);let b=[ne.font?.family,y?.family].filter(E=>!!E);await To(b,ne.strings,xc),j||(ne.font&&S(ne.font),p(e),l(!0),w(!1))}}let W=await n.getUIStrings?.(e,_t);!j&&W?.complete&&(te=!0,c(ne=>({...ne,...W.strings})),W.font&&(await Vt(W.font,1200),j||S(W.font)))}catch{return!1}return te};return(async()=>{for(let te=0;!j&&!await se();te++){let W=vc[Math.min(te,vc.length-1)];await new Promise(ne=>window.setTimeout(ne,W))}})(),()=>{j=!0}},[e,n,f]),Uo(()=>{let N=!1;return(async()=>{try{let L=await Ro(n);!N&&L&&A(L)}catch{}N||T(!0)})(),()=>{N=!0}},[n]),So(R),So(y);let be=$n.useMemo(()=>{let L=(typeof r=="object"&&r?.fontFamily?r.fontFamily:"").split(",")[0].trim(),P=/^var\(/i.test(L),j=L.replace(/^['"]|['"]$/g,""),C=P?id(L):"",z=P?C?`${C}, `:"":j?`"${j}", `:"";if(R)return`"${R.family}", ${z}"Geist", system-ui, sans-serif`;let x=e?e.trim().toLowerCase():"";if(x==="japanese"||x==="ja"||x==="\u65E5\u672C\u8A9E")return`${z}"Geist", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", system-ui, sans-serif`;if(x==="chinese"||x==="zh"||x==="\u4E2D\u6587")return`${z}"Geist", "PingFang SC", "Microsoft YaHei", "Hiragino Sans GB", system-ui, sans-serif`;if(x==="urdu"||x==="ur"||x==="\u0627\u0631\u062F\u0648")return`"Noto Nastaliq Urdu", ${z}"IBM Plex Sans Arabic", "Geist", system-ui, sans-serif`;if(x==="arabic"||x==="ar"||x==="\u0627\u0644\u0639\u0631\u0628\u064A\u0629")return`"IBM Plex Sans Arabic", ${z}"Geist", system-ui, sans-serif`;if(x==="hindi"||x==="hi"||x==="\u0939\u093F\u0928\u094D\u0926\u0940")return`"Hind", ${z}"Geist", system-ui, sans-serif`},[R,e,typeof r=="object"&&r?r.fontFamily:void 0]),Z=$n.useMemo(()=>{let N=0,L=0;for(let P of Object.values(s))for(let j of P){let C=j.codePointAt(0)??0;C<192||/\p{L}/u.test(j)&&(C<=591?N++:L++)}return L>N},[s]),[U,de]=Zt(0);Uo(()=>{if(typeof document>"u"||!document.fonts?.ready)return;let N=!0;return document.fonts.ready.then(()=>{N&&de(L=>L+1)}),()=>{N=!1}},[R]);let K=$n.useMemo(()=>{if(!Z||typeof document>"u")return!0;let L=(typeof r=="object"&&r?.fontFamily?r.fontFamily:"").split(",")[0].trim();if(!L)return!1;let P="";for(let C of Object.values(s))if(C){P=C;break}if(!P)return!0;let j=P.replace(/\s+/g,"");if(!j)return!0;try{let z=document.createElement("canvas").getContext("2d");if(!z)return!0;let x=L.startsWith("var(")&&getComputedStyle(document.documentElement).getPropertyValue(L.slice(4,-1).trim()).trim()||L;z.font=`16px ${x}, __akropolys_nonexistent_font__`;let se=z.measureText(j).width;z.font="16px __akropolys_nonexistent_font__";let te=z.measureText(j).width;return Math.abs(se-te)>1}catch{return!0}},[Z,s,typeof r=="object"&&r?r.fontFamily:void 0,U]),F=gc((N,L)=>{let P=u[N]||s[N]||_t[N]||N;if(L)for(let[j,C]of Object.entries(L))P=P.split(`{${j}}`).join(C);return P},[u,s]),B=gc((N,L)=>(u[N]||s[N]||_t[N]||N).split(/(\{[a-zA-Z]+\})/g).map((j,C)=>{let z=j.match(/^\{([a-zA-Z]+)\}$/);return z&&L?.[z[1]]!==void 0?yc("bdi",{children:L[z[1]]},C):yc($n.Fragment,{children:j},C)}),[u,s]);return{chromeStrings:s,chromeReady:Q,isRTL:k,speechLang:M,scriptFont:R,fontStack:be,isNonLatin:Z,hostFontCovers:K,baseFontReady:D,t:F,tNode:B}}import{useState as mn,useRef as st,useEffect as Ma,useLayoutEffect as cd,useCallback as cr}from"react";function Cc({messages:e,loading:r,streaming:t,messageRefs:n}){let a=st(null),o=st(0),[s,c]=mn(!1),[i,l]=mn(1),[h,p]=mn(0),d=st(()=>{}),u=st(null),f=st(!1),k=st(!0),m=st(!1),M=st(null),g=st(null),R=st(e.length),S=st(!1),y=st(()=>{}),A=st(()=>{}),D=st(null),T=st(()=>{}),[O,w]=mn(0),I=st(0),$=st(""),_=st(()=>{}),Q=st(()=>{});Ma(()=>{let b=a.current;if(!b)return;let E,V=()=>{clearTimeout(E),E=setTimeout(()=>{f.current=!1},150)},X=()=>{clearTimeout(E),f.current=!0,_.current()},Y=()=>{f.current&&V()};return b.addEventListener("touchstart",X,{passive:!0}),b.addEventListener("touchend",V,{passive:!0}),b.addEventListener("touchcancel",V,{passive:!0}),b.addEventListener("scroll",Y,{passive:!0}),()=>{clearTimeout(E),b.removeEventListener("touchstart",X),b.removeEventListener("touchend",V),b.removeEventListener("touchcancel",V),b.removeEventListener("scroll",Y)}},[]),Ma(()=>{let b=a.current;if(!b)return;let E=160,V=8,X=0,Y=()=>{X=0;let ie=M.current?.offsetHeight??0,le=b.scrollHeight-ie-b.scrollTop-b.clientHeight,q=performance.now()-o.current<400;le<=V&&(!m.current||q)&&(k.current||Q.current(),k.current=!0,m.current=!1,B.current()),c(le>E&&!k.current);let pe=b.scrollHeight-b.clientHeight;l(pe>8?Math.min(1,Math.max(0,b.scrollTop/pe)):1);let Re=b.scrollTop+b.clientHeight*.33,me=0;for(let we=0;we<n.current.length;we++){let Ie=n.current[we];Ie&&Ie.offsetTop<=Re&&(me=we)}p(me)},re=()=>{X||(X=requestAnimationFrame(Y))};Y(),b.addEventListener("scroll",re,{passive:!0});let ge=new ResizeObserver(()=>{g.current?y.current("sync"):k.current&&!f.current&&A.current(),re()});ge.observe(b);for(let ie of n.current)ie&&ge.observe(ie);return()=>{X&&cancelAnimationFrame(X),b.removeEventListener("scroll",re),ge.disconnect()}},[e.length,n]);let be=cr(b=>{let E=`${b}:${I.current}`;$.current!==E&&($.current=E,w(V=>V+1))},[]),[Z,U]=mn(!1),de=st(!1),K=cr(()=>{de.current||(de.current=!0,U(!0))},[]),F=cr(()=>{de.current&&(de.current=!1,U(!1))},[]),B=st(()=>{});B.current=F;let[N,L]=mn(!1),P=st(!1),j=st(0),C=cr(()=>{P.current=!1,L(!1)},[]),z=cr(()=>{$.current="",C(),F()},[C,F]),x=cr(()=>{P.current&&(performance.now()-j.current<700||C())},[C]);_.current=x,Q.current=z,Ma(()=>{if(O===0)return;P.current=!0,j.current=performance.now(),L(!0);let b=setTimeout(C,4200);return()=>clearTimeout(b)},[O,C]);let se=cr(()=>{S.current=!1,g.current&&(g.current=null,M.current&&(M.current.style.height=""))},[]);T.current=se,A.current=()=>{let b=a.current;if(!b)return;let E=b.scrollHeight-b.clientHeight;D.current?D.current(E):b.scrollTop=E},y.current=b=>{let E=a.current,V=M.current,X=g.current,Y=q=>{let pe=b==="sync"?D.current:u.current;pe?pe(q):E&&(E.scrollTop=q)},re=A.current;if(!E||!V||!X||!X.isConnected){se(),k.current&&re();return}let ge=parseFloat(getComputedStyle(E).paddingTop)||0;V.offsetHeight<E.clientHeight&&(V.style.height=`${E.clientHeight}px`);let ie=Math.max(0,X.offsetTop-ge),le=ie+E.clientHeight-(E.scrollHeight-V.offsetHeight);if(le<=0){se(),k.current=!1,m.current=!0,Y(ie);return}le!==V.offsetHeight&&(V.style.height=`${le}px`),Y(ie)};let te=cr(b=>{let E=a.current,V=n.current[b];if(!E||!V)return;let X=V.offsetTop-Math.max(0,(E.clientHeight-V.clientHeight)/2),Y=Math.max(0,Math.min(E.scrollHeight-E.clientHeight,X));u.current?u.current(Y):E.scrollTo({top:Y,behavior:"smooth"})},[n]),W=cr(b=>{let E=a.current;if(!E||!E.contains(b))return;S.current=!1,g.current=null,k.current=!1,m.current=!0;let V=E.getBoundingClientRect(),X=b.getBoundingClientRect(),Y=Math.min(X.height>V.height?176:64,V.height/3);if(X.top>=V.top+Y&&X.bottom<=V.bottom-8)return;let re=Math.max(0,Math.min(E.scrollHeight-E.clientHeight,E.scrollTop+X.top-V.top-Y));u.current?u.current(re):E.scrollTo({top:re,behavior:"auto"})},[]),ne=cr(()=>{let b=a.current;if(!b)return;k.current=!0,m.current=!1,T.current(),Q.current();let E=b.scrollHeight-b.clientHeight;u.current?u.current(E):b.scrollTo({top:E,behavior:"smooth"})},[]);return cd(()=>{let b=a.current;if(!b)return;let E=e.slice(R.current);if(R.current=e.length,E.some(X=>X.role==="user")&&(k.current=!0,m.current=!1,Q.current(),g.current=null,S.current=!0),S.current){S.current=!1;for(let X=n.current.length-1;X>=0;X--){let Y=n.current[X];if(Y?.dataset.hskRole==="user"){g.current=Y;break}}if(g.current){y.current("glide");return}}if(g.current){y.current("glide");return}let V=b.scrollTop;if(!k.current)m.current||(K(),be(e.length));else if(!f.current){A.current();return}b.scrollTop!==V&&d.current()},[e,r,t,n,be,K]),Ma(()=>{let b=a.current;if(!b||typeof window<"u"&&window.matchMedia?.("(prefers-reduced-motion: reduce)").matches)return;let E=7,V=16,X=1/(window.devicePixelRatio||1),Y=ue=>Math.round(ue/X)*X,re=b.scrollTop,ge=b.scrollTop,ie=b.scrollTop,le=0,q=null,pe=ue=>{ue!==ie&&(b.scrollTop=ue,ie=b.scrollTop)},Re=()=>{q!==null&&(cancelAnimationFrame(q),q=null),b.classList.remove("hsk-scrolling"),re=ge=ie=b.scrollTop};d.current=Re,u.current=ue=>{Math.abs(b.scrollTop-ie)>1&&(re=ge=ie=b.scrollTop);let De=Math.round(Math.max(0,Math.min(b.scrollHeight-b.clientHeight,ue)));De!==re&&(re=De,q===null&&(le=performance.now(),q=requestAnimationFrame(me)))},D.current=ue=>{let De=Math.round(Math.max(0,Math.min(b.scrollHeight-b.clientHeight,ue)));q!==null&&(cancelAnimationFrame(q),q=null,b.classList.remove("hsk-scrolling")),b.scrollTop=De,re=ge=ie=b.scrollTop};let me=ue=>{let De=Math.min((ue-le)/1e3,.05);if(le=ue,ge+=(re-ge)*(1-Math.exp(-E*De)),Math.abs(re-ge)<X){ge=re,pe(Math.round(re)),b.classList.remove("hsk-scrolling"),q=null;return}pe(Y(ge)),q=requestAnimationFrame(me)},we=ue=>{if(ue.ctrlKey)return;Math.abs(b.scrollTop-ie)>1&&(re=ge=ie=b.scrollTop),ue.deltaY<0&&(k.current&&(I.current+=1),k.current=!1,g.current=null),_.current();let De=ue.deltaMode===1?V:ue.deltaMode===2?b.clientHeight:1,Ge=Math.max(0,b.scrollHeight-b.clientHeight),Ye=Math.round(Math.max(0,Math.min(Ge,re+ue.deltaY*De)));if(Ye===re){Ge>0&&ue.preventDefault();return}ue.preventDefault(),re=Ye,q===null&&(le=performance.now(),b.classList.add("hsk-scrolling"),q=requestAnimationFrame(me))},Ie=b.scrollTop,Se=()=>{let ue=Math.abs(b.scrollTop-ie)>1;ue&&(o.current=performance.now(),b.scrollTop<Ie-1&&k.current&&(I.current+=1,k.current=!1,g.current=null)),Ie=b.scrollTop,q!==null&&ue&&(cancelAnimationFrame(q),q=null,b.classList.remove("hsk-scrolling"),re=ge=ie=b.scrollTop)};return b.addEventListener("wheel",we,{passive:!1}),b.addEventListener("scroll",Se,{passive:!0}),()=>{b.removeEventListener("scroll",Se),b.removeEventListener("wheel",we),q!==null&&cancelAnimationFrame(q),b.classList.remove("hsk-scrolling"),d.current=()=>{},u.current=null,D.current=null}},[]),{msgsContainerRef:a,spacerRef:M,lastExternalScrollRef:o,showJumpToBottom:s,scrollProgress:i,activeMsgIdx:h,jumpAlert:N,unreadBelow:Z,jumpToMessage:te,revealMessage:W,jumpToBottom:ne,resetAlertArming:z}}import{useState as ld,useRef as bn,useEffect as Sc}from"react";var hd=450,pd=45,dd=900,ud=180;function Mc(e){let[r,t]=ld(e),n=bn(e),a=bn(e),o=bn(0),s=bn(0),c=bn(0),i=bn(null);return Sc(()=>()=>{i.current!==null&&cancelAnimationFrame(i.current)},[]),Sc(()=>{if(a.current=e,window.matchMedia?.("(prefers-reduced-motion: reduce)").matches||!e.startsWith(n.current)){i.current!==null&&(cancelAnimationFrame(i.current),i.current=null),n.current=e,o.current=0,s.current=0,t(e);return}if(i.current!==null||n.current.length>=e.length)return;c.current=performance.now();let h=p=>{let d=Math.min(p-c.current,50);c.current=p;let u=a.current,f=u.length-n.current.length,k=Math.min(dd,Math.max(pd,f*1e3/hd));o.current+=(k-o.current)*(1-Math.exp(-d/ud)),s.current+=o.current*d/1e3;let m=Math.floor(s.current);m>0&&(s.current-=m,n.current=u.slice(0,Math.min(u.length,n.current.length+m)),t(n.current)),n.current.length<a.current.length?i.current=requestAnimationFrame(h):(i.current=null,s.current=0)};i.current=requestAnimationFrame(h)},[e]),r}import{useState as Or,useEffect as Tc,useCallback as Go}from"react";import{useAkropolysContext as md}from"@akropolys/sdk";function Rc(e,r){let t=md(),[n,a]=Or(""),[o,s]=Or("idle"),[c,i]=Or(null),[l,h]=Or(null),[p,d]=Or(null),[u,f]=Or(No),[k,m]=Or(!1),M=Go(async(S,y)=>{try{navigator.clipboard&&window.isSecureContext?await navigator.clipboard.writeText(S):bd(S),d(y),setTimeout(()=>d(null),2e3)}catch{}},[]);Tc(()=>{e&&e.type==="request_kiku_key"&&(s("prompt_key"),a(""))},[e]),Tc(()=>{if(!c)return;f(No);let S=setInterval(()=>{f(y=>y<=1?(clearInterval(S),i(null),h(null),0):y-1)},1e3);return()=>clearInterval(S)},[c]);let g=Go(async()=>{let S=n.trim();S&&(t.setKikuPub(S),a(""),s("idle"),await r())},[t,n,r]),R=Go(async()=>{if(!k){m(!0);try{let{secret:S,publicId:y}=await t.mintKikuKey();i(S),h(y),s("idle"),await r()}catch{}finally{m(!1)}}},[t,k,r]);return{keyInput:n,setKeyInput:a,keyPhase:o,setKeyPhase:s,mintedKey:c,setMintedKey:i,mintedPub:l,setMintedPub:h,copied:p,keyCountdown:u,minting:k,copyValue:M,handleUseExistingKey:g,handleCreateKey:R}}function bd(e){let r=document.createElement("textarea");r.value=e,r.setAttribute("readonly",""),r.style.cssText="position:fixed;top:0;left:0;opacity:0;",document.body.appendChild(r),r.select(),r.setSelectionRange(0,e.length);let t=document.execCommand("copy");if(r.remove(),!t)throw new Error("copy failed")}import{useCallback as Ta}from"react";function Lc({attachments:e,setAttachments:r,setInput:t,send:n,t:a}){let o=Ta(l=>{if(typeof l.id!="string"||!l.id.trim())return;let h=l.name||"",p=`@kiku ${a("displayCapture",{name:h}).trim()}`,d=h||"capture current page";t("");let u=e;r([]);let f={id:l.id,name:h,url:l.url||l.fields?.url,image:l.image,fields:l.fields};n(d,p,u.length>0?u:void 0,"capture",[f])},[e,n,r,t,a]),s=Ta(l=>{let h=l.filter(u=>typeof u.id=="string"&&u.id.trim().length>0).map(u=>({id:u.id,name:u.name||"",url:u.url||u.fields?.url,fields:u.fields,image:u.image||""}));if(h.length===0)return;let p=h.map(u=>u.name).filter(Boolean).join(", "),d=`@kiku ${a("displayCaptureAll",{count:String(h.length)})}`;t(""),r([]),n(p||"capture all",d,void 0,"capture_all",h)},[n,r,t,a]),c=Ta(()=>{let l=`@kiku ${a("displayViewHistory")}`;t(""),r([]),n("show my saved items",l,void 0,"view_history")},[n,r,t,a]),i=Ta(()=>{let l=`@kiku ${a("displayDelete")}`;t(""),r([]),n("delete this",l,void 0,"delete")},[n,r,t,a]);return{handleKikuCapture:o,handleKikuCaptureAll:s,handleKikuViewHistory:c,handleKikuDelete:i}}import{useState as Gr,useCallback as Na,useEffect as Vc,useRef as Pd}from"react";import{useAkropolysContext as _d}from"@akropolys/sdk";var La=null,Ec=null,Ra=null,qn=null,zc=!1,Wr=0;function On(e,r=130){let t=Ra;if(!t||!La)return;let n=La.currentTime;t.gain.cancelScheduledValues(n),t.gain.setValueAtTime(t.gain.value,n),t.gain.linearRampToValueAtTime(Math.max(0,Math.min(1,e)),n+r/1e3)}function Nc(){if(!zc)return Wr*=.85,Wr;if(!Ec||!qn)return Wr;Ec.getByteTimeDomainData(qn);let e=0;for(let n=0;n<qn.length;n++){let a=(qn[n]-128)/128;e+=a*a}let r=Math.sqrt(e/qn.length),t=Math.min(1,r*3.2);return Wr+=(t-Wr)*(t>Wr?.6:.12),Wr}function Ic(){if(zc=!1,Ra&&La&&(Ra.gain.cancelScheduledValues(La.currentTime),Ra.gain.value=1),typeof window<"u"&&"speechSynthesis"in window)try{window.speechSynthesis.cancel()}catch{}}import{useCallback as lr,useEffect as Tr,useRef as tt,useState as Ea}from"react";var fd=1100,Vo=.012,kd=320,gd=.09,xd=.25,Ac=130,vd=700,yd=12,wd=48,Cd=.45,Sd=.35,Md=.2,Pc=.55;function _c({lang:e,onUtterance:r,onError:t,onBargeIn:n,silenceMs:a=fd,paused:o=!1}){let[s,c]=Ea(!1),[i,l]=Ea(!1),[h,p]=Ea(""),[d,u]=Ea(!1),f=tt(null),k=tt(null),m=tt(null),M=tt(null),g=tt(null),R=tt(null),S=tt(0),y=tt(.008),A=tt(0),D=tt(0),T=tt(""),O=tt(0),w=tt(0),I=tt(!1),$=tt(o),_=tt(!1),Q=tt(!1),be=tt(r),Z=tt(t),U=tt(n);Tr(()=>{be.current=r},[r]),Tr(()=>{Z.current=t},[t]),Tr(()=>{U.current=n},[n]),Tr(()=>{$.current=o},[o]),Tr(()=>{u(typeof window<"u"&&("SpeechRecognition"in window||"webkitSpeechRecognition"in window)&&!!navigator.mediaDevices?.getUserMedia)},[]);let de=lr(()=>S.current,[]),K=lr(b=>{let E=M.current;return!E||b.length!==E.frequencyBinCount?!1:(E.getByteFrequencyData(b),!0)},[]),F=lr(()=>M.current?.frequencyBinCount??0,[]),B=tt([]),N=tt(null),L=tt(!1),P=tt(0),j=tt(0),C=lr(b=>{let E=M.current;if(!E)return 0;let V=B.current;V.push(b),V.length>wd&&V.shift();let X=0;if(V.length>=12){let we=0;for(let Ie of V)we+=Ie;if(we/=V.length,we>1e-4){let Ie=0;for(let Se of V)Ie+=(Se-we)*(Se-we);X=Math.min(1,Math.sqrt(Ie/V.length)/we/.6)}}let Y=0;(!N.current||N.current.length!==E.frequencyBinCount)&&(N.current=new Uint8Array(E.frequencyBinCount));let re=N.current;E.getByteFrequencyData(re);let ie=(m.current?.sampleRate??48e3)/2/re.length,le=Math.floor(300/ie),q=Math.min(re.length-1,Math.ceil(3400/ie)),pe=0,Re=0;for(let we=0;we<re.length;we++)Re+=re[we],we>=le&&we<=q&&(pe+=re[we]);Re>0&&(Y=pe/Re);let me=Math.min(1,b/(y.current+Vo*3));return Cd*me+Sd*X+Md*Y},[]),z=lr(()=>{let b=T.current.trim();if(T.current="",O.current=w.current,p(""),l(!1),b){_.current=!1;let E=f.current;f.current=null;try{E?.stop()}catch{}be.current(b)}},[]),x=lr(()=>{let b=M.current,E=R.current;if(!b||!E)return;b.getByteTimeDomainData(E);let V=0;for(let le=0;le<E.length;le++){let q=(E[le]-128)/128;V+=q*q}let X=Math.sqrt(V/E.length),Y=Math.min(1,X*4);S.current+=(Y-S.current)*(Y>S.current?.6:.12);let re=Date.now(),ge=$.current?Nc()*gd:0;X>y.current+Vo+ge?(A.current=re,D.current||(D.current=re)):(D.current=0,y.current=Math.min(y.current*1.02+2e-5,Math.max(.004,X))),$.current?L.current?(C(X)>Pc?j.current+=1:j.current=Math.max(0,j.current-2),j.current>=yd?(L.current=!1,j.current=0,On(1,0),U.current?.()):re-P.current>vd&&(L.current=!1,j.current=0,On(1,Ac*2))):D.current&&re-D.current>kd&&C(X)>Pc&&(D.current=0,L.current=!0,P.current=re,j.current=0,On(xd,Ac)):T.current.trim()&&re-A.current>a&&z(),g.current=requestAnimationFrame(x)},[z,a,C]),se=lr(()=>{if(f.current||!I.current)return;let b=window.SpeechRecognition||window.webkitSpeechRecognition,E=new b;O.current=0,w.current=0,E.lang=e||document.documentElement.lang||navigator.language||"en-US",E.interimResults=!0,E.maxAlternatives=1,E.continuous=!0,E.onresult=V=>{let X="";for(let Y=O.current;Y<V.results.length;Y++)X+=V.results[Y][0].transcript;w.current=V.results.length,X=X.trim(),X&&(T.current=X,p(X),l(!0))},E.onerror=V=>{let X=V?.error||"";X==="no-speech"||X==="aborted"||Z.current?.(X)},E.onend=()=>{f.current=null,I.current&&_.current&&setTimeout(()=>{se()},120)},f.current=E;try{E.start()}catch{f.current=null,Z.current?.("failed-to-start")}},[e]),te=lr(()=>{_.current=!1;let b=f.current;f.current=null;try{b?.stop()}catch{}},[]),W=lr(()=>{I.current=!1,L.current=!1,j.current=0,B.current=[],On(1,0),_.current=!1,c(!1),l(!1),p(""),T.current="",S.current=0;let b=f.current;f.current=null;try{b?.abort()}catch{}g.current!==null&&(cancelAnimationFrame(g.current),g.current=null),k.current?.getTracks().forEach(E=>E.stop()),k.current=null,M.current=null,m.current?.close().catch(()=>{}),m.current=null},[]),ne=lr(async()=>{if(!(I.current||!d)){I.current=!0,c(!0);try{let b=await navigator.mediaDevices.getUserMedia({audio:{echoCancellation:!0,noiseSuppression:!0,autoGainControl:!0}});k.current=b;let E=window.AudioContext||window.webkitAudioContext,V=new E;m.current=V;let X=V.createAnalyser();X.fftSize=1024,X.smoothingTimeConstant=.25,V.createMediaStreamSource(b).connect(X),M.current=X,R.current=new Uint8Array(X.fftSize),y.current=.008,A.current=Date.now(),g.current=requestAnimationFrame(x)}catch(b){I.current=!1,c(!1),Z.current?.(b?.name==="NotAllowedError"?"not-allowed":"audio-capture");return}_.current=!0,se()}},[d,x,se]);return Tr(()=>{s&&(o?(T.current="",p(""),L.current=!1,j.current=0,B.current=[],te()):(L.current=!1,A.current=Date.now(),_.current=!0,se()))},[o,s,se,te]),Tr(()=>{if(!s||o)return;let b=setInterval(()=>{let E=!!f.current,V=S.current>y.current+Vo;E&&V&&T.current},2e3);return()=>clearInterval(b)},[s,o]),Tr(()=>()=>{W()},[W]),{supported:d,active:s,hearing:i,interim:h,micLevel:de,micSpectrum:K,spectrumBins:F,start:ne,stop:W}}import{useCallback as Ze,useEffect as kn,useRef as Me,useState as Ur}from"react";var Fc=[-1,-1,-1,-1,2,4,6,8,-1,-1,-1,-1,2,4,6,8],Dc=[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],jo=e=>e<0?0:e>88?88:e,Hc=e=>e<-32768?-32768:e>32767?32767:e,Wn=class{constructor(){this.index=0}encode(r){let t=r.length,n=new Uint8Array(4+(t+1>>1));if(t===0)return n.buffer;let a=r[0];new DataView(n.buffer).setInt16(0,a,!0),n[2]=this.index,n[3]=t&1;let s=this.index;for(let c=0;c<t;c++){let i=Dc[s],l=r[c]-a,h=0;l<0&&(h=8,l=-l);let p=i>>3;l>=i&&(h|=4,l-=i,p+=i),i>>=1,l>=i&&(h|=2,l-=i,p+=i),i>>=1,l>=i&&(h|=1,p+=i),a=Hc(h&8?a-p:a+p),s=jo(s+Fc[h]),n[4+(c>>1)]|=h<<4*(c&1)}return this.index=s,n.buffer}};function Bc(e){let r=new Uint8Array(e);if(r.length<4)return new Float32Array(0);let t=new DataView(e).getInt16(0,!0),n=jo(r[2]),a=(r.length-4)*2;r[3]&1&&a>0&&a--;let o=new Float32Array(a);for(let s=0;s<a;s++){let c=r[4+(s>>1)]>>4*(s&1)&15,i=Dc[n],l=i>>3;c&4&&(l+=i),c&2&&(l+=i>>1),c&1&&(l+=i>>2),t=Hc(c&8?t-l:t+l),n=jo(n+Fc[c]),o[s]=t/32768}return o}function Rr(e,r,t){for(let n=0;n<t.length;n++)e.setUint8(r+n,t.charCodeAt(n))}function $c(e,r=24e3){let t=0;for(let i of e)t+=i.length;let n=new Float32Array(t),a=0;for(let i of e)n.set(i,a),a+=i.length;let o=new ArrayBuffer(44+t*2),s=new DataView(o);Rr(s,0,"RIFF"),s.setUint32(4,36+t*2,!0),Rr(s,8,"WAVE"),Rr(s,12,"fmt "),s.setUint32(16,16,!0),s.setUint16(20,1,!0),s.setUint16(22,1,!0),s.setUint32(24,r,!0),s.setUint32(28,r*2,!0),s.setUint16(32,2,!0),s.setUint16(34,16,!0),Rr(s,36,"data"),s.setUint32(40,t*2,!0);let c=44;for(let i=0;i<t;i++){let l=Math.max(-1,Math.min(1,n[i]));s.setInt16(c,l<0?l*32768:l*32767,!0),c+=2}return new Blob([o],{type:"audio/wav"})}function qc(e,r=16e3){let t=0;for(let i of e)t+=i.length;let n=new Int16Array(t),a=0;for(let i of e)n.set(i,a),a+=i.length;let o=new ArrayBuffer(44+t*2),s=new DataView(o);Rr(s,0,"RIFF"),s.setUint32(4,36+t*2,!0),Rr(s,8,"WAVE"),Rr(s,12,"fmt "),s.setUint32(16,16,!0),s.setUint16(20,1,!0),s.setUint16(22,1,!0),s.setUint32(24,r,!0),s.setUint32(28,r*2,!0),s.setUint16(32,2,!0),s.setUint16(34,16,!0),Rr(s,36,"data"),s.setUint32(40,t*2,!0);let c=44;for(let i=0;i<t;i++)s.setInt16(c,n[i],!0),c+=2;return new Blob([o],{type:"audio/wav"})}var fn=class{constructor(){this.attempts=0}static canRetry(r){return r===1006||r===1011||r===1012||r===1013}nextDelay(){return[500,1500][this.attempts++]??null}};function Oc(e,r,t){let n=e.map(a=>({...a}));for(let[a,o]of[["user",r],["assistant",t]]){if(!o.trim())continue;let s=-1;for(let c=n.length-1;c>=0;c--)if(n[c].role===a&&!n[c].done){s=c;break}if(s<0&&a==="user"){let c=n.map(i=>i.role).lastIndexOf("user");if(c>=0&&n[c].text===o.trim())continue}s>=0?n[s].text=o.trim():n.push({role:a,text:o.trim(),done:!0})}return n.map(a=>({...a,done:!0}))}var Yo=16e3,za=24e3,Td=.08,Rd=.12,Ld=.03,Ed=.08;var zd=.12,Nd=500,Id=6e4,Ad=`
|
|
3
|
-
class KikuCapture extends AudioWorkletProcessor {
|
|
4
|
-
constructor() {
|
|
5
|
-
super();
|
|
6
|
-
this._ratio = sampleRate / ${Yo};
|
|
7
|
-
this._chunk = ${Math.round(Yo*.04)};
|
|
8
|
-
this._acc = new Int16Array(this._chunk);
|
|
9
|
-
this._n = 0;
|
|
10
|
-
this._pos = 0;
|
|
11
|
-
}
|
|
12
|
-
process(inputs) {
|
|
13
|
-
const ch = inputs[0] && inputs[0][0];
|
|
14
|
-
if (!ch) return true;
|
|
15
|
-
while (this._pos < ch.length) {
|
|
16
|
-
const i = this._pos | 0;
|
|
17
|
-
const frac = this._pos - i;
|
|
18
|
-
const a = ch[i];
|
|
19
|
-
const b = i + 1 < ch.length ? ch[i + 1] : a;
|
|
20
|
-
const s = a + (b - a) * frac;
|
|
21
|
-
const c = s < -1 ? -1 : s > 1 ? 1 : s;
|
|
22
|
-
this._acc[this._n++] = c < 0 ? c * 0x8000 : c * 0x7fff;
|
|
23
|
-
if (this._n === this._chunk) {
|
|
24
|
-
this.port.postMessage(this._acc.buffer, [this._acc.buffer]);
|
|
25
|
-
this._acc = new Int16Array(this._chunk);
|
|
26
|
-
this._n = 0;
|
|
27
|
-
}
|
|
28
|
-
this._pos += this._ratio;
|
|
29
|
-
}
|
|
30
|
-
this._pos -= ch.length;
|
|
31
|
-
return true;
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
registerProcessor('kiku-capture', KikuCapture);
|
|
35
|
-
`;function Wc(e){return e.proof?["akropolys.token."+e.token,"akropolys.proof."+e.proof]:["akropolys.token."+e.token]}function Uc(e,r){let t=e.apiUrl.replace(/\/+$/,""),n=t.endsWith("/voice/live")?t:t+"/voice/live",a=new URL(n,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"),a.searchParams.set("browserActions","1"),a.searchParams.set("browserActions","1");let o=r||e.voice;return o&&a.searchParams.set("voice",o),a.toString()}function Gc(e){let[r,t]=Ur("idle"),[n,a]=Ur(!1),[o,s]=Ur([]),[c,i]=Ur(null),[l,h]=Ur(!1),p=Me(null),d=Me(!1),u=Me(new fn),f=Me(()=>!1),k=Me(null),m=Me(null),M=Me(!1),g=Me(0),R=Me(0),S=Me(!1),y=Me(null),A=Me(0),D=Me(!1),T=Me(!1),O=Me(null),w=Me(null),I=Me(null),$=Me(null),_=Me(0),Q=Me(!1),be=Me([]),Z=Me(0),U=Me(new Set),de=Me(null),K=Me(null),F=Me(za),B=Me(e);kn(()=>{B.current=e;let G=w.current;if(G)for(let J of G.getAudioTracks())J.enabled=!e.muted},[e]);let N=Me(!1),L=Me([]),P=Me(new Wn),j=Me(null),C=Me(""),z=Me(""),[x,se]=Ur([]),te=Me([]);te.current=x;let W=Me([]),[ne,b]=Ur([]),E=Me(0),V=Me(!1),X=Me(null),Y=Me(new Map),re=Me([]),ge=Me(void 0),ie=Me(null),le=Me([]),q=Me([]),pe=Ze(()=>{let G=C.current.trim(),J=z.current.trim(),fe=ie.current?Math.max(.1,(Date.now()-ie.current)/1e3):void 0,ce;if(le.current.length>0)try{let he=$c(le.current,F.current);ce=URL.createObjectURL(he)}catch(he){console.error("[kiku] failed to encode bot audio wav:",he)}let ae;if(q.current.length>0)try{let he=qc(q.current,Yo);ae=URL.createObjectURL(he)}catch(he){console.error("[kiku] failed to encode user audio wav:",he)}let Te=re.current.length?re.current:void 0,ze=ge.current;C.current="",z.current="",ie.current=null,le.current=[],q.current=[],re.current=[],ge.current=void 0,!(!G&&!J&&!Te&&!ze)&&B.current.onExchange?.({heard:G,said:J,duration:fe,userAudioUrl:ae,audioUrl:ce,images:Te,visualization:ze})},[]),Re=Ze(()=>{},[]),me=Ze(G=>{if(g.current=Date.now(),B.current.muted)return;let J=new Int16Array(G),fe=0;for(let ae=0;ae<J.length;ae+=8){let Te=Math.abs(J[ae]);Te>fe&&(fe=Te)}fe>1200&&(A.current=Date.now());let ce=p.current;if(!(!N.current||!ce||ce.readyState!==WebSocket.OPEN)){if(ce.bufferedAmount>256*1024){f.current()||B.current.onError?.("connection");return}q.current.push(new Int16Array(G.slice(0)));try{ce.send(P.current.encode(new Int16Array(G)))}catch{f.current()||B.current.onError?.("connection")}}},[]),we=Ze(()=>{L.current=[]},[]),Ie=Ze(()=>{let G=O.current;if(j.current&&G&&G.state!=="closed")return j.current;let J=window.AudioContext||window.webkitAudioContext;if(!J)return Promise.resolve(null);let fe=new J({latencyHint:"interactive",sampleRate:za});O.current=fe;let ce=URL.createObjectURL(new Blob([Ad],{type:"application/javascript"}));return j.current=fe.audioWorklet.addModule(ce).then(()=>fe).catch(()=>null).finally(()=>URL.revokeObjectURL(ce)),j.current},[]),Se=Ze(()=>{typeof window>"u"||Ie()},[Ie]),ue=Ze(()=>{let G=$.current;if(!G)return 0;let J=new Uint8Array(G.fftSize);G.getByteTimeDomainData(J);let fe=0;for(let ce=0;ce<J.length;ce++){let ae=(J[ce]-128)/128;fe+=ae*ae}return Math.min(1,Math.sqrt(fe/J.length)*4)},[]),De=r==="speaking"||r==="thinking",Ge=Ze(G=>{let J=De?de.current:$.current;return!J||G.length!==J.frequencyBinCount?!1:(J.getByteFrequencyData(G),!0)},[De]),Ye=Ze(()=>(De?de.current:$.current)?.frequencyBinCount??0,[De]),Pe=Ze(()=>{let G=K.current,J=O.current;if(!G||!J||J.state==="closed"){_.current=0;for(let ae of U.current)try{ae.onended=null,ae.stop()}catch{}U.current.clear();return}let fe=J.currentTime,ce=fe+Ed;G.gain.cancelScheduledValues(fe),G.gain.setValueAtTime(G.gain.value,fe),G.gain.linearRampToValueAtTime(0,ce),G.gain.setValueAtTime(1,ce);for(let ae of U.current)try{ae.onended=null,ae.stop(ce)}catch{}U.current.clear(),_.current=ce},[]),wt=Ze(G=>{let J=O.current,fe=de.current;if(!J||!fe||G.length===0)return;J.state==="suspended"&&J.resume().catch(()=>{});let ce=J.createBuffer(1,G.length,F.current);ce.getChannelData(0).set(G);let ae=J.createBufferSource();ae.buffer=ce,ae.connect(fe);let Te=J.currentTime,ze=_.current>Te?_.current:Te+Ld;ae.start(ze),_.current=ze+ce.duration,U.current.add(ae),ae.onended=()=>{U.current.delete(ae),U.current.size===0&&(_.current=0,Q.current=!1,t(he=>he==="speaking"?"listening":he))},t(he=>he==="speaking"||he==="idle"||he==="ended"?he:"speaking")},[]),Ct=Ze(()=>{let G=be.current;be.current=[],Z.current=0;for(let J of G)wt(J)},[wt]),Lt=Ze(()=>{be.current=[],Z.current=0},[]),qt=Ze(G=>{let J=O.current;if(!J||G.length===0)return;if(_.current>J.currentTime&&be.current.length===0){wt(G);return}let ce=Q.current?Rd:Td;be.current.push(G),Z.current+=G.length/F.current,Z.current>=ce&&(Q.current=!0,Ct())},[wt,Ct]),Ot=Me(null),Et=Me(null),ve=Ze(()=>{Ot.current&&(clearInterval(Ot.current),Ot.current=null);let G=Et.current,J=O.current;if(G&&J&&J.state!=="closed"){let fe=J.currentTime;try{G.gain.cancelScheduledValues(fe),G.gain.setValueAtTime(G.gain.value,fe),G.gain.linearRampToValueAtTime(1e-4,fe+.04)}catch{}setTimeout(()=>{try{G.disconnect()}catch{}Et.current===G&&(Et.current=null)},50)}},[]),Ke=Ze(()=>{},[]),mt=Ze(G=>{for(let fe of Y.current.values())fe(!1);X.current=null,V.current=!1,k.current!==null&&clearTimeout(k.current),m.current!==null&&clearTimeout(m.current),k.current=m.current=null,M.current=!1,R.current=0,pe();let J=p.current;p.current=null;try{J?.close()}catch{}N.current=!1,L.current=[],j.current=null,Q.current=!1,be.current=[],Z.current=0,ve(),Pe(),y.current=null,I.current&&(I.current.port.onmessage=null),I.current?.disconnect(),I.current=null,w.current?.getTracks().forEach(fe=>fe.stop()),w.current=null,$.current=null,de.current=null,K.current=null,O.current?.close().catch(()=>{}),O.current=null,t(G),a(!1),s([]),d.current=!1,S.current=!1},[pe,Pe,ve]),qe=Ze(()=>{try{p.current?.send(JSON.stringify({type:"close"}))}catch{}try{p.current?.close()}catch{}mt("idle")},[mt]),Xe=Ze(G=>{let J=[...W.current,...te.current.filter(fe=>fe.done)].filter(fe=>fe.text).map(fe=>({role:fe.role,text:fe.text}));if(!(p.current!==G||!d.current||G.readyState!==WebSocket.OPEN))try{G.send(JSON.stringify({type:"open",history:J,browserActions:!0}))}catch{}},[]),dt=Ze(G=>{let J=!1,fe=new Map;G.addEventListener("close",()=>{for(let ce of fe.values())ce.abort();fe.clear()}),m.current!==null&&clearTimeout(m.current),m.current=setTimeout(()=>{p.current!==G||N.current||f.current()||(B.current.onError?.("connection"),qe())},3e4),G.binaryType="arraybuffer",P.current=new Wn,G.onopen=()=>{p.current!==G||!S.current||(S.current=!1,Xe(G))},G.onmessage=ce=>{if(p.current!==G)return;if(ce.data instanceof ArrayBuffer){if(!D.current){D.current=!0;let ze=z.current.trim();ze&&se(he=>{let Ae=he.slice();for(let Oe=Ae.length-1;Oe>=0;Oe--)Ae[Oe].role==="user"&&!Ae[Oe].done&&(Ae[Oe]={...Ae[Oe],done:!0});return Ae.push({role:"assistant",text:ze,done:!1}),Ae})}!T.current&&A.current&&(T.current=!0,console.log("[kiku] wait from last speech to first audio: "+(Date.now()-A.current)+"ms")),ve();let Te=Bc(ce.data);le.current.push(Te.slice()),qt(Te);return}let ae;try{ae=JSON.parse(ce.data)}catch{return}switch(ae.type){case"browser_action":{if(!ae.request?.id||fe.has(ae.request.id))break;let ze=new AbortController;fe.set(ae.request.id,ze);let he=B.current.executeBrowserAction,Ae=setTimeout(()=>ze.abort(),2e4);(he?he(ae.request,ze.signal):Promise.resolve({status:"failed",error:"Browser actions are unavailable in this client."})).then(ft=>{p.current===G&&G.readyState===WebSocket.OPEN&&G.send(JSON.stringify({type:"action_result",id:ae.request.id,result:ft}))}).catch(()=>{p.current===G&&G.readyState===WebSocket.OPEN&&G.send(JSON.stringify({type:"action_result",id:ae.request.id,result:{status:"failed",error:"The action result is unknown; check the site before retrying."}}))}).finally(()=>clearTimeout(Ae));break}case"image_received":Y.current.get(ae.imageId)?.(!0);break;case"image_error":Y.current.get(ae.imageId)?.(!1);break;case"ready":m.current!==null&&clearTimeout(m.current),m.current=null,M.current=!0,g.current=Date.now(),ae.sampleRate&&(F.current=ae.sampleRate,ae.sampleRate!==za&&console.warn(`[kiku] live audio rate ${ae.sampleRate} != context ${za}; per-buffer resampling will click at every chunk seam`)),typeof ae.secondsLeft=="number"&&i(ae.secondsLeft),h(ae.photos===!0),V.current=ae.imageInput===!0;let Te=X.current;if(Te&&V.current)try{G.send(JSON.stringify({type:"image",imageId:Te.id,image:Te.image}))}catch{}N.current=!0,t("listening"),we(),y.current?.(),y.current=null,Jt("connect",!0);break;case"hearing":ie.current||(ie.current=Date.now()),a(!0);break;case"thinking":ie.current||(ie.current=Date.now()),a(!1),t("thinking"),Ke(),ae.tool==="visualize"&&b(ze=>ze.some(he=>he.pending)?ze:[...ze,{id:++E.current,url:"",pending:!0}]);break;case"viz":typeof ae.url=="string"&&ae.url?(ge.current=ae.url,b(ze=>ze.map(he=>he.pending?{...he,url:ae.url,pending:!1}:he))):b(ze=>ze.filter(he=>!he.pending));break;case"heard":U.current.size===0&&(_.current=0),ie.current||(ie.current=Date.now(),Jt("heard")),C.current+=ae.text,se(ze=>{let he=ze.slice(),Ae=he[he.length-1];return Ae&&Ae.role==="user"&&!Ae.done?he[he.length-1]={...Ae,text:C.current.trim()}:he.push({role:"user",text:C.current.trim(),done:!1}),he}),a(!1),t("thinking"),Ke();break;case"said":if(z.current+=ae.text,!D.current)break;se(ze=>{let he=ze.slice();for(let ft=he.length-1;ft>=0;ft--)he[ft].role==="user"&&!he[ft].done&&(he[ft]={...he[ft],done:!0});let Ae=he[he.length-1],Oe=z.current.trim();return Ae&&Ae.role==="assistant"&&!Ae.done?he[he.length-1]={...Ae,text:Oe}:he.push({role:"assistant",text:Oe,done:!1}),he});break;case"interrupted":Q.current=!1,Lt(),ve(),Pe(),Jt("interrupt"),a(!1),t("listening");break;case"turn_complete":T.current=!1,D.current=!1,A.current=0,se(ze=>ze.map(he=>he.done?he:{...he,done:!0})),Ct(),Q.current=!1,ve(),a(!1),pe();break;case"sources":Array.isArray(ae.sources)&&ae.sources.length&&s(ae.sources);break;case"seconds":typeof ae.secondsLeft=="number"&&i(ae.secondsLeft);break;case"refused":B.current.onRefused?.(ae.code||"guest"),qe();break;case"error":if(ae.code==="session_expiring"&&f.current())return;B.current.onError?.(ae.code||"unavailable"),qe();break}},G.onclose=ce=>{p.current===G&&(m.current!==null&&clearTimeout(m.current),m.current=null,!(fn.canRetry(ce.code)&&f.current())&&(ce.code===4402&&(J=!0,B.current.onError?.(ce.reason==="site"?"siteLimit":"limit")),mt("ended")))},G.onerror=()=>{!J&&p.current===G&&console.warn("[kiku] voice transport interrupted")}},[Lt,qt,pe,we,Pe,Ct,Xe,Ke,ve,qe,mt]),It=Ze(G=>{for(let ae of Y.current.values())ae(!1);let J=p.current;if(p.current=null,N.current=!1,te.current=Oc(te.current,C.current,z.current),se(te.current),b(ae=>ae.filter(Te=>!Te.pending)),pe(),D.current=!1,T.current=!1,Q.current=!1,Lt(),t("connecting"),Pe(),ve(),J){try{J.send(JSON.stringify({type:"close"}))}catch{}try{J.close()}catch{}}let fe=B.current;S.current=!0;let ce=new WebSocket(Uc(fe,G),Wc(fe));p.current=ce,dt(ce)},[dt,Lt,pe,Pe,ve]),Wt=Ze(()=>{if(!d.current||!M.current||!I.current)return!1;if(k.current!==null)return!0;let G=u.current.nextDelay();if(G===null)return B.current.onError?.("connection"),qe(),!0;for(let fe of Y.current.values())fe(!1);let J=p.current;p.current=null,N.current=!1,m.current!==null&&clearTimeout(m.current),m.current=null;try{J?.close()}catch{}return Pe(),Lt(),ve(),a(!1),t("connecting"),k.current=setTimeout(()=>{k.current=null,d.current&&It()},G),!0},[Lt,Pe,It,qe,ve]);f.current=Wt,kn(()=>{let G=()=>{if(!d.current||!N.current||!I.current||document.visibilityState==="hidden")return;let fe=O.current;if(!fe)return;let ce=Date.now();if(ce-g.current<1e4){R.current=0;return}R.current?ce-R.current>1e4&&(B.current.onError?.("audio-capture"),qe()):(R.current=ce,fe.resume().catch(()=>{}))},J=window.setInterval(G,2e3);return document.addEventListener("visibilitychange",G),()=>{clearInterval(J),document.removeEventListener("visibilitychange",G)}},[qe]);let it=Me(e.voice);kn(()=>{it.current!==e.voice&&(it.current=e.voice,p.current&&(r==="listening"||r==="thinking"||r==="speaking")&&It(e.voice))},[e.voice,r,It]);let St=Ze(async(G=[])=>{if(d.current&&(p.current||k.current!==null))return;d.current=!0,u.current=new fn,M.current=!1,t("connecting");let J=B.current;L.current=[],W.current=G,te.current=[],se([]),b([]),C.current="",z.current="";let fe=Ie();O.current?.resume().catch(()=>{}),wr();let ce=p.current;ce&&ce.readyState===WebSocket.OPEN?Xe(ce):ce&&ce.readyState===WebSocket.CONNECTING?S.current=!0:(ce=new WebSocket(Uc(J),Wc(J)),p.current=ce,S.current=!0,dt(ce));let ae;try{if(!navigator.mediaDevices?.getUserMedia)throw{name:"NotAllowedError"};ae=await navigator.mediaDevices.getUserMedia({audio:{echoCancellation:!0,noiseSuppression:!0,autoGainControl:!0}})}catch(Oe){try{ce.close()}catch{}p.current=null,t("idle"),J.onError?.(Oe?.name==="NotAllowedError"?"not-allowed":"audio-capture");return}if(p.current!==ce){ae.getTracks().forEach(Oe=>Oe.stop());return}w.current=ae;for(let Oe of ae.getAudioTracks())Oe.enabled=!B.current.muted;let Te=await fe;if(p.current!==ce){ae.getTracks().forEach(Oe=>Oe.stop());return}if(!Te){B.current.onError?.("audio-worklet"),qe();return}Te.state==="suspended"&&Te.resume().catch(()=>{});let ze=Te.createAnalyser();ze.fftSize=1024,ze.smoothingTimeConstant=.25,$.current=ze;let he=Te.createGain();he.gain.value=1,he.connect(Te.destination),K.current=he;let Ae=Te.createAnalyser();Ae.fftSize=1024,Ae.smoothingTimeConstant=.25,Ae.connect(he),de.current=Ae;try{let Oe=new AudioWorkletNode(Te,"kiku-capture");I.current=Oe,Oe.port.onmessage=Zr=>me(Zr.data);let ft=Te.createMediaStreamSource(ae),dr=()=>{if(!(p.current!==ce||!I.current)){try{ft.connect(ze)}catch{}try{ft.connect(Oe)}catch{}}};N.current?dr():y.current=dr}catch{B.current.onError?.("audio-worklet"),qe()}},[dt,Ie,me,Xe,qe]);kn(()=>{if(r!=="listening"){a(!1);return}let G=0,J=!1,fe=Date.now(),ce=window.setInterval(()=>{let ae=Date.now();if(!B.current.muted&&ue()>zd&&(G=ae),ae-Math.max(G,fe)>Id){window.clearInterval(ce),B.current.onError?.("idle"),qe();return}let Te=ae-G<Nd;Te!==J&&(J=Te,a(Te))},100);return()=>window.clearInterval(ce)},[r,ue,qe]);let ct=Ze(()=>{Se()},[Se]);kn(()=>()=>{qe()},[qe]),kn(()=>{let G=w.current;if(G)for(let J of G.getAudioTracks())J.enabled=!e.muted},[e.muted,r]);let Dt=Ze(async G=>{let J=p.current;if(!d.current||!N.current||!J||J.readyState!==WebSocket.OPEN||!G.type.startsWith("image/"))return!1;let fe;try{fe=await wa(G,"image/jpeg")}catch{return!1}if(fe.length>Math.ceil(4*1024*1024/3)*4+32||p.current!==J||!d.current)return!1;let ce=++E.current;b(he=>[...he,{id:ce,url:fe,pending:!1,sending:!0}]);let ae=B.current.storeScene,Te=ae?await ae(fe).catch(()=>!1):!1;if(p.current!==J||!d.current||J.readyState!==WebSocket.OPEN)return b(he=>he.filter(Ae=>Ae.id!==ce)),!1;let ze=Te;return V.current?ze=await new Promise(he=>{let Ae=setTimeout(()=>Oe(!1),15e3),Oe=ft=>{clearTimeout(Ae),Y.current.delete(ce),he(ft)};Y.current.set(ce,Oe);try{J.send(JSON.stringify({type:"image",imageId:ce,image:fe}))}catch{Oe(!1)}}):Te&&J.send(JSON.stringify({type:"text",text:"(The visitor attached a photo for editing. Briefly ask what they would like changed.)"})),!ze||p.current!==J||!d.current||!N.current?(b(he=>he.filter(Ae=>Ae.id!==ce)),!1):(V.current&&(X.current={id:ce,image:fe}),b(he=>he.map(Ae=>Ae.id===ce?{...Ae,sending:!1}:Ae)),re.current.push(fe),!0)},[]),ar=Ze(G=>{let J=p.current;J&&J.readyState===WebSocket.OPEN&&G.trim()&&J.send(JSON.stringify({type:"text",text:G}))},[]);return{state:r,phase:r,hearing:n,sources:o,secondsLeft:c,photos:l,turns:x,images:ne,micLevel:ue,micSpectrum:Ge,spectrumBins:Ye,start:St,stop:qe,prewarm:ct,attachPhoto:Dt,ask:ar}}var Fd=e=>e==="connecting"||e==="ended"?"idle":e,jc={turns:[],images:[]},Yc=()=>`v${Date.now().toString(36)}`;function Dd(e,r){let t=[],n=[];for(let a of e)if(a.live===r){a.content&&t.push({role:a.role==="user"?"user":"assistant",text:a.content,done:!0});for(let o of[...a.images??[],...a.visualization?[a.visualization]:[]])n.push({id:-(n.length+1),url:o,pending:!1})}return{turns:t,images:n}}function Kc({voiceLang:e,speechLang:r,shopperLanguage:t,ttsVoice:n="Algenib",messages:a,handleSendUtterance:o,appendSpokenExchange:s}){let c=_d(),[i,l]=Gr("off"),[h,p]=Gr("idle"),[d,u]=Gr(""),[f,k]=Gr(!1),[m,M]=Gr(!1),[g,R]=Gr(()=>{try{let P=localStorage.getItem(Eo);if(P&&_n.some(j=>j.name===P))return P}catch{}return n||"Algenib"}),S=Pd(Yc()),y=Na(P=>{R(P);try{localStorage.setItem(Eo,P)}catch{}},[]),A=_c({lang:e||r,onUtterance:P=>{p("thinking"),o(P)},onError:P=>{l("off"),p("idle"),u(P==="not-allowed"?"micDenied":P==="language-not-supported"?"micLangUnsupported":P==="audio-capture"?"micMissing":P==="network"?"micNetwork":"micFailed")},onBargeIn:()=>{Ic()}}),T=c?.voiceUrl||c?.api?.voiceUrl||c?.api?.apiUrl||c?.apiUrl||"",O=c?.api?.siteId||c?.siteId||"",w=c?.api?.apiToken||c?.apiToken||"",I=c?.getShopperId?.()||c?.getKikuPub?.()||void 0,$=c?.getShopperName?.()||void 0,_=Gc({apiUrl:T,siteId:O,token:w,kikuId:I,proof:c?.getUserProof?.()||void 0,sessionId:c?.getSessionId?.()||void 0,storeScene:P=>c?.storeScene?.(P)??Promise.resolve(!1),executeBrowserAction:(P,j)=>c.api.executeBrowserAction(P,j),name:$,language:t,voice:g,muted:f,onExchange:P=>{s(P.heard,P.said,P.duration,P.userAudioUrl,P.audioUrl,{images:P.images,visualization:P.visualization,live:S.current})},onError:P=>{if(P==="shopper_reply_limit"||P==="access_revoked"||P==="account_required"){M(!0),_.stop(),l("off");return}l("off"),u(P==="idle"?"voiceIdleEnded":P==="not-allowed"?"micDenied":P==="audio-capture"?"micMissing":P==="limit"?"voiceLimitReached":P==="siteLimit"?"voiceSiteLimit":P==="connection"||P==="network"?"micNetwork":"voiceUnavailable")},onRefused:P=>{(P==="shopper_reply_limit"||P==="access_revoked"||P==="account_required")&&M(!0),l("off"),u("voiceUnavailable")}}),Q=typeof window<"u"&&!!window.WebSocket&&!!(window.AudioContext||window.webkitAudioContext)&&!!navigator.mediaDevices?.getUserMedia,{prewarm:be}=_;Vc(()=>{if(!Q)return;let P=window;if(P.requestIdleCallback){let C=P.requestIdleCallback(be,{timeout:3e3});return()=>P.cancelIdleCallback(C)}let j=window.setTimeout(be,1500);return()=>window.clearTimeout(j)},[Q,be]),Vc(()=>{i==="converse"&&_.state==="ended"&&(l("off"),u("voiceSessionEnded"))},[i,_.state]);let[Z,U]=Gr(jc),de=Na(async P=>{if(!Pi()){u("micInsecure");return}if(u(""),l(P),P==="dictate")p("listening"),await A.start();else{let j=Dd(a,S.current);U(j),_.start(j.turns)}},[_,A,a]),K=Na(()=>{_.stop(),S.current=Yc(),U(jc),_.start([])},[_]),F=Na(()=>{l("off"),p("idle"),A.stop(),_.stop()},[_,A]),B=i==="converse"?Fd(_.state):i==="dictate"?h==="listening"?A.hearing?"speaking":"listening":h:"idle",N=i==="converse"&&_.state!=="listening"&&_.state!=="thinking"&&_.state!=="speaking";return{attachPhoto:async P=>{await _.attachPhoto(P)||u("voicePhotoFailed")},voiceMode:i,voicePhase:B,voiceConnecting:N,voiceError:d,setVoiceError:u,voiceMuted:f,setVoiceMuted:k,voiceSecondsLeft:_.secondsLeft??null,voiceBlocked:m,liveVoiceName:g,chooseVoice:y,canConverse:Q,startVoice:de,stopVoice:F,voice:A,live:_,earlier:Z,newVoiceChat:K}}import We from"react";import{useEffect as Hd,useRef as ht}from"react";import{jsx as He,jsxs as Bt}from"react/jsx-runtime";var Ko={idle:{bw:50,bh:60,tr:1,br:.42,bow:3},thinking:{bw:46,bh:46,tr:1,br:1,bow:2},visualizing:{bw:64,bh:42,tr:.42,br:.42,bow:2},speaking:{bw:44,bh:54,tr:.9,br:.9,bow:3},failed:{bw:53,bh:45,tr:.95,br:.55,bow:4},curious:{bw:48,bh:52,tr:.9,br:.7,bow:3},welcoming:{bw:50,bh:58,tr:1,br:.5,bow:2},guiding:{bw:46,bh:50,tr:.8,br:.8,bow:2},happy:{bw:52,bh:56,tr:1,br:.4,bow:4},focused:{bw:48,bh:52,tr:.9,br:.7,bow:2}},Xo={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}},Ia=[[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]],Bd=.42,$d=170;function qd(e){let r=1;for(;r<Ia.length-1&&Ia[r][0]<e;)r++;let[t,n,a]=Ia[r-1],[o,s,c]=Ia[r],i=o===t?0:(e-t)/(o-t),l=i*i*(3-2*i);return[n+(s-n)*l,a+(c-a)*l]}var Un=6,Xc=["bw","bh","tr","br","bow","lid","warm","wob","gx","gy"],Lr=(e,r,t)=>Math.max(r,Math.min(t,e));function Qc(e,r,t,n){let a=l=>l.toFixed(2),o=(r+t)/2,s=e+n,c=(o-r)*.55,i=(t-o)*.55;return`C${a(e)} ${a(r+c)} ${a(s)} ${a(o-c)} ${a(s)} ${a(o)}C${a(s)} ${a(o+i)} ${a(e)} ${a(t-i)} ${a(e)} ${a(t)}`}function Od(e,r,t,n,a){let o=Lr(e*t,8,r*.96),s=Lr(e*n,8,r*.96),c=(p,d)=>`${p.toFixed(2)} ${d.toFixed(2)}`,i=.46,l=Lr((e-o)/e,0,1),h=Lr((e-s)/e,0,1);return`M${c(-e,-r+o)}C${c(-e,-r+o*i)} ${c(-e+o*i,-r)} ${c(-e+o,-r)}C${c(-e*.3*l,-r-2*l)} ${c(e*.3*l,-r-2*l)} ${c(e-o,-r)}C${c(e-o*i,-r)} ${c(e,-r+o*i)} ${c(e,-r+o)}`+Qc(e,-r+o,r-s,a)+`C${c(e,r-s*i)} ${c(e-s*i,r)} ${c(e-s,r)}C${c(e*.3*h,r+2*h)} ${c(-e*.3*h,r+2*h)} ${c(-e+s,r)}C${c(-e+s*i,r)} ${c(-e,r-s*i)} ${c(-e,r-s)}`+Qc(-e,r-s,-r+o,-a)+"Z"}var gn=[{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)"}],Zo=[{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)"}],zf=[...gn,...Zo];function Qo(e){let n=(!Zo.includes(e)&&Math.random()<.26?Zo:gn).filter(a=>a!==e);return n[Math.floor(Math.random()*n.length)]}function hr(e){let r=parseInt(e.slice(1),16);return[r>>16&255,r>>8&255,r&255]}function Jo(e){return`rgb(${Math.round(e[0])}, ${Math.round(e[1])}, ${Math.round(e[2])})`}function Wd(e,r,t){return[e[0]+(r[0]-e[0])*t,e[1]+(r[1]-e[1])*t,e[2]+(r[2]-e[2])*t]}var Ud=[[255,253,248],[247,240,231],[231,218,202],[198,178,156]],Jc=[.05,.15,.42,.74],Gd=[.52,.72,.9,1],Zc={color:"#E2581D",light:"#FFBE96",glow:"rgba(226, 88, 29, 0.34)"};function el({state:e="idle",size:r=40,alert:t=!1,theme:n,feminine:a,accessories:o,onImpact:s,triggerRef:c,dropIn:i=!1}){let l=ht(i),h=ht(e);h.current=e;let p=ht(t);p.current=t;let d=n==="blush"||a===!0||!!(o?.flower||o?.eyelashes||o?.blush),u=o?.flower??d,f=o?.eyelashes??d,k=o?.blush??d,m=ht(null),M=ht(null),g=ht(null),R=ht(null),S=ht(null),y=ht(null),A=ht(null),D=ht(null),T=ht(null),O=ht(null),w=ht(null),I=ht(null),$=ht(null),_=ht(null),Q=ht([]),be=ht([]),Z=ht(null),U=ht(`kiku-${Math.random().toString(36).slice(2,8)}`).current,de=ht(s);return de.current=s,Hd(()=>{let K=window.matchMedia("(prefers-reduced-motion: reduce)").matches,F={},B={};Xc.forEach(ve=>{F[ve]=Ko.idle[ve]??Xo.idle[ve]??0,B[ve]=0});let N=Array.from({length:Un},()=>({x:0,y:0,w:0,h:0,rx:0,a:0})),L=Array.from({length:Un},()=>({x:0,y:0,w:0,h:0,rx:0,a:0})),P=1800,j=-1,C=0,z=2600,x=0,se=!1,te=9e3+Math.random()*8e3,W=-1,ne=0;l.current&&!K&&(W=Bd,ne=performance.now()+$d);let b=0,E=0,V=0,X=4200,Y=0,re=0,ge=0,ie=12e3,le=gn[0],q=hr(le.color),pe=hr(le.light),Re=[...q],me=[...pe],we=2600,Ie=-1/0,Se=!1,ue=0,De=!1,Ge=0,Ye=0,Pe=0,wt=!1,Ct=0,Lt=ve=>{ve-Ie<we?(le=Qo(le),Re=hr(le.color),me=hr(le.light),Ie=-1/0):Ie=ve},qt=(ve,Ke,mt,qe)=>{let Xe=h.current,dt=Array.from({length:Un},()=>({x:0,y:0,w:0,h:0,rx:0,a:0})),It=(Wt,it,St=0)=>{let ct=Math.max(4,54*Math.max(.06,Ke));dt[Wt]={x:it+mt,y:-4+qe+St,w:21,h:ct,rx:10.5,a:1}};if(Xe==="thinking"){let it=ve%2800/2800,St=Math.pow(Math.sin(it*Math.PI*2)*.5+.5,3);for(let ct=0;ct<4;ct++){let Dt=ve/700+ct/4*Math.PI*2,ar=(26-ct%2*5)*(1-.94*St),G=16+St*6+Math.sin(ve/420+ct)*1.4;dt[ct]={x:Math.cos(Dt)*ar,y:Math.sin(Dt)*ar*.86+2,w:G,h:G,rx:G/2,a:1}}}else if(Xe==="visualizing")dt[0]={x:0,y:-2,w:78,h:26,rx:13,a:1};else if(Xe==="speaking")for(let it=0;it<5;it++){let St=12+Math.abs(Math.sin(ve/150+it*.9))*26;dt[it]={x:(it-4/2)*15,y:-2,w:9,h:St,rx:4.5,a:1}}else Xe==="failed"?(It(0,-22,8),It(1,22,8)):(It(0,-22),It(1,22));return dt};c&&(c.current=()=>{if(W>=0){De=!0,le=Qo(le),Re=hr(le.color),me=hr(le.light),Ie=-1/0;return}W=0,Lt(Ge),te=Ge+4e3});let Ot=ve=>{Ge=ve;let Ke=h.current,mt=Ko[Ke]??Ko.idle,qe=Xo[Ke]??Xo.idle,Xe=Ke==="idle"||Ke==="failed";Xe&&!K&&(ve>z&&(C=(Math.random()-.5)*2,z=ve+1800+Math.random()*3600),F.wantGx=C*5);let dt=p.current?1:0;Pe=(Pe+(dt-Ye)*.1)*.88,Ye+=Pe;let It=p.current&&!K?Math.sin(ve/480)*.055*Ye:0,Wt={bw:mt.bw*(1+Ye*.34+It),bh:mt.bh*(1+Ye*.2+It),tr:mt.tr,br:mt.br,bow:mt.bow,warm:qe.warm,wob:qe.wob,lid:qe.lid,gx:Xe&&!K?C*5:0,gy:Xe&&!K?Math.sin(ve/2600)*2:0};!K&&Xe&&(j<0&&ve>P&&(j=0),j>=0&&(j+=1/7,Wt.lid=qe.lid*Math.abs(j-.5)*2,j>=1&&(j=-1,Wt.lid=qe.lid,P=ve+(Math.random()<.22?340:2600+Math.random()*4200)))),Xc.forEach(_e=>{let at=_e;if(K){F[at]=Wt[at];return}let Ve=at==="lid"?.42:.11,At=at==="lid"?.55:.78;B[at]=(B[at]+(Wt[at]-F[at])*Ve)*At,F[at]+=B[at]});let it=0,St=0;!K&&p.current&&W<0&&ve>Ct&&(W=0,Ct=ve+2100,te=ve+4e3),!K&&Ke==="idle"?W<0&&ve>te&&(W=0,Se?(Se=!1,ue=0,le=Qo(le),Re=hr(le.color),me=hr(le.light),Ie=-1/0):(ue++,Lt(ve))):W<0&&(te=ve+3e3+Math.random()*3e3),W>=0&&(ve>=ne&&(W+=1/96),[it,St]=qd(W),W>=1&&(W=-1,it=0,St=0,De?(De=!1,ue=0,te=ve+150):!Se&&ue>=2?(Se=!0,te=ve+240):te=ve+5e3+Math.random()*5e3));let ct=Math.max(0,it);if(p.current!==wt){wt=p.current;let _e=p.current?Zc:le;Re=hr(_e.color),me=hr(_e.light),p.current&&!K&&(W<0&&(W=0),Ct=ve+2600)}let Dt=p.current?Zc:le;if(K)q=[...Re],pe=[...me];else for(let _e=0;_e<3;_e++)q[_e]+=(Re[_e]-q[_e])*.055,pe[_e]+=(me[_e]-pe[_e])*.055;let ar=Jo(q),G=Jo(pe);I.current?.setAttribute("stop-color",ar),$.current?.setAttribute("stop-color",G),_.current?.setAttribute("stop-color",G);for(let _e=0;_e<4;_e++){let at=Jc[_e]+(Gd[_e]-Jc[_e])*Ye;Q.current[_e]?.style.setProperty("stop-color",Jo(Wd(Ud[_e],q,at)))}let J=.34+Math.sin(ve/1200)*.06,fe=ct>.02?Math.min(.72,J+ct*.34):J;w.current?.setAttribute("opacity",fe.toFixed(3)),ct>.04?de.current?.(ct,Dt.color,Dt.glow):Et>.04&&de.current?.(0,Dt.color,Dt.glow),Et=ct;let ce=K?0:Math.sin(ve/1900)*.9*F.wob,ae=F.bw*(1+it*.55)+ce*.4,Te=F.bh*(1-it*.62),ze=Od(ae,Te,Lr(F.tr+ct*.5,0,1.2),Lr(F.br+ct*.9,0,1),F.bow+ce+ct*5);m.current?.setAttribute("d",ze),M.current?.setAttribute("d",ze);let he=Ke==="thinking";he!==se&&(se=he,Z.current?.setAttribute("filter",he?`url(#${U}-goo)`:"none"));let Ae=qt(ve,F.lid*(1-ct*.85),F.gx,F.gy);for(let _e=0;_e<Un;_e++){let at=Ae[_e],Ve=N[_e],At=L[_e];for(let Pt of["x","y","w","h","rx","a"]){if(K){Ve[Pt]=at[Pt];continue}At[Pt]=(At[Pt]+(at[Pt]-Ve[Pt])*.16)*.74,Ve[Pt]+=At[Pt]}let ut=be.current[_e];ut&&(ut.setAttribute("x",(Ve.x-Ve.w/2).toFixed(2)),ut.setAttribute("y",(Ve.y-Ve.h/2).toFixed(2)),ut.setAttribute("width",Math.max(0,Ve.w).toFixed(2)),ut.setAttribute("height",Math.max(0,Ve.h).toFixed(2)),ut.setAttribute("rx",Math.max(0,Math.min(Ve.rx,Ve.w/2,Ve.h/2)).toFixed(2)),ut.setAttribute("opacity",Lr(Ve.a,0,1).toFixed(2)))}let Oe=K?0:Math.sin(ve/qe.breath)*1.5;!K&&Xe&&W<0?(ve>X&&(V=(Math.random()<.5?-1:1)*(.35+Math.random()*.65),X=ve+2600+Math.random()*4200),ve>ie&&(ge=ge>.1?0:1,ie=ve+(ge>.1?900:9e3+Math.random()*11e3))):(V=0,ge=0),E=(E+(V-b)*.028)*.9,b+=E,re=(re+(ge-Y)*.06)*.82,Y+=re;let ft=F.bh-Te,dr=b*3.4+Y*4.5,Zr=b*2.2+Y*3,en=Y*2.4;if(g.current?.setAttribute("transform",`translate(${Zr.toFixed(2)} ${(Oe+ft-St+en).toFixed(2)}) rotate(${dr.toFixed(2)} 0 60)`),R.current&&R.current.setAttribute("transform",`translate(${Zr.toFixed(2)} ${(Oe+ft-St+en).toFixed(2)}) rotate(${dr.toFixed(2)} 0 60)`),u&&S.current){let _e=-ae*.62,at=-Te*.7,Ve=-16+(K?0:Math.sin(ve/1400)*3)+dr*.4;S.current.setAttribute("transform",`translate(${_e.toFixed(2)}, ${at.toFixed(2)}) rotate(${Ve.toFixed(2)})`)}if(k&&y.current){let _e=12+F.gy*.5;y.current.setAttribute("transform",`translate(0, ${_e.toFixed(2)})`)}if(f&&A.current){let _e=Ke!=="thinking"&&Ke!=="visualizing"&&Ke!=="speaking";A.current.setAttribute("opacity",_e?Lr(F.lid*1.3,0,1).toFixed(2):"0");let at=(Ve,At)=>{let ut=Math.max(1,Math.min(Ve.w,Ve.h)/2),Pt=Ve.y-Ve.h/2+ut,xr="";for(let[Ja,Ir]of[[20,7],[48,8],[76,6.5]]){let vr=Ja*Math.PI/180,Za=Ve.x+At*Math.sin(vr)*ut,eo=Pt-Math.cos(vr)*ut,to=Ve.x+At*Math.sin(vr)*(ut+Ir),ro=Pt-Math.cos(vr)*(ut+Ir)-1.5,Xt=Ve.x+At*Math.sin(vr-.22)*(ut+Ir*.65),no=Pt-Math.cos(vr-.22)*(ut+Ir*.65);xr+=` M ${Za.toFixed(2)} ${eo.toFixed(2)} Q ${Xt.toFixed(2)} ${no.toFixed(2)} ${to.toFixed(2)} ${ro.toFixed(2)}`}return xr.trim()};D.current?.setAttribute("d",at(N[0],-1)),T.current?.setAttribute("d",at(N[1],1))}x=requestAnimationFrame(Ot)},Et=0;return x=requestAnimationFrame(Ot),()=>cancelAnimationFrame(x)},[u,f,k,d]),Bt("svg",{className:"hsk-kiku-avatar",width:r,height:r,viewBox:"-100 -100 200 200","aria-hidden":"true",style:{display:"block",overflow:"visible"},children:[Bt("defs",{children:[He("linearGradient",{id:`${U}-marble`,x1:".2",y1:"0",x2:".42",y2:"1",children:[0,40,82,100].map((K,F)=>He("stop",{ref:B=>{Q.current[F]=B},offset:`${K}%`,style:{stopColor:`var(--hsk-marble-${F+1}, #FAF7F2)`}},K))}),Bt("linearGradient",{id:`${U}-contact`,x1:"0",y1:"1",x2:"0",y2:"0",children:[He("stop",{ref:I,offset:"0%",stopColor:gn[0].color,stopOpacity:"0.9"}),He("stop",{ref:$,offset:"45%",stopColor:gn[0].light,stopOpacity:"0.5"}),He("stop",{ref:_,offset:"100%",stopColor:gn[0].light,stopOpacity:"0"})]}),Bt("radialGradient",{id:`${U}-sheen`,cx:".34",cy:".2",r:".55",children:[He("stop",{offset:"0%",stopColor:"#FFFFFF",style:{stopOpacity:"var(--hsk-marble-sheen, .9)"}}),He("stop",{offset:"100%",stopColor:"#FFFFFF",stopOpacity:"0"})]}),Bt("linearGradient",{id:`${U}-hibiscus-petal`,x1:"0",y1:"1",x2:"0",y2:"0",children:[He("stop",{offset:"0%",stopColor:"#FF3366"}),He("stop",{offset:"65%",stopColor:"#FF758F"}),He("stop",{offset:"100%",stopColor:"#FFAAA6"})]}),Bt("radialGradient",{id:`${U}-blush-cheek`,cx:"50%",cy:"50%",r:"50%",children:[He("stop",{offset:"0%",stopColor:"#FB7185",stopOpacity:"0.48"}),He("stop",{offset:"100%",stopColor:"#FB7185",stopOpacity:"0"})]}),He("clipPath",{id:`${U}-skin`,children:He("use",{href:`#${U}-body`})}),Bt("filter",{id:`${U}-goo`,x:"-50%",y:"-50%",width:"200%",height:"200%",children:[He("feGaussianBlur",{in:"SourceGraphic",stdDeviation:"4",result:"b"}),He("feColorMatrix",{in:"b",values:"1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 18 -7"})]}),Bt("mask",{id:`${U}-cut`,children:[He("path",{ref:M,d:"",fill:"#FFFFFF"}),He("g",{ref:Z,children:Array.from({length:Un},(K,F)=>He("rect",{ref:B=>{be.current[F]=B},fill:"#000000"},F))})]})]}),Bt("g",{ref:g,mask:`url(#${U}-cut)`,children:[He("path",{id:`${U}-body`,ref:m,d:"",fill:`url(#${U}-marble)`}),Bt("g",{clipPath:`url(#${U}-skin)`,children:[He("ellipse",{cx:"-14",cy:"-40",rx:"46",ry:"34",fill:`url(#${U}-sheen)`}),He("rect",{ref:w,x:"-100",y:"-20",width:"200",height:"100",fill:`url(#${U}-contact)`,opacity:"0.45"})]})]}),Bt("g",{ref:R,style:{pointerEvents:"none"},children:[k&&Bt("g",{ref:y,children:[He("ellipse",{cx:"-28",cy:"0",rx:"10",ry:"5.5",fill:`url(#${U}-blush-cheek)`}),He("ellipse",{cx:"28",cy:"0",rx:"10",ry:"5.5",fill:`url(#${U}-blush-cheek)`})]}),f&&Bt("g",{ref:A,children:[He("path",{ref:D,stroke:"#3D1424",strokeWidth:"1.7",strokeLinecap:"round",fill:"none"}),He("path",{ref:T,stroke:"#3D1424",strokeWidth:"1.7",strokeLinecap:"round",fill:"none"})]}),u&&Bt("g",{ref:S,className:"hsk-avatar-flower",children:[He("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(K=>He("path",{d:"M 0 0 C -6 -13 6 -13 0 0 Z",fill:`url(#${U}-hibiscus-petal)`,stroke:"#FF2A5F",strokeWidth:"0.6",transform:`rotate(${K-18})`},K)),He("path",{d:"M 0 0 Q 3 -10 9 -14",stroke:"#F59E0B",strokeWidth:"1.6",strokeLinecap:"round",fill:"none"}),He("circle",{cx:"9",cy:"-14",r:"1.3",fill:"#FDE047"}),He("circle",{cx:"7",cy:"-12",r:"1.1",fill:"#FDE047"}),He("circle",{cx:"6.5",cy:"-15",r:"1.1",fill:"#FDE047"}),He("circle",{cx:"0",cy:"0",r:"2.2",fill:"#881337"})]})]})]})}import{useState as tl}from"react";import{Fragment as rl,jsx as xn,jsxs as Aa}from"react/jsx-runtime";function Pa({className:e="",compact:r=!1}){let[t,n]=tl(()=>ua()),[a,o]=tl(""),s=()=>{let c=!t;pi(c),n(c),Jt(c?"reply":"interrupt",!0),o(ui())};return Aa("button",{type:"button",className:oe("hsk-cb-sound-pill",r&&"is-compact",t&&"is-on",a&&a!=="running"&&a!=="off"&&"is-blocked",e),onClick:s,role:"switch","aria-checked":t,"aria-label":t?"Mute notification sounds":"Unmute notification sounds",children:[Aa("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[xn("path",{d:"M11 5 6 9H3v6h3l5 4V5Z"}),t?Aa(rl,{children:[xn("path",{className:"hsk-snd-wave",style:{"--hsk-wave":0},d:"M15.5 8.5a5 5 0 0 1 0 7"}),xn("path",{className:"hsk-snd-wave",style:{"--hsk-wave":1},d:"M18.5 5.5a9 9 0 0 1 0 13"})]}):Aa(rl,{children:[xn("line",{className:"hsk-snd-x",x1:"16",y1:"9",x2:"21",y2:"15"}),xn("line",{className:"hsk-snd-x",x1:"21",y1:"9",x2:"16",y2:"15"})]})]}),!r&&xn("span",{children:t?"Sounds":"Muted"})]})}import{useCallback as nl,useLayoutEffect as Vd,useRef as vn}from"react";var jd=300,Yd=220,Kd=120,Xd=.45,Qd=.4,Jd=.25,_a=e=>Math.min(1,Math.max(0,e));function Zd(e,r,t,n){let a=3*e,o=3*(t-e)-a,s=1-a-o,c=3*r,i=3*(n-r)-c,l=1-c-i,h=u=>((s*u+o)*u+a)*u,p=u=>((l*u+i)*u+c)*u,d=u=>(3*s*u+2*o)*u+a;return u=>{let f=u;for(let k=0;k<8;k++){let m=h(f)-u,M=d(f);if(Math.abs(m)<1e-5||Math.abs(M)<1e-6)break;f-=m/M}return p(_a(f))}}var eu=Zd(.32,.72,0,1);function tu(e){let r=e.getBoundingClientRect();return{top:r.top,left:r.left,width:r.width,height:r.height,radius:Math.min(parseFloat(getComputedStyle(e).borderTopLeftRadius)||0,r.height/2)}}function al({target:e,trigger:r,shadow:t,radius:n=0,enabled:a,onClosed:o}){let s=vn(null),c=vn(null),i=vn(!1),l=vn(0),h=vn(null),p=vn(o);p.current=o;let d=nl(g=>{l.current=g;let R=e(),S=s.current,y=c.current;if(!R||!S||!y)return;let A=1-g,D=Math.min(Math.max(S.top,y.top),y.bottom-S.height),T=Math.min(Math.max(S.left,y.left),y.right-S.width),O=(S.top-D)*A,w=(S.left-T)*A,I=Math.max(0,(D-y.top)*A),$=Math.max(0,(T-y.left)*A),_=Math.max(0,(y.right-T-S.width)*A),Q=Math.max(0,(y.bottom-D-S.height)*A),be=S.radius*A+n*g;R.style.clipPath=`inset(${I}px ${_}px ${Q}px ${$}px round ${be}px)`,R.style.translate=w||O?`${w}px ${O}px`:"";let Z=t?.();Z&&Object.assign(Z.style,{left:`${$}px`,top:`${I}px`,width:`${Math.max(0,y.width-$-_)}px`,height:`${Math.max(0,y.height-I-Q)}px`,borderRadius:`${be}px`,translate:R.style.translate}),R.style.setProperty("--hsk-island-content",String(_a((g-Xd)/Qd)));let U=String(_a(g/Jd));R.style.opacity=U,Z&&(Z.style.opacity=U)},[e,t,n]),u=()=>{let g=e();if(g)for(let S of["clip-path","translate","--hsk-island-content","opacity"])g.style.removeProperty(S);let R=t?.();if(R)for(let S of["left","top","width","height","border-radius","translate","opacity"])R.style.removeProperty(S)},f=()=>{h.current!==null&&cancelAnimationFrame(h.current),h.current=null},k=(g,R,S)=>{f();let y=l.current,A=Math.max(Kd,R*Math.abs(g-y)),D=performance.now(),T=O=>{let w=_a((O-D)/A);d(y+(g-y)*eu(w)),w<1?h.current=requestAnimationFrame(T):(h.current=null,S())};d(y),h.current=requestAnimationFrame(T)},m=(g,R)=>{s.current=tu(R),g.style.clipPath="",g.style.translate="",c.current=g.getBoundingClientRect()};return Vd(()=>{if(!a)return;let g=e(),R=r();if(!(!g||!R))return i.current=!1,g.style.removeProperty("pointer-events"),m(g,R),l.current=0,k(1,jd,u),()=>{f(),u()}},[a]),{close:nl(()=>{let g=e(),R=a?r():null,S=R?.getBoundingClientRect(),y=S&&S.bottom>0&&S.top<window.innerHeight;if(!g||!R||!y){p.current();return}let A=h.current!==null?l.current:1;m(g,R),i.current=!0,g.style.pointerEvents="none",l.current=A,k(0,Yd,()=>p.current())},[a,e,r])}}import{jsx as es,jsxs as ru}from"react/jsx-runtime";function Fa({mobile:e=!1,closing:r=!1}){let t=jt();return ru("div",{className:oe("hsk-cb-theme-discovery",e&&"is-mobile",r&&"is-closing"),role:"note",children:[es("svg",{viewBox:e?"0 0 360 260":"0 0 120 80",preserveAspectRatio:"none",fill:"none","aria-hidden":"true",children:es("path",{pathLength:"1",vectorEffect:"non-scaling-stroke",d:e?"M174 250C213 263 247 245 239 225C230 205 205 222 220 239C244 269 294 251 326 220C354 194 343 158 351 132C363 90 349 66 352 43C356 20 311 16 215 14M225 5L213 14L224 24":"M26 67C48 78 63 61 54 52C43 43 37 58 50 62C81 73 106 44 84 22C79 16 73 13 66 12M72 27L65 12L83 10"})}),es("span",{children:t(e?"themeHoldHint":"themeClickHint")})]})}import{jsx as et,jsxs as Er}from"react/jsx-runtime";var ol=!1;function sl({title:e,logo:r,hasMessages:t,avatarState:n="idle",unread:a=!1,awayFromBottom:o=!1,themeMenuOpen:s=!1,themeMenuClosing:c=!1,themeDiscovery:i=!1,onThemeMenuReady:l,onThemeMenuClosed:h,isNarrow:p=!1,currentTheme:d="dark",onJumpToLatest:u,onReset:f,onClose:k,onToggleThemeMenu:m,onSelectTheme:M,themeAttr:g,below:R,layoutControl:S}){let y=jt(),A=!!S,D=We.useRef(null),T=We.useRef(null),O=We.useRef(null),w=We.useRef(null),[I]=We.useState(()=>{let Y=!ol;return ol=!0,Y}),$=We.useRef(null),_=We.useRef(null),Q=y("clearChat"),[be,Z]=We.useState({size:12,compact:!1});We.useLayoutEffect(()=>{let Y=D.current,re=$.current,ge=_.current;if(!Y||!re||!ge)return;let ie=!0,le=()=>{if(!ie)return;let pe=re.parentElement,Re=getComputedStyle(Y).gridTemplateColumns.split(" "),me=parseFloat(Re[2])||pe.clientWidth,we=pe.querySelector(".hsk-cb-exit-btn"),Ie=parseFloat(getComputedStyle(pe).gap)||0,Se=Math.max(0,me-(we?we.offsetWidth+Ie:0)-30),ue=Math.min(12,Math.floor(1200*Se/Math.max(1,ge.scrollWidth))/100),De=ue<10;Z(Ge=>Ge.size===ue&&Ge.compact===De?Ge:{size:ue,compact:De})};le();let q=new ResizeObserver(le);return q.observe(Y),w.current&&q.observe(w.current),document.fonts?.ready.then(le).catch(()=>{}),document.fonts?.addEventListener("loadingdone",le),()=>{ie=!1,q.disconnect(),document.fonts?.removeEventListener("loadingdone",le)}},[Q,t,p,e,r]),We.useLayoutEffect(()=>{let Y=D.current,re=w.current,ge=T.current;if(!Y||!re||!ge)return;let ie=re.offsetParent;if(!ie)return;let le=ie.offsetTop+re.offsetTop+re.offsetHeight/2;Y.style.setProperty("--hsk-tray-top",`${le}px`),Y.style.setProperty("--hsk-tray-head",`${re.offsetHeight/2+8}px`),Y.style.setProperty("--hsk-tray-h",`${ge.offsetHeight}px`),Y.style.setProperty("--hsk-tray-w",`${ge.offsetWidth}px`)},[s,p,A]);let[U]=We.useState(()=>typeof window<"u"&&!window.matchMedia?.("(prefers-reduced-motion: reduce)").matches),[de,K]=We.useState(!1);We.useEffect(()=>{if(!p||de)return;let Y=window.requestIdleCallback,re=Y?Y(()=>K(!0),{timeout:1200}):setTimeout(()=>K(!0),600);return()=>{let ge=window.cancelIdleCallback;Y&&ge?ge(re):clearTimeout(re)}},[p,de]);let F=p&&(s||de);We.useEffect(()=>{if(p&&!de)return;let Y=requestAnimationFrame(()=>l?.());return()=>cancelAnimationFrame(Y)},[p,de,l]);let B=al({target:We.useCallback(()=>T.current,[]),trigger:We.useCallback(()=>w.current,[]),shadow:We.useCallback(()=>O.current,[]),radius:18,enabled:p&&s&&U,onClosed:()=>h?.()});We.useEffect(()=>{p&&c&&B.close()},[c,p]);let[N,L]=We.useState(!1),[P,j]=We.useState("#134e3d"),[C,z]=We.useState("rgba(19, 78, 61, 0.45)"),x=We.useRef(void 0),se=We.useRef(null),te=We.useRef(!1),W=We.useRef(0),ne=We.useCallback(()=>{te.current=!1,W.current=Date.now(),se.current=setTimeout(()=>{if(te.current=!0,typeof navigator<"u"&&navigator.vibrate)try{navigator.vibrate(25)}catch{}m?.()},350)},[m]),b=We.useCallback(()=>{se.current&&(clearTimeout(se.current),se.current=null)},[]),E=We.useCallback(()=>{se.current&&(clearTimeout(se.current),se.current=null)},[]),V=We.useCallback(Y=>{if(te.current){te.current=!1,Y.preventDefault(),Y.stopPropagation();return}o?u?.():p?m?.():x.current?.()},[o,p,u,m]),X=We.useCallback((Y,re,ge)=>{Y>.04?(L(!0),j(re),z(ge)):L(!1)},[]);return Er("div",{ref:D,className:oe("hsk-cb-topbar",p&&s&&"is-docked"),children:[et("div",{className:"hsk-cb-topbar-left",style:{minWidth:"34px"},children:p&&et("button",{type:"button",className:"hsk-cb-back",onClick:k,"aria-label":y("back"),children:et("span",{className:"hsk-cb-back-icon",children:et(sn,{})})})}),Er("div",{className:oe("hsk-cb-topbar-mark",p&&s&&"is-oozing",i&&s&&!c&&"is-discovering"),"data-impacting":N?"true":"false",style:{"--hsk-contact-color":P,"--hsk-contact-glow":C},"data-unread":a?"true":"false",onTouchStart:ne,onTouchEnd:b,onTouchMove:E,onTouchCancel:E,onClick:V,role:"button",tabIndex:0,"aria-label":o?y("jumpToLatest"):`${e} (tap for themes)`,children:[et(el,{state:n,size:34,theme:d,alert:a,onImpact:X,triggerRef:x,dropIn:I}),et("div",{className:"hsk-cb-topbar-identity",children:r?et("img",{ref:w,className:"hsk-cb-topbar-logo",src:r,alt:e}):et("span",{ref:w,className:"hsk-cb-topbar-name",children:e})})]}),Er("div",{className:"hsk-cb-topbar-actions",style:{display:"flex",alignItems:"center",gap:"6px"},children:[t&&Er("button",{ref:$,type:"button",className:oe("hsk-cb-topbar-btn",be.compact&&"is-compact"),onClick:f,title:Q,"aria-label":Q,children:[et("span",{ref:_,className:"hsk-cb-clear-measure","aria-hidden":"true",children:Q}),be.compact?et(va,{}):et("span",{className:"hsk-cb-topbar-btn-label",style:{fontSize:be.size},children:Q})]}),!p&&et("button",{type:"button",className:"hsk-cb-squircle-btn hsk-cb-exit-btn",onClick:k,"aria-label":"Close Chat",children:et(on,{})})]}),p&&s&&et("div",{className:oe("hsk-cb-topbar-scrim",i&&"is-discovery",c&&"is-closing"),onClick:m,"aria-hidden":"true"}),F&&et("div",{className:oe("hsk-cb-tray-shadow",!s&&"is-parked"),"aria-hidden":"true",children:et("div",{ref:O})}),F&&et("div",{ref:T,className:oe("hsk-cb-topbar-ooze-menu",c&&"is-closing",U&&"is-island",!s&&"is-parked"),role:"dialog","aria-label":"Theme selector",style:{position:"absolute",left:"50%",transform:"translateX(-50%)",zIndex:1e3},onPointerDown:Y=>Y.stopPropagation(),onClick:Y=>Y.stopPropagation(),onMouseDown:Y=>Y.stopPropagation(),children:Er("div",{className:"hsk-cb-theme-block",children:[Er("div",{className:"hsk-cb-tray-aside",children:[et(Pa,{compact:!0}),et("span",{className:"hsk-cb-tray-rule","aria-hidden":"true"}),et("span",{className:"hsk-cb-theme-vlabel","aria-hidden":"true",children:"Themes"})]}),et("div",{className:"hsk-cb-theme-2x2-grid",children:ln.map(({id:Y,label:re,Icon:ge})=>Er("button",{type:"button",className:oe("hsk-cb-theme-grid-item",d===Y&&"is-active"),onClick:ie=>{ie.stopPropagation(),M?.(Y)},children:[et(ge,{}),et("span",{children:re})]},Y))}),S&&Er("div",{className:"hsk-cb-dock-layout",children:[et("span",{className:"hsk-cb-layout-label",children:"RESPONSIVE LAYOUT"}),S]})]})}),p&&s&&R&&et("div",{className:oe("hsk-cb-tray-below",c&&"is-closing"),children:R}),p&&s&&i&&et(Fa,{mobile:!0,closing:c})]})}import jr from"react";import Da from"react";import{jsx as hl,jsxs as cu}from"react/jsx-runtime";var il=83,nu=2,Ba=240,rs=160,Ft=Ba/2,xt=rs/2,br=24,yn=50,wn=56,ns=124,Mn=22,er=6,as=13,au=30,pr=(e,r,t)=>e+(r-e)*t,Vn=(e,r)=>Math.sin(e*12.9898+r*78.233)*.5;function pl(e,r,t,n,a,o=0){let s=[];for(let l=0;l<16;l++){let h=l/16*Math.PI*2,p=1+Math.sin(l*2.3+1.7)*.06+Math.sin(l*5.1)*.03+Vn(e.n,l)*.02;s.push([r+Math.cos(h+o)*n*p,t+Math.sin(h+o)*a*p])}let c=(l,h)=>[(l[0]+h[0])/2,(l[1]+h[1])/2],{ctx:i}=e;i.beginPath(),i.moveTo(...c(s[15],s[0]));for(let l=0;l<16;l++)i.quadraticCurveTo(s[l][0],s[l][1],...c(s[l],s[(l+1)%16]));i.closePath()}function qa(e,r){let{ctx:t,dpr:n}=e;t.shadowColor=`rgba(0,0,0,${.5-r*.22})`,t.shadowBlur=(4+r*14)*n,t.shadowOffsetX=(1.5+r*13)*n,t.shadowOffsetY=(2.5+r*17)*n}function cs(e,r,t,n){let a=e.ctx.createRadialGradient(r-n*.35,t-n*.4,0,r,t,n*1.15);return a.addColorStop(0,e.light),a.addColorStop(.35,e.clay),a.addColorStop(1,e.dark),a}function ou(e,r,t){let n=e.ctx.createLinearGradient(0,r-t/2,0,r+t/2);return n.addColorStop(0,e.clay),n.addColorStop(.25,e.light),n.addColorStop(.5,e.clay),n.addColorStop(1,e.dark),n}function Vr(e,r,t=0){let{ctx:n}=e,a=r*(1+t*.3);n.save(),qa(e,t),n.fillStyle=cs(e,Ft,xt,a),pl(e,Ft,xt,a,a,e.n*.03),n.fill(),n.restore()}function ts(e,r,t,n){let{ctx:a}=e;a.save(),n!==void 0&&(a.beginPath(),a.rect(0,0,Ba,n),a.clip()),qa(e,0),a.fillStyle=cs(e,Ft,xt,Math.max(r,t)),pl(e,Ft,xt,r,t),a.fill(),a.restore()}function Ha(e,r,t,n,a,o=a/2,s=a/2){let{ctx:c}=e;c.save(),qa(e,0),c.fillStyle=ou(e,n,a),c.beginPath(),c.roundRect(r+Vn(e.n,r)*.6,n-a/2+Vn(e.n,n)*.6,t-r,a,[o,s,s,o]),c.fill(),c.restore()}function os(e,r,t,n,a=0){let{ctx:o}=e,s=n*(1+a*.2);o.save(),qa(e,a),o.fillStyle=cs(e,r,t,s),o.beginPath(),o.arc(r,t,s,0,Math.PI*2),o.fill(),o.restore(),o.save(),o.strokeStyle=e.dark,o.lineWidth=1.4,o.lineCap="round",o.beginPath();for(let c=0;c<=1.001;c+=.04){let i=c*Math.PI*5+r*.3,l=(1.5+c*(n-4))*(1+a*.2),h=r+Math.cos(i)*l,p=t+Math.sin(i)*l;c===0?o.moveTo(h,p):o.lineTo(h,p)}o.stroke(),o.restore()}function $a(e,r){let{ctx:t}=e;t.save(),t.strokeStyle=`rgba(${e.ink},${.55*r})`,t.lineWidth=2,t.lineCap="round";for(let n=0;n<7;n++){let a=n/7*Math.PI*2+.14,o=38+(1-r)*8,s=n%2?5:8;t.beginPath(),t.moveTo(Ft+Math.cos(a)*o,xt+Math.sin(a)*o),t.lineTo(Ft+Math.cos(a)*(o+s),xt+Math.sin(a)*(o+s)),t.stroke()}t.restore()}var ss=e=>Ft-ns/2+ns*e/er;function su(e,r){let{ctx:t}=e;t.save(),t.strokeStyle=e.dark,t.lineWidth=1.5,t.lineCap="round",t.beginPath(),t.moveTo(r,xt-Mn/2+2),t.lineTo(r+Vn(e.n,r)*1.5,xt+Mn/2-2),t.stroke(),t.restore()}var is=e=>Ft+(e-(er-1)/2)*au;function Gn(e,r,t=-1,n=-1){for(let a=0;a<er;a++){let o=0;for(let i=0;i<r;i++)o+=a<=i?-2:2;let s=ss(a)+o,c=ss(a+1)+o;a===n?os(e,pr((s+c)/2,is(a),.5),xt-4,as,.5):a<=t?os(e,is(a),xt,as):Ha(e,s,c,xt,Mn,a===0?Mn/2:2,a===er-1?Mn/2:2)}}function iu(){let e=[];for(let n=0;n<5;n++)e.push({draw:a=>Vr(a,br)});let r=[[br,br,34,38],[34,38,44,48],[44,48,yn,wn]];for(let[n,a,o,s]of r){for(let c=0;c<3;c++){let i=(c+1)/3,l=c===0?1.05:1;e.push({hold:1,thump:c===0?.25:void 0,draw:h=>ts(h,pr(n,o,i),pr(a,s,i)*l)})}e.push({hold:1,draw:c=>ts(c,o,s)})}let t=0;for(let n=0;n<12;n++){let a=(n+1)/12,o=pr(xt+wn,xt-wn,a),s=pr(8,24,a),c=(o-xt)/wn;t=Math.max(t,2*yn*Math.sqrt(Math.max(0,1-c*c)),30);let i=t;e.push({draw:l=>{a<1&&ts(l,yn,wn,o-s*.3),Ha(l,Ft-i/2,Ft+i/2,o,s)}})}for(let n of[.5,1])e.push({draw:a=>Ha(a,Ft-yn,Ft+yn,pr(xt-wn,xt,n),24)});for(let n=0;n<6;n++){let a=(n+1)/6,o=pr(2*yn,ns,a),s=pr(24,Mn,a),c=n%2?2:-2;e.push({draw:i=>Ha(i,Ft-o/2+c,Ft+o/2+c,xt,s)})}for(let n=1;n<er;n++)e.push({draw:a=>{Gn(a,n-1),su(a,ss(n))}}),e.push({thump:.35,draw:a=>Gn(a,n)});e.push({draw:n=>Gn(n,er-1)});for(let n=0;n<er;n++)e.push({thump:.12,draw:a=>Gn(a,er-1,n-1,n)});for(let n=0;n<4;n++)e.push({draw:a=>Gn(a,er-1,er-1)});for(let n of[.35,.7,1])e.push({draw:a=>{for(let o=0;o<er;o++)os(a,pr(is(o),Ft,n),xt,pr(as,10,n),.4)}});return e.push({thump:1,draw:n=>{Vr(n,br*1.3),$a(n,1)}}),e.push({draw:n=>{Vr(n,br*1.12),$a(n,.4)}}),e.push({draw:n=>Vr(n,br*1.04)}),e}var Cn=iu(),cl=[...[1.6,1.25,.9,.5,.18].map(e=>({draw:r=>Vr(r,br,e)})),{thump:.7,draw:e=>{Vr(e,br*1.24),$a(e,1)}},{draw:e=>{Vr(e,br*1.08),$a(e,.4)}}],ll=[1,.7,.35,0];function Sn(e,r){let t=document.createElement("span");t.style.display="none",t.style.color=r,e.parentElement?.appendChild(t);let n=getComputedStyle(t).color;return t.remove(),n}function dl({phase:e,label:r,theme:t}){let n=Da.useRef(null),a=Da.useRef(null),o=Da.useRef({n:0,at:0,held:0,entered:!1,last:Cn[0]});return Da.useEffect(()=>{let s=n.current,c=a.current,i=s?.getContext("2d");if(!s||!i||!c)return;let l=Math.min(window.devicePixelRatio||1,3);s.width=Ba*l,s.height=rs*l;let h="var(--hsk-primary, #ff6a33)",p={ctx:i,dpr:l,n:0,clay:Sn(s,h),light:Sn(s,`color-mix(in srgb, ${h} 55%, white)`),dark:Sn(s,`color-mix(in srgb, ${h} 70%, black)`),ink:getComputedStyle(s).getPropertyValue("--hsk-doodle-ink").trim()||"31, 31, 31"},d=o.current,u="",f=()=>{let y=getComputedStyle(s).getPropertyValue("--hsk-primary").trim()||"#ff6a33";y!==u&&(u=y,p.clay=Sn(s,y),p.light=Sn(s,`color-mix(in srgb, ${y} 55%, white)`),p.dark=Sn(s,`color-mix(in srgb, ${y} 70%, black)`),p.ink=getComputedStyle(s).getPropertyValue("--hsk-doodle-ink").trim()||"31, 31, 31")},k=(y,A=1)=>{f(),i.setTransform(l,0,0,l,0,0),i.clearRect(0,0,Ba,rs),i.globalAlpha=A,p.n=d.n++,y.draw(p),i.globalAlpha=1},m=y=>{let A=s.getBoundingClientRect();fc({x:A.left+A.width/2,y:A.top+A.height/2,strength:y}),c.style.translate="0 1px",c.style.rotate=`${Vn(d.n,4)*.8}deg`};if(window.matchMedia?.("(prefers-reduced-motion: reduce)")?.matches){k(Cn[0]);let y=window.setInterval(()=>k(Cn[0]),il);return()=>clearInterval(y)}let M=e==="exit"?null:e==="enter"&&!d.entered?cl:Cn;M&&(d.at=0);let g=0,R=0,S=()=>{if(c.style.translate="",c.style.rotate="",!M){g===0&&m(.6),k(d.last,ll[g]),++g>=ll.length&&clearInterval(R);return}let y=M[d.at];k(y),d.last=y,y.thump&&d.held===0&&m(y.thump),!(M===Cn&&++d.held<(y.hold??nu))&&(d.held=0,!(++d.at<M.length)&&(M===cl&&(d.entered=!0),M=Cn,d.at=0))};return S(),R=window.setInterval(S,il),()=>clearInterval(R)},[e==="exit",t]),cu("div",{className:"hsk-clay",children:[hl("canvas",{className:"hsk-clay-table",ref:n,"aria-hidden":"true"}),hl("p",{className:"hsk-lang-preparing",ref:a,children:r})]})}import{jsx as ye,jsxs as rt}from"react/jsx-runtime";function lu(){return ye("span",{className:"hsk-cb-check","aria-hidden":"true",children:ye("svg",{viewBox:"0 0 16 16",children:ye("path",{d:"M3.5 8.4 6.6 11.4 12.6 4.8"})})})}function ul({theme:e,inOnboarding:r,justCompleted:t,onboardingMood:n,awaitingLang:a,awaitingName:o,awaitingEntityLang:s,awaitingConsent:c,termsAgreed:i,shopperLanguage:l,pendingLanguage:h,shopperName:p,entityLangPref:d,chromeReady:u,activeChips:f,speechLang:k,t:m,tNode:M,chooseLanguage:g,langSwitching:R=!1,isLangPreparing:S,chooseEntityLang:y,agreeTerms:A,handleSend:D}){let T=h||l,O=!T||T.toLowerCase()==="english"||T.toLowerCase()==="en",w=S??(R||!!h||!!l&&!u&&!O),I=_r(T),[$,_]=jr.useState(w),[Q,be]=jr.useState(()=>w?"spinner-steady":"idle"),Z=jr.useRef([]),U=()=>{Z.current.forEach(clearTimeout),Z.current=[]};w!==$&&(_(w),U(),w?(be("step1-exit"),Z.current.push(setTimeout(()=>be("spinner-enter"),280)),Z.current.push(setTimeout(()=>be("spinner-steady"),960))):(be("spinner-exit"),Z.current.push(setTimeout(()=>be("idle"),460)))),jr.useEffect(()=>()=>U(),[]);let de=Q==="spinner-enter"||Q==="spinner-steady"||Q==="spinner-exit",K=Q==="step1-exit",F=de||K||!l||a?"1":!p||o?"2":!d||s?"3":!i||c?"4":null,[B,N]=jr.useState(null),[L,P]=jr.useState(3);jr.useEffect(()=>{if(!c)return;P(3);let C=setInterval(()=>{P(z=>z<=1?(clearInterval(C),0):z-1)},1e3);return()=>clearInterval(C)},[c]);let j=l?An(l,k)||l.charAt(0).toUpperCase()+l.slice(1):"";return ye("div",{className:"hsk-cb-empty",children:rt("div",{className:"hsk-cb-onboarding-card",children:[F&&ye("div",{className:"hsk-cb-onboarding-head",children:rt("span",{className:"hsk-cb-step-badge",dir:"ltr",children:[F," / 4"]})}),de?ye("div",{className:oe("hsk-lang-loader",Q==="spinner-enter"&&"hsk-lang-loader--enter",Q==="spinner-exit"&&"hsk-lang-loader--exit"),children:ye(dl,{theme:e,phase:Q==="spinner-exit"?"exit":Q==="spinner-enter"?"enter":"steady",label:I.preparing})},"spinner-loading"):K||a||!l?rt("div",{className:oe("hsk-cb-hello-wrap",K&&"hsk-step1-exit"),children:[ye("h2",{className:"hsk-cb-hello",children:"Which language do you want to use?"}),rt("div",{className:"hsk-cb-lang-chips",children:[ka.map((C,z)=>ye("button",{type:"button",className:"hsk-cb-lang-chip",style:{"--hsk-pill-idx":z},lang:C.tag,dir:C.rtl?"rtl":"ltr",disabled:R,onClick:()=>!R&&g(C.value),children:C.native},C.value)),ye("span",{className:"hsk-cb-lang-chips-hint",style:{"--hsk-pill-idx":ka.length},children:"or type another one"})]})]},"step-lang"):o||!p?rt("div",{className:"hsk-cb-hello-wrap hsk-cb-name-step hsk-step-enter",children:[ye("h2",{className:"hsk-cb-hello",children:m("nameStepTitle")}),ye("p",{className:"hsk-cb-hello-ask",children:m("nameStepAsk")}),ye("p",{className:"hsk-cb-hello-hint",children:m("nameStepHint")})]},"step-name"):s?rt("div",{className:"hsk-cb-hello-wrap",children:[ye("h2",{className:"hsk-cb-hello",children:m("howShouldResultsLook")}),ye("p",{className:"hsk-cb-hello-lead",children:M("entityLangIntro",{lang:j})}),ye("div",{className:"hsk-cb-entlang-opts",role:"radiogroup","aria-label":m("howShouldResultsLook"),children:["translated","original"].map((C,z)=>rt("button",{type:"button",role:"radio","aria-checked":(B??d)===C,className:oe("hsk-cb-entlang-opt",(B??d)===C&&"is-selected"),style:{"--hsk-opt-idx":z},onClick:()=>N(C),children:[ye(lu,{}),rt("span",{className:"hsk-cb-entlang-opt-text",children:[ye("span",{className:"hsk-cb-entlang-opt-title",children:C==="translated"?M("inLanguage",{lang:j}):m("asWritten")}),ye("span",{className:"hsk-cb-entlang-opt-note",children:m(C==="translated"?"detailsTranslated":"namesAsWritten")})]})]},C))}),ye("div",{className:"hsk-cb-terms-action-wrap",children:ye("button",{type:"button",className:oe("hsk-cb-terms-agree-btn",B&&"is-active"),disabled:!B,onClick:()=>B&&y(B),children:m("continueButton")})})]},"step-entity-lang"):c?rt("div",{className:"hsk-cb-hello-wrap",children:[ye("h2",{className:"hsk-cb-hello",children:m("termsStepTitle")}),ye("p",{className:"hsk-cb-hello-lead",children:m("termsStepSubtitle")}),rt("div",{className:"hsk-cb-terms-sanctuary",children:[rt("div",{className:"hsk-cb-terms-item",style:{"--hsk-row-idx":0},children:[rt("div",{className:"hsk-cb-terms-head",children:[ye("span",{className:"hsk-cb-terms-numeral",children:"I"}),ye("h3",{className:"hsk-cb-terms-title",children:m("termsPiiTitle")})]}),ye("p",{className:"hsk-cb-terms-desc",children:m("termsPiiDesc")})]}),ye("div",{className:"hsk-cb-terms-divider"}),rt("div",{className:"hsk-cb-terms-item",style:{"--hsk-row-idx":1},children:[rt("div",{className:"hsk-cb-terms-head",children:[ye("span",{className:"hsk-cb-terms-numeral",children:"II"}),ye("h3",{className:"hsk-cb-terms-title",children:m("termsSessionTitle")})]}),ye("p",{className:"hsk-cb-terms-desc",children:m("termsSessionDesc")})]}),ye("div",{className:"hsk-cb-terms-divider"}),rt("div",{className:"hsk-cb-terms-item",style:{"--hsk-row-idx":2},children:[rt("div",{className:"hsk-cb-terms-head",children:[ye("span",{className:"hsk-cb-terms-numeral",children:"III"}),ye("h3",{className:"hsk-cb-terms-title",children:m("termsMemoryTitle")})]}),ye("p",{className:"hsk-cb-terms-desc",children:m("termsMemoryDesc")})]}),ye("div",{className:"hsk-cb-terms-divider"}),rt("div",{className:"hsk-cb-terms-item",style:{"--hsk-row-idx":3},children:[rt("div",{className:"hsk-cb-terms-head",children:[ye("span",{className:"hsk-cb-terms-numeral",children:"IV"}),ye("h3",{className:"hsk-cb-terms-title",children:m("termsCookieTitle")})]}),ye("p",{className:"hsk-cb-terms-desc",children:m("termsCookieDesc")})]}),ye("div",{className:"hsk-cb-terms-divider"}),rt("div",{className:"hsk-cb-terms-item",style:{"--hsk-row-idx":4},children:[rt("div",{className:"hsk-cb-terms-head",children:[ye("span",{className:"hsk-cb-terms-numeral",children:"V"}),ye("h3",{className:"hsk-cb-terms-title",children:m("termsAiTitle")})]}),ye("p",{className:"hsk-cb-terms-desc",children:m("termsAiDesc")})]})]}),rt("p",{className:"hsk-cb-terms-more",children:[m("privacyMore")," ",ye("a",{href:"https://akropolys.cloud/privacy",target:"_blank",rel:"noopener noreferrer",dir:"ltr",children:"akropolys.cloud/privacy"})]}),ye("div",{className:"hsk-cb-terms-action-wrap",children:ye("button",{type:"button",className:oe("hsk-cb-terms-agree-btn",L===0&&"is-active"),disabled:L>0,onClick:A,children:L>0?m("termsAgreeCounting",{seconds:String(L)}):m("termsAgreeButton")})})]},"step-terms"):t?rt("div",{className:"hsk-cb-hello-wrap",children:[ye("h2",{className:"hsk-cb-hello",children:M("allSet",{name:p})}),ye("p",{className:"hsk-cb-hello-lead",children:d==="translated"?M("replyingTranslated",{lang:j}):M("replyingOriginal",{lang:j})})]},"step-completed"):p?rt("div",{className:"hsk-cb-hello-wrap",children:[ye("h2",{className:"hsk-cb-hello",children:M("greetReturning",{name:p})}),ye("p",{className:"hsk-cb-hello-lead",children:m("greetReturningLead")})]},"step-returning"):rt("div",{className:"hsk-cb-hello-wrap",children:[rt("h2",{className:"hsk-cb-hello",children:["Hello, I am ",ye("b",{children:"kiku"}),"."]}),ye("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"),!r&&(f?.length??0)>0&&ye("div",{className:"hsk-cb-chips",children:f.map((C,z)=>ye("button",{className:"hsk-cb-chip",style:{"--hsk-pill-idx":z},onClick:()=>D(C),children:C},C))})]})})}import{jsx as jn,jsxs as hu}from"react/jsx-runtime";function ls({wide:e,onToggle:r,emphasized:t=!1}){return hu("button",{type:"button",className:`hsk-cb-sound-pill hsk-cb-layout-toggle${t?" is-discovery":""}`,role:"switch","aria-checked":e,"aria-label":"Wide AI responses",onClick:r,children:[jn("span",{className:"hsk-cb-layout-track","aria-hidden":"true",children:jn("span",{className:"hsk-cb-layout-thumb",children:jn("svg",{width:"12",height:"12",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",children:jn("path",{d:"M3 4h10M3 8h10M3 12h7"})})})}),jn("span",{children:"Wide"})]})}import{useEffect as ml,useLayoutEffect as pu,useRef as hs,useState as du}from"react";var bl="akropolys_chat_layout";function fl(e){let[r,t]=du(()=>{try{return typeof window<"u"&&localStorage.getItem(bl)==="wide"}catch{return!1}}),n=hs(null),a=hs([]),o=hs(new Map),s=()=>{a.current.forEach(i=>i.cancel()),o.current.clear(),e.current?.querySelectorAll(".hsk-cb-msg-group").forEach(i=>o.current.set(i,i.getBoundingClientRect()));let c=e.current;if(c){let i=c.getBoundingClientRect().top,l=Array.from(c.querySelectorAll(".hsk-cb-msg-group")).find(h=>h.getBoundingClientRect().bottom>i);n.current={node:l,top:l?l.getBoundingClientRect().top-i:0,bottom:c.scrollHeight-c.scrollTop-c.clientHeight<40}}t(i=>!i)};return pu(()=>{let c=n.current,i=e.current;if(!c||!i)return;n.current=null;let l=i.style.scrollBehavior;if(i.style.scrollBehavior="auto",c.bottom?i.scrollTop=i.scrollHeight:c.node?.isConnected&&(i.scrollTop+=c.node.getBoundingClientRect().top-i.getBoundingClientRect().top-c.top),i.style.scrollBehavior=l,a.current.forEach(h=>h.cancel()),a.current=[],!window.matchMedia?.("(prefers-reduced-motion: reduce)").matches){let h=i.getBoundingClientRect();for(let p of i.querySelectorAll(".hsk-cb-msg-group")){let d=p.getBoundingClientRect();if(d.bottom<h.top||d.top>h.bottom||!p.animate)continue;let u=o.current.get(p);!u||!d.width||!d.height||a.current.push(p.animate([{transformOrigin:"top left",transform:`translate(${u.left-d.left}px, ${u.top-d.top}px) scale(${u.width/d.width}, ${u.height/d.height})`},{transformOrigin:"top left",transform:"none"}],{duration:360,easing:"cubic-bezier(.4,0,.2,1)"}))}}},[r,e]),ml(()=>{try{localStorage.setItem(bl,r?"wide":"bubbles")}catch{}},[r]),ml(()=>()=>a.current.forEach(c=>c.cancel()),[]),{wide:r,toggle:s}}import{useState as kl,useEffect as uu,useRef as mu}from"react";import{jsx as ps,jsxs as gl}from"react/jsx-runtime";function Yr(e){let r=e.match(/<\s*thinking\s*>/i);if(!r)return{thinking:"",content:e,isComplete:!0};let t=r.index??0,n=r[0].length,a=t+n,o=e.slice(0,t),s=e.slice(a),c=s.match(/<\/\s*thinking\s*>/i);if(!c)return{thinking:s,content:o,isComplete:!1};let i=c.index??0,l=c[0].length;return{thinking:s.slice(0,i),content:o+s.slice(i+l),isComplete:!0}}var Kr=e=>e==="with_team"||e==="back_with_kiku"||e==="team_closed"||e==="team_joined";function bu(e){return e<60?`${Math.max(1,Math.round(e))}s`:e<3600?`${Math.round(e/60)} min`:`${Math.round(e/3600)} h`}function xl({text:e,isComplete:r,seconds:t,stage:n,repliedSeconds:a}){let o=jt(),s=mu(Date.now()),[c,i]=kl(()=>r?null:0),[l,h]=kl(!r);uu(()=>{if(r){c!==null&&(i(Math.max(1,Math.round((Date.now()-s.current)/1e3))),h(!1));return}h(!0);let f=setInterval(()=>{i(Math.round((Date.now()-s.current)/1e3))},1e3);return()=>clearInterval(f)},[r]);let p=t??c,d=a!=null?o("repliedIn",{duration:bu(a)}):n==="with_team"?o("withTeam"):n==="back_with_kiku"?o("backWithKiku"):n==="team_closed"?o("teamClosed"):n==="team_joined"?o("teamJoined"):n==="reaching_team"?r?o("passedToTeam"):`${o("reachingTeam")}\u2026`:r?p!=null?o("thoughtForSeconds",{duration:`${p}s`}):o("thoughtProcess"):`${o("thinking")}${c?` \xB7 ${c}s`:"\u2026"}`,u=!!e;return gl("div",{className:oe("hsk-cb-think",!r&&"hsk-cb-think--live",a==null&&Kr(n)&&"hsk-cb-think--note"),children:[gl("button",{type:"button",className:oe("hsk-cb-think-head",!u&&"hsk-cb-think-head--static"),onClick:u?()=>h(f=>!f):void 0,"aria-expanded":u?l:void 0,children:[ps("span",{children:d}),u&&ps("span",{className:oe("hsk-cb-think-chevron",l&&"hsk-cb-think-chevron--open"),children:"\u25B6"})]}),u&&l&&ps("div",{className:"hsk-cb-think-body",children:e})]})}import{useCallback as vl,useEffect as fu,useRef as yl,useState as ku}from"react";function Yn(e,r){let[t,n]=ku(!1),a=yl(null),o=yl(r);o.current=r,fu(()=>()=>{a.current&&clearTimeout(a.current)},[]);let s=vl(()=>{a.current||(n(!0),a.current=setTimeout(()=>{a.current=null,n(!1),o.current()},e))},[e]),c=vl(()=>{a.current&&(clearTimeout(a.current),a.current=null),n(!1),o.current()},[]);return{closing:t,requestClose:s,closeNow:c}}import um from"react";import Tt from"react";import{useAkropolysContext as lm,armActionReturn as hm}from"@akropolys/sdk";function ds(e){let r=/<\s*[||]+\s*DSML\s*[||]+\s*([a-z_]+)\b[^>]*>/i,t=e,n="";for(;t;){let a=r.exec(t);if(!a){let i=/<\s*\/?\s*[||]+[\s\S]*$/i.exec(t);if(i){let l=i[0].replace(/\s/g,"").replace(/|/g,"|").replace(/\|+/g,"|").toLowerCase();if("<|dsml|".startsWith(l)||"</|dsml|".startsWith(l)||l.startsWith("<|dsml|")||l.startsWith("</|dsml|"))return n+t.slice(0,i.index)}return n+(t.endsWith("<")?t.slice(0,-1):t)}n+=t.slice(0,a.index);let o=new RegExp("<\\s*/\\s*[|\uFF5C]+\\s*DSML\\s*[|\uFF5C]+\\s*"+a[1]+"\\s*>","i"),s=t.slice(a.index+a[0].length),c=o.exec(s);if(!c)return n;t=s.slice(c.index+c[0].length)}return n}import Tn from"react";var gu=/\p{L}/u,xu=/\]\([^)]*\)|https?:\/\/\S+|www\.\S+/g;function vu(e){return e>=1424&&e<=2303||e>=64285&&e<=65023||e>=65136&&e<=65279}function Oa(e,r=1){let t=0,n=0;for(let a of e.replace(xu," "))gu.test(a)&&(vu(a.codePointAt(0)??0)?t++:n++);if(!(t+n<r||t===n))return t>n?"rtl":"ltr"}import{Fragment as Du,jsx as nt,jsxs as Fu}from"react/jsx-runtime";var yu=/[ \t]{2,}/g,wu=/ ([.,!?:;])/g,Cu=/\(([ \t]+)/g,Su=/([ \t]+)\)/g,Mu=/(\d+)\s+(MP|mAh|W|GB|MB|KHz|Hz|KSh|KES|USD|EUR)\b/gi,Tu=/(!\[[^\]]*\]\([^)]+\)|\[[^\]]+\]\([^)]+\)|\*\*[^*]+\*\*|`[^`]+`)/g,Ru=/^!\[([^\]]*)\]\(([^)]+)\)$/,Lu=/^\[([^\]]+)\]\(([^)]+)\)$/,Eu=/^(data:image|blob):/i,Sl=/^(https?|mailto|tel):/i;function Kn(e){let r=String(e??"").trim();return Sl.test(r)||r.startsWith("/")&&!r.startsWith("//")?r:void 0}var us=null;function Ml(e){if(Eu.test(e))return!0;if(typeof location>"u")return!1;try{let r=new URL(e,location.href);return/^https?:$/.test(r.protocol)&&(r.host===location.host||!!us?.has(r.host))}catch{return!1}}var zu=/memory|mimi/i,Nu=/mimi\.akropolys/i,Iu=e=>e&&e.replace(yu," ").replace(wu,"$1").replace(Cu,"(").replace(Su,")").replace(Mu,"$1 $2"),fr=(e,r)=>Iu(e).split(Tu).map((a,o)=>{if(!a)return null;let s=`${r}-inline-${o}`;if(a.startsWith("`")&&a.endsWith("`"))return nt("code",{className:"hsk-markdown-code",children:a.slice(1,-1)},s);if(a.startsWith("**")&&a.endsWith("**"))return nt("strong",{children:fr(a.slice(2,-2),s)},s);let c=a.match(Ru);if(c){let l=c[1],h=c[2];return Ml(h)?nt("img",{src:h,alt:l||"Product image",className:"hsk-markdown-img",loading:"lazy",onError:p=>{p.target.style.display="none"}},s):null}let i=a.match(Lu);if(i){let l=i[1],h=i[2];return zu.test(l)||Nu.test(h)?null:Sl.test(h)||h.startsWith("/")?nt("a",{href:h,target:"_blank",rel:"noopener noreferrer",className:"hsk-markdown-link",children:fr(l,s)},s):nt("span",{children:fr(l,s)},s)}return a}),Au=/^\s*\|?[\s:|-]*-[\s:|-]*\|?\s*$/;function wl(e,r){let t=e.trim();return r?t.includes("|"):t.startsWith("|")}function Cl(e){let r=e.trim();return r.startsWith("|")&&(r=r.slice(1)),r.endsWith("|")&&(r=r.slice(0,-1)),r.split("|").map(t=>t.trim())}function Pu({children:e}){let r=Tn.useRef(null),[t,n]=Tn.useState("none"),[a,o]=Tn.useState(!1),s=Tn.useRef({startX:0,scrollLeft:0,isDown:!1,hasMoved:!1}),c=Tn.useCallback(()=>{let p=r.current;if(!p)return;if(!(p.scrollWidth>p.clientWidth+2)){n("none");return}let u=getComputedStyle(p).direction==="rtl",f=Math.abs(p.scrollLeft),k=f<=4,m=f+p.clientWidth>=p.scrollWidth-4;n(k?u?"right":"left":m?u?"left":"right":"middle")},[]);Tn.useEffect(()=>{c();let p=r.current;if(!p)return;let d=typeof ResizeObserver<"u"?new ResizeObserver(c):null;return d?.observe(p),()=>d?.disconnect()},[c]);let i=p=>{let d=r.current;!d||d.scrollWidth<=d.clientWidth||p.target.closest("a, button, input")||(s.current={startX:p.pageX-d.offsetLeft,scrollLeft:d.scrollLeft,isDown:!0,hasMoved:!1},o(!0))},l=p=>{if(!s.current.isDown)return;let d=r.current;if(!d)return;let f=(p.pageX-d.offsetLeft-s.current.startX)*1.5;Math.abs(f)>3&&(s.current.hasMoved=!0,p.preventDefault(),d.scrollLeft=s.current.scrollLeft-f)},h=()=>{s.current.isDown=!1,o(!1)};return nt("div",{ref:r,className:`hsk-table-wrapper hsk-table-wrapper--${t}${a?" is-dragging":""}`,onScroll:c,onMouseDown:i,onMouseMove:l,onMouseUp:h,onMouseLeave:h,children:e})}function Tl(e,r=!1,t){us=t??null;try{return _u(e,r)}finally{us=null}}function _u(e,r){let t=e.split(`
|
|
2
|
+
import{useState as hi,useEffect as pi,useRef as di}from"react";import{useSearch as Mp,useAkropolysContext as Tp,useCardFields as Rp}from"@akropolys/sdk";import{resolveDisplayFields as Sp}from"@akropolys/sdk";function er(e,r){return e.details??(e.fields?Sp(e.fields,r).details:[])}function Co(e){return e.length?` (${e.map(r=>`${r.label}: ${r.value}`).join(", ")})`:""}function ci(e){var r,t,n="";if(typeof e=="string"||typeof e=="number")n+=e;else if(typeof e=="object")if(Array.isArray(e)){var a=e.length;for(r=0;r<a;r++)e[r]&&(t=ci(e[r]))&&(n&&(n+=" "),n+=t)}else for(t in e)e[t]&&(n&&(n+=" "),n+=t);return n}function li(){for(var e,r,t=0,n="",a=arguments.length;t<a;t++)(e=arguments[t])&&(r=ci(e))&&(n&&(n+=" "),n+=r);return n}function oe(...e){return li(e)}import{Fragment as mi,jsx as St,jsxs as Vt}from"react/jsx-runtime";var ui=()=>Vt("svg",{width:"15",height:"15",viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",children:[St("circle",{cx:"8.5",cy:"8.5",r:"5.5"}),St("line",{x1:"13",y1:"13",x2:"18",y2:"18"})]});function Lp({placeholder:e="Search products\u2026",limit:r=10,debounceMs:t=150,onSelect:n,className:a,inputClassName:o,dropdownClassName:s,renderResult:c,theme:i,classNames:l={}}){let[h,p]=hi(""),[d,b]=hi(!1),{results:m,loading:x,search:u,clear:A}=Mp({debounceMs:t}),k=Tp(),C=Rp(),M=di(null),g=di(!1);pi(()=>{if(g.current){g.current=!1;return}if(!h.trim()){A(),b(!1);return}b(!0),u(h,r)},[h]),pi(()=>{let R=N=>{M.current&&!M.current.contains(N.target)&&b(!1)};return document.addEventListener("mousedown",R),()=>document.removeEventListener("mousedown",R)},[]);let P=R=>{h.trim()&&k.api.searchVector(h,1,void 0,!0).catch(()=>{}),g.current=!0,b(!1),p(R.entity.title??R.entity.name??""),n?.(R)},_=()=>{h.trim()&&(m.length>0?P(m[0]):k.api.searchVector(h,1,void 0,!0).catch(()=>{}))},T=d&&h.trim().length>0,W={...i?.primaryColor&&{"--hsk-primary":i.primaryColor},...i?.backgroundColor&&{"--hsk-bg":i.backgroundColor},...i?.textColor&&{"--hsk-text":i.textColor},...i?.fontFamily&&{"--hsk-font":i.fontFamily},...i?.borderRadius&&{"--hsk-border-radius":i.borderRadius}};return Vt("div",{className:oe("hsk-sb-wrap",l.root,a),ref:M,style:W,children:[St("span",{className:"hsk-sb-icon",children:St(ui,{})}),St("input",{className:oe("hsk-sb-input",l.input,o),type:"text",value:h,placeholder:e,onChange:R=>p(R.target.value),onFocus:()=>m.length>0&&h.trim()&&b(!0),onKeyDown:R=>{R.key==="Enter"&&_()},autoComplete:"off",spellCheck:!1}),T&&Vt("div",{className:oe("hsk-sb-drop",l.dropdown,s),style:{position:"absolute"},children:[x&&St("div",{className:"hsk-sb-loading-bar"}),x&&m.length===0?Vt(mi,{children:[Vt("div",{className:"hsk-sb-skeleton-row",children:[St("span",{className:"hsk-sb-skeleton-icon"}),Vt("div",{className:"hsk-sb-row-body",children:[St("div",{className:"hsk-sb-skeleton-text1"}),St("div",{className:"hsk-sb-skeleton-text2"})]})]}),Vt("div",{className:"hsk-sb-skeleton-row",children:[St("span",{className:"hsk-sb-skeleton-icon"}),Vt("div",{className:"hsk-sb-row-body",children:[St("div",{className:"hsk-sb-skeleton-text1",style:{width:"45%"}}),St("div",{className:"hsk-sb-skeleton-text2",style:{width:"25%"}})]})]})]}):Vt(mi,{children:[m.length===0&&!x&&Vt("div",{className:"hsk-sb-empty",children:["No results for \u201C",h,"\u201D"]}),m.map((R,N)=>{if(c)return St("div",{onClick:()=>P(R),className:"hsk-sb-fade",style:{animationDelay:`${N*18}ms`},children:c(R)},R.id);let H=R.entity.image??R.entity.thumbnail??R.entity.images?.[0];return Vt("div",{className:oe("hsk-sb-row hsk-sb-fade",l.row),style:{animationDelay:`${N*18}ms`},onClick:()=>P(R),children:[St("span",{className:"hsk-sb-row-thumb",children:H?St("img",{src:H,alt:"",loading:"lazy",onError:se=>{se.currentTarget.style.display="none"}}):St(ui,{})}),Vt("div",{className:"hsk-sb-row-body",children:[St("div",{className:"hsk-sb-row-title",children:R.entity.title??R.entity.name}),er({fields:R.entity.fields??R.entity},C)[0]&&St("div",{className:"hsk-sb-row-sub",children:er({fields:R.entity.fields??R.entity},C)[0].value})]})]},R.id)})]})]})]})}import{useState as to,useEffect as hh,useCallback as Fs,useRef as eb}from"react";import{createPortal as tb}from"react-dom";var bi="hsk-sounds",Be=null,cr=null;function ma(){try{return localStorage.getItem(bi)!=="off"}catch{return!0}}function fi(e){try{localStorage.setItem(bi,e?"on":"off")}catch{}e&&Cr()}function Cr(){if(typeof window>"u")return;try{let r=navigator.audioSession;r&&r.type!=="playback"&&(r.type="playback")}catch{}if(Be){Be.state==="suspended"&&Be.resume().catch(()=>{});return}let e=window.AudioContext||window.webkitAudioContext;if(e)try{Be=new e({latencyHint:"interactive"}),cr=Be.createGain(),cr.gain.value=.28,cr.connect(Be.destination);let r=Be.createBuffer(1,1,Be.sampleRate),t=Be.createBufferSource();t.buffer=r,t.connect(Be.destination),t.start(0),Be.resume().catch(()=>{})}catch{Be=null}}function ir(e,r,t,n,a){if(!Be||!cr)return;let o=Be.createOscillator();o.type="sine",o.frequency.setValueAtTime(r,e),o.frequency.exponentialRampToValueAtTime(Math.max(40,r*t),e+n);let s=Be.createBiquadFilter();s.type="lowpass",s.Q.value=.9,s.frequency.setValueAtTime(Math.min(18e3,r*7),e),s.frequency.exponentialRampToValueAtTime(Math.max(80,r*1.5),e+n);let c=Be.createGain();c.gain.setValueAtTime(1e-4,e),c.gain.exponentialRampToValueAtTime(a,e+.006),c.gain.exponentialRampToValueAtTime(1e-4,e+n),o.connect(s),s.connect(c),c.connect(cr),o.start(e),o.stop(e+n+.02)}function ki(e,r){if(!Be||!cr)return;let t=Math.floor(Be.sampleRate*.03),n=Be.createBuffer(1,t,Be.sampleRate),a=n.getChannelData(0);for(let i=0;i<t;i++)a[i]=(Math.random()*2-1)*Math.pow(1-i/t,3);let o=Be.createBufferSource();o.buffer=n;let s=Be.createBiquadFilter();s.type="bandpass",s.frequency.value=2600,s.Q.value=5;let c=Be.createGain();c.gain.value=r,o.connect(s),s.connect(c),c.connect(cr),o.start(e)}function gi(){return ma()?Be?Be.state:"unsupported":"off"}function Ep(e){!Be||!cr||(ir(e,587.33,.985,.16,.38),ir(e+.048,739.99,.985,.18,.42),ir(e+.096,880,.985,.28,.46),ir(e+.105,1174.66,.985,.22,.22),ki(e+.096,.16))}function zp(e){!Be||!cr||ir(e,659.25,.97,.09,.26)}function tr(e,r=!1){if(!r&&!ma()||(Cr(),!Be||!cr||Be.state==="closed"))return;Be.state==="suspended"&&Be.resume().catch(()=>{});let t=Be.currentTime+.01;switch(e){case"connect":Ep(t);break;case"heard":zp(t);break;case"reply":ir(t,440,.94,.13,.5),ir(t+.09,660,.94,.16,.42);break;case"interrupt":ir(t,520,.62,.17,.4);break;case"send":ir(t,300,1.16,.1,.22);break;case"pin":ki(t,.35),ir(t+.02,880,.97,.07,.22);break}}var So='@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;}@property --hsk-selection-bg{syntax: "<color>"; inherits: true; initial-value: #ff6a33;}@property --hsk-selection-text{syntax: "<color>"; inherits: true; initial-value: #ffffff;}[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),--hsk-selection-bg .36s cubic-bezier(.4,0,.2,1),--hsk-selection-text .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-selection-bg .45s cubic-bezier(.16,1,.3,1),--hsk-selection-text .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-cb-overlay::selection,.hsk-cb-overlay *::selection,.hsk-cb-btn::selection,.hsk-cb-btn *::selection,.hsk-sb-wrap::selection,.hsk-sb-wrap *::selection{background:var(--hsk-selection-bg, #ff6a33);color:var(--hsk-selection-text, #ffffff)}.hsk-kiku-avatar,.hsk-kiku-avatar *{transition:none}@media(prefers-reduced-motion:reduce){.hsk-cb-overlay,.hsk-cb-overlay *,.hsk-cb-overlay *:before,.hsk-cb-overlay *:after{transition:none}}.hsk-cb-overlay button,.hsk-cb-overlay [role=button],.hsk-cb-overlay input,.hsk-cb-overlay textarea,.hsk-cb-overlay select,.hsk-chat button,.hsk-chat [role=button],.hsk-chat input,.hsk-chat textarea,.hsk-chat select,.hsk-cb-btn,.hsk-search button,.hsk-search [role=button],.hsk-search input,.hsk-search textarea,.hsk-search select{touch-action:manipulation;-webkit-tap-highlight-color:transparent;font-family:var(--hsk-font)}:host,:root,.hsk-cb-btn,.hsk-cb-overlay,.hsk-chat-widget{--hsk-marble-1: color-mix(in srgb, var(--hsk-primary, #ff6a33) 12%, #fffaf4);--hsk-marble-2: color-mix(in srgb, var(--hsk-primary, #ff6a33) 30%, #fdf0e4);--hsk-marble-3: color-mix(in srgb, var(--hsk-primary, #ff6a33) 62%, #e8cbb0);--hsk-marble-4: color-mix(in srgb, var(--hsk-primary, #ff6a33) 85%, #6d3a1c);--hsk-marble-sheen: .5}@media(prefers-color-scheme:dark){:host,:root,.hsk-cb-btn,.hsk-cb-overlay,.hsk-chat-widget{--hsk-marble-1: #FFFDF6;--hsk-marble-2: #FBF3E2;--hsk-marble-3: color-mix(in srgb, var(--hsk-primary, #ff6a33) 20%, #EDDFC4);--hsk-marble-4: color-mix(in srgb, var(--hsk-primary, #ff6a33) 42%, #D8C39C);--hsk-marble-sheen: .9}}@keyframes hsk-pulse{0%,to{transform:scale(.8);opacity:.5}50%{transform:scale(1.2);opacity:1}}.hsk-cb-btn{--hsk-primary: var(--chat-primary-color, #ff6a33);display:inline-flex;align-items:center;gap:7px;padding:8px 16px;border-radius:var(--hsk-border-radius, 0px);border:1px solid rgba(255,106,51,.4);background:#ff6a331a;color:var(--hsk-primary);font-size:13px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s,transform .16s cubic-bezier(.34,1.56,.64,1),box-shadow .15s;will-change:transform}.hsk-cb-btn:hover{background:#ff6a332e;border-color:#ff6a33b3;box-shadow:0 4px 16px #ff6a3333}.hsk-cb-btn:active{transform:scale(.97)}.hsk-cb-topbar-mark:active .hsk-cb-topbar-name{transform:scale(.95)}.hsk-cb-btn-icon{font-size:15px;line-height:1;display:flex;align-items:center}.hsk-cb-overlay{--hsk-primary: var(--chat-primary-color, #ff6a33);--hsk-font: var(--chat-font-family, "Geist", ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);letter-spacing:normal;word-spacing:normal;font-kerning:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--hsk-font-size: var(--hsk-desktop-font-size, 15px);--hsk-mobile-font-size: 14px;position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;height:100dvh!important;z-index:2147483647!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;animation:hsk-overlay-in .2s ease-out;background:var(--hsk-chat-bg, #ffffff)!important;box-sizing:border-box!important;margin:0!important;padding:0!important}@keyframes hsk-overlay-in{0%{opacity:0}to{opacity:1}}.hsk-cb-overlay.hsk-cb-overlay--grows{animation:hsk-overlay-in .18s cubic-bezier(.16,1,.3,1) both!important}.hsk-cb-overlay.hsk-cb-overlay--grows .hsk-cb-panel{transform-origin:var(--hsk-ox, 50%) var(--hsk-oy, 50%);animation:hsk-panel-float-in .22s cubic-bezier(.16,1,.3,1) both!important}@keyframes hsk-panel-float-in{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.hsk-cb-overlay.hsk-cb-overlay--grows .hsk-cb-msgs{animation:hsk-content-fade .2s cubic-bezier(.16,1,.3,1) both}@keyframes hsk-content-fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.hsk-cb-lang-chip,.hsk-cb-chip{animation:hsk-pill-wave .22s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(.04s + var(--hsk-pill-idx, 0) * 12ms)}.hsk-cb-lang-chips-hint{animation:hsk-content-fade .22s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(.04s + var(--hsk-pill-idx, 0) * 12ms)}@keyframes hsk-pill-wave{0%{opacity:0;transform:translateY(6px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.hsk-cb-overlay.hsk-cb-overlay--grows .hsk-cb-input-wrap{animation:hsk-input-dock .22s cubic-bezier(.16,1,.3,1) backwards}@keyframes hsk-input-dock{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.hsk-cb-overlay.hsk-cb-overlay--closing{animation:hsk-overlay-out .2s cubic-bezier(.4,0,1,1) both!important;pointer-events:none}.hsk-cb-overlay.hsk-cb-overlay--closing .hsk-cb-panel{animation:hsk-panel-sink .2s cubic-bezier(.4,0,1,1) both!important}@keyframes hsk-overlay-out{0%{opacity:1}to{opacity:0}}@keyframes hsk-panel-sink{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(8px) scale(.985)}}@media(prefers-reduced-motion:reduce){.hsk-cb-overlay.hsk-cb-overlay--closing,.hsk-cb-overlay.hsk-cb-overlay--closing .hsk-cb-panel{animation:none!important}.hsk-cb-overlay.hsk-cb-overlay--grows{animation:none!important;-webkit-clip-path:none!important;clip-path:none!important}.hsk-cb-overlay.hsk-cb-overlay--grows .hsk-cb-panel,.hsk-cb-overlay.hsk-cb-overlay--grows .hsk-cb-msgs,.hsk-cb-overlay.hsk-cb-overlay--grows .hsk-cb-lang-chip,.hsk-cb-overlay.hsk-cb-overlay--grows .hsk-cb-chip,.hsk-cb-overlay.hsk-cb-overlay--grows .hsk-cb-input-wrap,.hsk-cb-overlay.hsk-cb-overlay--grows .hsk-cb-hello-avatar{animation:none!important}}.hsk-cb-panel:lang(ja){font-feature-settings:"palt";word-break:auto-phrase;line-break:strict}.hsk-cb-panel:lang(ja) p,.hsk-cb-panel:lang(ja) li{font-weight:500}.hsk-cb-panel{position:relative;display:flex;flex-direction:column;height:100%;max-width:720px;width:100%;margin:0 auto;animation:hsk-panel-in .28s cubic-bezier(.34,1.2,.64,1)}.hsk-cb-main{position:relative;flex:1;min-width:0;display:flex;flex-direction:column;height:100%;overflow:hidden}@keyframes hsk-panel-in{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.hsk-cb-topbar{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);column-gap:8px;align-items:end;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-identity{height:34px;margin-top:-10px;display:flex;align-items:center;justify-content:center}.hsk-cb-topbar-name{margin-top:0;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-scrim.is-discovery{--hsk-discovery-edge: calc(var(--hsk-tray-top, 40px) + var(--hsk-tray-h, 160px));--hsk-discovery-mask: linear-gradient(to bottom, #000 calc(var(--hsk-discovery-edge) + 24px), rgba(0, 0, 0, .84) calc(var(--hsk-discovery-edge) + 100px), rgba(0, 0, 0, .4) calc(var(--hsk-discovery-edge) + 190px), transparent calc(var(--hsk-discovery-edge) + 320px));-webkit-mask-image:var(--hsk-discovery-mask);mask-image:var(--hsk-discovery-mask);animation-duration:.4s}.hsk-cb-theme-discovery{position:absolute;z-index:1001;inset-inline-start:calc(100% + 18px);bottom:52px;width:150px;color:var(--hsk-chat-text);text-align:center;pointer-events:none;animation:hsk-theme-discovery-in .36s ease .28s both}.hsk-cb-theme-discovery svg{display:block;width:104px;height:72px;margin:0 auto 4px;transform:rotate(-90deg)}.hsk-cb-theme-discovery path{stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;color:color-mix(in srgb,var(--hsk-primary) 62%,var(--hsk-chat-text));animation:hsk-theme-arrow-draw 1s cubic-bezier(.22,.61,.36,1) .3s both}.hsk-cb-theme-discovery span{display:inline-block;padding:6px 13px;border-radius:999px;background:color-mix(in srgb,var(--hsk-primary) 9%,transparent);font-family:var(--hsk-font);font-size:13px;font-style:italic;font-weight:550;line-height:1.5;overflow-wrap:anywhere;transform:rotate(-2deg);animation:hsk-theme-hint-hop .65s cubic-bezier(.22,.61,.36,1) .85s both}.hsk-cb-theme-discovery.is-mobile{top:calc(var(--hsk-tray-top, 40px) + var(--hsk-tray-h, 160px) + 10px);bottom:auto;left:50%;right:auto;width:min(260px,calc(100vw - 48px));transform:translate(-50%)}.hsk-cb-theme-discovery.is-mobile svg{position:relative;left:50%;width:min(calc(100vw - 24px),366px);height:calc(var(--hsk-tray-h, 160px) + 98px);margin-top:calc(-1 * var(--hsk-tray-h, 160px) - 28px);transform:translate(-50%)}.hsk-cb-panel[dir=rtl] .hsk-cb-theme-discovery:not(.is-mobile) svg{transform:rotate(90deg) scaleX(-1)}.hsk-cb-kiku-id-rail.is-theme-open .hsk-cb-dock-frost{opacity:1;transition-duration:.4s}.hsk-cb-theme-discovery.is-closing{animation:hsk-scrim-out .18s ease both}@keyframes hsk-theme-discovery-in{0%{opacity:0;translate:0 -4px}to{opacity:.8;translate:0 0}}@keyframes hsk-theme-arrow-draw{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}@keyframes hsk-theme-hint-hop{0%{transform:translateY(4px) rotate(-4deg) scale(.96)}42%{transform:translateY(-3px) rotate(1deg) scale(1.025)}72%{transform:translateY(1px) rotate(-3deg) scale(.995)}to{transform:translateY(0) rotate(-2deg) scale(1)}}.hsk-cb-topbar-mark.is-discovering:before,.hsk-cb-topbar-mark.is-discovering:after{content:"";position:absolute;inset-inline-end:-13px;top:15px;width:9px;height:13px;background:var(--hsk-primary);clip-path:polygon(50% 0,64% 35%,100% 50%,64% 64%,50% 100%,36% 64%,0 50%,36% 35%);pointer-events:none;animation:hsk-theme-twinkle 1.6s ease .8s 2 both}.hsk-cb-topbar-mark.is-discovering:after{inset-inline-end:auto;inset-inline-start:-10px;top:35px;width:6px;height:9px;animation-delay:1.2s}@keyframes hsk-theme-twinkle{0%,to{opacity:0;transform:rotate(-12deg) scale(.4)}40%{opacity:.85;transform:rotate(9deg) scale(1)}}@media(prefers-reduced-motion:reduce){.hsk-cb-theme-discovery,.hsk-cb-theme-discovery path,.hsk-cb-theme-discovery span,.hsk-cb-topbar-mark.is-discovering:before,.hsk-cb-topbar-mark.is-discovering:after{animation:none}}.hsk-cb-layout-discovery-note{display:flex;align-items:center;gap:10px;width:fit-content;max-width:min(100%,380px);margin:0 0 20px;margin-inline-start:auto;padding:8px 14px 8px 10px;border:0;border-radius:18px;background:color-mix(in srgb,var(--hsk-primary) 6%,transparent);color:var(--hsk-chat-muted);font:500 12px/1.5 var(--hsk-font);text-align:start;cursor:pointer;animation:hsk-msg-in .3s ease both}.hsk-cb-layout-discovery-note svg{width:34px;height:40px;flex-shrink:0;color:color-mix(in srgb,var(--hsk-primary) 62%,var(--hsk-chat-text));transform:scaleX(-1)}.hsk-cb-layout-discovery-note path{stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;animation:hsk-theme-arrow-draw .8s ease .2s both}.hsk-cb-layout-discovery-note:focus-visible{outline:2px solid var(--hsk-primary);outline-offset:4px}.hsk-cb-panel[dir=rtl] .hsk-cb-layout-discovery-note svg{transform:none}.hsk-cb-layout-toggle.is-discovery{position:relative}.hsk-cb-layout-toggle.is-discovery:after{content:"";position:absolute;inset:-3px;border-radius:inherit;pointer-events:none;box-shadow:0 0 0 4px color-mix(in srgb,var(--hsk-primary) 14%,transparent),0 0 12px color-mix(in srgb,var(--hsk-primary) 18%,transparent);animation:hsk-layout-discovery-pulse 1.2s ease .2s 2 both}@keyframes hsk-layout-discovery-pulse{0%,to{opacity:0;transform:scale(.98)}45%{opacity:1;transform:scale(1.02)}}.hsk-cb-layout-dock-anchor{position:relative;width:fit-content}.hsk-cb-layout-discovery-note--dock{display:none}@media(min-width:1200px){.hsk-cb-layout-discovery-note--reply{display:none}.hsk-cb-layout-discovery-note--dock{display:flex;position:absolute;inset-inline-start:calc(100% + 12px);top:50%;transform:translateY(-50%);width:230px;max-width:none;margin:0;padding:6px 10px;background:var(--hsk-chat-bg);animation:none}.hsk-cb-layout-discovery-note--dock svg{transform:rotate(-90deg)}.hsk-cb-panel[dir=rtl] .hsk-cb-layout-discovery-note--dock svg{transform:rotate(90deg)}}@media(prefers-reduced-motion:reduce){.hsk-cb-layout-discovery-note,.hsk-cb-layout-discovery-note path,.hsk-cb-layout-toggle.is-discovery:after{animation:none}}.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{min-width:0;max-width:100%;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{position:relative;display:inline-flex;align-items:center;min-width:0;max-width:100%;white-space:nowrap;flex:0 1 auto;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.is-compact{width:34px;padding:0;flex:none;justify-content:center}.hsk-cb-clear-measure{position:absolute;visibility:hidden;pointer-events:none;white-space:nowrap;font-size:12px}.hsk-cb-topbar-btn-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.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[data-hsk-tapback-active]{background:var(--hsk-chat-bg, #fff);--hsk-viewport-feather: linear-gradient(to bottom, transparent, rgba(0, 0, 0, .03) min(6px, 2%), rgba(0, 0, 0, .16) min(16px, 5%), rgba(0, 0, 0, .5) min(32px, 10%), rgba(0, 0, 0, .84) min(48px, 15%), rgba(0, 0, 0, .97) min(58px, 18%), #000 min(64px, 20%), #000 calc(100% - min(64px, 20%)) , rgba(0, 0, 0, .97) calc(100% - min(58px, 18%)) , rgba(0, 0, 0, .84) calc(100% - min(48px, 15%)) , rgba(0, 0, 0, .5) calc(100% - min(32px, 10%)) , rgba(0, 0, 0, .16) calc(100% - min(16px, 5%)) , rgba(0, 0, 0, .03) calc(100% - min(6px, 2%)) , transparent);--hsk-viewport-sides: linear-gradient(to right, transparent, rgba(0, 0, 0, .03) min(4px, 1%), rgba(0, 0, 0, .16) min(12px, 3%), rgba(0, 0, 0, .5) min(24px, 6%), rgba(0, 0, 0, .84) min(36px, 9%), rgba(0, 0, 0, .97) min(44px, 11%), #000 min(48px, 12%), #000 calc(100% - min(48px, 12%)) , rgba(0, 0, 0, .97) calc(100% - min(44px, 11%)) , rgba(0, 0, 0, .84) calc(100% - min(36px, 9%)) , rgba(0, 0, 0, .5) calc(100% - min(24px, 6%)) , rgba(0, 0, 0, .16) calc(100% - min(12px, 3%)) , rgba(0, 0, 0, .03) calc(100% - min(4px, 1%)) , transparent);-webkit-mask-image:var(--hsk-viewport-sides),var(--hsk-viewport-feather);mask-image:var(--hsk-viewport-sides),var(--hsk-viewport-feather);-webkit-mask-composite:source-in;mask-composite:intersect;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.hsk-cb-msgs-spacer{flex:none;height:1px;pointer-events:none}.hsk-cb-msgs>:first-child{margin-top:auto}.hsk-cb-msgs.hsk-scrolling>*{pointer-events:none}.hsk-cb-msgs::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}.hsk-cb-empty{flex:1 0 auto;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:14px;padding:24px 0 32px;width:100%;text-align:start}.hsk-cb-onboarding-card{display:flex;flex-direction:column;align-items:flex-start;width:100%;gap:10px;flex-shrink:0;overflow:hidden;padding-bottom:26px;margin-bottom:-26px}.hsk-cb-onboarding-head{display:flex;align-items:center;justify-content:flex-start;width:100%;margin-bottom:8px}.hsk-cb-step-badge{font-size:11px;font-weight:600;letter-spacing:.05em;color:var(--hsk-chat-muted, #71717a);background:var(--hsk-chat-source-bg, rgba(255, 255, 255, .06));border:1px solid var(--hsk-chat-border, rgba(255, 255, 255, .08));padding:4px 10px;border-radius:999px;line-height:1}.hsk-cb-hello-wrap{display:flex;flex-direction:column;align-items:flex-start;text-align:start;gap:6px;padding:0;width:100%}.hsk-cb-hello{margin:0;font-size:clamp(24px,4.5vw,34px);font-weight:500;line-height:1.2;letter-spacing:-.02em;color:color-mix(in srgb,var(--hsk-chat-text, #111) 55%,var(--hsk-chat-muted, #8b8b8f));text-align:start}.hsk-cb-hello b{font-weight:700;color:var(--hsk-primary, #ff6a33)}.hsk-cb-hello-lead{margin:0;font-size:15px;line-height:22px;color:var(--hsk-chat-muted, #5f6368);max-width:42ch;text-align:start}.hsk-cb-hello-ask{margin:2px 0;font-size:16px;font-weight:500;color:var(--hsk-chat-text, #111);text-align:start}.hsk-cb-hello-hint{margin:0;font-size:13px;line-height:1.5;color:var(--hsk-chat-muted, #5f6368);text-align:start}.hsk-cb-name-step .hsk-cb-hello{color:var(--hsk-chat-text, #111)}.hsk-cb-name-step .hsk-cb-hello-ask{margin-top:6px;font-size:19px;font-weight:600;color:color-mix(in srgb,var(--hsk-chat-text, #111) 62%,var(--hsk-chat-muted, #8b8b8f))}.hsk-cb-panel[dir=rtl] .hsk-cb-msgs{direction:ltr}.hsk-cb-panel[dir=rtl] .hsk-cb-msgs>*{direction:rtl}.hsk-cb-panel[dir=rtl] .hsk-cb-user-imgs{margin-left:0;margin-right:auto}.hsk-cb-panel[dir=rtl] .hsk-cb-user-bubble,.hsk-cb-panel[dir=rtl] .hsk-cb-ai-text{word-break:normal;overflow-wrap:break-word;letter-spacing:normal}.hsk-cb-panel[dir=rtl] .hsk-cb-hello{line-height:1.6;letter-spacing:normal}.hsk-cb-lang-chips{display:flex;flex-wrap:wrap;gap:8px 10px;margin:16px 0 8px;align-items:center}.hsk-cb-lang-chip{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:6px 15px;font-family:var(--hsk-font);font-size:13.5px;font-weight:400;line-height:1.2;letter-spacing:-.01em;color:var(--hsk-chat-text, #27272a);background:color-mix(in srgb,var(--hsk-chat-card-bg, var(--hsk-chat-bg, #ffffff)) 72%,transparent);backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border:none;border-radius:999px;box-shadow:0 2px 8px -1px #0000000f,0 1px 2px #00000005;cursor:pointer;transition:all .18s cubic-bezier(.16,1,.3,1);user-select:none;-webkit-font-smoothing:antialiased}.hsk-cb-lang-chip:hover{background:color-mix(in srgb,var(--hsk-primary, #ff6a33) 12%,var(--hsk-chat-card-bg, #ffffff));color:var(--hsk-primary, #ff6a33);transform:translateY(-1px);box-shadow:0 4px 12px -2px #00000014}.hsk-cb-lang-chip:active{transform:translateY(0) scale(.97)}.hsk-cb-lang-chip:focus-visible{outline:2px solid var(--hsk-primary, #ff6a33);outline-offset:2px}[data-hsk-theme=dark] .hsk-cb-lang-chip,[data-hsk-theme=midnight] .hsk-cb-lang-chip{color:#e4e4e7;background:#ffffff12;border:none;box-shadow:0 2px 8px -1px #0000004d}[data-hsk-theme=dark] .hsk-cb-lang-chip:hover,[data-hsk-theme=midnight] .hsk-cb-lang-chip:hover{background:rgba(var(--hsk-primary-rgb, 255, 106, 51),.2);color:#fff}.hsk-cb-lang-chips-hint{display:inline-flex;align-items:center;font-size:13px;font-weight:400;color:var(--hsk-chat-muted, #71717a);padding:0 6px;margin-inline-start:4px;user-select:none;align-self:center}.hsk-cb-chrome-loading{display:flex;flex-direction:column;align-items:flex-start;text-align:start;gap:12px;width:100%;max-width:480px;margin:4px 0 2px;animation:hsk-content-fade .3s ease-out both}.hsk-cb-chrome-loading-header{display:flex;flex-direction:column;align-items:flex-start;text-align:start;gap:6px;width:100%}.hsk-cb-chrome-progress{height:3px;width:100%;border-radius:3px;background:var(--hsk-chat-source-bg, rgba(255, 255, 255, .08));overflow:hidden;margin-top:4px}.hsk-cb-chrome-progress-track{height:100%;width:100%;border-radius:3px;background:linear-gradient(90deg,#ff6a33,#f7b733,#43c59e,#3d8bfd,#9b5de5,#ff5d8f,#ff6a33);background-size:300% 100%;animation:hsk-chrome-rainbow 2.6s linear infinite}.hsk-cb-chrome-progress{position:relative;overflow:hidden}.hsk-cb-chrome-progress:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.55) 50%,transparent 80%);transform:translate(-100%);animation:hsk-chrome-sheen 1.9s cubic-bezier(.55,0,.45,1) infinite;pointer-events:none}@keyframes hsk-chrome-rainbow{0%{background-position:0% 0}to{background-position:-300% 0}}@keyframes hsk-chrome-sheen{0%{transform:translate(-100%)}to{transform:translate(200%)}}@media(prefers-reduced-motion:reduce){.hsk-cb-chrome-progress-track{animation:none;opacity:.5}.hsk-cb-chrome-progress:after{animation:none;opacity:0}}.hsk-cb-chrome-back-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;margin-top:6px;font-size:13px;font-weight:500;color:var(--hsk-chat-muted, #a1a1aa);background:var(--hsk-chat-source-bg, rgba(255, 255, 255, .05));border:1px solid var(--hsk-chat-border, rgba(255, 255, 255, .09));border-radius:999px;cursor:pointer;transition:all .15s ease;user-select:none}.hsk-cb-chrome-back-btn:hover{background:var(--hsk-chat-source-bg, rgba(255, 255, 255, .12));color:var(--hsk-chat-text, #ffffff);border-color:var(--hsk-chat-border, rgba(255, 255, 255, .18))}.hsk-cb-chrome-notice{display:flex;flex-direction:column;gap:6px;max-width:48ch;margin:24px 0 0;padding:14px 16px;border-radius:14px;background:var(--hsk-chat-source-bg, rgba(255, 255, 255, .04));border:1px solid var(--hsk-chat-border, rgba(255, 255, 255, .09));text-align:start;font-family:var(--hsk-font, system-ui, sans-serif);animation:hsk-content-fade .4s ease-out both}.hsk-cb-chrome-notice-header{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.hsk-cb-chrome-notice-pill{display:inline-flex;align-items:center;padding:2px 7px;border-radius:6px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;background:#ff6a3326;color:var(--hsk-primary, #ff6a33);border:1px solid rgba(255,106,51,.28)}.hsk-cb-chrome-notice-title{font-size:12px;font-weight:600;letter-spacing:.01em;color:var(--hsk-chat-text, #ffffff)}.hsk-cb-chrome-notice-body{font-size:12px;line-height:1.55;color:var(--hsk-chat-muted, #a1a1aa)}.hsk-cb-chrome-notice-body b{color:var(--hsk-chat-text, #ffffff)}@media(prefers-color-scheme:light){.hsk-cb-chrome-progress{background:var(--hsk-chat-source-bg, rgba(0, 0, 0, .06))}.hsk-cb-chrome-back-btn{color:#52525b;background:#0000000a;border-color:#00000014}.hsk-cb-chrome-back-btn:hover{background:#00000014;color:#09090b;border-color:#00000024}}.hsk-cb-input-box--waiting{opacity:.45;pointer-events:none}.hsk-cb-entlang-opts{display:flex;flex-direction:column;gap:10px;width:100%;max-width:440px;margin-top:6px}.hsk-cb-entlang-opt{position:relative;display:flex;flex-direction:row;align-items:center;width:100%;padding:16px 20px;text-align:start;background:transparent!important;border:none!important;outline:none!important;border-radius:16px;cursor:pointer;user-select:none;box-shadow:none!important;animation:hsk-entlang-opt-in .22s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(.04s + var(--hsk-opt-idx, 0) * .02s)}@media(prefers-color-scheme:light){.hsk-cb-entlang-opt{background:transparent!important}}[data-hsk-theme=light] .hsk-cb-entlang-opt{background:transparent!important}@keyframes hsk-entlang-opt-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.hsk-cb-entlang-opt:hover{background:transparent!important;border:none!important;box-shadow:none!important}.hsk-cb-entlang-opt:active>.hsk-cb-check{scale:.94;translate:0 1px;box-shadow:none}.hsk-cb-check{display:inline-grid;place-items:center;width:22px;height:22px;flex-shrink:0;border-radius:8px;border:1.5px solid color-mix(in srgb,var(--hsk-chat-text, #111) 20%,transparent);background:color-mix(in srgb,var(--hsk-chat-text, #111) 4%,transparent);box-shadow:0 2px color-mix(in srgb,var(--hsk-chat-text, #111) 8%,transparent);box-sizing:border-box;transition:background-color .22s ease,border-color .22s ease,box-shadow .16s ease,scale .16s ease,translate .16s 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}@media(hover:hover){.hsk-cb-entlang-opt:not(.is-selected):hover>.hsk-cb-check{background:color-mix(in srgb,var(--hsk-chat-text, #111) 7%,transparent)}}.hsk-cb-entlang-opt:focus-visible{outline:2px solid var(--hsk-primary, #ff6a33)!important;outline-offset:-2px}@keyframes hsk-cb-check-press{0%{transform:scale(1)}35%{transform:scale(.9)}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,.hsk-cb-check path{transition:none}.hsk-cb-entlang-opt:active>.hsk-cb-check{scale:none;translate: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-x:hidden;overflow-y:auto;scrollbar-width:none;overscroll-behavior:contain;z-index:10;pointer-events:auto;direction:ltr!important}.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-x:hidden;overflow-y:auto;scrollbar-width:none;overscroll-behavior:contain;z-index:10;pointer-events:auto;direction:ltr!important}.hsk-cb-timeline::-webkit-scrollbar{display:none}.hsk-cb-timeline[data-overflow=true]{-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}to{opacity:1}}.hsk-cb-timeline-track{--hsk-tl-x: 14px;--hsk-tl-gutter: 28px;position:relative;padding-left:var(--hsk-tl-gutter)!important;padding-right:6px!important;transition:transform .28s cubic-bezier(.22,1,.36,1)}.hsk-cb-timeline-track:before,.hsk-cb-timeline-track:after{display:none!important}.hsk-cb-tl-wave{position:absolute;left:0;top:0;overflow:visible;pointer-events:none;fill:none;stroke:var(--hsk-chat-divide, rgba(0, 0, 0, .12));stroke-width:2;stroke-linecap:round;transition:d .35s cubic-bezier(.22,1,.36,1)}@media(prefers-color-scheme:dark){.hsk-cb-tl-wave{stroke:var(--hsk-chat-divide, rgba(255, 255, 255, .14))}}.hsk-cb-tl-item{--hsk-tl-d: 0;position:relative;display:block;width:100%;padding:7px 6px 7px 0!important;border:none;background:none;text-align:left!important;cursor:pointer;font-family:var(--hsk-font)}.hsk-cb-tl-dot{position:absolute;left:calc(var(--hsk-tl-x, 14px) - var(--hsk-tl-gutter, 28px) - 3px)!important;right:auto!important;top:50%;width:6px;height:6px;margin-top:-3px;border-radius:999px;background:var(--hsk-chat-muted, #8a8f98);opacity:max(.1,calc(.28 - var(--hsk-tl-d) * .07));transform:translate(calc(10px + var(--hsk-tl-d) * 7px));transition:transform .28s cubic-bezier(.34,1.4,.64,1),opacity .46s cubic-bezier(.22,1,.36,1),background .2s ease}.hsk-cb-tl-label{display:block;font-size:12px;line-height:1.4;color:var(--hsk-chat-muted, #8a8f98);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transform:translate(calc(10px + var(--hsk-tl-d) * 7px));opacity:max(.32,calc(.9 - var(--hsk-tl-d) * .15));transition:transform .46s cubic-bezier(.22,1,.36,1),opacity .46s cubic-bezier(.22,1,.36,1),color .2s ease}.hsk-cb-tl-item:hover .hsk-cb-tl-label{opacity:1;transform:translate(calc(10px + var(--hsk-tl-d) * 7px - 2px))}.hsk-cb-tl-item:hover .hsk-cb-tl-dot{transform:translate(calc(10px + var(--hsk-tl-d) * 7px - 2px)) scale(1.25)}.hsk-cb-tl-cursor{position:absolute;box-shadow:0 0 0 5px color-mix(in srgb,var(--hsk-primary, #ff6a33) 14%,transparent);left:calc(var(--hsk-tl-x, 14px) - 4.5px)!important;right:auto!important;top:0;width:9px;height:9px;margin-top:-4.5px;border-radius:999px;background:var(--hsk-primary, #ff6a33);transform:translateY(0);transition:transform .44s cubic-bezier(.22,1,.36,1);will-change:transform}.hsk-cb-tl-item--on .hsk-cb-tl-dot{opacity:0}.hsk-cb-tl-item--on .hsk-cb-tl-label{color:var(--hsk-chat-text, #1f1f1f);opacity:1;font-weight:500}@media(prefers-reduced-motion:reduce){.hsk-cb-timeline-track{animation:none}.hsk-cb-timeline-track:after,.hsk-cb-tl-label,.hsk-cb-tl-cursor,.hsk-cb-tl-dot{transition:none}}@media(prefers-color-scheme:dark){.hsk-cb-ai-text{--hsk-chat-ai-bg: #26262a;background:var(--hsk-chat-ai-bg);color:#f9fafb}}.hsk-cb-sources-wrap{position:relative;margin-top:20px}.hsk-cb-sources{display:flex;flex-direction:row;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;padding-bottom:4px}.hsk-cb-sources::-webkit-scrollbar{display:none}.hsk-cb-sources-fade-left,.hsk-cb-sources-fade-right{position:absolute;top:0;bottom:4px;width:30px;pointer-events:none;z-index:2}.hsk-cb-sources-fade-left,.hsk-cb-sources-fade-right{background-color:var(--hsk-fade-bg, var(--hsk-chat-bg, #0e0e0f))}.hsk-cb-sources-fade-left,[dir=rtl] .hsk-cb-sources-fade-right{-webkit-mask-image:linear-gradient(to right,#000 0%,rgba(0,0,0,.55) 45%,transparent 100%);mask-image:linear-gradient(to right,#000 0%,rgba(0,0,0,.55) 45%,transparent 100%)}.hsk-cb-sources-fade-right,[dir=rtl] .hsk-cb-sources-fade-left{-webkit-mask-image:linear-gradient(to left,#000 0%,rgba(0,0,0,.55) 45%,transparent 100%);mask-image:linear-gradient(to left,#000 0%,rgba(0,0,0,.55) 45%,transparent 100%)}.hsk-cb-sources-fade-left{inset-inline-start:0}.hsk-cb-sources-fade-right{inset-inline-end:0}.hsk-cb-sources-next,.hsk-cb-sources-prev{position:absolute;top:42%;transform:translateY(-50%);width:34px;height:34px;border-radius:50%!important;background:var(--hsk-chat-bg, #ffffff)!important;border:1px solid var(--hsk-chat-divide, rgba(0, 0, 0, .12))!important;color:var(--hsk-primary, #ff6a33)!important;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px #00000024;z-index:10;cursor:pointer;transition:transform .2s cubic-bezier(.34,1.56,.64,1),background .18s ease,color .18s ease,box-shadow .18s ease}.hsk-cb-sources-next:hover,.hsk-cb-sources-prev:hover{background:var(--hsk-primary, #ff6a33)!important;color:#fff!important;border-color:var(--hsk-primary, #ff6a33)!important;transform:translateY(-50%) scale(1.1);box-shadow:0 6px 18px #ff6a3359}.hsk-cb-sources-next{inset-inline-end:2px}.hsk-cb-sources-prev{inset-inline-start:2px}[dir=rtl] .hsk-cb-sources-next svg,[dir=rtl] .hsk-cb-sources-prev svg{transform:scaleX(-1)}.hsk-cb-carousel-dots{display:flex;align-items:center;justify-content:center;gap:5px;margin-top:10px}.hsk-cb-dot-item{width:6px;height:6px;border-radius:50%;background:#96969659;transition:all .25s cubic-bezier(.34,1.56,.64,1);cursor:pointer}.hsk-cb-dot-item--active{width:18px;border-radius:999px;background:var(--hsk-primary, #ff6a33)}.hsk-cb-source{flex:0 0 188px;scroll-snap-align:start;border-radius:var(--hsk-border-radius, 0px);border:none;background:transparent;cursor:pointer;transition:transform .14s,opacity .14s;animation:hsk-card-in .26s ease-out both;overflow:visible}@keyframes hsk-card-in{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:none}}.hsk-cb-source:hover{transform:translateY(-3px);opacity:.92}.hsk-cb-src-imgwrap{width:188px;height:188px;overflow:hidden;border-radius:var(--hsk-border-radius, 0px);display:block;background:var(--hsk-chat-source-bg, #f8f9fa)}.hsk-cb-src-imgwrap img{width:100%;height:100%;object-fit:cover;transition:transform .22s;display:block}.hsk-cb-source:hover .hsk-cb-src-imgwrap img{transform:scale(1.05)}.hsk-cb-src-imgwrap-empty{width:188px;height:188px;background:var(--hsk-chat-divide, rgba(0,0,0,.06));display:flex;align-items:center;justify-content:center;color:var(--hsk-chat-muted, #555);font-size:32px}.hsk-cb-src-info{padding:8px 2px 0}.hsk-cb-sources-wrap--compact{margin-top:10px}.hsk-cb-sources-wrap--compact .hsk-cb-sources{gap:10px}.hsk-cb-sources-wrap--compact .hsk-cb-source{flex:0 0 96px}.hsk-cb-sources-wrap--compact .hsk-cb-src-imgwrap,.hsk-cb-sources-wrap--compact .hsk-cb-src-imgwrap-empty{width:96px;height:96px}.hsk-cb-sources-wrap--compact .hsk-cb-src-imgwrap-empty{font-size:20px}.hsk-cb-sources-wrap--compact .hsk-cb-src-name{font-size:12px;-webkit-line-clamp:1}.hsk-cb-sources-wrap--compact .hsk-cb-src-detail{font-size:11px;padding:1px 6px}.hsk-cb-src-name{font-size:13px;font-weight:600;color:var(--hsk-chat-text, #333);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.hsk-cb-src-detail{display:inline-flex;align-items:center;width:fit-content;max-width:100%;padding:2px 9px;border-radius:9999px;background:var(--hsk-chat-source-bg, rgba(0, 0, 0, .05));border:1px solid var(--hsk-chat-divide, rgba(0, 0, 0, .08));font-size:12px;font-weight:600;color:var(--hsk-primary, #ff6a33);margin-top:5px;line-height:1.2}.hsk-cb-input-wrap{position:relative;--hsk-composer-pad-top: 16px;--hsk-composer-pad-x: var(--hsk-gutter, 24px);padding:var(--hsk-composer-pad-top) var(--hsk-composer-pad-x) 24px;flex-shrink:0;background:transparent!important;z-index:10}.hsk-cb-input-wrap[data-tools-open=true]{z-index:20!important}.hsk-cb-input-wrap:after{display:none!important}.hsk-cb-input-card{position:relative;z-index:1001;border-radius:20px;background:var(--hsk-chat-input-bg, #ffffff);border:none!important;outline:none!important;box-shadow:0 3px 14px -1px #0000000d,0 1px 4px #00000008!important;overflow:hidden;transition:height .22s cubic-bezier(.32,.72,0,1)}.hsk-cb-input-card:focus-within{border:none!important;outline:none!important;box-shadow:0 4px 18px -1px #00000012,0 2px 6px #0000000a!important}.hsk-cb-docked-header{display:flex;align-items:center;gap:8px;padding:10px 16px 6px;background:transparent;border-bottom:none!important;user-select:none}.hsk-cb-docked-sub{font-size:12px;font-weight:500;letter-spacing:-.01em;color:var(--hsk-chat-text, #1f1f1f);flex:1}.hsk-cb-docked-close{background:none;border:none;color:var(--hsk-chat-muted, rgba(0, 0, 0, .4));font-size:16px;line-height:1;cursor:pointer;padding:2px 6px;border-radius:50%;transition:background .12s,color .12s}.hsk-cb-docked-close:hover{background:#00000014;color:var(--hsk-chat-text, #111111)}.hsk-cb-field{margin-inline:5px}.hsk-cb-input-box[data-expanded=true]>.hsk-cb-field{margin-inline:0}.hsk-cb-docked-options{display:flex;flex-direction:column;padding:4px 6px;background:transparent;border-bottom:none!important;max-height:220px;overflow-y:auto;scrollbar-width:thin}.hsk-cb-docked-option{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;border:none;background:transparent!important;border-radius:10px;color:var(--hsk-chat-text, #1f1f1f);font-family:inherit;font-size:14px;text-align:start;cursor:pointer;transition:color .15s ease}.hsk-cb-docked-option:hover,.hsk-cb-docked-option:focus{background:transparent!important;color:var(--hsk-primary, #ff6a33)}.hsk-cb-docked-option-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:color-mix(in srgb,var(--hsk-primary, #ff6a33) 12%,transparent);color:var(--hsk-primary, #ff6a33);flex-shrink:0;overflow:hidden;transition:transform .2s cubic-bezier(.34,1.56,.64,1),background .18s ease}.hsk-cb-docked-option:hover .hsk-cb-docked-option-icon,.hsk-cb-docked-option:focus .hsk-cb-docked-option-icon{background:color-mix(in srgb,var(--hsk-primary, #ff6a33) 22%,transparent);transform:scale(1.15) rotate(4deg)}.hsk-cb-docked-option-icon img{width:100%;height:100%;object-fit:cover}.hsk-cb-docked-option-title{font-weight:500;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .15s ease}.hsk-cb-docked-option-desc{font-size:12px;color:var(--hsk-chat-muted, #6b7280);font-weight:400}.hsk-cb-docked-option-detail{font-size:12px;font-weight:600;color:var(--hsk-chat-muted, #6b7280)}.hsk-cb-input-box{position:relative;display:grid;grid-template-columns:auto 1fr auto auto;grid-template-rows:auto 0px;align-items:center;justify-items:start;column-gap:10px;row-gap:0px;transition:grid-template-rows .2s cubic-bezier(.32,.72,0,1),row-gap .2s cubic-bezier(.32,.72,0,1);background:transparent!important;border:none!important;outline:none!important;border-radius:0!important;padding-block:12px;padding-inline:18px 14px;box-shadow:none!important}.hsk-cb-tools-toggle{display:none}@media(max-width:640px){.hsk-cb-tools-toggle{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:12px;border:none;background:var(--hsk-surface-1, rgba(0,0,0,.06));color:var(--hsk-chat-muted, #5f6368);cursor:pointer;flex-shrink:0;transition:background .16s,color .16s,transform .22s cubic-bezier(.34,1.56,.64,1)}.hsk-cb-tools-toggle:active{transform:scale(.91)}.hsk-cb-tools-toggle--open{background:color-mix(in srgb,var(--hsk-primary, #ff6a33) 14%,transparent);color:var(--hsk-primary, #ff6a33);transform:rotate(45deg)}[data-hsk-theme] .hsk-cb-tools-toggle{background:var(--hsk-surface-1)!important;color:var(--hsk-chat-muted)!important}[data-hsk-theme] .hsk-cb-tools-toggle--open{background:color-mix(in srgb,var(--hsk-primary) 14%,transparent)!important;color:var(--hsk-primary)!important}.hsk-cb-input-box{grid-template-columns:auto 1fr auto}.hsk-cb-input-box>.hsk-cb-tools-toggle{grid-column:1;grid-row:1;display:inline-flex}.hsk-cb-input-box>.hsk-cb-field{grid-column:2;grid-row:1}.hsk-cb-input-box>.hsk-cb-send,.hsk-cb-input-box>.hsk-chat-send{grid-column:3;grid-row:1}.hsk-cb-input-box>.hsk-cb-attach-btn,.hsk-cb-input-box>.hsk-cb-voice-mode-btn{display:none!important}.hsk-cb-input-box[data-expanded=true]>.hsk-cb-field{grid-column:1 / -1;grid-row:1}.hsk-cb-input-box[data-expanded=true]>.hsk-cb-tools-toggle,.hsk-cb-input-box[data-expanded=true]>.hsk-cb-send,.hsk-cb-input-box[data-expanded=true]>.hsk-chat-send{grid-row:2}}.hsk-cb-toolsheet-wrap{position:absolute;bottom:calc(100% - 6px);inset-inline-start:var(--hsk-composer-pad-x, 14px);inset-inline-end:auto;z-index:1000;transform-origin:bottom left;animation:hsk-toolsheet-in .22s cubic-bezier(.16,1,.3,1) both;pointer-events:auto}[dir=rtl] .hsk-cb-toolsheet-wrap,.hsk-cb-panel[dir=rtl] .hsk-cb-toolsheet-wrap{transform-origin:bottom right}.hsk-cb-toolsheet{position:relative;z-index:1;min-width:200px;padding:6px;border-radius:16px;background:var(--hsk-chat-source-bg, rgba(255, 255, 255, .08));border:none!important;box-shadow:none!important}@keyframes hsk-toolsheet-in{0%{opacity:0;transform:translateY(8px) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}.hsk-cb-toolsheet-scrim{position:fixed;inset:0;z-index:999;background:color-mix(in srgb,var(--hsk-chat-bg, #fff) 30%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);mask-image:linear-gradient(to top,#000 30vh,rgba(0,0,0,.84) 38vh,rgba(0,0,0,.4) 48vh,rgba(0,0,0,.1) 56vh,transparent 62vh);-webkit-mask-image:linear-gradient(to top,#000 30vh,rgba(0,0,0,.84) 38vh,rgba(0,0,0,.4) 48vh,rgba(0,0,0,.1) 56vh,transparent 62vh);animation:hsk-scrim-in .25s cubic-bezier(.16,1,.3,1) both;cursor:default}.hsk-cb-input-wrap[data-tools-open=true] .hsk-cb-tools-toggle{position:relative;z-index:1002}.hsk-cb-toolsheet-pub-text{display:flex;flex-direction:column;min-width:0;gap:2px}.hsk-cb-toolsheet-pub-text code{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:var(--hsk-chat-muted, #6b7280)}.hsk-cb-toolsheet-item{display:flex;align-items:center;gap:11px;width:100%;padding:10px 12px;border:none;border-radius:11px;background:transparent;color:var(--hsk-chat-text, #111827);font-family:var(--hsk-font);font-size:15px;text-align:start;cursor:pointer;transition:background-color .15s ease}.hsk-cb-toolsheet-item:hover:not(:disabled){background:var(--hsk-chat-subtle, rgba(0,0,0,.05))}.hsk-cb-toolsheet-item:disabled{opacity:.45;cursor:default}.hsk-cb-toolsheet-item>svg{flex-shrink:0;color:var(--hsk-chat-muted, #6b7280)}[data-hsk-theme] .hsk-cb-toolsheet{background:var(--hsk-sheet-bg, var(--hsk-chat-input-bg, #f3f4f6))!important;border:none!important}[data-hsk-theme] .hsk-cb-toolsheet-item{color:var(--hsk-chat-text, #111827)!important}[data-hsk-theme] .hsk-cb-toolsheet-item:hover:not(:disabled){background:var(--hsk-sheet-hover, var(--hsk-surface-2, rgba(0, 0, 0, .05)))!important}[data-hsk-theme] .hsk-cb-toolsheet-item>svg{color:var(--hsk-chat-muted, #6b7280)!important}@media(prefers-reduced-motion:reduce){.hsk-cb-toolsheet-wrap,.hsk-cb-toolsheet-stem{animation:none}}.hsk-cb-input-box>.hsk-cb-attach-btn{grid-column:1;grid-row:1}.hsk-cb-input-box>.hsk-cb-field{grid-column:2;grid-row:1}.hsk-cb-input-box>.hsk-cb-voice-mode-btn{grid-column:3;grid-row:1}.hsk-cb-input-box>.hsk-cb-send,.hsk-cb-input-box>.hsk-chat-send{grid-column:4;grid-row:1}.hsk-cb-input-box[data-expanded=true]{grid-template-rows:auto 36px;row-gap:6px}.hsk-cb-input-box[data-expanded=true]>.hsk-cb-field{grid-column:1 / -1;grid-row:1}.hsk-cb-input-box[data-expanded=true]>.hsk-cb-attach-btn,.hsk-cb-input-box[data-expanded=true]>.hsk-cb-voice-mode-btn,.hsk-cb-input-box[data-expanded=true]>.hsk-cb-send,.hsk-cb-input-box[data-expanded=true]>.hsk-chat-send{grid-row:2}.hsk-cb-textarea{width:100%;background:transparent;border:none;outline:none;resize:none;font-size:var(--hsk-input-font-size, 16px);font-family:var(--hsk-font);color:var(--hsk-chat-text, #111);min-height:28px;max-height:140px;field-sizing:content;line-height:var(--hsk-input-line-height, 1.55);word-break:break-word;overflow-wrap:break-word;padding:0;transition:height .18s cubic-bezier(.32,.72,0,1),color .42s cubic-bezier(.16,1,.3,1);scrollbar-width:none}.hsk-cb-textarea::-webkit-scrollbar{width:0;height:0}.hsk-cb-textarea::placeholder{color:var(--hsk-chat-muted, #9ca3af);font-family:var(--hsk-font);font-size:var(--hsk-ph-font-size, var(--hsk-input-font-size, 16px))}.hsk-cb-attach-btn,.hsk-cb-send,.hsk-chat-send{width:36px;height:36px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;border:none;cursor:pointer;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s cubic-bezier(.34,1.56,.64,1),background-color .42s cubic-bezier(.16,1,.3,1),opacity .2s ease;font-family:inherit;margin:0;padding:0}.hsk-cb-send,.hsk-chat-send{background:linear-gradient(135deg,#007aff,#0056b3);color:#fff;border-radius:12px!important;box-shadow:0 4px 14px #007aff61,inset 0 1px color-mix(in srgb,var(--hsk-chat-bg, #fff) 35%,transparent);position:relative;overflow:hidden}.hsk-cb-send .hsk-telegram-icon,.hsk-chat-send .hsk-telegram-icon{transition:transform .25s cubic-bezier(.34,1.56,.64,1)}.hsk-cb-send:hover:not(:disabled),.hsk-chat-send:hover:not(:disabled){opacity:1;transform:translateY(-1px) scale(1.05);box-shadow:0 6px 18px #007aff7a,inset 0 1px color-mix(in srgb,var(--hsk-chat-bg, #fff) 45%,transparent)}.hsk-cb-send:hover:not(:disabled) .hsk-telegram-icon,.hsk-chat-send:hover:not(:disabled) .hsk-telegram-icon{transform:translate(2px,-2px) rotate(-10deg) scale(1.1)}.hsk-cb-send:active:not(:disabled),.hsk-chat-send:active:not(:disabled){transform:translateY(0) scale(.94);box-shadow:0 1px 4px #007aff4d}.hsk-cb-send:disabled,.hsk-chat-send:disabled{opacity:.4;cursor:not-allowed;background:var(--hsk-chat-muted, #ccc);box-shadow:none}.hsk-cb-send--stop{background:#e5342a!important}.hsk-cb-send--stop:hover{background:#c92a21!important;opacity:1}.hsk-cb-field{position:relative;grid-area:field;display:flex;align-items:center;width:100%;min-width:0;--hsk-input-font-size: 16px;--hsk-input-line-height: 1.55;--hsk-input-control: 36px;--hsk-input-line-box: calc(var(--hsk-input-font-size) * var(--hsk-input-line-height))}.hsk-cb-listening{position:absolute;inset:0;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.hsk-cb-listening span{width:2px;height:2px;border-radius:999px;background:var(--hsk-primary, #ff6a33);opacity:.3;transform-origin:center;will-change:transform,opacity;transition:transform 90ms linear,opacity 90ms linear}.hsk-animated-placeholder{position:absolute;inset:0;display:flex;flex-wrap:wrap;align-items:center;align-content:center;row-gap:1px;height:100%;pointer-events:none;overflow:hidden;user-select:none;padding:0;z-index:1}.hsk-cb-input-box>*{--hsk-cascade-ease: cubic-bezier(.45, 0, .55, 1);--hsk-cascade-dur: .44s;--hsk-cascade-step: 55ms}.hsk-cb-input-box[data-cascade]>*:not([type=file]):not(.hsk-cb-field){animation-duration:var(--hsk-cascade-dur);animation-timing-function:var(--hsk-cascade-ease);animation-fill-mode:none}.hsk-cb-input-box[data-cascade=a]>*:not([type=file]):not(.hsk-cb-field){animation-name:hsk-leaf-settle-a}.hsk-cb-input-box[data-cascade=b]>*:not([type=file]):not(.hsk-cb-field){animation-name:hsk-leaf-settle-b}.hsk-cb-input-box[data-cascade]>*:not([type=file]):not(.hsk-cb-field),.hsk-animated-placeholder__char{will-change:transform}.hsk-cb-input-box:hover>*,.hsk-cb-input-box:focus-within>*{will-change:auto}.hsk-cb-input-box>*{--hsk-cascade-field: .11s}.hsk-cb-input-box[data-cascade]>.hsk-cb-attach-btn{animation-delay:0ms}.hsk-cb-input-box[data-cascade]>.hsk-cb-voice-mode-btn{animation-delay:calc(var(--hsk-cascade-field) + var(--hsk-text-sweep, 0ms))}.hsk-cb-input-box[data-cascade]>.hsk-cb-send,.hsk-cb-input-box[data-cascade]>.hsk-chat-send{animation-delay:calc(var(--hsk-cascade-field) + var(--hsk-text-sweep, 0ms) + var(--hsk-cascade-step))}@keyframes hsk-leaf-settle-a{0%{transform:translateY(0) scale(1)}42%{transform:translateY(-3px) scale(1.05)}to{transform:translateY(0) scale(1)}}@keyframes hsk-leaf-settle-b{0%{transform:translateY(0) scale(1)}42%{transform:translateY(-3px) scale(1.05)}to{transform:translateY(0) scale(1)}}.hsk-cb-input-box>.hsk-cb-field .hsk-animated-placeholder__char{animation-name:hsk-placeholder-animate-up}@media(prefers-reduced-motion:reduce){.hsk-cb-input-box[data-cascade=a]>*,.hsk-cb-input-box[data-cascade=b]>*{animation:none;transform:none;opacity:1}.hsk-cb-textarea,.hsk-cb-input-card{transition-property:background-color,box-shadow}}.hsk-animated-placeholder[data-fit="2"]{--hsk-ph-font-size: 15px}.hsk-animated-placeholder[data-fit="3"]{--hsk-ph-font-size: 14px}.hsk-cb-field{transition:min-block-size .26s cubic-bezier(.16,1,.3,1)}.hsk-cb-field[data-ph-lines="2"]{min-block-size:48px}.hsk-animated-placeholder__char{display:inline-block;font-size:var(--hsk-ph-font-size, var(--hsk-input-font-size, 16px));line-height:var(--hsk-input-line-height, 1.55);color:var(--hsk-chat-muted, #9ca3af);font-family:var(--hsk-font);white-space:pre;animation:hsk-placeholder-animate-up .46s cubic-bezier(.16,1,.3,1) both}@keyframes hsk-placeholder-animate-up{0%{opacity:0;transform:translateY(9px);color:hsl(var(--hsk-ph-hue, 0) var(--hsk-ph-sat, 68%) var(--hsk-ph-light, 55%))}55%{opacity:1;color:hsl(var(--hsk-ph-hue, 0) var(--hsk-ph-sat, 68%) var(--hsk-ph-light, 55%))}to{opacity:1;transform:translateY(0);color:var(--hsk-chat-muted, #9ca3af)}}@media(prefers-reduced-motion:reduce){.hsk-animated-placeholder__char{animation:none;transform:none;opacity:1;color:var(--hsk-chat-muted, #9ca3af);animation-delay:0ms!important}}.hsk-cb-voice-error{display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;line-height:1.45;width:fit-content;max-width:min(92%,520px);margin-inline:auto;margin:8px auto 0;text-align:center;text-wrap:balance;color:#ff6b6b;padding:3px 8px;border-radius:0;background:transparent;border:none;border-bottom:1px solid rgba(229,72,77,.35);cursor:pointer;animation:hsk-msg-in .2s ease-out both}.hsk-cb-voice-error span{text-align:center}.hsk-cb-voice-error-dismiss{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;border:none;background:#ffffff1f;color:inherit;font-size:14px;line-height:1;cursor:pointer;padding:0;flex-shrink:0;transition:background .15s ease,transform .15s ease}.hsk-cb-voice-error-dismiss:hover{background:#ffffff40;transform:scale(1.1)}.hsk-cb-img-strip{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 18px 2px;background:transparent;border:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;animation:hsk-msg-in .2s ease-out both}.hsk-cb-img-thumb-wrap{position:relative;width:60px;height:60px;flex-shrink:0;border-radius:12px;box-shadow:0 2px 8px #00000014,0 0 0 1px color-mix(in srgb,var(--hsk-chat-bg, #fff) 12%,transparent);transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s cubic-bezier(.16,1,.3,1);overflow:visible}.hsk-cb-img-thumb-wrap:hover{transform:translateY(-2px);box-shadow:0 6px 14px #0000001f,0 0 0 1px color-mix(in srgb,var(--hsk-chat-bg, #fff) 20%,transparent)}.hsk-cb-img-thumb{width:100%;height:100%;object-fit:cover;border-radius:12px;border:none;display:block}.hsk-cb-img-thumb-remove{position:absolute;top:-5px;inset-inline-end:-5px;width:18px;height:18px;border-radius:50%;background:#141418bf;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#fff;border:1px solid rgba(255,255,255,.25);box-shadow:0 2px 6px #00000040;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:transform .15s cubic-bezier(.16,1,.3,1),background-color .15s ease;z-index:2}.hsk-cb-img-thumb-remove:hover{background:#ef4444eb;border-color:#fff6;transform:scale(1.15)}.hsk-cb-attach-btn,.hsk-cb-voice-mode-btn{position:relative;width:36px;height:36px;border-radius:12px;border:none!important;outline:none!important;background:transparent;color:var(--hsk-chat-muted, #71717a);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:none!important;opacity:.75;transition:transform .35s cubic-bezier(.34,1.8,.64,1),background-color .2s ease,color .2s ease,opacity .2s ease;font-family:inherit;overflow:visible}.hsk-cb-attach-btn:hover:not(:disabled),.hsk-cb-voice-mode-btn:hover:not(:disabled){opacity:1;color:var(--hsk-chat-text, #1f1f1f);background:transparent;transform:translateY(-1px)}.hsk-cb-attach-btn:active:not(:disabled),.hsk-cb-voice-mode-btn:active:not(:disabled){transform:translateY(0) scale(.94);transition-duration:.1s}.hsk-cb-attach-btn svg,.hsk-cb-voice-mode-btn svg{overflow:visible}.hsk-cb-attach-btn svg{transition:transform .34s cubic-bezier(.22,1,.36,1)}.hsk-cb-attach-btn:hover:not(:disabled) svg{transform:rotate(-14deg) translateY(-1px)}.hsk-mic-cap{transform-box:fill-box;transform-origin:center;transition:transform .32s cubic-bezier(.34,1.56,.64,1)}.hsk-wave-bar{transform-box:fill-box;transform-origin:center;transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.hsk-cb-voice-mode-btn:hover:not(:disabled) .hsk-wave-bar{animation:hsk-wave-wake .52s cubic-bezier(.34,1.8,.64,1) both,hsk-wave-live var(--hsk-period, 1.1s) ease-in-out .52s infinite;animation-delay:calc(var(--hsk-bar, 0) * 55ms),calc(.52s + var(--hsk-bar, 0) * 55ms)}.hsk-cb-voice-mode-btn:hover:not(:disabled) .hsk-wave-bar--tip{animation-name:hsk-wave-wake-tip,hsk-wave-live-tip}@keyframes hsk-wave-wake{0%{transform:scaleY(.12)}55%{transform:scaleY(calc(var(--hsk-amp, 1.6) * 1.12))}to{transform:scaleY(1)}}@keyframes hsk-wave-live{0%,to{transform:scaleY(1)}30%{transform:scaleY(var(--hsk-amp, 1.6))}55%{transform:scaleY(calc(1 + (var(--hsk-amp, 1.6) - 1) * .22))}78%{transform:scaleY(calc(1 + (var(--hsk-amp, 1.6) - 1) * .62))}}@keyframes hsk-wave-wake-tip{0%{transform:scaleX(.2);opacity:.4}55%{transform:scaleX(calc(var(--hsk-amp, 1.9) * 1.1));opacity:1}to{transform:scaleX(1);opacity:.8}}@keyframes hsk-wave-live-tip{0%,to{transform:scaleX(1);opacity:.7}30%{transform:scaleX(var(--hsk-amp, 1.9));opacity:1}70%{transform:scaleX(1.15);opacity:.8}}.hsk-copy-sheet,.hsk-copy-back{transform-box:fill-box;transform-origin:center;transition:transform .3s cubic-bezier(.22,1,.36,1)}.hsk-cb-kiku-id-pill:hover .hsk-copy-sheet,.hsk-cb-toolsheet-pub:is(:hover,:active) .hsk-copy-sheet,.hsk-cb-secret-key:is(:hover,:active) .hsk-copy-sheet{transform:translate(.9px,.9px)}.hsk-cb-kiku-id-pill:hover .hsk-copy-back,.hsk-cb-toolsheet-pub:is(:hover,:active) .hsk-copy-back,.hsk-cb-secret-key:is(:hover,:active) .hsk-copy-back{transform:translate(-.9px,-.9px)}@media(prefers-reduced-motion:reduce){.hsk-cb-attach-btn:hover:not(:disabled) svg,.hsk-cb-kiku-id-pill:hover .hsk-copy-sheet,.hsk-cb-kiku-id-pill:hover .hsk-copy-back,.hsk-cb-toolsheet-pub:is(:hover,:active) :is(.hsk-copy-sheet,.hsk-copy-back),.hsk-cb-secret-key:is(:hover,:active) :is(.hsk-copy-sheet,.hsk-copy-back){transform:none}.hsk-cb-voice-mode-btn:hover:not(:disabled) .hsk-wave-bar{animation:none}}.hsk-cb-attach-btn:disabled,.hsk-cb-voice-mode-btn:disabled{opacity:.3;cursor:not-allowed;transform:none}.hsk-cb-user-imgs{display:grid;gap:2px;width:fit-content;max-width:min(78%,320px);margin-bottom:4px;margin-left:auto;border-radius:18px 18px 4px;overflow:hidden;box-shadow:0 4px 16px #00000029}.hsk-cb-user-imgs[data-count="1"]{grid-template-columns:1fr}.hsk-cb-user-imgs[data-count="2"]{grid-template-columns:1fr 1fr}.hsk-cb-user-imgs[data-count="3"]{grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr}.hsk-cb-user-imgs[data-count="3"]>:first-child{grid-row:span 2}.hsk-cb-user-imgs[data-count="4"]{grid-template-columns:1fr 1fr}.hsk-cb-user-img-cell{position:relative;display:block;padding:0;border:none;background:none;cursor:pointer;overflow:hidden;min-width:0;line-height:0}.hsk-cb-user-imgs[data-count="1"] .hsk-cb-user-img-cell{aspect-ratio:auto}.hsk-cb-user-imgs:not([data-count="1"]) .hsk-cb-user-img-cell{aspect-ratio:1}.hsk-cb-user-img-more{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#00000073;color:#fff;font-size:20px;font-weight:600;line-height:1}.hsk-cb-user-img-thumb{width:100%;height:100%;object-fit:cover;display:block;cursor:pointer}.hsk-cb-user-imgs[data-count="1"] .hsk-cb-user-img-thumb{height:auto;max-height:300px;object-fit:contain}.hsk-cb-user-img-cell:hover .hsk-cb-user-img-thumb{filter:brightness(.93)}.hsk-cb-leave{position:relative;z-index:1002;display:inline-flex;flex-wrap:nowrap;white-space:nowrap;align-items:center;gap:8px;width:fit-content;max-width:calc(100% - 24px);margin-bottom:-11px;margin-inline-start:14px;padding:3px 4px 3px 12px;border-radius:999px;background:var(--hsk-chat-ai-bg, #eeeef0);color:var(--hsk-chat-text, #111827);box-shadow:0 0 0 3px var(--hsk-chat-bg, #ffffff);font:600 12px/24px var(--hsk-font);animation:hsk-leave-in .18s cubic-bezier(.16,1,.3,1) both}@keyframes hsk-leave-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.hsk-cb-leave+.hsk-cb-input-card>*{opacity:.45;transition:opacity .15s}.hsk-cb-leave-btn{height:24px;padding:0 11px;border:none;border-radius:999px;background:#80808029;color:inherit;font:600 12px var(--hsk-font);cursor:pointer;transition:opacity .15s}.hsk-cb-leave-btn:hover{opacity:.88}.hsk-cb-leave-btn--end{background:var(--hsk-primary, #ff6a33);color:#fff}.hsk-cb-error{display:block;width:fit-content;max-width:min(560px,100%);margin:10px auto 8px;padding:10px 14px;border-radius:10px;background:#ef444414;border:1px solid rgba(239,68,68,.2);color:#ef4444;font-size:13px;line-height:1.5;font-family:var(--hsk-font);text-align:center}.hsk-kiku-badge{display:inline-block;font-size:var(--hsk-font-size, 16px);font-family:var(--hsk-font);font-weight:600;background:#ffffff38;border:1px solid rgba(255,255,255,.35);color:#fff;padding:1px 7px;border-radius:6px;margin-inline-end:6px}.hsk-cb-memory-pill{display:inline-flex;align-items:center;gap:10px;align-self:flex-start;margin:12px 0 6px;padding:12px 22px;font-size:15px;font-weight:600;text-decoration:none;color:#fff;background:linear-gradient(135deg,#007aff,#0056b3);border:none;border-radius:18px 18px 18px 4px!important;box-shadow:0 4px 16px -2px #007aff61,inset 0 1px color-mix(in srgb,var(--hsk-chat-bg, #fff) 28%,transparent);transition:transform .18s cubic-bezier(.34,1.56,.64,1),opacity .15s,box-shadow .18s ease;cursor:pointer}.hsk-cb-memory-pill:hover{opacity:.96;transform:translateY(-1px) scale(1.02);box-shadow:0 6px 20px #007aff7a}.hsk-cb-think{position:relative;z-index:2;margin-bottom:-11px;margin-inline-start:0;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-cb-msg-group[data-hsk-tapback-focus]{position:relative;z-index:2;pointer-events:none}.hsk-tapback-frost{z-index:1;position:absolute;left:0;right:0;pointer-events:none;background:color-mix(in srgb,var(--hsk-chat-bg, #fff) 24%,transparent);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);-webkit-mask-image:var(--hsk-tapback-feather);mask-image:var(--hsk-tapback-feather);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;animation:hsk-scrim-in .2s cubic-bezier(.16,1,.3,1) both}.hsk-tapback-frost.is-upper{--hsk-tapback-feather: linear-gradient(to bottom, transparent, rgba(0, 0, 0, .03) 6px, rgba(0, 0, 0, .16) 16px, rgba(0, 0, 0, .5) 32px, rgba(0, 0, 0, .84) 48px, rgba(0, 0, 0, .97) 58px, #000 64px)}.hsk-tapback-frost.is-lower{--hsk-tapback-feather: linear-gradient(to top, transparent, rgba(0, 0, 0, .03) 6px, rgba(0, 0, 0, .16) 16px, rgba(0, 0, 0, .5) 32px, rgba(0, 0, 0, .84) 48px, rgba(0, 0, 0, .97) 58px, #000 64px)}.hsk-tapback-frost.is-closing{animation:hsk-scrim-out .19s cubic-bezier(.4,0,1,1) both}@media(prefers-reduced-motion:reduce){.hsk-tapback-overlay *,.hsk-tapback-overlay.is-closing *,.hsk-tapback-frost,.hsk-tapback-frost.is-closing{animation:none!important;transition:none!important}}.hsk-tapback-group{position:absolute;z-index:1002;outline:none;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:100%;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{min-width:0;flex:1 1 auto;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 span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hsk-tapback-tool-btn svg{flex-shrink:0}.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}.hsk-tapback-group.is-docked .hsk-tapback-tail{display:none}@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-text, #111) 12%,transparent);cursor:pointer;transition:color .2s ease,background-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}@media(hover:hover){.hsk-cb-sound-pill:hover{background:color-mix(in srgb,var(--hsk-chat-text, #111) 7%,transparent);color:var(--hsk-primary, #ff6a33)}}.hsk-cb-topbar-ooze-menu .hsk-cb-tray-aside{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}.hsk-cb-topbar-ooze-menu .hsk-cb-tray-rule{width:13px;height:1px;background:var(--hsk-chat-muted, #71717a);opacity:.25}.hsk-cb-sound-pill.is-compact{width:26px;height:26px;padding:0;gap:0;justify-content:center;border-radius:9px}.hsk-cb-topbar-ooze-menu .hsk-cb-tray-aside{width:14px;flex:0 0 14px}.hsk-cb-topbar-ooze-menu .hsk-cb-tray-aside .hsk-cb-sound-pill{width:14px;height:14px;border:none;background:none;backdrop-filter:none;-webkit-backdrop-filter:none;border-radius:0;opacity:.45}.hsk-cb-topbar-ooze-menu .hsk-cb-tray-aside .hsk-cb-sound-pill.is-on{opacity:.75}.hsk-cb-topbar-ooze-menu .hsk-cb-tray-aside .hsk-cb-sound-pill:hover{transform:none}.hsk-cb-topbar-ooze-menu .hsk-cb-tray-aside .hsk-cb-sound-pill svg{width:12px;height:12px}.hsk-cb-topbar-ooze-menu .hsk-cb-theme-2x2-grid{flex:1 1 auto!important}.hsk-cb-sound-pill.is-blocked{color:#ef4444!important;opacity:1!important}.hsk-cb-panel[dir=rtl] .hsk-cb-topbar-ooze-menu .hsk-cb-theme-vlabel{transform:none}.hsk-markdown-table td.hsk-md-ok,[data-hsk-theme] .hsk-markdown-table td.hsk-md-ok{color:color-mix(in srgb,#10b981 72%,var(--hsk-chat-text, #111))!important;font-weight:600}.hsk-markdown-table td.hsk-md-bad,[data-hsk-theme] .hsk-markdown-table td.hsk-md-bad{color:color-mix(in srgb,#ef4444 72%,var(--hsk-chat-text, #111))!important;font-weight:600}@media(max-width:1199px){.hsk-cb-topbar-ooze-menu.is-island,.hsk-cb-topbar-ooze-menu.is-island.is-closing{animation:none;will-change:clip-path}.hsk-cb-topbar-ooze-menu.is-island>*{opacity:var(--hsk-island-content, 1)}}.hsk-cb-topbar-ooze-menu.is-parked,.hsk-cb-tray-shadow.is-parked{visibility:hidden;pointer-events:none;opacity:0!important}[data-hsk-theme] .hsk-cb-topbar-ooze-menu.is-parked,.hsk-cb-topbar-ooze-menu.is-parked{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:none!important}.hsk-cb-tray-shadow.is-parked>div{box-shadow:none!important}.hsk-cb-tray-shadow{position:absolute;top:var(--hsk-tray-top, 0px);left:50%;transform:translate(-50%);width:var(--hsk-tray-w, 0px);height:var(--hsk-tray-h, 0px);z-index:1000;pointer-events:none}.hsk-cb-tray-shadow>div{position:absolute;left:0;top:0;width:100%;height:100%;border-radius:18px;box-shadow:0 16px 38px -6px color-mix(in srgb,#000 16%,transparent)}.hsk-cb-allowance{display:flex;flex-wrap:wrap;gap:6px;margin-block-start:8px;pointer-events:none}@media(min-width:1200px){.hsk-cb-allowance{flex-direction:column;flex-wrap:nowrap;align-items:flex-start;gap:12px;position:absolute;bottom:48px;width:auto;max-width:200px;margin-block-start:0;z-index:10;direction:ltr}.hsk-cb-allowance--right{left:100%!important;right:auto!important;margin-left:28px!important;margin-right:0!important;align-items:flex-start}.hsk-cb-allowance--left{left:auto!important;right:100%!important;margin-right:28px!important;margin-left:0!important;align-items:flex-end}}.hsk-cb-allowance-pill{display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 13px;border-radius:999px;font-family:inherit;font-size:11.5px;font-weight:550;letter-spacing:-.01em;line-height:1;white-space:nowrap;color:var(--hsk-chat-text)!important;background:color-mix(in srgb,var(--hsk-chat-bg, #ffffff) 68%,transparent)!important;backdrop-filter:blur(28px) saturate(var(--hsk-glass-saturate, 180%));-webkit-backdrop-filter:blur(28px) saturate(var(--hsk-glass-saturate, 180%));border:1px solid color-mix(in srgb,var(--hsk-chat-border, rgba(255, 255, 255, .35)) 35%,transparent)!important;border-top:1px solid color-mix(in srgb,var(--hsk-chat-bg, #fff) 70%,transparent)!important;border-bottom:1px solid color-mix(in srgb,#000 8%,transparent)!important;box-shadow:0 4px 18px -2px color-mix(in srgb,#000 14%,transparent),0 1px color-mix(in srgb,var(--hsk-chat-bg, #fff) 45%,transparent) inset!important;animation:hsk-allowance-in .34s cubic-bezier(.22,1,.36,1) both;transition:all .2s cubic-bezier(.16,1,.3,1);cursor:default}.hsk-cb-allowance-pill:hover{background:color-mix(in srgb,var(--hsk-chat-bg, #ffffff) 82%,transparent)!important;border-top-color:color-mix(in srgb,var(--hsk-chat-bg, #fff) 85%,transparent)!important;transform:translateY(-1px);box-shadow:0 6px 20px -2px color-mix(in srgb,#000 18%,transparent),0 1px color-mix(in srgb,var(--hsk-chat-bg, #fff) 60%,transparent) inset!important}.hsk-cb-allowance-pill-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--hsk-primary, #6366f1);opacity:.95}.hsk-cb-allowance-pill-icon svg{width:12.5px;height:12.5px}.hsk-cb-allowance-pill-label{font-family:inherit;letter-spacing:-.01em}.hsk-cb-allowance-pill.is-spent{opacity:.5;filter:grayscale(.6)}@keyframes hsk-allowance-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.hsk-cb-allowance-pill{animation:none}}.hsk-cb-onboarding-card .hsk-cb-entlang-opt{padding-inline:2px 0}.hsk-cb-secret-card{display:flex;flex-direction:column;gap:8px;max-width:340px}.hsk-cb-secret-head{display:flex;align-items:center;gap:8px}.hsk-cb-secret-title{flex:1;font-size:13px;font-weight:600;color:var(--hsk-chat-text, #111)}.hsk-cb-secret-timer{font-size:11px;font-variant-numeric:tabular-nums;color:var(--hsk-chat-muted, #6b7280)}.hsk-cb-secret-dismiss{display:grid;place-items:center;width:24px;height:24px;padding:0;font-size:15px;line-height:1;color:var(--hsk-chat-text, #111);background:color-mix(in srgb,var(--hsk-chat-text, #111) 8%,transparent);border:0;border-radius:50%;cursor:pointer}.hsk-cb-secret-key{display:flex;align-items:center;gap:10px;width:100%;padding:8px 8px 8px 14px;border:1px solid color-mix(in srgb,var(--hsk-chat-text, #111) 10%,transparent);border-radius:999px;background:color-mix(in srgb,var(--hsk-chat-bg, #fff) 70%,transparent);cursor:pointer}.hsk-cb-secret-key code{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;text-align:start;color:var(--hsk-chat-text, #111)}.hsk-cb-secret-copy{display:inline-flex;align-items:center;gap:5px;flex-shrink:0;padding:5px 12px;font-size:12px;font-weight:600;color:#fff;background:var(--hsk-primary, #ff6a33);border-radius:999px}.hsk-cb-secret-hint{font-size:11px;color:var(--hsk-chat-muted, #6b7280)}.hsk-cb-swatch-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:10px;max-width:460px;margin-top:10px}.hsk-cb-swatch{display:flex;flex-direction:column;gap:2px;padding:0 0 8px;text-align:start;background:var(--hsk-chat-source-bg, rgba(0, 0, 0, .03));border:1px solid color-mix(in srgb,var(--hsk-chat-text, #111) 8%,transparent);border-radius:14px;overflow:hidden;cursor:pointer;animation:hsk-msg-in .25s ease-out both;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s ease}.hsk-cb-swatch--target{cursor:default;background:transparent;border-style:dashed;border-color:color-mix(in srgb,var(--hsk-chat-text, #111) 28%,transparent)}.hsk-cb-swatch--target .hsk-cb-swatch-name{color:var(--hsk-chat-muted, #6b7280)}.hsk-cb-swatch:not(.hsk-cb-swatch--target):hover{transform:translateY(-2px);box-shadow:0 10px 24px -12px color-mix(in srgb,#000 35%,transparent)}.hsk-cb-swatch-chip{display:block;aspect-ratio:1 / .8;margin-bottom:6px;box-shadow:inset 0 -1px color-mix(in srgb,#000 8%,transparent)}.hsk-cb-swatch-name{padding:0 10px;font-size:12px;font-weight:600;line-height:1.3;color:var(--hsk-chat-text, #111);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hsk-cb-swatch-code{padding:0 10px;font-size:11px;font-variant-numeric:tabular-nums;letter-spacing:.02em;color:var(--hsk-chat-muted, #6b7280)}@media(prefers-reduced-motion:reduce){.hsk-cb-swatch,.hsk-cb-swatch:hover{animation:none;transform:none}}.hsk-gallery-cover{position:relative;display:block;width:100%;border:0;padding:0;cursor:pointer;background:transparent}.hsk-gallery-cover img{width:100%;height:100%;object-fit:cover}.hsk-gallery-count{position:absolute;bottom:6px;right:6px;padding:3px 7px;border-radius:10px;background:#000000b8;color:#fff;font-size:11px}.hsk-gallery-cover:focus-visible{outline:2px solid var(--hsk-primary,#ff6a33);outline-offset:3px}.hsk-cb-layout-toggle{gap:7px;height:32px;min-height:32px;padding:0 10px 0 5px;box-sizing:border-box}.hsk-cb-layout-toggle:focus-visible{outline:2px solid var(--hsk-primary, #007aff);outline-offset:3px}.hsk-cb-layout-track{display:block;position:relative;width:32px;height:20px;border-radius:20px;background:var(--hsk-chat-ai-bg, #ddd);transition:background-color .32s ease}.hsk-cb-layout-thumb{position:absolute;inset-block-start:3px;inset-inline-start:3px;display:grid;place-items:center;width:14px;height:14px;border-radius:50%;background:#fff;color:#454545;box-shadow:0 1px 4px #0003;transition:inset-inline-start .38s cubic-bezier(.22,1,.36,1),scale .18s ease}.hsk-cb-layout-toggle[aria-checked=true] .hsk-cb-layout-track{background:var(--hsk-primary, #007aff)}.hsk-cb-layout-toggle[aria-checked=true] .hsk-cb-layout-thumb{inset-inline-start:15px}.hsk-cb-layout-toggle:active .hsk-cb-layout-thumb{scale:1.12 .92}.hsk-cb-speaker-label{display:none}[data-hsk-layout=wide] .hsk-cb-speaker-label{display:block;margin-block:12px 6px;font-size:11px;font-weight:650;color:var(--hsk-chat-muted, #71717a)}[data-hsk-layout=wide] .hsk-cb-ai-text{width:100%!important;max-width:100%;box-sizing:border-box;padding:0;border-radius:0;background:transparent;box-shadow:none;border:0;color:var(--hsk-chat-text, #111827);line-height:1.65}[data-hsk-layout=wide] .hsk-cb-ai-text:before,[data-hsk-layout=wide] .hsk-cb-ai-text:after{display:none}[data-hsk-layout=wide] .hsk-cb-ai-content{gap:12px}@media(prefers-reduced-motion:reduce){.hsk-cb-layout-track,.hsk-cb-layout-thumb{transition:none}}.hsk-cb-dock-layout{display:flex;justify-content:flex-end;padding:10px 0 2px}.hsk-cb-dock-layout .hsk-cb-layout-toggle{min-height:40px}[data-hsk-theme][data-hsk-layout=wide] .hsk-cb-ai-text{background:transparent!important;color:var(--hsk-chat-text, #111827)!important}.hsk-cb-rail-pair{display:flex;align-items:center;gap:8px}[data-hsk-layout=wide] .hsk-cb-think{margin-bottom:6px}[data-hsk-theme] .hsk-cb-dock-layout .hsk-cb-layout-toggle{background:var(--hsk-grid-bg)!important;color:var(--hsk-chat-muted)!important;border:none!important;box-shadow:none!important}[data-hsk-layout=wide] .hsk-cb-think+.hsk-cb-ai-content>.hsk-cb-ai-text:first-child{padding-top:0;margin-top:0}[data-hsk-layout=wide] .hsk-cb-think{margin-bottom:4px}.hsk-tapback-group.is-wide .hsk-tapback-tail{display:none}[data-hsk-theme] .hsk-cb-layout-toggle,[data-hsk-theme] .hsk-cb-dock-layout .hsk-cb-layout-toggle{background:transparent!important;border:none!important;box-shadow:none!important;color:var(--hsk-chat-text)!important}.hsk-cb-layout-track{background:color-mix(in srgb,currentColor 12%,transparent)}.hsk-cb-dock-layout{padding-top:4px}.hsk-cb-dock-layout .hsk-cb-layout-toggle{min-height:32px}.hsk-cb-dock-layout{align-items:center;justify-content:space-between;gap:12px}.hsk-cb-layout-label{padding-inline-start:12px;font-size:11px;font-weight:500;color:var(--hsk-chat-muted);opacity:.75}.hsk-cb-layout-label{text-transform:uppercase;letter-spacing:.07em}[data-hsk-theme] .hsk-cb-layout-toggle,[data-hsk-theme] .hsk-cb-dock-layout .hsk-cb-layout-toggle{padding:0 12px;background:var(--hsk-pill-bg)!important}.hsk-cb-layout-icon{display:inline-flex;align-items:center}[data-hsk-theme] .hsk-cb-layout-toggle[aria-checked=true]{color:var(--hsk-primary)!important}.hsk-cb-topbar-ooze-menu .hsk-cb-dock-layout{margin-inline:7px}.hsk-cb-topbar-ooze-menu .hsk-cb-layout-label{color:var(--hsk-chat-muted);opacity:.38;font-size:9px;font-weight:600;letter-spacing:.14em;padding-inline-start:0}.hsk-cb-layout-track{flex-shrink:0}[data-hsk-theme] .hsk-cb-layout-track{background:var(--hsk-grid-bg)}[data-hsk-theme] .hsk-cb-layout-thumb{background:var(--hsk-chat-bg);color:var(--hsk-chat-text)}[data-hsk-theme] .hsk-cb-layout-toggle[aria-checked=true] .hsk-cb-layout-track{background:var(--hsk-active-bg)}[data-hsk-theme] .hsk-cb-layout-toggle[aria-checked=true] .hsk-cb-layout-thumb{background:var(--hsk-on-active);color:var(--hsk-active-bg)}[data-hsk-theme] .hsk-cb-layout-toggle[aria-checked=true]{color:var(--hsk-chat-text)!important}.hsk-cb-topbar-ooze-menu .hsk-cb-theme-block{display:grid;grid-template-columns:14px minmax(0,1fr);column-gap:8px;row-gap:4px}.hsk-cb-topbar-ooze-menu .hsk-cb-theme-2x2-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))}.hsk-cb-topbar-ooze-menu .hsk-cb-theme-grid-item{width:100%;justify-content:center;min-width:0;padding-inline:6px}.hsk-cb-topbar-ooze-menu .hsk-cb-dock-layout{grid-column:2;margin:0;padding:0 0 2px;gap:6px}.hsk-cb-topbar-ooze-menu .hsk-cb-layout-label{font-size:7px;letter-spacing:.06em}.hsk-cb-external-links{display:grid;justify-items:center;gap:7px;width:100%;margin:18px auto}.hsk-cb-external-card{display:flex;align-items:center;gap:10px;box-sizing:border-box;width:fit-content;max-width:100%;min-height:44px;padding:8px 14px;border-radius:999px;color:var(--hsk-chat-text);text-decoration:none;transition:color .2s ease,transform .2s cubic-bezier(.16,1,.3,1)}.hsk-cb-external-card:hover{transform:translateY(-1px)}.hsk-cb-external-card:active{transform:translateY(0) scale(.99)}.hsk-cb-external-card:focus-visible{outline:2px solid var(--hsk-primary);outline-offset:4px}.hsk-cb-external-brand{display:flex;align-items:center;gap:7px;flex-shrink:0;padding-inline-end:10px;border-inline-end:1px solid var(--hsk-external-divider,rgba(128,128,128,.18));color:var(--hsk-external-muted,var(--hsk-chat-muted));font:500 11px/1.4 var(--hsk-font)}.hsk-cb-external-logo{display:grid;place-items:center;flex-shrink:0;width:20px;height:20px;color:var(--hsk-chat-muted);font:600 18px/1 var(--hsk-font)}.hsk-cb-external-logo img{width:20px;height:20px;object-fit:contain}.hsk-cb-external-identity{display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 8px;min-width:0}.hsk-cb-external-identity strong{color:var(--hsk-external-text,var(--hsk-chat-text));font:600 13px/1.4 var(--hsk-font);overflow-wrap:anywhere}.hsk-cb-external-identity>span{font:400 10px/1.4 var(--hsk-font);color:var(--hsk-chat-muted);overflow-wrap:anywhere}.hsk-cb-external-amount{padding-inline-start:0;margin-inline-start:2px;font:500 13px/1.4 var(--hsk-font);font-variant-numeric:tabular-nums;white-space:nowrap}.hsk-cb-external-notice{display:flex;align-items:center;justify-content:center;gap:7px;color:var(--hsk-chat-muted);font:400 11px/1.5 var(--hsk-font)}.hsk-cb-external-notice svg{width:22px;height:26px;flex-shrink:0;color:color-mix(in srgb,var(--hsk-primary) 55%,var(--hsk-chat-muted))}.hsk-cb-external-notice path{stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;animation:hsk-theme-arrow-draw .8s ease .2s both}@media(max-width:480px){.hsk-cb-external-card{gap:8px;padding:8px 12px}.hsk-cb-external-amount{font-size:13px}.hsk-cb-external-brand{padding-inline-end:10px}.hsk-cb-external-logo,.hsk-cb-external-logo img{width:20px;height:20px}}@media(prefers-reduced-motion:reduce){.hsk-cb-external-card{transition:none}.hsk-cb-external-card:hover,.hsk-cb-external-card:active{transform:none}.hsk-cb-external-notice path{animation:none}}.hsk-cb-external-card{--hsk-external-text: var(--hsk-chat-text);--hsk-external-muted: var(--hsk-chat-muted);--hsk-external-divider: color-mix(in srgb, var(--hsk-chat-text) 18%, transparent);position:relative;isolation:isolate;overflow:visible;background:transparent!important;color:var(--hsk-chat-text)!important;border:1px solid transparent!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.hsk-cb-external-amount{opacity:.78}.hsk-cb-external-card>*{position:relative;z-index:1}.hsk-cb-external-card>.hsk-cb-external-surface,.hsk-cb-external-card>.hsk-cb-external-outline{position:absolute;inset:-6px 0;width:100%;height:calc(100% + 12px);z-index:0;pointer-events:none}.hsk-cb-external-surface{clip-path:inset(6px 0 round 999px);background:radial-gradient(ellipse 65px 50px at var(--hsk-wave-x, -90px) 50%,rgba(255,255,255,.2),transparent),linear-gradient(155deg,var(--hsk-glass-sheen),transparent 55%),var(--hsk-glass-bg);backdrop-filter:blur(20px) saturate(var(--hsk-glass-saturate, 160%));-webkit-backdrop-filter:blur(20px) saturate(var(--hsk-glass-saturate, 160%))}.hsk-cb-external-outline{overflow:visible;filter:drop-shadow(0 4px 7px var(--hsk-glass-drop))}.hsk-cb-external-outline path{fill:none;stroke:var(--hsk-glass-edge);stroke-width:1;stroke-linejoin:round;shape-rendering:geometricPrecision}.hsk-cb-src-fields{display:flex;flex-wrap:wrap;align-items:flex-start;gap:4px;margin-top:5px}.hsk-cb-src-fields:empty{display:none}.hsk-cb-src-field{display:inline-flex;gap:4px;max-width:100%;min-width:0;padding:3px 7px;border-radius:9999px;background:var(--hsk-price-bg, #f1f1f1);color:var(--hsk-price-text, #333);font-size:11px;line-height:1.3;overflow-wrap:anywhere}.hsk-cb-src-field-label{font-weight:600;text-transform:capitalize}.hsk-cb-src-field-value{min-width:0}@keyframes hsk-card-in{0%{opacity:0;transform:scale(.96) translateY(-12px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes hsk-bar{0%{background-position:200% 0}to{background-position:-200% 0}}@media(max-width:768px){.hsk-cb-overlay{--hsk-font-size: var(--hsk-mobile-font-size, 14px) !important;position:fixed!important;inset:0!important;width:100vw!important;height:100%!important;height:var(--hsk-vvh, 100dvh)!important;min-height:0!important;z-index:2147483647!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;overscroll-behavior:contain!important;background:var(--hsk-chat-bg, #0a0a0a)!important;box-sizing:border-box!important}.hsk-cb-panel{position:relative!important;height:100%!important;width:100%!important;max-width:100%!important;margin:0!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;border-radius:0!important;background:var(--hsk-chat-bg, #0a0a0a)!important;box-sizing:border-box!important}.hsk-cb-main{flex:1 1 auto!important;height:100%!important;min-height:0!important;display:flex!important;flex-direction:column!important;justify-content:space-between!important;overflow:hidden!important;background:var(--hsk-chat-bg, #0a0a0a)!important;box-sizing:border-box!important}.hsk-cb-topbar{padding:14px 14px 8px!important}.hsk-cb-msgs{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;padding:10px 14px 0!important}.hsk-cb-empty{flex:1 0 auto!important;justify-content:center!important;padding:16px 4px!important}.hsk-cb-input-box{grid-template-columns:auto 1fr auto auto}.hsk-cb-input-box>.hsk-cb-attach-btn{display:none}.hsk-cb-input-box>.hsk-cb-voice-mode-btn{display:none}.hsk-cb-input-box>.hsk-cb-field{grid-column:2}.hsk-cb-input-box>.hsk-cb-voice-mode-btn{grid-column:3}.hsk-cb-input-box>.hsk-cb-send,.hsk-cb-input-box>.hsk-chat-send{grid-column:4}.hsk-cb-tools-toggle{display:flex;grid-column:1;grid-row:1;width:36px;height:36px;align-items:center;justify-content:center;flex-shrink:0;padding:0;border:none;border-radius:12px;background:var(--hsk-chat-subtle, rgba(0,0,0,.045));color:var(--hsk-chat-muted, #6b7280);cursor:pointer;transition:transform .26s cubic-bezier(.34,1.56,.64,1),background-color .2s ease}.hsk-cb-tools-toggle--open{transform:rotate(45deg);background:var(--hsk-chat-divide, rgba(0,0,0,.09))}.hsk-cb-toolsheet-wrap,.hsk-cb-toolsheet-scrim{display:block}.hsk-cb-toolsheet-item{display:flex}.hsk-cb-input-box[data-expanded=true]>.hsk-cb-tools-toggle{grid-row:2}.hsk-cb-ai-msg--inline{display:block!important;padding-inline-end:34px}.hsk-cb-hello-wrap{align-items:center!important;text-align:center!important;gap:4px!important;width:100%!important;max-width:min(520px,100%)!important;padding-inline:16px!important;box-sizing:border-box!important;margin-inline:auto!important}.hsk-cb-ink-skeleton{align-items:center!important}.hsk-cb-hello{font-size:clamp(21px,5.8vw,30px)!important;font-weight:600!important;line-height:1.25!important;letter-spacing:-.02em!important;color:var(--hsk-chat-muted, #8b8b8f)!important;text-align:center!important;text-wrap:balance;max-width:100%!important;overflow-wrap:break-word}.hsk-cb-hello-lead,.hsk-cb-hello-ask{font-size:14px!important;font-weight:400!important;line-height:1.45!important;text-align:center!important;text-wrap:balance;max-width:100%!important;overflow-wrap:break-word;color:color-mix(in srgb,var(--hsk-chat-muted, #8b8b8f) 78%,transparent)!important}.hsk-cb-hello-lead{font-size:14px!important;margin-top:4px!important}.hsk-cb-lang-chips{justify-content:center!important;width:100%!important;gap:8px!important;margin:12px 0 6px!important}.hsk-cb-lang-chips-hint{width:100%!important;justify-content:center!important;margin-top:6px!important;margin-inline-start:0!important}.hsk-cb-onboarding-head{justify-content:flex-start!important;margin-bottom:12px!important}.hsk-cb-onboarding-card .hsk-cb-hello-wrap{align-items:flex-start!important;text-align:start!important}.hsk-cb-onboarding-card .hsk-cb-hello,.hsk-cb-onboarding-card .hsk-cb-hello-lead,.hsk-cb-onboarding-card .hsk-cb-hello-ask,.hsk-cb-onboarding-card .hsk-cb-hello-hint{text-align:start!important}.hsk-cb-onboarding-card .hsk-cb-lang-chips,.hsk-cb-onboarding-card .hsk-cb-lang-chips-hint{justify-content:flex-start!important}.hsk-cb-doodles{opacity:.92!important}.hsk-cb-input-wrap{margin-top:auto!important;flex-shrink:0!important;--hsk-composer-pad-top: 8px;--hsk-composer-pad-x: 14px;padding:8px 14px!important;padding-bottom:max(12px,env(safe-area-inset-bottom))!important;background:var(--hsk-chat-bg, #0a0a0a)!important;position:relative!important;z-index:10!important}.hsk-cb-attach-btn,.hsk-cb-send,.hsk-chat-send{width:32px!important;height:32px!important;border-radius:8px!important}.hsk-cb-attach-btn svg,.hsk-cb-send svg,.hsk-chat-send svg{width:15px!important;height:15px!important}.hsk-cb-input-box{padding:10px 10px 10px 14px}.hsk-cb-user-bubble{max-width:85%}}.hsk-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:12px 0 8px;width:100%;max-width:100%;min-width:0;border-radius:0;padding:0 0 6px;background:transparent;box-shadow:none;box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--hsk-chat-divide, rgba(0, 0, 0, .2)) transparent;cursor:grab;user-select:auto;transition:mask-image .15s ease,-webkit-mask-image .15s ease}.hsk-table-wrapper.is-dragging{cursor:grabbing;user-select:none}.hsk-table-wrapper::-webkit-scrollbar{height:5px}.hsk-table-wrapper::-webkit-scrollbar-track{background:transparent}.hsk-table-wrapper::-webkit-scrollbar-thumb{background:var(--hsk-chat-divide, rgba(0, 0, 0, .25));border-radius:4px}.hsk-table-wrapper::-webkit-scrollbar-thumb:hover{background:var(--hsk-chat-muted, rgba(0, 0, 0, .5))}.hsk-cb-ai-text .hsk-markdown-p{margin:0 0 10px}.hsk-cb-ai-text .hsk-markdown-p:last-child{margin-bottom:0}.hsk-cb-ai-text .hsk-markdown-list{margin:0 0 10px;padding-inline-start:1.2em}.hsk-cb-ai-text .hsk-markdown-list:last-child{margin-bottom:0}.hsk-cb-ai-text .hsk-markdown-ul{list-style:disc outside}.hsk-cb-ai-text .hsk-markdown-ol{list-style:decimal outside}.hsk-cb-ai-text .hsk-markdown-list li{margin:0 0 7px;padding-left:3px;line-height:1.5}.hsk-cb-ai-text .hsk-markdown-list li:last-child{margin-bottom:0}.hsk-cb-ai-text .hsk-markdown-list li::marker{color:var(--hsk-primary, #ff6a33)}.hsk-cb-ai-text .hsk-markdown-h1,.hsk-cb-ai-text .hsk-markdown-h2,.hsk-cb-ai-text .hsk-markdown-h3{margin:14px 0 7px;font-weight:650;line-height:1.3;letter-spacing:-.01em}.hsk-cb-ai-text .hsk-markdown-h1{font-size:1.09em}.hsk-cb-ai-text .hsk-markdown-h2{font-size:1.03em}.hsk-cb-ai-text .hsk-markdown-h3{font-size:1em}.hsk-cb-ai-text>:first-child{margin-top:0}.hsk-markdown-table{width:max-content;min-width:100%;border-collapse:collapse;border-spacing:0;text-align:start;font-size:13px;background:transparent;margin:0;border:none;font-variant-numeric:tabular-nums}.hsk-markdown-table th{padding:8px 16px 6px;vertical-align:bottom;line-height:1.35;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;color:var(--hsk-chat-muted, rgba(0, 0, 0, .55));border-bottom:1px solid var(--hsk-chat-divide, rgba(0, 0, 0, .1));background:transparent!important}.hsk-markdown-table td{padding:8px 16px;vertical-align:middle;line-height:1.45;font-size:13px;white-space:nowrap;color:var(--hsk-chat-text, inherit);border-bottom:.5px solid var(--hsk-chat-divide, rgba(0, 0, 0, .06));background:transparent!important}.hsk-markdown-table th:first-child,.hsk-markdown-table td:first-child{padding-inline-start:0;font-weight:590;white-space:normal;max-width:280px;min-width:150px;line-height:1.35}.hsk-markdown-table th:last-child,.hsk-markdown-table td:last-child{padding-inline-end:0}.hsk-markdown-table tbody tr:last-child td{border-bottom:none}.hsk-markdown-table td *{color:inherit}.hsk-markdown-table .hsk-markdown-link{display:inline-flex;align-items:center;padding:2px 8px;background-color:var(--hsk-chat-source-bg, rgba(0, 0, 0, .04));border:1px solid var(--hsk-chat-divide, rgba(0, 0, 0, .08));color:var(--hsk-primary, #ff6a33);font-size:12px;font-weight:500;border-radius:6px;text-decoration:none!important;margin:2px 0;transition:opacity .15s ease}.hsk-markdown-table .hsk-markdown-link:hover{opacity:.8}@media(prefers-color-scheme:dark){.hsk-markdown-table th{color:var(--hsk-chat-muted, rgba(255, 255, 255, .5));border-bottom-color:var(--hsk-chat-divide, rgba(255, 255, 255, .1))}.hsk-markdown-table td{color:var(--hsk-chat-text, #f0efed);border-bottom-color:var(--hsk-chat-divide, rgba(255, 255, 255, .06))}}.hsk-markdown-link{color:var(--hsk-primary, #ff6a33);text-decoration:underline;text-underline-offset:2px}.hsk-markdown-code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace,var(--hsk-font);font-size:.85em;background-color:#80808026;padding:.2em .4em;border-radius:var(--hsk-border-radius, 0px);color:inherit;word-break:break-word}.hsk-markdown-img-block{margin:8px 0;line-height:0}.hsk-markdown-img{display:block;max-width:100%;width:auto;max-height:220px;border-radius:10px;box-shadow:0 2px 12px #0000002e;object-fit:cover;background:#80808014}.hsk-chat-widget ::-webkit-scrollbar,.hsk-sp-card ::-webkit-scrollbar,.hsk-cb-msgs ::-webkit-scrollbar,.hsk-sp-details-pane ::-webkit-scrollbar,.hsk-sp-results ::-webkit-scrollbar,.hsk-chat-messages ::-webkit-scrollbar{width:3px;height:3px}.hsk-chat-widget ::-webkit-scrollbar-track,.hsk-sp-card ::-webkit-scrollbar-track,.hsk-cb-msgs ::-webkit-scrollbar-track,.hsk-sp-details-pane ::-webkit-scrollbar-track,.hsk-sp-results ::-webkit-scrollbar-track,.hsk-chat-messages ::-webkit-scrollbar-track{background:transparent}.hsk-chat-widget ::-webkit-scrollbar-thumb,.hsk-sp-card ::-webkit-scrollbar-thumb,.hsk-cb-msgs ::-webkit-scrollbar-thumb,.hsk-sp-details-pane ::-webkit-scrollbar-thumb,.hsk-sp-results ::-webkit-scrollbar-thumb,.hsk-chat-messages ::-webkit-scrollbar-thumb{background:#0000000f;border-radius:99px;transition:background .2s ease}.hsk-chat-widget ::-webkit-scrollbar-thumb:hover,.hsk-cb-msgs ::-webkit-scrollbar-thumb:hover{background:#00000026}@media(prefers-color-scheme:dark){.hsk-chat-widget ::-webkit-scrollbar-thumb,.hsk-sp-card ::-webkit-scrollbar-thumb,.hsk-cb-msgs ::-webkit-scrollbar-thumb,.hsk-sp-details-pane ::-webkit-scrollbar-thumb,.hsk-sp-results ::-webkit-scrollbar-thumb,.hsk-chat-messages ::-webkit-scrollbar-thumb{background:#ffffff14}.hsk-chat-widget ::-webkit-scrollbar-thumb:hover,.hsk-cb-msgs ::-webkit-scrollbar-thumb:hover{background:#fff3}}.hsk-cb-phone-form{display:flex;flex-direction:column;gap:8px;margin-top:8px}.hsk-cb-phone-label{font-size:.875rem;color:var(--hsk-chat-text, #111);margin:0}.hsk-cb-phone-input{width:100%;box-sizing:border-box;padding:8px 12px;border:1px solid var(--hsk-chat-divide, rgba(0,0,0,.12));border-radius:var(--hsk-border-radius, 0px);background:var(--hsk-chat-input-bg, rgba(0,0,0,.04));color:var(--hsk-chat-text, #111);font-size:.9rem;outline:none;transition:border-color .15s}.hsk-cb-phone-input::placeholder{color:var(--hsk-chat-muted, #888)}.hsk-cb-phone-input:focus{border-color:var(--hsk-primary, #ff6a33)}.hsk-cb-phone-submit{align-self:flex-start;padding:8px 16px;border:1px solid var(--hsk-chat-divide, rgba(0,0,0,.12));border-radius:var(--hsk-border-radius, 0px);background:transparent;color:var(--hsk-chat-text, #111);font-size:.875rem;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.hsk-cb-phone-submit:hover{border-color:var(--hsk-primary, #ff6a33);color:var(--hsk-primary, #ff6a33)}.hsk-cb-main{flex:1;min-width:0;display:flex;flex-direction:column;height:100%;overflow:hidden}@keyframes hsk-fade-in-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.hsk-action-pills{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;animation:hsk-fade-in-up .35s ease .1s both}.hsk-action-pill{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border-radius:20px;border:1px solid var(--hsk-chat-divide, rgba(0,0,0,.12));background:var(--hsk-pill-bg, rgba(255,255,255,.8));color:var(--hsk-chat-text, #1f1f1f);font-size:12px;font-weight:500;cursor:pointer;font-family:inherit;transition:all .15s;white-space:nowrap;backdrop-filter:blur(4px)}.hsk-action-pill:hover:not(:disabled){border-color:var(--hsk-primary, #ff6a33);background:color-mix(in srgb,var(--hsk-primary, #ff6a33) 8%,transparent);color:var(--hsk-primary, #ff6a33);transform:translateY(-1px);box-shadow:0 2px 8px #00000014}.hsk-action-pill:disabled{opacity:.4;cursor:not-allowed}.hsk-pill-emoji{font-size:13px;line-height:1}@media(prefers-color-scheme:dark){.hsk-action-pill{--hsk-pill-bg: rgba(40,40,42,.85);border-color:#ffffff1a;color:var(--hsk-chat-text, #e8eaed)}}[data-hsk-theme=dark] .hsk-action-pill{--hsk-pill-bg: rgba(40,40,42,.85);border-color:#ffffff1a;color:var(--hsk-chat-text, #e8eaed)}.kiku-voice-btn:hover{background:var(--hsk-hover-bg, rgba(0,0,0,.06));color:var(--hsk-primary, #6c47ff)}@keyframes kiku-voice-pulse{0%{transform:scale(1);opacity:1}to{transform:scale(1.6);opacity:0}}.kiku-style-tag{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:99px;background:var(--hsk-primary-alpha, rgba(108,71,255,.1));color:var(--hsk-primary, #6c47ff);font-size:11px;font-weight:500;white-space:nowrap}.kiku-voice-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:none;background:transparent;color:var(--hsk-text-muted, #888);cursor:pointer;transition:color .2s,background .2s;flex-shrink:0}.kiku-voice-btn:hover{background:var(--hsk-hover-bg, rgba(0,0,0,.06));color:var(--hsk-primary, #ff6a33)}.kiku-voice-btn--active{color:#ef4444;background:#ef44441a}.kiku-voice-btn:disabled{opacity:.4;cursor:not-allowed}.kiku-voice-ripple{position:absolute;inset:-4px;border-radius:50%;border:2px solid #ef4444;animation:kiku-voice-pulse 1.2s ease-out infinite;pointer-events:none}@keyframes kiku-voice-pulse{0%{transform:scale(1);opacity:1}to{transform:scale(1.7);opacity:0}}.kiku-style-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.kiku-style-tag{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:99px;background:#ff6a331a;color:var(--hsk-primary, #ff6a33);font-size:11px;font-weight:500;white-space:nowrap}.hsk-kiku-badge{display:inline-flex;align-items:center;gap:3px;font-size:13px;font-weight:700;letter-spacing:-.01em;color:#fff;background:#ffffff47;border:1px solid rgba(255,255,255,.45);padding:2px 8px;border-radius:8px;margin-inline-end:8px;vertical-align:middle;position:relative;top:-1px;box-shadow:0 1px 3px #0000001f}.hsk-markdown-img,.hsk-cb-user-img-thumb,.hsk-cb-source .hsk-cb-src-imgwrap img{cursor:zoom-in}.hsk-lightbox{position:fixed;inset:0;z-index:999999;background:color-mix(in srgb,var(--hsk-chat-bg, #fff) 84%,transparent);backdrop-filter:blur(28px) saturate(180%);-webkit-backdrop-filter:blur(28px) saturate(180%);display:flex;align-items:center;justify-content:center;padding:24px;animation:hsk-lightbox-in .15s ease-out both;cursor:zoom-out;user-select:none}@keyframes hsk-lightbox-in{0%{opacity:0}to{opacity:1}}.hsk-lightbox-top{position:absolute;top:18px;left:20px;right:68px;display:flex;align-items:center;z-index:2;pointer-events:none}.hsk-lightbox-title{font-size:14px;font-weight:600;letter-spacing:-.01em;color:var(--hsk-chat-text, #111);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:6px 14px;border-radius:999px;background:color-mix(in srgb,var(--hsk-chat-bg, #fff) 80%,transparent);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid color-mix(in srgb,var(--hsk-chat-text, #111) 10%,transparent);box-shadow:0 2px 10px #0000000f}.hsk-lightbox-stage{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;max-width:100%;max-height:100%;cursor:default}.hsk-lightbox-content{display:flex;flex-direction:column;align-items:center;justify-content:center;max-width:min(92vw,1000px);max-height:calc(100vh - 120px);position:relative}.hsk-lightbox-img{max-width:100%;max-height:min(78vh,760px);width:auto;height:auto;object-fit:contain;border-radius:12px;box-shadow:0 24px 64px -16px #0000005c;cursor:default;transition:transform .18s ease-out}.hsk-lightbox-caption{margin-top:12px;font-size:13px;font-weight:500;line-height:1.4;color:var(--hsk-chat-text, #111);text-align:center;padding:5px 14px;border-radius:999px;background:color-mix(in srgb,var(--hsk-chat-bg, #fff) 75%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid color-mix(in srgb,var(--hsk-chat-text, #111) 8%,transparent);box-shadow:0 2px 8px #0000000d}.hsk-lightbox-close{position:absolute;top:16px;right:16px;width:38px;height:38px;border-radius:50%;border:1px solid color-mix(in srgb,var(--hsk-chat-text, #111) 10%,transparent);background:color-mix(in srgb,var(--hsk-chat-bg, #fff) 78%,transparent);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);color:var(--hsk-chat-text, #111);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease;z-index:3;box-shadow:0 2px 8px #00000014}.hsk-lightbox-close:hover{background:color-mix(in srgb,var(--hsk-chat-bg, #fff) 95%,transparent);transform:scale(1.05)}.hsk-lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:1px solid color-mix(in srgb,var(--hsk-chat-text, #111) 12%,transparent);background:color-mix(in srgb,var(--hsk-chat-bg, #fff) 78%,transparent);backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);color:var(--hsk-chat-text, #111);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .16s ease;z-index:3;box-shadow:0 4px 16px #0000001f}.hsk-lightbox-nav:hover{background:color-mix(in srgb,var(--hsk-chat-bg, #fff) 95%,transparent);transform:translateY(-50%) scale(1.08);box-shadow:0 6px 20px #0000002e}.hsk-lightbox-nav:active{transform:translateY(-50%) scale(.96)}.hsk-lightbox-nav--prev{left:20px}.hsk-lightbox-nav--next{right:20px}.hsk-lightbox-bottom{position:absolute;bottom:22px;left:50%;transform:translate(-50%);display:flex;align-items:center;z-index:2;pointer-events:none}.hsk-lightbox-counter{padding:6px 16px;border-radius:999px;font-size:13px;font-weight:600;letter-spacing:.03em;color:var(--hsk-chat-text, #111);background:color-mix(in srgb,var(--hsk-chat-bg, #fff) 78%,transparent);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid color-mix(in srgb,var(--hsk-chat-text, #111) 10%,transparent);box-shadow:0 4px 14px #00000014}@media(max-width:600px){.hsk-lightbox-nav--prev{left:8px}.hsk-lightbox-nav--next{right:8px}.hsk-lightbox-content{max-width:100%}}.hsk-cb-viz{margin-top:10px;animation:hsk-msg-in .2s ease-out both}.hsk-cb-viz img,.hsk-cb-viz video{width:100%;max-width:420px;border-radius:8px;display:block}.hsk-cb-viz-disclaimer{max-width:420px;margin-top:4px;font-size:11px;line-height:1.4;color:var(--hsk-chat-muted, #9aa0a6)}.hsk-cb-calc-disclaimer{max-width:440px;margin-top:8px;padding:8px 12px;font-size:11.5px;line-height:1.45;color:var(--hsk-chat-muted, rgba(255, 255, 255, .65));background:var(--hsk-chat-callout-bg, rgba(255, 255, 255, .04));border:1px solid var(--hsk-border-subtle, rgba(255, 255, 255, .08));border-radius:8px}[data-hsk-theme=light] .hsk-cb-calc-disclaimer{color:#0009;background:#00000008;border-color:#00000014}.hsk-cb-stale{max-width:420px;margin-top:8px;padding:8px 10px;border:1px solid rgba(220,38,38,.35);border-left-width:3px;border-radius:6px;background:#dc26260f}.hsk-cb-stale-title{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#dc2626}.hsk-cb-stale-item{margin-top:3px;font-size:12px;line-height:1.45;color:var(--hsk-chat-text, #202124)}.hsk-cb-stale-reason{color:var(--hsk-chat-muted, #9aa0a6)}.hsk-cb-viz-imgwrap{position:relative;display:inline-block;max-width:100%}.hsk-cb-viz-mark{position:absolute;right:10px;bottom:10px;display:inline-flex;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:600;color:#fff;background:#0000009e;backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.35);border-radius:999px;cursor:pointer;transition:background .15s}.hsk-cb-viz-mark:hover{background:var(--hsk-primary, #ff6a33);border-color:transparent}.hsk-markup-overlay{position:fixed;inset:0;z-index:999999;background:color-mix(in srgb,var(--hsk-chat-bg, #fff) 84%,transparent);backdrop-filter:blur(28px) saturate(180%);-webkit-backdrop-filter:blur(28px) saturate(180%);display:flex;align-items:center;justify-content:center;padding:12px;animation:hsk-lightbox-in .15s ease-out both}.hsk-markup{height:100%;box-sizing:border-box;padding-top:max(32px,env(safe-area-inset-top));padding-bottom:max(24px,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:12px;width:100%;max-height:100%;overflow-y:auto}.hsk-markup-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.hsk-markup-title{font-size:12px;font-weight:500;line-height:1.4;color:color-mix(in srgb,var(--hsk-chat-text, #111) 55%,transparent)}.hsk-markup-cancel{flex-shrink:0;padding:6px 12px;font-size:12px;font-weight:600;color:var(--hsk-chat-text, #111);border-radius:999px;background:color-mix(in srgb,var(--hsk-chat-bg, #fff) 70%,transparent);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid color-mix(in srgb,var(--hsk-chat-text, #111) 10%,transparent);box-shadow:0 6px 18px -8px color-mix(in srgb,#000 22%,transparent);cursor:pointer}.hsk-markup-cancel:hover{background:color-mix(in srgb,var(--hsk-chat-text, #111) 16%,transparent)}.hsk-markup-stage{display:flex;flex:1;min-height:0;align-items:center;justify-content:center}.hsk-markup-canvas-wrap{position:relative;max-width:100%}.hsk-markup-canvas{display:block;max-width:100%;max-height:calc(100vh - 130px);box-shadow:0 18px 50px -12px color-mix(in srgb,#000 30%,transparent);border-radius:var(--hsk-border-radius, 0px);touch-action:none}.hsk-markup-canvas--pen,.hsk-markup-canvas--eraser{cursor:crosshair}.hsk-markup-pinlabel{position:absolute;display:flex;align-items:center;gap:4px;max-width:calc(100% - 16px);padding:4px 4px 4px 12px;border-radius:999px;background:color-mix(in srgb,var(--hsk-chat-bg, #fff) 78%,transparent);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid color-mix(in srgb,var(--hsk-chat-text, #111) 10%,transparent);box-shadow:0 10px 28px -10px color-mix(in srgb,#000 40%,transparent)}.hsk-markup-pinlabel input{min-width:0;max-width:100%;padding:6px 0;font-size:13px;color:var(--hsk-chat-text, #111);background:transparent;border:0;outline:none}.hsk-markup-pinlabel input::placeholder{color:color-mix(in srgb,var(--hsk-chat-text, #111) 45%,transparent)}.hsk-markup-pinlabel button{flex-shrink:0;display:grid;place-items:center;width:26px;height:26px;padding:0;font-size:15px;line-height:1;color:var(--hsk-chat-text, #111);background:color-mix(in srgb,var(--hsk-chat-text, #111) 8%,transparent);border:0;border-radius:50%;cursor:pointer}.hsk-markup-loading,.hsk-markup-error{padding:40px 16px;font-size:13px;color:color-mix(in srgb,var(--hsk-chat-text, #111) 70%,transparent);text-align:center}.hsk-markup-tools{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;margin-top:auto}.hsk-markup-tool{flex-shrink:0;white-space:nowrap;padding:8px 14px;font-size:12px;font-weight:600;color:var(--hsk-chat-text, #111);border-radius:999px;background:color-mix(in srgb,var(--hsk-chat-bg, #fff) 70%,transparent);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid color-mix(in srgb,var(--hsk-chat-text, #111) 10%,transparent);box-shadow:0 6px 18px -8px color-mix(in srgb,#000 22%,transparent);cursor:pointer}.hsk-markup-tool:hover:not(:disabled){background:color-mix(in srgb,var(--hsk-chat-text, #111) 16%,transparent)}.hsk-markup-tool--on{color:#fff;background:var(--hsk-primary, #ff6a33);border-color:transparent}.hsk-markup-tool--on:hover:not(:disabled){background:var(--hsk-primary, #ff6a33)}.hsk-markup-tool:disabled{opacity:.4;cursor:default}.hsk-markup-go{flex-shrink:0;padding:8px 22px;font-size:13px;font-weight:600;color:#fff;background:var(--hsk-primary, #ff6a33);border:none;border-radius:999px;box-shadow:0 6px 18px -8px color-mix(in srgb,var(--hsk-primary, #ff6a33) 60%,transparent);cursor:pointer}.hsk-markup-go:hover:not(:disabled){opacity:.9}.hsk-markup-go:disabled{opacity:.45;cursor:default}@media(max-width:640px){.hsk-markup-head{flex-direction:column-reverse;align-items:flex-start}.hsk-markup-cancel{align-self:flex-end}}.hsk-cb-kimgs{margin-top:10px;display:flex;flex-direction:column;gap:10px;animation:hsk-msg-in .2s ease-out both}.hsk-cb-kimg-grid{display:flex;flex-wrap:wrap;gap:6px}.hsk-cb-kimg{width:132px;height:132px;object-fit:cover;border-radius:8px;cursor:zoom-in;border:1px solid var(--hsk-chat-border, rgba(0, 0, 0, .08))}.hsk-cb-kimg:only-child{width:100%;max-width:320px;height:auto}.hsk-cb-kimg-caption{margin-top:4px;font-size:11px;line-height:1.4;color:var(--hsk-chat-muted, #9aa0a6)}.hsk-cb-panel[data-script=nonlatin][data-host-font=gap]{--hsk-font: "Geist", system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", sans-serif}.hsk-cb-panel[data-script=nonlatin],.hsk-cb-panel[data-script=nonlatin] *{letter-spacing:normal;font-family:var(--hsk-font)}.hsk-cb-panel[data-script=nonlatin] .hsk-cb-hello,.hsk-cb-panel[data-script=nonlatin] .hsk-cb-hello-lead,.hsk-cb-panel[data-script=nonlatin] .hsk-cb-hello-ask,.hsk-cb-panel[data-script=nonlatin] .hsk-cb-ai-text,.hsk-cb-panel[data-script=nonlatin] .hsk-cb-user-bubble,.hsk-cb-panel[data-script=nonlatin] .hsk-cb-chip,.hsk-cb-panel[data-script=nonlatin] .hsk-cb-topbar-btn,.hsk-cb-panel[data-script=nonlatin] .hsk-cb-textarea,.hsk-cb-panel[data-script=nonlatin] .hsk-cb-entlang-opt-title,.hsk-cb-panel[data-script=nonlatin] .hsk-cb-entlang-opt-note,.hsk-cb-panel[data-script=nonlatin] .hsk-cb-ai-text .hsk-markdown-list li,.hsk-cb-panel[data-script=nonlatin] .hsk-cb-ai-text .hsk-markdown-h1,.hsk-cb-panel[data-script=nonlatin] .hsk-cb-ai-text .hsk-markdown-h2,.hsk-cb-panel[data-script=nonlatin] .hsk-cb-ai-text .hsk-markdown-h3,.hsk-cb-panel[data-script=nonlatin] .hsk-markdown-table th,.hsk-cb-panel[data-script=nonlatin] .hsk-markdown-table td{line-height:1.9}.hsk-cb-panel[data-script=nonlatin] .hsk-cb-voice-error{font-size:12px;line-height:1.7;max-width:min(92%,520px);margin-left:auto;margin-right:auto}.hsk-cb-panel[data-script=nonlatin] .hsk-cb-msg-action{height:16px;padding:1px 6.5px;font-size:9.5px;line-height:1}.hsk-cb-panel[data-script=nonlatin] .hsk-cb-msg-action .hsk-cb-msg-action-label{font-size:9.5px;line-height:1}.hsk-cb-panel[data-script=nonlatin] .hsk-cb-user-footer,.hsk-cb-panel[data-script=nonlatin] .hsk-cb-ai-footer{min-height:16px}.hsk-cb-panel[data-script=nonlatin] .hsk-cb-sent-status,.hsk-cb-panel[data-script=nonlatin] .hsk-cb-failed-notice{font-size:10px;line-height:1}.hsk-cb-panel[data-script=nonlatin] .hsk-cb-hello{font-size:clamp(20px,3.4vw,26px);line-height:1.5;text-wrap:balance;overflow-wrap:break-word}.hsk-cb-panel[data-script=nonlatin] .hsk-cb-hello-ask{font-size:15px;line-height:1.75}.hsk-cb-panel[data-script=nonlatin] .hsk-cb-hello-wrap{max-width:100%;min-width:0}.hsk-cb-panel[data-script=nonlatin] .hsk-cascade__w{white-space:normal}.hsk-cb-panel[data-nastaliq=true] .hsk-cb-hello,.hsk-cb-panel[data-nastaliq=true] .hsk-cb-hello-lead,.hsk-cb-panel[data-nastaliq=true] .hsk-cb-hello-ask,.hsk-cb-panel[data-nastaliq=true] .hsk-cb-ai-text,.hsk-cb-panel[data-nastaliq=true] .hsk-cb-user-bubble,.hsk-cb-panel[data-nastaliq=true] .hsk-cb-chip,.hsk-cb-panel[data-nastaliq=true] .hsk-cb-topbar-btn,.hsk-cb-panel[data-nastaliq=true] .hsk-cb-textarea,.hsk-cb-panel[data-nastaliq=true] .hsk-cb-entlang-opt-title,.hsk-cb-panel[data-nastaliq=true] .hsk-cb-entlang-opt-note,.hsk-cb-panel[data-nastaliq=true] .hsk-cb-ai-text .hsk-markdown-list li,.hsk-cb-panel[data-nastaliq=true] .hsk-cb-ai-text .hsk-markdown-h1,.hsk-cb-panel[data-nastaliq=true] .hsk-cb-ai-text .hsk-markdown-h2,.hsk-cb-panel[data-nastaliq=true] .hsk-cb-ai-text .hsk-markdown-h3,.hsk-cb-panel[data-nastaliq=true] .hsk-markdown-table th,.hsk-cb-panel[data-nastaliq=true] .hsk-markdown-table td{line-height:2.2}.hsk-cb-panel[data-nastaliq=true] .hsk-cb-voice-error{font-size:13px;line-height:2;max-width:min(92%,540px);margin-left:auto;margin-right:auto}.hsk-cb-panel[data-nastaliq=true] .hsk-cb-msg-action{height:16px;padding:1px 6.5px;font-size:9px;line-height:1}.hsk-cb-panel[data-nastaliq=true] .hsk-cb-msg-action .hsk-cb-msg-action-label{font-size:9px;line-height:1}.hsk-cb-panel[data-nastaliq=true] .hsk-cb-user-footer,.hsk-cb-panel[data-nastaliq=true] .hsk-cb-ai-footer{min-height:16px}.hsk-cb-panel[data-nastaliq=true] .hsk-cb-sent-status,.hsk-cb-panel[data-nastaliq=true] .hsk-cb-failed-notice{font-size:9.5px;line-height:1}.hsk-cb-panel[data-script=nonlatin] .hsk-cb-chip{font-size:14px}.hsk-cb-panel[data-script=nonlatin] .hsk-cb-topbar-btn{height:auto;min-height:34px;padding:5px 14px}.hsk-cb-panel[data-script=nonlatin] .hsk-cb-field{--hsk-input-line-height: 1.9}.hsk-cb-panel[data-script=nonlatin] .hsk-cb-textarea{min-height:34px}.hsk-cb-panel[data-nastaliq=true] .hsk-cb-field{--hsk-input-line-height: 2.2}.hsk-cb-panel[data-script=nonlatin] .hsk-cb-user-bubble,.hsk-cb-panel[data-script=nonlatin] .hsk-cb-ai-text{overflow-wrap:break-word;word-break:normal}.hsk-cb-viz-broken{font-size:13px;color:var(--hsk-chat-muted, #71717a);padding:14px 16px;border:1px dashed var(--hsk-chat-divide, rgba(0, 0, 0, .12));border-radius:12px}.hsk-cb-voice-mode-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;flex-shrink:0;padding:0;background:transparent;border:1px solid transparent;border-radius:12px;color:var(--hsk-chat-muted, #71717a);cursor:pointer;transition:all .2s cubic-bezier(.34,1.56,.64,1);font-family:inherit}.hsk-cb-voice-mode-btn:hover:not(:disabled){border-color:color-mix(in srgb,var(--hsk-primary, #ff6a33) 25%,transparent);color:var(--hsk-primary, #ff6a33);background:color-mix(in srgb,var(--hsk-primary, #ff6a33) 8%,transparent);transform:translateY(-1px)}.hsk-cb-voice-mode-btn:disabled{opacity:.35;cursor:not-allowed}.hsk-cb-panel[data-script=nonlatin] .hsk-animated-placeholder[data-fit="2"]{--hsk-ph-font-size: 13.5px}.hsk-cb-panel[data-script=nonlatin] .hsk-animated-placeholder[data-fit="3"]{--hsk-ph-font-size: 12px}.hsk-cb-panel[data-nastaliq=true] .hsk-animated-placeholder[data-fit="1"]{--hsk-ph-font-size: 15px}.hsk-cb-panel[data-nastaliq=true] .hsk-animated-placeholder[data-fit="2"]{--hsk-ph-font-size: 13px}.hsk-cb-panel[data-nastaliq=true] .hsk-animated-placeholder[data-fit="3"]{--hsk-ph-font-size: 11.5px}.hsk-cb-panel[data-script=nonlatin] .hsk-animated-placeholder__char{line-height:1.35}.hsk-cb-panel[data-script] .hsk-cb-chrome-loading,.hsk-cb-panel[data-script] .hsk-cb-chrome-loading *{font-family:system-ui,-apple-system,Segoe UI,Roboto,Noto Sans,sans-serif}.hsk-voice-overlay{position:absolute;inset:0;z-index:30;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:clamp(8px,1.4vh,16px);padding:clamp(14px,2.5vh,24px);overflow:hidden;overscroll-behavior:contain;background:var(--hsk-chat-bg, #ffffff);animation:hsk-voice-in .32s cubic-bezier(.2,.8,.2,1);will-change:opacity;contain:paint}.hsk-voice-overlay:before{content:"";position:absolute;inset:0;background:radial-gradient(46% 20% at 50% 92%,color-mix(in srgb,var(--hsk-primary, #ff6a33) 8%,transparent) 0%,transparent 68%);pointer-events:none}.hsk-voice-overlay>*{position:relative}@keyframes hsk-voice-in{0%{opacity:0}to{opacity:1}}.hsk-voice-exit{position:absolute;z-index:2;top:14px;right:14px;display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:transparent;border:1px solid color-mix(in srgb,var(--hsk-chat-text, #1f1f1f) 14%,transparent);border-radius:999px;color:var(--hsk-chat-muted, #71717a);cursor:pointer;transition:color .18s ease,border-color .18s ease}.hsk-voice-exit:hover{color:var(--hsk-chat-text, #1f1f1f);border-color:color-mix(in srgb,var(--hsk-chat-text, #1f1f1f) 32%,transparent)}.hsk-voice-new{position:absolute;z-index:2;top:14px;right:58px;display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:transparent;border:1px solid color-mix(in srgb,var(--hsk-chat-text, #1f1f1f) 14%,transparent);border-radius:999px;color:var(--hsk-chat-muted, #71717a);cursor:pointer;transition:color .18s ease,border-color .18s ease,transform .12s ease}.hsk-voice-new:hover:not(:disabled){color:var(--hsk-chat-text, #1f1f1f);border-color:color-mix(in srgb,var(--hsk-chat-text, #1f1f1f) 32%,transparent)}.hsk-voice-new:active:not(:disabled){transform:scale(.92)}.hsk-voice-new:disabled{opacity:.4;cursor:default}.hsk-voice-stage{grid-column:2;width:100%;height:clamp(64px,13vh,140px);min-width:0;animation:hsk-composer-to-wave .42s cubic-bezier(.2,.8,.2,1) both}@keyframes hsk-composer-to-wave{0%{opacity:0;translate:0 18px}to{opacity:1;translate:0 0}}@media(prefers-reduced-motion:reduce){.hsk-voice-stage{animation:none}}.hsk-voice-thread{position:relative;z-index:1;flex:1 1 auto;width:min(720px,100%);min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:none;-ms-overflow-style:none;display:flex;flex-direction:column;gap:12px;padding:clamp(46px,8vh,72px) 4px 6px;-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 34px,#000 calc(100% - 30px),transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 34px,#000 calc(100% - 30px),transparent 100%)}.hsk-voice-turn--live{opacity:.72}.hsk-voice-canvas{display:block;width:100%;height:100%}.hsk-voice-controls{display:grid;grid-template-columns:52px minmax(0,1fr) 52px;align-items:center;gap:12px;flex:none;width:min(640px,100%)}.hsk-voice-controls [data-control=attach]{grid-column:1}.hsk-voice-controls [data-control=mic]{grid-column:3}.hsk-voice-control{display:flex;align-items:center;justify-content:center;width:52px;height:52px;padding:0;background:var(--hsk-surface-2, rgba(255, 255, 255, .95));border:1px solid color-mix(in srgb,var(--hsk-chat-text, #000000) 10%,transparent);border-radius:999px;color:var(--hsk-chat-text, #1f1f1f);cursor:pointer;box-shadow:0 2px 12px #00000014,0 1px 3px #0000000a;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);transition:color .2s ease,border-color .2s ease,background .2s ease,transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s ease}.hsk-voice-control:hover{transform:scale(1.06);box-shadow:0 4px 18px #0000001f}.hsk-voice-control:active{transform:scale(.92);transition-duration:.08s}.hsk-voice-control--muted{color:var(--hsk-chat-muted, #888888);border-color:color-mix(in srgb,var(--hsk-chat-text, #000000) 12%,transparent);background:color-mix(in srgb,var(--hsk-chat-bg, #ffffff) 85%,transparent);box-shadow:0 1px 4px #0000000a}.hsk-voice-control-icon{display:inline-flex;align-items:center;justify-content:center;z-index:2;transition:transform .2s ease}@media(prefers-reduced-motion:reduce){.hsk-voice-control-icon,.hsk-voice-control--muted{animation:none}}.hsk-voice-stage--connecting{opacity:.4;transition:opacity .25s ease}.hsk-voice-connecting{display:flex;align-items:center;gap:7px;font-family:var(--hsk-font);font-size:13px;color:var(--hsk-chat-muted, #8a8f98);animation:hsk-sent-in .2s ease-out both}.hsk-voice-connecting-dot{width:6px;height:6px;border-radius:999px;background:currentColor;animation:hsk-queued-pulse 1s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.hsk-voice-connecting-dot{animation:none;opacity:.7}}.hsk-voice-error{font-family:var(--hsk-font);font-size:.85rem;color:#e5484d;text-align:center}@media(prefers-reduced-motion:reduce){.hsk-voice-overlay{animation:none}}.hsk-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.hsk-voice-picker{position:absolute;z-index:3;top:14px;left:14px;display:flex;flex-direction:column;width:auto;height:36px;overflow:hidden;border-radius:18px;border:1px solid color-mix(in srgb,var(--hsk-chat-text, #1f1f1f) 10%,transparent);background:linear-gradient(180deg,#ffffff1f,#fff0 60%),color-mix(in srgb,var(--hsk-chat-bg, #ffffff) 58%,transparent);backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);box-shadow:inset 0 1px #ffffff40,0 1px 2px #0000000d;interpolate-size:allow-keywords;transition:width .42s cubic-bezier(.16,1,.3,1),height .42s cubic-bezier(.16,1,.3,1),border-radius .42s cubic-bezier(.16,1,.3,1),box-shadow .3s ease;animation:hsk-voice-pill-in .42s cubic-bezier(.16,1,.3,1) both}.hsk-voice-picker[data-open]{width:224px;height:auto;border-radius:20px;background:linear-gradient(180deg,#ffffff1a,#fff0 50%),color-mix(in srgb,var(--hsk-chat-bg, #ffffff) 78%,transparent);box-shadow:inset 0 1px #ffffff40,0 8px 22px -8px #0003,0 1px 2px #0000000d}@keyframes hsk-voice-pill-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.hsk-voice-pill{display:flex;align-items:center;justify-content:space-between;gap:6px;flex:none;height:34px;padding:0 10px 0 14px;border:0;background:transparent;font:inherit;font-size:12px;font-weight:600;white-space:nowrap;color:var(--hsk-chat-text, #1f1f1f);cursor:pointer}.hsk-voice-pill-caret{display:inline-flex;color:var(--hsk-chat-muted, #71717a);transform:rotate(90deg) scale(.8);transition:transform .32s cubic-bezier(.16,1,.3,1)}.hsk-voice-picker[data-open] .hsk-voice-pill-caret{transform:rotate(-90deg) scale(.8)}.hsk-voice-menu-list{position:relative;contain:inline-size;display:flex;flex-direction:column;gap:1px;max-height:min(320px,50vh);padding:4px 5px 6px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;opacity:0;transition:opacity .18s ease;-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 10px,#000 calc(100% - 16px),transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 10px,#000 calc(100% - 16px),transparent 100%)}.hsk-voice-menu-list::-webkit-scrollbar{display:none}.hsk-voice-picker[data-open] .hsk-voice-menu-list{opacity:1;transition:opacity .26s ease .12s}.hsk-voice-group{display:flex;align-items:center;gap:8px;flex:none;padding:10px 9px 4px;font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--hsk-chat-muted, #71717a)}.hsk-voice-group:after{content:"";flex:1;height:1px;background:color-mix(in srgb,var(--hsk-chat-text, #1f1f1f) 12%,transparent)}.hsk-voice-group:first-child{padding-top:4px}.hsk-voice-option{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex:none;padding:7px 9px;border:0;border-radius:13px;background:transparent;font:inherit;text-align:start;color:var(--hsk-chat-text, #1f1f1f);cursor:pointer;transition:background .14s ease}.hsk-voice-option:hover{background:color-mix(in srgb,var(--hsk-chat-text, #1f1f1f) 6%,transparent)}.hsk-voice-option-name{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600}.hsk-voice-option-trait{font-size:11px;color:var(--hsk-chat-muted, #71717a)}.hsk-voice-option--on,.hsk-voice-option--on:hover{background:color-mix(in srgb,var(--hsk-primary, #ff6a33) 12%,transparent)}.hsk-voice-option--on .hsk-voice-option-name{color:var(--hsk-primary, #ff6a33)}.hsk-voice-option--on .hsk-voice-option-name:before{content:"";width:5px;height:5px;border-radius:999px;background:currentColor}@media(prefers-reduced-motion:reduce){.hsk-voice-picker{animation:none;transition:none}}@media(max-width:520px){.hsk-cb-input-box{gap:6px;padding:10px 10px 10px 12px}.hsk-cb-attach-btn,.hsk-cb-send,.hsk-cb-voice-mode-btn,.hsk-chat-send{width:32px;height:32px;border-radius:10px}.hsk-cb-textarea{flex:1 1 auto;min-width:0;font-size:16px}.hsk-cb-input-box .hsk-cb-listening{display:none}}.hsk-cb-main{position:relative}.hsk-cb-main,.hsk-voice-overlay{--hsk-doodle-ink: 31, 31, 31;--hsk-doodle-tint: 255, 106, 51}@keyframes hsk-doodles-shimmer-in{0%{opacity:0}to{opacity:.9}}.hsk-cb-doodles{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;opacity:.9;animation:hsk-doodles-shimmer-in .28s cubic-bezier(.16,1,.3,1) both}.hsk-cb-main>*:not(.hsk-cb-doodles){position:relative}@media(prefers-color-scheme:dark){.hsk-cb-main,.hsk-voice-overlay{--hsk-doodle-ink: 240, 239, 237;--hsk-doodle-tint: 255, 150, 110}}[data-hsk-theme=light] .hsk-cb-main,[data-hsk-theme=light] .hsk-voice-overlay{--hsk-doodle-ink: 31, 31, 31;--hsk-doodle-tint: 255, 106, 51}[data-hsk-theme=dark] .hsk-cb-main,[data-hsk-theme=dark] .hsk-voice-overlay{--hsk-doodle-ink: 240, 239, 237;--hsk-doodle-tint: 255, 150, 110}.hsk-cb-docked-option-detail,.hsk-cb-entlang-price,.hsk-cb-src-detail,.hsk-kiku-picker-item-price,.hsk-source-price,.hsk-sp-item-discount,.hsk-sp-item-original-price,.hsk-sp-item-price,.hsk-sp-mobile-main-card-price,.hsk-sp-mobile-similar-carousel-price,.hsk-voice-item-price,.hsk-live-cell{font-variant-numeric:tabular-nums}.hsk-live-wrap{margin:6px 0 2px;width:100%;max-width:100%;box-sizing:border-box}.hsk-live-carousel{display:flex;flex-wrap:wrap;gap:6px;align-items:flex-start;width:100%;box-sizing:border-box}.hsk-live-card{flex:0 1 auto;width:fit-content;min-width:120px;max-width:100%;background:var(--hsk-chat-source-bg, rgba(255, 255, 255, .05));border:1px solid var(--hsk-chat-divide, rgba(255, 255, 255, .08));border-radius:12px;padding:6px 10px;box-sizing:border-box;display:flex;flex-direction:column;gap:3px;transition:opacity .2s ease;overflow:hidden}.hsk-live-card.is-stale{opacity:.75}.hsk-live-card__top{display:flex;align-items:center;justify-content:space-between;gap:8px}.hsk-live-card__badge{display:inline-flex;align-items:center;gap:5px}.hsk-live-card__body{display:flex;align-items:center}.hsk-live-dot{width:6px;height:6px;border-radius:50%;background:#10b981;flex-shrink:0}@media(prefers-reduced-motion:no-preference){.hsk-live-dot:not(.is-stale){animation:hsk-live-pulse 2s ease-in-out infinite}}.hsk-live-dot.is-stale{background:var(--hsk-chat-muted, #9ca3af)}.hsk-live-card__title{font-size:13px;font-weight:600;color:var(--hsk-chat-text, #111827);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.01em}.hsk-live-card__age{font-size:10.5px;font-weight:500;color:var(--hsk-chat-muted, #6b7280);white-space:nowrap;flex-shrink:0}.hsk-live-card__pills{display:flex;flex-wrap:wrap;gap:4px;align-items:center;margin-top:1px}.hsk-live-pill{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;background:color-mix(in srgb,var(--hsk-surface-1, var(--hsk-chat-bg, #ffffff)) 85%,transparent);border:1px solid color-mix(in srgb,var(--hsk-chat-text, #ffffff) 10%,transparent);border-radius:6px;font-size:11.5px;font-variant-numeric:tabular-nums;line-height:1.25;color:var(--hsk-chat-text, #111827);box-shadow:0 1px 2px #00000008}.hsk-live-pill__label{font-weight:500;color:var(--hsk-chat-muted, #6b7280);font-size:11px;text-transform:capitalize}.hsk-live-pill__value{font-weight:650;color:var(--hsk-chat-text, #111827)}@media(prefers-reduced-motion:no-preference){.hsk-live-pill.is-changed{animation:hsk-live-pill-flash 1.2s ease-out}@keyframes hsk-live-pill-flash{0%{background:#10b98140;border-color:#10b981}to{background:var(--hsk-chat-bg, #ffffff);border-color:var(--hsk-chat-divide, rgba(0, 0, 0, .08))}}}@media(max-width:640px){.hsk-cb-source{flex:0 0 128px}.hsk-cb-src-imgwrap,.hsk-cb-src-imgwrap-empty{width:128px;height:128px;font-size:24px}.hsk-cb-sources{gap:10px}.hsk-cb-src-name{font-size:12px;line-height:1.35}.hsk-cb-src-detail{font-size:11px;padding:1px 7px;margin-top:4px}}@media(max-width:480px){.hsk-cb-source{flex:0 0 114px}.hsk-cb-src-imgwrap,.hsk-cb-src-imgwrap-empty{width:114px;height:114px;font-size:20px}.hsk-cb-sources{gap:8px}.hsk-live-card{flex:0 0 auto;width:fit-content;max-width:100%}}.hsk-voice-thread::-webkit-scrollbar{width:0;height:0}.hsk-voice-thread{font-family:var(--hsk-font);gap:0;padding-inline:20px}.hsk-voice-thread .hsk-cb-user-msg,.hsk-voice-thread .hsk-cb-ai-msg{align-self:stretch;max-width:100%;margin:0}.hsk-voice-thread .hsk-cb-user-bubble{max-width:100%;padding:0;background:none!important;border:none;border-radius:0;text-align:inherit;font-family:inherit;font-style:italic;font-size:16.5px;line-height:1.62;letter-spacing:.005em;color:color-mix(in srgb,var(--hsk-chat-text, #1f1f1f) 62%,transparent)}.hsk-voice-thread .hsk-cb-user-bubble:after{display:none!important}.hsk-voice-thread .hsk-cb-user-msg{align-items:flex-start}.hsk-voice-thread .hsk-cb-user-bubble{position:relative;text-align:start}.hsk-voice-thread .hsk-cb-user-bubble:before{content:"\\201c";display:block!important;position:absolute;inset-inline-start:-.62em;top:-.12em;width:auto;height:auto;background:none;font-size:1.55em;font-style:normal;line-height:1;color:color-mix(in srgb,var(--hsk-primary, #ff6a33) 72%,transparent);pointer-events:none}.hsk-voice-thread .hsk-cb-ai-msg{font-size:17px;line-height:1.68;color:var(--hsk-chat-text, #1f1f1f)}.hsk-voice-thread .hsk-cb-user-msg{margin-top:22px}.hsk-voice-thread>.hsk-cb-user-msg:first-child{margin-top:0}.hsk-voice-thread .hsk-cb-ai-msg{margin-top:6px}.hsk-voice-thread .hsk-cb-ai-body.hsk-voice-turn--live:after{content:"";display:inline-block;width:.36em;height:.36em;margin-inline-start:.34em;vertical-align:.08em;background:currentColor;border-radius:0 50% 50%;transform:rotate(45deg);animation:hsk-voice-nib 1.6s ease-in-out infinite}@keyframes hsk-voice-nib{0%,to{opacity:.25}50%{opacity:.85}}.hsk-voice-images{display:flex;gap:10px;flex:none;width:min(720px,100%);padding:4px 20px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}.hsk-voice-images::-webkit-scrollbar{display:none}.hsk-voice-image{position:relative;flex:none;width:76px;height:76px;padding:0;border-radius:14px;overflow:hidden;border:1px solid color-mix(in srgb,var(--hsk-chat-text, #1f1f1f) 12%,transparent);background:color-mix(in srgb,var(--hsk-chat-text, #1f1f1f) 4%,transparent);cursor:zoom-in;animation:hsk-voice-image-in .45s cubic-bezier(.16,1,.3,1) both}@media(min-width:720px){.hsk-voice-image{width:92px;height:92px}}.hsk-voice-image img{display:block;width:100%;height:100%;object-fit:cover;animation:hsk-voice-develop 1.1s cubic-bezier(.16,1,.3,1) both}@keyframes hsk-voice-image-in{0%{opacity:0;transform:translate(10px) scale(.92)}to{opacity:1;transform:none}}@keyframes hsk-voice-develop{0%{opacity:0;filter:blur(8px) saturate(.2) brightness(1.2);transform:scale(1.06)}to{opacity:1;filter:none;transform:scale(1)}}.hsk-voice-image[data-pending]{cursor:progress;border-color:transparent;background:color-mix(in srgb,var(--hsk-chat-text, #1f1f1f) 5%,var(--hsk-chat-bg, #ffffff))}.hsk-doodle-shimmer{position:absolute;inset:0;width:100%;height:100%}.hsk-working-veil{--hsk-feather-12: linear-gradient(to right, transparent, #000 12px, #000 calc(100% - 12px) , transparent), linear-gradient(to bottom, transparent, #000 12px, #000 calc(100% - 12px) , transparent);--hsk-doodle-ink: 255, 122, 64;--hsk-doodle-tint: 255, 200, 165;position:absolute;inset:0;overflow:hidden;border-radius:inherit;pointer-events:none;background:radial-gradient(ellipse at center,transparent 45%,rgba(0,0,0,.22) 100%);-webkit-mask-image:var(--hsk-feather-12);-webkit-mask-composite:source-in;mask-image:var(--hsk-feather-12);mask-composite:intersect;animation:hsk-veil-in .3s cubic-bezier(.16,1,.3,1) both}.hsk-working-veil.is-leaving{animation:hsk-veil-out .3s ease-out both}.hsk-working-veil .hsk-doodle-shimmer{filter:drop-shadow(0 0 .6px rgba(0,0,0,.75));-webkit-mask-image:radial-gradient(ellipse at center,transparent 14%,rgba(0,0,0,.5) 36%,rgba(0,0,0,.9) 58%,#000 75%);mask-image:radial-gradient(ellipse at center,transparent 14%,rgba(0,0,0,.5) 36%,rgba(0,0,0,.9) 58%,#000 75%)}.hsk-working-veil:after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 20px 8px color-mix(in srgb,var(--hsk-primary, #ff6a33) 90%,transparent),inset 0 0 48px 12px color-mix(in srgb,var(--hsk-primary, #ff6a33) 30%,transparent);animation:hsk-halo-breathe 2.4s ease-in-out infinite}.hsk-cb-user-img-cell:has(>.hsk-working-veil)>img,.hsk-cb-viz--working>img,.hsk-voice-image:has(>.hsk-working-veil)>img,.hsk-voice-image[data-pending],.hsk-cb-viz--working.is-blank{-webkit-mask-image:linear-gradient(to right,transparent,#000 26px,#000 calc(100% - 26px),transparent),linear-gradient(to bottom,transparent,#000 26px,#000 calc(100% - 26px),transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent,#000 26px,#000 calc(100% - 26px),transparent),linear-gradient(to bottom,transparent,#000 26px,#000 calc(100% - 26px),transparent);mask-composite:intersect}.hsk-voice-image:has(>.hsk-working-veil){border-color:transparent}@keyframes hsk-veil-in{0%{opacity:0}to{opacity:1}}@keyframes hsk-veil-out{0%{opacity:1}to{opacity:0}}@keyframes hsk-halo-breathe{0%,to{opacity:.7}50%{opacity:1}}@media(prefers-reduced-motion:reduce){.hsk-working-veil:after{animation:none;opacity:.8}}.hsk-cb-viz--working{position:relative;display:inline-block;max-width:420px;border-radius:8px;overflow:hidden;line-height:0}.hsk-cb-viz--working.is-blank{display:block;width:min(100%,320px);aspect-ratio:1;background:color-mix(in srgb,var(--hsk-chat-text, #1f1f1f) 5%,var(--hsk-chat-bg, #ffffff))}.hsk-cb-viz--working.is-video{display:block;width:min(100%,420px);aspect-ratio:16 / 9}.hsk-cb-viz--working img{opacity:.85}.hsk-cb-viz--working.is-video img{width:100%;height:100%;object-fit:cover}.hsk-voice-control--attach{justify-self:center;width:44px;height:44px;color:var(--hsk-chat-muted, #888888);box-shadow:none}.hsk-voice-control--attach:hover:not(:disabled){transform:none;color:var(--hsk-chat-text, #1f1f1f);box-shadow:none}.hsk-voice-control--attach:active:not(:disabled){transform:scale(.9);transition-duration:.08s}@media(prefers-reduced-motion:reduce){.hsk-voice-thread .hsk-cb-ai-body.hsk-voice-turn--live:after,.hsk-voice-image,.hsk-voice-image img{animation:none}}.hsk-voice-shelf{display:flex;align-items:flex-start;gap:10px;flex:none;width:min(720px,100%);padding:0 20px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}.hsk-voice-shelf::-webkit-scrollbar{display:none}.hsk-voice-shelf>.hsk-voice-images{width:auto;padding:4px 0;overflow:visible}.hsk-voice-shelf>.hsk-voice-sources{flex:0 1 auto;width:auto;min-width:0;padding:0}.hsk-voice-sources{flex:none;width:min(720px,100%);padding:0 20px;animation:hsk-voice-image-in .45s cubic-bezier(.16,1,.3,1) both}@media(prefers-reduced-motion:reduce){.hsk-voice-sources{animation:none}}.hsk-cb-overlay[data-hsk-theme],[data-hsk-theme] .hsk-cb-overlay{background:var(--hsk-chat-bg)!important;color:var(--hsk-chat-text)!important}[data-hsk-theme] .hsk-cb-panel{background:transparent!important;color:var(--hsk-chat-text)!important}[data-hsk-theme] .hsk-cb-topbar-name{background:var(--hsk-surface-2)!important;color:var(--hsk-name-text, var(--hsk-chat-text))!important;box-shadow:0 0 0 3px var(--hsk-chat-bg),0 1px 3px rgba(var(--hsk-primary-rgb),.2)!important}[data-hsk-theme] .hsk-cb-think-head{background:var(--hsk-surface-2)!important;color:var(--hsk-think-text)!important;box-shadow:0 0 0 3px var(--hsk-chat-bg),0 1px 3px rgba(var(--hsk-primary-rgb),.2)!important}[data-hsk-theme] .hsk-cb-leave{background:var(--hsk-surface-2)!important;color:var(--hsk-chat-text)!important;box-shadow:0 0 0 3px var(--hsk-chat-bg)!important}[data-hsk-theme] .hsk-cb-leave-btn{background:var(--hsk-surface-1)!important;color:var(--hsk-chat-text)!important}[data-hsk-theme] .hsk-cb-leave-btn--end{background:var(--hsk-primary)!important;color:var(--hsk-chat-bg)!important}[data-hsk-theme] .hsk-cb-chip,[data-hsk-theme] .hsk-action-pill{border:var(--hsk-chip-border, none)!important;background:var(--hsk-surface-1)!important;color:var(--hsk-chat-text)!important}[data-hsk-theme] .hsk-cb-chip:hover,[data-hsk-theme] .hsk-action-pill:hover{background:rgba(var(--hsk-primary-rgb),.12)!important;color:var(--hsk-primary)!important}[data-hsk-theme] .hsk-cb-ai-text{background:var(--hsk-bubble-bg)!important;color:var(--hsk-chat-text)!important}[data-hsk-theme] .hsk-cb-ai-text:not(:has(~.hsk-cb-ai-text)):before{background:var(--hsk-bubble-bg)!important}[data-hsk-theme] .hsk-cb-ai-text:not(:has(~.hsk-cb-ai-text)):after{background:var(--hsk-chat-bg)!important}[data-hsk-theme] .hsk-cb-user-bubble--tail:before{background:#007aff!important}[data-hsk-theme] .hsk-cb-user-bubble--tail:after{background:var(--hsk-chat-bg)!important}[data-hsk-theme] .hsk-cb-topbar-btn,[data-hsk-theme] .hsk-cb-back{background:var(--hsk-surface-1)!important;color:var(--hsk-chat-muted)!important}[data-hsk-theme] .hsk-cb-input-box{background:transparent!important;border:none!important;border-radius:inherit!important}[data-hsk-theme] .hsk-cb-textarea{color:var(--hsk-chat-text)!important}[data-hsk-theme] .hsk-cb-textarea::placeholder{color:var(--hsk-placeholder)!important}[data-hsk-theme] .hsk-markdown-table th{color:var(--hsk-chat-muted)!important;border-bottom:1px solid var(--hsk-chat-divide)!important}[data-hsk-theme] .hsk-markdown-table td{color:var(--hsk-chat-text)!important;border-bottom:1px solid var(--hsk-chat-divide)!important}[data-hsk-theme] .hsk-cb-kiku-id-pill:hover{color:var(--hsk-primary)!important}[data-hsk-theme] .hsk-cb-theme-2x2-grid,[data-hsk-theme] .hsk-cb-topbar-ooze-menu{background:var(--hsk-glass-bg)!important;border:var(--hsk-glass-border)!important;border-top:var(--hsk-glass-border-top)!important;box-shadow:var(--hsk-glass-shadow)!important;backdrop-filter:blur(28px) saturate(var(--hsk-glass-saturate, 180%))!important;-webkit-backdrop-filter:blur(28px) saturate(var(--hsk-glass-saturate, 180%))!important}[data-hsk-theme] .hsk-cb-topbar-ooze-menu{border-top:var(--hsk-glass-border)!important;box-shadow:none!important}[data-hsk-theme] .hsk-cb-topbar-ooze-menu .hsk-cb-theme-2x2-grid{background:none!important;border:none!important;border-top:none!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}[data-hsk-theme] .hsk-cb-theme-squircle-trigger,[data-hsk-theme] .hsk-cb-theme-squircle-wrap,[data-hsk-theme] .hsk-cb-kiku-id-pill,[data-hsk-theme] .hsk-cb-kiku-id-rail .hsk-cb-sound-pill,[data-hsk-theme] .hsk-cb-layout-toggle,[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-selection-bg: #ff6a33 !important;--hsk-selection-text: #ffffff !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-selection-bg: #ff6a33 !important;--hsk-selection-text: #ffffff !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-selection-bg: #ff6a33 !important;--hsk-selection-text: #ffffff !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-selection-bg: #ec4899 !important;--hsk-selection-text: #ffffff !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-selection-bg: #a9714b !important;--hsk-selection-text: #ffffff !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-selection-bg: #ff6a33 !important;--hsk-selection-text: #ffffff !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 xi="akropolys-kiku-root",Sr=null,nn=null,vi=!1;function yi(e){if(vi)return;if(vi=!0,typeof CSSStyleSheet<"u"&&"replaceSync"in CSSStyleSheet.prototype)try{let t=new CSSStyleSheet;t.replaceSync(So),e.adoptedStyleSheets=[t];return}catch{}let r=document.createElement("style");r.textContent=So,e.appendChild(r)}function Mo(){return typeof document>"u"?null:nn?(yi(nn),nn):(Sr=document.getElementById(xi),Sr||(Sr=document.createElement("div"),Sr.id=xi,Sr.style.cssText="all: initial;",document.body.appendChild(Sr)),nn=Sr.shadowRoot??Sr.attachShadow({mode:"open"}),yi(nn),nn)}import{useAkropolysContext as rb}from"@akropolys/sdk";function ba(e){if(typeof e=="string")return{themeAttr:e,vars:void 0};if(!e)return{themeAttr:void 0,vars:void 0};let r={};return e.primaryColor&&(r["--hsk-primary"]=e.primaryColor,r["--hsk-selection-bg"]=e.primaryColor),e.backgroundColor&&(r["--hsk-bg"]=e.backgroundColor,r["--hsk-chat-bg"]=e.backgroundColor),e.textColor&&(r["--hsk-text"]=e.textColor,r["--hsk-chat-text"]=e.textColor),e.fontFamily&&(r["--hsk-font"]=e.fontFamily),e.fontSize&&(r["--hsk-font-size"]=e.fontSize),e.mobileFontSize&&(r["--hsk-mobile-font-size"]=e.mobileFontSize),e.borderRadius&&(r["--hsk-border-radius"]=e.borderRadius),{themeAttr:void 0,vars:r}}import{useEffect as Ci}from"react";var Gt=new Map;function To(e,r="hsk-font"){let t=5381;for(let n=0;n<e.length;n++)t=(t<<5)+t+e.charCodeAt(n)>>>0;return`${r}-${t.toString(36)}`}function Np(e){let r=e.split("?")[0].split("#")[0].split(".").pop()?.toLowerCase();return r==="woff2"?"woff2":r==="woff"?"woff":r==="otf"?"opentype":r==="ttf"?"truetype":""}function Ro(e){let r=e.trim();return!r||/["'()\\\s]/.test(r)||/^(javascript|vbscript):/i.test(r)?null:r}var Si=e=>/["\\{}<>;\n\r]/.test(e)?"":e.trim(),Ip=/^[Uu]\+[0-9A-Fa-f?]{1,6}(-[0-9A-Fa-f]{1,6})?$/,wi=e=>{let r=e.split(",").map(t=>t.trim()).filter(Boolean);return r.length===0||!r.every(t=>Ip.test(t))?"":r.join(", ")},Mi=e=>/^\d{3}( \d{3})?$/.test(e)?e:"400";function Ap(e,r){Ci(()=>{if(!e||!r||typeof document>"u")return;let t=To(e);if(Gt.set(e,(Gt.get(e)??0)+1),!document.getElementById(t)){let n=document.createElement("style");n.id=t,n.textContent=r,document.head.appendChild(n)}return()=>{let n=(Gt.get(e)??1)-1;if(n>0){Gt.set(e,n);return}Gt.delete(e),document.getElementById(t)?.remove()}},[e,r])}function Ti(e){let r=Si(e.family);return r?e.faces.map(t=>{let n=Ro(t.url);return n?`@font-face{font-family:"${r}";font-style:normal;font-weight:${Mi(t.weight)};font-display:swap;src:url(${n}) format("woff2");`+(wi(t.unicodeRange)?`unicode-range:${wi(t.unicodeRange)};`:"")+"}":""}).join(""):""}function Lo(e){let r=e?.faces??[],t=e&&r.length?Ti(e):"";Ap(t?`script|${e.family}|${r.map(n=>n.url).join("|")}`:"",t)}async function jt(e,r=0){if(typeof document>"u"||!("fonts"in document))return;let t=Ti(e);if(!t)return;let n=`script|${e.family}|${e.faces.map(o=>o.url).join("|")}`;Gt.set(n,(Gt.get(n)??0)+1);let a=To(n);if(!document.getElementById(a)){let o=document.createElement("style");o.id=a,o.textContent=t,document.head.appendChild(o)}if(r>0){let o=document.fonts,s=e.family.replace(/^['"]|['"]$/g,""),c=Array.from(o||[]).filter(l=>l.family.replace(/^['"]|['"]$/g,"")===s),i=c.length>0?c.map(l=>l.load().catch(()=>{})):e.faces.map(l=>{let h=Ro(l.url);if(!h)return Promise.resolve();try{return new window.FontFace(s,`url(${h})`,{weight:Mi(l.weight),style:"normal"}).load().then(d=>{document.fonts?.add(d)}).catch(()=>{})}catch{return Promise.resolve()}});await Promise.race([Promise.all(i),new Promise(l=>setTimeout(l,r))])}}var Ri=["400","500","600","700"];function Li(e,r){let t=Array.from(new Set(Array.from(Object.values(r).join("")))).join(""),n=e.map(a=>`"${a.replace(/^['"]|['"]$/g,"")}"`).join(", ");return{text:t,stack:n}}function Eo(e,r){let t=typeof document<"u"?document.fonts:null,{text:n,stack:a}=Li(e,r);if(!t?.check||!n||!a)return!0;try{return Ri.every(o=>t.check(`${o} 16px ${a}`,n))}catch{return!0}}async function zo(e,r,t){let n=typeof document<"u"?document.fonts:null;if(!n?.load)return;let{text:a,stack:o}=Li(e,r);!a||!o||await Promise.race([Promise.all(Ri.map(s=>n.load(`${s} 16px ${o}`,a).catch(()=>{}))),new Promise(s=>setTimeout(s,t))])}function fa(e){let r=typeof e=="object"&&e?e:void 0,t=Si(r?.fontFamily?.split(",")[0].trim().replace(/^['"]|['"]$/g,"")??""),n=typeof r?.fontUrl=="string"?{normal:r.fontUrl}:r?.fontUrl??{},a=n.normal??"",o=n.bold??"",s=n.variable??"";Ci(()=>{if(!t||!a&&!o&&!s)return;let c=s?[["100 900",s]]:[["400",a],["700",o]],i=[];for(let[d,b]of c){if(!b)continue;let m=Ro(b);if(!m)continue;let x=Np(m);i.push(`@font-face{font-family:"${t}";font-style:normal;font-weight:${d};font-display:swap;src:url(${m})${x?` format("${x}")`:""};}`)}if(i.length===0)return;let l=i.join(""),h=`${t}|${a}|${o}|${s}`,p=To(h,"hsk-host-font");if(Gt.set(h,(Gt.get(h)??0)+1),!document.getElementById(p)){let d=document.createElement("style");d.id=p,d.textContent=l,document.head.appendChild(d)}return()=>{let d=(Gt.get(h)??1)-1;if(d>0){Gt.set(h,d);return}Gt.delete(h),document.getElementById(p)?.remove()}},[t,a,o,s])}var Ei=new WeakMap,zi=new WeakMap;function Ni(e){return e?zi.get(e)??null:null}function No(e){if(!e)return Promise.resolve(null);let r=Ei.get(e);if(r)return r;let t=Promise.resolve().then(()=>e.baseFont?.()??null).then(n=>(n&&(zi.set(e,n),jt(n,0).catch(()=>{})),n)).catch(()=>null);return Ei.set(e,t),t}function Ii(e,r,t){e&&(No(e),r&&Io(e,r,t))}function Io(e,r,t){if(!(!e||!r))try{e.getUIStrings?.(r,t)?.then?.(n=>{n?.font&&jt(n.font,1200).catch(()=>{})})?.catch?.(()=>{})}catch{}}import Fi from"react";var Fn=[],ga=[{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 _n(e,r){if(!e)return;let t=e.trim();if(!t)return;let n=t.toLowerCase(),a=ga.find(c=>c.value.toLowerCase()===n||c.native.toLowerCase()===n||c.tag===n);if(a)return a.native;if(ka[n]?.endonym)return ka[n].endonym;let o=Object.values(ka).find(c=>c.endonym?.toLowerCase()===n);if(o?.endonym)return o.endonym;let s=r||(n.length<=3?n:void 0);if(s&&typeof Intl<"u"&&Intl.DisplayNames)try{let i=new Intl.DisplayNames([s],{type:"language"}).of(s);if(i&&i.toLowerCase()!==s.toLowerCase())return i}catch{}return t}function Ai(e){for(let r of e){let t=r.codePointAt(0)??0;if(t>=1424&&t<=2303||t>=64285&&t<=65023||t>=65136&&t<=65279)return!0}return!1}var ka={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 Pi(e){let r=e.trim();return r?r.charAt(0).toUpperCase()+r.slice(1):"\u2026"}function Dr(e){if(!e)return{nativeName:"\u2026",preparing:"Preparing\u2026",changeLang:"\u2190",rtl:!1,known:!0};let r=e.trim().toLowerCase(),t=Object.entries(ka).find(([s,c])=>s===r||c.endonym?.toLowerCase()===r||_n(s)?.toLowerCase()===r);if(t)return{nativeName:t[1].endonym||_n(e)||Pi(e),preparing:t[1].preparing,changeLang:t[1].changeLang,rtl:!!t[1].rtl||Ai(t[1].preparing),known:!0};let n=_n(e)||e,a=Pi(n),o=Ai(a);return{nativeName:a,preparing:`Preparing in ${a}\u2026`,changeLang:o?"\u062A\u063A\u064A\u064A\u0631":"Change",rtl:o,known:!1}}var Dn=[{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"}],Ao="hsk-live-voice",Mr={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:"Chat messages aren't saved for analytics. Search-bar queries and usage counts help this website improve. If you ask to speak to its team, that support conversation is saved. 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"},Dt={themeHoldHint:"Long press for themes",themeClickHint:"Pick your mood",layoutDockNote:"Try {button} to change the reply layout.",layoutFirstReplyNote:"Open the dock and try {button} to change the reply layout.",externalOpensOutside:"This opens outside Kiku.",externalWatchVideo:"Watch video",externalCheckout:"Continue to checkout",externalOpenEmail:"Open email",externalOpenLink:"Open {destination}",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:"Chat messages aren't saved for analytics. Search-bar queries and usage counts help this website improve. If you ask to speak to its team, that support conversation is saved. Things you save with @kiku are kept at mimi.akropolys.cloud, and only your secret key opens them.",termsCookieTitle:"This website's own rules",termsCookieDesc:"This website may use cookies or collect more information. kiku does not control this.",termsAiTitle:"From this website, explained by AI",termsAiDesc:"kiku answers from what this website really lists. The facts are the website's own; how kiku summarises, compares or translates them is AI and may read them differently. Check anything that matters on the website itself.",termsAgreeButton:"I agree",termsAgreeCounting:"I agree ({seconds}s)",nameStepHint:"Any name or nickname is fine.",privacyMore:"Read our full terms at",continueButton:"Continue",termsPlaceholder:"Please read the notes above\u2026",allSet:"You are ready, {name}.",replyingTranslated:"I will write to you in {lang}. Results will be translated too. Ask me anything.",replyingOriginal:"I will write to you in {lang}. Results stay as this website wrote them. Ask me anything.",defaultPlaceholder:"Ask me anything\u2026",voiceListening:"Listening\u2026 tap the mic to stop",voiceSending:"Got it \u2014 sending\u2026",voiceModeStart:"Hands-free conversation",voiceModeExit:"Leave hands-free",voicePhaseListening:"Listening",voicePhaseThinking:"Thinking",micDenied:"Microphone blocked. Allow mic access for this site, then try again.",micInsecure:"Voice needs a secure (https) connection.",micMissing:"No microphone found.",micLangUnsupported:"This browser cannot transcribe that language yet. Type instead.",micNetwork:"Couldn't reach voice. Try again in a moment.",voiceUnavailable:"Voice is unavailable right now. Try again in a moment.",voiceLimitReached:"You've used up today's voice time. It resets in a day \u2014 chat still works.",voiceSiteLimit:"Voice is out of allowance on this site for now. Chat still works.",voiceIdleEnded:"Voice closed after a quiet minute. Tap the mic to talk again.",voiceSessionEnded:"Voice session ended. Tap the mic to talk again.",voicePhotoFailed:"That photo couldn't be added. Try another one.",voiceAttachPhoto:"Attach a photo",voicePickerLabel:"Choose a voice",voiceFemale:"Female",voiceMale:"Male",voiceNewChat:"New voice chat",pillVoice:"{n} min voice",pillImages:"{n} images",pillVideos:"{n} videos",pillReplies:"{n} replies",micNoSpeech:"Didn't catch anything. Try again, a little closer to the mic.",micFailed:"Couldn't hear that. Try again.",clearChat:"Clear chat",thinking:"Thinking",thoughtForSeconds:"Thought for {duration}",thoughtProcess:"Thought process",reachingTeam:"Getting a person",passedToTeam:"Passed to a person",withTeam:"Sent to the team \xB7 a person will reply here",repliedIn:"Replied in {duration}",backWithKiku:"Kiku is back with you",teamClosed:"The team closed this conversation",teamJoined:"Another team member joined the conversation",leaveHumanWarning:"A person is replying here.",leaveHumanStay:"Wait",leaveHumanKeep:"Keep for later",leaveHumanConfirm:"End request",requestsTitle:"Your requests",requestWaiting:"Waiting for a person",requestHuman:"With a person",requestKiku:"Answered",requestClosed:"Closed",requestNewReply:"New reply",captureAndRemember:"kiku \u2014 capture & remember",captureCurrentPage:"Capture current page",captureAll:"Capture all ({count})",whatHaveYouSaved:"What have you saved?",deleteThis:"Delete this",errShopperReplyLimit:"You've reached this site's reply limit. It resets in 24 hours.",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"},Po=Fi.createContext((e,r)=>{let t=Dt[e];if(r)for(let[n,a]of Object.entries(r))t=t.split(`{${n}}`).join(a);return t}),Kt=()=>Fi.useContext(Po);function Di(e){let r=e.trim();if(!r||r.length>40||r.includes("?"))return null;r=r.replace(/^(hi|hey|hello|yo)[,!.\s]+/i,""),r=r.replace(/^(i['’]?m|im|my name is|call me|it['’]?s|this is|name['’]?s)\s+/i,""),r=r.trim().replace(/[.!,]+$/,"");let t=r.split(/\s+/);if(t.length===0||t.length>3||!/^[\p{L}][\p{L}\-'’ ]{0,30}$/u.test(r))return null;let n=r.toLowerCase();if(["phone","laptop","tv","cheap","best","under","buy","search","find","show","need","want","price","sofa","shoe","headphone","camera","gift","help"].some(s=>n.includes(s)))return null;let o=t[0];return o.charAt(0).toUpperCase()+o.slice(1)}var _i={shopper_reply_limit:"errShopperReplyLimit",RATE_LIMIT_EXCEEDED:"errShopperReplyLimit",access_revoked:"errAccessRevoked",account_required:"errAccountRequired",stream_interrupted:"errStreamInterrupted"};var Hi=(e,r)=>{let t=e&&typeof e=="object"?e.code:void 0;if(t&&_i[t])return r(_i[t]);let n="";if(typeof e=="string")n=e;else if(e&&typeof e=="object"&&e.message)n=e.message;else try{n=JSON.stringify(e)}catch{n=String(e)}let a=n.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 r("errTooManyRequests");if(a.includes("token limit"))return r("errTokenLimit");if(a.includes("failed to fetch")||a.includes("networkerror")||a.includes("request failed"))return r("errNetwork");if(n)try{console.warn("[kiku] untranslated error:",n)}catch{}return r("errGeneric")},Bi=()=>typeof window>"u"||window.isSecureContext!==!1,_o=15;var $i="light",Pp=["light","dark","mahogany","blush","coffee","midnight"],Oi=!1;function xa(e){return typeof e=="string"&&Pp.includes(e)}function qi(e){if(xa(e))return e;try{let r=typeof window<"u"?localStorage.getItem("akropolys_theme"):null;if(xa(r))return r}catch{}return $i}function Fo(){if(Oi)return!0;try{return localStorage.getItem("akropolys_themes_seen")==="true"||xa(localStorage.getItem("akropolys_theme"))}catch{return!1}}function Wi(){Oi=!0;try{localStorage.setItem("akropolys_themes_seen","true")}catch{}}import aa,{useState as $e,useEffect as wt,useRef as mt,useCallback as _t,useId as Gm}from"react";import{Fragment as Ab,jsx as ne,jsxs as dt}from"react/jsx-runtime";var _p=({className:e,size:r=18,tight:t=!1})=>ne("svg",{className:oe("hsk-brand-mark",e),width:r,height:r,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:dt("g",{transform:"translate(22.7 19) scale(0.62)",fill:"currentColor",fillRule:"evenodd",children:[ne("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"}),ne("circle",{cx:"55",cy:"82",r:"3.4"})]})}),fr=_p,Ui=()=>dt("svg",{className:"hsk-stop-icon",width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",children:[ne("circle",{className:"hsk-stop-ring",cx:"12",cy:"12",r:"9.5",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round"}),ne("rect",{className:"hsk-stop-core",x:"8.5",y:"8.5",width:"7",height:"7",rx:"1.8",fill:"currentColor"})]});var Vi=()=>dt("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.2",strokeLinecap:"round",strokeLinejoin:"round",children:[ne("path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"}),ne("polyline",{points:"15 3 21 3 21 9"}),ne("line",{x1:"10",y1:"14",x2:"21",y2:"3"})]}),Gi=()=>ne("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"currentColor",children:ne("path",{d:"M8 5v14l11-7z"})}),an=()=>dt("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:[ne("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),ne("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]}),on=()=>ne("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:ne("path",{d:"m15 18-6-6 6-6"})}),sn=()=>ne("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:ne("path",{d:"m9 18 6-6-6-6"})}),ji=()=>dt("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[ne("path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8"}),ne("path",{d:"M3 3v5h5"}),ne("path",{d:"M12 7v5l4 2"})]}),va=()=>ne("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:ne("path",{d:"M19 21 12 16l-7 5V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z"})}),ya=()=>dt("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[ne("path",{d:"M3 6h18"}),ne("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 Ki=()=>ne("svg",{width:"19",height:"19",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",children:ne("path",{d:"M12 5v14M5 12h14"})}),Yi=({size:e=18}={})=>dt("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[ne("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((r,t)=>ne("circle",{className:"hsk-mimi-dot",style:{"--hsk-dot":t},cx:r,cy:"11.6",r:"1.15",fill:"currentColor",stroke:"none"},r))]}),Do=()=>ne("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:ne("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"})}),Xi=()=>dt("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[ne("rect",{x:"3",y:"3",width:"18",height:"18",rx:"4"}),ne("circle",{className:"hsk-img-sun",cx:"9",cy:"9",r:"1.8"}),ne("path",{className:"hsk-img-ridge",d:"m21 15-4.5-4.5L6 21"})]}),Hn=({className:e,size:r=13}={})=>dt("svg",{className:oe("hsk-retry-icon",e),width:r,height:r,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.2",strokeLinecap:"round",strokeLinejoin:"round",children:[ne("path",{className:"hsk-retry-arrow",d:"M21.5 2v6h-6"}),ne("path",{className:"hsk-retry-arc",d:"M21.34 15.57a10 10 0 1 1-.57-8.38l5.67-5.19"})]}),wa=({className:e,size:r=13}={})=>dt("svg",{className:oe("hsk-edit-icon",e),width:r,height:r,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.2",strokeLinecap:"round",strokeLinejoin:"round",children:[ne("path",{className:"hsk-edit-pencil",d:"M17 3a2.85 2.83 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5Z"}),ne("path",{className:"hsk-edit-lead",d:"m15 5 4 4"})]}),Hr=({className:e,size:r=13}={})=>dt("svg",{className:oe("hsk-copy-icon",e),width:r,height:r,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[ne("rect",{className:"hsk-copy-sheet",x:"8.5",y:"7",width:"12",height:"14",rx:"3.5"}),ne("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:r=13}={})=>ne("svg",{className:oe("hsk-check-icon",e),width:r,height:r,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.4",strokeLinecap:"round",strokeLinejoin:"round",children:ne("polyline",{className:"hsk-check-mark",points:"20 6 9 17 4 12"})}),Bn=({className:e,size:r=18}={})=>dt("svg",{className:e,width:r,height:r,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[ne("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"}),ne("path",{d:"M19 10v2a7 7 0 0 1-14 0v-2"}),ne("line",{x1:"12",y1:"19",x2:"12",y2:"22"})]}),Qi=()=>dt("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[ne("line",{className:"hsk-mic-slash",x1:"2",y1:"2",x2:"22",y2:"22"}),ne("path",{d:"M18.89 13.23A7.12 7.12 0 0 0 19 12v-2"}),ne("path",{d:"M5 10v2a7 7 0 0 0 12 5"}),ne("path",{d:"M15 9.34V5a3 3 0 0 0-5.68-1.33"}),ne("path",{d:"M9 9v3a3 3 0 0 0 5.12 2.12"}),ne("line",{x1:"12",y1:"19",x2:"12",y2:"22"})]}),Ho=({active:e})=>dt("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[ne("path",{className:"hsk-wave-bar hsk-wave-bar--tip",style:{"--hsk-bar":0,"--hsk-amp":1.9,"--hsk-period":"1.24s"},d:"M2 12h2"}),ne("path",{className:"hsk-wave-bar",style:{"--hsk-bar":1,"--hsk-amp":1.78,"--hsk-period":"0.94s"},d:"M6 8v8"}),ne("path",{className:"hsk-wave-bar",style:{"--hsk-bar":2,"--hsk-amp":1.26,"--hsk-period":"1.42s"},d:"M10 4v16"}),ne("path",{className:"hsk-wave-bar",style:{"--hsk-bar":3,"--hsk-amp":1.62,"--hsk-period":"1.08s"},d:"M14 7v10"}),ne("path",{className:"hsk-wave-bar",style:{"--hsk-bar":4,"--hsk-amp":2.05,"--hsk-period":"0.86s"},d:"M18 9v6"}),ne("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"})]}),Ji=()=>dt("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:[ne("polygon",{className:"hsk-kite-wing hsk-kite-wing--far",points:"22 2 11 13 2 9"}),ne("polygon",{className:"hsk-kite-wing hsk-kite-wing--near",points:"22 2 15 22 11 13"}),ne("line",{className:"hsk-kite-spine",x1:"22",y1:"2",x2:"11",y2:"13"})]}),Zi=()=>dt("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[ne("circle",{className:"hsk-sun-core",cx:"12",cy:"12",r:"5"}),dt("g",{className:"hsk-sun-rays",children:[ne("line",{x1:"12",y1:"1",x2:"12",y2:"3"}),ne("line",{x1:"12",y1:"21",x2:"12",y2:"23"}),ne("line",{x1:"4.22",y1:"4.22",x2:"5.64",y2:"5.64"}),ne("line",{x1:"18.36",y1:"18.36",x2:"19.78",y2:"19.78"}),ne("line",{x1:"1",y1:"12",x2:"3",y2:"12"}),ne("line",{x1:"21",y1:"12",x2:"23",y2:"12"}),ne("line",{x1:"4.22",y1:"19.78",x2:"5.64",y2:"18.36"}),ne("line",{x1:"18.36",y1:"5.64",x2:"19.78",y2:"4.22"})]})]}),ec=()=>ne("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:ne("path",{className:"hsk-moon-body",d:"M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"})}),tc=()=>dt("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[ne("path",{className:"hsk-wood-layer",style:{"--hsk-layer":0},d:"M12 2L2 7l10 5 10-5-10-5z"}),ne("path",{className:"hsk-wood-layer",style:{"--hsk-layer":2},d:"M2 17l10 5 10-5"}),ne("path",{className:"hsk-wood-layer",style:{"--hsk-layer":1},d:"M2 12l10 5 10-5"})]}),rc=()=>ne("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:ne("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"})}),nc=()=>dt("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[ne("path",{d:"M17 8h1a4 4 0 1 1 0 8h-1"}),ne("path",{d:"M3 8h14v9a4 4 0 0 1-4 4H7a4 4 0 0 1-4-4z"}),ne("line",{className:"hsk-steam",style:{"--hsk-steam":0},x1:"6",y1:"1",x2:"6",y2:"4"}),ne("line",{className:"hsk-steam",style:{"--hsk-steam":1},x1:"10",y1:"1",x2:"10",y2:"4"}),ne("line",{className:"hsk-steam",style:{"--hsk-steam":2},x1:"14",y1:"1",x2:"14",y2:"4"})]}),ac=()=>dt("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[ne("path",{d:"M12 3a6.5 6.5 0 0 0 9 9 9 9 0 1 1-9-9z"}),ne("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 oc=({size:e=11})=>dt("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.6",strokeLinecap:"round",strokeLinejoin:"round",children:[ne("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),ne("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]}),sc=({className:e,size:r=16,filled:t=!1}={})=>dt("svg",{className:oe("hsk-pin-icon",e),width:r,height:r,viewBox:"0 0 24 24",fill:t?"currentColor":"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[ne("line",{x1:"12",y1:"17",x2:"12",y2:"22"}),ne("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 cn=[{id:"light",label:"Silver",Icon:Zi,dark:!1},{id:"dark",label:"Onyx",Icon:ec,dark:!0},{id:"mahogany",label:"Mahogany",Icon:tc,dark:!0},{id:"blush",label:"Blush",Icon:rc,dark:!1},{id:"coffee",label:"Coffee",Icon:nc,dark:!1},{id:"midnight",label:"Midnight",Icon:ac,dark:!0}];function Bo(e){return cn.find(r=>r.id===e)??cn[0]}import{useKiku as jm,subscribeLiveStream as Km}from"@akropolys/sdk";import{useAkropolysContext as Ym,useCardFields as Xm}from"@akropolys/sdk";function Fp(e,r,t){let n=r.getBoundingClientRect();if(!n.width||!n.height)return;let a=e.getBoundingClientRect(),o=Math.max(n.left,Math.min(n.right,(a.left+a.right)/2)),s=Math.max(n.top,Math.min(n.bottom,(a.top+a.bottom)/2)),c=t?n.right:n.left,i=Math.min(1,Math.hypot(o-c,s-n.bottom)/Math.hypot(n.width,n.height));return Math.round(1500*(.62*i+.08/2))}function ic(e,r,t,n){if(window.matchMedia?.("(prefers-reduced-motion: reduce)").matches)return[];let a=r?-3:3,o=[{transform:"translate(0, 0)",easing:"cubic-bezier(.3, 0, .2, 1)"},{offset:.26,transform:`translate(${a}px, -6px)`,easing:"cubic-bezier(.45, 0, .35, 1)"},{offset:.52,transform:`translate(${-a*.3}px, 1.6px)`,easing:"cubic-bezier(.45, 0, .35, 1)"},{offset:.74,transform:`translate(${a*.1}px, -0.6px)`,easing:"cubic-bezier(.45, 0, .55, 1)"},{transform:"translate(0, 0)"}];return e.filter(s=>typeof s.animate=="function").map(s=>s.animate(o,{duration:1100,delay:s!==n&&t?Fp(s,t,r)??380:380}))}import{useEffect as Dp,useRef as Hp}from"react";function Bp(e,r,t=.55){return r<=0?0:e*r*t/(r+t*Math.abs(e))}function $p({stiffness:e=500,damping:r=45,onFrame:t,onRest:n}){let a=0,o=0,s=0,c=null,i=0,l=p=>{let d=Math.min(.032,(p-i)/1e3)||.016666666666666666;i=p;let b=Math.max(1,Math.ceil(d/.008)),m=d/b;for(let x=0;x<b;x++){let u=-e*(a-s)-r*o;o+=u*m,a+=o*m}if(Math.abs(a-s)<.5&&Math.abs(o)<.5){a=s,o=0,c=null,t(a),n?.();return}t(a),c=requestAnimationFrame(l)},h=()=>{c===null&&(i=performance.now(),c=requestAnimationFrame(l))};return{track(p){c!==null&&(cancelAnimationFrame(c),c=null),a=p,o=0,t(a)},to(p,d=0){s=p,o=d,h()},get value(){return a},stop(){c!==null&&(cancelAnimationFrame(c),c=null)}}}function cc({panel:e,scroller:r,onDismiss:t,quiescent:n,enabled:a=!0}){let o=Hp(t);o.current=t,Dp(()=>{if(!a)return;let s=e();if(!s||typeof matchMedia=="function"&&matchMedia("(prefers-reduced-motion: reduce)").matches)return;let c=!1,i=0,l=0,h=0,p=-1,d=0,b=0,m=0,x=!1,u=!1,k=$p({onFrame:_=>{s.style.transform=_===0?"":`translate3d(0, ${_}px, 0)`;let T=s.parentElement;T&&(T.style.opacity=_===0?"":String(Math.max(.35,1-_/(s.offsetHeight||1)*1.1)))},onRest:()=>{s.style.willChange="",u&&(u=!1,o.current())}}),C=()=>{let _=r();return _&&_.scrollTop>0?!1:n?n():!0},M=_=>{_.pointerType==="mouse"||!_.isPrimary||(c=!1,x=!1,p=_.pointerId,i=d=_.clientY,l=_.clientX,b=_.timeStamp,m=0,h=k.value)},g=_=>{if(_.pointerId!==p)return;let T=_.clientY-i,W=_.clientX-l;if(!x){if(Math.abs(T)<6&&Math.abs(W)<6)return;if(x=!0,c=T>0&&Math.abs(T)>Math.abs(W)&&C(),c){try{s.setPointerCapture(_.pointerId)}catch{}k.stop(),s.style.animation="none",s.style.willChange="transform"}}if(!c)return;let R=_.timeStamp-b;R>0&&(m=(_.clientY-d)/R*1e3),d=_.clientY,b=_.timeStamp;let N=h+T;k.track(N<0?-Bp(-N,s.offsetHeight||1):N),_.cancelable&&_.preventDefault()},P=_=>{if(_.pointerId!==p)return;try{s.hasPointerCapture(_.pointerId)&&s.releasePointerCapture(_.pointerId)}catch{}if(p=-1,!c)return;c=!1;let T=s.offsetHeight||1;k.value+m*.12>T*.3||m>900?(u=!0,s.style.pointerEvents="none",k.to(T,m)):k.to(0,m)};return s.addEventListener("pointerdown",M,{passive:!0}),s.addEventListener("pointermove",g,{passive:!1}),s.addEventListener("pointerup",P,{passive:!0}),s.addEventListener("pointercancel",P,{passive:!0}),()=>{k.stop(),s.removeEventListener("pointerdown",M),s.removeEventListener("pointermove",g),s.removeEventListener("pointerup",P),s.removeEventListener("pointercancel",P),s.style.transform="",s.style.willChange="",s.style.animation="",s.style.pointerEvents="";let _=s.parentElement;_&&(_.style.opacity="")}},[a,e,r,n])}function ln(e){return new Promise((r,t)=>{let n=new FileReader;n.onload=()=>r(n.result),n.onerror=()=>t(n.error??new Error("read failed")),n.readAsDataURL(e)})}async function Ca(e,r){if(!r&&(e.type==="image/gif"||e.type==="image/svg+xml"||e.size<=307200))return ln(e);try{let t=await createImageBitmap(e),n=Math.min(1,1536/Math.max(t.width,t.height)),a=Math.max(1,Math.round(t.width*n)),o=Math.max(1,Math.round(t.height*n));t.close?.();let s=await createImageBitmap(e,{resizeWidth:a,resizeHeight:o,resizeQuality:"high"});try{let c=document.createElement("canvas");c.width=a,c.height=o;let i=c.getContext("2d");if(!i){if(r)throw new Error("image conversion failed");return ln(e)}r&&(i.fillStyle="#fff",i.fillRect(0,0,a,o)),i.drawImage(s,0,0);let l=!r&&e.type==="image/png",h=await new Promise(p=>c.toBlob(p,l?"image/png":"image/jpeg",.85));if(!h){if(r)throw new Error("image conversion failed");return ln(e)}return!r&&h.size>=e.size?ln(e):ln(h)}finally{s.close?.()}}catch(t){if(r)throw t;return ln(e)}}import{useEffect as pc,useRef as $r,useState as Or}from"react";var lc=(e,r)=>Math.hypot(e.x-r.x,e.y-r.y);function Op(e){let r=0;for(let t=1;t<e.length;t++)r+=lc(e[t-1],e[t]);return r}function Wo(e){let r=1/0,t=1/0,n=-1/0,a=-1/0;for(let o of e)o.x<r&&(r=o.x),o.y<t&&(t=o.y),o.x>n&&(n=o.x),o.y>a&&(a=o.y);return{minX:r,minY:t,maxX:n,maxY:a}}var hn=e=>Math.max(0,Math.min(1e3,Math.round(e)));function Uo(e,r,t){return[hn(e.minY/t*1e3),hn(e.minX/r*1e3),hn(e.maxY/t*1e3),hn(e.maxX/r*1e3)]}function qp(e,r){let[t,n,a,o]=e,[s,c,i,l]=r,h=Math.min(o,l)-Math.max(n,c),p=Math.min(a,i)-Math.max(t,s);if(h<=0||p<=0)return!1;let d=Math.min((o-n)*(a-t),(l-c)*(i-s));return d>0&&h*p/d>.35}var Wp=(e,r)=>[Math.min(e[0],r[0]),Math.min(e[1],r[1]),Math.max(e[2],r[2]),Math.max(e[3],r[3])];function Up(e,r,t){if(e.length<2)return null;let n=Wo(e),a=Uo(n,r,t),o=Math.hypot(n.maxX-n.minX,n.maxY-n.minY);if(o<4)return null;let s=Op(e),c=lc(e[0],e[e.length-1]),i=s/Math.max(c,1e-6);return c/o<.3&&s>o*1.8?{gesture:"ring",box:a,straight:!1}:i<1.25?{gesture:"arrow",box:a,to:[hn(e[e.length-1].y/t*1e3),hn(e[e.length-1].x/r*1e3)],straight:!0}:{gesture:"scribble",box:a,straight:!1}}function hc(e,r,t){if(!r||!t)return[];let n=[],a=[],o=[];for(let i of e){if(i.kind==="pin"&&typeof i.x=="number"&&typeof i.y=="number"){let l={x:i.x,y:i.y};o.push({gesture:"pin",id:i.id,text:i.label,box:Uo(Wo([l,l]),r,t)});continue}if(i.kind==="text"&&i.value&&typeof i.x=="number"&&typeof i.y=="number"){let l={x:i.x,y:i.y};a.push({gesture:"text",box:Uo(Wo([l,l]),r,t),text:i.value});continue}if(i.kind==="stroke"&&i.tool!=="eraser"&&i.points){let l=Up(i.points,r,t);l&&n.push(l)}}let s=new Set,c=[];for(let i=0;i<n.length;i++){if(s.has(i))continue;let l=n[i];for(let h=i+1;h<n.length;h++)s.has(h)||!l.straight||!n[h].straight||qp(l.box,n[h].box)&&(s.add(h),l={gesture:"cross",box:Wp(l.box,n[h].box),straight:!1});s.add(i),c.push(l.gesture==="arrow"?{gesture:"arrow",box:l.box,to:l.to}:{gesture:l.gesture,box:l.box})}return[...o,...c,...a]}import{jsx as Mt,jsxs as qr}from"react/jsx-runtime";var dc="#ff5a5a",Vp=1280,Gp=4,jp=80;function Kp(e,r,t){let n=[],a="";for(let o of r.split(/\s+/)){let s=a?`${a} ${o}`:o;a&&e.measureText(s).width>t?(n.push(a),a=o):a=s}return a&&n.push(a),n.slice(0,3)}function Yp(e,r){let t=`${r}%`;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 uc({src:e,onCancel:r,onSend:t,t:n}){let[a,o]=Or(null),[s,c]=Or(!1),[i,l]=Or("pin"),h=$r(0),[p,d]=Or(null),b=$r(null),[m,x]=Or([{points:[],closed:!1}]),u=m[m.length-1],A=$r(`selection-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,10)}`),k=$r(null),C=w=>x(z=>[...z.slice(-66),w]),M=i==="select",[g,P]=Or([]),[_,T]=Or(!1),W=$r(null),R=$r(null);pc(()=>{let w=new Image;return w.crossOrigin="anonymous",w.onload=()=>o(w),w.onerror=()=>c(!0),w.src=e,()=>{w.onload=null,w.onerror=null}},[e]);let N=(()=>{if(!a)return{w:0,h:0};let w=Math.min(1,Vp/Math.max(a.naturalWidth,a.naturalHeight));return{w:Math.round(a.naturalWidth*w),h:Math.round(a.naturalHeight*w)}})(),H=$r(null),se=w=>{let z=W.current;if(!z||!a)return;let y=z.getContext("2d");if(!y)return;H.current||(H.current=document.createElement("canvas"));let Q=H.current;Q.width=z.width,Q.height=z.height;let ee=Q.getContext("2d"),O=w?[...g,w]:g;for(let f of O)f.kind==="stroke"&&(ee.save(),ee.globalCompositeOperation=f.tool==="eraser"?"destination-out":"source-over",ee.strokeStyle=dc,ee.lineWidth=f.tool==="eraser"?f.size*3:f.size,ee.lineCap="round",ee.lineJoin="round",ee.beginPath(),f.points.forEach((L,K)=>K===0?ee.moveTo(L.x,L.y):ee.lineTo(L.x,L.y)),f.points.length===1&&ee.lineTo(f.points[0].x+.01,f.points[0].y),ee.stroke(),ee.restore());y.clearRect(0,0,z.width,z.height),y.drawImage(a,0,0,z.width,z.height),y.drawImage(Q,0,0);let J=u.points.map((f,L)=>k.current?.index===L?k.current.point:f);J.length&&(y.save(),y.beginPath(),J.forEach((f,L)=>L?y.lineTo(f.x,f.y):y.moveTo(f.x,f.y)),u.closed&&(y.closePath(),y.fillStyle="#22c55e33",y.fill()),y.strokeStyle="#22c55e",y.lineWidth=Math.max(2,N.w/400),y.stroke(),y.restore());for(let f of J)y.beginPath(),y.arc(f.x,f.y,Math.max(3,N.w/260),0,Math.PI*2),y.fillStyle="#ffffff",y.fill(),y.strokeStyle="#15803d",y.stroke();for(let f of O){if(f.kind!=="pin")continue;let L=f.size;if(y.save(),y.beginPath(),y.moveTo(f.x,f.y),y.bezierCurveTo(f.x-L*2,f.y-L*2,f.x-L,f.y-L*3.5,f.x,f.y-L*3.5),y.bezierCurveTo(f.x+L,f.y-L*3.5,f.x+L*2,f.y-L*2,f.x,f.y),y.fillStyle=dc,y.fill(),y.lineWidth=Math.max(1,L/7),y.strokeStyle="#fff",y.stroke(),y.beginPath(),y.arc(f.x,f.y-L*2.2,L*.5,0,Math.PI*2),y.fillStyle="#fff",y.fill(),f.label){y.font=`600 ${L*1.2}px system-ui, sans-serif`,y.textAlign="center",y.textBaseline="middle";let K=Kp(y,f.label,z.width*.32),G=L*1.5,Y=Math.min(z.width,Math.max(...K.map(he=>y.measureText(he).width))+L),te=K.length*G+L*.4,ge=Math.max(Y/2,Math.min(z.width-Y/2,f.x)),ue=Math.max(te,f.y-L*3.7);y.fillStyle="rgba(0,0,0,.8)",y.fillRect(ge-Y/2,ue-te,Y,te),y.fillStyle="#fff",K.forEach((he,q)=>y.fillText(he,ge,ue-te+L*.2+G*(q+.5),Y-L))}y.restore()}};pc(()=>{se()},[a,g,u,N.w,N.h]);let I=w=>{let z=W.current,y=z.getBoundingClientRect();return{x:Math.max(0,Math.min(z.width,(w.clientX-y.left)/y.width*z.width)),y:Math.max(0,Math.min(z.height,(w.clientY-y.top)/y.height*z.height))}},de=()=>Math.max(4,Math.round(N.w/180)),ie=w=>{P(z=>z.filter(y=>y.kind!=="pin"||y.id!==w)),d(null)},B=()=>{let w=g.find(z=>z.kind==="pin"&&z.id===p);w?.kind==="pin"&&!w.label.trim()?ie(w.id):d(null)},le=w=>{if(!a)return;let z=I(w);if(i==="pin"){let y=g.find(O=>O.kind==="pin"&&Math.hypot(z.x-O.x,z.y-(O.y-O.size*1.7))<O.size*2);if(y?.kind==="pin"){d(y.id),w.currentTarget.setPointerCapture(w.pointerId),b.current={id:y.id,offset:{x:z.x-y.x,y:z.y-y.y}};return}if(p){B();return}if(g.filter(O=>O.kind==="pin").length>=Gp)return;let Q=`pin-${++h.current}`,ee=Math.max(10,N.w/W.current.getBoundingClientRect().width*9);P(O=>[...O,{kind:"pin",...z,id:Q,label:"",size:ee}]),d(Q);return}if(i==="select"){let y=u.points[0],Q=W.current.getBoundingClientRect(),ee=12*N.w/Q.width;if(!u.closed&&y&&u.points.length>=3&&Math.hypot(z.x-y.x,z.y-y.y)<ee)C({...u,closed:!0});else{let O=u.points.findIndex(J=>Math.hypot(z.x-J.x,z.y-J.y)<ee);if(O>=0){w.currentTarget.setPointerCapture(w.pointerId),k.current={index:O,point:z};return}if(u.closed||u.points.length>=64)return;C({...u,points:[...u.points,z]})}return}w.target.setPointerCapture(w.pointerId),R.current={kind:"stroke",tool:i,size:de(),points:[z]},se(R.current)},j=w=>{if(b.current){let{id:z,offset:y}=b.current,Q=I(w);P(ee=>ee.map(O=>O.kind==="pin"&&O.id===z?{...O,x:Math.max(0,Math.min(N.w,Q.x-y.x)),y:Math.max(0,Math.min(N.h,Q.y-y.y))}:O));return}if(k.current){k.current.point=I(w),se();return}R.current&&(R.current.points.push(I(w)),se(R.current))},D=()=>{if(b.current){b.current=null;return}if(k.current){let{index:z,point:y}=k.current;k.current=null,C({...u,points:u.points.map((Q,ee)=>ee===z?y:Q)});return}if(!R.current)return;let w=R.current;R.current=null,P(z=>[...z,w])},U=g.filter(w=>w.kind==="pin"),F=U.find(w=>w.id===p),S=!!a&&!(u.points.length>0&&!u.closed)&&U.length>0&&U.every(w=>w.label.trim()),X=()=>{if(!(!S||!a))try{let w=document.createElement("canvas");w.width=N.w,w.height=N.h;let z=w.getContext("2d");if(!z){T(!0);return}z.drawImage(a,0,0,N.w,N.h);let y=w.toDataURL("image/jpeg",.92),Q=W.current?.toDataURL("image/jpeg",.85)||y,ee=hc(g,N.w,N.h);if(u.closed){let O=f=>Math.round(f/N.w*1e3),J=f=>Math.round(f/N.h*1e3);ee.unshift({gesture:"selection",id:A.current,box:[J(Math.min(...u.points.map(f=>f.y))),O(Math.min(...u.points.map(f=>f.x))),J(Math.max(...u.points.map(f=>f.y))),O(Math.max(...u.points.map(f=>f.x)))],points:u.points.map(f=>[O(f.x),J(f.y)])})}t(y,U.map(O=>O.label.trim()).join("; "),ee,Q)}catch{T(!0)}},E=i==="pin"?"markupPinHint":i==="select"?u.closed?"markupSelectedHint":"markupOutlineHint":"markupSketchHint";return qr("div",{className:"hsk-markup",role:"dialog","aria-label":n("markupDialogLabel"),children:[qr("div",{className:"hsk-markup-head",children:[Mt("span",{className:"hsk-markup-title",role:"status",children:n(E)}),Mt("button",{className:"hsk-markup-cancel",onClick:r,children:n("markupCancel")})]}),Mt("div",{className:"hsk-markup-stage",children:s?Mt("div",{className:"hsk-markup-error",children:n("markupLoadError")}):a?qr("div",{className:"hsk-markup-canvas-wrap",children:[Mt("canvas",{ref:W,width:N.w,height:N.h,className:`hsk-markup-canvas hsk-markup-canvas--${i}`,style:{touchAction:"none",cursor:M||i==="pin"?"crosshair":void 0},onPointerDown:le,onPointerMove:j,onPointerUp:D,onPointerCancel:()=>{b.current=null,k.current=null,R.current=null,se()}}),i==="pin"&&F&&qr("div",{className:"hsk-markup-pinlabel",style:Yp(F.x/N.w*100,Math.max(12,(F.y-F.size*4)/N.h*100)),children:[Mt("input",{autoFocus:!0,"aria-label":n("markupPinLabel"),placeholder:n("markupPinLabelHint"),value:F.label,maxLength:jp,style:{width:`${Math.min(34,Math.max(16,F.label.length+2))}ch`},onChange:w=>P(z=>z.map(y=>y.kind==="pin"&&y.id===F.id?{...y,label:w.target.value}:y)),onKeyDown:w=>{(w.key==="Enter"||w.key==="Escape")&&B()}}),Mt("button",{"aria-label":n("markupRemovePin"),title:n("markupRemovePin"),onClick:()=>ie(F.id),children:"\xD7"})]})]}):Mt("div",{className:"hsk-markup-loading",children:n("markupLoading")})}),qr("div",{className:"hsk-markup-tools",children:[qr("button",{className:`hsk-markup-tool${i==="pin"?" hsk-markup-tool--on":""}`,onClick:()=>l("pin"),children:[qr("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:[Mt("path",{d:"M20 10c0 6-8 12-8 12S4 16 4 10a8 8 0 1 1 16 0Z"}),Mt("circle",{cx:"12",cy:"10",r:"3"})]}),n("markupPin")]}),Mt("button",{className:`hsk-markup-tool${i==="select"?" hsk-markup-tool--on":""}`,onClick:()=>{d(null),l("select")},children:n("markupSelect")}),Mt("button",{className:"hsk-markup-tool",disabled:u.closed||u.points.length<3,onClick:()=>C({...u,closed:!0}),children:n("markupCloseOutline")}),Mt("button",{className:`hsk-markup-tool${i==="pen"?" hsk-markup-tool--on":""}`,onClick:()=>{d(null),l("pen")},children:n("markupSketch")}),Mt("button",{className:`hsk-markup-tool${i==="eraser"?" hsk-markup-tool--on":""}`,onClick:()=>{d(null),l("eraser")},children:n("markupEraser")}),Mt("button",{className:"hsk-markup-tool",onClick:()=>M?x(w=>w.length>1?w.slice(0,-1):w):P(w=>w.slice(0,-1)),disabled:M?m.length<2:g.length===0,children:n("markupUndo")}),Mt("button",{className:"hsk-markup-tool",onClick:()=>{P([]),d(null),x([{points:[],closed:!1}]),l("pin")},disabled:g.length===0&&!u.points.length,children:n("markupClear")}),Mt("button",{className:"hsk-markup-go",onClick:X,disabled:!S,children:n("markupSend")})]}),_&&Mt("div",{className:"hsk-markup-error",children:n("markupError")})]})}import Xp,{useEffect as Yo,useRef as Tr,useState as Qp}from"react";import{jsx as Sa}from"react/jsx-runtime";function yc(e){let r=2166136261;for(let t=0;t<e.length;t++)r^=e.charCodeAt(t),r=Math.imul(r,16777619);return r>>>0}function On(e){let r=e>>>0;return()=>{r=r+1831565813>>>0;let t=Math.imul(r^r>>>15,1|r);return t=t+Math.imul(t^t>>>7,61|t)^t,((t^t>>>14)>>>0)/4294967296}}var mc=e=>e*e*(3-2*e);function Jp(e){let t=new Float32Array(65536);for(let a=0;a<t.length;a++)t[a]=e();let n=(a,o)=>t[(o&255)*256+(a&255)];return(a,o)=>{let s=Math.floor(a),c=Math.floor(o),i=mc(a-s),l=mc(o-c),h=n(s,c),p=n(s+1,c),d=n(s,c+1),b=n(s+1,c+1);return(h+(p-h)*i)*(1-l)+(d+(b-d)*i)*l}}function Zp(e,r,t,n){let a=t/Math.SQRT2,o=Math.ceil(e/a),s=Math.ceil(r/a),c=new Int32Array(o*s).fill(-1),i=[],l=[],h=(d,b)=>{let m=i.length;i.push([d,b]),c[Math.floor(b/a)*o+Math.floor(d/a)]=m,l.push(m)},p=(d,b)=>{if(d<0||b<0||d>=e||b>=r)return!1;let m=Math.floor(d/a),x=Math.floor(b/a);for(let u=Math.max(x-2,0);u<=Math.min(x+2,s-1);u++)for(let A=Math.max(m-2,0);A<=Math.min(m+2,o-1);A++){let k=c[u*o+A];if(k<0)continue;let C=i[k][0]-d,M=i[k][1]-b;if(C*C+M*M<t*t)return!1}return!0};for(h(n()*e,n()*r);l.length;){let d=n()*l.length|0,[b,m]=i[l[d]],x=!1;for(let u=0;u<24;u++){let A=n()*Math.PI*2,k=t*(1+n()),C=b+Math.cos(A)*k,M=m+Math.sin(A)*k;if(p(C,M)){h(C,M),x=!0;break}}x||l.splice(d,1)}return i}var vt=(e,r)=>(e()-.5)*r,Vo=[(e,r,t)=>{let n=r*.5,a=r*(.14+t()*.04),o=r*.07;e.beginPath(),e.moveTo(-a-o*.6,-n),e.lineTo(a+o*.6,-n),e.moveTo(-a,-n+o),e.lineTo(a,-n+o),e.moveTo(-a,-n+o),e.lineTo(-a*.85,n-o),e.moveTo(a,-n+o),e.lineTo(a*.85,n-o),e.moveTo(0,-n+o*1.7),e.lineTo(0,n-o*1.7),e.moveTo(-a,n-o),e.lineTo(a,n-o),e.moveTo(-a-o*.6,n),e.lineTo(a+o*.6,n),e.stroke()},(e,r,t)=>{let n=r*.5,a=-n*(.18+t()*.1);e.beginPath(),e.moveTo(-n,a),e.lineTo(0,-n),e.lineTo(n,a),e.closePath(),e.moveTo(-n*.92,a+n*.16),e.lineTo(n*.92,a+n*.16);for(let o of[-.62,-.21,.21,.62])e.moveTo(n*o,a+n*.16),e.lineTo(n*o,n*.8);e.moveTo(-n,n*.8),e.lineTo(n,n*.8),e.stroke()},(e,r,t)=>{let n=r*.5,a=n*(.48+t()*.12);e.beginPath(),e.moveTo(-n*.2,-n*.86),e.lineTo(n*.2,-n*.86),e.moveTo(-n*.15,-n*.78),e.bezierCurveTo(-a,-n*.3,-a*.85,n*.6,0,n*.86),e.bezierCurveTo(a*.85,n*.6,a,-n*.3,n*.15,-n*.78),e.moveTo(-n*.17,-n*.64),e.quadraticCurveTo(-a*1.16,-n*.48,-a*.7,-n*.04),e.moveTo(n*.17,-n*.64),e.quadraticCurveTo(a*1.16,-n*.48,a*.7,-n*.04),e.stroke()},(e,r,t)=>{let n=r*.5;e.beginPath(),e.moveTo(-n*.9,n*.52),e.quadraticCurveTo(0,-n*.18,n*.9,-n*.58),e.stroke();let a=4+(t()*3|0);for(let o=0;o<a;o++){let s=.16+o/a*.8,c=-n*.9+s*n*1.8,i=n*.52-s*n*1.16+(1-s)*s*n*.3,l=o%2?1:-1,h=n*(.26+t()*.1);e.beginPath(),e.moveTo(c,i),e.quadraticCurveTo(c+h*.5,i+l*h*.66,c+h*.9,i+l*h*.08),e.quadraticCurveTo(c+h*.42,i+l*h*.04,c,i),e.stroke()}},(e,r,t)=>{let n=r*.5;e.beginPath(),e.moveTo(-n*.85,-n*.7),e.quadraticCurveTo(-n*.1,-n*.35,n*.2,n*.1),e.stroke();let a=[[-n*.45,-n*.12],[n*.05,n*.3],[n*.42,-n*.4]];for(let[o,s]of a)e.beginPath(),e.moveTo(o,s-n*.28),e.lineTo(o-n*.02,s-n*.16),e.stroke(),e.beginPath(),e.ellipse(o,s,n*(.15+t()*.04),n*.19,vt(t,.5),0,Math.PI*2),e.stroke()},(e,r,t)=>{let n=r*.5;for(let a of[-1,1]){e.beginPath(),e.arc(0,0,n*.72,a>0?-1.25:1.25,a>0?1.25:Math.PI*2-1.25,a<0),e.stroke();for(let o=0;o<5;o++){let s=-1.05+o/4*2.1,c=Math.sin(s)*a*n*.72,i=Math.cos(s)*n*.72,l=n*(.2+t()*.08);e.beginPath(),e.moveTo(c,i),e.quadraticCurveTo(c+a*l*.9,i-l*.5,c+a*l*.6,i-l*1.05),e.stroke()}}},(e,r)=>{let t=r*.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,r)=>{let t=r*.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,r,t)=>{let n=r*.5;e.beginPath(),e.arc(0,0,n*.4,0,Math.PI*2),e.stroke();let a=t()*.5;for(let o=0;o<8;o++){let s=a+o/8*Math.PI*2;e.beginPath(),e.moveTo(Math.cos(s)*n*.6,Math.sin(s)*n*.6),e.lineTo(Math.cos(s)*n*.94,Math.sin(s)*n*.94),e.stroke()}},(e,r)=>{let t=r*.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 n of[-.16,.02,.2])e.moveTo(t*n,-t*.56),e.lineTo(t*n,t*.62);e.stroke()},(e,r,t)=>{let n=r*.5,a=n*(.4+t()*.18);e.beginPath(),e.moveTo(-n,n*.16),e.quadraticCurveTo(-n*.5,-a,0,-n*.02),e.quadraticCurveTo(n*.5,-a,n,n*.16),e.stroke()}],bc=[(e,r,t)=>{let n=r*.5,a=-n+vt(t,n*.3),o=vt(t,n);e.beginPath(),e.moveTo(a,o);let s=4+(t()*4|0);for(let c=0;c<s;c++){let i=a+n*2/s+vt(t,n*.5),l=vt(t,n*1.5);e.quadraticCurveTo(a+vt(t,n*.9),o+vt(t,n*1.6),i,l),a=i,o=l}e.stroke()},(e,r,t)=>{let n=r*.5,a=2.2+t()*1.6,o=t()<.5?-1:1;e.beginPath();for(let s=0;s<=60;s++){let c=s/60,i=o*c*a*Math.PI*2,l=n*c*(.9+vt(t,.06)),h=Math.cos(i)*l,p=Math.sin(i)*l;s===0?e.moveTo(h,p):e.lineTo(h,p)}e.stroke()},(e,r,t)=>{let n=r*.5,a=4+(t()*4|0),o=vt(t,.7);for(let s=0;s<a;s++){let c=-n+s/(a-1)*n*2+vt(t,n*.16),i=n*(.7+t()*.6);e.beginPath(),e.moveTo(c-o*i*.5,-i*.5),e.quadraticCurveTo(c+vt(t,n*.2),0,c+o*i*.5,i*.5),e.stroke()}},(e,r,t)=>{let n=r*.5,a=2+(t()*3|0),o=n*2/a;e.beginPath(),e.moveTo(-n,n*.4);for(let s=0;s<a;s++){let c=-n+s*o,i=o*(.42+t()*.18);e.bezierCurveTo(c+i*.2,n*.4-i*2.1,c+o-i*.2,n*.4-i*2.1,c+o,n*.4+vt(t,n*.14))}e.stroke()}],fc=[(e,r,t)=>{e.beginPath(),e.arc(0,0,r*.1+t()*r*.04,0,Math.PI*2),e.fill()},(e,r,t)=>{e.beginPath(),e.arc(vt(t,r*.04),vt(t,r*.04),r*.32,0,Math.PI*2),e.stroke()},(e,r,t)=>{let n=r*.4,a=n*(.2+t()*.12);e.beginPath(),e.moveTo(0,-n),e.quadraticCurveTo(a,-a,n,0),e.quadraticCurveTo(a,a,0,n),e.quadraticCurveTo(-a,a,-n,0),e.quadraticCurveTo(-a,-a,0,-n),e.stroke()},(e,r,t)=>{let n=r*.4;e.beginPath(),e.moveTo(-n,vt(t,r*.08)),e.quadraticCurveTo(0,vt(t,r*.16),n,vt(t,r*.08)),e.stroke()}],ed={light:(e,r)=>{let t=r*.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,r)=>{let t=r*.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,r)=>{let t=r*.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 n=0;n<3;n++){let a=-.34+n*.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,r)=>{let t=r*.5;for(let n=0;n<5;n++){let a=n/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,r)=>{let t=r*.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,r)=>{let t=r*.5;e.beginPath();for(let n=0;n<10;n++){let a=n%2===0?t:t*.4,o=n/10*Math.PI*2-Math.PI/2,s=Math.cos(o)*a,c=Math.sin(o)*a;n===0?e.moveTo(s,c):e.lineTo(s,c)}e.closePath(),e.stroke()}},kc=e=>{let r=e.split(",").map(t=>parseFloat(t.trim()));return[r[0]||0,r[1]||0,r[2]||0]};function Go(e,r,t){let n=kc(e),a=kc(r);return`rgb(${Math.round(n[0]+(a[0]-n[0])*t)},${Math.round(n[1]+(a[1]-n[1])*t)},${Math.round(n[2]+(a[2]-n[2])*t)})`}var jo=new Set,Ko=new Set;function Xo(){for(let e of Ko)e()}function wc(e){jo.forEach(r=>r(e))}var td=83,gc=[{k:.45,hop:1},{k:1.15,hop:.55},{k:.95,hop:.12},{k:1,hop:0}],xc=7,rd=.28;function nd(e,r,t){return`hsl(${Math.round(r*300%360)}, ${t?72:68}%, ${t?58:46}%)`}function Cc(e,r,t,n,a,o,s,c=r){let i=s?ed[s]:void 0,l=On(a),h=Jp(On(a^2654435769)),p=e*r,b=Math.max(40,Math.min(520,Math.round(p/3100)))/.48,m=Math.max(26,Math.sqrt(.7*p/b)),x=Zp(e,r,m,l),u=4.4/Math.max(e,r),A=u*2.6,k=Math.hypot(e,r),C=l()*Math.PI*2,M=Math.cos(C),g=Math.sin(C),P=e*(.18+l()*.64),_=r*(.12+l()*.5),T=[],W=Math.hypot(e,r)||1,R=On(a^1540483477),N=o?e:0,H=Math.hypot(e,c)||1,[se,I,de]=t.split(",").map(B=>parseFloat(B)||0),ie=.2126*se+.7152*I+.0722*de>128;for(let[B,le]of x){let j=h(B*u,le*u)*.72+h(B*A,le*A)*.28,D=Math.min(1,Math.max(0,(j-.26)/.44));if(l()>D*D*(3-2*D))continue;let U=l(),F=Math.max(0,1-Math.hypot(B-P,le-_)/(k*.72))**1.6,S=((B-e/2)*M+(le-r/2)*g)/k+.5,X=!ie,w=((X?.055:.028)+l()*(X?.04:.025))*(.75+S*.55)*(1+F*.4),z=Go(t,n,F*.85),y=((o?e-B:B)+r-le)/(e+r||1),Q=l()*16777215|0,ee=nd(Q,y,ie),O=0,J=X?1.05+l()*.35:.65+l()*.35,f=20,L=Vo[0],K=1;U<.5?(O=vt(l,.16),J=X?1.15+l()*.45:.7+l()*.35,f=20+l()*16,L=Vo[l()*Vo.length|0]):U<.82?(O=l()*Math.PI*2,J=X?.95+l()*.4:.6+l()*.4,f=16+l()*20,L=bc[l()*bc.length|0]):U<.95||!i?(O=l()*Math.PI*2,J=X?.85+l()*.35:.55+l()*.35,f=7+l()*7,L=fc[l()*fc.length|0]):(O=vt(l,.3),J=X?1.1+l()*.3:.75+l()*.3,f=15+l()*9,L=i,K=2.6),T.push({x:B,y:le,roll:U,rotation:O,lineWidth:J,alpha:w*K,baseColor:z,shimmerColor:ee,drawFn:L,size:f,seed:Q,normDist:y,bloom:Math.min(1,Math.hypot(B-N,le-c)/H)*.62+R()*.08,glow:ie?.2:.06,ux:(B-N)/(Math.hypot(B-N,le-c)||1),uy:(le-c)/(Math.hypot(B-N,le-c)||1)})}return T}var ad=.3;function od(e){return 1+(1.2+1)*(e-1)**3+1.2*(e-1)**2}function Wr(e,r,t,n,a,o=1,s){e.clearRect(0,0,t,n),e.lineCap="round",e.lineJoin="round";let c=a>=0&&a<=1.4,i=c?a*1.4-.2:-999,l=.3;for(let h of r){let p=h.alpha,d=h.baseColor,b=h.lineWidth,m=1,x=0,u=0;if(s!==void 0){let k=Math.min(1,Math.max(0,(s-h.bloom)/ad));if(k<=0)continue;let C=1-(1-k)**3,M=Math.sin(k*Math.PI)**2;p=h.alpha*C+M*h.glow,d=Go(h.baseColor,h.shimmerColor,M*(h.glow>.1?.85:.55)),b=h.lineWidth*(1+M*.35),m=.86+.14*od(k),x=-h.ux*(1-C)*9,u=-h.uy*(1-C)*9}else if(c){let k=h.normDist-i;if(k>l)p=h.alpha*.45,d=h.baseColor,b=h.lineWidth;else if(k<-l)p=h.alpha,d=h.baseColor,b=h.lineWidth;else{let C=Math.cos(k/l*(Math.PI/2))**2;p=h.alpha+C*.08,d=C>.08?Go(h.baseColor,h.shimmerColor,C*.65):h.baseColor,b=h.lineWidth*(1+C*.2)}}e.save(),e.translate(h.x+(h.dx??0)+x,h.y+(h.dy??0)+u),e.rotate(h.rotation+(h.dr??0)),m!==1&&e.scale(m,m),h.hop&&(e.scale(1+h.hop,1+h.hop),p*=1+h.hop*2),e.globalAlpha=Math.min(p*o,1),e.strokeStyle=d,e.fillStyle=d,e.lineWidth=b;let A=On(h.seed);h.drawFn(e,h.size,A),e.restore()}}var sd=Xp.memo(function({seed:r="",theme:t,dir:n,waitForContent:a=!1}){let o=Tr(null),s=Tr(!1),c=Tr(0),i=Tr(null),l=Tr(0),h=Tr(0),p=Tr(a);return Yo(()=>{let d=o.current;if(!d)return;let b=yc(r||"kiku"),m=0,x=(R,N,H,se)=>()=>{let I=performance.now(),de=d.clientWidth,ie=d.clientHeight;R===null&&de&&ie&&(R=I);let B=R===null?0:I-R,le=Math.min(1,B/N);if(de&&ie){let j=Math.min(window.devicePixelRatio||1,3),D=Math.round(de*j),U=Math.round(ie*j);(d.width!==D||d.height!==U)&&(d.width=D,d.height=U);let F=d.getContext("2d");F&&(F.setTransform(j,0,0,j,0,0),Wr(F,H,de,ie,-1,1,le))}if(le<1)c.current=requestAnimationFrame(x(R,N,H,se));else{s.current=!1;let j=d.clientWidth,D=d.clientHeight,U=d.getContext("2d");if(U&&j&&D){let F=Math.min(window.devicePixelRatio||1,3);U.setTransform(F,0,0,F,0,0),Wr(U,H,j,D,-1)}}},u=()=>{let R=d.clientWidth,N=d.clientHeight;if(!R||!N)return;let H=Math.min(window.devicePixelRatio||1,3),se=d.getContext("2d");if(!se)return;let I=getComputedStyle(d),de=I.getPropertyValue("--hsk-doodle-ink").trim()||"31,31,31",ie=I.getPropertyValue("--hsk-doodle-tint").trim()||de,B=n==="rtl"||I.direction==="rtl"||d.closest('[dir="rtl"]')!==null,le=typeof window<"u"?Math.max(N,window.innerHeight||0):N,j=Cc(R,le,de,ie,b,B,t,N);i.current=j,l.current=R,h.current=le;let D=Math.round(R*H),U=Math.round(N*H);if((d.width!==D||d.height!==U)&&(d.width=D,d.height=U),se.setTransform(H,0,0,H,0,0),p.current){se.clearRect(0,0,R,N);return}if(window.matchMedia?.("(prefers-reduced-motion: reduce)")?.matches){Wr(se,j,R,N,-1);return}cancelAnimationFrame(c.current),s.current=!0;let S=1500;c.current=requestAnimationFrame(x(null,S,j,B))},A=()=>{let R=i.current,N=d.clientWidth,H=d.clientHeight;if(R&&N===l.current&&H<=h.current){if(s.current||p.current||!H)return;let se=d.getContext("2d");if(!se)return;let I=Math.min(window.devicePixelRatio||1,3);d.width=Math.round(N*I),d.height=Math.round(H*I),se.setTransform(I,0,0,I,0,0),Wr(se,R,N,H,-1);return}clearTimeout(m),m=window.setTimeout(u,20)};u();let k=()=>{p.current&&(p.current=!1,u())};Ko.add(k);let C=p.current?window.setTimeout(k,2e3):0,M=new ResizeObserver(A);M.observe(d);let g=window.matchMedia?.("(prefers-color-scheme: dark)"),P=()=>{u()};g?.addEventListener?.("change",P);let _=0,T=()=>{let R=i.current,N=d.getContext("2d"),H=d.clientWidth,se=d.clientHeight;if(!R||!N||!H||!se)return;let I=Math.min(window.devicePixelRatio||1,3);N.setTransform(I,0,0,I,0,0),Wr(N,R,H,se,-1)},W=({x:R,y:N,strength:H})=>{let se=i.current;if(p.current||s.current||!se||window.matchMedia?.("(prefers-reduced-motion: reduce)")?.matches)return;cancelAnimationFrame(c.current),s.current=!1,clearTimeout(_);let I=d.getBoundingClientRect(),de=R-I.left,ie=N-I.top,B=On(performance.now()*997|0),le=(F,S)=>Math.max(-S,Math.min(S,F)),j=se.map(F=>{let S=F.dx??0,X=F.dy??0,E=F.dr??0,w=F.x-de,z=F.y-ie,y=Math.hypot(w,z)||1,Q=H*(.18+.82*Math.exp(-y/220)),ee=Q*(.6+B()*1.8),O=le(S+w/y*ee+(B()-.5)*Q*2,xc),J=le(X+z/y*ee+(B()-.5)*Q*2,xc),f=le(E+(B()-.5)*Q*.12,rd);return{g:F,fx:S,fy:X,fr:E,tx:O,ty:J,tr:f,lift:Q*.09}}),D=0,U=()=>{let F=gc[D];for(let S of j)S.g.dx=S.fx+(S.tx-S.fx)*F.k,S.g.dy=S.fy+(S.ty-S.fy)*F.k,S.g.dr=S.fr+(S.tr-S.fr)*F.k,S.g.hop=S.lift*F.hop;T(),++D<gc.length&&(_=window.setTimeout(U,td))};U()};return jo.add(W),()=>{jo.delete(W),Ko.delete(k),clearTimeout(C),clearTimeout(_),clearTimeout(m),cancelAnimationFrame(c.current),s.current=!1,M.disconnect(),g?.removeEventListener?.("change",P)}},[r,t,n]),Sa("canvas",{className:"hsk-cb-doodles",ref:o,"aria-hidden":"true"})}),$n=3,vc=1800;function id({seed:e="",theme:r,alphaScale:t=1.8,weight:n=.6}){let a=Tr(null);return Yo(()=>{let o=a.current,s=o?.getContext("2d");if(!o||!s)return;let c=0,i=()=>{let h=o.clientWidth,p=o.clientHeight,d=Math.min(window.devicePixelRatio||1,3);o.width=Math.round(h*d),o.height=Math.round(p*d);let b=getComputedStyle(o),m=b.getPropertyValue("--hsk-doodle-ink").trim()||"31,31,31",x=b.getPropertyValue("--hsk-doodle-tint").trim()||m,u=h*$n,A=p*$n,k=Cc(u,A,m,x,yc(e||"kiku"),!1,r);for(let g of k)g.lineWidth*=$n*n;if(s.setTransform(d/$n,0,0,d/$n,0,0),window.matchMedia?.("(prefers-reduced-motion: reduce)")?.matches){Wr(s,k,u,A,-1,t);return}let C=performance.now(),M=g=>{let P=(g-C)%(vc*2)/vc,_=P<1?P:2-P;Wr(s,k,u,A,(1-Math.cos(_*Math.PI))/2*1.4,t),c=requestAnimationFrame(M)};c=requestAnimationFrame(M)},l=new ResizeObserver(()=>{c||!o.clientWidth||!o.clientHeight||(l.disconnect(),i())});return l.observe(o),()=>{l.disconnect(),cancelAnimationFrame(c)}},[e,r,t,n]),Sa("canvas",{className:"hsk-doodle-shimmer",ref:a,"aria-hidden":"true"})}var cd=300;function pn({active:e,seed:r,theme:t}){let[n,a]=Qp(e);return Yo(()=>{if(e){a(!0);return}let o=setTimeout(()=>a(!1),cd);return()=>clearTimeout(o)},[e]),n?Sa("span",{className:`hsk-working-veil${e?"":" is-leaving"}`,"aria-hidden":"true",children:Sa(id,{seed:r,theme:t,alphaScale:18,weight:1.15})}):null}var Ma=sd;import qn,{useState as rr,useEffect as Qo,useCallback as Sc}from"react";import{useAkropolysContext as ld}from"@akropolys/sdk";import{jsx as Rc}from"react/jsx-runtime";var hd={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 dn(e){let r=e?hd[e.trim().toLowerCase()]:void 0;return r?{dir:r==="ar"||r==="ur"||r==="fa"?"rtl":"ltr",bcp47:r}:null}function pd(e){let r=/var\(\s*(--[\w-]+)/.exec(e)?.[1];if(!r||typeof document>"u")return"";for(let t of[document.documentElement,document.body]){let n=t?getComputedStyle(t).getPropertyValue(r).trim():"";if(n)return n.split(",")[0].trim()}return""}var Mc=5e3,Tc=[5e3,15e3,45e3,12e4];function Lc({shopperLanguage:e,theme:r,preloadedStrings:t}){let n=ld(),a=e?n?.getCachedUIStrings?.(e,Dt)??n?.getCachedUIStrings?.(e,Mr):null,o=t&&Object.keys(t).length>0?t:a?.strings??{},[s,c]=rr(()=>o),[i,l]=rr(()=>!e||t&&Object.keys(t).length>0||!!a?.complete),[h,p]=rr(()=>t&&Object.keys(t).length>0||a?.complete?e:!e||dn(e)?.bcp47==="en"?e||"en":""),d=!e||dn(e)?.bcp47==="en",b=s;t&&Object.keys(t).length>0&&(b={...s,...t});let m=e?`akropolys_ui_dir_${e.toLowerCase()}`:"",[x,u]=rr(()=>{if(a?.dir)return a.dir==="rtl";let F=dn(e);if(F)return F.dir==="rtl";if(Dr(e)?.rtl)return!0;if(typeof window>"u"||!m)return!1;try{return localStorage.getItem(m)==="rtl"}catch{return!1}}),[A,k]=rr(()=>a?.bcp47||dn(e)?.bcp47||""),[C,M]=rr(()=>a?.font??null),[g,P]=rr(()=>Ni(n)),[_,T]=rr(!0),[W,R]=rr(!1),N=qn.useRef(e),[H,se]=rr(e);if(e!==H){se(e);let F=dn(e);F&&(u(F.dir==="rtl"),k(F.bcp47));let S=e?n?.getCachedUIStrings?.(e,Dt)??n?.getCachedUIStrings?.(e,Mr):null,X=t&&Object.keys(t).length>0?t:S?.strings;X&&Object.keys(X).length>0&&(c(X),b=X,S&&(S.font&&M(S.font),S.dir&&u(S.dir==="rtl"),S.bcp47&&k(S.bcp47)),S?.font&&jt(S.font),R(!Eo([S?.font?.family,g?.family].filter(E=>!!E),X)),p(e),l(!0))}let I=e===N.current||d||!W&&(h.toLowerCase()===e.toLowerCase()&&i||Object.keys(b).length>0);Qo(()=>{if(!e){k(""),M(null),c({}),p(""),l(!0),u(!1);return}let F=dn(e),S=Dr(e),X=F?.bcp47==="en",E=!1,w=(ee,O)=>{let J=[ee?.family,g?.family].filter(f=>!!f);if(e===N.current||Eo(J,O)){R(!1);return}R(!0),zo(J,O,Mc).then(()=>{E||R(!1)})},z=n?.getCachedUIStrings?.(e,Dt);if(z?.strings&&Object.keys(z.strings).length>0)return c(z.strings),u(z.dir==="rtl"),k(z.bcp47||F?.bcp47||""),z.font&&(jt(z.font),M(z.font)),w(z.font,z.strings),p(e),l(!0),()=>{E=!0};let y=n?.getCachedUIStrings?.(e,Mr);y?.strings&&Object.keys(y.strings).length>0?(c(y.strings),u(y.dir==="rtl"),k(y.bcp47||F?.bcp47||""),y.font&&(jt(y.font),M(y.font)),w(y.font,y.strings),p(e),l(!0)):(R(!1),c({}),F?(u(F.dir==="rtl"),k(F.bcp47)):S?.rtl&&u(!0),X||l(!1));let Q=async()=>{let ee=!1;try{if(!y?.strings){let J=await n.getUIStrings?.(e,Mr);if(!E&&J?.complete){R(!0),c(L=>({...L,...J.strings})),u(J.dir==="rtl"),k(J.bcp47||F?.bcp47||"");try{localStorage.setItem(m,J.dir)}catch{}J.font&&jt(J.font);let f=[J.font?.family,g?.family].filter(L=>!!L);await zo(f,J.strings,Mc),E||(J.font&&M(J.font),p(e),l(!0),R(!1))}}let O=await n.getUIStrings?.(e,Dt);!E&&O?.complete&&(ee=!0,c(J=>({...J,...O.strings})),O.font&&(await jt(O.font,1200),E||M(O.font)))}catch{return!1}return ee};return(async()=>{for(let ee=0;!E&&!await Q();ee++){let O=Tc[Math.min(ee,Tc.length-1)];await new Promise(J=>window.setTimeout(J,O))}})(),()=>{E=!0}},[e,n,m]),Qo(()=>{let F=!1;return(async()=>{try{let S=await No(n);!F&&S&&P(S)}catch{}F||T(!0)})(),()=>{F=!0}},[n]),Lo(C),Lo(g);let de=qn.useMemo(()=>{let S=(typeof r=="object"&&r?.fontFamily?r.fontFamily:"").split(",")[0].trim(),X=/^var\(/i.test(S),E=S.replace(/^['"]|['"]$/g,""),w=X?pd(S):"",z=X?w?`${w}, `:"":E?`"${E}", `:"";if(C)return`"${C.family}", ${z}"Geist", system-ui, sans-serif`;let y=e?e.trim().toLowerCase():"";if(y==="japanese"||y==="ja"||y==="\u65E5\u672C\u8A9E")return`${z}"Geist", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", system-ui, sans-serif`;if(y==="chinese"||y==="zh"||y==="\u4E2D\u6587")return`${z}"Geist", "PingFang SC", "Microsoft YaHei", "Hiragino Sans GB", system-ui, sans-serif`;if(y==="urdu"||y==="ur"||y==="\u0627\u0631\u062F\u0648")return`"Noto Nastaliq Urdu", ${z}"IBM Plex Sans Arabic", "Geist", system-ui, sans-serif`;if(y==="arabic"||y==="ar"||y==="\u0627\u0644\u0639\u0631\u0628\u064A\u0629")return`"IBM Plex Sans Arabic", ${z}"Geist", system-ui, sans-serif`;if(y==="hindi"||y==="hi"||y==="\u0939\u093F\u0928\u094D\u0926\u0940")return`"Hind", ${z}"Geist", system-ui, sans-serif`},[C,e,typeof r=="object"&&r?r.fontFamily:void 0]),ie=qn.useMemo(()=>{let F=0,S=0;for(let X of Object.values(s))for(let E of X){let w=E.codePointAt(0)??0;w<192||/\p{L}/u.test(E)&&(w<=591?F++:S++)}return S>F},[s]),[B,le]=rr(0);Qo(()=>{if(typeof document>"u"||!document.fonts?.ready)return;let F=!0;return document.fonts.ready.then(()=>{F&&le(S=>S+1)}),()=>{F=!1}},[C]);let j=qn.useMemo(()=>{if(!ie||typeof document>"u")return!0;let S=(typeof r=="object"&&r?.fontFamily?r.fontFamily:"").split(",")[0].trim();if(!S)return!1;let X="";for(let w of Object.values(s))if(w){X=w;break}if(!X)return!0;let E=X.replace(/\s+/g,"");if(!E)return!0;try{let z=document.createElement("canvas").getContext("2d");if(!z)return!0;let y=S.startsWith("var(")&&getComputedStyle(document.documentElement).getPropertyValue(S.slice(4,-1).trim()).trim()||S;z.font=`16px ${y}, __akropolys_nonexistent_font__`;let Q=z.measureText(E).width;z.font="16px __akropolys_nonexistent_font__";let ee=z.measureText(E).width;return Math.abs(Q-ee)>1}catch{return!0}},[ie,s,typeof r=="object"&&r?r.fontFamily:void 0,B]),D=Sc((F,S)=>{let X=b[F]||s[F]||Dt[F]||F;if(S)for(let[E,w]of Object.entries(S))X=X.split(`{${E}}`).join(w);return X},[b,s]),U=Sc((F,S)=>(b[F]||s[F]||Dt[F]||F).split(/(\{[a-zA-Z]+\})/g).map((E,w)=>{let z=E.match(/^\{([a-zA-Z]+)\}$/);return z&&S?.[z[1]]!==void 0?Rc("bdi",{children:S[z[1]]},w):Rc(qn.Fragment,{children:E},w)}),[b,s]);return{chromeStrings:s,chromeReady:I,isRTL:x,speechLang:A,scriptFont:C,fontStack:de,isNonLatin:ie,hostFontCovers:j,baseFontReady:_,t:D,tNode:U}}import{useState as un,useRef as lt,useEffect as Ta,useLayoutEffect as dd,useCallback as lr}from"react";function Ec({messages:e,loading:r,streaming:t,messageRefs:n}){let a=lt(null),o=lt(0),[s,c]=un(!1),[i,l]=un(1),[h,p]=un(0),d=lt(()=>{}),b=lt(null),m=lt(!1),x=lt(!0),u=lt(!1),A=lt(null),k=lt(null),C=lt(e.length),M=lt(!1),g=lt(()=>{}),P=lt(()=>{}),_=lt(null),T=lt(()=>{}),[W,R]=un(0),N=lt(0),H=lt(""),se=lt(()=>{}),I=lt(()=>{});Ta(()=>{let f=a.current;if(!f)return;let L,K=()=>{clearTimeout(L),L=setTimeout(()=>{m.current=!1},150)},G=()=>{clearTimeout(L),m.current=!0,se.current()},Y=()=>{m.current&&K()};return f.addEventListener("touchstart",G,{passive:!0}),f.addEventListener("touchend",K,{passive:!0}),f.addEventListener("touchcancel",K,{passive:!0}),f.addEventListener("scroll",Y,{passive:!0}),()=>{clearTimeout(L),f.removeEventListener("touchstart",G),f.removeEventListener("touchend",K),f.removeEventListener("touchcancel",K),f.removeEventListener("scroll",Y)}},[]),Ta(()=>{let f=a.current;if(!f)return;let L=160,K=8,G=0,Y=()=>{G=0;let ue=A.current?.offsetHeight??0,he=f.scrollHeight-ue-f.scrollTop-f.clientHeight,q=performance.now()-o.current<400;he<=K&&(!u.current||q)&&(x.current||I.current(),x.current=!0,u.current=!1,U.current()),c(he>L&&!x.current);let ce=f.scrollHeight-f.clientHeight;l(ce>8?Math.min(1,Math.max(0,f.scrollTop/ce)):1);let Se=f.scrollTop+f.clientHeight*.33,me=0;for(let ve=0;ve<n.current.length;ve++){let _e=n.current[ve];_e&&_e.offsetTop<=Se&&(me=ve)}p(me)},te=()=>{G||(G=requestAnimationFrame(Y))};Y(),f.addEventListener("scroll",te,{passive:!0});let ge=new ResizeObserver(()=>{k.current?g.current("sync"):x.current&&!m.current&&P.current(),te()});ge.observe(f);for(let ue of n.current)ue&&ge.observe(ue);return()=>{G&&cancelAnimationFrame(G),f.removeEventListener("scroll",te),ge.disconnect()}},[e.length,n]);let de=lr(f=>{let L=`${f}:${N.current}`;H.current!==L&&(H.current=L,R(K=>K+1))},[]),[ie,B]=un(!1),le=lt(!1),j=lr(()=>{le.current||(le.current=!0,B(!0))},[]),D=lr(()=>{le.current&&(le.current=!1,B(!1))},[]),U=lt(()=>{});U.current=D;let[F,S]=un(!1),X=lt(!1),E=lt(0),w=lr(()=>{X.current=!1,S(!1)},[]),z=lr(()=>{H.current="",w(),D()},[w,D]),y=lr(()=>{X.current&&(performance.now()-E.current<700||w())},[w]);se.current=y,I.current=z,Ta(()=>{if(W===0)return;X.current=!0,E.current=performance.now(),S(!0);let f=setTimeout(w,4200);return()=>clearTimeout(f)},[W,w]);let Q=lr(()=>{M.current=!1,k.current&&(k.current=null,A.current&&(A.current.style.height=""))},[]);T.current=Q,P.current=()=>{let f=a.current;if(!f)return;let L=f.scrollHeight-f.clientHeight;_.current?_.current(L):f.scrollTop=L},g.current=f=>{let L=a.current,K=A.current,G=k.current,Y=q=>{let ce=f==="sync"?_.current:b.current;ce?ce(q):L&&(L.scrollTop=q)},te=P.current;if(!L||!K||!G||!G.isConnected){Q(),x.current&&te();return}let ge=parseFloat(getComputedStyle(L).paddingTop)||0;K.offsetHeight<L.clientHeight&&(K.style.height=`${L.clientHeight}px`);let ue=Math.max(0,G.offsetTop-ge),he=ue+L.clientHeight-(L.scrollHeight-K.offsetHeight);if(he<=0){Q(),x.current=!1,u.current=!0,Y(ue);return}he!==K.offsetHeight&&(K.style.height=`${he}px`),Y(ue)};let ee=lr(f=>{let L=a.current,K=n.current[f];if(!L||!K)return;let G=K.offsetTop-Math.max(0,(L.clientHeight-K.clientHeight)/2),Y=Math.max(0,Math.min(L.scrollHeight-L.clientHeight,G));b.current?b.current(Y):L.scrollTo({top:Y,behavior:"smooth"})},[n]),O=lr(f=>{let L=a.current;if(!L||!L.contains(f))return;M.current=!1,k.current=null,x.current=!1,u.current=!0;let K=L.getBoundingClientRect(),G=f.getBoundingClientRect(),Y=Math.min(G.height>K.height?176:64,K.height/3);if(G.top>=K.top+Y&&G.bottom<=K.bottom-8)return;let te=Math.max(0,Math.min(L.scrollHeight-L.clientHeight,L.scrollTop+G.top-K.top-Y));b.current?b.current(te):L.scrollTo({top:te,behavior:"auto"})},[]),J=lr(()=>{let f=a.current;if(!f)return;x.current=!0,u.current=!1,T.current(),I.current();let L=f.scrollHeight-f.clientHeight;b.current?b.current(L):f.scrollTo({top:L,behavior:"smooth"})},[]);return dd(()=>{let f=a.current;if(!f)return;let L=e.slice(C.current);if(C.current=e.length,L.some(G=>G.role==="user")&&(x.current=!0,u.current=!1,I.current(),k.current=null,M.current=!0),M.current){M.current=!1;for(let G=n.current.length-1;G>=0;G--){let Y=n.current[G];if(Y?.dataset.hskRole==="user"){k.current=Y;break}}if(k.current){g.current("glide");return}}if(k.current){g.current("glide");return}let K=f.scrollTop;if(!x.current)u.current||(j(),de(e.length));else if(!m.current){P.current();return}f.scrollTop!==K&&d.current()},[e,r,t,n,de,j]),Ta(()=>{let f=a.current;if(!f||typeof window<"u"&&window.matchMedia?.("(prefers-reduced-motion: reduce)").matches)return;let L=7,K=16,G=1/(window.devicePixelRatio||1),Y=Z=>Math.round(Z/G)*G,te=f.scrollTop,ge=f.scrollTop,ue=f.scrollTop,he=0,q=null,ce=Z=>{Z!==ue&&(f.scrollTop=Z,ue=f.scrollTop)},Se=()=>{q!==null&&(cancelAnimationFrame(q),q=null),f.classList.remove("hsk-scrolling"),te=ge=ue=f.scrollTop};d.current=Se,b.current=Z=>{Math.abs(f.scrollTop-ue)>1&&(te=ge=ue=f.scrollTop);let Fe=Math.round(Math.max(0,Math.min(f.scrollHeight-f.clientHeight,Z)));Fe!==te&&(te=Fe,q===null&&(he=performance.now(),q=requestAnimationFrame(me)))},_.current=Z=>{let Fe=Math.round(Math.max(0,Math.min(f.scrollHeight-f.clientHeight,Z)));q!==null&&(cancelAnimationFrame(q),q=null,f.classList.remove("hsk-scrolling")),f.scrollTop=Fe,te=ge=ue=f.scrollTop};let me=Z=>{let Fe=Math.min((Z-he)/1e3,.05);if(he=Z,ge+=(te-ge)*(1-Math.exp(-L*Fe)),Math.abs(te-ge)<G){ge=te,ce(Math.round(te)),f.classList.remove("hsk-scrolling"),q=null;return}ce(Y(ge)),q=requestAnimationFrame(me)},ve=Z=>{if(Z.ctrlKey)return;Math.abs(f.scrollTop-ue)>1&&(te=ge=ue=f.scrollTop),Z.deltaY<0&&(x.current&&(N.current+=1),x.current=!1,k.current=null),se.current();let Fe=Z.deltaMode===1?K:Z.deltaMode===2?f.clientHeight:1,Oe=Math.max(0,f.scrollHeight-f.clientHeight),Ke=Math.round(Math.max(0,Math.min(Oe,te+Z.deltaY*Fe)));if(Ke===te){Oe>0&&Z.preventDefault();return}Z.preventDefault(),te=Ke,q===null&&(he=performance.now(),f.classList.add("hsk-scrolling"),q=requestAnimationFrame(me))},_e=f.scrollTop,qe=()=>{let Z=Math.abs(f.scrollTop-ue)>1;Z&&(o.current=performance.now(),f.scrollTop<_e-1&&x.current&&(N.current+=1,x.current=!1,k.current=null)),_e=f.scrollTop,q!==null&&Z&&(cancelAnimationFrame(q),q=null,f.classList.remove("hsk-scrolling"),te=ge=ue=f.scrollTop)};return f.addEventListener("wheel",ve,{passive:!1}),f.addEventListener("scroll",qe,{passive:!0}),()=>{f.removeEventListener("scroll",qe),f.removeEventListener("wheel",ve),q!==null&&cancelAnimationFrame(q),f.classList.remove("hsk-scrolling"),d.current=()=>{},b.current=null,_.current=null}},[]),{msgsContainerRef:a,spacerRef:A,lastExternalScrollRef:o,showJumpToBottom:s,scrollProgress:i,activeMsgIdx:h,jumpAlert:F,unreadBelow:ie,jumpToMessage:ee,revealMessage:O,jumpToBottom:J,resetAlertArming:z}}import{useState as ud,useRef as mn,useEffect as zc}from"react";var md=450,bd=45,fd=900,kd=180;function Nc(e){let[r,t]=ud(e),n=mn(e),a=mn(e),o=mn(0),s=mn(0),c=mn(0),i=mn(null);return zc(()=>()=>{i.current!==null&&cancelAnimationFrame(i.current)},[]),zc(()=>{if(a.current=e,window.matchMedia?.("(prefers-reduced-motion: reduce)").matches||!e.startsWith(n.current)){i.current!==null&&(cancelAnimationFrame(i.current),i.current=null),n.current=e,o.current=0,s.current=0,t(e);return}if(i.current!==null||n.current.length>=e.length)return;c.current=performance.now();let h=p=>{let d=Math.min(p-c.current,50);c.current=p;let b=a.current,m=b.length-n.current.length,x=Math.min(fd,Math.max(bd,m*1e3/md));o.current+=(x-o.current)*(1-Math.exp(-d/kd)),s.current+=o.current*d/1e3;let u=Math.floor(s.current);u>0&&(s.current-=u,n.current=b.slice(0,Math.min(b.length,n.current.length+u)),t(n.current)),n.current.length<a.current.length?i.current=requestAnimationFrame(h):(i.current=null,s.current=0)};i.current=requestAnimationFrame(h)},[e]),r}import{useState as Ur,useEffect as Ic,useCallback as Jo}from"react";import{useAkropolysContext as gd}from"@akropolys/sdk";function Ac(e,r){let t=gd(),[n,a]=Ur(""),[o,s]=Ur("idle"),[c,i]=Ur(null),[l,h]=Ur(null),[p,d]=Ur(null),[b,m]=Ur(_o),[x,u]=Ur(!1),A=Jo(async(M,g)=>{try{navigator.clipboard&&window.isSecureContext?await navigator.clipboard.writeText(M):xd(M),d(g),setTimeout(()=>d(null),2e3)}catch{}},[]);Ic(()=>{e&&e.type==="request_kiku_key"&&(s("prompt_key"),a(""))},[e]),Ic(()=>{if(!c)return;m(_o);let M=setInterval(()=>{m(g=>g<=1?(clearInterval(M),i(null),h(null),0):g-1)},1e3);return()=>clearInterval(M)},[c]);let k=Jo(async()=>{let M=n.trim();M&&(t.setKikuPub(M),a(""),s("idle"),await r())},[t,n,r]),C=Jo(async()=>{if(!x){u(!0);try{let{secret:M,publicId:g}=await t.mintKikuKey();i(M),h(g),s("idle"),await r()}catch{}finally{u(!1)}}},[t,x,r]);return{keyInput:n,setKeyInput:a,keyPhase:o,setKeyPhase:s,mintedKey:c,setMintedKey:i,mintedPub:l,setMintedPub:h,copied:p,keyCountdown:b,minting:x,copyValue:A,handleUseExistingKey:k,handleCreateKey:C}}function xd(e){let r=document.createElement("textarea");r.value=e,r.setAttribute("readonly",""),r.style.cssText="position:fixed;top:0;left:0;opacity:0;",document.body.appendChild(r),r.select(),r.setSelectionRange(0,e.length);let t=document.execCommand("copy");if(r.remove(),!t)throw new Error("copy failed")}import{useCallback as Ra}from"react";function Pc({attachments:e,setAttachments:r,setInput:t,send:n,t:a}){let o=Ra(l=>{if(typeof l.id!="string"||!l.id.trim())return;let h=l.name||"",p=`@kiku ${a("displayCapture",{name:h}).trim()}`,d=h||"capture current page";t("");let b=e;r([]);let m={id:l.id,name:h,url:l.url||l.fields?.url,image:l.image,fields:l.fields};n(d,p,b.length>0?b:void 0,"capture",[m])},[e,n,r,t,a]),s=Ra(l=>{let h=l.filter(b=>typeof b.id=="string"&&b.id.trim().length>0).map(b=>({id:b.id,name:b.name||"",url:b.url||b.fields?.url,fields:b.fields,image:b.image||""}));if(h.length===0)return;let p=h.map(b=>b.name).filter(Boolean).join(", "),d=`@kiku ${a("displayCaptureAll",{count:String(h.length)})}`;t(""),r([]),n(p||"capture all",d,void 0,"capture_all",h)},[n,r,t,a]),c=Ra(()=>{let l=`@kiku ${a("displayViewHistory")}`;t(""),r([]),n("show my saved items",l,void 0,"view_history")},[n,r,t,a]),i=Ra(()=>{let l=`@kiku ${a("displayDelete")}`;t(""),r([]),n("delete this",l,void 0,"delete")},[n,r,t,a]);return{handleKikuCapture:o,handleKikuCaptureAll:s,handleKikuViewHistory:c,handleKikuDelete:i}}import{useState as Gr,useCallback as Ia,useEffect as Jc,useRef as $d}from"react";import{useAkropolysContext as Od}from"@akropolys/sdk";var Ea=null,_c=null,La=null,Wn=null,Fc=!1,Vr=0;function Un(e,r=130){let t=La;if(!t||!Ea)return;let n=Ea.currentTime;t.gain.cancelScheduledValues(n),t.gain.setValueAtTime(t.gain.value,n),t.gain.linearRampToValueAtTime(Math.max(0,Math.min(1,e)),n+r/1e3)}function Dc(){if(!Fc)return Vr*=.85,Vr;if(!_c||!Wn)return Vr;_c.getByteTimeDomainData(Wn);let e=0;for(let n=0;n<Wn.length;n++){let a=(Wn[n]-128)/128;e+=a*a}let r=Math.sqrt(e/Wn.length),t=Math.min(1,r*3.2);return Vr+=(t-Vr)*(t>Vr?.6:.12),Vr}function Hc(){if(Fc=!1,La&&Ea&&(La.gain.cancelScheduledValues(Ea.currentTime),La.gain.value=1),typeof window<"u"&&"speechSynthesis"in window)try{window.speechSynthesis.cancel()}catch{}}import{useCallback as hr,useEffect as Rr,useRef as nt,useState as za}from"react";var vd=1100,Zo=.012,yd=320,wd=.09,Cd=.25,Bc=130,Sd=700,Md=12,Td=48,Rd=.45,Ld=.35,Ed=.2,$c=.55;function Oc({lang:e,onUtterance:r,onError:t,onBargeIn:n,silenceMs:a=vd,paused:o=!1}){let[s,c]=za(!1),[i,l]=za(!1),[h,p]=za(""),[d,b]=za(!1),m=nt(null),x=nt(null),u=nt(null),A=nt(null),k=nt(null),C=nt(null),M=nt(0),g=nt(.008),P=nt(0),_=nt(0),T=nt(""),W=nt(0),R=nt(0),N=nt(!1),H=nt(o),se=nt(!1),I=nt(!1),de=nt(r),ie=nt(t),B=nt(n);Rr(()=>{de.current=r},[r]),Rr(()=>{ie.current=t},[t]),Rr(()=>{B.current=n},[n]),Rr(()=>{H.current=o},[o]),Rr(()=>{b(typeof window<"u"&&("SpeechRecognition"in window||"webkitSpeechRecognition"in window)&&!!navigator.mediaDevices?.getUserMedia)},[]);let le=hr(()=>M.current,[]),j=hr(f=>{let L=A.current;return!L||f.length!==L.frequencyBinCount?!1:(L.getByteFrequencyData(f),!0)},[]),D=hr(()=>A.current?.frequencyBinCount??0,[]),U=nt([]),F=nt(null),S=nt(!1),X=nt(0),E=nt(0),w=hr(f=>{let L=A.current;if(!L)return 0;let K=U.current;K.push(f),K.length>Td&&K.shift();let G=0;if(K.length>=12){let ve=0;for(let _e of K)ve+=_e;if(ve/=K.length,ve>1e-4){let _e=0;for(let qe of K)_e+=(qe-ve)*(qe-ve);G=Math.min(1,Math.sqrt(_e/K.length)/ve/.6)}}let Y=0;(!F.current||F.current.length!==L.frequencyBinCount)&&(F.current=new Uint8Array(L.frequencyBinCount));let te=F.current;L.getByteFrequencyData(te);let ue=(u.current?.sampleRate??48e3)/2/te.length,he=Math.floor(300/ue),q=Math.min(te.length-1,Math.ceil(3400/ue)),ce=0,Se=0;for(let ve=0;ve<te.length;ve++)Se+=te[ve],ve>=he&&ve<=q&&(ce+=te[ve]);Se>0&&(Y=ce/Se);let me=Math.min(1,f/(g.current+Zo*3));return Rd*me+Ld*G+Ed*Y},[]),z=hr(()=>{let f=T.current.trim();if(T.current="",W.current=R.current,p(""),l(!1),f){se.current=!1;let L=m.current;m.current=null;try{L?.stop()}catch{}de.current(f)}},[]),y=hr(()=>{let f=A.current,L=C.current;if(!f||!L)return;f.getByteTimeDomainData(L);let K=0;for(let he=0;he<L.length;he++){let q=(L[he]-128)/128;K+=q*q}let G=Math.sqrt(K/L.length),Y=Math.min(1,G*4);M.current+=(Y-M.current)*(Y>M.current?.6:.12);let te=Date.now(),ge=H.current?Dc()*wd:0;G>g.current+Zo+ge?(P.current=te,_.current||(_.current=te)):(_.current=0,g.current=Math.min(g.current*1.02+2e-5,Math.max(.004,G))),H.current?S.current?(w(G)>$c?E.current+=1:E.current=Math.max(0,E.current-2),E.current>=Md?(S.current=!1,E.current=0,Un(1,0),B.current?.()):te-X.current>Sd&&(S.current=!1,E.current=0,Un(1,Bc*2))):_.current&&te-_.current>yd&&w(G)>$c&&(_.current=0,S.current=!0,X.current=te,E.current=0,Un(Cd,Bc)):T.current.trim()&&te-P.current>a&&z(),k.current=requestAnimationFrame(y)},[z,a,w]),Q=hr(()=>{if(m.current||!N.current)return;let f=window.SpeechRecognition||window.webkitSpeechRecognition,L=new f;W.current=0,R.current=0,L.lang=e||document.documentElement.lang||navigator.language||"en-US",L.interimResults=!0,L.maxAlternatives=1,L.continuous=!0,L.onresult=K=>{let G="";for(let Y=W.current;Y<K.results.length;Y++)G+=K.results[Y][0].transcript;R.current=K.results.length,G=G.trim(),G&&(T.current=G,p(G),l(!0))},L.onerror=K=>{let G=K?.error||"";G==="no-speech"||G==="aborted"||ie.current?.(G)},L.onend=()=>{m.current=null,N.current&&se.current&&setTimeout(()=>{Q()},120)},m.current=L;try{L.start()}catch{m.current=null,ie.current?.("failed-to-start")}},[e]),ee=hr(()=>{se.current=!1;let f=m.current;m.current=null;try{f?.stop()}catch{}},[]),O=hr(()=>{N.current=!1,S.current=!1,E.current=0,U.current=[],Un(1,0),se.current=!1,c(!1),l(!1),p(""),T.current="",M.current=0;let f=m.current;m.current=null;try{f?.abort()}catch{}k.current!==null&&(cancelAnimationFrame(k.current),k.current=null),x.current?.getTracks().forEach(L=>L.stop()),x.current=null,A.current=null,u.current?.close().catch(()=>{}),u.current=null},[]),J=hr(async()=>{if(!(N.current||!d)){N.current=!0,c(!0);try{let f=await navigator.mediaDevices.getUserMedia({audio:{echoCancellation:!0,noiseSuppression:!0,autoGainControl:!0}});x.current=f;let L=window.AudioContext||window.webkitAudioContext,K=new L;u.current=K;let G=K.createAnalyser();G.fftSize=1024,G.smoothingTimeConstant=.25,K.createMediaStreamSource(f).connect(G),A.current=G,C.current=new Uint8Array(G.fftSize),g.current=.008,P.current=Date.now(),k.current=requestAnimationFrame(y)}catch(f){N.current=!1,c(!1),ie.current?.(f?.name==="NotAllowedError"?"not-allowed":"audio-capture");return}se.current=!0,Q()}},[d,y,Q]);return Rr(()=>{s&&(o?(T.current="",p(""),S.current=!1,E.current=0,U.current=[],ee()):(S.current=!1,P.current=Date.now(),se.current=!0,Q()))},[o,s,Q,ee]),Rr(()=>{if(!s||o)return;let f=setInterval(()=>{let L=!!m.current,K=M.current>g.current+Zo;L&&K&&T.current},2e3);return()=>clearInterval(f)},[s,o]),Rr(()=>()=>{O()},[O]),{supported:d,active:s,hearing:i,interim:h,micLevel:le,micSpectrum:j,spectrumBins:D,start:J,stop:O}}import{useCallback as Ze,useEffect as fn,useRef as Te,useState as Er}from"react";import{actionLinkContexts as zd}from"@akropolys/sdk";var qc=[-1,-1,-1,-1,2,4,6,8,-1,-1,-1,-1,2,4,6,8],Wc=[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],es=e=>e<0?0:e>88?88:e,Uc=e=>e<-32768?-32768:e>32767?32767:e,Vn=class{constructor(){this.index=0}encode(r){let t=r.length,n=new Uint8Array(4+(t+1>>1));if(t===0)return n.buffer;let a=r[0];new DataView(n.buffer).setInt16(0,a,!0),n[2]=this.index,n[3]=t&1;let s=this.index;for(let c=0;c<t;c++){let i=Wc[s],l=r[c]-a,h=0;l<0&&(h=8,l=-l);let p=i>>3;l>=i&&(h|=4,l-=i,p+=i),i>>=1,l>=i&&(h|=2,l-=i,p+=i),i>>=1,l>=i&&(h|=1,p+=i),a=Uc(h&8?a-p:a+p),s=es(s+qc[h]),n[4+(c>>1)]|=h<<4*(c&1)}return this.index=s,n.buffer}};function Vc(e){let r=new Uint8Array(e);if(r.length<4)return new Float32Array(0);let t=new DataView(e).getInt16(0,!0),n=es(r[2]),a=(r.length-4)*2;r[3]&1&&a>0&&a--;let o=new Float32Array(a);for(let s=0;s<a;s++){let c=r[4+(s>>1)]>>4*(s&1)&15,i=Wc[n],l=i>>3;c&4&&(l+=i),c&2&&(l+=i>>1),c&1&&(l+=i>>2),t=Uc(c&8?t-l:t+l),n=es(n+qc[c]),o[s]=t/32768}return o}function Lr(e,r,t){for(let n=0;n<t.length;n++)e.setUint8(r+n,t.charCodeAt(n))}function Gc(e,r=24e3){let t=0;for(let i of e)t+=i.length;let n=new Float32Array(t),a=0;for(let i of e)n.set(i,a),a+=i.length;let o=new ArrayBuffer(44+t*2),s=new DataView(o);Lr(s,0,"RIFF"),s.setUint32(4,36+t*2,!0),Lr(s,8,"WAVE"),Lr(s,12,"fmt "),s.setUint32(16,16,!0),s.setUint16(20,1,!0),s.setUint16(22,1,!0),s.setUint32(24,r,!0),s.setUint32(28,r*2,!0),s.setUint16(32,2,!0),s.setUint16(34,16,!0),Lr(s,36,"data"),s.setUint32(40,t*2,!0);let c=44;for(let i=0;i<t;i++){let l=Math.max(-1,Math.min(1,n[i]));s.setInt16(c,l<0?l*32768:l*32767,!0),c+=2}return new Blob([o],{type:"audio/wav"})}function jc(e,r=16e3){let t=0;for(let i of e)t+=i.length;let n=new Int16Array(t),a=0;for(let i of e)n.set(i,a),a+=i.length;let o=new ArrayBuffer(44+t*2),s=new DataView(o);Lr(s,0,"RIFF"),s.setUint32(4,36+t*2,!0),Lr(s,8,"WAVE"),Lr(s,12,"fmt "),s.setUint32(16,16,!0),s.setUint16(20,1,!0),s.setUint16(22,1,!0),s.setUint32(24,r,!0),s.setUint32(28,r*2,!0),s.setUint16(32,2,!0),s.setUint16(34,16,!0),Lr(s,36,"data"),s.setUint32(40,t*2,!0);let c=44;for(let i=0;i<t;i++)s.setInt16(c,n[i],!0),c+=2;return new Blob([o],{type:"audio/wav"})}var bn=class{constructor(){this.attempts=0}static canRetry(r){return r===1006||r===1011||r===1012||r===1013}nextDelay(){return[500,1500][this.attempts++]??null}};function Kc(e,r,t){let n=e.map(a=>({...a}));for(let[a,o]of[["user",r],["assistant",t]]){if(!o.trim())continue;let s=-1;for(let c=n.length-1;c>=0;c--)if(n[c].role===a&&!n[c].done){s=c;break}if(s<0&&a==="user"){let c=n.map(i=>i.role).lastIndexOf("user");if(c>=0&&n[c].text===o.trim())continue}s>=0?n[s].text=o.trim():n.push({role:a,text:o.trim(),done:!0})}return n.map(a=>({...a,done:!0}))}var Nd=16e3,Na=24e3,Id=.08,Ad=.12,Pd=.03,_d=.08;var Fd=.12,Dd=500,Hd=6e4,Bd="https://cdn.akropolys.cloud/kiku/2.2.42/voice-worklet.js";function Yc(e){return e.proof?["akropolys.token."+e.token,"akropolys.proof."+e.proof]:["akropolys.token."+e.token]}function Xc(e,r){let t=e.apiUrl.replace(/\/+$/,""),n=t.endsWith("/voice/live")?t:t+"/voice/live",a=new URL(n,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"),a.searchParams.set("browserActions","1"),a.searchParams.set("browserActions","1");let o=r||e.voice;return o&&a.searchParams.set("voice",o),a.toString()}function Qc(e){let[r,t]=Er("idle"),[n,a]=Er(!1),[o,s]=Er([]),[c,i]=Er([]),l=Te([]),[h,p]=Er(null),[d,b]=Er(!1),m=Te(null),x=Te(!1),u=Te(new bn),A=Te(()=>!1),k=Te(null),C=Te(null),M=Te(!1),g=Te(0),P=Te(0),_=Te(!1),T=Te(null),W=Te(0),R=Te(!1),N=Te(!1),H=Te(null),se=Te(null),I=Te(null),de=Te(null),ie=Te(0),B=Te(!1),le=Te([]),j=Te(0),D=Te(new Set),U=Te(null),F=Te(null),S=Te(Na),X=Te(e);fn(()=>{X.current=e;let V=se.current;if(V)for(let re of V.getAudioTracks())re.enabled=!e.muted},[e]);let E=Te(!1),w=Te([]),z=Te(new Vn),y=Te(null),Q=Te(""),ee=Te(""),[O,J]=Er([]),f=Te([]);f.current=O;let L=Te([]),[K,G]=Er([]),Y=Te(0),te=Te(!1),ge=Te(null),ue=Te(new Map),he=Te([]),q=Te(void 0),ce=Te(null),Se=Te([]),me=Te([]),ve=Ze(()=>{let V=Q.current.trim(),re=ee.current.trim(),be=ce.current?Math.max(.1,(Date.now()-ce.current)/1e3):void 0,pe;if(Se.current.length>0)try{let Me=Gc(Se.current,S.current);pe=URL.createObjectURL(Me)}catch(Me){console.error("[kiku] failed to encode bot audio wav:",Me)}let ae;if(me.current.length>0)try{let Me=jc(me.current,Nd);ae=URL.createObjectURL(Me)}catch(Me){console.error("[kiku] failed to encode user audio wav:",Me)}let Ne=he.current.length?he.current:void 0,Ie=q.current,ke=l.current.length?l.current:void 0;Q.current="",ee.current="",ce.current=null,Se.current=[],me.current=[],he.current=[],q.current=void 0,l.current=[],!(!V&&!re&&!Ne&&!Ie&&!ke)&&X.current.onExchange?.({heard:V,said:re,duration:be,userAudioUrl:ae,audioUrl:pe,images:Ne,visualization:Ie,actionLinks:ke})},[]),_e=Ze(()=>{},[]),qe=Ze(V=>{if(g.current=Date.now(),X.current.muted)return;let re=new Int16Array(V),be=0;for(let ae=0;ae<re.length;ae+=8){let Ne=Math.abs(re[ae]);Ne>be&&(be=Ne)}be>1200&&(W.current=Date.now());let pe=m.current;if(!(!E.current||!pe||pe.readyState!==WebSocket.OPEN)){if(pe.bufferedAmount>256*1024){A.current()||X.current.onError?.("connection");return}me.current.push(new Int16Array(V.slice(0)));try{pe.send(z.current.encode(new Int16Array(V)))}catch{A.current()||X.current.onError?.("connection")}}},[]),Z=Ze(()=>{w.current=[]},[]),Fe=Ze(()=>{let V=H.current;if(y.current&&V&&V.state!=="closed")return y.current;let re=window.AudioContext||window.webkitAudioContext;if(!re)return Promise.resolve(null);let be=new re({latencyHint:"interactive",sampleRate:Na});return H.current=be,y.current=be.audioWorklet.addModule(X.current.voiceWorkletUrl||Bd).then(()=>be).catch(()=>null),y.current},[]),Oe=Ze(()=>{typeof window>"u"||Fe()},[Fe]),Ke=Ze(()=>{let V=de.current;if(!V)return 0;let re=new Uint8Array(V.fftSize);V.getByteTimeDomainData(re);let be=0;for(let pe=0;pe<re.length;pe++){let ae=(re[pe]-128)/128;be+=ae*ae}return Math.min(1,Math.sqrt(be/re.length)*4)},[]),tt=r==="speaking"||r==="thinking",ht=Ze(V=>{let re=tt?U.current:de.current;return!re||V.length!==re.frequencyBinCount?!1:(re.getByteFrequencyData(V),!0)},[tt]),Qt=Ze(()=>(tt?U.current:de.current)?.frequencyBinCount??0,[tt]),bt=Ze(()=>{let V=F.current,re=H.current;if(!V||!re||re.state==="closed"){ie.current=0;for(let ae of D.current)try{ae.onended=null,ae.stop()}catch{}D.current.clear();return}let be=re.currentTime,pe=be+_d;V.gain.cancelScheduledValues(be),V.gain.setValueAtTime(V.gain.value,be),V.gain.linearRampToValueAtTime(0,pe),V.gain.setValueAtTime(1,pe);for(let ae of D.current)try{ae.onended=null,ae.stop(pe)}catch{}D.current.clear(),ie.current=pe},[]),qt=Ze(V=>{let re=H.current,be=U.current;if(!re||!be||V.length===0)return;re.state==="suspended"&&re.resume().catch(()=>{});let pe=re.createBuffer(1,V.length,S.current);pe.getChannelData(0).set(V);let ae=re.createBufferSource();ae.buffer=pe,ae.connect(be);let Ne=re.currentTime,Ie=ie.current>Ne?ie.current:Ne+Pd;ae.start(Ie),ie.current=Ie+pe.duration,D.current.add(ae),ae.onended=()=>{D.current.delete(ae),D.current.size===0&&(ie.current=0,B.current=!1,t(ke=>ke==="speaking"?"listening":ke))},t(ke=>ke==="speaking"||ke==="idle"||ke==="ended"?ke:"speaking")},[]),zt=Ze(()=>{let V=le.current;le.current=[],j.current=0;for(let re of V)qt(re)},[qt]),Nt=Ze(()=>{le.current=[],j.current=0},[]),ye=Ze(V=>{let re=H.current;if(!re||V.length===0)return;if(ie.current>re.currentTime&&le.current.length===0){qt(V);return}let pe=B.current?Ad:Id;le.current.push(V),j.current+=V.length/S.current,j.current>=pe&&(B.current=!0,zt())},[qt,zt]),Ge=Te(null),gt=Te(null),rt=Ze(()=>{Ge.current&&(clearInterval(Ge.current),Ge.current=null);let V=gt.current,re=H.current;if(V&&re&&re.state!=="closed"){let be=re.currentTime;try{V.gain.cancelScheduledValues(be),V.gain.setValueAtTime(V.gain.value,be),V.gain.linearRampToValueAtTime(1e-4,be+.04)}catch{}setTimeout(()=>{try{V.disconnect()}catch{}gt.current===V&&(gt.current=null)},50)}},[]),ft=Ze(()=>{},[]),pt=Ze(V=>{for(let be of ue.current.values())be(!1);ge.current=null,te.current=!1,k.current!==null&&clearTimeout(k.current),C.current!==null&&clearTimeout(C.current),k.current=C.current=null,M.current=!1,P.current=0,ve();let re=m.current;m.current=null;try{re?.close()}catch{}E.current=!1,w.current=[],y.current=null,B.current=!1,le.current=[],j.current=0,rt(),bt(),T.current=null,I.current&&(I.current.port.onmessage=null),I.current?.disconnect(),I.current=null,se.current?.getTracks().forEach(be=>be.stop()),se.current=null,de.current=null,U.current=null,F.current=null,H.current?.close().catch(()=>{}),H.current=null,t(V),a(!1),s([]),x.current=!1,_.current=!1},[ve,bt,rt]),We=Ze(()=>{try{m.current?.send(JSON.stringify({type:"close"}))}catch{}try{m.current?.close()}catch{}pt("idle")},[pt]),It=Ze(V=>{let re=[...L.current,...f.current.filter(be=>be.done)].filter(be=>be.text).map(be=>({role:be.role,text:be.text}));if(!(m.current!==V||!x.current||V.readyState!==WebSocket.OPEN))try{V.send(JSON.stringify({type:"open",history:re,browserActions:!0}))}catch{}},[]),ct=Ze(V=>{let re=!1,be=new Map;V.addEventListener("close",()=>{for(let pe of be.values())pe.abort();be.clear()}),C.current!==null&&clearTimeout(C.current),C.current=setTimeout(()=>{m.current!==V||E.current||A.current()||(X.current.onError?.("connection"),We())},3e4),V.binaryType="arraybuffer",z.current=new Vn,V.onopen=()=>{m.current!==V||!_.current||(_.current=!1,It(V))},V.onmessage=pe=>{if(m.current!==V)return;if(pe.data instanceof ArrayBuffer){if(!R.current){R.current=!0;let Ie=ee.current.trim();Ie&&J(ke=>{let Me=ke.slice();for(let He=Me.length-1;He>=0;He--)Me[He].role==="user"&&!Me[He].done&&(Me[He]={...Me[He],done:!0});return Me.push({role:"assistant",text:Ie,done:!1}),Me})}!N.current&&W.current&&(N.current=!0,console.log("[kiku] wait from last speech to first audio: "+(Date.now()-W.current)+"ms")),rt();let Ne=Vc(pe.data);Se.current.push(Ne.slice()),ye(Ne);return}let ae;try{ae=JSON.parse(pe.data)}catch{return}switch(ae.type){case"browser_action":{if(!ae.request?.id||be.has(ae.request.id))break;let Ie=new AbortController;be.set(ae.request.id,Ie);let ke=X.current.executeBrowserAction,Me=setTimeout(()=>Ie.abort(),2e4);(ke?ke(ae.request,Ie.signal):Promise.resolve({status:"failed",error:"Browser actions are unavailable in this client."})).then(xt=>{if(m.current===V&&V.readyState===WebSocket.OPEN){let Le=zd(xt);if(Le.length){let Xe=new Map(l.current.map(Ae=>[Ae.url,Ae]));for(let Ae of Le)Xe.set(Ae.url,Ae);l.current=[...Xe.values()],i(Ae=>{let At=new Map(Ae.map(Qe=>[Qe.url,Qe]));for(let Qe of Le)At.set(Qe.url,Qe);return[...At.values()]})}V.send(JSON.stringify({type:"action_result",id:ae.request.id,result:xt}))}}).catch(()=>{m.current===V&&V.readyState===WebSocket.OPEN&&V.send(JSON.stringify({type:"action_result",id:ae.request.id,result:{status:"failed",error:"The action result is unknown; check the site before retrying."}}))}).finally(()=>clearTimeout(Me));break}case"image_received":ue.current.get(ae.imageId)?.(!0);break;case"image_error":ue.current.get(ae.imageId)?.(!1);break;case"ready":C.current!==null&&clearTimeout(C.current),C.current=null,M.current=!0,g.current=Date.now(),ae.sampleRate&&(S.current=ae.sampleRate,ae.sampleRate!==Na&&console.warn(`[kiku] live audio rate ${ae.sampleRate} != context ${Na}; per-buffer resampling will click at every chunk seam`)),typeof ae.secondsLeft=="number"&&p(ae.secondsLeft),b(ae.photos===!0),te.current=ae.imageInput===!0;let Ne=ge.current;if(Ne&&te.current)try{V.send(JSON.stringify({type:"image",imageId:Ne.id,image:Ne.image}))}catch{}E.current=!0,t("listening"),Z(),T.current?.(),T.current=null,tr("connect",!0);break;case"hearing":ce.current||(ce.current=Date.now()),a(!0);break;case"thinking":ce.current||(ce.current=Date.now()),a(!1),t("thinking"),ft(),ae.tool==="visualize"&&G(Ie=>Ie.some(ke=>ke.pending)?Ie:[...Ie,{id:++Y.current,url:"",pending:!0}]);break;case"viz":typeof ae.url=="string"&&ae.url?(q.current=ae.url,G(Ie=>Ie.map(ke=>ke.pending?{...ke,url:ae.url,pending:!1}:ke))):G(Ie=>Ie.filter(ke=>!ke.pending));break;case"heard":D.current.size===0&&(ie.current=0),ce.current||(ce.current=Date.now(),tr("heard")),Q.current+=ae.text,J(Ie=>{let ke=Ie.slice(),Me=ke[ke.length-1];return Me&&Me.role==="user"&&!Me.done?ke[ke.length-1]={...Me,text:Q.current.trim()}:ke.push({role:"user",text:Q.current.trim(),done:!1}),ke}),a(!1),t("thinking"),ft();break;case"said":if(ee.current+=ae.text,!R.current)break;J(Ie=>{let ke=Ie.slice();for(let xt=ke.length-1;xt>=0;xt--)ke[xt].role==="user"&&!ke[xt].done&&(ke[xt]={...ke[xt],done:!0});let Me=ke[ke.length-1],He=ee.current.trim();return Me&&Me.role==="assistant"&&!Me.done?ke[ke.length-1]={...Me,text:He}:ke.push({role:"assistant",text:He,done:!1}),ke});break;case"interrupted":B.current=!1,Nt(),rt(),bt(),tr("interrupt"),a(!1),t("listening");break;case"turn_complete":N.current=!1,R.current=!1,W.current=0,J(Ie=>Ie.map(ke=>ke.done?ke:{...ke,done:!0})),zt(),B.current=!1,rt(),a(!1),ve();break;case"sources":Array.isArray(ae.sources)&&ae.sources.length&&s(ae.sources);break;case"seconds":typeof ae.secondsLeft=="number"&&p(ae.secondsLeft);break;case"refused":X.current.onRefused?.(ae.code||"guest"),We();break;case"error":if(ae.code==="session_expiring"&&A.current())return;X.current.onError?.(ae.code||"unavailable"),We();break}},V.onclose=pe=>{m.current===V&&(C.current!==null&&clearTimeout(C.current),C.current=null,!(bn.canRetry(pe.code)&&A.current())&&(pe.code===4402&&(re=!0,X.current.onError?.(pe.reason==="site"?"siteLimit":"limit")),pt("ended")))},V.onerror=()=>{!re&&m.current===V&&console.warn("[kiku] voice transport interrupted")}},[Nt,ye,ve,Z,bt,zt,It,ft,rt,We,pt]),kt=Ze(V=>{for(let ae of ue.current.values())ae(!1);let re=m.current;if(m.current=null,E.current=!1,f.current=Kc(f.current,Q.current,ee.current),J(f.current),G(ae=>ae.filter(Ne=>!Ne.pending)),ve(),R.current=!1,N.current=!1,B.current=!1,Nt(),t("connecting"),bt(),rt(),re){try{re.send(JSON.stringify({type:"close"}))}catch{}try{re.close()}catch{}}let be=X.current;_.current=!0;let pe=new WebSocket(Xc(be,V),Yc(be));m.current=pe,ct(pe)},[ct,Nt,ve,bt,rt]),st=Ze(()=>{if(!x.current||!M.current||!I.current)return!1;if(k.current!==null)return!0;let V=u.current.nextDelay();if(V===null)return X.current.onError?.("connection"),We(),!0;for(let be of ue.current.values())be(!1);let re=m.current;m.current=null,E.current=!1,C.current!==null&&clearTimeout(C.current),C.current=null;try{re?.close()}catch{}return bt(),Nt(),rt(),a(!1),t("connecting"),k.current=setTimeout(()=>{k.current=null,x.current&&kt()},V),!0},[Nt,bt,kt,We,rt]);A.current=st,fn(()=>{let V=()=>{if(!x.current||!E.current||!I.current||document.visibilityState==="hidden")return;let be=H.current;if(!be)return;let pe=Date.now();if(pe-g.current<1e4){P.current=0;return}P.current?pe-P.current>1e4&&(X.current.onError?.("audio-capture"),We()):(P.current=pe,be.resume().catch(()=>{}))},re=window.setInterval(V,2e3);return document.addEventListener("visibilitychange",V),()=>{clearInterval(re),document.removeEventListener("visibilitychange",V)}},[We]);let Wt=Te(e.voice);fn(()=>{Wt.current!==e.voice&&(Wt.current=e.voice,m.current&&(r==="listening"||r==="thinking"||r==="speaking")&&kt(e.voice))},[e.voice,r,kt]);let Jt=Ze(async(V=[])=>{if(x.current&&(m.current||k.current!==null))return;x.current=!0,u.current=new bn,M.current=!1,t("connecting");let re=X.current;w.current=[],L.current=V,f.current=[],J([]),G([]),i([]),l.current=[],Q.current="",ee.current="";let be=Fe();H.current?.resume().catch(()=>{}),Cr();let pe=m.current;pe&&pe.readyState===WebSocket.OPEN?It(pe):pe&&pe.readyState===WebSocket.CONNECTING?_.current=!0:(pe=new WebSocket(Xc(re),Yc(re)),m.current=pe,_.current=!0,ct(pe));let ae;try{if(!navigator.mediaDevices?.getUserMedia)throw{name:"NotAllowedError"};ae=await navigator.mediaDevices.getUserMedia({audio:{echoCancellation:!0,noiseSuppression:!0,autoGainControl:!0}})}catch(He){try{pe.close()}catch{}m.current=null,t("idle"),re.onError?.(He?.name==="NotAllowedError"?"not-allowed":"audio-capture");return}if(m.current!==pe){ae.getTracks().forEach(He=>He.stop());return}se.current=ae;for(let He of ae.getAudioTracks())He.enabled=!X.current.muted;let Ne=await be;if(m.current!==pe){ae.getTracks().forEach(He=>He.stop());return}if(!Ne){X.current.onError?.("audio-worklet"),We();return}Ne.state==="suspended"&&Ne.resume().catch(()=>{});let Ie=Ne.createAnalyser();Ie.fftSize=1024,Ie.smoothingTimeConstant=.25,de.current=Ie;let ke=Ne.createGain();ke.gain.value=1,ke.connect(Ne.destination),F.current=ke;let Me=Ne.createAnalyser();Me.fftSize=1024,Me.smoothingTimeConstant=.25,Me.connect(ke),U.current=Me;try{let He=new AudioWorkletNode(Ne,"kiku-capture");I.current=He,He.port.onmessage=Xe=>qe(Xe.data);let xt=Ne.createMediaStreamSource(ae),Le=()=>{if(!(m.current!==pe||!I.current)){try{xt.connect(Ie)}catch{}try{xt.connect(He)}catch{}}};E.current?Le():T.current=Le}catch{X.current.onError?.("audio-worklet"),We()}},[ct,Fe,qe,It,We]);fn(()=>{if(r!=="listening"){a(!1);return}let V=0,re=!1,be=Date.now(),pe=window.setInterval(()=>{let ae=Date.now();if(!X.current.muted&&Ke()>Fd&&(V=ae),ae-Math.max(V,be)>Hd){window.clearInterval(pe),X.current.onError?.("idle"),We();return}let Ne=ae-V<Dd;Ne!==re&&(re=Ne,a(Ne))},100);return()=>window.clearInterval(pe)},[r,Ke,We]);let Ut=Ze(()=>{Oe()},[Oe]);fn(()=>()=>{We()},[We]),fn(()=>{let V=se.current;if(V)for(let re of V.getAudioTracks())re.enabled=!e.muted},[e.muted,r]);let Qr=Ze(async V=>{let re=m.current;if(!x.current||!E.current||!re||re.readyState!==WebSocket.OPEN||!V.type.startsWith("image/"))return!1;let be;try{be=await Ca(V,"image/jpeg")}catch{return!1}if(be.length>Math.ceil(4*1024*1024/3)*4+32||m.current!==re||!x.current)return!1;let pe=++Y.current;G(ke=>[...ke,{id:pe,url:be,pending:!1,sending:!0}]);let ae=X.current.storeScene,Ne=ae?await ae(be).catch(()=>!1):!1;if(m.current!==re||!x.current||re.readyState!==WebSocket.OPEN)return G(ke=>ke.filter(Me=>Me.id!==pe)),!1;let Ie=Ne;return te.current?Ie=await new Promise(ke=>{let Me=setTimeout(()=>He(!1),15e3),He=xt=>{clearTimeout(Me),ue.current.delete(pe),ke(xt)};ue.current.set(pe,He);try{re.send(JSON.stringify({type:"image",imageId:pe,image:be}))}catch{He(!1)}}):Ne&&re.send(JSON.stringify({type:"text",text:"(The visitor attached a photo for editing. Briefly ask what they would like changed.)"})),!Ie||m.current!==re||!x.current||!E.current?(G(ke=>ke.filter(Me=>Me.id!==pe)),!1):(te.current&&(ge.current={id:pe,image:be}),G(ke=>ke.map(Me=>Me.id===pe?{...Me,sending:!1}:Me)),he.current.push(be),!0)},[]),Ft=Ze(V=>{let re=m.current;re&&re.readyState===WebSocket.OPEN&&V.trim()&&re.send(JSON.stringify({type:"text",text:V}))},[]);return{state:r,phase:r,hearing:n,sources:o,actionLinks:c,secondsLeft:h,photos:d,turns:O,images:K,micLevel:Ke,micSpectrum:ht,spectrumBins:Qt,start:Jt,stop:We,prewarm:Ut,attachPhoto:Qr,ask:Ft}}var qd=e=>e==="connecting"||e==="ended"?"idle":e,Zc={turns:[],images:[],actionLinks:[]},el=()=>`v${Date.now().toString(36)}`;function Wd(e,r){let t=[],n=[],a=[];for(let o of e)if(o.live===r){o.actionLinks&&a.push(...o.actionLinks),o.content&&t.push({role:o.role==="user"?"user":"assistant",text:o.content,done:!0});for(let s of[...o.images??[],...o.visualization?[o.visualization]:[]])n.push({id:-(n.length+1),url:s,pending:!1})}return{turns:t,images:n,actionLinks:a}}function tl({voiceWorkletUrl:e,voiceLang:r,speechLang:t,shopperLanguage:n,ttsVoice:a="Algenib",messages:o,handleSendUtterance:s,appendSpokenExchange:c}){let i=Od(),[l,h]=Gr("off"),[p,d]=Gr("idle"),[b,m]=Gr(""),[x,u]=Gr(!1),[A,k]=Gr(!1),[C,M]=Gr(()=>{try{let E=localStorage.getItem(Ao);if(E&&Dn.some(w=>w.name===E))return E}catch{}return a||"Algenib"}),g=$d(el()),P=Ia(E=>{M(E);try{localStorage.setItem(Ao,E)}catch{}},[]),_=Oc({lang:r||t,onUtterance:E=>{d("thinking"),s(E)},onError:E=>{h("off"),d("idle"),m(E==="not-allowed"?"micDenied":E==="language-not-supported"?"micLangUnsupported":E==="audio-capture"?"micMissing":E==="network"?"micNetwork":"micFailed")},onBargeIn:()=>{Hc()}}),W=i?.voiceUrl||i?.api?.voiceUrl||i?.api?.apiUrl||i?.apiUrl||"",R=i?.api?.siteId||i?.siteId||"",N=i?.api?.apiToken||i?.apiToken||"",H=i?.getShopperId?.()||i?.getKikuPub?.()||void 0,se=i?.getShopperName?.()||void 0,I=Qc({voiceWorkletUrl:e,apiUrl:W,siteId:R,token:N,kikuId:H,proof:i?.getUserProof?.()||void 0,sessionId:i?.getSessionId?.()||void 0,storeScene:E=>i?.storeScene?.(E)??Promise.resolve(!1),executeBrowserAction:(E,w)=>i.api.executeBrowserAction(E,w),name:se,language:n,voice:C,muted:x,onExchange:E=>{c(E.heard,E.said,E.duration,E.userAudioUrl,E.audioUrl,{images:E.images,visualization:E.visualization,actionLinks:E.actionLinks,live:g.current})},onError:E=>{if(E==="shopper_reply_limit"||E==="access_revoked"||E==="account_required"){k(!0),I.stop(),h("off");return}h("off"),m(E==="idle"?"voiceIdleEnded":E==="not-allowed"?"micDenied":E==="audio-capture"?"micMissing":E==="limit"?"voiceLimitReached":E==="siteLimit"?"voiceSiteLimit":E==="connection"||E==="network"?"micNetwork":"voiceUnavailable")},onRefused:E=>{(E==="shopper_reply_limit"||E==="access_revoked"||E==="account_required")&&k(!0),h("off"),m("voiceUnavailable")}}),de=typeof window<"u"&&!!window.WebSocket&&!!(window.AudioContext||window.webkitAudioContext)&&!!navigator.mediaDevices?.getUserMedia,{prewarm:ie}=I;Jc(()=>{if(!de)return;let E=window;if(E.requestIdleCallback){let z=E.requestIdleCallback(ie,{timeout:3e3});return()=>E.cancelIdleCallback(z)}let w=window.setTimeout(ie,1500);return()=>window.clearTimeout(w)},[de,ie]),Jc(()=>{l==="converse"&&I.state==="ended"&&(h("off"),m("voiceSessionEnded"))},[l,I.state]);let[B,le]=Gr(Zc),j=Ia(async E=>{if(!Bi()){m("micInsecure");return}if(m(""),h(E),E==="dictate")d("listening"),await _.start();else{let w=Wd(o,g.current);le(w),I.start(w.turns)}},[I,_,o]),D=Ia(()=>{I.stop(),g.current=el(),le(Zc),I.start([])},[I]),U=Ia(()=>{h("off"),d("idle"),_.stop(),I.stop()},[I,_]),F=l==="converse"?qd(I.state):l==="dictate"?p==="listening"?_.hearing?"speaking":"listening":p:"idle",S=l==="converse"&&I.state!=="listening"&&I.state!=="thinking"&&I.state!=="speaking";return{attachPhoto:async E=>{await I.attachPhoto(E)||m("voicePhotoFailed")},voiceMode:l,voicePhase:F,voiceConnecting:S,voiceError:b,setVoiceError:m,voiceMuted:x,setVoiceMuted:u,voiceSecondsLeft:I.secondsLeft??null,voiceBlocked:A,liveVoiceName:C,chooseVoice:P,canConverse:de,startVoice:j,stopVoice:U,voice:_,live:I,earlier:B,newVoiceChat:D}}import Ue from"react";import{useEffect as Ud,useRef as ut}from"react";import{jsx as De,jsxs as $t}from"react/jsx-runtime";var ts={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}},rs={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}},Aa=[[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]],Vd=.42,Gd=170;function jd(e){let r=1;for(;r<Aa.length-1&&Aa[r][0]<e;)r++;let[t,n,a]=Aa[r-1],[o,s,c]=Aa[r],i=o===t?0:(e-t)/(o-t),l=i*i*(3-2*i);return[n+(s-n)*l,a+(c-a)*l]}var Gn=6,rl=["bw","bh","tr","br","bow","lid","warm","wob","gx","gy"],zr=(e,r,t)=>Math.max(r,Math.min(t,e));function nl(e,r,t,n){let a=l=>l.toFixed(2),o=(r+t)/2,s=e+n,c=(o-r)*.55,i=(t-o)*.55;return`C${a(e)} ${a(r+c)} ${a(s)} ${a(o-c)} ${a(s)} ${a(o)}C${a(s)} ${a(o+i)} ${a(e)} ${a(t-i)} ${a(e)} ${a(t)}`}function Kd(e,r,t,n,a){let o=zr(e*t,8,r*.96),s=zr(e*n,8,r*.96),c=(p,d)=>`${p.toFixed(2)} ${d.toFixed(2)}`,i=.46,l=zr((e-o)/e,0,1),h=zr((e-s)/e,0,1);return`M${c(-e,-r+o)}C${c(-e,-r+o*i)} ${c(-e+o*i,-r)} ${c(-e+o,-r)}C${c(-e*.3*l,-r-2*l)} ${c(e*.3*l,-r-2*l)} ${c(e-o,-r)}C${c(e-o*i,-r)} ${c(e,-r+o*i)} ${c(e,-r+o)}`+nl(e,-r+o,r-s,a)+`C${c(e,r-s*i)} ${c(e-s*i,r)} ${c(e-s,r)}C${c(e*.3*h,r+2*h)} ${c(-e*.3*h,r+2*h)} ${c(-e+s,r)}C${c(-e+s*i,r)} ${c(-e,r-s*i)} ${c(-e,r-s)}`+nl(-e,r-s,-r+o,-a)+"Z"}var kn=[{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)"}],os=[{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)"}],qf=[...kn,...os];function ns(e){let n=(!os.includes(e)&&Math.random()<.26?os:kn).filter(a=>a!==e);return n[Math.floor(Math.random()*n.length)]}function pr(e){let r=parseInt(e.slice(1),16);return[r>>16&255,r>>8&255,r&255]}function as(e){return`rgb(${Math.round(e[0])}, ${Math.round(e[1])}, ${Math.round(e[2])})`}function Yd(e,r,t){return[e[0]+(r[0]-e[0])*t,e[1]+(r[1]-e[1])*t,e[2]+(r[2]-e[2])*t]}var Xd=[[255,253,248],[247,240,231],[231,218,202],[198,178,156]],al=[.05,.15,.42,.74],Qd=[.52,.72,.9,1],ol={color:"#E2581D",light:"#FFBE96",glow:"rgba(226, 88, 29, 0.34)"};function sl({state:e="idle",size:r=40,alert:t=!1,theme:n,feminine:a,accessories:o,onImpact:s,triggerRef:c,dropIn:i=!1}){let l=ut(i),h=ut(e);h.current=e;let p=ut(t);p.current=t;let d=n==="blush"||a===!0||!!(o?.flower||o?.eyelashes||o?.blush),b=o?.flower??d,m=o?.eyelashes??d,x=o?.blush??d,u=ut(null),A=ut(null),k=ut(null),C=ut(null),M=ut(null),g=ut(null),P=ut(null),_=ut(null),T=ut(null),W=ut(null),R=ut(null),N=ut(null),H=ut(null),se=ut(null),I=ut([]),de=ut([]),ie=ut(null),B=ut(`kiku-${Math.random().toString(36).slice(2,8)}`).current,le=ut(s);return le.current=s,Ud(()=>{let j=window.matchMedia("(prefers-reduced-motion: reduce)").matches,D={},U={};rl.forEach(ye=>{D[ye]=ts.idle[ye]??rs.idle[ye]??0,U[ye]=0});let F=Array.from({length:Gn},()=>({x:0,y:0,w:0,h:0,rx:0,a:0})),S=Array.from({length:Gn},()=>({x:0,y:0,w:0,h:0,rx:0,a:0})),X=1800,E=-1,w=0,z=2600,y=0,Q=!1,ee=9e3+Math.random()*8e3,O=-1,J=0;l.current&&!j&&(O=Vd,J=performance.now()+Gd);let f=0,L=0,K=0,G=4200,Y=0,te=0,ge=0,ue=12e3,he=kn[0],q=pr(he.color),ce=pr(he.light),Se=[...q],me=[...ce],ve=2600,_e=-1/0,qe=!1,Z=0,Fe=!1,Oe=0,Ke=0,tt=0,ht=!1,Qt=0,bt=ye=>{ye-_e<ve?(he=ns(he),Se=pr(he.color),me=pr(he.light),_e=-1/0):_e=ye},qt=(ye,Ge,gt,rt)=>{let ft=h.current,pt=Array.from({length:Gn},()=>({x:0,y:0,w:0,h:0,rx:0,a:0})),We=(It,ct,kt=0)=>{let st=Math.max(4,54*Math.max(.06,Ge));pt[It]={x:ct+gt,y:-4+rt+kt,w:21,h:st,rx:10.5,a:1}};if(ft==="thinking"){let ct=ye%2800/2800,kt=Math.pow(Math.sin(ct*Math.PI*2)*.5+.5,3);for(let st=0;st<4;st++){let Wt=ye/700+st/4*Math.PI*2,Jt=(26-st%2*5)*(1-.94*kt),Ut=16+kt*6+Math.sin(ye/420+st)*1.4;pt[st]={x:Math.cos(Wt)*Jt,y:Math.sin(Wt)*Jt*.86+2,w:Ut,h:Ut,rx:Ut/2,a:1}}}else if(ft==="visualizing")pt[0]={x:0,y:-2,w:78,h:26,rx:13,a:1};else if(ft==="speaking")for(let ct=0;ct<5;ct++){let kt=12+Math.abs(Math.sin(ye/150+ct*.9))*26;pt[ct]={x:(ct-4/2)*15,y:-2,w:9,h:kt,rx:4.5,a:1}}else ft==="failed"?(We(0,-22,8),We(1,22,8)):(We(0,-22),We(1,22));return pt};c&&(c.current=()=>{if(O>=0){Fe=!0,he=ns(he),Se=pr(he.color),me=pr(he.light),_e=-1/0;return}O=0,bt(Oe),ee=Oe+4e3});let zt=ye=>{Oe=ye;let Ge=h.current,gt=ts[Ge]??ts.idle,rt=rs[Ge]??rs.idle,ft=Ge==="idle"||Ge==="failed";ft&&!j&&(ye>z&&(w=(Math.random()-.5)*2,z=ye+1800+Math.random()*3600),D.wantGx=w*5);let pt=p.current?1:0;tt=(tt+(pt-Ke)*.1)*.88,Ke+=tt;let We=p.current&&!j?Math.sin(ye/480)*.055*Ke:0,It={bw:gt.bw*(1+Ke*.34+We),bh:gt.bh*(1+Ke*.2+We),tr:gt.tr,br:gt.br,bow:gt.bow,warm:rt.warm,wob:rt.wob,lid:rt.lid,gx:ft&&!j?w*5:0,gy:ft&&!j?Math.sin(ye/2600)*2:0};!j&&ft&&(E<0&&ye>X&&(E=0),E>=0&&(E+=1/7,It.lid=rt.lid*Math.abs(E-.5)*2,E>=1&&(E=-1,It.lid=rt.lid,X=ye+(Math.random()<.22?340:2600+Math.random()*4200)))),rl.forEach(Le=>{let Xe=Le;if(j){D[Xe]=It[Xe];return}let Ae=Xe==="lid"?.42:.11,At=Xe==="lid"?.55:.78;U[Xe]=(U[Xe]+(It[Xe]-D[Xe])*Ae)*At,D[Xe]+=U[Xe]});let ct=0,kt=0;!j&&p.current&&O<0&&ye>Qt&&(O=0,Qt=ye+2100,ee=ye+4e3),!j&&Ge==="idle"?O<0&&ye>ee&&(O=0,qe?(qe=!1,Z=0,he=ns(he),Se=pr(he.color),me=pr(he.light),_e=-1/0):(Z++,bt(ye))):O<0&&(ee=ye+3e3+Math.random()*3e3),O>=0&&(ye>=J&&(O+=1/96),[ct,kt]=jd(O),O>=1&&(O=-1,ct=0,kt=0,Fe?(Fe=!1,Z=0,ee=ye+150):!qe&&Z>=2?(qe=!0,ee=ye+240):ee=ye+5e3+Math.random()*5e3));let st=Math.max(0,ct);if(p.current!==ht){ht=p.current;let Le=p.current?ol:he;Se=pr(Le.color),me=pr(Le.light),p.current&&!j&&(O<0&&(O=0),Qt=ye+2600)}let Wt=p.current?ol:he;if(j)q=[...Se],ce=[...me];else for(let Le=0;Le<3;Le++)q[Le]+=(Se[Le]-q[Le])*.055,ce[Le]+=(me[Le]-ce[Le])*.055;let Jt=as(q),Ut=as(ce);N.current?.setAttribute("stop-color",Jt),H.current?.setAttribute("stop-color",Ut),se.current?.setAttribute("stop-color",Ut);for(let Le=0;Le<4;Le++){let Xe=al[Le]+(Qd[Le]-al[Le])*Ke;I.current[Le]?.style.setProperty("stop-color",as(Yd(Xd[Le],q,Xe)))}let Qr=.34+Math.sin(ye/1200)*.06,Ft=st>.02?Math.min(.72,Qr+st*.34):Qr;R.current?.setAttribute("opacity",Ft.toFixed(3)),st>.04?le.current?.(st,Wt.color,Wt.glow):Nt>.04&&le.current?.(0,Wt.color,Wt.glow),Nt=st;let V=j?0:Math.sin(ye/1900)*.9*D.wob,re=D.bw*(1+ct*.55)+V*.4,be=D.bh*(1-ct*.62),pe=Kd(re,be,zr(D.tr+st*.5,0,1.2),zr(D.br+st*.9,0,1),D.bow+V+st*5);u.current?.setAttribute("d",pe),A.current?.setAttribute("d",pe);let ae=Ge==="thinking";ae!==Q&&(Q=ae,ie.current?.setAttribute("filter",ae?`url(#${B}-goo)`:"none"));let Ne=qt(ye,D.lid*(1-st*.85),D.gx,D.gy);for(let Le=0;Le<Gn;Le++){let Xe=Ne[Le],Ae=F[Le],At=S[Le];for(let Ct of["x","y","w","h","rx","a"]){if(j){Ae[Ct]=Xe[Ct];continue}At[Ct]=(At[Ct]+(Xe[Ct]-Ae[Ct])*.16)*.74,Ae[Ct]+=At[Ct]}let Qe=de.current[Le];Qe&&(Qe.setAttribute("x",(Ae.x-Ae.w/2).toFixed(2)),Qe.setAttribute("y",(Ae.y-Ae.h/2).toFixed(2)),Qe.setAttribute("width",Math.max(0,Ae.w).toFixed(2)),Qe.setAttribute("height",Math.max(0,Ae.h).toFixed(2)),Qe.setAttribute("rx",Math.max(0,Math.min(Ae.rx,Ae.w/2,Ae.h/2)).toFixed(2)),Qe.setAttribute("opacity",zr(Ae.a,0,1).toFixed(2)))}let Ie=j?0:Math.sin(ye/rt.breath)*1.5;!j&&ft&&O<0?(ye>G&&(K=(Math.random()<.5?-1:1)*(.35+Math.random()*.65),G=ye+2600+Math.random()*4200),ye>ue&&(ge=ge>.1?0:1,ue=ye+(ge>.1?900:9e3+Math.random()*11e3))):(K=0,ge=0),L=(L+(K-f)*.028)*.9,f+=L,te=(te+(ge-Y)*.06)*.82,Y+=te;let ke=D.bh-be,Me=f*3.4+Y*4.5,He=f*2.2+Y*3,xt=Y*2.4;if(k.current?.setAttribute("transform",`translate(${He.toFixed(2)} ${(Ie+ke-kt+xt).toFixed(2)}) rotate(${Me.toFixed(2)} 0 60)`),C.current&&C.current.setAttribute("transform",`translate(${He.toFixed(2)} ${(Ie+ke-kt+xt).toFixed(2)}) rotate(${Me.toFixed(2)} 0 60)`),b&&M.current){let Le=-re*.62,Xe=-be*.7,Ae=-16+(j?0:Math.sin(ye/1400)*3)+Me*.4;M.current.setAttribute("transform",`translate(${Le.toFixed(2)}, ${Xe.toFixed(2)}) rotate(${Ae.toFixed(2)})`)}if(x&&g.current){let Le=12+D.gy*.5;g.current.setAttribute("transform",`translate(0, ${Le.toFixed(2)})`)}if(m&&P.current){let Le=Ge!=="thinking"&&Ge!=="visualizing"&&Ge!=="speaking";P.current.setAttribute("opacity",Le?zr(D.lid*1.3,0,1).toFixed(2):"0");let Xe=(Ae,At)=>{let Qe=Math.max(1,Math.min(Ae.w,Ae.h)/2),Ct=Ae.y-Ae.h/2+Qe,zn="";for(let[Pr,Jr]of[[20,7],[48,8],[76,6.5]]){let ur=Pr*Math.PI/180,ro=Ae.x+At*Math.sin(ur)*Qe,no=Ct-Math.cos(ur)*Qe,ao=Ae.x+At*Math.sin(ur)*(Qe+Jr),oo=Ct-Math.cos(ur)*(Qe+Jr)-1.5,so=Ae.x+At*Math.sin(ur-.22)*(Qe+Jr*.65),Zt=Ct-Math.cos(ur-.22)*(Qe+Jr*.65);zn+=` M ${ro.toFixed(2)} ${no.toFixed(2)} Q ${so.toFixed(2)} ${Zt.toFixed(2)} ${ao.toFixed(2)} ${oo.toFixed(2)}`}return zn.trim()};_.current?.setAttribute("d",Xe(F[0],-1)),T.current?.setAttribute("d",Xe(F[1],1))}y=requestAnimationFrame(zt)},Nt=0;return y=requestAnimationFrame(zt),()=>cancelAnimationFrame(y)},[b,m,x,d]),$t("svg",{className:"hsk-kiku-avatar",width:r,height:r,viewBox:"-100 -100 200 200","aria-hidden":"true",style:{display:"block",overflow:"visible"},children:[$t("defs",{children:[De("linearGradient",{id:`${B}-marble`,x1:".2",y1:"0",x2:".42",y2:"1",children:[0,40,82,100].map((j,D)=>De("stop",{ref:U=>{I.current[D]=U},offset:`${j}%`,style:{stopColor:`var(--hsk-marble-${D+1}, #FAF7F2)`}},j))}),$t("linearGradient",{id:`${B}-contact`,x1:"0",y1:"1",x2:"0",y2:"0",children:[De("stop",{ref:N,offset:"0%",stopColor:kn[0].color,stopOpacity:"0.9"}),De("stop",{ref:H,offset:"45%",stopColor:kn[0].light,stopOpacity:"0.5"}),De("stop",{ref:se,offset:"100%",stopColor:kn[0].light,stopOpacity:"0"})]}),$t("radialGradient",{id:`${B}-sheen`,cx:".34",cy:".2",r:".55",children:[De("stop",{offset:"0%",stopColor:"#FFFFFF",style:{stopOpacity:"var(--hsk-marble-sheen, .9)"}}),De("stop",{offset:"100%",stopColor:"#FFFFFF",stopOpacity:"0"})]}),$t("linearGradient",{id:`${B}-hibiscus-petal`,x1:"0",y1:"1",x2:"0",y2:"0",children:[De("stop",{offset:"0%",stopColor:"#FF3366"}),De("stop",{offset:"65%",stopColor:"#FF758F"}),De("stop",{offset:"100%",stopColor:"#FFAAA6"})]}),$t("radialGradient",{id:`${B}-blush-cheek`,cx:"50%",cy:"50%",r:"50%",children:[De("stop",{offset:"0%",stopColor:"#FB7185",stopOpacity:"0.48"}),De("stop",{offset:"100%",stopColor:"#FB7185",stopOpacity:"0"})]}),De("clipPath",{id:`${B}-skin`,children:De("use",{href:`#${B}-body`})}),$t("filter",{id:`${B}-goo`,x:"-50%",y:"-50%",width:"200%",height:"200%",children:[De("feGaussianBlur",{in:"SourceGraphic",stdDeviation:"4",result:"b"}),De("feColorMatrix",{in:"b",values:"1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 18 -7"})]}),$t("mask",{id:`${B}-cut`,children:[De("path",{ref:A,d:"",fill:"#FFFFFF"}),De("g",{ref:ie,children:Array.from({length:Gn},(j,D)=>De("rect",{ref:U=>{de.current[D]=U},fill:"#000000"},D))})]})]}),$t("g",{ref:k,mask:`url(#${B}-cut)`,children:[De("path",{id:`${B}-body`,ref:u,d:"",fill:`url(#${B}-marble)`}),$t("g",{clipPath:`url(#${B}-skin)`,children:[De("ellipse",{cx:"-14",cy:"-40",rx:"46",ry:"34",fill:`url(#${B}-sheen)`}),De("rect",{ref:R,x:"-100",y:"-20",width:"200",height:"100",fill:`url(#${B}-contact)`,opacity:"0.45"})]})]}),$t("g",{ref:C,style:{pointerEvents:"none"},children:[x&&$t("g",{ref:g,children:[De("ellipse",{cx:"-28",cy:"0",rx:"10",ry:"5.5",fill:`url(#${B}-blush-cheek)`}),De("ellipse",{cx:"28",cy:"0",rx:"10",ry:"5.5",fill:`url(#${B}-blush-cheek)`})]}),m&&$t("g",{ref:P,children:[De("path",{ref:_,stroke:"#3D1424",strokeWidth:"1.7",strokeLinecap:"round",fill:"none"}),De("path",{ref:T,stroke:"#3D1424",strokeWidth:"1.7",strokeLinecap:"round",fill:"none"})]}),b&&$t("g",{ref:M,className:"hsk-avatar-flower",children:[De("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(j=>De("path",{d:"M 0 0 C -6 -13 6 -13 0 0 Z",fill:`url(#${B}-hibiscus-petal)`,stroke:"#FF2A5F",strokeWidth:"0.6",transform:`rotate(${j-18})`},j)),De("path",{d:"M 0 0 Q 3 -10 9 -14",stroke:"#F59E0B",strokeWidth:"1.6",strokeLinecap:"round",fill:"none"}),De("circle",{cx:"9",cy:"-14",r:"1.3",fill:"#FDE047"}),De("circle",{cx:"7",cy:"-12",r:"1.1",fill:"#FDE047"}),De("circle",{cx:"6.5",cy:"-15",r:"1.1",fill:"#FDE047"}),De("circle",{cx:"0",cy:"0",r:"2.2",fill:"#881337"})]})]})]})}import{useState as il}from"react";import{Fragment as cl,jsx as gn,jsxs as Pa}from"react/jsx-runtime";function _a({className:e="",compact:r=!1}){let[t,n]=il(()=>ma()),[a,o]=il(""),s=()=>{let c=!t;fi(c),n(c),tr(c?"reply":"interrupt",!0),o(gi())};return Pa("button",{type:"button",className:oe("hsk-cb-sound-pill",r&&"is-compact",t&&"is-on",a&&a!=="running"&&a!=="off"&&"is-blocked",e),onClick:s,role:"switch","aria-checked":t,"aria-label":t?"Mute notification sounds":"Unmute notification sounds",children:[Pa("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[gn("path",{d:"M11 5 6 9H3v6h3l5 4V5Z"}),t?Pa(cl,{children:[gn("path",{className:"hsk-snd-wave",style:{"--hsk-wave":0},d:"M15.5 8.5a5 5 0 0 1 0 7"}),gn("path",{className:"hsk-snd-wave",style:{"--hsk-wave":1},d:"M18.5 5.5a9 9 0 0 1 0 13"})]}):Pa(cl,{children:[gn("line",{className:"hsk-snd-x",x1:"16",y1:"9",x2:"21",y2:"15"}),gn("line",{className:"hsk-snd-x",x1:"21",y1:"9",x2:"16",y2:"15"})]})]}),!r&&gn("span",{children:t?"Sounds":"Muted"})]})}import{useCallback as ll,useLayoutEffect as Jd,useRef as xn}from"react";var Zd=300,eu=220,tu=120,ru=.45,nu=.4,au=.25,Fa=e=>Math.min(1,Math.max(0,e));function ou(e,r,t,n){let a=3*e,o=3*(t-e)-a,s=1-a-o,c=3*r,i=3*(n-r)-c,l=1-c-i,h=b=>((s*b+o)*b+a)*b,p=b=>((l*b+i)*b+c)*b,d=b=>(3*s*b+2*o)*b+a;return b=>{let m=b;for(let x=0;x<8;x++){let u=h(m)-b,A=d(m);if(Math.abs(u)<1e-5||Math.abs(A)<1e-6)break;m-=u/A}return p(Fa(m))}}var su=ou(.32,.72,0,1);function iu(e){let r=e.getBoundingClientRect();return{top:r.top,left:r.left,width:r.width,height:r.height,radius:Math.min(parseFloat(getComputedStyle(e).borderTopLeftRadius)||0,r.height/2)}}function hl({target:e,trigger:r,shadow:t,radius:n=0,enabled:a,onClosed:o}){let s=xn(null),c=xn(null),i=xn(!1),l=xn(0),h=xn(null),p=xn(o);p.current=o;let d=ll(k=>{l.current=k;let C=e(),M=s.current,g=c.current;if(!C||!M||!g)return;let P=1-k,_=Math.min(Math.max(M.top,g.top),g.bottom-M.height),T=Math.min(Math.max(M.left,g.left),g.right-M.width),W=(M.top-_)*P,R=(M.left-T)*P,N=Math.max(0,(_-g.top)*P),H=Math.max(0,(T-g.left)*P),se=Math.max(0,(g.right-T-M.width)*P),I=Math.max(0,(g.bottom-_-M.height)*P),de=M.radius*P+n*k;C.style.clipPath=`inset(${N}px ${se}px ${I}px ${H}px round ${de}px)`,C.style.translate=R||W?`${R}px ${W}px`:"";let ie=t?.();ie&&Object.assign(ie.style,{left:`${H}px`,top:`${N}px`,width:`${Math.max(0,g.width-H-se)}px`,height:`${Math.max(0,g.height-N-I)}px`,borderRadius:`${de}px`,translate:C.style.translate}),C.style.setProperty("--hsk-island-content",String(Fa((k-ru)/nu)));let B=String(Fa(k/au));C.style.opacity=B,ie&&(ie.style.opacity=B)},[e,t,n]),b=()=>{let k=e();if(k)for(let M of["clip-path","translate","--hsk-island-content","opacity"])k.style.removeProperty(M);let C=t?.();if(C)for(let M of["left","top","width","height","border-radius","translate","opacity"])C.style.removeProperty(M)},m=()=>{h.current!==null&&cancelAnimationFrame(h.current),h.current=null},x=(k,C,M)=>{m();let g=l.current,P=Math.max(tu,C*Math.abs(k-g)),_=performance.now(),T=W=>{let R=Fa((W-_)/P);d(g+(k-g)*su(R)),R<1?h.current=requestAnimationFrame(T):(h.current=null,M())};d(g),h.current=requestAnimationFrame(T)},u=(k,C)=>{s.current=iu(C),k.style.clipPath="",k.style.translate="",c.current=k.getBoundingClientRect()};return Jd(()=>{if(!a)return;let k=e(),C=r();if(!(!k||!C))return i.current=!1,k.style.removeProperty("pointer-events"),u(k,C),l.current=0,x(1,Zd,b),()=>{m(),b()}},[a]),{close:ll(()=>{let k=e(),C=a?r():null,M=C?.getBoundingClientRect(),g=M&&M.bottom>0&&M.top<window.innerHeight;if(!k||!C||!g){p.current();return}let P=h.current!==null?l.current:1;u(k,C),i.current=!0,k.style.pointerEvents="none",l.current=P,x(0,eu,()=>p.current())},[a,e,r])}}import{jsx as ss,jsxs as cu}from"react/jsx-runtime";function Da({mobile:e=!1,closing:r=!1}){let t=Kt();return cu("div",{className:oe("hsk-cb-theme-discovery",e&&"is-mobile",r&&"is-closing"),role:"note",children:[ss("svg",{viewBox:e?"0 0 360 260":"0 0 120 80",preserveAspectRatio:"none",fill:"none","aria-hidden":"true",children:ss("path",{pathLength:"1",vectorEffect:"non-scaling-stroke",d:e?"M174 250C213 263 247 245 239 225C230 205 205 222 220 239C244 269 294 251 326 220C354 194 343 158 351 132C363 90 349 66 352 43C356 20 311 16 215 14M225 5L213 14L224 24":"M26 67C48 78 63 61 54 52C43 43 37 58 50 62C81 73 106 44 84 22C79 16 73 13 66 12M72 27L65 12L83 10"})}),ss("span",{children:t(e?"themeHoldHint":"themeClickHint")})]})}import{jsx as et,jsxs as Nr}from"react/jsx-runtime";var pl=!1;function dl({title:e,logo:r,hasMessages:t,avatarState:n="idle",unread:a=!1,awayFromBottom:o=!1,themeMenuOpen:s=!1,themeMenuClosing:c=!1,themeDiscovery:i=!1,onThemeMenuReady:l,onThemeMenuClosed:h,isNarrow:p=!1,currentTheme:d="dark",onJumpToLatest:b,onReset:m,onClose:x,onToggleThemeMenu:u,onSelectTheme:A,themeAttr:k,below:C,layoutControl:M}){let g=Kt(),P=!!M,_=Ue.useRef(null),T=Ue.useRef(null),W=Ue.useRef(null),R=Ue.useRef(null),[N]=Ue.useState(()=>{let Y=!pl;return pl=!0,Y}),H=Ue.useRef(null),se=Ue.useRef(null),I=g("clearChat"),[de,ie]=Ue.useState({size:12,compact:!1});Ue.useLayoutEffect(()=>{let Y=_.current,te=H.current,ge=se.current;if(!Y||!te||!ge)return;let ue=!0,he=()=>{if(!ue)return;let ce=te.parentElement,Se=getComputedStyle(Y).gridTemplateColumns.split(" "),me=parseFloat(Se[2])||ce.clientWidth,ve=ce.querySelector(".hsk-cb-exit-btn"),_e=parseFloat(getComputedStyle(ce).gap)||0,qe=Math.max(0,me-(ve?ve.offsetWidth+_e:0)-30),Z=Math.min(12,Math.floor(1200*qe/Math.max(1,ge.scrollWidth))/100),Fe=Z<10;ie(Oe=>Oe.size===Z&&Oe.compact===Fe?Oe:{size:Z,compact:Fe})};he();let q=new ResizeObserver(he);return q.observe(Y),R.current&&q.observe(R.current),document.fonts?.ready.then(he).catch(()=>{}),document.fonts?.addEventListener("loadingdone",he),()=>{ue=!1,q.disconnect(),document.fonts?.removeEventListener("loadingdone",he)}},[I,t,p,e,r]),Ue.useLayoutEffect(()=>{let Y=_.current,te=R.current,ge=T.current;if(!Y||!te||!ge)return;let ue=te.offsetParent;if(!ue)return;let he=ue.offsetTop+te.offsetTop+te.offsetHeight/2;Y.style.setProperty("--hsk-tray-top",`${he}px`),Y.style.setProperty("--hsk-tray-head",`${te.offsetHeight/2+8}px`),Y.style.setProperty("--hsk-tray-h",`${ge.offsetHeight}px`),Y.style.setProperty("--hsk-tray-w",`${ge.offsetWidth}px`)},[s,p,P]);let[B]=Ue.useState(()=>typeof window<"u"&&!window.matchMedia?.("(prefers-reduced-motion: reduce)").matches),[le,j]=Ue.useState(!1);Ue.useEffect(()=>{if(!p||le)return;let Y=window.requestIdleCallback,te=Y?Y(()=>j(!0),{timeout:1200}):setTimeout(()=>j(!0),600);return()=>{let ge=window.cancelIdleCallback;Y&&ge?ge(te):clearTimeout(te)}},[p,le]);let D=p&&(s||le);Ue.useEffect(()=>{if(p&&!le)return;let Y=requestAnimationFrame(()=>l?.());return()=>cancelAnimationFrame(Y)},[p,le,l]);let U=hl({target:Ue.useCallback(()=>T.current,[]),trigger:Ue.useCallback(()=>R.current,[]),shadow:Ue.useCallback(()=>W.current,[]),radius:18,enabled:p&&s&&B,onClosed:()=>h?.()});Ue.useEffect(()=>{p&&c&&U.close()},[c,p]);let[F,S]=Ue.useState(!1),[X,E]=Ue.useState("#134e3d"),[w,z]=Ue.useState("rgba(19, 78, 61, 0.45)"),y=Ue.useRef(void 0),Q=Ue.useRef(null),ee=Ue.useRef(!1),O=Ue.useRef(0),J=Ue.useCallback(()=>{ee.current=!1,O.current=Date.now(),Q.current=setTimeout(()=>{if(ee.current=!0,typeof navigator<"u"&&navigator.vibrate)try{navigator.vibrate(25)}catch{}u?.()},350)},[u]),f=Ue.useCallback(()=>{Q.current&&(clearTimeout(Q.current),Q.current=null)},[]),L=Ue.useCallback(()=>{Q.current&&(clearTimeout(Q.current),Q.current=null)},[]),K=Ue.useCallback(Y=>{if(ee.current){ee.current=!1,Y.preventDefault(),Y.stopPropagation();return}o?b?.():p?u?.():y.current?.()},[o,p,b,u]),G=Ue.useCallback((Y,te,ge)=>{Y>.04?(S(!0),E(te),z(ge)):S(!1)},[]);return Nr("div",{ref:_,className:oe("hsk-cb-topbar",p&&s&&"is-docked"),children:[et("div",{className:"hsk-cb-topbar-left",style:{minWidth:"34px"},children:p&&et("button",{type:"button",className:"hsk-cb-back",onClick:x,"aria-label":g("back"),children:et("span",{className:"hsk-cb-back-icon",children:et(on,{})})})}),Nr("div",{className:oe("hsk-cb-topbar-mark",p&&s&&"is-oozing",i&&s&&!c&&"is-discovering"),"data-impacting":F?"true":"false",style:{"--hsk-contact-color":X,"--hsk-contact-glow":w},"data-unread":a?"true":"false",onTouchStart:J,onTouchEnd:f,onTouchMove:L,onTouchCancel:L,onClick:K,role:"button",tabIndex:0,"aria-label":o?g("jumpToLatest"):`${e} (tap for themes)`,children:[et(sl,{state:n,size:34,theme:d,alert:a,onImpact:G,triggerRef:y,dropIn:N}),et("div",{className:"hsk-cb-topbar-identity",children:r?et("img",{ref:R,className:"hsk-cb-topbar-logo",src:r,alt:e}):et("span",{ref:R,className:"hsk-cb-topbar-name",children:e})})]}),Nr("div",{className:"hsk-cb-topbar-actions",style:{display:"flex",alignItems:"center",gap:"6px"},children:[t&&Nr("button",{ref:H,type:"button",className:oe("hsk-cb-topbar-btn",de.compact&&"is-compact"),onClick:m,title:I,"aria-label":I,children:[et("span",{ref:se,className:"hsk-cb-clear-measure","aria-hidden":"true",children:I}),de.compact?et(ya,{}):et("span",{className:"hsk-cb-topbar-btn-label",style:{fontSize:de.size},children:I})]}),!p&&et("button",{type:"button",className:"hsk-cb-squircle-btn hsk-cb-exit-btn",onClick:x,"aria-label":"Close Chat",children:et(an,{})})]}),p&&s&&et("div",{className:oe("hsk-cb-topbar-scrim",i&&"is-discovery",c&&"is-closing"),onClick:u,"aria-hidden":"true"}),D&&et("div",{className:oe("hsk-cb-tray-shadow",!s&&"is-parked"),"aria-hidden":"true",children:et("div",{ref:W})}),D&&et("div",{ref:T,className:oe("hsk-cb-topbar-ooze-menu",c&&"is-closing",B&&"is-island",!s&&"is-parked"),role:"dialog","aria-label":"Theme selector",style:{position:"absolute",left:"50%",transform:"translateX(-50%)",zIndex:1e3},onPointerDown:Y=>Y.stopPropagation(),onClick:Y=>Y.stopPropagation(),onMouseDown:Y=>Y.stopPropagation(),children:Nr("div",{className:"hsk-cb-theme-block",children:[Nr("div",{className:"hsk-cb-tray-aside",children:[et(_a,{compact:!0}),et("span",{className:"hsk-cb-tray-rule","aria-hidden":"true"}),et("span",{className:"hsk-cb-theme-vlabel","aria-hidden":"true",children:"Themes"})]}),et("div",{className:"hsk-cb-theme-2x2-grid",children:cn.map(({id:Y,label:te,Icon:ge})=>Nr("button",{type:"button",className:oe("hsk-cb-theme-grid-item",d===Y&&"is-active"),onClick:ue=>{ue.stopPropagation(),A?.(Y)},children:[et(ge,{}),et("span",{children:te})]},Y))}),M&&Nr("div",{className:"hsk-cb-dock-layout",children:[et("span",{className:"hsk-cb-layout-label",children:"RESPONSIVE LAYOUT"}),M]})]})}),p&&s&&C&&et("div",{className:oe("hsk-cb-tray-below",c&&"is-closing"),children:C}),p&&s&&i&&et(Da,{mobile:!0,closing:c})]})}import Kr from"react";import Ha from"react";import{jsx as fl,jsxs as mu}from"react/jsx-runtime";var ul=83,lu=2,$a=240,cs=160,Ht=$a/2,Tt=cs/2,kr=24,vn=50,yn=56,ls=124,Sn=22,nr=6,hs=13,hu=30,dr=(e,r,t)=>e+(r-e)*t,Kn=(e,r)=>Math.sin(e*12.9898+r*78.233)*.5;function kl(e,r,t,n,a,o=0){let s=[];for(let l=0;l<16;l++){let h=l/16*Math.PI*2,p=1+Math.sin(l*2.3+1.7)*.06+Math.sin(l*5.1)*.03+Kn(e.n,l)*.02;s.push([r+Math.cos(h+o)*n*p,t+Math.sin(h+o)*a*p])}let c=(l,h)=>[(l[0]+h[0])/2,(l[1]+h[1])/2],{ctx:i}=e;i.beginPath(),i.moveTo(...c(s[15],s[0]));for(let l=0;l<16;l++)i.quadraticCurveTo(s[l][0],s[l][1],...c(s[l],s[(l+1)%16]));i.closePath()}function qa(e,r){let{ctx:t,dpr:n}=e;t.shadowColor=`rgba(0,0,0,${.5-r*.22})`,t.shadowBlur=(4+r*14)*n,t.shadowOffsetX=(1.5+r*13)*n,t.shadowOffsetY=(2.5+r*17)*n}function ms(e,r,t,n){let a=e.ctx.createRadialGradient(r-n*.35,t-n*.4,0,r,t,n*1.15);return a.addColorStop(0,e.light),a.addColorStop(.35,e.clay),a.addColorStop(1,e.dark),a}function pu(e,r,t){let n=e.ctx.createLinearGradient(0,r-t/2,0,r+t/2);return n.addColorStop(0,e.clay),n.addColorStop(.25,e.light),n.addColorStop(.5,e.clay),n.addColorStop(1,e.dark),n}function jr(e,r,t=0){let{ctx:n}=e,a=r*(1+t*.3);n.save(),qa(e,t),n.fillStyle=ms(e,Ht,Tt,a),kl(e,Ht,Tt,a,a,e.n*.03),n.fill(),n.restore()}function is(e,r,t,n){let{ctx:a}=e;a.save(),n!==void 0&&(a.beginPath(),a.rect(0,0,$a,n),a.clip()),qa(e,0),a.fillStyle=ms(e,Ht,Tt,Math.max(r,t)),kl(e,Ht,Tt,r,t),a.fill(),a.restore()}function Ba(e,r,t,n,a,o=a/2,s=a/2){let{ctx:c}=e;c.save(),qa(e,0),c.fillStyle=pu(e,n,a),c.beginPath(),c.roundRect(r+Kn(e.n,r)*.6,n-a/2+Kn(e.n,n)*.6,t-r,a,[o,s,s,o]),c.fill(),c.restore()}function ps(e,r,t,n,a=0){let{ctx:o}=e,s=n*(1+a*.2);o.save(),qa(e,a),o.fillStyle=ms(e,r,t,s),o.beginPath(),o.arc(r,t,s,0,Math.PI*2),o.fill(),o.restore(),o.save(),o.strokeStyle=e.dark,o.lineWidth=1.4,o.lineCap="round",o.beginPath();for(let c=0;c<=1.001;c+=.04){let i=c*Math.PI*5+r*.3,l=(1.5+c*(n-4))*(1+a*.2),h=r+Math.cos(i)*l,p=t+Math.sin(i)*l;c===0?o.moveTo(h,p):o.lineTo(h,p)}o.stroke(),o.restore()}function Oa(e,r){let{ctx:t}=e;t.save(),t.strokeStyle=`rgba(${e.ink},${.55*r})`,t.lineWidth=2,t.lineCap="round";for(let n=0;n<7;n++){let a=n/7*Math.PI*2+.14,o=38+(1-r)*8,s=n%2?5:8;t.beginPath(),t.moveTo(Ht+Math.cos(a)*o,Tt+Math.sin(a)*o),t.lineTo(Ht+Math.cos(a)*(o+s),Tt+Math.sin(a)*(o+s)),t.stroke()}t.restore()}var ds=e=>Ht-ls/2+ls*e/nr;function du(e,r){let{ctx:t}=e;t.save(),t.strokeStyle=e.dark,t.lineWidth=1.5,t.lineCap="round",t.beginPath(),t.moveTo(r,Tt-Sn/2+2),t.lineTo(r+Kn(e.n,r)*1.5,Tt+Sn/2-2),t.stroke(),t.restore()}var us=e=>Ht+(e-(nr-1)/2)*hu;function jn(e,r,t=-1,n=-1){for(let a=0;a<nr;a++){let o=0;for(let i=0;i<r;i++)o+=a<=i?-2:2;let s=ds(a)+o,c=ds(a+1)+o;a===n?ps(e,dr((s+c)/2,us(a),.5),Tt-4,hs,.5):a<=t?ps(e,us(a),Tt,hs):Ba(e,s,c,Tt,Sn,a===0?Sn/2:2,a===nr-1?Sn/2:2)}}function uu(){let e=[];for(let n=0;n<5;n++)e.push({draw:a=>jr(a,kr)});let r=[[kr,kr,34,38],[34,38,44,48],[44,48,vn,yn]];for(let[n,a,o,s]of r){for(let c=0;c<3;c++){let i=(c+1)/3,l=c===0?1.05:1;e.push({hold:1,thump:c===0?.25:void 0,draw:h=>is(h,dr(n,o,i),dr(a,s,i)*l)})}e.push({hold:1,draw:c=>is(c,o,s)})}let t=0;for(let n=0;n<12;n++){let a=(n+1)/12,o=dr(Tt+yn,Tt-yn,a),s=dr(8,24,a),c=(o-Tt)/yn;t=Math.max(t,2*vn*Math.sqrt(Math.max(0,1-c*c)),30);let i=t;e.push({draw:l=>{a<1&&is(l,vn,yn,o-s*.3),Ba(l,Ht-i/2,Ht+i/2,o,s)}})}for(let n of[.5,1])e.push({draw:a=>Ba(a,Ht-vn,Ht+vn,dr(Tt-yn,Tt,n),24)});for(let n=0;n<6;n++){let a=(n+1)/6,o=dr(2*vn,ls,a),s=dr(24,Sn,a),c=n%2?2:-2;e.push({draw:i=>Ba(i,Ht-o/2+c,Ht+o/2+c,Tt,s)})}for(let n=1;n<nr;n++)e.push({draw:a=>{jn(a,n-1),du(a,ds(n))}}),e.push({thump:.35,draw:a=>jn(a,n)});e.push({draw:n=>jn(n,nr-1)});for(let n=0;n<nr;n++)e.push({thump:.12,draw:a=>jn(a,nr-1,n-1,n)});for(let n=0;n<4;n++)e.push({draw:a=>jn(a,nr-1,nr-1)});for(let n of[.35,.7,1])e.push({draw:a=>{for(let o=0;o<nr;o++)ps(a,dr(us(o),Ht,n),Tt,dr(hs,10,n),.4)}});return e.push({thump:1,draw:n=>{jr(n,kr*1.3),Oa(n,1)}}),e.push({draw:n=>{jr(n,kr*1.12),Oa(n,.4)}}),e.push({draw:n=>jr(n,kr*1.04)}),e}var wn=uu(),ml=[...[1.6,1.25,.9,.5,.18].map(e=>({draw:r=>jr(r,kr,e)})),{thump:.7,draw:e=>{jr(e,kr*1.24),Oa(e,1)}},{draw:e=>{jr(e,kr*1.08),Oa(e,.4)}}],bl=[1,.7,.35,0];function Cn(e,r){let t=document.createElement("span");t.style.display="none",t.style.color=r,e.parentElement?.appendChild(t);let n=getComputedStyle(t).color;return t.remove(),n}function gl({phase:e,label:r,theme:t}){let n=Ha.useRef(null),a=Ha.useRef(null),o=Ha.useRef({n:0,at:0,held:0,entered:!1,last:wn[0]});return Ha.useEffect(()=>{let s=n.current,c=a.current,i=s?.getContext("2d");if(!s||!i||!c)return;let l=Math.min(window.devicePixelRatio||1,3);s.width=$a*l,s.height=cs*l;let h="var(--hsk-primary, #ff6a33)",p={ctx:i,dpr:l,n:0,clay:Cn(s,h),light:Cn(s,`color-mix(in srgb, ${h} 55%, white)`),dark:Cn(s,`color-mix(in srgb, ${h} 70%, black)`),ink:getComputedStyle(s).getPropertyValue("--hsk-doodle-ink").trim()||"31, 31, 31"},d=o.current,b="",m=()=>{let g=getComputedStyle(s).getPropertyValue("--hsk-primary").trim()||"#ff6a33";g!==b&&(b=g,p.clay=Cn(s,g),p.light=Cn(s,`color-mix(in srgb, ${g} 55%, white)`),p.dark=Cn(s,`color-mix(in srgb, ${g} 70%, black)`),p.ink=getComputedStyle(s).getPropertyValue("--hsk-doodle-ink").trim()||"31, 31, 31")},x=(g,P=1)=>{m(),i.setTransform(l,0,0,l,0,0),i.clearRect(0,0,$a,cs),i.globalAlpha=P,p.n=d.n++,g.draw(p),i.globalAlpha=1},u=g=>{let P=s.getBoundingClientRect();wc({x:P.left+P.width/2,y:P.top+P.height/2,strength:g}),c.style.translate="0 1px",c.style.rotate=`${Kn(d.n,4)*.8}deg`};if(window.matchMedia?.("(prefers-reduced-motion: reduce)")?.matches){x(wn[0]);let g=window.setInterval(()=>x(wn[0]),ul);return()=>clearInterval(g)}let A=e==="exit"?null:e==="enter"&&!d.entered?ml:wn;A&&(d.at=0);let k=0,C=0,M=()=>{if(c.style.translate="",c.style.rotate="",!A){k===0&&u(.6),x(d.last,bl[k]),++k>=bl.length&&clearInterval(C);return}let g=A[d.at];x(g),d.last=g,g.thump&&d.held===0&&u(g.thump),!(A===wn&&++d.held<(g.hold??lu))&&(d.held=0,!(++d.at<A.length)&&(A===ml&&(d.entered=!0),A=wn,d.at=0))};return M(),C=window.setInterval(M,ul),()=>clearInterval(C)},[e==="exit",t]),mu("div",{className:"hsk-clay",children:[fl("canvas",{className:"hsk-clay-table",ref:n,"aria-hidden":"true"}),fl("p",{className:"hsk-lang-preparing",ref:a,children:r})]})}import{jsx as we,jsxs as at}from"react/jsx-runtime";function bu(){return we("span",{className:"hsk-cb-check","aria-hidden":"true",children:we("svg",{viewBox:"0 0 16 16",children:we("path",{d:"M3.5 8.4 6.6 11.4 12.6 4.8"})})})}function xl({theme:e,inOnboarding:r,justCompleted:t,onboardingMood:n,awaitingLang:a,awaitingName:o,awaitingEntityLang:s,awaitingConsent:c,termsAgreed:i,shopperLanguage:l,pendingLanguage:h,shopperName:p,entityLangPref:d,chromeReady:b,activeChips:m,speechLang:x,t:u,tNode:A,chooseLanguage:k,langSwitching:C=!1,isLangPreparing:M,chooseEntityLang:g,agreeTerms:P,handleSend:_}){let T=h||l,W=!T||T.toLowerCase()==="english"||T.toLowerCase()==="en",R=M??(C||!!h||!!l&&!b&&!W),N=Dr(T),[H,se]=Kr.useState(R),[I,de]=Kr.useState(()=>R?"spinner-steady":"idle"),ie=Kr.useRef([]),B=()=>{ie.current.forEach(clearTimeout),ie.current=[]};R!==H&&(se(R),B(),R?(de("step1-exit"),ie.current.push(setTimeout(()=>de("spinner-enter"),280)),ie.current.push(setTimeout(()=>de("spinner-steady"),960))):(de("spinner-exit"),ie.current.push(setTimeout(()=>de("idle"),460)))),Kr.useEffect(()=>()=>B(),[]);let le=I==="spinner-enter"||I==="spinner-steady"||I==="spinner-exit",j=I==="step1-exit",D=le||j||!l||a?"1":!p||o?"2":!d||s?"3":!i||c?"4":null,[U,F]=Kr.useState(null),[S,X]=Kr.useState(3);Kr.useEffect(()=>{if(!c)return;X(3);let w=setInterval(()=>{X(z=>z<=1?(clearInterval(w),0):z-1)},1e3);return()=>clearInterval(w)},[c]);let E=l?_n(l,x)||l.charAt(0).toUpperCase()+l.slice(1):"";return we("div",{className:"hsk-cb-empty",children:at("div",{className:"hsk-cb-onboarding-card",children:[D&&we("div",{className:"hsk-cb-onboarding-head",children:at("span",{className:"hsk-cb-step-badge",dir:"ltr",children:[D," / 4"]})}),le?we("div",{className:oe("hsk-lang-loader",I==="spinner-enter"&&"hsk-lang-loader--enter",I==="spinner-exit"&&"hsk-lang-loader--exit"),children:we(gl,{theme:e,phase:I==="spinner-exit"?"exit":I==="spinner-enter"?"enter":"steady",label:N.preparing})},"spinner-loading"):j||a||!l?at("div",{className:oe("hsk-cb-hello-wrap",j&&"hsk-step1-exit"),children:[we("h2",{className:"hsk-cb-hello",children:"Which language do you want to use?"}),at("div",{className:"hsk-cb-lang-chips",children:[ga.map((w,z)=>we("button",{type:"button",className:"hsk-cb-lang-chip",style:{"--hsk-pill-idx":z},lang:w.tag,dir:w.rtl?"rtl":"ltr",disabled:C,onClick:()=>!C&&k(w.value),children:w.native},w.value)),we("span",{className:"hsk-cb-lang-chips-hint",style:{"--hsk-pill-idx":ga.length},children:"or type another one"})]})]},"step-lang"):o||!p?at("div",{className:"hsk-cb-hello-wrap hsk-cb-name-step hsk-step-enter",children:[we("h2",{className:"hsk-cb-hello",children:u("nameStepTitle")}),we("p",{className:"hsk-cb-hello-ask",children:u("nameStepAsk")}),we("p",{className:"hsk-cb-hello-hint",children:u("nameStepHint")})]},"step-name"):s?at("div",{className:"hsk-cb-hello-wrap",children:[we("h2",{className:"hsk-cb-hello",children:u("howShouldResultsLook")}),we("p",{className:"hsk-cb-hello-lead",children:A("entityLangIntro",{lang:E})}),we("div",{className:"hsk-cb-entlang-opts",role:"radiogroup","aria-label":u("howShouldResultsLook"),children:["translated","original"].map((w,z)=>at("button",{type:"button",role:"radio","aria-checked":(U??d)===w,className:oe("hsk-cb-entlang-opt",(U??d)===w&&"is-selected"),style:{"--hsk-opt-idx":z},onClick:()=>F(w),children:[we(bu,{}),at("span",{className:"hsk-cb-entlang-opt-text",children:[we("span",{className:"hsk-cb-entlang-opt-title",children:w==="translated"?A("inLanguage",{lang:E}):u("asWritten")}),we("span",{className:"hsk-cb-entlang-opt-note",children:u(w==="translated"?"detailsTranslated":"namesAsWritten")})]})]},w))}),we("div",{className:"hsk-cb-terms-action-wrap",children:we("button",{type:"button",className:oe("hsk-cb-terms-agree-btn",U&&"is-active"),disabled:!U,onClick:()=>U&&g(U),children:u("continueButton")})})]},"step-entity-lang"):c?at("div",{className:"hsk-cb-hello-wrap",children:[we("h2",{className:"hsk-cb-hello",children:u("termsStepTitle")}),we("p",{className:"hsk-cb-hello-lead",children:u("termsStepSubtitle")}),at("div",{className:"hsk-cb-terms-sanctuary",children:[at("div",{className:"hsk-cb-terms-item",style:{"--hsk-row-idx":0},children:[at("div",{className:"hsk-cb-terms-head",children:[we("span",{className:"hsk-cb-terms-numeral",children:"I"}),we("h3",{className:"hsk-cb-terms-title",children:u("termsPiiTitle")})]}),we("p",{className:"hsk-cb-terms-desc",children:u("termsPiiDesc")})]}),we("div",{className:"hsk-cb-terms-divider"}),at("div",{className:"hsk-cb-terms-item",style:{"--hsk-row-idx":1},children:[at("div",{className:"hsk-cb-terms-head",children:[we("span",{className:"hsk-cb-terms-numeral",children:"II"}),we("h3",{className:"hsk-cb-terms-title",children:u("termsSessionTitle")})]}),we("p",{className:"hsk-cb-terms-desc",children:u("termsSessionDesc")})]}),we("div",{className:"hsk-cb-terms-divider"}),at("div",{className:"hsk-cb-terms-item",style:{"--hsk-row-idx":2},children:[at("div",{className:"hsk-cb-terms-head",children:[we("span",{className:"hsk-cb-terms-numeral",children:"III"}),we("h3",{className:"hsk-cb-terms-title",children:u("termsMemoryTitle")})]}),we("p",{className:"hsk-cb-terms-desc",children:u("termsMemoryDesc")})]}),we("div",{className:"hsk-cb-terms-divider"}),at("div",{className:"hsk-cb-terms-item",style:{"--hsk-row-idx":3},children:[at("div",{className:"hsk-cb-terms-head",children:[we("span",{className:"hsk-cb-terms-numeral",children:"IV"}),we("h3",{className:"hsk-cb-terms-title",children:u("termsCookieTitle")})]}),we("p",{className:"hsk-cb-terms-desc",children:u("termsCookieDesc")})]}),we("div",{className:"hsk-cb-terms-divider"}),at("div",{className:"hsk-cb-terms-item",style:{"--hsk-row-idx":4},children:[at("div",{className:"hsk-cb-terms-head",children:[we("span",{className:"hsk-cb-terms-numeral",children:"V"}),we("h3",{className:"hsk-cb-terms-title",children:u("termsAiTitle")})]}),we("p",{className:"hsk-cb-terms-desc",children:u("termsAiDesc")})]})]}),at("p",{className:"hsk-cb-terms-more",children:[u("privacyMore")," ",we("a",{href:"https://akropolys.cloud/privacy",target:"_blank",rel:"noopener noreferrer",dir:"ltr",children:"akropolys.cloud/privacy"})]}),we("div",{className:"hsk-cb-terms-action-wrap",children:we("button",{type:"button",className:oe("hsk-cb-terms-agree-btn",S===0&&"is-active"),disabled:S>0,onClick:P,children:S>0?u("termsAgreeCounting",{seconds:String(S)}):u("termsAgreeButton")})})]},"step-terms"):t?at("div",{className:"hsk-cb-hello-wrap",children:[we("h2",{className:"hsk-cb-hello",children:A("allSet",{name:p})}),we("p",{className:"hsk-cb-hello-lead",children:d==="translated"?A("replyingTranslated",{lang:E}):A("replyingOriginal",{lang:E})})]},"step-completed"):p?at("div",{className:"hsk-cb-hello-wrap",children:[we("h2",{className:"hsk-cb-hello",children:A("greetReturning",{name:p})}),we("p",{className:"hsk-cb-hello-lead",children:u("greetReturningLead")})]},"step-returning"):at("div",{className:"hsk-cb-hello-wrap",children:[at("h2",{className:"hsk-cb-hello",children:["Hello, I am ",we("b",{children:"kiku"}),"."]}),we("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"),!r&&(m?.length??0)>0&&we("div",{className:"hsk-cb-chips",children:m.map((w,z)=>we("button",{className:"hsk-cb-chip",style:{"--hsk-pill-idx":z},onClick:()=>_(w),children:w},w))})]})})}import{jsx as Yn,jsxs as fu}from"react/jsx-runtime";function bs({wide:e,onToggle:r,emphasized:t=!1}){return fu("button",{type:"button",className:`hsk-cb-sound-pill hsk-cb-layout-toggle${t?" is-discovery":""}`,role:"switch","aria-checked":e,"aria-label":"Wide AI responses",onClick:r,children:[Yn("span",{className:"hsk-cb-layout-track","aria-hidden":"true",children:Yn("span",{className:"hsk-cb-layout-thumb",children:Yn("svg",{width:"12",height:"12",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",children:Yn("path",{d:"M3 4h10M3 8h10M3 12h7"})})})}),Yn("span",{children:"Wide"})]})}import{useEffect as vl,useLayoutEffect as ku,useRef as fs,useState as gu}from"react";var yl="akropolys_chat_layout";function wl(e){let[r,t]=gu(()=>{try{return typeof window<"u"&&localStorage.getItem(yl)==="wide"}catch{return!1}}),n=fs(null),a=fs([]),o=fs(new Map),s=()=>{a.current.forEach(i=>i.cancel()),o.current.clear(),e.current?.querySelectorAll(".hsk-cb-msg-group").forEach(i=>o.current.set(i,i.getBoundingClientRect()));let c=e.current;if(c){let i=c.getBoundingClientRect().top,l=Array.from(c.querySelectorAll(".hsk-cb-msg-group")).find(h=>h.getBoundingClientRect().bottom>i);n.current={node:l,top:l?l.getBoundingClientRect().top-i:0,bottom:c.scrollHeight-c.scrollTop-c.clientHeight<40}}t(i=>!i)};return ku(()=>{let c=n.current,i=e.current;if(!c||!i)return;n.current=null;let l=i.style.scrollBehavior;if(i.style.scrollBehavior="auto",c.bottom?i.scrollTop=i.scrollHeight:c.node?.isConnected&&(i.scrollTop+=c.node.getBoundingClientRect().top-i.getBoundingClientRect().top-c.top),i.style.scrollBehavior=l,a.current.forEach(h=>h.cancel()),a.current=[],!window.matchMedia?.("(prefers-reduced-motion: reduce)").matches){let h=i.getBoundingClientRect();for(let p of i.querySelectorAll(".hsk-cb-msg-group")){let d=p.getBoundingClientRect();if(d.bottom<h.top||d.top>h.bottom||!p.animate)continue;let b=o.current.get(p);!b||!d.width||!d.height||a.current.push(p.animate([{transformOrigin:"top left",transform:`translate(${b.left-d.left}px, ${b.top-d.top}px) scale(${b.width/d.width}, ${b.height/d.height})`},{transformOrigin:"top left",transform:"none"}],{duration:360,easing:"cubic-bezier(.4,0,.2,1)"}))}}},[r,e]),vl(()=>{try{localStorage.setItem(yl,r?"wide":"bubbles")}catch{}},[r]),vl(()=>()=>a.current.forEach(c=>c.cancel()),[]),{wide:r,toggle:s}}import{useState as Cl,useEffect as xu,useRef as vu}from"react";import{jsx as ks,jsxs as Sl}from"react/jsx-runtime";function Mn(e){let r=e.match(/<\s*thinking\s*>/i);if(!r)return{thinking:"",content:e,isComplete:!0};let t=r.index??0,n=r[0].length,a=t+n,o=e.slice(0,t),s=e.slice(a),c=s.match(/<\/\s*thinking\s*>/i);if(!c)return{thinking:s,content:o,isComplete:!1};let i=c.index??0,l=c[0].length;return{thinking:s.slice(0,i),content:o+s.slice(i+l),isComplete:!0}}var Tn=e=>e==="with_team"||e==="back_with_kiku"||e==="team_closed"||e==="team_joined";function yu(e){return e<60?`${Math.max(1,Math.round(e))}s`:e<3600?`${Math.round(e/60)} min`:`${Math.round(e/3600)} h`}function Ml({text:e,isComplete:r,seconds:t,stage:n,repliedSeconds:a}){let o=Kt(),s=vu(Date.now()),[c,i]=Cl(()=>r?null:0),[l,h]=Cl(!r);xu(()=>{if(r){c!==null&&(i(Math.max(1,Math.round((Date.now()-s.current)/1e3))),h(!1));return}h(!0);let m=setInterval(()=>{i(Math.round((Date.now()-s.current)/1e3))},1e3);return()=>clearInterval(m)},[r]);let p=t??c,d=a!=null?o("repliedIn",{duration:yu(a)}):n==="with_team"?o("withTeam"):n==="back_with_kiku"?o("backWithKiku"):n==="team_closed"?o("teamClosed"):n==="team_joined"?o("teamJoined"):n==="reaching_team"?r?o("passedToTeam"):`${o("reachingTeam")}\u2026`:r?p!=null?o("thoughtForSeconds",{duration:`${p}s`}):o("thoughtProcess"):`${o("thinking")}${c?` \xB7 ${c}s`:"\u2026"}`,b=!!e;return Sl("div",{className:oe("hsk-cb-think",!r&&"hsk-cb-think--live",a==null&&Tn(n)&&"hsk-cb-think--note"),children:[Sl("button",{type:"button",className:oe("hsk-cb-think-head",!b&&"hsk-cb-think-head--static"),onClick:b?()=>h(m=>!m):void 0,"aria-expanded":b?l:void 0,children:[ks("span",{children:d}),b&&ks("span",{className:oe("hsk-cb-think-chevron",l&&"hsk-cb-think-chevron--open"),children:"\u25B6"})]}),b&&l&&ks("div",{className:"hsk-cb-think-body",children:e})]})}import{useCallback as Tl,useEffect as wu,useRef as Rl,useState as Cu}from"react";function Xn(e,r){let[t,n]=Cu(!1),a=Rl(null),o=Rl(r);o.current=r,wu(()=>()=>{a.current&&clearTimeout(a.current)},[]);let s=Tl(()=>{a.current||(n(!0),a.current=setTimeout(()=>{a.current=null,n(!1),o.current()},e))},[e]),c=Tl(()=>{a.current&&(clearTimeout(a.current),a.current=null),n(!1),o.current()},[]);return{closing:t,requestClose:s,closeNow:c}}import xm from"react";import Lt from"react";import{useAkropolysContext as bm,armActionReturn as fm}from"@akropolys/sdk";function gs(e){let r=/<\s*[||]+\s*DSML\s*[||]+\s*([a-z_]+)\b[^>]*>/i,t=e,n="";for(;t;){let a=r.exec(t);if(!a){let i=/<\s*\/?\s*[||]+[\s\S]*$/i.exec(t);if(i){let l=i[0].replace(/\s/g,"").replace(/|/g,"|").replace(/\|+/g,"|").toLowerCase();if("<|dsml|".startsWith(l)||"</|dsml|".startsWith(l)||l.startsWith("<|dsml|")||l.startsWith("</|dsml|"))return n+t.slice(0,i.index)}return n+(t.endsWith("<")?t.slice(0,-1):t)}n+=t.slice(0,a.index);let o=new RegExp("<\\s*/\\s*[|\uFF5C]+\\s*DSML\\s*[|\uFF5C]+\\s*"+a[1]+"\\s*>","i"),s=t.slice(a.index+a[0].length),c=o.exec(s);if(!c)return n;t=s.slice(c.index+c[0].length)}return n}import Rn from"react";var Su=/\p{L}/u,Mu=/\]\([^)]*\)|https?:\/\/\S+|www\.\S+/g;function Tu(e){return e>=1424&&e<=2303||e>=64285&&e<=65023||e>=65136&&e<=65279}function Wa(e,r=1){let t=0,n=0;for(let a of e.replace(Mu," "))Su.test(a)&&(Tu(a.codePointAt(0)??0)?t++:n++);if(!(t+n<r||t===n))return t>n?"rtl":"ltr"}import{Fragment as Wu,jsx as ot,jsxs as qu}from"react/jsx-runtime";var Ru=/[ \t]{2,}/g,Lu=/ ([.,!?:;])/g,Eu=/\(([ \t]+)/g,zu=/([ \t]+)\)/g,Nu=/(\d+)\s+(MP|mAh|W|GB|MB|KHz|Hz|KSh|KES|USD|EUR)\b/gi,Iu=/(!\[[^\]]*\]\([^)]+\)|\[[^\]]+\]\([^)]+\)|\*\*[^*]+\*\*|`[^`]+`)/g,Au=/^!\[([^\]]*)\]\(([^)]+)\)$/,Pu=/^\[([^\]]+)\]\(([^)]+)\)$/,_u=/^(data:image|blob):/i,zl=/^(https?|mailto|tel):/i;function Qn(e){let r=String(e??"").trim();return zl.test(r)||r.startsWith("/")&&!r.startsWith("//")?r:void 0}var xs=null;function Nl(e){if(_u.test(e))return!0;if(typeof location>"u")return!1;try{let r=new URL(e,location.href);return/^https?:$/.test(r.protocol)&&(r.host===location.host||!!xs?.has(r.host))}catch{return!1}}var Fu=/memory|mimi/i,Du=/mimi\.akropolys/i,Hu=e=>e&&e.replace(Ru," ").replace(Lu,"$1").replace(Eu,"(").replace(zu,")").replace(Nu,"$1 $2"),gr=(e,r)=>Hu(e).split(Iu).map((a,o)=>{if(!a)return null;let s=`${r}-inline-${o}`;if(a.startsWith("`")&&a.endsWith("`"))return ot("code",{className:"hsk-markdown-code",children:a.slice(1,-1)},s);if(a.startsWith("**")&&a.endsWith("**"))return ot("strong",{children:gr(a.slice(2,-2),s)},s);let c=a.match(Au);if(c){let l=c[1],h=c[2];return Nl(h)?ot("img",{src:h,alt:l||"Product image",className:"hsk-markdown-img",loading:"lazy",onError:p=>{p.target.style.display="none"}},s):null}let i=a.match(Pu);if(i){let l=i[1],h=i[2];return Fu.test(l)||Du.test(h)?null:zl.test(h)||h.startsWith("/")?ot("a",{href:h,target:"_blank",rel:"noopener noreferrer",className:"hsk-markdown-link",children:gr(l,s)},s):ot("span",{children:gr(l,s)},s)}return a}),Bu=/^\s*\|?[\s:|-]*-[\s:|-]*\|?\s*$/;function Ll(e,r){let t=e.trim();return r?t.includes("|"):t.startsWith("|")}function El(e){let r=e.trim();return r.startsWith("|")&&(r=r.slice(1)),r.endsWith("|")&&(r=r.slice(0,-1)),r.split("|").map(t=>t.trim())}function $u({children:e}){let r=Rn.useRef(null),[t,n]=Rn.useState("none"),[a,o]=Rn.useState(!1),s=Rn.useRef({startX:0,scrollLeft:0,isDown:!1,hasMoved:!1}),c=Rn.useCallback(()=>{let p=r.current;if(!p)return;if(!(p.scrollWidth>p.clientWidth+2)){n("none");return}let b=getComputedStyle(p).direction==="rtl",m=Math.abs(p.scrollLeft),x=m<=4,u=m+p.clientWidth>=p.scrollWidth-4;n(x?b?"right":"left":u?b?"left":"right":"middle")},[]);Rn.useEffect(()=>{c();let p=r.current;if(!p)return;let d=typeof ResizeObserver<"u"?new ResizeObserver(c):null;return d?.observe(p),()=>d?.disconnect()},[c]);let i=p=>{let d=r.current;!d||d.scrollWidth<=d.clientWidth||p.target.closest("a, button, input")||(s.current={startX:p.pageX-d.offsetLeft,scrollLeft:d.scrollLeft,isDown:!0,hasMoved:!1},o(!0))},l=p=>{if(!s.current.isDown)return;let d=r.current;if(!d)return;let m=(p.pageX-d.offsetLeft-s.current.startX)*1.5;Math.abs(m)>3&&(s.current.hasMoved=!0,p.preventDefault(),d.scrollLeft=s.current.scrollLeft-m)},h=()=>{s.current.isDown=!1,o(!1)};return ot("div",{ref:r,className:`hsk-table-wrapper hsk-table-wrapper--${t}${a?" is-dragging":""}`,onScroll:c,onMouseDown:i,onMouseMove:l,onMouseUp:h,onMouseLeave:h,children:e})}function Il(e,r=!1,t){xs=t??null;try{return Ou(e,r)}finally{xs=null}}function Ou(e,r){let t=e.split(`
|
|
36
3
|
`);if(r&&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=>Au.test(h))&&(t.length=l)}let n=(l,h)=>Oa(l,r&&h===t.length-1?15:1),a=[],o=[],s=0,c=()=>{o.length>0&&(a.push(nt("div",{className:"hsk-cb-ai-text",children:o},`text-bubble-${s++}`)),o=[])},i=0;for(;i<t.length;){let l=t[i],h=`md-line-${i}`;if(!l.trim()){i++;continue}let p=l.trim().match(/^!\[([^\]]*)\]\(([^)]+)\)$/);if(p){c();let u=p[1],f=p[2];Ml(f)&&a.push(nt("div",{className:"hsk-markdown-img-block",children:nt("img",{src:f,alt:u||"Product image",className:"hsk-markdown-img",loading:"lazy",onError:k=>{k.target.style.display="none"}})},h)),i++;continue}let d=l.match(/^(#{1,3})\s+(.*)/);if(d){let u=d[1].length,f=`h${u+3}`;o.push(nt(f,{className:`hsk-markdown-h${u}`,dir:n(d[2],i),children:fr(d[2],h)},h)),i++;continue}if(l.match(/^[\s]*[-*+•]\s+/)){let u=[],f="";for(;i<t.length&&t[i].match(/^[\s]*[-*+•]\s+/);){let k=t[i].replace(/^[\s]*[-*+•]\s+/,"");f+=k+" ",u.push(nt("li",{children:fr(k,`li-${i}`)},`li-${i}`)),i++}o.push(nt("ul",{className:"hsk-markdown-list hsk-markdown-ul",dir:n(f,i-1),children:u},`ul-${h}`));continue}if(l.match(/^[\s]*\d+[\.\)]\s+/)){let u=[],f="";for(;i<t.length&&t[i].match(/^[\s]*\d+[\.\)]\s+/);){let k=t[i].replace(/^[\s]*\d+[\.\)]\s+/,"");f+=k+" ",u.push(nt("li",{children:fr(k,`li-${i}`)},`li-${i}`)),i++}o.push(nt("ol",{className:"hsk-markdown-list hsk-markdown-ol",dir:n(f,i-1),children:u},`ol-${h}`));continue}if(wl(l,!1)){c();let u=[],f=[],k=[],m=!0;for(;i<t.length&&wl(t[i],!0);){let y=t[i].trim();if(y.match(/^\|?[-:| ]+\|?$/)&&y.includes("-")){k=Cl(y).map(T=>{let O=T.trim(),w=O.startsWith(":"),I=O.endsWith(":");return w&&I?"center":I?"end":"start"}),i++,m=!1;continue}let A=Cl(y);m&&u.length===0?u=A:f.push(A),i++}let M=Math.max(u.length,...f.map(y=>y.length)),g=[];for(let y=0;y<M;y++)if(k[y])g[y]=k[y];else if(y===0)g[y]="start";else{let A=f.filter(D=>{let T=(D[y]||"").trim();return/^[\$€£¥+-]?\d+([.,]\d+)?%?$/.test(T)||/^[\$€£¥+-]?\d+([.,]\d+)?\s*(bps|M|K|B)?$/i.test(T)}).length;g[y]=A>=Math.ceil(f.length/2)?"end":"start"}let R=u.length>0?nt("tr",{children:u.map((y,A)=>nt("th",{style:{textAlign:g[A]||"start"},children:nt("bdi",{children:fr(y,`th-${h}-${A}`)})},`th-${h}-${A}`))},`tr-head-${h}`):null,S=f.map((y,A)=>nt("tr",{children:y.map((D,T)=>nt("td",{className:D.trim().startsWith("\u2713")?"hsk-md-ok":D.trim().startsWith("\u2717")?"hsk-md-bad":void 0,style:{textAlign:g[T]||"start"},children:nt("bdi",{children:fr(D,`td-${h}-${A}-${T}`)})},`td-${h}-${A}-${T}`))},`tr-body-${h}-${A}`));a.push(nt(Pu,{children:Fu("table",{className:"hsk-markdown-table",children:[R&&nt("thead",{children:R}),nt("tbody",{children:S})]})},`table-wrapper-${h}`));continue}o.push(nt("p",{className:"hsk-markdown-p",dir:n(l,i),children:fr(l,h)},h)),i++}return c(),nt(Du,{children:a})}import{useEffect as Rl,useState as Hu}from"react";import{describeAge as Ll,getLiveValue as Bu,isFresh as $u,isStale as qu,labelFor as Ou,formatLiveValue as Wu,subscribeLiveValues as Uu,LIVE_FLASH_MS as Gu}from"@akropolys/sdk";import{jsx as tr,jsxs as ms}from"react/jsx-runtime";function Vu(e){let[,r]=Hu(0),t=JSON.stringify(e);return Rl(()=>Uu(n=>{e.includes(n)&&r(a=>a+1)}),[t]),Rl(()=>{let n=setInterval(()=>r(a=>a+1),1e3);return()=>clearInterval(n)},[]),e.map(Bu)}var ju=["title","name","label","headline","subject"],Yu=8,Ku=40;function Xu({record:e,now:r}){let t=qu(e,r),n=e.fields,a=ju.find(i=>n[i]),o=a?n[a]:e.key,s=o.length>38?o.slice(0,36)+"\u2026":o,c=Object.entries(n).filter(([i,l])=>i!==a&&l!==""&&l.length<=Ku&&!/^[0-9a-fA-F-]{26,}$/.test(l)).slice(0,Yu).map(([i,l])=>({label:Ou(i),value:Wu(l),rawKey:i}));return ms("div",{className:`hsk-live-card${t?" is-stale":""}`,role:"region","aria-label":"Live values",children:[tr("div",{className:"hsk-live-card__top",children:ms("div",{className:"hsk-live-card__badge",children:[tr("span",{className:`hsk-live-dot${t?" is-stale":""}`,"aria-hidden":"true"}),tr("span",{className:"hsk-live-card__age",children:t?`Paused \xB7 ${Ll(r-e.at)}`:`Live \xB7 ${Ll(r-e.at)}`})]})}),tr("div",{className:"hsk-live-card__body",children:tr("span",{className:"hsk-live-card__title",title:o,children:s})}),tr("div",{className:"hsk-live-card__pills",children:c.map(i=>{let l=$u(e,i.rawKey,r);return ms("div",{className:`hsk-live-pill${l?" is-changed":""}`,style:l?{animationDuration:`${Gu}ms`}:void 0,children:[tr("span",{className:"hsk-live-pill__label",children:i.label}),tr("span",{className:"hsk-live-pill__value",children:i.value})]},i.rawKey)})})]})}function El({keys:e}){let r=new Set,t=(e??[]).filter(c=>r.has(c)?!1:(r.add(c),!0)),n=Vu(t);if(t.filter((c,i)=>n[i]).length===0)return null;let o=n.filter(c=>!!c),s=Date.now();return tr("div",{className:"hsk-live-wrap",role:"group","aria-label":"Live data",children:tr("div",{className:"hsk-live-carousel",children:o.map(c=>tr(Xu,{record:c,now:s},c.key))})})}import{useState as Qu}from"react";import{normalizeEntityImages as Ju}from"@akropolys/sdk";import{jsx as Wa,jsxs as zl}from"react/jsx-runtime";function Nl({source:e,onImageClick:r}){let t=Ju(e.images??e.fields?.images,e.image,e.url),[n,a]=Qu(!1),o=e.image||t[0]?.url;if(!o)return Wa("div",{className:"hsk-cb-src-imgwrap-empty",children:Wa(mr,{})});let s=c=>{if(c.stopPropagation(),!r)return;let i=Math.max(0,t.findIndex(l=>l.url===o));t.length>1?r(o,{images:t.map(l=>({url:l.url,caption:l.caption,alt:l.alt})),index:i,title:e.name}):r(o)};return zl("button",{type:"button",className:"hsk-cb-src-imgwrap hsk-gallery-cover","aria-label":t.length>1?`View ${t.length} images of ${e.name}`:`View image of ${e.name}`,onClick:s,children:[n?Wa(mr,{}):Wa("img",{src:o,alt:t.find(c=>c.url===o)?.alt||e.name,loading:"lazy",onError:()=>a(!0)}),t.length>1&&zl("span",{className:"hsk-gallery-count",children:[Math.max(0,t.findIndex(c=>c.url===o))+1," / ",t.length]})]})}import{useState as bs,useRef as Zu,useEffect as em,useCallback as tm}from"react";import{normalizeEntityImages as Il,useCardFields as rm}from"@akropolys/sdk";import{Fragment as fs,jsx as vt,jsxs as Xr}from"react/jsx-runtime";function Ua({sources:e,onSelectSource:r,onImageClick:t,referencedIds:n=[],compact:a=!1,targetLabel:o="Your colour"}){let s=rm(),c=Zu(null),[i,l]=bs(!1),[h,p]=bs(!1),[d,u]=bs(0),f=e.filter(T=>T.id&&n.includes(T.id)),k=f.filter(T=>T.swatch),m=f.filter(T=>!T.swatch),M=m.length===1,g=M?m.flatMap(T=>{let O=Il(T.images??T.fields?.images,T.image,T.url);return O.length?O.map((w,I)=>({source:T,image:w,photoIndex:I,totalPhotos:O.length})):[{source:T,image:void 0,photoIndex:0,totalPhotos:0}]}):m.map(T=>{let O=Il(T.images??T.fields?.images,T.image,T.url);return{source:T,image:O[0],photoIndex:0,totalPhotos:O.length}}),R=tm(()=>{let T=c.current;if(!T||g.length===0)return;let O=Math.abs(T.scrollLeft),w=T.scrollWidth-T.clientWidth;l(O>10),p(w>4&&O<w-12);let $=Math.round(O/190);u(Math.min(Math.max(0,$),g.length-1))},[g.length]);em(()=>{R();let T=c.current;if(!T)return;let O=new ResizeObserver(R);return O.observe(T),T.addEventListener("scroll",R,{passive:!0}),()=>{O.disconnect(),T.removeEventListener("scroll",R)}},[R,e]);let S=T=>{let O=c.current;if(!O)return;let w=getComputedStyle(O).direction==="rtl";O.scrollBy({left:190*T*(w?-1:1),behavior:"smooth"})},y=()=>S(1),A=()=>S(-1);if(g.length===0&&k.length===0)return null;let D=k.length>0&&vt("div",{className:"hsk-cb-swatch-grid",children:k.map((T,O)=>Xr("button",{type:"button",className:oe("hsk-cb-swatch",T.target&&"hsk-cb-swatch--target"),style:{animationDelay:`${O*40}ms`},onClick:T.target?void 0:()=>r?.(T),children:[vt("span",{className:"hsk-cb-swatch-chip",style:{background:T.swatch}}),vt("span",{className:"hsk-cb-swatch-name",children:T.target?o:T.name}),vt("span",{className:"hsk-cb-swatch-code",children:T.swatch})]},T.id??T.url??O))});return g.length===0?D||null:Xr(fs,{children:[D,Xr("div",{className:oe("hsk-cb-sources-wrap",a&&"hsk-cb-sources-wrap--compact"),children:[i&&Xr(fs,{children:[vt("div",{className:"hsk-cb-sources-fade-left"}),vt("button",{className:"hsk-cb-sources-prev",onClick:A,"aria-label":"Previous",children:vt(sn,{})})]}),vt("div",{className:"hsk-cb-sources",ref:c,children:g.map(({source:T,image:O,photoIndex:w,totalPhotos:I},$)=>{let _=!!(T.id&&n.includes(T.id));return Xr("div",{className:oe("hsk-cb-source",_&&"hsk-cb-source--referenced"),style:{animationDelay:`${$*50}ms`},onClick:()=>r?.(T),children:[vt(Nl,{source:M&&O?{...T,image:O.url,images:[O]}:T,onImageClick:t}),Xr("div",{className:"hsk-cb-src-info",children:[vt("div",{className:"hsk-cb-src-name",children:T.name}),M&&O?.caption?vt("div",{className:"hsk-cb-src-detail",children:O.caption}):M&&I>1?vt("div",{className:"hsk-cb-src-detail",children:`Photo ${w+1} of ${I}`}):null,Qt(T,s).slice(0,2).map(Q=>vt("div",{className:"hsk-cb-src-detail",children:Q.value},Q.label))]})]},`${T.id??T.url??$}:${O?.url??w}`)})}),h&&Xr(fs,{children:[vt("div",{className:"hsk-cb-sources-fade-right"}),vt("button",{className:"hsk-cb-sources-next",onClick:y,"aria-label":"See more",children:vt(cn,{})})]}),g.length>1&&vt("div",{className:"hsk-cb-carousel-dots",children:g.map((T,O)=>vt("div",{className:oe("hsk-cb-dot-item",O===d&&"hsk-cb-dot-item--active"),onClick:()=>{let w=c.current;if(w){let I=getComputedStyle(w).direction==="rtl";w.scrollTo({left:O*190*(I?-1:1),behavior:"smooth"})}}},O))})]})]})}import{jsx as Al,jsxs as nm}from"react/jsx-runtime";function Pl({intent:e,sources:r,onSend:t,loading:n}){let a=jt();if(!e)return null;let o=[],s=r[0]?.name??"",c=r.slice(0,2).map(i=>i.name);if(e==="search"&&r.length>0){if(c.length>=2&&o.push({emoji:"\u2696\uFE0F",label:a("pillCompareTop2"),query:a("pillCompareTop2Query",{a:c[0],b:c[1]})}),s){let i=s.split(" ").slice(0,3).join(" ");o.push({emoji:"\u{1F4A1}",label:a("pillMoreOn",{name:i}),query:a("pillMoreOnQuery",{name:s})})}}else e==="compare"&&r.length>0?(s&&o.push({emoji:"\u{1F50D}",label:a("pillSimilarOptions"),query:a("pillSimilarOptionsQuery",{name:s})}),o.push({emoji:"\u{1F4A1}",label:a("pillWhichBest"),query:a("pillWhichBestQuery")})):e==="specs"&&r.length>0?s&&o.push({emoji:"\u{1F504}",label:a("pillFindAlternatives"),query:a("pillFindAlternativesQuery",{name:s})}):e==="general"&&(o.push({emoji:"\u{1F50D}",label:a("pillShowPopular"),query:a("pillShowPopularQuery")}),o.push({emoji:"\u{1F4A1}",label:a("pillRecommend"),query:a("pillRecommendQuery")}));return o.length===0?null:Al("div",{className:"hsk-action-pills",children:o.map(i=>nm("button",{className:"hsk-action-pill",onClick:()=>t(i.query),disabled:n,children:[Al("span",{className:"hsk-pill-emoji",children:i.emoji}),i.label]},i.query))})}import sm from"react";import Ga from"react";function _l(e,r,t){let n=r/2,a=-90+(e+180)*((t-.08)/.7),o=k=>{if(t<0)return[0,0];let m=(k-a)/33,M=3.4*Math.exp(-m*m/2);return[M*Math.sin(m*1.8),M/33*(1.8*Math.cos(m*1.8)-m*Math.sin(m*1.8))]},s=e-2*n,c=Math.PI*n,i=2*(s+c),l=k=>{let m,M,g,R;if(k<=s)m=n+k,M=0,g=1,R=0;else if(k<=s+c){let A=(k-s)/n-Math.PI/2;m=e-n+n*Math.cos(A),M=n+n*Math.sin(A),g=-Math.sin(A),R=Math.cos(A)}else if(k<=2*s+c)m=e-n-(k-s-c),M=r,g=-1,R=0;else{let A=(k-2*s-c)/n+Math.PI/2;m=n+n*Math.cos(A),M=n+n*Math.sin(A),g=-Math.sin(A),R=Math.cos(A)}let[S,y]=o(m);return{x:m,y:6+M+S,tx:g,ty:R+y*g}},h=96,p=i/h,d=k=>k.toFixed(3),u=l(0),f=`M${d(u.x)},${d(u.y)}`;for(let k=1;k<=h;k++){let m=l(k*p);f+=` C${d(u.x+u.tx*p/3)},${d(u.y+u.ty*p/3)} ${d(m.x-m.tx*p/3)},${d(m.y-m.ty*p/3)} ${d(m.x)},${d(m.y)}`,u=m}return f+=" Z",{d:f,center:a}}import{Fragment as am,jsx as ks,jsxs as om}from"react/jsx-runtime";function Fl(){let e=Ga.useRef(null),r=Ga.useRef(null),t=Ga.useRef(null);return Ga.useEffect(()=>{let n=e.current,a=r.current,o=t.current,s=n?.parentElement;if(!n||!a||!o||!s)return;let c=window.matchMedia("(prefers-reduced-motion: reduce)"),i=s.clientWidth,l=s.clientHeight,h=!0,p=0,d=performance.now(),u=g=>{if(i<=0||l<=0)return;let R=c.matches?-1:(g-d)%8e3/8e3,{d:S,center:y}=_l(i,l,R);n.style.clipPath=`path('${S}')`,n.style.setProperty("--hsk-wave-x",`${y}px`),a.setAttribute("viewBox",`0 0 ${i} ${l+12}`),o.setAttribute("d",S)},f=g=>{p=0,u(g),h&&!document.hidden&&!c.matches&&(p=requestAnimationFrame(f))},k=()=>{cancelAnimationFrame(p),p=0,u(performance.now()),h&&!document.hidden&&!c.matches&&(p=requestAnimationFrame(f))},m=new ResizeObserver(()=>{i=s.clientWidth,l=s.clientHeight,k()}),M=new IntersectionObserver(([g])=>{h=g.isIntersecting,k()});return m.observe(s),M.observe(s),document.addEventListener("visibilitychange",k),c.addEventListener("change",k),k(),()=>{cancelAnimationFrame(p),m.disconnect(),M.disconnect(),document.removeEventListener("visibilitychange",k),c.removeEventListener("change",k)}},[]),om(am,{children:[ks("span",{ref:e,className:"hsk-cb-external-surface","aria-hidden":"true"}),ks("svg",{ref:r,className:"hsk-cb-external-outline","aria-hidden":"true",focusable:"false",children:ks("path",{ref:t})})]})}import{jsx as Yt,jsxs as Va}from"react/jsx-runtime";function im({link:e}){let[r,t]=sm.useState(!1),n=e.favicon;if(e.logo)try{let a=new URL(e.logo);a.protocol==="https:"&&!a.username&&!a.password&&(n=a.href)}catch{}return Yt("span",{className:"hsk-cb-external-logo","aria-hidden":"true",children:n&&!r?Yt("img",{src:n,alt:"",loading:"lazy",referrerPolicy:"no-referrer",onError:()=>t(!0)}):Yt("span",{children:e.destination.charAt(0)})})}function Dl({links:e,t:r,onOpen:t}){if(!e.length)return null;let n=o=>o.label??r(o.service==="youtube"?"externalWatchVideo":o.service==="checkout"?"externalCheckout":o.service==="email"||o.service==="gmail"?"externalOpenEmail":"externalOpenLink",{destination:o.destination}),a=o=>{if(!(o.amount===void 0||!o.currency))try{return new Intl.NumberFormat(void 0,{style:"currency",currency:o.currency}).format(o.amount)}catch{return}};return Va("div",{className:"hsk-cb-external-links",children:[e.map(o=>Va("a",{className:"hsk-cb-external-card",href:o.url,target:"_blank",rel:"noopener noreferrer",referrerPolicy:"no-referrer",onClick:()=>t?.(o),onAuxClick:s=>{s.button===1&&t?.(o)},children:[Yt(Fl,{}),Va("span",{className:"hsk-cb-external-brand",children:[Yt(im,{link:o}),Yt("span",{dir:"auto",children:o.destination})]}),Yt("span",{className:"hsk-cb-external-identity",children:Yt("strong",{dir:"auto",children:n(o)})}),a(o)&&Yt("span",{className:"hsk-cb-external-amount",children:a(o)})]},o.url)),Va("div",{className:"hsk-cb-external-notice",role:"note",children:[Yt("svg",{viewBox:"0 0 44 48",fill:"none","aria-hidden":"true",children:Yt("path",{pathLength:"1",d:"M36 43C14 46 8 27 20 23C32 18 36 31 24 31C11 31 9 15 18 6M10 10L18 5L23 14"})}),Yt("span",{children:r("externalOpensOutside")})]})]})}function Hl(e,r){if(!/[\u0000-\u0020\\]/.test(e))try{let t=new URL(e,r);if(!["https:","http:","mailto:","tel:","slack:"].includes(t.protocol)||t.username||t.password)return;let n=t.protocol==="https:"||t.protocol==="http:";if(n&&t.origin===new URL(r).origin)return;let a=t.hostname.toLowerCase(),o=i=>a===i||a.endsWith("."+i),s=t.protocol==="mailto:"?"email":t.protocol==="tel:"?"phone":t.protocol==="slack:"||o("slack.com")?"slack":o("youtube.com")||o("youtu.be")?"youtube":a==="mail.google.com"||o("gmail.com")?"gmail":o("mpesa.com")||o("m-pesa.com")||o("safaricom.co.ke")?"mpesa":a==="checkout.stripe.com"?"checkout":void 0;return{url:e,destination:s?{youtube:"YouTube",gmail:"Gmail",slack:"Slack",mpesa:"M-Pesa",checkout:"Stripe",email:"Email",phone:"Phone"}[s]:a.replace(/^www\./,""),service:s,favicon:n?t.origin+"/favicon.ico":void 0}}catch{return}}function cm(e){let r=e.replace(/[.,;!?*_~]+$/,"");for(;r.endsWith(")")&&(r.match(/\)/g)?.length??0)>(r.match(/\(/g)?.length??0);)r=r.slice(0,-1);for(;r.endsWith("]")&&(r.match(/\]/g)?.length??0)>(r.match(/\[/g)?.length??0);)r=r.slice(0,-1);return r}function Bl(e,r,t=[],n=!1){let a=new Map,o=new Map(t.map(l=>[l.url,l])),s=/```[\s\S]*?(?:```|$)|`[^`\n]*(?:`|$)|!\[[^\]\n]*\]\([^\s]*?\)|\[([^\]\n]+)\]\(((?:[^()\s]|\([^()\s]*\))*)\)|(?:https?:\/\/|mailto:|tel:|slack:\/\/)[^\s<>`]+/gi,i=(n?e.replace(/(?:\[[^\]\n]*\]\()?(?:https?:\/\/|mailto:|tel:|slack:\/\/)[^\s<>`]*$/i,""):e).replace(s,(l,h,p)=>{if(l.startsWith("`")||l.startsWith("!["))return l;let d=p??cm(l),u=Hl(d,r);if(!u)return l;let f=a.get(d),k=h?.replace(/[*_`]/g,"").trim();return a.set(d,{...u,...o.get(d),...f??{},...k&&!/^(?:https?:\/\/|mailto:|tel:|slack:\/\/)/i.test(k)?{label:k}:{}}),""});if(n&&(i=i.replace(/\[[^\]\n]*\]\((?:https?|mailto|tel|slack)[^\n]*$/i,"")),i=i.replace(/^\s*(?:[-*+]\s*|\d+[.)]\s*)?(?:\*\*|__)?\s*(?:\*\*|__)?\s*$/gm,"").replace(/\n{3,}/g,`
|
|
4
|
+
`)&&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=>Bu.test(h))&&(t.length=l)}let n=(l,h)=>Wa(l,r&&h===t.length-1?15:1),a=[],o=[],s=0,c=()=>{o.length>0&&(a.push(ot("div",{className:"hsk-cb-ai-text",children:o},`text-bubble-${s++}`)),o=[])},i=0;for(;i<t.length;){let l=t[i],h=`md-line-${i}`;if(!l.trim()){i++;continue}let p=l.trim().match(/^!\[([^\]]*)\]\(([^)]+)\)$/);if(p){c();let b=p[1],m=p[2];Nl(m)&&a.push(ot("div",{className:"hsk-markdown-img-block",children:ot("img",{src:m,alt:b||"Product image",className:"hsk-markdown-img",loading:"lazy",onError:x=>{x.target.style.display="none"}})},h)),i++;continue}let d=l.match(/^(#{1,3})\s+(.*)/);if(d){let b=d[1].length,m=`h${b+3}`;o.push(ot(m,{className:`hsk-markdown-h${b}`,dir:n(d[2],i),children:gr(d[2],h)},h)),i++;continue}if(l.match(/^[\s]*[-*+•]\s+/)){let b=[],m="";for(;i<t.length&&t[i].match(/^[\s]*[-*+•]\s+/);){let x=t[i].replace(/^[\s]*[-*+•]\s+/,"");m+=x+" ",b.push(ot("li",{children:gr(x,`li-${i}`)},`li-${i}`)),i++}o.push(ot("ul",{className:"hsk-markdown-list hsk-markdown-ul",dir:n(m,i-1),children:b},`ul-${h}`));continue}if(l.match(/^[\s]*\d+[\.\)]\s+/)){let b=[],m="";for(;i<t.length&&t[i].match(/^[\s]*\d+[\.\)]\s+/);){let x=t[i].replace(/^[\s]*\d+[\.\)]\s+/,"");m+=x+" ",b.push(ot("li",{children:gr(x,`li-${i}`)},`li-${i}`)),i++}o.push(ot("ol",{className:"hsk-markdown-list hsk-markdown-ol",dir:n(m,i-1),children:b},`ol-${h}`));continue}if(Ll(l,!1)){c();let b=[],m=[],x=[],u=!0;for(;i<t.length&&Ll(t[i],!0);){let g=t[i].trim();if(g.match(/^\|?[-:| ]+\|?$/)&&g.includes("-")){x=El(g).map(T=>{let W=T.trim(),R=W.startsWith(":"),N=W.endsWith(":");return R&&N?"center":N?"end":"start"}),i++,u=!1;continue}let P=El(g);u&&b.length===0?b=P:m.push(P),i++}let A=Math.max(b.length,...m.map(g=>g.length)),k=[];for(let g=0;g<A;g++)if(x[g])k[g]=x[g];else if(g===0)k[g]="start";else{let P=m.filter(_=>{let T=(_[g]||"").trim();return/^[\$€£¥+-]?\d+([.,]\d+)?%?$/.test(T)||/^[\$€£¥+-]?\d+([.,]\d+)?\s*(bps|M|K|B)?$/i.test(T)}).length;k[g]=P>=Math.ceil(m.length/2)?"end":"start"}let C=b.length>0?ot("tr",{children:b.map((g,P)=>ot("th",{style:{textAlign:k[P]||"start"},children:ot("bdi",{children:gr(g,`th-${h}-${P}`)})},`th-${h}-${P}`))},`tr-head-${h}`):null,M=m.map((g,P)=>ot("tr",{children:g.map((_,T)=>ot("td",{className:_.trim().startsWith("\u2713")?"hsk-md-ok":_.trim().startsWith("\u2717")?"hsk-md-bad":void 0,style:{textAlign:k[T]||"start"},children:ot("bdi",{children:gr(_,`td-${h}-${P}-${T}`)})},`td-${h}-${P}-${T}`))},`tr-body-${h}-${P}`));a.push(ot($u,{children:qu("table",{className:"hsk-markdown-table",children:[C&&ot("thead",{children:C}),ot("tbody",{children:M})]})},`table-wrapper-${h}`));continue}o.push(ot("p",{className:"hsk-markdown-p",dir:n(l,i),children:gr(l,h)},h)),i++}return c(),ot(Wu,{children:a})}import{useEffect as Al,useState as Uu}from"react";import{describeAge as Pl,getLiveValue as Vu,isFresh as Gu,isStale as ju,labelFor as Ku,formatLiveValue as Yu,subscribeLiveValues as Xu,LIVE_FLASH_MS as Qu}from"@akropolys/sdk";import{jsx as ar,jsxs as vs}from"react/jsx-runtime";function Ju(e){let[,r]=Uu(0),t=JSON.stringify(e);return Al(()=>Xu(n=>{e.includes(n)&&r(a=>a+1)}),[t]),Al(()=>{let n=setInterval(()=>r(a=>a+1),1e3);return()=>clearInterval(n)},[]),e.map(Vu)}var Zu=["title","name","label","headline","subject"],em=8,tm=40;function rm({record:e,now:r}){let t=ju(e,r),n=e.fields,a=Zu.find(i=>n[i]),o=a?n[a]:e.key,s=o.length>38?o.slice(0,36)+"\u2026":o,c=Object.entries(n).filter(([i,l])=>i!==a&&l!==""&&l.length<=tm&&!/^[0-9a-fA-F-]{26,}$/.test(l)).slice(0,em).map(([i,l])=>({label:Ku(i),value:Yu(l),rawKey:i}));return vs("div",{className:`hsk-live-card${t?" is-stale":""}`,role:"region","aria-label":"Live values",children:[ar("div",{className:"hsk-live-card__top",children:vs("div",{className:"hsk-live-card__badge",children:[ar("span",{className:`hsk-live-dot${t?" is-stale":""}`,"aria-hidden":"true"}),ar("span",{className:"hsk-live-card__age",children:t?`Paused \xB7 ${Pl(r-e.at)}`:`Live \xB7 ${Pl(r-e.at)}`})]})}),ar("div",{className:"hsk-live-card__body",children:ar("span",{className:"hsk-live-card__title",title:o,children:s})}),ar("div",{className:"hsk-live-card__pills",children:c.map(i=>{let l=Gu(e,i.rawKey,r);return vs("div",{className:`hsk-live-pill${l?" is-changed":""}`,style:l?{animationDuration:`${Qu}ms`}:void 0,children:[ar("span",{className:"hsk-live-pill__label",children:i.label}),ar("span",{className:"hsk-live-pill__value",children:i.value})]},i.rawKey)})})]})}function _l({keys:e}){let r=new Set,t=(e??[]).filter(c=>r.has(c)?!1:(r.add(c),!0)),n=Ju(t);if(t.filter((c,i)=>n[i]).length===0)return null;let o=n.filter(c=>!!c),s=Date.now();return ar("div",{className:"hsk-live-wrap",role:"group","aria-label":"Live data",children:ar("div",{className:"hsk-live-carousel",children:o.map(c=>ar(rm,{record:c,now:s},c.key))})})}import{useState as nm}from"react";import{normalizeEntityImages as am}from"@akropolys/sdk";import{jsx as Ua,jsxs as Fl}from"react/jsx-runtime";function Dl({source:e,onImageClick:r}){let t=am(e.images??e.fields?.images,e.image,e.url),[n,a]=nm(!1),o=e.image||t[0]?.url;if(!o)return Ua("div",{className:"hsk-cb-src-imgwrap-empty",children:Ua(fr,{})});let s=c=>{if(c.stopPropagation(),!r)return;let i=Math.max(0,t.findIndex(l=>l.url===o));t.length>1?r(o,{images:t.map(l=>({url:l.url,caption:l.caption,alt:l.alt})),index:i,title:e.name}):r(o)};return Fl("button",{type:"button",className:"hsk-cb-src-imgwrap hsk-gallery-cover","aria-label":t.length>1?`View ${t.length} images of ${e.name}`:`View image of ${e.name}`,onClick:s,children:[n?Ua(fr,{}):Ua("img",{src:o,alt:t.find(c=>c.url===o)?.alt||e.name,loading:"lazy",onError:()=>a(!0)}),t.length>1&&Fl("span",{className:"hsk-gallery-count",children:[Math.max(0,t.findIndex(c=>c.url===o))+1," / ",t.length]})]})}import{useState as ys,useRef as om,useEffect as sm,useCallback as im}from"react";import{normalizeEntityImages as Hl,useCardFields as cm}from"@akropolys/sdk";import{Fragment as ws,jsx as yt,jsxs as xr}from"react/jsx-runtime";function Va({sources:e,onSelectSource:r,onImageClick:t,referencedIds:n=[],compact:a=!1,targetLabel:o="Your colour"}){let s=cm(),c=om(null),[i,l]=ys(!1),[h,p]=ys(!1),[d,b]=ys(0),m=e.filter(T=>T.id&&n.includes(T.id)),x=m.filter(T=>T.swatch),u=m.filter(T=>!T.swatch),A=u.length===1,k=A?u.flatMap(T=>{let W=Hl(T.images??T.fields?.images,T.image,T.url);return W.length?W.map((R,N)=>({source:T,image:R,photoIndex:N,totalPhotos:W.length})):[{source:T,image:void 0,photoIndex:0,totalPhotos:0}]}):u.map(T=>{let W=Hl(T.images??T.fields?.images,T.image,T.url);return{source:T,image:W[0],photoIndex:0,totalPhotos:W.length}}),C=im(()=>{let T=c.current;if(!T||k.length===0)return;let W=Math.abs(T.scrollLeft),R=T.scrollWidth-T.clientWidth;l(W>10),p(R>4&&W<R-12);let H=Math.round(W/190);b(Math.min(Math.max(0,H),k.length-1))},[k.length]);sm(()=>{C();let T=c.current;if(!T)return;let W=new ResizeObserver(C);return W.observe(T),T.addEventListener("scroll",C,{passive:!0}),()=>{W.disconnect(),T.removeEventListener("scroll",C)}},[C,e]);let M=T=>{let W=c.current;if(!W)return;let R=getComputedStyle(W).direction==="rtl";W.scrollBy({left:190*T*(R?-1:1),behavior:"smooth"})},g=()=>M(1),P=()=>M(-1);if(k.length===0&&x.length===0)return null;let _=x.length>0&&yt("div",{className:"hsk-cb-swatch-grid",children:x.map((T,W)=>xr("button",{type:"button",className:oe("hsk-cb-swatch",T.target&&"hsk-cb-swatch--target"),style:{animationDelay:`${W*40}ms`},onClick:T.target?void 0:()=>r?.(T),children:[yt("span",{className:"hsk-cb-swatch-chip",style:{background:T.swatch}}),yt("span",{className:"hsk-cb-swatch-name",children:T.target?o:T.name}),yt("span",{className:"hsk-cb-swatch-code",children:T.swatch})]},T.id??T.url??W))});return k.length===0?_||null:xr(ws,{children:[_,xr("div",{className:oe("hsk-cb-sources-wrap",a&&"hsk-cb-sources-wrap--compact"),children:[i&&xr(ws,{children:[yt("div",{className:"hsk-cb-sources-fade-left"}),yt("button",{className:"hsk-cb-sources-prev",onClick:P,"aria-label":"Previous",children:yt(on,{})})]}),yt("div",{className:"hsk-cb-sources",ref:c,children:k.map(({source:T,image:W,photoIndex:R,totalPhotos:N},H)=>{let se=!!(T.id&&n.includes(T.id));return xr("div",{className:oe("hsk-cb-source",se&&"hsk-cb-source--referenced"),style:{animationDelay:`${H*50}ms`},onClick:()=>r?.(T),children:[yt(Dl,{source:A&&W?{...T,image:W.url,images:[W]}:T,onImageClick:t}),xr("div",{className:"hsk-cb-src-info",children:[yt("div",{className:"hsk-cb-src-name",children:T.name}),A&&W?.caption?yt("div",{className:"hsk-cb-src-detail",children:W.caption}):A&&N>1?yt("div",{className:"hsk-cb-src-detail",children:`Photo ${R+1} of ${N}`}):null,yt("div",{className:"hsk-cb-src-fields",children:er(T,s).map(I=>xr("span",{className:"hsk-cb-src-field",dir:"auto",children:[xr("span",{className:"hsk-cb-src-field-label",children:[I.label,":"]}),yt("span",{className:"hsk-cb-src-field-value",children:I.value})]},I.label))})]})]},`${T.id??T.url??H}:${W?.url??R}`)})}),h&&xr(ws,{children:[yt("div",{className:"hsk-cb-sources-fade-right"}),yt("button",{className:"hsk-cb-sources-next",onClick:g,"aria-label":"See more",children:yt(sn,{})})]}),k.length>1&&yt("div",{className:"hsk-cb-carousel-dots",children:k.map((T,W)=>yt("div",{className:oe("hsk-cb-dot-item",W===d&&"hsk-cb-dot-item--active"),onClick:()=>{let R=c.current;if(R){let N=getComputedStyle(R).direction==="rtl";R.scrollTo({left:W*190*(N?-1:1),behavior:"smooth"})}}},W))})]})]})}import{jsx as Bl,jsxs as lm}from"react/jsx-runtime";function $l({intent:e,sources:r,onSend:t,loading:n}){let a=Kt();if(!e)return null;let o=[],s=r[0]?.name??"",c=r.slice(0,2).map(i=>i.name);if(e==="search"&&r.length>0){if(c.length>=2&&o.push({emoji:"\u2696\uFE0F",label:a("pillCompareTop2"),query:a("pillCompareTop2Query",{a:c[0],b:c[1]})}),s){let i=s.split(" ").slice(0,3).join(" ");o.push({emoji:"\u{1F4A1}",label:a("pillMoreOn",{name:i}),query:a("pillMoreOnQuery",{name:s})})}}else e==="compare"&&r.length>0?(s&&o.push({emoji:"\u{1F50D}",label:a("pillSimilarOptions"),query:a("pillSimilarOptionsQuery",{name:s})}),o.push({emoji:"\u{1F4A1}",label:a("pillWhichBest"),query:a("pillWhichBestQuery")})):e==="specs"&&r.length>0?s&&o.push({emoji:"\u{1F504}",label:a("pillFindAlternatives"),query:a("pillFindAlternativesQuery",{name:s})}):e==="general"&&(o.push({emoji:"\u{1F50D}",label:a("pillShowPopular"),query:a("pillShowPopularQuery")}),o.push({emoji:"\u{1F4A1}",label:a("pillRecommend"),query:a("pillRecommendQuery")}));return o.length===0?null:Bl("div",{className:"hsk-action-pills",children:o.map(i=>lm("button",{className:"hsk-action-pill",onClick:()=>t(i.query),disabled:n,children:[Bl("span",{className:"hsk-pill-emoji",children:i.emoji}),i.label]},i.query))})}import dm from"react";import Ga from"react";function Ol(e,r,t){let n=r/2,a=-90+(e+180)*((t-.08)/.7),o=x=>{if(t<0)return[0,0];let u=(x-a)/33,A=3.4*Math.exp(-u*u/2);return[A*Math.sin(u*1.8),A/33*(1.8*Math.cos(u*1.8)-u*Math.sin(u*1.8))]},s=e-2*n,c=Math.PI*n,i=2*(s+c),l=x=>{let u,A,k,C;if(x<=s)u=n+x,A=0,k=1,C=0;else if(x<=s+c){let P=(x-s)/n-Math.PI/2;u=e-n+n*Math.cos(P),A=n+n*Math.sin(P),k=-Math.sin(P),C=Math.cos(P)}else if(x<=2*s+c)u=e-n-(x-s-c),A=r,k=-1,C=0;else{let P=(x-2*s-c)/n+Math.PI/2;u=n+n*Math.cos(P),A=n+n*Math.sin(P),k=-Math.sin(P),C=Math.cos(P)}let[M,g]=o(u);return{x:u,y:6+A+M,tx:k,ty:C+g*k}},h=96,p=i/h,d=x=>x.toFixed(3),b=l(0),m=`M${d(b.x)},${d(b.y)}`;for(let x=1;x<=h;x++){let u=l(x*p);m+=` C${d(b.x+b.tx*p/3)},${d(b.y+b.ty*p/3)} ${d(u.x-u.tx*p/3)},${d(u.y-u.ty*p/3)} ${d(u.x)},${d(u.y)}`,b=u}return m+=" Z",{d:m,center:a}}import{Fragment as hm,jsx as Cs,jsxs as pm}from"react/jsx-runtime";function ql(){let e=Ga.useRef(null),r=Ga.useRef(null),t=Ga.useRef(null);return Ga.useEffect(()=>{let n=e.current,a=r.current,o=t.current,s=n?.parentElement;if(!n||!a||!o||!s)return;let c=window.matchMedia("(prefers-reduced-motion: reduce)"),i=s.clientWidth,l=s.clientHeight,h=!0,p=0,d=performance.now(),b=k=>{if(i<=0||l<=0)return;let C=c.matches?-1:(k-d)%8e3/8e3,{d:M,center:g}=Ol(i,l,C);n.style.clipPath=`path('${M}')`,n.style.setProperty("--hsk-wave-x",`${g}px`),a.setAttribute("viewBox",`0 0 ${i} ${l+12}`),o.setAttribute("d",M)},m=k=>{p=0,b(k),h&&!document.hidden&&!c.matches&&(p=requestAnimationFrame(m))},x=()=>{cancelAnimationFrame(p),p=0,b(performance.now()),h&&!document.hidden&&!c.matches&&(p=requestAnimationFrame(m))},u=new ResizeObserver(()=>{i=s.clientWidth,l=s.clientHeight,x()}),A=new IntersectionObserver(([k])=>{h=k.isIntersecting,x()});return u.observe(s),A.observe(s),document.addEventListener("visibilitychange",x),c.addEventListener("change",x),x(),()=>{cancelAnimationFrame(p),u.disconnect(),A.disconnect(),document.removeEventListener("visibilitychange",x),c.removeEventListener("change",x)}},[]),pm(hm,{children:[Cs("span",{ref:e,className:"hsk-cb-external-surface","aria-hidden":"true"}),Cs("svg",{ref:r,className:"hsk-cb-external-outline","aria-hidden":"true",focusable:"false",children:Cs("path",{ref:t})})]})}import{jsx as Yt,jsxs as ja}from"react/jsx-runtime";function um({link:e}){let[r,t]=dm.useState(!1),n=e.favicon;if(e.logo)try{let a=new URL(e.logo);a.protocol==="https:"&&!a.username&&!a.password&&(n=a.href)}catch{}return Yt("span",{className:"hsk-cb-external-logo","aria-hidden":"true",children:n&&!r?Yt("img",{src:n,alt:"",loading:"lazy",referrerPolicy:"no-referrer",onError:()=>t(!0)}):Yt("span",{children:e.destination.charAt(0)})})}function Ka({links:e,t:r,onOpen:t}){if(!e.length)return null;let n=o=>o.label??r(o.service==="youtube"?"externalWatchVideo":o.service==="checkout"?"externalCheckout":o.service==="email"||o.service==="gmail"?"externalOpenEmail":"externalOpenLink",{destination:o.destination}),a=o=>{if(!(o.amount===void 0||!o.currency))try{return new Intl.NumberFormat(void 0,{style:"currency",currency:o.currency}).format(o.amount)}catch{return}};return ja("div",{className:"hsk-cb-external-links",children:[e.map(o=>ja("a",{className:"hsk-cb-external-card",href:o.url,target:"_blank",rel:"noopener noreferrer",referrerPolicy:"no-referrer",onClick:()=>t?.(o),onAuxClick:s=>{s.button===1&&t?.(o)},children:[Yt(ql,{}),ja("span",{className:"hsk-cb-external-brand",children:[Yt(um,{link:o}),Yt("span",{dir:"auto",children:o.destination})]}),Yt("span",{className:"hsk-cb-external-identity",children:Yt("strong",{dir:"auto",children:n(o)})}),a(o)&&Yt("span",{className:"hsk-cb-external-amount",children:a(o)})]},o.url)),ja("div",{className:"hsk-cb-external-notice",role:"note",children:[Yt("svg",{viewBox:"0 0 44 48",fill:"none","aria-hidden":"true",children:Yt("path",{pathLength:"1",d:"M36 43C14 46 8 27 20 23C32 18 36 31 24 31C11 31 9 15 18 6M10 10L18 5L23 14"})}),Yt("span",{children:r("externalOpensOutside")})]})]})}function Ya(e,r){if(!/[\u0000-\u0020\\]/.test(e))try{let t=new URL(e,r);if(!["https:","http:","mailto:","tel:","slack:"].includes(t.protocol)||t.username||t.password)return;let n=t.protocol==="https:"||t.protocol==="http:";if(n&&t.origin===new URL(r).origin)return;let a=t.hostname.toLowerCase(),o=i=>a===i||a.endsWith("."+i),s=t.protocol==="mailto:"?"email":t.protocol==="tel:"?"phone":t.protocol==="slack:"||o("slack.com")?"slack":o("youtube.com")||o("youtu.be")?"youtube":a==="mail.google.com"||o("gmail.com")?"gmail":o("mpesa.com")||o("m-pesa.com")||o("safaricom.co.ke")?"mpesa":a==="checkout.stripe.com"?"checkout":void 0;return{url:e,destination:s?{youtube:"YouTube",gmail:"Gmail",slack:"Slack",mpesa:"M-Pesa",checkout:"Stripe",email:"Email",phone:"Phone"}[s]:a.replace(/^www\./,""),service:s,favicon:n?t.origin+"/favicon.ico":void 0}}catch{return}}function mm(e){let r=e.replace(/[.,;!?*_~]+$/,"");for(;r.endsWith(")")&&(r.match(/\)/g)?.length??0)>(r.match(/\(/g)?.length??0);)r=r.slice(0,-1);for(;r.endsWith("]")&&(r.match(/\]/g)?.length??0)>(r.match(/\[/g)?.length??0);)r=r.slice(0,-1);return r}function Xa(e,r,t=[],n=!1){let a=new Map,o=new Map(t.map(p=>[p.url,p])),s=t.filter(p=>Ya(p.url,r)),c=p=>{try{let d=new URL(p,r);return s.filter(b=>{let m=new URL(b.url,r);return m.protocol===d.protocol&&m.host===d.host&&m.pathname===d.pathname&&m.href.startsWith(d.href)})}catch{return[]}},i=/```[\s\S]*?(?:```|$)|`[^`\n]*(?:`|$)|!\[[^\]\n]*\]\([^\s]*?\)|\[([^\]\n]+)\]\(((?:[^()\s]|\([^()\s]*\))*)\)|(?:https?:\/\/|mailto:|tel:|slack:\/\/)[^\s<>`]+/gi,h=(n?e.replace(/(?:\[[^\]\n]*\]\()?(?:https?:\/\/|mailto:|tel:|slack:\/\/)[^\s<>`]*$/i,""):e).replace(i,(p,d,b)=>{if(p.startsWith("`")||p.startsWith("!["))return p;let m=b??mm(p);if(!Ya(m,r))return p;let x=c(m);if(x.length>1&&!o.has(m))return"";let u=o.has(m)?m:x[0]?.url??m,A=Ya(u,r),k=a.get(u),C=d?.replace(/[*_`]/g,"").trim();return a.set(u,{...A,...o.get(u),...k??{},...C&&!/^(?:https?:\/\/|mailto:|tel:|slack:\/\/)/i.test(C)?{label:C}:{}}),""});if(n&&(h=h.replace(/\[[^\]\n]*\]\((?:https?|mailto|tel|slack)[^\n]*$/i,"")),h=h.replace(/^\s*(?:[-*+]\s*|\d+[.)]\s*)?(?:\*\*|__)?\s*(?:\*\*|__)?\s*$/gm,"").replace(/\n{3,}/g,`
|
|
38
5
|
|
|
39
|
-
`).trim(),!n)for(let l of t){if(a.has(l.url))continue;let h=Hl(l.url,r);h&&a.set(l.url,{...h,...l})}return{content:i,links:n?[]:[...a.values()]}}import{Fragment as gs,jsx as Ce,jsxs as je}from"react/jsx-runtime";var $l=Tt.memo(({content:e,streaming:r,hosts:t})=>Ce(gs,{children:Tl(e,r,new Set(t.split(",")))}),(e,r)=>e.content===r.content&&e.streaming===r.streaming&&e.hosts===r.hosts);$l.displayName="MarkdownBlock";function pm(e){let r=new Set;for(let t of e)if(t)try{r.add(new URL(t,location.href).host)}catch{}return[...r].sort().join(",")}function dm(e,r){Tt.useLayoutEffect(()=>{let t=e.current;if(!t)return;let n=()=>{t.style.width="";let s=document.createRange();s.selectNodeContents(t);let c=Array.from(s.getClientRects()),i=t.getBoundingClientRect();if(!c.length||!t.offsetWidth||!i.width)return;let l=i.width/t.offsetWidth,h=getComputedStyle(t),p=parseFloat(h.paddingLeft)+parseFloat(h.paddingRight)+parseFloat(h.borderLeftWidth)+parseFloat(h.borderRightWidth),d=Math.max(...c.map(f=>f.right))-Math.min(...c.map(f=>f.left)),u=Math.ceil(d/l)+1;u+p<t.offsetWidth&&(t.style.width=`${h.boxSizing==="border-box"?u+p:u}px`)};n(),document.fonts?.ready.then(n).catch(()=>{});let a=t.closest(".hsk-cb-msg-group");if(!a||typeof ResizeObserver>"u")return;let o=new ResizeObserver(n);return o.observe(a),()=>o.disconnect()},[e,r])}function ql({msg:e,idx:r,isLast:t,isLastUser:n,isRunEnd:a,runMid:o,runCont:s,isNarrow:c,loading:i,streaming:l,stopped:h,interrupted:p,sources:d,referencedIds:u,discussedSources:f,lastIntent:k,lastAction:m,vizState:M,setVizState:g,setLightboxSrc:R,setMarkupSrc:S,handleSend:y,handleSourceClick:A,onRetry:D,onEdit:T,onLongPress:O,hasError:w,retrying:I,t:$,messageRef:_,photosSending:Q,workingOn:be,doodleTheme:Z}){let U=lm()?.api,de=U?.siteId??"",K=pm([U?.apiUrl,...(t?d:e.sources??[]).flatMap(q=>[q.image,q.url])]),F=e.role==="user",B=F?e.content:ds(e.content),N=!F&&B!==e.content,[L,P]=Tt.useState(!1),j=Tt.useRef(null);dm(j,e.content);let C=Tt.useRef(null),z=Tt.useRef(null),x=Tt.useRef(!1),se=Tt.useCallback(q=>{let pe=F?".hsk-cb-user-bubble":".hsk-cb-ai-body";return q.matches?.(pe)?q:q.querySelector(pe)||q},[F]),te=Tt.useCallback(q=>{z.current&&clearTimeout(z.current),z.current=setTimeout(()=>{if(O){if(typeof navigator<"u"&&navigator.vibrate)try{navigator.vibrate(25)}catch{}let pe=se(q),Re=pe.getBoundingClientRect();O(F?e:{...e,content:B},{top:Re.top,left:Re.left,width:Re.width,height:Re.height},F,pe),x.current=!0}z.current=null},420)},[e,B,F,O,se]),W=Tt.useCallback(q=>{if(q.touches.length!==1)return;let pe=q.touches[0];C.current={x:pe.clientX,y:pe.clientY},x.current=!1,te(q.currentTarget)},[te]),ne=Tt.useCallback(q=>{if(!C.current||!z.current)return;let pe=q.touches[0];Math.hypot(pe.clientX-C.current.x,pe.clientY-C.current.y)>8&&(clearTimeout(z.current),z.current=null)},[]),b=Tt.useCallback(q=>{z.current&&(clearTimeout(z.current),z.current=null),C.current=null,x.current&&q.cancelable&&q.preventDefault()},[]),E=Tt.useCallback(q=>{if(!O||(q.preventDefault(),x.current))return;let pe=se(q.currentTarget),Re=pe.getBoundingClientRect();O(F?e:{...e,content:B},{top:Re.top,left:Re.left,width:Re.width,height:Re.height},F,pe)},[e,B,F,O,se]);Tt.useEffect(()=>()=>{z.current&&clearTimeout(z.current)},[]);let V=Tt.useCallback(q=>{if(q)try{navigator.clipboard.writeText(q),P(!0),setTimeout(()=>P(!1),2e3)}catch{}},[]),X=Tt.useMemo(()=>Yr(B),[B]),Y=ds(e.thinking||X.thinking),re=/(?:^|\n+)(?:[>*_~`\s]*)(?:This is a calculation from live figures,?\s*not a guarantee\s*[—–-]\s*the market can move against it\.?)(?:[>*_~`\s]*)/gi,ge=re.test(X.content),ie=ge?X.content.replace(re,"").trimEnd():X.content,le=Tt.useMemo(()=>F?{content:ie,links:[]}:Bl(ie,typeof location>"u"?"https://akropolys.cloud":location.href,e.actionLinks,t&&l),[ie,F,e.actionLinks,t,l]);return Ce("div",{className:oe("hsk-cb-msg-group",o&&"hsk-cb-msg-group--run-mid",s&&"hsk-cb-msg-group--run-cont"),"data-hsk-role":F?"user":"assistant",ref:_,children:F?je("div",{className:`hsk-cb-user-msg${n?" hsk-sent":""}`,children:[e.images&&e.images.length>0&&Ce("div",{className:"hsk-cb-user-imgs","data-count":Math.min(e.images.length,4),children:e.images.slice(0,4).map((q,pe)=>je("button",{type:"button",className:"hsk-cb-user-img-cell",onClick:()=>R(q),children:[Ce("img",{src:q,alt:`attachment ${pe+1}`,className:"hsk-cb-user-img-thumb"}),Ce(dn,{active:Q,seed:de,theme:Z}),pe===3&&e.images.length>4&&je("span",{className:"hsk-cb-user-img-more",children:["+",e.images.length-3]})]},pe))}),e.content&&je("div",{ref:j,className:oe("hsk-cb-user-bubble",a&&"hsk-cb-user-bubble--tail",e.spoken&&"hsk-cb-user-bubble--spoken",w&&"hsk-cb-user-bubble--error"),onTouchStart:W,onTouchMove:ne,onTouchEnd:b,onTouchCancel:b,onContextMenu:E,dir:Oa(e.content.replace(/^@kiku\s*/i,"")),children:[e.spoken&&Ce(Dn,{className:"hsk-cb-spoken-mark",size:10}),/^@kiku\b/i.test(e.content)?je(gs,{children:[Ce("span",{className:"hsk-kiku-badge",children:"@kiku"}),e.content.replace(/^@kiku\s*/i,"")]}):e.content]}),a&&je("div",{className:"hsk-cb-user-footer",children:[je("div",{className:"hsk-cb-msg-actions",children:[D&&(w||n)&&je("button",{type:"button",className:"hsk-cb-msg-action hsk-cb-msg-action--retry",onClick:()=>D(e),"aria-label":$("retry"),children:[Ce(Fn,{className:I?"hsk-retry-icon--spinning":"",size:11}),Ce("span",{className:"hsk-cb-msg-action-label",children:$("retry")})]}),T&&je("button",{type:"button",className:"hsk-cb-msg-action hsk-cb-msg-action--edit",onClick:()=>T(e),"aria-label":$("edit"),children:[Ce(ya,{size:11}),Ce("span",{className:"hsk-cb-msg-action-label",children:$("edit")})]}),je("button",{type:"button",className:oe("hsk-cb-msg-action hsk-cb-msg-action--copy",L&&"hsk-cb-msg-action--copied"),onClick:()=>V(e.content),"aria-label":$(L?"copied":"copy"),children:[L?Ce(Dr,{size:11}):Ce(Fr,{size:11}),Ce("span",{className:"hsk-cb-msg-action-label",children:$(L?"copied":"copy")})]})]}),n&&!w&&Ce("span",{className:"hsk-cb-sent-status",children:$(h||p?"statusStopped":"statusSent")}),w&&je("span",{className:"hsk-cb-failed-notice",children:[Ce("span",{className:"hsk-cb-failed-dot"}),$("msgFailed")]})]})]}):Ce("div",{className:oe("hsk-cb-ai-msg",c&&"hsk-cb-ai-msg--inline"),children:je("div",{className:"hsk-cb-ai-body",onTouchStart:W,onTouchMove:ne,onTouchEnd:b,onTouchCancel:b,onContextMenu:E,children:[(()=>{let q=e.thoughtForSeconds!=null||ie.length>0||!(t&&(l||i));return je(gs,{children:[!e.spoken&&(Y||e.thoughtForSeconds!=null||e.repliedSeconds!=null||Kr(e.statusStage)||t&&(l||i))&&Ce(xl,{text:Y,isComplete:q,seconds:e.thoughtForSeconds,stage:e.statusStage,repliedSeconds:e.repliedSeconds}),e.spoken&&typeof e.thoughtForSeconds=="number"&&e.thoughtForSeconds>0&&Ce("div",{className:"hsk-cb-think",children:je("span",{className:"hsk-cb-think-head hsk-cb-think-head--static",children:[Ce(Dn,{size:11}),je("span",{children:["spoken \xB7 ",e.thoughtForSeconds.toFixed(1),"s"]})]})}),!ie&&N&&!(t&&(l||i))&&Ce("p",{className:"hsk-cb-ai-content",children:$("errStreamInterrupted")}),le.content&&Ce("div",{className:"hsk-cb-ai-content",children:Ce($l,{content:le.content,streaming:t&&l,hosts:K})}),Ce(Dl,{links:le.links,t:$,onOpen:pe=>{U?.siteId&&hm(U.siteId,pe.returnToken)}}),ge&&Ce("div",{className:"hsk-cb-calc-disclaimer",children:$("calcDisclaimer")})]})})(),e.visualizing&&Ce("div",{className:"hsk-cb-viz",children:je("div",{className:oe("hsk-cb-viz--working",!be&&"is-blank",e.visualizationType==="video"&&"is-video"),role:"status","aria-label":e.visualizingText||$("vizWorking"),children:[be&&Ce("img",{src:be,alt:""}),Ce(dn,{active:!0,seed:de,theme:Z})]})}),e.visualization&&je("div",{className:"hsk-cb-viz",children:[je("div",{className:"hsk-cb-viz-imgwrap",children:[e.visualizationType==="video"||e.visualization.includes("/videos/")?Ce("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%"}}):Ce("img",{src:e.visualization,alt:"Product visualized in your photo",className:"hsk-markdown-img",style:M[e.visualization]==="err"?{display:"none"}:void 0,onLoad:()=>g(q=>({...q,[e.visualization]:"ok"})),onError:()=>g(q=>({...q,[e.visualization]:"err"}))}),M[e.visualization]==="err"&&Ce("div",{className:"hsk-cb-viz-broken",children:$("vizUnavailable")}),t&&!l&&M[e.visualization]==="ok"&&e.visualizationType!=="video"&&!e.visualization.includes("/videos/")&&je("button",{className:"hsk-cb-viz-mark",onClick:()=>S(e.visualization),children:[je("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[Ce("path",{d:"M12 20h9"}),Ce("path",{d:"M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4Z"})]}),$("vizMarkEdit")]})]}),Ce("div",{className:"hsk-cb-viz-disclaimer",children:e.visualizationType==="video"||e.visualization.includes("/videos/")?$("vizDisclaimerVideo"):$("vizDisclaimerImage")})]}),!F&&(e.knowledgeImages?.length??0)>0&&Ce("div",{className:"hsk-cb-kimgs",children:e.knowledgeImages.map(q=>je("div",{className:"hsk-cb-kimg-group",children:[Ce("div",{className:"hsk-cb-kimg-grid",children:q.images.map((pe,Re)=>Ce("img",{src:pe.url,alt:pe.note||q.title||"Reference image",className:"hsk-cb-kimg",loading:"lazy",onClick:()=>R(pe.url),onError:me=>{me.target.style.display="none"}},Re))}),(q.title||q.images[0]?.note)&&Ce("div",{className:"hsk-cb-kimg-caption",children:q.title||q.images[0]?.note})]},q.entryId))}),!F&&Ce(El,{keys:e.liveKeys}),!F&&(e.staleNotices?.length??0)>0&&je("div",{className:"hsk-cb-stale",role:"status",children:[Ce("div",{className:"hsk-cb-stale-title",children:$("staleTitle")}),e.staleNotices.map((q,pe)=>je("div",{className:"hsk-cb-stale-item",children:[q.state==="removed"?$("staleRemoved",{title:q.title}):$("staleUnavailable",{title:q.title}),q.reason&&je("span",{className:"hsk-cb-stale-reason",children:[" ",q.reason]})]},pe))]}),(()=>{let q=t&&(i||l),pe=q?u:e.referencedIds??[],Re=q?d:e.sources??[],me=t?k:e.intent,we=me==="compare"||me==="capture"||me==="capture_all"||me==="delete"||me==="view_history";return pe.length>0&&!we&&(!t||m?.type!=="request_kiku_key")&&Ce(Ua,{sources:Re,onSelectSource:A,onImageClick:R,referencedIds:pe,compact:!!e.visualization,targetLabel:$("swatchTarget")})})(),t&&!i&&!l&&m?.type==="open_memory"&&Kn(m.url)&&je("a",{className:"hsk-cb-memory-pill",href:Kn(m.url),target:"_blank",rel:"noopener noreferrer",children:[$("openMemory"),Ce($i,{})]}),t&&!i&&Kn(m?.url)&&m?.type!=="open_memory"&&Ce("div",{className:"hsk-action-pills",children:je("a",{className:"hsk-action-pill",href:Kn(m?.url),children:[String(m?.type||"continue").replace(/_/g," ")," \u2192"]})}),t&&!i&&Ce(Pl,{intent:k,sources:f,onSend:y,loading:i}),!F&&a&&!l&&ie&&Ce("div",{className:"hsk-cb-ai-footer",children:je("div",{className:"hsk-cb-msg-actions",children:[je("button",{type:"button",className:oe("hsk-cb-msg-action hsk-cb-msg-action--copy",L&&"hsk-cb-msg-action--copied"),onClick:()=>V(ie),"aria-label":$(L?"copied":"copy"),children:[L?Ce(Dr,{size:11}):Ce(Fr,{size:11}),Ce("span",{className:"hsk-cb-msg-action-label",children:$(L?"copied":"copy")})]}),t&&(w||ie.includes("We're experiencing high demand right now"))&&D&&je("button",{type:"button",className:"hsk-cb-msg-action hsk-cb-msg-action--retry",onClick:()=>D(e),"aria-label":$("retry"),children:[Ce(Fn,{className:I?"hsk-retry-icon--spinning":"",size:11}),Ce("span",{className:"hsk-cb-msg-action-label",children:$("retry")})]})]})})]})})})}import{jsx as Rt,jsxs as kr}from"react/jsx-runtime";function Ol({keyInput:e,setKeyInput:r,minting:t,handleUseExistingKey:n,handleCreateKey:a,t:o}){return kr("div",{className:"hsk-cb-ai-msg",children:[Rt("div",{className:"hsk-cb-ai-icon",style:{display:"flex",alignItems:"center"},children:Rt(mr,{})}),Rt("div",{className:"hsk-cb-ai-body",children:Rt("div",{className:"hsk-cb-ai-text",children:kr("div",{className:"hsk-cb-phone-form",children:[Rt("label",{className:"hsk-cb-phone-label",children:o("keyPastePrompt")}),Rt("input",{type:"text",className:"hsk-cb-phone-input",placeholder:o("keyPastePlaceholder"),value:e,onChange:s=>r(s.target.value),onKeyDown:s=>s.key==="Enter"&&n(),autoFocus:!0}),kr("div",{style:{display:"flex",gap:8},children:[Rt("button",{className:"hsk-cb-phone-submit",onClick:n,disabled:!e.trim(),children:o("keyUseMine")}),Rt("button",{className:"hsk-cb-phone-submit",onClick:a,disabled:t,children:o(t?"keyCreating":"keyCreateNew")})]})]})})})]})}function Wl({mintedKey:e,copied:r,keyCountdown:t,onDismiss:n,copyValue:a,t:o}){return kr("div",{className:"hsk-cb-ai-msg",children:[Rt("div",{className:"hsk-cb-ai-icon",style:{display:"flex",alignItems:"center"},children:Rt(mr,{})}),Rt("div",{className:"hsk-cb-ai-body",children:kr("div",{className:"hsk-cb-secret-card",children:[kr("div",{className:"hsk-cb-secret-head",children:[Rt("span",{className:"hsk-cb-secret-title",children:o("keySecretTitle")}),kr("span",{className:"hsk-cb-secret-timer",children:[t,"s"]}),Rt("button",{type:"button",className:"hsk-cb-secret-dismiss",onClick:n,"aria-label":o("keyDismiss"),children:"\xD7"})]}),kr("button",{type:"button",className:"hsk-cb-secret-key",onClick:()=>a(e,"secret"),children:[Rt("code",{children:e}),kr("span",{className:"hsk-cb-secret-copy",children:[r==="secret"?Rt(Dr,{}):Rt(Fr,{}),o(r==="secret"?"keyCopied":"keyCopySecret")]})]}),Rt("span",{className:"hsk-cb-secret-hint",children:o("keySecretHint")})]})})]})}import{Fragment as bm,jsx as $t,jsxs as Qr}from"react/jsx-runtime";function mm(e,r){for(let t=r-1;t>=0;t--){let n=e[t];if(n.visualization&&n.visualizationType!=="video")return n.visualization;if(n.images?.length)return n.images[n.images.length-1]}}function Ul({displayMessages:e,messageRefs:r,isNarrow:t,loading:n,streaming:a,sources:o,referencedIds:s,discussedSources:c,lastIntent:i,lastAction:l,stopped:h,interrupted:p,halted:d,haltedEmpty:u,error:f,errorCode:k,keyPhase:m,keyInput:M,setKeyInput:g,mintedKey:R,setMintedKey:S,setMintedPub:y,minting:A,copied:D,keyCountdown:T,handleUseExistingKey:O,handleCreateKey:w,copyValue:I,queuedMessage:$,sendQueuedNow:_,setLightboxSrc:Q,setMarkupSrc:be,handleSend:Z,handleSourceClick:U,onRetry:de,onEdit:K,onLongPress:F,retrying:B,continueGenerating:N,t:L,spacerRef:P,vizState:j,setVizState:C,messages:z,doodleTheme:x,afterReply:se}){return Qr(bm,{children:[(()=>{let te=-1;for(let W=e.length-1;W>=0;W--)if(e[W]?.role==="user"){te=W;break}return e.map((W,ne)=>{let b=ne===e.length-1,E=W.role==="user",V=E&&ne===te,X=e[ne+1]?.role!==W.role,Y=!X,re=e[ne-1]?.role===W.role,ge=W.id||`${W.role}-${ne}`,ie=e[ne+1]?.content??"",le=V&&(n||a)&&!Yr(ie).content.trim(),q=W.visualizing?mm(e,ne):void 0,pe=V&&!!f||!E&&b&&!!f||!E&&!!W.content?.includes("We're experiencing high demand right now");return Qr(um.Fragment,{children:[$t(ql,{msg:W,idx:ne,isLast:b,isLastUser:V,isRunEnd:X,runMid:Y,runCont:re,isNarrow:t,loading:n,streaming:a,stopped:h,interrupted:p,sources:o,referencedIds:s,discussedSources:c,lastIntent:i,lastAction:l,vizState:j,setVizState:C,setLightboxSrc:Q,setMarkupSrc:be,handleSend:Z,handleSourceClick:U,onRetry:de,onEdit:K,onLongPress:F,hasError:pe,retrying:B,t:L,messageRef:Re=>{r.current[ne]=Re},photosSending:le,workingOn:q,doodleTheme:x}),ne===se?.index&&se.node]},ge)})})(),d&&z.length>0&&Qr("div",{className:oe("hsk-cb-stopped",u&&"hsk-cb-stopped--empty"),children:[u&&Qr("span",{className:"hsk-cb-stopped-dots","aria-hidden":"true",children:[$t("i",{}),$t("i",{}),$t("i",{})]}),$t("span",{className:"hsk-cb-stopped-label",children:L(h?"stoppedByYou":"stoppedInterrupted")}),Qr("button",{className:"hsk-cb-continue",onClick:N,children:[$t(qi,{}),L(z[z.length-1]?.role==="assistant"?"continueGenerating":"generateResponse")]})]}),f&&$t("div",{className:"hsk-cb-error",children:Ai({code:k??void 0,message:f},L)}),m==="prompt_key"&&$t(Ol,{keyInput:M,setKeyInput:g,minting:A,handleUseExistingKey:O,handleCreateKey:w,t:L}),R&&$t(Wl,{mintedKey:R,copied:D,keyCountdown:T,onDismiss:()=>{S(null),y(null)},copyValue:I,t:L}),$&&$t("div",{className:oe("hsk-cb-msg-group",e[e.length-1]?.role==="user"&&"hsk-cb-msg-group--run-cont"),children:Qr("div",{className:"hsk-cb-user-msg",children:[$t("div",{className:"hsk-cb-user-bubble hsk-cb-user-bubble--tail hsk-cb-user-bubble--queued",children:$.content}),Qr("button",{type:"button",className:"hsk-cb-queued-status",onClick:_,children:[$t("span",{className:"hsk-cb-queued-dot"}),L("queuedWaiting"),$t("span",{className:"hsk-cb-queued-now",children:L("queuedSendNow")})]})]})}),$t("div",{ref:P,className:"hsk-cb-msgs-spacer"})]})}import Xn,{useState as jl,useRef as vs,useEffect as ys}from"react";import{useAkropolysContext as gm,useCardFields as xm}from"@akropolys/sdk";import{jsx as Gl}from"react/jsx-runtime";var ja=16,fm=110,km=/[-ۿ܀-ݏ߀-߿ࡠ-ࣿﭐ-﷿ﹰ-]/;function xs(e){if(!e)return[];if(km.test(e))return e.split(/(\s+)/).filter(Boolean);let r=typeof Intl<"u"?Intl:void 0;if(r?.Segmenter){let t=new r.Segmenter(void 0,{granularity:"grapheme"});return Array.from(t.segment(e),n=>n.segment)}return e.split(/(\s+)/).filter(Boolean)}function Vl({text:e,placeholder:r,visible:t=!0,replay:n=0,replaySeed:a,staggerMs:o=ja}){if(!t)return null;let s=e||r||"";if(!s)return null;let c=a!==void 0?a:n,i=s.length>26,l=i?s.match(/\S+\s*/g)??[s]:xs(s),h=Math.max(l.length-1,1),p=s.length>44?"3":i?"2":"1";return Gl("div",{className:"hsk-animated-placeholder","data-fit":p,dir:"auto","aria-hidden":"true",children:l.map((d,u)=>Gl("span",{className:"hsk-animated-placeholder__char",style:{animationDelay:`${fm+u*o}ms`,"--hsk-ph-hue":`${Math.round(u/h*300)}`},children:d},`${s}|${c}|${u}`))})}import{Fragment as ws,jsx as xe,jsxs as ot}from"react/jsx-runtime";function Yl({gooId:e,input:r,setInput:t,showKikuPicker:n,setShowKikuPicker:a,showAtPicker:o,setShowAtPicker:s,captureAllowed:c,discussedSources:i,handleSelectExtension:l,handleKikuCapture:h,handleKikuCaptureAll:p,handleKikuViewHistory:d,handleKikuDelete:u,attachments:f,removeAttachment:k,chromeLoading:m,inputLocked:M,langSwitching:g=!1,imageInputRef:R,handleImageFiles:S,enableVision:y,enableVoice:A,canConverse:D,startVoice:T,voiceBlocked:O,textareaRef:w,classNames:I={},handleInput:$,handleKeyDown:_,voice:Q,voicePhase:be,activePlaceholder:Z,loading:U,streaming:de,stop:K,handleSend:F,voiceError:B,setVoiceError:N,t:L,rail:P,notice:j,onOpenMimi:C}){let z=gm(),x=xm(),[se,te]=Xn.useState(0),[W,ne]=Xn.useState(!1);Xn.useEffect(()=>{if(!B)return;let me=setTimeout(()=>{N?.("")},6e3);return()=>clearTimeout(me)},[B,N]);let b=Xn.useRef(null);Xn.useEffect(()=>{if(!W)return;let me=Ie=>{Ie.key==="Escape"&&ne(!1)},we=Ie=>{let Se=Ie.composedPath?Ie.composedPath():[],De=Ie.target?.closest?.(".hsk-cb-tools-toggle")||Se.some(Ye=>Ye?.classList?.contains?.("hsk-cb-tools-toggle")),Ge=b.current&&(Se.includes(b.current)||b.current.contains(Ie.target));De||Ge||ne(!1)};return window.addEventListener("keydown",me),document.addEventListener("mousedown",we),document.addEventListener("touchstart",we,{passive:!0}),()=>{window.removeEventListener("keydown",me),document.removeEventListener("mousedown",we),document.removeEventListener("touchstart",we)}},[W]);let E=Z||"Ask me anything\u2026",V=vs(null),[X,Y]=jl(()=>E.length>26);ys(()=>{let me=V.current;if(!me||r)return;let we=()=>{let Se=me.querySelectorAll(".hsk-animated-placeholder__char");if(Se.length<2)return Y(!1);let ue=Se[0].offsetTop,De=Se[Se.length-1].offsetTop;Y(De-ue>Se[0].offsetHeight/2)};we();let Ie=new ResizeObserver(we);return Ie.observe(me),()=>Ie.disconnect()},[E,r]);let re=Math.max(xs(E).length-1,0)*ja,[ge,ie]=jl(!1),le=vs(null),q=()=>{le.current&&clearTimeout(le.current),ie(!0),le.current=setTimeout(()=>{ie(!1),le.current=null},550)};ys(()=>()=>{le.current&&clearTimeout(le.current)},[]);let pe=vs(null),Re=!!j;return ys(()=>{pe.current?.toggleAttribute("inert",Re)},[Re]),ot("div",{className:"hsk-cb-input-wrap","data-tools-open":W?"true":void 0,children:[W&&ot(ws,{children:[xe("div",{className:"hsk-cb-toolsheet-scrim",onClick:()=>ne(!1),"aria-hidden":"true"}),xe("div",{className:"hsk-cb-toolsheet-wrap",ref:b,children:ot("div",{className:"hsk-cb-toolsheet",role:"menu",children:[y&&ot("button",{className:"hsk-cb-toolsheet-item",role:"menuitem",onClick:()=>{ne(!1),R.current?.click()},disabled:U,children:[xe(Ao,{}),xe("span",{children:L("attachImage")})]}),A&&D&&ot("button",{className:"hsk-cb-toolsheet-item",role:"menuitem",onClick:()=>{ne(!1),O?N?.(L("errAccountRequired")):T("converse")},disabled:U||m,children:[xe(Po,{}),xe("span",{children:L("voiceModeStart")})]}),C&&ot("button",{className:"hsk-cb-toolsheet-item",role:"menuitem",onClick:()=>{ne(!1),C()},children:[xe(Ui,{}),xe("span",{children:"MiMi"})]})]})})]}),j,ot("div",{className:"hsk-cb-input-card",ref:pe,children:[(/^@kiku\b/i.test(r)||n||o)&&ot("div",{className:"hsk-cb-docked-header",children:[xe("span",{className:"hsk-cb-docked-sub",children:L("captureAndRemember")}),xe("button",{type:"button",className:"hsk-cb-docked-close",onClick:()=>{t(me=>me.replace(/^@kiku\s*/i,"")),a(!1),s(!1)},"aria-label":"Close mode",children:"\xD7"})]}),(n||o)&&ot("div",{className:"hsk-cb-docked-options",onMouseDown:me=>me.preventDefault(),children:[o&&c&&ot("button",{type:"button",className:"hsk-cb-docked-option",onClick:()=>l("@kiku"),children:[xe("span",{className:"hsk-cb-docked-option-icon",children:xe(mr,{})}),xe("span",{className:"hsk-cb-docked-option-title",children:"kiku"}),xe("span",{className:"hsk-cb-docked-option-desc",children:"capture & remember"})]}),n&&c&&ot(ws,{children:[i.map((me,we)=>ot("button",{type:"button",className:"hsk-cb-docked-option",onClick:()=>{h(me),a(!1)},children:[xe("span",{className:"hsk-cb-docked-option-icon",children:me.image?xe("img",{src:me.image,alt:""}):xe(xa,{})}),xe("span",{className:"hsk-cb-docked-option-title",children:me.name}),Qt(me,x)[0]&&xe("span",{className:"hsk-cb-docked-option-detail",children:Qt(me,x)[0].value})]},me.id??we)),i.length>1&&ot("button",{type:"button",className:"hsk-cb-docked-option",onClick:()=>{p(i),a(!1)},children:[xe("span",{className:"hsk-cb-docked-option-icon",children:xe(xa,{})}),xe("span",{className:"hsk-cb-docked-option-title",children:L("captureAll",{count:String(i.length)})})]}),i.length===0&&ot("button",{type:"button",className:"hsk-cb-docked-option",onClick:()=>{h({name:"current page",id:void 0}),a(!1)},children:[xe("span",{className:"hsk-cb-docked-option-icon",children:xe(xa,{})}),xe("span",{className:"hsk-cb-docked-option-title",children:L("captureCurrentPage")})]}),ot("button",{type:"button",className:"hsk-cb-docked-option",onClick:()=>{d(),a(!1)},children:[xe("span",{className:"hsk-cb-docked-option-icon",children:xe(Oi,{})}),xe("span",{className:"hsk-cb-docked-option-title",children:L("whatHaveYouSaved")})]}),ot("button",{type:"button",className:"hsk-cb-docked-option",onClick:()=>{u(),a(!1)},children:[xe("span",{className:"hsk-cb-docked-option-icon",children:xe(va,{})}),xe("span",{className:"hsk-cb-docked-option-title",children:L("deleteThis")})]})]})]}),f.length>0&&xe("div",{className:"hsk-cb-img-strip",children:f.map((me,we)=>ot("div",{className:"hsk-cb-img-thumb-wrap",children:[xe("img",{src:me.thumb||me.data,alt:`attachment ${we+1}`,className:"hsk-cb-img-thumb"}),xe("button",{type:"button",className:"hsk-cb-img-thumb-remove",onClick:()=>k(we),"aria-label":"Remove image",children:xe(ec,{size:10})})]},we))}),ot("div",{className:oe("hsk-cb-input-box",m&&"hsk-cb-input-box--waiting"),"data-cascade":se%2?"b":"a","data-tools":W?"open":"closed",style:{"--hsk-text-sweep":`${re}ms`},children:[xe("input",{ref:R,type:"file",accept:"image/*",className:"hsk-sr-only",onChange:me=>{S(me.target.files),me.target.value=""}}),(C||y||A&&D)&&xe("button",{className:oe("hsk-cb-tools-toggle",W&&"hsk-cb-tools-toggle--open"),onClick:()=>ne(me=>!me),disabled:U||m,"aria-label":W?"Close options":"More options","aria-expanded":W,children:xe(Wi,{})}),xe(ws,{children:y&&xe("button",{className:"hsk-cb-attach-btn",onClick:()=>R.current?.click(),disabled:U,"aria-label":"Attach image",children:xe(Ao,{})})}),ot("div",{className:"hsk-cb-field",ref:V,"data-ph-lines":!r&&X?"2":void 0,children:[xe("textarea",{ref:w,value:r,onChange:$,onKeyDown:_,rows:1,placeholder:"",className:oe("hsk-cb-textarea",I.input),"aria-label":Z,disabled:M||U&&!de||g}),xe(Vl,{placeholder:Z,visible:!r,staggerMs:ja,replaySeed:se})]}),A&&D&&xe("button",{className:oe("hsk-cb-voice-mode-btn",O&&"hsk-cb-voice-mode-btn--blocked"),onClick:()=>O?N?.(L("errAccountRequired")):T("converse"),disabled:U||m,"aria-label":"Voice conversation",children:xe(Po,{})}),(U||de)&&!ge?xe("button",{className:oe("hsk-cb-send","hsk-cb-send--stop",I.sendButton),onClick:K,"aria-label":"Stop generating",children:xe(Bi,{})}):ot("button",{className:oe("hsk-cb-send",ge&&"is-launching",I.sendButton),onClick:()=>{q(),F()},disabled:g||M||m||!r.trim()&&f.length===0,"aria-label":"Send message",children:[xe("svg",{width:"0",height:"0","aria-hidden":"true",focusable:"false",style:{position:"absolute"},children:xe("defs",{children:ot("filter",{id:e,children:[xe("feGaussianBlur",{in:"SourceGraphic",stdDeviation:"1.6",result:"blur"}),xe("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"}),xe("feBlend",{in:"SourceGraphic",in2:"goo"})]})})}),xe("span",{className:"hsk-cb-send-sheath","aria-hidden":"true"}),ot("span",{className:"hsk-cb-send-stage",style:{filter:`url(#${e})`},children:[xe("span",{className:"hsk-cb-send-seam","aria-hidden":"true"}),xe("span",{className:"hsk-cb-send-kite",children:xe(ji,{})})]})]})]})]}),O?ot("div",{className:"hsk-cb-voice-error",role:"status",onClick:()=>N?.(""),children:[xe("span",{children:L("errAccountRequired")}),xe("button",{type:"button",className:"hsk-cb-voice-error-dismiss",onClick:me=>{me.stopPropagation(),N?.("")},"aria-label":"Dismiss error",children:"\xD7"})]}):B&&ot("div",{className:"hsk-cb-voice-error",role:"status",onClick:()=>N?.(""),children:[xe("span",{children:L(B)}),xe("button",{type:"button",className:"hsk-cb-voice-error-dismiss",onClick:me=>{me.stopPropagation(),N?.("")},"aria-label":"Dismiss error",children:"\xD7"})]})]})}import Mm,{useEffect as Cs,useRef as Jr,useState as Ss}from"react";import{useEffect as Qn,useRef as Jn}from"react";import{jsx as wm}from"react/jsx-runtime";function Kl(e,r){let t=e.trim().match(/^#([\da-f]{3}|[\da-f]{6})$/i);if(t){let a=t[1].length===3?t[1].split("").map(o=>o+o).join(""):t[1];return[parseInt(a.slice(0,2),16),parseInt(a.slice(2,4),16),parseInt(a.slice(4,6),16)]}let n=e.match(/-?[\d.]+/g);return!n||n.length<3?r:[Number(n[0]),Number(n[1]),Number(n[2])]}function vm(e,r,t){return[e[0]+(r[0]-e[0])*t,e[1]+(r[1]-e[1])*t,e[2]+(r[2]-e[2])*t]}function Rn(e,r){return`rgba(${e[0]|0}, ${e[1]|0}, ${e[2]|0}, ${r})`}var gr=24,ym=.42;function Xl({phase:e,theme:r,level:t,spectrum:n,bins:a,className:o}){let s=Jn(null),c=Jn(e),i=Jn(t),l=Jn(n),h=Jn(a);return Qn(()=>{c.current=e},[e]),Qn(()=>{i.current=t},[t]),Qn(()=>{l.current=n},[n]),Qn(()=>{h.current=a},[a]),Qn(()=>{let p=s.current;if(!p)return;let d=p.getContext("2d");if(!d)return;let u=getComputedStyle(p),f=Kl(u.getPropertyValue("--hsk-primary")||"",[255,106,51]),k=Kl(u.getPropertyValue("--hsk-chat-text")||"",[31,31,31]),m=0,M=0,g=0,R=()=>{let K=Math.min(window.devicePixelRatio||1,3),F=p.getBoundingClientRect();M=Math.max(1,F.width),g=Math.max(1,F.height),p.width=Math.round(M*K),p.height=Math.round(g*K),d.setTransform(K,0,0,K,0,0)};R();let S=typeof ResizeObserver<"u"?new ResizeObserver(R):null;S?.observe(p),window.addEventListener("resize",R);let y=window.matchMedia?.("(prefers-reduced-motion: reduce)")?.matches??!1,A=new Float32Array(gr),D=[],T=null,O=-1,w=null,I=0,$=0,_=performance.now(),Q=(K,F,B,N)=>K+(F-K)*(F>K?B:N),be=()=>{let K=l.current,F=h.current?.()??0;if(!K||!F||((!w||w.length!==F)&&(w=new Uint8Array(F)),!K(w)))return!1;let N=Math.max(gr,Math.floor(F*ym))/gr;for(let L=0;L<gr;L++){let P=Math.floor(L*N),j=Math.max(P+1,Math.floor((L+1)*N)),C=0;for(let x=P;x<j;x++)C+=w[x];let z=C/(j-P)/255;A[L]=Q(A[L],z,y?.2:.55,y?.06:.14)}return!0},Z=(K,F)=>{for(let B=0;B<gr;B++){let N=B/(gr-1),L=Math.pow(1-N,1.6)*(.75+.25*Math.sin(K*3.1+B*.7));A[B]=Q(A[B],L*F,.3,.12)}},U=K=>{let F=Math.min(gr-1,Math.max(0,K*(gr-1))),B=Math.floor(F),N=F-B,L=A[B],P=A[Math.min(gr-1,B+1)];return L+(P-L)*N*N*(3-2*N)},de=K=>{m=requestAnimationFrame(de);let F=(K-_)/1e3,B=c.current,N=Math.min(1,i.current());I=Q(I,Math.max(B==="speaking"?.42:B==="listening"?.3:B==="thinking"?.28:.12,N),y?.1:.5,y?.05:.11),be()||Z(F,Math.max(.25,I)),d.clearRect(0,0,M,g);let P=g/2;$=B==="thinking"?($+.012)%1.6:0;let j=3;if(O!==M){D=[];for(let x=0;x<j;x++){let se=x/(j-1||1),te=vm(f,k,se*.5),W=d.createLinearGradient(0,0,M,0);W.addColorStop(0,Rn(te,0)),W.addColorStop(.5,Rn(te,.9-se*.35)),W.addColorStop(1,Rn(te,0)),D.push(W)}T=d.createLinearGradient(0,0,M,0),T.addColorStop(0,Rn(f,0)),T.addColorStop(.5,Rn(f,.14)),T.addColorStop(1,Rn(f,0)),O=M}let C=g*.32,z=Math.max(4,M/130);for(let x=0;x<j;x++){let se=x/(j-1||1),te=x*.055,W=1-se*.22;d.beginPath();let ne=0,b=P;for(let V=0;V<=M;V+=z){let X=V/M,Y=Math.pow(Math.sin(Math.PI*X),.85),re=B==="thinking"?Math.exp(-Math.pow((X-($-.3))*4.5,2)):1,ge=U(Math.abs(X-.5)*2),ie=F-te,le=Math.sin(X*Math.PI*2*2.1+ie*7.4)*.66+Math.sin(X*Math.PI*2*3.7-ie*5.6)*.26+Math.sin(X*Math.PI*2*5.9+ie*9.1)*.08,q=P+Y*re*W*C*I*(.6+ge*1.1)*le+Math.sin(X*Math.PI*2*.6+(F-te)*2.2)*Y*g*.01;V===0?d.moveTo(V,q):d.quadraticCurveTo(ne,b,(ne+V)/2,(b+q)/2),ne=V,b=q}d.quadraticCurveTo(ne,b,M,b),d.lineCap="round",d.lineJoin="round";let E=(x===0?3:1.6)*(1+I*.6);x===0&&(d.strokeStyle=T,d.lineWidth=E*5,d.stroke()),d.strokeStyle=D[x],d.lineWidth=E,d.stroke()}};return m=requestAnimationFrame(de),()=>{cancelAnimationFrame(m),S?.disconnect(),window.removeEventListener("resize",R)}},[r]),wm("canvas",{ref:s,className:o,"aria-hidden":"true"})}import{useState as Cm,useEffect as Ql,useRef as Sm}from"react";import{jsx as rr,jsxs as Ya}from"react/jsx-runtime";function Zn({src:e,images:r,initialIndex:t=0,title:n,onClose:a}){let o=r&&r.length>0?r:e?[{url:e}]:[],[s,c]=Cm(t),i=Sm(null);if(Ql(()=>{c(Math.min(Math.max(0,t),Math.max(0,o.length-1)))},[t,o.length]),Ql(()=>{if(o.length===0)return;let p=d=>{d.key==="Escape"&&a(),o.length>1&&(d.key==="ArrowLeft"&&c(u=>(u-1+o.length)%o.length),d.key==="ArrowRight"&&c(u=>(u+1)%o.length))};return window.addEventListener("keydown",p),()=>window.removeEventListener("keydown",p)},[o.length,a]),o.length===0)return null;let l=o[s]||o[0],h=p=>c(d=>(d+p+o.length)%o.length);return Ya("div",{className:"hsk-lightbox",onClick:a,role:"dialog","aria-modal":"true","aria-label":n||"Image preview",children:[rr("button",{className:"hsk-lightbox-close",onClick:a,"aria-label":"Close image",children:rr(on,{})}),n&&rr("div",{className:"hsk-lightbox-top",onClick:p=>p.stopPropagation(),children:rr("span",{className:"hsk-lightbox-title",children:n})}),Ya("div",{className:"hsk-lightbox-stage",onClick:p=>p.stopPropagation(),onTouchStart:p=>{i.current=p.touches[0]?.clientX??null},onTouchEnd:p=>{let d=p.changedTouches[0]?.clientX;i.current!==null&&d!==void 0&&Math.abs(d-i.current)>40&&h(d<i.current?1:-1),i.current=null},children:[o.length>1&&rr("button",{type:"button",className:"hsk-lightbox-nav hsk-lightbox-nav--prev",onClick:()=>h(-1),"aria-label":"Previous image",children:rr(sn,{})}),Ya("div",{className:"hsk-lightbox-content",children:[rr("img",{src:l.url,alt:l.alt||n||"",className:"hsk-lightbox-img"},l.url),l.caption&&rr("div",{className:"hsk-lightbox-caption",children:l.caption})]}),o.length>1&&rr("button",{type:"button",className:"hsk-lightbox-nav hsk-lightbox-nav--next",onClick:()=>h(1),"aria-label":"Next image",children:rr(cn,{})})]}),o.length>1&&rr("div",{className:"hsk-lightbox-bottom",onClick:p=>p.stopPropagation(),children:Ya("div",{className:"hsk-lightbox-counter",children:[s+1," / ",o.length]})})]})}import{normalizeEntityImages as Tm}from"@akropolys/sdk";import{Fragment as Em,jsx as Ne,jsxs as Kt}from"react/jsx-runtime";function Rm({images:e,siteId:r,themeAttr:t}){let n=Jr(null),[a,o]=Ss(null);if(Cs(()=>{let i=n.current;i&&i.scrollTo({left:i.scrollWidth,behavior:"smooth"})},[e.length]),!e.length)return null;let s=e.findIndex(i=>i.pending),c=s>0?e.slice(0,s).reverse().find(i=>i.url)?.id:void 0;return Kt("div",{className:"hsk-voice-images",ref:n,children:[e.map(i=>Kt("button",{type:"button",className:"hsk-voice-image","data-pending":i.pending?"":void 0,disabled:i.pending,onClick:()=>o(i.url),children:[i.pending&&Ne(dn,{active:!0,seed:r,theme:t}),i.url&&Ne("img",{src:i.url,alt:"",draggable:!1},i.url),i.url&&Ne(dn,{active:!!i.sending||i.id===c,seed:r,theme:t})]},i.id)),a&&Ne(Zn,{src:a,onClose:()=>o(null)})]})}function Lm({current:e,choose:r,label:t,groups:n}){let a=_n.find(l=>l.name===e),[o,s]=Ss(!1),c=Jr(null),i=Jr(null);return Cs(()=>{if(i.current&&(i.current.inert=!o),!o)return;let l=i.current,h=l?.querySelector('[aria-checked="true"]');l&&h&&(l.scrollTop=h.offsetTop-(l.clientHeight-h.offsetHeight)/2);let p=u=>{c.current&&!u.composedPath().includes(c.current)&&s(!1)},d=u=>{u.key==="Escape"&&s(!1)};return document.addEventListener("pointerdown",p),document.addEventListener("keydown",d),()=>{document.removeEventListener("pointerdown",p),document.removeEventListener("keydown",d)}},[o]),Kt("div",{className:"hsk-voice-picker",ref:c,"data-open":o?"":void 0,dir:"ltr",children:[Kt("button",{type:"button",className:"hsk-voice-pill hsk-voice-pill--current","aria-haspopup":"true","aria-expanded":o,"aria-label":`${t}: ${a?.trait??e} (${e})`,onClick:()=>s(l=>!l),children:[Ne("span",{children:a?.trait??e}),Ne("span",{className:"hsk-voice-pill-caret",children:Ne(cn,{})})]}),Ne("div",{className:"hsk-voice-menu-list",role:"radiogroup","aria-label":t,ref:i,children:["male","female"].map(l=>Kt(Mm.Fragment,{children:[Ne("div",{className:"hsk-voice-group","aria-hidden":"true",children:n[l]}),_n.filter(h=>h.gender===l).map(h=>Kt("button",{type:"button",role:"radio","aria-checked":e===h.name,"aria-label":`${h.trait}, ${n[l]} (${h.name})`,className:oe("hsk-voice-option",e===h.name&&"hsk-voice-option--on"),onClick:()=>{r(h.name),s(!1)},children:[Ne("span",{className:"hsk-voice-option-name",children:h.trait}),Ne("span",{className:"hsk-voice-option-trait",children:h.name})]},h.name))]},l))})]})}function Jl({siteId:e,themeAttr:r,stopVoice:t,chooseVoice:n,liveVoiceName:a,voiceSecondsLeft:o,voiceConnecting:s,voicePhase:c,live:i,earlier:l,newVoiceChat:h,voiceMuted:p,setVoiceMuted:d,voiceError:u,attachPhoto:f,onSelectSource:k,t:m}){let M=Jr(null),g=Jr(null),R=Jr(null),S=[...l.turns,...i.turns??[]],y=[...l.images,...i.images??[]],A=i.sources??[],[D,T]=Ss(null),O=y.some(_=>_.pending),w=S.length,I=S[w-1]?.text??"",$=Jr(!1);return Cs(()=>{g.current?.scrollIntoView({block:"end",behavior:$.current?"smooth":"auto"}),$.current=!0},[w,I]),Kt("div",{className:"hsk-voice-overlay",role:"dialog","aria-label":m("voiceModeStart"),children:[Ne(Sa,{seed:e,theme:r}),S.some(_=>_.text)&&Ne("button",{type:"button",className:"hsk-voice-new",onClick:h,disabled:s,"aria-label":m("voiceNewChat"),title:m("voiceNewChat"),children:Ne(ya,{size:15})}),Ne("button",{className:"hsk-voice-exit",onClick:t,"aria-label":m("voiceModeExit"),children:Ne(on,{})}),Ne(Lm,{current:a,choose:n,label:m("voicePickerLabel"),groups:{female:m("voiceFemale"),male:m("voiceMale")}}),Kt("div",{className:"hsk-voice-thread",ref:M,children:[S.filter(_=>_.text).map((_,Q)=>_.role==="user"?Ne("div",{className:"hsk-cb-user-msg",children:Ne("div",{className:oe("hsk-cb-user-bubble","hsk-cb-user-bubble--spoken",!_.done&&"hsk-voice-turn--live"),children:_.text})},Q):Ne("div",{className:"hsk-cb-ai-msg",children:Ne("div",{className:oe("hsk-cb-ai-body",!_.done&&"hsk-voice-turn--live"),children:_.text})},Q)),Ne("div",{ref:g})]}),(y.length>0||A.length>0)&&Kt("div",{className:"hsk-voice-shelf",children:[Ne(Rm,{images:y,siteId:e,themeAttr:r}),A.length>0&&Ne("div",{className:"hsk-voice-sources",children:Ne(Ua,{sources:A.map(_=>({..._,images:Tm(_.images??_.fields?.images,_.image,_.url)})),onSelectSource:k,onImageClick:T,referencedIds:A.map(_=>_.id).filter(_=>!!_),compact:!0})})]}),D&&Ne(Zn,{src:D,onClose:()=>T(null)}),s&&Kt("div",{className:"hsk-voice-connecting",role:"status",children:[Ne("span",{className:"hsk-voice-connecting-dot"}),Ne("span",{children:m("voiceConnecting")})]}),u&&Ne("div",{className:"hsk-voice-error",children:m(u)}),Kt("div",{className:"hsk-voice-controls",dir:"ltr",children:[i.photos&&Kt(Em,{children:[Ne("input",{ref:R,type:"file",accept:"image/*",className:"hsk-sr-only",onChange:_=>{let Q=_.target.files?.[0];_.target.value="",Q&&f(Q)}}),Ne("button",{type:"button",className:"hsk-voice-control hsk-voice-control--attach","data-control":"attach",disabled:s||O,onClick:()=>R.current?.click(),"aria-label":m("voiceAttachPhoto"),children:Ne("span",{className:"hsk-voice-control-icon",children:Ne(Gi,{})})})]}),Ne("div",{className:oe("hsk-voice-stage",s&&"hsk-voice-stage--connecting"),children:Ne(Xl,{className:"hsk-voice-canvas",theme:r,phase:c,level:i.micLevel,spectrum:i.micSpectrum,bins:i.spectrumBins})}),Ne("button",{className:oe("hsk-voice-control",p&&"hsk-voice-control--muted",s&&"hsk-voice-control--waiting"),"data-control":"mic",disabled:s,onClick:()=>d(_=>!_),"aria-label":m(p?"voicePhaseListening":"voiceModeExit"),children:Ne("span",{className:"hsk-voice-control-icon",children:p?Ne(Vi,{}):Ne(Dn,{})},p?"off":"on")})]})]})}import{useRef as Ka,useEffect as zm,useState as Nm}from"react";import{jsx as Ln,jsxs as eh}from"react/jsx-runtime";var ea=14,Zl=6;function Im(e,r){let t=e.filter(Boolean);if(t.length<2)return null;let n=i=>i.offsetTop+i.offsetHeight/2,a=n(t[t.length-1])+10,o=i=>(i===r?Zl*1.3:Zl*.6)*(i%2?1:-1),s=`M ${ea} 0`,c=0;return t.forEach((i,l)=>{let h=n(i),p=c+(h-c)/2;s+=` C ${ea+o(l)} ${p}, ${ea+o(l)} ${p}, ${ea} ${h}`,c=h}),{d:s+` L ${ea} ${a}`,height:a}}function th({items:e,activeIdx:r,progress:t,onJump:n,side:a="right"}){let o=jt(),s=Ka(null),c=Ka(null),i=Ka([]),l=Ka(null),[h,p]=Nm(null),d=0;for(let u=0;u<e.length;u++)e[u].idx<=r&&(d=u);return zm(()=>{let u=i.current[d],f=l.current,k=c.current,m=s.current;if(u&&(f&&(f.style.transform=`translateY(${u.offsetTop+u.offsetHeight/2}px)`),p(Im(i.current,d)),k&&m)){let M=m.clientHeight;if(k.scrollHeight>M&&M>0){let R=u.offsetTop+u.offsetHeight/2,S=M/2-R;k.style.transform=`translateY(${S}px)`}else k.style.transform="none"}},[d,e.length]),e.length<2?null:Ln("nav",{ref:s,className:oe("hsk-cb-timeline",a==="left"?"hsk-cb-timeline--left":"hsk-cb-timeline--right"),"aria-label":o("timelineLabel"),children:eh("div",{ref:c,className:"hsk-cb-timeline-track",style:{"--hsk-tl-progress":t},children:[h&&Ln("svg",{className:"hsk-cb-tl-wave",width:"28",height:h.height,viewBox:`0 0 28 ${h.height}`,"aria-hidden":"true",children:Ln("path",{d:h.d})}),Ln("span",{className:"hsk-cb-tl-cursor",ref:l,"aria-hidden":"true"}),e.map((u,f)=>eh("button",{ref:k=>{i.current[f]=k},type:"button",className:oe("hsk-cb-tl-item",f===d&&"hsk-cb-tl-item--on"),style:{"--hsk-tl-d":Math.min(Math.abs(f-d),4)},onClick:()=>n(u.idx),title:u.text,children:[Ln("span",{className:"hsk-cb-tl-dot"}),Ln("span",{className:"hsk-cb-tl-label",children:u.text})]},u.idx))]})})}import{useState as Xa,useEffect as rh,useLayoutEffect as Ms,useRef as nh,useCallback as Ts}from"react";import{createPortal as Am}from"react-dom";import{Fragment as _m,jsx as nr,jsxs as zr}from"react/jsx-runtime";var Pm=190;function ah({msg:e,rect:r,containerRect:t,anchorEl:n,containerEl:a,scrollEl:o,isUser:s,isRTL:c=!1,canRetry:i,onPin:l,onRetry:h,onCopy:p,onClose:d,t:u}){let[f,k]=Xa(!1),m=nh(null),M=nh(),[g]=Xa(()=>{let ue=o?.getBoundingClientRect();return!!ue&&(r.top<ue.top+64||r.top+r.height>ue.bottom-8)});Ms(()=>{let ue=n?.closest(".hsk-cb-msg-group");if(!ue)return;let De=ue.inert;return ue.setAttribute("data-hsk-tapback-focus",""),ue.inert=!0,()=>{ue.removeAttribute("data-hsk-tapback-focus"),ue.inert=De}},[n]),Ms(()=>{if(!o)return;let ue=o.getAttribute("data-hsk-tapback-active");return o.setAttribute("data-hsk-tapback-active",""),()=>{ue===null?o.removeAttribute("data-hsk-tapback-active"):o.setAttribute("data-hsk-tapback-active",ue)}},[o]);let{closing:R,requestClose:S}=Yn(Pm,d);rh(()=>{let ue=document.activeElement,De=()=>Array.from(m.current?.querySelectorAll("button")??[]);m.current?.focus({preventScroll:!0});let Ge=Ye=>{if(Ye.key==="Escape"&&(Ye.preventDefault(),Ye.stopImmediatePropagation(),S()),Ye.key!=="Tab")return;let Pe=De();if(!Pe.length)return;let wt=Pe.indexOf(document.activeElement);(Ye.shiftKey?wt<=0:wt===Pe.length-1||wt<0)&&(Ye.preventDefault(),Pe[Ye.shiftKey?Pe.length-1:0].focus({preventScroll:!0}))};return window.addEventListener("keydown",Ge,!0),()=>{window.removeEventListener("keydown",Ge,!0),clearTimeout(M.current),ue?.isConnected&&ue.focus({preventScroll:!0})}},[S]);let y=Ts(async()=>{await p(e.content||"")&&(k(!0),M.current=setTimeout(S,450))},[e.content,p,S]),A=Ts(()=>{Jt("pin"),l(e),S()},[e,l,S]),D=Ts(()=>{h&&h(e),S()},[e,h,S]),[T,O]=Xa(()=>({box:r,attachment:r,thought:void 0,container:t,viewport:o?.getBoundingClientRect(),width:0,height:36,scrollTop:o?.scrollTop??0}));Ms(()=>{let ue=0,De=()=>{ue=0;let Pe=n?.getBoundingClientRect()??r,wt=(s?null:n?.querySelector(".hsk-cb-ai-text"))?.getBoundingClientRect()??Pe,Ct=s?void 0:n?.querySelector(".hsk-cb-think-head")?.getBoundingClientRect(),Lt=a?.getBoundingClientRect()??t,qt=o?.getBoundingClientRect()??Lt,Ot=m.current?.offsetWidth??0,Et=m.current?.offsetHeight??36,ve=o?.scrollTop??0;O(Ke=>{let mt=(qe,Xe)=>qe===Xe||!!qe&&!!Xe&&["top","left","width","height"].every(dt=>Math.abs(qe[dt]-Xe[dt])<.5);return mt(Ke.box,Pe)&&mt(Ke.attachment,wt)&&mt(Ke.thought,Ct)&&mt(Ke.container,Lt)&&mt(Ke.viewport,qt)&&Ke.width===Ot&&Ke.height===Et&&Ke.scrollTop===ve?Ke:{box:Pe,attachment:wt,thought:Ct,container:Lt,viewport:qt,width:Ot,height:Et,scrollTop:ve}})},Ge=()=>{ue||(ue=requestAnimationFrame(De))};De();let Ye=typeof ResizeObserver>"u"?null:new ResizeObserver(Ge);for(let Pe of[n,a,o,m.current])Pe&&Ye?.observe(Pe);return o?.addEventListener("scroll",Ge,{passive:!0}),window.addEventListener("resize",Ge),window.visualViewport?.addEventListener("resize",Ge),window.visualViewport?.addEventListener("scroll",Ge),()=>{cancelAnimationFrame(ue),Ye?.disconnect(),o?.removeEventListener("scroll",Ge),window.removeEventListener("resize",Ge),window.visualViewport?.removeEventListener("resize",Ge),window.visualViewport?.removeEventListener("scroll",Ge)}},[n,a,o,r,t,s]);let[w,I]=Xa("");rh(()=>{if(!n)return;let ue=getComputedStyle(n).backgroundColor;ue&&ue!=="rgba(0, 0, 0, 0)"&&ue!=="transparent"&&I(ue)},[n]);let{box:$,attachment:_,thought:Q,container:be,viewport:Z}=T,U=be?.top??0,de=be?.left??0,K=be?.width??(typeof window<"u"?window.innerWidth:390),F=$.top-U,B=_.left-de,N=_.width,L=$.height,P=2;i&&h&&P++;let j=P===2?122:170,C=T.width||j,z=T.height,x=window.visualViewport?.offsetTop??0,se=x+(window.visualViewport?.height??window.innerHeight),te=Math.max(0,Math.max(Z?.top??U,x)-U),W=Math.min(be?.height??window.innerHeight,Math.min(Z?Z.top+Z.height:se,se)-U),ne=te+8,b=Math.max(ne,W-z-8),E=!!Q,V=E||g||F-z-9>=ne,X=V?F-z-9:F+L+9,Y=Q?Math.max(ne,Math.min(Q.top-U+(Q.height-z)/2,b)):g?ne:Math.max(ne,Math.min(X,b)),re=Math.round($.top-(Z?.top??U)+T.scrollTop),ge=Math.min(24,L/2),ie=Math.ceil(Math.max(240,Z?.height??be?.height??window.innerHeight)+64),le=zr(_m,{children:[nr("div",{className:oe("hsk-tapback-frost","is-upper",R&&"is-closing"),"aria-hidden":"true",style:{top:(o?re:F)-ie,height:ie+ge}}),nr("div",{className:oe("hsk-tapback-frost","is-lower",R&&"is-closing"),"aria-hidden":"true",style:{top:(o?re:F)+L-ge,height:ie+ge}})]}),q=!s&&!!n?.closest('[data-hsk-layout="wide"]'),pe=c,Re=pe?Math.min(K-18,B+N-7):Math.max(18,B+7),me=pe?Re-C+18:Re-18;me=Math.max(10,Math.min(me,K-C-10));let we=Math.max(18,Math.min(Re-me,C-18)),Ie=w||(s?"var(--hsk-user-bubble-bg, var(--hsk-primary, #007aff))":"var(--hsk-bubble-bg, #eeeef0)"),Se=0;return zr("div",{className:oe("hsk-tapback-overlay",R&&"is-closing"),onClick:S,children:[o?Am(le,o):le,zr("div",{ref:m,className:oe("hsk-tapback-group",q&&"is-wide",(g||E)&&"is-docked",R&&"is-closing",V?"is-above":"is-below",s?"is-user":"is-ai"),style:{top:`${Y}px`,left:`${me}px`,maxWidth:`${Math.max(0,K-20)}px`,"--tail-x":`${we}px`,"--tail-dir":pe?1:-1,"--tail-step":s?"9px":"8px","--hsk-anchor-color":Ie,"--hsk-skin":"var(--hsk-bubble-bg, var(--hsk-chat-ai-bg, #eeeef0))"},tabIndex:-1,role:"dialog","aria-modal":"true","aria-label":"Message actions",onClick:ue=>ue.stopPropagation(),children:[zr("div",{className:"hsk-tapback-capsule",children:[zr("button",{type:"button",className:"hsk-tapback-tool-btn hsk-tapback-tool-btn--pin",onClick:A,"aria-label":"Pin to Kiku Memory",style:{"--tool-idx":Se++},children:[nr(tc,{size:14}),nr("span",{children:"Pin"})]}),i&&h&&zr("button",{type:"button",className:"hsk-tapback-tool-btn hsk-tapback-tool-btn--retry",onClick:D,"aria-label":u("retry"),style:{"--tool-idx":Se++},children:[nr(Fn,{size:14}),nr("span",{children:u("retry")})]}),zr("button",{type:"button",className:oe("hsk-tapback-tool-btn hsk-tapback-tool-btn--copy",f&&"is-copied"),onClick:y,"aria-label":u(f?"copied":"copy"),style:{"--tool-idx":Se++},children:[f?nr(Dr,{size:14}):nr(Fr,{size:14}),nr("span",{children:u(f?"copied":"copy")})]})]}),zr("div",{className:oe("hsk-tapback-tail",V?"is-above":"is-below"),style:{left:`${we}px`},children:[nr("span",{className:"hsk-tapback-dot hsk-tapback-dot--mid"}),nr("span",{className:"hsk-tapback-dot hsk-tapback-dot--anchor"})]})]})]})}import{useEffect as Fm,useRef as Dm}from"react";var oh=!1;function sh(){if(oh)return!0;try{return localStorage.getItem("akropolys_layout_hint_seen")==="true"||localStorage.getItem("akropolys_chat_layout")==="wide"}catch{return!1}}function ta(){oh=!0;try{localStorage.setItem("akropolys_layout_hint_seen","true")}catch{}}import{jsx as Rs,jsxs as Hm}from"react/jsx-runtime";function Ls({onOpenDock:e,placement:r="reply"}){let t=jt(),n=Dm(null);return Fm(()=>{let a=n.current;if(!a)return;if(typeof IntersectionObserver>"u"){ta();return}let o=new IntersectionObserver(s=>{s.some(c=>c.isIntersecting&&c.intersectionRatio>=.5)&&(ta(),o.disconnect())},{threshold:.5});return o.observe(a),()=>o.disconnect()},[]),Hm("button",{ref:n,type:"button",className:`hsk-cb-layout-discovery-note hsk-cb-layout-discovery-note--${r}`,onClick:e,children:[Rs("svg",{viewBox:"0 0 44 48",fill:"none","aria-hidden":"true",children:Rs("path",{pathLength:"1",d:"M36 43C14 46 8 27 20 23C32 18 36 31 24 31C11 31 9 15 18 6M10 10L18 5L23 14"})}),Rs("span",{children:t(r==="dock"?"layoutDockNote":"layoutFirstReplyNote",{button:"Wide"})})]})}import{jsx as Ue,jsxs as Nr}from"react/jsx-runtime";var Um=240,Gm=700,Vm=200;function Es({title:e="kiku",logo:r,placeholder:t="Ask me anything\u2026",backdropColor:n,backdropBlur:a,onClose:o,onSelectSource:s,chips:c=Pn,theme:i,classNames:l={},enableVoice:h=!1,voiceLang:p,enableVision:d=!1,ttsVoice:u="Algenib",origin:f}){let k=Om(),m=Wm(),{messages:M,sources:g,loading:R,streaming:S,error:y,errorCode:A,lastAction:D,lastIntent:T,allowedActions:O,send:w,queuedMessage:I,sendQueuedNow:$,appendSpokenExchange:_,stop:Q,stopped:be,interrupted:Z,continueGenerating:U,reset:de,referencedIds:K,humanPending:F,leaveHuman:B}=$m(),[N,L]=$e(null),P=pt(null),j=Nt(()=>{window.matchMedia?.("(prefers-reduced-motion: reduce)").matches||P.current?.animate([0,-7,6,-4,2,0].map(v=>({transform:`translateX(${v}px)`})),{duration:380,easing:"cubic-bezier(.36, .07, .19, .97)"})},[]);yt(()=>{if(!N)return;let v=Le=>{(Le.key.length===1||Le.key==="Enter"||Le.key==="Backspace")&&j()},H=Le=>{let Ee=Qe=>Le.composedPath().some(Fe=>Fe.classList?.contains(Qe));!Ee("hsk-cb-leave")&&!Ee("hsk-cb-topbar")&&j()},ke=Pr.current;return ke?.setAttribute("inert",""),document.addEventListener("keydown",v),document.addEventListener("pointerdown",H,!0),()=>{ke?.removeAttribute("inert"),document.removeEventListener("keydown",v),document.removeEventListener("pointerdown",H,!0)}},[N,j]);let[C,z]=$e(()=>{try{return k.getShopperName?.()??""}catch{return""}}),[x,se]=$e(()=>{try{return k.getShopperLanguage?.()??""}catch{return""}}),[te,W]=$e(()=>{try{return k.getEntityLanguageMode?.()??""}catch{return""}}),[ne,b]=$e(!1),[E,V]=$e(null),[X,Y]=$e(""),[re,ge]=$e(!1),{chromeReady:ie,baseFontReady:le,isRTL:q,speechLang:pe,scriptFont:Re,fontStack:me,isNonLatin:we,hostFontCovers:Ie,t:Se,tNode:ue}=wc({shopperLanguage:x||X,theme:i,preloadedStrings:E}),De=ra.useMemo(()=>{let v=g.filter(Fe=>Fe.id&&K.includes(Fe.id)),H=[...M].reverse().find(Fe=>Fe.role==="assistant")?.content??"";if(!H)return v;let ke=new Set(v.map(Fe=>Fe.id)),Le=H.toLowerCase().replace(/\s+/g," "),Ee=Fe=>{let Mt=String(Fe??"").toLowerCase().replace(/\s+/g," ").trim(),Je=Mt.split(" "),zt=[Mt];return Je.length>3&&zt.push(Je.slice(0,3).join(" ")),Je.length>4&&zt.push(Je.slice(0,4).join(" ")),zt.filter(nn=>nn.length>=5)},Qe=g.filter(Fe=>Fe.id&&!ke.has(Fe.id)&&Ee(Fe.name).some(Mt=>Le.includes(Mt)));return[...v,...Qe]},[g,K,M]),Ge=O===null||O.includes("capture"),[Ye,Pe]=$e(""),[wt,Ct]=$e(!1),[Lt,qt]=$e(!1),[Ot,Et]=$e([]),ve=pt(new Map),Ke=pt(null),[mt,qe]=$e({}),[Xe,dt]=$e(null),It=Nt((v,H)=>{if(!v&&!H){dt(null);return}dt(H?{images:H.images,initialIndex:H.index??0,title:H.title}:{src:v})},[]),[Wt,it]=$e(null),[St,ct]=$e(()=>{if(typeof window>"u")return!1;try{return localStorage.getItem("akropolys_terms_agreed")==="true"}catch{return!1}}),Dt=M.length===0,ar=X||x,G=!ar||ar.toLowerCase()==="english"||ar.toLowerCase()==="en",J=re||!!X||!!x&&!ie&&!G,fe=Dt&&!x&&!J,ce=Dt&&!!x&&!C&&!J,ae=Dt&&!!x&&!!C&&!te,Te=Dt&&!!x&&!!C&&!!te&&!St,ze=fe||ce||ae||Te||J,he=ae||Te||J,[Ae,Oe]=$e(J),[ft,dr]=$e(!1),[Zr,en]=$e(!1),[_e,at]=$e(!1),Ve=pt(!1),At=pt(null),ut=pt(null);J!==Ae&&(Oe(J),J?(ut.current&&clearTimeout(ut.current),at(!1),en(!0),At.current=setTimeout(()=>{dr(!0),en(!1),Ve.current=!0},280)):(At.current&&clearTimeout(At.current),en(!1),dr(!1),Ve.current&&(Ve.current=!1,at(!0),ut.current=setTimeout(()=>at(!1),560)))),yt(()=>()=>{At.current&&clearTimeout(At.current),ut.current&&clearTimeout(ut.current)},[]);let Pt=ra.useMemo(()=>M.some(v=>v.liveKeys?.length>0),[M]);yt(()=>{if(Pt)return qm({client:k})},[Pt,k]);let[xr,Ja]=$e(()=>typeof window<"u"&&!!window.matchMedia?.("(max-width: 1199px)").matches);yt(()=>{let v=window.matchMedia?.("(max-width: 1199px)");if(!v)return;let H=()=>Ja(v.matches);return H(),v.addEventListener?.("change",H),()=>v.removeEventListener?.("change",H)},[]);let Ir=async v=>{let H=v.trim();if(!H){try{k.setShopperLanguage?.("")}catch{}se(""),Y(""),V(null);return}if(Y(H),ge(!0),H.toLowerCase()==="english"||H.toLowerCase()==="en"){V(_t);try{k.setShopperLanguage?.(H)}catch{}se(H),Y(""),ge(!1),b(!1);return}let Le=Date.now(),Ee=1200;try{let Fe=k.getCachedUIStrings?.(H,Sr)??k.getCachedUIStrings?.(H,_t);if(Fe?.strings&&Object.keys(Fe.strings).length>0)V(Fe.strings),Fe.font&&await Vt(Fe.font,800);else{let Mt=k.getUIStrings?.(H,Sr),Je=await Promise.race([Mt,new Promise(zt=>setTimeout(()=>zt(null),8e3))]);Je?.font&&await Vt(Je.font,1200),Je?.strings&&Object.keys(Je.strings).length>0&&V(Je.strings)}}catch{}let Qe=Date.now()-Le;Qe<Ee&&await new Promise(Fe=>setTimeout(Fe,Ee-Qe));try{k.setShopperLanguage?.(H)}catch{}se(H),Y(""),ge(!1),b(!1);try{k.getUIStrings?.(H,_t)?.catch?.(()=>{})}catch{}},vr=v=>{try{k.setEntityLanguageMode?.(v)}catch{}W(v),St&&b(!0)},Za=()=>{try{localStorage.setItem("akropolys_terms_agreed","true")}catch{}ct(!0),b(!0)},eo=J?_r(X||x).preparing:fe?Se("langPlaceholder"):ce?Se("namePlaceholder"):ae?Se("entityLangPlaceholder"):Te?Se("termsPlaceholder"):t==="Ask me anything\u2026"?Se("defaultPlaceholder"):t,to=!c||c===Pn?[]:Array.isArray(c)?c:[],ro=fe?"curious":ce?"welcoming":ae?"guiding":Te?"focused":"happy",[Xt,no]=$e(()=>Di(i)),[lh,As]=$e(!1),En=pt(null);yt(()=>()=>{En.current&&clearTimeout(En.current)},[]);let Ps=pt(null),hh=()=>{let v=Pr.current;if(!v?.animate||window.matchMedia?.("(prefers-reduced-motion: reduce)").matches)return;let H=q?-3:3;Ps.current?.cancel(),Ps.current=v.animate([{transform:"translate(0, 0)",easing:"cubic-bezier(.3, 0, .2, 1)"},{offset:.26,transform:`translate(${H}px, -6px)`,easing:"cubic-bezier(.45, 0, .35, 1)"},{offset:.52,transform:`translate(${-H*.3}px, 1.6px)`,easing:"cubic-bezier(.45, 0, .35, 1)"},{offset:.74,transform:`translate(${H*.1}px, -0.6px)`,easing:"cubic-bezier(.45, 0, .55, 1)"},{transform:"translate(0, 0)"}],{duration:1100,delay:380})},_s=pt(!1);yt(()=>{if(_s.current)return;let v=Pr.current;if(!v){Wo();return}let H=!1,ke=()=>v.querySelector(".hsk-cb-hello-wrap, .hsk-cb-msg-group"),Le=()=>{H||(H=!0,_s.current=!0,Ee.disconnect(),clearTimeout(Qe),Wo())},Ee=new MutationObserver(()=>{ke()&&Le()});Ee.observe(v,{childList:!0,subtree:!0});let Qe=window.setTimeout(Le,2e3);return ke()&&Le(),()=>{H=!0,Ee.disconnect(),clearTimeout(Qe)}},[]);let Fs=(v,H=!1)=>{As(!0),En.current&&clearTimeout(En.current),En.current=setTimeout(()=>As(!1),420),no(v),hh(),H&&ia();try{localStorage.setItem("akropolys_theme",v)}catch{}},{vars:ph}=ma(i),tn=Xt;ba(i);let Ds=pt(()=>{}),ur=pt(null),yr=async(v,H,ke,Le)=>{let Ee=(v??Ye).trim(),Qe=H??Ot;if(!Ee&&Qe.length===0||!ie||I)return;if(Jt("send"),ce){if(!Ee)return;let Je=Ii(Ee)||Ee.slice(0,40);try{k.setShopperName?.(Je)}catch{}z(Je),Pe("");return}if(fe){if(!Ee||re)return;Pe(""),Ir(Ee);return}if(he){Pe("");return}Ct(!1),qt(!1),Pe(""),Et([]);let Fe=(await Promise.all(Qe.map(async({thumb:Je,...zt})=>{let nn=zt.data||(Je?await ve.current.get(Je)?.catch(()=>""):"")||"";return Je&&URL.revokeObjectURL(Je),{...zt,data:nn}}))).filter(Je=>Je.data),Mt=Ee||(Fe.some(Je=>Je.type==="image")?"Analyze this image":"What is this?");await w(Mt,Ee,Fe.length>0?Fe:void 0,ke,Le)},[dh,Hs]=$e(!1),na=Nt(async v=>{let H=v&&v.role==="user"?v:[...M].reverse().find(ke=>ke.role==="user");if(H?.content){Hs(!0);try{await yr(H.content)}finally{Hs(!1)}}},[M,yr]),uh=Nt(v=>{v?.content&&(Pe(v.content),setTimeout(()=>{if(ur.current){ur.current.focus();let H=v.content.length;try{ur.current.setSelectionRange(H,H)}catch{}}},50))},[Pe,ur]),mh=Nt(async()=>{await na()},[na]),{keyInput:bh,setKeyInput:fh,keyPhase:kh,setKeyPhase:Bs,mintedKey:gh,setMintedKey:xh,mintedPub:Qm,setMintedPub:vh,copied:yh,keyCountdown:wh,minting:Ch,copyValue:Sh,handleUseExistingKey:Mh,handleCreateKey:Th}=Rc(D,mh),Rh=Nt(()=>{let v=k?.getKikuKey?.();v&&window.open(`https://mimi.akropolys.cloud/#k=${encodeURIComponent(v)}`,"_blank","noopener")},[k]),[zn,$s]=$e(null),Lh=Nt(async v=>{let H=(v.content||"").replace(/^(@kiku pin\s*)+/i,""),Le=`@kiku pin ${H.slice(0,50).replace(/\n+/g," ")}`;await w(H||"pin message",Le,void 0,"capture")},[w]),{handleKikuCapture:Eh,handleKikuCaptureAll:zh,handleKikuViewHistory:Nh,handleKikuDelete:Ih}=Lc({attachments:Ot,setAttachments:Et,setInput:Pe,send:w,t:Se}),{voiceMode:aa,voicePhase:qs,voiceConnecting:Ah,voiceError:ao,setVoiceError:Os,voiceMuted:Ph,setVoiceMuted:_h,voiceSecondsLeft:Fh,voiceBlocked:Dh,liveVoiceName:Hh,chooseVoice:Bh,canConverse:$h,startVoice:qh,stopVoice:Oh,voice:Wh,live:Ws,earlier:Uh,newVoiceChat:Gh,attachPhoto:Vh}=Kc({voiceLang:p,speechLang:pe,shopperLanguage:x,ttsVoice:u,messages:M,handleSendUtterance:v=>Ds.current(v),appendSpokenExchange:_}),oa=pt(null),[Ht,rn]=$e(!1),[Us,Gs]=$e(!1),[Vs,js]=$e(()=>!sh()),[oo,so]=$e(null),[Ys,io]=$e(!1),[Ks,jh]=$e(!1),Yh=Nt(()=>jh(!0),[]);yt(()=>{Ht?Hi():(Gs(!1),io(!1))},[Ht]);let Ar=pt(null);yt(()=>(!Ht&&Ar.current&&clearTimeout(Ar.current),()=>{Ar.current&&clearTimeout(Ar.current)}),[Ht]);let[Kh,co]=$e(null),sa=pt(null),lo=pt(null),Xs=pt([]),Nn=pt(null),Xh=`hsk-goo-${Bm()}`,{closing:In,requestClose:ho,closeNow:ia}=Yn(xr?Gm:Um,()=>rn(!1));yt(()=>{if(!Ht)return;let v=H=>{let ke=H.composedPath?H.composedPath():[],Le=sa.current&&(ke.includes(sa.current)||sa.current.contains(H.target)),Ee=lo.current&&(ke.includes(lo.current)||lo.current.contains(H.target)),Qe=ke.some(zt=>zt.classList?.contains("hsk-cb-layout-discovery-note")),Fe=H.target,Mt=Fe?.closest?.(".hsk-cb-topbar-mark"),Je=Fe?.closest?.(".hsk-cb-topbar-ooze-menu")||ke.some(zt=>zt?.classList?.contains?.("hsk-cb-topbar-ooze-menu"));Le||Ee||Mt||Je||Qe||ho()};return document.addEventListener("mousedown",v),document.addEventListener("touchstart",v,{passive:!0}),()=>{document.removeEventListener("mousedown",v),document.removeEventListener("touchstart",v)}},[Ht]);let{msgsContainerRef:Pr,spacerRef:Qh,lastExternalScrollRef:Jh,showJumpToBottom:Zh,scrollProgress:ep,activeMsgIdx:tp,unreadBelow:rp,jumpToMessage:np,revealMessage:Qs,jumpToBottom:ap}=Cc({messages:M,loading:R,streaming:S,messageRefs:Xs}),op=Nt((v,H,ke,Le)=>{Le&&Qs(Le),$s({msg:v,rect:H,isUser:ke,el:Le})},[Qs]),ca=fl(Pr),po=()=>{ca.toggle(),ta(),js(!1),so(null),io(!1),xr&&(Ar.current&&clearTimeout(Ar.current),window.matchMedia?.("(prefers-reduced-motion: reduce)").matches?ia():Ar.current=setTimeout(ho,400))},sp=()=>{co(Xt),io(!0),rn(!0)},{closing:uo,requestClose:Js}=Yn(Vm,o);yt(()=>{if(!ie||!le||!Ks||uo||Io())return;let v=window.setTimeout(()=>{Io()||(co(Xt),Gs(!0),rn(!0))},650);return()=>window.clearTimeout(v)},[ie,le,Ks,uo,Xt]);let mo=Nt(v=>{v&&B(),rn(!1),window.matchMedia?.("(prefers-reduced-motion: reduce)").matches?o():Js()},[Js,o,B]),la=Nt(()=>{N?j():F?L("close"):mo(!1)},[F,mo,N,j]);rc({panel:Nt(()=>oa.current,[]),scroller:Nt(()=>Pr.current,[]),onDismiss:o,quiescent:Nt(()=>performance.now()-Jh.current>90,[])}),yt(()=>{if(typeof window>"u")return;let v=window.innerWidth-document.documentElement.clientWidth,H=document.body.style.overflow,ke=document.body.style.paddingRight;if(v>0){let Le=parseFloat(window.getComputedStyle(document.body).paddingRight)||0;document.body.style.paddingRight=`${Le+v}px`,document.documentElement.style.setProperty("--hsk-scrollbar-width",`${v}px`)}return document.body.style.overflow="hidden",()=>{document.body.style.overflow=H,document.body.style.paddingRight=ke,document.documentElement.style.removeProperty("--hsk-scrollbar-width")}},[]),yt(()=>{let v=window.visualViewport;if(!v)return;let H=document.documentElement,ke=()=>{H.style.setProperty("--hsk-vvh",`${v.height}px`)};return ke(),v.addEventListener("resize",ke),v.addEventListener("scroll",ke),()=>{v.removeEventListener("resize",ke),v.removeEventListener("scroll",ke),H.style.removeProperty("--hsk-vvh")}},[]),yt(()=>{let v=H=>{if(H.key==="Escape"){if(Xe){dt(null);return}la()}};return document.addEventListener("keydown",v),()=>document.removeEventListener("keydown",v)},[Xe,la]);let bo=Nt(v=>{v&&B(),de(),so(null),Bs("idle")},[de,Bs,B]),ip=Nt(()=>{N?j():F?L("reset"):bo(!1)},[F,bo,N,j]),cp=v=>{s?.(v);let H=[...M].reverse().find(ke=>ke.role==="assistant");if(H&&H.content.trim().endsWith("?")){w(Se("cardClickAnswer",{name:v.name}));return}w(Se("cardClickQuery",{name:v.name,details:xo(Qt(v,m))}))},lp=v=>{Pe(v+" "),qt(!1),Ct(!0),ur.current&&ur.current.focus()},hp=v=>{if(v.key==="Escape"&&wt){v.preventDefault(),Ct(!1);return}if(v.key==="Escape"&&Lt){v.preventDefault(),qt(!1);return}v.key==="Enter"&&!v.shiftKey&&!v.nativeEvent.isComposing&&(v.preventDefault(),yr())},fo=pt(28),Zs=pt(280),ko=pt(null),pp=(v,H)=>{try{!ko.current&&typeof document<"u"&&(ko.current=document.createElement("canvas"));let ke=ko.current?.getContext("2d");return ke?(ke.font=H,ke.measureText(v).width):v.length*8.5}catch{return v.length*8.5}},dp=v=>{let H=v.closest(".hsk-cb-input-box");if(!H)return;let ke=v.value;!(H.dataset.expanded==="true")&&v.clientWidth>50&&(Zs.current=v.clientWidth);let Ee=window.getComputedStyle(v),Qe=Ee.font||`${Ee.fontSize||"16px"} ${Ee.fontFamily||"Geist, sans-serif"}`,Fe=pp(ke,Qe),Mt=Math.max(120,Zs.current-14),Je=ke.includes(`
|
|
40
|
-
`),zt=!!(ke&&(Je||Fe>Mt));if(H.dataset.expanded!==(zt?"true":"false")&&(H.dataset.expanded=zt?"true":"false"),!ke){fo.current=28,v.style.height="";return}if(!zt){fo.current=28,v.style.height="";return}v.style.height="auto";let nn=Math.max(28,Math.min(v.scrollHeight,140));fo.current=nn,v.style.height=`${nn}px`};yt(()=>{ur.current&&dp(ur.current)},[Ye]);let up=v=>{let H=v.target.value;Pe(H),ao&&Os("");let ke=H.trim();qt(ke==="@"),Ct(/^@kiku\s*$/i.test(ke))};yt(()=>{Ds.current=v=>{yr(v)}});let mp=async v=>{if(!v||v.length===0)return;let H=Array.from(v);for(let ke of H){if(!ke.type.startsWith("image/"))continue;let Le=URL.createObjectURL(ke),Ee=wa(ke);ve.current.set(Le,Ee),Et(Qe=>[...Qe,{type:"image",data:"",thumb:Le}]),Ee.then(Qe=>Et(Fe=>Fe.map(Mt=>Mt.thumb===Le?{...Mt,data:Qe}:Mt))).catch(()=>Et(Qe=>Qe.filter(Fe=>Fe.thumb!==Le))).finally(()=>ve.current.delete(Le))}},bp=v=>{Et(H=>{let ke=H[v]?.thumb;return ke&&URL.revokeObjectURL(ke),H.filter((Le,Ee)=>Ee!==v)})},fp=n&&(n.includes("rgba")||n.includes("hsla")||n==="transparent"),kp=a||fp?{backdropFilter:`blur(${typeof a=="number"?`${a}px`:a||"20px"})`,WebkitBackdropFilter:`blur(${typeof a=="number"?`${a}px`:a||"20px"})`}:{},ei=pt(!1);yt(()=>{if(ei.current&&!S){let v=M[M.length-1];v&&v.role!=="user"&&Jt("reply")}ei.current=S},[S,M]);let ha=(be||Z)&&!R&&!S,pa=M[M.length-1],da=Mc(pa?.role==="assistant"?pa.content??"":""),gp=pa?.role==="assistant"&&da.length<(pa.content?.length??0),go=S||gp,or=ra.useMemo(()=>{let v=R||S,H=M.filter((Ee,Qe)=>Ee.role!=="assistant"||Qe===M.length-1&&v?!0:!!Ee.content||!!Ee.visualization||Ee.visualizing||(Ee.knowledgeImages?.length??0)>0||(Ee.referencedIds?.length??0)>0||Kr(Ee.statusStage)),ke=H.length-1;if(ke<0||H[ke].role!=="assistant"||H[ke]!==M[M.length-1])return H;let Le=da.length<(H[ke].content?.length??0);return!v&&!Le?H:H.map((Ee,Qe)=>Qe===ke?{...Ee,content:da}:Ee)},[M,R,S,da]),ti=or.some(v=>v.role==="assistant"&&!Kr(v.statusStage)&&Yr(v.content).content.trim().length>0);yt(()=>{if(!(!Vs||R||go||y||ha||aa!=="off"))for(let v=or.length-1;v>=0;v--){let H=or[v];if(!(H.role!=="assistant"||Kr(H.statusStage)||!Yr(H.content).content.trim())){js(!1),so(v);break}}},[Vs,or,R,go,y,ha,aa]);let xp=ra.useMemo(()=>{let v=[];return or.forEach((H,ke)=>{if(H.role==="user"&&H.content.trim()){let Le=H.content.replace(/^@kiku\s*/i,"").replace(/\s+/g," ").trim();v.push({idx:ke,text:Le.length>28?Le.slice(0,27).trimEnd()+"\u2026":Le})}}),v},[or]),vp=ha&&or[or.length-1]?.role!=="assistant",ri=pt(Date.now());return yt(()=>{ri.current=Date.now()},[]),Ue(zo.Provider,{value:Se,children:Ue("div",{ref:Nn,className:oe("hsk-cb-overlay",f&&"hsk-cb-overlay--grows",uo&&"hsk-cb-overlay--closing",l.overlay),onPointerDown:v=>{wr(),v.target===v.currentTarget&&(Nn.current._ptrDown=!0)},onClick:v=>{v.target===v.currentTarget&&Nn.current?._ptrDown&&Date.now()-ri.current>200&&la(),Nn.current&&(Nn.current._ptrDown=!1)},"data-hsk-theme":tn,"data-hsk-layout":ca.wide?"wide":"bubbles","data-hsk-theming":lh?"":void 0,style:{...kp,...n?{background:n}:{},...f?{"--hsk-ox":`${f.x}px`,"--hsk-oy":`${f.y}px`}:{},...ph},children:Nr("div",{ref:oa,className:oe("hsk-cb-panel",l.panel),dir:q?"rtl":"ltr",lang:pe||void 0,"data-script":we?"nonlatin":"latin","data-host-font":Ie?"covers":"gap","data-nastaliq":Re?.family==="Noto Nastaliq Urdu"||x?.toLowerCase()==="urdu"||x?.toLowerCase()==="ur"||x==="\u0627\u0631\u062F\u0648"?"true":void 0,style:me?{"--hsk-font":me}:void 0,onClick:v=>{v.stopPropagation();let H=v.target;if(H.tagName==="IMG"&&(H.classList.contains("hsk-markdown-img")||H.classList.contains("hsk-cb-user-img-thumb"))){let ke=H.src;ke&&It(ke)}},children:[Ue(Zn,{src:Xe?.src,images:Xe?.images,initialIndex:Xe?.initialIndex,title:Xe?.title,onClose:()=>dt(null)}),Wt&&Ue("div",{className:"hsk-markup-overlay",children:Ue(ic,{src:Wt,t:Se,onCancel:()=>it(null),onSend:(v,H,ke,Le)=>{it(null),yr(H,[{type:"image",data:v,annotated:!0,marks:ke,instructed:!0,preview:Le}])}})}),Nr("div",{className:"hsk-cb-main",children:[Ue(Sa,{seed:k?.api?.siteId??"",theme:tn,dir:q?"rtl":"ltr",waitForContent:!0}),Ue(sl,{layoutControl:ti?Ue(ls,{wide:ca.wide,onToggle:po,emphasized:Ys}):void 0,title:e,logo:r,hasMessages:M.length>0,avatarState:S?"speaking":R?"thinking":"idle",unread:rp,awayFromBottom:Zh,themeMenuOpen:Ht,themeMenuClosing:In,themeDiscovery:Us,onThemeMenuReady:Yh,onThemeMenuClosed:ia,isNarrow:xr,currentTheme:Xt,onJumpToLatest:ap,onReset:ip,onClose:la,onToggleThemeMenu:()=>Ht?ho():rn(!0),onSelectTheme:v=>{Fs(v,!0)},themeAttr:tn}),Ue("div",{className:"hsk-cb-msgs",ref:Pr,children:or.length===0?Ue(ul,{theme:tn,inOnboarding:ze,justCompleted:ne,onboardingMood:ro,awaitingLang:fe,awaitingName:ce,awaitingEntityLang:ae,awaitingConsent:Te,termsAgreed:St,shopperLanguage:x,pendingLanguage:X,shopperName:C,entityLangPref:te,chromeReady:ie&&le,activeChips:to,speechLang:pe,t:Se,tNode:ue,chooseLanguage:Ir,langSwitching:re,isLangPreparing:J,chooseEntityLang:vr,agreeTerms:Za,handleSend:yr}):Ue(Ul,{afterReply:oo===null?void 0:{index:oo,node:Ue(Ls,{onOpenDock:sp})},doodleTheme:tn,displayMessages:or,messageRefs:Xs,isNarrow:xr,loading:R,streaming:go,sources:g,referencedIds:K,discussedSources:De,lastIntent:T,lastAction:D,stopped:be,interrupted:Z,halted:ha,haltedEmpty:vp,error:y,errorCode:A,keyPhase:kh,keyInput:bh,setKeyInput:fh,mintedKey:gh,setMintedKey:xh,setMintedPub:vh,minting:Ch,copied:yh,keyCountdown:wh,handleUseExistingKey:Mh,handleCreateKey:Th,copyValue:Sh,queuedMessage:I,sendQueuedNow:$,setLightboxSrc:It,setMarkupSrc:it,handleSend:yr,handleSourceClick:cp,onRetry:na,onEdit:uh,onLongPress:op,retrying:dh,continueGenerating:U,t:Se,spacerRef:Qh,vizState:mt,setVizState:qe,messages:M})}),!ft&&Ue("div",{className:oe("hsk-cb-composer-wrapper",Zr&&"hsk-composer-exit-up",_e&&"hsk-composer-reveal"),children:Ue(Yl,{notice:N&&Nr("div",{className:"hsk-cb-leave",role:"alertdialog",ref:P,children:[Ue("span",{children:Se("leaveHumanWarning")}),Ue("button",{type:"button",className:"hsk-cb-leave-btn",onClick:()=>L(null),children:Se("leaveHumanStay")}),Ue("button",{type:"button",className:"hsk-cb-leave-btn hsk-cb-leave-btn--end",onClick:()=>{let v=N;L(null),v==="reset"?bo(!0):mo(!0)},children:Se("leaveHumanConfirm")})]}),gooId:Xh,input:Ye,setInput:Pe,showKikuPicker:wt,setShowKikuPicker:Ct,showAtPicker:Lt,setShowAtPicker:qt,captureAllowed:Ge,discussedSources:De,handleSelectExtension:lp,handleKikuCapture:Eh,handleKikuCaptureAll:zh,handleKikuViewHistory:Nh,handleKikuDelete:Ih,attachments:Ot,removeAttachment:bp,chromeLoading:!ie,imageInputRef:Ke,handleImageFiles:mp,enableVision:d&&!ze,enableVoice:h&&!ze,canConverse:$h,startVoice:qh,inputLocked:he,voiceBlocked:Dh,textareaRef:ur,classNames:l,handleInput:up,handleKeyDown:hp,voice:Wh,voicePhase:qs,activePlaceholder:eo,loading:R,streaming:S,stop:Q,handleSend:yr,voiceError:ao,setVoiceError:Os,langSwitching:re||J,t:Se,onOpenMimi:k?.getKikuKey?.()?Rh:void 0})})]}),aa!=="converse"&&Ue(th,{items:xp,activeIdx:tp,progress:ep,onJump:np,side:q?"left":"right"}),Nr("div",{className:oe("hsk-cb-kiku-id-rail",q?"hsk-cb-kiku-id-rail--right":"hsk-cb-kiku-id-rail--left",Ht&&!In&&"is-theme-open"),children:[Ue("div",{className:"hsk-cb-dock-frost","aria-hidden":"true"}),Ue(Pa,{}),Nr("div",{className:oe("hsk-cb-theme-squircle-wrap",Ht&&!In&&"is-open"),ref:sa,children:[Ue("div",{className:"hsk-cb-theme-2x2-grid",role:"dialog","aria-label":"Theme selector",ref:v=>{v&&(v.inert=!Ht||In)},children:ln.map(({id:v,label:H,Icon:ke})=>Nr("button",{type:"button",className:oe("hsk-cb-theme-grid-item",(Kh??Xt)===v&&"is-active"),onClick:Le=>{Le.stopPropagation(),Fs(v,!0)},children:[Ue(ke,{}),Ue("span",{children:H})]},v))}),Nr("button",{type:"button",className:"hsk-cb-theme-squircle-trigger",onClick:()=>{if(Ht){ia();return}co(Xt),rn(!0)},"aria-label":"Themes","aria-expanded":Ht,children:[Ue("span",{className:"hsk-cb-theme-trigger-icon",children:ra.createElement(_o(Xt).Icon)}),Ue("span",{className:"hsk-cb-theme-trigger-label",children:_o(Xt).label})]})]}),!xr&&Ht&&Us&&Ue(Fa,{closing:In}),ti&&Nr("div",{className:"hsk-cb-layout-dock-anchor",children:[Ue(ls,{wide:ca.wide,onToggle:po,emphasized:Ys}),oo!==null&&Ue(Ls,{placement:"dock",onOpenDock:po})]})]}),aa==="converse"&&Ue(Jl,{siteId:k?.api?.siteId??"",themeAttr:tn,stopVoice:Oh,chooseVoice:Bh,liveVoiceName:Hh,voiceSecondsLeft:Fh,voiceConnecting:Ah,voicePhase:qs,live:Ws,earlier:Uh,newVoiceChat:Gh,voiceMuted:Ph,setVoiceMuted:_h,voiceError:ao,attachPhoto:Vh,onSelectSource:v=>{s?.(v),Ws.ask(Se("cardClickQuery",{name:v.name,details:xo(Qt(v,m))}))},t:Se}),zn&&Ue(ah,{msg:zn.msg,rect:zn.rect,anchorEl:zn.el,containerEl:oa.current,scrollEl:Pr.current,containerRect:oa.current?.getBoundingClientRect(),isUser:zn.isUser,isRTL:q,canRetry:!R&&!S,onPin:Lh,onRetry:na,onCopy:async v=>{if(!v)return!1;try{return await navigator.clipboard.writeText(v),!0}catch{}try{let H=document.createElement("textarea");H.value=v,H.setAttribute("readonly",""),H.style.cssText="position:fixed;top:0;left:0;opacity:0;pointer-events:none",document.body.appendChild(H),H.select(),H.setSelectionRange(0,v.length);let ke=document.execCommand("copy");return document.body.removeChild(H),ke}catch{return!1}},onClose:()=>$s(null),t:Se})]})})})}import{Fragment as ch,jsx as Ns,jsxs as Is}from"react/jsx-runtime";function Xm({label:e="Ask AI",children:r,icon:t,title:n,logo:a,placeholder:o,backdropColor:s,backdropBlur:c,className:i,onSelectSource:l,chips:h,theme:p,classNames:d={},enableVoice:u=!1,voiceLang:f,ttsVoice:k,enableVision:m=!1}){let M=Km(),[g,R]=Qa(!1),[S,y]=Qa(!1),[A,D]=Qa(null),[T,O]=Qa(0);ih(()=>{if(g){O(0);return}let Z=!0;return M?.api?.unreadFromTeam?.().then(U=>{Z&&O(U)}).catch(()=>{}),()=>{Z=!1}},[g,M]);let w=zs(()=>{yo();try{Ri(M,M?.getShopperLanguage?.()??"",_t),M?.api?.widgetSettings?.().then(Z=>{Z?.detectedLanguage&&Z.detectedLanguage.toLowerCase()!=="english"&&Lo(M,Z.detectedLanguage,_t)}).catch(()=>{})}catch{}},[M]),I=jm(null),$=zs(()=>{let Z=I.current?.getBoundingClientRect();D(Z?{x:Z.left+Z.width/2,y:Z.top+Z.height/2}:null),R(!0),w();try{wr()}catch{}},[w]);ih(()=>{if(y(!0),w(),typeof window<"u"&&!window.__akropolys_nav_patched){window.__akropolys_nav_patched=!0;let U=window.location.pathname,de=window.history.pushState,K=window.history.replaceState;window.history.pushState=function(...F){de.apply(this,F),window.location.pathname!==U&&(U=window.location.pathname,window.dispatchEvent(new CustomEvent("akropolys:navigation")))},window.history.replaceState=function(...F){K.apply(this,F),window.location.pathname!==U&&(U=window.location.pathname,window.dispatchEvent(new CustomEvent("akropolys:navigation")))}}let Z=()=>{R(!1)};return window.addEventListener("popstate",Z),window.addEventListener("akropolys:navigation",Z),()=>{window.removeEventListener("popstate",Z),window.removeEventListener("akropolys:navigation",Z)}},[w]);let _=zs(()=>{R(!1),requestAnimationFrame(()=>I.current?.focus())},[]),{themeAttr:Q,vars:be}=ma(p);return ba(p),Is(ch,{children:[Is("button",{ref:I,className:oe("hsk-cb-btn",d.button,i),onClick:$,onPointerEnter:w,onPointerDown:w,style:be,"data-hsk-theme":Q,"aria-label":"Open AI chat","aria-haspopup":"dialog","aria-expanded":g,children:[r!==void 0?r:Is(ch,{children:[t?Ns("span",{className:"hsk-cb-btn-icon",style:{display:"flex",alignItems:"center"},children:t}):null,e]}),T>0&&Ns("span",{className:"hsk-cb-btn-badge","aria-label":`${T} new replies`,children:T})]}),g&&S&&Ym(Ns(Es,{title:n,logo:a,placeholder:o,backdropColor:s,backdropBlur:c,origin:A,onClose:_,onSelectSource:l,chips:h??Pn,theme:p,classNames:d,enableVoice:u,voiceLang:f,enableVision:m,ttsVoice:k}),yo()??document.body)]})}export{Xm as KikuButton,Mp as SearchBar};
|
|
6
|
+
`).trim(),!n)for(let p of t){if(a.has(p.url))continue;let d=Ya(p.url,r);d&&a.set(p.url,{...d,...p})}return{content:h,links:n?[]:[...a.values()]}}import{Fragment as Ss,jsx as Ce,jsxs as je}from"react/jsx-runtime";var Wl=Lt.memo(({content:e,streaming:r,hosts:t})=>Ce(Ss,{children:Il(e,r,new Set(t.split(",")))}),(e,r)=>e.content===r.content&&e.streaming===r.streaming&&e.hosts===r.hosts);Wl.displayName="MarkdownBlock";function km(e){let r=new Set;for(let t of e)if(t)try{r.add(new URL(t,location.href).host)}catch{}return[...r].sort().join(",")}function gm(e,r){Lt.useLayoutEffect(()=>{let t=e.current;if(!t)return;let n=()=>{t.style.width="";let s=document.createRange();s.selectNodeContents(t);let c=Array.from(s.getClientRects()),i=t.getBoundingClientRect();if(!c.length||!t.offsetWidth||!i.width)return;let l=i.width/t.offsetWidth,h=getComputedStyle(t),p=parseFloat(h.paddingLeft)+parseFloat(h.paddingRight)+parseFloat(h.borderLeftWidth)+parseFloat(h.borderRightWidth),d=Math.max(...c.map(m=>m.right))-Math.min(...c.map(m=>m.left)),b=Math.ceil(d/l)+1;b+p<t.offsetWidth&&(t.style.width=`${h.boxSizing==="border-box"?b+p:b}px`)};n(),document.fonts?.ready.then(n).catch(()=>{});let a=t.closest(".hsk-cb-msg-group");if(!a||typeof ResizeObserver>"u")return;let o=new ResizeObserver(n);return o.observe(a),()=>o.disconnect()},[e,r])}function Ul({msg:e,idx:r,isLast:t,isLastUser:n,isRunEnd:a,runMid:o,runCont:s,isNarrow:c,loading:i,streaming:l,stopped:h,interrupted:p,sources:d,referencedIds:b,discussedSources:m,lastIntent:x,lastAction:u,vizState:A,setVizState:k,setLightboxSrc:C,setMarkupSrc:M,handleSend:g,handleSourceClick:P,onRetry:_,onEdit:T,onLongPress:W,hasError:R,retrying:N,t:H,messageRef:se,photosSending:I,workingOn:de,doodleTheme:ie}){let B=bm()?.api,le=B?.siteId??"",j=km([B?.apiUrl,...(t?d:e.sources??[]).flatMap(q=>[q.image,q.url])]),D=e.role==="user",U=D?e.content:gs(e.content),F=!D&&U!==e.content,[S,X]=Lt.useState(!1),E=Lt.useRef(null);gm(E,e.content);let w=Lt.useRef(null),z=Lt.useRef(null),y=Lt.useRef(!1),Q=Lt.useCallback(q=>{let ce=D?".hsk-cb-user-bubble":".hsk-cb-ai-body";return q.matches?.(ce)?q:q.querySelector(ce)||q},[D]),ee=Lt.useCallback(q=>{z.current&&clearTimeout(z.current),z.current=setTimeout(()=>{if(W){if(typeof navigator<"u"&&navigator.vibrate)try{navigator.vibrate(25)}catch{}let ce=Q(q),Se=ce.getBoundingClientRect();W(D?e:{...e,content:U},{top:Se.top,left:Se.left,width:Se.width,height:Se.height},D,ce),y.current=!0}z.current=null},420)},[e,U,D,W,Q]),O=Lt.useCallback(q=>{if(q.touches.length!==1)return;let ce=q.touches[0];w.current={x:ce.clientX,y:ce.clientY},y.current=!1,ee(q.currentTarget)},[ee]),J=Lt.useCallback(q=>{if(!w.current||!z.current)return;let ce=q.touches[0];Math.hypot(ce.clientX-w.current.x,ce.clientY-w.current.y)>8&&(clearTimeout(z.current),z.current=null)},[]),f=Lt.useCallback(q=>{z.current&&(clearTimeout(z.current),z.current=null),w.current=null,y.current&&q.cancelable&&q.preventDefault()},[]),L=Lt.useCallback(q=>{if(!W||(q.preventDefault(),y.current))return;let ce=Q(q.currentTarget),Se=ce.getBoundingClientRect();W(D?e:{...e,content:U},{top:Se.top,left:Se.left,width:Se.width,height:Se.height},D,ce)},[e,U,D,W,Q]);Lt.useEffect(()=>()=>{z.current&&clearTimeout(z.current)},[]);let K=Lt.useCallback(q=>{if(q)try{navigator.clipboard.writeText(q),X(!0),setTimeout(()=>X(!1),2e3)}catch{}},[]),G=Lt.useMemo(()=>Mn(U),[U]),Y=gs(e.thinking||G.thinking),te=/(?:^|\n+)(?:[>*_~`\s]*)(?:This is a calculation from live figures,?\s*not a guarantee\s*[—–-]\s*the market can move against it\.?)(?:[>*_~`\s]*)/gi,ge=te.test(G.content),ue=ge?G.content.replace(te,"").trimEnd():G.content,he=Lt.useMemo(()=>D?{content:ue,links:[]}:Xa(ue,typeof location>"u"?"https://akropolys.cloud":location.href,e.actionLinks,t&&l),[ue,D,e.actionLinks,t,l]);return Ce("div",{className:oe("hsk-cb-msg-group",o&&"hsk-cb-msg-group--run-mid",s&&"hsk-cb-msg-group--run-cont"),"data-hsk-role":D?"user":"assistant",ref:se,children:D?je("div",{className:`hsk-cb-user-msg${n?" hsk-sent":""}`,children:[e.images&&e.images.length>0&&Ce("div",{className:"hsk-cb-user-imgs","data-count":Math.min(e.images.length,4),children:e.images.slice(0,4).map((q,ce)=>je("button",{type:"button",className:"hsk-cb-user-img-cell",onClick:()=>C(q),children:[Ce("img",{src:q,alt:`attachment ${ce+1}`,className:"hsk-cb-user-img-thumb"}),Ce(pn,{active:I,seed:le,theme:ie}),ce===3&&e.images.length>4&&je("span",{className:"hsk-cb-user-img-more",children:["+",e.images.length-3]})]},ce))}),e.content&&je("div",{ref:E,className:oe("hsk-cb-user-bubble",a&&"hsk-cb-user-bubble--tail",e.spoken&&"hsk-cb-user-bubble--spoken",R&&"hsk-cb-user-bubble--error"),onTouchStart:O,onTouchMove:J,onTouchEnd:f,onTouchCancel:f,onContextMenu:L,dir:Wa(e.content.replace(/^@kiku\s*/i,"")),children:[e.spoken&&Ce(Bn,{className:"hsk-cb-spoken-mark",size:10}),/^@kiku\b/i.test(e.content)?je(Ss,{children:[Ce("span",{className:"hsk-kiku-badge",children:"@kiku"}),e.content.replace(/^@kiku\s*/i,"")]}):e.content]}),a&&je("div",{className:"hsk-cb-user-footer",children:[je("div",{className:"hsk-cb-msg-actions",children:[_&&(R||n)&&je("button",{type:"button",className:"hsk-cb-msg-action hsk-cb-msg-action--retry",onClick:()=>_(e),"aria-label":H("retry"),children:[Ce(Hn,{className:N?"hsk-retry-icon--spinning":"",size:11}),Ce("span",{className:"hsk-cb-msg-action-label",children:H("retry")})]}),T&&je("button",{type:"button",className:"hsk-cb-msg-action hsk-cb-msg-action--edit",onClick:()=>T(e),"aria-label":H("edit"),children:[Ce(wa,{size:11}),Ce("span",{className:"hsk-cb-msg-action-label",children:H("edit")})]}),je("button",{type:"button",className:oe("hsk-cb-msg-action hsk-cb-msg-action--copy",S&&"hsk-cb-msg-action--copied"),onClick:()=>K(e.content),"aria-label":H(S?"copied":"copy"),children:[S?Ce(Br,{size:11}):Ce(Hr,{size:11}),Ce("span",{className:"hsk-cb-msg-action-label",children:H(S?"copied":"copy")})]})]}),n&&!R&&Ce("span",{className:"hsk-cb-sent-status",children:H(h||p?"statusStopped":"statusSent")}),R&&je("span",{className:"hsk-cb-failed-notice",children:[Ce("span",{className:"hsk-cb-failed-dot"}),H("msgFailed")]})]})]}):Ce("div",{className:oe("hsk-cb-ai-msg",c&&"hsk-cb-ai-msg--inline"),children:je("div",{className:"hsk-cb-ai-body",onTouchStart:O,onTouchMove:J,onTouchEnd:f,onTouchCancel:f,onContextMenu:L,children:[(()=>{let q=e.thoughtForSeconds!=null||ue.length>0||!(t&&(l||i));return je(Ss,{children:[!e.spoken&&(Y||e.thoughtForSeconds!=null||e.repliedSeconds!=null||Tn(e.statusStage)||t&&(l||i))&&Ce(Ml,{text:Y,isComplete:q,seconds:e.thoughtForSeconds,stage:e.statusStage,repliedSeconds:e.repliedSeconds}),e.spoken&&typeof e.thoughtForSeconds=="number"&&e.thoughtForSeconds>0&&Ce("div",{className:"hsk-cb-think",children:je("span",{className:"hsk-cb-think-head hsk-cb-think-head--static",children:[Ce(Bn,{size:11}),je("span",{children:["spoken \xB7 ",e.thoughtForSeconds.toFixed(1),"s"]})]})}),!ue&&F&&!(t&&(l||i))&&Ce("p",{className:"hsk-cb-ai-content",children:H("errStreamInterrupted")}),he.content&&Ce("div",{className:"hsk-cb-ai-content",children:Ce(Wl,{content:he.content,streaming:t&&l,hosts:j})}),Ce(Ka,{links:he.links,t:H,onOpen:ce=>{B?.siteId&&fm(B.siteId,ce.returnToken)}}),ge&&Ce("div",{className:"hsk-cb-calc-disclaimer",children:H("calcDisclaimer")})]})})(),e.visualizing&&Ce("div",{className:"hsk-cb-viz",children:je("div",{className:oe("hsk-cb-viz--working",!de&&"is-blank",e.visualizationType==="video"&&"is-video"),role:"status","aria-label":e.visualizingText||H("vizWorking"),children:[de&&Ce("img",{src:de,alt:""}),Ce(pn,{active:!0,seed:le,theme:ie})]})}),e.visualization&&je("div",{className:"hsk-cb-viz",children:[je("div",{className:"hsk-cb-viz-imgwrap",children:[e.visualizationType==="video"||e.visualization.includes("/videos/")?Ce("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%"}}):Ce("img",{src:e.visualization,alt:"Product visualized in your photo",className:"hsk-markdown-img",style:A[e.visualization]==="err"?{display:"none"}:void 0,onLoad:()=>k(q=>({...q,[e.visualization]:"ok"})),onError:()=>k(q=>({...q,[e.visualization]:"err"}))}),A[e.visualization]==="err"&&Ce("div",{className:"hsk-cb-viz-broken",children:H("vizUnavailable")}),t&&!l&&A[e.visualization]==="ok"&&e.visualizationType!=="video"&&!e.visualization.includes("/videos/")&&je("button",{className:"hsk-cb-viz-mark",onClick:()=>M(e.visualization),children:[je("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[Ce("path",{d:"M12 20h9"}),Ce("path",{d:"M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4Z"})]}),H("vizMarkEdit")]})]}),Ce("div",{className:"hsk-cb-viz-disclaimer",children:e.visualizationType==="video"||e.visualization.includes("/videos/")?H("vizDisclaimerVideo"):H("vizDisclaimerImage")})]}),!D&&(e.knowledgeImages?.length??0)>0&&Ce("div",{className:"hsk-cb-kimgs",children:e.knowledgeImages.map(q=>je("div",{className:"hsk-cb-kimg-group",children:[Ce("div",{className:"hsk-cb-kimg-grid",children:q.images.map((ce,Se)=>Ce("img",{src:ce.url,alt:ce.note||q.title||"Reference image",className:"hsk-cb-kimg",loading:"lazy",onClick:()=>C(ce.url),onError:me=>{me.target.style.display="none"}},Se))}),(q.title||q.images[0]?.note)&&Ce("div",{className:"hsk-cb-kimg-caption",children:q.title||q.images[0]?.note})]},q.entryId))}),!D&&Ce(_l,{keys:e.liveKeys}),!D&&(e.staleNotices?.length??0)>0&&je("div",{className:"hsk-cb-stale",role:"status",children:[Ce("div",{className:"hsk-cb-stale-title",children:H("staleTitle")}),e.staleNotices.map((q,ce)=>je("div",{className:"hsk-cb-stale-item",children:[q.state==="removed"?H("staleRemoved",{title:q.title}):H("staleUnavailable",{title:q.title}),q.reason&&je("span",{className:"hsk-cb-stale-reason",children:[" ",q.reason]})]},ce))]}),(()=>{let q=t&&(i||l),ce=q?b:e.referencedIds??[],Se=q?d:e.sources??[],me=t?x:e.intent,ve=me==="compare"||me==="capture"||me==="capture_all"||me==="delete"||me==="view_history";return ce.length>0&&!ve&&(!t||u?.type!=="request_kiku_key")&&Ce(Va,{sources:Se,onSelectSource:P,onImageClick:C,referencedIds:ce,compact:!!e.visualization,targetLabel:H("swatchTarget")})})(),t&&!i&&!l&&u?.type==="open_memory"&&Qn(u.url)&&je("a",{className:"hsk-cb-memory-pill",href:Qn(u.url),target:"_blank",rel:"noopener noreferrer",children:[H("openMemory"),Ce(Vi,{})]}),t&&!i&&Qn(u?.url)&&u?.type!=="open_memory"&&Ce("div",{className:"hsk-action-pills",children:je("a",{className:"hsk-action-pill",href:Qn(u?.url),children:[String(u?.type||"continue").replace(/_/g," ")," \u2192"]})}),t&&!i&&Ce($l,{intent:x,sources:m,onSend:g,loading:i}),!D&&a&&!l&&ue&&Ce("div",{className:"hsk-cb-ai-footer",children:je("div",{className:"hsk-cb-msg-actions",children:[je("button",{type:"button",className:oe("hsk-cb-msg-action hsk-cb-msg-action--copy",S&&"hsk-cb-msg-action--copied"),onClick:()=>K(ue),"aria-label":H(S?"copied":"copy"),children:[S?Ce(Br,{size:11}):Ce(Hr,{size:11}),Ce("span",{className:"hsk-cb-msg-action-label",children:H(S?"copied":"copy")})]}),t&&(R||ue.includes("We're experiencing high demand right now"))&&_&&je("button",{type:"button",className:"hsk-cb-msg-action hsk-cb-msg-action--retry",onClick:()=>_(e),"aria-label":H("retry"),children:[Ce(Hn,{className:N?"hsk-retry-icon--spinning":"",size:11}),Ce("span",{className:"hsk-cb-msg-action-label",children:H("retry")})]})]})})]})})})}import{jsx as Et,jsxs as vr}from"react/jsx-runtime";function Vl({keyInput:e,setKeyInput:r,minting:t,handleUseExistingKey:n,handleCreateKey:a,t:o}){return vr("div",{className:"hsk-cb-ai-msg",children:[Et("div",{className:"hsk-cb-ai-icon",style:{display:"flex",alignItems:"center"},children:Et(fr,{})}),Et("div",{className:"hsk-cb-ai-body",children:Et("div",{className:"hsk-cb-ai-text",children:vr("div",{className:"hsk-cb-phone-form",children:[Et("label",{className:"hsk-cb-phone-label",children:o("keyPastePrompt")}),Et("input",{type:"text",className:"hsk-cb-phone-input",placeholder:o("keyPastePlaceholder"),value:e,onChange:s=>r(s.target.value),onKeyDown:s=>s.key==="Enter"&&n(),autoFocus:!0}),vr("div",{style:{display:"flex",gap:8},children:[Et("button",{className:"hsk-cb-phone-submit",onClick:n,disabled:!e.trim(),children:o("keyUseMine")}),Et("button",{className:"hsk-cb-phone-submit",onClick:a,disabled:t,children:o(t?"keyCreating":"keyCreateNew")})]})]})})})]})}function Gl({mintedKey:e,copied:r,keyCountdown:t,onDismiss:n,copyValue:a,t:o}){return vr("div",{className:"hsk-cb-ai-msg",children:[Et("div",{className:"hsk-cb-ai-icon",style:{display:"flex",alignItems:"center"},children:Et(fr,{})}),Et("div",{className:"hsk-cb-ai-body",children:vr("div",{className:"hsk-cb-secret-card",children:[vr("div",{className:"hsk-cb-secret-head",children:[Et("span",{className:"hsk-cb-secret-title",children:o("keySecretTitle")}),vr("span",{className:"hsk-cb-secret-timer",children:[t,"s"]}),Et("button",{type:"button",className:"hsk-cb-secret-dismiss",onClick:n,"aria-label":o("keyDismiss"),children:"\xD7"})]}),vr("button",{type:"button",className:"hsk-cb-secret-key",onClick:()=>a(e,"secret"),children:[Et("code",{children:e}),vr("span",{className:"hsk-cb-secret-copy",children:[r==="secret"?Et(Br,{}):Et(Hr,{}),o(r==="secret"?"keyCopied":"keyCopySecret")]})]}),Et("span",{className:"hsk-cb-secret-hint",children:o("keySecretHint")})]})})]})}import{Fragment as ym,jsx as Ot,jsxs as Yr}from"react/jsx-runtime";function vm(e,r){for(let t=r-1;t>=0;t--){let n=e[t];if(n.visualization&&n.visualizationType!=="video")return n.visualization;if(n.images?.length)return n.images[n.images.length-1]}}function jl({displayMessages:e,messageRefs:r,isNarrow:t,loading:n,streaming:a,sources:o,referencedIds:s,discussedSources:c,lastIntent:i,lastAction:l,stopped:h,interrupted:p,halted:d,haltedEmpty:b,error:m,errorCode:x,keyPhase:u,keyInput:A,setKeyInput:k,mintedKey:C,setMintedKey:M,setMintedPub:g,minting:P,copied:_,keyCountdown:T,handleUseExistingKey:W,handleCreateKey:R,copyValue:N,queuedMessage:H,sendQueuedNow:se,setLightboxSrc:I,setMarkupSrc:de,handleSend:ie,handleSourceClick:B,onRetry:le,onEdit:j,onLongPress:D,retrying:U,continueGenerating:F,t:S,spacerRef:X,vizState:E,setVizState:w,messages:z,doodleTheme:y,afterReply:Q}){return Yr(ym,{children:[(()=>{let ee=-1;for(let O=e.length-1;O>=0;O--)if(e[O]?.role==="user"){ee=O;break}return e.map((O,J)=>{let f=J===e.length-1,L=O.role==="user",K=L&&J===ee,G=e[J+1]?.role!==O.role,Y=!G,te=e[J-1]?.role===O.role,ge=O.id||`${O.role}-${J}`,ue=e[J+1]?.content??"",he=K&&(n||a)&&!Mn(ue).content.trim(),q=O.visualizing?vm(e,J):void 0,ce=K&&!!m||!L&&f&&!!m||!L&&!!O.content?.includes("We're experiencing high demand right now");return Yr(xm.Fragment,{children:[Ot(Ul,{msg:O,idx:J,isLast:f,isLastUser:K,isRunEnd:G,runMid:Y,runCont:te,isNarrow:t,loading:n,streaming:a,stopped:h,interrupted:p,sources:o,referencedIds:s,discussedSources:c,lastIntent:i,lastAction:l,vizState:E,setVizState:w,setLightboxSrc:I,setMarkupSrc:de,handleSend:ie,handleSourceClick:B,onRetry:le,onEdit:j,onLongPress:D,hasError:ce,retrying:U,t:S,messageRef:Se=>{r.current[J]=Se},photosSending:he,workingOn:q,doodleTheme:y}),J===Q?.index&&Q.node]},ge)})})(),d&&z.length>0&&Yr("div",{className:oe("hsk-cb-stopped",b&&"hsk-cb-stopped--empty"),children:[b&&Yr("span",{className:"hsk-cb-stopped-dots","aria-hidden":"true",children:[Ot("i",{}),Ot("i",{}),Ot("i",{})]}),Ot("span",{className:"hsk-cb-stopped-label",children:S(h?"stoppedByYou":"stoppedInterrupted")}),Yr("button",{className:"hsk-cb-continue",onClick:F,children:[Ot(Gi,{}),S(z[z.length-1]?.role==="assistant"?"continueGenerating":"generateResponse")]})]}),m&&Ot("div",{className:"hsk-cb-error",children:Hi({code:x??void 0,message:m},S)}),u==="prompt_key"&&Ot(Vl,{keyInput:A,setKeyInput:k,minting:P,handleUseExistingKey:W,handleCreateKey:R,t:S}),C&&Ot(Gl,{mintedKey:C,copied:_,keyCountdown:T,onDismiss:()=>{M(null),g(null)},copyValue:N,t:S}),H&&Ot("div",{className:oe("hsk-cb-msg-group",e[e.length-1]?.role==="user"&&"hsk-cb-msg-group--run-cont"),children:Yr("div",{className:"hsk-cb-user-msg",children:[Ot("div",{className:"hsk-cb-user-bubble hsk-cb-user-bubble--tail hsk-cb-user-bubble--queued",children:H.content}),Yr("button",{type:"button",className:"hsk-cb-queued-status",onClick:se,children:[Ot("span",{className:"hsk-cb-queued-dot"}),S("queuedWaiting"),Ot("span",{className:"hsk-cb-queued-now",children:S("queuedSendNow")})]})]})}),Ot("div",{ref:X,className:"hsk-cb-msgs-spacer"})]})}import Jn,{useState as Xl,useRef as Ts,useEffect as Rs}from"react";import{useAkropolysContext as Sm,useCardFields as Mm}from"@akropolys/sdk";import{jsx as Kl}from"react/jsx-runtime";var Qa=16,wm=110,Cm=/[-ۿ܀-ݏ߀-߿ࡠ-ࣿﭐ-﷿ﹰ-]/;function Ms(e){if(!e)return[];if(Cm.test(e))return e.split(/(\s+)/).filter(Boolean);let r=typeof Intl<"u"?Intl:void 0;if(r?.Segmenter){let t=new r.Segmenter(void 0,{granularity:"grapheme"});return Array.from(t.segment(e),n=>n.segment)}return e.split(/(\s+)/).filter(Boolean)}function Yl({text:e,placeholder:r,visible:t=!0,replay:n=0,replaySeed:a,staggerMs:o=Qa}){if(!t)return null;let s=e||r||"";if(!s)return null;let c=a!==void 0?a:n,i=s.length>26,l=i?s.match(/\S+\s*/g)??[s]:Ms(s),h=Math.max(l.length-1,1),p=s.length>44?"3":i?"2":"1";return Kl("div",{className:"hsk-animated-placeholder","data-fit":p,dir:"auto","aria-hidden":"true",children:l.map((d,b)=>Kl("span",{className:"hsk-animated-placeholder__char",style:{animationDelay:`${wm+b*o}ms`,"--hsk-ph-hue":`${Math.round(b/h*300)}`},children:d},`${s}|${c}|${b}`))})}import{Fragment as Ls,jsx as xe,jsxs as it}from"react/jsx-runtime";function Ql({gooId:e,input:r,setInput:t,showKikuPicker:n,setShowKikuPicker:a,showAtPicker:o,setShowAtPicker:s,captureAllowed:c,discussedSources:i,handleSelectExtension:l,handleKikuCapture:h,handleKikuCaptureAll:p,handleKikuViewHistory:d,handleKikuDelete:b,attachments:m,removeAttachment:x,chromeLoading:u,inputLocked:A,langSwitching:k=!1,imageInputRef:C,handleImageFiles:M,enableVision:g,enableVoice:P,canConverse:_,startVoice:T,voiceBlocked:W,textareaRef:R,classNames:N={},handleInput:H,handleKeyDown:se,voice:I,voicePhase:de,activePlaceholder:ie,loading:B,streaming:le,stop:j,handleSend:D,voiceError:U,setVoiceError:F,t:S,rail:X,notice:E,onOpenMimi:w}){let z=Sm(),y=Mm(),[Q,ee]=Jn.useState(0),[O,J]=Jn.useState(!1);Jn.useEffect(()=>{if(!U)return;let me=setTimeout(()=>{F?.("")},6e3);return()=>clearTimeout(me)},[U,F]);let f=Jn.useRef(null);Jn.useEffect(()=>{if(!O)return;let me=_e=>{_e.key==="Escape"&&J(!1)},ve=_e=>{let qe=_e.composedPath?_e.composedPath():[],Fe=_e.target?.closest?.(".hsk-cb-tools-toggle")||qe.some(Ke=>Ke?.classList?.contains?.("hsk-cb-tools-toggle")),Oe=f.current&&(qe.includes(f.current)||f.current.contains(_e.target));Fe||Oe||J(!1)};return window.addEventListener("keydown",me),document.addEventListener("mousedown",ve),document.addEventListener("touchstart",ve,{passive:!0}),()=>{window.removeEventListener("keydown",me),document.removeEventListener("mousedown",ve),document.removeEventListener("touchstart",ve)}},[O]);let L=ie||"Ask me anything\u2026",K=Ts(null),[G,Y]=Xl(()=>L.length>26);Rs(()=>{let me=K.current;if(!me||r)return;let ve=()=>{let qe=me.querySelectorAll(".hsk-animated-placeholder__char");if(qe.length<2)return Y(!1);let Z=qe[0].offsetTop,Fe=qe[qe.length-1].offsetTop;Y(Fe-Z>qe[0].offsetHeight/2)};ve();let _e=new ResizeObserver(ve);return _e.observe(me),()=>_e.disconnect()},[L,r]);let te=Math.max(Ms(L).length-1,0)*Qa,[ge,ue]=Xl(!1),he=Ts(null),q=()=>{he.current&&clearTimeout(he.current),ue(!0),he.current=setTimeout(()=>{ue(!1),he.current=null},550)};Rs(()=>()=>{he.current&&clearTimeout(he.current)},[]);let ce=Ts(null),Se=!!E;return Rs(()=>{ce.current?.toggleAttribute("inert",Se)},[Se]),it("div",{className:"hsk-cb-input-wrap","data-tools-open":O?"true":void 0,children:[O&&it(Ls,{children:[xe("div",{className:"hsk-cb-toolsheet-scrim",onClick:()=>J(!1),"aria-hidden":"true"}),xe("div",{className:"hsk-cb-toolsheet-wrap",ref:f,children:it("div",{className:"hsk-cb-toolsheet",role:"menu",children:[g&&it("button",{className:"hsk-cb-toolsheet-item",role:"menuitem",onClick:()=>{J(!1),C.current?.click()},disabled:B,children:[xe(Do,{}),xe("span",{children:S("attachImage")})]}),P&&_&&it("button",{className:"hsk-cb-toolsheet-item",role:"menuitem",onClick:()=>{J(!1),W?F?.(S("errAccountRequired")):T("converse")},disabled:B||u,children:[xe(Ho,{}),xe("span",{children:S("voiceModeStart")})]}),w&&it("button",{className:"hsk-cb-toolsheet-item",role:"menuitem",onClick:()=>{J(!1),w()},children:[xe(Yi,{}),xe("span",{children:"MiMi"})]})]})})]}),E,it("div",{className:"hsk-cb-input-card",ref:ce,children:[(/^@kiku\b/i.test(r)||n||o)&&it("div",{className:"hsk-cb-docked-header",children:[xe("span",{className:"hsk-cb-docked-sub",children:S("captureAndRemember")}),xe("button",{type:"button",className:"hsk-cb-docked-close",onClick:()=>{t(me=>me.replace(/^@kiku\s*/i,"")),a(!1),s(!1)},"aria-label":"Close mode",children:"\xD7"})]}),(n||o)&&it("div",{className:"hsk-cb-docked-options",onMouseDown:me=>me.preventDefault(),children:[o&&c&&it("button",{type:"button",className:"hsk-cb-docked-option",onClick:()=>l("@kiku"),children:[xe("span",{className:"hsk-cb-docked-option-icon",children:xe(fr,{})}),xe("span",{className:"hsk-cb-docked-option-title",children:"kiku"}),xe("span",{className:"hsk-cb-docked-option-desc",children:"capture & remember"})]}),n&&c&&it(Ls,{children:[i.map((me,ve)=>it("button",{type:"button",className:"hsk-cb-docked-option",onClick:()=>{h(me),a(!1)},children:[xe("span",{className:"hsk-cb-docked-option-icon",children:me.image?xe("img",{src:me.image,alt:""}):xe(va,{})}),xe("span",{className:"hsk-cb-docked-option-title",children:me.name}),er(me,y)[0]&&xe("span",{className:"hsk-cb-docked-option-detail",children:er(me,y)[0].value})]},me.id??ve)),i.length>1&&it("button",{type:"button",className:"hsk-cb-docked-option",onClick:()=>{p(i),a(!1)},children:[xe("span",{className:"hsk-cb-docked-option-icon",children:xe(va,{})}),xe("span",{className:"hsk-cb-docked-option-title",children:S("captureAll",{count:String(i.length)})})]}),i.length===0&&it("button",{type:"button",className:"hsk-cb-docked-option",onClick:()=>{h({name:"current page",id:void 0}),a(!1)},children:[xe("span",{className:"hsk-cb-docked-option-icon",children:xe(va,{})}),xe("span",{className:"hsk-cb-docked-option-title",children:S("captureCurrentPage")})]}),it("button",{type:"button",className:"hsk-cb-docked-option",onClick:()=>{d(),a(!1)},children:[xe("span",{className:"hsk-cb-docked-option-icon",children:xe(ji,{})}),xe("span",{className:"hsk-cb-docked-option-title",children:S("whatHaveYouSaved")})]}),it("button",{type:"button",className:"hsk-cb-docked-option",onClick:()=>{b(),a(!1)},children:[xe("span",{className:"hsk-cb-docked-option-icon",children:xe(ya,{})}),xe("span",{className:"hsk-cb-docked-option-title",children:S("deleteThis")})]})]})]}),m.length>0&&xe("div",{className:"hsk-cb-img-strip",children:m.map((me,ve)=>it("div",{className:"hsk-cb-img-thumb-wrap",children:[xe("img",{src:me.thumb||me.data,alt:`attachment ${ve+1}`,className:"hsk-cb-img-thumb"}),xe("button",{type:"button",className:"hsk-cb-img-thumb-remove",onClick:()=>x(ve),"aria-label":"Remove image",children:xe(oc,{size:10})})]},ve))}),it("div",{className:oe("hsk-cb-input-box",u&&"hsk-cb-input-box--waiting"),"data-cascade":Q%2?"b":"a","data-tools":O?"open":"closed",style:{"--hsk-text-sweep":`${te}ms`},children:[xe("input",{ref:C,type:"file",accept:"image/*",className:"hsk-sr-only",onChange:me=>{M(me.target.files),me.target.value=""}}),(w||g||P&&_)&&xe("button",{className:oe("hsk-cb-tools-toggle",O&&"hsk-cb-tools-toggle--open"),onClick:()=>J(me=>!me),disabled:B||u,"aria-label":O?"Close options":"More options","aria-expanded":O,children:xe(Ki,{})}),xe(Ls,{children:g&&xe("button",{className:"hsk-cb-attach-btn",onClick:()=>C.current?.click(),disabled:B,"aria-label":"Attach image",children:xe(Do,{})})}),it("div",{className:"hsk-cb-field",ref:K,"data-ph-lines":!r&&G?"2":void 0,children:[xe("textarea",{ref:R,value:r,onChange:H,onKeyDown:se,rows:1,placeholder:"",className:oe("hsk-cb-textarea",N.input),"aria-label":ie,disabled:A||B&&!le||k}),xe(Yl,{placeholder:ie,visible:!r,staggerMs:Qa,replaySeed:Q})]}),P&&_&&xe("button",{className:oe("hsk-cb-voice-mode-btn",W&&"hsk-cb-voice-mode-btn--blocked"),onClick:()=>W?F?.(S("errAccountRequired")):T("converse"),disabled:B||u,"aria-label":"Voice conversation",children:xe(Ho,{})}),(B||le)&&!ge?xe("button",{className:oe("hsk-cb-send","hsk-cb-send--stop",N.sendButton),onClick:j,"aria-label":"Stop generating",children:xe(Ui,{})}):it("button",{className:oe("hsk-cb-send",ge&&"is-launching",N.sendButton),onClick:()=>{q(),D()},disabled:k||A||u||!r.trim()&&m.length===0,"aria-label":"Send message",children:[xe("svg",{width:"0",height:"0","aria-hidden":"true",focusable:"false",style:{position:"absolute"},children:xe("defs",{children:it("filter",{id:e,children:[xe("feGaussianBlur",{in:"SourceGraphic",stdDeviation:"1.6",result:"blur"}),xe("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"}),xe("feBlend",{in:"SourceGraphic",in2:"goo"})]})})}),xe("span",{className:"hsk-cb-send-sheath","aria-hidden":"true"}),it("span",{className:"hsk-cb-send-stage",style:{filter:`url(#${e})`},children:[xe("span",{className:"hsk-cb-send-seam","aria-hidden":"true"}),xe("span",{className:"hsk-cb-send-kite",children:xe(Ji,{})})]})]})]})]}),W?it("div",{className:"hsk-cb-voice-error",role:"status",onClick:()=>F?.(""),children:[xe("span",{children:S("errAccountRequired")}),xe("button",{type:"button",className:"hsk-cb-voice-error-dismiss",onClick:me=>{me.stopPropagation(),F?.("")},"aria-label":"Dismiss error",children:"\xD7"})]}):U&&it("div",{className:"hsk-cb-voice-error",role:"status",onClick:()=>F?.(""),children:[xe("span",{children:S(U)}),xe("button",{type:"button",className:"hsk-cb-voice-error-dismiss",onClick:me=>{me.stopPropagation(),F?.("")},"aria-label":"Dismiss error",children:"\xD7"})]})]})}import Nm,{useEffect as Es,useRef as Xr,useState as zs}from"react";import{useEffect as Zn,useRef as ea}from"react";import{jsx as Lm}from"react/jsx-runtime";function Jl(e,r){let t=e.trim().match(/^#([\da-f]{3}|[\da-f]{6})$/i);if(t){let a=t[1].length===3?t[1].split("").map(o=>o+o).join(""):t[1];return[parseInt(a.slice(0,2),16),parseInt(a.slice(2,4),16),parseInt(a.slice(4,6),16)]}let n=e.match(/-?[\d.]+/g);return!n||n.length<3?r:[Number(n[0]),Number(n[1]),Number(n[2])]}function Tm(e,r,t){return[e[0]+(r[0]-e[0])*t,e[1]+(r[1]-e[1])*t,e[2]+(r[2]-e[2])*t]}function Ln(e,r){return`rgba(${e[0]|0}, ${e[1]|0}, ${e[2]|0}, ${r})`}var yr=24,Rm=.42;function Zl({phase:e,theme:r,level:t,spectrum:n,bins:a,className:o}){let s=ea(null),c=ea(e),i=ea(t),l=ea(n),h=ea(a);return Zn(()=>{c.current=e},[e]),Zn(()=>{i.current=t},[t]),Zn(()=>{l.current=n},[n]),Zn(()=>{h.current=a},[a]),Zn(()=>{let p=s.current;if(!p)return;let d=p.getContext("2d");if(!d)return;let b=getComputedStyle(p),m=Jl(b.getPropertyValue("--hsk-primary")||"",[255,106,51]),x=Jl(b.getPropertyValue("--hsk-chat-text")||"",[31,31,31]),u=0,A=0,k=0,C=()=>{let j=Math.min(window.devicePixelRatio||1,3),D=p.getBoundingClientRect();A=Math.max(1,D.width),k=Math.max(1,D.height),p.width=Math.round(A*j),p.height=Math.round(k*j),d.setTransform(j,0,0,j,0,0)};C();let M=typeof ResizeObserver<"u"?new ResizeObserver(C):null;M?.observe(p),window.addEventListener("resize",C);let g=window.matchMedia?.("(prefers-reduced-motion: reduce)")?.matches??!1,P=new Float32Array(yr),_=[],T=null,W=-1,R=null,N=0,H=0,se=performance.now(),I=(j,D,U,F)=>j+(D-j)*(D>j?U:F),de=()=>{let j=l.current,D=h.current?.()??0;if(!j||!D||((!R||R.length!==D)&&(R=new Uint8Array(D)),!j(R)))return!1;let F=Math.max(yr,Math.floor(D*Rm))/yr;for(let S=0;S<yr;S++){let X=Math.floor(S*F),E=Math.max(X+1,Math.floor((S+1)*F)),w=0;for(let y=X;y<E;y++)w+=R[y];let z=w/(E-X)/255;P[S]=I(P[S],z,g?.2:.55,g?.06:.14)}return!0},ie=(j,D)=>{for(let U=0;U<yr;U++){let F=U/(yr-1),S=Math.pow(1-F,1.6)*(.75+.25*Math.sin(j*3.1+U*.7));P[U]=I(P[U],S*D,.3,.12)}},B=j=>{let D=Math.min(yr-1,Math.max(0,j*(yr-1))),U=Math.floor(D),F=D-U,S=P[U],X=P[Math.min(yr-1,U+1)];return S+(X-S)*F*F*(3-2*F)},le=j=>{u=requestAnimationFrame(le);let D=(j-se)/1e3,U=c.current,F=Math.min(1,i.current());N=I(N,Math.max(U==="speaking"?.42:U==="listening"?.3:U==="thinking"?.28:.12,F),g?.1:.5,g?.05:.11),de()||ie(D,Math.max(.25,N)),d.clearRect(0,0,A,k);let X=k/2;H=U==="thinking"?(H+.012)%1.6:0;let E=3;if(W!==A){_=[];for(let y=0;y<E;y++){let Q=y/(E-1||1),ee=Tm(m,x,Q*.5),O=d.createLinearGradient(0,0,A,0);O.addColorStop(0,Ln(ee,0)),O.addColorStop(.5,Ln(ee,.9-Q*.35)),O.addColorStop(1,Ln(ee,0)),_.push(O)}T=d.createLinearGradient(0,0,A,0),T.addColorStop(0,Ln(m,0)),T.addColorStop(.5,Ln(m,.14)),T.addColorStop(1,Ln(m,0)),W=A}let w=k*.32,z=Math.max(4,A/130);for(let y=0;y<E;y++){let Q=y/(E-1||1),ee=y*.055,O=1-Q*.22;d.beginPath();let J=0,f=X;for(let K=0;K<=A;K+=z){let G=K/A,Y=Math.pow(Math.sin(Math.PI*G),.85),te=U==="thinking"?Math.exp(-Math.pow((G-(H-.3))*4.5,2)):1,ge=B(Math.abs(G-.5)*2),ue=D-ee,he=Math.sin(G*Math.PI*2*2.1+ue*7.4)*.66+Math.sin(G*Math.PI*2*3.7-ue*5.6)*.26+Math.sin(G*Math.PI*2*5.9+ue*9.1)*.08,q=X+Y*te*O*w*N*(.6+ge*1.1)*he+Math.sin(G*Math.PI*2*.6+(D-ee)*2.2)*Y*k*.01;K===0?d.moveTo(K,q):d.quadraticCurveTo(J,f,(J+K)/2,(f+q)/2),J=K,f=q}d.quadraticCurveTo(J,f,A,f),d.lineCap="round",d.lineJoin="round";let L=(y===0?3:1.6)*(1+N*.6);y===0&&(d.strokeStyle=T,d.lineWidth=L*5,d.stroke()),d.strokeStyle=_[y],d.lineWidth=L,d.stroke()}};return u=requestAnimationFrame(le),()=>{cancelAnimationFrame(u),M?.disconnect(),window.removeEventListener("resize",C)}},[r]),Lm("canvas",{ref:s,className:o,"aria-hidden":"true"})}import{useState as Em,useEffect as eh,useRef as zm}from"react";import{jsx as or,jsxs as Ja}from"react/jsx-runtime";function ta({src:e,images:r,initialIndex:t=0,title:n,onClose:a}){let o=r&&r.length>0?r:e?[{url:e}]:[],[s,c]=Em(t),i=zm(null);if(eh(()=>{c(Math.min(Math.max(0,t),Math.max(0,o.length-1)))},[t,o.length]),eh(()=>{if(o.length===0)return;let p=d=>{d.key==="Escape"&&a(),o.length>1&&(d.key==="ArrowLeft"&&c(b=>(b-1+o.length)%o.length),d.key==="ArrowRight"&&c(b=>(b+1)%o.length))};return window.addEventListener("keydown",p),()=>window.removeEventListener("keydown",p)},[o.length,a]),o.length===0)return null;let l=o[s]||o[0],h=p=>c(d=>(d+p+o.length)%o.length);return Ja("div",{className:"hsk-lightbox",onClick:a,role:"dialog","aria-modal":"true","aria-label":n||"Image preview",children:[or("button",{className:"hsk-lightbox-close",onClick:a,"aria-label":"Close image",children:or(an,{})}),n&&or("div",{className:"hsk-lightbox-top",onClick:p=>p.stopPropagation(),children:or("span",{className:"hsk-lightbox-title",children:n})}),Ja("div",{className:"hsk-lightbox-stage",onClick:p=>p.stopPropagation(),onTouchStart:p=>{i.current=p.touches[0]?.clientX??null},onTouchEnd:p=>{let d=p.changedTouches[0]?.clientX;i.current!==null&&d!==void 0&&Math.abs(d-i.current)>40&&h(d<i.current?1:-1),i.current=null},children:[o.length>1&&or("button",{type:"button",className:"hsk-lightbox-nav hsk-lightbox-nav--prev",onClick:()=>h(-1),"aria-label":"Previous image",children:or(on,{})}),Ja("div",{className:"hsk-lightbox-content",children:[or("img",{src:l.url,alt:l.alt||n||"",className:"hsk-lightbox-img"},l.url),l.caption&&or("div",{className:"hsk-lightbox-caption",children:l.caption})]}),o.length>1&&or("button",{type:"button",className:"hsk-lightbox-nav hsk-lightbox-nav--next",onClick:()=>h(1),"aria-label":"Next image",children:or(sn,{})})]}),o.length>1&&or("div",{className:"hsk-lightbox-bottom",onClick:p=>p.stopPropagation(),children:Ja("div",{className:"hsk-lightbox-counter",children:[s+1," / ",o.length]})})]})}import{normalizeEntityImages as Im,armActionReturn as Am}from"@akropolys/sdk";import{Fragment as Fm,jsx as ze,jsxs as Xt}from"react/jsx-runtime";function Pm({images:e,siteId:r,themeAttr:t}){let n=Xr(null),[a,o]=zs(null);if(Es(()=>{let i=n.current;i&&i.scrollTo({left:i.scrollWidth,behavior:"smooth"})},[e.length]),!e.length)return null;let s=e.findIndex(i=>i.pending),c=s>0?e.slice(0,s).reverse().find(i=>i.url)?.id:void 0;return Xt("div",{className:"hsk-voice-images",ref:n,children:[e.map(i=>Xt("button",{type:"button",className:"hsk-voice-image","data-pending":i.pending?"":void 0,disabled:i.pending,onClick:()=>o(i.url),children:[i.pending&&ze(pn,{active:!0,seed:r,theme:t}),i.url&&ze("img",{src:i.url,alt:"",draggable:!1},i.url),i.url&&ze(pn,{active:!!i.sending||i.id===c,seed:r,theme:t})]},i.id)),a&&ze(ta,{src:a,onClose:()=>o(null)})]})}function _m({current:e,choose:r,label:t,groups:n}){let a=Dn.find(l=>l.name===e),[o,s]=zs(!1),c=Xr(null),i=Xr(null);return Es(()=>{if(i.current&&(i.current.inert=!o),!o)return;let l=i.current,h=l?.querySelector('[aria-checked="true"]');l&&h&&(l.scrollTop=h.offsetTop-(l.clientHeight-h.offsetHeight)/2);let p=b=>{c.current&&!b.composedPath().includes(c.current)&&s(!1)},d=b=>{b.key==="Escape"&&s(!1)};return document.addEventListener("pointerdown",p),document.addEventListener("keydown",d),()=>{document.removeEventListener("pointerdown",p),document.removeEventListener("keydown",d)}},[o]),Xt("div",{className:"hsk-voice-picker",ref:c,"data-open":o?"":void 0,dir:"ltr",children:[Xt("button",{type:"button",className:"hsk-voice-pill hsk-voice-pill--current","aria-haspopup":"true","aria-expanded":o,"aria-label":`${t}: ${a?.trait??e} (${e})`,onClick:()=>s(l=>!l),children:[ze("span",{children:a?.trait??e}),ze("span",{className:"hsk-voice-pill-caret",children:ze(sn,{})})]}),ze("div",{className:"hsk-voice-menu-list",role:"radiogroup","aria-label":t,ref:i,children:["male","female"].map(l=>Xt(Nm.Fragment,{children:[ze("div",{className:"hsk-voice-group","aria-hidden":"true",children:n[l]}),Dn.filter(h=>h.gender===l).map(h=>Xt("button",{type:"button",role:"radio","aria-checked":e===h.name,"aria-label":`${h.trait}, ${n[l]} (${h.name})`,className:oe("hsk-voice-option",e===h.name&&"hsk-voice-option--on"),onClick:()=>{r(h.name),s(!1)},children:[ze("span",{className:"hsk-voice-option-name",children:h.trait}),ze("span",{className:"hsk-voice-option-trait",children:h.name})]},h.name))]},l))})]})}function th({siteId:e,themeAttr:r,stopVoice:t,chooseVoice:n,liveVoiceName:a,voiceSecondsLeft:o,voiceConnecting:s,voicePhase:c,live:i,earlier:l,newVoiceChat:h,voiceMuted:p,setVoiceMuted:d,voiceError:b,attachPhoto:m,onSelectSource:x,t:u}){let A=Xr(null),k=Xr(null),C=Xr(null),M=[...l.turns,...i.turns??[]],g=[...l.images,...i.images??[]],P=i.sources??[],_=Xa("",typeof location>"u"?"https://akropolys.cloud":location.href,[...l.actionLinks,...i.actionLinks??[]]).links,[T,W]=zs(null),R=g.some(I=>I.pending),N=M.length,H=M[N-1]?.text??"",se=Xr(!1);return Es(()=>{k.current?.scrollIntoView({block:"end",behavior:se.current?"smooth":"auto"}),se.current=!0},[N,H,_.length]),Xt("div",{className:"hsk-voice-overlay",role:"dialog","aria-label":u("voiceModeStart"),children:[ze(Ma,{seed:e,theme:r}),M.some(I=>I.text)&&ze("button",{type:"button",className:"hsk-voice-new",onClick:h,disabled:s,"aria-label":u("voiceNewChat"),title:u("voiceNewChat"),children:ze(wa,{size:15})}),ze("button",{className:"hsk-voice-exit",onClick:t,"aria-label":u("voiceModeExit"),children:ze(an,{})}),ze(_m,{current:a,choose:n,label:u("voicePickerLabel"),groups:{female:u("voiceFemale"),male:u("voiceMale")}}),Xt("div",{className:"hsk-voice-thread",ref:A,children:[M.filter(I=>I.text).map((I,de)=>I.role==="user"?ze("div",{className:"hsk-cb-user-msg",children:ze("div",{className:oe("hsk-cb-user-bubble","hsk-cb-user-bubble--spoken",!I.done&&"hsk-voice-turn--live"),children:I.text})},de):ze("div",{className:"hsk-cb-ai-msg",children:ze("div",{className:oe("hsk-cb-ai-body",!I.done&&"hsk-voice-turn--live"),children:I.text})},de)),ze(Ka,{links:_,t:u,onOpen:I=>Am(e,I.returnToken)}),ze("div",{ref:k})]}),(g.length>0||P.length>0)&&Xt("div",{className:"hsk-voice-shelf",children:[ze(Pm,{images:g,siteId:e,themeAttr:r}),P.length>0&&ze("div",{className:"hsk-voice-sources",children:ze(Va,{sources:P.map(I=>({...I,images:Im(I.images??I.fields?.images,I.image,I.url)})),onSelectSource:x,onImageClick:W,referencedIds:P.map(I=>I.id).filter(I=>!!I),compact:!0})})]}),T&&ze(ta,{src:T,onClose:()=>W(null)}),s&&Xt("div",{className:"hsk-voice-connecting",role:"status",children:[ze("span",{className:"hsk-voice-connecting-dot"}),ze("span",{children:u("voiceConnecting")})]}),b&&ze("div",{className:"hsk-voice-error",children:u(b)}),Xt("div",{className:"hsk-voice-controls",dir:"ltr",children:[i.photos&&Xt(Fm,{children:[ze("input",{ref:C,type:"file",accept:"image/*",className:"hsk-sr-only",onChange:I=>{let de=I.target.files?.[0];I.target.value="",de&&m(de)}}),ze("button",{type:"button",className:"hsk-voice-control hsk-voice-control--attach","data-control":"attach",disabled:s||R,onClick:()=>C.current?.click(),"aria-label":u("voiceAttachPhoto"),children:ze("span",{className:"hsk-voice-control-icon",children:ze(Xi,{})})})]}),ze("div",{className:oe("hsk-voice-stage",s&&"hsk-voice-stage--connecting"),children:ze(Zl,{className:"hsk-voice-canvas",theme:r,phase:c,level:i.micLevel,spectrum:i.micSpectrum,bins:i.spectrumBins})}),ze("button",{className:oe("hsk-voice-control",p&&"hsk-voice-control--muted",s&&"hsk-voice-control--waiting"),"data-control":"mic",disabled:s,onClick:()=>d(I=>!I),"aria-label":u(p?"voicePhaseListening":"voiceModeExit"),children:ze("span",{className:"hsk-voice-control-icon",children:p?ze(Qi,{}):ze(Bn,{})},p?"off":"on")})]})]})}import{useRef as Za,useEffect as Dm,useState as Hm}from"react";import{jsx as En,jsxs as nh}from"react/jsx-runtime";var ra=14,rh=6;function Bm(e,r){let t=e.filter(Boolean);if(t.length<2)return null;let n=i=>i.offsetTop+i.offsetHeight/2,a=n(t[t.length-1])+10,o=i=>(i===r?rh*1.3:rh*.6)*(i%2?1:-1),s=`M ${ra} 0`,c=0;return t.forEach((i,l)=>{let h=n(i),p=c+(h-c)/2;s+=` C ${ra+o(l)} ${p}, ${ra+o(l)} ${p}, ${ra} ${h}`,c=h}),{d:s+` L ${ra} ${a}`,height:a}}function ah({items:e,activeIdx:r,progress:t,onJump:n,side:a="right"}){let o=Kt(),s=Za(null),c=Za(null),i=Za([]),l=Za(null),[h,p]=Hm(null),d=0;for(let b=0;b<e.length;b++)e[b].idx<=r&&(d=b);return Dm(()=>{let b=s.current,m=c.current;if(!b||!m)return;let x=()=>{let A=i.current[d],k=b.clientHeight;if(!A||!k)return;let C=parseFloat(m.style.paddingTop)||0,g=m.scrollHeight-C*2>k+1,P=g?Math.max(0,(k-A.offsetHeight)/2):0;Math.abs(C-P)>.5&&(m.style.paddingTop=`${P}px`,m.style.paddingBottom=`${P}px`),b.dataset.overflow=String(g);let _=A.offsetTop+A.offsetHeight/2;if(l.current&&(l.current.style.transform=`translateY(${_}px)`),p(Bm(i.current,d)),g){let T=window.matchMedia?.("(prefers-reduced-motion: reduce)").matches;b.scrollTo({top:_-k/2,behavior:T?"instant":"smooth"})}else b.scrollTop=0};x();let u=typeof ResizeObserver>"u"?null:new ResizeObserver(x);return u?.observe(b),u?.observe(m),()=>u?.disconnect()},[d,e.length]),e.length<2?null:En("nav",{ref:s,className:oe("hsk-cb-timeline",a==="left"?"hsk-cb-timeline--left":"hsk-cb-timeline--right"),"aria-label":o("timelineLabel"),children:nh("div",{ref:c,className:"hsk-cb-timeline-track",style:{"--hsk-tl-progress":t},children:[h&&En("svg",{className:"hsk-cb-tl-wave",width:"28",height:h.height,viewBox:`0 0 28 ${h.height}`,"aria-hidden":"true",children:En("path",{d:h.d})}),En("span",{className:"hsk-cb-tl-cursor",ref:l,"aria-hidden":"true"}),e.map((b,m)=>nh("button",{ref:x=>{i.current[m]=x},type:"button","aria-current":m===d?"true":void 0,className:oe("hsk-cb-tl-item",m===d&&"hsk-cb-tl-item--on"),style:{"--hsk-tl-d":Math.min(Math.abs(m-d),4)},onClick:()=>n(b.idx),title:b.text,children:[En("span",{className:"hsk-cb-tl-dot"}),En("span",{className:"hsk-cb-tl-label",children:b.text})]},b.idx))]})})}import{useState as eo,useEffect as oh,useLayoutEffect as Ns,useRef as sh,useCallback as Is}from"react";import{createPortal as $m}from"react-dom";import{Fragment as qm,jsx as sr,jsxs as Ir}from"react/jsx-runtime";var Om=190;function ih({msg:e,rect:r,containerRect:t,anchorEl:n,containerEl:a,scrollEl:o,isUser:s,isRTL:c=!1,canRetry:i,onPin:l,onRetry:h,onCopy:p,onClose:d,t:b}){let[m,x]=eo(!1),u=sh(null),A=sh(),[k]=eo(()=>{let Z=o?.getBoundingClientRect();return!!Z&&(r.top<Z.top+64||r.top+r.height>Z.bottom-8)});Ns(()=>{let Z=n?.closest(".hsk-cb-msg-group");if(!Z)return;let Fe=Z.inert;return Z.setAttribute("data-hsk-tapback-focus",""),Z.inert=!0,()=>{Z.removeAttribute("data-hsk-tapback-focus"),Z.inert=Fe}},[n]),Ns(()=>{if(!o)return;let Z=o.getAttribute("data-hsk-tapback-active");return o.setAttribute("data-hsk-tapback-active",""),()=>{Z===null?o.removeAttribute("data-hsk-tapback-active"):o.setAttribute("data-hsk-tapback-active",Z)}},[o]);let{closing:C,requestClose:M}=Xn(Om,d);oh(()=>{let Z=document.activeElement,Fe=()=>Array.from(u.current?.querySelectorAll("button")??[]);u.current?.focus({preventScroll:!0});let Oe=Ke=>{if(Ke.key==="Escape"&&(Ke.preventDefault(),Ke.stopImmediatePropagation(),M()),Ke.key!=="Tab")return;let tt=Fe();if(!tt.length)return;let ht=tt.indexOf(document.activeElement);(Ke.shiftKey?ht<=0:ht===tt.length-1||ht<0)&&(Ke.preventDefault(),tt[Ke.shiftKey?tt.length-1:0].focus({preventScroll:!0}))};return window.addEventListener("keydown",Oe,!0),()=>{window.removeEventListener("keydown",Oe,!0),clearTimeout(A.current),Z?.isConnected&&Z.focus({preventScroll:!0})}},[M]);let g=Is(async()=>{await p(e.content||"")&&(x(!0),A.current=setTimeout(M,450))},[e.content,p,M]),P=Is(()=>{tr("pin"),l(e),M()},[e,l,M]),_=Is(()=>{h&&h(e),M()},[e,h,M]),[T,W]=eo(()=>({box:r,attachment:r,thought:void 0,container:t,viewport:o?.getBoundingClientRect(),width:0,height:36,scrollTop:o?.scrollTop??0}));Ns(()=>{let Z=0,Fe=()=>{Z=0;let tt=n?.getBoundingClientRect()??r,ht=(s?null:n?.querySelector(".hsk-cb-ai-text"))?.getBoundingClientRect()??tt,Qt=s?void 0:n?.querySelector(".hsk-cb-think-head")?.getBoundingClientRect(),bt=a?.getBoundingClientRect()??t,qt=o?.getBoundingClientRect()??bt,zt=u.current?.offsetWidth??0,Nt=u.current?.offsetHeight??36,ye=o?.scrollTop??0;W(Ge=>{let gt=(rt,ft)=>rt===ft||!!rt&&!!ft&&["top","left","width","height"].every(pt=>Math.abs(rt[pt]-ft[pt])<.5);return gt(Ge.box,tt)&>(Ge.attachment,ht)&>(Ge.thought,Qt)&>(Ge.container,bt)&>(Ge.viewport,qt)&&Ge.width===zt&&Ge.height===Nt&&Ge.scrollTop===ye?Ge:{box:tt,attachment:ht,thought:Qt,container:bt,viewport:qt,width:zt,height:Nt,scrollTop:ye}})},Oe=()=>{Z||(Z=requestAnimationFrame(Fe))};Fe();let Ke=typeof ResizeObserver>"u"?null:new ResizeObserver(Oe);for(let tt of[n,a,o,u.current])tt&&Ke?.observe(tt);return o?.addEventListener("scroll",Oe,{passive:!0}),window.addEventListener("resize",Oe),window.visualViewport?.addEventListener("resize",Oe),window.visualViewport?.addEventListener("scroll",Oe),()=>{cancelAnimationFrame(Z),Ke?.disconnect(),o?.removeEventListener("scroll",Oe),window.removeEventListener("resize",Oe),window.visualViewport?.removeEventListener("resize",Oe),window.visualViewport?.removeEventListener("scroll",Oe)}},[n,a,o,r,t,s]);let[R,N]=eo("");oh(()=>{if(!n)return;let Z=getComputedStyle(n).backgroundColor;Z&&Z!=="rgba(0, 0, 0, 0)"&&Z!=="transparent"&&N(Z)},[n]);let{box:H,attachment:se,thought:I,container:de,viewport:ie}=T,B=de?.top??0,le=de?.left??0,j=de?.width??(typeof window<"u"?window.innerWidth:390),D=H.top-B,U=se.left-le,F=se.width,S=H.height,X=2;i&&h&&X++;let E=X===2?122:170,w=T.width||E,z=T.height,y=window.visualViewport?.offsetTop??0,Q=y+(window.visualViewport?.height??window.innerHeight),ee=Math.max(0,Math.max(ie?.top??B,y)-B),O=Math.min(de?.height??window.innerHeight,Math.min(ie?ie.top+ie.height:Q,Q)-B),J=ee+8,f=Math.max(J,O-z-8),L=!!I,K=L||k||D-z-9>=J,G=K?D-z-9:D+S+9,Y=I?Math.max(J,Math.min(I.top-B+(I.height-z)/2,f)):k?J:Math.max(J,Math.min(G,f)),te=Math.round(H.top-(ie?.top??B)+T.scrollTop),ge=Math.min(24,S/2),ue=Math.ceil(Math.max(240,ie?.height??de?.height??window.innerHeight)+64),he=Ir(qm,{children:[sr("div",{className:oe("hsk-tapback-frost","is-upper",C&&"is-closing"),"aria-hidden":"true",style:{top:(o?te:D)-ue,height:ue+ge}}),sr("div",{className:oe("hsk-tapback-frost","is-lower",C&&"is-closing"),"aria-hidden":"true",style:{top:(o?te:D)+S-ge,height:ue+ge}})]}),q=!s&&!!n?.closest('[data-hsk-layout="wide"]'),ce=c,Se=ce?Math.min(j-18,U+F-7):Math.max(18,U+7),me=ce?Se-w+18:Se-18;me=Math.max(10,Math.min(me,j-w-10));let ve=Math.max(18,Math.min(Se-me,w-18)),_e=R||(s?"var(--hsk-user-bubble-bg, var(--hsk-primary, #007aff))":"var(--hsk-bubble-bg, #eeeef0)"),qe=0;return Ir("div",{className:oe("hsk-tapback-overlay",C&&"is-closing"),onClick:M,children:[o?$m(he,o):he,Ir("div",{ref:u,className:oe("hsk-tapback-group",q&&"is-wide",(k||L)&&"is-docked",C&&"is-closing",K?"is-above":"is-below",s?"is-user":"is-ai"),style:{top:`${Y}px`,left:`${me}px`,maxWidth:`${Math.max(0,j-20)}px`,"--tail-x":`${ve}px`,"--tail-dir":ce?1:-1,"--tail-step":s?"9px":"8px","--hsk-anchor-color":_e,"--hsk-skin":"var(--hsk-bubble-bg, var(--hsk-chat-ai-bg, #eeeef0))"},tabIndex:-1,role:"dialog","aria-modal":"true","aria-label":"Message actions",onClick:Z=>Z.stopPropagation(),children:[Ir("div",{className:"hsk-tapback-capsule",children:[Ir("button",{type:"button",className:"hsk-tapback-tool-btn hsk-tapback-tool-btn--pin",onClick:P,"aria-label":"Pin to Kiku Memory",style:{"--tool-idx":qe++},children:[sr(sc,{size:14}),sr("span",{children:"Pin"})]}),i&&h&&Ir("button",{type:"button",className:"hsk-tapback-tool-btn hsk-tapback-tool-btn--retry",onClick:_,"aria-label":b("retry"),style:{"--tool-idx":qe++},children:[sr(Hn,{size:14}),sr("span",{children:b("retry")})]}),Ir("button",{type:"button",className:oe("hsk-tapback-tool-btn hsk-tapback-tool-btn--copy",m&&"is-copied"),onClick:g,"aria-label":b(m?"copied":"copy"),style:{"--tool-idx":qe++},children:[m?sr(Br,{size:14}):sr(Hr,{size:14}),sr("span",{children:b(m?"copied":"copy")})]})]}),Ir("div",{className:oe("hsk-tapback-tail",K?"is-above":"is-below"),style:{left:`${ve}px`},children:[sr("span",{className:"hsk-tapback-dot hsk-tapback-dot--mid"}),sr("span",{className:"hsk-tapback-dot hsk-tapback-dot--anchor"})]})]})]})}import{useEffect as Wm,useRef as Um}from"react";var ch=!1;function lh(){if(ch)return!0;try{return localStorage.getItem("akropolys_layout_hint_seen")==="true"||localStorage.getItem("akropolys_chat_layout")==="wide"}catch{return!1}}function na(){ch=!0;try{localStorage.setItem("akropolys_layout_hint_seen","true")}catch{}}import{jsx as As,jsxs as Vm}from"react/jsx-runtime";function Ps({onOpenDock:e,placement:r="reply"}){let t=Kt(),n=Um(null);return Wm(()=>{let a=n.current;if(!a)return;if(typeof IntersectionObserver>"u"){na();return}let o=new IntersectionObserver(s=>{s.some(c=>c.isIntersecting&&c.intersectionRatio>=.5)&&(na(),o.disconnect())},{threshold:.5});return o.observe(a),()=>o.disconnect()},[]),Vm("button",{ref:n,type:"button",className:`hsk-cb-layout-discovery-note hsk-cb-layout-discovery-note--${r}`,onClick:e,children:[As("svg",{viewBox:"0 0 44 48",fill:"none","aria-hidden":"true",children:As("path",{pathLength:"1",d:"M36 43C14 46 8 27 20 23C32 18 36 31 24 31C11 31 9 15 18 6M10 10L18 5L23 14"})}),As("span",{children:t(r==="dock"?"layoutDockNote":"layoutFirstReplyNote",{button:"Wide"})})]})}import{jsx as Ve,jsxs as Ar}from"react/jsx-runtime";var Qm=240,Jm=700,Zm=200;function _s({title:e="kiku",logo:r,placeholder:t="Ask me anything\u2026",backdropColor:n,backdropBlur:a,onClose:o,onSelectSource:s,chips:c=Fn,theme:i,classNames:l={},enableVoice:h=!1,voiceWorkletUrl:p,voiceLang:d,enableVision:b=!1,ttsVoice:m="Algenib",origin:x}){let u=Ym(),A=Xm(),{messages:k,sources:C,loading:M,streaming:g,error:P,errorCode:_,lastAction:T,lastIntent:W,allowedActions:R,send:N,queuedMessage:H,sendQueuedNow:se,appendSpokenExchange:I,stop:de,stopped:ie,interrupted:B,continueGenerating:le,reset:j,referencedIds:D,humanPending:U,leaveHuman:F}=jm(),[S,X]=$e(null),E=mt(null),w=_t(()=>{window.matchMedia?.("(prefers-reduced-motion: reduce)").matches||E.current?.animate([0,-7,6,-4,2,0].map(v=>({transform:`translateX(${v}px)`})),{duration:380,easing:"cubic-bezier(.36, .07, .19, .97)"})},[]);wt(()=>{if(!S)return;let v=Re=>{(Re.key.length===1||Re.key==="Enter"||Re.key==="Backspace")&&w()},$=Re=>{let Ee=Ye=>Re.composedPath().some(Pe=>Pe.classList?.contains(Ye));!Ee("hsk-cb-leave")&&!Ee("hsk-cb-topbar")&&w()},fe=Fr.current;return fe?.setAttribute("inert",""),document.addEventListener("keydown",v),document.addEventListener("pointerdown",$,!0),()=>{fe?.removeAttribute("inert"),document.removeEventListener("keydown",v),document.removeEventListener("pointerdown",$,!0)}},[S,w]);let[z,y]=$e(()=>{try{return u.getShopperName?.()??""}catch{return""}}),[Q,ee]=$e(()=>{try{return u.getShopperLanguage?.()??""}catch{return""}}),[O,J]=$e(()=>{try{return u.getEntityLanguageMode?.()??""}catch{return""}}),[f,L]=$e(!1),[K,G]=$e(null),[Y,te]=$e(""),[ge,ue]=$e(!1),{chromeReady:he,baseFontReady:q,isRTL:ce,speechLang:Se,scriptFont:me,fontStack:ve,isNonLatin:_e,hostFontCovers:qe,t:Z,tNode:Fe}=Lc({shopperLanguage:Q||Y,theme:i,preloadedStrings:K}),Oe=aa.useMemo(()=>{let v=C.filter(Pe=>Pe.id&&D.includes(Pe.id)),$=[...k].reverse().find(Pe=>Pe.role==="assistant")?.content??"";if(!$)return v;let fe=new Set(v.map(Pe=>Pe.id)),Re=$.toLowerCase().replace(/\s+/g," "),Ee=Pe=>{let Rt=String(Pe??"").toLowerCase().replace(/\s+/g," ").trim(),Je=Rt.split(" "),Pt=[Rt];return Je.length>3&&Pt.push(Je.slice(0,3).join(" ")),Je.length>4&&Pt.push(Je.slice(0,4).join(" ")),Pt.filter(rn=>rn.length>=5)},Ye=C.filter(Pe=>Pe.id&&!fe.has(Pe.id)&&Ee(Pe.name).some(Rt=>Re.includes(Rt)));return[...v,...Ye]},[C,D,k]),Ke=R===null||R.includes("capture"),[tt,ht]=$e(""),[Qt,bt]=$e(!1),[qt,zt]=$e(!1),[Nt,ye]=$e([]),Ge=mt(new Map),gt=mt(null),[rt,ft]=$e({}),[pt,We]=$e(null),It=_t((v,$)=>{if(!v&&!$){We(null);return}We($?{images:$.images,initialIndex:$.index??0,title:$.title}:{src:v})},[]),[ct,kt]=$e(null),[st,Wt]=$e(()=>{if(typeof window>"u")return!1;try{return localStorage.getItem("akropolys_terms_agreed")==="true"}catch{return!1}}),Jt=k.length===0,Ut=Y||Q,Qr=!Ut||Ut.toLowerCase()==="english"||Ut.toLowerCase()==="en",Ft=ge||!!Y||!!Q&&!he&&!Qr,V=Jt&&!Q&&!Ft,re=Jt&&!!Q&&!z&&!Ft,be=Jt&&!!Q&&!!z&&!O,pe=Jt&&!!Q&&!!z&&!!O&&!st,ae=V||re||be||pe||Ft,Ne=be||pe||Ft,[Ie,ke]=$e(Ft),[Me,He]=$e(!1),[xt,Le]=$e(!1),[Xe,Ae]=$e(!1),At=mt(!1),Qe=mt(null),Ct=mt(null);Ft!==Ie&&(ke(Ft),Ft?(Ct.current&&clearTimeout(Ct.current),Ae(!1),Le(!0),Qe.current=setTimeout(()=>{He(!0),Le(!1),At.current=!0},280)):(Qe.current&&clearTimeout(Qe.current),Le(!1),He(!1),At.current&&(At.current=!1,Ae(!0),Ct.current=setTimeout(()=>Ae(!1),560)))),wt(()=>()=>{Qe.current&&clearTimeout(Qe.current),Ct.current&&clearTimeout(Ct.current)},[]);let zn=aa.useMemo(()=>k.some(v=>v.liveKeys?.length>0),[k]);wt(()=>{if(zn)return Km({client:u})},[zn,u]);let[Pr,Jr]=$e(()=>typeof window<"u"&&!!window.matchMedia?.("(max-width: 1199px)").matches);wt(()=>{let v=window.matchMedia?.("(max-width: 1199px)");if(!v)return;let $=()=>Jr(v.matches);return $(),v.addEventListener?.("change",$),()=>v.removeEventListener?.("change",$)},[]);let ur=async v=>{let $=v.trim();if(!$){try{u.setShopperLanguage?.("")}catch{}ee(""),te(""),G(null);return}if(te($),ue(!0),$.toLowerCase()==="english"||$.toLowerCase()==="en"){G(Dt);try{u.setShopperLanguage?.($)}catch{}ee($),te(""),ue(!1),L(!1);return}let Re=Date.now(),Ee=1200;try{let Pe=u.getCachedUIStrings?.($,Mr)??u.getCachedUIStrings?.($,Dt);if(Pe?.strings&&Object.keys(Pe.strings).length>0)G(Pe.strings),Pe.font&&await jt(Pe.font,800);else{let Rt=u.getUIStrings?.($,Mr),Je=await Promise.race([Rt,new Promise(Pt=>setTimeout(()=>Pt(null),8e3))]);Je?.font&&await jt(Je.font,1200),Je?.strings&&Object.keys(Je.strings).length>0&&G(Je.strings)}}catch{}let Ye=Date.now()-Re;Ye<Ee&&await new Promise(Pe=>setTimeout(Pe,Ee-Ye));try{u.setShopperLanguage?.($)}catch{}ee($),te(""),ue(!1),L(!1);try{u.getUIStrings?.($,Dt)?.catch?.(()=>{})}catch{}},ro=v=>{try{u.setEntityLanguageMode?.(v)}catch{}J(v),st&&L(!0)},no=()=>{try{localStorage.setItem("akropolys_terms_agreed","true")}catch{}Wt(!0),L(!0)},ao=Ft?Dr(Y||Q).preparing:V?Z("langPlaceholder"):re?Z("namePlaceholder"):be?Z("entityLangPlaceholder"):pe?Z("termsPlaceholder"):t==="Ask me anything\u2026"?Z("defaultPlaceholder"):t,oo=!c||c===Fn?[]:Array.isArray(c)?c:[],so=V?"curious":re?"welcoming":be?"guiding":pe?"focused":"happy",[Zt,dh]=$e(()=>qi(i)),[uh,Bs]=$e(!1),Nn=mt(null);wt(()=>()=>{Nn.current&&clearTimeout(Nn.current)},[]);let io=mt([]);wt(()=>()=>{io.current.forEach(v=>v.cancel())},[]);let $s=(v=!0)=>{io.current.forEach(Ye=>Ye.cancel());let $=en.current?.querySelectorAll(".hsk-cb-kiku-id-rail > :not(.hsk-cb-dock-frost), .hsk-cb-timeline-track, .hsk-cb-topbar-mark, .hsk-cb-topbar-actions, .hsk-cb-topbar-left > .hsk-cb-back"),fe=$?Array.from($):[],Re=Fr.current;v&&Re&&fe.unshift(Re);let Ee=en.current?.querySelector(".hsk-cb-main > .hsk-cb-doodles");io.current=ic(fe,ce,Ee,Re)},Os=mt(!1);wt(()=>{if(Os.current)return;let v=Fr.current;if(!v){Xo();return}let $=!1,fe=()=>v.querySelector(".hsk-cb-hello-wrap, .hsk-cb-msg-group"),Re=()=>{$||($=!0,Os.current=!0,Ee.disconnect(),clearTimeout(Ye),Xo(),$s(!1))},Ee=new MutationObserver(()=>{fe()&&Re()});Ee.observe(v,{childList:!0,subtree:!0});let Ye=window.setTimeout(Re,2e3);return fe()&&Re(),()=>{$=!0,Ee.disconnect(),clearTimeout(Ye)}},[]);let qs=(v,$=!1)=>{Bs(!0),Nn.current&&clearTimeout(Nn.current),Nn.current=setTimeout(()=>Bs(!1),420),dh(v),$s(),$&&ca();try{localStorage.setItem("akropolys_theme",v)}catch{}},{vars:mh}=ba(i),Zr=Zt;fa(i);let Ws=mt(()=>{}),mr=mt(null),wr=async(v,$,fe,Re)=>{let Ee=(v??tt).trim(),Ye=$??Nt;if(!Ee&&Ye.length===0||!he||H)return;if(tr("send"),re){if(!Ee)return;let Je=Di(Ee)||Ee.slice(0,40);try{u.setShopperName?.(Je)}catch{}y(Je),ht("");return}if(V){if(!Ee||ge)return;ht(""),ur(Ee);return}if(Ne){ht("");return}bt(!1),zt(!1),ht(""),ye([]);let Pe=(await Promise.all(Ye.map(async({thumb:Je,...Pt})=>{let rn=Pt.data||(Je?await Ge.current.get(Je)?.catch(()=>""):"")||"";return Je&&URL.revokeObjectURL(Je),{...Pt,data:rn}}))).filter(Je=>Je.data),Rt=Ee||(Pe.some(Je=>Je.type==="image")?"Analyze this image":"What is this?");await N(Rt,Ee,Pe.length>0?Pe:void 0,fe,Re)},[bh,Us]=$e(!1),oa=_t(async v=>{let $=v&&v.role==="user"?v:[...k].reverse().find(fe=>fe.role==="user");if($?.content){Us(!0);try{await wr($.content)}finally{Us(!1)}}},[k,wr]),fh=_t(v=>{v?.content&&(ht(v.content),setTimeout(()=>{if(mr.current){mr.current.focus();let $=v.content.length;try{mr.current.setSelectionRange($,$)}catch{}}},50))},[ht,mr]),kh=_t(async()=>{await oa()},[oa]),{keyInput:gh,setKeyInput:xh,keyPhase:vh,setKeyPhase:Vs,mintedKey:yh,setMintedKey:wh,mintedPub:ab,setMintedPub:Ch,copied:Sh,keyCountdown:Mh,minting:Th,copyValue:Rh,handleUseExistingKey:Lh,handleCreateKey:Eh}=Ac(T,kh),zh=_t(()=>{let v=u?.getKikuKey?.();v&&window.open(`https://mimi.akropolys.cloud/#k=${encodeURIComponent(v)}`,"_blank","noopener")},[u]),[In,Gs]=$e(null),Nh=_t(async v=>{let $=(v.content||"").replace(/^(@kiku pin\s*)+/i,""),Re=`@kiku pin ${$.slice(0,50).replace(/\n+/g," ")}`;await N($||"pin message",Re,void 0,"capture")},[N]),{handleKikuCapture:Ih,handleKikuCaptureAll:Ah,handleKikuViewHistory:Ph,handleKikuDelete:_h}=Pc({attachments:Nt,setAttachments:ye,setInput:ht,send:N,t:Z}),{voiceMode:sa,voicePhase:js,voiceConnecting:Fh,voiceError:co,setVoiceError:Ks,voiceMuted:Dh,setVoiceMuted:Hh,voiceSecondsLeft:Bh,voiceBlocked:$h,liveVoiceName:Oh,chooseVoice:qh,canConverse:Wh,startVoice:Uh,stopVoice:Vh,voice:Gh,live:Ys,earlier:jh,newVoiceChat:Kh,attachPhoto:Yh}=tl({voiceWorkletUrl:p,voiceLang:d,speechLang:Se,shopperLanguage:Q,ttsVoice:m,messages:k,handleSendUtterance:v=>Ws.current(v),appendSpokenExchange:I}),en=mt(null),[Bt,tn]=$e(!1),[Xs,Qs]=$e(!1),[Js,Zs]=$e(()=>!lh()),[lo,ho]=$e(null),[ei,po]=$e(!1),[ti,Xh]=$e(!1),Qh=_t(()=>Xh(!0),[]);wt(()=>{Bt?Wi():(Qs(!1),po(!1))},[Bt]);let _r=mt(null);wt(()=>(!Bt&&_r.current&&clearTimeout(_r.current),()=>{_r.current&&clearTimeout(_r.current)}),[Bt]);let[Jh,uo]=$e(null),ia=mt(null),mo=mt(null),ri=mt([]),An=mt(null),Zh=`hsk-goo-${Gm()}`,{closing:Pn,requestClose:bo,closeNow:ca}=Xn(Pr?Jm:Qm,()=>tn(!1));wt(()=>{if(!Bt)return;let v=$=>{let fe=$.composedPath?$.composedPath():[],Re=ia.current&&(fe.includes(ia.current)||ia.current.contains($.target)),Ee=mo.current&&(fe.includes(mo.current)||mo.current.contains($.target)),Ye=fe.some(Pt=>Pt.classList?.contains("hsk-cb-layout-discovery-note")),Pe=$.target,Rt=Pe?.closest?.(".hsk-cb-topbar-mark"),Je=Pe?.closest?.(".hsk-cb-topbar-ooze-menu")||fe.some(Pt=>Pt?.classList?.contains?.("hsk-cb-topbar-ooze-menu"));Re||Ee||Rt||Je||Ye||bo()};return document.addEventListener("mousedown",v),document.addEventListener("touchstart",v,{passive:!0}),()=>{document.removeEventListener("mousedown",v),document.removeEventListener("touchstart",v)}},[Bt]);let{msgsContainerRef:Fr,spacerRef:ep,lastExternalScrollRef:tp,showJumpToBottom:rp,scrollProgress:np,activeMsgIdx:ap,unreadBelow:op,jumpToMessage:sp,revealMessage:ni,jumpToBottom:ip}=Ec({messages:k,loading:M,streaming:g,messageRefs:ri}),cp=_t((v,$,fe,Re)=>{Re&&ni(Re),Gs({msg:v,rect:$,isUser:fe,el:Re})},[ni]),la=wl(Fr),fo=()=>{la.toggle(),na(),Zs(!1),ho(null),po(!1),Pr&&(_r.current&&clearTimeout(_r.current),window.matchMedia?.("(prefers-reduced-motion: reduce)").matches?ca():_r.current=setTimeout(bo,400))},lp=()=>{uo(Zt),po(!0),tn(!0)},{closing:ko,requestClose:ai}=Xn(Zm,o);wt(()=>{if(!he||!q||!ti||ko||Fo())return;let v=window.setTimeout(()=>{Fo()||(uo(Zt),Qs(!0),tn(!0))},650);return()=>window.clearTimeout(v)},[he,q,ti,ko,Zt]);let go=_t(v=>{v&&F(),tn(!1),window.matchMedia?.("(prefers-reduced-motion: reduce)").matches?o():ai()},[ai,o,F]),ha=_t(()=>{S?w():U?X("close"):go(!1)},[U,go,S,w]);cc({panel:_t(()=>en.current,[]),scroller:_t(()=>Fr.current,[]),onDismiss:o,quiescent:_t(()=>performance.now()-tp.current>90,[])}),wt(()=>{if(typeof window>"u")return;let v=window.innerWidth-document.documentElement.clientWidth,$=document.body.style.overflow,fe=document.body.style.paddingRight;if(v>0){let Re=parseFloat(window.getComputedStyle(document.body).paddingRight)||0;document.body.style.paddingRight=`${Re+v}px`,document.documentElement.style.setProperty("--hsk-scrollbar-width",`${v}px`)}return document.body.style.overflow="hidden",()=>{document.body.style.overflow=$,document.body.style.paddingRight=fe,document.documentElement.style.removeProperty("--hsk-scrollbar-width")}},[]),wt(()=>{let v=window.visualViewport;if(!v)return;let $=document.documentElement,fe=()=>{$.style.setProperty("--hsk-vvh",`${v.height}px`)};return fe(),v.addEventListener("resize",fe),v.addEventListener("scroll",fe),()=>{v.removeEventListener("resize",fe),v.removeEventListener("scroll",fe),$.style.removeProperty("--hsk-vvh")}},[]),wt(()=>{let v=$=>{if($.key==="Escape"){if(pt){We(null);return}ha()}};return document.addEventListener("keydown",v),()=>document.removeEventListener("keydown",v)},[pt,ha]);let xo=_t(v=>{v&&F(),j(),ho(null),Vs("idle")},[j,Vs,F]),hp=_t(()=>{S?w():U?X("reset"):xo(!1)},[U,xo,S,w]),pp=v=>{s?.(v);let $=[...k].reverse().find(fe=>fe.role==="assistant");if($&&$.content.trim().endsWith("?")){N(Z("cardClickAnswer",{name:v.name}));return}N(Z("cardClickQuery",{name:v.name,details:Co(er(v,A))}))},dp=v=>{ht(v+" "),zt(!1),bt(!0),mr.current&&mr.current.focus()},up=v=>{if(v.key==="Escape"&&Qt){v.preventDefault(),bt(!1);return}if(v.key==="Escape"&&qt){v.preventDefault(),zt(!1);return}v.key==="Enter"&&!v.shiftKey&&!v.nativeEvent.isComposing&&(v.preventDefault(),wr())},vo=mt(28),oi=mt(280),yo=mt(null),mp=(v,$)=>{try{!yo.current&&typeof document<"u"&&(yo.current=document.createElement("canvas"));let fe=yo.current?.getContext("2d");return fe?(fe.font=$,fe.measureText(v).width):v.length*8.5}catch{return v.length*8.5}},bp=v=>{let $=v.closest(".hsk-cb-input-box");if(!$)return;let fe=v.value;!($.dataset.expanded==="true")&&v.clientWidth>50&&(oi.current=v.clientWidth);let Ee=window.getComputedStyle(v),Ye=Ee.font||`${Ee.fontSize||"16px"} ${Ee.fontFamily||"Geist, sans-serif"}`,Pe=mp(fe,Ye),Rt=Math.max(120,oi.current-14),Je=fe.includes(`
|
|
7
|
+
`),Pt=!!(fe&&(Je||Pe>Rt));if($.dataset.expanded!==(Pt?"true":"false")&&($.dataset.expanded=Pt?"true":"false"),!fe){vo.current=28,v.style.height="";return}if(!Pt){vo.current=28,v.style.height="";return}v.style.height="auto";let rn=Math.max(28,Math.min(v.scrollHeight,140));vo.current=rn,v.style.height=`${rn}px`};wt(()=>{mr.current&&bp(mr.current)},[tt]);let fp=v=>{let $=v.target.value;ht($),co&&Ks("");let fe=$.trim();zt(fe==="@"),bt(/^@kiku\s*$/i.test(fe))};wt(()=>{Ws.current=v=>{wr(v)}});let kp=async v=>{if(!v||v.length===0)return;let $=Array.from(v);for(let fe of $){if(!fe.type.startsWith("image/"))continue;let Re=URL.createObjectURL(fe),Ee=Ca(fe);Ge.current.set(Re,Ee),ye(Ye=>[...Ye,{type:"image",data:"",thumb:Re}]),Ee.then(Ye=>ye(Pe=>Pe.map(Rt=>Rt.thumb===Re?{...Rt,data:Ye}:Rt))).catch(()=>ye(Ye=>Ye.filter(Pe=>Pe.thumb!==Re))).finally(()=>Ge.current.delete(Re))}},gp=v=>{ye($=>{let fe=$[v]?.thumb;return fe&&URL.revokeObjectURL(fe),$.filter((Re,Ee)=>Ee!==v)})},xp=n&&(n.includes("rgba")||n.includes("hsla")||n==="transparent"),vp=a||xp?{backdropFilter:`blur(${typeof a=="number"?`${a}px`:a||"20px"})`,WebkitBackdropFilter:`blur(${typeof a=="number"?`${a}px`:a||"20px"})`}:{},si=mt(!1);wt(()=>{if(si.current&&!g){let v=k[k.length-1];v&&v.role!=="user"&&tr("reply")}si.current=g},[g,k]);let pa=(ie||B)&&!M&&!g,da=k[k.length-1],ua=Nc(da?.role==="assistant"?da.content??"":""),yp=da?.role==="assistant"&&ua.length<(da.content?.length??0),wo=g||yp,br=aa.useMemo(()=>{let v=M||g,$=k.filter((Ee,Ye)=>Ee.role!=="assistant"||Ye===k.length-1&&v?!0:!!Ee.content||!!Ee.visualization||Ee.visualizing||(Ee.knowledgeImages?.length??0)>0||(Ee.referencedIds?.length??0)>0||Tn(Ee.statusStage)),fe=$.length-1;if(fe<0||$[fe].role!=="assistant"||$[fe]!==k[k.length-1])return $;let Re=ua.length<($[fe].content?.length??0);return!v&&!Re?$:$.map((Ee,Ye)=>Ye===fe?{...Ee,content:ua}:Ee)},[k,M,g,ua]);wt(()=>{if(!(!Js||M||wo||P||pa||sa!=="off"))for(let v=br.length-1;v>=0;v--){let $=br[v];if(!($.role!=="assistant"||Tn($.statusStage)||!Mn($.content).content.trim())){Zs(!1),ho(v);break}}},[Js,br,M,wo,P,pa,sa]);let wp=aa.useMemo(()=>{let v=[];return br.forEach(($,fe)=>{if($.role==="user"&&$.content.trim()){let Re=$.content.replace(/^@kiku\s*/i,"").replace(/\s+/g," ").trim();v.push({idx:fe,text:Re.length>28?Re.slice(0,27).trimEnd()+"\u2026":Re})}}),v},[br]),Cp=pa&&br[br.length-1]?.role!=="assistant",ii=mt(Date.now());return wt(()=>{ii.current=Date.now()},[]),Ve(Po.Provider,{value:Z,children:Ve("div",{ref:An,className:oe("hsk-cb-overlay",x&&"hsk-cb-overlay--grows",ko&&"hsk-cb-overlay--closing",l.overlay),onPointerDown:v=>{Cr(),v.target===v.currentTarget&&(An.current._ptrDown=!0)},onClick:v=>{v.target===v.currentTarget&&An.current?._ptrDown&&Date.now()-ii.current>200&&ha(),An.current&&(An.current._ptrDown=!1)},"data-hsk-theme":Zr,"data-hsk-layout":la.wide?"wide":"bubbles","data-hsk-theming":uh?"":void 0,style:{...vp,...n?{background:n}:{},...x?{"--hsk-ox":`${x.x}px`,"--hsk-oy":`${x.y}px`}:{},...mh},children:Ar("div",{ref:en,className:oe("hsk-cb-panel",l.panel),dir:ce?"rtl":"ltr",lang:Se||void 0,"data-script":_e?"nonlatin":"latin","data-host-font":qe?"covers":"gap","data-nastaliq":me?.family==="Noto Nastaliq Urdu"||Q?.toLowerCase()==="urdu"||Q?.toLowerCase()==="ur"||Q==="\u0627\u0631\u062F\u0648"?"true":void 0,style:ve?{"--hsk-font":ve}:void 0,onClick:v=>{v.stopPropagation();let $=v.target;if($.tagName==="IMG"&&($.classList.contains("hsk-markdown-img")||$.classList.contains("hsk-cb-user-img-thumb"))){let fe=$.src;fe&&It(fe)}},children:[Ve(ta,{src:pt?.src,images:pt?.images,initialIndex:pt?.initialIndex,title:pt?.title,onClose:()=>We(null)}),ct&&Ve("div",{className:"hsk-markup-overlay",children:Ve(uc,{src:ct,t:Z,onCancel:()=>kt(null),onSend:(v,$,fe,Re)=>{kt(null),wr($,[{type:"image",data:v,annotated:!0,marks:fe,instructed:!0,preview:Re}])}})}),Ar("div",{className:"hsk-cb-main",children:[Ve(Ma,{seed:u?.api?.siteId??"",theme:Zr,dir:ce?"rtl":"ltr",waitForContent:!0}),Ve(dl,{layoutControl:Ve(bs,{wide:la.wide,onToggle:fo,emphasized:ei}),title:e,logo:r,hasMessages:k.length>0,avatarState:g?"speaking":M?"thinking":"idle",unread:op,awayFromBottom:rp,themeMenuOpen:Bt,themeMenuClosing:Pn,themeDiscovery:Xs,onThemeMenuReady:Qh,onThemeMenuClosed:ca,isNarrow:Pr,currentTheme:Zt,onJumpToLatest:ip,onReset:hp,onClose:ha,onToggleThemeMenu:()=>Bt?bo():tn(!0),onSelectTheme:v=>{qs(v,!0)},themeAttr:Zr}),Ve("div",{className:"hsk-cb-msgs",ref:Fr,children:br.length===0?Ve(xl,{theme:Zr,inOnboarding:ae,justCompleted:f,onboardingMood:so,awaitingLang:V,awaitingName:re,awaitingEntityLang:be,awaitingConsent:pe,termsAgreed:st,shopperLanguage:Q,pendingLanguage:Y,shopperName:z,entityLangPref:O,chromeReady:he&&q,activeChips:oo,speechLang:Se,t:Z,tNode:Fe,chooseLanguage:ur,langSwitching:ge,isLangPreparing:Ft,chooseEntityLang:ro,agreeTerms:no,handleSend:wr}):Ve(jl,{afterReply:lo===null?void 0:{index:lo,node:Ve(Ps,{onOpenDock:lp})},doodleTheme:Zr,displayMessages:br,messageRefs:ri,isNarrow:Pr,loading:M,streaming:wo,sources:C,referencedIds:D,discussedSources:Oe,lastIntent:W,lastAction:T,stopped:ie,interrupted:B,halted:pa,haltedEmpty:Cp,error:P,errorCode:_,keyPhase:vh,keyInput:gh,setKeyInput:xh,mintedKey:yh,setMintedKey:wh,setMintedPub:Ch,minting:Th,copied:Sh,keyCountdown:Mh,handleUseExistingKey:Lh,handleCreateKey:Eh,copyValue:Rh,queuedMessage:H,sendQueuedNow:se,setLightboxSrc:It,setMarkupSrc:kt,handleSend:wr,handleSourceClick:pp,onRetry:oa,onEdit:fh,onLongPress:cp,retrying:bh,continueGenerating:le,t:Z,spacerRef:ep,vizState:rt,setVizState:ft,messages:k})}),!Me&&Ve("div",{className:oe("hsk-cb-composer-wrapper",xt&&"hsk-composer-exit-up",Xe&&"hsk-composer-reveal"),children:Ve(Ql,{notice:S&&Ar("div",{className:"hsk-cb-leave",role:"alertdialog",ref:E,children:[Ve("span",{children:Z("leaveHumanWarning")}),Ve("button",{type:"button",className:"hsk-cb-leave-btn",onClick:()=>X(null),children:Z("leaveHumanStay")}),Ve("button",{type:"button",className:"hsk-cb-leave-btn hsk-cb-leave-btn--end",onClick:()=>{let v=S;X(null),v==="reset"?xo(!0):go(!0)},children:Z("leaveHumanConfirm")})]}),gooId:Zh,input:tt,setInput:ht,showKikuPicker:Qt,setShowKikuPicker:bt,showAtPicker:qt,setShowAtPicker:zt,captureAllowed:Ke,discussedSources:Oe,handleSelectExtension:dp,handleKikuCapture:Ih,handleKikuCaptureAll:Ah,handleKikuViewHistory:Ph,handleKikuDelete:_h,attachments:Nt,removeAttachment:gp,chromeLoading:!he,imageInputRef:gt,handleImageFiles:kp,enableVision:b&&!ae,enableVoice:h&&!ae,canConverse:Wh,startVoice:Uh,inputLocked:Ne,voiceBlocked:$h,textareaRef:mr,classNames:l,handleInput:fp,handleKeyDown:up,voice:Gh,voicePhase:js,activePlaceholder:ao,loading:M,streaming:g,stop:de,handleSend:wr,voiceError:co,setVoiceError:Ks,langSwitching:ge||Ft,t:Z,onOpenMimi:u?.getKikuKey?.()?zh:void 0})})]}),sa!=="converse"&&Ve(ah,{items:wp,activeIdx:ap,progress:np,onJump:sp,side:ce?"left":"right"}),Ar("div",{className:oe("hsk-cb-kiku-id-rail",ce?"hsk-cb-kiku-id-rail--right":"hsk-cb-kiku-id-rail--left",Bt&&!Pn&&"is-theme-open"),children:[Ve("div",{className:"hsk-cb-dock-frost","aria-hidden":"true"}),Ve(_a,{}),Ar("div",{className:oe("hsk-cb-theme-squircle-wrap",Bt&&!Pn&&"is-open"),ref:ia,children:[Ve("div",{className:"hsk-cb-theme-2x2-grid",role:"dialog","aria-label":"Theme selector",ref:v=>{v&&(v.inert=!Bt||Pn)},children:cn.map(({id:v,label:$,Icon:fe})=>Ar("button",{type:"button",className:oe("hsk-cb-theme-grid-item",(Jh??Zt)===v&&"is-active"),onClick:Re=>{Re.stopPropagation(),qs(v,!0)},children:[Ve(fe,{}),Ve("span",{children:$})]},v))}),Ar("button",{type:"button",className:"hsk-cb-theme-squircle-trigger",onClick:()=>{if(Bt){ca();return}uo(Zt),tn(!0)},"aria-label":"Themes","aria-expanded":Bt,children:[Ve("span",{className:"hsk-cb-theme-trigger-icon",children:aa.createElement(Bo(Zt).Icon)}),Ve("span",{className:"hsk-cb-theme-trigger-label",children:Bo(Zt).label})]})]}),!Pr&&Bt&&Xs&&Ve(Da,{closing:Pn}),Ar("div",{className:"hsk-cb-layout-dock-anchor",children:[Ve(bs,{wide:la.wide,onToggle:fo,emphasized:ei}),lo!==null&&Ve(Ps,{placement:"dock",onOpenDock:fo})]})]}),sa==="converse"&&Ve(th,{siteId:u?.api?.siteId??"",themeAttr:Zr,stopVoice:Vh,chooseVoice:qh,liveVoiceName:Oh,voiceSecondsLeft:Bh,voiceConnecting:Fh,voicePhase:js,live:Ys,earlier:jh,newVoiceChat:Kh,voiceMuted:Dh,setVoiceMuted:Hh,voiceError:co,attachPhoto:Yh,onSelectSource:v=>{s?.(v),Ys.ask(Z("cardClickQuery",{name:v.name,details:Co(er(v,A))}))},t:Z}),In&&Ve(ih,{msg:In.msg,rect:In.rect,anchorEl:In.el,containerEl:en.current,scrollEl:Fr.current,containerRect:en.current?.getBoundingClientRect(),isUser:In.isUser,isRTL:ce,canRetry:!M&&!g,onPin:Nh,onRetry:oa,onCopy:async v=>{if(!v)return!1;try{return await navigator.clipboard.writeText(v),!0}catch{}try{let $=document.createElement("textarea");$.value=v,$.setAttribute("readonly",""),$.style.cssText="position:fixed;top:0;left:0;opacity:0;pointer-events:none",document.body.appendChild($),$.select(),$.setSelectionRange(0,v.length);let fe=document.execCommand("copy");return document.body.removeChild($),fe}catch{return!1}},onClose:()=>Gs(null),t:Z})]})})})}import{Fragment as ph,jsx as Ds,jsxs as Hs}from"react/jsx-runtime";function nb({label:e="Ask AI",children:r,icon:t,title:n,logo:a,placeholder:o,backdropColor:s,backdropBlur:c,className:i,onSelectSource:l,chips:h,theme:p,classNames:d={},enableVoice:b=!1,voiceWorkletUrl:m,voiceLang:x,ttsVoice:u,enableVision:A=!1}){let k=rb(),[C,M]=to(!1),[g,P]=to(!1),[_,T]=to(null),[W,R]=to(0);hh(()=>{if(C){R(0);return}let B=!0;return k?.api?.unreadFromTeam?.().then(le=>{B&&R(le)}).catch(()=>{}),()=>{B=!1}},[C,k]);let N=Fs(()=>{Mo();try{Ii(k,k?.getShopperLanguage?.()??"",Dt),k?.api?.widgetSettings?.().then(B=>{B?.detectedLanguage&&B.detectedLanguage.toLowerCase()!=="english"&&Io(k,B.detectedLanguage,Dt)}).catch(()=>{})}catch{}},[k]),H=eb(null),se=Fs(()=>{let B=H.current?.getBoundingClientRect();T(B?{x:B.left+B.width/2,y:B.top+B.height/2}:null),M(!0),N();try{Cr()}catch{}},[N]);hh(()=>{if(P(!0),N(),typeof window<"u"&&!window.__akropolys_nav_patched){window.__akropolys_nav_patched=!0;let le=window.location.pathname,j=window.history.pushState,D=window.history.replaceState;window.history.pushState=function(...U){j.apply(this,U),window.location.pathname!==le&&(le=window.location.pathname,window.dispatchEvent(new CustomEvent("akropolys:navigation")))},window.history.replaceState=function(...U){D.apply(this,U),window.location.pathname!==le&&(le=window.location.pathname,window.dispatchEvent(new CustomEvent("akropolys:navigation")))}}let B=()=>{M(!1)};return window.addEventListener("popstate",B),window.addEventListener("akropolys:navigation",B),()=>{window.removeEventListener("popstate",B),window.removeEventListener("akropolys:navigation",B)}},[N]);let I=Fs(()=>{M(!1),requestAnimationFrame(()=>H.current?.focus())},[]),{themeAttr:de,vars:ie}=ba(p);return fa(p),Hs(ph,{children:[Hs("button",{ref:H,className:oe("hsk-cb-btn",d.button,i),onClick:se,onPointerEnter:N,onPointerDown:N,style:ie,"data-hsk-theme":de,"aria-label":"Open AI chat","aria-haspopup":"dialog","aria-expanded":C,children:[r!==void 0?r:Hs(ph,{children:[t?Ds("span",{className:"hsk-cb-btn-icon",style:{display:"flex",alignItems:"center"},children:t}):null,e]}),W>0&&Ds("span",{className:"hsk-cb-btn-badge","aria-label":`${W} new replies`,children:W})]}),C&&g&&tb(Ds(_s,{title:n,logo:a,placeholder:o,backdropColor:s,backdropBlur:c,origin:_,onClose:I,onSelectSource:l,chips:h??Fn,theme:p,classNames:d,enableVoice:b,voiceWorkletUrl:m,voiceLang:x,enableVision:A,ttsVoice:u}),Mo()??document.body)]})}export{nb as KikuButton,Lp as SearchBar};
|
|
41
8
|
//# sourceMappingURL=index.mjs.map
|