@bd7pil/ocrc 0.23.0 → 0.24.1

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.
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../chunks/BxdASL1c.js","../chunks/BjY4dxcB.js"])))=>i.map(i=>d[i]);
2
+ import{_ as sa}from"../chunks/C1FmrZbK.js";import"../chunks/CWj6FrbW.js";import{r as wt,f as _e,p as Ut,l as Xt,i as ba,G as ga,y as wa,k as ca,a as na,b as oa,c as ra,j as ka,z as Ht,e as xa,C as ya,w as $a}from"../chunks/BxdASL1c.js";import{aE as kt,M as Tt,a4 as De,w as h,aB as xt,V as xe,b4 as l,J as o,aK as s,a$ as T,a8 as e,aR as q,a3 as y,aU as r,a6 as _,az as Qt,ap as w,aO as t,aq as It,$ as ft,au as n,b2 as va,aw as Et,av as Mt,ay as Vt,b1 as Nt,aI as Ia,b5 as Ft,b0 as Sa,a7 as Ca,Z as Lt}from"../chunks/BjY4dxcB.js";import{i as j,s as Pt,a as Me}from"../chunks/Chcp5gAM.js";import{i as Be,B as Wt,I as Ye,z as oe,A as at,l as jt,c as Ma,f as Zt,g as da,t as Ea,h as qa,v as Ta,K as ia,a as ja,F as Da,E as Ba,q as Oa,m as Kt,r as Aa,s as Ra,y as Pa,C as La,o as la,j as za}from"../chunks/BhZce_xA.js";import{p as gt,b as Je}from"../chunks/vlg9iH2u.js";import{g as Gt}from"../chunks/Dm1tyN1d.js";var Fa=_('<button class="chip svelte-1hbn5f9" role="listitem"> </button>'),Ha=_('<div class="suggestions svelte-1hbn5f9" role="list" aria-label="建议的后续操作"><!> <button class="dismiss svelte-1hbn5f9" aria-label="忽略建议"><!></button></div>');function Na($e,re){kt(re,!1);let A=gt(re,"suggestions",24,()=>[]),I=gt(re,"onPick",8,()=>{}),J=gt(re,"onDismiss",8,()=>{});wt();var Y=Tt(),D=De(Y);{var x=M=>{var E=Ha(),z=o(E);Be(z,3,A,c=>c,(c,k,S)=>{var B=Fa(),de=o(B,!0);s(B),T(b=>{Wt(B,b),q(de,e(k))},[()=>(xe(e(S)),l(()=>`animation-delay: ${Math.min(e(S),5)*45}ms`))]),y("click",B,()=>I()(e(k))),h(c,B)});var be=r(z,2),R=o(be);Ye(R,{name:"close",size:12}),s(be),s(E),y("click",be,function(...c){var k;(k=J())==null||k.apply(this,c)}),h(M,E)};j(D,M=>{xe(A()),l(()=>A().length>0)&&M(x)})}h($e,Y),xt()}var Wa=_('<div class="none label svelte-1f5vmb3">未配置 agent</div>'),Ka=_('<button role="option"><span> </span> <span class="label mono"> </span></button>'),Ga=_('<div class="pop svelte-1f5vmb3" role="listbox" aria-label="Agent 覆盖"><!> <!> <button class="opt clear svelte-1f5vmb3" role="option"><!> 清除覆盖</button></div>'),Ua=_('<div class="wrap svelte-1f5vmb3"><button class="chip mono svelte-1f5vmb3" aria-haspopup="listbox"><!> <span class="txt svelte-1f5vmb3"> </span> <!></button> <button class="chip icon mono svelte-1f5vmb3" aria-haspopup="listbox"><!></button> <!></div>');function Va($e,re){kt(re,!1);const A=n();let I=n(!1),J=n(),Y=n([]),D=n({agent:null,model:null});async function x(){try{await(async p=>{var C=va(p,2);t(Y,C[0]),t(D,C[1])})(await Promise.all([_e.agents(),_e.getOverrides()]))}catch{}}Qt(x);async function M(p){await _e.setOverrides({agent:p.name}),await x(),t(I,!1)}async function E(){await _e.setOverrides({agent:null}),await x(),t(I,!1)}function z(p){p.key==="Escape"&&e(I)&&t(I,!1)}function be(p){e(I)&&e(J)&&!e(J).contains(p.target)&&t(I,!1)}w(()=>e(D),()=>{t(A,e(D).agent??"default")}),It(),wt();var R=Ua();y("keydown",ft,z),y("click",ft,be);var c=o(R),k=o(c);Ye(k,{name:"cpu",size:11});var S=r(k,2),B=o(S,!0);s(S);var de=r(S,2);Ye(de,{name:"caret-down",size:9}),s(c);var b=r(c,2),K=o(b);Ye(K,{name:"cpu",size:14}),s(b);var Z=r(b,2);{var d=p=>{var C=Ga(),F=o(C);{var ie=V=>{var f=Wa();h(V,f)};j(F,V=>{e(Y),l(()=>e(Y).length===0)&&V(ie)})}var he=r(F,2);Be(he,1,()=>e(Y),V=>V.name,(V,f)=>{var U=Ka();let ge;var ye=o(U),te=o(ye,!0);s(ye);var se=r(ye,2),L=o(se,!0);s(se),s(U),T(ne=>{ge=at(U,1,"opt svelte-1f5vmb3",null,ge,{sel:e(f).name===e(D).agent}),oe(U,"aria-selected",(e(f),e(D),l(()=>e(f).name===e(D).agent))),q(te,(e(f),l(()=>e(f).name))),q(L,ne)},[()=>(e(f),l(()=>e(f).model.split("/").pop()))]),y("click",U,()=>M(e(f))),h(V,U)});var G=r(he,2),P=o(G);Ye(P,{name:"close",size:11}),Et(),s(G),s(C),T(()=>oe(G,"aria-selected",(e(D),l(()=>e(D).agent==null)))),y("click",G,E),h(p,C)};j(Z,p=>{e(I)&&p(d)})}s(R),Je(R,p=>t(J,p),()=>e(J)),T(()=>{oe(c,"aria-expanded",e(I)),q(B,e(A)),oe(b,"aria-label",`Agent:${e(A)}`),oe(b,"aria-expanded",e(I))}),y("click",c,()=>{t(I,!e(I)),e(I)&&x()}),y("click",b,()=>{t(I,!e(I)),e(I)&&x()}),h($e,R),xt()}var Ja=_('<div class="none label svelte-1005b73">暂无模型</div>'),Ya=_('<button role="option"><span> </span></button>'),Xa=_('<div class="prov label mono svelte-1005b73"> </div> <!>',1),Za=_('<div class="pop svelte-1005b73" role="listbox" aria-label="模型覆盖"><!> <!> <button class="opt clear svelte-1005b73" role="option"><!> 清除覆盖</button></div>'),Qa=_('<div class="wrap svelte-1005b73"><button class="chip mono svelte-1005b73" aria-haspopup="listbox"><!> <span class="txt svelte-1005b73"> </span> <!></button> <button class="chip icon mono svelte-1005b73" aria-haspopup="listbox"><!></button> <!></div>');function es($e,re){kt(re,!1);const A=n();let I=n(!1),J=n(),Y=n([]),D=n({agent:null,model:null});async function x(){try{await(async p=>{var C=va(p,2);t(Y,C[0]),t(D,C[1])})(await Promise.all([_e.models(),_e.getOverrides()]))}catch{}}Qt(x);async function M(p,C){await _e.setOverrides({model:{providerID:p,modelID:C}}),await x(),t(I,!1)}async function E(){await _e.setOverrides({model:null}),await x(),t(I,!1)}function z(p){p.key==="Escape"&&e(I)&&t(I,!1)}function be(p){e(I)&&e(J)&&!e(J).contains(p.target)&&t(I,!1)}w(()=>e(D),()=>{var p;t(A,((p=e(D).model)==null?void 0:p.modelID)??"model")}),It(),wt();var R=Qa();y("keydown",ft,z),y("click",ft,be);var c=o(R),k=o(c);Ye(k,{name:"bolt",size:11});var S=r(k,2),B=o(S,!0);s(S);var de=r(S,2);Ye(de,{name:"caret-down",size:9}),s(c);var b=r(c,2),K=o(b);Ye(K,{name:"bolt",size:14}),s(b);var Z=r(b,2);{var d=p=>{var C=Za(),F=o(C);{var ie=V=>{var f=Ja();h(V,f)};j(F,V=>{e(Y),l(()=>e(Y).length===0)&&V(ie)})}var he=r(F,2);Be(he,1,()=>e(Y),V=>V.id,(V,f)=>{var U=Xa(),ge=De(U),ye=o(ge,!0);s(ge);var te=r(ge,2);Be(te,1,()=>(e(f),l(()=>e(f).models)),se=>se.id,(se,L)=>{var ne=Ya();let ue;var m=o(ne),X=o(m,!0);s(m),s(ne),T(()=>{var le,pe;ue=at(ne,1,"opt svelte-1005b73",null,ue,{sel:((le=e(D).model)==null?void 0:le.providerID)===e(f).id&&((pe=e(D).model)==null?void 0:pe.modelID)===e(L).id}),oe(ne,"aria-selected",(e(D),e(f),e(L),l(()=>{var Ee,Xe;return((Ee=e(D).model)==null?void 0:Ee.providerID)===e(f).id&&((Xe=e(D).model)==null?void 0:Xe.modelID)===e(L).id}))),q(X,(e(L),l(()=>e(L).name||e(L).id)))}),y("click",ne,()=>M(e(f).id,e(L).id)),h(se,ne)}),T(()=>q(ye,(e(f),l(()=>e(f).id)))),h(V,U)});var G=r(he,2),P=o(G);Ye(P,{name:"close",size:11}),Et(),s(G),s(C),T(()=>oe(G,"aria-selected",(e(D),l(()=>e(D).model==null)))),y("click",G,E),h(p,C)};j(Z,p=>{e(I)&&p(d)})}s(R),Je(R,p=>t(J,p),()=>e(J)),T(()=>{oe(c,"aria-expanded",e(I)),q(B,e(A)),oe(b,"aria-label",`模型:${e(A)}`),oe(b,"aria-expanded",e(I))}),y("click",c,()=>{t(I,!e(I)),e(I)&&x()}),y("click",b,()=>{t(I,!e(I)),e(I)&&x()}),h($e,R),xt()}var ts=_('<button role="option"> </button>'),as=_('<div class="pop svelte-dkbq22" role="listbox" aria-label="Mode"><div class="label">Mode</div> <!></div>'),ss=_('<div class="wrap svelte-dkbq22"><button class="chip mono svelte-dkbq22" aria-haspopup="listbox"><!> <span class="txt svelte-dkbq22"> </span> <!></button> <!></div>'),ns=_('<button role="option"> </button>'),os=_('<div class="pop svelte-dkbq22" role="listbox" aria-label="Model"><div class="label">Model</div> <!></div>'),rs=_('<div class="wrap svelte-dkbq22"><button class="chip mono svelte-dkbq22" aria-haspopup="listbox"><!> <span class="txt svelte-dkbq22"> </span> <!></button> <!></div>'),is=_('<div class="controls svelte-dkbq22"><!> <!></div>');function ls($e,re){kt(re,!1);const A=n(),I=n(),J=n(),Y=n();let D=gt(re,"sessionId",8),x=n({}),M=n(null);async function E(){const d=D();try{const p=await _e.controls(d);if(d!==D())return;t(x,p)}catch{d===D()&&t(x,{})}}async function z(d){e(x).mode&&Mt(x,e(x).mode={...e(x).mode,current:d}),t(M,null);try{await _e.setMode(D(),d)}catch{}await E()}async function be(d){e(x).model&&Mt(x,e(x).model={...e(x).model,current:d}),t(M,null);try{await _e.setModel(D(),d)}catch{}await E()}function R(d){t(M,e(M)===d?null:d)}let c=n();function k(d){d.key==="Escape"&&e(M)&&t(M,null)}function S(d){e(M)&&e(c)&&!e(c).contains(d.target)&&t(M,null)}w(()=>xe(D()),()=>{D()&&E()}),w(()=>e(x),()=>{var d;t(A,((d=e(x).mode)==null?void 0:d.options)??[])}),w(()=>e(x),()=>{var d;t(I,((d=e(x).model)==null?void 0:d.options)??[])}),w(()=>e(x),()=>{var d,p,C;t(J,((p=(d=e(x).mode)==null?void 0:d.options.find(F=>{var ie;return F.id===((ie=e(x).mode)==null?void 0:ie.current)}))==null?void 0:p.name)??((C=e(x).mode)==null?void 0:C.current)??"mode")}),w(()=>e(x),()=>{var d,p,C;t(Y,((p=(d=e(x).model)==null?void 0:d.options.find(F=>{var ie;return F.id===((ie=e(x).model)==null?void 0:ie.current)}))==null?void 0:p.name)??((C=e(x).model)==null?void 0:C.current)??"model")}),It(),wt();var B=is();y("keydown",ft,k),y("click",ft,S);var de=o(B);{var b=d=>{var p=ss(),C=o(p),F=o(C);Ye(F,{name:"bolt",size:11});var ie=r(F,2),he=o(ie,!0);s(ie);var G=r(ie,2);Ye(G,{name:"caret-down",size:9}),s(C);var P=r(C,2);{var V=f=>{var U=as(),ge=r(o(U),2);Be(ge,1,()=>e(A),jt,(ye,te)=>{var se=ts();let L;var ne=o(se,!0);s(se),T(()=>{var ue;L=at(se,1,"opt svelte-dkbq22",null,L,{sel:e(te).id===((ue=e(x).mode)==null?void 0:ue.current)}),oe(se,"aria-selected",(e(te),e(x),l(()=>{var m;return e(te).id===((m=e(x).mode)==null?void 0:m.current)}))),q(ne,(e(te),l(()=>e(te).name)))}),y("click",se,()=>z(e(te).id)),h(ye,se)}),s(U),h(f,U)};j(P,f=>{e(M)==="mode"&&f(V)})}s(p),T(()=>{oe(C,"aria-expanded",e(M)==="mode"),q(he,e(J))}),y("click",C,()=>R("mode")),h(d,p)};j(de,d=>{e(A),l(()=>e(A).length>0)&&d(b)})}var K=r(de,2);{var Z=d=>{var p=rs(),C=o(p),F=o(C);Ye(F,{name:"cpu",size:11});var ie=r(F,2),he=o(ie,!0);s(ie);var G=r(ie,2);Ye(G,{name:"caret-down",size:9}),s(C);var P=r(C,2);{var V=f=>{var U=os(),ge=r(o(U),2);Be(ge,1,()=>e(I),jt,(ye,te)=>{var se=ns();let L;var ne=o(se,!0);s(se),T(()=>{var ue;L=at(se,1,"opt svelte-dkbq22",null,L,{sel:e(te).id===((ue=e(x).model)==null?void 0:ue.current)}),oe(se,"aria-selected",(e(te),e(x),l(()=>{var m;return e(te).id===((m=e(x).model)==null?void 0:m.current)}))),q(ne,(e(te),l(()=>e(te).name)))}),y("click",se,()=>be(e(te).id)),h(ye,se)}),s(U),h(f,U)};j(P,f=>{e(M)==="model"&&f(V)})}s(p),T(()=>{oe(C,"aria-expanded",e(M)==="model"),q(he,e(Y))}),y("click",C,()=>R("model")),h(d,p)};j(K,d=>{e(I),l(()=>e(I).length>0)&&d(Z)})}s(B),Je(B,d=>t(c,d),()=>e(c)),h($e,B),xt()}const zt={user:"var(--info)",assistant:"var(--accent)",tool:"var(--ok)",other:"var(--border)"};function Yt($e){if(!$e)return 0;let re=0;for(const I of $e)(I.codePointAt(0)??0)>=11904&&re++;const A=$e.length-re;return Math.round(re*.6+A*.25)}function cs($e,re){let A=0,I=0,J=0;for(const M of $e)if(M.kind==="user")A+=Yt(String(M.text??""));else if(M.kind==="assistant")for(const E of M.blocks??[])E.type==="text"?I+=Yt(String(E.text??"")):E.type==="tool"&&(J+=Yt(String(E.args??"")));const Y=A+I+J,D=Math.max(0,re-Y),x=[{key:"用户",tokens:A,color:zt.user},{key:"助手",tokens:I,color:zt.assistant},{key:"工具调用",tokens:J,color:zt.tool}];return D>0&&x.push({key:"其他",tokens:D,color:zt.other}),{segments:x.filter(M=>M.tokens>0),accounted:Y,used:re}}var vs=_('<span class="seg svelte-4bdpxt"></span>'),ds=_('<span class="lg svelte-4bdpxt"><span class="dot svelte-4bdpxt"></span> </span>'),us=_('<div class="bar svelte-4bdpxt" aria-hidden="true"></div> <div class="legend svelte-4bdpxt"></div>',1),ps=_('<div class="bar svelte-4bdpxt" aria-hidden="true"></div>'),fs=_('<div class="row svelte-4bdpxt"><span>缓存命中率</span><span class="mono svelte-4bdpxt"> </span></div>'),ms=_('<div class="row svelte-4bdpxt"><span>消息</span><span class="mono svelte-4bdpxt"> </span></div>'),hs=_('<div class="row svelte-4bdpxt"><span>模型</span><span class="mono svelte-4bdpxt"> </span></div>'),_s=_('<div class="row svelte-4bdpxt"><span>总成本</span><span class="mono svelte-4bdpxt"> </span></div>'),bs=_('<div class="pop svelte-4bdpxt" role="dialog" aria-label="上下文用量"><div class="head svelte-4bdpxt"><span class="label svelte-4bdpxt">上下文</span> <span class="mono dim svelte-4bdpxt"> </span></div> <!> <div class="rows svelte-4bdpxt"><!> <!> <!> <!></div></div>'),gs=_('<div class="wrap svelte-4bdpxt"><button class="ring svelte-4bdpxt" title="上下文占用"><svg viewBox="0 0 24 24" aria-hidden="true" class="svelte-4bdpxt"><circle class="track svelte-4bdpxt" cx="12" cy="12"></circle><circle class="arc svelte-4bdpxt" cx="12" cy="12" transform="rotate(-90 12 12)"></circle></svg> <span class="pct mono svelte-4bdpxt"> <i class="svelte-4bdpxt">%</i></span></button> <!></div>');function ws($e,re){kt(re,!1);const A=()=>Me(Ut,"$feeds",I),[I,J]=Pt(),Y=n(),D=n(),x=n(),M=n(),E=n(),z=n(),be=n(),R=n(),c=n(),k=n(),S=n(),B=n(),de=n(),b=n(),K=n(),Z=n();let d=gt(re,"sessionId",8),p=n({}),C=n(!1),F=n(),ie,he=n(),G=n(-1),P=n();async function V(u){try{t(p,await _e.context(u))}catch{}}Vt(()=>{clearTimeout(e(P)),clearTimeout(ie)});const f=10,U=2*Math.PI*f;function ge(u){return u>=1e6?(u/1e6).toFixed(1)+"M":u>=1e3?(u/1e3).toFixed(1)+"k":String(u)}function ye(u){return u==null?"—":`$${u.toFixed(3)}`}function te(){clearTimeout(ie),t(C,!0)}function se(){clearTimeout(ie),ie=setTimeout(()=>t(C,!1),180)}function L(u){u.key==="Escape"&&t(C,!1)}function ne(u){e(C)&&e(F)&&!e(F).contains(u.target)&&t(C,!1)}w(()=>(xe(d()),e(he)),()=>{d()!==e(he)&&(t(he,d()),V(d()))}),w(()=>(A(),xe(d())),()=>{var u;t(Y,((u=A()[d()])==null?void 0:u.lastSeq)??0)}),w(()=>(e(Y),e(G),e(P),xe(d())),()=>{e(Y)!==e(G)&&(t(G,e(Y)),clearTimeout(e(P)),t(P,setTimeout(()=>void V(d()),1e3)))}),w(()=>e(p),()=>{var u,H;t(D,typeof((H=(u=e(p))==null?void 0:u.tokens)==null?void 0:H.input)=="number"?e(p).tokens.input:0)}),w(()=>e(p),()=>{var u,H;t(x,typeof((H=(u=e(p))==null?void 0:u.tokens)==null?void 0:H.output)=="number"?e(p).tokens.output:0)}),w(()=>(e(p),e(D),e(x)),()=>{var u,H;t(M,typeof((H=(u=e(p))==null?void 0:u.tokens)==null?void 0:H.used)=="number"?e(p).tokens.used:e(D)+e(x))}),w(()=>e(p),()=>{var u,H;t(E,typeof((H=(u=e(p))==null?void 0:u.tokens)==null?void 0:H.max)=="number"?e(p).tokens.max:void 0)}),w(()=>(e(M),e(E)),()=>{t(z,e(M)>0&&e(E)?Math.min(100,e(M)/e(E)*100):0)}),w(()=>e(z),()=>{t(be,e(z)>=90?"var(--err)":e(z)>=70?"var(--warn)":"var(--ok)")}),w(()=>e(p),()=>{var u;t(R,(u=e(p))!=null&&u.model?String(e(p).model).split("/").pop():void 0)}),w(()=>e(p),()=>{var u;t(c,typeof((u=e(p))==null?void 0:u.cost)=="number"?e(p).cost:void 0)}),w(()=>e(p),()=>{var u,H,fe;t(k,typeof((fe=(H=(u=e(p))==null?void 0:u.tokens)==null?void 0:H.cache)==null?void 0:fe.read)=="number"?e(p).tokens.cache.read:0)}),w(()=>e(p),()=>{var u,H,fe;t(S,typeof((fe=(H=(u=e(p))==null?void 0:u.tokens)==null?void 0:H.cache)==null?void 0:fe.write)=="number"?e(p).tokens.cache.write:0)}),w(()=>(e(D),e(k)),()=>{t(B,e(D)+e(k)>0?Math.round(e(k)/(e(D)+e(k))*100):void 0)}),w(()=>(A(),xe(d())),()=>{t(de,A()[d()])}),w(()=>e(de),()=>{t(b,Xt(e(de)).filter(u=>u.kind==="user"||u.kind==="assistant").length)}),w(()=>e(de),()=>{t(K,Xt(e(de)))}),w(()=>(e(K),e(M)),()=>{t(Z,cs(e(K),e(M)))}),It(),wt();var ue=gs();y("keydown",ft,L),y("click",ft,ne);var m=o(ue),X=o(m),le=o(X);oe(le,"r",f);var pe=r(le);oe(pe,"r",f),s(X);var Ee=r(X,2),Xe=o(Ee,!0);Et(),s(Ee),s(m);var Oe=r(m,2);{var ce=u=>{var H=bs(),fe=o(H),Ce=r(o(fe),2),Le=o(Ce);s(Ce),s(fe);var Ge=r(fe,2);{var rt=a=>{var g=us(),O=De(g);Be(O,5,()=>(e(Z),l(()=>e(Z).segments)),jt,(N,ve)=>{var Re=vs();T(()=>Wt(Re,(e(ve),e(Z),l(()=>`width:${e(ve).tokens/(e(Z).used||1)*100}%; background:${e(ve).color}`)))),h(N,Re)}),s(O);var Q=r(O,2);Be(Q,5,()=>(e(Z),l(()=>e(Z).segments)),jt,(N,ve)=>{var Re=ds(),qt=o(Re),Te=r(qt);s(Re),T(we=>{Wt(qt,(e(ve),l(()=>`background:${e(ve).color}`))),q(Te,`${e(ve),l(()=>e(ve).key)??""} ${we??""}%`)},[()=>(e(M),e(ve),l(()=>e(M)>0?(e(ve).tokens/e(M)*100).toFixed(1):"0"))]),h(N,Re)}),s(Q),h(a,g)},mt=a=>{var g=ps();h(a,g)};j(Ge,a=>{e(Z),l(()=>e(Z).segments.length>0)?a(rt):a(mt,-1)})}var Ue=r(Ge,2),Ae=o(Ue);{var ze=a=>{var g=fs(),O=r(o(g)),Q=o(O);s(O),s(g),T(()=>q(Q,`${e(B)??""}%`)),h(a,g)};j(Ae,a=>{e(B)!=null&&a(ze)})}var qe=r(Ae,2);{var st=a=>{var g=ms(),O=r(o(g)),Q=o(O,!0);s(O),s(g),T(()=>q(Q,e(b))),h(a,g)};j(qe,a=>{e(b)>0&&a(st)})}var it=r(qe,2);{var ht=a=>{var g=hs(),O=r(o(g)),Q=o(O,!0);s(O),s(g),T(()=>q(Q,e(R))),h(a,g)};j(it,a=>{e(R)&&a(ht)})}var yt=r(it,2);{var v=a=>{var g=_s(),O=r(o(g)),Q=o(O,!0);s(O),s(g),T(N=>q(Q,N),[()=>(e(c),l(()=>ye(e(c))))]),h(a,g)};j(yt,a=>{e(c)!=null&&a(v)})}s(Ue),s(H),T((a,g)=>q(Le,`${a??""} / ${g??""}`),[()=>(e(M),l(()=>ge(e(M)))),()=>(e(E),l(()=>ge(e(E))))]),h(u,H)};j(Oe,u=>{e(C)&&e(E)&&u(ce)})}s(ue),Je(ue,u=>t(F,u),()=>e(F)),T((u,H,fe)=>{oe(m,"aria-label",u),oe(m,"aria-expanded",e(C)),oe(pe,"stroke",e(be)),oe(pe,"stroke-dasharray",H),q(Xe,fe)},[()=>(e(z),l(()=>`上下文占用 ${e(z).toFixed(0)}%`)),()=>(e(z),l(()=>`${Math.max(U*e(z)/100,e(z)>0?1.5:0)} ${U}`)),()=>(e(z),l(()=>e(z).toFixed(0)))]),y("click",m,()=>t(C,!e(C))),y("mouseenter",ue,te),y("mouseleave",ue,se),h($e,ue),xt(),J()}var ks=_('<div class="error svelte-60fagq" role="alert"> </div>'),xs=_('<button role="option"> </button>'),ys=_('<div class="mention-dropdown svelte-60fagq" role="listbox"></div>'),$s=_('<div class="thumb svelte-60fagq"><img alt="attachment" class="svelte-60fagq"/> <button class="remove svelte-60fagq" aria-label="移除图片">×</button></div>'),Is=_('<div class="thumbnails svelte-60fagq"></div>'),Ss=_('<button class="attach svelte-60fagq" aria-label="附加图片"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><circle cx="8.5" cy="8.5" r="1.5"></circle><polyline points="21 15 16 10 5 21"></polyline></svg></button> <input type="file" accept="image/*" multiple="" style="display:none"/>',1),Cs=_("<!> <!>",1),Ms=_('<button class="send stop svelte-60fagq" aria-label="停止" title="停止生成"><svg width="13" height="13" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><rect x="5" y="5" width="14" height="14" rx="2"></rect></svg></button>'),Es=Ca('<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 19V5M5 12l7-7 7 7"></path></svg>'),qs=_('<button class="send svelte-60fagq" aria-label="发送"><!></button>'),Ts=_('<div class="composer svelte-60fagq"><div class="dock svelte-60fagq"><!> <div><!> <!> <textarea aria-label="消息输入" class="svelte-60fagq"></textarea> <div class="footer svelte-60fagq"><!> <!> <!> <!> <button class="hint command svelte-60fagq">「/」命令</button> <span class="spacer svelte-60fagq"></span> <span class="hint send-hint svelte-60fagq">↵ 发送 · ⇧↵ 换行</span> <!></div></div></div></div>');function js($e,re){kt(re,!1);const A=()=>Me(Zt,"$composerDraft",x),I=()=>Me(Ut,"$feeds",x),J=()=>Me(ca,"$can",x),Y=()=>Me(qa,"$connection",x),D=()=>Me(ba,"$backendName",x),[x,M]=Pt(),E=n(),z=n(),be=n();let R=gt(re,"sessionId",8),c=n(""),k=n(),S=n(!1),B=n(""),de=n(!1),b=n(),K=n([]),Z=n([]),d=n(0),p=0,C,F=!1;async function ie(){if(!F){F=!0;try{await _e.abort(R())}catch{}finally{F=!1}}}function he(){return`c_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,8)}`}function G(v){const a=new FileReader;a.onload=()=>{var Re;const g=a.result,O=g.indexOf(","),Q=g.slice(0,O),N=g.slice(O+1),ve=((Re=Q.match(/data:(.*?);/))==null?void 0:Re[1])??v.type;t(K,[...e(K),{data:N,mimeType:ve,preview:g}])},a.readAsDataURL(v)}function P(v){const a=v.target;if(a.files){for(const g of a.files)G(g);a.value=""}}function V(v){if(!J()("imageInput")||!v.clipboardData)return;const a=[...v.clipboardData.items].filter(g=>g.type.startsWith("image/"));if(a.length){v.preventDefault();for(const g of a){const O=g.getAsFile();O&&G(O)}}}function f(v){t(K,e(K).filter((a,g)=>g!==v))}function U(){if(!e(k))return null;const v=e(k).selectionStart,g=e(c).slice(0,v).match(/(^|[\s])@([^\s]*)$/);return g?{token:g[2],start:v-g[2].length-1}:null}function ge(){const v=U();if(!v){t(Z,[]),clearTimeout(C);return}p=v.start,t(d,0),clearTimeout(C);const a=v.token;C=setTimeout(async()=>{try{t(Z,await _e.files(R(),a))}catch{t(Z,[])}},150)}function ye(v){const a=e(k).selectionStart,g=e(c).slice(0,p),O=e(c).slice(a),Q=`@${v} `;t(c,g+Q+O),t(Z,[]),Nt().then(()=>{const N=g.length+Q.length;Mt(k,e(k).selectionStart=Mt(k,e(k).selectionEnd=N)),e(k).focus(),L()})}async function te(){var Q;const v=e(c).trim();if(!v&&e(K).length===0||e(S))return;if(Y()!=="connected"){t(B,"Disconnected — reconnecting…");return}const a=he(),g=e(K).map(({data:N,mimeType:ve})=>({data:N,mimeType:ve}));t(S,!0),t(B,""),ga({kind:"user",sessionId:R(),text:v,ts:Date.now(),id:`user:${a}`}),t(c,"");const O=[...e(K)];t(K,[]),L();try{await _e.sendMessage({sessionId:R(),text:v,clientId:a,...g.length?{images:g}:{}})}catch(N){t(B,`Send failed: ${N.message}`),wa(`user:${a}`),t(c,v),t(K,O)}finally{t(S,!1),(Q=e(k))==null||Q.focus()}}function se(v){if(e(Z).length>0){if(v.key==="ArrowDown"){v.preventDefault(),t(d,Math.min(e(d)+1,e(Z).length-1));return}if(v.key==="ArrowUp"){v.preventDefault(),t(d,Math.max(e(d)-1,0));return}if(v.key==="Enter"||v.key==="Tab"){v.preventDefault(),ye(e(Z)[e(d)]);return}if(v.key==="Escape"){v.preventDefault(),t(Z,[]);return}}v.key!=="Enter"||v.shiftKey||v.isComposing||v.keyCode===229||(v.preventDefault(),te())}function L(){e(k)&&(Mt(k,e(k).style.height="auto"),Mt(k,e(k).style.height=Math.min(e(k).scrollHeight,140)+"px"))}Vt(()=>clearTimeout(C)),w(()=>(A(),e(k)),()=>{const v=A();v&&(t(c,v.text),Zt.set(void 0),Nt().then(()=>{var a;return(a=e(k))==null?void 0:a.focus()}),L())}),w(()=>e(c),()=>{da.set(!e(c).trim())}),w(()=>e(c),()=>{t(E,e(c).trim().length>0)}),w(()=>(e(k),e(c)),()=>{e(k)&&e(c)!==void 0&&L()}),w(()=>(I(),xe(R())),()=>{t(z,(()=>{const v=I()[R()];if(!v||v.order.length===0)return!1;const a=v.byId[v.order[v.order.length-1]];return(a==null?void 0:a.kind)==="thinking"||(a==null?void 0:a.kind)==="streaming"||(a==null?void 0:a.kind)==="think-stream"})())}),w(()=>(e(z),e(E),e(S)),()=>{t(be,e(z)&&!e(E)&&!e(S))}),It(),wt();var ne=Ts(),ue=o(ne),m=o(ue);{var X=v=>{var a=ks(),g=o(a,!0);s(a),T(()=>q(g,e(B))),h(v,a)};j(m,v=>{e(B)&&v(X)})}var le=r(m,2);let pe;var Ee=o(le);{var Xe=v=>{var a=ys();Be(a,5,()=>e(Z),jt,(g,O,Q)=>{var N=xs();let ve;var Re=o(N,!0);s(N),T(()=>{ve=at(N,1,"mention-row svelte-60fagq",null,ve,{active:Q===e(d)}),oe(N,"aria-selected",Q===e(d)),q(Re,e(O))}),y("mousedown",N,Ta(()=>ye(e(O)))),h(g,N)}),s(a),h(v,a)};j(Ee,v=>{e(Z),l(()=>e(Z).length>0)&&v(Xe)})}var Oe=r(Ee,2);{var ce=v=>{var a=Is();Be(a,5,()=>e(K),jt,(g,O,Q)=>{var N=$s(),ve=o(N),Re=r(ve,2);s(N),T(()=>oe(ve,"src",(e(O),l(()=>e(O).preview)))),y("click",Re,()=>f(Q)),h(g,N)}),s(a),h(v,a)};j(Oe,v=>{e(K),l(()=>e(K).length>0)&&v(ce)})}var u=r(Oe,2);Ia(u),oe(u,"rows",1),Je(u,v=>t(k,v),()=>e(k));var H=r(u,2),fe=o(H);{var Ce=v=>{var a=Ss(),g=De(a),O=r(g,2);Je(O,Q=>t(b,Q),()=>e(b)),y("click",g,()=>e(b).click()),y("change",O,P),h(v,a)},Le=Ft(()=>(J(),l(()=>J()("imageInput"))));j(fe,v=>{e(Le)&&v(Ce)})}var Ge=r(fe,2);{var rt=v=>{var a=Cs(),g=De(a);Va(g,{});var O=r(g,2);es(O,{}),h(v,a)},mt=Ft(()=>(J(),l(()=>J()("catalog"))));j(Ge,v=>{e(mt)&&v(rt)})}var Ue=r(Ge,2);{var Ae=v=>{ls(v,{get sessionId(){return R()}})},ze=Ft(()=>(J(),l(()=>J()("sessionControls"))));j(Ue,v=>{e(ze)&&v(Ae)})}var qe=r(Ue,2);ws(qe,{get sessionId(){return R()}});var st=r(qe,2),it=r(st,6);{var ht=v=>{var a=Ms();y("click",a,ie),h(v,a)},yt=v=>{var a=qs(),g=o(a);{var O=N=>{var ve=Sa("…");h(N,ve)},Q=N=>{var ve=Es();h(N,ve)};j(g,N=>{e(S)?N(O):N(Q,-1)})}s(a),T(N=>a.disabled=N,[()=>(e(S),e(c),e(K),Y(),l(()=>e(S)||!e(c).trim()&&e(K).length===0||Y()!=="connected"))]),y("click",a,te),h(v,a)};j(it,v=>{e(be)?v(ht):v(yt,-1)})}s(H),s(le),s(ue),s(ne),T(()=>{pe=at(le,1,"box svelte-60fagq",null,pe,{focused:e(de),"has-text":e(E)}),oe(u,"placeholder",Y()==="connected"?`给 ${D()} 留言…`:"连接断开…")}),Ma(u,()=>e(c),v=>t(c,v)),y("keydown",u,se),y("input",u,()=>{L(),ge()}),y("paste",u,V),y("focus",u,()=>t(de,!0)),y("blur",u,()=>t(de,!1)),y("click",u,ge),y("click",st,()=>Ea.set(!0)),h($e,ne),xt(),M()}var Ds=_('<span class="check svelte-rgafhj">✓</span>'),Bs=_('<button><span aria-hidden="true"></span> <span class="info svelte-rgafhj"><span class="row-title svelte-rgafhj"> </span> <span class="row-meta mono svelte-rgafhj"> </span></span> <!></button>'),Os=_('<div class="empty svelte-rgafhj"> </div>'),As=_('<div class="popover svelte-rgafhj" role="dialog" aria-label="会话切换"><div class="list svelte-rgafhj"></div> <div class="footer svelte-rgafhj"><button class="new-session mono svelte-rgafhj"> </button></div></div>'),Rs=_('<div class="switcher svelte-rgafhj"><button class="trigger svelte-rgafhj" aria-haspopup="true" title="Switch session"><span class="glyph-tile svelte-rgafhj"> </span> <span><span class="sr-only svelte-rgafhj"> </span></span> <span class="title svelte-rgafhj"> </span> <span class="caret svelte-rgafhj" aria-hidden="true"><!></span></button> <!></div>');function Ps($e,re){kt(re,!1);const A=()=>Me(ka,"$backends",D),I=()=>Me(Ht,"$sessionList",D),J=()=>Me(ja,"$activeWorkspace",D),Y=()=>Me(ia,"$workspaces",D),[D,x]=Pt(),M=n(),E=n(),z=n(),be=n(),R=n(),c=n();let k=gt(re,"activeId",8,void 0),S=n(!1),B=n(!1);function de(m){const X=m.split(/[\s\-_:./]+/).filter(Boolean);return X.length>=2?(X[0][0]+X[1][0]).toUpperCase():m.slice(0,2).toUpperCase()}function b(m){return de((m==null?void 0:m.name)||(m==null?void 0:m.id)||"OC")}function K(m){return m==="online"||m==="connected"?"online":m==="connecting"||m==="reconnecting"?"connecting":m==="offline"?"offline":"online"}function Z(){t(S,!e(S))}function d(m){t(S,!1),Gt(`/${m}/`)}async function p(){var X;if(e(B))return;const m=J()||((X=Y()[0])==null?void 0:X.directory)||"";t(B,!0);try{await ya(e(M));const le=await _e.createSession({directory:m});Ht.set(await _e.sessions()),ia.set(await _e.workspaces()),t(S,!1),Gt(`/${le.id}/`)}catch(le){alert(`Create session failed: ${le.message}`)}finally{t(B,!1)}}function C(m){m.key==="Escape"&&t(S,!1)}function F(m){const X=Date.now()-m,le=Math.floor(X/6e4);if(le<1)return"now";if(le<60)return`${le}m`;const pe=Math.floor(le/60);return pe<24?`${pe}h`:`${Math.floor(pe/24)}d`}function ie(m){return(m.includes("_")?m.slice(m.indexOf("_")+1):m).slice(-8)}w(()=>A(),()=>{var m,X,le;t(M,((m=A())==null?void 0:m.activeId)??((le=(X=A())==null?void 0:X.backends[0])==null?void 0:le.id)??"opencode")}),w(()=>(A(),e(M)),()=>{var m;t(E,(m=A())==null?void 0:m.backends.find(X=>X.id===e(M)))}),w(()=>e(M),()=>{t(z,xa(e(M)))}),w(()=>(I(),e(M)),()=>{t(be,I().filter(m=>m.backendId===e(M)||!m.backendId&&e(M)==="opencode").sort((m,X)=>X.lastActiveAt-m.lastActiveAt))}),w(()=>(I(),xe(k())),()=>{t(R,I().find(m=>m.id===k()))}),w(()=>e(R),()=>{var m;t(c,((m=e(R))==null?void 0:m.title)||"Untitled session")}),It(),wt();var he=Rs();y("keydown",ft,C);var G=o(he),P=o(G),V=o(P,!0);s(P);var f=r(P,2),U=o(f),ge=o(U,!0);s(U),s(f);var ye=r(f,2),te=o(ye,!0);s(ye);var se=r(ye,2),L=o(se);Ye(L,{name:"caret-down",size:11}),s(se),s(G);var ne=r(G,2);{var ue=m=>{var X=As(),le=o(X);Be(le,5,()=>e(be),Oe=>Oe.id,(Oe,ce)=>{var u=Bs();let H;var fe=o(u),Ce=r(fe,2),Le=o(Ce),Ge=o(Le,!0);s(Le);var rt=r(Le,2),mt=o(rt);s(rt),s(Ce);var Ue=r(Ce,2);{var Ae=ze=>{var qe=Ds();h(ze,qe)};j(Ue,ze=>{e(ce),xe(k()),l(()=>e(ce).id===k())&&ze(Ae)})}s(u),T((ze,qe)=>{H=at(u,1,"row svelte-rgafhj",null,H,{active:e(ce).id===k()}),at(fe,1,`dot ${e(ce),xe(k()),l(()=>e(ce).id===k()?"active":"")??""}`,"svelte-rgafhj"),q(Ge,(e(ce),l(()=>e(ce).title||"Untitled session"))),q(mt,`${ze??""} · ${qe??""}`)},[()=>(e(ce),l(()=>ie(e(ce).id))),()=>(e(ce),l(()=>F(e(ce).lastActiveAt)))]),y("click",u,()=>d(e(ce).id)),h(Oe,u)},Oe=>{var ce=Os(),u=o(ce);s(ce),T(()=>q(u,`No sessions on ${e(E),l(()=>{var H,fe;return((H=e(E))==null?void 0:H.name)??((fe=e(E))==null?void 0:fe.id)??"this agent"})??""}.`)),h(Oe,ce)}),s(le);var pe=r(le,2),Ee=o(pe),Xe=o(Ee);s(Ee),s(pe),s(X),T(()=>{Ee.disabled=e(B),q(Xe,`+ New session on ${e(E),l(()=>{var Oe,ce;return((Oe=e(E))==null?void 0:Oe.name)??((ce=e(E))==null?void 0:ce.id)??"agent"})??""}`)}),y("click",Ee,p),h(m,X)};j(ne,m=>{e(S)&&m(ue)})}s(he),T((m,X,le)=>{oe(G,"aria-expanded",e(S)),Wt(P,`background:${xe(na),e(z),l(()=>na[e(z)])??""}; color:${xe(oa),e(z),l(()=>oa[e(z)])??""}; border-color:${xe(ra),e(z),l(()=>ra[e(z)])??""}`),q(V,m),at(f,1,`status-dot ${X??""}`,"svelte-rgafhj"),q(ge,le),q(te,e(c))},[()=>(e(E),l(()=>b(e(E)))),()=>(e(E),l(()=>{var m;return K((m=e(E))==null?void 0:m.status)})),()=>(e(E),l(()=>{var m;return K((m=e(E))==null?void 0:m.status)}))]),y("click",G,Z),h($e,he),xt(),x()}var Ls=_('<button class="ghost svelte-w3h0m4" title="重新显示计划窗"><span class="label svelte-w3h0m4">计划</span> <span class="bar-count mono svelte-w3h0m4"> <i class="svelte-w3h0m4">/</i> </span></button>'),zs=_('<div class="scrim svelte-w3h0m4" aria-hidden="true"></div>'),Fs=_('<button role="menuitem" class="svelte-w3h0m4">本会话隐藏</button>'),Hs=_('<div class="menu svelte-w3h0m4" role="menu"><button role="menuitem" class="svelte-w3h0m4">打开任务面板</button> <!></div>'),Ns=_('<button class="crumb svelte-w3h0m4"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="svelte-w3h0m4"><path d="M15 18l-6-6 6-6"></path></svg> <span> </span></button>'),Ws=_('<div class="row done svelte-w3h0m4"><span class="box svelte-w3h0m4"><span class="check svelte-w3h0m4">✓</span></span><span class="tx svelte-w3h0m4"> </span></div>'),Ks=_('<button class="grp svelte-w3h0m4"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M9 6l6 6-6 6"></path></svg> <span> </span></button> <!>',1),Gs=_('<div class="row running svelte-w3h0m4"><span class="box svelte-w3h0m4"><span class="dot svelte-w3h0m4"></span></span><span class="tx svelte-w3h0m4"> </span></div>'),Us=_('<div class="row pending svelte-w3h0m4"><span class="box svelte-w3h0m4"></span><span class="tx svelte-w3h0m4"> </span></div>'),Vs=_('<div class="row pending svelte-w3h0m4"><span class="box svelte-w3h0m4"></span><span class="tx svelte-w3h0m4"> </span></div>'),Js=_('<button class="grp svelte-w3h0m4"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M9 6l6 6-6 6"></path></svg> <span> </span></button> <!>',1),Ys=_('<span class="sub-count mono svelte-w3h0m4"> </span>'),Xs=_('<button class="row sub jump svelte-w3h0m4" title="打开子代理会话"><span class="sub-dot svelte-w3h0m4" aria-hidden="true"></span> <!> <span class="tx svelte-w3h0m4"> </span> <svg class="go svelte-w3h0m4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M9 6l6 6-6 6"></path></svg></button>'),Zs=_('<div class="grp static svelte-w3h0m4"><span class="sub-label svelte-w3h0m4"> </span></div> <!>',1),Qs=_('<span class="sub-check svelte-w3h0m4" aria-hidden="true">✓</span>'),en=_('<span class="sub-count mono svelte-w3h0m4"> </span>'),tn=_('<button class="row sub jump idle svelte-w3h0m4" title="打开子代理会话"><!> <!> <span class="tx svelte-w3h0m4"> </span> <svg class="go svelte-w3h0m4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M9 6l6 6-6 6"></path></svg></button>'),an=_('<button class="grp svelte-w3h0m4"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M9 6l6 6-6 6"></path></svg> <span> </span></button> <!>',1),sn=_('<!> <div class="plan-card svelte-w3h0m4"><div class="hd svelte-w3h0m4"><span class="label svelte-w3h0m4">计划</span> <span class="title svelte-w3h0m4"> </span> <button class="dots svelte-w3h0m4" aria-label="Plan menu">⋯</button> <button class="close svelte-w3h0m4" aria-label="收起计划"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="svelte-w3h0m4"><path d="M18 15l-6-6-6 6"></path></svg></button></div> <!> <div class="body svelte-w3h0m4"><!> <div class="prog mono svelte-w3h0m4"> </div> <!> <!> <!> <!> <!> <!></div></div>',1),nn=_('<span class="badge mono svelte-w3h0m4"> </span>'),on=_('<button class="bar svelte-w3h0m4"><span class="label svelte-w3h0m4">计划</span> <span class="bar-count mono svelte-w3h0m4"> <i class="svelte-w3h0m4">/</i> </span> <!> <svg class="caret svelte-w3h0m4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M18 15l-6-6-6 6"></path></svg></button>'),rn=_('<span class="badge mono svelte-w3h0m4"> </span>'),ln=_('<button class="ball svelte-w3h0m4"><svg class="ring svelte-w3h0m4" viewBox="0 0 38 38" aria-hidden="true"><circle class="track svelte-w3h0m4" cx="19" cy="19"></circle><circle class="arc svelte-w3h0m4" cx="19" cy="19" transform="rotate(-90 19 19)"></circle></svg> <span class="ball-count mono svelte-w3h0m4"> <i class="svelte-w3h0m4">/</i> </span> <!></button>'),cn=_("<!> <!>",1);function vn($e,re){kt(re,!1);const A=()=>Me(Ut,"$feeds",Y),I=()=>Me(Ht,"$sessionList",Y),J=()=>Me(ca,"$can",Y),[Y,D]=Pt(),x=n(),M=n(),E=n(),z=n(),be=n(),R=n(),c=n(),k=n(),S=n(),B=n(),de=n();let b=gt(re,"sessionId",8),K=gt(re,"onJump",8,()=>{});const Z="ocrc.planHud.v3",d=5,p=16,C=2*Math.PI*p;let F=n(!1);try{t(F,window.matchMedia("(min-width: 821px)").matches)}catch{}const ie=e(F)?"ocrc.planHud.dt3":Z;function he(){if(typeof localStorage>"u")return{};try{const a=JSON.parse(localStorage.getItem(ie)??"{}")??{};return{dismissed:a.dismissed,expanded:a.expanded}}catch{return{}}}let G=n(he()),P=n(e(G).expanded??e(F));function V(a){if(t(G,{...e(G),...a}),!(typeof localStorage>"u"))try{localStorage.setItem(ie,JSON.stringify(e(G)))}catch{}}let f=n({total:0,done:0,items:[]}),U=n();async function ge(a){try{const g=await _e.todo(a);if(a!==b())return;t(U,a),t(f,Da(g))}catch{}}let ye=n(),te=n(0),se=n(-1),L=n();Vt(()=>clearTimeout(e(L)));let ne=n([]),ue=n(),m=!1;async function X(a){if(!m){m=!0;try{const g=await _e.subagents(a);if(a!==b())return;t(ne,[...g.subagents??[]].sort((O,Q)=>Number(Q.busy??!1)-Number(O.busy??!1))),t(ue,a)}catch{t(ne,[])}finally{m=!1}}}const le=a=>`ocrc.subparent.${a}`;let pe=n();function Ee(a){try{t(pe,sessionStorage.getItem(le(a))??void 0)}catch{t(pe,void 0)}}Ee(b());function Xe(a){try{sessionStorage.setItem(le(a.id),b())}catch{}t(Ce,!1),Aa({id:`sub:${a.id}`,kind:"subagent",title:a.title||"…"+a.id.slice(-6),childId:a.id}),Kt.set(!0)}function Oe(){const a=e(pe);t(pe,void 0),a&&K()(a)}let ce=n(),u=n(!1),H=n(!1),fe=n(!1),Ce=n(!1);function Le(){t(P,!e(P)),V({expanded:e(P)})}function Ge(){V({dismissed:[...e(G).dismissed??[],b()].slice(-20)}),t(Ce,!1)}function rt(){V({dismissed:(e(G).dismissed??[]).filter(a=>a!==b())}),t(P,!0),V({expanded:e(P)})}function mt(){t(Ce,!1),Oa("tasks"),Kt.set(!0)}let Ue=n(),Ae=n(),ze=n(),qe=n();function st(a){var O,Q,N,ve;const g=a.target;if(e(Ce)){if((O=e(Ae))!=null&&O.contains(g)||(Q=e(Ue))!=null&&Q.contains(g))return;t(Ce,!1)}e(P)&&((N=e(ze))!=null&&N.contains(g)||(ve=e(qe))!=null&&ve.contains(g)||(t(P,!1),V({expanded:!1})))}w(()=>(xe(b()),e(ye)),()=>{b()!==e(ye)&&(t(ye,b()),ge(b()))}),w(()=>(A(),xe(b())),()=>{var a;t(x,((a=A()[b()])==null?void 0:a.lastSeq)??0)}),w(()=>(e(x),e(se),e(L),e(te)),()=>{e(x)!==e(se)&&(t(se,e(x)),clearTimeout(e(L)),t(L,setTimeout(()=>t(te,e(te)+1),1e3)))}),w(()=>(e(te),xe(b())),()=>{e(te)&&(ge(b()),X(b()))}),w(()=>(I(),xe(b())),()=>{t(M,I().find(a=>a.id===b()))}),w(()=>e(M),()=>{var a;t(E,((a=e(M))==null?void 0:a.title)??"")}),w(()=>e(f),()=>{t(z,e(f).items.filter(a=>a.status==="done"))}),w(()=>e(f),()=>{t(be,e(f).items.filter(a=>a.status==="running"))}),w(()=>e(f),()=>{t(R,e(f).items.filter(a=>a.status==="pending"))}),w(()=>e(R),()=>{t(c,Math.max(0,e(R).length-d))}),w(()=>e(f),()=>{t(k,e(f).total?e(f).done/e(f).total:0)}),w(()=>(e(G),xe(b())),()=>{var a;t(S,((a=e(G).dismissed)==null?void 0:a.includes(b()))??!1)}),w(()=>e(ne),()=>{t(B,e(ne).filter(a=>a.busy))}),w(()=>e(ne),()=>{t(de,e(ne).filter(a=>!a.busy))}),w(()=>(e(P),xe(b()),e(ue)),()=>{e(P)&&b()&&e(ue)!==b()&&X(b())}),w(()=>xe(b()),()=>{b()&&Ee(b())}),w(()=>(xe(b()),e(ce)),()=>{b()!==e(ce)&&(t(ce,b()),t(u,!1),t(H,!1),t(fe,!1),t(Ce,!1))}),It(),wt();var it=Tt();y("pointerdown",ft,st);var ht=De(it);{var yt=a=>{var g=cn(),O=De(g);{var Q=Te=>{var we=Ls(),Pe=r(o(we),2),Ze=o(Pe,!0),Qe=r(Ze,2,!0);s(Pe),s(we),T(()=>{q(Ze,(e(f),l(()=>e(f).done))),q(Qe,(e(f),l(()=>e(f).total)))}),y("click",we,rt),h(Te,we)},N=Te=>{var we=sn(),Pe=De(we);{var Ze=W=>{var me=zs();h(W,me)};j(Pe,W=>{e(F)||W(Ze)})}var Qe=r(Pe,2),lt=o(Qe),ct=r(o(lt),2),nt=o(ct,!0);s(ct);var vt=r(ct,2);Je(vt,W=>t(Ue,W),()=>e(Ue));var St=r(vt,2);s(lt);var et=r(lt,2);{var Ct=W=>{var me=Hs(),ae=o(me),Se=r(ae,2);{var je=Ne=>{var ot=Fs();y("click",ot,Ge),h(Ne,ot)};j(Se,Ne=>{e(F)||Ne(je)})}s(me),Je(me,Ne=>t(Ae,Ne),()=>e(Ae)),y("click",ae,mt),h(W,me)};j(et,W=>{e(Ce)&&W(Ct)})}var _t=r(et,2),Dt=o(_t);{var Jt=W=>{var me=Ns(),ae=r(o(me),2),Se=o(ae);s(ae),s(me),T(je=>q(Se,`返回父会话 …${je??""}`),[()=>(e(pe),l(()=>e(pe).slice(-8)))]),y("click",me,Oe),h(W,me)};j(Dt,W=>{e(pe)&&W(Jt)})}var Bt=r(Dt,2),i=o(Bt);s(Bt);var $=r(Bt,2);{var ee=W=>{var me=Ks(),ae=De(me),Se=o(ae);let je;var Ne=r(Se,2),ot=o(Ne);s(Ne),s(ae);var We=r(ae,2);{var dt=Ve=>{var ut=Tt(),$t=De(ut);Be($t,1,()=>e(z),tt=>tt.text,(tt,ke)=>{var Ke=Ws(),pt=r(o(Ke)),At=o(pt,!0);s(pt),s(Ke),T(()=>q(At,(e(ke),l(()=>e(ke).text)))),h(tt,Ke)}),h(Ve,ut)};j(We,Ve=>{e(u)&&Ve(dt)})}T(()=>{oe(ae,"aria-expanded",e(u)),je=at(Se,0,"caret svelte-w3h0m4",null,je,{open:e(u)}),q(ot,`已完成 ${e(z),l(()=>e(z).length)??""}`)}),y("click",ae,()=>t(u,!e(u))),h(W,me)};j($,W=>{e(z),l(()=>e(z).length)&&W(ee)})}var Fe=r($,2);Be(Fe,1,()=>e(be),W=>W.text,(W,me)=>{var ae=Gs(),Se=r(o(ae)),je=o(Se,!0);s(Se),s(ae),T(()=>q(je,(e(me),l(()=>e(me).text)))),h(W,ae)});var Ie=r(Fe,2);Be(Ie,1,()=>(e(R),l(()=>e(R).slice(0,d))),W=>W.text,(W,me)=>{var ae=Us(),Se=r(o(ae)),je=o(Se,!0);s(Se),s(ae),T(()=>q(je,(e(me),l(()=>e(me).text)))),h(W,ae)});var He=r(Ie,2);{var Ot=W=>{var me=Js(),ae=De(me),Se=o(ae);let je;var Ne=r(Se,2),ot=o(Ne);s(Ne),s(ae);var We=r(ae,2);{var dt=Ve=>{var ut=Tt(),$t=De(ut);Be($t,1,()=>(e(R),l(()=>e(R).slice(d))),tt=>tt.text,(tt,ke)=>{var Ke=Vs(),pt=r(o(Ke)),At=o(pt,!0);s(pt),s(Ke),T(()=>q(At,(e(ke),l(()=>e(ke).text)))),h(tt,Ke)}),h(Ve,ut)};j(We,Ve=>{e(H)&&Ve(dt)})}T(()=>{oe(ae,"aria-expanded",e(H)),je=at(Se,0,"caret svelte-w3h0m4",null,je,{open:e(H)}),q(ot,`待处理 ${e(c)??""}`)}),y("click",ae,()=>t(H,!e(H))),h(W,me)};j(He,W=>{e(c)>0&&W(Ot)})}var ea=r(He,2);{var ua=W=>{var me=Zs(),ae=De(me),Se=o(ae),je=o(Se);s(Se),s(ae);var Ne=r(ae,2);Be(Ne,1,()=>e(B),ot=>ot.id,(ot,We)=>{var dt=Xs(),Ve=r(o(dt),2);{var ut=ke=>{var Ke=Ys(),pt=o(Ke);s(Ke),T(()=>q(pt,`${e(We),l(()=>e(We).done)??""}/${e(We),l(()=>e(We).total)??""}`)),h(ke,Ke)};j(Ve,ke=>{e(We),l(()=>e(We).total>0)&&ke(ut)})}var $t=r(Ve,2),tt=o($t,!0);s($t),Et(2),s(dt),T(ke=>q(tt,ke),[()=>(e(We),l(()=>e(We).title||"…"+e(We).id.slice(-6)))]),y("click",dt,()=>Xe(e(We))),h(ot,dt)}),T(()=>q(je,`子代理 · 运行中 ${e(B),l(()=>e(B).length)??""}`)),h(W,me)};j(ea,W=>{e(B),l(()=>e(B).length)&&W(ua)})}var pa=r(ea,2);{var fa=W=>{var me=an(),ae=De(me),Se=o(ae);let je;var Ne=r(Se,2),ot=o(Ne);s(Ne),s(ae);var We=r(ae,2);{var dt=Ve=>{var ut=Tt(),$t=De(ut);Be($t,1,()=>e(de),tt=>tt.id,(tt,ke)=>{var Ke=tn(),pt=o(Ke);{var At=bt=>{var Rt=Qs();h(bt,Rt)};j(pt,bt=>{e(ke),l(()=>e(ke).total>0&&e(ke).done>=e(ke).total)&&bt(At)})}var ta=r(pt,2);{var ma=bt=>{var Rt=en(),_a=o(Rt);s(Rt),T(()=>q(_a,`${e(ke),l(()=>e(ke).done)??""}/${e(ke),l(()=>e(ke).total)??""}`)),h(bt,Rt)};j(ta,bt=>{e(ke),l(()=>e(ke).total>0)&&bt(ma)})}var aa=r(ta,2),ha=o(aa,!0);s(aa),Et(2),s(Ke),T(bt=>q(ha,bt),[()=>(e(ke),l(()=>e(ke).title||"…"+e(ke).id.slice(-6)))]),y("click",Ke,()=>Xe(e(ke))),h(tt,Ke)}),h(Ve,ut)};j(We,Ve=>{e(fe)&&Ve(dt)})}T(()=>{oe(ae,"aria-expanded",e(fe)),je=at(Se,0,"caret svelte-w3h0m4",null,je,{open:e(fe)}),q(ot,`子代理 · 已结束 ${e(de),l(()=>e(de).length)??""}`)}),y("click",ae,()=>t(fe,!e(fe))),h(W,me)};j(pa,W=>{e(de),l(()=>e(de).length)&&W(fa)})}s(_t),s(Qe),Je(Qe,W=>t(ze,W),()=>e(ze)),T(W=>{q(nt,W),q(i,`任务 ${e(f),l(()=>e(f).done)??""}/${e(f),l(()=>e(f).total)??""}`)},[()=>(e(E),xe(b()),l(()=>e(E)||"…"+b().slice(-8)))]),y("click",vt,Ba(()=>t(Ce,!e(Ce)))),y("click",St,Le),h(Te,we)};j(O,Te=>{e(S)&&!e(F)?Te(Q):e(P)&&Te(N,1)})}var ve=r(O,2);{var Re=Te=>{var we=on(),Pe=r(o(we),2),Ze=o(Pe,!0),Qe=r(Ze,2,!0);s(Pe);var lt=r(Pe,2);{var ct=nt=>{var vt=nn(),St=o(vt,!0);s(vt),T(()=>q(St,(e(B),l(()=>e(B).length)))),h(nt,vt)};j(lt,nt=>{e(B),l(()=>e(B).length>0)&&nt(ct)})}Et(2),s(we),Je(we,nt=>t(qe,nt),()=>e(qe)),T(()=>{oe(we,"aria-label",(e(f),l(()=>`展开计划 ${e(f).done}/${e(f).total}`))),q(Ze,(e(f),l(()=>e(f).done))),q(Qe,(e(f),l(()=>e(f).total)))}),y("click",we,Le),h(Te,we)},qt=Te=>{var we=ln(),Pe=o(we),Ze=o(Pe);oe(Ze,"r",p);var Qe=r(Ze);oe(Qe,"r",p),s(Pe);var lt=r(Pe,2),ct=o(lt,!0),nt=r(ct,2,!0);s(lt);var vt=r(lt,2);{var St=et=>{var Ct=rn(),_t=o(Ct,!0);s(Ct),T(()=>q(_t,(e(B),l(()=>e(B).length)))),h(et,Ct)};j(vt,et=>{e(B),l(()=>e(B).length>0)&&et(St)})}s(we),Je(we,et=>t(qe,et),()=>e(qe)),T(et=>{oe(we,"aria-label",(e(f),e(P),l(()=>`计划 ${e(f).done}/${e(f).total} — ${e(P)?"收起":"展开"}`))),oe(we,"aria-expanded",e(P)),oe(Qe,"stroke-dasharray",et),q(ct,(e(f),l(()=>e(f).done))),q(nt,(e(f),l(()=>e(f).total)))},[()=>(e(k),l(()=>`${Math.max(C*e(k),C*.02)} ${C}`))]),y("click",we,Le),h(Te,we)};j(ve,Te=>{e(F)&&!e(P)?Te(Re):!e(S)&&!(e(F)&&!e(P))&&Te(qt,1)})}h(a,g)},v=Ft(()=>(e(U),xe(b()),e(f),e(ne),e(pe),J(),l(()=>e(U)===b()&&(e(f).total>0||e(ne).length>0||e(pe))&&J()("todos"))));j(ht,a=>{e(v)&&a(yt)})}h($e,it),xt(),D()}var dn=_('<button class="expand svelte-eho102" title="Expand left panel" aria-label="展开左侧面板"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 18l6-6-6-6"></path></svg></button>'),un=_('<span class="branch mono svelte-eho102"> </span>'),pn=_('<span class="pill running mono svelte-eho102"><span class="dot svelte-eho102" aria-hidden="true"></span> </span>'),fn=_('<button class="restore mono svelte-eho102" title="恢复被撤销的轮次">恢复上一轮</button>'),mn=_('<!> <span class="idle mono svelte-eho102">空闲</span>',1),hn=_('<button class="load-earlier mono svelte-eho102"> </button>'),_n=_('<div class="loading mono svelte-eho102" aria-label="Loading conversation"><span class="ldot svelte-eho102"></span><span class="ldot svelte-eho102"></span><span class="ldot svelte-eho102"></span></div>'),bn=_('<div class="empty svelte-eho102"><svg class="empty-mark svelte-eho102" viewBox="0 0 64 64" fill="none" stroke-width="8" stroke-linecap="round" aria-hidden="true"><path d="M46 15 A24 24 0 1 0 54 32" stroke="var(--text)" opacity=".85"></path><circle cx="49" cy="20" r="6" fill="var(--accent)" stroke="none"></circle></svg> <p class="empty-title svelte-eho102">要让 agent 做什么?</p> <p class="empty-hint svelte-eho102">在下方描述任务——它将在本项目目录中运行。需要时可附上图片。</p></div>'),gn=_('<button class="jump svelte-eho102" aria-label="跳到最新"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 5v14"></path><path d="M19 12l-7 7-7-7"></path></svg> 最新</button>'),wn=_('<div class="chat svelte-eho102"><div class="sub-header svelte-eho102"><div class="left svelte-eho102"><button class="back svelte-eho102" aria-label="返回会话列表"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><path d="M15 18l-6-6 6-6"></path></svg></button> <!> <!> <!></div> <div class="right svelte-eho102"><!> <button class="inspect svelte-eho102" aria-label="Inspector"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><line x1="4" y1="7" x2="20" y2="7"></line><line x1="4" y1="12" x2="20" y2="12"></line><line x1="4" y1="17" x2="14" y2="17"></line></svg></button> <button class="pane-toggle svelte-eho102" title="侧栏面板" aria-label="侧栏面板"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" aria-hidden="true"><rect x="3" y="4" width="18" height="16" rx="2"></rect><path d="M15 4v16"></path><path d="M9 9l3 3-3 3"></path></svg></button></div></div> <div aria-live="polite"><!> <!> <div class="stream-end svelte-eho102" aria-hidden="true"></div> <!></div></div> <!> <div class="composer-float svelte-eho102"><!> <!></div> <!>',1);function En($e,re){kt(re,!1);const A=()=>Me(Ra,"$page",E),I=()=>Me(Ut,"$feeds",E),J=()=>Me(Ht,"$sessionList",E),Y=()=>Me(da,"$composerEmpty",E),D=()=>Me(Pa,"$sessionBooting",E),x=()=>Me(la,"$leftPanelOpen",E),M=()=>Me(za,"$feedResyncing",E),[E,z]=Pt(),be=n(),R=n(),c=n(),k=n(),S=n(),B=n(),de=n(),b=n(),K=n(),Z=n();let d=n(),p=n(),C=n(),F,ie=n(""),he,G,P=n(0),V=n(0),f=n(),U=n(!0);function ge(){e(d)&&Mt(d,e(d).scrollTop=e(d).scrollHeight)}function ye(){e(d)&&t(U,e(d).scrollHeight-e(d).scrollTop-e(d).clientHeight<80)}const te=80,se=50;let L=n(te),ne=n(0),ue=n(!0),m=n(!1),X=n("");async function le(){if(e(m)||!e(c))return;if(e(S).length>e(L)){t(L,e(L)+te);return}if(!e(ue))return;t(m,!0);const i=e(d),$=i?{h:i.scrollHeight,top:i.scrollTop}:null;try{const ee=await _e.history(e(c),{limit:se,offset:e(ne)});(ee.cards??[]).length===0?t(ue,!1):($a(e(c),ee.cards),t(ne,e(ne)+se),t(L,e(L)+te),ee.hasMore===!1&&t(ue,!1),$&&i&&(await Nt(),i.scrollTop=i.scrollHeight-$.h+$.top))}catch(ee){console.warn("[page] loadEarlier failed",ee)}finally{t(m,!1)}}let pe=n("");function Ee(i){if(i<60)return`${i}s`;const $=Math.floor(i/60),ee=i%60;return ee===0?`${$}m`:`${$}m ${ee}s`}function Xe(){ze()}async function Oe(i){if(!(!e(c)||!i))try{await _e.revertSession(e(c),i);const{cards:$,lastSeq:ee}=await _e.history(e(c)),{setHistory:Fe}=await sa(async()=>{const{setHistory:Ie}=await import("../chunks/BxdASL1c.js").then(He=>He.B);return{setHistory:Ie}},__vite__mapDeps([0,1]),import.meta.url);Fe(e(c),$,ee),window.dispatchEvent(new CustomEvent("ocrc:resubscribe",{detail:{sessionId:e(c),sinceSeq:ee}}))}catch{}}let ce=n(!1),u=n();async function H(i){try{const $=await _e.revertState(i);t(ce,$.reverted),t(u,$.messageID)}catch{t(ce,!1),t(u,void 0)}}async function fe(){if(e(c))try{await _e.unrevertSession(e(c)),t(ce,!1);const{cards:i,lastSeq:$}=await _e.history(e(c)),{setHistory:ee}=await sa(async()=>{const{setHistory:Fe}=await import("../chunks/BxdASL1c.js").then(Ie=>Ie.B);return{setHistory:Fe}},__vite__mapDeps([0,1]),import.meta.url);ee(e(c),i,$),window.dispatchEvent(new CustomEvent("ocrc:resubscribe",{detail:{sessionId:e(c),sinceSeq:$}}))}catch{}}const Ce=["总结这个项目","最近有什么改动?","运行检查"];let Le=n(!1),Ge=n([]),rt;async function mt(i,$){if(rt!==$){rt=$;try{const ee=await _e.suggestions(i);t(Ge,ee.suggestions??[])}catch{t(Ge,[])}}}let Ue=n(),Ae=n([]);function ze(){if(!e(c))return;const i=[...e(S)].reverse().find(ee=>ee.kind==="user"),$=i==null?void 0:i.text;$&&_e.sendMessage({sessionId:e(c),text:$,clientId:`web_${Date.now()}`})}Qt(()=>{he=new ResizeObserver(()=>{e(p)&&(document.documentElement.style.setProperty("--composer-h",`${e(p).offsetHeight}px`),e(U)&&ge()),e(d)&&document.documentElement.style.setProperty("--sbw",`${e(d).offsetWidth-e(d).clientWidth}px`)}),e(p)&&he.observe(e(p)),e(d)&&he.observe(e(d)),F=new IntersectionObserver(ee=>{if(!e(U)||!ee.some(Ie=>!Ie.isIntersecting))return;e(d).scrollHeight-e(d).scrollTop-e(d).clientHeight<=24?requestAnimationFrame(ge):t(U,!1)},{root:e(d),threshold:0}),e(C)&&F.observe(e(C));const i=window.visualViewport,$=()=>{e(U)&&requestAnimationFrame(ge)};i==null||i.addEventListener("resize",$),G=()=>i==null?void 0:i.removeEventListener("resize",$)}),Vt(()=>{he==null||he.disconnect(),F==null||F.disconnect(),G==null||G(),e(f)&&clearInterval(e(f))}),w(()=>A(),()=>{t(c,A().params.sessionId??"")}),w(()=>(e(c),e(X)),()=>{e(c)&&e(c)!==e(X)&&(t(X,e(c)),t(L,te),t(ne,0),t(ue,!0),t(m,!1))}),w(()=>(I(),e(c)),()=>{t(k,I()[e(c)])}),w(()=>e(k),()=>{t(b,(()=>{if(!e(k)||e(k).order.length===0)return!1;const i=e(k).byId[e(k).order[e(k).order.length-1]];return(i==null?void 0:i.kind)==="thinking"||(i==null?void 0:i.kind)==="streaming"||(i==null?void 0:i.kind)==="think-stream"})())}),w(()=>(e(b),e(u)),()=>{e(b)&&e(u)&&t(u,void 0)}),w(()=>e(k),()=>{t(S,Xt(e(k)))}),w(()=>(e(u),e(S)),()=>{t(be,e(u)?(()=>{let i=-1;for(let $=e(S).length-1;$>=0;$--)if(e(S)[$].messageId===e(u)){i=$;break}return i===-1?e(S):e(S).slice(0,i)})():e(S))}),w(()=>(e(L),e(be)),()=>{t(R,e(L)>=e(be).length?e(be):e(be).slice(-e(L)))}),w(()=>(J(),e(c)),()=>{t(B,J().find(i=>i.id===e(c)))}),w(()=>e(B),()=>{var i;t(de,(i=e(B))!=null&&i.directory&&e(B).directory.replace(/\/+$/,"").split("/").pop()||"")}),w(()=>(e(b),e(pe),e(c),e(P),e(f)),()=>{e(b)?(e(pe)!==e(c)&&(t(pe,e(c)),t(P,0)),!e(P)&&typeof window<"u"&&(t(P,Date.now()),t(V,0),e(f)&&clearInterval(e(f)),t(f,setInterval(()=>{t(V,Math.floor((Date.now()-e(P))/1e3))},1e3)))):(t(P,0),t(V,0),t(pe,""),e(f)&&(clearInterval(e(f)),t(f,void 0)))}),w(()=>e(S),()=>{t(K,e(S).length?e(S)[e(S).length-1]:null)}),w(()=>e(c),()=>{e(c)&&(e(c),H(e(c)))}),w(()=>(e(b),e(K),e(c)),()=>{var i;!e(b)&&((i=e(K))==null?void 0:i.kind)==="assistant"&&e(c)&&e(K).id&&mt(e(c),e(K).id)}),w(()=>(e(c),e(Ue)),()=>{e(c)!==e(Ue)&&(t(Ue,e(c)),t(Le,!1))}),w(()=>(e(b),e(Le),Y(),e(k),D(),e(Ge),e(S)),()=>{e(b)||e(Le)||!Y()||!e(k)||D()?t(Ae,[]):e(Ge).length>0?t(Ae,e(Ge)):e(S).length===0?t(Ae,Ce):t(Ae,[])}),w(()=>(e(c),e(k),e(S)),()=>{var i;t(Z,`${e(c)}:${((i=e(k))==null?void 0:i.lastSeq)??0}:${e(S).length}`)}),w(()=>(e(Z),e(ie),e(U)),()=>{e(Z)!==e(ie)&&(t(ie,e(Z)),Nt().then(()=>{e(U)&&ge()}))}),It(),wt();var qe=wn(),st=De(qe),it=o(st),ht=o(it),yt=o(ht),v=r(yt,2);{var a=i=>{var $=dn();y("click",$,()=>la.set(!0)),h(i,$)};j(v,i=>{x()||i(a)})}var g=r(v,2);Ps(g,{get activeId(){return e(c)}});var O=r(g,2);{var Q=i=>{var $=un(),ee=o($,!0);s($),T(()=>q(ee,e(de))),h(i,$)};j(O,i=>{e(de)&&i(Q)})}s(ht);var N=r(ht,2),ve=o(N);{var Re=i=>{var $=pn(),ee=r(o($));s($),T(Fe=>q(ee,` 运行中 ${Fe??""}`),[()=>(e(V),l(()=>Ee(e(V))))]),h(i,$)},qt=i=>{var $=mn(),ee=De($);{var Fe=Ie=>{var He=fn();y("click",He,fe),h(Ie,He)};j(ee,Ie=>{e(ce)&&Ie(Fe)})}Et(2),h(i,$)};j(ve,i=>{e(b)?i(Re):i(qt,-1)})}var Te=r(ve,2),we=r(Te,2);s(N),s(it);var Pe=r(it,2);let Ze;var Qe=o(Pe);{var lt=i=>{var $=hn(),ee=o($,!0);s($),T(()=>{$.disabled=e(m),q(ee,e(m)?"加载中…":"加载更早消息")}),y("click",$,le),h(i,$)};j(Qe,i=>{e(S),e(L),e(ue),l(()=>e(S).length>0&&(e(S).length>e(L)||e(ue)))&&i(lt)})}var ct=r(Qe,2);Be(ct,1,()=>e(R),i=>i.id,(i,$)=>{const ee=Lt(()=>(e($),e(K),e(b),l(()=>{var Ie;return e($).id===((Ie=e(K))==null?void 0:Ie.id)&&e($).kind==="assistant"&&!e(b)}))),Fe=Lt(()=>(xe(e(ee)),e(K),l(()=>{var Ie;return e(ee)&&((Ie=e(K))==null?void 0:Ie.kind)==="assistant"?e(K).messageId:void 0})));{let Ie=Lt(()=>e(ee)?Xe:void 0),He=Lt(()=>e(ee)&&e(Fe)?()=>Oe(e(Fe)):void 0);La(i,{get card(){return e($)},onRetry:ze,get onRegenerate(){return e(Ie)},get onRevert(){return e(He)}})}});var nt=r(ct,2);Je(nt,i=>t(C,i),()=>e(C));var vt=r(nt,2);{var St=i=>{var $=Tt(),ee=De($);{var Fe=He=>{var Ot=_n();h(He,Ot)},Ie=He=>{var Ot=bn();h(He,Ot)};j(ee,He=>{e(k)?He(Ie,-1):He(Fe)})}h(i,$)};j(vt,i=>{e(S),l(()=>e(S).length===0)&&i(St)})}s(Pe),s(st),Je(st,i=>t(d,i),()=>e(d));var et=r(st,2);{var Ct=i=>{var $=gn();y("click",$,ge),h(i,$)};j(et,i=>{e(U),e(S),l(()=>!e(U)&&e(S).length>0)&&i(Ct)})}var _t=r(et,2),Dt=o(_t);Na(Dt,{get suggestions(){return e(Ae)},onPick:i=>Zt.set({text:i,nonce:Date.now()}),onDismiss:()=>{t(Le,!0),t(Ae,[])}});var Jt=r(Dt,2);js(Jt,{get sessionId(){return e(c)}}),s(_t),Je(_t,i=>t(p,i),()=>e(p));var Bt=r(_t,2);vn(Bt,{get sessionId(){return e(c)},onJump:i=>Gt("/"+i)}),T(()=>Ze=at(Pe,1,"stream conversation-emerald svelte-eho102",null,Ze,{suppressed:M()})),y("click",yt,()=>Gt("/")),y("click",Te,()=>Kt.update(i=>!i)),y("click",we,()=>Kt.update(i=>!i)),y("scroll",st,ye),h($e,qe),xt(),z()}export{En as component};
@@ -1 +1 @@
1
- {"version":"1790968754809"}
1
+ {"version":"1790972436328"}
@@ -26,34 +26,34 @@
26
26
  <!-- iOS standalone PWA: fullscreen + translucent status bar (content padded via safe-area insets) -->
