/*! The typefaces: JetBrains Mono, copyright The JetBrains Mono Project
   Authors, and Space Grotesk, copyright The Space Grotesk Project Authors.
   Both under the SIL Open Font License 1.1: fonts/OFL.txt beside this file,
   and https://openfontlicense.org. */@font-face{font-family:JetBrains Mono;src:url(fonts/jetbrains-mono.18be4527.woff2)format(woff2);font-weight:100 800;font-display:swap}@font-face{font-family:Space Grotesk;src:url(fonts/space-grotesk.06408904.woff2)format(woff2);font-weight:300 700;font-display:swap}:root{--ground:#0a0c0f;--panel:#11151a;--raised:#181d24;--hover:#1f262f;--line:#2a323d;--edge:#5f6a78;--strong:#eef1f4;--text:#d7dce2;--muted:#8f98a5;--read:#45dcf2;--write:#ff6ad5;--stream:#ffc24d;--ok:#4fe28f;--error:#ff7373;--focus:#45dcf2;--mono:"JetBrains Mono",ui-monospace,"SF Mono",Menlo,Consolas,monospace;--sans:"Space Grotesk",system-ui,-apple-system,"Segoe UI",sans-serif;--s1:.25rem;--s2:.5rem;--s3:.75rem;--s4:1rem;--s5:1.5rem;--s6:2rem;--radius:6px;--radius-sm:4px;--top:3.5rem;--t-xs:.6875rem;--t-sm:.75rem;--t-code:.8125rem;--t-ui:.875rem;--t-base:.9375rem;--t-md:1.0625rem;--t-lg:1.25rem;--t-xl:1.75rem;--t-2xl:2.25rem;--lh-prose:1.6;--lh-code:1.55;--lh-tight:1.2;--measure:44rem;--page:52rem;--buncss-light: ;--buncss-dark:initial;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}[hidden]{display:none!important}html{font:var(--t-base)/var(--lh-prose)var(--sans);background:var(--ground);color:var(--text)}body{margin:0}a{color:var(--text);text-decoration:underline;text-decoration-color:var(--edge);text-underline-offset:.18em}a:hover{text-decoration-color:var(--read)}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}main:focus,.pane:focus{outline:none}code,pre,textarea,input,select{font-family:var(--mono);font-size:var(--t-code)}pre{margin:var(--s3)0;padding:var(--s3)var(--s4);overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);white-space:pre-wrap;overflow-wrap:anywhere;line-height:var(--lh-code);max-height:30rem}h1,h2,h3{font-family:var(--sans);letter-spacing:-.01em;font-weight:600}h1{margin:0 0 var(--s3);font-size:var(--t-xl);line-height:var(--lh-tight);letter-spacing:-.015em;color:var(--strong);overflow-wrap:anywhere}h2{margin:var(--s6)0 var(--s3);font-size:var(--t-lg);letter-spacing:-.01em;color:var(--strong);line-height:1.3}h3{margin:0 0 var(--s1);font-size:var(--t-md);line-height:1.35}p{margin:var(--s2)0}.muted{color:var(--muted)}.small{font-size:var(--t-code)}.bad,.warn-text{color:var(--error)}.crumbs ol{display:flex;gap:var(--s1)var(--s2);margin:0 0 var(--s2);list-style:none;color:var(--muted);font:var(--t-sm)/1.5 var(--mono);flex-wrap:wrap;padding:0}.crumbs li+li:before{content:"/";margin-right:var(--s2);color:var(--edge)}.crumbs a{color:var(--text);text-decoration:none}.crumbs a:hover{text-decoration:underline}.try{display:none;margin:0 0 var(--s4)}.doc p{white-space:pre-line;max-width:var(--measure)}.badge{display:inline-block;padding:.05rem var(--s2);border:1px solid var(--edge);border-radius:var(--radius-sm);background:color-mix(in oklab,currentColor 10%,transparent);color:var(--text);font:500 var(--t-xs)/1.5 var(--mono);letter-spacing:.02em;white-space:nowrap;vertical-align:middle}.badge.read{border-color:var(--read);color:var(--read)}.badge.write{border-color:var(--write);color:var(--write)}.badge.stream,.badge.warn{border-color:var(--stream);color:var(--stream)}.badge.good{border-color:var(--ok);color:var(--ok)}.badge.error{border-color:var(--error);color:var(--error)}.skip{position:absolute;left:var(--s2);z-index:20;padding:var(--s2)var(--s3);background:var(--ground);border:1px solid var(--read);border-radius:var(--radius-sm);top:-4rem}.skip:focus{top:var(--s2)}.visually-hidden{position:absolute;overflow:hidden;clip-path:inset(50%);white-space:nowrap;width:1px;height:1px}.top{position:sticky;z-index:10;display:flex;align-items: center;gap:var(--s4);min-height:var(--top);padding:var(--s2)var(--s5);background:var(--ground);border-bottom:1px solid var(--line);top:0}.brand{font:700 1rem/1 var(--sans);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search{position:relative;flex:12rem;max-width:34rem;margin-left:auto}.keys{position:absolute;top:50%;right:var(--s2);display:flex;gap:var(--s1);pointer-events:none;transform:translateY(-50%)}.key{display:inline-block;padding:0 var(--s1);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--raised);color:var(--muted);font:var(--t-xs)/1.4 var(--mono);text-align:center;white-space:nowrap;border-bottom-width:2px;min-width:1.25rem}.search input{padding-right:5.5rem}#hits{position:absolute;margin:var(--s1)0 0;padding:var(--s1);overflow:auto;list-style:none;background:var(--panel);border:1px solid var(--edge);border-radius:var(--radius);max-height:60vh;inset:100% 0 auto}#hits li{display:grid;grid-template-columns:4.5rem minmax(0,1fr)auto;align-items: center;gap:var(--s3);padding:var(--s2)var(--s3);border-radius:var(--radius-sm);cursor:pointer}#hits li[role=presentation]{display:block}.hit-text{min-width:0}.hit-doc{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--t-sm)}.hit-page{font-size:var(--t-sm)}#hits li:hover{background:var(--hover)}#hits li[aria-selected=true]{background:var(--raised);box-shadow:inset 2px 0 0 var(--read)}.hit-name{font-family:var(--mono);font-size:var(--t-code);overflow-wrap:anywhere}.chip{gap:var(--s1);white-space:nowrap;max-width:18rem}.chip strong{overflow:hidden;text-overflow:ellipsis}.chip-label{color:var(--muted);font-size:var(--t-sm);font-weight:500}#menu{display:none}.dot{display:inline-block;margin-left:var(--s2);background:var(--ok);border-radius:50%;width:.5rem;height:.5rem}.dot.unset{border:1px solid var(--stream);background:0 0}.layout{display:grid;grid-template-columns:18rem minmax(0,1fr)}#nav{position:sticky;top:var(--top);max-height:calc(100vh - var(--top));overflow:auto;padding:var(--s4)var(--s3)var(--s6);border-right:1px solid var(--line);font:var(--t-code)/1.4 var(--mono);align-self: start}.filter{margin:0 0 var(--s3)}.filter input{padding:var(--s1)var(--s2);min-height:2rem}.filter-status{margin:var(--s1)var(--s2)0;font-size:var(--t-sm)}.filter-status:empty{display:none}#nav details.fold>summary{display:flex;margin-top:var(--s3);padding:0 var(--s2);color:var(--muted);font:500 var(--t-xs)/1.4 var(--mono);text-transform:uppercase;letter-spacing:.1em;cursor:pointer;align-items: center;min-height:1.75rem}#nav h2{margin:var(--s4)0 var(--s1);padding:0 var(--s2);color:var(--muted);font:500 var(--t-xs)/1.4 var(--mono);text-transform:uppercase;letter-spacing:.1em}#nav ul{list-style:none;margin:0;padding:0}#nav ul ul{padding-left:var(--s2);border-left:1px solid var(--line);margin-left:var(--s3)}#nav a{display:flex;align-items: center;gap:var(--s2);padding:0 var(--s2);border-radius:var(--radius-sm);text-decoration:none;overflow-wrap:anywhere;min-height:2rem}#nav a:hover{background:var(--raised)}#nav a[aria-current=page]{background:var(--raised);box-shadow:inset 2px 0 0 var(--read)}#nav a.deprecated{text-decoration:line-through;text-decoration-color:var(--muted)}.tag{text-align:center;flex:none;width:.9rem;font-weight:700}.tag.read{color:var(--read)}.tag.write{color:var(--write)}.tag.stream{color:var(--stream)}#nav summary{margin-top:var(--s3);padding:var(--s1)var(--s2);cursor:pointer;overflow-wrap:anywhere;font-weight:700}main{display:grid;grid-template-columns:minmax(0,1fr);min-width:0}main.split{grid-template-columns:minmax(0,1fr)var(--s3)minmax(26rem,var(--side,38rem))}.gutter{position:sticky;top:var(--top);height:calc(100vh - var(--top));cursor:col-resize;background:linear-gradient(to right,transparent calc(50% - .5px),var(--line)calc(50% - .5px),var(--line)calc(50% + .5px),transparent calc(50% + .5px));touch-action:none;align-self: start}.gutter:hover,.gutter.held{background:linear-gradient(to right,transparent calc(50% - 1px),var(--edge)calc(50% - 1px),var(--edge)calc(50% + 1px),transparent calc(50% + 1px))}.gutter:focus-visible{background:linear-gradient(to right,transparent calc(50% - 1px),var(--edge)calc(50% - 1px),var(--edge)calc(50% + 1px),transparent calc(50% + 1px))}.gutter:focus-visible{outline-offset:-2px}main:not(.split)>.gutter{display:none}.props>li.lit{padding-left:var(--s3);box-shadow:inset 2px 0 0 var(--read)}tr.lit>th:first-child{box-shadow:inset 2px 0 0 var(--read);padding-left:var(--s2)}.lit:focus{outline:none}.pane{padding:var(--s6)2.5rem 5rem;min-width:0}.pane:not(.side)>*{max-width:var(--page)}.pane.side{position:sticky;top:var(--top);max-height:calc(100vh - var(--top));overflow:auto;padding:var(--s5)1.75rem var(--s6);background:var(--panel);border-left:1px solid var(--line);align-self: start}.pane.side pre,.pane.side input,.pane.side select,.pane.side textarea{background:var(--ground)}.pane.side>h2:first-child{margin-top:0}.foot{grid-column:1/-1;display:flex;gap:var(--s2)var(--s5);padding:var(--s4)2.5rem;border-top:1px solid var(--line);font-size:var(--t-code);color:var(--muted);flex-wrap:wrap}.boot,.fatal{display:block;padding:3rem 2rem}.tk-key,.tk-kw{color:var(--strong);font-weight:500}.tk-punct,.tk-cmt{color:var(--muted)}.block{position:relative}.block>pre{padding-right:4.5rem}.block>.copy{position:absolute;top:var(--s2);right:var(--s2);padding:0 var(--s2);font-size:var(--t-sm);min-height:1.75rem}h1.hero{font-size:var(--t-2xl)}.lead{margin:0 0 var(--s5);max-width:var(--measure);font-size:var(--t-md)}.stats{display:flex;gap:var(--s2);margin:0 0 var(--s5);flex-wrap:wrap}.stats>div{display:flex;align-items:baseline;gap:var(--s2);padding:var(--s1)var(--s3);border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}.stats dt{color:var(--muted);font-size:var(--t-sm)}.stats dd{font:600 var(--t-ui)/1.5 var(--mono);color:var(--strong);margin:0}.start{margin:0 0 var(--s6)}.start .signature{margin:0 0 var(--s2);font-size:var(--t-base)}.start .signature code{font-size:var(--t-base);color:var(--strong)}.start .block{margin:var(--s3)0}a.button{text-decoration:none}a.button.primary{padding:0 var(--s5);background:var(--read);border-color:var(--read);color:var(--ground);min-height:2.5rem;font-weight:700}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:var(--s3);margin:var(--s3)0;list-style:none;padding:0}.grid>li{padding:var(--s3)var(--s4);border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}.grid h3{overflow-wrap:anywhere}.doc-line{margin:var(--s1)0;display:-webkit-box;-webkit-line-clamp:2;overflow:hidden;-webkit-box-orient:vertical}.counts{margin:var(--s1)0 0;color:var(--muted);font:var(--t-sm)/1.5 var(--mono)}details.files{margin-top:var(--s6)}details.files>summary{font:600 var(--t-lg)/1.3 var(--sans);color:var(--strong)}.scroll{overflow-x:auto}table{border-collapse:collapse;font-size:var(--t-ui);width:100%;line-height:1.5}caption{position:absolute;overflow:hidden;clip-path:inset(50%);width:1px;height:1px}th,td{padding:var(--s3)var(--s4)var(--s3)0;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}thead th{color:var(--muted);font:500 var(--t-code)/1.5 var(--sans);border-bottom-color:var(--edge);padding-top:0}tbody th{font-weight:500}td .doc p:first-child{margin-top:0}.props{list-style:none;border-top:1px solid var(--line);margin:0;padding:0}.props>li{padding:var(--s4)0;border-bottom:1px solid var(--line)}.prop-head{display:flex;align-items:baseline;gap:var(--s1)var(--s3);flex-wrap:wrap}.prop-name{font-weight:600;font-size:var(--t-ui);color:var(--strong)}.prop-head .muted code{color:var(--muted)}.props .doc p{margin:var(--s2)0 0}.notes{display:flex;align-items: center;gap:var(--s1)var(--s2);margin-top:var(--s2);flex-wrap:wrap}.notes:empty{display:none}.notes .rules{flex-basis:100%;margin:0}.props .doc:empty{display:none}.rules{margin:var(--s1)0 0;color:var(--muted);font:var(--t-code)/1.5 var(--mono)}.links{margin:var(--s2)0;list-style:none;padding:0}.links a{display:inline-block;line-height:1.75rem;font-family:var(--mono);font-size:var(--t-ui);overflow-wrap:anywhere;min-height:1.75rem}.cards{margin:var(--s2)0;list-style:none;padding:0}.cards li{padding:var(--s4)0;border-bottom:1px solid var(--line)}.signature,.rest{margin:var(--s1)0;font-family:var(--mono);font-size:var(--t-ui);overflow-wrap:anywhere}details>summary{cursor:pointer;padding:var(--s1)0}.notice{padding:var(--s3)var(--s4);border:1px solid var(--stream);border-radius:var(--radius)}button,.button,input,select,textarea{color:inherit;border-radius:var(--radius-sm)}button,.button{display:inline-flex;justify-content:center;align-items: center;gap:var(--s1);padding:0 var(--s3);background:var(--raised);border:1px solid var(--edge);font:500 var(--t-ui)/1.2 var(--sans);cursor:pointer;min-height:2.25rem}button:hover:not(:disabled),.button:hover{border-color:var(--text)}button:disabled{color:var(--muted);cursor:not-allowed;border-style:dashed}button.primary{padding:0 var(--s5);background:var(--read);border-color:var(--read);color:var(--ground);min-height:2.5rem;font-weight:700}button.primary.write{background:var(--write);border-color:var(--write)}button.primary:disabled{color:var(--muted);border-color:var(--edge);background:0 0}button.linklike{font:inherit;text-decoration:underline;text-decoration-color:var(--edge);background:0 0;border:0;min-height:0;padding:0}button.ghost{color:var(--muted);background:0 0;border-color:#0000;min-height:2rem}button.ghost:hover:not(:disabled){color:var(--text);border-color:var(--edge)}button[aria-selected=true],button[aria-pressed=true]{border-color:var(--read);color:var(--read)}input[type=text],input[type=search],input[type=password],select,textarea{padding:var(--s2)var(--s3);background:var(--panel);border:1px solid var(--edge);width:100%;min-height:2.25rem}input:hover,select:hover,textarea:hover{border-color:var(--muted)}input::placeholder{color:var(--muted);opacity:1}input[readonly]{color:var(--muted)}textarea{display:block;resize:vertical;tab-size:2;line-height:1.55}[aria-invalid=true]{border-color:var(--error)}.field{margin:var(--s4)0}.field>label:not(.check),legend,.label{display:block;margin-bottom:var(--s1);font:500 var(--t-ui)/1.5 var(--sans);color:var(--text)}.field.grow{flex:1}.hint{margin:var(--s1)0 0;color:var(--muted);font-size:var(--t-code)}.check{display:inline-flex;align-items: center;gap:var(--s2);font-size:var(--t-ui);min-height:1.75rem}.field>.check{margin-top:var(--s2)}.row{display:flex;align-items: center;gap:var(--s2);margin:var(--s3)0;flex-wrap:wrap}.row>input[type=text]{flex:7rem;width:auto}fieldset{margin:var(--s4)0;padding:var(--s3)var(--s4);border:1px solid var(--line);border-radius:var(--radius)}.tabs{display:inline-flex;background:var(--ground);border:1px solid var(--line);border-radius:var(--radius);gap:2px;padding:2px}.tabs button{padding:0 var(--s3);font-size:var(--t-code);background:0 0;border-color:#0000;min-height:1.75rem}.tabs button[aria-pressed=true]{background:var(--raised);border-color:var(--edge);color:var(--text);box-shadow:inset 0 -2px 0 var(--read)}.card{margin:0 0 var(--s4);background:var(--raised);border:1px solid var(--line);border-radius:var(--radius)}.card-head{display:flex;justify-content:space-between;align-items: center;gap:var(--s2);padding:var(--s3)var(--s4);border-bottom:1px solid var(--line);flex-wrap:wrap}.card-head h2,.card-head .label{font:600 var(--t-base)/1.4 var(--sans);color:var(--text);margin:0}.card-body{padding:var(--s3)var(--s4)var(--s4)}.card-body>:first-child{margin-top:0}.card-body>:last-child{margin-bottom:0}.card-foot{padding:var(--s2)var(--s4);border-top:1px solid var(--line);background:var(--panel);border-radius:0 0 var(--radius)var(--radius)}.card-foot:empty{display:none}.card pre{background:var(--ground)}details.card>summary{padding:var(--s3)var(--s4);font-weight:600}details.card[open]>summary{border-bottom:1px solid var(--line)}details.card>:not(summary){margin-left:var(--s4);margin-right:var(--s4)}details.card>:last-child{margin-bottom:var(--s4)}.actions{display:flex;align-items: center;gap:var(--s1);flex-wrap:wrap}.form{display:grid;gap:var(--s4)}.f-head{display:flex;align-items:baseline;gap:var(--s1)var(--s2);margin-bottom:var(--s1);flex-wrap:wrap}.f-head label,.f-name{font:600 var(--t-ui)/1.5 var(--mono)}.f-type{color:var(--muted);font:var(--t-sm)/1.5 var(--mono)}.f-rules{margin:var(--s1)0 0;color:var(--muted);font:var(--t-sm)/1.5 var(--mono)}.f-control{display:flex;gap:var(--s2);margin-top:var(--s1)}.f-control>input,.f-control>select,.f-control>textarea,.f-pick{flex:1;min-width:0}.f-pick>.f-control{margin:0}.f-item{display:flex;align-items: flex-start;gap:var(--s2);margin-top:var(--s2)}.f-item>.f-nested,.f-item>input{flex:1;min-width:0;margin-top:0}.f>button{margin-top:var(--s2);color:var(--muted);background:0 0;border-style:dashed;width:100%}.f>button:hover:not(:disabled){color:var(--text)}.f-control>button,.f-item>button{flex:none;min-width:2.25rem}.f-warn{margin:var(--s1)0 0;color:var(--stream);font:var(--t-sm)/1.5 var(--mono)}.f-warn:empty{display:none}.f-nested{display:grid;gap:var(--s3);margin-top:var(--s2);padding:var(--s3)var(--s4);background:var(--panel);border:1px solid var(--line);border-left:2px solid var(--edge);border-radius:var(--radius-sm)}.picker{margin-top:var(--s1);border:1px solid var(--read);border-radius:var(--radius-sm);background:var(--ground)}.picker ul{overflow:auto;list-style:none;max-height:14rem;margin:0;padding:0}.picker li{display:flex;gap:var(--s3);padding:var(--s2)var(--s3);border-top:1px solid var(--line);font:var(--t-code)/1.5 var(--mono);cursor:pointer;overflow-wrap:anywhere}.picker li[aria-selected=true],.picker li:hover{background:var(--raised);box-shadow:inset 2px 0 0 var(--read)}.picker .row{padding:var(--s2)var(--s3);margin:0}.verdict{font:var(--t-code)/1.5 var(--mono);min-height:1.5em;margin:0}.verdict.ok{color:var(--ok)}.verdict.warn{color:var(--stream)}.verdict.bad{color:var(--error)}.send{display:flex;gap:var(--s2)}.send select{flex:1;min-width:0;min-height:2.5rem}.warnings{margin:var(--s1)0 0;padding-left:var(--s4);color:var(--stream);font:var(--t-code)/1.5 var(--mono)}.target{margin:var(--s3)0 0;color:var(--muted);font-size:var(--t-ui)}.target strong,.target code{color:var(--text)}.response:empty{display:none}.status{display:flex;align-items: center;gap:var(--s2);font:var(--t-code)/1.5 var(--mono);flex-wrap:wrap;margin:0}.error:not(.badge){margin:var(--s2)0;padding:var(--s2)var(--s3);border:1px solid var(--error);border-radius:var(--radius-sm);border-left-width:3px}.frames{margin:var(--s3)0 0;padding-left:var(--s3);list-style:none;border-left:2px solid var(--stream);font-size:var(--t-ui)}.frames>li+li{margin-top:var(--s3)}.frames pre{margin:var(--s1)0 0}.frame-head{display:flex;gap:var(--s3);color:var(--muted);font:var(--t-sm)/1.5 var(--mono);flex-wrap:wrap;margin:0}.frame-n{color:var(--stream);font-weight:600}.frames .end p{margin:var(--s1)0 0}.history{list-style:none;margin:0;padding:0}.history li{display:flex;justify-content:space-between;align-items: center;gap:var(--s2);padding:var(--s2)0;border-top:1px solid var(--line);font:var(--t-code)/1.5 var(--mono);flex-wrap:wrap}dialog{padding:var(--s5)var(--s6);background:var(--panel);color:var(--text);border:1px solid var(--edge);border-radius:var(--radius);width:min(52rem,100vw - 2rem);max-height:calc(100vh - 2rem)}dialog::backdrop{background:#000000b3}dialog h2{margin-top:0}.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:0 var(--s4);align-items: start}.grid2>fieldset{min-width:0}hr{margin:var(--s5)0;border:0;border-top:1px solid var(--line)}.browser h3{margin:0 0 var(--s2)}.browser p{margin:var(--s2)0}@media (prefers-reduced-motion:no-preference){.glitch{animation:glitch .24s steps(2,end)1}@keyframes glitch{0%{text-shadow:2px 0 var(--read),-2px 0 var(--write);transform:translate(-2px)}50%{text-shadow:-2px 0 var(--read),2px 0 var(--write);transform:translate(2px)}to{text-shadow:none;transform:none}}}@media (max-width:75rem){main.split{grid-template-columns:minmax(0,1fr)}.pane.side{position:static;border-left:0;border-top:1px solid var(--line);scroll-margin-top:var(--top);max-height:none}.gutter{display:none}.try{display:inline-flex}.pane{padding-bottom:var(--s6)}}@media (max-width:50rem){#menu{display:inline-flex}.top{position:static;padding:var(--s2)var(--s4);flex-wrap:wrap}.search{flex-basis:100%;order:5;max-width:none}.keys{display:none}.search input{padding-right:var(--s3)}.chip{max-width:11rem}.layout{display:block}#nav{display:none;position:static;border-right:0;border-bottom:1px solid var(--line);max-height:none}.nav-open #nav{display:block}.pane,.pane.side{padding:var(--s5)var(--s4)var(--s6)}}
