:root{color-scheme:light dark;--bg:#fff;--text:#1f2328;--muted:#59636e;--link:#0a58b3;--border:#d0d7de;--code-bg:#f6f8fa;--tok-comment:#59636e;--tok-punct:#24292f;--tok-prop:#0550ae;--tok-string:#116329;--tok-keyword:#c01d29;--tok-func:#7a3fd0;--tok-var:#953800;--serif:Charter, "Bitstream Charter", "Sitka Text", Cambria, Georgia, "Times New Roman", serif;--sans:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono:ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--column:680px}@media (prefers-color-scheme:dark){:root{--bg:#14171c;--text:#e6e9ed;--muted:#9ba6b2;--link:#7db8ff;--border:#2e353d;--code-bg:#1d2229;--tok-comment:#8b97a4;--tok-punct:#c9d1d9;--tok-prop:#79c0ff;--tok-string:#a5d6ff;--tok-keyword:#ff8b84;--tok-func:#d2a8ff;--tok-var:#ffa657}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:var(--serif);overflow-wrap:break-word;margin:0;font-size:1.1875rem;line-height:1.7}a{color:var(--link);text-underline-offset:.15em}a:focus-visible{outline:3px solid var(--link);outline-offset:2px;border-radius:2px}.sr-only,.prose .sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{background:var(--bg);color:var(--text);border:2px solid var(--link);font-family:var(--sans);z-index:10;padding:.5rem .75rem;position:absolute;top:-4rem;left:1rem}.skip-link:focus{top:1rem}.site-header,.column,.site-footer{width:100%;max-width:calc(var(--column) + 2.5rem);margin-inline:auto;padding-inline:1.25rem}.site-header{font-family:var(--sans);justify-content:space-between;align-items:baseline;gap:1rem;padding-block:1.5rem;font-size:1rem;line-height:1.4;display:flex}.site-header a{color:var(--text);text-decoration:none}.site-header .brand{font-weight:700}.site-header .feed-link{color:var(--muted)}.site-header a:hover{text-decoration:underline}.column{padding-block:1.5rem 3rem}.page-title{font-family:var(--sans);letter-spacing:-.02em;margin:0 0 1.5rem;font-size:clamp(2rem,6vw,2.75rem);line-height:1.15}.bio{color:var(--muted);margin:-.5rem 0 2rem}.empty{color:var(--muted)}.post-list{margin:0;padding:0;list-style:none}.post-list>li+li{margin-top:2.5rem}.post-list h2{font-family:var(--sans);letter-spacing:-.01em;margin:0 0 .25rem;font-size:1.5rem;line-height:1.3}.post-list h2 a{color:var(--text);text-decoration:none}.post-list h2 a:hover{text-decoration:underline}.summary{margin:.5rem 0 0}.meta{color:var(--muted);font-family:var(--sans);margin:0;font-size:.9375rem;line-height:1.5}.post-header{margin-bottom:2.5rem}.post-header h1{font-family:var(--sans);letter-spacing:-.025em;margin:0 0 1rem;font-size:clamp(2.125rem,7vw,3rem);line-height:1.12}.tags{font-family:var(--sans);flex-wrap:wrap;gap:.5rem;margin:1rem 0 0;padding:0;font-size:.875rem;list-style:none;display:flex}.tags li{border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:.125rem .625rem}.prose>:first-child{margin-top:0}.prose p,.prose ul,.prose ol,.prose blockquote,.prose pre,.prose table{margin:0 0 1.5rem}.prose h2,.prose h3,.prose h4{font-family:var(--sans);letter-spacing:-.01em;margin:2.5rem 0 .75rem;line-height:1.25}.prose h2{font-size:1.75rem}.prose h3{font-size:1.375rem}.prose h4{font-size:1.125rem}.prose li+li{margin-top:.375rem}.prose blockquote{border-left:3px solid var(--border);color:var(--muted);padding-left:1.25rem;font-style:italic}.prose hr{border:0;border-top:1px solid var(--border);margin:2.5rem 0}.prose img{max-width:100%;height:auto}.prose table{border-collapse:collapse;max-width:100%;font-size:1rem;display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--border);text-align:left;padding:.5rem .75rem}code,pre{font-family:var(--mono);font-size:.875em}:not(pre)>code{background:var(--code-bg);border-radius:4px;padding:.125em .35em}pre{background:var(--code-bg);max-width:100%;color:var(--tok-punct);border:1px solid var(--border);tab-size:2;border-radius:6px;padding:1rem 1.125rem;line-height:1.55;overflow-x:auto}pre:focus-visible{outline:3px solid var(--link);outline-offset:2px}pre code{font-size:inherit;background:0 0;padding:0}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:var(--tok-comment);font-style:italic}.token.punctuation,.token.operator{color:var(--tok-punct)}.token.property,.token.tag,.token.boolean,.token.number,.token.constant,.token.symbol,.token.attr-name{color:var(--tok-prop)}.token.string,.token.char,.token.builtin,.token.inserted,.token.attr-value,.token.url{color:var(--tok-string)}.token.keyword,.token.atrule,.token.selector,.token.important,.token.deleted{color:var(--tok-keyword)}.token.function,.token.class-name{color:var(--tok-func)}.token.variable,.token.regex,.token.entity{color:var(--tok-var)}.back{font-family:var(--sans);margin:3rem 0 0;font-size:1rem}.site-footer{border-top:1px solid var(--border);color:var(--muted);font-family:var(--sans);padding-block:2rem 3rem;font-size:.9375rem;line-height:1.5}.site-footer p{margin:0 0 .75rem}.site-footer .links{flex-wrap:wrap;gap:.5rem 1.25rem;margin:0;padding:0;list-style:none;display:flex}.site-footer a{color:var(--muted)}.site-footer a:hover{color:var(--text)}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