27
27
  <meta name="apple-mobile-web-app-capable" content="yes" />
28
28
  <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
29
- <link href="/_app/immutable/entry/start.CT5NFUQf.js" rel="modulepreload">
30
- <link href="/_app/immutable/chunks/BCzdfj8k.js" rel="modulepreload">
29
+ <link href="/_app/immutable/entry/start.Db4GBxT1.js" rel="modulepreload">
30
+ <link href="/_app/immutable/chunks/Dm1tyN1d.js" rel="modulepreload">
31
31
  <link href="/_app/immutable/chunks/BjY4dxcB.js" rel="modulepreload">
32
- <link href="/_app/immutable/entry/app.BL6mVCmM.js" rel="modulepreload">
32
+ <link href="/_app/immutable/entry/app.ZK2WpwR0.js" rel="modulepreload">
33
33
  <link href="/_app/immutable/chunks/C1FmrZbK.js" rel="modulepreload">
34
34
  <link href="/_app/immutable/chunks/CWj6FrbW.js" rel="modulepreload">
35
35
  <link href="/_app/immutable/chunks/Chcp5gAM.js" rel="modulepreload">
36
36
  <link href="/_app/immutable/chunks/vlg9iH2u.js" rel="modulepreload">
37
- <link href="/_app/immutable/nodes/0.C3RUhq2t.js" rel="modulepreload">
38
- <link href="/_app/immutable/chunks/CtMqSQTR.js" rel="modulepreload">
39
- <link href="/_app/immutable/chunks/Bau5RR3A.js" rel="modulepreload">
37
+ <link href="/_app/immutable/nodes/0.ZgXhsbCq.js" rel="modulepreload">
38
+ <link href="/_app/immutable/chunks/BxdASL1c.js" rel="modulepreload">
39
+ <link href="/_app/immutable/chunks/BhZce_xA.js" rel="modulepreload">
40
40
 
