@vpxa/aikit 0.1.351 → 0.1.353

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/package.json +1 -1
  2. package/packages/blocks-core/dist/index.mjs +949 -118
  3. package/packages/core/dist/index.d.ts +3 -0
  4. package/packages/core/dist/index.js +1 -1
  5. package/packages/present/dist/annotation-layer.js +48 -74
  6. package/packages/present/dist/index.html +977 -153
  7. package/packages/server/dist/bin.js +1 -1
  8. package/packages/server/dist/index.js +288 -109
  9. package/packages/server/dist/prelude-DetbWo8R.js +1 -0
  10. package/packages/server/dist/prelude-hfAEi93R.js +2 -0
  11. package/packages/server/dist/sampling-CWjnUevo.js +2 -0
  12. package/packages/server/dist/sampling-CnE3owSt.js +1 -0
  13. package/packages/server/dist/{server-Dc2XtS92.js → server-D5eu57oU.js} +150 -148
  14. package/packages/server/dist/{server-Ct4BK2hi.js → server-D7gZ4K_H.js} +150 -148
  15. package/packages/server/dist/{server-http-DBmzukZH.js → server-http-AarbD3gm.js} +1 -1
  16. package/packages/server/dist/{server-http-BNC9qZBj.js → server-http-wnYmWFkC.js} +1 -1
  17. package/packages/server/dist/{server-stdio-JHWimdo9.js → server-stdio-BWoMqXU8.js} +1 -1
  18. package/packages/server/dist/{server-stdio-DkDdZI98.js → server-stdio-CBGO6XiO.js} +1 -1
  19. package/packages/server/viewers/canvas.html +944 -127
  20. package/packages/server/viewers/code-review-viewer.html +352 -0
  21. package/packages/server/viewers/report-template.html +918 -101
  22. package/packages/server/viewers/task-plan-static.html +1 -1
  23. package/packages/server/viewers/tour-viewer.html +919 -102
  24. package/packages/tools/dist/index.js +82 -82
  25. package/scaffold/dist/definitions/skills/c4-architecture.mjs +1 -1
  26. package/scaffold/dist/definitions/skills/docs.mjs +19 -3
  27. package/scaffold/dist/definitions/skills/present.mjs +317 -13
  28. package/scaffold/dist/generated/block-docs.mjs +18 -64
  29. package/packages/server/dist/prelude-Clxlztkk.js +0 -1
  30. package/packages/server/dist/prelude-Dn7jTsqe.js +0 -2
  31. package/packages/server/dist/sampling-giGWyrcO.js +0 -1
  32. package/packages/server/dist/sampling-nivAea83.js +0 -2
@@ -61,6 +61,11 @@
61
61
  cursor: pointer;
62
62
  }
63
63
 
64
+ .bk-multi-select {
65
+ max-height: 2.25rem;
66
+ min-width: 8rem;
67
+ }
68
+
64
69
  .bk-text-submit { display: flex; gap: var(--dt-space-2); align-items: center; }
65
70
  .bk-input { min-height: 2.25rem; padding: 0 var(--dt-space-3); border: 1px solid var(--dt-border-default); border-radius: var(--dt-radius-md); background: var(--dt-bg-primary); color: var(--dt-text-primary); font: inherit; font-size: var(--dt-font-size-sm); flex: 1; min-width: 200px; transition: border-color var(--dt-transition-fast); }
66
71
  .bk-input:focus { outline: none; border-color: var(--dt-accent-emphasis); box-shadow: 0 0 0 2px var(--dt-accent-subtle); }
@@ -71,7 +76,54 @@
71
76
  .bk-form-label { font-size: var(--dt-font-size-sm); font-weight: 500; color: var(--dt-text-secondary); }
72
77
  .bk-action-feedback { font-size: var(--dt-font-size-sm); color: var(--dt-text-secondary); padding: var(--dt-space-2) 0; }
73
78
  .bk-action-feedback[data-feedback-state="sent"] { color: var(--dt-success-fg); }
74
- `;function f(t,r){return`<div class="bk-actions">${u(t.value).map(t=>{let r=n(t.id);if(t.type===`select`){let n=(t.options??[]).map(t=>{let n=typeof t==`string`?t:t.value,r=typeof t==`string`?t:t.label;return`<option value="${e(n)}">${e(r)}</option>`}).join(``);return`<label class="bk-select-wrap"><span class="bk-visually-hidden">${e(t.label)}</span><select class="bk-select" data-action-id="${r}"><option value="" selected disabled>${e(t.label)}</option>${n}</select></label>`}if(t.type===`text-submit`)return`<div class="bk-text-submit" data-action-id="${r}"><input type="text" class="bk-input" placeholder="${e(t.label)}" data-action-id="${r}" /><button type="button" class="bk-action bk-action--primary" data-action-id="${r}">Send</button></div>`;if(t.type===`form-submit`&&t.schema){let n=t.schema;return`<form class="bk-form" data-action-id="${r}"><fieldset>${Object.entries(n).map(([t,n])=>{let r=n.description??t,i=n.type===`number`?`number`:`text`;return`<label class="bk-form-field"><span class="bk-form-label">${e(r)}</span><input type="${i}" class="bk-input" name="${e(t)}" placeholder="${e(r)}" /></label>`}).join(``)}<button type="submit" class="bk-action bk-action--primary">${e(t.label)}</button></fieldset></form>`}return`<button type="button" class="bk-action bk-action--${e(t.variant??`default`)}" data-action-id="${r}">${e(t.label)}</button>`}).join(``)}<div class="bk-action-feedback" style="display:none;font-size:0.875rem;color:var(--dt-text-secondary);padding:var(--dt-space-2) 0;" data-feedback-state="pending">💬 Feedback sent</div></div>`}var p=`
79
+ `;function f(t,r){return`<div class="bk-actions">${u(t.value).map(t=>{let r=n(t.id);if(t.type===`select`){let n=(t.options??[]).map(t=>{let n=typeof t==`string`?t:t.value,r=typeof t==`string`?t:t.label;return`<option value="${e(n)}">${e(r)}</option>`}).join(``);return`<label class="bk-select-wrap"><span class="bk-visually-hidden">${e(t.label)}</span><select class="bk-select" data-action-id="${r}" data-action-row="single"><option value="" selected disabled>${e(t.label)}</option>${n}</select></label>`}if(t.type===`text-submit`)return`<div class="bk-text-submit" data-action-id="${r}" data-action-row="multi"><input type="text" class="bk-input" placeholder="${e(t.label)}" data-action-id="${r}" /><button type="button" class="bk-action bk-action--primary" data-action-id="${r}">Send</button></div>`;if(t.type===`multi-select`){let n=(t.options??[]).map(t=>{let n=typeof t==`string`?t:t.value,r=typeof t==`string`?t:t.label;return`<option value="${e(n)}">${e(r)}</option>`}).join(``);return`<label class="bk-select-wrap"><span class="bk-visually-hidden">${e(t.label)}</span><select class="bk-select bk-multi-select" data-action-id="${r}" data-action-row="single" multiple size="1">${n}</select></label>`}if(t.type===`form-submit`&&t.schema){let n=t.schema;return`<form class="bk-form" data-action-id="${r}" data-action-row="multi"><fieldset>${Object.entries(n).map(([t,n])=>{let r=n.description??t,i=n.type===`number`?`number`:`text`;return`<label class="bk-form-field"><span class="bk-form-label">${e(r)}</span><input type="${i}" class="bk-input" name="${e(t)}" placeholder="${e(r)}" /></label>`}).join(``)}<button type="submit" class="bk-action bk-action--primary">${e(t.label)}</button></fieldset></form>`}return`<button type="button" class="bk-action bk-action--${e(t.variant??`default`)}" data-action-id="${r}" data-action-row="single">${e(t.label)}</button>`}).join(``)}<div class="bk-action-feedback" style="display:none;font-size:0.875rem;color:var(--dt-text-secondary);padding:var(--dt-space-2) 0;" data-feedback-state="pending">💬 Feedback sent</div></div>`}var p=`
80
+ /* ── Entrance: fade-in + slide-up for cards, metrics, checklist, findings ── */
81
+ @keyframes aikit-enter-fade {
82
+ from { opacity: 0; transform: translateY(8px); }
83
+ to { opacity: 1; transform: translateY(0); }
84
+ }
85
+
86
+ /* ── Progress bar: 0% → target width fill ── */
87
+ @keyframes aikit-progress-fill {
88
+ from { width: 0%; }
89
+ }
90
+
91
+ /* ── Checklist/completed state: scale bounce ── */
92
+ @keyframes aikit-check-bounce {
93
+ 0% { transform: scale(0); }
94
+ 50% { transform: scale(1.2); }
95
+ 100% { transform: scale(1); }
96
+ }
97
+
98
+ /* ── Chart: stroke draw for line/area/sparkline ── */
99
+ @keyframes aikit-chart-draw {
100
+ to { stroke-dashoffset: 0; }
101
+ }
102
+
103
+ /* ── Chart: bar grow from baseline ── */
104
+ @keyframes aikit-chart-grow {
105
+ from { transform: scaleY(0); }
106
+ to { transform: scaleY(1); }
107
+ }
108
+
109
+ /* ── Chart: area reveal from bottom ── */
110
+ @keyframes aikit-chart-reveal {
111
+ from { clip-path: inset(100% 0 0 0); }
112
+ to { clip-path: inset(0 0 0 0); }
113
+ }
114
+
115
+ /* ── Chart: pie/donut fade-in + rotation ── */
116
+ @keyframes aikit-pie-enter {
117
+ from { opacity: 0; transform: rotate(-20deg); }
118
+ to { opacity: 1; transform: rotate(0deg); }
119
+ }
120
+
121
+ /* ── Loading shimmer for skeleton states ── */
122
+ @keyframes aikit-shimmer {
123
+ 0% { background-position: -200px 0; }
124
+ 100% { background-position: calc(200px + 100%) 0; }
125
+ }
126
+ `,m=`
75
127
  .bk-cards {
76
128
  display: grid;
77
129
  grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
@@ -87,6 +139,8 @@
87
139
  background: var(--dt-bg-secondary);
88
140
  box-shadow: var(--dt-shadow-sm);
89
141
  transition: transform var(--dt-transition-normal), box-shadow var(--dt-transition-normal), border-color var(--dt-transition-normal);
142
+ animation: aikit-enter-fade 400ms cubic-bezier(0.16, 1, 0.3, 1) both;
143
+ animation-delay: calc(var(--i, 0) * 60ms);
90
144
  }
91
145
 
92
146
  .bk-card:hover {
@@ -126,7 +180,26 @@
126
180
  letter-spacing: 0.02em;
127
181
  white-space: nowrap;
128
182
  }
129
- `;function m(t,n){return`<div class="bk-cards">${l(t).map(t=>{let n=t.badge?`<span class="bk-card-badge">${e(t.badge)}</span>`:``,r=t.body?`<div class="bk-card-body">${e(t.body)}</div>`:``,i=t.description?`<div class="bk-card-description">${e(t.description)}</div>`:``;return`<article class="bk-card" data-tone="${c(t.status)}"><div class="bk-card-header"><div class="bk-card-title">${e(t.title)}</div>${n}</div>${r}${i}</article>`}).join(``)}</div>`}var h=[`#3b82f6`,`#10b981`,`#f59e0b`,`#ef4444`,`#8b5cf6`,`#ec4899`,`#06b6d4`,`#84cc16`],g=new Set([`line`,`area`,`bar`,`horizontal-bar`,`pie`,`donut`,`sparkline`,`heatmap`]),_=500,v=300,y=300,ee=100,b=30,te=`
183
+
184
+ /* ── Compact cards on mobile ── */
185
+ @media (max-width: 480px) {
186
+ .bk-cards {
187
+ gap: var(--dt-space-3);
188
+ }
189
+ .bk-card {
190
+ padding: var(--dt-space-4);
191
+ }
192
+ }
193
+
194
+ @media (max-width: 320px) {
195
+ .bk-card {
196
+ padding: var(--dt-space-3);
197
+ }
198
+ .bk-card-title {
199
+ font-size: var(--dt-font-size-base);
200
+ }
201
+ }
202
+ `;function h(t,n){return`<div class="bk-cards">${l(t).map((t,n)=>{let r=t.badge?`<span class="bk-card-badge">${e(t.badge)}</span>`:``,i=t.body?`<div class="bk-card-body">${e(t.body)}</div>`:``,a=t.description?`<div class="bk-card-description">${e(t.description)}</div>`:``;return`<article class="bk-card" data-tone="${c(t.status)}" style="--i: ${n}" aria-label="${e(t.title)}">${r?`<div class="bk-card-header"><div class="bk-card-title">${e(t.title)}</div>${r}</div>`:`<div class="bk-card-header"><div class="bk-card-title">${e(t.title)}</div></div>`}${i}${a}</article>`}).join(``)}</div>`}var g=[`#45c8a8`,`#c89bff`,`#f5b342`,`#6baef8`,`#2bd47c`,`#f56a6a`,`#f472b6`,`#38bdf8`],_=new Set([`line`,`area`,`bar`,`horizontal-bar`,`pie`,`donut`,`sparkline`,`heatmap`]),v=500,y=300,ee=300,te=100,ne=30,re=`
130
203
  .bk-chart {
131
204
  display: grid;
132
205
  gap: var(--dt-space-3);
@@ -149,6 +222,7 @@
149
222
  width: 100%;
150
223
  height: auto;
151
224
  overflow: visible;
225
+ animation: aikit-enter-fade 500ms ease-out both;
152
226
  }
153
227
 
154
228
  .bk-chart-svg .bk-chart-grid {
@@ -236,7 +310,64 @@
236
310
  border-bottom: 1px solid var(--dt-border-muted);
237
311
  text-align: left;
238
312
  }
239
- `;function ne(e,t){let n=re(e),r=de(n.headers,n.data);if(n.data.length===0||!g.has(n.chartType))return fe(n.note,r);let i=ie(n);if(!i)return fe(n.note,r);let a=n.chartType===`pie`||n.chartType===`donut`?[]:n.yKeys;return`<div class="bk-chart"><div class="bk-chart-surface">${i}</div>${a.length>1?me(a):``}${pe(r)}</div>`}function re(t){let n=i(t.value),r=Array.isArray(n?.data)?n.data:[],a=String(n?.chartType??t.chartType??`bar`),o=g.has(a)?a:`bar`,s=e(a),c=he(r,String(n?.xKey??`label`)),l=Array.isArray(n?.yKeys)?n.yKeys.filter(e=>typeof e==`string`):[],u=l.length>0?l:[`value`];if(l.length===0&&r.length>0&&r[0]!=null){let e=r[0];if(!(`value`in e&&typeof e.value==`number`)){let t=Object.keys(e).filter(t=>t!==c&&typeof e[t]==`number`);t.length>0&&(u=t)}}let d=[c,...u.filter((e,t)=>e!==c&&u.indexOf(e)===t)];return{chartType:o,data:r,xKey:c,yKeys:u,headers:d,note:s}}function ie(e){switch(e.chartType){case`line`:case`area`:return ae(e,e.chartType===`area`);case`bar`:return oe(e);case`horizontal-bar`:return se(e);case`pie`:return ce(e,!1);case`donut`:return ce(e,!0);case`sparkline`:return le(e);case`heatmap`:return ue(e);default:return``}}function ae(t,n){let r=_e(t.data,t.xKey,t.yKeys),i=r.flatMap(e=>e.values).filter(Number.isFinite);if(i.length===0)return``;let a=S(i),o=x(_,v,{left:60,right:20,top:20,bottom:40}),s=r.map((e,t)=>Se(t,r.length,o.left,o.right)),c=t.yKeys.map((e,t)=>{let i=h[t%h.length],c=r.map((e,n)=>{let r=s[n],i=C(e.values[t],a,o.bottom,o.top);return`${O(r)},${O(i)}`}),l=r.map((e,n)=>{let r=s[n],c=C(e.values[t],a,o.bottom,o.top);return`<circle cx="${O(r)}" cy="${O(c)}" r="3" fill="${i}" />`}).join(``),u=`<polyline fill="none" stroke="${i}" stroke-width="2.5" stroke-linejoin="round" stroke-linecap="round" points="${c.join(` `)}" />`;return n?`<polygon fill="${i}" fill-opacity="0.16" points="${[`${O(s[0])},${O(o.bottom)}`,...c,`${O(s[s.length-1])},${O(o.bottom)}`].join(` `)}" />${u}${l}`:`${u}${l}`}).join(``);return`<svg class="bk-chart-svg" viewBox="0 0 ${_} ${v}" width="100%" preserveAspectRatio="xMidYMid meet" role="img" aria-label="${e(`${t.chartType} chart`)}">${ve(o,a)}${be(o)}${xe(r,s,o.bottom+18)}${c}</svg>`}function oe(e){let t=_e(e.data,e.xKey,e.yKeys),n=t.flatMap(e=>e.values).filter(Number.isFinite);if(n.length===0)return``;let r=S(n,{includeZero:!0}),i=x(_,v,{left:60,right:20,top:20,bottom:40}),a=i.width/t.length,o=Math.max(4,Math.min(28,(a-12-4*(e.yKeys.length-1))/e.yKeys.length)),s=e.yKeys.length*o+(e.yKeys.length-1)*4,c=C(0,r,i.bottom,i.top),l=t.map((e,t)=>{let n=i.left+t*a+(a-s)/2;return e.values.map((e,t)=>{let a=h[t%h.length],s=n+t*(o+4),l=C(e,r,i.bottom,i.top),u=Math.min(l,c),d=Math.max(1,Math.abs(c-l));return`<rect x="${O(s)}" y="${O(u)}" width="${O(o)}" height="${O(d)}" rx="3" fill="${a}" />`}).join(``)}).join(``),u=t.map((e,t)=>i.left+t*a+a/2);return`<svg class="bk-chart-svg" viewBox="0 0 ${_} ${v}" width="100%" preserveAspectRatio="xMidYMid meet" role="img" aria-label="bar chart">${ve(i,r)}${be(i)}${xe(t,u,i.bottom+18)}${l}</svg>`}function se(t){let n=_e(t.data,t.xKey,t.yKeys),r=n.flatMap(e=>e.values).filter(Number.isFinite);if(r.length===0)return``;let i=S(r,{includeZero:!0}),a=x(_,v,{left:110,right:20,top:20,bottom:36}),o=a.height/n.length,s=Math.max(4,Math.min(18,(o-8-4*(t.yKeys.length-1))/t.yKeys.length)),c=t.yKeys.length*s+(t.yKeys.length-1)*4,l=C(0,i,a.left,a.right),u=n.map((t,n)=>{let r=a.top+n*o+(o-c)/2,u=a.top+n*o+o/2+4;return`${`<text class="bk-chart-label" x="${O(a.left-8)}" y="${O(u)}" text-anchor="end">${e(t.label)}</text>`}${t.values.map((e,t)=>{let n=h[t%h.length],o=r+t*(s+4),c=C(e,i,a.left,a.right),u=Math.min(l,c),d=Math.max(1,Math.abs(c-l));return`<rect x="${O(u)}" y="${O(o)}" width="${O(d)}" height="${O(s)}" rx="3" fill="${n}" />`}).join(``)}`}).join(``);return`<svg class="bk-chart-svg" viewBox="0 0 ${_} ${v}" width="100%" preserveAspectRatio="xMidYMid meet" role="img" aria-label="horizontal bar chart">${ye(a,i)}<line class="bk-chart-axis" x1="${O(l)}" y1="${O(a.top)}" x2="${O(l)}" y2="${O(a.bottom)}" />${u}</svg>`}function ce(t,n){let r=ge(t.data,t.xKey,t.yKeys),i=t.data.map(e=>({label:T(e[t.xKey]),value:E(e[r])})).filter(e=>e.value>0);if(i.length===0)return``;let a=i.reduce((e,t)=>e+t.value,0);if(a<=0)return``;let o=y/2,s=n?88*.6:0,c=-90,l=[],u=[];i.forEach((t,r)=>{let i=h[r%h.length],d=t.value/a*360,f=c+d,p=t.value/a*100,m=n?we(o,140,88,s,c,f):Ce(o,140,88,c,f);l.push(`${m?`<path d="${m}" fill="${i}" stroke="var(--dt-bg-secondary)" stroke-width="2" />`:`<circle cx="${o}" cy="140" r="88" fill="${i}" />`}`);let g=w(o,140,108,c+d/2);u.push(`<text class="bk-chart-slice-label" x="${O(g.x)}" y="${O(g.y)}" text-anchor="${g.x>=o?`start`:`end`}">${e(t.label)} ${e(D(p))}%</text>`),c=f});let d=n?`<circle cx="${o}" cy="140" r="${O(s-1)}" fill="var(--dt-bg-secondary)" />`:``;return`<svg class="bk-chart-svg" viewBox="0 0 ${y} ${y}" width="100%" preserveAspectRatio="xMidYMid meet" role="img" aria-label="${n?`donut chart`:`pie chart`}">${l.join(``)}${d}${u.join(``)}</svg>`}function le(e){let t=ge(e.data,e.xKey,e.yKeys),n=e.data.map(e=>E(e[t]));if(n.every(e=>e===0))return``;let r=S(n),i=n.map((e,t)=>{let i=Se(t,n.length,0,ee),a=C(e,r,b-2,2);return`${O(i)},${O(a)}`});return`<svg class="bk-chart-svg" viewBox="0 0 ${ee} ${b}" width="100%" height="${b}" preserveAspectRatio="none" role="img" aria-label="sparkline"><polyline fill="none" stroke="${h[0]}" stroke-width="2.25" stroke-linejoin="round" stroke-linecap="round" points="${i.join(` `)}" /></svg>`}function ue(t){let n=t.data.map(e=>({label:T(e[t.xKey]),values:t.yKeys.map(t=>E(e[t]))})),r=n.flatMap(e=>e.values).filter(Number.isFinite);if(r.length===0)return``;let i=S(r),a=x(_,v,{left:80,right:20,top:42,bottom:20}),o=a.width/t.yKeys.length,s=a.height/n.length;return`<svg class="bk-chart-svg" viewBox="0 0 ${_} ${v}" width="100%" preserveAspectRatio="xMidYMid meet" role="img" aria-label="heatmap chart">${t.yKeys.map((t,n)=>`<text class="bk-chart-label" x="${O(a.left+n*o+o/2)}" y="28" text-anchor="middle">${e(t)}</text>`).join(``)}${n.map((t,n)=>{let r=a.top+n*s+s/2+4;return`<text class="bk-chart-label" x="${O(a.left-8)}" y="${O(r)}" text-anchor="end">${e(t.label)}</text>`}).join(``)}${n.map((e,t)=>e.values.map((e,n)=>{let r=a.left+n*o,c=a.top+t*s;return`<rect x="${O(r)}" y="${O(c)}" width="${O(o-4)}" height="${O(s-4)}" rx="4" stroke="var(--dt-border-muted)" style="fill: ${Te(e,i)}" />`}).join(``)).join(``)}</svg>`}function de(t,n){return`<div class="bk-chart-table-wrap"><table class="bk-chart-table"><thead><tr>${t.map(t=>`<th>${e(t)}</th>`).join(``)}</tr></thead><tbody>${n.map(n=>`<tr>${t.map(t=>`<td>${e(r(n[t]))}</td>`).join(``)}</tr>`).join(``)}</tbody></table></div>`}function fe(e,t){return`<div class="bk-chart"><div class="bk-chart-note">Chart fallback (${e}) rendered as a data table.</div>${t}</div>`}function pe(e){return`<details class="bk-chart-details"><summary>Show data</summary>${e}</details>`}function me(t){return`<div class="bk-chart-legend">${t.map((t,n)=>`<span class="bk-chart-legend-item"><span class="bk-chart-legend-swatch" style="background:${h[n%h.length]}"></span>${e(t)}</span>`).join(``)}</div>`}function he(e,t){if(e.length===0||t in e[0])return t;for(let t of e){let e=Object.keys(t).find(e=>typeof t[e]==`string`);if(e)return e}return t}function ge(e,t,n){let r=n.find(n=>n!==t&&e.some(e=>Ee(e[n])));if(r)return r;for(let n of e){let e=Object.keys(n).find(e=>e!==t&&Ee(n[e]));if(e)return e}return n[0]??`value`}function _e(e,t,n){return e.map(e=>({label:T(e[t]),values:n.map(t=>E(e[t]))}))}function ve(t,n){return Array.from({length:5},(r,i)=>{let a=i/4,o=n.max-a*(n.max-n.min),s=t.top+a*t.height;return`<line class="bk-chart-grid" x1="${O(t.left)}" y1="${O(s)}" x2="${O(t.right)}" y2="${O(s)}" /><text class="bk-chart-label" x="${O(t.left-8)}" y="${O(s+4)}" text-anchor="end">${e(D(o))}</text>`}).join(``)}function ye(t,n){return Array.from({length:5},(r,i)=>{let a=i/4,o=n.min+a*(n.max-n.min),s=t.left+a*t.width;return`<line class="bk-chart-grid" x1="${O(s)}" y1="${O(t.top)}" x2="${O(s)}" y2="${O(t.bottom)}" /><text class="bk-chart-label" x="${O(s)}" y="${O(t.bottom+18)}" text-anchor="middle">${e(D(o))}</text>`}).join(``)}function be(e){return`<line class="bk-chart-axis" x1="${O(e.left)}" y1="${O(e.top)}" x2="${O(e.left)}" y2="${O(e.bottom)}" /><line class="bk-chart-axis" x1="${O(e.left)}" y1="${O(e.bottom)}" x2="${O(e.right)}" y2="${O(e.bottom)}" />`}function xe(t,n,r){return t.map((t,i)=>`<text class="bk-chart-label" x="${O(n[i])}" y="${O(r)}" text-anchor="middle">${e(t.label)}</text>`).join(``)}function x(e,t,n){return{left:n.left,top:n.top,right:e-n.right,bottom:t-n.bottom,width:e-n.left-n.right,height:t-n.top-n.bottom}}function S(e,t){let n=Math.min(...e),r=Math.max(...e);if(t?.includeZero&&(n=Math.min(n,0),r=Math.max(r,0)),n===r){let e=n===0?1:Math.abs(n)*.1||1;n-=e,r+=e}return{min:n,max:r}}function Se(e,t,n,r){return t<=1?(n+r)/2:n+e/(t-1)*(r-n)}function C(e,t,n,r){return n+(e-t.min)/(t.max-t.min)*(r-n)}function Ce(e,t,n,r,i){if(Math.abs(i-r)>=359.999)return``;let a=w(e,t,n,r),o=w(e,t,n,i),s=+(i-r>180);return`M ${O(e)} ${O(t)} L ${O(a.x)} ${O(a.y)} A ${O(n)} ${O(n)} 0 ${s} 1 ${O(o.x)} ${O(o.y)} Z`}function we(e,t,n,r,i,a){if(Math.abs(a-i)>=359.999)return``;let o=w(e,t,n,i),s=w(e,t,n,a),c=w(e,t,r,a),l=w(e,t,r,i),u=+(a-i>180);return[`M ${O(o.x)} ${O(o.y)}`,`A ${O(n)} ${O(n)} 0 ${u} 1 ${O(s.x)} ${O(s.y)}`,`L ${O(c.x)} ${O(c.y)}`,`A ${O(r)} ${O(r)} 0 ${u} 0 ${O(l.x)} ${O(l.y)}`,`Z`].join(` `)}function w(e,t,n,r){let i=(r-90)*Math.PI/180;return{x:e+n*Math.cos(i),y:t+n*Math.sin(i)}}function Te(e,t){let n=18+Math.max(0,Math.min(1,(e-t.min)/(t.max-t.min)))*64;return`color-mix(in srgb, var(--dt-bg-secondary) ${O(100-n)}%, var(--dt-accent-fg) ${O(n)}%)`}function T(e){return e==null?``:String(r(e))}function E(e){if(typeof e==`number`&&Number.isFinite(e))return e;if(typeof e==`string`&&e.trim()!==``){let t=Number(e);if(Number.isFinite(t))return t}return 0}function Ee(e){return typeof e==`number`?Number.isFinite(e):typeof e==`string`&&e.trim()!==``&&Number.isFinite(Number(e))}function D(e){return String(r(Number(e.toFixed(2))))}function O(e){return Number(e.toFixed(2)).toString()}var De=`
313
+
314
+ /* ── Compact chart on mobile ── */
315
+ @media (max-width: 480px) {
316
+ .bk-chart-surface {
317
+ padding: var(--dt-space-2);
318
+ }
319
+ .bk-chart-legend {
320
+ gap: var(--dt-space-1) var(--dt-space-3);
321
+ }
322
+ .bk-chart-legend-item {
323
+ font-size: 0.75rem;
324
+ }
325
+ .bk-chart-legend-swatch {
326
+ width: 0.625rem;
327
+ height: 0.625rem;
328
+ }
329
+ .bk-chart-table th,
330
+ .bk-chart-table td {
331
+ padding: var(--dt-space-2) var(--dt-space-3);
332
+ }
333
+ }
334
+
335
+ @media (max-width: 320px) {
336
+ .bk-chart {
337
+ gap: var(--dt-space-2);
338
+ }
339
+ .bk-chart-surface {
340
+ padding: var(--dt-space-1);
341
+ border-radius: var(--dt-radius-md);
342
+ }
343
+ .bk-chart-note {
344
+ font-size: 0.6875rem;
345
+ }
346
+ .bk-chart-table th,
347
+ .bk-chart-table td {
348
+ padding: var(--dt-space-1) var(--dt-space-2);
349
+ }
350
+ }
351
+ `;function ie(e,t){let n=ae(e),r=pe(n.headers,n.data);if(n.data.length===0||!_.has(n.chartType))return me(n.note,r);let i=oe(n);if(!i)return me(n.note,r);let a=n.chartType===`pie`||n.chartType===`donut`?[]:n.yKeys;return`<div class="bk-chart"><div class="bk-chart-surface">${i}</div>${a.length>1?ge(a):``}${he(r)}</div>`}function ae(t){let n=i(t.value),r=Array.isArray(n?.data)?n.data:[],a=String(n?.chartType??t.chartType??`bar`),o=_.has(a)?a:`bar`,s=e(a),c=_e(r,String(n?.xKey??`label`)),l=Array.isArray(n?.yKeys)?n.yKeys.filter(e=>typeof e==`string`):[],u=l.length>0?l:[`value`];if(l.length===0&&r.length>0&&r[0]!=null){let e=r[0];if(!(`value`in e&&typeof e.value==`number`)){let t=Object.keys(e).filter(t=>t!==c&&typeof e[t]==`number`);t.length>0&&(u=t)}}let d=[c,...u.filter((e,t)=>e!==c&&u.indexOf(e)===t)];return{chartType:o,data:r,xKey:c,yKeys:u,headers:d,note:s}}function oe(e){switch(e.chartType){case`line`:case`area`:return se(e,e.chartType===`area`);case`bar`:return ce(e);case`horizontal-bar`:return le(e);case`pie`:return ue(e,!1);case`donut`:return ue(e,!0);case`sparkline`:return de(e);case`heatmap`:return fe(e);default:return``}}function se(t,n){let r=b(t.data,t.xKey,t.yKeys),i=r.flatMap(e=>e.values).filter(Number.isFinite);if(i.length===0)return``;let a=S(i),o=x(v,y,{left:60,right:20,top:20,bottom:40}),s=r.map((e,t)=>Ce(t,r.length,o.left,o.right)),c=t.yKeys.map((e,t)=>{let i=g[t%g.length],c=r.map((e,n)=>{let r=s[n],i=C(e.values[t],a,o.bottom,o.top);return`${D(r)},${D(i)}`}),l=r.map((e,n)=>{let r=s[n],c=C(e.values[t],a,o.bottom,o.top);return`<circle cx="${D(r)}" cy="${D(c)}" r="3" fill="${i}" />`}).join(``),u=`<polyline fill="none" stroke="${i}" stroke-width="2.5" stroke-linejoin="round" stroke-linecap="round" points="${c.join(` `)}" />`;return n?`<polygon fill="${i}" fill-opacity="0.16" points="${[`${D(s[0])},${D(o.bottom)}`,...c,`${D(s[s.length-1])},${D(o.bottom)}`].join(` `)}" />${u}${l}`:`${u}${l}`}).join(``);return`<svg class="bk-chart-svg" viewBox="0 0 ${v} ${y}" width="100%" preserveAspectRatio="xMidYMid meet" role="img" aria-label="${e(`${t.chartType} chart`)}">${ye(o,a)}${xe(o)}${Se(r,s,o.bottom+18)}${c}</svg>`}function ce(e){let t=b(e.data,e.xKey,e.yKeys),n=t.flatMap(e=>e.values).filter(Number.isFinite);if(n.length===0)return``;let r=S(n,{includeZero:!0}),i=x(v,y,{left:60,right:20,top:20,bottom:40}),a=i.width/t.length,o=Math.max(4,Math.min(28,(a-12-4*(e.yKeys.length-1))/e.yKeys.length)),s=e.yKeys.length*o+(e.yKeys.length-1)*4,c=C(0,r,i.bottom,i.top),l=t.map((e,t)=>{let n=i.left+t*a+(a-s)/2;return e.values.map((e,t)=>{let a=g[t%g.length],s=n+t*(o+4),l=C(e,r,i.bottom,i.top),u=Math.min(l,c),d=Math.max(1,Math.abs(c-l));return`<rect x="${D(s)}" y="${D(u)}" width="${D(o)}" height="${D(d)}" rx="3" fill="${a}" />`}).join(``)}).join(``),u=t.map((e,t)=>i.left+t*a+a/2);return`<svg class="bk-chart-svg" viewBox="0 0 ${v} ${y}" width="100%" preserveAspectRatio="xMidYMid meet" role="img" aria-label="bar chart">${ye(i,r)}${xe(i)}${Se(t,u,i.bottom+18)}${l}</svg>`}function le(t){let n=b(t.data,t.xKey,t.yKeys),r=n.flatMap(e=>e.values).filter(Number.isFinite);if(r.length===0)return``;let i=S(r,{includeZero:!0}),a=x(v,y,{left:110,right:20,top:20,bottom:36}),o=a.height/n.length,s=Math.max(4,Math.min(18,(o-8-4*(t.yKeys.length-1))/t.yKeys.length)),c=t.yKeys.length*s+(t.yKeys.length-1)*4,l=C(0,i,a.left,a.right),u=n.map((t,n)=>{let r=a.top+n*o+(o-c)/2,u=a.top+n*o+o/2+4;return`${`<text class="bk-chart-label" x="${D(a.left-8)}" y="${D(u)}" text-anchor="end">${e(t.label)}</text>`}${t.values.map((e,t)=>{let n=g[t%g.length],o=r+t*(s+4),c=C(e,i,a.left,a.right),u=Math.min(l,c),d=Math.max(1,Math.abs(c-l));return`<rect x="${D(u)}" y="${D(o)}" width="${D(d)}" height="${D(s)}" rx="3" fill="${n}" />`}).join(``)}`}).join(``);return`<svg class="bk-chart-svg" viewBox="0 0 ${v} ${y}" width="100%" preserveAspectRatio="xMidYMid meet" role="img" aria-label="horizontal bar chart">${be(a,i)}<line class="bk-chart-axis" x1="${D(l)}" y1="${D(a.top)}" x2="${D(l)}" y2="${D(a.bottom)}" />${u}</svg>`}function ue(t,n){let r=ve(t.data,t.xKey,t.yKeys),i=t.data.map(e=>({label:De(e[t.xKey]),value:T(e[r])})).filter(e=>e.value>0);if(i.length===0)return``;let a=i.reduce((e,t)=>e+t.value,0);if(a<=0)return``;let o=ee/2,s=n?88*.6:0,c=-90,l=[],u=[];i.forEach((t,r)=>{let i=g[r%g.length],d=t.value/a*360,f=c+d,p=t.value/a*100,m=n?Te(o,140,88,s,c,f):we(o,140,88,c,f);l.push(`${m?`<path d="${m}" fill="${i}" stroke="var(--dt-bg-secondary)" stroke-width="2" />`:`<circle cx="${o}" cy="140" r="88" fill="${i}" />`}`);let h=w(o,140,108,c+d/2);u.push(`<text class="bk-chart-slice-label" x="${D(h.x)}" y="${D(h.y)}" text-anchor="${h.x>=o?`start`:`end`}">${e(t.label)} ${e(E(p))}%</text>`),c=f});let d=n?`<circle cx="${o}" cy="140" r="${D(s-1)}" fill="var(--dt-bg-secondary)" />`:``;return`<svg class="bk-chart-svg" viewBox="0 0 ${ee} ${ee}" width="100%" preserveAspectRatio="xMidYMid meet" role="img" aria-label="${n?`donut chart`:`pie chart`}">${l.join(``)}${d}${u.join(``)}</svg>`}function de(e){let t=ve(e.data,e.xKey,e.yKeys),n=e.data.map(e=>T(e[t]));if(n.every(e=>e===0))return``;let r=S(n),i=n.map((e,t)=>{let i=Ce(t,n.length,0,te),a=C(e,r,ne-2,2);return`${D(i)},${D(a)}`});return`<svg class="bk-chart-svg" viewBox="0 0 ${te} ${ne}" width="100%" height="${ne}" preserveAspectRatio="none" role="img" aria-label="sparkline"><polyline fill="none" stroke="${g[0]}" stroke-width="2.25" stroke-linejoin="round" stroke-linecap="round" points="${i.join(` `)}" /></svg>`}function fe(t){let n=t.data.map(e=>({label:De(e[t.xKey]),values:t.yKeys.map(t=>T(e[t]))})),r=n.flatMap(e=>e.values).filter(Number.isFinite);if(r.length===0)return``;let i=S(r),a=x(v,y,{left:80,right:20,top:42,bottom:20}),o=a.width/t.yKeys.length,s=a.height/n.length;return`<svg class="bk-chart-svg" viewBox="0 0 ${v} ${y}" width="100%" preserveAspectRatio="xMidYMid meet" role="img" aria-label="heatmap chart">${t.yKeys.map((t,n)=>`<text class="bk-chart-label" x="${D(a.left+n*o+o/2)}" y="28" text-anchor="middle">${e(t)}</text>`).join(``)}${n.map((t,n)=>{let r=a.top+n*s+s/2+4;return`<text class="bk-chart-label" x="${D(a.left-8)}" y="${D(r)}" text-anchor="end">${e(t.label)}</text>`}).join(``)}${n.map((e,t)=>e.values.map((e,n)=>{let r=a.left+n*o,c=a.top+t*s;return`<rect x="${D(r)}" y="${D(c)}" width="${D(o-4)}" height="${D(s-4)}" rx="4" stroke="var(--dt-border-muted)" style="fill: ${Ee(e,i)}" />`}).join(``)).join(``)}</svg>`}function pe(t,n){return`<div class="bk-chart-table-wrap"><table class="bk-chart-table"><thead><tr>${t.map(t=>`<th>${e(t)}</th>`).join(``)}</tr></thead><tbody>${n.map(n=>`<tr>${t.map(t=>`<td>${e(r(n[t]))}</td>`).join(``)}</tr>`).join(``)}</tbody></table></div>`}function me(e,t){return`<div class="bk-chart"><div class="bk-chart-note">Chart fallback (${e}) rendered as a data table.</div>${t}</div>`}function he(e){return`<details class="bk-chart-details"><summary>Show data</summary>${e}</details>`}function ge(t){return`<div class="bk-chart-legend">${t.map((t,n)=>`<span class="bk-chart-legend-item"><span class="bk-chart-legend-swatch" style="background:${g[n%g.length]}"></span>${e(t)}</span>`).join(``)}</div>`}function _e(e,t){if(e.length===0||t in e[0])return t;for(let t of e){let e=Object.keys(t).find(e=>typeof t[e]==`string`);if(e)return e}return t}function ve(e,t,n){let r=n.find(n=>n!==t&&e.some(e=>Oe(e[n])));if(r)return r;for(let n of e){let e=Object.keys(n).find(e=>e!==t&&Oe(n[e]));if(e)return e}return n[0]??`value`}function b(e,t,n){return e.map(e=>({label:De(e[t]),values:n.map(t=>T(e[t]))}))}function ye(t,n){return Array.from({length:5},(r,i)=>{let a=i/4,o=n.max-a*(n.max-n.min),s=t.top+a*t.height;return`<line class="bk-chart-grid" x1="${D(t.left)}" y1="${D(s)}" x2="${D(t.right)}" y2="${D(s)}" /><text class="bk-chart-label" x="${D(t.left-8)}" y="${D(s+4)}" text-anchor="end">${e(E(o))}</text>`}).join(``)}function be(t,n){return Array.from({length:5},(r,i)=>{let a=i/4,o=n.min+a*(n.max-n.min),s=t.left+a*t.width;return`<line class="bk-chart-grid" x1="${D(s)}" y1="${D(t.top)}" x2="${D(s)}" y2="${D(t.bottom)}" /><text class="bk-chart-label" x="${D(s)}" y="${D(t.bottom+18)}" text-anchor="middle">${e(E(o))}</text>`}).join(``)}function xe(e){return`<line class="bk-chart-axis" x1="${D(e.left)}" y1="${D(e.top)}" x2="${D(e.left)}" y2="${D(e.bottom)}" /><line class="bk-chart-axis" x1="${D(e.left)}" y1="${D(e.bottom)}" x2="${D(e.right)}" y2="${D(e.bottom)}" />`}function Se(t,n,r){return t.map((t,i)=>`<text class="bk-chart-label" x="${D(n[i])}" y="${D(r)}" text-anchor="middle">${e(t.label)}</text>`).join(``)}function x(e,t,n){return{left:n.left,top:n.top,right:e-n.right,bottom:t-n.bottom,width:e-n.left-n.right,height:t-n.top-n.bottom}}function S(e,t){let n=e.reduce((e,t)=>e<t?e:t,1/0),r=e.reduce((e,t)=>e>t?e:t,-1/0);if(t?.includeZero&&(n=Math.min(n,0),r=Math.max(r,0)),n===r){let e=n===0?1:Math.abs(n)*.1||1;n-=e,r+=e}return{min:n,max:r}}function Ce(e,t,n,r){return t<=1?(n+r)/2:n+e/(t-1)*(r-n)}function C(e,t,n,r){return n+(e-t.min)/(t.max-t.min)*(r-n)}function we(e,t,n,r,i){if(Math.abs(i-r)>=359.999)return``;let a=w(e,t,n,r),o=w(e,t,n,i),s=+(i-r>180);return`M ${D(e)} ${D(t)} L ${D(a.x)} ${D(a.y)} A ${D(n)} ${D(n)} 0 ${s} 1 ${D(o.x)} ${D(o.y)} Z`}function Te(e,t,n,r,i,a){if(Math.abs(a-i)>=359.999)return``;let o=w(e,t,n,i),s=w(e,t,n,a),c=w(e,t,r,a),l=w(e,t,r,i),u=+(a-i>180);return[`M ${D(o.x)} ${D(o.y)}`,`A ${D(n)} ${D(n)} 0 ${u} 1 ${D(s.x)} ${D(s.y)}`,`L ${D(c.x)} ${D(c.y)}`,`A ${D(r)} ${D(r)} 0 ${u} 0 ${D(l.x)} ${D(l.y)}`,`Z`].join(` `)}function w(e,t,n,r){let i=(r-90)*Math.PI/180;return{x:e+n*Math.cos(i),y:t+n*Math.sin(i)}}function Ee(e,t){let n=18+Math.max(0,Math.min(1,(e-t.min)/(t.max-t.min)))*64;return`color-mix(in srgb, var(--dt-bg-secondary) ${D(100-n)}%, var(--dt-accent-fg) ${D(n)}%)`}function De(e){return e==null?``:String(r(e))}function T(e){if(typeof e==`number`&&Number.isFinite(e))return e;if(typeof e==`string`&&e.trim()!==``){let t=Number(e);if(Number.isFinite(t))return t}return 0}function Oe(e){return typeof e==`number`?Number.isFinite(e):typeof e==`string`&&e.trim()!==``&&Number.isFinite(Number(e))}function E(e){return String(r(Number(e.toFixed(2))))}function D(e){return Number(e.toFixed(2)).toString()}var ke=`
352
+ /* ===== Base Styles ===== */
353
+ @keyframes strike-through {
354
+ from { width: 0; }
355
+ to { width: 100%; }
356
+ }
357
+
358
+ @keyframes slide-in {
359
+ from { opacity: 0; transform: translateX(-20px); }
360
+ to { opacity: 1; transform: translateX(0); }
361
+ }
362
+
363
+ @keyframes hover-pulse {
364
+ 0% { transform: scale(1); }
365
+ 25% { transform: scale(1.03); }
366
+ 50% { transform: scale(0.98); }
367
+ 75% { transform: scale(1.02); }
368
+ 100% { transform: scale(1); }
369
+ }
370
+
240
371
  .bk-checklist {
241
372
  display: grid;
242
373
  gap: var(--dt-space-2);
@@ -254,6 +385,7 @@
254
385
  border-radius: var(--dt-radius-lg);
255
386
  background: var(--dt-bg-secondary);
256
387
  transition: border-color var(--dt-transition-fast), background var(--dt-transition-fast);
388
+ animation: slide-in 400ms ease-out both;
257
389
  }
