@charset "UTF-8";@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;1,100;1,200;1,300;1,400;1,500;1,600;1,700&family=Space+Grotesk:wght@300..700&display=swap";@import "https://fonts.googleapis.com/css2?family=Epilogue:ital,wght@0,100..900;1,100..900&family=IBM+Plex+Mono:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;1,100;1,200;1,300;1,400;1,500;1,600;1,700&family=Space+Grotesk:wght@300..700&display=swap";@font-face{font-family:haskoy;src:url(../fonts/Haskoy-variable.woff2)format("woff2");font-weight:1 1000}/*!normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css*/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-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;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}.chroma{color:#eee;background-color:#2c3e50}.chroma .err{color:#960050;background-color:#1e0010}.chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}.chroma .lntable{border-spacing:0;padding:0;margin:0;border:0;width:auto;overflow:auto;display:block}.chroma .hl{display:block;width:100%;background-color:#ffc}.chroma .lnt{margin-right:.4em;padding:0 .4em}.chroma .ln{margin-right:.4em;padding:0 .4em}.chroma .k{color:#66d9ef}.chroma .kc{color:#66d9ef}.chroma .kd{color:#66d9ef}.chroma .kn{color:#f92672}.chroma .kp{color:#66d9ef}.chroma .kr{color:#66d9ef}.chroma .kt{color:#66d9ef}.chroma .na{color:#a6e22e}.chroma .nc{color:#a6e22e}.chroma .no{color:#66d9ef}.chroma .nd{color:#a6e22e}.chroma .ne{color:#a6e22e}.chroma .nf{color:#a6e22e}.chroma .nx{color:#a6e22e}.chroma .nt{color:#f92672}.chroma .l{color:#ae81ff}.chroma .ld{color:#e6db74}.chroma .s{color:#e6db74}.chroma .sa{color:#e6db74}.chroma .sb{color:#e6db74}.chroma .sc{color:#e6db74}.chroma .dl{color:#e6db74}.chroma .sd{color:#e6db74}.chroma .s2{color:#e6db74}.chroma .se{color:#ae81ff}.chroma .sh{color:#e6db74}.chroma .si{color:#e6db74}.chroma .sx{color:#e6db74}.chroma .sr{color:#e6db74}.chroma .s1{color:#e6db74}.chroma .ss{color:#e6db74}.chroma .m{color:#ae81ff}.chroma .mb{color:#ae81ff}.chroma .mf{color:#ae81ff}.chroma .mh{color:#ae81ff}.chroma .mi{color:#ae81ff}.chroma .il{color:#ae81ff}.chroma .mo{color:#ae81ff}.chroma .o{color:#f92672}.chroma .ow{color:#f92672}.chroma .c{color:#75715e}.chroma .ch{color:#75715e}.chroma .cm{color:#75715e}.chroma .c1{color:#75715e}.chroma .cs{color:#75715e}.chroma .cp{color:#75715e}.chroma .cpf{color:#75715e}.chroma .gd{color:#f92672}.chroma .ge{font-style:italic}.chroma .gi{color:#a6e22e}.chroma .gs{font-weight:700}.chroma .gu{color:#75715e}/*!* animate.css - https://animate.style/
* Version - 4.1.0
* Licensed under the MIT license - http://opensource.org/licenses/MIT
*
* Copyright (c) 2020 Animate.css*/:root{--animate-duration:1s;--animate-delay:1s;--animate-repeat:1}.animated{animation-duration:1s;animation-duration:var(--animate-duration);animation-fill-mode:both}.animated.infinite{animation-iteration-count:infinite}.animated.repeat-1{animation-iteration-count:1;animation-iteration-count:var(--animate-repeat)}.animated.repeat-2{animation-iteration-count:2;animation-iteration-count:calc(var(--animate-repeat)*2)}.animated.repeat-3{animation-iteration-count:3;animation-iteration-count:calc(var(--animate-repeat)*3)}.animated.delay-1s{animation-delay:1s;animation-delay:var(--animate-delay)}.animated.delay-2s{animation-delay:2s;animation-delay:calc(var(--animate-delay)*2)}.animated.delay-3s{animation-delay:3s;animation-delay:calc(var(--animate-delay)*3)}.animated.delay-4s{animation-delay:4s;animation-delay:calc(var(--animate-delay)*4)}.animated.delay-5s{animation-delay:5s;animation-delay:calc(var(--animate-delay)*5)}.animated.faster{animation-duration:.5s;animation-duration:calc(var(--animate-duration)/2)}.animated.fast{animation-duration:.8s;animation-duration:calc(var(--animate-duration)*.8)}.animated.slow{animation-duration:2s;animation-duration:calc(var(--animate-duration)*2)}.animated.slower{animation-duration:3s;animation-duration:calc(var(--animate-duration)*3)}@media(prefers-reduced-motion:reduce),print{.animated{animation-duration:1ms!important;transition-duration:1ms!important;animation-iteration-count:1!important}.animated[class*=Out]{opacity:0}}@keyframes bounce{0%,20%,53%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1);transform:translateZ(0)}40%,43%{animation-timing-function:cubic-bezier(.755,.05,.855,.06);transform:translate3d(0,-30px,0)scaleY(1.1)}70%{animation-timing-function:cubic-bezier(.755,.05,.855,.06);transform:translate3d(0,-15px,0)scaleY(1.05)}80%{transition-timing-function:cubic-bezier(.215,.61,.355,1);transform:translateZ(0)scaleY(.95)}90%{transform:translate3d(0,-4px,0)scaleY(1.02)}}.bounce{animation-name:bounce;transform-origin:center bottom}@keyframes bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)scaleX(3)}60%{opacity:1;transform:translate3d(-25px,0,0)scaleX(1)}75%{transform:translate3d(10px,0,0)scaleX(.98)}90%{transform:translate3d(-5px,0,0)scaleX(.995)}to{transform:translateZ(0)}}.bounceInRight{animation-name:bounceInRight}@keyframes bounceOutRight{20%{opacity:1;transform:translate3d(-20px,0,0)scaleX(.9)}to{opacity:0;transform:translate3d(2000px,0,0)scaleX(2)}}.bounceOutRight{animation-name:bounceOutRight}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fadeIn{animation-name:fadeIn}@keyframes fadeOut{100%{opacity:1}to{opacity:0}}.fadeOut{animation-name:fadeOut}@keyframes slideInUp{0%{transform:translate3d(0,100%,0);visibility:visible}to{transform:translateZ(0)}}.slideInUp{animation-name:slideInUp}@keyframes slideOutDown{0%{transform:translateZ(0)}to{visibility:hidden;transform:translate3d(0,100%,0)}}.slideOutDown{animation-name:slideOutDown}@keyframes slideInRight{0%{transform:translate3d(100%,0,0);visibility:visible}to{transform:translateZ(0)}}.slideInRight{animation-name:slideInRight}@keyframes slideOutRight{0%{transform:translateZ(0)}to{visibility:hidden;transform:translate3d(100%,0,0)}}.slideOutRight{animation-name:slideOutRight}::-webkit-scrollbar{width:8px;height:8px;background:#2c3e50}::-webkit-scrollbar-thumb{background:#888}::-webkit-scrollbar-thumb:hover{background:#000}html{background:#fcfcfd;line-height:1.6;scroll-behavior:smooth;font-size:1em}body.dark{background:#121212}body.dark #home-title,body.dark p,body.dark a{color:#fcfcfd}button,input,select,textarea{color:#000;font-family:ibm plex sans,haskoy,sans-serif}textarea{resize:vertical;max-height:300px;min-height:50px}body{font-family:ibm plex sans,haskoy,sans-serif;text-rendering:optimizeLegibility}body p,body li{}footer a:hover,#home-footer a:hover,#home-center a:hover,#mobile-menu a:hover{color:#0095ff}pre,code,pre tt{font-family:ibm plex mono,Menlo,Consolas,andale mono wt,andale mono,Monaco,lucida console,lucida sans typewriter,dejavu sans mono,bitstream vera sans mono,liberation mono,nimbus mono l,courier new,Courier,yahei consolas hybrid,monospace,segoe ui emoji,pingfang sc,microsoft yahei}pre{padding:.7em 1.1em;overflow:auto;font-size:.9em;line-height:1.5;letter-spacing:normal;white-space:pre;color:#eee;background:#2c3e50;border-radius:4px}pre code{padding:0;margin:0;background:#2c3e50}code{color:#eee;background:#7d828a;border-radius:3px;padding:0 3px;margin:0 4px;word-wrap:break-word;letter-spacing:normal}blockquote{border-left:.25em solid;margin:1em;padding:0 1em;font-style:italic}blockquote cite{font-weight:700;font-style:normal}blockquote cite::before{content:"—— "}form .form-group{padding:5px}form .form-group.max-fifth{max-width:20%}form .form-group.max-half{max-width:50%}form .form-group input::placeholder{font-size:1rem}form .form-group textarea::placeholder{font-size:1rem}form .form-group input,form .form-group textarea{border-style:solid;border-color:#ccc;border-width:1px;border-radius:2px;width:100%}form #password{min-width:325px;border-style:solid;border-color:#ccc;border-width:1px;border-radius:2px}form label{position:relative}form label .password-icon{display:flex;align-items:center;position:absolute;top:62%;right:.5rem;width:1.2rem;color:#888;transition:color .2s}form label .password-icon .feather-eye-off{display:none}form label .password-icon:hover{cursor:pointer;color:#0095ff}form input{padding-top:.2rem;padding-bottom:.2rem}a{color:#000;text-decoration:none;border:none;transition-property:color;transition-duration:.4s;transition-timing-function:ease-out}a:hover{color:#0095ff;text-shadow:0 0 0 #0095ff}hr{opacity:.2;border-width:0 0 1px;border-style:solid;background:0 0;width:100%;margin:2em auto}table{border-collapse:collapse;border-spacing:0;empty-cells:show;width:100%;max-width:100%}table th,table td{padding:1.5%;border:1px solid}table th{font-weight:700;vertical-align:bottom}.hidden{display:none}.section-inner{margin:0 auto;max-width:1200px;width:90%}.thin{max-width:700px;margin:auto}.fit{max-width:1000px;margin:auto}.feather{display:inline-block;vertical-align:-.125em;width:1em;height:1em}.sub-menu{font-size:.7em}.desktop-only,.desktop-only-ib{display:none}.highlight{position:relative}.highlight pre{padding-right:75px}.highlight-copy-btn{position:absolute;bottom:7px;right:7px;border:0;border-radius:4px;padding:1px;font-size:.7em;line-height:1.8;color:#fff;background-color:#777;opacity:.6;min-width:55px;text-align:center}.highlight-copy-btn:hover{background-color:#666}.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}.screen-reader-text:focus{background-color:#f1f1f1;border-radius:3px;box-shadow:0 0 2px 2px rgba(0,0,0,.6);clip:auto!important;clip-path:none;color:#21759b;display:block;font-size:14px;font-size:.875rem;font-weight:700;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}.site-nav a{font-family:haskoy,ibm plex sans,sans-serif;font-size:.875em}#site-header{position:fixed;z-index:2;bottom:0;width:100%;box-sizing:border-box;box-shadow:-1px -2px 3px rgba(0,0,0,.45);background-color:#121212;animation-duration:.3s}.glass{background:linear-gradient(135deg,rgba(255,255,255,.1),rgba(255,255,255,0));backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.18);box-shadow:0 6px 30px rgba(0,0,0,.37)}.hdr-wrapper{display:flex;justify-content:space-between;align-items:center;padding:.5em 0;font-size:1.2rem}.hdr-wrapper .site-branding{display:inline-block;margin-right:.8em;font-size:1.2em;font-weight:600;font-family:haskoy,ibm plex sans,sans-serif;text-transform:uppercase}.hdr-wrapper .site-nav{display:inline-block;font-size:1.1em}.hdr-wrapper .site-nav .has-children{padding-right:.5em;border-right:2px solid #7d828a}.hdr-wrapper .site-nav .sub-menu>a{margin-left:.3em}.hdr-wrapper .site-nav a{margin-left:.8em}header a{color:#fff}header a:hover{color:#0095ff}.hdr-icons{font-size:1.2em}.hdr-social{display:inline-block;margin-left:.6em}.hdr-social>a{margin-left:.4em}.hdr-btn{border:none;background:0 0;padding:0;margin-left:.4em;cursor:pointer}#menu-btn{display:none;height:20px;width:35px;position:relative;vertical-align:middle}#menu-btn span,#menu-btn span:before,#menu-btn span:after{cursor:pointer;width:25px;background:#fcfcfd;position:absolute;display:block;content:''}#menu-btn span:before{top:-10px;height:2px}#menu-btn span:after{bottom:-5px;height:2px}#menu-btn span,#menu-btn span:before,#menu-btn span:after{-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}#menu-btn.active span{background-color:transparent;vertical-align:middle;bottom:13px}#menu-btn.active span:before,#menu-btn.active span:after{top:0}#menu-btn.active span:before{transform:rotate(45deg)}#menu-btn.active span:after{transform:rotate(-45deg)}#mobile-menu{position:fixed;bottom:5em;display:none;padding:.6em 1em;z-index:1;box-sizing:border-box;background:rgba(0,0,0,.92);height:calc(100dvh);width:calc(100dvw);top:0;left:0;animation-duration:.3s}#mobile-menu .menu-container{display:flex;flex-direction:column;align-items:flex-start;justify-items:flex-start;gap:4em;height:90%}#mobile-menu #mobile-menu-social{color:#fff;margin-bottom:1rem}#mobile-menu #mobile-menu-social a{margin-right:.5rem}#mobile-menu a{color:#fff;font-size:1.2rem}#mobile-menu ul{list-style:none;margin:0;margin-top:auto;padding:0;line-height:2.5;font-family:haskoy,ibm plex sans,sans-serif;text-align:left;text-align-last:left}#site-footer{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;max-width:100%;text-align:center;margin-bottom:5em;margin-top:7em}#site-footer p{margin:0;font-size:12px;font-weight:200;opacity:.6}#site-footer #site-footer-social{text-align:center;opacity:.6;max-width:100px}#site-footer #site-footer-social a{margin:.25em}#site-footer #chat-box{max-width:100px;gap:10px}#spotlight{display:flex;min-height:100vh;flex-direction:column;align-items:center;justify-content:center;max-width:93%;margin:auto;font-size:1.5rem}#spotlight.error-404{flex-direction:row;line-height:normal}p.img-404{margin:0}p.img-404 svg{width:180px;max-width:100%;height:auto}.banner-404{margin-left:2em}.banner-404 h1{font-size:6em;margin:.5rem 0}.banner-404 :is(h1,h2,h3,h4,h5,h6){color:#000}.banner-404 p{margin-top:0}.banner-404 .btn-404{font-size:.8em}.banner-404 .btn-404 a{display:inline-block;border:2px solid #000;border-radius:5px;padding:5px;transition-property:color,border-color}.banner-404 .btn-404 a:first-child{margin-right:1em}.banner-404 .btn-404 a:hover{border-color:#fff}.banner-404 .btn-404 a svg{margin-right:.5em}.banner-404 .main-button{font-family:haskoy,ibm plex sans,sans-serif;font-weight:400;text-transform:uppercase;text-decoration:none;background:0 0;border:1px solid #888;padding:9px 10px 8px;display:inline-block;box-sizing:border-box;line-height:1.25rem;cursor:pointer}.banner-404 .main-button:hover{border:1px solid #0095ff;color:#0095ff;transition-property:background-color}.banner-404 a{text-decoration:underline;text-decoration-color:rgba(0,149,255,.8);transition:color .2s,text-decoration-color .2s}.banner-404 a:hover{color:#0095ff;text-decoration-color:#fcfcfd}#home-center{display:flex;flex-grow:1;flex-direction:column;justify-content:center;margin-top:1em}#home-title{margin:0;margin-bottom:1.5rem;text-align:center;font-family:haskoy,ibm plex sans,sans-serif;font-size:5rem;color:#000;font-weight:600;text-transform:uppercase;line-height:1}#home-subtitle{margin-top:0;margin-bottom:5rem;text-align:center;line-height:normal;font-size:.97rem;font-weight:200;font-family:ibm plex sans}#home-nav{text-align:center;display:flex;justify-content:space-between}#home-nav a{display:inline-block;text-align:center;margin-top:.5em;margin-bottom:.5em;padding-left:.25rem;padding-right:.25rem;padding-top:10px;padding-bottom:10px;font-family:haskoy,ibm plex sans,sans-serif;font-size:1rem}#home-footer{display:flex;flex-direction:row;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:2.1rem;max-width:100%;text-align:center;margin-bottom:2rem}#home-footer p{margin:0;font-size:.7rem;font-weight:200}#home-social{text-align:center}#home-social a{font-size:.9rem;margin:.2rem}#chat-box{display:flex;flex-direction:row;flex-wrap:wrap;gap:.5rem;max-width:200px;align-items:baseline;justify-content:center;font-size:.8em;font-weight:400;font-style:italic;font-family:ibm plex sans}#lets-chat{max-width:60px}#lets-chat p{margin:0;font-weight:400}.posts-group{display:flex;margin-bottom:1.9em;line-height:normal}.posts-group .post-year{padding-top:6px;margin-right:1.8em;font-size:1.6em;opacity:.6}.posts-group .post-year:hover{text-decoration:underline;cursor:pointer}.posts-group .posts-list{flex-grow:1;margin:0;padding:0;list-style:none}.posts-group .post-item{border-bottom:1px #7d828a dashed}.posts-group .post-item a{display:flex;justify-content:space-between;align-items:baseline;padding:12px 0}.posts-group .post-item a:hover{color:#0095ff}.posts-group .post-day{flex-shrink:0;margin-left:1em;opacity:.6}.bg-img{width:100vw;height:100vh;opacity:.03;z-index:-1;position:fixed;top:0;background-attachment:fixed;background-repeat:no-repeat;background-size:cover;background-position:50%;transition:opacity .5s;background-color:transparent;visibility:hidden}.show-bg-img{z-index:100;opacity:1;cursor:pointer}main>h1{font-family:haskoy,ibm plex sans,sans-serif;font-size:4.25rem;color:#000;font-weight:600;margin-bottom:2rem;line-height:1}h1,h2,h3,h4,h5{font-family:haskoy,ibm plex sans,sans-serif}h2{font-size:1.4em;line-height:1.2em}.eyebrow{font-family:ibm plex mono;line-height:1.1rem;font-size:.8rem;text-transform:uppercase;font-weight:400;color:#888;margin-top:0}.post-header{margin-top:1.2em;line-height:normal}.post-header .post-meta{font-size:.9em;letter-spacing:normal;opacity:.6}.post-header h1{margin-top:.1em;line-height:1.2em}hr.post-end{width:50%;margin-top:1.6em;margin-bottom:.8em;margin-left:0;border-style:solid;border-bottom-width:2px}.content a{word-wrap:break-word;border:none;text-decoration:underline;text-decoration-color:rgba(0,149,255,.8);transition:color .2s,text-decoration-color .2s}.content a:hover{color:rgba(0,149,255,.8);text-decoration-color:#fcfcfd}.content figure{max-width:100%;height:auto;margin:0;text-align:center}.content figure p{font-size:.8em;font-style:italic;opacity:.6}.content figure a:hover{border-bottom:1px solid #0095ff}.content figcaption{color:#7d828a;font-size:.875rem;text-align:left;padding-top:.25rem}.content figure.left{float:left;margin-right:1.5em;max-width:50%}.content figure.right{float:right;margin-left:1.5em;max-width:50%}.content figure.big{max-width:100vw}.content img{display:block;max-width:100%;max-height:700px;margin:auto;border-radius:4px;background-color:transparent;border:1px solid #ececec}.content ul,.content ol{padding:0;margin-left:1.8em}.content a.anchor{float:left;margin-left:-20px;padding-right:2px;box-shadow:none;opacity:.8;scroll-margin-top:300px}.content a.anchor:hover{background:0 0;color:#0095ff;opacity:.8}.content a.anchor svg{display:inline-block;width:12px;height:12px;vertical-align:baseline;visibility:hidden}.content a.anchor:focus svg{visibility:visible}.content h1:hover a.anchor svg,.content h2:hover a.anchor svg,.content h3:hover a.anchor svg,.content h4:hover a.anchor svg,.content h5:hover a.anchor svg,.content h6:hover a.anchor svg{visibility:visible}.content button.btn::-moz-focus-inner,.content input[type=submit].btn::-moz-focus-inner{padding:0;border:0}.content .main-button{font-family:haskoy,ibm plex sans,sans-serif;font-weight:400;text-transform:uppercase;text-decoration:none;background:0 0;border:1px solid #888;padding:9px 10px 8px;display:inline-block;box-sizing:border-box;line-height:1.25rem;cursor:pointer}.content .main-button:hover{border:1px solid #0095ff;color:#0095ff;transition-property:background-color}.ref-p{padding-left:40px;text-indent:-40px;line-height:1.25}.tags{display:flex;gap:5px;flex-wrap:wrap}.tags .small{font-size:.7rem;margin:0;background-color:#ececec;border-radius:100px;-moz-border-radius:100px;-webkit-border-radius:100px;padding:5px 7px 4px;transform:translateX(-3px);-webkit-box-align:center;box-sizing:border-box;white-space:nowrap;font-family:ibm plex mono;font-weight:500;overflow:hidden}.footnotes{font-size:.85em}.footnotes a{box-shadow:none;text-decoration:underline;transition-property:color}.footnotes a:hover{background:0 0}.footnotes a.footnote-backref{text-decoration:none}.footnotes ol{line-height:1.8}a.footnote-ref{box-shadow:none;text-decoration:none;padding:2px;border-radius:2px;background-color:#2c3e50}a.footnote-ref:hover{box-shadow:none;background-color:#0095ff;transition-property:background-color}.post-info{font-size:.75rem;line-height:normal;opacity:.6;font-family:ibm plex mono,ibm plex sans,sans-serif}.post-info p{margin:.8em 0}.post-info a:hover{border-bottom:1px solid #0095ff}.post-info svg{margin-right:.8em}.post-info .tag{margin-right:.5em}.post-info .tag::before{content:"#"}#toc{position:fixed;left:50%;top:0;display:none}.toc-title{margin-left:1em;margin-bottom:.5em;font-size:.8em;font-weight:700}#TableOfContents{margin-top:2rem;padding-left:0;border-left:1px solid #efefef;position:sticky;top:2rem;align-self:start;opacity:.6}#TableOfContents ul{padding-left:1em;margin:0}#TableOfContents li{margin-bottom:.4rem;line-height:1.25rem;font-size:.75rem}#TableOfContents>ul{list-style-type:none}#TableOfContents a:hover{color:#0095ff}#TableOfContents a{text-decoration:none;display:block;padding:.125rem 0;color:#ccc;transition:all 100ms ease-in-out}.post-nav{display:flex;justify-content:space-between;margin-top:3em;margin-bottom:5em;font-size:1rem}.post-nav a{flex-basis:50%;flex-grow:1}.post-nav .next-post{text-align:left;padding-right:5px}.post-nav .prev-post{text-align:right;padding-left:5px}.post-nav .post-nav-label{font-size:.8em;opacity:.8;text-transform:uppercase}.related-posts{padding:.8em;margin-top:1.5em;font-size:.8rem;border:3px dashed rgba(255,255,255,.2);border-radius:5px}.related-posts h2{margin:0;line-height:normal}.related-posts ul{margin-top:.5em;margin-bottom:0}.container{display:flex;flex-direction:row;flex-wrap:wrap;max-width:100%;gap:24px;align-items:start}.col{display:flex;flex-direction:column}.proj-media{flex:2;min-width:375px;display:flex;align-items:flex-start;overflow:hidden}.img-carousel{display:flex;align-items:flex-start;overflow:hidden;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;-ms-overflow-style:none;scrollbar-width:none}.img-carousel ::-webkit-scrollbar{display:none}.slide{flex-grow:0;flex-shrink:0;flex-basis:100%;scroll-snap-align:start}.slide img{width:100%;height:100%}.swiper-wrapper{padding-bottom:35px}.swiper-wrapper-horizontal>.swiper-pagination{position:absolute;bottom:0}.swiper-pagination{position:absolute}.swiper-pagination-bullet{display:inline-block;border-radius:50%;height:8px;width:8px;background-color:#888}.swiper-pagination-bullet-active{background:#121212}.description{flex:1;min-width:300px;text-wrap:pretty}.description h2{scroll-margin-top:50px;margin-top:0;margin-bottom:.4rem;line-height:1.2em}#about-container{display:-ms-flexbox;display:-webkit-flex;display:flex;flex-wrap:wrap}#about-img-container #about-img-curr{max-width:220px;border:none;transition:transform 125ms ease-in-out}#about-img-container #about-img-old{max-width:220px;border:none;transition:transform 125ms ease-in-out;display:none;visibility:hidden}#about-img-container:hover #about-img-old,#about-img-container:active #about-img-old{display:block;transform:rotate(8deg);transition:transform 125ms ease-in-out;visibility:visible}#about-img-container:hover #about-img-curr,#about-img-container:active #about-img-curr{display:none}#about-section-1{flex:45%;padding-right:2rem}#about-section-2{flex:40%}#about-section-2 img{max-width:90%;height:auto;display:block;margin-left:auto;margin-right:auto;background-color:transparent}@media(min-width:768px){.site-main{margin-top:3em}.content-and-toc{display:block}hr.post-end{width:40%}.brnodisplay{display:none}}@media(min-width:960px){.content-and-toc{display:block}#TableOfContents{display:block}.content-and-toc{display:grid;grid-template-columns:8fr 8em;column-gap:2.5em}}@media(min-width:1300px){.site-main{margin-top:5em}.desktop-only,#toc.show-toc{display:block}.content-and-toc{display:grid;grid-template-columns:8fr 8em;column-gap:2.5em}#TableOfContents{display:block}#TableOfContents li.active>a{color:#3b3e48;font-weight:500;transition:all 100ms ease-in-out}.thin{max-width:700px}.desktop-only-ib{display:inline-block}figure.left{margin-left:-240px}figure.left p{text-align:left}figure.right{margin-right:-240px}figure.right p{text-align:right}figure.big{width:1200px;margin-left:-240px}hr.post-end{width:30%}#toc{top:13em;margin-left:370px;max-width:220px}}@media(min-width:1800px){.site-main{margin-top:5em}.section-inner{max-width:1200px}.thin{max-width:700px}.fit{max-width:1100px}figure.left{max-width:75%;margin-left:-320px}figure.right{max-width:75%;margin-right:-320px}figure.big{width:1600px;margin-left:-320px}hr.post-end{width:30%}#toc{top:15em;margin-left:490px;max-width:300px}}@media(max-width:767px){html{font-size:1.12rem}form .form-group input,form .form-group textarea{width:96%}#about-container{flex-wrap:wrap}#about-section-1{flex-basis:100%;padding-right:0%}#about-section-2 img{max-width:80%}#home-nav{display:block;margin-bottom:3rem}#home-nav a{display:block;text-align:center;margin-top:1.25rem;margin-bottom:1.25rem;border:1px solid #8c8c8c;padding-top:.75rem;padding-bottom:.75rem}.hide-in-mobile,.site-nav.hide-in-mobile{display:none}#menu-btn{display:inline-block}.posts-group{display:block}.posts-group .post-year{margin:-6px 0 4px}#spotlight.error-404{flex-direction:column;text-align:center}#spotlight.error-404 .banner-404{margin:0}#home-title{text-align:left;line-height:.9;font-size:5rem}#home-subtitle{margin-bottom:3rem;text-align:left}#home-footer{max-width:300px;gap:1rem;text-align:left}#home-footer #home-social a{margin:.25rem}#chat-box{gap:.75rem}}@media(max-width:520px){.content figure.left,.content figure.right{float:unset;max-width:100%;margin:0}hr.post-end{width:60%}.img-carousel,.proj-media{min-width:300px}.description{min-width:200px}main>h1{word-break:break-all}}@media(max-width:360px){main>h1{font-size:3.5rem}.img-carousel,.proj-media{min-width:250px}}