.doc-article{min-width:0;max-width:760px;padding-bottom:32px;font-size:14px;line-height:1.6}.doc-article h2{letter-spacing:-.01em;margin:48px 0 16px;scroll-margin-top:24px;font-size:18px;font-weight:600;line-height:1.3}.doc-article h3{margin:24px 0 8px;font-size:15px;font-weight:600}.doc-article a:not([class]){text-decoration:underline;-webkit-text-decoration-color:var(--border,#e5e5e5);text-decoration-color:var(--border,#e5e5e5);text-underline-offset:3px}.doc-article a:not([class]):hover{text-decoration-color:currentColor}.doc-article code:not(pre code){background:var(--pill,#00000010);font:12.5px/1.5 var(--mono,ui-monospace, monospace);border-radius:4px;padding:1px 5px}@supports (color:lab(0% 0 0)){.doc-article code:not(pre code){background:var(--pill,lab(0% 0 0/.063))}}.doc-prose,.doc-note{max-width:70ch;color:var(--quiet,#6b6b6b);margin:12px 0}.doc-breadcrumb ol{color:var(--quiet,#6b6b6b);flex-wrap:wrap;gap:6px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.doc-breadcrumb li+li:before{color:var(--faint,#9a9a9a);content:"/";margin-right:6px}.doc-article .doc-breadcrumb a{text-decoration:none}.doc-breadcrumb a:hover,.doc-breadcrumb [aria-current]{color:var(--foreground,#111)}.doc-header{justify-content:space-between;align-items:flex-start;gap:12px;margin:10px 0 20px;display:flex}.doc-heading{flex-wrap:wrap;align-items:baseline;gap:4px 8px;min-width:0;min-height:28px;padding-top:3px;display:flex}.doc-heading h1{letter-spacing:0;align-items:center;gap:8px;margin:0;font-size:16px;font-weight:500;line-height:1.4;display:flex}.doc-heading p{color:var(--quiet,#6b6b6b);margin:0;font-size:13px;line-height:1.4}.doc-header-actions{flex:none;align-items:center;gap:6px;display:flex}.doc-button{border:1px solid var(--border,#e5e5e5);background:var(--background,#fff);height:28px;color:var(--foreground,#111);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-size:13px;transition:background .12s;display:inline-flex}.doc-icon-button{background:var(--pill,#00000010);width:28px;height:28px;color:var(--foreground,#111);cursor:pointer;border:0;border-radius:999px;flex:none;place-items:center;padding:0;transition:background .12s;display:grid}@supports (color:lab(0% 0 0)){.doc-icon-button{background:var(--pill,lab(0% 0 0/.063))}}.doc-button:hover,.doc-icon-button:hover{background:var(--pill-hover,#0000001a)}@supports (color:lab(0% 0 0)){.doc-button:hover,.doc-icon-button:hover{background:var(--pill-hover,lab(0% 0 0/.1))}}.doc-icon-button[aria-pressed=true]{background:var(--primary,#111);color:var(--primary-foreground,#fff)}.doc-icon-button[data-disabled]{opacity:.35;cursor:default}.doc-badge{letter-spacing:0;border-radius:999px;align-items:center;height:18px;padding:0 6px;font-size:11px;font-weight:500;line-height:1;display:inline-flex}.doc-badge-new{color:#00481d;color:lab(25.8361% -30.4723 20.4276);background:#bdfac8;background:lab(93.0594% -26.771 17.2273)}.doc-badge-pro{background:var(--primary,#111);color:var(--primary-foreground,#fff)}.doc-badge-guide{background:var(--pill,#00000010);color:var(--quiet,#6b6b6b)}@supports (color:lab(0% 0 0)){.doc-badge-guide{background:var(--pill,lab(0% 0 0/.063))}}.doc-attribution{color:var(--faint,#9a9a9a);margin:48px 0 0;font-size:13px}.doc-attribution a{color:var(--quiet,#6b6b6b)}.doc-tabs{margin:12px 0}.doc-tablist-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.doc-tablist{gap:20px;display:flex}.doc-tablist button{height:36px;color:var(--quiet,#6b6b6b);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:14px;transition:color .12s;position:relative}.doc-tablist button:hover,.doc-tablist button[aria-selected=true]{color:var(--foreground,#111)}.doc-tabs-underline>.doc-tablist-row{margin-bottom:12px}.doc-tabs-underline>.doc-tablist-row .doc-tablist button[aria-selected=true]:after{content:"";background:currentColor;border-radius:2px;height:2px;position:absolute;bottom:0;left:0;right:0}.doc-tabs-pill .doc-tablist{gap:4px;margin-bottom:8px}.doc-tabs-pill .doc-tablist button{border-radius:999px;height:26px;padding:0 10px;font-size:13px}.doc-tabs-pill .doc-tablist button[aria-selected=true]{background:var(--pill,#00000010)}@supports (color:lab(0% 0 0)){.doc-tabs-pill .doc-tablist button[aria-selected=true]{background:var(--pill,lab(0% 0 0/.063))}}.doc-tabpanel[hidden]{display:none}.doc-preview{border:1px solid var(--border,#e5e5e5);background:var(--background,#fff);border-radius:12px;overflow:hidden}.doc-preview-toolbar{justify-content:space-between;align-items:center;gap:12px;padding:10px;display:flex}.doc-segmented{flex-wrap:wrap;gap:4px;display:flex}.doc-segmented button{background:var(--pill,#00000010);height:28px;color:var(--quiet,#6b6b6b);font:inherit;cursor:pointer;border:0;border-radius:999px;padding:0 12px;font-size:13px;transition:background .12s,color .12s}@supports (color:lab(0% 0 0)){.doc-segmented button{background:var(--pill,lab(0% 0 0/.063))}}.doc-segmented button:hover{color:var(--foreground,#111)}.doc-segmented button[aria-pressed=true]{background:var(--primary,#111);color:var(--primary-foreground,#fff)}.doc-toolbar-actions{gap:6px;display:flex}.doc-preview-frame{background:var(--page,#fafafa);min-height:380px;color:var(--ink,#0b0b0b);place-items:center;padding:32px 24px 48px;display:grid}@supports (color:lab(0% 0 0)){.doc-preview-frame{color:var(--ink,lab(3.04863% 0 0))}}.doc-preview-frame.dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:var(--page,#111)}.doc-preview-stage{justify-items:center;width:100%;min-width:0;margin:auto;transition:max-width .2s cubic-bezier(.2,0,0,1);display:grid}.doc-preview-stage>*{max-width:100%}@media (prefers-reduced-motion:reduce){.doc-preview-stage *,.doc-preview-stage :before,.doc-preview-stage :after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.doc-code{border:1px solid var(--border,#e5e5e5);background:var(--surface,#f5f5f5);border-radius:10px;margin:12px 0;overflow:hidden}@supports (color:lab(0% 0 0)){.doc-code{background:var(--surface,lab(96.52% -.0000298023 .0000119209))}}.doc-code figcaption{border-bottom:1px solid var(--border,#e5e5e5);color:var(--quiet,#6b6b6b);font:12px/1.5 var(--mono,ui-monospace, monospace);padding:8px 14px}.doc-code-body{position:relative}.doc-code-body>.doc-icon-button{background:var(--background,#fff);box-shadow:0 0 0 1px var(--border,#e5e5e5);position:absolute;top:8px;right:8px}.doc-code pre{max-height:480px;font:13px/1.7 var(--mono,ui-monospace, monospace);tab-size:2;margin:0;padding:14px 48px 14px 16px;overflow:auto}.doc-code pre.doc-code-lines code{counter-reset:line}.doc-code pre.doc-code-lines .sh__line:before{width:2.5ch;color:var(--faint,#9a9a9a);text-align:right;content:counter(line);counter-increment:line;margin-right:16px;display:inline-block}.doc-article,.doc-code{--sh-class:#7a3e9d;--sh-identifier:#1f2328;--sh-sign:#6b6b6b;--sh-property:#0b6bcb;--sh-entity:#116329;--sh-jsxliterals:#1f2328;--sh-string:#0a7d53;--sh-keyword:#c2185b;--sh-comment:#8a8a8a}:root[data-theme=dark] :is(.doc-article,.doc-code),.dark :is(.doc-article,.doc-code){--sh-class:#d2a8ff;--sh-identifier:#e6edf3;--sh-sign:#8b949e;--sh-property:#79c0ff;--sh-entity:#7ee787;--sh-jsxliterals:#e6edf3;--sh-string:#a5d6ff;--sh-keyword:#ff7b72;--sh-comment:#8b949e}.doc-steps{border-left:1px solid var(--border,#e5e5e5);counter-reset:step;margin:0;padding:0 0 0 28px;list-style:none}.doc-steps>li{counter-increment:step;padding:0 0 16px 4px;position:relative}.doc-steps>li:before{border:1px solid var(--border,#e5e5e5);background:var(--background,#fff);width:28px;height:28px;color:var(--quiet,#6b6b6b);content:counter(step);border-radius:999px;place-items:center;font-size:12px;display:grid;position:absolute;top:0;left:-42px}.doc-steps>li>p{margin:2px 0 8px}.doc-files{margin:0;padding-left:18px}.doc-table-wrap{border:1px solid var(--border,#e5e5e5);border-radius:10px;overflow-x:auto}.doc-props{border-collapse:collapse;width:100%;font-size:13px}.doc-props th{background:var(--surface,#f5f5f5);color:var(--quiet,#6b6b6b);text-align:left;white-space:nowrap;padding:10px 14px;font-weight:500}@supports (color:lab(0% 0 0)){.doc-props th{background:var(--surface,lab(96.52% -.0000298023 .0000119209))}}.doc-props td{border-top:1px solid var(--border,#e5e5e5);vertical-align:top;padding:10px 14px}.doc-props td:not(:last-child){white-space:nowrap}.doc-props td:nth-child(2) code{white-space:normal}.doc-pager{justify-content:space-between;gap:12px;margin-top:56px;display:flex}.doc-pager a{border:1px solid var(--border,#e5e5e5);border-radius:999px;align-items:center;gap:6px;height:32px;padding:0 14px;font-size:13px;transition:background .12s;display:inline-flex}.doc-pager a:hover{background:var(--pill,#00000010)}@supports (color:lab(0% 0 0)){.doc-pager a:hover{background:var(--pill,lab(0% 0 0/.063))}}.doc-nav{font-size:13px}.doc-nav-select{border:1px solid var(--border,#e5e5e5);background:var(--background,#fff);width:100%;height:36px;color:var(--foreground,#111);font:inherit;border-radius:8px;padding:0 10px;display:none}.doc-nav-group+.doc-nav-group{margin-top:24px}.doc-nav-group p,.doc-nav-heading{color:var(--faint,#9a9a9a);margin:0 0 4px}.doc-nav-heading{align-items:center;min-height:22px;transition:color .12s;display:flex}.doc-nav-heading:hover,.doc-nav-group[data-active]>.doc-nav-heading,.doc-nav-group[data-active]>p{color:var(--foreground,#111)}.doc-nav-empty{min-height:26px;color:var(--faint,#9a9a9a);display:block}.doc-nav-link{min-height:26px;color:var(--quiet,#6b6b6b);align-items:center;gap:6px;transition:color .12s;display:flex}.doc-nav-link:hover,.doc-nav-link[aria-current=page]{color:var(--foreground,#111)}.doc-nav-link[aria-current=page]{font-weight:500}.doc-toc{align-self:start;gap:6px;font-size:13px;display:grid;position:sticky;top:16px}.doc-toc p{color:var(--faint,#9a9a9a);margin:0 0 4px}.doc-toc a{color:var(--quiet,#6b6b6b);transition:color .12s}.doc-toc a:hover,.doc-toc a[aria-current]{color:var(--foreground,#111)}.doc-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:12px;display:grid}.doc-card{border:1px solid var(--border,#e5e5e5);border-radius:12px;align-content:start;gap:6px;min-height:120px;padding:16px;transition:background .12s,border-color .12s;display:grid}.doc-card:hover{border-color:var(--input,#00000024);background:var(--surface,#f5f5f5)}@supports (color:lab(0% 0 0)){.doc-card:hover{border-color:var(--input,lab(0% 0 0/.14));background:var(--surface,lab(96.52% -.0000298023 .0000119209))}}.doc-card strong{align-items:center;gap:6px;font-weight:500;display:flex}.doc-card span{color:var(--quiet,#6b6b6b);font-size:13px}@media (max-width:1023px){.doc-nav-select{display:block}.doc-nav-list{display:none}}@media (max-width:600px){.doc-preview-frame{min-height:280px;padding:24px 12px 32px}}
.ward-bento-example{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0;display:grid}.ward-bento-example>div{border:1px solid var(--border);background:var(--surface);border-radius:13px;padding:22px}.ward-bento-example>div:first-child{flex-direction:column;grid-area:span 2/span 2;justify-content:end;min-height:260px;display:flex}.ward-chat-example{border:1px solid var(--border);background:var(--surface);border-radius:15px;max-width:600px;padding:24px}.ward-chat-example p{background:var(--secondary);border-radius:8px;padding:12px}.ward-chat-example p:nth-child(2){margin-left:30px}.ward-chat-example p:last-child{background:0 0;font-size:12px}@media (max-width:600px){.ward-bento-example{grid-template-columns:1fr}.ward-bento-example>div:first-child{grid-area:auto;min-height:180px}}.ward-ink-example{letter-spacing:-.03em;color:#613db9;-webkit-text-fill-color:transparent;background:linear-gradient(90deg,#613db9,#ed876d,#613db9) 0 0/200% 100%;-webkit-background-clip:text;background-clip:text;margin:24px 0;font-size:clamp(32px,6vw,56px);font-weight:600;animation:6s linear infinite ward-ink}@keyframes ward-ink{to{background-position:200% 0}}@media (prefers-reduced-motion:reduce){.ward-ink-example{animation:none}}.docs-layout{--content-left:calc(var(--gutter) + var(--rail) + 264px);grid-template-columns:minmax(0,1fr);margin-top:-16px;padding-left:232px;display:grid}.docs-layout>.doc-nav{z-index:40;top:0;left:calc(var(--gutter) + var(--rail) + 32px);overscroll-behavior:contain;scrollbar-width:none;width:200px;height:100dvh;position:fixed;overflow-y:auto;-webkit-mask-image:linear-gradient(#0000,#000 88px calc(100% - 88px),#0000);mask-image:linear-gradient(#0000,#000 88px calc(100% - 88px),#0000)}.docs-layout>.doc-nav>.doc-nav-list{padding:94px 0 140px}.docs-main{min-width:0;padding-top:16px;container-type:inline-size}.docs-main>.doc-article{--wide:min(930px,100cqi);--col:max(calc(var(--wide) / 1.5),min(var(--wide),620px));--axis:clamp(calc(var(--wide) / 2),calc(50vw - var(--content-left)),calc(100cqi - var(--wide) / 2));width:var(--col);max-width:none;margin:0 0 0 calc(var(--axis) - var(--col) / 2)}.docs-main>.doc-article .doc-showcase{width:var(--wide);margin-inline:calc((var(--col) - var(--wide)) / 2)}.docs-main>.doc-article .doc-preview-stage{max-width:var(--col)}.docs-main>.doc-article .doc-showcase .doc-preview-frame{min-height:440px}.docs-main>.doc-toc{display:none}@container (min-width:1130px){.docs-main>.doc-toc{top:96px;right:var(--gutter);width:160px;display:grid;position:fixed}}.doc-reference h3{margin-top:0}@media (max-width:1023px){.docs-layout{--content-left:calc(var(--gutter) + var(--rail) + 32px);gap:16px;margin-top:0;padding-left:0}.docs-layout>.doc-nav{width:auto;height:auto;position:static;overflow:visible;-webkit-mask-image:none;mask-image:none}.docs-layout>.doc-nav>.doc-nav-list{padding-block:0}.docs-main{padding-top:0}}@media (max-width:600px){.docs-main>.doc-article .doc-showcase .doc-preview-frame{min-height:300px}}
:root{--dither-ink:var(--foreground)}.dither-defs{pointer-events:none;width:0;height:0;position:absolute;overflow:hidden}.dither-ink{fill:var(--dither-ink)}.build-overview{min-width:0;padding-bottom:32px}.build-section+.build-section{margin-top:48px}.doc-header+.build-grid,.doc-header+.build-section{margin-top:24px}.build-grid+.build-section{margin-top:48px}.build-section-header{align-items:baseline;gap:8px;margin-bottom:16px;display:flex}.build-section-header h2{letter-spacing:-.01em;margin:0;font-size:18px;font-weight:600;line-height:1.3}.build-section-header h2 a{transition:opacity .12s var(--ease)}.build-section-header h2 a:hover{opacity:.64}.build-section-header span{color:var(--faint);font-variant-numeric:tabular-nums}.build-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,184px),1fr));gap:12px;display:grid}.build-card{--card-hover:color-mix(in oklch, var(--surface), var(--foreground) 4%);aspect-ratio:3/4;background:var(--surface);isolation:isolate;transition:background .18s var(--ease), scale .12s var(--ease);border-radius:12px;display:block;position:relative;overflow:hidden}.build-card:hover,.build-card[data-pending]{background:var(--card-hover)}.build-card:active{scale:.98}.build-card[data-pending]{z-index:1;transition:background .18s var(--ease), scale .22s var(--ease);scale:1.02}.build-card .dither{aspect-ratio:1;width:100%;height:auto;transition:scale .5s var(--ease);position:absolute;inset:0 0 auto}.build-card:hover .dither{scale:1.04}.build-card-index{color:var(--faint);font:11px/1 var(--mono);letter-spacing:.04em;position:absolute;top:13px;left:14px}.build-card-badge{position:absolute;top:10px;right:10px}.build-card-meta{gap:2px;display:grid;position:absolute;bottom:13px;left:14px;right:14px}.build-card-meta strong{text-overflow:ellipsis;white-space:nowrap;width:fit-content;max-width:100%;font-weight:500;overflow:hidden}.build-card-meta span{color:var(--quiet);font-size:12px}@media (max-width:600px){.build-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.build-card-meta{bottom:10px;left:10px;right:10px}.build-card-index{top:10px;left:10px}}.dither .dl1{fill:url(#wd-1)}.dither .dl2{fill:url(#wd-2)}.dither .dl3{fill:url(#wd-3)}.dither .dl4{fill:url(#wd-4)}.dither .dl5{fill:url(#wd-5)}.dither .dl6{fill:url(#wd-6)}.dither .dl7,:root[data-theme=dark] .dither .dl1{fill:url(#wd-7)}:root[data-theme=dark] .dither .dl2{fill:url(#wd-6)}:root[data-theme=dark] .dither .dl3{fill:url(#wd-5)}:root[data-theme=dark] .dither .dl5{fill:url(#wd-3)}:root[data-theme=dark] .dither .dl6{fill:url(#wd-2)}:root[data-theme=dark] .dither .dl7,.dither .ds1{fill:url(#wd-1)}.dither .ds2{fill:url(#wd-2)}.dither .ds3{fill:url(#wd-3)}.dither-shadow{opacity:.8}:root[data-theme=dark] .dither-shadow{opacity:.45}::view-transition{pointer-events:none}::view-transition-group(.card-morph){background:color-mix(in oklch, var(--surface), var(--foreground) 4%);animation-duration:.54s;animation-timing-function:linear(0, .0045, .0399, .0988, .1718, .2519, .334, .4145, .4911, .5622, .6269, .6849, .7362, .7811, .8199, .8531, .8813, .905, .9247, .941, .9544, .9652, .974, .9809, .9864, .9907, .9939, .9964, .9982, .9996, 1.0005, 1.0011, 1.0015, 1.0017, 1.0018, 1.0018, 1.0017, 1.0016, 1.0015, 1.0013, 1.0012, 1.0011, 1.0009, 1.0008, 1);border-radius:12px;overflow:clip}::view-transition-old(.card-morph){object-fit:none;width:100%;height:100%;animation-timing-function:cubic-bezier(.2,0,0,1)}::view-transition-new(.card-morph){object-fit:none;width:100%;height:100%;animation-timing-function:cubic-bezier(.2,0,0,1)}::view-transition-old(.card-morph){animation-duration:.2s}::view-transition-new(.card-morph){animation-duration:.34s;animation-delay:90ms}::view-transition-group(.title-morph){animation-duration:.54s;animation-timing-function:linear(0, .0045, .0399, .0988, .1718, .2519, .334, .4145, .4911, .5622, .6269, .6849, .7362, .7811, .8199, .8531, .8813, .905, .9247, .941, .9544, .9652, .974, .9809, .9864, .9907, .9939, .9964, .9982, .9996, 1.0005, 1.0011, 1.0015, 1.0017, 1.0018, 1.0018, 1.0017, 1.0016, 1.0015, 1.0013, 1.0012, 1.0011, 1.0009, 1.0008, 1)}::view-transition-old(.title-morph){height:100%;animation-duration:.26s}::view-transition-new(.title-morph){height:100%;animation-duration:.26s}::view-transition-old(root){animation-duration:.24s;animation-timing-function:cubic-bezier(.2,0,0,1)}::view-transition-new(root){animation-duration:.24s;animation-timing-function:cubic-bezier(.2,0,0,1)}@media (prefers-reduced-motion:reduce){::view-transition-group(*){animation-duration:0s!important}::view-transition-old(*){animation-delay:0s!important}::view-transition-new(*){animation-delay:0s!important}}
