html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-size:1em}a{background-color:initial}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:600}code,kbd,samp{font-size:1em}small{font-size:80%}sub,sup{font-size:85%;line-height:0;position:relative;vertical-align:baseline;font-variant-numeric:tabular-nums}sub{bottom:-.25em}sup{top:-.35em}img{border-style:none}button,input,optgroup,select,textarea{font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}:root{--font-serif:"Loki", Georgia, "Times New Roman", serif;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;--font-content:var(--font-serif);--font-ui:var(--font-content);--font-mono:"Berkeley Mono", ui-monospace, SFMono-Regular, "Cascadia Code", "IBM Plex Mono", "Roboto Mono",
        "DejaVu Sans Mono", "Liberation Mono", Menlo, Monaco, "Consolas",
        "Source Code Pro", monospace;--border-radius:4px;--font-small:0.875em;--font-smaller:0.8em;--wrap-wide:54em;--wrap-normal:680px;--heading-weight:500;--input-width:20em;--image-radius:6px;--line-height:1.6;--container-pad:2rem;--container-max:860px}@media(max-width:860px){:root{--wrap-normal:88vw;--wrap-wide:100vw;--input-width:100%;--heading-weight:600}:root .wide,:root .wider{--border-radius:0;--image-radius:0}}:root{--flexoki-black:#100f0f;--flexoki-black-rgb:16, 15, 15;--flexoki-paper:#fffcf0;--flexoki-paper-rgb:254, 252, 240;--flexoki-200-rgb:206, 205, 195;--flexoki-50:#f2f0e5;--flexoki-100:#e6e4d9;--flexoki-150:#dad8ce;--flexoki-200:#cecdc3;--flexoki-300:#b7b5ac;--flexoki-400:#9f9d96;--flexoki-500:#878580;--flexoki-600:#6f6e69;--flexoki-700:#575653;--flexoki-800:#403e3c;--flexoki-850:#343331;--flexoki-900:#282726;--flexoki-950:#1c1b1a;--flexoki-red-50:#ffe1d5;--flexoki-red-100:#ffcabb;--flexoki-red-150:#fdb2a2;--flexoki-red-200:#f89a8a;--flexoki-red-300:#e8705f;--flexoki-red-400:#d14d41;--flexoki-red-500:#c03e35;--flexoki-red-600:#af3029;--flexoki-red-700:#942822;--flexoki-red-800:#6c201c;--flexoki-red-850:#551b18;--flexoki-red-900:#3e1715;--flexoki-red-950:#261312;--flexoki-orange-50:#ffe7ce;--flexoki-orange-100:#fed3af;--flexoki-orange-150:#fcc192;--flexoki-orange-200:#f9ae77;--flexoki-orange-300:#ec8b49;--flexoki-orange-400:#da702c;--flexoki-orange-500:#cb6120;--flexoki-orange-600:#bc5215;--flexoki-orange-700:#9d4310;--flexoki-orange-800:#71320d;--flexoki-orange-850:#59290d;--flexoki-orange-900:#40200d;--flexoki-orange-950:#27180e;--flexoki-yellow-50:#faeec6;--flexoki-yellow-100:#f6e2a0;--flexoki-yellow-150:#f1d67e;--flexoki-yellow-200:#eccb60;--flexoki-yellow-300:#dfb431;--flexoki-yellow-400:#d0a215;--flexoki-yellow-500:#be9207;--flexoki-yellow-600:#ad8301;--flexoki-yellow-700:#8e6b01;--flexoki-yellow-800:#664d01;--flexoki-yellow-850:#503d02;--flexoki-yellow-900:#3a2d04;--flexoki-yellow-950:#241e08;--flexoki-green-50:#edeecf;--flexoki-green-100:#dde2b2;--flexoki-green-150:#cdd597;--flexoki-green-200:#bec97e;--flexoki-green-300:#a0af54;--flexoki-green-400:#879a39;--flexoki-green-500:#768d21;--flexoki-green-600:#66800b;--flexoki-green-700:#536907;--flexoki-green-800:#3d4c07;--flexoki-green-850:#313d07;--flexoki-green-900:#252d09;--flexoki-green-950:#1a1e0c;--flexoki-cyan-50:#ddf1e4;--flexoki-cyan-100:#bfe8d9;--flexoki-cyan-150:#a2dece;--flexoki-cyan-200:#87d3c3;--flexoki-cyan-300:#5abdac;--flexoki-cyan-400:#3aa99f;--flexoki-cyan-500:#2f968d;--flexoki-cyan-600:#24837b;--flexoki-cyan-700:#1c6c66;--flexoki-cyan-800:#164f4a;--flexoki-cyan-850:#143f3c;--flexoki-cyan-900:#122f2c;--flexoki-cyan-950:#101f1d;--flexoki-blue-50:#e1eceb;--flexoki-blue-100:#c6dde8;--flexoki-blue-150:#abcfe2;--flexoki-blue-200:#92bfdb;--flexoki-blue-300:#66a0c8;--flexoki-blue-400:#4385be;--flexoki-blue-500:#3171b2;--flexoki-blue-600:#205ea6;--flexoki-blue-700:#1a4f8c;--flexoki-blue-800:#163b66;--flexoki-blue-850:#133051;--flexoki-blue-900:#12253b;--flexoki-blue-950:#101a24;--flexoki-purple-50:#f0eaec;--flexoki-purple-100:#e2d9e9;--flexoki-purple-150:#d3cae6;--flexoki-purple-200:#c4b9e0;--flexoki-purple-300:#a699d0;--flexoki-purple-400:#8b7ec8;--flexoki-purple-500:#735eb5;--flexoki-purple-600:#5e409d;--flexoki-purple-700:#4f3685;--flexoki-purple-800:#3c2a62;--flexoki-purple-850:#31234e;--flexoki-purple-900:#261c39;--flexoki-purple-950:#1a1623;--flexoki-magenta-50:#fee4e5;--flexoki-magenta-100:#fccfda;--flexoki-magenta-150:#f9b9cf;--flexoki-magenta-200:#f4a4c2;--flexoki-magenta-300:#e47da8;--flexoki-magenta-400:#ce5d97;--flexoki-magenta-500:#b74583;--flexoki-magenta-600:#a02f6f;--flexoki-magenta-700:#87285e;--flexoki-magenta-800:#641f46;--flexoki-magenta-850:#4f1b39;--flexoki-magenta-900:#39172b;--flexoki-magenta-950:#24131d}:root,.theme-light{--color-bg-primary:#FAF9F5;--color-bg-primary-rgb:var(--flexoki-paper-rgb);--color-inverted-rgb:var(--flexoki-black-rgb);--color-bg-secondary:var(--flexoki-50);--color-tx-normal:#000000;--color-tx-muted:var(--flexoki-600);--color-tx-faint:var(--flexoki-300);--color-ui-normal:var(--flexoki-100);--color-ui-hover:var(--flexoki-150);--color-ui-active:var(--flexoki-200);--color-highlight:var(--flexoki-yellow-100);--color-action:var(--flexoki-cyan-600);--color-bg-hover:var(--flexoki-cyan-50);--color-selection:rgba(187, 220, 206, 0.3);--color-re:var(--flexoki-red-600);--color-re-hover:var(--flexoki-red-400);--color-or:var(--flexoki-orange-600);--color-or-hover:var(--flexoki-orange-400);--color-ye:var(--flexoki-yellow-600);--color-ye-hover:var(--flexoki-yellow-400);--color-gr:var(--flexoki-green-600);--color-gr-hover:var(--flexoki-green-400);--color-cy:var(--flexoki-cyan-600);--color-cy-hover:var(--flexoki-cyan-400);--color-bl:var(--flexoki-blue-600);--color-bl-hover:var(--flexoki-blue-400);--color-pu:var(--flexoki-purple-600);--color-pu-hover:var(--flexoki-purple-400);--color-ma:var(--flexoki-magenta-600);--color-ma-hover:var(--flexoki-magenta-400)}.theme-dark{--color-bg-primary:#000000;--color-bg-primary-rgb:0, 0, 0;--color-inverted-rgb:var(--flexoki-paper-rgb);--color-bg-secondary:var(--flexoki-black);--color-tx-normal:var(--flexoki-200);--color-tx-normal-rgb:var(--flexoki-200-rgb);--color-tx-muted:var(--flexoki-500);--color-tx-faint:var(--flexoki-700);--color-ui-normal:var(--flexoki-900);--color-ui-hover:var(--flexoki-850);--color-ui-active:var(--flexoki-800);--color-highlight:var(--flexoki-yellow-900);--color-action:var(--flexoki-cyan-400);--color-bg-hover:var(--flexoki-cyan-950);--color-selection:rgba(30, 95, 91, 0.3);--color-re:var(--flexoki-red-400);--color-re-hover:var(--flexoki-red-600);--color-or:var(--flexoki-orange-400);--color-or-hover:var(--flexoki-orange-600);--color-ye:var(--flexoki-yellow-400);--color-ye-hover:var(--flexoki-yellow-600);--color-gr:var(--flexoki-green-400);--color-gr-hover:var(--flexoki-green-600);--color-cy:var(--flexoki-cyan-400);--color-cy-hover:var(--flexoki-cyan-600);--color-bl:var(--flexoki-blue-400);--color-bl-hover:var(--flexoki-blue-600);--color-pu:var(--flexoki-purple-400);--color-pu-hover:var(--flexoki-purple-600);--color-ma:var(--flexoki-magenta-400);--color-ma-hover:var(--flexoki-magenta-600)}.bg{background-color:var(--color-bg-primary)}.bg-2{background-color:var(--color-bg-secondary)}.bg-tx{background-color:var(--color-tx-normal)}.bg-tx-2{background-color:var(--color-tx-muted)}.bg-tx-3{background-color:var(--color-tx-faint)}.bg-ui{background-color:var(--color-ui-normal)}.bg-ui-2{background-color:var(--color-ui-hover)}.bg-ui-3{background-color:var(--color-ui-active)}.bg-black{background-color:var(--flexoki-black)}.bg-paper{background-color:var(--flexoki-paper)}.bg-flexoki-950{background-color:var(--flexoki-950)}.bg-flexoki-900{background-color:var(--flexoki-900)}.bg-flexoki-850{background-color:var(--flexoki-850)}.bg-flexoki-800{background-color:var(--flexoki-800)}.bg-flexoki-700{background-color:var(--flexoki-700)}.bg-flexoki-600{background-color:var(--flexoki-600)}.bg-flexoki-500{background-color:var(--flexoki-500)}.bg-flexoki-300{background-color:var(--flexoki-300)}.bg-flexoki-200{background-color:var(--flexoki-200)}.bg-flexoki-150{background-color:var(--flexoki-150)}.bg-flexoki-100{background-color:var(--flexoki-100)}.bg-flexoki-50{background-color:var(--flexoki-50)}.bg-re{background-color:var(--color-re)}.bg-or{background-color:var(--color-or)}.bg-ye{background-color:var(--color-ye)}.bg-gr{background-color:var(--color-gr)}.bg-cy{background-color:var(--color-cy)}.bg-bl{background-color:var(--color-bl)}.bg-pu{background-color:var(--color-pu)}.bg-ma{background-color:var(--color-ma)}.bg-re-2{background-color:var(--color-re-hover)}.bg-or-2{background-color:var(--color-or-hover)}.bg-ye-2{background-color:var(--color-ye-hover)}.bg-gr-2{background-color:var(--color-gr-hover)}.bg-cy-2{background-color:var(--color-cy-hover)}.bg-bl-2{background-color:var(--color-bl-hover)}.bg-pu-2{background-color:var(--color-pu-hover)}.bg-ma-2{background-color:var(--color-ma-hover)}.bg-red-600{background-color:var(--flexoki-red-600)}.bg-orange-600{background-color:var(--flexoki-orange-600)}.bg-yellow-600{background-color:var(--flexoki-yellow-600)}.bg-green-600{background-color:var(--flexoki-green-600)}.bg-cyan-600{background-color:var(--flexoki-cyan-600)}.bg-blue-600{background-color:var(--flexoki-blue-600)}.bg-purple-600{background-color:var(--flexoki-purple-600)}.bg-magenta-600{background-color:var(--flexoki-magenta-600)}.bg-red-400{background-color:var(--flexoki-red-400)}.bg-orange-400{background-color:var(--flexoki-orange-400)}.bg-yellow-400{background-color:var(--flexoki-yellow-400)}.bg-green-400{background-color:var(--flexoki-green-400)}.bg-cyan-400{background-color:var(--flexoki-cyan-400)}.bg-blue-400{background-color:var(--flexoki-blue-400)}.bg-purple-400{background-color:var(--flexoki-purple-400)}.bg-magenta-400{background-color:var(--flexoki-magenta-400)}.gap1{gap:1rem}.pa{padding:1rem}.pt{padding-top:1rem}.pr{padding-right:1rem}.pb{padding-bottom:1rem}.pl{padding-left:1rem}.ppa{padding:2rem}.ppt{padding-top:2rem}.ppr{padding-right:2rem}.ppb{padding-bottom:2rem}.ppl{padding-left:2rem}.pn1{padding-top:2rem}.pn2{padding-top:4rem}.pn3{padding-top:6rem}.pn4{padding-top:8rem}.ps1{padding-bottom:2rem}.ps2{padding-bottom:4rem}.ps3{padding-bottom:6rem}.ps4{padding-bottom:8rem}.st{margin-top:1rem}.sr{margin-right:1rem}.sb{margin-bottom:1rem}.sl{margin-left:1rem}.sst{margin-top:2rem}.ssr{margin-right:2rem}.ssb{margin-bottom:2rem}.ssl{margin-left:2rem}.mn1{margin-top:2rem}.mn2{margin-top:4rem}.mn3{margin-top:6rem}.mn4{margin-top:8rem}.ms1{margin-bottom:2rem}.ms2{margin-bottom:4rem}.ms3{margin-bottom:6rem}.ms4{margin-bottom:8rem}*,*:before,*:after{box-sizing:inherit}::selection{background:var(--color-selection)}::-moz-selection{background:var(--color-selection)}html{box-sizing:border-box;width:100%;height:100%;font-size:62.5%}body{color-scheme:light dark;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;background-color:var(--color-bg-primary);font-family:var(--font-content);font-weight:400;margin:2vw auto 0;line-height:var(--line-height);padding:2rem 0 24rem;overflow-x:hidden;font-size:17px;color:var(--color-tx-normal)}@media(max-width:600px){html{font-size:56.25%}body{font-size:17px}}small,.small{font-size:var(--font-small);line-height:1.4}.smaller{font-size:var(--font-smaller);line-height:1.4}.font-ui{font-family:var(--font-ui)}.font-content{font-family:var(--font-content)}.font-mono{font-family:var(--font-mono)}mark{background-color:var(--color-highlight);color:var(--color-tx-normal)}footer{margin:2em auto;max-width:var(--wrap-wide);width:var(--wrap-normal);padding-top:1em}iframe,video{border-radius:var(--image-radius);display:block}p{max-width:var(--wrap-normal)}blockquote{padding-left:2em;margin:1.5em 0;border-left:2px solid var(--color-tx-normal)}blockquote p{margin:0}.l{text-align:left}.r{text-align:right}.c{text-align:center}.cc{margin-left:auto;margin-right:auto}.vt{vertical-align:top}.ba{border:1px solid var(--color-ui-normal)}.bt{border-top:1px solid var(--color-ui-normal)}.br{border-right:1px solid var(--color-ui-normal)}.bb{border-bottom:1px solid var(--color-ui-normal)}.bl{border-left:1px solid var(--color-ui-normal)}.ra{border-radius:var(--border-radius);overflow:hidden}hr{width:100%;border:0;height:1px;margin:1.5em 0;background:var(--color-ui-normal)}main>hr{margin:4em 0}heading{display:block;max-width:var(--wrap-wide);width:var(--wrap-normal);margin-left:auto;margin-right:auto}article{display:block;max-width:var(--wrap-wide);width:var(--wrap-normal);margin-left:auto;margin-right:auto;padding:0 2rem}article img{margin-bottom:.5em}article .wide{padding:1.5em 0;max-width:Min(100vw,var(--wrap-wide));width:Min(100vw,var(--wrap-wide));margin-left:calc((Min(100vw,var(--wrap-wide)) - 100%)/-2)}figure{margin:0;padding:1.5em 0;text-align:center}figcaption{font-size:var(--font-smaller);line-height:1.4;color:var(--color-tx-muted);padding:1em}figcaption a{color:var(--color-tx-muted)}img+em{display:block;text-align:center;font-size:var(--font-smaller);line-height:1.4;color:var(--color-tx-muted);padding:1em;font-style:normal}img+em a{color:var(--color-tx-muted)}.fr{float:right}flex,.flex{display:flex}.align-center{align-items:center}.align-baseline{align-items:baseline}.flex-grow{flex-grow:1}.flex-shrink{flex-shrink:1}.grid{display:grid}.grid-columns{grid-auto-flow:column;grid-auto-columns:1fr}.nowrap{white-space:nowrap}.font-normal{font-weight:400}.tabular-nums{font-variant-numeric:tabular-nums}.line-height-loose{line-height:1.6}.line-height-tight{line-height:1.3}.wrap{max-width:var(--container-max);margin-left:auto;margin-right:auto;padding-left:var(--container-pad);padding-right:var(--container-pad)}article hr{margin-top:3rem;margin-bottom:1rem;margin-top:calc(2em + 2vh);margin-bottom:calc(2em + 2vh);display:block;border:0;background:0 0;text-align:center;overflow:visible}article hr:before{content:"\2022\2022\2022";display:inline-block;font-size:.5em;font-size:calc(.8em + .2vw);margin-left:.6em;letter-spacing:1.25em;color:var(--color-tx-faint);position:relative;top:-.75em}.muted{color:var(--color-tx-muted)}.muted a{color:var(--color-tx-muted)}.faint{color:var(--color-tx-faint)}.action{color:var(--color-action)}.font-medium{font-weight:500}nav{margin:0 auto 3em;width:var(--wrap-normal);max-width:var(--wrap-wide)}@media(min-width:600px){.dkh{display:none}}@media(max-width:54em){.wide{border:none}.wide img,.wide iframe,.wide video{border-radius:0}}@media(max-width:600px){.mh{display:none}.mobile-grid-rows{grid-auto-flow:row}}.backlinks{display:grid;gap:.5em;grid-template-columns:repeat(2,1fr)}.backlink{border:1px solid var(--color-ui-normal);padding:.75em;border-radius:var(--border-radius);line-height:1.3}.backlink:hover{border-color:var(--color-ui-hover)}.backlink .small,.backlink .smaller{line-height:1.3}@media(max-width:600px){.backlinks{grid-template-columns:repeat(1,1fr)}}code,kbd{font-family:var(--font-mono);background:var(--color-bg-secondary);padding:.1em .2em;border-radius:4px;font-size:90%}kbd{font-weight:600;border:1px solid var(--color-ui-hover)}pre{font-family:var(--font-mono);border-radius:4px;padding:1em;font-size:90%;border:1px solid var(--color-ui-normal);white-space:pre-wrap}pre code{background-color:initial}div.highlight{display:grid}.highlight{border-radius:4px;overflow:auto;margin:1em 0}.highlight .c{color:var(--color-tx-faint)}.highlight .err{color:var(--color-re)}.highlight .k{color:var(--color-gr)}.highlight .p{color:var(--color-tx-muted)}.highlight .cm{color:var(--color-tx-faint)}.highlight .cp{color:var(--color-tx-faint)}.highlight .c1{color:var(--color-tx-faint)}.highlight .cs{color:var(--color-tx-faint)}.highlight .ge{font-style:italic}.highlight .gr{color:var(--color-re)}.highlight .gh{color:var(--color-tx-faint)}.highlight .go{color:var(--color-tx-muted)}.highlight .gp{color:var(--color-tx-muted)}.highlight .gu{color:var(--color-tx-muted)}.highlight .gt{color:var(--color-re)}.highlight .kc{color:var(--color-bl)}.highlight .kd{color:var(--color-bl)}.highlight .kp{color:var(--color-bl)}.highlight .kr{color:var(--color-bl)}.highlight .kt{color:var(--color-bl)}.highlight .m{color:var(--color-pu)}.highlight .s{color:var(--color-gr)}.highlight .na{color:var(--color-or)}.highlight .nb{color:var(--color-gr)}.highlight .nc{color:var(--color-bl)}.highlight .no{color:var(--color-cy)}.highlight .nn{color:var(--color-tx-muted)}.highlight .nv{color:var(--color-cy)}.highlight .o{color:var(--color-re)}.highlight .w{color:var(--color-tx-faint)}.highlight .mf{color:var(--color-pu)}.highlight .mh{color:var(--color-pu)}.highlight .mi{color:var(--color-pu)}.highlight .mo{color:var(--color-pu)}.highlight .sb{color:var(--color-gr)}.highlight .sc{color:var(--color-gr)}.highlight .sd{color:var(--color-gr)}.highlight .s2{color:var(--color-cy)}.highlight .se{color:var(--color-re)}.highlight .sh{color:var(--color-gr)}.highlight .si{color:var(--color-gr)}.highlight .sx{color:var(--color-gr)}.highlight .sr{color:var(--color-re)}.highlight .s1{color:var(--color-cy)}.highlight .ss{color:var(--color-re)}.highlight .bp{color:var(--color-tx-faint)}.highlight .vc{color:var(--color-cy)}.highlight .vg{color:var(--color-cy)}.highlight .vi{color:var(--color-cy)}.highlight .il{color:var(--color-pu)}.footnote{color:var(--color-tx-muted);text-decoration:none;font-weight:500;padding-left:.1em}.reversefootnote{color:var(--color-tx-muted);text-decoration:none}.footnotes{padding-top:4em}.footnotes:before{content:"Footnotes";padding-bottom:.25em;color:var(--color-tx-muted);display:block}.footnotes li p{margin-block-start:.5em;margin-block-end:.5em}h1,h2,h3,h4,h5,h6{line-height:1.3;margin-bottom:0;padding-bottom:0}article h1{font-weight:500;font-size:2em;font-size:calc(1.35em + .55vw);letter-spacing:-.02em;line-height:1.25;margin-top:1.5em;margin-bottom:.25em}h2{font-weight:var(--heading-weight);font-size:1.4em;font-size:calc(1em + .2vw);letter-spacing:-.015em;margin-top:1em;margin-bottom:.5em;line-height:1.3}h3{font-weight:var(--heading-weight);font-size:1.2em;font-size:1em;line-height:1.3;margin-top:1em;margin-bottom:.5em}h4{font-size:1em;font-weight:600;line-height:1.3;margin-top:1em}h5{font-weight:700;line-height:1.25;text-transform:uppercase;margin-bottom:1em;letter-spacing:.05em;font-size:1.4rem}article h2{margin-top:2em}article h1+h2,article h2+h3{margin-top:1em}article h3{margin-top:1.5em}h1 a,h1 a:visited,h1 a:link{color:var(--color-tx-normal)}h1 a,h2 a,h3 a,h4 a,h5 a,h6 a{color:var(--color-tx-normal);text-decoration:none}h1 a:hover,h2 a:hover,h3 a:hover,h4 a:hover,h5 a:hover,h6 a:hover{color:var(--color-action)}h1 a .muted:hover,h2 a .muted:hover,h3 a .muted:hover,h4 a .muted:hover,h5 a .muted:hover,h6 a .muted:hover{color:var(--color-tx-muted);text-decoration:none}h1,h2,h3,h4,h5,h6{position:relative}h1:hover .anchor,h2:hover .anchor,h3:hover .anchor,h4:hover .anchor,h5:hover .anchor,h6:hover .anchor{opacity:1;transition:opacity 0s ease-in-out .25s}h1 .anchor,h2 .anchor,h3 .anchor,h4 .anchor,h5 .anchor,h6 .anchor{color:transparent;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='lucide lucide-link'%3E%3Cpath d='M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71'/%3E%3Cpath d='M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71'/%3E%3C/svg%3E");mask-size:.75em;mask-repeat:no-repeat;mask-position:center;transition:opacity .1s ease-in-out;background-color:var(--color-tx-faint);z-index:0;user-select:none;position:absolute;left:-1.5em;padding-right:1em;opacity:0;color:var(--color-tx-faint);text-decoration:none}h1 .anchor:hover,h2 .anchor:hover,h3 .anchor:hover,h4 .anchor:hover,h5 .anchor:hover,h6 .anchor:hover{background-color:var(--color-tx-muted)}h1 .anchor:active,h1 .anchor:focus,h2 .anchor:active,h2 .anchor:focus,h3 .anchor:active,h3 .anchor:focus,h4 .anchor:active,h4 .anchor:focus,h5 .anchor:active,h5 .anchor:focus,h6 .anchor:active,h6 .anchor:focus{background-color:var(--color-tx-normal)}img{max-width:100%;height:auto;display:block;border-radius:var(--image-radius)}body:not(.theme-dark) .multiply{mix-blend-mode:multiply}.desaturate{filter:grayscale(100%)}.theme-dark .invert{filter:invert(1)}.theme-dark .invert.multiply{mix-blend-mode:screen}.hover-color{filter:grayscale(100%);transition:filter .2s ease-in-out}.hover-color:hover{filter:grayscale(0%);transition:filter .2s ease-in-out}img.outline{border:1px solid var(--color-ui-normal)}.aspect-square{aspect-ratio:1/1;object-fit:cover}*{-webkit-tap-highlight-color:transparent}a{color:var(--color-tx-normal);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:var(--color-ui-normal);transition:text-decoration-thickness .2s ease,text-decoration-color .2s ease,color .2s ease}a:hover{color:var(--color-action);text-decoration-thickness:2px;text-decoration-color:var(--color-action)}a:focus{outline:none;background-color:var(--color-bg-hover)}a.plain,a.muted{text-decoration:none}article a:not(.plain):not(.tag):not(.internal-link):not(.footnote):not( .reversefootnote ):not([href^="#"]):not([href^="/"]){background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='2.5' stroke='gray' class='w-6 h-6'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M4.5 19.5l15-15m0 0H8.25m11.25 0v11.25' /%3E%3C/svg%3E%0A");background-position:100% 33%;background-repeat:no-repeat;background-size:.7em;padding-right:.75em}.invalid-link{color:var(--color-tx-muted);text-decoration:underline;text-decoration-color:var(--color-ui-normal);cursor:not-allowed}ul>li{list-style:disc}ol,ul{padding:.5rem 0 1rem 1em;margin:0 0 0 .5em}ol>li,ul>li{padding:.15rem 0}ol>li::marker,ul>li::marker{color:var(--color-tx-faint)}ul>li::marker{font-size:85%}@media(min-width:600px){ul.list-plain{padding-inline-start:0;margin-left:0}ul.list-plain>li{list-style:none}}@media(max-width:600px){ol>li,ul>li{padding:.25rem 0}}table{margin-top:1.5em;margin-bottom:2.5em;width:100%;border-collapse:collapse;border-spacing:0;font-size:90%}tr{border-bottom:1px solid var(--color-ui-normal)}td{padding:.5em 1em .5em 0;line-height:1.3}th:not(:last-child){padding-right:1em}td:last-child{padding-right:0}th{text-align:left;font-weight:600;padding-bottom:.5em}.table-top td{vertical-align:top}.table-col-first-md td:first-child{width:12em}.table-col-last-md td:last-child{width:12em}.table-nowrap table{white-space:nowrap}.table-tabular table{font-variant-numeric:tabular-nums}.table-small table{font-size:var(--font-small)}@media(max-width:600px){.table-mobile-wide table{width:106%}.table-mobile-wide table td{min-width:16em}.table-col-first-md td:first-child{min-width:9em}}.tag{border:1px solid var(--color-ui-normal);padding:.1em .5em .15em;border-radius:1em;font-size:var(--font-smaller);color:var(--color-tx-muted);line-height:2;text-decoration:none}.tag:hover{box-shadow:none;border-radius:1em}input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit;color:var(--color-tx-normal)}label{color:var(--color-tx-normal);display:block;padding:0 0 .2em}input:focus{outline:none}::-webkit-input-placeholder{color:var(--color-tx-muted)}::-moz-placeholder{color:var(--color-tx-muted)}::-ms-placeholder{color:var(--color-tx-muted)}::placeholder{color:var(--color-tx-muted)}input[type=text],input[type=email],input[type=password],textarea{border-radius:0;background-color:initial;border:1px solid transparent;border-bottom:1px solid var(--color-ui-normal);margin-bottom:1.5em;padding:.5em 0}input[type=text]:focus,input[type=email]:focus,input[type=password]:focus,textarea:focus{border-bottom:1px solid var(--color-action)}input[type=text],input[type=email],input[type=password]{width:var(--input-width)}input[type=submit],button{-webkit-appearance:none;border-radius:3px;background-color:var(--color-tx-normal);border:1px solid var(--color-tx-normal);color:var(--color-bg-primary);font-weight:400;padding:.5em 1em}input[type=submit]:hover,button:hover{border:1px solid var(--color-action);background-color:var(--color-action);cursor:pointer}select{-webkit-appearance:none;appearance:none;cursor:pointer;max-width:100%;margin:0;border:1px solid var(--color-ui-normal);border-radius:3px;background-color:initial;padding:.25em 1.5em .25em .5em;background-repeat:no-repeat;background-position:right .5em top 50%;background-size:1em}select:hover{border-color:var(--color-ui-hover);background-color:var(--color-bg-secondary)}select:focus{border-color:var(--color-ui-active);outline:none}select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23B7B5AC' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath d='m7 15 5 5 5-5'/%3E%3Cpath d='m7 9 5-5 5 5'/%3E%3C/svg%3E")}.theme-dark select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23575653' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath d='m7 15 5 5 5-5'/%3E%3Cpath d='m7 9 5-5 5 5'/%3E%3C/svg%3E")}#popover-wrapper{color-scheme:light dark;background:var(--color-bg-primary);padding:1.5em;border:1px solid var(--color-ui-hover);border-radius:6px;overflow:auto;position:absolute;width:380px;max-width:80vw;height:250px;max-height:70vh;font-size:.825em;box-shadow:0 5px 20px 2px rgba(var(--flexoki-black-rgb),.2);z-index:9999;transition:opacity 250ms ease-in-out;animation:fadein 250ms ease-in-out forwards}#popover-wrapper:hover{animation:fadein 250ms ease-in-out backwards}@keyframes fadein{from{margin-top:20px;opacity:0;pointer-events:none}to{margin-top:0;opacity:1;pointer-events:auto}}#popover-content>h1{margin-top:0;font-size:1.25em}#popover-content .ms2{margin-bottom:2rem}.theme-dark #popover-wrapper{background:var(--color-bg-secondary);box-shadow:0 5px 20px 2px rgba(var(--flexoki-black-rgb),1)}@font-face{font-family:loki;src:url(/exp/fonts/Loki_Roman_Variable.woff2)format('woff2');font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:berkeley mono;src:url(/exp/fonts/BerkeleyMonoVariable-Regular.woff2)format('woff2');font-weight:400;font-style:normal;font-display:swap}.theme-toggle{background-color:initial;border:none;padding:0;cursor:pointer;height:24px;width:24px;position:relative;color:var(--color-tx-muted)}.theme-toggle:hover{color:var(--color-tx-normal);background-color:initial}.theme-toggle svg{position:absolute;top:0;left:0;width:100%;height:100%;transition:transform .3s ease-in-out,opacity .3s ease-in-out}.theme-toggle .sun{transform:rotate(0)scale(1);opacity:1}.theme-toggle .moon{transform:rotate(90deg)scale(0);opacity:0}.theme-dark .theme-toggle .sun{transform:rotate(-90deg)scale(0);opacity:0}.theme-dark .theme-toggle .moon{transform:rotate(0)scale(1);opacity:1}.site-footer{border-top:1px solid var(--color-ui-normal);padding-top:2rem;margin-top:6rem;display:flex;justify-content:space-between;align-items:center;gap:1rem}.social-links{display:flex;gap:1rem}.social-links a{color:var(--color-tx-muted);text-decoration:none}.social-links a:hover{color:var(--color-action)}@media(max-width:600px){.site-footer{flex-direction:column;justify-content:center;text-align:center}}.nav-links{margin-right:1.5em}.note-box{background-color:var(--color-bg-secondary);border:1px solid var(--color-ui-normal);padding:1.5em;border-radius:var(--border-radius);margin:2em 0;font-size:var(--font-small);color:var(--color-tx-muted)}.note-box p:first-child{margin-top:0}.note-box p:last-child{margin-bottom:0}@media(max-width:600px){:root{--container-pad:0.5rem}article{padding:0 1rem}}article .drop-cap::first-letter{float:left;font-size:4.2em;line-height:.75;padding-right:.08em;margin-top:.05em;margin-bottom:-.15em;color:var(--flexoki-orange-600);font-weight:400;font-family:var(--font-serif);font-style:italic}.theme-dark article .drop-cap::first-letter{color:var(--flexoki-orange-400)}