spec-cat 0.1.34 → 0.1.36

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 (33) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/_nuxt/{C5HhonQV.js → -2tR8Cph.js} +1 -1
  3. package/.output/public/_nuxt/{DoFlIjCg.js → BBA9sqLe.js} +1 -1
  4. package/.output/public/_nuxt/BdnBYIQg.js +85 -0
  5. package/.output/public/_nuxt/{eqa72KqC.js → BjExtU_8.js} +1 -1
  6. package/.output/public/_nuxt/{Dwz5cRi5.js → C5VmlmOK.js} +1 -1
  7. package/.output/public/_nuxt/{DetqH2Au.js → CPsvWw1J.js} +1 -1
  8. package/.output/public/_nuxt/{2bVyJ3C-.js → CUhpW37J.js} +19 -19
  9. package/.output/public/_nuxt/{C05Lqpax.js → DFgtAR95.js} +1 -1
  10. package/.output/public/_nuxt/{B23a03ff.js → DIEyni0K.js} +1 -1
  11. package/.output/public/_nuxt/{DvDpGQk1.js → D_05ko21.js} +1 -1
  12. package/.output/public/_nuxt/DphOOigU.js +1 -0
  13. package/.output/public/_nuxt/builds/latest.json +1 -1
  14. package/.output/public/_nuxt/builds/meta/7a0d0443-5ff4-47d0-b629-668dc37b3124.json +1 -0
  15. package/.output/public/_nuxt/{default.BcCh6loI.css → default.DKSPicGu.css} +1 -1
  16. package/.output/public/_nuxt/{entry.DWv01Nib.css → entry.DJNhqbsn.css} +1 -1
  17. package/.output/public/_nuxt/{Bow35xGg.js → lyWV44Wc.js} +1 -1
  18. package/.output/public/_nuxt/{useTheme.CYTdpguX.css → useTheme.Cny4Z64J.css} +1 -1
  19. package/.output/public/_nuxt/wserZ5KO.js +4 -0
  20. package/.output/server/chunks/_/error-500.mjs.map +1 -1
  21. package/.output/server/chunks/build/client.precomputed.mjs +1 -1
  22. package/.output/server/chunks/build/client.precomputed.mjs.map +1 -1
  23. package/.output/server/chunks/nitro/nitro.mjs +637 -637
  24. package/.output/server/chunks/nitro/nitro.mjs.map +1 -1
  25. package/.output/server/chunks/routes/api/git/branches.get.mjs +2 -2
  26. package/.output/server/chunks/routes/api/git/branches.get.mjs.map +1 -1
  27. package/.output/server/chunks/routes/renderer.mjs.map +1 -1
  28. package/.output/server/package.json +1 -1
  29. package/package.json +1 -1
  30. package/.output/public/_nuxt/BZYSrnwm.js +0 -1
  31. package/.output/public/_nuxt/CcZ9D4X4.js +0 -85
  32. package/.output/public/_nuxt/Dx2SytMU.js +0 -4
  33. package/.output/public/_nuxt/builds/meta/ae049918-a9f5-4b30-9768-e9f982a19172.json +0 -1
