*{margin:0;padding:0;box-sizing:border-box}html{font-family:Inter,Avenir,Helvetica,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}body{max-width:73ch;width:65%;padding:2rem;background:#fff;color:rgba(0,0,0,.8);margin:0 auto}@media screen and (max-width: 1024px){body{width:80%}}@media screen and (max-width: 640px){body{width:100%}}code{padding:.2rem .4rem;border-radius:.25rem;font-size:.8rem}a{color:#065c84}nav{display:flex;flex-direction:row;gap:2.5rem;padding-top:1rem}nav a{color:rgba(0,0,0,.8);text-decoration:none;color:rgba(0,0,0,.6);font-weight:500}nav a:hover,nav a:focus{color:#065c84;transition:.5s color ease-in-out}header{display:flex;flex-direction:column;margin:5rem 0;row-gap:1rem}header h1{font-size:2.5rem}header p{font-size:1.2rem;line-height:1.5;color:rgba(0,0,0,.6)}.contact{padding-bottom:1rem}.contact p{line-height:1.5}.contact h2{font-size:1.4rem;margin-bottom:1rem}.post-previews{margin:4rem 0;display:flex;flex-direction:column;row-gap:1.5rem}.post-previews .article-section-subtitle{line-height:1.5;margin-bottom:1rem}.post-previews article{display:flex;flex-direction:column;gap:.5rem}.post-previews article h3{font-size:1.125rem}.post-previews article p{font-size:1rem;line-height:1.5}@media screen and (max-width: 640px){.post-previews article p{font-size:.9rem}}.post-previews .summary{max-width:80%}#jump-toc-btn{position:fixed;right:1rem;bottom:1rem;padding:.5rem;box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);background-color:#2587b5;color:#fff;text-decoration:none;font-size:.85rem;border-radius:.3rem}.post{display:block;margin:3rem auto}.post address,.post area,.post aside,.post audio,.post blockquote,.post datalist,.post details,.post dl,.post fieldset,.post figure,.post form,.post input,.post iframe,.post img,.post meter,.post nav,.post ol,.post optgroup,.post option,.post output,.post p,.post pre,.post progress,.post ruby,.post section,.post table,.post textarea,.post ul,.post video{margin-bottom:1.5rem}.post #print-notice{font-size:smaller;width:90%}.post li ul,.post li ol{margin-bottom:0}.post .footnote-definition p{font-size:smaller}.post .footnote-definition sup{font-size:.6rem;margin-right:.1rem}.post .toc{margin:2rem 0 !important;background:#fafafa;border-radius:.25rem;font-size:.95rem;padding:1.5rem 1rem;box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1)}@media screen and (max-width: 768px){.post .toc{margin:0}}.post .toc .toc-info{margin-top:1rem;margin-left:1.5rem;font-size:smaller}.post .toc div{margin:.5rem 0 0 1rem}.post .toc div li{font-size:.95rem}.post .toc summary{list-style-position:outside;margin-left:1.5rem;line-height:1.5;font-weight:bold}@media screen and (max-width: 640px){.post .toc summary{margin-left:.6rem}}.post img{display:block;max-width:60%;height:auto !important;margin:1.5rem auto}@media screen and (max-width: 1024px){.post img{max-width:70%}}@media screen and (max-width: 640px){.post img{max-width:75%}}@media screen and (max-width: 480px){.post img{max-width:80%}}.post .wide-img{display:block;width:95%;max-width:revert;max-height:revert;margin:1.5rem auto}.post .natural-img{display:block;width:95%;max-width:45ch !important;max-height:unset;height:auto !important}.post .diagram{display:block;max-width:80%;min-height:15rem;margin:1.5rem auto}.post .mathcell{overflow:auto}.post h1,.post h2,.post h3,.post h4,.post h5{margin:1.5rem 0;line-height:1.2}.post h1{font-size:2rem}.post h2{font-size:1.6rem}.post h3{font-size:1.3rem}.post h4{font-size:1.2rem}.post h5{font-size:1.12rem}.post p,.post li{font-size:1.06rem;line-height:1.65;color:rgba(0,0,0,.8)}@media screen and (max-width: 768px){.post p,.post li{font-size:1rem}}@media screen and (max-width: 640px){.post p,.post li{font-size:.95rem}}.post li{margin-left:1.2rem;margin-top:.3rem;margin-bottom:.3rem}.post p code{border-radius:.25rem;box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);background-color:#f7f7f7}.post pre{padding:1rem;border-radius:.25rem;box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1)}.post pre code{display:block;width:100%;overflow-x:auto;line-height:1.5;font-size:.85rem}.post .return-link{margin-top:1.2rem}.post blockquote{padding:1.5rem 2rem 1.5rem 2rem;border:2px solid rgba(0,0,0,.5)}.post blockquote p{margin-bottom:0;font-size:.95rem}.post table{border-collapse:collapse}.post table caption{font-weight:bold;margin-bottom:.5rem}.post td,.post th{text-align:left;padding:.5rem}.post td code,.post th code{color:magenta;background:none}.post td img,.post th img{height:6rem;width:auto;margin:auto}.post tr{border-bottom:1px solid #e5e7eb}.post .footnote-definition{display:flex;flex-direction:row}@media print{body{width:85ch}nav{display:none}.post{margin:1rem auto}#print-notice{display:none}#jump-toc-btn{display:none !important}.toc{display:none}h1,h2,h3,h4,h5{margin:1.5rem 0;line-height:1.2}h1{font-size:1.5rem !important}h2{font-size:1.3rem !important}h3{font-size:1.1rem !important}h4{font-size:.95rem !important}h5{font-size:.85rem !important}p,li{font-size:.8rem !important;line-height:1.65}td,th{font-size:.7rem !important}li{margin-left:1.2rem;margin-top:.3rem;margin-bottom:.3rem}pre code{line-height:1.5;font-size:.85rem}img{display:block;break-inside:avoid !important;page-break-inside:avoid !important}a[href^="/"]:after{content:" (https://jackysci.com" attr(href) ") "}.return-link{display:none}}.api{font-family:"Fira Code","Source Code Pro","IBX Plex Mono","Consolas","Menlo","Courier",monospace;font-weight:normal}.api .function{color:magenta}