@vpxa/aikit 0.1.352 → 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 (26) hide show
  1. package/package.json +1 -1
  2. package/packages/blocks-core/dist/index.mjs +928 -130
  3. package/packages/present/dist/index.html +911 -127
  4. package/packages/server/dist/bin.js +1 -1
  5. package/packages/server/dist/index.js +1 -1
  6. package/packages/server/dist/prelude-DetbWo8R.js +1 -0
  7. package/packages/server/dist/prelude-hfAEi93R.js +2 -0
  8. package/packages/server/dist/sampling-CWjnUevo.js +2 -0
  9. package/packages/server/dist/sampling-CnE3owSt.js +1 -0
  10. package/packages/server/dist/{server-Crfl8sRN.js → server-D5eu57oU.js} +145 -148
  11. package/packages/server/dist/{server-Znp0a9J2.js → server-D7gZ4K_H.js} +145 -148
  12. package/packages/server/dist/{server-http-BSGdxVRV.js → server-http-AarbD3gm.js} +1 -1
  13. package/packages/server/dist/{server-http-BGF1k0j9.js → server-http-wnYmWFkC.js} +1 -1
  14. package/packages/server/dist/{server-stdio-CTgwgIGC.js → server-stdio-BWoMqXU8.js} +1 -1
  15. package/packages/server/dist/{server-stdio-B2N-eM5T.js → server-stdio-CBGO6XiO.js} +1 -1
  16. package/packages/server/viewers/canvas.html +912 -128
  17. package/packages/server/viewers/report-template.html +885 -101
  18. package/packages/server/viewers/task-plan-static.html +1 -1
  19. package/packages/server/viewers/tour-viewer.html +886 -102
  20. package/scaffold/dist/definitions/skills/c4-architecture.mjs +1 -1
  21. package/scaffold/dist/definitions/skills/docs.mjs +1 -1
  22. package/scaffold/dist/generated/block-docs.mjs +18 -64
  23. package/packages/server/dist/prelude-CXds3AXY.js +0 -2
  24. package/packages/server/dist/prelude-Cms2H0-F.js +0 -1
  25. package/packages/server/dist/sampling-BoH5wpOJ.js +0 -1
  26. package/packages/server/dist/sampling-SoUYZhFs.js +0 -2
@@ -77,6 +77,53 @@
77
77
  .bk-action-feedback { font-size: var(--dt-font-size-sm); color: var(--dt-text-secondary); padding: var(--dt-space-2) 0; }
78
78
  .bk-action-feedback[data-feedback-state="sent"] { color: var(--dt-success-fg); }