258
390
 
259
391
  .bk-checklist-item:hover {
@@ -261,6 +393,7 @@
261
393
  background: var(--dt-bg-tertiary);
262
394
  }
263
395
 
396
+ /* ===== Icon Styles ===== */
264
397
  .bk-checklist-icon {
265
398
  display: inline-flex;
266
399
  align-items: center;
@@ -279,15 +412,126 @@
279
412
  .bk-checklist-item[data-checked='true'] .bk-checklist-icon {
280
413
  background: var(--dt-success-subtle);
281
414
  color: var(--dt-success-fg);
415
+ animation: aikit-check-bounce 400ms cubic-bezier(0.34,1.56,0.64,1) 500ms both;
282
416
  }
283
417
 
418
+ /* ===== Label Styles ===== */
284
419
  .bk-checklist-label {
285
420
  color: var(--dt-text-primary);
286
421
  font-size: var(--dt-font-size-sm);
287
422
  line-height: 1.5;
288
423
  padding-top: 1px;
289
424
  }
290
- `;function Oe(t,n){return`<ul class="bk-checklist">${l(t).map(t=>{let n=!!t.checked;return`<li class="bk-checklist-item" data-checked="${String(n)}"><span class="bk-checklist-icon">${n?`✓`:`×`}</span><span class="bk-checklist-label">${e(t.label)}</span></li>`}).join(``)}</ul>`}var ke=`
425
+
426
+ .bk-checklist-item[data-checked='true'] .bk-checklist-label {
427
+ position: relative;
428
+ color: var(--dt-text-tertiary);
429
+ }
430
+
431
+ .bk-checklist-item[data-checked='true'] .bk-checklist-label::after {
432
+ content: '';
433
+ position: absolute;
434
+ left: 0;
435
+ top: 50%;
436
+ height: 1px;
437
+ background: currentColor;
438
+ animation: strike-through 300ms ease-out 700ms forwards;
439
+ }
440
+
441
+ /* ===== Hover Pulse for Unchecked Items ===== */
442
+ .bk-checklist-item[data-checked='false'] {
443
+ cursor: pointer;
444
+ }
445
+
446
+ .bk-checklist-item[data-checked='false']:hover {
447
+ animation: hover-pulse 600ms ease-in-out 0ms none;
448
+ }
449
+
450
+ /* Stagger via inline --i (rendered from index) instead of nth-child */
451
+ .bk-checklist-item {
452
+ animation-delay: calc(var(--i, 0) * 50ms);
453
+ }
454
+
455
+ /* ── Compact checklist on mobile ── */
456
+ @media (max-width: 480px) {
457
+ .bk-checklist-item {
458
+ padding: var(--dt-space-2) var(--dt-space-3);
459
+ gap: var(--dt-space-2);
460
+ }
461
+ .bk-checklist-icon {
462
+ width: 1.25rem;
463
+ height: 1.25rem;
464
+ font-size: 0.625rem;
465
+ }
466
+ }
467
+
468
+ @media (max-width: 320px) {
469
+ .bk-checklist-item {
470
+ padding: var(--dt-space-2);
471
+ }
472
+ .bk-checklist-label {
473
+ font-size: 0.75rem;
474
+ }
475
+ }
476
+ `;function Ae(t,n){return`<ul class="bk-checklist">${l(t).map((t,n)=>{let r=!!t.checked;return`<li class="bk-checklist-item" data-checked="${String(r)}" role="checkbox" aria-checked="${String(r)}" tabindex="0" style="--i: ${n}"><span class="bk-checklist-icon" aria-hidden="true">${r?`✓`:`×`}</span><span class="bk-checklist-label">${e(t.label)}</span></li>`}).join(``)}</ul>`}var je=`
477
+ .bk-code .bk-hljs-keyword {
478
+ color: var(--dt-purple-fg);
479
+ }
480
+
481
+ .bk-code .bk-hljs-string,
482
+ .bk-code .bk-hljs-attr-value {
483
+ color: var(--dt-success-fg);
484
+ }
485
+
486
+ .bk-code .bk-hljs-comment {
487
+ color: var(--dt-text-tertiary);
488
+ font-style: italic;
489
+ }
490
+
491
+ .bk-code .bk-hljs-number {
492
+ color: var(--dt-info-fg);
493
+ }
494
+
495
+ .bk-code .bk-hljs-builtin {
496
+ color: var(--dt-accent-fg);
497
+ }
498
+
499
+ .bk-code .bk-hljs-operator {
500
+ color: var(--dt-warning-fg);
501
+ }
502
+
503
+ .bk-code .bk-hljs-punctuation {
504
+ color: var(--dt-text-secondary);
505
+ }
506
+
507
+ .bk-code .bk-hljs-function {
508
+ color: var(--dt-accent-fg);
509
+ }
510
+
511
+ .bk-code .bk-hljs-class-name {
512
+ color: var(--dt-accent-fg);
513
+ font-weight: 500;
514
+ }
515
+
516
+ .bk-code .bk-hljs-tag {
517
+ color: var(--dt-accent-fg);
518
+ }
519
+
520
+ .bk-code .bk-hljs-attr-name {
521
+ color: var(--dt-warning-fg);
522
+ }
523
+
524
+ .bk-code .bk-hljs-variable {
525
+ color: var(--dt-text-primary);
526
+ font-weight: 400;
527
+ }
528
+
529
+ .bk-code .bk-hljs-property {
530
+ color: var(--dt-text-primary);
531
+ }
532
+ `,Me={javascript:{keywords:`async.await.break.case.catch.class.const.continue.debugger.default.delete.do.else.export.extends.false.finally.for.function.if.import.in.instanceof.let.new.null.of.return.static.super.switch.this.throw.true.try.typeof.undefined.var.void.while.with.yield`.split(`.`),builtins:[`console`,`Math`,`JSON`,`Promise`,`Array`,`Object`,`String`,`Number`,`Boolean`,`Map`,`Set`,`Symbol`,`RegExp`,`Date`,`Error`,`Proxy`,`Reflect`,`Buffer`,`setTimeout`,`setInterval`,`fetch`,`process`,`globalThis`,`Intl`,`BigInt`],types:[`string`,`number`,`boolean`,`symbol`,`bigint`,`undefined`,`null`,`any`,`void`,`never`,`unknown`],commentSingle:`//`,commentMultiOpen:`/*`,commentMultiClose:`*/`,stringDelims:[`"`,`'`,"`"],operators:`+\\-*/%=<>!&|^~?:`},typescript:{keywords:`async.await.break.case.catch.class.const.continue.debugger.default.delete.do.else.enum.export.extends.false.finally.for.function.if.import.in.implements.infer.instanceof.interface.is.keyof.let.new.null.of.readonly.return.static.super.switch.satisfies.this.throw.true.try.typeof.type.undefined.using.var.void.while.with.yield`.split(`.`),builtins:`console.Math.JSON.Promise.Array.Object.String.Number.Boolean.Map.Set.Symbol.RegExp.Date.Error.Proxy.Reflect.Buffer.setTimeout.setInterval.fetch.process.globalThis.Intl.BigInt.Partial.Required.Readonly.Pick.Omit.Record.Exclude.Extract.NonNullable.Parameters.ReturnType.InstanceType.Awaited`.split(`.`),types:[`string`,`number`,`boolean`,`symbol`,`bigint`,`undefined`,`null`,`any`,`void`,`never`,`unknown`,`object`],commentSingle:`//`,commentMultiOpen:`/*`,commentMultiClose:`*/`,stringDelims:[`"`,`'`,"`"],operators:`+\\-*/%=<>!&|^~?:`},python:{keywords:`False.None.True.and.as.assert.async.await.break.class.continue.def.del.elif.else.except.finally.for.from.global.if.import.in.is.lambda.nonlocal.not.or.pass.raise.return.try.while.with.yield`.split(`.`),builtins:`print.len.range.type.int.str.float.list.dict.set.tuple.bool.map.filter.zip.enumerate.reversed.sorted.open.input.isinstance.issubclass.hasattr.getattr.setattr.delattr.super.object.property.staticmethod.classmethod.self.cls.Exception.ValueError.TypeError.KeyError.IndexError.StopIteration`.split(`.`),types:[`int`,`float`,`str`,`bool`,`bytes`,`list`,`dict`,`set`,`tuple`,`None`,`Any`],commentSingle:`#`,stringDelims:[`"`,`'`],hashStrings:!0,operators:`+\\-*/%=<>!&|^~`},json:{keywords:[`true`,`false`,`null`],stringDelims:[`"`],operators:`:`,commentSingle:`//`,commentMultiOpen:`/*`,commentMultiClose:`*/`},yaml:{keywords:[`true`,`false`,`yes`,`no`,`on`,`off`,`null`,`~`],commentSingle:`#`,stringDelims:[`"`,`'`],operators:`:\\-`},html:{keywords:[`!DOCTYPE`],commentMultiOpen:`\x3C!--`,commentMultiClose:`-->`,stringDelims:[`"`,`'`],operators:`=`},css:{keywords:[`import`,`media`,`keyframes`,`font-face`,`supports`,`charset`,`namespace`,`page`,`layer`,`container`],builtins:[`red`,`blue`,`green`,`white`,`black`,`transparent`,`currentcolor`,`inherit`,`initial`,`unset`,`revert`],commentMultiOpen:`/*`,commentMultiClose:`*/`,stringDelims:[`"`,`'`],operators:`:;`},shell:{keywords:[`if`,`then`,`else`,`elif`,`fi`,`for`,`while`,`do`,`done`,`case`,`esac`,`in`,`function`,`return`,`exit`,`break`,`continue`,`select`,`until`,`declare`,`local`,`export`,`readonly`,`unset`],builtins:`echo,printf,read,source,.,cd,pwd,ls,cat,grep,awk,sed,find,xargs,sort,uniq,wc,cut,tr,head,tail,tee,test,[,eval,exec,shift,type,command,let,mapfile,readarray,mkdir,rm,cp,mv,chmod,chown,docker,npm,node,git`.split(`,`),commentSingle:`#`,stringDelims:[`"`,`'`],operators:`=|<>`}},Ne={js:`javascript`,ts:`typescript`,py:`python`,sh:`shell`,bash:`shell`,zsh:`shell`,html:`html`,htm:`html`,css:`css`,json:`json`,yml:`yaml`};function Pe(e){return e?Me[Ne[e.toLowerCase()]??e.toLowerCase()]??null:null}function O(e,t){let n=[],r=0;for(;r<e.length;){let i=e[r];if(t.stringDelims.includes(i)&&i!=="`"){let a=i;if(t.hashStrings&&e.slice(r,r+3)===a+a+a){n.push({type:`string`,value:a+a+a}),r+=3;let t=e.indexOf(a+a+a,r);t===-1?(n.push({type:`string`,value:e.slice(r)}),r=e.length):(n.push({type:`string`,value:e.slice(r,t)}),n.push({type:`string`,value:a+a+a}),r=t+3);continue}let o=a;for(r++;r<e.length;){if(e[r]===`\\`&&r+1<e.length){o+=e[r]+e[r+1],r+=2;continue}if(e[r]===a){o+=a,r++;break}o+=e[r],r++}n.push({type:`string`,value:o});continue}if(t.stringDelims.includes("`")&&i==="`"){let t="`";for(r++;r<e.length;){if(e[r]===`\\`&&r+1<e.length){t+=e[r]+e[r+1],r+=2;continue}if(e[r]==="`"){t+="`",r++;break}t+=e[r],r++}n.push({type:`string`,value:t});continue}if(t.commentSingle&&e.startsWith(t.commentSingle,r)){n.push({type:`comment`,value:e.slice(r)}),r=e.length;continue}if(t.commentMultiOpen&&t.commentMultiClose&&e.startsWith(t.commentMultiOpen,r)){let i=t.commentMultiClose,a=e.indexOf(i,r+t.commentMultiOpen.length);a===-1?(n.push({type:`comment`,value:e.slice(r)}),r=e.length):(n.push({type:`comment`,value:e.slice(r,a+i.length)}),r=a+i.length);continue}if(i===`0`&&r+1<e.length&&/[xXbB]/.test(e[r+1])&&t.commentSingle!==`#`){let t=e.slice(r).match(/^0[xX][0-9a-fA-F]+/);if(t){n.push({type:`number`,value:t[0]}),r+=t[0].length;continue}}if(/[0-9]/.test(i)||i===`.`&&r+1<e.length&&/[0-9]/.test(e[r+1])){let t=e.slice(r).match(/^\d+(?:\.\d+)?(?:[eE][+-]?\d+)?/);if(t){n.push({type:`number`,value:t[0]}),r+=t[0].length;continue}}if(/[a-zA-Z_$]/.test(i)||i===`@`){let i=e.slice(r).match(/^[@]?[a-zA-Z_$][a-zA-Z0-9_$]*/);if(i){let a=i[0],o=e=>e?e.includes(a):!1;if(o(t.keywords))n.push({type:`keyword`,value:a});else if(o(t.types))n.push({type:`keyword`,value:a});else if(o(t.builtins))n.push({type:`builtin`,value:a});else{let t=r+a.length;t<e.length&&e[t]===`(`?n.push({type:`function`,value:a}):n.push({type:`variable`,value:a})}r+=a.length;continue}}if(i===`<`&&t===Me.html)if(r+1<e.length&&e[r+1]===`/`){let t=e.indexOf(`>`,r+2);if(t!==-1){n.push({type:`punctuation`,value:`</`}),n.push({type:`tag`,value:e.slice(r+2,t)}),n.push({type:`punctuation`,value:`>`}),r=t+1;continue}}else{let t=e.indexOf(`>`,r+1);if(t!==-1){n.push({type:`punctuation`,value:`<`});let i=e.slice(r+1,t),a=i.match(/^[a-zA-Z][a-zA-Z0-9_-]*/);if(a){n.push({type:`tag`,value:a[0]});let e=a[0].length;for(;e<i.length;){if(i[e]===` `||i[e]===` `){e++;continue}let t=i.slice(e).match(/^[a-zA-Z_-][a-zA-Z0-9_-]*(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s>]+))?/);if(t){let r=t[0],i=r.indexOf(`=`);if(i!==-1){n.push({type:`variable`,value:r.slice(0,i).trim()}),n.push({type:`operator`,value:`=`});let e=r.slice(i+1).trim();e.startsWith(`"`)&&e.endsWith(`"`)||e.startsWith(`'`)&&e.endsWith(`'`)?n.push({type:`string`,value:e}):n.push({type:`attr-value`,value:e})}else n.push({type:`attr-name`,value:r});e+=t[0].length;continue}break}}else n.push({type:`variable`,value:i});n.push({type:`punctuation`,value:`>`}),r=t+1;continue}}if(t.operators&&!t._opRegex&&(t._opRegex=RegExp(`[${t.operators}]`)),t._opRegex?.test(i)){let t=i,a=i+(e[r+1]||``);[`=>`,`==`,`!=`,`<=`,`>=`,`&&`,`||`,`++`,`--`,`+=`,`-=`,`*=`,`/=`,`::`,`?.`,`??`,`?:`,`??=`].includes(a)?(t=a,r++):i+e.slice(r+1,r+3)===`...`&&(t=`...`,r+=2),n.push({type:`operator`,value:t}),r++;continue}if(/[{}()[\];,:.]/.test(i)){n.push({type:`punctuation`,value:i}),r++;continue}let a=e.slice(r).match(/^[^\s]+/);a?(n.push({type:`variable`,value:a[0]}),r+=a[0].length):(n.push({type:`variable`,value:i}),r++)}return n}var Fe={keyword:`bk-hljs-keyword`,string:`bk-hljs-string`,comment:`bk-hljs-comment`,number:`bk-hljs-number`,builtin:`bk-hljs-builtin`,operator:`bk-hljs-operator`,punctuation:`bk-hljs-punctuation`,tag:`bk-hljs-tag`,"attr-name":`bk-hljs-attr-name`,"attr-value":`bk-hljs-attr-value`,function:`bk-hljs-function`,variable:`bk-hljs-variable`};function Ie(t){if(!t.length)return``;let n=[],r=null,i=``,a=()=>{if(!i)return;let t=e(i);r&&!/^\s+$/.test(i)?n.push(`<span class="${r}">${t}</span>`):n.push(t),i=``,r=null};for(let o of t){let t=Fe[o.type];if(/^\s+$/.test(o.value)||!t){i&&a(),n.push(e(o.value));continue}r===t?i+=o.value:(a(),r=t,i=o.value)}return a(),n.join(``)}function Le(t,n){let r=Pe(n);if(!r)return``;let i=t.split(`
533
+ `),a=[],o=!1;for(let t of i){if(o&&r.commentMultiClose){let n=r.commentMultiClose,i=t.indexOf(n);if(i!==-1){o=!1;let s=t.slice(0,i+n.length),c=t.slice(i+n.length),l=`<span class="bk-hljs-comment">${e(s)}</span>`;c.trim()&&(l+=Ie(O(c,r))),a.push(l);continue}a.push(`<span class="bk-hljs-comment">${e(t)}</span>`);continue}if(r.commentMultiOpen&&r.commentMultiClose){let n=t.indexOf(r.commentMultiOpen);if(n!==-1&&t.indexOf(r.commentMultiClose,n+r.commentMultiOpen.length)===-1){o=!0;let i=t.slice(0,n),s=``;i.trim()&&(s+=Ie(O(i,r))),s+=`<span class="bk-hljs-comment">${e(t.slice(n))}</span>`,a.push(s);continue}}a.push(Ie(O(t,r)))}return a.join(`
534
+ `)}var Re=`
291
535
  .bk-code {
292
536
  margin: 0;
293
537
  padding: var(--dt-space-5);
@@ -305,13 +549,62 @@
305
549
  font-size: var(--dt-font-size-sm);
306
550
  line-height: 1.7;
307
551
  }
308
- `;function Ae(t,r){let i=t.language?` language-${n(String(t.language))}`:``,a=t.value??``,o=typeof a==`object`&&a?JSON.stringify(a,null,2):String(a);return`<pre class="bk-code"><code class="${i.trim()}">${e(o)}</code></pre>`}function je(e){let t=i(e);return Array.isArray(t)?t:t&&typeof t==`object`&&Array.isArray(t.columns)?t.columns:[]}var Me=`
552
+
553
+ /* Token spans inherit code font properties */
554
+ .bk-code code .bk-hljs-string,
555
+ .bk-code code .bk-hljs-comment,
556
+ .bk-code code .bk-hljs-keyword,
557
+ .bk-code code .bk-hljs-builtin,
558
+ .bk-code code .bk-hljs-number,
559
+ .bk-code code .bk-hljs-operator,
560
+ .bk-code code .bk-hljs-punctuation,
561
+ .bk-code code .bk-hljs-function,
562
+ .bk-code code .bk-hljs-class-name,
563
+ .bk-code code .bk-hljs-tag,
564
+ .bk-code code .bk-hljs-attr-name,
565
+ .bk-code code .bk-hljs-attr-value,
566
+ .bk-code code .bk-hljs-variable,
567
+ .bk-code code .bk-hljs-property {
568
+ font-family: inherit;
569
+ font-size: inherit;
570
+ line-height: inherit;
571
+ background: none;
572
+ text-shadow: none;
573
+ }
574
+
575
+ /* ── Compact code on mobile ── */
576
+ @media (max-width: 480px) {
577
+ .bk-code {
578
+ padding: var(--dt-space-4);
579
+ }
580
+ .bk-code code {
581
+ font-size: 0.75rem;
582
+ line-height: 1.5;
583
+ }
584
+ }
585
+
586
+ /* ── Ultra-compact code on 320px ── */
587
+ @media (max-width: 320px) {
588
+ .bk-code {
589
+ padding: var(--dt-space-3);
590
+ tab-size: 1;
591
+ }
592
+ .bk-code code {
593
+ font-size: 0.6875rem;
594
+ }
595
+ }
596
+
597
+ ${je}
598
+ `;function ze(t,r){let i=t.language?` language-${n(String(t.language))}`:``,a=t.value??``,o=typeof a==`object`&&a?JSON.stringify(a,null,2):String(a),s=(t.language?Le(o,String(t.language)):``)||e(o);return`<pre class="bk-code"><code class="${i.trim()}">${s}</code></pre>`}function Be(e){if(!e||typeof e!=`object`)return!1;let t=e,n=t.items;return typeof t.title==`string`&&Array.isArray(n)&&n.every(e=>typeof e==`string`)}function Ve(e){let t=i(e);return Array.isArray(t)?t.filter(Be):t&&typeof t==`object`&&Array.isArray(t.columns)?t.columns.filter(Be):[]}function He(e){let t=new Set,n=[];for(let r of e)for(let e of r.items)t.has(e)||(t.add(e),n.push(e));return n}function Ue(e,t){if(e.length<2||t.length===0)return!1;let n=!1,r=!1;for(let i of t){let t=e.filter(e=>e.items.includes(i)).length;if(t>1&&(n=!0),t>0&&t<e.length&&(r=!0),n&&r)return!0}return!1}var We=`
599
+ /* ── Comparison grid (CSS Grid for equal-height columns) ──────────────── */
309
600
  .bk-comparison {
310
601
  display: grid;
311
602
  grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
312
603
  gap: var(--dt-space-4);
604
+ align-items: stretch;
313
605
  }
314
606
 
607
+ /* ── Column card ────────────────────────────────────────────────────────── */
315
608
  .bk-comparison-column {
316
609
  display: grid;
317
610
  gap: var(--dt-space-3);
@@ -320,8 +613,36 @@
320
613
  border-radius: var(--dt-radius-lg);
321
614
  background: var(--dt-bg-secondary);
322
615
  box-shadow: var(--dt-shadow-sm);
616
+ position: relative;
617
+ min-width: 0;
323
618
  }
324
619
 
620
+ /* Recommended column — accent border + glow */
621
+ .bk-comparison-column[data-recommended="true"] {
622
+ border-color: var(--dt-accent-fg);
623
+ box-shadow: var(--dt-shadow-md), 0 0 0 1px var(--dt-accent-fg);
624
+ }
625
+
626
+ /* ── "Recommended" badge / ribbon ──────────────────────────────────────── */
627
+ .bk-comparison-recommended-badge {
628
+ position: absolute;
629
+ top: 0;
630
+ left: 50%;
631
+ transform: translate(-50%, -50%);
632
+ background: var(--dt-accent-fg);
633
+ color: var(--dt-accent-foreground);
634
+ font-size: var(--dt-font-size-xs);
635
+ font-weight: 700;
636
+ text-transform: uppercase;
637
+ letter-spacing: 0.05em;
638
+ padding: var(--dt-space-1) var(--dt-space-3);
639
+ border-radius: var(--dt-radius-pill);
640
+ white-space: nowrap;
641
+ line-height: 1.4;
642
+ z-index: 1;
643
+ }
644
+
645
+ /* ── Column title ───────────────────────────────────────────────────────── */
325
646
  .bk-comparison-title {
326
647
  color: var(--dt-text-primary);
327
648
  font-size: var(--dt-font-size-lg);
@@ -331,21 +652,83 @@
331
652
  border-bottom: 1px solid var(--dt-border-muted);
332
653
  }
333
654
 
655
+ /* ── Item list ──────────────────────────────────────────────────────────── */
334
656
  .bk-comparison-items {
335
657
  display: grid;
336
658
  gap: var(--dt-space-2);
337
659
  margin: 0;
338
660
  padding: 0;
339
- padding-left: var(--dt-space-4);
661
+ list-style: none;
340
662
  color: var(--dt-text-secondary);
341
663
  font-size: var(--dt-font-size-sm);
342
664
  line-height: 1.6;
343
665
  }
344
666
 
345
667
  .bk-comparison-items li {
346
- padding-left: var(--dt-space-1);
668
+ padding: var(--dt-space-1) var(--dt-space-2);
669
+ border-radius: var(--dt-radius-sm);
347
670
  }
348
- `;function Ne(t,n){return`<div class="bk-comparison">${je(t.value).map(t=>{let n=t.items.map(t=>`<li>${e(t)}</li>`).join(``);return`<section class="bk-comparison-column"><div class="bk-comparison-title">${e(t.title)}</div><ul class="bk-comparison-items">${n}</ul></section>`}).join(``)}</div>`}function Pe(e){let t=i(e);if(t&&typeof t==`object`){let e=t;return{name:typeof e.name==`string`?e.name:`Untitled component`,description:typeof e.description==`string`?e.description:void 0,type:typeof e.type==`string`?e.type:void 0,technology:typeof e.technology==`string`?e.technology:void 0,responsibilities:Array.isArray(e.responsibilities)?e.responsibilities.map(String).filter(Boolean):[],interfaces:Array.isArray(e.interfaces)?e.interfaces:[],dependencies:Array.isArray(e.dependencies)?e.dependencies:[],metrics:e.metrics&&typeof e.metrics==`object`?e.metrics:void 0,codeLinks:Array.isArray(e.codeLinks)?e.codeLinks:[]}}return{name:`Untitled component`}}function Fe(t){return t.length===0?``:`<details class="bk-component-detail-section" open><summary class="bk-component-detail-summary">Responsibilities</summary><ul class="bk-component-detail-list">${t.map(t=>`<li>${e(t)}</li>`).join(``)}</ul></details>`}function Ie(t){return t.length===0?``:`<details class="bk-component-detail-section" open><summary class="bk-component-detail-summary">Interfaces</summary><div class="bk-component-detail-table-wrap"><table class="bk-component-detail-table"><thead><tr><th>Name</th><th>Type</th><th>Description</th></tr></thead><tbody>${t.map(t=>`<tr><td class="bk-component-detail-code">${e(t.name)}</td><td class="bk-component-detail-code">${e(t.type)}</td><td>${e(t.description??``)}</td></tr>`).join(``)}</tbody></table></div></details>`}function Le(t){return t.length===0?``:`<details class="bk-component-detail-section" open><summary class="bk-component-detail-summary">Dependencies</summary><ul class="bk-component-detail-dependencies">${t.map(t=>`<li class="bk-component-detail-dependency"><span class="bk-component-detail-dependency-name">${e(t.name)}</span>${t.relationship?`<span class="bk-component-detail-dependency-relationship">${e(t.relationship)}</span>`:``}</li>`).join(``)}</ul></details>`}function Re(t){let n=Object.entries(t??{});return n.length===0?``:`<details class="bk-component-detail-section" open><summary class="bk-component-detail-summary">Metrics</summary><div class="bk-component-detail-metrics">${n.map(([t,n])=>`<div class="bk-component-detail-metric"><span class="bk-component-detail-metric-label">${e(t)}</span><strong class="bk-component-detail-metric-value">${e(String(n))}</strong></div>`).join(``)}</div></details>`}function ze(n){let r=Array.isArray(n.codeLinks)?n.codeLinks:[];return r.length===0?``:`<details class="bk-component-detail-section" open><summary class="bk-component-detail-summary">Code Links</summary><div class="bk-component-detail-links">${r.map(n=>`<a class="bk-component-detail-link" href="${t(n.href)}">${e(n.label)}</a>`).join(``)}</div></details>`}var Be=`
671
+
672
+ /* ── Diff indicators ────────────────────────────────────────────────────── */
673
+ /* Item present in this column but missing from at least one other */
674
+ .bk-comparison-item-diff-present {
675
+ background: var(--dt-success-subtle);
676
+ color: var(--dt-success-emphasis);
677
+ }
678
+
679
+ .bk-comparison-item-diff-present::before {
680
+ content: "\\2713\\00a0\\00a0";
681
+ font-weight: 700;
682
+ color: var(--dt-success-fg);
683
+ }
684
+
685
+ /* Item absent from this column but present in at least one other */
686
+ .bk-comparison-item-diff-absent {
687
+ background: var(--dt-danger-subtle);
688
+ color: var(--dt-text-tertiary);
689
+ }
690
+
691
+ .bk-comparison-item-diff-absent::before {
692
+ content: "\\2717\\00a0\\00a0";
693
+ font-weight: 700;
694
+ color: var(--dt-danger-fg);
695
+ }
696
+
697
+ /* ── Responsive: stack vertically on mobile ── */
698
+ @media (max-width: 640px) {
699
+ .bk-comparison {
700
+ grid-template-columns: 1fr;
701
+ }
702
+ .bk-comparison-column {
703
+ padding: var(--dt-space-4);
704
+ }
705
+ }
706
+
707
+ @media (max-width: 360px) {
708
+ .bk-comparison-column {
709
+ padding: var(--dt-space-3);
710
+ }
711
+ .bk-comparison-items {
712
+ font-size: 0.75rem;
713
+ }
714
+ .bk-comparison-title {
715
+ font-size: var(--dt-font-size-base);
716
+ }
717
+ }
718
+
719
+ @media (max-width: 320px) {
720
+ .bk-comparison {
721
+ gap: var(--dt-space-3);
722
+ }
723
+ .bk-comparison-column {
724
+ padding: var(--dt-space-3) var(--dt-space-2);
725
+ }
726
+ .bk-comparison-recommended-badge {
727
+ font-size: 0.625rem;
728
+ padding: 2px var(--dt-space-2);
729
+ }
730
+ }
731
+ `;function Ge(t,n){let r=Ve(t.value),i=He(r),a=Ue(r,i);return`<div class="bk-comparison">${r.map(t=>{let n=t.recommended===!0,r;if(a){let n=new Set(t.items);r=i.map(t=>`<li class="${n.has(t)?`bk-comparison-item-diff-present`:`bk-comparison-item-diff-absent`}">${e(t)}</li>`).join(``)}else r=t.items.map(t=>`<li>${e(t)}</li>`).join(``);return`<section class="bk-comparison-column"${n?` data-recommended="true"`:``}>${n?`<div class="bk-comparison-recommended-badge">Recommended</div>`:``}<div class="bk-comparison-title">${e(t.title)}</div><ul class="bk-comparison-items">${r}</ul></section>`}).join(``)}</div>`}function Ke(e){let t=i(e);if(t&&typeof t==`object`){let e=t;return{name:typeof e.name==`string`?e.name:`Untitled component`,description:typeof e.description==`string`?e.description:void 0,type:typeof e.type==`string`?e.type:void 0,technology:typeof e.technology==`string`?e.technology:void 0,responsibilities:Array.isArray(e.responsibilities)?e.responsibilities.map(String).filter(Boolean):[],interfaces:Array.isArray(e.interfaces)?e.interfaces:[],dependencies:Array.isArray(e.dependencies)?e.dependencies:[],metrics:e.metrics&&typeof e.metrics==`object`?e.metrics:void 0,codeLinks:Array.isArray(e.codeLinks)?e.codeLinks:[]}}return{name:`Untitled component`}}function qe(t){return t.length===0?``:`<details class="bk-component-detail-section" open><summary class="bk-component-detail-summary">Responsibilities</summary><ul class="bk-component-detail-list">${t.map(t=>`<li>${e(t)}</li>`).join(``)}</ul></details>`}function Je(t){return t.length===0?``:`<details class="bk-component-detail-section" open><summary class="bk-component-detail-summary">Interfaces</summary><div class="bk-component-detail-table-wrap"><table class="bk-component-detail-table"><thead><tr><th>Name</th><th>Type</th><th>Description</th></tr></thead><tbody>${t.map(t=>`<tr><td class="bk-component-detail-code">${e(t.name)}</td><td class="bk-component-detail-code">${e(t.type)}</td><td>${e(t.description??``)}</td></tr>`).join(``)}</tbody></table></div></details>`}function Ye(t){return t.length===0?``:`<details class="bk-component-detail-section" open><summary class="bk-component-detail-summary">Dependencies</summary><ul class="bk-component-detail-dependencies">${t.map(t=>`<li class="bk-component-detail-dependency"><span class="bk-component-detail-dependency-name">${e(t.name)}</span>${t.relationship?`<span class="bk-component-detail-dependency-relationship">${e(t.relationship)}</span>`:``}</li>`).join(``)}</ul></details>`}function Xe(t){let n=Object.entries(t??{});return n.length===0?``:`<details class="bk-component-detail-section" open><summary class="bk-component-detail-summary">Metrics</summary><div class="bk-component-detail-metrics">${n.map(([t,n])=>`<div class="bk-component-detail-metric"><span class="bk-component-detail-metric-label">${e(t)}</span><strong class="bk-component-detail-metric-value">${e(String(n))}</strong></div>`).join(``)}</div></details>`}function Ze(n){let r=Array.isArray(n.codeLinks)?n.codeLinks:[];return r.length===0?``:`<details class="bk-component-detail-section" open><summary class="bk-component-detail-summary">Code Links</summary><div class="bk-component-detail-links">${r.map(n=>`<a class="bk-component-detail-link" href="${t(n.href)}">${e(n.label)}</a>`).join(``)}</div></details>`}var Qe=`
349
732
  .bk-component-detail {
350
733
  display: grid;
351
734
  gap: var(--dt-space-4);
@@ -549,7 +932,7 @@
549
932
  padding-bottom: var(--dt-space-3);
550
933
  }
551
934
  }
