@font-face{font-family:Libertinus Mono;src:url(/fonts/LibertinusMono-Regular.woff2)format("woff2");font-style:normal;font-weight:400;font-display:block}@property --cw{syntax:"<length>";inherits:true;initial-value:0}@property --rh{syntax:"<length>";inherits:true;initial-value:0}:root{--cell-height:clamp(.6rem, 2.2vw, 1.2rem);--gutter:clamp(4px, .2vw, 10px);--text-color:#000;--background:#fff;--muted:#6b6b6b;--code-value:var(--medium-writing);--code-language:var(--medium-interactive);--code-name:var(--medium-video);--code-quiet:var(--muted);--medium-writing:#00873c;--medium-video:#0062ff;--medium-interactive:#a0f;--ink-overhang:.15em;--prose-family:"Roboto Variable", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--prose-size:.95em;--prose-leading:1.6;--font-family:"Libertinus Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;font-family:var(--font-family);font-size:var(--cell-height);--cw:1ch;--rh:1em;line-height:1}@media (width<=700px),(orientation:portrait){:root{--cell-height:clamp(1rem, 4vw, 1.25rem)}}html,body{background:var(--background);width:100%;height:100%;color:var(--text-color);overscroll-behavior:none;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;margin:0}#app,.app-root{width:100%;height:100%;min-height:100svh}#app{box-sizing:border-box;padding-inline:var(--gutter)}.app-root{overflow:clip}.cell{box-sizing:border-box;font:inherit;line-height:var(--rh);white-space:pre;tab-size:1;inline-size:calc(var(--cols) * var(--cw));block-size:calc(var(--rows) * var(--rh));contain:size layout style;border:0;margin:0;padding:0;overflow:visible}.app :where(h1,h2,h3,h4,h5,h6,p,pre,code,ul,ol,li,article,header,section,time,blockquote,figure,table,thead,tbody,tr,th,td,button,fieldset,legend,figure,figcaption,label,input){font:inherit;line-height:var(--rh);text-align:start;border:0;margin:0;padding:0;list-style:none}.app :where(button){color:inherit;letter-spacing:inherit;cursor:pointer;appearance:none;background:0 0}.app :where(a){color:inherit;text-decoration:none}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;block-size:1px;inline-size:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.rule,.scrollbar{-webkit-user-select:none;user-select:none}.app{inline-size:calc(var(--cols) * var(--cw));block-size:calc(var(--rows) * var(--rh));grid-template-columns:repeat(var(--cols), 1fr);grid-template-rows:repeat(var(--rows), 1fr);display:grid;position:relative}.app__chrome{grid-column:var(--pane-col) / span var(--pane-cols);grid-row:var(--pane-row) / span var(--pane-rows)}.app__content{grid-column:var(--content-col) / span var(--content-cols);grid-row:var(--content-row) / span var(--content-rows);padding-block-start:calc(var(--content-pad-top) * var(--rh));padding-inline-start:calc(var(--content-pad-start) * var(--cw));padding-inline-end:calc(var(--content-pad-end) * var(--cw))}.scrollbar{grid-column:var(--bar-col) / span var(--bar-cols);grid-row:var(--bar-row) / span var(--bar-rows)}.header{grid-auto-rows:var(--rh);display:grid}.header__title{padding-inline-start:calc(2 * var(--cw));padding-block:var(--ink-overhang);margin-block:calc(-1 * var(--ink-overhang));overflow:hidden}.box{position:relative}.box__edge{-webkit-user-select:none;user-select:none;margin:0;position:absolute}.box__top{inset-block-start:0;inset-inline-start:0}.box__bottom{inset-block-end:0;inset-inline-start:0}.box__left{inset-block-start:0;inset-inline-start:0}.box__right{inset-block-start:0;inset-inline-end:0}.box__inner{position:absolute;inset-block-start:calc((1 + var(--box-pad-rows)) * var(--rh));inset-inline-start:calc((1 + var(--box-pad-cols)) * var(--cw))}.fig{position:relative}.fig__art{font:inherit;line-height:var(--rh);white-space:pre;-webkit-user-select:none;user-select:none;margin:0;padding:0;display:block;overflow:visible}.postlist{overscroll-behavior:contain;touch-action:pan-y;scroll-behavior:auto;scrollbar-width:none;-ms-overflow-style:none;contain:layout style;overflow:clip auto}.postlist::-webkit-scrollbar{block-size:0;inline-size:0;display:none}.postlist:focus-visible{outline:none}.postlist:focus-visible .postlist__group:first-child .postlist__item:first-child .postlist__link{text-decoration:underline}.postlist__link:focus-visible{outline:calc(.1 * var(--rh)) solid currentColor;outline-offset:0}.postlist__groups{padding-block-end:calc(var(--tail-rows) * var(--rh))}.postlist__group .group__items{margin-block-start:calc(var(--year-gap) * var(--rh))}.postlist__group:not(:last-child){margin-block-end:calc(var(--group-gap) * var(--rh))}.postrow{align-items:start;column-gap:calc(var(--gap-cols) * var(--cw));display:grid}.postrow__tag,.postrow__title,.postrow__meta{white-space:pre;padding-block:var(--ink-overhang);margin-block:calc(-1 * var(--ink-overhang));overflow:hidden}.postrow__meta{text-align:end}.postrow__title{text-overflow:ellipsis}[data-medium=writing]{color:var(--medium-writing)}[data-medium=video]{color:var(--medium-video)}[data-medium=interactive]{color:var(--medium-interactive)}.glyph{inline-size:var(--cw);text-align:center;font-variant-emoji:text;display:inline-block;overflow:visible}.postlist__link:hover .postrow__title{text-decoration:underline}.reader{overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:none;-ms-overflow-style:none;contain:layout style;overflow:clip auto}.reader::-webkit-scrollbar{block-size:0;inline-size:0;display:none}.reader:focus-visible{outline:none}.reader__body{inline-size:calc(var(--measure) * var(--cw));max-inline-size:100%;white-space:normal;padding-block-end:calc(var(--tail-rows) * var(--rh))}.reader__nav{block-size:var(--rh);grid-template-columns:1fr auto;display:grid}.reader__back:hover,.reader__back:focus-visible{text-decoration:underline}.reader__face{justify-self:end;column-gap:var(--cw);min-inline-size:0;display:flex}.reader__facebtn[aria-pressed=false]{color:var(--muted)}.reader__facebtn[aria-pressed=true]{text-decoration:underline}.reader__facesep{color:var(--muted)}.reader__title{margin-block-start:var(--rh)}.reader__meta{column-gap:calc(2 * var(--cw));color:var(--muted);display:flex}.prose{--block-space:calc(var(--block-gap) * var(--rh));margin-block-start:calc(var(--head-gap) * var(--rh))}[data-typeface=prose] .prose{font-family:var(--prose-family);font-size:var(--prose-size);line-height:var(--prose-leading);letter-spacing:normal;--block-space:.9em}.prose>*{margin-block-start:var(--block-space)}.prose>:first-child{margin-block-start:0}.prose__railed>*+*,.prose__item>*+*{margin-block-start:var(--block-space)}.rail,.prose__underline,.prose__code-block,.prose__table,.prose__item:before{font-family:var(--font-family);font-size:var(--fs);line-height:var(--rh);letter-spacing:var(--tracking)}.prose__h,.prose strong{font-weight:700}.prose em{font-style:italic}.prose__h-fit{inline-size:100%;padding-block-end:var(--rh);display:block;position:relative}h3.prose__h>.prose__h-fit{inline-size:fit-content;max-inline-size:100%}.prose__underline{white-space:pre;-webkit-user-select:none;user-select:none;margin:0;position:absolute;inset-block-end:0;inset-inline:0;overflow:clip visible}.prose__h{margin-block-start:calc(var(--block-space) + var(--heading-lead) * var(--rh))}.prose__minor{font-weight:700}.prose__link{text-underline-offset:.15em;text-decoration:underline}.prose__quote,.prose__pre{padding-inline-start:calc(2 * var(--cw));display:flow-root;position:relative}.rail{inline-size:var(--cw);white-space:pre;color:var(--muted);-webkit-user-select:none;user-select:none;margin:0;position:absolute;inset-block:0;inset-inline-start:0;overflow:hidden}.prose__quote>.prose__railed{font-style:italic}.prose__code-block{white-space:pre;padding-block:var(--ink-overhang);margin:0;margin-block:calc(-1 * var(--ink-overhang));overflow-x:auto}.prose__code{font-family:var(--font-family)}.prose__item{grid-template-columns:calc(var(--marker-cols) * var(--cw)) 1fr;display:grid}.prose__item:before{content:"-";color:var(--muted)}.prose__list[data-marker=number]{counter-reset:prose-item}.prose__list[data-marker=number]>.prose__item{counter-increment:prose-item}.prose__list[data-marker=number]>.prose__item:before{content:counter(prose-item) ".";text-align:end;padding-inline-end:var(--cw)}.prose__item>.prose__list{margin-block-start:0}.prose__hr{block-size:var(--rh);color:var(--muted);position:relative}.prose__tablewrap{overflow-x:auto}.prose__table{border-collapse:collapse}.prose__table :where(th,td){vertical-align:top;padding-inline-end:calc(2 * var(--cw))}.prose__table th{text-decoration:underline}.prose__img{block-size:auto;max-inline-size:100%;display:block}.missing{color:var(--muted)}.hljs-string,.hljs-number,.hljs-literal,.hljs-regexp,.hljs-char,.hljs-symbol,.hljs-addition{color:var(--code-value)}.hljs-keyword,.hljs-built_in,.hljs-type,.hljs-selector-tag,.hljs-tag,.hljs-name,.hljs-doctag,.hljs-bullet{color:var(--code-language)}.hljs-title,.hljs-class,.hljs-attr,.hljs-attribute,.hljs-property,.hljs-variable,.hljs-template-variable,.hljs-section,.hljs-selector-id,.hljs-selector-class,.hljs-selector-attr{color:var(--code-name)}.hljs-comment,.hljs-quote,.hljs-meta,.hljs-deletion{color:var(--code-quiet)}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-link{text-decoration:underline}.demo{font-family:var(--font-family);font-size:var(--fs);line-height:var(--rh);letter-spacing:var(--tracking)}.demo__row{box-sizing:border-box;align-items:center;column-gap:calc(2 * var(--cw));block-size:var(--rh);display:flex;overflow:clip visible}.demo__key,.demo__value{color:var(--muted);flex:none}.demo__key{inline-size:calc(6 * var(--cw))}.demo__range{inline-size:calc(24 * var(--cw));min-inline-size:calc(6 * var(--cw));block-size:var(--rh);accent-color:var(--medium-interactive)}.demo__calc{white-space:pre}.demo__bar{white-space:pre;color:var(--medium-interactive);margin:0}[data-typeface=prose] .prose__underline{display:none}[data-typeface=prose] .prose__h-fit{padding-block-end:0}[data-typeface=prose] h2.prose__h{font-size:1.3em}[data-typeface=prose] h3.prose__h{font-size:1.1em}[data-typeface=prose] .prose__hr{border-block-start:1px solid var(--muted);block-size:0}[data-typeface=prose] .reader__head .rule{display:none}[data-typeface=prose] .reader__head{border-block-end:1px solid var(--muted);padding-block-end:calc(var(--rh) - 1px)}.app[data-grid-debug]:after{content:"";pointer-events:none;z-index:9;background:repeating-linear-gradient(90deg, #f003 0 1px, #0000 1px var(--cw)), repeating-linear-gradient(180deg, #00f3 0 1px, #0000 1px var(--rh));position:absolute;inset:0}
