@font-face{font-family:Iowan Old Style;src:local(Iowan Old Style),local(IowanOldStyle-Roman),url(/fonts/IowanOldStyle/iowan-old-style_regular.woff2)format("woff2"),url(/fonts/IowanOldStyle/iowan-old-style_regular.woff)format("woff");font-weight:400;font-style:normal;font-display:block}@font-face{font-family:Iowan Old Style;src:local(Iowan Old Style Italic),local(IowanOldStyle-Italic),url(/fonts/IowanOldStyle/iowan-old-style_italic.woff2)format("woff2"),url(/fonts/IowanOldStyle/iowan-old-style_italic.woff)format("woff");font-weight:400;font-style:italic;font-display:block}@font-face{font-family:Iowan Old Style;src:local(Iowan Old Style Bold),local(IowanOldStyle-Bold),url(/fonts/IowanOldStyle/iowan-old-style_bold.woff2)format("woff2"),url(/fonts/IowanOldStyle/iowan-old-style_bold.woff)format("woff");font-weight:700;font-style:normal;font-display:block}@font-face{font-family:Iowan Old Style;src:local(Iowan Old Style Bold Italic),local(IowanOldStyle-BoldItalic),url(/fonts/IowanOldStyle/iowan-old-style_bold-italic.woff2)format("woff2"),url(/fonts/IowanOldStyle/iowan-old-style_bold-italic.woff)format("woff");font-weight:700;font-style:italic;font-display:block}
@font-face{font-family:IBM Plex Mono;src:local("IBM Plex Mono"),local("IBMPlexMono"),url(/fonts/IBMPlexMono/IBMPlexMono-Regular.ttf),format("truetype");font-weight:400;font-style:normal;font-display:block}@font-face{font-family:IBM Plex Mono;src:local(IBM Plex Mono Italic),local(IBMPlexMono-Italic),url(/fonts/IBMPlexMono/IBMPlexMono-Italic.ttf)format("truetype");font-weight:400;font-style:italic;font-display:block}@font-face{font-family:IBM Plex Mono;src:local(IBM Plex Mono Bold),local(IBMPlexMono-Bold),url(/fonts/IBMPlexMono/IBMPlexMono-Bold.ttf)format("truetype");font-weight:700;font-style:normal;font-display:block}@font-face{font-family:IBM Plex Mono;src:local(IBM Plex Mono Bold Italic),local(IBMPlexMono-BoldItalic),url(/fonts/IBMPlexMono/IBMPlexMono-BoldItalic.ttf)format("truetype");font-weight:700;font-style:italic;font-display:block}
:root{--background-color-dark:#1f1e1d;--background-color-light:#f8f3f3;--text-color-light:#081b06;--text-color-dark:#dedcd2;--border-color-light:#ada7a7;--border-color-dark:#413f35;--link-color-light:#473481;--link-color-dark:#d3bca8;--code-background-light:#fffefe;--code-border-light:#ababab;--code-background-dark:#181713;--code-border-dark:#2e2a26;--code-color:var(--text-color);--code-color-dark:#fff6ea;--background-color:var(--background-color-light);--text-color:var(--text-color-light);--link-color:var(--link-color-light);--code-background:var(--code-background-light);--code-border:var(--code-border-light);--border-color:var(--border-color-light)}@media (prefers-color-scheme:dark){:root{--background-color:var(--background-color-dark);--text-color:var(--text-color-dark);--link-color:var(--link-color-dark);--code-background:var(--code-background-dark);--code-border:var(--code-border-dark);--border-color:var(--border-color-dark);--code-color:var(--code-color-dark)}.light-only{display:none}.dark-only{display:initial}::selection{color:var(--text-color-light);text-shadow:none;background:#cdbba4}}.light-only{display:initial}.dark-only{display:none}html{background-color:var(--background-color);color:var(--text-color);font-family:Iowan Old Style,PT Serif,Garamond,Georgia,serif;font-size:18px}body{max-width:1200px;margin:auto;padding:1em 1em 4em}main{max-width:1024px}td.date{white-space:nowrap;font-style:italic}td{vertical-align:baseline}.homepage{padding:2em;position:fixed;inset:0;overflow-y:scroll}.homepage a{color:var(--text-color);text-decoration:none}.homepage a:hover{text-decoration:underline}nav{width:240px;height:320px;margin-top:1.5em;position:relative}nav>a{position:absolute}main header{cursor:pointer;height:12em;box-shadow:0 0 6px #0003}main header:active{box-shadow:0 0 8px #0000004d}h1{font-size:32px;font-weight:400}.meta{margin:4em 1em 1em}.meta h1{margin:.5em 0;font-size:32px!important}.meta h1 a{color:var(--text-color);text-decoration:none}.meta h1 a:hover{text-decoration:underline}.post{max-width:720px;margin:4em 1em 0}.post h1{font-size:48px}h2{letter-spacing:.02em;border-bottom:1px solid var(--border-color);margin-top:1.5em;padding-bottom:.25em;font-size:24px;font-style:italic;font-weight:400}h3{letter-spacing:.02em;margin-bottom:0;font-size:22px;font-style:italic;font-weight:400}h2>a,h3>a{color:var(--text-color);text-decoration:none}span.anchor{visibility:hidden;margin-left:-1em;display:inline-block;position:absolute}h2#table-of-contents+ul li>a{color:var(--text-color);text-decoration:none}h2#table-of-contents+ul li>a:hover{text-decoration:underline}a:hover>span.anchor{visibility:visible}a{color:var(--link-color)}p{line-height:1.4em}.post img,.meta img{max-width:100%;margin:auto;display:inline-block;box-shadow:0 0 5px #0003}hr{color:var(--border-color);border-style:solid;border-width:.5px}code{font-family:IBM Plex Mono,ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:14px}p code,li code{background-color:var(--code-background);border:1px solid var(--code-border);color:var(--code-color);border-radius:2px;margin:0 1px;padding:2px}li{line-height:1.4em}pre{background-color:var(--code-background);border:1px solid var(--code-border);tab-size:2;border-radius:1px;overflow-x:auto}pre>code{width:max-content;padding:12px;line-height:20px;display:block}blockquote{border-left:.25em solid var(--border-color);margin-left:0;margin-right:0;padding-left:1em}blockquote p{white-space:pre-line}em{letter-spacing:.025em}figure figcaption{font-size:initial}@media (max-width:600px){#wallpaper{display:none}}@media (max-width:800px){body{-webkit-text-size-adjust:none;margin-bottom:2em;padding:0}.post,.meta{margin:2em .5em}}@media print{:root{--background-color:#fff;--text-color:#000}header{height:0;display:none}}
pre .tok-link{color:#af3a03;text-decoration:underline}pre .tok-heading{color:#b57614;font-weight:700;text-decoration:underline}pre .tok-emphasis{color:#076678;font-style:italic}pre .tok-strong{color:#9d0006;font-weight:700}pre .tok-strikethrough{color:#928374;text-decoration:line-through}pre .tok-keyword{color:#9d0006}pre .tok-atom,pre .tok-bool,pre .tok-url,pre .tok-labelName{color:#8f3f71}pre .tok-literal,pre .tok-inserted,pre .tok-string,pre .tok-deleted{color:#79740e}pre .tok-string2{color:#b57614}pre .tok-variableName.tok-definition,pre .tok-variableName.tok-local{color:#076678}pre .tok-variableName2,pre .tok-macroName{color:#427b58}pre .tok-typeName,pre .tok-namespace,pre .tok-className{color:#b57614}pre .tok-propertyName.tok-definition{color:#076678}pre .tok-comment,pre .tok-meta{color:#928374}pre .tok-invalid{color:#9d0006}pre .tok-lineComment,pre .tok-blockComment{color:#928374}pre .tok-docComment{color:#928374;font-style:italic}pre .tok-number,pre .tok-integer,pre .tok-float,pre .tok-character{color:#8f3f71}pre .tok-regexp,pre .tok-escape{color:#427b58}pre .tok-self,pre .tok-null{color:#8f3f71}pre .tok-operator{color:#af3a03}pre .tok-controlKeyword,pre .tok-definitionKeyword,pre .tok-moduleKeyword{color:#9d0006}pre .tok-punctuation,pre .tok-separator,pre .tok-bracket,pre .tok-paren,pre .tok-brace{color:#3c3836}pre .tok-tagName{color:#076678}pre .tok-attributeName{color:#af3a03}pre .tok-attributeValue{color:#79740e}pre .tok-function{color:#79740e;font-weight:700}pre .tok-constant{color:#8f3f71}pre .tok-special{color:#af3a03}pre .tok-monospace,pre .tok-changed{color:#427b58}
@media (prefers-color-scheme:dark){pre .tok-link{color:#fe8019;text-decoration:underline}pre .tok-heading{color:#fabd2f;font-weight:700;text-decoration:underline}pre .tok-emphasis{color:#83a598;font-style:italic}pre .tok-strong{color:#fb4934;font-weight:700}pre .tok-strikethrough{color:#928374;text-decoration:line-through}pre .tok-keyword{color:#fb4934}pre .tok-atom,pre .tok-bool,pre .tok-url,pre .tok-labelName{color:#d3869b}pre .tok-literal,pre .tok-inserted,pre .tok-string,pre .tok-deleted{color:#b8bb26}pre .tok-string2{color:#fabd2f}pre .tok-variableName.tok-definition,pre .tok-variableName.tok-local{color:#83a598}pre .tok-variableName2,pre .tok-macroName{color:#8ec07c}pre .tok-typeName,pre .tok-namespace,pre .tok-className{color:#fabd2f}pre .tok-propertyName.tok-definition{color:#83a598}pre .tok-comment,pre .tok-meta{color:#928374}pre .tok-invalid{color:#fb4934}pre .tok-lineComment,pre .tok-blockComment{color:#928374}pre .tok-docComment{color:#928374;font-style:italic}pre .tok-number,pre .tok-integer,pre .tok-float,pre .tok-character{color:#d3869b}pre .tok-regexp,pre .tok-escape{color:#8ec07c}pre .tok-self,pre .tok-null{color:#d3869b}pre .tok-operator{color:#fe8019}pre .tok-controlKeyword,pre .tok-definitionKeyword,pre .tok-moduleKeyword{color:#fb4934}pre .tok-punctuation,pre .tok-separator,pre .tok-bracket,pre .tok-paren,pre .tok-brace{color:#ebdbb2}pre .tok-tagName{color:#83a598}pre .tok-attributeName{color:#fe8019}pre .tok-attributeValue{color:#b8bb26}pre .tok-function{color:#b8bb26;font-weight:700}pre .tok-constant{color:#d3869b}pre .tok-special{color:#fe8019}pre .tok-monospace,pre .tok-changed{color:#8ec07c}}