552
- `;function Ve(t,n){let r=Pe(t.value),i=r.description?`<p class="bk-component-detail-description">${e(r.description)}</p>`:``,a=r.type?`<span class="bk-component-detail-badge">${e(r.type)}</span>`:``,o=r.technology?`<span class="bk-component-detail-tech">${e(r.technology)}</span>`:``,s=[Fe(r.responsibilities??[]),Ie(r.interfaces??[]),Le(r.dependencies??[]),Re(r.metrics),ze(r)].join(``);return`<article class="bk-component-detail"><header class="bk-component-detail-header"><div class="bk-component-detail-heading"><h4 class="bk-component-detail-name">${e(r.name)}</h4>${a}${o}</div>${i}</header><div class="bk-component-detail-body">${s}</div></article>`}function He(e){let t=i(e);if(t&&typeof t==`object`){let e=t;return{name:typeof e.name==`string`?e.name:`unnamed_schema`,description:typeof e.description==`string`?e.description:void 0,fields:Array.isArray(e.fields)?e.fields:[],indexes:Array.isArray(e.indexes)?e.indexes:[]}}return{name:`unnamed_schema`,fields:[]}}function Ue(e){return Array.isArray(e.constraints)&&e.constraints.includes(`primary-key`)}function We(r){return r.startsWith(`foreign-key:`)?`<a class="bk-data-table-schema-badge bk-data-table-schema-badge--link" href="${t(`#${n(r.slice(12).replace(/\./g,`_`))}`)}">${e(r)}</a>`:`<span class="bk-data-table-schema-badge${r===`primary-key`?` bk-data-table-schema-badge--primary`:``}">${e(r)}</span>`}function Ge(t){return t.length===0?``:`<section class="bk-data-table-schema-indexes"><h5 class="bk-data-table-schema-subtitle">Indexes</h5><div class="bk-data-table-schema-index-grid">${t.map(t=>`<article class="bk-data-table-schema-index"><div class="bk-data-table-schema-index-name">${e(t.name)}</div><div class="bk-data-table-schema-index-columns">${e(t.columns.join(`, `))}</div><div class="bk-data-table-schema-index-meta">${t.unique?`Unique`:`Standard`}</div></article>`).join(``)}</div></section>`}var Ke=`
935
+ `;function $e(t,n){let r=Ke(t.value),i=r.description?`<p class="bk-component-detail-description">${e(r.description)}</p>`:``,a=r.type?`<span class="bk-component-detail-badge">${e(r.type)}</span>`:``,o=r.technology?`<span class="bk-component-detail-tech">${e(r.technology)}</span>`:``,s=[qe(r.responsibilities??[]),Je(r.interfaces??[]),Ye(r.dependencies??[]),Xe(r.metrics),Ze(r)].join(``);return`<article class="bk-component-detail"><header class="bk-component-detail-header"><div class="bk-component-detail-heading"><h4 class="bk-component-detail-name">${e(r.name)}</h4>${a}${o}</div>${i}</header><div class="bk-component-detail-body">${s}</div></article>`}function et(e){let t=i(e);if(t&&typeof t==`object`){let e=t;return{name:typeof e.name==`string`?e.name:`unnamed_schema`,description:typeof e.description==`string`?e.description:void 0,fields:Array.isArray(e.fields)?e.fields:[],indexes:Array.isArray(e.indexes)?e.indexes:[]}}return{name:`unnamed_schema`,fields:[]}}function tt(e){return Array.isArray(e.constraints)&&e.constraints.includes(`primary-key`)}function nt(r){return r.startsWith(`foreign-key:`)?`<a class="bk-data-table-schema-badge bk-data-table-schema-badge--link" href="${t(`#${n(r.slice(12).replace(/\./g,`_`))}`)}">${e(r)}</a>`:`<span class="bk-data-table-schema-badge${r===`primary-key`?` bk-data-table-schema-badge--primary`:``}">${e(r)}</span>`}function rt(t){return t.length===0?``:`<section class="bk-data-table-schema-indexes"><h5 class="bk-data-table-schema-subtitle">Indexes</h5><div class="bk-data-table-schema-index-grid">${t.map(t=>`<article class="bk-data-table-schema-index"><div class="bk-data-table-schema-index-name">${e(t.name)}</div><div class="bk-data-table-schema-index-columns">${e(t.columns.join(`, `))}</div><div class="bk-data-table-schema-index-meta">${t.unique?`Unique`:`Standard`}</div></article>`).join(``)}</div></section>`}var it=`
553
936
  .bk-data-table-schema {
554
937
  display: grid;
555
938
  gap: var(--dt-space-4);
@@ -672,91 +1055,298 @@
672
1055
  color: var(--dt-text-primary);
673
1056
  font-weight: 700;
674
1057
  }