79
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=`
80
127
  .bk-cards {
81
128
  display: grid;
82
129
  grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
@@ -92,6 +139,8 @@
92
139
  background: var(--dt-bg-secondary);
93
140
  box-shadow: var(--dt-shadow-sm);
94
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);
95
144
  }
96
145
 
97
146
  .bk-card:hover {
@@ -131,7 +180,26 @@
131
180
  letter-spacing: 0.02em;
132
181
  white-space: nowrap;
133
182
  }
134
- `;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=`
135
203
  .bk-chart {
136
204
  display: grid;
137
205
  gap: var(--dt-space-3);
@@ -154,6 +222,7 @@
154
222
  width: 100%;
155
223
  height: auto;
156
224
  overflow: visible;
225
+ animation: aikit-enter-fade 500ms ease-out both;
157
226
  }
158
227
 
159
228
  .bk-chart-svg .bk-chart-grid {
@@ -241,7 +310,64 @@
241
310
  border-bottom: 1px solid var(--dt-border-muted);
242
311
  text-align: left;
243
312
  }
244
- `;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=x(t.data,t.xKey,t.yKeys),i=r.flatMap(e=>e.values).filter(Number.isFinite);if(i.length===0)return``;let a=C(i),o=S(_,v,{left:60,right:20,top:20,bottom:40}),s=r.map((e,t)=>xe(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=w(e.values[t],a,o.bottom,o.top);return`${k(r)},${k(i)}`}),l=r.map((e,n)=>{let r=s[n],c=w(e.values[t],a,o.bottom,o.top);return`<circle cx="${k(r)}" cy="${k(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="${[`${k(s[0])},${k(o.bottom)}`,...c,`${k(s[s.length-1])},${k(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`)}">${_e(o,a)}${ye(o)}${be(r,s,o.bottom+18)}${c}</svg>`}function oe(e){let t=x(e.data,e.xKey,e.yKeys),n=t.flatMap(e=>e.values).filter(Number.isFinite);if(n.length===0)return``;let r=C(n,{includeZero:!0}),i=S(_,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=w(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=w(e,r,i.bottom,i.top),u=Math.min(l,c),d=Math.max(1,Math.abs(c-l));return`<rect x="${k(s)}" y="${k(u)}" width="${k(o)}" height="${k(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">${_e(i,r)}${ye(i)}${be(t,u,i.bottom+18)}${l}</svg>`}function se(t){let n=x(t.data,t.xKey,t.yKeys),r=n.flatMap(e=>e.values).filter(Number.isFinite);if(r.length===0)return``;let i=C(r,{includeZero:!0}),a=S(_,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=w(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="${k(a.left-8)}" y="${k(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=w(e,i,a.left,a.right),u=Math.min(l,c),d=Math.max(1,Math.abs(c-l));return`<rect x="${k(u)}" y="${k(o)}" width="${k(d)}" height="${k(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">${ve(a,i)}<line class="bk-chart-axis" x1="${k(l)}" y1="${k(a.top)}" x2="${k(l)}" y2="${k(a.bottom)}" />${u}</svg>`}function ce(t,n){let r=ge(t.data,t.xKey,t.yKeys),i=t.data.map(e=>({label:E(e[t.xKey]),value:D(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?Ce(o,140,88,s,c,f):Se(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=T(o,140,108,c+d/2);u.push(`<text class="bk-chart-slice-label" x="${k(g.x)}" y="${k(g.y)}" text-anchor="${g.x>=o?`start`:`end`}">${e(t.label)} ${e(O(p))}%</text>`),c=f});let d=n?`<circle cx="${o}" cy="140" r="${k(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=>D(e[t]));if(n.every(e=>e===0))return``;let r=C(n),i=n.map((e,t)=>{let i=xe(t,n.length,0,ee),a=w(e,r,b-2,2);return`${k(i)},${k(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:E(e[t.xKey]),values:t.yKeys.map(t=>D(e[t]))})),r=n.flatMap(e=>e.values).filter(Number.isFinite);if(r.length===0)return``;let i=C(r),a=S(_,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="${k(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="${k(a.left-8)}" y="${k(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="${k(r)}" y="${k(c)}" width="${k(o-4)}" height="${k(s-4)}" rx="4" stroke="var(--dt-border-muted)" style="fill: ${we(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=>Te(e[n])));if(r)return r;for(let n of e){let e=Object.keys(n).find(e=>e!==t&&Te(n[e]));if(e)return e}return n[0]??`value`}function x(e,t,n){return e.map(e=>({label:E(e[t]),values:n.map(t=>D(e[t]))}))}function _e(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="${k(t.left)}" y1="${k(s)}" x2="${k(t.right)}" y2="${k(s)}" /><text class="bk-chart-label" x="${k(t.left-8)}" y="${k(s+4)}" text-anchor="end">${e(O(o))}</text>`}).join(``)}function ve(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="${k(s)}" y1="${k(t.top)}" x2="${k(s)}" y2="${k(t.bottom)}" /><text class="bk-chart-label" x="${k(s)}" y="${k(t.bottom+18)}" text-anchor="middle">${e(O(o))}</text>`}).join(``)}function ye(e){return`<line class="bk-chart-axis" x1="${k(e.left)}" y1="${k(e.top)}" x2="${k(e.left)}" y2="${k(e.bottom)}" /><line class="bk-chart-axis" x1="${k(e.left)}" y1="${k(e.bottom)}" x2="${k(e.right)}" y2="${k(e.bottom)}" />`}function be(t,n,r){return t.map((t,i)=>`<text class="bk-chart-label" x="${k(n[i])}" y="${k(r)}" text-anchor="middle">${e(t.label)}</text>`).join(``)}function S(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 C(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 xe(e,t,n,r){return t<=1?(n+r)/2:n+e/(t-1)*(r-n)}function w(e,t,n,r){return n+(e-t.min)/(t.max-t.min)*(r-n)}function Se(e,t,n,r,i){if(Math.abs(i-r)>=359.999)return``;let a=T(e,t,n,r),o=T(e,t,n,i),s=+(i-r>180);return`M ${k(e)} ${k(t)} L ${k(a.x)} ${k(a.y)} A ${k(n)} ${k(n)} 0 ${s} 1 ${k(o.x)} ${k(o.y)} Z`}function Ce(e,t,n,r,i,a){if(Math.abs(a-i)>=359.999)return``;let o=T(e,t,n,i),s=T(e,t,n,a),c=T(e,t,r,a),l=T(e,t,r,i),u=+(a-i>180);return[`M ${k(o.x)} ${k(o.y)}`,`A ${k(n)} ${k(n)} 0 ${u} 1 ${k(s.x)} ${k(s.y)}`,`L ${k(c.x)} ${k(c.y)}`,`A ${k(r)} ${k(r)} 0 ${u} 0 ${k(l.x)} ${k(l.y)}`,`Z`].join(` `)}function T(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 we(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) ${k(100-n)}%, var(--dt-accent-fg) ${k(n)}%)`}function E(e){return e==null?``:String(r(e))}function D(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 Te(e){return typeof e==`number`?Number.isFinite(e):typeof e==`string`&&e.trim()!==``&&Number.isFinite(Number(e))}function O(e){return String(r(Number(e.toFixed(2))))}function k(e){return Number(e.toFixed(2)).toString()}var Ee=`
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
+
245
371
  .bk-checklist {
246
372
  display: grid;
247
373
  gap: var(--dt-space-2);
@@ -259,6 +385,7 @@
259
385
  border-radius: var(--dt-radius-lg);
260
386
  background: var(--dt-bg-secondary);
261
387
  transition: border-color var(--dt-transition-fast), background var(--dt-transition-fast);
388
+ animation: slide-in 400ms ease-out both;
262
389
  }
263
390
 
264
391
  .bk-checklist-item:hover {
@@ -266,6 +393,7 @@
266
393
  background: var(--dt-bg-tertiary);
267
394
  }
268
395
 
396
+ /* ===== Icon Styles ===== */
269
397
  .bk-checklist-icon {
270
398
  display: inline-flex;
271
399
  align-items: center;
@@ -284,15 +412,126 @@
284
412
  .bk-checklist-item[data-checked='true'] .bk-checklist-icon {
285
413
  background: var(--dt-success-subtle);
286
414
  color: var(--dt-success-fg);
415
+ animation: aikit-check-bounce 400ms cubic-bezier(0.34,1.56,0.64,1) 500ms both;
287
416
  }
288
417
 
418
+ /* ===== Label Styles ===== */
289
419
  .bk-checklist-label {
290
420
  color: var(--dt-text-primary);
291
421
  font-size: var(--dt-font-size-sm);
292
422
  line-height: 1.5;
293
423
  padding-top: 1px;
294
424
  }
295
- `;function De(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 Oe=`
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=`
296
535
  .bk-code {
297
536
  margin: 0;
298
537
  padding: var(--dt-space-5);
@@ -310,13 +549,62 @@
310
549
  font-size: var(--dt-font-size-sm);
311
550
  line-height: 1.7;
312
551
  }
313
- `;function ke(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 Ae(e){let t=i(e);return Array.isArray(t)?t:t&&typeof t==`object`&&Array.isArray(t.columns)?t.columns:[]}var je=`
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) ──────────────── */
314
600
  .bk-comparison {
315
601
  display: grid;
316
602
  grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
317
603
  gap: var(--dt-space-4);
604
+ align-items: stretch;
318
605
  }
319
606
 
607
+ /* ── Column card ────────────────────────────────────────────────────────── */
320
608
  .bk-comparison-column {
321
609
  display: grid;
322
610
  gap: var(--dt-space-3);
@@ -325,8 +613,36 @@
325
613
  border-radius: var(--dt-radius-lg);
326
614
  background: var(--dt-bg-secondary);
327
615
  box-shadow: var(--dt-shadow-sm);
616
+ position: relative;
617
+ min-width: 0;
618
+ }
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);
328
624
  }
329
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 ───────────────────────────────────────────────────────── */
330
646
  .bk-comparison-title {
331
647
  color: var(--dt-text-primary);
332
648
  font-size: var(--dt-font-size-lg);
@@ -336,21 +652,83 @@
336
652
  border-bottom: 1px solid var(--dt-border-muted);
337
653
  }
338
654
 
655
+ /* ── Item list ──────────────────────────────────────────────────────────── */
339
656
  .bk-comparison-items {
340
657
  display: grid;
341
658
  gap: var(--dt-space-2);
342
659
  margin: 0;
343
660
  padding: 0;
344
- padding-left: var(--dt-space-4);
661
+ list-style: none;
345
662
  color: var(--dt-text-secondary);
346
663
  font-size: var(--dt-font-size-sm);
347
664
  line-height: 1.6;
348
665
  }
349
666
 
350
667
  .bk-comparison-items li {
351
- padding-left: var(--dt-space-1);
668
+ padding: var(--dt-space-1) var(--dt-space-2);
669
+ border-radius: var(--dt-radius-sm);
670
+ }
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);
352
683
  }
353
- `;function Me(t,n){return`<div class="bk-comparison">${Ae(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 Ne(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 Pe(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 Fe(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 Ie(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 Le(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 Re(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 ze=`
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=`
354
732
  .bk-component-detail {
355
733
  display: grid;
356
734
  gap: var(--dt-space-4);
@@ -554,7 +932,7 @@
554
932
  padding-bottom: var(--dt-space-3);
555
933
  }
556
934
  }
557
- `;function Be(t,n){let r=Ne(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=[Pe(r.responsibilities??[]),Fe(r.interfaces??[]),Ie(r.dependencies??[]),Le(r.metrics),Re(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 Ve(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 He(e){return Array.isArray(e.constraints)&&e.constraints.includes(`primary-key`)}function Ue(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 We(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 Ge=`
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=`
558
936
  .bk-data-table-schema {
559
937
  display: grid;
560
938
  gap: var(--dt-space-4);
@@ -677,77 +1055,93 @@
677
1055
  color: var(--dt-text-primary);
678
1056
  font-weight: 700;
679
1057
  }
680
- `;function Ke(t,r){let i=Ve(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=>Ue(e)).join(``):`<span class="bk-data-table-schema-badge">none</span>`;return`<tr class="bk-data-table-schema-row${He(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>${We(i.indexes??[])}</section>`}var qe=`
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=`
681
1059
  .bk-diagram {
682
- border: 1px solid var(--dt-border-default, #e0e0e0);
683
- border-radius: var(--dt-radius-lg, 8px);
1060
+ border: 1px solid var(--dt-border-default);
1061
+ border-radius: var(--dt-radius-lg);
684
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);
685
1068
  }
686
1069
  .bk-diagram.bk-diagram-has-viz summary {
687
- padding: var(--dt-space-2, 8px) var(--dt-space-3, 12px);
1070
+ padding: var(--dt-space-2) var(--dt-space-3);
688
1071
  cursor: pointer;
689
1072
  font-weight: 600;
690
- font-size: var(--dt-font-size-sm, 13px);
691
- background: var(--dt-bg-secondary, #f5f5f5);
692
- 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);
693
1076
  user-select: none;
694
- color: var(--dt-text-secondary, #666);
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);
695
1082
  }
696
1083
  .bk-diagram.bk-diagram-has-viz[open] summary {
697
- border-bottom: 1px solid var(--dt-border-default, #e0e0e0);
1084
+ border-bottom: 1px solid var(--dt-border-default);
698
1085
  margin-bottom: 0;
699
1086
  }
700
1087
  .bk-diagram .bk-diagram-content {
701
- padding: var(--dt-space-3, 12px);
1088
+ padding: var(--dt-space-3);
702
1089
  }
703
1090
  .bk-diagram table {
704
1091
  width: 100%;
705
1092
  border-collapse: collapse;
706
- font-size: var(--dt-font-size-sm, 13px);
1093
+ font-size: var(--dt-font-size-sm);
707
1094
  }
708
1095
  .bk-diagram th, .bk-diagram td {
709
- padding: var(--dt-space-1, 4px) var(--dt-space-2, 8px);
1096
+ padding: var(--dt-space-1) var(--dt-space-2);
710
1097
  text-align: left;
711
- border-bottom: 1px solid var(--dt-border-subtle, #eee);
1098
+ border-bottom: 1px solid var(--dt-border-subtle);
712
1099
  }
713
1100
  .bk-diagram th {
714
1101
  font-weight: 600;
715
- color: var(--dt-text-secondary, #666);
716
- font-size: var(--dt-font-size-xs, 11px);
1102
+ color: var(--dt-text-secondary);
1103
+ font-size: var(--dt-font-size-xs);
717
1104
  text-transform: uppercase;
718
1105
  letter-spacing: 0.5px;
719
1106
  }
720
1107
  .bk-diagram .bk-diagram-meta {
721
1108
  display: grid;
722
1109
  grid-template-columns: auto 1fr;
723
- gap: var(--dt-space-1, 4px) var(--dt-space-3, 12px);
724
- font-size: var(--dt-font-size-sm, 13px);
725
- 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);
726
1113
  }
727
1114
  .bk-diagram .bk-diagram-meta dt {
728
1115
  font-weight: 600;
729
- color: var(--dt-text-secondary, #666);
1116
+ color: var(--dt-text-secondary);
730
1117
  }
731
1118
  .bk-diagram .bk-diagram-meta dd {
732
1119
  margin: 0;
733
1120
  }
734
1121
  .bk-diagram ul {
735
- margin: var(--dt-space-2, 8px) 0;
736
- padding-left: var(--dt-space-4, 16px);
1122
+ margin: var(--dt-space-2) 0;
1123
+ padding-left: var(--dt-space-4);
737
1124
  }
738
1125
  .bk-diagram li {
739
- font-size: var(--dt-font-size-sm, 13px);
1126
+ font-size: var(--dt-font-size-sm);
740
1127
  line-height: 1.6;
741
1128
  }
742
1129
 
743
- /* When rendered by mini-mermaid — hide overflow border, show SVG cleanly */
1130
+ /* After mini-mermaid renders — hide border, show clean SVG */
744
1131
  .bk-diagram[data-mini-mermaid-rendered] {
745
- border: none;
746
- border-radius: 0;
747
- overflow: visible;
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);
748
1140
  }
749
1141
  .bk-diagram[data-mini-mermaid-rendered] .bk-diagram-viz {
750
1142
  display: block;
1143
+ padding: var(--dt-space-4);
1144
+ background: var(--dt-bg-canvas);
751
1145
  }
752
1146
  .bk-diagram[data-mini-mermaid-rendered] .bk-diagram-fallback {
753
1147
  display: none;
@@ -756,40 +1150,203 @@
756
1150
  display: block;
757
1151
  overflow-x: auto;
758
1152
  }
759
- `,Je={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:`))`}},Ye={open:`[`,close:`]`};function Xe(e){return Je[e]??Ye}function Ze(e,t){return e.replace(/[^a-zA-Z0-9_]/g,`_`).replace(/^_+|_+$/g,``).replace(/_+/g,`_`)||(t===void 0?`node`:`node_${t}`)}function A(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 Qe(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=$e(r.components??r.nodes??r.participants??r.states??[]),c=$e(r.connections??r.edges??r.messages??r.flows??r.transitions??[]),l=[`graph TD`],u=new Set,d=new Map,f=0;for(let e of s){let t=Ze(String(e.id??e.label??e.name??`node`),f);if(f++,u.has(t))continue;u.add(t),d.set(t,e);let n=String(e.label??e.name??t),r=String(e.type??String(e.kind??``)),i=e.technology?`<br><small>${A(String(e.technology))}</small>`:``,a=Xe(r);l.push(` ${t}${a.open}"${A(n)}${i}"${a.close}`)}for(let e of c){let t=String(e.from??e.source??``),n=String(e.to??e.target??``),r=Ze(t),i=Ze(n);if(!u.has(r)||!u.has(i))continue;let a=e.label?` -- "${A(String(e.label))}" --> `:` --> `;l.push(` ${r}${a}${i}`)}let p=u.size>0,m=l.join(`
760
- `),h=[`<dt>Type</dt><dd>${e(i)}</dd>`,`<dt>Components</dt><dd>${s.length}</dd>`,`<dt>Relationships</dt><dd>${c.length}</dd>`];r.schema_version!==void 0&&h.push(`<dt>Schema</dt><dd>v${String(r.schema_version)}</dd>`);let g=``;s.length>0&&(g=`<table><thead><tr><th>Component</th><th>Type</th></tr></thead><tbody>${s.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>${s.length>30?`<p class="bk-diagram-truncated">… and ${s.length-30} more</p>`:``}`);let _=``;return c.length>0&&(_=`<h4>Relationships</h4><ul>${c.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>${c.length>20?`<p class="bk-diagram-truncated">… and ${c.length-20} more relationships</p>`:``}`),p?`<div class="${`bk-diagram${p?` bk-diagram-has-viz`:``}`}">
761
- <pre class="bk-diagram-viz mermaid">${e(m)}</pre>
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>
762
1162
  <details class="bk-diagram-fallback">
763
- <summary>${e(o)} <small>(${i}, ${s.length} components)</small></summary>
1163
+ <summary>${e(s)} <small>(${a}, ${c.length} components)</small></summary>
764
1164
  <div class="bk-diagram-content">
765
- <dl class="bk-diagram-meta">${h.join(``)}</dl>
766
- ${g}
1165
+ <dl class="bk-diagram-meta">${g.join(``)}</dl>
767
1166
  ${_}
1167
+ ${v}
768
1168
  </div>
769
1169
  </details>
770
1170
  </div>`:`<div class="bk-diagram">
771
1171
  <details open>
772
- <summary>${e(o)} <small>(${e(i)}, ${s.length} components)</small></summary>
1172
+ <summary>${e(s)} <small>(${e(a)}, ${c.length} components)</small></summary>
773
1173
  <div class="bk-diagram-content">
774
- <dl class="bk-diagram-meta">${h.join(``)}</dl>
775
- ${g}
1174
+ <dl class="bk-diagram-meta">${g.join(``)}</dl>
776
1175
  ${_}
1176
+ ${v}
777
1177
  </div>
778
1178
  </details>
779
- </div>`}function $e(e){return Array.isArray(e)?e:[]}var et=`
780
- .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); }
781
- .bk-diff-table { width: 100%; border-collapse: collapse; }
782
- .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); }
783
- .bk-diff-line { padding: 0 12px; white-space: pre-wrap; word-break: break-all; }
784
- .bk-diff-hunk td { background: var(--dt-blue-subtle); color: var(--dt-blue-fg); padding: 4px 12px; font-style: italic; }
785
- .bk-diff-add td { background: var(--dt-green-subtle); }
786
- .bk-diff-del td { background: var(--dt-red-subtle); }
787
- .bk-diff-header td { font-weight: bold; padding: 4px 12px; background: var(--dt-bg-secondary); }
788
- `;function tt(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 nt(t.before,t.after)}return``}function nt(e,t){let n=e.split(`
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(`
789
1346
  `),r=t.split(`
790
- `),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(`
791
- `)}function rt(t,n){let r=tt(t.value);if(!r)return`<div class="bk-diff"></div>`;let i=r.split(`
792
- `),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 it(e){let t=i(e);return Array.isArray(t)?t:t&&typeof t==`object`&&Array.isArray(t.files)?t.files:[]}var at=`
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=`
793
1350
  .bk-docs-browser {
794
1351
  display: grid;
795
1352
  gap: var(--dt-space-3);
@@ -834,7 +1391,7 @@
834
1391
  font-size: var(--dt-font-size-xs);
835
1392
  font-weight: 700;
836
1393
  }
837
- `;function ot(t,n){return`<div class="bk-docs-browser">${it(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 lt(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 ut=`
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=`
838
1395
  .bk-docs-hub {
839
1396
  display: grid;
840
1397
  gap: var(--dt-space-4);
@@ -970,7 +1527,7 @@
970
1527
  grid-template-columns: minmax(0, 1fr);
971
1528
  }
972
1529
  }
973
- `;function dt(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=>lt(e)).join(``)}</div>`:`<p class="bk-docs-hub-empty">No documentation pages available.</p>`}</section>`}function ft(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 pt=`
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=`
974
1531
  .bk-finding {
975
1532
  display: grid;
976
1533
  gap: var(--dt-space-3);
@@ -1017,7 +1574,7 @@
1017
1574
  line-height: 1.7;
1018
1575
  font-size: var(--dt-font-size-sm);
1019
1576
  }
1020
- `;function mt(t,n){let r=ft(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 j(e){return typeof e==`object`&&!!e}function M(e){return j(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(M).filter(e=>e!==null):[]}:null}function ht(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 gt(e){let t=[`#e24d28`,`#e8602a`,`#edad2a`,`#f5c842`,`#fce94f`,`#c4a000`,`#e07028`,`#d45500`];return t[e%t.length]}var _t=`
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=`
1021
1578
  .bk-flame {
1022
1579
  display: grid;
1023
1580
  gap: 1px;
@@ -1062,10 +1619,10 @@
1062
1619
  font-size: 10px;
1063
1620
  }
1064
1621
  }
1065
- `;function vt(t,n){let r=i(t.value);if(!j(r))return`<div class="bk-flame"></div>`;let a=j(r.profile)?M(r.profile):M(r);if(!a)return`<div class="bk-flame"></div>`;let o=ht(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:${gt(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}">
1066
1623
  <span class="bk-flame-bar-label${i}">${e(t.name)} (${t.total})</span>
1067
1624
  </div>`}).join(``)}</div>`).join(`
1068
- `)}</div>`}function yt(e){return String(e??``).replace(/"/g,`\\"`)}var bt=`
1625
+ `)}</div>`}function Ft(e){return String(e??``).replace(/"/g,`\\"`)}var It=`
1069
1626
  .bk-graph {
1070
1627
  margin: 0;
1071
1628
  padding: var(--dt-space-4);
@@ -1078,8 +1635,8 @@
1078
1635
  font-size: var(--dt-font-size-sm);
1079
1636
  line-height: 1.6;
1080
1637
  }
1081
- `;function xt(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=yt(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?`|${yt(e.label)}|`:``;o.push(` ${t} -->${i} ${r}`)}return`<pre class="bk-graph mermaid">${e(o.join(`
1082
- `))}</pre>`}var St=`
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=`
1083
1640
  .bk-heading {
1084
1641
  margin: 0;
1085
1642
  color: var(--dt-text-primary);
@@ -1094,7 +1651,7 @@
1094
1651
  .bk-heading--4 { font-size: var(--dt-font-size-xl); }
1095
1652
  .bk-heading--5,
1096
1653
  .bk-heading--6 { font-size: var(--dt-font-size-base); letter-spacing: normal; }
1097
- `;function Ct(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 wt(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 Tt=`
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=`
1098
1655
  .bk-kv {
1099
1656
  display: grid;
1100
1657
  grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr));
@@ -1126,7 +1683,7 @@
1126
1683
  font-size: var(--dt-font-size-sm);
1127
1684
  line-height: 1.5;
1128
1685
  }
1129
- `;function Et(e,t){return`<dl class="bk-kv">${wt(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 Dt=164,Ot=84,kt=44,At=32,jt=28;function Mt(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 Nt(e){switch(e){case`completed`:return`success`;case`error`:return`danger`;case`pending`:return`slate`;default:return`accent`}}function Pt(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 Ft(e){return e.type===`decision`?{width:112,height:112}:{width:Dt,height:Ot}}function It(e){let t=At;return e.map(e=>{let{width:n,height:r}=Ft(e),i={step:e,x:t,y:jt,width:n,height:r,centerX:t+n/2,centerY:jt+r/2};return t+=n+kt,i})}function Lt(t){let r=Pt(t.step.label,t.step.type===`decision`?12:16),i=t.step.description?Pt(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--${Nt(t.step.status)}" id="${n(t.step.id)}">${s}${c}${o}</g>`}function Rt(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 zt(e,t){return Array.isArray(t)&&t.length>0?t:e.slice(1).map((t,n)=>({from:e[n].id,to:t.id}))}var Bt=`
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=`
1130
1687
  .bk-lifecycle-flow {
1131
1688
  display: grid;
1132
1689
  gap: var(--dt-space-3);
@@ -1220,7 +1777,7 @@
1220
1777
  .bk-lifecycle-flow-node--slate {
1221
1778
  color: var(--dt-text-secondary);
1222
1779
  }
1223
- `;function Vt(t,n){let r=Mt(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=It(i),o=new Map(a.map(e=>[e.step.id,e])),s=zt(i,r.edges),c=Math.max(320,(a.at(-1)?.x??0)+(a.at(-1)?.width??0)+At);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=>Rt(e,o)).join(``)}</g><g class="bk-lifecycle-flow-nodes">${a.map(e=>Lt(e)).join(``)}</g></svg></div></figure>`}var Ht=`
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=`
1224
1781
  .bk-list {
1225
1782
  display: grid;
1226
1783
  gap: var(--dt-space-2);
@@ -1249,16 +1806,16 @@
1249
1806
  box-shadow: 0 0 0 3px var(--dt-accent-subtle);
1250
1807
  transform: translateY(-50%);
1251
1808
  }
1252
- `;function Ut(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 Wt=`
1253
- ${St}
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}
1254
1811
  .bk-markdown {
1255
1812
  color: var(--dt-text-primary);
1256
1813
  font-size: var(--dt-font-size-base);
1257
1814
  line-height: 1.7;
1258
1815
  }
1259
- `,Gt=/^(#{1,6})\s+(.+)$/,Kt=/^(?:(?:-\s*){3,}|(?:\*\s*){3,}|(?:_\s*){3,})$/;function qt(e){return e.length?`<p>${e.map(e=>a(e)).join(`<br>`)}</p>`:``}function Jt(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=qt(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(`
1260
- `))}</code></pre>`),o=!1,s=[],c=``}continue}if(o){s.push(t);continue}if(!n){l();continue}let r=n.match(Gt);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(Kt.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(`
1261
- `))}</code></pre>`)}return`<div class="bk-markdown">${i.join(``)}</div>`}var Yt=`
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=`
1262
1819
  .bk-mermaid {
1263
1820
  margin: 0;
1264
1821
  padding: var(--dt-space-4);
@@ -1287,7 +1844,20 @@ ${St}
1287
1844
  max-width: 100%;
1288
1845
  height: auto;
1289
1846
  }
1290
- `;function Xt(t,n){return`<pre class="bk-mermaid mermaid">${e(String(t.value??``))}</pre>`}function Zt(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 Qt=`
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=`
1291
1861
  .bk-metrics {
1292
1862
  display: grid;
1293
1863
  grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
@@ -1303,6 +1873,8 @@ ${St}
1303
1873
  background: var(--dt-bg-secondary);
1304
1874
  box-shadow: var(--dt-shadow-sm);
1305
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);
1306
1878
  }
1307
1879
 
1308
1880
  .bk-metric:hover {
@@ -1330,14 +1902,45 @@ ${St}
1330
1902
  color: var(--dt-text-tertiary);
1331
1903
  font-size: var(--dt-font-size-sm);
1332
1904
  }
1333
- `;function $t(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>${Zt(t.trend)}</article>`).join(``)}</div>`}var en=`
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=`
1334
1928
  .bk-paragraph {
1335
1929
  margin: 0;
1336
1930
  color: var(--dt-text-primary);
1337
1931
  font-size: var(--dt-font-size-base);
1338
1932
  line-height: 1.7;
1339
1933
  }
1340
- `;function tn(t,n){return`<p class="bk-paragraph">${e(String(t.value??t.text??``))}</p>`}function nn(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 rn=`
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
+
1341
1944
  .bk-progress {
1342
1945
  display: grid;
1343
1946
  gap: var(--dt-space-4);
@@ -1371,10 +1974,18 @@ ${St}
1371
1974
  min-width: 0;
1372
1975
  border-radius: inherit;
1373
1976
  background: var(--dt-accent-emphasis);
1374
- box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15);
1375
- 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);
1376
1982
  }
1377
- `;function an(t,n){return`<div class="bk-progress">${nn(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 on(e){if(typeof e==`string`)return e;try{return JSON.stringify(e,null,2)}catch{return String(e??``)}}var sn=`
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;
1987
+ }
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=`
1378
1989
  .bk-prompt {
1379
1990
  margin: 0;
1380
1991
  padding: var(--dt-space-4);
@@ -1388,13 +1999,13 @@ ${St}
1388
1999
  line-height: 1.6;
1389
2000
  white-space: pre-wrap;
1390
2001
  }
1391
- `;function cn(t,n){return`<pre class="bk-prompt">${e(on(t.value))}</pre>`}var ln=`
2002
+ `;function wn(t,n){return`<pre class="bk-prompt">${e(Sn(t.value))}</pre>`}var Tn=`
1392
2003
  .bk-separator {
1393
2004
  margin: var(--dt-space-6) 0;
1394
2005
  border: 0;
1395
2006
  border-top: 1px solid var(--dt-border-default);
1396
2007
  }
1397
- `;function un(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 fn=`
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=`
1398
2009
  .bk-status-board {
1399
2010
  display: grid;
1400
2011
  gap: var(--dt-space-4);
@@ -1452,13 +2063,23 @@ ${St}
1452
2063
  .bk-status-description {
1453
2064
  color: var(--dt-text-secondary);
1454
2065
  }
1455
- `;function pn(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 mn(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function hn(e){let t=(e??[]).map(e=>{if(mn(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 gn(e){if(Array.isArray(e.columns)){let{headers:t,keys:n}=hn(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}=hn(e.columns);return{headers:t,keys:n,rows:[]}}return{headers:[],keys:[],rows:[]}}var _n=`
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) ── */
1456
2068
  .bk-table-wrap {
1457
2069
  overflow-x: auto;
1458
2070
  border: 1px solid var(--dt-border-default);
1459
2071
  border-radius: var(--dt-radius-lg);
1460
2072
  background: var(--dt-bg-secondary);
1461
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;
1462
2083
  }
1463
2084
 
1464
2085
  .bk-table {
@@ -1490,8 +2111,30 @@ ${St}
1490
2111
  text-transform: uppercase;
1491
2112
  font-size: var(--dt-font-size-xs);
1492
2113
  color: var(--dt-text-secondary);
2114
+ user-select: none;
1493
2115
  }
1494
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 ── */
1495
2138
  .bk-table tbody tr {
1496
2139
  transition: background var(--dt-transition-fast);
1497
2140
  }
@@ -1511,7 +2154,72 @@ ${St}
1511
2154
  .bk-table tbody tr:last-child td {
1512
2155
  border-bottom: none;
1513
2156
  }
1514
- `;function vn(t,n){let{headers:i,keys:a,rows:o}=gn(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 yn(e){let t=i(e);return Array.isArray(t)?t:t&&typeof t==`object`&&Array.isArray(t.items)?t.items:[]}var bn=`
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=`
1515
2223
  .bk-tags {
1516
2224
  display: flex;
1517
2225
  flex-wrap: wrap;
@@ -1529,13 +2237,13 @@ ${St}
1529
2237
  font-weight: 600;
1530
2238
  letter-spacing: 0.02em;
1531
2239
  }
1532
- `;function xn(t,n){return`<div class="bk-tags">${yn(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 Sn=`
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=`
1533
2241
  .bk-text {
1534
2242
  color: var(--dt-text-primary);
1535
2243
  font-size: var(--dt-font-size-base);
1536
2244
  line-height: 1.7;
1537
2245
  }
1538
- `;function Cn(e,t){return`<div class="bk-text">${a(String(e.value??``)).replace(/\n/g,`<br>`)}</div>`}var wn=`
2246
+ `;function zn(e,t){return`<div class="bk-text">${a(String(e.value??``)).replace(/\n/g,`<br>`)}</div>`}var Bn=`
1539
2247
  .bk-timeline {
1540
2248
  display: grid;
1541
2249
  gap: var(--dt-space-4);
@@ -1585,7 +2293,27 @@ ${St}
1585
2293
  font-size: var(--dt-font-size-xs);
1586
2294
  line-height: 1.5;
1587
2295
  }
1588
- `;function Tn(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 N(t,n){if(Array.isArray(t)){let r=t.map(e=>N(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 N(r.children??[],i);let a=Object.entries(r).map(([e,t])=>N(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 En=`
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=`
1589
2317
  .bk-tree {
1590
2318
  display: grid;
1591
2319
  gap: var(--dt-space-2);
@@ -1617,7 +2345,8 @@ ${St}
1617
2345
  .bk-tree-key {
1618
2346
  color: var(--dt-text-primary);
1619
2347
  }
1620
- `;function Dn(e,t){return`<div class="bk-tree">${N(i(e.value))}</div>`}var P={actions:d,cards:p,chart:te,checklist:Ee,code:Oe,diagram:qe,diff:et,comparison:je,"component-detail":ze,"data-table-schema":Ge,"docs-browser":at,"docs-hub":ut,finding:pt,"flame-graph":_t,graph:bt,heading:St,kv:Tt,"lifecycle-flow":Bt,list:Ht,markdown:Wt,mermaid:Yt,metrics:Qt,paragraph:en,progress:rn,prompt:sn,separator:ln,"status-board":fn,table:_n,tags:bn,text:Sn,timeline:wn,tree:En},On=`
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}
1621
2350
  .bk-section {
1622
2351
  display: grid;
1623
2352
  gap: var(--dt-space-3);
@@ -1635,6 +2364,27 @@ ${St}
1635
2364
  line-height: 1.3;
1636
2365
  }
1637
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
+
1638
2388
  .bk-text,
1639
2389
  .bk-markdown,
1640
2390
  .bk-paragraph,
@@ -1741,20 +2491,54 @@ blockquote {
1741
2491
  border-radius: 0 var(--dt-radius-sm) var(--dt-radius-sm) 0;
1742
2492
  color: var(--dt-text-secondary);
1743
2493
  }
1744
- `;function kn(e){let t=[On],n=new Set;for(let r of e)!n.has(r)&&P[r]&&(n.add(r),t.push(P[r]));return t.join(`
1745
- `)}function An(){return kn(Object.keys(P))}var F={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>`,Mn=`<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>`,Nn=`<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>`,Pn=`<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>`,Fn=`<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>`,In=[{kind:`shared-chrome-action`,id:`copy-image`,label:`Copy as Image`,icon:Mn,onclick:`screenshotPage()`},{kind:`shared-chrome-action`,id:`download-image`,label:`Download as PNG`,icon:Nn,onclick:`downloadPng()`}];function Ln(t){return[` <button type="button" class="${F.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(`
1746
- `)}function Rn(e,t=[],n=!0){if(!n)return``;let r=t.filter(e=>e.kind===`shared-chrome-action`);return r.length===0?``:[` <div class="${F.toolbox}">`,` <button type="button" class="${F.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="${F.toolboxMenu}" role="menu" hidden>`,...r.map(e=>Ln(e)),` </div>`,` </div>`].join(`
1747
- `)}function zn(e){return e?.trim()?e.trim():``}function Bn(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 Vn(t){let n=t.brand??`AI KIT`,r=t.showToolbox??!0,i=t.sharedChromeActions??(r?In:[]),a=[zn(t.actionsHtml),Rn(t.transport,i,r),t.showThemeToggle===!1?``:[` <button type="button" class="${F.themeToggle}" aria-label="Switch to dark theme" aria-pressed="false">`,` <span class="${F.themeToggleIcon} ${F.themeToggleIconSun}" aria-hidden="true">${Pn}</span>`,` <span class="${F.themeToggleIcon} ${F.themeToggleIconMoon}" aria-hidden="true">${Fn}</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(`
1748
2532
  `)].filter(Boolean).join(`
1749
- `);return[` <header class="${F.header}">`,` <div class="${F.brand}">${e(n)}</div>`,` <div class="${F.title}">`,` <span class="${F.titleText}">${e(t.title)}</span>`,...t.subtitle?[` <span class="${F.subtitle}">${e(t.subtitle)}</span>`]:[],` </div>`,` <div class="${F.actions}">`,a,` </div>`,` </header>`].join(`
1750
- `)}function Hn(t={}){let n=Bn(t.generatedAt),r=t.showInstallGuide??!1,i=t.installUrl??`https://vpxa.io/ai-kit`,a=n?[`Generated by `,`<span class="${F.footerBrand}">AI KIT</span>`,` at `,n.dateTime?`<time class="${F.footerTimestamp}" datetime="${e(n.dateTime)}">${e(n.display)}</time>`:`<span class="${F.footerTimestamp}">${e(n.display)}</span>`].join(``):`Generated by <span class="${F.footerBrand}">AI KIT</span>`,o=zn(t.contentHtml),s=r?`<span class="${F.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="${F.footer}">`,` <div class="${F.footerMeta}">`,` <span class="${F.footerText}">${a}</span>`,...o?[` <span class="${F.footerSlot}">${o}</span>`]:[],s,` </div>`,` </footer>`].join(`
1751
- `)}function Un(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 Wn(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}">
1752
2536
  <p class="bk-annotation-body">${e(t.body)}</p>
1753
2537
  ${i.length>0?`<div class="bk-annotation-meta">${i.join(``)}</div>`:``}
1754
- </li>`}function Gn(e){switch(e){case`COMMENT`:return`Comments`;case`DELETION`:return`Deletions`;case`GLOBAL_COMMENT`:return`General Notes`;default:return e}}function Kn(t,n){let r=Un(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">
1755
- <h4 class="bk-annotation-group-title">${e(Gn(t))}</h4>
1756
- <ol class="bk-annotation-list">${n.map(Wn).join(``)}</ol>
1757
- </div>`).join(``)||`<p class="bk-text-secondary">No annotations</p>`}</div>`}function qn(e){if(typeof e!=`object`||!e)return!1;let t=e;return typeof t.prompt==`string`&&Array.isArray(t.options)}function Jn(t,r){let i=t.blockId?n(t.blockId):void 0,a=qn(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)}">
1758
2542
  <input type="radio" name="approval" value="${n(t.id)}" role="radio" />
1759
2543
  <span class="bk-approval-option-label">${e(t.label)}</span>
1760
2544
  ${t.description?`<span class="bk-approval-option-desc">${e(t.description)}</span>`:``}
@@ -1765,9 +2549,9 @@ ${t.description?`<span class="bk-approval-option-desc">${e(t.description)}</span
1765
2549
  ${o}
1766
2550
  <fieldset class="bk-approval-options">${s}</fieldset>
1767
2551
  ${c}
1768
- </div>`}var Yn={actions:f,annotation:Kn,approval:Jn,cards:m,chart:ne,checklist:De,code:ke,comparison:Me,diagram:Qe,diff:rt,"component-detail":Be,"data-table-schema":Ke,"docs-browser":ot,"docs-hub":dt,"flame-graph":vt,finding:mt,graph:xt,heading:Ct,kv:Et,"lifecycle-flow":Vt,list:Ut,markdown:Jt,mermaid:Xt,metrics:$t,paragraph:tn,progress:an,prompt:cn,separator:un,"status-board":pn,table:vn,tags:xn,text:Cn,timeline:Tn,tree:Dn};function Xn(t,r,a){let o={...t,value:i(t.value)},s=Yn[o.type],c=s?s(o,r):Qn(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 Zn(e,t){return e.map((e,n)=>Xn(e,t,n)).join(`
1769
- `)}function Qn(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 $n=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()]}},er=[`mcp-app`,`browser`];function I(e){return typeof e==`object`&&!!e}function tr(e){return Array.isArray(e)?e.flatMap(e=>!I(e)||typeof e.label!=`string`?[]:[{label:e.label,checked:!!e.checked}]):[]}var nr={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=I(e)&&typeof e.title==`string`?e.title:void 0,r=I(e)?tr(e.items):[];return n&&t.push({type:`heading`,value:n}),t.push({type:`checklist`,value:r}),t},hydration:[`checklist`],supportedTransports:er},rr=[`mcp-app`,`browser`,`export`];function L(e){return typeof e==`object`&&!!e}function ir(e){return L(e)&&typeof e.label==`string`&&(typeof e.value==`string`||typeof e.value==`number`)}function ar(e){return L(e)&&typeof e.key==`string`&&typeof e.label==`string`}function or(e){return Array.isArray(e)?e.filter(L):[]}function sr(e,t){if(Array.isArray(e)){let t=e.filter(ar);if(t.length>0)return t}return Object.keys(t[0]??{}).map(e=>({key:e,label:e}))}var cr={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)?or(e.rows):[],n=L(e)?sr(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(ir);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:rr},lr=[`mcp-app`,`browser`,`export`];function R(e){return typeof e==`object`&&!!e}function ur(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 dr(e){return Array.isArray(e)?e.flatMap(e=>!R(e)||typeof e.header!=`string`?[]:[{header:e.header,changes:ur(e.changes)}]):[]}function fr(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:dr(e.hunks)}])}function pr(e){return e===`add`?`+`:e===`delete`?`-`:` `}function mr(e){let t=e.hunks.flatMap(e=>[e.header,...e.changes.map(e=>`${pr(e.type)}${e.content}`)]).join(`
1770
- `);return[{type:`heading`,value:e.path},{type:`paragraph`,value:`${e.status} | +${e.additions} / -${e.deletions}`},{type:`code`,language:`diff`,value:t}]}var hr={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=>fr(e).flatMap(mr),hydration:[],supportedTransports:lr},gr=[`mcp-app`,`browser`,`export`];function z(e){return typeof e==`object`&&!!e}function _r(e){return z(e)&&typeof e.type==`string`}function vr(e){return Array.isArray(e)&&e.every(_r)}function yr(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`||vr(e.content)?e.content:``;return[{heading:e.heading,content:t}]}):[];return{title:typeof e.title==`string`?e.title:void 0,sections:t}}function br(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 xr={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=yr(e),n=[];t.title&&n.push({type:`heading`,value:t.title});for(let e of t.sections)n.push(...br(e));return n},hydration:[],supportedTransports:gr},Sr=[`mcp-app`,`browser`,`export`];function Cr(e){return typeof e==`object`&&!!e}function wr(e){return Cr(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 Tr={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=wr(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:Sr};function B(e){return typeof e==`object`&&!!e}function Er(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 Dr={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)?Er(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`]},Or=[`mcp-app`,`browser`];function V(e){return typeof e==`object`&&!!e}function kr(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 Ar(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 jr(e){return V(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:Or},Fr=[`mcp-app`,`browser`,`export`];function H(e){return typeof e==`object`&&!!e}function Ir(e){return H(e)&&typeof e.type==`string`}function Lr(e){return Array.isArray(e)&&e.every(Ir)}function Rr(e){return H(e)&&typeof e.label==`string`&&(typeof e.value==`string`||typeof e.value==`number`)}function zr(e){return Array.isArray(e)?e.flatMap(e=>{if(!H(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=>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 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:H(e)&&typeof e.title==`string`?e.title:`Report`,metrics:H(e)&&Array.isArray(e.metrics)?e.metrics.filter(Rr):void 0,sections:H(e)?zr(e.sections):[],tables:H(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 U(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(!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 qr(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 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(!U(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(U(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 W(e){return typeof e==`object`&&!!e}function Xr(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 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=W(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 G={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:[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}=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 K(e){return typeof e==`object`&&!!e}function ai(e){return K(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(!K(e))return{};let t=e.root;return ai(t)?oi(t):K(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},q=new $n;q.register(Jr),q.register(nr),q.register(hr),q.register(xr),q.register(Pr),q.register(Ur),q.register(ri),q.register(ci),q.register(cr),q.register(Tr),q.register(Dr),q.register(Qr);var li=3e3,ui=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`},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),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 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=`
1771
2555
  .bk-checklist-progress {
1772
2556
  margin-bottom: var(--dt-space-3);
1773
2557
  color: var(--dt-text-secondary);
@@ -1781,8 +2565,8 @@ ${c}
1781
2565
  margin: 0;
1782
2566
  accent-color: var(--dt-accent-fg);
1783
2567
  }
1784
- `;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 gi=`data-sort-label`,_i=`data-sort-dir`,vi=new Intl.Collator(void 0,{numeric:!0,sensitivity:`base`});function yi(e){let t=e.getAttribute(gi);if(t!==null)return t;let n=e.textContent?.trim()??``;return e.setAttribute(gi,n),n}function bi(e,t,n){for(let[r,i]of e.entries())i.textContent=yi(i),r===t?(i.setAttribute(_i,n),i.append(` ${n===`asc`?`▲`:`▼`}`)):i.removeAttribute(_i)}function xi(e,t){return e.querySelectorAll(`td`)[t]?.textContent?.trim()??``}function Si(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=vi.compare(xi(e,t),xi(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)}bi(t,a,o)};for(let[e,n]of t.entries()){yi(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=yi(e),e.removeAttribute(_i),e.removeAttribute(gi),e.style.removeProperty(`cursor`);for(let e of r)e.hidden=!1}}function Ci(e){for(let t of Array.from(e.children))if(t.tagName===`SUMMARY`)return t;return null}function wi(e){let t=e.closest(`details`);if(!t)return null;let n=t.parentElement;for(;n;){if(n.tagName===`DETAILS`)return Ci(n);n=n.parentElement}return null}function Ti(e){return Array.from(e.querySelectorAll(`summary`))}function Y(e){return e.open||e.hasAttribute(`open`)}function Ei(e,t){e.open=t,t?e.setAttribute(`open`,``):e.removeAttribute(`open`)}function Di(e,t){e.textContent=t.every(e=>Y(e))?`Collapse all`:`Expand all`}function Oi(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)Ei(n,e);Di(n,t)},i=()=>{r()};n.addEventListener(`click`,i);let a=t.map(e=>{let r=()=>{Di(n,t)};return e.addEventListener(`toggle`,r),()=>{e.removeEventListener(`toggle`,r)}}),o=Ti(e).map(t=>{t.tabIndex=0;let n=n=>{let r=Ti(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))Ei(a,!0);else{let e=r[i+1];e&&a?.contains(e)&&e.focus()}n.preventDefault();return}n.key===`ArrowLeft`&&(a&&Y(a)?Ei(a,!1):wi(t)?.focus(),n.preventDefault())};return t.addEventListener(`keydown`,n),()=>{t.removeEventListener(`keydown`,n)}});return Di(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 ki(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,Si(e)));for(let e of Z(t,`.bk-tree`))e.hasAttribute(X)||(e.setAttribute(X,``),Q(n,e,Oi(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 Ai=`aikit-report-theme`,ji=e,Mi=t,Ni=`aikit-report-block-styles`,Pi=`<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>`,Fi=`<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 Ii(e){if(e.getElementById(Ni))return;let t=e.createElement(`style`);t.id=Ni,t.textContent=An(),e.head.appendChild(t)}function Li(e){return e.flatMap(e=>Ri(e))}function Ri(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)?Li(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}]:[],...Li(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 zi(e,t,n,r){Ii(r),e.innerHTML=Zn(Li(t),{mode:`standalone`,theme:n}),ki({container:e})}function Bi(e){return e??(typeof window<`u`?window.localStorage:void 0)}function Vi(e){return e||(typeof window<`u`&&typeof window.matchMedia==`function`?e=>window.matchMedia(e):()=>({matches:!1}))}function Hi(e){return e===`light`||e===`dark`?e:null}function Ui(e=document,t,n){let r=Hi(Bi(t)?.getItem(`aikit-report-theme`))??(Vi(n)(`(prefers-color-scheme: light)`).matches?`light`:`dark`);return e.documentElement.setAttribute(`data-theme`,r),r}function Wi(e,t,n){return e.documentElement.setAttribute(`data-theme`,t),n?.setItem(Ai,t),t}function Gi(e,t){return Wi(e,(Hi(e.documentElement.getAttribute(`data-theme`))??`dark`)===`dark`?`light`:`dark`,t)}function Ki(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 qi(e,t){e.setAttribute(`aria-label`,t===`dark`?`Switch to light theme`:`Switch to dark theme`),e.innerHTML=t===`dark`?Pi:Fi}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 Ji(e,t){return Vn({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 Yi(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&&Yi(i,a,n)}}async function Xi(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()}),Yi(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 Zi(e,t,n={}){let r=n.document??e.ownerDocument??document,i=Bi(n.storage),a=Hi(r.documentElement.getAttribute(`data-theme`))??Ui(r,i,n.matchMedia),o=r.defaultView,s=Array.isArray(t.sidebar)&&t.sidebar.length>0,c=s?t.sidebar??[]:[],l=Ji(t,s),u=Hn({generatedAt:Ki(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="${Mi(e.href)}">${ji(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||!_)&&(qi(g,a),zi(_,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 Xi(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`,()=>qi(g,Gi(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){Ui();let e=window.REPORT_DATA;e&&Array.isArray(e.blocks)&&(document.title=e.title||`Report`,Zi(Qi,e))}</script>
1785
- <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}}
1786
2570
  /*$vite$:1*/</style>
1787
2571
  </head>
1788
2572
  <body>