agent-tower 0.5.2 → 0.5.3-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.js +14 -0
- package/dist/cli.js.map +1 -1
- package/dist/executors/__tests__/base.executor.test.js +12 -0
- package/dist/executors/__tests__/base.executor.test.js.map +1 -1
- package/dist/executors/execution-env.d.ts +1 -1
- package/dist/executors/execution-env.d.ts.map +1 -1
- package/dist/executors/execution-env.js +4 -0
- package/dist/executors/execution-env.js.map +1 -1
- package/dist/routes/conversations.d.ts +3 -0
- package/dist/routes/conversations.d.ts.map +1 -0
- package/dist/routes/conversations.js +102 -0
- package/dist/routes/conversations.js.map +1 -0
- package/dist/routes/index.d.ts.map +1 -1
- package/dist/routes/index.js +3 -0
- package/dist/routes/index.js.map +1 -1
- package/dist/routes/sessions.d.ts.map +1 -1
- package/dist/routes/sessions.js +37 -21
- package/dist/routes/sessions.js.map +1 -1
- package/dist/services/__tests__/conversation.service.test.d.ts +2 -0
- package/dist/services/__tests__/conversation.service.test.d.ts.map +1 -0
- package/dist/services/__tests__/conversation.service.test.js +102 -0
- package/dist/services/__tests__/conversation.service.test.js.map +1 -0
- package/dist/services/commit-message.service.d.ts.map +1 -1
- package/dist/services/commit-message.service.js +4 -0
- package/dist/services/commit-message.service.js.map +1 -1
- package/dist/services/conversation.service.d.ts +26 -0
- package/dist/services/conversation.service.d.ts.map +1 -0
- package/dist/services/conversation.service.js +224 -0
- package/dist/services/conversation.service.js.map +1 -0
- package/dist/services/session-manager.d.ts +69 -13
- package/dist/services/session-manager.d.ts.map +1 -1
- package/dist/services/session-manager.js +107 -42
- package/dist/services/session-manager.js.map +1 -1
- package/dist/services/task.service.d.ts +2 -2
- package/dist/services/terminal-manager.d.ts.map +1 -1
- package/dist/services/terminal-manager.js +2 -0
- package/dist/services/terminal-manager.js.map +1 -1
- package/dist/services/workspace.service.d.ts +9 -7
- package/dist/services/workspace.service.d.ts.map +1 -1
- package/dist/types/index.d.ts +4 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +6 -0
- package/dist/types/index.js.map +1 -1
- package/dist/web/assets/AgentDemoPage-CUgqAjq9.js +1 -0
- package/dist/web/assets/ConversationPage-Cyiw8Hra.js +3 -0
- package/dist/web/assets/CreateTaskInput-BILlpv9b.js +2 -0
- package/dist/web/assets/{DemoPage-Xc4QRNUj.js → DemoPage-SywVXjL0.js} +1 -1
- package/dist/web/assets/{GeneralSettingsPage-DWKl6BHA.js → GeneralSettingsPage-CTymytF6.js} +1 -1
- package/dist/web/assets/Icons-DmLVnVdg.js +1 -0
- package/dist/web/assets/{McpSettingsPage-BHEMUq7Z.js → McpSettingsPage-DyolUN8C.js} +1 -1
- package/dist/web/assets/{MemberAvatar-b_WKLu8w.js → MemberAvatar-u6jTOiDY.js} +1 -1
- package/dist/web/assets/NotificationSettingsPage-BBop2Bu4.js +1 -0
- package/dist/web/assets/ProfileSettingsPage-Bw-eI0cF.js +3 -0
- package/dist/web/assets/ProjectKanbanPage-BFf2FZVz.js +89 -0
- package/dist/web/assets/ProjectSettingsPage-BJ4sOhMl.js +2 -0
- package/dist/web/assets/{ProviderSettingsPage-DQ_IDUUZ.js → ProviderSettingsPage-BlLaN0i2.js} +19 -19
- package/dist/web/assets/{SettingsMasterDetail-Cx9Ylq9N.js → SettingsMasterDetail-CdimTj5n.js} +1 -1
- package/dist/web/assets/TeamSettingsPage-CqQTc5AI.js +1 -0
- package/dist/web/assets/{arc-D31VhUJX.js → arc-Ddp5hhH6.js} +1 -1
- package/dist/web/assets/{architectureDiagram-3BPJPVTR-Ak9jpJ8q.js → architectureDiagram-3BPJPVTR-CpK7WDLU.js} +1 -1
- package/dist/web/assets/{arrow-left-DcUokonk.js → arrow-left-B6KMicbE.js} +1 -1
- package/dist/web/assets/{blockDiagram-GPEHLZMM-DEDpa_4t.js → blockDiagram-GPEHLZMM-6_0hov2h.js} +1 -1
- package/dist/web/assets/{c4Diagram-AAUBKEIU-BgS3ci_x.js → c4Diagram-AAUBKEIU-Br6Tzu3R.js} +1 -1
- package/dist/web/assets/channel-Bg_GO2e9.js +1 -0
- package/dist/web/assets/check-D9lM__p8.js +1 -0
- package/dist/web/assets/{chevron-down-DuDzRplH.js → chevron-down-Cur5jANy.js} +1 -1
- package/dist/web/assets/{chevron-right-BezhysME.js → chevron-right-R3KVa8oQ.js} +1 -1
- package/dist/web/assets/{chevron-up-DtQ85g91.js → chevron-up-DcLdFanO.js} +1 -1
- package/dist/web/assets/{chunk-2J33WTMH-BnpAjP2E.js → chunk-2J33WTMH-D8zyttB-.js} +1 -1
- package/dist/web/assets/{chunk-4BX2VUAB-DNUdFpBR.js → chunk-4BX2VUAB-Cqi9xJ8M.js} +1 -1
- package/dist/web/assets/{chunk-55IACEB6-CTj6ihx_.js → chunk-55IACEB6-Dxjaitf1.js} +1 -1
- package/dist/web/assets/{chunk-727SXJPM-yKiHVB7X.js → chunk-727SXJPM-CAn8Y9XB.js} +1 -1
- package/dist/web/assets/{chunk-AQP2D5EJ-njbMVjqc.js → chunk-AQP2D5EJ-B4sECH9U.js} +1 -1
- package/dist/web/assets/{chunk-FMBD7UC4-h0jEUL75.js → chunk-FMBD7UC4-Ckd3e1dg.js} +1 -1
- package/dist/web/assets/{chunk-ND2GUHAM-DjMFJZNr.js → chunk-ND2GUHAM-h5WBT7BK.js} +1 -1
- package/dist/web/assets/{chunk-QZHKN3VN-odAhWIp4.js → chunk-QZHKN3VN-Cdzk46MK.js} +1 -1
- package/dist/web/assets/{circle-alert-IhLKVEi9.js → circle-alert-OKyZ9U2p.js} +1 -1
- package/dist/web/assets/classDiagram-4FO5ZUOK-BeJctdRx.js +1 -0
- package/dist/web/assets/classDiagram-v2-Q7XG4LA2-BeJctdRx.js +1 -0
- package/dist/web/assets/{code-block-OCS4YCEC-4ofbxqu2.js → code-block-OCS4YCEC-VMJOsrkF.js} +1 -1
- package/dist/web/assets/{confirm-dialog-Amksh2QM.js → confirm-dialog-BAnxa2C9.js} +1 -1
- package/dist/web/assets/{cose-bilkent-S5V4N54A-Ds62_zKQ.js → cose-bilkent-S5V4N54A-CbFey2pd.js} +1 -1
- package/dist/web/assets/{dagre-BM42HDAG-De9CyhMh.js → dagre-BM42HDAG-Bd2eIyf3.js} +1 -1
- package/dist/web/assets/{diagram-2AECGRRQ-Db7DRtzA.js → diagram-2AECGRRQ-CXONvVnW.js} +1 -1
- package/dist/web/assets/{diagram-5GNKFQAL-DXeGI1-M.js → diagram-5GNKFQAL-B2E90mVs.js} +1 -1
- package/dist/web/assets/{diagram-KO2AKTUF-Llle6qEC.js → diagram-KO2AKTUF-ByaC99pb.js} +1 -1
- package/dist/web/assets/{diagram-LMA3HP47-BcK1LGRh.js → diagram-LMA3HP47-DwVBF2fn.js} +1 -1
- package/dist/web/assets/{diagram-OG6HWLK6-0_sJ3YRD.js → diagram-OG6HWLK6-FWRddceo.js} +1 -1
- package/dist/web/assets/{erDiagram-TEJ5UH35-BjT0k23c.js → erDiagram-TEJ5UH35-ye6i3SGj.js} +1 -1
- package/dist/web/assets/{flowDiagram-I6XJVG4X-kaKS6P_m.js → flowDiagram-I6XJVG4X-B6l7qTcg.js} +1 -1
- package/dist/web/assets/folder-B0m3OL2U.js +1 -0
- package/dist/web/assets/folder-picker-D5XrSfLA.js +1 -0
- package/dist/web/assets/{ganttDiagram-6RSMTGT7-CW8IoCY6.js → ganttDiagram-6RSMTGT7-BCCqDrep.js} +1 -1
- package/dist/web/assets/{gitGraphDiagram-PVQCEYII-C5-QVJMh.js → gitGraphDiagram-PVQCEYII-Ca4ANaSw.js} +1 -1
- package/dist/web/assets/index-C4twOgZR.css +1 -0
- package/dist/web/assets/{index-Du7RXa9t.js → index-C9hQg1KT.js} +4 -4
- package/dist/web/assets/{index-Bd5HU-dB.js → index-DbO4YyUv.js} +6 -6
- package/dist/web/assets/{infoDiagram-5YYISTIA-CG7QnPme.js → infoDiagram-5YYISTIA-D1V1Tezr.js} +1 -1
- package/dist/web/assets/{input-BxcpVmsb.js → input-Dqnd4oTj.js} +1 -1
- package/dist/web/assets/{ishikawaDiagram-YF4QCWOH-DitLiYai.js → ishikawaDiagram-YF4QCWOH-DnGiJn9p.js} +1 -1
- package/dist/web/assets/{journeyDiagram-JHISSGLW-EKXFhiai.js → journeyDiagram-JHISSGLW-QFxbLfhN.js} +1 -1
- package/dist/web/assets/{kanban-definition-UN3LZRKU-Ckbr1P9R.js → kanban-definition-UN3LZRKU-BA2nBc7B.js} +1 -1
- package/dist/web/assets/{layers-Dqjek9Kd.js → layers-CfFYGUtI.js} +1 -1
- package/dist/web/assets/{linear-HA2k3O-l.js → linear-DpASQZmA.js} +1 -1
- package/dist/web/assets/{loader-circle-B4v8mirO.js → loader-circle-B5Lfi46Y.js} +1 -1
- package/dist/web/assets/log-adapter-CjgRCCYG.js +1 -0
- package/dist/web/assets/{mermaid-NOHMQCX5-C2N-Y-YP.js → mermaid-NOHMQCX5-7FmPQynq.js} +60 -60
- package/dist/web/assets/{message-square-B-2bz9LU.js → message-square-CEefL0sf.js} +1 -1
- package/dist/web/assets/{mindmap-definition-RKZ34NQL-ByCTUtXz.js → mindmap-definition-RKZ34NQL-C7QuD-ms.js} +1 -1
- package/dist/web/assets/modal-CAB_bs-c.js +1 -0
- package/dist/web/assets/{pencil-DzjmtIoi.js → pencil-B__GQn9r.js} +1 -1
- package/dist/web/assets/{pieDiagram-4H26LBE5-DeQnXQoJ.js → pieDiagram-4H26LBE5-Bf5diCKb.js} +1 -1
- package/dist/web/assets/{quadrantDiagram-W4KKPZXB--ocdxSbH.js → quadrantDiagram-W4KKPZXB-BMbcPnH3.js} +1 -1
- package/dist/web/assets/{requirementDiagram-4Y6WPE33-CJq21gDX.js → requirementDiagram-4Y6WPE33-CUPvJXMk.js} +1 -1
- package/dist/web/assets/{rotate-ccw-BhUVdZv6.js → rotate-ccw-5d-eMwsw.js} +1 -1
- package/dist/web/assets/{sankeyDiagram-5OEKKPKP-U373GNMv.js → sankeyDiagram-5OEKKPKP-C77g6vmK.js} +1 -1
- package/dist/web/assets/{select-CCf5nwYs.js → select-BJfNuuIV.js} +1 -1
- package/dist/web/assets/{sequenceDiagram-3UESZ5HK-BuH8el8s.js → sequenceDiagram-3UESZ5HK-xGOV8CdQ.js} +1 -1
- package/dist/web/assets/{stateDiagram-AJRCARHV-CqZ_L1ch.js → stateDiagram-AJRCARHV-Bc0piegy.js} +1 -1
- package/dist/web/assets/stateDiagram-v2-BHNVJYJU-CiRT9t6d.js +1 -0
- package/dist/web/assets/{switch-DsjSr4nv.js → switch-bLlDOWNp.js} +1 -1
- package/dist/web/assets/{terminal-JXRig8oL.js → terminal-Bh2qSv0U.js} +1 -1
- package/dist/web/assets/{textarea-BzeEPT1A.js → textarea-BcVRpxhF.js} +1 -1
- package/dist/web/assets/{timeline-definition-PNZ67QCA-BIrIbCOG.js → timeline-definition-PNZ67QCA-CcACRt_V.js} +1 -1
- package/dist/web/assets/trash-2-8Pu6lwnW.js +1 -0
- package/dist/web/assets/{upload-BwkqnAVE.js → upload-DNwyW_bv.js} +1 -1
- package/dist/web/assets/{use-profiles-DcyUHq0p.js → use-profiles-BIqkQu69.js} +1 -1
- package/dist/web/assets/{use-providers-BWgjPVX8.js → use-providers-BOyY0DcV.js} +1 -1
- package/dist/web/assets/{vennDiagram-CIIHVFJN-Dmk1mluX.js → vennDiagram-CIIHVFJN-BC9RHBQ5.js} +1 -1
- package/dist/web/assets/{wardley-L42UT6IY-CEY4M7Op.js → wardley-L42UT6IY-BgPj73Dc.js} +1 -1
- package/dist/web/assets/{wardleyDiagram-YWT4CUSO-CiK-Q213.js → wardleyDiagram-YWT4CUSO-PbfDUndy.js} +1 -1
- package/dist/web/assets/{xychartDiagram-2RQKCTM6-C5rj3Hpu.js → xychartDiagram-2RQKCTM6-D87KYJUM.js} +1 -1
- package/dist/web/index.html +2 -2
- package/node_modules/@agent-tower/shared/dist/types.d.ts +41 -1
- package/node_modules/@agent-tower/shared/dist/types.d.ts.map +1 -1
- package/node_modules/@agent-tower/shared/dist/types.js +8 -0
- package/node_modules/@agent-tower/shared/dist/types.js.map +1 -1
- package/node_modules/@prisma/client/.prisma/client/edge.js +21 -6
- package/node_modules/@prisma/client/.prisma/client/index-browser.js +14 -0
- package/node_modules/@prisma/client/.prisma/client/index.d.ts +1789 -211
- package/node_modules/@prisma/client/.prisma/client/index.js +21 -6
- package/node_modules/@prisma/client/.prisma/client/package.json +1 -1
- package/node_modules/@prisma/client/.prisma/client/schema.prisma +34 -14
- package/node_modules/@prisma/client/.prisma/client/wasm.js +14 -0
- package/package.json +1 -1
- package/prisma/migrations/20260618000000_add_conversations/migration.sql +79 -0
- package/prisma/schema.prisma +22 -2
- package/dist/web/assets/AgentDemoPage-DAdN5g19.js +0 -1
- package/dist/web/assets/NotificationSettingsPage-C2KeYegv.js +0 -1
- package/dist/web/assets/ProfileSettingsPage-CVOCVwVK.js +0 -3
- package/dist/web/assets/ProjectKanbanPage-J_5GxZQ7.js +0 -90
- package/dist/web/assets/ProjectSettingsPage-CP3V8oAJ.js +0 -2
- package/dist/web/assets/TeamSettingsPage-BHE2x82g.js +0 -1
- package/dist/web/assets/channel-BLjA9Brq.js +0 -1
- package/dist/web/assets/check-DyTLNLlk.js +0 -1
- package/dist/web/assets/classDiagram-4FO5ZUOK-DHqakOiv.js +0 -1
- package/dist/web/assets/classDiagram-v2-Q7XG4LA2-DHqakOiv.js +0 -1
- package/dist/web/assets/folder-picker-CbAfVBHD.js +0 -1
- package/dist/web/assets/index-LbQD7FZK.css +0 -1
- package/dist/web/assets/log-adapter-CtvxzS4j.js +0 -1
- package/dist/web/assets/modal-C6m1dmin.js +0 -1
- package/dist/web/assets/stateDiagram-v2-BHNVJYJU-DkD_6IX-.js +0 -1
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{u as G,r as a,m as ce,j as e,X as ee,S as T,I as de,d as _,n as Q,g as K,B as A,J as ue,t as W}from"./index-Bd5HU-dB.js";import{F as $,a as H,b as me,u as xe,c as pe,d as he,e as fe,f as ge}from"./folder-picker-CbAfVBHD.js";import{P as te,a as je,T as ve,M as X}from"./modal-C6m1dmin.js";import{S as be}from"./SettingsMasterDetail-Cx9Ylq9N.js";import{R as Ne}from"./rotate-ccw-BhUVdZv6.js";import"./chevron-right-BezhysME.js";import"./loader-circle-B4v8mirO.js";import"./circle-alert-IhLKVEi9.js";import"./check-DyTLNLlk.js";import"./arrow-left-DcUokonk.js";function ye({value:t,onChange:j,repoPath:v,placeholder:P}){const{t:l}=G(),[i,c]=a.useState(""),[x,p]=a.useState([]),[b,n]=a.useState(!1),[d,N]=a.useState(-1),u=a.useRef(null),g=a.useRef(null),k=a.useRef(void 0),I=a.useCallback(async s=>{if(!v||!s){p([]),n(!1);return}try{const o=await ce.get("/filesystem/complete",{params:{basePath:v,prefix:s}});p(o.results),n(o.results.length>0),N(-1)}catch{p([]),n(!1)}},[v]);a.useEffect(()=>{if(clearTimeout(k.current),!i){p([]),n(!1);return}return k.current=setTimeout(()=>I(i),200),()=>clearTimeout(k.current)},[i,I]),a.useEffect(()=>{const s=o=>{g.current&&!g.current.contains(o.target)&&u.current&&!u.current.contains(o.target)&&n(!1)};return document.addEventListener("mousedown",s),()=>document.removeEventListener("mousedown",s)},[]);const w=s=>{const o=s.trim();!o||t.includes(o)||(j([...t,o]),c(""),n(!1),u.current?.focus())},z=s=>{j(t.filter((o,S)=>S!==s))},D=s=>{s.type==="directory"?(c(s.path),u.current?.focus()):w(s.path)},C=(s,o)=>{o.stopPropagation(),w(s.path.replace(/\/$/,""))},F=s=>{s.nativeEvent.isComposing||s.nativeEvent.keyCode===229||(b&&x.length>0?s.key==="ArrowDown"?(s.preventDefault(),N(o=>Math.min(o+1,x.length-1))):s.key==="ArrowUp"?(s.preventDefault(),N(o=>Math.max(o-1,-1))):s.key==="Enter"?(s.preventDefault(),d>=0?D(x[d]):w(i)):s.key==="Escape"&&n(!1):s.key==="Enter"&&(s.preventDefault(),w(i)))};return e.jsxs("div",{children:[t.length>0&&e.jsx("div",{className:"border border-neutral-200 rounded-lg mb-2 divide-y divide-neutral-100",children:t.map((s,o)=>e.jsxs("div",{className:"flex items-center gap-2 px-3 py-1.5 group",children:[s.includes(".")&&!s.endsWith("/")?e.jsx($,{size:14,className:"text-neutral-400 shrink-0"}):e.jsx(H,{size:14,className:"text-amber-500 shrink-0"}),e.jsx("span",{className:"text-sm font-mono text-neutral-700 truncate flex-1",children:s}),e.jsx("button",{onClick:()=>z(o),className:"p-0.5 text-neutral-300 hover:text-red-500 opacity-0 group-hover:opacity-100 transition-opacity shrink-0",children:e.jsx(ee,{size:14})})]},s))}),e.jsxs("div",{className:"relative",children:[e.jsxs("div",{className:"flex gap-2",children:[e.jsx("input",{ref:u,type:"text",value:i,onChange:s=>c(s.target.value),onKeyDown:F,onFocus:()=>{i&&x.length>0&&n(!0)},placeholder:P??l("输入文件路径..."),className:"flex-1 px-3 py-2 border border-neutral-200 rounded-lg text-sm font-mono focus:outline-none focus:ring-1 focus:ring-neutral-300"}),e.jsxs("button",{onClick:()=>w(i),disabled:!i.trim(),className:"flex items-center gap-1 px-3 py-2 text-sm bg-neutral-900 text-white rounded-lg hover:bg-neutral-800 disabled:opacity-30 disabled:cursor-not-allowed transition-colors",children:[e.jsx(te,{size:14}),e.jsx("span",{children:l("添加")})]})]}),b&&e.jsx("div",{ref:g,className:"absolute z-50 left-0 right-0 mt-1 bg-white border border-neutral-200 rounded-lg shadow-lg max-h-[200px] overflow-y-auto",children:x.map((s,o)=>e.jsxs("button",{onClick:()=>D(s),className:`w-full flex items-center gap-2 px-3 py-1.5 text-sm text-left hover:bg-neutral-50 transition-colors ${o===d?"bg-neutral-100":""}`,children:[s.type==="directory"?e.jsx(H,{size:14,className:"text-amber-500 shrink-0"}):e.jsx($,{size:14,className:"text-neutral-400 shrink-0"}),e.jsx("span",{className:"font-mono text-neutral-700 truncate flex-1",children:s.path}),s.type==="directory"&&e.jsx("span",{onClick:S=>C(s,S),className:"p-0.5 text-neutral-300 hover:text-emerald-600 shrink-0",title:l("添加此目录"),children:e.jsx(me,{size:14})})]},s.path))})]})]})}function Pe({value:t,onChange:j}){const{t:v}=G(),[P,l]=a.useState(""),[i,c]=a.useState(""),x=()=>{const n=P.trim(),d=i.trim();!n||!d||(j([...t,{name:n,command:d}]),l(""),c(""))},p=n=>{j(t.filter((d,N)=>N!==n))},b=n=>{n.key==="Enter"&&!n.nativeEvent.isComposing&&n.nativeEvent.keyCode!==229&&(n.preventDefault(),x())};return e.jsxs("div",{children:[t.length>0&&e.jsx("div",{className:"border border-neutral-200 rounded-lg mb-2 divide-y divide-neutral-100",children:t.map((n,d)=>e.jsxs("div",{className:"flex items-center gap-3 px-3 py-2 group",children:[e.jsx("span",{className:"text-sm font-medium text-neutral-700 w-28 shrink-0 truncate",children:n.name}),e.jsx("span",{className:"text-sm font-mono text-neutral-500 flex-1 truncate",children:n.command}),e.jsx("button",{onClick:()=>p(d),className:"p-0.5 text-neutral-300 hover:text-red-500 opacity-0 group-hover:opacity-100 transition-opacity shrink-0",children:e.jsx(ee,{size:14})})]},d))}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx("input",{type:"text",value:P,onChange:n=>l(n.target.value),onKeyDown:b,placeholder:v("名称"),className:"w-28 shrink-0 px-3 py-2 border border-neutral-200 rounded-lg text-sm focus:outline-none focus:ring-1 focus:ring-neutral-300"}),e.jsx("input",{type:"text",value:i,onChange:n=>c(n.target.value),onKeyDown:b,placeholder:v("命令"),className:"flex-1 px-3 py-2 border border-neutral-200 rounded-lg text-sm font-mono focus:outline-none focus:ring-1 focus:ring-neutral-300"}),e.jsxs("button",{onClick:x,disabled:!P.trim()||!i.trim(),className:"flex items-center gap-1 px-3 py-2 text-sm bg-neutral-900 text-white rounded-lg hover:bg-neutral-800 disabled:opacity-30 disabled:cursor-not-allowed transition-colors shrink-0",children:[e.jsx(te,{size:14}),e.jsx("span",{children:v("添加")})]})]})]})}function V(t){return t?t.split(",").map(j=>j.trim()).filter(Boolean):[]}function Y(t){if(!t)return[];try{return JSON.parse(t)}catch{return[]}}function Z(t){return typeof t.color!="string"||t.color.trim()===""?"bg-muted-foreground":t.color.startsWith("bg-")?t.color:t.color.startsWith("text-")?t.color.replace("text-","bg-"):"bg-muted-foreground"}function ze(){const{t}=G(),{data:j,isLoading:v}=xe({limit:100,includeArchived:!0}),P=pe(),l=he(),i=fe(),[c,x]=a.useState(""),[p,b]=a.useState(null),[n,d]=a.useState({copyFiles:[],setupScript:"",quickCommands:[]}),[N,u]=a.useState(!1),[g,k]=a.useState(null),[I,w]=a.useState(!1),[z,D]=a.useState(!1),[C,F]=a.useState(!1),[s,o]=a.useState(!1),[S,q]=a.useState(""),[se,J]=a.useState(!1),R=j?.data??[],h=a.useMemo(()=>R.filter(r=>!r.archivedAt),[R]),E=a.useMemo(()=>R.filter(r=>r.archivedAt),[R]),f=h.find(r=>r.id===c),M=a.useMemo(()=>R.find(r=>r.id===g)??null,[g,R]);if(a.useEffect(()=>{!c&&h.length>0&&x(h[0].id)},[h,c]),a.useEffect(()=>{if(p){h.some(r=>r.id===p)&&(x(p),b(null));return}c&&!h.some(r=>r.id===c)&&(x(h[0]?.id??""),u(!1))},[h,p,c]),a.useEffect(()=>{f&&!N&&d({copyFiles:V(f.copyFiles),setupScript:f.setupScript??"",quickCommands:Y(f.quickCommands)})},[f,N]),v)return e.jsx(T,{className:"max-w-5xl",children:e.jsx(de,{})});if(R.length===0)return e.jsxs(T,{className:"max-w-5xl",children:[e.jsx(_,{title:t("项目配置")}),e.jsx(Q,{message:t("暂无项目,请先创建项目")})]});const re=()=>{c&&P.mutate({id:c,copyFiles:n.copyFiles.length>0?n.copyFiles.join(", "):null,setupScript:n.setupScript.trim()||null,quickCommands:n.quickCommands.length>0?JSON.stringify(n.quickCommands):null},{onSuccess:()=>u(!1)})},ne=r=>{b(null),x(r),u(!1),J(!0)},ae=()=>{f&&(k(f.id),F(!1),o(!1),w(!0))},O=()=>{l.isPending||(w(!1),k(null),F(!1),o(!1))},oe=async()=>{if(g)try{await l.mutateAsync({id:g,deleteRepo:C}),W.success(t(C?"项目已删除,并清理了本地文件":"项目已删除")),u(!1),O()}catch{}},ie=r=>{const m=E.find(y=>y.id===r);k(r),q(m?.repoDeletedAt?m.repoPath:""),D(!0)},B=()=>{i.isPending||(D(!1),k(null),q(""))},le=async()=>{if(!(!g||M?.repoDeletedAt&&!S.trim()))try{const m=await i.mutateAsync({id:g,repoPath:S.trim()||void 0});W.success(t("项目已恢复"));for(const y of m.warnings)W.warning(y);u(!1),b(m.project.id),x(m.project.id),B()}catch{}},U=M?.name??t("this project"),L=!!M?.repoDeletedAt;return e.jsxs(e.Fragment,{children:[e.jsxs(T,{className:"max-w-5xl",children:[e.jsx(_,{title:t("项目配置")}),h.length===0&&E.length===0?e.jsx(Q,{message:t("暂无项目,请先创建项目")}):e.jsx(be,{items:h,selectedId:c,onSelectItem:ne,getItemId:r=>r.id,mobileShowDetail:se,onMobileBack:()=>J(!1),renderListItem:(r,m)=>e.jsxs(e.Fragment,{children:[e.jsx("span",{className:K("h-2 w-2 rounded-full shrink-0",m?"bg-primary-foreground/60":Z(r))}),e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsx("div",{className:"truncate text-[13px] font-medium",children:r.name}),e.jsx("div",{className:K("truncate text-[11px] font-mono",m?"text-primary-foreground/70":"text-muted-foreground"),children:r.repoPath.split("/").pop()})]})]}),renderListFooter:E.length>0?()=>e.jsxs("div",{className:"pt-3 mt-2 border-t border-border",children:[e.jsxs("div",{className:"flex items-center gap-2 px-3 mb-1",children:[e.jsx("span",{className:"text-[11px] font-medium text-muted-foreground",children:t("已删除")}),e.jsx("span",{className:"rounded-full bg-muted px-1.5 py-0.5 text-[10px] font-medium text-muted-foreground",children:E.length})]}),E.map(r=>e.jsxs("div",{className:"flex items-center justify-between gap-2 rounded-lg px-3 py-2 text-muted-foreground",children:[e.jsx("div",{className:"min-w-0 flex-1",children:e.jsx("div",{className:"truncate text-[12px]",children:r.name})}),e.jsx("button",{onClick:()=>ie(r.id),disabled:i.isPending,className:"shrink-0 text-[11px] hover:text-foreground transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/60","aria-label":t("恢复项目"),children:e.jsx(Ne,{size:12})})]},r.id))]}):void 0,renderDetail:r=>r?e.jsxs("div",{className:"p-5",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[e.jsx("span",{className:K("h-2.5 w-2.5 rounded-full shrink-0",Z(r))}),e.jsx("h3",{className:"text-base font-semibold text-foreground",children:r.name})]}),e.jsx("p",{className:"text-[11px] text-muted-foreground font-mono mb-5",children:r.repoPath}),e.jsxs("div",{className:"divide-y divide-border/60",children:[e.jsxs("div",{className:"py-5 first:pt-0",children:[e.jsxs("div",{className:"mb-3",children:[e.jsx("h3",{className:"text-[13px] font-medium text-foreground",children:t("自动复制文件")}),e.jsx("p",{className:"text-[11px] text-muted-foreground mt-0.5",children:t("创建 worktree 时自动从主仓库复制的文件或目录,适用于 .env、node_modules 等不在 git 管理中的文件。支持 glob。")})]}),e.jsx(ye,{value:n.copyFiles,onChange:m=>{d(y=>({...y,copyFiles:m})),u(!0)},repoPath:r.repoPath})]}),e.jsxs("div",{className:"py-5",children:[e.jsxs("div",{className:"mb-3",children:[e.jsx("h3",{className:"text-[13px] font-medium text-foreground",children:t("Setup 脚本")}),e.jsx("p",{className:"text-[11px] text-muted-foreground mt-0.5",children:t("创建 worktree 后自动执行的命令,每行一条。在 worktree 目录下执行,单条超时 5 分钟。")})]}),e.jsx("textarea",{value:n.setupScript,onChange:m=>{d(y=>({...y,setupScript:m.target.value})),u(!0)},placeholder:`pnpm install
|
|
2
|
-
pnpm run setup`,rows:4,className:"w-full rounded-lg border border-input bg-muted/50 px-3 py-2 text-sm font-mono transition-colors focus:border-ring focus:bg-background focus:outline-none resize-none"})]}),e.jsxs("div",{className:"py-5",children:[e.jsxs("div",{className:"mb-3",children:[e.jsx("h3",{className:"text-[13px] font-medium text-foreground",children:t("常用命令")}),e.jsx("p",{className:"text-[11px] text-muted-foreground mt-0.5",children:t("在终端中可快速执行的命令,不会自动运行。")})]}),e.jsx(Pe,{value:n.quickCommands,onChange:m=>{d(y=>({...y,quickCommands:m})),u(!0)}})]})]}),e.jsx("div",{className:"mt-2 rounded-lg border border-destructive/30 bg-destructive/10 p-4",children:e.jsxs("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between",children:[e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx(je,{size:15,className:"text-destructive mt-0.5 shrink-0","aria-hidden":"true"}),e.jsxs("div",{children:[e.jsx("div",{className:"text-[13px] font-medium text-foreground",children:t("删除项目")}),e.jsx("p",{className:"text-[11px] text-muted-foreground mt-0.5",children:t("项目将从默认列表隐藏,历史记录保留。可选同时删除本地文件。")})]})]}),e.jsxs(A,{size:"sm",variant:"destructive",className:"shrink-0",onClick:ae,disabled:l.isPending||i.isPending,children:[e.jsx(ve,{size:13}),t("删除项目")]})]})}),N&&e.jsx(ue,{saving:P.isPending,onSave:re,onCancel:()=>{f&&d({copyFiles:V(f.copyFiles),setupScript:f.setupScript??"",quickCommands:Y(f.quickCommands)}),u(!1)},className:"-mx-5"})]}):e.jsx("div",{className:"py-16 text-center text-sm text-muted-foreground",children:h.length>0?t("选择一个项目查看配置"):t("当前没有可配置的项目")})})]}),e.jsx(X,{isOpen:I,onClose:O,title:t("Delete Project"),action:e.jsxs(e.Fragment,{children:[e.jsx(A,{variant:"outline",onClick:O,disabled:l.isPending,children:t("Cancel")}),e.jsx(A,{variant:"destructive",onClick:oe,disabled:l.isPending||C&&!s,children:l.isPending?t("Deleting..."):t("Delete Project")})]}),children:e.jsxs("div",{className:"space-y-4",children:[e.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:t("项目「{title}」将从默认项目列表隐藏,但历史任务、workspace 和会话记录仍会保留。",{title:U})}),e.jsxs("label",{className:"flex items-start gap-3 rounded-lg border border-border bg-muted px-3 py-3",children:[e.jsx("input",{type:"checkbox",checked:C,onChange:r=>{F(r.target.checked),r.target.checked||o(!1)},className:"mt-0.5 h-4 w-4 rounded border-border accent-primary"}),e.jsxs("div",{children:[e.jsx("p",{className:"text-sm font-medium text-foreground",children:t("同时删除本地项目文件")}),e.jsx("p",{className:"mt-1 text-xs text-muted-foreground",children:t("勾选后会删除 repoPath 指向的本地仓库目录,并禁用代码/Git 相关能力。")})]})]}),C&&e.jsxs("div",{className:"rounded-lg border border-destructive/30 bg-destructive/10 px-3 py-3",children:[e.jsx("p",{className:"text-sm font-medium text-destructive",children:t("勾选后会连项目文件一起删除,请谨慎选择。")}),e.jsx("p",{className:"mt-1 text-xs text-muted-foreground",children:t("恢复该项目时需要重新绑定一个有效的 Git 仓库路径。")}),e.jsxs("label",{className:"mt-3 flex items-start gap-2 text-xs text-foreground",children:[e.jsx("input",{type:"checkbox",checked:s,onChange:r=>o(r.target.checked),className:"mt-0.5 h-4 w-4 rounded border-border accent-primary"}),e.jsx("span",{children:t("我已确认这会删除本地项目文件")})]})]}),l.isError&&e.jsx("p",{className:"text-xs text-destructive",children:l.error instanceof Error?l.error.message:t("Failed to delete project")})]})}),e.jsx(X,{isOpen:z,onClose:B,title:t("Restore Project"),action:e.jsxs(e.Fragment,{children:[e.jsx(A,{variant:"outline",onClick:B,disabled:i.isPending,children:t("Cancel")}),e.jsx(A,{onClick:le,disabled:i.isPending||L&&!S.trim(),children:i.isPending?t("Restoring..."):t("Restore Project")})]}),children:e.jsxs("div",{className:"space-y-4",children:[e.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:L?t("项目「{title}」的本地仓库文件已删除。恢复前需要重新绑定一个有效的 Git 仓库路径。",{title:U}):t("恢复后,项目会重新出现在默认项目列表中。")}),L&&e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-medium text-foreground mb-1.5",children:t("Repository Path")}),e.jsx(ge,{value:S,onChange:q}),e.jsx("p",{className:"mt-2 text-xs text-muted-foreground",children:t("Agent Tower 会尽量校验仓库 identity;如果 remote URL 或目录名不同,会给出警告但允许继续。")})]}),i.isError&&e.jsx("p",{className:"text-xs text-destructive",children:i.error instanceof Error?i.error.message:t("Failed to restore project")})]})})]})}export{ze as ProjectSettingsPage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{u as Oe,s as gt,v as bt,w as ft,x as ht,y as vt,z as jt,A as yt,C as Pt,r as l,j as e,S as Ee,D as Nt,d as kt,g as B,B as p,n as Ae,t as c}from"./index-Bd5HU-dB.js";import{C as Me}from"./confirm-dialog-Amksh2QM.js";import{T as ue,P as O,M as Tt}from"./modal-C6m1dmin.js";import{S as R}from"./select-CCf5nwYs.js";import{M as U}from"./MemberAvatar-b_WKLu8w.js";import{u as wt}from"./use-providers-BWgjPVX8.js";import{A as _e}from"./arrow-left-DcUokonk.js";import{C as Ct}from"./chevron-up-DtQ85g91.js";import{C as It}from"./chevron-down-DuDzRplH.js";import"./check-DyTLNLlk.js";const o="/avatars/presets",St=[{id:"developer",label:"Developer",src:`${o}/avatar-preset-01-developer.png`},{id:"architect",label:"Architect",src:`${o}/avatar-preset-02-architect.png`},{id:"tester",label:"Tester",src:`${o}/avatar-preset-03-tester.png`},{id:"devops",label:"DevOps",src:`${o}/avatar-preset-04-devops.png`},{id:"data-scientist",label:"Data scientist",src:`${o}/avatar-preset-05-data-scientist.png`},{id:"frontend",label:"Frontend",src:`${o}/avatar-preset-06-frontend.png`},{id:"backend",label:"Backend",src:`${o}/avatar-preset-07-backend.png`},{id:"security",label:"Security",src:`${o}/avatar-preset-08-security.png`},{id:"project-manager",label:"Project manager",src:`${o}/avatar-preset-09-project-manager.png`},{id:"product-manager",label:"Product manager",src:`${o}/avatar-preset-10-product-manager.png`},{id:"scrum-master",label:"Scrum master",src:`${o}/avatar-preset-11-scrum-master.png`},{id:"tech-lead",label:"Tech lead",src:`${o}/avatar-preset-12-tech-lead.png`},{id:"coordinator",label:"Coordinator",src:`${o}/avatar-preset-13-coordinator.png`},{id:"mentor",label:"Mentor",src:`${o}/avatar-preset-14-mentor.png`},{id:"reviewer",label:"Reviewer",src:`${o}/avatar-preset-15-reviewer.png`},{id:"ui-designer",label:"UI designer",src:`${o}/avatar-preset-16-ui-designer.png`},{id:"ux-researcher",label:"UX researcher",src:`${o}/avatar-preset-17-ux-researcher.png`},{id:"documenter",label:"Documenter",src:`${o}/avatar-preset-18-documenter.png`},{id:"translator",label:"Translator",src:`${o}/avatar-preset-19-translator.png`},{id:"analyst",label:"Analyst",src:`${o}/avatar-preset-20-analyst.png`},{id:"consultant",label:"Consultant",src:`${o}/avatar-preset-21-consultant.png`},{id:"creative-director",label:"Creative director",src:`${o}/avatar-preset-22-creative-director.png`},{id:"support",label:"Support",src:`${o}/avatar-preset-23-support.png`},{id:"assistant",label:"Assistant",src:`${o}/avatar-preset-24-assistant.png`},{id:"robot",label:"Robot",src:`${o}/avatar-preset-25-robot.png`}],Re="/api",Et=2*1024*1024,At=[],Mt=[],_t=[],De=[{key:"readRoom",label:"读房间"},{key:"postRoomMessage",label:"发房间消息"},{key:"mentionMembers",label:"提及成员"},{key:"stopMemberWork",label:"停止成员工作"},{key:"markReadyForReview",label:"标记可审查"},{key:"readFiles",label:"读文件"},{key:"writeFiles",label:"写文件"},{key:"runCommands",label:"运行命令"},{key:"readDiff",label:"读 diff"},{key:"mergeWorkspace",label:"合并工作区"}],ze={readRoom:!1,postRoomMessage:!1,mentionMembers:!1,stopMemberWork:!1,markReadyForReview:!1,readFiles:!1,writeFiles:!1,runCommands:!1,readDiff:!1,mergeWorkspace:!1},Fe=[{value:"none",label:"无"},{value:"shared",label:"共享"},{value:"dedicated",label:"独占"}],Ft=[{value:"MENTION_ONLY",label:"仅提及"},{value:"USER_MESSAGES",label:"所有用户消息"}],$t=[{value:"new_per_request",label:"每次新会话"},{value:"resume_last",label:"复用上次会话"}],Ot=[{value:"own_only",label:"仅自己队列"},{value:"team_pending",label:"全队列待处理"}];function Y(){return{name:"",aliasesText:"",providerId:"",rolePrompt:"",capabilities:{...ze},workspacePolicy:"none",triggerPolicy:"MENTION_ONLY",sessionPolicy:"new_per_request",queueManagementPolicy:"own_only",avatar:""}}function xe(r){return{name:r.name,aliasesText:r.aliases.join(", "),providerId:r.providerId,rolePrompt:r.rolePrompt,capabilities:{...ze,...r.capabilities},workspacePolicy:r.workspacePolicy,triggerPolicy:r.triggerPolicy,sessionPolicy:r.sessionPolicy,queueManagementPolicy:r.queueManagementPolicy,avatar:r.avatar??""}}function q(){return{name:"",memberPresetIds:[]}}function pe(r){return{name:r.name,memberPresetIds:r.members?.map(i=>i.memberPresetId)??[]}}function Rt(r,i,d,m){if(d.filter(M=>M===m).length<=1)return r;const W=d.slice(0,i+1).filter(M=>M===m).length;return`${r} #${W}`}function Dt(r){return Array.from(new Set(r.split(/[\n,]/).map(i=>i.trim()).filter(Boolean)))}function zt(r){return r.trim()||null}function $e(r){return De.reduce((i,d)=>i+(r[d.key]?1:0),0)}function A(r,i){return r instanceof Error?r.message:i}function Lt(r){return["image/png","image/jpeg","image/webp"].includes(r.type)}async function Bt(r){const i=new FormData;i.append("file",r);const d=await fetch(`${Re}/attachments/upload`,{method:"POST",body:i});if(!d.ok){const m=await d.json().catch(()=>({}));throw new Error(m.error||m.message||`Upload failed (${d.status})`)}return d.json()}function G({title:r,error:i,isFetching:d,onRetry:m}){const{t:T}=Oe();return e.jsx("div",{role:"alert",className:"rounded-lg border border-destructive/30 bg-destructive/10 px-4 py-3 text-sm text-destructive",children:e.jsxs("div",{className:"flex items-start justify-between gap-3",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsx("div",{className:"font-medium",children:r}),e.jsx("div",{className:"mt-1 text-xs text-destructive/90",children:A(i,T("请稍后重试。"))})]}),e.jsx(p,{type:"button",size:"sm",variant:"outline",onClick:m,disabled:d,children:T(d?"加载中...":"重试")})]})})}function Kt(){const{t:r}=Oe(),{data:i,error:d,isError:m,isFetching:T,isLoading:W,refetch:M}=wt(),{data:Le,error:ge,isError:w,isFetching:be,isLoading:V,refetch:fe}=gt(),{data:Be,error:Ue,isError:D,isFetching:Ye,isLoading:H,refetch:qe}=bt(),Q=ft(),X=ht(),he=vt(),J=jt(),K=yt(),ve=Pt(),[Z,je]=l.useState("presets"),[C,ee]=l.useState("edit"),[f,te]=l.useState(null),[a,v]=l.useState(Y()),[ye,_]=l.useState(!1),[j,re]=l.useState(null),[Ge,se]=l.useState(!1),[Pe,Ne]=l.useState(!1),ke=l.useRef(null),[I,ae]=l.useState("edit"),[h,ne]=l.useState(null),[y,g]=l.useState(q()),[Te,P]=l.useState(!1),[N,oe]=l.useState(null),[we,F]=l.useState(!1),u=Le??At,b=Be??Mt,z=i??_t,$=l.useMemo(()=>new Map(u.map(t=>[t.id,t])),[u]),le=l.useMemo(()=>new Map(b.map(t=>[t.id,t])),[b]),We=l.useMemo(()=>{const t=z.map(({provider:s,availability:n})=>({value:s.id,label:s.name+(n.type==="NOT_FOUND"?r(" (不可用)"):""),disabled:n.type==="NOT_FOUND"}));return a.providerId&&!t.some(s=>s.value===a.providerId)&&t.unshift({value:a.providerId,label:`${a.providerId}${r(" (不可用)")}`,disabled:!0}),t},[a.providerId,z,r]),ie=f?$.get(f)??null:null,de=h?le.get(h)??null:null,Ve=l.useMemo(()=>new Map(z.map(({provider:t,availability:s})=>[t.id,t.name+(s.type==="NOT_FOUND"?r(" (不可用)"):"")])),[z,r]);if(l.useEffect(()=>{if(!(V||w||ye)){if(C==="create"){v(Y());return}if(f){const t=$.get(f);t&&v(xe(t));return}if(u.length>0){const t=u[0];te(t.id),ee("edit"),v(xe(t));return}ee("create"),te(null),v(Y())}},[$,ye,C,u,w,V,f]),l.useEffect(()=>{if(!(H||D||Te)){if(I==="create"){g(q());return}if(h){const t=le.get(h);t&&g(pe(t));return}if(b.length>0){const t=b[0];ne(t.id),ae("edit"),g(pe(t));return}ae("create"),ne(null),g(q())}},[h,le,Te,I,b,D,H]),W||V||H)return e.jsx(Ee,{className:"max-w-6xl",children:e.jsx(Nt,{cards:6})});const x=(t,s)=>{v(n=>({...n,[t]:s})),_(!0)},He=(t,s)=>{v(n=>({...n,capabilities:{...n.capabilities,[t]:s}})),_(!0)},Qe=t=>{x("avatar",t),se(!1)},Xe=()=>{x("avatar","")},Je=async t=>{const s=t.target.files?.[0];if(t.target.value="",!!s){if(!Lt(s)){c.error(r("仅支持 PNG、JPG、WebP 头像。"));return}if(s.size>Et){c.error(r("头像图片不能超过 2MB。"));return}Ne(!0);try{const n=await Bt(s);x("avatar",`${Re}${n.url}`),c.success(r("头像已上传"))}catch(n){c.error(A(n,r("头像上传失败")))}finally{Ne(!1)}}},S=(t,s)=>{ee(t),te(s?.id??null),v(s?xe(s):Y()),_(!1)},Ke=(t,s)=>{g(n=>({...n,[t]:s})),P(!0)},E=(t,s)=>{ae(t),ne(s?.id??null),g(s?pe(s):q()),P(!1)},Ze=async()=>{const t={name:a.name.trim(),aliases:Dt(a.aliasesText),providerId:a.providerId.trim(),rolePrompt:a.rolePrompt.trim(),capabilities:{...a.capabilities},workspacePolicy:a.workspacePolicy,triggerPolicy:a.triggerPolicy,sessionPolicy:a.sessionPolicy,queueManagementPolicy:a.queueManagementPolicy,avatar:zt(a.avatar)};try{if(C==="create"||!f){const s=await Q.mutateAsync(t);S("edit",s),c.success(r("已创建"))}else{const s=await X.mutateAsync({id:f,data:t});S("edit",s),c.success(r("已保存"))}}catch(s){c.error(A(s,r("保存失败")))}},et=async()=>{if(j)try{await he.mutateAsync(j.id),c.success(r("Deleted"));const t=u.filter(s=>s.id!==j.id);f===j.id&&(t.length>0?S("edit",t[0]):S("create",null)),re(null)}catch(t){c.error(A(t,r("删除失败")))}},tt=async()=>{const t={name:y.name.trim(),memberPresetIds:y.memberPresetIds};try{if(I==="create"||!h){const s=await J.mutateAsync(t);E("edit",s),c.success(r("已创建"))}else{const s=await K.mutateAsync({id:h,data:t});E("edit",s),c.success(r("已保存"))}}catch(s){c.error(A(s,r("保存失败")))}},rt=async()=>{if(N)try{await ve.mutateAsync(N.id),c.success(r("Deleted"));const t=b.filter(s=>s.id!==N.id);h===N.id&&(t.length>0?E("edit",t[0]):E("create",null)),oe(null)}catch(t){c.error(A(t,r("删除失败")))}},st=$e(a.capabilities),at=!!a.name.trim()&&!!a.providerId.trim()&&!!a.rolePrompt.trim()&&!m&&!w&&!Q.isPending&&!X.isPending,nt=!!y.name.trim()&&!D&&!w&&!J.isPending&&!K.isPending,ce=y.memberPresetIds.map(t=>$.get(t)).filter(t=>!!t),ot=t=>{_(!1),S("edit",t)},lt=()=>{_(!1),S("create",null)},it=t=>{P(!1),E("edit",t)},dt=()=>{P(!1),E("create",null)},ct=t=>{g(s=>({...s,memberPresetIds:[...s.memberPresetIds,t]})),P(!0)},mt=t=>{g(s=>({...s,memberPresetIds:s.memberPresetIds.filter((n,k)=>k!==t)})),P(!0)},Ce=(t,s)=>{g(n=>{const k=t+s;if(k<0||k>=n.memberPresetIds.length)return n;const me=[...n.memberPresetIds],[pt]=me.splice(t,1);return me.splice(k,0,pt),{...n,memberPresetIds:me}}),P(!0)},ut=t=>{ot(t),F(!0)},Ie=()=>{lt(),F(!0)},xt=t=>{it(t),F(!0)},Se=()=>{dt(),F(!0)},L=()=>F(!1);return e.jsxs(Ee,{className:"max-w-6xl",children:[e.jsx(kt,{title:r("团队协作设置"),actions:e.jsxs("div",{className:"inline-flex rounded-lg border border-border bg-muted/80 p-0.5",children:[e.jsx("button",{type:"button",onClick:()=>{je("presets"),L()},className:B("rounded-md px-3 py-1.5 text-[12px] font-medium transition-all",Z==="presets"?"bg-background text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"),children:r("成员预设")}),e.jsx("button",{type:"button",onClick:()=>{je("templates"),L()},className:B("rounded-md px-3 py-1.5 text-[12px] font-medium transition-all",Z==="templates"?"bg-background text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"),children:r("团队模板")})]})}),m&&e.jsx(G,{title:r("Provider 列表加载失败"),error:d,isFetching:T,onRetry:()=>{M()}}),Z==="presets"?we?e.jsxs("div",{className:"rounded-xl border border-border bg-white",children:[e.jsxs("div",{className:"flex items-center justify-between gap-3 border-b border-border/60 px-5 py-3",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsxs("button",{onClick:L,className:"flex items-center gap-1.5 text-xs text-muted-foreground hover:text-foreground transition-colors",children:[e.jsx(_e,{size:14}),r("返回")]}),e.jsx("span",{className:"text-neutral-200",children:"|"}),e.jsx("h3",{className:"text-[13px] font-semibold text-foreground",children:C==="create"?r("创建新预设"):ie?.name??r("编辑预设")})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[C==="edit"&&ie&&e.jsx("button",{onClick:()=>re(ie),className:"flex h-7 w-7 items-center justify-center rounded-md text-muted-foreground hover:text-destructive hover:bg-destructive/10 transition-colors",title:r("删除"),children:e.jsx(ue,{size:14})}),e.jsx(p,{size:"sm",onClick:Ze,disabled:!at,children:Q.isPending||X.isPending?r("保存中..."):r(C==="create"?"创建":"保存")})]})]}),e.jsxs("div",{className:"p-5 space-y-5",children:[e.jsxs("div",{className:"flex items-start gap-4",children:[e.jsxs("div",{className:"shrink-0",children:[e.jsx(U,{name:a.name||r("Agent"),avatar:a.avatar,className:"h-14 w-14 text-sm"}),e.jsxs("div",{className:"flex justify-center gap-1 mt-2",children:[e.jsx("button",{type:"button",onClick:()=>se(!0),className:"text-[10px] text-muted-foreground hover:text-foreground transition-colors",children:r("选择")}),e.jsx("span",{className:"text-[10px] text-muted-foreground/60",children:"·"}),e.jsx("button",{type:"button",onClick:()=>ke.current?.click(),disabled:Pe,className:"text-[10px] text-muted-foreground hover:text-foreground transition-colors",children:r(Pe?"...":"上传")}),a.avatar.trim()&&e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"text-[10px] text-muted-foreground/60",children:"·"}),e.jsx("button",{type:"button",onClick:Xe,className:"text-[10px] text-muted-foreground hover:text-destructive transition-colors",children:r("清除")})]})]}),e.jsx("input",{ref:ke,type:"file",accept:"image/png,image/jpeg,image/webp",className:"hidden",onChange:Je})]}),e.jsxs("div",{className:"flex-1 min-w-0 grid gap-3 sm:grid-cols-2",children:[e.jsxs("div",{children:[e.jsx("label",{className:"block text-[12px] font-medium text-muted-foreground mb-1",children:r("名称")}),e.jsx("input",{value:a.name,onChange:t=>x("name",t.target.value),className:"w-full rounded-lg border border-border bg-background px-3 py-2 text-sm transition-colors focus:border-ring focus:outline-none"})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-[12px] font-medium text-muted-foreground mb-1",children:r("别名")}),e.jsx("input",{value:a.aliasesText,onChange:t=>x("aliasesText",t.target.value),placeholder:r("alice, a, reviewer"),className:"w-full rounded-lg border border-border bg-background px-3 py-2 text-sm transition-colors focus:border-ring focus:outline-none"})]})]})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-[12px] font-medium text-muted-foreground mb-1",children:r("Provider")}),e.jsx(R,{value:a.providerId,onChange:t=>x("providerId",t),options:We,disabled:m}),m&&e.jsx("p",{className:"mt-1 text-[11px] text-destructive",children:r("Provider 列表加载失败。")})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-[12px] font-medium text-muted-foreground mb-1",children:r("角色提示词")}),e.jsx("textarea",{value:a.rolePrompt,onChange:t=>x("rolePrompt",t.target.value),rows:4,className:"w-full rounded-lg border border-border bg-muted/50 px-3 py-2 text-sm font-mono transition-colors focus:border-ring focus:bg-background focus:outline-none resize-y"})]}),e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-end justify-between gap-3 mb-2",children:[e.jsx("label",{className:"text-[12px] font-medium text-muted-foreground",children:r("可用能力")}),e.jsxs("span",{className:"text-[11px] text-muted-foreground",children:[st,"/10"]})]}),e.jsx("div",{className:"grid gap-1 sm:grid-cols-2 xl:grid-cols-3",children:De.map(t=>e.jsxs("label",{className:"flex items-center gap-2 rounded px-2.5 py-1.5 text-[12px] text-foreground hover:bg-muted transition-colors cursor-pointer",children:[e.jsx("input",{type:"checkbox",checked:a.capabilities[t.key],onChange:s=>He(t.key,s.target.checked),className:"h-3.5 w-3.5 rounded border-border"}),e.jsx("span",{children:r(t.label)})]},t.key))})]}),e.jsxs("div",{className:"grid gap-3 sm:grid-cols-2 xl:grid-cols-4",children:[e.jsxs("div",{children:[e.jsx("label",{className:"block text-[12px] font-medium text-muted-foreground mb-1",children:r("工作区")}),e.jsx(R,{value:a.workspacePolicy,onChange:t=>x("workspacePolicy",t),options:Fe.map(t=>({value:t.value,label:r(t.label)}))})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-[12px] font-medium text-muted-foreground mb-1",children:r("触发")}),e.jsx(R,{value:a.triggerPolicy,onChange:t=>x("triggerPolicy",t),options:Ft.map(t=>({value:t.value,label:r(t.label)}))})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-[12px] font-medium text-muted-foreground mb-1",children:r("会话")}),e.jsx(R,{value:a.sessionPolicy,onChange:t=>x("sessionPolicy",t),options:$t.map(t=>({value:t.value,label:r(t.label)}))})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-[12px] font-medium text-muted-foreground mb-1",children:r("队列")}),e.jsx(R,{value:a.queueManagementPolicy,onChange:t=>x("queueManagementPolicy",t),options:Ot.map(t=>({value:t.value,label:r(t.label)}))})]})]})]})]}):e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center justify-between gap-3 mb-4",children:[e.jsx("span",{className:"text-[12px] text-muted-foreground",children:r("{count} 个成员预设",{count:u.length})}),e.jsxs(p,{size:"sm",variant:"outline",onClick:Ie,children:[e.jsx(O,{size:13})," ",r("新增预设")]})]}),w?e.jsx(G,{title:r("加载失败"),error:ge,isFetching:be,onRetry:()=>{fe()}}):u.length===0?e.jsx(Ae,{message:r("暂无成员预设"),action:e.jsxs(p,{size:"sm",onClick:Ie,children:[e.jsx(O,{size:13,className:"mr-1"})," ",r("新增预设")]})}):e.jsx("div",{className:"grid gap-3 grid-cols-1 sm:grid-cols-2 lg:grid-cols-3",children:u.map(t=>{const s=$e(t.capabilities);return e.jsxs("button",{type:"button",onClick:()=>ut(t),className:"flex items-start gap-3 rounded-xl border border-border bg-background p-4 text-left transition-all hover:border-border hover:shadow-sm",children:[e.jsx(U,{name:t.name,avatar:t.avatar,className:"h-10 w-10 text-xs shrink-0"}),e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsx("div",{className:"truncate text-[13px] font-semibold text-foreground",children:t.name}),t.aliases.length>0&&e.jsx("div",{className:"truncate text-[11px] text-muted-foreground mt-0.5",children:t.aliases.join(", ")}),e.jsx("div",{className:"truncate text-[11px] text-muted-foreground mt-1",children:Ve.get(t.providerId)??t.providerId}),e.jsxs("div",{className:"flex flex-wrap items-center gap-1.5 mt-2",children:[e.jsx("span",{className:"rounded bg-muted px-1.5 py-0.5 text-[10px] font-medium text-muted-foreground",children:r(Fe.find(n=>n.value===t.workspacePolicy)?.label??t.workspacePolicy)}),e.jsxs("span",{className:"rounded bg-muted px-1.5 py-0.5 text-[10px] font-medium text-muted-foreground",children:[s,"/10 ",r("能力")]})]})]})]},t.id)})})]}):we?e.jsxs("div",{className:"rounded-xl border border-border bg-white",children:[e.jsxs("div",{className:"flex items-center justify-between gap-3 border-b border-border/60 px-5 py-3",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsxs("button",{onClick:L,className:"flex items-center gap-1.5 text-xs text-muted-foreground hover:text-foreground transition-colors",children:[e.jsx(_e,{size:14}),r("返回")]}),e.jsx("span",{className:"text-neutral-200",children:"|"}),e.jsx("h3",{className:"text-[13px] font-semibold text-foreground",children:I==="create"?r("创建新模板"):de?.name??r("编辑模板")})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[I==="edit"&&de&&e.jsx("button",{onClick:()=>oe(de),className:"flex h-7 w-7 items-center justify-center rounded-md text-muted-foreground hover:text-destructive hover:bg-destructive/10 transition-colors",title:r("删除"),children:e.jsx(ue,{size:14})}),e.jsx(p,{size:"sm",onClick:tt,disabled:!nt,children:J.isPending||K.isPending?r("保存中..."):r(I==="create"?"创建":"保存")})]})]}),e.jsxs("div",{className:"p-5 space-y-5",children:[e.jsxs("div",{children:[e.jsx("label",{className:"block text-[12px] font-medium text-muted-foreground mb-1",children:r("模板名称")}),e.jsx("input",{value:y.name,onChange:t=>Ke("name",t.target.value),className:"w-full rounded-lg border border-border bg-background px-3 py-2 text-sm transition-colors focus:border-ring focus:outline-none"})]}),e.jsxs("div",{className:"grid gap-4 xl:grid-cols-2",children:[e.jsxs("div",{children:[e.jsx("label",{className:"block text-[12px] font-medium text-muted-foreground mb-2",children:r("可用预设")}),e.jsx("div",{className:"max-h-[400px] space-y-1 overflow-y-auto scrollbar-app-thin",children:w?e.jsx(G,{title:r("加载失败"),error:ge,isFetching:be,onRetry:()=>{fe()}}):u.length===0?e.jsx("div",{className:"rounded-lg border border-dashed border-border p-3 text-center text-[12px] text-muted-foreground",children:r("先创建成员预设")}):u.map(t=>{const s=y.memberPresetIds.filter(n=>n===t.id).length;return e.jsxs("button",{type:"button",onClick:()=>ct(t.id),className:B("flex w-full items-center gap-2.5 rounded-lg border px-3 py-2 text-left transition-all",s>0?"border-neutral-900 bg-muted":"border-border bg-background hover:border-border"),children:[e.jsx(U,{name:t.name,avatar:t.avatar,className:"h-7 w-7 text-[10px] shrink-0"}),e.jsx("div",{className:"min-w-0 flex-1",children:e.jsx("div",{className:"truncate text-[12px] font-medium text-foreground",children:t.name})}),e.jsxs("div",{className:"flex items-center gap-1.5 shrink-0",children:[s>0&&e.jsxs("span",{className:"rounded-full bg-neutral-900 px-1.5 py-0.5 text-[10px] font-medium text-white",children:["x",s]}),e.jsx(O,{size:13,className:"text-muted-foreground"})]})]},t.id)})})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-[12px] font-medium text-muted-foreground mb-2",children:r("已选成员")}),e.jsx("div",{className:"max-h-[400px] space-y-1 overflow-y-auto scrollbar-app-thin",children:ce.length===0?e.jsx("div",{className:"rounded-lg border border-dashed border-border p-3 text-center text-[12px] text-muted-foreground",children:r("尚未选择")}):ce.map((t,s)=>e.jsxs("div",{className:"flex items-center justify-between gap-2 rounded-lg border border-border bg-background px-3 py-2",children:[e.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[e.jsx(U,{name:t.name,avatar:t.avatar,className:"h-7 w-7 text-[10px] shrink-0"}),e.jsx("span",{className:"truncate text-[12px] font-medium text-foreground",children:Rt(t.name,s,y.memberPresetIds,t.id)})]}),e.jsxs("div",{className:"flex items-center gap-0.5 shrink-0",children:[e.jsx(p,{type:"button",variant:"ghost",size:"icon-sm",onClick:()=>Ce(s,-1),disabled:s===0,children:e.jsx(Ct,{size:13})}),e.jsx(p,{type:"button",variant:"ghost",size:"icon-sm",onClick:()=>Ce(s,1),disabled:s===ce.length-1,children:e.jsx(It,{size:13})}),e.jsx(p,{type:"button",variant:"ghost",size:"icon-sm",onClick:()=>mt(s),children:e.jsx(ue,{size:13})})]})]},`${t.id}-${s}`))})]})]})]})]}):e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center justify-between gap-3 mb-4",children:[e.jsx("span",{className:"text-[12px] text-muted-foreground",children:r("{count} 个团队模板",{count:b.length})}),e.jsxs(p,{size:"sm",variant:"outline",onClick:Se,children:[e.jsx(O,{size:13})," ",r("新增模板")]})]}),D?e.jsx(G,{title:r("加载失败"),error:Ue,isFetching:Ye,onRetry:()=>{qe()}}):b.length===0?e.jsx(Ae,{message:r("暂无团队模板"),action:e.jsxs(p,{size:"sm",onClick:Se,children:[e.jsx(O,{size:13,className:"mr-1"})," ",r("新增模板")]})}):e.jsx("div",{className:"grid gap-3 grid-cols-1 sm:grid-cols-2 lg:grid-cols-3",children:b.map(t=>{const s=t.members?.length??0,n=(t.members??[]).slice(0,3).map(k=>$.get(k.memberPresetId)?.name).filter(Boolean);return e.jsxs("button",{type:"button",onClick:()=>xt(t),className:"flex flex-col rounded-xl border border-border bg-background p-4 text-left transition-all hover:border-border hover:shadow-sm",children:[e.jsx("div",{className:"truncate text-[13px] font-semibold text-foreground",children:t.name}),e.jsx("div",{className:"text-[11px] text-muted-foreground mt-1",children:r("{count} 个成员",{count:s})}),n.length>0&&e.jsxs("div",{className:"truncate text-[11px] text-muted-foreground mt-1.5",children:[n.join(", "),s>3?` +${s-3}`:""]})]},t.id)})})]}),e.jsx(Me,{isOpen:!!j,onClose:()=>re(null),onConfirm:et,title:r("删除"),description:j?r('确定删除 "{name}"?此操作不可撤销。',{name:j.name}):"",variant:"danger",confirmText:r("删除"),cancelText:r("取消"),isLoading:he.isPending}),e.jsx(Tt,{isOpen:Ge,onClose:()=>se(!1),title:r("选择预设头像"),className:"max-w-2xl",children:e.jsx("div",{className:"grid grid-cols-4 gap-2 sm:grid-cols-5",children:St.map(t=>{const s=a.avatar===t.src;return e.jsxs("button",{type:"button",onClick:()=>Qe(t.src),className:B("group rounded-xl border bg-background p-2 text-center transition-all hover:border-neutral-400 hover:bg-muted focus:outline-none focus:ring-2 focus:ring-neutral-900/15",s?"border-neutral-900 ring-2 ring-neutral-900/10":"border-border"),"aria-pressed":s,"aria-label":r("选择 {name} 头像",{name:t.label}),children:[e.jsx("img",{src:t.src,alt:t.label,loading:"lazy",className:"mx-auto h-14 w-14 rounded-full object-cover sm:h-16 sm:w-16"}),e.jsx("span",{className:"mt-1 block truncate text-[10px] font-medium text-muted-foreground",children:t.label})]},t.id)})})}),e.jsx(Me,{isOpen:!!N,onClose:()=>oe(null),onConfirm:rt,title:r("删除"),description:N?r('确定删除 "{name}"?此操作不可撤销。',{name:N.name}):"",variant:"danger",confirmText:r("删除"),cancelText:r("取消"),isLoading:ve.isPending})]})}export{Kt as TeamSettingsPage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{af as o,ag as n}from"./index-Du7RXa9t.js";const t=(a,r)=>o.lang.round(n.parse(a)[r]);export{t as c};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{h as c}from"./index-Bd5HU-dB.js";const e=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],t=c("check",e);export{t as C};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{s as a,c as s,a as e,C as t}from"./chunk-727SXJPM-yKiHVB7X.js";import{_ as i}from"./index-Du7RXa9t.js";import"./chunk-FMBD7UC4-h0jEUL75.js";import"./chunk-ND2GUHAM-DjMFJZNr.js";import"./chunk-55IACEB6-CTj6ihx_.js";import"./chunk-2J33WTMH-BnpAjP2E.js";import"./index-Bd5HU-dB.js";var n={parser:e,get db(){return new t},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{n as diagram};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{s as a,c as s,a as e,C as t}from"./chunk-727SXJPM-yKiHVB7X.js";import{_ as i}from"./index-Du7RXa9t.js";import"./chunk-FMBD7UC4-h0jEUL75.js";import"./chunk-ND2GUHAM-DjMFJZNr.js";import"./chunk-55IACEB6-CTj6ihx_.js";import"./chunk-2J33WTMH-BnpAjP2E.js";import"./index-Bd5HU-dB.js";var n={parser:e,get db(){return new t},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{n as diagram};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{h as N,i as L,k as y,l as j,q as i,m as p,u as O,r as n,j as e,g as x,Q as P}from"./index-Bd5HU-dB.js";import{C as V}from"./chevron-right-BezhysME.js";import{L as A}from"./loader-circle-B4v8mirO.js";import{C as D}from"./circle-alert-IhLKVEi9.js";import{C as T}from"./check-DyTLNLlk.js";const X=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}]],ie=N("file",X);const Y=[["path",{d:"M12 10v6",key:"1bos4e"}],["path",{d:"M9 13h6",key:"1uhe8q"}],["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]],oe=N("folder-plus",Y);const ee=[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]],v=N("folder",ee);function ce(t){const a={};return t?.page!=null&&(a.page=String(t.page)),t?.limit!=null&&(a.limit=String(t.limit)),t?.includeArchived&&(a.includeArchived="true"),L({queryKey:i.projects.list(t),queryFn:()=>p.get("/projects",{params:a})})}function ue(t){return L({queryKey:i.projects.detail(t),queryFn:()=>p.get(`/projects/${t}`),enabled:!!t})}function de(){const t=y();return j({mutationFn:a=>p.post("/projects",a),onSuccess:()=>{t.invalidateQueries({queryKey:i.projects.all})}})}function pe(){const t=y();return j({mutationFn:({id:a,...l})=>p.put(`/projects/${a}`,l),onSuccess:(a,l)=>{t.invalidateQueries({queryKey:i.projects.all}),t.invalidateQueries({queryKey:i.projects.detail(l.id)})}})}function xe(){const t=y();return j({mutationFn:({id:a,deleteRepo:l})=>p.post(`/projects/${a}/archive`,{deleteRepo:l??!1}),onSuccess:(a,l)=>{t.invalidateQueries({queryKey:i.projects.all}),t.invalidateQueries({queryKey:i.projects.detail(l.id)}),t.invalidateQueries({queryKey:i.tasks.all}),t.invalidateQueries({queryKey:i.workspaces.all})}})}function me(){const t=y();return j({mutationFn:({id:a,repoPath:l})=>p.post(`/projects/${a}/restore`,l?{repoPath:l}:{}),onSuccess:(a,l)=>{t.invalidateQueries({queryKey:i.projects.all}),t.invalidateQueries({queryKey:i.projects.detail(l.id)}),t.invalidateQueries({queryKey:i.tasks.all}),t.invalidateQueries({queryKey:i.workspaces.all})}})}function te(t){return t.isGitRepo?"select-and-browse":"browse"}function he({value:t,onChange:a,validationMode:l="git",placeholder:R}){const{t:g}=O(),[u,_]=n.useState(""),[k,G]=n.useState([]),[C,$]=n.useState(""),[I,B]=n.useState("/"),[w,M]=n.useState([]),[U,q]=n.useState(!1),[S,K]=n.useState(null),[b,z]=n.useState(t),[E,d]=n.useState(null),[Z,Q]=n.useState(!1),F=n.useRef(!1);n.useEffect(()=>{z(t)},[t]);const o=n.useCallback(async s=>{q(!0),K(null);try{const r={};s&&(r.path=s);const c=await p.get("/filesystem/browse",{params:r});_(c.current),$(c.parent),B(c.sep||"/"),G(c.dirs),c.drives&&M(c.drives)}catch(r){K(r instanceof Error?r.message:"Failed to browse directory")}finally{q(!1)}},[]);n.useEffect(()=>{F.current||(F.current=!0,o())},[o]);const m=n.useCallback(async s=>{if(l==="directory"){a(s),d(null);return}Q(!0),d(null);try{const r=await p.get("/filesystem/validate",{params:{path:s}});r.valid?(a(s),d(null)):d(r.error??"Not a Git repository")}catch(r){d(r instanceof Error?r.message:"Validation failed")}finally{Q(!1)}},[a,l]),H=n.useCallback(s=>{te(s)==="select-and-browse"?(m(s.path),o(s.path)):(o(s.path),d(null))},[m,o]),h=I==="\\",f=n.useMemo(()=>u?u.split(/[\\/]/).filter(Boolean):[],[u]),W=n.useCallback(s=>{const r=f.slice(0,s+1);let c;h?(c=r.join("\\"),r.length===1&&/^[A-Za-z]:$/.test(r[0])&&(c+="\\")):c="/"+r.join("/"),o(c),d(null)},[f,o,h]),J=n.useCallback(s=>{if(s.key==="Enter"&&!s.nativeEvent.isComposing&&s.nativeEvent.keyCode!==229){s.preventDefault();const r=b.trim();r&&(o(r),m(r))}},[b,o,m]);return e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{className:"relative",children:[e.jsx("input",{type:"text",value:b,onChange:s=>z(s.target.value),onKeyDown:J,placeholder:R??"e.g., /Users/me/projects/my-repo",className:x("w-full px-3 py-2 border rounded-lg text-sm font-mono focus:outline-none transition-colors pr-8",t?"border-emerald-300 bg-emerald-50/50 focus:border-emerald-400":"border-neutral-200 focus:border-neutral-400")}),t&&(l==="git"?e.jsx(P,{size:14,className:"absolute right-3 top-1/2 -translate-y-1/2 text-emerald-500"}):e.jsx(v,{size:14,className:"absolute right-3 top-1/2 -translate-y-1/2 text-emerald-500"}))]}),e.jsx("p",{className:"text-xs text-neutral-400",children:g(l==="git"?"Browse and select a Git repository, or type a path and press Enter":"Browse and select a directory, or type a path and press Enter")}),w.length>0&&e.jsx("div",{className:"flex items-center gap-1 flex-wrap",children:w.map(s=>e.jsx("button",{onClick:()=>{o(s),d(null)},className:x("px-2 py-0.5 rounded text-xs font-mono transition-colors border",u.toUpperCase().startsWith(s.toUpperCase())?"bg-neutral-900 text-white border-neutral-900":"border-neutral-200 text-neutral-600 hover:bg-neutral-100"),children:s.replace("\\","")},s))}),e.jsxs("div",{className:"flex items-center gap-0.5 text-xs text-neutral-500 overflow-x-auto pb-1 scrollbar-none",children:[!h&&e.jsx("button",{onClick:()=>o("/"),className:"hover:text-neutral-900 transition-colors flex-shrink-0 px-1 py-0.5 rounded hover:bg-neutral-100",children:"/"}),f.map((s,r)=>e.jsxs("span",{className:"flex items-center gap-0.5 flex-shrink-0",children:[(h?r>0:!0)&&e.jsx(V,{size:10,className:"text-neutral-300"}),e.jsx("button",{onClick:()=>W(r),className:x("px-1 py-0.5 rounded transition-colors truncate max-w-[120px]",r===f.length-1?"font-medium text-neutral-900":"hover:text-neutral-900 hover:bg-neutral-100"),children:s})]},r))]}),e.jsx("div",{className:"border border-neutral-200 rounded-lg overflow-hidden",children:e.jsx("div",{className:"max-h-[200px] overflow-y-auto",children:U?e.jsxs("div",{className:"flex items-center justify-center py-8 text-neutral-400",children:[e.jsx(A,{size:16,className:"animate-spin mr-2"}),e.jsx("span",{className:"text-xs",children:"Loading..."})]}):S?e.jsxs("div",{className:"flex items-center justify-center py-8 text-red-500 gap-2",children:[e.jsx(D,{size:14}),e.jsx("span",{className:"text-xs",children:S})]}):k.length===0?e.jsxs("div",{className:"flex flex-col items-center justify-center gap-3 py-8 text-neutral-400",children:[e.jsx("span",{className:"text-xs",children:"No subdirectories"}),l==="directory"&&u&&e.jsxs("button",{type:"button",onClick:()=>m(u),className:x("inline-flex items-center gap-1.5 rounded-md border px-3 py-1.5 text-xs font-medium transition-colors",u===t?"border-emerald-200 bg-emerald-50 text-emerald-700":"border-neutral-200 bg-white text-neutral-700 hover:bg-neutral-50"),children:[e.jsx(T,{size:13}),e.jsx("span",{children:g("Select Current")})]})]}):e.jsxs("ul",{className:"divide-y divide-neutral-100",children:[u!==C&&e.jsx("li",{children:e.jsxs("button",{onClick:()=>o(C),className:"w-full flex items-center gap-2.5 px-3 py-2 text-left hover:bg-neutral-50 transition-colors group",children:[e.jsx(v,{size:14,className:"text-neutral-400 flex-shrink-0"}),e.jsx("span",{className:"text-xs text-neutral-500 group-hover:text-neutral-700",children:".."})]})}),k.map(s=>e.jsx("li",{children:e.jsxs("button",{type:"button",onClick:()=>H(s),className:x("w-full flex items-center gap-2.5 px-3 py-2 text-left transition-colors group",s.path===t?"bg-emerald-50":"hover:bg-neutral-50"),children:[s.isGitRepo?e.jsx(P,{size:14,className:"text-emerald-500 flex-shrink-0"}):e.jsx(v,{size:14,className:"text-neutral-400 flex-shrink-0"}),e.jsx("span",{className:x("text-xs truncate",s.path===t?"font-medium text-emerald-700":"text-neutral-700 group-hover:text-neutral-900"),children:s.name}),s.isGitRepo&&e.jsx("span",{className:"ml-auto flex-shrink-0 text-[10px] font-medium bg-emerald-100 text-emerald-600 px-1.5 py-0.5 rounded",children:"Git"}),!s.isGitRepo&&e.jsx(V,{size:12,className:"ml-auto text-neutral-300 group-hover:text-neutral-400 flex-shrink-0"})]})},s.path))]})})}),Z&&e.jsxs("div",{className:"flex items-center gap-2 text-xs text-neutral-400",children:[e.jsx(A,{size:12,className:"animate-spin"}),e.jsx("span",{children:"Validating..."})]}),E&&e.jsxs("div",{className:"flex items-center gap-2 text-xs text-red-500",children:[e.jsx(D,{size:12}),e.jsx("span",{children:E})]})]})}export{ie as F,v as a,oe as b,pe as c,xe as d,me as e,he as f,ue as g,de as h,ce as u};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--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-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-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{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-100:oklch(93.6% .032 17.717);--color-red-200:oklch(88.5% .062 18.334);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-red-800:oklch(44.4% .177 26.899);--color-red-900:oklch(39.6% .141 25.723);--color-red-950:oklch(25.8% .092 26.042);--color-amber-50:oklch(98.7% .022 95.277);--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-amber-600:oklch(66.6% .179 58.318);--color-amber-700:oklch(55.5% .163 48.998);--color-amber-800:oklch(47.3% .137 46.201);--color-amber-900:oklch(41.4% .112 45.904);--color-green-500:oklch(72.3% .219 149.579);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-100:oklch(95% .052 163.051);--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-emerald-600:oklch(59.6% .145 163.225);--color-emerald-700:oklch(50.8% .118 165.612);--color-emerald-800:oklch(43.2% .095 166.913);--color-emerald-950:oklch(26.2% .051 172.552);--color-teal-600:oklch(60% .118 184.704);--color-cyan-50:oklch(98.4% .019 200.873);--color-cyan-200:oklch(91.7% .08 205.041);--color-cyan-600:oklch(60.9% .126 221.723);--color-cyan-700:oklch(52% .105 223.128);--color-sky-50:oklch(97.7% .013 236.62);--color-sky-600:oklch(58.8% .158 241.966);--color-sky-700:oklch(50% .134 242.749);--color-blue-50:oklch(97% .014 254.604);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-200:oklch(88.2% .059 254.128);--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-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-blue-950:oklch(28.2% .091 267.935);--color-indigo-50:oklch(96.2% .018 272.314);--color-indigo-200:oklch(87% .065 274.039);--color-indigo-600:oklch(51.1% .262 276.966);--color-indigo-700:oklch(45.7% .24 277.023);--color-violet-600:oklch(54.1% .281 293.009);--color-pink-600:oklch(59.2% .249 .584);--color-rose-600:oklch(58.6% .253 17.585);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-neutral-50:oklch(98.5% 0 0);--color-neutral-100:oklch(97% 0 0);--color-neutral-200:oklch(92.2% 0 0);--color-neutral-300:oklch(87% 0 0);--color-neutral-400:oklch(70.8% 0 0);--color-neutral-500:oklch(55.6% 0 0);--color-neutral-600:oklch(43.9% 0 0);--color-neutral-700:oklch(37.1% 0 0);--color-neutral-800:oklch(26.9% 0 0);--color-neutral-900:oklch(20.5% 0 0);--color-neutral-950:oklch(14.5% 0 0);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--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: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--leading-tight:1.25;--leading-snug:1.375;--leading-relaxed:1.625;--ease-out:cubic-bezier(0,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-ping:ping 1s cubic-bezier(0,0,.2,1)infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{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}html,:host{-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,samp,pre{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}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,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{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-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{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}html{font-size:16px}*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){*{outline-color:color-mix(in oklab,var(--ring)50%,transparent)}}body{background-color:var(--background);color:var(--foreground);-webkit-tap-highlight-color:transparent}}@layer components;@layer utilities{.\@container\/card-header{container:card-header/inline-size}.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.inset-x-0{inset-inline:calc(var(--spacing)*0)}.-top-1\.5{top:calc(var(--spacing)*-1.5)}.top-0{top:calc(var(--spacing)*0)}.top-0\.5{top:calc(var(--spacing)*.5)}.top-1\/2{top:50%}.top-4{top:calc(var(--spacing)*4)}.top-\[18vh\]{top:18vh}.top-full{top:100%}.-right-1\.5{right:calc(var(--spacing)*-1.5)}.right-0{right:calc(var(--spacing)*0)}.right-0\.5{right:calc(var(--spacing)*.5)}.right-2{right:calc(var(--spacing)*2)}.right-3{right:calc(var(--spacing)*3)}.right-4{right:calc(var(--spacing)*4)}.bottom-0{bottom:calc(var(--spacing)*0)}.bottom-2{bottom:calc(var(--spacing)*2)}.bottom-3{bottom:calc(var(--spacing)*3)}.bottom-full{bottom:100%}.left-0{left:calc(var(--spacing)*0)}.left-1\/2{left:50%}.left-2{left:calc(var(--spacing)*2)}.left-3{left:calc(var(--spacing)*3)}.left-4{left:calc(var(--spacing)*4)}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-90{z-index:90}.z-\[60\]{z-index:60}.z-\[100\]{z-index:100}.z-\[101\]{z-index:101}.z-\[120\]{z-index:120}.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-3{margin-inline:calc(var(--spacing)*-3)}.-mx-5{margin-inline:calc(var(--spacing)*-5)}.mx-0\.5{margin-inline:calc(var(--spacing)*.5)}.mx-1{margin-inline:calc(var(--spacing)*1)}.mx-1\.5{margin-inline:calc(var(--spacing)*1.5)}.mx-2{margin-inline:calc(var(--spacing)*2)}.mx-3{margin-inline:calc(var(--spacing)*3)}.mx-6{margin-inline:calc(var(--spacing)*6)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing)*1)}.my-1\.5{margin-block:calc(var(--spacing)*1.5)}.my-2{margin-block:calc(var(--spacing)*2)}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);margin-top:1.2em;margin-bottom:1.2em;font-size:1.25em;line-height:1.6}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);font-weight:500;text-decoration:underline}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:decimal}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:disc}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.25em;font-weight:600}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em;font-style:italic;font-weight:500}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:0;margin-bottom:.888889em;font-size:2.25em;font-weight:800;line-height:1.11111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:2em;margin-bottom:1em;font-size:1.5em;font-weight:700;line-height:1.33333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.6em;margin-bottom:.6em;font-size:1.25em;font-weight:600;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.5em;margin-bottom:.5em;font-weight:600;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em;display:block}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows);padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;border-radius:.3125rem;padding-inline-start:.375em;font-family:inherit;font-size:.875em;font-weight:500}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);padding-top:.857143em;padding-inline-end:1.14286em;padding-bottom:.857143em;border-radius:.375rem;margin-top:1.71429em;margin-bottom:1.71429em;padding-inline-start:1.14286em;font-size:.875em;font-weight:400;line-height:1.71429;overflow-x:auto}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit;background-color:#0000;border-width:0;border-radius:0;padding:0}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){table-layout:auto;width:100%;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.71429}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);vertical-align:bottom;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em;font-weight:600}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);margin-top:.857143em;font-size:.875em;line-height:1.42857}.prose{--tw-prose-body:oklch(37.3% .034 259.733);--tw-prose-headings:oklch(21% .034 264.665);--tw-prose-lead:oklch(44.6% .03 256.802);--tw-prose-links:oklch(21% .034 264.665);--tw-prose-bold:oklch(21% .034 264.665);--tw-prose-counters:oklch(55.1% .027 264.364);--tw-prose-bullets:oklch(87.2% .01 258.338);--tw-prose-hr:oklch(92.8% .006 264.531);--tw-prose-quotes:oklch(21% .034 264.665);--tw-prose-quote-borders:oklch(92.8% .006 264.531);--tw-prose-captions:oklch(55.1% .027 264.364);--tw-prose-kbd:oklch(21% .034 264.665);--tw-prose-kbd-shadows:oklab(21% -.00316127 -.0338527/.1);--tw-prose-code:oklch(21% .034 264.665);--tw-prose-pre-code:oklch(92.8% .006 264.531);--tw-prose-pre-bg:oklch(27.8% .033 256.848);--tw-prose-th-borders:oklch(87.2% .01 258.338);--tw-prose-td-borders:oklch(92.8% .006 264.531);--tw-prose-invert-body:oklch(87.2% .01 258.338);--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:oklch(70.7% .022 261.325);--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:oklch(70.7% .022 261.325);--tw-prose-invert-bullets:oklch(44.6% .03 256.802);--tw-prose-invert-hr:oklch(37.3% .034 259.733);--tw-prose-invert-quotes:oklch(96.7% .003 264.542);--tw-prose-invert-quote-borders:oklch(37.3% .034 259.733);--tw-prose-invert-captions:oklch(70.7% .022 261.325);--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:#ffffff1a;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:oklch(87.2% .01 258.338);--tw-prose-invert-pre-bg:#00000080;--tw-prose-invert-th-borders:oklch(44.6% .03 256.802);--tw-prose-invert-td-borders:oklch(37.3% .034 259.733);font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.571429em;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose-sm{font-size:.875rem;line-height:1.71429}.prose-sm :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em}.prose-sm :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.888889em;margin-bottom:.888889em;font-size:1.28571em;line-height:1.55556}.prose-sm :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.33333em;margin-bottom:1.33333em;padding-inline-start:1.11111em}.prose-sm :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:.8em;font-size:2.14286em;line-height:1.2}.prose-sm :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.6em;margin-bottom:.8em;font-size:1.42857em;line-height:1.4}.prose-sm :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.55556em;margin-bottom:.444444em;font-size:1.28571em;line-height:1.55556}.prose-sm :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.42857em;margin-bottom:.571429em;line-height:1.42857}.prose-sm :where(img):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.prose-sm :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-sm :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.prose-sm :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.142857em;padding-inline-end:.357143em;padding-bottom:.142857em;border-radius:.3125rem;padding-inline-start:.357143em;font-size:.857143em}.prose-sm :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.857143em}.prose-sm :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.9em}.prose-sm :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.888889em}.prose-sm :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.666667em;padding-inline-end:1em;padding-bottom:.666667em;border-radius:.25rem;margin-top:1.66667em;margin-bottom:1.66667em;padding-inline-start:1em;font-size:.857143em;line-height:1.66667}.prose-sm :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em;padding-inline-start:1.57143em}.prose-sm :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.285714em;margin-bottom:.285714em}.prose-sm :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.428571em}.prose-sm :where(.prose-sm>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.571429em;margin-bottom:.571429em}.prose-sm :where(.prose-sm>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.prose-sm :where(.prose-sm>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.14286em}.prose-sm :where(.prose-sm>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.prose-sm :where(.prose-sm>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.14286em}.prose-sm :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.571429em;margin-bottom:.571429em}.prose-sm :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em}.prose-sm :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.prose-sm :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.285714em;padding-inline-start:1.57143em}.prose-sm :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2.85714em;margin-bottom:2.85714em}.prose-sm :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.857143em;line-height:1.5}.prose-sm :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:1em;padding-bottom:.666667em;padding-inline-start:1em}.prose-sm :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-sm :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-sm :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.666667em;padding-inline-end:1em;padding-bottom:.666667em;padding-inline-start:1em}.prose-sm :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-sm :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-sm :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.prose-sm :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-sm :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.666667em;font-size:.857143em;line-height:1.33333}.prose-sm :where(.prose-sm>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(.prose-sm>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.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-2\.5{margin-top:calc(var(--spacing)*2.5)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-5{margin-top:calc(var(--spacing)*5)}.mt-6{margin-top:calc(var(--spacing)*6)}.mt-8{margin-top:calc(var(--spacing)*8)}.mr-1{margin-right:calc(var(--spacing)*1)}.mr-1\.5{margin-right:calc(var(--spacing)*1.5)}.mr-2{margin-right:calc(var(--spacing)*2)}.mr-4{margin-right:calc(var(--spacing)*4)}.mr-8{margin-right:calc(var(--spacing)*8)}.-mb-px{margin-bottom:-1px}.mb-0\.5{margin-bottom:calc(var(--spacing)*.5)}.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-2\.5{margin-bottom:calc(var(--spacing)*2.5)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-5{margin-bottom:calc(var(--spacing)*5)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.-ml-0\.5{margin-left:calc(var(--spacing)*-.5)}.-ml-1\.5{margin-left:calc(var(--spacing)*-1.5)}.-ml-\[2px\]{margin-left:-2px}.ml-0\.5{margin-left:calc(var(--spacing)*.5)}.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-3{margin-left:calc(var(--spacing)*3)}.ml-5{margin-left:calc(var(--spacing)*5)}.ml-8{margin-left:calc(var(--spacing)*8)}.ml-\[22px\]{margin-left:22px}.ml-auto{margin-left:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.size-2{width:calc(var(--spacing)*2);height:calc(var(--spacing)*2)}.size-6{width:calc(var(--spacing)*6);height:calc(var(--spacing)*6)}.size-7{width:calc(var(--spacing)*7);height:calc(var(--spacing)*7)}.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)}.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-11{height:calc(var(--spacing)*11)}.h-12{height:calc(var(--spacing)*12)}.h-14{height:calc(var(--spacing)*14)}.h-16{height:calc(var(--spacing)*16)}.h-24{height:calc(var(--spacing)*24)}.h-\[min\(calc\(100vh-1\.5rem\)\,840px\)\]{height:min(100vh - 1.5rem,840px)}.h-auto{height:auto}.h-dvh{height:100dvh}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-28{max-height:calc(var(--spacing)*28)}.max-h-32{max-height:calc(var(--spacing)*32)}.max-h-36{max-height:calc(var(--spacing)*36)}.max-h-40{max-height:calc(var(--spacing)*40)}.max-h-48{max-height:calc(var(--spacing)*48)}.max-h-64{max-height:calc(var(--spacing)*64)}.max-h-\[40\%\]{max-height:40%}.max-h-\[40vh\]{max-height:40vh}.max-h-\[46vh\]{max-height:46vh}.max-h-\[82vh\]{max-height:82vh}.max-h-\[200px\]{max-height:200px}.max-h-\[240px\]{max-height:240px}.max-h-\[400px\]{max-height:400px}.max-h-\[420px\]{max-height:420px}.max-h-\[calc\(100vh-2rem\)\]{max-height:calc(100vh - 2rem)}.max-h-\[min\(50vh\,22rem\)\]{max-height:min(50vh,22rem)}.max-h-full{max-height:100%}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-4{min-height:calc(var(--spacing)*4)}.min-h-9{min-height:calc(var(--spacing)*9)}.min-h-\[4\.25rem\]{min-height:4.25rem}.min-h-\[18rem\]{min-height:18rem}.min-h-\[37px\]{min-height:37px}.min-h-\[40px\]{min-height:40px}.min-h-\[180px\]{min-height:180px}.min-h-\[200px\]{min-height:200px}.min-h-screen{min-height:100vh}.w-0\.5{width:calc(var(--spacing)*.5)}.w-1{width:calc(var(--spacing)*1)}.w-1\.5{width:calc(var(--spacing)*1.5)}.w-1\/2{width:50%}.w-2{width:calc(var(--spacing)*2)}.w-2\.5{width:calc(var(--spacing)*2.5)}.w-2\/3{width:66.6667%}.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-8{width:calc(var(--spacing)*8)}.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-16{width:calc(var(--spacing)*16)}.w-20{width:calc(var(--spacing)*20)}.w-24{width:calc(var(--spacing)*24)}.w-28{width:calc(var(--spacing)*28)}.w-32{width:calc(var(--spacing)*32)}.w-36{width:calc(var(--spacing)*36)}.w-40{width:calc(var(--spacing)*40)}.w-44{width:calc(var(--spacing)*44)}.w-48{width:calc(var(--spacing)*48)}.w-52{width:calc(var(--spacing)*52)}.w-60{width:calc(var(--spacing)*60)}.w-64{width:calc(var(--spacing)*64)}.w-72{width:calc(var(--spacing)*72)}.w-80{width:calc(var(--spacing)*80)}.w-96{width:calc(var(--spacing)*96)}.w-\[14px\]{width:14px}.w-\[180px\]{width:180px}.w-\[260px\]{width:260px}.w-\[420px\]{width:420px}.w-\[min\(24rem\,calc\(100vw-3rem\)\)\]{width:min(24rem,100vw - 3rem)}.w-\[min\(560px\,calc\(100vw-2rem\)\)\]{width:min(560px,100vw - 2rem)}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.w-px{width:1px}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-\[18rem\]{max-width:18rem}.max-w-\[70vw\]{max-width:70vw}.max-w-\[80px\]{max-width:80px}.max-w-\[85\%\]{max-width:85%}.max-w-\[92vw\]{max-width:92vw}.max-w-\[96px\]{max-width:96px}.max-w-\[120px\]{max-width:120px}.max-w-\[130px\]{max-width:130px}.max-w-\[200px\]{max-width:200px}.max-w-\[220px\]{max-width:220px}.max-w-\[240px\]{max-width:240px}.max-w-\[280px\]{max-width:280px}.max-w-\[300px\]{max-width:300px}.max-w-\[340px\]{max-width:340px}.max-w-\[1100px\]{max-width:1100px}.max-w-\[calc\(100vw-1rem\)\]{max-width:calc(100vw - 1rem)}.max-w-\[calc\(100vw-2rem\)\]{max-width:calc(100vw - 2rem)}.max-w-\[min\(86\%\,46rem\)\]{max-width:min(86%,46rem)}.max-w-\[min\(100\%\,42rem\)\]{max-width:min(100%,42rem)}.max-w-full{max-width:100%}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-none{max-width:none}.max-w-sm{max-width:var(--container-sm)}.max-w-xl{max-width:var(--container-xl)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-\[16px\]{min-width:16px}.min-w-\[40px\]{min-width:40px}.min-w-\[82px\]{min-width:82px}.min-w-\[110px\]{min-width:110px}.min-w-\[120px\]{min-width:120px}.min-w-\[160px\]{min-width:160px}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.origin-top-left{transform-origin:0 0}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-\[3px\]{--tw-translate-x:3px;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-\[18px\]{--tw-translate-x:18px;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-0{--tw-translate-y:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-1{--tw-translate-y:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-2{--tw-translate-y:calc(var(--spacing)*2);translate:var(--tw-translate-x)var(--tw-translate-y)}.scale-95{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-\[0\.97\]{scale:.97}.rotate-90{rotate:90deg}.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-\[fadeInUp_0\.5s_cubic-bezier\(0\.16\,1\,0\.3\,1\)\]{animation:.5s cubic-bezier(.16,1,.3,1) fadeInUp}.animate-in{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)}.animate-ping{animation:var(--animate-ping)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-wait{cursor:wait}.resize{resize:both}.resize-none{resize:none}.resize-y{resize:vertical}.list-none{list-style-type: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-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-rows-\[auto_auto\]{grid-template-rows:auto auto}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.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-2\.5{gap:calc(var(--spacing)*2.5)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-5{gap:calc(var(--spacing)*5)}.gap-6{gap:calc(var(--spacing)*6)}.gap-8{gap:calc(var(--spacing)*8)}.gap-px{gap:1px}: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-2\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2.5)*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-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-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-px>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(1px*var(--tw-space-y-reverse));margin-block-end:calc(1px*calc(1 - var(--tw-space-y-reverse)))}.gap-x-2{column-gap:calc(var(--spacing)*2)}.gap-y-0\.5{row-gap:calc(var(--spacing)*.5)}: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\/60>:not(:last-child)){border-color:var(--border)}@supports (color:color-mix(in lab,red,red)){:where(.divide-border\/60>:not(:last-child)){border-color:color-mix(in oklab,var(--border)60%,transparent)}}:where(.divide-neutral-100>:not(:last-child)){border-color:var(--color-neutral-100)}.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-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.overscroll-none{overscroll-behavior:none}.overscroll-y-contain{overscroll-behavior-y:contain}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:calc(var(--radius) + 8px)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.rounded-t-md{border-top-left-radius:calc(var(--radius) - 2px);border-top-right-radius:calc(var(--radius) - 2px)}.rounded-tl-\[2px\]{border-top-left-radius:2px}.rounded-tr-\[2px\]{border-top-right-radius:2px}.rounded-tr-sm{border-top-right-radius:calc(var(--radius) - 4px)}.rounded-b-xl{border-bottom-right-radius:calc(var(--radius) + 4px);border-bottom-left-radius:calc(var(--radius) + 4px)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-4{border-style:var(--tw-border-style);border-width:4px}.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-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.\!border-neutral-800{border-color:var(--color-neutral-800)!important}.border-\[\#333\]{border-color:#333}.border-\[\#444\]{border-color:#444}.border-amber-100{border-color:var(--color-amber-100)}.border-amber-200{border-color:var(--color-amber-200)}.border-amber-200\/80{border-color:#fee685cc}@supports (color:color-mix(in lab,red,red)){.border-amber-200\/80{border-color:color-mix(in oklab,var(--color-amber-200)80%,transparent)}}.border-blue-100{border-color:var(--color-blue-100)}.border-blue-200{border-color:var(--color-blue-200)}.border-border,.border-border\/50{border-color:var(--border)}@supports (color:color-mix(in lab,red,red)){.border-border\/50{border-color:color-mix(in oklab,var(--border)50%,transparent)}}.border-border\/60{border-color:var(--border)}@supports (color:color-mix(in lab,red,red)){.border-border\/60{border-color:color-mix(in oklab,var(--border)60%,transparent)}}.border-border\/70{border-color:var(--border)}@supports (color:color-mix(in lab,red,red)){.border-border\/70{border-color:color-mix(in oklab,var(--border)70%,transparent)}}.border-cyan-200{border-color:var(--color-cyan-200)}.border-destructive\/20{border-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.border-destructive\/20{border-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.border-destructive\/30{border-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.border-destructive\/30{border-color:color-mix(in oklab,var(--destructive)30%,transparent)}}.border-emerald-100{border-color:var(--color-emerald-100)}.border-emerald-200{border-color:var(--color-emerald-200)}.border-emerald-300{border-color:var(--color-emerald-300)}.border-indigo-200{border-color:var(--color-indigo-200)}.border-info{border-color:var(--info)}.border-input{border-color:var(--input)}.border-neutral-50{border-color:var(--color-neutral-50)}.border-neutral-100{border-color:var(--color-neutral-100)}.border-neutral-200{border-color:var(--color-neutral-200)}.border-neutral-200\/70{border-color:#e5e5e5b3}@supports (color:color-mix(in lab,red,red)){.border-neutral-200\/70{border-color:color-mix(in oklab,var(--color-neutral-200)70%,transparent)}}.border-neutral-300{border-color:var(--color-neutral-300)}.border-neutral-400{border-color:var(--color-neutral-400)}.border-neutral-900{border-color:var(--color-neutral-900)}.border-primary{border-color:var(--primary)}.border-red-100{border-color:var(--color-red-100)}.border-red-200{border-color:var(--color-red-200)}.border-success\/25{border-color:var(--success)}@supports (color:color-mix(in lab,red,red)){.border-success\/25{border-color:color-mix(in oklab,var(--success)25%,transparent)}}.border-transparent{border-color:#0000}.border-warning\/25{border-color:var(--warning)}@supports (color:color-mix(in lab,red,red)){.border-warning\/25{border-color:color-mix(in oklab,var(--warning)25%,transparent)}}.border-warning\/30{border-color:var(--warning)}@supports (color:color-mix(in lab,red,red)){.border-warning\/30{border-color:color-mix(in oklab,var(--warning)30%,transparent)}}.border-t-neutral-900{border-top-color:var(--color-neutral-900)}.border-b-neutral-900{border-bottom-color:var(--color-neutral-900)}.\!bg-neutral-900{background-color:var(--color-neutral-900)!important}.bg-\[\#1e1e1e\]{background-color:#1e1e1e}.bg-\[\#2d2d2d\]{background-color:#2d2d2d}.bg-\[\#333\]{background-color:#333}.bg-\[\#444\]{background-color:#444}.bg-\[\#252526\]{background-color:#252526}.bg-accent{background-color:var(--accent)}.bg-amber-50{background-color:var(--color-amber-50)}.bg-amber-50\/50{background-color:#fffbeb80}@supports (color:color-mix(in lab,red,red)){.bg-amber-50\/50{background-color:color-mix(in oklab,var(--color-amber-50)50%,transparent)}}.bg-amber-50\/80{background-color:#fffbebcc}@supports (color:color-mix(in lab,red,red)){.bg-amber-50\/80{background-color:color-mix(in oklab,var(--color-amber-50)80%,transparent)}}.bg-amber-100{background-color:var(--color-amber-100)}.bg-amber-400{background-color:var(--color-amber-400)}.bg-amber-500{background-color:var(--color-amber-500)}.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\/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-amber-600{background-color:var(--color-amber-600)}.bg-background,.bg-background\/60{background-color:var(--background)}@supports (color:color-mix(in lab,red,red)){.bg-background\/60{background-color:color-mix(in oklab,var(--background)60%,transparent)}}.bg-background\/70{background-color:var(--background)}@supports (color:color-mix(in lab,red,red)){.bg-background\/70{background-color:color-mix(in oklab,var(--background)70%,transparent)}}.bg-background\/75{background-color:var(--background)}@supports (color:color-mix(in lab,red,red)){.bg-background\/75{background-color:color-mix(in oklab,var(--background)75%,transparent)}}.bg-background\/90{background-color:var(--background)}@supports (color:color-mix(in lab,red,red)){.bg-background\/90{background-color:color-mix(in oklab,var(--background)90%,transparent)}}.bg-background\/95{background-color:var(--background)}@supports (color:color-mix(in lab,red,red)){.bg-background\/95{background-color:color-mix(in oklab,var(--background)95%,transparent)}}.bg-black\/20{background-color:#0003}@supports (color:color-mix(in lab,red,red)){.bg-black\/20{background-color:color-mix(in oklab,var(--color-black)20%,transparent)}}.bg-black\/55{background-color:#0000008c}@supports (color:color-mix(in lab,red,red)){.bg-black\/55{background-color:color-mix(in oklab,var(--color-black)55%,transparent)}}.bg-black\/80{background-color:#000c}@supports (color:color-mix(in lab,red,red)){.bg-black\/80{background-color:color-mix(in oklab,var(--color-black)80%,transparent)}}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-50\/80{background-color:#eff6ffcc}@supports (color:color-mix(in lab,red,red)){.bg-blue-50\/80{background-color:color-mix(in oklab,var(--color-blue-50)80%,transparent)}}.bg-blue-100{background-color:var(--color-blue-100)}.bg-blue-400{background-color:var(--color-blue-400)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-blue-600{background-color:var(--color-blue-600)}.bg-blue-950\/30{background-color:#1624564d}@supports (color:color-mix(in lab,red,red)){.bg-blue-950\/30{background-color:color-mix(in oklab,var(--color-blue-950)30%,transparent)}}.bg-border,.bg-border\/60{background-color:var(--border)}@supports (color:color-mix(in lab,red,red)){.bg-border\/60{background-color:color-mix(in oklab,var(--border)60%,transparent)}}.bg-brand{background-color:var(--brand)}.bg-card{background-color:var(--card)}.bg-cyan-50{background-color:var(--color-cyan-50)}.bg-cyan-600{background-color:var(--color-cyan-600)}.bg-destructive,.bg-destructive\/5{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.bg-destructive\/5{background-color:color-mix(in oklab,var(--destructive)5%,transparent)}}.bg-destructive\/10{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.bg-destructive\/10{background-color:color-mix(in oklab,var(--destructive)10%,transparent)}}.bg-emerald-50{background-color:var(--color-emerald-50)}.bg-emerald-50\/50{background-color:#ecfdf580}@supports (color:color-mix(in lab,red,red)){.bg-emerald-50\/50{background-color:color-mix(in oklab,var(--color-emerald-50)50%,transparent)}}.bg-emerald-100{background-color:var(--color-emerald-100)}.bg-emerald-400{background-color:var(--color-emerald-400)}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-emerald-600{background-color:var(--color-emerald-600)}.bg-emerald-950\/40{background-color:#002c2266}@supports (color:color-mix(in lab,red,red)){.bg-emerald-950\/40{background-color:color-mix(in oklab,var(--color-emerald-950)40%,transparent)}}.bg-gray-100{background-color:var(--color-gray-100)}.bg-indigo-50{background-color:var(--color-indigo-50)}.bg-indigo-600{background-color:var(--color-indigo-600)}.bg-info\/5{background-color:var(--info)}@supports (color:color-mix(in lab,red,red)){.bg-info\/5{background-color:color-mix(in oklab,var(--info)5%,transparent)}}.bg-info\/10{background-color:var(--info)}@supports (color:color-mix(in lab,red,red)){.bg-info\/10{background-color:color-mix(in oklab,var(--info)10%,transparent)}}.bg-info\/60{background-color:var(--info)}@supports (color:color-mix(in lab,red,red)){.bg-info\/60{background-color:color-mix(in oklab,var(--info)60%,transparent)}}.bg-muted{background-color:var(--muted)}.bg-muted-foreground{background-color:var(--muted-foreground)}.bg-muted\/25{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/25{background-color:color-mix(in oklab,var(--muted)25%,transparent)}}.bg-muted\/30{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/30{background-color:color-mix(in oklab,var(--muted)30%,transparent)}}.bg-muted\/35{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/35{background-color:color-mix(in oklab,var(--muted)35%,transparent)}}.bg-muted\/40{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/40{background-color:color-mix(in oklab,var(--muted)40%,transparent)}}.bg-muted\/50{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/50{background-color:color-mix(in oklab,var(--muted)50%,transparent)}}.bg-muted\/60{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/60{background-color:color-mix(in oklab,var(--muted)60%,transparent)}}.bg-muted\/70{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/70{background-color:color-mix(in oklab,var(--muted)70%,transparent)}}.bg-muted\/80{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/80{background-color:color-mix(in oklab,var(--muted)80%,transparent)}}.bg-neutral-50{background-color:var(--color-neutral-50)}.bg-neutral-50\/50{background-color:#fafafa80}@supports (color:color-mix(in lab,red,red)){.bg-neutral-50\/50{background-color:color-mix(in oklab,var(--color-neutral-50)50%,transparent)}}.bg-neutral-50\/60{background-color:#fafafa99}@supports (color:color-mix(in lab,red,red)){.bg-neutral-50\/60{background-color:color-mix(in oklab,var(--color-neutral-50)60%,transparent)}}.bg-neutral-50\/70{background-color:#fafafab3}@supports (color:color-mix(in lab,red,red)){.bg-neutral-50\/70{background-color:color-mix(in oklab,var(--color-neutral-50)70%,transparent)}}.bg-neutral-50\/80{background-color:#fafafacc}@supports (color:color-mix(in lab,red,red)){.bg-neutral-50\/80{background-color:color-mix(in oklab,var(--color-neutral-50)80%,transparent)}}.bg-neutral-100{background-color:var(--color-neutral-100)}.bg-neutral-100\/60{background-color:#f5f5f599}@supports (color:color-mix(in lab,red,red)){.bg-neutral-100\/60{background-color:color-mix(in oklab,var(--color-neutral-100)60%,transparent)}}.bg-neutral-100\/80{background-color:#f5f5f5cc}@supports (color:color-mix(in lab,red,red)){.bg-neutral-100\/80{background-color:color-mix(in oklab,var(--color-neutral-100)80%,transparent)}}.bg-neutral-200{background-color:var(--color-neutral-200)}.bg-neutral-200\/60{background-color:#e5e5e599}@supports (color:color-mix(in lab,red,red)){.bg-neutral-200\/60{background-color:color-mix(in oklab,var(--color-neutral-200)60%,transparent)}}.bg-neutral-300{background-color:var(--color-neutral-300)}.bg-neutral-400{background-color:var(--color-neutral-400)}.bg-neutral-500{background-color:var(--color-neutral-500)}.bg-neutral-700{background-color:var(--color-neutral-700)}.bg-neutral-800{background-color:var(--color-neutral-800)}.bg-neutral-900{background-color:var(--color-neutral-900)}.bg-neutral-900\/8{background-color:#17171714}@supports (color:color-mix(in lab,red,red)){.bg-neutral-900\/8{background-color:color-mix(in oklab,var(--color-neutral-900)8%,transparent)}}.bg-neutral-950{background-color:var(--color-neutral-950)}.bg-pink-600{background-color:var(--color-pink-600)}.bg-popover{background-color:var(--popover)}.bg-primary{background-color:var(--primary)}.bg-primary-foreground\/60{background-color:var(--primary-foreground)}@supports (color:color-mix(in lab,red,red)){.bg-primary-foreground\/60{background-color:color-mix(in oklab,var(--primary-foreground)60%,transparent)}}.bg-primary\/\[0\.06\]{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\/\[0\.06\]{background-color:color-mix(in oklab,var(--primary)6%,transparent)}}.bg-red-50{background-color:var(--color-red-50)}.bg-red-500{background-color:var(--color-red-500)}.bg-red-600{background-color:var(--color-red-600)}.bg-red-950\/40{background-color:#46080966}@supports (color:color-mix(in lab,red,red)){.bg-red-950\/40{background-color:color-mix(in oklab,var(--color-red-950)40%,transparent)}}.bg-rose-600{background-color:var(--color-rose-600)}.bg-secondary{background-color:var(--secondary)}.bg-sidebar{background-color:var(--sidebar)}.bg-sky-50{background-color:var(--color-sky-50)}.bg-success,.bg-success\/10{background-color:var(--success)}@supports (color:color-mix(in lab,red,red)){.bg-success\/10{background-color:color-mix(in oklab,var(--success)10%,transparent)}}.bg-success\/70{background-color:var(--success)}@supports (color:color-mix(in lab,red,red)){.bg-success\/70{background-color:color-mix(in oklab,var(--success)70%,transparent)}}.bg-teal-600{background-color:var(--color-teal-600)}.bg-transparent{background-color:#0000}.bg-violet-600{background-color:var(--color-violet-600)}.bg-warning\/10{background-color:var(--warning)}@supports (color:color-mix(in lab,red,red)){.bg-warning\/10{background-color:color-mix(in oklab,var(--warning)10%,transparent)}}.bg-warning\/15{background-color:var(--warning)}@supports (color:color-mix(in lab,red,red)){.bg-warning\/15{background-color:color-mix(in oklab,var(--warning)15%,transparent)}}.bg-warning\/\[0\.06\]{background-color:var(--warning)}@supports (color:color-mix(in lab,red,red)){.bg-warning\/\[0\.06\]{background-color:color-mix(in oklab,var(--warning)6%,transparent)}}.bg-white{background-color:var(--color-white)}.bg-white\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.bg-white\/10{background-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.bg-white\/20{background-color:#fff3}@supports (color:color-mix(in lab,red,red)){.bg-white\/20{background-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.bg-white\/60{background-color:#fff9}@supports (color:color-mix(in lab,red,red)){.bg-white\/60{background-color:color-mix(in oklab,var(--color-white)60%,transparent)}}.bg-white\/80{background-color:#fffc}@supports (color:color-mix(in lab,red,red)){.bg-white\/80{background-color:color-mix(in oklab,var(--color-white)80%,transparent)}}.bg-white\/90{background-color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.bg-white\/90{background-color:color-mix(in oklab,var(--color-white)90%,transparent)}}.bg-gradient-to-b{--tw-gradient-position:to bottom in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-\[repeating-conic-gradient\(\#f3f3f3_0\%_25\%\,\#fff_0\%_50\%\)\]{background-image:repeating-conic-gradient(#f3f3f3 0% 25%,#fff 0% 50%)}.from-transparent{--tw-gradient-from:transparent;--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))}.to-amber-50{--tw-gradient-to:var(--color-amber-50);--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))}.to-neutral-100{--tw-gradient-to:var(--color-neutral-100);--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))}.to-neutral-900{--tw-gradient-to:var(--color-neutral-900);--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))}.bg-\[length\:16px_16px\]{background-size:16px 16px}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.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-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)}.px-0\.5{padding-inline:calc(var(--spacing)*.5)}.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-3\.5{padding-inline:calc(var(--spacing)*3.5)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-5{padding-inline:calc(var(--spacing)*5)}.px-6{padding-inline:calc(var(--spacing)*6)}.px-8{padding-inline:calc(var(--spacing)*8)}.py-0{padding-block:calc(var(--spacing)*0)}.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-3\.5{padding-block:calc(var(--spacing)*3.5)}.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-12{padding-block:calc(var(--spacing)*12)}.py-14{padding-block:calc(var(--spacing)*14)}.py-16{padding-block:calc(var(--spacing)*16)}.py-20{padding-block:calc(var(--spacing)*20)}.py-\[3px\]{padding-block:3px}.py-px{padding-block:1px}.pt-0\.5{padding-top:calc(var(--spacing)*.5)}.pt-1{padding-top:calc(var(--spacing)*1)}.pt-1\.5{padding-top:calc(var(--spacing)*1.5)}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-2\.5{padding-top:calc(var(--spacing)*2.5)}.pt-3{padding-top:calc(var(--spacing)*3)}.pt-4{padding-top:calc(var(--spacing)*4)}.pt-5{padding-top:calc(var(--spacing)*5)}.pt-6{padding-top:calc(var(--spacing)*6)}.pr-0\.5{padding-right:calc(var(--spacing)*.5)}.pr-1{padding-right:calc(var(--spacing)*1)}.pr-2{padding-right:calc(var(--spacing)*2)}.pr-8{padding-right:calc(var(--spacing)*8)}.pb-0\.5{padding-bottom:calc(var(--spacing)*.5)}.pb-1{padding-bottom:calc(var(--spacing)*1)}.pb-1\.5{padding-bottom:calc(var(--spacing)*1.5)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pb-3{padding-bottom:calc(var(--spacing)*3)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.pb-5{padding-bottom:calc(var(--spacing)*5)}.pb-6{padding-bottom:calc(var(--spacing)*6)}.pb-\[8vh\]{padding-bottom:8vh}.pb-\[10vh\]{padding-bottom:10vh}.pl-0{padding-left:calc(var(--spacing)*0)}.pl-1{padding-left:calc(var(--spacing)*1)}.pl-2{padding-left:calc(var(--spacing)*2)}.pl-3{padding-left:calc(var(--spacing)*3)}.pl-4{padding-left:calc(var(--spacing)*4)}.pl-5{padding-left:calc(var(--spacing)*5)}.pl-6\.5{padding-left:calc(var(--spacing)*6.5)}.pl-7{padding-left:calc(var(--spacing)*7)}.pl-8{padding-left:calc(var(--spacing)*8)}.pl-\[72px\]{padding-left:72px}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--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-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[7px\]{font-size:7px}.text-\[8px\]{font-size:8px}.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-4{--tw-leading:calc(var(--spacing)*4);line-height:calc(var(--spacing)*4)}.leading-5{--tw-leading:calc(var(--spacing)*5);line-height:calc(var(--spacing)*5)}.leading-6{--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6)}.leading-\[14px\]{--tw-leading:14px;line-height:14px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.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-\[0\.12em\]{--tw-tracking:.12em;letter-spacing:.12em}.tracking-\[0\.14em\]{--tw-tracking:.14em;letter-spacing:.14em}.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)}.\[overflow-wrap\:anywhere\]{overflow-wrap:anywhere}.break-words,.wrap-break-word{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.\!text-neutral-100{color:var(--color-neutral-100)!important}.text-amber-300{color:var(--color-amber-300)}.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-amber-500{color:var(--color-amber-500)}.text-amber-600{color:var(--color-amber-600)}.text-amber-700{color:var(--color-amber-700)}.text-amber-800{color:var(--color-amber-800)}.text-amber-900{color:var(--color-amber-900)}.text-blue-400{color:var(--color-blue-400)}.text-blue-500{color:var(--color-blue-500)}.text-blue-600{color:var(--color-blue-600)}.text-blue-700{color:var(--color-blue-700)}.text-blue-800{color:var(--color-blue-800)}.text-border{color:var(--border)}.text-brand-foreground{color:var(--brand-foreground)}.text-card-foreground{color:var(--card-foreground)}.text-cyan-600{color:var(--color-cyan-600)}.text-cyan-700{color:var(--color-cyan-700)}.text-destructive,.text-destructive\/80{color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.text-destructive\/80{color:color-mix(in oklab,var(--destructive)80%,transparent)}}.text-destructive\/90{color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.text-destructive\/90{color:color-mix(in oklab,var(--destructive)90%,transparent)}}.text-emerald-400{color:var(--color-emerald-400)}.text-emerald-500{color:var(--color-emerald-500)}.text-emerald-600{color:var(--color-emerald-600)}.text-emerald-700{color:var(--color-emerald-700)}.text-foreground,.text-foreground\/80{color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.text-foreground\/80{color:color-mix(in oklab,var(--foreground)80%,transparent)}}.text-foreground\/90{color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.text-foreground\/90{color:color-mix(in oklab,var(--foreground)90%,transparent)}}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-green-500{color:var(--color-green-500)}.text-indigo-600{color:var(--color-indigo-600)}.text-indigo-700{color:var(--color-indigo-700)}.text-info{color:var(--info)}.text-muted-foreground,.text-muted-foreground\/40{color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/40{color:color-mix(in oklab,var(--muted-foreground)40%,transparent)}}.text-muted-foreground\/50{color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/50{color:color-mix(in oklab,var(--muted-foreground)50%,transparent)}}.text-muted-foreground\/60{color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/60{color:color-mix(in oklab,var(--muted-foreground)60%,transparent)}}.text-muted-foreground\/70{color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/70{color:color-mix(in oklab,var(--muted-foreground)70%,transparent)}}.text-neutral-100{color:var(--color-neutral-100)}.text-neutral-200{color:var(--color-neutral-200)}.text-neutral-300{color:var(--color-neutral-300)}.text-neutral-400{color:var(--color-neutral-400)}.text-neutral-500{color:var(--color-neutral-500)}.text-neutral-600{color:var(--color-neutral-600)}.text-neutral-700{color:var(--color-neutral-700)}.text-neutral-800{color:var(--color-neutral-800)}.text-neutral-900{color:var(--color-neutral-900)}.text-pink-600{color:var(--color-pink-600)}.text-primary{color:var(--primary)}.text-primary-foreground,.text-primary-foreground\/60{color:var(--primary-foreground)}@supports (color:color-mix(in lab,red,red)){.text-primary-foreground\/60{color:color-mix(in oklab,var(--primary-foreground)60%,transparent)}}.text-primary-foreground\/70{color:var(--primary-foreground)}@supports (color:color-mix(in lab,red,red)){.text-primary-foreground\/70{color:color-mix(in oklab,var(--primary-foreground)70%,transparent)}}.text-red-200{color:var(--color-red-200)}.text-red-400{color:var(--color-red-400)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-red-700{color:var(--color-red-700)}.text-red-900{color:var(--color-red-900)}.text-rose-600{color:var(--color-rose-600)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-sky-600{color:var(--color-sky-600)}.text-sky-700{color:var(--color-sky-700)}.text-success,.text-success\/80{color:var(--success)}@supports (color:color-mix(in lab,red,red)){.text-success\/80{color:color-mix(in oklab,var(--success)80%,transparent)}}.text-teal-600{color:var(--color-teal-600)}.text-violet-600{color:var(--color-violet-600)}.text-warning{color:var(--warning)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.decoration-border{-webkit-text-decoration-color:var(--border);text-decoration-color:var(--border)}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.placeholder-muted-foreground\/60::placeholder{color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.placeholder-muted-foreground\/60::placeholder{color:color-mix(in oklab,var(--muted-foreground)60%,transparent)}}.placeholder-muted-foreground\/70::placeholder{color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.placeholder-muted-foreground\/70::placeholder{color:color-mix(in oklab,var(--muted-foreground)70%,transparent)}}.placeholder-neutral-400::placeholder{color:var(--color-neutral-400)}.accent-primary{accent-color:var(--primary)}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.opacity-100{opacity:1}.\!shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a)!important;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)!important}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_-2px_6px_rgba\(0\,0\,0\,0\.02\)\]{--tw-shadow:0 -2px 6px var(--tw-shadow-color,#00000005);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_1px_2px_rgba\(0\,0\,0\,0\.05\)\]{--tw-shadow:0 1px 2px var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_12px_16px_-4px_rgba\(36\,36\,36\,0\.08\)\]{--tw-shadow:0 12px 16px -4px var(--tw-shadow-color,#24242414);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);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px 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)}.shadow-sm{--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)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + 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-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)}.shadow-black\/5{--tw-shadow-color:#0000000d}@supports (color:color-mix(in lab,red,red)){.shadow-black\/5{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-black)5%,transparent)var(--tw-shadow-alpha),transparent)}}.shadow-neutral-200\/50{--tw-shadow-color:#e5e5e580}@supports (color:color-mix(in lab,red,red)){.shadow-neutral-200\/50{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-neutral-200)50%,transparent)var(--tw-shadow-alpha),transparent)}}.shadow-neutral-200\/70{--tw-shadow-color:#e5e5e5b3}@supports (color:color-mix(in lab,red,red)){.shadow-neutral-200\/70{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-neutral-200)70%,transparent)var(--tw-shadow-alpha),transparent)}}.ring-blue-200{--tw-ring-color:var(--color-blue-200)}.ring-foreground\/5{--tw-ring-color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.ring-foreground\/5{--tw-ring-color:color-mix(in oklab,var(--foreground)5%,transparent)}}.ring-foreground\/\[0\.04\]{--tw-ring-color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.ring-foreground\/\[0\.04\]{--tw-ring-color:color-mix(in oklab,var(--foreground)4%,transparent)}}.ring-info\/30{--tw-ring-color:var(--info)}@supports (color:color-mix(in lab,red,red)){.ring-info\/30{--tw-ring-color:color-mix(in oklab,var(--info)30%,transparent)}}.ring-info\/40{--tw-ring-color:var(--info)}@supports (color:color-mix(in lab,red,red)){.ring-info\/40{--tw-ring-color:color-mix(in oklab,var(--info)40%,transparent)}}.ring-neutral-900\/10{--tw-ring-color:#1717171a}@supports (color:color-mix(in lab,red,red)){.ring-neutral-900\/10{--tw-ring-color:color-mix(in oklab,var(--color-neutral-900)10%,transparent)}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-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));-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,)}.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-\[max-height\]{transition-property:max-height;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-shadow{transition-property:box-shadow;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-100{--tw-duration:.1s;transition-duration:.1s}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-all{-webkit-user-select:all;user-select:all}.select-none{-webkit-user-select:none;user-select:none}.zoom-in-95{--tw-enter-scale:.95}.fade-in{--tw-enter-opacity:0}.running{animation-play-state:running}.group-open\:rotate-180:is(:where(.group):is([open],:popover-open,:open) *){rotate:180deg}@media(hover:hover){.group-hover\:flex:is(:where(.group):hover *){display:flex}.group-hover\:inline-flex:is(:where(.group):hover *){display:inline-flex}.group-hover\:bg-muted-foreground\/60:is(:where(.group):hover *){background-color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.group-hover\:bg-muted-foreground\/60:is(:where(.group):hover *){background-color:color-mix(in oklab,var(--muted-foreground)60%,transparent)}}.group-hover\:text-neutral-400:is(:where(.group):hover *){color:var(--color-neutral-400)}.group-hover\:text-neutral-700:is(:where(.group):hover *){color:var(--color-neutral-700)}.group-hover\:text-neutral-900:is(:where(.group):hover *){color:var(--color-neutral-900)}.group-hover\:opacity-100:is(:where(.group):hover *),.group-hover\/tooltip\:opacity-100:is(:where(.group\/tooltip):hover *){opacity:1}}.placeholder\:text-muted-foreground\/60::placeholder{color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.placeholder\:text-muted-foreground\/60::placeholder{color:color-mix(in oklab,var(--muted-foreground)60%,transparent)}}.placeholder\:text-muted-foreground\/70::placeholder{color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.placeholder\:text-muted-foreground\/70::placeholder{color:color-mix(in oklab,var(--muted-foreground)70%,transparent)}}.placeholder\:text-neutral-400::placeholder{color:var(--color-neutral-400)}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:top-1:before{content:var(--tw-content);top:calc(var(--spacing)*1)}.before\:bottom-2:before{content:var(--tw-content);bottom:calc(var(--spacing)*2)}.before\:left-\[7px\]:before{content:var(--tw-content);left:7px}.before\:w-px:before{content:var(--tw-content);width:1px}.before\:bg-neutral-100:before{content:var(--tw-content);background-color:var(--color-neutral-100)}.first\:border-t-0:first-child{border-top-style:var(--tw-border-style);border-top-width:0}.first\:pt-0:first-child{padding-top:calc(var(--spacing)*0)}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.focus-within\:border-neutral-300:focus-within{border-color:var(--color-neutral-300)}.focus-within\:border-ring\/60:focus-within{border-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.focus-within\:border-ring\/60:focus-within{border-color:color-mix(in oklab,var(--ring)60%,transparent)}}.focus-within\:shadow-md:focus-within{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px 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)}.focus-within\:ring-1:focus-within{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + 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-within\:ring-neutral-300:focus-within{--tw-ring-color:var(--color-neutral-300)}@media(hover:hover){.hover\:border-border:hover{border-color:var(--border)}.hover\:border-muted-foreground\/40:hover{border-color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.hover\:border-muted-foreground\/40:hover{border-color:color-mix(in oklab,var(--muted-foreground)40%,transparent)}}.hover\:border-neutral-200:hover{border-color:var(--color-neutral-200)}.hover\:border-neutral-300:hover{border-color:var(--color-neutral-300)}.hover\:border-neutral-400:hover{border-color:var(--color-neutral-400)}.hover\:border-ring\/40:hover{border-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.hover\:border-ring\/40:hover{border-color:color-mix(in oklab,var(--ring)40%,transparent)}}.hover\:bg-\[\#333\]:hover{background-color:#333}.hover\:bg-\[\#444\]:hover{background-color:#444}.hover\:bg-\[\#383838\]:hover{background-color:#383838}.hover\:bg-accent:hover,.hover\:bg-accent\/50:hover{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-accent\/50:hover{background-color:color-mix(in oklab,var(--accent)50%,transparent)}}.hover\:bg-amber-50:hover{background-color:var(--color-amber-50)}.hover\:bg-amber-200:hover{background-color:var(--color-amber-200)}.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-background:hover,.hover\:bg-background\/60:hover{background-color:var(--background)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-background\/60:hover{background-color:color-mix(in oklab,var(--background)60%,transparent)}}.hover\:bg-black:hover{background-color:var(--color-black)}.hover\:bg-blue-300:hover{background-color:var(--color-blue-300)}.hover\:bg-border:hover{background-color:var(--border)}.hover\:bg-brand\/90:hover{background-color:var(--brand)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-brand\/90:hover{background-color:color-mix(in oklab,var(--brand)90%,transparent)}}.hover\:bg-destructive\/10:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/10:hover{background-color:color-mix(in oklab,var(--destructive)10%,transparent)}}.hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive)90%,transparent)}}.hover\:bg-emerald-50:hover{background-color:var(--color-emerald-50)}.hover\:bg-emerald-100:hover{background-color:var(--color-emerald-100)}.hover\:bg-emerald-700:hover{background-color:var(--color-emerald-700)}.hover\:bg-info\/5:hover{background-color:var(--info)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-info\/5:hover{background-color:color-mix(in oklab,var(--info)5%,transparent)}}.hover\:bg-info\/15:hover{background-color:var(--info)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-info\/15:hover{background-color:color-mix(in oklab,var(--info)15%,transparent)}}.hover\:bg-info\/30:hover{background-color:var(--info)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-info\/30:hover{background-color:color-mix(in oklab,var(--info)30%,transparent)}}.hover\:bg-muted:hover,.hover\:bg-muted\/40:hover{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-muted\/40:hover{background-color:color-mix(in oklab,var(--muted)40%,transparent)}}.hover\:bg-muted\/50:hover{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-muted\/50:hover{background-color:color-mix(in oklab,var(--muted)50%,transparent)}}.hover\:bg-muted\/55:hover{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-muted\/55:hover{background-color:color-mix(in oklab,var(--muted)55%,transparent)}}.hover\:bg-muted\/60:hover{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-muted\/60:hover{background-color:color-mix(in oklab,var(--muted)60%,transparent)}}.hover\:bg-muted\/70:hover{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-muted\/70:hover{background-color:color-mix(in oklab,var(--muted)70%,transparent)}}.hover\:bg-neutral-50:hover{background-color:var(--color-neutral-50)}.hover\:bg-neutral-50\/80:hover{background-color:#fafafacc}@supports (color:color-mix(in lab,red,red)){.hover\:bg-neutral-50\/80:hover{background-color:color-mix(in oklab,var(--color-neutral-50)80%,transparent)}}.hover\:bg-neutral-100:hover{background-color:var(--color-neutral-100)}.hover\:bg-neutral-100\/80:hover{background-color:#f5f5f5cc}@supports (color:color-mix(in lab,red,red)){.hover\:bg-neutral-100\/80:hover{background-color:color-mix(in oklab,var(--color-neutral-100)80%,transparent)}}.hover\:bg-neutral-200:hover{background-color:var(--color-neutral-200)}.hover\:bg-neutral-200\/50:hover{background-color:#e5e5e580}@supports (color:color-mix(in lab,red,red)){.hover\:bg-neutral-200\/50:hover{background-color:color-mix(in oklab,var(--color-neutral-200)50%,transparent)}}.hover\:bg-neutral-800:hover{background-color:var(--color-neutral-800)}.hover\:bg-neutral-900:hover{background-color:var(--color-neutral-900)}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary)90%,transparent)}}.hover\:bg-red-50:hover{background-color:var(--color-red-50)}.hover\:bg-red-100:hover{background-color:var(--color-red-100)}.hover\:bg-red-600:hover{background-color:var(--color-red-600)}.hover\:bg-red-700:hover{background-color:var(--color-red-700)}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,var(--secondary)80%,transparent)}}.hover\:bg-success\/15:hover{background-color:var(--success)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-success\/15:hover{background-color:color-mix(in oklab,var(--success)15%,transparent)}}.hover\:bg-warning\/15:hover{background-color:var(--warning)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-warning\/15:hover{background-color:color-mix(in oklab,var(--warning)15%,transparent)}}.hover\:bg-white:hover{background-color:var(--color-white)}.hover\:bg-white\/15:hover{background-color:#ffffff26}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/15:hover{background-color:color-mix(in oklab,var(--color-white)15%,transparent)}}.hover\:bg-white\/20:hover{background-color:#fff3}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/20:hover{background-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.hover\:bg-white\/80:hover{background-color:#fffc}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/80:hover{background-color:color-mix(in oklab,var(--color-white)80%,transparent)}}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:text-amber-300:hover{color:var(--color-amber-300)}.hover\:text-destructive:hover{color:var(--destructive)}.hover\:text-emerald-600:hover{color:var(--color-emerald-600)}.hover\:text-emerald-800:hover{color:var(--color-emerald-800)}.hover\:text-foreground:hover,.hover\:text-foreground\/80:hover{color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.hover\:text-foreground\/80:hover{color:color-mix(in oklab,var(--foreground)80%,transparent)}}.hover\:text-muted-foreground:hover{color:var(--muted-foreground)}.hover\:text-neutral-300:hover{color:var(--color-neutral-300)}.hover\:text-neutral-500:hover{color:var(--color-neutral-500)}.hover\:text-neutral-600:hover{color:var(--color-neutral-600)}.hover\:text-neutral-700:hover{color:var(--color-neutral-700)}.hover\:text-neutral-900:hover{color:var(--color-neutral-900)}.hover\:text-red-500:hover{color:var(--color-red-500)}.hover\:text-red-600:hover{color:var(--color-red-600)}.hover\:text-red-700:hover{color:var(--color-red-700)}.hover\:text-red-800:hover{color:var(--color-red-800)}.hover\:text-white:hover{color:var(--color-white)}.hover\:no-underline:hover{text-decoration-line:none}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-80:hover{opacity:.8}.hover\:opacity-90:hover{opacity:.9}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px 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)}.hover\:shadow-sm:hover{--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)}}.focus\:border-emerald-300:focus{border-color:var(--color-emerald-300)}.focus\:border-emerald-400:focus{border-color:var(--color-emerald-400)}.focus\:border-neutral-300:focus{border-color:var(--color-neutral-300)}.focus\:border-neutral-400:focus{border-color:var(--color-neutral-400)}.focus\:border-ring:focus{border-color:var(--ring)}.focus\:bg-background:focus{background-color:var(--background)}.focus\:bg-white:focus{background-color:var(--color-white)}.focus\:ring-0:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + 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\: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);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);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-blue-500:focus{--tw-ring-color:var(--color-blue-500)}.focus\:ring-emerald-500\/20:focus{--tw-ring-color:#00bb7f33}@supports (color:color-mix(in lab,red,red)){.focus\:ring-emerald-500\/20:focus{--tw-ring-color:color-mix(in oklab,var(--color-emerald-500)20%,transparent)}}.focus\:ring-neutral-300:focus{--tw-ring-color:var(--color-neutral-300)}.focus\:ring-neutral-900:focus{--tw-ring-color:var(--color-neutral-900)}.focus\:ring-neutral-900\/15:focus{--tw-ring-color:#17171726}@supports (color:color-mix(in lab,red,red)){.focus\:ring-neutral-900\/15:focus{--tw-ring-color:color-mix(in oklab,var(--color-neutral-900)15%,transparent)}}.focus\:ring-ring\/30:focus{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.focus\:ring-ring\/30:focus{--tw-ring-color:color-mix(in oklab,var(--ring)30%,transparent)}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus\:ring-inset:focus{--tw-ring-inset:inset}.focus-visible\:border-ring:focus-visible{border-color: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:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.focus-visible\:ring-neutral-300:focus-visible{--tw-ring-color:var(--color-neutral-300)}.focus-visible\:ring-ring\/40:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-ring\/40:focus-visible{--tw-ring-color:color-mix(in oklab,var(--ring)40%,transparent)}}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab,var(--ring)50%,transparent)}}.focus-visible\:ring-ring\/60:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-ring\/60:focus-visible{--tw-ring-color:color-mix(in oklab,var(--ring)60%,transparent)}}.focus-visible\:ring-offset-1:focus-visible{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.focus-visible\:ring-inset:focus-visible{--tw-ring-inset:inset}.active\:bg-black:active{background-color:var(--color-black)}.active\:bg-neutral-50:active{background-color:var(--color-neutral-50)}.active\:bg-neutral-100:active{background-color:var(--color-neutral-100)}.active\:bg-red-50:active{background-color:var(--color-red-50)}.active\:bg-red-600:active{background-color:var(--color-red-600)}.active\:bg-ring\/40:active{background-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.active\:bg-ring\/40:active{background-color:color-mix(in oklab,var(--ring)40%,transparent)}}.active\:bg-white:active{background-color:var(--color-white)}.active\:text-foreground:active{color:var(--foreground)}.active\:text-neutral-600:active{color:var(--color-neutral-600)}.active\:text-neutral-700:active{color:var(--color-neutral-700)}.active\:text-neutral-900:active{color:var(--color-neutral-900)}.active\:opacity-90:active{opacity:.9}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-muted:disabled,.disabled\:bg-muted\/50:disabled{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.disabled\:bg-muted\/50:disabled{background-color:color-mix(in oklab,var(--muted)50%,transparent)}}.disabled\:bg-neutral-50:disabled{background-color:var(--color-neutral-50)}.disabled\:bg-neutral-100:disabled{background-color:var(--color-neutral-100)}.disabled\:text-muted-foreground:disabled{color:var(--muted-foreground)}.disabled\:text-neutral-400:disabled{color:var(--color-neutral-400)}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-45:disabled{opacity:.45}.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:var(--destructive)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color: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,var(--destructive)20%,transparent)}}@media(prefers-reduced-motion:reduce){.motion-reduce\:animate-none{animation:none}.motion-reduce\:transition-none{transition-property:none}}@media(min-width:40rem){.sm\:-mx-8{margin-inline:calc(var(--spacing)*-8)}.sm\:flex{display:flex}.sm\:hidden{display:none}.sm\:inline{display:inline}.sm\:inline-flex{display:inline-flex}.sm\:h-16{height:calc(var(--spacing)*16)}.sm\:h-\[min\(calc\(100vh-3rem\)\,840px\)\]{height:min(100vh - 3rem,840px)}.sm\:w-16{width:calc(var(--spacing)*16)}.sm\:w-\[260px\]{width:260px}.sm\:max-w-\[360px\]{max-width:360px}.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-start{align-items:flex-start}.sm\:justify-between{justify-content:space-between}.sm\:gap-8{gap:calc(var(--spacing)*8)}.sm\:p-6{padding:calc(var(--spacing)*6)}.sm\:px-6{padding-inline:calc(var(--spacing)*6)}.sm\:px-8{padding-inline:calc(var(--spacing)*8)}.sm\:py-6{padding-block:calc(var(--spacing)*6)}.sm\:pt-2{padding-top:calc(var(--spacing)*2)}.sm\:pr-14{padding-right:calc(var(--spacing)*14)}.sm\:pl-11{padding-left:calc(var(--spacing)*11)}.sm\:pl-14{padding-left:calc(var(--spacing)*14)}}@media(min-width:48rem){.md\:flex{display:flex}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:64rem){.lg\:block{display:block}.lg\:hidden{display:none}.lg\:h-\[calc\(100vh-16rem\)\]{height:calc(100vh - 16rem)}.lg\:h-\[min\(42rem\,calc\(100vh-13rem\)\)\]{height:min(42rem,100vh - 13rem)}.lg\:max-h-\[640px\]{max-height:640px}.lg\:max-h-none{max-height:none}.lg\:min-h-0{min-height:calc(var(--spacing)*0)}.lg\:min-h-\[34rem\]{min-height:34rem}.lg\:flex-1{flex:1}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-\[20rem_minmax\(0\,1fr\)\]{grid-template-columns:20rem minmax(0,1fr)}.lg\:grid-cols-\[240px_minmax\(0\,1fr\)\]{grid-template-columns:240px minmax(0,1fr)}.lg\:overflow-hidden{overflow:hidden}.lg\:overflow-y-auto{overflow-y:auto}.lg\:border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.lg\:border-b-0{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.lg\:pr-1{padding-right:calc(var(--spacing)*1)}}@media(min-width:80rem){.xl\:inline{display:inline}.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.dark\:border-input:is(.dark *){border-color:var(--input)}.dark\:bg-destructive\/60:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-destructive\/60:is(.dark *){background-color:color-mix(in oklab,var(--destructive)60%,transparent)}}.dark\:bg-input\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-input\/30:is(.dark *){background-color:color-mix(in oklab,var(--input)30%,transparent)}}@media(hover:hover){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--accent)50%,transparent)}}.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--input)50%,transparent)}}}.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color: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,var(--destructive)40%,transparent)}}.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color: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,var(--destructive)40%,transparent)}}.prose-headings\:mt-3 :where(h1,h2,h3,h4,h5,h6,th):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:calc(var(--spacing)*3)}.prose-headings\:mb-2 :where(h1,h2,h3,h4,h5,h6,th):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:calc(var(--spacing)*2)}.prose-headings\:leading-snug :where(h1,h2,h3,h4,h5,h6,th):not(:where([class~=not-prose],[class~=not-prose] *)){--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.prose-headings\:font-semibold :where(h1,h2,h3,h4,h5,h6,th):not(:where([class~=not-prose],[class~=not-prose] *)){--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.prose-headings\:text-white :where(h1,h2,h3,h4,h5,h6,th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--color-white)}.prose-p\:my-2 :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-block:calc(var(--spacing)*2)}.prose-p\:leading-6 :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6)}.prose-p\:first\:mt-0 :where(p):not(:where([class~=not-prose],[class~=not-prose] *)):first-child{margin-top:calc(var(--spacing)*0)}.prose-p\:last\:mb-0 :where(p):not(:where([class~=not-prose],[class~=not-prose] *)):last-child{margin-bottom:calc(var(--spacing)*0)}.prose-a\:text-blue-200 :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--color-blue-200)}.prose-a\:text-blue-600 :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--color-blue-600)}.prose-a\:underline-offset-2 :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){text-underline-offset:2px}@media(hover:hover){.hover\:prose-a\:text-blue-100:hover :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--color-blue-100)}.hover\:prose-a\:text-blue-700:hover :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--color-blue-700)}}.prose-blockquote\:my-2 :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-block:calc(var(--spacing)*2)}.prose-blockquote\:border-l-2 :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){border-left-style:var(--tw-border-style);border-left-width:2px}.prose-blockquote\:border-neutral-300 :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--color-neutral-300)}.prose-blockquote\:border-white\/30 :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:#ffffff4d}@supports (color:color-mix(in lab,red,red)){.prose-blockquote\:border-white\/30 :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:color-mix(in oklab,var(--color-white)30%,transparent)}}.prose-blockquote\:pl-3 :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){padding-left:calc(var(--spacing)*3)}.prose-blockquote\:text-neutral-200 :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--color-neutral-200)}.prose-blockquote\:text-neutral-600 :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--color-neutral-600)}.prose-strong\:text-neutral-900 :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--color-neutral-900)}.prose-strong\:text-white :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--color-white)}.prose-code\:rounded :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){border-radius:.25rem}.prose-code\:bg-neutral-100 :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:var(--color-neutral-100)}.prose-code\:bg-white\/15 :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:#ffffff26}@supports (color:color-mix(in lab,red,red)){.prose-code\:bg-white\/15 :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:color-mix(in oklab,var(--color-white)15%,transparent)}}.prose-code\:px-1 :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline:calc(var(--spacing)*1)}.prose-code\:py-0\.5 :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){padding-block:calc(var(--spacing)*.5)}.prose-code\:text-\[0\.9em\] :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.9em}.prose-code\:font-medium :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.prose-code\:break-words :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){overflow-wrap:break-word}.prose-code\:text-neutral-800 :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--color-neutral-800)}.prose-code\:text-white :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--color-white)}.prose-pre\:my-3 :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){margin-block:calc(var(--spacing)*3)}.prose-pre\:max-w-full :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){max-width:100%}.prose-pre\:overflow-x-auto :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){overflow-x:auto}.prose-pre\:rounded-md :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){border-radius:calc(var(--radius) - 2px)}.prose-pre\:border :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){border-style:var(--tw-border-style);border-width:1px}.prose-pre\:border-neutral-700 :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--color-neutral-700)}.prose-pre\:border-neutral-800 :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--color-neutral-800)}.prose-pre\:bg-neutral-950 :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:var(--color-neutral-950)}.prose-pre\:p-3 :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){padding:calc(var(--spacing)*3)}.prose-pre\:text-xs :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.prose-pre\:leading-relaxed :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.prose-pre\:shadow-inner :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){--tw-shadow:inset 0 2px 4px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.prose-pre\:prose-code\:bg-transparent :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)) :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:#0000}.prose-pre\:prose-code\:p-0 :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)) :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){padding:calc(var(--spacing)*0)}.prose-pre\:prose-code\:text-neutral-100 :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)) :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--color-neutral-100)}.prose-ol\:my-2 :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-ul\:my-2 :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-block:calc(var(--spacing)*2)}.prose-li\:my-1 :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-block:calc(var(--spacing)*1)}.prose-li\:pl-0 :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-left:calc(var(--spacing)*0)}.prose-li\:leading-6 :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6)}.prose-li\:marker\:text-neutral-400 :where(li):not(:where([class~=not-prose],[class~=not-prose] *)) ::marker{color:var(--color-neutral-400)}.prose-li\:marker\:text-neutral-400 :where(li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--color-neutral-400)}.prose-li\:marker\:text-neutral-400 :where(li):not(:where([class~=not-prose],[class~=not-prose] *)) ::-webkit-details-marker{color:var(--color-neutral-400)}.prose-li\:marker\:text-neutral-400 :where(li):not(:where([class~=not-prose],[class~=not-prose] *))::-webkit-details-marker{color:var(--color-neutral-400)}.prose-hr\:my-3 :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-block:calc(var(--spacing)*3)}.prose-hr\:border-neutral-200 :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--color-neutral-200)}.prose-hr\:border-white\/15 :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:#ffffff26}@supports (color:color-mix(in lab,red,red)){.prose-hr\:border-white\/15 :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:color-mix(in oklab,var(--color-white)15%,transparent)}}.\[\&_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)}.\[\&\:\:-webkit-details-marker\]\:hidden::-webkit-details-marker{display:none}.\[\.border-b\]\:pb-6.border-b{padding-bottom:calc(var(--spacing)*6)}.\[\.border-t\]\:pt-6.border-t{padding-top:calc(var(--spacing)*6)}.\[\&\>p\]\:inline>p{display:inline}.app-region-drag{-webkit-app-region:drag}.app-region-no-drag{-webkit-app-region:no-drag}.active-work-dots{text-align:left;width:1.5em;display:inline-block}.active-work-dots__second{animation:1.8s step-end infinite active-work-dot-2}.active-work-dots__third{animation:1.8s step-end infinite active-work-dot-3}@keyframes active-work-dot-2{0%{opacity:0}33%,to{opacity:1}}@keyframes active-work-dot-3{0%,33%{opacity:0}66%,to{opacity:1}}@media(prefers-reduced-motion:reduce){.active-work-dots__second,.active-work-dots__third{animation:none}}.scrollbar-app{--scrollbar-current-size:var(--scrollbar-size);scrollbar-color:var(--scrollbar-thumb)var(--scrollbar-track);scrollbar-width:auto}.scrollbar-app-thin{--scrollbar-current-size:var(--scrollbar-thin-size);scrollbar-color:var(--scrollbar-thumb)var(--scrollbar-track);scrollbar-width:thin}.scrollbar-app::-webkit-scrollbar{width:var(--scrollbar-current-size);height:var(--scrollbar-current-size)}.scrollbar-app-thin::-webkit-scrollbar{width:var(--scrollbar-current-size);height:var(--scrollbar-current-size)}.scrollbar-app::-webkit-scrollbar-track{background:var(--scrollbar-track)}.scrollbar-app-thin::-webkit-scrollbar-track{background:var(--scrollbar-track)}.scrollbar-app::-webkit-scrollbar-corner{background:var(--scrollbar-track)}.scrollbar-app-thin::-webkit-scrollbar-corner{background:var(--scrollbar-track)}.scrollbar-app::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:var(--scrollbar-radius)}.scrollbar-app-thin::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:var(--scrollbar-radius)}.scrollbar-app::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.scrollbar-app-thin::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.pb-safe{padding-bottom:env(safe-area-inset-bottom,0px)}.pt-safe{padding-top:env(safe-area-inset-top,0px)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes taskSlideIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.animate-task-enter{animation:.25s cubic-bezier(.16,1,.3,1) taskSlideIn}@media(prefers-reduced-motion:reduce){.animate-task-enter{animation:none}}}@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{--radius:.625rem;--background:oklch(100% 0 0);--foreground:oklch(24% .006 258);--card:oklch(100% 0 0);--card-foreground:oklch(24% .006 258);--popover:oklch(100% 0 0);--popover-foreground:oklch(24% .006 258);--primary:oklch(23.5% .015 252);--primary-foreground:oklch(98.5% .002 264);--secondary:oklch(96.7% .003 264);--secondary-foreground:oklch(24% .006 258);--muted:oklch(96.7% .003 264);--muted-foreground:oklch(55% .016 262);--accent:oklch(96.7% .003 264);--accent-foreground:oklch(24% .006 258);--destructive:oklch(57.7% .245 27.325);--brand:oklch(23.5% .015 252);--brand-foreground:oklch(98.5% .002 264);--success:oklch(62.7% .194 149.214);--success-foreground:oklch(98.5% .002 264);--warning:oklch(66.6% .179 58.318);--warning-foreground:oklch(98.5% .002 264);--info:oklch(54.6% .245 262.881);--info-foreground:oklch(98.5% .002 264);--border:oklch(92.8% .006 264.531);--input:oklch(92.8% .006 264.531);--ring:oklch(70.8% .008 264);--chart-1:oklch(62.3% .214 259.815);--chart-2:oklch(69.6% .17 162.48);--chart-3:oklch(76.9% .188 70.08);--chart-4:oklch(60.6% .25 292.717);--chart-5:oklch(64.5% .246 16.439);--sidebar:oklch(98.5% .002 264);--sidebar-foreground:oklch(24% .006 258);--sidebar-primary:oklch(23.5% .015 252);--sidebar-primary-foreground:oklch(98.5% .002 264);--sidebar-accent:oklch(96.7% .003 264);--sidebar-accent-foreground:oklch(24% .006 258);--sidebar-border:oklch(92.8% .006 264.531);--sidebar-ring:oklch(70.8% .008 264);--scrollbar-size:8px;--scrollbar-thin-size:4px;--scrollbar-radius:9999px;--scrollbar-track:transparent;--scrollbar-thumb:oklch(84% .004 264);--scrollbar-thumb-hover:oklch(70.8% .008 264)}.dark{--background:oklch(14.5% 0 0);--foreground:oklch(98.5% 0 0);--card:oklch(20.5% 0 0);--card-foreground:oklch(98.5% 0 0);--popover:oklch(20.5% 0 0);--popover-foreground:oklch(98.5% 0 0);--primary:oklch(92.2% 0 0);--primary-foreground:oklch(20.5% 0 0);--secondary:oklch(26.9% 0 0);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(26.9% 0 0);--muted-foreground:oklch(70.8% 0 0);--accent:oklch(26.9% 0 0);--accent-foreground:oklch(98.5% 0 0);--destructive:oklch(70.4% .191 22.216);--brand:oklch(62.3% .214 259.815);--brand-foreground:oklch(98.5% .002 264);--success:oklch(69.6% .17 162.48);--success-foreground:oklch(20.5% 0 0);--warning:oklch(76.9% .188 70.08);--warning-foreground:oklch(20.5% 0 0);--info:oklch(62.3% .214 259.815);--info-foreground:oklch(20.5% 0 0);--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.15);--ring:oklch(55.6% 0 0);--chart-1:oklch(48.8% .243 264.376);--chart-2:oklch(69.6% .17 162.48);--chart-3:oklch(76.9% .188 70.08);--chart-4:oklch(62.7% .265 303.9);--chart-5:oklch(64.5% .246 16.439);--sidebar:oklch(20.5% 0 0);--sidebar-foreground:oklch(98.5% 0 0);--sidebar-primary:oklch(48.8% .243 264.376);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(26.9% 0 0);--sidebar-accent-foreground:oklch(98.5% 0 0);--sidebar-border:oklch(100% 0 0/.1);--sidebar-ring:oklch(55.6% 0 0);--scrollbar-thumb:oklch(43.9% 0 0);--scrollbar-thumb-hover:oklch(55.6% 0 0)}@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-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}@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-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:""}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes pulse{50%{opacity:.5}}@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))}}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var i;(function(t){t.TODO="TODO",t.IN_PROGRESS="IN_PROGRESS",t.IN_REVIEW="IN_REVIEW",t.DONE="DONE",t.CANCELLED="CANCELLED"})(i||(i={}));var c;(function(t){t.ACTIVE="ACTIVE",t.MERGED="MERGED",t.ABANDONED="ABANDONED",t.HIBERNATED="HIBERNATED"})(c||(c={}));var E;(function(t){t.WORKTREE="WORKTREE",t.MAIN_DIRECTORY="MAIN_DIRECTORY"})(E||(E={}));var r;(function(t){t.CLAUDE_CODE="CLAUDE_CODE",t.GEMINI_CLI="GEMINI_CLI",t.CURSOR_AGENT="CURSOR_AGENT",t.CODEX="CODEX"})(r||(r={}));var d;(function(t){t.PENDING="PENDING",t.RUNNING="RUNNING",t.COMPLETED="COMPLETED",t.FAILED="FAILED",t.CANCELLED="CANCELLED"})(d||(d={}));var l;(function(t){t.CHAT="CHAT",t.COMMIT_MSG="COMMIT_MSG"})(l||(l={}));var u;(function(t){t.REBASE="REBASE",t.MERGE="MERGE"})(u||(u={}));var n;(function(t){t.Action="Action",t.Assistant="Assistant",t.Info="Info",t.Tool="Tool",t.User="User",t.Cursor="Cursor",t.Error="Error"})(n||(n={}));function C(t){const e=t.metadata?.toolName||"Tool",a=t.metadata?.action,s=t.metadata?.status,o=a?{file_read:"Read File",file_edit:"Edit File",command_run:"Run Command",search:"Search",web_fetch:"Fetch URL",tool:"Tool",task_create:"Create Task",plan_presentation:"Present Plan",todo_management:"Manage Todo",other:"Action"}[a]:e;return s==="success"?`${o} ✓`:s==="failed"?`${o} ✗`:s==="pending_approval"?`${o} (待审批)`:o}function N(t){switch(t.entryType){case"user_message":case"user_feedback":return{id:t.id,type:n.User,content:t.content};case"assistant_message":return{id:t.id,type:n.Assistant,content:t.content};case"next_action":return{id:t.id,type:n.Action,content:t.content};case"thinking":return{id:t.id,type:n.Info,title:"Thinking",content:t.content};case"tool_use":return{id:t.id,type:n.Tool,title:C(t),content:t.content,isCollapsed:t.metadata?.status==="success",tool:{action:t.metadata?.action,name:t.metadata?.toolName,id:t.metadata?.toolId,status:t.metadata?.status}};case"error_message":return{id:t.id,type:n.Error,content:t.content};case"system_message":return{id:t.id,type:n.Info,content:t.content};case"loading":return{id:t.id,type:n.Cursor,content:""};case"token_usage_info":if(t.metadata?.tokenUsage){const{totalTokens:e=0,modelContextWindow:a}=t.metadata.tokenUsage;return{id:t.id,type:n.Info,content:t.content,tokenUsage:{totalTokens:e,modelContextWindow:a}}}return null;default:return null}}function D(t){return t.map(N).filter(e=>e!==null)}function R(){return{id:`cursor-${Date.now()}`,type:n.Cursor,content:""}}export{r as A,u as C,n as L,d as S,i as T,E as W,c as a,R as c,D as n};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{h as o,r as s,N as p,O as u,P as y,j as t,X as b,g as d}from"./index-Bd5HU-dB.js";const k=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]],N=o("plus",k);const v=[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]],M=o("trash-2",v);const j=[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]],g=o("triangle-alert",j),E=({isOpen:r,onClose:n,title:f,children:h,action:l,className:m})=>{const[x,c]=s.useState(!1),i=s.useRef(null),a=s.useRef(!1);return s.useEffect(()=>{if(r){const e=setTimeout(()=>c(!0),0);return a.current||(p(),a.current=!0),()=>clearTimeout(e)}else{const e=setTimeout(()=>c(!1),200);return a.current&&(u(),a.current=!1),()=>clearTimeout(e)}},[r]),s.useEffect(()=>()=>{a.current&&(u(),a.current=!1)},[]),s.useEffect(()=>{if(!r)return;const e=i.current;!e||e.contains(document.activeElement)||e.focus()},[r]),!x&&!r?null:y.createPortal(t.jsxs("div",{className:d("fixed inset-0 z-[60] flex items-center justify-center p-4 transition-opacity duration-200",r?"opacity-100":"opacity-0"),onKeyDown:e=>{e.key==="Escape"&&(e.stopPropagation(),n())},children:[t.jsx("div",{className:"absolute inset-0 bg-white/80 backdrop-blur-sm",onClick:n}),t.jsxs("div",{ref:i,tabIndex:-1,className:d("relative flex max-h-[calc(100vh-2rem)] w-full max-w-lg flex-col overflow-hidden bg-white rounded-xl shadow-2xl shadow-neutral-200/50 border border-neutral-100 transform transition-all duration-200 outline-none",r?"scale-100 translate-y-0":"scale-95 translate-y-2",m),children:[t.jsxs("div",{className:"flex shrink-0 items-center justify-between px-6 py-4 border-b border-neutral-50",children:[t.jsx("h3",{className:"font-semibold text-neutral-900",children:f}),t.jsx("button",{onClick:n,className:"text-neutral-400 hover:text-neutral-900 transition-colors",children:t.jsx(b,{size:18})})]}),t.jsx("div",{className:"min-h-0 flex-1 overflow-y-auto p-6",children:h}),l?t.jsx("div",{className:"shrink-0 px-6 py-4 bg-neutral-50 rounded-b-xl border-t border-neutral-100 flex justify-end gap-3",children:l}):null]})]}),document.body)};export{E as M,N as P,M as T,g as a};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{s as e,b as r,a,S as s}from"./chunk-AQP2D5EJ-njbMVjqc.js";import{_ as i}from"./index-Du7RXa9t.js";import"./chunk-55IACEB6-CTj6ihx_.js";import"./chunk-2J33WTMH-BnpAjP2E.js";import"./index-Bd5HU-dB.js";var p={parser:a,get db(){return new s(2)},renderer:r,styles:e,init:i(t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")};export{p as diagram};
|