PageSourceSearch

https://www.assistant-ui.com/blog

html assistant-ui.com collected 2026-10-03 23:00:44 UTC 278,717 bytes, 1,973 lines download raw bytes

1<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"/><link rel="stylesheet" href="/_next/static/immutable/chunks/28j5j44nbycqa.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/immutable/chunks/08lx4z86o-kcy.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/immutable/chunks/0-bwfljm4w8rf.js"/>
1<script src="/_next/static/immutable/chunks/00fywp11wpqvq.js" async=""></script>
1<script src="/_next/static/immutable/chunks/3xnptb0dsq8v5.js" async=""></script>
1<script src="/_next/static/immutable/chunks/0z77723z8pa3x.js" async=""></script>
1<script src="/_next/static/immutable/chunks/04sutt81gzk_6.js" async=""></script>
1<script src="/_next/static/immutable/chunks/turbopack-26zx2mnzpoqm3.js" async=""></script>
1<script src="/_next/static/immutable/chunks/00jla400dltnu.js" async=""></script>
1<script src="/_next/static/immutable/chunks/39sygckgvod3e.js" async=""></script>
1<script src="/_next/static/immutable/chunks/0chquwv9wyw8c.js" async=""></script>
1<script src="/_next/static/immutable/chunks/1t1mbmt0_e717.js" async=""></script>
1<script src="/_next/static/immutable/chunks/3qioqfoukn7s_.js" async=""></script>
1<script src="/_next/static/immutable/chunks/0pz-yrez75of-.js" async=""></script>
1<script src="/_next/static/immutable/chunks/2hc3lha1ed1nk.js" async=""></script>
1<script src="/_next/static/immutable/chunks/1bfzxdjt0heom.js" async=""></script>
1<script src="/_next/static/immutable/chunks/16wahavi5zm3j.js" async=""></script>
1<script src="/_next/static/immutable/chunks/1x9ujbp569gb8.js" async=""></script>
1<script src="/_next/static/immutable/chunks/2vw7kgemxtqzd.js" async=""></script>
1<script src="/_next/static/immutable/chunks/0kwj0z81-a1cu.js" async=""></script>
1<script src="/_next/static/immutable/chunks/1x_nf8rs78h3n.js" async=""></script>
1<script src="/_next/static/immutable/chunks/0nrnqjyd-q2is.js" async=""></script>
1<script src="/_next/static/immutable/chunks/2vowh50j-ok7z.js" async=""></script>
1<script src="/_next/static/immutable/chunks/04ci540bmxauh.js" async=""></script>
1<script src="/_next/static/immutable/chunks/29kkh6-lh0h1a.js" async=""></script>
1<script src="/_next/static/immutable/chunks/0li-knucq9-dc.js" async=""></script>
1<script src="/_next/static/immutable/chunks/307dgth29f31j.js" async=""></script>
1<script src="/_next/static/immutable/chunks/3yu9t9mxl1ta0.js" async=""></script>
1<script src="/_next/static/immutable/chunks/1b203bov0h125.js" async=""></script>
1<script src="/_next/static/immutable/chunks/13pcr5n0bwk47.js" async=""></script>
1<script src="/_next/static/immutable/chunks/13d2ofwhzs59u.js" async=""></script>
1<script src="/_next/static/immutable/chunks/2rax0kdawtj1h.js" async=""></script>
1<script src="/_next/static/immutable/chunks/1qhm5r0jub3en.js" async=""></script>
1<script src="/_next/static/immutable/chunks/0aoeil02qfsn5.js" async=""></script>
1<script src="/_next/static/immutable/chunks/0k3os36czqzy4.js" async=""></script>
1<script src="/_next/static/immutable/chunks/3s4707kgr1a33.js" async=""></script>
1<script src="/_next/static/immutable/chunks/1xui5_f1wum6y.js" async=""></script>
1<script src="/_next/static/immutable/chunks/1kb1x1v2ddq-3.js" async=""></script>
1<script src="/_next/static/immutable/chunks/0mq0wq5a4mrp5.js" async=""></script>
1<script src="/_next/static/immutable/chunks/0x16tld98hitk.js" async=""></script>
1<script src="/_next/static/immutable/chunks/35o5co0n2b_7m.js" async=""></script>
1<script src="/_next/static/immutable/chunks/19zmpcb747leg.js" async=""></script>
1<script src="/_next/static/immutable/chunks/092-t-_kn2cw0.js" async=""></script>
1<script src="/_next/static/immutable/chunks/3yte4yb3zzkdg.js" async=""></script>
1<script src="/_next/static/immutable/chunks/2g5jszg3jhbe8.js" async=""></script>
1<script src="/_next/static/immutable/chunks/2bc3q60udcsyh.js" async=""></script>
1<script src="/_next/static/immutable/chunks/3t7o872woljz4.js" async=""></script>
1<script src="/_next/static/immutable/chunks/2jd-ymjm3urhg.js" async=""></script>
1<script src="/_next/static/immutable/chunks/2x_yzy81jem0g.js" async=""></script>
1<script src="/_next/static/immutable/chunks/3a9r4yk7-enqb.js" async=""></script>
1<script src="/_next/static/immutable/chunks/118855ayjkmyz.js" async=""></script>
1<script src="/_next/static/immutable/chunks/2fa3lpx46hrot.js" async=""></script>
1<script src="/_next/static/immutable/chunks/42w6-z5ubnxfl.js" async=""></script>
1<script src="/_next/static/immutable/chunks/0sfe1kmu8viqy.js" async=""></script>
1<script src="/_next/static/immutable/chunks/05w4y3zvd4hqm.js" async=""></script>
1<script src="/_next/static/immutable/chunks/0ytjzh-60xm6f.js" async=""></script>
1<script src="/_next/static/immutable/chunks/0vllu1tbymv50.js" async=""></script>
1<script src="/_next/static/immutable/chunks/3ro-6hhnd3jz_.js" async=""></script>
1<script src="/_next/static/immutable/chunks/23zq66b1-0qsc.js" async=""></script>
1<script src="/_next/static/immutable/chunks/3m6634oy_zldp.js" async=""></script>
1<meta name="next-size-adjust" content=""/><title>Blog · assistant-ui</title><meta name="description" content="Announcements and writing from the assistant-ui team."/><link rel="manifest" href="/manifest.webmanifest"/><link rel="canonical" href="https://www.assistant-ui.com/blog"/><meta property="og:title" content="Blog"/><meta property="og:description" content="Announcements and writing from the assistant-ui team."/><meta property="og:image" content="https://www.assistant-ui.com/api/og?title=Blog&amp;description=Announcements+and+writing+from+the+assistant-ui+team."/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="630"/><meta property="og:image:alt" content="Blog"/><meta property="og:type" content="article"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:title" content="Blog"/><meta name="twitter:description" content="Announcements and writing from the assistant-ui team."/><meta name="twitter:image" content="https://www.assistant-ui.com/api/og?title=Blog&amp;description=Announcements+and+writing+from+the+assistant-ui+team."/><link rel="icon" href="/favicon.ico?favicon.1jlep8oc9b9et.ico" sizes="48x48" type="image/x-icon"/><link rel="icon" href="/icon.svg?icon.0k50h7_4mau84.svg" sizes="any" type="image/svg+xml"/><link rel="icon" href="/icon0.svg?icon0.2ah707qzo6vsu.svg" sizes="any" type="image/svg+xml"/><link rel="icon" href="/icon1.png?icon1.37sbi4ophilom.png" sizes="96x96" type="image/png"/><link rel="apple-touch-icon" href="/apple-icon.png?apple-icon.3w06tlr9iqbis.png" sizes="180x180" type="image/png"/><style>:root {
2  --aui-success: oklch(0.6 0.15 149);
3  --aui-warning: oklch(0.68 0.16 70);
4}
5
6.dark {
7  --aui-success: oklch(0.72 0.17 149);
8  --aui-warning: oklch(0.8 0.17 75);
9}
10
11[data-aui-theme="elements"] {
12  --aui-live: oklch(0.623 0.214 259.815);
13}
14
15.dark [data-aui-theme="elements"] {
16  --aui-live: oklch(0.707 0.165 254.624);
17}
18
19[data-aui] {
20  box-sizing: border-box;
21}
22
23[data-aui="header"] {
24  margin: 0;
25  font-size: 1.25rem;
26  font-weight: 600;
27  letter-spacing: -0.01em;
28  line-height: 1.2;
29}
30
31[data-aui="text"] {
32  line-height: 1.5;
33}
34
35[data-aui="caption"] {
36  margin: 0;
37  font-size: 0.75rem;
38  line-height: 1.4;
39  color: color-mix(in oklab, currentColor 62%, transparent);
40}
41
42[data-aui="text"][data-aui-size="sm"], [data-aui="header"][data-aui-size="sm"] {
43  font-size: 0.75rem;
44}
45
46[data-aui="text"][data-aui-size="md"], [data-aui="header"][data-aui-size="md"] {
47  font-size: 0.875rem;
48}
49
50[data-aui="text"][data-aui-size="lg"], [data-aui="header"][data-aui-size="lg"] {
51  font-size: 1.125rem;
52}
53
54[data-aui="text"][data-aui-size="xl"], [data-aui="header"][data-aui-size="xl"] {
55  font-size: 1.25rem;
56}
57
58[data-aui="text"][data-aui-size="2xl"], [data-aui="header"][data-aui-size="2xl"] {
59  font-size: 1.5rem;
60  font-weight: 600;
61  letter-spacing: -0.02em;
62}
63
64[data-aui="text"][data-aui-size="3xl"], [data-aui="header"][data-aui-size="3xl"] {
65  font-size: 2.25rem;
66  font-weight: 600;
67  letter-spacing: -0.02em;
68}
69
70[data-aui="text"][data-aui-weight="normal"] {
71  font-weight: 400;
72}
73
74[data-aui="text"][data-aui-weight="medium"] {
75  font-weight: 500;
76}
77
78[data-aui="text"][data-aui-weight="semibold"] {
79  font-weight: 600;
80}
81
82[data-aui="text"][data-aui-weight="bold"] {
83  font-weight: 700;
84}
85
86[data-aui="text"][data-aui-color="emphasis"] {
87  color: var(--foreground);
88}
89
90[data-aui="text"][data-aui-color="secondary"] {
91  color: color-mix(in oklab, currentColor 62%, transparent);
92}
93
94[data-aui="text"][data-aui-color="alpha-70"] {
95  color: color-mix(in oklab, var(--foreground) 70%, transparent);
96}
97
98[data-aui="text"][data-aui-color="white"] {
99  color: white;
100}
101
102[data-aui="text"][data-aui-color="white-70"] {
103  color: color-mix(in oklab, white 70%, transparent);
104}
105
106[data-aui="text"][data-aui-color="white-50"] {
107  color: color-mix(in oklab, white 50%, transparent);
108}
109
110[data-aui="fact"] {
111  margin: 0;
112}
113
114[data-aui="fact-label"] {
115  margin: 0;
116  font-size: 0.6875rem;
117  text-transform: uppercase;
118  letter-spacing: 0.05em;
119  color: color-mix(in oklab, currentColor 62%, transparent);
120}
121
122[data-aui="fact-value"] {
123  margin: 0;
124  font-size: 0.875rem;
125  font-variant-numeric: tabular-nums;
126}
127
128[data-aui="fact-delta"] {
129  display: inline-flex;
130  align-items: center;
131  gap: 0.125rem;
132  margin: 0 0 0 0.375rem;
133  padding: 0.125rem 0.375rem;
134  border-radius: 9999px;
135  font-size: 0.6875rem;
136  font-weight: 500;
137  vertical-align: middle;
138}
139
140[data-aui="fact-delta"][data-aui-tone="good"] {
141  background-color: color-mix(in oklab, var(--aui-success) 15%, transparent);
142  color: var(--aui-success);
143}
144
145[data-aui="fact-delta"][data-aui-tone="bad"] {
146  background-color: color-mix(in oklab, var(--destructive) 15%, transparent);
147  color: var(--destructive);
148}
149
150[data-aui="fact-delta"][data-aui-tone="neutral"] {
151  background-color: var(--secondary);
152  color: var(--secondary-foreground);
153}
154
155[data-aui="button"], [data-aui="card-confirm"], [data-aui="card-cancel"] {
156  display: inline-flex;
157  align-items: center;
158  justify-content: center;
159  gap: 0.25rem;
160  height: var(--aui-control-height, 2.5rem);
161  padding: 0 var(--aui-button-padding-x, 1.25rem);
162  border-radius: calc(var(--radius) - 2px);
163  font-size: var(--aui-control-font-size, 0.875rem);
164  font-weight: 500;
165  border: 1px solid transparent;
166  cursor: pointer;
167  background-color: var(--secondary);
168  color: var(--secondary-foreground);
169  transition: background-color 0.15s ease;
170  white-space: nowrap;
171  flex-shrink: 0;
172}
173
174[data-aui="button"]:focus-visible, [data-aui="card-confirm"]:focus-visible, [data-aui="card-cancel"]:focus-visible {
175  outline: 2px solid var(--ring);
176  outline-offset: 2px;
177}
178
179[data-aui="button"][data-aui-style="primary"], [data-aui="card-confirm"] {
180  background-color: var(--primary);
181  color: var(--primary-foreground);
182}
183
184[data-aui="button"][data-aui-style="primary"]:hover, [data-aui="card-confirm"]:hover {
185  background-color: color-mix(in oklab, var(--primary) 90%, transparent);
186}
187
188[data-aui="button"][data-aui-style="secondary"] {
189  background-color: var(--secondary);
190  color: var(--secondary-foreground);
191}
192
193[data-aui="button"][data-aui-style="secondary"]:hover {
194  background-color: color-mix(in oklab, var(--secondary) 90%, transparent);
195}
196
197[data-aui="button"][data-aui-style="outline"] {
198  background-color: transparent;
199  color: var(--foreground);
200  border-color: color-mix(in oklab, var(--border) 60%, transparent);
201}
202
203[data-aui="button"][data-aui-style="outline"]:hover {
204  background-color: var(--accent);
205  color: var(--accent-foreground);
206}
207
208[data-aui="button"][data-aui-style="ghost"], [data-aui="card-cancel"] {
209  background-color: transparent;
210  color: var(--foreground);
211}
212
213[data-aui="button"][data-aui-style="ghost"]:hover, [data-aui="card-cancel"]:hover {
214  background-color: var(--accent);
215  color: var(--accent-foreground);
216}
217
218[data-aui="button"][data-aui-style="danger"] {
219  background-color: var(--destructive);
220  color: var(--primary-foreground);
221}
222
223[data-aui="button"][data-aui-style="danger"]:hover {
224  background-color: color-mix(in oklab, var(--destructive) 90%, transparent);
225}
226
227[data-aui="button"][data-aui-state="pending"] {
228  background-color: color-mix(in oklab, var(--secondary) 72%, transparent);
229  font-variant-numeric: tabular-nums;
230}
231
232[data-aui="button-undo-status"] {
233  position: absolute;
234  width: 1px;
235  height: 1px;
236  padding: 0;
237  margin: -1px;
238  overflow: hidden;
239  clip: rect(0, 0, 0, 0);
240  white-space: nowrap;
241  border: 0;
242}
243
244[data-aui="button"][data-aui-block] {
245  width: 100%;
246}
247
248[data-aui="select"], [data-aui="input"], [data-aui="datepicker"] {
249  display: block;
250  width: 100%;
251  min-width: 0;
252  height: var(--aui-control-height, 2.5rem);
253  padding: 0 var(--aui-field-padding-x, 0.875rem);
254  border-radius: calc(var(--radius) - 2px);
255  border: 1px solid var(--input);
256  background-color: transparent;
257  font-size: var(--aui-control-font-size, 0.875rem);
258  color: var(--foreground);
259}
260
261[data-aui="datepicker"] {
262  max-width: 100%;
263}
264
265[data-aui="input"][data-aui-multiline] {
266  height: auto;
267  min-height: 2.5rem;
268  padding: 0.625rem var(--aui-field-padding-x, 0.875rem);
269  line-height: 1.5;
270  resize: vertical;
271}
272
273[data-aui="input"]::placeholder {
274  color: color-mix(in oklab, currentColor 45%, transparent);
275}
276
277[data-aui="select"]:focus-visible, [data-aui="input"]:focus-visible, [data-aui="datepicker"]:focus-visible {
278  outline: 2px solid var(--ring);
279  outline-offset: 2px;
280}
281
282[data-aui="slider-field"] {
283  display: flex;
284  flex-direction: column;
285  gap: 0.375rem;
286}
287
288[data-aui="slider-label"] {
289  font-size: var(--aui-control-font-size, 0.875rem);
290  font-weight: 500;
291}
292
293[data-aui="slider"] {
294  width: 100%;
295  height: 1.25rem;
296  margin: 0;
297  cursor: pointer;
298  accent-color: var(--foreground);
299  appearance: none;
300  background-color: transparent;
301}
302
303[data-aui="slider"]::-webkit-slider-runnable-track {
304  height: 0.25rem;
305  border-radius: 9999px;
306  background-color: var(--foreground);
307}
308
309[data-aui="slider"]::-moz-range-track {
310  height: 0.25rem;
311  border-radius: 9999px;
312  background-color: var(--foreground);
313}
314
315[data-aui="slider"]::-webkit-slider-thumb {
316  width: 1rem;
317  height: 1rem;
318  margin-top: -0.375rem;
319  border-radius: 9999px;
320  appearance: none;
321  background-color: var(--foreground);
322}
323
324[data-aui="slider"]::-moz-range-thumb {
325  width: 1rem;
326  height: 1rem;
327  border: 0;
328  border-radius: 9999px;
329  background-color: var(--foreground);
330}
331
332[data-aui="slider"]:focus-visible {
333  outline: 2px solid var(--ring);
334  outline-offset: 2px;
335}
336
337[data-aui="slider-value"] {
338  font-size: 0.75rem;
339  font-variant-numeric: tabular-nums;
340  color: color-mix(in oklab, currentColor 62%, transparent);
341}
342
343[data-aui="checkbox"] {
344  display: inline-flex;
345  align-items: center;
346  gap: 0.5rem;
347  cursor: pointer;
348}
349
350[data-aui="radiogroup-option"], [data-aui="checkboxgroup-option"] {
351  display: flex;
352  align-items: flex-start;
353  gap: 0.5rem;
354  cursor: pointer;
355}
356
357[data-aui="option-content"] {
358  display: flex;
359  flex-direction: column;
360}
361
362[data-aui="option-description"] {
363  font-size: 0.75rem;
364  line-height: 1.4;
365  color: color-mix(in oklab, currentColor 62%, transparent);
366}
367
368[data-aui="checkbox"] input, [data-aui="radiogroup-option"] input, [data-aui="checkboxgroup-option"] input {
369  accent-color: var(--primary);
370  width: 1rem;
371  height: 1rem;
372  margin: 0;
373  cursor: pointer;
374}
375
376[data-aui="radiogroup-option"] input, [data-aui="checkboxgroup-option"] input {
377  margin-top: 0.125rem;
378}
379
380[data-aui="checkbox"][data-aui-variant="switch"] input {
381  width: 2.25rem;
382  height: 1.25rem;
383  border: 0;
384  border-radius: 9999px;
385  appearance: none;
386  background-color: color-mix(in oklab, var(--foreground) 30%, transparent);
387  transition: background-color 0.15s ease;
388}
389
390[data-aui="checkbox"][data-aui-variant="switch"] input::before {
391  content: "";
392  display: block;
393  width: 1rem;
394  height: 1rem;
395  margin: 0.125rem;
396  border-radius: 9999px;
397  background-color: var(--background);
398  transition: transform 0.15s ease;
399}
400
401[data-aui="checkbox"][data-aui-variant="switch"] input:checked {
402  background-color: var(--foreground);
403}
404
405[data-aui="checkbox"][data-aui-variant="switch"] input:checked::before {
406  transform: translateX(1rem);
407}
408
409[data-aui="checkbox"] input:focus-visible, [data-aui="radiogroup-option"] input:focus-visible, [data-aui="checkboxgroup-option"] input:focus-visible {
410  outline: 2px solid var(--ring);
411  outline-offset: 2px;
412}
413
414[data-aui="radiogroup"], [data-aui="checkboxgroup"] {
415  border: none;
416  margin: 0;
417  padding: 0;
418  display: flex;
419  flex-direction: column;
420  gap: 0.25rem;
421}
422
423fieldset[data-aui="answered"] {
424  border: 0;
425  margin: 0;
426  padding: 0;
427  min-inline-size: 0;
428}
429
430fieldset[data-aui="answered"] [data-aui="button"], fieldset[data-aui="answered"] [data-aui="card-confirm"], fieldset[data-aui="answered"] [data-aui="card-cancel"], fieldset[data-aui="answered"] [data-aui="select"], fieldset[data-aui="answered"] [data-aui="input"], fieldset[data-aui="answered"] [data-aui="datepicker"], fieldset[data-aui="answered"] [data-aui="checkbox"], fieldset[data-aui="answered"] [data-aui="radiogroup-option"], fieldset[data-aui="answered"] [data-aui="checkboxgroup-option"] {
431  cursor: not-allowed;
432  opacity: 0.55;
433}
434
435[data-aui="root"] {
436  display: flex;
437  flex-direction: column;
438  gap: 0.875rem;
439  margin-block: 0.875rem;
440}
441
442[data-aui="root"]:empty {
443  display: none;
444}
445
446[data-aui="card"] {
447  display: flex;
448  flex-direction: column;
449  gap: 0.875rem;
450  padding: var(--aui-card-padding, 0);
451}
452
453[data-aui="card"][data-aui-surface], [data-aui="carousel"] [data-aui="card"] {
454  --aui-card-padding: 1.25rem;
455  background-color: var(--card);
456  color: var(--card-foreground);
457  border: 1px solid color-mix(in oklab, var(--border) 60%, transparent);
458  border-radius: var(--radius);
459  box-shadow: none;
460}
461
462[data-aui="card-title"] {
463  margin: 0;
464  font-size: 0.9375rem;
465  font-weight: 600;
466}
467
468[data-aui="card-footer"] {
469  display: flex;
470  justify-content: flex-end;
471  gap: 0.5rem;
472  padding-top: 0.75rem;
473  border-top: 1px solid color-mix(in oklab, var(--border) 60%, transparent);
474}
475
476[data-aui-padding="0"] {
477  padding: 0;
478}
479
480[data-aui-padding="1"] {
481  padding: calc(1 * 4px);
482}
483
484[data-aui-padding="2"] {
485  padding: calc(2 * 4px);
486}
487
488[data-aui-padding="3"] {
489  padding: calc(3 * 4px);
490}
491
492[data-aui-padding="4"] {
493  padding: calc(4 * 4px);
494}
495
496[data-aui-padding="5"] {
497  padding: calc(5 * 4px);
498}
499
500[data-aui-padding="6"] {
501  padding: calc(6 * 4px);
502}
503
504[data-aui-padding="7"] {
505  padding: calc(7 * 4px);
506}
507
508[data-aui-padding="8"] {
509  padding: calc(8 * 4px);
510}
511
512[data-aui="row"] {
513  display: flex;
514  flex-direction: row;
515  gap: 0.5rem;
516}
517
518[data-aui="col"] {
519  display: flex;
520  flex-direction: column;
521  gap: 0.625rem;
522}
523
524[data-aui="form"] {
525  display: flex;
526  flex-direction: column;
527  gap: 0.75rem;
528  margin: 0;
529}
530
531[data-aui="spacer"] {
532  flex: 1;
533}
534
535[data-aui="row"][data-aui-align="start"], [data-aui="col"][data-aui-align="start"] {
536  align-items: flex-start;
537}
538
539[data-aui="row"][data-aui-align="center"], [data-aui="col"][data-aui-align="center"] {
540  align-items: center;
541}
542
543[data-aui="row"][data-aui-align="end"], [data-aui="col"][data-aui-align="end"] {
544  align-items: flex-end;
545}
546
547[data-aui="row"][data-aui-justify="start"] {
548  justify-content: flex-start;
549}
550
551[data-aui="row"][data-aui-justify="center"] {
552  justify-content: center;
553}
554
555[data-aui="row"][data-aui-justify="end"] {
556  justify-content: flex-end;
557}
558
559[data-aui="row"][data-aui-justify="between"] {
560  justify-content: space-between;
561}
562
563[data-aui-gap="0"] {
564  gap: 0;
565}
566
567[data-aui-gap="1"] {
568  gap: calc(1 * 4px);
569}
570
571[data-aui-gap="2"] {
572  gap: calc(2 * 4px);
573}
574
575[data-aui-gap="3"] {
576  gap: calc(3 * 4px);
577}
578
579[data-aui-gap="4"] {
580  gap: calc(4 * 4px);
581}
582
583[data-aui-gap="5"] {
584  gap: calc(5 * 4px);
585}
586
587[data-aui-gap="6"] {
588  gap: calc(6 * 4px);
589}
590
591[data-aui-gap="7"] {
592  gap: calc(7 * 4px);
593}
594
595[data-aui-gap="8"] {
596  gap: calc(8 * 4px);
597}
598
599[data-aui="box"] {
600  display: block;
601}
602
603[data-aui="icon"] {
604  display: inline-block;
605  vertical-align: -0.125em;
606  flex-shrink: 0;
607}
608
609[data-aui="alert"] {
610  border-width: 1px;
611  border-style: solid;
612  border-radius: var(--radius);
613  padding: 0.75rem 0.875rem;
614}
615
616[data-aui="alert"][data-aui-tone="info"] {
617  border-color: color-mix(in oklab, var(--primary) 45%, transparent);
618  background-color: color-mix(in oklab, var(--primary) 8%, transparent);
619}
620
621[data-aui="alert"][data-aui-tone="success"] {
622  border-color: color-mix(in oklab, var(--aui-success) 45%, transparent);
623  background-color: color-mix(in oklab, var(--aui-success) 8%, transparent);
624}
625
626[data-aui="alert"][data-aui-tone="warning"] {
627  border-color: color-mix(in oklab, var(--aui-warning) 45%, transparent);
628  background-color: color-mix(in oklab, var(--aui-warning) 8%, transparent);
629}
630
631[data-aui="alert"][data-aui-tone="danger"] {
632  border-color: color-mix(in oklab, var(--destructive) 45%, transparent);
633  background-color: color-mix(in oklab, var(--destructive) 8%, transparent);
634}
635
636[data-aui="alert-title"] {
637  margin: 0 0 0.25rem 0;
638  font-weight: 500;
639}
640
641[data-aui="alert-desc"] {
642  margin: 0;
643  color: color-mix(in oklab, currentColor 62%, transparent);
644  font-size: 0.8125rem;
645}
646
647[data-aui="table"] {
648  width: 100%;
649  border-collapse: collapse;
650}
651
652[data-aui="table-col"] {
653  text-align: left;
654  font-size: 0.75rem;
655  font-weight: 500;
656  color: color-mix(in oklab, currentColor 62%, transparent);
657  padding: 0.5rem 0.75rem;
658  border-bottom: 1px solid color-mix(in oklab, var(--border) 60%, transparent);
659}
660
661[data-aui="table"] td {
662  font-size: 0.875rem;
663  padding: 0.5rem 0.75rem;
664  text-align: left;
665  font-variant-numeric: tabular-nums;
666}
667
668[data-aui="table-col"][data-aui-align="end"], [data-aui="table"] td[data-aui-align="end"] {
669  text-align: end;
670}
671
672[data-aui="table-sort"] {
673  appearance: none;
674  padding: 0;
675  border: 0;
676  background-color: transparent;
677  color: inherit;
678  font-family: inherit;
679  font-size: inherit;
680  font-weight: inherit;
681  letter-spacing: inherit;
682  line-height: inherit;
683  text-align: inherit;
684  cursor: pointer;
685}
686
687[data-aui="table-sort-direction"] {
688  margin: 0 0 0 0.25rem;
689}
690
691[data-aui="table-sort"]:focus-visible {
692  outline: 2px solid var(--ring);
693  outline-offset: 2px;
694}
695
696[data-aui="table"] tbody tr:not(:last-child) td {
697  border-bottom: 1px solid color-mix(in oklab, var(--border) 60%, transparent);
698}
699
700[data-aui="chart"] {
701  display: block;
702  width: 100%;
703  height: 3rem;
704  color: var(--chart-1);
705}
706
707[data-aui="chart"] polyline, [data-aui="chart"] polygon {
708  stroke-width: 1.5;
709}
710
711[data-aui="chart-zero"] {
712  stroke: var(--muted-foreground);
713  stroke-opacity: 0.5;
714}
715
716[data-aui="chart"][data-aui-color] [data-aui="chart-series"]:only-child {
717  color: inherit;
718}
719
720[data-aui="chart"][data-aui-color="emphasis"] {
721  color: var(--foreground);
722}
723
724[data-aui="chart"][data-aui-color="secondary"] {
725  color: color-mix(in oklab, currentColor 62%, transparent);
726}
727
728[data-aui="chart"][data-aui-color="alpha-70"] {
729  color: color-mix(in oklab, var(--foreground) 70%, transparent);
730}
731
732[data-aui="chart"][data-aui-color="white"] {
733  color: white;
734}
735
736[data-aui="chart"][data-aui-color="white-70"] {
737  color: color-mix(in oklab, white 70%, transparent);
738}
739
740[data-aui="chart"][data-aui-color="white-50"] {
741  color: color-mix(in oklab, white 50%, transparent);
742}
743
744[data-aui="chart-frame"] {
745  display: grid;
746  grid-template-columns: auto 1fr;
747  gap: 0.25rem;
748}
749
750[data-aui="chart-frame"] > [data-aui="chart-ticks"] {
751  grid-column: 1;
752  grid-row: 1;
753  display: flex;
754  flex-direction: column;
755  justify-content: space-between;
756  text-align: right;
757}
758
759[data-aui="chart-frame"] > [data-aui="chart-ticks"], [data-aui="chart-frame"] > [data-aui="chart-xlabels"] {
760  font-size: 0.6875rem;
761  color: var(--muted-foreground);
762}
763
764[data-aui="chart-frame"] > svg[data-aui="chart"] {
765  grid-column: 2;
766  grid-row: 1;
767  height: 6.5rem;
768}
769
770[data-aui="chart-frame"] > [data-aui="chart-xlabels"] {
771  grid-column: 2;
772  grid-row: 2;
773  display: flex;
774  justify-content: space-between;
775}
776
777[data-aui="chart-frame"] > [data-aui="chart-legend"] {
778  grid-column: 1 / -1;
779  grid-row: 3;
780  display: flex;
781  gap: 0.75rem;
782  font-size: 0.75rem;
783  color: var(--muted-foreground);
784}
785
786[data-aui="chart-legend-item"] {
787  display: inline-flex;
788  align-items: center;
789  gap: 0.25rem;
790}
791
792[data-aui="chart-legend-swatch"] {
793  display: inline-block;
794  width: 0.625rem;
795  height: 0.625rem;
796  border-radius: calc(var(--radius) - 4px);
797  background-color: var(--aui-series-color, currentColor);
798}
799
800[data-aui="chart-series"][data-aui-series="0"] {
801  color: var(--chart-1);
802}
803
804[data-aui="chart-series"][data-aui-series="1"] {
805  color: var(--chart-2);
806}
807
808[data-aui="chart-series"][data-aui-series="2"] {
809  color: var(--chart-3);
810}
811
812[data-aui="chart-series"][data-aui-series="3"] {
813  color: var(--chart-4);
814}
815
816[data-aui="chart-series"][data-aui-series="4"] {
817  color: var(--chart-5);
818}
819
820[data-aui="chart-legend-item"][data-aui-series="0"] {
821  --aui-series-color: var(--chart-1);
822}
823
824[data-aui="chart-legend-item"][data-aui-series="1"] {
825  --aui-series-color: var(--chart-2);
826}
827
828[data-aui="chart-legend-item"][data-aui-series="2"] {
829  --aui-series-color: var(--chart-3);
830}
831
832[data-aui="chart-legend-item"][data-aui-series="3"] {
833  --aui-series-color: var(--chart-4);
834}
835
836[data-aui="chart-legend-item"][data-aui-series="4"] {
837  --aui-series-color: var(--chart-5);
838}
839
840[data-aui="chart-series"][data-aui-color="emphasis"] {
841  color: var(--foreground);
842}
843
844[data-aui="chart-legend-item"][data-aui-color="emphasis"] {
845  --aui-series-color: var(--foreground);
846}
847
848[data-aui="chart-series"][data-aui-color="secondary"] {
849  color: color-mix(in oklab, var(--foreground) 62%, transparent);
850}
851
852[data-aui="chart-legend-item"][data-aui-color="secondary"] {
853  --aui-series-color: color-mix(in oklab, var(--foreground) 62%, transparent);
854}
855
856[data-aui="chart-series"][data-aui-color="alpha-70"] {
857  color: color-mix(in oklab, var(--foreground) 70%, transparent);
858}
859
860[data-aui="chart-legend-item"][data-aui-color="alpha-70"] {
861  --aui-series-color: color-mix(in oklab, var(--foreground) 70%, transparent);
862}
863
864[data-aui="chart-series"][data-aui-color="white"] {
865  color: white;
866}
867
868[data-aui="chart-legend-item"][data-aui-color="white"] {
869  --aui-series-color: white;
870}
871
872[data-aui="chart-series"][data-aui-color="white-70"] {
873  color: color-mix(in oklab, white 70%, transparent);
874}
875
876[data-aui="chart-legend-item"][data-aui-color="white-70"] {
877  --aui-series-color: color-mix(in oklab, white 70%, transparent);
878}
879
880[data-aui="chart-series"][data-aui-color="white-50"] {
881  color: color-mix(in oklab, white 50%, transparent);
882}
883
884[data-aui="chart-legend-item"][data-aui-color="white-50"] {
885  --aui-series-color: color-mix(in oklab, white 50%, transparent);
886}
887
888[data-aui="carousel-frame"] {
889  min-width: 0;
890}
891
892[data-aui="carousel"] {
893  display: flex;
894  overflow-x: auto;
895  scroll-snap-type: x mandatory;
896  scroll-behavior: smooth;
897  gap: 0.75rem;
898  padding-bottom: 0.5rem;
899  scrollbar-width: thin;
900}
901
902[data-aui="carousel"]:focus-visible {
903  outline: 2px solid var(--ring);
904  outline-offset: 2px;
905}
906
907[data-aui="carousel-slide"] {
908  scroll-snap-align: start;
909  flex: 0 0 auto;
910  min-width: 14rem;
911}
912
913[data-aui="carousel-controls"] {
914  display: flex;
915  justify-content: flex-end;
916  gap: 0.25rem;
917  margin: 0.5rem 0 0;
918}
919
920[data-aui="carousel-prev"], [data-aui="carousel-next"] {
921  display: inline-flex;
922  align-items: center;
923  justify-content: center;
924  width: 2rem;
925  height: 2rem;
926  padding: 0;
927  border: 0;
928  border-radius: calc(var(--radius) - 2px);
929  appearance: none;
930  background-color: transparent;
931  color: inherit;
932  cursor: pointer;
933}
934
935[data-aui="carousel-prev"]:hover, [data-aui="carousel-next"]:hover {
936  background-color: var(--muted);
937}
938
939[data-aui="carousel-prev"]:focus-visible, [data-aui="carousel-next"]:focus-visible {
940  outline: 2px solid var(--ring);
941  outline-offset: 2px;
942}
943
944[data-aui="carousel-prev"]:disabled, [data-aui="carousel-next"]:disabled {
945  opacity: 0.5;
946  cursor: default;
947}
948
949@media (prefers-reduced-motion: reduce) {
950  [data-aui="carousel"] {
951    scroll-behavior: auto;
952  }
953
954  [data-aui="checkbox"][data-aui-variant="switch"] input, [data-aui="checkbox"][data-aui-variant="switch"] input::before {
955    transition: none;
956  }
957
958  [data-aui="button"][data-aui-state="pending"] {
959    transition: none;
960  }
961}
962
963[data-aui="listview"] {
964  list-style: none;
965  margin: 0;
966  padding: 0;
967}
968
969[data-aui="listview-item"] + [data-aui="listview-item"] {
970  border-top: 1px solid color-mix(in oklab, var(--border) 60%, transparent);
971}
972
973[data-aui="listview-item-trigger"] {
974  padding: 0.75rem 0.875rem;
975  border-radius: calc(var(--radius) - 2px);
976  cursor: pointer;
977}
978
979[data-aui="listview-item-trigger"]:hover {
980  background-color: color-mix(in oklab, var(--muted) 50%, transparent);
981}
982
983[data-aui="listview-item-trigger"]:focus-visible {
984  outline: 2px solid var(--ring);
985  outline-offset: 2px;
986}
987
988[data-aui="divider"] {
989  border: none;
990  border-top: 1px solid color-mix(in oklab, var(--border) 60%, transparent);
991  margin: 0.75rem 0;
992}
993
994[data-aui="divider"][data-aui-flush] {
995  margin: 0;
996}
997
998[data-aui="card"] > [data-aui="divider"] {
999  margin: 0;
1000}
1001
1002[data-aui="image"] {
1003  max-width: 100%;
1004  display: block;
1005  border-radius: calc(var(--radius) - 2px);
1006}
1007
1008[data-aui="image"][data-aui-size="sm"] {
1009  max-width: 8rem;
1010}
1011
1012[data-aui="image"][data-aui-size="md"] {
1013  max-width: 16rem;
1014}
1015
1016[data-aui="image"][data-aui-size="lg"] {
1017  max-width: 24rem;
1018}
1019
1020[data-aui="image"][data-aui-round] {
1021  width: 2.5rem;
1022  height: 2.5rem;
1023  border-radius: 9999px;
1024  object-fit: cover;
1025  aspect-ratio: 1 / 1;
1026}
1027
1028[data-aui="image"][data-aui-round][data-aui-size="sm"] {
1029  width: 2rem;
1030  height: 2rem;
1031}
1032
1033[data-aui="image"][data-aui-round][data-aui-size="md"] {
1034  width: 2.5rem;
1035  height: 2.5rem;
1036}
1037
1038[data-aui="image"][data-aui-round][data-aui-size="lg"] {
1039  width: 3.25rem;
1040  height: 3.25rem;
1041}
1042
1043[data-aui="markdown"] {
1044  font-size: 0.875rem;
1045  line-height: 1.6;
1046}
1047
1048[data-aui="markdown"] p {
1049  margin: 0 0 0.5rem 0;
1050}
1051
1052[data-aui="markdown"] p:last-child {
1053  margin-bottom: 0;
1054}
1055
1056[data-aui="markdown"] a {
1057  color: var(--primary);
1058  text-decoration: underline;
1059  text-underline-offset: 2px;
1060}
1061
1062[data-aui="markdown"] code {
1063  font-size: 0.8125em;
1064  background-color: color-mix(in oklab, var(--muted) 60%, transparent);
1065  padding: 0.125rem 0.375rem;
1066  border-radius: calc(var(--radius) - 4px);
1067  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
1068}
1069
1070[data-aui="markdown"] pre {
1071  background-color: color-mix(in oklab, var(--muted) 60%, transparent);
1072  padding: 0.75rem;
1073  border-radius: calc(var(--radius) - 2px);
1074  overflow-x: auto;
1075}
1076
1077[data-aui="markdown"] pre code {
1078  background-color: transparent;
1079  padding: 0;
1080}
1081
1082[data-aui="markdown"] ul, [data-aui="markdown"] ol {
1083  padding-left: 1.25rem;
1084}
1085
1086[data-aui="markdown"] ol {
1087  list-style-type: decimal;
1088}
1089
1090[data-aui="markdown"] ul {
1091  list-style-type: disc;
1092}
1093
1094[data-aui="markdown"] li {
1095  margin: 0.25rem 0;
1096}
1097
1098[data-aui="markdown"] h1, [data-aui="markdown"] h2, [data-aui="markdown"] h3 {
1099  margin: 0.75em 0 0.25em;
1100  font-weight: 600;
1101}
1102
1103[data-aui="markdown"] h1 {
1104  font-size: 1.125em;
1105}
1106
1107[data-aui="markdown"] h2 {
1108  font-size: 1.0625em;
1109}
1110
1111[data-aui="markdown"] h3 {
1112  font-size: 1em;
1113}
1114
1115[data-aui="markdown"] blockquote {
1116  border-left: 2px solid color-mix(in oklab, var(--border) 60%, transparent);
1117  padding-left: 0.75rem;
1118  color: color-mix(in oklab, currentColor 62%, transparent);
1119  margin: 0.5em 0;
1120}
1121
1122[data-aui="badge"] {
1123  display: inline-flex;
1124  align-self: flex-start;
1125  align-items: center;
1126  gap: 0.25rem;
1127  border-radius: 9999px;
1128  padding: 0.125rem 0.5rem;
1129  font-size: 0.75rem;
1130  font-weight: 500;
1131  line-height: 1.4;
1132  font-variant-numeric: tabular-nums;
1133  background-color: var(--muted);
1134  color: color-mix(in oklab, currentColor 62%, transparent);
1135  flex-shrink: 0;
1136  white-space: nowrap;
1137}
1138
1139[data-aui="row"][data-aui-align="start"] > [data-aui="badge"], [data-aui="col"][data-aui-align="start"] > [data-aui="badge"] {
1140  align-self: flex-start;
1141}
1142
1143[data-aui="row"][data-aui-align="center"] > [data-aui="badge"], [data-aui="col"][data-aui-align="center"] > [data-aui="badge"] {
1144  align-self: center;
1145}
1146
1147[data-aui="row"][data-aui-align="end"] > [data-aui="badge"], [data-aui="col"][data-aui-align="end"] > [data-aui="badge"] {
1148  align-self: flex-end;
1149}
1150
1151[data-aui="badge"][data-aui-variant="info"] {
1152  background-color: color-mix(in oklab, var(--primary) 15%, transparent);
1153  color: var(--primary);
1154}
1155
1156[data-aui="badge"][data-aui-variant="success"] {
1157  background-color: color-mix(in oklab, var(--aui-success) 15%, transparent);
1158  color: var(--aui-success);
1159}
1160
1161[data-aui="badge"][data-aui-variant="warning"] {
1162  background-color: color-mix(in oklab, var(--aui-warning) 15%, transparent);
1163  color: var(--aui-warning);
1164}
1165
1166[data-aui="badge"][data-aui-variant="danger"] {
1167  background-color: color-mix(in oklab, var(--destructive) 15%, transparent);
1168  color: var(--destructive);
1169}
1170
1171[data-aui-theme="elements"] [data-aui="card"][data-aui-surface], [data-aui-theme="elements"] [data-aui="carousel"] [data-aui="card"] {
1172  border: 1px solid color-mix(in oklab, var(--border) 60%, transparent);
1173  border-radius: 20px;
1174  background-color: var(--background);
1175  box-shadow: none;
1176}
1177
1178.dark [data-aui-theme="elements"] [data-aui="card"][data-aui-surface], .dark [data-aui-theme="elements"] [data-aui="carousel"] [data-aui="card"] {
1179  background-color: var(--popover);
1180  box-shadow: none;
1181}
1182
1183[data-aui-theme="elements"] [data-aui="card-footer"] {
1184  border-top: none;
1185  padding-top: 0.25rem;
1186}
1187
1188[data-aui-theme="elements"] [data-aui="select"], [data-aui-theme="elements"] [data-aui="input"], [data-aui-theme="elements"] [data-aui="datepicker"] {
1189  border: none;
1190  border-radius: 12px;
1191  background-color: color-mix(in oklab, var(--foreground) 4%, transparent);
1192  caret-color: var(--aui-live);
1193  transition: background-color 0.15s ease;
1194}
1195
1196.dark [data-aui-theme="elements"] [data-aui="select"], .dark [data-aui-theme="elements"] [data-aui="input"], .dark [data-aui-theme="elements"] [data-aui="datepicker"] {
1197  background-color: color-mix(in oklab, var(--foreground) 6%, transparent);
1198}
1199
1200[data-aui-theme="elements"] [data-aui="select"]:focus-visible, [data-aui-theme="elements"] [data-aui="input"]:focus-visible, [data-aui-theme="elements"] [data-aui="datepicker"]:focus-visible {
1201  outline: none;
1202  background-color: color-mix(in oklab, var(--foreground) 7%, transparent);
1203}
1204
1205.dark [data-aui-theme="elements"] [data-aui="select"]:focus-visible, .dark [data-aui-theme="elements"] [data-aui="input"]:focus-visible, .dark [data-aui-theme="elements"] [data-aui="datepicker"]:focus-visible {
1206  background-color: color-mix(in oklab, var(--foreground) 9%, transparent);
1207}
1208
1209[data-aui-theme="elements"] [data-aui="input"]::placeholder {
1210  color: color-mix(in oklab, var(--foreground) 35%, transparent);
1211}
1212
1213[data-aui-theme="elements"] [data-aui="button"], [data-aui-theme="elements"] [data-aui="card-confirm"], [data-aui-theme="elements"] [data-aui="card-cancel"] {
1214  border: none;
1215  border-radius: 9999px;
1216  transition: background-color 0.15s ease, color 0.15s ease, opacity 0.15s ease, transform 0.15s cubic-bezier(0.23, 1, 0.32, 1);
1217}
1218
1219[data-aui-theme="elements"] [data-aui="button"]:active, [data-aui-theme="elements"] [data-aui="card-confirm"]:active, [data-aui-theme="elements"] [data-aui="card-cancel"]:active {
1220  transform: scale(0.96);
1221}
1222
1223[data-aui-theme="elements"] [data-aui="button"]:focus-visible, [data-aui-theme="elements"] [data-aui="card-confirm"]:focus-visible, [data-aui-theme="elements"] [data-aui="card-cancel"]:focus-visible {
1224  outline: 2px solid color-mix(in oklab, var(--foreground) 20%, transparent);
1225  outline-offset: 2px;
1226}
1227
1228[data-aui-theme="elements"] [data-aui="button"][data-aui-style="primary"], [data-aui-theme="elements"] [data-aui="card-confirm"] {
1229  background-color: var(--foreground);
1230  color: var(--background);
1231}
1232
1233[data-aui-theme="elements"] [data-aui="button"][data-aui-style="primary"]:hover, [data-aui-theme="elements"] [data-aui="card-confirm"]:hover {
1234  background-color: var(--foreground);
1235  opacity: 0.9;
1236}
1237
1238[data-aui-theme="elements"] [data-aui="button"][data-aui-style="secondary"], [data-aui-theme="elements"] [data-aui="button"][data-aui-style="outline"], [data-aui-theme="elements"] [data-aui="button"]:not([data-aui-style]) {
1239  background-color: color-mix(in oklab, var(--foreground) 4%, transparent);
1240  color: var(--foreground);
1241  border-color: transparent;
1242}
1243
1244[data-aui-theme="elements"] [data-aui="button"][data-aui-style="secondary"]:hover, [data-aui-theme="elements"] [data-aui="button"][data-aui-style="outline"]:hover, [data-aui-theme="elements"] [data-aui="button"]:not([data-aui-style]):hover {
1245  background-color: color-mix(in oklab, var(--foreground) 7%, transparent);
1246  color: var(--foreground);
1247}
1248
1249.dark [data-aui-theme="elements"] [data-aui="button"][data-aui-style="secondary"], .dar
1249k [data-aui-theme="elements"] [data-aui="button"][data-aui-style="outline"], .dark [data-aui-theme="elements"] [data-aui="button"]:not([data-aui-style]) {
1250  background-color: color-mix(in oklab, var(--foreground) 6%, transparent);
1251}
1252
1253[data-aui-theme="elements"] [data-aui="button"][data-aui-style="ghost"], [data-aui-theme="elements"] [data-aui="card-cancel"], [data-aui-theme="elements"] [data-aui="carousel-prev"], [data-aui-theme="elements"] [data-aui="carousel-next"] {
1254  background-color: transparent;
1255  color: color-mix(in oklab, var(--foreground) 55%, transparent);
1256}
1257
1258[data-aui-theme="elements"] [data-aui="button"][data-aui-style="ghost"]:hover, [data-aui-theme="elements"] [data-aui="card-cancel"]:hover, [data-aui-theme="elements"] [data-aui="carousel-prev"]:hover, [data-aui-theme="elements"] [data-aui="carousel-next"]:hover {
1259  background-color: color-mix(in oklab, var(--foreground) 6%, transparent);
1260  color: color-mix(in oklab, var(--foreground) 90%, transparent);
1261}
1262
1263[data-aui-theme="elements"] [data-aui="checkbox"] input, [data-aui-theme="elements"] [data-aui="radiogroup-option"] input, [data-aui-theme="elements"] [data-aui="checkboxgroup-option"] input {
1264  accent-color: var(--foreground);
1265}
1266
1267[data-aui-theme="elements"] [data-aui="alert"] {
1268  border: none;
1269  border-radius: 14px;
1270}
1271
1272[data-aui-theme="elements"] [data-aui="alert-title"] {
1273  font-size: 0.875rem;
1274  font-weight: 500;
1275}
1276
1277[data-aui-theme="elements"] [data-aui="alert-desc"] {
1278  font-size: 0.8125rem;
1279}
1280
1281[data-aui-theme="elements"] [data-aui="divider"] {
1282  border-top-color: color-mix(in oklab, var(--foreground) 6%, transparent);
1283}
1284
1285[data-aui-theme="elements"] [data-aui="listview-item"] + [data-aui="listview-item"] {
1286  border-top-color: color-mix(in oklab, var(--foreground) 6%, transparent);
1287}
1288
1289[data-aui-theme="elements"] [data-aui="listview-item-trigger"] {
1290  border-radius: 10px;
1291}
1292
1293[data-aui-theme="elements"] [data-aui="listview-item-trigger"]:hover {
1294  background-color: color-mix(in oklab, var(--foreground) 4%, transparent);
1295}
1296
1297[data-aui-theme="elements"] [data-aui="table-col"] {
1298  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
1299  font-size: 0.6875rem;
1300  letter-spacing: -0.01em;
1301  text-transform: none;
1302  color: color-mix(in oklab, var(--foreground) 35%, transparent);
1303  border-bottom-color: color-mix(in oklab, var(--foreground) 6%, transparent);
1304}
1305
1306[data-aui-theme="elements"] [data-aui="table"] tbody tr:not(:last-child) td {
1307  border-bottom-color: color-mix(in oklab, var(--foreground) 6%, transparent);
1308}
1309
1310[data-aui-theme="elements"] [data-aui="fact-label"] {
1311  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
1312  letter-spacing: -0.01em;
1313  text-transform: none;
1314  color: color-mix(in oklab, var(--foreground) 35%, transparent);
1315}
1316
1317[data-aui-theme="elements"] [data-aui="badge"] {
1318  align-self: center;
1319  background-color: color-mix(in oklab, var(--foreground) 6%, transparent);
1320  color: color-mix(in oklab, var(--foreground) 70%, transparent);
1321}
1322
1323[data-aui-theme="elements"] [data-aui="badge"][data-aui-variant="info"] {
1324  background-color: color-mix(in oklab, var(--aui-live) 12%, transparent);
1325  color: var(--aui-live);
1326}
1327
1328[data-aui-theme="elements"] [data-aui="chart"] {
1329  color: color-mix(in oklab, var(--foreground) 70%, transparent);
1330}
1331
1332[data-aui-theme="elements"] [data-aui="chart"] polygon {
1333  fill-opacity: 0.12;
1334}
1335
1336[data-aui-theme="elements"] [data-aui="chart-series"][data-aui-series="0"] {
1337  color: color-mix(in oklab, var(--foreground) 80%, transparent);
1338}
1339
1340[data-aui-theme="elements"] [data-aui="chart-series"][data-aui-series="1"] {
1341  color: var(--aui-live);
1342}
1343
1344[data-aui-theme="elements"] [data-aui="chart-series"][data-aui-series="2"] {
1345  color: color-mix(in oklab, var(--foreground) 45%, transparent);
1346}
1347
1348[data-aui-theme="elements"] [data-aui="chart-series"][data-aui-series="3"] {
1349  color: var(--aui-success);
1350}
1351
1352[data-aui-theme="elements"] [data-aui="chart-series"][data-aui-series="4"] {
1353  color: color-mix(in oklab, var(--foreground) 30%, transparent);
1354}
1355
1356[data-aui-theme="elements"] [data-aui="chart-legend-item"][data-aui-series="0"] {
1357  --aui-series-color: color-mix(in oklab, var(--foreground) 80%, transparent);
1358}
1359
1360[data-aui-theme="elements"] [data-aui="chart-legend-item"][data-aui-series="1"] {
1361  --aui-series-color: var(--aui-live);
1362}
1363
1364[data-aui-theme="elements"] [data-aui="chart-legend-item"][data-aui-series="2"] {
1365  --aui-series-color: color-mix(in oklab, var(--foreground) 45%, transparent);
1366}
1367
1368[data-aui-theme="elements"] [data-aui="chart-legend-item"][data-aui-series="3"] {
1369  --aui-series-color: var(--aui-success);
1370}
1371
1372[data-aui-theme="elements"] [data-aui="chart-legend-item"][data-aui-series="4"] {
1373  --aui-series-color: color-mix(in oklab, var(--foreground) 30%, transparent);
1374}
1375
1376[data-aui-theme="elements"] [data-aui="chart-series"][data-aui-color="emphasis"] {
1377  color: var(--foreground);
1378}
1379
1380[data-aui-theme="elements"] [data-aui="chart-legend-item"][data-aui-color="emphasis"] {
1381  --aui-series-color: var(--foreground);
1382}
1383
1384[data-aui-theme="elements"] [data-aui="chart-series"][data-aui-color="secondary"] {
1385  color: color-mix(in oklab, var(--foreground) 62%, transparent);
1386}
1387
1388[data-aui-theme="elements"] [data-aui="chart-legend-item"][data-aui-color="secondary"] {
1389  --aui-series-color: color-mix(in oklab, var(--foreground) 62%, transparent);
1390}
1391
1392[data-aui-theme="elements"] [data-aui="chart-series"][data-aui-color="alpha-70"] {
1393  color: color-mix(in oklab, var(--foreground) 70%, transparent);
1394}
1395
1396[data-aui-theme="elements"] [data-aui="chart-legend-item"][data-aui-color="alpha-70"] {
1397  --aui-series-color: color-mix(in oklab, var(--foreground) 70%, transparent);
1398}
1399
1400[data-aui-theme="elements"] [data-aui="chart-series"][data-aui-color="white"] {
1401  color: white;
1402}
1403
1404[data-aui-theme="elements"] [data-aui="chart-legend-item"][data-aui-color="white"] {
1405  --aui-series-color: white;
1406}
1407
1408[data-aui-theme="elements"] [data-aui="chart-series"][data-aui-color="white-70"] {
1409  color: color-mix(in oklab, white 70%, transparent);
1410}
1411
1412[data-aui-theme="elements"] [data-aui="chart-legend-item"][data-aui-color="white-70"] {
1413  --aui-series-color: color-mix(in oklab, white 70%, transparent);
1414}
1415
1416[data-aui-theme="elements"] [data-aui="chart-series"][data-aui-color="white-50"] {
1417  color: color-mix(in oklab, white 50%, transparent);
1418}
1419
1420[data-aui-theme="elements"] [data-aui="chart-legend-item"][data-aui-color="white-50"] {
1421  --aui-series-color: color-mix(in oklab, white 50%, transparent);
1422}
1423
1424[data-aui-theme="elements"] [data-aui="chart-legend-swatch"] {
1425  border-radius: 9999px;
1426}
1427
1428[data-aui-theme="elements"] [data-aui="image"] {
1429  border-radius: 12px;
1430  outline: 1px solid oklch(0 0 0 / 0.08);
1431  outline-offset: -1px;
1432}
1433
1434.dark [data-aui-theme="elements"] [data-aui="image"] {
1435  outline: 1px solid oklch(1 0 0 / 0.1);
1436}
1437
1438[data-aui-theme="elements"] [data-aui="markdown"] a {
1439  color: var(--aui-live);
1440}
1441
1442[data-aui-theme="elements"] [data-aui="markdown"] code, [data-aui-theme="elements"] [data-aui="markdown"] pre {
1443  background-color: color-mix(in oklab, var(--foreground) 5%, transparent);
1444}</style><style>
1445.aui-gallery {
1446  --aui-control-height: 2.25rem;
1447  --aui-control-font-size: 0.8125rem;
1448  --aui-button-padding-x: 1rem;
1449  --aui-field-padding-x: 0.75rem;
1450}
1451
1452.aui-gallery-canvas {
1453  background: color-mix(in oklab, var(--foreground) 2.5%, transparent);
1454  border-radius: 24px;
1455  padding: 2rem;
1456}
1457
1458.dark .aui-gallery-canvas {
1459  background: color-mix(in oklab, var(--foreground) 4%, transparent);
1460}
1461
1462.aui-gallery [data-aui="card"] {
1463  --aui-card-padding: 1.25rem;
1464  border-color: transparent;
1465  border-radius: 16px;
1466  box-shadow: 0 1px 2px rgb(0 0 0 / 0.05), 0 8px 24px -12px rgb(0 0 0 / 0.12);
1467}
1468
1469.dark .aui-gallery [data-aui="card"],
1470.aui-gallery .dark [data-aui="card"] {
1471  border-color: color-mix(in oklab, var(--border) 70%, transparent);
1472  box-shadow: 0 1px 2px rgb(0 0 0 / 0.2), 0 12px 32px -12px rgb(0 0 0 / 0.5);
1473}
1474
1475.aui-gallery [data-aui="carousel-slide"] [data-aui="card"] {
1476  box-shadow: 0 1px 2px rgb(0 0 0 / 0.06), 0 1px 3px rgb(0 0 0 / 0.08);
1477}
1478
1479.dark .aui-gallery [data-aui="carousel-slide"] [data-aui="card"],
1480.aui-gallery .dark [data-aui="carousel-slide"] [data-aui="card"] {
1481  box-shadow: 0 1px 2px rgb(0 0 0 / 0.15);
1482}
1483
1484@media (hover: hover) and (pointer: fine) {
1485  .aui-gallery-item {
1486    transition:
1487      transform 150ms cubic-bezier(0.23, 1, 0.32, 1),
1488      box-shadow 150ms cubic-bezier(0.23, 1, 0.32, 1);
1489  }
1490
1491  .aui-gallery-item:hover {
1492    transform: translateY(-2px);
1493  }
1494
1495  .aui-gallery-item:hover [data-aui="card"] {
1496    box-shadow: 0 4px 8px rgb(0 0 0 / 0.08), 0 16px 32px -12px rgb(0 0 0 / 0.18);
1497  }
1498
1499  .aui-gallery-item:hover [data-aui="carousel-slide"] [data-aui="card"] {
1500    box-shadow: 0 1px 2px rgb(0 0 0 / 0.06), 0 1px 3px rgb(0 0 0 / 0.08);
1501  }
1502
1503  @media (prefers-reduced-motion: reduce) {
1504    .aui-gallery-item {
1505      transition: box-shadow 150ms cubic-bezier(0.23, 1, 0.32, 1);
1506    }
1507
1508    .aui-gallery-item:hover {
1509      transform: none;
1510    }
1511  }
1512}
1513</style>
1513<script>(function(){
1514  try{
1515    if(navigator.globalPrivacyControl===true){return;}
1516    if(window.location&&window.location.pathname==="/renderer"){return;}
1517    if(window.localStorage.getItem("aui-consent")==="denied"){return;}
1518    var k="aui-umami-sample",t=new Date(Date.now()),b=t.getUTCFullYear()*12+t.getUTCMonth(),s=null;
1519    var raw=window.localStorage.getItem(k);
1520    if(raw){try{var p=JSON.parse(raw);if(p&&typeof p.s==="number"&&p.b===b){s=p.s;}}catch(e){}}
1521    if(s===null){
1522      s=Math.random()<0.01?1:0;
1523      window.localStorage.setItem(k,JSON.stringify({s:s,b:b}));
1524    }
1525    if(!s){return;}
1526    window["__auiUmamiBeforeSend"]=function(type,payload){
1527      return window["__auiUmamiSuppressed"]?null:payload;
1528    };
1529    var el=document.createElement("script");
1530    el.async=false;
1531    el.src="/umami/script.js";
1532    el.setAttribute("data-website-id","6f07c001-46a2-411f-9241-4f7f5afb60ee");
1533    el.setAttribute("data-domains","www.assistant-ui.com");
1534    el.setAttribute("data-before-send","__auiUmamiBeforeSend");
1535    document.head.appendChild(el);
1536  }catch(e){}
1537})();</script>
1537<script src="/_next/static/immutable/chunks/0c0hxoamwjsbw.js" noModule=""></script>
1537</head><body class="flex min-h-screen flex-col font-sans antialiased public_sans_1bc6418c-module__6uzjwa__variable jetbrains_mono_7d65b77b-module__VxV-Ta__variable"><div hidden=""><!--$--><!--/$--></div><div aria-hidden="true" class="sr-only">For AI agents: a documentation index is available at<!-- --> <a href="/llms.txt" tabindex="-1">llms.txt</a>. Use .md for canonical markdown pages; .mdx is kept as a backwards-compatible alias on supported URL paths.</div><!--$--><!--/$-->
1537<script>((a,b,c,d,e,f,g,h)=>{let i=document.documentElement,j=["light","dark"];function k(b){var c;(Array.isArray(a)?a:[a]).forEach(a=>{let c="class"===a,d=c&&f?e.map(a=>f[a]||a):e;c?(i.classList.remove(...d),i.classList.add(f&&f[b]?f[b]:b)):i.setAttribute(a,b)}),c=b,h&&j.includes(c)&&(i.style.colorScheme=c)}if(d)k(d);else try{let a=localStorage.getItem(b)||c,d=g&&"system"===a?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":a;k(d)}catch(a){}})("class","theme","system",null,["light","dark"],null,true,true)</script>
1537<!--&--><div class="flex min-h-screen flex-col"><header class="rounded-page sticky top-0 z-50 w-full"><nav data-slot="navigation-menu" data-menu-open="false" class="group relative w-full"><div aria-hidden="true" class="bg-background/70 pointer-events-none fixed inset-0 transition-opacity duration-200 opacity-0"></div><div class="relative z-10 transition-colors duration-200 bg-transparent group-data-[menu-open=true]:bg-background mx-auto flex h-12 w-full max-w-7xl items-center justify-between px-4 lg:grid lg:grid-cols-[1fr_auto_1fr]"><a class="flex shrink-0 items-center gap-2 justify-self-start" data-state="closed" data-slot="context-menu-trigger" style="-webkit-touch-callout:none" href="/"><img alt="assistant-ui logo" loading="lazy" width="18" height="18" decoding="async" data-nimg="1" class="dark:hue-rotate-180 dark:invert" style="color:transparent" src="/favicon/icon.svg"/><span class="font-medium tracking-tight">assistant-ui</span></a><ul data-slot="navigation-menu-list" class="shrink-0 hidden items-center lg:flex"><li data-slot="navigation-menu-item"><a class="text-muted-foreground hover:text-foreground flex items-center px-3 py-1.5 text-sm transition-colors" data-slot="navigation-menu-link" href="/components">Components</a></li><li data-slot="navigation-menu-item"><a class="text-muted-foreground hover:text-foreground flex items-center px-3 py-1.5 text-sm transition-colors" data-slot="navigation-menu-link" href="/docs">Docs</a></li><li data-slot="navigation-menu-item"><button type="button" aria-disabled="false" tabindex="0" aria-expanded="false" data-base-ui-navigation-menu-trigger="" data-slot="navigation-menu-trigger" class="text-muted-foreground hover:text-foreground flex items-center px-3 py-1.5 text-sm transition-colors data-[popup-open]:text-foreground group/trigger cursor-pointer gap-1">Products<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down size-3 opacity-60 transition-[rotate] duration-200 group-data-[popup-open]/trigger:rotate-180 motion-reduce:transition-none" aria-hidden="true"><path d="m6 9 6 6 6-6"></path></svg></button></li><li data-slot="navigation-menu-item"><button type="button" aria-disabled="false" tabindex="0" aria-expanded="false" data-base-ui-navigation-menu-trigger="" data-slot="navigation-menu-trigger" class="text-muted-foreground hover:text-foreground flex items-center px-3 py-1.5 text-sm transition-colors data-[popup-open]:text-foreground group/trigger cursor-pointer gap-1">Resources<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down size-3 opacity-60 transition-[rotate] duration-200 group-data-[popup-open]/trigger:rotate-180 motion-reduce:transition-none" aria-hidden="true"><path d="m6 9 6 6 6-6"></path></svg></button></li><li data-slot="navigation-menu-item"><a class="text-muted-foreground hover:text-foreground flex items-center px-3 py-1.5 text-sm transition-colors" data-slot="navigation-menu-link" href="/pricing">Pricing</a></li></ul><div class="flex items-center justify-end gap-2 max-sm:[&amp;
1537:has([data-cart-button]:not([data-empty]))_[data-header-cloud]]:hidden"><!--$--><div data-cart-button="" data-empty="" class="items-center hidden"></div><!--/$--><button type="button" class="text-muted-foreground hover:text-foreground flex size-8 cursor-pointer items-center justify-center transition-colors md:hidden" aria-label="Search (⌘K)"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-search size-4" aria-hidden="true"><path d="m21 21-4.34-4.34"></path><circle cx="11" cy="11" r="8"></circle></svg></button><button type="button" tabindex="0" data-slot="button" aria-label="Search (⌘K)" class="group/button focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 shrink-0 items-center justify-center border bg-clip-padding font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:ring-1 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:ring-1 [&amp;_svg]:pointer-events-none [&amp;_svg]:shrink-0 bg-muted/70 text-foreground hover:bg-muted aria-expanded:bg-muted aria-expanded:text-foreground dark:bg-muted/50 dark:hover:bg-muted border-transparent h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&amp;_svg:not([class*=&#x27;size-&#x27;])]:size-3.5 hidden md:inline-flex">Search<kbd data-slot="kbd-group" class="items-center gap-0.5 hidden xl:inline-flex"><kbd data-slot="kbd" class="text-muted-foreground border-border/60 bg-muted/50 pointer-events-none inline-flex h-4 w-fit min-w-4 items-center justify-center rounded-[3px] border px-1 font-mono text-[10px] select-none [&amp;_svg:not([class*=&#x27;size-&#x27;])]:size-3 [[data-slot=tooltip-content]_&amp;]:bg-background/20 [[data-slot=tooltip-content]_&amp;]:text-background dark:[[data-slot=tooltip-content]_&amp;]:bg-background/10">⌘</kbd><kbd data-slot="kbd" class="text-muted-foreground border-border/60 bg-muted/50 pointer-events-none inline-flex h-4 w-fit min-w-4 items-center justify-center rounded-[3px] border px-1 font-mono text-[10px] select-none [&amp;_svg:not([class*=&#x27;size-&#x27;])]:size-3 [[data-slot=tooltip-content]_&amp;]:bg-background/20 [[data-slot=tooltip-content]_&amp;]:text-background dark:[[data-slot=tooltip-content]_&amp;]:bg-background/10">K</kbd></kbd></button><button type="button" tabindex="0" data-slot="button" aria-label="Ask AI (⌘I)" class="group/button focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 inline-flex shrink-0 items-center justify-center border bg-clip-padding font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:ring-1 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:ring-1 [&amp;_svg]:pointer-events-none [&amp;_svg]:shrink-0 bg-muted/70 text-foreground hover:bg-muted aria-expanded:bg-muted aria-expanded:text-foreground dark:bg-muted/50 dark:hover:bg-muted border-transparent h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&amp;_svg:not([class*=&#x27;size-&#x27;])]:size-3.5">Ask AI<kbd data-slot="kbd-group" class="items-center gap-0.5 hidden xl:inline-flex"><kbd data-slot="kbd" class="text-muted-foreground border-border/60 bg-muted/50 pointer-events-none inline-flex h-4 w-fit min-w-4 items-center justify-center rounded-[3px] border px-1 font-mono text-[10px] select-none [&amp;_svg:not([class*=&#x27;size-&#x27;])]:size-3 [[data-slot=tooltip-content]_&amp;]:bg-background/20 [[data-slot=tooltip-content]_&amp;]:text-background dark:[[data-slot=tooltip-content]_&amp;]:bg-background/10">⌘</kbd><kbd data-slot="kbd" class="text-muted-foreground border-border/60 bg-muted/50 pointer-events-none inline-flex h-4 w-fit min-w-4 items-center justify-center rounded-[3px] border px-1 font-mono text-[10px] select-none [&amp;_svg:not([class*=&#x27;
1537size-&#x27;])]:size-3 [[data-slot=tooltip-content]_&amp;]:bg-background/20 [[data-slot=tooltip-content]_&amp;]:text-background dark:[[data-slot=tooltip-content]_&amp;]:bg-background/10">I</kbd></kbd></button><a href="https://cloud.assistant-ui.com" target="_blank" rel="noopener noreferrer" role="button" tabindex="0" data-slot="button" data-header-cloud="" class="group/button focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 inline-flex shrink-0 items-center justify-center border border-transparent bg-clip-padding font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:ring-1 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:ring-1 [&amp;_svg]:pointer-events-none [&amp;_svg]:shrink-0 bg-primary text-primary-foreground hover:bg-primary/80 h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&amp;_svg:not([class*=&#x27;size-&#x27;])]:size-3.5 max-[340px]:hidden">Cloud</a><button type="button" class="text-muted-foreground hover:text-foreground flex size-8 items-center justify-center transition-colors lg:hidden" aria-label="Toggle menu"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-menu size-5" aria-hidden="true"><path d="M4 5h16"></path><path d="M4 12h16"></path><path d="M4 19h16"></path></svg></button></div></div><div class="bg-background fixed inset-x-0 top-12 bottom-0 z-40 transition-opacity duration-200 lg:hidden pointer-events-none opacity-0"><div class="flex h-full flex-col gap-1 overflow-y-auto px-4 pt-4"><a class="text-foreground py-3 text-lg transition-colors" href="/components">Components</a><a class="text-foreground py-3 text-lg transition-colors" href="/docs">Docs</a><div class="flex flex-col"><span class="text-foreground py-3 text-lg">Products</span><div class="flex flex-col"><span class="text-muted-foreground py-3 text-xs font-medium">Platforms</span><a class="text-foreground py-2 pl-4 text-lg transition-colors" href="/docs">React</a><a class="text-foreground py-2 pl-4 text-lg transition-colors" href="/native">React Native</a><a class="text-foreground py-2 pl-4 text-lg transition-colors" href="/ink">Ink</a></div><div class="flex flex-col"><span class="text-muted-foreground py-3 text-xs font-medium">Hosted</span><a href="https://cloud.assistant-ui.com" target="_blank" rel="noopener noreferrer" class="text-foreground flex items-center gap-1.5 py-2 pl-4 text-lg transition-colors">Cloud<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up-right size-3.5 opacity-40" aria-hidden="true"><path d="M7 7h10v10"></path><path d="M7 17 17 7"></path></svg></a><a class="text-foreground py-2 pl-4 text-lg transition-colors" href="/playground">Playground</a></div><div class="flex flex-col"><span class="text-muted-foreground py-3 text-xs font-medium">Primitives</span><a class="text-foreground py-2 pl-4 text-lg transition-colors" href="/tw-shimmer">tw-shimmer</a><a class="text-foreground py-2 pl-4 text-lg transition-colors" href="/heat-graph">Heat Graph</a><a class="text-foreground py-2 pl-4 text-lg transition-colors" href="/safe-content-frame">Safe Content Frame</a><a class="text-foreground py-2 pl-4 text-lg transition-colors" href="/react-o11y">react-o11y</a></div></div><div class="flex flex-col"><span class="text-foreground py-3 text-lg">Resources</span><div class="flex flex-col"><span class="text-muted-foreground py-3 text-xs font-medium">Learn</span><a class="text-foreground py-2 pl-4 text-lg transition-colors" href="/learn">Interactive course</a><a class="text-foreground py-2 pl-4 text-lg transition-colors" href="/changelog">Changelog</a><a class="text-foreground py-2 pl-4 text-lg transition-colors" href="/showcase">Showcase</a><a class="text-foreground py-2 pl-4 text-lg transition-colors" href="/oss">Open source</a><a class="text-foreground py-2 pl-4 text-lg transition-colors" href="/packages">Packages</a></div><div class="flex flex-col"><span class="text-muted-foreground py-3 text-xs font-medium">Company</span><a class="text-foreground py-2 pl-4 text-lg transition-colors" href="/blog">Blog</a><a class="text-foreground py-2 pl-4 text-lg transition-colors" href="/careers">Careers</a><a class="text-foreground py-2 pl-4 text-lg transition-colors" href="/brand">Brand</a><a class="text-foreground py-2 pl-4 text-lg transition-colors" href="/traction">Traction</a><a href="https://status.assistant-ui.com" target="_blank" rel="noopener noreferrer" class="text-foreground flex items-center gap-1.5 py-2 pl-4 text-lg transition-colors">Status<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up-right size-3.5 opacity-40" aria-hidden="true"><path d="M7 7h10v10"></path><path d="M7 17 17 7"></path></svg></a></div></div><a class="text-foreground py-3 text-lg transition-colors" href="/pricing">Pricing</a><div class="mt-auto flex flex-col gap-4 border-t py-6"><a href="https://cloud.assistant-ui.com" target="_blank" rel="noopener noreferrer" role="button" tabindex="0" data-slot="button" class="group/button focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 inline-flex shrink-0 items-center justify-center border border-transparent bg-clip-padding font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:ring-1 active:not-aria-[haspopup]:translate-y-
1537px disabled:pointer-events-none disabled:opacity-50 aria-invalid:ring-1 [&amp;_svg]:pointer-events-none [&amp;_svg]:shrink-0 bg-primary text-primary-foreground hover:bg-primary/80 h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&amp;_svg:not([class*=&#x27;size-&#x27;])]:size-3.5 w-fit">Cloud</a><div class="flex gap-4"><a href="https://github.com/assistant-ui/assistant-ui" target="_blank" rel="noopener noreferrer" class="text-muted-foreground hover:text-foreground flex items-center gap-2 transition-colors"><svg aria-hidden="true" viewBox="0 0 24 24" class="size-5" fill="currentColor"><path d="M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z"></path></svg></a><a href="https://discord.gg/S9dwgCNEFs" target="_blank" rel="noopener noreferrer" class="text-muted-foreground hover:text-foreground flex items-center gap-2 transition-colors"><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 127.14 96.36" class="size-5"><path fill="currentColor" d="M107.7,8.07A105.15,105.15,0,0,0,81.47,0a72.06,72.06,0,0,0-3.36,6.83A97.68,97.68,0,0,0,49,6.83,72.37,72.37,0,0,0,45.64,0,105.89,105.89,0,0,0,19.39,8.09C2.79,32.65-1.71,56.6.54,80.21h0A105.73,105.73,0,0,0,32.71,96.36,77.7,77.7,0,0,0,39.6,85.25a68.42,68.42,0,0,1-10.85-5.18c.91-.66,1.8-1.34,2.66-2a75.57,75.57,0,0,0,64.32,0c.87.71,1.76,1.39,2.66,2a68.68,68.68,0,0,1-10.87,5.19,77,77,0,0,0,6.89,11.1A105.25,105.25,0,0,0,126.6,80.22h0C129.24,52.84,122.09,29.11,107.7,8.07ZM42.45,65.69C36.18,65.69,31,60,31,53s5-12.74,11.43-12.74S54,46,53.89,53,48.84,65.69,42.45,65.69Zm42.24,0C78.41,65.69,73.25,60,73.25,53s5-12.74,11.44-12.74S96.23,46,96.12,53,91.08,65.69,84.69,65.69Z"></path></svg></a></div></div></div></div></nav></header><!--&--><!--&--><main class="mx-auto w-full max-w-7xl px-4 pt-16 pb-32 md:pt-20"><header class="max-w-2xl"><h1 class="font-display text-3xl font-[550] tracking-[-0.01em] text-balance md:text-4xl">What we&#x27;re shipping.</h1><p class="text-muted-foreground text-[15px] leading-relaxed text-pretty mt-4 max-w-[52ch]">Announcements and writing from the team.</p></header>
1537<div class="border-foreground/10 mt-16 border-t md:mt-20"><div class="border-foreground/10 border-b"><a class="group block py-10 md:py-14" href="/blog/2026-03-launch-week"><span class="grid gap-10 md:grid-cols-[minmax(0,1fr)_minmax(0,30rem)] md:items-center md:gap-16"><span class="block"><span class="text-muted-foreground block text-sm"><time dateTime="2026-03-09T12:00:00.000Z">Mar 9, 2026</time><span class="text-muted-foreground/40"> · </span>Simon Farshid</span><span class="font-display text-[1.5rem] leading-snug font-[550] tracking-[-0.01em] text-balance lg:text-[1.75rem] mt-3 block">Launch Week: assistant-ui goes multi-platform<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up-right ms-1.5 mb-0.5 inline size-4 opacity-0 transition-opacity group-hover:opacity-50" aria-hidden="true"><path d="M7 7h10v10"></path><path d="M7 17 17 7"></path></svg></span><span class="text-muted-foreground mt-3 block max-w-[52ch] text-[15px] leading-relaxed text-pretty">React Native, terminal UIs, and more. assistant-ui is no longer just for the web.</span></span><span class="block">
1537<span class="border-foreground/10 group-hover:border-foreground/25 block border transition-colors"><span aria-hidden="true" class="relative block aspect-[32/25] overflow-hidden"><span class="from-foreground/[0.04] absolute inset-0 bg-gradient-to-b to-transparent"></span><pre class="pointer-events-none absolute top-1/2 left-1/2 w-max -translate-x-1/2 -translate-y-1/2 font-mono text-[10px] leading-[1.25] font-medium tracking-normal whitespace-pre select-none text-foreground/35 group-hover:text-foreground/45 transition-colors">             ,                        =::                         =:            
1538                                   =:=                             =::         :
1539           ,          .:         ==:            ### =##=               =        
1540                      :         :           #  =        # ##          = =       
1541                        .      :     .   ###    .           ##=#        =       
1542           .         ::        :        #=#                     =               
1543                    ..       =:=       =        #@@ @#@@#       ##       ==:    
1544                    :.       =:        =      ##        ###      #=             
1545                   .:         =      ###     @#           @      #        ==    
1546         ,          .                # =    .@#   signal  @@     #==       ::   
1547  .       .        ::                # #      @           #@      #=      ::    
1548          ,        :::       ==       ==      @@#       @@@      ##       :=    
1549         ..         .         ::       #=       @ @@@@##@      .##        :     
1550          ,          .:            .     #= web               # #         :     
1551                     :         =:        ###=               ==##        ==      
1552            ,         .         ::=.        == ==       ###=#    .    =:=       
1553                                                #### # ==         .    =    .   
1554            ,           :     react-native                        =  :         :
1555              .              .       :::=                         =          :. 
1556                .         .:            :==  =             === =        .   . . 
1557         .     . .          :                 ==:=:=   =:: =              : :   
1558                  .           .  .     .                                :.      
1559                  .                                                 .:..        
1560                  terminal          :                          :.      .        
1561          .            ,                 : .     :..   :     .                  
1562                        ..,.                       ...                          
1563                            ,. .                                                
1564    beyond the web               ,                 .                    , .     
1565                                  ... .                            , .    .     
1566                                        . ,      .          . , ,               </pre><pre class="pointer-events-none absolute top-1/2 left-1/2 w-max -translate-x-1/2 -translate-y-1/2 font-mono text-[10px] leading-[1.25] font-medium tracking-normal whitespace-pre select-none text-foreground/75">                                                                                
1567                                                                                
1568                                                                                
1569                                                                                
1570                                                                                
1571                                                                                
1572                                                                                
1573                                                                                
1574                                                                                
1575                                                                                
1576                                                                                
1577                                                                                
1578                                                                                
1579                                            web                                 
1580                                                                                
1581                                                                                
1582                                                                                
1583                              react-native                                      
1584                                                                                
1585                                                                                
1586                                                                                
1587                                                                                
1588                                                                                
1589                  terminal                                                      
1590                                                                                
1591                                                                                
1592                                                                                
1593                                                                                
1594                                                                                
1595                                                                                </pre><pre class="pointer-events-none absolute top-1/2 left-1/2 w-max -translate-x-1/2 -translate-y-1/2 font-mono text-[10px] leading-[1.25] font-medium tracking-normal whitespace-pre select-none text-blue-500 animate-pulse motion-reduce:animate-none">                                                                                
1596                                                                                
1597                                                                                
1598                                                                                
1599                                                                                
1600                                                                                
1601                                                                                
1602                                                                                
1603                                                                                
1604                                                  signal                        
1605                                                                                
1606                                                                                
1607                                                                                
1608                                                                                
1609                                                                                
1610                                                                                
1611                                                                                
1612                                                                                
1613                                                                                
1614                                                                                
1615                                                                                
1616                                                                                
1617                                                                                
1618                                                                                
1619                                                                                
1620                                                                                
1621                                                                                
1622                                                                                
1623                                                                                
1624                                                                                </pre></span></span>
1624<span class="text-muted-foreground/70 mt-2 flex items-baseline justify-between font-mono text-[11px] tracking-wide"><span>fig. <!-- -->05</span><span>the signal leaves</span></span></span></span></a></div><div class="border-foreground/10 divide-foreground/10 grid border-b md:divide-x divide-y md:divide-y-0 md:grid-cols-[7fr_5fr]"><a class="group grid content-center gap-8 py-8 md:px-8 md:py-10 md:first:ps-0 md:last:pe-0 md:grid-cols-[minmax(0,1fr)_minmax(0,18rem)]" href="/blog/2025-01-31-changelog"><span class="block self-center"><span class="block"><span class="text-muted-foreground block text-xs"><time dateTime="2025-01-31T12:00:00.000Z">Jan 31, 2025</time><span class="text-muted-foreground/40"> · </span>Simon Farshid</span><span class="mt-2 block text-lg leading-snug font-medium text-balance">January 2025 Changelog<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up-right ms-1.5 mb-0.5 inline size-3.5 opacity-0 transition-opacity group-hover:opacity-50" aria-hidden="true"><path d="M7 7h10v10"></path><path d="M7 17 17 7"></path></svg></span><span class="text-muted-foreground mt-2 line-clamp-3 block text-sm leading-relaxed">shadcn/ui, Thread Management, Improvements to AI SDK and LangGraph support</span></span></span><span class="block">
1624<span class="border-foreground/10 group-hover:border-foreground/25 block border transition-colors"><span aria-hidden="true" class="relative block aspect-[32/25] overflow-hidden"><span class="from-foreground/[0.04] absolute inset-0 bg-gradient-to-b to-transparent"></span><pre class="pointer-events-none absolute top-1/2 left-1/2 w-max -translate-x-1/2 -translate-y-1/2 font-mono text-[10px] leading-[1.25] font-medium tracking-normal whitespace-pre select-none text-foreground/35 group-hover:text-foreground/45 transition-colors">    -   =                                   -       -           -           -   
1625      -   =                  -  = =           -  -    -           = =         - 
1626   -    -                   =  =  - -           -  =    =             -  -      
1627     = =  -              =  = -  -- - =           =  -    ==            -  -    
1628    -  - -        -        =  =     - = =           -       ==           -   -  
1629      =-         =  =   -    =  =   =   =             -   =    -           -    
1630         =       = =      =    =  =   -   ==                -    =  -           
1631        -  =   -   - -     -=    -          --                     =  -  = =    
1632          -  =   @assistant-ui/react          --                        =  - =  
1633            = -=   -   - -     -  =  =    =     = -                 =        - -
1634-               --=      =       -  -   =   -       -                 -        =
1635  -               = -  =                  10,000 a week        -                
1636    =               = -  -   =              =   ==               =              
1637      =-                   -   =   -          -    -                            
1638        ==            =      =   -   -               -             -            
1639           =            =          =   = -                           -          
1640-     =      -            =                -                           -       -
1641  =   - =                          -         -                           -==  = 
1642        - -                   -      -                         -            --  
1643          = -                   -     =-                         =            =-
1644     =                        shipped   -=                         =            
1645       =                                  -                        ~      = =   
1646         -                                                   =   =   == ++  += =
1647 ~ =~ ===                                                = ==  +== == =++== +   
1648 == =+====    = =                                       ~+=== == =##++#  #+ # #+
1649= =   ===++= = ===  =                            ==    ==  =+## ##+####+#### #++
1650+#+ # ##+ #===== =                          ==~~~ thirty-six releases#####+#####
1651++++ #++##+###+## =  =       = =   =      ~   +  == =#### ++#+#######++++ ##+#++
1652+#+####+++++#####+# # += =+  ====  =++  =+  +=+  +#+#+###+# #+#+++###+### ### #+
1653# ######+##+ +##+####+ #++# +  ==== = ++===###+########+##+##++##+ +#   ########</pre><pre class="pointer-events-none absolute top-1/2 left-1/2 w-max -translate-x-1/2 -translate-y-1/2 font-mono text-[10px] leading-[1.25] font-medium tracking-normal whitespace-pre select-none text-foreground/75">                                                                                
1654                                                                                
1655                                                                                
1656                                                                                
1657                                                                                
1658                                                                                
1659                                                                                
1660                                                                                
1661                 @assistant-ui/react                                            
1662                                                                                
1663                                                                                
1664                                          10,000 a week                         
1665                                                                                
1666                                                                                
1667                                                                                
1668                                                                                
1669                                                                                
1670                                                                                
1671                                                                                
1672                                                                                
1673                                                                                
1674                                                                                
1675                                                                                
1676                                                                                
1677                                                                                
1678                                                                                
1679                                                                                
1680                                                                                
1681                                                                                
1682                                                                                </pre><pre class="pointer-events-none absolute top-1/2 left-1/2 w-max -translate-x-1/2 -translate-y-1/2 font-mono text-[10px] leading-[1.25] font-medium tracking-normal whitespace-pre select-none text-blue-500">                                                                                
1683                                                                                
1684                                                                                
1685                                                                                
1686                                                                                
1687                                                                                
1688                                                                                
1689                                                                                
1690                                                                                
1691                                                                                
1692                                                                                
1693                                                                                
1694                                                                                
1695                                                                                
1696                                                                                
1697                                                                                
1698                                                                                
1699                                                                                
1700                                                                                
1701                                                                                
1702                              shipped                                           
1703                                                                                
1704                                                                                
1705                                                                                
1706                                                                                
1707                                                                                
1708                                                                                
1709                                                                                
1710                                                                                
1711                                                                                </pre></span></span>
1711<span class="text-muted-foreground/70 mt-2 flex items-baseline justify-between font-mono text-[11px] tracking-wide"><span>fig. <!-- -->04</span><span>what january shipped</span></span></span></a><a href="https://medium.com/relta/github-assistant-49ae388ad758" target="_blank" rel="noopener noreferrer" class="group flex h-full flex-col py-8 md:px-8 md:py-10 md:first:ps-0 md:last:pe-0"><span class="block"><span class="text-muted-foreground block text-xs"><time dateTime="2024-12-15T12:00:00.000Z">Dec 15, 2024</time><span class="text-muted-foreground/40"> · </span>Amir Zohrenejad</span><span class="mt-2 block text-lg leading-snug font-medium text-balance">Announcing github-assistant<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up-right ms-1.5 mb-0.5 inline size-3.5 opacity-0 transition-opacity group-hover:opacity-50" aria-hidden="true"><path d="M7 7h10v10"></path><path d="M7 17 17 7"></path></svg></span><span class="text-muted-foreground mt-2 line-clamp-3 block text-sm leading-relaxed">github-assistant answers questions about your GitHub repositories.</span></span><span class="block mt-8 md:mt-auto md:pt-8">
1711<span class="border-foreground/10 group-hover:border-foreground/25 block border transition-colors"><span aria-hidden="true" class="relative block aspect-[32/25] overflow-hidden"><span class="from-foreground/[0.04] absolute inset-0 bg-gradient-to-b to-transparent"></span><pre class="pointer-events-none absolute top-1/2 left-1/2 w-max -translate-x-1/2 -translate-y-1/2 font-mono text-[10px] leading-[1.25] font-medium tracking-normal whitespace-pre select-none text-foreground/35 group-hover:text-foreground/45 transition-colors">                                                                                
1712    #                        #     #          .                                 
1713    #    #            #      @     #      #      @      @     @      @          
1714    :    #      @     @      :     =       @     @.     # git log    @          
1715    :    :      @     =     .=     =      =      =.     :     :      :      #   
1716    :    =      :     :      : .   =      =      :      =    :       =      @   
1717    :    :      :     =      :     :      =      =      =     =      =     :    
1718    =    :      =     =      :     :      =    . =.     =     =      =     =.   
1719    =  .  :     :     :      =     =      :   .  =      :     :      =     :    
1720    :     :     :     :            =      :      =      :    =       :     :    
1721    :           =     :            :      =      :      :    =       :     =    
1722     .    .     :     =      .     =      :             :    =             =    
1723     .    .     :     =      :     =                                ..     :    
1724                =     =      .   . =                                 .     =    
1725          . .   =      =     .         where was this changed?            =     
1726 .   .          :      .                                             :    .     
1727      .         :                   :                                           
1728                .                   .         answer                 .   .      
1729                        .                                                .      
1730                        :           :                                           
1731                .                   .                                           
1732                .      .                  :                              .      
1733                       :             .    .                                     
1734                       .             .    .             .                .      
1735                .      .                          .     .                       
1736                                          .                                     
1737                                          .                                     
1738      commits, issues, diffs                                   .                
1739      .                                   :   .                                 
1740                                                     ..       .     .           </pre><pre class="pointer-events-none absolute top-1/2 left-1/2 w-max -translate-x-1/2 -translate-y-1/2 font-mono text-[10px] leading-[1.25] font-medium tracking-normal whitespace-pre select-none text-foreground/75">                                                                                
1741                                                                                
1742                                                                                
1743                                                                                
1744                                                                                
1745                                                                                
1746                                                                                
1747                                                                                
1748                                                                                
1749                                                                                
1750                                                                                
1751                                                                                
1752                                                                                
1753                                                                                
1754                                       where was this changed?                  
1755                                                                                
1756                                                                                
1757                                                                                
1758                                                                                
1759                                                                                
1760                                                                                
1761                                                                                
1762                                                                                
1763                                                                                
1764                                                                                
1765                                                                                
1766                                                                                
1767                                                                                
1768                                                                                
1769                                                                                </pre><pre class="pointer-events-none absolute top-1/2 left-1/2 w-max -translate-x-1/2 -translate-y-1/2 font-mono text-[10px] leading-[1.25] font-medium tracking-normal whitespace-pre select-none text-blue-500">                                                                                
1770                                                                                
1771                                                                                
1772                                                                                
1773                                                                                
1774                                                                                
1775                                                                                
1776                                                                                
1777                                                                                
1778                                                                                
1779                                                                                
1780                                                                                
1781                                                                                
1782                                                                                
1783                                                                                
1784                                                                                
1785                                                                                
1786                                              answer                            
1787                                                                                
1788                                                                                
1789                                                                                
1790                                                                                
1791                                                                                
1792                                                                                
1793                                                                                
1794                                                                                
1795                                                                                
1796                                                                                
1797                                                                                
1798                                                                                </pre></span></span>
1798<span class="text-muted-foreground/70 mt-2 flex items-baseline justify-between font-mono text-[11px] tracking-wide"><span>fig. <!-- -->03</span><span>the stacks speak</span></span></span></a></div><div class="border-foreground/10 divide-foreground/10 grid border-b md:divide-x divide-y md:divide-y-0 md:grid-cols-[5fr_7fr]"><a href="https://www.langchain.com/blog/assistant-ui" target="_blank" rel="noopener noreferrer" class="group flex h-full flex-col py-8 md:px-8 md:py-10 md:first:ps-0 md:last:pe-0"><span class="block mb-6"><span class="border-foreground/10 group-hover:border-foreground/25 block border transition-colors"><span aria-hidden="true" class="relative block aspect-[32/25] overflow-hidden"><span class="from-foreground/[0.04] absolute inset-0 bg-gradient-to-b to-transparent"></span><pre class="pointer-events-none absolute top-1/2 left-1/2 w-max -translate-x-1/2 -translate-y-1/2 font-mono text-[10px] leading-[1.25] font-medium tracking-normal whitespace-pre select-none text-foreground/35 group-hover:text-foreground/45 transition-colors">,,   ,             ..                           ,:                              
1799    .:.     ,::,   .  .                    .                                    
1800   :    ,                                      .             .                  
1801   .          .,                ,.      :       :                       :  :    
1802 :  nodes and edges         ..,                         .     ,                 
1803  :                               ...                              .            
1804            ,                   .                     . . ####                  
1805:::      .    :                     :     :  :         +=#@@@#                  
1806          , .          ,                :           +==     #                   
1807    :                                            +==                            
1808.      :..:.,                                ###agent              :            
1809 .  :  :        , ::            :.          #@@@#                   .           
1810      .          StateGraph        ..  .    +## #                  .            
1811    .   ,                ..                +        :                           
1812                               . ,        +                   .        .  .     
1813.,.           .  : ##.                  +=                                      
1814            ..      @=#     ,          +    :,                                  
1815                   +##+               +     .                             .     
1816     :            +    +:        #  +=             .            :               
1817              +===      +======#=@=#                                            
1818       ,.    +           .      ###                                             
1819       , #===      .                   ,         ..                             
1820       @@ #                 . ,    .interrupt()                                 
1821      ..#         ,  .                                             .            
1822 :        .  .                            ,                                     
1823                                         .:           .                         
1824  ,    .                                .                    .    ,             
1825.                     ,                                  ,                      
1826      :.                                                               :        
1827                :       .                                                       </pre><pre class="pointer-events-none absolute top-1/2 left-1/2 w-max -translate-x-1/2 -translate-y-1/2 font-mono text-[10px] leading-[1.25] font-medium tracking-normal whitespace-pre select-none text-foreground/75">                                                                                
1828                                                                                
1829                                                                                
1830                                                                                
1831                                                                                
1832                                                                                
1833                                                                                
1834                                                                                
1835                                                                                
1836                                                                                
1837                                                                                
1838                                                                                
1839                 StateGraph                                                     
1840                                                                                
1841                                                                                
1842                                                                                
1843                                                                                
1844                                                                                
1845                                                                                
1846                                                                                
1847                                                                                
1848                                                                                
1849                                    interrupt()                                 
1850                                                                                
1851                                                                                
1852                                                                                
1853                                                                                
1854                                                                                
1855                                                                                
1856                                                                                </pre><pre class="pointer-events-none absolute top-1/2 left-1/2 w-max -translate-x-1/2 -translate-y-1/2 font-mono text-[10px] leading-[1.25] font-medium tracking-normal whitespace-pre select-none text-blue-500">                                                                                
1857                                                                                
1858                                                                                
1859                                                                                
1860                                                                                
1861                                                                                
1862                                                                                
1863                                                                                
1864                                                                                
1865                                                                                
1866                                                agent                           
1867                                                                                
1868                                                                                
1869                                                                                
1870                                                                                
1871                                                                                
1872                                                                                
1873                                                                                
1874                                                                                
1875                                                                                
1876                                                                                
1877                                                                                
1878                                                                                
1879                                                                                
1880                                                                                
1881                                                                                
1882                                                                                
1883                                                                                
1884                                                                                
1885                                                                                </pre></span></span>
1885<span class="text-muted-foreground/70 mt-2 flex items-baseline justify-between font-mono text-[11px] tracking-wide"><span>fig. <!-- -->02</span><span>a graph wakes</span></span></span><span class="block"><span class="text-muted-foreground block text-xs"><time dateTime="2024-09-11T12:00:00.000Z">Sep 11, 2024</time><span class="text-muted-foreground/40"> · </span>Harrison Chase</span><span class="mt-2 block text-lg leading-snug font-medium text-balance">Build conversational AI agents with LangGraph and assistant-ui<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up-right ms-1.5 mb-0.5 inline size-3.5 opacity-0 transition-opacity group-hover:opacity-50" aria-hidden="true"><path d="M7 7h10v10"></path><path d="M7 17 17 7"></path></svg></span><span class="text-muted-foreground mt-2 line-clamp-3 block text-sm leading-relaxed">Announcing our collaboration with LangChain</span></span></a><a class="group grid content-center gap-8 py-8 md:px-8 md:py-10 md:first:ps-0 md:last:pe-0 md:grid-cols-[minmax(0,18rem)_minmax(0,1fr)]" href="/blog/2024-07-29-hello"><span class="block">
1885<span class="border-foreground/10 group-hover:border-foreground/25 block border transition-colors"><span aria-hidden="true" class="relative block aspect-[32/25] overflow-hidden"><span class="from-foreground/[0.04] absolute inset-0 bg-gradient-to-b to-transparent"></span><pre class="pointer-events-none absolute top-1/2 left-1/2 w-max -translate-x-1/2 -translate-y-1/2 font-mono text-[10px] leading-[1.25] font-medium tracking-normal whitespace-pre select-none text-foreground/35 group-hover:text-foreground/45 transition-colors"> @@@#####@##@## ###@@    #        #####   ###@#@@######@##@###@######@#   #@@   
1886####@##@@ ######  ######@#########@####@#@@#@@@#####   @@#@###       #@@###     
1887    open source  ###@#     @     ###@#@#####   ###@@@##   ##@@#@#@#@#@@@###@###@
1888 #@##########@#######@###     @@### @##@#  ##@##    ##@###@#     @           @#@
1889 ###     #    @@@  @      ####   ####  #@#@#@@ ###@  ###@#    ###@@      ###@###
1890  +==                   =  =  ==+  #=   =+=+# == == =+##                 =    +#
1891#       #=#  =  ==       #==#+=== ==#     #=                      =  ==        =
1892                         ++        =                    =    =   ==        =+#= 
1893  =                  =+  ===  ==#= +   =+        ==                =#           
1894  :: : :       :+    =+       +        :   =:                :        +      :: 
1895  =              &lt;Thread /&gt;              +:::  :=   +              :=           
1896   :=       :=    :        ::           =: :             :        ==+    +      
1897         :=         +   :   ::+:                  :           :    :           :
1898 .            .        ,  ,        .                 ###@###                    
1899                ,             hello.   .          ##@@@@@@@@@##,                
1900                                       ,     . .###@@@@@@@@@@@###      ,        
1901                                        .      ##@@@@@@@@@@@@@@@##              
1902                                             .###@@@@@@@@@@@@@@@###             
1903 ==  ========_==_ =====_=__=_ ========== ==_======_==_====  =====_==_====_====_ 
1904              ::: ::                        :: :  : :                          :
1905             ::  :::: :: :                :   ::    : :::                  :  ::
1906   --  : :   :  :        ::           :  ::   ::--:--   ::::   for React : :::  
1907:  -:::: -::   : npx assistant-ui init :: :::  - -:-  :  : ::   ::  ::: :       
1908  ::: : : :-  :    :    :: :::    : : :      :  --    -- :-:::   :::: : :       
1909-:    :-:: : -:  -:     :    : :  :   -     :--        : ::  -:  ::   ::   :  ::
1910- :   :.-.- :  :   :-- ::      -.  :- --- -:::      -    :-. :-:  :--     :  - -
1911 :   :.-.... - --     -   -:--:.-:     .-   -           ...  ::- -. :-:-- -- :  
1912 .:   -.  . . .       -   - .-.-:.:-.    .:         -.     . -: . ...-     ::-- 
1913 .  .     :   -.    .  -- .  -  -      :  .: ..:   . .    . .:   : :.-.   -    -
1914    . .  :   .-.   :.     - -        -        . ..  .       -  :..  ..-   .::  .</pre><pre class="pointer-events-none absolute top-1/2 left-1/2 w-max -translate-x-1/2 -translate-y-1/2 font-mono text-[10px] leading-[1.25] font-medium tracking-normal whitespace-pre select-none text-foreground/75">                                                                                
1915                                                                                
1916                                                                                
1917                                                                                
1918                                                                                
1919                                                                                
1920                                                                                
1921                                                                                
1922                                                                                
1923                                                                                
1924                 &lt;Thread /&gt;                                                     
1925                                                                                
1926                                                                                
1927                                                                                
1928                                                                                
1929                                                                                
1930                                                                                
1931                                                                                
1932                                                                                
1933                                                                                
1934                                                                                
1935                                                                                
1936                 npx assistant-ui init                                          
1937                                                                                
1938                                                                                
1939                                                                                
1940                                                                                
1941                                                                                
1942                                                                                
1943                                                                                </pre><pre class="pointer-events-none absolute top-1/2 left-1/2 w-max -translate-x-1/2 -translate-y-1/2 font-mono text-[10px] leading-[1.25] font-medium tracking-normal whitespace-pre select-none text-blue-500">                                                                                
1944                                                                                
1945                                                                                
1946                                                                                
1947                                                                                
1948                                                                                
1949                                                                                
1950                                                                                
1951                                                                                
1952                                                                                
1953                                                                                
1954                                                                                
1955                                                                                
1956                                                                                
1957                              hello                                             
1958                                                                                
1959                                                                                
1960                                                                                
1961                                                                                
1962                                                                                
1963                                                                                
1964                                                                                
1965                                                                                
1966                                                                                
1967                                                                                
1968                                                                                
1969                                                                                
1970                                                                                
1971                                                                                
1972                                                                                </pre></span></span><span class="text-muted-foreground/70 mt-2 flex items-baseline justify-between font-mono text-[11px] tracking-wide"><span>fig. <!-- -->01</span><span>first light</span></span></span><span class="block self-center"><span class="block"><span class="text-muted-foreground block text-xs"><time dateTime="2024-07-29T12:00:00.000Z">Jul 29, 2024</time><span class="text-muted-foreground/40"> · </span>Simon Farshid</span><span class="mt-2 block text-lg leading-snug font-medium text-balance">Hello, assistant-ui<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up-right ms-1.5 mb-0.5 inline size-3.5 opacity-0 transition-opacity group-hover:opacity-50" aria-hidden="true"><path d="M7 7h10v10"></path><path d="M7 17 17 7"></path></svg></span><span class="text-muted-foreground mt-2 line-clamp-3 block text-sm leading-relaxed">assistant-ui is an open-source AI chat component for React.</span></span></span></a></div></div><footer class="mt-24"><a class="text-muted-foreground hover:text-foreground group inline-flex items-center gap-1.5 text-sm transition-colors" href="/changelog">Every package release<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up-right size-3.5 transition-transform group-hover:translate-x-0.5 group-hover:-translate-y-0.5" aria-hidden="true"><path d="M7 7h10v10"></path><path d="M7 17 17 7"></path></svg></a></footer></main><!--$--><!--/$--><!--/&--><!--/&--><footer class="rounded-page py-10 md:py-16"><div class="mx-auto flex w-full max-w-7xl flex-col gap-10 px-4"><div class="grid grid-cols-2 gap-x-8 gap-y-8 sm:grid-cols-3 lg:grid-cols-6"><div class="flex flex-col gap-3"><p class="text-muted-foreground text-xs font-medium">Library</p><a class="text-muted-foreground hover:text-foreground text-sm transition-colors" href="/docs">Docs</a><a class="text-muted-foreground hover:text-foreground text-sm transition-colors" href="/changelog">Changelog</a><a class="text-muted-foreground hover:text-foreground text-sm transition-colors" href="/playground">Playground</a></div><div class="flex flex-col gap-3"><p class="text-muted-foreground text-xs font-medium">Platforms</p><a class="text-muted-foreground hover:text-foreground text-sm transition-colors" href="/docs">React</a><a class="text-muted-foreground hover:text-foreground text-sm transition-colors" href="/native">React Native</a><a class="text-muted-foreground hover:text-foreground text-sm transition-colors" href="/ink">Ink</a></div><div class="flex flex-col gap-3"><p class="text-muted-foreground text-xs font-medium">Extend</p><a class="text-muted-foreground hover:text-foreground text-sm transition-colors" href="/components">Components</a><a class="text-muted-foreground hover:text-foreground text-sm transition-colors" href="/elements">Elements</a><a class="text-muted-foreground hover:text-foreground text-sm transition-colors" href="/design">Design</a></div><div class="flex flex-col gap-3"><p class="text-muted-foreground text-xs font-medium">Primitives</p><a class="text-muted-foreground hover:text-foreground text-sm transition-colors" href="/tw-shimmer">tw-shimmer</a><a class="text-muted-foreground hover:text-foreground text-sm transition-colors" href="/heat-graph">Heat Graph</a><a class="text-muted-foreground hover:text-foreground text-sm transition-colors" href="/safe-content-frame">Safe Content Frame</a><a class="text-muted-foreground hover:text-foreground text-sm transition-colors" href="/react-o11y">react-o11y</a></div><div class="flex flex-col gap-3"><p class="text-muted-foreground text-xs font-medium">Resources</p><a class="text-muted-foreground hover:text-foreground text-sm transition-colors" href="/examples">Examples</a><a class="text-muted-foreground hover:text-foreground text-sm transition-colors" href="/showcase">Showcase</a><a class="text-muted-foreground hover:text-foreground text-sm transition-colors" href="/oss">Open source</a><a class="text-muted-foreground hover:text-foreground text-sm transition-colors" href="/packages">Packages</a></div><div class="flex flex-col gap-3"><p class="text-muted-foreground text-xs font-medium">Company</p><a class="text-muted-foreground hover:text-foreground text-sm transition-colors" href="/blog">Blog</a><a class="text-muted-foreground hover:text-foreground text-sm transition-colors" href="/careers">Careers</a><a class="text-muted-foreground hover:text-foreground text-sm transition-colors" href="/brand">Brand</a><a class="text-muted-foreground hover:text-foreground text-sm transition-colors" href="/traction">Traction</a><a class="text-muted-foreground hover:text-foreground text-sm transition-colors" href="/pricing">Pricing</a></div></div><div class="text-muted-foreground flex flex-col gap-3 border-t pt-6 text-sm sm:flex-row sm:items-center sm:justify-between"><div class="text-muted-foreground flex flex-wrap items-center gap-x-4 gap-y-1 text-sm"><a href="https://www.agentbase.dev" target="_blank" rel="noopener noreferrer" class="hover:text-foreground transition-colors">© <!-- -->2026<!-- --> AgentbaseAI Inc.</a><div class="flex items-center gap-2"><a class="hover:text-foreground transition-colors" href="/privacy-policy">Privacy</a><span aria-hidden="true">·</span><a class="hover:text-foreground transition-colors" href="/terms-of-service">Terms</a><span aria-hidden="true">·</span><button type="button" class="cursor-pointer hover:text-foreground transition-colors">Cookie settings</button></div></div><div class="flex flex-wrap items-center gap-4"><a href="https://status.assistant-ui.com" target="_blank" rel="noopener noreferrer" class="text-muted-foreground hover:text-foreground flex items-center gap-2 text-sm transition-colors">Status</a><div class="flex flex-wrap items-center gap-1.5"><a href="https://x.com/assistantui" target="_blank" rel="noopener noreferrer" class="hover:text-foreground flex size-7 items-center justify-center transition-colors" aria-label="X (Twitter)"><svg aria-hidden="true" class="size-4" viewBox="0 0 24 24" fill="currentColor"><path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"></path></svg></a><a href="https://github.com/assistant-ui/assistant-ui" target="_blank" rel="noopener noreferrer" class="hover:text-foreground flex size-7 items-center justify-center transition-colors" aria-label="GitHub"><svg aria-hidden="true" viewBox="0 0 24 24" class="size-4" fill="currentColor"><path d="M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z"></path></svg></a><a href="https://discord.gg/S9dwgCNEFs" target="_blank" rel="noopener noreferrer" class="hover:text-foreground flex size-7 items-center justify-center transition-colors" aria-label="Discord"><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 127.14 96.36" class="size-4">
1972<path fill="currentColor" d="M107.7,8.07A105.15,105.15,0,0,0,81.47,0a72.06,72.06,0,0,0-3.36,6.83A97.68,97.68,0,0,0,49,6.83,72.37,72.37,0,0,0,45.64,0,105.89,105.89,0,0,0,19.39,8.09C2.79,32.65-1.71,56.6.54,80.21h0A105.73,105.73,0,0,0,32.71,96.36,77.7,77.7,0,0,0,39.6,85.25a68.42,68.42,0,0,1-10.85-5.18c.91-.66,1.8-1.34,2.66-2a75.57,75.57,0,0,0,64.32,0c.87.71,1.76,1.39,2.66,2a68.68,68.68,0,0,1-10.87,5.19,77,77,0,0,0,6.89,11.1A105.25,105.25,0,0,0,126.6,80.22h0C129.24,52.84,122.09,29.11,107.7,8.07ZM42.45,65.69C36.18,65.69,31,60,31,53s5-12.74,11.43-12.74S54,46,53.89,53,48.84,65.69,42.45,65.69Zm42.24,0C78.41,65.69,73.25,60,73.25,53s5-12.74,11.44-12.74S96.23,46,96.12,53,91.08,65.69,84.69,65.69Z"></path></svg></a><button type="button" class="text-muted-foreground flex size-7 items-center justify-center transition-colors hover:text-foreground" aria-label="Toggle theme"><div class="size-4"></div></button></div></div></div></div></footer></div><!--/&--><section aria-label="Notifications alt+T" tabindex="-1" aria-live="polite" aria-relevant="additions text" aria-atomic="false" data-react-aria-top-layer="true"></section><!--$?--><template id="B:0"></template><!--/$--><!--$?--><template id="B:1"></template><!--/$-->
1972<script>requestAnimationFrame(function(){$RT=performance.now()});</script>
1972<script src="/_next/static/immutable/chunks/0-bwfljm4w8rf.js" id="_R_" async=""></script>
1972<script>$RX=function(b,c,d,e,f){var a=document.getElementById(b);a&&(b=a.previousSibling,b.data="$!",a=a.dataset,null!=c&&(a.dgst=c),d&&(a.msg=d),e&&(a.stck=e),f&&(a.cstck=f),b._reactRetry&&b._reactRetry())};;$RX("B:0","BAILOUT_TO_CLIENT_SIDE_RENDERING")</script>
1972<script>$RX("B:1","BAILOUT_TO_CLIENT_SIDE_RENDERING")</script>
1972<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"e2714bb20d99493388cd717d718aeeba","r":1,"spa":2}' crossorigin="anonymous"></script>
1972
1973</body></html>
1973<script>(self.__next_f=self.__next_f||[]).push([0])</script>
1973<script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n"])</script>
1973<script>self.__next_f.push([1,"e:I[587866,[\"/_next/static/immutable/chunks/00jla400dltnu.js\",\"/_next/static/immutable/chunks/39sygckgvod3e.js\",\"/_next/static/immutable/chunks/0chquwv9wyw8c.js\",\"/_next/static/immutable/chunks/1t1mbmt0_e717.js\",\"/_next/static/immutable/chunks/3qioqfoukn7s_.js\",\"/_next/static/immutable/chunks/0pz-yrez75of-.js\",\"/_next/static/immutable/chunks/2hc3lha1ed1nk.js\",\"/_next/static/immutable/chunks/1bfzxdjt0heom.js\",\"/_next/static/immutable/chunks/16wahavi5zm3j.js\",\"/_next/static/immutable/chunks/1x9ujbp569gb8.js\",\"/_next/static/immutable/chunks/2vw7kgemxtqzd.js\",\"/_next/static/immutable/chunks/0kwj0z81-a1cu.js\",\"/_next/static/immutable/chunks/1x_nf8rs78h3n.js\",\"/_next/static/immutable/chunks/0nrnqjyd-q2is.js\",\"/_next/static/immutable/chunks/2vowh50j-ok7z.js\",\"/_next/static/immutable/chunks/04ci540bmxauh.js\",\"/_next/static/immutable/chunks/29kkh6-lh0h1a.js\",\"/_next/static/immutable/chunks/0li-knucq9-dc.js\",\"/_next/static/immutable/chunks/307dgth29f31j.js\",\"/_next/static/immutable/chunks/3yu9t9mxl1ta0.js\",\"/_next/static/immutable/chunks/1b203bov0h125.js\",\"/_next/static/immutable/chunks/13pcr5n0bwk47.js\",\"/_next/static/immutable/chunks/13d2ofwhzs59u.js\",\"/_next/static/immutable/chunks/2rax0kdawtj1h.js\",\"/_next/static/immutable/chunks/1qhm5r0jub3en.js\",\"/_next/static/immutable/chunks/0aoeil02qfsn5.js\",\"/_next/static/immutable/chunks/0k3os36czqzy4.js\",\"/_next/static/immutable/chunks/3s4707kgr1a33.js\",\"/_next/static/immutable/chunks/1xui5_f1wum6y.js\",\"/_next/static/immutable/chunks/1kb1x1v2ddq-3.js\"],\"default\",1]\n"])</script>
1973<script>self.__next_f.push([1,":HL[\"/_next/static/immutable/chunks/28j5j44nbycqa.css\",\"style\"]\n:HL[\"/_next/static/immutable/chunks/08lx4z86o-kcy.css\",\"style\"]\n:HL[\"/_next/static/immutable/media/70bc3e132a0a741e-s.p.269kn9uafm0ti.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/immutable/media/fa0520225c6f3d07-s.p.3tasb8qs95n_v.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n2:T920b,"])</script>
1973<script>self.__next_f.push([1,":root {\n  --aui-success: oklch(0.6 0.15 149);\n  --aui-warning: oklch(0.68 0.16 70);\n}\n\n.dark {\n  --aui-success: oklch(0.72 0.17 149);\n  --aui-warning: oklch(0.8 0.17 75);\n}\n\n[data-aui-theme=\"elements\"] {\n  --aui-live: oklch(0.623 0.214 259.815);\n}\n\n.dark [data-aui-theme=\"elements\"] {\n  --aui-live: oklch(0.707 0.165 254.624);\n}\n\n[data-aui] {\n  box-sizing: border-box;\n}\n\n[data-aui=\"header\"] {\n  margin: 0;\n  font-size: 1.25rem;\n  font-weight: 600;\n  letter-spacing: -0.01em;\n  line-height: 1.2;\n}\n\n[data-aui=\"text\"] {\n  line-height: 1.5;\n}\n\n[data-aui=\"caption\"] {\n  margin: 0;\n  font-size: 0.75rem;\n  line-height: 1.4;\n  color: color-mix(in oklab, currentColor 62%, transparent);\n}\n\n[data-aui=\"text\"][data-aui-size=\"sm\"], [data-aui=\"header\"][data-aui-size=\"sm\"] {\n  font-size: 0.75rem;\n}\n\n[data-aui=\"text\"][data-aui-size=\"md\"], [data-aui=\"header\"][data-aui-size=\"md\"] {\n  font-size: 0.875rem;\n}\n\n[data-aui=\"text\"][data-aui-size=\"lg\"], [data-aui=\"header\"][data-aui-size=\"lg\"] {\n  font-size: 1.125rem;\n}\n\n[data-aui=\"text\"][data-aui-size=\"xl\"], [data-aui=\"header\"][data-aui-size=\"xl\"] {\n  font-size: 1.25rem;\n}\n\n[data-aui=\"text\"][data-aui-size=\"2xl\"], [data-aui=\"header\"][data-aui-size=\"2xl\"] {\n  font-size: 1.5rem;\n  font-weight: 600;\n  letter-spacing: -0.02em;\n}\n\n[data-aui=\"text\"][data-aui-size=\"3xl\"], [data-aui=\"header\"][data-aui-size=\"3xl\"] {\n  font-size: 2.25rem;\n  font-weight: 600;\n  letter-spacing: -0.02em;\n}\n\n[data-aui=\"text\"][data-aui-weight=\"normal\"] {\n  font-weight: 400;\n}\n\n[data-aui=\"text\"][data-aui-weight=\"medium\"] {\n  font-weight: 500;\n}\n\n[data-aui=\"text\"][data-aui-weight=\"semibold\"] {\n  font-weight: 600;\n}\n\n[data-aui=\"text\"][data-aui-weight=\"bold\"] {\n  font-weight: 700;\n}\n\n[data-aui=\"text\"][data-aui-color=\"emphasis\"] {\n  color: var(--foreground);\n}\n\n[data-aui=\"text\"][data-aui-color=\"secondary\"] {\n  color: color-mix(in oklab, currentColor 62%, transparent);\n}\n\n[data-aui=\"text\"][data-aui-color=\"alpha-70\"] {\n  color: color-mix(in oklab, var(--foreground) 70%, transparent);\n}\n\n[data-aui=\"text\"][data-aui-color=\"white\"] {\n  color: white;\n}\n\n[data-aui=\"text\"][data-aui-color=\"white-70\"] {\n  color: color-mix(in oklab, white 70%, transparent);\n}\n\n[data-aui=\"text\"][data-aui-color=\"white-50\"] {\n  color: color-mix(in oklab, white 50%, transparent);\n}\n\n[data-aui=\"fact\"] {\n  margin: 0;\n}\n\n[data-aui=\"fact-label\"] {\n  margin: 0;\n  font-size: 0.6875rem;\n  text-transform: uppercase;\n  letter-spacing: 0.05em;\n  color: color-mix(in oklab, currentColor 62%, transparent);\n}\n\n[data-aui=\"fact-value\"] {\n  margin: 0;\n  font-size: 0.875rem;\n  font-variant-numeric: tabular-nums;\n}\n\n[data-aui=\"fact-delta\"] {\n  display: inline-flex;\n  align-items: center;\n  gap: 0.125rem;\n  margin: 0 0 0 0.375rem;\n  padding: 0.125rem 0.375rem;\n  border-radius: 9999px;\n  font-size: 0.6875rem;\n  font-weight: 500;\n  vertical-align: middle;\n}\n\n[data-aui=\"fact-delta\"][data-aui-tone=\"good\"] {\n  background-color: color-mix(in oklab, var(--aui-success) 15%, transparent);\n  color: var(--aui-success);\n}\n\n[data-aui=\"fact-delta\"][data-aui-tone=\"bad\"] {\n  background-color: color-mix(in oklab, var(--destructive) 15%, transparent);\n  color: var(--destructive);\n}\n\n[data-aui=\"fact-delta\"][data-aui-tone=\"neutral\"] {\n  background-color: var(--secondary);\n  color: var(--secondary-foreground);\n}\n\n[data-aui=\"button\"], [data-aui=\"card-confirm\"], [data-aui=\"card-cancel\"] {\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  gap: 0.25rem;\n  height: var(--aui-control-height, 2.5rem);\n  padding: 0 var(--aui-button-padding-x, 1.25rem);\n  border-radius: calc(var(--radius) - 2px);\n  font-size: var(--aui-control-font-size, 0.875rem);\n  font-weight: 500;\n  border: 1px solid transparent;\n  cursor: pointer;\n  background-color: var(--secondary);\n  color: var(--secondary-foreground);\n  transition: background-color 0.15s ease;\n  white-space: nowrap;\n  flex-shrink: 0;\n}\n\n[data-aui=\"button\"]:focus-visible, [data-aui=\"card-confirm\"]:focus-visible, [data-aui=\"card-cancel\"]:focus-visible {\n  outline: 2px solid var(--ring);\n  outline-offset: 2px;\n}\n\n[data-aui=\"button\"][data-aui-style=\"primary\"], [data-aui=\"card-confirm\"] {\n  background-color: var(--primary);\n  color: var(--primary-foreground);\n}\n\n[data-aui=\"button\"][data-aui-style=\"primary\"]:hover, [data-aui=\"card-confirm\"]:hover {\n  background-color: color-mix(in oklab, var(--primary) 90%, transparent);\n}\n\n[data-aui=\"button\"][data-aui-style=\"secondary\"] {\n  background-color: var(--secondary);\n  color: var(--secondary-foreground);\n}\n\n[data-aui=\"button\"][data-aui-style=\"secondary\"]:hover {\n  background-color: color-mix(in oklab, var(--secondary) 90%, transparent);\n}\n\n[data-aui=\"button\"][data-aui-style=\"outline\"] {\n  background-color: transparent;\n  color: var(--foreground);\n  border-color: color-mix(in oklab, var(--border) 60%, transparent);\n}\n\n[data-aui=\"button\"][data-aui-style=\"outline\"]:hover {\n  background-color: var(--accent);\n  color: var(--accent-foreground);\n}\n\n[data-aui=\"button\"][data-aui-style=\"ghost\"], [data-aui=\"card-cancel\"] {\n  background-color: transparent;\n  color: var(--foreground);\n}\n\n[data-aui=\"button\"][data-aui-style=\"ghost\"]:hover, [data-aui=\"card-cancel\"]:hover {\n  background-color: var(--accent);\n  color: var(--accent-foreground);\n}\n\n[data-aui=\"button\"][data-aui-style=\"danger\"] {\n  background-color: var(--destructive);\n  color: var(--primary-foreground);\n}\n\n[data-aui=\"button\"][data-aui-style=\"danger\"]:hover {\n  background-color: color-mix(in oklab, var(--destructive) 90%, transparent);\n}\n\n[data-aui=\"button\"][data-aui-state=\"pending\"] {\n  background-color: color-mix(in oklab, var(--secondary) 72%, transparent);\n  font-variant-numeric: tabular-nums;\n}\n\n[data-aui=\"button-undo-status\"] {\n  position: absolute;\n  width: 1px;\n  height: 1px;\n  padding: 0;\n  margin: -1px;\n  overflow: hidden;\n  clip: rect(0, 0, 0, 0);\n  white-space: nowrap;\n  border: 0;\n}\n\n[data-aui=\"button\"][data-aui-block] {\n  width: 100%;\n}\n\n[data-aui=\"select\"], [data-aui=\"input\"], [data-aui=\"datepicker\"] {\n  display: block;\n  width: 100%;\n  min-width: 0;\n  height: var(--aui-control-height, 2.5rem);\n  padding: 0 var(--aui-field-padding-x, 0.875rem);\n  border-radius: calc(var(--radius) - 2px);\n  border: 1px solid var(--input);\n  background-color: transparent;\n  font-size: var(--aui-control-font-size, 0.875rem);\n  color: var(--foreground);\n}\n\n[data-aui=\"datepicker\"] {\n  max-width: 100%;\n}\n\n[data-aui=\"input\"][data-aui-multiline] {\n  height: auto;\n  min-height: 2.5rem;\n  padding: 0.625rem var(--aui-field-padding-x, 0.875rem);\n  line-height: 1.5;\n  resize: vertical;\n}\n\n[data-aui=\"input\"]::placeholder {\n  color: color-mix(in oklab, currentColor 45%, transparent);\n}\n\n[data-aui=\"select\"]:focus-visible, [data-aui=\"input\"]:focus-visible, [data-aui=\"datepicker\"]:focus-visible {\n  outline: 2px solid var(--ring);\n  outline-offset: 2px;\n}\n\n[data-aui=\"slider-field\"] {\n  display: flex;\n  flex-direction: column;\n  gap: 0.375rem;\n}\n\n[data-aui=\"slider-label\"] {\n  font-size: var(--aui-control-font-size, 0.875rem);\n  font-weight: 500;\n}\n\n[data-aui=\"slider\"] {\n  width: 100%;\n  height: 1.25rem;\n  margin: 0;\n  cursor: pointer;\n  accent-color: var(--foreground);\n  appearance: none;\n  background-color: transparent;\n}\n\n[data-aui=\"slider\"]::-webkit-slider-runnable-track {\n  height: 0.25rem;\n  border-radius: 9999px;\n  background-color: var(--foreground);\n}\n\n[data-aui=\"slider\"]::-moz-range-track {\n  height: 0.25rem;\n  border-radius: 9999px;\n  background-color: var(--foreground);\n}\n\n[data-aui=\"slider\"]::-webkit-slider-thumb {\n  width: 1rem;\n  height: 1rem;\n  margin-top: -0.375rem;\n  border-radius: 9999px;\n  appearance: none;\n  background-color: var(--foreground);\n}\n\n[data-aui=\"slider\"]::-moz-range-thumb {\n  width: 1rem;\n  height: 1rem;\n  border: 0;\n  border-radius: 9999px;\n  background-color: var(--foreground);\n}\n\n[data-aui=\"slider\"]:focus-visible {\n  outline: 2px solid var(--ring);\n  outline-offset: 2px;\n}\n\n[data-aui=\"slider-value\"] {\n  font-size: 0.75rem;\n  font-variant-numeric: tabular-nums;\n  color: color-mix(in oklab, currentColor 62%, transparent);\n}\n\n[data-aui=\"checkbox\"] {\n  display: inline-flex;\n  align-items: center;\n  gap: 0.5rem;\n  cursor: pointer;\n}\n\n[data-aui=\"radiogroup-option\"], [data-aui=\"checkboxgroup-option\"] {\n  display: flex;\n  align-items: flex-start;\n  gap: 0.5rem;\n  cursor: pointer;\n}\n\n[data-aui=\"option-content\"] {\n  display: flex;\n  flex-direction: column;\n}\n\n[data-aui=\"option-description\"] {\n  font-size: 0.75rem;\n  line-height: 1.4;\n  color: color-mix(in oklab, currentColor 62%, transparent);\n}\n\n[data-aui=\"checkbox\"] input, [data-aui=\"radiogroup-option\"] input, [data-aui=\"checkboxgroup-option\"] input {\n  accent-color: var(--primary);\n  width: 1rem;\n  height: 1rem;\n  margin: 0;\n  cursor: pointer;\n}\n\n[data-aui=\"radiogroup-option\"] input, [data-aui=\"checkboxgroup-option\"] input {\n  margin-top: 0.125rem;\n}\n\n[data-aui=\"checkbox\"][data-aui-variant=\"switch\"] input {\n  width: 2.25rem;\n  height: 1.25rem;\n  border: 0;\n  border-radius: 9999px;\n  appearance: none;\n  background-color: color-mix(in oklab, var(--foreground) 30%, transparent);\n  transition: background-color 0.15s ease;\n}\n\n[data-aui=\"checkbox\"][data-aui-variant=\"switch\"] input::before {\n  content: \"\";\n  display: block;\n  width: 1rem;\n  height: 1rem;\n  margin: 0.125rem;\n  border-radius: 9999px;\n  background-color: var(--background);\n  transition: transform 0.15s ease;\n}\n\n[data-aui=\"checkbox\"][data-aui-variant=\"switch\"] input:checked {\n  background-color: var(--foreground);\n}\n\n[data-aui=\"checkbox\"][data-aui-variant=\"switch\"] input:checked::before {\n  transform: translateX(1rem);\n}\n\n[data-aui=\"checkbox\"] input:focus-visible, [data-aui=\"radiogroup-option\"] input:focus-visible, [data-aui=\"checkboxgroup-option\"] input:focus-visible {\n  outline: 2px solid var(--ring);\n  outline-offset: 2px;\n}\n\n[data-aui=\"radiogroup\"], [data-aui=\"checkboxgroup\"] {\n  border: none;\n  margin: 0;\n  padding: 0;\n  display: flex;\n  flex-direction: column;\n  gap: 0.25rem;\n}\n\nfieldset[data-aui=\"answered\"] {\n  border: 0;\n  margin: 0;\n  padding: 0;\n  min-inline-size: 0;\n}\n\nfieldset[data-aui=\"answered\"] [data-aui=\"button\"], fieldset[data-aui=\"answered\"] [data-aui=\"card-confirm\"], fieldset[data-aui=\"answered\"] [data-aui=\"card-cancel\"], fieldset[data-aui=\"answered\"] [data-aui=\"select\"], fieldset[data-aui=\"answered\"] [data-aui=\"input\"], fieldset[data-aui=\"answered\"] [data-aui=\"datepicker\"], fieldset[data-aui=\"answered\"] [data-aui=\"checkbox\"], fieldset[data-aui=\"answered\"] [data-aui=\"radiogroup-option\"], fieldset[data-aui=\"answered\"] [data-aui=\"checkboxgroup-option\"] {\n  cursor: n
1973ot-allowed;\n  opacity: 0.55;\n}\n\n[data-aui=\"root\"] {\n  display: flex;\n  flex-direction: column;\n  gap: 0.875rem;\n  margin-block: 0.875rem;\n}\n\n[data-aui=\"root\"]:empty {\n  display: none;\n}\n\n[data-aui=\"card\"] {\n  display: flex;\n  flex-direction: column;\n  gap: 0.875rem;\n  padding: var(--aui-card-padding, 0);\n}\n\n[data-aui=\"card\"][data-aui-surface], [data-aui=\"carousel\"] [data-aui=\"card\"] {\n  --aui-card-padding: 1.25rem;\n  background-color: var(--card);\n  color: var(--card-foreground);\n  border: 1px solid color-mix(in oklab, var(--border) 60%, transparent);\n  border-radius: var(--radius);\n  box-shadow: none;\n}\n\n[data-aui=\"card-title\"] {\n  margin: 0;\n  font-size: 0.9375rem;\n  font-weight: 600;\n}\n\n[data-aui=\"card-footer\"] {\n  display: flex;\n  justify-content: flex-end;\n  gap: 0.5rem;\n  padding-top: 0.75rem;\n  border-top: 1px solid color-mix(in oklab, var(--border) 60%, transparent);\n}\n\n[data-aui-padding=\"0\"] {\n  padding: 0;\n}\n\n[data-aui-padding=\"1\"] {\n  padding: calc(1 * 4px);\n}\n\n[data-aui-padding=\"2\"] {\n  padding: calc(2 * 4px);\n}\n\n[data-aui-padding=\"3\"] {\n  padding: calc(3 * 4px);\n}\n\n[data-aui-padding=\"4\"] {\n  padding: calc(4 * 4px);\n}\n\n[data-aui-padding=\"5\"] {\n  padding: calc(5 * 4px);\n}\n\n[data-aui-padding=\"6\"] {\n  padding: calc(6 * 4px);\n}\n\n[data-aui-padding=\"7\"] {\n  padding: calc(7 * 4px);\n}\n\n[data-aui-padding=\"8\"] {\n  padding: calc(8 * 4px);\n}\n\n[data-aui=\"row\"] {\n  display: flex;\n  flex-direction: row;\n  gap: 0.5rem;\n}\n\n[data-aui=\"col\"] {\n  display: flex;\n  flex-direction: column;\n  gap: 0.625rem;\n}\n\n[data-aui=\"form\"] {\n  display: flex;\n  flex-direction: column;\n  gap: 0.75rem;\n  margin: 0;\n}\n\n[data-aui=\"spacer\"] {\n  flex: 1;\n}\n\n[data-aui=\"row\"][data-aui-align=\"start\"], [data-aui=\"col\"][data-aui-align=\"start\"] {\n  align-items: flex-start;\n}\n\n[data-aui=\"row\"][data-aui-align=\"center\"], [data-aui=\"col\"][data-aui-align=\"center\"] {\n  align-items: center;\n}\n\n[data-aui=\"row\"][data-aui-align=\"end\"], [data-aui=\"col\"][data-aui-align=\"end\"] {\n  align-items: flex-end;\n}\n\n[data-aui=\"row\"][data-aui-justify=\"start\"] {\n  justify-content: flex-start;\n}\n\n[data-aui=\"row\"][data-aui-justify=\"center\"] {\n  justify-content: center;\n}\n\n[data-aui=\"row\"][data-aui-justify=\"end\"] {\n  justify-content: flex-end;\n}\n\n[data-aui=\"row\"][data-aui-justify=\"between\"] {\n  justify-content: space-between;\n}\n\n[data-aui-gap=\"0\"] {\n  gap: 0;\n}\n\n[data-aui-gap=\"1\"] {\n  gap: calc(1 * 4px);\n}\n\n[data-aui-gap=\"2\"] {\n  gap: calc(2 * 4px);\n}\n\n[data-aui-gap=\"3\"] {\n  gap: calc(3 * 4px);\n}\n\n[data-aui-gap=\"4\"] {\n  gap: calc(4 * 4px);\n}\n\n[data-aui-gap=\"5\"] {\n  gap: calc(5 * 4px);\n}\n\n[data-aui-gap=\"6\"] {\n  gap: calc(6 * 4px);\n}\n\n[data-aui-gap=\"7\"] {\n  gap: calc(7 * 4px);\n}\n\n[data-aui-gap=\"8\"] {\n  gap: calc(8 * 4px);\n}\n\n[data-aui=\"box\"] {\n  display: block;\n}\n\n[data-aui=\"icon\"] {\n  display: inline-block;\n  vertical-align: -0.125em;\n  flex-shrink: 0;\n}\n\n[data-aui=\"alert\"] {\n  border-width: 1px;\n  border-style: solid;\n  border-radius: var(--radius);\n  padding: 0.75rem 0.875rem;\n}\n\n[data-aui=\"alert\"][data-aui-tone=\"info\"] {\n  border-color: color-mix(in oklab, var(--primary) 45%, transparent);\n  background-color: color-mix(in oklab, var(--primary) 8%, transparent);\n}\n\n[data-aui=\"alert\"][data-aui-tone=\"success\"] {\n  border-color: color-mix(in oklab, var(--aui-success) 45%, transparent);\n  background-color: color-mix(in oklab, var(--aui-success) 8%, transparent);\n}\n\n[data-aui=\"alert\"][data-aui-tone=\"warning\"] {\n  border-color: color-mix(in oklab, var(--aui-warning) 45%, transparent);\n  background-color: color-mix(in oklab, var(--aui-warning) 8%, transparent);\n}\n\n[data-aui=\"alert\"][data-aui-tone=\"danger\"] {\n  border-color: color-mix(in oklab, var(--destructive) 45%, transparent);\n  background-color: color-mix(in oklab, var(--destructive) 8%, transparent);\n}\n\n[data-aui=\"alert-title\"] {\n  margin: 0 0 0.25rem 0;\n  font-weight: 500;\n}\n\n[data-aui=\"alert-desc\"] {\n  margin: 0;\n  color: color-mix(in oklab, currentColor 62%, transparent);\n  font-size: 0.8125rem;\n}\n\n[data-aui=\"table\"] {\n  width: 100%;\n  border-collapse: collapse;\n}\n\n[data-aui=\"table-col\"] {\n  text-align: left;\n  font-size: 0.75rem;\n  font-weight: 500;\n  color: color-mix(in oklab, currentColor 62%, transparent);\n  padding: 0.5rem 0.75rem;\n  border-bottom: 1px solid color-mix(in oklab, var(--border) 60%, transparent);\n}\n\n[data-aui=\"table\"] td {\n  font-size: 0.875rem;\n  padding: 0.5rem 0.75rem;\n  text-align: left;\n  font-variant-numeric: tabular-nums;\n}\n\n[data-aui=\"table-col\"][data-aui-align=\"end\"], [data-aui=\"table\"] td[data-aui-align=\"end\"] {\n  text-align: end;\n}\n\n[data-aui=\"table-sort\"] {\n  appearance: none;\n  padding: 0;\n  border: 0;\n  background-color: transparent;\n  color: inherit;\n  font-family: inherit;\n  font-size: inherit;\n  font-weight: inherit;\n  letter-spacing: inherit;\n  line-height: inherit;\n  text-align: inherit;\n  cursor: pointer;\n}\n\n[data-aui=\"table-sort-direction\"] {\n  margin: 0 0 0 0.25rem;\n}\n\n[data-aui=\"table-sort\"]:focus-visible {\n  outline: 2px solid var(--ring);\n  outline-offset: 2px;\n}\n\n[data-aui=\"table\"] tbody tr:not(:last-child) td {\n  border-bottom: 1px solid color-mix(in oklab, var(--border) 60%, transparent);\n}\n\n[data-aui=\"chart\"] {\n  display: block;\n  width: 100%;\n  height: 3rem;\n  color: var(--chart-1);\n}\n\n[data-aui=\"chart\"] polyline, [data-aui=\"chart\"] polygon {\n  stroke-width: 1.5;\n}\n\n[data-aui=\"chart-zero\"] {\n  stroke: var(--muted-foreground);\n  stroke-opacity: 0.5;\n}\n\n[data-aui=\"chart\"][data-aui-color] [data-aui=\"chart-series\"]:only-child {\n  color: inherit;\n}\n\n[data-aui=\"chart\"][data-aui-color=\"emphasis\"] {\n  color: var(--foreground);\n}\n\n[data-aui=\"chart\"][data-aui-color=\"secondary\"] {\n  color: color-mix(in oklab, currentColor 62%, transparent);\n}\n\n[data-aui=\"chart\"][data-aui-color=\"alpha-70\"] {\n  color: color-mix(in oklab, var(--foreground) 70%, transparent);\n}\n\n[data-aui=\"chart\"][data-aui-color=\"white\"] {\n  color: white;\n}\n\n[data-aui=\"chart\"][data-aui-color=\"white-70\"] {\n  color: color-mix(in oklab, white 70%, transparent);\n}\n\n[data-aui=\"chart\"][data-aui-color=\"white-50\"] {\n  color: color-mix(in oklab, white 50%, transparent);\n}\n\n[data-aui=\"chart-frame\"] {\n  display: grid;\n  grid-template-columns: auto 1fr;\n  gap: 0.25rem;\n}\n\n[data-aui=\"chart-frame\"] \u003e [data-aui=\"chart-ticks\"] {\n  grid-column: 1;\n  grid-row: 1;\n  display: flex;\n  flex-direction: column;\n  justify-content: space-between;\n  text-align: right;\n}\n\n[data-aui=\"chart-frame\"] \u003e [data-aui=\"chart-ticks\"], [data-aui=\"chart-frame\"] \u003e [data-aui=\"chart-xlabels\"] {\n  font-size: 0.6875rem;\n  color: var(--muted-foreground);\n}\n\n[data-aui=\"chart-frame\"] \u003e svg[data-aui=\"chart\"] {\n  grid-column: 2;\n  grid-row: 1;\n  height: 6.5rem;\n}\n\n[data-aui=\"chart-frame\"] \u003e [data-aui=\"chart-xlabels\"] {\n  grid-column: 2;\n  grid-row: 2;\n  display: flex;\n  justify-content: space-between;\n}\n\n[data-aui=\"chart-frame\"] \u003e [data-aui=\"chart-legend\"] {\n  grid-column: 1 / -1;\n  grid-row: 3;\n  display: flex;\n  gap: 0.75rem;\n  font-size: 0.75rem;\n  color: var(--muted-foreground);\n}\n\n[data-aui=\"chart-legend-item\"] {\n  display: inline-flex;\n  align-items: center;\n  gap: 0.25rem;\n}\n\n[data-aui=\"chart-legend-swatch\"] {\n  display: inline-block;\n  width: 0.625rem;\n  height: 0.625rem;\n  border-radius: calc(var(--radius) - 4px);\n  background-color: var(--aui-series-color, currentColor);\n}\n\n[data-aui=\"chart-series\"][data-aui-series=\"0\"] {\n  color: var(--chart-1);\n}\n\n[data-aui=\"chart-series\"][data-aui-series=\"1\"] {\n  color: var(--chart-2);\n}\n\n[data-aui=\"chart-series\"][data-aui-series=\"2\"] {\n  color: var(--chart-3);\n}\n\n[data-aui=\"chart-series\"][data-aui-series=\"3\"] {\n  color: var(--chart-4);\n}\n\n[data-aui=\"chart-series\"][data-aui-series=\"4\"] {\n  color: var(--chart-5);\n}\n\n[data-aui=\"chart-legend-item\"][data-aui-series=\"0\"] {\n  --aui-series-color: var(--chart-1);\n}\n\n[data-aui=\"chart-legend-item\"][data-aui-series=\"1\"] {\n  --aui-series-color: var(--chart-2);\n}\n\n[data-aui=\"chart-legend-item\"][data-aui-series=\"2\"] {\n  --aui-series-color: var(--chart-3);\n}\n\n[data-aui=\"chart-legend-item\"][data-aui-series=\"3\"] {\n  --aui-series-color: var(--chart-4);\n}\n\n[data-aui=\"chart-legend-item\"][data-aui-series=\"4\"] {\n  --aui-series-color: var(--chart-5);\n}\n\n[data-aui=\"chart-series\"][data-aui-color=\"emphasis\"] {\n  color: var(--foreground);\n}\n\n[data-aui=\"chart-legend-item\"][data-aui-color=\"emphasis\"] {\n  --aui-series-color: var(--foreground);\n}\n\n[data-aui=\"chart-series\"][data-aui-color=\"secondary\"] {\n  color: color-mix(in oklab, var(--foreground) 62%, transparent);\n}\n\n[data-aui=\"chart-legend-item\"][data-aui-color=\"secondary\"] {\n  --aui-series-color: color-mix(in oklab, var(--foreground) 62%, transparent);\n}\n\n[data-aui=\"chart-series\"][data-aui-color=\"alpha-70\"] {\n  color: color-mix(in oklab, var(--foreground) 70%, transparent);\n}\n\n[data-aui=\"chart-legend-item\"][data-aui-color=\"alpha-70\"] {\n  --aui-series-color: color-mix(in oklab, var(--foreground) 70%, transparent);\n}\n\n[data-aui=\"chart-series\"][data-aui-color=\"white\"] {\n  color: white;\n}\n\n[data-aui=\"chart-legend-item\"][data-aui-color=\"white\"] {\n  --aui-series-color: white;\n}\n\n[data-aui=\"chart-series\"][data-aui-color=\"white-70\"] {\n  color: color-mix(in oklab, white 70%, transparent);\n}\n\n[data-aui=\"chart-legend-item\"][data-aui-color=\"white-70\"] {\n  --aui-series-color: color-mix(in oklab, white 70%, transparent);\n}\n\n[data-aui=\"chart-series\"][data-aui-color=\"white-50\"] {\n  color: color-mix(in oklab, white 50%, transparent);\n}\n\n[data-aui=\"chart-legend-item\"][data-aui-color=\"white-50\"] {\n  --aui-series-color: color-mix(in oklab, white 50%, transparent);\n}\n\n[data-aui=\"carousel-frame\"] {\n  min-width: 0;\n}\n\n[data-aui=\"carousel\"] {\n  display: flex;\n  overflow-x: auto;\n  scroll-snap-type: x mandatory;\n  scroll-behavior: smooth;\n  gap: 0.75rem;\n  padding-bottom: 0.5rem;\n  scrollbar-width: thin;\n}\n\n[data-aui=\"carousel\"]:focus-visible {\n  outline: 2px solid var(--ring);\n  outline-offset: 2px;\n}\n\n[data-aui=\"carousel-slide\"] {\n  scroll-snap-align: start;\n  flex: 0 0 auto;\n  min-width: 14rem;\n}
1973\n\n[data-aui=\"carousel-controls\"] {\n  display: flex;\n  justify-content: flex-end;\n  gap: 0.25rem;\n  margin: 0.5rem 0 0;\n}\n\n[data-aui=\"carousel-prev\"], [data-aui=\"carousel-next\"] {\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  width: 2rem;\n  height: 2rem;\n  padding: 0;\n  border: 0;\n  border-radius: calc(var(--radius) - 2px);\n  appearance: none;\n  background-color: transparent;\n  color: inherit;\n  cursor: pointer;\n}\n\n[data-aui=\"carousel-prev\"]:hover, [data-aui=\"carousel-next\"]:hover {\n  background-color: var(--muted);\n}\n\n[data-aui=\"carousel-prev\"]:focus-visible, [data-aui=\"carousel-next\"]:focus-visible {\n  outline: 2px solid var(--ring);\n  outline-offset: 2px;\n}\n\n[data-aui=\"carousel-prev\"]:disabled, [data-aui=\"carousel-next\"]:disabled {\n  opacity: 0.5;\n  cursor: default;\n}\n\n@media (prefers-reduced-motion: reduce) {\n  [data-aui=\"carousel\"] {\n    scroll-behavior: auto;\n  }\n\n  [data-aui=\"checkbox\"][data-aui-variant=\"switch\"] input, [data-aui=\"checkbox\"][data-aui-variant=\"switch\"] input::before {\n    transition: none;\n  }\n\n  [data-aui=\"button\"][data-aui-state=\"pending\"] {\n    transition: none;\n  }\n}\n\n[data-aui=\"listview\"] {\n  list-style: none;\n  margin: 0;\n  padding: 0;\n}\n\n[data-aui=\"listview-item\"] + [data-aui=\"listview-item\"] {\n  border-top: 1px solid color-mix(in oklab, var(--border) 60%, transparent);\n}\n\n[data-aui=\"listview-item-trigger\"] {\n  padding: 0.75rem 0.875rem;\n  border-radius: calc(var(--radius) - 2px);\n  cursor: pointer;\n}\n\n[data-aui=\"listview-item-trigger\"]:hover {\n  background-color: color-mix(in oklab, var(--muted) 50%, transparent);\n}\n\n[data-aui=\"listview-item-trigger\"]:focus-visible {\n  outline: 2px solid var(--ring);\n  outline-offset: 2px;\n}\n\n[data-aui=\"divider\"] {\n  border: none;\n  border-top: 1px solid color-mix(in oklab, var(--border) 60%, transparent);\n  margin: 0.75rem 0;\n}\n\n[data-aui=\"divider\"][data-aui-flush] {\n  margin: 0;\n}\n\n[data-aui=\"card\"] \u003e [data-aui=\"divider\"] {\n  margin: 0;\n}\n\n[data-aui=\"image\"] {\n  max-width: 100%;\n  display: block;\n  border-radius: calc(var(--radius) - 2px);\n}\n\n[data-aui=\"image\"][data-aui-size=\"sm\"] {\n  max-width: 8rem;\n}\n\n[data-aui=\"image\"][data-aui-size=\"md\"] {\n  max-width: 16rem;\n}\n\n[data-aui=\"image\"][data-aui-size=\"lg\"] {\n  max-width: 24rem;\n}\n\n[data-aui=\"image\"][data-aui-round] {\n  width: 2.5rem;\n  height: 2.5rem;\n  border-radius: 9999px;\n  object-fit: cover;\n  aspect-ratio: 1 / 1;\n}\n\n[data-aui=\"image\"][data-aui-round][data-aui-size=\"sm\"] {\n  width: 2rem;\n  height: 2rem;\n}\n\n[data-aui=\"image\"][data-aui-round][data-aui-size=\"md\"] {\n  width: 2.5rem;\n  height: 2.5rem;\n}\n\n[data-aui=\"image\"][data-aui-round][data-aui-size=\"lg\"] {\n  width: 3.25rem;\n  height: 3.25rem;\n}\n\n[data-aui=\"markdown\"] {\n  font-size: 0.875rem;\n  line-height: 1.6;\n}\n\n[data-aui=\"markdown\"] p {\n  margin: 0 0 0.5rem 0;\n}\n\n[data-aui=\"markdown\"] p:last-child {\n  margin-bottom: 0;\n}\n\n[data-aui=\"markdown\"] a {\n  color: var(--primary);\n  text-decoration: underline;\n  text-underline-offset: 2px;\n}\n\n[data-aui=\"markdown\"] code {\n  font-size: 0.8125em;\n  background-color: color-mix(in oklab, var(--muted) 60%, transparent);\n  padding: 0.125rem 0.375rem;\n  border-radius: calc(var(--radius) - 4px);\n  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\n[data-aui=\"markdown\"] pre {\n  background-color: color-mix(in oklab, var(--muted) 60%, transparent);\n  padding: 0.75rem;\n  border-radius: calc(var(--radius) - 2px);\n  overflow-x: auto;\n}\n\n[data-aui=\"markdown\"] pre code {\n  background-color: transparent;\n  padding: 0;\n}\n\n[data-aui=\"markdown\"] ul, [data-aui=\"markdown\"] ol {\n  padding-left: 1.25rem;\n}\n\n[data-aui=\"markdown\"] ol {\n  list-style-type: decimal;\n}\n\n[data-aui=\"markdown\"] ul {\n  list-style-type: disc;\n}\n\n[data-aui=\"markdown\"] li {\n  margin: 0.25rem 0;\n}\n\n[data-aui=\"markdown\"] h1, [data-aui=\"markdown\"] h2, [data-aui=\"markdown\"] h3 {\n  margin: 0.75em 0 0.25em;\n  font-weight: 600;\n}\n\n[data-aui=\"markdown\"] h1 {\n  font-size: 1.125em;\n}\n\n[data-aui=\"markdown\"] h2 {\n  font-size: 1.0625em;\n}\n\n[data-aui=\"markdown\"] h3 {\n  font-size: 1em;\n}\n\n[data-aui=\"markdown\"] blockquote {\n  border-left: 2px solid color-mix(in oklab, var(--border) 60%, transparent);\n  padding-left: 0.75rem;\n  color: color-mix(in oklab, currentColor 62%, transparent);\n  margin: 0.5em 0;\n}\n\n[data-aui=\"badge\"] {\n  display: inline-flex;\n  align-self: flex-start;\n  align-items: center;\n  gap: 0.25rem;\n  border-radius: 9999px;\n  padding: 0.125rem 0.5rem;\n  font-size: 0.75rem;\n  font-weight: 500;\n  line-height: 1.4;\n  font-variant-numeric: tabular-nums;\n  background-color: var(--muted);\n  color: color-mix(in oklab, currentColor 62%, transparent);\n  flex-shrink: 0;\n  white-space: nowrap;\n}\n\n[data-aui=\"row\"][data-aui-align=\"start\"] \u003e [data-aui=\"badge\"], [data-aui=\"col\"][data-aui-align=\"start\"] \u003e [data-aui=\"badge\"] {\n  align-self: flex-start;\n}\n\n[data-aui=\"row\"][data-aui-align=\"center\"] \u003e [data-aui=\"badge\"], [data-aui=\"col\"][data-aui-align=\"center\"] \u003e [data-aui=\"badge\"] {\n  align-self: center;\n}\n\n[data-aui=\"row\"][data-aui-align=\"end\"] \u003e [data-aui=\"badge\"], [data-aui=\"col\"][data-aui-align=\"end\"] \u003e [data-aui=\"badge\"] {\n  align-self: flex-end;\n}\n\n[data-aui=\"badge\"][data-aui-variant=\"info\"] {\n  background-color: color-mix(in oklab, var(--primary) 15%, transparent);\n  color: var(--primary);\n}\n\n[data-aui=\"badge\"][data-aui-variant=\"success\"] {\n  background-color: color-mix(in oklab, var(--aui-success) 15%, transparent);\n  color: var(--aui-success);\n}\n\n[data-aui=\"badge\"][data-aui-variant=\"warning\"] {\n  background-color: color-mix(in oklab, var(--aui-warning) 15%, transparent);\n  color: var(--aui-warning);\n}\n\n[data-aui=\"badge\"][data-aui-variant=\"danger\"] {\n  background-color: color-mix(in oklab, var(--destructive) 15%, transparent);\n  color: var(--destructive);\n}\n\n[data-aui-theme=\"elements\"] [data-aui=\"card\"][data-aui-surface], [data-aui-theme=\"elements\"] [data-aui=\"carousel\"] [data-aui=\"card\"] {\n  border: 1px solid color-mix(in oklab, var(--border) 60%, transparent);\n  border-radius: 20px;\n  background-color: var(--background);\n  box-shadow: none;\n}\n\n.dark [data-aui-theme=\"elements\"] [data-aui=\"card\"][data-aui-surface], .dark [data-aui-theme=\"elements\"] [data-aui=\"carousel\"] [data-aui=\"card\"] {\n  background-color: var(--popover);\n  box-shadow: none;\n}\n\n[data-aui-theme=\"elements\"] [data-aui=\"card-footer\"] {\n  border-top: none;\n  padding-top: 0.25rem;\n}\n\n[data-aui-theme=\"elements\"] [data-aui=\"select\"], [data-aui-theme=\"elements\"] [data-aui=\"input\"], [data-aui-theme=\"elements\"] [data-aui=\"datepicker\"] {\n  border: none;\n  border-radius: 12px;\n  background-color: color-mix(in oklab, var(--foreground) 4%, transparent);\n  caret-color: var(--aui-live);\n  transition: background-color 0.15s ease;\n}\n\n.dark [data-aui-theme=\"elements\"] [data-aui=\"select\"], .dark [data-aui-theme=\"elements\"] [data-aui=\"input\"], .dark [data-aui-theme=\"elements\"] [data-aui=\"datepicker\"] {\n  background-color: color-mix(in oklab, var(--foreground) 6%, transparent);\n}\n\n[data-aui-theme=\"elements\"] [data-aui=\"select\"]:focus-visible, [data-aui-theme=\"elements\"] [data-aui=\"input\"]:focus-visible, [data-aui-theme=\"elements\"] [data-aui=\"datepicker\"]:focus-visible {\n  outline: none;\n  background-color: color-mix(in oklab, var(--foreground) 7%, transparent);\n}\n\n.dark [data-aui-theme=\"elements\"] [data-aui=\"select\"]:focus-visible, .dark [data-aui-theme=\"elements\"] [data-aui=\"input\"]:focus-visible, .dark [data-aui-theme=\"elements\"] [data-aui=\"datepicker\"]:focus-visible {\n  background-color: color-mix(in oklab, var(--foreground) 9%, transparent);\n}\n\n[data-aui-theme=\"elements\"] [data-aui=\"input\"]::placeholder {\n  color: color-mix(in oklab, var(--foreground) 35%, transparent);\n}\n\n[data-aui-theme=\"elements\"] [data-aui=\"button\"], [data-aui-theme=\"elements\"] [data-aui=\"card-confirm\"], [data-aui-theme=\"elements\"] [data-aui=\"card-cancel\"] {\n  border: none;\n  border-radius: 9999px;\n  transition: background-color 0.15s ease, color 0.15s ease, opacity 0.15s ease, transform 0.15s cubic-bezier(0.23, 1, 0.32, 1);\n}\n\n[data-aui-theme=\"elements\"] [data-aui=\"button\"]:active, [data-aui-theme=\"elements\"] [data-aui=\"card-confirm\"]:active, [data-aui-theme=\"elements\"] [data-aui=\"card-cancel\"]:active {\n  transform: scale(0.96);\n}\n\n[data-aui-theme=\"elements\"] [data-aui=\"button\"]:focus-visible, [data-aui-theme=\"elements\"] [data-aui=\"card-confirm\"]:focus-visible, [data-aui-theme=\"elements\"] [data-aui=\"card-cancel\"]:focus-visible {\n  outline: 2px solid color-mix(in oklab, var(--foreground) 20%, transparent);\n  outline-offset: 2px;\n}\n\n[data-aui-theme=\"elements\"] [data-aui=\"button\"][data-aui-style=\"primary\"], [data-aui-theme=\"elements\"] [data-aui=\"card-confirm\"] {\n  background-color: var(--foreground);\n  color: var(--background);\n}\n\n[data-aui-theme=\"elements\"] [data-aui=\"button\"][data-aui-style=\"primary\"]:hover, [data-aui-theme=\"elements\"] [data-aui=\"card-confirm\"]:hover {\n  background-color: var(--foreground);\n  opacity: 0.9;\n}\n\n[data-aui-theme=\"elements\"] [data-aui=\"button\"][data-aui-style=\"secondary\"], [data-aui-theme=\"elements\"] [data-aui=\"button\"][data-aui-style=\"outline\"], [data-aui-theme=\"elements\"] [data-aui=\"button\"]:not([data-aui-style]) {\n  background-color: color-mix(in oklab, var(--foreground) 4%, transparent);\n  color: var(--foreground);\n  border-color: transparent;\n}\n\n[data-aui-theme=\"elements\"] [data-aui=\"button\"][data-aui-style=\"secondary\"]:hover, [data-aui-theme=\"elements\"] [data-aui=\"button\"][data-aui-style=\"outline\"]:hover, [data-aui-theme=\"elements\"] [data-aui=\"button\"]:not([data-aui-style]):hover {\n  background-color: color-mix(in oklab, var(--foreground) 7%, transparent);\n  color: var(--foreground);\n}\n\n.dark [data-aui-theme=\"elements\"] [data-aui=\"button\"][data-aui-style=\"secondary\"], .dark [data-aui-theme=\"elements\"] [data-aui=\"button\"][data-aui-style=\"outline\"], .dark [data-aui-theme=\"elements\"] [data-aui=\"button\"]:not([data-aui-style]) {\n  background-color: color-mix(in oklab, var(--foreground) 6%, transparent);\n}\n\n[data-aui-theme=\"elements\"] [data-aui=\"button\"][data-aui-style=\"ghost\"], [data-aui-theme=\"elements\"] [data-aui=\"card-cancel\"], [data-aui-theme=\"elements\"] [data-aui=\"carousel-prev\"], [data-aui-theme=\"elements\"] [data-aui=\"carousel-next\"] {\n  background-color: transparent;\n  color: color-mix(in oklab, var(--foreground) 55%, transparent);\n}\n\n[data-aui-theme=\"elements\"] [data-aui=\"button\"][data-aui-style=\"ghost\"]:hover, [data-aui-theme=\"elements\"] [data-aui=\"card-cancel\"]:hover, [data-aui-theme=\"elements\"] [data-aui=\"carousel-prev\"]:hover, [data-aui-theme=\"elements\"] [data-aui=\"carousel-next\"]:hover {\n  background-color: color-mix(in oklab, var(--foreground) 6%, transparent);\n  color: color-mix(in oklab, var(--foreground) 90%, transparent);\n}\n\n[data-aui-theme=\"elements\"] [data-aui=\"checkbox\"] input, [data-aui-theme=\"elements\"] [data-aui=\"radiogroup-option\"] input, [data-aui-theme=\"elements\"] [data-aui=\"checkboxgroup-option\"] input {\n  accent-color: var(--foreground);\n}\n\n[data-aui-theme=\"elements\"] [data-aui=\"alert\"] {\n  border: none;\n  border-radius: 14px;\n}\n\n[data-aui-theme=\"elements\"] [data-aui=\"alert-title\"] {\n  font-size: 0.875rem;\n  font-weight: 500;\n}\n\n[data-aui-theme=\"elements\"] [data-aui=\"alert-desc\"] {\n  font-size: 0.8125rem;\n}\n\n[data-aui-theme=\"elements\"] [data-aui=\"divider\"] {\n  border-top-color: color-mix(in oklab, var(--foreground) 6%, transparent);\n}\n\n[data-aui-theme=\"elements\"] [data-aui=\"listview-item\"] + [data-aui=\"listview-item\"] {\n  border-top-color: color-mix(in oklab, var(--foreground) 6%, transparent);\n}\n\n[data-aui-theme=\"elements\"] [data-aui=\"listview-item-trigger\"] {\n  border-radius: 10px;\n}\n\n[data-aui-theme=\"elements\"] [data-aui=\"listview-item-trigger\"]:hover {\n  background-color: color-mix(in oklab, var(--foreground) 4%, transparent);\n}\n\n[data-aui-theme=\"elements\"] [data-aui=\"table-col\"] {\n  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n  font-size: 0.6875rem;\n  letter-spacing: -0.01em;\n  text-transform: none;\n  color: color-mix(in oklab, var(--foreground) 35%, transparent);\n  border-bottom-color: color-mix(in oklab, var(--foreground) 6%, transparent);\n}\n\n[data-aui-theme=\"elements\"] [data-aui=\"table\"] tbody tr:not(:last-child) td {\n  border-bottom-color: color-mix(in oklab, var(--foreground) 6%, transparent);\n}\n\n[data-aui-theme=\"elements\"] [data-aui=\"fact-label\"] {\n  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n  letter-spacing: -0.01em;\n  text-transform: none;\n  color: color-mix(in oklab, var(--foreground) 35%, transparent);\n}\n\n[data-aui-theme=\"elements\"] [data-aui=\"badge\"] {\n  align-self: center;\n  background-color: color-mix(in oklab, var(--foreground) 6%, transparent);\n  color: color-mix(in oklab, var(--foreground) 70%, transparent);\n}\n\n[data-aui-theme=\"elements\"] [data-aui=\"badge\"][data-aui-variant=\"info\"] {\n  background-color: color-mix(in oklab, var(--aui-live) 12%, transparent);\n  color: var(--aui-live);\n}\n\n[data-aui-theme=\"elements\"] [data-aui=\"chart\"] {\n  color: color-mix(in oklab, var(--foreground) 70%, transparent);\n}\n\n[data-aui-theme=\"elements\"] [data-aui=\"chart\"] polygon {\n  fill-opacity: 0.12;\n}\n\n[data-aui-theme=\"elements\"] [data-aui=\"chart-series\"][data-aui-series=\"0\"] {\n  color: color-mix(in oklab, var(--foreground) 80%, transparent);\n}\n\n[data-aui-theme=\"elements\"] [data-aui=\"chart-series\"][data-aui-series=\"1\"] {\n  color: var(--aui-live);\n}\n\n[data-aui-theme=\"elements\"] [data-aui=\"chart-series\"][data-aui-series=\"2\"] {\n  color: color-mix(in oklab, var(--foreground) 45%, transparent);\n}\n\n[data-aui-theme=\"elements\"] [data-aui=\"chart-series\"][data-aui-series=\"3\"] {\n  color: var(--aui-success);\n}\n\n[data-aui-theme=\"elements\"] [data-aui=\"chart-series\"][data-aui-series=\"4\"] {\n  color: color-mix(in oklab, var(--foreground) 30%, transparent);\n}\n\n[data-aui-theme=\"elements\"] [data-aui=\"chart-legend-item\"][data-aui-series=\"0\"] {\n  --aui-series-color: color-mix(in oklab, var(--foreground) 80%, transparent);\n}\n\n[data-aui-theme=\"elements\"] [data-aui=\"chart-legend-item\"][data-aui-series=\"1\"] {\n  --aui-series-color: var(--aui-live);\n}\n\n[data-aui-theme=\"elements\"] [data-aui=\"chart-legend-item\"][data-aui-series=\"2\"] {\n  --aui-series-color: color-mix(in oklab, var(--foreground) 45%, transparent);\n}\n\n[data-aui-theme=\"elements\"] [data-aui=\"chart-legend-item\"][data-aui-series=\"3\"] {\n  --aui-series-color: var(--aui-success);\n}\n\n[data-aui-theme=\"elements\"] [data-aui=\"chart-legend-item\"][data-aui-series=\"4\"] {\n  --aui-series-color: color-mix(in oklab, var(--foreground) 30%, transparent);\n}\n\n[data-aui-theme=\"elements\"] [data-aui=\"chart-series\"][data-aui-color=\"emphasis\"] {\n  color: var(--foreground);\n}\n\n[data-aui-theme=\"elements\"] [data-aui=\"chart-legend-item\"][data-aui-color=\"emphasis\"] {\n  --aui-series-color: var(--foreground);\n}\n\n[data-aui-theme=\"elements\"] [data-aui=\"chart-series\"][data-aui-color=\"secondary\"] {\n  color: color-mix(in oklab, var(--foreground) 62%, transparent);\n}\n\n[data-aui-theme=\"elements\"] [data-aui=\"chart-legend-item\"][data-aui-color=\"secondary\"] {\n  --aui-series-color: color-mix(in oklab, var(--foreground) 62%, transparent);\n}\n\n[data-aui-theme=\"elements\"] [data-aui=\"chart-series\"][data-aui-color=\"alpha-70\"] {\n  color: color-mix(in oklab, var(--foregro
1973und) 70%, transparent);\n}\n\n[data-aui-theme=\"elements\"] [data-aui=\"chart-legend-item\"][data-aui-color=\"alpha-70\"] {\n  --aui-series-color: color-mix(in oklab, var(--foreground) 70%, transparent);\n}\n\n[data-aui-theme=\"elements\"] [data-aui=\"chart-series\"][data-aui-color=\"white\"] {\n  color: white;\n}\n\n[data-aui-theme=\"elements\"] [data-aui=\"chart-legend-item\"][data-aui-color=\"white\"] {\n  --aui-series-color: white;\n}\n\n[data-aui-theme=\"elements\"] [data-aui=\"chart-series\"][data-aui-color=\"white-70\"] {\n  color: color-mix(in oklab, white 70%, transparent);\n}\n\n[data-aui-theme=\"elements\"] [data-aui=\"chart-legend-item\"][data-aui-color=\"white-70\"] {\n  --aui-series-color: color-mix(in oklab, white 70%, transparent);\n}\n\n[data-aui-theme=\"elements\"] [data-aui=\"chart-series\"][data-aui-color=\"white-50\"] {\n  color: color-mix(in oklab, white 50%, transparent);\n}\n\n[data-aui-theme=\"elements\"] [data-aui=\"chart-legend-item\"][data-aui-color=\"white-50\"] {\n  --aui-series-color: color-mix(in oklab, white 50%, transparent);\n}\n\n[data-aui-theme=\"elements\"] [data-aui=\"chart-legend-swatch\"] {\n  border-radius: 9999px;\n}\n\n[data-aui-theme=\"elements\"] [data-aui=\"image\"] {\n  border-radius: 12px;\n  outline: 1px solid oklch(0 0 0 / 0.08);\n  outline-offset: -1px;\n}\n\n.dark [data-aui-theme=\"elements\"] [data-aui=\"image\"] {\n  outline: 1px solid oklch(1 0 0 / 0.1);\n}\n\n[data-aui-theme=\"elements\"] [data-aui=\"markdown\"] a {\n  color: var(--aui-live);\n}\n\n[data-aui-theme=\"elements\"] [data-aui=\"markdown\"] code, [data-aui-theme=\"elements\"] [data-aui=\"markdown\"] pre {\n  background-color: color-mix(in oklab, var(--foreground) 5%, transparent);\n}"])</script>
1973<script>self.__next_f.push([1,"9:X\na:X\nb:X\nc:X\n11:X\n12:X\n13:X\n"])</script>
1973<script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"blog\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"(home)\",{\"children\":[\"blog\",{\"children\":[\"__PAGE__\",{},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4624],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/immutable/chunks/28j5j44nbycqa.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/immutable/chunks/08lx4z86o-kcy.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/immutable/chunks/00jla400dltnu.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/immutable/chunks/39sygckgvod3e.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-2\",{\"src\":\"/_next/static/immutable/chunks/0chquwv9wyw8c.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-3\",{\"src\":\"/_next/static/immutable/chunks/1t1mbmt0_e717.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-4\",{\"src\":\"/_next/static/immutable/chunks/3qioqfoukn7s_.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-5\",{\"src\":\"/_next/static/immutable/chunks/0pz-yrez75of-.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-6\",{\"src\":\"/_next/static/immutable/chunks/2hc3lha1ed1nk.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-7\",{\"src\":\"/_next/static/immutable/chunks/1bfzxdjt0heom.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-8\",{\"src\":\"/_next/static/immutable/chunks/16wahavi5zm3j.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-9\",{\"src\":\"/_next/static/immutable/chunks/1x9ujbp569gb8.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-10\",{\"src\":\"/_next/static/immutable/chunks/2vw7kgemxtqzd.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-11\",{\"src\":\"/_next/static/immutable/chunks/0kwj0z81-a1cu.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-12\",{\"src\":\"/_next/static/immutable/chunks/1x_nf8rs78h3n.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-13\",{\"src\":\"/_next/static/immutable/chunks/0nrnqjyd-q2is.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-14\",{\"src\":\"/_next/static/immutable/chunks/2vowh50j-ok7z.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-15\",{\"src\":\"/_next/static/immutable/chunks/04ci540bmxauh.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-16\",{\"src\":\"/_next/static/immutable/chunks/29kkh6-lh0h1a.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-17\",{\"src\":\"/_next/static/immutable/chunks/0li-knucq9-dc.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-18\",{\"src\":\"/_next/static/immutable/chunks/307dgth29f31j.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-19\",{\"src\":\"/_next/static/immutable/chunks/3yu9t9mxl1ta0.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-20\",{\"src\":\"/_next/static/immutable/chunks/1b203bov0h125.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-21\",{\"src\":\"/_next/static/immutable/chunks/13pcr5n0bwk47.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-22\",{\"src\":\"/_next/static/immutable/chunks/13d2ofwhzs59u.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-23\",{\"src\":\"/_next/static/immutable/chunks/2rax0kdawtj1h.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-24\",{\"src\":\"/_next/static/immutable/chunks/1qhm5r0jub3en.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-25\",{\"src\":\"/_next/static/immutable/chunks/0aoeil02qfsn5.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-26\",{\"src\":\"/_next/static/immutable/chunks/0k3os36czqzy4.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-27\",{\"src\":\"/_next/static/immutable/chunks/3s4707kgr1a33.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-28\",{\"src\":\"/_next/static/immutable/chunks/1xui5_f1wum6y.js\",\"async\":true,\"nonce\":\"$undefined\"}
1973],[\"$\",\"script\",\"script-29\",{\"src\":\"/_next/static/immutable/chunks/1kb1x1v2ddq-3.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"style\",null,{\"children\":\"$2\"}],\"$L3\",\"$L4\"]}],\"$L5\"]}]]}],{\"children\":[\"$L6\",{\"children\":[\"$L7\",{\"children\":[\"$L8\",{},null,true,\"$9\"]},null,true,\"$a\"]},null,true,\"$b\"]},null,true,\"$c\"],\"$Ld\",true]],\"m\":\"$undefined\",\"G\":[\"$e\",[\"$Lf\",\"$L10\"]],\"S\":true,\"h\":\"$11\",\"r\":\"$12\",\"s\":\"$13\",\"a\":\"$@14\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"mVac5gM1rqpN_EwJMuiy4\",\"u\":\"$@15\"}\n"])</script>
1973<script>self.__next_f.push([1,"18:I[403980,[\"/_next/static/immutable/chunks/00jla400dltnu.js\",\"/_next/static/immutable/chunks/39sygckgvod3e.js\",\"/_next/static/immutable/chunks/0chquwv9wyw8c.js\",\"/_next/static/immutable/chunks/1t1mbmt0_e717.js\",\"/_next/static/immutable/chunks/3qioqfoukn7s_.js\",\"/_next/static/immutable/chunks/0pz-yrez75of-.js\",\"/_next/static/immutable/chunks/2hc3lha1ed1nk.js\",\"/_next/static/immutable/chunks/1bfzxdjt0heom.js\",\"/_next/static/immutable/chunks/16wahavi5zm3j.js\",\"/_next/static/immutable/chunks/1x9ujbp569gb8.js\",\"/_next/static/immutable/chunks/2vw7kgemxtqzd.js\",\"/_next/static/immutable/chunks/0kwj0z81-a1cu.js\",\"/_next/static/immutable/chunks/1x_nf8rs78h3n.js\",\"/_next/static/immutable/chunks/0nrnqjyd-q2is.js\",\"/_next/static/immutable/chunks/2vowh50j-ok7z.js\",\"/_next/static/immutable/chunks/04ci540bmxauh.js\",\"/_next/static/immutable/chunks/29kkh6-lh0h1a.js\",\"/_next/static/immutable/chunks/0li-knucq9-dc.js\",\"/_next/static/immutable/chunks/307dgth29f31j.js\",\"/_next/static/immutable/chunks/3yu9t9mxl1ta0.js\",\"/_next/static/immutable/chunks/1b203bov0h125.js\",\"/_next/static/immutable/chunks/13pcr5n0bwk47.js\",\"/_next/static/immutable/chunks/13d2ofwhzs59u.js\",\"/_next/static/immutable/chunks/2rax0kdawtj1h.js\",\"/_next/static/immutable/chunks/1qhm5r0jub3en.js\",\"/_next/static/immutable/chunks/0aoeil02qfsn5.js\",\"/_next/static/immutable/chunks/0k3os36czqzy4.js\",\"/_next/static/immutable/chunks/3s4707kgr1a33.js\",\"/_next/static/immutable/chunks/1xui5_f1wum6y.js\",\"/_next/static/immutable/chunks/1kb1x1v2ddq-3.js\"],\"Provider\"]\n"])</script>
1973<script>self.__next_f.push([1,"19:I[885180,[\"/_next/static/immutable/chunks/00jla400dltnu.js\",\"/_next/static/immutable/chunks/39sygckgvod3e.js\",\"/_next/static/immutable/chunks/0chquwv9wyw8c.js\",\"/_next/static/immutable/chunks/1t1mbmt0_e717.js\",\"/_next/static/immutable/chunks/3qioqfoukn7s_.js\",\"/_next/static/immutable/chunks/0pz-yrez75of-.js\",\"/_next/static/immutable/chunks/2hc3lha1ed1nk.js\",\"/_next/static/immutable/chunks/1bfzxdjt0heom.js\",\"/_next/static/immutable/chunks/16wahavi5zm3j.js\",\"/_next/static/immutable/chunks/1x9ujbp569gb8.js\",\"/_next/static/immutable/chunks/2vw7kgemxtqzd.js\",\"/_next/static/immutable/chunks/0kwj0z81-a1cu.js\",\"/_next/static/immutable/chunks/1x_nf8rs78h3n.js\",\"/_next/static/immutable/chunks/0nrnqjyd-q2is.js\",\"/_next/static/immutable/chunks/2vowh50j-ok7z.js\",\"/_next/static/immutable/chunks/04ci540bmxauh.js\",\"/_next/static/immutable/chunks/29kkh6-lh0h1a.js\",\"/_next/static/immutable/chunks/0li-knucq9-dc.js\",\"/_next/static/immutable/chunks/307dgth29f31j.js\",\"/_next/static/immutable/chunks/3yu9t9mxl1ta0.js\",\"/_next/static/immutable/chunks/1b203bov0h125.js\",\"/_next/static/immutable/chunks/13pcr5n0bwk47.js\",\"/_next/static/immutable/chunks/13d2ofwhzs59u.js\",\"/_next/static/immutable/chunks/2rax0kdawtj1h.js\",\"/_next/static/immutable/chunks/1qhm5r0jub3en.js\",\"/_next/static/immutable/chunks/0aoeil02qfsn5.js\",\"/_next/static/immutable/chunks/0k3os36czqzy4.js\",\"/_next/static/immutable/chunks/3s4707kgr1a33.js\",\"/_next/static/immutable/chunks/1xui5_f1wum6y.js\",\"/_next/static/immutable/chunks/1kb1x1v2ddq-3.js\"],\"SiteAssistant\"]\n"])</script>
1973<script>self.__next_f.push([1,"1a:I[2507,[\"/_next/static/immutable/chunks/00jla400dltnu.js\",\"/_next/static/immutable/chunks/39sygckgvod3e.js\",\"/_next/static/immutable/chunks/0chquwv9wyw8c.js\",\"/_next/static/immutable/chunks/1t1mbmt0_e717.js\",\"/_next/static/immutable/chunks/3qioqfoukn7s_.js\",\"/_next/static/immutable/chunks/0pz-yrez75of-.js\",\"/_next/static/immutable/chunks/2hc3lha1ed1nk.js\",\"/_next/static/immutable/chunks/1bfzxdjt0heom.js\",\"/_next/static/immutable/chunks/16wahavi5zm3j.js\",\"/_next/static/immutable/chunks/1x9ujbp569gb8.js\",\"/_next/static/immutable/chunks/2vw7kgemxtqzd.js\",\"/_next/static/immutable/chunks/0kwj0z81-a1cu.js\",\"/_next/static/immutable/chunks/1x_nf8rs78h3n.js\",\"/_next/static/immutable/chunks/0nrnqjyd-q2is.js\",\"/_next/static/immutable/chunks/2vowh50j-ok7z.js\",\"/_next/static/immutable/chunks/04ci540bmxauh.js\",\"/_next/static/immutable/chunks/29kkh6-lh0h1a.js\",\"/_next/static/immutable/chunks/0li-knucq9-dc.js\",\"/_next/static/immutable/chunks/307dgth29f31j.js\",\"/_next/static/immutable/chunks/3yu9t9mxl1ta0.js\",\"/_next/static/immutable/chunks/1b203bov0h125.js\",\"/_next/static/immutable/chunks/13pcr5n0bwk47.js\",\"/_next/static/immutable/chunks/13d2ofwhzs59u.js\",\"/_next/static/immutable/chunks/2rax0kdawtj1h.js\",\"/_next/static/immutable/chunks/1qhm5r0jub3en.js\",\"/_next/static/immutable/chunks/0aoeil02qfsn5.js\",\"/_next/static/immutable/chunks/0k3os36czqzy4.js\",\"/_next/static/immutable/chunks/3s4707kgr1a33.js\",\"/_next/static/immutable/chunks/1xui5_f1wum6y.js\",\"/_next/static/immutable/chunks/1kb1x1v2ddq-3.js\"],\"default\"]\n"])</script>
1973<script>self.__next_f.push([1,"1b:I[891602,[\"/_next/static/immutable/chunks/00jla400dltnu.js\",\"/_next/static/immutable/chunks/39sygckgvod3e.js\",\"/_next/static/immutable/chunks/0chquwv9wyw8c.js\",\"/_next/static/immutable/chunks/1t1mbmt0_e717.js\",\"/_next/static/immutable/chunks/3qioqfoukn7s_.js\",\"/_next/static/immutable/chunks/0pz-yrez75of-.js\",\"/_next/static/immutable/chunks/2hc3lha1ed1nk.js\",\"/_next/static/immutable/chunks/1bfzxdjt0heom.js\",\"/_next/static/immutable/chunks/16wahavi5zm3j.js\",\"/_next/static/immutable/chunks/1x9ujbp569gb8.js\",\"/_next/static/immutable/chunks/2vw7kgemxtqzd.js\",\"/_next/static/immutable/chunks/0kwj0z81-a1cu.js\",\"/_next/static/immutable/chunks/1x_nf8rs78h3n.js\",\"/_next/static/immutable/chunks/0nrnqjyd-q2is.js\",\"/_next/static/immutable/chunks/2vowh50j-ok7z.js\",\"/_next/static/immutable/chunks/04ci540bmxauh.js\",\"/_next/static/immutable/chunks/29kkh6-lh0h1a.js\",\"/_next/static/immutable/chunks/0li-knucq9-dc.js\",\"/_next/static/immutable/chunks/307dgth29f31j.js\",\"/_next/static/immutable/chunks/3yu9t9mxl1ta0.js\",\"/_next/static/immutable/chunks/1b203bov0h125.js\",\"/_next/static/immutable/chunks/13pcr5n0bwk47.js\",\"/_next/static/immutable/chunks/13d2ofwhzs59u.js\",\"/_next/static/immutable/chunks/2rax0kdawtj1h.js\",\"/_next/static/immutable/chunks/1qhm5r0jub3en.js\",\"/_next/static/immutable/chunks/0aoeil02qfsn5.js\",\"/_next/static/immutable/chunks/0k3os36czqzy4.js\",\"/_next/static/immutable/chunks/3s4707kgr1a33.js\",\"/_next/static/immutable/chunks/1xui5_f1wum6y.js\",\"/_next/static/immutable/chunks/1kb1x1v2ddq-3.js\"],\"default\"]\n"])</script>
1973<script>self.__next_f.push([1,"1c:I[502568,[\"/_next/static/immutable/chunks/00jla400dltnu.js\",\"/_next/static/immutable/chunks/39sygckgvod3e.js\",\"/_next/static/immutable/chunks/0chquwv9wyw8c.js\",\"/_next/static/immutable/chunks/1t1mbmt0_e717.js\",\"/_next/static/immutable/chunks/3qioqfoukn7s_.js\",\"/_next/static/immutable/chunks/0pz-yrez75of-.js\",\"/_next/static/immutable/chunks/2hc3lha1ed1nk.js\",\"/_next/static/immutable/chunks/1bfzxdjt0heom.js\",\"/_next/static/immutable/chunks/16wahavi5zm3j.js\",\"/_next/static/immutable/chunks/1x9ujbp569gb8.js\",\"/_next/static/immutable/chunks/2vw7kgemxtqzd.js\",\"/_next/static/immutable/chunks/0kwj0z81-a1cu.js\",\"/_next/static/immutable/chunks/1x_nf8rs78h3n.js\",\"/_next/static/immutable/chunks/0nrnqjyd-q2is.js\",\"/_next/static/immutable/chunks/2vowh50j-ok7z.js\",\"/_next/static/immutable/chunks/04ci540bmxauh.js\",\"/_next/static/immutable/chunks/29kkh6-lh0h1a.js\",\"/_next/static/immutable/chunks/0li-knucq9-dc.js\",\"/_next/static/immutable/chunks/307dgth29f31j.js\",\"/_next/static/immutable/chunks/3yu9t9mxl1ta0.js\",\"/_next/static/immutable/chunks/1b203bov0h125.js\",\"/_next/static/immutable/chunks/13pcr5n0bwk47.js\",\"/_next/static/immutable/chunks/13d2ofwhzs59u.js\",\"/_next/static/immutable/chunks/2rax0kdawtj1h.js\",\"/_next/static/immutable/chunks/1qhm5r0jub3en.js\",\"/_next/static/immutable/chunks/0aoeil02qfsn5.js\",\"/_next/static/immutable/chunks/0k3os36czqzy4.js\",\"/_next/static/immutable/chunks/3s4707kgr1a33.js\",\"/_next/static/immutable/chunks/1xui5_f1wum6y.js\",\"/_next/static/immutable/chunks/1kb1x1v2ddq-3.js\",\"/_next/static/immutable/chunks/0mq0wq5a4mrp5.js\"],\"default\"]\n"])</script>
1973<script>self.__next_f.push([1,"1d:I[757771,[\"/_next/static/immutable/chunks/00jla400dltnu.js\",\"/_next/static/immutable/chunks/39sygckgvod3e.js\",\"/_next/static/immutable/chunks/0chquwv9wyw8c.js\",\"/_next/static/immutable/chunks/1t1mbmt0_e717.js\",\"/_next/static/immutable/chunks/3qioqfoukn7s_.js\",\"/_next/static/immutable/chunks/0pz-yrez75of-.js\",\"/_next/static/immutable/chunks/2hc3lha1ed1nk.js\",\"/_next/static/immutable/chunks/1bfzxdjt0heom.js\",\"/_next/static/immutable/chunks/16wahavi5zm3j.js\",\"/_next/static/immutable/chunks/1x9ujbp569gb8.js\",\"/_next/static/immutable/chunks/2vw7kgemxtqzd.js\",\"/_next/static/immutable/chunks/0kwj0z81-a1cu.js\",\"/_next/static/immutable/chunks/1x_nf8rs78h3n.js\",\"/_next/static/immutable/chunks/0nrnqjyd-q2is.js\",\"/_next/static/immutable/chunks/2vowh50j-ok7z.js\",\"/_next/static/immutable/chunks/04ci540bmxauh.js\",\"/_next/static/immutable/chunks/29kkh6-lh0h1a.js\",\"/_next/static/immutable/chunks/0li-knucq9-dc.js\",\"/_next/static/immutable/chunks/307dgth29f31j.js\",\"/_next/static/immutable/chunks/3yu9t9mxl1ta0.js\",\"/_next/static/immutable/chunks/1b203bov0h125.js\",\"/_next/static/immutable/chunks/13pcr5n0bwk47.js\",\"/_next/static/immutable/chunks/13d2ofwhzs59u.js\",\"/_next/static/immutable/chunks/2rax0kdawtj1h.js\",\"/_next/static/immutable/chunks/1qhm5r0jub3en.js\",\"/_next/static/immutable/chunks/0aoeil02qfsn5.js\",\"/_next/static/immutable/chunks/0k3os36czqzy4.js\",\"/_next/static/immutable/chunks/3s4707kgr1a33.js\",\"/_next/static/immutable/chunks/1xui5_f1wum6y.js\",\"/_next/static/immutable/chunks/1kb1x1v2ddq-3.js\"],\"OutsideRenderer\"]\n"])</script>
1973<script>self.__next_f.push([1,"1e:I[804485,[\"/_next/static/immutable/chunks/00jla400dltnu.js\",\"/_next/static/immutable/chunks/39sygckgvod3e.js\",\"/_next/static/immutable/chunks/0chquwv9wyw8c.js\",\"/_next/static/immutable/chunks/1t1mbmt0_e717.js\",\"/_next/static/immutable/chunks/3qioqfoukn7s_.js\",\"/_next/static/immutable/chunks/0pz-yrez75of-.js\",\"/_next/static/immutable/chunks/2hc3lha1ed1nk.js\",\"/_next/static/immutable/chunks/1bfzxdjt0heom.js\",\"/_next/static/immutable/chunks/16wahavi5zm3j.js\",\"/_next/static/immutable/chunks/1x9ujbp569gb8.js\",\"/_next/static/immutable/chunks/2vw7kgemxtqzd.js\",\"/_next/static/immutable/chunks/0kwj0z81-a1cu.js\",\"/_next/static/immutable/chunks/1x_nf8rs78h3n.js\",\"/_next/static/immutable/chunks/0nrnqjyd-q2is.js\",\"/_next/static/immutable/chunks/2vowh50j-ok7z.js\",\"/_next/static/immutable/chunks/04ci540bmxauh.js\",\"/_next/static/immutable/chunks/29kkh6-lh0h1a.js\",\"/_next/static/immutable/chunks/0li-knucq9-dc.js\",\"/_next/static/immutable/chunks/307dgth29f31j.js\",\"/_next/static/immutable/chunks/3yu9t9mxl1ta0.js\",\"/_next/static/immutable/chunks/1b203bov0h125.js\",\"/_next/static/immutable/chunks/13pcr5n0bwk47.js\",\"/_next/static/immutable/chunks/13d2ofwhzs59u.js\",\"/_next/static/immutable/chunks/2rax0kdawtj1h.js\",\"/_next/static/immutable/chunks/1qhm5r0jub3en.js\",\"/_next/static/immutable/chunks/0aoeil02qfsn5.js\",\"/_next/static/immutable/chunks/0k3os36czqzy4.js\",\"/_next/static/immutable/chunks/3s4707kgr1a33.js\",\"/_next/static/immutable/chunks/1xui5_f1wum6y.js\",\"/_next/static/immutable/chunks/1kb1x1v2ddq-3.js\"],\"AnalyticsGate\"]\n"])</script>
1973<script>self.__next_f.push([1,"1f:I[446404,[\"/_next/static/immutable/chunks/00jla400dltnu.js\",\"/_next/static/immutable/chunks/39sygckgvod3e.js\",\"/_next/static/immutable/chunks/0chquwv9wyw8c.js\",\"/_next/static/immutable/chunks/1t1mbmt0_e717.js\",\"/_next/static/immutable/chunks/3qioqfoukn7s_.js\",\"/_next/static/immutable/chunks/0pz-yrez75of-.js\",\"/_next/static/immutable/chunks/2hc3lha1ed1nk.js\",\"/_next/static/immutable/chunks/1bfzxdjt0heom.js\",\"/_next/static/immutable/chunks/16wahavi5zm3j.js\",\"/_next/static/immutable/chunks/1x9ujbp569gb8.js\",\"/_next/static/immutable/chunks/2vw7kgemxtqzd.js\",\"/_next/static/immutable/chunks/0kwj0z81-a1cu.js\",\"/_next/static/immutable/chunks/1x_nf8rs78h3n.js\",\"/_next/static/immutable/chunks/0nrnqjyd-q2is.js\",\"/_next/static/immutable/chunks/2vowh50j-ok7z.js\",\"/_next/static/immutable/chunks/04ci540bmxauh.js\",\"/_next/static/immutable/chunks/29kkh6-lh0h1a.js\",\"/_next/static/immutable/chunks/0li-knucq9-dc.js\",\"/_next/static/immutable/chunks/307dgth29f31j.js\",\"/_next/static/immutable/chunks/3yu9t9mxl1ta0.js\",\"/_next/static/immutable/chunks/1b203bov0h125.js\",\"/_next/static/immutable/chunks/13pcr5n0bwk47.js\",\"/_next/static/immutable/chunks/13d2ofwhzs59u.js\",\"/_next/static/immutable/chunks/2rax0kdawtj1h.js\",\"/_next/static/immutable/chunks/1qhm5r0jub3en.js\",\"/_next/static/immutable/chunks/0aoeil02qfsn5.js\",\"/_next/static/immutable/chunks/0k3os36czqzy4.js\",\"/_next/static/immutable/chunks/3s4707kgr1a33.js\",\"/_next/static/immutable/chunks/1xui5_f1wum6y.js\",\"/_next/static/immutable/chunks/1kb1x1v2ddq-3.js\"],\"ConsentBanner\"]\n"])</script>
1973<script>self.__next_f.push([1,"20:I[274295,[\"/_next/static/immutable/chunks/00jla400dltnu.js\",\"/_next/static/immutable/chunks/39sygckgvod3e.js\",\"/_next/static/immutable/chunks/0chquwv9wyw8c.js\",\"/_next/static/immutable/chunks/1t1mbmt0_e717.js\",\"/_next/static/immutable/chunks/3qioqfoukn7s_.js\",\"/_next/static/immutable/chunks/0pz-yrez75of-.js\",\"/_next/static/immutable/chunks/2hc3lha1ed1nk.js\",\"/_next/static/immutable/chunks/1bfzxdjt0heom.js\",\"/_next/static/immutable/chunks/16wahavi5zm3j.js\",\"/_next/static/immutable/chunks/1x9ujbp569gb8.js\",\"/_next/static/immutable/chunks/2vw7kgemxtqzd.js\",\"/_next/static/immutable/chunks/0kwj0z81-a1cu.js\",\"/_next/static/immutable/chunks/1x_nf8rs78h3n.js\",\"/_next/static/immutable/chunks/0nrnqjyd-q2is.js\",\"/_next/static/immutable/chunks/2vowh50j-ok7z.js\",\"/_next/static/immutable/chunks/04ci540bmxauh.js\",\"/_next/static/immutable/chunks/29kkh6-lh0h1a.js\",\"/_next/static/immutable/chunks/0li-knucq9-dc.js\",\"/_next/static/immutable/chunks/307dgth29f31j.js\",\"/_next/static/immutable/chunks/3yu9t9mxl1ta0.js\",\"/_next/static/immutable/chunks/1b203bov0h125.js\",\"/_next/static/immutable/chunks/13pcr5n0bwk47.js\",\"/_next/static/immutable/chunks/13d2ofwhzs59u.js\",\"/_next/static/immutable/chunks/2rax0kdawtj1h.js\",\"/_next/static/immutable/chunks/1qhm5r0jub3en.js\",\"/_next/static/immutable/chunks/0aoeil02qfsn5.js\",\"/_next/static/immutable/chunks/0k3os36czqzy4.js\",\"/_next/static/immutable/chunks/3s4707kgr1a33.js\",\"/_next/static/immutable/chunks/1xui5_f1wum6y.js\",\"/_next/static/immutable/chunks/1kb1x1v2ddq-3.js\",\"/_next/static/immutable/chunks/0x16tld98hitk.js\",\"/_next/static/immutable/chunks/35o5co0n2b_7m.js\",\"/_next/static/immutable/chunks/19zmpcb747leg.js\",\"/_next/static/immutable/chunks/092-t-_kn2cw0.js\"],\"Header\"]\n"])</script>
1973<script>self.__next_f.push([1,"21:I[369716,[\"/_next/static/immutable/chunks/00jla400dltnu.js\",\"/_next/static/immutable/chunks/39sygckgvod3e.js\",\"/_next/static/immutable/chunks/0chquwv9wyw8c.js\",\"/_next/static/immutable/chunks/1t1mbmt0_e717.js\",\"/_next/static/immutable/chunks/3qioqfoukn7s_.js\",\"/_next/static/immutable/chunks/0pz-yrez75of-.js\",\"/_next/static/immutable/chunks/2hc3lha1ed1nk.js\",\"/_next/static/immutable/chunks/1bfzxdjt0heom.js\",\"/_next/static/immutable/chunks/16wahavi5zm3j.js\",\"/_next/static/immutable/chunks/1x9ujbp569gb8.js\",\"/_next/static/immutable/chunks/2vw7kgemxtqzd.js\",\"/_next/static/immutable/chunks/0kwj0z81-a1cu.js\",\"/_next/static/immutable/chunks/1x_nf8rs78h3n.js\",\"/_next/static/immutable/chunks/0nrnqjyd-q2is.js\",\"/_next/static/immutable/chunks/2vowh50j-ok7z.js\",\"/_next/static/immutable/chunks/04ci540bmxauh.js\",\"/_next/static/immutable/chunks/29kkh6-lh0h1a.js\",\"/_next/static/immutable/chunks/0li-knucq9-dc.js\",\"/_next/static/immutable/chunks/307dgth29f31j.js\",\"/_next/static/immutable/chunks/3yu9t9mxl1ta0.js\",\"/_next/static/immutable/chunks/1b203bov0h125.js\",\"/_next/static/immutable/chunks/13pcr5n0bwk47.js\",\"/_next/static/immutable/chunks/13d2ofwhzs59u.js\",\"/_next/static/immutable/chunks/2rax0kdawtj1h.js\",\"/_next/static/immutable/chunks/1qhm5r0jub3en.js\",\"/_next/static/immutable/chunks/0aoeil02qfsn5.js\",\"/_next/static/immutable/chunks/0k3os36czqzy4.js\",\"/_next/static/immutable/chunks/3s4707kgr1a33.js\",\"/_next/static/immutable/chunks/1xui5_f1wum6y.js\",\"/_next/static/immutable/chunks/1kb1x1v2ddq-3.js\",\"/_next/static/immutable/chunks/0x16tld98hitk.js\",\"/_next/static/immutable/chunks/35o5co0n2b_7m.js\",\"/_next/static/immutable/chunks/19zmpcb747leg.js\",\"/_next/static/immutable/chunks/092-t-_kn2cw0.js\",\"/_next/static/immutable/chunks/3yte4yb3zzkdg.js\",\"/_next/static/immutable/chunks/2g5jszg3jhbe8.js\",\"/_next/static/immutable/chunks/2bc3q60udcsyh.js\",\"/_next/static/immutable/chunks/3t7o872woljz4.js\",\"/_next/static/immutable/chunks/2jd-ymjm3urhg.js\",\"/_next/static/immutable/chunks/2x_yzy81jem0g.js\",\"/_next/static/immutable/chunks/3a9r4yk7-enqb.js\",\"/_next/static/immutable/chunks/118855ayjkmyz.js\",\"/_next/static/immutable/chunks/2fa3lpx46hrot.js\",\"/_next/static/immutable/chunks/42w6-z5ubnxfl.js\",\"/_next/static/immutable/chunks/0sfe1kmu8viqy.js\",\"/_next/static/immutable/chunks/05w4y3zvd4hqm.js\",\"/_next/static/immutable/chunks/0ytjzh-60xm6f.js\",\"/_next/static/immutable/chunks/0vllu1tbymv50.js\",\"/_next/static/immutable/chunks/3ro-6hhnd3jz_.js\",\"/_next/static/immutable/chunks/23zq66b1-0qsc.js\",\"/_next/static/immutable/chunks/3m6634oy_zldp.js\"],\"\"]\n"])</script>
1973<script>self.__next_f.push([1,"25:I[547397,[\"/_next/static/immutable/chunks/00jla400dltnu.js\",\"/_next/static/immutable/chunks/39sygckgvod3e.js\",\"/_next/static/immutable/chunks/0chquwv9wyw8c.js\",\"/_next/static/immutable/chunks/1t1mbmt0_e717.js\",\"/_next/static/immutable/chunks/3qioqfoukn7s_.js\",\"/_next/static/immutable/chunks/0pz-yrez75of-.js\",\"/_next/static/immutable/chunks/2hc3lha1ed1nk.js\",\"/_next/static/immutable/chunks/1bfzxdjt0heom.js\",\"/_next/static/immutable/chunks/16wahavi5zm3j.js\",\"/_next/static/immutable/chunks/1x9ujbp569gb8.js\",\"/_next/static/immutable/chunks/2vw7kgemxtqzd.js\",\"/_next/static/immutable/chunks/0kwj0z81-a1cu.js\",\"/_next/static/immutable/chunks/1x_nf8rs78h3n.js\",\"/_next/static/immutable/chunks/0nrnqjyd-q2is.js\",\"/_next/static/immutable/chunks/2vowh50j-ok7z.js\",\"/_next/static/immutable/chunks/04ci540bmxauh.js\",\"/_next/static/immutable/chunks/29kkh6-lh0h1a.js\",\"/_next/static/immutable/chunks/0li-knucq9-dc.js\",\"/_next/static/immutable/chunks/307dgth29f31j.js\",\"/_next/static/immutable/chunks/3yu9t9mxl1ta0.js\",\"/_next/static/immutable/chunks/1b203bov0h125.js\",\"/_next/static/immutable/chunks/13pcr5n0bwk47.js\",\"/_next/static/immutable/chunks/13d2ofwhzs59u.js\",\"/_next/static/immutable/chunks/2rax0kdawtj1h.js\",\"/_next/static/immutable/chunks/1qhm5r0jub3en.js\",\"/_next/static/immutable/chunks/0aoeil02qfsn5.js\",\"/_next/static/immutable/chunks/0k3os36czqzy4.js\",\"/_next/static/immutable/chunks/3s4707kgr1a33.js\",\"/_next/static/immutable/chunks/1xui5_f1wum6y.js\",\"/_next/static/immutable/chunks/1kb1x1v2ddq-3.js\",\"/_next/static/immutable/chunks/0x16tld98hitk.js\",\"/_next/static/immutable/chunks/35o5co0n2b_7m.js\",\"/_next/static/immutable/chunks/19zmpcb747leg.js\",\"/_next/static/immutable/chunks/092-t-_kn2cw0.js\",\"/_next/static/immutable/chunks/3yte4yb3zzkdg.js\",\"/_next/static/immutable/chunks/2g5jszg3jhbe8.js\",\"/_next/static/immutable/chunks/2bc3q60udcsyh.js\",\"/_next/static/immutable/chunks/3t7o872woljz4.js\",\"/_next/static/immutable/chunks/2jd-ymjm3urhg.js\",\"/_next/static/immutable/chunks/2x_yzy81jem0g.js\",\"/_next/static/immutable/chunks/3a9r4yk7-enqb.js\",\"/_next/static/immutable/chunks/118855ayjkmyz.js\",\"/_next/static/immutable/chunks/2fa3lpx46hrot.js\",\"/_next/static/immutable/chunks/42w6-z5ubnxfl.js\",\"/_next/static/immutable/chunks/0sfe1kmu8viqy.js\",\"/_next/static/immutable/chunks/05w4y3zvd4hqm.js\",\"/_next/static/immutable/chunks/0ytjzh-60xm6f.js\",\"/_next/static/immutable/chunks/0vllu1tbymv50.js\",\"/_next/static/immutable/chunks/3ro-6hhnd3jz_.js\",\"/_next/static/immutable/chunks/23zq66b1-0qsc.js\",\"/_next/static/immutable/chunks/3m6634oy_zldp.js\"],\"default\"]\n"])</script>
1973<script>self.__next_f.push([1,"3f:I[877433,[\"/_next/static/immutable/chunks/00jla400dltnu.js\",\"/_next/static/immutable/chunks/39sygckgvod3e.js\",\"/_next/static/immutable/chunks/0chquwv9wyw8c.js\",\"/_next/static/immutable/chunks/1t1mbmt0_e717.js\",\"/_next/static/immutable/chunks/3qioqfoukn7s_.js\",\"/_next/static/immutable/chunks/0pz-yrez75of-.js\",\"/_next/static/immutable/chunks/2hc3lha1ed1nk.js\",\"/_next/static/immutable/chunks/1bfzxdjt0heom.js\",\"/_next/static/immutable/chunks/16wahavi5zm3j.js\",\"/_next/static/immutable/chunks/1x9ujbp569gb8.js\",\"/_next/static/immutable/chunks/2vw7kgemxtqzd.js\",\"/_next/static/immutable/chunks/0kwj0z81-a1cu.js\",\"/_next/static/immutable/chunks/1x_nf8rs78h3n.js\",\"/_next/static/immutable/chunks/0nrnqjyd-q2is.js\",\"/_next/static/immutable/chunks/2vowh50j-ok7z.js\",\"/_next/static/immutable/chunks/04ci540bmxauh.js\",\"/_next/static/immutable/chunks/29kkh6-lh0h1a.js\",\"/_next/static/immutable/chunks/0li-knucq9-dc.js\",\"/_next/static/immutable/chunks/307dgth29f31j.js\",\"/_next/static/immutable/chunks/3yu9t9mxl1ta0.js\",\"/_next/static/immutable/chunks/1b203bov0h125.js\",\"/_next/static/immutable/chunks/13pcr5n0bwk47.js\",\"/_next/static/immutable/chunks/13d2ofwhzs59u.js\",\"/_next/static/immutable/chunks/2rax0kdawtj1h.js\",\"/_next/static/immutable/chunks/1qhm5r0jub3en.js\",\"/_next/static/immutable/chunks/0aoeil02qfsn5.js\",\"/_next/static/immutable/chunks/0k3os36czqzy4.js\",\"/_next/static/immutable/chunks/3s4707kgr1a33.js\",\"/_next/static/immutable/chunks/1xui5_f1wum6y.js\",\"/_next/static/immutable/chunks/1kb1x1v2ddq-3.js\"],\"ViewportBoundary\"]\n"])</script>
1973<script>self.__next_f.push([1,"41:I[877433,[\"/_next/static/immutable/chunks/00jla400dltnu.js\",\"/_next/static/immutable/chunks/39sygckgvod3e.js\",\"/_next/static/immutable/chunks/0chquwv9wyw8c.js\",\"/_next/static/immutable/chunks/1t1mbmt0_e717.js\",\"/_next/static/immutable/chunks/3qioqfoukn7s_.js\",\"/_next/static/immutable/chunks/0pz-yrez75of-.js\",\"/_next/static/immutable/chunks/2hc3lha1ed1nk.js\",\"/_next/static/immutable/chunks/1bfzxdjt0heom.js\",\"/_next/static/immutable/chunks/16wahavi5zm3j.js\",\"/_next/static/immutable/chunks/1x9ujbp569gb8.js\",\"/_next/static/immutable/chunks/2vw7kgemxtqzd.js\",\"/_next/static/immutable/chunks/0kwj0z81-a1cu.js\",\"/_next/static/immutable/chunks/1x_nf8rs78h3n.js\",\"/_next/static/immutable/chunks/0nrnqjyd-q2is.js\",\"/_next/static/immutable/chunks/2vowh50j-ok7z.js\",\"/_next/static/immutable/chunks/04ci540bmxauh.js\",\"/_next/static/immutable/chunks/29kkh6-lh0h1a.js\",\"/_next/static/immutable/chunks/0li-knucq9-dc.js\",\"/_next/static/immutable/chunks/307dgth29f31j.js\",\"/_next/static/immutable/chunks/3yu9t9mxl1ta0.js\",\"/_next/static/immutable/chunks/1b203bov0h125.js\",\"/_next/static/immutable/chunks/13pcr5n0bwk47.js\",\"/_next/static/immutable/chunks/13d2ofwhzs59u.js\",\"/_next/static/immutable/chunks/2rax0kdawtj1h.js\",\"/_next/static/immutable/chunks/1qhm5r0jub3en.js\",\"/_next/static/immutable/chunks/0aoeil02qfsn5.js\",\"/_next/static/immutable/chunks/0k3os36czqzy4.js\",\"/_next/static/immutable/chunks/3s4707kgr1a33.js\",\"/_next/static/immutable/chunks/1xui5_f1wum6y.js\",\"/_next/static/immutable/chunks/1kb1x1v2ddq-3.js\"],\"MetadataBoundary\"]\n"])</script>
1973<script>self.__next_f.push([1,"42:\"$Sreact.suspense\"\n16:T761,"])</script>
1973<script>self.__next_f.push([1,"\n.aui-gallery {\n  --aui-control-height: 2.25rem;\n  --aui-control-font-size: 0.8125rem;\n  --aui-button-padding-x: 1rem;\n  --aui-field-padding-x: 0.75rem;\n}\n\n.aui-gallery-canvas {\n  background: color-mix(in oklab, var(--foreground) 2.5%, transparent);\n  border-radius: 24px;\n  padding: 2rem;\n}\n\n.dark .aui-gallery-canvas {\n  background: color-mix(in oklab, var(--foreground) 4%, transparent);\n}\n\n.aui-gallery [data-aui=\"card\"] {\n  --aui-card-padding: 1.25rem;\n  border-color: transparent;\n  border-radius: 16px;\n  box-shadow: 0 1px 2px rgb(0 0 0 / 0.05), 0 8px 24px -12px rgb(0 0 0 / 0.12);\n}\n\n.dark .aui-gallery [data-aui=\"card\"],\n.aui-gallery .dark [data-aui=\"card\"] {\n  border-color: color-mix(in oklab, var(--border) 70%, transparent);\n  box-shadow: 0 1px 2px rgb(0 0 0 / 0.2), 0 12px 32px -12px rgb(0 0 0 / 0.5);\n}\n\n.aui-gallery [data-aui=\"carousel-slide\"] [data-aui=\"card\"] {\n  box-shadow: 0 1px 2px rgb(0 0 0 / 0.06), 0 1px 3px rgb(0 0 0 / 0.08);\n}\n\n.dark .aui-gallery [data-aui=\"carousel-slide\"] [data-aui=\"card\"],\n.aui-gallery .dark [data-aui=\"carousel-slide\"] [data-aui=\"card\"] {\n  box-shadow: 0 1px 2px rgb(0 0 0 / 0.15);\n}\n\n@media (hover: hover) and (pointer: fine) {\n  .aui-gallery-item {\n    transition:\n      transform 150ms cubic-bezier(0.23, 1, 0.32, 1),\n      box-shadow 150ms cubic-bezier(0.23, 1, 0.32, 1);\n  }\n\n  .aui-gallery-item:hover {\n    transform: translateY(-2px);\n  }\n\n  .aui-gallery-item:hover [data-aui=\"card\"] {\n    box-shadow: 0 4px 8px rgb(0 0 0 / 0.08), 0 16px 32px -12px rgb(0 0 0 / 0.18);\n  }\n\n  .aui-gallery-item:hover [data-aui=\"carousel-slide\"] [data-aui=\"card\"] {\n    box-shadow: 0 1px 2px rgb(0 0 0 / 0.06), 0 1px 3px rgb(0 0 0 / 0.08);\n  }\n\n  @media (prefers-reduced-motion: reduce) {\n    .aui-gallery-item {\n      transition: box-shadow 150ms cubic-bezier(0.23, 1, 0.32, 1);\n    }\n\n    .aui-gallery-item:hover {\n      transform: none;\n    }\n  }\n}\n"])</script>
1973<script>self.__next_f.push([1,"3:[\"$\",\"style\",null,{\"children\":\"$16\"}]\n17:T434,(function(){\n  try{\n    if(navigator.globalPrivacyControl===true){return;}\n    if(window.location\u0026\u0026window.location.pathname===\"/renderer\"){return;}\n    if(window.localStorage.getItem(\"aui-consent\")===\"denied\"){return;}\n    var k=\"aui-umami-sample\",t=new Date(Date.now()),b=t.getUTCFullYear()*12+t.getUTCMonth(),s=null;\n    var raw=window.localStorage.getItem(k);\n    if(raw){try{var p=JSON.parse(raw);if(p\u0026\u0026typeof p.s===\"number\"\u0026\u0026p.b===b){s=p.s;}}catch(e){}}\n    if(s===null){\n      s=Math.random()\u003c0.01?1:0;\n      window.localStorage.setItem(k,JSON.stringify({s:s,b:b}));\n    }\n    if(!s){return;}\n    window[\"__auiUmamiBeforeSend\"]=function(type,payload){\n      return window[\"__auiUmamiSuppressed\"]?null:payload;\n    };\n    var el=document.createElement(\"script\");\n    el.async=false;\n    el.src=\"/umami/script.js\";\n    el.setAttribute(\"data-website-id\",\"6f07c001-46a2-411f-9241-4f7f5afb60ee\");\n    el.setAttribute(\"data-domains\",\"www.assistant-ui.com\");\n    el.setAttribute(\"data-before-send\",\"__auiUmamiBeforeSend\");\n    document.head.appendChild(el);\n  }catch(e){}\n})();4:[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"$17\"}}]\n5:[\"$\",\"body\",null,{\"className\":\"flex min-h-screen flex-col font-sans antialiased public_sans_1bc6418c-module__6uzjwa__variable jetbrains_mono_7d65b77b-module__VxV-Ta__variable\",\"children\":[[\"$\",\"div\",null,{\"aria-hidden\":\"true\",\"className\":\"sr-only\",\"children\":[\"For AI agents: a documentation index is available at\",\" \",[\"$\",\"a\",null,{\"href\":\"/llms.txt\",\"tabIndex\":-1,\"children\":\"llms.txt\"}],\". Use .md for canonical markdown pages; .mdx is kept as a backwards-compatible alias on supported URL paths.\"]}],[\"$\",\"$L18\",null,{\"children\":[\"$\",\"$L19\",null,{\"children\":[\"$\",\"$L1a\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L1b\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"$L1c\",null,{}],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}],[\"$\",\"$L1d\",null,{\"children\":[[\"$\",\"$L1e\",null,{}],[\"$\",\"$L1f\",null,{}]]}]]}]\n"])</script>
1973<script>self.__next_f.push([1,"6:[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/immutable/chunks/0x16tld98hitk.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/immutable/chunks/35o5co0n2b_7m.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-2\",{\"src\":\"/_next/static/immutable/chunks/19zmpcb747leg.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-3\",{\"src\":\"/_next/static/immutable/chunks/092-t-_kn2cw0.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"div\",null,{\"className\":\"flex min-h-screen flex-col\",\"children\":[[\"$\",\"$L20\",null,{}],[\"$\",\"$L1a\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L1b\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"$L1c\",null,{}],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}],[\"$\",\"footer\",null,{\"className\":\"rounded-page py-10 md:py-16\",\"children\":[\"$\",\"div\",null,{\"className\":\"mx-auto flex w-full max-w-7xl flex-col gap-10 px-4\",\"children\":[[\"$\",\"div\",null,{\"className\":\"grid grid-cols-2 gap-x-8 gap-y-8 sm:grid-cols-3 lg:grid-cols-6\",\"children\":[[\"$\",\"div\",\"Library\",{\"className\":\"flex flex-col gap-3\",\"children\":[[\"$\",\"p\",null,{\"className\":\"text-muted-foreground text-xs font-medium\",\"children\":\"Library\"}],[[\"$\",\"$L21\",\"/docs\",{\"className\":\"text-muted-foreground hover:text-foreground text-sm transition-colors\",\"href\":\"/docs\",\"children\":\"Docs\"}],[\"$\",\"$L21\",\"/changelog\",{\"className\":\"text-muted-foreground hover:text-foreground text-sm transition-colors\",\"href\":\"/changelog\",\"children\":\"Changelog\"}],[\"$\",\"$L21\",\"/playground\",{\"className\":\"text-muted-foreground hover:text-foreground text-sm transition-colors\",\"href\":\"/playground\",\"children\":\"Playground\"}]]]}],[\"$\",\"div\",\"Platforms\",{\"className\":\"flex flex-col gap-3\",\"children\":[[\"$\",\"p\",null,{\"className\":\"text-muted-foreground text-xs font-medium\",\"children\":\"Platforms\"}],[[\"$\",\"$L21\",\"/docs\",{\"className\":\"text-muted-foreground hover:text-foreground text-sm transition-colors\",\"href\":\"/docs\",\"children\":\"React\"}],[\"$\",\"$L21\",\"/native\",{\"className\":\"text-muted-foreground hover:text-foreground text-sm transition-colors\",\"href\":\"/native\",\"children\":\"React Native\"}],[\"$\",\"$L21\",\"/ink\",{\"className\":\"text-muted-foreground hover:text-foreground text-sm transition-colors\",\"href\":\"/ink\",\"children\":\"Ink\"}]]]}],[\"$\",\"div\",\"Extend\",{\"className\":\"flex flex-col gap-3\",\"children\":[[\"$\",\"p\",null,{\"className\":\"text-muted-foreground text-xs font-medium\",\"children\":\"Extend\"}],[[\"$\",\"$L21\",\"/components\",{\"className\":\"text-muted-foreground hover:text-foreground text-sm transition-colors\",\"href\":\"/components\",\"children\":\"Components\"}],[\"$\",\"$L21\",\"/elements\",{\"className\":\"text-muted-foreground hover:text-foreground text-sm transition-colors\",\"href\":\"/elements\",\"children\":\"Elements\"}],[\"$\",\"$L21\",\"/design\",{\"className\":\"text-muted-foreground hover:text-foreground text-sm transition-colors\",\"href\":\"/design\",\"children\":\"Design\"}]]]}],[\"$\",\"div\",\"Primitives\",{\"className\":\"flex flex-col gap-3\",\"children\":[[\"$\",\"p\",null,{\"className\":\"text-muted-foreground text-xs font-medium\",\"children\":\"Primitives\"}],[[\"$\",\"$L21\",\"/tw-shimmer\",{\"className\":\"text-muted-foreground hover:text-foreground text-sm transition-colors\",\"href\":\"/tw-shimmer\",\"children\":\"tw-shimmer\"}],[\"$\",\"$L21\",\"/heat-graph\",{\"className\":\"text-muted-foreground hover:text-foreground text-sm transition-colors\",\"href\":\"/heat-graph\",\"children\":\"Heat Graph\"}],[\"$\",\"$L21\",\"/safe-content-frame\",{\"className\":\"text-muted-foreground hover:text-foreground text-sm transition-colors\",\"href\":\"/safe-content-frame\",\"children\":\"Safe Content Frame\"}],[\"$\",\"$L21\",\"/react-o11y\",{\"className\":\"text-muted-foreground hover:text-foreground text-sm transition-colors\",\"href\":\"/react-o11y\",\"children\":\"react-o11y\"}]]]}],[\"$\",\"div\",\"Resources\",{\"className\":\"flex flex-col gap-3\",\"children\":[[\"$\",\"p\",null,{\"className\":\"text-muted-foreground text-xs font-medium\",\"children\":\"Resources\"}],[[\"$\",\"$L21\",\"/examples\",{\"className\":\"text-muted-foreground hover:text-foreground text-sm transition-colors\",\"href\":\"/examples\",\"children\":\"Examples\"}],[\"$\",\"$L21\",\"/showcase\",{\"className\":\"text-muted-foreground hover:text-foreground text-sm transition-colors\",\"href\":\"/showcase\",\"children\":\"Showcase\"}],[\"$\",\"$L21\",\"/oss\",{\"className\":\"text-muted-foreground hover:text-foreground text-sm transition-colors\",\"href\":\"/oss\",\"children\":\"Open source\"}],\"$L22\"]]}],\"$L23\"]}],\"$L24\"]}]}]]}]]}]\n"])</script>
1973<script>self.__next_f.push([1,"7:[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L1a\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L1b\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]\n26:T97d,"])</script>
1973<script>self.__next_f.push([1,"             ,                        =::                         =:            \n                                   =:=                             =::         :\n           ,          .:         ==:            ### =##=               =        \n                      :         :           #  =        # ##          = =       \n                        .      :     .   ###    .           ##=#        =       \n           .         ::        :        #=#                     =               \n                    ..       =:=       =        #@@ @#@@#       ##       ==:    \n                    :.       =:        =      ##        ###      #=             \n                   .:         =      ###     @#           @      #        ==    \n         ,          .                # =    .@#   signal  @@     #==       ::   \n  .       .        ::                # #      @           #@      #=      ::    \n          ,        :::       ==       ==      @@#       @@@      ##       :=    \n         ..         .         ::       #=       @ @@@@##@      .##        :     \n          ,          .:            .     #= web               # #         :     \n                     :         =:        ###=               ==##        ==      \n            ,         .         ::=.        == ==       ###=#    .    =:=       \n                                                #### # ==         .    =    .   \n            ,           :     react-native                        =  :         :\n              .              .       :::=                         =          :. \n                .         .:            :==  =             === =        .   . . \n         .     . .          :                 ==:=:=   =:: =              : :   \n                  .           .  .     .                                :.      \n                  .                                                 .:..        \n                  terminal          :                          :.      .        \n          .            ,                 : .     :..   :     .                  \n                        ..,.                       ...                          \n                            ,. .                                                \n    beyond the web               ,                 .                    , .     \n                                  ... .                            , .    .     \n                                        . ,      .          . , ,               "])</script>
1973<script>self.__next_f.push([1,"8:[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"main\",null,{\"className\":\"mx-auto w-full max-w-7xl px-4 pt-16 pb-32 md:pt-20\",\"children\":[[\"$\",\"header\",null,{\"className\":\"max-w-2xl\",\"children\":[[\"$\",\"h1\",null,{\"className\":\"font-display text-3xl font-[550] tracking-[-0.01em] text-balance md:text-4xl\",\"children\":\"What we're shipping.\"}],[\"$\",\"p\",null,{\"className\":\"text-muted-foreground text-[15px] leading-relaxed text-pretty mt-4 max-w-[52ch]\",\"children\":\"Announcements and writing from the team.\"}]]}],[\"$\",\"div\",null,{\"className\":\"border-foreground/10 mt-16 border-t md:mt-20\",\"children\":[[\"$\",\"div\",null,{\"className\":\"border-foreground/10 border-b\",\"children\":[\"$\",\"$L21\",null,{\"href\":\"/blog/2026-03-launch-week\",\"className\":\"group block py-10 md:py-14\",\"children\":[\"$\",\"span\",null,{\"className\":\"grid gap-10 md:grid-cols-[minmax(0,1fr)_minmax(0,30rem)] md:items-center md:gap-16\",\"children\":[[\"$\",\"span\",null,{\"className\":\"block\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-muted-foreground block text-sm\",\"children\":[[\"$\",\"time\",null,{\"dateTime\":\"2026-03-09T12:00:00.000Z\",\"children\":\"Mar 9, 2026\"}],[\"$\",\"span\",null,{\"className\":\"text-muted-foreground/40\",\"children\":\" · \"}],\"Simon Farshid\"]}],[\"$\",\"span\",null,{\"className\":\"font-display text-[1.5rem] leading-snug font-[550] tracking-[-0.01em] text-balance lg:text-[1.75rem] mt-3 block\",\"children\":[\"Launch Week: assistant-ui goes multi-platform\",[\"$\",\"$L25\",null,{\"ref\":\"$undefined\",\"icon\":{\"name\":\"arrow-up-right\",\"size\":24,\"node\":[[\"path\",{\"d\":\"M7 7h10v10\",\"key\":\"1tivn9\"}],[\"path\",{\"d\":\"M7 17 17 7\",\"key\":\"1vkiza\"}]]},\"className\":\"ms-1.5 mb-0.5 inline size-4 opacity-0 transition-opacity group-hover:opacity-50\"}]]}],[\"$\",\"span\",null,{\"className\":\"text-muted-foreground mt-3 block max-w-[52ch] text-[15px] leading-relaxed text-pretty\",\"children\":\"React Native, terminal UIs, and more. assistant-ui is no longer just for the web.\"}]]}],[\"$\",\"span\",null,{\"className\":\"block\",\"children\":[[\"$\",\"span\",null,{\"className\":\"border-foreground
1973/10 group-hover:border-foreground/25 block border transition-colors\",\"children\":[\"$\",\"span\",null,{\"aria-hidden\":\"true\",\"className\":\"relative block aspect-[32/25] overflow-hidden\",\"children\":[[\"$\",\"span\",null,{\"className\":\"from-foreground/[0.04] absolute inset-0 bg-gradient-to-b to-transparent\"}],[\"$\",\"pre\",null,{\"className\":\"pointer-events-none absolute top-1/2 left-1/2 w-max -translate-x-1/2 -translate-y-1/2 font-mono text-[10px] leading-[1.25] font-medium tracking-normal whitespace-pre select-none text-foreground/35 group-hover:text-foreground/45 transition-colors\",\"children\":\"$26\"}],\"$L27\",\"$L28\"]}]}],\"$L29\"]}]]}]}]}],[\"$L2a\",\"$L2b\"]]}],\"$L2c\"]}],[\"$L2d\",\"$L2e\",\"$L2f\",\"$L30\",\"$L31\",\"$L32\",\"$L33\",\"$L34\",\"$L35\",\"$L36\",\"$L37\",\"$L38\",\"$L39\",\"$L3a\",\"$L3b\",\"$L3c\",\"$L3d\"],\"$L3e\"]}]\n"])</script>
1973<script>self.__next_f.push([1,"d:[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L3f\",null,{\"children\":\"$L40\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L41\",null,{\"children\":[\"$\",\"$42\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L43\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}]\nf:[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/immutable/chunks/28j5j44nbycqa.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]\n10:[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/immutable/chunks/08lx4z86o-kcy.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]\n"])</script>
1973<script>self.__next_f.push([1,"44:I[206733,[\"/_next/static/immutable/chunks/00jla400dltnu.js\",\"/_next/static/immutable/chunks/39sygckgvod3e.js\",\"/_next/static/immutable/chunks/0chquwv9wyw8c.js\",\"/_next/static/immutable/chunks/1t1mbmt0_e717.js\",\"/_next/static/immutable/chunks/3qioqfoukn7s_.js\",\"/_next/static/immutable/chunks/0pz-yrez75of-.js\",\"/_next/static/immutable/chunks/2hc3lha1ed1nk.js\",\"/_next/static/immutable/chunks/1bfzxdjt0heom.js\",\"/_next/static/immutable/chunks/16wahavi5zm3j.js\",\"/_next/static/immutable/chunks/1x9ujbp569gb8.js\",\"/_next/static/immutable/chunks/2vw7kgemxtqzd.js\",\"/_next/static/immutable/chunks/0kwj0z81-a1cu.js\",\"/_next/static/immutable/chunks/1x_nf8rs78h3n.js\",\"/_next/static/immutable/chunks/0nrnqjyd-q2is.js\",\"/_next/static/immutable/chunks/2vowh50j-ok7z.js\",\"/_next/static/immutable/chunks/04ci540bmxauh.js\",\"/_next/static/immutable/chunks/29kkh6-lh0h1a.js\",\"/_next/static/immutable/chunks/0li-knucq9-dc.js\",\"/_next/static/immutable/chunks/307dgth29f31j.js\",\"/_next/static/immutable/chunks/3yu9t9mxl1ta0.js\",\"/_next/static/immutable/chunks/1b203bov0h125.js\",\"/_next/static/immutable/chunks/13pcr5n0bwk47.js\",\"/_next/static/immutable/chunks/13d2ofwhzs59u.js\",\"/_next/static/immutable/chunks/2rax0kdawtj1h.js\",\"/_next/static/immutable/chunks/1qhm5r0jub3en.js\",\"/_next/static/immutable/chunks/0aoeil02qfsn5.js\",\"/_next/static/immutable/chunks/0k3os36czqzy4.js\",\"/_next/static/immutable/chunks/3s4707kgr1a33.js\",\"/_next/static/immutable/chunks/1xui5_f1wum6y.js\",\"/_next/static/immutable/chunks/1kb1x1v2ddq-3.js\",\"/_next/static/immutable/chunks/0x16tld98hitk.js\",\"/_next/static/immutable/chunks/35o5co0n2b_7m.js\",\"/_next/static/immutable/chunks/19zmpcb747leg.js\",\"/_next/static/immutable/chunks/092-t-_kn2cw0.js\"],\"CookieSettingsLink\"]\n"])</script>
1973<script>self.__next_f.push([1,"45:I[190357,[\"/_next/static/immutable/chunks/00jla400dltnu.js\",\"/_next/static/immutable/chunks/39sygckgvod3e.js\",\"/_next/static/immutable/chunks/0chquwv9wyw8c.js\",\"/_next/static/immutable/chunks/1t1mbmt0_e717.js\",\"/_next/static/immutable/chunks/3qioqfoukn7s_.js\",\"/_next/static/immutable/chunks/0pz-yrez75of-.js\",\"/_next/static/immutable/chunks/2hc3lha1ed1nk.js\",\"/_next/static/immutable/chunks/1bfzxdjt0heom.js\",\"/_next/static/immutable/chunks/16wahavi5zm3j.js\",\"/_next/static/immutable/chunks/1x9ujbp569gb8.js\",\"/_next/static/immutable/chunks/2vw7kgemxtqzd.js\",\"/_next/static/immutable/chunks/0kwj0z81-a1cu.js\",\"/_next/static/immutable/chunks/1x_nf8rs78h3n.js\",\"/_next/static/immutable/chunks/0nrnqjyd-q2is.js\",\"/_next/static/immutable/chunks/2vowh50j-ok7z.js\",\"/_next/static/immutable/chunks/04ci540bmxauh.js\",\"/_next/static/immutable/chunks/29kkh6-lh0h1a.js\",\"/_next/static/immutable/chunks/0li-knucq9-dc.js\",\"/_next/static/immutable/chunks/307dgth29f31j.js\",\"/_next/static/immutable/chunks/3yu9t9mxl1ta0.js\",\"/_next/static/immutable/chunks/1b203bov0h125.js\",\"/_next/static/immutable/chunks/13pcr5n0bwk47.js\",\"/_next/static/immutable/chunks/13d2ofwhzs59u.js\",\"/_next/static/immutable/chunks/2rax0kdawtj1h.js\",\"/_next/static/immutable/chunks/1qhm5r0jub3en.js\",\"/_next/static/immutable/chunks/0aoeil02qfsn5.js\",\"/_next/static/immutable/chunks/0k3os36czqzy4.js\",\"/_next/static/immutable/chunks/3s4707kgr1a33.js\",\"/_next/static/immutable/chunks/1xui5_f1wum6y.js\",\"/_next/static/immutable/chunks/1kb1x1v2ddq-3.js\",\"/_next/static/immutable/chunks/0x16tld98hitk.js\",\"/_next/static/immutable/chunks/35o5co0n2b_7m.js\",\"/_next/static/immutable/chunks/19zmpcb747leg.js\",\"/_next/static/immutable/chunks/092-t-_kn2cw0.js\"],\"StatusBadge\"]\n"])</script>
1973<script>self.__next_f.push([1,"54:I[877433,[\"/_next/static/immutable/chunks/00jla400dltnu.js\",\"/_next/static/immutable/chunks/39sygckgvod3e.js\",\"/_next/static/immutable/chunks/0chquwv9wyw8c.js\",\"/_next/static/immutable/chunks/1t1mbmt0_e717.js\",\"/_next/static/immutable/chunks/3qioqfoukn7s_.js\",\"/_next/static/immutable/chunks/0pz-yrez75of-.js\",\"/_next/static/immutable/chunks/2hc3lha1ed1nk.js\",\"/_next/static/immutable/chunks/1bfzxdjt0heom.js\",\"/_next/static/immutable/chunks/16wahavi5zm3j.js\",\"/_next/static/immutable/chunks/1x9ujbp569gb8.js\",\"/_next/static/immutable/chunks/2vw7kgemxtqzd.js\",\"/_next/static/immutable/chunks/0kwj0z81-a1cu.js\",\"/_next/static/immutable/chunks/1x_nf8rs78h3n.js\",\"/_next/static/immutable/chunks/0nrnqjyd-q2is.js\",\"/_next/static/immutable/chunks/2vowh50j-ok7z.js\",\"/_next/static/immutable/chunks/04ci540bmxauh.js\",\"/_next/static/immutable/chunks/29kkh6-lh0h1a.js\",\"/_next/static/immutable/chunks/0li-knucq9-dc.js\",\"/_next/static/immutable/chunks/307dgth29f31j.js\",\"/_next/static/immutable/chunks/3yu9t9mxl1ta0.js\",\"/_next/static/immutable/chunks/1b203bov0h125.js\",\"/_next/static/immutable/chunks/13pcr5n0bwk47.js\",\"/_next/static/immutable/chunks/13d2ofwhzs59u.js\",\"/_next/static/immutable/chunks/2rax0kdawtj1h.js\",\"/_next/static/immutable/chunks/1qhm5r0jub3en.js\",\"/_next/static/immutable/chunks/0aoeil02qfsn5.js\",\"/_next/static/immutable/chunks/0k3os36czqzy4.js\",\"/_next/static/immutable/chunks/3s4707kgr1a33.js\",\"/_next/static/immutable/chunks/1xui5_f1wum6y.js\",\"/_next/static/immutable/chunks/1kb1x1v2ddq-3.js\"],\"OutletBoundary\"]\n"])</script>
1973<script>self.__next_f.push([1,"a:C\n13:300\n22:[\"$\",\"$L21\",\"/packages\",{\"className\":\"text-muted-foreground hover:text-foreground text-sm transition-colors\",\"href\":\"/packages\",\"children\":\"Packages\"}]\n23:[\"$\",\"div\",\"Company\",{\"className\":\"flex flex-col gap-3\",\"children\":[[\"$\",\"p\",null,{\"className\":\"text-muted-foreground text-xs font-medium\",\"children\":\"Company\"}],[[\"$\",\"$L21\",\"/blog\",{\"className\":\"text-muted-foreground hover:text-foreground text-sm transition-colors\",\"href\":\"/blog\",\"children\":\"Blog\"}],[\"$\",\"$L21\",\"/careers\",{\"className\":\"text-muted-foreground hover:text-foreground text-sm transition-colors\",\"href\":\"/careers\",\"children\":\"Careers\"}],[\"$\",\"$L21\",\"/brand\",{\"className\":\"text-muted-foreground hover:text-foreground text-sm transition-colors\",\"href\":\"/brand\",\"children\":\"Brand\"}],[\"$\",\"$L21\",\"/traction\",{\"className\":\"text-muted-foreground hover:text-foreground text-sm transition-colors\",\"href\":\"/traction\",\"children\":\"Traction\"}],[\"$\",\"$L21\",\"/pricing\",{\"className\":\"text-muted-foreground hover:text-foreground text-sm transition-colors\",\"href\":\"/pricing\",\"children\":\"Pricing\"}]]]}]\n"])</script>
1973<script>self.__next_f.push([1,"24:[\"$\",\"div\",null,{\"className\":\"text-muted-foreground flex flex-col gap-3 border-t pt-6 text-sm sm:flex-row sm:items-center sm:justify-between\",\"children\":[[\"$\",\"div\",null,{\"className\":\"text-muted-foreground flex flex-wrap items-center gap-x-4 gap-y-1 text-sm\",\"children\":[[\"$\",\"a\",null,{\"href\":\"https://www.agentbase.dev\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"className\":\"hover:text-foreground transition-colors\",\"children\":[\"© \",\"2026\",\" AgentbaseAI Inc.\"]}],[\"$\",\"div\",null,{\"className\":\"flex items-center gap-2\",\"children\":[[\"$\",\"$L21\",null,{\"href\":\"/privacy-policy\",\"className\":\"hover:text-foreground transition-colors\",\"children\":\"Privacy\"}],[\"$\",\"span\",null,{\"aria-hidden\":true,\"children\":\"·\"}],[\"$\",\"$L21\",null,{\"href\":\"/terms-of-service\",\"className\":\"hover:text-foreground transition-colors\",\"children\":\"Terms\"}],[\"$\",\"$L44\",null,{\"separator\":true,\"className\":\"hover:text-foreground transition-colors\"}]]}]]}],[\"$\",\"div\",null,{\"className\":\"flex flex-wrap items-center gap-4\",\"children\":[[\"$\",\"$L45\",null,{}],[\"$\",\"div\",null,{\"className\":\"flex flex-wrap items-center gap-1.5\",\"children\":[[\"$\",\"a\",null,{\"href\":\"https://x.com/assistantui\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"className\":\"hover:text-foreground flex size-7 items-center justify-center transition-colors\",\"aria-label\":\"X (Twitter)\",\"children\":[\"$\",\"svg\",null,{\"aria-hidden\":\"true\",\"className\":\"size-4\",\"viewBox\":\"0 0 24 24\",\"fill\":\"currentColor\",\"children\":[\"$\",\"path\",null,{\"d\":\"M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z\"}]}]}],[\"$\",\"a\",null,{\"href\":\"https://github.com/assistant-ui/assistant-ui\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"className\":\"hover:text-foreground flex size-7 items-center justify-center transition-colors\",\"aria-label\":\"GitHub\",\"children\":[\"$\",\"svg\",null,{\"aria-hidden\":\"true\",\"viewBox\":\"0 0 24 24\",\"className\":\"size-4\",\"fill\":\"currentColor\",\"children\":[\"$\",\"path\",null,{\"d\":\"M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z\"}]}]}],[\"$\",\"a\",null,{\"href\":\"https://discord.gg/S9dwgCNEFs\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"className\":\"hover:text-foreground flex size-7 items-center justify-center transition-colors\",\"aria-label\":\"Discord\",\"children\":[\"$\",\"svg\",null,{\"aria-hidden\":\"true\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 127.14 96.36\",\"className\":\"size-4\",\"children\":[\"$\",\"path\",null,{\"fill\":\"currentColor\",\"d\":\"M107.7,8.07A105.15,105.15,0,0,0,81.47,0a72.06,72.06,0,0,0-3.36,6.83A97.68,97.68,0,0,0,49,6.83,72.37,72.37,0,0,0,45.64,0,105.89,105.89,0,0,0,19.39,8.09C2.79,32.65-1.71,56.6.54,80.21h0A105.73,105.73,0,0,0,32.71,96.36,77.7,77.7,0,0,0,39.6,85.25a68.42,68.42,0,0,1-10.85-5.18c.91-.66,1.8-1.34,2.66-2a75.57,75.57,0,0,0,64.32,0c.87.71,1.76,1.39,2.66,2a68.68,68.68,0,0,1-10.87,5.19,77,77,0,0,0,6.89,11.1A105.25,105.25,0,0,0,126.6,80.22h0C129.24,52.84,122.09,29.11,107.7,8.07ZM42.45,65.69C36.18,65.69,31,60,31,53s5-12.74,11.43-12.74S54,46,53.89,53,48.84,65.69,42.45,65.69Zm42.24,0C78.41,65.69,73.25,60,73.25,53s5-12.74,11.44-12.74S96.23,46,96.12,53,91.08,65.69,84.69,65.69Z\"}]}]}],\"$L46\"]}]]}]]}]\n"])</script>
1973<script>self.__next_f.push([1,"47:T97d,"])</script>
1973<script>self.__next_f.push([1,"                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                            web                                 \n                                                                                \n                                                                                \n                                                                                \n                              react-native                                      \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                  terminal                                                      \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                "])</script>
1973<script>self.__next_f.push([1,"27:[\"$\",\"pre\",null,{\"className\":\"pointer-events-none absolute top-1/2 left-1/2 w-max -translate-x-1/2 -translate-y-1/2 font-mono text-[10px] leading-[1.25] font-medium tracking-normal whitespace-pre select-none text-foreground/75\",\"children\":\"$47\"}]\n48:T97d,"])</script>
1973<script>self.__next_f.push([1,"                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                  signal                        \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                "])</script>
1973<script>self.__next_f.push([1,"28:[\"$\",\"pre\",null,{\"className\":\"pointer-events-none absolute top-1/2 left-1/2 w-max -translate-x-1/2 -translate-y-1/2 font-mono text-[10px] leading-[1.25] font-medium tracking-normal whitespace-pre select-none text-blue-500 animate-pulse motion-reduce:animate-none\",\"children\":\"$48\"}]\n29:[\"$\",\"span\",null,{\"className\":\"text-muted-foreground/70 mt-2 flex items-baseline justify-between font-mono text-[11px] tracking-wide\",\"children\":[[\"$\",\"span\",null,{\"children\":[\"fig. \",\"05\"]}],[\"$\",\"span\",null,{\"children\":\"the signal leaves\"}]]}]\n49:T97d,"])</script>
1973<script>self.__next_f.push([1,"    -   =                                   -       -           -           -   \n      -   =                  -  = =           -  -    -           = =         - \n   -    -                   =  =  - -           -  =    =             -  -      \n     = =  -              =  = -  -- - =           =  -    ==            -  -    \n    -  - -        -        =  =     - = =           -       ==           -   -  \n      =-         =  =   -    =  =   =   =             -   =    -           -    \n         =       = =      =    =  =   -   ==                -    =  -           \n        -  =   -   - -     -=    -          --                     =  -  = =    \n          -  =   @assistant-ui/react          --                        =  - =  \n            = -=   -   - -     -  =  =    =     = -                 =        - -\n-               --=      =       -  -   =   -       -                 -        =\n  -               = -  =                  10,000 a week        -                \n    =               = -  -   =              =   ==               =              \n      =-                   -   =   -          -    -                            \n        ==            =      =   -   -               -             -            \n           =            =          =   = -                           -          \n-     =      -            =                -                           -       -\n  =   - =                          -         -                           -==  = \n        - -                   -      -                         -            --  \n          = -                   -     =-                         =            =-\n     =                        shipped   -=                         =            \n       =                                  -                        ~      = =   \n         -                                                   =   =   == ++  += =\n ~ =~ ===                                                = ==  +== == =++== +   \n == =+====    = =                                       ~+=== == =##++#  #+ # #+\n= =   ===++= = ===  =                            ==    ==  =+## ##+####+#### #++\n+#+ # ##+ #===== =                          ==~~~ thirty-six releases#####+#####\n++++ #++##+###+## =  =       = =   =      ~   +  == =#### ++#+#######++++ ##+#++\n+#+####+++++#####+# # += =+  ====  =++  =+  +=+  +#+#+###+# #+#+++###+### ### #+\n# ######+##+ +##+####+ #++# +  ==== = ++===###+########+##+##++##+ +#   ########"])</script>
1973<script>self.__next_f.push([1,"2a:[\"$\",\"div\",\"0\",{\"className\":\"border-foreground/10 divide-foreground/10 grid border-b md:divide-x divide-y md:divide-y-0 md:grid-cols-[7fr_5fr]\",\"children\":[[\"$\",\"$L21\",\"/blog/2025-01-31-changelog\",{\"href\":\"/blog/2025-01-31-changelog\",\"className\":\"group grid content-center gap-8 py-8 md:px-8 md:py-10 md:first:ps-0 md:last:pe-0 md:grid-cols-[minmax(0,1fr)_minmax(0,18rem)]\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"block self-center\",\"children\":[\"$\",\"span\",null,{\"className\":\"block\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-muted-foreground block text-xs\",\"children\":[[\"$\",\"time\",null,{\"dateTime\":\"2025-01-31T12:00:00.000Z\",\"children\":\"Jan 31, 2025\"}],[\"$\",\"span\",null,{\"className\":\"text-muted-foreground/40\",\"children\":\" · \"}],\"Simon Farshid\"]}],[\"$\",\"span\",null,{\"className\":\"mt-2 block text-lg leading-snug font-medium text-balance\",\"children\":[\"January 2025 Changelog\",[\"$\",\"$L25\",null,{\"ref\":\"$undefined\",\"icon\":\"$8:props:children:0:props:children:1:props:children:0:props:children:props:children:props:children:0:props:children:1:props:children:1:props:icon\",\"className\":\"ms-1.5 mb-0.5 inline size-3.5 opacity-0 transition-opacity group-hover:opacity-50\"}]]}],[\"$\",\"span\",null,{\"className\":\"text-muted-foreground mt-2 line-clamp-3 block text-sm leading-relaxed\",\"children\":\"shadcn/ui, Thread Management, Improvements to AI SDK and LangGraph support\"}]]}]}],[\"$\",\"span\",null,{\"className\":\"block\",\"children\":[[\"$\",\"span\",null,{\"className\":\"border-foreground
1973/10 group-hover:border-foreground/25 block border transition-colors\",\"children\":[\"$\",\"span\",null,{\"aria-hidden\":\"true\",\"className\":\"relative block aspect-[32/25] overflow-hidden\",\"children\":[[\"$\",\"span\",null,{\"className\":\"from-foreground/[0.04] absolute inset-0 bg-gradient-to-b to-transparent\"}],[\"$\",\"pre\",null,{\"className\":\"pointer-events-none absolute top-1/2 left-1/2 w-max -translate-x-1/2 -translate-y-1/2 font-mono text-[10px] leading-[1.25] font-medium tracking-normal whitespace-pre select-none text-foreground/35 group-hover:text-foreground/45 transition-colors\",\"children\":\"$49\"}],\"$L4a\",\"$L4b\"]}]}],\"$L4c\"]}]]}],\"$L4d\"]}]\n"])</script>
1973<script>self.__next_f.push([1,"4e:T97d,"])</script>
1973<script>self.__next_f.push([1,",,   ,             ..                           ,:                              \n    .:.     ,::,   .  .                    .                                    \n   :    ,                                      .             .                  \n   .          .,                ,.      :       :                       :  :    \n :  nodes and edges         ..,                         .     ,                 \n  :                               ...                              .            \n            ,                   .                     . . ####                  \n:::      .    :                     :     :  :         +=#@@@#                  \n          , .          ,                :           +==     #                   \n    :                                            +==                            \n.      :..:.,                                ###agent              :            \n .  :  :        , ::            :.          #@@@#                   .           \n      .          StateGraph        ..  .    +## #                  .            \n    .   ,                ..                +        :                           \n                               . ,        +                   .        .  .     \n.,.           .  : ##.                  +=                                      \n            ..      @=#     ,          +    :,                                  \n                   +##+               +     .                             .     \n     :            +    +:        #  +=             .            :               \n              +===      +======#=@=#                                            \n       ,.    +           .      ###                                             \n       , #===      .                   ,         ..                             \n       @@ #                 . ,    .interrupt()                                 \n      ..#         ,  .                                             .            \n :        .  .                            ,                                     \n                                         .:           .                         \n  ,    .                                .                    .    ,             \n.                     ,                                  ,                      \n      :.                                                               :        \n                :       .                                                       "])</script>
1973<script>self.__next_f.push([1,"2b:[\"$\",\"div\",\"1\",{\"className\":\"border-foreground/10 divide-foreground/10 grid border-b md:divide-x divide-y md:divide-y-0 md:grid-cols-[5fr_7fr]\",\"children\":[[\"$\",\"a\",\"/blog/2024-09-11\",{\"href\":\"https://www.langchain.com/blog/assistant-ui\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"className\":\"group flex h-full flex-col py-8 md:px-8 md:py-10 md:first:ps-0 md:last:pe-0\",\"children\":[[\"$\",\"span\",null,{\"className\":\"block mb-6\",\"children\":[[\"$\",\"span\",null,{\"className\":\"border-foreground/10 group-hover:border-foreground/25 block border transition-colors\",\"children\":[\"$\",\"span\",null,{\"aria-hidden\":\"true\",\"className\":\"relative block aspect-[32/25] overflow-hidden\",\"children\":[[\"$\",\"span\",null,{\"className\":\"from-foreground/[0.04] absolute inset-0 bg-gradient-to-b to-transparent\"}],[\"$\",\"pre\",null,{\"className\":\"pointer-events-none absolute top-1/2 left-1/2 w-max -translate-x-1/2 -translate-y-1/2 font-mono text-[10px] leading-[1.25] font-medium tracking-normal whitespace-pre select-none text-foreground/35 group-hover:text-foreground/45 transition-colors\",\"children\":\"$4e\"}],\"$L4f\",\"$L50\"]}]}],\"$L51\"]}],\"$L52\",null]}],\"$L53\"]}]\n2c:[\"$\",\"footer\",null,{\"className\":\"mt-24\",\"children\":[\"$\",\"$L21\",null,{\"href\":\"/changelog\",\"className\":\"text-muted-foreground hover:text-foreground group inline-flex items-center gap-1.5 text-sm transition-colors\",\"children\":[\"Every package release\",[\"$\",\"$L25\",null,{\"ref\":\"$undefined\",\"icon\":\"$8:props:children:0:props:children:1:props:children:0:props:children:props:children:props:children:0:props:children:1:props:children:1:props:icon\",\"className\":\"size-3.5 transition-transform group-hover:translate-x-0.5 group-hover:-translate-y-0.5\"}]]}]}]\n2d:[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/immutable/chunks/3yte4yb3zzkdg.js\",\"async\":true,\"nonce\":\"$undefined\"}]\n2e:[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/immutable/chunks/2g5jszg3jhbe8.js\",\"async\":true,\"nonce\":\"$undefined\"}]\n2f:[\"$\",\"script\",\"script-2\",{\"src\":\"/_next/static/immutable/chunks/2bc3q60udcsyh.js\",\"async\":true,\"nonce\":\"$undefined\"}]\n30:[\"$\",\"script\",\"script-3\",{\"src\":\"/_next/static/immutable/chunks/3t7o872woljz4.js\",\"async\":true,\"nonce\":\"$undefined\"}]\n31:[\"$\",\"script\",\"script-4\",{\"src\":\"/_next/static/immutable/chunks/2jd-ymjm3urhg.js\",\"async\":true,\"nonce\":\"$undefined\"}]\n32:[\"$\",\"script\",\"script-5\",{\"src\":\"/_next/static/immutable/chunks/2x_yzy81jem0g.js\",\"async\":true,\"nonce\":\"$undefined\"}]\n33:[\"$\",\"script\",\"script-6\",{\"src\":\"/_next/static/immutable/chunks/3a9r4yk7-enqb.js\",\"async\":true,\"nonce\":\"$undefined\"}]\n34:[\"$\",\"script\",\"script-7\",{\"src\":\"/_next/static/immutable/chunks/118855ayjkmyz.js\",\"async\":true,\"nonce\":\"$undefined\"}]\n35:[\"$\",\"script\",\"script-8\",{\"src\":\"/_next/static/immutable/chunks/2fa3lpx46hrot.js\",\"async\":true,\"nonce\":\"$undefined\"}]\n36:[\"$\",\"script\",\"script-9\",{\"src\":\"/_next/static/immutable/chunks/42w6-z5ubnxfl.js\",\"async\":true,\"nonce\":\"$undefined\"}]\n37:[\"$\",\"script\",\"script-10\",{\"src\":\"/_next/static/immutable/chunks/0sfe1kmu8viqy.js\",\"async\":true,\"nonce\":\"$undefined\"}]\n38:[\"$\",\"script\",\"script-11\",{\"src\":\"/_next/static/immutable/chunks/05w4y3zvd4hqm.js\",\"async\":true,\"nonce\":\"$undefined\"}]\n39:[\"$\",\"script\",\"script-12\",{\"src\":\"/_next/static/immutable/chunks/0ytjzh-60xm6f.js\",\"async\":true,\"nonce\":\"$undefined\"}]\n3a:[\"$\",\"script\",\"script-13\",{\"src\":\"/_next/static/immutable/chunks/0vllu1tbymv50.js\",\"async\":true,\"nonce\":\"$undefined\"}]\n3b:[\"$\",\"script\",\"script-14\",{\"src\":\"/_next/static/immutable/chunks/3ro-6hhnd3jz_.js\",\"async\":true,\"nonce\":\"$undefined\"}]\n3c:[\"$\",\"script\",\"script-15\",{\"src\":\"/_next/static/immutable/chunks/23zq66b1-0qsc.js\",\"async\":true,\"nonce\":\"$undefined\"}]\n3d:[\"$\",\"script\",\"script-16\",{\"src\":\"/_next/static/immutable/chunks/3m6634oy_zldp.js\",\"async\":true,\"nonce\":\"$undefined\"}]\n3e:[\"$\",\"$L54\",null,{\"children\":[\"$\",\"$42\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@55\"}]}]\n"])</script>
1973<script>self.__next_f.push([1,"56:I[628367,[\"/_next/static/immutable/chunks/00jla400dltnu.js\",\"/_next/static/immutable/chunks/39sygckgvod3e.js\",\"/_next/static/immutable/chunks/0chquwv9wyw8c.js\",\"/_next/static/immutable/chunks/1t1mbmt0_e717.js\",\"/_next/static/immutable/chunks/3qioqfoukn7s_.js\",\"/_next/static/immutable/chunks/0pz-yrez75of-.js\",\"/_next/static/immutable/chunks/2hc3lha1ed1nk.js\",\"/_next/static/immutable/chunks/1bfzxdjt0heom.js\",\"/_next/static/immutable/chunks/16wahavi5zm3j.js\",\"/_next/static/immutable/chunks/1x9ujbp569gb8.js\",\"/_next/static/immutable/chunks/2vw7kgemxtqzd.js\",\"/_next/static/immutable/chunks/0kwj0z81-a1cu.js\",\"/_next/static/immutable/chunks/1x_nf8rs78h3n.js\",\"/_next/static/immutable/chunks/0nrnqjyd-q2is.js\",\"/_next/static/immutable/chunks/2vowh50j-ok7z.js\",\"/_next/static/immutable/chunks/04ci540bmxauh.js\",\"/_next/static/immutable/chunks/29kkh6-lh0h1a.js\",\"/_next/static/immutable/chunks/0li-knucq9-dc.js\",\"/_next/static/immutable/chunks/307dgth29f31j.js\",\"/_next/static/immutable/chunks/3yu9t9mxl1ta0.js\",\"/_next/static/immutable/chunks/1b203bov0h125.js\",\"/_next/static/immutable/chunks/13pcr5n0bwk47.js\",\"/_next/static/immutable/chunks/13d2ofwhzs59u.js\",\"/_next/static/immutable/chunks/2rax0kdawtj1h.js\",\"/_next/static/immutable/chunks/1qhm5r0jub3en.js\",\"/_next/static/immutable/chunks/0aoeil02qfsn5.js\",\"/_next/static/immutable/chunks/0k3os36czqzy4.js\",\"/_next/static/immutable/chunks/3s4707kgr1a33.js\",\"/_next/static/immutable/chunks/1xui5_f1wum6y.js\",\"/_next/static/immutable/chunks/1kb1x1v2ddq-3.js\",\"/_next/static/immutable/chunks/0x16tld98hitk.js\",\"/_next/static/immutable/chunks/35o5co0n2b_7m.js\",\"/_next/static/immutable/chunks/19zmpcb747leg.js\",\"/_next/static/immutable/chunks/092-t-_kn2cw0.js\"],\"ThemeToggle\"]\n"])</script>
1973<script>self.__next_f.push([1,"46:[\"$\",\"$L56\",null,{\"className\":\"hover:text-foreground\"}]\n57:T97d,"])</script>
1973<script>self.__next_f.push([1,"                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                 @assistant-ui/react                                            \n                                                                                \n                                                                                \n                                          10,000 a week                         \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                "])</script>
1973<script>self.__next_f.push([1,"4a:[\"$\",\"pre\",null,{\"className\":\"pointer-events-none absolute top-1/2 left-1/2 w-max -translate-x-1/2 -translate-y-1/2 font-mono text-[10px] leading-[1.25] font-medium tracking-normal whitespace-pre select-none text-foreground/75\",\"children\":\"$57\"}]\n58:T97d,"])</script>
1973<script>self.__next_f.push([1,"                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                              shipped                                           \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                "])</script>
1973<script>self.__next_f.push([1,"4b:[\"$\",\"pre\",null,{\"className\":\"pointer-events-none absolute top-1/2 left-1/2 w-max -translate-x-1/2 -translate-y-1/2 font-mono text-[10px] leading-[1.25] font-medium tracking-normal whitespace-pre select-none text-blue-500\",\"children\":\"$58\"}]\n4c:[\"$\",\"span\",null,{\"className\":\"text-muted-foreground/70 mt-2 flex items-baseline justify-between font-mono text-[11px] tracking-wide\",\"children\":[[\"$\",\"span\",null,{\"children\":[\"fig. \",\"04\"]}],[\"$\",\"span\",null,{\"children\":\"what january shipped\"}]]}]\n59:T97d,"])</script>
1973<script>self.__next_f.push([1,"                                                                                \n    #                        #     #          .                                 \n    #    #            #      @     #      #      @      @     @      @          \n    :    #      @     @      :     =       @     @.     # git log    @          \n    :    :      @     =     .=     =      =      =.     :     :      :      #   \n    :    =      :     :      : .   =      =      :      =    :       =      @   \n    :    :      :     =      :     :      =      =      =     =      =     :    \n    =    :      =     =      :     :      =    . =.     =     =      =     =.   \n    =  .  :     :     :      =     =      :   .  =      :     :      =     :    \n    :     :     :     :            =      :      =      :    =       :     :    \n    :           =     :            :      =      :      :    =       :     =    \n     .    .     :     =      .     =      :             :    =             =    \n     .    .     :     =      :     =                                ..     :    \n                =     =      .   . =                                 .     =    \n          . .   =      =     .         where was this changed?            =     \n .   .          :      .                                             :    .     \n      .         :                   :                                           \n                .                   .         answer                 .   .      \n                        .                                                .      \n                        :           :                                           \n                .                   .                                           \n                .      .                  :                              .      \n                       :             .    .                                     \n                       .             .    .             .                .      \n                .      .                          .     .                       \n                                          .                                     \n                                          .                                     \n      commits, issues, diffs                                   .                \n      .                                   :   .                                 \n                                                     ..       .     .           "])</script>
1973<script>self.__next_f.push([1,"4d:[\"$\",\"a\",\"/blog/2024-12-15\",{\"href\":\"https://medium.com/relta/github-assistant-49ae388ad758\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"className\":\"group flex h-full flex-col py-8 md:px-8 md:py-10 md:first:ps-0 md:last:pe-0\",\"children\":[null,[\"$\",\"span\",null,{\"className\":\"block\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-muted-foreground block text-xs\",\"children\":[[\"$\",\"time\",null,{\"dateTime\":\"2024-12-15T12:00:00.000Z\",\"children\":\"Dec 15, 2024\"}],[\"$\",\"span\",null,{\"className\":\"text-muted-foreground/40\",\"children\":\" · \"}],\"Amir Zohrenejad\"]}],[\"$\",\"span\",null,{\"className\":\"mt-2 block text-lg leading-snug font-medium text-balance\",\"children\":[\"Announcing github-assistant\",[\"$\",\"$L25\",null,{\"ref\":\"$undefined\",\"icon\":\"$8:props:children:0:props:children:1:props:children:0:props:children:props:children:props:children:0:props:children:1:props:children:1:props:icon\",\"className\":\"ms-1.5 mb-0.5 inline size-3.5 opacity-0 transition-opacity group-hover:opacity-50\"}]]}],[\"$\",\"span\",null,{\"className\":\"text-muted-foreground mt-2 line-clamp-3 block text-sm leading-relaxed\",\"children\":\"github-assistant answers questions about your GitHub repositories.\"}]]}],[\"$\",\"span\",null,{\"className\":\"block mt-8 md:mt-auto md:pt-8\",\"children\":[[\"$\",\"span\",null,{\"className\":\"border-foreground
1973/10 group-hover:border-foreground/25 block border transition-colors\",\"children\":[\"$\",\"span\",null,{\"aria-hidden\":\"true\",\"className\":\"relative block aspect-[32/25] overflow-hidden\",\"children\":[[\"$\",\"span\",null,{\"className\":\"from-foreground/[0.04] absolute inset-0 bg-gradient-to-b to-transparent\"}],[\"$\",\"pre\",null,{\"className\":\"pointer-events-none absolute top-1/2 left-1/2 w-max -translate-x-1/2 -translate-y-1/2 font-mono text-[10px] leading-[1.25] font-medium tracking-normal whitespace-pre select-none text-foreground/35 group-hover:text-foreground/45 transition-colors\",\"children\":\"$59\"}],\"$L5a\",\"$L5b\"]}]}],\"$L5c\"]}]]}]\n"])</script>
1973<script>self.__next_f.push([1,"5d:T97d,"])</script>
1973<script>self.__next_f.push([1,"                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                 StateGraph                                                     \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                    interrupt()                                 \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                "])</script>
1973<script>self.__next_f.push([1,"4f:[\"$\",\"pre\",null,{\"className\":\"pointer-events-none absolute top-1/2 left-1/2 w-max -translate-x-1/2 -translate-y-1/2 font-mono text-[10px] leading-[1.25] font-medium tracking-normal whitespace-pre select-none text-foreground/75\",\"children\":\"$5d\"}]\n5e:T97d,"])</script>
1973<script>self.__next_f.push([1,"                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                agent                           \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                "])</script>
1973<script>self.__next_f.push([1,"50:[\"$\",\"pre\",null,{\"className\":\"pointer-events-none absolute top-1/2 left-1/2 w-max -translate-x-1/2 -translate-y-1/2 font-mono text-[10px] leading-[1.25] font-medium tracking-normal whitespace-pre select-none text-blue-500\",\"children\":\"$5e\"}]\n51:[\"$\",\"span\",null,{\"className\":\"text-muted-foreground/70 mt-2 flex items-baseline justify-between font-mono text-[11px] tracking-wide\",\"children\":[[\"$\",\"span\",null,{\"children\":[\"fig. \",\"02\"]}],[\"$\",\"span\",null,{\"children\":\"a graph wakes\"}]]}]\n52:[\"$\",\"span\",null,{\"className\":\"block\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-muted-foreground block text-xs\",\"children\":[[\"$\",\"time\",null,{\"dateTime\":\"2024-09-11T12:00:00.000Z\",\"children\":\"Sep 11, 2024\"}],[\"$\",\"span\",null,{\"className\":\"text-muted-foreground/40\",\"children\":\" · \"}],\"Harrison Chase\"]}],[\"$\",\"span\",null,{\"className\":\"mt-2 block text-lg leading-snug font-medium text-balance\",\"children\":[\"Build conversational AI agents with LangGraph and assistant-ui\",[\"$\",\"$L25\",null,{\"ref\":\"$undefined\",\"icon\":\"$8:props:children:0:props:children:1:props:children:0:props:children:props:children:props:children:0:props:children:1:props:children:1:props:icon\",\"className\":\"ms-1.5 mb-0.5 inline size-3.5 opacity-0 transition-opacity group-hover:opacity-50\"}]]}],[\"$\",\"span\",null,{\"className\":\"text-muted-foreground mt-2 line-clamp-3 block text-sm leading-relaxed\",\"children\":\"Announcing our collaboration with LangChain\"}]]}]\n5f:T97d,"])</script>
1973<script>self.__next_f.push([1," @@@#####@##@## ###@@    #        #####   ###@#@@######@##@###@######@#   #@@   \n####@##@@ ######  ######@#########@####@#@@#@@@#####   @@#@###       #@@###     \n    open source  ###@#     @     ###@#@#####   ###@@@##   ##@@#@#@#@#@@@###@###@\n #@##########@#######@###     @@### @##@#  ##@##    ##@###@#     @           @#@\n ###     #    @@@  @      ####   ####  #@#@#@@ ###@  ###@#    ###@@      ###@###\n  +==                   =  =  ==+  #=   =+=+# == == =+##                 =    +#\n#       #=#  =  ==       #==#+=== ==#     #=                      =  ==        =\n                         ++        =                    =    =   ==        =+#= \n  =                  =+  ===  ==#= +   =+        ==                =#           \n  :: : :       :+    =+       +        :   =:                :        +      :: \n  =              \u003cThread /\u003e              +:::  :=   +              :=           \n   :=       :=    :        ::           =: :             :        ==+    +      \n         :=         +   :   ::+:                  :           :    :           :\n .            .        ,  ,        .                 ###@###                    \n                ,             hello.   .          ##@@@@@@@@@##,                \n                                       ,     . .###@@@@@@@@@@@###      ,        \n                                        .      ##@@@@@@@@@@@@@@@##              \n                                             .###@@@@@@@@@@@@@@@###             \n ==  ========_==_ =====_=__=_ ========== ==_======_==_====  =====_==_====_====_ \n              ::: ::                        :: :  : :                          :\n             ::  :::: :: :                :   ::    : :::                  :  ::\n   --  : :   :  :        ::           :  ::   ::--:--   ::::   for React : :::  \n:  -:::: -::   : npx assistant-ui init :: :::  - -:-  :  : ::   ::  ::: :       \n  ::: : : :-  :    :    :: :::    : : :      :  --    -- :-:::   :::: : :       \n-:    :-:: : -:  -:     :    : :  :   -     :--        : ::  -:  ::   ::   :  ::\n- :   :.-.- :  :   :-- ::      -.  :- --- -:::      -    :-. :-:  :--     :  - -\n :   :.-.... - --     -   -:--:.-:     .-   -           ...  ::- -. :-:-- -- :  \n .:   -.  . . .       -   - .-.-:.:-.    .:         -.     . -: . ...-     ::-- \n .  .     :   -.    .  -- .  -  -      :  .: ..:   . .    . .:   : :.-.   -    -\n    . .  :   .-.   :.     - -        -        . ..  .       -  :..  ..-   .::  ."])</script>
1973<script>self.__next_f.push([1,"53:[\"$\",\"$L21\",\"/blog/2024-07-29-hello\",{\"href\":\"/blog/2024-07-29-hello\",\"className\":\"group grid content-center gap-8 py-8 md:px-8 md:py-10 md:first:ps-0 md:last:pe-0 md:grid-cols-[minmax(0,18rem)_minmax(0,1fr)]\",\"children\":[[\"$\",\"span\",null,{\"className\":\"block\",\"children\":[[\"$\",\"span\",null,{\"className\":\"border-foreground/10 group-hover:border-foreground/25 block border transition-colors\",\"children\":[\"$\",\"span\",null,{\"aria-hidden\":\"true\",\"className\":\"relative block aspect-[32/25] overflow-hidden\",\"children\":[[\"$\",\"span\",null,{\"className\":\"from-foreground/[0.04] absolute inset-0 bg-gradient-to-b to-transparent\"}],[\"$\",\"pre\",null,{\"className\":\"pointer-events-none absolute top-1/2 left-1/2 w-max -translate-x-1/2 -translate-y-1/2 font-mono text-[10px] leading-[1.25] font-medium tracking-normal whitespace-pre select-none text-foreground/35 group-hover:text-foreground/45 transition-colors\",\"children\":\"$5f\"}],\"$L60\",\"$L61\"]}]}],\"$L62\"]}],\"$L63\",null]}]\n"])</script>
1973<script>self.__next_f.push([1,"64:T97d,"])</script>
1973<script>self.__next_f.push([1,"                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                       where was this changed?                  \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                "])</script>
1973<script>self.__next_f.push([1,"5a:[\"$\",\"pre\",null,{\"className\":\"pointer-events-none absolute top-1/2 left-1/2 w-max -translate-x-1/2 -translate-y-1/2 font-mono text-[10px] leading-[1.25] font-medium tracking-normal whitespace-pre select-none text-foreground/75\",\"children\":\"$64\"}]\n65:T97d,"])</script>
1973<script>self.__next_f.push([1,"                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                              answer                            \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                "])</script>
1973<script>self.__next_f.push([1,"5b:[\"$\",\"pre\",null,{\"className\":\"pointer-events-none absolute top-1/2 left-1/2 w-max -translate-x-1/2 -translate-y-1/2 font-mono text-[10px] leading-[1.25] font-medium tracking-normal whitespace-pre select-none text-blue-500\",\"children\":\"$65\"}]\n5c:[\"$\",\"span\",null,{\"className\":\"text-muted-foreground/70 mt-2 flex items-baseline justify-between font-mono text-[11px] tracking-wide\",\"children\":[[\"$\",\"span\",null,{\"children\":[\"fig. \",\"03\"]}],[\"$\",\"span\",null,{\"children\":\"the stacks speak\"}]]}]\n66:T97d,"])</script>
1973<script>self.__next_f.push([1,"                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                 \u003cThread /\u003e                                                     \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                 npx assistant-ui init                                          \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                "])</script>
1973<script>self.__next_f.push([1,"60:[\"$\",\"pre\",null,{\"className\":\"pointer-events-none absolute top-1/2 left-1/2 w-max -translate-x-1/2 -translate-y-1/2 font-mono text-[10px] leading-[1.25] font-medium tracking-normal whitespace-pre select-none text-foreground/75\",\"children\":\"$66\"}]\n67:T97d,"])</script>
1973<script>self.__next_f.push([1,"                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                              hello                                             \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                \n                                                                                "])</script>
1973<script>self.__next_f.push([1,"61:[\"$\",\"pre\",null,{\"className\":\"pointer-events-none absolute top-1/2 left-1/2 w-max -translate-x-1/2 -translate-y-1/2 font-mono text-[10px] leading-[1.25] font-medium tracking-normal whitespace-pre select-none text-blue-500\",\"children\":\"$67\"}]\n62:[\"$\",\"span\",null,{\"className\":\"text-muted-foreground/70 mt-2 flex items-baseline justify-between font-mono text-[11px] tracking-wide\",\"children\":[[\"$\",\"span\",null,{\"children\":[\"fig. \",\"01\"]}],[\"$\",\"span\",null,{\"children\":\"first light\"}]]}]\n63:[\"$\",\"span\",null,{\"className\":\"block self-center\",\"children\":[\"$\",\"span\",null,{\"className\":\"block\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-muted-foreground block text-xs\",\"children\":[[\"$\",\"time\",null,{\"dateTime\":\"2024-07-29T12:00:00.000Z\",\"children\":\"Jul 29, 2024\"}],[\"$\",\"span\",null,{\"className\":\"text-muted-foreground/40\",\"children\":\" · \"}],\"Simon Farshid\"]}],[\"$\",\"span\",null,{\"className\":\"mt-2 block text-lg leading-snug font-medium text-balance\",\"children\":[\"Hello, assistant-ui\",[\"$\",\"$L25\",null,{\"ref\":\"$undefined\",\"icon\":\"$8:props:children:0:props:children:1:props:children:0:props:children:props:children:props:children:0:props:children:1:props:children:1:props:icon\",\"className\":\"ms-1.5 mb-0.5 inline size-3.5 opacity-0 transition-opacity group-hover:opacity-50\"}]]}],[\"$\",\"span\",null,{\"className\":\"text-muted-foreground mt-2 line-clamp-3 block text-sm leading-relaxed\",\"children\":\"assistant-ui is an open-source AI chat component for React.\"}]]}]}]\n"])</script>
1973<script>self.__next_f.push([1,"40:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1, maximum-scale=1\"}]]\n"])</script>
1973<script>self.__next_f.push([1,"68:I[793920,[\"/_next/static/immutable/chunks/00jla400dltnu.js\",\"/_next/static/immutable/chunks/39sygckgvod3e.js\",\"/_next/static/immutable/chunks/0chquwv9wyw8c.js\",\"/_next/static/immutable/chunks/1t1mbmt0_e717.js\",\"/_next/static/immutable/chunks/3qioqfoukn7s_.js\",\"/_next/static/immutable/chunks/0pz-yrez75of-.js\",\"/_next/static/immutable/chunks/2hc3lha1ed1nk.js\",\"/_next/static/immutable/chunks/1bfzxdjt0heom.js\",\"/_next/static/immutable/chunks/16wahavi5zm3j.js\",\"/_next/static/immutable/chunks/1x9ujbp569gb8.js\",\"/_next/static/immutable/chunks/2vw7kgemxtqzd.js\",\"/_next/static/immutable/chunks/0kwj0z81-a1cu.js\",\"/_next/static/immutable/chunks/1x_nf8rs78h3n.js\",\"/_next/static/immutable/chunks/0nrnqjyd-q2is.js\",\"/_next/static/immutable/chunks/2vowh50j-ok7z.js\",\"/_next/static/immutable/chunks/04ci540bmxauh.js\",\"/_next/static/immutable/chunks/29kkh6-lh0h1a.js\",\"/_next/static/immutable/chunks/0li-knucq9-dc.js\",\"/_next/static/immutable/chunks/307dgth29f31j.js\",\"/_next/static/immutable/chunks/3yu9t9mxl1ta0.js\",\"/_next/static/immutable/chunks/1b203bov0h125.js\",\"/_next/static/immutable/chunks/13pcr5n0bwk47.js\",\"/_next/static/immutable/chunks/13d2ofwhzs59u.js\",\"/_next/static/immutable/chunks/2rax0kdawtj1h.js\",\"/_next/static/immutable/chunks/1qhm5r0jub3en.js\",\"/_next/static/immutable/chunks/0aoeil02qfsn5.js\",\"/_next/static/immutable/chunks/0k3os36czqzy4.js\",\"/_next/static/immutable/chunks/3s4707kgr1a33.js\",\"/_next/static/immutable/chunks/1xui5_f1wum6y.js\",\"/_next/static/immutable/chunks/1kb1x1v2ddq-3.js\"],\"IconMark\"]\n"])</script>
1973<script>self.__next_f.push([1,"43:[[\"$\",\"title\",\"0\",{\"children\":\"Blog · assistant-ui\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Announcements and writing from the assistant-ui team.\"}],[\"$\",\"link\",\"2\",{\"rel\":\"manifest\",\"href\":\"/manifest.webmanifest\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"3\",{\"rel\":\"canonical\",\"href\":\"https://www.assistant-ui.com/blog\"}],[\"$\",\"meta\",\"4\",{\"property\":\"og:title\",\"content\":\"Blog\"}],[\"$\",\"meta\",\"5\",{\"property\":\"og:description\",\"content\":\"Announcements and writing from the assistant-ui team.\"}],[\"$\",\"meta\",\"6\",{\"property\":\"og:image\",\"content\":\"https://www.assistant-ui.com/api/og?title=Blog\u0026description=Announcements+and+writing+from+the+assistant-ui+team.\"}],[\"$\",\"meta\",\"7\",{\"property\":\"og:image:width\",\"content\":\"1200\"}],[\"$\",\"meta\",\"8\",{\"property\":\"og:image:height\",\"content\":\"630\"}],[\"$\",\"meta\",\"9\",{\"property\":\"og:image:alt\",\"content\":\"Blog\"}],[\"$\",\"meta\",\"10\",{\"property\":\"og:type\",\"content\":\"article\"}],[\"$\",\"meta\",\"11\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"12\",{\"name\":\"twitter:title\",\"content\":\"Blog\"}],[\"$\",\"meta\",\"13\",{\"name\":\"twitter:description\",\"content\":\"Announcements and writing from the assistant-ui team.\"}],[\"$\",\"meta\",\"14\",{\"name\":\"twitter:image\",\"content\":\"https://www.assistant-ui.com/api/og?title=Blog\u0026description=Announcements+and+writing+from+the+assistant-ui+team.\"}],[\"$\",\"link\",\"15\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.1jlep8oc9b9et.ico\",\"sizes\":\"48x48\",\"type\":\"image/x-icon\"}],[\"$\",\"link\",\"16\",{\"rel\":\"icon\",\"href\":\"/icon.svg?icon.0k50h7_4mau84.svg\",\"sizes\":\"any\",\"type\":\"image/svg+xml\"}],[\"$\",\"link\",\"17\",{\"rel\":\"icon\",\"href\":\"/icon0.svg?icon0.2ah707qzo6vsu.svg\",\"sizes\":\"any\",\"type\":\"image/svg+xml\"}],[\"$\",\"link\",\"18\",{\"rel\":\"icon\",\"href\":\"/icon1.png?icon1.37sbi4ophilom.png\",\"sizes\":\"96x96\",\"type\":\"image/png\"}],[\"$\",\"link\",\"19\",{\"rel\":\"apple-touch-icon\",\"href\":\"/apple-icon.png?apple-icon.3w06tlr9iqbis.png\",\"sizes\":\"180x180\",\"type\":\"image/png\"}],[\"$\",\"$L68\",\"20\",{}]]\n"])</script>
1973<script>self.__next_f.push([1,"55:null\n"])</script>
1973<script>self.__next_f.push([1,"13:C\n11:C\n12:C\n9:C\nb:C\nc:C\n"])</script>
1973<script>self.__next_f.push([1,"15:false\n14:null\n"])</script>
1973</body></html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.