spec-cat 0.1.21 → 0.1.22

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.
Files changed (117) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/_nuxt/{DqNujSig.js → B6Qdx9x3.js} +1 -1
  3. package/.output/public/_nuxt/BDt4jGdk.js +1 -0
  4. package/.output/public/_nuxt/CXlw6va7.js +1 -0
  5. package/.output/public/_nuxt/{N3ZxlKm3.js → CXuoBUW5.js} +1 -1
  6. package/.output/public/_nuxt/Ce5fR5lE.js +150 -0
  7. package/.output/public/_nuxt/CnyGP5yJ.js +1 -0
  8. package/.output/public/_nuxt/D2jWy6Yv.js +1 -0
  9. package/.output/public/_nuxt/DYq0avGL.js +1 -0
  10. package/.output/public/_nuxt/DuDc88rI.js +1 -0
  11. package/.output/public/_nuxt/{qt0TxNaY.js → NsKpYGKU.js} +1 -1
  12. package/.output/public/_nuxt/builds/latest.json +1 -1
  13. package/.output/public/_nuxt/builds/meta/23707bc3-d223-45cd-b9db-ffcc7aca2680.json +1 -0
  14. package/.output/public/_nuxt/default.eSO6fRPf.css +1 -0
  15. package/.output/public/_nuxt/entry.BtencOYX.css +1 -0
  16. package/.output/public/_nuxt/hWTomhWa.js +1 -0
  17. package/.output/public/_nuxt/useTheme.CYXKgjUm.css +1 -0
  18. package/.output/public/_nuxt/{DUodkQcr.js → xDSloGc6.js} +3 -3
  19. package/.output/public/_nuxt/z5m_gN1E.js +1 -0
  20. package/.output/server/chunks/_/git.mjs +7 -6
  21. package/.output/server/chunks/_/git.mjs.map +1 -1
  22. package/.output/server/chunks/_/git2.mjs.map +1 -1
  23. package/.output/server/chunks/_/gitApiHelpers.mjs +43 -0
  24. package/.output/server/chunks/_/gitApiHelpers.mjs.map +1 -0
  25. package/.output/server/chunks/build/client.precomputed.mjs +1 -1
  26. package/.output/server/chunks/build/client.precomputed.mjs.map +1 -1
  27. package/.output/server/chunks/nitro/nitro.mjs +676 -648
  28. package/.output/server/chunks/routes/api/git/branch-rename.post.mjs +5 -18
  29. package/.output/server/chunks/routes/api/git/branch-rename.post.mjs.map +1 -1
  30. package/.output/server/chunks/routes/api/git/branch.delete.mjs +5 -18
  31. package/.output/server/chunks/routes/api/git/branch.delete.mjs.map +1 -1
  32. package/.output/server/chunks/routes/api/git/branches.get.mjs +5 -18
  33. package/.output/server/chunks/routes/api/git/branches.get.mjs.map +1 -1
  34. package/.output/server/chunks/routes/api/git/checkout.post.mjs +5 -19
  35. package/.output/server/chunks/routes/api/git/checkout.post.mjs.map +1 -1
  36. package/.output/server/chunks/routes/api/git/cherry-pick.post.mjs +5 -18
  37. package/.output/server/chunks/routes/api/git/cherry-pick.post.mjs.map +1 -1
  38. package/.output/server/chunks/routes/api/git/clean.post.mjs +5 -19
  39. package/.output/server/chunks/routes/api/git/clean.post.mjs.map +1 -1
  40. package/.output/server/chunks/routes/api/git/commit/_id_.get.mjs +23 -26
  41. package/.output/server/chunks/routes/api/git/commit/_id_.get.mjs.map +1 -1
  42. package/.output/server/chunks/routes/api/git/commit.post.mjs +5 -19
  43. package/.output/server/chunks/routes/api/git/commit.post.mjs.map +1 -1
  44. package/.output/server/chunks/routes/api/git/diff.get.mjs +5 -24
  45. package/.output/server/chunks/routes/api/git/diff.get.mjs.map +1 -1
  46. package/.output/server/chunks/routes/api/git/fetch.post.mjs +5 -18
  47. package/.output/server/chunks/routes/api/git/fetch.post.mjs.map +1 -1
  48. package/.output/server/chunks/routes/api/git/file-diff.get.mjs +5 -24
  49. package/.output/server/chunks/routes/api/git/file-diff.get.mjs.map +1 -1
  50. package/.output/server/chunks/routes/api/git/graph.get.mjs +9 -20
  51. package/.output/server/chunks/routes/api/git/graph.get.mjs.map +1 -1
  52. package/.output/server/chunks/routes/api/git/log.get.mjs +5 -24
  53. package/.output/server/chunks/routes/api/git/log.get.mjs.map +1 -1
  54. package/.output/server/chunks/routes/api/git/merge-base.get.mjs +5 -24
  55. package/.output/server/chunks/routes/api/git/merge-base.get.mjs.map +1 -1
  56. package/.output/server/chunks/routes/api/git/merge.post.mjs +5 -18
  57. package/.output/server/chunks/routes/api/git/merge.post.mjs.map +1 -1
  58. package/.output/server/chunks/routes/api/git/pull.post.mjs +14 -26
  59. package/.output/server/chunks/routes/api/git/pull.post.mjs.map +1 -1
  60. package/.output/server/chunks/routes/api/git/push.post.mjs +15 -27
  61. package/.output/server/chunks/routes/api/git/push.post.mjs.map +1 -1
  62. package/.output/server/chunks/routes/api/git/rebase.post.mjs +10 -22
  63. package/.output/server/chunks/routes/api/git/rebase.post.mjs.map +1 -1
  64. package/.output/server/chunks/routes/api/git/remote.delete.mjs +5 -18
  65. package/.output/server/chunks/routes/api/git/remote.delete.mjs.map +1 -1
  66. package/.output/server/chunks/routes/api/git/remote.post.mjs +10 -22
  67. package/.output/server/chunks/routes/api/git/remote.post.mjs.map +1 -1
  68. package/.output/server/chunks/routes/api/git/remote.put.mjs +5 -18
  69. package/.output/server/chunks/routes/api/git/remote.put.mjs.map +1 -1
  70. package/.output/server/chunks/routes/api/git/remotes.get.mjs +5 -18
  71. package/.output/server/chunks/routes/api/git/remotes.get.mjs.map +1 -1
  72. package/.output/server/chunks/routes/api/git/reset.post.mjs +12 -24
  73. package/.output/server/chunks/routes/api/git/reset.post.mjs.map +1 -1
  74. package/.output/server/chunks/routes/api/git/revert.post.mjs +5 -18
  75. package/.output/server/chunks/routes/api/git/revert.post.mjs.map +1 -1
  76. package/.output/server/chunks/routes/api/git/show.get.mjs +5 -24
  77. package/.output/server/chunks/routes/api/git/show.get.mjs.map +1 -1
  78. package/.output/server/chunks/routes/api/git/stage.post.mjs +9 -22
  79. package/.output/server/chunks/routes/api/git/stage.post.mjs.map +1 -1
  80. package/.output/server/chunks/routes/api/git/stash-apply.post.mjs +5 -19
  81. package/.output/server/chunks/routes/api/git/stash-apply.post.mjs.map +1 -1
  82. package/.output/server/chunks/routes/api/git/stash-branch.post.mjs +5 -19
  83. package/.output/server/chunks/routes/api/git/stash-branch.post.mjs.map +1 -1
  84. package/.output/server/chunks/routes/api/git/stash-drop.post.mjs +5 -19
  85. package/.output/server/chunks/routes/api/git/stash-drop.post.mjs.map +1 -1
  86. package/.output/server/chunks/routes/api/git/stash-pop.post.mjs +5 -19
  87. package/.output/server/chunks/routes/api/git/stash-pop.post.mjs.map +1 -1
  88. package/.output/server/chunks/routes/api/git/stash.get.mjs +5 -25
  89. package/.output/server/chunks/routes/api/git/stash.get.mjs.map +1 -1
  90. package/.output/server/chunks/routes/api/git/stash.post.mjs +5 -19
  91. package/.output/server/chunks/routes/api/git/stash.post.mjs.map +1 -1
  92. package/.output/server/chunks/routes/api/git/state.get.mjs +5 -25
  93. package/.output/server/chunks/routes/api/git/state.get.mjs.map +1 -1
  94. package/.output/server/chunks/routes/api/git/status.get.mjs +5 -25
  95. package/.output/server/chunks/routes/api/git/status.get.mjs.map +1 -1
  96. package/.output/server/chunks/routes/api/git/tag/_name_.get.mjs +5 -18
  97. package/.output/server/chunks/routes/api/git/tag/_name_.get.mjs.map +1 -1
  98. package/.output/server/chunks/routes/api/git/tag-push.post.mjs +10 -22
  99. package/.output/server/chunks/routes/api/git/tag-push.post.mjs.map +1 -1
  100. package/.output/server/chunks/routes/api/git/tag.delete.mjs +5 -18
  101. package/.output/server/chunks/routes/api/git/tag.delete.mjs.map +1 -1
  102. package/.output/server/chunks/routes/api/git/tag.post.mjs +17 -29
  103. package/.output/server/chunks/routes/api/git/tag.post.mjs.map +1 -1
  104. package/.output/server/chunks/routes/api/git/unstage.post.mjs +5 -19
  105. package/.output/server/chunks/routes/api/git/unstage.post.mjs.map +1 -1
  106. package/.output/server/chunks/routes/api/repository/status.get.mjs +1 -1
  107. package/.output/server/package.json +1 -1
  108. package/package.json +1 -1
  109. package/.output/public/_nuxt/BIw1AQHU.js +0 -150
  110. package/.output/public/_nuxt/DBtLi_wJ.js +0 -1
  111. package/.output/public/_nuxt/DSDWvT5-.js +0 -1
  112. package/.output/public/_nuxt/K5rMM4le.js +0 -1
  113. package/.output/public/_nuxt/builds/meta/c0768eef-2dd5-410c-8648-edbd9e6c218c.json +0 -1
  114. package/.output/public/_nuxt/ddKcAgQK.js +0 -1
  115. package/.output/public/_nuxt/default.CZoNL3P_.css +0 -1
  116. package/.output/public/_nuxt/entry.DLBgeD7S.css +0 -1
  117. package/.output/public/_nuxt/sxXWehCn.js +0 -1
