@vpxa/aikit 0.1.309 → 0.1.311
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/package.json +1 -1
- package/packages/blocks-core/dist/index.mjs +5 -5
- package/packages/blocks-interactive/dist/index.d.mts +1 -1
- package/packages/blocks-interactive/dist/index.mjs +2 -2
- package/packages/browser/dist/index.js +8 -7
- package/packages/cli/dist/index.js +3 -3
- package/packages/cli/dist/{init-VP9ig7OK.js → init-DokIBPoi.js} +1 -1
- package/packages/cli/dist/{templates-WsJg6Pkc.js → templates-WMcV7ag2.js} +9 -9
- package/packages/present/dist/index.html +137 -93
- package/packages/server/dist/bin.js +1 -1
- package/packages/server/dist/index.js +1 -1
- package/packages/server/dist/{server-DZKWh8ZG.js → server-CUEJEod-.js} +139 -139
- package/packages/server/dist/{server-http-DeWcQphZ.js → server-http-C2Vv-0lq.js} +1 -1
- package/packages/server/dist/{server-http-Dk16rq4T.js → server-http-DLqbe1NN.js} +1 -1
- package/packages/server/dist/{server-stdio-Bx_Aa99F.js → server-stdio-RjYFfC_c.js} +1 -1
- package/packages/server/dist/{server-stdio-CebgeeBc.js → server-stdio-h8m_nhNo.js} +1 -1
- package/packages/server/dist/{server-RV1UYywi.js → server-uxrUzJ0L.js} +139 -139
- package/packages/server/viewers/c4-viewer.html +1 -1
- package/packages/server/viewers/canvas.html +4 -4
- package/packages/server/viewers/report-template.html +52 -52
- package/packages/server/viewers/task-plan-static.html +1 -1
- package/packages/server/viewers/tour-viewer.html +4 -4
- package/packages/tools/dist/index.d.ts +7 -0
- package/packages/tools/dist/index.js +71 -71
- package/scaffold/dist/definitions/bodies.mjs +15 -6
- package/scaffold/dist/definitions/protocols.mjs +10 -11
- package/scaffold/dist/definitions/skills/c4-architecture.mjs +1 -1
- package/scaffold/dist/definitions/skills/docs.mjs +1 -1
|
@@ -101,13 +101,13 @@ Consider installing the package or pass your own 'workerFactory' to ELK's constr
|
|
|
101
101
|
.bk-action--primary {
|
|
102
102
|
background: var(--dt-accent-emphasis);
|
|
103
103
|
border-color: var(--dt-accent-emphasis);
|
|
104
|
-
color:
|
|
104
|
+
color: #ffffff;
|
|
105
105
|
}
|
|
106
106
|
|
|
107
107
|
.bk-action--danger {
|
|
108
108
|
background: var(--dt-danger-emphasis);
|
|
109
109
|
border-color: var(--dt-danger-emphasis);
|
|
110
|
-
color:
|
|
110
|
+
color: #ffffff;
|
|
111
111
|
}
|
|
112
112
|
|
|
113
113
|
.bk-select {
|
|
@@ -1538,12 +1538,12 @@ ${e.description?`<span class="bk-approval-option-desc">${Ym(e.description)}</spa
|
|
|
1538
1538
|
${i}
|
|
1539
1539
|
<fieldset class="bk-approval-options">${a}</fieldset>
|
|
1540
1540
|
${o}
|
|
1541
|
-
</div>`}var pg=o((()=>{ah()}));function ire(e,t){let
|
|
1541
|
+
</div>`}var pg=o((()=>{ah()}));function ire(e,t,n){let r={...e,value:$m(e.value)},i=hg[r.type],a=i?i(r,t):mg(r);return r.title&&![`heading`,`finding`].includes(r.type)&&(a=`<section class="bk-section bk-section--${Ym(r.type)}"><h3 class="bk-section-title">${Ym(r.title)}</h3>${a}</section>`),`<div data-block-id="${Zm(r.blockId??`block-${n??0}`)}">${a}</div>`}function are(e,t){return e.map((e,n)=>ire(e,t,n)).join(`
|
|
1542
1542
|
`)}function mg(e){if(e.value===void 0||e.value===null)return``;if(typeof e.value==`string`)return`<p class="bk-paragraph">${Ym(e.value)}</p>`;try{return`<pre class="bk-fallback">${Ym(JSON.stringify(e.value,null,2))}</pre>`}catch{return`<pre class="bk-fallback">${Ym(String(e.value))}</pre>`}}var hg,gg=o((()=>{sh(),fg(),pg(),lh(),ste(),ute(),pte(),_te(),Ete(),Nte(),Ite(),Bte(),Kte(),Xte(),ene(),Lh(),ine(),vne(),xne(),Dne(),Vh(),Mne(),Fne(),zne(),Wh(),qh(),Zh(),rg(),og(),Gne(),Jne(),Zne(),ah(),hg={actions:Hee,annotation:tre,approval:rre,cards:Uee,chart:Wee,checklist:cte,code:dte,comparison:hte,diff:Pte,"component-detail":wte,"data-table-schema":jte,"docs-browser":Rte,"docs-hub":Wte,finding:Jte,graph:Qte,heading:tne,kv:rne,"lifecycle-flow":pne,list:yne,markdown:Cne,mermaid:One,metrics:Hh,paragraph:Nne,progress:Lne,prompt:Bne,separator:Gh,"status-board":Yh,table:tg,tags:Hne,text:Une,timeline:Kne,tree:Yne}})),_g,vg=o((()=>{_g=class{templates=new Map;register(e){this.templates.set(e.id,e)}get(e){let t=this.templates.get(e);if(t)return t;let n=e.includes(`@`)?e:`${e}@`,r,i=-1;for(let[e,t]of this.templates){if(!e.startsWith(n))continue;let a=Number.parseInt(e.split(`@`)[1]??`0`,10);a>i&&(i=a,r=t)}return r}has(e){return this.get(e)!==void 0}list(){return[...this.templates.values()]}}}));function yg(e){return typeof e==`object`&&!!e}function bg(e){return Array.isArray(e)?e.flatMap(e=>!yg(e)||typeof e.label!=`string`?[]:[{label:e.label,checked:!!e.checked}]):[]}var xg,Sg,Cg=o((()=>{xg=[`mcp-app`,`browser`],Sg={id:`checklist@1`,label:`Checklist`,description:`Checklist with optional title and checklist hydration metadata.`,inputSchema:{type:`object`,properties:{title:{type:`string`},items:{type:`array`,items:{type:`object`,required:[`label`,`checked`],properties:{label:{type:`string`},checked:{type:`boolean`}},additionalProperties:!1}}},required:[`items`],additionalProperties:!1},defaultLayout:{},blocksFromData:e=>{let t=[],n=yg(e)&&typeof e.title==`string`?e.title:void 0,r=yg(e)?bg(e.items):[];return n&&t.push({type:`heading`,value:n}),t.push({type:`checklist`,value:r}),t},hydration:[`checklist`],supportedTransports:xg}}));function wg(e){return typeof e==`object`&&!!e}function ore(e){return wg(e)&&typeof e.label==`string`&&(typeof e.value==`string`||typeof e.value==`number`)}function Tg(e){return wg(e)&&typeof e.key==`string`&&typeof e.label==`string`}function sre(e){return Array.isArray(e)?e.filter(wg):[]}function Eg(e,t){if(Array.isArray(e)){let t=e.filter(Tg);if(t.length>0)return t}return Object.keys(t[0]??{}).map(e=>({key:e,label:e}))}var Dg,Og,cre=o((()=>{Dg=[`mcp-app`,`browser`,`export`],Og={id:`data-table@1`,label:`Data Table`,description:`Static data table with optional metrics and sortable table hydration.`,inputSchema:{type:`object`,properties:{columns:{type:`array`,items:{type:`object`,required:[`key`,`label`],properties:{key:{type:`string`},label:{type:`string`}},additionalProperties:!1}},rows:{type:`array`,items:{type:`object`}},stats:{type:`array`,items:{type:`object`,required:[`label`,`value`],properties:{label:{type:`string`},value:{type:[`string`,`number`]},trend:{type:[`string`,`number`]},status:{type:`string`}},additionalProperties:!1}}},required:[`rows`],additionalProperties:!1},defaultLayout:{},blocksFromData:e=>{let t=wg(e)?sre(e.rows):[],n=wg(e)?Eg(e.columns,t):[],r=n.map(e=>e.label),i=t.map(e=>n.map(t=>e[t.key])),a=[];if(wg(e)&&Array.isArray(e.stats)){let t=e.stats.filter(ore);t.length>0&&a.push({type:`metrics`,value:t})}return a.push({type:`table`,columns:n,headers:r,rows:i,value:{headers:r,rows:i}}),a},hydration:[`table`],supportedTransports:Dg}}));function kg(e){return typeof e==`object`&&!!e}function Ag(e){return Array.isArray(e)?e.flatMap(e=>!kg(e)||typeof e.type!=`string`||typeof e.content!=`string`?[]:[{type:e.type,content:e.content}]):[]}function lre(e){return Array.isArray(e)?e.flatMap(e=>!kg(e)||typeof e.header!=`string`?[]:[{header:e.header,changes:Ag(e.changes)}]):[]}function ure(e){return!kg(e)||!Array.isArray(e.files)?[]:e.files.flatMap(e=>!kg(e)||typeof e.path!=`string`||typeof e.status!=`string`?[]:[{path:e.path,status:e.status,additions:typeof e.additions==`number`?e.additions:0,deletions:typeof e.deletions==`number`?e.deletions:0,hunks:lre(e.hunks)}])}function jg(e){return e===`add`?`+`:e===`delete`?`-`:` `}function dre(e){let t=e.hunks.flatMap(e=>[e.header,...e.changes.map(e=>`${jg(e.type)}${e.content}`)]).join(`
|
|
1543
1543
|
`);return[{type:`heading`,value:e.path},{type:`paragraph`,value:`${e.status} | +${e.additions} / -${e.deletions}`},{type:`code`,language:`diff`,value:t}]}var Mg,Ng,fre=o((()=>{Mg=[`mcp-app`,`browser`,`export`],Ng={id:`diff-view@1`,label:`Diff View`,description:`Static diff summary rendered as per-file diff code blocks.`,inputSchema:{type:`object`,properties:{files:{type:`array`,items:{type:`object`,required:[`path`,`status`,`additions`,`deletions`,`hunks`],properties:{path:{type:`string`},status:{type:`string`},additions:{type:`number`},deletions:{type:`number`},hunks:{type:`array`,items:{type:`object`,required:[`header`,`changes`],properties:{header:{type:`string`},changes:{type:`array`,items:{type:`object`,required:[`type`,`content`],properties:{type:{type:`string`},content:{type:`string`}},additionalProperties:!1}}},additionalProperties:!1}}},additionalProperties:!1}}},required:[`files`],additionalProperties:!1},defaultLayout:{},blocksFromData:e=>ure(e).flatMap(dre),hydration:[],supportedTransports:Mg}}));function Pg(e){return typeof e==`object`&&!!e}function Fg(e){return Pg(e)&&typeof e.type==`string`}function Ig(e){return Array.isArray(e)&&e.every(Fg)}function Lg(e){if(!Pg(e))return{sections:[]};let t=Array.isArray(e.sections)?e.sections.flatMap(e=>{if(!Pg(e)||typeof e.heading!=`string`)return[];let t=typeof e.content==`string`||Ig(e.content)?e.content:``;return[{heading:e.heading,content:t}]}):[];return{title:typeof e.title==`string`?e.title:void 0,sections:t}}function Rg(e){let t=[{type:`heading`,value:e.heading}];return typeof e.content==`string`?(t.push({type:`paragraph`,value:e.content}),t):(t.push(...e.content),t)}var zg,Bg,Vg=o((()=>{zg=[`mcp-app`,`browser`,`export`],Bg={id:`document@1`,label:`Document`,description:`Structured document with optional title and section content blocks.`,inputSchema:{type:`object`,properties:{title:{type:`string`},sections:{type:`array`,items:{type:`object`,additionalProperties:!1,required:[`heading`,`content`],properties:{heading:{type:`string`},content:{oneOf:[{type:`string`},{type:`array`,items:{type:`object`}}]}}}}},required:[`sections`],additionalProperties:!1},defaultLayout:{},blocksFromData:e=>{let t=Lg(e),n=[];t.title&&n.push({type:`heading`,value:t.title});for(let e of t.sections)n.push(...Rg(e));return n},hydration:[],supportedTransports:zg}}));function Hg(e){return typeof e==`object`&&!!e}function pre(e){return Hg(e)?{code:typeof e.code==`string`?e.code:`ERROR`,message:typeof e.message==`string`?e.message:`Unknown error`,details:typeof e.details==`string`?e.details:void 0,stack:typeof e.stack==`string`?e.stack:void 0}:{code:`ERROR`,message:`Unknown error`}}var Ug,Wg,Gg=o((()=>{Ug=[`mcp-app`,`browser`,`export`],Wg={id:`error@1`,label:`Error`,description:`Static error view with message and optional stack trace.`,inputSchema:{type:`object`,properties:{code:{type:`string`},message:{type:`string`},details:{type:`string`},stack:{type:`string`}},required:[`code`,`message`],additionalProperties:!1},defaultLayout:{},blocksFromData:e=>{let t=pre(e),n=[{type:`heading`,value:`Error`},{type:`code`,title:t.code,language:`text`,value:t.details?`${t.message}\n\n${t.details}`:t.message}];return t.stack&&n.push({type:`code`,title:`Stack Trace`,language:`text`,value:t.stack}),n},hydration:[],supportedTransports:Ug}}));function Kg(e){return typeof e==`object`&&!!e}function mre(e){return Array.isArray(e)?e.flatMap(e=>!Kg(e)||typeof e.name!=`string`||typeof e.label!=`string`?[]:[{name:e.name,label:e.label,type:typeof e.type==`string`?e.type:void 0,required:typeof e.required==`boolean`?e.required:void 0,placeholder:typeof e.placeholder==`string`?e.placeholder:void 0,default:typeof e.default==`string`?e.default:void 0,options:Array.isArray(e.options)?e.options.filter(e=>typeof e==`string`||Kg(e)&&typeof e.label==`string`&&typeof e.value==`string`):void 0,value:typeof e.value==`string`||typeof e.value==`boolean`?e.value:void 0}]):[]}var qg,hre=o((()=>{qg={id:`form@1`,label:`Form`,description:`Browser-only form template rendered as a heading and table of field metadata.`,inputSchema:{type:`object`,properties:{title:{type:`string`},fields:{type:`array`,items:{type:`object`,required:[`name`,`label`],properties:{name:{type:`string`},label:{type:`string`},type:{type:`string`},required:{type:`boolean`},placeholder:{type:`string`},default:{type:`string`},options:{type:`array`,items:{anyOf:[{type:`string`},{type:`object`,required:[`label`,`value`],properties:{label:{type:`string`},value:{type:`string`}},additionalProperties:!1}]}},value:{type:[`string`,`boolean`]}},additionalProperties:!1}}},required:[`fields`],additionalProperties:!1},defaultLayout:{},blocksFromData:e=>{let t={title:Kg(e)&&typeof e.title==`string`?e.title:`Form`,fields:Kg(e)?mre(e.fields):[]};return[{type:`heading`,value:t.title},{type:`table`,value:{headers:[`Label`,`Name`,`Type`,`Required`,`Default/Placeholder`],rows:t.fields.map(e=>[e.label||e.name,e.name,e.type||`text`,e.required?`Yes`:`No`,e.placeholder||e.default||``])}}]},hydration:[`form`],supportedTransports:[`browser`]}}));function Jg(e){return typeof e==`object`&&!!e}function gre(e){if(!Array.isArray(e))return;let t=e.flatMap(e=>!Jg(e)||typeof e.id!=`string`||typeof e.label!=`string`?[]:[{id:e.id,label:e.label}]);return t.length>0?t:void 0}function Yg(e){return Array.isArray(e)?e.flatMap(e=>!Jg(e)||typeof e.id!=`string`||typeof e.label!=`string`?[]:[{id:e.id,label:e.label,category:typeof e.category==`string`?e.category:void 0,tags:Array.isArray(e.tags)?e.tags.filter(e=>typeof e==`string`):void 0}]):[]}function _re(e){return Jg(e)?{categories:gre(e.categories),items:Yg(e.items)}:{items:[]}}function Xg(e){return{title:e.label,body:e.id,description:e.tags&&e.tags.length>0?e.tags.join(`, `):void 0}}function Zg(e,t){return t.length===0?[]:[{type:`heading`,value:e},{type:`cards`,value:t.map(Xg)}]}var Qg,$g,e_=o((()=>{Qg=[`mcp-app`,`browser`],$g={id:`picker@1`,label:`Picker`,description:`Grouped item picker rendered as cards with picker hydration metadata.`,inputSchema:{type:`object`,properties:{categories:{type:`array`,items:{type:`object`,required:[`id`,`label`],properties:{id:{type:`string`},label:{type:`string`}},additionalProperties:!1}},items:{type:`array`,items:{type:`object`,required:[`id`,`label`],properties:{id:{type:`string`},label:{type:`string`},category:{type:`string`},tags:{type:`array`,items:{type:`string`}}},additionalProperties:!1}}},required:[`items`],additionalProperties:!1},defaultLayout:{},blocksFromData:e=>{let t=_re(e),n=[];if(t.categories&&t.categories.length>0){let e=new Set(t.categories.map(e=>e.id)),r=[];for(let e of t.categories){let n=Zg(e.label,t.items.filter(t=>t.category===e.id));n.length>0&&r.push(n)}let i=Zg(`Other`,t.items.filter(t=>!t.category||!e.has(t.category)));return i.length>0&&r.push(i),n.push(...r.flatMap((e,t)=>t>0?[{type:`separator`},...e]:e)),n}return t.items.length>0&&n.push({type:`cards`,value:t.items.map(Xg)}),n},hydration:[`picker`],supportedTransports:Qg}}));function t_(e){return typeof e==`object`&&!!e}function n_(e){return t_(e)&&typeof e.type==`string`}function vre(e){return Array.isArray(e)&&e.every(n_)}function yre(e){return t_(e)&&typeof e.label==`string`&&(typeof e.value==`string`||typeof e.value==`number`)}function bre(e){return Array.isArray(e)?e.flatMap(e=>{if(!t_(e)||typeof e.heading!=`string`)return[];let t=typeof e.content==`string`||vre(e.content)?e.content:``;return[{heading:e.heading,content:t}]}):[]}function xre(e){return Array.isArray(e)?e.flatMap(e=>t_(e)?[{title:typeof e.title==`string`?e.title:void 0,value:e.value,headers:Array.isArray(e.headers)?e.headers.filter(e=>typeof e==`string`):void 0,rows:Array.isArray(e.rows)?e.rows.filter(e=>Array.isArray(e)):void 0}]:[]):[]}function Sre(e){let t=[{type:`heading`,value:e.heading}];return typeof e.content==`string`?(t.push({type:`paragraph`,value:e.content}),t):(t.push(...e.content),t)}function Cre(e){let t={type:`table`};return e.title&&(t.title=e.title),e.value!==void 0&&(t.value=e.value),e.headers&&(t.headers=e.headers),e.rows&&(t.rows=e.rows),t}var r_,i_,wre=o((()=>{r_=[`mcp-app`,`browser`,`export`],i_={id:`report@1`,label:`Report`,description:`Static report with title, optional metrics, narrative sections, and tables.`,inputSchema:{type:`object`,properties:{title:{type:`string`},metrics:{type:`array`,items:{type:`object`,required:[`label`,`value`],properties:{label:{type:`string`},value:{type:[`string`,`number`]},trend:{type:[`string`,`number`]},status:{type:`string`}},additionalProperties:!1}},sections:{type:`array`,items:{type:`object`,required:[`heading`,`content`],properties:{heading:{type:`string`},content:{oneOf:[{type:`string`},{type:`array`,items:{type:`object`}}]}},additionalProperties:!1}},tables:{type:`array`,items:{type:`object`,properties:{title:{type:`string`},value:{},headers:{type:`array`,items:{type:`string`}},rows:{type:`array`,items:{type:`array`,items:{}}}},additionalProperties:!1}}},required:[`title`,`sections`],additionalProperties:!1},defaultLayout:{},blocksFromData:e=>{let t={title:t_(e)&&typeof e.title==`string`?e.title:`Report`,metrics:t_(e)&&Array.isArray(e.metrics)?e.metrics.filter(yre):void 0,sections:t_(e)?bre(e.sections):[],tables:t_(e)?xre(e.tables):void 0},n=[{type:`heading`,value:t.title}];t.metrics&&t.metrics.length>0&&n.push({type:`metrics`,value:t.metrics});for(let e of t.sections)n.push(...Sre(e));for(let e of t.tables??[])n.push(Cre(e));return n},hydration:[],supportedTransports:r_}}));function a_(e){return typeof e==`object`&&!!e}function o_(e){return Array.isArray(e)?e.filter(e=>typeof e==`string`):[]}function s_(e){return Array.isArray(e)?e.flatMap(e=>{if(!a_(e)||typeof e.id!=`string`||typeof e.body!=`string`)return[];let t=e.type;if(t!==`COMMENT`&&t!==`DELETION`&&t!==`GLOBAL_COMMENT`)return[];let n=a_(e.anchor)?e.anchor:{};return[{id:e.id,type:t,body:e.body,anchor:{blockId:n.blockId},author:typeof e.author==`string`?e.author:void 0,createdAt:typeof e.createdAt==`string`?e.createdAt:void 0}]}):[]}function Tre(e){return Array.isArray(e)?e.flatMap(e=>{if(!a_(e)||typeof e.id!=`string`||typeof e.label!=`string`)return[];let t=e.outcome;return t!==`approved`&&t!==`rejected`&&t!==`changes-requested`&&t!==`deferred`?[]:[{id:e.id,label:e.label,outcome:t,description:typeof e.description==`string`?e.description:void 0}]}):[]}var c_,l_,Ere=o((()=>{c_=[`mcp-app`,`browser`],l_={id:`review@1`,label:`Review`,description:`Review surface with criteria checklist, annotation items, and approval controls.`,inputSchema:{type:`object`,properties:{title:{type:`string`},criteria:{type:`array`,items:{type:`string`}},annotations:{type:`array`,items:{type:`object`,required:[`id`,`body`,`type`,`anchor`],properties:{id:{type:`string`},type:{type:`string`,enum:[`COMMENT`,`DELETION`,`GLOBAL_COMMENT`]},body:{type:`string`},anchor:{type:`object`,properties:{blockId:{type:`string`},contextHash:{type:`string`}}},author:{type:`string`},createdAt:{type:`string`}},additionalProperties:!1}},approval:{type:`object`,properties:{prompt:{type:`string`},options:{type:`array`,items:{type:`object`,required:[`id`,`label`,`outcome`],properties:{id:{type:`string`},label:{type:`string`},outcome:{type:`string`,enum:[`approved`,`rejected`,`changes-requested`,`deferred`]},description:{type:`string`}},additionalProperties:!1}},requireComment:{type:`boolean`}},required:[`prompt`,`options`]},comment:{type:`string`}},required:[`title`,`criteria`],additionalProperties:!1},defaultLayout:{},blocksFromData:e=>{let t=[];if(!a_(e))return t;let n=typeof e.title==`string`?e.title:`Review`;t.push({type:`heading`,value:n});let r=o_(e.criteria);r.length>0&&t.push({type:`checklist`,value:r.map(e=>({label:e,checked:!1}))});let i=s_(e.annotations);i.length>0&&t.push({type:`annotation`,value:i});let a=e.approval;if(a_(a)){let e=Tre(a.options);e.length>0&&t.push({type:`approval`,value:{prompt:typeof a.prompt==`string`?a.prompt:``,options:e,requireComment:typeof a.requireComment==`boolean`?a.requireComment:!1}})}let o=typeof e.comment==`string`?e.comment:void 0;return o&&t.push({type:`markdown`,value:o}),t},hydration:[`checklist`],supportedTransports:c_}}));function u_(e){return typeof e==`object`&&!!e}function d_(e){return Array.isArray(e)?e.flatMap(e=>{if(!u_(e)||typeof e.category!=`string`||!Array.isArray(e.items))return[];let t=e.items.flatMap(e=>!u_(e)||typeof e.label!=`string`||typeof e.status!=`string`?[]:[{label:e.label,status:e.status,badge:typeof e.badge==`string`?e.badge:void 0}]);return[{category:e.category,items:t}]}):[]}function Dre(e){return e.map(e=>({title:e.label,status:e.status,badge:e.badge}))}var f_,p_,m_=o((()=>{f_=[`mcp-app`,`browser`,`export`],p_={id:`status-board@1`,label:`Status Board`,description:`Static status board grouped into category headings and card collections.`,inputSchema:{type:`object`,properties:{categories:{type:`array`,items:{type:`object`,required:[`category`,`items`],properties:{category:{type:`string`},items:{type:`array`,items:{type:`object`,required:[`label`,`status`],properties:{label:{type:`string`},status:{type:`string`},badge:{type:`string`}},additionalProperties:!1}}},additionalProperties:!1}}},required:[`categories`],additionalProperties:!1},defaultLayout:{},blocksFromData:e=>{let t=u_(e)?d_(e.categories):[],n=[];for(let e of t)n.push({type:`heading`,value:e.category}),n.push({type:`cards`,value:Dre(e.items)});return n},hydration:[],supportedTransports:f_}}));function h_(e){return typeof e==`object`&&!!e}function g_(e){return Array.isArray(e)?e.flatMap(e=>!h_(e)||typeof e.title!=`string`?[]:[{title:e.title,description:typeof e.description==`string`?e.description:void 0,timestamp:typeof e.timestamp==`string`?e.timestamp:void 0,status:typeof e.status==`string`?e.status:void 0}]):[]}function Ore(e){return Array.isArray(e)?{entries:g_(e)}:h_(e)?{entries:g_(e.entries??e.events??e.items),title:typeof e.title==`string`?e.title:void 0}:{entries:[]}}var __,v_,y_,kre=o((()=>{__=[`mcp-app`,`browser`,`export`],v_={type:`array`,items:{type:`object`,required:[`title`],properties:{title:{type:`string`},description:{type:`string`},timestamp:{type:`string`},status:{type:`string`}},additionalProperties:!1}},y_={id:`timeline@1`,label:`Timeline`,description:`Static timeline events rendered as a timeline block.`,inputSchema:{oneOf:[v_,{type:`object`,properties:{title:{type:`string`},entries:v_,events:v_,items:v_},anyOf:[{required:[`entries`]},{required:[`events`]},{required:[`items`]}],additionalProperties:!1}]},defaultLayout:{},blocksFromData:e=>{let{entries:t,title:n}=Ore(e),r=[];return n&&r.push({type:`heading`,value:n}),r.push({type:`timeline`,value:t}),r},hydration:[],supportedTransports:__}}));function b_(e){return typeof e==`object`&&!!e}function x_(e){return b_(e)&&typeof e.label==`string`}function S_(e){return{name:e.label,children:Array.isArray(e.children)?e.children.filter(x_).map(S_):[]}}function Are(e){if(!b_(e))return{};let t=e.root;return x_(t)?S_(t):b_(t)?t:e}var C_,w_,jre=o((()=>{C_=[`mcp-app`,`browser`,`export`],w_={id:`tree@1`,label:`Tree`,description:`Static tree view data with optional tree hydration metadata.`,inputSchema:{oneOf:[{type:`object`,properties:{root:{type:`object`}},required:[`root`],additionalProperties:!0},{type:`object`,additionalProperties:!0}]},defaultLayout:{},blocksFromData:e=>[{type:`tree`,value:Are(e)}],hydration:[`tree`],supportedTransports:C_}})),T_,E_=o((()=>{vg(),Cg(),cre(),fre(),Vg(),Gg(),hre(),e_(),wre(),Ere(),m_(),kre(),jre(),T_=new _g,T_.register(l_),T_.register(Sg),T_.register(Ng),T_.register(Bg),T_.register($g),T_.register(i_),T_.register(y_),T_.register(w_),T_.register(Og),T_.register(Wg),T_.register(qg),T_.register(p_)})),D_=o((()=>{lg(),gg(),E_()})),O_=o((()=>{lg()})),k_=o((()=>{lg(),ah(),gg(),D_(),O_(),vg(),E_()}));function Mre(e){return e.replace(/`/g,"\\`")}function Nre(e){return A_[e?.split(`.`).pop()?.toLowerCase()??``]??`text`}function Pre(e){let t=[e.file?`- File: \`${Mre(e.file)}${e.line?`:${e.line}`:``}\``:null,e.learnsConcept?`- Concept: ${e.learnsConcept}`:null,e.duration?`- Duration: ${e.duration}`:null].filter(e=>!!e);return t.length>0?t.join(`
|
|
1544
1544
|
`):null}function Fre(e){let t=[],n=Pre(e),r=e.explanation??e.description;return n&&t.push({type:`markdown`,value:n}),r&&t.push({type:`markdown`,value:r}),e.code&&t.push({type:`code`,language:Nre(e.file),value:e.code}),t}var A_,j_=o((()=>{A_={cjs:`js`,css:`css`,go:`go`,html:`html`,java:`java`,js:`js`,json:`json`,jsx:`jsx`,md:`md`,mjs:`js`,py:`python`,rs:`rust`,sh:`bash`,sql:`sql`,ts:`ts`,tsx:`tsx`,yml:`yaml`,yaml:`yaml`}})),Ire=c({TourViewer:()=>Hre});function Lre(e){if(e.getElementById(P_))return;let t=e.createElement(`style`);t.id=P_,t.textContent=Qne(),e.head.appendChild(t)}function Rre(e,t){let n=new Set(t.map(e=>e.target)),r=e.filter(e=>!n.has(e.id));r.length===0&&e.length>0&&r.push(e[0]);let i=new Map,a=new Map;t.forEach(e=>{let t=a.get(e.source)||[];t.push(e.target),a.set(e.source,t)});let o=r.map(e=>({id:e.id,level:0})),s=new Set;for(;o.length>0;){let{id:e,level:t}=o.shift();s.has(e)||(s.add(e),i.set(e,t),(a.get(e)||[]).forEach(e=>{s.has(e)||o.push({id:e,level:t+1})}))}e.forEach(e=>{i.has(e.id)||i.set(e.id,i.size>0?Math.max(...i.values())+1:0)});let c=new Map;i.forEach((e,t)=>{let n=c.get(e)||[];n.push(t),c.set(e,n)});let l=new Map;return c.forEach((e,t)=>{let n=-(e.length*220+(e.length-1)*60)/2;e.forEach((e,r)=>{l.set(e,{x:n+r*280,y:t*180})})}),l}function zre({file:e}){let t=e.split(`.`).pop()?.toLowerCase()||``,n={width:14,height:14,flexShrink:0,opacity:.7};switch(t){case`ts`:case`tsx`:return(0,N_.jsxs)(`svg`,{...n,viewBox:`0 0 14 14`,fill:`none`,children:[(0,N_.jsx)(`rect`,{x:`1`,y:`1`,width:`12`,height:`12`,rx:`2`,fill:`#3178c6`}),(0,N_.jsx)(`text`,{x:`7`,y:`10`,textAnchor:`middle`,fontSize:`7`,fill:`#fff`,fontWeight:`700`,children:`TS`})]});case`js`:case`jsx`:case`mjs`:return(0,N_.jsxs)(`svg`,{...n,viewBox:`0 0 14 14`,fill:`none`,children:[(0,N_.jsx)(`rect`,{x:`1`,y:`1`,width:`12`,height:`12`,rx:`2`,fill:`#f7df1e`}),(0,N_.jsx)(`text`,{x:`7`,y:`10`,textAnchor:`middle`,fontSize:`7`,fill:`#000`,fontWeight:`700`,children:`JS`})]});case`json`:return(0,N_.jsxs)(`svg`,{...n,viewBox:`0 0 14 14`,fill:`none`,stroke:`#a0a0a0`,strokeWidth:`1.2`,children:[(0,N_.jsx)(`path`,{d:`M4 2c-1.5 0-2 1-2 2v2c0 1-0.5 1-1 1 0.5 0 1 0 1 1v2c0 1 0.5 2 2 2`}),(0,N_.jsx)(`path`,{d:`M10 2c1.5 0 2 1 2 2v2c0 1 0.5 1 1 1-0.5 0-1 0-1 1v2c0 1-0.5 2-2 2`})]});case`css`:case`scss`:case`less`:return(0,N_.jsxs)(`svg`,{...n,viewBox:`0 0 14 14`,fill:`none`,children:[(0,N_.jsx)(`rect`,{x:`1`,y:`1`,width:`12`,height:`12`,rx:`2`,fill:`#264de4`}),(0,N_.jsx)(`text`,{x:`7`,y:`10`,textAnchor:`middle`,fontSize:`6`,fill:`#fff`,fontWeight:`700`,children:`CSS`})]});case`html`:return(0,N_.jsxs)(`svg`,{...n,viewBox:`0 0 14 14`,fill:`none`,children:[(0,N_.jsx)(`rect`,{x:`1`,y:`1`,width:`12`,height:`12`,rx:`2`,fill:`#e34c26`}),(0,N_.jsx)(`text`,{x:`7`,y:`10`,textAnchor:`middle`,fontSize:`6`,fill:`#fff`,fontWeight:`700`,children:`H`})]});case`py`:return(0,N_.jsxs)(`svg`,{...n,viewBox:`0 0 14 14`,fill:`none`,children:[(0,N_.jsx)(`rect`,{x:`1`,y:`1`,width:`12`,height:`12`,rx:`2`,fill:`#3776ab`}),(0,N_.jsx)(`text`,{x:`7`,y:`10`,textAnchor:`middle`,fontSize:`7`,fill:`#ffd43b`,fontWeight:`700`,children:`Py`})]});case`go`:return(0,N_.jsxs)(`svg`,{...n,viewBox:`0 0 14 14`,fill:`none`,children:[(0,N_.jsx)(`rect`,{x:`1`,y:`1`,width:`12`,height:`12`,rx:`2`,fill:`#00add8`}),(0,N_.jsx)(`text`,{x:`7`,y:`10`,textAnchor:`middle`,fontSize:`7`,fill:`#fff`,fontWeight:`700`,children:`Go`})]});case`rs`:return(0,N_.jsxs)(`svg`,{...n,viewBox:`0 0 14 14`,fill:`none`,children:[(0,N_.jsx)(`rect`,{x:`1`,y:`1`,width:`12`,height:`12`,rx:`2`,fill:`#ce412b`}),(0,N_.jsx)(`text`,{x:`7`,y:`10`,textAnchor:`middle`,fontSize:`7`,fill:`#fff`,fontWeight:`700`,children:`Rs`})]});case`md`:case`mdx`:return(0,N_.jsxs)(`svg`,{...n,viewBox:`0 0 14 14`,fill:`none`,stroke:`#a0a0a0`,strokeWidth:`1.3`,children:[(0,N_.jsx)(`rect`,{x:`1`,y:`3`,width:`12`,height:`8`,rx:`1`}),(0,N_.jsx)(`path`,{d:`M3 9V5l2 2 2-2v4M10 7.5l1.5-1.5M10 7.5l-1.5-1.5M10 7.5V5`})]});case`yaml`:case`yml`:return(0,N_.jsxs)(`svg`,{...n,viewBox:`0 0 14 14`,fill:`none`,children:[(0,N_.jsx)(`rect`,{x:`1`,y:`1`,width:`12`,height:`12`,rx:`2`,fill:`#cb171e`}),(0,N_.jsx)(`text`,{x:`7`,y:`10`,textAnchor:`middle`,fontSize:`5`,fill:`#fff`,fontWeight:`700`,children:`YML`})]});default:return(0,N_.jsxs)(`svg`,{...n,viewBox:`0 0 14 14`,fill:`none`,stroke:`#6b7a90`,strokeWidth:`1.3`,children:[(0,N_.jsx)(`path`,{d:`M4 1h4l3 3v9H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1z`}),(0,N_.jsx)(`path`,{d:`M8 1v3h3`})]})}}function Bre({data:e}){let t=e;return(0,N_.jsxs)(`div`,{onClick:t.onClick,style:{background:t.active?`var(--accent)`:`var(--card)`,border:`2px solid ${t.active?`var(--primary)`:`var(--border)`}`,borderRadius:8,padding:`10px 14px`,width:220,cursor:`pointer`,transition:`all 0.2s`,color:`var(--card-foreground)`},children:[(0,N_.jsx)(vp,{type:`target`,position:Dl.Top,style:{opacity:0}}),(0,N_.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8,marginBottom:4},children:[(0,N_.jsx)(`span`,{style:{width:22,height:22,borderRadius:`50%`,background:t.active?`var(--primary)`:`var(--muted)`,color:t.active?`var(--primary-foreground)`:`var(--muted-foreground)`,display:`flex`,alignItems:`center`,justifyContent:`center`,fontSize:`11px`,fontWeight:700,flexShrink:0},children:t.step.stepNumber}),(0,N_.jsx)(`span`,{style:{fontWeight:600,fontSize:`12px`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:t.step.title})]}),(0,N_.jsxs)(`div`,{style:{fontSize:`10px`,opacity:.7,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,display:`flex`,alignItems:`center`,gap:4,paddingLeft:30},children:[(0,N_.jsx)(zre,{file:t.step.file}),t.step.file]}),(0,N_.jsx)(vp,{type:`source`,position:Dl.Bottom,style:{opacity:0}})]})}function Vre({data:e}){let[t,n,r]=pf([]),[i,a,o]=mf([]),[s,c]=(0,M_.useState)(e.steps?.[0]||null);(0,M_.useEffect)(()=>{Lre(document)},[]);let l=(0,M_.useCallback)(t=>{if(!e.steps?.length)return;let r=Rre(e.steps,e.dependencies||[]),i=e.steps.map(e=>({id:e.id,type:`step`,position:r.get(e.id)||{x:0,y:0},data:{step:e,active:e.id===t,onClick:()=>c(e)}})),o=(e.dependencies||[]).map((e,t)=>({id:`e${t}`,source:e.source,target:e.target,animated:!0,markerEnd:{type:El.ArrowClosed,color:`var(--muted-foreground)`},style:{stroke:`var(--primary)`,strokeWidth:1.5}}));n(i),a(o)},[e]);(0,M_.useEffect)(()=>{l(s?.id||null)},[e,s]);let u=s?e.steps.findIndex(e=>e.id===s.id):-1,d=u>0,f=u<e.steps.length-1,p=s?are(Fre(s),{mode:`standalone`}):``;return(0,N_.jsxs)(Om,{variant:`full`,children:[(0,N_.jsx)(Mm,{title:e.title||`Code Tour`,subtitle:e.description,showThemeToggle:!0}),(0,N_.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,minHeight:0,height:`100%`,overflow:`hidden`},children:[(0,N_.jsx)(`div`,{style:{flex:1,position:`relative`},children:(0,N_.jsxs)($p,{nodes:t,edges:i,onNodesChange:r,onEdgesChange:o,nodeTypes:F_,fitView:!0,minZoom:.3,maxZoom:2,proOptions:{hideAttribution:!0},children:[(0,N_.jsx)(im,{color:`var(--muted)`,gap:20,size:1.5}),(0,N_.jsx)(om,{}),(0,N_.jsx)(hm,{maskColor:`rgba(0,0,0,0.7)`})]})}),s&&(0,N_.jsxs)(`div`,{style:{padding:`16px 20px`,borderTop:`1px solid var(--border)`,background:`var(--card)`,maxHeight:`35%`,overflow:`auto`,color:`var(--card-foreground)`},children:[(0,N_.jsxs)(`div`,{style:{display:`flex`,justifyContent:`space-between`,alignItems:`center`,marginBottom:8},children:[(0,N_.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8},children:[(0,N_.jsx)(`span`,{style:{width:24,height:24,borderRadius:`50%`,background:`var(--primary)`,color:`var(--primary-foreground)`,display:`flex`,alignItems:`center`,justifyContent:`center`,fontSize:`12px`,fontWeight:700},children:s.stepNumber}),(0,N_.jsx)(`h2`,{style:{fontSize:`14px`,margin:0},children:s.title})]}),(0,N_.jsxs)(`div`,{style:{display:`flex`,gap:8},children:[(0,N_.jsx)(`button`,{disabled:!d,onClick:()=>d&&c(e.steps[u-1]),style:{padding:`4px 12px`,fontSize:`11px`,borderRadius:4,border:`1px solid var(--border)`,background:d?`var(--muted)`:`var(--background)`,color:d?`var(--foreground)`:`var(--muted-foreground)`,cursor:d?`pointer`:`default`},children:`← Prev`}),(0,N_.jsx)(`button`,{disabled:!f,onClick:()=>f&&c(e.steps[u+1]),style:{padding:`4px 12px`,fontSize:`11px`,borderRadius:4,border:`1px solid var(--border)`,background:f?`var(--muted)`:`var(--background)`,color:f?`var(--foreground)`:`var(--muted-foreground)`,cursor:f?`pointer`:`default`},children:`Next →`})]})]}),p?(0,N_.jsx)(`div`,{style:{display:`grid`,gap:12},dangerouslySetInnerHTML:{__html:p}}):null]})]}),(0,N_.jsx)(Fm,{})]})}function Hre({data:e}){return(0,N_.jsx)(wm,{children:(0,N_.jsx)(lf,{children:(0,N_.jsx)(Vre,{data:e})})})}var M_,N_,P_,F_,I_=o((()=>{k_(),M_=u(h(),1),vm(),ym(),Em(),km(),Nm(),Im(),j_(),bm(),N_=x(),P_=`aikit-tour-block-styles`,F_={step:Bre}}));function L_(e){switch(e){case`loop-back`:return`var(--pf-edge-loop-back)`;case`exception`:return`var(--pf-edge-exception)`;default:return`var(--pf-edge-standard)`}}function R_(e){return{type:El.ArrowClosed,color:L_(e)}}function z_(e){let{id:t,markerEnd:n,sourceX:r,sourceY:i,targetX:a,targetY:o,sourcePosition:s,targetPosition:c,label:l,variant:u,selected:d}=e,[f,p,m]=u===`standard`?bc({sourceX:r,sourceY:i,targetX:a,targetY:o,sourcePosition:s,targetPosition:c,borderRadius:20,offset:18}):pc({sourceX:r,sourceY:i,targetX:a,targetY:o,sourcePosition:s,targetPosition:c,curvature:u===`loop-back`?.42:.28});return(0,V_.jsxs)(V_.Fragment,{children:[(0,V_.jsx)(Hd,{id:t,path:f,markerEnd:n,style:{stroke:L_(u),strokeWidth:d?3:2,strokeDasharray:u===`standard`?void 0:`8 6`}}),l?(0,V_.jsx)(ff,{children:(0,V_.jsx)(`div`,{className:`process-flow-edge__label process-flow-edge__label--${u}`,style:{transform:`translate(-50%, -50%) translate(${p}px, ${m}px)`},children:l})}):null]})}function Ure(e){return(0,V_.jsx)(z_,{...e,variant:`standard`})}function Wre(e){return(0,V_.jsx)(z_,{...e,variant:`loop-back`})}function Gre(e){return(0,V_.jsx)(z_,{...e,variant:`exception`})}function B_(e=`standard`){return{type:e,animated:e!==`standard`,markerEnd:R_(e),data:{variant:e}}}var V_,Kre,qre=o((()=>{vm(),V_=x(),Kre={standard:Ure,"loop-back":Wre,exception:Gre}}));function Jre({data:e,forcedType:t}){let n=Object.entries(e.metadata??{}),r=t===`decision`;return(0,U_.jsxs)(`div`,{className:`process-flow-node process-flow-node--${t}`,"data-node-type":t,children:[(0,U_.jsx)(vp,{className:`process-flow-node__handle`,type:`target`,position:Dl.Top}),(0,U_.jsxs)(`div`,{className:`process-flow-node__frame`,children:[(0,U_.jsx)(`div`,{className:`process-flow-node__surface`}),(0,U_.jsxs)(`div`,{className:`process-flow-node__content`,children:[(0,U_.jsxs)(`div`,{className:`process-flow-node__eyebrow`,children:[(0,U_.jsx)(`span`,{className:`process-flow-node__icon`,"aria-hidden":`true`,children:K_[t]}),(0,U_.jsx)(`span`,{children:W_[t]})]}),(0,U_.jsx)(`div`,{className:`process-flow-node__label`,children:e.label}),e.description?(0,U_.jsx)(`p`,{className:`process-flow-node__description`,children:e.description}):null,n.length>0?(0,U_.jsx)(`dl`,{className:`process-flow-node__metadata`,children:n.map(([e,t])=>(0,U_.jsxs)(`div`,{className:`process-flow-node__metadata-row`,children:[(0,U_.jsx)(`dt`,{children:e}),(0,U_.jsx)(`dd`,{children:t})]},e))}):null,r?(0,U_.jsx)(`div`,{className:`process-flow-node__decision-shadow`,"aria-hidden":`true`}):null]})]}),(0,U_.jsx)(vp,{className:`process-flow-node__handle`,type:`source`,position:Dl.Bottom})]})}function H_(e){return function(t){let n={...t.data,type:e};return(0,U_.jsx)(Jre,{...t,data:n,forcedType:e})}}function Yre(e){return G_[e]}function Xre(e){let t=new Set;return e.filter(e=>t.has(e.type)?!1:(t.add(e.type),!0)).map(e=>({label:W_[e.type],color:G_[e.type],icon:K_[e.type]}))}var U_,W_,G_,K_,q_,Zre=o((()=>{vm(),U_=x(),W_={"start-end":`Start / End`,manual:`Manual`,automated:`Automated`,integration:`Integration`,decision:`Decision`,prerequisite:`Prerequisite`},G_={"start-end":`var(--pf-node-start-end)`,manual:`var(--pf-node-manual)`,automated:`var(--pf-node-automated)`,integration:`var(--pf-node-integration)`,decision:`var(--pf-node-decision)`,prerequisite:`var(--pf-node-prerequisite)`},K_={"start-end":`◎`,manual:`✦`,automated:`◌`,integration:`↗`,decision:`◇`,prerequisite:`⋯`},q_={"start-end":H_(`start-end`),manual:H_(`manual`),automated:H_(`automated`),integration:H_(`integration`),decision:H_(`decision`),prerequisite:H_(`prerequisite`)}})),J_=o((()=>{})),Y_=c({ProcessFlowViewer:()=>nv,buildProcessFlowEdges:()=>ev,buildProcessFlowNodes:()=>$_,layoutProcessFlowNodes:()=>$re,normalizeProcessFlowData:()=>Z_,readProcessFlowDataFromScript:()=>Q_});function X_(e){return Array.isArray(e)?e.map(e=>({...e,type:e.type||`manual`})):[]}function Qre(e){let t=Object.keys(e.metadata??{}).length;if(e.type===`decision`)return{width:176,height:176};if(e.type===`start-end`)return{width:236,height:e.description?104:84};let n=108+t*18+(e.description?28:0);return{width:228,height:Math.max(n,112)}}function Z_(e){return{title:e?.title,description:e?.description,nodes:X_(e?.nodes),edges:Array.isArray(e?.edges)?e.edges:[]}}function Q_(e=document){let t=e.getElementById(`diagram-data`),n={};if(t?.textContent)try{n=JSON.parse(t.textContent)}catch(e){return console.error(`Failed to parse process flow data:`,e),Z_(void 0)}return Z_(n)}async function $re(e){let t={id:`root`,layoutOptions:{"elk.algorithm":`layered`,"elk.direction":`DOWN`,"elk.spacing.nodeNode":`84`,"elk.layered.spacing.nodeNodeBetweenLayers":`120`,"elk.layered.crossingMinimization.strategy":`LAYER_SWEEP`,"elk.layered.nodePlacement.bk.fixedAlignment":`BALANCED`},children:e.nodes.map(e=>{let t=Qre(e);return{id:e.id,width:t.width,height:t.height}}),edges:e.edges.map((e,t)=>({id:`edge-${t}`,sources:[e.source],targets:[e.target]}))};return(await av.layout(t)).children??[]}function $_(e,t){return e.nodes.map(e=>{let n=t.find(t=>t.id===e.id);return{id:e.id,type:e.type,position:{x:n?.x??0,y:n?.y??0},data:e}})}function ev(e){return e.map((e,t)=>{let n=e.type??`standard`;return{id:`edge-${t}`,source:e.source,target:e.target,label:e.label,...B_(n)}})}function tv({data:e}){let[t,n,r]=pf([]),[i,a,o]=mf([]),{fitView:s}=bd(),c=Xre(e.nodes);return(0,eie.useEffect)(()=>{let t=!1;return e.nodes.length?($re(e).then(r=>{t||(n($_(e,r)),a(ev(e.edges)),setTimeout(()=>s({padding:.12}),50))}),()=>{t=!0}):(n([]),a([]),()=>{t=!0})},[e,s,a,n]),(0,iv.jsxs)(Om,{variant:`full`,children:[(0,iv.jsx)(Mm,{title:e.title||`Process Flow`,subtitle:e.description,showThemeToggle:!0}),(0,iv.jsxs)(`div`,{className:`process-flow__canvas`,children:[(0,iv.jsx)(`div`,{className:`process-flow__toolbar`,role:`toolbar`,"aria-label":`Diagram actions`}),(0,iv.jsxs)($p,{nodesDraggable:!1,nodes:t,edges:i,onNodesChange:r,onEdgesChange:o,nodeTypes:q_,edgeTypes:Kre,fitView:!0,minZoom:.2,maxZoom:2,proOptions:{hideAttribution:!0},children:[(0,iv.jsx)(im,{color:`var(--muted)`,gap:24,size:1.5}),(0,iv.jsx)(om,{}),(0,iv.jsx)(hm,{nodeColor:e=>Yre(e.data.type),maskColor:`rgba(0, 0, 0, 0.7)`})]})]}),(0,iv.jsx)(Fm,{legend:c})]})}function nv({data:e}){return(0,iv.jsx)(wm,{children:(0,iv.jsx)(lf,{children:(0,iv.jsx)(tv,{data:Z_(e)})})})}var eie,rv,iv,av,ov=o((()=>{eie=u(h(),1),vm(),ym(),rv=u(Aee(),1),Im(),Nm(),km(),Em(),bm(),qre(),Zre(),J_(),iv=x(),av=new rv.default})),tie=o((()=>{})),sv=c({TaskPlanViewer:()=>cie,buildTaskPlanLegendItems:()=>oie,getTaskPlanAgentColor:()=>xv,normalizeTaskPlanData:()=>bv,readTaskPlanDataFromScript:()=>aie});function cv(e){return typeof e==`string`&&e.trim().length>0?e.trim():void 0}function nie(e){return typeof e==`string`&&Cv.has(e)}function lv(e){return typeof e==`string`&&wv.has(e)}function uv(e){if(!e)return`orchestrator`;if(e.startsWith(`Researcher-`))return`researcher`;if(e.startsWith(`Code-Reviewer-`)||e.startsWith(`Architect-Reviewer-`))return`reviewer`;switch(e){case`Implementer`:return`implementer`;case`Frontend`:return`frontend`;case`Refactor`:return`refactor`;case`Debugger`:return`debugger`;case`Security`:return`security`;case`Explorer`:return`explorer`;case`Documenter`:return`documenter`;case`Planner`:return`planner`;default:return`orchestrator`}}function O(e){return Ov[uv(e)]}function dv(e,t){let n=cv(e?.id)??`task-${t+1}`,r=cv(e?.title)??`Task ${t+1}`,i=cv(e?.description),a=Array.isArray(e?.files)?e.files.filter(e=>typeof e==`string`&&e.trim().length>0):void 0,o=Array.isArray(e?.dependsOn)?Array.from(new Set(e.dependsOn.filter(e=>typeof e==`string`&&e.trim().length>0))).filter(e=>e!==n):void 0;return{id:n,title:r,agent:lv(e?.agent)?e.agent:void 0,files:a?.length?a:void 0,status:nie(e?.status)?e.status:`pending`,description:i,dependsOn:o?.length?o:void 0}}function rie(e,t){let n=typeof e?.order==`number`&&Number.isFinite(e.order)?e.order:t+1;return{id:cv(e?.id)??`batch-${t+1}`,order:n,parallel:!!e?.parallel,label:cv(e?.label),tasks:Array.isArray(e?.tasks)?e.tasks.map((e,t)=>dv(e,t)):[]}}function iie(e,t){let n=Array.isArray(e?.batches)?e.batches.map((e,t)=>rie(e,t)).sort((e,t)=>e.order-t.order):[];return{id:cv(e?.id)??`phase-${t+1}`,label:cv(e?.label)??`Phase ${t+1}`,outcome:cv(e?.outcome),batches:n}}function fv(e){return e.phases.flatMap(e=>e.batches.flatMap(e=>e.tasks))}function pv(e){return e.batches.reduce((e,t)=>e+t.tasks.length,0)}function mv(e){let t=fv(e),n={pending:0,"in-progress":0,done:0,blocked:0},r=new Set;for(let e of t)n[e.status??`pending`]+=1,e.agent&&r.add(e.agent);return{totalTasks:t.length,totalPhases:e.phases.length,totalAgents:r.size,statusCounts:n}}function hv(e){let t=e.parallel?`Parallel`:`Sequential`;return e.label?`${e.label} - ${t}`:`Batch ${e.order} - ${t}`}function gv(e){return e.parallel?`⫸`:`→`}function _v(e){let t=pv(e);return e.batches.length<=1?`${t} ${t===1?`task`:`tasks`}`:`${t} ${t===1?`task`:`tasks`} · ${e.batches.length} batches`}function vv(e){return`${e} ${e===1?`file`:`files`}`}function yv(e){let t=e.dependsOn??[];return t.length<=3?t.map(e=>`Depends: ${e}`):[...t.slice(0,2).map(e=>`Depends: ${e}`),`+${t.length-2} more`]}function bv(e){return{title:cv(e?.title),description:cv(e?.description),phases:Array.isArray(e?.phases)?e.phases.map((e,t)=>iie(e,t)):[]}}function aie(e=document){let t=e.getElementById(`diagram-data`),n={};if(t?.textContent)try{n=JSON.parse(t.textContent)}catch(e){return console.error(`Failed to parse task plan data:`,e),bv(void 0)}return bv(n)}function xv(e){return Dv[uv(e)]}function oie(e){let t=Array.isArray(e)?e:fv(e),n=new Set;return t.filter(e=>!!e.agent).filter(e=>n.has(e.agent)?!1:(n.add(e.agent),!0)).map(e=>({label:e.agent,color:xv(e.agent),icon:O(e.agent)}))}function sie({data:e}){let t=fv(e),n=t.length>0,r=mv(e),i=oie(t);return(0,Sv.jsxs)(Om,{variant:`full`,children:[(0,Sv.jsx)(Mm,{title:e.title||`Task Plan`,subtitle:e.description,showThemeToggle:!0}),(0,Sv.jsxs)(`div`,{className:`task-plan__shell`,children:[(0,Sv.jsx)(`div`,{className:`task-plan__toolbar`,role:`toolbar`,"aria-label":`Task plan actions`}),(0,Sv.jsx)(`div`,{className:`task-plan__surface`,children:n?(0,Sv.jsxs)(Sv.Fragment,{children:[(0,Sv.jsx)(`div`,{className:`task-plan__pipeline`,"aria-label":`Task plan pipeline`,children:e.phases.map((t,n)=>(0,Sv.jsxs)(`div`,{className:`task-plan__phase-block`,children:[(0,Sv.jsx)(`section`,{className:`task-plan-phase`,"aria-labelledby":`task-plan-phase-${t.id}`,children:(0,Sv.jsxs)(`div`,{className:`task-plan-phase__content`,children:[(0,Sv.jsxs)(`div`,{className:`task-plan-phase__header`,children:[(0,Sv.jsx)(`span`,{className:`task-plan-phase__number`,"aria-hidden":`true`,children:n+1}),(0,Sv.jsx)(`h2`,{className:`task-plan-phase__label`,id:`task-plan-phase-${t.id}`,children:t.label}),(0,Sv.jsx)(`span`,{className:`task-plan-phase__badge`,children:_v(t)})]}),t.outcome?(0,Sv.jsx)(`p`,{className:`task-plan-phase__outcome`,children:t.outcome}):null,(0,Sv.jsx)(`div`,{className:`task-plan-phase__batches`,children:t.batches.map(e=>(0,Sv.jsxs)(`section`,{className:`task-plan-batch`,"aria-label":hv(e),children:[(0,Sv.jsxs)(`div`,{className:`task-plan-batch__label`,children:[(0,Sv.jsx)(`span`,{className:`task-plan-batch__icon`,"aria-hidden":`true`,children:gv(e)}),(0,Sv.jsx)(`span`,{children:hv(e)})]}),(0,Sv.jsx)(`div`,{className:`task-plan-batch__tasks${e.parallel?` task-plan-batch__tasks--parallel`:``}`,children:e.tasks.map(e=>{let t=e.files?.length??0,n=yv(e),r=e.status??`pending`;return(0,Sv.jsxs)(`article`,{className:`task-plan-task`,"data-status":r,style:{"--card-accent":xv(e.agent),"--status-color":Ev[r]},children:[(0,Sv.jsxs)(`div`,{className:`task-plan-task__topline`,children:[(0,Sv.jsxs)(`span`,{className:`task-plan-task__agent`,title:e.agent??`Orchestrator`,children:[(0,Sv.jsx)(`span`,{className:`task-plan-task__agent-icon`,"aria-hidden":`true`,children:O(e.agent)}),(0,Sv.jsx)(`span`,{className:`task-plan-task__agent-label`,children:e.agent??`Orchestrator`})]}),(0,Sv.jsxs)(`span`,{className:`task-plan-task__status`,"data-status":r,children:[(0,Sv.jsx)(`span`,{className:`task-plan-task__status-dot`,"aria-hidden":`true`}),(0,Sv.jsx)(`span`,{children:Tv[r]})]})]}),(0,Sv.jsx)(`div`,{className:`task-plan-task__title`,title:e.description??e.title,children:e.title}),e.description?(0,Sv.jsx)(`p`,{className:`task-plan-task__description`,children:e.description}):null,(0,Sv.jsxs)(`div`,{className:`task-plan-task__meta`,children:[t>0?(0,Sv.jsxs)(`span`,{className:`task-plan-task__chip`,title:e.files?.join(`
|
|
1545
1545
|
`),children:[`📁 `,vv(t)]}):null,n.map(t=>(0,Sv.jsxs)(`span`,{className:`task-plan-task__chip`,title:t,children:[`🔗 `,t]},`${e.id}-${t}`))]})]},e.id)})})]},e.id))})]})}),n<e.phases.length-1?(0,Sv.jsx)(`div`,{className:`task-plan__connector`,"aria-hidden":`true`}):null]},t.id))}),(0,Sv.jsxs)(`section`,{className:`task-plan__summary`,"aria-label":`Task plan summary`,children:[(0,Sv.jsxs)(`div`,{className:`task-plan-summary__stat`,children:[(0,Sv.jsx)(`span`,{className:`task-plan-summary__value`,children:r.totalTasks}),(0,Sv.jsx)(`span`,{className:`task-plan-summary__label`,children:`Total Tasks`})]}),(0,Sv.jsxs)(`div`,{className:`task-plan-summary__stat`,children:[(0,Sv.jsx)(`span`,{className:`task-plan-summary__value`,children:r.totalPhases}),(0,Sv.jsx)(`span`,{className:`task-plan-summary__label`,children:`Phases`})]}),(0,Sv.jsxs)(`div`,{className:`task-plan-summary__stat`,children:[(0,Sv.jsx)(`span`,{className:`task-plan-summary__value`,style:{color:Ev.pending},children:r.statusCounts.pending}),(0,Sv.jsx)(`span`,{className:`task-plan-summary__label`,children:`Pending`})]}),(0,Sv.jsxs)(`div`,{className:`task-plan-summary__stat`,children:[(0,Sv.jsx)(`span`,{className:`task-plan-summary__value`,style:{color:Ev[`in-progress`]},children:r.statusCounts[`in-progress`]}),(0,Sv.jsx)(`span`,{className:`task-plan-summary__label`,children:`In Progress`})]}),(0,Sv.jsxs)(`div`,{className:`task-plan-summary__stat`,children:[(0,Sv.jsx)(`span`,{className:`task-plan-summary__value`,style:{color:Ev.done},children:r.statusCounts.done}),(0,Sv.jsx)(`span`,{className:`task-plan-summary__label`,children:`Done`})]}),(0,Sv.jsxs)(`div`,{className:`task-plan-summary__stat`,children:[(0,Sv.jsx)(`span`,{className:`task-plan-summary__value`,style:{color:Ev.blocked},children:r.statusCounts.blocked}),(0,Sv.jsx)(`span`,{className:`task-plan-summary__label`,children:`Blocked`})]}),(0,Sv.jsxs)(`div`,{className:`task-plan-summary__stat`,children:[(0,Sv.jsx)(`span`,{className:`task-plan-summary__value`,children:r.totalAgents}),(0,Sv.jsx)(`span`,{className:`task-plan-summary__label`,children:`Agents`})]})]}),i.length>0?(0,Sv.jsxs)(`section`,{className:`task-plan__legend`,"aria-label":`Agent legend`,children:[(0,Sv.jsx)(`span`,{className:`task-plan__legend-title`,children:`Agents`}),i.map(e=>(0,Sv.jsxs)(`span`,{className:`task-plan__legend-item`,children:[(0,Sv.jsx)(`span`,{className:`task-plan__legend-dot`,style:{backgroundColor:e.color}}),(0,Sv.jsxs)(`span`,{children:[(0,Sv.jsx)(`span`,{className:`task-plan__legend-icon`,children:e.icon}),e.label]})]},e.label))]}):null]}):(0,Sv.jsxs)(`div`,{className:`task-plan__empty`,role:`status`,children:[(0,Sv.jsx)(`strong`,{children:`No tasks to render`}),(0,Sv.jsx)(`span`,{children:`Add phases, batches, and tasks to populate the plan.`})]})})]}),(0,Sv.jsx)(Fm,{})]})}function cie({data:e}){return(0,Sv.jsx)(wm,{children:(0,Sv.jsx)(sie,{data:bv(e)})})}var Sv,Cv,wv,Tv,Ev,Dv,Ov,kv=o((()=>{Im(),Nm(),km(),Em(),bm(),tie(),Sv=x(),Cv=new Set([`pending`,`in-progress`,`done`,`blocked`]),wv=new Set([`Researcher-Alpha`,`Researcher-Beta`,`Researcher-Gamma`,`Researcher-Delta`,`Implementer`,`Frontend`,`Refactor`,`Debugger`,`Security`,`Explorer`,`Documenter`,`Code-Reviewer-Alpha`,`Code-Reviewer-Beta`,`Architect-Reviewer-Alpha`,`Architect-Reviewer-Beta`,`Planner`,`Orchestrator`]),Tv={pending:`Pending`,"in-progress":`In Progress`,done:`Done`,blocked:`Blocked`},Ev={pending:`var(--tp-status-pending)`,"in-progress":`var(--tp-status-in-progress)`,done:`var(--tp-status-done)`,blocked:`var(--tp-status-blocked)`},Dv={researcher:`var(--tp-agent-researcher)`,implementer:`var(--tp-agent-implementer)`,frontend:`var(--tp-agent-frontend)`,reviewer:`var(--tp-agent-reviewer)`,debugger:`var(--tp-agent-debugger)`,security:`var(--tp-agent-security)`,explorer:`var(--tp-agent-explorer)`,documenter:`var(--tp-agent-documenter)`,refactor:`var(--tp-agent-refactor)`,planner:`var(--tp-agent-planner)`,orchestrator:`var(--tp-agent-orchestrator)`},Ov={researcher:`🔬`,implementer:`🛠`,frontend:`🎨`,reviewer:`🧪`,debugger:`🐞`,security:`🛡`,explorer:`🧭`,documenter:`📝`,refactor:`♻`,planner:`🧠`,orchestrator:`🎛`}})),Av=u(h(),1),jv=x(),Mv=(0,Av.lazy)(async()=>({default:(await ne(()=>Promise.resolve().then(()=>(Jm(),Iee)),void 0,import.meta.url)).C4Viewer})),lie=(0,Av.lazy)(async()=>({default:(await ne(()=>Promise.resolve().then(()=>(I_(),Ire)),void 0,import.meta.url)).TourViewer})),uie=(0,Av.lazy)(async()=>({default:(await ne(()=>Promise.resolve().then(()=>(ov(),Y_)),void 0,import.meta.url)).ProcessFlowViewer})),die=(0,Av.lazy)(async()=>({default:(await ne(()=>Promise.resolve().then(()=>(kv(),sv)),void 0,import.meta.url)).TaskPlanViewer}));function fie(e){return e===`c4`||e===`tour`||e===`process-flow`||e===`task-plan`}function pie(e=document){let t=e.getElementById(`diagram-data`),n={kind:`c4`};if(t?.textContent)try{n=JSON.parse(t.textContent)}catch(e){return console.error(`Failed to parse viewer data:`,e),{kind:`unknown`,value:void 0,error:`Failed to parse viewer data.`}}return typeof n==`object`&&n&&`kind`in n&&fie(n.kind)?n:{kind:`unknown`,value:n}}function mie(){let e=pie();return(0,jv.jsxs)(Av.Suspense,{fallback:(0,jv.jsx)(`div`,{className:`loading`,children:`Loading viewer...`}),children:[e.kind===`c4`?(0,jv.jsx)(Mv,{data:e}):null,e.kind===`tour`?(0,jv.jsx)(lie,{data:e}):null,e.kind===`process-flow`?(0,jv.jsx)(uie,{data:e}):null,e.kind===`task-plan`?(0,jv.jsx)(die,{data:e}):null,e.kind===`unknown`?(0,jv.jsx)(`div`,{className:`error`,children:e.error??`Unknown viewer kind: ${String(e.value.kind??`undefined`)}`}):null]})}(0,C.createRoot)(document.getElementById(`root`)).render((0,jv.jsx)(mie,{}));</script>
|
|
1546
|
-
<style rel="stylesheet" crossorigin>.react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:transparent;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;background-color:var(--xy-background-color,var(--xy-background-color-default));--xy-node-color-default:inherit;--xy-node-border-default:1px solid #1a192b;--xy-node-background-color-default:#fff;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--xy-node-boxshadow-selected-default:0 0 0 .5px #1a192b;--xy-node-border-radius-default:3px;--xy-handle-background-color-default:#1a192b;--xy-handle-border-color-default:#fff;--xy-selection-background-color-default:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--xy-controls-button-background-color-default:#fefefe;--xy-controls-button-background-color-hover-default:#f4f4f4;--xy-controls-button-color-default:inherit;--xy-controls-button-color-hover-default:inherit;--xy-controls-button-border-color-default:#eee;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#777;--xy-background-pattern-lines-color-default:#777;--xy-background-pattern-cross-color-default:#777;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--xy-node-boxshadow-selected-default:0 0 0 .5px #999;--xy-handle-background-color-default:#bebebe;--xy-handle-border-color-default:#1e1e1e;--xy-selection-background-color-default:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--xy-controls-button-background-color-default:#2b2b2b;--xy-controls-button-background-color-hover-default:#3e3e3e;--xy-controls-button-color-default:#f8f8f8;--xy-controls-button-color-hover-default:#fff;--xy-controls-button-border-color-default:#5b5b5b;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#141414;--xy-edge-label-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color,var(--xy-handle-border-color-default));border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px)translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px)translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__minimap{background:var(--xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default)))}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default)));stroke:var(--xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default)));stroke-width:var(--xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default)))}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default)));stroke:var(--xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default)));stroke-width:var(--xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default)))}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default)))}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default)))}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default)))}.react-flow__controls{box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)));width:26px;height:26px;color:var(--xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default)));cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));width:150px;color:var(--xy-node-color,var(--xy-node-color-default));text-align:center;border:var(--xy-node-border,var(--xy-node-border-default));background-color:var(--xy-node-background-color,var(--xy-node-background-color-default));padding:10px;font-size:12px}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover,var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected,var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color,var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var(--xy-controls-button-background-color-hover-props,var(--xy-controls-button-background-color-hover,var(--xy-controls-button-background-color-hover-default)));color:var(--xy-controls-button-color-hover-props,var(--xy-controls-button-color-hover,var(--xy-controls-button-color-hover-default)))}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)))}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;translate:-50% -50%}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color,var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}:root{--dt-bg-primary:#0d1117;--dt-bg-secondary:#161b22;--dt-bg-tertiary:#21262d;--dt-bg-canvas:#010409;--dt-text-primary:#f0f6fc;--dt-text-secondary:#9198a1;--dt-text-tertiary:#656d76;--dt-border-default:#30363d;--dt-border-muted:#21262d;--dt-border-subtle:#1f242d;--dt-accent-fg:#58a6ff;--dt-accent-emphasis:#1f6feb;--dt-accent-muted:#388bfd66;--dt-accent-subtle:#388bfd26;--dt-success-fg:#3fb950;--dt-success-emphasis:#238636;--dt-success-muted:#3fb95066;--dt-success-subtle:#3fb95026;--dt-danger-fg:#f85149;--dt-danger-emphasis:#da3633;--dt-danger-muted:#f8514966;--dt-danger-subtle:#f8514926;--dt-warning-fg:#d29922;--dt-warning-emphasis:#bb8009;--dt-warning-muted:#d2992266;--dt-warning-subtle:#d2992226;--dt-purple-fg:#bc8cff;--dt-purple-emphasis:#a371f7;--dt-purple-muted:#bc8cff66;--dt-purple-subtle:#bc8cff26;--dt-font-sans:"Segoe UI", system-ui, -apple-system, sans-serif;--dt-font-mono:"JetBrains Mono", "Fira Code", "SF Mono", Consolas, monospace;--dt-font-size-xs:.75rem;--dt-font-size-sm:.8125rem;--dt-font-size-base:.875rem;--dt-font-size-lg:1rem;--dt-font-size-xl:1.25rem;--dt-font-size-2xl:1.5rem;--dt-font-size-3xl:2rem;--dt-space-1:.25rem;--dt-space-2:.5rem;--dt-space-3:.75rem;--dt-space-4:1rem;--dt-space-5:1.25rem;--dt-space-6:1.5rem;--dt-space-8:2rem;--dt-space-12:3rem;--dt-space-16:4rem;--dt-radius-sm:6px;--dt-radius-md:8px;--dt-radius-lg:12px;--dt-radius-xl:16px;--dt-shadow-sm:0 1px 2px #01040959;--dt-shadow-md:0 3px 6px #01040966;--dt-shadow-lg:0 8px 24px #01040973;--dt-glow-accent:#388bfd24;--dt-glow-success:#3fb95024;--dt-glow-danger:#f8514924;--dt-glow-warning:#d2992224;--dt-glow-purple:#bc8cff24;--dt-transition-fast:.15s ease;--dt-transition-normal:.2s ease;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=light]{--dt-bg-primary:#fff;--dt-bg-secondary:#f6f8fa;--dt-bg-tertiary:#eaeef2;--dt-bg-canvas:#f0f0f0;--dt-text-primary:#1f2328;--dt-text-secondary:#656d76;--dt-text-tertiary:#8b949e;--dt-border-default:#d0d7de;--dt-border-muted:#d8dee4;--dt-border-subtle:#eaeef2;--dt-accent-fg:#0969da;--dt-accent-emphasis:#0550ae;--dt-accent-muted:#0969da66;--dt-accent-subtle:#0969da1a;--dt-success-fg:#1a7f37;--dt-success-emphasis:#116329;--dt-success-muted:#1a7f3766;--dt-success-subtle:#1a7f371a;--dt-danger-fg:#cf222e;--dt-danger-emphasis:#a40e26;--dt-danger-muted:#cf222e66;--dt-danger-subtle:#cf222e1a;--dt-warning-fg:#9a6700;--dt-warning-emphasis:#7d4e00;--dt-warning-muted:#9a670066;--dt-warning-subtle:#9a67001a;--dt-purple-fg:#8250df;--dt-purple-emphasis:#6639ba;--dt-purple-muted:#8250df66;--dt-purple-subtle:#8250df1a;--dt-shadow-sm:0 1px 2px #00000012;--dt-shadow-md:0 3px 6px #0000001a;--dt-shadow-lg:0 8px 24px #0000001f;--dt-glow-accent:#0969da14;--dt-glow-success:#1a7f3714;--dt-glow-danger:#cf222e14;--dt-glow-warning:#9a670014;--dt-glow-purple:#8250df14;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root{--background:var(--dt-bg-primary);--foreground:var(--dt-text-primary);--card:var(--dt-bg-secondary);--card-foreground:var(--dt-text-primary);--popover:var(--dt-bg-tertiary);--popover-foreground:var(--dt-text-primary);--sidebar:var(--dt-bg-secondary);--sidebar-foreground:var(--dt-text-secondary);--muted:var(--dt-bg-tertiary);--muted-foreground:var(--dt-text-secondary);--primary:var(--dt-accent-fg);--primary-foreground:var(--dt-bg-primary);--secondary:var(--dt-bg-tertiary);--secondary-foreground:var(--dt-text-primary);--accent:var(--dt-accent-subtle);--accent-foreground:var(--dt-accent-fg);--destructive:var(--dt-danger-fg);--destructive-foreground:#fff;--border:var(--dt-border-default);--input:var(--dt-border-muted);--ring:var(--dt-accent-fg);--surface-elevated:var(--dt-bg-secondary);--hairline-strong:var(--dt-border-default);--overlay-scrim:#0006;--eyebrow-foreground:var(--dt-text-tertiary);--subtle-foreground:var(--dt-text-tertiary);--inverse-foreground:var(--dt-bg-primary);--foreground-surface:var(--dt-bg-primary);--info-surface:var(--dt-accent-subtle);--info-overlay-bg:color-mix(in srgb, var(--dt-bg-primary), transparent 8%);--info-overlay-foreground:var(--dt-text-primary);--metric-up:var(--dt-success-subtle);--metric-down:var(--dt-danger-subtle);--warning-surface:var(--dt-warning-subtle);--color-success:var(--dt-success-fg);--color-success-light:var(--dt-success-fg);--color-warning:var(--dt-warning-fg);--color-warning-light:var(--dt-warning-fg);--color-error:var(--dt-danger-fg);--color-error-light:var(--dt-danger-fg);--color-info:var(--dt-accent-fg);--color-info-light:var(--dt-accent-fg);--font-sans:var(--dt-font-sans);--font-mono:var(--dt-font-mono);--space-1:var(--dt-space-1);--space-2:var(--dt-space-2);--space-3:var(--dt-space-3);--space-4:var(--dt-space-4);--space-5:1.25rem;--space-6:var(--dt-space-6);--space-8:var(--dt-space-8);--space-10:2.5rem;--space-12:var(--dt-space-12);--space-16:var(--dt-space-16);--space-20:5rem;--space-24:6rem;--radius-sm:var(--dt-radius-sm);--radius-md:var(--dt-radius-md);--radius-xl:var(--dt-radius-xl);--radius-pill:9999px;--radius:var(--dt-radius-md);--radius-lg:var(--dt-radius-lg);--shadow-sm:var(--dt-shadow-sm);--transition-fast:var(--dt-transition-fast);--transition-normal:var(--dt-transition-normal);--transition-slow:.3s ease;--c4-person:var(--dt-accent-fg);--c4-system:var(--dt-accent-fg);--c4-container:var(--dt-accent-fg);--c4-component:var(--dt-accent-muted);--c4-database:var(--dt-success-fg);--c4-queue:var(--dt-warning-fg);--c4-external:var(--dt-text-tertiary);--c4-boundary-border:var(--dt-border-default)}*,:before,:after{box-sizing:border-box;transition:color var(--transition-normal), background-color var(--transition-normal), border-color var(--transition-normal);margin:0;padding:0}html,body{height:100%}body{font-family:var(--font-sans);background:var(--background);color:var(--foreground);-webkit-font-smoothing:antialiased;line-height:1.5}.layout-full{grid-template-rows:auto 1fr auto;min-height:100vh;display:grid}.layout-sidebar-left{grid-template:"header header""sidebar main"1fr"footer footer"/280px 1fr;min-height:100vh;display:grid}.layout-sidebar-right{grid-template:"header header""main sidebar"1fr"footer footer"/1fr 280px;min-height:100vh;display:grid}@media (width<=768px){.layout-sidebar-left,.layout-sidebar-right{grid-template-columns:1fr}}.react-flow__controls{background:color-mix(in srgb, var(--card), transparent 6%);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.react-flow__controls-button{border:none;border-bottom:1px solid var(--border);color:var(--foreground);fill:var(--foreground);background:0 0}.react-flow__controls-button:hover{background:var(--accent)}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls-button svg{fill:currentColor}.aikit-header,.aikit-toolbox-menu,.aikit-footer{--aikit-background:var(--background,var(--dt-bg-primary));--aikit-foreground:var(--foreground,var(--dt-text-primary));--aikit-muted:var(--muted,var(--dt-bg-secondary));--aikit-muted-foreground:var(--muted-foreground,var(--dt-text-secondary));--aikit-border:var(--border,var(--dt-border-default));--aikit-accent:var(--accent,var(--dt-accent-subtle));--aikit-accent-foreground:var(--accent-foreground,var(--dt-accent-fg));--aikit-card:var(--card,var(--dt-bg-secondary));--aikit-card-foreground:var(--card-foreground,var(--dt-text-primary))}.aikit-header{z-index:100;justify-content:space-between;align-items:center;gap:var(--dt-space-4);min-height:3.5rem;padding:var(--dt-space-2) var(--dt-space-4);border-bottom:1px solid var(--aikit-border);background:color-mix(in srgb, var(--aikit-background) 88%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;position:sticky;top:0}.aikit-header-brand,.aikit-header-actions{flex:none;min-width:0}.aikit-header-brand{color:var(--aikit-muted-foreground);font-family:var(--dt-font-mono);font-size:var(--dt-font-size-sm);letter-spacing:.12em;text-transform:uppercase;align-items:center;font-weight:600;display:flex}.aikit-header-title{align-items:baseline;gap:var(--dt-space-2);flex:auto;justify-content:flex-start;min-width:0;min-height:0;display:flex}.aikit-header-title-text{min-width:0;color:var(--aikit-foreground);font-size:var(--dt-font-size-lg);white-space:nowrap;text-overflow:ellipsis;flex:auto;font-weight:600;line-height:1.2;overflow:hidden}.aikit-header-subtitle{min-width:0;color:var(--aikit-muted-foreground);font-size:var(--dt-font-size-sm);white-space:nowrap;text-overflow:ellipsis;flex:0 auto;line-height:1.2;overflow:hidden}.aikit-header-actions{justify-content:flex-end;align-items:center;gap:var(--dt-space-2);min-width:max-content;display:flex}.aikit-header-actions>*{flex:none}.aikit-toolbox{position:relative}.aikit-theme-toggle,.aikit-toolbox-toggle{border:1px solid var(--aikit-border);background:var(--aikit-card);width:2.5rem;height:2.5rem;color:var(--aikit-card-foreground);cursor:pointer;font:inherit;transition:background var(--dt-transition-fast), border-color var(--dt-transition-fast), color var(--dt-transition-fast), transform var(--dt-transition-fast);border-radius:999px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.aikit-theme-toggle:hover,.aikit-toolbox-toggle:hover{background:var(--aikit-muted)}.aikit-theme-toggle:focus-visible,.aikit-toolbox-toggle:focus-visible,.aikit-toolbox-item:focus-visible{outline:2px solid var(--aikit-accent-foreground);outline-offset:2px}.aikit-theme-toggle-icon{transition:opacity var(--dt-transition-normal), transform var(--dt-transition-normal);justify-content:center;align-items:center;display:inline-flex;position:absolute;inset:0}.aikit-theme-toggle-icon--sun{opacity:1;transform:scale(1)rotate(0)}.aikit-theme-toggle-icon--moon{opacity:0;transform:scale(.65)rotate(-40deg)}html[data-theme=dark] .aikit-theme-toggle-icon--sun{opacity:0;transform:scale(.65)rotate(40deg)}html[data-theme=dark] .aikit-theme-toggle-icon--moon{opacity:1;transform:scale(1)rotate(0)}.aikit-toolbox-menu{top:calc(100% + var(--dt-space-2));gap:var(--dt-space-1);min-width:11rem;padding:var(--dt-space-2);border:1px solid var(--aikit-border);border-radius:var(--dt-radius-lg);background:var(--aikit-background);box-shadow:var(--dt-shadow-lg);z-index:120;display:grid;position:absolute;right:0}.aikit-toolbox-menu[hidden]{display:none}.aikit-toolbox-item{align-items:center;gap:var(--dt-space-2);width:100%;min-height:2.5rem;padding:0 var(--dt-space-3);border-radius:var(--dt-radius-sm);color:var(--aikit-foreground);cursor:pointer;font:inherit;text-align:left;background:0 0;border:1px solid #0000;display:inline-flex}.aikit-toolbox-item:hover{background:var(--aikit-muted);border-color:var(--aikit-border)}.aikit-toolbox-item svg{flex:none}.aikit-footer{justify-content:space-between;align-items:center;gap:var(--dt-space-3);padding:var(--dt-space-4) var(--dt-space-4) var(--dt-space-6);border-top:1px solid var(--aikit-border);color:var(--aikit-muted-foreground);font-size:var(--dt-font-size-xs);flex-wrap:wrap;margin-top:auto;display:flex}.aikit-footer-meta{align-items:center;gap:var(--dt-space-3);flex-wrap:wrap;flex:14rem;min-width:0;display:flex}.aikit-footer-timestamp,.aikit-footer-slot{min-width:0}.aikit-footer-slot{align-items:center;gap:var(--dt-space-2);display:inline-flex}.aikit-footer-badge{min-height:1.75rem;padding:0 var(--dt-space-2);border:1px solid var(--aikit-border);background:var(--aikit-muted);color:var(--aikit-accent-foreground);font-family:var(--dt-font-mono);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.aikit-footer-legend-item{align-items:center;gap:6px;display:inline-flex}.aikit-footer-legend-swatch{border-radius:50%;width:10px;height:10px;display:inline-block}@supports not (background:color-mix(in srgb, white 50%, transparent)){.aikit-header{background:var(--aikit-background)}}@media (width<=640px){.aikit-header-brand{display:none}.aikit-header{gap:var(--dt-space-2);padding-left:var(--dt-space-3);padding-right:var(--dt-space-3)}.aikit-header-subtitle{display:none}.aikit-toolbox-menu{min-width:auto;max-width:calc(100vw - 2rem);left:auto;right:0}}@media (width<=400px){.aikit-header-actions{gap:var(--dt-space-1)}.aikit-footer{align-items:flex-start}.aikit-footer-meta{flex-basis:100%}.aikit-toolbox-menu{border-radius:.5rem .5rem 0 0;min-width:auto;max-width:100%;position:fixed;inset:auto 0 0;box-shadow:0 -4px 12px #00000026}}:root{--pf-node-start-end:var(--dt-process-start-end,#06b6d4);--pf-node-manual:var(--dt-process-manual,#10b981);--pf-node-automated:var(--dt-process-automated,#8b5cf6);--pf-node-integration:var(--dt-process-integration,#f59e0b);--pf-node-decision:var(--dt-process-decision,#f43f5e);--pf-node-prerequisite:var(--dt-process-prerequisite,#64748b);--pf-edge-standard:var(--dt-accent-fg);--pf-edge-loop-back:var(--dt-warning-fg);--pf-edge-exception:var(--dt-danger-fg)}.process-flow__canvas{height:100%;min-height:0;position:relative;overflow:hidden}.process-flow__toolbar{top:var(--space-4);right:var(--space-4);z-index:6;gap:var(--space-2);padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--card), transparent 10%);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;position:absolute}.process-flow__toolbar-button{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface-elevated);color:var(--foreground);cursor:pointer;font:inherit;padding:.45rem .85rem;font-size:.75rem;font-weight:600}.process-flow__toolbar-button:hover,.process-flow__toolbar-button:focus-visible{border-color:var(--primary);color:var(--primary);outline:none}.process-flow__canvas .react-flow__controls,.process-flow__canvas .react-flow__minimap{border:1px solid var(--border);border-radius:var(--radius-md);background:color-mix(in srgb, var(--card), transparent 6%);overflow:hidden}.process-flow__canvas .react-flow__controls-button{border-bottom:1px solid var(--border);color:var(--foreground);background:0 0}.process-flow__canvas .react-flow__controls-button:last-child{border-bottom:none}.process-flow-node{min-width:224px;min-height:112px;position:relative}.process-flow-node__handle{opacity:0;pointer-events:none}.process-flow-node__frame{width:100%;height:100%;position:relative}.process-flow-node__surface,.process-flow-node__content{border-radius:var(--radius-lg);position:relative}.process-flow-node__surface{border:1px solid var(--pf-node-color);background:color-mix(in srgb, var(--pf-node-color), var(--card) 86%);position:absolute;inset:0}.process-flow-node__content{color:var(--card-foreground);gap:.45rem;padding:1rem 1rem .95rem;display:grid}.process-flow-node__eyebrow{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--pf-node-color), transparent 82%);width:fit-content;color:var(--pf-node-color);font-family:var(--font-mono);letter-spacing:.02em;text-transform:uppercase;align-items:center;gap:.4rem;padding:.2rem .55rem;font-size:.68rem;display:inline-flex}.process-flow-node__icon{font-size:.8rem;line-height:1}.process-flow-node__label{font-size:.95rem;font-weight:600;line-height:1.25}.process-flow-node__description{color:var(--muted-foreground);font-size:.8rem;line-height:1.45}.process-flow-node__metadata{gap:.35rem;display:grid}.process-flow-node__metadata-row{color:var(--muted-foreground);font-family:var(--font-mono);grid-template-columns:auto 1fr;align-items:baseline;gap:.3rem;font-size:.72rem;display:grid}.process-flow-node__metadata-row dt{text-transform:uppercase}.process-flow-node__metadata-row dd{color:var(--foreground);overflow-wrap:anywhere}.process-flow-node--start-end{--pf-node-color:var(--pf-node-start-end);min-width:236px;min-height:84px}.process-flow-node--start-end .process-flow-node__surface,.process-flow-node--start-end .process-flow-node__content{border-radius:var(--radius-pill)}.process-flow-node--manual{--pf-node-color:var(--pf-node-manual)}.process-flow-node--automated{--pf-node-color:var(--pf-node-automated)}.process-flow-node--integration{--pf-node-color:var(--pf-node-integration)}.process-flow-node--prerequisite{--pf-node-color:var(--pf-node-prerequisite)}.process-flow-node--prerequisite .process-flow-node__surface{background:color-mix(in srgb, var(--pf-node-prerequisite), var(--card) 92%);border-style:dashed;border-width:1.5px}.process-flow-node--decision{--pf-node-color:var(--pf-node-decision);min-width:176px;min-height:176px}.process-flow-node--decision .process-flow-node__surface{transform-origin:50%;border-radius:22px;inset:22px;transform:rotate(45deg)}.process-flow-node--decision .process-flow-node__content{text-align:center;align-content:center;justify-items:center;min-height:176px;padding:2.2rem 2.1rem}.process-flow-node--decision .process-flow-node__eyebrow{justify-self:center}.process-flow-node__decision-shadow{display:none}.process-flow-edge__label{pointer-events:none;border:1px solid var(--border);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--card), transparent 4%);color:var(--foreground);font-family:var(--font-mono);white-space:nowrap;padding:.33rem .55rem;font-size:.72rem;line-height:1;position:absolute}.process-flow-edge__label--loop-back{color:var(--pf-edge-loop-back)}.process-flow-edge__label--exception{color:var(--pf-edge-exception)}@media (width<=768px){.process-flow__toolbar{top:auto;right:var(--space-3);bottom:var(--space-3);left:var(--space-3);flex-wrap:wrap;justify-content:flex-end}}:root{--tp-agent-researcher:#818cf8;--tp-agent-implementer:#34d399;--tp-agent-frontend:#f472b6;--tp-agent-reviewer:#fbbf24;--tp-agent-debugger:#f87171;--tp-agent-security:#fb923c;--tp-agent-explorer:#38bdf8;--tp-agent-documenter:#c084fc;--tp-agent-refactor:#2dd4bf;--tp-agent-planner:#c084fc;--tp-agent-orchestrator:#94a3b8;--tp-status-pending:#64748b;--tp-status-in-progress:#3b82f6;--tp-status-done:#22c55e;--tp-status-blocked:#ef4444;--tp-surface:color-mix(in srgb, var(--surface-elevated), var(--background) 22%);--tp-surface-elevated:color-mix(in srgb, var(--surface-elevated), white 4%);--tp-border:color-mix(in srgb, var(--border), transparent 8%);--tp-border-muted:color-mix(in srgb, var(--border), transparent 30%);--tp-text-muted:var(--muted-foreground);--tp-text-dim:color-mix(in srgb, var(--muted-foreground), transparent 22%);--tp-shadow:0 20px 50px color-mix(in srgb, var(--background), transparent 55%)}:root[data-theme=light]{--tp-surface:color-mix(in srgb, white 90%, var(--card));--tp-surface-elevated:color-mix(in srgb, white 82%, var(--surface-elevated));--tp-border-muted:color-mix(in srgb, var(--border), transparent 18%);--tp-shadow:0 16px 40px #94a3b82e}.task-plan__shell{padding:var(--space-6);position:relative}.task-plan__surface{gap:var(--space-6);border:1px solid var(--tp-border);border-radius:calc(var(--radius-xl) + 4px);background:radial-gradient(circle at top left, color-mix(in srgb, var(--tp-agent-researcher), transparent 88%), transparent 32%), radial-gradient(circle at bottom right, color-mix(in srgb, var(--tp-agent-refactor), transparent 90%), transparent 28%), linear-gradient(180deg, color-mix(in srgb, var(--tp-surface), transparent 2%), color-mix(in srgb, var(--background), transparent 8%));min-height:calc(100vh - 13rem);box-shadow:var(--tp-shadow);flex-direction:column;padding:clamp(1rem,2vw,1.75rem);display:flex}.task-plan__toolbar-button:hover,.task-plan__toolbar-button:focus-visible{color:var(--primary);border-color:color-mix(in srgb, var(--primary), var(--tp-border) 30%);background:color-mix(in srgb, var(--tp-surface-elevated), var(--primary) 8%);outline:none;transform:translateY(-1px)}.task-plan__pipeline{flex-direction:column;gap:0;display:flex}.task-plan__phase-block,.task-plan-phase{flex-direction:column;display:flex}.task-plan-phase__content{border:1px solid var(--tp-border);border-radius:var(--radius-xl);background:color-mix(in srgb, var(--tp-surface), transparent 2%);flex-direction:column;gap:1rem;padding:1.4rem 1.6rem;display:flex}.task-plan-phase__header{align-items:center;gap:.75rem;display:flex}.task-plan-phase__number{border:1.5px solid var(--tp-border);background:var(--tp-surface-elevated);width:1.8rem;height:1.8rem;color:var(--tp-text-muted);font-family:var(--font-mono);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;font-size:.72rem;font-weight:700;display:inline-flex}.task-plan-phase__label{color:var(--foreground);flex:1;font-size:.95rem;font-weight:700;line-height:1.2}.task-plan-phase__badge{white-space:nowrap;border:1px solid var(--tp-border-muted);border-radius:var(--radius-pill);background:var(--tp-surface-elevated);color:var(--tp-text-dim);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;padding:.22rem .62rem;font-size:.64rem}.task-plan-phase__outcome{border-bottom:1px solid var(--tp-border-muted);color:var(--tp-text-muted);padding-bottom:.75rem;font-size:.8rem;line-height:1.5}.task-plan-phase__batches{flex-direction:column;gap:.75rem;display:flex}.task-plan-batch{flex-direction:column;gap:.55rem;display:flex}.task-plan-batch+.task-plan-batch{border-top:1px dashed var(--tp-border-muted);margin-top:.15rem;padding-top:.85rem}.task-plan-batch__label{color:var(--tp-text-dim);font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;align-items:center;gap:.42rem;font-size:.67rem;display:flex}.task-plan-batch__icon{opacity:.75;font-size:.9rem}.task-plan-batch__tasks{grid-template-columns:1fr;gap:.55rem;display:grid}.task-plan-batch__tasks--parallel{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.task-plan-task{border:1px solid var(--tp-border);border-radius:var(--radius-md);background:color-mix(in srgb, var(--tp-surface-elevated), transparent 2%);flex-direction:column;gap:.45rem;padding:.9rem .95rem .95rem 1.15rem;transition:border-color .15s,transform .15s,box-shadow .15s;display:flex;position:relative;overflow:hidden}.task-plan-task:before{content:"";background:var(--card-accent);border-radius:3px 0 0 3px;width:3px;position:absolute;top:0;bottom:0;left:0}.task-plan-task:hover{border-color:color-mix(in srgb, var(--card-accent), white 20%);box-shadow:0 10px 24px color-mix(in srgb, var(--background), transparent 72%);transform:translateY(-1px)}.task-plan-task__agent-icon{background:color-mix(in srgb, var(--card-accent), transparent 82%);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:1.1rem;height:1.1rem;font-size:.6rem;display:inline-flex}.task-plan-task__status{color:var(--status-color,var(--tp-status-pending));font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;flex-shrink:0;align-items:center;gap:.28rem;font-size:.61rem;display:inline-flex}.task-plan-task__status-dot{background:currentColor;border-radius:999px;width:6px;height:6px}.task-plan-task__description{color:var(--tp-text-muted);font-size:.78rem;line-height:1.48}.task-plan-task__meta{flex-wrap:wrap;gap:.35rem;margin-top:auto;display:flex}.task-plan-task__chip{border:1px solid var(--tp-border-muted);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--background), var(--tp-surface) 12%);max-width:100%;color:var(--tp-text-dim);font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:.25rem;padding:.14rem .42rem;font-size:.62rem;display:inline-flex;overflow:hidden}.task-plan__connector{justify-content:center;align-items:center;height:2.6rem;display:flex;position:relative}.task-plan__connector:before{content:"";background:repeating-linear-gradient(180deg, var(--tp-border) 0, var(--tp-border) 4px, transparent 4px, transparent 8px);width:2px;position:absolute;top:0;bottom:8px;left:50%;transform:translate(-50%)}.task-plan__connector:after{content:"";border-left:5px solid #0000;border-right:5px solid #0000;border-top:7px solid var(--tp-border);width:0;height:0;position:absolute;bottom:2px;left:50%;transform:translate(-50%)}.task-plan__summary{border:1px solid var(--tp-border);border-radius:var(--radius-xl);background:color-mix(in srgb, var(--tp-surface), transparent 1%);flex-wrap:wrap;gap:1.4rem;padding:1.15rem 1.4rem;display:flex}.task-plan-summary__stat{flex-direction:column;gap:.08rem;display:flex}.task-plan-summary__value{color:var(--foreground);font-size:1.45rem;font-weight:700;line-height:1.05}.task-plan-summary__label{color:var(--tp-text-dim);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;font-size:.64rem}.task-plan__legend{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.task-plan__legend-title{color:var(--tp-text-dim);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;font-size:.68rem}.task-plan__legend-item{color:var(--tp-text-muted);align-items:center;gap:.38rem;font-size:.74rem;display:inline-flex}.task-plan__legend-dot{border-radius:999px;flex-shrink:0;width:8px;height:8px}.task-plan__legend-icon{margin-right:.25rem}.task-plan__empty{border:1px dashed var(--tp-border);border-radius:var(--radius-xl);min-height:18rem;color:var(--tp-text-muted);text-align:center;place-items:center;gap:.45rem;padding:2rem;display:grid}.task-plan__export-error{bottom:var(--space-4);z-index:2;border:1px solid color-mix(in srgb, var(--destructive), transparent 18%);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--destructive), var(--card) 88%);color:var(--foreground);padding:.45rem .8rem;font-size:.75rem;position:absolute;left:50%;transform:translate(-50%)}@keyframes task-plan-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--tp-status-in-progress), transparent 65%);opacity:1}70%{box-shadow:0 0 0 8px color-mix(in srgb, var(--tp-status-in-progress), transparent 100%);opacity:.75}to{box-shadow:0 0 0 0 color-mix(in srgb, var(--tp-status-in-progress), transparent 100%);opacity:1}}@media (width<=900px){.task-plan__shell{padding:var(--space-4)}.task-plan__toolbar{width:fit-content;margin-bottom:var(--space-3);margin-left:auto;position:static}}@media (width<=768px){.task-plan-phase__header,.task-plan-task__topline{flex-direction:column;align-items:flex-start}.task-plan-phase__badge,.task-plan-task__status{white-space:normal}.task-plan__summary{gap:1rem}}@media (prefers-reduced-motion:reduce){.task-plan-task,.task-plan__toolbar-button,.task-plan-task__status-dot{transition:none;animation:none!important}}:root{--tp-agent-researcher:#6366f1;--tp-agent-implementer:#10b981;--tp-agent-frontend:#ec4899;--tp-agent-reviewer:#f59e0b;--tp-agent-debugger:#ef4444;--tp-agent-security:#f97316;--tp-agent-explorer:#06b6d4;--tp-agent-documenter:#8b5cf6;--tp-agent-refactor:#14b8a6;--tp-agent-planner:#a855f7;--tp-agent-orchestrator:#64748b;--tp-status-pending:#94a3b8;--tp-status-in-progress:#3b82f6;--tp-status-done:#22c55e;--tp-status-blocked:#ef4444;--tp-edge-dependency:color-mix(in srgb, var(--foreground), transparent 38%);--tp-edge-phase-boundary:color-mix(in srgb, var(--border), transparent 16%);--tp-phase-border:color-mix(in srgb, var(--border), var(--primary) 18%);--tp-phase-fill:color-mix(in srgb, var(--surface-elevated), transparent 8%);--tp-phase-muted:color-mix(in srgb, var(--muted-foreground), transparent 18%);--tp-card-fill:color-mix(in srgb, var(--card), transparent 3%);--tp-card-border:color-mix(in srgb, var(--border), transparent 10%)}:root[data-theme=light]{--tp-edge-dependency:color-mix(in srgb, var(--foreground), transparent 48%);--tp-edge-phase-boundary:color-mix(in srgb, var(--border), transparent 4%);--tp-phase-fill:color-mix(in srgb, var(--card), white 18%);--tp-card-fill:color-mix(in srgb, white, var(--card) 72%)}.task-plan__canvas{height:100%;min-height:0;position:relative;overflow:hidden}.task-plan__toolbar{top:var(--space-4);right:var(--space-4);z-index:6;gap:var(--space-2);padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--card), transparent 10%);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;position:absolute}.task-plan__toolbar-button{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface-elevated);color:var(--foreground);cursor:pointer;font:inherit;padding:.45rem .85rem;font-size:.75rem;font-weight:600;transition:border-color .18s,color .18s,transform .18s}.task-plan__toolbar-button:hover,.task-plan__toolbar-button:focus-visible{border-color:var(--primary);color:var(--primary);outline:none;transform:translateY(-1px)}.task-plan__canvas .react-flow__controls,.task-plan__canvas .react-flow__minimap{border:1px solid var(--border);border-radius:var(--radius-md);background:color-mix(in srgb, var(--card), transparent 6%);overflow:hidden}.task-plan__canvas .react-flow__controls-button{border-bottom:1px solid var(--border);color:var(--foreground);background:0 0}.task-plan__canvas .react-flow__controls-button:last-child{border-bottom:none}.task-plan__empty{z-index:4;border:1px dashed var(--border);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--card), transparent 8%);min-width:280px;color:var(--muted-foreground);text-align:center;gap:.4rem;padding:1rem 1.2rem;display:grid;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.task-plan__empty strong{color:var(--foreground);font-size:.95rem}.task-plan-phase{width:100%;height:100%;position:relative}.task-plan-phase__surface{border:1px solid var(--tp-phase-border);border-radius:calc(var(--radius-xl) + 2px);background:var(--tp-phase-fill);position:absolute;inset:0}.task-plan-phase[data-terminal=false]:after{content:"";border-right:1px dashed var(--tp-edge-phase-boundary);position:absolute;top:1.75rem;bottom:1.75rem;right:1rem}.task-plan-phase__content{align-content:start;gap:.5rem;padding:1.2rem 1.2rem 1rem;display:grid;position:relative}.task-plan-phase__header{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.task-plan-phase__label{color:var(--foreground);font-size:1rem;font-weight:600;line-height:1.2}.task-plan-phase__counts{color:var(--tp-phase-muted);font-family:var(--font-mono);letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;font-size:.72rem}.task-plan-phase__outcome{max-width:30ch;color:var(--muted-foreground);font-size:.8rem;line-height:1.45}.task-plan-node__handle{opacity:0;pointer-events:none}.task-plan-task{width:100%;height:100%;transition:transform .18s,filter .18s;position:relative}.task-plan-task__frame{border:1px solid color-mix(in srgb, var(--tp-agent-color), var(--tp-card-border) 62%);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--tp-agent-color), var(--tp-card-fill) 92%);width:100%;height:100%;color:var(--card-foreground);gap:.75rem;padding:1rem 1rem .95rem;transition:border-color .18s,box-shadow .18s,transform .18s;display:grid}.task-plan-task:hover{transform:translateY(-2px)}.task-plan-task:hover .task-plan-task__frame{border-color:color-mix(in srgb, var(--tp-agent-color), white 10%);box-shadow:0 0 0 1px color-mix(in srgb, var(--tp-agent-color), transparent 72%)}.task-plan-task__topline{justify-content:space-between;align-items:center;gap:.8rem;display:flex}.task-plan-task__agent{min-width:0;color:var(--tp-agent-color);font-family:var(--font-mono);letter-spacing:.02em;text-transform:uppercase;align-items:center;gap:.45rem;font-size:.71rem;font-weight:600;display:inline-flex}.task-plan-task__agent-icon{background:color-mix(in srgb, var(--tp-agent-color), transparent 84%);border-radius:999px;justify-content:center;align-items:center;width:1.15rem;height:1.15rem;font-size:.72rem;display:inline-flex}.task-plan-task__agent-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.task-plan-task__status{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--card), transparent 10%);color:var(--foreground);font-family:var(--font-mono);letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;align-items:center;gap:.35rem;padding:.24rem .55rem;font-size:.67rem;display:inline-flex}.task-plan-task__status[data-status=pending]{color:var(--tp-status-pending)}.task-plan-task__status[data-status=in-progress]{color:var(--tp-status-in-progress)}.task-plan-task__status[data-status=done]{color:var(--tp-status-done)}.task-plan-task__status[data-status=blocked]{color:var(--tp-status-blocked)}.task-plan-task__status-dot{background:currentColor;border-radius:999px;flex:none;width:.5rem;height:.5rem}.task-plan-task__status[data-status=in-progress] .task-plan-task__status-dot{animation:1.8s ease-in-out infinite task-plan-pulse}.task-plan-task__title{color:var(--foreground);font-size:.96rem;font-weight:700;line-height:1.28}.task-plan-task__meta{flex-wrap:wrap;gap:.42rem;display:flex}.task-plan-task__chip{border:1px solid color-mix(in srgb, var(--border), transparent 10%);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--card), transparent 8%);color:var(--muted-foreground);font-family:var(--font-mono);align-items:center;gap:.25rem;padding:.24rem .5rem;font-size:.7rem;display:inline-flex}.task-plan-task__description{color:var(--muted-foreground);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.81rem;line-height:1.48;display:-webkit-box;overflow:hidden}.task-plan-edge__label{pointer-events:none;border:1px solid var(--border);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--card), transparent 4%);color:var(--foreground);font-family:var(--font-mono);white-space:nowrap;padding:.33rem .55rem;font-size:.72rem;line-height:1;position:absolute}.task-plan-edge__label--phase-boundary{color:var(--tp-edge-phase-boundary)}@media (width<=768px){.task-plan__toolbar{top:auto;right:var(--space-3);bottom:var(--space-3);left:var(--space-3);flex-wrap:wrap;justify-content:flex-end}.task-plan-phase__header,.task-plan-task__topline{flex-direction:column;align-items:flex-start}.task-plan-phase__counts{white-space:normal}}
|
|
1546
|
+
<style rel="stylesheet" crossorigin>.react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:transparent;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;background-color:var(--xy-background-color,var(--xy-background-color-default));--xy-node-color-default:inherit;--xy-node-border-default:1px solid #1a192b;--xy-node-background-color-default:#fff;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--xy-node-boxshadow-selected-default:0 0 0 .5px #1a192b;--xy-node-border-radius-default:3px;--xy-handle-background-color-default:#1a192b;--xy-handle-border-color-default:#fff;--xy-selection-background-color-default:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--xy-controls-button-background-color-default:#fefefe;--xy-controls-button-background-color-hover-default:#f4f4f4;--xy-controls-button-color-default:inherit;--xy-controls-button-color-hover-default:inherit;--xy-controls-button-border-color-default:#eee;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#777;--xy-background-pattern-lines-color-default:#777;--xy-background-pattern-cross-color-default:#777;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--xy-node-boxshadow-selected-default:0 0 0 .5px #999;--xy-handle-background-color-default:#bebebe;--xy-handle-border-color-default:#1e1e1e;--xy-selection-background-color-default:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--xy-controls-button-background-color-default:#2b2b2b;--xy-controls-button-background-color-hover-default:#3e3e3e;--xy-controls-button-color-default:#f8f8f8;--xy-controls-button-color-hover-default:#fff;--xy-controls-button-border-color-default:#5b5b5b;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#141414;--xy-edge-label-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color,var(--xy-handle-border-color-default));border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px)translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px)translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__minimap{background:var(--xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default)))}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default)));stroke:var(--xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default)));stroke-width:var(--xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default)))}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default)));stroke:var(--xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default)));stroke-width:var(--xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default)))}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default)))}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default)))}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default)))}.react-flow__controls{box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)));width:26px;height:26px;color:var(--xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default)));cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));width:150px;color:var(--xy-node-color,var(--xy-node-color-default));text-align:center;border:var(--xy-node-border,var(--xy-node-border-default));background-color:var(--xy-node-background-color,var(--xy-node-background-color-default));padding:10px;font-size:12px}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover,var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected,var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color,var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var(--xy-controls-button-background-color-hover-props,var(--xy-controls-button-background-color-hover,var(--xy-controls-button-background-color-hover-default)));color:var(--xy-controls-button-color-hover-props,var(--xy-controls-button-color-hover,var(--xy-controls-button-color-hover-default)))}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)))}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;translate:-50% -50%}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color,var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}:root{--dt-bg-primary:#0c0c0c;--dt-bg-secondary:#161616;--dt-bg-tertiary:#232323;--dt-bg-canvas:#0c0c0c;--dt-text-primary:#fff;--dt-text-secondary:#a0a4ab;--dt-text-tertiary:#6b7280;--dt-border-default:#24282d;--dt-border-muted:#2a2f35;--dt-border-subtle:#1a1d20;--dt-accent-fg:#5db8a6;--dt-accent-emphasis:#5db8a6;--dt-accent-muted:#5db8a666;--dt-accent-subtle:#5db8a626;--dt-success-fg:#10b981;--dt-success-emphasis:#10b981;--dt-success-muted:#10b98166;--dt-success-subtle:#10b98126;--dt-danger-fg:#ef4444;--dt-danger-emphasis:#ef4444;--dt-danger-muted:#ef444466;--dt-danger-subtle:#ef444426;--dt-warning-fg:#f59e0b;--dt-warning-emphasis:#f59e0b;--dt-warning-muted:#f59e0b66;--dt-warning-subtle:#f59e0b26;--dt-info-fg:#60a5fa;--dt-info-emphasis:#3b82f6;--dt-info-muted:#60a5fa66;--dt-info-subtle:#60a5fa26;--dt-purple-fg:#bc8cff;--dt-purple-emphasis:#a371f7;--dt-purple-muted:#bc8cff66;--dt-purple-subtle:#bc8cff26;--dt-font-sans:Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--dt-font-mono:"JetBrains Mono", "Geist Mono", "Fira Code", "SF Mono", Consolas, monospace;--dt-font-size-xs:.75rem;--dt-font-size-sm:.8125rem;--dt-font-size-base:.875rem;--dt-font-size-lg:1rem;--dt-font-size-xl:1.25rem;--dt-font-size-2xl:1.5rem;--dt-font-size-3xl:2rem;--dt-space-1:.25rem;--dt-space-2:.5rem;--dt-space-3:.75rem;--dt-space-4:1rem;--dt-space-5:1.25rem;--dt-space-6:1.5rem;--dt-space-8:2rem;--dt-space-12:3rem;--dt-space-16:4rem;--dt-radius-sm:6px;--dt-radius-md:8px;--dt-radius-lg:12px;--dt-radius-xl:16px;--dt-shadow-sm:0 1px 2px #00000059;--dt-shadow-md:0 3px 6px #0006;--dt-shadow-lg:0 8px 24px #00000073;--dt-glow-accent:#5db8a624;--dt-glow-success:#10b98124;--dt-glow-danger:#ef444424;--dt-glow-warning:#f59e0b24;--dt-glow-purple:#bc8cff24;--dt-transition-fast:.15s ease;--dt-transition-normal:.2s ease;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=light]{--dt-bg-primary:#f8f9fa;--dt-bg-secondary:#f1f3f5;--dt-bg-tertiary:#fff;--dt-bg-canvas:#f8f9fa;--dt-text-primary:#111;--dt-text-secondary:#4b5563;--dt-text-tertiary:#9ca3af;--dt-border-default:#e5e7eb;--dt-border-muted:#d7dce2;--dt-border-subtle:#eef2f5;--dt-accent-fg:#147d74;--dt-accent-emphasis:#147d74;--dt-accent-muted:#147d744d;--dt-accent-subtle:#147d741a;--dt-success-fg:#10b981;--dt-success-emphasis:#059669;--dt-success-muted:#10b9814d;--dt-success-subtle:#10b9811a;--dt-danger-fg:#ef4444;--dt-danger-emphasis:#dc2626;--dt-danger-muted:#ef44444d;--dt-danger-subtle:#ef44441a;--dt-warning-fg:#f59e0b;--dt-warning-emphasis:#d97706;--dt-warning-muted:#f59e0b4d;--dt-warning-subtle:#f59e0b1a;--dt-info-fg:#3b82f6;--dt-info-emphasis:#2563eb;--dt-info-muted:#3b82f64d;--dt-info-subtle:#3b82f61a;--dt-purple-fg:#8250df;--dt-purple-emphasis:#6639ba;--dt-purple-muted:#8250df4d;--dt-purple-subtle:#8250df1a;--dt-shadow-sm:0 1px 2px #00000012;--dt-shadow-md:0 3px 6px #0000001a;--dt-shadow-lg:0 8px 24px #0000001f;--dt-glow-accent:#147d7414;--dt-glow-success:#10b98114;--dt-glow-danger:#ef444414;--dt-glow-warning:#f59e0b14;--dt-glow-purple:#8250df14;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root{--background:var(--dt-bg-primary);--foreground:var(--dt-text-primary);--card:var(--dt-bg-secondary);--card-foreground:var(--dt-text-primary);--popover:var(--dt-bg-tertiary);--popover-foreground:var(--dt-text-primary);--sidebar:var(--dt-bg-secondary);--sidebar-foreground:var(--dt-text-secondary);--muted:var(--dt-bg-tertiary);--muted-foreground:var(--dt-text-secondary);--primary:var(--dt-accent-fg);--primary-foreground:var(--dt-bg-primary);--secondary:var(--dt-bg-tertiary);--secondary-foreground:var(--dt-text-primary);--accent:var(--dt-accent-subtle);--accent-foreground:var(--dt-accent-fg);--destructive:var(--dt-danger-fg);--destructive-foreground:#fff;--border:var(--dt-border-default);--input:var(--dt-border-muted);--ring:var(--dt-accent-fg);--surface-elevated:var(--dt-bg-secondary);--hairline-strong:var(--dt-border-default);--overlay-scrim:#0006;--eyebrow-foreground:var(--dt-text-tertiary);--subtle-foreground:var(--dt-text-tertiary);--inverse-foreground:var(--dt-bg-primary);--foreground-surface:var(--dt-bg-primary);--info-surface:var(--dt-accent-subtle);--info-overlay-bg:color-mix(in srgb, var(--dt-bg-primary), transparent 8%);--info-overlay-foreground:var(--dt-text-primary);--metric-up:var(--dt-success-subtle);--metric-down:var(--dt-danger-subtle);--warning-surface:var(--dt-warning-subtle);--color-success:var(--dt-success-fg);--color-success-light:var(--dt-success-fg);--color-warning:var(--dt-warning-fg);--color-warning-light:var(--dt-warning-fg);--color-error:var(--dt-danger-fg);--color-error-light:var(--dt-danger-fg);--color-info:var(--dt-accent-fg);--color-info-light:var(--dt-accent-fg);--font-sans:var(--dt-font-sans);--font-mono:var(--dt-font-mono);--space-1:var(--dt-space-1);--space-2:var(--dt-space-2);--space-3:var(--dt-space-3);--space-4:var(--dt-space-4);--space-5:1.25rem;--space-6:var(--dt-space-6);--space-8:var(--dt-space-8);--space-10:2.5rem;--space-12:var(--dt-space-12);--space-16:var(--dt-space-16);--space-20:5rem;--space-24:6rem;--radius-sm:var(--dt-radius-sm);--radius-md:var(--dt-radius-md);--radius-xl:var(--dt-radius-xl);--radius-pill:9999px;--radius:var(--dt-radius-md);--radius-lg:var(--dt-radius-lg);--shadow-sm:var(--dt-shadow-sm);--transition-fast:var(--dt-transition-fast);--transition-normal:var(--dt-transition-normal);--transition-slow:.3s ease;--c4-person:var(--dt-accent-fg);--c4-system:var(--dt-accent-fg);--c4-container:var(--dt-accent-fg);--c4-component:var(--dt-accent-muted);--c4-database:var(--dt-success-fg);--c4-queue:var(--dt-warning-fg);--c4-external:var(--dt-text-tertiary);--c4-boundary-border:var(--dt-border-default)}*,:before,:after{box-sizing:border-box;transition:color var(--transition-normal), background-color var(--transition-normal), border-color var(--transition-normal);margin:0;padding:0}html,body{height:100%}body{font-family:var(--font-sans);background:var(--background);color:var(--foreground);-webkit-font-smoothing:antialiased;line-height:1.5}.layout-full{grid-template-rows:auto 1fr auto;min-height:100vh;display:grid}.layout-sidebar-left{grid-template:"header header""sidebar main"1fr"footer footer"/280px 1fr;min-height:100vh;display:grid}.layout-sidebar-right{grid-template:"header header""main sidebar"1fr"footer footer"/1fr 280px;min-height:100vh;display:grid}@media (width<=768px){.layout-sidebar-left,.layout-sidebar-right{grid-template-columns:1fr}}.react-flow__controls{background:color-mix(in srgb, var(--card), transparent 6%);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.react-flow__controls-button{border:none;border-bottom:1px solid var(--border);color:var(--foreground);fill:var(--foreground);background:0 0}.react-flow__controls-button:hover{background:var(--accent)}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls-button svg{fill:currentColor}.aikit-header,.aikit-toolbox-menu,.aikit-footer{--aikit-background:var(--background,var(--dt-bg-primary));--aikit-foreground:var(--foreground,var(--dt-text-primary));--aikit-muted:var(--muted,var(--dt-bg-secondary));--aikit-muted-foreground:var(--muted-foreground,var(--dt-text-secondary));--aikit-border:var(--border,var(--dt-border-default));--aikit-accent:var(--accent,var(--dt-accent-subtle));--aikit-accent-foreground:var(--accent-foreground,var(--dt-accent-fg));--aikit-card:var(--card,var(--dt-bg-secondary));--aikit-card-foreground:var(--card-foreground,var(--dt-text-primary))}.aikit-header{z-index:100;justify-content:space-between;align-items:center;gap:var(--dt-space-4);min-height:3.5rem;padding:var(--dt-space-2) var(--dt-space-4);border-bottom:1px solid var(--aikit-border);background:color-mix(in srgb, var(--aikit-background) 88%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;position:sticky;top:0}.aikit-header-brand,.aikit-header-actions{flex:none;min-width:0}.aikit-header-brand{color:var(--aikit-muted-foreground);font-family:var(--dt-font-mono);font-size:var(--dt-font-size-sm);letter-spacing:.12em;text-transform:uppercase;align-items:center;font-weight:600;display:flex}.aikit-header-title{align-items:baseline;gap:var(--dt-space-2);flex:auto;justify-content:flex-start;min-width:0;min-height:0;display:flex}.aikit-header-title-text{min-width:0;color:var(--aikit-foreground);font-size:var(--dt-font-size-lg);white-space:nowrap;text-overflow:ellipsis;flex:auto;font-weight:600;line-height:1.2;overflow:hidden}.aikit-header-subtitle{min-width:0;color:var(--aikit-muted-foreground);font-size:var(--dt-font-size-sm);white-space:nowrap;text-overflow:ellipsis;flex:0 auto;line-height:1.2;overflow:hidden}.aikit-header-actions{justify-content:flex-end;align-items:center;gap:var(--dt-space-2);min-width:max-content;display:flex}.aikit-header-actions>*{flex:none}.aikit-toolbox{position:relative}.aikit-theme-toggle,.aikit-toolbox-toggle{border:1px solid var(--aikit-border);background:var(--aikit-card);width:2.5rem;height:2.5rem;color:var(--aikit-card-foreground);cursor:pointer;font:inherit;transition:background var(--dt-transition-fast), border-color var(--dt-transition-fast), color var(--dt-transition-fast), transform var(--dt-transition-fast);border-radius:999px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.aikit-theme-toggle:hover,.aikit-toolbox-toggle:hover{background:var(--aikit-muted)}.aikit-theme-toggle:focus-visible,.aikit-toolbox-toggle:focus-visible,.aikit-toolbox-item:focus-visible{outline:2px solid var(--aikit-accent-foreground);outline-offset:2px}.aikit-theme-toggle-icon{transition:opacity var(--dt-transition-normal), transform var(--dt-transition-normal);justify-content:center;align-items:center;display:inline-flex;position:absolute;inset:0}.aikit-theme-toggle-icon--sun{opacity:1;transform:scale(1)rotate(0)}.aikit-theme-toggle-icon--moon{opacity:0;transform:scale(.65)rotate(-40deg)}html[data-theme=dark] .aikit-theme-toggle-icon--sun{opacity:0;transform:scale(.65)rotate(40deg)}html[data-theme=dark] .aikit-theme-toggle-icon--moon{opacity:1;transform:scale(1)rotate(0)}.aikit-toolbox-menu{top:calc(100% + var(--dt-space-2));gap:var(--dt-space-1);min-width:11rem;padding:var(--dt-space-2);border:1px solid var(--aikit-border);border-radius:var(--dt-radius-lg);background:var(--aikit-background);box-shadow:var(--dt-shadow-lg);z-index:120;display:grid;position:absolute;right:0}.aikit-toolbox-menu[hidden]{display:none}.aikit-toolbox-item{align-items:center;gap:var(--dt-space-2);width:100%;min-height:2.5rem;padding:0 var(--dt-space-3);border-radius:var(--dt-radius-sm);color:var(--aikit-foreground);cursor:pointer;font:inherit;text-align:left;background:0 0;border:1px solid #0000;display:inline-flex}.aikit-toolbox-item:hover{background:var(--aikit-muted);border-color:var(--aikit-border)}.aikit-toolbox-item svg{flex:none}.aikit-footer{justify-content:space-between;align-items:center;gap:var(--dt-space-3);padding:var(--dt-space-4) var(--dt-space-4) var(--dt-space-6);border-top:1px solid var(--aikit-border);color:var(--aikit-muted-foreground);font-size:var(--dt-font-size-xs);flex-wrap:wrap;margin-top:auto;display:flex}.aikit-footer-meta{align-items:center;gap:var(--dt-space-3);flex-wrap:wrap;flex:14rem;min-width:0;display:flex}.aikit-footer-timestamp,.aikit-footer-slot{min-width:0}.aikit-footer-slot{align-items:center;gap:var(--dt-space-2);display:inline-flex}.aikit-footer-badge{min-height:1.75rem;padding:0 var(--dt-space-2);border:1px solid var(--aikit-border);background:var(--aikit-muted);color:var(--aikit-accent-foreground);font-family:var(--dt-font-mono);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.aikit-footer-legend-item{align-items:center;gap:6px;display:inline-flex}.aikit-footer-legend-swatch{border-radius:50%;width:10px;height:10px;display:inline-block}@supports not (background:color-mix(in srgb, white 50%, transparent)){.aikit-header{background:var(--aikit-background)}}@media (width<=640px){.aikit-header-brand{display:none}.aikit-header{gap:var(--dt-space-2);padding-left:var(--dt-space-3);padding-right:var(--dt-space-3)}.aikit-header-subtitle{display:none}.aikit-toolbox-menu{min-width:auto;max-width:calc(100vw - 2rem);left:auto;right:0}}@media (width<=400px){.aikit-header-actions{gap:var(--dt-space-1)}.aikit-footer{align-items:flex-start}.aikit-footer-meta{flex-basis:100%}.aikit-toolbox-menu{border-radius:.5rem .5rem 0 0;min-width:auto;max-width:100%;position:fixed;inset:auto 0 0;box-shadow:0 -4px 12px #00000026}}:root{--pf-node-start-end:var(--dt-process-start-end,#06b6d4);--pf-node-manual:var(--dt-process-manual,#10b981);--pf-node-automated:var(--dt-process-automated,#8b5cf6);--pf-node-integration:var(--dt-process-integration,#f59e0b);--pf-node-decision:var(--dt-process-decision,#f43f5e);--pf-node-prerequisite:var(--dt-process-prerequisite,#64748b);--pf-edge-standard:var(--dt-accent-fg);--pf-edge-loop-back:var(--dt-warning-fg);--pf-edge-exception:var(--dt-danger-fg)}.process-flow__canvas{height:100%;min-height:0;position:relative;overflow:hidden}.process-flow__toolbar{top:var(--space-4);right:var(--space-4);z-index:6;gap:var(--space-2);padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--card), transparent 10%);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;position:absolute}.process-flow__toolbar-button{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface-elevated);color:var(--foreground);cursor:pointer;font:inherit;padding:.45rem .85rem;font-size:.75rem;font-weight:600}.process-flow__toolbar-button:hover,.process-flow__toolbar-button:focus-visible{border-color:var(--primary);color:var(--primary);outline:none}.process-flow__canvas .react-flow__controls,.process-flow__canvas .react-flow__minimap{border:1px solid var(--border);border-radius:var(--radius-md);background:color-mix(in srgb, var(--card), transparent 6%);overflow:hidden}.process-flow__canvas .react-flow__controls-button{border-bottom:1px solid var(--border);color:var(--foreground);background:0 0}.process-flow__canvas .react-flow__controls-button:last-child{border-bottom:none}.process-flow-node{min-width:224px;min-height:112px;position:relative}.process-flow-node__handle{opacity:0;pointer-events:none}.process-flow-node__frame{width:100%;height:100%;position:relative}.process-flow-node__surface,.process-flow-node__content{border-radius:var(--radius-lg);position:relative}.process-flow-node__surface{border:1px solid var(--pf-node-color);background:color-mix(in srgb, var(--pf-node-color), var(--card) 86%);position:absolute;inset:0}.process-flow-node__content{color:var(--card-foreground);gap:.45rem;padding:1rem 1rem .95rem;display:grid}.process-flow-node__eyebrow{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--pf-node-color), transparent 82%);width:fit-content;color:var(--pf-node-color);font-family:var(--font-mono);letter-spacing:.02em;text-transform:uppercase;align-items:center;gap:.4rem;padding:.2rem .55rem;font-size:.68rem;display:inline-flex}.process-flow-node__icon{font-size:.8rem;line-height:1}.process-flow-node__label{font-size:.95rem;font-weight:600;line-height:1.25}.process-flow-node__description{color:var(--muted-foreground);font-size:.8rem;line-height:1.45}.process-flow-node__metadata{gap:.35rem;display:grid}.process-flow-node__metadata-row{color:var(--muted-foreground);font-family:var(--font-mono);grid-template-columns:auto 1fr;align-items:baseline;gap:.3rem;font-size:.72rem;display:grid}.process-flow-node__metadata-row dt{text-transform:uppercase}.process-flow-node__metadata-row dd{color:var(--foreground);overflow-wrap:anywhere}.process-flow-node--start-end{--pf-node-color:var(--pf-node-start-end);min-width:236px;min-height:84px}.process-flow-node--start-end .process-flow-node__surface,.process-flow-node--start-end .process-flow-node__content{border-radius:var(--radius-pill)}.process-flow-node--manual{--pf-node-color:var(--pf-node-manual)}.process-flow-node--automated{--pf-node-color:var(--pf-node-automated)}.process-flow-node--integration{--pf-node-color:var(--pf-node-integration)}.process-flow-node--prerequisite{--pf-node-color:var(--pf-node-prerequisite)}.process-flow-node--prerequisite .process-flow-node__surface{background:color-mix(in srgb, var(--pf-node-prerequisite), var(--card) 92%);border-style:dashed;border-width:1.5px}.process-flow-node--decision{--pf-node-color:var(--pf-node-decision);min-width:176px;min-height:176px}.process-flow-node--decision .process-flow-node__surface{transform-origin:50%;border-radius:22px;inset:22px;transform:rotate(45deg)}.process-flow-node--decision .process-flow-node__content{text-align:center;align-content:center;justify-items:center;min-height:176px;padding:2.2rem 2.1rem}.process-flow-node--decision .process-flow-node__eyebrow{justify-self:center}.process-flow-node__decision-shadow{display:none}.process-flow-edge__label{pointer-events:none;border:1px solid var(--border);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--card), transparent 4%);color:var(--foreground);font-family:var(--font-mono);white-space:nowrap;padding:.33rem .55rem;font-size:.72rem;line-height:1;position:absolute}.process-flow-edge__label--loop-back{color:var(--pf-edge-loop-back)}.process-flow-edge__label--exception{color:var(--pf-edge-exception)}@media (width<=768px){.process-flow__toolbar{top:auto;right:var(--space-3);bottom:var(--space-3);left:var(--space-3);flex-wrap:wrap;justify-content:flex-end}}:root{--tp-agent-researcher:#818cf8;--tp-agent-implementer:#34d399;--tp-agent-frontend:#f472b6;--tp-agent-reviewer:#fbbf24;--tp-agent-debugger:#f87171;--tp-agent-security:#fb923c;--tp-agent-explorer:#38bdf8;--tp-agent-documenter:#c084fc;--tp-agent-refactor:#2dd4bf;--tp-agent-planner:#c084fc;--tp-agent-orchestrator:#94a3b8;--tp-status-pending:#64748b;--tp-status-in-progress:#3b82f6;--tp-status-done:#22c55e;--tp-status-blocked:#ef4444;--tp-surface:color-mix(in srgb, var(--surface-elevated), var(--background) 22%);--tp-surface-elevated:color-mix(in srgb, var(--surface-elevated), white 4%);--tp-border:color-mix(in srgb, var(--border), transparent 8%);--tp-border-muted:color-mix(in srgb, var(--border), transparent 30%);--tp-text-muted:var(--muted-foreground);--tp-text-dim:color-mix(in srgb, var(--muted-foreground), transparent 22%);--tp-shadow:0 20px 50px color-mix(in srgb, var(--background), transparent 55%)}:root[data-theme=light]{--tp-surface:color-mix(in srgb, white 90%, var(--card));--tp-surface-elevated:color-mix(in srgb, white 82%, var(--surface-elevated));--tp-border-muted:color-mix(in srgb, var(--border), transparent 18%);--tp-shadow:0 16px 40px #94a3b82e}.task-plan__shell{padding:var(--space-6);position:relative}.task-plan__surface{gap:var(--space-6);border:1px solid var(--tp-border);border-radius:calc(var(--radius-xl) + 4px);background:radial-gradient(circle at top left, color-mix(in srgb, var(--tp-agent-researcher), transparent 88%), transparent 32%), radial-gradient(circle at bottom right, color-mix(in srgb, var(--tp-agent-refactor), transparent 90%), transparent 28%), linear-gradient(180deg, color-mix(in srgb, var(--tp-surface), transparent 2%), color-mix(in srgb, var(--background), transparent 8%));min-height:calc(100vh - 13rem);box-shadow:var(--tp-shadow);flex-direction:column;padding:clamp(1rem,2vw,1.75rem);display:flex}.task-plan__toolbar-button:hover,.task-plan__toolbar-button:focus-visible{color:var(--primary);border-color:color-mix(in srgb, var(--primary), var(--tp-border) 30%);background:color-mix(in srgb, var(--tp-surface-elevated), var(--primary) 8%);outline:none;transform:translateY(-1px)}.task-plan__pipeline{flex-direction:column;gap:0;display:flex}.task-plan__phase-block,.task-plan-phase{flex-direction:column;display:flex}.task-plan-phase__content{border:1px solid var(--tp-border);border-radius:var(--radius-xl);background:color-mix(in srgb, var(--tp-surface), transparent 2%);flex-direction:column;gap:1rem;padding:1.4rem 1.6rem;display:flex}.task-plan-phase__header{align-items:center;gap:.75rem;display:flex}.task-plan-phase__number{border:1.5px solid var(--tp-border);background:var(--tp-surface-elevated);width:1.8rem;height:1.8rem;color:var(--tp-text-muted);font-family:var(--font-mono);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;font-size:.72rem;font-weight:700;display:inline-flex}.task-plan-phase__label{color:var(--foreground);flex:1;font-size:.95rem;font-weight:700;line-height:1.2}.task-plan-phase__badge{white-space:nowrap;border:1px solid var(--tp-border-muted);border-radius:var(--radius-pill);background:var(--tp-surface-elevated);color:var(--tp-text-dim);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;padding:.22rem .62rem;font-size:.64rem}.task-plan-phase__outcome{border-bottom:1px solid var(--tp-border-muted);color:var(--tp-text-muted);padding-bottom:.75rem;font-size:.8rem;line-height:1.5}.task-plan-phase__batches{flex-direction:column;gap:.75rem;display:flex}.task-plan-batch{flex-direction:column;gap:.55rem;display:flex}.task-plan-batch+.task-plan-batch{border-top:1px dashed var(--tp-border-muted);margin-top:.15rem;padding-top:.85rem}.task-plan-batch__label{color:var(--tp-text-dim);font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;align-items:center;gap:.42rem;font-size:.67rem;display:flex}.task-plan-batch__icon{opacity:.75;font-size:.9rem}.task-plan-batch__tasks{grid-template-columns:1fr;gap:.55rem;display:grid}.task-plan-batch__tasks--parallel{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.task-plan-task{border:1px solid var(--tp-border);border-radius:var(--radius-md);background:color-mix(in srgb, var(--tp-surface-elevated), transparent 2%);flex-direction:column;gap:.45rem;padding:.9rem .95rem .95rem 1.15rem;transition:border-color .15s,transform .15s,box-shadow .15s;display:flex;position:relative;overflow:hidden}.task-plan-task:before{content:"";background:var(--card-accent);border-radius:3px 0 0 3px;width:3px;position:absolute;top:0;bottom:0;left:0}.task-plan-task:hover{border-color:color-mix(in srgb, var(--card-accent), white 20%);box-shadow:0 10px 24px color-mix(in srgb, var(--background), transparent 72%);transform:translateY(-1px)}.task-plan-task__agent-icon{background:color-mix(in srgb, var(--card-accent), transparent 82%);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:1.1rem;height:1.1rem;font-size:.6rem;display:inline-flex}.task-plan-task__status{color:var(--status-color,var(--tp-status-pending));font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;flex-shrink:0;align-items:center;gap:.28rem;font-size:.61rem;display:inline-flex}.task-plan-task__status-dot{background:currentColor;border-radius:999px;width:6px;height:6px}.task-plan-task__description{color:var(--tp-text-muted);font-size:.78rem;line-height:1.48}.task-plan-task__meta{flex-wrap:wrap;gap:.35rem;margin-top:auto;display:flex}.task-plan-task__chip{border:1px solid var(--tp-border-muted);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--background), var(--tp-surface) 12%);max-width:100%;color:var(--tp-text-dim);font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:.25rem;padding:.14rem .42rem;font-size:.62rem;display:inline-flex;overflow:hidden}.task-plan__connector{justify-content:center;align-items:center;height:2.6rem;display:flex;position:relative}.task-plan__connector:before{content:"";background:repeating-linear-gradient(180deg, var(--tp-border) 0, var(--tp-border) 4px, transparent 4px, transparent 8px);width:2px;position:absolute;top:0;bottom:8px;left:50%;transform:translate(-50%)}.task-plan__connector:after{content:"";border-left:5px solid #0000;border-right:5px solid #0000;border-top:7px solid var(--tp-border);width:0;height:0;position:absolute;bottom:2px;left:50%;transform:translate(-50%)}.task-plan__summary{border:1px solid var(--tp-border);border-radius:var(--radius-xl);background:color-mix(in srgb, var(--tp-surface), transparent 1%);flex-wrap:wrap;gap:1.4rem;padding:1.15rem 1.4rem;display:flex}.task-plan-summary__stat{flex-direction:column;gap:.08rem;display:flex}.task-plan-summary__value{color:var(--foreground);font-size:1.45rem;font-weight:700;line-height:1.05}.task-plan-summary__label{color:var(--tp-text-dim);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;font-size:.64rem}.task-plan__legend{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.task-plan__legend-title{color:var(--tp-text-dim);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;font-size:.68rem}.task-plan__legend-item{color:var(--tp-text-muted);align-items:center;gap:.38rem;font-size:.74rem;display:inline-flex}.task-plan__legend-dot{border-radius:999px;flex-shrink:0;width:8px;height:8px}.task-plan__legend-icon{margin-right:.25rem}.task-plan__empty{border:1px dashed var(--tp-border);border-radius:var(--radius-xl);min-height:18rem;color:var(--tp-text-muted);text-align:center;place-items:center;gap:.45rem;padding:2rem;display:grid}.task-plan__export-error{bottom:var(--space-4);z-index:2;border:1px solid color-mix(in srgb, var(--destructive), transparent 18%);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--destructive), var(--card) 88%);color:var(--foreground);padding:.45rem .8rem;font-size:.75rem;position:absolute;left:50%;transform:translate(-50%)}@keyframes task-plan-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--tp-status-in-progress), transparent 65%);opacity:1}70%{box-shadow:0 0 0 8px color-mix(in srgb, var(--tp-status-in-progress), transparent 100%);opacity:.75}to{box-shadow:0 0 0 0 color-mix(in srgb, var(--tp-status-in-progress), transparent 100%);opacity:1}}@media (width<=900px){.task-plan__shell{padding:var(--space-4)}.task-plan__toolbar{width:fit-content;margin-bottom:var(--space-3);margin-left:auto;position:static}}@media (width<=768px){.task-plan-phase__header,.task-plan-task__topline{flex-direction:column;align-items:flex-start}.task-plan-phase__badge,.task-plan-task__status{white-space:normal}.task-plan__summary{gap:1rem}}@media (prefers-reduced-motion:reduce){.task-plan-task,.task-plan__toolbar-button,.task-plan-task__status-dot{transition:none;animation:none!important}}:root{--tp-agent-researcher:#6366f1;--tp-agent-implementer:#10b981;--tp-agent-frontend:#ec4899;--tp-agent-reviewer:#f59e0b;--tp-agent-debugger:#ef4444;--tp-agent-security:#f97316;--tp-agent-explorer:#06b6d4;--tp-agent-documenter:#8b5cf6;--tp-agent-refactor:#14b8a6;--tp-agent-planner:#a855f7;--tp-agent-orchestrator:#64748b;--tp-status-pending:#94a3b8;--tp-status-in-progress:#3b82f6;--tp-status-done:#22c55e;--tp-status-blocked:#ef4444;--tp-edge-dependency:color-mix(in srgb, var(--foreground), transparent 38%);--tp-edge-phase-boundary:color-mix(in srgb, var(--border), transparent 16%);--tp-phase-border:color-mix(in srgb, var(--border), var(--primary) 18%);--tp-phase-fill:color-mix(in srgb, var(--surface-elevated), transparent 8%);--tp-phase-muted:color-mix(in srgb, var(--muted-foreground), transparent 18%);--tp-card-fill:color-mix(in srgb, var(--card), transparent 3%);--tp-card-border:color-mix(in srgb, var(--border), transparent 10%)}:root[data-theme=light]{--tp-edge-dependency:color-mix(in srgb, var(--foreground), transparent 48%);--tp-edge-phase-boundary:color-mix(in srgb, var(--border), transparent 4%);--tp-phase-fill:color-mix(in srgb, var(--card), white 18%);--tp-card-fill:color-mix(in srgb, white, var(--card) 72%)}.task-plan__canvas{height:100%;min-height:0;position:relative;overflow:hidden}.task-plan__toolbar{top:var(--space-4);right:var(--space-4);z-index:6;gap:var(--space-2);padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--card), transparent 10%);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;position:absolute}.task-plan__toolbar-button{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface-elevated);color:var(--foreground);cursor:pointer;font:inherit;padding:.45rem .85rem;font-size:.75rem;font-weight:600;transition:border-color .18s,color .18s,transform .18s}.task-plan__toolbar-button:hover,.task-plan__toolbar-button:focus-visible{border-color:var(--primary);color:var(--primary);outline:none;transform:translateY(-1px)}.task-plan__canvas .react-flow__controls,.task-plan__canvas .react-flow__minimap{border:1px solid var(--border);border-radius:var(--radius-md);background:color-mix(in srgb, var(--card), transparent 6%);overflow:hidden}.task-plan__canvas .react-flow__controls-button{border-bottom:1px solid var(--border);color:var(--foreground);background:0 0}.task-plan__canvas .react-flow__controls-button:last-child{border-bottom:none}.task-plan__empty{z-index:4;border:1px dashed var(--border);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--card), transparent 8%);min-width:280px;color:var(--muted-foreground);text-align:center;gap:.4rem;padding:1rem 1.2rem;display:grid;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.task-plan__empty strong{color:var(--foreground);font-size:.95rem}.task-plan-phase{width:100%;height:100%;position:relative}.task-plan-phase__surface{border:1px solid var(--tp-phase-border);border-radius:calc(var(--radius-xl) + 2px);background:var(--tp-phase-fill);position:absolute;inset:0}.task-plan-phase[data-terminal=false]:after{content:"";border-right:1px dashed var(--tp-edge-phase-boundary);position:absolute;top:1.75rem;bottom:1.75rem;right:1rem}.task-plan-phase__content{align-content:start;gap:.5rem;padding:1.2rem 1.2rem 1rem;display:grid;position:relative}.task-plan-phase__header{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.task-plan-phase__label{color:var(--foreground);font-size:1rem;font-weight:600;line-height:1.2}.task-plan-phase__counts{color:var(--tp-phase-muted);font-family:var(--font-mono);letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;font-size:.72rem}.task-plan-phase__outcome{max-width:30ch;color:var(--muted-foreground);font-size:.8rem;line-height:1.45}.task-plan-node__handle{opacity:0;pointer-events:none}.task-plan-task{width:100%;height:100%;transition:transform .18s,filter .18s;position:relative}.task-plan-task__frame{border:1px solid color-mix(in srgb, var(--tp-agent-color), var(--tp-card-border) 62%);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--tp-agent-color), var(--tp-card-fill) 92%);width:100%;height:100%;color:var(--card-foreground);gap:.75rem;padding:1rem 1rem .95rem;transition:border-color .18s,box-shadow .18s,transform .18s;display:grid}.task-plan-task:hover{transform:translateY(-2px)}.task-plan-task:hover .task-plan-task__frame{border-color:color-mix(in srgb, var(--tp-agent-color), white 10%);box-shadow:0 0 0 1px color-mix(in srgb, var(--tp-agent-color), transparent 72%)}.task-plan-task__topline{justify-content:space-between;align-items:center;gap:.8rem;display:flex}.task-plan-task__agent{min-width:0;color:var(--tp-agent-color);font-family:var(--font-mono);letter-spacing:.02em;text-transform:uppercase;align-items:center;gap:.45rem;font-size:.71rem;font-weight:600;display:inline-flex}.task-plan-task__agent-icon{background:color-mix(in srgb, var(--tp-agent-color), transparent 84%);border-radius:999px;justify-content:center;align-items:center;width:1.15rem;height:1.15rem;font-size:.72rem;display:inline-flex}.task-plan-task__agent-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.task-plan-task__status{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--card), transparent 10%);color:var(--foreground);font-family:var(--font-mono);letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;align-items:center;gap:.35rem;padding:.24rem .55rem;font-size:.67rem;display:inline-flex}.task-plan-task__status[data-status=pending]{color:var(--tp-status-pending)}.task-plan-task__status[data-status=in-progress]{color:var(--tp-status-in-progress)}.task-plan-task__status[data-status=done]{color:var(--tp-status-done)}.task-plan-task__status[data-status=blocked]{color:var(--tp-status-blocked)}.task-plan-task__status-dot{background:currentColor;border-radius:999px;flex:none;width:.5rem;height:.5rem}.task-plan-task__status[data-status=in-progress] .task-plan-task__status-dot{animation:1.8s ease-in-out infinite task-plan-pulse}.task-plan-task__title{color:var(--foreground);font-size:.96rem;font-weight:700;line-height:1.28}.task-plan-task__meta{flex-wrap:wrap;gap:.42rem;display:flex}.task-plan-task__chip{border:1px solid color-mix(in srgb, var(--border), transparent 10%);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--card), transparent 8%);color:var(--muted-foreground);font-family:var(--font-mono);align-items:center;gap:.25rem;padding:.24rem .5rem;font-size:.7rem;display:inline-flex}.task-plan-task__description{color:var(--muted-foreground);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.81rem;line-height:1.48;display:-webkit-box;overflow:hidden}.task-plan-edge__label{pointer-events:none;border:1px solid var(--border);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--card), transparent 4%);color:var(--foreground);font-family:var(--font-mono);white-space:nowrap;padding:.33rem .55rem;font-size:.72rem;line-height:1;position:absolute}.task-plan-edge__label--phase-boundary{color:var(--tp-edge-phase-boundary)}@media (width<=768px){.task-plan__toolbar{top:auto;right:var(--space-3);bottom:var(--space-3);left:var(--space-3);flex-wrap:wrap;justify-content:flex-end}.task-plan-phase__header,.task-plan-task__topline{flex-direction:column;align-items:flex-start}.task-plan-phase__counts{white-space:normal}}
|
|
1547
1547
|
/*$vite$:1*/</style>
|
|
1548
1548
|
</head>
|
|
1549
1549
|
<body>
|