@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/inter-cyrillic-ext-400-normal.Dc4VJyIJ.woff2)format("woff2"),url(/_astro/inter-cyrillic-ext-400-normal.BPnxn4xp.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/inter-cyrillic-400-normal.BLGc9T1a.woff2)format("woff2"),url(/_astro/inter-cyrillic-400-normal.ZzOtrSSW.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/inter-greek-ext-400-normal.Bput3-QP.woff2)format("woff2"),url(/_astro/inter-greek-ext-400-normal.DCpCPQOf.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/inter-greek-400-normal.DxZsaF_h.woff2)format("woff2"),url(/_astro/inter-greek-400-normal.BZzXV7-1.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/inter-vietnamese-400-normal.DMkecbls.woff2)format("woff2"),url(/_astro/inter-vietnamese-400-normal.BUNmGMP1.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/inter-latin-ext-400-normal.hnt3BR84.woff2)format("woff2"),url(/_astro/inter-latin-ext-400-normal.C1t-h-pH.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/inter-latin-400-normal.BOOGhInR.woff2)format("woff2"),url(/_astro/inter-latin-400-normal.gitzw0hO.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*,:before,:after{box-sizing:border-box}*{margin:0}body{-webkit-font-smoothing:antialiased;line-height:1.5}img,picture,video,canvas,svg{max-width:100%;display:block}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}#root,#__next{isolation:isolate}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/inter-latin-400-normal.BOOGhInR.woff2)format("woff2"),url(/_astro/inter-latin-400-normal.gitzw0hO.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}h1,h2,h3,h4,h5,h6{margin:0;display:block;position:relative}h1{margin-top:.67em;font-size:2rem;font-weight:550}h2{margin-top:.5em;font-size:1.4rem;font-weight:550}h3{margin-top:.3em;font-size:1.2rem;font-weight:550}h4{margin-top:.83em;font-size:1rem;font-weight:550}h5{margin-top:.83em;font-size:1rem;font-weight:400}p{margin-top:.4rem;margin-bottom:var(--paragraph-spacing);font-size:1em;line-height:2rem}strong{font-weight:580}header{width:100%;font-family:"Inter",var(--sans-serif-font),sans-serif}.navbar{max-width:var(--max-layout-width);flex-flow:wrap;justify-content:space-between;align-items:center;margin:0 auto;padding-top:1em;padding-bottom:1em;display:flex}.nav-navs{flex-wrap:wrap;align-items:center;display:flex}.nav-navs ul{flex-wrap:inherit;justify-content:inherit;align-items:inherit;gap:1px;margin:0;padding:0;list-style:none;display:flex}.nav-links{color:var(--text-color);justify-content:right;padding:.66rem;font-size:1em;font-weight:340;line-height:2.5;text-decoration:none;position:relative}.nav-links:hover:before{width:80%}.nav-links:before{content:"";opacity:1;background:var(--primary-color);width:0;height:2px;transition:width .3s;display:block;position:absolute;bottom:10%;left:.7rem}.nav-links.li-active:before{width:100%}.home-title{color:var(--primary-color);border:none;padding:.12rem;font-size:1.7em;font-weight:450;text-decoration:none}.home-title:not(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-left:-.12rem}.home-title:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-right:-.12rem}.project-website-link{display:flex}.external-link-icon{width:.8rem;height:.8rem}.theme-switcher{-webkit-mask:var(--theme-switcher-svg);cursor:pointer;background:var(--text-color);align-self:center;width:1rem;height:1rem;position:relative}.theme-switcher:not(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-left:.5rem}.theme-switcher:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-right:.5rem}.theme-switcher:hover{background:var(--meta-color)}.theme-switcher-wrapper{align-self:center;position:relative}.theme-switcher-wrapper:hover .theme-resetter.has-custom-theme{visibility:visible;opacity:1;transition:opacity .1s,visibility .1s}.theme-switcher-wrapper:hover .theme-resetter.has-custom-theme:hover{background:var(--meta-color)}.filter-controls{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin-top:1.2rem;margin-bottom:-1rem;padding:0;list-style:none;display:flex}.filter-controls #all-projects-filter{display:none}.filter-controls .taxonomy-item{margin:0}.filter-controls .taxonomy-item a{background:var(--bg-2);color:var(--text-color);border-radius:1rem;padding:0 16px;font-size:.8rem;text-decoration:none;display:inline-block;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f}.filter-controls .taxonomy-item a:hover,.filter-controls .taxonomy-item a.active{background:var(--primary-color);color:var(--hover-color)}.cards{grid-template-rows:auto;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px;margin-top:4vmin;padding-top:12px;padding-bottom:12px;display:grid}.cards .card{background:var(--bg-2);border-radius:1rem;min-height:100px;overflow:hidden;box-shadow:0 2px 5px -1px #32325d40,0 1px 3px -1px #0000004d}.cards .card:hover{background-color:var(--primary-color)}.cards .card:hover .card-description,.cards .card:hover .card-title{color:var(--hover-color)}.cards .card .card-info{text-align:center;padding:0 24px 24px}.cards .card .card-image{width:calc(100% - 3.2rem);height:auto;margin:1.6rem 1.6rem 1.06667rem}.cards .card .card-image-placeholder{width:100%;height:12px}.cards .card .card-description{color:var(--text-color);margin-top:.5em;overflow:hidden}@media (width<=720px){.cards{gap:18px}.filter-controls{gap:8px;margin:18px 0}.filter-controls .taxonomy-item a{padding:4px 12px}}table{border-collapse:collapse;border-spacing:0;font:inherit;text-align:center;border-radius:5px;margin:1rem auto;overflow:hidden;border-style:hidden!important}table th,table td{border:1px solid var(--bg-1);padding:6px 13px;font-size:large}table thead tr{background-color:var(--primary-color);color:var(--hover-color)}table thead tr code{background-color:#0000}table tbody tr:nth-child(2n){background-color:var(--bg-0)}table details,table summary{font-family:inherit!important}a:hover code{background-color:inherit;padding-top:0;padding-bottom:0}pre{border-radius:5px;padding:2.4rem 1rem 1rem;line-height:1.4;display:block;position:relative;overflow:auto hidden}pre code,pre code td{font-size:.8rem}pre:after,pre code .source-path{content:attr(data-name);max-width:calc(100% - 14em);height:.9rem;color:var(--hover-color);text-align:end;text-overflow:ellipsis;white-space:nowrap;padding-top:.3rem;font-size:.65rem;display:block;position:absolute;top:0;overflow:hidden}pre:not(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)):after,pre code .source-path:not(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-right:1.3rem;right:1.3rem}pre:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)):after{padding-left:1.3rem;left:1.3rem}pre code .source-path:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-left:1.3rem;left:1.3rem}pre code{color:inherit;white-space:pre;background-color:#0000;border:0;border-radius:5px;padding:0;display:block;overflow-x:auto}pre code:before{background-color:var(--primary-color);content:attr(data-lang);width:100%;height:1.4rem;color:var(--hover-color);text-align:start;text-transform:uppercase;padding:.3rem;font-size:.65rem;display:block;position:absolute;top:0}pre code:not(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)):before{padding-left:1rem;left:0}pre code:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)):before{padding-right:1rem;right:0}code,pre{direction:ltr}html[data-code-direction=inherit] code,html[data-code-direction=inherit] pre{direction:inherit}.copy-code{z-index:1;cursor:pointer;background:var(--hover-color);color:#fff;background-size:contain;align-self:center;width:.9rem;height:.9rem;position:absolute;top:.3rem;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960' %3E%3Cpath d='M217.002-67.694q-37.732 0-64.02-26.288-26.287-26.287-26.287-64.019V-707.69h77.999v549.689q0 4.615 3.846 8.462 3.846 3.846 8.462 3.846h451.689v77.999H217.002Zm175.999-175.999q-37.733 0-64.02-26.287T302.694-334v-463.383q0-37.732 26.287-64.02 26.287-26.287 64.02-26.287h365.383q37.732 0 64.019 26.287 26.288 26.288 26.288 64.02V-334q0 37.733-26.288 64.02-26.287 26.287-64.019 26.287H393.001Zm0-77.998h365.383q4.615 0 8.462-3.847 3.846-3.846 3.846-8.462v-463.383q0-4.616-3.846-8.462-3.847-3.846-8.462-3.846H393.001q-4.616 0-8.462 3.846-3.847 3.846-3.847 8.462V-334q0 4.616 3.847 8.462 3.846 3.847 8.462 3.847Zm-12.309 0v-488V-321.691Z'/%3E%3C/svg%3E")}.copy-code:not(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){right:.7rem}.copy-code:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){left:.7rem}.copy-code.checked{width:1rem;height:1rem;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960' %3E%3Cpath d='M395-253 194-455l83-83 118 117 288-287 83 84-371 371Z'/%3E%3C/svg%3E")}.copy-code.error{-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960' %3E%3Cpath d='M479.386-248Q509-248 529-267.386q20-19.386 20-49T529.614-366.5q-19.386-20.5-49-20.5T431-366.886q-20 20.114-20 49.728t19.386 49.386q19.386 19.772 49 19.772ZM416-431h128v-265H416v265Zm64.276 381q-88.916 0-167.743-33.104-78.828-33.103-137.577-91.852-58.749-58.749-91.852-137.535Q50-391.277 50-480.458q0-89.438 33.162-167.491 33.163-78.053 92.175-136.942 59.011-58.889 137.533-91.999Q391.393-910 480.458-910q89.428 0 167.518 33.093T784.94-784.94q58.874 58.874 91.967 137.215Q910-569.385 910-480.192q0 89.192-33.11 167.518-33.11 78.326-91.999 137.337-58.889 59.012-137.167 92.174Q569.447-50 480.276-50Z'/%3E%3C/svg%3E")}#searchModal{background:color-mix(in srgb,var(--primary-color)5%,transparent);text-align:start}#searchModal #searchContainer{padding:1rem}#searchModal #searchBar{box-sizing:border-box;justify-content:center;align-items:center;padding:1rem;display:flex;position:relative}#searchModal #searchBar .search-icon{width:1.3rem;height:1.3rem;position:absolute}#searchModal #searchBar .search-icon:not(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){left:1rem}#searchModal #searchBar .search-icon:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){right:1rem}#searchModal #searchBar .search-icon path{fill:var(--text-color)}#searchModal #searchBar .close-icon{width:1.3rem;height:1.3rem;display:none;position:absolute;right:1.3rem}#searchModal #searchBar .close-icon:not(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-left:1rem;margin-right:.5rem}#searchModal #searchBar .close-icon:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-left:.5rem;margin-right:1rem}#searchModal #searchBar #searchInput{border:1px solid var(--divider-color);background-color:var(--input-background-color);width:calc(100% - 2rem);color:var(--text-color);border-radius:20px;flex:1;padding-top:.75rem;padding-bottom:.75rem;font-size:1rem}#searchModal #searchBar #searchInput:not(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-left:3rem;padding-right:1rem}#searchModal #searchBar #searchInput:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-left:1rem;padding-right:3rem}#searchModal #results-container{border-top:var(--divider-color)solid .5px;border-bottom-right-radius:1rem;border-bottom-left-radius:1rem;display:none;overflow:hidden}#searchModal #results-container #results-info{color:var(--meta-color);text-align:center;padding:.5rem;font-size:.8rem}#searchModal #results-container #results{flex-direction:column;max-height:50vh;display:flex;overflow-y:auto}#searchModal #results-container #results b{font-weight:590}#searchModal #results-container #results a{display:block}#searchModal #results-container #results a:hover{background-color:inherit}#searchModal #results-container #results>div{cursor:pointer;padding:.5rem 1rem}#searchModal #results-container #results>div[aria-selected=true]{background-color:var(--primary-color);color:var(--hover-color)}#searchModal #results-container #results>div[aria-selected=true] a,#searchModal #results-container #results>div[aria-selected=true] span{color:inherit}#searchModal #results-container #results span:first-child{color:var(--primary-color);font-weight:590;display:block}#searchModal #results-container #results span:nth-child(2){color:var(--text-color)}.search-icon{align-self:center;width:1.3rem;height:1.3rem;display:block;position:relative}.search-icon:not(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-left:1rem;margin-right:.5rem}.search-icon:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-left:.5rem;margin-right:1rem}.search-modal{backdrop-filter:blur(8px);z-index:1000;background-color:#0000001a;width:100%;height:100%;display:none;position:fixed;top:0;left:0;overflow:auto}.search-modal #modal-content{border:var(--divider-color)solid .5px;background-color:var(--background-color);border-radius:1rem;width:80%;max-width:28rem;margin:8% auto;position:relative}@media only screen and (width<=600px){.search-modal #modal-content{width:92%;top:3.5rem}.search-modal #modal-content #results{max-height:70vh}}kbd{border:1px solid var(--divider-color);background-color:var(--bg-0);border-radius:5px;padding:.1rem .3rem;font-size:.8rem}.draft-label{background-color:var(--primary-color);color:var(--hover-color);padding:2px 4px}.draft-label:not(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-right:.3rem}.draft-label:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-left:.3rem}.article-title{color:var(--text-color-high-contrast);margin:0;font-size:2rem;font-weight:550;line-height:3rem;display:block}iframe{aspect-ratio:16/9;border:none;width:100vmin;max-width:70%;margin-bottom:3vmin;margin-left:15%;margin-right:15%;display:block}ul{margin-top:0}.toc-container{margin-bottom:4vmin}.padding-top{padding-top:4vmin}.title-container{padding-bottom:8px}.title-container .social:not(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-left:.5rem}.title-container .social:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-right:.5rem}.bottom-divider{border-bottom:var(--divider-color)solid .5px}::-moz-selection{background:var(--primary-color);color:var(--hover-color);text-shadow:none}::selection{background:var(--primary-color);color:var(--hover-color)}.nav.tags{display:inline-block}blockquote{margin:0}blockquote:not(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){border-left:.3rem solid var(--primary-color);padding-left:1em}blockquote:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){border-right:.3rem solid var(--primary-color);padding-right:1em}a{color:var(--primary-color);font-weight:inherit;-webkit-text-decoration:inherit;text-decoration:inherit;position:relative}a:hover{color:var(--hover-color-inverted)}main{--external-link-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M11 5h-6v14h14v-6'/%3E%3Cpath d='M13 11l7 -7'/%3E%3Cpath d='M21 3h-6M21 3v6'/%3E%3C/g%3E%3C/svg%3E")}main a.external:not(:has(img,svg,video,picture,figure)):after{vertical-align:-.05em;content:"";width:.8em;height:.8em;-webkit-mask-image:var(--external-link-icon);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%}main a.external:not(:has(img,svg,video,picture,figure)):not(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)):after{margin-left:.1em}main a.external:not(:has(img,svg,video,picture,figure)):-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)):after{margin-right:.1em}main a.external:not(:has(img,svg,video,picture,figure)):is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)):after{margin-right:.1em}main:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)) a.external:not(:has(img,svg,video,picture,figure)):after{transform:rotate(-90deg)}main:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)) a.external:not(:has(img,svg,video,picture,figure)):after{transform:rotate(-90deg)}main .meta a.external:not(:has(img,svg,video,picture,figure)):after{background-color:var(--meta-color)}main a.external:not(:has(img,svg,video,picture,figure)):hover:after{background-color:var(--hover-color-inverted)}@media screen and (width<=600px){.list>ul{margin:0;padding:0}}hr{background-color:var(--divider-color);border:none;height:1px;margin:3.5rem 0 1rem}.footnotes-list,.footnotes{text-align:start}.footnote-reference{font-size:.7rem;font-family:var(--serif-font)}.footnote-definition{margin-bottom:.6rem}.footnote-definition sup{font-size:.75rem;font-family:var(--serif-font)}.footnote-definition sup:not(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-right:.15rem}.footnote-definition sup:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-left:.15rem}.footnote-definition p{display:inline}.footnote-backlink{font-size:.8rem}.footnote-backlink:not(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-left:.2rem}.footnote-backlink:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-right:.2rem}.footnotes-list a[href^=\#fr-],.footnotes a[href^=\#fr-],.footnotes code{font-size:.8rem}.references p{text-indent:-2.4rem}.references p:not(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-left:2.4rem}.references p:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-right:2.4rem}.info-box{border:1px solid var(--primary-color);text-align:center;border-radius:10px;margin-top:1rem;margin-bottom:1rem;padding:1rem}.info-box:not(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){border-left-width:.3rem}.info-box:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){border-right-width:.3rem}.readmore{color:var(--primary-color);align-items:center;column-gap:.5rem;display:flex}.readmore:hover{color:var(--hover-color-inverted)}#page-content{margin-top:4vmin}.hidden{visibility:hidden;display:none}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}details summary,.interactive-icon{cursor:pointer}.interactive-icon path{fill:var(--text-color)}.interactive-icon :hover path{fill:var(--meta-color)}.article-navigation{border-top:var(--divider-color)solid .5px;margin-top:2rem;padding-top:2rem;display:flex}.article-navigation div:first-child{text-align:start;flex:1}.article-navigation div:last-child{text-align:end;flex:1}.article-navigation div p{color:var(--meta-color);font-weight:300;line-height:1.2rem;font-family:var(--sans-serif-font);letter-spacing:-.4px}@media (width<=600px){.article-navigation{flex-direction:column}.article-navigation div{text-align:center!important}}:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)) .arrow{display:inline-block;transform:scaleX(-1)}:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)) .arrow-corner{display:inline-block;transform:rotate(-90deg)}.mermaid p{font-family:var(--sans-serif-font)!important}.mermaid .node .label{max-width:none!important}[data-force-text-direction=ltr]{direction:ltr;unicode-bidi:bidi-override}[data-force-text-direction=rtl]{direction:rtl;unicode-bidi:bidi-override}[data-force-text-direction=ltr] *,[data-force-text-direction=rtl] *{direction:inherit}.title-with-jump{justify-content:space-between;align-items:center;display:flex}.title-with-jump h1{flex:1}.jump-link{flex-shrink:0;font-size:.9rem}@media (width<=500px){.title-with-jump{flex-direction:column}}.title{color:var(--primary-color);margin:0;font-size:max(2rem,min(4.5vw,2.8rem));font-weight:600;line-height:1.2}.subtitle{color:var(--text-color-high-contrast);font-size:max(.8rem,min(1.5vw,1rem))}.posts-title{margin-top:2rem}.timeline-header{margin-bottom:1rem}.timeline{grid-template-columns:1fr 3fr;gap:2rem;margin-bottom:2rem;display:grid}.job-date{color:#71717a;text-align:right;font-size:.8rem;font-weight:500}.job-title{margin-top:.5rem;font-weight:700;line-height:1rem}.job-description{color:#71717a;margin:.5rem 0;font-size:1rem;font-weight:500;line-height:1.5rem}.job-bullets{color:#71717a;padding-left:1rem;font-size:.8rem;line-height:1.5rem}.job-link{color:var(--primary-color);font-size:.8rem;font-weight:500;text-decoration:none}.job-link:hover{cursor:pointer}.tech-tag-container{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}.tech-tag{background-color:var(--primary-color);color:var(--hover-color);border-radius:20px;padding:.5rem 1rem;font-size:.6rem;font-weight:600}.testimonials{border-top:1px solid var(--divider-color);margin:1rem 0}.testimonial{margin:1rem 0}.testimonial-header{border-left:3px solid var(--primary-color);padding-left:.5rem;font-size:.6rem;line-height:.8rem}.testimonial-header .testimonial-author{font-weight:600}.testimonial-header .testimonial-title{font-weight:500}.testimonial-quote{color:#71717a;font-size:.8rem;font-style:italic;font-weight:500;line-height:1rem}.about-container{max-width:var(--content-width);margin:0 auto;padding:2rem 1rem}.about-content{margin-bottom:4rem}@media (width<=768px){.about-container,.timeline-content{padding:1rem}.skills-grid{grid-template-columns:1fr}}.blog-post h3{margin-top:1rem}.article-info{gap:1rem;margin-bottom:1.5rem;padding:0;display:flex}.article-info li{color:var(--meta-color);font:var(--sans-serif-font);letter-spacing:-.4px;font-size:.8rem;font-weight:300;line-height:1.4rem;list-style-type:none}.article-info li:nth-child(2),.article-info li:nth-child(3){list-style-type:disc}.article-info li .tag:not(:last-child):after{content:", "}.bloglist-container{grid-template-columns:1fr 8fr;display:grid}.bloglist-meta{background-color:var(--navbar-color);align-items:flex-start;min-width:13.5rem;padding-top:2.5rem;padding-bottom:2.5rem;display:flex}.bloglist-meta .thumbnail-image{max-width:70%;margin:0 auto}.bloglist-meta li.date+li.post-thumbnail .thumbnail-image{margin-top:.7rem;margin-left:0;margin-right:0}.bloglist-meta ul{color:var(--meta-color);padding:0;font-size:.9rem;font-weight:300}.bloglist-meta ul:not(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-right:.7rem}.bloglist-meta ul:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-left:.7rem}.bloglist-meta ul li{white-space:nowrap;list-style-type:none}.bloglist-meta ul li.draft-label{width:fit-content;line-height:1.2rem}.bloglist-content{background-color:var(--navbar-color);align-items:flex-start;padding:2.5rem 0;display:flex;position:relative}.bloglist-content .pinned-label{color:var(--meta-color);align-items:center;gap:.3rem;font-size:.8rem;font-weight:300;display:flex;position:absolute;top:.8rem}.bloglist-content .pinned-label svg{width:.8rem;height:.8rem}.bloglist-content div{flex:1}.bloglist-content div .bloglist-title{margin:0;font-size:1.2em;font-weight:700}.bloglist-content div .bloglist-title a{color:var(--text-color-high-contrast);font-weight:550}.bloglist-content div .bloglist-title a:hover{color:var(--primary-color)}.bloglist-content div .bloglist-tags{margin:.5rem 0}.bloglist-content div .bloglist-tags .tag{color:var(--primary-color);text-transform:uppercase;font-size:.75rem;font-weight:400;display:inline-block}.bloglist-content div .bloglist-tags .tag:not(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-right:.7rem}.bloglist-content div .bloglist-tags .tag:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-left:.7rem}.bloglist-content div .description p{color:var(--text-color);margin:.5rem 0 1rem;font-size:.9rem;font-weight:250;line-height:1.5rem}.all-posts{font-size:1.3rem;font-weight:350}#all-projects{margin-top:2rem}.posts-first #featured-projects,.projects-first #posts-list{margin-top:4rem}@media only screen and (width<=1100px){.bloglist-container{display:block}.pinned-label svg{margin-bottom:-2px}.bloglist-meta{border-bottom:0;padding-top:2rem;padding-bottom:2rem}.bloglist-meta ul{width:100%;margin-bottom:0}.bloglist-meta ul li{display:inline}.bloglist-meta ul li:not(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-right:.3rem}.bloglist-meta ul li:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-left:.3rem}.bloglist-meta .post-thumbnail{display:none}.bloglist-content{flex-direction:column;align-items:flex-start;padding:0 0 2rem}.bloglist-content .pinned-label{margin:-1.9rem 0 0;position:static}.bloglist-content div{width:100%}}.contact-form{width:100%;max-width:40rem;margin-left:auto;margin-right:auto}.form-group-container{gap:1rem;margin-top:2rem;display:grid}.form-group{flex-direction:column;display:flex}.form-label{margin-bottom:.5rem}.form-input,.form-textarea{border:1px solid #e5e7eb;border-radius:.375rem;width:100%;height:2rem;padding:.5rem;font-size:.875rem;line-height:1.25rem;display:flex}.form-input::placeholder,.form-textarea::placeholder{color:#6b7280}.form-input:focus-visible,.form-textarea:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.form-textarea{min-height:120px}.form-submit{background-color:var(--primary-color);width:100%;color:var(--hover-color);cursor:pointer;border:none;border-radius:.375rem;justify-content:center;align-items:center;gap:1rem;margin-top:1.2rem;padding:13px 5px;font-size:1rem;font-weight:700;display:flex}.form-submit:hover{background-color:var(--primary-color);box-shadow:inset 0 3px 5px #0000004d}.contact-success-container{justify-items:center}.success-icon{background-color:var(--bg-0);border:3px solid var(--primary-color);border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin:0 auto 1.5rem;display:flex}.success-icon svg{width:40px;height:40px;color:var(--primary-color)}.success-text{color:var(--primary-color);text-align:center}.form-submitted-text{text-align:center}.back-button{padding:.5rem}:root{--background-color:white;--bg-0:#f0f0f0;--bg-1:#e7e7e7;--bg-2:#fefefe;--bg-3:#d8dcdd;--hover-color:white;--hover-color-inverted:black;--primary-color:#087e96;--divider-color:#d7d7d7;--text-color:#222226;--text-color-high-contrast:#313333;--meta-color:#5b5b65;--codeblock-bg:#26232e;--codeblock-highlight:#383444;--theme-switcher-svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M283.211 512c78.962 0 151.079-35.925 198.857-94.792 7.068-8.708-.639-21.43-11.562-19.35-124.203 23.654-238.262-71.576-238.262-196.954 0-72.222 38.662-138.635 101.498-174.394 9.686-5.512 7.25-20.197-3.756-22.23A258.156 258.156 0 0 0 283.211 0c-141.309 0-256 114.511-256 256 0 141.309 114.511 256 256 256z'/%3E%3C/svg%3E%0A");--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--max-layout-width:1000px;--normal-layout-width:600px;--medium-layout-width:400px;--small-layout-width:200px;--paragraph-spacing:max(2.3vmin,24px);--sans-serif-font:"Inter",Helvetica,Arial,sans-serif;--serif-font:"Source Serif","Georgia",serif;--code-font:"Cascadia Code";scrollbar-color:var(--primary-color)transparent;accent-color:var(--primary-color);line-height:190%;font-family:var(--sans-serif-font)}[data-theme=dark]{--background-color:#1f1f1f;--bg-0:#2f2f2f;--bg-1:#3c3c3c;--bg-2:#171717;--bg-3:#535555;--hover-color:black;--hover-color-inverted:white;--primary-color:#91e0ee;--divider-color:#4a4a4a;--text-color:#d4d4d4;--text-color-high-contrast:#eceeef;--meta-color:#b0b0b0;--codeblock-bg:#19181e;--codeblock-highlight:#282834;--theme-switcher-svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 96 960 960' %3E%3Cpath d='M480 776q-83 0-141.5-58.5T280 576q0-83 58.5-141.5T480 376q83 0 141.5 58.5T680 576q0 83-58.5 141.5T480 776ZM80 616q-17 0-28.5-11.5T40 576q0-17 11.5-28.5T80 536h80q17 0 28.5 11.5T200 576q0 17-11.5 28.5T160 616H80Zm720 0q-17 0-28.5-11.5T760 576q0-17 11.5-28.5T800 536h80q17 0 28.5 11.5T920 576q0 17-11.5 28.5T880 616h-80ZM480 296q-17 0-28.5-11.5T440 256v-80q0-17 11.5-28.5T480 136q17 0 28.5 11.5T520 176v80q0 17-11.5 28.5T480 296Zm0 720q-17 0-28.5-11.5T440 976v-80q0-17 11.5-28.5T480 856q17 0 28.5 11.5T520 896v80q0 17-11.5 28.5T480 1016ZM226 378l-43-42q-12-11-11.5-28t11.5-29q12-12 29-12t28 12l42 43q11 12 11 28t-11 28q-11 12-27.5 11.5T226 378Zm494 495-42-43q-11-12-11-28.5t11-27.5q11-12 27.5-11.5T734 774l43 42q12 11 11.5 28T777 873q-12 12-29 12t-28-12Zm-42-495q-12-11-11.5-27.5T678 322l42-43q11-12 28-11.5t29 11.5q12 12 12 29t-12 28l-43 42q-12 11-28 11t-28-11ZM183 873q-12-12-12-29t12-28l43-42q12-11 28.5-11t27.5 11q12 11 11.5 27.5T282 830l-42 43q-11 12-28 11.5T183 873Z'/%3E%3C/svg%3E");--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=dark] .invertible-image{filter:invert(.88)}[data-theme=dark] .dimmable-image{filter:brightness(.8)contrast(1.2)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--background-color:#1f1f1f;--bg-0:#2f2f2f;--bg-1:#3c3c3c;--bg-2:#171717;--bg-3:#535555;--hover-color:black;--hover-color-inverted:white;--primary-color:#91e0ee;--divider-color:#4a4a4a;--text-color:#d4d4d4;--text-color-high-contrast:#eceeef;--meta-color:#b0b0b0;--codeblock-bg:#19181e;--codeblock-highlight:#282834;--theme-switcher-svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 96 960 960' %3E%3Cpath d='M480 776q-83 0-141.5-58.5T280 576q0-83 58.5-141.5T480 376q83 0 141.5 58.5T680 576q0 83-58.5 141.5T480 776ZM80 616q-17 0-28.5-11.5T40 576q0-17 11.5-28.5T80 536h80q17 0 28.5 11.5T200 576q0 17-11.5 28.5T160 616H80Zm720 0q-17 0-28.5-11.5T760 576q0-17 11.5-28.5T800 536h80q17 0 28.5 11.5T920 576q0 17-11.5 28.5T880 616h-80ZM480 296q-17 0-28.5-11.5T440 256v-80q0-17 11.5-28.5T480 136q17 0 28.5 11.5T520 176v80q0 17-11.5 28.5T480 296Zm0 720q-17 0-28.5-11.5T440 976v-80q0-17 11.5-28.5T480 856q17 0 28.5 11.5T520 896v80q0 17-11.5 28.5T480 1016ZM226 378l-43-42q-12-11-11.5-28t11.5-29q12-12 29-12t28 12l42 43q11 12 11 28t-11 28q-11 12-27.5 11.5T226 378Zm494 495-42-43q-11-12-11-28.5t11-27.5q11-12 27.5-11.5T734 774l43 42q12 11 11.5 28T777 873q-12 12-29 12t-28-12Zm-42-495q-12-11-11.5-27.5T678 322l42-43q11-12 28-11.5t29 11.5q12 12 12 29t-12 28l-43 42q-12 11-28 11t-28-11ZM183 873q-12-12-12-29t12-28l43-42q12-11 28.5-11t27.5 11q12 11 11.5 27.5T282 830l-42 43q-11 12-28 11.5T183 873Z'/%3E%3C/svg%3E");--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root:not([data-theme=light]) .invertible-image{filter:invert(.88)}:root:not([data-theme=light]) .dimmable-image{filter:brightness(.8)contrast(1.2)}}html{background-color:var(--background-color);color:var(--text-color);text-rendering:optimizeLegibility;line-height:1.6em}body{flex-direction:column;min-height:100vh;margin:0 5vmin;display:flex}.content{word-wrap:break-word;width:100%;max-width:var(--max-layout-width);margin:6vmin auto 4rem}.use-sans-serif{--serif-font:var(--sans-serif-font)}article{max-width:calc(var(--max-layout-width) - 12rem);margin:0 auto;position:relative}article p,article li,article details,article summary{font-family:var(--serif-font)}article strong{font-weight:620}article .full-width{max-width:calc(100% + 12rem);margin-left:-6rem;margin-right:-6rem}article li p:not(:last-child){margin-bottom:0}article li p+:last-child{margin-bottom:var(--paragraph-spacing)}.section-title{color:var(--text-color-high-contrast);margin:-.15em 0 0;font-size:2.2em;font-weight:550;line-height:1.2em;display:flex}.last-updated{margin-top:-5vmin}.centered-text{text-align:center}video{max-width:100%}.center-content{text-align:center;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100vh;margin:0;display:flex}.subheader{margin-bottom:2rem}.mobile-only{display:none}@media only screen and (width<=1000px){.content{max-width:var(--normal-layout-width)}body{margin:0 32px}article .full-width{max-width:none;margin-left:0;margin-right:0;display:block;overflow-x:auto}.mobile-only{display:block}}@media only screen and (width<=600px){.content{max-width:var(--medium-layout-width);margin-top:0}article{margin-top:1.3rem}body{margin:0 16px}}@media only screen and (width<=300px){.content{max-width:var(--small-layout-width)}}@media (width>=600px){html{font-size:16.5px}}@media (width>=960px){html{font-size:20px}}
