@charset "UTF-8";*,:after,:before{box-sizing:border-box}*{-webkit-tap-highlight-color:transparent;margin:0;padding:0}button,input,select{color:inherit;font:inherit}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}input[type=date]::-webkit-calendar-picker-indicator{opacity:0}input[type=date]{-webkit-appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 3h-1V1h-2v2H7V1H5v2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 18H4V8h16v13z'/%3E%3C/svg%3E");background-position:calc(100% - 6px);background-repeat:no-repeat;background-size:20px}button:read-only,input:read-only:not([readonly]){cursor:pointer;user-select:none}textarea{display:block;font-size:16px;line-height:1.6}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}*{-webkit-overflow-scrolling:touch;overflow-anchor:auto;scroll-behavior:smooth;scrollbar-color:#ccc #fafafa;scrollbar-width:thin}html:not(:focus-within){scroll-behavior:auto}::-webkit-scrollbar{height:11px;width:11px}::-webkit-scrollbar-track{background-color:#fafafa}::-webkit-scrollbar-track:vertical{border-left:.1px solid #ccc}::-webkit-scrollbar-track:horizontal{border-top:.1px solid #ccc}::-webkit-scrollbar-thumb{background-color:#ccc;min-height:70px;min-width:70px}::-webkit-scrollbar-thumb:hover{background-color:#bbb}::-webkit-scrollbar-thumb:active{background-color:#aaa}html{scroll-padding-top:75px}:focus:not(:focus-visible){outline:none}:focus-visible{outline:3px solid #0050ff;outline-offset:2px}:root{--bgcolor-primary:#0050ff;--bgcolor-secondary:#709dff;--bgcolor-tertiary:#dbe6ff}html{background-color:#fff;min-width:320px}body,html{overflow-x:hidden;overflow-x:clip}a,button{touch-action:manipulation}a:not(main a){color:currentColor;display:block;text-decoration:none}main a{color:var(--bgcolor-primary)}main a:focus-visible{text-decoration:none}a,u{text-underline-offset:3px}img,picture{border-radius:4px;display:block;max-width:100%}hr{border:none;box-shadow:0 0 0 1px #ccc}table{--border-color:#ccc;border-collapse:collapse;display:block;max-width:max-content;outline:2px solid var(--border-color);overflow:auto;width:100%}table tr:nth-child(2n){background-color:#fafafa}table :is(td,th){outline:1px solid var(--border-color);padding:4px 7px}table a{text-decoration:none}.sr-only{clip:rect(1px,1px,1px,1px)!important;border:0!important;clip-path:inset(50%)!important;height:1px!important;margin:-1px!important;opacity:0!important;overflow:hidden!important;padding:0!important;pointer-events:none!important;position:absolute!important;user-select:none!important;white-space:nowrap!important;width:1px!important}.placeholder{visibility:hidden}@font-face{font-display:swap;font-family:Inter;font-style:oblique 0deg 30deg;font-weight:100 900;src:local("Inter"),url(../fonts/inter.var.woff2) format("woff2-variations")}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;src:local("JetBrains Mono"),url(../fonts/jet-brains-mono-regular.woff2) format("woff2")}html{text-rendering:optimizespeed;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;font-feature-settings:"calt" on,"cv05" on,"cv08" on,"cv10" on,"cv11" on;font-family:Inter,-apple-system,BlinkMacSystemFont,Google Sans Text,Google Sans,Rubik,Noto Sans,Roboto,Segoe UI Variable Display,Segoe UI,Open Sans,Oxygen,Cantarell,Fira Sans,Ubuntu,Arial,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;font-size:100%}body{font-size:clamp(17.5px,.99rem + .34vw,19px)}code,kbd,pre,samp,textarea{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,SF Mono,Cascadia Code,Courier New,Fira Code,monospace,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol}*{line-height:calc(1em + .7rem)}a,h1,h2,h3,h4,h5,h6,p{overflow-wrap:break-word}h2,h3,h4,h5,h6{font-weight:650}h1{font-size:clamp(2.13rem,1.92rem + 1.03vw,2.5rem)}h2{font-size:clamp(1.6rem,1.48rem + .59vw,1.81rem)}h3{font-size:clamp(1.41rem,1.29rem + .6vw,1.63rem)}h4,h5,h6{font-size:clamp(1.3125rem,1.21rem + .51vw,1.5rem)}ol,p,ul{color:#222}ol,ul{padding-left:20px}:is(ul,ol)>li{margin:5px 0}p :is(i,em){margin-right:4px}:is(b,strong){font-weight:600}u{text-underline-offset:3px}:is(input,output)[type=number],time{font-variant-numeric:tabular-nums}.mxw{margin:auto;width:min(100%,1200px)}h1{margin-bottom:50px}@media (min-width:601px){h1{text-align:center}}.m-align-center{margin:0 auto}.t-align-center{text-align:center}#main{--gap:clamp(14px,4%,40px);display:grid;grid-template-columns:var(--gap) min(100% - var(--gap) * 2,900px) var(--gap);justify-content:center;padding:70px 0 80px}:where(#main>*){grid-column:2}@media (max-width:400px){#main>.full-bleed{grid-column:1/-1}}#main>:nth-child(2)~*{margin-top:calc(1em + .6rem)}article#main{--gap:clamp(16px,5%,40px)}:root{--color:#0018ff;--color:#0050ff;--color:#05f;--color:#06f;--color:#006fff}#site-header{background-color:#fff;box-shadow:0 0 20px rgba(50,50,50,.102);font-size:20px;height:55px;inset:0 0 auto 0;overflow:hidden;overflow:clip;position:sticky;user-select:none;width:100%;z-index:2}@media (min-width:701px){#site-header{height:60px}}@media (max-height:320px){#site-header{top:-60px}}@supports (backdrop-filter:blur(10px)){#site-header{backdrop-filter:blur(10px);background-color:hsla(0,0%,100%,.8)}}@media (max-width:700px){#mob-menu:checked+#site-header{background-color:#fff;height:100%;height:100vh;min-height:-webkit-fill-available}#mob-menu:checked+#site-header~*{visibility:hidden}}#site-header nav.mxw{display:grid;grid:55px calc(100vh - 55px)/auto 1fr 55px}@media (min-width:701px){#site-header nav.mxw{grid:60px/auto 1fr auto 10px}}#site-header #logo{padding:10px}#site-header #logo:focus-visible{outline:none}#site-header #logo:focus-visible>img{border-radius:1px;outline:3px solid #0050ff;outline-offset:4px}#site-header #logo:hover>img{background-color:#eee;box-shadow:0 0 0 2px #eee}#site-header #logo>img{height:100%;min-width:fit-content;transition:background-color .2s,box-shadow .2s;width:auto}#site-header button,#site-header label{grid-area:1/3/2/4}@media (min-width:701px){#site-header button,#site-header label{display:none}}#site-header button{opacity:0;pointer-events:none}#site-header button:focus-visible+label{border-radius:13px;outline:3px solid #0050ff;outline-offset:-8px}#site-header label{cursor:pointer;position:relative}#site-header label:after,#site-header label:before{background-color:#000;content:"";height:1.7px;inset:0;margin:auto;position:absolute;transform:translateY(-5px);width:20px}#site-header label:after{transform:translateY(5px)}#mob-menu:checked+#site-header label:before{transform:rotate(-45deg)}#mob-menu:checked+#site-header label:after{transform:rotate(45deg)}#site-header div{display:flex;grid-column:3/4}@media (max-width:700px){#site-header div{box-shadow:inset 0 20px 20px -20px rgba(50,50,50,.102);flex-direction:column;grid-column:1/-1;overflow-y:auto;padding:30px min(8%,50px) 100px;scrollbar-width:none;visibility:hidden}#site-header div::-webkit-scrollbar{display:none}#mob-menu:checked+#site-header div{visibility:visible}}#site-header div a{line-height:30.5px;outline:none;padding:15px;position:relative}@media (max-width:700px){#site-header div a{box-shadow:0 2px 0 #eee;margin-top:10px;padding:10px 15px;transition:background-color .2s,box-shadow .3s}#site-header div a:focus-visible,#site-header div a:hover{background-color:#eee;border-radius:6px;box-shadow:none}}@media (min-width:701px){#site-header div a:before{background-color:#eee;border-radius:20px;content:"";inset:13px 6px;opacity:0;position:absolute;transform:scale(.95);transition:opacity .2s,transform .2s;z-index:-1}#site-header div a:is(:hover,:focus-visible,[aria-current=page]):before{opacity:1;transform:scale(1)}#site-header div a:focus-visible:before{outline:3px solid #0050ff;outline-offset:2px}}html{overflow-y:scroll}html.mob-menu-open{overflow:hidden}@media (hover:hover) and (pointer:fine){#mob-menu:checked+#site-header,html.mob-menu-open body{overflow-y:scroll}}#site-footer{background-color:#f5f5f5;border-top:1.5px solid #ddd;font-size:16px;padding:20px min(3%,20px);user-select:none}#site-footer>.mxw{align-items:center;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-around}#site-footer strong{font-size:20px}#site-footer nav{display:flex;flex-wrap:wrap;font-weight:600;max-width:330px;width:100%}#site-footer a{border-radius:30px;flex-grow:1;padding:5px 0;text-align:center;transition:background-color .2s}#site-footer a:focus-visible,#site-footer a:hover{background-color:#ddd}.btn-primary{background-color:var(--bgcolor-primary);border:2px solid var(--bgcolor-primary);border-radius:30px;color:#fff;font-weight:500;margin-top:1em!important;padding:3px 14px;transition:background-color .1s linear,color .1s linear;width:max-content}.btn-primary:is(:active,:focus-visible){background-color:#fff;color:var(--bgcolor-primary)}@media (hover:hover){.btn-primary:hover{background-color:#fff;color:var(--bgcolor-primary)}}a.btn-primary{display:block;text-decoration:none}details{background-color:#fafafa;padding:10px 20px 15px}details>summary{background-color:#f7f7f7;border-bottom:2px solid #eee;border-radius:5px;color:#333;cursor:pointer;font-weight:600;margin:-10px -20px -15px;padding:6px 14px 5px;touch-action:manipulation}details>summary::marker{content:none}details>summary:before{content:"▶";display:inline-block;font-size:80%;margin-right:10px;transition:transform .2s;vertical-align:1px}details[open]>summary{border-radius:5px 5px 0 0;margin-bottom:15px}details[open]>summary:before{transform:rotate(90deg)}code,details,kbd,mark,pre,samp{border-radius:.4em}code,kbd,pre,samp{background-color:#eee}code,kbd,samp{font-size:clamp(16px,.97rem + .17vw,17px);font-style:normal;font-weight:400;padding:0 .2em}pre{display:flex;margin:1em 0;tab-size:3}details>pre:only-of-type{margin-bottom:5px}pre>code{overflow-x:auto;padding:.9em 1.1em;scrollbar-width:thin}pre>code::-webkit-scrollbar{height:15px;width:15px}pre>code::-webkit-scrollbar-track{background-color:transparent;border:none!important}pre>code::-webkit-scrollbar-thumb{background-clip:content-box;border:4px solid transparent;border-radius:10px}kbd{box-shadow:inset 0 0 0 1px #ccc,0 1px #ccc;padding:.1em .4em}mark{background-color:#fffa36}