@@ -1 +0,0 @@
1
- import{u as g,_ as f,a as x,b as S}from"./ddKcAgQK.js";import{d as _,o as y,F as M,y as w,z as C,A as s,C as b,G as n,k as i}from"./DUodkQcr.js";const h={class:"p-6 max-w-2xl"},A={class:"mt-8 space-y-8"},B=_({__name:"settings",async setup(E){let r,a;const o=g(),d=S();y(()=>{o.hydrate()});const{data:p,pending:l,error:c}=([r,a]=M(()=>x("ai-providers",()=>$fetch("/api/ai/providers"))),r=await r,a(),r),m=i(()=>p.value?.providers??[]),u=i(()=>{const t=c.value;return t?t instanceof Error?t.message:String(t):null}),v=t=>{o.setProviderSelection(t),d.success("Settings saved")};return(t,e)=>(w(),C("div",h,[e[2]||(e[2]=s("h1",{class:"text-2xl font-bold text-retro-cyan font-mono"},"Settings",-1)),e[3]||(e[3]=s("p",{class:"mt-2 text-retro-muted"},"Configure your Spec Cat preferences.",-1)),s("div",A,[s("section",null,[e[0]||(e[0]=s("h2",{class:"text-lg font-mono text-retro-text mb-4"},"AI Provider",-1)),e[1]||(e[1]=s("p",{class:"text-sm text-retro-muted mb-4"}," Select the provider and model that should power new conversations. ",-1)),b(f,{providers:m.value,selected:n(o).providerSelection,permissionMode:n(o).permissionMode,pending:n(l),errorMessage:u.value,onSelect:v},null,8,["providers","selected","permissionMode","pending","errorMessage"])])])]))}});export{B as default};
@@ -1 +0,0 @@
1
- import{d as _,y as i,z as l,H as w,G as n,B as p,k as B,I as V,J as F,K as N,L as S,T,C as x,M as z,D as j,N as v,A as o,O as u,E as W,P as $,Q as C,R as D,g as k,o as q,S as L,U as P}from"./DUodkQcr.js";import{r as O,a as M,b as R,c as U}from"./K5rMM4le.js";const A=_({__name:"WorktreeStatusBadge",props:{status:{}},setup(t){const e=t,s=B(()=>({clean:{label:"clean",color:"text-retro-green bg-retro-green/20"},dirty:{label:"dirty",color:"text-retro-yellow bg-retro-yellow/20"},ahead:{label:"ahead",color:"text-retro-cyan bg-retro-cyan/20"},behind:{label:"behind",color:"text-retro-orange bg-retro-orange/20"},diverged:{label:"diverged",color:"text-retro-red bg-retro-red/20"}})[e.status]);return(a,h)=>(i(),l("span",{class:w(["px-1.5 py-0.5 text-[10px] font-mono uppercase rounded",n(s).color])},p(n(s).label),3))}}),E=V("worktree",{state:()=>({worktrees:[],currentBranch:"",mainWorktree:"",workingDirectory:"",loading:!1,error:null}),getters:{activeWorktree:t=>t.worktrees.find(e=>e.isCurrent),featureWorktrees:t=>t.worktrees.filter(e=>!e.isMain),mainWorktreeInfo:t=>t.worktrees.find(e=>e.isMain),hasWorktrees:t=>t.worktrees.length>1,dirtyWorktrees:t=>t.worktrees.filter(e=>e.status==="dirty")},actions:{async initialize(){if(!this.workingDirectory)try{const{cwd:t}=await $fetch("/api/cwd");this.workingDirectory=t}catch(t){console.error("Failed to get working directory:",t),this.workingDirectory=""}},async fetchWorktrees(){await this.initialize(),this.loading=!0,this.error=null;try{const t=await $fetch("/api/worktrees",{query:{workingDirectory:this.workingDirectory}});this.worktrees=t.worktrees,this.currentBranch=t.currentBranch,this.mainWorktree=t.mainWorktree}catch(t){this.error=t instanceof Error?t.message:"Failed to fetch worktrees",console.error("Failed to fetch worktrees:",t)}finally{this.loading=!1}},async createWorktree(t){await this.initialize(),this.loading=!0,this.error=null;try{const e=await $fetch("/api/worktrees",{method:"POST",query:{workingDirectory:this.workingDirectory},body:t});return e.success&&e.worktree?this.worktrees.push(e.worktree):e.error&&(this.error=e.error),e}catch(e){const s=e instanceof Error?e.message:"Failed to create worktree";return this.error=s,{success:!1,error:s}}finally{this.loading=!1}},async deleteWorktree(t,e=!1){await this.initialize(),this.loading=!0,this.error=null;try{const s=await $fetch(`/api/worktrees/${t}`,{method:"DELETE",query:{workingDirectory:this.workingDirectory,deleteBranch:e.toString()}});return s.success?this.worktrees=this.worktrees.filter(a=>a.name!==t):s.error&&(this.error=s.error),s}catch(s){const a=s instanceof Error?s.message:"Failed to delete worktree";return this.error=a,{success:!1,error:a}}finally{this.loading=!1}},async switchWorktree(t){await this.initialize(),this.loading=!0,this.error=null;try{const e=await $fetch(`/api/worktrees/${t}/switch`,{method:"POST",query:{workingDirectory:this.workingDirectory}});return e.success?(this.worktrees=this.worktrees.map(s=>({...s,isCurrent:s.name===t})),this.currentBranch=t):e.error&&(this.error=e.error),e}catch(e){const s=e instanceof Error?e.message:"Failed to switch worktree";return this.error=s,{success:!1,error:s}}finally{this.loading=!1}},clearError(){this.error=null}}}),H={class:"w-full max-w-md mx-4 bg-retro-dark border border-retro-border rounded-lg shadow-xl"},I={class:"flex items-center justify-between px-4 py-3 border-b border-retro-border"},K={key:0,class:"p-2 text-xs font-mono text-retro-red bg-retro-red/10 border border-retro-red/30 rounded"},G=["disabled"],J=["disabled"],Q={class:"flex justify-end gap-2 pt-2"},X=["disabled"],Y=["disabled"],Z=_({__name:"WorktreeCreateModal",props:{modelValue:{type:Boolean,default:!1},modelModifiers:{}},emits:["update:modelValue"],setup(t){const e=F(t,"modelValue"),s=E(),a=k(""),h=k(""),m=k(!1),f=k(""),b=async()=>{if(!a.value.trim()){f.value="Description is required";return}m.value=!0,f.value="";try{const d=await s.createWorktree({description:a.value.trim(),shortName:h.value.trim()||void 0});d.success?(a.value="",h.value="",e.value=!1):f.value=d.error||"Failed to create worktree"}catch(d){f.value=d instanceof Error?d.message:"Failed to create worktree"}finally{m.value=!1}},c=()=>{e.value=!1,a.value="",h.value="",f.value=""},g=d=>{d.key==="Escape"&&c()};return N(e,d=>{d?document.addEventListener("keydown",g):document.removeEventListener("keydown",g)}),(d,r)=>(i(),S(T,{to:"body"},[x(z,{"enter-active-class":"transition-opacity duration-200","enter-from-class":"opacity-0","enter-to-class":"opacity-100","leave-active-class":"transition-opacity duration-200","leave-from-class":"opacity-100","leave-to-class":"opacity-0"},{default:j(()=>[e.value?(i(),l("div",{key:0,class:"fixed inset-0 z-50 flex items-center justify-center bg-black/50 backdrop-blur-sm",onClick:v(c,["self"])},[o("div",H,[o("div",I,[r[2]||(r[2]=o("h3",{class:"text-sm font-mono text-retro-text"},"Create Worktree",-1)),o("button",{type:"button",class:"p-1 rounded text-retro-muted hover:text-retro-text hover:bg-retro-panel transition-colors",onClick:c},[x(n(O),{class:"h-4 w-4"})])]),o("form",{class:"p-4 space-y-4",onSubmit:v(b,["prevent"])},[n(f)?(i(),l("div",K,p(n(f)),1)):u("",!0),o("div",null,[r[3]||(r[3]=o("label",{class:"block text-xs font-mono text-retro-muted mb-1"},[W(" Feature Description "),o("span",{class:"text-retro-red"},"*")],-1)),$(o("input",{"onUpdate:modelValue":r[0]||(r[0]=y=>C(a)?a.value=y:null),type:"text",placeholder:"e.g., Add user authentication",class:"w-full px-3 py-2 text-sm font-mono bg-retro-black border border-retro-border rounded text-retro-text placeholder-retro-subtle focus:outline-none focus:border-retro-cyan",disabled:n(m)},null,8,G),[[D,n(a)]]),r[4]||(r[4]=o("p",{class:"mt-1 text-[10px] font-mono text-retro-subtle"}," A brief description of what this feature does ",-1))]),o("div",null,[r[5]||(r[5]=o("label",{class:"block text-xs font-mono text-retro-muted mb-1"},[W(" Short Name "),o("span",{class:"text-retro-subtle"},"(optional)")],-1)),$(o("input",{"onUpdate:modelValue":r[1]||(r[1]=y=>C(h)?h.value=y:null),type:"text",placeholder:"e.g., auth",class:"w-full px-3 py-2 text-sm font-mono bg-retro-black border border-retro-border rounded text-retro-text placeholder-retro-subtle focus:outline-none focus:border-retro-cyan",disabled:n(m)},null,8,J),[[D,n(h)]]),r[6]||(r[6]=o("p",{class:"mt-1 text-[10px] font-mono text-retro-subtle"}," Override the auto-generated branch name (e.g., 001-auth instead of 001-add-user-authentication) ",-1))]),o("div",Q,[o("button",{type:"button",class:"px-3 py-1.5 text-xs font-mono text-retro-muted hover:text-retro-text bg-retro-panel hover:bg-retro-border rounded transition-colors",disabled:n(m),onClick:c}," Cancel ",8,X),o("button",{type:"submit",class:"px-3 py-1.5 text-xs font-mono text-retro-black bg-retro-cyan hover:bg-retro-cyan/80 rounded transition-colors disabled:opacity-50 disabled:cursor-not-allowed",disabled:n(m)||!n(a).trim()},p(n(m)?"Creating...":"Create"),9,Y)])],32)])])):u("",!0)]),_:1})]))}}),ee={class:"h-full flex flex-col bg-retro-black"},te={class:"flex-shrink-0 h-12 flex items-center justify-between px-4 border-b border-retro-border bg-retro-dark"},re={class:"flex items-center gap-2"},oe={key:0,class:"px-4 py-2 bg-retro-red/20 border-b border-retro-red/50"},se={class:"text-xs font-mono text-retro-red"},ne={class:"flex-1 overflow-y-auto p-2 space-y-1"},ae={class:"flex items-start justify-between gap-2"},ie={class:"flex-1 min-w-0"},le={class:"flex items-center gap-2"},ce={key:0,class:"px-1.5 py-0.5 text-[10px] font-mono uppercase bg-retro-yellow/20 text-retro-yellow rounded"},de={key:1,class:"px-1.5 py-0.5 text-[10px] font-mono uppercase bg-retro-cyan/20 text-retro-cyan rounded"},ue={key:0,class:"mt-1 text-xs font-mono text-retro-muted truncate"},pe={class:"text-retro-subtle"},he={class:"mt-1 text-[10px] font-mono text-retro-subtle truncate"},me={class:"flex items-center gap-1 opacity-0 group-hover:opacity-100 transition-opacity"},fe=["onClick"],xe=["onClick"],be={key:0,class:"mt-2 text-[10px] font-mono text-retro-green"},ye={key:0,class:"flex flex-col items-center justify-center py-8 text-center"},ke=_({__name:"WorktreePanel",setup(t){const e=E(),s=k(!1);q(()=>{e.fetchWorktrees()});const a=()=>{e.fetchWorktrees()},h=()=>{s.value=!0},m=async b=>{await e.switchWorktree(b)},f=async b=>{confirm(`Delete worktree "${b}"? This will remove the worktree directory.`)&&await e.deleteWorktree(b,!1)};return(b,c)=>{const g=A,d=Z;return i(),l("div",ee,[o("div",te,[c[1]||(c[1]=o("h2",{class:"text-sm font-mono text-retro-text"},"Worktrees",-1)),o("div",re,[o("button",{type:"button",class:"p-1.5 rounded text-retro-muted hover:text-retro-cyan hover:bg-retro-panel transition-colors",title:"Refresh",onClick:a},[x(n(M),{class:w(["h-4 w-4",{"animate-spin":n(e).loading}])},null,8,["class"])]),o("button",{type:"button",class:"p-1.5 rounded text-retro-muted hover:text-retro-green hover:bg-retro-panel transition-colors",title:"Create worktree",onClick:h},[x(n(R),{class:"h-4 w-4"})])])]),n(e).error?(i(),l("div",oe,[o("p",se,p(n(e).error),1)])):u("",!0),o("div",ne,[(i(!0),l(L,null,P(n(e).worktrees,r=>(i(),l("div",{key:r.name,class:w(["group p-3 rounded-md border transition-colors",[r.isCurrent?"bg-retro-cyan/10 border-retro-cyan":"bg-retro-panel border-retro-border hover:border-retro-muted"]])},[o("div",ae,[o("div",ie,[o("div",le,[o("span",{class:w(["font-mono text-sm truncate",r.isCurrent?"text-retro-cyan":"text-retro-text"])},p(r.name),3),x(g,{status:r.status},null,8,["status"]),r.isMain?(i(),l("span",ce," main ")):u("",!0),r.isCurrent?(i(),l("span",de," current ")):u("",!0)]),r.lastCommit?(i(),l("div",ue,[o("span",pe,p(r.lastCommit.shortHash),1),c[2]||(c[2]=o("span",{class:"mx-1"},"·",-1)),o("span",null,p(r.lastCommit.message),1)])):u("",!0),o("div",he,p(r.path),1)]),o("div",me,[!r.isCurrent&&!r.isMain?(i(),l("button",{key:0,type:"button",class:"p-1 rounded text-retro-muted hover:text-retro-cyan hover:bg-retro-dark transition-colors",title:"Switch to this worktree",onClick:v(y=>m(r.name),["stop"])},[x(n(M),{class:"h-3.5 w-3.5"})],8,fe)):u("",!0),r.isMain?u("",!0):(i(),l("button",{key:1,type:"button",class:"p-1 rounded text-retro-muted hover:text-retro-red hover:bg-retro-dark transition-colors",title:"Delete worktree",onClick:v(y=>f(r.name),["stop"])},[x(n(U),{class:"h-3.5 w-3.5"})],8,xe))])]),r.commitCount>0?(i(),l("div",be,p(r.commitCount)+" commit"+p(r.commitCount>1?"s":"")+" ahead ",1)):u("",!0)],2))),128)),!n(e).loading&&n(e).worktrees.length===0?(i(),l("div",ye,[...c[3]||(c[3]=[o("p",{class:"text-sm font-mono text-retro-muted"},"No worktrees found",-1),o("p",{class:"mt-1 text-xs font-mono text-retro-subtle"},"Create a new worktree to start working on a feature",-1)])])):u("",!0)]),x(d,{modelValue:n(s),"onUpdate:modelValue":c[0]||(c[0]=r=>C(s)?s.value=r:null)},null,8,["modelValue"])])}}}),ve=_({__name:"index",setup(t){return(e,s)=>{const a=ke;return i(),S(a)}}});export{ve as default};
@@ -1 +0,0 @@
1
- import{y as e,z as r,A as o}from"./DUodkQcr.js";function i(t,n){return e(),r("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[o("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M16.023 9.348h4.992v-.001M2.985 19.644v-4.992m0 0h4.992m-4.993 0 3.181 3.183a8.25 8.25 0 0 0 13.803-3.7M4.031 9.865a8.25 8.25 0 0 1 13.803-3.7l3.181 3.182m0-4.991v4.99"})])}function s(t,n){return e(),r("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[o("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M12 4.5v15m7.5-7.5h-15"})])}function c(t,n){return e(),r("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[o("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m14.74 9-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 0 1-2.244 2.077H8.084a2.25 2.25 0 0 1-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 0 0-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 0 1 3.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 0 0-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 0 0-7.5 0"})])}function d(t,n){return e(),r("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[o("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M6 18 18 6M6 6l12 12"})])}export{i as a,s as b,c,d as r};
@@ -1 +0,0 @@
1
- {"id":"c0768eef-2dd5-410c-8648-edbd9e6c218c","timestamp":1773110045698,"prerendered":[]}
@@ -1 +0,0 @@
1
- import{a as j,aa as C,ab as q,X,ac as Y,K as V,ad as Z,k as P,ae as J,af as Q,g as H,s as N,Z as ee,ag as te,G as ae,ah as se,ai as re,aj as K,I as oe,a0 as ne,d as ie,y as _,z as b,A as g,B as S,O as I,S as L,U as B,H as O,E as le}from"./DUodkQcr.js";const ce={trailing:!0};function de(e,t=25,o={}){if(o={...ce,...o},!Number.isFinite(t))throw new TypeError("Expected `wait` to be a finite number");let i,r,p=[],s,a;const m=(u,d)=>(s=ue(e,u,d),s.finally(()=>{if(s=null,o.trailing&&a&&!r){const h=m(u,a);return a=null,h}}),s),v=function(...u){return o.trailing&&(a=u),s||new Promise(d=>{const h=!r&&o.leading;clearTimeout(r),r=setTimeout(()=>{r=null;const n=o.leading?i:m(this,u);a=null;for(const c of p)c(n);p=[]},t),h?(i=m(this,u),d(i)):p.push(d)})},l=u=>{u&&(clearTimeout(u),r=null)};return v.isPending=()=>!!r,v.cancel=()=>{l(r),p=[],a=null},v.flush=()=>{if(l(r),!a||s)return;const u=a;return a=null,m(this,u)},v}async function ue(e,t,o){return await e.apply(t,o)}const fe=Symbol.for("nuxt:client-only"),me=e=>e==="defer"||e===!1;function qe(...e){const t=typeof e[e.length-1]=="string"?e.pop():void 0;ye(e[0],e[1])&&e.unshift(t);let[o,i,r={}]=e,p=!1;const s=P(()=>re(o));if(typeof s.value!="string")throw new TypeError("[nuxt] [useAsyncData] key must be a string.");if(typeof i!="function")throw new TypeError("[nuxt] [useAsyncData] handler must be a function.");const a=j();r.server??=!0,r.default??=he,r.getCachedData??=U,r.lazy??=!1,r.immediate??=!0,r.deep??=C.deep,r.dedupe??="cancel",r._functionName,a._asyncData[s.value];function m(){const n={cause:"initial",dedupe:r.dedupe};return a._asyncData[s.value]?._init||(n.cachedData=r.getCachedData(s.value,a,{cause:"initial"}),a._asyncData[s.value]=$(a,s.value,i,r,n.cachedData)),()=>a._asyncData[s.value].execute(n)}const v=m(),l=a._asyncData[s.value];l._deps++;const u=r.server!==!1&&a.payload.serverRendered;{let n=function(y){const f=a._asyncData[y];f?._deps&&(f._deps--,f._deps===0&&f?._off())};const c=J();if(c&&u&&r.immediate&&!c.sp&&(c.sp=[]),c&&!c._nuxtOnBeforeMountCbs){c._nuxtOnBeforeMountCbs=[];const y=c._nuxtOnBeforeMountCbs;q(()=>{y.forEach(f=>{f()}),y.splice(0,y.length)}),X(()=>y.splice(0,y.length))}const x=c&&(c._nuxtClientOnly||Y(fe,!1));u&&a.isHydrating&&(l.error.value||l.data.value!=null)?(l.pending.value=!1,l.status.value=l.error.value?"error":"success"):c&&(!x&&a.payload.serverRendered&&a.isHydrating||r.lazy)&&r.immediate?c._nuxtOnBeforeMountCbs.push(v):r.immediate&&v();const D=Q(),M=V(s,(y,f)=>{if((y||f)&&y!==f){p=!0;const R=a._asyncData[f]?.data.value!==C.value,W=a._asyncDataPromises[f]!==void 0,G={cause:"initial",dedupe:r.dedupe};if(!a._asyncData[y]?._init){let T;f&&R?T=a._asyncData[f].data.value:(T=r.getCachedData(y,a,{cause:"initial"}),G.cachedData=T),a._asyncData[y]=$(a,y,i,r,T)}a._asyncData[y]._deps++,f&&n(f),(r.immediate||R||W)&&a._asyncData[y].execute(G),K(()=>{p=!1})}},{flush:"sync"}),E=r.watch?V(r.watch,()=>{p||(a._asyncData[s.value]?._execute.isPending()&&K(()=>{a._asyncData[s.value]?._execute.flush()}),a._asyncData[s.value]?._execute({cause:"watch",dedupe:r.dedupe}))}):()=>{};D&&Z(()=>{M(),E(),n(s.value)})}const d={data:k(()=>a._asyncData[s.value]?.data),pending:k(()=>a._asyncData[s.value]?.pending),status:k(()=>a._asyncData[s.value]?.status),error:k(()=>a._asyncData[s.value]?.error),refresh:(...n)=>a._asyncData[s.value]?._init?a._asyncData[s.value].execute(...n):m()(),execute:(...n)=>d.refresh(...n),clear:()=>{const n=a._asyncData[s.value];if(n?._abortController)try{n._abortController.abort(new DOMException("AsyncData aborted by user.","AbortError"))}finally{n._abortController=void 0}z(a,s.value)}},h=Promise.resolve(a._asyncDataPromises[s.value]).then(()=>d);return Object.assign(h,d),h}function k(e){return P({get(){return e()?.value},set(t){const o=e();o&&(o.value=t)}})}function ye(e,t){return!(typeof e=="string"||typeof e=="object"&&e!==null||typeof e=="function"&&typeof t=="function")}function z(e,t){t in e.payload.data&&(e.payload.data[t]=void 0),t in e.payload._errors&&(e.payload._errors[t]=C.errorValue),e._asyncData[t]&&(e._asyncData[t].data.value=void 0,e._asyncData[t].error.value=C.errorValue,e._asyncData[t].pending.value=!1,e._asyncData[t].status.value="idle"),t in e._asyncDataPromises&&(e._asyncDataPromises[t]=void 0)}function pe(e,t){const o={};for(const i of t)o[i]=e[i];return o}function $(e,t,o,i,r){e.payload._errors[t]??=C.errorValue;const p=i.getCachedData!==U,s=o,a=i.deep?H:N,m=r!=null,v=e.hook("app:data:refresh",async u=>{(!u||u.includes(t))&&await l.execute({cause:"refresh:hook"})}),l={data:a(m?r:i.default()),pending:N(!m),error:se(e.payload._errors,t),status:N("idle"),execute:(...u)=>{const[d,h=void 0]=u,n=d&&h===void 0&&typeof d=="object"?d:{};if(e._asyncDataPromises[t]&&me(n.dedupe??i.dedupe))return e._asyncDataPromises[t];if(n.cause==="initial"||e.isHydrating){const D="cachedData"in n?n.cachedData:i.getCachedData(t,e,{cause:n.cause??"refresh:manual"});if(D!=null)return e.payload.data[t]=l.data.value=D,l.error.value=C.errorValue,l.status.value="success",Promise.resolve(D)}l.pending.value=!0,l._abortController&&l._abortController.abort(new DOMException("AsyncData request cancelled by deduplication","AbortError")),l._abortController=new AbortController,l.status.value="pending";const c=new AbortController,x=new Promise((D,M)=>{try{const E=n.timeout??i.timeout,y=ge([l._abortController?.signal,n?.signal],c.signal,E);if(y.aborted){const f=y.reason;M(f instanceof Error?f:new DOMException(String(f??"Aborted"),"AbortError"));return}return y.addEventListener("abort",()=>{const f=y.reason;M(f instanceof Error?f:new DOMException(String(f??"Aborted"),"AbortError"))},{once:!0,signal:c.signal}),Promise.resolve(s(e,{signal:y})).then(D,M)}catch(E){M(E)}}).then(async D=>{let M=D;i.transform&&(M=await i.transform(D)),i.pick&&(M=pe(M,i.pick)),e.payload.data[t]=M,l.data.value=M,l.error.value=C.errorValue,l.status.value="success"}).catch(D=>{if(e._asyncDataPromises[t]&&e._asyncDataPromises[t]!==x||l._abortController?.signal.aborted)return e._asyncDataPromises[t];if(typeof DOMException<"u"&&D instanceof DOMException&&D.name==="AbortError")return l.status.value="idle",e._asyncDataPromises[t];l.error.value=te(D),l.data.value=ae(i.default()),l.status.value="error"}).finally(()=>{l.pending.value=!1,c.abort(),delete e._asyncDataPromises[t]});return e._asyncDataPromises[t]=x,e._asyncDataPromises[t]},_execute:de((...u)=>l.execute(...u),0,{leading:!0}),_default:i.default,_deps:0,_init:!0,_hash:void 0,_off:()=>{v(),e._asyncData[t]?._init&&(e._asyncData[t]._init=!1),p||ee(()=>{e._asyncData[t]?._init||(z(e,t),l.execute=()=>Promise.resolve(),l.data.value=C.value)})}};return l}const he=()=>C.value,U=(e,t,o)=>{if(t.isHydrating)return t.payload.data[e];if(o.cause!=="refresh:manual"&&o.cause!=="refresh:hook")return t.static.data[e]};function ge(e,t,o){const i=e.filter(s=>!!s);if(typeof o=="number"&&o>=0){const s=AbortSignal.timeout?.(o);s&&i.push(s)}if(AbortSignal.any)return AbortSignal.any(i);const r=new AbortController;for(const s of i)if(s.aborted){const a=s.reason??new DOMException("Aborted","AbortError");try{r.abort(a)}catch{r.abort()}return r.signal}const p=()=>{const a=i.find(m=>m.aborted)?.reason??new DOMException("Aborted","AbortError");try{r.abort(a)}catch{r.abort()}};for(const s of i)s.addEventListener?.("abort",p,{once:!0,signal:t});return r.signal}const F="claude",w="sonnet",ve=[{value:"sonnet",label:"Sonnet",description:"Balanced performance and cost"},{value:"opus",label:"Opus",description:"Most capable, higher cost"},{value:"haiku",label:"Haiku",description:"Fast and cost-effective"}];function _e(e){if(!e)return{};const t={},o=typeof e.claudeModel=="string"&&ve.some(r=>r.value===e.claudeModel)?e.claudeModel:void 0;typeof e.providerId=="string"?(t.providerId=e.providerId,typeof e.providerModelKey=="string"&&e.providerModelKey.length>0?t.providerModelKey=e.providerModelKey:o?t.providerModelKey=o:t.providerModelKey=w):o&&(t.providerId="claude",t.providerModelKey=o),(e.theme==="dark"||e.theme==="light")&&(t.theme=e.theme);const i=e.permissionMode;return i&&["plan","ask","auto","bypass"].includes(String(i))&&(t.permissionMode=i),typeof e.autoGenerateCommitMessages=="boolean"&&(t.autoGenerateCommitMessages=e.autoGenerateCommitMessages),t}const be=oe("settings",{state:()=>({providerId:F,providerModelKey:w,theme:"dark",permissionMode:"ask",autoGenerateCommitMessages:!1,_hydrated:!1}),getters:{providerSelection:e=>({providerId:e.providerId,modelKey:e.providerModelKey})},actions:{async hydrate(){if(!this._hydrated)try{const e=await $fetch("/api/settings"),t=_e(e);t.providerId!==void 0&&(this.providerId=t.providerId),t.providerModelKey!==void 0&&(this.providerModelKey=t.providerModelKey),t.theme!==void 0&&(this.theme=t.theme),t.permissionMode!==void 0&&(this.permissionMode=t.permissionMode),t.autoGenerateCommitMessages!==void 0&&(this.autoGenerateCommitMessages=t.autoGenerateCommitMessages),this._hydrated=!0}catch(e){console.error("Failed to load settings:",e)}},setTheme(e){this.theme=e,this._saveToServer()},setProviderSelection(e){this.providerId=e.providerId,this.providerModelKey=typeof e.modelKey=="string"&&e.modelKey.length>0?e.modelKey:w,this._saveToServer(!0)},setPermissionMode(e){this.permissionMode=e,this._saveToServer()},setAutoGenerateCommitMessages(e){this.autoGenerateCommitMessages=e,this._saveToServer()},resetToDefaults(){this.providerId=F,this.providerModelKey=w,this.theme="dark",this.permissionMode="ask",this.autoGenerateCommitMessages=!1,this._saveToServer()},_saveToServer(e=!1){const t={providerId:this.providerId,providerModelKey:this.providerModelKey,claudeModel:this.providerId==="claude"?this.providerModelKey:void 0,theme:this.theme,permissionMode:this.permissionMode,autoGenerateCommitMessages:this.autoGenerateCommitMessages};$fetch("/api/settings",{method:"POST",body:t}).then(o=>{if(!e||!o?.settings)return;const i=o.settings.providerId,r=o.settings.providerModelKey;typeof i=="string"&&(this.providerId=i),typeof r=="string"&&r.length>0&&(this.providerModelKey=r)}).catch(o=>{console.error("Failed to save settings:",o)})}}}),Xe=Object.freeze(Object.defineProperty({__proto__:null,useSettingsStore:be},Symbol.toStringTag,{value:"Module"})),A=H([]);function De(){const e=(s,a="info",m=3e3)=>{const v=`toast-${Date.now()}-${Math.random().toString(36).slice(2)}`,l={id:v,message:s,type:a,duration:m};return A.value.push(l),m>0&&setTimeout(()=>{t(v)},m),v},t=s=>{const a=A.value.findIndex(m=>m.id===s);a!==-1&&A.value.splice(a,1)},o=(s,a)=>e(s,"success",a),i=(s,a)=>e(s,"error",a),r=(s,a)=>e(s,"info",a),p=(s,a)=>e(s,"warning",a);return{toasts:ne(A),add:e,remove:t,success:o,error:i,info:r,warning:p}}const Ye=Object.freeze(Object.defineProperty({__proto__:null,useToast:De},Symbol.toStringTag,{value:"Module"}));function Ze(){return`blk-${Date.now()}-${Math.random().toString(36).substring(2,6)}`}function Je(e){return Array.isArray(e.contentBlocks)&&e.contentBlocks.length>0}const Me={plan:"Plan Mode",ask:"Ask Before",auto:"Auto Edit",bypass:"Bypass"},Qe={plan:"The assistant will create a plan before making changes",ask:"The assistant will ask before each action",auto:"The assistant can read and edit files automatically",bypass:"Skip all permission checks (dangerous)"},et=300,tt=600,at=400;function st(){return`msg-${Date.now()}-${Math.random().toString(36).substring(2,8)}`}const rt=2,ot=100,nt=80;function it(){return`conv-${Math.random().toString(36).slice(2,12)}`}function lt(e){const o=e.trim().replace(/\n/g," ");return o.length<=50?o:o.slice(0,50).trim()+"..."}function ct(e){if(!e||typeof e!="object")return!1;const t=e;return typeof t.id=="string"&&typeof t.title=="string"&&Array.isArray(t.messages)&&typeof t.createdAt=="string"&&typeof t.updatedAt=="string"&&typeof t.cwd=="string"}function dt(e){if(!e||typeof e!="object")return!1;const t=e;return typeof t.id=="string"&&typeof t.sourceConversationId=="string"&&typeof t.title=="string"&&Array.isArray(t.messages)&&typeof t.createdAt=="string"&&typeof t.updatedAt=="string"&&typeof t.archivedAt=="string"&&typeof t.cwd=="string"}const Ce={class:"space-y-3"},Se={key:0,class:"rounded border border-retro-border bg-retro-panel px-4 py-3"},xe={key:1,class:"rounded border border-retro-border bg-retro-panel px-4 py-3"},Ee={class:"text-xs font-mono text-retro-yellow"},Ie={key:2,class:"rounded border border-retro-border bg-retro-panel px-4 py-3"},Pe={key:3,class:"space-y-4"},Te={key:0,class:"text-xs font-mono text-retro-muted"},Oe={key:1,class:"text-xs font-mono text-retro-muted"},ke={class:"flex flex-col gap-2"},Ae={class:"flex flex-col gap-2"},we={class:"flex items-start justify-between gap-3"},Ne={class:"text-sm font-mono text-retro-text"},Le={key:0,class:"text-xs font-mono text-retro-yellow"},Be={key:1,class:"text-xs font-mono text-retro-yellow"},Re={class:"text-xs text-retro-muted leading-tight"},Ge={class:"flex flex-wrap gap-2"},Ve={key:0,class:"text-xs font-mono text-retro-yellow"},Ke={class:"space-y-1.5"},$e=["value","checked","disabled","onChange"],Fe={class:"flex-1 space-y-0.5"},He={class:"flex items-center gap-2"},ze={class:"text-sm font-mono text-retro-text"},Ue={key:0,class:"text-[0.55rem] font-mono uppercase tracking-[0.25em] text-retro-cyan border border-retro-cyan rounded-full px-2 py-0.5"},We={class:"text-xs text-retro-muted leading-tight"},ut=ie({__name:"ProviderSelector",props:{providers:{},selected:{},permissionMode:{},pending:{type:Boolean},errorMessage:{}},emits:["select"],setup(e,{emit:t}){const o=e,i=t,r=[{key:"streaming",label:"Streaming"},{key:"permissions",label:"Permissions"},{key:"resume",label:"Session Resume"},{key:"autoCommit",label:"Auto Commit"}],p=P(()=>o.permissionMode==="ask"||o.permissionMode==="plan"),s=P(()=>Me[o.permissionMode]),a=P(()=>!0);function m(d){const h=!p.value||d.capabilities.permissions,n=!a.value||d.capabilities.streaming;return h&&n}function v(d){return p.value&&!d.capabilities.permissions?`${d.name} cannot be used with ${s.value} because it does not expose permission prompts.`:a.value&&!d.capabilities.streaming?`${d.name} is unavailable because streaming runtime prerequisites are not satisfied.`:null}function l(d,h){m(d)&&i("select",{providerId:d.id,modelKey:h})}function u(d,h){return o.selected.providerId===d&&o.selected.modelKey===h}return(d,h)=>(_(),b("div",Ce,[e.pending?(_(),b("div",Se,[...h[0]||(h[0]=[g("p",{class:"text-xs font-mono text-retro-text"},"Loading providers…",-1)])])):e.errorMessage?(_(),b("div",xe,[g("p",Ee,"Unable to load providers: "+S(e.errorMessage),1)])):e.providers.length===0?(_(),b("div",Ie,[...h[1]||(h[1]=[g("p",{class:"text-xs font-mono text-retro-muted"},"No AI providers are configured on the server. Check with your administrator.",-1)])])):(_(),b("div",Pe,[p.value?(_(),b("p",Te," Permission mode "+S(s.value)+" requires a provider that supports permission prompts. Incompatible providers are disabled. ",1)):I("",!0),a.value?(_(),b("p",Oe," Chat currently requires a provider with streaming support. Providers without streaming are shown for preparation but disabled. ")):I("",!0),(_(!0),b(L,null,B(e.providers,n=>(_(),b("article",{key:n.id,class:O(["rounded border border-retro-border bg-retro-panel p-4 space-y-3 transition",{"border-retro-cyan bg-retro-cyan/5":e.selected.providerId===n.id,"hover:border-retro-muted":e.selected.providerId!==n.id}])},[g("div",ke,[g("div",Ae,[g("div",we,[g("span",Ne,S(n.name),1),p.value&&!n.capabilities.permissions?(_(),b("div",Le," Permissions missing ")):a.value&&!n.capabilities.streaming?(_(),b("div",Be," Streaming missing ")):I("",!0)]),g("p",Re,S(n.description),1),g("div",Ge,[(_(),b(L,null,B(r,c=>g("span",{key:c.key,class:O(["inline-flex items-center gap-1.5 rounded-full border px-2.5 py-0.5 text-[0.6rem] font-mono uppercase tracking-[0.18em]",n.capabilities[c.key]?"border-retro-cyan/70 text-retro-cyan bg-retro-cyan/10":"border-retro-border text-retro-muted bg-retro-dark/60"])},[g("span",{class:O(["h-1.5 w-1.5 rounded-full",n.capabilities[c.key]?"bg-retro-cyan":"bg-retro-muted"])},null,2),le(" "+S(c.label),1)],2)),64))])])]),v(n)?(_(),b("p",Ve,S(v(n)),1)):I("",!0),g("div",Ke,[(_(!0),b(L,null,B(n.models,c=>(_(),b("label",{key:c.key,class:O(["flex items-start gap-3 px-3 py-2 rounded border cursor-pointer transition-colors",[u(n.id,c.key)?"border-retro-cyan bg-retro-cyan/10":"border-retro-border bg-retro-panel hover:border-retro-muted",m(n)?"":"opacity-60 cursor-not-allowed"]])},[g("input",{type:"radio",name:"provider-model",value:`${n.id}:${c.key}`,checked:u(n.id,c.key),disabled:!m(n),class:"mt-1 h-3.5 w-3.5 text-retro-cyan accent-retro-cyan",onChange:x=>l(n,c.key)},null,40,$e),g("div",Fe,[g("div",He,[g("span",ze,S(c.label),1),c.default?(_(),b("span",Ue," Default ")):I("",!0)]),g("p",We,S(c.description),1)])],2))),128))])],2))),128))]))]))}});export{w as D,ot as M,at as P,rt as S,nt as W,ut as _,qe as a,De as b,dt as c,et as d,tt as e,it as f,st as g,F as h,ct as i,lt as j,Ze as k,Je as l,Me as m,Qe as n,Ye as o,Xe as s,be as u};
@@ -1 +0,0 @@
1
- .commit-body-rendered[data-v-29f450ea] a{color:var(--retro-blue,#60a5fa)}.commit-body-rendered[data-v-29f450ea] a:hover{text-decoration:underline}.commit-body-rendered[data-v-29f450ea] p{margin-bottom:.5rem}.commit-body-rendered[data-v-29f450ea] p:last-child{margin-bottom:0}.commit-body-rendered[data-v-29f450ea] ol,.commit-body-rendered[data-v-29f450ea] ul{margin-bottom:.5rem;padding-left:1.5rem}.commit-body-rendered[data-v-29f450ea] li{margin-bottom:.25rem}.commit-body-rendered[data-v-29f450ea] code{background-color:var(--retro-panel,#1e293b);border-radius:.25rem;font-size:.8125rem;padding:.125rem .375rem}.commit-body-rendered[data-v-29f450ea] pre{background-color:var(--retro-panel,#1e293b);border-radius:.25rem;margin-bottom:.5rem;overflow-x:auto;padding:.75rem}.commit-body-rendered[data-v-29f450ea] blockquote{border-left:3px solid var(--retro-muted,#64748b);color:var(--retro-muted,#64748b);margin-bottom:.5rem;margin-left:0;padding-left:.75rem}.fade-enter-active[data-v-7f64563b],.fade-leave-active[data-v-7f64563b]{transition:opacity .2s ease}.fade-enter-from[data-v-7f64563b],.fade-leave-to[data-v-7f64563b]{opacity:0}[data-v-d77d4160] .cm-target-line{background:linear-gradient(90deg,rgba(244,63,94,.28),rgba(244,63,94,.08) 75%,transparent);transition:background-color .24s ease}.spec-markdown h1{border-bottom:1px solid rgb(var(--color-retro-border));font-size:1.5rem;margin-bottom:.75rem;padding-bottom:.5rem}.spec-markdown h1,.spec-markdown h2{color:rgb(var(--color-retro-cyan));font-weight:700}.spec-markdown h2{font-size:1.25rem;margin-bottom:.5rem;margin-top:1.5rem}.spec-markdown h3{color:rgb(var(--color-retro-text));font-size:1.1rem;font-weight:600;margin-bottom:.375rem;margin-top:1.25rem}.spec-markdown h4,.spec-markdown h5,.spec-markdown h6{color:rgb(var(--color-retro-muted));font-size:.95rem;font-weight:600;margin-bottom:.25rem;margin-top:1rem}.spec-markdown p{line-height:1.7;margin-bottom:.625rem}.spec-markdown ol,.spec-markdown ul{margin-bottom:.625rem;padding-left:1.5rem}.spec-markdown ul{list-style-type:disc}.spec-markdown ol{list-style-type:decimal}.spec-markdown li{line-height:1.6;margin-bottom:.25rem}.spec-markdown strong{color:rgb(var(--color-retro-text));font-weight:700}.spec-markdown em{color:rgb(var(--color-retro-muted));font-style:italic}.spec-markdown a{color:rgb(var(--color-retro-cyan));text-decoration:underline}.spec-markdown code{border-radius:.25rem;color:rgb(var(--color-retro-green));font-size:.8125rem;padding:.125rem .375rem}.spec-markdown code,.spec-markdown pre{background:rgb(var(--color-retro-dark))}.spec-markdown pre{border:1px solid rgb(var(--color-retro-border));border-radius:.375rem;margin-bottom:.75rem;overflow-x:auto;padding:.75rem}.spec-markdown pre code{background:transparent;color:rgb(var(--color-retro-text));font-size:.8125rem;padding:0}.spec-markdown table{border-collapse:collapse;font-size:.8125rem;margin-bottom:.75rem;width:100%}.spec-markdown th{background:rgb(var(--color-retro-dark));color:rgb(var(--color-retro-cyan));font-weight:600;text-align:left}.spec-markdown td,.spec-markdown th{border:1px solid rgb(var(--color-retro-border));padding:.375rem .5rem}.spec-markdown hr{border:none;border-top:1px solid rgb(var(--color-retro-border));margin:1.25rem 0}.spec-markdown blockquote{border-left:3px solid rgb(var(--color-retro-cyan));color:rgb(var(--color-retro-muted));margin-bottom:.5rem;padding-left:.75rem}.spec-markdown input[type=checkbox]{margin-right:.375rem}.spec-markdown li:has(input[type=checkbox]){list-style-type:none;margin-left:-1.5rem}.snippet-markdown[data-v-5199b408] p{margin:0}.snippet-markdown[data-v-5199b408] code{color:rgb(var(--color-retro-cyan));font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.snippet-markdown[data-v-5199b408] strong{color:rgb(var(--color-retro-text))}.snippet-markdown[data-v-5199b408] mark{background:rgba(var(--color-retro-cyan),.24);border-radius:2px;color:rgb(var(--color-retro-text));padding:0 2px}.streaming-border[data-v-c0400047]{animation:streaming-border-pulse-c0400047 2.4s ease-in-out infinite}@keyframes streaming-border-pulse-c0400047{0%,to{border-color:rgb(var(--color-retro-orange)/.25);box-shadow:0 0 0 1px rgb(var(--color-retro-orange)/.15),0 0 rgb(var(--color-retro-orange)/0)}50%{border-color:rgb(var(--color-retro-orange)/.95);box-shadow:0 0 0 1px rgb(var(--color-retro-orange)/.85),0 0 12px 2px rgb(var(--color-retro-orange)/.35)}}.conflict-viewer{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12px;line-height:1.6}.conflict-code{min-width:-moz-fit-content;min-width:fit-content;padding:0}.conflict-line{display:flex;min-height:1.6em;padding:0 16px 0 0;white-space:pre}.conflict-line .line-number{color:rgb(var(--color-retro-muted)/.5);display:inline-block;flex-shrink:0;min-width:48px;padding:0 12px;text-align:right;-webkit-user-select:none;-moz-user-select:none;user-select:none}.conflict-line .line-content{flex:1;white-space:pre}.conflict-line.conflict-ours{background-color:rgb(var(--color-retro-cyan)/.08);border-left:3px solid rgb(var(--color-retro-cyan)/.4)}.conflict-line.conflict-ours .line-number{color:rgb(var(--color-retro-cyan)/.6)}.conflict-line.conflict-theirs{background-color:rgb(var(--color-retro-magenta)/.08);border-left:3px solid rgb(var(--color-retro-magenta)/.4)}.conflict-line.conflict-theirs .line-number{color:rgb(var(--color-retro-magenta)/.6)}.conflict-line.conflict-marker-line{background-color:rgb(var(--color-retro-yellow)/.1);border-left:3px solid rgb(var(--color-retro-yellow)/.5)}.conflict-line.conflict-marker-line .line-content{color:rgb(var(--color-retro-yellow)/.7);font-style:italic}.conflict-line.conflict-marker-line .line-number{color:rgb(var(--color-retro-yellow)/.5)}.conflict-inline-actions{background-color:rgb(var(--color-retro-yellow)/.06);border-left:3px solid rgb(var(--color-retro-yellow)/.35);display:flex;gap:6px;padding:4px 12px 6px 60px}.conflict-inline-button{background:rgb(var(--color-retro-panel)/.6);border:1px solid rgb(var(--color-retro-subtle)/.6);border-radius:4px;color:rgb(var(--color-retro-text));cursor:pointer;font-family:inherit;font-size:11px;height:20px;line-height:18px;padding:0 8px}.conflict-inline-button:hover{background:rgb(var(--color-retro-panel))}.conflict-inline-button-ours{border-color:rgb(var(--color-retro-cyan)/.55);color:rgb(var(--color-retro-cyan))}.conflict-inline-button-theirs{border-color:rgb(var(--color-retro-magenta)/.55);color:rgb(var(--color-retro-magenta))}.conflict-inline-button-both{border-color:rgb(var(--color-retro-green)/.55);color:rgb(var(--color-retro-green))}.conflict-line:not(.conflict-ours):not(.conflict-theirs):not(.conflict-marker-line){border-left:3px solid transparent}.diff-table[data-v-c726b0c5]{line-height:1.5}.diff-line-num[data-v-c726b0c5]{color:var(--retro-muted,#64748b);min-width:3rem;vertical-align:top}.diff-line-num[data-v-c726b0c5],.diff-sign[data-v-c726b0c5]{-webkit-user-select:none;-moz-user-select:none;user-select:none}.diff-sign[data-v-c726b0c5]{display:inline-block;width:1ch}.diff-add[data-v-c726b0c5]{background-color:#10b9811f}.diff-add .diff-line-num[data-v-c726b0c5]{background-color:#10b9812e}.diff-add .diff-line-content[data-v-c726b0c5],.diff-add .diff-sign[data-v-c726b0c5]{color:var(--retro-green,#10b981)}.diff-delete[data-v-c726b0c5]{background-color:#ef44441f}.diff-delete .diff-line-num[data-v-c726b0c5]{background-color:#ef44442e}.diff-delete .diff-line-content[data-v-c726b0c5],.diff-delete .diff-sign[data-v-c726b0c5]{color:var(--retro-red,#ef4444)}.diff-context .diff-line-content[data-v-c726b0c5]{color:var(--retro-text,#e2e8f0)}.diff-hunk-header[data-v-c726b0c5]{background-color:#06b6d414;color:var(--retro-cyan,#06b6d4);font-style:italic}.diff-warning td[data-v-c726b0c5]{border-bottom:1px solid var(--retro-border,#334155)}
@@ -1 +0,0 @@
1
- *,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}body,html{--tw-bg-opacity:1;background-color:rgb(var(--color-retro-black)/var(--tw-bg-opacity,1));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace,monospace;font-size:.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(var(--color-retro-text)/var(--tw-text-opacity,1));overflow:hidden}.container{width:100%}@media(min-width:640px){.container{max-width:640px}}@media(min-width:768px){.container{max-width:768px}}@media(min-width:1024px){.container{max-width:1024px}}@media(min-width:1280px){.container{max-width:1280px}}@media(min-width:1536px){.container{max-width:1536px}}.panel{border-width:1px;--tw-border-opacity:1;border-color:rgb(var(--color-retro-border)/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(var(--color-retro-panel)/var(--tw-bg-opacity,1));padding:.75rem}.\!input,.input{border-width:1px;--tw-border-opacity:1;border-color:rgb(var(--color-retro-border)/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(var(--color-retro-dark)/var(--tw-bg-opacity,1));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace,monospace;font-size:.875rem;line-height:1.25rem;padding:.5rem .75rem;--tw-text-opacity:1;color:rgb(var(--color-retro-text)/var(--tw-text-opacity,1))}.\!input:focus,.input:focus{--tw-border-opacity:1;border-color:rgb(var(--color-retro-cyan)/var(--tw-border-opacity,1));outline:2px solid transparent;outline-offset:2px}.\!input::-moz-placeholder{--tw-text-opacity:1;color:rgb(var(--color-retro-subtle)/var(--tw-text-opacity,1))}.\!input::placeholder{--tw-text-opacity:1;color:rgb(var(--color-retro-subtle)/var(--tw-text-opacity,1))}.input::-moz-placeholder{--tw-text-opacity:1;color:rgb(var(--color-retro-subtle)/var(--tw-text-opacity,1))}.input::placeholder{--tw-text-opacity:1;color:rgb(var(--color-retro-subtle)/var(--tw-text-opacity,1))}.scrollbar-custom::-webkit-scrollbar{height:8px;width:8px}.scrollbar-custom::-webkit-scrollbar-track{--tw-bg-opacity:1;background-color:rgb(var(--color-retro-black)/var(--tw-bg-opacity,1))}.scrollbar-custom::-webkit-scrollbar-thumb{border-radius:.25rem;--tw-bg-opacity:1;background-color:rgb(var(--color-retro-border)/var(--tw-bg-opacity,1))}.scrollbar-custom::-webkit-scrollbar-thumb:hover{--tw-bg-opacity:1;background-color:rgb(var(--color-retro-muted)/var(--tw-bg-opacity,1))}.feature-card-light{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-image:radial-gradient(circle at 15% 0,rgba(var(--color-retro-cyan),.18),transparent 40%),radial-gradient(circle at 85% 5%,rgba(var(--color-retro-magenta),.12),transparent 50%),linear-gradient(145deg,rgb(var(--color-feature-panel)) 0,rgb(var(--color-feature-border)));border-color:rgb(var(--color-feature-border));box-shadow:0 25px 45px #0f172a1f;transition:box-shadow .15s ease,border-color .15s ease}.feature-card-light:hover{border-color:rgb(var(--color-retro-muted));box-shadow:0 30px 55px #0f172a2e}.feature-card-active{background-image:radial-gradient(circle at 110% -15%,rgba(var(--color-retro-cyan),.35),transparent 55%),radial-gradient(circle at 45% 15%,rgba(var(--color-retro-pink),.18),transparent 60%),linear-gradient(150deg,rgba(var(--color-feature-panel),.9) 0,rgba(var(--color-retro-magenta),.2) 70%,rgb(var(--color-feature-border)));border-color:rgb(var(--color-retro-cyan));box-shadow:0 0 0 1px rgb(var(--color-retro-cyan)/.5),0 30px 60px rgba(var(--color-retro-cyan),.25);position:relative;z-index:1}.dark .feature-card-light{-webkit-backdrop-filter:none;backdrop-filter:none;background-image:linear-gradient(135deg,rgb(var(--color-retro-panel)) 0 55%,rgba(var(--color-retro-cyan),.05));border-color:rgb(var(--color-retro-border));box-shadow:none}.dark .feature-card-light:hover{border-color:rgb(var(--color-retro-muted))}.dark .feature-card-active{background-image:linear-gradient(135deg,rgba(var(--color-retro-cyan),.1) 0,rgb(var(--color-retro-panel)) 60%,rgba(var(--color-retro-magenta),.05));box-shadow:none}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.collapse{visibility:collapse}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.-right-2{right:-.5rem}.-top-2{top:-.5rem}.bottom-0{bottom:0}.bottom-4{bottom:1rem}.bottom-full{bottom:100%}.left-0{left:0}.left-2\.5{left:.625rem}.left-3{left:.75rem}.right-0{right:0}.right-1{right:.25rem}.right-1\.5{right:.375rem}.right-2{right:.5rem}.right-4{right:1rem}.top-0{top:0}.top-1\.5{top:.375rem}.top-1\/2{top:50%}.top-4{top:1rem}.top-full{top:100%}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-50{z-index:50}.mx-0\.5{margin-left:.125rem;margin-right:.125rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-bottom:.25rem;margin-top:.25rem}.my-2{margin-bottom:.5rem;margin-top:.5rem}.my-8{margin-bottom:2rem;margin-top:2rem}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.ml-0\.5{margin-left:.125rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-6{margin-left:1.5rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-8{margin-top:2rem}.\!block{display:block!important}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-20{height:5rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-9{height:2.25rem}.h-\[80vh\]{height:80vh}.h-\[94vh\]{height:94vh}.h-full{height:100%}.h-screen{height:100vh}.max-h-20{max-height:5rem}.max-h-36{max-height:9rem}.max-h-40{max-height:10rem}.max-h-52{max-height:13rem}.max-h-60{max-height:15rem}.max-h-\[300px\]{max-height:300px}.max-h-\[400px\]{max-height:400px}.max-h-\[50\%\]{max-height:50%}.max-h-\[58vh\]{max-height:58vh}.max-h-\[70vh\]{max-height:70vh}.min-h-0{min-height:0}.min-h-\[132px\]{min-height:132px}.min-h-\[40px\]{min-height:40px}.w-1\.5{width:.375rem}.w-10{width:2.5rem}.w-12{width:3rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-20{width:5rem}.w-24{width:6rem}.w-28{width:7rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-\[90vw\]{width:90vw}.w-\[96vw\]{width:96vw}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0}.min-w-12{min-width:3rem}.min-w-\[140px\]{min-width:140px}.min-w-\[200px\]{min-width:200px}.min-w-\[220px\]{min-width:220px}.min-w-\[320px\]{min-width:320px}.min-w-\[60px\]{min-width:60px}.min-w-\[760px\]{min-width:760px}.max-w-2xl{max-width:42rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}.max-w-\[154px\]{max-width:154px}.max-w-\[280px\]{max-width:280px}.max-w-\[42\%\]{max-width:42%}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.flex-grow-0{flex-grow:0}.border-collapse{border-collapse:collapse}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.translate-x-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0{--tw-translate-x:0px}.translate-x-4{--tw-translate-x:1rem}.translate-x-4,.translate-y-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-0{--tw-translate-y:0px}.translate-y-1{--tw-translate-y:.25rem}.translate-y-1,.translate-y-2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-2{--tw-translate-y:.5rem}.rotate-90{--tw-rotate:90deg}.rotate-90,.scale-100{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-95{--tw-scale-x:.95;--tw-scale-y:.95}.scale-95,.scale-\[0\.995\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-\[0\.995\]{--tw-scale-x:.995;--tw-scale-y:.995}.scale-\[0\.99\]{--tw-scale-x:.99;--tw-scale-y:.99}.scale-\[0\.99\],.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}.animate-bounce{animation:bounce 1s infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s ease-in-out infinite}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-context-menu{cursor:context-menu}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.resize-none{resize:none}.resize{resize:both}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-\[140px_1fr_1fr_1fr_120px\]{grid-template-columns:140px 1fr 1fr 1fr 120px}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-1{row-gap:.25rem}.space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(0px*var(--tw-space-y-reverse));margin-top:calc(0px*(1 - var(--tw-space-y-reverse)))}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.125rem*var(--tw-space-y-reverse));margin-top:calc(.125rem*(1 - var(--tw-space-y-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.375rem*var(--tw-space-y-reverse));margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse));margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(2rem*var(--tw-space-y-reverse));margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-sm{border-radius:.125rem}.rounded-xl{border-radius:.75rem}.rounded-r{border-bottom-right-radius:.25rem;border-top-right-radius:.25rem}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-l-2{border-left-width:2px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-red-400\/40{border-color:#f8727266}.border-retro-border{--tw-border-opacity:1;border-color:rgb(var(--color-retro-border)/var(--tw-border-opacity,1))}.border-retro-border\/20{border-color:rgb(var(--color-retro-border)/.2)}.border-retro-border\/30{border-color:rgb(var(--color-retro-border)/.3)}.border-retro-border\/40{border-color:rgb(var(--color-retro-border)/.4)}.border-retro-border\/50{border-color:rgb(var(--color-retro-border)/.5)}.border-retro-border\/60{border-color:rgb(var(--color-retro-border)/.6)}.border-retro-border\/70{border-color:rgb(var(--color-retro-border)/.7)}.border-retro-border\/80{border-color:rgb(var(--color-retro-border)/.8)}.border-retro-cyan{--tw-border-opacity:1;border-color:rgb(var(--color-retro-cyan)/var(--tw-border-opacity,1))}.border-retro-cyan\/30{border-color:rgb(var(--color-retro-cyan)/.3)}.border-retro-cyan\/40{border-color:rgb(var(--color-retro-cyan)/.4)}.border-retro-cyan\/50{border-color:rgb(var(--color-retro-cyan)/.5)}.border-retro-cyan\/70{border-color:rgb(var(--color-retro-cyan)/.7)}.border-retro-green\/30{border-color:rgb(var(--color-retro-green)/.3)}.border-retro-green\/40{border-color:rgb(var(--color-retro-green)/.4)}.border-retro-green\/50{border-color:rgb(var(--color-retro-green)/.5)}.border-retro-magenta{--tw-border-opacity:1;border-color:rgb(var(--color-retro-magenta)/var(--tw-border-opacity,1))}.border-retro-magenta\/50{border-color:rgb(var(--color-retro-magenta)/.5)}.border-retro-muted{--tw-border-opacity:1;border-color:rgb(var(--color-retro-muted)/var(--tw-border-opacity,1))}.border-retro-muted\/30{border-color:rgb(var(--color-retro-muted)/.3)}.border-retro-orange\/30{border-color:rgb(var(--color-retro-orange)/.3)}.border-retro-orange\/35{border-color:rgb(var(--color-retro-orange)/.35)}.border-retro-orange\/50{border-color:rgb(var(--color-retro-orange)/.5)}.border-retro-red{--tw-border-opacity:1;border-color:rgb(var(--color-retro-red)/var(--tw-border-opacity,1))}.border-retro-red\/30{border-color:rgb(var(--color-retro-red)/.3)}.border-retro-red\/35{border-color:rgb(var(--color-retro-red)/.35)}.border-retro-red\/40{border-color:rgb(var(--color-retro-red)/.4)}.border-retro-red\/50{border-color:rgb(var(--color-retro-red)/.5)}.border-retro-subtle\/50{border-color:rgb(var(--color-retro-subtle)/.5)}.border-retro-yellow{--tw-border-opacity:1;border-color:rgb(var(--color-retro-yellow)/var(--tw-border-opacity,1))}.border-retro-yellow\/25{border-color:rgb(var(--color-retro-yellow)/.25)}.border-retro-yellow\/30{border-color:rgb(var(--color-retro-yellow)/.3)}.border-retro-yellow\/40{border-color:rgb(var(--color-retro-yellow)/.4)}.border-retro-yellow\/50{border-color:rgb(var(--color-retro-yellow)/.5)}.border-transparent{border-color:transparent}.border-t-retro-cyan{--tw-border-opacity:1;border-top-color:rgb(var(--color-retro-cyan)/var(--tw-border-opacity,1))}.border-t-transparent{border-top-color:transparent}.bg-black\/50{background-color:#00000080}.bg-black\/60{background-color:#0009}.bg-black\/70{background-color:#000000b3}.bg-black\/75{background-color:#000000bf}.bg-black\/80{background-color:#000c}.bg-retro-black{--tw-bg-opacity:1;background-color:rgb(var(--color-retro-black)/var(--tw-bg-opacity,1))}.bg-retro-black\/50{background-color:rgb(var(--color-retro-black)/.5)}.bg-retro-black\/70{background-color:rgb(var(--color-retro-black)/.7)}.bg-retro-black\/80{background-color:rgb(var(--color-retro-black)/.8)}.bg-retro-border{--tw-bg-opacity:1;background-color:rgb(var(--color-retro-border)/var(--tw-bg-opacity,1))}.bg-retro-cyan{--tw-bg-opacity:1;background-color:rgb(var(--color-retro-cyan)/var(--tw-bg-opacity,1))}.bg-retro-cyan\/10{background-color:rgb(var(--color-retro-cyan)/.1)}.bg-retro-cyan\/15{background-color:rgb(var(--color-retro-cyan)/.15)}.bg-retro-cyan\/20{background-color:rgb(var(--color-retro-cyan)/.2)}.bg-retro-cyan\/5{background-color:rgb(var(--color-retro-cyan)/.05)}.bg-retro-dark{--tw-bg-opacity:1;background-color:rgb(var(--color-retro-dark)/var(--tw-bg-opacity,1))}.bg-retro-dark\/30{background-color:rgb(var(--color-retro-dark)/.3)}.bg-retro-dark\/50{background-color:rgb(var(--color-retro-dark)/.5)}.bg-retro-dark\/60{background-color:rgb(var(--color-retro-dark)/.6)}.bg-retro-dark\/70{background-color:rgb(var(--color-retro-dark)/.7)}.bg-retro-dark\/80{background-color:rgb(var(--color-retro-dark)/.8)}.bg-retro-dark\/90{background-color:rgb(var(--color-retro-dark)/.9)}.bg-retro-green{--tw-bg-opacity:1;background-color:rgb(var(--color-retro-green)/var(--tw-bg-opacity,1))}.bg-retro-green\/10{background-color:rgb(var(--color-retro-green)/.1)}.bg-retro-green\/15{background-color:rgb(var(--color-retro-green)/.15)}.bg-retro-green\/20{background-color:rgb(var(--color-retro-green)/.2)}.bg-retro-green\/30{background-color:rgb(var(--color-retro-green)/.3)}.bg-retro-magenta\/20{background-color:rgb(var(--color-retro-magenta)/.2)}.bg-retro-muted{--tw-bg-opacity:1;background-color:rgb(var(--color-retro-muted)/var(--tw-bg-opacity,1))}.bg-retro-muted\/50{background-color:rgb(var(--color-retro-muted)/.5)}.bg-retro-orange\/10{background-color:rgb(var(--color-retro-orange)/.1)}.bg-retro-orange\/15{background-color:rgb(var(--color-retro-orange)/.15)}.bg-retro-orange\/20{background-color:rgb(var(--color-retro-orange)/.2)}.bg-retro-panel{--tw-bg-opacity:1;background-color:rgb(var(--color-retro-panel)/var(--tw-bg-opacity,1))}.bg-retro-panel\/40{background-color:rgb(var(--color-retro-panel)/.4)}.bg-retro-panel\/60{background-color:rgb(var(--color-retro-panel)/.6)}.bg-retro-panel\/70{background-color:rgb(var(--color-retro-panel)/.7)}.bg-retro-panel\/95{background-color:rgb(var(--color-retro-panel)/.95)}.bg-retro-pink\/20{background-color:rgb(var(--color-retro-pink)/.2)}.bg-retro-red{--tw-bg-opacity:1;background-color:rgb(var(--color-retro-red)/var(--tw-bg-opacity,1))}.bg-retro-red\/10{background-color:rgb(var(--color-retro-red)/.1)}.bg-retro-red\/20{background-color:rgb(var(--color-retro-red)/.2)}.bg-retro-red\/5{background-color:rgb(var(--color-retro-red)/.05)}.bg-retro-red\/80{background-color:rgb(var(--color-retro-red)/.8)}.bg-retro-red\/90{background-color:rgb(var(--color-retro-red)/.9)}.bg-retro-subtle\/10{background-color:rgb(var(--color-retro-subtle)/.1)}.bg-retro-yellow{--tw-bg-opacity:1;background-color:rgb(var(--color-retro-yellow)/var(--tw-bg-opacity,1))}.bg-retro-yellow\/10{background-color:rgb(var(--color-retro-yellow)/.1)}.bg-retro-yellow\/15{background-color:rgb(var(--color-retro-yellow)/.15)}.bg-retro-yellow\/20{background-color:rgb(var(--color-retro-yellow)/.2)}.bg-retro-yellow\/30{background-color:rgb(var(--color-retro-yellow)/.3)}.bg-transparent{background-color:transparent}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-0\.5{padding-bottom:.125rem;padding-top:.125rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-1\.5{padding-bottom:.375rem;padding-top:.375rem}.py-12{padding-bottom:3rem;padding-top:3rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-2\.5{padding-bottom:.625rem;padding-top:.625rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-6{padding-bottom:1.5rem;padding-top:1.5rem}.py-8{padding-bottom:2rem;padding-top:2rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pl-10{padding-left:2.5rem}.pl-8{padding-left:2rem}.pr-3{padding-right:.75rem}.pr-4{padding-right:1rem}.pr-6{padding-right:1.5rem}.pr-7{padding-right:1.75rem}.pr-8{padding-right:2rem}.pt-16{padding-top:4rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[0\.55rem\]{font-size:.55rem}.text-\[0\.6rem\]{font-size:.6rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-\[0\.18em\]{letter-spacing:.18em}.tracking-\[0\.25em\]{letter-spacing:.25em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.text-retro-black{--tw-text-opacity:1;color:rgb(var(--color-retro-black)/var(--tw-text-opacity,1))}.text-retro-border{--tw-text-opacity:1;color:rgb(var(--color-retro-border)/var(--tw-text-opacity,1))}.text-retro-cyan{--tw-text-opacity:1;color:rgb(var(--color-retro-cyan)/var(--tw-text-opacity,1))}.text-retro-cyan\/80{color:rgb(var(--color-retro-cyan)/.8)}.text-retro-cyan\/90{color:rgb(var(--color-retro-cyan)/.9)}.text-retro-dark{--tw-text-opacity:1;color:rgb(var(--color-retro-dark)/var(--tw-text-opacity,1))}.text-retro-green{--tw-text-opacity:1;color:rgb(var(--color-retro-green)/var(--tw-text-opacity,1))}.text-retro-magenta{--tw-text-opacity:1;color:rgb(var(--color-retro-magenta)/var(--tw-text-opacity,1))}.text-retro-muted{--tw-text-opacity:1;color:rgb(var(--color-retro-muted)/var(--tw-text-opacity,1))}.text-retro-muted\/50{color:rgb(var(--color-retro-muted)/.5)}.text-retro-muted\/60{color:rgb(var(--color-retro-muted)/.6)}.text-retro-muted\/70{color:rgb(var(--color-retro-muted)/.7)}.text-retro-muted\/80{color:rgb(var(--color-retro-muted)/.8)}.text-retro-orange{--tw-text-opacity:1;color:rgb(var(--color-retro-orange)/var(--tw-text-opacity,1))}.text-retro-pink{--tw-text-opacity:1;color:rgb(var(--color-retro-pink)/var(--tw-text-opacity,1))}.text-retro-red{--tw-text-opacity:1;color:rgb(var(--color-retro-red)/var(--tw-text-opacity,1))}.text-retro-red\/60{color:rgb(var(--color-retro-red)/.6)}.text-retro-red\/70{color:rgb(var(--color-retro-red)/.7)}.text-retro-red\/80{color:rgb(var(--color-retro-red)/.8)}.text-retro-subtle{--tw-text-opacity:1;color:rgb(var(--color-retro-subtle)/var(--tw-text-opacity,1))}.text-retro-text{--tw-text-opacity:1;color:rgb(var(--color-retro-text)/var(--tw-text-opacity,1))}.text-retro-yellow{--tw-text-opacity:1;color:rgb(var(--color-retro-yellow)/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.placeholder-retro-muted::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(var(--color-retro-muted)/var(--tw-placeholder-opacity,1))}.placeholder-retro-muted::placeholder{--tw-placeholder-opacity:1;color:rgb(var(--color-retro-muted)/var(--tw-placeholder-opacity,1))}.placeholder-retro-muted\/50::-moz-placeholder{color:rgb(var(--color-retro-muted)/.5)}.placeholder-retro-muted\/50::placeholder{color:rgb(var(--color-retro-muted)/.5)}.placeholder-retro-subtle::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(var(--color-retro-subtle)/var(--tw-placeholder-opacity,1))}.placeholder-retro-subtle::placeholder{--tw-placeholder-opacity:1;color:rgb(var(--color-retro-subtle)/var(--tw-placeholder-opacity,1))}.accent-retro-cyan{accent-color:rgb(var(--color-retro-cyan)/1)}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_0_1px_rgba\(248\,113\,113\,0\.35\)\]{--tw-shadow:0 0 0 1px hsla(0,91%,71%,.35);--tw-shadow-colored:0 0 0 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_0_1px_rgba\(34\,211\,238\,0\.18\)\]{--tw-shadow:0 0 0 1px rgba(34,211,238,.18);--tw-shadow-colored:0 0 0 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[0_24px_70px_rgba\(0\,0\,0\,0\.55\)\]{--tw-shadow:0 24px 70px rgba(0,0,0,.55);--tw-shadow-colored:0 24px 70px var(--tw-shadow-color)}.shadow-\[0_24px_70px_rgba\(0\,0\,0\,0\.55\)\],.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-retro{--tw-shadow:0 0 0 1px rgb(var(--color-retro-cyan)/.4);--tw-shadow-colored:0 0 0 1px var(--tw-shadow-color)}.shadow-retro,.shadow-xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring,.ring-1{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-retro-red\/60{--tw-ring-color:rgb(var(--color-retro-red)/.6)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-\[1px\]{--tw-backdrop-blur:blur(1px)}.backdrop-blur-\[1px\],.backdrop-blur-sm{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-150,.transition-transform{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}:root{--color-retro-black:255 255 255;--color-retro-dark:246 248 250;--color-retro-panel:234 238 242;--color-retro-border:208 215 222;--color-retro-cyan:9 105 218;--color-retro-green:26 127 55;--color-retro-yellow:154 103 0;--color-retro-orange:188 76 0;--color-retro-red:207 34 46;--color-retro-magenta:130 80 223;--color-retro-pink:191 57 137;--color-retro-text:31 35 40;--color-retro-muted:101 109 118;--color-retro-subtle:110 118 129;--color-feature-panel:249 250 251;--color-feature-border:223 227 233}.dark{--color-retro-black:13 17 23;--color-retro-dark:22 27 34;--color-retro-panel:33 38 45;--color-retro-border:48 54 61;--color-retro-cyan:88 166 255;--color-retro-green:63 185 80;--color-retro-yellow:210 153 34;--color-retro-orange:219 109 40;--color-retro-red:248 81 73;--color-retro-magenta:188 140 255;--color-retro-pink:247 120 186;--color-retro-text:230 237 243;--color-retro-muted:139 148 158;--color-retro-subtle:110 118 129}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{--tw-bg-opacity:1;background-color:rgb(var(--color-retro-black)/var(--tw-bg-opacity,1))}::-webkit-scrollbar-thumb{border-radius:.25rem;--tw-bg-opacity:1;background-color:rgb(var(--color-retro-border)/var(--tw-bg-opacity,1))}::-webkit-scrollbar-thumb:hover{--tw-bg-opacity:1;background-color:rgb(var(--color-retro-muted)/var(--tw-bg-opacity,1))}::-moz-selection{background-color:rgb(var(--color-retro-cyan)/.3);--tw-text-opacity:1;color:rgb(var(--color-retro-text)/var(--tw-text-opacity,1))}::selection{background-color:rgb(var(--color-retro-cyan)/.3);--tw-text-opacity:1;color:rgb(var(--color-retro-text)/var(--tw-text-opacity,1))}:focus-visible{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:1;--tw-ring-color:rgb(var(--color-retro-cyan)/var(--tw-ring-opacity,1));--tw-ring-offset-width:1px;--tw-ring-offset-color:rgb(var(--color-retro-black)/1)}a:focus:not(:focus-visible),button:focus:not(:focus-visible),input:focus:not(:focus-visible),textarea:focus:not(:focus-visible){outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.chat-markdown{line-height:1.7}.chat-markdown>:first-child:is(p,ul,ol,pre,blockquote,table){margin-top:0}.chat-markdown>:last-child{margin-bottom:0}.chat-markdown p{margin-bottom:.75em;margin-top:.75em}.chat-markdown h1,.chat-markdown h2,.chat-markdown h3,.chat-markdown h4,.chat-markdown h5,.chat-markdown h6{font-weight:700;line-height:1.3;margin-bottom:.5em;margin-top:1.25em}.chat-markdown h1{border-bottom:1px solid rgb(var(--color-retro-border));font-size:1.25em;padding-bottom:.3em}.chat-markdown h2{border-bottom:1px solid rgb(var(--color-retro-border)/.5);font-size:1.125em;padding-bottom:.25em}.chat-markdown h3{color:rgb(var(--color-retro-cyan));font-size:1em}.chat-markdown h4,.chat-markdown h5,.chat-markdown h6{color:rgb(var(--color-retro-muted));font-size:.95em}.chat-markdown ol,.chat-markdown ul{margin-bottom:.5em;margin-top:.5em;padding-left:1.75em}.chat-markdown ul{list-style-type:disc}.chat-markdown ol{list-style-type:decimal}.chat-markdown li{margin-bottom:.25em;margin-top:.25em}.chat-markdown li>ol,.chat-markdown li>ul{margin-bottom:.125em;margin-top:.125em}.chat-markdown ul ul{list-style-type:circle}.chat-markdown ul ul ul{list-style-type:square}.chat-markdown pre{background-color:rgb(var(--color-retro-panel));border:1px solid rgb(var(--color-retro-border)/.5);border-radius:.375rem;line-height:1.5;margin-bottom:.75em;margin-top:.75em;overflow-x:auto;padding:.75em 1em}.chat-markdown pre code{background:none;border:none;border-radius:0;padding:0}.chat-markdown code,.chat-markdown pre code{color:rgb(var(--color-retro-cyan));font-size:.9em}.chat-markdown code{background-color:rgb(var(--color-retro-panel));border:1px solid rgb(var(--color-retro-border)/.3);border-radius:.25rem;padding:.15em .4em}.chat-markdown table{border-collapse:collapse;display:block;font-size:.9em;margin-bottom:.75em;margin-top:.75em;overflow-x:auto;width:100%}.chat-markdown thead{border-bottom:2px solid rgb(var(--color-retro-border))}.chat-markdown th{background-color:rgb(var(--color-retro-panel));border:1px solid rgb(var(--color-retro-border)/.5);color:rgb(var(--color-retro-cyan));font-weight:700;padding:.5em .75em;text-align:left;white-space:nowrap}.chat-markdown td{border:1px solid rgb(var(--color-retro-border)/.3);padding:.4em .75em}.chat-markdown tbody tr:nth-child(2n){background-color:rgb(var(--color-retro-dark)/.5)}.chat-markdown tbody tr:hover{background-color:rgb(var(--color-retro-panel)/.5)}.chat-markdown blockquote{border-left:3px solid rgb(var(--color-retro-cyan)/.5);color:rgb(var(--color-retro-muted));margin-bottom:.75em;margin-top:.75em;padding-left:1em}.chat-markdown blockquote p{margin-bottom:.25em;margin-top:.25em}.chat-markdown hr{border:none;border-top:1px solid rgb(var(--color-retro-border));margin-bottom:1.25em;margin-top:1.25em}.chat-markdown a{color:rgb(var(--color-retro-cyan));text-decoration:underline;text-underline-offset:2px}.chat-markdown a:hover,.chat-markdown strong{color:rgb(var(--color-retro-text))}.chat-markdown strong{font-weight:700}.chat-markdown em{font-style:italic}.chat-markdown img{border-radius:.375rem;max-width:100%}.chat-markdown input[type=checkbox]{accent-color:rgb(var(--color-retro-cyan));margin-right:.5em}.chat-markdown dl{margin-bottom:.5em;margin-top:.5em}.chat-markdown dt{font-weight:700;margin-top:.5em}.chat-markdown dd{margin-bottom:.25em;padding-left:1.5em}.sr-only{border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px;clip:rect(0,0,0,0)}.sr-only-focusable:focus{height:auto;margin:0;overflow:visible;padding:.5rem;position:static;white-space:normal;width:auto;clip:auto}.placeholder\:text-retro-subtle::-moz-placeholder{--tw-text-opacity:1;color:rgb(var(--color-retro-subtle)/var(--tw-text-opacity,1))}.placeholder\:text-retro-subtle::placeholder{--tw-text-opacity:1;color:rgb(var(--color-retro-subtle)/var(--tw-text-opacity,1))}.hover\:border-retro-border:hover{--tw-border-opacity:1;border-color:rgb(var(--color-retro-border)/var(--tw-border-opacity,1))}.hover\:border-retro-cyan:hover{--tw-border-opacity:1;border-color:rgb(var(--color-retro-cyan)/var(--tw-border-opacity,1))}.hover\:border-retro-cyan\/50:hover{border-color:rgb(var(--color-retro-cyan)/.5)}.hover\:border-retro-cyan\/60:hover{border-color:rgb(var(--color-retro-cyan)/.6)}.hover\:border-retro-green:hover{--tw-border-opacity:1;border-color:rgb(var(--color-retro-green)/var(--tw-border-opacity,1))}.hover\:border-retro-muted:hover{--tw-border-opacity:1;border-color:rgb(var(--color-retro-muted)/var(--tw-border-opacity,1))}.hover\:border-retro-text:hover{--tw-border-opacity:1;border-color:rgb(var(--color-retro-text)/var(--tw-border-opacity,1))}.hover\:border-retro-text\/30:hover{border-color:rgb(var(--color-retro-text)/.3)}.hover\:bg-red-500\/10:hover{background-color:#ef44441a}.hover\:bg-retro-border:hover{--tw-bg-opacity:1;background-color:rgb(var(--color-retro-border)/var(--tw-bg-opacity,1))}.hover\:bg-retro-cyan\/10:hover{background-color:rgb(var(--color-retro-cyan)/.1)}.hover\:bg-retro-cyan\/20:hover{background-color:rgb(var(--color-retro-cyan)/.2)}.hover\:bg-retro-cyan\/30:hover{background-color:rgb(var(--color-retro-cyan)/.3)}.hover\:bg-retro-cyan\/5:hover{background-color:rgb(var(--color-retro-cyan)/.05)}.hover\:bg-retro-cyan\/80:hover{background-color:rgb(var(--color-retro-cyan)/.8)}.hover\:bg-retro-dark:hover{--tw-bg-opacity:1;background-color:rgb(var(--color-retro-dark)/var(--tw-bg-opacity,1))}.hover\:bg-retro-dark\/40:hover{background-color:rgb(var(--color-retro-dark)/.4)}.hover\:bg-retro-green\/10:hover{background-color:rgb(var(--color-retro-green)/.1)}.hover\:bg-retro-green\/20:hover{background-color:rgb(var(--color-retro-green)/.2)}.hover\:bg-retro-green\/30:hover{background-color:rgb(var(--color-retro-green)/.3)}.hover\:bg-retro-green\/90:hover{background-color:rgb(var(--color-retro-green)/.9)}.hover\:bg-retro-magenta\/10:hover{background-color:rgb(var(--color-retro-magenta)/.1)}.hover\:bg-retro-magenta\/30:hover{background-color:rgb(var(--color-retro-magenta)/.3)}.hover\:bg-retro-muted\/10:hover{background-color:rgb(var(--color-retro-muted)/.1)}.hover\:bg-retro-orange\/10:hover{background-color:rgb(var(--color-retro-orange)/.1)}.hover\:bg-retro-orange\/20:hover{background-color:rgb(var(--color-retro-orange)/.2)}.hover\:bg-retro-panel:hover{--tw-bg-opacity:1;background-color:rgb(var(--color-retro-panel)/var(--tw-bg-opacity,1))}.hover\:bg-retro-panel\/50:hover{background-color:rgb(var(--color-retro-panel)/.5)}.hover\:bg-retro-panel\/90:hover{background-color:rgb(var(--color-retro-panel)/.9)}.hover\:bg-retro-pink\/30:hover{background-color:rgb(var(--color-retro-pink)/.3)}.hover\:bg-retro-red:hover{--tw-bg-opacity:1;background-color:rgb(var(--color-retro-red)/var(--tw-bg-opacity,1))}.hover\:bg-retro-red\/10:hover{background-color:rgb(var(--color-retro-red)/.1)}.hover\:bg-retro-red\/20:hover{background-color:rgb(var(--color-retro-red)/.2)}.hover\:bg-retro-red\/30:hover{background-color:rgb(var(--color-retro-red)/.3)}.hover\:bg-retro-subtle\/10:hover{background-color:rgb(var(--color-retro-subtle)/.1)}.hover\:bg-retro-yellow\/10:hover{background-color:rgb(var(--color-retro-yellow)/.1)}.hover\:bg-retro-yellow\/30:hover{background-color:rgb(var(--color-retro-yellow)/.3)}.hover\:bg-white\/20:hover{background-color:#fff3}.hover\:text-retro-cyan:hover{--tw-text-opacity:1;color:rgb(var(--color-retro-cyan)/var(--tw-text-opacity,1))}.hover\:text-retro-cyan\/80:hover{color:rgb(var(--color-retro-cyan)/.8)}.hover\:text-retro-green:hover{--tw-text-opacity:1;color:rgb(var(--color-retro-green)/var(--tw-text-opacity,1))}.hover\:text-retro-green\/80:hover{color:rgb(var(--color-retro-green)/.8)}.hover\:text-retro-red:hover{--tw-text-opacity:1;color:rgb(var(--color-retro-red)/var(--tw-text-opacity,1))}.hover\:text-retro-text:hover{--tw-text-opacity:1;color:rgb(var(--color-retro-text)/var(--tw-text-opacity,1))}.hover\:text-retro-yellow:hover{--tw-text-opacity:1;color:rgb(var(--color-retro-yellow)/var(--tw-text-opacity,1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:no-underline:hover{text-decoration-line:none}.hover\:ring-1:hover{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.hover\:ring-retro-cyan\/50:hover{--tw-ring-color:rgb(var(--color-retro-cyan)/.5)}.hover\:ring-retro-yellow\/50:hover{--tw-ring-color:rgb(var(--color-retro-yellow)/.5)}.focus\:border-retro-cyan:focus{--tw-border-opacity:1;border-color:rgb(var(--color-retro-cyan)/var(--tw-border-opacity,1))}.focus\:bg-retro-cyan\/10:focus{background-color:rgb(var(--color-retro-cyan)/.1)}.focus\:bg-retro-red\/10:focus{background-color:rgb(var(--color-retro-red)/.1)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-1:focus,.focus\:ring-2:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-inset:focus{--tw-ring-inset:inset}.focus\:ring-retro-cyan:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(var(--color-retro-cyan)/var(--tw-ring-opacity,1))}.focus\:ring-retro-cyan\/50:focus{--tw-ring-color:rgb(var(--color-retro-cyan)/.5)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.group:hover .group-hover\:bg-retro-panel\/50{background-color:rgb(var(--color-retro-panel)/.5)}.group:hover .group-hover\:text-retro-cyan{--tw-text-opacity:1;color:rgb(var(--color-retro-cyan)/var(--tw-text-opacity,1))}.group:hover .group-hover\:opacity-100{opacity:1}.dark\:bg-gradient-to-br:is(.dark *){background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.dark\:from-retro-cyan\/10:is(.dark *){--tw-gradient-from:rgb(var(--color-retro-cyan)/.1) var(--tw-gradient-from-position);--tw-gradient-to:rgb(var(--color-retro-cyan)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-retro-panel:is(.dark *){--tw-gradient-from:rgb(var(--color-retro-panel)/1) var(--tw-gradient-from-position);--tw-gradient-to:rgb(var(--color-retro-panel)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:via-retro-panel:is(.dark *){--tw-gradient-to:rgb(var(--color-retro-panel)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgb(var(--color-retro-panel)/1) var(--tw-gradient-via-position),var(--tw-gradient-to)}.dark\:to-retro-cyan\/5:is(.dark *){--tw-gradient-to:rgb(var(--color-retro-cyan)/.05) var(--tw-gradient-to-position)}.dark\:to-retro-magenta\/5:is(.dark *){--tw-gradient-to:rgb(var(--color-retro-magenta)/.05) var(--tw-gradient-to-position)}.dark\:hover\:from-retro-cyan\/5:hover:is(.dark *){--tw-gradient-from:rgb(var(--color-retro-cyan)/.05) var(--tw-gradient-from-position);--tw-gradient-to:rgb(var(--color-retro-cyan)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:hover\:via-retro-panel:hover:is(.dark *){--tw-gradient-to:rgb(var(--color-retro-panel)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgb(var(--color-retro-panel)/1) var(--tw-gradient-via-position),var(--tw-gradient-to)}.dark\:hover\:to-retro-magenta\/5:hover:is(.dark *){--tw-gradient-to:rgb(var(--color-retro-magenta)/.05) var(--tw-gradient-to-position)}@media(min-width:640px){.sm\:inline{display:inline}}@media(min-width:1024px){.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}
@@ -1 +0,0 @@
1
- import{_ as e}from"./DlAUqK2U.js";import{z as r,y as c}from"./DUodkQcr.js";const o={};function t(n,s){return c(),r("div")}const f=e(o,[["render",t]]);export{f as default};