:root{--gray-000: #f8f9fa;--gray-100: #f1f3f5;--gray-200: #e9ecef;--gray-300: #dee2e6;--gray-400: #ced4da;--gray-500: #adb5bd;--gray-600: #868e96;--gray-700: #495057;--gray-800: #343a40;--gray-900: #212529;--red: #fa5252;--pink: #e64980;--grape: #be4bdb;--purple: #7950f2;--indigo: #4c6ef5;--blue: #228be6;--cyan: #15aabf;--teal: #12b886;--green: #40c057;--yellow: #fab005;--orange: #fd7e14;--black: #000000;--blue-300: #74c0fc;--blue-400: #4dabf7;--yellow-100: #fff3bf;--body-font: Geo-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--body-font-size: 20px;--body-line-height: 1.5;--body-color: var(--gray-700);--body-bg: #fff;--post-font: charter, Georgia, Cambria, "Times New Roman", Times, serif;--link-color: var(--blue);--link-hover-color: #1c7ed6;--heading-font: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" --heading-color: var(--gray-900);--border-color: var(--gray-300);--border-radius: 0.25rem;--code-font: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--code-color: #d01040;--code-color-black: #000000;--code-color-dark-blue: #000080;--code-color-dark-gray: #555555;--code-bg: var(--gray-000);--code-bg-diff-red: #ffdddd;--code-bg-diff-green: #ddffdd;--spacer: 1rem;--spacer-2: calc(var(--spacer) * 1.5);--spacer-3: calc(var(--spacer) * 3);--spacer-4: calc(var(--spacer) * 6)}@media(prefers-color-scheme: dark){:root{--body-color: var(--gray-300);--body-bg: var(--gray-800);--heading-color: #fff;--link-color: var(--blue-300);--link-hover-color: var(--blue-400);--border-color: rgba(255, 255, 255, 0.15);--code-bg: var(--gray-900);--code-color-black: #ffffff;--code-color-dark-blue: #74c0fc;--code-color-dark-gray: #ced4da;--code-bg-diff-red: #6e1b23;--code-bg-diff-green: #175333;--gray-000: var(--gray-900);--gray-700: var(--gray-500)}}*{box-sizing:border-box}body{margin:0;font-family:var(--body-font);font-size:var(--body-font-size);line-height:var(--body-line-height);color:var(--body-color);background-color:var(--body-bg);-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}a{color:var(--link-color)}a:hover,a:focus{color:var(--link-hover-color)}a strong{color:inherit}img{display:block;max-width:100%;margin-bottom:var(--spacer);border-radius:var(--border-radius)}img.emoji{display:inline;margin-bottom:auto}table{margin-bottom:1rem;width:100%;border:0 solid var(--border-color);border-collapse:collapse}td,th{padding:.25rem .5rem;border-color:inherit;border-style:solid;border-width:0;border-bottom-width:1px}th{text-align:left}thead th{border-bottom-color:currentColor}mark{padding:.15rem;background-color:var(--yellow-100);border-radius:.125rem}h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-weight:600;line-height:1.25;color:var(--heading-color);font-family:var(--heading-font)}h1{font-size:2rem;margin-bottom:1rem}h2{margin-top:1.5rem;margin-bottom:.75rem;font-size:1.5rem}h3{margin-top:1.5rem;font-size:1.25rem}h4,h5,h6{margin-top:1rem;font-size:1rem}p{margin-top:0;margin-bottom:1rem}strong{font-size:95%}ul,ol,dl{margin-top:0;margin-bottom:1rem}dt{font-weight:bold}dd{margin-bottom:.5rem}hr{position:relative;margin:var(--spacer-2) 0;border:0;border-top:1px solid var(--border-color)}abbr{font-size:85%;font-weight:bold;color:var(--gray-600);text-transform:uppercase}abbr[title]{cursor:help;border-bottom:1px dotted var(--border-color)}blockquote{padding:.5rem 1rem;margin:.8rem 0;color:var(--gray-600);border-left:.25rem solid var(--border-color)}blockquote p:last-child{margin-bottom:0}@media(min-width: 30em){blockquote{padding-right:5rem;padding-left:1.25rem}}figure{margin:0}a[href^="#fn:"],a[href^="#fnref:"]{display:inline-block;margin-left:.1rem;font-weight:bold}.footnotes{border-top:1px solid var(--border-color);margin-top:2rem;padding-top:1.5rem;font-size:85%}.footnotes li p{margin:0}.lead{font-size:1.25rem;font-weight:300}.highlight .hll{background-color:#ffc}.highlight .c{color:#998;font-style:italic}.highlight .err{color:#a61717;background-color:#e3d2d2}.highlight .k{color:var(--code-color-black);font-weight:bold}.highlight .o{color:var(--code-color-black);font-weight:bold}.highlight .cm{color:#998;font-style:italic}.highlight .cp{color:#999;font-weight:bold;font-style:italic}.highlight .c1{color:#998;font-style:italic}.highlight .cs{color:#999;font-weight:bold;font-style:italic}.highlight .gd{color:var(--code-color-black);background-color:var(--code-bg-diff-red)}.highlight .ge{color:var(--code-color-black);font-style:italic}.highlight .gr{color:#a00}.highlight .gh{color:#999}.highlight .gi{color:var(--code-color-black);background-color:var(--code-bg-diff-green)}.highlight .go{color:#888}.highlight .gp{color:var(--code-color-dark-gray)}.highlight .gs{font-weight:bold}.highlight .gu{color:#aaa}.highlight .gt{color:#a00}.highlight .kc{color:var(--code-color-black);font-weight:bold}.highlight .kd{color:var(--code-color-black);font-weight:bold}.highlight .kn{color:var(--code-color-black);font-weight:bold}.highlight .kp{color:var(--code-color-black);font-weight:bold}.highlight .kr{color:var(--code-color-black);font-weight:bold}.highlight .kt{color:#458;font-weight:bold}.highlight .m{color:#099}.highlight .s{color:#d01040}.highlight .na{color:teal}.highlight .nb{color:#0086b3}.highlight .nc{color:#458;font-weight:bold}.highlight .no{color:teal}.highlight .nd{color:#3c5d5d;font-weight:bold}.highlight .ni{color:purple}.highlight .ne{color:#900;font-weight:bold}.highlight .nf{color:#900;font-weight:bold}.highlight .nl{color:#900;font-weight:bold}.highlight .nn{color:var(--code-color-dark-gray)}.highlight .nt{color:var(--code-color-dark-blue)}.highlight .nv{color:teal}.highlight .ow{color:var(--code-color-black);font-weight:bold}.highlight .w{color:#bbb}.highlight .mf{color:#099}.highlight .mh{color:#099}.highlight .mi{color:#099}.highlight .mo{color:#099}.highlight .sb{color:#d01040}.highlight .sc{color:#d01040}.highlight .sd{color:#d01040}.highlight .s2{color:#d01040}.highlight .se{color:#d01040}.highlight .sh{color:#d01040}.highlight .si{color:#d01040}.highlight .sx{color:#d01040}.highlight .sr{color:#009926}.highlight .s1{color:#d01040}.highlight .ss{color:#990073}.highlight .bp{color:#999}.highlight .vc{color:teal}.highlight .vg{color:teal}.highlight .vi{color:teal}.highlight .il{color:#099}.css .o,.css .o+.nt,.css .nt+.nt{color:#999}code,pre{font-display:swap;font-family:var(--code-font)}code{padding:.25em .5em;font-size:75%;color:var(--code-color);background-color:var(--gray-000);border-radius:3px}pre{display:block;margin-top:0;margin-bottom:var(--spacer);overflow:auto}pre code{padding:0;font-size:70%;color:inherit;background-color:rgba(0,0,0,0)}.highlighter-rouge{margin-top:var(--spacer-2);margin-bottom:var(--spacer-2)}.highlight{padding:var(--spacer);margin-bottom:var(--spacer);background-color:var(--code-bg);border-radius:var(--border-radius);border:1px solid #e1e1e8}.highlight pre{margin-bottom:0}.highlight .highlight{padding:0;padding-bottom:5px;border:0;line-height:1.1}.rouge-table{margin-bottom:0;font-size:100%}.rouge-table,.rouge-table td,.rouge-table th{border:0}.rouge-table .gutter{vertical-align:top;user-select:none;opacity:.25}.gist .markdown-body{padding:15px !important}.container{max-width:52rem;padding-left:var(--spacer-2);padding-right:var(--spacer-2);margin-left:auto;margin-right:auto}footer{font-family:var(--heading-font);margin-top:var(--spacer-3);margin-bottom:var(--spacer-3);text-align:center;font-weight:600}footer a{font-family:var(--post-font);font-weight:500;text-decoration:none}.masthead{padding-top:var(--spacer);padding-bottom:var(--spacer);margin-bottom:var(--spacer-4)}.masthead-title{float:left;font-size:1.1em;margin-bottom:0}.masthead-title a{color:inherit;text-decoration:none}.masthead-title small{font-weight:400;opacity:.8}.masthead-nav{float:right;margin-bottom:0}.masthead-nav a{font-weight:500;text-decoration:none}@media(min-width: 320px)and (max-width: 480px){.masthead-nav{display:none}}.posts>ul{margin-top:25px}.page,.post{margin-bottom:4em}.page p,.post p{font-family:var(--post-font)}.page p a,.post p a{font-weight:normal;text-decoration:none}.page li,.post li{font-family:var(--post-font)}.page li a,.post li a{text-decoration:none}.page li+li,.post li+li{margin-top:.25rem}.page .kudos,.post .kudos{opacity:80%}.page-title,.post-title{color:var(--heading-color)}.page-title,.post-title{margin-top:0}.post-title a{color:inherit;text-decoration:none}.post-date{display:block;margin-top:-0.5rem;margin-bottom:var(--spacer);color:var(--gray-700);font-size:85%}.related{padding-top:var(--spacer-2);padding-bottom:var(--spacer-2);margin-bottom:var(--spacer-2);border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color)}.related-posts{padding-left:0;list-style:none}.related-posts h3{margin-top:0}.related-posts a{text-decoration:none}.related-posts a small{color:var(--gray-600)}.pagination{display:flex;margin:0 -1.5rem var(--spacer);color:var(--gray-500);text-align:center}.pagination-item{display:block;padding:var(--spacer);text-decoration:none;border:solid var(--border-color);border-width:1px 0}.pagination-item:first-child{margin-bottom:-1px}a.pagination-item:hover{background-color:var(--border-color)}@media(min-width: 30em){.pagination{margin:var(--spacer-3) 0}.pagination-item{float:left;width:50%;border-width:1px}.pagination-item:first-child{margin-bottom:0;border-top-left-radius:var(--border-radius);border-bottom-left-radius:var(--border-radius)}.pagination-item:last-child{margin-left:-1px;border-top-right-radius:var(--border-radius);border-bottom-right-radius:var(--border-radius)}}.message{padding:var(--spacer);margin-bottom:var(--spacer);color:var(--gray-900);background-color:var(--yellow-100);border-radius:var(--border-radius)}#markdown-toc{padding:var(--spacer-2) var(--spacer-3);margin-bottom:var(--spacer-2);border:solid var(--border-color);border-width:1px 0}#markdown-toc::before{display:block;margin-left:calc(var(--spacer-3)*-1);content:"Contents";font-size:85%;font-weight:500}.colors{display:grid;grid-template-columns:max-content 1fr}.colors dt{width:3rem;height:3rem;border-radius:var(--border-radius);box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.15)}.colors dd{margin-left:var(--spacer)}/*# sourceMappingURL=styles.css.map */