41
- <link href="/_app/immutable/assets/Card.BnVisgSs.css" rel="stylesheet">
42
- <link href="/_app/immutable/assets/0.BZE0yJKD.css" rel="stylesheet">
41
+ <link href="/_app/immutable/assets/summarizeTodos.BnVisgSs.css" rel="stylesheet">
42
+ <link href="/_app/immutable/assets/0.BOn9ZJhx.css" rel="stylesheet">
43
43
  </head>
44
44
  <body data-sveltekit-preload-data="hover">
45
45
  <div style="display: contents">
46
46
  <script>
47
47
  {
48
- __sveltekit_1glivh6 = {
48
+ __sveltekit_umbfa6 = {
49
49
  base: ""
50
50
  };
51
51
 
52
52
  const element = document.currentScript.parentElement;
53
53
 
54
54
  Promise.all([
55
- import("/_app/immutable/entry/start.CT5NFUQf.js"),
56
- import("/_app/immutable/entry/app.BL6mVCmM.js")
55
+ import("/_app/immutable/entry/start.Db4GBxT1.js"),
56
+ import("/_app/immutable/entry/app.ZK2WpwR0.js")
57
57
  ]).then(([kit, app]) => {
58
58
  kit.start(app, element);
59
59
  });
@@ -1 +1 @@
1
- const a=location.pathname.split("/").slice(0,-1).join("/"),m=[a+"/_app/immutable/entry/app.BL6mVCmM.js",a+"/_app/immutable/nodes/0.C3RUhq2t.js",a+"/_app/immutable/assets/0.BZE0yJKD.css",a+"/_app/immutable/nodes/1.DnqQc5Wi.js",a+"/_app/immutable/nodes/2.zGqN-MJn.js",a+"/_app/immutable/assets/2.BNuGfmZP.css",a+"/_app/immutable/nodes/3.Dthy7PXc.js",a+"/_app/immutable/assets/3.EPSDx0kZ.css",a+"/_app/immutable/assets/Card.BnVisgSs.css",a+"/_app/immutable/chunks/BCzdfj8k.js",a+"/_app/immutable/chunks/Bau5RR3A.js",a+"/_app/immutable/chunks/BjY4dxcB.js",a+"/_app/immutable/chunks/C1FmrZbK.js",a+"/_app/immutable/chunks/CWj6FrbW.js",a+"/_app/immutable/chunks/Chcp5gAM.js",a+"/_app/immutable/chunks/CtMqSQTR.js",a+"/_app/immutable/chunks/vlg9iH2u.js",a+"/_app/immutable/entry/start.CT5NFUQf.js"],u=[a+"/apple-touch-icon.png",a+"/favicon.png",a+"/favicon.svg",a+"/icon-192.png",a+"/icon-512-maskable.png",a+"/icon-512.png",a+"/manifest.webmanifest"],l="1790968754809",n=self,i=`ocrc-cache-${l}`,p=[...m,...u];n.addEventListener("install",t=>{t.waitUntil(caches.open(i).then(s=>s.addAll(p.map(e=>new Request(e,{cache:"reload"})))).then(()=>n.skipWaiting()))});n.addEventListener("activate",t=>{t.waitUntil((async()=>{for(const s of await caches.keys())s!==i&&await caches.delete(s);await n.clients.claim()})())});n.addEventListener("fetch",t=>{const{request:s}=t;if(s.method!=="GET")return;const e=new URL(s.url);if(e.origin===location.origin&&!(e.pathname.startsWith("/api/")||e.pathname==="/ws")){if(p.includes(e.pathname)){t.respondWith(caches.match(s).then(c=>c??fetch(s)));return}t.respondWith((async()=>{try{return await fetch(s)}catch{return await caches.match(s)??await caches.match("/")??Response.error()}})())}});
1
+ const a=location.pathname.split("/").slice(0,-1).join("/"),m=[a+"/_app/immutable/entry/app.ZK2WpwR0.js",a+"/_app/immutable/nodes/0.ZgXhsbCq.js",a+"/_app/immutable/assets/0.BOn9ZJhx.css",a+"/_app/immutable/nodes/1.F_0YsTyh.js",a+"/_app/immutable/nodes/2.C9jJHRRz.js",a+"/_app/immutable/assets/2.BNuGfmZP.css",a+"/_app/immutable/nodes/3.DuYkGD3n.js",a+"/_app/immutable/assets/3.BAwvOE6a.css",a+"/_app/immutable/assets/summarizeTodos.BnVisgSs.css",a+"/_app/immutable/chunks/BhZce_xA.js",a+"/_app/immutable/chunks/BjY4dxcB.js",a+"/_app/immutable/chunks/BxdASL1c.js",a+"/_app/immutable/chunks/C1FmrZbK.js",a+"/_app/immutable/chunks/CWj6FrbW.js",a+"/_app/immutable/chunks/Chcp5gAM.js",a+"/_app/immutable/chunks/Dm1tyN1d.js",a+"/_app/immutable/chunks/vlg9iH2u.js",a+"/_app/immutable/entry/start.Db4GBxT1.js"],u=[a+"/apple-touch-icon.png",a+"/favicon.png",a+"/favicon.svg",a+"/icon-192.png",a+"/icon-512-maskable.png",a+"/icon-512.png",a+"/manifest.webmanifest"],h="1790972436328",n=self,i=`ocrc-cache-${h}`,p=[...m,...u];n.addEventListener("install",e=>{e.waitUntil(caches.open(i).then(s=>s.addAll(p.map(t=>new Request(t,{cache:"reload"})))).then(()=>n.skipWaiting()))});n.addEventListener("activate",e=>{e.waitUntil((async()=>{for(const s of await caches.keys())s!==i&&await caches.delete(s);await n.clients.claim()})())});n.addEventListener("fetch",e=>{const{request:s}=e;if(s.method!=="GET")return;const t=new URL(s.url);if(t.origin===location.origin&&!(t.pathname.startsWith("/api/")||t.pathname==="/ws")){if(p.includes(t.pathname)){e.respondWith(caches.match(s).then(c=>c??fetch(s)));return}e.respondWith((async()=>{try{return await fetch(s)}catch{return await caches.match(s)??await caches.match("/")??Response.error()}})())}});
@@ -1 +0,0 @@
1
- :root{color-scheme:dark;--bg: #0d0d0d;--bg-panel: #121212;--bg-elev: #171717;--bg-elev2: #1f1f1f;--bg-input: #101010;--border: #262626;--border-2: #1f1f1f;--text: #f5f4f0;--text-2: #c9c7c1;--text-3: #8c877d;--text-4: #7a766e;--accent: #fb8b3c;--accent-2: #2a1c10;--accent-ink:#211307;--accent-line:#7a4416;--user-bubble: #2b2a27;--user-ink: #f0efe9;--bubbleline:#3a3833;--cv: var(--accent);--cv-2: var(--accent-2);--cv-ink: var(--accent-ink);--cv-line: var(--accent-line);--cv-bubble: var(--user-bubble);--ok: #6ee7a0;--warn: #ffd479;--err: #f97066;--info: #8ab4ff;--hl-purple: #b48cf0;--hl-green: #6cc08b;--hl-cyan: #4ec9b0;--hl-orange: #dca87a;--hl-yellow: #ffd479;--hl-gray: #8c877d;--role-gold: #f5b301;--role-blue: #6f9ffa;--role-green: #58c08c;--role-silver: #cdd6e6;--bg-code: #0f0f0f;--toolcmd: #e8e6e0;--toolout: #a3a09a;--scrim: rgba(0, 0, 0, .5);--ease: cubic-bezier(.2, 0, 0, 1);--radius: 14px;--radius-sm: 9px;--radius-xs: 6px;--radius-tail: 4px;--radius-bar: 2px;--radius-pill: 999px;--shadow-card: 0 1px 4px rgba(0, 0, 0, .35);--shadow-composer: 0 6px 24px rgba(0, 0, 0, .4);--shadow-palette: 0 24px 70px rgba(0, 0, 0, .6);--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--font-serif: "Noto Serif CJK SC", "Source Han Serif SC", "DejaVu Serif", Georgia, "Times New Roman", serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--z-sticky: 5;--z-hud: 8;--z-dropdown: 10;--z-backdrop: 25;--z-drawer: 30;--z-sheet: 35;--z-fab: 42;--z-popover: 50;--z-overlay: 200;--z-modal: 300;--z-gate: 500}:root[data-theme=light]{color-scheme:light;--bg: #f2efe8;--bg-panel: #efede5;--bg-canvas: #fbfbfa;--bg-elev: #ffffff;--bg-elev2: #f2f1ed;--bg-input: #f6f5f2;--border: #e4e3df;--border-2: #edece9;--text: #1d1c1a;--text-2: #43413d;--text-3: #8a8884;--text-4: #6e6d69;--accent: #e4580f;--accent-2: #fdeee3;--accent-ink:#1c1b18;--accent-line:#f0c9ac;--user-bubble: #efeeea;--user-ink: #1d1c1a;--bubbleline:#e2e1dc;--ok: #1f7a3d;--warn: #9a6b00;--err: #c2372c;--info: #2456a6;--hl-purple: #8250df;--hl-green: #116329;--hl-cyan: #0e7a8d;--hl-orange: #b65708;--hl-yellow: #9a6700;--hl-gray: #6e7781;--role-gold: #d99e00;--role-blue: #3a6fd8;--role-green: #2f9d68;--role-silver: #8a877e;--bg-code: #f4f2ec;--toolcmd: #1c1b18;--toolout: #57534e;--scrim: rgba(28, 27, 24, .32);--shadow-card: 0 1px 3px rgba(28, 27, 24, .06);--shadow-composer: 0 4px 18px rgba(28, 27, 24, .08);--shadow-palette: 0 24px 70px rgba(28, 27, 24, .18)}@media (prefers-color-scheme: light){:root:not([data-theme=dark]){color-scheme:light;--bg: #f2efe8;--bg-panel: #efede5;--bg-canvas: #fbfbfa;--bg-elev: #ffffff;--bg-elev2: #f2f1ed;--bg-input: #f6f5f2;--border: #e4e3df;--border-2: #edece9;--text: #1d1c1a;--text-2: #43413d;--text-3: #8a8884;--text-4: #6e6d69;--accent: #e4580f;--accent-2: #fdeee3;--accent-ink:#1c1b18;--accent-line:#f0c9ac;--user-bubble: #efeeea;--user-ink: #1d1c1a;--bubbleline:#e2e1dc;--ok: #1f7a3d;--warn: #9a6b00;--err: #c2372c;--info: #2456a6;--hl-purple: #8250df;--hl-green: #116329;--hl-cyan: #0e7a8d;--hl-orange: #b65708;--hl-yellow: #9a6700;--hl-gray: #6e7781;--role-gold: #d99e00;--role-blue: #3a6fd8;--role-green: #2f9d68;--role-silver: #8a877e;--bg-code: #f4f2ec;--toolcmd: #1c1b18;--toolout: #57534e;--scrim: rgba(28, 27, 24, .32);--shadow-card: 0 1px 3px rgba(28, 27, 24, .06);--shadow-composer: 0 4px 18px rgba(28, 27, 24, .08);--shadow-palette: 0 24px 70px rgba(28, 27, 24, .18)}}@media (min-width: 821px){:root[data-theme=light]{--bg: #f7f7f8;--bg-panel: #f4f4f5;--bg-canvas: #ffffff;--bg-elev: #ffffff;--bg-elev2: #f4f4f5;--bg-input: #ffffff;--border: #e4e4e7;--border-2: #ececee;--user-bubble: #f4f4f5;--bubbleline:#e4e4e7;--bg-code: #f6f6f7}}@media (prefers-color-scheme: light) and (min-width: 821px){:root:not([data-theme=dark]){--bg: #f7f7f8;--bg-panel: #f4f4f5;--bg-canvas: #ffffff;--bg-elev: #ffffff;--bg-elev2: #f4f4f5;--bg-input: #ffffff;--border: #e4e4e7;--border-2: #ececee;--user-bubble: #f4f4f5;--bubbleline:#e4e4e7;--bg-code: #f6f6f7}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}button:focus{outline:none}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:inherit}a:focus{outline:none}a:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:inherit}:root{--ease-out: cubic-bezier(.22, 1, .36, 1);--dur-enter: .2s}@keyframes ocrc-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes ocrc-rise-sm{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes ocrc-pop{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@keyframes ocrc-fade{0%{opacity:0}to{opacity:1}}:root[data-accent=azure]{--accent: #6f9ffa;--accent-2: #16202f;--accent-ink: #071120;--accent-line: #31527e}:root[data-accent=amber]{--accent: #ffc34d;--accent-2: #2a2110;--accent-ink: #1f1503;--accent-line: #8a6a26}:root[data-accent=violet]{--accent: #b48cf0;--accent-2: #1d1733;--accent-ink: #0f0820;--accent-line: #5a4790}:root[data-theme=light][data-accent=azure]{--accent: #2f6bcc;--accent-2: #e8f0fc;--accent-ink: #ffffff;--accent-line: #b9d0f2}:root[data-theme=light][data-accent=amber]{--accent: #b57f00;--accent-2: #faf0d8;--accent-ink: #ffffff;--accent-line: #ecd9a8}:root[data-theme=light][data-accent=violet]{--accent: #7a4fd0;--accent-2: #f0eafc;--accent-ink: #ffffff;--accent-line: #d4c5f2}@media (prefers-color-scheme: light){:root:not([data-theme=dark])[data-accent=azure]{--accent: #2f6bcc;--accent-2: #e8f0fc;--accent-ink: #ffffff;--accent-line: #b9d0f2}:root:not([data-theme=dark])[data-accent=amber]{--accent: #b57f00;--accent-2: #faf0d8;--accent-ink: #ffffff;--accent-line: #ecd9a8}:root:not([data-theme=dark])[data-accent=violet]{--accent: #7a4fd0;--accent-2: #f0eafc;--accent-ink: #ffffff;--accent-line: #d4c5f2}}html{background:var(--bg)}html,body{height:100vh}button{transition:opacity .12s var(--ease, ease),transform .12s var(--ease, ease)}button:active:not(:disabled){opacity:.78}body{margin:0;overflow:hidden;overscroll-behavior:none;-webkit-text-size-adjust:100%;background:var(--bg);color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);font-size:10px}.mono{font-family:var(--font-mono)}.conversation-emerald{--accent: var(--cv);--accent-2: var(--cv-2);--accent-ink: var(--cv-ink);--accent-line: var(--cv-line);--user-bubble: var(--cv-bubble)}.md .hljs-string,.md .hljs-regexp,.md .hljs-addition{color:var(--hl-green)}.md .hljs-keyword,.md .hljs-selector-tag,.md .hljs-type{color:var(--hl-purple)}.md .hljs-title.function_,.md .hljs-title.class_.invoke__,.md .hljs-function>.hljs-title{color:var(--hl-yellow)}.md .hljs-title.class_,.md .hljs-built_in{color:var(--hl-cyan)}.md .hljs-number,.md .hljs-literal,.md .hljs-variable.constant_{color:var(--hl-orange)}.md .hljs-comment,.md .hljs-deletion,.md .hljs-meta{color:var(--hl-gray)}.md .hljs-attr,.md .hljs-attribute,.md .hljs-selector-attr,.md .hljs-selector-class{color:var(--hl-green)}.md .hljs-punctuation,.md .hljs-params,.md .hljs-property,.md .hljs-symbol{color:var(--text)}*{scrollbar-width:thin;scrollbar-color:var(--border) transparent}*::-webkit-scrollbar{width:9px;height:9px}*::-webkit-scrollbar-thumb{background:var(--border);border-radius:6px;border:2px solid transparent;background-clip:content-box}*::-webkit-scrollbar-thumb:hover{background:var(--text-4);background-clip:content-box}@keyframes ocrc-pulse{0%,to{opacity:1}50%{opacity:.28}}@keyframes ocrc-blink{0%,to{opacity:1}50%{opacity:0}}@keyframes ocrc-ring{0%{transform:scale(.6);opacity:.7}to{transform:scale(2.2);opacity:0}}@keyframes ocrc-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.titlebar.svelte-hhath1{display:flex;align-items:center;gap:12px;height:calc(52px + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) 16px 0;box-sizing:border-box;border-bottom:1px solid var(--border);background:var(--bg-panel);flex-shrink:0;font-size:13px}.brand.svelte-hhath1{display:flex;align-items:center;gap:10px;flex-shrink:0}.brand-mark.svelte-hhath1{width:27px;height:27px;flex-shrink:0}.wordmark.svelte-hhath1{font-family:var(--font-serif);font-size:15.5px;letter-spacing:.01em;display:inline-flex;align-items:baseline;gap:5px}.wordmark.svelte-hhath1 b:where(.svelte-hhath1){font-weight:700;color:var(--text)}.new-session.svelte-hhath1{display:inline-flex;align-items:center;gap:5px;background:var(--accent);color:var(--accent-ink);border:none;border-radius:var(--radius-pill);padding:5px 11px;font-size:12px;font-weight:650;cursor:pointer;flex-shrink:0;transition:opacity .12s ease,transform .12s ease}.new-session.svelte-hhath1:hover:not(:disabled){opacity:.9}.new-session.svelte-hhath1:disabled{opacity:.5;cursor:default}.new-icon.svelte-hhath1{font-size:14px;line-height:1}.new-label.svelte-hhath1{white-space:nowrap}.new-caret.svelte-hhath1{font-size:9px;line-height:1;margin-left:2px;opacity:.85}.palette-trigger.svelte-hhath1{display:flex;align-items:center;gap:8px;min-width:230px;max-width:min(340px,calc(100vw - 32px));background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-3);padding:5px 10px;font-size:12.5px;cursor:text;transition:border-color .15s ease,color .15s ease}.palette-trigger.svelte-hhath1:hover{border-color:var(--text-3);color:var(--text-2)}.palette-icon.svelte-hhath1{font-size:14px;opacity:.85}.palette-label.svelte-hhath1{flex:1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.palette-keycap.svelte-hhath1{font-size:10px;color:var(--text-3);background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-xs);padding:2px 5px}.spacer.svelte-hhath1{flex:1}.themebtn.svelte-hhath1{display:inline-grid;place-items:center;width:28px;height:28px;background:transparent;border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--text-2);font-size:14px;line-height:1;cursor:pointer;flex-shrink:0;transition:color .12s ease,border-color .12s ease}.themebtn.svelte-hhath1:hover{color:var(--text);border-color:var(--text-4)}.connection-pill.svelte-hhath1{display:inline-flex;align-items:center;gap:7px;border-radius:var(--radius-pill);background:var(--bg-elev);border:1px solid var(--border);padding:4px 10px;flex-shrink:0}.dot-wrap.svelte-hhath1{position:relative;width:10px;height:10px;display:grid;place-items:center}.dot.svelte-hhath1{width:7px;height:7px;border-radius:50%;background:var(--text-4);flex-shrink:0}.dot-ring.svelte-hhath1{position:absolute;width:8px;height:8px;border-radius:50%;border:1.5px solid var(--ok);opacity:0;animation:ocrc-ring 1.6s ease-out infinite;pointer-events:none}.connection-pill.connected.svelte-hhath1 .dot:where(.svelte-hhath1){background:var(--ok);box-shadow:0 0 7px var(--ok)}.connection-pill.reconnecting.svelte-hhath1 .dot:where(.svelte-hhath1){background:var(--warn);animation:ocrc-pulse 1.2s ease-in-out infinite}.connection-pill.offline.svelte-hhath1 .dot:where(.svelte-hhath1){background:transparent;border:1.5px solid var(--text-4)}.connection-state.svelte-hhath1{font-weight:600;color:var(--text-3)}.connection-pill.connected.svelte-hhath1 .connection-state:where(.svelte-hhath1){color:var(--ok)}.connection-pill.reconnecting.svelte-hhath1 .connection-state:where(.svelte-hhath1){color:var(--warn)}.connection-pill.offline.svelte-hhath1 .connection-state:where(.svelte-hhath1){color:var(--err)}.connection-latency.svelte-hhath1{color:var(--text-3);font-size:10.5px}.install.svelte-hhath1{background:var(--accent);color:var(--accent-ink);border:none;border-radius:var(--radius-pill);padding:4px 12px;font-size:.8em;font-weight:600;cursor:pointer;flex-shrink:0}.user.svelte-hhath1{display:flex;align-items:center;gap:10px;flex-shrink:0}.user-email.svelte-hhath1{color:var(--text-3);font-size:12px}.avatar.svelte-hhath1{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--accent-2);color:var(--accent);border:1px solid var(--accent-line);font-size:11px;font-weight:700}.iconbtn.svelte-hhath1{display:none;background:transparent;border:none;color:var(--text-2);font-size:18px;line-height:1;padding:4px 6px;cursor:pointer;border-radius:var(--radius-pill)}.iconbtn.svelte-hhath1:hover{color:var(--text);background:var(--bg-elev)}.iconbtn.active.svelte-hhath1{color:var(--accent);background:var(--accent-2)}@media (pointer: coarse){.themebtn.svelte-hhath1{width:36px;height:36px}}@media (max-width: 820px){.palette-trigger.svelte-hhath1,.user-email.svelte-hhath1,.new-session.svelte-hhath1,.new-label.svelte-hhath1,.iconbtn.svelte-hhath1,.user.svelte-hhath1{display:none}}@media (min-width: 821px){.channels-btn.svelte-hhath1,.theme-btn.svelte-hhath1,.user.svelte-hhath1{display:none}}.banner.svelte-l46k7l{text-align:center;font-size:.8em;padding:4px 8px;background:color-mix(in srgb,var(--warn) 14%,var(--bg));color:var(--warn);border-bottom:1px solid color-mix(in srgb,var(--warn) 32%,transparent);animation:svelte-l46k7l-banner-drop .18s var(--ease-out, ease-out)}@keyframes svelte-l46k7l-banner-drop{0%{transform:translateY(-100%)}to{transform:translateY(0)}}.banner.offline.svelte-l46k7l{background:color-mix(in srgb,var(--err) 14%,var(--bg));color:var(--err);border-bottom-color:color-mix(in srgb,var(--err) 32%,transparent)}.sidebar.svelte-1h8243g{width:100%;box-sizing:border-box;background:var(--bg-panel);overflow-y:auto;display:flex;flex-direction:column;padding:4px 8px 8px;gap:2px}.group-header.svelte-1h8243g{display:flex;align-items:center;gap:8px;padding:10px 8px 6px;color:var(--text-4);font-size:10px;text-transform:uppercase;letter-spacing:.16em}.gh-label.svelte-1h8243g{flex-shrink:0}.gh-line.svelte-1h8243g{flex:1;height:1px;background:var(--border-2);opacity:.7}.gh-count.svelte-1h8243g{flex-shrink:0;font-variant-numeric:tabular-nums}.session.svelte-1h8243g{position:relative;display:block;text-decoration:none;padding:9px 12px 9px 16px;border-radius:var(--radius-sm);background:transparent;cursor:pointer;transition:background .12s ease}.session.svelte-1h8243g:hover{background:var(--bg-elev)}.session.active.svelte-1h8243g{background:var(--bg-elev2)}.session.active.svelte-1h8243g:before{content:"";position:absolute;left:0;top:9px;bottom:9px;width:2.5px;border-radius:var(--radius-bar);background:var(--accent)}.line1.svelte-1h8243g{display:flex;align-items:center;gap:7px}.sr-only.svelte-1h8243g{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.dot.svelte-1h8243g{width:7px;height:7px;border-radius:50%;border:1.5px solid transparent;flex-shrink:0;box-sizing:border-box}.dot.busy.svelte-1h8243g{background:var(--accent);border-color:var(--accent);animation:ocrc-pulse 1.2s ease-in-out infinite}.dot.wait.svelte-1h8243g{background:var(--warn);border-color:var(--warn)}.dot.idle.svelte-1h8243g{background:var(--ok);border-color:var(--ok)}.dot.offline.svelte-1h8243g{background:transparent;border:1.5px solid var(--text-4)}.title.svelte-1h8243g{flex:1;font-size:13px;font-weight:600;color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session.active.svelte-1h8243g .title:where(.svelte-1h8243g){color:var(--text)}.pin-dot.svelte-1h8243g{flex-shrink:0;font-size:7px;color:var(--accent);line-height:1}.rename-input.svelte-1h8243g{flex:1;min-width:0;font-size:16px;font-weight:600;color:var(--text);background:var(--bg-panel);border:1px solid var(--accent);border-radius:var(--radius-sm);padding:1px 6px;outline:none;font-family:inherit}.rename-input.svelte-1h8243g:disabled{opacity:.6}.actions.svelte-1h8243g{display:inline-flex;gap:1px;flex-shrink:0}.act.svelte-1h8243g{display:inline-flex;background:transparent;border:none;color:var(--text-3);cursor:pointer;padding:2px;opacity:0;transition:opacity .12s ease,color .12s ease}.session.svelte-1h8243g:hover .act:where(.svelte-1h8243g){opacity:.65}.session.svelte-1h8243g:focus-within .act:where(.svelte-1h8243g){opacity:.65}.act.svelte-1h8243g:hover{opacity:1}.act.pin.svelte-1h8243g:hover{color:var(--text)}.act.rename.svelte-1h8243g:hover{color:var(--accent)}.act.pin.on.svelte-1h8243g{opacity:1;color:var(--accent)}.act.trash.svelte-1h8243g:hover{color:var(--err)}.act.svelte-1h8243g:disabled{opacity:.4;cursor:default}.act.mmore.svelte-1h8243g,.rowmenu.svelte-1h8243g{display:none}@media (hover: none),(max-width: 820px){.act.svelte-1h8243g{opacity:.6;padding:8px;min-width:40px;min-height:40px;align-items:center;justify-content:center}.act.rename.svelte-1h8243g,.act.pin.svelte-1h8243g,.act.trash.svelte-1h8243g{display:none}.act.mmore.svelte-1h8243g{display:inline-flex;opacity:.7}.act.mmore.on.svelte-1h8243g{opacity:1;color:var(--text)}.actions.svelte-1h8243g{gap:2px;position:relative}.rowmenu.svelte-1h8243g{position:absolute;right:0;top:calc(100% + 2px);min-width:140px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:0 14px 36px #0000004d;padding:4px;z-index:var(--z-popover);display:flex;flex-direction:column;animation:ocrc-pop .14s var(--ease-out, ease-out)}.rowmenu.svelte-1h8243g button:where(.svelte-1h8243g){display:block;width:100%;padding:9px 12px;background:transparent;border:none;border-radius:var(--radius-xs);color:var(--text-2);font:inherit;font-size:12.5px;text-align:left;cursor:pointer}.rowmenu.svelte-1h8243g button:where(.svelte-1h8243g):hover{background:var(--bg-input);color:var(--text)}.rowmenu.svelte-1h8243g button.danger:where(.svelte-1h8243g){color:var(--err)}}.meta.svelte-1h8243g{display:flex;align-items:center;gap:5px;flex-wrap:wrap;font-size:10.5px;color:var(--text-3);margin:4px 0 0 16px}.sep.svelte-1h8243g{color:var(--border)}.id.svelte-1h8243g,.repo.svelte-1h8243g{color:var(--text-2)}.add.svelte-1h8243g{color:var(--ok)}.del.svelte-1h8243g{color:var(--err)}.empty.svelte-1h8243g{padding:16px 12px;color:var(--text-3);font-size:11px}.progress.svelte-1h8243g{height:3px;margin-top:8px;background:var(--border-2);border-radius:var(--radius-bar);overflow:hidden}.progress-fill.svelte-1h8243g{display:block;width:100%;height:100%;background:linear-gradient(90deg,transparent 0%,var(--accent) 50%,transparent 100%);background-size:200% 100%;animation:ocrc-shimmer 1.4s linear infinite}.rail-foot.svelte-aqr1j0{display:flex;align-items:center;gap:7px;padding:8px 10px;border-top:1px solid var(--border-2);min-width:0}.avatar.svelte-aqr1j0{flex-shrink:0;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--bg-elev);border:1px solid var(--border-2);color:var(--text-2);font-size:10px;font-weight:700}.who.svelte-aqr1j0{flex:1;min-width:0;font-size:11px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sp.svelte-aqr1j0{flex:0 0 auto}.fbtn.svelte-aqr1j0{flex-shrink:0;display:inline-grid;place-items:center;width:24px;height:24px;background:transparent;border:none;border-radius:var(--radius-xs);color:var(--text-3);cursor:pointer;transition:color .12s ease}.fbtn.svelte-aqr1j0:hover{color:var(--text);background:var(--bg-input)}.fbtn.svelte-aqr1j0 svg:where(.svelte-aqr1j0){width:14px;height:14px}.agent-panel.svelte-wmno67{display:flex;height:100%;background:var(--bg-panel);border-right:1px solid var(--border-2);flex-shrink:0}.agent-panel.drawer.svelte-wmno67{width:100%;border-right:none}.panel.svelte-wmno67{display:flex;flex-direction:column;width:100%;min-width:0}.header.svelte-wmno67{position:relative;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 12px 10px;border-bottom:1px solid var(--border-2);flex-shrink:0}.agent-pill.svelte-wmno67{display:inline-flex;align-items:center;gap:7px;min-width:0;padding:5px 9px 5px 5px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--text-2);cursor:pointer;transition:border-color .12s ease,background .12s ease}.agent-pill.svelte-wmno67:hover{border-color:var(--accent);background:var(--bg-elev2)}.glyph-tile.svelte-wmno67{width:24px;height:24px;display:inline-grid;place-items:center;border-radius:50%;border:1px solid transparent;font-family:var(--font-mono);font-size:10px;font-weight:700;flex-shrink:0}.status-dot.svelte-wmno67{width:7px;height:7px;border-radius:50%;border:1.5px solid transparent;flex-shrink:0;box-sizing:border-box}.sr-only.svelte-wmno67{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.status-dot.online.svelte-wmno67{background:var(--dot, var(--ok));border-color:var(--dot, var(--ok))}.status-dot.connecting.svelte-wmno67{background:var(--warn);border-color:var(--warn);animation:ocrc-pulse 1.2s ease-in-out infinite}.status-dot.offline.svelte-wmno67{background:transparent;border:1.5px solid var(--text-4)}.name.svelte-wmno67{font-size:12.5px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.host.svelte-wmno67{font-size:11px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.caret.svelte-wmno67{font-size:9px;color:var(--text-3);flex-shrink:0}.collapse.svelte-wmno67{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-3);cursor:pointer;transition:color .12s ease,background .12s ease,border-color .12s ease;flex-shrink:0}.collapse.svelte-wmno67:hover{color:var(--text);background:var(--bg-elev);border-color:var(--border)}.picker.svelte-wmno67{position:absolute;top:calc(100% + 6px);left:12px;right:12px;width:auto;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 18px 50px #0000008c;z-index:var(--z-popover);overflow:hidden;animation:svelte-wmno67-ocrc-pop .14s ease}@keyframes svelte-wmno67-ocrc-pop{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.picker-list.svelte-wmno67{max-height:320px;overflow-y:auto;padding:6px;display:flex;flex-direction:column;gap:2px}.agent-row.svelte-wmno67{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text);cursor:pointer;text-align:left;transition:background .12s ease}.agent-row.svelte-wmno67:hover,.agent-row.selected.svelte-wmno67{background:var(--accent-2)}.row-tile.svelte-wmno67{width:30px;height:30px;display:inline-grid;place-items:center;border-radius:var(--radius-xs);border:1px solid transparent;font-family:var(--font-mono);font-size:11px;font-weight:700;flex-shrink:0}.row-info.svelte-wmno67{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.row-name.svelte-wmno67{font-size:12.5px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-host.svelte-wmno67{font-size:10.5px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.check.svelte-wmno67{font-size:13px;color:var(--accent);flex-shrink:0}.picker-footer.svelte-wmno67{border-top:1px solid var(--border);padding:10px}.theme-row.svelte-wmno67{display:flex;flex-direction:column;gap:8px}.theme-label.svelte-wmno67{font-size:10.5px;color:var(--text-3)}.swatches.svelte-wmno67{display:flex;align-items:center;gap:8px}.swatch.svelte-wmno67{width:20px;height:20px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:transform .12s ease,border-color .12s ease}.swatch.svelte-wmno67:hover{transform:scale(1.1)}.swatch.active.svelte-wmno67{border-color:var(--text)}.auto.svelte-wmno67{margin-left:auto;padding:3px 9px;background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-3);font-family:var(--font-mono);font-size:10.5px;cursor:pointer;transition:color .12s ease,border-color .12s ease,background .12s ease}.auto.svelte-wmno67:hover,.auto.active.svelte-wmno67{color:var(--text);border-color:var(--accent);background:var(--accent-2)}.agents-label.svelte-wmno67{padding:12px 14px 6px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:var(--text-3)}.mobile-search.svelte-wmno67{display:flex;align-items:center;gap:8px;margin:6px 12px 8px;padding:10px 12px;width:calc(100% - 24px);background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-3);cursor:pointer;font-size:13px;font-family:var(--font-sans);text-align:left}.mobile-search.svelte-wmno67:hover{border-color:var(--text-4)}.switcher-row.svelte-wmno67{display:flex;gap:7px;padding:10px 12px;overflow-x:auto;border-bottom:1px solid var(--border-2);flex-shrink:0;scrollbar-width:none}.switcher-row.svelte-wmno67::-webkit-scrollbar{display:none}.switch-pill.svelte-wmno67{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;padding:5px 10px 5px 5px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--text-2);cursor:pointer;transition:border-color .12s ease,background .12s ease}.switch-pill.active.svelte-wmno67{background:var(--accent-2);border-color:var(--accent)}.switch-tile.svelte-wmno67{width:22px;height:22px;display:inline-grid;place-items:center;border-radius:var(--radius-xs);border:1px solid transparent;font-family:var(--font-mono);font-size:9.5px;font-weight:700;flex-shrink:0}.switch-name.svelte-wmno67{font-size:12px;font-weight:600;color:var(--text);white-space:nowrap}.switch-count.svelte-wmno67{font-size:10px;color:var(--text-3);background:var(--bg);border-radius:var(--radius-xs);padding:1px 6px}.list.svelte-wmno67{flex:1;overflow-y:auto;min-height:0}.footer.svelte-wmno67{display:flex;align-items:center;gap:7px;padding:10px max(20px,env(safe-area-inset-right,0px)) max(18px,calc(env(safe-area-inset-bottom,0px) + var(--kb, 0px))) max(20px,env(safe-area-inset-left,0px));font-size:10px;color:var(--text-4);border-top:1px solid var(--border-2);flex-shrink:0}.sep.svelte-wmno67{color:var(--border)}.task.svelte-1h1y2gb{flex:1;overflow:auto;padding:14px 16px}.hd.svelte-1h1y2gb{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.section-label.svelte-1h1y2gb{text-transform:uppercase;letter-spacing:.16em;color:var(--text-3);font-size:10px}.meta.svelte-1h1y2gb{font-family:var(--font-mono);color:var(--text-2);font-size:11px}.bar.svelte-1h1y2gb{height:4px;background:var(--bg-input);border-radius:var(--radius-bar);overflow:hidden;margin-bottom:10px}.fill.svelte-1h1y2gb{height:100%;width:100%;background:var(--accent);transform-origin:left;transition:transform .3s ease}.items.svelte-1h1y2gb{display:flex;flex-direction:column;gap:6px}.row.svelte-1h1y2gb{display:flex;align-items:flex-start;gap:9px;padding:3px 0;margin:0;border:none;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.row.svelte-1h1y2gb:hover .tx:where(.svelte-1h1y2gb){color:var(--text)}.row.svelte-1h1y2gb:focus-visible{outline:1px solid var(--accent);outline-offset:1px;border-radius:var(--radius-xs)}.box.svelte-1h1y2gb{flex-shrink:0;width:15px;height:15px;margin-top:1px;border-radius:var(--radius-xs);display:grid;place-items:center;position:relative}.dot.svelte-1h1y2gb{width:5px;height:5px;border-radius:50%;background:var(--accent);animation:ocrc-pulse 1.2s ease-in-out infinite;display:none}.check.svelte-1h1y2gb{font-size:11px;line-height:1;display:none}.tx.svelte-1h1y2gb{font-size:12px;line-height:1.45;color:var(--text-2)}.row.done.svelte-1h1y2gb .box:where(.svelte-1h1y2gb){background:transparent;border-color:var(--accent-line)}.row.done.svelte-1h1y2gb .check:where(.svelte-1h1y2gb){display:block;color:var(--accent)}.row.done.svelte-1h1y2gb .tx:where(.svelte-1h1y2gb){color:var(--text-3);text-decoration:line-through;text-decoration-color:var(--border)}.row.running.svelte-1h1y2gb .box:where(.svelte-1h1y2gb){border:1.5px solid var(--accent)}.row.running.svelte-1h1y2gb .dot:where(.svelte-1h1y2gb){display:block}.row.running.svelte-1h1y2gb .tx:where(.svelte-1h1y2gb){color:var(--text);font-weight:500}.row.pending.svelte-1h1y2gb .box:where(.svelte-1h1y2gb){border:1.5px solid var(--border)}.mcp.svelte-ehf8ic{font-size:11.5px}.list.svelte-ehf8ic{display:flex;flex-direction:column;gap:4px;color:var(--text-2);margin-top:6px}.row.svelte-ehf8ic{display:flex;align-items:center;gap:7px}.dot.svelte-ehf8ic{width:6px;height:6px;border-radius:50%;background:var(--ok);flex-shrink:0}.row.off.svelte-ehf8ic{color:var(--text-3)}.row.off.svelte-ehf8ic .dot:where(.svelte-ehf8ic){background:var(--text-3)}.sr-only.svelte-ehf8ic{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.schedules.svelte-pijcyq{font-size:11.5px}.hd.svelte-pijcyq{display:flex;align-items:center;justify-content:space-between}.label.svelte-pijcyq{text-transform:uppercase;letter-spacing:.16em;color:var(--text-3);font-size:10px}.add.svelte-pijcyq{width:20px;height:20px;display:grid;place-items:center;padding:0;background:transparent;border:1px solid var(--border-2);border-radius:var(--radius-sm);color:var(--text-3);font-size:13px;line-height:1;cursor:pointer}.add.svelte-pijcyq:hover{color:var(--text);border-color:var(--accent)}.list.svelte-pijcyq{display:flex;flex-direction:column;gap:7px;margin-top:8px}.row.svelte-pijcyq{display:flex;align-items:flex-start;gap:8px}.switch.svelte-pijcyq{flex-shrink:0;width:22px;height:14px;margin-top:2px;padding:0;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--bg-input);display:grid;align-items:center;cursor:pointer}.switch.svelte-pijcyq .dot:where(.svelte-pijcyq){width:8px;height:8px;margin:0 2px;border-radius:50%;background:var(--text-3);transition:transform .16s ease,background .16s ease}.switch.on.svelte-pijcyq{border-color:var(--accent)}.switch.on.svelte-pijcyq .dot:where(.svelte-pijcyq){background:var(--accent);transform:translate(8px)}.txt.svelte-pijcyq{flex:1;min-width:0}.prompt.svelte-pijcyq{font-size:11.5px;color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row.off.svelte-pijcyq .prompt:where(.svelte-pijcyq){color:var(--text-3);text-decoration:line-through;text-decoration-color:var(--border)}.spec.svelte-pijcyq{font-size:10px;color:var(--text-3);margin-top:1px}.del.svelte-pijcyq{flex-shrink:0;margin-top:1px;padding:0 5px;min-width:18px;height:18px;background:transparent;border:none;border-radius:var(--radius-xs);color:var(--text-3);font-size:11px;cursor:pointer}.del.svelte-pijcyq:hover{color:var(--err)}.del.arm.svelte-pijcyq{color:var(--err);border:1px solid var(--err)}.form.svelte-pijcyq{margin-top:10px;padding:9px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);display:flex;flex-direction:column;gap:7px}.prompt-in.svelte-pijcyq{width:100%;resize:vertical;padding:6px 8px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font:inherit;box-sizing:border-box}.prompt-in.svelte-pijcyq:focus{outline:1px solid var(--accent)}.kind.svelte-pijcyq{display:flex;align-items:center;gap:10px;color:var(--text-2)}.kind.svelte-pijcyq label:where(.svelte-pijcyq){display:inline-flex;align-items:center;gap:4px;cursor:pointer}.kind.svelte-pijcyq input[type=radio]:where(.svelte-pijcyq){accent-color:var(--accent);margin:0}.num.svelte-pijcyq,.time.svelte-pijcyq{width:62px;padding:2px 5px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-xs);color:var(--text);font:inherit;font-size:11px}.num.svelte-pijcyq:disabled,.time.svelte-pijcyq:disabled{opacity:.4}.err.svelte-pijcyq{color:var(--err);font-size:10.5px}.go.svelte-pijcyq{align-self:flex-end;padding:4px 12px;background:var(--accent);border:none;border-radius:var(--radius-sm);color:var(--accent-ink);font:inherit;font-weight:600;cursor:pointer}.go.svelte-pijcyq:disabled{opacity:.45;cursor:default}.skills.svelte-taxat6{font-size:11.5px}.label.svelte-taxat6{text-transform:uppercase;letter-spacing:.16em;color:var(--text-3);font-size:10px}.chips.svelte-taxat6{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px;animation:ocrc-fade .15s var(--ease-out, ease-out)}.chips.clipped.svelte-taxat6{max-height:132px;overflow:hidden;-webkit-mask-image:linear-gradient(to bottom,#000 70%,transparent);mask-image:linear-gradient(to bottom,#000 70%,transparent)}.chip.svelte-taxat6{padding:2px 7px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--text-2);font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.more.svelte-taxat6{margin-top:5px;padding:0;background:transparent;border:none;color:var(--text-3);font:inherit;font-size:10.5px;cursor:pointer;text-align:left}.more.svelte-taxat6:hover{color:var(--accent)}.files.svelte-tp0rgj{font-size:11.5px}.label.svelte-tp0rgj{text-transform:uppercase;letter-spacing:.16em;color:var(--text-3);font-size:10px}.crumb.svelte-tp0rgj{margin-top:6px;color:var(--text-3);font-size:10.5px}.up.svelte-tp0rgj{background:transparent;border:none;padding:0;color:var(--accent);font:inherit;cursor:pointer}.list.svelte-tp0rgj{display:flex;flex-direction:column;gap:2px;margin-top:4px}.row.svelte-tp0rgj{display:flex;align-items:center;gap:7px;padding:3px 4px;margin:0;background:transparent;border:none;border-radius:var(--radius-xs);color:var(--text-2);font:inherit;text-align:left;cursor:pointer}.row.svelte-tp0rgj:hover{background:var(--bg-input);color:var(--text)}.ico.svelte-tp0rgj{flex-shrink:0;width:14px;text-align:center}.name.svelte-tp0rgj{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wt.svelte-148ev8e{font-size:11.5px}.hd.svelte-148ev8e{display:flex;align-items:center;justify-content:space-between}.label.svelte-148ev8e{text-transform:uppercase;letter-spacing:.16em;color:var(--text-3);font-size:10px}.add.svelte-148ev8e{width:20px;height:20px;display:grid;place-items:center;padding:0;background:transparent;border:1px solid var(--border-2);border-radius:var(--radius-sm);color:var(--text-3);font-size:13px;line-height:1;cursor:pointer}.add.svelte-148ev8e:hover{color:var(--text);border-color:var(--accent)}.list.svelte-148ev8e{display:flex;flex-direction:column;gap:4px;margin-top:6px}.rows.svelte-148ev8e{display:flex;flex-direction:column;gap:4px;animation:ocrc-fade .15s var(--ease-out, ease-out)}.row.svelte-148ev8e{display:flex;align-items:center;gap:6px}.ico.svelte-148ev8e{flex-shrink:0}.name.svelte-148ev8e{flex:1;min-width:0;color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.del.svelte-148ev8e{flex-shrink:0;padding:0 5px;min-width:18px;height:18px;background:transparent;border:none;border-radius:var(--radius-xs);color:var(--text-3);font-size:11px;cursor:pointer}.del.svelte-148ev8e:hover,.del.arm.svelte-148ev8e{color:var(--err)}.del.arm.svelte-148ev8e{border:1px solid var(--err)}.form.svelte-148ev8e{margin-top:8px;display:flex;gap:6px;align-items:center}.name-in.svelte-148ev8e{flex:1;min-width:0;padding:5px 8px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font:inherit;font-size:11px;box-sizing:border-box}.name-in.svelte-148ev8e:focus{outline:1px solid var(--accent)}.err.svelte-148ev8e{color:var(--err);font-size:10.5px}.go.svelte-148ev8e{padding:4px 10px;background:var(--accent);border:none;border-radius:var(--radius-sm);color:var(--accent-ink);font:inherit;font-weight:600;cursor:pointer}.go.svelte-148ev8e:disabled{opacity:.45;cursor:default}.subs.svelte-1s66f6s{font-size:11.5px}.row.svelte-1s66f6s{display:flex;align-items:center;gap:8px;width:100%;padding:5px 4px;background:transparent;border:none;border-radius:var(--radius-xs);color:var(--text-2);font:inherit;text-align:left;cursor:pointer}.row.svelte-1s66f6s:hover{background:var(--bg-input);color:var(--text)}.dot.svelte-1s66f6s{flex-shrink:0;width:7px;height:7px;border-radius:50%;box-sizing:border-box;background:transparent;border:1.5px solid var(--text-4)}.dot.live.svelte-1s66f6s{background:var(--accent);border-color:var(--accent);animation:ocrc-pulse 1.2s ease-in-out infinite}.dot.done.svelte-1s66f6s{background:var(--ok);border-color:var(--ok)}.meta.svelte-1s66f6s{flex:1;min-width:0;display:flex;align-items:center;gap:8px}.title.svelte-1s66f6s{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.count.svelte-1s66f6s,.live-label.svelte-1s66f6s{flex-shrink:0;font-size:10px;color:var(--text-3)}.empty.svelte-1s66f6s{padding:10px 0;color:var(--text-3);font-size:11px}.t-wrap.svelte-6fqea2{font-size:12px;display:flex;flex-direction:column;height:100%;min-height:0}.t-hd.svelte-6fqea2{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;flex-shrink:0}.t-hint.svelte-6fqea2{font-size:10px;color:var(--text-3)}.open.svelte-6fqea2{background:transparent;border:none;padding:0;color:var(--accent);font:inherit;font-size:11px;cursor:pointer;flex-shrink:0}.t-body.svelte-6fqea2{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;-webkit-overflow-scrolling:touch}.t-body.svelte-6fqea2 .card{margin:4px 0 10px}.empty.svelte-6fqea2{padding:14px 0;color:var(--text-3);font-size:11.5px}.fv.svelte-va1nfd{font-size:11.5px}.label.svelte-va1nfd{text-transform:uppercase;letter-spacing:.16em;color:var(--text-3);font-size:10px}.trunc.svelte-va1nfd{padding:4px 0;color:var(--warn);text-transform:none;letter-spacing:0;font-size:10.5px}.body.svelte-va1nfd{overflow:visible}.hint.svelte-va1nfd{padding:10px 0}.out.svelte-1bw07gw{font-size:11.5px}.hd.svelte-1bw07gw{display:flex;align-items:center;gap:8px;margin-bottom:6px}.tool.svelte-1bw07gw{font-size:12px;font-weight:600;color:var(--text-2)}.st.svelte-1bw07gw{font-size:10px;color:var(--text-3)}.st.running.svelte-1bw07gw,.st.pending.svelte-1bw07gw{color:var(--warn)}.st.error.svelte-1bw07gw{color:var(--err)}.st.completed.svelte-1bw07gw,.st.done.svelte-1bw07gw{color:var(--ok)}.cmd.svelte-1bw07gw{padding:6px 8px;background:var(--bg-input);border-radius:var(--radius-xs);color:var(--toolcmd);font-size:11px;white-space:pre-wrap;word-break:break-word;margin-bottom:6px}.body.svelte-1bw07gw{margin:0;padding:8px 10px;background:var(--bg-code);border-radius:var(--radius-xs);color:var(--toolout);font-size:11px;line-height:1.55;white-space:pre-wrap;word-break:break-word;max-height:60vh;overflow-y:auto}.body.err.svelte-1bw07gw{color:var(--err)}.hint.svelte-1bw07gw{padding:8px 0;color:var(--text-3);font-size:11px}.git.svelte-1x813in{font-size:11.5px}.hd.svelte-1x813in{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.branch.svelte-1x813in{font-size:12px;font-weight:600;color:var(--text-2)}.count.svelte-1x813in{font-size:10px;color:var(--text-3)}.file.svelte-1x813in{margin-bottom:2px}.row.svelte-1x813in{display:flex;align-items:center;gap:7px;width:100%;padding:4px;background:transparent;border:none;border-radius:var(--radius-xs);color:var(--text-2);font:inherit;text-align:left;cursor:pointer}.row.svelte-1x813in:hover{background:var(--bg-input);color:var(--text)}.badge.svelte-1x813in{flex-shrink:0;font-size:9.5px;padding:1px 6px;border-radius:var(--radius-pill);border:1px solid var(--border-2);color:var(--text-3)}.badge.added.svelte-1x813in{color:var(--ok);border-color:var(--ok)}.badge.deleted.svelte-1x813in{color:var(--err);border-color:var(--err)}.badge.modified.svelte-1x813in{color:var(--warn);border-color:var(--warn)}.path.svelte-1x813in{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.delta.svelte-1x813in{flex-shrink:0;display:flex;gap:5px;font-size:10px}.delta.svelte-1x813in .add:where(.svelte-1x813in){color:var(--ok)}.delta.svelte-1x813in .del:where(.svelte-1x813in){color:var(--err)}.patch.svelte-1x813in{margin:2px 0 6px;padding:8px 10px;background:var(--bg-code);border-radius:var(--radius-xs);color:var(--toolout);font-size:10.5px;line-height:1.5;white-space:pre-wrap;word-break:break-word;max-height:320px;overflow-y:auto}.hint.svelte-1x813in{padding:6px 4px;color:var(--text-3);font-size:11px}.inspector.svelte-gu3dqx{width:var(--insp-w, 380px);flex-shrink:0;display:flex;flex-direction:column;background:var(--bg-elev);border-left:1px solid var(--border-2)}.head.svelte-gu3dqx{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px 12px 12px 16px;border-bottom:1px solid var(--border-2)}.head-main.svelte-gu3dqx{flex:1;min-width:0}.collapse-btn.svelte-gu3dqx{flex-shrink:0;display:inline-grid;place-items:center;width:26px;height:26px;background:transparent;border:1px solid var(--border-2);border-radius:var(--radius-xs);color:var(--text-3);cursor:pointer}.collapse-btn.svelte-gu3dqx:hover{color:var(--text);border-color:var(--border)}.collapse-btn.svelte-gu3dqx svg:where(.svelte-gu3dqx){width:14px;height:14px}.launcher.svelte-gu3dqx{display:flex;flex-direction:column;align-items:center;padding:8vh 20px 0;text-align:center}.l-title.svelte-gu3dqx{margin:0 0 4px;font-family:var(--font-serif);font-size:15px;color:var(--text)}.l-desc.svelte-gu3dqx{margin:0 0 18px;font-size:11.5px;color:var(--text-3)}.l-list.svelte-gu3dqx{display:flex;flex-direction:column;gap:8px;width:100%;max-width:260px}.l-card.svelte-gu3dqx{display:flex;align-items:center;gap:10px;height:46px;padding:0 12px;background:var(--bg-input);border:1px solid var(--border-2);border-radius:var(--radius-sm);color:var(--text-2);font:inherit;font-size:12.5px;text-align:left;cursor:pointer;transition:border-color .12s ease,color .12s ease}.l-card.svelte-gu3dqx:hover{border-color:var(--accent-line);color:var(--text)}.l-ico.svelte-gu3dqx{display:inline-flex;flex-shrink:0;color:var(--text-3)}.l-card.svelte-gu3dqx:hover .l-ico:where(.svelte-gu3dqx){color:var(--accent)}.l-ico.svelte-gu3dqx svg:where(.svelte-gu3dqx){width:16px;height:16px}.l-text.svelte-gu3dqx{flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:8px}.l-sep.svelte-gu3dqx{height:1px;background:var(--border-2);margin:4px 0}.section-label.svelte-gu3dqx{text-transform:uppercase;letter-spacing:.16em;color:var(--text-3);font-size:10px}.name.svelte-gu3dqx{margin-top:4px;display:flex;align-items:center;gap:6px;min-width:0;font-weight:600;font-size:13px;color:var(--text)}.title-text.svelte-gu3dqx{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tabs.svelte-gu3dqx{display:flex;align-items:center;gap:2px;padding:0 6px 0 10px;border-bottom:1px solid var(--border-2);overflow-x:auto;scrollbar-width:none}.tabs.svelte-gu3dqx::-webkit-scrollbar{display:none}.tab.svelte-gu3dqx{position:relative;display:inline-flex;align-items:center;gap:4px;padding:9px 6px 8px;background:transparent;border:none;color:var(--text-3);font:inherit;font-size:12px;white-space:nowrap;cursor:pointer;flex-shrink:0}.tab.svelte-gu3dqx:hover{color:var(--text-2)}.tab.active.svelte-gu3dqx{color:var(--text);font-weight:600}.tab.active.svelte-gu3dqx:after{content:"";position:absolute;left:6px;right:6px;bottom:-1px;height:2px;background:var(--accent);border-radius:var(--radius-pill)}.dlabel.svelte-gu3dqx{max-width:96px;overflow:hidden;text-overflow:ellipsis}.tbadge.svelte-gu3dqx{font-size:9.5px;color:var(--text-3)}.tab.active.svelte-gu3dqx .tbadge:where(.svelte-gu3dqx){color:var(--text-2)}.closer.svelte-gu3dqx{display:inline-grid;place-items:center;width:14px;height:14px;border-radius:var(--radius-xs);color:var(--text-4);font-size:10px;line-height:1}.closer.svelte-gu3dqx:hover{color:var(--text);background:var(--bg-input)}.tab.active.svelte-gu3dqx .closer:where(.svelte-gu3dqx){color:var(--text-3)}.tabs-more.svelte-gu3dqx{flex-shrink:0;display:inline-grid;place-items:center;width:20px;height:20px;background:transparent;border:none;border-radius:var(--radius-xs);color:var(--text-3);font-size:12px;cursor:pointer}.tabs-more.svelte-gu3dqx:hover{color:var(--text);background:var(--bg-input)}.tabs-menu.svelte-gu3dqx{position:absolute;top:calc(100% + 4px);right:6px;min-width:110px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:0 14px 36px #00000040;padding:4px;z-index:var(--z-popover);animation:ocrc-pop .14s var(--ease-out, ease-out)}.plus.svelte-gu3dqx{position:relative;margin-left:auto;flex-shrink:0}.plus-btn.svelte-gu3dqx{display:inline-grid;place-items:center;width:20px;height:20px;background:transparent;border:none;border-radius:var(--radius-xs);color:var(--text-3);font-size:14px;line-height:1;cursor:pointer}.plus-btn.svelte-gu3dqx:hover{color:var(--text);background:var(--bg-input)}.plus-menu.svelte-gu3dqx{position:absolute;top:calc(100% + 6px);right:0;min-width:130px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:0 14px 36px #00000040;padding:4px;z-index:var(--z-popover);animation:ocrc-pop .14s var(--ease-out, ease-out)}.plus-menu.svelte-gu3dqx button:where(.svelte-gu3dqx){display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:6px 9px;background:transparent;border:none;border-radius:var(--radius-xs);color:var(--text-2);font:inherit;font-size:12px;text-align:left;cursor:pointer}.plus-menu.svelte-gu3dqx button:where(.svelte-gu3dqx):hover{background:var(--bg-input);color:var(--text)}.menu-sep.svelte-gu3dqx{height:1px;background:var(--border-2);margin:4px 2px}.pane.svelte-gu3dqx{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:12px 14px 18px}.gap.svelte-gu3dqx{height:14px}@media (max-width: 820px){.inspector.svelte-gu3dqx{width:100%;height:100%;display:block;overflow-y:auto;-webkit-overflow-scrolling:touch}.pane.svelte-gu3dqx{overflow:visible}}.overlay.svelte-wh9uu8{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;justify-content:center;align-items:flex-start;padding-top:84px;z-index:var(--z-overlay)}.backdrop.svelte-wh9uu8{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--scrim);border:none;padding:0;margin:0;cursor:default;animation:ocrc-fade .16s ease backwards}.palette.svelte-wh9uu8{position:relative;z-index:1;width:min(560px,92vw);max-height:calc(100vh - 120px);background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-palette);display:flex;flex-direction:column;animation:ocrc-pop .16s var(--ease-out, ease-out) backwards}.header.svelte-wh9uu8{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--border);flex-shrink:0}.search-icon.svelte-wh9uu8{font-size:18px;color:var(--text-3);line-height:1;flex-shrink:0}.q.svelte-wh9uu8{flex:1;min-width:0;background:transparent;border:none;color:var(--text);font-family:var(--font-sans);font-size:16px;outline:none;padding:0}.q.svelte-wh9uu8::placeholder{color:var(--text-4)}.keycap.svelte-wh9uu8{flex-shrink:0;font-size:10px;color:var(--text-3);text-transform:uppercase;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-xs);padding:3px 6px}.results.svelte-wh9uu8{overflow-y:auto;padding:8px}.group.svelte-wh9uu8{display:flex;align-items:center;gap:8px;padding:8px 10px 4px}.group-icon.svelte-wh9uu8{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-xs);background:var(--accent-2);color:var(--accent);font-family:var(--font-mono);font-size:12px;font-weight:600}.group-label.svelte-wh9uu8{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--text-3)}.row.svelte-wh9uu8{display:flex;align-items:center;gap:10px;width:100%;background:transparent;border:none;color:var(--text);padding:7px 10px;border-radius:var(--radius-sm);cursor:pointer;text-align:left;transition:background .12s ease}.row.active.svelte-wh9uu8,.row.svelte-wh9uu8:hover:not(.disabled){background:var(--accent-2)}.row.disabled.svelte-wh9uu8{opacity:.5;cursor:default}.row.svelte-wh9uu8:disabled{opacity:.5;cursor:default}.tile.svelte-wh9uu8{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:var(--radius-xs);background:var(--bg-panel);border:1px solid var(--border-2);color:var(--text-2);font-family:var(--font-mono);font-size:11px;font-weight:600}.label.svelte-wh9uu8{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13.5px;color:var(--text);text-transform:none;letter-spacing:normal}.hint.svelte-wh9uu8{flex-shrink:0;max-width:45%;font-size:11px;color:var(--text-4);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:right}.empty.svelte-wh9uu8{padding:24px;text-align:center;color:var(--text-3);font-size:13.5px}.error.svelte-wh9uu8{padding:10px;color:var(--err);font-size:12px}.about.svelte-wh9uu8{padding:8px 14px 10px;border-top:1px solid var(--border-2);color:var(--text-4);font-size:10.5px}.overlay.svelte-cfrpez{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;justify-content:center;align-items:flex-start;padding-top:84px;z-index:var(--z-modal)}.backdrop.svelte-cfrpez{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--scrim);border:none;padding:0;margin:0;cursor:default;animation:ocrc-fade .16s ease backwards}.modal.svelte-cfrpez{position:relative;z-index:1;width:min(460px,92vw);max-height:calc(100vh - 120px);background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 24px 70px #0009;display:flex;flex-direction:column;overflow:hidden;animation:svelte-cfrpez-ocrc-pop .14s ease}@keyframes svelte-cfrpez-ocrc-pop{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.header.svelte-cfrpez{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.title.svelte-cfrpez{font-size:15px;font-weight:600;color:var(--text)}.close.svelte-cfrpez{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-3);cursor:pointer;font-size:14px;transition:color .12s ease,background .12s ease,border-color .12s ease}.close.svelte-cfrpez:hover{color:var(--text);background:var(--bg-elev2);border-color:var(--border)}.body.svelte-cfrpez{padding:16px;display:flex;flex-direction:column;gap:18px;overflow-y:auto}.field.svelte-cfrpez{display:flex;flex-direction:column;gap:8px}.label.svelte-cfrpez{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--text-3)}.optional.svelte-cfrpez{font-weight:400;color:var(--text-4);text-transform:none;letter-spacing:normal}.agent-chips.svelte-cfrpez{display:flex;flex-wrap:wrap;gap:8px}.agent-chip.svelte-cfrpez{display:inline-flex;align-items:center;gap:7px;padding:5px 10px 5px 5px;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--text-2);cursor:pointer;transition:border-color .12s ease,background .12s ease}.agent-chip.svelte-cfrpez:hover{border-color:var(--accent);background:var(--bg-elev2)}.agent-chip.selected.svelte-cfrpez{background:var(--accent-2);border-color:var(--accent-line);color:var(--text)}.chip-tile.svelte-cfrpez{width:22px;height:22px;display:inline-grid;place-items:center;border-radius:var(--radius-xs);border:1px solid transparent;font-family:var(--font-mono);font-size:9.5px;font-weight:700;flex-shrink:0}.chip-name.svelte-cfrpez{font-size:12px;font-weight:600}.chip-status.svelte-cfrpez{width:6px;height:6px;border-radius:50%;border:1.5px solid transparent;flex-shrink:0;box-sizing:border-box}.sr-only.svelte-cfrpez{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.chip-status.online.svelte-cfrpez{background:var(--dot, var(--ok));border-color:var(--dot, var(--ok))}.chip-status.connecting.svelte-cfrpez{background:var(--warn);border-color:var(--warn);animation:ocrc-pulse 1.2s ease-in-out infinite}.chip-status.offline.svelte-cfrpez{background:transparent;border:1.5px solid var(--text-4)}.dir-input.svelte-cfrpez{display:flex;align-items:center;gap:0;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;transition:border-color .15s ease}.dir-input.svelte-cfrpez:focus-within{border-color:var(--accent)}.host-prefix.svelte-cfrpez{padding:8px 0 8px 10px;font-size:12.5px;color:var(--text-3);flex-shrink:0}.path.svelte-cfrpez{flex:1;min-width:0;background:transparent;border:none;color:var(--text);font-size:16px;padding:8px 10px;outline:none}.path.svelte-cfrpez::placeholder{color:var(--text-4)}.browse.svelte-cfrpez{border:none;border-left:1px solid var(--border);background:var(--bg-panel);color:var(--text-3);font-size:11px;font-weight:600;padding:0 12px;cursor:pointer;transition:color .12s ease,background .12s ease;flex-shrink:0}.browse.svelte-cfrpez:hover{color:var(--text);background:var(--bg-elev2)}.recents.svelte-cfrpez{display:none;flex-direction:column;gap:6px}.recents.open.svelte-cfrpez{display:flex}.recents-label.svelte-cfrpez{font-size:10px;color:var(--text-4);text-transform:uppercase;letter-spacing:.1em}.recents-list.svelte-cfrpez{display:flex;flex-direction:column;gap:2px;max-height:160px;overflow-y:auto;padding:4px;background:var(--bg-panel);border:1px solid var(--border-2);border-radius:var(--radius-sm)}.recent.svelte-cfrpez{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:6px 8px;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text);cursor:pointer;text-align:left;transition:background .12s ease}.recent.svelte-cfrpez:hover{background:var(--bg-elev)}.recent-name.svelte-cfrpez{font-size:12px;font-weight:600;color:var(--text-2)}.recent-dir.svelte-cfrpez{font-size:10.5px;color:var(--text-4);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}.branch.svelte-cfrpez{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:16px;padding:8px 10px;outline:none;transition:border-color .15s ease}.branch.svelte-cfrpez:focus{border-color:var(--accent)}.branch.svelte-cfrpez::placeholder{color:var(--text-4)}.error.svelte-cfrpez{padding:10px 12px;background:color-mix(in srgb,var(--err) 12%,transparent);border:1px solid color-mix(in srgb,var(--err) 35%,transparent);border-radius:var(--radius-sm);color:var(--err);font-size:12px}.footer.svelte-cfrpez{display:flex;justify-content:flex-end;gap:10px;padding:14px 16px;border-top:1px solid var(--border);flex-shrink:0}.btn.svelte-cfrpez{padding:7px 14px;border-radius:var(--radius-sm);font-size:13px;font-weight:650;cursor:pointer;transition:opacity .12s ease,transform .12s ease;border:none}.btn.svelte-cfrpez:disabled{opacity:.5;cursor:default}.secondary.svelte-cfrpez{background:transparent;border:1px solid var(--border);color:var(--text-2)}.secondary.svelte-cfrpez:hover:not(:disabled){background:var(--bg-elev2);color:var(--text)}.primary.svelte-cfrpez{background:var(--accent);color:var(--accent-ink)}.primary.svelte-cfrpez:hover:not(:disabled){opacity:.9}.empty.svelte-cfrpez{padding:24px;text-align:center;color:var(--text-3);font-size:13.5px}@media (max-width: 820px){.overlay.svelte-cfrpez{align-items:flex-end;padding:0 0 calc(env(safe-area-inset-bottom,0px) + var(--kb, 0px));transition:padding-bottom .2s ease-out}.modal.svelte-cfrpez{width:100%;max-height:calc(86vh - var(--kb, 0px));border-bottom-left-radius:0;border-bottom-right-radius:0;animation:svelte-cfrpez-sheetin .22s ease}@keyframes svelte-cfrpez-sheetin{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}}.overlay.svelte-b8emeh{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:grid;place-items:center;padding:24px}.backdrop.svelte-b8emeh{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--scrim);border:none;padding:0;margin:0;cursor:default;animation:ocrc-fade .16s ease backwards}.modal.svelte-b8emeh{position:relative;width:min(880px,94vw);max-height:86vh;overflow:auto;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-palette);animation:ocrc-pop .16s var(--ease-out, ease-out) backwards}.header.svelte-b8emeh{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border-2)}.title.svelte-b8emeh{font-family:var(--font-serif);font-size:16px;font-weight:600;color:var(--text)}.close.svelte-b8emeh{background:transparent;border:none;color:var(--text-3);font-size:14px;cursor:pointer}.cols.svelte-b8emeh{display:flex;gap:14px;padding:14px 18px}.list.svelte-b8emeh{width:170px;flex-shrink:0;display:flex;flex-direction:column;gap:6px}.ch.svelte-b8emeh{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:8px 10px;background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font:inherit;text-align:left;cursor:pointer}.ch-logo.svelte-b8emeh{display:grid;place-items:center}.ch.sel.svelte-b8emeh{border-color:var(--accent);background:var(--accent-2)}.ch-state.svelte-b8emeh{font-size:10px;color:var(--text-3)}.ch-state.on.svelte-b8emeh{color:var(--ok, var(--accent))}.detail.svelte-b8emeh{flex:1;min-width:0;display:flex;flex-direction:column;gap:12px}.d-hd.svelte-b8emeh{display:flex;align-items:center;justify-content:space-between}.d-name.svelte-b8emeh{font-family:var(--font-serif);font-size:15px;font-weight:600;color:var(--text)}.switch.svelte-b8emeh{width:40px;height:22px;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--bg-input);display:grid;align-items:center;padding:0 2px;cursor:pointer}.switch.svelte-b8emeh .knob:where(.svelte-b8emeh){width:14px;height:14px;border-radius:50%;background:var(--text-3);transition:transform .16s ease,background .16s ease}.switch.on.svelte-b8emeh{border-color:var(--accent)}.switch.on.svelte-b8emeh .knob:where(.svelte-b8emeh){background:var(--accent);transform:translate(18px)}.note.svelte-b8emeh{margin:0;font-size:11.5px;color:var(--text-3)}.sec.svelte-b8emeh{border-top:1px solid var(--border-2);padding-top:10px}.danger.svelte-b8emeh{border-top-color:var(--err)}.sec-label.svelte-b8emeh{font-size:11px;color:var(--text-3);margin-bottom:6px}.cred.svelte-b8emeh{width:100%;box-sizing:border-box;padding:6px 8px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:11px}.cred.svelte-b8emeh:focus{outline:1px solid var(--accent)}.sec-acts.svelte-b8emeh{display:flex;align-items:center;gap:8px;margin-top:6px}.save.svelte-b8emeh{padding:4px 12px;background:var(--accent);border:none;border-radius:var(--radius-sm);color:var(--accent-ink);font:inherit;font-size:11.5px;font-weight:600;cursor:pointer}.opts.svelte-b8emeh{display:flex;flex-direction:column;gap:4px}.opt.svelte-b8emeh{padding:7px 10px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-2);font:inherit;font-size:12px;text-align:left;cursor:pointer}.opt.sel.svelte-b8emeh{border-color:var(--accent);color:var(--text);background:var(--accent-2)}.hint.svelte-b8emeh{font-size:10.5px;color:var(--text-3);margin:4px 0 0}.reset.svelte-b8emeh{padding:5px 12px;background:transparent;border:1px solid var(--err);border-radius:var(--radius-sm);color:var(--err);font:inherit;font-size:11.5px;cursor:pointer}.pair.svelte-b8emeh{border-top:1px solid var(--border-2);padding:12px 18px 16px}.pair-head.svelte-b8emeh{display:flex;align-items:flex-start;gap:10px;justify-content:space-between}.pair-title.svelte-b8emeh{font-size:12.5px;font-weight:650;color:var(--text)}.cd.svelte-b8emeh{font-weight:500;color:var(--text-3);font-size:11.5px;margin-left:4px}.cd.expired.svelte-b8emeh{color:var(--warn)}.stop.svelte-b8emeh{flex-shrink:0;padding:4px 12px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-2);font:inherit;font-size:11.5px;cursor:pointer}.stop.svelte-b8emeh:hover{color:var(--err);border-color:var(--err)}.qr-big.svelte-b8emeh{position:relative;width:min(200px,70%);margin:14px auto 12px;background:#fff;padding:10px;border-radius:var(--radius);animation:ocrc-fade .18s var(--ease-out, ease-out)}.qr-big.svelte-b8emeh svg{width:100%;height:auto;display:block}.qr-big.dim.svelte-b8emeh svg{opacity:.18;filter:blur(1px)}.qr-expired.svelte-b8emeh{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--text);font-size:12px;font-weight:600}.pair-acts.svelte-b8emeh{display:flex;align-items:center;gap:8px}.spacer.svelte-b8emeh{flex:1}.pair-stopped.svelte-b8emeh{display:flex;align-items:center;gap:10px;padding:10px 0 2px;color:var(--text-2);font-size:12px}.copy.svelte-b8emeh{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-2);font:inherit;font-size:11.5px;cursor:pointer}.copy.svelte-b8emeh:hover{border-color:var(--accent);color:var(--text)}.overlay.svelte-1r7zhoh{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-overlay);pointer-events:none}.backdrop.svelte-1r7zhoh{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;border:none;padding:0;margin:0;cursor:default;pointer-events:auto}.menu.svelte-1r7zhoh{position:absolute;z-index:1;min-width:180px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 18px 50px #0000008c;padding:6px;display:flex;flex-direction:column;gap:2px;pointer-events:auto;animation:svelte-1r7zhoh-ocrc-pop .14s ease}@keyframes svelte-1r7zhoh-ocrc-pop{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.item.svelte-1r7zhoh{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text);cursor:pointer;text-align:left;transition:background .12s ease}.item.svelte-1r7zhoh:hover{background:var(--accent-2)}.icon.svelte-1r7zhoh{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-xs);background:var(--bg-panel);border:1px solid var(--border-2);color:var(--text-2);font-size:12px;flex-shrink:0}.label.svelte-1r7zhoh{flex:1;font-size:13px;font-weight:500}.keycap.svelte-1r7zhoh{flex-shrink:0;font-size:10px;color:var(--text-3);text-transform:uppercase;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-xs);padding:2px 5px}@media (max-width: 820px){.overlay.svelte-1r7zhoh{display:flex;align-items:flex-end;justify-content:center;padding:0 0 env(safe-area-inset-bottom,0);pointer-events:auto;background:var(--scrim)}.menu.svelte-1r7zhoh{position:relative;top:auto!important;left:auto!important;width:100%;max-width:100%;border-bottom-left-radius:0;border-bottom-right-radius:0;animation:svelte-1r7zhoh-sheetin .18s ease}@keyframes svelte-1r7zhoh-sheetin{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}}.fab-root.svelte-9zfapn{display:none}@media (max-width: 820px){.fab-root.svelte-9zfapn{display:block}}.scrim.svelte-9zfapn{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-fab);background:var(--scrim);border:none;padding:0;cursor:default;animation:svelte-9zfapn-fade .16s ease}@keyframes svelte-9zfapn-fade{0%{opacity:0}to{opacity:1}}.fab.svelte-9zfapn{position:fixed;z-index:var(--z-fab);right:18px;bottom:calc(76px + env(safe-area-inset-bottom,0px) + var(--kb, 0px));width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:var(--accent-ink);border:none;font-size:28px;line-height:1;cursor:pointer;box-shadow:0 8px 24px #0006;transition:transform .2s ease}.fab.rot.svelte-9zfapn{transform:rotate(45deg)}.fab.svelte-9zfapn:active{transform:scale(.94)}.fab.rot.svelte-9zfapn:active{transform:rotate(45deg) scale(.94)}.dial.svelte-9zfapn{position:fixed;z-index:var(--z-fab);right:20px;bottom:calc(146px + env(safe-area-inset-bottom,0px) + var(--kb, 0px));display:flex;flex-direction:column;align-items:flex-end;gap:12px}.dial-item.svelte-9zfapn{display:flex;align-items:center;gap:10px;background:transparent;border:none;padding:0;cursor:pointer;animation:svelte-9zfapn-rise .16s ease both}@keyframes svelte-9zfapn-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.dial-label.svelte-9zfapn{font-size:12px;color:var(--text);background:var(--bg-elev);border:1px solid var(--border);padding:6px 10px;border-radius:var(--radius-xs);white-space:nowrap;box-shadow:0 4px 14px #0000004d}.dial-icon.svelte-9zfapn{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-size:18px;background:var(--bg-elev2);color:var(--text);border:1px solid var(--border)}.gate.svelte-9s687p{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-gate);display:flex;align-items:center;justify-content:center;background:var(--bg);padding:24px;padding-top:calc(24px + env(safe-area-inset-top,0px));padding-bottom:calc(24px + env(safe-area-inset-bottom,0px));overflow-y:auto}.panel.svelte-9s687p{width:min(1060px,100%);background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:22px 26px;display:flex;flex-direction:column;gap:14px;animation:ocrc-pop var(--dur-enter, .2s) var(--ease-out, ease-out) backwards}.head.svelte-9s687p{display:flex;gap:14px;align-items:center}.hicon.svelte-9s687p{width:52px;height:52px;flex-shrink:0;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 8%,transparent);border:1px solid var(--border-2);border-radius:var(--radius)}.hicon.svelte-9s687p svg:where(.svelte-9s687p){width:34px;height:34px;display:block}h1.svelte-9s687p{margin:0;font-size:17px;color:var(--text);font-weight:700}.sub.svelte-9s687p{margin:2px 0 0;font-size:12.5px;color:var(--text-2)}.cols.svelte-9s687p{display:grid;grid-template-columns:1.25fr 1fr;gap:16px}@media (max-width: 860px){.cols.svelte-9s687p{grid-template-columns:1fr}}.scan.svelte-9s687p,.channels.svelte-9s687p{border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;display:flex;flex-direction:column;gap:10px}.sec-head.svelte-9s687p{display:flex;align-items:center;gap:8px;justify-content:space-between;flex-wrap:wrap}.sec-title.svelte-9s687p{font-size:13px;font-weight:650;color:var(--text)}.chip.svelte-9s687p{font-size:10.5px;color:var(--text-2);background:var(--bg-elev);border:1px solid var(--border);padding:2px 8px;border-radius:var(--radius-pill)}.wait-row.svelte-9s687p{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.wait.done.svelte-9s687p{color:var(--ok, #2e9e6b)}.btn.enter.svelte-9s687p{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}.wait.svelte-9s687p{font-size:12px;color:var(--text);font-weight:600}.cd.svelte-9s687p{font-weight:500;color:var(--text-3)}.cd.expired.svelte-9s687p{color:var(--warn)}.qr-wrap.svelte-9s687p{position:relative;width:min(230px,80%);margin:4px auto;background:#fff;padding:12px;border-radius:var(--radius);border:1px dashed var(--border-2)}.qr-wrap.svelte-9s687p svg{width:100%;height:auto;display:block}.qr-re.svelte-9s687p{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--text);font-size:12.5px;font-weight:600}.acts.svelte-9s687p{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.spacer.svelte-9s687p{flex:1}.btn.svelte-9s687p{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-2);font:inherit;font-size:12px;cursor:pointer}.btn.svelte-9s687p:hover{border-color:var(--accent);color:var(--text)}.ch.svelte-9s687p{display:flex;gap:12px;align-items:flex-start;padding:10px 12px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:default}.lock.svelte-9s687p{margin-left:auto;font-size:12px;opacity:.65;flex-shrink:0}.ch-icon.svelte-9s687p{display:grid;place-items:center;flex-shrink:0}.ch-name.svelte-9s687p{font-size:12.5px;font-weight:650;color:var(--text);display:flex;gap:8px;align-items:baseline}.ok.svelte-9s687p{font-size:10.5px;color:var(--ok, #2e9e6b);font-weight:600}.off.svelte-9s687p{font-size:10.5px;color:var(--text-3);font-weight:500}.ch-note.svelte-9s687p{font-size:11.5px;color:var(--text-3);margin-top:2px}.hint.svelte-9s687p{font-size:11.5px;color:var(--text-3);margin:0;line-height:1.5}.dim.svelte-9s687p{color:var(--text-3)}.rejected.svelte-9s687p{margin:0;font-size:12.5px;color:var(--err)}.paste.svelte-9s687p{border-top:1px solid var(--border-2);padding-top:10px}.paste.svelte-9s687p summary:where(.svelte-9s687p){cursor:pointer;font-size:12px;color:var(--text-2)}.paste-body.svelte-9s687p{display:flex;flex-direction:column;gap:8px;padding-top:10px}.field.svelte-9s687p{padding:9px 11px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-input);color:var(--text);font-size:12.5px}.field.svelte-9s687p:focus{outline:none;border-color:var(--accent-line)}.err.svelte-9s687p{font-size:12px;color:var(--err)}.connect.svelte-9s687p{align-self:flex-start;padding:8px 18px;background:var(--accent);border:1px solid var(--accent);color:var(--accent-ink);border-radius:var(--radius-sm);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer}.connect.svelte-9s687p:disabled{opacity:.45;cursor:default}.foot.svelte-9s687p{border-top:1px solid var(--border-2);padding-top:10px}.app.svelte-12qhfyh{position:fixed;top:0;left:0;right:0;display:flex;flex-direction:column;height:100vh;overflow:hidden;background:var(--bg)}.body.svelte-12qhfyh{display:flex;flex:1;overflow:hidden;position:relative}main.svelte-12qhfyh{position:relative;flex:1;overflow:hidden;display:flex;flex-direction:column;min-width:0;background:var(--bg-canvas, var(--bg));border-radius:var(--radius) var(--radius) 0 0}.rail-wrap.svelte-12qhfyh{display:block;width:var(--rail-w, 250px);flex-shrink:0;overflow:hidden;border-right:1px solid var(--border-2);position:relative;z-index:1;transition:transform .22s ease}.rail-wrap.collapsed.svelte-12qhfyh{transform:translate(-100%);margin-right:calc(-1 * var(--rail-w, 250px));pointer-events:none}.inspector-wrap.svelte-12qhfyh{display:contents}.rail-strip.svelte-12qhfyh{display:flex;flex-direction:column;align-items:center;gap:12px;width:44px;flex-shrink:0;padding:14px 0 10px;background:var(--bg-panel);border:none;border-right:1px solid var(--border-2);color:var(--text-3);cursor:pointer;transition:color .12s ease,background .12s ease}.rail-strip.svelte-12qhfyh:hover{color:var(--text);background:var(--bg-elev2)}.rail-strip.svelte-12qhfyh .strip-mark:where(.svelte-12qhfyh){width:22px;height:22px;flex-shrink:0}.rail-strip.svelte-12qhfyh .strip-caret:where(.svelte-12qhfyh){width:14px;height:14px}.divider.svelte-12qhfyh{width:6px;flex-shrink:0;margin:0 -3px;z-index:5;cursor:col-resize;background:transparent;transition:background .15s ease}.divider.svelte-12qhfyh:hover,.divider.resizing.svelte-12qhfyh{background:color-mix(in srgb,var(--accent) 35%,transparent)}.backdrop.svelte-12qhfyh{display:none}@media (max-width: 820px){.rail-wrap.svelte-12qhfyh{display:block;position:absolute;top:0;bottom:0;left:0;z-index:var(--z-drawer);width:100%;overflow:hidden;margin-right:0;transition:transform .24s var(--ease, ease);transform:translate(-100%)}.rail-wrap.open.svelte-12qhfyh{transform:translate(0)}.inspector-wrap.svelte-12qhfyh{display:block;position:absolute;left:0;right:0;bottom:var(--kb, 0px);top:auto;z-index:var(--z-sheet);width:100%;height:min(82vh,580px);overflow:hidden;transition:transform .24s ease;transform:translateY(calc(100% + var(--kb, 0px)));border-radius:var(--radius) var(--radius) 0 0;box-shadow:0 -10px 44px #0000008c}.inspector-wrap.open.svelte-12qhfyh{transform:translateY(0)}.rail-wrap.svelte-12qhfyh .agent-panel,.rail-wrap.svelte-12qhfyh .panel{width:100%}.rail-strip.svelte-12qhfyh{display:none}.inspector-wrap.svelte-12qhfyh .inspector{width:100%;height:100%}.backdrop.svelte-12qhfyh{display:block;position:absolute;top:0;right:0;bottom:0;left:0;z-index:var(--z-backdrop);background:var(--scrim);border:none;padding:0;cursor:default;animation:svelte-12qhfyh-fade .18s ease}@keyframes svelte-12qhfyh-fade{0%{opacity:0}to{opacity:1}}}
@@ -1 +0,0 @@
1
- .suggestions.svelte-1hbn5f9{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:0 14px 8px}.chip.svelte-1hbn5f9{min-height:36px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--text-2);font-size:12px;padding:6px 13px;cursor:pointer;animation:ocrc-rise .22s var(--ease-out, ease-out) backwards;transition:border-color .12s var(--ease, ease),color .12s var(--ease, ease)}.chip.svelte-1hbn5f9:hover{border-color:var(--accent);color:var(--text)}.dismiss.svelte-1hbn5f9{background:transparent;border:none;color:var(--text-4);font-size:12px;cursor:pointer;padding:6px 8px}.dismiss.svelte-1hbn5f9:hover{color:var(--text-2)}.wrap.svelte-1f5vmb3{position:relative;min-width:0}.chip.svelte-1f5vmb3{display:flex;align-items:center;gap:5px;min-height:24px;min-width:0;max-width:100%;box-sizing:border-box;background:transparent;border:1px solid var(--border);color:var(--text-2);border-radius:var(--radius-pill);padding:5px 11px;font-size:11.5px;white-space:nowrap;cursor:pointer;transition:border-color .15s,color .15s}.chip.svelte-1f5vmb3 .icon,.chip.svelte-1f5vmb3 svg{flex-shrink:0}.txt.svelte-1f5vmb3{min-width:0;flex:0 1 auto;overflow:hidden;text-overflow:ellipsis}.chip.icon.svelte-1f5vmb3{display:none}@media (max-width: 820px){.chip.svelte-1f5vmb3{display:none}.chip.icon.svelte-1f5vmb3{display:inline-flex;justify-content:center;min-width:34px;height:30px;padding:0 8px;color:var(--text-2)}}.chip.svelte-1f5vmb3:hover{border-color:var(--accent);color:var(--text)}.pop.svelte-1f5vmb3{position:absolute;bottom:36px;left:0;width:220px;max-height:min(52vh,360px);overflow-y:auto;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:8px;box-shadow:0 16px 40px #00000080;z-index:var(--z-popover)}.opt.svelte-1f5vmb3{display:flex;justify-content:space-between;align-items:center;width:100%;background:transparent;border:none;color:var(--text);padding:6px 8px;border-radius:var(--radius-sm);cursor:pointer;font-size:12px;text-align:left}.opt.svelte-1f5vmb3:hover,.opt.sel.svelte-1f5vmb3{background:var(--accent-2)}.clear.svelte-1f5vmb3{color:var(--text-3);margin-top:4px}.none.svelte-1f5vmb3{padding:6px 8px}.wrap.svelte-1005b73{position:relative;min-width:0}.chip.svelte-1005b73{display:flex;align-items:center;gap:5px;min-height:24px;min-width:0;max-width:min(150px,100%);box-sizing:border-box;background:transparent;border:1px solid var(--border);color:var(--text-2);border-radius:var(--radius-pill);padding:5px 11px;font-size:11.5px;white-space:nowrap;cursor:pointer;transition:border-color .15s,color .15s}.chip.svelte-1005b73:hover{border-color:var(--accent);color:var(--text)}.chip.svelte-1005b73 svg{flex-shrink:0}.txt.svelte-1005b73{min-width:0;flex:0 1 auto;overflow:hidden;text-overflow:ellipsis}.chip.icon.svelte-1005b73{display:none}@media (max-width: 820px){.chip.svelte-1005b73{display:none}.chip.icon.svelte-1005b73{display:inline-flex;justify-content:center;min-width:34px;height:30px;padding:0 8px;color:var(--text-2)}}.pop.svelte-1005b73{position:absolute;bottom:36px;right:0;width:248px;max-height:min(56vh,400px);overflow-y:auto;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:8px;box-shadow:0 16px 40px #00000080;z-index:var(--z-popover)}.prov.svelte-1005b73{padding:7px 8px 2px;color:var(--text-3)}.opt.svelte-1005b73{display:flex;justify-content:space-between;align-items:center;width:100%;background:transparent;border:none;color:var(--text);padding:6px 8px;border-radius:var(--radius-sm);cursor:pointer;font-size:12px;text-align:left}.opt.svelte-1005b73:hover,.opt.sel.svelte-1005b73{background:var(--accent-2)}.clear.svelte-1005b73{color:var(--text-3);margin-top:4px}.none.svelte-1005b73{padding:6px 8px}.controls.svelte-dkbq22{display:contents}.wrap.svelte-dkbq22{position:relative;min-width:0}.chip.svelte-dkbq22{display:flex;align-items:center;gap:5px;min-height:24px;min-width:0;max-width:100%;box-sizing:border-box;background:transparent;border:1px solid var(--border);color:var(--text-2);border-radius:var(--radius-pill);padding:5px 11px;font-size:11.5px;white-space:nowrap;cursor:pointer;transition:border-color .15s,color .15s}.chip.svelte-dkbq22:hover{border-color:var(--accent);color:var(--text)}.chip.svelte-dkbq22 svg{flex-shrink:0}.txt.svelte-dkbq22{min-width:0;flex:0 1 auto;overflow:hidden;text-overflow:ellipsis}.pop.svelte-dkbq22{position:absolute;bottom:44px;left:0;width:220px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:8px;box-shadow:0 16px 40px #00000080;z-index:var(--z-popover)}.opt.svelte-dkbq22{display:flex;align-items:center;width:100%;background:transparent;border:none;color:var(--text);padding:6px 8px;border-radius:var(--radius-sm);cursor:pointer;font-size:12px}.opt.svelte-dkbq22:hover,.opt.sel.svelte-dkbq22{background:var(--accent-2)}.wrap.svelte-4bdpxt{position:relative}.ring.svelte-4bdpxt{position:relative;display:inline-flex;align-items:center;gap:5px;background:transparent;border:none;padding:2px;cursor:pointer;color:var(--text-3)}.ring.svelte-4bdpxt svg:where(.svelte-4bdpxt){width:20px;height:20px}.track.svelte-4bdpxt{fill:none;stroke:var(--border);stroke-width:3}.arc.svelte-4bdpxt{fill:none;stroke-width:3;stroke-linecap:round;transition:stroke-dasharray .3s ease}.pct.svelte-4bdpxt{font-size:10.5px;color:var(--text-3)}@media (max-width: 820px){.pct.svelte-4bdpxt{display:none}.ring.svelte-4bdpxt svg:where(.svelte-4bdpxt){width:22px;height:22px}}.pct.svelte-4bdpxt i:where(.svelte-4bdpxt){font-style:normal;font-size:8.5px}.ring.svelte-4bdpxt:hover .pct:where(.svelte-4bdpxt){color:var(--text-2)}.pop.svelte-4bdpxt{position:absolute;bottom:calc(100% + 10px);left:0;width:300px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 16px 40px #00000047;padding:12px 14px;z-index:var(--z-popover);animation:ocrc-pop .14s var(--ease-out, ease-out);cursor:default}@media (max-width: 820px){.pop.svelte-4bdpxt{width:min(72vw,300px);box-sizing:border-box;left:50%;right:auto;transform:translate(-50%)}}.head.svelte-4bdpxt{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:8px}.label.svelte-4bdpxt{font-size:11px;font-weight:600;color:var(--text-2)}.dim.svelte-4bdpxt{font-size:10.5px;color:var(--text-3)}.bar.svelte-4bdpxt{display:flex;height:6px;border-radius:var(--radius-bar);overflow:hidden;background:var(--border-2)}.seg.svelte-4bdpxt{height:100%}.legend.svelte-4bdpxt{display:flex;flex-wrap:wrap;gap:4px 10px;margin:6px 0 8px}.lg.svelte-4bdpxt{display:inline-flex;align-items:center;gap:4px;font-size:10px;color:var(--text-3)}.dot.svelte-4bdpxt{width:6px;height:6px;border-radius:50%;flex-shrink:0}.rows.svelte-4bdpxt{display:flex;flex-direction:column}.row.svelte-4bdpxt{display:flex;justify-content:space-between;padding:3px 0;font-size:11.5px;color:var(--text-3);border-top:1px solid var(--border-2)}.row.svelte-4bdpxt:first-child{border-top:none}.row.svelte-4bdpxt .mono:where(.svelte-4bdpxt){color:var(--text-2);font-size:11px}.composer.svelte-60fagq{background:var(--bg);padding:6px 24px 18px}@media (min-width: 821px){.composer.svelte-60fagq{background:var(--bg-canvas, var(--bg));padding:6px 28px 18px}}@media (max-width: 820px){.composer.svelte-60fagq{padding:0 0 max(8px,calc(env(safe-area-inset-bottom,0px) + 10px - var(--kb, 0px)))}.box.svelte-60fagq{padding:7px 8px 7px 14px;border-radius:var(--radius-pill)}.footer.svelte-60fagq{margin-top:4px;gap:6px}.footer.svelte-60fagq .wrap{min-width:0;flex-shrink:1}.footer.svelte-60fagq .chip{max-width:min(36vw,100%)}.send.svelte-60fagq,.attach.svelte-60fagq{flex-shrink:0}.send.svelte-60fagq,.attach.svelte-60fagq{width:44px;height:44px}}.dock.svelte-60fagq{max-width:none;margin:0}.error.svelte-60fagq{color:var(--err);font-size:.8em;margin:0 0 8px;font-family:var(--font-mono)}.box.svelte-60fagq{position:relative;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px 8px;box-shadow:var(--shadow-composer);transition:border-color .15s ease}.box.focused.svelte-60fagq,.box.has-text.svelte-60fagq{border-color:var(--accent)}textarea.svelte-60fagq{display:block;width:100%;box-sizing:border-box;background:transparent;border:none;padding:2px 4px;color:var(--text);font-family:var(--font-sans);font-size:16px;line-height:1.5;resize:none;min-height:24px;max-height:140px;overflow-y:auto}textarea.svelte-60fagq:focus{outline:none}textarea.svelte-60fagq::placeholder{color:var(--text-4)}.footer.svelte-60fagq{display:flex;align-items:center;gap:8px;margin-top:6px;min-width:0}.spacer.svelte-60fagq{flex:1;min-width:8px}@media (max-width: 720px){.send-hint.svelte-60fagq,.hint.command.svelte-60fagq{display:none}}.hint.svelte-60fagq{background:transparent;border:none;color:var(--text-4);font-family:var(--font-mono);font-size:11px;white-space:nowrap;padding:0;min-width:0;overflow:hidden;text-overflow:ellipsis}.hint.command.svelte-60fagq{cursor:pointer;transition:color .15s ease}.hint.command.svelte-60fagq:hover{color:var(--text-2)}.send.svelte-60fagq{display:inline-flex;align-items:center;justify-content:center;width:33px;height:33px;border-radius:50%;border:none;background:var(--accent);color:var(--accent-ink);cursor:pointer;transition:opacity .15s ease,transform .1s ease;flex-shrink:0}.send.svelte-60fagq:not(:disabled):hover{transform:scale(1.06)}.send.stop.svelte-60fagq:disabled{background:var(--accent);color:var(--accent-ink);cursor:pointer}.send.stop.svelte-60fagq:not(:disabled):active{transform:scale(.9)}.send.svelte-60fagq:disabled{background:var(--border);color:var(--text-3);cursor:not-allowed}.thumbnails.svelte-60fagq{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}.thumb.svelte-60fagq{position:relative;width:56px;height:56px;border-radius:var(--radius-xs);overflow:hidden;border:1px solid var(--border);flex-shrink:0}.thumb.svelte-60fagq img:where(.svelte-60fagq){width:100%;height:100%;object-fit:cover;display:block}.remove.svelte-60fagq{position:absolute;top:2px;right:2px;width:18px;height:18px;border-radius:50%;border:none;background:#0009;color:var(--text);font-size:12px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}.remove.svelte-60fagq:hover{background:#000c}.attach.svelte-60fagq{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-xs);border:none;background:transparent;color:var(--text-3);cursor:pointer;padding:0;flex-shrink:0}.attach.svelte-60fagq:hover{background:#ffffff0f;color:var(--text)}.mention-dropdown.svelte-60fagq{position:absolute;bottom:100%;left:0;right:0;max-height:180px;overflow-y:auto;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:4px;box-shadow:0 -4px 16px #00000059;padding:4px;z-index:var(--z-dropdown)}.mention-row.svelte-60fagq{display:block;width:100%;text-align:left;background:transparent;border:none;color:var(--text);font-family:var(--font-mono);font-size:.85em;padding:6px 8px;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mention-row.active.svelte-60fagq,.mention-row.svelte-60fagq:hover{background:var(--accent-2)}.switcher.svelte-rgafhj{position:relative;display:inline-flex;min-width:0}.trigger.svelte-rgafhj{display:inline-flex;align-items:center;gap:7px;min-width:0;padding:5px 9px 5px 5px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--text-2);cursor:pointer;transition:border-color .12s ease,background .12s ease}.trigger.svelte-rgafhj:hover{border-color:var(--accent);background:var(--bg-elev2)}.glyph-tile.svelte-rgafhj{width:22px;height:22px;display:inline-grid;place-items:center;border-radius:50%;border:1px solid transparent;font-family:var(--font-mono);font-size:10px;font-weight:700;flex-shrink:0}.status-dot.svelte-rgafhj{width:7px;height:7px;border-radius:50%;border:1.5px solid transparent;flex-shrink:0;box-sizing:border-box}.sr-only.svelte-rgafhj{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.status-dot.online.svelte-rgafhj{background:var(--accent);border-color:var(--accent)}.status-dot.connecting.svelte-rgafhj{background:var(--warn);border-color:var(--warn);animation:ocrc-pulse 1.2s ease-in-out infinite}.status-dot.offline.svelte-rgafhj{background:transparent;border:1.5px solid var(--text-4)}.title.svelte-rgafhj{font-size:13px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.caret.svelte-rgafhj{font-size:9px;color:var(--text-3);flex-shrink:0}.popover.svelte-rgafhj{position:absolute;top:calc(100% + 6px);left:0;width:min(280px,calc(100vw - 32px));background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 18px 50px #0000008c;z-index:var(--z-popover);overflow:hidden;animation:svelte-rgafhj-ocrc-pop .14s ease}@keyframes svelte-rgafhj-ocrc-pop{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.list.svelte-rgafhj{max-height:320px;overflow-y:auto;padding:6px;display:flex;flex-direction:column;gap:2px}.row.svelte-rgafhj{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text);cursor:pointer;text-align:left;transition:background .12s ease}.row.svelte-rgafhj:hover,.row.active.svelte-rgafhj{background:var(--accent-2)}.dot.svelte-rgafhj{width:7px;height:7px;border-radius:50%;border:1.5px solid transparent;flex-shrink:0;box-sizing:border-box;background:transparent;border-color:var(--text-4)}.dot.active.svelte-rgafhj{background:var(--accent);border-color:var(--accent)}.info.svelte-rgafhj{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.row-title.svelte-rgafhj{font-size:12.5px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-meta.svelte-rgafhj{font-size:10.5px;color:var(--text-3)}.check.svelte-rgafhj{font-size:13px;color:var(--accent);flex-shrink:0}.empty.svelte-rgafhj{padding:14px 10px;color:var(--text-3);font-size:12px}.footer.svelte-rgafhj{border-top:1px solid var(--border);padding:6px}.new-session.svelte-rgafhj{display:flex;align-items:center;width:100%;padding:8px 10px;background:transparent;border:1px dashed var(--border);border-radius:var(--radius-sm);color:var(--text-2);font-size:12px;cursor:pointer;transition:color .12s ease,border-color .12s ease,background .12s ease}.new-session.svelte-rgafhj:hover{color:var(--accent);border-color:var(--accent-line);background:var(--accent-2)}.new-session.svelte-rgafhj:disabled{opacity:.5;cursor:default}.ball.svelte-w3h0m4,.plan-card.svelte-w3h0m4{display:none}.ball.svelte-w3h0m4{position:absolute;right:23px;bottom:calc(var(--composer-h, 120px) + 10px);z-index:var(--z-hud);width:38px;height:38px;padding:0;border:1px solid var(--border-2);border-radius:50%;background:var(--bg-elev);box-shadow:0 6px 18px #00000038;cursor:pointer;place-items:center;transition:transform .15s var(--ease, ease);animation:ocrc-pop .22s var(--ease-out, ease-out) backwards}.ball.svelte-w3h0m4:active{transform:scale(.92)}.ghost.svelte-w3h0m4{position:absolute;right:16px;bottom:calc(var(--composer-h, 120px) + 10px);z-index:var(--z-hud);display:flex;align-items:center;gap:8px;padding:5px 10px;background:transparent;border:1px dashed var(--border);border-radius:var(--radius);color:var(--text-3);font:inherit;cursor:pointer;opacity:.75}.ghost.svelte-w3h0m4:hover{opacity:1;color:var(--text-2);border-color:var(--accent-line)}.ghost.svelte-w3h0m4 .label:where(.svelte-w3h0m4){text-transform:uppercase;letter-spacing:.12em;font-size:9.5px;font-weight:600}.ghost.svelte-w3h0m4 .bar-count:where(.svelte-w3h0m4){font-size:10.5px}.ghost.svelte-w3h0m4 .bar-count:where(.svelte-w3h0m4) i:where(.svelte-w3h0m4){font-style:normal;color:var(--text-3);padding:0 1px}.bar.svelte-w3h0m4{display:none;position:absolute;right:16px;bottom:calc(var(--composer-h, 120px) + 10px);z-index:var(--z-hud);align-items:center;gap:10px;padding:7px 12px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-card);cursor:pointer;font:inherit;animation:ocrc-pop .18s var(--ease-out, ease-out) backwards}.bar.svelte-w3h0m4 .label:where(.svelte-w3h0m4){text-transform:uppercase;letter-spacing:.12em;font-size:9.5px;font-weight:600;color:var(--text-3)}.bar-count.svelte-w3h0m4{font-size:11px;color:var(--text)}.bar-count.svelte-w3h0m4 i:where(.svelte-w3h0m4){font-style:normal;color:var(--text-3);padding:0 1px}.bar.svelte-w3h0m4 .badge:where(.svelte-w3h0m4){min-width:15px;height:15px;padding:0 4px;display:grid;place-items:center;background:var(--accent);color:var(--accent-ink);border-radius:var(--radius-pill);font-size:9px;font-weight:700}.bar.svelte-w3h0m4 .caret:where(.svelte-w3h0m4){width:13px;height:13px;color:var(--text-3)}.bar.svelte-w3h0m4:hover{border-color:var(--accent-line)}.ring.svelte-w3h0m4{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.ring.svelte-w3h0m4 circle:where(.svelte-w3h0m4){fill:none;stroke-linecap:round}.track.svelte-w3h0m4{stroke:var(--border);stroke-width:3.5}.arc.svelte-w3h0m4{stroke:var(--accent);stroke-width:3.5;transition:stroke-dasharray .4s var(--ease, ease)}.ball-count.svelte-w3h0m4{position:relative;font-size:9.5px;color:var(--text);letter-spacing:-.02em}.ball-count.svelte-w3h0m4 i:where(.svelte-w3h0m4){font-style:normal;color:var(--text-3);padding:0 1px}.badge.svelte-w3h0m4{position:absolute;bottom:-8px;right:-9px;min-width:15px;height:15px;padding:0 3px;display:grid;place-items:center;background:var(--accent);color:var(--accent-ink);border-radius:var(--radius-pill);font-size:9px;font-weight:700;box-sizing:border-box;box-shadow:0 0 0 2px var(--bg)}.scrim.svelte-w3h0m4{position:absolute;top:0;right:0;bottom:0;left:0;z-index:var(--z-hud);background:var(--scrim);border:none;padding:0}.plan-card.svelte-w3h0m4{position:absolute;right:16px;bottom:calc(var(--composer-h, 120px) + 46px);z-index:calc(var(--z-hud) + 1);width:min(86vw,380px);background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 18px 48px #00000073;overflow:visible;transform-origin:85% 100%;animation:ocrc-pop .18s var(--ease-out, ease-out) backwards}.hd.svelte-w3h0m4{display:flex;align-items:center;gap:7px;padding:10px 10px 10px 12px}.label.svelte-w3h0m4{flex-shrink:0;text-transform:uppercase;letter-spacing:.14em;color:var(--text-3);font-size:9.5px;font-weight:600}.title.svelte-w3h0m4{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px;font-weight:600;color:var(--text)}.dots.svelte-w3h0m4,.close.svelte-w3h0m4{flex-shrink:0;width:26px;height:26px;display:grid;place-items:center;margin:0;padding:0;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-3);cursor:pointer}.dots.svelte-w3h0m4{font-size:14px;line-height:1}.close.svelte-w3h0m4 svg:where(.svelte-w3h0m4){width:15px;height:15px}.dots.svelte-w3h0m4:active,.close.svelte-w3h0m4:active{background:var(--bg-elev2);color:var(--text)}.menu.svelte-w3h0m4{position:absolute;top:40px;right:8px;z-index:1;min-width:168px;display:flex;flex-direction:column;padding:4px;background:var(--bg-elev2);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:0 8px 24px #00000040}.menu.svelte-w3h0m4 button:where(.svelte-w3h0m4){margin:0;padding:8px 10px;background:transparent;border:none;border-radius:var(--radius-xs);color:var(--text-2);font-size:12px;text-align:left;cursor:pointer}.menu.svelte-w3h0m4 button:where(.svelte-w3h0m4):hover,.menu.svelte-w3h0m4 button:where(.svelte-w3h0m4):active{background:var(--bg-elev);color:var(--text)}.body.svelte-w3h0m4{padding:2px 12px 12px;border-top:1px solid var(--border-2);max-height:calc(52vh - 47px);overflow-y:auto;-webkit-overflow-scrolling:touch}.prog.svelte-w3h0m4{padding:9px 0 7px;font-size:11px;color:var(--text-3)}.grp.svelte-w3h0m4{display:flex;align-items:center;gap:6px;margin:2px 0;padding:3px 0;background:transparent;border:none;color:var(--text-3);font-size:11.5px;cursor:pointer}.grp.static.svelte-w3h0m4{cursor:default}.sub-label.svelte-w3h0m4{text-transform:uppercase;letter-spacing:.12em;font-size:9.5px;font-weight:600}.caret.svelte-w3h0m4{width:12px;height:12px;transition:transform .16s ease;transform:rotate(0)}.caret.open.svelte-w3h0m4{transform:rotate(90deg)}.row.svelte-w3h0m4{display:flex;align-items:flex-start;gap:8px;padding:3px 0}.box.svelte-w3h0m4{flex-shrink:0;width:13px;height:13px;margin-top:2px;border-radius:var(--radius-xs);display:grid;place-items:center;border:1.5px solid var(--border)}.row.done.svelte-w3h0m4 .box:where(.svelte-w3h0m4){background:var(--accent);border-color:var(--accent)}.check.svelte-w3h0m4{font-size:9px;line-height:1;color:var(--accent-ink)}.dot.svelte-w3h0m4{width:5px;height:5px;border-radius:50%;background:var(--accent);animation:ocrc-pulse 1.2s ease-in-out infinite}.row.running.svelte-w3h0m4 .box:where(.svelte-w3h0m4){border-color:var(--accent)}.tx.svelte-w3h0m4{font-size:12px;line-height:1.45;color:var(--text-2);min-width:0}.row.done.svelte-w3h0m4 .tx:where(.svelte-w3h0m4){color:var(--text-3);text-decoration:line-through;text-decoration-color:var(--border)}.row.running.svelte-w3h0m4 .tx:where(.svelte-w3h0m4){color:var(--text);font-weight:500}.sub-dot.svelte-w3h0m4{flex-shrink:0;width:6px;height:6px;border-radius:50%;background:var(--accent);animation:ocrc-pulse 1.2s ease-in-out infinite}.sub-check.svelte-w3h0m4{flex-shrink:0;font-size:10px;line-height:1;color:var(--text-3)}.row.sub.idle.svelte-w3h0m4 .tx:where(.svelte-w3h0m4){color:var(--text-3)}.row.sub.idle.svelte-w3h0m4 .sub-count:where(.svelte-w3h0m4){color:var(--text-3)}.row.sub.svelte-w3h0m4{padding-left:2px}.row.sub.jump.svelte-w3h0m4{margin:0;padding:3px 2px;width:100%;background:transparent;border:none;border-radius:var(--radius-xs);text-align:left;cursor:pointer;color:inherit;font:inherit;align-items:center}.row.sub.jump.svelte-w3h0m4:active{background:var(--bg-elev2)}.row.sub.jump.svelte-w3h0m4 .tx:where(.svelte-w3h0m4){flex:1;min-width:0}.go.svelte-w3h0m4{flex-shrink:0;width:12px;height:12px;color:var(--text-3)}.crumb.svelte-w3h0m4{display:flex;align-items:center;gap:6px;width:100%;margin:9px 0 0;padding:6px 8px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-2);font:inherit;font-size:11.5px;cursor:pointer;text-align:left}.crumb.svelte-w3h0m4 svg:where(.svelte-w3h0m4){width:12px;height:12px;flex-shrink:0}.crumb.svelte-w3h0m4:active{color:var(--text);border-color:var(--accent)}.sub-count.svelte-w3h0m4{flex-shrink:0;margin-top:1px;font-size:10.5px;color:var(--accent);min-width:26px}@media (max-width: 820px){.ball.svelte-w3h0m4{display:grid}.plan-card.svelte-w3h0m4{display:block}}@media (min-width: 821px){.bar.svelte-w3h0m4{display:flex;top:60px;bottom:auto}.plan-card.svelte-w3h0m4{display:block;width:min(60vw,380px);top:60px;bottom:auto;transform-origin:85% 0}}.jump.svelte-eho102{position:absolute;bottom:calc(var(--composer-h, 120px) + 14px + env(safe-area-inset-bottom,0px));left:50%;transform:translate(-50%);z-index:var(--z-sticky);animation:ocrc-fade .15s var(--ease-out, ease-out) backwards;display:inline-flex;align-items:center;gap:5px;padding:7px 13px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--text-2);font-size:12px;cursor:pointer;box-shadow:var(--shadow-card)}.jump.svelte-eho102:hover{color:var(--text);border-color:var(--text-4)}.load-earlier.svelte-eho102{display:block;margin:0 auto 14px;padding:6px 14px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--text-2);font-size:11.5px;cursor:pointer;animation:ocrc-rise-sm .16s var(--ease-out, ease-out) backwards}.load-earlier.svelte-eho102:hover{color:var(--text);border-color:var(--text-4)}.load-earlier.svelte-eho102:disabled{opacity:.55;cursor:default}.chat.svelte-eho102{flex:1;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable}@media (max-width: 820px){.chat.svelte-eho102{-webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - var(--kb, 0px) - var(--composer-h, 120px)),rgba(0,0,0,.12) calc(100% - var(--kb, 0px)));mask-image:linear-gradient(to bottom,#000 calc(100% - var(--kb, 0px) - var(--composer-h, 120px)),#0000001f calc(100% - var(--kb, 0px)))}}.sub-header.svelte-eho102{position:sticky;top:0;z-index:var(--z-sticky);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 28px;background:var(--bg);border-bottom:1px solid var(--border-2)}@media (min-width: 821px){.sub-header.svelte-eho102{background:var(--bg-canvas, var(--bg))}}.sub-header.svelte-eho102 .left:where(.svelte-eho102){display:flex;align-items:center;gap:10px;min-width:0}.expand.svelte-eho102{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;background:transparent;border:1px solid var(--border-2);border-radius:var(--radius-pill);color:var(--text-3);cursor:pointer;flex-shrink:0;transition:color .12s ease,border-color .12s ease,background .12s ease}.expand.svelte-eho102:hover{color:var(--text);border-color:var(--accent);background:var(--accent-2)}.back.svelte-eho102,.inspect.svelte-eho102{display:none}.pane-toggle.svelte-eho102{display:none;align-items:center;justify-content:center;width:30px;height:30px;flex-shrink:0;background:transparent;border:1px solid var(--border-2);border-radius:var(--radius-sm);color:var(--text-3);cursor:pointer;transition:color .12s ease,border-color .12s ease}.pane-toggle.svelte-eho102:hover{color:var(--text);border-color:var(--text-4)}@media (min-width: 821px){.pane-toggle.svelte-eho102{display:inline-flex}}@media (max-width: 820px){.expand.svelte-eho102{display:none}.back.svelte-eho102,.inspect.svelte-eho102{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--text-2);cursor:pointer}.back.svelte-eho102:active,.inspect.svelte-eho102:active{background:var(--bg-elev2)}}.sub-header.svelte-eho102 .branch:where(.svelte-eho102){min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:11px;color:var(--hl-purple);background:var(--bg-elev);border:1px solid var(--border-2);border-radius:var(--radius-pill);padding:2px 8px}.sub-header.svelte-eho102 .right:where(.svelte-eho102){display:flex;align-items:center;gap:8px;flex-shrink:0}.pill.svelte-eho102{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:var(--radius-pill);background:var(--bg-elev);border:1px solid var(--border);color:var(--text-2);font-size:11px;min-width:0;max-width:30vw;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.pill.svelte-eho102 .dot:where(.svelte-eho102){width:6px;height:6px;border-radius:50%;background:var(--text-3);animation:ocrc-pulse 1.2s ease-in-out infinite}.idle.svelte-eho102{font-size:11px;color:var(--text-3)}.restore.svelte-eho102{background:transparent;border:1px dashed var(--border-2);color:var(--text-3);border-radius:var(--radius-pill);padding:3px 10px;font-size:11px;cursor:pointer;transition:color .15s ease,border-color .15s ease}.restore.svelte-eho102:hover{color:var(--text);border-color:var(--text-4)}.stream.svelte-eho102{width:100%;box-sizing:border-box;padding:22px 28px 8px;display:flex;flex-direction:column}.stream.svelte-eho102>*:last-child:not(.stream-end){animation:ocrc-rise var(--dur-enter, .2s) var(--ease-out, ease-out) backwards}.stream.suppressed.svelte-eho102>*:last-child:not(.stream-end){animation:none}.stream-end.svelte-eho102{height:1px;flex-shrink:0}.stream.svelte-eho102>*:not(:last-child){content-visibility:auto;contain-intrinsic-size:auto 120px}.loading.svelte-eho102{display:flex;justify-content:center;gap:7px;padding:18vh 24px 40px}.ldot.svelte-eho102{width:6px;height:6px;border-radius:50%;background:var(--text-3);animation:ocrc-pulse 1.2s ease-in-out infinite}.ldot.svelte-eho102:nth-child(2){animation-delay:.15s}.ldot.svelte-eho102:nth-child(3){animation-delay:.3s}.empty.svelte-eho102{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:18vh 24px 40px;color:var(--text-3);font-size:14px}.empty-mark.svelte-eho102{width:40px;height:40px;margin-bottom:6px}.empty-title.svelte-eho102{margin:0;font-family:var(--font-serif);font-size:19px;font-weight:600;color:var(--text);letter-spacing:.01em}.empty-hint.svelte-eho102{margin:0;max-width:420px;line-height:1.6;font-size:12.5px}@media (min-width: 821px){.composer-float.svelte-eho102 .composer{padding-right:calc(24px + var(--sbw, 0px))}}@media (max-width: 820px){.composer-float.svelte-eho102{position:absolute;left:0;right:0;bottom:0;z-index:var(--z-dropdown);background:transparent;transform:translateY(calc(-1 * var(--kb, 0px)));transition:transform .25s ease-out;will-change:transform}.composer-float.svelte-eho102 .composer{background:transparent}.stream.svelte-eho102{padding:14px 12px calc(var(--composer-h, 120px) + var(--kb, 0px) + 8px)}.sub-header.svelte-eho102{gap:8px;padding:calc(10px + env(safe-area-inset-top,0px)) 8px 10px}.sub-header.svelte-eho102 .left:where(.svelte-eho102){min-width:0}.composer-float.svelte-eho102{background:var(--bg);border-top:1px solid var(--border-2);padding:6px 10px calc(6px + env(safe-area-inset-bottom,0px))}}
@@ -1 +0,0 @@
1
- var tt=e=>{throw TypeError(e)};var Dt=(e,t,n)=>t.has(e)||tt("Cannot "+n);var y=(e,t,n)=>(Dt(e,t,"read from private field"),n?n.call(e):t.get(e)),A=(e,t,n)=>t.has(e)?tt("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n);import{b8 as Ve,az as nt,aX as T,a8 as I,aO as P,b1 as _e,aZ as qt,aS as Vt}from"./BjY4dxcB.js";class Me{constructor(t,n){this.status=t,typeof n=="string"?this.body={message:n}:n?this.body=n:this.body={message:`Error: ${t}`}}toString(){return JSON.stringify(this.body)}}class Be{constructor(t,n){try{new Headers({location:n})}catch{throw new Error(`Invalid redirect location ${JSON.stringify(n)}: this string contains characters that cannot be used in HTTP headers`)}this.status=t,this.location=n}}class Ke extends Error{constructor(t,n,a){super(a),this.status=t,this.text=n}}new URL("sveltekit-internal://");function Mt(e,t){return e==="/"||t==="ignore"?e:t==="never"?e.endsWith("/")?e.slice(0,-1):e:t==="always"&&!e.endsWith("/")?e+"/":e}function Bt(e){return e.split("%25").map(decodeURI).join("%25")}function Kt(e){for(const t in e)e[t]=decodeURIComponent(e[t]);return e}function Pe({href:e}){return e.split("#")[0]}function j(){}function Ft(...e){let t=5381;for(const n of e)if(typeof n=="string"){let a=n.length;for(;a;)t=t*33^n.charCodeAt(--a)}else if(ArrayBuffer.isView(n)){const a=new Uint8Array(n.buffer,n.byteOffset,n.byteLength);let r=a.length;for(;r;)t=t*33^a[--r]}else throw new TypeError("value must be a string or TypedArray");return(t>>>0).toString(36)}new TextEncoder;function Gt(e){const t=atob(e),n=new Uint8Array(t.length);for(let a=0;a<t.length;a++)n[a]=t.charCodeAt(a);return n}const Ht=window.fetch;window.fetch=(e,t)=>((e instanceof Request?e.method:(t==null?void 0:t.method)||"GET")!=="GET"&&X.delete(Fe(e)),Ht(e,t));const X=new Map;function Wt(e,t){const n=Fe(e,t),a=document.querySelector(n);if(a!=null&&a.textContent){a.remove();let{body:r,...i}=JSON.parse(a.textContent);const o=a.getAttribute("data-ttl");return o&&X.set(n,{body:r,init:i,ttl:1e3*Number(o)}),a.getAttribute("data-b64")!==null&&(r=Gt(r)),Promise.resolve(new Response(r,i))}return window.fetch(e,t)}function zt(e,t,n){if(X.size>0){const a=Fe(e,n),r=X.get(a);if(r){if(performance.now()<r.ttl&&["default","force-cache","only-if-cached",void 0].includes(n==null?void 0:n.cache))return new Response(r.body,r.init);X.delete(a)}}return window.fetch(t,n)}function Fe(e,t){let a=`script[data-sveltekit-fetched][data-url=${JSON.stringify(e instanceof Request?e.url:e)}]`;if(t!=null&&t.headers||t!=null&&t.body){const r=[];t.headers&&r.push([...new Headers(t.headers)].join(",")),t.body&&(typeof t.body=="string"||ArrayBuffer.isView(t.body))&&r.push(t.body),a+=`[data-hash="${Ft(...r)}"]`}return a}const Jt=/^(\[)?(\.\.\.)?(\w+)(?:=(\w+))?(\])?$/;function Yt(e){const t=[];return{pattern:e==="/"?/^\/$/:new RegExp(`^${Zt(e).map(a=>{const r=/^\[\.\.\.(\w+)(?:=(\w+))?\]$/.exec(a);if(r)return t.push({name:r[1],matcher:r[2],optional:!1,rest:!0,chained:!0}),"(?:/([^]*))?";const i=/^\[\[(\w+)(?:=(\w+))?\]\]$/.exec(a);if(i)return t.push({name:i[1],matcher:i[2],optional:!0,rest:!1,chained:!0}),"(?:/([^/]+))?";if(!a)return;const o=a.split(/\[(.+?)\](?!\])/);return"/"+o.map((l,c)=>{if(c%2){if(l.startsWith("x+"))return Oe(String.fromCharCode(parseInt(l.slice(2),16)));if(l.startsWith("u+"))return Oe(String.fromCharCode(...l.slice(2).split("-").map(m=>parseInt(m,16))));const d=Jt.exec(l),[,u,w,p,f]=d;return t.push({name:p,matcher:f,optional:!!u,rest:!!w,chained:w?c===1&&o[0]==="":!1}),w?"([^]*?)":u?"([^/]*)?":"([^/]+?)"}return Oe(l)}).join("")}).join("")}/?$`),params:t}}function Xt(e){return e!==""&&!/^\([^)]+\)$/.test(e)}function Zt(e){return e.slice(1).split("/").filter(Xt)}function Qt(e,t,n){const a={},r=e.slice(1),i=r.filter(s=>s!==void 0);let o=0;for(let s=0;s<t.length;s+=1){const l=t[s];let c=r[s-o];if(l.chained&&l.rest&&o&&(c=r.slice(s-o,s+1).filter(d=>d).join("/"),o=0),c===void 0)if(l.rest)c="";else continue;if(!l.matcher||n[l.matcher](c)){a[l.name]=c;const d=t[s+1],u=r[s+1];d&&!d.rest&&d.optional&&u&&l.chained&&(o=0),!d&&!u&&Object.keys(a).length===i.length&&(o=0);continue}if(l.optional&&l.chained){o++;continue}return}if(!o)return a}function Oe(e){return e.normalize().replace(/[[\]]/g,"\\$&").replace(/%/g,"%25").replace(/\//g,"%2[Ff]").replace(/\?/g,"%3[Ff]").replace(/#/g,"%23").replace(/[.*+?^${}()|\\]/g,"\\$&")}function en({nodes:e,server_loads:t,dictionary:n,matchers:a}){const r=new Set(t);return Object.entries(n).map(([s,[l,c,d]])=>{const{pattern:u,params:w}=Yt(s),p={id:s,exec:f=>{const m=u.exec(f);if(m)return Qt(m,w,a)},errors:[1,...d||[]].map(f=>e[f]),layouts:[0,...c||[]].map(o),leaf:i(l)};return p.errors.length=p.layouts.length=Math.max(p.errors.length,p.layouts.length),p});function i(s){const l=s<0;return l&&(s=~s),[l,e[s]]}function o(s){return s===void 0?s:[r.has(s),e[s]]}}function mt(e,t=JSON.parse){try{return t(sessionStorage[e])}catch{}}function rt(e,t,n=JSON.stringify){const a=n(t);try{sessionStorage[e]=a}catch{}}var ut;const U=((ut=globalThis.__sveltekit_1glivh6)==null?void 0:ut.base)??"";var dt;const tn=((dt=globalThis.__sveltekit_1glivh6)==null?void 0:dt.assets)??U??"",nn="1790968754809",_t="sveltekit:snapshot",wt="sveltekit:scroll",vt="sveltekit:states",rn="sveltekit:pageurl",F="sveltekit:history",Z="sveltekit:navigation",V={tap:1,hover:2,viewport:3,eager:4,off:-1,false:-1},Le=location.origin;function Ge(e){if(e instanceof URL)return e;let t=document.baseURI;if(!t){const n=document.getElementsByTagName("base");t=n.length?n[0].href:document.URL}return new URL(e,t)}function M(){return{x:pageXOffset,y:pageYOffset}}function K(e,t){return e.getAttribute(`data-sveltekit-${t}`)}const at={...V,"":V.hover};function yt(e){let t=e.assignedSlot??e.parentNode;return(t==null?void 0:t.nodeType)===11&&(t=t.host),t}function bt(e,t){for(;e&&e!==t;){if(e.nodeName.toUpperCase()==="A"&&e.hasAttribute("href"))return e;e=yt(e)}}function je(e,t,n){let a;try{if(a=new URL(e instanceof SVGAElement?e.href.baseVal:e.href,document.baseURI),n&&a.hash.match(/^#[^/]/)){const s=location.hash.split("#")[1]||"/";a.hash=`#${s}${a.hash}`}}catch{}const r=e instanceof SVGAElement?e.target.baseVal:e.target,i=!a||!!r||Ue(a,t,n)||(e.getAttribute("rel")||"").split(/\s+/).includes("external"),o=(a==null?void 0:a.origin)===Le&&e.hasAttribute("download");return{url:a,external:i,target:r,download:o}}function we(e){let t=null,n=null,a=null,r=null,i=null,o=null,s=e;for(;s&&s!==document.documentElement;)a===null&&(a=K(s,"preload-code")),r===null&&(r=K(s,"preload-data")),t===null&&(t=K(s,"keepfocus")),n===null&&(n=K(s,"noscroll")),i===null&&(i=K(s,"reload")),o===null&&(o=K(s,"replacestate")),s=yt(s);function l(c){switch(c){case"":case"true":return!0;case"off":case"false":return!1;default:return}}return{preload_code:at[a??"off"],preload_data:at[r??"off"],keepfocus:l(t),noscroll:l(n),reload:l(i),replace_state:l(o)}}function ot(e){const t=Ve(e);let n=!0;function a(){n=!0,t.update(o=>o)}function r(o){n=!1,t.set(o)}function i(o){let s;return t.subscribe(l=>{(s===void 0||n&&l!==s)&&o(s=l)})}return{notify:a,set:r,subscribe:i}}const kt={v:j};function an(){const{set:e,subscribe:t}=Ve(!1);let n;async function a(){clearTimeout(n);try{const r=await fetch(`${tn}/_app/version.json`,{headers:{pragma:"no-cache","cache-control":"no-cache"}});if(!r.ok)return!1;const o=(await r.json()).version!==nn;return o&&(e(!0),kt.v(),clearTimeout(n)),o}catch{return!1}}return{subscribe:t,check:a}}function Ue(e,t,n){return e.origin!==Le||!e.pathname.startsWith(t)?!0:n?e.pathname!==location.pathname:!1}function On(e){}const St=new Set(["load","prerender","csr","ssr","trailingSlash","config"]);[...St];const on=new Set([...St]);[...on];function sn(e){return e.filter(t=>t!=null)}function ge(e,t){return e+"/"+t}function He(e){return e instanceof Me||e instanceof Ke?e.status:500}function ln(e){return e instanceof Ke?e.text:"Internal Error"}let x,Q,$e;const cn=nt.toString().includes("$$")||/function \w+\(\) \{\}/.test(nt.toString()),st="a:";var ae,oe,se,ie,le,ce,fe,ue,ht,de,pt,he,gt;cn?(x={data:{},form:null,error:null,params:{},route:{id:null},state:{},status:-1,url:new URL(st)},Q={current:null},$e={current:!1}):(x=new(ht=class{constructor(){A(this,ae,T({}));A(this,oe,T(null));A(this,se,T(null));A(this,ie,T({}));A(this,le,T({id:null}));A(this,ce,T({}));A(this,fe,T(-1));A(this,ue,T(new URL(st)))}get data(){return I(y(this,ae))}set data(t){P(y(this,ae),t)}get form(){return I(y(this,oe))}set form(t){P(y(this,oe),t)}get error(){return I(y(this,se))}set error(t){P(y(this,se),t)}get params(){return I(y(this,ie))}set params(t){P(y(this,ie),t)}get route(){return I(y(this,le))}set route(t){P(y(this,le),t)}get state(){return I(y(this,ce))}set state(t){P(y(this,ce),t)}get status(){return I(y(this,fe))}set status(t){P(y(this,fe),t)}get url(){return I(y(this,ue))}set url(t){P(y(this,ue),t)}},ae=new WeakMap,oe=new WeakMap,se=new WeakMap,ie=new WeakMap,le=new WeakMap,ce=new WeakMap,fe=new WeakMap,ue=new WeakMap,ht),Q=new(pt=class{constructor(){A(this,de,T(null))}get current(){return I(y(this,de))}set current(t){P(y(this,de),t)}},de=new WeakMap,pt),$e=new(gt=class{constructor(){A(this,he,T(!1))}get current(){return I(y(this,he))}set current(t){P(y(this,he),t)}},he=new WeakMap,gt),kt.v=()=>$e.current=!0);function Et(e){Object.assign(x,e)}const{onMount:fn}=qt,un=new Set(["icon","shortcut icon","apple-touch-icon"]);let J=null;const D=mt(wt)??{},ee=mt(_t)??{},N={url:ot({}),page:ot({}),navigating:Ve(null),updated:an()};function We(e){D[e]=M()}function dn(e,t){let n=e+1;for(;D[n];)delete D[n],n+=1;for(n=t+1;ee[n];)delete ee[n],n+=1}function te(e,t=!1){return t?location.replace(e.href):location.href=e.href,new Promise(j)}async function Rt(){if("serviceWorker"in navigator){const e=await navigator.serviceWorker.getRegistration(U||"/");e&&await e.update()}}let ze,Ne,ve,O,De,S;const ye=[],be=[];let v=null;function ke(){var e;(e=v==null?void 0:v.fork)==null||e.then(t=>t==null?void 0:t.discard()),v=null}const me=new Map,xt=new Set,hn=new Set,G=new Set;let _={branch:[],error:null,url:null},Lt=!1,Se=!1,it=!0,ne=!1,Y=!1,Ut=!1,Je=!1,At,k,L,C;const Ee=new Set,lt=new Map,ct=new Map;async function Nn(e,t,n){var i,o,s,l;globalThis.__sveltekit_1glivh6&&(globalThis.__sveltekit_1glivh6.query,globalThis.__sveltekit_1glivh6.prerender),document.URL!==location.href&&(location.href=location.href),S=e,await((o=(i=e.hooks).init)==null?void 0:o.call(i)),ze=en(e),O=document.documentElement,De=t,Ne=e.nodes[0],ve=e.nodes[1],Ne(),ve(),k=(s=history.state)==null?void 0:s[F],L=(l=history.state)==null?void 0:l[Z],k||(k=L=Date.now(),history.replaceState({...history.state,[F]:k,[Z]:L},""));const a=D[k];function r(){a&&(history.scrollRestoration="manual",scrollTo(a.x,a.y))}n?(r(),await Ln(De,n)):(await H({type:"enter",url:Ge(S.hash?Tn(new URL(location.href)):location.href),replace_state:!0}),r()),xn()}function pn(){ye.length=0,Je=!1}function Tt(e){be.some(t=>t==null?void 0:t.snapshot)&&(ee[e]=be.map(t=>{var n;return(n=t==null?void 0:t.snapshot)==null?void 0:n.capture()}))}function It(e){var t;(t=ee[e])==null||t.forEach((n,a)=>{var r,i;(i=(r=be[a])==null?void 0:r.snapshot)==null||i.restore(n)})}function ft(){We(k),rt(wt,D),Tt(L),rt(_t,ee)}async function Pt(e,t,n,a){let r,i;t.invalidateAll&&ke(),await H({type:"goto",url:Ge(e),keepfocus:t.keepFocus,noscroll:t.noScroll,replace_state:t.replaceState,state:t.state,redirect_count:n,nav_token:a,accept:()=>{if(t.invalidateAll){Je=!0,r=new Set;for(const[o,s]of lt)for(const l of s.keys())r.add(ge(o,l));i=new Set;for(const[o,s]of ct)for(const l of s.keys())i.add(ge(o,l))}t.invalidate&&t.invalidate.forEach(Rn)}}),t.invalidateAll&&_e().then(_e).then(()=>{for(const[o,s]of lt)for(const[l,{resource:c}]of s)r!=null&&r.has(ge(o,l))&&c.refresh();for(const[o,s]of ct)for(const[l,{resource:c}]of s)i!=null&&i.has(ge(o,l))&&c.reconnect()})}async function gn(e){if(e.id!==(v==null?void 0:v.id)){ke();const t={};Ee.add(t),v={id:e.id,token:t,promise:$t({...e,preload:t}).then(n=>(Ee.delete(t),n.type==="loaded"&&n.state.error&&ke(),n)),fork:null}}return v.promise}async function Ce(e){var n;const t=(n=await Ae(e,!1))==null?void 0:n.route;t&&await Promise.all([...t.layouts,t.leaf].filter(Boolean).map(a=>a[1]()))}async function Ot(e,t,n){var i;const a={params:_.params,route:{id:((i=_.route)==null?void 0:i.id)??null},url:new URL(location.href)};_={...e.state,nav:a};const r=document.querySelector("style[data-sveltekit]");if(r&&r.remove(),Et(e.props.page),At=new S.root({target:t,props:{...e.props,stores:N,components:be},hydrate:n,sync:!1,transformError:void 0}),await Promise.resolve(),It(L),n){const o={from:null,to:{...a,scroll:D[k]??M()},willUnload:!1,type:"enter",complete:Promise.resolve()};G.forEach(s=>s(o))}Se=!0}async function Re({url:e,params:t,branch:n,errors:a,status:r,error:i,route:o,form:s}){let l="never";if(U&&(e.pathname===U||e.pathname===U+"/"))l="always";else for(const f of n)(f==null?void 0:f.slash)!==void 0&&(l=f.slash);e.pathname=Mt(e.pathname,l),e.search=e.search;const c={type:"loaded",state:{url:e,params:t,branch:n,error:i,route:o},props:{constructors:sn(n).map(f=>f.node.component),page:et(x)}};s!==void 0&&(c.props.form=s);let d={},u=!x,w=0;for(let f=0;f<Math.max(n.length,_.branch.length);f+=1){const m=n[f],h=_.branch[f];(m==null?void 0:m.data)!==(h==null?void 0:h.data)&&(u=!0),m&&(d={...d,...m.data},u&&(c.props[`data_${w}`]=d),w+=1)}return(!_.url||e.href!==_.url.href||_.error!==i||s!==void 0&&s!==x.form||u)&&(c.props.page={error:i,params:t,route:{id:(o==null?void 0:o.id)??null},state:{},status:r,url:new URL(e),form:s??null,data:u?d:x.data}),c}async function Ye({loader:e,parent:t,url:n,params:a,route:r,server_data_node:i}){var c,d;let o=null;const s={dependencies:new Set,params:new Set,parent:!1,route:!1,url:!1,search_params:new Set},l=await e();return{node:l,loader:e,server:i,universal:(c=l.universal)!=null&&c.load?{type:"data",data:o,uses:s}:null,data:o??(i==null?void 0:i.data)??null,slash:((d=l.universal)==null?void 0:d.trailingSlash)??(i==null?void 0:i.slash)}}function mn(e,t,n){let a=e instanceof Request?e.url:e;const r=new URL(a,n);r.origin===n.origin&&(a=r.href.slice(n.origin.length));const i=Se?zt(a,r.href,t):Wt(a,t);return{resolved:r,promise:i}}function _n(e,t,n,a,r,i){if(Je)return!0;if(!r)return!1;if(r.parent&&e||r.route&&t||r.url&&n)return!0;for(const o of r.search_params)if(a.has(o))return!0;for(const o of r.params)if(i[o]!==_.params[o])return!0;for(const o of r.dependencies)if(ye.some(s=>s(new URL(o))))return!0;return!1}function Xe(e,t){return(e==null?void 0:e.type)==="data"?e:(e==null?void 0:e.type)==="skip"?t??null:null}function wn(e,t){if(!e)return new Set(t.searchParams.keys());const n=new Set([...e.searchParams.keys(),...t.searchParams.keys()]);for(const a of n){const r=e.searchParams.getAll(a),i=t.searchParams.getAll(a);r.every(o=>i.includes(o))&&i.every(o=>r.includes(o))&&n.delete(a)}return n}function vn({error:e,url:t,route:n,params:a}){return{type:"loaded",state:{error:e,url:t,route:n,params:a,branch:[]},props:{page:et(x),constructors:[]}}}async function $t({id:e,invalidating:t,url:n,params:a,route:r,preload:i}){if((v==null?void 0:v.id)===e)return Ee.delete(v.token),v.promise;const{errors:o,layouts:s,leaf:l}=r,c=[...s,l];o.forEach(h=>h==null?void 0:h().catch(j)),c.forEach(h=>h==null?void 0:h[1]().catch(j));const d=_.url?e!==xe(_.url):!1,u=_.route?r.id!==_.route.id:!1,w=wn(_.url,n);let p=!1;const f=c.map(async(h,g)=>{var $;if(!h)return;const b=_.branch[g];return h[1]===(b==null?void 0:b.loader)&&!_n(p,u,d,w,($=b.universal)==null?void 0:$.uses,a)?b:(p=!0,Ye({loader:h[1],url:n,params:a,route:r,parent:async()=>{var pe;const q={};for(let B=0;B<g;B+=1)Object.assign(q,(pe=await f[B])==null?void 0:pe.data);return q},server_data_node:Xe(h[0]?{type:"skip"}:null,h[0]?b==null?void 0:b.server:void 0)}))});for(const h of f)h.catch(j);const m=[];for(let h=0;h<c.length;h+=1)if(c[h])try{m.push(await f[h])}catch(g){if(g instanceof Be)return{type:"redirect",location:g.location};if(Ee.has(i))return vn({error:await re(g,{params:a,url:n,route:{id:r.id}}),url:n,params:a,route:r});let b=He(g),R;if(g instanceof Me)R=g.body;else{if(await N.updated.check())return await Rt(),await te(n);R=await re(g,{params:a,url:n,route:{id:r.id}})}const $=await yn(h,m,o);return $?Re({url:n,params:a,branch:m.slice(0,$.idx).concat($.node),errors:o,status:b,error:R,route:r}):await jt(n,{id:r.id},R,b)}else m.push(void 0);return Re({url:n,params:a,branch:m,errors:o,status:200,error:null,route:r,form:t?void 0:null})}async function yn(e,t,n){for(;e--;)if(n[e]){let a=e;for(;!t[a];)a-=1;try{return{idx:a+1,node:{node:await n[e](),loader:n[e],data:{},server:null,universal:null}}}catch{continue}}}async function Ze({status:e,error:t,url:n,route:a}){const r={};let i=null;try{const o=await Ye({loader:Ne,url:n,params:r,route:a,parent:()=>Promise.resolve({}),server_data_node:Xe(i)}),s={node:await ve(),loader:ve,universal:null,server:null,data:null};return Re({url:n,params:r,branch:[o,s],status:e,error:t,errors:[],route:null})}catch(o){if(o instanceof Be)return Pt(new URL(o.location,location.href),{},0);throw o}}async function bn(e){const t=e.href;if(me.has(t))return me.get(t);let n;try{const a=(async()=>{let r=await S.hooks.reroute({url:new URL(e),fetch:async(i,o)=>mn(i,o,e).promise})??e;if(typeof r=="string"){const i=new URL(e);S.hash?i.hash=r:i.pathname=r,r=i}return r})();me.set(t,a),n=await a}catch{me.delete(t);return}return n}async function Ae(e,t){if(e&&!Ue(e,U,S.hash)){const n=await bn(e);if(!n)return;const a=kn(n);for(const r of ze){const i=r.exec(a);if(i)return{id:xe(e),invalidating:t,route:r,params:Kt(i),url:e}}}}function kn(e){return Bt(S.hash?e.hash.replace(/^#/,"").replace(/[?#].+/,""):e.pathname.slice(U.length))||"/"}function xe(e){return(S.hash?e.hash.replace(/^#/,""):e.pathname)+e.search}function Ct({url:e,type:t,intent:n,delta:a,event:r,scroll:i}){let o=!1;const s=Qe(_,n,e,t,i??null);a!==void 0&&(s.navigation.delta=a),r!==void 0&&(s.navigation.event=r);const l={...s.navigation,cancel:()=>{o=!0,s.reject(new Error("navigation cancelled"))}};return ne||xt.forEach(c=>c(l)),o?null:s}async function H({type:e,url:t,popped:n,keepfocus:a,noscroll:r,replace_state:i,state:o={},redirect_count:s=0,nav_token:l={},accept:c=j,block:d=j,event:u}){var B;const w=C;C=l;const p=await Ae(t,!1),f=e==="enter"?Qe(_,p,t,e):Ct({url:t,type:e,delta:n==null?void 0:n.delta,intent:p,scroll:n==null?void 0:n.scroll,event:u});if(!f){d(),C===l&&(C=w);return}const m=k,h=L;c(),ne=!0,Se&&f.navigation.type!=="enter"&&N.navigating.set(Q.current=f.navigation);let g=p&&await $t(p);if(!g){if(Ue(t,U,S.hash))return await te(t,i);g=await jt(t,{id:null},await re(new Ke(404,"Not Found",`Not found: ${t.pathname}`),{url:t,params:{},route:{id:null}}),404,i)}if(t=(p==null?void 0:p.url)||t,C!==l)return f.reject(new Error("navigation aborted")),!1;if(g.type==="redirect"){if(s<20){await H({type:e,url:new URL(g.location,t),popped:n,keepfocus:a,noscroll:r,replace_state:i,state:o,redirect_count:s+1,nav_token:l}),f.fulfil(void 0);return}g=await Ze({status:500,error:await re(new Error("Redirect loop"),{url:t,params:{},route:{id:null}}),url:t,route:{id:null}})}else g.props.page.status>=400&&await N.updated.check()&&(await Rt(),await te(t,i));if(pn(),We(m),Tt(h),g.props.page.url.pathname!==t.pathname&&(t.pathname=g.props.page.url.pathname),o=n?n.state:o,!n){const E=i?0:1,W={[F]:k+=E,[Z]:L+=E,[vt]:o};(i?history.replaceState:history.pushState).call(history,W,"",t),i||dn(k,L)}const b=p&&(v==null?void 0:v.id)===p.id?v.fork:null;v!=null&&v.fork&&!b&&ke(),v=null,g.props.page.state=o;let R;if(Se){const E=(await Promise.all(Array.from(hn,z=>z(f.navigation)))).filter(z=>typeof z=="function");if(E.length>0){let z=function(){E.forEach(Ie=>{G.delete(Ie)})};E.push(z),E.forEach(Ie=>{G.add(Ie)})}const W=f.navigation.to;_={...g.state,nav:{params:W.params,route:W.route,url:W.url}},g.props.page&&(g.props.page.url=t);const Te=b&&await b;Te?R=Te.commit():(J=null,At.$set(g.props),J&&Object.assign(g.props.page,J),Et(g.props.page),R=(B=Vt)==null?void 0:B()),Ut=!0}else await Ot(g,De,!1);const{activeElement:$}=document;if(await R,await _e(),await _e(),C!==l)return f.reject(new Error("navigation aborted")),!1;g.props.page&&J&&Object.assign(g.props.page,J);let q=null;if(it){const E=n?n.scroll:r?M():null;E?scrollTo(E.x,E.y):(q=t.hash&&document.getElementById(Nt(t)))?q.scrollIntoView():scrollTo(0,0)}const pe=document.activeElement!==$&&document.activeElement!==document.body;!a&&!pe&&An(t,!q),it=!0,ne=!1,e==="popstate"&&It(L),f.fulfil(void 0),f.navigation.to&&(f.navigation.to.scroll=M()),G.forEach(E=>E(f.navigation)),N.navigating.set(Q.current=null)}async function jt(e,t,n,a,r){return e.origin===Le&&e.pathname===location.pathname&&!Lt?await Ze({status:a,error:n,url:e,route:t}):await te(e,r)}function Sn(){let e,t={element:void 0,href:void 0},n;O.addEventListener("mousemove",s=>{const l=s.target;clearTimeout(e),e=setTimeout(()=>{i(l,V.hover)},20)});function a(s){s.defaultPrevented||i(s.composedPath()[0],V.tap)}O.addEventListener("mousedown",a),O.addEventListener("touchstart",a,{passive:!0});const r=new IntersectionObserver(s=>{for(const l of s)l.isIntersecting&&(Ce(new URL(l.target.href)),r.unobserve(l.target))},{threshold:0});async function i(s,l){const c=bt(s,O),d=c===t.element&&(c==null?void 0:c.href)===t.href&&l>=n;if(!c||d)return;const{url:u,external:w,download:p}=je(c,U,S.hash);if(w||p)return;const f=we(c),m=u&&xe(_.url)===xe(u);if(!(f.reload||m))if(l<=f.preload_data){t={element:c,href:c.href},n=V.tap;const h=await Ae(u,!1);if(!h)return;gn(h)}else l<=f.preload_code&&(t={element:c,href:c.href},n=l,Ce(u))}function o(){r.disconnect();for(const s of O.querySelectorAll("a")){const{url:l,external:c,download:d}=je(s,U,S.hash);if(c||d)continue;const u=we(s);u.reload||(u.preload_code===V.viewport&&r.observe(s),u.preload_code===V.eager&&Ce(l))}}G.add(o),o()}function re(e,t){if(e instanceof Me)return e.body;const n=He(e),a=ln(e);return S.hooks.handleError({error:e,event:t,status:n,message:a})??{message:a}}function En(e,t){fn(()=>(e.add(t),()=>{e.delete(t)}))}function Dn(e){En(G,e)}function qn(e,t={}){return e=new URL(Ge(e)),e.origin!==Le?Promise.reject(new Error("goto: invalid URL")):Pt(e,t,0)}function Rn(e){if(typeof e=="function")ye.push(e);else{const{href:t}=new URL(e,location.href);ye.push(n=>n.href===t)}}function xn(){var t;history.scrollRestoration="manual",addEventListener("beforeunload",n=>{let a=!1;if(ft(),!ne){const r=Qe(_,void 0,null,"leave"),i={...r.navigation,cancel:()=>{a=!0,r.reject(new Error("navigation cancelled"))}};xt.forEach(o=>o(i))}a?(n.preventDefault(),n.returnValue=""):history.scrollRestoration="auto"}),addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&ft()}),(t=navigator.connection)!=null&&t.saveData||Sn(),O.addEventListener("click",async n=>{if(n.button||n.which!==1||n.metaKey||n.ctrlKey||n.shiftKey||n.altKey||n.defaultPrevented)return;const a=bt(n.composedPath()[0],O);if(!a)return;const{url:r,external:i,target:o,download:s}=je(a,U,S.hash);if(!r)return;if(o==="_parent"||o==="_top"){if(window.parent!==window)return}else if(o&&o!=="_self")return;const l=we(a);if(!(a instanceof SVGAElement)&&r.protocol!==location.protocol&&!(r.protocol==="https:"||r.protocol==="http:")||s)return;const[d,u]=(S.hash?r.hash.replace(/^#/,""):r.href).split("#"),w=d===Pe(location);if(i||l.reload&&(!w||!u)){Ct({url:r,type:"link",event:n})?ne=!0:n.preventDefault();return}if(u!==void 0&&w){const[,p]=_.url.href.split("#");if(p===u){if(n.preventDefault(),u===""||u==="top"&&a.ownerDocument.getElementById("top")===null)scrollTo({top:0});else{const f=a.ownerDocument.getElementById(decodeURIComponent(u));f&&(f.scrollIntoView(),f.focus())}return}if(Y=!0,We(k),e(r),!l.replace_state)return;Y=!1}n.preventDefault(),await new Promise(p=>{requestAnimationFrame(()=>{setTimeout(p,0)}),setTimeout(p,100)}),await H({type:"link",url:r,keepfocus:l.keepfocus,noscroll:l.noscroll,replace_state:l.replace_state??r.href===location.href,event:n})}),O.addEventListener("submit",n=>{if(n.defaultPrevented)return;const a=HTMLFormElement.prototype.cloneNode.call(n.target),r=n.submitter;if(((r==null?void 0:r.formTarget)||a.target)==="_blank"||((r==null?void 0:r.formMethod)||a.method)!=="get")return;const s=new URL((r==null?void 0:r.hasAttribute("formaction"))&&(r==null?void 0:r.formAction)||a.action);if(Ue(s,U,!1))return;const l=n.target,c=we(l);if(c.reload)return;n.preventDefault(),n.stopPropagation();const d=new FormData(l,r);s.search=new URLSearchParams(d).toString(),H({type:"form",url:s,keepfocus:c.keepfocus,noscroll:c.noscroll,replace_state:c.replace_state??s.href===location.href,event:n})}),addEventListener("popstate",async n=>{var a;if(!qe){if((a=n.state)!=null&&a[F]){const r=n.state[F];if(C={},r===k)return;const i=D[r],o=n.state[vt]??{},s=new URL(n.state[rn]??location.href),l=n.state[Z],c=_.url?Pe(location)===Pe(_.url):!1;if(l===L&&(Ut||c)){o!==x.state&&(x.state=o),e(s),D[k]=M(),i&&scrollTo(i.x,i.y),k=r;return}const u=r-k;await H({type:"popstate",url:s,popped:{state:o,scroll:i,delta:u},accept:()=>{k=r,L=l},block:()=>{history.go(-u)},nav_token:C,event:n})}else if(!Y){const r=new URL(location.href);e(r),S.hash&&location.reload()}}}),addEventListener("hashchange",()=>{Y&&(Y=!1,history.replaceState({...history.state,[F]:++k,[Z]:L},"",location.href))});for(const n of document.querySelectorAll("link"))un.has(n.rel)&&(n.href=n.href);addEventListener("pageshow",n=>{n.persisted&&N.navigating.set(Q.current=null)});function e(n){_.url=x.url=n,N.page.set(et(x)),N.page.notify()}}async function Ln(e,{status:t=200,error:n,node_ids:a,params:r,route:i,server_route:o,data:s,form:l}){Lt=!0;const c=new URL(location.href);let d;({params:r={},route:i={id:null}}=await Ae(c,!1)||{}),d=ze.find(({id:p})=>p===i.id);let u,w=!0;try{const p=a.map(async(m,h)=>{const g=s[h];return g!=null&&g.uses&&(g.uses=Un(g.uses)),Ye({loader:S.nodes[m],url:c,params:r,route:i,parent:async()=>{const b={};for(let R=0;R<h;R+=1)Object.assign(b,(await p[R]).data);return b},server_data_node:Xe(g)})}),f=await Promise.all(p);if(d){const m=d.layouts;for(let h=0;h<m.length;h++)m[h]||f.splice(h,0,void 0)}u=await Re({url:c,params:r,branch:f,status:t,error:n,errors:d==null?void 0:d.errors,form:l,route:d??null})}catch(p){if(p instanceof Be){await te(new URL(p.location,location.href));return}u=await Ze({status:He(p),error:await re(p,{url:c,params:r,route:i}),url:c,route:i}),e.textContent="",w=!1}finally{}u.props.page&&(u.props.page.state={}),await Ot(u,e,w)}function Un(e){return{dependencies:new Set((e==null?void 0:e.dependencies)??[]),params:new Set((e==null?void 0:e.params)??[]),parent:!!(e!=null&&e.parent),route:!!(e!=null&&e.route),url:!!(e!=null&&e.url),search_params:new Set((e==null?void 0:e.search_params)??[])}}let qe=!1;function An(e,t=!0){const n=document.querySelector("[autofocus]");if(n)n.focus();else{const a=Nt(e);if(a&&document.getElementById(a)){const{x:i,y:o}=M();setTimeout(()=>{const s=history.state;qe=!0,location.replace(new URL(`#${a}`,location.href)),history.replaceState(s,"",e),t&&scrollTo(i,o),qe=!1})}else{const i=document.body,o=i.getAttribute("tabindex");i.tabIndex=-1,i.focus({preventScroll:!0,focusVisible:!1}),o!==null?i.setAttribute("tabindex",o):i.removeAttribute("tabindex")}const r=getSelection();if(r&&r.type!=="None"){const i=[];for(let o=0;o<r.rangeCount;o+=1)i.push(r.getRangeAt(o));setTimeout(()=>{if(r.rangeCount===i.length){for(let o=0;o<r.rangeCount;o+=1){const s=i[o],l=r.getRangeAt(o);if(s.commonAncestorContainer!==l.commonAncestorContainer||s.startContainer!==l.startContainer||s.endContainer!==l.endContainer||s.startOffset!==l.startOffset||s.endOffset!==l.endOffset)return}r.removeAllRanges()}})}}}function Qe(e,t,n,a,r=null){var c,d;let i,o;const s=new Promise((u,w)=>{i=u,o=w});return s.catch(j),{navigation:{from:{params:e.params,route:{id:((c=e.route)==null?void 0:c.id)??null},url:e.url,scroll:M()},to:n&&{params:(t==null?void 0:t.params)??null,route:{id:((d=t==null?void 0:t.route)==null?void 0:d.id)??null},url:n,scroll:r},willUnload:!t,type:a,complete:s},fulfil:i,reject:o}}function et(e){return{data:e.data,error:e.error,form:e.form,params:e.params,route:e.route,state:e.state,status:e.status,url:e.url}}function Tn(e){const t=new URL(e);return t.hash=decodeURIComponent(e.hash),t}function Nt(e){let t;if(S.hash){const[,,n]=e.hash.split("#",3);t=n??""}else t=e.hash.slice(1);return decodeURIComponent(t)}export{Dn as a,N as b,qn as g,On as l,x as p,Nn as s};
@@ -1 +0,0 @@
1
- import{O as Y,b7 as K,b6 as q,b4 as X,aM as V,aN as P,a8 as L,V as Z,X as ee,a2 as te,b8 as p,a9 as y,Y as m}from"./BjY4dxcB.js";function Ie(e=!1){const t=Y,n=t.l.u;if(!n)return;let s=()=>Z(t.s);if(e){let o=0,r={};const d=ee(()=>{let a=!1;const l=t.s;for(const u in l)l[u]!==r[u]&&(r[u]=l[u],a=!0);return a&&o++,o});s=()=>L(d)}n.b.length&&K(()=>{N(t,s),P(n.b)}),q(()=>{const o=X(()=>n.m.map(V));return()=>{for(const r of o)typeof r=="function"&&r()}}),n.a.length&&q(()=>{N(t,s),P(n.a)})}function N(e,t){if(e.l.s)for(const n of e.l.s)L(n);t()}te();const A="ocrc.token";function z(e){const t=e.startsWith("#")?e.slice(1):e;if(!t)return null;const n=new URLSearchParams(t).get("token");return n&&n.trim()?n.trim():null}function ne(e){const t=e.startsWith("#")?e.slice(1):e;if(!t)return null;const n=new URLSearchParams(t).get("pair");return n&&n.trim()?n.trim():null}function w(){try{const e=localStorage.getItem(A);return e&&e.trim()?e:null}catch{return null}}function S(e){try{localStorage.setItem(A,e)}catch{}}function B(){try{localStorage.removeItem(A)}catch{}}const I="ocrc.authReloaded";function se(e=window.location){if(w()){B();try{const{pathname:t,search:n}=window.location;window.history.replaceState(null,"",t+n)}catch{}e.reload();return}try{if(sessionStorage.getItem(I))return;sessionStorage.setItem(I,"1")}catch{}e.reload()}function E(){try{sessionStorage.removeItem(I)}catch{}}const f=p("booting"),$=p("");let b=null;if(typeof location<"u"&&typeof window<"u"){const e=z(location.hash);e&&S(e),b=ne(location.hash),b&&history.replaceState(null,"",location.pathname+location.search)}b?(f.set("booting"),(async()=>{try{const e=await fetch("/api/pair/exchange",{method:"POST",headers:{"content-type":"application/json"},credentials:"include",body:JSON.stringify({pending:b})});if(!e.ok)throw new Error(String(e.status));const t=await e.json();if(!t.token)throw new Error("no token");S(t.token),$.set(""),f.set("ready")}catch{$.set("配对链接已失效(1 分钟过期或已被使用)——请在主机上刷新二维码后重试。"),f.set("pairing")}})()):f.set(w()?"ready":"pairing");async function $e(e){const t=e.trim().match(/[?#]pair=([^&#\s]+)/),n=t?decodeURIComponent(t[1]):e.trim();if(!n)return"这看起来不是有效的配对链接。";try{const s=await fetch("/api/pair/exchange",{method:"POST",headers:{"content-type":"application/json"},credentials:"include",body:JSON.stringify({pending:n})});if(!s.ok)throw new Error(String(s.status));const o=await s.json();return!o.token||!oe(o.token)?"这看起来不是有效的配对链接。":($.set(""),"")}catch{return"配对链接已失效(1 分钟过期或已被使用)——请刷新二维码后重试。"}}function T(){const e=w();if(!e){y(f)==="ready"&&se();return}const t=typeof location<"u"?z(location.hash):null;if(t&&t!==e){S(t),f.set("ready");return}if(t){f.set("rejected");return}B(),f.set("pairing")}function oe(e){const t=e.trim();return!t||t.length<16?!1:(S(t),f.set("ready"),!0)}let O="";function _(e){const t={...e??{}},n=w();return n&&(t.authorization=`Bearer ${n}`),t}async function i(e){const t=await fetch(`${O}${e}`,{credentials:"include",headers:_()});if(t.status===401)throw T(),new Error(`GET ${e} 401`);if(!t.ok)throw new Error(`GET ${e} ${t.status}`);return E(),t.json()}async function c(e,t){const n=await fetch(`${O}${e}`,{method:"POST",headers:_({"content-type":"application/json"}),credentials:"include",body:JSON.stringify(t)});if(n.status===401)throw T(),new Error(`POST ${e} 401`);if(!n.ok)throw new Error(`POST ${e} ${n.status}`);return E(),n.json()}async function D(e,t,n){const s=await fetch(`${O}${t}`,{method:e,headers:_(n===void 0?void 0:{"content-type":"application/json"}),credentials:"include",body:n===void 0?void 0:JSON.stringify(n)});if(s.status===401)throw T(),new Error(`${e} ${t} 401`);if(!s.ok)throw new Error(`${e} ${t} ${s.status}`);return E(),s.json()}async function x(e,t){return D("PATCH",e,t)}async function F(e){return D("DELETE",e)}const R={me:()=>i("/api/me"),capabilities:()=>i("/api/capabilities"),backends:()=>i("/api/backends"),setActiveBackend:e=>c("/api/backends/active",{backendId:e}),sessions:()=>i("/api/sessions"),cleanupSubagents:()=>c("/api/sessions/cleanup-subagents",{}),revertSession:(e,t)=>c(`/api/session/${e}/revert?messageID=${encodeURIComponent(t)}`,{}),unrevertSession:e=>c(`/api/session/${e}/unrevert`,{}),revertState:e=>i(`/api/session/${e}/revert-state`),deleteSession:e=>c(`/api/sessions/${e}/delete`,{}),renameSession:(e,t)=>c(`/api/sessions/${e}/rename`,{title:t}),history:(e,t)=>{const n=new URLSearchParams;(t==null?void 0:t.limit)!=null&&n.set("limit",String(t.limit)),(t==null?void 0:t.offset)!=null&&n.set("offset",String(t.offset));const s=n.toString();return i(`/api/session/${e}${s?`?${s}`:""}`)},todo:e=>i(`/api/session/${e}/todo`),context:e=>i(`/api/session/${e}/context`),workspaces:()=>i("/api/workspaces"),createSession:e=>c("/api/session",e),mcp:()=>i("/api/mcp"),commands:e=>i(`/api/commands${e?`?backend=${encodeURIComponent(e)}`:""}`),runCommand:e=>c("/api/command",e),agents:()=>i("/api/agents"),models:()=>i("/api/models"),getOverrides:()=>i("/api/overrides"),setOverrides:e=>c("/api/overrides",e),sendMessage:e=>c("/api/message",e),abort:e=>c("/api/abort",{sessionId:e}),suggestions:e=>i(`/api/session/${e}/suggestions`),approve:(e,t,n)=>c("/api/approval",{sessionId:e,requestId:t,decision:n}),answerQuestion:(e,t,n)=>c("/api/question/reply",{sessionId:e,requestId:t,answers:n}),rejectQuestion:(e,t)=>c("/api/question/reject",{sessionId:e,requestId:t}),controls:e=>i(`/api/session/${e}/controls`),setMode:(e,t)=>c(`/api/session/${e}/mode`,{modeId:t}),setModel:(e,t)=>c(`/api/session/${e}/model`,{modelId:t}),files:(e,t)=>i(`/api/session/${e}/files?q=${encodeURIComponent(t)}`),schedules:()=>i("/api/schedules"),subagents:e=>i(`/api/session/${e}/subagents`),messageRaw:(e,t)=>i(`/api/session/${e}/message/${encodeURIComponent(t)}`),vcs:e=>i(`/api/vcs${e?`?sessionId=${encodeURIComponent(e)}`:""}`),vcsDiff:(e,t)=>i(`/api/vcs/diff?file=${encodeURIComponent(t)}${e?`&sessionId=${encodeURIComponent(e)}`:""}`),version:()=>i("/api/version"),skills:e=>i(`/api/skills${e?`?directory=${encodeURIComponent(e)}`:""}`),browse:(e,t)=>i(`/api/browse?directory=${encodeURIComponent(e)}&path=${encodeURIComponent(t)}`),fileContent:(e,t)=>i(`/api/file-content?directory=${encodeURIComponent(e)}&path=${encodeURIComponent(t)}`),worktrees:e=>i(`/api/worktrees${e?`?directory=${encodeURIComponent(e)}`:""}`),createWorktree:(e,t)=>c("/api/worktrees",{directory:e,name:t}),removeWorktree:(e,t)=>F(`/api/worktrees?directory=${encodeURIComponent(e)}&name=${encodeURIComponent(t)}`),channels:()=>i("/api/channels"),updateChannel:(e,t)=>x(`/api/channels/${e}`,t),resetChannel:e=>c(`/api/channels/${e}/reset`,{}),pairQr:()=>i("/api/pair/qr"),pairOnboarding:()=>i("/api/pair/onboarding"),exchangePair:e=>c("/api/pair/exchange",{pending:e}),addSchedule:e=>c("/api/schedules",e),setScheduleEnabled:(e,t)=>x(`/api/schedules/${e}`,{enabled:t}),deleteSchedule:e=>F(`/api/schedules/${e}`)},j=p([]),U=()=>({order:[],byId:{},lastSeq:0}),g=p({});function M(e,t){return e.id??`${e.kind}:${e.seq??t}`}function ie(e){return e==="thinking"||e==="think-stream"}function re(e){return e?e.order.map(t=>e.byId[t]).filter(Boolean):[]}function ae(e,t){return typeof t.seq=="number"&&e>0&&t.seq>e+1}function ce(e){if(!("sessionId"in e)||!e.sessionId)return;const t=e.sessionId,n=M(e,0);g.update(s=>{const o=s[t]??U();if(e.seq!=null&&e.seq<=o.lastSeq&&!(n in o.byId))return s;e.seq!=null&&(o.lastSeq=Math.max(o.lastSeq,e.seq));const r=e.id?e:{...e,id:n};if(n in o.byId)o.byId={...o.byId,[n]:r};else{let d=o.order,a=o.byId;(e.kind==="streaming"||e.kind==="assistant"||e.kind==="error")&&(a={...a},d=d.filter(l=>{var u;return ie((u=a[l])==null?void 0:u.kind)?(delete a[l],!1):!0})),o.order=[...d,n],o.byId={...a,[n]:r}}return{...s,[t]:o}})}function de(e){g.update(t=>{for(const n of Object.keys(t)){const s=t[n];if(!(e in s.byId))continue;const o={...s.byId};return delete o[e],{...t,[n]:{...s,order:s.order.filter(r=>r!==e),byId:o}}}return t})}function le(e,t,n=0){g.update(s=>{const o=U();return o.lastSeq=n,t.forEach((r,d)=>{const a=M(r,d);o.order.push(a),o.byId[a]=r.id?r:{...r,id:a}}),{...s,[e]:o}})}let G=0;function ue(e,t){if(t.length===0)return;G+=1;const n=G;g.update(s=>{const o=s[e]??U(),r={...o.byId},d=[];for(let a=t.length-1;a>=0;a--){const l=t[a],u=l.id??`${l.kind}:h${n}:${a}`;u in r||(d.push(u),r[u]=l.id?l:{...l,id:u})}return d.length===0?s:{...s,[e]:{order:[...d.reverse(),...o.order],byId:r,lastSeq:o.lastSeq}}})}function fe(e){const t=new Set(Array.isArray(e)?e:e?[e]:[]);g.update(n=>{const s={};for(const o of Object.keys(n))t.has(o)&&(s[o]=n[o]);return s})}const Ce=Object.freeze(Object.defineProperty({__proto__:null,cardsOf:re,feeds:g,isSeqGap:ae,prependHistory:ue,pruneFeeds:fe,removeCard:de,sessionList:j,setHistory:le,upsertCard:ce},Symbol.toStringTag,{value:"Module"})),k=p(null),h=p(null),J=p(void 0),pe=m([h,J,j,k],([e,t,n,s])=>{if(e){const o=t?n.find(a=>a.id===t):void 0,r=(o==null?void 0:o.backendId)??e.activeId,d=e.backends.find(a=>a.id===r);if(d)return d.capabilities}return(s==null?void 0:s.capabilities)??null}),he=m([h,J,j,k],([e,t,n,s])=>{if(e){const o=t?n.find(r=>r.id===t):void 0;return(o==null?void 0:o.backendId)??e.activeId}return(s==null?void 0:s.id)??null}),Ae=m(pe,e=>t=>e?e[t]!==!1:!0),me=m([h,k],([e,t])=>{var n;return e?((n=e.backends.find(s=>s.id===e.activeId))==null?void 0:n.capabilities)??null:(t==null?void 0:t.capabilities)??null});m(me,e=>t=>e?e[t]!==!1:!0);const Ee=m(he,e=>{const t=e??"opencode";return t.includes(":")?t.split(":").pop():t}),v=["emerald","azure","amber","violet"],Te={emerald:"#54d398",azure:"#5b9eff",amber:"#ffc34d",violet:"#b48cf0"},Oe={emerald:"#0f261b",azure:"#101f33",amber:"#2a2110",violet:"#1d1733"},_e={emerald:"#236b49",azure:"#2c5891",amber:"#8a6a26",violet:"#5a4790"},W="ocrc.agentAccents",H={opencode:"emerald","acp:kimi":"azure"};function ge(e){let t=0;for(let n=0;n<e.length;n++)t=t*31+e.charCodeAt(n)>>>0;return t}function ye(e){return H[e]?H[e]:v[ge(e)%v.length]}function be(){if(typeof localStorage>"u")return{};try{const e=localStorage.getItem(W),t=e?JSON.parse(e):{};return typeof t=="object"&&t!==null?t:{}}catch{return{}}}function ve(e){if(!(typeof localStorage>"u"))try{localStorage.setItem(W,JSON.stringify(e))}catch{}}const C=p(be());function we(e){const t=y(C);return v.includes(t[e])?t[e]:ye(e)}function Re(e,t){var s;const n={...y(C)};t&&v.includes(t)?n[e]=t:delete n[e],C.set(n),ve(n),((s=y(h))==null?void 0:s.activeId)===e&&Q(e)}function Q(e){typeof document>"u"||document.documentElement.setAttribute("data-accent",we(e))}async function je(){try{k.set(await R.capabilities())}catch(e){console.warn("[capabilities] failed to load",e)}}async function Se(){try{h.set(await R.backends())}catch(e){console.warn("[backends] failed to load",e)}}async function Ue(e){const t=y(h);t&&h.set({...t,activeId:e});try{await R.setActiveBackend(e)}catch(n){console.warn("[backends] setActive failed",n)}await Se(),Q(e)}export{v as A,Ce as B,Ue as C,Re as D,le as E,oe as F,ce as G,J as H,Oe as a,Te as b,_e as c,C as d,we as e,R as f,Q as g,f as h,Ee as i,h as j,Ae as k,re as l,he as m,ye as n,$e as o,g as p,w as q,Ie as r,ae as s,Se as t,je as u,$ as v,ue as w,fe as x,de as y,j as z};
@@ -1 +0,0 @@
1
- import{l as o,s as r}from"../chunks/BCzdfj8k.js";export{o as load_css,r as start};