675
- `;function qe(t,r){let i=He(t.value),a=i.description?`<p class="bk-data-table-schema-description">${e(i.description)}</p>`:``;if(!Array.isArray(i.fields)||i.fields.length===0)return`<section class="bk-data-table-schema"><header class="bk-data-table-schema-header"><h4 class="bk-data-table-schema-title">${e(i.name)}</h4>${a}</header><p class="bk-data-table-schema-empty">No schema fields available.</p></section>`;let o=i.fields.map(t=>{let r=Array.isArray(t.constraints)?t.constraints:[],a=r.length>0?r.map(e=>We(e)).join(``):`<span class="bk-data-table-schema-badge">none</span>`;return`<tr class="bk-data-table-schema-row${Ue(t)?` bk-data-table-schema-row--primary`:``}" id="${n(`${i.name}_${t.name}`)}"><td class="bk-data-table-schema-code">${e(t.name)}</td><td class="bk-data-table-schema-code">${e(t.type)}</td><td class="bk-data-table-schema-required">${t.required?`✓`:`—`}</td><td><div class="bk-data-table-schema-constraints">${a}</div></td><td class="bk-data-table-schema-code">${e(t.default??`—`)}</td><td>${e(t.description??``)}</td></tr>`}).join(``);return`<section class="bk-data-table-schema"><header class="bk-data-table-schema-header"><h4 class="bk-data-table-schema-title">${e(i.name)}</h4>${a}</header><div class="bk-data-table-schema-wrap"><table class="bk-data-table-schema-table"><thead><tr><th>Field Name</th><th>Type</th><th>Required</th><th>Constraints</th><th>Default</th><th>Description</th></tr></thead><tbody>${o}</tbody></table></div>${Ge(i.indexes??[])}</section>`}var Je=`
1058
+ `;function at(t,r){let i=et(t.value),a=i.description?`<p class="bk-data-table-schema-description">${e(i.description)}</p>`:``;if(!Array.isArray(i.fields)||i.fields.length===0)return`<section class="bk-data-table-schema"><header class="bk-data-table-schema-header"><h4 class="bk-data-table-schema-title">${e(i.name)}</h4>${a}</header><p class="bk-data-table-schema-empty">No schema fields available.</p></section>`;let o=i.fields.map(t=>{let r=Array.isArray(t.constraints)?t.constraints:[],a=r.length>0?r.map(e=>nt(e)).join(``):`<span class="bk-data-table-schema-badge">none</span>`;return`<tr class="bk-data-table-schema-row${tt(t)?` bk-data-table-schema-row--primary`:``}" id="${n(`${i.name}_${t.name}`)}"><td class="bk-data-table-schema-code">${e(t.name)}</td><td class="bk-data-table-schema-code">${e(t.type)}</td><td class="bk-data-table-schema-required">${t.required?`✓`:`—`}</td><td><div class="bk-data-table-schema-constraints">${a}</div></td><td class="bk-data-table-schema-code">${e(t.default??`—`)}</td><td>${e(t.description??``)}</td></tr>`}).join(``);return`<section class="bk-data-table-schema"><header class="bk-data-table-schema-header"><h4 class="bk-data-table-schema-title">${e(i.name)}</h4>${a}</header><div class="bk-data-table-schema-wrap"><table class="bk-data-table-schema-table"><thead><tr><th>Field Name</th><th>Type</th><th>Required</th><th>Constraints</th><th>Default</th><th>Description</th></tr></thead><tbody>${o}</tbody></table></div>${rt(i.indexes??[])}</section>`}var k=`
676
1059
  .bk-diagram {
677
- border: 1px solid var(--dt-border-default, #e0e0e0);
678
- border-radius: var(--dt-radius-lg, 8px);
1060
+ border: 1px solid var(--dt-border-default);
1061
+ border-radius: var(--dt-radius-lg);
679
1062
  overflow: hidden;
1063
+ box-shadow: var(--dt-shadow-sm);
1064
+ transition: box-shadow var(--dt-transition-normal);
1065
+ }
1066
+ .bk-diagram:hover {
1067
+ box-shadow: var(--dt-shadow-md);
680
1068
  }
681
- .bk-diagram summary {
682
- padding: var(--dt-space-3, 12px);
1069
+ .bk-diagram.bk-diagram-has-viz summary {
1070
+ padding: var(--dt-space-2) var(--dt-space-3);
683
1071
  cursor: pointer;
684
1072
  font-weight: 600;
685
- font-size: var(--dt-font-size-sm, 13px);
686
- background: var(--dt-bg-secondary, #f5f5f5);
687
- border-bottom: 1px solid var(--dt-border-default, #e0e0e0);
1073
+ font-size: var(--dt-font-size-sm);
1074
+ background: var(--dt-bg-secondary);
1075
+ border-bottom: 1px solid var(--dt-border-default);
688
1076
  user-select: none;
1077
+ color: var(--dt-text-secondary);
1078
+ transition: background var(--dt-transition-fast);
1079
+ }
1080
+ .bk-diagram.bk-diagram-has-viz summary:hover {
1081
+ background: var(--dt-bg-tertiary);
689
1082
  }
690
- .bk-diagram[open] summary {
691
- border-bottom: 1px solid var(--dt-border-default, #e0e0e0);
1083
+ .bk-diagram.bk-diagram-has-viz[open] summary {
1084
+ border-bottom: 1px solid var(--dt-border-default);
692
1085
  margin-bottom: 0;
693
1086
  }
694
- .bk-diagram-content {
695
- padding: var(--dt-space-3, 12px);
1087
+ .bk-diagram .bk-diagram-content {
1088
+ padding: var(--dt-space-3);
696
1089
  }
697
1090
  .bk-diagram table {
698
1091
  width: 100%;
699
1092
  border-collapse: collapse;
700
- font-size: var(--dt-font-size-sm, 13px);
1093
+ font-size: var(--dt-font-size-sm);
701
1094
  }
702
1095
  .bk-diagram th, .bk-diagram td {
703
- padding: var(--dt-space-1, 4px) var(--dt-space-2, 8px);
1096
+ padding: var(--dt-space-1) var(--dt-space-2);
704
1097
  text-align: left;
705
- border-bottom: 1px solid var(--dt-border-subtle, #eee);
1098
+ border-bottom: 1px solid var(--dt-border-subtle);
706
1099
  }
707
1100
  .bk-diagram th {
708
1101
  font-weight: 600;
709
- color: var(--dt-text-secondary, #666);
710
- font-size: var(--dt-font-size-xs, 11px);
1102
+ color: var(--dt-text-secondary);
1103
+ font-size: var(--dt-font-size-xs);
711
1104
  text-transform: uppercase;
712
1105
  letter-spacing: 0.5px;
713
1106
  }
714
1107
  .bk-diagram .bk-diagram-meta {
715
1108
  display: grid;
716
1109
  grid-template-columns: auto 1fr;
717
- gap: var(--dt-space-1, 4px) var(--dt-space-3, 12px);
718
- font-size: var(--dt-font-size-sm, 13px);
719
- margin-bottom: var(--dt-space-3, 12px);
1110
+ gap: var(--dt-space-1) var(--dt-space-3);
1111
+ font-size: var(--dt-font-size-sm);
1112
+ margin-bottom: var(--dt-space-3);
720
1113
  }
721
1114
  .bk-diagram .bk-diagram-meta dt {
722
1115
  font-weight: 600;
723
- color: var(--dt-text-secondary, #666);
1116
+ color: var(--dt-text-secondary);
724
1117
  }
725
1118
  .bk-diagram .bk-diagram-meta dd {
726
1119
  margin: 0;
727
1120
  }
728
1121
  .bk-diagram ul {
729
- margin: var(--dt-space-2, 8px) 0;
730
- padding-left: var(--dt-space-4, 16px);
1122
+ margin: var(--dt-space-2) 0;
1123
+ padding-left: var(--dt-space-4);
731
1124
  }
732
1125
  .bk-diagram li {
733
- font-size: var(--dt-font-size-sm, 13px);
1126
+ font-size: var(--dt-font-size-sm);
734
1127
  line-height: 1.6;
735
1128
  }
736
- `;function Ye(t,n){let r=t.value;if(!r||typeof r!=`object`)return`<div class="bk-diagram"><p class="bk-diagram-empty">No diagram data</p></div>`;let i=String(r.diagram_type??`unknown`),a=r.meta,o=String(a?.title??`Diagram`),s=a?.subtitle?String(a.subtitle):void 0,c=Xe(r.components??r.nodes??r.participants??r.states??[]),l=Xe(r.connections??r.edges??r.messages??r.flows??r.transitions??[]),u=[`<dt>Type</dt><dd>${e(i)}</dd>`,`<dt>Components</dt><dd>${c.length}</dd>`,`<dt>Relationships</dt><dd>${l.length}</dd>`];r.schema_version!==void 0&&u.push(`<dt>Schema</dt><dd>v${String(r.schema_version)}</dd>`);let d=``;c.length>0&&(d=`<table><thead><tr><th>Component</th><th>Type</th></tr></thead><tbody>${c.slice(0,30).map(t=>{let n=String(t.label??t.name??`(unnamed)`),r=String(t.type??t.kind??`-`);return`<tr><td>${e(n)}</td><td>${e(r)}</td></tr>`}).join(``)}</tbody></table>${c.length>30?`<p class="bk-diagram-truncated">… and ${c.length-30} more</p>`:``}`);let f=``;l.length>0&&(f=`<h4>Relationships</h4><ul>${l.slice(0,20).map(t=>{let n=String(t.from??t.source??`-`),r=String(t.to??t.target??`-`),i=t.label?`: ${e(String(t.label))}`:``;return`<li><strong>${e(n)}</strong> → <strong>${e(r)}</strong>${i}</li>`}).join(``)}</ul>${l.length>20?`<p class="bk-diagram-truncated">… and ${l.length-20} more relationships</p>`:``}`);let p=s?`<p class="bk-diagram-subtitle">${e(s)}</p>`:``;return`<div class="bk-diagram">
737
- <details>
738
- <summary>${e(o)} <small>(${e(i)}, ${c.length} components)</small></summary>
739
- <div class="bk-diagram-content">
740
- ${p}
741
- <dl class="bk-diagram-meta">${u.join(``)}</dl>
742
- ${d}
743
- ${f}
744
- </div>
745
- </details>
746
- </div>`}function Xe(e){return Array.isArray(e)?e:[]}var Ze=`
747
- .bk-diff { overflow-x: auto; font-family: var(--dt-font-mono); font-size: var(--dt-font-size-sm); border: 1px solid var(--dt-border-default); border-radius: var(--dt-radius-lg); }
748
- .bk-diff-table { width: 100%; border-collapse: collapse; }
749
- .bk-diff-ln { color: var(--dt-text-tertiary); padding: 0 8px; text-align: right; user-select: none; width: 1%; white-space: nowrap; border-right: 1px solid var(--dt-border-default); }
750
- .bk-diff-line { padding: 0 12px; white-space: pre-wrap; word-break: break-all; }
751
- .bk-diff-hunk td { background: var(--dt-blue-subtle); color: var(--dt-blue-fg); padding: 4px 12px; font-style: italic; }
752
- .bk-diff-add td { background: var(--dt-green-subtle); }
753
- .bk-diff-del td { background: var(--dt-red-subtle); }
754
- .bk-diff-header td { font-weight: bold; padding: 4px 12px; background: var(--dt-bg-secondary); }
755
- `;function Qe(e){if(typeof e==`string`)return e;if(e&&typeof e==`object`){let t=e;if(typeof t.content==`string`)return t.content;if(typeof t.before==`string`&&typeof t.after==`string`)return $e(t.before,t.after)}return``}function $e(e,t){let n=e.split(`
1129
+
1130
+ /* After mini-mermaid renders — hide border, show clean SVG */
1131
+ .bk-diagram[data-mini-mermaid-rendered] {
1132
+ border: 1px solid var(--dt-border-default);
1133
+ border-radius: var(--dt-radius-lg);
1134
+ overflow: hidden;
1135
+ box-shadow: var(--dt-shadow-sm);
1136
+ background: var(--dt-bg-canvas);
1137
+ }
1138
+ .bk-diagram[data-mini-mermaid-rendered]:hover {
1139
+ box-shadow: var(--dt-shadow-md);
1140
+ }
1141
+ .bk-diagram[data-mini-mermaid-rendered] .bk-diagram-viz {
1142
+ display: block;
1143
+ padding: var(--dt-space-4);
1144
+ background: var(--dt-bg-canvas);
1145
+ }
1146
+ .bk-diagram[data-mini-mermaid-rendered] .bk-diagram-fallback {
1147
+ display: none;
1148
+ }
1149
+ .bk-diagram-viz {
1150
+ display: block;
1151
+ overflow-x: auto;
1152
+ }
1153
+ .bk-diagram-viz svg {
1154
+ display: block;
1155
+ margin: 0 auto;
1156
+ max-width: 100%;
1157
+ height: auto;
1158
+ }
1159
+ `,ot={frontend:`🖥️`,backend:`⚙️`,database:`🗄️`,storage:`💾`,cloud:`☁️`,external:`🔗`,security:`🔒`,messagebus:`📨`,person:`👤`,actor:`👤`,system:`🏛️`,"start-end":`●`,automated:`🤖`,manual:`👆`,decision:`🔀`,branch:`🔀`,infrastructure:`📦`},st=`📋`;function ct(e){return ot[e]??st}var lt={frontend:`fill:var(--dt-agent-frontend,#38bdf8)`,backend:`fill:var(--dt-accent-subtle,#14b8a6)`,database:`fill:var(--dt-purple-subtle,#c084fc)`,storage:`fill:var(--dt-purple-subtle,#c084fc)`,cloud:`fill:var(--dt-info-subtle,#bae6fd)`,external:`fill:var(--dt-bg-tertiary,#64748b)`,security:`fill:var(--dt-danger-subtle,#fecaca)`,messagebus:`fill:var(--dt-warning-subtle,#fde68a)`,decision:`fill:var(--dt-danger-subtle,#fecaca)`,automated:`fill:var(--dt-success-subtle,#bbf7d0)`,manual:`fill:var(--dt-warning-subtle,#fde68a)`,person:`fill:var(--dt-accent-subtle,#ccfbf1)`,actor:`fill:var(--dt-accent-subtle,#ccfbf1)`,system:`fill:var(--dt-info-subtle,#bae6fd)`,infrastructure:`fill:var(--dt-bg-tertiary,#e2e8f0)`},ut={person:{open:`([`,close:`])`},actor:{open:`([`,close:`])`},database:{open:`[(`,close:`)]`},storage:{open:`[(`,close:`)]`},decision:{open:`{`,close:`}`},branch:{open:`{`,close:`}`},external:{open:`{{`,close:`}}`},system:{open:`{{`,close:`}}`},start:{open:`((`,close:`))`},end:{open:`((`,close:`))`}},dt={open:`[`,close:`]`};function ft(e){return ut[e]??dt}function A(e,t){return e.replace(/[^a-zA-Z0-9_]/g,`_`).replace(/^_+|_+$/g,``).replace(/_+/g,`_`)||(t===void 0?`node`:`node_${t}`)}function j(e){return e.replace(/"/g,`#quot;`).replace(/\[/g,`#91;`).replace(/\]/g,`#93;`).replace(/\(/g,`#40;`).replace(/\)/g,`#41;`).replace(/\{/g,`#123;`).replace(/\}/g,`#125;`).replace(/`/g,`#96;`).replace(/\n/g,` `).replace(/\r/g,``)}function M(t,n){let r=t.value;if(!r||typeof r!=`object`)return`<div class="bk-diagram"><p class="bk-diagram-empty">No diagram data</p></div>`;let i=t.type??`unknown`,a=i.startsWith(`architecture`)?`architecture`:i.startsWith(`workflow`)?`workflow`:i.startsWith(`sequence`)?`sequence`:i.startsWith(`dataflow`)?`dataflow`:i.startsWith(`lifecycle`)?`lifecycle`:String(r.diagram_type??`unknown`),o=r.meta,s=String(o?.title??`Diagram`),c=pt(r.components??r.nodes??r.participants??r.states??[]),l=pt(r.connections??r.edges??r.messages??r.flows??r.transitions??[]),u=[`graph TD`],d=new Set,f=new Map,p=0;for(let e of c){let t=A(String(e.id??e.label??e.name??`node`),p);if(p++,d.has(t))continue;d.add(t),f.set(t,e);let n=String(e.label??e.name??t),r=String(e.type??String(e.kind??``)),i=ct(r),a=e.technology?`<br><small>${j(String(e.technology))}</small>`:``,o=lt[r]??`fill:var(--dt-bg-secondary,#1e293b)`,s=ft(r),c=`${i} ${j(n)}`;u.push(` ${t}${s.open}"${c}${a}"${s.close}`),u.push(` style ${t} ${o}`)}for(let e of l){let t=String(e.from??e.source??``),n=String(e.to??e.target??``),r=A(t),i=A(n);if(!d.has(r)||!d.has(i))continue;let a=e.label?` -- "${j(String(e.label))}" --> `:` --> `;u.push(` ${r}${a}${i}`)}let m=d.size>0,h=u.join(`
1160
+ `),g=[`<dt>Type</dt><dd>${e(a)}</dd>`,`<dt>Components</dt><dd>${c.length}</dd>`,`<dt>Relationships</dt><dd>${l.length}</dd>`];r.schema_version!==void 0&&g.push(`<dt>Schema</dt><dd>v${String(r.schema_version)}</dd>`);let _=``;c.length>0&&(_=`<table><thead><tr><th>Component</th><th>Type</th></tr></thead><tbody>${c.slice(0,30).map(t=>{let n=String(t.label??t.name??`(unnamed)`),r=String(t.type??String(t.kind??`-`));return`<tr><td>${e(n)}</td><td>${e(r)}</td></tr>`}).join(``)}</tbody></table>${c.length>30?`<p class="bk-diagram-truncated">… and ${c.length-30} more</p>`:``}`);let v=``;return l.length>0&&(v=`<h4>Relationships</h4><ul>${l.slice(0,20).map(t=>{let n=String(t.from??t.source??`-`),r=String(t.to??t.target??`-`),i=t.label?`: ${e(String(t.label))}`:``;return`<li><strong>${e(n)}</strong> → <strong>${e(r)}</strong>${i}</li>`}).join(``)}</ul>${l.length>20?`<p class="bk-diagram-truncated">… and ${l.length-20} more relationships</p>`:``}`),m?`<div class="${`bk-diagram${m?` bk-diagram-has-viz`:``}`}">
1161
+ <pre class="bk-diagram-viz mermaid">${e(h)}</pre>
1162
+ <details class="bk-diagram-fallback">
1163
+ <summary>${e(s)} <small>(${a}, ${c.length} components)</small></summary>
1164
+ <div class="bk-diagram-content">
1165
+ <dl class="bk-diagram-meta">${g.join(``)}</dl>
1166
+ ${_}
1167
+ ${v}
1168
+ </div>
1169
+ </details>
1170
+ </div>`:`<div class="bk-diagram">
1171
+ <details open>
1172
+ <summary>${e(s)} <small>(${e(a)}, ${c.length} components)</small></summary>
1173
+ <div class="bk-diagram-content">
1174
+ <dl class="bk-diagram-meta">${g.join(``)}</dl>
1175
+ ${_}
1176
+ ${v}
1177
+ </div>
1178
+ </details>
1179
+ </div>`}function pt(e){return Array.isArray(e)?e:[]}var mt=`
1180
+ /* ── Diff Container ── */
1181
+ .bk-diff {
1182
+ overflow-x: auto;
1183
+ font-family: var(--dt-font-mono);
1184
+ font-size: var(--dt-font-size-sm);
1185
+ border: 1px solid var(--dt-border-default);
1186
+ border-radius: var(--dt-radius-lg);
1187
+ position: relative;
1188
+ }
1189
+
1190
+ /* ── Diff Toolbar (copy / expand) ── */
1191
+ .bk-diff-toolbar {
1192
+ display: flex;
1193
+ justify-content: flex-end;
1194
+ gap: var(--dt-space-1);
1195
+ padding: var(--dt-space-1) var(--dt-space-2);
1196
+ background: var(--dt-bg-secondary);
1197
+ border-bottom: 1px solid var(--dt-border-default);
1198
+ }
1199
+
1200
+ .bk-diff-btn {
1201
+ display: inline-flex;
1202
+ align-items: center;
1203
+ gap: 4px;
1204
+ padding: 2px 8px;
1205
+ font-size: var(--dt-font-size-xs);
1206
+ font-family: var(--dt-font-sans);
1207
+ color: var(--dt-text-tertiary);
1208
+ background: transparent;
1209
+ border: 1px solid var(--dt-border-muted);
1210
+ border-radius: var(--dt-radius-sm);
1211
+ cursor: pointer;
1212
+ transition: color var(--dt-transition-fast), border-color var(--dt-transition-fast);
1213
+ }
1214
+
1215
+ .bk-diff-btn:hover {
1216
+ color: var(--dt-text-primary);
1217
+ border-color: var(--dt-accent-muted);
1218
+ }
1219
+
1220
+ .bk-diff-btn:active {
1221
+ transform: scale(0.96);
1222
+ }
1223
+
1224
+ /* ── 44px touch targets on mobile ── */
1225
+ @media (max-width: 640px) {
1226
+ .bk-diff-btn {
1227
+ min-width: 2.75rem;
1228
+ min-height: 2.75rem;
1229
+ padding: var(--dt-space-1) var(--dt-space-3);
1230
+ justify-content: center;
1231
+ }
1232
+ }
1233
+
1234
+ @media (max-width: 320px) {
1235
+ .bk-diff {
1236
+ font-size: 0.75rem;
1237
+ }
1238
+ .bk-diff-line {
1239
+ padding: 0 8px;
1240
+ }
1241
+ .bk-diff-ln {
1242
+ min-width: 3ch;
1243
+ max-width: 3ch;
1244
+ padding: 0 4px;
1245
+ }
1246
+ }
1247
+
1248
+ .bk-diff-btn[data-copied="true"] {
1249
+ color: var(--dt-success-fg);
1250
+ border-color: var(--dt-success-muted);
1251
+ }
1252
+
1253
+ /* ── Diff Table ── */
1254
+ .bk-diff-table {
1255
+ width: 100%;
1256
+ border-collapse: collapse;
1257
+ }
1258
+
1259
+ /* ── Line Number Cells ── */
1260
+ .bk-diff-ln {
1261
+ color: var(--dt-text-tertiary);
1262
+ padding: 0 8px;
1263
+ text-align: right;
1264
+ user-select: none;
1265
+ width: 4ch;
1266
+ min-width: 4ch;
1267
+ max-width: 4ch;
1268
+ white-space: nowrap;
1269
+ border-right: 1px solid var(--dt-border-default);
1270
+ font-variant-numeric: tabular-nums;
1271
+ }
1272
+
1273
+ /* ── Content Cells ── */
1274
+ .bk-diff-line {
1275
+ padding: 0 12px;
1276
+ white-space: pre-wrap;
1277
+ word-break: break-all;
1278
+ }
1279
+
1280
+ /* ── Hunk Headers (@@ … @@) ── */
1281
+ .bk-diff-hunk td {
1282
+ background: var(--dt-info-subtle);
1283
+ color: var(--dt-info-fg);
1284
+ padding: 4px 12px;
1285
+ font-style: italic;
1286
+ }
1287
+
1288
+ /* ── Added Lines (+) ── */
1289
+ .bk-diff-add td {
1290
+ background: var(--dt-success-subtle);
1291
+ }
1292
+
1293
+ /* ── Removed Lines (-) ── */
1294
+ .bk-diff-del td {
1295
+ background: var(--dt-danger-subtle);
1296
+ }
1297
+
1298
+ /* ── Header Lines (--- / +++) ── */
1299
+ .bk-diff-header td {
1300
+ font-family: var(--dt-font-mono);
1301
+ color: var(--dt-accent-fg);
1302
+ padding: 4px 12px;
1303
+ background: var(--dt-bg-secondary);
1304
+ }
1305
+
1306
+ /* ── Inline Word-Level Highlights ── */
1307
+ .bk-diff-word-del {
1308
+ background: var(--dt-danger-subtle);
1309
+ text-decoration: line-through;
1310
+ border-radius: 2px;
1311
+ padding: 0 1px;
1312
+ }
1313
+
1314
+ .bk-diff-word-add {
1315
+ background: var(--dt-success-subtle);
1316
+ border-radius: 2px;
1317
+ padding: 0 1px;
1318
+ }
1319
+
1320
+ /* ── Expand/Collapse ── */
1321
+ .bk-diff-body {
1322
+ transition: max-height 300ms ease;
1323
+ overflow: hidden;
1324
+ }
1325
+
1326
+ .bk-diff-body[data-collapsed="true"] {
1327
+ max-height: 480px;
1328
+ position: relative;
1329
+ }
1330
+
1331
+ .bk-diff-body[data-collapsed="true"]::after {
1332
+ content: '';
1333
+ position: absolute;
1334
+ bottom: 0;
1335
+ left: 0;
1336
+ right: 0;
1337
+ height: 48px;
1338
+ background: linear-gradient(transparent, var(--dt-bg-canvas));
1339
+ pointer-events: none;
1340
+ }
1341
+
1342
+ .bk-diff-body[data-expanded="true"] {
1343
+ max-height: none;
1344
+ }
1345
+ `;function ht(e){if(typeof e==`string`)return e;if(e&&typeof e==`object`){let t=e;if(typeof t.content==`string`)return t.content;if(typeof t.before==`string`&&typeof t.after==`string`)return gt(t.before,t.after)}return``}function gt(e,t){let n=e.split(`
756
1346
  `),r=t.split(`
757
- `),i=[`@@ -1,${n.length} +1,${r.length} @@`];for(let e of n)i.push(`-${e}`);for(let e of r)i.push(`+${e}`);return i.join(`
758
- `)}function et(t,n){let r=Qe(t.value);if(!r)return`<div class="bk-diff"></div>`;let i=r.split(`
759
- `),a=0,o=0,s=[];for(let t of i)if(t.startsWith(`@@`)){let n=t.match(/@@ -(\d+)/);if(n){a=parseInt(n[1],10)-1;let e=t.match(/\+(\d+)/);o=e?parseInt(e[1],10)-1:0}s.push(`<tr class="bk-diff-hunk"><td colspan="3">${e(t)}</td></tr>`)}else if(t.startsWith(`---`)||t.startsWith(`+++`))s.push(`<tr class="bk-diff-header"><td colspan="3">${e(t)}</td></tr>`);else if(t.startsWith(`+`))o++,s.push(`<tr class="bk-diff-add"><td class="bk-diff-ln"></td><td class="bk-diff-ln">${o}</td><td class="bk-diff-line">${e(t)}</td></tr>`);else if(t.startsWith(`-`))a++,s.push(`<tr class="bk-diff-del"><td class="bk-diff-ln">${a}</td><td class="bk-diff-ln"></td><td class="bk-diff-line">${e(t)}</td></tr>`);else{a++,o++;let n=t.startsWith(` `)?t:` ${t}`;s.push(`<tr class="bk-diff-context"><td class="bk-diff-ln">${a}</td><td class="bk-diff-ln">${o}</td><td class="bk-diff-line">${e(n)}</td></tr>`)}return`<div class="bk-diff"><table class="bk-diff-table">${s.join(``)}</table></div>`}function tt(e){let t=i(e);return Array.isArray(t)?t:t&&typeof t==`object`&&Array.isArray(t.files)?t.files:[]}var nt=`
1347
+ `),i=[`--- a/previous`,`+++ a/current`];for(let e of n)i.push(`-${e}`);for(let e of r)i.push(`+${e}`);return i.join(`
1348
+ `)}function _t(t,n){let r=t.slice(1),i=n.slice(1);if(r===i)return{oldHtml:e(t),newHtml:e(n)};let a=0;for(;a<r.length&&a<i.length&&r[a]===i[a];)a++;let o=0,s=r.length-a,c=i.length-a;for(;o<s&&o<c&&r[r.length-1-o]===i[i.length-1-o];)o++;let l=e(r.slice(0,a)),u=e(r.slice(a,r.length-o)),d=e(i.slice(a,i.length-o)),f=e(r.slice(r.length-o));return{oldHtml:u.length>0?`-${l}<span class="bk-diff-word-del">${u}</span>${f}`:`-${l}${f}`,newHtml:d.length>0?`+${l}<span class="bk-diff-word-add">${d}</span>${f}`:`+${l}${f}`}}function vt(t,n){let r=ht(t.value);if(!r)return`<div class="bk-diff"></div>`;let i=r.split(`
1349
+ `),a=0,o=0,s=[],c=[];function l(){for(let t of c)s.push(`<tr class="bk-diff-del"><td class="bk-diff-ln">${t.oldLnVal}</td><td class="bk-diff-ln"></td><td class="bk-diff-line">${e(t.line)}</td></tr>`);c.length=0}for(let t of i)if(t.startsWith(`@@`)){l();let n=t.match(/@@ -(\d+)/);if(n){a=parseInt(n[1],10)-1;let e=t.match(/\+\s*(\d+)/);o=e?parseInt(e[1],10)-1:0}s.push(`<tr class="bk-diff-hunk"><td colspan="3">${e(t)}</td></tr>`)}else if(t.startsWith(`---`)||t.startsWith(`+++`))l(),s.push(`<tr class="bk-diff-header"><td colspan="3">${e(t)}</td></tr>`);else if(t.startsWith(`+`))if(c.length>0){let e=c.shift();o++;let{oldHtml:n,newHtml:r}=_t(e.line,t);s.push(`<tr class="bk-diff-del"><td class="bk-diff-ln">${e.oldLnVal}</td><td class="bk-diff-ln"></td><td class="bk-diff-line">${n}</td></tr>`),s.push(`<tr class="bk-diff-add"><td class="bk-diff-ln"></td><td class="bk-diff-ln">${o}</td><td class="bk-diff-line">${r}</td></tr>`)}else o++,s.push(`<tr class="bk-diff-add"><td class="bk-diff-ln"></td><td class="bk-diff-ln">${o}</td><td class="bk-diff-line">${e(t)}</td></tr>`);else if(t.startsWith(`-`))a++,c.push({line:t,oldLnVal:a});else{l(),a++,o++;let n=t.startsWith(` `)?t:` ${t}`;s.push(`<tr class="bk-diff-context"><td class="bk-diff-ln">${a}</td><td class="bk-diff-ln">${o}</td><td class="bk-diff-line">${e(n)}</td></tr>`)}l();let u=i.length>25;return`<div class="bk-diff">${`<div class="bk-diff-toolbar">${u?`<button class="bk-diff-btn bk-diff-expand" data-expand-text="▼ Expand" data-collapse-text="▲ Collapse">▼ Expand</button>`:``}${`<button class="bk-diff-btn bk-diff-copy" data-diff="${encodeURIComponent(r)}">\uD83D\uDCCB Copy</button>`}</div>`}<script>(function(){var c=document.currentScript;if(!c)return;var d=c.parentElement;if(!d)return;var b=d.querySelector('.bk-diff-body');if(!b)return;var e=d.querySelector('.bk-diff-expand');if(e){e.addEventListener('click',function(){var l=b.dataset.collapsed==='true';b.dataset.collapsed=l?'false':'true';b.dataset.expanded=l?'true':'false';e.textContent=l?e.dataset.collapseText:e.dataset.expandText;})}var p=d.querySelector('.bk-diff-copy');if(p&&navigator.clipboard){p.addEventListener('click',function(){navigator.clipboard.writeText(decodeURIComponent(p.dataset.diff)).then(function(){p.dataset.copied='true';setTimeout(function(){delete p.dataset.copied},2000)})})}})();<\/script><div class="bk-diff-body"${u?` data-collapsed="true"`:``}><table class="bk-diff-table">${s.join(``)}</table></div></div>`}function yt(e){let t=i(e);return Array.isArray(t)?t:t&&typeof t==`object`&&Array.isArray(t.files)?t.files:[]}var bt=`
760
1350
  .bk-docs-browser {
761
1351
  display: grid;
762
1352
  gap: var(--dt-space-3);
@@ -801,7 +1391,7 @@
801
1391
  font-size: var(--dt-font-size-xs);
802
1392
  font-weight: 700;
803
1393
  }
804
- `;function rt(t,n){return`<div class="bk-docs-browser">${tt(t.value).map(t=>{let n=c(t.status),r=t.title?`<div class="bk-doc-title">${e(t.title)}</div>`:``,i=t.content?`<pre class="bk-doc-content">${e(t.content)}</pre>`:``;return`<article class="bk-doc-entry"><div class="bk-doc-header"><div>${r}<div class="bk-doc-path">${e(t.path)}</div></div><span class="bk-doc-status" style="background:var(--dt-${n}-subtle);color:var(--dt-${n}-fg);">${e(t.status??`current`)}</span></div>${i}</article>`}).join(``)}</div>`}function it(e){let t=i(e);if(t&&typeof t==`object`){let e=t;return{title:typeof e.title==`string`?e.title:void 0,description:typeof e.description==`string`?e.description:void 0,pages:Array.isArray(e.pages)?e.pages:[]}}return{pages:[]}}function at(e){switch(e){case`draft`:return`warning`;case`deprecated`:return`danger`;default:return`accent`}}function ot(n){let r=n.href?`a`:`article`,i=n.href?` href="${t(n.href)}"`:``,a=n.icon?`<span class="bk-docs-hub-card-icon" aria-hidden="true">${e(n.icon)}</span>`:``,o=n.description?`<p class="bk-docs-hub-card-description">${e(n.description)}</p>`:``,s=n.category?`<span class="bk-docs-hub-card-category">${e(n.category)}</span>`:``,c=n.status?`<span class="bk-docs-hub-card-status" data-tone="${at(n.status)}"><span class="bk-docs-hub-card-status-dot" aria-hidden="true"></span>${e(n.status)}</span>`:``;return`<${r} class="bk-docs-hub-card"${i}><div class="bk-docs-hub-card-head">${a}<div class="bk-docs-hub-card-copy"><div class="bk-docs-hub-card-title">${e(n.title)}</div>${o}</div></div><div class="bk-docs-hub-card-meta">${s}${c}</div></${r}>`}var st=`
1394
+ `;function xt(t,n){return`<div class="bk-docs-browser">${yt(t.value).map(t=>{let n=c(t.status),r=t.title?`<div class="bk-doc-title">${e(t.title)}</div>`:``,i=t.content?`<pre class="bk-doc-content">${e(t.content)}</pre>`:``;return`<article class="bk-doc-entry"><div class="bk-doc-header"><div>${r}<div class="bk-doc-path">${e(t.path)}</div></div><span class="bk-doc-status" style="background:var(--dt-${n}-subtle);color:var(--dt-${n}-fg);">${e(t.status??`current`)}</span></div>${i}</article>`}).join(``)}</div>`}function St(e){let t=i(e);if(t&&typeof t==`object`){let e=t;return{title:typeof e.title==`string`?e.title:void 0,description:typeof e.description==`string`?e.description:void 0,pages:Array.isArray(e.pages)?e.pages:[]}}return{pages:[]}}function Ct(e){switch(e){case`draft`:return`warning`;case`deprecated`:return`danger`;default:return`accent`}}function wt(n){let r=n.href?`a`:`article`,i=n.href?` href="${t(n.href)}"`:``,a=n.icon?`<span class="bk-docs-hub-card-icon" aria-hidden="true">${e(n.icon)}</span>`:``,o=n.description?`<p class="bk-docs-hub-card-description">${e(n.description)}</p>`:``,s=n.category?`<span class="bk-docs-hub-card-category">${e(n.category)}</span>`:``,c=n.status?`<span class="bk-docs-hub-card-status" data-tone="${Ct(n.status)}"><span class="bk-docs-hub-card-status-dot" aria-hidden="true"></span>${e(n.status)}</span>`:``;return`<${r} class="bk-docs-hub-card"${i}><div class="bk-docs-hub-card-head">${a}<div class="bk-docs-hub-card-copy"><div class="bk-docs-hub-card-title">${e(n.title)}</div>${o}</div></div><div class="bk-docs-hub-card-meta">${s}${c}</div></${r}>`}var Tt=`
805
1395
  .bk-docs-hub {
806
1396
  display: grid;
807
1397
  gap: var(--dt-space-4);
@@ -937,7 +1527,7 @@
937
1527
  grid-template-columns: minmax(0, 1fr);
938
1528
  }
939
1529
  }
940
- `;function ct(t,n){let r=it(t.value),i=r.title?`<h4 class="bk-docs-hub-title">${e(r.title)}</h4>`:``,a=r.description?`<p class="bk-docs-hub-description">${e(r.description)}</p>`:``,o=Array.isArray(r.pages)?r.pages:[];return`<section class="bk-docs-hub"><div class="bk-docs-hub-header">${i}${a}</div>${o.length>0?`<div class="bk-docs-hub-grid">${o.map(e=>ot(e)).join(``)}</div>`:`<p class="bk-docs-hub-empty">No documentation pages available.</p>`}</section>`}function lt(e){let t=i(e.value);if(t&&typeof t==`object`){let n=t;return{title:String(n.title??e.title??``),severity:n.severity?String(n.severity):e.severity?String(e.severity):void 0,detail:n.detail??n.value}}return{title:String(e.title??`Finding`),severity:e.severity?String(e.severity):void 0,detail:t}}var ut=`
1530
+ `;function Et(t,n){let r=St(t.value),i=r.title?`<h4 class="bk-docs-hub-title">${e(r.title)}</h4>`:``,a=r.description?`<p class="bk-docs-hub-description">${e(r.description)}</p>`:``,o=Array.isArray(r.pages)?r.pages:[];return`<section class="bk-docs-hub"><div class="bk-docs-hub-header">${i}${a}</div>${o.length>0?`<div class="bk-docs-hub-grid">${o.map(e=>wt(e)).join(``)}</div>`:`<p class="bk-docs-hub-empty">No documentation pages available.</p>`}</section>`}function Dt(e){let t=i(e.value);if(t&&typeof t==`object`){let n=t;return{title:String(n.title??e.title??``),severity:n.severity?String(n.severity):e.severity?String(e.severity):void 0,detail:n.detail??n.value}}return{title:String(e.title??`Finding`),severity:e.severity?String(e.severity):void 0,detail:t}}var Ot=`
941
1531
  .bk-finding {
942
1532
  display: grid;
943
1533
  gap: var(--dt-space-3);
@@ -984,7 +1574,7 @@
984
1574
  line-height: 1.7;
985
1575
  font-size: var(--dt-font-size-sm);
986
1576
  }
987
- `;function dt(t,n){let r=lt(t),i=c(r.severity),o=r.detail===void 0?``:a(String(r.detail)).replace(/\n/g,`<br>`);return`<article class="bk-finding" data-tone="${i}"><div class="bk-finding-header"><div class="bk-finding-title">${e(r.title)}</div><span class="bk-finding-severity" style="background:var(--dt-${i}-subtle);color:var(--dt-${i}-fg);">${e(r.severity??`info`)}</span></div><div class="bk-finding-detail">${o}</div></article>`}function ft(e){return typeof e==`object`&&!!e}function k(e){return ft(e)?{name:typeof e.name==`string`?e.name:``,total:typeof e.total==`number`?e.total:0,self:typeof e.self==`number`?e.self:void 0,children:Array.isArray(e.children)?e.children.map(k).filter(e=>e!==null):[]}:null}function pt(e){let t=[],n=[{node:e,depth:0}];for(;n.length>0;){let e=n.shift();if(!e)continue;let{node:r,depth:i}=e;t[i]||(t[i]=[]),t[i].push(r);for(let e of r.children??[])n.push({node:e,depth:i+1})}return t}function mt(e){let t=[`#e24d28`,`#e8602a`,`#edad2a`,`#f5c842`,`#fce94f`,`#c4a000`,`#e07028`,`#d45500`];return t[e%t.length]}var ht=`
1577
+ `;function kt(t,n){let r=Dt(t),i=c(r.severity),o=r.detail===void 0?``:a(String(r.detail)).replace(/\n/g,`<br>`);return`<article class="bk-finding" data-tone="${i}"><div class="bk-finding-header"><div class="bk-finding-title">${e(r.title)}</div><span class="bk-finding-severity" style="background:var(--dt-${i}-subtle);color:var(--dt-${i}-fg);">${e(r.severity??`info`)}</span></div><div class="bk-finding-detail">${o}</div></article>`}function At(e){return typeof e==`object`&&!!e}function N(e){return At(e)?{name:typeof e.name==`string`?e.name:``,total:typeof e.total==`number`?e.total:0,self:typeof e.self==`number`?e.self:void 0,children:Array.isArray(e.children)?e.children.map(N).filter(e=>e!==null):[]}:null}function jt(e){let t=[],n=[{node:e,depth:0}];for(;n.length>0;){let e=n.shift();if(!e)continue;let{node:r,depth:i}=e;t[i]||(t[i]=[]),t[i].push(r);for(let e of r.children??[])n.push({node:e,depth:i+1})}return t}function Mt(e){let t=[`#e24d28`,`#e8602a`,`#edad2a`,`#f5c842`,`#fce94f`,`#c4a000`,`#e07028`,`#d45500`];return t[e%t.length]}var Nt=`
988
1578
  .bk-flame {
989
1579
  display: grid;
990
1580
  gap: 1px;
@@ -1029,10 +1619,10 @@
1029
1619
  font-size: 10px;
1030
1620
  }
1031
1621
  }
1032
- `;function gt(t,n){let r=i(t.value);if(!ft(r))return`<div class="bk-flame"></div>`;let a=ft(r.profile)?k(r.profile):k(r);if(!a)return`<div class="bk-flame"></div>`;let o=pt(a),s=Math.max(a.total,1);return`<div class="bk-flame">${o.map((t,n)=>`<div class="bk-flame-row">${t.map(t=>{let r=Math.max(.5,t.total/s*100),i=r<8?` bk-flame-bar-label--muted`:``,a=(t.children?.length??0)>0,o=t.self===void 0?`${e(t.name)}: ${t.total}`:`${e(t.name)}: ${t.total} (self: ${t.self})`;return`<div class="bk-flame-bar" style="width:${r}%;background:${mt(n)}" title="${o}" data-has-children="${a}">
1622
+ `;function Pt(t,n){let r=i(t.value);if(!At(r))return`<div class="bk-flame"></div>`;let a=At(r.profile)?N(r.profile):N(r);if(!a)return`<div class="bk-flame"></div>`;let o=jt(a),s=Math.max(a.total,1);return`<div class="bk-flame">${o.map((t,n)=>`<div class="bk-flame-row">${t.map(t=>{let r=Math.max(.5,t.total/s*100),i=r<8?` bk-flame-bar-label--muted`:``,a=(t.children?.length??0)>0,o=t.self===void 0?`${e(t.name)}: ${t.total}`:`${e(t.name)}: ${t.total} (self: ${t.self})`;return`<div class="bk-flame-bar" style="width:${r}%;background:${Mt(n)}" title="${o}" data-has-children="${a}">
1033
1623
  <span class="bk-flame-bar-label${i}">${e(t.name)} (${t.total})</span>
1034
1624
  </div>`}).join(``)}</div>`).join(`
1035
- `)}</div>`}function _t(e){return String(e??``).replace(/"/g,`\\"`)}var vt=`
1625
+ `)}</div>`}function Ft(e){return String(e??``).replace(/"/g,`\\"`)}var It=`
1036
1626
  .bk-graph {
1037
1627
  margin: 0;
1038
1628
  padding: var(--dt-space-4);
@@ -1045,8 +1635,8 @@
1045
1635
  font-size: var(--dt-font-size-sm);
1046
1636
  line-height: 1.6;
1047
1637
  }
1048
- `;function yt(t,r){let a=i(t.value),o=[`graph ${[`TD`,`LR`,`RL`,`BT`].includes(String(t.direction??`TD`))?String(t.direction??`TD`):`TD`}`];for(let e of a?.nodes??[]){let t=n(String(e.id??e.name??`node`)),r=_t(e.label??e.name??t);o.push(` ${t}["${r}"]`)}for(let e of a?.edges??[]){let t=n(String(e.from??e.source??`from`)),r=n(String(e.to??e.target??`to`)),i=e.label?`|${_t(e.label)}|`:``;o.push(` ${t} -->${i} ${r}`)}return`<pre class="bk-graph mermaid">${e(o.join(`
1049
- `))}</pre>`}var bt=`
1638
+ `;function Lt(t,r){let a=i(t.value),o=[`graph ${[`TD`,`LR`,`RL`,`BT`].includes(String(t.direction??`TD`))?String(t.direction??`TD`):`TD`}`];for(let e of a?.nodes??[]){let t=n(String(e.id??e.name??`node`)),r=Ft(e.label??e.name??t);o.push(` ${t}["${r}"]`)}for(let e of a?.edges??[]){let t=n(String(e.from??e.source??`from`)),r=n(String(e.to??e.target??`to`)),i=e.label?`|${Ft(e.label)}|`:``;o.push(` ${t} -->${i} ${r}`)}return`<pre class="bk-graph mermaid">${e(o.join(`
1639
+ `))}</pre>`}var Rt=`
1050
1640
  .bk-heading {
1051
1641
  margin: 0;
1052
1642
  color: var(--dt-text-primary);
@@ -1061,7 +1651,7 @@
1061
1651
  .bk-heading--4 { font-size: var(--dt-font-size-xl); }
1062
1652
  .bk-heading--5,
1063
1653
  .bk-heading--6 { font-size: var(--dt-font-size-base); letter-spacing: normal; }
1064
- `;function xt(t,n){let r=Number(t.level??2),i=Number.isFinite(r)?Math.max(1,Math.min(r,6)):2;return`<h${i} class="bk-heading bk-heading--${i}">${e(String(t.value??t.title??``))}</h${i}>`}function St(e){return Array.isArray(e)?e.flatMap(e=>{if(!e||typeof e!=`object`)return[];let t=e;return[{key:r(t.key),value:r(t.value)}]}):e&&typeof e==`object`?Object.entries(e).map(([e,t])=>({key:e,value:r(t)})):[]}var Ct=`
1654
+ `;function zt(t,n){let r=Number(t.level??2),i=Number.isFinite(r)?Math.max(1,Math.min(r,6)):2;return`<h${i} class="bk-heading bk-heading--${i}">${e(String(t.value??t.title??``))}</h${i}>`}function Bt(e){return Array.isArray(e)?e.flatMap(e=>{if(!e||typeof e!=`object`)return[];let t=e;return[{key:r(t.key),value:r(t.value)}]}):e&&typeof e==`object`?Object.entries(e).map(([e,t])=>({key:e,value:r(t)})):[]}var Vt=`
1065
1655
  .bk-kv {
1066
1656
  display: grid;
1067
1657
  grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr));
@@ -1093,7 +1683,7 @@
1093
1683
  font-size: var(--dt-font-size-sm);
1094
1684
  line-height: 1.5;
1095
1685
  }
1096
- `;function wt(e,t){return`<dl class="bk-kv">${St(e.value).map(e=>`<div class="bk-kv-entry"><dt class="bk-kv-key">${a(e.key)}</dt><dd class="bk-kv-value">${a(e.value)}</dd></div>`).join(``)}</dl>`}var Tt=164,Et=84,Dt=44,Ot=32,kt=28;function At(e){let t=i(e);if(t&&typeof t==`object`){let e=t;return{title:typeof e.title==`string`?e.title:void 0,steps:Array.isArray(e.steps)?e.steps:[],edges:Array.isArray(e.edges)?e.edges:[]}}return{steps:[],edges:[]}}function jt(e){switch(e){case`completed`:return`success`;case`error`:return`danger`;case`pending`:return`slate`;default:return`accent`}}function Mt(e,t){let n=e.trim().split(/\s+/).filter(Boolean);if(n.length===0)return[``];let r=[],i=``;for(let e of n){let n=i?`${i} ${e}`:e;if(n.length<=t||i.length===0){i=n;continue}if(r.push(i),i=e,r.length===1)break}return i&&r.push(i),r.length>2?r.slice(0,2):(r.length===2&&n.join(` `).length>r[0].length+r[1].length&&(r[1]=`${r[1].slice(0,Math.max(0,t-1))}…`),r)}function Nt(e){return e.type===`decision`?{width:112,height:112}:{width:Tt,height:Et}}function Pt(e){let t=Ot;return e.map(e=>{let{width:n,height:r}=Nt(e),i={step:e,x:t,y:kt,width:n,height:r,centerX:t+n/2,centerY:kt+r/2};return t+=n+Dt,i})}function Ft(t){let r=Mt(t.step.label,t.step.type===`decision`?12:16),i=t.step.description?Mt(t.step.description,t.step.type===`decision`?12:18).slice(0,1):[],a=t.centerY-(r.length+i.length-1)*18/2,o=[...r.map((n,r)=>`<text class="bk-lifecycle-flow-label" x="${t.centerX}" y="${a+r*18}">${e(n)}</text>`),...i.map((n,i)=>`<text class="bk-lifecycle-flow-description" x="${t.centerX}" y="${a+(r.length+i)*18}">${e(n)}</text>`)].join(``),s=`<rect class="bk-lifecycle-flow-shape" x="${t.x}" y="${t.y}" width="${t.width}" height="${t.height}" rx="18" ry="18" />`;t.step.type===`start`||t.step.type===`end`?s=`<rect class="bk-lifecycle-flow-shape" x="${t.x}" y="${t.y}" width="${t.width}" height="${t.height}" rx="40" ry="40" />`:t.step.type===`decision`&&(s=`<polygon class="bk-lifecycle-flow-shape" points="${`${t.centerX},${t.y}`} ${`${t.x+t.width},${t.centerY}`} ${`${t.centerX},${t.y+t.height}`} ${`${t.x},${t.centerY}`}" />`);let c=t.step.type===`parallel`?`<g class="bk-lifecycle-flow-parallel-mark"><line x1="${t.x+18}" y1="${t.y+18}" x2="${t.x+18}" y2="${t.y+t.height-18}" /><line x1="${t.x+t.width-18}" y1="${t.y+18}" x2="${t.x+t.width-18}" y2="${t.y+t.height-18}" /></g>`:``;return`<g class="bk-lifecycle-flow-node bk-lifecycle-flow-node--${t.step.type??`step`} bk-lifecycle-flow-node--${jt(t.step.status)}" id="${n(t.step.id)}">${s}${c}${o}</g>`}function It(t,n){let r=n.get(t.from),i=n.get(t.to);if(!r||!i)return``;let a=r.x+r.width,o=r.centerY,s=i.x,c=i.centerY,l=Math.round((a+s)/2);return`${`<path class="bk-lifecycle-flow-edge" d="M ${a} ${o} C ${l} ${o} ${l} ${c} ${s} ${c}" marker-end="url(#bk-lifecycle-flow-arrow)" />`}${t.label?`<text class="bk-lifecycle-flow-edge-label" x="${l}" y="${Math.min(o,c)-12}">${e(t.label)}</text>`:``}`}function Lt(e,t){return Array.isArray(t)&&t.length>0?t:e.slice(1).map((t,n)=>({from:e[n].id,to:t.id}))}var Rt=`
1686
+ `;function Ht(e,t){return`<dl class="bk-kv">${Bt(e.value).map(e=>`<div class="bk-kv-entry"><dt class="bk-kv-key">${a(e.key)}</dt><dd class="bk-kv-value">${a(e.value)}</dd></div>`).join(``)}</dl>`}var Ut=164,Wt=84,Gt=44,Kt=32,qt=28;function Jt(e){let t=i(e);if(t&&typeof t==`object`){let e=t;return{title:typeof e.title==`string`?e.title:void 0,steps:Array.isArray(e.steps)?e.steps:[],edges:Array.isArray(e.edges)?e.edges:[]}}return{steps:[],edges:[]}}function Yt(e){switch(e){case`completed`:return`success`;case`error`:return`danger`;case`pending`:return`slate`;default:return`accent`}}function Xt(e,t){let n=e.trim().split(/\s+/).filter(Boolean);if(n.length===0)return[``];let r=[],i=``;for(let e of n){let n=i?`${i} ${e}`:e;if(n.length<=t||i.length===0){i=n;continue}if(r.push(i),i=e,r.length===1)break}return i&&r.push(i),r.length>2?r.slice(0,2):(r.length===2&&n.join(` `).length>r[0].length+r[1].length&&(r[1]=`${r[1].slice(0,Math.max(0,t-1))}…`),r)}function Zt(e){return e.type===`decision`?{width:112,height:112}:{width:Ut,height:Wt}}function Qt(e){let t=Kt;return e.map(e=>{let{width:n,height:r}=Zt(e),i={step:e,x:t,y:qt,width:n,height:r,centerX:t+n/2,centerY:qt+r/2};return t+=n+Gt,i})}function $t(t){let r=Xt(t.step.label,t.step.type===`decision`?12:16),i=t.step.description?Xt(t.step.description,t.step.type===`decision`?12:18).slice(0,1):[],a=t.centerY-(r.length+i.length-1)*18/2,o=[...r.map((n,r)=>`<text class="bk-lifecycle-flow-label" x="${t.centerX}" y="${a+r*18}">${e(n)}</text>`),...i.map((n,i)=>`<text class="bk-lifecycle-flow-description" x="${t.centerX}" y="${a+(r.length+i)*18}">${e(n)}</text>`)].join(``),s=`<rect class="bk-lifecycle-flow-shape" x="${t.x}" y="${t.y}" width="${t.width}" height="${t.height}" rx="18" ry="18" />`;t.step.type===`start`||t.step.type===`end`?s=`<rect class="bk-lifecycle-flow-shape" x="${t.x}" y="${t.y}" width="${t.width}" height="${t.height}" rx="40" ry="40" />`:t.step.type===`decision`&&(s=`<polygon class="bk-lifecycle-flow-shape" points="${`${t.centerX},${t.y}`} ${`${t.x+t.width},${t.centerY}`} ${`${t.centerX},${t.y+t.height}`} ${`${t.x},${t.centerY}`}" />`);let c=t.step.type===`parallel`?`<g class="bk-lifecycle-flow-parallel-mark"><line x1="${t.x+18}" y1="${t.y+18}" x2="${t.x+18}" y2="${t.y+t.height-18}" /><line x1="${t.x+t.width-18}" y1="${t.y+18}" x2="${t.x+t.width-18}" y2="${t.y+t.height-18}" /></g>`:``;return`<g class="bk-lifecycle-flow-node bk-lifecycle-flow-node--${t.step.type??`step`} bk-lifecycle-flow-node--${Yt(t.step.status)}" id="${n(t.step.id)}">${s}${c}${o}</g>`}function en(t,n){let r=n.get(t.from),i=n.get(t.to);if(!r||!i)return``;let a=r.x+r.width,o=r.centerY,s=i.x,c=i.centerY,l=Math.round((a+s)/2);return`${`<path class="bk-lifecycle-flow-edge" d="M ${a} ${o} C ${l} ${o} ${l} ${c} ${s} ${c}" marker-end="url(#bk-lifecycle-flow-arrow)" />`}${t.label?`<text class="bk-lifecycle-flow-edge-label" x="${l}" y="${Math.min(o,c)-12}">${e(t.label)}</text>`:``}`}function tn(e,t){return Array.isArray(t)&&t.length>0?t:e.slice(1).map((t,n)=>({from:e[n].id,to:t.id}))}var nn=`
1097
1687
  .bk-lifecycle-flow {
1098
1688
  display: grid;
1099
1689
  gap: var(--dt-space-3);
@@ -1187,7 +1777,7 @@
1187
1777
  .bk-lifecycle-flow-node--slate {
1188
1778
  color: var(--dt-text-secondary);
1189
1779
  }
1190
- `;function zt(t,n){let r=At(t.value),i=Array.isArray(r.steps)?r.steps.filter(e=>e?.id):[];if(i.length===0)return`<div class="bk-lifecycle-flow"><p class="bk-docs-hub-empty">No lifecycle steps available.</p></div>`;let a=Pt(i),o=new Map(a.map(e=>[e.step.id,e])),s=Lt(i,r.edges),c=Math.max(320,(a.at(-1)?.x??0)+(a.at(-1)?.width??0)+Ot);return`<figure class="bk-lifecycle-flow">${r.title?`<figcaption class="bk-lifecycle-flow-title">${e(r.title)}</figcaption>`:``}<div class="bk-lifecycle-flow-frame"><svg class="bk-lifecycle-flow-svg" viewBox="0 0 ${c} 172" role="img" aria-label="${e(r.title??`Lifecycle flow`)}"><defs><marker id="bk-lifecycle-flow-arrow" markerWidth="10" markerHeight="10" refX="9" refY="5" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" fill="var(--dt-border-default)" /></marker></defs><g class="bk-lifecycle-flow-edges">${s.map(e=>It(e,o)).join(``)}</g><g class="bk-lifecycle-flow-nodes">${a.map(e=>Ft(e)).join(``)}</g></svg></div></figure>`}var Bt=`
1780
+ `;function rn(t,n){let r=Jt(t.value),i=Array.isArray(r.steps)?r.steps.filter(e=>e?.id):[];if(i.length===0)return`<div class="bk-lifecycle-flow"><p class="bk-docs-hub-empty">No lifecycle steps available.</p></div>`;let a=Qt(i),o=new Map(a.map(e=>[e.step.id,e])),s=tn(i,r.edges),c=Math.max(320,(a.at(-1)?.x??0)+(a.at(-1)?.width??0)+Kt);return`<figure class="bk-lifecycle-flow">${r.title?`<figcaption class="bk-lifecycle-flow-title">${e(r.title)}</figcaption>`:``}<div class="bk-lifecycle-flow-frame"><svg class="bk-lifecycle-flow-svg" viewBox="0 0 ${c} 172" role="img" aria-label="${e(r.title??`Lifecycle flow`)}"><defs><marker id="bk-lifecycle-flow-arrow" markerWidth="10" markerHeight="10" refX="9" refY="5" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" fill="var(--dt-border-default)" /></marker></defs><g class="bk-lifecycle-flow-edges">${s.map(e=>en(e,o)).join(``)}</g><g class="bk-lifecycle-flow-nodes">${a.map(e=>$t(e)).join(``)}</g></svg></div></figure>`}var an=`
1191
1781
  .bk-list {
1192
1782
  display: grid;
1193
1783
  gap: var(--dt-space-2);
@@ -1216,16 +1806,16 @@
1216
1806
  box-shadow: 0 0 0 3px var(--dt-accent-subtle);
1217
1807
  transform: translateY(-50%);
1218
1808
  }
1219
- `;function Vt(e,t){return`<ul class="bk-list">${(Array.isArray(e.value)?e.value:[]).map(e=>`<li class="bk-list-item">${a(String(e??``))}</li>`).join(``)}</ul>`}var Ht=`
1220
- ${bt}
1809
+ `;function on(e,t){return`<ul class="bk-list">${(Array.isArray(e.value)?e.value:[]).map(e=>`<li class="bk-list-item">${a(String(e??``))}</li>`).join(``)}</ul>`}var sn=`
1810
+ ${Rt}
1221
1811
  .bk-markdown {
1222
1812
  color: var(--dt-text-primary);
1223
1813
  font-size: var(--dt-font-size-base);
1224
1814
  line-height: 1.7;
1225
1815
  }
1226
- `,Ut=/^(#{1,6})\s+(.+)$/,Wt=/^(?:(?:-\s*){3,}|(?:\*\s*){3,}|(?:_\s*){3,})$/;function Gt(e){return e.length?`<p>${e.map(e=>a(e)).join(`<br>`)}</p>`:``}function Kt(t,n){let r=String(t.value??``);if(r.trimStart().startsWith(`<`))return`<div class="bk-markdown">${r}</div>`;let i=[],a=[],o=!1,s=[],c=``,l=()=>{let e=Gt(a);e&&(i.push(e),a.length=0)};for(let t of r.split(/\r?\n/)){let n=t.trim();if(n.startsWith("```")){if(!o)l(),o=!0,c=n.slice(3).trim(),s=[];else{let t=c?` class="${e(c)}"`:``;i.push(`<pre class="bk-code"><code${t}>${e(s.join(`
1227
- `))}</code></pre>`),o=!1,s=[],c=``}continue}if(o){s.push(t);continue}if(!n){l();continue}let r=n.match(Ut);if(r){l();let[,t,n]=r,a=t.length;i.push(`<h${a} class="bk-heading bk-heading--${a}">${e(n)}</h${a}>`);continue}if(Wt.test(n)){l(),i.push(`<hr>`);continue}a.push(t)}if(l(),o&&s.length>0){let t=c?` class="${e(c)}"`:``;i.push(`<pre class="bk-code"><code${t}>${e(s.join(`
1228
- `))}</code></pre>`)}return`<div class="bk-markdown">${i.join(``)}</div>`}var qt=`
1816
+ `,cn=/^(#{1,6})\s+(.+)$/,ln=/^(?:(?:-\s*){3,}|(?:\*\s*){3,}|(?:_\s*){3,})$/;function un(e){return e.length?`<p>${e.map(e=>a(e)).join(`<br>`)}</p>`:``}function dn(t,n){let r=String(t.value??``);if(r.trimStart().startsWith(`<`))return`<div class="bk-markdown">${r}</div>`;let i=[],a=[],o=!1,s=[],c=``,l=()=>{let e=un(a);e&&(i.push(e),a.length=0)};for(let t of r.split(/\r?\n/)){let n=t.trim();if(n.startsWith("```")){if(!o)l(),o=!0,c=n.slice(3).trim(),s=[];else{let t=c?` class="${e(c)}"`:``,n=s.join(`
1817
+ `),r=(c?Le(n,c):``)||e(n);i.push(`<pre class="bk-code"><code${t}>${r}</code></pre>`),o=!1,s=[],c=``}continue}if(o){s.push(t);continue}if(!n){l();continue}let r=n.match(cn);if(r){l();let[,t,n]=r,a=t.length;i.push(`<h${a} class="bk-heading bk-heading--${a}">${e(n)}</h${a}>`);continue}if(ln.test(n)){l(),i.push(`<hr>`);continue}a.push(t)}if(l(),o&&s.length>0){let t=c?` class="${e(c)}"`:``,n=s.join(`
1818
+ `),r=(c?Le(n,c):``)||e(n);i.push(`<pre class="bk-code"><code${t}>${r}</code></pre>`)}return`<div class="bk-markdown">${i.join(``)}</div>`}var fn=`
1229
1819
  .bk-mermaid {
1230
1820
  margin: 0;
1231
1821
  padding: var(--dt-space-4);
@@ -1254,7 +1844,20 @@ ${bt}
1254
1844
  max-width: 100%;
1255
1845
  height: auto;
1256
1846
  }
1257
- `;function Jt(t,n){return`<pre class="bk-mermaid mermaid">${e(String(t.value??``))}</pre>`}function Yt(t){if(t==null||t===``)return``;let n=r(t),i=Number(String(t).replace(/[^0-9.-]/g,``));return`<span class="bk-metric-trend">${Number.isNaN(i)?``:i>0?`↑ `:i<0?`↓ `:`→ `}${e(n)}</span>`}var Xt=`
1847
+
1848
+ @media (max-width: 480px) {
1849
+ .bk-mermaid {
1850
+ padding: var(--dt-space-3);
1851
+ }
1852
+ }
1853
+
1854
+ @media (max-width: 320px) {
1855
+ .bk-mermaid {
1856
+ padding: var(--dt-space-2);
1857
+ font-size: 0.75rem;
1858
+ }
1859
+ }
1860
+ `;function pn(t,n){return`<pre class="bk-mermaid mermaid">${e(String(t.value??``))}</pre>`}function mn(t){if(t==null||t===``)return``;let n=r(t);if(/^[↑↓→]/.test(n))return`<span class="bk-metric-trend">${e(n)}</span>`;let i=Number(String(t).replace(/[^0-9.-]/g,``));return`<span class="bk-metric-trend">${Number.isNaN(i)?``:i>0?`↑ `:i<0?`↓ `:`→ `}${e(n)}</span>`}var hn=`
1258
1861
  .bk-metrics {
1259
1862
  display: grid;
1260
1863
  grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
@@ -1270,6 +1873,8 @@ ${bt}
1270
1873
  background: var(--dt-bg-secondary);
1271
1874
  box-shadow: var(--dt-shadow-sm);
1272
1875
  transition: transform var(--dt-transition-normal), box-shadow var(--dt-transition-normal), border-color var(--dt-transition-normal);
1876
+ animation: aikit-enter-fade 400ms cubic-bezier(0.16, 1, 0.3, 1) both;
1877
+ animation-delay: calc(var(--i, 0) * 80ms);
1273
1878
  }
1274
1879
 
1275
1880
  .bk-metric:hover {
@@ -1297,14 +1902,45 @@ ${bt}
1297
1902
  color: var(--dt-text-tertiary);
1298
1903
  font-size: var(--dt-font-size-sm);
1299
1904
  }
1300
- `;function Zt(t,n){return`<div class="bk-metrics">${l(t).map(t=>`<article class="bk-metric" data-tone="${c(t.status)}"><div class="bk-metric-label">${e(t.label)}</div><div class="bk-metric-value">${e(r(t.value))}</div>${Yt(t.trend)}</article>`).join(``)}</div>`}var Qt=`
1905
+
1906
+ /* ── Compact metrics on mobile ── */
1907
+ @media (max-width: 480px) {
1908
+ .bk-metrics {
1909
+ gap: var(--dt-space-3);
1910
+ }
1911
+ .bk-metric {
1912
+ padding: var(--dt-space-4);
1913
+ }
1914
+ .bk-metric-value {
1915
+ font-size: var(--dt-font-size-2xl);
1916
+ }
1917
+ }
1918
+
1919
+ @media (max-width: 320px) {
1920
+ .bk-metric {
1921
+ padding: var(--dt-space-3);
1922
+ }
1923
+ .bk-metric-value {
1924
+ font-size: var(--dt-font-size-xl);
1925
+ }
1926
+ }
1927
+ `;function gn(t,n){return`<div class="bk-metrics">${l(t).map((t,n)=>`<article class="bk-metric" data-tone="${c(t.status)}" style="--i: ${n}"><div class="bk-metric-label">${e(t.label)}</div><div class="bk-metric-value">${e(r(t.value))}</div>${mn(t.trend)}</article>`).join(``)}</div>`}var _n=`
1301
1928
  .bk-paragraph {
1302
1929
  margin: 0;
1303
1930
  color: var(--dt-text-primary);
1304
1931
  font-size: var(--dt-font-size-base);
1305
1932
  line-height: 1.7;
1306
1933
  }
1307
- `;function $t(t,n){return`<p class="bk-paragraph">${e(String(t.value??t.text??``))}</p>`}function en(e){let t=i(e);if(Array.isArray(t))return t;if(t&&typeof t==`object`){if(Array.isArray(t.items))return t.items;if(`value`in t)return[t]}return[]}var tn=`
1934
+ `;function vn(t,n){return`<p class="bk-paragraph">${e(String(t.value??t.text??``))}</p>`}function yn(e){let t=i(e);if(Array.isArray(t))return t;if(t&&typeof t==`object`){if(Array.isArray(t.items))return t.items;if(`value`in t)return[t]}return[]}var bn=`
1935
+ @keyframes glow-pulse {
1936
+ 0%, 100% {
1937
+ box-shadow: inset 0 1px 0 rgba(255,255,255,0.15), 0 0 12px var(--bar-glow);
1938
+ }
1939
+ 50% {
1940
+ box-shadow: inset 0 1px 0 rgba(255,255,255,0.15), 0 0 22px var(--bar-glow);
1941
+ }
1942
+ }
1943
+
1308
1944
  .bk-progress {
1309
1945
  display: grid;
1310
1946
  gap: var(--dt-space-4);
@@ -1338,10 +1974,18 @@ ${bt}
1338
1974
  min-width: 0;
1339
1975
  border-radius: inherit;
1340
1976
  background: var(--dt-accent-emphasis);
1341
- box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15);
1342
- transition: width var(--dt-transition-slow);
1977
+ box-shadow: inset 0 1px 0 rgba(255,255,255,0.15), 0 0 12px var(--bar-glow, transparent);
1978
+ animation:
1979
+ aikit-progress-fill 800ms cubic-bezier(0.16,1,0.3,1) forwards,
1980
+ glow-pulse 2s ease-in-out infinite;
1981
+ animation-delay: calc(var(--i, 0) * 100ms), calc(var(--i, 0) * 100ms + 800ms);
1982
+ }
1983
+
1984
+ /* Cap at 10 items to avoid excessive delays */
1985
+ .bk-progress-item:nth-child(n+11) .bk-progress-bar {
1986
+ animation-delay: 0ms, 800ms;
1343
1987
  }
1344
- `;function nn(t,n){return`<div class="bk-progress">${en(t.value).map(t=>{let n=Math.max(1,Number(t.max)||100),r=Math.max(0,Number(t.value)||0),i=Math.round(Math.min(r/n*100,100)),a=c(t.color);return`<div class="bk-progress-item"><div class="bk-progress-meta"><span>${e(t.label)}</span><span>${i}%</span></div><div class="bk-progress-track"><span class="bk-progress-bar" style="width:${i}%;background:var(--dt-${a}-emphasis);box-shadow:0 0 16px var(--dt-glow-${a});"></span></div></div>`}).join(``)}</div>`}function rn(e){if(typeof e==`string`)return e;try{return JSON.stringify(e,null,2)}catch{return String(e??``)}}var an=`
1988
+ `;function xn(t,n){return`<div class="bk-progress">${yn(t.value).map((t,n)=>{let r=Math.max(1,Number(t.max)||100),i=Math.max(0,Number(t.value)||0),a=Math.round(Math.min(i/r*100,100)),o=c(t.color);return`<div class="bk-progress-item" style="--i: ${n}"><div class="bk-progress-meta"><span>${e(t.label)}</span><span>${a}%</span></div><div class="bk-progress-track"><span class="bk-progress-bar" role="progressbar" aria-valuenow="${i}" aria-valuemin="0" aria-valuemax="${r}" aria-label="${e(t.label)}" style="width:${a}%;background:var(--dt-${o}-emphasis);--bar-glow:var(--dt-glow-${o});"></span></div></div>`}).join(``)}</div>`}function Sn(e){if(typeof e==`string`)return e;try{return JSON.stringify(e,null,2)}catch{return String(e??``)}}var Cn=`
1345
1989
  .bk-prompt {
1346
1990
  margin: 0;
1347
1991
  padding: var(--dt-space-4);
@@ -1355,13 +1999,13 @@ ${bt}
1355
1999
  line-height: 1.6;
1356
2000
  white-space: pre-wrap;
1357
2001
  }
1358
- `;function on(t,n){return`<pre class="bk-prompt">${e(rn(t.value))}</pre>`}var sn=`
2002
+ `;function wn(t,n){return`<pre class="bk-prompt">${e(Sn(t.value))}</pre>`}var Tn=`
1359
2003
  .bk-separator {
1360
2004
  margin: var(--dt-space-6) 0;
1361
2005
  border: 0;
1362
2006
  border-top: 1px solid var(--dt-border-default);
1363
2007
  }
1364
- `;function cn(e,t){return`<hr class="bk-separator">`}function ln(e){let t=i(e);return Array.isArray(t)?t:t&&typeof t==`object`&&Array.isArray(t.items)?t.items:[]}var un=`
2008
+ `;function En(e,t){return`<hr class="bk-separator">`}function Dn(e){let t=i(e);return Array.isArray(t)?t:t&&typeof t==`object`&&Array.isArray(t.items)?t.items:[]}var On=`
1365
2009
  .bk-status-board {
1366
2010
  display: grid;
1367
2011
  gap: var(--dt-space-4);
@@ -1419,13 +2063,23 @@ ${bt}
1419
2063
  .bk-status-description {
1420
2064
  color: var(--dt-text-secondary);
1421
2065
  }
1422
- `;function dn(t,n){return`<div class="bk-status-board">${ln(t.value).map(t=>{let n=t.items.map(t=>{let n=c(t.status),r=t.description?`<div class="bk-status-description">${e(t.description)}</div>`:``;return`<div class="bk-status-item"><span class="bk-status-pill" style="background:var(--dt-${n}-subtle);color:var(--dt-${n}-fg);">${e(t.status??`pending`)}</span><div class="bk-status-copy"><div class="bk-status-label">${e(t.label??t.name??``)}</div>${r}</div></div>`}).join(``);return`<section class="bk-status-category"><div class="bk-status-category-title">${e(t.category)}</div><div class="bk-status-items">${n}</div></section>`}).join(``)}</div>`}function fn(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function pn(e){let t=(e??[]).map(e=>{if(fn(e)){let t=typeof e.key==`string`?e.key:String(e.label??``);return{key:t,label:typeof e.label==`string`?e.label:t}}let t=String(e);return{key:t,label:t}});return{headers:t.map(e=>e.label),keys:t.map(e=>e.key)}}function mn(e){if(Array.isArray(e.columns)){let{headers:t,keys:n}=pn(e.columns),r=Array.isArray(e.rows)?e.rows:[];return r.length>0&&Array.isArray(r[0])?{headers:t,keys:n,rows:r.map(e=>Object.fromEntries(n.map((t,n)=>[t,e[n]??``])))}:r.length>0&&typeof r[0]==`object`&&r[0]!==null?{headers:t,keys:n,rows:r}:{headers:t,keys:n,rows:[]}}let t=i(e.value);if(Array.isArray(t)){if(t.length>0&&typeof t[0]==`object`&&t[0]!==null&&!Array.isArray(t[0])){let n=t,r=Array.isArray(e.headers)?e.headers.map(String):Object.keys(n[0]??{});return{headers:r,keys:r,rows:n}}if(t.length>0&&Array.isArray(t[0])){let[n,...r]=t,i=Array.isArray(e.headers)?e.headers.map(String):n.map(String);return{headers:i,keys:i,rows:r.map(e=>Object.fromEntries(i.map((t,n)=>[t,e[n]])))}}}if(t&&typeof t==`object`){let n=Array.isArray(e.headers)?e.headers.map(String):Array.isArray(t.headers)?t.headers.map(String):[],r=Array.isArray(t.rows)?t.rows:[];if(r.length>0&&Array.isArray(r[0]))return{headers:n,keys:n,rows:r.map(e=>Object.fromEntries(n.map((t,n)=>[t,e[n]])))};if(r.length>0&&typeof r[0]==`object`&&r[0]!==null)return{headers:n,keys:n,rows:r}}if(Array.isArray(e.headers)){let t=e.headers.map(String);return{headers:t,keys:t,rows:[]}}if(Array.isArray(e.columns)){let{headers:t,keys:n}=pn(e.columns);return{headers:t,keys:n,rows:[]}}return{headers:[],keys:[],rows:[]}}var hn=`
2066
+ `;function kn(t,n){return`<div class="bk-status-board">${Dn(t.value).map(t=>{let n=t.items.map(t=>{let n=c(t.status),r=t.description?`<div class="bk-status-description">${e(t.description)}</div>`:``;return`<div class="bk-status-item"><span class="bk-status-pill" style="background:var(--dt-${n}-subtle);color:var(--dt-${n}-fg);">${e(t.status??`pending`)}</span><div class="bk-status-copy"><div class="bk-status-label">${e(t.label??t.name??``)}</div>${r}</div></div>`}).join(``);return`<section class="bk-status-category"><div class="bk-status-category-title">${e(t.category)}</div><div class="bk-status-items">${n}</div></section>`}).join(``)}</div>`}function An(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function jn(e){let t=(e??[]).map(e=>{if(An(e)){let t=typeof e.key==`string`?e.key:String(e.label??``);return{key:t,label:typeof e.label==`string`?e.label:t}}let t=String(e);return{key:t,label:t}});return{headers:t.map(e=>e.label),keys:t.map(e=>e.key)}}function Mn(e){if(Array.isArray(e.columns)){let{headers:t,keys:n}=jn(e.columns),r=Array.isArray(e.rows)?e.rows:[];return r.length>0&&Array.isArray(r[0])?{headers:t,keys:n,rows:r.map(e=>Object.fromEntries(n.map((t,n)=>[t,e[n]??``])))}:r.length>0&&typeof r[0]==`object`&&r[0]!==null?{headers:t,keys:n,rows:r}:{headers:t,keys:n,rows:[]}}let t=i(e.value);if(Array.isArray(t)){if(t.length>0&&typeof t[0]==`object`&&t[0]!==null&&!Array.isArray(t[0])){let n=t,r=Array.isArray(e.headers)?e.headers.map(String):Object.keys(n[0]??{});return{headers:r,keys:r,rows:n}}if(t.length>0&&Array.isArray(t[0])){let[n,...r]=t,i=Array.isArray(e.headers)?e.headers.map(String):n.map(String);return{headers:i,keys:i,rows:r.map(e=>Object.fromEntries(i.map((t,n)=>[t,e[n]])))}}}if(t&&typeof t==`object`){let n=Array.isArray(e.headers)?e.headers.map(String):Array.isArray(t.headers)?t.headers.map(String):[],r=Array.isArray(t.rows)?t.rows:[];if(r.length>0&&Array.isArray(r[0]))return{headers:n,keys:n,rows:r.map(e=>Object.fromEntries(n.map((t,n)=>[t,e[n]])))};if(r.length>0&&typeof r[0]==`object`&&r[0]!==null)return{headers:n,keys:n,rows:r}}if(Array.isArray(e.headers)){let t=e.headers.map(String);return{headers:t,keys:t,rows:[]}}if(Array.isArray(e.columns)){let{headers:t,keys:n}=jn(e.columns);return{headers:t,keys:n,rows:[]}}return{headers:[],keys:[],rows:[]}}var Nn=`
2067
+ /* ── Scroll fade mask (indicates overflow) ── */
1423
2068
  .bk-table-wrap {
1424
2069
  overflow-x: auto;
1425
2070
  border: 1px solid var(--dt-border-default);
1426
2071
  border-radius: var(--dt-radius-lg);
1427
2072
  background: var(--dt-bg-secondary);
1428
2073
  box-shadow: var(--dt-shadow-sm);
2074
+ /* Fade at right edge when content overflows */
2075
+ mask-image: linear-gradient(to right, black 85%, transparent 98%);
2076
+ -webkit-mask-image: linear-gradient(to right, black 85%, transparent 98%);
2077
+ mask-mode: alpha;
2078
+ }
2079
+
2080
+ .bk-table-wrap:not([data-scrollable]) {
2081
+ mask-image: none;
2082
+ -webkit-mask-image: none;
1429
2083
  }
1430
2084
 
1431
2085
  .bk-table {
@@ -1457,8 +2111,30 @@ ${bt}
1457
2111
  text-transform: uppercase;
1458
2112
  font-size: var(--dt-font-size-xs);
1459
2113
  color: var(--dt-text-secondary);
2114
+ user-select: none;
1460
2115
  }
1461
2116
 
2117
+ /* ── Sort indicator span ── */
2118
+ .bk-table-sort-icon {
2119
+ display: inline-block;
2120
+ margin-left: var(--dt-space-1);
2121
+ font-size: 0.6rem;
2122
+ opacity: 0.3;
2123
+ vertical-align: middle;
2124
+ transition: opacity var(--dt-transition-fast);
2125
+ }
2126
+
2127
+ th:hover .bk-table-sort-icon {
2128
+ opacity: 0.8;
2129
+ }
2130
+
2131
+ th[aria-sort="ascending"] .bk-table-sort-icon,
2132
+ th[aria-sort="descending"] .bk-table-sort-icon {
2133
+ opacity: 1;
2134
+ color: var(--dt-accent-fg);
2135
+ }
2136
+
2137
+ /* ── Row hover + even-row styling ── */
1462
2138
  .bk-table tbody tr {
1463
2139
  transition: background var(--dt-transition-fast);
1464
2140
  }
@@ -1478,7 +2154,72 @@ ${bt}
1478
2154
  .bk-table tbody tr:last-child td {
1479
2155
  border-bottom: none;
1480
2156
  }
1481
- `;function gn(t,n){let{headers:i,keys:a,rows:o}=mn(t);return i.length===0?`<div class="bk-table-wrap"><table class="bk-table"><tbody></tbody></table></div>`:`<div class="bk-table-wrap"><table class="bk-table">${`<thead><tr>${i.map(t=>`<th>${e(t)}</th>`).join(``)}</tr></thead>`}<tbody>${o.map(t=>`<tr>${a.map(n=>`<td>${e(r(t[n]))}</td>`).join(``)}</tr>`).join(``)}</tbody></table></div>`}function _n(e){let t=i(e);return Array.isArray(t)?t:t&&typeof t==`object`&&Array.isArray(t.items)?t.items:[]}var vn=`
2157
+
2158
+ /* ── Sticky first column (tablet) ── */
2159
+ @media (max-width: 768px) {
2160
+ .bk-table th:first-child,
2161
+ .bk-table td:first-child {
2162
+ position: sticky;
2163
+ left: 0;
2164
+ z-index: 2;
2165
+ background: inherit;
2166
+ }
2167
+ .bk-table thead th:first-child {
2168
+ z-index: 3;
2169
+ background: var(--dt-bg-tertiary);
2170
+ }
2171
+ .bk-table tbody tr td:first-child {
2172
+ box-shadow: inset -6px 0 6px -6px rgba(0,0,0,0.1);
2173
+ }
2174
+ .bk-table-wrap[data-scrolled-past-first] tbody tr td:first-child {
2175
+ box-shadow: inset -8px 0 8px -8px rgba(0,0,0,0.15);
2176
+ }
2177
+ }
2178
+
2179
+ /* ── Compact table on mobile ── */
2180
+ @media (max-width: 480px) {
2181
+ .bk-table {
2182
+ font-size: var(--dt-font-size-xs);
2183
+ }
2184
+ .bk-table th,
2185
+ .bk-table td {
2186
+ padding: var(--dt-space-2) var(--dt-space-3);
2187
+ }
2188
+ }
2189
+
2190
+ /* ── Ultra-compact table on 320px ── */
2191
+ @media (max-width: 320px) {
2192
+ .bk-table thead th {
2193
+ white-space: normal;
2194
+ word-break: break-word;
2195
+ }
2196
+ .bk-table th,
2197
+ .bk-table td {
2198
+ padding: var(--dt-space-1) var(--dt-space-2);
2199
+ }
2200
+ .bk-table th {
2201
+ font-size: 0.625rem;
2202
+ }
2203
+ }
2204
+
2205
+ /* ── Empty state ── */
2206
+ .bk-table-empty {
2207
+ display: flex;
2208
+ flex-direction: column;
2209
+ align-items: center;
2210
+ justify-content: center;
2211
+ padding: var(--dt-space-10) var(--dt-space-4);
2212
+ color: var(--dt-text-tertiary);
2213
+ font-size: var(--dt-font-size-sm);
2214
+ font-style: italic;
2215
+ gap: var(--dt-space-2);
2216
+ }
2217
+
2218
+ .bk-table-empty-icon {
2219
+ font-size: 1.5rem;
2220
+ opacity: 0.5;
2221
+ }
2222
+ `;function Pn(t,n){let{headers:i,keys:a,rows:o}=Mn(t);if(i.length===0)return`<div class="bk-table-wrap"><table class="bk-table"><tbody></tbody></table></div>`;let s=n=>{let r=t.sorted===n,i=r&&t.sortDir!==`desc`,a=i?`▲`:r?`▼`:`⇅`;return`<th${r?` aria-sort="${i?`ascending`:`descending`}"`:``}>${e(n)}<span class="bk-table-sort-icon">${a}</span></th>`},c=`<thead><tr>${i.map(e=>s(e)).join(``)}</tr></thead>`,l=o.length>0&&a.length>2?` data-scrollable="true"`:``,u;return u=o.length===0?`<tr><td colspan="${i.length}"><div class="bk-table-empty"><span class="bk-table-empty-icon" aria-hidden="true">📋</span>No data</div></td></tr>`:o.map(t=>`<tr>${a.map(n=>`<td>${e(r(t[n]))}</td>`).join(``)}</tr>`).join(``),`<div class="bk-table-wrap"${l}><table class="bk-table">${c}<tbody>${u}</tbody></table></div>`}function Fn(e){let t=i(e);return Array.isArray(t)?t:t&&typeof t==`object`&&Array.isArray(t.items)?t.items:[]}var In=`
1482
2223
  .bk-tags {
1483
2224
  display: flex;
1484
2225
  flex-wrap: wrap;
@@ -1496,13 +2237,13 @@ ${bt}
1496
2237
  font-weight: 600;
1497
2238
  letter-spacing: 0.02em;
1498
2239
  }
1499
- `;function yn(t,n){return`<div class="bk-tags">${_n(t.value).map(t=>{let n=typeof t==`string`?t:String(t.text??t.label??``),r=c(typeof t==`string`?void 0:t.status??t.tone??t.color);return`<span class="bk-tag" style="background:var(--dt-${r}-subtle);color:var(--dt-${r}-fg);">${e(n)}</span>`}).join(``)}</div>`}var bn=`
2240
+ `;function Ln(t,n){return`<div class="bk-tags">${Fn(t.value).map(t=>{let n=typeof t==`string`?t:String(t.text??t.label??``),r=c(typeof t==`string`?void 0:t.status??t.tone??t.color);return`<span class="bk-tag" style="background:var(--dt-${r}-subtle);color:var(--dt-${r}-fg);">${e(n)}</span>`}).join(``)}</div>`}var Rn=`
1500
2241
  .bk-text {
1501
2242
  color: var(--dt-text-primary);
1502
2243
  font-size: var(--dt-font-size-base);
1503
2244
  line-height: 1.7;
1504
2245
  }
1505
- `;function xn(e,t){return`<div class="bk-text">${a(String(e.value??``)).replace(/\n/g,`<br>`)}</div>`}var Sn=`
2246
+ `;function zn(e,t){return`<div class="bk-text">${a(String(e.value??``)).replace(/\n/g,`<br>`)}</div>`}var Bn=`
1506
2247
  .bk-timeline {
1507
2248
  display: grid;
1508
2249
  gap: var(--dt-space-4);
@@ -1552,7 +2293,27 @@ ${bt}
1552
2293
  font-size: var(--dt-font-size-xs);
1553
2294
  line-height: 1.5;
1554
2295
  }
1555
- `;function Cn(t,n){return`<div class="bk-timeline">${l(t).map(t=>{let n=c(t.status),r=t.description?`<div class="bk-timeline-description">${e(t.description)}</div>`:``,i=t.timestamp?`<div class="bk-timeline-timestamp">${e(t.timestamp)}</div>`:``;return`<article class="bk-timeline-item" data-tone="${n}"><span class="bk-timeline-dot" style="background:${`var(--dt-${n}-emphasis)`};box-shadow:0 0 0 6px var(--dt-glow-${n});"></span><div class="bk-timeline-title">${e(t.title)}</div>${r}${i}</article>`}).join(``)}</div>`}function A(t,n){if(Array.isArray(t)){let r=t.map(e=>A(e)).join(``);return n?`<details class="bk-tree-node" open><summary>${e(n)}</summary><div class="bk-tree-children">${r}</div></details>`:`<div class="bk-tree-children">${r}</div>`}if(t&&typeof t==`object`){let r=t,i=typeof r.name==`string`?r.name:typeof r.label==`string`?r.label:typeof r.title==`string`?r.title:void 0;if(i!==void 0)return A(r.children??[],i);let a=Object.entries(r).map(([e,t])=>A(t,e)).join(``);return n?`<details class="bk-tree-node" open><summary>${e(n)}</summary><div class="bk-tree-children">${a}</div></details>`:`<div class="bk-tree-children">${a}</div>`}let i=e(r(t));return n?`<div class="bk-tree-leaf"><span class="bk-tree-key">${e(n)}</span><span class="bk-tree-value">${i}</span></div>`:`<div class="bk-tree-leaf">${i}</div>`}var wn=`
2296
+
2297
+ /* ── Compact timeline on mobile ── */
2298
+ @media (max-width: 480px) {
2299
+ .bk-timeline-item {
2300
+ padding-left: calc(var(--dt-space-5) + var(--dt-space-1));
2301
+ }
2302
+ }
2303
+
2304
+ @media (max-width: 320px) {
2305
+ .bk-timeline {
2306
+ gap: var(--dt-space-3);
2307
+ }
2308
+ .bk-timeline-item {
2309
+ padding-left: var(--dt-space-5);
2310
+ }
2311
+ .bk-timeline-dot {
2312
+ width: 0.5rem;
2313
+ height: 0.5rem;
2314
+ }
2315
+ }
2316
+ `;function Vn(t,n){return`<div class="bk-timeline">${l(t).map(t=>{let n=c(t.status),r=t.description?`<div class="bk-timeline-description">${e(t.description)}</div>`:``,i=t.timestamp?`<div class="bk-timeline-timestamp">${e(t.timestamp)}</div>`:``;return`<article class="bk-timeline-item" data-tone="${n}"><span class="bk-timeline-dot" style="background:${`var(--dt-${n}-emphasis)`};box-shadow:0 0 0 6px var(--dt-glow-${n});"></span><div class="bk-timeline-title">${e(t.title)}</div>${r}${i}</article>`}).join(``)}</div>`}function P(t,n){if(Array.isArray(t)){let r=t.map(e=>P(e)).join(``);return n?`<details class="bk-tree-node" open><summary>${e(n)}</summary><div class="bk-tree-children">${r}</div></details>`:`<div class="bk-tree-children">${r}</div>`}if(t&&typeof t==`object`){let r=t,i=typeof r.name==`string`?r.name:typeof r.label==`string`?r.label:typeof r.title==`string`?r.title:void 0;if(i!==void 0)return P(r.children??[],i);let a=Object.entries(r).map(([e,t])=>P(t,e)).join(``);return n?`<details class="bk-tree-node" open><summary>${e(n)}</summary><div class="bk-tree-children">${a}</div></details>`:`<div class="bk-tree-children">${a}</div>`}let i=e(r(t));return n?`<div class="bk-tree-leaf"><span class="bk-tree-key">${e(n)}</span><span class="bk-tree-value">${i}</span></div>`:`<div class="bk-tree-leaf">${i}</div>`}var Hn=`
1556
2317
  .bk-tree {
1557
2318
  display: grid;
1558
2319
  gap: var(--dt-space-2);
@@ -1584,7 +2345,8 @@ ${bt}
1584
2345
  .bk-tree-key {
1585
2346
  color: var(--dt-text-primary);
1586
2347
  }
1587
- `;function Tn(e,t){return`<div class="bk-tree">${A(i(e.value))}</div>`}var j={actions:d,cards:p,chart:te,checklist:De,code:ke,diagram:Je,diff:Ze,comparison:Me,"component-detail":Be,"data-table-schema":Ke,"docs-browser":nt,"docs-hub":st,finding:ut,"flame-graph":ht,graph:vt,heading:bt,kv:Ct,"lifecycle-flow":Rt,list:Bt,markdown:Ht,mermaid:qt,metrics:Xt,paragraph:Qt,progress:tn,prompt:an,separator:sn,"status-board":un,table:hn,tags:vn,text:bn,timeline:Sn,tree:wn},En=`
2348
+ `;function Un(e,t){return`<div class="bk-tree">${P(i(e.value))}</div>`}var F={actions:d,cards:m,chart:re,checklist:ke,code:Re,"architecture-diagram":k,"workflow-diagram":k,"sequence-diagram":k,"dataflow-diagram":k,"lifecycle-diagram":k,diff:mt,comparison:We,"component-detail":Qe,"data-table-schema":it,"docs-browser":bt,"docs-hub":Tt,finding:Ot,"flame-graph":Nt,graph:It,heading:Rt,kv:Vt,"lifecycle-flow":nn,list:an,markdown:sn,mermaid:fn,metrics:hn,paragraph:_n,progress:bn,prompt:Cn,separator:Tn,"status-board":On,table:Nn,tags:In,text:Rn,timeline:Bn,tree:Hn},Wn=`
2349
+ ${p}
1588
2350
  .bk-section {
1589
2351
  display: grid;
1590
2352
  gap: var(--dt-space-3);
@@ -1602,6 +2364,27 @@ ${bt}
1602
2364
  line-height: 1.3;
1603
2365
  }
1604
2366
 
2367
+ /* ── Responsive section titles ── */
2368
+ @media (max-width: 480px) {
2369
+ .bk-section-title {
2370
+ font-size: var(--dt-font-size-lg);
2371
+ }
2372
+ .bk-section {
2373
+ gap: var(--dt-space-2);
2374
+ margin: 0 0 var(--dt-space-4);
2375
+ }
2376
+ }
2377
+
2378
+ @media (max-width: 320px) {
2379
+ .bk-section-title {
2380
+ font-size: var(--dt-font-size-base);
2381
+ }
2382
+ .bk-section {
2383
+ gap: var(--dt-space-1);
2384
+ margin: 0 0 var(--dt-space-3);
2385
+ }
2386
+ }
2387
+
1605
2388
  .bk-text,
1606
2389
  .bk-markdown,
1607
2390
  .bk-paragraph,
@@ -1708,20 +2491,54 @@ blockquote {
1708
2491
  border-radius: 0 var(--dt-radius-sm) var(--dt-radius-sm) 0;
1709
2492
  color: var(--dt-text-secondary);
1710
2493
  }
1711
- `;function Dn(e){let t=[En],n=new Set;for(let r of e)!n.has(r)&&j[r]&&(n.add(r),t.push(j[r]));return t.join(`
1712
- `)}function On(){return Dn(Object.keys(j))}var M={header:`aikit-header`,brand:`aikit-header-brand`,title:`aikit-header-title`,titleText:`aikit-header-title-text`,subtitle:`aikit-header-subtitle`,actions:`aikit-header-actions`,themeToggle:`aikit-theme-toggle`,themeToggleIcon:`aikit-theme-toggle-icon`,themeToggleIconSun:`aikit-theme-toggle-icon--sun`,themeToggleIconMoon:`aikit-theme-toggle-icon--moon`,toolbox:`aikit-toolbox`,toolboxToggle:`aikit-toolbox-toggle`,toolboxMenu:`aikit-toolbox-menu`,toolboxItem:`aikit-toolbox-item`,footer:`aikit-footer`,footerMeta:`aikit-footer-meta`,footerText:`aikit-footer-text`,footerBrand:`aikit-footer-brand`,footerTimestamp:`aikit-footer-timestamp`,footerSlot:`aikit-footer-slot`,footerBadge:`aikit-footer-badge`},kn=`<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z"/></svg>`,An=`<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z"/><circle cx="12" cy="13" r="4"/></svg>`,jn=`<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/><polyline points="7 10 12 15 17 10"/><line x1="12" y1="15" x2="12" y2="3"/></svg>`,Mn=`<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="12" cy="12" r="5"/><line x1="12" y1="1" x2="12" y2="3"/><line x1="12" y1="21" x2="12" y2="23"/><line x1="4.22" y1="4.22" x2="5.64" y2="5.64"/><line x1="18.36" y1="18.36" x2="19.78" y2="19.78"/><line x1="1" y1="12" x2="3" y2="12"/><line x1="21" y1="12" x2="23" y2="12"/><line x1="4.22" y1="19.78" x2="5.64" y2="18.36"/><line x1="18.36" y1="5.64" x2="19.78" y2="4.22"/></svg>`,Nn=`<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"/></svg>`,Pn=[{kind:`shared-chrome-action`,id:`copy-image`,label:`Copy as Image`,icon:An,onclick:`screenshotPage()`},{kind:`shared-chrome-action`,id:`download-image`,label:`Download as PNG`,icon:jn,onclick:`downloadPng()`}];function Fn(t){return[` <button type="button" class="${M.toolboxItem}" role="menuitem" data-shared-chrome-action="${e(t.id)}" aria-label="${e(t.label)}">`,` <span aria-hidden="true">${t.icon}</span>`,` <span>${e(t.label)}</span>`,` </button>`].join(`
1713
- `)}function In(e,t=[],n=!0){if(!n)return``;let r=t.filter(e=>e.kind===`shared-chrome-action`);return r.length===0?``:[` <div class="${M.toolbox}">`,` <button type="button" class="${M.toolboxToggle}" aria-label="Open tools menu" aria-haspopup="menu" aria-expanded="false" aria-controls="aikit-toolbox-menu">`,` ${kn}`,` </button>`,` <div id="aikit-toolbox-menu" class="${M.toolboxMenu}" role="menu" hidden>`,...r.map(e=>Fn(e)),` </div>`,` </div>`].join(`
1714
- `)}function Ln(e){return e?.trim()?e.trim():``}function Rn(e){if(!e)return null;let t=new Date(e);return Number.isNaN(t.getTime())?{display:e}:{dateTime:t.toISOString(),display:new Intl.DateTimeFormat(void 0,{month:`long`,day:`numeric`,year:`numeric`,hour:`numeric`,minute:`2-digit`}).format(t)}}function zn(t){let n=t.brand??`AI KIT`,r=t.showToolbox??!0,i=t.sharedChromeActions??(r?Pn:[]),a=[Ln(t.actionsHtml),In(t.transport,i,r),t.showThemeToggle===!1?``:[` <button type="button" class="${M.themeToggle}" aria-label="Switch to dark theme" aria-pressed="false">`,` <span class="${M.themeToggleIcon} ${M.themeToggleIconSun}" aria-hidden="true">${Mn}</span>`,` <span class="${M.themeToggleIcon} ${M.themeToggleIconMoon}" aria-hidden="true">${Nn}</span>`,` </button>`].join(`
2494
+ `,Gn=`
2495
+ @media print {
2496
+ .aikit-header,.aikit-footer,.aikit-toolbox,.aikit-toolbox-toggle,.aikit-toolbox-menu,
2497
+ .aikit-theme-toggle,.aikit-copy-status,.aikit-glow-primary,.aikit-glow-secondary {
2498
+ display: none !important;
2499
+ }
2500
+ html,body { background: #fff !important; color: #000 !important; }
2501
+ main,.bk-section,.bk-section-title,.bk-text,.bk-markdown,.bk-paragraph,.bk-fallback,
2502
+ .bk-prompt,.bk-heading,.bk-kv,.bk-list,.bk-table-wrap,.bk-table,.bk-data-table-schema,
2503
+ .bk-docs-browser,.bk-docs-hub,.bk-actions,.bk-comparison,.bk-component-detail,
2504
+ .bk-status-board,.bk-progress,.bk-lifecycle-flow,.bk-timeline,.bk-tree,.bk-flame,
2505
+ .bk-tags,.bk-cards,.bk-metrics,.bk-chart,.bk-code,.bk-mermaid,.bk-graph,.bk-checklist,
2506
+ .bk-finding,.aikit-glass,.aikit-glass-solid {
2507
+ background: #fff !important; color: #000 !important; border-color: #ccc !important;
2508
+ }
2509
+ .bk-table thead th { background: #f5f5f5 !important; color: #000 !important; border-bottom: 2px solid #ccc !important; }
2510
+ .bk-table td { border-bottom: 1px solid #ddd !important; }
2511
+ .bk-code { page-break-inside: avoid; break-inside: avoid; }
2512
+ .bk-code code { white-space: pre-wrap !important; word-break: break-all !important; }
2513
+ table { page-break-inside: auto; }
2514
+ thead { display: table-header-group; }
2515
+ tbody tr { page-break-inside: avoid; }
2516
+ .bk-mermaid { overflow: visible !important; page-break-inside: avoid; }
2517
+ .bk-mermaid svg { max-width: 100% !important; height: auto !important; overflow: visible !important; }
2518
+ *,*::before,*::after { box-shadow: none !important; text-shadow: none !important; animation: none !important; animation-duration: 0s !important; transition: none !important; }
2519
+ a { color: #000 !important; text-decoration: underline; }
2520
+ blockquote { border-left-color: #000 !important; background: #fafafa !important; }
2521
+ hr { border: none !important; border-top: 1px solid #ccc !important; background: none !important; }
2522
+ a[href^="http"]::after { content: " (" attr(href) ")"; font-size: 0.8em; font-weight: normal; color: #555 !important; text-decoration: none; }
2523
+ a[href^="#"]::after, a[href^="javascript:"]::after { content: none !important; }
2524
+ html, body { page-break-before: auto; page-break-after: auto; }
2525
+ .bk-text,.bk-markdown,.bk-paragraph,.bk-finding { widows: 3; orphans: 3; }
2526
+ ::selection { background: #ccc !important; color: #000 !important; }
2527
+ }
2528
+ `;function Kn(e){let t=[Wn,Gn],n=new Set;for(let r of e)!n.has(r)&&F[r]&&(n.add(r),t.push(F[r]));return t.join(`
2529
+ `)}function qn(){return Kn(Object.keys(F))}var I={header:`aikit-header`,brand:`aikit-header-brand`,title:`aikit-header-title`,titleText:`aikit-header-title-text`,subtitle:`aikit-header-subtitle`,actions:`aikit-header-actions`,themeToggle:`aikit-theme-toggle`,themeToggleIcon:`aikit-theme-toggle-icon`,themeToggleIconSun:`aikit-theme-toggle-icon--sun`,themeToggleIconMoon:`aikit-theme-toggle-icon--moon`,toolbox:`aikit-toolbox`,toolboxToggle:`aikit-toolbox-toggle`,toolboxMenu:`aikit-toolbox-menu`,toolboxItem:`aikit-toolbox-item`,footer:`aikit-footer`,footerMeta:`aikit-footer-meta`,footerText:`aikit-footer-text`,footerBrand:`aikit-footer-brand`,footerTimestamp:`aikit-footer-timestamp`,footerSlot:`aikit-footer-slot`,footerBadge:`aikit-footer-badge`},Jn=`<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z"/></svg>`,Yn=`<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z"/><circle cx="12" cy="13" r="4"/></svg>`,Xn=`<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/><polyline points="7 10 12 15 17 10"/><line x1="12" y1="15" x2="12" y2="3"/></svg>`,Zn=`<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="12" cy="12" r="5"/><line x1="12" y1="1" x2="12" y2="3"/><line x1="12" y1="21" x2="12" y2="23"/><line x1="4.22" y1="4.22" x2="5.64" y2="5.64"/><line x1="18.36" y1="18.36" x2="19.78" y2="19.78"/><line x1="1" y1="12" x2="3" y2="12"/><line x1="21" y1="12" x2="23" y2="12"/><line x1="4.22" y1="19.78" x2="5.64" y2="18.36"/><line x1="18.36" y1="5.64" x2="19.78" y2="4.22"/></svg>`,Qn=`<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"/></svg>`,$n=[{kind:`shared-chrome-action`,id:`copy-image`,label:`Copy as Image`,icon:Yn,onclick:`screenshotPage()`},{kind:`shared-chrome-action`,id:`download-image`,label:`Download as PNG`,icon:Xn,onclick:`downloadPng()`}];function er(t){return[` <button type="button" class="${I.toolboxItem}" role="menuitem" data-shared-chrome-action="${e(t.id)}" aria-label="${e(t.label)}">`,` <span aria-hidden="true">${t.icon}</span>`,` <span>${e(t.label)}</span>`,` </button>`].join(`
2530
+ `)}function tr(e,t=[],n=!0){if(!n)return``;let r=t.filter(e=>e.kind===`shared-chrome-action`);return r.length===0?``:[` <div class="${I.toolbox}">`,` <button type="button" class="${I.toolboxToggle}" aria-label="Open tools menu" aria-haspopup="menu" aria-expanded="false" aria-controls="aikit-toolbox-menu">`,` ${Jn}`,` </button>`,` <div id="aikit-toolbox-menu" class="${I.toolboxMenu}" role="menu" hidden>`,...r.map(e=>er(e)),` </div>`,` </div>`].join(`
2531
+ `)}function nr(e){return e?.trim()?e.trim():``}function rr(e){if(!e)return null;let t=new Date(e);return Number.isNaN(t.getTime())?{display:e}:{dateTime:t.toISOString(),display:new Intl.DateTimeFormat(void 0,{month:`long`,day:`numeric`,year:`numeric`,hour:`numeric`,minute:`2-digit`}).format(t)}}function ir(t){let n=t.brand??`AI KIT`,r=t.showToolbox??!0,i=t.sharedChromeActions??(r?$n:[]),a=[nr(t.actionsHtml),tr(t.transport,i,r),t.showThemeToggle===!1?``:[` <button type="button" class="${I.themeToggle}" aria-label="Switch to dark theme" aria-pressed="false">`,` <span class="${I.themeToggleIcon} ${I.themeToggleIconSun}" aria-hidden="true">${Zn}</span>`,` <span class="${I.themeToggleIcon} ${I.themeToggleIconMoon}" aria-hidden="true">${Qn}</span>`,` </button>`].join(`
1715
2532
  `)].filter(Boolean).join(`
1716
- `);return[` <header class="${M.header}">`,` <div class="${M.brand}">${e(n)}</div>`,` <div class="${M.title}">`,` <span class="${M.titleText}">${e(t.title)}</span>`,...t.subtitle?[` <span class="${M.subtitle}">${e(t.subtitle)}</span>`]:[],` </div>`,` <div class="${M.actions}">`,a,` </div>`,` </header>`].join(`
1717
- `)}function Bn(t={}){let n=Rn(t.generatedAt),r=t.showInstallGuide??!1,i=t.installUrl??`https://vpxa.io/ai-kit`,a=n?[`Generated by `,`<span class="${M.footerBrand}">AI KIT</span>`,` at `,n.dateTime?`<time class="${M.footerTimestamp}" datetime="${e(n.dateTime)}">${e(n.display)}</time>`:`<span class="${M.footerTimestamp}">${e(n.display)}</span>`].join(``):`Generated by <span class="${M.footerBrand}">AI KIT</span>`,o=Ln(t.contentHtml),s=r?`<span class="${M.footerSlot}"><a href="${e(i)}" target="_blank" rel="noopener" style="color:inherit;text-decoration:underline;text-underline-offset:2px;text-decoration-color:var(--aikit-border)">Get AI Kit →</a></span>`:``;return[` <footer class="${M.footer}">`,` <div class="${M.footerMeta}">`,` <span class="${M.footerText}">${a}</span>`,...o?[` <span class="${M.footerSlot}">${o}</span>`]:[],s,` </div>`,` </footer>`].join(`
1718
- `)}function Vn(e){let t={COMMENT:[],DELETION:[],GLOBAL_COMMENT:[]};for(let n of e)t[n.type in t?n.type:`COMMENT`].push(n);return t}function Hn(t){let r=n(t.id),i=[];return t.author&&i.push(`<span class="bk-annotation-author">${e(t.author)}</span>`),t.createdAt&&i.push(`<time class="bk-annotation-time">${e(t.createdAt)}</time>`),`<li class="bk-annotation-item" data-block-id="${r}" data-annotation-type="${t.type}">
2533
+ `);return[` <header class="${I.header}">`,` <div class="${I.brand}">${e(n)}</div>`,` <div class="${I.title}">`,` <span class="${I.titleText}">${e(t.title)}</span>`,...t.subtitle?[` <span class="${I.subtitle}">${e(t.subtitle)}</span>`]:[],` </div>`,` <div class="${I.actions}">`,a,` </div>`,` </header>`].join(`
2534
+ `)}function ar(t={}){let n=rr(t.generatedAt),r=t.showInstallGuide??!1,i=t.installUrl??`https://vpxa.io/ai-kit`,a=n?[`Generated by `,`<span class="${I.footerBrand}">AI KIT</span>`,` at `,n.dateTime?`<time class="${I.footerTimestamp}" datetime="${e(n.dateTime)}">${e(n.display)}</time>`:`<span class="${I.footerTimestamp}">${e(n.display)}</span>`].join(``):`Generated by <span class="${I.footerBrand}">AI KIT</span>`,o=nr(t.contentHtml),s=r?`<span class="${I.footerSlot}"><a href="${e(i)}" target="_blank" rel="noopener" style="color:inherit;text-decoration:underline;text-underline-offset:2px;text-decoration-color:var(--aikit-border)">Get AI Kit →</a></span>`:``;return[` <footer class="${I.footer}">`,` <div class="${I.footerMeta}">`,` <span class="${I.footerText}">${a}</span>`,...o?[` <span class="${I.footerSlot}">${o}</span>`]:[],s,` </div>`,` </footer>`].join(`
2535
+ `)}function or(e){let t={COMMENT:[],DELETION:[],GLOBAL_COMMENT:[]};for(let n of e)t[n.type in t?n.type:`COMMENT`].push(n);return t}function sr(t){let r=n(t.id),i=[];return t.author&&i.push(`<span class="bk-annotation-author">${e(t.author)}</span>`),t.createdAt&&i.push(`<time class="bk-annotation-time">${e(t.createdAt)}</time>`),`<li class="bk-annotation-item" data-block-id="${r}" data-annotation-type="${t.type}">
1719
2536
  <p class="bk-annotation-body">${e(t.body)}</p>
1720
2537
  ${i.length>0?`<div class="bk-annotation-meta">${i.join(``)}</div>`:``}
1721
- </li>`}function Un(e){switch(e){case`COMMENT`:return`Comments`;case`DELETION`:return`Deletions`;case`GLOBAL_COMMENT`:return`General Notes`;default:return e}}function Wn(t,n){let r=Vn(Array.isArray(t.value)?t.value:[]);return`<div class="bk-annotations">${Object.entries(r).filter(([,e])=>e.length>0).map(([t,n])=>`<div class="bk-annotation-group">
1722
- <h4 class="bk-annotation-group-title">${e(Un(t))}</h4>
1723
- <ol class="bk-annotation-list">${n.map(Hn).join(``)}</ol>
1724
- </div>`).join(``)||`<p class="bk-text-secondary">No annotations</p>`}</div>`}function Gn(e){if(typeof e!=`object`||!e)return!1;let t=e;return typeof t.prompt==`string`&&Array.isArray(t.options)}function Kn(t,r){let i=t.blockId?n(t.blockId):void 0,a=Gn(t.value)?t.value:{prompt:``,options:[]},o=a.prompt?`<p class="bk-approval-prompt">${e(a.prompt)}</p>`:``,s=a.options.map(t=>`<label class="bk-approval-option" data-option-id="${n(t.id)}">
2538
+ </li>`}function cr(e){switch(e){case`COMMENT`:return`Comments`;case`DELETION`:return`Deletions`;case`GLOBAL_COMMENT`:return`General Notes`;default:return e}}function lr(t,n){let r=or(Array.isArray(t.value)?t.value:[]);return`<div class="bk-annotations">${Object.entries(r).filter(([,e])=>e.length>0).map(([t,n])=>`<div class="bk-annotation-group">
2539
+ <h4 class="bk-annotation-group-title">${e(cr(t))}</h4>
2540
+ <ol class="bk-annotation-list">${n.map(sr).join(``)}</ol>
2541
+ </div>`).join(``)||`<p class="bk-text-secondary">No annotations</p>`}</div>`}function ur(e){if(typeof e!=`object`||!e)return!1;let t=e;return typeof t.prompt==`string`&&Array.isArray(t.options)}function dr(t,r){let i=t.blockId?n(t.blockId):void 0,a=ur(t.value)?t.value:{prompt:``,options:[]},o=a.prompt?`<p class="bk-approval-prompt">${e(a.prompt)}</p>`:``,s=a.options.map(t=>`<label class="bk-approval-option" data-option-id="${n(t.id)}">
1725
2542
  <input type="radio" name="approval" value="${n(t.id)}" role="radio" />
1726
2543
  <span class="bk-approval-option-label">${e(t.label)}</span>
1727
2544
  ${t.description?`<span class="bk-approval-option-desc">${e(t.description)}</span>`:``}
@@ -1732,9 +2549,9 @@ ${t.description?`<span class="bk-approval-option-desc">${e(t.description)}</span
1732
2549
  ${o}
1733
2550
  <fieldset class="bk-approval-options">${s}</fieldset>
1734
2551
  ${c}
1735
- </div>`}var qn={actions:f,annotation:Wn,approval:Kn,cards:m,chart:ne,checklist:Oe,code:Ae,comparison:Ne,diagram:Ye,diff:et,"component-detail":Ve,"data-table-schema":qe,"docs-browser":rt,"docs-hub":ct,"flame-graph":gt,finding:dt,graph:yt,heading:xt,kv:wt,"lifecycle-flow":zt,list:Vt,markdown:Kt,mermaid:Jt,metrics:Zt,paragraph:$t,progress:nn,prompt:on,separator:cn,"status-board":dn,table:gn,tags:yn,text:xn,timeline:Cn,tree:Tn};function Jn(t,r,a){let o={...t,value:i(t.value)},s=qn[o.type],c=s?s(o,r):Xn(o);return o.title&&![`heading`,`finding`].includes(o.type)&&(c=`<section class="bk-section bk-section--${e(o.type)}"><h3 class="bk-section-title">${e(o.title)}</h3>${c}</section>`),`<div data-block-id="${n(o.blockId??`block-${a??0}`)}">${c}</div>`}function Yn(e,t){return e.map((e,n)=>Jn(e,t,n)).join(`
1736
- `)}function Xn(t){if(t.value===void 0||t.value===null)return``;if(typeof t.value==`string`)return`<p class="bk-paragraph">${e(t.value)}</p>`;try{return`<pre class="bk-fallback">${e(JSON.stringify(t.value,null,2))}</pre>`}catch{return`<pre class="bk-fallback">${e(String(t.value))}</pre>`}}var Zn=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()]}},Qn=[`mcp-app`,`browser`];function N(e){return typeof e==`object`&&!!e}function $n(e){return Array.isArray(e)?e.flatMap(e=>!N(e)||typeof e.label!=`string`?[]:[{label:e.label,checked:!!e.checked}]):[]}var er={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=N(e)&&typeof e.title==`string`?e.title:void 0,r=N(e)?$n(e.items):[];return n&&t.push({type:`heading`,value:n}),t.push({type:`checklist`,value:r}),t},hydration:[`checklist`],supportedTransports:Qn},tr=[`mcp-app`,`browser`,`export`];function P(e){return typeof e==`object`&&!!e}function nr(e){return P(e)&&typeof e.label==`string`&&(typeof e.value==`string`||typeof e.value==`number`)}function rr(e){return P(e)&&typeof e.key==`string`&&typeof e.label==`string`}function ir(e){return Array.isArray(e)?e.filter(P):[]}function ar(e,t){if(Array.isArray(e)){let t=e.filter(rr);if(t.length>0)return t}return Object.keys(t[0]??{}).map(e=>({key:e,label:e}))}var or={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=P(e)?ir(e.rows):[],n=P(e)?ar(e.columns,t):[],r=n.map(e=>e.label),i=t.map(e=>n.map(t=>e[t.key])),a=[];if(P(e)&&Array.isArray(e.stats)){let t=e.stats.filter(nr);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:tr},sr=[`mcp-app`,`browser`,`export`];function F(e){return typeof e==`object`&&!!e}function cr(e){return Array.isArray(e)?e.flatMap(e=>!F(e)||typeof e.type!=`string`||typeof e.content!=`string`?[]:[{type:e.type,content:e.content}]):[]}function lr(e){return Array.isArray(e)?e.flatMap(e=>!F(e)||typeof e.header!=`string`?[]:[{header:e.header,changes:cr(e.changes)}]):[]}function ur(e){return!F(e)||!Array.isArray(e.files)?[]:e.files.flatMap(e=>!F(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:lr(e.hunks)}])}function dr(e){return e===`add`?`+`:e===`delete`?`-`:` `}function fr(e){let t=e.hunks.flatMap(e=>[e.header,...e.changes.map(e=>`${dr(e.type)}${e.content}`)]).join(`
1737
- `);return[{type:`heading`,value:e.path},{type:`paragraph`,value:`${e.status} | +${e.additions} / -${e.deletions}`},{type:`code`,language:`diff`,value:t}]}var pr={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=>ur(e).flatMap(fr),hydration:[],supportedTransports:sr},mr=[`mcp-app`,`browser`,`export`];function hr(e){return typeof e==`object`&&!!e}function gr(e){return hr(e)&&typeof e.type==`string`}function _r(e){return Array.isArray(e)&&e.every(gr)}function vr(e){if(!hr(e))return{sections:[]};let t=Array.isArray(e.sections)?e.sections.flatMap(e=>{if(!hr(e)||typeof e.heading!=`string`)return[];let t=typeof e.content==`string`||_r(e.content)?e.content:``;return[{heading:e.heading,content:t}]}):[];return{title:typeof e.title==`string`?e.title:void 0,sections:t}}function yr(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 br={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=vr(e),n=[];t.title&&n.push({type:`heading`,value:t.title});for(let e of t.sections)n.push(...yr(e));return n},hydration:[],supportedTransports:mr},xr=[`mcp-app`,`browser`,`export`];function Sr(e){return typeof e==`object`&&!!e}function Cr(e){return Sr(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 wr={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=Cr(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:xr};function I(e){return typeof e==`object`&&!!e}function Tr(e){return Array.isArray(e)?e.flatMap(e=>!I(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`||I(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 Er={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:I(e)&&typeof e.title==`string`?e.title:`Form`,fields:I(e)?Tr(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`]},Dr=[`mcp-app`,`browser`];function Or(e){return typeof e==`object`&&!!e}function kr(e){if(!Array.isArray(e))return;let t=e.flatMap(e=>!Or(e)||typeof e.id!=`string`||typeof e.label!=`string`?[]:[{id:e.id,label:e.label}]);return t.length>0?t:void 0}function Ar(e){return Array.isArray(e)?e.flatMap(e=>!Or(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 jr(e){return Or(e)?{categories:kr(e.categories),items:Ar(e.items)}:{items:[]}}function Mr(e){return{title:e.label,body:e.id,description:e.tags&&e.tags.length>0?e.tags.join(`, `):void 0}}function Nr(e,t){return t.length===0?[]:[{type:`heading`,value:e},{type:`cards`,value:t.map(Mr)}]}var Pr={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=jr(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=Nr(e.label,t.items.filter(t=>t.category===e.id));n.length>0&&r.push(n)}let i=Nr(`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(Mr)}),n},hydration:[`picker`],supportedTransports:Dr},Fr=[`mcp-app`,`browser`,`export`];function L(e){return typeof e==`object`&&!!e}function Ir(e){return L(e)&&typeof e.type==`string`}function Lr(e){return Array.isArray(e)&&e.every(Ir)}function Rr(e){return L(e)&&typeof e.label==`string`&&(typeof e.value==`string`||typeof e.value==`number`)}function zr(e){return Array.isArray(e)?e.flatMap(e=>{if(!L(e)||typeof e.heading!=`string`)return[];let t=typeof e.content==`string`||Lr(e.content)?e.content:``;return[{heading:e.heading,content:t}]}):[]}function Br(e){return Array.isArray(e)?e.flatMap(e=>L(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 Vr(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 Hr(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 Ur={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:L(e)&&typeof e.title==`string`?e.title:`Report`,metrics:L(e)&&Array.isArray(e.metrics)?e.metrics.filter(Rr):void 0,sections:L(e)?zr(e.sections):[],tables:L(e)?Br(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(...Vr(e));for(let e of t.tables??[])n.push(Hr(e));return n},hydration:[],supportedTransports:Fr},Wr=[`mcp-app`,`browser`];function R(e){return typeof e==`object`&&!!e}function Gr(e){return Array.isArray(e)?e.filter(e=>typeof e==`string`):[]}function Kr(e){return Array.isArray(e)?e.flatMap(e=>{if(!R(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=R(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 qr(e){return Array.isArray(e)?e.flatMap(e=>{if(!R(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 Jr={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(!R(e))return t;let n=typeof e.title==`string`?e.title:`Review`;t.push({type:`heading`,value:n});let r=Gr(e.criteria);r.length>0&&t.push({type:`checklist`,value:r.map(e=>({label:e,checked:!1}))});let i=Kr(e.annotations);i.length>0&&t.push({type:`annotation`,value:i});let a=e.approval;if(R(a)){let e=qr(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:Wr},Yr=[`mcp-app`,`browser`,`export`];function z(e){return typeof e==`object`&&!!e}function Xr(e){return Array.isArray(e)?e.flatMap(e=>{if(!z(e)||typeof e.category!=`string`||!Array.isArray(e.items))return[];let t=e.items.flatMap(e=>!z(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 Zr(e){return e.map(e=>({title:e.label,status:e.status,badge:e.badge}))}var Qr={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=z(e)?Xr(e.categories):[],n=[];for(let e of t)n.push({type:`heading`,value:e.category}),n.push({type:`cards`,value:Zr(e.items)});return n},hydration:[],supportedTransports:Yr},$r=[`mcp-app`,`browser`,`export`];function ei(e){return typeof e==`object`&&!!e}function ti(e){return Array.isArray(e)?e.flatMap(e=>!ei(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 ni(e){return Array.isArray(e)?{entries:ti(e)}:ei(e)?{entries:ti(e.entries??e.events??e.items),title:typeof e.title==`string`?e.title:void 0}:{entries:[]}}var B={type:`array`,items:{type:`object`,required:[`title`],properties:{title:{type:`string`},description:{type:`string`},timestamp:{type:`string`},status:{type:`string`}},additionalProperties:!1}},ri={id:`timeline@1`,label:`Timeline`,description:`Static timeline events rendered as a timeline block.`,inputSchema:{oneOf:[B,{type:`object`,properties:{title:{type:`string`},entries:B,events:B,items:B},anyOf:[{required:[`entries`]},{required:[`events`]},{required:[`items`]}],additionalProperties:!1}]},defaultLayout:{},blocksFromData:e=>{let{entries:t,title:n}=ni(e),r=[];return n&&r.push({type:`heading`,value:n}),r.push({type:`timeline`,value:t}),r},hydration:[],supportedTransports:$r},ii=[`mcp-app`,`browser`,`export`];function V(e){return typeof e==`object`&&!!e}function ai(e){return V(e)&&typeof e.label==`string`}function oi(e){return{name:e.label,children:Array.isArray(e.children)?e.children.filter(ai).map(oi):[]}}function si(e){if(!V(e))return{};let t=e.root;return ai(t)?oi(t):V(t)?t:e}var ci={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:si(e)}],hydration:[`tree`],supportedTransports:ii},H=new Zn;H.register(Jr),H.register(er),H.register(pr),H.register(br),H.register(Pr),H.register(Ur),H.register(ri),H.register(ci),H.register(or),H.register(wr),H.register(Er),H.register(Qr);var li=3e3,ui=2e3;function U(e){let t=e.querySelector(`.bk-action-feedback`);t&&(t.style.display=`block`,t.setAttribute(`data-feedback-state`,`sent`),setTimeout(()=>{t.style.display=`none`},li));let n=e.querySelectorAll(`button.bk-action`);for(let e of n)e.disabled=!0;setTimeout(()=>{for(let e of n)e.disabled=!1},ui)}function di(e,t){let n=[],r=new WeakSet;for(let i of Array.from(e.querySelectorAll(`.bk-text-submit`))){let a=i.getAttribute(`data-action-id`);if(!a)continue;r.add(i);let o=i.querySelector(`.bk-input`),s=i.querySelector(`.bk-action--primary`);if(!o||!s)continue;r.add(o),r.add(s);let c=()=>{t(a,o.value),U(e)};s.addEventListener(`click`,c),n.push(()=>s.removeEventListener(`click`,c))}for(let i of Array.from(e.querySelectorAll(`.bk-form`))){let a=i.getAttribute(`data-action-id`);if(!a)continue;r.add(i);for(let e of i.querySelectorAll(`[data-action-id]`))r.add(e);let o=n=>{n.preventDefault();let r=new FormData(i),o={};r.forEach((e,t)=>{o[t]=String(e)}),t(a,JSON.stringify(o)),U(e)};i.addEventListener(`submit`,o),n.push(()=>i.removeEventListener(`submit`,o))}for(let i of Array.from(e.querySelectorAll(`[data-action-id]`))){if(r.has(i))continue;let a=i.getAttribute(`data-action-id`);if(!a)continue;if(i.tagName===`SELECT`){let r=i,o=()=>{t(a,r.value),U(e)};r.addEventListener(`change`,o),n.push(()=>r.removeEventListener(`change`,o));continue}let o=()=>{t(a),U(e)};i.addEventListener(`click`,o),n.push(()=>i.removeEventListener(`click`,o))}return()=>{for(let e of n)e()}}var fi=`
2552
+ </div>`}var fr={actions:f,annotation:lr,approval:dr,cards:h,chart:ie,checklist:Ae,code:ze,comparison:Ge,"architecture-diagram":M,"workflow-diagram":M,"sequence-diagram":M,"dataflow-diagram":M,"lifecycle-diagram":M,diff:vt,"component-detail":$e,"data-table-schema":at,"docs-browser":xt,"docs-hub":Et,"flame-graph":Pt,finding:kt,graph:Lt,heading:zt,kv:Ht,"lifecycle-flow":rn,list:on,markdown:dn,mermaid:pn,metrics:gn,paragraph:vn,progress:xn,prompt:wn,separator:En,"status-board":kn,table:Pn,tags:Ln,text:zn,timeline:Vn,tree:Un};function pr(t,r,a){let o={...t,value:i(t.value)},s=fr[o.type],c=s?s(o,r):hr(o);return o.title&&![`heading`,`finding`].includes(o.type)&&(c=`<section class="bk-section bk-section--${e(o.type)}"><h3 class="bk-section-title">${e(o.title)}</h3>${c}</section>`),`<div data-block-id="${n(o.blockId??`block-${a??0}`)}">${c}</div>`}function mr(e,t){return e.map((e,n)=>pr(e,t,n)).join(`
2553
+ `)}function hr(t){if(t.value===void 0||t.value===null)return``;if(typeof t.value==`string`)return`<p class="bk-paragraph">${e(t.value)}</p>`;try{return`<pre class="bk-fallback">${e(JSON.stringify(t.value,null,2))}</pre>`}catch{return`<pre class="bk-fallback">${e(String(t.value))}</pre>`}}var gr=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()]}},_r=[`mcp-app`,`browser`];function vr(e){return typeof e==`object`&&!!e}function yr(e){return Array.isArray(e)?e.flatMap(e=>!vr(e)||typeof e.label!=`string`?[]:[{label:e.label,checked:!!e.checked}]):[]}var br={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=vr(e)&&typeof e.title==`string`?e.title:void 0,r=vr(e)?yr(e.items):[];return n&&t.push({type:`heading`,value:n}),t.push({type:`checklist`,value:r}),t},hydration:[`checklist`],supportedTransports:_r},xr=[`mcp-app`,`browser`,`export`];function L(e){return typeof e==`object`&&!!e}function Sr(e){return L(e)&&typeof e.label==`string`&&(typeof e.value==`string`||typeof e.value==`number`)}function Cr(e){return L(e)&&typeof e.key==`string`&&typeof e.label==`string`}function wr(e){return Array.isArray(e)?e.filter(L):[]}function Tr(e,t){if(Array.isArray(e)){let t=e.filter(Cr);if(t.length>0)return t}return Object.keys(t[0]??{}).map(e=>({key:e,label:e}))}var Er={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=L(e)?wr(e.rows):[],n=L(e)?Tr(e.columns,t):[],r=n.map(e=>e.label),i=t.map(e=>n.map(t=>e[t.key])),a=[];if(L(e)&&Array.isArray(e.stats)){let t=e.stats.filter(Sr);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:xr},Dr=[`mcp-app`,`browser`,`export`];function R(e){return typeof e==`object`&&!!e}function Or(e){return Array.isArray(e)?e.flatMap(e=>!R(e)||typeof e.type!=`string`||typeof e.content!=`string`?[]:[{type:e.type,content:e.content}]):[]}function kr(e){return Array.isArray(e)?e.flatMap(e=>!R(e)||typeof e.header!=`string`?[]:[{header:e.header,changes:Or(e.changes)}]):[]}function Ar(e){return!R(e)||!Array.isArray(e.files)?[]:e.files.flatMap(e=>!R(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:kr(e.hunks)}])}function jr(e){return e===`add`?`+`:e===`delete`?`-`:` `}function Mr(e){let t=e.hunks.flatMap(e=>[e.header,...e.changes.map(e=>`${jr(e.type)}${e.content}`)]).join(`
2554
+ `);return[{type:`heading`,value:e.path},{type:`paragraph`,value:`${e.status} | +${e.additions} / -${e.deletions}`},{type:`code`,language:`diff`,value:t}]}var Nr={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=>Ar(e).flatMap(Mr),hydration:[],supportedTransports:Dr},Pr=[`mcp-app`,`browser`,`export`];function z(e){return typeof e==`object`&&!!e}function Fr(e){return z(e)&&typeof e.type==`string`}function Ir(e){return Array.isArray(e)&&e.every(Fr)}function Lr(e){if(!z(e))return{sections:[]};let t=Array.isArray(e.sections)?e.sections.flatMap(e=>{if(!z(e)||typeof e.heading!=`string`)return[];let t=typeof e.content==`string`||Ir(e.content)?e.content:``;return[{heading:e.heading,content:t}]}):[];return{title:typeof e.title==`string`?e.title:void 0,sections:t}}function Rr(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 zr={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=Lr(e),n=[];t.title&&n.push({type:`heading`,value:t.title});for(let e of t.sections)n.push(...Rr(e));return n},hydration:[],supportedTransports:Pr},Br=[`mcp-app`,`browser`,`export`];function Vr(e){return typeof e==`object`&&!!e}function Hr(e){return Vr(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 Ur={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=Hr(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:Br};function B(e){return typeof e==`object`&&!!e}function Wr(e){return Array.isArray(e)?e.flatMap(e=>!B(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`||B(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 Gr={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:B(e)&&typeof e.title==`string`?e.title:`Form`,fields:B(e)?Wr(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`]},Kr=[`mcp-app`,`browser`];function V(e){return typeof e==`object`&&!!e}function qr(e){if(!Array.isArray(e))return;let t=e.flatMap(e=>!V(e)||typeof e.id!=`string`||typeof e.label!=`string`?[]:[{id:e.id,label:e.label}]);return t.length>0?t:void 0}function Jr(e){return Array.isArray(e)?e.flatMap(e=>!V(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 Yr(e){return V(e)?{categories:qr(e.categories),items:Jr(e.items)}:{items:[]}}function Xr(e){return{title:e.label,body:e.id,description:e.tags&&e.tags.length>0?e.tags.join(`, `):void 0}}function Zr(e,t){return t.length===0?[]:[{type:`heading`,value:e},{type:`cards`,value:t.map(Xr)}]}var Qr={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=Yr(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=Zr(e.label,t.items.filter(t=>t.category===e.id));n.length>0&&r.push(n)}let i=Zr(`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(Xr)}),n},hydration:[`picker`],supportedTransports:Kr},$r=[`mcp-app`,`browser`,`export`];function H(e){return typeof e==`object`&&!!e}function ei(e){return H(e)&&typeof e.type==`string`}function ti(e){return Array.isArray(e)&&e.every(ei)}function ni(e){return H(e)&&typeof e.label==`string`&&(typeof e.value==`string`||typeof e.value==`number`)}function ri(e){return Array.isArray(e)?e.flatMap(e=>{if(!H(e)||typeof e.heading!=`string`)return[];let t=typeof e.content==`string`||ti(e.content)?e.content:``;return[{heading:e.heading,content:t}]}):[]}function ii(e){return Array.isArray(e)?e.flatMap(e=>H(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 ai(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 oi(e){let t={type:`table`};if(e.title&&(t.title=e.title),e.value!==void 0)t.value=e.value;else if(e.headers||e.rows){let n={};e.headers&&(n.headers=e.headers),e.rows&&(n.rows=e.rows),t.value=n}return t}var si={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:H(e)&&typeof e.title==`string`?e.title:`Report`,metrics:H(e)&&Array.isArray(e.metrics)?e.metrics.filter(ni):void 0,sections:H(e)?ri(e.sections):[],tables:H(e)?ii(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(...ai(e));for(let e of t.tables??[])n.push(oi(e));return n},hydration:[],supportedTransports:$r},ci=[`mcp-app`,`browser`];function U(e){return typeof e==`object`&&!!e}function li(e){return Array.isArray(e)?e.filter(e=>typeof e==`string`):[]}function ui(e){return Array.isArray(e)?e.flatMap(e=>{if(!U(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=U(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 di(e){return Array.isArray(e)?e.flatMap(e=>{if(!U(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 fi={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(!U(e))return t;let n=typeof e.title==`string`?e.title:`Review`;t.push({type:`heading`,value:n});let r=li(e.criteria);r.length>0&&t.push({type:`checklist`,value:r.map(e=>({label:e,checked:!1}))});let i=ui(e.annotations);i.length>0&&t.push({type:`annotation`,value:i});let a=e.approval;if(U(a)){let e=di(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:ci},pi=[`mcp-app`,`browser`,`export`];function W(e){return typeof e==`object`&&!!e}function mi(e){return Array.isArray(e)?e.flatMap(e=>{if(!W(e)||typeof e.category!=`string`||!Array.isArray(e.items))return[];let t=e.items.flatMap(e=>!W(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 hi(e){return e.map(e=>({title:e.label,status:e.status,badge:e.badge}))}var gi={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=W(e)?mi(e.categories):[],n=[];for(let e of t)n.push({type:`heading`,value:e.category}),n.push({type:`cards`,value:hi(e.items)});return n},hydration:[],supportedTransports:pi},_i=[`mcp-app`,`browser`,`export`];function vi(e){return typeof e==`object`&&!!e}function yi(e){return Array.isArray(e)?e.flatMap(e=>!vi(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 bi(e){return Array.isArray(e)?{entries:yi(e)}:vi(e)?{entries:yi(e.entries??e.events??e.items),title:typeof e.title==`string`?e.title:void 0}:{entries:[]}}var G={type:`array`,items:{type:`object`,required:[`title`],properties:{title:{type:`string`},description:{type:`string`},timestamp:{type:`string`},status:{type:`string`}},additionalProperties:!1}},xi={id:`timeline@1`,label:`Timeline`,description:`Static timeline events rendered as a timeline block.`,inputSchema:{oneOf:[G,{type:`object`,properties:{title:{type:`string`},entries:G,events:G,items:G},anyOf:[{required:[`entries`]},{required:[`events`]},{required:[`items`]}],additionalProperties:!1}]},defaultLayout:{},blocksFromData:e=>{let{entries:t,title:n}=bi(e),r=[];return n&&r.push({type:`heading`,value:n}),r.push({type:`timeline`,value:t}),r},hydration:[],supportedTransports:_i},Si=[`mcp-app`,`browser`,`export`];function K(e){return typeof e==`object`&&!!e}function Ci(e){return K(e)&&typeof e.label==`string`}function wi(e){return{name:e.label,children:Array.isArray(e.children)?e.children.filter(Ci).map(wi):[]}}function Ti(e){if(!K(e))return{};let t=e.root;return Ci(t)?wi(t):K(t)?t:e}var Ei={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:Ti(e)}],hydration:[`tree`],supportedTransports:Si},q=new gr;q.register(fi),q.register(br),q.register(Nr),q.register(zr),q.register(Qr),q.register(si),q.register(xi),q.register(Ei),q.register(Er),q.register(Ur),q.register(Gr),q.register(gi);var Di=3e3,Oi=2e3;function J(e){let t=e.querySelector(`.bk-action-feedback`);t&&(t.style.display=`block`,t.setAttribute(`data-feedback-state`,`sent`),setTimeout(()=>{t.style.display=`none`},Di));let n=e.querySelectorAll(`button.bk-action`);for(let e of n)e.disabled=!0;setTimeout(()=>{for(let e of n)e.disabled=!1},Oi)}function ki(e,t){let n=[],r=new WeakSet;for(let i of Array.from(e.querySelectorAll(`.bk-text-submit`))){let a=i.getAttribute(`data-action-id`);if(!a)continue;r.add(i);let o=i.querySelector(`.bk-input`),s=i.querySelector(`.bk-action--primary`);if(!o||!s)continue;r.add(o),r.add(s);let c=()=>{t(a,o.value),J(e)};s.addEventListener(`click`,c),n.push(()=>s.removeEventListener(`click`,c))}for(let i of Array.from(e.querySelectorAll(`.bk-form`))){let a=i.getAttribute(`data-action-id`);if(!a)continue;r.add(i);for(let e of i.querySelectorAll(`[data-action-id]`))r.add(e);let o=n=>{n.preventDefault();let r=new FormData(i),o={};r.forEach((e,t)=>{o[t]=String(e)}),t(a,JSON.stringify(o)),J(e)};i.addEventListener(`submit`,o),n.push(()=>i.removeEventListener(`submit`,o))}for(let i of Array.from(e.querySelectorAll(`[data-action-id]`))){if(r.has(i))continue;let a=i.getAttribute(`data-action-id`);if(!a)continue;if(i.tagName===`SELECT`){let r=i,o=()=>{t(a,r.value),J(e)};r.addEventListener(`change`,o),n.push(()=>r.removeEventListener(`change`,o));continue}let o=()=>{t(a),J(e)};i.addEventListener(`click`,o),n.push(()=>i.removeEventListener(`click`,o))}return()=>{for(let e of n)e()}}var Ai=`
1738
2555
  .bk-checklist-progress {
1739
2556
  margin-bottom: var(--dt-space-3);
1740
2557
  color: var(--dt-text-secondary);
@@ -1748,8 +2565,8 @@ ${c}
1748
2565
  margin: 0;
1749
2566
  accent-color: var(--dt-accent-fg);
1750
2567
  }
1751
- `;function pi(e){let t=e.createElement(`style`);return t.textContent=fi,t}function mi(e,t){let n=t.filter(e=>e.getAttribute(`data-checked`)===`true`).length,r=t.length;return e.textContent=`${n}/${r} complete`,{complete:n,total:r}}function hi(e,t={}){let n=Array.from(e.querySelectorAll(`.bk-checklist-item`));if(n.length===0)return()=>{};let r=e.ownerDocument,i=pi(r),a=r.createElement(`div`);a.className=`bk-checklist-progress`,e.parentElement?.insertBefore(a,e),r.head?.appendChild(i);let o=[];for(let[e,i]of n.entries()){let s=i.querySelector(`.bk-checklist-icon`),c=i.querySelector(`.bk-checklist-label`)?.textContent?.trim()??``,l=r.createElement(`input`);l.type=`checkbox`,l.className=`bk-checklist-box`,l.checked=i.getAttribute(`data-checked`)===`true`;let u=()=>{i.setAttribute(`data-checked`,String(l.checked));let r=mi(a,n);t.onAction?.(`checklist`,JSON.stringify({index:e,label:c,checked:l.checked,complete:r.complete,total:r.total}))};l.addEventListener(`change`,u),o.push(()=>{l.removeEventListener(`change`,u)}),s?s.replaceWith(l):i.insertBefore(l,i.firstChild)}return mi(a,n),()=>{for(let e of o)e();a.remove(),i.remove();for(let e of n){let t=e.querySelector(`.bk-checklist-box`);if(!t)continue;let n=r.createElement(`span`);n.className=`bk-checklist-icon`,n.textContent=e.getAttribute(`data-checked`)===`true`?`✓`:`×`,t.replaceWith(n)}}}var W=`data-sort-label`,G=`data-sort-dir`,gi=new Intl.Collator(void 0,{numeric:!0,sensitivity:`base`});function K(e){let t=e.getAttribute(W);if(t!==null)return t;let n=e.textContent?.trim()??``;return e.setAttribute(W,n),n}function _i(e,t,n){for(let[r,i]of e.entries())i.textContent=K(i),r===t?(i.setAttribute(G,n),i.append(` ${n===`asc`?`▲`:`▼`}`)):i.removeAttribute(G)}function vi(e,t){return e.querySelectorAll(`td`)[t]?.textContent?.trim()??``}function yi(e){let t=Array.from(e.querySelectorAll(`thead th`)),n=e.querySelector(`tbody`);if(!n||t.length===0)return()=>{};let r=Array.from(n.querySelectorAll(`tr`)),i=e.parentElement,a=null,o=`asc`,s=``,c=null,l=[],u=()=>{let e=[...r];if(a!==null){let t=a;e.sort((e,n)=>{let r=gi.compare(vi(e,t),vi(n,t));return o===`asc`?r:-r})}for(let t of e){n.appendChild(t);let e=t.textContent?.toLowerCase()??``;t.hidden=s.length>0&&!e.includes(s)}_i(t,a,o)};for(let[e,n]of t.entries()){K(n);let t=()=>{a===e?o=o===`asc`?`desc`:`asc`:(a=e,o=`asc`),u()};n.style.cursor=`pointer`,n.addEventListener(`click`,t),l.push(()=>{n.removeEventListener(`click`,t)})}if(r.length>5&&i){c=i.ownerDocument.createElement(`input`),c.className=`bk-table-filter`,c.placeholder=`Filter...`;let t=()=>{s=c?.value.toLowerCase().trim()??``,u()};i.insertBefore(c,e),c.addEventListener(`input`,t),l.push(()=>{c?.removeEventListener(`input`,t),c?.remove(),c=null})}return u(),()=>{for(let e of l)e();for(let e of t)e.textContent=K(e),e.removeAttribute(G),e.removeAttribute(W),e.style.removeProperty(`cursor`);for(let e of r)e.hidden=!1}}function bi(e){for(let t of Array.from(e.children))if(t.tagName===`SUMMARY`)return t;return null}function xi(e){let t=e.closest(`details`);if(!t)return null;let n=t.parentElement;for(;n;){if(n.tagName===`DETAILS`)return bi(n);n=n.parentElement}return null}function Si(e){return Array.from(e.querySelectorAll(`summary`))}function q(e){return e.open||e.hasAttribute(`open`)}function J(e,t){e.open=t,t?e.setAttribute(`open`,``):e.removeAttribute(`open`)}function Y(e,t){e.textContent=t.every(e=>q(e))?`Collapse all`:`Expand all`}function Ci(e){let t=Array.from(e.querySelectorAll(`details`));if(t.length===0)return()=>{};let n=e.ownerDocument.createElement(`button`);n.type=`button`,n.className=`bk-tree-toggle-all`,e.insertBefore(n,e.firstChild);let r=()=>{let e=t.some(e=>!q(e));for(let n of t)J(n,e);Y(n,t)},i=()=>{r()};n.addEventListener(`click`,i);let a=t.map(e=>{let r=()=>{Y(n,t)};return e.addEventListener(`toggle`,r),()=>{e.removeEventListener(`toggle`,r)}}),o=Si(e).map(t=>{t.tabIndex=0;let n=n=>{let r=Si(e),i=r.indexOf(t);if(i===-1)return;let a=t.closest(`details`);if(n.key===`ArrowDown`){r[i+1]?.focus(),n.preventDefault();return}if(n.key===`ArrowUp`){r[i-1]?.focus(),n.preventDefault();return}if(n.key===`ArrowRight`){if(a&&!q(a))J(a,!0);else{let e=r[i+1];e&&a?.contains(e)&&e.focus()}n.preventDefault();return}n.key===`ArrowLeft`&&(a&&q(a)?J(a,!1):xi(t)?.focus(),n.preventDefault())};return t.addEventListener(`keydown`,n),()=>{t.removeEventListener(`keydown`,n)}});return Y(n,t),()=>{n.removeEventListener(`click`,i);for(let e of a)e();for(let e of o)e();n.remove()}}var X=`data-hydrated`;function Z(e,t){let n=[];return e.matches(t)&&n.push(e),n.push(...Array.from(e.querySelectorAll(t))),n}function Q(e,t,n){e.push(()=>{n(),t.removeAttribute(X)})}function wi(e={}){let t=e.container??document.body,n=[];for(let e of Z(t,`.bk-table`))e.hasAttribute(X)||(e.setAttribute(X,``),Q(n,e,yi(e)));for(let e of Z(t,`.bk-tree`))e.hasAttribute(X)||(e.setAttribute(X,``),Q(n,e,Ci(e)));for(let r of Z(t,`.bk-checklist`))r.hasAttribute(X)||(r.setAttribute(X,``),Q(n,r,hi(r,e)));for(let r of Z(t,`.bk-actions`))if(!r.hasAttribute(X)){if(r.setAttribute(X,``),e.onAction){Q(n,r,di(r,e.onAction));continue}n.push(()=>{r.removeAttribute(X)})}return()=>{for(let e of n)e();n.length=0}}var Ti=`aikit-report-theme`,Ei=e,Di=t,Oi=`aikit-report-block-styles`,ki=`<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><circle cx="12" cy="12" r="5"/><path d="M12 1v2M12 21v2M4.22 4.22l1.42 1.42M18.36 18.36l1.42 1.42M1 12h2M21 12h2M4.22 19.78l1.42-1.42M18.36 5.64l1.42-1.42"/></svg>`,Ai=`<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"/></svg>`;function ji(e){if(e.getElementById(Oi))return;let t=e.createElement(`style`);t.id=Oi,t.textContent=On(),e.head.appendChild(t)}function Mi(e){return e.flatMap(e=>Ni(e))}function Ni(e){if(e.type===`section`)return[{...e,type:`heading`,level:Number(e.level)||2,value:e.value??e.title}];if(e.type===`stacked-bar`){let t=Array.isArray(e.segments)?e.segments:[];return[{type:`progress`,title:e.title,value:t.map(e=>{let t=e;return{label:String(t.label??``),value:Number(t.percent)||0,max:100,color:t.color}})}]}if(e.type===`summary`){let t=Array.isArray(e.children)?Mi(e.children):[];return[...e.title?[{type:`heading`,id:e.id,level:Number(e.level)||2,value:e.title}]:[],...t]}return e.type===`grid`?(Array.isArray(e.children)?e.children:[]).flatMap(e=>{let t=e;return[...t.title?[{type:`heading`,level:3,value:t.title}]:[],...Mi(Array.isArray(t.blocks)?t.blocks:[])]}):e.type===`chart`&&e.value===void 0?[{...e,value:{chartType:e.chartType,data:e.data,xKey:e.xKey,yKeys:e.yKeys}}]:e.type===`progress`&&e.value===void 0&&e.items?[{...e,value:{items:e.items}}]:e.type===`table`&&e.value===void 0&&(e.headers||e.rows)?[{...e,value:{headers:e.headers,rows:e.rows}}]:e.type===`tags`&&e.value===void 0&&e.items?[{...e,value:{items:e.items}}]:[e]}function Pi(e,t,n,r){ji(r),e.innerHTML=Yn(Mi(t),{mode:`standalone`,theme:n}),wi({container:e})}function Fi(e){return e??(typeof window<`u`?window.localStorage:void 0)}function Ii(e){return e||(typeof window<`u`&&typeof window.matchMedia==`function`?e=>window.matchMedia(e):()=>({matches:!1}))}function Li(e){return e===`light`||e===`dark`?e:null}function Ri(e=document,t,n){let r=Li(Fi(t)?.getItem(`aikit-report-theme`))??(Ii(n)(`(prefers-color-scheme: light)`).matches?`light`:`dark`);return e.documentElement.setAttribute(`data-theme`,r),r}function zi(e,t,n){return e.documentElement.setAttribute(`data-theme`,t),n?.setItem(Ti,t),t}function Bi(e,t){return zi(e,(Li(e.documentElement.getAttribute(`data-theme`))??`dark`)===`dark`?`light`:`dark`,t)}function Vi(e){if(!e)return new Date().toLocaleString();let t=new Date(String(e));return Number.isNaN(t.getTime())?String(e):t.toLocaleString(void 0,{dateStyle:`medium`,timeStyle:`short`})}function Hi(e,t){e.setAttribute(`aria-label`,t===`dark`?`Switch to light theme`:`Switch to dark theme`),e.innerHTML=t===`dark`?ki:Ai}function $(e,t,n=!1){let r=e.querySelector(`.aikit-toolbox-toggle`),i=e.querySelector(`.aikit-toolbox-menu`);!r||!i||(i.hidden=!t,r.setAttribute(`aria-expanded`,String(t)),t?e.querySelector(`.aikit-toolbox-item`)?.focus():n&&r.focus())}function Ui(e,t){return zn({title:e.title||`Report`,subtitle:e.subtitle,transport:`browser`,actionsHtml:t?`<button class="report-menu-toggle" type="button" aria-expanded="false">Sections</button>`:void 0})}function Wi(e,t,n){let r=n.getComputedStyle(e),i=Array.from(r).map(e=>`${e}:${r.getPropertyValue(e)}${r.getPropertyPriority(e)?` !important`:``};`).join(``);t.setAttribute(`style`,i);for(let r=0;r<e.children.length;r+=1){let i=e.children[r],a=t.children[r];i&&a&&Wi(i,a,n)}}async function Gi(e){let t=e.defaultView;if(!t)throw Error(`Window unavailable`);let n=Math.max(e.documentElement.scrollWidth,e.documentElement.clientWidth,e.body?.scrollWidth??0),r=Math.max(e.documentElement.scrollHeight,e.documentElement.clientHeight,e.body?.scrollHeight??0),i=t.devicePixelRatio||1,a=e.createElement(`canvas`);a.width=Math.max(1,Math.ceil(n*i)),a.height=Math.max(1,Math.ceil(r*i));let o=a.getContext(`2d`);if(!o)throw Error(`Canvas context unavailable`);o.scale(i,i);let s=e.documentElement.cloneNode(!0);if(!(s instanceof Element))throw Error(`Document clone failed`);s.setAttribute(`xmlns`,`http://www.w3.org/1999/xhtml`),s.querySelectorAll(`script`).forEach(e=>{e.remove()}),Wi(e.documentElement,s,t);let c=[`<svg xmlns="http://www.w3.org/2000/svg" width="${n}" height="${r}" viewBox="0 0 ${n} ${r}">`,`<foreignObject width="100%" height="100%">${new XMLSerializer().serializeToString(s)}</foreignObject>`,`</svg>`].join(``),l=new Blob([c],{type:`image/svg+xml;charset=utf-8`}),u=t.URL.createObjectURL(l);try{await new Promise((e,i)=>{let a=new t.Image;a.onload=()=>{o.drawImage(a,0,0,n,r),e()},a.onerror=()=>i(Error(`ForeignObject render failed`)),a.src=u})}finally{t.URL.revokeObjectURL(u)}let d=await new Promise(e=>a.toBlob(e,`image/png`));if(!d)throw Error(`PNG export failed`);let f=t.URL.createObjectURL(d),p=e.createElement(`a`),m=new Date().toISOString().replace(/[.:]/g,`-`);p.href=f,p.download=`aikit-screenshot-${m}.png`,e.body?.appendChild(p),p.click(),p.remove(),t.URL.revokeObjectURL(f)}function Ki(e,t,n={}){let r=n.document??e.ownerDocument??document,i=Fi(n.storage),a=Li(r.documentElement.getAttribute(`data-theme`))??Ri(r,i,n.matchMedia),o=r.defaultView,s=Array.isArray(t.sidebar)&&t.sidebar.length>0,c=s?t.sidebar??[]:[],l=Ui(t,s),u=Bn({generatedAt:Vi(t.timestamp??t.generatedAt),badge:t.badge});e.innerHTML=`<div class="report-shell"><div class="report-header-shell">${l}</div><div class="report-body${s?` has-sidebar`:``}">${s?`<aside class="report-sidebar"><nav class="report-sidebar__nav" aria-label="Report sections">${c.map(e=>`<a class="report-sidebar__link" href="${Di(e.href)}">${Ei(e.label)}</a>`).join(``)}</nav></aside>`:``}<main class="report-main"><div class="report-main__content"></div></main></div><div class="report-footer-shell">${u}</div><button class="report-overlay" type="button" aria-label="Close navigation"${s?``:` hidden`}></button></div>`;let d=e.querySelector(`.report-shell`),f=e.querySelector(`.report-menu-toggle`),p=e.querySelector(`.report-overlay`),m=e.querySelector(`.aikit-toolbox-toggle`),h=e.querySelector(`.aikit-toolbox-item`),g=e.querySelector(`.aikit-theme-toggle`),_=e.querySelector(`.report-main__content`);if(!(!d||!g||!_)&&(Hi(g,a),Pi(_,t.blocks,a,r),o&&(o.screenshotPage=async()=>{let t=o.scrollX,n=o.scrollY;$(e,!1),o.scrollTo(0,0),await new Promise(e=>o.requestAnimationFrame(()=>e()));try{await Gi(r)}finally{o.scrollTo(t,n)}}),m?.addEventListener(`click`,()=>{$(e,!!e.querySelector(`.aikit-toolbox-menu`)?.hidden)}),m?.addEventListener(`keydown`,t=>{(t.key===`ArrowDown`||t.key===`Enter`||t.key===` `)&&(t.preventDefault(),$(e,!0))}),h?.addEventListener(`click`,()=>{o?.screenshotPage?.()}),g.addEventListener(`click`,()=>Hi(g,Bi(r,i))),f?.addEventListener(`click`,()=>{let e=!d.classList.contains(`is-sidebar-open`);d.classList.toggle(`is-sidebar-open`,e),f.setAttribute(`aria-expanded`,e?`true`:`false`)}),r.addEventListener(`click`,t=>{let n=e.querySelector(`.aikit-toolbox`),r=t.target;n&&r&&n.contains(r)||$(e,!1)}),p?.addEventListener(`click`,()=>{d.classList.remove(`is-sidebar-open`),f?.setAttribute(`aria-expanded`,`false`)}),s)){for(let t of e.querySelectorAll(`.report-sidebar__link`))t.addEventListener(`click`,()=>{d.classList.remove(`is-sidebar-open`),f?.setAttribute(`aria-expanded`,`false`)});r.addEventListener(`keydown`,t=>{t.key===`Escape`&&($(e,!1,!0),d.classList.remove(`is-sidebar-open`),f?.setAttribute(`aria-expanded`,`false`))})}}var qi=document.getElementById(`report-root`);if(qi){Ri();let e=window.REPORT_DATA;e&&Array.isArray(e.blocks)&&(document.title=e.title||`Report`,Ki(qi,e))}</script>
1752
- <style rel="stylesheet" crossorigin>:root{--dt-bg-canvas:#0c0c0f;--dt-bg-primary:#131316;--dt-bg-secondary:#1c1c21;--dt-bg-tertiary:#25252b;--dt-text-primary:#f0efe7;--dt-text-secondary:#a8a69e;--dt-text-tertiary:#6b6a65;--dt-border-default:#2a2a30;--dt-border-muted:#35353c;--dt-border-subtle:#1f1f24;--dt-glass-bg:#131316b8;--dt-glass-blur:16px;--dt-glass-border:#ffffff0f;--dt-glass-hover-border:#45c8a814;--dt-glass-shadow:0 0 0 1px #ffffff0a, 0 2px 8px #00000040, 0 8px 32px #00000026;--dt-accent-fg:#45c8a8;--dt-accent-emphasis:#0f766e;--dt-accent-foreground:#fff;--dt-accent-muted:#45c8a84d;--dt-accent-subtle:#45c8a81a;--aikit-accent:var(--dt-accent-subtle);--dt-success-fg:#2bd47c;--dt-success-emphasis:#22b86b;--dt-success-muted:#2bd47c4d;--dt-success-subtle:#2bd47c1a;--dt-danger-fg:#f56a6a;--dt-danger-emphasis:#e54848;--dt-danger-muted:#f56a6a4d;--dt-danger-subtle:#f56a6a1a;--dt-warning-fg:#f5b342;--dt-warning-emphasis:#e89e2e;--dt-warning-muted:#f5b3424d;--dt-warning-subtle:#f5b3421a;--dt-info-fg:#6baef8;--dt-info-emphasis:#5090e8;--dt-info-muted:#6baef84d;--dt-info-subtle:#6baef81a;--dt-purple-fg:#c89bff;--dt-purple-emphasis:#b07ef0;--dt-purple-muted:#c89bff4d;--dt-purple-subtle:#c89bff1a;--dt-agent-researcher:#818cf8;--dt-agent-implementer:#34d399;--dt-agent-frontend:#f472b6;--dt-agent-reviewer:#fbbf24;--dt-agent-debugger:#f87171;--dt-agent-security:#fb923c;--dt-agent-explorer:#38bdf8;--dt-agent-documenter:#c084fc;--dt-agent-refactor:#2dd4bf;--dt-agent-planner:#a78bfa;--dt-agent-orchestrator:#94a3b8;--dt-status-pending:#94a3b8;--dt-status-in-progress:#60a5fa;--dt-status-done:#4ade80;--dt-status-blocked:#f87171;--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-font-size-4xl:2.5rem;--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-10:2.5rem;--dt-space-12:3rem;--dt-radius-xs:4px;--dt-radius-sm:6px;--dt-radius-md:8px;--dt-radius-lg:12px;--dt-radius-xl:16px;--dt-radius-pill:999px;--dt-shadow-sm:0 0 0 1px #ffffff05, 0 1px 3px #0000004d;--dt-shadow-md:0 0 0 1px #ffffff08, 0 2px 6px #00000059, 0 4px 12px #0003;--dt-shadow-lg:0 0 0 1px #ffffff0a, 0 2px 8px #0006, 0 8px 32px #00000040;--dt-glow-primary:radial-gradient(circle at 50% 50%, #45c8a81f, #6baef80d 45%, transparent 70%);--dt-glow-secondary:radial-gradient(circle at 50% 50%, #c89bff0f, transparent 50%);--dt-glow-accent:#45c8a859;--dt-glow-success:#2bd47c59;--dt-glow-danger:#f56a6a59;--dt-glow-warning:#f5b34259;--dt-glow-info:#6baef859;--dt-glow-purple:#c89bff59;--dt-annotation-comment:#45c8a8;--dt-annotation-comment-bg:#45c8a826;--dt-annotation-deletion:#f56a6a;--dt-annotation-deletion-bg:#f56a6a26;--dt-annotation-hover:#ffffff0a;--dt-transition-fast:.12s cubic-bezier(.25, .46, .45, .94);--dt-transition-normal:.2s cubic-bezier(.25, .46, .45, .94);--dt-transition-slow:.3s cubic-bezier(.16, 1, .3, 1);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=light]{--dt-bg-canvas:#f5f4ee;--dt-bg-primary:#faf9f4;--dt-bg-secondary:#f0efe8;--dt-bg-tertiary:#fff;--dt-text-primary:#1a1a17;--dt-text-secondary:#6b6a65;--dt-text-tertiary:#a8a69e;--dt-border-default:#e3e2da;--dt-border-muted:#d6d5cd;--dt-border-subtle:#eeede6;--dt-glass-bg:#faf9f4c7;--dt-glass-border:#0000000f;--dt-glass-hover-border:#0f8f7a14;--dt-glass-shadow:0 0 0 1px #00000005, 0 2px 8px #0000000a, 0 8px 24px #00000008;--dt-accent-fg:#0f8f7a;--dt-accent-emphasis:#0f766e;--dt-accent-foreground:#fff;--dt-accent-muted:#0f8f7a33;--dt-accent-subtle:#0f8f7a12;--aikit-accent:var(--dt-accent-subtle);--dt-success-fg:#16a34a;--dt-success-emphasis:#15803d;--dt-success-muted:#16a34a33;--dt-success-subtle:#16a34a12;--dt-danger-fg:#dc2626;--dt-danger-emphasis:#b91c1c;--dt-danger-muted:#dc262633;--dt-danger-subtle:#dc262612;--dt-warning-fg:#d97706;--dt-warning-emphasis:#b45309;--dt-warning-muted:#d9770633;--dt-warning-subtle:#d9770612;--dt-info-fg:#2563eb;--dt-info-emphasis:#1d4ed8;--dt-info-muted:#2563eb33;--dt-info-subtle:#2563eb12;--dt-purple-fg:#7c3aed;--dt-purple-emphasis:#6d28d9;--dt-purple-muted:#7c3aed33;--dt-purple-subtle:#7c3aed12;--dt-shadow-sm:0 0 0 1px #00000005, 0 1px 3px #0000000f;--dt-shadow-md:0 0 0 1px #00000008, 0 2px 6px #0000000d, 0 4px 12px #00000008;--dt-shadow-lg:0 0 0 1px #00000008, 0 2px 8px #0000000f, 0 8px 32px #0000000a;--dt-glow-primary:radial-gradient(circle at 50% 50%, #0f8f7a12, #c89bff08 50%, transparent 70%);--dt-glow-secondary:radial-gradient(circle at 50% 50%, #f5b3420d, transparent 50%);--dt-annotation-comment:#0f8f7a;--dt-annotation-comment-bg:#0f8f7a1a;--dt-annotation-deletion:#dc2626;--dt-annotation-deletion-bg:#dc26261a;--dt-annotation-hover:#0000000a;--dt-glow-accent:#0f8f7a59;--dt-glow-success:#16a34a59;--dt-glow-danger:#dc262659;--dt-glow-warning:#d9770659;--dt-glow-info:#2563eb59;--dt-glow-purple:#7c3aed59;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.aikit-header,.aikit-toolbox-menu,.aikit-copy-status,.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-min-height:3.5rem;--aikit-header-padding-x:var(--dt-space-6);--aikit-header-padding-y:var(--dt-space-2);--aikit-header-gap:var(--dt-space-4);--aikit-header-actions-gap:var(--dt-space-2);--aikit-header-min-height-mobile:3rem;--aikit-header-padding-x-mobile:var(--dt-space-4);--aikit-header-padding-y-mobile:var(--dt-space-2);--aikit-header-gap-mobile:var(--dt-space-2);--aikit-header-actions-gap-mobile:var(--dt-space-1);--aikit-footer-padding:var(--dt-space-6) var(--dt-space-6) var(--dt-space-8);--aikit-footer-padding-mobile:var(--dt-space-4) var(--dt-space-4) var(--dt-space-6);--aikit-footer-padding-mobile-sm:var(--dt-space-4) var(--dt-space-3) var(--dt-space-6);--aikit-toolbox-menu-max-width-mobile:calc(100vw - 2rem)}.aikit-header{z-index:100;justify-content:space-between;align-items:center;gap:var(--aikit-header-gap);min-height:var(--aikit-header-min-height);padding:var(--aikit-header-padding-y) var(--aikit-header-padding-x);border-bottom:1px solid var(--aikit-border);background:color-mix(in srgb, var(--aikit-background) 85%, transparent);-webkit-backdrop-filter:blur(12px);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-xs);letter-spacing:.14em;text-transform:uppercase;opacity:.8;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(--aikit-header-actions-gap);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);border-radius:var(--dt-radius-md);min-width:2.25rem;height:2.25rem;color:var(--aikit-muted-foreground);cursor:pointer;font:inherit;transition:background var(--dt-transition-fast), border-color var(--dt-transition-fast), color var(--dt-transition-fast);background:0 0;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);color:var(--aikit-foreground);border-color:var(--aikit-border)}.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);background:color-mix(in srgb, var(--aikit-background) 98%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--dt-shadow-lg);z-index:120;transform-origin:100% 0;animation:.15s cubic-bezier(.16,1,.3,1) aikit-menu-enter;display:grid;position:absolute;right:0}@keyframes aikit-menu-enter{0%{opacity:0;transform:scale(.95)translateY(-4px)}to{opacity:1;transform:scale(1)translateY(0)}}.aikit-toolbox-menu[hidden]{animation:none;display:none}.aikit-toolbox-item{align-items:center;gap:var(--dt-space-2);width:100%;min-height:2.25rem;padding:0 var(--dt-space-3);border-radius:var(--dt-radius-sm);color:var(--aikit-foreground);cursor:pointer;font:inherit;text-align:left;transition:background var(--dt-transition-fast), border-color var(--dt-transition-fast);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{opacity:.7;flex:none}.aikit-copy-status{right:var(--dt-space-4);bottom:var(--dt-space-4);z-index:1000;max-width:min(28rem, calc(100vw - var(--dt-space-8)));padding:var(--dt-space-3) var(--dt-space-4);border:1px solid var(--aikit-border);border-radius:var(--dt-radius-md);background:var(--aikit-background);background:color-mix(in srgb, var(--aikit-background) 98%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--aikit-foreground);box-shadow:var(--dt-shadow-lg);font-size:var(--dt-font-size-sm);line-height:1.4;position:fixed}.aikit-copy-status[data-tone=error]{border-color:var(--dt-danger-muted);color:var(--dt-danger-fg)}.aikit-footer{z-index:1;padding:var(--aikit-footer-padding);border-top:1px solid var(--aikit-border);color:var(--aikit-muted-foreground);font-size:var(--dt-font-size-xs);justify-content:center;align-items:center;margin-top:auto;display:flex;position:relative}.aikit-footer-meta{justify-content:center;align-items:center;gap:var(--dt-space-2);text-align:center;flex-wrap:wrap;display:inline-flex}.aikit-footer-text{justify-content:center;align-items:center;gap:.35rem;min-width:0;display:inline-flex}.aikit-footer-brand{color:var(--aikit-foreground);font-family:var(--dt-font-mono);letter-spacing:.1em;text-transform:uppercase;opacity:.8;font-weight:600}.aikit-footer-timestamp,.aikit-footer-slot{min-width:0}.aikit-footer-slot{align-items:center;gap:.35rem;display:inline-flex}@supports not (background:color-mix(in srgb, white 50%, transparent)){.aikit-header,.aikit-toolbox-menu,.aikit-copy-status{background:var(--aikit-background)}}@media (width<=640px){.aikit-header-brand{display:none}.aikit-header{gap:var(--aikit-header-gap-mobile);padding-left:var(--aikit-header-padding-x-mobile);padding-right:var(--aikit-header-padding-x-mobile);min-height:var(--aikit-header-min-height-mobile)}.aikit-toolbox-menu{min-width:auto;max-width:var(--aikit-toolbox-menu-max-width-mobile);left:auto;right:0}.aikit-footer{padding:var(--aikit-footer-padding-mobile)}}@media (width<=400px){.aikit-header-actions{gap:var(--aikit-header-actions-gap-mobile)}.aikit-footer{padding:var(--aikit-footer-padding-mobile-sm)}.aikit-toolbox-menu{border-radius:var(--dt-radius-xl) var(--dt-radius-xl) 0 0;min-width:auto;max-width:100%;position:fixed;inset:auto 0 0;box-shadow:0 -4px 24px #0003}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--dt-bg-primary);min-height:100vh;color:var(--dt-text-primary);font-family:var(--dt-font-sans);font-size:var(--dt-font-size-base);margin:0;line-height:1.6}body:before,body:after{content:"";pointer-events:none;position:fixed;inset:0}body:before{background:radial-gradient(circle at top right, var(--dt-accent-subtle), transparent 34%), radial-gradient(circle at bottom left, var(--dt-purple-subtle), transparent 32%)}body:after{background:linear-gradient(90deg, var(--dt-border-subtle) 1px, transparent 1px), linear-gradient(var(--dt-border-subtle) 1px, transparent 1px);background-size:var(--dt-space-16) var(--dt-space-16);opacity:.35;-webkit-mask-image:linear-gradient(#0000,#000 10% 90%,#0000);mask-image:linear-gradient(#0000,#000 10% 90%,#0000)}a{color:var(--dt-accent-fg);text-decoration:none}a:hover{color:var(--dt-accent-emphasis);text-decoration:underline}button,input,select,textarea{font:inherit}code,pre,kbd,samp{font-family:var(--dt-font-mono)}#report-root{min-height:100vh}.report-shell{z-index:1;grid-template-rows:auto 1fr auto;min-height:100vh;display:grid;position:relative}.report-header-shell,.report-footer-shell{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:color-mix(in srgb, var(--dt-bg-primary) 88%, transparent)}.report-header-shell{z-index:20;border-bottom:1px solid var(--dt-border-muted);position:sticky;top:0}.report-footer-shell{border-top:1px solid var(--dt-border-muted)}.report-header-shell .aikit-header,.report-main,.report-footer-shell .aikit-footer{width:min(calc(100% - (var(--dt-space-4) * 2)), 1400px);margin:0 auto}.report-header-shell .aikit-header{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border-bottom:0;padding-left:0;padding-right:0;position:static}.report-header-shell .aikit-header-title{align-items:baseline}.report-header-shell .aikit-header-title-text{font-size:clamp(var(--dt-font-size-2xl), 3vw, var(--dt-font-size-3xl));letter-spacing:-.04em;line-height:1.05}.report-header-shell .aikit-header-subtitle{display:inline}.report-footer-shell .aikit-footer{border-top:0;min-height:64px;padding-left:0;padding-right:0}.report-menu-toggle{min-height:2.5rem;padding:0 var(--dt-space-3);border:1px solid var(--border,var(--dt-border-default));background:var(--card,var(--dt-bg-secondary));color:var(--card-foreground,var(--dt-text-primary));cursor:pointer;font:inherit;transition:background var(--dt-transition-fast), border-color var(--dt-transition-fast), color var(--dt-transition-fast);border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.report-menu-toggle:hover{background:var(--muted,var(--dt-bg-tertiary))}.report-menu-toggle:focus-visible{outline:2px solid var(--accent-foreground,var(--dt-accent-fg));outline-offset:2px}.report-body{grid-template-columns:minmax(0,1fr);display:grid}.report-body.has-sidebar{width:min(calc(100% - (var(--dt-space-4) * 2)), 1400px);grid-template-columns:250px minmax(0,1fr);margin:0 auto}.report-sidebar{height:calc(100vh - 120px);padding:var(--dt-space-6) var(--dt-space-4) var(--dt-space-6) 0;align-self:start;position:sticky;top:92px}.report-sidebar__nav{gap:var(--dt-space-2);padding-right:var(--dt-space-4);border-right:1px solid var(--dt-border-muted);display:grid}.report-sidebar__link{color:var(--dt-text-secondary);align-items:center;display:inline-flex}.report-main{padding:var(--dt-space-8) 0}.report-body.has-sidebar .report-main{width:auto;padding-left:var(--dt-space-6);margin:0}.report-main__content{gap:var(--dt-space-6);display:grid}.report-main__content>*{min-width:0}.report-overlay{z-index:10;background:color-mix(in srgb, var(--dt-bg-canvas) 74%, transparent);opacity:0;pointer-events:none;border:0;padding:0;position:fixed;inset:0}.report-shell.is-sidebar-open .report-overlay{opacity:1;pointer-events:auto}@media (width<=1080px){.report-body.has-sidebar{grid-template-columns:minmax(0,1fr);width:auto;margin:0}.report-sidebar{inset:88px auto var(--dt-space-4) var(--dt-space-4);z-index:15;width:min(280px, calc(100vw - (var(--dt-space-4) * 2)));height:auto;transform:translateX(calc(-100% - var(--dt-space-4)));transition:transform var(--dt-transition-fast);padding:0;position:fixed}.report-sidebar__nav{padding:var(--dt-space-4);border:1px solid var(--dt-border-muted);border-right:1px solid var(--dt-border-muted);border-radius:var(--dt-radius-lg);background:var(--dt-bg-secondary);box-shadow:var(--dt-shadow-lg)}.report-shell.is-sidebar-open .report-sidebar{transform:translate(0)}.report-body.has-sidebar .report-main{padding-left:0}}@media (width<=720px){.report-header-shell .aikit-header-subtitle{display:none}}
2568
+ `;function ji(e){let t=e.createElement(`style`);return t.textContent=Ai,t}function Mi(e,t){let n=t.filter(e=>e.getAttribute(`data-checked`)===`true`).length,r=t.length;return e.textContent=`${n}/${r} complete`,{complete:n,total:r}}function Ni(e,t={}){let n=Array.from(e.querySelectorAll(`.bk-checklist-item`));if(n.length===0)return()=>{};let r=e.ownerDocument,i=ji(r),a=r.createElement(`div`);a.className=`bk-checklist-progress`,e.parentElement?.insertBefore(a,e),r.head?.appendChild(i);let o=[];for(let[e,i]of n.entries()){let s=i.querySelector(`.bk-checklist-icon`),c=i.querySelector(`.bk-checklist-label`)?.textContent?.trim()??``,l=r.createElement(`input`);l.type=`checkbox`,l.className=`bk-checklist-box`,l.checked=i.getAttribute(`data-checked`)===`true`;let u=()=>{i.setAttribute(`data-checked`,String(l.checked));let r=Mi(a,n);t.onAction?.(`checklist`,JSON.stringify({index:e,label:c,checked:l.checked,complete:r.complete,total:r.total}))};l.addEventListener(`change`,u),o.push(()=>{l.removeEventListener(`change`,u)}),s?s.replaceWith(l):i.insertBefore(l,i.firstChild)}return Mi(a,n),()=>{for(let e of o)e();a.remove(),i.remove();for(let e of n){let t=e.querySelector(`.bk-checklist-box`);if(!t)continue;let n=r.createElement(`span`);n.className=`bk-checklist-icon`,n.textContent=e.getAttribute(`data-checked`)===`true`?`✓`:`×`,t.replaceWith(n)}}}var Pi=`data-sort-label`,Fi=`data-sort-dir`,Ii=new Intl.Collator(void 0,{numeric:!0,sensitivity:`base`});function Li(e){let t=e.getAttribute(Pi);if(t!==null)return t;let n=e.textContent?.trim()??``;return e.setAttribute(Pi,n),n}function Ri(e,t,n){for(let[r,i]of e.entries())i.textContent=Li(i),r===t?(i.setAttribute(Fi,n),i.append(` ${n===`asc`?`▲`:`▼`}`)):i.removeAttribute(Fi)}function zi(e,t){return e.querySelectorAll(`td`)[t]?.textContent?.trim()??``}function Bi(e){let t=Array.from(e.querySelectorAll(`thead th`)),n=e.querySelector(`tbody`);if(!n||t.length===0)return()=>{};let r=Array.from(n.querySelectorAll(`tr`)),i=e.parentElement,a=null,o=`asc`,s=``,c=null,l=[],u=()=>{let e=[...r];if(a!==null){let t=a;e.sort((e,n)=>{let r=Ii.compare(zi(e,t),zi(n,t));return o===`asc`?r:-r})}for(let t of e){n.appendChild(t);let e=t.textContent?.toLowerCase()??``;t.hidden=s.length>0&&!e.includes(s)}Ri(t,a,o)};for(let[e,n]of t.entries()){Li(n);let t=()=>{a===e?o=o===`asc`?`desc`:`asc`:(a=e,o=`asc`),u()};n.style.cursor=`pointer`,n.addEventListener(`click`,t),l.push(()=>{n.removeEventListener(`click`,t)})}if(r.length>5&&i){c=i.ownerDocument.createElement(`input`),c.className=`bk-table-filter`,c.placeholder=`Filter...`;let t=()=>{s=c?.value.toLowerCase().trim()??``,u()};i.insertBefore(c,e),c.addEventListener(`input`,t),l.push(()=>{c?.removeEventListener(`input`,t),c?.remove(),c=null})}return u(),()=>{for(let e of l)e();for(let e of t)e.textContent=Li(e),e.removeAttribute(Fi),e.removeAttribute(Pi),e.style.removeProperty(`cursor`);for(let e of r)e.hidden=!1}}function Vi(e){for(let t of Array.from(e.children))if(t.tagName===`SUMMARY`)return t;return null}function Hi(e){let t=e.closest(`details`);if(!t)return null;let n=t.parentElement;for(;n;){if(n.tagName===`DETAILS`)return Vi(n);n=n.parentElement}return null}function Ui(e){return Array.from(e.querySelectorAll(`summary`))}function Y(e){return e.open||e.hasAttribute(`open`)}function Wi(e,t){e.open=t,t?e.setAttribute(`open`,``):e.removeAttribute(`open`)}function Gi(e,t){e.textContent=t.every(e=>Y(e))?`Collapse all`:`Expand all`}function Ki(e){let t=Array.from(e.querySelectorAll(`details`));if(t.length===0)return()=>{};let n=e.ownerDocument.createElement(`button`);n.type=`button`,n.className=`bk-tree-toggle-all`,e.insertBefore(n,e.firstChild);let r=()=>{let e=t.some(e=>!Y(e));for(let n of t)Wi(n,e);Gi(n,t)},i=()=>{r()};n.addEventListener(`click`,i);let a=t.map(e=>{let r=()=>{Gi(n,t)};return e.addEventListener(`toggle`,r),()=>{e.removeEventListener(`toggle`,r)}}),o=Ui(e).map(t=>{t.tabIndex=0;let n=n=>{let r=Ui(e),i=r.indexOf(t);if(i===-1)return;let a=t.closest(`details`);if(n.key===`ArrowDown`){r[i+1]?.focus(),n.preventDefault();return}if(n.key===`ArrowUp`){r[i-1]?.focus(),n.preventDefault();return}if(n.key===`ArrowRight`){if(a&&!Y(a))Wi(a,!0);else{let e=r[i+1];e&&a?.contains(e)&&e.focus()}n.preventDefault();return}n.key===`ArrowLeft`&&(a&&Y(a)?Wi(a,!1):Hi(t)?.focus(),n.preventDefault())};return t.addEventListener(`keydown`,n),()=>{t.removeEventListener(`keydown`,n)}});return Gi(n,t),()=>{n.removeEventListener(`click`,i);for(let e of a)e();for(let e of o)e();n.remove()}}var X=`data-hydrated`;function Z(e,t){let n=[];return e.matches(t)&&n.push(e),n.push(...Array.from(e.querySelectorAll(t))),n}function Q(e,t,n){e.push(()=>{n(),t.removeAttribute(X)})}function qi(e={}){let t=e.container??document.body,n=[];for(let e of Z(t,`.bk-table`))e.hasAttribute(X)||(e.setAttribute(X,``),Q(n,e,Bi(e)));for(let e of Z(t,`.bk-tree`))e.hasAttribute(X)||(e.setAttribute(X,``),Q(n,e,Ki(e)));for(let r of Z(t,`.bk-checklist`))r.hasAttribute(X)||(r.setAttribute(X,``),Q(n,r,Ni(r,e)));for(let r of Z(t,`.bk-actions`))if(!r.hasAttribute(X)){if(r.setAttribute(X,``),e.onAction){Q(n,r,ki(r,e.onAction));continue}n.push(()=>{r.removeAttribute(X)})}return()=>{for(let e of n)e();n.length=0}}var Ji=`aikit-report-theme`,Yi=e,Xi=t,Zi=`aikit-report-block-styles`,Qi=`<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><circle cx="12" cy="12" r="5"/><path d="M12 1v2M12 21v2M4.22 4.22l1.42 1.42M18.36 18.36l1.42 1.42M1 12h2M21 12h2M4.22 19.78l1.42-1.42M18.36 5.64l1.42-1.42"/></svg>`,$i=`<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"/></svg>`;function ea(e){if(e.getElementById(Zi))return;let t=e.createElement(`style`);t.id=Zi,t.textContent=qn(),e.head.appendChild(t)}function ta(e){return e.flatMap(e=>na(e))}function na(e){if(e.type===`section`)return[{...e,type:`heading`,level:Number(e.level)||2,value:e.value??e.title}];if(e.type===`stacked-bar`){let t=Array.isArray(e.segments)?e.segments:[];return[{type:`progress`,title:e.title,value:t.map(e=>{let t=e;return{label:String(t.label??``),value:Number(t.percent)||0,max:100,color:t.color}})}]}if(e.type===`summary`){let t=Array.isArray(e.children)?ta(e.children):[];return[...e.title?[{type:`heading`,id:e.id,level:Number(e.level)||2,value:e.title}]:[],...t]}return e.type===`grid`?(Array.isArray(e.children)?e.children:[]).flatMap(e=>{let t=e;return[...t.title?[{type:`heading`,level:3,value:t.title}]:[],...ta(Array.isArray(t.blocks)?t.blocks:[])]}):e.type===`chart`&&e.value===void 0?[{...e,value:{chartType:e.chartType,data:e.data,xKey:e.xKey,yKeys:e.yKeys}}]:e.type===`progress`&&e.value===void 0&&e.items?[{...e,value:{items:e.items}}]:e.type===`table`&&e.value===void 0&&(e.headers||e.rows)?[{...e,value:{headers:e.headers,rows:e.rows}}]:e.type===`tags`&&e.value===void 0&&e.items?[{...e,value:{items:e.items}}]:[e]}function ra(e,t,n,r){ea(r),e.innerHTML=mr(ta(t),{mode:`standalone`,theme:n}),qi({container:e})}function ia(e){return e??(typeof window<`u`?window.localStorage:void 0)}function aa(e){return e||(typeof window<`u`&&typeof window.matchMedia==`function`?e=>window.matchMedia(e):()=>({matches:!1}))}function oa(e){return e===`light`||e===`dark`?e:null}function sa(e=document,t,n){let r=oa(ia(t)?.getItem(`aikit-report-theme`))??(aa(n)(`(prefers-color-scheme: light)`).matches?`light`:`dark`);return e.documentElement.setAttribute(`data-theme`,r),r}function ca(e,t,n){return e.documentElement.setAttribute(`data-theme`,t),n?.setItem(Ji,t),t}function la(e,t){return ca(e,(oa(e.documentElement.getAttribute(`data-theme`))??`dark`)===`dark`?`light`:`dark`,t)}function ua(e){if(!e)return new Date().toLocaleString();let t=new Date(String(e));return Number.isNaN(t.getTime())?String(e):t.toLocaleString(void 0,{dateStyle:`medium`,timeStyle:`short`})}function da(e,t){e.setAttribute(`aria-label`,t===`dark`?`Switch to light theme`:`Switch to dark theme`),e.innerHTML=t===`dark`?Qi:$i}function $(e,t,n=!1){let r=e.querySelector(`.aikit-toolbox-toggle`),i=e.querySelector(`.aikit-toolbox-menu`);!r||!i||(i.hidden=!t,r.setAttribute(`aria-expanded`,String(t)),t?e.querySelector(`.aikit-toolbox-item`)?.focus():n&&r.focus())}function fa(e,t){return ir({title:e.title||`Report`,subtitle:e.subtitle,transport:`browser`,actionsHtml:t?`<button class="report-menu-toggle" type="button" aria-expanded="false">Sections</button>`:void 0})}function pa(e,t,n){let r=n.getComputedStyle(e),i=Array.from(r).map(e=>`${e}:${r.getPropertyValue(e)}${r.getPropertyPriority(e)?` !important`:``};`).join(``);t.setAttribute(`style`,i);for(let r=0;r<e.children.length;r+=1){let i=e.children[r],a=t.children[r];i&&a&&pa(i,a,n)}}async function ma(e){let t=e.defaultView;if(!t)throw Error(`Window unavailable`);let n=Math.max(e.documentElement.scrollWidth,e.documentElement.clientWidth,e.body?.scrollWidth??0),r=Math.max(e.documentElement.scrollHeight,e.documentElement.clientHeight,e.body?.scrollHeight??0),i=t.devicePixelRatio||1,a=e.createElement(`canvas`);a.width=Math.max(1,Math.ceil(n*i)),a.height=Math.max(1,Math.ceil(r*i));let o=a.getContext(`2d`);if(!o)throw Error(`Canvas context unavailable`);o.scale(i,i);let s=e.documentElement.cloneNode(!0);if(!(s instanceof Element))throw Error(`Document clone failed`);s.setAttribute(`xmlns`,`http://www.w3.org/1999/xhtml`),s.querySelectorAll(`script`).forEach(e=>{e.remove()}),pa(e.documentElement,s,t);let c=[`<svg xmlns="http://www.w3.org/2000/svg" width="${n}" height="${r}" viewBox="0 0 ${n} ${r}">`,`<foreignObject width="100%" height="100%">${new XMLSerializer().serializeToString(s)}</foreignObject>`,`</svg>`].join(``),l=new Blob([c],{type:`image/svg+xml;charset=utf-8`}),u=t.URL.createObjectURL(l);try{await new Promise((e,i)=>{let a=new t.Image;a.onload=()=>{o.drawImage(a,0,0,n,r),e()},a.onerror=()=>i(Error(`ForeignObject render failed`)),a.src=u})}finally{t.URL.revokeObjectURL(u)}let d=await new Promise(e=>a.toBlob(e,`image/png`));if(!d)throw Error(`PNG export failed`);let f=t.URL.createObjectURL(d),p=e.createElement(`a`),m=new Date().toISOString().replace(/[.:]/g,`-`);p.href=f,p.download=`aikit-screenshot-${m}.png`,e.body?.appendChild(p),p.click(),p.remove(),t.URL.revokeObjectURL(f)}function ha(e,t,n={}){let r=n.document??e.ownerDocument??document,i=ia(n.storage),a=oa(r.documentElement.getAttribute(`data-theme`))??sa(r,i,n.matchMedia),o=r.defaultView,s=Array.isArray(t.sidebar)&&t.sidebar.length>0,c=s?t.sidebar??[]:[],l=fa(t,s),u=ar({generatedAt:ua(t.timestamp??t.generatedAt),badge:t.badge});e.innerHTML=`<div class="report-shell"><div class="report-header-shell">${l}</div><div class="report-body${s?` has-sidebar`:``}">${s?`<aside class="report-sidebar"><nav class="report-sidebar__nav" aria-label="Report sections">${c.map(e=>`<a class="report-sidebar__link" href="${Xi(e.href)}">${Yi(e.label)}</a>`).join(``)}</nav></aside>`:``}<main class="report-main"><div class="report-main__content"></div></main></div><div class="report-footer-shell">${u}</div><button class="report-overlay" type="button" aria-label="Close navigation"${s?``:` hidden`}></button></div>`;let d=e.querySelector(`.report-shell`),f=e.querySelector(`.report-menu-toggle`),p=e.querySelector(`.report-overlay`),m=e.querySelector(`.aikit-toolbox-toggle`),h=e.querySelector(`.aikit-toolbox-item`),g=e.querySelector(`.aikit-theme-toggle`),_=e.querySelector(`.report-main__content`);if(!(!d||!g||!_)&&(da(g,a),ra(_,t.blocks,a,r),o&&(o.screenshotPage=async()=>{let t=o.scrollX,n=o.scrollY;$(e,!1),o.scrollTo(0,0),await new Promise(e=>o.requestAnimationFrame(()=>e()));try{await ma(r)}finally{o.scrollTo(t,n)}}),m?.addEventListener(`click`,()=>{$(e,!!e.querySelector(`.aikit-toolbox-menu`)?.hidden)}),m?.addEventListener(`keydown`,t=>{(t.key===`ArrowDown`||t.key===`Enter`||t.key===` `)&&(t.preventDefault(),$(e,!0))}),h?.addEventListener(`click`,()=>{o?.screenshotPage?.()}),g.addEventListener(`click`,()=>da(g,la(r,i))),f?.addEventListener(`click`,()=>{let e=!d.classList.contains(`is-sidebar-open`);d.classList.toggle(`is-sidebar-open`,e),f.setAttribute(`aria-expanded`,e?`true`:`false`)}),r.addEventListener(`click`,t=>{let n=e.querySelector(`.aikit-toolbox`),r=t.target;n&&r&&n.contains(r)||$(e,!1)}),p?.addEventListener(`click`,()=>{d.classList.remove(`is-sidebar-open`),f?.setAttribute(`aria-expanded`,`false`)}),s)){for(let t of e.querySelectorAll(`.report-sidebar__link`))t.addEventListener(`click`,()=>{d.classList.remove(`is-sidebar-open`),f?.setAttribute(`aria-expanded`,`false`)});r.addEventListener(`keydown`,t=>{t.key===`Escape`&&($(e,!1,!0),d.classList.remove(`is-sidebar-open`),f?.setAttribute(`aria-expanded`,`false`))})}}var ga=document.getElementById(`report-root`);if(ga){sa();let e=window.REPORT_DATA;e&&Array.isArray(e.blocks)&&(document.title=e.title||`Report`,ha(ga,e))}</script>
2569
+ <style rel="stylesheet" crossorigin>:root{--dt-bg-canvas:#0c0c0f;--dt-bg-primary:#131316;--dt-bg-secondary:#1c1c21;--dt-bg-tertiary:#25252b;--dt-text-primary:#f0efe7;--dt-text-secondary:#a8a69e;--dt-text-tertiary:#6b6a65;--dt-border-default:#2a2a30;--dt-border-muted:#35353c;--dt-border-subtle:#1f1f24;--dt-glass-bg:#131316b8;--dt-glass-blur:16px;--dt-glass-border:#ffffff0f;--dt-glass-hover-border:#45c8a814;--dt-glass-shadow:0 0 0 1px #ffffff0a, 0 2px 8px #00000040, 0 8px 32px #00000026;--dt-accent-fg:#45c8a8;--dt-accent-emphasis:#0f766e;--dt-accent-foreground:#fff;--dt-accent-muted:#45c8a84d;--dt-accent-subtle:#45c8a81a;--aikit-accent:var(--dt-accent-subtle);--dt-success-fg:#2bd47c;--dt-success-emphasis:#22b86b;--dt-success-muted:#2bd47c4d;--dt-success-subtle:#2bd47c1a;--dt-danger-fg:#f56a6a;--dt-danger-emphasis:#e54848;--dt-danger-muted:#f56a6a4d;--dt-danger-subtle:#f56a6a1a;--dt-warning-fg:#f5b342;--dt-warning-emphasis:#e89e2e;--dt-warning-muted:#f5b3424d;--dt-warning-subtle:#f5b3421a;--dt-info-fg:#6baef8;--dt-info-emphasis:#5090e8;--dt-info-muted:#6baef84d;--dt-info-subtle:#6baef81a;--dt-purple-fg:#c89bff;--dt-purple-emphasis:#b07ef0;--dt-purple-muted:#c89bff4d;--dt-purple-subtle:#c89bff1a;--dt-agent-researcher:#818cf8;--dt-agent-implementer:#34d399;--dt-agent-frontend:#f472b6;--dt-agent-reviewer:#fbbf24;--dt-agent-debugger:#f87171;--dt-agent-security:#fb923c;--dt-agent-explorer:#38bdf8;--dt-agent-documenter:#c084fc;--dt-agent-refactor:#2dd4bf;--dt-agent-planner:#a78bfa;--dt-agent-orchestrator:#94a3b8;--dt-status-pending:#94a3b8;--dt-status-in-progress:#60a5fa;--dt-status-done:#4ade80;--dt-status-blocked:#f87171;--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-font-size-4xl:2.5rem;--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-10:2.5rem;--dt-space-12:3rem;--dt-radius-xs:4px;--dt-radius-sm:6px;--dt-radius-md:8px;--dt-radius-lg:12px;--dt-radius-xl:16px;--dt-radius-pill:999px;--dt-shadow-sm:0 0 0 1px #ffffff05, 0 1px 3px #0000004d;--dt-shadow-md:0 0 0 1px #ffffff08, 0 2px 6px #00000059, 0 4px 12px #0003;--dt-shadow-lg:0 0 0 1px #ffffff0a, 0 2px 8px #0006, 0 8px 32px #00000040;--dt-glow-primary:radial-gradient(circle at 50% 50%, #45c8a81f, #6baef80d 45%, transparent 70%);--dt-glow-secondary:radial-gradient(circle at 50% 50%, #c89bff0f, transparent 50%);--dt-glow-accent:#45c8a859;--dt-glow-success:#2bd47c59;--dt-glow-danger:#f56a6a59;--dt-glow-warning:#f5b34259;--dt-glow-info:#6baef859;--dt-glow-purple:#c89bff59;--dt-annotation-comment:#45c8a8;--dt-annotation-comment-bg:#45c8a826;--dt-annotation-deletion:#f56a6a;--dt-annotation-deletion-bg:#f56a6a26;--dt-annotation-hover:#ffffff0a;--dt-transition-fast:.12s cubic-bezier(.25, .46, .45, .94);--dt-transition-normal:.2s cubic-bezier(.25, .46, .45, .94);--dt-transition-slow:.3s cubic-bezier(.16, 1, .3, 1);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=light]{--dt-bg-canvas:#f5f4ee;--dt-bg-primary:#faf9f4;--dt-bg-secondary:#f0efe8;--dt-bg-tertiary:#fff;--dt-text-primary:#1a1a17;--dt-text-secondary:#6b6a65;--dt-text-tertiary:#a8a69e;--dt-border-default:#e3e2da;--dt-border-muted:#d6d5cd;--dt-border-subtle:#eeede6;--dt-glass-bg:#faf9f4c7;--dt-glass-border:#0000000f;--dt-glass-hover-border:#0f8f7a14;--dt-glass-shadow:0 0 0 1px #00000005, 0 2px 8px #0000000a, 0 8px 24px #00000008;--dt-accent-fg:#0f8f7a;--dt-accent-emphasis:#0f766e;--dt-accent-foreground:#fff;--dt-accent-muted:#0f8f7a33;--dt-accent-subtle:#0f8f7a12;--aikit-accent:var(--dt-accent-subtle);--dt-success-fg:#16a34a;--dt-success-emphasis:#15803d;--dt-success-muted:#16a34a33;--dt-success-subtle:#16a34a12;--dt-danger-fg:#dc2626;--dt-danger-emphasis:#b91c1c;--dt-danger-muted:#dc262633;--dt-danger-subtle:#dc262612;--dt-warning-fg:#d97706;--dt-warning-emphasis:#b45309;--dt-warning-muted:#d9770633;--dt-warning-subtle:#d9770612;--dt-info-fg:#2563eb;--dt-info-emphasis:#1d4ed8;--dt-info-muted:#2563eb33;--dt-info-subtle:#2563eb12;--dt-purple-fg:#7c3aed;--dt-purple-emphasis:#6d28d9;--dt-purple-muted:#7c3aed33;--dt-purple-subtle:#7c3aed12;--dt-shadow-sm:0 0 0 1px #00000005, 0 1px 3px #0000000f;--dt-shadow-md:0 0 0 1px #00000008, 0 2px 6px #0000000d, 0 4px 12px #00000008;--dt-shadow-lg:0 0 0 1px #00000008, 0 2px 8px #0000000f, 0 8px 32px #0000000a;--dt-glow-primary:radial-gradient(circle at 50% 50%, #0f8f7a12, #c89bff08 50%, transparent 70%);--dt-glow-secondary:radial-gradient(circle at 50% 50%, #f5b3420d, transparent 50%);--dt-annotation-comment:#0f8f7a;--dt-annotation-comment-bg:#0f8f7a1a;--dt-annotation-deletion:#dc2626;--dt-annotation-deletion-bg:#dc26261a;--dt-annotation-hover:#0000000a;--dt-glow-accent:#0f8f7a59;--dt-glow-success:#16a34a59;--dt-glow-danger:#dc262659;--dt-glow-warning:#d9770659;--dt-glow-info:#2563eb59;--dt-glow-purple:#7c3aed59;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.aikit-header,.aikit-toolbox-menu,.aikit-copy-status,.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-min-height:3.5rem;--aikit-header-padding-x:var(--dt-space-6);--aikit-header-padding-y:var(--dt-space-2);--aikit-header-gap:var(--dt-space-4);--aikit-header-actions-gap:var(--dt-space-2);--aikit-header-min-height-mobile:3rem;--aikit-header-padding-x-mobile:var(--dt-space-4);--aikit-header-padding-y-mobile:var(--dt-space-2);--aikit-header-gap-mobile:var(--dt-space-2);--aikit-header-actions-gap-mobile:var(--dt-space-1);--aikit-footer-padding:var(--dt-space-6) var(--dt-space-6) var(--dt-space-8);--aikit-footer-padding-mobile:var(--dt-space-4) var(--dt-space-4) var(--dt-space-6);--aikit-footer-padding-mobile-sm:var(--dt-space-4) var(--dt-space-3) var(--dt-space-6);--aikit-toolbox-menu-max-width-mobile:calc(100vw - 2rem)}.aikit-header{z-index:100;justify-content:space-between;align-items:center;gap:var(--aikit-header-gap);min-height:var(--aikit-header-min-height);padding:var(--aikit-header-padding-y) var(--aikit-header-padding-x);border-bottom:1px solid var(--aikit-border);background:color-mix(in srgb, var(--aikit-background) 85%, transparent);-webkit-backdrop-filter:blur(12px);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-xs);letter-spacing:.14em;text-transform:uppercase;opacity:.8;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(--aikit-header-actions-gap);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);border-radius:var(--dt-radius-md);min-width:2.75rem;height:2.75rem;color:var(--aikit-muted-foreground);cursor:pointer;font:inherit;transition:background var(--dt-transition-fast), border-color var(--dt-transition-fast), color var(--dt-transition-fast);background:0 0;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);color:var(--aikit-foreground);border-color:var(--aikit-border)}.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);background:color-mix(in srgb, var(--aikit-background) 98%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--dt-shadow-lg);z-index:120;transform-origin:100% 0;animation:.15s cubic-bezier(.16,1,.3,1) aikit-menu-enter;display:grid;position:absolute;right:0}@keyframes aikit-menu-enter{0%{opacity:0;transform:scale(.95)translateY(-4px)}to{opacity:1;transform:scale(1)translateY(0)}}.aikit-toolbox-menu[hidden]{animation:none;display:none}.aikit-toolbox-item{align-items:center;gap:var(--dt-space-2);width:100%;min-height:2.25rem;padding:0 var(--dt-space-3);border-radius:var(--dt-radius-sm);color:var(--aikit-foreground);cursor:pointer;font:inherit;text-align:left;transition:background var(--dt-transition-fast), border-color var(--dt-transition-fast);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{opacity:.7;flex:none}.aikit-copy-status{right:var(--dt-space-4);bottom:var(--dt-space-4);z-index:1000;max-width:min(28rem, calc(100vw - var(--dt-space-8)));padding:var(--dt-space-3) var(--dt-space-4);border:1px solid var(--aikit-border);border-radius:var(--dt-radius-md);background:var(--aikit-background);background:color-mix(in srgb, var(--aikit-background) 98%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--aikit-foreground);box-shadow:var(--dt-shadow-lg);font-size:var(--dt-font-size-sm);line-height:1.4;position:fixed}.aikit-copy-status[data-tone=error]{border-color:var(--dt-danger-muted);color:var(--dt-danger-fg)}.aikit-footer{z-index:1;padding:var(--aikit-footer-padding);border-top:1px solid var(--aikit-border);color:var(--aikit-muted-foreground);font-size:var(--dt-font-size-xs);justify-content:center;align-items:center;margin-top:auto;display:flex;position:relative}.aikit-footer-meta{justify-content:center;align-items:center;gap:var(--dt-space-2);text-align:center;flex-wrap:wrap;display:inline-flex}.aikit-footer-text{justify-content:center;align-items:center;gap:.35rem;min-width:0;display:inline-flex}.aikit-footer-brand{color:var(--aikit-foreground);font-family:var(--dt-font-mono);letter-spacing:.1em;text-transform:uppercase;opacity:.8;font-weight:600}.aikit-footer-timestamp,.aikit-footer-slot{min-width:0}.aikit-footer-slot{align-items:center;gap:.35rem;display:inline-flex}@supports not (background:color-mix(in srgb, white 50%, transparent)){.aikit-header,.aikit-toolbox-menu,.aikit-copy-status{background:var(--aikit-background)}}@media (width<=640px){.aikit-header-brand{display:none}.aikit-header{gap:var(--aikit-header-gap-mobile);padding-left:var(--aikit-header-padding-x-mobile);padding-right:var(--aikit-header-padding-x-mobile);min-height:var(--aikit-header-min-height-mobile)}.aikit-toolbox-item{min-height:2.75rem}.aikit-toolbox-menu{min-width:auto;max-width:var(--aikit-toolbox-menu-max-width-mobile);left:auto;right:0}.aikit-footer{padding:var(--aikit-footer-padding-mobile)}}@media (width<=400px){.aikit-header-actions{gap:var(--aikit-header-actions-gap-mobile)}.aikit-footer{padding:var(--aikit-footer-padding-mobile-sm)}.aikit-toolbox-menu{border-radius:var(--dt-radius-xl) var(--dt-radius-xl) 0 0;min-width:auto;max-width:100%;position:fixed;inset:auto 0 0;box-shadow:0 -4px 24px #0003}}@media (width<=320px){.aikit-header{padding-left:var(--dt-space-2);padding-right:var(--dt-space-2)}.aikit-header-title-text{font-size:var(--dt-font-size-base)}.aikit-header-subtitle{font-size:var(--dt-font-size-xs)}.aikit-footer{padding:var(--dt-space-2) var(--dt-space-2) var(--dt-space-4);font-size:.625rem}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--dt-bg-primary);min-height:100vh;color:var(--dt-text-primary);font-family:var(--dt-font-sans);font-size:var(--dt-font-size-base);margin:0;line-height:1.6}body:before,body:after{content:"";pointer-events:none;position:fixed;inset:0}body:before{background:radial-gradient(circle at top right, var(--dt-accent-subtle), transparent 34%), radial-gradient(circle at bottom left, var(--dt-purple-subtle), transparent 32%)}body:after{background:linear-gradient(90deg, var(--dt-border-subtle) 1px, transparent 1px), linear-gradient(var(--dt-border-subtle) 1px, transparent 1px);background-size:var(--dt-space-16) var(--dt-space-16);opacity:.35;-webkit-mask-image:linear-gradient(#0000,#000 10% 90%,#0000);mask-image:linear-gradient(#0000,#000 10% 90%,#0000)}a{color:var(--dt-accent-fg);text-decoration:none}a:hover{color:var(--dt-accent-emphasis);text-decoration:underline}button,input,select,textarea{font:inherit}code,pre,kbd,samp{font-family:var(--dt-font-mono)}#report-root{min-height:100vh}.report-shell{z-index:1;grid-template-rows:auto 1fr auto;min-height:100vh;display:grid;position:relative}.report-header-shell,.report-footer-shell{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:color-mix(in srgb, var(--dt-bg-primary) 88%, transparent)}.report-header-shell{z-index:20;border-bottom:1px solid var(--dt-border-muted);position:sticky;top:0}.report-footer-shell{border-top:1px solid var(--dt-border-muted)}.report-header-shell .aikit-header,.report-main,.report-footer-shell .aikit-footer{width:min(calc(100% - (var(--dt-space-4) * 2)), 1400px);margin:0 auto}.report-header-shell .aikit-header{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border-bottom:0;padding-left:0;padding-right:0;position:static}.report-header-shell .aikit-header-title{align-items:baseline}.report-header-shell .aikit-header-title-text{font-size:clamp(var(--dt-font-size-2xl), 3vw, var(--dt-font-size-3xl));letter-spacing:-.04em;line-height:1.05}.report-header-shell .aikit-header-subtitle{display:inline}.report-footer-shell .aikit-footer{border-top:0;min-height:64px;padding-left:0;padding-right:0}.report-menu-toggle{min-height:2.5rem;padding:0 var(--dt-space-3);border:1px solid var(--border,var(--dt-border-default));background:var(--card,var(--dt-bg-secondary));color:var(--card-foreground,var(--dt-text-primary));cursor:pointer;font:inherit;transition:background var(--dt-transition-fast), border-color var(--dt-transition-fast), color var(--dt-transition-fast);border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.report-menu-toggle:hover{background:var(--muted,var(--dt-bg-tertiary))}.report-menu-toggle:focus-visible{outline:2px solid var(--accent-foreground,var(--dt-accent-fg));outline-offset:2px}.report-body{grid-template-columns:minmax(0,1fr);display:grid}.report-body.has-sidebar{width:min(calc(100% - (var(--dt-space-4) * 2)), 1400px);grid-template-columns:250px minmax(0,1fr);margin:0 auto}.report-sidebar{height:calc(100vh - 120px);padding:var(--dt-space-6) var(--dt-space-4) var(--dt-space-6) 0;align-self:start;position:sticky;top:92px}.report-sidebar__nav{gap:var(--dt-space-2);padding-right:var(--dt-space-4);border-right:1px solid var(--dt-border-muted);display:grid}.report-sidebar__link{color:var(--dt-text-secondary);align-items:center;display:inline-flex}.report-main{padding:var(--dt-space-8) 0}.report-body.has-sidebar .report-main{width:auto;padding-left:var(--dt-space-6);margin:0}.report-main__content{gap:var(--dt-space-6);display:grid}.report-main__content>*{min-width:0}.report-overlay{z-index:10;background:color-mix(in srgb, var(--dt-bg-canvas) 74%, transparent);opacity:0;pointer-events:none;border:0;padding:0;position:fixed;inset:0}.report-shell.is-sidebar-open .report-overlay{opacity:1;pointer-events:auto}@media (width<=1080px){.report-body.has-sidebar{grid-template-columns:minmax(0,1fr);width:auto;margin:0}.report-sidebar{inset:88px auto var(--dt-space-4) var(--dt-space-4);z-index:15;width:min(280px, calc(100vw - (var(--dt-space-4) * 2)));height:auto;transform:translateX(calc(-100% - var(--dt-space-4)));transition:transform var(--dt-transition-fast);padding:0;position:fixed}.report-sidebar__nav{padding:var(--dt-space-4);border:1px solid var(--dt-border-muted);border-right:1px solid var(--dt-border-muted);border-radius:var(--dt-radius-lg);background:var(--dt-bg-secondary);box-shadow:var(--dt-shadow-lg)}.report-shell.is-sidebar-open .report-sidebar{transform:translate(0)}.report-body.has-sidebar .report-main{padding-left:0}}@media (width<=720px){.report-header-shell .aikit-header-subtitle{display:none}}
1753
2570
  /*$vite$:1*/</style>
1754
2571
  </head>
1755
2572
  <body>