.footer{padding:40px 0;flex-grow:0}.footer span{opacity:.65}.footer__inner{display:flex;align-items:center;justify-content:space-between;margin:0;max-width:100%}.footer a{color:inherit}.footer .copyright{display:flex;flex-flow:row wrap;flex:1;align-items:center;justify-content:center}.footer .copyright--user{margin:auto;text-align:center}.footer .copyright span{white-space:nowrap}.theme-selector{display:none;margin:0 7px;transition:opacity .2s ease,transform .15s ease}.theme-selector:hover{opacity:1;animation:wiggle-smooth .45s ease-out}@keyframes wiggle-smooth{0%{transform:rotate(0)}25%{transform:rotate(-8deg)}50%{transform:rotate(8deg)}75%{transform:rotate(-4deg)}100%{transform:rotate(0)}}.theme-selector.light{color:var(--accent);opacity:.85}.theme-selector.dark{opacity:.65}.theme-selector.dark:hover{filter:drop-shadow(0 0 1px var(--accent))}@media(max-width:900px){.footer__inner{flex-direction:column}}.header{display:flex;flex-direction:row;align-items:center}.header__inner{display:flex;align-items:center;justify-content:space-between;margin-right:1.5em}.header__logo{display:flex;flex:1}.header__logo a{flex:none;max-width:100%;text-decoration:none}.logo{display:flex;align-items:center;text-decoration:none;background:var(--accent);color:var(--background);font-weight:700;padding:5px 10px}@media print{.header{display:none}}.navigation-menu{display:flex;justify-content:space-between;margin:20px 1px;align-items:center}.navigation-menu__inner{display:flex;align-items:center;flex:1;flex-wrap:wrap;list-style:none;margin:0;padding:0}.navigation-menu__inner>li{flex:none;white-space:nowrap;a { text-decoration: none; font-weight: bold; } a:hover { text-decoration: underline; }}.navigation-menu__inner>li:not(:last-of-type){margin-right:1.5em}.navigation-menu .spacer{flex-grow:1 !important}.menu{display:flex;flex-direction:column;position:relative;list-style:none;padding:0;margin:0;width:max-content}.menu__trigger{margin-right:0 !important;color:var(--accent);user-select:none;cursor:pointer}.menu__dropdown{display:none;flex-direction:column;position:absolute;background:var(--background);box-shadow:0 10px var(--background),-10px 10px var(--background),10px 10px var(--background);color:var(--accent);border:2px solid var(--accent);margin:0;padding:10px;top:10px;left:0;list-style:none;z-index:99;width:max-content}.open .menu__dropdown{display:flex}.menu__dropdown>li{flex:none}.menu__dropdown>li:not(:last-of-type){margin-bottom:10px}.menu__dropdown>li a{display:flex;padding:5px}.menu--mobile .menu__trigger{color:var(--accent);border:2px solid;margin-left:10px;height:100%;padding:3px 8px;margin-bottom:0 !important;position:relative;cursor:pointer;display:none}.menu--mobile li{flex:none}.menu--mobile li:not(:last-of-type){margin-bottom:10px}.menu--language-selector .menu__trigger{color:var(--accent);border:2px solid;margin-left:5px;height:100%;padding:3px 8px;margin-bottom:0 !important;position:relative;cursor:pointer}.menu--language-selector .menu__dropdown{left:auto;right:0}@media(max-width:684px){.navigation-menu{margin:0}.navigation-menu__inner{flex-direction:column;align-items:flex-start;padding:0}.navigation-menu__inner li{margin:0;padding:5px}.menu--desktop{display:none}.menu--mobile .menu__trigger{display:block}.header__inner{justify-content:flex-start;flex:none;width:auto}.header__logo{flex:none !important;max-width:100%}.menu--mobile{flex:none}.menu--mobile{margin-left:auto}.menu--mobile .menu__dropdown{left:auto;right:0}.menu--language-selector .menu__trigger{display:none}}.chroma{overflow:auto}.chroma .lntable{width:100%;border-spacing:0;padding:0;margin:0;border:0}.chroma .lntd{width:100%;vertical-align:top;padding:0;margin:0;border:0}.chroma .lntd:first-child{width:auto}.chroma .lnt{white-space:pre;-webkit-user-select:none;user-select:none;padding:0 10px}.chroma .ln{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.8em;padding:0 .4em 0 0}.chroma .line{display:flex;padding:0 10px}.chroma .hl{background-color:rgba(255,255,255,5%) !important}.chroma .lntd code{display:grid}.bg{color:#4c4f69;background-color:#eff1f5}.chroma{color:#4c4f69;background-color:#eff1f5}.chroma .x{}.chroma .err{color:#d20f39}.chroma .cl{}.chroma .lnlinks{outline:none;text-decoration:none;color:inherit}.chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}.chroma .lntable{border-spacing:0;padding:0;margin:0;border:0}.chroma .hl{background-color:#bcc0cc}.chroma .lnt{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#8c8fa1}.chroma .ln{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#8c8fa1}.chroma .line{display:flex}.chroma .k{color:#8839ef}.chroma .kc{color:#fe640b}.chroma .kd{color:#d20f39}.chroma .kn{color:#179299}.chroma .kp{color:#8839ef}.chroma .kr{color:#8839ef}.chroma .kt{color:#d20f39}.chroma .n{}.chroma .na{color:#1e66f5}.chroma .nb{color:#04a5e5}.chroma .bp{color:#04a5e5}.chroma .nc{color:#df8e1d}.chroma .no{color:#df8e1d}.chroma .nd{color:#1e66f5;font-weight:700}.chroma .ni{color:#179299}.chroma .ne{color:#fe640b}.chroma .nf{color:#1e66f5}.chroma .fm{color:#1e66f5}.chroma .nl{color:#04a5e5}.chroma .nn{color:#fe640b}.chroma .nx{}.chroma .py{color:#fe640b}.chroma .nt{color:#8839ef}.chroma .nv{color:#dc8a78}.chroma .vc{color:#dc8a78}.chroma .vg{color:#dc8a78}.chroma .vi{color:#dc8a78}.chroma .vm{color:#dc8a78}.chroma .l{}.chroma .ld{}.chroma .s{color:#40a02b}.chroma .sa{color:#d20f39}.chroma .sb{color:#40a02b}.chroma .sc{color:#40a02b}.chroma .dl{color:#1e66f5}.chroma .sd{color:#9ca0b0}.chroma .s2{color:#40a02b}.chroma .se{color:#1e66f5}.chroma .sh{color:#9ca0b0}.chroma .si{color:#40a02b}.chroma .sx{color:#40a02b}.chroma .sr{color:#179299}.chroma .s1{color:#40a02b}.chroma .ss{color:#40a02b}.chroma .m{color:#fe640b}.chroma .mb{color:#fe640b}.chroma .mf{color:#fe640b}.chroma .mh{color:#fe640b}.chroma .mi{color:#fe640b}.chroma .il{color:#fe640b}.chroma .mo{color:#fe640b}.chroma .o{color:#04a5e5;font-weight:700}.chroma .ow{color:#04a5e5;font-weight:700}.chroma .p{}.chroma .c{color:#9ca0b0;font-style:italic}.chroma .ch{color:#9ca0b0;font-style:italic}.chroma .cm{color:#9ca0b0;font-style:italic}.chroma .c1{color:#9ca0b0;font-style:italic}.chroma .cs{color:#9ca0b0;font-style:italic}.chroma .cp{color:#9ca0b0;font-style:italic}.chroma .cpf{color:#9ca0b0;font-weight:700;font-style:italic}.chroma .g{}.chroma .gd{color:#d20f39;background-color:#ccd0da}.chroma .ge{font-style:italic}.chroma .gr{color:#d20f39}.chroma .gh{color:#fe640b;font-weight:700}.chroma .gi{color:#40a02b;background-color:#ccd0da}.chroma .go{}.chroma .gp{}.chroma .gs{font-weight:700}.chroma .gu{color:#fe640b;font-weight:700}.chroma .gt{color:#d20f39}.chroma .gl{text-decoration:underline}.chroma .w{}@media(prefers-color-scheme:dark){:root:not(.light):not(.dark){.bg { color:#f8f8f2;background-color:#121212; } .chroma { color:#f8f8f2;background-color:#121212; } .chroma .x { } .chroma .err { color:#ff5370 } .chroma .cl { } .chroma .lnlinks { outline:none;text-decoration:none;color:inherit } .chroma .lntd { vertical-align:top;padding:0;margin:0;border:0; } .chroma .lntable { border-spacing:0;padding:0;margin:0;border:0; } .chroma .hl { background-color:#1e1e1e } .chroma .lnt { white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em;color:#777 } .chroma .ln { white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em;color:#777 } .chroma .line { display:flex; } .chroma .k { color:#ff6ad5 } .chroma .kc { color:#ff6ad5 } .chroma .kd { color:#7eddfa } .chroma .kn { color:#ff6ad5 } .chroma .kp { color:#ff6ad5 } .chroma .kr { color:#ff6ad5 } .chroma .kt { color:#39ffb3 } .chroma .n { } .chroma .na { color:#ffe66d } .chroma .nb { color:#7bf2ff;font-style:italic } .chroma .nc { color:#39ffb3 } .chroma .no { color:#d88bff } .chroma .nd { color:#ffe66d } .chroma .ne { color:#ff5370 } .chroma .nf { color:#7eddfa } .chroma .nl { color:#d1f7ff;font-style:italic } .chroma .nn { color:#7eddfa } .chroma .nx { color:#ff4f81 } .chroma .nt { color:#ff4f81 } .chroma .nv { color:#d1f7ff;font-style:italic } .chroma .vc { color:#d1f7ff;font-style:italic } .chroma .vg { color:#d1f7ff;font-style:italic } .chroma .vi { color:#d1f7ff;font-style:italic } .chroma .s { color:#ffe66d } .chroma .sa { color:#ffe66d } .chroma .sb { color:#ffe66d } .chroma .sc { color:#ffe66d } .chroma .dl { color:#ffe66d } .chroma .sd { color:#ffe66d } .chroma .s2 { color:#ffe66d } .chroma .se { color:#7bf2ff } .chroma .sh { color:#ffe66d } .chroma .si { color:#ffe66d } .chroma .sx { color:#ffe66d } .chroma .sr { color:#7eddfa } .chroma .s1 { color:#ffe66d } .chroma .ss { color:#ffe66d } .chroma .m { color:#ff8b5f } .chroma .mb { color:#ff8b5f } .chroma .mf { color:#ff8b5f } .chroma .mh { color:#ff8b5f } .chroma .mi { color:#ff8b5f } .chroma .il { color:#ff8b5f } .chroma .mo { color:#ff8b5f } .chroma .o { color:#7bf2ff } .chroma .ow { color:#7bf2ff } .chroma .p { color:#7eddfa } .chroma .c { color:#6b7080 } .chroma .ch { color:#6b7080 } .chroma .cm { color:#6b7080 } .chroma .c1 { color:#6b7080 } .chroma .cs { color:#6b7080 } .chroma .cp { color:#ff6ad5 } .chroma .cpf { color:#ff6ad5 } .chroma .gd { color:#ff5370 } .chroma .ge { text-decoration:underline } .chroma .gr { color:#ff5370 } .chroma .gh { font-weight:bold;color:#ffe66d } .chroma .gi { color:#ffe66d;font-weight:bold } .chroma .go { color:#44475a } .chroma .gu { font-weight:bold;color:#ff6ad5 } .chroma .gl { text-decoration:underline } .chroma .w { }}}.html.dark{.bg { color:#f8f8f2;background-color:#121212; } .chroma { color:#f8f8f2;background-color:#121212; } .chroma .x { } .chroma .err { color:#ff5370 } .chroma .cl { } .chroma .lnlinks { outline:none;text-decoration:none;color:inherit } .chroma .lntd { vertical-align:top;padding:0;margin:0;border:0; } .chroma .lntable { border-spacing:0;padding:0;margin:0;border:0; } .chroma .hl { background-color:#1e1e1e } .chroma .lnt { white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em;color:#777 } .chroma .ln { white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em;color:#777 } .chroma .line { display:flex; } .chroma .k { color:#ff6ad5 } .chroma .kc { color:#ff6ad5 } .chroma .kd { color:#7eddfa } .chroma .kn { color:#ff6ad5 } .chroma .kp { color:#ff6ad5 } .chroma .kr { color:#ff6ad5 } .chroma .kt { color:#39ffb3 } .chroma .n { } .chroma .na { color:#ffe66d } .chroma .nb { color:#7bf2ff;font-style:italic } .chroma .nc { color:#39ffb3 } .chroma .no { color:#d88bff } .chroma .nd { color:#ffe66d } .chroma .ne { color:#ff5370 } .chroma .nf { color:#7eddfa } .chroma .nl { color:#d1f7ff;font-style:italic } .chroma .nn { color:#7eddfa } .chroma .nx { color:#ff4f81 } .chroma .nt { color:#ff4f81 } .chroma .nv { color:#d1f7ff;font-style:italic } .chroma .vc { color:#d1f7ff;font-style:italic } .chroma .vg { color:#d1f7ff;font-style:italic } .chroma .vi { color:#d1f7ff;font-style:italic } .chroma .s { color:#ffe66d } .chroma .sa { color:#ffe66d } .chroma .sb { color:#ffe66d } .chroma .sc { color:#ffe66d } .chroma .dl { color:#ffe66d } .chroma .sd { color:#ffe66d } .chroma .s2 { color:#ffe66d } .chroma .se { color:#7bf2ff } .chroma .sh { color:#ffe66d } .chroma .si { color:#ffe66d } .chroma .sx { color:#ffe66d } .chroma .sr { color:#7eddfa } .chroma .s1 { color:#ffe66d } .chroma .ss { color:#ffe66d } .chroma .m { color:#ff8b5f } .chroma .mb { color:#ff8b5f } .chroma .mf { color:#ff8b5f } .chroma .mh { color:#ff8b5f } .chroma .mi { color:#ff8b5f } .chroma .il { color:#ff8b5f } .chroma .mo { color:#ff8b5f } .chroma .o { color:#7bf2ff } .chroma .ow { color:#7bf2ff } .chroma .p { color:#7eddfa } .chroma .c { color:#6b7080 } .chroma .ch { color:#6b7080 } .chroma .cm { color:#6b7080 } .chroma .c1 { color:#6b7080 } .chroma .cs { color:#6b7080 } .chroma .cp { color:#ff6ad5 } .chroma .cpf { color:#ff6ad5 } .chroma .gd { color:#ff5370 } .chroma .ge { text-decoration:underline } .chroma .gr { color:#ff5370 } .chroma .gh { font-weight:bold;color:#ffe66d } .chroma .gi { color:#ffe66d;font-weight:bold } .chroma .go { color:#44475a } .chroma .gu { font-weight:bold;color:#ff6ad5 } .chroma .gl { text-decoration:underline } .chroma .w { }}html,body{height:100%;margin:0}.container{min-height:100%;display:flex;flex-direction:column}.content{flex:1 0 auto}footer.footer{margin-top:auto}@font-face{font-family:jetbrains mono;src:url(/fonts/jetbrains-mono/JetBrainsMono-Regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:jetbrains mono;src:url(/fonts/jetbrains-mono/JetBrainsMono-Italic.woff2)format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:jetbrains mono;src:url(/fonts/jetbrains-mono/JetBrainsMono-Bold.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:jetbrains mono;src:url(/fonts/jetbrains-mono/JetBrainsMono-BoldItalic.woff2)format("woff2");font-weight:700;font-style:italic;font-display:swap}:root{--radius:0;--font-size:18px;--line-height:1.54em}:root{--background:#f5f5fa;--foreground:#000000;--accent:#fc5821}@media(prefers-color-scheme:dark){:root:not(.light):not(.dark){--background:#121212;--foreground:#eeeeee;--accent:#7eddfa}}html.dark{--background:#121212;--foreground:#eeeeee;--accent:#7eddfa}html{box-sizing:border-box}*,*:before,*:after{box-sizing:inherit;margin:0;padding:0}body{font-family:jetbrains mono,Monaco,Consolas,ubuntu mono,monospace;font-size:var(--font-size);font-weight:400;line-height:var(--line-height);background-color:var(--background);color:var(--foreground);text-rendering:optimizeLegibility;font-variant-ligatures:contextual;-webkit-overflow-scrolling:touch;-webkit-text-size-adjust:100%;margin:0;padding:0}h1{font-size:calc(var(--font-size) * 1.45);letter-spacing:0}h2{font-size:calc(var(--font-size) * 1.35);letter-spacing:0}h3{font-size:calc(var(--font-size) * 1.15);letter-spacing:0}h4,h5,h6{font-size:calc(var(--font-size) * 1);letter-spacing:0}h1,h2,h3,h4,h5,h6{margin:35px 0 0}ul,ol,p,img,figure,video,table{margin:10px 0}ul,ol{margin:0}a{color:var(--accent)}button{position:relative;font:inherit;font-weight:700;text-decoration:none;text-align:center;background:0 0;color:var(--accent);padding:5px 18px;border:4px solid var(--accent);border-radius:var(--radius);transition:background .15s linear;appearance:none;cursor:pointer;outline:none}button:hover{background:color-mix(in srgb,var(--accent) 15%,transparent)}button:focus-visible,a:focus-visible{outline:1px solid var(--accent);outline-offset:2px}fieldset{display:inline-block;border:2px solid var(--foreground);border-radius:calc(var(--radius) * 1.6);padding:10px}fieldset *:first-child{margin-top:0}fieldset input,fieldset select,fieldset textarea,fieldset label,fieldset button{margin-top:calc(var(--line-height) * .5);width:100%}label{display:inline-block}label input{margin-top:0}input,textarea,select{background:0 0;color:var(--foreground);border:1px solid var(--foreground);border-radius:var(--radius);padding:10px;font:inherit;appearance:none}input[type=checkbox]{width:auto}input:focus-visible,input:active,textarea:focus-visible,textarea:active,select:focus-visible,select:active{border-color:var(--accent);outline:1px solid var(--accent);outline-offset:2px}input:active,textarea:active,select:active{box-shadow:none}select{background-image:linear-gradient( 45deg,transparent 50%,var(--foreground) 50% ),linear-gradient(135deg,var(--foreground) 50%,transparent 50%);background-position:calc(100% - 20px),calc(100% - 15px);background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:40px}select option{background:var(--background)}input[type=checkbox],input[type=radio]{vertical-align:middle;padding:10px;box-shadow:inset 0 0 0 3px var(--background)}input[type=radio]{display:inline-block;width:10px !important;height:10px !important;border-radius:20px}input[type=checkbox]:checked,input[type=radio]:checked{background:var(--accent)}img{display:block;max-width:100%;height:auto;border:4px solid var(--accent);border-radius:var(--radius);padding:8px;overflow:hidden}figure img,figure video{margin-bottom:0}figure figcaption{background:var(--accent);color:var(--background);text-align:center;font-size:1em;font-weight:400;margin-top:-8px;border-radius:0 0 var(--radius)var(--radius)}ul,ol{margin-left:4ch;padding:0}ul ul,ul ol,ol ul,ol ol{margin-top:0}li::marker{color:var(--accent)}ul li,ol li{position:relative}code,kbd{font-family:jetbrains mono,Monaco,Consolas,Ubuntu Mono,monospace !important;font-feature-settings:normal;background:color-mix(in srgb,var(--foreground) 5%,transparent);color:color-mix(in srgb,var(--foreground) 5%,var(--accent));padding:0 6px;margin:0 2px;font-size:.95em}code{border:1px solid color-mix(in srgb,var(--foreground) 25%,transparent)}kbd{border-top:1px solid color-mix(in srgb,var(--accent) 25%,transparent);border-left:1px solid var(--accent);border-right:1px solid var(--accent);border-bottom:4px solid var(--accent);border-radius:4px}code code{background:0 0;padding:0;margin:0}pre{tab-size:4;background:color-mix(in srgb,var(--foreground) 5%,transparent) !important;color:color-mix(in srgb,var(--foreground) 5%,var(--accent));padding:20px 10px;font-size:.95em !important;overflow:auto;border-radius:var(--radius);border:1px solid color-mix(in srgb,var(--foreground) 25%,transparent)}pre code{background:0 0 !important;margin:0;padding:0;font-size:inherit;border:none}sup{line-height:0}abbr{position:relative;text-decoration-style:wavy;text-decoration-color:var(--accent);cursor:help}sub{bottom:-.25em}sup{top:-.25em}mark{background:color-mix(in srgb,var(--accent) 45%,transparent);color:var(--foreground)}blockquote{position:relative;border-top:1px solid var(--accent);border-bottom:1px solid var(--accent);margin:0;padding:25px}blockquote:before{content:">";display:block;position:absolute;left:0;color:var(--accent)}blockquote p:first-child{margin-top:0}blockquote p:last-child{margin-bottom:0}table{table-layout:auto;border-collapse:collapse}table,th,td{border:2px solid var(--foreground);padding:10px}th{border-style:solid;color:var(--foreground);text-align:left;text-transform:uppercase;letter-spacing:.04em}hr{width:100%;border:none;background:var(--accent);height:2px}h1,h2,h3,h4,h5,h6,b,strong,th,button{font-weight:600}.button-container{display:table;margin-left:auto;margin-right:auto}button,.button,a.button{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:8px 18px;text-decoration:none;text-align:center;font:inherit;font-weight:700;appearance:none;cursor:pointer;outline:none}button.outline,.button.outline,a.button.outline{background:0 0;box-shadow:none;padding:8px 18px}button.outline :hover,.button.outline :hover,a.button.outline :hover{transform:none;box-shadow:none}button.link,.button.link,a.button.link{background:0 0;font-size:var(--font-size)}button.small,.button.small,a.button.small{font-size:calc(var(--font-size) * .8)}button.wide,.button.wide,a.button.wide{min-width:200px;padding:14px 24px}a.button.inline{background:0 0;color:var(--accent);padding:initial;margin:initial;border:initial;font-weight:initial;text-decoration:none}a.button.inline:active,a.button.inline:hover{background:0 0}a.read-more,a.read-more:hover,a.read-more:active{display:inline-flex;border:none;background:0 0;box-shadow:none;padding:0;max-width:100%;text-decoration:none}:root{--code-border:color-mix(in srgb, var(--foreground) 10%, transparent)}pre:not(.chroma){padding:10px}pre.chroma{margin:0;padding:10px 0;color:var(--foreground)}pre code{color:var(--foreground);border:none}code{color:var(--accent);text-size-adjust:100%;-ms-text-size-adjust:100%;-moz-text-size-adjust:100%;-webkit-text-size-adjust:100%}.highlight{position:relative;margin:20px 0;border:1px solid var(--code-border)}.highlight pre{border:none}.code-title{display:flex;align-items:center;justify-content:space-between;background:color-mix(in srgb,var(--foreground) 5%,transparent);border-bottom:1px solid var(--code-border);color:var(--comment);text-transform:uppercase;font-size:calc(var(--font-size) * .8);padding:6px 10px;line-height:1}.copy-button{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:3px 8px;text-decoration:none;text-align:center;font-size:13px;font-weight:500;border:1px solid color-mix(in srgb,var(--accent) 15%,transparent);appearance:none;cursor:pointer;outline:none}.code-title .copy-button{z-index:1;background:color-mix(in srgb,var(--foreground) 5%,var(--background))}.code-title:hover .copy-button{display:inline-block}.code-title .copy-button:hover{background:color-mix(in srgb,var(--accent) 10%,var(--background))}.collapsable-code{position:relative;width:100%;margin:20px 0;border:1px solid var(--accent);.highlight { margin: 0; }}.collapsable-code__title{display:inline-flex;align-items:center;flex:1;color:var(--accent);padding:3px 10px;font-size:calc(var(--font-size) * .9);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.collapsable-code__language{color:var(--accent);border:1px solid var(--accent);border-bottom:none;text-transform:uppercase;padding:3px 10px}.collapsable-code summary{color:var(--accent);padding:0 10px;cursor:pointer}.collapsable-code summary:hover{background:color-mix(in srgb,var(--accent) 10%,transparent)}.collapsable-code pre{margin-top:0}.collapsable-code pre::first-line{line-height:0}@font-face{font-family:fira code;font-style:normal;font-weight:300 700;font-display:swap;src:url(../fonts/FiraCode-LatinExt.woff2)format('woff2');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:fira code;font-style:normal;font-weight:300 700;font-display:swap;src:url(../fonts/FiraCode-Latin.woff2)format('woff2');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}body .gist .blob-num,body .gist .blob-code-inner{border:none}:root{--background:#1a170f;--foreground:#eceae5;--accent:#eec35e;--font-size:1rem;--line-height:1.54em;--radius:0}html{box-sizing:border-box}*,*::before,*::after{box-sizing:inherit;word-break:break-word}body{margin:0;padding:0;font-family:fira code,Monaco,Consolas,ubuntu mono,monospace;font-size:var(--font-size);line-height:var(--line-height);background-color:var(--background);color:var(--foreground);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-webkit-overflow-scrolling:touch;text-size-adjust:100%}h1{font-size:calc(var(--font-size) * 1.45);letter-spacing:0}h2{font-size:calc(var(--font-size) * 1.35);letter-spacing:0}h3{font-size:calc(var(--font-size) * 1.15);letter-spacing:0}h4,h5,h6{font-size:calc(var(--font-size) * 1);letter-spacing:0}h1,h2,h3,h4,h5,h6,p,ul,ol,img,figure,video,table{margin:25px 0}a{color:var(--accent)}button{position:relative;font:inherit;font-weight:700;text-decoration:none;text-align:center;background:0 0;color:var(--accent);padding:5px 18px;border:4px solid var(--accent);border-radius:var(--radius);transition:background .15s linear;appearance:none;cursor:pointer;outline:none}button:hover{background:color-mix(in srgb,var(--accent) 15%,transparent)}button:focus-visible,a:focus-visible{outline:1px solid var(--accent);outline-offset:2px}fieldset{display:inline-block;border:2px solid var(--foreground);border-radius:calc(var(--radius) * 1.6);padding:10px}fieldset *:first-child{margin-top:0}fieldset input,fieldset select,fieldset textarea,fieldset label,fieldset button{margin-top:calc(var(--line-height) * .5);width:100%}label{display:inline-block}label input{margin-top:0}input,textarea,select{background:0 0;color:var(--foreground);border:1px solid var(--foreground);border-radius:var(--radius);padding:10px;font:inherit;appearance:none}input[type=checkbox]{width:auto}input:focus-visible,input:active,textarea:focus-visible,textarea:active,select:focus-visible,select:active{border-color:var(--accent);outline:1px solid var(--accent);outline-offset:2px}input:active,textarea:active,select:active{box-shadow:none}select{background-image:linear-gradient( 45deg,transparent 50%,var(--foreground) 50% ),linear-gradient(135deg,var(--foreground) 50%,transparent 50%);background-position:calc(100% - 20px),calc(100% - 1em);background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:40px}select option{background:var(--background)}input[type=checkbox]{vertical-align:middle;padding:10px;box-shadow:inset 0 0 0 3px var(--background)}input[type=checkbox]:checked{background:var(--accent)}img{display:block;max-width:100%;border:8px solid var(--accent);border-radius:var(--radius);padding:8px;overflow:hidden}img.left{margin-right:auto}img.center{margin-left:auto;margin-right:auto}img.right{margin-left:auto}figure{width:fit-content}figure.left{margin-right:auto}figure.center{margin-left:auto;margin-right:auto}figure.right{margin-left:auto}figure img,figure video{margin-bottom:0}figure figcaption{background:var(--accent);color:var(--background);text-align:center;font-size:var(--font-size);font-weight:400;margin-top:-8px;padding:0 8px;border-radius:0 0 var(--radius)var(--radius)}figure figcaption p:first-child{margin-top:0}ul,ol{margin-left:4ch;padding:0}ul ul,ul ol,ol ul,ol ol{margin-top:0}li::marker{color:var(--accent)}ul li,ol li{position:relative}code,kbd{font-family:fira code,Monaco,Consolas,ubuntu mono,monospace !important;font-feature-settings:normal;background:color-mix(in srgb,var(--foreground) 5%,transparent);border:1px solid var(--code-border);padding:1px 6px;margin:0 2px;font-size:calc(var(--font-size) * .95)}kbd{border-top:1px solid color-mix(in srgb,var(--accent) 25%,transparent);border-left:1px solid var(--accent);border-right:1px solid var(--accent);border-bottom:4px solid var(--accent);border-radius:4px}code code{background:0 0;padding:0;margin:0}pre{tab-size:4;background:color-mix(in srgb,var(--foreground) 5%,transparent) !important;color:var(--foreground);padding:20px 10px;font-size:calc(var(--font-size) * .95) !important;overflow:auto;border-radius:var(--radius);border:1px solid color-mix(in srgb,var(--foreground) 10%,transparent)}pre code{background:0 0 !important;margin:0;padding:0;border:none}sup{line-height:0}abbr{position:relative;text-decoration-style:wavy;text-decoration-color:var(--accent);cursor:help}sub{bottom:-.25em}sup{top:-.25em}mark{background:color-mix(in srgb,var(--accent) 45%,transparent);color:var(--foreground)}blockquote{position:relative;border-top:1px solid var(--accent);border-bottom:1px solid var(--accent);margin:0;padding:25px}blockquote::before{content:">";display:block;position:absolute;left:0;color:var(--accent)}blockquote p:first-child{margin-top:0}blockquote p:last-child{margin-bottom:0}table{table-layout:auto;border-collapse:collapse}table,th,td{border:2px solid var(--foreground);padding:10px}th{border-style:solid;color:var(--foreground);text-align:left;text-transform:uppercase;letter-spacing:.04em}hr{width:100%;border:none;background:var(--accent);height:2px}.headings--one-size h1,.headings--one-size h2,.headings--one-size h3,.headings--one-size h4,.headings--one-size h5,.headings--one-size h6{font-size:1.4rem;line-height:1.3;margin:20px 0}.headings--one-size~h1:first-child,.headings--one-size~h2:first-child,.headings--one-size~h3:first-child,.headings--one-size~h4:first-child,.headings--one-size~h5:first-child,.headings--one-size~h6:first-child{margin-top:20px}blockquote.twitter-tweet{position:relative;background:var(--background);font:inherit;color:inherit;border:1px solid var(--accent);padding-top:60px}blockquote.twitter-tweet a{color:var(--accent);text-decoration:underline}blockquote.twitter-tweet::before{content:"> From X:";position:absolute;top:20px;left:20px;color:var(--accent);font-weight:700}.container{display:flex;flex-direction:column;padding:40px;max-width:864px;min-height:100vh;border-right:1px solid color-mix(in srgb,var(--accent) 10%,transparent)}.container.full,.container.center{border:none;margin:0 auto}.container.full{max-width:100%}.content{display:flex;flex-direction:column}.hidden{display:none}.__h_video{position:relative;overflow:visible !important;height:auto !important;padding-bottom:0 !important}.__h_video a{position:relative;display:block;width:100%}.__h_video a img{width:100%}.__h_video a .play{position:absolute;top:0;left:0;right:0;bottom:0;margin:auto;width:60px;height:60px}iframe[src*="youtube.com"]{border:8px solid var(--accent) !important;padding:8px !important}@media(max-width:684px){:root{--font-size:0.95rem}.container{padding:20px}}@media print{.container{display:initial}.content{display:initial}}.pagination{margin-top:50px}.pagination__title{display:flex;text-align:center;position:relative;margin:100px 0 20px}.pagination__title-h{text-align:center;margin:0 auto;padding:5px 10px;background:var(--background);color:color-mix(in srgb var(--foreground) 30%,transparent);font-size:calc(var(--font-size) * .8);text-transform:uppercase;text-decoration:none;letter-spacing:.1em;z-index:1}.pagination__title hr{position:absolute;left:0;right:0;width:100%;margin-top:15px;z-index:0}.pagination__buttons{display:flex;align-items:center;justify-content:center;flex-flow:row wrap;gap:10px}.pagination__buttons a{display:inline-flex;max-width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;text-decoration:none}.button{position:relative;display:inline-flex;align-items:center;justify-content:center;font-size:inherit;padding:0;appearance:none}.button a{display:flex;justify-content:center;flex:1;padding:8px 16px}.button__text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.next .button__icon{margin-left:8px}.prev .button__icon{margin-right:8px}@media print{.pagination{display:none}}.index-content{margin:25px 0}.framed{border:1px solid var(--accent);padding:20px}.framed *:first-child{margin-top:0}.framed *:last-child{margin-bottom:0}.posts{width:100%}.post{width:100%;text-align:left;padding:30px 0}.post:not(:last-of-type){border-bottom:1px solid color-mix(in srgb,var(--foreground) 10%,transparent)}.post-meta{font-size:inherit;margin-bottom:10px;color:color-mix(in srgb,var(--foreground) 65%,transparent)}.post-meta>*:not(:first-child)::before{content:"::";display:inline-block;margin:0 8px}.post-title{position:relative;color:var(--accent);margin-top:0 !important;margin-bottom:15px !important;padding-bottom:15px;border-bottom:3px dotted var(--accent);text-decoration:none !important}.post-title::after{content:"";position:absolute;bottom:2px;display:block;width:100%;border-bottom:3px dotted var(--accent)}.post-title a{text-decoration:none}.post-tags{display:block;margin-bottom:20px;font-size:inherit;color:var(--accent)}.table-of-contents{margin:40px 0}.post-content{margin-top:25px}.post-cover{margin:25px 0}.post ul{list-style:none}.post ul li:not(:empty)::before{content:"-";position:absolute;left:-20px;color:var(--accent)}.post--regulation h1{justify-content:center}.post--regulation h2{justify-content:center;margin-bottom:10px}.post--regulation h2+h2{margin-top:-10px;margin-bottom:20px}.hanchor{position:absolute;color:var(--accent);text-decoration:none;margin-left:10px;visibility:hidden}h1:hover .hanchor,h2:hover .hanchor,h3:hover .hanchor,h4:hover .hanchor,h5:hover .hanchor,h6:hover .hanchor{visibility:visible}.footnotes{color:color-mix(in srgb,var(--foreground) 50%,transparent)}.footnotes hr{background:color-mix(in srgb,var(--foreground) 50%,transparent)}@media(max-width:684px){.post-cover{padding:10px;border-width:10px}}.terms h3{font-size:initial}.terms ul{list-style:none}.terms ul li a{color:var(--accent)}.terms ul li:not(:empty)::before{content:"-";position:absolute;left:-20px;color:var(--accent)}html,body{height:100%;margin:0}.container{min-height:100%;display:flex;flex-direction:column}.content{flex:1 0 auto}footer.footer{margin-top:auto}@font-face{font-family:jetbrains mono;src:url(/fonts/jetbrains-mono/JetBrainsMono-Regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:jetbrains mono;src:url(/fonts/jetbrains-mono/JetBrainsMono-Italic.woff2)format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:jetbrains mono;src:url(/fonts/jetbrains-mono/JetBrainsMono-Bold.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:jetbrains mono;src:url(/fonts/jetbrains-mono/JetBrainsMono-BoldItalic.woff2)format("woff2");font-weight:700;font-style:italic;font-display:swap}:root{--radius:0;--font-size:18px;--line-height:1.54em}:root{--background:#f5f5fa;--foreground:#000000;--accent:#fc5821}@media(prefers-color-scheme:dark){:root:not(.light):not(.dark){--background:#121212;--foreground:#eeeeee;--accent:#7eddfa}}html.dark{--background:#121212;--foreground:#eeeeee;--accent:#7eddfa}html{box-sizing:border-box}*,*:before,*:after{box-sizing:inherit;margin:0;padding:0}body{font-family:jetbrains mono,Monaco,Consolas,ubuntu mono,monospace;font-size:var(--font-size);font-weight:400;line-height:var(--line-height);background-color:var(--background);color:var(--foreground);text-rendering:optimizeLegibility;font-variant-ligatures:contextual;-webkit-overflow-scrolling:touch;-webkit-text-size-adjust:100%;margin:0;padding:0}h1{font-size:calc(var(--font-size) * 1.45);letter-spacing:0}h2{font-size:calc(var(--font-size) * 1.35);letter-spacing:0}h3{font-size:calc(var(--font-size) * 1.15);letter-spacing:0}h4,h5,h6{font-size:calc(var(--font-size) * 1);letter-spacing:0}h1,h2,h3,h4,h5,h6{margin:35px 0 0}ul,ol,p,img,figure,video,table{margin:10px 0}ul,ol{margin:0}a{color:var(--accent)}button{position:relative;font:inherit;font-weight:700;text-decoration:none;text-align:center;background:0 0;color:var(--accent);padding:5px 18px;border:4px solid var(--accent);border-radius:var(--radius);transition:background .15s linear;appearance:none;cursor:pointer;outline:none}button:hover{background:color-mix(in srgb,var(--accent) 15%,transparent)}button:focus-visible,a:focus-visible{outline:1px solid var(--accent);outline-offset:2px}fieldset{display:inline-block;border:2px solid var(--foreground);border-radius:calc(var(--radius) * 1.6);padding:10px}fieldset *:first-child{margin-top:0}fieldset input,fieldset select,fieldset textarea,fieldset label,fieldset button{margin-top:calc(var(--line-height) * .5);width:100%}label{display:inline-block}label input{margin-top:0}input,textarea,select{background:0 0;color:var(--foreground);border:1px solid var(--foreground);border-radius:var(--radius);padding:10px;font:inherit;appearance:none}input[type=checkbox]{width:auto}input:focus-visible,input:active,textarea:focus-visible,textarea:active,select:focus-visible,select:active{border-color:var(--accent);outline:1px solid var(--accent);outline-offset:2px}input:active,textarea:active,select:active{box-shadow:none}select{background-image:linear-gradient( 45deg,transparent 50%,var(--foreground) 50% ),linear-gradient(135deg,var(--foreground) 50%,transparent 50%);background-position:calc(100% - 20px),calc(100% - 15px);background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:40px}select option{background:var(--background)}input[type=checkbox],input[type=radio]{vertical-align:middle;padding:10px;box-shadow:inset 0 0 0 3px var(--background)}input[type=radio]{display:inline-block;width:10px !important;height:10px !important;border-radius:20px}input[type=checkbox]:checked,input[type=radio]:checked{background:var(--accent)}img{display:block;max-width:100%;height:auto;border:4px solid var(--accent);border-radius:var(--radius);padding:8px;overflow:hidden}figure img,figure video{margin-bottom:0}figure figcaption{background:var(--accent);color:var(--background);text-align:center;font-size:1em;font-weight:400;margin-top:-8px;border-radius:0 0 var(--radius)var(--radius)}ul,ol{margin-left:4ch;padding:0}ul ul,ul ol,ol ul,ol ol{margin-top:0}li::marker{color:var(--accent)}ul li,ol li{position:relative}code,kbd{font-family:jetbrains mono,Monaco,Consolas,Ubuntu Mono,monospace !important;font-feature-settings:normal;background:color-mix(in srgb,var(--foreground) 5%,transparent);color:color-mix(in srgb,var(--foreground) 5%,var(--accent));padding:0 6px;margin:0 2px;font-size:.95em}code{border:1px solid color-mix(in srgb,var(--foreground) 25%,transparent)}kbd{border-top:1px solid color-mix(in srgb,var(--accent) 25%,transparent);border-left:1px solid var(--accent);border-right:1px solid var(--accent);border-bottom:4px solid var(--accent);border-radius:4px}code code{background:0 0;padding:0;margin:0}pre{tab-size:4;background:color-mix(in srgb,var(--foreground) 5%,transparent) !important;color:color-mix(in srgb,var(--foreground) 5%,var(--accent));padding:20px 10px;font-size:.95em !important;overflow:auto;border-radius:var(--radius);border:1px solid color-mix(in srgb,var(--foreground) 25%,transparent)}pre code{background:0 0 !important;margin:0;padding:0;font-size:inherit;border:none}sup{line-height:0}abbr{position:relative;text-decoration-style:wavy;text-decoration-color:var(--accent);cursor:help}sub{bottom:-.25em}sup{top:-.25em}mark{background:color-mix(in srgb,var(--accent) 45%,transparent);color:var(--foreground)}blockquote{position:relative;border-top:1px solid var(--accent);border-bottom:1px solid var(--accent);margin:0;padding:25px}blockquote:before{content:">";display:block;position:absolute;left:0;color:var(--accent)}blockquote p:first-child{margin-top:0}blockquote p:last-child{margin-bottom:0}table{table-layout:auto;border-collapse:collapse}table,th,td{border:2px solid var(--foreground);padding:10px}th{border-style:solid;color:var(--foreground);text-align:left;text-transform:uppercase;letter-spacing:.04em}hr{width:100%;border:none;background:var(--accent);height:2px}h1,h2,h3,h4,h5,h6,b,strong,th,button{font-weight:600}