chorus-codes 0.8.44 → 0.8.46

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 (154) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +1 -1
  3. package/.next/build-manifest.json +2 -2
  4. package/.next/prerender-manifest.json +3 -3
  5. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  6. package/.next/server/app/_global-error.html +1 -1
  7. package/.next/server/app/_global-error.rsc +1 -1
  8. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  9. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  10. package/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  11. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  12. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  13. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  14. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  15. package/.next/server/app/_not-found.html +1 -1
  16. package/.next/server/app/_not-found.rsc +2 -2
  17. package/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  18. package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  19. package/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  20. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  21. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  22. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  23. package/.next/server/app/connect/page.js +1 -1
  24. package/.next/server/app/connect/page_client-reference-manifest.js +1 -1
  25. package/.next/server/app/demo/[scenario]/page_client-reference-manifest.js +1 -1
  26. package/.next/server/app/new/page.js +1 -1
  27. package/.next/server/app/new/page_client-reference-manifest.js +1 -1
  28. package/.next/server/app/new.html +1 -1
  29. package/.next/server/app/new.rsc +3 -3
  30. package/.next/server/app/new.segments/_full.segment.rsc +3 -3
  31. package/.next/server/app/new.segments/_head.segment.rsc +1 -1
  32. package/.next/server/app/new.segments/_index.segment.rsc +2 -2
  33. package/.next/server/app/new.segments/_tree.segment.rsc +2 -2
  34. package/.next/server/app/new.segments/new/__PAGE__.segment.rsc +2 -2
  35. package/.next/server/app/new.segments/new.segment.rsc +1 -1
  36. package/.next/server/app/onboarding/page.js +2 -2
  37. package/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
  38. package/.next/server/app/onboarding.html +1 -1
  39. package/.next/server/app/onboarding.rsc +3 -3
  40. package/.next/server/app/onboarding.segments/_full.segment.rsc +3 -3
  41. package/.next/server/app/onboarding.segments/_head.segment.rsc +1 -1
  42. package/.next/server/app/onboarding.segments/_index.segment.rsc +2 -2
  43. package/.next/server/app/onboarding.segments/_tree.segment.rsc +2 -2
  44. package/.next/server/app/onboarding.segments/onboarding/__PAGE__.segment.rsc +2 -2
  45. package/.next/server/app/onboarding.segments/onboarding.segment.rsc +1 -1
  46. package/.next/server/app/page.js +1 -1
  47. package/.next/server/app/page_client-reference-manifest.js +1 -1
  48. package/.next/server/app/personas/page_client-reference-manifest.js +1 -1
  49. package/.next/server/app/personas.html +1 -1
  50. package/.next/server/app/personas.rsc +3 -3
  51. package/.next/server/app/personas.segments/_full.segment.rsc +3 -3
  52. package/.next/server/app/personas.segments/_head.segment.rsc +1 -1
  53. package/.next/server/app/personas.segments/_index.segment.rsc +2 -2
  54. package/.next/server/app/personas.segments/_tree.segment.rsc +2 -2
  55. package/.next/server/app/personas.segments/personas/__PAGE__.segment.rsc +2 -2
  56. package/.next/server/app/personas.segments/personas.segment.rsc +1 -1
  57. package/.next/server/app/runs/[runId]/page_client-reference-manifest.js +1 -1
  58. package/.next/server/app/runs/page_client-reference-manifest.js +1 -1
  59. package/.next/server/app/settings/page.js +2 -2
  60. package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  61. package/.next/server/app/settings/permissions/page_client-reference-manifest.js +1 -1
  62. package/.next/server/app/settings.html +1 -1
  63. package/.next/server/app/settings.rsc +3 -3
  64. package/.next/server/app/settings.segments/_full.segment.rsc +3 -3
  65. package/.next/server/app/settings.segments/_head.segment.rsc +1 -1
  66. package/.next/server/app/settings.segments/_index.segment.rsc +2 -2
  67. package/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  68. package/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +2 -2
  69. package/.next/server/app/settings.segments/settings.segment.rsc +1 -1
  70. package/.next/server/app/templates/page.js +1 -1
  71. package/.next/server/app/templates/page_client-reference-manifest.js +1 -1
  72. package/.next/server/app/templates.html +1 -1
  73. package/.next/server/app/templates.rsc +3 -3
  74. package/.next/server/app/templates.segments/_full.segment.rsc +3 -3
  75. package/.next/server/app/templates.segments/_head.segment.rsc +1 -1
  76. package/.next/server/app/templates.segments/_index.segment.rsc +2 -2
  77. package/.next/server/app/templates.segments/_tree.segment.rsc +2 -2
  78. package/.next/server/app/templates.segments/templates/__PAGE__.segment.rsc +2 -2
  79. package/.next/server/app/templates.segments/templates.segment.rsc +1 -1
  80. package/.next/server/app-paths-manifest.json +1 -1
  81. package/.next/server/chunks/189.js +1 -1
  82. package/.next/server/chunks/325.js +1 -1
  83. package/.next/server/chunks/642.js +1 -1
  84. package/.next/server/chunks/681.js +1 -1
  85. package/.next/server/middleware-build-manifest.js +1 -1
  86. package/.next/server/pages/404.html +1 -1
  87. package/.next/server/pages/500.html +1 -1
  88. package/.next/server/server-reference-manifest.json +1 -1
  89. package/.next/static/chunks/245-f3d2948b0049e981.js +1 -0
  90. package/.next/static/chunks/{641-66f3ba81d2479b02.js → 641-81dca4fb9dc808be.js} +1 -1
  91. package/.next/static/chunks/744-c2e8529e7a5b0221.js +1 -0
  92. package/.next/static/chunks/app/connect/page-14d8e3fa9505959f.js +1 -0
  93. package/.next/static/chunks/app/new/page-4452a15141b14ef3.js +1 -0
  94. package/.next/static/chunks/app/onboarding/page-cc53c4eeeb372cda.js +1 -0
  95. package/.next/static/chunks/app/page-de91de3476faae94.js +1 -0
  96. package/.next/static/chunks/app/settings/page-9e139cc529c0a91c.js +25 -0
  97. package/.next/static/chunks/app/templates/page-4984d1f588c30038.js +1 -0
  98. package/.next/static/css/e8fdba3e08fd4c61.css +3 -0
  99. package/.next/trace +20 -20
  100. package/.next/trace-build +1 -1
  101. package/dist/cli/commands/doctor.js +1 -0
  102. package/dist/cli/commands/doctor.js.map +1 -1
  103. package/dist/cli/commands/init.js +1 -0
  104. package/dist/cli/commands/init.js.map +1 -1
  105. package/dist/cli/commands/quickstart.js +1 -0
  106. package/dist/cli/commands/quickstart.js.map +1 -1
  107. package/dist/daemon/agents/antigravity.js +87 -0
  108. package/dist/daemon/agents/antigravity.js.map +1 -0
  109. package/dist/daemon/agents/index.js +4 -1
  110. package/dist/daemon/agents/index.js.map +1 -1
  111. package/dist/daemon/agents/parsers/antigravity.js +119 -0
  112. package/dist/daemon/agents/parsers/antigravity.js.map +1 -0
  113. package/dist/daemon/agents/parsers/index.js +4 -1
  114. package/dist/daemon/agents/parsers/index.js.map +1 -1
  115. package/dist/daemon/chat-gate.js +285 -0
  116. package/dist/daemon/chat-gate.js.map +1 -0
  117. package/dist/daemon/error-detector.js +20 -2
  118. package/dist/daemon/error-detector.js.map +1 -1
  119. package/dist/daemon/resource-stats.js +80 -0
  120. package/dist/daemon/resource-stats.js.map +1 -0
  121. package/dist/daemon/routes/settings.js +54 -0
  122. package/dist/daemon/routes/settings.js.map +1 -1
  123. package/dist/daemon/runner.js +48 -0
  124. package/dist/daemon/runner.js.map +1 -1
  125. package/dist/lib/cli-detect.js +9 -0
  126. package/dist/lib/cli-detect.js.map +1 -1
  127. package/dist/lib/cli-health.js +1 -0
  128. package/dist/lib/cli-health.js.map +1 -1
  129. package/dist/lib/cli-paths.js +1 -0
  130. package/dist/lib/cli-paths.js.map +1 -1
  131. package/dist/lib/cli-precheck.js +9 -0
  132. package/dist/lib/cli-precheck.js.map +1 -1
  133. package/dist/lib/db/voices.js +1 -1
  134. package/dist/lib/db/voices.js.map +1 -1
  135. package/dist/lib/lineage-maps.js +31 -0
  136. package/dist/lib/lineage-maps.js.map +1 -1
  137. package/dist/lib/settings/chat-concurrency.js +104 -0
  138. package/dist/lib/settings/chat-concurrency.js.map +1 -0
  139. package/dist/lib/template-schema.js +2 -2
  140. package/dist/lib/template-schema.js.map +1 -1
  141. package/dist/lib/voices.js +6 -0
  142. package/dist/lib/voices.js.map +1 -1
  143. package/package.json +1 -1
  144. package/.next/static/chunks/245-686f2a9a3d4d5554.js +0 -1
  145. package/.next/static/chunks/744-a5a2f718e91700bd.js +0 -1
  146. package/.next/static/chunks/app/connect/page-e216744a2daa061b.js +0 -1
  147. package/.next/static/chunks/app/new/page-d65ea7687a1b37ad.js +0 -1
  148. package/.next/static/chunks/app/onboarding/page-9f2b388be3008bdc.js +0 -1
  149. package/.next/static/chunks/app/page-75f1f750029680bd.js +0 -1
  150. package/.next/static/chunks/app/settings/page-e2f6b190d3794681.js +0 -25
  151. package/.next/static/chunks/app/templates/page-0cfb5ce79f29fcd5.js +0 -1
  152. package/.next/static/css/a2b7a8d35dba10d3.css +0 -3
  153. /package/.next/static/{wtStgSmENkySuN6zbUBM6 → W97_xq3XcOw4uiCeSVQNz}/_buildManifest.js +0 -0
  154. /package/.next/static/{wtStgSmENkySuN6zbUBM6 → W97_xq3XcOw4uiCeSVQNz}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[814],{3016:(e,r,t)=>{"use strict";t.r(r),t.d(r,{default:()=>eG});var s=t(9442),a=t(6074),n=t(4052),o=t(3149),i=t(8420),l=t(4372),d=t(63),c=t(5702),u=t(6457),m=t(8191),x=t(9315),p=t(2865),h=t(6891),g=t(6458),f=t(4030),b=t(2956),v=t(1853),j=t(6185),y=t(599),w=t(9345);let N=Object.freeze({valid:!0,issues:[]});var k=t(7362),C=t(8979),A=t(8821),S=t(4608),M=t(7978);let L={claude:"anthropic",codex:"openai",gemini:"google",opencode:"opencode",kimi:"moonshot",openrouter:"openrouter",local:"local",grok:"grok",antigravity:"antigravity"},D={anthropic:"claude",openai:"codex",google:"gemini",opencode:"opencode",moonshot:"kimi",openrouter:"openrouter",xai:"opencode",local:"local",grok:"grok",antigravity:"antigravity"},R={claude:"claude-opus-4-7",codex:"gpt-5.5",gemini:"gemini-2.5-pro",opencode:"kimi-k2.6",kimi:"kimi-k2.6",openrouter:"",local:"",grok:"grok-build",antigravity:"gemini-3.5-flash"},P={id:"",name:"",description:"",author:"you",category:"review",phases:[{id:"review",name:"Review",description:"Three independent critiques.",kind:"review",gate:"ask-user",doer:{lineage:"claude",models:["claude-opus-4-7"]},reviewer:{require:3,crossLineage:!0,candidates:["codex","gemini","opencode"]},inputs:{include:[],exclude:[]},iterate:{max:3,onMax:"ask-user"},blindSpots:[],execution:"parallel",builtin:!1}],threshold:"unanimous",onThresholdMet:"ask-user",maxRounds:3,yoloDefault:!1,fallbackDoer:[],fallbackReviewer:[]},$=[{id:"review",label:"Review"},{id:"plan",label:"Plan"},{id:"debug",label:"Debug"},{id:"decide",label:"Decide"}],T=[{id:"unanimous",label:"Unanimous",hint:"All lineages must agree. Strictest — best for high-stakes reviews."},{id:"majority",label:"Majority",hint:"≥ ⅔ of lineages agree. Good default for code review."},{id:"any",label:"Any",hint:"≥1 lineage agrees. Useful for brainstorming where divergence is fine."}],_=[{id:"auto-finalize",label:"Auto-finalize"},{id:"ask-user",label:"Ask me"}],E=[{id:1,label:"Basics",icon:C.A},{id:2,label:"Phases",icon:A.A},{id:3,label:"Fallback",icon:S.A},{id:4,label:"Policy",icon:M.A}],q=["claude","codex","gemini","opencode","kimi","openrouter","local","grok","antigravity"];function F(e){return e.trim().toLowerCase().replace(/[^\w\s-]/g,"").replace(/\s+/g,"-").replace(/-+/g,"-")||"untitled"}function U(e){var r;return y.Ay.stringify({id:(r=e).id||F(r.name),name:r.name||"Untitled template",description:r.description||"Describe what this template is for.",author:r.author||"chorus",agreementThreshold:void 0!==r.customThreshold?r.customThreshold:function(e){switch(e){case"unanimous":return 1;case"majority":return .66;case"any":return .34}}(r.threshold),onThresholdMet:r.onThresholdMetRaw??("auto-finalize"===r.onThresholdMet?"merge":"ask"),maxRounds:r.maxRounds,yoloDefault:r.yoloDefault,phases:r.phases.map(e=>{let r="review_only"===e.kind,t=e.reviewer.candidates.length>0?{require:e.reviewer.require,crossLineage:e.reviewer.crossLineage,candidates:e.reviewer.candidates.flatMap(r=>{let t=(e.reviewer.candidateModels?.[r]??[]).map(e=>e.trim()).filter(e=>e.length>0),s=e.reviewer.candidatePersonas?.[r],a=L[r]??"anthropic";if(0===t.length){let e=R[r]??"claude-opus-4-7",t=s?.[""];return[{lineage:a,models:[e],...t?{persona:t}:{}}]}return t.map(e=>{let r=s?.[e];return{lineage:a,models:[e],...r?{persona:r}:{}}})})}:void 0;return r?{id:e.id,kind:e.kind,title:e.name,description:e.description,reviewer:t,inputs:{include:e.inputs.include,exclude:e.inputs.exclude},artifact:{label:e.artifact?.label??"Artifact to review",hint:e.artifact?.hint??"Paste a unified diff, a markdown draft, code, or any text blob.",maxBytes:e.artifact?.maxBytes??1048576}}:{id:e.id,kind:e.kind,title:e.name,description:e.description,doer:{lineage:L[e.doer.lineage]??"anthropic",models:e.doer.models.length>0?e.doer.models:[R[e.doer.lineage]??"claude-opus-4-7"],...e.doer.persona?{persona:e.doer.persona}:{}},reviewer:t,inputs:{include:e.inputs.include,exclude:e.inputs.exclude},iterate:{maxRounds:e.iterate.max,onDisagreement:"loopback"===e.iterate.onMax?"continue":"fail"===e.iterate.onMax?"accept-doer":"escalate",shareSessionAcrossRounds:!0,shareSessionAcrossPhases:!1}}}),...r.fallbackDoer.length>0||r.fallbackReviewer.length>0?{fallback:{...r.fallbackDoer.length>0?{doer:r.fallbackDoer.map(e=>({lineage:L[e.lineage]??"anthropic",models:[e.model],...e.persona?{persona:e.persona}:{}}))}:{},...r.fallbackReviewer.length>0?{reviewer:r.fallbackReviewer.map(e=>({lineage:L[e.lineage]??"anthropic",models:[e.model],...e.persona?{persona:e.persona}:{}}))}:{}}}:{}},{lineWidth:0})}var Y=t(6758),z=t(5483),I=t(7847),O=t(1993),B=t(52),V=t(2116),G=t(9410),W=t(9208),K=t(7618),H=t(4579),Z=t(9812),J=t(3734);let Q={review:B.A,review_only:B.A,plan:V.A,spec:p.A,tests:G.A,implement:W.A,verify:K.A,pr:H.A,divergence:S.A,recon:Z.A},X=[{id:"plan",label:"Plan"},{id:"spec",label:"Spec / API"},{id:"tests",label:"Tests"},{id:"implement",label:"Implement"},{id:"verify",label:"Verify"},{id:"pr",label:"Open PR"},{id:"review",label:"Review"},{id:"review_only",label:"Review only (artifact)"},{id:"divergence",label:"Divergence"},{id:"recon",label:"Recon"}],ee=["claude","codex","gemini","opencode","kimi","openrouter","local","grok","antigravity"].map(e=>({id:e,label:J.m_[e],dot:J.r2[e].dot})),er=J.x0,et={anthropic:"claude",openai:"codex",google:"gemini",opencode:"opencode",moonshot:"kimi",xai:"opencode",local:"local",grok:"grok",antigravity:"antigravity"};function es(){let[e,r]=(0,a.useState)({byLineage:{},connectedLineages:new Set,loaded:!1});return(0,a.useEffect)(()=>{(0,I.listVoices)({enabled:!0}).then(e=>{let t={},s=new Set;for(let r of e){if("openrouter"===r.provider){s.add("openrouter"),(t.openrouter??=[]).push(r.id);continue}let e=et[r.lineage];e&&(s.add(e),(t[e]??=[]).push(r.model_id)),r.provider.startsWith("opencode")&&"opencode"!==e&&(s.add("opencode"),(t.opencode??=[]).push(r.model_id))}for(let e of Object.keys(t))t[e]=Array.from(new Set(t[e]));r({byLineage:t,connectedLineages:s,loaded:!0})}).catch(()=>r({byLineage:{},connectedLineages:new Set,loaded:!0}))},[]),e}var ea=t(1304),en=t(2379),eo=t(5445),ei=t(9707),el=t(2471);function ed({children:e,onClick:r,disabled:t,title:a,className:n}){return(0,s.jsx)("button",{type:"button",disabled:t,onClick:e=>{e.stopPropagation(),r()},title:a,className:(0,k.cn)("grid h-6 w-6 place-items-center rounded text-muted-foreground transition hover:bg-accent hover:text-foreground disabled:cursor-not-allowed disabled:opacity-30",n),children:e})}function ec({label:e,children:r}){return(0,s.jsxs)("div",{children:[(0,s.jsx)("label",{className:"mb-1.5 block text-[10px] font-medium uppercase tracking-wider text-muted-foreground",children:e}),r]})}function eu({on:e,tone:r,onClick:t,children:a}){return(0,s.jsx)("button",{type:"button",onClick:t,className:(0,k.cn)("rounded-md border px-2 py-0.5 font-mono text-[10px] uppercase tracking-wider transition",{emerald:e?"border-emerald-500/40 bg-emerald-500/15 text-emerald-200":"border-border bg-card/40 text-muted-foreground hover:border-emerald-500/30",rose:e?"border-rose-500/40 bg-rose-500/15 text-rose-200":"border-border bg-card/40 text-muted-foreground hover:border-rose-500/30"}[r]),children:a})}function em({value:e,personas:r,onChange:t,inline:a,ariaLabel:n}){let o="__none__",i=r.some(r=>r.id===e);return(0,s.jsxs)("select",{value:e??o,onChange:e=>{let r=e.target.value;t(r===o?void 0:r)},className:(0,k.cn)("h-7 rounded-md border border-border bg-background px-2 text-[11px] focus:border-primary/60 focus:outline-none",a?"w-32 shrink-0":"w-full"),"aria-label":n??"Persona",children:[(0,s.jsx)("option",{value:o,children:"(no persona)"}),r.map(e=>(0,s.jsx)("option",{value:e.id,children:e.label},e.id)),e&&!i&&(0,s.jsxs)("option",{value:e,children:[e," (missing)"]})]})}function ex({lineage:e,value:r,options:t,onChange:n,defaultModel:o}){let i="__custom__",l=!r||t.includes(r),[d,c]=(0,a.useState)(!1);if(d)return(0,s.jsxs)("div",{className:"flex items-center gap-1",children:[(0,s.jsx)("input",{type:"text",value:r,onChange:e=>n(e.target.value),placeholder:o?`default: ${o}`:`${e} model id`,className:"h-7 flex-1 rounded-md border border-border bg-background px-2 font-mono text-[11px] text-foreground placeholder:text-muted-foreground/50 focus:border-primary/60 focus:outline-none",autoFocus:!0}),(0,s.jsx)("button",{type:"button",onClick:()=>c(!1),className:"h-7 rounded-md border border-border bg-card/40 px-2 text-[10px] text-muted-foreground hover:text-foreground",children:"done"})]});if(0===t.length)return(0,s.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,s.jsx)("input",{type:"text",value:r,onChange:e=>n(e.target.value),placeholder:o?`default: ${o}`:`${e} model id`,className:"h-7 w-full rounded-md border border-border bg-background px-2 font-mono text-[11px] text-foreground placeholder:text-muted-foreground/50 focus:border-primary/60 focus:outline-none"}),(0,s.jsxs)("p",{className:"text-[10px] text-amber-400/80",children:["No ",e," voices enabled. Configure in Connect to populate this dropdown."]})]});let u=l?t:[r,...t];return(0,s.jsxs)("select",{value:r,onChange:e=>{e.target.value===i?c(!0):n(e.target.value)},className:"h-7 w-full rounded-md border border-border bg-background px-2 font-mono text-[11px] text-foreground focus:border-primary/60 focus:outline-none",children:[!r&&(0,s.jsx)("option",{value:"",children:o?`default: ${o}`:"— pick a model —"}),u.map(e=>(0,s.jsxs)("option",{value:e,children:[e,t.includes(e)||r!==e?"":" (not enabled)"]},e)),(0,s.jsx)("option",{value:i,children:"+ custom (type a model id)…"})]})}function ep(e){let r=[];for(let t of e.candidates){let s=e.candidateModels?.[t],a=e.candidatePersonas?.[t];if(s&&0!==s.length)for(let e of s)r.push({lineage:t,model:e,...a?.[e]?{persona:a[e]}:{}});else r.push({lineage:t,model:"",...a?.[""]?{persona:a[""]}:{}})}return r}function eh({phase:e,connectedVoices:r,personas:t,onUpdate:a}){let n=ep(e.reviewer),o=ee.filter(e=>0===r.connectedLineages.size||r.connectedLineages.has(e.id));function i(r){a({reviewer:function(e,r){let t=[],s={},a={};for(let r of e)t.includes(r.lineage)||t.push(r.lineage),r.model&&(s[r.lineage]??=[]).push(r.model),r.persona&&((a[r.lineage]??={})[r.model]=r.persona);return{...r,candidates:t,candidateModels:s,...Object.keys(a).length>0?{candidatePersonas:a}:{candidatePersonas:void 0}}}(r,e.reviewer)})}function l(e,t){let s=n.map((r,s)=>s===e?{...r,...t}:r);if(t.lineage&&t.lineage!==n[e].lineage){let a=r.byLineage[t.lineage]??[];s[e].model=a[0]??er[t.lineage]??""}i(s)}return(0,s.jsxs)("div",{className:"space-y-1.5",children:[0===n.length&&(0,s.jsx)("p",{className:"text-[11px] text-muted-foreground",children:"No reviewers yet. Click + add reviewer below."}),n.map((e,a)=>{let d=ee.find(r=>r.id===e.lineage);return(0,s.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,s.jsxs)("select",{value:e.lineage,onChange:e=>l(a,{lineage:e.target.value}),className:"h-7 w-32 shrink-0 rounded-md border border-border bg-background px-2 text-[11px] focus:border-primary/60 focus:outline-none","aria-label":"Reviewer lineage",children:[o.map(e=>(0,s.jsx)("option",{value:e.id,children:e.label},e.id)),!o.find(r=>r.id===e.lineage)&&(0,s.jsxs)("option",{value:e.lineage,children:[d?.label??e.lineage," (not connected)"]})]}),(0,s.jsx)("div",{className:"flex-1",children:(0,s.jsx)(ex,{lineage:e.lineage,value:e.model,options:r.byLineage[e.lineage]??[],defaultModel:er[e.lineage],onChange:e=>l(a,{model:e})})}),(0,s.jsx)(em,{value:e.persona,personas:t,onChange:e=>l(a,{persona:e}),inline:!0,ariaLabel:"Reviewer persona"}),(0,s.jsx)("button",{type:"button",onClick:()=>{i(n.filter((e,r)=>r!==a))},"aria-label":"Remove reviewer",className:"grid h-7 w-7 shrink-0 place-items-center rounded-md border border-border bg-card/40 text-muted-foreground hover:border-destructive/40 hover:text-destructive",children:(0,s.jsx)(h.A,{className:"h-3 w-3"})})]},a)}),(0,s.jsxs)("button",{type:"button",onClick:function(){let e=o[0]?.id??"claude",t=r.byLineage[e]??[],s=new Set(n.filter(r=>r.lineage===e).map(e=>e.model)),a=t.find(e=>!s.has(e))??er[e]??"";i([...n,{lineage:e,model:a}])},className:"flex w-full items-center justify-center gap-1.5 rounded-md border border-dashed border-border bg-card/30 px-3 py-2 text-[11px] font-medium text-muted-foreground transition hover:border-primary/40 hover:bg-card/50 hover:text-foreground",children:[(0,s.jsx)(x.A,{className:"h-3 w-3"}),"Add another reviewer"]})]})}function eg({phase:e,onUpdate:r,connectedVoices:t,personas:a}){return(0,s.jsxs)(ec,{label:"Doer \xb7 the agent that writes this phase's output",children:[(0,s.jsx)("div",{className:"grid grid-cols-2 gap-2 sm:grid-cols-5",children:ee.filter(e=>0===t.connectedLineages.size||t.connectedLineages.has(e.id)).map(a=>(0,s.jsxs)("button",{type:"button",onClick:()=>{let e=(t.byLineage[a.id]??[])[0]??er[a.id];r({doer:{lineage:a.id,models:e?[e]:[]}})},className:(0,k.cn)("flex items-center gap-1.5 rounded-md border px-2 py-1.5 text-left transition",e.doer.lineage===a.id?"border-primary/40 bg-primary/10":"border-border bg-card/40 hover:border-foreground/30"),children:[(0,s.jsx)("span",{className:(0,k.cn)("h-1.5 w-1.5 rounded-full",a.dot)}),(0,s.jsx)("span",{className:"text-xs",children:a.label}),e.doer.lineage===a.id&&(0,s.jsx)(ei.A,{className:"ml-auto h-3 w-3 text-primary"})]},a.id))}),(0,s.jsx)("div",{className:"mt-2",children:(0,s.jsx)(ex,{lineage:e.doer.lineage,value:e.doer.models[0]??"",options:t.byLineage[e.doer.lineage]??[],defaultModel:er[e.doer.lineage],onChange:t=>r({doer:{...e.doer,models:t?[t]:[]}})})}),(0,s.jsxs)("div",{className:"mt-2",children:[(0,s.jsx)("label",{className:"mb-1 block text-[10px] text-muted-foreground",children:"Persona (optional \xb7 prepends a worldview to the doer's prompt)"}),(0,s.jsx)(em,{value:e.doer.persona,personas:a,onChange:t=>r({doer:t?{...e.doer,persona:t}:(()=>{let{persona:r,...t}=e.doer;return t})()}),ariaLabel:"Doer persona"})]})]})}function ef({phase:e,onUpdate:r}){let t={label:e.artifact?.label??"Artifact to review",hint:e.artifact?.hint??"Paste a unified diff, a markdown draft, code, or any text blob.",maxBytes:e.artifact?.maxBytes??1048576};return(0,s.jsx)(ec,{label:"Artifact \xb7 what the user pastes when starting a chat",children:(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("label",{className:"text-[10px] text-muted-foreground",children:"Label"}),(0,s.jsx)("input",{type:"text",value:t.label,onChange:e=>r({artifact:{...t,label:e.target.value}}),placeholder:"Artifact to review",className:"mt-1 h-7 w-full rounded-md border border-border bg-background px-2.5 text-[11px] placeholder:text-muted-foreground/60 focus:border-primary/60 focus:outline-none"})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)("label",{className:"text-[10px] text-muted-foreground",children:"Placeholder hint"}),(0,s.jsx)("textarea",{value:e.artifact?.hint??"",onChange:e=>r({artifact:{...t,hint:e.target.value}}),placeholder:"Paste a unified diff, a markdown draft, code, or any text blob.",rows:2,className:"mt-1 w-full resize-none rounded-md border border-border bg-background px-2.5 py-1.5 text-[11px] placeholder:text-muted-foreground/60 focus:border-primary/60 focus:outline-none"})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)("label",{className:"text-[10px] text-muted-foreground",children:"Max bytes (server-side cap)"}),(0,s.jsx)("input",{type:"number",min:1024,step:1024,value:t.maxBytes,onChange:e=>r({artifact:{...t,maxBytes:Math.max(1024,parseInt(e.target.value,10)||1048576)}}),className:"mt-1 h-7 w-full rounded-md border border-border bg-background px-2.5 font-mono text-[11px] focus:border-primary/60 focus:outline-none"}),(0,s.jsx)("p",{className:"mt-1 text-[10px] text-muted-foreground/80",children:"1 MiB = 1048576. Default if unset."})]})]})})}function eb({phase:e,onUpdate:r,connectedVoices:t,personas:a}){return(0,s.jsx)(ec,{label:"Reviewers \xb7 who gates this phase",children:(0,s.jsx)(eh,{phase:e,connectedVoices:t,personas:a,onUpdate:r})})}function ev({phase:e,onUpdate:r}){return(0,s.jsx)(ec,{label:"Approvals",children:(0,s.jsxs)("div",{className:"flex items-center gap-4 flex-wrap",children:[(0,s.jsxs)("label",{className:"flex items-center gap-2 text-[11px] text-muted-foreground",children:["Require:",(0,s.jsx)("input",{type:"number",min:0,max:Math.max(1,ep(e.reviewer).length),value:e.reviewer.require,onChange:t=>r({reviewer:{...e.reviewer,require:Math.max(0,parseInt(t.target.value,10)||0)}}),className:"h-6 w-12 rounded border border-border bg-background px-1.5 text-center font-mono text-[11px]"}),"approval",1===e.reviewer.require?"":"s"]}),"review_only"!==e.kind&&(0,s.jsxs)("label",{className:"flex items-center gap-2 text-[11px] text-muted-foreground",children:[(0,s.jsx)("input",{type:"checkbox",checked:e.reviewer.crossLineage,onChange:t=>r({reviewer:{...e.reviewer,crossLineage:t.target.checked}}),className:"accent-primary"}),"Cross-lineage required"]})]})})}function ej({phase:e,onUpdate:r}){return(0,s.jsx)(ec,{label:"Reviewer execution \xb7 how multiple reviewers interact",children:(0,s.jsxs)("div",{className:"grid grid-cols-1 gap-2 sm:grid-cols-2",children:[(0,s.jsxs)("button",{type:"button",onClick:()=>r({execution:"parallel"}),className:(0,k.cn)("rounded-md border px-3 py-2.5 text-left transition","parallel"===e.execution?"border-emerald-500/40 bg-emerald-500/5":"border-border bg-card/40 hover:border-foreground/30"),children:[(0,s.jsxs)("div",{className:"flex items-center gap-1.5 text-xs font-medium",children:["Parallel independent",(0,s.jsx)("span",{className:"font-mono text-[9px] uppercase text-emerald-300/80",children:"fast"})]}),(0,s.jsx)("p",{className:"mt-0.5 text-[10px] leading-snug text-muted-foreground",children:"All reviewers see the same pack, work in isolation, vote. Catches single-reviewer mistakes via consensus. Risk: shared blind spots pass anyway."})]}),(0,s.jsxs)("button",{type:"button",onClick:()=>r({execution:"sequential"}),className:(0,k.cn)("rounded-md border px-3 py-2.5 text-left transition","sequential"===e.execution?"border-amber-500/40 bg-amber-500/5":"border-border bg-card/40 hover:border-foreground/30"),children:[(0,s.jsxs)("div",{className:"flex items-center gap-1.5 text-xs font-medium",children:["Sequential hostile",(0,s.jsx)("span",{className:"font-mono text-[9px] uppercase text-amber-300/80",children:"thorough"})]}),(0,s.jsx)("p",{className:"mt-0.5 text-[10px] leading-snug text-muted-foreground",children:"Reviewers run in order. Each receives the already-hardened output and hunts what the prior reviewer missed. Slower; only works if the first reviewer's solution is sound."})]})]})})}function ey({phase:e,onUpdate:r,priorPhases:t}){return(0,s.jsxs)(ec,{label:"Inputs \xb7 which prior phases this doer can read",children:[(0,s.jsx)("div",{className:"space-y-1.5",children:t.map(t=>{let a=e.inputs.include.includes(t),n=e.inputs.exclude.includes(t),o=n?"exclude":a?"include":"none";return(0,s.jsxs)("div",{className:"flex items-center justify-between rounded-md border border-border bg-card/30 px-2.5 py-1.5",children:[(0,s.jsx)("code",{className:"font-mono text-[11px] text-foreground",children:t}),(0,s.jsxs)("div",{className:"flex items-center gap-1",children:[(0,s.jsx)(eu,{on:"include"===o,tone:"emerald",onClick:()=>r({inputs:{include:a?e.inputs.include.filter(e=>e!==t):[...e.inputs.include,t],exclude:e.inputs.exclude.filter(e=>e!==t)}}),children:"include"}),(0,s.jsx)(eu,{on:"exclude"===o,tone:"rose",onClick:()=>r({inputs:{include:e.inputs.include.filter(e=>e!==t),exclude:n?e.inputs.exclude.filter(e=>e!==t):[...e.inputs.exclude,t]}}),children:"exclude (blind)"})]})]},t)})}),(0,s.jsxs)("p",{className:"mt-2 flex items-start gap-1.5 text-[10px] text-muted-foreground",children:[(0,s.jsx)(el.A,{className:"mt-0.5 h-2.5 w-2.5 shrink-0 text-muted-foreground/60"}),(0,s.jsxs)("span",{children:[(0,s.jsx)("span",{className:"font-mono text-rose-300",children:"exclude"}),"prevents this doer from seeing that phase's output. Used for info asymmetry — e.g. the implementer shouldn't see the tests."]})]})]})}function ew({phase:e,onUpdate:r,priorPhases:t}){return(0,s.jsx)(ec,{label:"Iterate \xb7 what happens when reviewer rejects",children:(0,s.jsxs)("div",{className:"grid grid-cols-3 gap-2",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("label",{className:"text-[10px] text-muted-foreground",children:"Max revise"}),(0,s.jsx)("input",{type:"number",min:1,max:10,value:e.iterate.max,onChange:t=>r({iterate:{...e.iterate,max:Math.max(1,parseInt(t.target.value,10)||1)}}),className:"mt-1 h-7 w-full rounded-md border border-border bg-background px-2 font-mono text-[11px]"})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)("label",{className:"text-[10px] text-muted-foreground",children:"On max"}),(0,s.jsxs)("select",{value:e.iterate.onMax,onChange:t=>r({iterate:{...e.iterate,onMax:t.target.value}}),className:"mt-1 h-7 w-full rounded-md border border-border bg-background px-1.5 text-[11px]",children:[(0,s.jsx)("option",{value:"ask-user",children:"ask me"}),(0,s.jsx)("option",{value:"loopback",children:"loop back"}),(0,s.jsx)("option",{value:"fail",children:"fail"})]})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)("label",{className:"text-[10px] text-muted-foreground",children:"Loop back to"}),(0,s.jsxs)("select",{disabled:"loopback"!==e.iterate.onMax,value:e.iterate.loopbackTo??"",onChange:t=>r({iterate:{...e.iterate,loopbackTo:t.target.value||void 0}}),className:"mt-1 h-7 w-full rounded-md border border-border bg-background px-1.5 text-[11px] disabled:opacity-40",children:[(0,s.jsx)("option",{value:"",children:"—"}),t.map(e=>(0,s.jsx)("option",{value:e,children:e},e))]})]})]})})}function eN({phase:e,onUpdate:r}){return(0,s.jsx)(ec,{label:"Gate \xb7 what happens when this phase finishes",children:(0,s.jsxs)("div",{className:"grid grid-cols-2 gap-2",children:[(0,s.jsxs)("button",{type:"button",onClick:()=>r({gate:"auto"}),className:(0,k.cn)("rounded-md border px-2.5 py-1.5 text-left transition","auto"===e.gate?"border-emerald-500/40 bg-emerald-500/10":"border-border bg-card/40 hover:border-foreground/30"),children:[(0,s.jsx)("div",{className:"text-xs font-medium",children:"Auto-proceed"}),(0,s.jsx)("div",{className:"text-[10px] text-muted-foreground",children:"Continue to next phase without asking."})]}),(0,s.jsxs)("button",{type:"button",onClick:()=>r({gate:"ask-user"}),className:(0,k.cn)("rounded-md border px-2.5 py-1.5 text-left transition","ask-user"===e.gate?"border-amber-500/40 bg-amber-500/10":"border-border bg-card/40 hover:border-foreground/30"),children:[(0,s.jsx)("div",{className:"text-xs font-medium",children:"Checkpoint (ask me)"}),(0,s.jsx)("div",{className:"text-[10px] text-muted-foreground",children:"Stop here, surface verdict, wait for click."})]})]})})}function ek({phase:e,index:r,total:t,allPhaseIds:n,connectedVoices:o,personas:l,onUpdate:d,onMoveUp:c,onMoveDown:u,onDelete:m}){let[x,p]=(0,a.useState)(0===r),h=Q[e.kind],g=n.slice(0,r);return(0,s.jsxs)("div",{className:"rounded-lg border border-border bg-card/40",children:[(0,s.jsxs)("button",{type:"button",onClick:()=>p(e=>!e),className:"flex w-full items-center gap-3 px-3 py-2.5 text-left",children:[(0,s.jsx)("span",{className:"font-mono text-[10px] text-muted-foreground/60",children:String(r+1).padStart(2,"0")}),(0,s.jsx)("span",{className:"grid h-7 w-7 shrink-0 place-items-center rounded-md bg-primary/15 text-primary",children:(0,s.jsx)(h,{className:"h-3.5 w-3.5"})}),(0,s.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("span",{className:"text-sm font-medium text-foreground truncate",children:e.name||"Untitled phase"}),(0,s.jsx)("span",{className:"font-mono text-[10px] uppercase text-muted-foreground/70",children:e.kind})]}),(0,s.jsx)(eC,{phase:e})]}),(0,s.jsxs)("div",{className:"flex shrink-0 items-center gap-0.5",children:[(0,s.jsx)(ed,{disabled:0===r,onClick:c,title:"Move up",children:(0,s.jsx)(ea.A,{className:"h-3 w-3"})}),(0,s.jsx)(ed,{disabled:r===t-1,onClick:u,title:"Move down",children:(0,s.jsx)(en.A,{className:"h-3 w-3"})}),(0,s.jsx)(ed,{onClick:m,title:"Delete phase",className:"hover:text-rose-400",children:(0,s.jsx)(i.A,{className:"h-3 w-3"})}),(0,s.jsx)("span",{className:"ml-1 text-muted-foreground/60",children:x?(0,s.jsx)(eo.A,{className:"h-3.5 w-3.5"}):(0,s.jsx)(z.A,{className:"h-3.5 w-3.5"})})]})]}),x&&(0,s.jsxs)("div",{className:"space-y-4 border-t border-border bg-background/40 px-3 py-3",children:[(0,s.jsxs)("div",{className:"grid grid-cols-[1fr_140px] gap-2",children:[(0,s.jsx)(ec,{label:"Name",children:(0,s.jsx)("input",{type:"text",value:e.name,onChange:e=>d({name:e.target.value}),className:"h-8 w-full rounded-md border border-border bg-background px-2.5 text-xs text-foreground focus:border-primary/60 focus:outline-none"})}),(0,s.jsx)(ec,{label:"Kind",children:(0,s.jsx)("select",{value:e.kind,onChange:e=>d({kind:e.target.value}),className:"h-8 w-full rounded-md border border-border bg-background px-2 text-xs text-foreground focus:border-primary/60 focus:outline-none",children:X.map(e=>(0,s.jsx)("option",{value:e.id,children:e.label},e.id))})})]}),(0,s.jsx)(ec,{label:"Description",children:(0,s.jsx)("input",{type:"text",value:e.description,onChange:e=>d({description:e.target.value}),placeholder:"What this phase produces and why it exists.",className:"h-8 w-full rounded-md border border-border bg-background px-2.5 text-xs text-foreground placeholder:text-muted-foreground/60 focus:border-primary/60 focus:outline-none"})}),"review_only"!==e.kind&&(0,s.jsx)(eg,{phase:e,onUpdate:d,connectedVoices:o,personas:l}),"review_only"===e.kind&&(0,s.jsx)(ef,{phase:e,onUpdate:d}),(0,s.jsx)(eb,{phase:e,onUpdate:d,connectedVoices:o,personas:l}),(0,s.jsx)(ev,{phase:e,onUpdate:d}),(0,s.jsx)(ej,{phase:e,onUpdate:d}),g.length>0&&(0,s.jsx)(ey,{phase:e,onUpdate:d,priorPhases:g}),"review_only"!==e.kind&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(ew,{phase:e,onUpdate:d,priorPhases:g}),(0,s.jsx)(eN,{phase:e,onUpdate:d})]})]})]})}function eC({phase:e}){return(0,s.jsxs)("div",{className:"mt-0.5 flex flex-wrap items-center gap-1.5 text-[10px] text-muted-foreground",children:["review_only"!==e.kind&&(0,s.jsxs)("span",{className:"flex items-center gap-1",children:[(0,s.jsx)("span",{className:(0,k.cn)("h-1.5 w-1.5 rounded-full",ee.find(r=>r.id===e.doer.lineage)?.dot)}),"doer: ",e.doer.lineage]}),e.reviewer.candidates.length>0&&(0,s.jsxs)(s.Fragment,{children:["review_only"!==e.kind&&(0,s.jsx)("span",{className:"text-muted-foreground/40",children:"\xb7"}),(0,s.jsxs)("span",{className:"flex items-center gap-1",children:["reviewers:",e.reviewer.candidates.map(e=>(0,s.jsx)("span",{className:(0,k.cn)("h-1.5 w-1.5 rounded-full",ee.find(r=>r.id===e)?.dot),title:e},e))]})]}),e.reviewer.crossLineage&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("span",{className:"text-muted-foreground/40",children:"\xb7"}),(0,s.jsx)("span",{className:"text-amber-300/90 font-mono text-[9px] uppercase",children:"cross-lineage"})]}),(0,s.jsx)("span",{className:"text-muted-foreground/40",children:"\xb7"}),(0,s.jsx)("span",{className:(0,k.cn)("font-mono text-[9px] uppercase","sequential"===e.execution?"text-amber-300/90":"text-emerald-300/80"),title:"sequential"===e.execution?"Sequential hostile — reviewers chain":"Parallel independent — reviewers vote",children:"sequential"===e.execution?"sequential":"parallel"}),e.inputs.exclude.length>0&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("span",{className:"text-muted-foreground/40",children:"\xb7"}),(0,s.jsxs)("span",{className:"text-rose-300/90 font-mono text-[9px]",children:["blind-to: ",e.inputs.exclude.join(",")]})]})]})}function eA({phases:e,onChange:r}){let t=es(),{personas:n}=function(){let[e,r]=(0,a.useState)({personas:[],loaded:!1});return(0,a.useEffect)(()=>{(0,O.UT)().then(e=>r({personas:e,loaded:!0})).catch(()=>r({personas:[],loaded:!0}))},[]),e}();function o(t,s){let a=t+s;if(a<0||a>=e.length)return;let n=[...e];[n[t],n[a]]=[n[a],n[t]],r(n)}let i=e.map(e=>e.id);return(0,s.jsxs)("div",{children:[(0,s.jsxs)("div",{className:"mb-2 flex items-center justify-between",children:[(0,s.jsxs)("span",{className:"text-[11px] font-medium uppercase tracking-wider text-muted-foreground",children:["Phases (",e.length,")"]}),(0,s.jsx)("span",{className:"text-[11px] text-muted-foreground/70",children:"Each phase has a doer + reviewer. Adversarial by default."})]}),(0,s.jsx)("div",{className:"space-y-2",children:e.map((a,l)=>(0,s.jsx)(ek,{phase:a,index:l,total:e.length,allPhaseIds:i,connectedVoices:t,personas:n,onUpdate:t=>{r(e.map((e,r)=>r===l?{...e,...t}:e))},onMoveUp:()=>o(l,-1),onMoveDown:()=>o(l,1),onDelete:()=>{r(e.filter((e,r)=>r!==l))}},a.id))}),(0,s.jsxs)("button",{type:"button",onClick:function(){var t;r([...e,(t=e.length,{id:`phase-${t+1}`,name:`Phase ${t+1}`,description:"",kind:"review",gate:"auto",doer:{lineage:"claude",models:["claude-opus-4-7"]},reviewer:{require:1,crossLineage:!0,candidates:["codex"]},inputs:{include:[],exclude:[]},iterate:{max:3,onMax:"ask-user"},blindSpots:[],execution:"sequential",builtin:!1})])},className:"mt-3 flex w-full items-center justify-center gap-1.5 rounded-md border border-dashed border-border bg-card/30 px-3 py-2.5 text-xs font-medium text-muted-foreground transition hover:border-primary/40 hover:bg-card/50 hover:text-foreground",children:[(0,s.jsx)(x.A,{className:"h-3.5 w-3.5"}),"Add phase"]})]})}function eS({active:e,onClick:r,disabled:t,children:a}){return(0,s.jsxs)("button",{type:"button",onClick:r,disabled:t,className:(0,k.cn)("relative flex items-center gap-1.5 rounded-t-md px-3 py-2.5 text-sm font-medium transition-colors",t?"cursor-not-allowed text-muted-foreground/50":e?"text-foreground":"text-muted-foreground hover:text-foreground"),children:[a,e&&!t&&(0,s.jsx)("span",{className:"absolute inset-x-0 -bottom-px h-0.5 bg-primary"})]})}function eM({label:e,htmlFor:r,hint:t,children:a}){return(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)("label",{htmlFor:r,className:"block text-[13px] font-medium text-foreground",children:e}),a,t&&(0,s.jsx)("p",{className:"text-[11px] leading-snug text-muted-foreground/80",children:t})]})}function eL({active:e,onClick:r,children:t}){return(0,s.jsx)("button",{type:"button",onClick:r,className:(0,k.cn)("h-8 rounded-md border px-3 text-xs font-medium transition",e?"border-primary/60 bg-primary/15 text-primary":"border-border bg-card text-muted-foreground hover:border-muted-foreground/30 hover:bg-accent/40 hover:text-foreground"),children:t})}function eD({form:e,setField:r,showErrors:t}){let a=t&&0===e.name.trim().length,n=t&&0===e.description.trim().length;return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(eM,{label:"Name *",htmlFor:"tpl-name",children:[(0,s.jsx)("input",{id:"tpl-name",value:e.name,onChange:e=>r("name",e.target.value),placeholder:"security-audit","aria-invalid":a,className:(0,k.cn)("h-10 w-full rounded-md border bg-background px-3 text-sm placeholder:text-muted-foreground/60 focus:outline-none focus:ring-2",a?"border-destructive/60 focus:border-destructive focus:ring-destructive/30":"border-border focus:border-primary/60 focus:ring-primary/20")}),a&&(0,s.jsx)("p",{className:"text-[11px] text-destructive",children:"Name is required."})]}),(0,s.jsxs)(eM,{label:"Description *",htmlFor:"tpl-desc",hint:"One sentence on when someone should reach for this template.",children:[(0,s.jsx)("textarea",{id:"tpl-desc",value:e.description,onChange:e=>r("description",e.target.value),placeholder:"Independent security audit from 3 model families…",rows:2,"aria-invalid":n,className:(0,k.cn)("w-full resize-none rounded-md border bg-background px-3 py-2 text-sm leading-relaxed placeholder:text-muted-foreground/60 focus:outline-none focus:ring-2",n?"border-destructive/60 focus:border-destructive focus:ring-destructive/30":"border-border focus:border-primary/60 focus:ring-primary/20")}),n&&(0,s.jsx)("p",{className:"text-[11px] text-destructive",children:"Description is required."})]}),(0,s.jsx)(eM,{label:"Category",children:(0,s.jsx)("div",{className:"flex flex-wrap gap-2",children:$.map(t=>(0,s.jsx)(eL,{active:t.id===e.category,onClick:()=>r("category",t.id),children:t.label},t.id))})})]})}function eR({form:e,setField:r}){let t=es();return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{className:"rounded-md border border-border bg-card/40 px-3 py-2 text-[11px] leading-relaxed text-muted-foreground",children:[(0,s.jsxs)("div",{className:"mb-1 flex items-center gap-1.5 text-foreground",children:[(0,s.jsx)(S.A,{className:"h-3 w-3"}),(0,s.jsx)("span",{className:"text-[12px] font-medium",children:"Template-level fallback chains"})]}),"Tried in order whenever a slot exhausts its own per-slot model chain. Cross-lineage swap supported — a codex slot can fall through to a claude or kimi entry. Strict",(0,s.jsx)("span",{className:"font-mono",children:" (lineage, model)"})," dedup keeps diversity: a fallback whose model already runs as another reviewer in this phase is skipped, so you never review the same code twice with the same voice. Order matters — list your most-preferred fallback first."]}),(0,s.jsx)(eP,{title:"Doer fallback",hint:"Engaged when the doer's primary + per-slot models all fail.",rows:e.fallbackDoer,onChange:e=>r("fallbackDoer",e),connectedVoices:t}),(0,s.jsx)(eP,{title:"Reviewer fallback",hint:"Engaged when any reviewer's primary + per-slot models all fail.",rows:e.fallbackReviewer,onChange:e=>r("fallbackReviewer",e),connectedVoices:t})]})}function eP({title:e,hint:r,rows:t,onChange:a,connectedVoices:n}){let o=(e,r)=>{a(t.map((t,s)=>s===e?{...t,...r}:t))};return(0,s.jsxs)("div",{className:"rounded-lg border border-border bg-card/40 p-4",children:[(0,s.jsxs)("div",{className:"mb-1 flex items-center justify-between",children:[(0,s.jsx)("h4",{className:"text-[13px] font-semibold tracking-tight",children:e}),(0,s.jsxs)("button",{type:"button",onClick:()=>{let e=q.find(e=>(n.byLineage[e]??[]).length>0)??"claude",r=n.byLineage[e]?.[0]??"";a([...t,{lineage:e,model:r}])},className:"inline-flex h-7 items-center gap-1 rounded-md border border-border bg-card px-2.5 text-[11px] font-medium text-muted-foreground transition hover:border-primary/40 hover:text-primary",children:[(0,s.jsx)(x.A,{className:"h-3 w-3"}),"Add fallback"]})]}),(0,s.jsx)("p",{className:"mb-3 text-[11px] leading-snug text-muted-foreground/80",children:r}),0===t.length?(0,s.jsx)("p",{className:"rounded-md border border-dashed border-border/60 bg-background/30 px-3 py-4 text-center text-[11px] text-muted-foreground",children:"None set — slot will fail its phase if the per-slot chain exhausts."}):(0,s.jsx)("ul",{className:"space-y-2",children:t.map((e,r)=>{let i=n.byLineage[e.lineage]??[],l=0===e.model.length||i.includes(e.model);return(0,s.jsxs)("li",{className:"flex items-center gap-2",children:[(0,s.jsx)("span",{className:"flex h-7 w-7 shrink-0 items-center justify-center rounded-md border border-border bg-card font-mono text-[10px] text-muted-foreground",children:r+1}),(0,s.jsx)("select",{value:e.lineage,onChange:e=>{var s;let a,i;return s=e.target.value,a=n.byLineage[s]??[],i=t[r].model,void o(r,{lineage:s,model:a.includes(i)?i:a[0]??""})},className:"h-8 rounded-md border border-border bg-background px-2 text-xs text-foreground focus:border-primary/60 focus:outline-none focus:ring-1 focus:ring-primary/20",children:q.map(e=>(0,s.jsx)("option",{value:e,children:e},e))}),(0,s.jsxs)("select",{value:e.model,onChange:e=>o(r,{model:e.target.value}),className:"h-8 flex-1 rounded-md border border-border bg-background px-2 font-mono text-[11px] text-foreground focus:border-primary/60 focus:outline-none focus:ring-1 focus:ring-primary/20",children:[0===i.length&&(0,s.jsx)("option",{value:"",disabled:!0,children:n.loaded?`No ${e.lineage} models enabled — open Connect → ${e.lineage}`:"loading…"}),i.map(e=>(0,s.jsx)("option",{value:e,children:e},e)),!l&&e.model.length>0&&(0,s.jsxs)("option",{value:e.model,children:[e.model," (stored)"]})]}),(0,s.jsx)("button",{type:"button",onClick:()=>{a(t.filter((e,t)=>t!==r))},"aria-label":`Remove fallback ${r+1}`,className:"grid h-7 w-7 place-items-center rounded-md border border-border bg-card text-muted-foreground transition hover:border-destructive/40 hover:text-destructive",children:(0,s.jsx)(h.A,{className:"h-3 w-3"})})]},r)})})]})}function e$({form:e,setField:r}){return(0,s.jsxs)("div",{className:"rounded-lg border border-border bg-card/40 p-4",children:[(0,s.jsx)("h3",{className:"mb-3 text-[13px] font-semibold tracking-tight",children:"Across all phases"}),(0,s.jsxs)("div",{className:"mb-4",children:[(0,s.jsx)("div",{className:"mb-1.5 text-[11px] font-medium text-muted-foreground",children:"Agreement threshold (per review-style phase)"}),(0,s.jsx)("div",{className:"grid grid-cols-3 gap-2",children:T.map(t=>(0,s.jsx)("button",{type:"button",onClick:()=>r("threshold",t.id),className:(0,k.cn)("rounded-md border px-3 py-2 text-left transition",e.threshold===t.id?"border-primary/60 bg-primary/10 ring-1 ring-primary/40":"border-border bg-card hover:border-muted-foreground/30 hover:bg-accent/40"),children:(0,s.jsx)("div",{className:"text-xs font-medium",children:t.label})},t.id))}),(0,s.jsx)("p",{className:"mt-1.5 text-[11px] leading-snug text-muted-foreground/80",children:T.find(r=>r.id===e.threshold)?.hint})]}),(0,s.jsxs)("div",{className:"mb-4",children:[(0,s.jsx)("div",{className:"mb-1.5 text-[11px] font-medium text-muted-foreground",children:"When threshold is met"}),(0,s.jsx)("div",{className:"grid grid-cols-2 gap-2",children:_.map(t=>(0,s.jsx)("button",{type:"button",onClick:()=>r("onThresholdMet",t.id),className:(0,k.cn)("rounded-md border px-3 py-2 text-left transition",e.onThresholdMet===t.id?"border-primary/60 bg-primary/10 ring-1 ring-primary/40":"border-border bg-card hover:border-muted-foreground/30 hover:bg-accent/40"),children:(0,s.jsx)("div",{className:"text-xs font-medium",children:t.label})},t.id))})]}),(0,s.jsxs)("div",{className:"mb-4",children:[(0,s.jsxs)("div",{className:"mb-1.5 flex items-center justify-between",children:[(0,s.jsx)("span",{className:"text-[11px] font-medium text-muted-foreground",children:"Max revise rounds (per phase)"}),(0,s.jsx)("span",{className:"font-mono text-xs text-foreground",children:e.maxRounds})]}),(0,s.jsx)("input",{type:"range",min:1,max:5,step:1,value:e.maxRounds,onChange:e=>r("maxRounds",parseInt(e.target.value,10)),className:"h-1 w-full cursor-pointer appearance-none rounded-full bg-muted accent-primary"})]}),(0,s.jsxs)("button",{type:"button",onClick:()=>r("yoloDefault",!e.yoloDefault),className:(0,k.cn)("flex w-full items-center justify-between rounded-md border px-3 py-2 text-left transition",e.yoloDefault?"border-rose-500/40 bg-rose-500/5":"border-border bg-card hover:border-foreground/30"),children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("div",{className:"text-xs font-medium text-foreground",children:"\uD83D\uDE80 Yolo by default"}),(0,s.jsx)("div",{className:"text-[10px] text-muted-foreground",children:"Auto-approve every gate. Only flip on for trusted templates or trivial fixes. Cost cap still enforced."})]}),(0,s.jsx)("span",{className:(0,k.cn)("flex h-5 w-9 shrink-0 items-center rounded-full border p-0.5 transition",e.yoloDefault?"border-rose-500/40 bg-rose-500/20":"border-border bg-card"),children:(0,s.jsx)("span",{className:(0,k.cn)("h-3.5 w-3.5 rounded-full transition-transform",e.yoloDefault?"translate-x-4 bg-rose-400":"bg-muted-foreground/50")})})]})]})}function eT(e,r){let t=[];if(1===e)r.name&&0!==r.name.trim().length?r.name.length>80&&t.push("Name is too long (max 80 chars)."):t.push("Name is required."),r.description&&0!==r.description.trim().length||t.push("Description is required — one line on when to use this template.");else if(2===e)for(let e of(0===r.phases.length&&t.push("At least one phase is required."),r.phases))e.id&&0!==e.id.trim().length||t.push(`Phase "${e.name||"(unnamed)"}" needs an id.`),"review_only"===e.kind||e.doer.lineage&&0!==e.doer.models.length||t.push(`Phase "${e.name||e.id}" needs a doer lineage + model.`),0===e.reviewer.candidates.length&&t.push(`Phase "${e.name||e.id}" needs at least one reviewer.`);return t}function e_({form:e,setField:r}){let[t,n]=(0,a.useState)(1),[o,i]=(0,a.useState)(!1),l=eT(t,e),d=0===l.length;return(0,s.jsxs)("div",{className:"flex h-full flex-col px-6 py-6",children:[(0,s.jsx)(eE,{currentStep:t,onJump:r=>{if(r<=t){i(!1),n(r);return}for(let s=t;s<r;s++)if(eT(s,e).length>0)return void i(!0);i(!1),n(r)},form:e}),(0,s.jsxs)("div",{className:"mt-6 flex-1 space-y-6",children:[1===t&&(0,s.jsx)(eD,{form:e,setField:r,showErrors:o}),2===t&&(0,s.jsx)(eq,{form:e,setField:r,showErrors:o}),3===t&&(0,s.jsx)(eR,{form:e,setField:r}),4===t&&(0,s.jsx)(e$,{form:e,setField:r})]}),o&&l.length>0&&(0,s.jsxs)("div",{className:"mt-6 rounded-md border border-destructive/40 bg-destructive/10 px-3 py-2 text-[11px] text-destructive",children:[(0,s.jsx)("div",{className:"mb-1 font-medium",children:"Resolve these to continue:"}),(0,s.jsx)("ul",{className:"space-y-0.5 pl-4",children:l.map(e=>(0,s.jsx)("li",{className:"list-disc",children:e},e))})]}),(0,s.jsxs)("div",{className:"mt-6 flex items-center justify-between border-t border-border pt-4",children:[(0,s.jsxs)("button",{type:"button",onClick:()=>{i(!1),t>1&&n(t-1)},disabled:1===t,className:"inline-flex h-9 items-center gap-1.5 rounded-md border border-border bg-card px-3 text-sm font-medium text-muted-foreground transition hover:border-muted-foreground/30 hover:text-foreground disabled:cursor-not-allowed disabled:opacity-40",children:[(0,s.jsx)(Y.A,{className:"h-3.5 w-3.5"}),"Back"]}),(0,s.jsxs)("span",{className:"text-[11px] text-muted-foreground",children:["Step ",t," of 4 \xb7 ",E[t-1].label]}),t<4?(0,s.jsxs)("button",{type:"button",onClick:()=>{d?(i(!1),t<4&&n(t+1)):i(!0)},className:(0,k.cn)("inline-flex h-9 items-center gap-1.5 rounded-md px-3 text-sm font-medium shadow-sm transition",d?"bg-primary text-primary-foreground hover:bg-primary/90":"bg-muted text-muted-foreground/60"),children:["Next",(0,s.jsx)(z.A,{className:"h-3.5 w-3.5"})]}):(0,s.jsxs)("span",{className:"text-[11px] text-emerald-300",children:[(0,s.jsx)(b.A,{className:"mr-1 inline-block h-3 w-3"}),"Save in the footer below"]})]})]})}function eE({currentStep:e,onJump:r,form:t}){return(0,s.jsx)("div",{className:"flex items-stretch gap-2",children:E.map(a=>{let n=a.icon,o=a.id===e,i=0===eT(a.id,t).length,l=a.id<e;return(0,s.jsxs)("button",{type:"button",onClick:()=>r(a.id),className:(0,k.cn)("flex flex-1 items-center gap-2 rounded-md border px-3 py-2 text-left transition",o?"border-primary/60 bg-primary/10":l&&!i?"border-destructive/40 bg-destructive/5":"border-border bg-card hover:border-muted-foreground/30"),children:[(0,s.jsx)("span",{className:(0,k.cn)("flex h-6 w-6 shrink-0 items-center justify-center rounded-full text-[10px] font-mono",o?"bg-primary text-primary-foreground":l&&i?"bg-emerald-500/20 text-emerald-300":l&&!i?"bg-destructive/20 text-destructive":"bg-muted text-muted-foreground"),children:l&&i?"✓":a.id}),(0,s.jsx)(n,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground"}),(0,s.jsx)("span",{className:"hidden text-xs font-medium sm:inline",children:a.label})]},a.id)})})}function eq({form:e,setField:r,showErrors:t}){let a=eT(2,e);return(0,s.jsxs)(s.Fragment,{children:[t&&a.length>0&&(0,s.jsx)("div",{className:"rounded-md border border-destructive/40 bg-destructive/10 px-3 py-2 text-[11px] text-destructive",children:a[0]}),(0,s.jsx)(eA,{phases:e.phases,onChange:e=>r("phases",e)})]})}function eF(e){return Array.isArray(e)?e.flatMap(e=>{let r=D[e.lineage??""]??"claude",t=(e.models??[]).filter(e=>"string"==typeof e&&e.trim().length>0);return 0===t.length?[]:t.map(t=>({lineage:r,model:t,...e.persona?{persona:e.persona}:{}}))}):[]}let eU=["plan","spec","tests","implement","review","verify","divergence","review_only"];function eY(e,r){let t,s,a,n,o=[];try{t=y.Ay.parse(e)??{}}catch{return{form:{...P,id:r},formLossy:!0,lossyReasons:["YAML failed to parse — only YAML mode is available."]}}t.ship?.enabled&&o.push("Template has `ship.enabled: true` — form mode can't edit ship config.");let i=[];for(let e of t.phases??[]){let{phase:r,reasons:t}=function(e){let r=[];void 0!==e.timeoutMs&&r.push(`Phase ${e.id??"?"} has \`timeoutMs\` — not exposed in form mode.`);let t="review_only"===e.kind,s=t?"claude":D[e.doer?.lineage??""]??"claude",a={},n={},o=new Set,i=[],l=[];for(let r of e.reviewer?.candidates??[]){let e=D[r.lineage??""];if(!e)continue;o.has(e)||(o.add(e),i.push(e));let t=(r.models??[]).map(e=>(e??"").trim()).filter(e=>e.length>0),s=r.persona&&r.persona.trim().length>0?r.persona:void 0,d=r=>{if(!s)return;let t=n[e]??={},a=t[r];void 0!==a&&a!==s&&l.push(`${e}/${r||"(no model)"}: "${a}" vs "${s}"`),t[r]=s};if(0===t.length)d("");else for(let r of t)(a[e]??=[]).push(r),d(r)}l.length>0&&r.push(`Phase ${e.id??"?"} has overlapping reviewer candidates with conflicting personas (${l.join("; ")}) — form mode would silently last-write-wins; edit in YAML to disambiguate.`);let d=eU.includes(e.kind)?e.kind:"review";return e.kind&&!eU.includes(e.kind)&&r.push(`Phase ${e.id??"?"} has unknown kind \`${e.kind}\` — form mode would coerce it to \`review\`.`),{phase:{id:e.id??"phase",name:e.title??e.name??e.id??"Phase",description:e.description??"",kind:d,gate:"auto",doer:{lineage:s,models:e.doer?.models&&e.doer.models.length>0?e.doer.models:[R[s]??"claude-opus-4-7"],...e.doer?.persona&&e.doer.persona.trim().length>0?{persona:e.doer.persona.trim()}:{}},reviewer:{require:e.reviewer?.require??1,crossLineage:e.reviewer?.crossLineage??!0,candidates:i,candidateModels:a,...Object.keys(n).length>0?{candidatePersonas:n}:{}},inputs:{include:e.inputs?.include??[],exclude:e.inputs?.exclude??[]},iterate:{max:e.iterate?.maxRounds??2,onMax:(e.iterate?.onDisagreement??"continue")==="continue"?"loopback":e.iterate?.onDisagreement==="accept-doer"?"fail":"ask-user"},blindSpots:[],execution:"parallel",builtin:!1,...t&&e.artifact?{artifact:{label:e.artifact.label??"Artifact to review",hint:e.artifact.hint??"Paste a unified diff, a markdown draft, code, or any text blob.",maxBytes:e.artifact.maxBytes??1048576}}:t?{artifact:{label:"Artifact to review",hint:"Paste a unified diff, a markdown draft, code, or any text blob.",maxBytes:1048576}}:{}},reasons:r}}(e);i.push(r),o.push(...t)}if("number"==typeof t.agreementThreshold){var l;s=(l=t.agreementThreshold)>=.99?"unanimous":l>=.5?"majority":"any",new Set([1,.66,.34]).has(t.agreementThreshold)||(a=t.agreementThreshold,o.push(`Custom \`agreementThreshold: ${t.agreementThreshold}\` — form mode only offers 1.0 / 0.66 / 0.34 presets.`))}else s=t.agreementThreshold??"majority";let d="review"===t.onThresholdMet?"review":void 0;return"review"===d&&o.push("`onThresholdMet: review` — form mode only offers auto-finalize / ask-user."),{form:{id:t.id??r,name:t.name??"",description:t.description??"",author:t.author??"chorus",category:(n=(t.id??r).toLowerCase()).includes("bug")||n.includes("debug")||n.includes("diagnose")?"debug":n.includes("plan")||n.includes("architect")?"plan":n.includes("decide")||n.includes("decision")?"decide":"review",phases:i.length>0?i:P.phases,threshold:s,...void 0!==a?{customThreshold:a}:{},onThresholdMet:"merge"===t.onThresholdMet?"auto-finalize":"ask-user",...d?{onThresholdMetRaw:d}:{},maxRounds:t.maxRounds??3,yoloDefault:t.yoloDefault??!1,fallbackDoer:eF(t.fallback?.doer),fallbackReviewer:eF(t.fallback?.reviewer)},formLossy:o.length>0,lossyReasons:o}}function ez({yaml:e,filename:r,issues:t,onChange:a}){return(0,s.jsxs)("div",{className:"flex h-full min-h-[400px] flex-col",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between border-b border-border bg-card/40 px-6 py-2.5",children:[(0,s.jsx)("span",{className:"font-mono text-[11px] text-muted-foreground",children:r}),(0,s.jsx)(eI,{issues:t})]}),(0,s.jsx)("textarea",{value:e,onChange:e=>a(e.target.value),spellCheck:!1,className:"flex-1 resize-none border-0 bg-background px-6 py-4 font-mono text-[12px] leading-relaxed text-foreground focus:outline-none"}),t.length>0&&(0,s.jsx)("ul",{className:"border-t border-border bg-destructive/5 px-6 py-2.5 text-[11px] text-destructive",children:t.map((e,r)=>(0,s.jsxs)("li",{className:"flex items-start gap-1.5 leading-snug",children:[(0,s.jsx)(f.A,{className:"mt-[1px] h-3 w-3 shrink-0"}),(0,s.jsxs)("span",{children:[(0,s.jsx)("span",{className:"font-mono",children:e.path}),"number"==typeof e.line&&` (line ${e.line})`,": ",e.message]})]},r))})]})}function eI({issues:e}){return 0===e.length?(0,s.jsxs)("span",{className:"flex items-center gap-1 rounded-md bg-emerald-500/10 px-1.5 py-0.5 text-[10px] font-medium text-emerald-400",children:[(0,s.jsx)(b.A,{className:"h-3 w-3"}),"Valid"]}):(0,s.jsxs)("span",{className:"flex items-center gap-1 rounded-md bg-destructive/10 px-1.5 py-0.5 text-[10px] font-medium text-destructive",children:[(0,s.jsx)(f.A,{className:"h-3 w-3"}),e.length," ",1===e.length?"issue":"issues"]})}function eO({editing:e,trigger:r,onSaved:t}){var i;let[l,d]=(0,a.useState)(!1),c=!!e,u=(0,a.useMemo)(()=>{if(!e)return{form:P,yaml:U(P),lossy:!1,reasons:[]};let r=eY(e.yaml,e.id);return{form:r.form,yaml:e.yaml,lossy:r.formLossy,reasons:r.lossyReasons}},[e?.id,e?.yaml]),[m,C]=(0,a.useState)(u.form),[A,S]=(0,a.useState)(u.yaml),[M,L]=(0,a.useState)(!1),[D,R]=(0,a.useState)(!1),[$,T]=(0,a.useState)(u.lossy?"yaml":"form"),[_,E]=(0,a.useState)(!1),[q,Y]=(0,a.useState)(null),[z,I]=(0,a.useState)([]);(0,a.useEffect)(()=>{C(u.form),S(u.yaml),L(!1),R(!1),T(u.lossy?"yaml":"form"),Y(null),I([])},[u]);let O=(0,a.useRef)(u);(0,a.useEffect)(()=>{O.current=u});let B=(i={yamlDirty:M,tab:$,formDirty:D,yamlText:A,formYaml:U(m),initialYaml:u.yaml}).yamlDirty||"yaml"===i.tab?i.yamlText:i.formDirty?i.formYaml:i.initialYaml,V=(0,a.useMemo)(()=>(function(e){let r;if(0===e.trim().length)return{valid:!1,issues:[{path:"<yaml>",message:"Template YAML is empty."}]};try{r=y.Ay.parse(e)}catch(t){let e=t instanceof Error?t.message:String(t),r=t.linePos?.[0];return{valid:!1,issues:[{path:"<yaml>",message:e,...r?{line:r.line,col:r.col}:{}}]}}if(null==r)return{valid:!1,issues:[{path:"<yaml>",message:"Template YAML parsed to null — at minimum it must define id, name, and phases."}]};let t=w._i.safeParse(r);return t.success?N:{valid:!1,issues:t.error.issues.map(e=>({path:e.path.length>0?e.path.join("."):"<root>",message:e.message}))}})(B),[B]);function G(e){if("form"===e&&M){let e=eY(A,m.id);if(e.formLossy)return;C(e.form),L(!1),R(!0)}T(e)}function W(){let e=O.current;C(e.form),S(e.yaml),L(!1),R(!1),T(e.lossy?"yaml":"form"),E(!1),Y(null),I([])}function K(e){d(e),e||setTimeout(W,200)}async function H(){if(!V.valid||_)return;let r=c?e.id:m.id||F(m.name)||"untitled";E(!0),Y(null),I([]);try{let e=await (0,j.AI)({id:r,yaml:B});t?.(e.id),K(!1)}catch(e){e instanceof j.$v?(Y(e.message),I(e.details?.issues??[])):Y(e instanceof Error?e.message:"Save failed (unknown error)")}finally{E(!1)}}let Z=V.valid&&!_,J=r??(0,s.jsxs)("button",{type:"button","aria-label":c?"Edit template":"New template",className:"inline-flex shrink-0 items-center gap-1.5 rounded-md bg-primary px-3 py-1.5 text-sm font-medium text-primary-foreground shadow-sm transition hover:bg-primary/90",children:[c?(0,s.jsx)(n.A,{className:"h-4 w-4"}):(0,s.jsx)(x.A,{className:"h-4 w-4"}),(0,s.jsx)("span",{className:"hidden sm:inline",children:c?"Edit":"New template"})]});return(0,s.jsxs)(v.lG,{open:l,onOpenChange:K,children:[(0,s.jsx)(v.zM,{asChild:!0,children:J}),(0,s.jsxs)(v.Cf,{showCloseButton:!1,className:"flex max-h-[85vh] w-[min(96vw,720px)] flex-col gap-0 overflow-hidden border-border bg-card p-0 shadow-2xl sm:max-w-none",children:[(0,s.jsxs)("div",{className:"flex items-center gap-3 border-b border-border px-6 py-4",children:[(0,s.jsx)("div",{className:"grid h-9 w-9 shrink-0 place-items-center rounded-md bg-primary/15 text-primary ring-1 ring-primary/20",children:(0,s.jsx)(p.A,{className:"h-4 w-4"})}),(0,s.jsxs)("div",{className:"flex-1",children:[(0,s.jsx)(v.L3,{className:"text-[15px] font-semibold leading-tight tracking-tight",children:c?`Edit template — ${e.name}`:"New template"}),(0,s.jsx)(v.rr,{className:"mt-0.5 text-xs text-muted-foreground",children:c?"Edit the YAML directly or use the form. Validation runs live.":"A reusable review workflow. Edit visually below or paste raw YAML."})]}),(0,s.jsx)("button",{type:"button",onClick:()=>K(!1),className:"grid h-7 w-7 place-items-center rounded-md text-muted-foreground transition hover:bg-accent hover:text-foreground","aria-label":"Close",children:(0,s.jsx)(h.A,{className:"h-4 w-4"})})]}),(0,s.jsx)("div",{className:"border-b border-border bg-card/40 px-6",children:(0,s.jsxs)("div",{className:"-mb-px flex items-center gap-1",children:[(0,s.jsxs)(eS,{active:"form"===$,onClick:()=>!u.lossy&&G("form"),disabled:u.lossy,children:[(0,s.jsx)(g.A,{className:"h-3.5 w-3.5"}),"Form",u.lossy&&(0,s.jsx)("span",{className:"ml-1 rounded bg-muted px-1 text-[9px] font-medium text-muted-foreground",children:"YAML only"})]}),(0,s.jsxs)(eS,{active:"yaml"===$,onClick:()=>G("yaml"),children:[(0,s.jsx)(p.A,{className:"h-3.5 w-3.5"}),"YAML",!V.valid&&"form"===$&&(0,s.jsx)("span",{className:"ml-1 h-1.5 w-1.5 rounded-full bg-destructive"})]})]})}),(0,s.jsxs)("div",{className:"min-h-0 flex-1 overflow-y-auto",children:[u.lossy&&"yaml"===$&&(0,s.jsx)("div",{className:"border-b border-amber-500/30 bg-amber-500/5 px-6 py-2.5 text-[11px] text-amber-200",children:(0,s.jsxs)("div",{className:"flex items-start gap-2",children:[(0,s.jsx)(f.A,{className:"mt-0.5 h-3.5 w-3.5 shrink-0"}),(0,s.jsxs)("div",{className:"flex-1",children:[(0,s.jsx)("div",{className:"font-medium",children:"Form editing disabled for this template"}),(0,s.jsx)("ul",{className:"mt-1 space-y-0.5 leading-snug",children:u.reasons.map((e,r)=>(0,s.jsxs)("li",{children:["\xb7 ",e]},r))})]})]})}),"form"===$?(0,s.jsx)(e_,{form:m,setField:function(e,r){let t={...m,[e]:r};C(t),R(!0),M||S(U(t))}}):(0,s.jsx)(ez,{yaml:A,filename:`${m.id||F(m.name)||"untitled"}.yaml`,issues:V.issues,onChange:e=>{S(e),L(!0)}})]}),(0,s.jsxs)("div",{className:"flex flex-col gap-2 border-t border-border bg-card/40 px-6 py-3",children:[q&&(0,s.jsx)("div",{className:"rounded-md border border-destructive/40 bg-destructive/10 px-3 py-2 text-[11px] text-destructive",children:(0,s.jsxs)("div",{className:"flex items-start gap-1.5",children:[(0,s.jsx)(f.A,{className:"mt-0.5 h-3 w-3 shrink-0"}),(0,s.jsxs)("div",{className:"flex-1",children:[(0,s.jsx)("div",{className:"font-medium",children:"Save failed"}),(0,s.jsx)("div",{className:"mt-0.5 leading-snug",children:q}),z.length>0&&(0,s.jsx)("ul",{className:"mt-1 space-y-0.5",children:z.slice(0,5).map((e,r)=>(0,s.jsxs)("li",{children:[(0,s.jsx)("span",{className:"font-mono",children:e.path}),":"," ",e.message]},r))})]})]})}),(0,s.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,s.jsx)("div",{className:"flex items-center gap-1.5 text-[11px] text-muted-foreground",children:V.valid?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(b.A,{className:"h-3 w-3 text-emerald-400"}),(0,s.jsx)("span",{children:"Ready to save"})]}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(f.A,{className:"h-3 w-3 text-destructive/80"}),(0,s.jsxs)("span",{children:[V.issues.length," ",1===V.issues.length?"issue":"issues"," to resolve"]})]})}),(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("button",{type:"button",onClick:()=>K(!1),className:"h-9 rounded-md border border-border bg-card px-4 text-sm font-medium text-muted-foreground transition hover:border-muted-foreground/30 hover:text-foreground",children:"Cancel"}),(0,s.jsxs)("button",{type:"button",disabled:!Z,onClick:H,className:(0,k.cn)("inline-flex h-9 items-center gap-1.5 rounded-md px-4 text-sm font-medium shadow-sm transition",Z?"bg-primary text-primary-foreground hover:bg-primary/90":"cursor-not-allowed bg-muted text-muted-foreground/60 shadow-none"),children:[_&&(0,s.jsx)(o.A,{className:"h-3.5 w-3.5 animate-spin"}),_?"Saving…":c?"Save changes":"Save template"]})]})]})]})]})]})}let eB=Object.fromEntries(Object.entries(J.r2).map(([e,r])=>[e,r.dot])),eV=[{id:"all",label:"All"},{id:"review",label:"Review"},{id:"plan",label:"Plan"},{id:"debug",label:"Debug"},{id:"decide",label:"Decide"}];function eG(){let[e,r]=(0,a.useState)([]),[t,x]=(0,a.useState)(null),[p,h]=(0,a.useState)("all"),[g,f]=(0,a.useState)(""),[b,v]=(0,a.useState)(null),[y,w]=(0,a.useState)(null),[N,k]=(0,a.useState)(null),C=(0,a.useCallback)(async e=>{try{let t=await (0,j.eG)();r(t),e&&t.find(r=>r.id===e)?f(e):t.length>0&&!g&&f(t[0].id)}catch(e){x(e instanceof j.$v?e.message:"Failed to load templates")}},[g]);async function A(e){if(!y&&"builtin"!==e.source){if(b!==e.id){v(e.id),k(null),setTimeout(()=>{v(r=>r===e.id?null:r)},8e3);return}w(e.id),k(null);try{await (0,j.I7)(e.id),v(null),g===e.id&&f(""),await C()}catch(e){k(e instanceof j.$v||e instanceof Error?e.message:"Delete failed (unknown error)"),v(null)}finally{w(null)}}}(0,a.useEffect)(()=>{C()},[]);let S="all"===p?e:e.filter(e=>e.category===p),M=e.find(e=>e.id===g)??e[0]??null;return t?(0,s.jsx)(l.G,{children:(0,s.jsx)("div",{className:"mx-auto w-full max-w-6xl px-4 py-6 sm:px-6 sm:py-8 md:px-8 md:py-10",children:(0,s.jsxs)("div",{className:"rounded-lg border border-destructive/50 bg-destructive/10 p-4",children:[(0,s.jsx)("p",{className:"text-sm text-destructive",children:"Error loading templates"}),(0,s.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:t})]})})}):(0,s.jsx)(l.G,{children:(0,s.jsxs)("div",{className:"mx-auto w-full max-w-6xl px-4 py-6 sm:px-6 sm:py-8 md:px-8 md:py-10",children:[(0,s.jsx)(u.z,{eyebrow:"Templates",title:"Reusable review workflows",subtitle:"Each template defines the driver, reviewers, prompts, and quorum rule for a kind of task. Fork, edit, share.",action:(0,s.jsx)(eO,{onSaved:e=>C(e)})}),N&&(0,s.jsx)("div",{className:"mb-4 rounded-md border border-destructive/40 bg-destructive/10 px-3 py-2 text-xs text-destructive",children:N}),(0,s.jsx)("div",{className:"mb-4 flex items-center gap-1 border-b border-border",children:eV.map(e=>(0,s.jsxs)("button",{type:"button",onClick:()=>h(e.id),className:`relative px-3 py-2 text-sm transition ${e.id===p?"text-foreground":"text-muted-foreground hover:text-foreground"}`,children:[e.label,e.id===p&&(0,s.jsx)("span",{className:"absolute inset-x-3 bottom-0 h-0.5 bg-primary"})]},e.id))}),(0,s.jsxs)("div",{className:"grid grid-cols-1 gap-4 lg:grid-cols-[1fr_1fr]",children:[(0,s.jsx)("div",{className:"flex min-w-0 flex-col gap-2",children:S.map(e=>(0,s.jsxs)("div",{role:"button",tabIndex:0,onClick:()=>f(e.id),onKeyDown:r=>{("Enter"===r.key||" "===r.key)&&(r.preventDefault(),f(e.id))},className:`group relative cursor-pointer rounded-xl text-left transition focus:outline-none focus-visible:ring-2 focus-visible:ring-primary/60 ${e.id===g?"ring-2 ring-primary/60 ring-offset-2 ring-offset-background":""}`,children:[(0,s.jsxs)(d.Zp,{className:"bg-card p-4 transition group-hover:border-muted-foreground/30",children:[(0,s.jsx)("div",{className:"flex items-start justify-between gap-3",children:(0,s.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,s.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,s.jsx)("span",{className:"text-sm font-semibold",children:e.name}),(0,s.jsx)(c.E,{variant:"outline",className:"border-border text-[10px] capitalize",children:e.category}),!1===e.isComplete&&(0,s.jsx)(c.E,{variant:"outline",className:"border-amber-500/40 bg-amber-500/10 font-mono text-[9px] uppercase text-amber-300",children:"needs setup"})]}),(0,s.jsx)("p",{className:"mt-1 text-xs text-muted-foreground line-clamp-2",children:!1===e.isComplete?"Some slots couldn't be filled from your installed CLIs. Edit the YAML to pick models for each slot.":e.description})]})}),e.phases[0]?.reviewer?.candidates.length?(0,s.jsxs)("div",{className:"mt-3 flex items-center gap-2 text-[11px] text-muted-foreground",children:[e.phases[0]?.kind!=="review_only"&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("span",{className:"flex items-center gap-1",children:[(0,s.jsx)("span",{className:"h-1.5 w-1.5 rounded-full bg-amber-400"}),"doer"]}),(0,s.jsx)("span",{className:"text-muted-foreground/40",children:"→"})]}),(0,s.jsxs)("span",{className:"flex items-center gap-1",children:[e.phases[0]?.reviewer?.candidates.map(e=>(0,s.jsx)("span",{className:`h-1.5 w-1.5 rounded-full ${eB[e]}`,title:e},e)),(0,s.jsxs)("span",{children:[e.phases[0]?.reviewer?.candidates.length," ",e.phases[0]?.reviewer?.candidates.length===1?"reviewer":"reviewers"]})]}),e.phases.length>1&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("span",{className:"text-muted-foreground/40",children:"\xb7"}),(0,s.jsxs)("span",{className:"font-mono text-[10px]",children:[e.phases.length," phases"]})]})]}):null]}),(0,s.jsxs)("div",{className:`absolute bottom-3 right-3 flex items-center gap-1.5 transition ${e.id===g?"opacity-100":"opacity-0 group-hover:opacity-100 group-focus-within:opacity-100"}`,onClick:r=>{r.stopPropagation(),f(e.id)},onKeyDown:e=>e.stopPropagation(),children:[(0,s.jsx)(eO,{editing:e,onSaved:e=>C(e),trigger:(0,s.jsx)("button",{type:"button","aria-label":`Edit ${e.name}`,className:"grid h-7 w-7 place-items-center rounded-md border border-border bg-card text-muted-foreground transition hover:border-muted-foreground/40 hover:bg-accent/60 hover:text-foreground",children:(0,s.jsx)(n.A,{className:"h-3.5 w-3.5"})})}),"builtin"!==e.source&&(0,s.jsx)("button",{type:"button","aria-label":b===e.id?`Confirm delete ${e.name}`:`Delete ${e.name}`,title:b===e.id?"Click again to confirm":"Delete",disabled:y===e.id,onClick:()=>A(e),className:`grid h-7 w-7 place-items-center rounded-md border transition disabled:cursor-not-allowed disabled:opacity-50 ${b===e.id?"border-destructive bg-destructive/15 text-destructive":"border-border bg-card text-muted-foreground hover:border-destructive/50 hover:text-destructive"}`,children:y===e.id?(0,s.jsx)(o.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,s.jsx)(i.A,{className:"h-3.5 w-3.5"})})]})]},e.id))}),M?(0,s.jsx)("div",{className:"lg:sticky lg:top-6 lg:max-h-[calc(100vh-10rem)] lg:h-[calc(100vh-10rem)]",children:(0,s.jsx)(m.N,{filename:`${M.id}.yaml`,charCount:M.yaml.length,maxHeightClassName:"h-full",footer:(0,s.jsxs)("span",{children:["by ",M.authorHandle]}),children:M.yaml})}):(0,s.jsx)(d.Zp,{className:"bg-card p-4 text-center text-muted-foreground",children:(0,s.jsx)("p",{children:"Select a template to view details"})})]})]})})}},9936:(e,r,t)=>{Promise.resolve().then(t.bind(t,3016))}},e=>{e.O(0,[742,832,690,641,344,744,506,128,358],()=>e(e.s=9936)),_N_E=e.O()}]);
@@ -0,0 +1,3 @@
1
+ @font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/f639721981034f88-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/9766a7e9e2e0ad5a-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/b66cf8e69499582a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/aa016aab0e6d1295-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/22a5144ee8d83bca-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist Fallback;src:local("Arial");ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.00%;size-adjust:104.76%}.__className_246ccd{font-family:Geist,Geist Fallback;font-style:normal}.__variable_246ccd{--font-geist-sans:"Geist","Geist Fallback"}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/d100b2a099e34044-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/2c34d62a75506231-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/0f1bdadaf30e2d5f-s.woff2) format("woff2");unicode-range:u+2000-2001,u+2004-2008,u+200a,u+23b8-23bd,u+2500-259f}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/a115172161b307bb-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/601f5c280d60caca-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/f5271587012faf78-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist Mono Fallback;src:local("Arial");ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.00%;size-adjust:134.59%}.__className_4c40f6{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.__variable_4c40f6{--font-geist-mono:"Geist Mono","Geist Mono Fallback"}
2
+
3
+ /*! tailwindcss v4.2.4 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:"";--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:host,:root{--color-orange-400:oklch(75% .183 55.934);--color-orange-500:oklch(70.5% .213 47.604);--color-amber-100:oklch(96.2% .059 95.617);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-emerald-200:oklch(90.5% .093 164.15);--color-emerald-300:oklch(84.5% .143 164.978);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-teal-400:oklch(77.7% .152 181.912);--color-teal-500:oklch(70.4% .14 182.503);--color-cyan-400:oklch(78.9% .154 211.53);--color-cyan-500:oklch(71.5% .143 215.221);--color-sky-400:oklch(74.6% .16 232.661);--color-sky-500:oklch(68.5% .169 237.323);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-violet-400:oklch(70.2% .183 293.541);--color-violet-500:oklch(60.6% .25 292.717);--color-pink-400:oklch(71.8% .202 349.761);--color-pink-500:oklch(65.6% .241 354.308);--color-rose-200:oklch(89.2% .058 10.001);--color-rose-300:oklch(81% .117 11.638);--color-rose-400:oklch(71.2% .194 13.428);--color-rose-500:oklch(64.5% .246 16.439);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-lg:32rem;--container-2xl:42rem;--container-3xl:48rem;--container-5xl:64rem;--container-6xl:72rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-tight:1.25;--leading-snug:1.375;--leading-relaxed:1.625;--radius-xs:.125rem;--radius-xl:.75rem;--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-geist-sans);--default-mono-font-family:var(--font-geist-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}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;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.\@container\/card-header{container:card-header/inline-size}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden}.absolute,.sr-only{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.inset-x-0{inset-inline:calc(var(--spacing) * 0)}.inset-x-3{inset-inline:calc(var(--spacing) * 3)}.inset-y-0{inset-block:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.top-0{top:calc(var(--spacing) * 0)}.top-1\/2{top:50%}.top-4{top:calc(var(--spacing) * 4)}.top-\[50\%\]{top:50%}.top-full{top:100%}.right-0{right:calc(var(--spacing) * 0)}.right-3{right:calc(var(--spacing) * 3)}.right-4{right:calc(var(--spacing) * 4)}.-bottom-px{bottom:-1px}.bottom-0{bottom:calc(var(--spacing) * 0)}.bottom-3{bottom:calc(var(--spacing) * 3)}.left-0{left:calc(var(--spacing) * 0)}.left-2{left:calc(var(--spacing) * 2)}.left-3{left:calc(var(--spacing) * 3)}.left-\[50\%\]{left:50%}.isolate{isolation:isolate}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2/span 2}.row-start-1{grid-row-start:1}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.mx-1\.5{margin-inline:calc(var(--spacing) * 1.5)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing) * 1)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mt-12{margin-top:calc(var(--spacing) * 12)}.mt-\[1px\]{margin-top:1px}.mt-auto{margin-top:auto}.mr-1{margin-right:calc(var(--spacing) * 1)}.-mb-px{margin-bottom:-1px}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.-ml-1{margin-left:calc(var(--spacing) * -1)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-1\.5{margin-left:calc(var(--spacing) * 1.5)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-auto{margin-left:auto}.line-clamp-1{-webkit-line-clamp:1}.line-clamp-1,.line-clamp-2{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.field-sizing-content{field-sizing:content}.aspect-square{aspect-ratio:1}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.size-full{width:100%;height:100%}.h-0\.5{height:calc(var(--spacing) * .5)}.h-1{height:calc(var(--spacing) * 1)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-14{height:calc(var(--spacing) * 14)}.h-72{height:calc(var(--spacing) * 72)}.h-\[18px\]{height:18px}.h-\[320px\]{height:320px}.h-\[calc\(\.\.\.\)\]{height:calc(...)}.h-\[calc\(100\%-1px\)\]{height:calc(100% - 1px)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-\(--radix-dropdown-menu-content-available-height\){max-height:var(--radix-dropdown-menu-content-available-height)}.max-h-72{max-height:calc(var(--spacing) * 72)}.max-h-\[70vh\]{max-height:70vh}.max-h-\[85vh\]{max-height:85vh}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-16{min-height:calc(var(--spacing) * 16)}.min-h-\[280px\]{min-height:280px}.min-h-\[400px\]{min-height:400px}.min-h-\[520px\]{min-height:520px}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3{width:calc(var(--spacing) * 3)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-3\/4{width:75%}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-7{width:calc(var(--spacing) * 7)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-12{width:calc(var(--spacing) * 12)}.w-14{width:calc(var(--spacing) * 14)}.w-32{width:calc(var(--spacing) * 32)}.w-56{width:calc(var(--spacing) * 56)}.w-60{width:calc(var(--spacing) * 60)}.w-72{width:calc(var(--spacing) * 72)}.w-80{width:calc(var(--spacing) * 80)}.w-\[18px\]{width:18px}.w-\[min\(96vw\,720px\)\]{width:min(96vw,720px)}.w-fit{width:fit-content}.w-full{width:100%}.w-screen{width:100vw}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-\[8rem\]{min-width:8rem}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.origin-\(--radix-dropdown-menu-content-transform-origin\){transform-origin:var(--radix-dropdown-menu-content-transform-origin)}.translate-x-4{--tw-translate-x:calc(var(--spacing) * 4)}.translate-x-4,.translate-x-\[-50\%\]{translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-\[-50\%\]{--tw-translate-x:-50%}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1)}.-translate-y-1\/2,.translate-y-\[-50\%\]{translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[-50\%\]{--tw-translate-y:-50%}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-zoom-in{cursor:zoom-in}.touch-none{touch-action:none}.resize-none{resize:none}.scroll-mt-20{scroll-margin-top:calc(var(--spacing) * 20)}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.appearance-none{appearance:none}.auto-rows-min{grid-auto-rows:min-content}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-\[1fr_120px_120px\]{grid-template-columns:1fr 120px 120px}.grid-cols-\[1fr_140px\]{grid-template-columns:1fr 140px}.grid-rows-\[auto_auto\]{grid-template-rows:auto auto}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0{gap:calc(var(--spacing) * 0)}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-2{column-gap:calc(var(--spacing) * 2)}.gap-x-4{column-gap:calc(var(--spacing) * 4)}:where(.-space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * -2) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * -2) * calc(1 - var(--tw-space-x-reverse)))}.gap-y-1{row-gap:calc(var(--spacing) * 1)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-border>:not(:last-child)){border-color:hsl(var(--border))}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:3.40282e+38px}.rounded-lg{border-radius:calc(var(--radius) + 2px)}.rounded-md{border-radius:var(--radius)}.rounded-sm{border-radius:calc(var(--radius) - 2px)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-xs{border-radius:var(--radius-xs)}.rounded-t-md{border-top-left-radius:var(--radius);border-top-right-radius:var(--radius)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-x{border-inline-style:var(--tw-border-style);border-inline-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-amber-500\/30{border-color:#f99c004d}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/30{border-color:color-mix(in oklab,var(--color-amber-500) 30%,transparent)}}.border-amber-500\/40{border-color:#f99c0066}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/40{border-color:color-mix(in oklab,var(--color-amber-500) 40%,transparent)}}.border-blue-500\/30{border-color:#3080ff4d}@supports (color:color-mix(in lab,red,red)){.border-blue-500\/30{border-color:color-mix(in oklab,var(--color-blue-500) 30%,transparent)}}.border-border,.border-border\/40{border-color:hsl(var(--border))}@supports (color:color-mix(in lab,red,red)){.border-border\/40{border-color:color-mix(in oklab,hsl(var(--border)) 40%,transparent)}}.border-border\/60{border-color:hsl(var(--border))}@supports (color:color-mix(in lab,red,red)){.border-border\/60{border-color:color-mix(in oklab,hsl(var(--border)) 60%,transparent)}}.border-destructive,.border-destructive\/40{border-color:hsl(var(--destructive))}@supports (color:color-mix(in lab,red,red)){.border-destructive\/40{border-color:color-mix(in oklab,hsl(var(--destructive)) 40%,transparent)}}.border-destructive\/50{border-color:hsl(var(--destructive))}@supports (color:color-mix(in lab,red,red)){.border-destructive\/50{border-color:color-mix(in oklab,hsl(var(--destructive)) 50%,transparent)}}.border-destructive\/60{border-color:hsl(var(--destructive))}@supports (color:color-mix(in lab,red,red)){.border-destructive\/60{border-color:color-mix(in oklab,hsl(var(--destructive)) 60%,transparent)}}.border-emerald-500\/20{border-color:#00bb7f33}@supports (color:color-mix(in lab,red,red)){.border-emerald-500\/20{border-color:color-mix(in oklab,var(--color-emerald-500) 20%,transparent)}}.border-emerald-500\/30{border-color:#00bb7f4d}@supports (color:color-mix(in lab,red,red)){.border-emerald-500\/30{border-color:color-mix(in oklab,var(--color-emerald-500) 30%,transparent)}}.border-emerald-500\/40{border-color:#00bb7f66}@supports (color:color-mix(in lab,red,red)){.border-emerald-500\/40{border-color:color-mix(in oklab,var(--color-emerald-500) 40%,transparent)}}.border-input{border-color:hsl(var(--input))}.border-primary,.border-primary\/40{border-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.border-primary\/40{border-color:color-mix(in oklab,hsl(var(--primary)) 40%,transparent)}}.border-primary\/50{border-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.border-primary\/50{border-color:color-mix(in oklab,hsl(var(--primary)) 50%,transparent)}}.border-primary\/60{border-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.border-primary\/60{border-color:color-mix(in oklab,hsl(var(--primary)) 60%,transparent)}}.border-rose-500\/30{border-color:#ff23574d}@supports (color:color-mix(in lab,red,red)){.border-rose-500\/30{border-color:color-mix(in oklab,var(--color-rose-500) 30%,transparent)}}.border-rose-500\/40{border-color:#ff235766}@supports (color:color-mix(in lab,red,red)){.border-rose-500\/40{border-color:color-mix(in oklab,var(--color-rose-500) 40%,transparent)}}.border-transparent{border-color:#0000}.border-t-transparent{border-top-color:#0000}.border-l-transparent{border-left-color:#0000}.bg-accent{background-color:hsl(var(--accent))}.bg-amber-400{background-color:var(--color-amber-400)}.bg-amber-400\/10{background-color:#fcbb001a}@supports (color:color-mix(in lab,red,red)){.bg-amber-400\/10{background-color:color-mix(in oklab,var(--color-amber-400) 10%,transparent)}}.bg-amber-500{background-color:var(--color-amber-500)}.bg-amber-500\/5{background-color:#f99c000d}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/5{background-color:color-mix(in oklab,var(--color-amber-500) 5%,transparent)}}.bg-amber-500\/10{background-color:#f99c001a}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/10{background-color:color-mix(in oklab,var(--color-amber-500) 10%,transparent)}}.bg-amber-500\/15{background-color:#f99c0026}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/15{background-color:color-mix(in oklab,var(--color-amber-500) 15%,transparent)}}.bg-amber-500\/20{background-color:#f99c0033}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/20{background-color:color-mix(in oklab,var(--color-amber-500) 20%,transparent)}}.bg-background,.bg-background\/30{background-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.bg-background\/30{background-color:color-mix(in oklab,hsl(var(--background)) 30%,transparent)}}.bg-background\/40{background-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.bg-background\/40{background-color:color-mix(in oklab,hsl(var(--background)) 40%,transparent)}}.bg-background\/60{background-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.bg-background\/60{background-color:color-mix(in oklab,hsl(var(--background)) 60%,transparent)}}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black) 50%,transparent)}}.bg-black\/75{background-color:#000000bf}@supports (color:color-mix(in lab,red,red)){.bg-black\/75{background-color:color-mix(in oklab,var(--color-black) 75%,transparent)}}.bg-blue-400{background-color:var(--color-blue-400)}.bg-blue-500\/10{background-color:#3080ff1a}@supports (color:color-mix(in lab,red,red)){.bg-blue-500\/10{background-color:color-mix(in oklab,var(--color-blue-500) 10%,transparent)}}.bg-border{background-color:hsl(var(--border))}.bg-card,.bg-card\/20{background-color:hsl(var(--card))}@supports (color:color-mix(in lab,red,red)){.bg-card\/20{background-color:color-mix(in oklab,hsl(var(--card)) 20%,transparent)}}.bg-card\/30{background-color:hsl(var(--card))}@supports (color:color-mix(in lab,red,red)){.bg-card\/30{background-color:color-mix(in oklab,hsl(var(--card)) 30%,transparent)}}.bg-card\/40{background-color:hsl(var(--card))}@supports (color:color-mix(in lab,red,red)){.bg-card\/40{background-color:color-mix(in oklab,hsl(var(--card)) 40%,transparent)}}.bg-card\/50{background-color:hsl(var(--card))}@supports (color:color-mix(in lab,red,red)){.bg-card\/50{background-color:color-mix(in oklab,hsl(var(--card)) 50%,transparent)}}.bg-card\/60{background-color:hsl(var(--card))}@supports (color:color-mix(in lab,red,red)){.bg-card\/60{background-color:color-mix(in oklab,hsl(var(--card)) 60%,transparent)}}.bg-card\/80{background-color:hsl(var(--card))}@supports (color:color-mix(in lab,red,red)){.bg-card\/80{background-color:color-mix(in oklab,hsl(var(--card)) 80%,transparent)}}.bg-cyan-400{background-color:var(--color-cyan-400)}.bg-destructive,.bg-destructive\/5{background-color:hsl(var(--destructive))}@supports (color:color-mix(in lab,red,red)){.bg-destructive\/5{background-color:color-mix(in oklab,hsl(var(--destructive)) 5%,transparent)}}.bg-destructive\/10{background-color:hsl(var(--destructive))}@supports (color:color-mix(in lab,red,red)){.bg-destructive\/10{background-color:color-mix(in oklab,hsl(var(--destructive)) 10%,transparent)}}.bg-destructive\/15{background-color:hsl(var(--destructive))}@supports (color:color-mix(in lab,red,red)){.bg-destructive\/15{background-color:color-mix(in oklab,hsl(var(--destructive)) 15%,transparent)}}.bg-destructive\/20{background-color:hsl(var(--destructive))}@supports (color:color-mix(in lab,red,red)){.bg-destructive\/20{background-color:color-mix(in oklab,hsl(var(--destructive)) 20%,transparent)}}.bg-emerald-400{background-color:var(--color-emerald-400)}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-emerald-500\/5{background-color:#00bb7f0d}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/5{background-color:color-mix(in oklab,var(--color-emerald-500) 5%,transparent)}}.bg-emerald-500\/10{background-color:#00bb7f1a}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/10{background-color:color-mix(in oklab,var(--color-emerald-500) 10%,transparent)}}.bg-emerald-500\/15{background-color:#00bb7f26}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/15{background-color:color-mix(in oklab,var(--color-emerald-500) 15%,transparent)}}.bg-emerald-500\/20{background-color:#00bb7f33}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/20{background-color:color-mix(in oklab,var(--color-emerald-500) 20%,transparent)}}.bg-emerald-500\/40{background-color:#00bb7f66}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/40{background-color:color-mix(in oklab,var(--color-emerald-500) 40%,transparent)}}.bg-muted{background-color:hsl(var(--muted))}.bg-muted-foreground,.bg-muted-foreground\/10{background-color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.bg-muted-foreground\/10{background-color:color-mix(in oklab,hsl(var(--muted-foreground)) 10%,transparent)}}.bg-muted-foreground\/20{background-color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.bg-muted-foreground\/20{background-color:color-mix(in oklab,hsl(var(--muted-foreground)) 20%,transparent)}}.bg-muted-foreground\/40{background-color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.bg-muted-foreground\/40{background-color:color-mix(in oklab,hsl(var(--muted-foreground)) 40%,transparent)}}.bg-muted-foreground\/50{background-color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.bg-muted-foreground\/50{background-color:color-mix(in oklab,hsl(var(--muted-foreground)) 50%,transparent)}}.bg-muted\/40{background-color:hsl(var(--muted))}@supports (color:color-mix(in lab,red,red)){.bg-muted\/40{background-color:color-mix(in oklab,hsl(var(--muted)) 40%,transparent)}}.bg-muted\/60{background-color:hsl(var(--muted))}@supports (color:color-mix(in lab,red,red)){.bg-muted\/60{background-color:color-mix(in oklab,hsl(var(--muted)) 60%,transparent)}}.bg-orange-400{background-color:var(--color-orange-400)}.bg-pink-400{background-color:var(--color-pink-400)}.bg-popover{background-color:hsl(var(--popover))}.bg-primary,.bg-primary\/5{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.bg-primary\/5{background-color:color-mix(in oklab,hsl(var(--primary)) 5%,transparent)}}.bg-primary\/10{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.bg-primary\/10{background-color:color-mix(in oklab,hsl(var(--primary)) 10%,transparent)}}.bg-primary\/15{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.bg-primary\/15{background-color:color-mix(in oklab,hsl(var(--primary)) 15%,transparent)}}.bg-primary\/20{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.bg-primary\/20{background-color:color-mix(in oklab,hsl(var(--primary)) 20%,transparent)}}.bg-rose-400{background-color:var(--color-rose-400)}.bg-rose-500\/5{background-color:#ff23570d}@supports (color:color-mix(in lab,red,red)){.bg-rose-500\/5{background-color:color-mix(in oklab,var(--color-rose-500) 5%,transparent)}}.bg-rose-500\/10{background-color:#ff23571a}@supports (color:color-mix(in lab,red,red)){.bg-rose-500\/10{background-color:color-mix(in oklab,var(--color-rose-500) 10%,transparent)}}.bg-rose-500\/15{background-color:#ff235726}@supports (color:color-mix(in lab,red,red)){.bg-rose-500\/15{background-color:color-mix(in oklab,var(--color-rose-500) 15%,transparent)}}.bg-rose-500\/20{background-color:#ff235733}@supports (color:color-mix(in lab,red,red)){.bg-rose-500\/20{background-color:color-mix(in oklab,var(--color-rose-500) 20%,transparent)}}.bg-secondary{background-color:hsl(var(--secondary))}.bg-sky-400{background-color:var(--color-sky-400)}.bg-slate-400{background-color:var(--color-slate-400)}.bg-teal-400{background-color:var(--color-teal-400)}.bg-transparent{background-color:#0000}.bg-violet-400{background-color:var(--color-violet-400)}.bg-gradient-to-b{--tw-gradient-position:to bottom in oklab}.bg-gradient-to-b,.bg-gradient-to-br{background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab}.from-blue-500\/15{--tw-gradient-from:#3080ff26}@supports (color:color-mix(in lab,red,red)){.from-blue-500\/15{--tw-gradient-from:color-mix(in oklab,var(--color-blue-500) 15%,transparent)}}.from-blue-500\/15{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from) var(--tw-gradient-from-position),var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-cyan-500\/15{--tw-gradient-from:#00b7d726}@supports (color:color-mix(in lab,red,red)){.from-cyan-500\/15{--tw-gradient-from:color-mix(in oklab,var(--color-cyan-500) 15%,transparent)}}.from-cyan-500\/15{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from) var(--tw-gradient-from-position),var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-emerald-500\/15{--tw-gradient-from:#00bb7f26}@supports (color:color-mix(in lab,red,red)){.from-emerald-500\/15{--tw-gradient-from:color-mix(in oklab,var(--color-emerald-500) 15%,transparent)}}.from-emerald-500\/15{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from) var(--tw-gradient-from-position),var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-muted\/30{--tw-gradient-from:hsl(var(--muted))}@supports (color:color-mix(in lab,red,red)){.from-muted\/30{--tw-gradient-from:color-mix(in oklab,hsl(var(--muted)) 30%,transparent)}}.from-muted\/30{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from) var(--tw-gradient-from-position),var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-orange-500\/15{--tw-gradient-from:#fe6e0026}@supports (color:color-mix(in lab,red,red)){.from-orange-500\/15{--tw-gradient-from:color-mix(in oklab,var(--color-orange-500) 15%,transparent)}}.from-orange-500\/15{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from) var(--tw-gradient-from-position),var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-pink-500\/15{--tw-gradient-from:#f6339a26}@supports (color:color-mix(in lab,red,red)){.from-pink-500\/15{--tw-gradient-from:color-mix(in oklab,var(--color-pink-500) 15%,transparent)}}.from-pink-500\/15{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from) var(--tw-gradient-from-position),var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-primary\/10{--tw-gradient-from:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.from-primary\/10{--tw-gradient-from:color-mix(in oklab,hsl(var(--primary)) 10%,transparent)}}.from-primary\/10{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from) var(--tw-gradient-from-position),var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-sky-500\/15{--tw-gradient-from:#00a5ef26}@supports (color:color-mix(in lab,red,red)){.from-sky-500\/15{--tw-gradient-from:color-mix(in oklab,var(--color-sky-500) 15%,transparent)}}.from-sky-500\/15{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from) var(--tw-gradient-from-position),var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-slate-500\/15{--tw-gradient-from:#62748e26}@supports (color:color-mix(in lab,red,red)){.from-slate-500\/15{--tw-gradient-from:color-mix(in oklab,var(--color-slate-500) 15%,transparent)}}.from-slate-500\/15{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from) var(--tw-gradient-from-position),var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-teal-500\/15{--tw-gradient-from:#00baa726}@supports (color:color-mix(in lab,red,red)){.from-teal-500\/15{--tw-gradient-from:color-mix(in oklab,var(--color-teal-500) 15%,transparent)}}.from-teal-500\/15{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from) var(--tw-gradient-from-position),var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-violet-500\/15{--tw-gradient-from:#8d54ff26}@supports (color:color-mix(in lab,red,red)){.from-violet-500\/15{--tw-gradient-from:color-mix(in oklab,var(--color-violet-500) 15%,transparent)}}.from-violet-500\/15{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from) var(--tw-gradient-from-position),var(--tw-gradient-to) var(--tw-gradient-to-position))}.via-card{--tw-gradient-via:hsl(var(--card));--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from) var(--tw-gradient-from-position),var(--tw-gradient-via) var(--tw-gradient-via-position),var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-card{--tw-gradient-to:hsl(var(--card));--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from) var(--tw-gradient-from-position),var(--tw-gradient-to) var(--tw-gradient-to-position))}.fill-current{fill:currentColor}.p-0{padding:calc(var(--spacing) * 0)}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:calc(var(--spacing) * 1)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-3\.5{padding:calc(var(--spacing) * 3.5)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.p-12{padding:calc(var(--spacing) * 12)}.p-\[3px\]{padding:3px}.p-px{padding:1px}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-12{padding-block:calc(var(--spacing) * 12)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pb-1{padding-bottom:calc(var(--spacing) * 1)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-8{padding-left:calc(var(--spacing) * 8)}.pl-9{padding-left:calc(var(--spacing) * 9)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-geist-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[15px\]{font-size:15px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-amber-100{color:var(--color-amber-100)}.text-amber-100\/60{color:#fef3c699}@supports (color:color-mix(in lab,red,red)){.text-amber-100\/60{color:color-mix(in oklab,var(--color-amber-100) 60%,transparent)}}.text-amber-100\/80{color:#fef3c6cc}@supports (color:color-mix(in lab,red,red)){.text-amber-100\/80{color:color-mix(in oklab,var(--color-amber-100) 80%,transparent)}}.text-amber-100\/85{color:#fef3c6d9}@supports (color:color-mix(in lab,red,red)){.text-amber-100\/85{color:color-mix(in oklab,var(--color-amber-100) 85%,transparent)}}.text-amber-100\/90{color:#fef3c6e6}@supports (color:color-mix(in lab,red,red)){.text-amber-100\/90{color:color-mix(in oklab,var(--color-amber-100) 90%,transparent)}}.text-amber-200{color:var(--color-amber-200)}.text-amber-200\/70{color:#fee685b3}@supports (color:color-mix(in lab,red,red)){.text-amber-200\/70{color:color-mix(in oklab,var(--color-amber-200) 70%,transparent)}}.text-amber-200\/75{color:#fee685bf}@supports (color:color-mix(in lab,red,red)){.text-amber-200\/75{color:color-mix(in oklab,var(--color-amber-200) 75%,transparent)}}.text-amber-200\/80{color:#fee685cc}@supports (color:color-mix(in lab,red,red)){.text-amber-200\/80{color:color-mix(in oklab,var(--color-amber-200) 80%,transparent)}}.text-amber-200\/90{color:#fee685e6}@supports (color:color-mix(in lab,red,red)){.text-amber-200\/90{color:color-mix(in oklab,var(--color-amber-200) 90%,transparent)}}.text-amber-300{color:var(--color-amber-300)}.text-amber-300\/80{color:#ffd236cc}@supports (color:color-mix(in lab,red,red)){.text-amber-300\/80{color:color-mix(in oklab,var(--color-amber-300) 80%,transparent)}}.text-amber-300\/90{color:#ffd236e6}@supports (color:color-mix(in lab,red,red)){.text-amber-300\/90{color:color-mix(in oklab,var(--color-amber-300) 90%,transparent)}}.text-amber-400{color:var(--color-amber-400)}.text-amber-400\/80{color:#fcbb00cc}@supports (color:color-mix(in lab,red,red)){.text-amber-400\/80{color:color-mix(in oklab,var(--color-amber-400) 80%,transparent)}}.text-blue-300{color:var(--color-blue-300)}.text-card-foreground{color:hsl(var(--card-foreground))}.text-destructive,.text-destructive\/80{color:hsl(var(--destructive))}@supports (color:color-mix(in lab,red,red)){.text-destructive\/80{color:color-mix(in oklab,hsl(var(--destructive)) 80%,transparent)}}.text-destructive\/90{color:hsl(var(--destructive))}@supports (color:color-mix(in lab,red,red)){.text-destructive\/90{color:color-mix(in oklab,hsl(var(--destructive)) 90%,transparent)}}.text-emerald-200{color:var(--color-emerald-200)}.text-emerald-200\/70{color:#a4f4cfb3}@supports (color:color-mix(in lab,red,red)){.text-emerald-200\/70{color:color-mix(in oklab,var(--color-emerald-200) 70%,transparent)}}.text-emerald-300{color:var(--color-emerald-300)}.text-emerald-300\/80{color:#5ee9b5cc}@supports (color:color-mix(in lab,red,red)){.text-emerald-300\/80{color:color-mix(in oklab,var(--color-emerald-300) 80%,transparent)}}.text-emerald-400{color:var(--color-emerald-400)}.text-emerald-400\/60{color:#00d29499}@supports (color:color-mix(in lab,red,red)){.text-emerald-400\/60{color:color-mix(in oklab,var(--color-emerald-400) 60%,transparent)}}.text-foreground,.text-foreground\/60{color:hsl(var(--foreground))}@supports (color:color-mix(in lab,red,red)){.text-foreground\/60{color:color-mix(in oklab,hsl(var(--foreground)) 60%,transparent)}}.text-foreground\/70{color:hsl(var(--foreground))}@supports (color:color-mix(in lab,red,red)){.text-foreground\/70{color:color-mix(in oklab,hsl(var(--foreground)) 70%,transparent)}}.text-foreground\/80{color:hsl(var(--foreground))}@supports (color:color-mix(in lab,red,red)){.text-foreground\/80{color:color-mix(in oklab,hsl(var(--foreground)) 80%,transparent)}}.text-foreground\/85{color:hsl(var(--foreground))}@supports (color:color-mix(in lab,red,red)){.text-foreground\/85{color:color-mix(in oklab,hsl(var(--foreground)) 85%,transparent)}}.text-foreground\/90{color:hsl(var(--foreground))}@supports (color:color-mix(in lab,red,red)){.text-foreground\/90{color:color-mix(in oklab,hsl(var(--foreground)) 90%,transparent)}}.text-muted-foreground,.text-muted-foreground\/40{color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/40{color:color-mix(in oklab,hsl(var(--muted-foreground)) 40%,transparent)}}.text-muted-foreground\/50{color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/50{color:color-mix(in oklab,hsl(var(--muted-foreground)) 50%,transparent)}}.text-muted-foreground\/60{color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/60{color:color-mix(in oklab,hsl(var(--muted-foreground)) 60%,transparent)}}.text-muted-foreground\/70{color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/70{color:color-mix(in oklab,hsl(var(--muted-foreground)) 70%,transparent)}}.text-muted-foreground\/80{color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/80{color:color-mix(in oklab,hsl(var(--muted-foreground)) 80%,transparent)}}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-rose-200{color:var(--color-rose-200)}.text-rose-300{color:var(--color-rose-300)}.text-rose-300\/90{color:#ffa2aee6}@supports (color:color-mix(in lab,red,red)){.text-rose-300\/90{color:color-mix(in oklab,var(--color-rose-300) 90%,transparent)}}.text-rose-400{color:var(--color-rose-400)}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.italic{font-style:italic}.ordinal{--tw-ordinal:ordinal}.ordinal,.tabular-nums{font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.tabular-nums{--tw-numeric-spacing:tabular-nums}.line-through{text-decoration-line:line-through}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.accent-primary{accent-color:hsl(var(--primary))}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)}.shadow,.shadow-2xl{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040)}.shadow-\[0_0_0_1px_rgba\(124\,58\,237\,0\.25\)\,0_0_24px_-6px_rgba\(124\,58\,237\,0\.45\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,#7c3aed40),0 0 24px -6px var(--tw-shadow-color,#7c3aed73)}.shadow-\[0_0_0_1px_rgba\(124\,58\,237\,0\.25\)\,0_0_24px_-6px_rgba\(124\,58\,237\,0\.45\)\],.shadow-lg{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a)}.shadow-md,.shadow-none{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)}.shadow-sm,.shadow-xl{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d)}.ring,.ring-1,.shadow-xs{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring,.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-background{--tw-ring-color:hsl(var(--background))}.ring-blue-400\/40{--tw-ring-color:#54a2ff66}@supports (color:color-mix(in lab,red,red)){.ring-blue-400\/40{--tw-ring-color:color-mix(in oklab,var(--color-blue-400) 40%,transparent)}}.ring-cyan-400\/40{--tw-ring-color:#00d2ef66}@supports (color:color-mix(in lab,red,red)){.ring-cyan-400\/40{--tw-ring-color:color-mix(in oklab,var(--color-cyan-400) 40%,transparent)}}.ring-emerald-400\/40{--tw-ring-color:#00d29466}@supports (color:color-mix(in lab,red,red)){.ring-emerald-400\/40{--tw-ring-color:color-mix(in oklab,var(--color-emerald-400) 40%,transparent)}}.ring-orange-400\/40{--tw-ring-color:#ff8b1a66}@supports (color:color-mix(in lab,red,red)){.ring-orange-400\/40{--tw-ring-color:color-mix(in oklab,var(--color-orange-400) 40%,transparent)}}.ring-pink-400\/40{--tw-ring-color:#fb64b666}@supports (color:color-mix(in lab,red,red)){.ring-pink-400\/40{--tw-ring-color:color-mix(in oklab,var(--color-pink-400) 40%,transparent)}}.ring-primary\/20{--tw-ring-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.ring-primary\/20{--tw-ring-color:color-mix(in oklab,hsl(var(--primary)) 20%,transparent)}}.ring-primary\/30{--tw-ring-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.ring-primary\/30{--tw-ring-color:color-mix(in oklab,hsl(var(--primary)) 30%,transparent)}}.ring-primary\/40{--tw-ring-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.ring-primary\/40{--tw-ring-color:color-mix(in oklab,hsl(var(--primary)) 40%,transparent)}}.ring-primary\/60{--tw-ring-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.ring-primary\/60{--tw-ring-color:color-mix(in oklab,hsl(var(--primary)) 60%,transparent)}}.ring-sky-400\/40{--tw-ring-color:#00bcfe66}@supports (color:color-mix(in lab,red,red)){.ring-sky-400\/40{--tw-ring-color:color-mix(in oklab,var(--color-sky-400) 40%,transparent)}}.ring-slate-400\/40{--tw-ring-color:#90a1b966}@supports (color:color-mix(in lab,red,red)){.ring-slate-400\/40{--tw-ring-color:color-mix(in oklab,var(--color-slate-400) 40%,transparent)}}.ring-teal-400\/40{--tw-ring-color:#00d3bd66}@supports (color:color-mix(in lab,red,red)){.ring-teal-400\/40{--tw-ring-color:color-mix(in oklab,var(--color-teal-400) 40%,transparent)}}.ring-violet-400\/40{--tw-ring-color:#a685ff66}@supports (color:color-mix(in lab,red,red)){.ring-violet-400\/40{--tw-ring-color:color-mix(in oklab,var(--color-violet-400) 40%,transparent)}}.ring-offset-2{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.ring-offset-background{--tw-ring-offset-color:hsl(var(--background))}.outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.grayscale-\[0\.6\]{--tw-grayscale:grayscale(.6)}.filter,.grayscale-\[0\.6\]{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{--tw-backdrop-blur:blur(8px)}.backdrop-blur,.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(var(--blur-sm))}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[opacity\,border-color\,box-shadow\]{transition-property:opacity,border-color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-700{--tw-duration:.7s;transition-duration:.7s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.paused{animation-play-state:paused}.running{animation-play-state:running}.group-focus-within\:opacity-100:is(:where(.group):focus-within *){opacity:1}@media (hover:hover){.group-hover\:border-muted-foreground\/30:is(:where(.group):hover *){border-color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.group-hover\:border-muted-foreground\/30:is(:where(.group):hover *){border-color:color-mix(in oklab,hsl(var(--muted-foreground)) 30%,transparent)}}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.group-has-data-\[size\=lg\]\/avatar-group\:size-10:is(:where(.group\/avatar-group):has([data-size=lg]) *){width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.group-has-data-\[size\=sm\]\/avatar-group\:size-6:is(:where(.group\/avatar-group):has([data-size=sm]) *){width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.group-data-\[orientation\=horizontal\]\/tabs\:h-9:is(:where(.group\/tabs)[data-orientation=horizontal] *){height:calc(var(--spacing) * 9)}.group-data-\[orientation\=vertical\]\/tabs\:h-fit:is(:where(.group\/tabs)[data-orientation=vertical] *){height:fit-content}.group-data-\[orientation\=vertical\]\/tabs\:w-full:is(:where(.group\/tabs)[data-orientation=vertical] *){width:100%}.group-data-\[orientation\=vertical\]\/tabs\:flex-col:is(:where(.group\/tabs)[data-orientation=vertical] *){flex-direction:column}.group-data-\[orientation\=vertical\]\/tabs\:justify-start:is(:where(.group\/tabs)[data-orientation=vertical] *){justify-content:flex-start}.group-data-\[size\=default\]\/avatar\:size-2\.5:is(:where(.group\/avatar)[data-size=default] *){width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.group-data-\[size\=lg\]\/avatar\:size-3:is(:where(.group\/avatar)[data-size=lg] *){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.group-data-\[size\=sm\]\/avatar\:size-2:is(:where(.group\/avatar)[data-size=sm] *){width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.group-data-\[size\=sm\]\/avatar\:text-xs:is(:where(.group\/avatar)[data-size=sm] *){font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.group-data-\[variant\=line\]\/tabs-list\:bg-transparent:is(:where(.group\/tabs-list)[data-variant=line] *){background-color:#0000}.selection\:bg-primary ::selection{background-color:hsl(var(--primary))}.selection\:bg-primary::selection{background-color:hsl(var(--primary))}.selection\:text-primary-foreground ::selection{color:hsl(var(--primary-foreground))}.selection\:text-primary-foreground::selection{color:hsl(var(--primary-foreground))}.file\:inline-flex::file-selector-button{display:inline-flex}.file\:h-7::file-selector-button{height:calc(var(--spacing) * 7)}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:hsl(var(--foreground))}.placeholder\:text-muted-foreground::placeholder,.placeholder\:text-muted-foreground\/50::placeholder{color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.placeholder\:text-muted-foreground\/50::placeholder{color:color-mix(in oklab,hsl(var(--muted-foreground)) 50%,transparent)}}.placeholder\:text-muted-foreground\/60::placeholder{color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.placeholder\:text-muted-foreground\/60::placeholder{color:color-mix(in oklab,hsl(var(--muted-foreground)) 60%,transparent)}}.placeholder\:text-muted-foreground\/70::placeholder{color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.placeholder\:text-muted-foreground\/70::placeholder{color:color-mix(in oklab,hsl(var(--muted-foreground)) 70%,transparent)}}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:bg-foreground:after{content:var(--tw-content);background-color:hsl(var(--foreground))}.after\:opacity-0:after{content:var(--tw-content);opacity:0}.after\:transition-opacity:after{content:var(--tw-content);transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.group-data-\[orientation\=horizontal\]\/tabs\:after\:inset-x-0:is(:where(.group\/tabs)[data-orientation=horizontal] *):after{content:var(--tw-content);inset-inline:calc(var(--spacing) * 0)}.group-data-\[orientation\=horizontal\]\/tabs\:after\:bottom-\[-5px\]:is(:where(.group\/tabs)[data-orientation=horizontal] *):after{content:var(--tw-content);bottom:-5px}.group-data-\[orientation\=horizontal\]\/tabs\:after\:h-0\.5:is(:where(.group\/tabs)[data-orientation=horizontal] *):after{content:var(--tw-content);height:calc(var(--spacing) * .5)}.group-data-\[orientation\=vertical\]\/tabs\:after\:inset-y-0:is(:where(.group\/tabs)[data-orientation=vertical] *):after{content:var(--tw-content);inset-block:calc(var(--spacing) * 0)}.group-data-\[orientation\=vertical\]\/tabs\:after\:-right-1:is(:where(.group\/tabs)[data-orientation=vertical] *):after{content:var(--tw-content);right:calc(var(--spacing) * -1)}.group-data-\[orientation\=vertical\]\/tabs\:after\:w-0\.5:is(:where(.group\/tabs)[data-orientation=vertical] *):after{content:var(--tw-content);width:calc(var(--spacing) * .5)}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media (hover:hover){.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\:border-destructive\/40:hover{border-color:hsl(var(--destructive))}@supports (color:color-mix(in lab,red,red)){.hover\:border-destructive\/40:hover{border-color:color-mix(in oklab,hsl(var(--destructive)) 40%,transparent)}}.hover\:border-destructive\/50:hover{border-color:hsl(var(--destructive))}@supports (color:color-mix(in lab,red,red)){.hover\:border-destructive\/50:hover{border-color:color-mix(in oklab,hsl(var(--destructive)) 50%,transparent)}}.hover\:border-emerald-500\/30:hover{border-color:#00bb7f4d}@supports (color:color-mix(in lab,red,red)){.hover\:border-emerald-500\/30:hover{border-color:color-mix(in oklab,var(--color-emerald-500) 30%,transparent)}}.hover\:border-foreground\/20:hover{border-color:hsl(var(--foreground))}@supports (color:color-mix(in lab,red,red)){.hover\:border-foreground\/20:hover{border-color:color-mix(in oklab,hsl(var(--foreground)) 20%,transparent)}}.hover\:border-foreground\/30:hover{border-color:hsl(var(--foreground))}@supports (color:color-mix(in lab,red,red)){.hover\:border-foreground\/30:hover{border-color:color-mix(in oklab,hsl(var(--foreground)) 30%,transparent)}}.hover\:border-muted-foreground\/30:hover{border-color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.hover\:border-muted-foreground\/30:hover{border-color:color-mix(in oklab,hsl(var(--muted-foreground)) 30%,transparent)}}.hover\:border-muted-foreground\/40:hover{border-color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.hover\:border-muted-foreground\/40:hover{border-color:color-mix(in oklab,hsl(var(--muted-foreground)) 40%,transparent)}}.hover\:border-primary:hover,.hover\:border-primary\/40:hover{border-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.hover\:border-primary\/40:hover{border-color:color-mix(in oklab,hsl(var(--primary)) 40%,transparent)}}.hover\:border-primary\/50:hover{border-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.hover\:border-primary\/50:hover{border-color:color-mix(in oklab,hsl(var(--primary)) 50%,transparent)}}.hover\:border-rose-500\/30:hover{border-color:#ff23574d}@supports (color:color-mix(in lab,red,red)){.hover\:border-rose-500\/30:hover{border-color:color-mix(in oklab,var(--color-rose-500) 30%,transparent)}}.hover\:bg-accent:hover,.hover\:bg-accent\/40:hover{background-color:hsl(var(--accent))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-accent\/40:hover{background-color:color-mix(in oklab,hsl(var(--accent)) 40%,transparent)}}.hover\:bg-accent\/50:hover{background-color:hsl(var(--accent))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-accent\/50:hover{background-color:color-mix(in oklab,hsl(var(--accent)) 50%,transparent)}}.hover\:bg-accent\/60:hover{background-color:hsl(var(--accent))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-accent\/60:hover{background-color:color-mix(in oklab,hsl(var(--accent)) 60%,transparent)}}.hover\:bg-amber-500\/20:hover{background-color:#f99c0033}@supports (color:color-mix(in lab,red,red)){.hover\:bg-amber-500\/20:hover{background-color:color-mix(in oklab,var(--color-amber-500) 20%,transparent)}}.hover\:bg-card\/30:hover{background-color:hsl(var(--card))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-card\/30:hover{background-color:color-mix(in oklab,hsl(var(--card)) 30%,transparent)}}.hover\:bg-card\/40:hover{background-color:hsl(var(--card))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-card\/40:hover{background-color:color-mix(in oklab,hsl(var(--card)) 40%,transparent)}}.hover\:bg-card\/50:hover{background-color:hsl(var(--card))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-card\/50:hover{background-color:color-mix(in oklab,hsl(var(--card)) 50%,transparent)}}.hover\:bg-card\/80:hover{background-color:hsl(var(--card))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-card\/80:hover{background-color:color-mix(in oklab,hsl(var(--card)) 80%,transparent)}}.hover\:bg-destructive\/20:hover{background-color:hsl(var(--destructive))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/20:hover{background-color:color-mix(in oklab,hsl(var(--destructive)) 20%,transparent)}}.hover\:bg-destructive\/25:hover{background-color:hsl(var(--destructive))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/25:hover{background-color:color-mix(in oklab,hsl(var(--destructive)) 25%,transparent)}}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,hsl(var(--destructive)) 90%,transparent)}}.hover\:bg-emerald-500\/20:hover{background-color:#00bb7f33}@supports (color:color-mix(in lab,red,red)){.hover\:bg-emerald-500\/20:hover{background-color:color-mix(in oklab,var(--color-emerald-500) 20%,transparent)}}.hover\:bg-foreground\/5:hover{background-color:hsl(var(--foreground))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-foreground\/5:hover{background-color:color-mix(in oklab,hsl(var(--foreground)) 5%,transparent)}}.hover\:bg-foreground\/10:hover{background-color:hsl(var(--foreground))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-foreground\/10:hover{background-color:color-mix(in oklab,hsl(var(--foreground)) 10%,transparent)}}.hover\:bg-primary\/10:hover{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/10:hover{background-color:color-mix(in oklab,hsl(var(--primary)) 10%,transparent)}}.hover\:bg-primary\/20:hover{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/20:hover{background-color:color-mix(in oklab,hsl(var(--primary)) 20%,transparent)}}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,hsl(var(--primary)) 90%,transparent)}}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,hsl(var(--secondary)) 80%,transparent)}}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-destructive:hover{color:hsl(var(--destructive))}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:text-primary:hover{color:hsl(var(--primary))}.hover\:text-rose-400:hover{color:var(--color-rose-400)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}}.focus\:border-destructive:focus{border-color:hsl(var(--destructive))}.focus\:border-foreground\/30:focus{border-color:hsl(var(--foreground))}@supports (color:color-mix(in lab,red,red)){.focus\:border-foreground\/30:focus{border-color:color-mix(in oklab,hsl(var(--foreground)) 30%,transparent)}}.focus\:border-primary\/40:focus{border-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.focus\:border-primary\/40:focus{border-color:color-mix(in oklab,hsl(var(--primary)) 40%,transparent)}}.focus\:border-primary\/60:focus{border-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.focus\:border-primary\/60:focus{border-color:color-mix(in oklab,hsl(var(--primary)) 60%,transparent)}}.focus\:bg-accent:focus{background-color:hsl(var(--accent))}.focus\:text-accent-foreground:focus{color:hsl(var(--accent-foreground))}.focus\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor)}.focus\:ring-1:focus,.focus\:ring-2:focus{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor)}.focus\:ring-destructive\/30:focus{--tw-ring-color:hsl(var(--destructive))}@supports (color:color-mix(in lab,red,red)){.focus\:ring-destructive\/30:focus{--tw-ring-color:color-mix(in oklab,hsl(var(--destructive)) 30%,transparent)}}.focus\:ring-primary:focus,.focus\:ring-primary\/20:focus{--tw-ring-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.focus\:ring-primary\/20:focus{--tw-ring-color:color-mix(in oklab,hsl(var(--primary)) 20%,transparent)}}.focus\:ring-primary\/40:focus{--tw-ring-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.focus\:ring-primary\/40:focus{--tw-ring-color:color-mix(in oklab,hsl(var(--primary)) 40%,transparent)}}.focus\:ring-ring:focus{--tw-ring-color:hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.focus\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:border-ring:focus-visible{border-color:hsl(var(--ring))}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:hsl(var(--destructive))}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab,hsl(var(--destructive)) 20%,transparent)}}.focus-visible\:ring-primary\/60:focus-visible{--tw-ring-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-primary\/60:focus-visible{--tw-ring-color:color-mix(in oklab,hsl(var(--primary)) 60%,transparent)}}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:hsl(var(--ring))}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab,hsl(var(--ring)) 50%,transparent)}}.focus-visible\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\:outline-ring:focus-visible{outline-color:hsl(var(--ring))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-default:disabled{cursor:default}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-muted:disabled{background-color:hsl(var(--muted))}.disabled\:text-muted-foreground:disabled{color:hsl(var(--muted-foreground))}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.has-\[\>svg\]\:px-1\.5:has(>svg){padding-inline:calc(var(--spacing) * 1.5)}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing) * 2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing) * 3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing) * 4)}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:hsl(var(--destructive))}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:hsl(var(--destructive))}@supports (color:color-mix(in lab,red,red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,hsl(var(--destructive)) 20%,transparent)}}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[inset\]\:pl-8[data-inset]{padding-left:calc(var(--spacing) * 8)}.data-\[orientation\=horizontal\]\:h-px[data-orientation=horizontal]{height:1px}.data-\[orientation\=horizontal\]\:w-full[data-orientation=horizontal]{width:100%}.data-\[orientation\=horizontal\]\:flex-col[data-orientation=horizontal]{flex-direction:column}.data-\[orientation\=vertical\]\:h-full[data-orientation=vertical]{height:100%}.data-\[orientation\=vertical\]\:w-px[data-orientation=vertical]{width:1px}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(2*var(--spacing))}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}.data-\[size\=lg\]\:size-10[data-size=lg]{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.data-\[size\=sm\]\:size-6[data-size=sm]{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}:is(.\*\:data-\[slot\=avatar\]\:ring-2>*)[data-slot=avatar]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}:is(.\*\:data-\[slot\=avatar\]\:ring-background>*)[data-slot=avatar]{--tw-ring-color:hsl(var(--background))}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:hsl(var(--background))}.data-\[state\=active\]\:text-foreground[data-state=active]{color:hsl(var(--foreground))}.group-data-\[variant\=default\]\/tabs-list\:data-\[state\=active\]\:shadow-sm:is(:where(.group\/tabs-list)[data-variant=default] *)[data-state=active]{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:bg-transparent:is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]{background-color:#0000}.group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:shadow-none:is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:after\:opacity-100:is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]:after{content:var(--tw-content);opacity:1}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=closed\]\:duration-300[data-state=closed]{--tw-duration:.3s;transition-duration:.3s}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y:100%}.data-\[state\=closed\]\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x:-100%}.data-\[state\=closed\]\:slide-out-to-right[data-state=closed]{--tw-exit-translate-x:100%}.data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y:-100%}.data-\[state\=open\]\:animate-in[data-state=open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:hsl(var(--accent))}.data-\[state\=open\]\:bg-secondary[data-state=open]{background-color:hsl(var(--secondary))}.data-\[state\=open\]\:text-accent-foreground[data-state=open]{color:hsl(var(--accent-foreground))}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:hsl(var(--muted-foreground))}.data-\[state\=open\]\:duration-500[data-state=open]{--tw-duration:.5s;transition-duration:.5s}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[state\=open\]\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y:100%}.data-\[state\=open\]\:slide-in-from-left[data-state=open]{--tw-enter-translate-x:-100%}.data-\[state\=open\]\:slide-in-from-right[data-state=open]{--tw-enter-translate-x:100%}.data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y:-100%}.data-\[variant\=destructive\]\:text-destructive[data-variant=destructive]{color:hsl(var(--destructive))}.data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:hsl(var(--destructive))}@supports (color:color-mix(in lab,red,red)){.data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:color-mix(in oklab,hsl(var(--destructive)) 10%,transparent)}}.data-\[variant\=destructive\]\:focus\:text-destructive[data-variant=destructive]:focus{color:hsl(var(--destructive))}.data-\[variant\=line\]\:rounded-none[data-variant=line]{border-radius:0}@media (min-width:40rem){.sm\:col-span-2{grid-column:span 2/span 2}.sm\:inline{display:inline}.sm\:w-auto{width:auto}.sm\:max-w-lg{max-width:var(--container-lg)}.sm\:max-w-none{max-width:none}.sm\:max-w-sm{max-width:var(--container-sm)}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:items-end{align-items:flex-end}.sm\:justify-between{justify-content:space-between}.sm\:justify-end{justify-content:flex-end}.sm\:self-auto{align-self:auto}.sm\:p-10{padding:calc(var(--spacing) * 10)}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}.sm\:px-8{padding-inline:calc(var(--spacing) * 8)}.sm\:py-8{padding-block:calc(var(--spacing) * 8)}.sm\:py-14{padding-block:calc(var(--spacing) * 14)}.sm\:text-left{text-align:left}}@media (min-width:48rem){.md\:flex{display:flex}.md\:hidden{display:none}.md\:px-8{padding-inline:calc(var(--spacing) * 8)}.md\:py-10{padding-block:calc(var(--spacing) * 10)}.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}@media (min-width:64rem){.lg\:sticky{position:sticky}.lg\:top-6{top:calc(var(--spacing) * 6)}.lg\:h-\[calc\(100vh-10rem\)\]{height:calc(100vh - 10rem)}.lg\:max-h-\[calc\(100vh-10rem\)\]{max-height:calc(100vh - 10rem)}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-\[1fr_1\.2fr\]{grid-template-columns:1fr 1.2fr}.lg\:grid-cols-\[1fr_1fr\]{grid-template-columns:1fr 1fr}}@media (min-width:80rem){.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.dark\:border-input:is(.dark *){border-color:hsl(var(--input))}.dark\:bg-destructive\/60:is(.dark *){background-color:hsl(var(--destructive))}@supports (color:color-mix(in lab,red,red)){.dark\:bg-destructive\/60:is(.dark *){background-color:color-mix(in oklab,hsl(var(--destructive)) 60%,transparent)}}.dark\:bg-input\/30:is(.dark *){background-color:hsl(var(--input))}@supports (color:color-mix(in lab,red,red)){.dark\:bg-input\/30:is(.dark *){background-color:color-mix(in oklab,hsl(var(--input)) 30%,transparent)}}.dark\:text-muted-foreground:is(.dark *){color:hsl(var(--muted-foreground))}@media (hover:hover){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:hsl(var(--accent))}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:color-mix(in oklab,hsl(var(--accent)) 50%,transparent)}}.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:hsl(var(--input))}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:color-mix(in oklab,hsl(var(--input)) 50%,transparent)}}.dark\:hover\:text-foreground:is(.dark *):hover{color:hsl(var(--foreground))}}.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:hsl(var(--destructive))}@supports (color:color-mix(in lab,red,red)){.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab,hsl(var(--destructive)) 40%,transparent)}}.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:hsl(var(--destructive))}@supports (color:color-mix(in lab,red,red)){.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,hsl(var(--destructive)) 40%,transparent)}}.dark\:data-\[state\=active\]\:border-input:is(.dark *)[data-state=active]{border-color:hsl(var(--input))}.dark\:data-\[state\=active\]\:bg-input\/30:is(.dark *)[data-state=active]{background-color:hsl(var(--input))}@supports (color:color-mix(in lab,red,red)){.dark\:data-\[state\=active\]\:bg-input\/30:is(.dark *)[data-state=active]{background-color:color-mix(in oklab,hsl(var(--input)) 30%,transparent)}}.dark\:data-\[state\=active\]\:text-foreground:is(.dark *)[data-state=active]{color:hsl(var(--foreground))}.dark\:group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:border-transparent:is(.dark *):is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]{border-color:#0000}.dark\:group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:bg-transparent:is(.dark *):is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]{background-color:#0000}.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20:is(.dark *)[data-variant=destructive]:focus{background-color:hsl(var(--destructive))}@supports (color:color-mix(in lab,red,red)){.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20:is(.dark *)[data-variant=destructive]:focus{background-color:color-mix(in oklab,hsl(var(--destructive)) 20%,transparent)}}.\[\&_\*\]\:pointer-events-none *,.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_svg\:not\(\[class\*\=\'text-\'\]\)\]\:text-muted-foreground svg:not([class*=text-]){color:hsl(var(--muted-foreground))}.\[\.border-b\]\:pb-6.border-b{padding-bottom:calc(var(--spacing) * 6)}.\[\.border-t\]\:pt-6.border-t{padding-top:calc(var(--spacing) * 6)}:is(.data-\[variant\=destructive\]\:\*\:\[svg\]\:text-destructive\![data-variant=destructive]>*):is(svg){color:hsl(var(--destructive))!important}.\[\&\>svg\]\:pointer-events-none>svg{pointer-events:none}.\[\&\>svg\]\:size-3>svg{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&\>svg\]\:size-4>svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.group-has-data-\[size\=lg\]\/avatar-group\:\[\&\>svg\]\:size-5:is(:where(.group\/avatar-group):has([data-size=lg]) *)>svg{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.group-has-data-\[size\=sm\]\/avatar-group\:\[\&\>svg\]\:size-3:is(:where(.group\/avatar-group):has([data-size=sm]) *)>svg{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.group-data-\[size\=default\]\/avatar\:\[\&\>svg\]\:size-2:is(:where(.group\/avatar)[data-size=default] *)>svg,.group-data-\[size\=lg\]\/avatar\:\[\&\>svg\]\:size-2:is(:where(.group\/avatar)[data-size=lg] *)>svg{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.group-data-\[size\=sm\]\/avatar\:\[\&\>svg\]\:hidden:is(:where(.group\/avatar)[data-size=sm] *)>svg{display:none}@media (hover:hover){a.\[a\&\]\:hover\:bg-accent:hover{background-color:hsl(var(--accent))}a.\[a\&\]\:hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive))}@supports (color:color-mix(in lab,red,red)){a.\[a\&\]\:hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,hsl(var(--destructive)) 90%,transparent)}}a.\[a\&\]\:hover\:bg-primary\/90:hover{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){a.\[a\&\]\:hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,hsl(var(--primary)) 90%,transparent)}}a.\[a\&\]\:hover\:bg-secondary\/90:hover{background-color:hsl(var(--secondary))}@supports (color:color-mix(in lab,red,red)){a.\[a\&\]\:hover\:bg-secondary\/90:hover{background-color:color-mix(in oklab,hsl(var(--secondary)) 90%,transparent)}}a.\[a\&\]\:hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}a.\[a\&\]\:hover\:underline:hover{text-decoration-line:underline}}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}:root{--background:0 0% 5%;--foreground:0 0% 96%;--card:0 0% 7%;--card-foreground:0 0% 96%;--popover:0 0% 8%;--popover-foreground:0 0% 96%;--primary:263 70% 70%;--primary-foreground:0 0% 5%;--secondary:0 0% 12%;--secondary-foreground:0 0% 90%;--muted:0 0% 12%;--muted-foreground:0 0% 60%;--accent:0 0% 14%;--accent-foreground:0 0% 96%;--destructive:0 70% 60%;--destructive-foreground:0 0% 96%;--success:142 70% 50%;--warning:38 90% 60%;--border:0 0% 14%;--input:0 0% 12%;--ring:263 70% 70%;--radius:.5rem}*{border-color:hsl(var(--border))}html{color-scheme:dark}body{background:hsl(var(--background));color:hsl(var(--foreground));font-family:var(--font-geist-sans),system-ui,sans-serif;-webkit-font-smoothing:antialiased}.bg-grid{background-image:radial-gradient(circle,hsl(var(--border)) 1px,transparent 1px);background-size:24px 24px}@keyframes pulse-soft{0%,to{opacity:1}50%{opacity:.5}}.animate-pulse-soft{animation:pulse-soft 1.6s ease-in-out infinite}@keyframes caret{0%,50%{opacity:1}50.01%,to{opacity:0}}.caret:after{content:"▍";color:hsl(var(--primary));margin-left:2px;animation:caret 1s step-end infinite}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:hsl(var(--border));border-radius:3px}::-webkit-scrollbar-thumb:hover{background:hsl(var(--muted-foreground)/.3)}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@keyframes spin{to{transform:rotate(1turn)}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}}