@font-face{font-family:"InterDisplay";font-style:normal;font-weight:500;font-display:swap;src:url("/fonts/Inter-DisplayMedium-subset.woff2?v=4.0-beta8") format("woff2")}/*! CSS Breakpoint mixins
 * See: https://www.freecodecamp.org/news/the-100-correct-way-to-do-css-breakpoints-88d6a5ba1862/
 */*,*::before,*::after{box-sizing:border-box}html{font:16px/1.5 "Helvetica Neue",Helvetica,"FreeSans","Nimbus Sans L","Inter",system-ui,sans-serif;letter-spacing:-.16px;-webkit-text-size-adjust:100%;tab-size:4}body{margin:0;padding:1rem;display:flex;flex-wrap:wrap;align-items:start}@media (min-width: 900px){body{padding:4rem}}h1,h2,h3,h4,h5,h6{margin:0}h1,h2{font-family:"InterDisplay","Inter","Helvetica Neue",Helvetica,"FreeSans","Nimbus Sans L","Inter",system-ui,sans-serif;font-weight:500;line-height:1.25}h3,h4,h5,h6{font-weight:600}h1{font-size:2rem}h1+.date{margin-bottom:1rem}h2{font-size:1.5rem;letter-spacing:.24px}nav{width:100%;max-width:100%;flex-shrink:0;font:1.5rem/2.5rem "InterDisplay","Inter","Helvetica Neue",Helvetica,"FreeSans","Nimbus Sans L","Inter",system-ui,sans-serif;font-weight:500}@media (min-width: 900px){nav{position:sticky;top:4rem;flex:0 0 auto;width:25%}}nav ol,nav ul{list-style:none;margin:0;padding:0}nav svg{margin:-4px;fill:currentColor}nav li.title{font-weight:600}nav a{text-decoration:none;color:currentColor;opacity:.6}nav a.active,nav a:hover,nav a:active{opacity:1 !important}nav a.active.to-main,nav a:hover.to-main,nav a:active.to-main{color:#c23}nav #lift-go-up{display:none}@media (min-width: 900px){nav #lift-go-up{margin-left:-1.25em}}main{width:100%;max-width:100%;padding-top:2.5rem;flex-shrink:0}@media (min-width: 900px){main{flex:0 0 auto;width:75%}}main>*{max-width:40rem}#comments{margin-top:4rem}#comments>h2{margin-bottom:1rem}#comments article{border-bottom:.5px solid currentColor;padding:1rem 0}#comments article .comment-header{margin-bottom:1rem}#comments article .comment-header .user{display:flex;flex-flow:row nowrap;align-items:start;justify-content:start;text-decoration:none;color:inherit;gap:1rem;line-height:1.25}#comments article .comment-header .user:hover{text-decoration:underline solid currentColor 1px}#comments article .comment-header .user small{font-weight:400}#comments article .comment-header .user>img{width:3rem;height:3rem;margin:0}#comments article .comment-body p:last-of-type{margin-bottom:0}#comments article .comment-body .time{margin-top:1rem;display:block;opacity:.7;text-decoration:none;color:inherit;font-size:smaller}#comments article .comment-body .time:hover{text-decoration:underline solid currentColor 1px}#comments img{display:inline}#comments img.avatar{border-radius:5px}p{margin:0 0 1rem}pre{width:fit-content;min-width:40rem;max-width:100%;padding:10px 15px;border-radius:5px}pre.z-code{background-color:rgba(128,128,128,.05)}blockquote{border-left:4px solid currentColor;margin:1.5em 0em;padding:0 1em;font-style:italic}figure{margin:0;blockquote-margin-bottom:0}figcaption{font-size:.9rem;color:var(--text-light);margin-bottom:1rem}hr{margin:1.5rem 0;height:0;border:0;border-top:1px solid currentColor;color:inherit;opacity:.25}a.view-all{opacity:.7;text-decoration-line:none;color:inherit}a.view-all:hover{text-decoration-line:underline;opacity:1}strong,b{font-weight:bolder}small{font-size:80%}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Monaco,monospace;font-size:1em}abbr[title]{text-decoration:underline dotted}img{display:block;max-width:100%;margin:0 auto}summary{display:list-item}@media not (prefers-reduced-motion: reduce){:root{scroll-behavior:smooth}}