@import url("https://fonts.googleapis.com/css2?family=Fira+Sans:ital,wght@0,100;0,300;0,400;0,700;1,400&display=swap");@import url("https://fonts.googleapis.com/css2?family=Fira+Code&display=swap");body{font-family:"Fira Sans",sans-serif;font-size:18px;font-weight:400;color:#252323;line-height:1.4;padding:0;margin:0;min-height:100vh;display:flex;flex-direction:column;align-items:stretch}p{margin:.5rem 0}h1,h2,h3,h4{font-weight:400;padding:0}h1{font-size:2rem;margin-top:2rem;margin-bottom:1rem}h2{font-size:1.5rem;margin-top:1.5rem;margin-bottom:.7rem}h3{font-size:1.3rem;margin-top:1rem;margin-bottom:.4rem}h4{font-size:1.2rem;margin-top:.8rem;margin-bottom:0}a{color:#369e4e;text-decoration:none}.narrow{padding:0 1rem;max-width:50rem;margin:0 auto}.center{text-align:center}header{padding:.5rem 0;border-bottom:1px solid #d9d9d9}nav{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between;align-items:center;font-weight:300;letter-spacing:.5px}nav a{color:#252323}nav #brand{font-size:1.5rem}nav #links{display:flex;gap:1rem;text-transform:uppercase}:has(+footer){margin-bottom:5rem}footer{margin-top:auto;padding:.5rem 0;border-top:1px solid #d9d9d9;font-size:.95rem}footer a{color:#252323}footer>div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem}footer>div #contacts{display:flex;gap:1rem}.tags{display:flex;flex-wrap:wrap;gap:.5rem}.tags span{font-size:.85rem;background-color:#f5f5f5;padding:2px 7px;border-radius:3px}#posts h1{margin-bottom:2rem}#posts #listing{display:flex;flex-direction:column;gap:2rem}#posts #listing a{font-size:1.25rem}#posts #listing .date{font-size:.95rem;color:#635c5c}#posts #listing .tags{margin-top:.2rem}.post#hero #meta{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between}.post#hero #date{font-size:.95rem}.post#hero img{margin-top:1.5rem;margin-bottom:1rem;width:100%}.post#content p{line-height:1.6}.post#content img{max-width:100%}.post#content>table{margin:1.5rem 0;border-collapse:collapse;text-align:left;overflow-x:auto}.post#content>table thead{background-color:#fafafa}.post#content>table th,.post#content>table td{border:1px solid #eaeaeb;padding:.5rem 1rem}.post#content sup{vertical-align:top;position:relative;top:-.1rem}.post#content hr:has(+.footnotes-list){margin-top:3rem}.post#content .footnotes-list{color:#3f3a3a;font-size:.95rem}@media only screen and (min-width: 53.5rem){.post#content pre{margin:0 -3.5rem}}.post#content pre{font-size:1rem;padding:1rem;overflow-x:auto}.post#content pre code{font-family:"Fira Code",monospace;font-weight:400}.post#content pre[data-linenos]{padding:1rem 0}.post#content pre table{border-collapse:collapse;table-layout:fixed;}.post#content pre table td{padding:0;width:auto}.post#content pre table td:nth-of-type(1){width:1.5rem;padding:0 1rem;text-align:right;user-select:none;color:#635c5c}.post#content pre mark{display:block;background-color:rgba(254,252,232,.9)}.gallery{padding:0 1rem;margin:1.5rem auto;column-gap:1rem}@media (1024px < width <= 2048px){.gallery{column-count:2;max-width:50rem}}@media (width > 2048px){.gallery{column-count:3;max-width:100rem}}.gallery .gallery-item{margin:0;margin-bottom:1rem;display:block}.gallery img{width:100%;height:100%;display:block}.inline-icon{width:1em;height:1em;vertical-align:-.125em}