@font-face{font-family:fira mono;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/FiraMono-Regular.woff2)format("woff2")}@font-face{font-family:fira mono;font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/FiraMono-Bold.woff2)format("woff2")}:root{color-scheme:dark;--font-family-mono:"Fira Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Monaco, Consolas,
    "Liberation Mono", monospace;--font-size:0.8125rem;--font-weight-regular:400;--font-weight-bold:700;--line-height-base:1.5;--letter-spacing:-0.02em;--color-text:#a3a3a3;--color-text-disabled:#4a4a4a;--color-background:#000000;--color-background-subtle:#141414;--color-border:#2a2a2a;--color-border-muted:#1c1c1c;--color-accent:#3fb950;--color-accent-strong:rgba(63, 185, 80, 0.3);--color-on-accent:#000000;--spacing-unit:0.375rem;--page-padding:calc(var(--spacing-unit) * 4);--panel-padding:calc(var(--spacing-unit) * 2);--measure:76ch;--header-height:calc(var(--spacing-unit) * 8)}*,*::before,*::after{box-sizing:border-box;letter-spacing:var(--letter-spacing)}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{margin:0;padding-top:var(--header-height);font-family:var(--font-family-mono);font-size:var(--font-size);font-weight:var(--font-weight-regular);line-height:var(--line-height-base);color:var(--color-text);background-color:var(--color-background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-align:justify;-webkit-hyphens:auto;hyphens:auto}code,kbd,pre,samp{font-family:inherit;font-size:inherit}::selection{background-color:var(--color-accent-strong)}:focus-visible{outline:calc(var(--spacing-unit) * .25)solid var(--color-accent);outline-offset:calc(var(--spacing-unit) * .25)}.body-container{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}hr{border:none;border-top:1px solid var(--color-border);margin:calc(var(--spacing-unit) * 4)0}.main-content{flex:1;width:100%;max-width:calc(var(--measure) + 2 * var(--page-padding));margin:calc(var(--spacing-unit) * 4)auto calc(var(--spacing-unit) * 8);padding:0 var(--page-padding)}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:var(--font-weight-bold);margin:0;scroll-margin-top:calc(var(--header-height) + var(--spacing-unit) * 2)}a{color:var(--color-accent);text-decoration:underline dashed var(--color-accent);text-decoration-thickness:1px;text-underline-offset:calc(var(--spacing-unit) * .5)}a:visited{text-decoration-color:var(--color-text-disabled)}:is(.site-title,.nav-links a,.post-title a,.read-more,.pagination-link,.text-link){color:var(--color-text)}:is(.site-title,.post-title a,a.entry-no,.post-tags a,.tag-cloud a){text-decoration:none}.page-header{margin-bottom:calc(var(--spacing-unit) * 4)}.page-header h1{margin-bottom:var(--spacing-unit)}.site-nav{position:fixed;top:0;left:0;right:0;height:var(--header-height);background-color:var(--color-background);z-index:1000;display:flex;justify-content:center;padding:0 var(--page-padding)}.nav-container{display:flex;justify-content:space-between;align-items:stretch;gap:calc(var(--spacing-unit) * 2);width:100%;max-width:var(--measure)}.site-title,.nav-links a{display:flex;align-items:center;white-space:nowrap}.site-title{font-weight:var(--font-weight-bold)}.nav-links{display:flex;gap:calc(var(--spacing-unit) * 2)}.post-list{list-style:none;padding:0;margin:0}.feed-empty{margin:0}.post-item{padding-bottom:calc(var(--spacing-unit) * 4);margin-bottom:calc(var(--spacing-unit) * 4);border-bottom:1px solid var(--color-border)}.post-item:last-child{padding-bottom:0;margin-bottom:0;border-bottom:0}.post-title{margin-bottom:calc(var(--spacing-unit) * .5)}.post-meta{display:flex;flex-wrap:wrap;gap:calc(var(--spacing-unit) * 2);align-items:baseline;font-variant-numeric:tabular-nums;margin-bottom:calc(var(--spacing-unit) * 1.5)}.entry-no{color:var(--color-accent)}a.entry-no{position:relative}a.entry-no::after{content:"";position:absolute;inset:calc(var(--spacing-unit) * -1.5)calc(var(--spacing-unit) * -1)}.post-item .post-content>:first-child{margin-top:0}.post-item .post-content>:last-child{margin-bottom:0}.read-more{display:inline-block;margin-top:calc(var(--spacing-unit) * 2)}.post-tags,.tag-cloud{display:flex;flex-wrap:wrap;gap:0 calc(var(--spacing-unit) * 2)}.post-item .post-tags{margin-top:calc(var(--spacing-unit) * 2)}.tag-cloud{list-style:none;padding:0;margin:0}.tag-cloud [aria-current=page]{color:var(--color-on-accent);background-color:var(--color-accent);padding:0 var(--spacing-unit);text-decoration:none}.carousel-controls{display:flex;align-items:center;justify-content:space-between;margin-bottom:calc(var(--spacing-unit) * 1.5)}.carousel-controls[hidden]{display:none}.carousel-button{display:inline-flex;align-items:center;justify-content:flex-start;min-width:44px;height:44px;padding:0;font:inherit;color:var(--color-text);background:0 0;border:none;cursor:pointer}.carousel-button[data-step="1"]{justify-content:flex-end}.carousel-button:disabled{color:var(--color-text-disabled);cursor:not-allowed}.carousel-count{font-variant-numeric:tabular-nums}.carousel-track{position:relative;display:flex;align-items:flex-start;gap:calc(var(--spacing-unit) * 2);overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none}.carousel-track::-webkit-scrollbar{display:none}.slide{flex:0 0 100%;min-width:0;margin:0;scroll-snap-align:start}.slide-image{display:block;width:100%;height:auto}.slide-quote{margin:0;padding:var(--panel-padding);background-color:var(--color-background-subtle)}.slide-quote p{margin:0}.slide-cite{display:block;margin-top:calc(var(--spacing-unit) * 2);font-style:normal}.slide-cite::before{content:"# ";content:"# "/"";color:var(--color-accent)}.post .post-header{margin-bottom:calc(var(--spacing-unit) * 4);padding-bottom:calc(var(--spacing-unit) * 2);border-bottom:1px solid var(--color-border)}.post .post-title{margin-bottom:calc(var(--spacing-unit) * 2)}.post-content h1,.post-content h2,.post-content h3,.post-content h4,.post-content h5,.post-content h6{margin:calc(var(--spacing-unit) * 3)0 calc(var(--spacing-unit) * 2)}.post-content h1,.post-content h2{padding-bottom:var(--spacing-unit);border-bottom:1px solid var(--color-border-muted)}.post-content p{margin:calc(var(--spacing-unit) * 1.5)0}.post-content ul,.post-content ol{margin:calc(var(--spacing-unit) * 1.5)0;padding-left:calc(var(--spacing-unit) * 4)}.post-content ul{list-style-type:disc}.post-content ul ul{list-style-type:circle}.post-content li+li{margin-top:calc(var(--spacing-unit) * .5)}.post-content ul ul,.post-content ul ol,.post-content ol ul,.post-content ol ol{margin-bottom:0}.post-content img{max-width:100%;height:auto}.post-content code,.post-content kbd{padding:0 calc(var(--spacing-unit) * .5);background-color:var(--color-background-subtle)}.post-content pre,.post-content blockquote{margin:calc(var(--spacing-unit) * 1.5)0;padding:var(--panel-padding);background-color:var(--color-background-subtle)}.post-content pre{overflow-x:auto}.post-content pre code{padding:0;background-color:transparent}.post-content blockquote>:first-child{margin-top:0}.post-content blockquote>:last-child{margin-bottom:0}.post-content table{margin:calc(var(--spacing-unit) * 1.5)0;border-collapse:collapse;border-spacing:0;display:block;max-width:100%;overflow-x:auto}.post-content th,.post-content td{padding:calc(var(--spacing-unit) * .75)calc(var(--spacing-unit) * 1.5);border:1px solid var(--color-border)}.post-content th{font-weight:var(--font-weight-bold)}.post-content tr:nth-child(2n){background-color:var(--color-background-subtle)}.post-content hr{height:calc(var(--spacing-unit) * .5);margin:calc(var(--spacing-unit) * 3)0;padding:0;background-color:var(--color-border);border:0}.search-input{display:block;width:100%;margin-top:calc(var(--spacing-unit) * 2);padding:var(--spacing-unit)calc(var(--spacing-unit) * 1.5);font:inherit;color:var(--color-text);background-color:var(--color-background-subtle);border:0;border-radius:0;-webkit-appearance:none;appearance:none}.search-input::placeholder{color:var(--color-text-disabled)}.pagination{display:flex;justify-content:space-between;align-items:center;margin-top:calc(var(--spacing-unit) * 8);padding-top:calc(var(--spacing-unit) * 4);border-top:1px solid var(--color-border)}.pagination-link[rel=next]{margin-left:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border-width:0}.skip-link{position:absolute;top:calc(var(--spacing-unit) * -13);left:calc(var(--spacing-unit) * 2);background:var(--color-accent);color:var(--color-on-accent);padding:var(--spacing-unit)calc(var(--spacing-unit) * 2);z-index:1100;transition:top .2s ease}.skip-link:focus{top:calc(var(--spacing-unit) * 2)}.not-found-mark{display:block;width:calc(var(--spacing-unit) * 6);height:calc(var(--spacing-unit) * 6);margin-bottom:calc(var(--spacing-unit) * 2)}@media(hover:hover){a:hover{color:var(--color-accent);text-decoration-line:underline;text-decoration-style:solid}.carousel-button:not(:disabled):hover{color:var(--color-accent)}}@media(hover:none){a,.carousel-button{-webkit-tap-highlight-color:transparent}a:active{color:var(--color-accent);text-decoration-line:underline;text-decoration-style:solid}.carousel-button:not(:disabled):active{color:var(--color-accent)}}@media(max-width:768px){:root{--font-size:0.875rem;--page-padding:calc(var(--spacing-unit) * 3)}}