@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media (prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*),[data-astro-transition-scope]{animation:none!important}}.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}.skip{left:var(--space-4);z-index:100;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--accent);color:#000;position:absolute;top:-100px}.skip:focus{top:var(--space-2)}.header{z-index:40;align-items:center;gap:var(--space-5);height:var(--header-h);padding:0 var(--space-5);border-bottom:1px solid var(--border);background:var(--bg);display:flex;position:sticky;top:0}.header__start,.header__end{align-items:center;gap:var(--space-3);display:flex}.header__end{margin-left:auto}.header__brand{font:italic 500 1.5rem/1 var(--serif);text-decoration:none}.header__version{color:var(--text-faint);font:400 13px/1 var(--sans);font-variant-numeric:tabular-nums}.header__nav{gap:var(--space-5);font-size:14px;display:flex}.header__nav a{color:var(--text-muted);transition:color var(--ease);text-decoration:none}.header__nav a:hover,.header__nav a[aria-current=page]{color:var(--text)}.header__soon{color:var(--text-faint)}.header__search{align-items:center;gap:var(--space-2);width:240px;height:32px;padding:0 var(--space-2) 0 var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-muted);font:400 14px/1 var(--sans);cursor:pointer;transition:border-color var(--ease);display:flex}.header__search:hover{border-color:var(--text-faint)}.header__search kbd{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-faint);font:400 12px/1.2 var(--sans);margin-left:auto;padding:2px 6px}.header__github,.header__menu{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--text-muted);cursor:pointer;transition:color var(--ease);background:0 0;border:0;place-items:center;display:grid}.header__github:hover,.header__menu:hover{color:var(--text)}.header__menu{display:none}.header__docs{color:var(--text-muted);font-size:14px;text-decoration:none;display:none}.docs{grid-template-columns:var(--sidebar-w) minmax(0, 1fr) var(--toc-w);max-width:1440px;margin:0 auto;display:grid}.sidebar{top:var(--header-h);height:calc(100dvh - var(--header-h));padding:var(--space-5) var(--space-4) var(--space-7);border-right:1px solid var(--border);overscroll-behavior:contain;font-size:14px;position:sticky;overflow-y:auto}.sidebar__head{display:none}.sidebar__group+.sidebar__group{margin-top:var(--space-4)}.sidebar__group summary{padding:var(--space-1) var(--space-2);color:var(--text);cursor:pointer;font-weight:600;list-style:none}.sidebar__group summary::-webkit-details-marker{display:none}.sidebar__group ul{margin:var(--space-1) 0 0;padding:0;list-style:none}.sidebar__group a,.sidebar__planned{padding:5px var(--space-2) 5px var(--space-3);color:var(--text-muted);transition:color var(--ease), background-color var(--ease);border-left:2px solid #0000;text-decoration:none;display:block}.sidebar__group a:hover{color:var(--text)}.sidebar__group a[aria-current=page]{border-left-color:var(--accent);background:var(--surface-raised);color:var(--text)}.sidebar__planned{color:var(--text-faint)}.docs__main{min-width:0;padding:var(--space-6) var(--space-7) var(--space-9)}.docs__main>*{max-width:var(--prose-w)}.crumbs{gap:var(--space-2);margin-bottom:var(--space-4);color:var(--text-faint);font-size:13px;display:flex}.crumbs [aria-current]{color:var(--text-muted)}.docs__title{font:500 48px/1.05 var(--serif);letter-spacing:-.01em;margin:0}.docs__lead{margin:var(--space-3) 0 var(--space-6);color:var(--text-muted);font-size:18px;line-height:1.5}.prose{max-width:none}.prose>*{max-width:var(--prose-w)}.prose>.example,.prose>.table-wrap{max-width:var(--wide-w)}.prose h2{margin:var(--space-8) 0 var(--space-4);padding-top:var(--space-5);border-top:1px solid var(--border);font:500 32px/1.15 var(--serif);scroll-margin-top:calc(var(--header-h) + var(--space-4))}.prose h3{margin:var(--space-6) 0 var(--space-3);font:600 18px/1.4 var(--sans);scroll-margin-top:calc(var(--header-h) + var(--space-4))}.prose h3 code{background:0 0;border:0;padding:0;font-size:.95em}.prose p,.prose ul,.prose ol{margin:0 0 var(--space-4)}.prose ul,.prose ol{padding-left:var(--space-5)}.prose li+li{margin-top:var(--space-1)}.prose a{color:var(--text);text-decoration:underline;text-decoration-color:var(--text-faint);text-underline-offset:3px;transition:text-decoration-color var(--ease), color var(--ease)}.prose a:hover{color:var(--accent);text-decoration-color:var(--accent)}.prose :not(pre)>code{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);padding:1px 5px;font-size:.875em}.prose strong{font-weight:600}.code{margin:var(--space-5) 0;border:1px solid var(--border);border-radius:var(--radius);background:var(--code-bg);overflow:hidden}.code__head{height:36px;padding-right:var(--space-1);border-bottom:1px solid var(--border);background:var(--code-head);justify-content:space-between;align-items:stretch;display:flex}.code__file{padding:0 var(--space-4);border-right:1px solid var(--border);background:var(--code-bg);color:var(--text-muted);font:400 12px/1 var(--mono);align-items:center;margin-bottom:-1px;display:flex}.code__copy{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--text-faint);cursor:pointer;transition:color var(--ease), background-color var(--ease);background:0 0;border:0;align-self:center;place-items:center;display:grid;position:relative}.code__copy:hover{background:var(--surface-raised);color:var(--text)}.code__copy .code__done-icon,.code__copy.is-copied .code__copy-icon{display:none}.code__copy.is-copied .code__done-icon{color:var(--code-tag);display:block}.code__status{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.code pre{padding:var(--space-4) var(--space-4) var(--space-4) 0;tab-size:2;counter-reset:line;margin:0;font-size:13.5px;line-height:1.7;overflow-x:auto;background:var(--code-bg)!important}.code pre code{min-width:max-content;font-family:var(--mono);display:block}.code pre .line:before{counter-increment:line;content:counter(line);width:3ch;margin:0 var(--space-4) 0 var(--space-3);color:var(--text-faint);opacity:.6;text-align:right;user-select:none;display:inline-block}.code--terminal pre{padding-left:var(--space-4)}.code--terminal pre .line:before{content:"$";counter-increment:none;width:auto;margin:0 var(--space-3) 0 0}.t-keyword{color:var(--code-keyword)}.t-string{color:var(--code-string)}.t-tag{color:var(--code-tag)}.t-attr{color:var(--code-attr)}.t-punct{color:var(--code-punct)}.pm__tabs{align-items:center;gap:var(--space-1);padding-left:var(--space-2);display:flex}.pm__tab{height:28px;padding:0 var(--space-2);border-radius:var(--radius-sm);color:var(--text-faint);font:500 13px/1 var(--sans);cursor:pointer;transition:color var(--ease), background-color var(--ease);background:0 0;border:0}.pm__tab:hover{color:var(--text)}.pm__tab[aria-selected=true]{background:var(--surface-raised);color:var(--text)}.callout{margin:var(--space-5) 0;padding:var(--space-4) var(--space-5);border:1px solid var(--border);border-left:2px solid var(--lilac);border-radius:var(--radius);background:#2b163073}.callout--warning{border-left-color:var(--accent)}.callout>:last-child{margin-bottom:0}.callout__title{margin:0 0 var(--space-1);font-weight:600}.table-wrap{margin:var(--space-5) 0;border:1px solid var(--border);border-radius:var(--radius);overflow-x:auto}.props{border-collapse:collapse;width:100%;font-size:14px;line-height:1.5}.props th,.props td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.props thead th{background:var(--surface);color:var(--text-muted);white-space:nowrap;font-weight:500}.props tbody tr:last-child>*{border-bottom:0}.props tbody th{white-space:nowrap;font-weight:400}.props tbody th a{text-decoration:none}.props tbody th code{color:var(--text)}.props td:nth-child(2){min-width:140px;max-width:220px}.props td:nth-child(2) code{color:var(--code-tag)}.props td:nth-child(3) code{white-space:nowrap;color:var(--code-number)}.prose .props code{background:0 0;border:0;padding:0;font-size:13px}.prose .props td:last-child code{color:var(--text)}.props td:last-child{color:var(--text-muted);min-width:240px}.props__none{color:var(--text-faint)}.props__text{color:var(--text-muted);white-space:nowrap}.example{margin:var(--space-6) 0;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow:hidden}.example__stage{aspect-ratio:16/9;background:#000;width:100%;min-height:280px;max-height:70vh;position:relative}.example__frame{border:0;width:100%;height:100%;display:block}.example__start{color:var(--text);font:500 15px/1 var(--sans);cursor:pointer;background:#000 50%/cover no-repeat;border:0;place-items:center;display:grid;position:absolute;inset:0}.example__start span{padding:var(--space-3) var(--space-4);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:#000000b3}.example.is-running .example__start{display:none}.example__full{top:var(--space-3);right:var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-sm);width:32px;height:32px;color:var(--text);cursor:pointer;background:#0009;place-items:center;display:grid;position:absolute}.example.is-full .example__stage{z-index:80;aspect-ratio:auto;width:100vw;height:100dvh;min-height:0;max-height:none;position:fixed;inset:0}.example__icon-close,.example.is-full .example__icon-open{display:none}.example.is-full .example__icon-close{display:block}.timeline{column-gap:var(--space-4);padding:var(--space-3) var(--space-4);border-top:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.timeline__track{background:var(--border-strong);height:2px;position:relative}.timeline__fill{background:var(--accent);width:0;position:absolute;inset:0 auto 0 0}.timeline__head{background:var(--accent);width:2px;height:14px;margin-left:-1px;position:absolute;top:-6px;left:0}.timeline__readout{color:var(--text-muted);font:400 12px/1 var(--mono);font-variant-numeric:tabular-nums;white-space:pre;grid-area:1/2}.timeline__lanes{height:22px;margin-top:var(--space-2);grid-column:1;position:relative}.timeline__range{border-top:2px solid var(--lilac);opacity:.55;height:22px;transition:opacity var(--ease);position:absolute;top:0}.timeline__range[data-active]{opacity:1}.timeline__label{padding-top:var(--space-1);color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:13px;line-height:1.2;display:block;overflow:hidden}.controls{gap:var(--space-4);padding:var(--space-4);border-bottom:1px solid var(--border);display:grid}.controls__row{border:0;min-width:0;margin:0;padding:0}.controls__row legend{margin-bottom:var(--space-2);color:var(--text-faint);font:400 12px/1 var(--mono);padding:0}.controls__line{align-items:flex-end;gap:var(--space-5);flex-wrap:wrap;display:flex}.controls input[type=radio],.switch input{opacity:0;pointer-events:none;position:absolute}.chips{gap:var(--space-1);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.chip{align-items:center;gap:var(--space-2);height:32px;padding:0 var(--space-3) 0 var(--space-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);font:400 13px/1 var(--mono);cursor:pointer;transition:color var(--ease), border-color var(--ease), background-color var(--ease);display:flex}.chip svg{color:var(--text-faint);transition:color var(--ease)}.chip:hover{border-color:var(--border-strong);color:var(--text)}.chip:has(input:checked){border-color:var(--text-faint);color:var(--text);background:#fff3e314}.chip:has(input:checked) svg{color:var(--accent)}.segmented{border:1px solid var(--border);border-radius:var(--radius-sm);padding:2px;display:inline-flex}.segmented__item{height:26px;padding:0 var(--space-3);color:var(--text-muted);font:400 13px/1 var(--mono);cursor:pointer;transition:color var(--ease), background-color var(--ease);border-radius:3px;place-items:center;display:grid}.segmented__item:hover{color:var(--text)}.segmented__item:has(input:checked){color:var(--text);background:#fff3e31f}.switch{align-items:center;gap:var(--space-2);height:32px;color:var(--text-muted);font:400 13px/1 var(--mono);cursor:pointer;display:flex;position:relative}.switch__track{border:1px solid var(--border-strong);width:28px;height:16px;transition:background-color var(--ease), border-color var(--ease);border-radius:8px;position:relative}.switch__thumb{background:var(--text-faint);width:10px;height:10px;transition:transform var(--ease), background-color var(--ease);border-radius:50%;position:absolute;top:2px;left:2px}.switch:has(input:checked){color:var(--text)}.switch:has(input:checked) .switch__track{border-color:var(--accent)}.switch:has(input:checked) .switch__thumb{background:var(--accent);transform:translate(12px)}.chip:has(input:focus-visible),.segmented__item:has(input:focus-visible),.switch:has(input:focus-visible) .switch__track{box-shadow:inset 0 0 0 1px var(--accent)}.example__code{border:0;border-top:1px solid var(--border);border-radius:0;margin:0}.example figcaption{padding:var(--space-3) var(--space-4);border-top:1px solid var(--border);color:var(--text-faint);font-size:13px}.pager{justify-content:space-between;gap:var(--space-4);max-width:var(--wide-w);margin-top:var(--space-8);padding-top:var(--space-5);border-top:1px solid var(--border);display:flex}.pager__item{align-items:center;gap:var(--space-4);min-width:0;padding:var(--space-4) var(--space-5);border-radius:var(--radius);transition:background-color var(--ease);text-decoration:none;display:flex}.pager__item--prev{margin-left:calc(var(--space-5) * -1)}.pager__item--next{margin-left:auto;margin-right:calc(var(--space-5) * -1);text-align:right}.pager__text{gap:var(--space-1);min-width:0;display:grid}.pager__label{color:var(--text-muted);font-size:13px;font-weight:500}.pager__title{font:500 24px/1.2 var(--serif);transition:color var(--ease)}.pager__note{color:var(--text-faint);font-size:13px}.pager__arrow{color:var(--text-muted);transition:color var(--ease), transform var(--ease);flex:none}a.pager__item:hover{background:var(--surface-raised)}a.pager__item:hover .pager__title,a.pager__item:hover .pager__arrow{color:var(--accent)}a.pager__item--prev:hover .pager__arrow{transform:translate(-2px)}a.pager__item--next:hover .pager__arrow{transform:translate(2px)}.pager__item--planned .pager__title,.pager__item--planned .pager__label,.pager__item--planned .pager__arrow{color:var(--text-faint)}.docs__toc{padding:var(--space-6) var(--space-4)}.toc{top:calc(var(--header-h) + var(--space-6));font-size:13px;position:sticky}.toc__title{margin:0 0 var(--space-2);color:var(--text);font-weight:600}.toc ul{border-left:1px solid var(--border);margin:0;padding:0;list-style:none}.toc a{padding:3px 0 3px var(--space-3);color:var(--text-muted);transition:color var(--ease);border-left:1px solid #0000;margin-left:-1px;text-decoration:none;display:block}.toc__sub a{padding-left:var(--space-5)}.toc a:hover{color:var(--text)}.toc a[aria-current]{border-left-color:var(--accent);color:var(--text)}.search{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);width:min(640px,100vw - 32px);max-height:min(70vh,640px);color:var(--text);margin:10vh auto auto;padding:0}.search::backdrop{background:#0009}.search__box{padding:var(--space-4);--pagefind-ui-scale:.85;--pagefind-ui-primary:var(--accent);--pagefind-ui-text:var(--text);--pagefind-ui-background:var(--surface);--pagefind-ui-border:var(--border-strong);--pagefind-ui-tag:var(--surface-raised);--pagefind-ui-border-width:1px;--pagefind-ui-border-radius:4px;--pagefind-ui-font:var(--sans)}.search__empty{color:var(--text-muted);margin:0}.docs__backdrop{display:none}@media (width<=1199px){.docs{grid-template-columns:var(--sidebar-w) minmax(0, 1fr)}.docs__toc{display:none}}@media (width<=767px){.header{gap:var(--space-3);padding:0 var(--space-4)}.header__menu{margin-left:calc(var(--space-2) * -1);display:grid}.header__nav{display:none}.header__docs{margin-left:auto;display:block}.header__docs+.header__end{margin-left:var(--space-2)}.header__search{background:0 0;border-color:#0000;justify-content:center;width:32px;padding:0}.header__search span,.header__search kbd{display:none}.docs{display:block}.sidebar{z-index:60;background:var(--bg);visibility:hidden;width:min(320px,85vw);height:100dvh;transition:transform .2s,visibility 0s linear .2s;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.sidebar.is-open{visibility:visible;transition:transform .2s;transform:none}.sidebar__head{margin-bottom:var(--space-4);justify-content:space-between;align-items:center;font-weight:600;display:flex}.sidebar__close{width:32px;height:32px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.docs__backdrop:not([hidden]){z-index:50;background:#0009;display:block;position:fixed;inset:0}.docs__main{padding:var(--space-5) var(--space-4) var(--space-8)}.docs__title{font-size:36px}.docs__lead{font-size:17px}.prose h2{font-size:28px}.example{margin-left:calc(var(--space-4) * -1);margin-right:calc(var(--space-4) * -1);border-left:0;border-right:0;border-radius:0}.example__stage{aspect-ratio:auto;height:70vh;max-height:none}.timeline{grid-template-columns:minmax(0,1fr)}.timeline__readout{margin-top:var(--space-2);grid-area:3/1}.pager{gap:var(--space-2)}.pager__item{padding:var(--space-3)}.pager__item--prev{margin-left:calc(var(--space-3) * -1)}.pager__item--next{margin-right:calc(var(--space-3) * -1)}.pager__title{font-size:20px}.chips{grid-template-columns:repeat(2,minmax(0,1fr))}}.timeline__readout b{color:var(--text-faint);font-weight:400}.timeline__readout[data-idle]{font:400 13px/1 var(--sans)}.flow{margin:var(--space-5) 0;max-width:var(--wide-w);border:1px solid var(--border);border-radius:var(--radius);counter-reset:flow;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:0;padding:0;list-style:none;display:grid}.prose .flow li+li{margin-top:0}.flow__step{align-content:start;gap:var(--space-1);padding:var(--space-4);counter-increment:flow;display:grid;position:relative}.flow__step+.flow__step{border-left:1px solid var(--border)}.flow__step:before{content:counter(flow);color:var(--accent);font:400 12px/1 var(--mono)}.flow__title{font-size:15px;font-weight:600}.flow__text{color:var(--text-muted);font-size:14px;line-height:1.5}.keyframes{margin:var(--space-4) 0;max-width:var(--wide-w)}.keyframes__label{margin-bottom:var(--space-2);color:var(--text-muted);font-size:14px}.keyframes__track{border-bottom:2px solid var(--border-strong);height:20px;position:relative}.keyframes__tick{background:var(--text);width:1px;height:14px;margin-left:-.5px;position:absolute;bottom:0}.keyframes__note{margin:var(--space-2) 0 0;color:var(--text-faint);font-size:13px}@media (width<=767px){.flow{grid-template-columns:1fr}.flow__step+.flow__step{border-left:0;border-top:1px solid var(--border)}}.prose .flow{padding:0}.data-table{border-collapse:collapse;width:100%;font-size:14px;line-height:1.5}.data-table th,.data-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.data-table thead th{background:var(--surface);color:var(--text-muted);white-space:nowrap;font-weight:500}.data-table tbody tr:last-child>*{border-bottom:0}.data-table td{color:var(--text-muted)}.data-table td:first-child{color:var(--text);white-space:nowrap}.prose .data-table code{background:0 0;border:0;padding:0;font-size:13px}.steps{max-width:var(--prose-w)}.prose .steps>ol{margin:var(--space-5) 0;counter-reset:step;padding:0;list-style:none}.prose .steps>ol>li{padding:0 0 var(--space-6) var(--space-7);counter-increment:step;margin:0;position:relative}.prose .steps>ol>li:before{content:counter(step);border:1px solid var(--border-strong);background:var(--bg);width:28px;height:28px;color:var(--accent);font:500 13px/1 var(--mono);border-radius:50%;place-items:center;display:grid;position:absolute;top:0;left:0}.prose .steps>ol>li:after{content:"";background:var(--border);width:1px;position:absolute;top:36px;bottom:8px;left:14px}.prose .steps>ol>li:last-child{padding-bottom:0}.prose .steps>ol>li:last-child:after{display:none}.prose .steps>ol>li>p:first-child{min-height:28px;padding-top:2px}.prose .steps .code{margin:var(--space-3) 0 0}
