@customize-agent/server 4.58.0 → 4.59.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/.next/BUILD_ID +1 -1
- package/.next/build-manifest.json +132 -143
- package/.next/prerender-manifest.json +3 -3
- package/.next/routes-manifest.json +117 -9
- package/.next/server/chunks/1001.js +56 -0
- package/.next/server/chunks/1928.js +1 -1
- package/.next/server/chunks/1936.js +2 -2
- package/.next/server/chunks/2434.js +4 -0
- package/.next/server/chunks/299.js +50 -0
- package/.next/server/chunks/5547.js +350 -0
- package/.next/server/chunks/6087.js +3 -0
- package/.next/server/chunks/6321.js +3 -0
- package/.next/server/chunks/8204.js +1 -1
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/pages/api/assets/generated/preview.js +1 -1
- package/.next/server/pages/api/assets/generated/preview.js.nft.json +1 -1
- package/.next/server/pages/api/assets/generated.js +1 -1
- package/.next/server/pages/api/assets/generated.js.nft.json +1 -1
- package/.next/server/pages/api/config/embedding/healthCheck.js.nft.json +1 -1
- package/.next/server/pages/api/config/healthCheck.js +2 -2
- package/.next/server/pages/api/config/providers.js +2 -2
- package/.next/server/pages/api/documents/canvas/[id].js +2 -0
- package/.next/server/pages/api/documents/canvas/[id].js.nft.json +1 -0
- package/.next/server/pages/api/documents/export.js +3 -3
- package/.next/server/pages/api/documents/export.js.nft.json +1 -1
- package/.next/server/pages/api/documents/generate/preview.js +2 -0
- package/.next/server/pages/api/documents/generate/preview.js.nft.json +1 -0
- package/.next/server/pages/api/documents/generate.js +2 -2
- package/.next/server/pages/api/documents/generate.js.nft.json +1 -1
- package/.next/server/pages/api/documents/generated/[id]/events.js +10 -0
- package/.next/server/pages/api/documents/generated/[id]/events.js.nft.json +1 -0
- package/.next/server/pages/api/documents/generated/[id]/figure/[name].js +1 -0
- package/.next/server/pages/api/documents/generated/[id]/figure/[name].js.nft.json +1 -0
- package/.next/server/pages/api/documents/generated/[id]/nodes/[nodeId].js +2 -0
- package/.next/server/pages/api/documents/generated/[id]/nodes/[nodeId].js.nft.json +1 -0
- package/.next/server/pages/api/documents/generated/[id]/nodes.js +2 -0
- package/.next/server/pages/api/documents/generated/[id]/nodes.js.nft.json +1 -0
- package/.next/server/pages/api/documents/generated/[id]/pause.js +2 -0
- package/.next/server/pages/api/documents/generated/[id]/pause.js.nft.json +1 -0
- package/.next/server/pages/api/documents/generated/[id]/preview.js +2 -0
- package/.next/server/pages/api/documents/generated/[id]/preview.js.nft.json +1 -0
- package/.next/server/pages/api/documents/generated/[id]/repair/[rid]/confirm.js +1 -0
- package/.next/server/pages/api/documents/generated/[id]/repair/[rid]/confirm.js.nft.json +1 -0
- package/.next/server/pages/api/documents/generated/[id]/repair/[rid]/rollback.js +1 -0
- package/.next/server/pages/api/documents/generated/[id]/repair/[rid]/rollback.js.nft.json +1 -0
- package/.next/server/pages/api/documents/generated/[id]/repair.js +1 -0
- package/.next/server/pages/api/documents/generated/[id]/repair.js.nft.json +1 -0
- package/.next/server/pages/api/documents/generated/[id]/resume-generate.js +2 -0
- package/.next/server/pages/api/documents/generated/[id]/resume-generate.js.nft.json +1 -0
- package/.next/server/pages/api/documents/generated/[id].js +2 -2
- package/.next/server/pages/api/documents/generated/[id].js.nft.json +1 -1
- package/.next/server/pages/api/documents/generated.js +1 -1
- package/.next/server/pages/api/documents/generated.js.nft.json +1 -1
- package/.next/server/pages/api/jobs/[id].js +1 -1
- package/.next/server/pages/api/jobs/[id].js.nft.json +1 -1
- package/.next/server/pages/api/jobs.js +1 -1
- package/.next/server/pages/api/jobs.js.nft.json +1 -1
- package/.next/server/pages/api/kb/categories.js +2 -2
- package/.next/server/pages/api/kb/categories.js.nft.json +1 -1
- package/.next/server/pages/api/kb/duplicates.js +2 -2
- package/.next/server/pages/api/kb/duplicates.js.nft.json +1 -1
- package/.next/server/pages/api/kb/evaluate.js +3 -3
- package/.next/server/pages/api/kb/evaluate.js.nft.json +1 -1
- package/.next/server/pages/api/kb/files/detail.js +4 -4
- package/.next/server/pages/api/kb/files/detail.js.nft.json +1 -1
- package/.next/server/pages/api/kb/files/export.js +3 -3
- package/.next/server/pages/api/kb/files/export.js.nft.json +1 -1
- package/.next/server/pages/api/kb/files/open.js +2 -2
- package/.next/server/pages/api/kb/files/open.js.nft.json +1 -1
- package/.next/server/pages/api/kb/files/preview-pdf-page.js +1 -1
- package/.next/server/pages/api/kb/files/preview-pdf-page.js.nft.json +1 -1
- package/.next/server/pages/api/kb/files/reindex.js +1 -1
- package/.next/server/pages/api/kb/files/reindex.js.nft.json +1 -1
- package/.next/server/pages/api/kb/files/search.js +3 -3
- package/.next/server/pages/api/kb/files/search.js.nft.json +1 -1
- package/.next/server/pages/api/kb/files/tree.js +3 -3
- package/.next/server/pages/api/kb/files/tree.js.nft.json +1 -1
- package/.next/server/pages/api/kb/files.js +4 -4
- package/.next/server/pages/api/kb/files.js.nft.json +1 -1
- package/.next/server/pages/api/kb/ignore.js +2 -2
- package/.next/server/pages/api/kb/ignore.js.nft.json +1 -1
- package/.next/server/pages/api/kb/intelligence.js +1 -1
- package/.next/server/pages/api/kb/intelligence.js.nft.json +1 -1
- package/.next/server/pages/api/kb/material-groups.js +2 -0
- package/.next/server/pages/api/kb/material-groups.js.nft.json +1 -0
- package/.next/server/pages/api/kb/operations.js +1 -1
- package/.next/server/pages/api/kb/operations.js.nft.json +1 -1
- package/.next/server/pages/api/kb/reindex.js +1 -1
- package/.next/server/pages/api/kb/reindex.js.nft.json +1 -1
- package/.next/server/pages/api/kb/search.js +2 -2
- package/.next/server/pages/api/kb/search.js.nft.json +1 -1
- package/.next/server/pages/api/kb/stats.js +2 -2
- package/.next/server/pages/api/kb/stats.js.nft.json +1 -1
- package/.next/server/pages/api/kb/tags.js +1 -1
- package/.next/server/pages/api/kb/tags.js.nft.json +1 -1
- package/.next/server/pages/api/kb/upload/complete.js +1 -1
- package/.next/server/pages/api/kb/upload/complete.js.nft.json +1 -1
- package/.next/server/pages/api/kb/upload/progress.js +2 -2
- package/.next/server/pages/api/kb/upload/progress.js.nft.json +1 -1
- package/.next/server/pages/api/kb/upload.js +1 -1
- package/.next/server/pages/api/kb/upload.js.nft.json +1 -1
- package/.next/server/pages/api/prompt.js +1 -1
- package/.next/server/pages/api/prompt.js.nft.json +1 -1
- package/.next/server/pages/api/skills/[id].js +1 -0
- package/.next/server/pages/api/skills/[id].js.nft.json +1 -0
- package/.next/server/pages/api/skills/validate.js +1 -0
- package/.next/server/pages/api/skills/validate.js.nft.json +1 -0
- package/.next/server/pages/api/skills.js +1 -0
- package/.next/server/pages/api/skills.js.nft.json +1 -0
- package/.next/server/pages/api/system/logs.js +2 -2
- package/.next/server/pages/api/system/stats.js +1 -1
- package/.next/server/pages/canvas/[id].html +1 -0
- package/.next/server/pages/canvas/[id].js.nft.json +1 -0
- package/.next/server/pages/canvas.html +1 -0
- package/.next/server/pages/canvas.js.nft.json +1 -0
- package/.next/server/pages/documents.html +1 -1
- package/.next/server/pages/documents.js.nft.json +1 -1
- package/.next/server/pages/guide.html +1 -1
- package/.next/server/pages/index.html +1 -1
- package/.next/server/pages/knowledge/file-detail.html +1 -1
- package/.next/server/pages/knowledge/files.html +1 -1
- package/.next/server/pages/knowledge/files.js.nft.json +1 -1
- package/.next/server/pages/knowledge/manage.html +1 -1
- package/.next/server/pages/knowledge/manage.js.nft.json +1 -1
- package/.next/server/pages/knowledge.html +1 -1
- package/.next/server/pages/knowledge.js.nft.json +1 -1
- package/.next/server/pages/models.html +1 -1
- package/.next/server/pages/overview.html +1 -1
- package/.next/server/pages/prompt.html +1 -1
- package/.next/server/pages/settings.html +1 -1
- package/.next/server/pages/skills.html +1 -0
- package/.next/server/pages/system/logs.html +1 -1
- package/.next/server/pages-manifest.json +42 -29
- package/.next/static/Z8psgNSpy4sSg2lIho8Uw/_buildManifest.js +1 -0
- package/.next/static/chunks/127-20f09f6ebe1e6c1f.js +1 -0
- package/.next/static/chunks/174-1bc48f295d7dd075.js +10 -0
- package/.next/static/chunks/189-3f4f4e237056adaf.js +4 -0
- package/.next/static/chunks/243-03eba51d5d737e98.js +1 -0
- package/.next/static/chunks/269-7a3502478bf67fff.js +11 -0
- package/.next/static/chunks/289-136ebb30e0f6723a.js +78 -0
- package/.next/static/chunks/310-6c678cb70e4ba2d6.js +19 -0
- package/.next/static/chunks/422-46f07037c58d2309.js +1 -0
- package/.next/static/chunks/426-90638907336adcb8.js +21 -0
- package/.next/static/chunks/445-d12731f107978b10.js +6 -0
- package/.next/static/chunks/530-1b18bb11570dc44a.js +1 -0
- package/.next/static/chunks/569-2bfdde9e402af5b2.js +16 -0
- package/.next/static/chunks/700-5d29b0475311f590.js +1 -0
- package/.next/static/chunks/709-a7c652953ccd3b4b.js +1 -0
- package/.next/static/chunks/787-207289f4bb577708.js +10 -0
- package/.next/static/chunks/795-9e0cb0bb11e8c89f.js +1 -0
- package/.next/static/chunks/914-292edce0ba2a212d.js +1 -0
- package/.next/static/chunks/{framework-161be364fd69a7ce.js → framework-4b565b3ddc94cdac.js} +1 -1
- package/.next/static/chunks/main-0c91f573696223ca.js +1 -0
- package/.next/static/chunks/pages/_app-74fce107cacfaee7.js +185 -0
- package/.next/static/chunks/pages/canvas/[id]-9f4e9f49e512418b.js +1 -0
- package/.next/static/chunks/pages/canvas-323d44fe56d685a7.js +1 -0
- package/.next/static/chunks/pages/documents-e6a80f2de39c6fd2.js +1 -0
- package/.next/static/chunks/pages/guide-7367305082617e3c.js +1 -0
- package/.next/static/chunks/pages/knowledge/file-detail-aee7c15541d1d130.js +1 -0
- package/.next/static/chunks/pages/knowledge/files-b3ef5324e4b74c4a.js +1 -0
- package/.next/static/chunks/pages/knowledge/manage-d9eaebf3a8307953.js +1 -0
- package/.next/static/chunks/pages/knowledge-ca8ad5501faed486.js +1 -0
- package/.next/static/chunks/pages/models-8b96ba85131d5408.js +1 -0
- package/.next/static/chunks/pages/prompt-dd9a9f9105216e2b.js +1 -0
- package/.next/static/chunks/pages/settings-0a7709bf039a2a4d.js +1 -0
- package/.next/static/chunks/pages/skills-3d77213c3e9ef0b5.js +1 -0
- package/.next/static/chunks/pages/system/logs-9deb1217739490af.js +1 -0
- package/.next/static/chunks/webpack-6224d37324e372cb.js +1 -0
- package/.next/static/css/0e46e39b61e4e262.css +1 -0
- package/messages/en-US.json +108 -344
- package/messages/zh-CN.json +109 -345
- package/package.json +6 -5
- package/scripts/capture-baseline.mjs +541 -0
- package/.next/server/chunks/208.js +0 -136
- package/.next/server/chunks/4435.js +0 -250
- package/.next/server/chunks/5840.js +0 -1
- package/.next/server/pages/api/documents/drafts.js +0 -1
- package/.next/server/pages/api/documents/drafts.js.nft.json +0 -1
- package/.next/server/pages/api/documents/refine.js +0 -13
- package/.next/server/pages/api/documents/refine.js.nft.json +0 -1
- package/.next/server/pages/api/documents/roles.js +0 -1
- package/.next/server/pages/api/documents/roles.js.nft.json +0 -1
- package/.next/server/pages/api/documents/templates.js +0 -1
- package/.next/server/pages/api/documents/templates.js.nft.json +0 -1
- package/.next/server/pages/asset-library.html +0 -1
- package/.next/server/pages/document-roles.html +0 -1
- package/.next/server/pages/document-roles.js.nft.json +0 -1
- package/.next/static/2vWd2mBe-maL25SFytCur/_buildManifest.js +0 -1
- package/.next/static/chunks/195-2c0168eacab722d2.js +0 -1
- package/.next/static/chunks/289-35ac595388bbd018.js +0 -78
- package/.next/static/chunks/44-d3545eedd5c75ef1.js +0 -4
- package/.next/static/chunks/455-e1b41ac4946d2b6f.js +0 -6
- package/.next/static/chunks/563-b12f299d34bb9e44.js +0 -1
- package/.next/static/chunks/665-88e20299084b9e73.js +0 -1
- package/.next/static/chunks/7-20bcc985742a9ae1.js +0 -10
- package/.next/static/chunks/717-743b697a417dd5ee.js +0 -4
- package/.next/static/chunks/760-f8bb8e969c5e0d57.js +0 -1
- package/.next/static/chunks/787-c18af810af3433f6.js +0 -25
- package/.next/static/chunks/788-3afeb069ed706ac0.js +0 -1
- package/.next/static/chunks/795-cd94e8d4e9768eb9.js +0 -1
- package/.next/static/chunks/81-c3a7f04d96ea3f7d.js +0 -1
- package/.next/static/chunks/827-a6dc09e42833e6a3.js +0 -1
- package/.next/static/chunks/883-506cbca959974997.js +0 -16
- package/.next/static/chunks/986-49b865de7906320a.js +0 -8
- package/.next/static/chunks/994-241f87efc61005b8.js +0 -4
- package/.next/static/chunks/main-91fb767ebd74c9c1.js +0 -1
- package/.next/static/chunks/pages/_app-66149ba52ad1dc26.js +0 -185
- package/.next/static/chunks/pages/asset-library-a1047694e888e655.js +0 -1
- package/.next/static/chunks/pages/document-roles-5620a98d6312f81c.js +0 -1
- package/.next/static/chunks/pages/documents-d60a47643f5bd6b4.js +0 -1
- package/.next/static/chunks/pages/guide-a411c554520b7109.js +0 -1
- package/.next/static/chunks/pages/knowledge/file-detail-fe69eb38d70adea0.js +0 -1
- package/.next/static/chunks/pages/knowledge/files-8e25066889a85834.js +0 -1
- package/.next/static/chunks/pages/knowledge/manage-d0d0e0716e9d705b.js +0 -1
- package/.next/static/chunks/pages/knowledge-905248d8dcb15453.js +0 -1
- package/.next/static/chunks/pages/models-6ef838f3e00ba21e.js +0 -1
- package/.next/static/chunks/pages/prompt-5e1fb81efc656866.js +0 -1
- package/.next/static/chunks/pages/settings-810eb1a6cf1a6b02.js +0 -1
- package/.next/static/chunks/pages/system/logs-6f45ef8d862759a2.js +0 -1
- package/.next/static/chunks/webpack-4224e970a97a4a86.js +0 -1
- package/.next/static/css/18018ee565a1deba.css +0 -1
- /package/.next/server/pages/{asset-library.js.nft.json → skills.js.nft.json} +0 -0
- /package/.next/static/{2vWd2mBe-maL25SFytCur → Z8psgNSpy4sSg2lIho8Uw}/_ssgManifest.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[199],{7368:(e,s,t)=>{"use strict";t.r(s),t.d(s,{default:()=>f});var a=t(65321),r=t(97109),l=t(43220),o=t.n(l),c=t(85587),n=t(49759),i=t(88762),d=t(99605),x=t(73340),m=t(1278);let h=(0,m.A)("Monitor",[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]]);var v=t(56733),u=t(38300);let g=(0,m.A)("Server",[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2",key:"ngkwjq"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2",key:"iecqi9"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6",key:"16zg32"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18",key:"nzw8ys"}]]);var p=t(87824);let j=(0,m.A)("Info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]]);var y=t(6578),N=t(85310);function f(){var e,s,t,l,m,f;let b=(0,c.Vr)("settings"),{theme:k,resolvedTheme:w,setTheme:T}=(0,n.D)(),{locale:C,setLocale:S}=(0,c.x_)(),[D,z]=(0,r.useState)(null),[A,_]=(0,r.useState)(null),[F,M]=(0,r.useState)(null),[B,P]=(0,r.useState)(!0);(0,r.useEffect)(()=>{P(!0),Promise.all([(0,y.FC)().catch(()=>null),(0,y.le)().catch(()=>null),(0,y.II)().catch(()=>null)]).then(e=>{let[s,t,a]=e;z(s),_(t),M(a)}).finally(()=>P(!1))},[]);let I="system"===k?"system":w,E=e=>"flex items-center gap-2 px-4 py-2 text-sm font-medium rounded-xl border transition-colors ".concat(e?"bg-[var(--colorText)] text-[var(--colorBg)] border-transparent":"bg-transparent text-[var(--colorTextSecondary)] border-[var(--borderColor)] hover:border-[var(--colorTextTertiary)]"),Z=e=>{let{label:s,value:t,mono:r,tone:l}=e;return(0,a.jsxs)("div",{className:"p-4 ".concat(N.wD),children:[(0,a.jsx)("div",{className:"text-[10px] text-[var(--colorTextTertiary)] uppercase tracking-wider mb-2",children:s}),(0,a.jsx)("div",{className:"text-sm ".concat(r?"font-mono":"font-semibold"," ").concat(null!=l?l:"text-[var(--colorText)]"," truncate"),title:"string"==typeof t?t:void 0,children:t})]})};return B?(0,a.jsxs)("div",{className:"space-y-6 animateFadeIn",children:[(0,a.jsx)(i.A,{active:!0,title:!0,paragraph:{rows:1}}),(0,a.jsx)("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-6",children:Array.from({length:4}).map((e,s)=>(0,a.jsx)("div",{className:"p-6 rounded-2xl bg-[var(--colorBgContainer)] shadow-[var(--shadowSurface)]",children:(0,a.jsx)(i.A,{active:!0,paragraph:{rows:4}})},s))})]}):(0,a.jsxs)("div",{className:"space-y-6 animateFadeIn",children:[(0,a.jsxs)("div",{className:"pb-6 border-b border-[var(--borderColor)]",children:[(0,a.jsx)("h1",{className:"text-3xl font-extrabold tracking-tight text-[var(--colorText)] mb-2",children:b("title")}),(0,a.jsx)("p",{className:"text-sm text-[var(--colorTextSecondary)]",children:b("description")})]}),(0,a.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-6",children:[(0,a.jsx)(N.Zk,{title:(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(x.A,{size:18,className:"text-[var(--colorTextTertiary)]"}),b("language")]}),description:b("languageDesc"),children:(0,a.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,a.jsx)("button",{className:E("zh-CN"===C),onClick:()=>S("zh-CN"),children:"中文"}),(0,a.jsx)("button",{className:E("en-US"===C),onClick:()=>S("en-US"),children:"English"})]})}),(0,a.jsx)(N.Zk,{title:(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(h,{size:18,className:"text-[var(--colorTextTertiary)]"}),b("theme")]}),description:b("themeDesc"),children:(0,a.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,a.jsxs)("button",{className:E("light"===I),onClick:()=>T("light"),children:[(0,a.jsx)(v.A,{size:14}),b("light")]}),(0,a.jsxs)("button",{className:E("dark"===I),onClick:()=>T("dark"),children:[(0,a.jsx)(u.A,{size:14}),b("dark")]}),(0,a.jsxs)("button",{className:E("system"===I),onClick:()=>T("system"),children:[(0,a.jsx)(h,{size:14}),b("system")]})]})}),(0,a.jsx)(N.Zk,{title:(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(g,{size:18,className:"text-[var(--colorTextTertiary)]"}),b("serverStatus")]}),description:b("serverStatusDesc"),children:(0,a.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,a.jsx)(Z,{label:b("status"),value:(null==A?void 0:A.status)==="ok"?b("healthy"):b("unknown"),tone:(null==A?void 0:A.status)==="ok"?"text-[var(--colorOk)]":"text-[var(--colorDanger)]"}),(0,a.jsx)(Z,{label:b("uptime"),value:A?(e=>{let s=Math.floor(e/86400),t=Math.floor(e%86400/3600),a=Math.floor(e%3600/60);return s>0?"".concat(s," ").concat(b("days")," ").concat(t," ").concat(b("hours")):t>0?"".concat(t," ").concat(b("hours")," ").concat(a," ").concat(b("minutes")):"".concat(a," ").concat(b("minutes"))})(A.uptime):"—"}),(0,a.jsxs)("div",{className:"col-span-2 p-4 ".concat(N.wD," flex items-center gap-5"),children:[(0,a.jsx)(d.A,{type:"dashboard",percent:null!=(e=null==D?void 0:D.cpu.usagePercent)?e:0,size:48,strokeColor:(null!=(s=null==D?void 0:D.cpu.usagePercent)?s:0)>80?"var(--colorDanger)":"var(--colorText)",strokeWidth:12,showInfo:!1}),(0,a.jsxs)("div",{className:"min-w-0",children:[(0,a.jsx)("div",{className:"text-[10px] text-[var(--colorTextTertiary)] uppercase tracking-wider mb-1",children:b("cpu")}),(0,a.jsxs)("div",{className:"font-mono text-[var(--colorText)]",children:[D?"".concat(D.cpu.usagePercent.toFixed(1),"%"):"—"," ",(0,a.jsxs)("span",{className:"text-xs text-[var(--colorTextTertiary)] ml-1",children:["(",null!=(t=null==D?void 0:D.cpu.cores)?t:0," ",b("cores"),")"]})]})]})]}),(0,a.jsxs)("div",{className:"col-span-2 p-4 ".concat(N.wD," flex items-center gap-5"),children:[(0,a.jsx)(d.A,{type:"dashboard",percent:null!=(l=null==D?void 0:D.memory.usagePercent)?l:0,size:48,strokeColor:(null!=(m=null==D?void 0:D.memory.usagePercent)?m:0)>80?"var(--colorDanger)":"var(--colorTextSecondary)",strokeWidth:12,showInfo:!1}),(0,a.jsxs)("div",{className:"min-w-0",children:[(0,a.jsx)("div",{className:"text-[10px] text-[var(--colorTextTertiary)] uppercase tracking-wider mb-1",children:b("memory")}),(0,a.jsxs)("div",{className:"font-mono text-[var(--colorText)]",children:[D?"".concat(D.memory.processMB," MB"):"—"," ",(0,a.jsxs)("span",{className:"text-xs text-[var(--colorTextTertiary)] ml-1",children:["/ ",null!=(f=null==D?void 0:D.memory.totalMB)?f:0," MB"]})]})]})]})]})}),(0,a.jsx)(N.Zk,{title:(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(p.A,{size:18,className:"text-[var(--colorTextTertiary)]"}),b("embeddingConfig")]}),description:b("embeddingConfigDesc"),children:(0,a.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,a.jsx)("div",{className:"col-span-2",children:(0,a.jsx)(Z,{label:b("provider"),value:(null==F?void 0:F.provider)||"—",mono:!0})}),(0,a.jsx)("div",{className:"col-span-2",children:(0,a.jsx)(Z,{label:b("model"),value:(null==F?void 0:F.model)||"—",mono:!0})}),(0,a.jsx)(Z,{label:b("apiKey"),value:(null==F?void 0:F.hasApiKey)?b("configured"):b("none"),tone:(null==F?void 0:F.hasApiKey)?"text-[var(--colorOk)]":"text-[var(--colorTextSecondary)]"}),(0,a.jsx)(Z,{label:b("dimensions"),value:(null==F?void 0:F.dimensions)?"".concat(F.dimensions):"—",mono:!0})]})})]}),(0,a.jsxs)(N.Zk,{title:(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(j,{size:18,className:"text-[var(--colorTextTertiary)]"}),b("localData")]}),description:b("localDataDesc"),children:[(0,a.jsxs)("div",{className:"grid grid-cols-2 sm:grid-cols-4 gap-4",children:[(0,a.jsx)(Z,{label:b("directory"),value:"~/.customize-agent/",mono:!0}),(0,a.jsx)(Z,{label:b("knowledgeBase"),value:b("localVectors")}),(0,a.jsx)(Z,{label:b("tasks"),value:D?D.tasks.total.toLocaleString():"—",mono:!0}),(0,a.jsx)(Z,{label:b("tokens"),value:D?D.tokens.total.toLocaleString():"—",mono:!0})]}),(0,a.jsxs)("div",{className:"mt-4 flex flex-col sm:flex-row sm:items-center justify-between gap-3 rounded-xl bg-[var(--colorFillAlter)] px-4 py-3",children:[(0,a.jsxs)("div",{className:"min-w-0",children:[(0,a.jsx)("div",{className:"text-sm font-medium text-[var(--colorText)]",children:b("diagnostics")}),(0,a.jsx)("div",{className:"text-xs text-[var(--colorTextTertiary)] mt-0.5",children:b("diagnosticsDesc")})]}),(0,a.jsxs)(o(),{href:"/system/logs",className:"shrink-0 text-sm font-medium text-[var(--colorPrimary)] hover:underline",children:[b("openDiagnostics")," ›"]})]})]})]})}},58451:(e,s,t)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/settings",function(){return t(7368)}])},85310:(e,s,t)=>{"use strict";t.d(s,{Zk:()=>l,dh:()=>o,wD:()=>r});var a=t(65321);t(97109);let r="rounded-xl bg-[var(--colorBgContainer)] shadow-[var(--shadowSurface)] hover:shadow-[var(--shadowSurfaceHover)] transition-shadow";function l(e){let{title:s,count:t,description:r,extra:l,className:o,children:c}=e;return(0,a.jsxs)("section",{className:"rounded-2xl bg-[var(--colorBgContainer)] shadow-[var(--shadowSurface)] p-6 animateFadeIn ".concat(null!=o?o:""),children:[(0,a.jsxs)("div",{className:"flex flex-col sm:flex-row sm:items-start justify-between gap-3 mb-5",children:[(0,a.jsxs)("div",{className:"min-w-0",children:[(0,a.jsxs)("h2",{className:"text-base font-semibold text-[var(--colorText)] tracking-wide flex items-center gap-2 m-0",children:[s,void 0!==t&&(0,a.jsx)("span",{className:"text-[var(--colorTextTertiary)] font-normal text-sm",children:t})]}),r&&(0,a.jsx)("p",{className:"text-xs text-[var(--colorTextTertiary)] mt-1.5 mb-0 leading-relaxed max-w-3xl",children:r})]}),l]}),c]})}function o(e){let{children:s}=e;return(0,a.jsx)("div",{className:"text-xs font-semibold uppercase tracking-wider mb-2 text-[var(--colorTextTertiary)]",children:s})}}},e=>{e.O(0,[636,593,792],()=>e(e.s=58451)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[950],{25981:(e,l,s)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/skills",function(){return s(81828)}])},58690:(e,l,s)=>{"use strict";function t(e){var l,s,t;let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{pageSize:null!=(l=r.pageSize)?l:10,pageSizeOptions:null!=(s=r.pageSizeOptions)?s:[10,20,50,100],showSizeChanger:!0,showTotal:l=>{var s,t;return e(null!=(s=r.totalLabelKey)?s:"common.totalRows",null!=(t=r.totalLabelFallback)?t:"共 {count} 条").replace("{count}",String(l))},hideOnSinglePage:null!=(t=r.hideOnSinglePage)&&t,showQuickJumper:!1}}s.d(l,{B:()=>t})},81828:(e,l,s)=>{"use strict";s.r(l),s.d(l,{default:()=>B});var t=s(65321),r=s(97109),a=s(48399),n=s(68787),i=s(11702),c=s(33442),d=s(17807),o=s(63455),u=s(85114),m=s(85493),h=s(42700),p=s(84253),x=s(21289),j=s(44534),b=s(32965),v=s(34052),y=s(7576),A=s(57271),g=s(94992),k=s(7851),w=s(54746),f=s(8263),N=s(99650),C=s(58209),I=s(86193),S=s(85587),q=s(58690);let{Paragraph:T,Text:F}=a.A,R={"Content-Type":"application/json"};async function P(e,l){try{let t,r=await fetch(e,l),a=await r.text();try{t=a?JSON.parse(a):void 0}catch(e){t=void 0}if(!r.ok){var s;let e=null!=t?t:{};return{ok:!1,status:r.status,message:null!=(s=e.error)?s:"HTTP ".concat(r.status),issues:Array.isArray(e.errors)?e.errors:[]}}return{ok:!0,data:t}}catch(e){return{ok:!1,status:0,message:e instanceof Error?e.message:"网络请求失败",issues:[]}}}function z(e){return[...new Set((null!=e?e:[]).map(e=>e.trim()).filter(e=>e.length>0))]}function E(e){return"string"==typeof e?e:e.phrase}function D(e){return{id:e.id,enabled:e.enabled,match:{chapterDomain:e.match.chapterDomain,projectTypes:[...e.match.projectTypes],sectionKeywords:[...e.match.sectionKeywords],...e.match.sectionRegex?{sectionRegex:e.match.sectionRegex}:{}},requires:e.requires.map(e=>({...e})),structure:e.structure.map(e=>({title:e.title,minChars:e.minChars})),forbidden:e.forbidden.map(E),knowledge:e.knowledge.map(e=>({kind:e.kind,...e.ids?{ids:[...e.ids]}:{},...e.id?{id:e.id}:{},...e.note?{note:e.note}:{}})),acceptance:e.acceptance.map(e=>"detector"===e.kind?{kind:"detector",detectorIds:[...e.ids]}:"threshold"===e.kind?{kind:"threshold",thresholdId:e.id,thresholdValue:e.value}:{kind:"llmChecklist",checklistItems:[...e.items]}),...void 0!==e.outputTitle?{outputTitle:e.outputTitle}:{},...e.chapterChecklist?{chapterChecklist:{...e.chapterChecklist,...e.chapterChecklist.sections?{sections:[...e.chapterChecklist.sections]}:{}}}:{}}}function M(e){var l,s,t,r;return(null!=(s=null==(l=e.note)?void 0:l.trim())?s:"").length>0||("processCard"===e.kind||"standard"===e.kind?(null!=(t=e.ids)?t:[]).length>0:(null!=(r=e.id)?r:"").length>0)}function O(e){var l,s;return"detector"===e.kind?(null!=(l=e.detectorIds)?l:[]).length>0:"threshold"===e.kind?!!e.thresholdId:"llmChecklist"===e.kind&&(null!=(s=e.checklistItems)?s:[]).length>0}function K(e){let{label:l,children:s}=e;return(0,t.jsxs)("div",{className:"flex flex-col sm:flex-row gap-1 sm:gap-3 py-2 border-b border-[var(--colorBorderSecondary)] last:border-0",children:[(0,t.jsx)("div",{className:"sm:w-44 shrink-0 text-xs font-semibold uppercase tracking-wider text-[var(--colorTextTertiary)] sm:pt-0.5",children:l}),(0,t.jsx)("div",{className:"min-w-0 flex-1 text-sm",children:s})]})}function _(e){let{title:l,children:s}=e;return(0,t.jsx)(n.A,{size:"small",title:l,className:"rounded-2xl mb-4",styles:{body:{padding:"4px 12px"}},children:s})}function L(e){let{items:l,empty:s="未声明"}=e;return 0===l.length?(0,t.jsx)(F,{type:"secondary",className:"text-xs",children:s}):(0,t.jsx)("div",{className:"flex flex-wrap gap-1",children:l.map((e,l)=>(0,t.jsx)("span",{children:e},l))})}function W(e){var l,s,r,a,n;let{skill:d,options:o,labelMap:u,detectorById:m}=e,h=e=>{var l;return null!=(l=u.get(e))?l:e},p=d.chapterChecklist,x=p?[{label:"章内检索词",values:null!=(l=p.queries)?l:[]},{label:"必含事实",values:null!=(s=p.requiredFacts)?s:[]},{label:"要求成表的小节",values:null!=(r=p.tableSections)?r:[]},{label:"表格形态要求",values:null!=(a=p.tableRequirements)?a:[]},{label:"钉住的证据文件",values:null!=(n=p.pinnedEvidenceFilePaths)?n:[]}].filter(e=>e.values.length>0):[];return(0,t.jsxs)("div",{children:[(0,t.jsxs)(_,{title:"基本信息",children:[(0,t.jsxs)(K,{label:"技能 ID",children:[(0,t.jsx)(F,{code:!0,className:"text-xs",children:d.id}),(0,t.jsx)(F,{type:"secondary",className:"text-xs ml-2",children:"落盘文件名即此 id"})]}),(0,t.jsxs)(K,{label:"来源",children:[d.builtIn?(0,t.jsx)(i.A,{color:"gold",children:"内置"}):(0,t.jsx)(i.A,{children:"用户"}),(0,t.jsxs)(F,{type:"secondary",className:"text-xs ml-2",children:["契约版本 v",d.version]})]}),(0,t.jsx)(K,{label:"启用",children:(0,t.jsx)(i.A,{color:d.enabled?"green":"default",className:"border-0",children:d.enabled?"已启用":"已停用"})})]}),(0,t.jsxs)(_,{title:"匹配条件(match)",children:[(0,t.jsx)(K,{label:"章域",children:(0,t.jsx)(i.A,{color:"blue",children:h(d.match.chapterDomain)})}),(0,t.jsx)(K,{label:"适用工程类型",children:(0,t.jsx)(L,{empty:"全类型(不限定工程类型)",items:d.match.projectTypes.map(e=>(0,t.jsx)(i.A,{children:h(e)},e))})}),(0,t.jsx)(K,{label:"小节标题关键词",children:(0,t.jsx)(L,{empty:"未声明关键词——小节门不按关键词拦",items:d.match.sectionKeywords.map(e=>(0,t.jsx)(i.A,{className:"border-0 bg-[var(--colorFillSecondary)]",children:e},e))})}),(0,t.jsx)(K,{label:"小节标题正则",children:d.match.sectionRegex?(0,t.jsx)(F,{code:!0,className:"text-xs",children:d.match.sectionRegex}):(0,t.jsx)(F,{type:"secondary",className:"text-xs",children:"未声明"})})]}),(0,t.jsx)(_,{title:"必需事实(requires)",children:(0,t.jsx)(L,{empty:"未声明必需事实",items:d.requires.map(e=>(0,t.jsxs)(i.A,{color:e.required?"red":"default",className:"mb-1",children:[e.key," \xb7 ",h(e.source),e.required?" \xb7 必需":" \xb7 可选"]},e.key))})}),(0,t.jsx)(_,{title:"输出结构(structure) \xb7 ".concat(d.structure.length," 个小节"),children:0===d.structure.length?(0,t.jsx)(F,{type:"secondary",className:"text-xs",children:"未声明小节"}):(0,t.jsx)("ol",{className:"m-0 pl-5 text-sm leading-7",children:d.structure.map((e,l)=>(0,t.jsxs)("li",{children:[e.title,(0,t.jsxs)(F,{type:"secondary",className:"text-xs ml-2",children:["≥ ",e.minChars," 字"]})]},"".concat(e.title,"-").concat(l)))})}),(0,t.jsxs)(_,{title:"文档职责(模板职责的去向 \xb7 P10 \xa712.4)",children:[(0,t.jsx)(K,{label:"文档名称",children:d.outputTitle?(0,t.jsx)(F,{strong:!0,children:d.outputTitle}):(0,t.jsx)(F,{type:"secondary",className:"text-xs",children:"未声明(不对文档名称表态)"})}),(0,t.jsx)(K,{label:"章职责",children:(null==p?void 0:p.purpose)?(0,t.jsx)("span",{children:p.purpose}):(0,t.jsx)(F,{type:"secondary",className:"text-xs",children:"未声明"})}),x.map(e=>(0,t.jsx)(K,{label:e.label,children:(0,t.jsx)(L,{items:e.values.map(e=>(0,t.jsx)(i.A,{className:"border-0 bg-[var(--colorFillSecondary)]",children:e},e))})},e.label))]}),(0,t.jsx)(_,{title:"禁写项(forbidden)",children:(0,t.jsx)(L,{empty:"没有禁写项",items:d.forbidden.map(e=>(0,t.jsx)(i.A,{color:"red",className:"border-0",children:E(e)},E(e)))})}),(0,t.jsx)(_,{title:"知识引用(knowledge)",children:(0,t.jsx)(L,{empty:"未声明知识引用",items:d.knowledge.map((e,l)=>{var s,r,a,n;let c=(null!=(s=e.ids)?s:e.id?[e.id]:[]).map(l=>{var s,t;return"processCard"===e.kind?null!=(t=null==o||null==(s=o.processCards.find(e=>e.value===l))?void 0:s.label)?t:l:l}).join("、");return(0,t.jsxs)(i.A,{className:"mb-1",children:[(r=e.kind,null!=(n=null==o||null==(a=o.knowledgeKinds.find(e=>e.value===r))?void 0:a.label)?n:r),c?" \xb7 ".concat(c):"",e.note?"(".concat(e.note,")"):""]},"".concat(e.kind,"-").concat(l))})})}),(0,t.jsx)(_,{title:"验收判据(acceptance) \xb7 ".concat(d.acceptance.length," 条"),children:0===d.acceptance.length?(0,t.jsx)(F,{type:"secondary",className:"text-xs",children:"未声明判据"}):(0,t.jsx)("div",{className:"flex flex-col gap-2 py-2",children:d.acceptance.map((e,l)=>{var s,r,a,n,d,u;let h="llmChecklist"!==e.kind;return(0,t.jsxs)("div",{className:"rounded-xl border border-[var(--colorBorderSecondary)] p-2.5",children:[(0,t.jsxs)(c.A,{size:8,wrap:!0,children:[(0,t.jsx)(i.A,{color:h?"red":"default",className:"m-0 border-0",children:(s=e.kind,null!=(a=null==o||null==(r=o.acceptanceKinds.find(e=>e.value===s))?void 0:r.label)?a:s)}),(0,t.jsx)(F,{type:"secondary",className:"text-xs",children:h?"确定性 \xb7 进硬门禁":"非确定性 \xb7 只做提示"})]}),(0,t.jsxs)("div",{className:"mt-2 flex flex-wrap gap-1",children:["detector"===e.kind&&e.ids.map(e=>{let l=m.get(e);return(0,t.jsx)(i.A,{color:l?"blue":"red",title:l?"处置:".concat(l.disposition,"|作用域:").concat(l.scope):"未登记",children:l?"".concat(l.label,"|").concat(e):"".concat(e,"(未登记)")},e)}),"threshold"===e.kind&&(0,t.jsxs)(i.A,{color:"purple",children:[(n=e.id,null!=(u=null==o||null==(d=o.thresholds.find(e=>e.value===n))?void 0:d.label)?u:n)," \xb7 取值 ",e.value]}),"llmChecklist"===e.kind&&e.items.map(e=>(0,t.jsx)(i.A,{className:"border-0 bg-[var(--colorFillSecondary)]",children:e},e))]})]},l)})})}),(0,t.jsx)(_,{title:"示例(examples)",children:(0,t.jsx)(K,{label:"是否带示例",children:d.examples?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(i.A,{color:"green",className:"border-0",children:"带正例/反例"}),(0,t.jsx)(F,{type:"secondary",className:"text-xs ml-2",children:"只用于让模型理解格式(\xa76.4:不进生成上下文),本编辑器不提供修改"})]}):(0,t.jsx)(F,{type:"secondary",className:"text-xs",children:"无"})})}),o&&(0,t.jsx)(_,{title:"不可被技能覆盖的隔离规则(\xa76.5 硬规则 3)",children:o.isolationRules.map(e=>(0,t.jsxs)("div",{className:"py-1.5",children:[(0,t.jsx)(i.A,{children:e.label}),(0,t.jsx)(F,{type:"secondary",className:"text-xs",children:e.note})]},e.id))})]})}function B(){var e,l,s;let{message:a}=d.A.useApp(),E=(0,S.Vr)(),[K]=o.A.useForm(),[_,L]=(0,r.useState)([]),[B,V]=(0,r.useState)(),[J,U]=(0,r.useState)([]),[X,H]=(0,r.useState)(!0),[Q,G]=(0,r.useState)(!1),[Y,Z]=(0,r.useState)(!1),[$,ee]=(0,r.useState)(),[el,es]=(0,r.useState)(!1),[et,er]=(0,r.useState)([]),ea=o.A.useWatch("knowledge",K),en=o.A.useWatch("acceptance",K),ei=(0,r.useCallback)(async()=>{let e=await P("/api/skills");if(e.ok){var l;L(e.data.skills),V(e.data.options),U(null!=(l=e.data.invalid)?l:[])}else a.error("加载技能库失败:".concat(e.message));H(!1)},[a]);(0,r.useEffect)(()=>{ei()},[ei]);let ec=(0,r.useMemo)(()=>{var e,l,s,t;return new Map([...null!=(e=null==B?void 0:B.chapterDomains)?e:[],...null!=(l=null==B?void 0:B.projectTypes)?l:[],...null!=(s=null==B?void 0:B.factSources)?s:[],...null!=(t=null==B?void 0:B.workflowRules)?t:[]].map(e=>[e.value,e.label]))},[B]),ed=(0,r.useMemo)(()=>{var e;return null!=(e=null==B?void 0:B.chapterDomains.map(e=>({value:e.value,label:e.label,title:e.note})))?e:[]},[B]),eo=(0,r.useMemo)(()=>{var e;return null!=(e=null==B?void 0:B.projectTypes.map(e=>({value:e.value,label:e.label})))?e:[]},[B]),eu=(0,r.useMemo)(()=>{var e;return null!=(e=null==B?void 0:B.factSources.map(e=>({value:e.value,label:e.label})))?e:[]},[B]),em=(0,r.useMemo)(()=>{var e;return null!=(e=null==B?void 0:B.workflowRules.map(e=>({value:e.value,label:e.label,title:e.note})))?e:[]},[B]),eh=(0,r.useMemo)(()=>{var e;return null!=(e=null==B?void 0:B.projectTypes.map(e=>({value:e.value,label:e.label})))?e:[]},[B]),ep=(0,r.useMemo)(()=>{var e;return null!=(e=null==B?void 0:B.thresholds.map(e=>({value:e.value,label:e.label,title:e.note})))?e:[]},[B]),ex=(0,r.useMemo)(()=>{var e;return null!=(e=null==B?void 0:B.knowledgeKinds.map(e=>({value:e.value,label:e.label,title:e.note})))?e:[]},[B]),ej=(0,r.useMemo)(()=>{var e;return null!=(e=null==B?void 0:B.acceptanceKinds.map(e=>({value:e.value,label:e.label,title:e.note})))?e:[]},[B]),eb=(0,r.useMemo)(()=>{var e;return null!=(e=null==B?void 0:B.processCards.map(e=>({value:e.value,label:e.label})))?e:[]},[B]),ev=(0,r.useMemo)(()=>{var e;return null!=(e=null==B?void 0:B.detectors.map(e=>({value:e.id,label:"".concat(e.label,"|").concat(e.id),title:"处置:".concat(e.disposition).concat(e.dispositionNote?"(".concat(e.dispositionNote,")"):"","|作用域:").concat(e.scope)})))?e:[]},[B]),ey=(0,r.useMemo)(()=>{var e;return new Map((null!=(e=null==B?void 0:B.detectors)?e:[]).map(e=>[e.id,e]))},[B]),eA=e=>{ee(e),er([]),K.resetFields(),K.setFieldsValue(D(e)),Z(!0),G(!0)},eg=e=>{var l;L(e.skills),(null==(l=e.warnings)?void 0:l.length)&&a.warning("已保存,但有 ".concat(e.warnings.length," 条提示:").concat(e.warnings.map(e=>e.message).join(";")))},ek=async()=>{let e;if(!B)return;try{e=await K.validateFields()}catch(e){return}let l=function(e,l,s){var t,r,a,n,i,c,d,o,u,m;let h={chapterDomain:null==(t=e.match)?void 0:t.chapterDomain,projectTypes:[...null!=(c=null==(r=e.match)?void 0:r.projectTypes)?c:[]],sectionKeywords:z(null==(a=e.match)?void 0:a.sectionKeywords),...(null==(i=e.match)||null==(n=i.sectionRegex)?void 0:n.trim())?{sectionRegex:e.match.sectionRegex.trim()}:{}},p=(null!=(d=e.requires)?d:[]).filter(e=>{var l;return(null!=(l=e.key)?l:"").trim().length>0}).map(e=>{var l;return{key:(null!=(l=e.key)?l:"").trim(),source:e.source,required:!0===e.required}}),x=(null!=(o=e.structure)?o:[]).filter(e=>{var l;return(null!=(l=e.title)?l:"").trim().length>0}).map(e=>{var l,s;return{title:(null!=(l=e.title)?l:"").trim(),minChars:Number(null!=(s=e.minChars)?s:0)}}),j=(null!=(u=e.knowledge)?u:[]).filter(M).map(e=>{var l,s,t;let r=null==(l=e.note)?void 0:l.trim(),a=null!=(s=e.kind)?s:"processCard";return"processCard"===a||"standard"===a?{kind:a,ids:z(e.ids),...r?{note:r}:{}}:{kind:a,id:null!=(t=e.id)?t:"",...r?{note:r}:{}}}),b=(null!=(m=e.acceptance)?m:[]).filter(O).map(e=>{if("threshold"===e.kind){var l;return{kind:"threshold",id:e.thresholdId,value:Number(null!=(l=e.thresholdValue)?l:0)}}return"llmChecklist"===e.kind?{kind:"llmChecklist",items:z(e.checklistItems),nonDeterministic:!0}:{kind:"detector",ids:z(e.detectorIds)}});return{id:e.id.trim(),version:l,source:"user",enabled:!1!==e.enabled,match:h,requires:p,structure:x,forbidden:z(e.forbidden),knowledge:j,acceptance:b,...function(e){var l,s,t,r;let a=null!=(r=null==(l=e.outputTitle)?void 0:l.trim())?r:"",n=e.chapterChecklist,i={sections:z(null==n?void 0:n.sections),queries:z(null==n?void 0:n.queries),requiredFacts:z(null==n?void 0:n.requiredFacts),tableSections:z(null==n?void 0:n.tableSections),tableRequirements:z(null==n?void 0:n.tableRequirements),pinnedEvidenceFilePaths:z(null==n?void 0:n.pinnedEvidenceFilePaths)},c=!!(null==n||null==(s=n.purpose)?void 0:s.trim())||Object.values(i).some(e=>e.length>0);return{...a?{outputTitle:a}:{},...c?{chapterChecklist:{...(null==n||null==(t=n.purpose)?void 0:t.trim())?{purpose:n.purpose.trim()}:{},...Object.fromEntries(Object.entries(i).filter(e=>{let[,l]=e;return l.length>0}))}}:{}}}(e),...s?{examples:s}:{}}}(e,B.contractVersion,null==$?void 0:$.examples);es(!0),er([]);try{let e=await P("/api/skills/validate",{method:"POST",headers:R,body:JSON.stringify(l)});if(!e.ok){a.error("校验请求失败:".concat(e.message)),er(e.issues);return}if(!e.data.ok){er(e.data.errors),a.error("校验未通过:".concat(e.data.errors.length," 处问题(引用的工艺卡/检测器/阈值/工程规则资产必须真实存在)"));return}let s=$?await P("/api/skills/".concat(encodeURIComponent($.id)),{method:"PUT",headers:R,body:JSON.stringify(l)}):await P("/api/skills",{method:"POST",headers:R,body:JSON.stringify(l)});if(!s.ok){er(s.issues),a.error("保存失败:".concat(s.message));return}eg(s.data),G(!1),a.success(E("common.success"))}finally{es(!1)}},ew=async(e,l)=>{let s=await P("/api/skills/".concat(encodeURIComponent(e.id)),{method:"PUT",headers:R,body:JSON.stringify({...e,enabled:l})});if(!s.ok)return void a.error("切换启用状态失败:".concat(s.message));eg(s.data)},ef=async e=>{let l=await P("/api/skills/".concat(encodeURIComponent(e.id)),{method:"DELETE"});if(!l.ok)return void a.error("删除失败:".concat(l.message));L(l.data.skills),a.success(E("common.success"))},eN="内置技能禁改禁删(\xa717.3 / 附录 E):内置技能不随用户落盘,随应用版本升级";return(0,t.jsxs)("div",{className:"space-y-6 animateFadeIn",children:[(0,t.jsxs)(n.A,{title:(0,t.jsxs)(c.A,{children:[(0,t.jsx)(k.A,{}),E("nav.skills")]}),className:"rounded-2xl mb-6",extra:(0,t.jsx)(u.Ay,{type:"primary",icon:(0,t.jsx)(w.A,{}),onClick:()=>{B&&(ee(void 0),er([]),K.resetFields(),K.setFieldsValue({id:"skill-".concat(Date.now()),enabled:!0,match:{projectTypes:[],sectionKeywords:[]},requires:[{source:"billFactLock",required:!1}],structure:[{}],forbidden:[],knowledge:[],acceptance:[{kind:"detector",detectorIds:[]}]}),Z(!1),G(!0))},disabled:!B,className:"rounded-xl",children:"新建技能"}),children:[(0,t.jsx)(T,{type:"secondary",className:"!mb-4",children:"技能把「本章该写什么(结构/禁写/必需事实)」与「写成什么样才算过(判据)」绑在一起, 在规划与写作时按章域与工程类型命中。这里的下拉与多选都是**闭集**取值—— 保存前会做引用存在性校验,引用不存在的检测器/工艺卡会被拒绝。"}),J.length>0&&(0,t.jsx)(m.A,{type:"warning",className:"mb-4",showIcon:!0,message:"技能库有 ".concat(J.length," 个无法读取的文件(不影响其余技能)"),description:(0,t.jsx)("div",{className:"text-xs",children:J.map(e=>(0,t.jsxs)("div",{children:[e.file,":",e.reason]},e.file))})}),X?(0,t.jsx)("div",{className:"py-10 text-center",children:(0,t.jsx)(h.A,{})}):0===_.length?(0,t.jsx)(p.A,{description:"技能库为空"}):(0,t.jsx)(x.A,{dataSource:_,rowKey:"id",pagination:(0,q.B)(E),onRow:e=>({onClick:()=>eA(e),style:{cursor:"pointer"}}),columns:[{title:"技能",dataIndex:"displayName",render:e=>(0,t.jsx)(F,{strong:!0,children:e})},{title:"章域",width:140,render:(e,l)=>{var s;return(0,t.jsx)(i.A,{color:"blue",children:null!=(s=ec.get(l.match.chapterDomain))?s:l.match.chapterDomain})}},{title:"工程类型",width:180,render:(e,l)=>0===l.match.projectTypes.length?(0,t.jsx)(F,{type:"secondary",className:"text-xs",children:"全类型"}):(0,t.jsx)(c.A,{size:4,wrap:!0,children:l.match.projectTypes.map(e=>{var l;return(0,t.jsx)(i.A,{children:null!=(l=ec.get(e))?l:e},e)})})},{title:"结构 / 判据",width:120,render:(e,l)=>(0,t.jsxs)(c.A,{size:4,children:[(0,t.jsxs)(i.A,{children:[l.structure.length," 小节"]}),(0,t.jsxs)(i.A,{color:"green",children:[l.acceptance.length," 条判据"]})]})},{title:"来源",width:100,render:(e,l)=>l.builtIn?(0,t.jsx)(i.A,{color:"gold",title:eN,children:"内置"}):(0,t.jsx)(i.A,{children:"用户"})},{title:"启用",width:90,render:(e,l)=>(0,t.jsx)(j.A,{size:"small",checked:l.enabled,disabled:l.builtIn,title:l.builtIn?eN:void 0,onChange:e=>{ew(l,e)}})},{title:"操作",width:150,render:(e,l)=>(0,t.jsxs)(c.A,{size:0,onClick:e=>e.stopPropagation(),children:[(0,t.jsx)(u.Ay,{size:"small",type:"text",icon:(0,t.jsx)(f.A,{}),title:"预览",onClick:()=>eA(l)}),(0,t.jsx)(u.Ay,{size:"small",type:"text",icon:(0,t.jsx)(N.A,{}),disabled:l.builtIn,title:l.builtIn?eN:E("common.edit"),onClick:()=>(e=>{let l=e.promptBindings;Array.isArray(l)&&l.length>0&&a.warning("「".concat(e.id,"」里还留着 ").concat(l.length," 条已退休的提示词绑定(promptBindings):该字段已随角色配置页删除,本次保存会把它从技能里移除。")),ee(e),er([]),K.resetFields(),K.setFieldsValue(D(e)),Z(!1),G(!0)})(l)}),(0,t.jsx)(b.A,{title:"确认删除该技能?",onConfirm:()=>{ef(l)},disabled:l.builtIn,children:(0,t.jsx)(u.Ay,{size:"small",type:"text",danger:!0,icon:(0,t.jsx)(C.A,{}),disabled:l.builtIn,title:l.builtIn?eN:E("common.delete")})})]})}]})]}),(0,t.jsxs)(v.A,{title:Y?"技能预览 \xb7 ".concat(null!=(l=null==$?void 0:$.displayName)?l:""):$?"编辑技能 \xb7 ".concat($.displayName):"新建技能",open:Q,onClose:()=>G(!1),styles:{},extra:Y?(0,t.jsxs)(c.A,{children:[(0,t.jsx)(u.Ay,{onClick:()=>G(!1),children:E("common.close")}),(0,t.jsx)(u.Ay,{type:"primary",icon:(0,t.jsx)(N.A,{}),disabled:!$||$.builtIn,title:(null==$?void 0:$.builtIn)?eN:void 0,onClick:()=>Z(!1),children:E("common.edit")})]}):(0,t.jsxs)(c.A,{children:[(0,t.jsx)(u.Ay,{onClick:()=>G(!1),children:E("common.cancel")}),(0,t.jsx)(u.Ay,{type:"primary",loading:el,onClick:()=>{ek()},children:E("common.save")})]}),children:[(null==$?void 0:$.builtIn)&&(0,t.jsx)(m.A,{type:"info",showIcon:!0,className:"mb-4",message:"内置技能",description:eN}),Y?$&&(0,t.jsx)(W,{skill:$,options:B,labelMap:ec,detectorById:ey}):(0,t.jsxs)(t.Fragment,{children:[(null==$?void 0:$.examples)&&(0,t.jsx)(m.A,{type:"info",showIcon:!0,className:"mb-4",message:"该技能带 examples(正例/反例)",description:"examples 只用于让模型理解格式(\xa76.4:不进生成上下文),不在本编辑器里编辑;保存时会原样保留。"}),et.length>0&&(0,t.jsx)(m.A,{type:"error",showIcon:!0,className:"mb-4",message:"校验未通过:".concat(et.length," 处"),description:(0,t.jsx)("div",{className:"text-xs",children:et.map((e,l)=>{var s;return(0,t.jsxs)("div",{children:[(0,t.jsx)(F,{code:!0,children:e.path||"(root)"})," ",e.message]},"".concat(null!=(s=e.path)?s:"root","-").concat(l))})})}),(0,t.jsxs)(o.A,{form:K,layout:"vertical",children:[(0,t.jsx)(o.A.Item,{name:"id",label:"技能 ID",rules:[{required:!0,message:"技能 ID 必填"}],extra:"落盘文件名即此 id;小写字母/数字/连字符,以字母开头(形态由服务端校验)",children:(0,t.jsx)(y.A,{disabled:!!$,placeholder:"例如 c02-major-content-building"})}),(0,t.jsx)(o.A.Item,{name:"enabled",label:"启用",valuePropName:"checked",children:(0,t.jsx)(j.A,{})}),(0,t.jsxs)(n.A,{size:"small",title:"匹配条件(match)",className:"rounded-2xl mb-4",children:[(0,t.jsx)(o.A.Item,{name:["match","chapterDomain"],label:"章域",rules:[{required:!0,message:"章域必选"}],extra:"闭集 16 个章域,取自 \xa76.1",children:(0,t.jsx)(A.A,{options:ed,placeholder:"选择本章所属的内容域"})}),(0,t.jsx)(o.A.Item,{name:["match","projectTypes"],label:"适用工程类型",extra:"不选 = 全部工程类型(\xa76.6 的「空 projectTypes = 通用」)",children:(0,t.jsx)(A.A,{mode:"multiple",allowClear:!0,options:eo,placeholder:"全类型"})}),(0,t.jsx)(o.A.Item,{name:["match","sectionKeywords"],label:"小节标题关键词",extra:"标签输入,可自由加词;命中任一小节标题即通过小节门",children:(0,t.jsx)(A.A,{mode:"tags",tokenSeparators:[",",","," "],placeholder:"输入后回车,例如:主要施工 / 分部分项"})}),(0,t.jsx)(o.A.Item,{name:["match","sectionRegex"],label:"小节标题正则(可选)",extra:"字符串形式的正则(不是正则字面量);嵌套量词/被量词的择一分支/反向引用会被服务端形态闸拒绝",children:(0,t.jsx)(y.A,{placeholder:"例如 交通导改|导行|管线保护"})})]}),(0,t.jsx)(n.A,{size:"small",title:"必需事实(requires)",className:"rounded-2xl mb-4",children:(0,t.jsx)(o.A.List,{name:"requires",children:(e,l)=>{let{add:s,remove:r}=l;return(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[e.map(e=>{let{key:l,name:s,...a}=e;return(0,t.jsxs)(c.A,{align:"baseline",className:"w-full",wrap:!0,children:[(0,t.jsx)(o.A.Item,{...a,name:[s,"key"],rules:[{required:!0,message:"事实键必填"}],children:(0,t.jsx)(y.A,{placeholder:"事实键,如 boq.divisions",style:{width:260}})}),(0,t.jsx)(o.A.Item,{...a,name:[s,"source"],rules:[{required:!0,message:"来源必选"}],children:(0,t.jsx)(A.A,{options:eu,placeholder:"事实来源",style:{width:160}})}),(0,t.jsx)(o.A.Item,{...a,name:[s,"required"],valuePropName:"checked",children:(0,t.jsx)(j.A,{checkedChildren:"必需",unCheckedChildren:"可选"})}),(0,t.jsx)(u.Ay,{type:"text",danger:!0,icon:(0,t.jsx)(C.A,{}),onClick:()=>r(s)})]},l)}),(0,t.jsxs)(u.Ay,{type:"dashed",icon:(0,t.jsx)(w.A,{}),onClick:()=>s({source:"billFactLock",required:!1}),children:[E("common.add"),"事实需求"]})]})}})}),(0,t.jsx)(n.A,{size:"small",title:"输出结构(structure)",className:"rounded-2xl mb-4",children:(0,t.jsx)(o.A.List,{name:"structure",children:(e,l)=>{let{add:s,remove:r}=l;return(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[e.map(e=>{let{key:l,name:s,...a}=e;return(0,t.jsxs)(c.A,{align:"baseline",className:"w-full",wrap:!0,children:[(0,t.jsx)(o.A.Item,{...a,name:[s,"title"],rules:[{required:!0,message:"小节标题必填"}],children:(0,t.jsx)(y.A,{placeholder:"小节标题",style:{width:420}})}),(0,t.jsx)(o.A.Item,{...a,name:[s,"minChars"],rules:[{required:!0,message:"最少字数必填"}],extra:"技能覆盖 > 门槛表默认(S6.1)",children:(0,t.jsx)(g.A,{min:0,step:100,style:{width:140},addonAfter:"字"})}),(0,t.jsx)(u.Ay,{type:"text",danger:!0,icon:(0,t.jsx)(C.A,{}),onClick:()=>r(s)})]},l)}),(0,t.jsxs)(u.Ay,{type:"dashed",icon:(0,t.jsx)(w.A,{}),onClick:()=>s({minChars:300}),children:[E("common.add"),"小节"]})]})}})}),(0,t.jsxs)(n.A,{size:"small",title:"文档职责(模板职责的去向 \xb7 P10 \xa712.4)",className:"rounded-2xl mb-4",children:[(0,t.jsx)(o.A.Item,{name:"outputTitle",extra:"文档名称(模板 outputTitle 的去向)。多个技能都声明时,合成器取**命中技能里出现次数最多**的那一个",children:(0,t.jsx)(y.A,{placeholder:"留空 = 本技能不对文档名称表态",style:{maxWidth:420}})}),(0,t.jsxs)("div",{className:"mt-2 mb-1",children:[(0,t.jsx)(F,{strong:!0,children:"章级清单"}),(0,t.jsx)(F,{type:"secondary",className:"text-xs ml-2",children:"章级要求不属于任何单个小节;小节清单在「输出结构」里声明,两处都写会漂移(服务端给提示)"})]}),(0,t.jsx)(o.A.Item,{name:["chapterChecklist","purpose"],label:"章职责(purpose)",extra:"章文本与资料匹配用;单值",children:(0,t.jsx)(y.A,{placeholder:"例如:说明本工程的安全管理目标与危大工程清单",style:{maxWidth:640}})}),(0,t.jsxs)(c.A,{wrap:!0,align:"start",children:[(0,t.jsx)(o.A.Item,{name:["chapterChecklist","queries"],label:"章内检索词(queries)",extra:"检索基础 query",children:(0,t.jsx)(A.A,{mode:"tags",tokenSeparators:[",",","],style:{minWidth:260},placeholder:"回车添加"})}),(0,t.jsx)(o.A.Item,{name:["chapterChecklist","requiredFacts"],label:"必含事实(requiredFacts)",extra:"事实需求池",children:(0,t.jsx)(A.A,{mode:"tags",tokenSeparators:[",",","],style:{minWidth:260},placeholder:"回车添加"})})]}),(0,t.jsxs)(c.A,{wrap:!0,align:"start",children:[(0,t.jsx)(o.A.Item,{name:["chapterChecklist","tableSections"],label:"表格清单(tableSections)",extra:"要求成表的小节",children:(0,t.jsx)(A.A,{mode:"tags",tokenSeparators:[",",","],style:{minWidth:260},placeholder:"回车添加"})}),(0,t.jsx)(o.A.Item,{name:["chapterChecklist","tableRequirements"],label:"表格要求(tableRequirements)",extra:"表格形态/列要求",children:(0,t.jsx)(A.A,{mode:"tags",tokenSeparators:[",",","],style:{minWidth:260},placeholder:"回车添加"})})]}),(0,t.jsx)(o.A.Item,{name:["chapterChecklist","pinnedEvidenceFilePaths"],label:"钉住的证据文件(pinnedEvidenceFilePaths)",extra:"整文件全量注入的唯一口子;填**文件名**,不对文件存在性做校验",children:(0,t.jsx)(A.A,{mode:"tags",tokenSeparators:[",",","],style:{maxWidth:640},placeholder:"回车添加文件名"})}),(null!=(s=null==B||null==(e=B.absentCarriers)?void 0:e.length)?s:0)>0&&(0,t.jsx)(m.A,{type:"info",showIcon:!0,className:"mt-3",message:"契约里刻意没有的位(不是漏了)",description:(0,t.jsx)("div",{className:"text-xs",children:null==B?void 0:B.absentCarriers.map(e=>(0,t.jsxs)("div",{children:[e.label,":",e.note]},e.id))})})]}),(0,t.jsx)(n.A,{size:"small",title:"禁写项(forbidden)",className:"rounded-2xl mb-4",children:(0,t.jsx)(o.A.Item,{name:"forbidden",extra:"标签输入;落入写作层同族词表(\xa76.1 写作层消费点)。forbidden 是必填字段——没有禁写项就留空数组",children:(0,t.jsx)(A.A,{mode:"tags",tokenSeparators:[",",","],placeholder:"输入后回车,例如:管道闭水试验"})})}),(0,t.jsx)(n.A,{size:"small",title:"知识引用(knowledge)",className:"rounded-2xl mb-4",children:(0,t.jsx)(o.A.List,{name:"knowledge",children:(e,l)=>{let{add:s,remove:r}=l;return(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[e.map(e=>{var l,s;let{key:a,name:n,...i}=e,d=null!=(s=null==ea||null==(l=ea[n])?void 0:l.kind)?s:"processCard";return(0,t.jsxs)(c.A,{align:"baseline",className:"w-full",wrap:!0,children:[(0,t.jsx)(o.A.Item,{...i,name:[n,"kind"],rules:[{required:!0,message:"引用形态必选"}],children:(0,t.jsx)(A.A,{options:ex,style:{width:180},placeholder:"引用形态"})}),("processCard"===d||"standard"===d)&&(0,t.jsx)(o.A.Item,{...i,name:[n,"ids"],rules:[{required:!0,type:"array",min:1,message:"至少选择一项"}],style:{minWidth:320},children:(0,t.jsx)(A.A,{mode:"multiple",showSearch:!0,optionFilterProp:"label",allowClear:!0,options:"processCard"===d?eb:[],placeholder:"processCard"===d?"按工艺卡名称搜索":"输入规范号后回车",..."standard"===d?{mode:"tags",tokenSeparators:[",",","]}:{}})}),"processChain"===d&&(0,t.jsx)(o.A.Item,{...i,name:[n,"id"],rules:[{required:!0,message:"请选择工序链"}],children:(0,t.jsx)(A.A,{options:eh,placeholder:"工序链(按工程类型)",style:{width:220}})}),"workflowRules"===d&&(0,t.jsx)(o.A.Item,{...i,name:[n,"id"],rules:[{required:!0,message:"请选择工程规则资产"}],children:(0,t.jsx)(A.A,{showSearch:!0,optionFilterProp:"label",options:em,placeholder:"按名称搜索工程规则资产",style:{minWidth:320}})}),(0,t.jsx)(o.A.Item,{...i,name:[n,"note"],children:(0,t.jsx)(y.A,{placeholder:"说明(可选)",style:{width:180}})}),(0,t.jsx)(u.Ay,{type:"text",danger:!0,icon:(0,t.jsx)(C.A,{}),onClick:()=>r(n)})]},a)}),(0,t.jsxs)(u.Ay,{type:"dashed",icon:(0,t.jsx)(w.A,{}),onClick:()=>s({kind:"processCard",ids:[]}),children:[E("common.add"),"知识引用"]})]})}})}),(0,t.jsxs)(n.A,{size:"small",title:"验收判据(acceptance)",className:"rounded-2xl mb-4",children:[(0,t.jsx)(m.A,{type:"info",showIcon:!0,className:"mb-3",message:"两类判据必须分开看",description:"内置检测器与参数化阈值是**确定性判据**,进硬门禁;LLM 检查清单是**非确定性判据**,只做提示与评分。硬门禁归属由检测器注册表决定,技能不得覆写(\xa76.5 硬规则 3)。"}),(0,t.jsx)(o.A.List,{name:"acceptance",children:(e,l)=>{let{add:s,remove:r}=l;return(0,t.jsxs)("div",{className:"flex flex-col gap-3",children:[e.map(e=>{var l,s;let{key:a,name:n,...d}=e,m=null==en?void 0:en[n],h=null!=(l=null==m?void 0:m.kind)?l:"detector",p="llmChecklist"!==h;return(0,t.jsxs)("div",{className:"rounded-xl border border-[var(--colorBorderSecondary)] p-3",children:[(0,t.jsxs)(c.A,{align:"baseline",wrap:!0,className:"w-full",children:[(0,t.jsx)(o.A.Item,{...d,name:[n,"kind"],rules:[{required:!0,message:"判据形态必选"}],children:(0,t.jsx)(A.A,{options:ej,style:{width:220},placeholder:"判据形态"})}),(0,t.jsx)(i.A,{color:p?"red":"default",children:p?"确定性 \xb7 进硬门禁":"非确定性 \xb7 只做提示"}),(0,t.jsx)(u.Ay,{type:"text",danger:!0,icon:(0,t.jsx)(C.A,{}),onClick:()=>r(n)})]}),"detector"===h&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(o.A.Item,{...d,name:[n,"detectorIds"],rules:[{required:!0,type:"array",min:1,message:"至少选择一个检测器"}],extra:"可按中文名、检测器 id 或处置说明搜索;选项来自 detectorEntry(id) 的元数据",children:(0,t.jsx)(A.A,{mode:"multiple",showSearch:!0,optionFilterProp:"label",allowClear:!0,options:ev,placeholder:"按中文名或检测器 id 搜索"})}),(0,t.jsx)("div",{className:"flex flex-wrap gap-1",children:(null!=(s=null==m?void 0:m.detectorIds)?s:[]).map(e=>{let l=ey.get(e);return(0,t.jsx)(i.A,{color:l?"blue":"red",title:l?"处置:".concat(l.disposition).concat(l.dispositionNote?"(".concat(l.dispositionNote,")"):"","|作用域:").concat(l.scope):"未登记",children:l?"".concat(l.label,"|").concat(e):"".concat(e,"(未登记,服务端会拒绝)")},e)})})]}),"threshold"===h&&(0,t.jsxs)(c.A,{align:"baseline",wrap:!0,children:[(0,t.jsx)(o.A.Item,{...d,name:[n,"thresholdId"],rules:[{required:!0,message:"请选择阈值"}],children:(0,t.jsx)(A.A,{options:ep,placeholder:"按名称搜索阈值",showSearch:!0,optionFilterProp:"label",style:{width:320}})}),(0,t.jsx)(o.A.Item,{...d,name:[n,"thresholdValue"],rules:[{required:!0,message:"阈值取值必填"}],children:(0,t.jsx)(g.A,{style:{width:140},placeholder:"取值"})})]}),"llmChecklist"===h&&(0,t.jsx)(o.A.Item,{...d,name:[n,"checklistItems"],rules:[{required:!0,type:"array",min:1,message:"至少写一条检查项"}],extra:"非确定性:不会进硬门禁;保存时服务端强制打上 nonDeterministic: true",children:(0,t.jsx)(A.A,{mode:"tags",tokenSeparators:[",",","],placeholder:"输入后回车,例如:施工方法是否针对本项目工程特点"})})]},a)}),(0,t.jsxs)(u.Ay,{type:"dashed",icon:(0,t.jsx)(w.A,{}),onClick:()=>s({kind:"detector",detectorIds:[]}),children:[E("common.add"),"判据"]})]})}})]}),B&&(0,t.jsx)(n.A,{size:"small",title:(0,t.jsxs)(c.A,{children:[(0,t.jsx)(I.A,{}),"不可被技能覆盖的隔离规则(\xa76.5 硬规则 3)"]}),className:"rounded-2xl",children:B.isolationRules.map(e=>(0,t.jsxs)("div",{className:"mb-1",children:[(0,t.jsx)(i.A,{children:e.label}),(0,t.jsx)(F,{type:"secondary",className:"text-xs",children:e.note})]},e.id))})]})]})]})]})}}},e=>{e.O(0,[310,700,914,174,189,289,569,787,445,127,636,593,792],()=>e(e.s=25981)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[979],{9137:(e,r,t)=>{"use strict";t.d(r,{Ay:()=>A});var a=t(9750),s=t(97109),o=t(42644),l=t(10252),n=t(74567),c=t(48921),i=t(98379),d=t(3638),x=t(632),m=t(34475),g=t(52093),p=t(60815),u=t(5741);let h=null,f=e=>e(),v=[],b={};function w(){let{getContainer:e,duration:r,rtl:t,maxCount:a,top:s,stack:o}=b,l=e?.()||document.body;return{getContainer:()=>l,duration:r,rtl:t,maxCount:a,top:s,stack:o}}let y=s.forwardRef((e,r)=>{let{messageConfig:t,sync:a}=e,{getPrefixCls:o}=(0,s.useContext)(n.QO),c=b.prefixCls||o("message"),i=(0,s.useContext)(l.B),[d,x]=(0,p.y)({...t,prefixCls:c,...i.message});return s.useImperativeHandle(r,()=>{let e={...d};return Object.keys(e).forEach(r=>{e[r]=(...e)=>(a(),d[r].apply(d,e))}),{instance:e,sync:a}}),x}),j=s.forwardRef((e,r)=>{let[t,a]=s.useState(w),o=()=>{a(w)};s.useEffect(o,[]);let l=(0,c.cr)(),n=l.getRootPrefixCls(),i=l.getIconPrefixCls(),d=l.getTheme(),x=s.createElement(y,{ref:r,sync:o,messageConfig:t});return s.createElement(c.Ay,{prefixCls:n,iconPrefixCls:i,theme:d},l.holderRender?l.holderRender(x):x)}),N=()=>{if(!h){let e=document.createDocumentFragment(),r={fragment:e};h=r,f(()=>{(0,o.XX)(s.createElement(j,{ref:e=>{let{instance:t,sync:a}=e||{};Promise.resolve().then(()=>{!r.instance&&t&&(r.instance=t,r.sync=a,N())})}}),e)});return}h.instance&&(v.forEach(e=>{let{type:r,skipped:t}=e;if(!t)switch(r){case"open":f(()=>{let r=h.instance.open({...b,...e.config});r?.then(e.resolve),e.setCloseFn(r)});break;case"destroy":f(()=>{h?.instance.destroy(e.key)});break;default:f(()=>{var t;let s=(t=h.instance)[r].apply(t,(0,a.A)(e.args));s?.then(e.resolve),e.setCloseFn(s)})}}),v=[])},C={open:function(e){let r=(0,u.E)(r=>{let t,a={type:"open",config:e,resolve:r,setCloseFn:e=>{t=e}};return v.push(a),()=>{t?f(()=>{t()}):a.skipped=!0}});return N(),r},destroy:e=>{v.push({type:"destroy",key:e}),N()},config:function(e){b={...b,...e},f(()=>{h?.sync?.()})},useMessage:p.A,_InternalPanelDoNotUseOrYouWillBeFired:m.Ay,_InternalListDoNotUseOrYouWillBeFired:e=>{let{items:r,classNames:t,style:a}=e,{getPrefixCls:o}=(0,n.TP)("message"),l=o("message"),c=(0,x.A)(l),[p,u]=(0,g.A)(l,c),h=`${l}-notice`,f=r.map(e=>{let{content:r,duration:t,key:a,type:s}=e,o=s?`${h}-icon-${s}`:void 0;return{key:a,duration:t,icon:(0,m.HC)(s),title:r,className:`${h}-${s}`,classNames:{wrapper:`${l}-${s}`,icon:o}}});return s.createElement(i.qb,{prefixCls:l,placement:"top",configList:f,className:(0,d.$)(p,u,c),classNames:{...t,wrapper:t?.wrapper,title:t?.title},style:a,stack:!1})}};["success","info","warning","error","loading"].forEach(e=>{C[e]=(...r)=>(function(e,r){(0,c.cr)();let t=(0,u.E)(t=>{let a,s={type:e,args:r,resolve:t,setCloseFn:e=>{a=e}};return v.push(s),()=>{a?f(()=>{a()}):s.skipped=!0}});return N(),t})(e,r)});let A=C},12446:(e,r)=>{"use strict";r.A={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}},{tag:"path",attrs:{d:"M464 336a48 48 0 1096 0 48 48 0 10-96 0zm72 112h-48c-4.4 0-8 3.6-8 8v272c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V456c0-4.4-3.6-8-8-8z"}}]},name:"info-circle",theme:"outlined"}},14995:(e,r)=>{"use strict";r.A={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M909.1 209.3l-56.4 44.1C775.8 155.1 656.2 92 521.9 92 290 92 102.3 279.5 102 511.5 101.7 743.7 289.8 932 521.9 932c181.3 0 335.8-115 394.6-276.1 1.5-4.2-.7-8.9-4.9-10.3l-56.7-19.5a8 8 0 00-10.1 4.8c-1.8 5-3.8 10-5.9 14.9-17.3 41-42.1 77.8-73.7 109.4A344.77 344.77 0 01655.9 829c-42.3 17.9-87.4 27-133.8 27-46.5 0-91.5-9.1-133.8-27A341.5 341.5 0 01279 755.2a342.16 342.16 0 01-73.7-109.4c-17.9-42.4-27-87.4-27-133.9s9.1-91.5 27-133.9c17.3-41 42.1-77.8 73.7-109.4 31.6-31.6 68.4-56.4 109.3-73.8 42.3-17.9 87.4-27 133.8-27 46.5 0 91.5 9.1 133.8 27a341.5 341.5 0 01109.3 73.8c9.9 9.9 19.2 20.4 27.8 31.4l-60.2 47a8 8 0 003 14.1l175.6 43c5 1.2 9.9-2.6 9.9-7.7l.8-180.9c-.1-6.6-7.8-10.3-13-6.2z"}}]},name:"reload",theme:"outlined"}},29606:(e,r,t)=>{"use strict";t.r(r),t.d(r,{default:()=>A});var a=t(65321),s=t(97109),o=t(48399),l=t(9137),n=t(11702),c=t(88762),i=t(7576),d=t(85114),x=t(32965),m=t(21289),g=t(84253),p=t(30486),u=t(99811),h=t(58209),f=t(12446),v=t(88483);function b(){return(b=Object.assign?Object.assign.bind():function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a])}return e}).apply(this,arguments)}let w=s.forwardRef((e,r)=>s.createElement(v.A,b({},e,{ref:r,icon:f.A})));var y=t(85587),j=t(6578),N=t(58690);let{Text:C}=o.A;function A(){let e=(0,y.Vr)(),[r,t]=(0,s.useState)([]),[o,f]=(0,s.useState)(!0),[v,b]=(0,s.useState)(""),A=async()=>{f(!0);try{t((await (0,j.oH)(500)).logs)}catch(e){l.Ay.error(e instanceof Error?e.message:"加载日志失败")}finally{f(!1)}};(0,s.useEffect)(()=>{A()},[]);let k=(0,s.useMemo)(()=>{let e=v.trim().toLowerCase();return e?r.filter(r=>[r.id,r.level,r.source,r.functionName,r.message,r.stack].filter(Boolean).some(r=>String(r).toLowerCase().includes(e))):r},[v,r]),T=[{title:e("logs.time"),dataIndex:"createdAt",width:160,render:e=>(0,a.jsx)("span",{className:"text-xs text-[var(--colorTextSecondary)] font-mono",children:new Date(e).toLocaleString()})},{title:e("logs.level"),dataIndex:"level",width:80,render:e=>(0,a.jsx)(n.A,{color:"error"===e?"error":"warn"===e?"warning":"blue",className:"m-0 text-[10px] uppercase tracking-wider border-0",children:e})},{title:e("logs.source"),dataIndex:"source",width:220,render:e=>(0,a.jsx)("span",{className:"text-xs font-mono text-[var(--colorTextSecondary)] break-all",children:e})},{title:e("logs.message"),dataIndex:"message",render:e=>(0,a.jsx)("div",{className:"text-sm text-[var(--colorText)] max-w-3xl whitespace-normal break-words leading-relaxed",title:e,children:e})},{title:e("logs.requestId"),dataIndex:"id",width:120,render:e=>(0,a.jsx)(C,{copyable:!0,className:"text-[10px] font-mono text-[var(--colorTextTertiary)]",children:e.slice(0,8)})}];return o&&0===r.length?(0,a.jsxs)("div",{className:"space-y-8 animateFadeIn",children:[(0,a.jsx)(c.A,{active:!0,title:!0,paragraph:{rows:1}}),(0,a.jsx)(c.A,{active:!0,paragraph:{rows:12}})]}):(0,a.jsxs)("div",{className:"h-[calc(100vh_-_140px)] flex flex-col",children:[(0,a.jsxs)("div",{className:"flex flex-col md:flex-row md:items-center justify-between gap-4 pb-4 border-b border-[var(--borderColor)] shrink-0 animateFadeIn",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h1",{className:"text-2xl font-bold tracking-tight text-[var(--colorText)] mb-1",children:e("nav.systemLogs")}),(0,a.jsx)("p",{className:"text-xs text-[var(--colorTextSecondary)]",children:e("logs.monitorSystem")})]}),(0,a.jsxs)("div",{className:"flex items-center gap-3",children:[(0,a.jsx)(i.A,{placeholder:e("logs.searchLogs"),prefix:(0,a.jsx)(p.A,{className:"text-[var(--colorTextTertiary)]"}),value:v,onChange:e=>b(e.target.value),allowClear:!0,className:"w-[260px] bg-[var(--colorBgHover)] border-transparent"}),(0,a.jsx)(d.Ay,{icon:(0,a.jsx)(u.A,{}),loading:o,onClick:()=>void A(),className:"shadow-none",children:e("logs.refresh")}),(0,a.jsx)(x.A,{title:e("logs.clearConfirm"),onConfirm:()=>{(async()=>{let r=await (0,j.hH)();l.Ay.success(e("logs.clearedFiles").replace("{count}",String(r.deleted))),await A()})()},children:(0,a.jsx)(d.Ay,{danger:!0,icon:(0,a.jsx)(h.A,{}),className:"shadow-none border-transparent",children:e("logs.clear")})})]})]}),(0,a.jsxs)("div",{className:"flex items-center gap-2 py-3 px-1 text-xs text-[var(--colorTextTertiary)] shrink-0 animateFadeIn stagger-1",children:[(0,a.jsx)(w,{})," ",e("logs.logStorageInfo")," ",(0,a.jsx)("code",{className:"bg-[var(--colorBgHover)] px-1 rounded",children:"~/.customize-agent/logs/errors.jsonl"}),". ",e("logs.maxLoaded")]}),(0,a.jsx)("div",{className:"flex-1 overflow-hidden bg-[var(--colorBg)] rounded-lg animateFadeIn stagger-2",children:(0,a.jsx)(m.A,{rowKey:"id",loading:o,dataSource:k,columns:T,size:"middle",className:"h-full modern-table tableFillHeight",locale:{emptyText:(0,a.jsx)(g.A,{description:e("logs.noLogsFound"),className:"py-20"})},pagination:(0,N.B)(e),rowClassName:"hover:bg-[var(--colorBgHover)] transition-colors cursor-pointer",expandable:{expandedRowRender:r=>(0,a.jsxs)("div",{className:"flex flex-col gap-4 p-4 bg-[var(--colorBgHover)]/50 border-t border-[var(--borderColor)]",children:[r.functionName&&(0,a.jsxs)("div",{className:"text-xs text-[var(--colorTextSecondary)]",children:[(0,a.jsx)("span",{className:"font-semibold uppercase tracking-wider text-[var(--colorTextTertiary)] mr-2",children:e("logs.function")}),(0,a.jsx)("code",{className:"font-mono bg-[var(--colorBgElevated)] px-2 py-1 rounded",children:r.functionName})]}),r.request&&(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"text-[10px] font-semibold uppercase tracking-wider text-[var(--colorTextTertiary)] mb-2",children:e("logs.requestContext")}),(0,a.jsx)("pre",{className:"text-xs font-mono bg-[var(--colorBgElevated)] p-3 rounded-md border border-[var(--borderColor)] whitespace-pre-wrap break-all m-0 text-[var(--colorTextSecondary)]",children:JSON.stringify(r.request,null,2)})]}),void 0!==r.meta&&(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"text-[10px] font-semibold uppercase tracking-wider text-[var(--colorTextTertiary)] mb-2",children:e("logs.metadata")}),(0,a.jsx)("pre",{className:"text-xs font-mono bg-[var(--colorBgElevated)] p-3 rounded-md border border-[var(--borderColor)] whitespace-pre-wrap break-all m-0 text-[var(--colorTextSecondary)]",children:JSON.stringify(r.meta,null,2)})]}),r.stack&&(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"text-[10px] font-semibold uppercase tracking-wider text-[var(--colorTextTertiary)] mb-2",children:e("logs.stackTrace")}),(0,a.jsx)("pre",{className:"text-[11px] font-mono bg-[#1e1e1e] text-[#d4d4d4] p-3 rounded-md overflow-x-auto m-0 leading-relaxed",children:r.stack})]})]})}})})]})}},39214:(e,r,t)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/system/logs",function(){return t(29606)}])},58690:(e,r,t)=>{"use strict";function a(e){var r,t,a;let s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{pageSize:null!=(r=s.pageSize)?r:10,pageSizeOptions:null!=(t=s.pageSizeOptions)?t:[10,20,50,100],showSizeChanger:!0,showTotal:r=>{var t,a;return e(null!=(t=s.totalLabelKey)?t:"common.totalRows",null!=(a=s.totalLabelFallback)?a:"共 {count} 条").replace("{count}",String(r))},hideOnSinglePage:null!=(a=s.hideOnSinglePage)&&a,showQuickJumper:!1}}t.d(r,{B:()=>a})},99811:(e,r,t)=>{"use strict";t.d(r,{A:()=>n});var a=t(97109),s=t(14995),o=t(88483);function l(){return(l=Object.assign?Object.assign.bind():function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a])}return e}).apply(this,arguments)}let n=a.forwardRef((e,r)=>a.createElement(o.A,l({},e,{ref:r,icon:s.A})))}},e=>{e.O(0,[310,700,914,174,189,289,636,593,792],()=>e(e.s=39214)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(()=>{"use strict";var e={},r={};function t(o){var n=r[o];if(void 0!==n)return n.exports;var a=r[o]={exports:{}},f=!0;try{e[o].call(a.exports,a,a.exports,t),f=!1}finally{f&&delete r[o]}return a.exports}t.m=e,(()=>{var e=[];t.O=(r,o,n,a)=>{if(o){a=a||0;for(var f=e.length;f>0&&e[f-1][2]>a;f--)e[f]=e[f-1];e[f]=[o,n,a];return}for(var l=1/0,f=0;f<e.length;f++){for(var[o,n,a]=e[f],i=!0,u=0;u<o.length;u++)(!1&a||l>=a)&&Object.keys(t.O).every(e=>t.O[e](o[u]))?o.splice(u--,1):(i=!1,a<l&&(l=a));if(i){e.splice(f--,1);var c=n();void 0!==c&&(r=c)}}return r}})(),t.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return t.d(r,{a:r}),r},(()=>{var e,r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__;t.t=function(o,n){if(1&n&&(o=this(o)),8&n||"object"==typeof o&&o&&(4&n&&o.__esModule||16&n&&"function"==typeof o.then))return o;var a=Object.create(null);t.r(a);var f={};e=e||[null,r({}),r([]),r(r)];for(var l=2&n&&o;"object"==typeof l&&!~e.indexOf(l);l=r(l))Object.getOwnPropertyNames(l).forEach(e=>f[e]=()=>o[e]);return f.default=()=>o,t.d(a,f),a}})(),t.d=(e,r)=>{for(var o in r)t.o(r,o)&&!t.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:r[o]})},t.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),t.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),t.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.p="/_next/",(()=>{var e={68:0};t.O.j=r=>0===e[r];var r=(r,o)=>{var n,a,[f,l,i]=o,u=0;if(f.some(r=>0!==e[r])){for(n in l)t.o(l,n)&&(t.m[n]=l[n]);if(i)var c=i(t)}for(r&&r(o);u<f.length;u++)a=f[u],t.o(e,a)&&e[a]&&e[a][0](),e[a]=0;return t.O(c)},o=self.webpackChunk_N_E=self.webpackChunk_N_E||[];o.forEach(r.bind(null,0)),o.push=r.bind(null,o.push.bind(o))})()})();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-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-x-reverse:0;--tw-border-style:solid;--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}}}@layer theme{:host,:root{--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-blue-50:oklch(97% .014 254.604);--color-blue-200:oklch(88.2% .059 254.128);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-3xl:48rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-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:calc(2.25 / 1.875);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--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{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.top-0{top:0}.top-1{top:var(--spacing)}.top-3{top:calc(var(--spacing) * 3)}.top-5{top:calc(var(--spacing) * 5)}.z-\[1\]{z-index:1}.col-span-2{grid-column:span 2/span 2}.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}}.\!m-0{margin:0!important}.m-0{margin:0}.-mx-4{margin-inline:calc(var(--spacing) * -4)}.mx-1{margin-inline:var(--spacing)}.mx-auto{margin-inline:auto}.\!my-3{margin-block:calc(var(--spacing) * 3)!important}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-auto{margin-top:auto}.-mr-2{margin-right:calc(var(--spacing) * -2)}.mr-1{margin-right:var(--spacing)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mr-4{margin-right:calc(var(--spacing) * 4)}.\!mb-0{margin-bottom:0!important}.\!mb-4{margin-bottom:calc(var(--spacing) * 4)!important}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--spacing)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.ml-1{margin-left:var(--spacing)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-3{margin-left:calc(var(--spacing) * 3)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.table-caption{display:table-caption}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-3{height:calc(var(--spacing) * 3)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-\[22px\]{height:22px}.h-\[calc\(100vh-140px\)\],.h-\[calc\(100vh_-_140px\)\]{height:calc(100vh - 140px)}.h-auto{height:auto}.h-full{height:100%}.max-h-52{max-height:calc(var(--spacing) * 52)}.max-h-\[170px\]{max-height:170px}.max-h-\[260px\]{max-height:260px}.min-h-0{min-height:0}.min-h-\[66px\]{min-height:66px}.min-h-\[140px\]{min-height:140px}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-6{width:calc(var(--spacing) * 6)}.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-16{width:calc(var(--spacing) * 16)}.w-\[1px\]{width:1px}.w-\[22px\]{width:22px}.w-\[260px\]{width:260px}.w-full{width:100%}.max-w-3xl{max-width:var(--container-3xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-\[78\%\]{max-width:78%}.max-w-\[120px\]{max-width:120px}.max-w-\[240px\]{max-width:240px}.max-w-\[260px\]{max-width:260px}.max-w-\[280px\]{max-width:280px}.max-w-\[300px\]{max-width:300px}.max-w-\[360px\]{max-width:360px}.max-w-\[520px\]{max-width:520px}.min-w-0{min-width:0}.min-w-4{min-width:calc(var(--spacing) * 4)}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-none{resize:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-\[22px_minmax\(0\,1fr\)_auto\]{grid-template-columns:22px minmax(0,1fr) auto}.grid-cols-\[28px_1fr_auto\]{grid-template-columns:28px 1fr auto}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.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-1{gap:var(--spacing)}.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)}: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-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-12>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 12) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 12) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-y-1{row-gap:var(--spacing)}:where(.divide-x>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px * var(--tw-divide-x-reverse));border-inline-end-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e+38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-\[var\(--borderColor\)\]{border-color:var(--borderColor)}.border-\[var\(--borderColorStrong\)\]{border-color:var(--borderColorStrong)}.border-\[var\(--canvasSectionBorder\)\]{border-color:var(--canvasSectionBorder)}.border-\[var\(--colorBorderSecondary\)\]{border-color:var(--colorBorderSecondary)}.border-\[var\(--colorDanger\)\]\/20{border-color:var(--colorDanger)}@supports (color:color-mix(in lab,red,red)){.border-\[var\(--colorDanger\)\]\/20{border-color:color-mix(in oklab,var(--colorDanger) 20%,transparent)}}.border-\[var\(--colorWarning\)\]{border-color:var(--colorWarning)}.border-\[…\]{border-color:…}.border-blue-200{border-color:var(--color-blue-200)}.border-transparent{border-color:#0000}.bg-\[\#1e1e1e\]{background-color:#1e1e1e}.bg-\[var\(--borderColor\)\]{background-color:var(--borderColor)}.bg-\[var\(--colorAccent\)\]{background-color:var(--colorAccent)}.bg-\[var\(--colorBg\)\]{background-color:var(--colorBg)}.bg-\[var\(--colorBgContainer\)\]{background-color:var(--colorBgContainer)}.bg-\[var\(--colorBgElevated\)\]{background-color:var(--colorBgElevated)}.bg-\[var\(--colorBgHover\)\],.bg-\[var\(--colorBgHover\)\]\/50{background-color:var(--colorBgHover)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--colorBgHover\)\]\/50{background-color:color-mix(in oklab,var(--colorBgHover) 50%,transparent)}}.bg-\[var\(--colorBgSecondary\)\]\/30{background-color:var(--colorBgSecondary)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--colorBgSecondary\)\]\/30{background-color:color-mix(in oklab,var(--colorBgSecondary) 30%,transparent)}}.bg-\[var\(--colorBgSelected\)\]{background-color:var(--colorBgSelected)}.bg-\[var\(--colorBorderSecondary\)\]{background-color:var(--colorBorderSecondary)}.bg-\[var\(--colorBrand\)\]\/5{background-color:var(--colorBrand)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--colorBrand\)\]\/5{background-color:color-mix(in oklab,var(--colorBrand) 5%,transparent)}}.bg-\[var\(--colorBrand\)\]\/10{background-color:var(--colorBrand)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--colorBrand\)\]\/10{background-color:color-mix(in oklab,var(--colorBrand) 10%,transparent)}}.bg-\[var\(--colorDanger\)\],.bg-\[var\(--colorDanger\)\]\/10{background-color:var(--colorDanger)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--colorDanger\)\]\/10{background-color:color-mix(in oklab,var(--colorDanger) 10%,transparent)}}.bg-\[var\(--colorFillAlter\)\]{background-color:var(--colorFillAlter)}.bg-\[var\(--colorFillSecondary\)\]{background-color:var(--colorFillSecondary)}.bg-\[var\(--colorOk\)\]{background-color:var(--colorOk)}.bg-\[var\(--colorText\)\]{background-color:var(--colorText)}.bg-\[var\(--colorTextTertiary\)\]{background-color:var(--colorTextTertiary)}.bg-\[var\(--colorWarning\)\]{background-color:var(--colorWarning)}.bg-\[var\(--colorWarningBg\)\]{background-color:var(--colorWarningBg)}.bg-black{background-color:var(--color-black)}.bg-blue-50\/50{background-color:#eff6ff80}@supports (color:color-mix(in lab,red,red)){.bg-blue-50\/50{background-color:color-mix(in oklab,var(--color-blue-50) 50%,transparent)}}.bg-transparent{background-color:#0000}.object-cover{object-fit:cover}.p-0{padding:0}.p-1{padding:var(--spacing)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-3\.5{padding:calc(var(--spacing) * 3.5)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.px-1{padding-inline:var(--spacing)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-20{padding-block:calc(var(--spacing) * 20)}.py-32{padding-block:calc(var(--spacing) * 32)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pt-16{padding-top:calc(var(--spacing) * 16)}.pb-1{padding-bottom:var(--spacing)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-5{padding-left:calc(var(--spacing) * 5)}.text-center{text-align:center}.text-left{text-align:left}.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-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-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.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-7{--tw-leading:calc(var(--spacing) * 7);line-height:calc(var(--spacing) * 7)}.leading-\[18px\]{--tw-leading:18px;line-height:18px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.text-ellipsis{text-overflow:ellipsis}.whitespace-normal{white-space:normal}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[\#d4d4d4\]{color:#d4d4d4}.text-\[var\(--colorAccent\)\]{color:var(--colorAccent)}.text-\[var\(--colorBg\)\]{color:var(--colorBg)}.text-\[var\(--colorBorderSecondary\)\]{color:var(--colorBorderSecondary)}.text-\[var\(--colorBrand\)\]{color:var(--colorBrand)}.text-\[var\(--colorDanger\)\]{color:var(--colorDanger)}.text-\[var\(--colorInfo\)\]{color:var(--colorInfo)}.text-\[var\(--colorOk\)\]{color:var(--colorOk)}.text-\[var\(--colorPrimary\)\]{color:var(--colorPrimary)}.text-\[var\(--colorSuccess\)\]{color:var(--colorSuccess)}.text-\[var\(--colorText\)\]{color:var(--colorText)}.text-\[var\(--colorTextSecondary\)\]{color:var(--colorTextSecondary)}.text-\[var\(--colorTextTertiary\)\]{color:var(--colorTextTertiary)}.text-\[var\(--colorWarn\)\]{color:var(--colorWarn)}.text-\[var\(--colorWarning\)\]{color:var(--colorWarning)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.opacity-0{opacity:0}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)}.shadow,.shadow-\[var\(--shadowSurface\)\]{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[var\(--shadowSurface\)\]{--tw-shadow:var(--shadowSurface)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a)}.shadow-lg,.shadow-md{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)}.shadow-none{--tw-shadow:0 0 #0000}.shadow-none,.shadow-sm{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)}.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-filter{-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-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))}@media (hover:hover){.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.last\:border-0:last-child{border-style:var(--tw-border-style);border-width:0}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.focus-within\:opacity-100:focus-within{opacity:1}@media (hover:hover){.hover\:border-\[var\(--borderColorStrong\)\]:hover{border-color:var(--borderColorStrong)}.hover\:border-\[var\(--colorTextTertiary\)\]:hover{border-color:var(--colorTextTertiary)}.hover\:bg-\[var\(--colorBgContainer\)\]:hover{background-color:var(--colorBgContainer)}.hover\:bg-\[var\(--colorBgHover\)\]:hover{background-color:var(--colorBgHover)}.hover\:bg-\[var\(--colorFillAlter\)\]:hover{background-color:var(--colorFillAlter)}.hover\:bg-transparent:hover{background-color:#0000}.hover\:text-\[var\(--colorText\)\]:hover{color:var(--colorText)}.hover\:underline:hover{text-decoration-line:underline}.hover\:shadow-\[var\(--shadowSurfaceHover\)\]:hover{--tw-shadow:var(--shadowSurfaceHover)}.hover\:shadow-\[var\(--shadowSurfaceHover\)\]:hover,.hover\:shadow-md:hover{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-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a)}.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\:bg-\[var\(--colorBgContainer\)\]:focus{background-color:var(--colorBgContainer)}.focus\:bg-transparent:focus{background-color:#0000}@media (min-width:40rem){.sm\:w-44{width:calc(var(--spacing) * 44)}.sm\:w-auto{width:auto}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:items-end{align-items:flex-end}.sm\:items-start{align-items:flex-start}.sm\:gap-3{gap:calc(var(--spacing) * 3)}.sm\:pt-0\.5{padding-top:calc(var(--spacing) * .5)}.sm\:pb-0{padding-bottom:0}}@media (min-width:48rem){.md\:w-auto{width:auto}.md\:flex-none{flex:none}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}}@media (min-width:64rem){.lg\:col-span-2{grid-column:span 2/span 2}.lg\:col-span-3{grid-column:span 3/span 3}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (min-width:80rem){.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (prefers-color-scheme:dark){.dark\:bg-white{background-color:var(--color-white)}.dark\:text-black{color:var(--color-black)}}}:root{--mainInnerPadY:32px;--mainInnerPadX:clamp(24px,4vw,48px)}@media (max-width:900px){:root{--mainInnerPadY:20px;--mainInnerPadX:20px}}@media (max-width:640px){:root{--mainInnerPadY:12px;--mainInnerPadX:12px}}.canvasRoot{flex:1;min-height:0;position:relative;overflow:hidden}.mainInner.mainInnerCanvas{flex-direction:column;padding:0;display:flex}.canvasStage{background:var(--canvasBg);-webkit-user-select:none;user-select:none;position:absolute;inset:0;overflow:hidden}@media (max-width:900px){.canvasFloatRight{width:auto;max-height:38vh;inset:auto 12px 96px}}:root{--colorBg:#fff;--colorBgElevated:#fff;--colorBgSecondary:#fbfbfc;--colorBgHover:#f6f6f7;--colorBgSelected:#eff6ff;--colorText:#171717;--colorTextSecondary:#737373;--colorTextTertiary:#a3a3a3;--colorBrand:#06c;--colorBrandHover:#0052a3;--colorBrand2:#171717;--colorDanger:#e11d48;--colorOk:#16a34a;--colorWarn:#f59e0b;--colorInfo:#2563eb;--colorPrimary:#007aff;--colorAccent:#007aff;--colorSuccess:#34c759;--colorWarning:#ff9500;--colorError:#ff3b30;--colorBgContainer:#fff;--colorFillAlter:#00000004;--colorFillSecondary:#00000008;--colorFillTertiary:#00000006;--colorFillQuaternary:#00000004;--colorBorderSecondary:#3c3c431f;--colorTextQuaternary:#3c3c432e;--colorWarningBg:#fff8e6;--colorSuccessBg:#e8f9ee;--colorInfoBg:#e8f2ff;--colorErrorBg:#ffeceb;--glassBg:#ffffffd9;--glassBlur:saturate(180%) blur(16px);--borderColor:#00000014;--borderColorStrong:#00000026;--borderColorSelected:#3b82f6;--borderSoft:#0000000f;--textSecondary:#737373;--surfaceElevated:#fff;--shadowSoft:0 0 4px #00000008,0 0 12px #0000000a;--shadowCard:0 0 4px #0000000d,0 0 16px #0000000d;--shadowButton:0 1px 2px #0000000d;--shadowSurface:0 0 4px #0000000d,0 0 12px #0000000b;--shadowSurfaceHover:0 0 6px #00000012,0 0 18px #0000000f;--radiusSm:6px;--radiusMd:10px;--radiusLg:14px;--radiusPill:9999px;--sidebarWidth:260px;--fontSans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--canvasBg:transparent;--canvasGridDot:#00000017;--canvasNodeBg:#fff;--canvasNodeBorder:#0000001a;--canvasNodeShadow:0 1px 2px #0000000d,0 2px 8px #0000000a;--canvasNodeSelected:#007aff;--canvasNodeAffected:#ff9500;--canvasEdge:#3c3c4359;--canvasEdgeActive:#007aff;--canvasEdgeWarn:#ff9500;--canvasEdgeAffected:#ff3b30;--canvasSectionBg:#fff9;--canvasFloatBg:#ffffffd1;--canvasPanelBg:#fffffff5;--canvasSectionBorder:#00000014;--canvasBubbleBg:#fffffff7;--canvasBubbleBorder:#0000001a;--canvasBubbleText:#1c1c1e;--canvasBubbleShadow:0 2px 8px #00000024}.dark{--colorBg:#000;--colorBgElevated:#0a0a0a;--colorBgSecondary:#121212;--colorBgHover:#1a1a1a;--colorBgSelected:#3b82f626;--colorText:#ededed;--colorTextSecondary:#a3a3a3;--colorTextTertiary:#737373;--colorBrand:#3b82f6;--colorBrandHover:#60a5fa;--colorBrand2:#d4d4d4;--colorDanger:#f43f5e;--colorOk:#22c55e;--colorWarn:#fbbf24;--colorInfo:#3b82f6;--colorPrimary:#0a84ff;--colorAccent:#0a84ff;--colorSuccess:#30d158;--colorWarning:#ff9f0a;--colorError:#ff453a;--colorBgContainer:#2c2c2ec7;--colorFillAlter:#ffffff08;--colorFillSecondary:#ffffff0f;--colorFillTertiary:#ffffff0a;--colorFillQuaternary:#ffffff08;--colorBorderSecondary:#ffffff1a;--colorTextQuaternary:#ebebf53d;--colorWarningBg:#ff9f0a1f;--colorSuccessBg:#30d1581f;--colorInfoBg:#0a84ff1f;--colorErrorBg:#ff453a1f;--glassBg:#000000d9;--borderColor:#ffffff1f;--borderColorStrong:#fff3;--borderColorSelected:#60a5fa;--borderSoft:#ffffff14;--textSecondary:#a3a3a3;--surfaceElevated:#1c1c1e;--shadowSoft:0 0 4px #00000047,0 0 12px #0006;--shadowCard:0 0 4px #0000005c,0 0 16px #0006;--shadowButton:0 1px 2px #0000004d;--shadowSurface:0 0 4px #0000005c,0 0 12px #0000004d;--shadowSurfaceHover:0 0 6px #00000070,0 0 18px #0000005c;--canvasBg:transparent;--canvasGridDot:#ffffff1a;--canvasNodeBg:#1c1c1e;--canvasNodeBorder:#ffffff24;--canvasNodeShadow:0 1px 2px #0006,0 2px 10px #00000059;--canvasNodeSelected:#0a84ff;--canvasNodeAffected:#ff9f0a;--canvasEdge:#ebebf552;--canvasEdgeActive:#0a84ff;--canvasEdgeWarn:#ff9f0a;--canvasEdgeAffected:#ff453a;--canvasSectionBg:#1c1c1e99;--canvasFloatBg:#1c1c1ed1;--canvasPanelBg:#1c1c1ef5;--canvasSectionBorder:#ffffff1a;--canvasBubbleBg:#2c2c2ef5;--canvasBubbleBorder:#ffffff29;--canvasBubbleText:#f2f2f7;--canvasBubbleShadow:0 2px 10px #00000080}.canvasInputBar,.canvasToolbar{pointer-events:auto;z-index:2;border:1px solid var(--canvasSectionBorder);background:var(--canvasFloatBg);-webkit-backdrop-filter:saturate(180%)blur(16px);border-radius:14px;position:absolute;box-shadow:0 6px 24px #00000014}.canvasToolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex;top:12px}.canvasInputBar,.canvasToolbar{padding:8px 12px;left:12px;right:12px}.canvasInputBar{display:block;bottom:12px}.nodeInfoLayer{z-index:4;border:1px solid var(--canvasSectionBorder);background:var(--canvasPanelBg);-webkit-backdrop-filter:saturate(180%)blur(16px);border-radius:14px;flex-direction:column;display:flex;position:absolute;overflow:hidden;box-shadow:0 10px 32px #0000001f,0 2px 6px #0000000f}.nodeInfoHeader{border-bottom:1px solid var(--colorBorderSecondary);align-items:center;gap:6px;margin-bottom:10px;padding-bottom:10px;display:flex}.nodeInfoHeaderIcon{color:var(--colorTextSecondary);display:inline-flex}.nodeInfoClose{color:var(--colorTextTertiary)}.nodeInfoClose:hover{color:var(--colorText)}.nodeInfoActions{background:var(--colorFillQuaternary,var(--colorFillAlter));border-radius:8px;flex-wrap:wrap;gap:6px;margin-bottom:10px;padding:8px;display:flex}.nodeInfoPanel{width:min(460px,92vw);min-height:0;max-height:100%;padding:12px 14px;overflow:auto}.nodeInfoPanel .ant-descriptions-item-label{white-space:nowrap;width:92px;color:var(--colorTextSecondary)}.nodeInfoPanel .ant-tabs-nav{margin-bottom:12px}.nodeInfoRepair{border:1px solid var(--canvasNodeAffected);background:var(--colorWarningBg);border-radius:10px;margin-bottom:8px;padding:8px 10px}.canvasChatSection{flex-direction:column;gap:4px;display:flex}.canvasRecordsBall{pointer-events:auto}.canvasRecordsBallBtn{border:1px solid var(--canvasSectionBorder);background:var(--canvasPanelBg);-webkit-backdrop-filter:saturate(180%)blur(16px);color:var(--colorText);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:999px;justify-content:center;align-items:center;font-size:18px;transition:transform .12s;display:flex;position:relative;box-shadow:0 6px 24px #0000001f}.canvasRecordsBallBtn:hover{transform:scale(1.06)}.canvasRecordsBallBtn:active{cursor:grabbing}.canvasRecordsBallBadge{background:var(--colorAccent);color:#fff;text-align:center;font-variant-numeric:tabular-nums;border-radius:999px;min-width:18px;height:18px;padding:0 4px;font-size:10px;line-height:18px;position:absolute;top:-2px;right:-2px}.canvasRecordsBallBadge.isZero{background:var(--colorFillTertiary);color:var(--colorTextSecondary)}.canvasRecordsPanel{border:1px solid var(--canvasSectionBorder);background:var(--canvasPanelBg);-webkit-backdrop-filter:saturate(180%)blur(16px);border-radius:14px;overflow:hidden;box-shadow:0 10px 32px #0000001f,0 2px 6px #0000000f}.canvasRecordsLink{color:var(--colorAccent);cursor:pointer;background:0 0;border:0;padding:0;font-size:12px}.canvasRecordsLink:hover{text-decoration:underline}.canvasRecordsDelete{width:24px;height:24px;color:var(--colorTextTertiary);cursor:pointer;opacity:0;background:0 0;border:0;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:opacity .12s,color .12s;display:inline-flex}.canvasRecordsDelete:focus-visible,.canvasRecordsPanel>div>div:hover .canvasRecordsDelete{opacity:1}.canvasRecordsDelete:hover{color:var(--colorDanger);background:var(--colorBgHover)}.canvasRecordsDelete.isDisabled{cursor:not-allowed;opacity:0}.canvasRecordsPanel>div>div:hover .canvasRecordsDelete.isDisabled{opacity:.35}.canvasRecordsPanel>div>div:hover .canvasRecordsDelete.isDisabled:hover{color:var(--colorTextTertiary);background:0 0}.canvasRecordsDanger{border:1px solid var(--colorDanger);color:var(--colorDanger);cursor:pointer;background:0 0;border-radius:8px;align-items:center;padding:3px 10px;font-size:12px;display:inline-flex}.canvasRecordsDanger:disabled{opacity:.4;cursor:not-allowed}.canvasRecordsDanger:not(:disabled):hover{background:var(--colorDanger);color:#fff}.canvasEdgeLayer{pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.canvasEdge{fill:none;stroke:var(--canvasEdge);stroke-width:1.4px}.canvasEdgeActive{stroke:var(--canvasEdgeActive);stroke-width:2px}.canvasEdgeWarn{stroke:var(--canvasEdgeWarn);stroke-width:1.8px;stroke-dasharray:5 4}.canvasEdgeAffected{stroke:var(--canvasEdgeAffected);stroke-width:2.2px}.canvasEdgeFlow{fill:none;stroke:var(--canvasEdgeActive);stroke-width:2.4px;stroke-linecap:round;stroke-dasharray:7 11;opacity:.85;animation:canvasEdgeFlow 1.1s linear infinite}@keyframes canvasEdgeFlow{0%{stroke-dashoffset:18px}to{stroke-dashoffset:0}}@media (prefers-reduced-motion:reduce){.canvasEdgeFlow{stroke-dashoffset:0;animation:none}}.canvasAgentChip,.canvasAgentsChips{align-items:center}.canvasAgentChip{border:1px solid var(--canvasSectionBorder);background:var(--canvasPanelBg);color:inherit;font:inherit;cursor:pointer;border-radius:999px;gap:4px;padding:1px 7px 1px 6px;transition:border-color .15s,box-shadow .15s;display:inline-flex}.canvasAgentChip:hover{border-color:var(--canvasNodeSelected);box-shadow:0 0 0 2px var(--canvasNodeSelected)}.canvasAgentChipTime{color:var(--colorTextSecondary);font-variant-numeric:tabular-nums;font-size:11px}.canvasAgentRole{border-radius:4px;justify-content:center;align-items:center;min-width:14px;height:14px;padding:0 2px;font-size:10px;line-height:1;display:inline-flex}.canvasAgentRole[data-role=main]{background:var(--colorPrimary);color:#fff}.canvasAgentRole[data-role=sub]{background:var(--canvasSectionBorder);color:var(--colorTextSecondary)}.canvasAgentChipMain{border-color:var(--colorPrimary)}.canvasAgentAvatar{border:1.5px solid var(--canvasEdge);background:var(--canvasNodeBg);width:22px;height:22px;color:var(--colorTextSecondary);border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:relative}.canvasAgentAvatarGlyph{font-size:12px;line-height:1;display:inline-flex}.canvasAgentAvatar[data-status=running]{border-color:var(--colorPrimary);color:var(--colorPrimary);animation:canvasAgentAvatarPulse 1.6s ease-in-out infinite}.canvasAgentAvatar[data-status=repairing]{border-color:var(--colorWarning);color:var(--colorWarning)}.canvasAgentAvatar[data-status=completed]{border-color:var(--colorSuccess);color:var(--colorSuccess)}@keyframes canvasAgentAvatarPulse{0%,to{box-shadow:0 0 #007aff59}50%{box-shadow:0 0 0 4px #007aff00}}@media (prefers-reduced-motion:reduce){.canvasAgentAvatar[data-status=running]{animation:none}}.canvasAgentIcon{color:var(--colorTextSecondary);display:inline-flex}.canvasAgentIcon[data-status=running]{color:var(--colorPrimary);animation:canvasNodePulse 1.6s ease-in-out infinite}.canvasAgentIcon[data-status=repairing]{color:var(--colorWarning)}.canvasAgentIcon[data-status=completed]{color:var(--colorSuccess)}.canvasAgentDetail{flex-direction:column;gap:6px;width:306px;display:flex}.canvasAgentDetailHead{align-items:center;gap:6px;display:flex}.canvasAgentDetailRow{align-items:baseline;gap:8px;display:flex}.canvasAgentDetailRow>:first-child{flex:0 0 46px}.canvasAgentDetailRow>:last-child{word-break:break-word;flex:1;min-width:0}.canvasAgentLocate{border:1px solid var(--canvasSectionBorder);color:var(--colorPrimary);cursor:pointer;background:0 0;border-radius:8px;align-self:flex-start;margin-top:2px;padding:3px 10px;font-size:12px}.canvasAgentLocate:hover{background:var(--colorBgHover)}.canvasBubbleLayer{pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.canvasBubble{offset-distance:0;will-change:offset-distance,opacity;animation-name:canvasBubbleFly;animation-timing-function:cubic-bezier(.33,0,.67,1);animation-fill-mode:forwards;position:absolute;top:0;left:0}@keyframes canvasBubbleFly{0%{offset-distance:0;opacity:0}14%{opacity:1}80%{offset-distance:100%;opacity:1}to{offset-distance:100%;opacity:0}}.canvasBubbleStatic{offset-distance:55%;opacity:1;animation:none}.canvasBubbleBody{border:1px solid var(--canvasBubbleBorder);background:var(--canvasBubbleBg);max-width:220px;box-shadow:var(--canvasBubbleShadow);color:var(--canvasBubbleText);white-space:nowrap;border-radius:999px;align-items:center;padding:3px 9px;font-size:11px;line-height:16px;display:inline-flex;transform:translate(-50%,-50%)}.canvasBubble[data-kind=dispatch] .canvasBubbleBody{border-color:var(--canvasEdgeActive)}.canvasBubble[data-kind=report] .canvasBubbleBody{border-color:var(--canvasEdge)}.canvasBubbleText{text-overflow:ellipsis;overflow:hidden}.canvasNode{border:1px solid var(--canvasNodeBorder);background:var(--canvasNodeBg);box-shadow:var(--canvasNodeShadow);cursor:pointer;border-radius:10px;flex-direction:column;gap:4px;padding:8px 10px;transition:box-shadow .15s,border-color .15s;display:flex;position:absolute}.canvasNode:hover{border-color:var(--canvasNodeSelected)}@keyframes canvasNodeFlash{0%,to{box-shadow:var(--canvasNodeShadow)}50%{box-shadow:0 0 0 4px var(--canvasNodeSelected),var(--canvasNodeShadow)}}.canvasNodeFlashed{animation:canvasNodeFlash .6s ease-in-out 2}.canvasNodeSelected{border-color:var(--canvasNodeSelected);box-shadow:0 0 0 2px var(--canvasNodeSelected),var(--canvasNodeShadow)}.canvasNodeAffected{border-color:var(--canvasNodeAffected);box-shadow:0 0 0 2px var(--canvasNodeAffected)}.canvasNodeHeader{align-items:center;gap:6px;min-width:0;display:flex}.canvasNodeIcon{color:var(--colorTextSecondary);display:inline-flex}.canvasNodeIcon[data-status=running]{color:var(--colorPrimary);animation:canvasNodePulse 1.6s ease-in-out infinite}.canvasNodeIcon[data-status=blocked],.canvasNodeIcon[data-status=failed]{color:var(--colorError)}.canvasNodeIcon[data-status=paused],.canvasNodeIcon[data-status=repairing]{color:var(--colorWarning)}.canvasNodeMeta{gap:2px}.canvasNodeMeta,.canvasNodeMetrics{align-items:center;min-width:0;display:flex}.canvasNodeMetrics{white-space:nowrap;flex-shrink:0;gap:8px;overflow:hidden}.canvasNodeMetrics>.ant-typography{text-overflow:ellipsis;flex:0 auto;min-width:0;overflow:hidden}@keyframes canvasNodePulse{0%,to{opacity:1}50%{opacity:.35}}@media (max-width:1024px){.nodeInfoPanel{width:92vw}}.deliverablePreview{width:100%}.deliverablePreviewStack{flex-direction:column;gap:10px;width:100%;display:flex}.deliverablePreviewMeta{border-bottom:1px solid var(--colorBorderSecondary);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;padding-bottom:10px;display:flex}.deliverablePreviewPaper{border:1px solid var(--colorBorderSecondary);background:var(--colorBgContainer);border-radius:10px;width:100%;margin:0 auto;padding:28px 32px;box-shadow:0 1px 2px #00000008,0 8px 24px #0000000a}.deliverablePreviewBody{color:var(--colorText);text-align:justify;text-justify:inter-ideograph;overflow-wrap:anywhere;word-break:break-word;font-size:15px;line-height:1.9}.deliverablePreviewBody h1,.deliverablePreviewBody h2,.deliverablePreviewBody h3,.deliverablePreviewBody h4,.deliverablePreviewBody h5,.deliverablePreviewBody h6{text-align:left;margin:1.6em 0 .6em;font-weight:700;line-height:1.4}.deliverablePreviewBody h1{border-bottom:2px solid var(--colorBorder);padding-bottom:8px;font-size:1.6em}.deliverablePreviewBody h2{border-bottom:1px solid var(--colorBorderSecondary);padding-bottom:6px;font-size:1.35em}.deliverablePreviewBody h3{font-size:1.15em}.deliverablePreviewBody h4{font-size:1.02em}.deliverablePreviewBody h5,.deliverablePreviewBody h6{color:var(--colorTextSecondary);font-size:1em}.deliverablePreviewBody>:first-child{margin-top:0}.deliverablePreviewBody p{margin:.9em 0}.deliverablePreviewBody ol,.deliverablePreviewBody ul{margin:.9em 0;padding-left:1.8em}.deliverablePreviewBody ul{list-style:outside}.deliverablePreviewBody ol{list-style:decimal}.deliverablePreviewBody li{margin:.35em 0}.deliverablePreviewBody li::marker{color:var(--colorTextTertiary)}.deliverablePreviewBody li>ol,.deliverablePreviewBody li>ul{margin:.35em 0}.deliverablePreviewBody blockquote{border-left:3px solid var(--colorPrimaryBorder,var(--colorBorder));background:var(--colorFillQuaternary,var(--colorFillAlter));color:var(--colorTextSecondary);border-radius:0 6px 6px 0;margin:1em 0;padding:.6em 1.1em}.deliverablePreviewBody hr{border:none;border-top:1px solid var(--colorBorderSecondary);margin:1.8em 0}.deliverablePreviewBody a{color:var(--colorPrimary);text-underline-offset:2px;text-decoration:underline}.deliverablePreviewBody img{border-radius:6px;max-width:100%;height:auto}.deliverablePreviewBody strong{font-weight:600}.deliverablePreviewBody table{border-collapse:collapse;text-align:left;width:100%;margin:1.1em 0;font-size:13.5px}.deliverablePreviewBody td,.deliverablePreviewBody th{border:1px solid var(--colorBorderSecondary);vertical-align:top;padding:8px 10px}.deliverablePreviewBody th{background:var(--colorFillAlter);border-bottom:2px solid var(--colorBorder);white-space:nowrap;font-weight:600}.deliverablePreviewBody tbody tr:nth-child(2n) td{background:var(--colorFillQuaternary,transparent)}.deliverablePreviewBody code{background:var(--colorFillSecondary);font-family:var(--fontMono,ui-monospace,SFMono-Regular,Menlo,monospace);border-radius:4px;padding:.15em .4em;font-size:.9em}.deliverablePreviewBody pre{background:var(--colorFillAlter);text-align:left;border-radius:8px;margin:1em 0;padding:12px 14px;overflow-x:auto}.deliverablePreviewBody pre code{background:0 0;padding:0;font-size:12.5px}.deliverablePreviewEnd{border-top:1px dashed var(--colorBorderSecondary);flex-direction:column;gap:4px;width:100%;margin-top:28px;padding-top:14px;display:flex}*,:after,:before{box-sizing:border-box}html{font-family:var(--fontSans);background:var(--colorBg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.appShellPlaceholder,body{background:var(--colorBg);min-height:100vh}body{font-family:var(--fontSans);color:var(--colorText);margin:0}.ant-drawer-content-wrapper{min-width:320px;width:30%!important}a{color:inherit;text-decoration:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--borderColorStrong);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--colorTextTertiary)}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.animateFadeIn{animation:fadeIn .4s cubic-bezier(.2,.8,.2,1) forwards}.stagger-1{animation-delay:50ms}.stagger-2{animation-delay:.1s}.stagger-3{animation-delay:.15s}.stagger-4{animation-delay:.2s}.stagger-5{animation-delay:.25s}.space-y-8>*+*{margin-top:32px}.space-y-6>*+*{margin-top:24px}.space-y-5>*+*{margin-top:20px}.space-y-4>*+*{margin-top:16px}.space-y-3>*+*{margin-top:12px}.space-y-2>*+*{margin-top:8px}.space-x-8>*+*{margin-left:32px}.space-x-6>*+*{margin-left:24px}.space-x-4>*+*{margin-left:16px}.space-x-2>*+*{margin-left:8px}.routeProgress{top:0;left:var(--sidebarWidth);z-index:1000;background:linear-gradient(90deg,var(--colorPrimary),var(--colorAccent));height:3px;animation:routeProgress .9s ease-in-out infinite;position:fixed;right:0}#nprogress{pointer-events:none}#nprogress .bar{background:var(--colorBrand);z-index:1031;width:100%;height:3px;position:fixed;top:0;left:0}#nprogress .peg{width:100px;height:100%;box-shadow:0 0 10px var(--colorBrand),0 0 5px var(--colorBrand);opacity:1;display:block;position:absolute;right:0;transform:rotate(3deg)translateY(-4px)}.routeLoadingCard{border:1px solid var(--borderSoft);color:var(--textSecondary);background:var(--surfaceElevated);border-radius:16px;margin-bottom:16px;padding:14px 16px}@keyframes routeProgress{0%{transform-origin:0;opacity:.65;transform:scaleX(.15)}50%{transform-origin:0;opacity:1;transform:scaleX(.7)}to{transform-origin:0;opacity:.35;transform:scaleX(1)}}@media (max-width:1024px){:root{--sidebarWidth:200px}}@media (max-width:860px){:root{--sidebarWidth:72px}.sidebarLogo{justify-content:center;padding:16px}.sidebarFooter,.sidebarItem span:not(.sidebarChevron),.sidebarLogoSub,.sidebarLogoTitle{display:none}.sidebarItem{justify-content:center;padding:11px}.sidebarSubmenu{padding-left:0}.sidebarSubItem{padding-left:11px}.mainInner{padding:var(--mainInnerPadY) var(--mainInnerPadX);padding-bottom:calc(var(--mainInnerPadY) + env(safe-area-inset-bottom,0px))}.topbar{margin:10px 12px 0;padding:10px 16px}}@media (max-width:640px){.sidebar{top:6px;left:6px;bottom:calc(6px + env(safe-area-inset-bottom,0px))}.mainContent{margin-left:72px}.mainInner{padding:var(--mainInnerPadY) var(--mainInnerPadX);padding-bottom:calc(var(--mainInnerPadY) + env(safe-area-inset-bottom,0px))}.topbar{border-radius:16px;margin:8px 8px 0;padding:8px 12px}}@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-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@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}.sidebar{position:fixed;left:0;top:0;bottom:0;width:var(--sidebarWidth);display:flex;flex-direction:column;z-index:20;background:var(--colorBgSecondary);border-right:none;box-shadow:2px 0 8px rgba(0,0,0,.02);overflow:hidden;transition:width .3s cubic-bezier(.2,.8,.2,1),transform .3s ease}.sidebarCollapsedSelf{width:72px}.sidebarLogoRow{gap:4px;padding-right:8px}.sidebarLogo,.sidebarLogoRow{display:flex;align-items:center}.sidebarLogo{gap:12px;padding:24px 20px 20px;height:68px;overflow:hidden}.sidebarCollapsedSelf .sidebarLogo{justify-content:center;padding:24px 0 20px}.sidebarCollapsedSelf .sidebarLogoRow{padding-right:0}.sidebarCollapsedSelf .sidebarChevron,.sidebarCollapsedSelf .sidebarLabel,.sidebarCollapsedSelf .sidebarLogoTitle{display:none}.sidebarCollapsedSelf .sidebarItem{justify-content:center;padding:10px}.sidebarLogoTitle{font-size:16px;font-weight:600;letter-spacing:-.01em;white-space:nowrap;opacity:1;transition:opacity .2s ease;color:var(--colorText)}.sidebarNav{flex:1;overflow-y:auto;overflow-x:hidden;flex-direction:column;gap:2px}.sidebarItem,.sidebarNav{padding:8px 12px;display:flex}.sidebarItem{align-items:center;gap:10px;border-radius:var(--radiusSm);font-size:13.5px;font-weight:500;color:var(--colorTextSecondary);transition:all .15s ease;cursor:pointer;white-space:nowrap}.sidebarLabel{transition:opacity .2s ease}.sidebarItem:hover{background:var(--colorBgHover);color:var(--colorText)}.sidebarItemActive,.sidebarItemActive:hover{background:var(--colorBgElevated);color:var(--colorText);box-shadow:none}.dark .sidebarItemActive,.dark .sidebarItemActive:hover{box-shadow:none}.sidebarCollapseBtn{width:32px;height:32px;flex-shrink:0;border-radius:var(--radiusSm);border:1px solid transparent;background:transparent;color:var(--colorTextSecondary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.sidebarCollapseBtn:hover{background:var(--colorBgHover);color:var(--colorText)}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:16px 32px;background:var(--glassBg);backdrop-filter:var(--glassBlur);-webkit-backdrop-filter:var(--glassBlur);border-bottom:none;box-shadow:0 1px 3px rgba(0,0,0,.02)}.topbarBtn{display:inline-flex;align-items:center;gap:8px;padding:6px;border-radius:var(--radiusSm);border:1px solid transparent;background:transparent;color:var(--colorTextSecondary);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease;outline:none}.topbarBtn:hover{background:var(--colorBgHover);color:var(--colorText)}.mainContent{margin-left:var(--sidebarWidth);flex:1;display:flex;flex-direction:column;min-height:100vh;background:var(--colorBg);transition:margin-left .3s cubic-bezier(.2,.8,.2,1)}.sidebarCollapsed .mainContent{margin-left:68px}.mainInner{flex:1;padding:var(--mainInnerPadY,32px) var(--mainInnerPadX,clamp(24px,4vw,48px));padding-bottom:calc(var(--mainInnerPadY, 32px) + env(safe-area-inset-bottom, 0px));width:100%;min-width:0;overflow-x:hidden;transition:opacity .2s ease}.mainInner.pageTransitioning{opacity:.5;pointer-events:none}.pageTitle{font-size:24px;font-weight:700;letter-spacing:-.01em;color:var(--colorText);margin:0}.pageDesc{margin-top:6px;font-size:14px;color:var(--colorTextSecondary)}.ant-card{background:var(--colorBgContainer)!important;border:none!important;border-radius:20px!important;box-shadow:var(--shadowSurface)!important;margin-bottom:0!important}.ant-card-head{border-bottom:none!important;padding:0!important;min-height:auto!important;margin-bottom:16px}.ant-card-head-title{font-size:16px!important;font-weight:600!important;padding:0!important}.tableFillHeight,.tableFillHeight>.ant-spin,.tableFillHeight>.ant-spin>.ant-spin-container{display:flex;flex-direction:column;min-height:0}.tableFillHeight>.ant-spin,.tableFillHeight>.ant-spin>.ant-spin-container{flex:1}.tableFillHeight .ant-table{flex:1 1 auto;min-height:0}.tableFillHeight .ant-table-container{display:flex;flex-direction:column;height:100%;min-height:0}.tableFillHeight .ant-table-body{flex:1;min-height:0;overflow:auto!important;max-height:none!important}.tableFillHeight .ant-table-pagination.ant-pagination{margin:auto 16px 12px!important}.ant-modal-content{background:var(--colorBgElevated)!important;border:1px solid var(--borderColor)!important;border-radius:var(--radiusLg)!important;box-shadow:var(--shadowCard)!important;padding:24px!important}.ant-modal-header{background:transparent!important;margin-bottom:24px!important}.ant-input,.ant-input-number,.ant-input-password,.ant-select-selector{border:1px solid transparent!important;background:var(--colorBgHover)!important;border-radius:var(--radiusSm)!important;box-shadow:none!important;transition:all .2s ease!important}.ant-input-focused,.ant-input-number-focused,.ant-input-number:focus,.ant-input-number:hover,.ant-input-password:focus,.ant-input-password:hover,.ant-input:focus,.ant-input:hover,.ant-select-focused .ant-select-selector,.ant-select:not(.ant-select-disabled):hover .ant-select-selector{border-color:var(--borderColorStrong)!important;background:transparent!important;box-shadow:none!important}.ant-input-affix-wrapper-outlined:focus,.ant-input-affix-wrapper-outlined:focus-within,.ant-input-number-outlined:focus,.ant-input-number-outlined:focus-within,.ant-input-outlined:focus,.ant-input-outlined:focus-within,.ant-select-outlined.ant-select-focused .ant-select-selector{box-shadow:none!important;outline:none!important;border-color:var(--borderColorStrong)!important}.modern-table .ant-table{background:transparent!important;border:none!important;border-radius:0!important}.modern-table .ant-table-container{border:none!important}.modern-table .ant-table-thead>tr>th{background:var(--colorBgSecondary)!important;border:none!important;font-size:11px!important;font-weight:600!important;color:var(--colorTextSecondary)!important;text-transform:uppercase;letter-spacing:.05em;padding:14px 16px!important}.modern-table .ant-table-thead>tr>th:first-child{border-top-left-radius:var(--radiusMd)!important;border-bottom-left-radius:var(--radiusMd)!important}.modern-table .ant-table-thead>tr>th:last-child{border-top-right-radius:var(--radiusMd)!important;border-bottom-right-radius:var(--radiusMd)!important}.modern-table .ant-table-thead>tr>th:before{display:none!important}.modern-table .ant-table-tbody>tr>td{border:none!important;background:transparent!important;padding:18px 16px!important;font-size:14px}.modern-table .ant-table-tbody>tr:last-child>td{border-bottom:none!important}.modern-table .ant-table-tbody>tr:hover>td{background:var(--colorBgHover)!important}.modern-table .ant-table-tbody>tr.ant-table-row-selected>td{background:var(--colorBgSelected)!important;border:0!important;box-shadow:none!important;outline:0!important}.ant-btn-default{border-color:var(--borderColor)!important;background:transparent!important;box-shadow:none!important}.ant-btn-default:hover{background:var(--colorBgHover)!important;border-color:var(--borderColorStrong)!important;color:var(--colorText)!important}.ant-btn-primary{background:var(--colorText)!important;color:var(--colorBg)!important;box-shadow:none!important;border:none!important}.ant-btn-primary:hover{background:var(--colorTextSecondary)!important;color:var(--colorBg)!important}.ant-row{row-gap:24px}.ant-input,.ant-input-affix-wrapper,.ant-input-number,.ant-input-password,.ant-input-search .ant-input,.ant-input-search .ant-input-group-addon .ant-btn,.ant-mentions,.ant-picker,.ant-select-selector{min-height:34px;border:1px solid var(--borderColor)!important;background:var(--colorBgSecondary)!important;border-radius:var(--radiusSm)!important;box-shadow:none!important;outline:none!important}.ant-input-affix-wrapper>input.ant-input,.ant-input-affix-wrapper>textarea.ant-input,.ant-input-number .ant-input-number-input,.ant-input-password>input.ant-input,.ant-input-search .ant-input-affix-wrapper>input.ant-input{min-height:auto;border:0!important;background:transparent!important;border-radius:0!important;box-shadow:none!important;outline:none!important}.ant-input-affix-wrapper-focused,.ant-input-affix-wrapper:focus,.ant-input-affix-wrapper:hover,.ant-input-focused,.ant-input-number-focused,.ant-input-number:hover,.ant-input-password:hover,.ant-input:focus,.ant-input:hover,.ant-picker-focused,.ant-picker:hover,.ant-select-focused .ant-select-selector,.ant-select:not(.ant-select-disabled):hover .ant-select-selector{border-color:var(--colorBrand)!important;background:var(--colorBgElevated)!important;box-shadow:none!important;outline:none!important}.ant-btn:focus-visible,.ant-input-affix-wrapper:focus-visible,.ant-input:focus-visible,.ant-picker:focus-visible,.ant-select-selector:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:none!important;box-shadow:none!important}.ant-input-group-wrapper .ant-input-wrapper,.ant-input-search .ant-input-group{display:flex;align-items:stretch}.ant-input-search .ant-input,.ant-input-search .ant-input-affix-wrapper{border-start-end-radius:0!important;border-end-end-radius:0!important}.ant-input-search .ant-input-group-addon .ant-btn{border-start-start-radius:0!important;border-end-start-radius:0!important;border-left:0!important}.ant-input-affix-wrapper{padding-inline-start:11px!important;padding-inline-end:11px!important}.ant-input-affix-wrapper .ant-input-prefix{margin-inline-end:8px!important;color:var(--colorTextTertiary)!important}.ant-input-affix-wrapper .ant-input-suffix{margin-inline-start:8px!important}.ant-input-affix-wrapper>input.ant-input{padding-inline-start:0!important}.ant-table-wrapper,.ant-table-wrapper .ant-spin-container,.ant-table-wrapper .ant-spin-nested-loading,.ant-table-wrapper .ant-table,.ant-table-wrapper .ant-table-body,.ant-table-wrapper .ant-table-container,.ant-table-wrapper .ant-table-content{background:transparent!important;border:0!important;box-shadow:none!important}.ant-table-wrapper .ant-table-cell:before,.ant-table-wrapper .ant-table-container:after,.ant-table-wrapper .ant-table-container:before{display:none!important}.ant-table-wrapper .ant-table-thead>tr>th{height:auto!important;padding:10px 12px!important;border:0!important;background:var(--colorBgSecondary)!important;color:var(--colorTextSecondary)!important;font-size:12px!important;font-weight:600!important;line-height:1.45!important;vertical-align:middle!important}.ant-table-wrapper .ant-table-tbody>tr>td{height:auto!important;min-height:0!important;padding:11px 12px!important;border:0!important;background:transparent!important;color:var(--colorText)!important;line-height:1.5!important;vertical-align:middle!important;overflow:visible!important;white-space:normal;word-break:break-word}.ant-table-wrapper .ant-table-tbody>tr.ant-table-row:hover>td,.ant-table-wrapper .ant-table-tbody>tr:hover>td{background:var(--colorBgHover)!important}.ant-table-wrapper .ant-table-tbody>tr.ant-table-row-selected>td{background:var(--colorBgSelected)!important}.ant-table-wrapper .ant-table-expanded-row>td,.ant-table-wrapper .ant-table-placeholder>td{background:transparent!important}.ant-table-wrapper .ant-table-cell .ant-btn,.ant-table-wrapper .ant-table-cell .ant-space,.ant-table-wrapper .ant-table-cell .ant-tag{vertical-align:middle}.ant-table-wrapper .ant-table-cell .ant-typography,.ant-table-wrapper .ant-table-cell div,.ant-table-wrapper .ant-table-cell p,.ant-table-wrapper .ant-table-cell span{max-height:none;line-height:inherit}.ant-table-wrapper .ant-table-cell-ellipsis{white-space:normal!important}.ant-table-wrapper .ant-table-cell-ellipsis .ant-table-cell-content{display:block;overflow:visible;text-overflow:clip;white-space:normal}.ant-alert-description,.ant-alert-message,.ant-breadcrumb-link,.ant-btn,.ant-dropdown-menu-title-content,.ant-menu-title-content,.ant-select-selection-item,.ant-tabs-tab-btn,.ant-tag{display:inline-flex;align-items:center;gap:6px;min-width:0}.ant-btn{justify-content:center;line-height:1.2!important}.ant-btn .anticon,.ant-btn svg,.ant-menu-item svg,.ant-menu-item-icon,.ant-tabs-tab .anticon,.ant-tabs-tab svg,.ant-tag .anticon,.ant-tag svg,.anticon,.sidebarItem svg,.topbarBtn svg{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;line-height:1;vertical-align:-.125em}.ant-space{align-items:center}.ant-alert+.ant-card,.ant-card+.ant-alert,.ant-card+.ant-card,.cardGlass+.cardGlass{margin-top:16px!important}.ant-card-head{margin-bottom:14px!important}.ant-card .ant-typography,.ant-card ol,.ant-card p,.ant-card ul{line-height:1.65}.ant-card .ant-typography:last-child,.ant-card ol:last-child,.ant-card p:last-child,.ant-card ul:last-child{margin-bottom:0!important}.ant-tabs>.ant-tabs-nav,.ant-tabs>div>.ant-tabs-nav{margin:0 0 18px!important;padding:0 2px!important}.ant-tabs .ant-tabs-tab{padding:10px 12px!important;margin:0 4px 0 0!important}.ant-tabs .ant-tabs-content-holder{padding-top:2px}.ant-tabs-card>.ant-tabs-nav .ant-tabs-tab{border-radius:var(--radiusSm) var(--radiusSm) 0 0!important}.ant-form-item{margin-bottom:18px!important}.ant-form-item-label>label{align-items:center;height:auto!important;color:var(--colorText)!important;font-weight:500}.ant-form-item-explain,.ant-form-item-extra{margin-top:6px;font-size:12px}.ant-collapse-header,.ant-descriptions-item,.ant-list-item{align-items:center!important}.ant-table-wrapper.modern-table,.ant-table-wrapper.modern-table *,.modern-table.ant-table-wrapper,.modern-table.ant-table-wrapper *{border-color:transparent!important}.modern-table .ant-table,.modern-table .ant-table-body,.modern-table .ant-table-container,.modern-table .ant-table-content,.modern-table .ant-table-header,.modern-table .ant-table-tbody,.modern-table .ant-table-thead,.modern-table table{border:0!important;box-shadow:none!important;outline:0!important}.modern-table .ant-table-expanded-row>td,.modern-table .ant-table-selection-column,.modern-table .ant-table-tbody>tr>td,.modern-table .ant-table-thead>tr>th{height:auto!important;min-height:0!important;border:0!important;border-inline-end:0!important;border-bottom:0!important;box-shadow:none!important;outline:0!important;line-height:1.55!important;vertical-align:middle!important}.modern-table .ant-table-tbody>tr>td{padding:10px 12px!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}.modern-table .ant-table-thead>tr>th{padding:9px 12px!important;border-radius:0!important}.modern-table .ant-table-cell-ellipsis,.modern-table .truncate{overflow:visible!important;text-overflow:clip!important;white-space:normal!important;max-height:none!important}.modern-table .ant-table-row-expand-icon-cell,.modern-table .ant-table-selection-column{text-align:center!important;vertical-align:middle!important;white-space:nowrap!important}.modern-table .ant-table-cell .anticon,.modern-table .ant-table-cell svg,.modern-table .ant-table-row-expand-icon{display:inline-flex!important;align-items:center!important;justify-content:center!important;vertical-align:middle!important}.modern-table .ant-table-expanded-row-fixed,.modern-table .ant-table-expanded-row>td>div{border:0!important}.modern-table .ant-table-tbody>tr{height:auto!important;min-height:44px!important}.modern-table .ant-table-cell{height:auto!important;max-height:none!important;overflow:visible!important}.modern-table .ant-table-cell .ant-tag,.modern-table .ant-table-cell .ant-typography,.modern-table .ant-table-cell a,.modern-table .ant-table-cell button,.modern-table .ant-table-cell>*{max-height:none!important;overflow:visible!important;line-height:1.45!important}.modern-table .ant-table-body{overflow-y:auto!important;overflow-x:hidden!important}.ant-card,.cardGlass,[class*=Card],[class*=card]{box-shadow:none!important}.ant-card:hover,.cardGlass:hover,.group:hover,.hover\:border-\[var\(--borderColorStrong\)\]:hover,.hover\:border-\[var\(--colorBrand\)\]:hover{border-color:transparent!important;box-shadow:none!important}.active,.ant-card.ant-card-bordered:hover,.ant-list-item-selected,.ant-list-item.active,.ant-menu-item-selected,.ant-menu-submenu-selected>.ant-menu-submenu-title,.ant-segmented-item-selected,.ant-select-item-option-selected,.ant-table-row-selected>td,.ant-tabs-tab-active,.ant-tabs-tab.ant-tabs-tab-active,.ant-tree-node-selected,.selected,[aria-selected=true],[data-selected=true]{border-color:transparent!important;box-shadow:none!important;outline:0!important}
|