codexui-android 0.1.97 → 0.1.99

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codexui-android",
3
- "version": "0.1.97",
3
+ "version": "0.1.99",
4
4
  "description": "A lightweight web interface for Codex that runs on top of the Codex app-server, allowing remote access from any browser",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -59,6 +59,7 @@
59
59
  "profile:thread": "PROFILE_ROUTE='#/thread/019da7c0-4e12-7a91-837c-f7c11cc8ab6c' node scripts/profile-browser-runtime.cjs"
60
60
  },
61
61
  "dependencies": {
62
+ "@composio/client": "0.1.0-alpha.66",
62
63
  "@xterm/addon-fit": "^0.11.0",
63
64
  "@xterm/xterm": "^6.0.0",
64
65
  "commander": "^13.1.0",
package/scripts/dev.cjs CHANGED
@@ -31,6 +31,8 @@ function run(command, args, options = {}) {
31
31
  }
32
32
 
33
33
  const passthroughArgs = process.argv.slice(2)
34
+ const viteBinPath = join(process.cwd(), 'node_modules', '.bin', process.platform === 'win32' ? 'vite.cmd' : 'vite')
35
+ const vueTscBinPath = join(process.cwd(), 'node_modules', '.bin', process.platform === 'win32' ? 'vue-tsc.cmd' : 'vue-tsc')
34
36
 
35
37
  if (isAndroidRuntime()) {
36
38
  const cliPath = join(process.cwd(), 'dist-cli', 'index.js')
@@ -47,12 +49,14 @@ if (isAndroidRuntime()) {
47
49
  ])
48
50
  }
49
51
 
