:root{--global-font-size:15px;--global-line-height:1.4em;--global-space:10px;--font-stack:Menlo, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, Bitstream Vera Sans Mono, Courier New, monospace, serif;--mono-font-stack:Menlo, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, Bitstream Vera Sans Mono, Courier New, monospace, serif;--background-color:#fff;--page-width:60em;--font-color:#151515;--invert-font-color:#fff;--primary-color:#1a95e0;--secondary-color:#727578;--error-color:#d20962;--progress-bar-background:#727578;--progress-bar-fill:#151515;--code-bg-color:#e8eff2;--input-style:solid;--display-h1-decoration:none}*{box-sizing:border-box;text-rendering:geometricPrecision}*::-moz-selection{background:var(--primary-color);color:var(--invert-font-color)}*::selection{background:var(--primary-color);color:var(--invert-font-color)}body{font-size:var(--global-font-size);color:var(--font-color);line-height:var(--global-line-height);margin:0;font-family:var(--font-stack);word-wrap:break-word;background-color:var(--background-color)}h1,h2,h3,h4,h5,h6,.logo{line-height:var(--global-line-height)}a{cursor:pointer;color:var(--primary-color);text-decoration:none}a:hover{background-color:var(--primary-color);color:var(--invert-font-color)}em{font-size:var(--global-font-size);font-style:italic;font-family:var(--font-stack);color:var(--font-color)}blockquote,code,em,strong{line-height:var(--global-line-height)}blockquote,code,footer,h1,h2,h3,h4,h5,h6,header,li,ol,p,section,ul,.logo{float:none;margin:0;padding:0}blockquote,h1,ol,p,ul,.logo{margin-top:calc(var(--global-space) * 2);margin-bottom:calc(var(--global-space) * 2)}h1,.logo{position:relative;display:inline-block;display:table-cell;padding:calc(var(--global-space) * 2)0;margin:0;overflow:hidden;font-weight:600}h1::after{content:"====================================================================================================";position:absolute;bottom:5px;left:0;display:var(--display-h1-decoration)}h1+*,.logo+*{margin-top:0}h2,h3,h4,h5,h6{position:relative;margin-bottom:var(--global-line-height);font-weight:600}blockquote{position:relative;padding-left:calc(var(--global-space) * 2);padding-left:2ch;overflow:hidden}blockquote::after{content:">\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>";white-space:pre;position:absolute;top:0;left:0;line-height:var(--global-line-height);color:#9ca2ab}code{font-weight:inherit;background-color:var(--code-bg-color);font-family:var(--mono-font-stack)}code::after,code::before{content:"`";display:inline}pre code::after,pre code::before{content:""}.terminal blockquote,.terminal code,.terminal h1,.terminal h2,.terminal h3,.terminal h4,.terminal h5,.terminal h6,.terminal strong,.terminal .logo{font-size:var(--global-font-size);font-style:normal;font-family:var(--font-stack);color:var(--font-color)}.terminal-prompt{position:relative;white-space:nowrap}.terminal-prompt::before{content:"> "}.terminal-prompt::after{content:"";-webkit-animation:cursor 800ms infinite;animation:cursor 800ms infinite;background:var(--primary-color);border-radius:0;display:inline-block;height:1em;margin-left:.2em;width:3px;bottom:-2px;position:relative}@-webkit-keyframes cursor{0%{opacity:0}50%{opacity:1}to{opacity:0}}@keyframes cursor{0%{opacity:0}50%{opacity:1}to{opacity:0}}li,li>ul>li{position:relative;display:block;padding-left:calc(var(--global-space) * 2)}nav>ul>li{padding-left:0}li::after{position:absolute;top:0;left:0}ul>li::after{content:"-"}nav ul>li::after{content:""}ol li::before{content:counters(item,".")". ";counter-increment:item}ol ol li::before{content:counters(item,".")" ";counter-increment:item}.terminal-menu li::after,.terminal-menu li::before{display:none}ol{counter-reset:item}ol li:nth-child(n+10)::after{left:-7px}ol ol{margin-top:0;margin-bottom:0}.terminal-menu{width:100%}.terminal-nav{display:flex;flex-direction:column;align-items:flex-start}ul ul{margin-top:0;margin-bottom:0}.terminal-menu ul{list-style-type:none;padding:0!important;display:flex;flex-direction:column;width:100%;flex-grow:1;font-size:var(--global-font-size);margin-top:0}.terminal-menu li{display:flex;margin:0 0 .5em;padding:0}ol.terminal-toc li{border-bottom:1px dotted var(--secondary-color);padding:0;margin-bottom:15px}.terminal-menu li:last-child{margin-bottom:0}ol.terminal-toc li a{margin:4px 4px 4px 0;background:var(--background-color);position:relative;top:6px;text-align:left;padding-right:4px}.terminal-menu li a:not(.btn){text-decoration:none;display:block;width:100%;border:none;color:var(--secondary-color)}.terminal-menu li a.active{color:var(--font-color)}.terminal-menu li a:hover{background:0 0;color:inherit}ol.terminal-toc li::before{content:counters(item,".")". ";counter-increment:item;position:absolute;right:0;background:var(--background-color);padding:4px 0 4px 4px;bottom:-8px}ol.terminal-toc li a:hover{background:var(--primary-color);color:var(--invert-font-color)}hr{position:relative;overflow:hidden;margin:calc(var(--global-space) * 4)0;border:0;border-bottom:1px dashed var(--secondary-color)}p{margin:0 0 var(--global-line-height);color:var(--global-font-color)}.container{max-width:var(--page-width)}.container,.container-fluid{margin:0 auto;padding:0 calc(var(--global-space) * 2)}img{width:100%}.progress-bar{height:8px;background-color:var(--progress-bar-background);margin:12px 0}.progress-bar.progress-bar-show-percent{margin-top:38px}.progress-bar-filled{background-color:var(--progress-bar-fill);height:100%;transition:width .3s ease;position:relative;width:0}.progress-bar-filled::before{content:"";border:6px solid transparent;border-top-color:var(--progress-bar-fill);position:absolute;top:-12px;right:-6px}.progress-bar-filled::after{color:var(--progress-bar-fill);content:attr(data-filled);display:block;font-size:12px;white-space:nowrap;position:absolute;border:6px solid transparent;top:-38px;right:0;transform:translateX(50%)}.progress-bar-no-arrow>.progress-bar-filled::before,.progress-bar-no-arrow>.progress-bar-filled::after{content:"";display:none;visibility:hidden;opacity:0}table{width:100%;border-collapse:collapse;margin:var(--global-line-height)0;color:var(--font-color);font-size:var(--global-font-size)}table td,table th{vertical-align:top;border:1px solid var(--font-color);line-height:var(--global-line-height);padding:calc(var(--global-space)/2);font-size:1em}table thead th{font-size:1em}table tfoot tr th{font-weight:500}table caption{font-size:1em;margin:0 0 1em}table tbody td:first-child{font-weight:700;color:var(--secondary-color)}.form{width:100%}fieldset{border:1px solid var(--font-color);padding:1em}label{font-size:1em;color:var(--font-color)}input[type=email],input[type=text],input[type=number],input[type=password],input[type=search]{border:1px var(--input-style)var(--font-color);width:100%;padding:.7em .5em;font-size:1em;font-family:var(--font-stack);-webkit-appearance:none;border-radius:0}input[type=email]:active,input[type=text]:active,input[type=number]:active,input[type=password]:active,input[type=search]:active,input[type=email]:focus,input[type=text]:focus,input[type=number]:focus,input[type=password]:focus,input[type=search]:focus{outline:none;-webkit-appearance:none;border:1px solid var(--font-color)}input[type=text]:not(:placeholder-shown):invalid,input[type=email]:not(:placeholder-shown):invalid,input[type=password]:not(:placeholder-shown):invalid,input[type=search]:not(:placeholder-shown):invalid,input[type=number]:not(:placeholder-shown):invalid{border-color:var(--error-color)}input,textarea{color:var(--font-color);background-color:var(--background-color)}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:var(--secondary-color)!important;opacity:1}input::-moz-placeholder,textarea::-moz-placeholder{color:var(--secondary-color)!important;opacity:1}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:var(--secondary-color)!important;opacity:1}input::-ms-input-placeholder,textarea::-ms-input-placeholder{color:var(--secondary-color)!important;opacity:1}input::placeholder,textarea::placeholder{color:var(--secondary-color)!important;opacity:1}textarea{height:auto;width:100%;resize:none;border:1px var(--input-style)var(--font-color);padding:.5em;font-size:1em;font-family:var(--font-stack);-webkit-appearance:none;border-radius:0}textarea:focus{outline:none;-webkit-appearance:none;border:1px solid var(--font-color)}textarea:not(:placeholder-shown):invalid{border-color:var(--error-color)}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus textarea:-webkit-autofill,textarea:-webkit-autofill:hover textarea:-webkit-autofill:focus,select:-webkit-autofill,select:-webkit-autofill:hover,select:-webkit-autofill:focus{border:1px solid var(--font-color);-webkit-text-fill-color:var(--font-color);box-shadow:0 0 0 1e3px var(--invert-font-color)inset;-webkit-box-shadow:0 0 0 1e3px var(--invert-font-color)inset;transition:background-color 5e3s ease-in-out 0s}.form-group{margin-bottom:var(--global-line-height);overflow:auto}.btn{border-style:solid;border-width:1px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;outline:none;padding:.65em 2em;font-size:1em;font-family:inherit;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;z-index:1}.btn:active{box-shadow:none}.btn.btn-ghost{border-color:var(--font-color);color:var(--font-color);background-color:initial}.btn.btn-ghost:focus,.btn.btn-ghost:hover{border-color:var(--tertiary-color);color:var(--tertiary-color);z-index:2}.btn.btn-ghost:hover{background-color:initial}.btn-block{width:100%;display:flex}.btn-default{background-color:var(--font-color);border-color:var(--invert-font-color);color:var(--invert-font-color)}.btn-default:hover,.btn-default:focus:not(.btn-ghost){background-color:var(--secondary-color);color:var(--invert-font-color)}.btn-default.btn-ghost:focus,.btn-default.btn-ghost:hover{border-color:var(--secondary-color);color:var(--secondary-color);z-index:2}.btn-error{color:var(--invert-font-color);background-color:var(--error-color);border:1px solid var(--error-color)}.btn-error:hover,.btn-error:focus:not(.btn-ghost){background-color:var(--error-color);border-color:var(--error-color)}.btn-error.btn-ghost{border-color:var(--error-color);color:var(--error-color)}.btn-error.btn-ghost:focus,.btn-error.btn-ghost:hover{border-color:var(--error-color);color:var(--error-color);z-index:2}.btn-primary{color:var(--invert-font-color);background-color:var(--primary-color);border:1px solid var(--primary-color)}.btn-primary:hover,.btn-primary:focus:not(.btn-ghost){background-color:var(--primary-color);border-color:var(--primary-color)}.btn-primary.btn-ghost{border-color:var(--primary-color);color:var(--primary-color)}.btn-primary.btn-ghost:focus,.btn-primary.btn-ghost:hover{border-color:var(--primary-color);color:var(--primary-color);z-index:2}.btn-small{padding:.5em 1.3em!important;font-size:.9em!important}.btn-group{overflow:auto}.btn-group .btn{float:left}.btn-group .btn-ghost:not(:first-child){margin-left:-1px}.terminal-card{border:1px solid var(--secondary-color)}.terminal-card>header{color:var(--invert-font-color);text-align:center;background-color:var(--secondary-color);padding:.5em 0}.terminal-card>div:first-of-type{padding:var(--global-space)}.terminal-timeline{position:relative;padding-left:70px}.terminal-timeline::before{content:' ';background:var(--secondary-color);display:inline-block;position:absolute;left:35px;width:2px;height:100%;z-index:400}.terminal-timeline .terminal-card{margin-bottom:25px}.terminal-timeline .terminal-card::before{content:' ';background:var(--invert-font-color);border:2px solid var(--secondary-color);display:inline-block;position:absolute;margin-top:25px;left:26px;width:15px;height:15px;z-index:400}.terminal-alert{color:var(--font-color);padding:1em;border:1px solid var(--font-color);margin-bottom:var(--global-space)}.terminal-alert-error{color:var(--error-color);border-color:var(--error-color)}.terminal-alert-primary{color:var(--primary-color);border-color:var(--primary-color)}@media screen and (max-width:960px){label{display:block;width:100%}pre::-webkit-scrollbar{height:3px}}@media screen and (max-width:480px){form{width:100%}}@media only screen and (min-width:30em){.terminal-nav{flex-direction:row;align-items:center}.terminal-menu ul{flex-direction:row;justify-items:flex-end;align-items:center;justify-content:flex-end;margin-top:calc(var(--global-space) * 2)}.terminal-menu li{margin:0;margin-right:2em}.terminal-menu li:last-child{margin-right:0}}.terminal-media:not(:last-child){margin-bottom:1.25rem}.terminal-media-left{padding-right:var(--global-space)}.terminal-media-left,.terminal-media-right{display:table-cell;vertical-align:top}.terminal-media-right{padding-left:var(--global-space)}.terminal-media-body{display:table-cell;vertical-align:top}.terminal-media-heading{font-size:1em;font-weight:700}.terminal-media-content{margin-top:.3rem}.terminal-placeholder{background-color:var(--secondary-color);text-align:center;color:var(--font-color);font-size:1rem;border:1px solid var(--secondary-color)}figure>img{padding:0}.terminal-avatarholder{width:calc(var(--global-space) * 5);height:calc(var(--global-space) * 5)}.terminal-avatarholder img{padding:0}figure{margin:0}figure>figcaption{color:var(--secondary-color);text-align:center}.hljs{display:block;overflow-x:auto;padding:.5em;background:var(--block-background-color);color:var(--font-color)}.hljs-comment,.hljs-quote{color:var(--secondary-color)}.hljs-variable{color:var(--font-color)}.hljs-keyword,.hljs-selector-tag,.hljs-built_in,.hljs-name,.hljs-tag{color:var(--primary-color)}.hljs-string,.hljs-title,.hljs-section,.hljs-attribute,.hljs-literal,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-addition{color:var(--secondary-color)}.hljs-string{color:var(--secondary-color)}.hljs-deletion,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-meta{color:var(--primary-color)}.hljs-doctag{color:var(--secondary-color)}.hljs-attr{color:var(--primary-color)}.hljs-symbol,.hljs-bullet,.hljs-link{color:var(--primary-color)}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}:root{--global-font-size:16px;--global-font-color:#444;--mono-font-stack:"Maple Mono", "JetBrains Mono", monospace;--font-stack:"Noto Serif SC", sans-serif;--global-line-height:1.6em;--page-width:70em;--display-h1-decoration:1}@media(prefers-color-scheme:dark){:root{--background-color:#222225;--page-width:60em;--font-color:#e8e9ed;--invert-font-color:#222225;--secondary-color:#a3abba;--tertiary-color:#a3abba;--primary-color:#8d78eb;--error-color:#ff3c74;--progress-bar-background:#3f3f44;--progress-bar-fill:#62c4ff;--code-bg-color:#3f3f44}}@media(prefers-color-scheme:light){:root{--background-color:#fff;--font-color:#151515;--invert-font-color:#fff;--primary-color:#8d78eb;--secondary-color:#727578;--error-color:#d20962;--progress-bar-background:#727578;--progress-bar-fill:#151515;--code-bg-color:#e8eff2}}@media only screen and (max-width:850px){:root{--global-font-size:14px;--global-font-color:#444;--global-line-height:1.6em;--page-width:70em}}.pagination{display:flex;justify-content:center;align-items:center}.sidebar-heading{text-transform:none;letter-spacing:0;font-weight:400}.box-masonry .box-masonry-image{background:#fff}.box-masonry,.box-masonry:hover{box-shadow:none}.label{font-family:var(--font-stack)}body{font-family:var(--font-stack);font-size:var(--global-font-size);background-color:var(--background-color);margin-bottom:75px}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:var(--font-stack);clear:both}h1{margin-bottom:150px}.content-column-content p,.content-column-content li{color:#666}.btn-ghost{color:#666;background-color:initial;border-color:#333;font-weight:400;font-family:var(--font-stack);padding:6px 12px;font-size:18px;line-height:1.55;border-radius:0;margin-left:0;margin-top:5px}.content-column-content .command{color:#aaa}p.social a{margin:0 0 10px;color:#fff;display:inline-block;width:30px;height:30px;border:none;line-height:30px;font-size:25px;text-align:center;vertical-align:bottom;color:#999;-webkit-transition:all .2s ease-out;-moz-transition:all .2s ease-out;transition:all .2s ease-out}.active a{text-decoration:underline}strong{font-weight:700}.logo{font-weight:400}.terminal-menu li{margin-right:30px}figure{margin-top:15px;margin-bottom:15px;margin-left:60px;margin-right:60px}.footer{clear:both;margin-top:100px;padding:10px;border-top:1px solid var(--secondary-color);color:var(--global-font-color)}.image-grid{display:grid;grid-template-rows:auto;display:grid;grid-gap:1em;grid-template-rows:auto;grid-template-columns:repeat(auto-fit,minmax(calc(var(--page-width)/4),1fr))}.terminal-prompt::after{-webkit-animation:cursor 1s infinite;animation:cursor 1s infinite;width:10px;height:2px}.terminal-prompt::before{content:none}.gallery-image{margin-top:10px;margin-bottom:10px}.posts-list{position:relative;padding-left:130px;top:0}.post h1,.post h2{padding-top:0;margin:0;margin-bottom:5px}.posts-list .date{display:inline-block;position:absolute;left:0;width:130px;z-index:400;padding-top:0}pre code::after,pre code::before{content:""}pre{display:block;border-radius:3px;overflow-x:scroll;border:1px solid #aaa;padding:1px}pre code{all:unset;display:block;min-width:100%;font-family:var(--mono-font-stack)!important}@media only screen and (max-width:850px){.site-name{width:2ch;overflow:hidden;display:inline-block}.terminal-nav{align-items:flex-start;flex-direction:column;display:flex}.terminal-menu ul{align-items:flex-start;display:flex;flex-direction:row;justify-content:left;margin-top:0}.terminal-menu li{margin-right:20px}.logo{padding:calc(var(--global-space) * 1)0}figure{margin-top:5px;margin-bottom:5px;margin-left:30px;margin-right:30px}.posts-list{position:relative;padding-left:0;top:0}.post h1,.post h2{padding-top:0}.posts-list .date{display:inline-block;position:absolute;left:0;width:150px;z-index:400;font-weight:700;padding-top:0;display:none}.footer{margin-top:50px;padding-top:5px}}.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:#3d4148}.chroma .lnt{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#55595f}.chroma .ln{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#55595f}.chroma .line{display:flex}.chroma .k{color:#c678dd}.chroma .kc{color:#e5c07b}.chroma .kd{color:#c678dd}.chroma .kn{color:#c678dd}.chroma .kp{color:#c678dd}.chroma .kr{color:#c678dd}.chroma .kt{color:#e5c07b}.chroma .n{color:#e06c75}.chroma .na{color:#e06c75}.chroma .nb{color:#e5c07b}.chroma .bp{color:#e06c75}.chroma .nc{color:#e5c07b}.chroma .no{color:#e06c75}.chroma .nd{color:#61afef}.chroma .ni{color:#e06c75}.chroma .ne{color:#e06c75}.chroma .nf{color:#61afef;font-weight:700}.chroma .fm{color:#56b6c2;font-weight:700}.chroma .nl{color:#e06c75}.chroma .nn{color:#e06c75}.chroma .nx{color:#e06c75}.chroma .py{color:#e06c75}.chroma .nt{color:#e06c75}.chroma .nv{color:#e06c75}.chroma .vc{color:#e06c75}.chroma .vg{color:#e06c75}.chroma .vi{color:#e06c75}.chroma .vm{color:#e06c75}.chroma .s{color:#98c379}.chroma .sa{color:#98c379}.chroma .sb{color:#98c379}.chroma .sc{color:#98c379}.chroma .dl{color:#98c379}.chroma .sd{color:#98c379}.chroma .s2{color:#98c379}.chroma .se{color:#98c379}.chroma .sh{color:#98c379}.chroma .si{color:#98c379}.chroma .sx{color:#98c379}.chroma .sr{color:#98c379}.chroma .s1{color:#98c379}.chroma .ss{color:#98c379}.chroma .m{color:#d19a66}.chroma .mb{color:#d19a66}.chroma .mf{color:#d19a66}.chroma .mh{color:#d19a66}.chroma .mi{color:#d19a66}.chroma .il{color:#d19a66}.chroma .mo{color:#d19a66}.chroma .o{color:#56b6c2}.chroma .ow{color:#56b6c2}.chroma .c{color:#7f848e}.chroma .ch{color:#7f848e}.chroma .cm{color:#7f848e}.chroma .c1{color:#7f848e}.chroma .cs{color:#7f848e}.chroma .cp{color:#7f848e}.chroma .cpf{color:#7f848e}.chroma .gd{color:#e06c75}.chroma .gi{color:#98c379;font-weight:700}