@@ -1 +1 @@
1
- import{u as f,a as g}from"./DvDpGQk1.js";import{_ as x,u as S}from"./Bow35xGg.js";import{d as _,o as y,F as M,y as w,z as C,A as s,C as h,G as n,k as i}from"./Dx2SytMU.js";const A={class:"p-6 max-w-2xl"},E={class:"mt-8 space-y-8"},D=_({__name:"settings",async setup(P){let r,a;const o=f(),d=g();y(()=>{o.hydrate()});const{data:p,pending:l,error:c}=([r,a]=M(()=>S("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",A,[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",E,[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)),h(x,{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{D as default};
1
+ import{u as f,a as g}from"./D_05ko21.js";import{_ as x,u as S}from"./lyWV44Wc.js";import{d as _,o as y,F as M,y as w,z as C,A as s,C as h,G as n,k as i}from"./wserZ5KO.js";const A={class:"p-6 max-w-2xl"},E={class:"mt-8 space-y-8"},D=_({__name:"settings",async setup(P){let r,a;const o=f(),d=g();y(()=>{o.hydrate()});const{data:p,pending:l,error:c}=([r,a]=M(()=>S("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",A,[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",E,[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)),h(x,{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{D as default};
@@ -1 +1 @@
1
- import{d as C,y as s,z as a,L as g,G as o,B as u,k as B,M as D,N as j,H as M,T as E,C as b,O as T,D as F,P as k,A as t,K as c,E as $,Q as W,R as w,S,g as v,o as L,I as R,J as z}from"./Dx2SytMU.js";import{u as N,r as A,a as V,b as P,c as U}from"./Dwz5cRi5.js";const H=C({__name:"WorktreeStatusBadge",props:{status:{}},setup(h){const r=h,i=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"}})[r.status]);return(n,p)=>(s(),a("span",{class:g(["px-1.5 py-0.5 text-[10px] font-mono uppercase rounded",o(i).color])},u(o(i).label),3))}}),K={class:"w-full max-w-md mx-4 bg-retro-dark border border-retro-border rounded-lg shadow-xl"},O={class:"flex items-center justify-between px-4 py-3 border-b border-retro-border"},q={key:0,class:"p-2 text-xs font-mono text-retro-red bg-retro-red/10 border border-retro-red/30 rounded"},G=["disabled"],I=["disabled"],J={class:"flex justify-end gap-2 pt-2"},Q=["disabled"],X=["disabled"],Y=C({__name:"WorktreeCreateModal",props:{modelValue:{type:Boolean,default:!1},modelModifiers:{}},emits:["update:modelValue"],setup(h){const r=D(h,"modelValue"),i=N(),n=v(""),p=v(""),m=v(!1),x=v(""),f=async()=>{if(!n.value.trim()){x.value="Description is required";return}m.value=!0,x.value="";try{const d=await i.createWorktree({description:n.value.trim(),shortName:p.value.trim()||void 0});d.success?(n.value="",p.value="",r.value=!1):x.value=d.error||"Failed to create worktree"}catch(d){x.value=d instanceof Error?d.message:"Failed to create worktree"}finally{m.value=!1}},l=()=>{r.value=!1,n.value="",p.value="",x.value=""},_=d=>{d.key==="Escape"&&l()};return j(r,d=>{d?document.addEventListener("keydown",_):document.removeEventListener("keydown",_)}),(d,e)=>(s(),M(E,{to:"body"},[b(T,{"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:F(()=>[r.value?(s(),a("div",{key:0,class:"fixed inset-0 z-50 flex items-center justify-center bg-black/50 backdrop-blur-sm",onClick:k(l,["self"])},[t("div",K,[t("div",O,[e[2]||(e[2]=t("h3",{class:"text-sm font-mono text-retro-text"},"Create Worktree",-1)),t("button",{type:"button",class:"p-1 rounded text-retro-muted hover:text-retro-text hover:bg-retro-panel transition-colors",onClick:l},[b(o(A),{class:"h-4 w-4"})])]),t("form",{class:"p-4 space-y-4",onSubmit:k(f,["prevent"])},[o(x)?(s(),a("div",q,u(o(x)),1)):c("",!0),t("div",null,[e[3]||(e[3]=t("label",{class:"block text-xs font-mono text-retro-muted mb-1"},[$(" Feature Description "),t("span",{class:"text-retro-red"},"*")],-1)),W(t("input",{"onUpdate:modelValue":e[0]||(e[0]=y=>w(n)?n.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:o(m)},null,8,G),[[S,o(n)]]),e[4]||(e[4]=t("p",{class:"mt-1 text-[10px] font-mono text-retro-subtle"}," A brief description of what this feature does ",-1))]),t("div",null,[e[5]||(e[5]=t("label",{class:"block text-xs font-mono text-retro-muted mb-1"},[$(" Short Name "),t("span",{class:"text-retro-subtle"},"(optional)")],-1)),W(t("input",{"onUpdate:modelValue":e[1]||(e[1]=y=>w(p)?p.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:o(m)},null,8,I),[[S,o(p)]]),e[6]||(e[6]=t("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))]),t("div",J,[t("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:o(m),onClick:l}," Cancel ",8,Q),t("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:o(m)||!o(n).trim()},u(o(m)?"Creating...":"Create"),9,X)])],32)])])):c("",!0)]),_:1})]))}}),Z={class:"h-full flex flex-col bg-retro-black"},ee={class:"flex-shrink-0 h-12 flex items-center justify-between px-4 border-b border-retro-border bg-retro-dark"},te={class:"flex items-center gap-2"},oe={key:0,class:"px-4 py-2 bg-retro-red/20 border-b border-retro-red/50"},re={class:"text-xs font-mono text-retro-red"},se={class:"flex-1 overflow-y-auto p-2 space-y-1"},ne={class:"flex items-start justify-between gap-2"},ae={class:"flex-1 min-w-0"},le={class:"flex items-center gap-2"},de={key:0,class:"px-1.5 py-0.5 text-[10px] font-mono uppercase bg-retro-yellow/20 text-retro-yellow rounded"},ie={key:1,class:"px-1.5 py-0.5 text-[10px] font-mono uppercase bg-retro-cyan/20 text-retro-cyan rounded"},ce={key:0,class:"mt-1 text-xs font-mono text-retro-muted truncate"},ue={class:"text-retro-subtle"},pe={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"},xe=["onClick"],be=["onClick"],fe={key:0,class:"mt-2 text-[10px] font-mono text-retro-green"},he={key:0,class:"flex flex-col items-center justify-center py-8 text-center"},ye=C({__name:"WorktreePanel",setup(h){const r=N(),i=v(!1);L(()=>{r.fetchWorktrees()});const n=()=>{r.fetchWorktrees()},p=()=>{i.value=!0},m=async f=>{await r.switchWorktree(f)},x=async f=>{confirm(`Delete worktree "${f}"? This will remove the worktree directory.`)&&await r.deleteWorktree(f,!1)};return(f,l)=>{const _=H,d=Y;return s(),a("div",Z,[t("div",ee,[l[1]||(l[1]=t("h2",{class:"text-sm font-mono text-retro-text"},"Worktrees",-1)),t("div",te,[t("button",{type:"button",class:"p-1.5 rounded text-retro-muted hover:text-retro-cyan hover:bg-retro-panel transition-colors",title:"Refresh",onClick:n},[b(o(V),{class:g(["h-4 w-4",{"animate-spin":o(r).loading}])},null,8,["class"])]),t("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:p},[b(o(P),{class:"h-4 w-4"})])])]),o(r).error?(s(),a("div",oe,[t("p",re,u(o(r).error),1)])):c("",!0),t("div",se,[(s(!0),a(R,null,z(o(r).worktrees,e=>(s(),a("div",{key:e.name,class:g(["group p-3 rounded-md border transition-colors",[e.isCurrent?"bg-retro-cyan/10 border-retro-cyan":"bg-retro-panel border-retro-border hover:border-retro-muted"]])},[t("div",ne,[t("div",ae,[t("div",le,[t("span",{class:g(["font-mono text-sm truncate",e.isCurrent?"text-retro-cyan":"text-retro-text"])},u(e.name),3),b(_,{status:e.status},null,8,["status"]),e.isMain?(s(),a("span",de," main ")):c("",!0),e.isCurrent?(s(),a("span",ie," current ")):c("",!0)]),e.lastCommit?(s(),a("div",ce,[t("span",ue,u(e.lastCommit.shortHash),1),l[2]||(l[2]=t("span",{class:"mx-1"},"·",-1)),t("span",null,u(e.lastCommit.message),1)])):c("",!0),t("div",pe,u(e.path),1)]),t("div",me,[!e.isCurrent&&!e.isMain?(s(),a("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:k(y=>m(e.name),["stop"])},[b(o(V),{class:"h-3.5 w-3.5"})],8,xe)):c("",!0),e.isMain?c("",!0):(s(),a("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:k(y=>x(e.name),["stop"])},[b(o(U),{class:"h-3.5 w-3.5"})],8,be))])]),e.commitCount>0?(s(),a("div",fe,u(e.commitCount)+" commit"+u(e.commitCount>1?"s":"")+" ahead ",1)):c("",!0)],2))),128)),!o(r).loading&&o(r).worktrees.length===0?(s(),a("div",he,[...l[3]||(l[3]=[t("p",{class:"text-sm font-mono text-retro-muted"},"No worktrees found",-1),t("p",{class:"mt-1 text-xs font-mono text-retro-subtle"},"Create a new worktree to start working on a feature",-1)])])):c("",!0)]),b(d,{modelValue:o(i),"onUpdate:modelValue":l[0]||(l[0]=e=>w(i)?i.value=e:null)},null,8,["modelValue"])])}}}),ge=C({__name:"index",setup(h){return(r,i)=>{const n=ye;return s(),M(n)}}});export{ge as default};
1
+ import{d as C,y as s,z as a,L as g,G as o,B as u,k as B,M as D,N as j,H as M,T as E,C as b,O as T,D as F,P as k,A as t,K as c,E as $,Q as W,R as w,S,g as v,o as L,I as R,J as z}from"./wserZ5KO.js";import{u as N,r as A,a as V,b as P,c as U}from"./C5VmlmOK.js";const H=C({__name:"WorktreeStatusBadge",props:{status:{}},setup(h){const r=h,i=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"}})[r.status]);return(n,p)=>(s(),a("span",{class:g(["px-1.5 py-0.5 text-[10px] font-mono uppercase rounded",o(i).color])},u(o(i).label),3))}}),K={class:"w-full max-w-md mx-4 bg-retro-dark border border-retro-border rounded-lg shadow-xl"},O={class:"flex items-center justify-between px-4 py-3 border-b border-retro-border"},q={key:0,class:"p-2 text-xs font-mono text-retro-red bg-retro-red/10 border border-retro-red/30 rounded"},G=["disabled"],I=["disabled"],J={class:"flex justify-end gap-2 pt-2"},Q=["disabled"],X=["disabled"],Y=C({__name:"WorktreeCreateModal",props:{modelValue:{type:Boolean,default:!1},modelModifiers:{}},emits:["update:modelValue"],setup(h){const r=D(h,"modelValue"),i=N(),n=v(""),p=v(""),m=v(!1),x=v(""),f=async()=>{if(!n.value.trim()){x.value="Description is required";return}m.value=!0,x.value="";try{const d=await i.createWorktree({description:n.value.trim(),shortName:p.value.trim()||void 0});d.success?(n.value="",p.value="",r.value=!1):x.value=d.error||"Failed to create worktree"}catch(d){x.value=d instanceof Error?d.message:"Failed to create worktree"}finally{m.value=!1}},l=()=>{r.value=!1,n.value="",p.value="",x.value=""},_=d=>{d.key==="Escape"&&l()};return j(r,d=>{d?document.addEventListener("keydown",_):document.removeEventListener("keydown",_)}),(d,e)=>(s(),M(E,{to:"body"},[b(T,{"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:F(()=>[r.value?(s(),a("div",{key:0,class:"fixed inset-0 z-50 flex items-center justify-center bg-black/50 backdrop-blur-sm",onClick:k(l,["self"])},[t("div",K,[t("div",O,[e[2]||(e[2]=t("h3",{class:"text-sm font-mono text-retro-text"},"Create Worktree",-1)),t("button",{type:"button",class:"p-1 rounded text-retro-muted hover:text-retro-text hover:bg-retro-panel transition-colors",onClick:l},[b(o(A),{class:"h-4 w-4"})])]),t("form",{class:"p-4 space-y-4",onSubmit:k(f,["prevent"])},[o(x)?(s(),a("div",q,u(o(x)),1)):c("",!0),t("div",null,[e[3]||(e[3]=t("label",{class:"block text-xs font-mono text-retro-muted mb-1"},[$(" Feature Description "),t("span",{class:"text-retro-red"},"*")],-1)),W(t("input",{"onUpdate:modelValue":e[0]||(e[0]=y=>w(n)?n.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:o(m)},null,8,G),[[S,o(n)]]),e[4]||(e[4]=t("p",{class:"mt-1 text-[10px] font-mono text-retro-subtle"}," A brief description of what this feature does ",-1))]),t("div",null,[e[5]||(e[5]=t("label",{class:"block text-xs font-mono text-retro-muted mb-1"},[$(" Short Name "),t("span",{class:"text-retro-subtle"},"(optional)")],-1)),W(t("input",{"onUpdate:modelValue":e[1]||(e[1]=y=>w(p)?p.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:o(m)},null,8,I),[[S,o(p)]]),e[6]||(e[6]=t("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))]),t("div",J,[t("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:o(m),onClick:l}," Cancel ",8,Q),t("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:o(m)||!o(n).trim()},u(o(m)?"Creating...":"Create"),9,X)])],32)])])):c("",!0)]),_:1})]))}}),Z={class:"h-full flex flex-col bg-retro-black"},ee={class:"flex-shrink-0 h-12 flex items-center justify-between px-4 border-b border-retro-border bg-retro-dark"},te={class:"flex items-center gap-2"},oe={key:0,class:"px-4 py-2 bg-retro-red/20 border-b border-retro-red/50"},re={class:"text-xs font-mono text-retro-red"},se={class:"flex-1 overflow-y-auto p-2 space-y-1"},ne={class:"flex items-start justify-between gap-2"},ae={class:"flex-1 min-w-0"},le={class:"flex items-center gap-2"},de={key:0,class:"px-1.5 py-0.5 text-[10px] font-mono uppercase bg-retro-yellow/20 text-retro-yellow rounded"},ie={key:1,class:"px-1.5 py-0.5 text-[10px] font-mono uppercase bg-retro-cyan/20 text-retro-cyan rounded"},ce={key:0,class:"mt-1 text-xs font-mono text-retro-muted truncate"},ue={class:"text-retro-subtle"},pe={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"},xe=["onClick"],be=["onClick"],fe={key:0,class:"mt-2 text-[10px] font-mono text-retro-green"},he={key:0,class:"flex flex-col items-center justify-center py-8 text-center"},ye=C({__name:"WorktreePanel",setup(h){const r=N(),i=v(!1);L(()=>{r.fetchWorktrees()});const n=()=>{r.fetchWorktrees()},p=()=>{i.value=!0},m=async f=>{await r.switchWorktree(f)},x=async f=>{confirm(`Delete worktree "${f}"? This will remove the worktree directory.`)&&await r.deleteWorktree(f,!1)};return(f,l)=>{const _=H,d=Y;return s(),a("div",Z,[t("div",ee,[l[1]||(l[1]=t("h2",{class:"text-sm font-mono text-retro-text"},"Worktrees",-1)),t("div",te,[t("button",{type:"button",class:"p-1.5 rounded text-retro-muted hover:text-retro-cyan hover:bg-retro-panel transition-colors",title:"Refresh",onClick:n},[b(o(V),{class:g(["h-4 w-4",{"animate-spin":o(r).loading}])},null,8,["class"])]),t("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:p},[b(o(P),{class:"h-4 w-4"})])])]),o(r).error?(s(),a("div",oe,[t("p",re,u(o(r).error),1)])):c("",!0),t("div",se,[(s(!0),a(R,null,z(o(r).worktrees,e=>(s(),a("div",{key:e.name,class:g(["group p-3 rounded-md border transition-colors",[e.isCurrent?"bg-retro-cyan/10 border-retro-cyan":"bg-retro-panel border-retro-border hover:border-retro-muted"]])},[t("div",ne,[t("div",ae,[t("div",le,[t("span",{class:g(["font-mono text-sm truncate",e.isCurrent?"text-retro-cyan":"text-retro-text"])},u(e.name),3),b(_,{status:e.status},null,8,["status"]),e.isMain?(s(),a("span",de," main ")):c("",!0),e.isCurrent?(s(),a("span",ie," current ")):c("",!0)]),e.lastCommit?(s(),a("div",ce,[t("span",ue,u(e.lastCommit.shortHash),1),l[2]||(l[2]=t("span",{class:"mx-1"},"·",-1)),t("span",null,u(e.lastCommit.message),1)])):c("",!0),t("div",pe,u(e.path),1)]),t("div",me,[!e.isCurrent&&!e.isMain?(s(),a("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:k(y=>m(e.name),["stop"])},[b(o(V),{class:"h-3.5 w-3.5"})],8,xe)):c("",!0),e.isMain?c("",!0):(s(),a("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:k(y=>x(e.name),["stop"])},[b(o(U),{class:"h-3.5 w-3.5"})],8,be))])]),e.commitCount>0?(s(),a("div",fe,u(e.commitCount)+" commit"+u(e.commitCount>1?"s":"")+" ahead ",1)):c("",!0)],2))),128)),!o(r).loading&&o(r).worktrees.length===0?(s(),a("div",he,[...l[3]||(l[3]=[t("p",{class:"text-sm font-mono text-retro-muted"},"No worktrees found",-1),t("p",{class:"mt-1 text-xs font-mono text-retro-subtle"},"Create a new worktree to start working on a feature",-1)])])):c("",!0)]),b(d,{modelValue:o(i),"onUpdate:modelValue":l[0]||(l[0]=e=>w(i)?i.value=e:null)},null,8,["modelValue"])])}}}),ge=C({__name:"index",setup(h){return(r,i)=>{const n=ye;return s(),M(n)}}});export{ge as default};
@@ -1 +1 @@
1
- import{_ as f,$ as h,g as m}from"./Dx2SytMU.js";const p="claude",l="sonnet",g=[{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 M(e){if(!e)return{};const t={},s=typeof e.claudeModel=="string"&&g.some(n=>n.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:s?t.providerModelKey=s:t.providerModelKey=l):s&&(t.providerId="claude",t.providerModelKey=s),(e.theme==="dark"||e.theme==="light")&&(t.theme=e.theme);const r=e.permissionMode;return r&&["plan","ask","auto","bypass"].includes(String(r))&&(t.permissionMode=r),typeof e.autoGenerateCommitMessages=="boolean"&&(t.autoGenerateCommitMessages=e.autoGenerateCommitMessages),t}const y=f("settings",{state:()=>({providerId:p,providerModelKey:l,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=M(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:l,this._saveToServer(!0)},setPermissionMode(e){this.permissionMode=e,this._saveToServer()},setAutoGenerateCommitMessages(e){this.autoGenerateCommitMessages=e,this._saveToServer()},resetToDefaults(){this.providerId=p,this.providerModelKey=l,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(s=>{if(!e||!s?.settings)return;const r=s.settings.providerId,n=s.settings.providerModelKey;typeof r=="string"&&(this.providerId=r),typeof n=="string"&&n.length>0&&(this.providerModelKey=n)}).catch(s=>{console.error("Failed to save settings:",s)})}}}),I=Object.freeze(Object.defineProperty({__proto__:null,useSettingsStore:y},Symbol.toStringTag,{value:"Module"})),d=m([]);function S(){const e=(i,o="info",a=3e3)=>{const c=`toast-${Date.now()}-${Math.random().toString(36).slice(2)}`,v={id:c,message:i,type:o,duration:a};return d.value.push(v),a>0&&setTimeout(()=>{t(c)},a),c},t=i=>{const o=d.value.findIndex(a=>a.id===i);o!==-1&&d.value.splice(o,1)},s=(i,o)=>e(i,"success",o),r=(i,o)=>e(i,"error",o),n=(i,o)=>e(i,"info",o),u=(i,o)=>e(i,"warning",o);return{toasts:h(d),add:e,remove:t,success:s,error:r,info:n,warning:u}}const A=Object.freeze(Object.defineProperty({__proto__:null,useToast:S},Symbol.toStringTag,{value:"Module"}));function T(){return`blk-${Date.now()}-${Math.random().toString(36).substring(2,6)}`}function E(e){return Array.isArray(e.contentBlocks)&&e.contentBlocks.length>0}const K={plan:"Plan Mode",ask:"Ask Before",auto:"Auto Edit",bypass:"Bypass"},C={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)"},k=300,O=600,D=400;function b(){return`msg-${Date.now()}-${Math.random().toString(36).substring(2,8)}`}const G=2,N=100,L=80;function P(){return`conv-${Math.random().toString(36).slice(2,12)}`}function R(e){const s=e.trim().replace(/\n/g," ");return s.length<=50?s:s.slice(0,50).trim()+"..."}function $(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 H(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"}export{l as D,N as M,D as P,G as S,L as W,S as a,H as b,k as c,O as d,P as e,p as f,b as g,R as h,$ as i,T as j,K as k,C as l,E as m,A as n,I as s,y as u};
1
+ import{_ as f,$ as h,g as m}from"./wserZ5KO.js";const p="claude",l="sonnet",g=[{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 M(e){if(!e)return{};const t={},s=typeof e.claudeModel=="string"&&g.some(n=>n.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:s?t.providerModelKey=s:t.providerModelKey=l):s&&(t.providerId="claude",t.providerModelKey=s),(e.theme==="dark"||e.theme==="light")&&(t.theme=e.theme);const r=e.permissionMode;return r&&["plan","ask","auto","bypass"].includes(String(r))&&(t.permissionMode=r),typeof e.autoGenerateCommitMessages=="boolean"&&(t.autoGenerateCommitMessages=e.autoGenerateCommitMessages),t}const y=f("settings",{state:()=>({providerId:p,providerModelKey:l,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=M(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:l,this._saveToServer(!0)},setPermissionMode(e){this.permissionMode=e,this._saveToServer()},setAutoGenerateCommitMessages(e){this.autoGenerateCommitMessages=e,this._saveToServer()},resetToDefaults(){this.providerId=p,this.providerModelKey=l,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(s=>{if(!e||!s?.settings)return;const r=s.settings.providerId,n=s.settings.providerModelKey;typeof r=="string"&&(this.providerId=r),typeof n=="string"&&n.length>0&&(this.providerModelKey=n)}).catch(s=>{console.error("Failed to save settings:",s)})}}}),I=Object.freeze(Object.defineProperty({__proto__:null,useSettingsStore:y},Symbol.toStringTag,{value:"Module"})),d=m([]);function S(){const e=(i,o="info",a=3e3)=>{const c=`toast-${Date.now()}-${Math.random().toString(36).slice(2)}`,v={id:c,message:i,type:o,duration:a};return d.value.push(v),a>0&&setTimeout(()=>{t(c)},a),c},t=i=>{const o=d.value.findIndex(a=>a.id===i);o!==-1&&d.value.splice(o,1)},s=(i,o)=>e(i,"success",o),r=(i,o)=>e(i,"error",o),n=(i,o)=>e(i,"info",o),u=(i,o)=>e(i,"warning",o);return{toasts:h(d),add:e,remove:t,success:s,error:r,info:n,warning:u}}const A=Object.freeze(Object.defineProperty({__proto__:null,useToast:S},Symbol.toStringTag,{value:"Module"}));function T(){return`blk-${Date.now()}-${Math.random().toString(36).substring(2,6)}`}function E(e){return Array.isArray(e.contentBlocks)&&e.contentBlocks.length>0}const K={plan:"Plan Mode",ask:"Ask Before",auto:"Auto Edit",bypass:"Bypass"},C={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)"},k=300,O=600,D=400;function b(){return`msg-${Date.now()}-${Math.random().toString(36).substring(2,8)}`}const G=2,N=100,L=80;function P(){return`conv-${Math.random().toString(36).slice(2,12)}`}function R(e){const s=e.trim().replace(/\n/g," ");return s.length<=50?s:s.slice(0,50).trim()+"..."}function $(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 H(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"}export{l as D,N as M,D as P,G as S,L as W,S as a,H as b,k as c,O as d,P as e,p as f,b as g,R as h,$ as i,T as j,K as k,C as l,E as m,A as n,I as s,y as u};
@@ -0,0 +1 @@
1
+ import{_ as e}from"./DlAUqK2U.js";import{z as r,y as c}from"./wserZ5KO.js";const o={};function t(n,s){return c(),r("div")}const f=e(o,[["render",t]]);export{f as default};
@@ -1 +1 @@
1
- {"id":"ae049918-a9f5-4b30-9768-e9f982a19172","timestamp":1776391731210}
1
+ {"id":"7a0d0443-5ff4-47d0-b629-668dc37b3124","timestamp":1776768287174}
@@ -0,0 +1 @@
1
+ {"id":"7a0d0443-5ff4-47d0-b629-668dc37b3124","timestamp":1776768287174,"prerendered":[]}
@@ -1 +1 @@
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-4ef8593c],.fade-leave-active[data-v-4ef8593c]{transition:opacity .2s ease}.fade-enter-from[data-v-4ef8593c],.fade-leave-to[data-v-4ef8593c]{opacity:0}.fade-enter-active[data-v-e2b31aba],.fade-leave-active[data-v-e2b31aba]{transition:opacity .2s ease}.fade-enter-from[data-v-e2b31aba],.fade-leave-to[data-v-e2b31aba]{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}.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-line:not(.conflict-ours):not(.conflict-theirs):not(.conflict-marker-line){border-left:3px solid transparent}.diff-table[data-v-74bf9bf3]{line-height:1.5}.diff-line-num[data-v-74bf9bf3]{color:var(--retro-muted,#64748b);min-width:3rem;vertical-align:top}.diff-line-num[data-v-74bf9bf3],.diff-sign[data-v-74bf9bf3]{-webkit-user-select:none;-moz-user-select:none;user-select:none}.diff-sign[data-v-74bf9bf3]{display:inline-block;width:1ch}.diff-add[data-v-74bf9bf3]{background-color:#10b9811f}.diff-add .diff-line-num[data-v-74bf9bf3]{background-color:#10b9812e}.diff-add .diff-line-content[data-v-74bf9bf3],.diff-add .diff-sign[data-v-74bf9bf3]{color:var(--retro-green,#10b981)}.diff-delete[data-v-74bf9bf3]{background-color:#ef44441f}.diff-delete .diff-line-num[data-v-74bf9bf3]{background-color:#ef44442e}.diff-delete .diff-line-content[data-v-74bf9bf3],.diff-delete .diff-sign[data-v-74bf9bf3]{color:var(--retro-red,#ef4444)}.diff-context .diff-line-content[data-v-74bf9bf3]{color:var(--retro-text,#e2e8f0)}.diff-hunk-header[data-v-74bf9bf3]{background-color:#06b6d414;color:var(--retro-cyan,#06b6d4);font-style:italic}.diff-warning td[data-v-74bf9bf3]{border-bottom:1px solid var(--retro-border,#334155)}.splash-glow[data-v-7fddb179]{animation:flicker-7fddb179 .15s ease-in-out .3s 1;text-shadow:0 0 10px rgb(var(--color-retro-cyan)/.6),0 0 30px rgb(var(--color-retro-cyan)/.3)}@keyframes flicker-7fddb179{0%,to{opacity:1}50%{opacity:.7}}
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-c47c4487],.fade-leave-active[data-v-c47c4487]{transition:opacity .2s ease}.fade-enter-from[data-v-c47c4487],.fade-leave-to[data-v-c47c4487]{opacity:0}.fade-enter-active[data-v-e2b31aba],.fade-leave-active[data-v-e2b31aba]{transition:opacity .2s ease}.fade-enter-from[data-v-e2b31aba],.fade-leave-to[data-v-e2b31aba]{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}.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-line:not(.conflict-ours):not(.conflict-theirs):not(.conflict-marker-line){border-left:3px solid transparent}.diff-table[data-v-74bf9bf3]{line-height:1.5}.diff-line-num[data-v-74bf9bf3]{color:var(--retro-muted,#64748b);min-width:3rem;vertical-align:top}.diff-line-num[data-v-74bf9bf3],.diff-sign[data-v-74bf9bf3]{-webkit-user-select:none;-moz-user-select:none;user-select:none}.diff-sign[data-v-74bf9bf3]{display:inline-block;width:1ch}.diff-add[data-v-74bf9bf3]{background-color:#10b9811f}.diff-add .diff-line-num[data-v-74bf9bf3]{background-color:#10b9812e}.diff-add .diff-line-content[data-v-74bf9bf3],.diff-add .diff-sign[data-v-74bf9bf3]{color:var(--retro-green,#10b981)}.diff-delete[data-v-74bf9bf3]{background-color:#ef44441f}.diff-delete .diff-line-num[data-v-74bf9bf3]{background-color:#ef44442e}.diff-delete .diff-line-content[data-v-74bf9bf3],.diff-delete .diff-sign[data-v-74bf9bf3]{color:var(--retro-red,#ef4444)}.diff-context .diff-line-content[data-v-74bf9bf3]{color:var(--retro-text,#e2e8f0)}.diff-hunk-header[data-v-74bf9bf3]{background-color:#06b6d414;color:var(--retro-cyan,#06b6d4);font-style:italic}.diff-warning td[data-v-74bf9bf3]{border-bottom:1px solid var(--retro-border,#334155)}.splash-glow[data-v-7fddb179]{animation:flicker-7fddb179 .15s ease-in-out .3s 1;text-shadow:0 0 10px rgb(var(--color-retro-cyan)/.6),0 0 30px rgb(var(--color-retro-cyan)/.3)}@keyframes flicker-7fddb179{0%,to{opacity:1}50%{opacity:.7}}
@@ -1 +1 @@
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}.z-\[9999\]{z-index:9999}.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}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.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-\[85vh\]{height:85vh}.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-56{width:14rem}.w-6{width:1.5rem}.w-80{width:20rem}.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-14{min-width:3.5rem}.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-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.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,.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-4{gap:1rem}.gap-6{gap:1.5rem}.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-cyan\/80{border-color:rgb(var(--color-retro-cyan)/.8)}.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\/30{border-color:rgb(var(--color-retro-magenta)/.3)}.border-retro-magenta\/40{border-color:rgb(var(--color-retro-magenta)/.4)}.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\/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\/40{border-color:rgb(var(--color-retro-red)/.4)}.border-retro-red\/50{border-color:rgb(var(--color-retro-red)/.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-b-retro-cyan{--tw-border-opacity:1;border-bottom-color:rgb(var(--color-retro-cyan)/var(--tw-border-opacity,1))}.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\/10{background-color:rgb(var(--color-retro-magenta)/.1)}.bg-retro-magenta\/15{background-color:rgb(var(--color-retro-magenta)/.15)}.bg-retro-magenta\/20{background-color:rgb(var(--color-retro-magenta)/.2)}.bg-retro-magenta\/5{background-color:rgb(var(--color-retro-magenta)/.05)}.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-muted\/70{background-color:rgb(var(--color-retro-muted)/.7)}.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\/20{background-color:rgb(var(--color-retro-panel)/.2)}.bg-retro-panel\/30{background-color:rgb(var(--color-retro-panel)/.3)}.bg-retro-panel\/40{background-color:rgb(var(--color-retro-panel)/.4)}.bg-retro-panel\/50{background-color:rgb(var(--color-retro-panel)/.5)}.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}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.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}.pl-\[3px\]{padding-left:3px}.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}.pt-\[5px\]{padding-top:5px}.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-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.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-magenta\/80{color:rgb(var(--color-retro-magenta)/.8)}.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}.opacity-70{opacity:.7}.shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-2xl,.shadow-\[0_0_0_1px_rgba\(34\,211\,238\,0\.18\)\]{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)}.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-magenta\/40{--tw-ring-color:rgb(var(--color-retro-magenta)/.4)}.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}.duration-500{transition-duration:.5s}.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-muted\/50::-moz-placeholder{color:rgb(var(--color-retro-muted)/.5)}.placeholder\:text-retro-muted\/50::placeholder{color:rgb(var(--color-retro-muted)/.5)}.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\/40:hover{border-color:rgb(var(--color-retro-cyan)/.4)}.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\/30:hover{background-color:rgb(var(--color-retro-dark)/.3)}.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\/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\/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-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\:border-retro-cyan\/50:focus{border-color:rgb(var(--color-retro-cyan)/.5)}.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
+ *,: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}.z-\[9999\]{z-index:9999}.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}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.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-\[85vh\]{height:85vh}.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-56{width:14rem}.w-6{width:1.5rem}.w-80{width:20rem}.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-14{min-width:3.5rem}.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-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.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,.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-4{gap:1rem}.gap-6{gap:1.5rem}.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-cyan\/80{border-color:rgb(var(--color-retro-cyan)/.8)}.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\/30{border-color:rgb(var(--color-retro-magenta)/.3)}.border-retro-magenta\/40{border-color:rgb(var(--color-retro-magenta)/.4)}.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\/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\/40{border-color:rgb(var(--color-retro-red)/.4)}.border-retro-red\/50{border-color:rgb(var(--color-retro-red)/.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-b-retro-cyan{--tw-border-opacity:1;border-bottom-color:rgb(var(--color-retro-cyan)/var(--tw-border-opacity,1))}.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\/10{background-color:rgb(var(--color-retro-magenta)/.1)}.bg-retro-magenta\/15{background-color:rgb(var(--color-retro-magenta)/.15)}.bg-retro-magenta\/20{background-color:rgb(var(--color-retro-magenta)/.2)}.bg-retro-magenta\/5{background-color:rgb(var(--color-retro-magenta)/.05)}.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-muted\/70{background-color:rgb(var(--color-retro-muted)/.7)}.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\/20{background-color:rgb(var(--color-retro-panel)/.2)}.bg-retro-panel\/30{background-color:rgb(var(--color-retro-panel)/.3)}.bg-retro-panel\/40{background-color:rgb(var(--color-retro-panel)/.4)}.bg-retro-panel\/50{background-color:rgb(var(--color-retro-panel)/.5)}.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}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.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-1{padding-left:.25rem}.pl-10{padding-left:2.5rem}.pl-8{padding-left:2rem}.pl-\[3px\]{padding-left:3px}.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}.pt-\[5px\]{padding-top:5px}.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-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.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-magenta\/80{color:rgb(var(--color-retro-magenta)/.8)}.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}.opacity-70{opacity:.7}.shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-2xl,.shadow-\[0_0_0_1px_rgba\(34\,211\,238\,0\.18\)\]{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)}.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-magenta\/40{--tw-ring-color:rgb(var(--color-retro-magenta)/.4)}.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}.duration-500{transition-duration:.5s}.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-muted\/50::-moz-placeholder{color:rgb(var(--color-retro-muted)/.5)}.placeholder\:text-retro-muted\/50::placeholder{color:rgb(var(--color-retro-muted)/.5)}.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\/40:hover{border-color:rgb(var(--color-retro-cyan)/.4)}.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\/30:hover{background-color:rgb(var(--color-retro-dark)/.3)}.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\/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\/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-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\:border-retro-cyan\/50:focus{border-color:rgb(var(--color-retro-cyan)/.5)}.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 +1 @@
1
- import{a as H,aa as C,ab as U,W,ac as A,N as T,ad as G,k as M,ae as J,af as Y,g as Q,s as N,Y as X,ag as Z,G as K,ah as ee,ai as te,aj as F,d as ae,y as g,z as p,A as _,B as w,K as S,I as V,J as I,L as k,E as se}from"./Dx2SytMU.js";import{k as re}from"./DvDpGQk1.js";const ne={trailing:!0};function oe(e,a=25,l={}){if(l={...ne,...l},!Number.isFinite(a))throw new TypeError("Expected `wait` to be a finite number");let c,r,y=[],s,t;const h=(d,u)=>(s=ie(e,d,u),s.finally(()=>{if(s=null,l.trailing&&t&&!r){const b=h(d,t);return t=null,b}}),s),D=function(...d){return l.trailing&&(t=d),s||new Promise(u=>{const b=!r&&l.leading;clearTimeout(r),r=setTimeout(()=>{r=null;const n=l.leading?c:h(this,d);t=null;for(const i of y)i(n);y=[]},a),b?(c=h(this,d),u(c)):y.push(u)})},o=d=>{d&&(clearTimeout(d),r=null)};return D.isPending=()=>!!r,D.cancel=()=>{o(r),y=[],t=null},D.flush=()=>{if(o(r),!t||s)return;const d=t;return t=null,h(this,d)},D}async function ie(e,a,l){return await e.apply(a,l)}const le=Symbol.for("nuxt:client-only"),ce=e=>e==="defer"||e===!1;function $e(...e){const a=typeof e[e.length-1]=="string"?e.pop():void 0;ue(e[0],e[1])&&e.unshift(a);let[l,c,r={}]=e,y=!1;const s=M(()=>te(l));if(typeof s.value!="string")throw new TypeError("[nuxt] [useAsyncData] key must be a string.");if(typeof c!="function")throw new TypeError("[nuxt] [useAsyncData] handler must be a function.");const t=H();r.server??=!0,r.default??=fe,r.getCachedData??=j,r.lazy??=!1,r.immediate??=!0,r.deep??=C.deep,r.dedupe??="cancel",r._functionName,t._asyncData[s.value];function h(){const n={cause:"initial",dedupe:r.dedupe};return t._asyncData[s.value]?._init||(n.cachedData=r.getCachedData(s.value,t,{cause:"initial"}),t._asyncData[s.value]=q(t,s.value,c,r,n.cachedData)),()=>t._asyncData[s.value].execute(n)}const D=h(),o=t._asyncData[s.value];o._deps++;const d=r.server!==!1&&t.payload.serverRendered;{let n=function(m){const f=t._asyncData[m];f?._deps&&(f._deps--,f._deps===0&&f?._off())};const i=J();if(i&&d&&r.immediate&&!i.sp&&(i.sp=[]),i&&!i._nuxtOnBeforeMountCbs){i._nuxtOnBeforeMountCbs=[];const m=i._nuxtOnBeforeMountCbs;U(()=>{m.forEach(f=>{f()}),m.splice(0,m.length)}),W(()=>m.splice(0,m.length))}const P=i&&(i._nuxtClientOnly||A(le,!1));d&&t.isHydrating&&(o.error.value||o.data.value!=null)?(o.pending.value=!1,o.status.value=o.error.value?"error":"success"):i&&(!P&&t.payload.serverRendered&&t.isHydrating||r.lazy)&&r.immediate?i._nuxtOnBeforeMountCbs.push(D):r.immediate&&D();const v=Y(),x=T(s,(m,f)=>{if((m||f)&&m!==f){y=!0;const R=t._asyncData[f]?.data.value!==C.value,z=t._asyncDataPromises[f]!==void 0,L={cause:"initial",dedupe:r.dedupe};if(!t._asyncData[m]?._init){let O;f&&R?O=t._asyncData[f].data.value:(O=r.getCachedData(m,t,{cause:"initial"}),L.cachedData=O),t._asyncData[m]=q(t,m,c,r,O)}t._asyncData[m]._deps++,f&&n(f),(r.immediate||R||z)&&t._asyncData[m].execute(L),F(()=>{y=!1})}},{flush:"sync"}),E=r.watch?T(r.watch,()=>{y||(t._asyncData[s.value]?._execute.isPending()&&F(()=>{t._asyncData[s.value]?._execute.flush()}),t._asyncData[s.value]?._execute({cause:"watch",dedupe:r.dedupe}))}):()=>{};v&&G(()=>{x(),E(),n(s.value)})}const u={data:B(()=>t._asyncData[s.value]?.data),pending:B(()=>t._asyncData[s.value]?.pending),status:B(()=>t._asyncData[s.value]?.status),error:B(()=>t._asyncData[s.value]?.error),refresh:(...n)=>t._asyncData[s.value]?._init?t._asyncData[s.value].execute(...n):h()(),execute:(...n)=>u.refresh(...n),clear:()=>{const n=t._asyncData[s.value];if(n?._abortController)try{n._abortController.abort(new DOMException("AsyncData aborted by user.","AbortError"))}finally{n._abortController=void 0}$(t,s.value)}},b=Promise.resolve(t._asyncDataPromises[s.value]).then(()=>u);return Object.assign(b,u),b}function B(e){return M({get(){return e()?.value},set(a){const l=e();l&&(l.value=a)}})}function ue(e,a){return!(typeof e=="string"||typeof e=="object"&&e!==null||typeof e=="function"&&typeof a=="function")}function $(e,a){a in e.payload.data&&(e.payload.data[a]=void 0),a in e.payload._errors&&(e.payload._errors[a]=C.errorValue),e._asyncData[a]&&(e._asyncData[a].data.value=void 0,e._asyncData[a].error.value=C.errorValue,e._asyncData[a].pending.value=!1,e._asyncData[a].status.value="idle"),a in e._asyncDataPromises&&(e._asyncDataPromises[a]=void 0)}function de(e,a){const l={};for(const c of a)l[c]=e[c];return l}function q(e,a,l,c,r){e.payload._errors[a]??=C.errorValue;const y=c.getCachedData!==j,s=l,t=c.deep?Q:N,h=r!=null,D=e.hook("app:data:refresh",async d=>{(!d||d.includes(a))&&await o.execute({cause:"refresh:hook"})}),o={data:t(h?r:c.default()),pending:N(!h),error:ee(e.payload._errors,a),status:N("idle"),execute:(...d)=>{const[u,b=void 0]=d,n=u&&b===void 0&&typeof u=="object"?u:{};if(e._asyncDataPromises[a]&&ce(n.dedupe??c.dedupe))return e._asyncDataPromises[a];if(n.cause==="initial"||e.isHydrating){const v="cachedData"in n?n.cachedData:c.getCachedData(a,e,{cause:n.cause??"refresh:manual"});if(v!=null)return e.payload.data[a]=o.data.value=v,o.error.value=C.errorValue,o.status.value="success",Promise.resolve(v)}o.pending.value=!0,o._abortController&&o._abortController.abort(new DOMException("AsyncData request cancelled by deduplication","AbortError")),o._abortController=new AbortController,o.status.value="pending";const i=new AbortController,P=new Promise((v,x)=>{try{const E=n.timeout??c.timeout,m=me([o._abortController?.signal,n?.signal],i.signal,E);if(m.aborted){const f=m.reason;x(f instanceof Error?f:new DOMException(String(f??"Aborted"),"AbortError"));return}return m.addEventListener("abort",()=>{const f=m.reason;x(f instanceof Error?f:new DOMException(String(f??"Aborted"),"AbortError"))},{once:!0,signal:i.signal}),Promise.resolve(s(e,{signal:m})).then(v,x)}catch(E){x(E)}}).then(async v=>{let x=v;c.transform&&(x=await c.transform(v)),c.pick&&(x=de(x,c.pick)),e.payload.data[a]=x,o.data.value=x,o.error.value=C.errorValue,o.status.value="success"}).catch(v=>{if(e._asyncDataPromises[a]&&e._asyncDataPromises[a]!==P||o._abortController?.signal.aborted)return e._asyncDataPromises[a];if(typeof DOMException<"u"&&v instanceof DOMException&&v.name==="AbortError")return o.status.value="idle",e._asyncDataPromises[a];o.error.value=Z(v),o.data.value=K(c.default()),o.status.value="error"}).finally(()=>{o.pending.value=!1,i.abort(),delete e._asyncDataPromises[a]});return e._asyncDataPromises[a]=P,e._asyncDataPromises[a]},_execute:oe((...d)=>o.execute(...d),0,{leading:!0}),_default:c.default,_deps:0,_init:!0,_hash:void 0,_off:()=>{D(),e._asyncData[a]?._init&&(e._asyncData[a]._init=!1),y||X(()=>{e._asyncData[a]?._init||($(e,a),o.execute=()=>Promise.resolve(),o.data.value=C.value)})}};return o}const fe=()=>C.value,j=(e,a,l)=>{if(a.isHydrating)return a.payload.data[e];if(l.cause!=="refresh:manual"&&l.cause!=="refresh:hook")return a.static.data[e]};function me(e,a,l){const c=e.filter(s=>!!s);if(typeof l=="number"&&l>=0){const s=AbortSignal.timeout?.(l);s&&c.push(s)}if(AbortSignal.any)return AbortSignal.any(c);const r=new AbortController;for(const s of c)if(s.aborted){const t=s.reason??new DOMException("Aborted","AbortError");try{r.abort(t)}catch{r.abort()}return r.signal}const y=()=>{const t=c.find(h=>h.aborted)?.reason??new DOMException("Aborted","AbortError");try{r.abort(t)}catch{r.abort()}};for(const s of c)s.addEventListener?.("abort",y,{once:!0,signal:a});return r.signal}const be={class:"space-y-3"},ye={key:0,class:"rounded border border-retro-border bg-retro-panel px-4 py-3"},_e={key:1,class:"rounded border border-retro-border bg-retro-panel px-4 py-3"},he={class:"text-xs font-mono text-retro-yellow"},ge={key:2,class:"rounded border border-retro-border bg-retro-panel px-4 py-3"},pe={key:3,class:"space-y-4"},ve={key:0,class:"text-xs font-mono text-retro-muted"},De={key:1,class:"text-xs font-mono text-retro-muted"},xe={class:"flex flex-col gap-2"},Ce={class:"flex flex-col gap-2"},we={class:"flex items-start justify-between gap-3"},Pe={class:"text-sm font-mono text-retro-text"},Ee={key:0,class:"text-xs font-mono text-retro-yellow"},Se={key:1,class:"text-xs font-mono text-retro-yellow"},Me={class:"text-xs text-retro-muted leading-tight"},Oe={class:"flex flex-wrap gap-2"},ke={key:0,class:"text-xs font-mono text-retro-yellow"},Be={class:"space-y-1.5"},Ne=["value","checked","disabled","onChange"],Ve={class:"flex-1 space-y-0.5"},Ie={class:"flex items-center gap-2"},Re={class:"text-sm font-mono text-retro-text"},Le={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"},Te={class:"text-xs text-retro-muted leading-tight"},je=ae({__name:"ProviderSelector",props:{providers:{},selected:{},permissionMode:{},pending:{type:Boolean},errorMessage:{}},emits:["select"],setup(e,{emit:a}){const l=e,c=a,r=[{key:"streaming",label:"Streaming"},{key:"permissions",label:"Permissions"},{key:"resume",label:"Session Resume"},{key:"autoCommit",label:"Auto Commit"}],y=M(()=>l.permissionMode==="ask"||l.permissionMode==="plan"),s=M(()=>re[l.permissionMode]),t=M(()=>!0);function h(u){const b=!y.value||u.capabilities.permissions,n=!t.value||u.capabilities.streaming;return b&&n}function D(u){return y.value&&!u.capabilities.permissions?`${u.name} cannot be used with ${s.value} because it does not expose permission prompts.`:t.value&&!u.capabilities.streaming?`${u.name} is unavailable because streaming runtime prerequisites are not satisfied.`:null}function o(u,b){h(u)&&c("select",{providerId:u.id,modelKey:b})}function d(u,b){return l.selected.providerId===u&&l.selected.modelKey===b}return(u,b)=>(g(),p("div",be,[e.pending?(g(),p("div",ye,[...b[0]||(b[0]=[_("p",{class:"text-xs font-mono text-retro-text"},"Loading providers…",-1)])])):e.errorMessage?(g(),p("div",_e,[_("p",he,"Unable to load providers: "+w(e.errorMessage),1)])):e.providers.length===0?(g(),p("div",ge,[...b[1]||(b[1]=[_("p",{class:"text-xs font-mono text-retro-muted"},"No AI providers are configured on the server. Check with your administrator.",-1)])])):(g(),p("div",pe,[y.value?(g(),p("p",ve," Permission mode "+w(s.value)+" requires a provider that supports permission prompts. Incompatible providers are disabled. ",1)):S("",!0),t.value?(g(),p("p",De," Chat currently requires a provider with streaming support. Providers without streaming are shown for preparation but disabled. ")):S("",!0),(g(!0),p(V,null,I(e.providers,n=>(g(),p("article",{key:n.id,class:k(["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}])},[_("div",xe,[_("div",Ce,[_("div",we,[_("span",Pe,w(n.name),1),y.value&&!n.capabilities.permissions?(g(),p("div",Ee," Permissions missing ")):t.value&&!n.capabilities.streaming?(g(),p("div",Se," Streaming missing ")):S("",!0)]),_("p",Me,w(n.description),1),_("div",Oe,[(g(),p(V,null,I(r,i=>_("span",{key:i.key,class:k(["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[i.key]?"border-retro-cyan/70 text-retro-cyan bg-retro-cyan/10":"border-retro-border text-retro-muted bg-retro-dark/60"])},[_("span",{class:k(["h-1.5 w-1.5 rounded-full",n.capabilities[i.key]?"bg-retro-cyan":"bg-retro-muted"])},null,2),se(" "+w(i.label),1)],2)),64))])])]),D(n)?(g(),p("p",ke,w(D(n)),1)):S("",!0),_("div",Be,[(g(!0),p(V,null,I(n.models,i=>(g(),p("label",{key:i.key,class:k(["flex items-start gap-3 px-3 py-2 rounded border cursor-pointer transition-colors",[d(n.id,i.key)?"border-retro-cyan bg-retro-cyan/10":"border-retro-border bg-retro-panel hover:border-retro-muted",h(n)?"":"opacity-60 cursor-not-allowed"]])},[_("input",{type:"radio",name:"provider-model",value:`${n.id}:${i.key}`,checked:d(n.id,i.key),disabled:!h(n),class:"mt-1 h-3.5 w-3.5 text-retro-cyan accent-retro-cyan",onChange:P=>o(n,i.key)},null,40,Ne),_("div",Ve,[_("div",Ie,[_("span",Re,w(i.label),1),i.default?(g(),p("span",Le," Default ")):S("",!0)]),_("p",Te,w(i.description),1)])],2))),128))])],2))),128))]))]))}});export{je as _,$e as u};
1
+ import{a as H,aa as C,ab as U,W,ac as A,N as T,ad as G,k as M,ae as J,af as Y,g as Q,s as N,Y as X,ag as Z,G as K,ah as ee,ai as te,aj as F,d as ae,y as g,z as p,A as _,B as w,K as S,I as V,J as I,L as k,E as se}from"./wserZ5KO.js";import{k as re}from"./D_05ko21.js";const ne={trailing:!0};function oe(e,a=25,l={}){if(l={...ne,...l},!Number.isFinite(a))throw new TypeError("Expected `wait` to be a finite number");let c,r,y=[],s,t;const h=(d,u)=>(s=ie(e,d,u),s.finally(()=>{if(s=null,l.trailing&&t&&!r){const b=h(d,t);return t=null,b}}),s),D=function(...d){return l.trailing&&(t=d),s||new Promise(u=>{const b=!r&&l.leading;clearTimeout(r),r=setTimeout(()=>{r=null;const n=l.leading?c:h(this,d);t=null;for(const i of y)i(n);y=[]},a),b?(c=h(this,d),u(c)):y.push(u)})},o=d=>{d&&(clearTimeout(d),r=null)};return D.isPending=()=>!!r,D.cancel=()=>{o(r),y=[],t=null},D.flush=()=>{if(o(r),!t||s)return;const d=t;return t=null,h(this,d)},D}async function ie(e,a,l){return await e.apply(a,l)}const le=Symbol.for("nuxt:client-only"),ce=e=>e==="defer"||e===!1;function $e(...e){const a=typeof e[e.length-1]=="string"?e.pop():void 0;ue(e[0],e[1])&&e.unshift(a);let[l,c,r={}]=e,y=!1;const s=M(()=>te(l));if(typeof s.value!="string")throw new TypeError("[nuxt] [useAsyncData] key must be a string.");if(typeof c!="function")throw new TypeError("[nuxt] [useAsyncData] handler must be a function.");const t=H();r.server??=!0,r.default??=fe,r.getCachedData??=j,r.lazy??=!1,r.immediate??=!0,r.deep??=C.deep,r.dedupe??="cancel",r._functionName,t._asyncData[s.value];function h(){const n={cause:"initial",dedupe:r.dedupe};return t._asyncData[s.value]?._init||(n.cachedData=r.getCachedData(s.value,t,{cause:"initial"}),t._asyncData[s.value]=q(t,s.value,c,r,n.cachedData)),()=>t._asyncData[s.value].execute(n)}const D=h(),o=t._asyncData[s.value];o._deps++;const d=r.server!==!1&&t.payload.serverRendered;{let n=function(m){const f=t._asyncData[m];f?._deps&&(f._deps--,f._deps===0&&f?._off())};const i=J();if(i&&d&&r.immediate&&!i.sp&&(i.sp=[]),i&&!i._nuxtOnBeforeMountCbs){i._nuxtOnBeforeMountCbs=[];const m=i._nuxtOnBeforeMountCbs;U(()=>{m.forEach(f=>{f()}),m.splice(0,m.length)}),W(()=>m.splice(0,m.length))}const P=i&&(i._nuxtClientOnly||A(le,!1));d&&t.isHydrating&&(o.error.value||o.data.value!=null)?(o.pending.value=!1,o.status.value=o.error.value?"error":"success"):i&&(!P&&t.payload.serverRendered&&t.isHydrating||r.lazy)&&r.immediate?i._nuxtOnBeforeMountCbs.push(D):r.immediate&&D();const v=Y(),x=T(s,(m,f)=>{if((m||f)&&m!==f){y=!0;const R=t._asyncData[f]?.data.value!==C.value,z=t._asyncDataPromises[f]!==void 0,L={cause:"initial",dedupe:r.dedupe};if(!t._asyncData[m]?._init){let O;f&&R?O=t._asyncData[f].data.value:(O=r.getCachedData(m,t,{cause:"initial"}),L.cachedData=O),t._asyncData[m]=q(t,m,c,r,O)}t._asyncData[m]._deps++,f&&n(f),(r.immediate||R||z)&&t._asyncData[m].execute(L),F(()=>{y=!1})}},{flush:"sync"}),E=r.watch?T(r.watch,()=>{y||(t._asyncData[s.value]?._execute.isPending()&&F(()=>{t._asyncData[s.value]?._execute.flush()}),t._asyncData[s.value]?._execute({cause:"watch",dedupe:r.dedupe}))}):()=>{};v&&G(()=>{x(),E(),n(s.value)})}const u={data:B(()=>t._asyncData[s.value]?.data),pending:B(()=>t._asyncData[s.value]?.pending),status:B(()=>t._asyncData[s.value]?.status),error:B(()=>t._asyncData[s.value]?.error),refresh:(...n)=>t._asyncData[s.value]?._init?t._asyncData[s.value].execute(...n):h()(),execute:(...n)=>u.refresh(...n),clear:()=>{const n=t._asyncData[s.value];if(n?._abortController)try{n._abortController.abort(new DOMException("AsyncData aborted by user.","AbortError"))}finally{n._abortController=void 0}$(t,s.value)}},b=Promise.resolve(t._asyncDataPromises[s.value]).then(()=>u);return Object.assign(b,u),b}function B(e){return M({get(){return e()?.value},set(a){const l=e();l&&(l.value=a)}})}function ue(e,a){return!(typeof e=="string"||typeof e=="object"&&e!==null||typeof e=="function"&&typeof a=="function")}function $(e,a){a in e.payload.data&&(e.payload.data[a]=void 0),a in e.payload._errors&&(e.payload._errors[a]=C.errorValue),e._asyncData[a]&&(e._asyncData[a].data.value=void 0,e._asyncData[a].error.value=C.errorValue,e._asyncData[a].pending.value=!1,e._asyncData[a].status.value="idle"),a in e._asyncDataPromises&&(e._asyncDataPromises[a]=void 0)}function de(e,a){const l={};for(const c of a)l[c]=e[c];return l}function q(e,a,l,c,r){e.payload._errors[a]??=C.errorValue;const y=c.getCachedData!==j,s=l,t=c.deep?Q:N,h=r!=null,D=e.hook("app:data:refresh",async d=>{(!d||d.includes(a))&&await o.execute({cause:"refresh:hook"})}),o={data:t(h?r:c.default()),pending:N(!h),error:ee(e.payload._errors,a),status:N("idle"),execute:(...d)=>{const[u,b=void 0]=d,n=u&&b===void 0&&typeof u=="object"?u:{};if(e._asyncDataPromises[a]&&ce(n.dedupe??c.dedupe))return e._asyncDataPromises[a];if(n.cause==="initial"||e.isHydrating){const v="cachedData"in n?n.cachedData:c.getCachedData(a,e,{cause:n.cause??"refresh:manual"});if(v!=null)return e.payload.data[a]=o.data.value=v,o.error.value=C.errorValue,o.status.value="success",Promise.resolve(v)}o.pending.value=!0,o._abortController&&o._abortController.abort(new DOMException("AsyncData request cancelled by deduplication","AbortError")),o._abortController=new AbortController,o.status.value="pending";const i=new AbortController,P=new Promise((v,x)=>{try{const E=n.timeout??c.timeout,m=me([o._abortController?.signal,n?.signal],i.signal,E);if(m.aborted){const f=m.reason;x(f instanceof Error?f:new DOMException(String(f??"Aborted"),"AbortError"));return}return m.addEventListener("abort",()=>{const f=m.reason;x(f instanceof Error?f:new DOMException(String(f??"Aborted"),"AbortError"))},{once:!0,signal:i.signal}),Promise.resolve(s(e,{signal:m})).then(v,x)}catch(E){x(E)}}).then(async v=>{let x=v;c.transform&&(x=await c.transform(v)),c.pick&&(x=de(x,c.pick)),e.payload.data[a]=x,o.data.value=x,o.error.value=C.errorValue,o.status.value="success"}).catch(v=>{if(e._asyncDataPromises[a]&&e._asyncDataPromises[a]!==P||o._abortController?.signal.aborted)return e._asyncDataPromises[a];if(typeof DOMException<"u"&&v instanceof DOMException&&v.name==="AbortError")return o.status.value="idle",e._asyncDataPromises[a];o.error.value=Z(v),o.data.value=K(c.default()),o.status.value="error"}).finally(()=>{o.pending.value=!1,i.abort(),delete e._asyncDataPromises[a]});return e._asyncDataPromises[a]=P,e._asyncDataPromises[a]},_execute:oe((...d)=>o.execute(...d),0,{leading:!0}),_default:c.default,_deps:0,_init:!0,_hash:void 0,_off:()=>{D(),e._asyncData[a]?._init&&(e._asyncData[a]._init=!1),y||X(()=>{e._asyncData[a]?._init||($(e,a),o.execute=()=>Promise.resolve(),o.data.value=C.value)})}};return o}const fe=()=>C.value,j=(e,a,l)=>{if(a.isHydrating)return a.payload.data[e];if(l.cause!=="refresh:manual"&&l.cause!=="refresh:hook")return a.static.data[e]};function me(e,a,l){const c=e.filter(s=>!!s);if(typeof l=="number"&&l>=0){const s=AbortSignal.timeout?.(l);s&&c.push(s)}if(AbortSignal.any)return AbortSignal.any(c);const r=new AbortController;for(const s of c)if(s.aborted){const t=s.reason??new DOMException("Aborted","AbortError");try{r.abort(t)}catch{r.abort()}return r.signal}const y=()=>{const t=c.find(h=>h.aborted)?.reason??new DOMException("Aborted","AbortError");try{r.abort(t)}catch{r.abort()}};for(const s of c)s.addEventListener?.("abort",y,{once:!0,signal:a});return r.signal}const be={class:"space-y-3"},ye={key:0,class:"rounded border border-retro-border bg-retro-panel px-4 py-3"},_e={key:1,class:"rounded border border-retro-border bg-retro-panel px-4 py-3"},he={class:"text-xs font-mono text-retro-yellow"},ge={key:2,class:"rounded border border-retro-border bg-retro-panel px-4 py-3"},pe={key:3,class:"space-y-4"},ve={key:0,class:"text-xs font-mono text-retro-muted"},De={key:1,class:"text-xs font-mono text-retro-muted"},xe={class:"flex flex-col gap-2"},Ce={class:"flex flex-col gap-2"},we={class:"flex items-start justify-between gap-3"},Pe={class:"text-sm font-mono text-retro-text"},Ee={key:0,class:"text-xs font-mono text-retro-yellow"},Se={key:1,class:"text-xs font-mono text-retro-yellow"},Me={class:"text-xs text-retro-muted leading-tight"},Oe={class:"flex flex-wrap gap-2"},ke={key:0,class:"text-xs font-mono text-retro-yellow"},Be={class:"space-y-1.5"},Ne=["value","checked","disabled","onChange"],Ve={class:"flex-1 space-y-0.5"},Ie={class:"flex items-center gap-2"},Re={class:"text-sm font-mono text-retro-text"},Le={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"},Te={class:"text-xs text-retro-muted leading-tight"},je=ae({__name:"ProviderSelector",props:{providers:{},selected:{},permissionMode:{},pending:{type:Boolean},errorMessage:{}},emits:["select"],setup(e,{emit:a}){const l=e,c=a,r=[{key:"streaming",label:"Streaming"},{key:"permissions",label:"Permissions"},{key:"resume",label:"Session Resume"},{key:"autoCommit",label:"Auto Commit"}],y=M(()=>l.permissionMode==="ask"||l.permissionMode==="plan"),s=M(()=>re[l.permissionMode]),t=M(()=>!0);function h(u){const b=!y.value||u.capabilities.permissions,n=!t.value||u.capabilities.streaming;return b&&n}function D(u){return y.value&&!u.capabilities.permissions?`${u.name} cannot be used with ${s.value} because it does not expose permission prompts.`:t.value&&!u.capabilities.streaming?`${u.name} is unavailable because streaming runtime prerequisites are not satisfied.`:null}function o(u,b){h(u)&&c("select",{providerId:u.id,modelKey:b})}function d(u,b){return l.selected.providerId===u&&l.selected.modelKey===b}return(u,b)=>(g(),p("div",be,[e.pending?(g(),p("div",ye,[...b[0]||(b[0]=[_("p",{class:"text-xs font-mono text-retro-text"},"Loading providers…",-1)])])):e.errorMessage?(g(),p("div",_e,[_("p",he,"Unable to load providers: "+w(e.errorMessage),1)])):e.providers.length===0?(g(),p("div",ge,[...b[1]||(b[1]=[_("p",{class:"text-xs font-mono text-retro-muted"},"No AI providers are configured on the server. Check with your administrator.",-1)])])):(g(),p("div",pe,[y.value?(g(),p("p",ve," Permission mode "+w(s.value)+" requires a provider that supports permission prompts. Incompatible providers are disabled. ",1)):S("",!0),t.value?(g(),p("p",De," Chat currently requires a provider with streaming support. Providers without streaming are shown for preparation but disabled. ")):S("",!0),(g(!0),p(V,null,I(e.providers,n=>(g(),p("article",{key:n.id,class:k(["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}])},[_("div",xe,[_("div",Ce,[_("div",we,[_("span",Pe,w(n.name),1),y.value&&!n.capabilities.permissions?(g(),p("div",Ee," Permissions missing ")):t.value&&!n.capabilities.streaming?(g(),p("div",Se," Streaming missing ")):S("",!0)]),_("p",Me,w(n.description),1),_("div",Oe,[(g(),p(V,null,I(r,i=>_("span",{key:i.key,class:k(["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[i.key]?"border-retro-cyan/70 text-retro-cyan bg-retro-cyan/10":"border-retro-border text-retro-muted bg-retro-dark/60"])},[_("span",{class:k(["h-1.5 w-1.5 rounded-full",n.capabilities[i.key]?"bg-retro-cyan":"bg-retro-muted"])},null,2),se(" "+w(i.label),1)],2)),64))])])]),D(n)?(g(),p("p",ke,w(D(n)),1)):S("",!0),_("div",Be,[(g(!0),p(V,null,I(n.models,i=>(g(),p("label",{key:i.key,class:k(["flex items-start gap-3 px-3 py-2 rounded border cursor-pointer transition-colors",[d(n.id,i.key)?"border-retro-cyan bg-retro-cyan/10":"border-retro-border bg-retro-panel hover:border-retro-muted",h(n)?"":"opacity-60 cursor-not-allowed"]])},[_("input",{type:"radio",name:"provider-model",value:`${n.id}:${i.key}`,checked:d(n.id,i.key),disabled:!h(n),class:"mt-1 h-3.5 w-3.5 text-retro-cyan accent-retro-cyan",onChange:P=>o(n,i.key)},null,40,Ne),_("div",Ve,[_("div",Ie,[_("span",Re,w(i.label),1),i.default?(g(),p("span",Le," Default ")):S("",!0)]),_("p",Te,w(i.description),1)])],2))),128))])],2))),128))]))]))}});export{je as _,$e as u};
@@ -1 +1 @@
1
- .streaming-border[data-v-4d7fd350]{background-image:linear-gradient(270deg,rgb(var(--color-retro-cyan)/.04),rgb(var(--color-retro-cyan)/.12),rgb(var(--color-retro-cyan)/.04),rgb(var(--color-retro-cyan)/.12))!important;border-color:rgb(var(--color-retro-cyan)/.4)!important}.streaming-active-border[data-v-4d7fd350],.streaming-border[data-v-4d7fd350]{animation:streaming-bg-sweep-4d7fd350 2s cubic-bezier(.76,0,.24,1) infinite;background-color:transparent!important;background-size:300% 100%!important;overflow:hidden;position:relative}.streaming-active-border[data-v-4d7fd350]{background-image:linear-gradient(270deg,rgb(var(--color-retro-cyan)/.08),rgb(var(--color-retro-cyan)/.2),rgb(var(--color-retro-cyan)/.08),rgb(var(--color-retro-cyan)/.2))!important;border-color:rgb(var(--color-retro-cyan)/.8)!important;box-shadow:0 0 8px rgb(var(--color-retro-cyan)/.3),0 0 0 1px rgb(var(--color-retro-cyan)/.4)}.streaming-preview-border[data-v-4d7fd350]{background-image:linear-gradient(270deg,rgb(var(--color-retro-magenta)/.03),rgb(var(--color-retro-magenta)/.08),rgb(var(--color-retro-magenta)/.03),rgb(var(--color-retro-magenta)/.08))!important;border-color:rgb(var(--color-retro-magenta)/.3)!important}.streaming-preview-active-border[data-v-4d7fd350],.streaming-preview-border[data-v-4d7fd350]{animation:streaming-bg-sweep-4d7fd350 2s cubic-bezier(.76,0,.24,1) infinite;background-color:transparent!important;background-size:300% 100%!important;overflow:hidden;position:relative}.streaming-preview-active-border[data-v-4d7fd350]{background-image:linear-gradient(270deg,rgb(var(--color-retro-cyan)/.06),rgb(var(--color-retro-magenta)/.18),rgb(var(--color-retro-cyan)/.06),rgb(var(--color-retro-magenta)/.18))!important;border-color:rgb(var(--color-retro-magenta)/.7)!important;box-shadow:0 0 0 1px rgb(var(--color-retro-magenta)/.3)}@keyframes streaming-bg-sweep-4d7fd350{0%{background-position:100% 50%}75%{background-position:0 50%}to{background-position:0 50%}}
1
+ .streaming-border[data-v-64e8df74]{background-image:linear-gradient(270deg,rgb(var(--color-retro-cyan)/.04),rgb(var(--color-retro-cyan)/.12),rgb(var(--color-retro-cyan)/.04),rgb(var(--color-retro-cyan)/.12))!important;border-color:rgb(var(--color-retro-cyan)/.4)!important}.streaming-active-border[data-v-64e8df74],.streaming-border[data-v-64e8df74]{animation:streaming-bg-sweep-64e8df74 2s cubic-bezier(.76,0,.24,1) infinite;background-color:transparent!important;background-size:300% 100%!important;overflow:hidden;position:relative}.streaming-active-border[data-v-64e8df74]{background-image:linear-gradient(270deg,rgb(var(--color-retro-cyan)/.08),rgb(var(--color-retro-cyan)/.2),rgb(var(--color-retro-cyan)/.08),rgb(var(--color-retro-cyan)/.2))!important;border-color:rgb(var(--color-retro-cyan)/.8)!important;box-shadow:0 0 8px rgb(var(--color-retro-cyan)/.3),0 0 0 1px rgb(var(--color-retro-cyan)/.4)}.streaming-preview-border[data-v-64e8df74]{background-image:linear-gradient(270deg,rgb(var(--color-retro-magenta)/.03),rgb(var(--color-retro-magenta)/.08),rgb(var(--color-retro-magenta)/.03),rgb(var(--color-retro-magenta)/.08))!important;border-color:rgb(var(--color-retro-magenta)/.3)!important}.streaming-preview-active-border[data-v-64e8df74],.streaming-preview-border[data-v-64e8df74]{animation:streaming-bg-sweep-64e8df74 2s cubic-bezier(.76,0,.24,1) infinite;background-color:transparent!important;background-size:300% 100%!important;overflow:hidden;position:relative}.streaming-preview-active-border[data-v-64e8df74]{background-image:linear-gradient(270deg,rgb(var(--color-retro-cyan)/.06),rgb(var(--color-retro-magenta)/.18),rgb(var(--color-retro-cyan)/.06),rgb(var(--color-retro-magenta)/.18))!important;border-color:rgb(var(--color-retro-magenta)/.7)!important;box-shadow:0 0 0 1px rgb(var(--color-retro-magenta)/.3)}@keyframes streaming-bg-sweep-64e8df74{0%{background-position:100% 50%}75%{background-position:0 50%}to{background-position:0 50%}}