50
- const install = spawnSync('pnpm', ['install'], { stdio: 'inherit', env: process.env })
51
- if (install.error) {
52
- throw install.error
53
- }
54
- if (install.status !== 0) {
55
- process.exit(install.status ?? 1)
52
+ if (!existsSync(viteBinPath) || !existsSync(vueTscBinPath)) {
53
+ const install = spawnSync('pnpm', ['install'], { stdio: 'inherit', env: process.env })
54
+ if (install.error) {
55
+ throw install.error
56
+ }
57
+ if (install.status !== 0) {
58
+ process.exit(install.status ?? 1)
59
+ }
56
60
  }
57
61
 
58
- run(join(process.cwd(), 'node_modules', '.bin', process.platform === 'win32' ? 'vite.cmd' : 'vite'), passthroughArgs)
62
+ run(viteBinPath, passthroughArgs)
@@ -1 +0,0 @@
1
- import{d as et,u as tt,r as w,w as H,b as at,B as st,e as nt,o as i,c as l,a,t as r,x as U,f as h,m as ke,s as it,F as m,g as x,H as lt,J as rt,h as ge,l as O,y as D,j as ot,v as Ce,T as ut,z as _,K as vt,L as dt,M as ct,n as pt,N as Be,O as ft,_ as wt}from"./index-Bqk3qCGk.js";const ht={class:"review-pane-header"},yt={class:"review-pane-heading"},mt={class:"review-pane-title"},_t={class:"review-pane-header-actions"},bt={class:"review-pane-toolbar"},kt={class:"review-pane-toolbar-tabs"},gt={class:"review-pane-segmented review-pane-segmented-primary"},Ct=["data-active","onClick"],Bt={class:"review-pane-toolbar-controls"},Lt={class:"review-pane-control-cluster"},Ft={class:"review-pane-segmented"},It=["data-active"],xt=["data-active","disabled"],Rt={key:0,class:"review-pane-control-cluster"},St={class:"review-pane-branch-select-wrap"},$t=["value"],Tt={key:1,class:"review-pane-control-cluster"},At={class:"review-pane-segmented"},Et=["data-active"],Mt=["data-active"],Nt={class:"review-pane-toolbar-actions"},Pt=["disabled"],Dt=["disabled"],Wt={key:1,class:"review-pane-meta"},zt={class:"review-pane-summary-pill review-pane-summary-pill-add"},Gt={class:"review-pane-summary-pill review-pane-summary-pill-remove"},Kt={key:0},Vt={key:1},Ht={key:2,class:"review-pane-content"},Ut={key:0,class:"review-pane-empty"},Ot={key:1,class:"review-pane-empty"},Xt=["disabled"],jt={key:2,class:"review-pane-empty"},Yt={key:0,class:"review-pane-bulk-actions"},Jt=["disabled","onClick"],qt={key:1,class:"review-pane-empty"},Qt={class:"review-pane-empty-text"},Zt={key:0,class:"review-pane-file-list"},ea=["data-expanded","onClick"],ta=["data-expanded"],aa={class:"review-pane-tree-folder-name"},sa={class:"review-pane-tree-folder-count"},na=["data-active","title","onClick"],ia={class:"review-pane-file-meta-row"},la={class:"review-pane-file-main"},ra=["data-operation"],oa={class:"review-pane-file-path"},ua={class:"review-pane-file-delta"},va={class:"review-pane-delta-add"},da={class:"review-pane-delta-remove"},ca={class:"review-pane-diff"},pa={class:"review-pane-file-header"},fa={class:"review-pane-file-header-main"},wa={class:"review-pane-file-title"},ha={class:"review-pane-file-subtitle"},ya={key:0,class:"review-pane-row-actions"},ma=["disabled","onClick"],_a={key:0,class:"review-pane-raw-diff"},ba={key:1,class:"review-pane-hunks"},ka=["data-active","onClick"],ga={class:"review-pane-hunk-header"},Ca={class:"review-pane-hunk-title"},Ba={class:"review-pane-hunk-meta"},La={key:0,class:"review-pane-row-actions"},Fa=["disabled","onClick"],Ia={class:"review-pane-lines"},xa=["data-kind"],Ra={class:"review-pane-line-number"},Sa={class:"review-pane-line-number"},$a={class:"review-pane-line-marker"},Ta={class:"review-pane-line-code"},Aa={key:3,class:"review-pane-findings"},Ea={key:0,class:"review-pane-summary-card"},Ma={class:"review-pane-summary-text"},Na={key:1,class:"review-pane-findings-list"},Pa=["onClick"],Da={class:"review-pane-finding-title"},Wa={key:0,class:"review-pane-finding-location"},za={key:1,class:"review-pane-finding-body"},Ga={key:2,class:"review-pane-empty"},Ka={class:"review-pane-empty-text"},Va={class:"review-pane-sheet-header"},Ha={class:"review-pane-sheet-count"},Ua={class:"review-pane-sheet-list"},Oa=["data-expanded","onClick"],Xa=["data-expanded"],ja={class:"review-pane-tree-folder-name"},Ya={class:"review-pane-tree-folder-count"},Ja=["data-active","title","onClick"],qa={class:"review-pane-file-meta-row"},Qa={class:"review-pane-file-main"},Za=["data-operation"],es={class:"review-pane-file-path"},ts={class:"review-pane-file-delta"},as={class:"review-pane-delta-add"},ss={class:"review-pane-delta-remove"},Le="codex-web-local.review-pane-file-list-width.v1",ns=220,is=420,Fe=288,ls=et({__name:"ReviewPane",props:{threadId:{},cwd:{},isThreadInProgress:{type:Boolean}},emits:["close"],setup(Ie){const b=Ie,{isMobile:F}=tt(),A=w("changes"),p=w("workspace"),C=w("unstaged"),u=w(null),R=w(""),X=w(!1),S=w(""),B=w(""),j=w(!1),ae=w(!1),E=w(!1),T=w(!1),Y=w(!1),W=w(""),L=w(""),M=w(""),N=w({}),J=w(""),se=new Map;let q=null,$=null;const xe=[{value:"changes",label:"Changes"},{value:"findings",label:"Findings"}],Q=_(()=>`${p.value}:${C.value}`),z=_(()=>N.value[Q.value]??null),k=_(()=>{var t,e;return((t=u.value)==null?void 0:t.files.find(n=>n.id===S.value))??((e=u.value)==null?void 0:e.files[0])??null}),P=w({}),Re=_(()=>{var t,e;return(t=u.value)!=null&&t.isGitRepo?p.value==="workspace"?C.value==="staged"?"Staged changes":"Workspace changes":(e=u.value)!=null&&e.baseBranch?`Against ${u.value.baseBranch}`:"Base branch":"Repository review"}),oe=_(()=>{var t,e;return b.threadId.trim().length>0&&b.cwd.trim().length>0&&((t=u.value)==null?void 0:t.isGitRepo)===!0&&!b.isThreadInProgress&&!(p.value==="baseBranch"&&!((e=u.value)!=null&&e.baseBranch))}),ue=_(()=>{var t;return p.value==="workspace"&&((t=u.value)==null?void 0:t.isGitRepo)===!0&&u.value.files.length>0}),ve=_(()=>ue.value&&!E.value),Se=_(()=>C.value==="staged"?[{value:"unstage",label:"Unstage all"}]:[{value:"stage",label:"Stage all"},{value:"revert",label:"Revert all"}]),$e=_(()=>C.value==="staged"?[{value:"unstage",label:"Unstage file"}]:[{value:"stage",label:"Stage file"},{value:"revert",label:"Revert file"}]),Te=_(()=>C.value==="staged"?[{value:"unstage",label:"Unstage hunk"}]:[{value:"stage",label:"Stage hunk"},{value:"revert",label:"Revert hunk"}]),de=_(()=>L.value||W.value||M.value),Ae=_(()=>!!(L.value||W.value)),Z=w(Ne()),Ee=_(()=>{const t={};return F.value||(t["--review-file-list-width"]=`${Z.value}px`),t}),ce=_(()=>{var t;return ze(((t=u.value)==null?void 0:t.files)??[],P.value)}),pe=_(()=>ce.value.nodes),Me=_(()=>ce.value.folderIdsByFileId);function ne(t){return Number.isFinite(t)?Math.min(is,Math.max(ns,Math.round(t))):Fe}function Ne(){if(typeof window>"u")return Fe;const t=window.localStorage.getItem(Le),e=t?Number(t):Number.NaN;return ne(e)}function Pe(t){typeof window>"u"||window.localStorage.setItem(Le,String(ne(t)))}function De(t){if(F.value)return;t.preventDefault(),$==null||$();const e=t.clientX,n=Z.value,v=f=>{Z.value=ne(n+(f.clientX-e))},d=()=>{window.removeEventListener("pointermove",v),window.removeEventListener("pointerup",y),$=null},y=()=>{d(),Pe(Z.value)};window.addEventListener("pointermove",v),window.addEventListener("pointerup",y),$=d}function We(t){return t==="add"?"+":t==="remove"?"-":t==="hunk"?"@@":" "}function fe(t){const e=t.split("/").filter(Boolean);return e[e.length-1]??t}function we(t,e){return t.localeCompare(e,void 0,{numeric:!0,sensitivity:"base"})}function ze(t,e){const n={folders:new Map,files:[]},v={};for(const g of t){const s=g.path.split("/").filter(Boolean),o=s.pop()??g.path;let c=n,I="";const be=[];for(const[Ze,K]of s.entries()){I=I?`${I}/${K}`:K;let V=c.folders.get(K);V||(V={id:I,name:K,depth:Ze,folders:new Map,files:[]},c.folders.set(K,V)),c=V,be.push(V.id)}c.files.push({file:g,name:o,depth:s.length}),v[g.id]=be}const d=[],y=g=>g.files.length+Array.from(g.folders.values()).reduce((s,o)=>s+y(o),0),f=g=>{const s=Array.from(g.folders.values()).sort((c,I)=>we(c.name,I.name)),o=[...g.files].sort((c,I)=>we(c.name,I.name));for(const c of s)d.push({kind:"folder",treeKey:`folder:${c.id}`,id:c.id,name:c.name,depth:c.depth,fileCount:y(c)}),e[c.id]!==!1&&f(c);for(const c of o)d.push({kind:"file",treeKey:`file:${c.file.id}`,id:c.file.id,name:c.name,depth:c.depth,file:c.file})};return f(n),{nodes:d,folderIdsByFileId:v}}function G(t){return P.value[t]!==!1}function he(t){P.value={...P.value,[t]:!G(t)}}function ie(t){const e=Me.value[t]??[];if(e.length===0)return;const n={...P.value};let v=!1;for(const d of e)n[d]===!1&&(n[d]=!0,v=!0);v&&(P.value=n)}function ee(t){const e=F.value?8:10,n=F.value?12:14;return{paddingLeft:`${e+t*n}px`}}function le(t){return t==="add"?"Added":t==="delete"?"Deleted":t==="rename"?"Renamed":"Modified"}function Ge(t,e){if(!(e instanceof HTMLElement)){se.delete(t);return}se.set(t,e)}function Ke(t){const e=t.params!==null&&typeof t.params=="object"&&!Array.isArray(t.params)?t.params:null;return typeof(e==null?void 0:e.threadId)=="string"?e.threadId:""}async function te(){var t,e,n;if(b.cwd.trim()){ae.value=!0,W.value="";try{const v=p.value==="baseBranch"?R.value.trim():"",d=await vt(b.cwd,p.value,C.value,v||null);if(d.baseBranchOptions.length>0){const f=d.baseBranch??d.baseBranchOptions[0]??"";R.value!==f&&(X.value=!0,R.value=f)}else R.value!==""&&(X.value=!0,R.value="");u.value=d,d.files.some(f=>f.id===S.value)||(S.value=((t=d.files[0])==null?void 0:t.id)??"",B.value=((n=(e=d.files[0])==null?void 0:e.hunks[0])==null?void 0:n.id)??"")}catch(v){W.value=v instanceof Error?v.message:"Failed to load review snapshot"}finally{ae.value=!1}}}async function Ve(){if(b.threadId.trim())try{const t=await Be(b.threadId);t.result&&(N.value={...N.value,[Q.value]:t.result})}catch{}}async function ye(){await Promise.all([te(),Ve()])}function me(t){var n,v;ie(t),S.value=t;const e=((n=u.value)==null?void 0:n.files.find(d=>d.id===t))??null;B.value=((v=e==null?void 0:e.hunks[0])==null?void 0:v.id)??"",F.value&&(j.value=!1)}async function re(t,e,n=""){var v,d,y;if(u.value){E.value=!0,L.value="";try{const f=await ft({cwd:b.cwd,scope:p.value,workspaceView:C.value,action:t,level:e,patch:n});u.value=f,f.files.some(s=>s.id===S.value)||(S.value=((v=f.files[0])==null?void 0:v.id)??"",B.value=((y=(d=f.files[0])==null?void 0:d.hunks[0])==null?void 0:y.id)??"")}catch(f){L.value=f instanceof Error?f.message:"Failed to apply review action"}finally{E.value=!1}}}async function He(t){await re(t,"all")}async function Ue(t,e){await re(t,"file",e.diff)}async function Oe(t,e){B.value=e.id,await re(t,"hunk",e.patch)}async function Xe(){if(b.cwd.trim()){Y.value=!0,L.value="";try{await dt(b.cwd),await te()}catch(t){L.value=t instanceof Error?t.message:"Failed to initialize Git"}finally{Y.value=!1}}}async function je(){var t,e;if(!(!oe.value||T.value)){L.value="",M.value=p.value==="workspace"?"Reviewing current changes":`Reviewing against ${((t=u.value)==null?void 0:t.baseBranch)??"base branch"}`,T.value=!0,J.value=Q.value;try{await ct(b.threadId,p.value,C.value,R.value||(((e=u.value)==null?void 0:e.baseBranch)??null))}catch(n){T.value=!1,M.value="",L.value=n instanceof Error?n.message:"Failed to start review"}}}function Ye(t){if(!t.absolutePath)return"";const e=t.startLine?`:${t.startLine}${t.endLine&&t.endLine!==t.startLine?`-${t.endLine}`:""}`:"";return`${t.absolutePath}${e}`}function Je(t,e){if(!e.startLine)return t.hunks[0]??null;for(const n of t.hunks){if(n.newStart!==null){const v=n.newStart+Math.max(n.newLineCount,1)-1;if(e.startLine>=n.newStart&&e.startLine<=v)return n}if(n.oldStart!==null){const v=n.oldStart+Math.max(n.oldLineCount,1)-1;if(e.startLine>=n.oldStart&&e.startLine<=v)return n}}return t.hunks[0]??null}async function _e(t){await pt();const e=se.get(t);e==null||e.scrollIntoView({block:"center",behavior:"smooth"})}async function qe(t){var v;A.value="changes";const e=((v=u.value)==null?void 0:v.files.find(d=>d.absolutePath===t.absolutePath||d.previousAbsolutePath===t.absolutePath))??null;if(!e)return;ie(e.id),S.value=e.id;const n=Je(e,t);B.value=(n==null?void 0:n.id)??"",n!=null&&n.id&&await _e(n.id)}function Qe(t){if(Ke(t)!==b.threadId)return;const e=t.params!==null&&typeof t.params=="object"&&!Array.isArray(t.params)?t.params:null,n=(e==null?void 0:e.item)!==null&&typeof(e==null?void 0:e.item)=="object"&&!Array.isArray(e.item)?e.item:null,v=typeof(n==null?void 0:n.type)=="string"?n.type:"";if(t.method==="item/started"&&v==="enteredReviewMode"){T.value=!0,M.value=typeof(n==null?void 0:n.review)=="string"?n.review:"Review in progress";return}if(t.method==="item/completed"&&v==="exitedReviewMode"){const d=J.value||Q.value;T.value=!1,M.value="",Be(b.threadId).then(y=>{y.result&&(N.value={...N.value,[d]:y.result},A.value="findings")}).catch(y=>{L.value=y instanceof Error?y.message:"Failed to load review result"}).finally(()=>{J.value=""})}}return H(()=>[b.threadId,b.cwd],()=>{S.value="",B.value="",N.value={},J.value="",L.value="",M.value="",ye()},{immediate:!0}),H(()=>[p.value,C.value],()=>{S.value="",B.value="",L.value="",W.value="",te()}),H(R,(t,e)=>{if(X.value){X.value=!1;return}p.value==="baseBranch"&&(!t||t===e||te())}),H(k,t=>{var e;t&&(ie(t.id),t.hunks.some(n=>n.id===B.value)||(B.value=((e=t.hunks[0])==null?void 0:e.id)??""))}),H(B,t=>{t&&_e(t)}),at(()=>{q=st(Qe)}),nt(()=>{q&&(q(),q=null),$==null||$()}),(t,e)=>{var n,v,d,y,f,g;return i(),l("section",{class:ge(["review-pane",{"is-mobile":U(F)}]),onClick:e[9]||(e[9]=Ce(()=>{},["stop"]))},[a("header",ht,[a("div",yt,[e[10]||(e[10]=a("p",{class:"review-pane-eyebrow"},"Review",-1)),a("p",mt,r(Re.value),1)]),a("div",_t,[U(F)&&A.value==="changes"&&((n=u.value)!=null&&n.files.length)?(i(),l("button",{key:0,type:"button",class:"review-pane-mobile-files-button",onClick:e[0]||(e[0]=s=>j.value=!0)}," Files ")):h("",!0),a("button",{type:"button",class:"review-pane-close","aria-label":"Close review pane",onClick:e[1]||(e[1]=s=>t.$emit("close"))},[ke(it,{class:"icon-svg"})])])]),a("div",bt,[a("div",kt,[a("div",gt,[(i(),l(m,null,x(xe,s=>a("button",{key:s.value,type:"button",class:"review-pane-segmented-button review-pane-tab","data-active":A.value===s.value,onClick:o=>A.value=s.value},r(s.label),9,Ct)),64))])]),a("div",Bt,[a("div",Lt,[e[11]||(e[11]=a("span",{class:"review-pane-control-label"},"Compare",-1)),a("div",Ft,[a("button",{type:"button",class:"review-pane-segmented-button review-pane-scope","data-active":p.value==="workspace",onClick:e[2]||(e[2]=s=>p.value="workspace")}," Workspace ",8,It),a("button",{type:"button",class:"review-pane-segmented-button review-pane-scope","data-active":p.value==="baseBranch",disabled:!((v=u.value)!=null&&v.baseBranch),onClick:e[3]||(e[3]=s=>p.value="baseBranch")}," Base branch ",8,xt)])]),p.value==="baseBranch"&&((d=u.value)!=null&&d.baseBranchOptions.length)?(i(),l("div",Rt,[e[12]||(e[12]=a("span",{class:"review-pane-control-label"},"Branch",-1)),a("label",St,[lt(a("select",{"onUpdate:modelValue":e[4]||(e[4]=s=>R.value=s),class:"review-pane-branch-select"},[(i(!0),l(m,null,x(u.value.baseBranchOptions,s=>(i(),l("option",{key:s,value:s},r(s),9,$t))),128))],512),[[rt,R.value]])])])):h("",!0),p.value==="workspace"?(i(),l("div",Tt,[e[13]||(e[13]=a("span",{class:"review-pane-control-label"},"Changes",-1)),a("div",At,[a("button",{type:"button",class:"review-pane-segmented-button review-pane-view","data-active":C.value==="unstaged",onClick:e[5]||(e[5]=s=>C.value="unstaged")}," Unstaged ",8,Et),a("button",{type:"button",class:"review-pane-segmented-button review-pane-view","data-active":C.value==="staged",onClick:e[6]||(e[6]=s=>C.value="staged")}," Staged ",8,Mt)])])):h("",!0)]),a("div",Nt,[a("button",{type:"button",class:"review-pane-run",disabled:!oe.value||T.value,onClick:je},r(T.value?"Reviewing…":"Run review"),9,Pt),a("button",{type:"button",class:"review-pane-refresh",disabled:ae.value,onClick:ye}," Refresh ",8,Dt)])]),de.value?(i(),l("div",{key:0,class:ge(["review-pane-banner",{"is-error":Ae.value}])},r(de.value),3)):h("",!0),u.value?(i(),l("div",Wt,[a("span",null,r(u.value.summary.fileCount)+" files",1),a("span",zt,"+"+r(u.value.summary.addedLineCount),1),a("span",Gt,"-"+r(u.value.summary.removedLineCount),1),u.value.headBranch?(i(),l("span",Kt,r(u.value.headBranch),1)):h("",!0),p.value==="baseBranch"&&u.value.baseBranch?(i(),l("span",Vt,"vs "+r(u.value.baseBranch),1)):h("",!0)])):h("",!0),A.value==="changes"?(i(),l("div",Ht,[u.value?u.value.isGitRepo?p.value==="baseBranch"&&!u.value.baseBranch?(i(),l("div",jt,[...e[17]||(e[17]=[a("p",{class:"review-pane-empty-title"},"Base branch unavailable",-1),a("p",{class:"review-pane-empty-text"},"Could not resolve `origin/HEAD`, `main`, or `master` for this repository.",-1)])])):(i(),l(m,{key:3},[ue.value?(i(),l("div",Yt,[(i(!0),l(m,null,x(Se.value,s=>(i(),l("button",{key:s.value,type:"button",class:"review-pane-bulk-button",disabled:E.value,onClick:o=>He(s.value)},r(s.label),9,Jt))),128))])):h("",!0),u.value.files.length?(i(),l("div",{key:2,class:"review-pane-main",style:O(Ee.value)},[U(F)?h("",!0):(i(),l("aside",Zt,[(i(!0),l(m,null,x(pe.value,s=>{var o;return i(),l(m,{key:s.treeKey},[s.kind==="folder"?(i(),l("button",{key:0,type:"button",class:"review-pane-tree-folder",style:O(ee(s.depth)),"data-expanded":G(s.id),onClick:c=>he(s.id)},[a("span",{class:"review-pane-tree-caret","data-expanded":G(s.id)},null,8,ta),a("span",aa,r(s.name),1),a("span",sa,r(s.fileCount),1)],12,ea)):(i(),l("button",{key:1,type:"button",class:"review-pane-file review-pane-tree-file",style:O(ee(s.depth)),"data-active":((o=k.value)==null?void 0:o.id)===s.file.id,title:s.file.path,onClick:c=>me(s.file.id)},[a("span",ia,[a("span",la,[a("span",{class:"review-pane-file-op","data-operation":s.file.operation},r(le(s.file.operation)),9,ra),a("span",oa,[D(r(s.name)+" ",1),s.file.previousPath?(i(),l(m,{key:0},[D(" ← "+r(fe(s.file.previousPath)),1)],64)):h("",!0)])]),a("span",ua,[a("span",va,"+"+r(s.file.addedLineCount),1),e[19]||(e[19]=a("span",{class:"review-pane-delta-separator"},"/",-1)),a("span",da,"-"+r(s.file.removedLineCount),1)])])],12,na))],64)}),128))])),U(F)?h("",!0):(i(),l("div",{key:1,class:"review-pane-resizer",role:"separator","aria-orientation":"vertical","aria-label":"Resize file list",onPointerdown:De},null,32)),a("section",ca,[k.value?(i(),l(m,{key:0},[a("div",pa,[a("div",fa,[a("p",wa,[D(r(k.value.path)+" ",1),k.value.previousPath?(i(),l(m,{key:0},[D(" ← "+r(k.value.previousPath),1)],64)):h("",!0)]),a("p",ha,r(le(k.value.operation))+" · +"+r(k.value.addedLineCount)+" / -"+r(k.value.removedLineCount),1)]),ve.value?(i(),l("div",ya,[(i(!0),l(m,null,x($e.value,s=>(i(),l("button",{key:`${k.value.id}:${s.value}`,type:"button",class:"review-pane-row-button",disabled:E.value,onClick:o=>Ue(s.value,k.value)},r(s.label),9,ma))),128))])):h("",!0)]),k.value.hunks.length===0?(i(),l("div",_a,[a("pre",null,r(k.value.diff||"No unified diff available."),1)])):(i(),l("div",ba,[(i(!0),l(m,null,x(k.value.hunks,s=>(i(),l("article",{key:s.id,ref_for:!0,ref:o=>Ge(s.id,o),class:"review-pane-hunk","data-active":B.value===s.id,onClick:o=>B.value=s.id},[a("div",ga,[a("div",null,[a("p",Ca,r(s.header),1),a("p",Ba,"+"+r(s.addedLineCount)+" / -"+r(s.removedLineCount),1)]),ve.value?(i(),l("div",La,[(i(!0),l(m,null,x(Te.value,o=>(i(),l("button",{key:`${s.id}:${o.value}`,type:"button",class:"review-pane-row-button",disabled:E.value,onClick:c=>Oe(o.value,s)},r(o.label),9,Fa))),128))])):h("",!0)]),a("div",Ia,[(i(!0),l(m,null,x(s.lines,o=>(i(),l("div",{key:o.key,class:"review-pane-line","data-kind":o.kind},[a("span",Ra,r(o.oldLine??""),1),a("span",Sa,r(o.newLine??""),1),a("span",$a,r(We(o.kind)),1),a("code",Ta,r(o.text||" "),1)],8,xa))),128))])],8,ka))),128))]))],64)):h("",!0)])],4)):(i(),l("div",qt,[e[18]||(e[18]=a("p",{class:"review-pane-empty-title"},"No changes in this scope",-1)),a("p",Qt,r(p.value==="workspace"?"Your current workspace is clean.":"No merge diff found against the base branch."),1)]))],64)):(i(),l("div",Ot,[e[15]||(e[15]=a("p",{class:"review-pane-empty-title"},"This folder is not a Git repository",-1)),e[16]||(e[16]=a("p",{class:"review-pane-empty-text"},"Initialize Git to review local changes and run Codex review.",-1)),a("button",{type:"button",class:"review-pane-primary-cta",disabled:Y.value,onClick:Xe},r(Y.value?"Initializing…":"Initialize Git"),9,Xt)])):(i(),l("div",Ut,[...e[14]||(e[14]=[a("p",{class:"review-pane-empty-title"},"Loading review state",-1)])]))])):(i(),l("div",Aa,[(y=z.value)!=null&&y.summary?(i(),l("div",Ea,[e[20]||(e[20]=a("p",{class:"review-pane-summary-title"},"Summary",-1)),a("pre",Ma,r(z.value.summary),1)])):h("",!0),(f=z.value)!=null&&f.findings.length?(i(),l("div",Na,[(i(!0),l(m,null,x(z.value.findings,s=>(i(),l("button",{key:s.id,type:"button",class:"review-pane-finding",onClick:o=>qe(s)},[a("span",Da,r(s.title),1),s.absolutePath?(i(),l("span",Wa,r(Ye(s)),1)):h("",!0),s.body?(i(),l("span",za,r(s.body),1)):h("",!0)],8,Pa))),128))])):(i(),l("div",Ga,[e[21]||(e[21]=a("p",{class:"review-pane-empty-title"},"No structured findings yet",-1)),a("p",Ka,r((g=z.value)!=null&&g.summary?"The latest review only returned summary text.":"Run review to populate this pane."),1)]))])),ke(ut,{name:"review-pane-sheet"},{default:ot(()=>{var s;return[U(F)&&j.value&&((s=u.value)!=null&&s.files.length)?(i(),l("div",{key:0,class:"review-pane-sheet-backdrop",onClick:e[8]||(e[8]=o=>j.value=!1)},[a("div",{class:"review-pane-sheet",onClick:e[7]||(e[7]=Ce(()=>{},["stop"]))},[e[24]||(e[24]=a("div",{class:"review-pane-sheet-handle","aria-hidden":"true"},null,-1)),a("div",Va,[e[22]||(e[22]=a("p",{class:"review-pane-sheet-title"},"Changed files",-1)),a("p",Ha,r(u.value.files.length),1)]),a("div",Ua,[(i(!0),l(m,null,x(pe.value,o=>{var c;return i(),l(m,{key:`sheet:${o.treeKey}`},[o.kind==="folder"?(i(),l("button",{key:0,type:"button",class:"review-pane-tree-folder review-pane-tree-folder-sheet",style:O(ee(o.depth)),"data-expanded":G(o.id),onClick:I=>he(o.id)},[a("span",{class:"review-pane-tree-caret","data-expanded":G(o.id)},null,8,Xa),a("span",ja,r(o.name),1),a("span",Ya,r(o.fileCount),1)],12,Oa)):(i(),l("button",{key:1,type:"button",class:"review-pane-file review-pane-tree-file",style:O(ee(o.depth)),"data-active":((c=k.value)==null?void 0:c.id)===o.file.id,title:o.file.path,onClick:I=>me(o.file.id)},[a("span",qa,[a("span",Qa,[a("span",{class:"review-pane-file-op","data-operation":o.file.operation},r(le(o.file.operation)),9,Za),a("span",es,[D(r(o.name)+" ",1),o.file.previousPath?(i(),l(m,{key:0},[D(" ← "+r(fe(o.file.previousPath)),1)],64)):h("",!0)])]),a("span",ts,[a("span",as,"+"+r(o.file.addedLineCount),1),e[23]||(e[23]=a("span",{class:"review-pane-delta-separator"},"/",-1)),a("span",ss,"-"+r(o.file.removedLineCount),1)])])],12,Ja))],64)}),128))])])])):h("",!0)]}),_:1})],2)}}}),os=wt(ls,[["__scopeId","data-v-cf07d06e"]]);export{os as default};
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index.esm-DECIu6Fp.js","assets/index.esm-DPq88-QA.js","assets/index.esm-Bi-9KxvS.js"])))=>i.map(i=>d[i]);
2
- import{d as le,o as l,c as r,h as se,a as o,t as h,f as b,v as ae,m as J,P as Le,z as S,_ as ne,w as Fe,i as te,s as Ae,Q as Ue,r as p,A as me,b as Ge,x as i,y as ge,R as He,F as X,g as we,S as Oe,H as xe,U as De,V as Ne}from"./index-Bqk3qCGk.js";const Re={class:"skill-card-top"},je=["src","alt"],Ke={key:1,class:"skill-card-avatar-fallback"},Be={class:"skill-card-info"},Me={class:"skill-card-header"},Je={class:"skill-card-name"},Ve={key:0,class:"skill-card-badge-disabled"},ze={key:1,class:"skill-card-badge"},We={class:"skill-card-owner"},Qe={key:0,class:"skill-card-desc"},qe={key:1,class:"skill-card-date"},Ze=le({__name:"SkillCard",props:{skill:{}},emits:["select"],setup(t){const P=t,u=S(()=>{const k=P.skill.path;return k?k.endsWith("/SKILL.md")?k.slice(0,-9):k:""});function I(){const k=u.value;k&&window.open(`/codex-local-browse${encodeURI(k)}`,"_blank","noopener,noreferrer")}const f=S(()=>{const k=P.skill.publishedAt;if(!k)return"";const y=new Date(k),$=Date.now()-k;return $<36e5?`${Math.floor($/6e4)}m ago`:$<864e5?`${Math.floor($/36e5)}h ago`:$<2592e6?`${Math.floor($/864e5)}d ago`:y.toLocaleDateString("en-US",{month:"short",day:"numeric"})});function _(k){const y=k.target;y.style.display="none"}return(k,y)=>(l(),r("button",{class:se(["skill-card",{"is-disabled":t.skill.installed&&t.skill.enabled===!1}]),type:"button",onClick:y[0]||(y[0]=C=>k.$emit("select",t.skill))},[o("div",Re,[t.skill.avatarUrl?(l(),r("img",{key:0,class:"skill-card-avatar",src:t.skill.avatarUrl,alt:t.skill.owner,loading:"lazy",onError:_},null,40,je)):(l(),r("div",Ke,h(t.skill.owner.charAt(0)),1)),o("div",Be,[o("div",Me,[o("span",Je,h(t.skill.displayName||t.skill.name),1),t.skill.installed&&t.skill.enabled===!1?(l(),r("span",Ve,"Disabled")):t.skill.installed?(l(),r("span",ze,"Installed")):b("",!0)]),o("span",We,h(t.skill.owner),1)]),t.skill.installed&&u.value?(l(),r("button",{key:2,class:"skill-card-browse",type:"button",title:"Browse files",onClick:ae(I,["stop"])},[J(Le,{class:"skill-card-browse-icon"})])):b("",!0)]),t.skill.description?(l(),r("p",Qe,h(t.skill.description),1)):b("",!0),f.value?(l(),r("span",qe,h(f.value),1)):b("",!0)],2))}}),Se=ne(Ze,[["__scopeId","data-v-49ed14e0"]]),Ye={class:"sdm-panel"},Xe={class:"sdm-header"},es={class:"sdm-title-area"},ss=["src","alt"],ts={class:"sdm-title-col"},ls={class:"sdm-title-row"},as={class:"sdm-title"},ns={key:0,class:"sdm-badge-disabled"},os={class:"sdm-owner"},is={class:"sdm-body"},rs={key:0,class:"sdm-desc"},cs={key:1,class:"sdm-readme-loading"},us=["innerHTML"],ds=["href"],hs={class:"sdm-footer"},ks={class:"sdm-footer-actions"},vs=["disabled"],ps=["disabled"],bs=["disabled"],fs=le({__name:"SkillDetailModal",props:{skill:{},visible:{type:Boolean},isInstalling:{type:Boolean},isUninstalling:{type:Boolean}},emits:["close","install","uninstall","toggle-enabled"],setup(t,{emit:P}){const u=t,I=P,f=p(null),_=p(""),k=p(""),y=p(!1),C=S(()=>f.value??u.skill.enabled??!0),$=S(()=>u.isInstalling===!0||u.isUninstalling===!0),T=S(()=>_.value||u.skill.description),L=S(()=>{const d=u.skill.path;return d?d.endsWith("/SKILL.md")?d.slice(0,-9):d:""}),H=S(()=>{const d=k.value;if(!d)return"";const g=d.replace(/^---[\s\S]*?---\s*/,"");return F(g)});function F(d){return d.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/^### (.+)$/gm,"<h4>$1</h4>").replace(/^## (.+)$/gm,"<h3>$1</h3>").replace(/^# (.+)$/gm,"<h2>$1</h2>").replace(/\*\*(.+?)\*\*/g,"<strong>$1</strong>").replace(/`([^`]+)`/g,"<code>$1</code>").replace(/^- (.+)$/gm,"<li>$1</li>").replace(/(<li>.*<\/li>\n?)+/g,"<ul>$&</ul>").replace(/\n{2,}/g,"<br/><br/>").replace(/\n/g,"<br/>")}async function A(){if(!(!u.skill.owner||!u.skill.name)){y.value=!0,_.value="",k.value="";try{const d=new URLSearchParams({owner:u.skill.owner,name:u.skill.name});u.skill.installed&&d.set("installed","true"),u.skill.path&&d.set("path",u.skill.path);const g=await fetch(`/codex-api/skills-hub/readme?${d}`);if(!g.ok)return;const E=await g.json();k.value=E.content??"",_.value=E.description??""}catch{}finally{y.value=!1}}}Fe(()=>u.visible,d=>{d&&(f.value=null,_.value="",k.value="",A())});function U(){I("install",u.skill)}function O(){I("uninstall",u.skill)}function a(){const d=!C.value;f.value=d,I("toggle-enabled",u.skill,d)}function c(){const d=L.value;d&&window.open(`/codex-local-browse${encodeURI(d)}`,"_blank","noopener,noreferrer")}return(d,g)=>(l(),te(Ue,{to:"body"},[t.visible?(l(),r("div",{key:0,class:"sdm-overlay",onClick:g[1]||(g[1]=ae(E=>d.$emit("close"),["self"]))},[o("div",Ye,[o("div",Xe,[o("div",es,[t.skill.avatarUrl?(l(),r("img",{key:0,class:"sdm-avatar",src:t.skill.avatarUrl,alt:t.skill.owner,loading:"lazy"},null,8,ss)):b("",!0),o("div",ts,[o("div",ls,[o("h3",as,h(t.skill.displayName||t.skill.name),1),t.skill.installed&&!C.value?(l(),r("span",ns,"Disabled")):b("",!0)]),o("span",os,h(t.skill.owner),1)])]),o("button",{class:"sdm-close",type:"button","aria-label":"Close",onClick:g[0]||(g[0]=E=>d.$emit("close"))},[J(Ae,{class:"sdm-close-icon"})])]),o("div",is,[T.value?(l(),r("p",rs,h(T.value),1)):b("",!0),y.value?(l(),r("div",cs,"Loading skill contents...")):k.value?(l(),r("div",{key:2,class:"sdm-readme",innerHTML:H.value},null,8,us)):b("",!0),o("a",{class:"sdm-link",href:t.skill.url,target:"_blank",rel:"noopener noreferrer"},"View on GitHub",8,ds)]),o("div",hs,[o("div",ks,[t.skill.installed?(l(),r("button",{key:0,class:"sdm-btn sdm-btn-danger",type:"button",disabled:$.value,onClick:O},h(u.isUninstalling?"Uninstalling...":"Uninstall"),9,vs)):(l(),r("button",{key:1,class:"sdm-btn sdm-btn-primary",type:"button",disabled:$.value,onClick:U},h(u.isInstalling?"Installing...":"Install"),9,ps)),t.skill.installed?(l(),r("button",{key:2,class:"sdm-btn sdm-btn-secondary",type:"button",disabled:$.value,onClick:a},h(C.value?"Disable":"Enable"),9,bs)):b("",!0),t.skill.installed&&L.value?(l(),r("button",{key:3,class:"sdm-btn sdm-btn-secondary",type:"button",onClick:c}," Browse files ")):b("",!0)])])])])):b("",!0)]))}}),ys=ne(fs,[["__scopeId","data-v-c758a719"]]),ms={apiKey:"AIzaSyAf0CIHBZ-wEQJ8CCUUWo1Wl9P7typ_ZPI",authDomain:"gptcall-416910.firebaseapp.com",projectId:"gptcall-416910",storageBucket:"gptcall-416910.appspot.com",messagingSenderId:"99275526699",appId:"1:99275526699:web:3b623e1e2996108b52106e"};let ee=null;function gs(){return ee||(ee=Promise.all([me(()=>import("./index.esm-DECIu6Fp.js"),__vite__mapDeps([0,1])),me(()=>import("./index.esm-Bi-9KxvS.js"),__vite__mapDeps([2,1]))])),ee}function ws(t){const P=p(null),u=p(""),I=p(""),f=p(""),_=p({loggedIn:!1,githubUsername:"",repoOwner:"",repoName:"",configured:!1,startup:{inProgress:!1,mode:"idle",branch:"main",lastAction:"not-started",lastRunAtIso:"",lastSuccessAtIso:"",lastError:""}}),k=S(()=>f.value==="pull"),y=S(()=>f.value==="push"),C=S(()=>f.value==="startup-sync"),$=S(()=>f.value!=="");async function T(){try{const a=await fetch("/codex-api/skills-sync/status");if(!a.ok)return;const c=await a.json();c.data&&(_.value=c.data)}catch{}}async function L(){try{const a=await fetch("/codex-api/skills-sync/github/start-login",{method:"POST"}),c=await a.json();if(!a.ok||!c.data)throw new Error("Failed to start GitHub login");P.value=c.data;const d=30,g=Math.max((c.data.interval??5)*1e3,3e3);let E=!1;for(let N=0;N<d;N++){await new Promise(j=>setTimeout(j,g));const x=await fetch("/codex-api/skills-sync/github/complete-login",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({deviceCode:c.data.device_code})}),D=await x.json();if(!x.ok)throw new Error(D.error||"Failed to complete GitHub login");if(D.ok){E=!0;break}if(!D.pending)throw new Error(D.error||"Failed to complete GitHub login")}if(!E)throw new Error("GitHub login timed out. Please retry.");P.value=null,await T(),t.showToast("GitHub login successful")}catch(a){t.showToast(a instanceof Error?a.message:"Failed GitHub login","error")}}async function H(){try{const[a,c]=await gs(),{getApp:d,getApps:g,initializeApp:E}=a,{getAuth:N,GithubAuthProvider:x,signInWithPopup:D}=c,j=g().length>0?d():E(ms),V=N(j),R=new x;R.addScope("repo");const G=await D(V,R),K=x.credentialFromResult(G),z=(K==null?void 0:K.accessToken)??"";if(!z)throw new Error("GitHub access token missing from Firebase login");const W=await fetch("/codex-api/skills-sync/github/token-login",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({token:z})}),Q=await W.json();if(!W.ok||!Q.ok)throw new Error(Q.error||"Failed to login with GitHub token");await T(),t.showToast("GitHub login successful")}catch(a){const c=a instanceof Error?a.message:"Failed Firebase GitHub login";t.showToast(c,"error")}}async function F(){I.value="",u.value="pull-started",f.value="pull";try{const a=await fetch("/codex-api/skills-sync/pull",{method:"POST"}),c=await a.json();if(!a.ok||!c.ok)throw new Error(c.error||"Failed to pull synced skills");await t.onPulled(),u.value="pull-success",t.showToast(_.value.loggedIn?"Pulled skills from private sync repo":"Pulled skills from upstream repo")}catch(a){const c=a instanceof Error?a.message:"Failed to pull sync";I.value=c,u.value="pull-failed",t.showToast(c,"error")}finally{f.value=""}}async function A(){I.value="",u.value="push-started",f.value="push";try{const a=await fetch("/codex-api/skills-sync/push",{method:"POST"}),c=await a.json();if(!a.ok||!c.ok)throw new Error(c.error||"Failed to push synced skills");u.value="push-success",t.showToast("Pushed skills to private sync repo")}catch(a){const c=a instanceof Error?a.message:"Failed to push sync";I.value=c,u.value="push-failed",t.showToast(c,"error")}finally{f.value=""}}async function U(){I.value="",u.value="startup-sync-started",f.value="startup-sync";try{const a=await fetch("/codex-api/skills-sync/startup-sync",{method:"POST"}),c=await a.json();if(!a.ok||!c.ok)throw new Error(c.error||"Failed to run startup sync");await t.onPulled(),await T(),u.value="startup-sync-success",t.showToast("Startup sync completed")}catch(a){const c=a instanceof Error?a.message:"Failed startup sync";I.value=c,u.value="startup-sync-failed",t.showToast(c,"error")}finally{f.value=""}}async function O(){try{const a=await fetch("/codex-api/skills-sync/github/logout",{method:"POST"}),c=await a.json();if(!a.ok||!c.ok)throw new Error(c.error||"Failed to logout GitHub");await T(),t.showToast("Logged out from GitHub")}catch(a){t.showToast(a instanceof Error?a.message:"Failed to logout GitHub","error")}}return{deviceLogin:P,isPullInFlight:k,isPushInFlight:y,isStartupSyncInFlight:C,isSyncActionInFlight:$,loadSyncStatus:T,logoutGithub:O,pullSkillsSync:F,pushSkillsSync:A,startupSkillsSync:U,startGithubFirebaseLogin:H,startGithubLogin:L,syncActionError:I,syncActionStatus:u,syncStatus:_}}const Ss={class:"skills-hub"},_s={class:"skills-sync-panel"},$s={class:"skills-sync-header"},Is=["href"],Cs={key:1,class:"skills-sync-badge"},Ts={key:2,class:"skills-sync-badge"},Es={class:"skills-sync-meta"},Ps={key:0,class:"skills-sync-error"},Ls={key:1,class:"skills-sync-meta"},Fs={key:2,class:"skills-sync-error"},As={key:3,class:"skills-sync-device"},Us=["href"],Gs={class:"skills-sync-actions"},Hs=["disabled"],Os=["disabled"],xs=["disabled"],Ds=["disabled"],Ns={key:1,class:"skills-hub-section"},Rs={class:"skills-hub-section-title"},js={key:0,class:"skills-hub-grid"},Ks={class:"skills-hub-toolbar"},Bs={class:"skills-hub-search-wrap"},Ms=["onKeyup"],Js={key:0,class:"skills-hub-count"},Vs={class:"skills-hub-section"},zs={key:0,class:"skills-hub-loading"},Ws={key:1,class:"skills-hub-error"},Qs={key:0,class:"skills-hub-grid"},qs={key:1,class:"skills-hub-empty"},Z="codex-web-local.skills-hub.cache.v1",Zs=le({__name:"SkillsHub",emits:["skills-changed"],setup(t,{emit:P}){const u={name:"",owner:"",description:"",url:"",installed:!1},I=p(null),f=p(""),_=p(""),k=p("date"),y=p([]),C=p([]),$=p(0),T=p(!1),L=p(""),H=p(!0),F=p(!1),A=p(u),U=p(null),O=p(""),a=p(!1),c=p(!1);let d=null;const g=P,E=S(()=>k.value==="date"?"Newest":"A-Z"),N=S(()=>{var s;return((s=U.value)==null?void 0:s.type)==="error"?"skills-hub-toast-error":"skills-hub-toast-success"}),x=S(()=>`${A.value.owner}/${A.value.name}`),D=S(()=>a.value&&O.value===x.value),j=S(()=>c.value&&O.value===x.value),V=S(()=>{if(!w.value.configured)return"";const s=w.value.repoOwner.trim(),e=w.value.repoName.trim();return!s||!e?"":`https://github.com/${encodeURIComponent(s)}/${encodeURIComponent(e)}`}),R=S(()=>{const s=f.value.toLowerCase().trim();return s?C.value.filter(e=>e.name.toLowerCase().includes(s)||e.owner.toLowerCase().includes(s)||(e.displayName??"").toLowerCase().includes(s)):C.value});function G(s,e="success"){U.value={text:s,type:e},d&&clearTimeout(d),d=setTimeout(()=>{U.value=null},3e3)}function K(){k.value=k.value==="date"?"name":"date",B(_.value)}function z(s){return`${k.value}::${s.trim().toLowerCase()}`}function W(s){var e;if(typeof window>"u")return null;try{const n=window.localStorage.getItem(Z);return n?((e=JSON.parse(n).byKey)==null?void 0:e[s])??null:null}catch{return null}}function Q(s,e){if(!(typeof window>"u"))try{const n=window.localStorage.getItem(Z),m=(n?JSON.parse(n):{}).byKey??{};m[s]=e,window.localStorage.setItem(Z,JSON.stringify({byKey:m}))}catch{}}function oe(){if(!(typeof window>"u"))try{window.localStorage.removeItem(Z)}catch{}}function ie(s){const e=s.installed??[];C.value=e;const n=new Set(e.map(v=>v.name));y.value=s.data.map(v=>{if(v.installed||n.has(v.name)){const m=e.find(M=>M.name===v.name);return{...v,installed:!0,path:(m==null?void 0:m.path)??v.path,enabled:(m==null?void 0:m.enabled)??v.enabled}}return v}).filter(v=>!v.installed),$.value=s.total}async function B(s){const e=s.trim();_.value=e;const n=z(e),v=W(n);v&&ie(v),T.value=!v,L.value="";try{const m=new URLSearchParams;e&&m.set("q",e),m.set("limit","100"),m.set("sort",k.value);const M=await fetch(`/codex-api/skills-hub?${m}`);if(!M.ok)throw new Error(`HTTP ${M.status}`);const ye=await M.json();ie(ye),Q(n,ye)}catch(m){L.value=m instanceof Error?m.message:"Failed to load skills"}finally{T.value=!1}}function re(){B(f.value)}function ce(s){A.value=s,F.value=!0}async function _e(s){O.value=`${s.owner}/${s.name}`,a.value=!0;try{const n=await(await fetch("/codex-api/skills-hub/install",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({owner:s.owner,name:s.name})})).json();if(!n.ok)throw new Error(n.error||"Install failed");const v={...s,installed:!0,path:n.path,enabled:!0};C.value=[...C.value,v],y.value=y.value.filter(m=>m.name!==s.name),A.value=v,G(`${s.displayName||s.name} skill installed`),F.value=!1,oe(),g("skills-changed")}catch(e){G(e instanceof Error?e.message:"Failed to install skill","error")}finally{a.value=!1}}async function $e(s){O.value=`${s.owner}/${s.name}`,c.value=!0;try{const n=await(await fetch("/codex-api/skills-hub/uninstall",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:s.name,path:s.path})})).json();if(!n.ok)throw new Error(n.error||"Uninstall failed");C.value=C.value.filter(v=>v.name!==s.name),s.owner!=="local"&&(y.value=[...y.value,{...s,installed:!1,path:void 0,enabled:void 0}]),G(`${s.displayName||s.name} skill uninstalled`),F.value=!1,oe(),g("skills-changed")}catch(e){G(e instanceof Error?e.message:"Failed to uninstall skill","error")}finally{c.value=!1}}async function Ie(s,e){try{if(!(await fetch("/codex-api/rpc",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({method:"skills/config/write",params:{path:s.path,enabled:e}})})).ok)throw new Error("Failed to update skill");await fetch("/codex-api/skills-sync/push",{method:"POST"}),G(`${s.displayName||s.name} skill ${e?"enabled":"disabled"}`),await B(_.value)}catch(n){G(n instanceof Error?n.message:"Failed to update skill","error")}}const{deviceLogin:Y,isPullInFlight:Ce,isPushInFlight:Te,isStartupSyncInFlight:Ee,isSyncActionInFlight:q,loadSyncStatus:Pe,logoutGithub:ue,pullSkillsSync:de,pushSkillsSync:he,startupSkillsSync:ke,startGithubFirebaseLogin:ve,startGithubLogin:pe,syncActionError:be,syncActionStatus:fe,syncStatus:w}=ws({showToast:G,onPulled:async()=>{await B(_.value),g("skills-changed")}});return Ge(()=>{B(""),Pe()}),(s,e)=>(l(),r("div",Ss,[e[12]||(e[12]=o("div",{class:"skills-hub-header"},[o("h2",{class:"skills-hub-title"},"Skills Hub"),o("p",{class:"skills-hub-subtitle"},"Browse and discover skills from the OpenClaw community")],-1)),o("div",_s,[o("div",$s,[e[9]||(e[9]=o("strong",null,"Skills Sync (GitHub)",-1)),i(w).configured&&V.value?(l(),r("a",{key:0,class:"skills-sync-badge skills-sync-badge-link",href:V.value,target:"_blank",rel:"noopener noreferrer"}," Connected: "+h(i(w).repoOwner)+"/"+h(i(w).repoName),9,Is)):i(w).loggedIn?(l(),r("span",Cs,"Logged in as "+h(i(w).githubUsername),1)):(l(),r("span",Ts,"Not connected"))]),o("div",Es,[o("span",null,"Startup: "+h(i(w).startup.mode),1),o("span",null,"Branch: "+h(i(w).startup.branch),1),o("span",null,"Action: "+h(i(w).startup.lastAction),1)]),i(w).startup.lastError?(l(),r("div",Ps,h(i(w).startup.lastError),1)):b("",!0),i(fe)?(l(),r("div",Ls,[o("span",null,"Manual sync: "+h(i(fe)),1)])):b("",!0),i(be)?(l(),r("div",Fs,h(i(be)),1)):b("",!0),i(Y)?(l(),r("div",As,[o("span",null,[e[10]||(e[10]=ge("Open ",-1)),o("a",{href:i(Y).verification_uri,target:"_blank",rel:"noreferrer"},"GitHub device login",8,Us),e[11]||(e[11]=ge(" and enter code:",-1))]),o("code",null,h(i(Y).user_code),1)])):b("",!0),o("div",Gs,[i(w).loggedIn?b("",!0):(l(),r("button",{key:0,class:"skills-hub-sort",type:"button",onClick:e[0]||(e[0]=(...n)=>i(ve)&&i(ve)(...n))},"Login with GitHub")),i(w).loggedIn?b("",!0):(l(),r("button",{key:1,class:"skills-hub-sort",type:"button",onClick:e[1]||(e[1]=(...n)=>i(pe)&&i(pe)(...n))},"Device Login")),i(w).loggedIn?(l(),r("button",{key:2,class:"skills-hub-sort",type:"button",onClick:e[2]||(e[2]=(...n)=>i(ue)&&i(ue)(...n)),disabled:i(q)},"Logout GitHub",8,Hs)):b("",!0),o("button",{class:"skills-hub-sort",type:"button",onClick:e[3]||(e[3]=(...n)=>i(ke)&&i(ke)(...n)),disabled:i(q)},h(i(Ee)?"Syncing...":"Startup Sync"),9,Os),o("button",{class:"skills-hub-sort",type:"button",onClick:e[4]||(e[4]=(...n)=>i(de)&&i(de)(...n)),disabled:i(q)},h(i(Ce)?"Pulling...":"Pull"),9,xs),i(w).loggedIn?(l(),r("button",{key:3,class:"skills-hub-sort",type:"button",onClick:e[5]||(e[5]=(...n)=>i(he)&&i(he)(...n)),disabled:!i(w).configured||i(q)},h(i(Te)?"Pushing...":"Push"),9,Ds)):b("",!0)])]),U.value?(l(),r("div",{key:0,class:se(["skills-hub-toast",N.value])},h(U.value.text),3)):b("",!0),R.value.length>0?(l(),r("div",Ns,[o("button",{class:"skills-hub-section-toggle",type:"button",onClick:e[6]||(e[6]=n=>H.value=!H.value)},[o("span",Rs,"Installed ("+h(R.value.length)+")",1),J(He,{class:se(["skills-hub-section-chevron",{"is-open":H.value}])},null,8,["class"])]),H.value?(l(),r("div",js,[(l(!0),r(X,null,we(R.value,n=>(l(),te(Se,{key:n.name,skill:n,onSelect:v=>ce(v)},null,8,["skill","onSelect"]))),128))])):b("",!0)])):b("",!0),o("div",Ks,[o("div",Bs,[J(Oe,{class:"skills-hub-search-icon"}),xe(o("input",{ref_key:"searchRef",ref:I,"onUpdate:modelValue":e[7]||(e[7]=n=>f.value=n),class:"skills-hub-search",type:"text",placeholder:"Search skills... (e.g. flight, docker, react)",onKeyup:Ne(ae(re,["prevent"]),["enter"])},null,40,Ms),[[De,f.value]]),o("button",{class:"skills-hub-search-btn",type:"button",onClick:re},"Search"),$.value>0?(l(),r("span",Js,h($.value)+" skills",1)):b("",!0)]),o("button",{class:"skills-hub-sort",type:"button",onClick:K},h(E.value),1)]),o("div",Vs,[T.value?(l(),r("div",zs,"Loading skills...")):L.value?(l(),r("div",Ws,h(L.value),1)):(l(),r(X,{key:2},[y.value.length>0?(l(),r("div",Qs,[(l(!0),r(X,null,we(y.value,n=>(l(),te(Se,{key:n.url,skill:n,onSelect:v=>ce(v)},null,8,["skill","onSelect"]))),128))])):_.value.trim()?(l(),r("div",qs,'No skills found for "'+h(_.value)+'"',1)):b("",!0)],64))]),J(ys,{skill:A.value,visible:F.value,"is-installing":D.value,"is-uninstalling":j.value,onClose:e[8]||(e[8]=n=>F.value=!1),onInstall:_e,onUninstall:$e,onToggleEnabled:Ie},null,8,["skill","visible","is-installing","is-uninstalling"])]))}}),Xs=ne(Zs,[["__scopeId","data-v-77953f50"]]);export{Xs as default};
@@ -1 +0,0 @@
1
- @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){[data-v-49ed14e0],[data-v-49ed14e0]:before,[data-v-49ed14e0]:after,[data-v-49ed14e0]::backdrop{--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-font-weight:initial;--tw-leading:initial}}}.skill-card[data-v-49ed14e0]{cursor:pointer;gap:calc(var(--spacing,.25rem) * 1.5);border-radius:var(--radius-xl,.75rem);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-zinc-200,oklch(92% .004 286.32));background-color:var(--color-white,#fff);padding:calc(var(--spacing,.25rem) * 3);text-align:left;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));flex-direction:column;display:flex}@media(hover:hover){.skill-card[data-v-49ed14e0]:hover{border-color:var(--color-zinc-300,oklch(87.1% .006 286.286));--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.skill-card.is-disabled[data-v-49ed14e0]{opacity:.5}.skill-card-top[data-v-49ed14e0]{align-items:flex-start;gap:calc(var(--spacing,.25rem) * 2.5);display:flex}.skill-card-avatar[data-v-49ed14e0]{height:calc(var(--spacing,.25rem) * 8);width:calc(var(--spacing,.25rem) * 8);background-color:var(--color-zinc-100,oklch(96.7% .001 286.375));border-radius:3.40282e38px;flex-shrink:0}.skill-card-avatar-fallback[data-v-49ed14e0]{height:calc(var(--spacing,.25rem) * 8);width:calc(var(--spacing,.25rem) * 8);background-color:var(--color-zinc-200,oklch(92% .004 286.32));font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);color:var(--color-zinc-500,oklch(55.2% .016 285.938));text-transform:uppercase;border-radius:3.40282e38px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.skill-card-info[data-v-49ed14e0]{min-width:calc(var(--spacing,.25rem) * 0);gap:calc(var(--spacing,.25rem) * .5);flex-direction:column;flex:1;display:flex}.skill-card-header[data-v-49ed14e0]{align-items:center;gap:calc(var(--spacing,.25rem) * 2);display:flex}.skill-card-name[data-v-49ed14e0]{text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);color:var(--color-zinc-900,oklch(21% .006 285.885));overflow:hidden}.skill-card-badge[data-v-49ed14e0]{border-radius:var(--radius-md,.375rem);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-emerald-200,oklch(90.5% .093 164.15));background-color:var(--color-emerald-50,oklch(97.9% .021 166.113));padding-inline:calc(var(--spacing,.25rem) * 1.5);padding-block:calc(var(--spacing,.25rem) * .5);--tw-leading:1;--tw-font-weight:var(--font-weight-medium,500);font-size:10px;line-height:1;font-weight:var(--font-weight-medium,500);color:var(--color-emerald-700,oklch(50.8% .118 165.612));flex-shrink:0}.skill-card-badge-disabled[data-v-49ed14e0]{border-radius:var(--radius-md,.375rem);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-zinc-200,oklch(92% .004 286.32));background-color:var(--color-zinc-100,oklch(96.7% .001 286.375));padding-inline:calc(var(--spacing,.25rem) * 1.5);padding-block:calc(var(--spacing,.25rem) * .5);--tw-leading:1;--tw-font-weight:var(--font-weight-medium,500);font-size:10px;line-height:1;font-weight:var(--font-weight-medium,500);color:var(--color-zinc-500,oklch(55.2% .016 285.938));flex-shrink:0}.skill-card-owner[data-v-49ed14e0]{font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));color:var(--color-zinc-400,oklch(70.5% .015 286.067))}.skill-card-browse[data-v-49ed14e0]{height:calc(var(--spacing,.25rem) * 7);width:calc(var(--spacing,.25rem) * 7);border-radius:var(--radius-lg,.5rem);border-style:var(--tw-border-style);color:var(--color-zinc-300,oklch(87.1% .006 286.286));transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));background-color:#0000;border-width:0;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;display:flex}@media(hover:hover){.skill-card-browse[data-v-49ed14e0]:hover{background-color:var(--color-zinc-100,oklch(96.7% .001 286.375));color:var(--color-zinc-600,oklch(44.2% .017 285.786))}}.skill-card-browse-icon[data-v-49ed14e0]{height:calc(var(--spacing,.25rem) * 4);width:calc(var(--spacing,.25rem) * 4)}.skill-card-desc[data-v-49ed14e0]{margin:calc(var(--spacing,.25rem) * 0);-webkit-line-clamp:2;font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));color:var(--color-zinc-500,oklch(55.2% .016 285.938));-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.skill-card-date[data-v-49ed14e0]{color:var(--color-zinc-300,oklch(87.1% .006 286.286));font-size:10px}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){[data-v-c758a719],[data-v-c758a719]:before,[data-v-c758a719]:after,[data-v-c758a719]::backdrop{--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-font-weight:initial;--tw-border-style:solid;--tw-leading:initial}}}.sdm-overlay[data-v-c758a719]{inset:calc(var(--spacing,.25rem) * 0);z-index:50;background-color:#0006;justify-content:center;align-items:flex-end;display:flex;position:fixed}@supports (color:color-mix(in lab,red,red)){.sdm-overlay[data-v-c758a719]{background-color:color-mix(in oklab,var(--color-black,#000) 40%,transparent)}}@media(min-width:40rem){.sdm-overlay[data-v-c758a719]{align-items:center}}.sdm-panel[data-v-c758a719]{width:100%;max-height:90vh;max-width:var(--container-lg,32rem);border-top-left-radius:var(--radius-2xl,1rem);border-top-right-radius:var(--radius-2xl,1rem);background-color:var(--color-white,#fff);--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);flex-direction:column;display:flex;overflow:hidden}@media(min-width:40rem){.sdm-panel[data-v-c758a719]{border-radius:var(--radius-2xl,1rem);max-height:80vh}}.sdm-header[data-v-c758a719]{justify-content:space-between;align-items:flex-start;gap:calc(var(--spacing,.25rem) * 3);padding:calc(var(--spacing,.25rem) * 4);padding-bottom:calc(var(--spacing,.25rem) * 3);flex-shrink:0;display:flex}@media(min-width:40rem){.sdm-header[data-v-c758a719]{padding:calc(var(--spacing,.25rem) * 5)}}.sdm-title-area[data-v-c758a719]{min-width:calc(var(--spacing,.25rem) * 0);align-items:center;gap:calc(var(--spacing,.25rem) * 3);display:flex}.sdm-avatar[data-v-c758a719]{height:calc(var(--spacing,.25rem) * 10);width:calc(var(--spacing,.25rem) * 10);background-color:var(--color-zinc-100,oklch(96.7% .001 286.375));border-radius:3.40282e38px;flex-shrink:0}.sdm-title-col[data-v-c758a719]{min-width:calc(var(--spacing,.25rem) * 0);gap:calc(var(--spacing,.25rem) * .5);flex-direction:column;display:flex}.sdm-title-row[data-v-c758a719]{min-width:calc(var(--spacing,.25rem) * 0);align-items:center;gap:calc(var(--spacing,.25rem) * 2);display:flex}.sdm-title[data-v-c758a719]{margin:calc(var(--spacing,.25rem) * 0);text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-lg,1.125rem);line-height:var(--tw-leading,var(--text-lg--line-height,calc(1.75 / 1.125)));--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600);color:var(--color-zinc-900,oklch(21% .006 285.885));overflow:hidden}.sdm-badge-disabled[data-v-c758a719]{border-radius:var(--radius-md,.375rem);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-zinc-200,oklch(92% .004 286.32));background-color:var(--color-zinc-100,oklch(96.7% .001 286.375));padding-inline:calc(var(--spacing,.25rem) * 1.5);padding-block:calc(var(--spacing,.25rem) * .5);--tw-leading:1;--tw-font-weight:var(--font-weight-medium,500);font-size:10px;line-height:1;font-weight:var(--font-weight-medium,500);color:var(--color-zinc-500,oklch(55.2% .016 285.938));flex-shrink:0}.sdm-owner[data-v-c758a719]{font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));color:var(--color-zinc-400,oklch(70.5% .015 286.067))}.sdm-close[data-v-c758a719]{height:calc(var(--spacing,.25rem) * 7);width:calc(var(--spacing,.25rem) * 7);border-radius:var(--radius-lg,.5rem);border-style:var(--tw-border-style);color:var(--color-zinc-400,oklch(70.5% .015 286.067));transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));background-color:#0000;border-width:0;flex-shrink:0;justify-content:center;align-items:center;display:flex}@media(hover:hover){.sdm-close[data-v-c758a719]:hover{background-color:var(--color-zinc-100,oklch(96.7% .001 286.375));color:var(--color-zinc-700,oklch(37% .013 285.805))}}.sdm-close-icon[data-v-c758a719]{height:calc(var(--spacing,.25rem) * 4);width:calc(var(--spacing,.25rem) * 4)}.sdm-body[data-v-c758a719]{min-height:calc(var(--spacing,.25rem) * 0);gap:calc(var(--spacing,.25rem) * 3);padding:calc(var(--spacing,.25rem) * 4);padding-top:calc(var(--spacing,.25rem) * 0);flex-direction:column;flex:1;display:flex;overflow-y:auto}@media(min-width:40rem){.sdm-body[data-v-c758a719]{padding:calc(var(--spacing,.25rem) * 5)}}.sdm-desc[data-v-c758a719]{margin:calc(var(--spacing,.25rem) * 0);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));--tw-leading:var(--leading-relaxed,1.625);line-height:var(--leading-relaxed,1.625);color:var(--color-zinc-600,oklch(44.2% .017 285.786))}.sdm-readme-loading[data-v-c758a719]{font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));color:var(--color-zinc-400,oklch(70.5% .015 286.067))}.sdm-readme[data-v-c758a719]{border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--color-zinc-100,oklch(96.7% .001 286.375));padding-top:calc(var(--spacing,.25rem) * 3);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));--tw-leading:var(--leading-relaxed,1.625);line-height:var(--leading-relaxed,1.625);color:var(--color-zinc-700,oklch(37% .013 285.805))}.sdm-readme[data-v-c758a719] h2{margin-top:calc(var(--spacing,.25rem) * 3);margin-bottom:calc(var(--spacing,.25rem) * 1);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600);color:var(--color-zinc-800,oklch(27.4% .006 286.033))}.sdm-readme[data-v-c758a719] h3{margin-top:calc(var(--spacing,.25rem) * 2);margin-bottom:calc(var(--spacing,.25rem) * 1);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600);color:var(--color-zinc-700,oklch(37% .013 285.805))}.sdm-readme[data-v-c758a719] h4{margin-top:calc(var(--spacing,.25rem) * 2);margin-bottom:calc(var(--spacing,.25rem) * .5);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);color:var(--color-zinc-600,oklch(44.2% .017 285.786))}.sdm-readme[data-v-c758a719] code{background-color:var(--color-zinc-100,oklch(96.7% .001 286.375));padding-inline:calc(var(--spacing,.25rem) * 1);padding-block:calc(var(--spacing,.25rem) * .5);font-family:var(--font-mono,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);border-radius:.25rem;font-size:11px}.sdm-readme[data-v-c758a719] ul{margin:calc(var(--spacing,.25rem) * 0);padding-left:calc(var(--spacing,.25rem) * 4);list-style-type:disc}.sdm-readme[data-v-c758a719] li{margin-bottom:calc(var(--spacing,.25rem) * .5)}.sdm-readme[data-v-c758a719] strong{--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600)}.sdm-link[data-v-c758a719]{font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));color:var(--color-blue-600,oklch(54.6% .245 262.881));flex-shrink:0;text-decoration-line:none}@media(hover:hover){.sdm-link[data-v-c758a719]:hover{color:var(--color-blue-700,oklch(48.8% .243 264.376));text-decoration-line:underline}}.sdm-footer[data-v-c758a719]{border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--color-zinc-100,oklch(96.7% .001 286.375));padding:calc(var(--spacing,.25rem) * 4);padding-top:calc(var(--spacing,.25rem) * 3);flex-shrink:0}@media(min-width:40rem){.sdm-footer[data-v-c758a719]{padding:calc(var(--spacing,.25rem) * 5)}}.sdm-footer-actions[data-v-c758a719]{align-items:center;gap:calc(var(--spacing,.25rem) * 2);display:flex}.sdm-btn[data-v-c758a719]{border-radius:var(--radius-lg,.5rem);border-style:var(--tw-border-style);padding-inline:calc(var(--spacing,.25rem) * 3);padding-block:calc(var(--spacing,.25rem) * 1.5);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));border-width:0}.sdm-btn[data-v-c758a719]:disabled{cursor:not-allowed;opacity:.5}.sdm-btn-primary[data-v-c758a719]{background-color:var(--color-zinc-900,oklch(21% .006 285.885));color:var(--color-white,#fff)}@media(hover:hover){.sdm-btn-primary[data-v-c758a719]:hover{background-color:var(--color-black,#000)}}.sdm-btn-danger[data-v-c758a719]{background-color:var(--color-rose-600,oklch(58.6% .253 17.585));color:var(--color-white,#fff)}@media(hover:hover){.sdm-btn-danger[data-v-c758a719]:hover{background-color:var(--color-rose-700,oklch(51.4% .222 16.935))}}.sdm-btn-secondary[data-v-c758a719]{background-color:var(--color-zinc-100,oklch(96.7% .001 286.375));color:var(--color-zinc-700,oklch(37% .013 285.805))}@media(hover:hover){.sdm-btn-secondary[data-v-c758a719]:hover{background-color:var(--color-zinc-200,oklch(92% .004 286.32))}}@property --tw-leading{syntax:"*";inherits:false}/*! tailwindcss v4.2.4 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){[data-v-77953f50],[data-v-77953f50]:before,[data-v-77953f50]:after,[data-v-77953f50]::backdrop{--tw-font-weight:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}.skills-hub[data-v-77953f50]{width:100%;height:100%;max-width:var(--container-4xl,56rem);gap:calc(var(--spacing,.25rem) * 3);padding:calc(var(--spacing,.25rem) * 3);flex-direction:column;margin-inline:auto;display:flex;overflow-y:auto}@media(min-width:40rem){.skills-hub[data-v-77953f50]{gap:calc(var(--spacing,.25rem) * 4);padding:calc(var(--spacing,.25rem) * 6)}}.skills-hub-header[data-v-77953f50]{gap:calc(var(--spacing,.25rem) * 1);flex-direction:column;display:flex}.skills-hub-title[data-v-77953f50]{margin:calc(var(--spacing,.25rem) * 0);font-size:var(--text-xl,1.25rem);line-height:var(--tw-leading,var(--text-xl--line-height,calc(1.75 / 1.25)));--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600);color:var(--color-zinc-900,oklch(21% .006 285.885))}@media(min-width:40rem){.skills-hub-title[data-v-77953f50]{font-size:var(--text-2xl,1.5rem);line-height:var(--tw-leading,var(--text-2xl--line-height,calc(2 / 1.5)))}}.skills-hub-subtitle[data-v-77953f50]{margin:calc(var(--spacing,.25rem) * 0);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));color:var(--color-zinc-500,oklch(55.2% .016 285.938))}.skills-hub-toolbar[data-v-77953f50]{align-items:stretch;gap:calc(var(--spacing,.25rem) * 2);flex-direction:column;display:flex}@media(min-width:40rem){.skills-hub-toolbar[data-v-77953f50]{flex-direction:row;align-items:center}}.skills-hub-search-wrap[data-v-77953f50]{align-items:center;gap:calc(var(--spacing,.25rem) * 2);border-radius:var(--radius-xl,.75rem);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-zinc-200,oklch(92% .004 286.32));background-color:var(--color-white,#fff);padding-inline:calc(var(--spacing,.25rem) * 3);padding-block:calc(var(--spacing,.25rem) * 2);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));flex:1;display:flex}.skills-hub-search-wrap[data-v-77953f50]:focus-within{border-color:var(--color-zinc-400,oklch(70.5% .015 286.067));--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.skills-hub-search-icon[data-v-77953f50]{height:calc(var(--spacing,.25rem) * 4);width:calc(var(--spacing,.25rem) * 4);color:var(--color-zinc-400,oklch(70.5% .015 286.067));flex-shrink:0}.skills-hub-search[data-v-77953f50]{min-width:calc(var(--spacing,.25rem) * 0);--tw-border-style:none;padding:calc(var(--spacing,.25rem) * 0);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));color:var(--color-zinc-800,oklch(27.4% .006 286.033));background-color:#0000;border-style:none;flex:1}.skills-hub-search[data-v-77953f50]::placeholder{color:var(--color-zinc-400,oklch(70.5% .015 286.067))}.skills-hub-search[data-v-77953f50]{--tw-outline-style:none;outline-style:none}.skills-hub-search-btn[data-v-77953f50]{cursor:pointer;border-radius:var(--radius-md,.375rem);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-zinc-200,oklch(92% .004 286.32));background-color:var(--color-white,#fff);padding-inline:calc(var(--spacing,.25rem) * 2);padding-block:calc(var(--spacing,.25rem) * 1);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);color:var(--color-zinc-600,oklch(44.2% .017 285.786));transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));flex-shrink:0}@media(hover:hover){.skills-hub-search-btn[data-v-77953f50]:hover{border-color:var(--color-zinc-300,oklch(87.1% .006 286.286));background-color:var(--color-zinc-50,oklch(98.5% 0 0))}}.skills-hub-count[data-v-77953f50]{font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));white-space:nowrap;color:var(--color-zinc-400,oklch(70.5% .015 286.067))}.skills-hub-sort[data-v-77953f50]{cursor:pointer;border-radius:var(--radius-lg,.5rem);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-zinc-200,oklch(92% .004 286.32));background-color:var(--color-white,#fff);padding-inline:calc(var(--spacing,.25rem) * 2.5);padding-block:calc(var(--spacing,.25rem) * 1.5);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);color:var(--color-zinc-600,oklch(44.2% .017 285.786));transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));flex-shrink:0}@media(hover:hover){.skills-hub-sort[data-v-77953f50]:hover{border-color:var(--color-zinc-300,oklch(87.1% .006 286.286));background-color:var(--color-zinc-50,oklch(98.5% 0 0))}}.skills-sync-panel[data-v-77953f50]{gap:calc(var(--spacing,.25rem) * 2);border-radius:var(--radius-xl,.75rem);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-zinc-200,oklch(92% .004 286.32));background-color:var(--color-zinc-50,oklch(98.5% 0 0));padding:calc(var(--spacing,.25rem) * 3);flex-direction:column;display:flex}.skills-sync-header[data-v-77953f50]{align-items:center;gap:calc(var(--spacing,.25rem) * 2);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));color:var(--color-zinc-700,oklch(37% .013 285.805));flex-wrap:wrap;display:flex}.skills-sync-badge[data-v-77953f50]{border-radius:var(--radius-md,.375rem);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-zinc-300,oklch(87.1% .006 286.286));background-color:var(--color-white,#fff);padding-inline:calc(var(--spacing,.25rem) * 2);padding-block:calc(var(--spacing,.25rem) * .5);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)))}.skills-sync-badge-link[data-v-77953f50]{color:var(--color-zinc-700,oklch(37% .013 285.805))}@media(hover:hover){.skills-sync-badge-link[data-v-77953f50]:hover{border-color:var(--color-zinc-400,oklch(70.5% .015 286.067));color:var(--color-zinc-900,oklch(21% .006 285.885))}}.skills-sync-device[data-v-77953f50]{align-items:center;gap:calc(var(--spacing,.25rem) * 2);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));color:var(--color-zinc-600,oklch(44.2% .017 285.786));flex-wrap:wrap;display:flex}.skills-sync-meta[data-v-77953f50]{align-items:center;gap:calc(var(--spacing,.25rem) * 3);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));color:var(--color-zinc-600,oklch(44.2% .017 285.786));flex-wrap:wrap;display:flex}.skills-sync-error[data-v-77953f50]{border-radius:var(--radius-md,.375rem);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-rose-200,oklch(89.2% .058 10.001));background-color:var(--color-rose-50,oklch(96.9% .015 12.422));padding-inline:calc(var(--spacing,.25rem) * 2);padding-block:calc(var(--spacing,.25rem) * 1);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));color:var(--color-rose-700,oklch(51.4% .222 16.935))}.skills-sync-actions[data-v-77953f50]{gap:calc(var(--spacing,.25rem) * 2);flex-wrap:wrap;display:flex}.skills-hub-toast[data-v-77953f50]{border-radius:var(--radius-lg,.5rem);padding-inline:calc(var(--spacing,.25rem) * 3);padding-block:calc(var(--spacing,.25rem) * 2);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500)}.skills-hub-toast-success[data-v-77953f50]{border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-emerald-200,oklch(90.5% .093 164.15));background-color:var(--color-emerald-50,oklch(97.9% .021 166.113));color:var(--color-emerald-700,oklch(50.8% .118 165.612))}.skills-hub-toast-error[data-v-77953f50]{border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-rose-200,oklch(89.2% .058 10.001));background-color:var(--color-rose-50,oklch(96.9% .015 12.422));color:var(--color-rose-700,oklch(51.4% .222 16.935))}.skills-hub-section[data-v-77953f50]{gap:calc(var(--spacing,.25rem) * 2);flex-direction:column;display:flex}.skills-hub-section-toggle[data-v-77953f50]{cursor:pointer;align-items:center;gap:calc(var(--spacing,.25rem) * 1.5);border-style:var(--tw-border-style);padding:calc(var(--spacing,.25rem) * 0);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);color:var(--color-zinc-600,oklch(44.2% .017 285.786));transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));background-color:#0000;border-width:0;display:flex}@media(hover:hover){.skills-hub-section-toggle[data-v-77953f50]:hover{color:var(--color-zinc-900,oklch(21% .006 285.885))}}.skills-hub-section-title[data-v-77953f50]{font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500)}.skills-hub-section-chevron[data-v-77953f50]{height:calc(var(--spacing,.25rem) * 3.5);width:calc(var(--spacing,.25rem) * 3.5);transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s))}.skills-hub-section-chevron.is-open[data-v-77953f50]{rotate:90deg}.skills-hub-grid[data-v-77953f50]{gap:calc(var(--spacing,.25rem) * 3);grid-template-columns:repeat(1,minmax(0,1fr));display:grid}@media(min-width:40rem){.skills-hub-grid[data-v-77953f50]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:64rem){.skills-hub-grid[data-v-77953f50]{grid-template-columns:repeat(3,minmax(0,1fr))}}.skills-hub-loading[data-v-77953f50]{padding-block:calc(var(--spacing,.25rem) * 8);text-align:center;font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));color:var(--color-zinc-400,oklch(70.5% .015 286.067))}.skills-hub-error[data-v-77953f50]{border-radius:var(--radius-lg,.5rem);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-rose-200,oklch(89.2% .058 10.001));background-color:var(--color-rose-50,oklch(96.9% .015 12.422));padding-block:calc(var(--spacing,.25rem) * 4);text-align:center;font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));color:var(--color-rose-600,oklch(58.6% .253 17.585))}.skills-hub-empty[data-v-77953f50]{padding-block:calc(var(--spacing,.25rem) * 8);text-align:center;font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));color:var(--color-zinc-400,oklch(70.5% .015 286.067))}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}
@@ -1 +0,0 @@
1
- /*! tailwindcss v4.2.4 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){[data-v-4e7bdbb5],[data-v-4e7bdbb5]:before,[data-v-4e7bdbb5]:after,[data-v-4e7bdbb5]::backdrop{--tw-border-style:solid;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-leading:initial;--tw-font-weight:initial;--tw-duration:initial;--tw-tracking:initial;--tw-border-spacing-x:0;--tw-border-spacing-y:0}}}.conversation-root[data-v-4e7bdbb5]{height:100%;min-height:calc(var(--spacing,.25rem) * 0);min-width:calc(var(--spacing,.25rem) * 0);--tw-border-style:none;padding:calc(var(--spacing,.25rem) * 0);background-color:#0000;border-style:none;border-radius:0;flex-direction:column;display:flex;position:relative;overflow:hidden}.conversation-loading[data-v-4e7bdbb5],.conversation-empty[data-v-4e7bdbb5]{margin:calc(var(--spacing,.25rem) * 0);padding-inline:calc(var(--spacing,.25rem) * 6);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));color:var(--color-slate-500,oklch(55.4% .046 257.417))}.conversation-list[data-v-4e7bdbb5]{margin:calc(var(--spacing,.25rem) * 0);height:100%;min-height:calc(var(--spacing,.25rem) * 0);gap:calc(var(--spacing,.25rem) * 2);padding-inline:calc(var(--spacing,.25rem) * 2);padding-block:calc(var(--spacing,.25rem) * 0);flex-direction:column;list-style-type:none;display:flex;overflow:visible auto}@media(min-width:40rem){.conversation-list[data-v-4e7bdbb5]{gap:calc(var(--spacing,.25rem) * 3);padding-inline:calc(var(--spacing,.25rem) * 6)}}.conversation-load-more[data-v-4e7bdbb5]{margin:calc(var(--spacing,.25rem) * 0);padding-block:calc(var(--spacing,.25rem) * 3);justify-content:center;display:flex}.load-more-button[data-v-4e7bdbb5]{cursor:pointer;border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-300,oklch(86.9% .022 252.894));padding-inline:calc(var(--spacing,.25rem) * 4);padding-block:calc(var(--spacing,.25rem) * 1.5);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));color:var(--color-slate-500,oklch(55.4% .046 257.417));transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));background-color:#0000;border-radius:3.40282e38px}@media(hover:hover){.load-more-button[data-v-4e7bdbb5]:hover{background-color:var(--color-slate-100,oklch(96.8% .007 247.896))}}.load-more-button[data-v-4e7bdbb5]:disabled{cursor:not-allowed;opacity:.4}@media(prefers-color-scheme:dark){.load-more-button[data-v-4e7bdbb5]{border-color:var(--color-slate-600,oklch(44.6% .043 257.281));color:var(--color-slate-400,oklch(70.4% .04 256.788))}@media(hover:hover){.load-more-button[data-v-4e7bdbb5]:hover{background-color:var(--color-slate-800,oklch(27.9% .041 260.031))}}}.conversation-item[data-v-4e7bdbb5]{margin:calc(var(--spacing,.25rem) * 0);width:100%;min-width:calc(var(--spacing,.25rem) * 0);display:flex}.conversation-item-request[data-v-4e7bdbb5],.conversation-item-overlay[data-v-4e7bdbb5]{justify-content:center}.message-row[data-v-4e7bdbb5]{width:100%;max-width:min(var(--chat-column-max,45rem),100%);min-width:calc(var(--spacing,.25rem) * 0);margin-inline:auto;display:flex;position:relative}.message-row[data-role=user][data-v-4e7bdbb5]{justify-content:flex-end}.message-row[data-role=assistant][data-v-4e7bdbb5],.message-row[data-role=system][data-v-4e7bdbb5]{justify-content:flex-start}.conversation-bottom-anchor[data-v-4e7bdbb5]{height:1px}.jump-to-latest-button[data-v-4e7bdbb5]{bottom:calc(var(--spacing,.25rem) * 4);z-index:20;height:calc(var(--spacing,.25rem) * 11);width:calc(var(--spacing,.25rem) * 11);--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-300,oklch(86.9% .022 252.894));background-color:#fffffff5;border-radius:3.40282e38px;justify-content:center;align-items:center;display:inline-flex;position:absolute;left:50%}@supports (color:color-mix(in lab,red,red)){.jump-to-latest-button[data-v-4e7bdbb5]{background-color:color-mix(in oklab,var(--color-white,#fff) 96%,transparent)}}.jump-to-latest-button[data-v-4e7bdbb5]{color:var(--color-slate-700,oklch(37.2% .044 257.287));--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-shadow-color:#0f172b1a}@supports (color:color-mix(in lab,red,red)){.jump-to-latest-button[data-v-4e7bdbb5]{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-slate-900,oklch(20.8% .042 265.755)) 10%, transparent) var(--tw-shadow-alpha), transparent)}}.jump-to-latest-button[data-v-4e7bdbb5]{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s))}@media(hover:hover){.jump-to-latest-button[data-v-4e7bdbb5]:hover{--tw-translate-x: -50% ;--tw-translate-y:calc(var(--spacing,.25rem) * -.5);translate:var(--tw-translate-x) var(--tw-translate-y);background-color:var(--color-white,#fff);color:var(--color-slate-900,oklch(20.8% .042 265.755))}}.jump-to-latest-icon[data-v-4e7bdbb5]{transform:rotate(180deg)}.message-stack[data-v-4e7bdbb5]{width:100%;min-width:calc(var(--spacing,.25rem) * 0);flex-direction:column;display:flex}.request-card[data-v-4e7bdbb5]{width:100%;max-width:min(var(--chat-column-max,45rem),100%);gap:calc(var(--spacing,.25rem) * 2);border-radius:var(--radius-xl,.75rem);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-amber-300,oklch(87.9% .169 91.605));background-color:var(--color-amber-50,oklch(98.7% .022 95.277));padding-inline:calc(var(--spacing,.25rem) * 4);padding-block:calc(var(--spacing,.25rem) * 3);flex-direction:column;display:flex}.request-title[data-v-4e7bdbb5]{margin:calc(var(--spacing,.25rem) * 0);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));--tw-leading:calc(var(--spacing,.25rem) * 5);line-height:calc(var(--spacing,.25rem) * 5);--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600);color:var(--color-amber-900,oklch(41.4% .112 45.904))}.request-meta[data-v-4e7bdbb5]{margin:calc(var(--spacing,.25rem) * 0);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));--tw-leading:calc(var(--spacing,.25rem) * 4);line-height:calc(var(--spacing,.25rem) * 4);color:var(--color-amber-700,oklch(55.5% .163 48.998))}.request-reason[data-v-4e7bdbb5]{margin:calc(var(--spacing,.25rem) * 0);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));--tw-leading:calc(var(--spacing,.25rem) * 5);line-height:calc(var(--spacing,.25rem) * 5);overflow-wrap:break-word;white-space:pre-wrap;color:var(--color-amber-900,oklch(41.4% .112 45.904));overflow-wrap:anywhere}.request-actions[data-v-4e7bdbb5]{gap:calc(var(--spacing,.25rem) * 2);flex-wrap:wrap;display:flex}.request-button[data-v-4e7bdbb5]{border-radius:var(--radius-md,.375rem);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-amber-300,oklch(87.9% .169 91.605));background-color:var(--color-white,#fff);padding-inline:calc(var(--spacing,.25rem) * 3);padding-block:calc(var(--spacing,.25rem) * 1.5);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));color:var(--color-amber-900,oklch(41.4% .112 45.904));transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s))}@media(hover:hover){.request-button[data-v-4e7bdbb5]:hover{background-color:var(--color-amber-100,oklch(96.2% .059 95.617))}}.request-button-primary[data-v-4e7bdbb5]{border-color:var(--color-amber-500,oklch(76.9% .188 70.08));background-color:var(--color-amber-500,oklch(76.9% .188 70.08));color:var(--color-white,#fff)}@media(hover:hover){.request-button-primary[data-v-4e7bdbb5]:hover{background-color:var(--color-amber-600,oklch(66.6% .179 58.318))}}.request-user-input[data-v-4e7bdbb5]{gap:calc(var(--spacing,.25rem) * 3);flex-direction:column;display:flex}.request-question[data-v-4e7bdbb5]{gap:calc(var(--spacing,.25rem) * 1);flex-direction:column;display:flex}.request-question-title[data-v-4e7bdbb5]{margin:calc(var(--spacing,.25rem) * 0);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));--tw-leading:calc(var(--spacing,.25rem) * 5);line-height:calc(var(--spacing,.25rem) * 5);--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);color:var(--color-amber-900,oklch(41.4% .112 45.904))}.request-question-text[data-v-4e7bdbb5]{margin:calc(var(--spacing,.25rem) * 0);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));--tw-leading:calc(var(--spacing,.25rem) * 4);line-height:calc(var(--spacing,.25rem) * 4);color:var(--color-amber-800,oklch(47.3% .137 46.201))}.request-question-option-description[data-v-4e7bdbb5]{margin:calc(var(--spacing,.25rem) * 0);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));--tw-leading:calc(var(--spacing,.25rem) * 4);line-height:calc(var(--spacing,.25rem) * 4);color:var(--color-amber-700,oklch(55.5% .163 48.998))}.request-link[data-v-4e7bdbb5]{border-radius:var(--radius-md,.375rem);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-amber-300,oklch(87.9% .169 91.605));background-color:var(--color-white,#fff);width:fit-content;padding-inline:calc(var(--spacing,.25rem) * 3);padding-block:calc(var(--spacing,.25rem) * 1.5);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));color:var(--color-amber-900,oklch(41.4% .112 45.904));transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));display:inline-flex}@media(hover:hover){.request-link[data-v-4e7bdbb5]:hover{background-color:var(--color-amber-100,oklch(96.2% .059 95.617))}}.request-select[data-v-4e7bdbb5],.request-input[data-v-4e7bdbb5]{height:calc(var(--spacing,.25rem) * 8);border-radius:var(--radius-md,.375rem);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-amber-300,oklch(87.9% .169 91.605));background-color:var(--color-white,#fff);padding-inline:calc(var(--spacing,.25rem) * 2);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));color:var(--color-amber-900,oklch(41.4% .112 45.904))}.request-input[data-v-4e7bdbb5]::placeholder{color:var(--color-amber-500,oklch(76.9% .188 70.08))}.request-checkbox-list[data-v-4e7bdbb5]{gap:calc(var(--spacing,.25rem) * 1.5);flex-direction:column;display:flex}.request-checkbox-row[data-v-4e7bdbb5]{align-items:center;gap:calc(var(--spacing,.25rem) * 2);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));color:var(--color-amber-900,oklch(41.4% .112 45.904));display:flex}.live-overlay-inline[data-v-4e7bdbb5]{width:100%;max-width:min(var(--chat-column-max,45rem),100%);gap:calc(var(--spacing,.25rem) * 1);padding-inline:calc(var(--spacing,.25rem) * 0);padding-block:calc(var(--spacing,.25rem) * 1);flex-direction:column;display:flex}.live-overlay-label[data-v-4e7bdbb5]{margin:calc(var(--spacing,.25rem) * 0);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));--tw-leading:calc(var(--spacing,.25rem) * 5);line-height:calc(var(--spacing,.25rem) * 5);--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);color:var(--color-zinc-600,oklch(44.2% .017 285.786))}.live-overlay-reasoning[data-v-4e7bdbb5]{margin:calc(var(--spacing,.25rem) * 0);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));--tw-leading:calc(var(--spacing,.25rem) * 5);line-height:calc(var(--spacing,.25rem) * 5);overflow-wrap:break-word;white-space:pre-wrap;color:var(--color-zinc-500,oklch(55.2% .016 285.938));overflow-wrap:anywhere;scrollbar-width:none;max-height:6.25rem;display:block;overflow:auto;-webkit-mask-image:linear-gradient(#0000 0%,#000 25%);mask-image:linear-gradient(#0000,#000 25%)}.live-overlay-reasoning[data-v-4e7bdbb5]::-webkit-scrollbar{display:none}.live-overlay-error[data-v-4e7bdbb5]{margin:calc(var(--spacing,.25rem) * 0);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));--tw-leading:calc(var(--spacing,.25rem) * 5);line-height:calc(var(--spacing,.25rem) * 5);white-space:pre-wrap;color:var(--color-rose-600,oklch(58.6% .253 17.585))}.message-body[data-v-4e7bdbb5]{max-width:100%;min-width:calc(var(--spacing,.25rem) * 0);flex-direction:column;width:fit-content;display:flex}.message-body[data-role=user][data-v-4e7bdbb5]{align-self:flex-end;align-items:flex-end;margin-left:auto}.message-toolbar[data-v-4e7bdbb5]{margin-top:calc(var(--spacing,.25rem) * 1);align-items:center;gap:calc(var(--spacing,.25rem) * 1);opacity:.01;transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));--tw-duration:.2s;align-self:flex-start;transition-duration:.2s;display:flex}.message-row:hover .message-toolbar[data-v-4e7bdbb5]{opacity:1}.message-copy-button[data-v-4e7bdbb5]{align-items:center;gap:calc(var(--spacing,.25rem) * .5);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-200,oklch(92.9% .013 255.508));background-color:#ffffffe6;border-radius:3.40282e38px;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.message-copy-button[data-v-4e7bdbb5]{background-color:color-mix(in oklab,var(--color-white,#fff) 90%,transparent)}}.message-copy-button[data-v-4e7bdbb5]{padding-inline:calc(var(--spacing,.25rem) * 1.25);padding-block:calc(var(--spacing,.25rem) * .5);--tw-leading:1;--tw-font-weight:var(--font-weight-medium,500);font-size:9px;line-height:1;font-weight:var(--font-weight-medium,500);color:var(--color-slate-500,oklch(55.4% .046 257.417));transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s))}@media(hover:hover){.message-copy-button[data-v-4e7bdbb5]:hover{border-color:var(--color-slate-300,oklch(86.9% .022 252.894));background-color:var(--color-white,#fff);color:var(--color-slate-900,oklch(20.8% .042 265.755))}}.message-fork-button[data-v-4e7bdbb5]{align-items:center;gap:calc(var(--spacing,.25rem) * .5);padding-inline:calc(var(--spacing,.25rem) * .5);padding-block:calc(var(--spacing,.25rem) * 0);--tw-leading:1;--tw-font-weight:var(--font-weight-medium,500);font-size:9px;line-height:1;font-weight:var(--font-weight-medium,500);color:var(--color-slate-500,oklch(55.4% .046 257.417));transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));display:inline-flex}@media(hover:hover){.message-fork-button[data-v-4e7bdbb5]:hover{color:var(--color-slate-900,oklch(20.8% .042 265.755))}}.message-copy-button[data-copied=true][data-v-4e7bdbb5]{border-color:var(--color-emerald-200,oklch(90.5% .093 164.15));background-color:var(--color-emerald-50,oklch(97.9% .021 166.113));color:var(--color-emerald-700,oklch(50.8% .118 165.612))}.message-edit-button[data-v-4e7bdbb5]{align-items:center;gap:calc(var(--spacing,.25rem) * .5);padding-inline:calc(var(--spacing,.25rem) * .5);padding-block:calc(var(--spacing,.25rem) * 0);--tw-leading:1;--tw-font-weight:var(--font-weight-medium,500);font-size:9px;line-height:1;font-weight:var(--font-weight-medium,500);color:#dd7400b3;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.message-edit-button[data-v-4e7bdbb5]{color:color-mix(in oklab,var(--color-amber-600,oklch(66.6% .179 58.318)) 70%,transparent)}}.message-edit-button[data-v-4e7bdbb5]{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s))}@media(hover:hover){.message-edit-button[data-v-4e7bdbb5]:hover{color:var(--color-amber-700,oklch(55.5% .163 48.998))}}.message-fork-icon[data-v-4e7bdbb5],.message-copy-icon[data-v-4e7bdbb5],.message-edit-icon[data-v-4e7bdbb5]{font-size:10px}.message-fork-label[data-v-4e7bdbb5],.message-copy-label[data-v-4e7bdbb5],.message-edit-label[data-v-4e7bdbb5]{--tw-leading:1;line-height:1}.message-image-list[data-v-4e7bdbb5]{margin:calc(var(--spacing,.25rem) * 0);margin-bottom:calc(var(--spacing,.25rem) * 2);gap:calc(var(--spacing,.25rem) * 2);padding:calc(var(--spacing,.25rem) * 0);flex-wrap:wrap;list-style-type:none;display:flex}.message-image-list[data-role=user][data-v-4e7bdbb5]{justify-content:flex-end;margin-left:auto}.message-generated-image-list[data-v-4e7bdbb5]{gap:calc(var(--spacing,.25rem) * 3)}.message-image-item[data-v-4e7bdbb5]{margin:calc(var(--spacing,.25rem) * 0)}.message-image-button[data-v-4e7bdbb5]{border-radius:var(--radius-xl,.75rem);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-300,oklch(86.9% .022 252.894));background-color:var(--color-white,#fff);padding:calc(var(--spacing,.25rem) * 0);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));display:block;overflow:hidden}@media(hover:hover){.message-image-button[data-v-4e7bdbb5]:hover{border-color:var(--color-slate-400,oklch(70.4% .04 256.788))}}.message-image-preview[data-v-4e7bdbb5]{height:calc(var(--spacing,.25rem) * 16);width:calc(var(--spacing,.25rem) * 16);object-fit:cover;display:block}.message-generated-image-preview[data-v-4e7bdbb5]{background-color:var(--color-white,#fff);object-fit:contain;width:auto;max-width:min(560px,85vw);height:auto;max-height:min(460px,62vh)}.message-file-attachments[data-v-4e7bdbb5]{margin-bottom:calc(var(--spacing,.25rem) * 2);gap:calc(var(--spacing,.25rem) * 1.5);flex-wrap:wrap;display:flex}.message-file-chip[data-v-4e7bdbb5]{align-items:center;gap:calc(var(--spacing,.25rem) * 1);border-radius:var(--radius-md,.375rem);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-zinc-200,oklch(92% .004 286.32));background-color:var(--color-zinc-50,oklch(98.5% 0 0));padding-inline:calc(var(--spacing,.25rem) * 2);padding-block:calc(var(--spacing,.25rem) * .5);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));color:var(--color-zinc-700,oklch(37% .013 285.805));display:inline-flex}.message-file-chip-icon[data-v-4e7bdbb5]{--tw-leading:1;font-size:10px;line-height:1}.message-file-chip-name[data-v-4e7bdbb5]{max-width:calc(var(--spacing,.25rem) * 48);text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);overflow:hidden}.message-card[data-v-4e7bdbb5]{max-width:min(var(--chat-card-max,76ch),100%);--tw-border-style:none;padding-inline:calc(var(--spacing,.25rem) * 0);padding-block:calc(var(--spacing,.25rem) * 0);background-color:#0000;border-style:none;border-radius:0}.message-text-flow[data-v-4e7bdbb5]{gap:calc(var(--spacing,.25rem) * 2);flex-direction:column;display:flex}.plan-card[data-v-4e7bdbb5]{max-width:min(var(--chat-card-max,76ch),100%);gap:calc(var(--spacing,.25rem) * 3);border-radius:var(--radius-2xl,1rem);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-sky-200,oklch(90.1% .058 230.902));background-color:var(--color-sky-50,oklch(97.7% .013 236.62));padding-inline:calc(var(--spacing,.25rem) * 4);padding-block:calc(var(--spacing,.25rem) * 3);color:var(--color-slate-900,oklch(20.8% .042 265.755));flex-direction:column;display:flex}.plan-card-header[data-v-4e7bdbb5]{justify-content:space-between;align-items:center;gap:calc(var(--spacing,.25rem) * 3);display:flex}.plan-card-title[data-v-4e7bdbb5]{margin:calc(var(--spacing,.25rem) * 0);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));--tw-leading:calc(var(--spacing,.25rem) * 5);line-height:calc(var(--spacing,.25rem) * 5);--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600);color:var(--color-sky-900,oklch(39.1% .09 240.876))}.plan-card-badge[data-v-4e7bdbb5]{background-color:var(--color-sky-200,oklch(90.1% .058 230.902));padding-inline:calc(var(--spacing,.25rem) * 2);padding-block:calc(var(--spacing,.25rem) * .5);--tw-leading:calc(var(--spacing,.25rem) * 4);font-size:11px;line-height:calc(var(--spacing,.25rem) * 4);--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);color:var(--color-sky-900,oklch(39.1% .09 240.876));border-radius:3.40282e38px;align-items:center;display:inline-flex}.plan-card-explanation[data-v-4e7bdbb5]{color:var(--color-slate-700,oklch(37.2% .044 257.287))}.plan-card-markdown[data-v-4e7bdbb5]{gap:calc(var(--spacing,.25rem) * 2);flex-direction:column;display:flex}:is(.plan-card-markdown[data-v-4e7bdbb5] .message-text,.plan-card-markdown[data-v-4e7bdbb5] .message-heading,.plan-card-markdown[data-v-4e7bdbb5] .message-blockquote,.plan-card-markdown[data-v-4e7bdbb5] .message-list,.plan-card-markdown[data-v-4e7bdbb5] .message-table-wrap,.plan-card-markdown[data-v-4e7bdbb5] .message-code-block,.plan-card-markdown[data-v-4e7bdbb5] .message-divider){margin:calc(var(--spacing,.25rem) * 0)}.plan-card-markdown[data-v-4e7bdbb5] .message-text{font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));--tw-leading:var(--leading-relaxed,1.625);line-height:var(--leading-relaxed,1.625);white-space:pre-wrap;color:var(--color-slate-800,oklch(27.9% .041 260.031))}.plan-card-markdown[data-v-4e7bdbb5] .message-heading{--tw-tracking:var(--tracking-tight,-.025em);letter-spacing:var(--tracking-tight,-.025em);color:var(--color-slate-900,oklch(20.8% .042 265.755))}.plan-card-markdown[data-v-4e7bdbb5] .message-heading-h1{font-size:var(--text-2xl,1.5rem);line-height:var(--tw-leading,var(--text-2xl--line-height,calc(2 / 1.5)));--tw-leading:var(--leading-tight,1.25);line-height:var(--leading-tight,1.25);--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600)}.plan-card-markdown[data-v-4e7bdbb5] .message-heading-h2{font-size:var(--text-xl,1.25rem);line-height:var(--tw-leading,var(--text-xl--line-height,calc(1.75 / 1.25)));--tw-leading:var(--leading-tight,1.25);line-height:var(--leading-tight,1.25);--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600)}.plan-card-markdown[data-v-4e7bdbb5] .message-heading-h3{font-size:var(--text-lg,1.125rem);line-height:var(--tw-leading,var(--text-lg--line-height,calc(1.75 / 1.125)));--tw-leading:var(--leading-snug,1.375);line-height:var(--leading-snug,1.375);--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600)}.plan-card-markdown[data-v-4e7bdbb5] .message-heading-h4{font-size:var(--text-base,1rem);line-height:var(--tw-leading,var(--text-base--line-height, 1.5 ));--tw-leading:var(--leading-snug,1.375);line-height:var(--leading-snug,1.375);--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600)}.plan-card-markdown[data-v-4e7bdbb5] .message-heading-h5{font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));--tw-leading:var(--leading-snug,1.375);line-height:var(--leading-snug,1.375);--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600);--tw-tracking:.02em;letter-spacing:.02em;text-transform:uppercase}.plan-card-markdown[data-v-4e7bdbb5] .message-heading-h6{font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));--tw-leading:var(--leading-snug,1.375);line-height:var(--leading-snug,1.375);--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600);--tw-tracking:.04em;letter-spacing:.04em;color:var(--color-slate-600,oklch(44.6% .043 257.281));text-transform:uppercase}.plan-card-markdown[data-v-4e7bdbb5] .message-blockquote{border-top-right-radius:var(--radius-lg,.5rem);border-bottom-right-radius:var(--radius-lg,.5rem);border-left-style:var(--tw-border-style);border-left-width:4px;border-color:var(--color-slate-300,oklch(86.9% .022 252.894));background-color:#f8fafcb3}@supports (color:color-mix(in lab,red,red)){.plan-card-markdown[data-v-4e7bdbb5] .message-blockquote{background-color:color-mix(in oklab,var(--color-slate-50,oklch(98.4% .003 247.858)) 70%,transparent)}}.plan-card-markdown[data-v-4e7bdbb5] .message-blockquote{padding-block:calc(var(--spacing,.25rem) * 1);padding-left:calc(var(--spacing,.25rem) * 4);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));--tw-leading:var(--leading-relaxed,1.625);line-height:var(--leading-relaxed,1.625);white-space:pre-wrap;color:var(--color-slate-700,oklch(37.2% .044 257.287))}.plan-card-markdown[data-v-4e7bdbb5] .message-list{gap:calc(var(--spacing,.25rem) * 1.5);padding-left:calc(var(--spacing,.25rem) * 5);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));--tw-leading:var(--leading-relaxed,1.625);line-height:var(--leading-relaxed,1.625);color:var(--color-slate-800,oklch(27.9% .041 260.031));flex-direction:column;display:flex}.plan-card-markdown[data-v-4e7bdbb5] .message-list-unordered{list-style-type:disc}.plan-card-markdown[data-v-4e7bdbb5] .message-list-ordered{list-style-type:decimal}.plan-card-markdown[data-v-4e7bdbb5] .message-list-item{padding-left:calc(var(--spacing,.25rem) * 1)}.plan-card-markdown[data-v-4e7bdbb5] .message-list-item-text{white-space:pre-wrap}.plan-card-markdown[data-v-4e7bdbb5] .message-list-item-paragraph+.message-list-item-paragraph{margin-top:calc(var(--spacing,.25rem) * 2)}.plan-card-markdown[data-v-4e7bdbb5] .message-task-list{padding-left:calc(var(--spacing,.25rem) * 0);list-style-type:none}.plan-card-markdown[data-v-4e7bdbb5] .message-task-item{align-items:flex-start;gap:calc(var(--spacing,.25rem) * 2);display:flex}.plan-card-markdown[data-v-4e7bdbb5] .message-task-checkbox{margin-top:calc(var(--spacing,.25rem) * .5);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));--tw-leading:1;color:var(--color-slate-500,oklch(55.4% .046 257.417));-webkit-user-select:none;user-select:none;line-height:1}.plan-card-markdown[data-v-4e7bdbb5] .message-code-block{border-radius:var(--radius-xl,.75rem);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-200,oklch(92.9% .013 255.508));background-color:#020618f2;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.plan-card-markdown[data-v-4e7bdbb5] .message-code-block{background-color:color-mix(in oklab,var(--color-slate-950,oklch(12.9% .042 264.695)) 95%,transparent)}}.plan-card-markdown[data-v-4e7bdbb5] .message-code-block{color:var(--color-slate-100,oklch(96.8% .007 247.896))}.plan-card-markdown[data-v-4e7bdbb5] .message-code-language{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-slate-800,oklch(27.9% .041 260.031));background-color:#0f172be6}@supports (color:color-mix(in lab,red,red)){.plan-card-markdown[data-v-4e7bdbb5] .message-code-language{background-color:color-mix(in oklab,var(--color-slate-900,oklch(20.8% .042 265.755)) 90%,transparent)}}.plan-card-markdown[data-v-4e7bdbb5] .message-code-language{padding-inline:calc(var(--spacing,.25rem) * 3);padding-block:calc(var(--spacing,.25rem) * 2);--tw-font-weight:var(--font-weight-medium,500);font-size:11px;font-weight:var(--font-weight-medium,500);--tw-tracking:.08em;letter-spacing:.08em;color:var(--color-slate-400,oklch(70.4% .04 256.788));text-transform:uppercase}.plan-card-markdown[data-v-4e7bdbb5] .message-code-pre{margin:calc(var(--spacing,.25rem) * 0);padding-inline:calc(var(--spacing,.25rem) * 3);padding-block:calc(var(--spacing,.25rem) * 3);--tw-leading:calc(var(--spacing,.25rem) * 6);font-size:13px;line-height:calc(var(--spacing,.25rem) * 6);overflow-x:auto}.plan-card-markdown[data-v-4e7bdbb5] .message-inline-code{border-radius:var(--radius-md,.375rem);background-color:#e2e8f0cc}@supports (color:color-mix(in lab,red,red)){.plan-card-markdown[data-v-4e7bdbb5] .message-inline-code{background-color:color-mix(in oklab,var(--color-slate-200,oklch(92.9% .013 255.508)) 80%,transparent)}}.plan-card-markdown[data-v-4e7bdbb5] .message-inline-code{padding-inline:calc(var(--spacing,.25rem) * 1.5);padding-block:calc(var(--spacing,.25rem) * .5);font-family:var(--font-mono,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);color:var(--color-slate-900,oklch(20.8% .042 265.755));font-size:.9em}.plan-card-markdown[data-v-4e7bdbb5] .message-file-link{color:var(--color-sky-700,oklch(50% .134 242.749));text-decoration-line:underline;-webkit-text-decoration-color:var(--color-sky-300,oklch(82.8% .111 230.318));text-decoration-color:var(--color-sky-300,oklch(82.8% .111 230.318));text-underline-offset:2px}.plan-card-markdown[data-v-4e7bdbb5] .message-table{background-color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.plan-card-markdown[data-v-4e7bdbb5] .message-table{background-color:color-mix(in oklab,var(--color-white,#fff) 90%,transparent)}}.plan-step-list[data-v-4e7bdbb5]{margin:calc(var(--spacing,.25rem) * 0);gap:calc(var(--spacing,.25rem) * 2);padding:calc(var(--spacing,.25rem) * 0);flex-direction:column;list-style-type:none;display:flex}.plan-step-item[data-v-4e7bdbb5]{align-items:flex-start;gap:calc(var(--spacing,.25rem) * 2);border-radius:var(--radius-xl,.75rem);border-style:var(--tw-border-style);border-width:1px;border-color:#ffffffb3;display:flex}@supports (color:color-mix(in lab,red,red)){.plan-step-item[data-v-4e7bdbb5]{border-color:color-mix(in oklab,var(--color-white,#fff) 70%,transparent)}}.plan-step-item[data-v-4e7bdbb5]{background-color:#fffc}@supports (color:color-mix(in lab,red,red)){.plan-step-item[data-v-4e7bdbb5]{background-color:color-mix(in oklab,var(--color-white,#fff) 80%,transparent)}}.plan-step-item[data-v-4e7bdbb5]{padding-inline:calc(var(--spacing,.25rem) * 3);padding-block:calc(var(--spacing,.25rem) * 2);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));--tw-leading:var(--leading-relaxed,1.625);line-height:var(--leading-relaxed,1.625);color:var(--color-slate-800,oklch(27.9% .041 260.031))}.plan-step-item[data-status=completed][data-v-4e7bdbb5]{border-color:var(--color-emerald-200,oklch(90.5% .093 164.15));background-color:#ecfdf5cc}@supports (color:color-mix(in lab,red,red)){.plan-step-item[data-status=completed][data-v-4e7bdbb5]{background-color:color-mix(in oklab,var(--color-emerald-50,oklch(97.9% .021 166.113)) 80%,transparent)}}.plan-step-item[data-status=inProgress][data-v-4e7bdbb5]{border-color:var(--color-amber-200,oklch(92.4% .12 95.746));background-color:#fffbebcc}@supports (color:color-mix(in lab,red,red)){.plan-step-item[data-status=inProgress][data-v-4e7bdbb5]{background-color:color-mix(in oklab,var(--color-amber-50,oklch(98.7% .022 95.277)) 80%,transparent)}}.plan-step-status[data-v-4e7bdbb5]{margin-top:calc(var(--spacing,.25rem) * .5);height:calc(var(--spacing,.25rem) * 5);width:calc(var(--spacing,.25rem) * 5);background-color:var(--color-slate-200,oklch(92.9% .013 255.508));font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600);color:var(--color-slate-700,oklch(37.2% .044 257.287));border-radius:3.40282e38px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.plan-step-status[data-status=completed][data-v-4e7bdbb5]{background-color:var(--color-emerald-200,oklch(90.5% .093 164.15));color:var(--color-emerald-900,oklch(37.8% .077 168.94))}.plan-step-status[data-status=inProgress][data-v-4e7bdbb5]{background-color:var(--color-amber-200,oklch(92.4% .12 95.746));color:var(--color-amber-900,oklch(41.4% .112 45.904))}.plan-step-text[data-v-4e7bdbb5]{min-width:calc(var(--spacing,.25rem) * 0);flex:1}.message-text[data-v-4e7bdbb5]{margin:calc(var(--spacing,.25rem) * 0);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));--tw-leading:var(--leading-relaxed,1.625);line-height:var(--leading-relaxed,1.625);overflow-wrap:break-word;white-space:pre-wrap;color:var(--color-slate-800,oklch(27.9% .041 260.031));overflow-wrap:anywhere}.message-heading[data-v-4e7bdbb5]{margin:calc(var(--spacing,.25rem) * 0);--tw-tracking:var(--tracking-tight,-.025em);letter-spacing:var(--tracking-tight,-.025em);color:var(--color-slate-900,oklch(20.8% .042 265.755))}.message-heading-h1[data-v-4e7bdbb5]{font-size:var(--text-2xl,1.5rem);line-height:var(--tw-leading,var(--text-2xl--line-height,calc(2 / 1.5)));--tw-leading:var(--leading-tight,1.25);line-height:var(--leading-tight,1.25);--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600)}.message-heading-h2[data-v-4e7bdbb5]{font-size:var(--text-xl,1.25rem);line-height:var(--tw-leading,var(--text-xl--line-height,calc(1.75 / 1.25)));--tw-leading:var(--leading-tight,1.25);line-height:var(--leading-tight,1.25);--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600)}.message-heading-h3[data-v-4e7bdbb5]{font-size:var(--text-lg,1.125rem);line-height:var(--tw-leading,var(--text-lg--line-height,calc(1.75 / 1.125)));--tw-leading:var(--leading-snug,1.375);line-height:var(--leading-snug,1.375);--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600)}.message-heading-h4[data-v-4e7bdbb5]{font-size:var(--text-base,1rem);line-height:var(--tw-leading,var(--text-base--line-height, 1.5 ));--tw-leading:var(--leading-snug,1.375);line-height:var(--leading-snug,1.375);--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600)}.message-heading-h5[data-v-4e7bdbb5]{font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));--tw-leading:var(--leading-snug,1.375);line-height:var(--leading-snug,1.375);--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600);--tw-tracking:.02em;letter-spacing:.02em;text-transform:uppercase}.message-heading-h6[data-v-4e7bdbb5]{font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));--tw-leading:var(--leading-snug,1.375);line-height:var(--leading-snug,1.375);--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600);--tw-tracking:.04em;letter-spacing:.04em;color:var(--color-slate-600,oklch(44.6% .043 257.281));text-transform:uppercase}.message-blockquote[data-v-4e7bdbb5]{margin:calc(var(--spacing,.25rem) * 0);border-top-right-radius:var(--radius-lg,.5rem);border-bottom-right-radius:var(--radius-lg,.5rem);border-left-style:var(--tw-border-style);border-left-width:4px;border-color:var(--color-slate-300,oklch(86.9% .022 252.894));background-color:#f8fafcb3}@supports (color:color-mix(in lab,red,red)){.message-blockquote[data-v-4e7bdbb5]{background-color:color-mix(in oklab,var(--color-slate-50,oklch(98.4% .003 247.858)) 70%,transparent)}}.message-blockquote[data-v-4e7bdbb5]{padding-block:calc(var(--spacing,.25rem) * 1);padding-left:calc(var(--spacing,.25rem) * 4);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));--tw-leading:var(--leading-relaxed,1.625);line-height:var(--leading-relaxed,1.625);overflow-wrap:break-word;white-space:pre-wrap;color:var(--color-slate-700,oklch(37.2% .044 257.287));overflow-wrap:anywhere}.message-list[data-v-4e7bdbb5]{margin:calc(var(--spacing,.25rem) * 0);gap:calc(var(--spacing,.25rem) * 1.5);padding-left:calc(var(--spacing,.25rem) * 5);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));--tw-leading:var(--leading-relaxed,1.625);line-height:var(--leading-relaxed,1.625);color:var(--color-slate-800,oklch(27.9% .041 260.031));flex-direction:column;display:flex}.message-list-unordered[data-v-4e7bdbb5]{list-style-type:disc}.message-list-ordered[data-v-4e7bdbb5]{list-style-type:decimal}.message-list-item[data-v-4e7bdbb5]{padding-left:calc(var(--spacing,.25rem) * 1)}.message-list-item-content[data-v-4e7bdbb5]{gap:calc(var(--spacing,.25rem) * 1.5);flex-direction:column;display:flex}.message-list-item-text[data-v-4e7bdbb5]{overflow-wrap:break-word;white-space:pre-wrap;overflow-wrap:anywhere}.message-list-item-paragraph+.message-list-item-paragraph[data-v-4e7bdbb5]{margin-top:calc(var(--spacing,.25rem) * 2)}.message-task-list[data-v-4e7bdbb5]{padding-left:calc(var(--spacing,.25rem) * 0);list-style-type:none}.message-task-item[data-v-4e7bdbb5]{align-items:flex-start;gap:calc(var(--spacing,.25rem) * 2);display:flex}.message-task-checkbox[data-v-4e7bdbb5]{margin-top:calc(var(--spacing,.25rem) * .5);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));--tw-leading:1;color:var(--color-slate-500,oklch(55.4% .046 257.417));-webkit-user-select:none;user-select:none;line-height:1}.message-table-wrap[data-v-4e7bdbb5]{width:100%;overflow-x:auto}.message-table[data-v-4e7bdbb5]{border-collapse:separate;--tw-border-spacing-x:calc(var(--spacing,.25rem) * 0);--tw-border-spacing-y:calc(var(--spacing,.25rem) * 0);min-width:100%;border-spacing:var(--tw-border-spacing-x) var(--tw-border-spacing-y);border-radius:var(--radius-xl,.75rem);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-200,oklch(92.9% .013 255.508));background-color:var(--color-white,#fff);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));color:var(--color-slate-800,oklch(27.9% .041 260.031));overflow:hidden}.message-table-head-cell[data-v-4e7bdbb5],.message-table-cell[data-v-4e7bdbb5]{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-left-style:var(--tw-border-style);border-left-width:1px;border-color:var(--color-slate-200,oklch(92.9% .013 255.508));padding-inline:calc(var(--spacing,.25rem) * 3);padding-block:calc(var(--spacing,.25rem) * 2);vertical-align:top;overflow-wrap:break-word;white-space:pre-wrap;overflow-wrap:anywhere}.message-table-head-cell[data-v-4e7bdbb5]:first-child,.message-table-cell[data-v-4e7bdbb5]:first-child{border-left-style:var(--tw-border-style);border-left-width:0}.message-table-head-cell[data-v-4e7bdbb5]{background-color:var(--color-slate-100,oklch(96.8% .007 247.896));--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600);color:var(--color-slate-900,oklch(20.8% .042 265.755))}.message-table-body-row:last-child .message-table-cell[data-v-4e7bdbb5]{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.message-bold-text[data-v-4e7bdbb5]{--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600);color:var(--color-slate-900,oklch(20.8% .042 265.755))}.message-italic-text[data-v-4e7bdbb5]{font-style:italic}.message-strikethrough-text[data-v-4e7bdbb5]{color:var(--color-slate-500,oklch(55.4% .046 257.417));text-decoration-line:line-through}.message-markdown-image[data-v-4e7bdbb5]{background-color:var(--color-white,#fff);object-fit:contain;width:auto;max-width:min(560px,85vw);height:auto;max-height:min(460px,62vh)}.message-inline-code[data-v-4e7bdbb5]{border-radius:var(--radius-md,.375rem);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-200,oklch(92.9% .013 255.508));background-color:#f1f5f999}@supports (color:color-mix(in lab,red,red)){.message-inline-code[data-v-4e7bdbb5]{background-color:color-mix(in oklab,var(--color-slate-100,oklch(96.8% .007 247.896)) 60%,transparent)}}.message-inline-code[data-v-4e7bdbb5]{padding-inline:calc(var(--spacing,.25rem) * 1.5);padding-block:calc(var(--spacing,.25rem) * .5);font-family:var(--font-mono,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);--tw-leading:1.4;color:var(--color-slate-900,oklch(20.8% .042 265.755));font-size:.875em;line-height:1.4}.message-code-block[data-v-4e7bdbb5]{border-radius:var(--radius-xl,.75rem);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-200,oklch(92.9% .013 255.508));background-color:var(--color-slate-950,oklch(12.9% .042 264.695));color:var(--color-slate-100,oklch(96.8% .007 247.896));overflow:hidden}.message-code-language[data-v-4e7bdbb5]{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-slate-800,oklch(27.9% .041 260.031));padding-inline:calc(var(--spacing,.25rem) * 3);padding-block:calc(var(--spacing,.25rem) * 2);font-family:var(--font-mono,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);--tw-tracking:.08em;letter-spacing:.08em;color:var(--color-slate-400,oklch(70.4% .04 256.788));text-transform:uppercase;font-size:11px}.message-code-pre[data-v-4e7bdbb5]{margin:calc(var(--spacing,.25rem) * 0);padding-inline:calc(var(--spacing,.25rem) * 3);padding-block:calc(var(--spacing,.25rem) * 3);font-family:var(--font-mono,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);--tw-leading:var(--leading-relaxed,1.625);font-size:13px;line-height:var(--leading-relaxed,1.625);white-space:pre;overflow-x:auto}.message-code-pre[data-v-4e7bdbb5] .hljs{padding:calc(var(--spacing,.25rem) * 0);color:inherit;background-color:#0000;display:block}.message-file-link[data-v-4e7bdbb5]{font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));--tw-leading:var(--leading-relaxed,1.625);line-height:var(--leading-relaxed,1.625);color:#0969da;text-underline-offset:2px;text-decoration-line:none}@media(hover:hover){.message-file-link[data-v-4e7bdbb5]:hover{color:#1f6feb;text-decoration-line:underline}}.file-link-context-menu[data-v-4e7bdbb5]{z-index:50;min-width:calc(var(--spacing,.25rem) * 36);border-radius:var(--radius-lg,.5rem);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-zinc-200,oklch(92% .004 286.32));background-color:var(--color-white,#fff);padding:calc(var(--spacing,.25rem) * 1);--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);position:fixed}.file-link-context-menu-item[data-v-4e7bdbb5]{border-radius:var(--radius-md,.375rem);width:100%;padding-inline:calc(var(--spacing,.25rem) * 2);padding-block:calc(var(--spacing,.25rem) * 1.5);text-align:left;font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));color:var(--color-zinc-700,oklch(37% .013 285.805));display:block}@media(hover:hover){.file-link-context-menu-item[data-v-4e7bdbb5]:hover{background-color:var(--color-zinc-100,oklch(96.7% .001 286.375))}}.message-divider[data-v-4e7bdbb5]{margin:calc(var(--spacing,.25rem) * 0);border-style:var(--tw-border-style);background-color:#cad5e2cc;border-width:0;height:1px}@supports (color:color-mix(in lab,red,red)){.message-divider[data-v-4e7bdbb5]{background-color:color-mix(in oklab,var(--color-slate-300,oklch(86.9% .022 252.894)) 80%,transparent)}}.message-stack[data-role=user][data-v-4e7bdbb5]{align-items:flex-end}.message-stack[data-role=assistant][data-v-4e7bdbb5],.message-stack[data-role=system][data-v-4e7bdbb5]{align-items:flex-start}.message-card[data-role=user][data-v-4e7bdbb5]{border-radius:var(--radius-2xl,1rem);background-color:var(--color-slate-200,oklch(92.9% .013 255.508));max-width:min(560px,100%);padding-inline:calc(var(--spacing,.25rem) * 4);padding-block:calc(var(--spacing,.25rem) * 3);align-self:flex-end;width:fit-content;margin-left:auto}.message-card[data-role=assistant][data-v-4e7bdbb5],.message-card[data-role=system][data-v-4e7bdbb5]{--tw-border-style:none;padding-inline:calc(var(--spacing,.25rem) * 0);padding-block:calc(var(--spacing,.25rem) * 0);background-color:#0000;border-style:none;border-radius:0}.conversation-item[data-message-type=worked] .message-stack[data-v-4e7bdbb5],.conversation-item[data-message-type=worked] .message-body[data-v-4e7bdbb5],.conversation-item[data-message-type=worked] .message-card[data-v-4e7bdbb5]{width:100%;max-width:100%}.worked-separator-wrap[data-v-4e7bdbb5]{gap:calc(var(--spacing,.25rem) * 0);flex-direction:column;width:100%;display:flex}.worked-separator[data-v-4e7bdbb5]{cursor:pointer;align-items:center;gap:calc(var(--spacing,.25rem) * 3);--tw-border-style:none;width:100%;padding:calc(var(--spacing,.25rem) * 0);background-color:#0000;border-style:none;display:flex}.worked-chevron[data-v-4e7bdbb5]{color:var(--color-zinc-400,oklch(70.5% .015 286.067));transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));--tw-duration:.2s;flex-shrink:0;font-size:9px;transition-duration:.2s}.worked-chevron-open[data-v-4e7bdbb5]{transform:rotate(90deg)}.worked-separator-line[data-v-4e7bdbb5]{background-color:#d4d4d8cc;flex:1;height:1px}@supports (color:color-mix(in lab,red,red)){.worked-separator-line[data-v-4e7bdbb5]{background-color:color-mix(in oklab,var(--color-zinc-300,oklch(87.1% .006 286.286)) 80%,transparent)}}.worked-separator-text[data-v-4e7bdbb5]{margin:calc(var(--spacing,.25rem) * 0);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));--tw-leading:var(--leading-relaxed,1.625);line-height:var(--leading-relaxed,1.625);--tw-font-weight:var(--font-weight-normal,400);font-weight:var(--font-weight-normal,400);color:var(--color-slate-800,oklch(27.9% .041 260.031))}.worked-details[data-v-4e7bdbb5]{gap:calc(var(--spacing,.25rem) * 1.5);padding-top:calc(var(--spacing,.25rem) * 2);flex-direction:column;display:flex}.worked-cmd-item[data-v-4e7bdbb5]{flex-direction:column;display:flex}.image-modal-backdrop[data-v-4e7bdbb5]{inset:calc(var(--spacing,.25rem) * 0);z-index:50;background-color:#0006;justify-content:center;align-items:center;display:flex;position:fixed}@supports (color:color-mix(in lab,red,red)){.image-modal-backdrop[data-v-4e7bdbb5]{background-color:color-mix(in oklab,var(--color-black,#000) 40%,transparent)}}.image-modal-backdrop[data-v-4e7bdbb5]{padding:calc(var(--spacing,.25rem) * 6)}.image-modal-content[data-v-4e7bdbb5]{max-width:min(92vw,1100px);max-height:92vh;position:relative}.image-modal-close[data-v-4e7bdbb5]{top:calc(var(--spacing,.25rem) * 2);right:calc(var(--spacing,.25rem) * 2);z-index:10;height:calc(var(--spacing,.25rem) * 10);width:calc(var(--spacing,.25rem) * 10);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-300,oklch(86.9% .022 252.894));background-color:#ffffffe6;border-radius:3.40282e38px;justify-content:center;align-items:center;display:flex;position:absolute}@supports (color:color-mix(in lab,red,red)){.image-modal-close[data-v-4e7bdbb5]{background-color:color-mix(in oklab,var(--color-white,#fff) 90%,transparent)}}.image-modal-close[data-v-4e7bdbb5]{color:var(--color-slate-900,oklch(20.8% .042 265.755))}.image-modal-image[data-v-4e7bdbb5]{border-radius:var(--radius-2xl,1rem);background-color:var(--color-white,#fff);--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);max-width:100%;max-height:90vh;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);display:block}.icon-svg[data-v-4e7bdbb5]{height:calc(var(--spacing,.25rem) * 5);width:calc(var(--spacing,.25rem) * 5)}.cmd-row[data-v-4e7bdbb5]{cursor:pointer;align-items:center;gap:calc(var(--spacing,.25rem) * 2);border-radius:var(--radius-lg,.5rem);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-zinc-200,oklch(92% .004 286.32));background-color:var(--color-zinc-50,oklch(98.5% 0 0));width:100%;padding-inline:calc(var(--spacing,.25rem) * 3);padding-block:calc(var(--spacing,.25rem) * 1.5);text-align:left;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));display:flex}@media(hover:hover){.cmd-row[data-v-4e7bdbb5]:hover{background-color:var(--color-zinc-100,oklch(96.7% .001 286.375))}}.cmd-row.cmd-row-group[data-v-4e7bdbb5]{--tw-border-style:dashed;border-style:dashed;border-color:var(--color-zinc-300,oklch(87.1% .006 286.286));background-color:#f4f4f5e6}@supports (color:color-mix(in lab,red,red)){.cmd-row.cmd-row-group[data-v-4e7bdbb5]{background-color:color-mix(in oklab,var(--color-zinc-100,oklch(96.7% .001 286.375)) 90%,transparent)}}.cmd-row.cmd-row-group[data-v-4e7bdbb5]{color:var(--color-zinc-600,oklch(44.2% .017 285.786))}.cmd-row.cmd-compact[data-v-4e7bdbb5]{border-radius:.625rem;gap:.375rem;padding:.375rem .625rem}.cmd-row.cmd-compact .cmd-chevron[data-v-4e7bdbb5]{font-size:9px}.cmd-row.cmd-compact .cmd-label[data-v-4e7bdbb5]{font-size:.75rem}.cmd-row.cmd-compact .cmd-status[data-v-4e7bdbb5]{max-width:4.5rem;font-size:.75rem}.cmd-row.cmd-expanded[data-v-4e7bdbb5]{border-bottom-right-radius:0;border-bottom-left-radius:0}.cmd-chevron[data-v-4e7bdbb5]{color:var(--color-zinc-400,oklch(70.5% .015 286.067));transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));--tw-duration:.15s;flex-shrink:0;font-size:10px;transition-duration:.15s}.cmd-chevron-open[data-v-4e7bdbb5]{transform:rotate(90deg)}.cmd-label[data-v-4e7bdbb5]{min-width:calc(var(--spacing,.25rem) * 0);text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));color:var(--color-zinc-700,oklch(37% .013 285.805));flex:1;overflow:hidden}.cmd-group-label[data-v-4e7bdbb5]{min-width:calc(var(--spacing,.25rem) * 0);text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);color:var(--color-zinc-600,oklch(44.2% .017 285.786));flex:1;overflow:hidden}.cmd-status[data-v-4e7bdbb5]{max-width:calc(var(--spacing,.25rem) * 24);text-overflow:ellipsis;white-space:nowrap;text-align:right;--tw-font-weight:var(--font-weight-medium,500);font-size:11px;font-weight:var(--font-weight-medium,500);flex-shrink:0;overflow:hidden}.cmd-status-running .cmd-status[data-v-4e7bdbb5]{color:var(--color-amber-600,oklch(66.6% .179 58.318))}.cmd-status-ok .cmd-status[data-v-4e7bdbb5]{color:var(--color-emerald-600,oklch(59.6% .145 163.225))}.cmd-status-error .cmd-status[data-v-4e7bdbb5]{color:var(--color-rose-600,oklch(58.6% .253 17.585))}.cmd-output-wrap[data-v-4e7bdbb5]{border-bottom-right-radius:var(--radius-lg,.5rem);border-bottom-left-radius:var(--radius-lg,.5rem);background-color:var(--color-zinc-900,oklch(21% .006 285.885));border:1px solid #0000;border-top:none;grid-template-rows:0fr;transition:grid-template-rows .3s ease-out,border-color .3s ease-out;display:grid}.cmd-output-wrap.cmd-output-visible[data-v-4e7bdbb5]{border-color:#e4e4e7;grid-template-rows:1fr}.cmd-group-wrap[data-v-4e7bdbb5]{grid-template-rows:0fr;transition:grid-template-rows .22s ease-out;display:grid}.cmd-group-wrap.cmd-group-visible[data-v-4e7bdbb5]{grid-template-rows:1fr}.cmd-group-inner[data-v-4e7bdbb5]{margin-bottom:calc(var(--spacing,.25rem) * 1);min-height:calc(var(--spacing,.25rem) * 0);gap:calc(var(--spacing,.25rem) * 1);padding-left:calc(var(--spacing,.25rem) * 2);flex-direction:column;display:flex;overflow:hidden}.cmd-output-inner[data-v-4e7bdbb5]{min-height:0;overflow:hidden}.cmd-output[data-v-4e7bdbb5]{margin:calc(var(--spacing,.25rem) * 0);max-height:calc(var(--spacing,.25rem) * 60);padding-inline:calc(var(--spacing,.25rem) * 3);padding-block:calc(var(--spacing,.25rem) * 2);font-family:var(--font-mono,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));overflow-wrap:break-word;white-space:pre-wrap;color:var(--color-zinc-200,oklch(92% .004 286.32));overflow-y:auto}.cmd-output.cmd-output-condensed[data-v-4e7bdbb5]{max-height:9rem}.file-change-summary-block[data-v-4e7bdbb5]{margin-top:calc(var(--spacing,.25rem) * 3);gap:calc(var(--spacing,.25rem) * 0);flex-direction:column;display:flex}.file-change-summary-block-inline[data-v-4e7bdbb5]{margin-top:calc(var(--spacing,.25rem) * 4)}.file-change-summary-row[data-v-4e7bdbb5]{--tw-border-style:dashed;border-style:dashed}.file-change-summary-label[data-v-4e7bdbb5]{min-width:calc(var(--spacing,.25rem) * 0);text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);color:var(--color-zinc-700,oklch(37% .013 285.805));flex:1;overflow:hidden}.file-change-summary-status[data-v-4e7bdbb5]{max-width:calc(var(--spacing,.25rem) * 28);justify-content:flex-end;align-items:center;gap:calc(var(--spacing,.25rem) * 1.5);text-align:right;--tw-font-weight:var(--font-weight-semibold,600);font-size:11px;font-weight:var(--font-weight-semibold,600);color:var(--color-zinc-500,oklch(55.2% .016 285.938));flex-shrink:0;display:inline-flex}.file-change-panel-inner[data-v-4e7bdbb5]{margin-bottom:calc(var(--spacing,.25rem) * 1);min-height:calc(var(--spacing,.25rem) * 0);padding-left:calc(var(--spacing,.25rem) * 2);overflow:hidden}.file-change-list[data-v-4e7bdbb5]{margin:calc(var(--spacing,.25rem) * 0);gap:calc(var(--spacing,.25rem) * .5);border-radius:var(--radius-xl,.75rem);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-zinc-200,oklch(92% .004 286.32));background-color:#fffc;flex-direction:column;list-style-type:none;display:flex}@supports (color:color-mix(in lab,red,red)){.file-change-list[data-v-4e7bdbb5]{background-color:color-mix(in oklab,var(--color-white,#fff) 80%,transparent)}}.file-change-list[data-v-4e7bdbb5]{padding:calc(var(--spacing,.25rem) * 1.5)}.file-change-item[data-v-4e7bdbb5]{align-items:center;gap:calc(var(--spacing,.25rem) * 1.5);border-radius:var(--radius-lg,.5rem);padding-inline:calc(var(--spacing,.25rem) * 2);padding-block:calc(var(--spacing,.25rem) * 1);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));color:var(--color-zinc-700,oklch(37% .013 285.805));flex-wrap:wrap;display:flex}.file-change-badge[data-v-4e7bdbb5]{padding-inline:calc(var(--spacing,.25rem) * 2.5);padding-block:calc(var(--spacing,.25rem) * 1);--tw-font-weight:var(--font-weight-semibold,600);font-size:11px;font-weight:var(--font-weight-semibold,600);--tw-tracking:.08em;letter-spacing:.08em;text-transform:uppercase;border-radius:3.40282e38px;align-items:center;display:inline-flex}.file-change-badge[data-operation=add][data-v-4e7bdbb5]{background-color:var(--color-emerald-50,oklch(97.9% .021 166.113));color:var(--color-emerald-700,oklch(50.8% .118 165.612))}.file-change-badge[data-operation=update][data-v-4e7bdbb5]{background-color:var(--color-sky-50,oklch(97.7% .013 236.62));color:var(--color-sky-700,oklch(50% .134 242.749))}.file-change-badge[data-operation=delete][data-v-4e7bdbb5]{background-color:var(--color-rose-50,oklch(96.9% .015 12.422));color:var(--color-rose-700,oklch(51.4% .222 16.935))}.file-change-badge[data-operation=move][data-v-4e7bdbb5]{background-color:var(--color-amber-50,oklch(98.7% .022 95.277));color:var(--color-amber-700,oklch(55.5% .163 48.998))}.file-change-path[data-v-4e7bdbb5]{min-width:calc(var(--spacing,.25rem) * 0);font-family:var(--font-mono,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);word-break:break-all;font-size:13px}.file-change-path-button[data-v-4e7bdbb5]{min-width:calc(var(--spacing,.25rem) * 0);border-style:var(--tw-border-style);padding:calc(var(--spacing,.25rem) * 0);text-align:left;font-family:var(--font-mono,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);color:#0969da;text-underline-offset:2px;background-color:#0000;border-width:0;font-size:13px}@media(hover:hover){.file-change-path-button[data-v-4e7bdbb5]:hover{color:#1f6feb;text-decoration-line:underline}}.file-change-arrow[data-v-4e7bdbb5]{color:var(--color-zinc-400,oklch(70.5% .015 286.067))}.file-change-delta[data-v-4e7bdbb5]{align-items:center;gap:calc(var(--spacing,.25rem) * 1.5);background-color:var(--color-zinc-100,oklch(96.7% .001 286.375));padding-inline:calc(var(--spacing,.25rem) * 2);padding-block:calc(var(--spacing,.25rem) * 1);--tw-font-weight:var(--font-weight-semibold,600);font-size:11px;font-weight:var(--font-weight-semibold,600);color:var(--color-zinc-600,oklch(44.2% .017 285.786));border-radius:3.40282e38px;margin-left:auto;display:inline-flex}.file-change-signed-count[data-v-4e7bdbb5]{white-space:nowrap;align-items:center;display:inline-flex}.file-change-signed-count[data-tone=add][data-v-4e7bdbb5]{color:var(--color-emerald-600,oklch(59.6% .145 163.225))}.file-change-signed-count[data-tone=remove][data-v-4e7bdbb5]{color:var(--color-rose-600,oklch(58.6% .253 17.585))}.diff-viewer-backdrop[data-v-4e7bdbb5]{inset:calc(var(--spacing,.25rem) * 0);z-index:50;background-color:#00000073;justify-content:center;align-items:center;display:flex;position:fixed}@supports (color:color-mix(in lab,red,red)){.diff-viewer-backdrop[data-v-4e7bdbb5]{background-color:color-mix(in oklab,var(--color-black,#000) 45%,transparent)}}.diff-viewer-backdrop[data-v-4e7bdbb5]{padding:calc(var(--spacing,.25rem) * 3)}@media(min-width:40rem){.diff-viewer-backdrop[data-v-4e7bdbb5]{padding:calc(var(--spacing,.25rem) * 6)}}.diff-viewer-shell[data-v-4e7bdbb5]{border-radius:var(--radius-3xl,1.5rem);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-zinc-200,oklch(92% .004 286.32));background-color:var(--color-white,#fff);--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);width:min(96vw,1320px);height:min(88vh,920px);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);grid-template-columns:repeat(1,minmax(0,1fr));display:grid;position:relative;overflow:hidden}@media(min-width:64rem){.diff-viewer-shell[data-v-4e7bdbb5]{grid-template-columns:320px minmax(0,1fr)}}.diff-viewer-sidebar[data-v-4e7bdbb5]{min-height:calc(var(--spacing,.25rem) * 0);border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-zinc-200,oklch(92% .004 286.32));background-color:var(--color-zinc-50,oklch(98.5% 0 0));flex-direction:column;display:flex}@media(min-width:64rem){.diff-viewer-sidebar[data-v-4e7bdbb5]{border-right-style:var(--tw-border-style);border-right-width:1px;border-bottom-style:var(--tw-border-style);border-bottom-width:0}}.diff-viewer-sidebar-header[data-v-4e7bdbb5]{justify-content:space-between;align-items:center;gap:calc(var(--spacing,.25rem) * 3);border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-zinc-200,oklch(92% .004 286.32));padding-inline:calc(var(--spacing,.25rem) * 4);padding-block:calc(var(--spacing,.25rem) * 4);display:flex}.diff-viewer-sidebar-title[data-v-4e7bdbb5]{margin:calc(var(--spacing,.25rem) * 0);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600);color:var(--color-zinc-900,oklch(21% .006 285.885))}.diff-viewer-sidebar-count[data-v-4e7bdbb5]{margin:calc(var(--spacing,.25rem) * 0);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);color:var(--color-zinc-500,oklch(55.2% .016 285.938))}.diff-viewer-sidebar-list[data-v-4e7bdbb5]{min-height:calc(var(--spacing,.25rem) * 0);gap:calc(var(--spacing,.25rem) * 2);padding:calc(var(--spacing,.25rem) * 3);flex-direction:column;display:flex;overflow-y:auto}.diff-viewer-file-button[data-v-4e7bdbb5]{align-items:flex-start;gap:calc(var(--spacing,.25rem) * 2);border-radius:var(--radius-2xl,1rem);border-style:var(--tw-border-style);width:100%;padding-inline:calc(var(--spacing,.25rem) * 3);padding-block:calc(var(--spacing,.25rem) * 3);text-align:left;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));background-color:#0000;border-width:1px;border-color:#0000;flex-direction:column;display:flex}@media(hover:hover){.diff-viewer-file-button[data-v-4e7bdbb5]:hover{border-color:var(--color-zinc-200,oklch(92% .004 286.32));background-color:var(--color-white,#fff)}}.diff-viewer-file-button[data-active=true][data-v-4e7bdbb5]{border-color:var(--color-sky-200,oklch(90.1% .058 230.902));background-color:var(--color-white,#fff);--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.diff-viewer-file-label[data-v-4e7bdbb5]{font-family:var(--font-mono,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);word-break:break-all;color:var(--color-zinc-700,oklch(37% .013 285.805));font-size:13px}.diff-viewer-file-delta[data-v-4e7bdbb5]{background-color:var(--color-zinc-100,oklch(96.7% .001 286.375));padding-inline:calc(var(--spacing,.25rem) * 2.5);padding-block:calc(var(--spacing,.25rem) * 1);--tw-font-weight:var(--font-weight-medium,500);font-size:11px;font-weight:var(--font-weight-medium,500);color:var(--color-zinc-600,oklch(44.2% .017 285.786));border-radius:3.40282e38px;align-items:center;display:inline-flex}.diff-viewer-main[data-v-4e7bdbb5]{min-height:calc(var(--spacing,.25rem) * 0);background-color:var(--color-white,#fff);flex-direction:column;display:flex}.diff-viewer-toolbar[data-v-4e7bdbb5]{justify-content:space-between;align-items:flex-start;gap:calc(var(--spacing,.25rem) * 4);border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-zinc-200,oklch(92% .004 286.32));padding-inline:calc(var(--spacing,.25rem) * 5);padding-block:calc(var(--spacing,.25rem) * 4);display:flex}.diff-viewer-toolbar-actions[data-v-4e7bdbb5]{align-items:center;gap:calc(var(--spacing,.25rem) * 2);flex-shrink:0;display:flex}.diff-viewer-title-wrap[data-v-4e7bdbb5]{min-width:calc(var(--spacing,.25rem) * 0)}.diff-viewer-title[data-v-4e7bdbb5]{margin:calc(var(--spacing,.25rem) * 0);font-size:var(--text-base,1rem);line-height:var(--tw-leading,var(--text-base--line-height, 1.5 ));--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600);word-break:break-all;color:var(--color-zinc-900,oklch(21% .006 285.885))}.diff-viewer-subtitle[data-v-4e7bdbb5]{margin-top:calc(var(--spacing,.25rem) * 1);margin-bottom:calc(var(--spacing,.25rem) * 0);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));color:var(--color-zinc-500,oklch(55.2% .016 285.938))}.diff-viewer-close[data-v-4e7bdbb5]{border-color:var(--color-zinc-200,oklch(92% .004 286.32));background-color:var(--color-zinc-100,oklch(96.7% .001 286.375));color:var(--color-zinc-700,oklch(37% .013 285.805));flex-shrink:0;position:static}.diff-viewer-mobile-files-button[data-v-4e7bdbb5]{border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-zinc-200,oklch(92% .004 286.32));background-color:var(--color-zinc-100,oklch(96.7% .001 286.375));padding-inline:calc(var(--spacing,.25rem) * 3);padding-block:calc(var(--spacing,.25rem) * 1.5);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);color:var(--color-zinc-700,oklch(37% .013 285.805));border-radius:3.40282e38px;align-items:center;display:inline-flex}.diff-viewer-empty[data-v-4e7bdbb5]{min-height:calc(var(--spacing,.25rem) * 0);padding-inline:calc(var(--spacing,.25rem) * 6);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.diff-viewer-empty-title[data-v-4e7bdbb5]{margin:calc(var(--spacing,.25rem) * 0);font-size:var(--text-base,1rem);line-height:var(--tw-leading,var(--text-base--line-height, 1.5 ));--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600);color:var(--color-zinc-900,oklch(21% .006 285.885))}.diff-viewer-empty-text[data-v-4e7bdbb5]{margin-top:calc(var(--spacing,.25rem) * 2);max-width:var(--container-2xl,42rem);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));--tw-leading:var(--leading-relaxed,1.625);line-height:var(--leading-relaxed,1.625);color:var(--color-zinc-500,oklch(55.2% .016 285.938))}.diff-viewer-panel[data-v-4e7bdbb5]{min-height:calc(var(--spacing,.25rem) * 0);flex-direction:column;flex:1;display:flex}.diff-viewer-meta[data-v-4e7bdbb5]{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-zinc-200,oklch(92% .004 286.32));background-color:var(--color-zinc-50,oklch(98.5% 0 0));padding-inline:calc(var(--spacing,.25rem) * 5);padding-block:calc(var(--spacing,.25rem) * 2)}.diff-viewer-language[data-v-4e7bdbb5]{background-color:var(--color-zinc-200,oklch(92% .004 286.32));padding-inline:calc(var(--spacing,.25rem) * 2.5);padding-block:calc(var(--spacing,.25rem) * 1);--tw-font-weight:var(--font-weight-semibold,600);font-size:11px;font-weight:var(--font-weight-semibold,600);--tw-tracking:.08em;letter-spacing:.08em;color:var(--color-zinc-700,oklch(37% .013 285.805));text-transform:uppercase;border-radius:3.40282e38px;align-items:center;display:inline-flex}.diff-viewer-lines[data-v-4e7bdbb5]{min-height:calc(var(--spacing,.25rem) * 0);background-color:var(--color-zinc-950,oklch(14.1% .005 285.823));flex:1;overflow:auto}.diff-viewer-line[data-v-4e7bdbb5]{grid-template-columns:4rem 4rem 2rem minmax(0,1fr);align-items:stretch;min-width:fit-content;display:grid}.diff-viewer-line-number[data-v-4e7bdbb5]{border-right-style:var(--tw-border-style);border-right-width:1px;border-color:var(--color-zinc-800,oklch(27.4% .006 286.033));padding-inline:calc(var(--spacing,.25rem) * 3);padding-block:calc(var(--spacing,.25rem) * 1.5);text-align:right;font-family:var(--font-mono,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));color:var(--color-zinc-500,oklch(55.2% .016 285.938));-webkit-user-select:none;user-select:none}.diff-viewer-line-marker[data-v-4e7bdbb5]{border-right-style:var(--tw-border-style);border-right-width:1px;border-color:var(--color-zinc-800,oklch(27.4% .006 286.033));padding-inline:calc(var(--spacing,.25rem) * 2);padding-block:calc(var(--spacing,.25rem) * 1.5);text-align:center;font-family:var(--font-mono,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));color:var(--color-zinc-500,oklch(55.2% .016 285.938));-webkit-user-select:none;user-select:none}.diff-viewer-line-code[data-v-4e7bdbb5]{padding-inline:calc(var(--spacing,.25rem) * 3);padding-block:calc(var(--spacing,.25rem) * 1.5);font-family:var(--font-mono,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);--tw-leading:calc(var(--spacing,.25rem) * 5);font-size:12px;line-height:calc(var(--spacing,.25rem) * 5);white-space:pre;color:var(--color-zinc-100,oklch(96.7% .001 286.375));display:block}.diff-viewer-line[data-kind=meta][data-v-4e7bdbb5]{background-color:var(--color-zinc-900,oklch(21% .006 285.885))}.diff-viewer-line[data-kind=meta] .diff-viewer-line-code[data-v-4e7bdbb5],.diff-viewer-line[data-kind=meta] .diff-viewer-line-marker[data-v-4e7bdbb5]{color:var(--color-sky-300,oklch(82.8% .111 230.318))}.diff-viewer-line[data-kind=hunk][data-v-4e7bdbb5]{background-color:#052f4a66}@supports (color:color-mix(in lab,red,red)){.diff-viewer-line[data-kind=hunk][data-v-4e7bdbb5]{background-color:color-mix(in oklab,var(--color-sky-950,oklch(29.3% .066 243.157)) 40%,transparent)}}.diff-viewer-line[data-kind=hunk] .diff-viewer-line-code[data-v-4e7bdbb5],.diff-viewer-line[data-kind=hunk] .diff-viewer-line-marker[data-v-4e7bdbb5]{color:var(--color-sky-300,oklch(82.8% .111 230.318))}.diff-viewer-line[data-kind=add][data-v-4e7bdbb5]{background:#14532d61}.diff-viewer-line[data-kind=add] .diff-viewer-line-marker[data-v-4e7bdbb5],.diff-viewer-line[data-kind=add] .diff-viewer-line-code[data-v-4e7bdbb5]{color:var(--color-emerald-200,oklch(90.5% .093 164.15))}.diff-viewer-line[data-kind=remove][data-v-4e7bdbb5]{background:#7f1d1d52}.diff-viewer-line[data-kind=remove] .diff-viewer-line-marker[data-v-4e7bdbb5],.diff-viewer-line[data-kind=remove] .diff-viewer-line-code[data-v-4e7bdbb5]{color:var(--color-rose-200,oklch(89.2% .058 10.001))}.diff-viewer-line[data-kind=context][data-v-4e7bdbb5]{background-color:var(--color-zinc-950,oklch(14.1% .005 285.823))}.diff-viewer-line[data-kind=context] .diff-viewer-line-code[data-v-4e7bdbb5]{color:var(--color-zinc-100,oklch(96.7% .001 286.375))}.diff-viewer-mobile-sheet-backdrop[data-v-4e7bdbb5]{inset:calc(var(--spacing,.25rem) * 0);z-index:20;background-color:#00000059;align-items:flex-end;display:flex;position:absolute}@supports (color:color-mix(in lab,red,red)){.diff-viewer-mobile-sheet-backdrop[data-v-4e7bdbb5]{background-color:color-mix(in oklab,var(--color-black,#000) 35%,transparent)}}.diff-viewer-mobile-sheet[data-v-4e7bdbb5]{border-top-left-radius:var(--radius-3xl,1.5rem);border-top-right-radius:var(--radius-3xl,1.5rem);border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--color-zinc-200,oklch(92% .004 286.32));background-color:var(--color-white,#fff);--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);width:100%;max-height:70vh;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);flex-direction:column;display:flex;overflow:hidden}.diff-viewer-mobile-sheet-handle[data-v-4e7bdbb5]{margin-inline:auto;margin-top:calc(var(--spacing,.25rem) * 3);height:calc(var(--spacing,.25rem) * 1.5);width:calc(var(--spacing,.25rem) * 12);background-color:var(--color-zinc-300,oklch(87.1% .006 286.286));border-radius:3.40282e38px}.diff-viewer-mobile-sheet-header[data-v-4e7bdbb5]{justify-content:space-between;align-items:center;gap:calc(var(--spacing,.25rem) * 3);border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-zinc-200,oklch(92% .004 286.32));padding-inline:calc(var(--spacing,.25rem) * 4);padding-top:calc(var(--spacing,.25rem) * 3);padding-bottom:calc(var(--spacing,.25rem) * 2);display:flex}.diff-viewer-mobile-sheet-list[data-v-4e7bdbb5]{min-height:calc(var(--spacing,.25rem) * 0);gap:calc(var(--spacing,.25rem) * 2);padding-inline:calc(var(--spacing,.25rem) * 3);padding-block:calc(var(--spacing,.25rem) * 3);flex-direction:column;display:flex;overflow-y:auto}.diff-viewer-sheet-enter-active[data-v-4e7bdbb5],.diff-viewer-sheet-leave-active[data-v-4e7bdbb5]{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));--tw-duration:.2s;transition-duration:.2s}.diff-viewer-sheet-enter-active .diff-viewer-mobile-sheet[data-v-4e7bdbb5],.diff-viewer-sheet-leave-active .diff-viewer-mobile-sheet[data-v-4e7bdbb5]{transition:transform .2s}.diff-viewer-sheet-enter-from[data-v-4e7bdbb5],.diff-viewer-sheet-leave-to[data-v-4e7bdbb5]{opacity:0}.diff-viewer-sheet-enter-from .diff-viewer-mobile-sheet[data-v-4e7bdbb5],.diff-viewer-sheet-leave-to .diff-viewer-mobile-sheet[data-v-4e7bdbb5]{transform:translateY(100%)}@media(max-width:767px){.diff-viewer-backdrop[data-v-4e7bdbb5]{padding:calc(var(--spacing,.25rem) * 0);align-items:stretch}.diff-viewer-shell[data-v-4e7bdbb5]{border-style:var(--tw-border-style);--tw-shadow:0 0 #0000;width:100vw;height:100dvh;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-width:0;border-radius:0}.diff-viewer-main[data-v-4e7bdbb5]{min-width:calc(var(--spacing,.25rem) * 0)}.diff-viewer-toolbar[data-v-4e7bdbb5]{top:calc(var(--spacing,.25rem) * 0);z-index:10;background-color:var(--color-white,#fff);padding-inline:calc(var(--spacing,.25rem) * 3);padding-block:calc(var(--spacing,.25rem) * 3);position:sticky}.diff-viewer-title[data-v-4e7bdbb5]{font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));--tw-leading:calc(var(--spacing,.25rem) * 5);line-height:calc(var(--spacing,.25rem) * 5)}.diff-viewer-subtitle[data-v-4e7bdbb5]{font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)))}.diff-viewer-meta[data-v-4e7bdbb5]{padding-inline:calc(var(--spacing,.25rem) * 3);padding-block:calc(var(--spacing,.25rem) * 2)}.diff-viewer-language[data-v-4e7bdbb5]{font-size:10px}.diff-viewer-line[data-v-4e7bdbb5]{grid-template-columns:2.75rem 2.75rem 1.5rem minmax(0,1fr)}.diff-viewer-line-number[data-v-4e7bdbb5]{padding-inline:calc(var(--spacing,.25rem) * 1.5);padding-block:calc(var(--spacing,.25rem) * 1);font-size:10px}.diff-viewer-line-marker[data-v-4e7bdbb5]{padding-inline:calc(var(--spacing,.25rem) * 1);padding-block:calc(var(--spacing,.25rem) * 1);font-size:10px}.diff-viewer-line-code[data-v-4e7bdbb5]{padding-inline:calc(var(--spacing,.25rem) * 2);padding-block:calc(var(--spacing,.25rem) * 1);--tw-leading:calc(var(--spacing,.25rem) * 5);font-size:11px;line-height:calc(var(--spacing,.25rem) * 5)}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-border-spacing-x{syntax:"<length>";inherits:false;initial-value:0}@property --tw-border-spacing-y{syntax:"<length>";inherits:false;initial-value:0}