@import url("https://fonts.googleapis.com/css2?family=Roboto+Mono&display=swap");/*!
 *  Hack typeface https://github.com/source-foundry/Hack (best font in da universe)
 *  License: https://github.com/source-foundry/Hack/blob/master/LICENSE.md
 */@font-face{font-family:'Hack';src:url("fonts/hack-regular.woff2?sha=3114f1256") format("woff2"),url("fonts/hack-regular.woff?sha=3114f1256") format("woff");font-weight:400;font-style:normal}@font-face{font-family:'Hack';src:url("fonts/hack-bold.woff2?sha=3114f1256") format("woff2"),url("fonts/hack-bold.woff?sha=3114f1256") format("woff");font-weight:700;font-style:normal}@font-face{font-family:'Hack';src:url("fonts/hack-italic.woff2?sha=3114f1256") format("woff2"),url("fonts/hack-italic.woff?sha=3114f1256") format("woff");font-weight:400;font-style:italic}@font-face{font-family:'Hack';src:url("fonts/hack-bolditalic.woff2?sha=3114f1256") format("woff2"),url("fonts/hack-bolditalic.woff?sha=3114f1256") format("woff");font-weight:700;font-style:italic}co{color:#fc891e}.toc{display:flex;position:fixed;font-size:0.8rem;top:120px;right:21px;bottom:0;width:18%;flex:1 1 300px;min-width:240px;overflow-y:auto;border-top:1px var(--text) solid}.toc ul ul{border-left:1px var(--text) solid}.toc li{list-style-type:none}html{height:100%;scroll-behavior:smooth}body{font-family:"Hack", "avenir next","helvetica neue", helvetica, sans-serif;font-size:1.0rem;line-height:2;margin:0;min-height:100%}.active{color:#ff8888;font-weight:bold}pre,code{font-family:"Lucida Console", monospace, Monaco;color:var(--code-block-text);background-color:var(--code-background-color);line-height:1.0;font-size:1rem}.two-column li{page-break-inside:avoid}code{font-family:"Hack";max-height:500px;overflow:auto;word-break:normal !important;white-space:pre-wrap;word-wrap:break-word;padding:5px 10px;box-sizing:border-box}h2,h3,h4,h5{margin-top:1.5em}hr{margin:1em 0}hr.page-break{text-align:center;border:0}hr.page-break:before{content:"-----"}hr.page-break:after{content:attr(data-content) "-----"}p{margin:1em 0}li{margin:0.4em 0}.reponsive-image{width:100%;max-width:700px}.w{max-width:800px;margin:0 auto;padding:4em 2em}th,td{border:thin solid black;border-collapse:collapse;color:#000}div.highlighter-rouge pre code,pre code.highlighter-rouge{display:block;overflow-x:auto;padding:1em}table{margin-left:auto;margin-right:auto;table-layout:fixed;width:110%;border-spacing:10px}blockquote{font-style:italic;border:thin solid black;padding:1em}blockquote p{margin:0}img{max-width:100%;display:block;margin:0 auto;border:5px double var(--code-block-text)}html{--italics: rgb(0, 0, 0);--bg: rgb(246 243 239 );--bg-secondary: #f3f4f6;--headings: #1e293b;--text: #2c3441;--text-secondary: #6b7280;--links: #6366f1;--highlight: #FFECB2;--inline-code-text: rgba(144 39 77);--code-block-text: rgba(57, 65, 80);--code-background-color: rgb(37 41 46);--inline-code-background: rgb(241 236 228);--share-text: #999;--mark-color: #374141;--blockquote-background-color: #f3f4f6;--diagram-background-color: rgb(241, 241, 241);--diagram-text-color: #2c3441;--toc-color: rgba(29 26 23)}html table{color:#f2f0ec}html table td,html table th{border:1px solid rgba(0,0,0,0.716);padding:8px}html table tr:nth-child(even){background-color:#fafafa}html table tr:nth-child(odd){background-color:#f8f4f4}html table th{padding-top:12px;padding-bottom:12px;text-align:left;background-color:#000000;color:white}html[data-theme="dark"] html,html[data-theme="dark"] body{--headings: rgba(226 208 182 );--italics: rgba(99 165 202);--links: rgba(229 196 66);--highlight: rgba(77 63 35);--bg: rgba(43, 38, 34);--bg-secondary: #323945;--text: rgba(221 203 178);--text-secondary: #9CA3AF;--inline-code-text: rgba(204 103 92);--code-block-text: rgb(182, 189, 200);--code-background-color: rgb(26 22 19);--inline-code-background: rgba(29 26 23);--share-text: #C4C4C4;--bold: rgba(227, 91, 75);--mark-color: rgb(221, 203, 178);--blockquote-background-color: rgba(37 33 29);--diagram-background-color: rgba(37 33 29);--diagram-text-color: rgb(182, 189, 200);--toc-color: #efefef}html[data-theme="dark"] table{color:#f2f0ec}html[data-theme="dark"] table td,html[data-theme="dark"] table th{padding:8px;color:#c8d0dc}html[data-theme="dark"] table tr:nth-child(even){background-color:#2d2d2d}html[data-theme="dark"] table tr:nth-child(odd){background-color:#242424}html[data-theme="dark"] table th{padding-top:12px;padding-bottom:12px;text-align:left;background-color:#181512;color:221 203 178}@media (prefers-color-scheme: dark){body[data-theme="auto"] html,body[data-theme="auto"] body{--headings: rgba(226 208 182 );--italics: rgba(99 165 202);--links: rgba(229 196 66);--highlight: rgba(77 63 35);--bg: rgba(43, 38, 34);--bg-secondary: #323945;--text: rgba(221 203 178);--text-secondary: #9CA3AF;--inline-code-text: rgba(204 103 92);--code-block-text: rgb(182, 189, 200);--code-background-color: rgb(26 22 19);--inline-code-background: rgba(29 26 23);--share-text: #C4C4C4;--bold: rgba(227, 91, 75);--mark-color: rgb(221, 203, 178);--blockquote-background-color: rgba(37 33 29);--diagram-background-color: rgba(37 33 29);--diagram-text-color: rgb(182, 189, 200);--toc-color: #efefef}body[data-theme="auto"] table{color:#f2f0ec}body[data-theme="auto"] table td,body[data-theme="auto"] table th{padding:8px;color:#c8d0dc}body[data-theme="auto"] table tr:nth-child(even){background-color:#2d2d2d}body[data-theme="auto"] table tr:nth-child(odd){background-color:#242424}body[data-theme="auto"] table th{padding-top:12px;padding-bottom:12px;text-align:left;background-color:#181512;color:221 203 178}}html,body{background-color:var(--bg);color:var(--text)}h1,h2,h3,h4,h5,h6{color:var(--headings)}p,b,em,small,li,hr,figcaption{color:var(--text)}.highlight,pre code,blockquote{border-radius:0.5em}blockquote{background-color:var(--blockquote-background-color);border:1px #000 solid;margin:0 auto;padding:1em 1 1em 0}a{color:var(--links)}i{color:var(--italics)}b,strong{color:var(--bold)}html.transition,html.transition *,html.transition *:before,html.transition *:after{transition:all 250ms !important;transition-delay:0 !important}.theme-toggle{color:var(--text);background-color:transparent;padding:4px;cursor:pointer;margin:1em;position:fixed;right:0;top:0;border:2px transparent solid;outline:none}.theme-toggle:hover{color:var(--links);outline:none}.theme-toggle:focus{outline:none}.dashed{border-top:1px var(--text) dashed;margin:0.5em 0}.solid{border-top:1px var(--text) solid;margin:0.5em 0}.true-center{margin:0 auto;padding:1em 0 1em 0;text-align:center}.transparent{background-color:transparent;font-family:"Hack"}mark{padding:0.4em;background-color:var(--highlight);color:var(--mark-color)}.post-date{color:var(--text-secondary);margin-top:1rem;font-size:0.7em;font-family:"Roboto Mono", "Courier New", monospace}.home-date{font-family:"Roboto Mono", "Courier New", monospace}.post-list-item a{text-decoration:none}.text-bold{font-weight:bold}.text-upcase{text-transform:uppercase;letter-spacing:1px}p code,li code{padding:0.2rem;background-color:var(--inline-code-background);color:var(--inline-code-text);font-weight:bold}.post-title{margin-bottom:-1.5rem}.project-title{margin-bottom:0.8rem}.credits{font-size:0.8em;color:var(--text);margin:8em auto -4em auto;text-align:center}.credits a{color:var(--text);text-decoration:none;font-weight:bold}.credits a:hover{color:var(--links)}.tag{font-family:"Roboto Mono", "Courier New", monospace;color:var(--text-secondary);padding:0.4em 1em;margin-right:0.5em;border-radius:1em;background-color:var(--bg-secondary);border:1px #000 solid;font-size:0.7em;font-weight:bold;text-transform:lowercase}ul.horizontal-list{display:flex;margin-top:0em;margin-left:-40px;flex-wrap:wrap}ul.horizontal-list li{display:inline;margin-right:1em}ul.horizontal-list li a{text-decoration:none;font-weight:normal}.card{padding:1em;border:1px var(--text) solid;width:11em;height:auto;text-align:center;font-size:1em;align-items:center;background-color:var(--bg-secondary);margin-bottom:0.8em;border-radius:0.5em}.card .header{color:var(--links)}.card .body{font-size:0.8em}.card hr{margin:0.5em 0}@media screen and (max-width: 600px){ul.horizontal-list li.card{width:100%;display:block;margin-bottom:1em;margin-left:1em}ul.horizontal-list li.card a,ul.horizontal-list li.card .header{font-size:1em}}.highlight .hll{background-color:#515151}.highlight{background:#1A1F35;color:#f2f0ec}.highlight .c{color:#747369}.highlight .err{color:#f2777a}.highlight .k{color:#c9c}.highlight .l{color:#f99157}.highlight .n{color:#f2f0ec}.highlight .o{color:#6cc}.highlight .p{color:#f2f0ec}.highlight .ch{color:#747369}.highlight .cm{color:#747369}.highlight .cp{color:#747369}.highlight .cpf{color:#747369}.highlight .c1{color:#747369}.highlight .cs{color:#747369}.highlight .gd{color:#f2777a}.highlight .ge{font-style:italic}.highlight .gh{color:#f2f0ec;font-weight:bold}.highlight .gi{color:#9c9}.highlight .gp{color:#747369;font-weight:bold}.highlight .gs{font-weight:bold}.highlight .gu{color:#66cccc;font-weight:bold}.highlight .kc{color:#c9c}.highlight .kd{color:#c9c}.highlight .kn{color:#6cc}.highlight .kp{color:#c9c}.highlight .kr{color:#c9c}.highlight .kt{color:#fc6}.highlight .ld{color:#9c9}.highlight .m{color:#f99157}.highlight .s{color:#9c9}.highlight .na{color:#69c}.highlight .nb{color:#f2f0ec}.highlight .nc{color:#fc6}.highlight .no{color:#f2777a}.highlight .nd{color:#6cc}.highlight .ni{color:#f2f0ec}.highlight .ne{color:#f2777a}.highlight .nf{color:#69c}.highlight .nl{color:#f2f0ec}.highlight .nn{color:#fc6}.highlight .nx{color:#69c}.highlight .py{color:#f2f0ec}.highlight .nt{color:#6cc}.highlight .nv{color:#f2777a}.highlight .ow{color:#6cc}.highlight .w{color:#f2f0ec}.highlight .mb{color:#f99157}.highlight .mf{color:#f99157}.highlight .mh{color:#f99157}.highlight .mi{color:#f99157}.highlight .mo{color:#f99157}.highlight .sa{color:#9c9}.highlight .sb{color:#9c9}.highlight .sc{color:#f2f0ec}.highlight .dl{color:#9c9}.highlight .sd{color:#747369}.highlight .s2{color:#9c9}.highlight .se{color:#f99157}.highlight .sh{color:#9c9}.highlight .si{color:#f99157}.highlight .sx{color:#9c9}.highlight .sr{color:#9c9}.highlight .s1{color:#9c9}.highlight .ss{color:#9c9}.highlight .bp{color:#f2f0ec}.highlight .fm{color:#69c}.highlight .vc{color:#f2777a}.highlight .vg{color:#f2777a}.highlight .vi{color:#f2777a}.highlight .vm{color:#f2777a}.highlight .il{color:#f99157}
