:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--mono:ui-monospace, "Cascadia Code", "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--white:#fff;--fill:#f2f2f2;--fill-soft:#f7f7f7;--rule:#939393;--border:#8a8a8a;--gray:#6e6e6e;--gray-strong:#444;--ink:#111;--blue:#00e;--blue-soft:#e8eeff;--ok:#1a7f37;--shadow:0 4px 14px -4px #1111112e;--radius:4px;--bp-xs:480px;--bp-sm:640px;--bp-md:768px;--bp-xl:1280px;--sh-keyword:#8959a8;--sh-entity:#2f6fb0;--sh-class:#0e7c86;--sh-string:#357a5b;--sh-property:#5b6ea8;--sh-sign:#717171;--sh-comment:#6e6e6e;--sh-identifier:var(--ink);--sh-jsxliterals:var(--ink)}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--white:#16181c;--fill:#262a30;--fill-soft:#1d2025;--rule:#63666b;--border:#70747a;--gray:#8d939c;--gray-strong:#b9bec6;--ink:#e7e9ec;--blue:#7aa2ff;--blue-soft:#1d2740;--ok:#3fb950;--shadow:0 6px 18px -6px #0009;--sh-keyword:#c792ea;--sh-entity:#82aaff;--sh-class:#5fd0c5;--sh-string:#9ece6a;--sh-property:#9aa9e0;--sh-sign:#8b929c;--sh-comment:#84898f}*{box-sizing:border-box}html{background:var(--white)}body{background:var(--white);max-width:44rem;color:var(--ink);font:15px/1.6 var(--mono);--accent-bg:color-mix(in srgb, var(--accent,var(--blue)) 10%, var(--white));--accent-bg-active:color-mix(in srgb, var(--accent,var(--blue)) 18%, var(--white));--accent-border:color-mix(in srgb, var(--accent,var(--blue)) 55%, var(--border));--accent-ink:color-mix(in srgb, var(--accent,var(--blue)) 70%, var(--ink));--accent-ink-hover:color-mix(in srgb, var(--accent,var(--blue)) 52%, var(--ink));--accent-ink-active:color-mix(in srgb, var(--accent,var(--blue)) 38%, var(--ink));--accent-fill:color-mix(in srgb, var(--accent,var(--blue)) 8%, var(--fill));--accent-fill-ink:color-mix(in srgb, var(--accent-ink) 25%, var(--ink));flex-direction:column;min-height:calc(100dvh - 5rem);margin:2.5rem auto;padding:0 1.25rem;display:flex}:root[data-theme=dark] :is(body){--accent-bg:color-mix(in srgb, var(--accent,var(--blue)) 20%, var(--white));--accent-bg-active:color-mix(in srgb, var(--accent,var(--blue)) 30%, var(--white));--accent-border:color-mix(in srgb, var(--accent,var(--blue)) 55%, var(--border));--accent-ink:color-mix(in srgb, var(--accent,var(--blue)) 60%, var(--ink));--accent-ink-hover:color-mix(in srgb, var(--accent,var(--blue)) 48%, var(--ink));--accent-ink-active:color-mix(in srgb, var(--accent,var(--blue)) 34%, var(--ink));--accent-fill:color-mix(in srgb, var(--accent,var(--blue)) 12%, var(--fill))}@media (min-width:1280px){body{max-width:60rem}}a{color:var(--accent-ink);-webkit-text-decoration-color:color-mix(in srgb, currentColor 40%, transparent);text-decoration-color:color-mix(in srgb, currentColor 40%, transparent);text-underline-offset:.15em;transition:color .15s,text-decoration-color .15s}a:visited{color:var(--accent-ink)}a:hover,a:focus-visible{color:var(--accent-ink-hover);text-decoration-color:currentColor}a:active{color:var(--accent-ink-active)}:focus-visible{outline:2px solid var(--accent,var(--blue));outline-offset:2px}h1{flex-wrap:wrap;align-items:baseline;gap:.4em;margin:0 0 1.25rem;font-size:1.3rem;display:flex}h1 a:link,h1 a:visited{color:inherit;text-decoration:underline}h1 a:hover,h1 a:focus-visible,h1 a:active{color:var(--accent-ink)}h1 .sep{color:var(--gray);font-weight:400}h1 .crumb{color:var(--accent,var(--gray));font-weight:700}h1 .version{color:var(--gray);font-size:.7em;font-weight:400}.glyph-mark{align-self:center;width:1.15em;height:1.15em}:root[data-theme=dark] .glyph-mark{content:url(../media/logo-dark.2-8200k02jzl7.svg)}.fw-switch{--fw-chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");border-radius:var(--radius);color:var(--accent,var(--gray));cursor:pointer;background:0 0;border:0;align-self:center;margin-inline-start:-.2em;padding:.1em;display:inline-flex}.fw-switch:before{content:"";width:.8em;height:.8em;-webkit-mask:var(--fw-chevron) center / contain no-repeat;-webkit-mask:var(--fw-chevron) center / contain no-repeat;mask:var(--fw-chevron) center / contain no-repeat;background-color:currentColor;display:block}.fw-switch:hover,.fw-switch[aria-expanded=true]{color:var(--accent-ink)}.fw-menu{background:var(--accent-bg);border:1px solid var(--accent-border);border-radius:var(--radius);max-height:calc(100dvh - 1rem);margin:0;padding:.3rem;font-size:.85rem;font-weight:400;line-height:1.6;position:fixed;inset:auto;box-shadow:0 14px 34px -14px #00000059}.fw-menu a:any-link{border-radius:calc(var(--radius) - 2px);color:var(--ink);white-space:nowrap;align-items:center;gap:.55rem;padding:.25rem .7rem .25rem .55rem;text-decoration:none;display:flex}.fw-menu a:any-link:before{content:"";background:50%/contain no-repeat;flex-shrink:0;width:1.1em;height:1.1em}.fw-menu a:any-link[data-fw=vanilla]:before{background-image:url(../media/javascript.1aupbo2m_zrds.svg)}.fw-menu a:any-link[data-fw=core]:before{background-image:url(../media/logo.0p8vr_cn_m1i-.svg)}:root[data-theme=dark] :is(.fw-menu a:any-link)[data-fw=core]:before{background-image:url(../media/logo-dark.2-8200k02jzl7.svg)}.fw-menu a:any-link[data-fw=vue-router]:before{background-image:url(../media/vue.0012nr2bv-lbe.svg)}.fw-menu a:any-link[data-fw=react-router]:before,.fw-menu a:any-link[data-fw=tanstack-react]:before{background-image:url(../media/react.2f9qyn_-ycxre.svg)}.fw-menu a:any-link[data-fw=solid-router]:before,.fw-menu a:any-link[data-fw=tanstack-solid]:before{background-image:url(../media/solid.3r8f6prbunn-e.svg)}.fw-menu a:any-link[data-fw=angular-router]:before{background-image:url(../media/angular.1sxr3brf4hktx.svg)}.fw-menu a:any-link[data-fw=preact-iso]:before{background-image:url(../media/preact.1l87-i74hx8cv.svg)}.fw-menu a:any-link[data-fw=next]:before{background-image:url(../media/nextjs.2hf0icuw-qh8a.svg)}.fw-menu a:any-link[data-fw=nuxt]:before{background-image:url(../media/nuxt.2w7uvn7v0-drm.svg)}.fw-menu a:any-link[data-fw=sveltekit]:before{background-image:url(../media/svelte.19g-j231dpw3l.svg)}.fw-menu a:any-link:hover,.fw-menu a:any-link:focus-visible{background-color:var(--accent-bg-active);color:var(--ink)}.fw-menu a:any-link[aria-current=page]{background-color:var(--white);font-weight:700}h2{margin:0 0 .5rem;font-size:1rem}button,select,input{font-family:var(--mono);font-size:.9rem}.bar{margin:0 0 1.25rem}.bar .origin{color:var(--gray)}.path{background:var(--fill);border-radius:var(--radius);white-space:pre;width:fit-content;max-width:100%;margin-top:.35rem;padding:2px 6px;display:block;overflow:hidden}.resolving .path{background:var(--blue-soft)}nav.tabs,nav.deep{flex-wrap:wrap;align-items:center;display:flex}:is(nav.tabs,nav.deep) a{border-radius:var(--radius);border:1px solid #0000;text-decoration:none;transition:color .15s,background .15s,border-color .15s;display:inline-block}:is(nav.tabs,nav.deep) a:hover,:is(nav.tabs,nav.deep) a:focus-visible{color:var(--accent-ink);background:var(--accent-bg)}:is(nav.tabs,nav.deep) a:active{color:var(--accent-ink-hover);background:var(--accent-bg-active)}:is(nav.tabs,nav.deep) a[aria-current]{color:var(--white);background:var(--accent-ink);border-color:var(--accent-ink);font-weight:700}nav.tabs{gap:.3rem;margin:0 0 .5rem}nav.tabs a{color:var(--gray-strong);padding:.25rem .85rem}nav.deep{gap:.3rem .35rem;margin:0 0 1.25rem;font-size:.8rem}nav.deep .deep-label{color:var(--gray);margin-right:.3rem}nav.deep a{background:var(--fill);color:var(--gray-strong);padding:.12rem .6rem}.controls{background:var(--accent-bg);border:1px solid var(--accent-border);border-radius:var(--radius);flex-wrap:wrap;gap:.75rem 1.75rem;margin:0 0 1.25rem;padding:.8rem 1rem;display:flex}.controls label{color:var(--gray-strong);align-items:center;gap:.5rem;font-size:.85rem;display:flex}.controls label.toggle{cursor:pointer}.controls .ms{min-width:6ch;display:inline-block}.controls select{appearance:none;background-color:var(--white);background-image:linear-gradient(45deg, transparent 50%, var(--gray-strong) 50%), linear-gradient(135deg, var(--gray-strong) 50%, transparent 50%);border:1px solid var(--border);border-radius:var(--radius);color:var(--ink);cursor:pointer;background-position:calc(100% - .95rem),calc(100% - .65rem);background-repeat:no-repeat;background-size:.3rem .3rem;padding:.2rem 1.7rem .2rem .45rem;transition:border-color .15s}.controls select:hover{border-color:var(--accent-ink)}.controls select:focus-visible{outline:2px solid var(--accent,var(--blue));outline-offset:1px}.controls input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--accent,var(--blue));cursor:pointer}.controls input[type=range]{width:7.5rem;accent-color:var(--accent,var(--blue));cursor:pointer}.controls input[type=range]:focus-visible{outline:2px solid var(--accent,var(--blue));outline-offset:2px}.glyph-tooltip{background:var(--accent-bg);max-width:18rem;color:var(--gray-strong);border:1px solid var(--accent-border);border-radius:var(--radius);box-shadow:var(--shadow);font:.78rem / 1.4 var(--mono);text-align:left;pointer-events:none;opacity:0;transition:opacity .16s ease, transform .16s ease, top .22s ease, left .22s ease, overlay .16s allow-discrete, display .16s allow-discrete;margin:0;padding:.45rem .6rem;position:fixed;inset:auto;overflow:visible;transform:translateY(3px)}.glyph-tooltip:popover-open{opacity:1;transform:translateY(0)}.glyph-tooltip:after{content:"";width:7px;height:7px;left:var(--tip-arrow,50%);background:var(--accent-bg);border:1px solid var(--accent-border);border-top:0;border-left:0;transition:left .22s;position:absolute;bottom:0;transform:translate(-50%,50%)rotate(45deg)}.glyph-tooltip.is-below:after{border:1px solid var(--accent-border);border-bottom:0;border-right:0;top:0;bottom:auto;transform:translate(-50%,-50%)rotate(45deg)}@starting-style{.glyph-tooltip:popover-open{opacity:0;transform:translateY(3px)}}@media (prefers-reduced-motion:reduce){.glyph-tooltip{transition:opacity 1ms, overlay 1ms allow-discrete, display 1ms allow-discrete;transform:none}.glyph-tooltip:after{transition:none}}.view{border:1px solid var(--accent-border);border-radius:var(--radius);min-height:7.5rem;padding:1rem 1.25rem}.view+.view{margin-top:1.25rem}.view.docs pre{background:var(--fill-soft);border:1px solid var(--border);border-radius:var(--radius);margin:0 0 .75rem;padding:.7rem .9rem;font-size:.8rem;line-height:1.55;position:relative}.view.docs pre code{color:var(--ink);background:0 0;padding:0;display:block;overflow-x:auto}.view header.lead{color:var(--gray-strong);margin:0 0 1rem}.view header.lead h2{color:var(--ink)}.view figure{margin:0 0 .75rem}.view figcaption{color:var(--gray-strong);margin:.75rem 0 .4rem}.view aside.note{border-left:2px solid var(--border);color:var(--gray-strong);margin:.75rem 0 0;padding-left:.75rem}.code-copy{border:1px solid var(--border);border-radius:var(--radius);background:var(--fill-soft);width:1.7rem;height:1.7rem;color:var(--gray);cursor:pointer;opacity:.55;justify-content:center;align-items:center;padding:0;transition:opacity .15s,color .15s,border-color .15s,background .15s;display:inline-flex;position:absolute;top:.35rem;right:.35rem}.view.docs pre:hover .code-copy,.view.docs pre:focus-within .code-copy{opacity:1}.code-copy:hover{color:var(--accent-ink);border-color:var(--accent-ink);background:var(--accent-bg)}.code-copy:active{color:var(--accent-ink-hover);background:var(--accent-bg-active)}.code-copy:focus-visible{opacity:1;outline:2px solid var(--accent,var(--blue));outline-offset:2px}.code-copy.copied{opacity:1;color:var(--ok);border-color:var(--ok)}.code-copy svg{width:.95rem;height:.95rem;display:block}.pm-tabs{white-space:normal;flex-wrap:wrap;gap:.3rem;margin-bottom:.6rem;padding-right:2rem;display:flex}.pm-tab{border:1px solid var(--border);border-radius:var(--radius);background:var(--white);color:var(--gray);font:.72rem var(--mono);cursor:pointer;padding:.12rem .55rem;transition:color .15s,border-color .15s,background .15s}.pm-tab:hover{color:var(--accent-ink);border-color:var(--accent-ink);background:var(--accent-bg)}.pm-tab:active{color:var(--accent-ink-hover);background:var(--accent-bg-active)}.pm-tab.active{color:var(--accent-ink);border-color:var(--accent-border);background:var(--accent-bg);font-weight:700}.pm-tab:focus-visible{outline:2px solid var(--accent,var(--blue));outline-offset:1px}.core-demo{margin-bottom:.5rem}.glyph-stage{background:var(--fill);border-radius:var(--radius);min-height:2.2em;font-family:var(--mono);white-space:pre-wrap;overflow-wrap:anywhere;color:var(--ink);align-items:center;padding:.5rem .7rem;font-size:1.15rem;line-height:1.35;display:flex}.core-form{flex-wrap:wrap;gap:.5rem;margin-top:.6rem;display:flex}.core-form input{border:1px solid var(--border);border-radius:var(--radius);background:var(--white);min-width:0;color:var(--ink);flex:18rem;padding:.35rem .5rem;transition:border-color .15s}.core-form input:hover{border-color:var(--accent-border)}.core-form button{border:1px solid var(--border);border-radius:var(--radius);background:var(--fill);color:var(--ink);cursor:pointer;padding:.35rem .9rem;transition:color .15s,border-color .15s,background .15s}.core-form button:hover{color:var(--accent-ink);border-color:var(--accent-ink);background:var(--accent-bg)}.core-form button:active{color:var(--accent-ink-hover);background:var(--accent-bg-active)}.pick{grid-template-columns:repeat(2,1fr);gap:.875rem;margin:1.5rem 0;padding:0;list-style:none;display:grid}.pick li{display:contents}.card{border-radius:var(--radius);border:1.5px solid var(--border);background:var(--white);color:var(--ink);flex-direction:column;gap:.5rem;padding:1.1rem 1.2rem;text-decoration:none;transition:border-color .22s,box-shadow .22s;display:flex;position:relative;overflow:hidden}.card:after{content:"";pointer-events:none;background:linear-gradient(105deg,#0000 30%,#fff3 50%,#0000 70%);width:55%;height:200%;position:absolute;top:-50%;left:-80%;transform:skew(-20deg)}.card:hover{border-color:var(--accent,var(--blue));box-shadow:0 12px 36px -10px color-mix(in srgb, var(--accent,var(--blue)) 28%, transparent), 0 3px 10px -4px #00000014}.card:hover:after{animation:.55s forwards card-shimmer}.card:focus-visible{outline:2px solid var(--accent,var(--blue));outline-offset:3px}@keyframes card-shimmer{0%{left:-80%}to{left:120%}}:root[data-theme=dark] .card:after{background:linear-gradient(105deg,#0000 30%,#ffffff12 50%,#0000 70%)}@media (prefers-reduced-motion:reduce){.card:after{display:none}.card code,.card code [class*=sh__token--]{transition:none}}.card-header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.card-icon{flex-shrink:0;width:1.5rem;height:1.5rem}:root[data-theme=dark] [data-fw=core] .card-icon{content:url(../media/logo-dark.2-8200k02jzl7.svg)}.card-router{color:var(--gray);text-align:right;white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;overflow:hidden}.card-name{color:var(--ink);letter-spacing:-.01em;font-size:.92rem;font-weight:700}.card-desc{color:var(--gray);margin:0;font-size:.78rem;line-height:1.55}.card code{background:var(--fill-soft);color:var(--ink);transition:background .3s}.card{--chip-ink:color-mix(in srgb, var(--accent,var(--blue)) 70%, var(--ink));--chip-bg:color-mix(in srgb, var(--accent,var(--blue)) 10%, var(--white))}:root[data-theme=dark] .card{--chip-ink:color-mix(in srgb, var(--accent,var(--blue)) 60%, var(--ink));--chip-bg:color-mix(in srgb, var(--accent,var(--blue)) 20%, var(--white))}.card code [class*=sh__token--]{transition:color .35s}.card code [class*=sh__token--]:nth-child(2){transition-delay:30ms}.card code [class*=sh__token--]:nth-child(3){transition-delay:60ms}.card code [class*=sh__token--]:nth-child(n+4){transition-delay:90ms}.card:hover code{background:var(--chip-bg)}.card:hover code [class*=sh__token--]{color:var(--chip-ink)}[data-fw=vanilla]{--accent:#b08e00}[data-fw=core]{--accent:#4d7cff}[data-fw=vue-router]{--accent:#2e9b68}[data-fw=react-router]{--accent:#0891b0}[data-fw=preact-iso]{--accent:#673ab8}[data-fw=solid-router]{--accent:#3a6096}[data-fw=tanstack-react]{--accent:#0891b0}[data-fw=tanstack-solid]{--accent:#3a6096}[data-fw=angular-router]{--accent:#aa0026}[data-fw=next]{--accent:var(--ink)}[data-fw=nuxt]{--accent:#008f60}[data-fw=sveltekit]{--accent:#c23000}:root[data-theme=dark] [data-fw=vanilla]{--accent:#e8c000}:root[data-theme=dark] [data-fw=vue-router]{--accent:#4ec990}:root[data-theme=dark] [data-fw=react-router]{--accent:#22c4e6}:root[data-theme=dark] [data-fw=preact-iso]{--accent:#673ab8}:root[data-theme=dark] [data-fw=solid-router]{--accent:#7aaee0}:root[data-theme=dark] [data-fw=tanstack-react]{--accent:#22c4e6}:root[data-theme=dark] [data-fw=tanstack-solid]{--accent:#7aaee0}:root[data-theme=dark] [data-fw=angular-router]{--accent:#ff5070}:root[data-theme=dark] [data-fw=nuxt]{--accent:#00dc82}:root[data-theme=dark] [data-fw=sveltekit]{--accent:#ff5e2e}@media (max-width:768px){.pick{grid-template-columns:1fr}}.foot{color:var(--gray);margin-top:1.5rem;font-size:.8rem}.site-footer{border-top:1px solid var(--rule);color:var(--gray);flex-wrap:wrap;gap:.25rem 1rem;margin-top:auto;padding-top:1rem;font-size:.8rem;display:flex}.site-footer .stack{margin-left:auto}.site-footer .stack[data-tip]{cursor:help}#__nuxt,.app-shell,main{flex-direction:column;flex:1 0 auto;min-width:0;display:flex}code{background:var(--accent-fill);color:var(--accent-fill-ink);border-radius:3px;padding:1px 4px}code.hl{background:var(--fill-soft);color:var(--ink)}.sh__token--keyword{color:var(--sh-keyword)}.sh__token--entity{color:var(--sh-entity)}.sh__token--class{color:var(--sh-class)}.sh__token--string{color:var(--sh-string)}.sh__token--property{color:var(--sh-property)}.sh__token--sign{color:var(--sh-sign)}.sh__token--identifier{color:var(--sh-identifier)}.sh__token--jsxliterals{color:var(--sh-jsxliterals)}.sh__token--comment{color:var(--sh-comment);font-style:italic}.theme-toggle{z-index:50;background:var(--white);width:2rem;height:2rem;color:var(--gray-strong);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);cursor:pointer;justify-content:center;align-items:center;padding:0;transition:color .15s,border-color .15s,background .15s;display:inline-flex;position:fixed;top:.85rem;right:.85rem}.theme-toggle:hover{color:var(--accent-ink);border-color:var(--accent-ink);background:var(--accent-bg)}.theme-toggle:active{color:var(--accent-ink-hover);background:var(--accent-bg-active)}.theme-toggle:focus-visible{outline:2px solid var(--accent,var(--blue));outline-offset:2px}.theme-toggle svg{width:1.05rem;height:1.05rem;display:block}@media (max-width:768px){body{position:relative}.theme-toggle{position:absolute;top:0;right:1.25rem}h1:has(.glyph-mark){padding-right:2.75rem}}
