@font-face{font-family:"Berkeley Mono";font-weight:100 400;font-display:swap;font-style:normal;src:url("/BerkeleyMono-Regular.woff") format("woff2-variations"),url("/BerkeleyMono-Regular.woff") format("woff2");src:url("/BerkeleyMono-Regular.woff") format("woff2") tech("variations")}@font-face{font-family:"Berkeley Mono";font-weight:500 900;font-display:swap;font-style:normal;src:url("/BerkeleyMono-Bold.woff") format("woff2-variations"),url("/BerkeleyMono-Bold.woff") format("woff2");src:url("/BerkeleyMono-Bold.woff") format("woff2") tech("variations")}@font-face{font-family:"Berkeley Mono";font-weight:100 900;font-display:swap;font-style:italic;src:url("/BerkeleyMono-Italic.woff2") format("woff2-variations"),url("/BerkeleyMono-Italic.woff2") format("woff2");src:url("/BerkeleyMono-Italic.woff2") format("woff2") tech("variations")}@font-face{font-family:"Berkeley Mono";font-weight:500 900;font-display:swap;font-style:italic;src:url("/BerkeleyMono-BoldItalic.woff") format("woff2-variations"),url("/BerkeleyMono-BoldItalic.woff") format("woff2");src:url("/BerkeleyMono-BoldItalic.woff") format("woff2") tech("variations")}/*! modern-normalize v1.1.0 | MIT License | https://github.com/sindresorhus/modern-normalize */*,::before,::after{box-sizing:border-box}html{line-height:1.15;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";}hr{height:0;color:inherit;}abbr[title]{text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",Menlo,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}table{text-indent:0;border-color:inherit;}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}::-moz-focus-inner{border-style:none;padding:0}:-moz-focusring{outline:1px dotted ButtonText}:-moz-ui-invalid{box-shadow:none}legend{padding:0}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px;}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}summary{display:list-item}.f-6,.f-headline{font-size:6rem}.f-5,.f-subheadline{font-size:5rem}.f1{font-size:3rem}.f2{font-size:2.25rem}.f3{font-size:1.5rem}.f4{font-size:1.25rem}.f5{font-size:1rem}.f6{font-size:.875rem}.f7{font-size:.75rem}@media screen and (min-width: 30em){.f-6-ns,.f-headline-ns{font-size:6rem}.f-5-ns,.f-subheadline-ns{font-size:5rem}.f1-ns{font-size:3rem}.f2-ns{font-size:2.25rem}.f3-ns{font-size:1.5rem}.f4-ns{font-size:1.25rem}.f5-ns{font-size:1rem}.f6-ns{font-size:.875rem}.f7-ns{font-size:.75rem}}@media screen and (min-width: 30em) and (max-width: 60em){.f-6-m,.f-headline-m{font-size:6rem}.f-5-m,.f-subheadline-m{font-size:5rem}.f1-m{font-size:3rem}.f2-m{font-size:2.25rem}.f3-m{font-size:1.5rem}.f4-m{font-size:1.25rem}.f5-m{font-size:1rem}.f6-m{font-size:.875rem}.f7-m{font-size:.75rem}}@media screen and (min-width: 60em){.f-6-l,.f-headline-l{font-size:6rem}.f-5-l,.f-subheadline-l{font-size:5rem}.f1-l{font-size:3rem}.f2-l{font-size:2.25rem}.f3-l{font-size:1.5rem}.f4-l{font-size:1.25rem}.f5-l{font-size:1rem}.f6-l{font-size:.875rem}.f7-l{font-size:.75rem}}html,body{font-size:16px;letter-spacing:.5px;line-height:1.6em;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;margin:0;color:#000;min-height:100vh;height:auto !important;background-color:#fcfcfc}@media (prefers-color-scheme: dark){html,body{background-color:#242936;color:#cbccc2}}p{word-wrap:break-word;letter-spacing:.9px}h1,h2,h3,h4{line-height:1.2}h1,h2,h3,h4,h5,h6{margin:0}a{color:inherit;text-decoration:none;transition-property:border,color;transition-duration:.2s;font-weight:700}a:hover{color:#ffa759}p a{border-bottom:1px solid #ffa759}p a:hover{border-color:rgba(0,0,0,0);color:#ffa759}code,pre{font-family:Berkeley Mono,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}code{word-wrap:break-word;font-size:100%;letter-spacing:0px;line-height:1.1rem}p>code,h1>code,h2>code,h3>code,h4>code,h5>code,h6>code,ul>code,ol>code,li>code,blockquote>code,figure>code,hr>code{padding-top:.125rem;padding-bottom:.125rem;padding-left:.25rem;padding-right:.25rem;border-radius:3px;background-color:#313135}@media (prefers-color-scheme: light){p>code,h1>code,h2>code,h3>code,h4>code,h5>code,h6>code,ul>code,ol>code,li>code,blockquote>code,figure>code,hr>code{background-color:#eaeaea}}pre{display:block;padding:1rem;overflow-x:auto;border-radius:8px}.highlight{margin-bottom:1rem;border-radius:4px}.highlight pre{margin-bottom:0}.wrapper{padding:1ch;display:grid;grid-template-columns:minmax(1ch, 1fr) minmax(auto, 96ch) minmax(1ch, 1fr);grid-template-rows:auto 1fr auto;grid-row-gap:1em;grid-template-areas:". nav-header ." ". content ." "footer footer footer"}.top-nav ul{list-style:none}.header{grid-area:header;display:flex;justify-content:space-between}.nav-header{grid-area:nav-header;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline}.nav-links{list-style:none;margin:0;margin-left:5px;padding:0}.nav-links li{margin-left:5px;display:inline-block}.nav-links a.active{color:#f40000;border-bottom:2px solid #f40000}.nav-links a.active :hover{border-color:rgba(0,0,0,0)}.main{grid-area:content;overflow-x:hidden}.footer{grid-area:footer;height:100px;display:grid;grid-template-columns:minmax(1rem, 1fr) minmax(auto, 48rem) minmax(1rem, 1fr);align-content:center}.contacts{list-style:none;margin:0;padding:0;grid-column-start:2;grid-column-end:3}.contacts li{margin-left:8px;display:inline-block}.contacts li:first{margin-left:0}.mono{font-family:Berkeley Mono,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}.header-title{user-select:none}.header-title a,.header-title a:hover,.header-title a:focus,.header-title a:active,.header-title a:visited{text-decoration:none;color:inherit;border-bottom:none}article header h2{margin:0}.post-title{text-align:left}.post-meta{text-align:left;display:flex;gap:1rem;flex-wrap:wrap}.post-header{display:flex;flex-direction:column;align-items:flex-start;gap:.5em}.posts{display:flex;flex-direction:column;grid-row-gap:1rem}.slab{display:inline-block;margin:0}.slab dt{font-size:.7rem;line-height:1.15}.slab dd{font-size:.9rem;font-weight:700;margin-left:0}