@font-face{font-family:iA Writer Duo;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/iAWriterDuoS-Regular.woff2) format("woff2")}@font-face{font-family:iA Writer Duo;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/iAWriterDuoS-Italic.woff2) format("woff2")}@font-face{font-family:iA Writer Duo;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/iAWriterDuoS-Bold.woff2) format("woff2")}@font-face{font-family:"CMU Serif";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/cmu-serif-500-roman.woff2) format("woff2");unicode-range:U+0000-007D,U+007F-10FFFF}@font-face{font-family:"CMU Serif";font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/cmu-serif-500-italic.woff2) format("woff2");unicode-range:U+0000-007D,U+007F-10FFFF}@font-face{font-family:"CMU Serif";font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/cmu-serif-500-roman.woff2) format("woff2");unicode-range:U+0000-007D,U+007F-10FFFF}@font-face{font-family:"CMU Serif";font-style:italic;font-weight:500;font-display:swap;src:url(/fonts/cmu-serif-500-italic.woff2) format("woff2");unicode-range:U+0000-007D,U+007F-10FFFF}@font-face{font-family:"CMU Serif";font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/cmu-serif-700-roman.woff2) format("woff2");unicode-range:U+0000-007D,U+007F-10FFFF}@font-face{font-family:"CMU Serif";font-style:italic;font-weight:700;font-display:swap;src:url(/fonts/cmu-serif-700-italic.woff2) format("woff2");unicode-range:U+0000-007D,U+007F-10FFFF}@font-face{font-family:"CMU Serif";font-style:normal;font-weight:400;font-display:swap;src:local("Georgia"),local("Times New Roman"),local("serif");unicode-range:U+007E}@font-face{font-family:"CMU Serif";font-style:italic;font-weight:400;font-display:swap;src:local("Georgia"),local("Times New Roman"),local("serif");unicode-range:U+007E}@font-face{font-family:"CMU Serif";font-style:normal;font-weight:700;font-display:swap;src:local("Georgia"),local("Times New Roman"),local("serif");unicode-range:U+007E}@font-face{font-family:"CMU Serif";font-style:italic;font-weight:700;font-display:swap;src:local("Georgia"),local("Times New Roman"),local("serif");unicode-range:U+007E}.prose{font-family:sans-serif;font-size:calc(.875rem * var(--post-font-scale, 1));line-height:1.5714285;color:var(--text-primary);margin-bottom:4rem;text-align:left;hyphens:none;-webkit-hyphens:none}.prose h1,.prose h2{font-family:Linux Libertine,Georgia,Times,"Source Serif 4",serif;font-weight:400;color:var(--text-primary);margin:0 0 .6em;padding-top:.5em;padding-bottom:.17em;line-height:1.375;border-bottom:1px solid var(--border)}.prose h1{font-size:1.8em}.prose h1:first-child{margin-top:0;padding-top:0}.prose h2{font-size:1.5em}.prose h3,.prose h4,.prose h5,.prose h6{font-family:sans-serif;font-weight:700;color:var(--text-primary);margin:0 0 .3em;padding-top:.5em;padding-bottom:.17em;line-height:1.3;border-bottom:none}.prose h3{font-size:1.28em}.prose h4{font-size:1.16em}.prose h5{font-size:1.08em}.prose h6{font-size:1em}.prose strong,.prose b{font-weight:700}.prose em,.prose i{font-style:italic}.prose a{color:var(--link);text-decoration:none}.prose a:visited{color:var(--link-visited)}.prose a:hover,.prose a:focus{text-decoration:underline}:global(html.dark) .prose a:visited{color:#aa9fff}.prose p{line-height:1.5714285;text-indent:0;margin:.4em 0 .5em;text-align:left;hyphens:none;-webkit-hyphens:none}.prose table:not(.infobox):not(.infobox-table){background-color:var(--chrome-bg);color:var(--text-primary);margin:1em 0;border:1px solid #a2a9b1;border-collapse:collapse;width:auto;font-size:1em}.prose table:not(.infobox):not(.infobox-table) th,.prose table:not(.infobox):not(.infobox-table) td{border:1px solid #a2a9b1;padding:.2em .4em;text-align:left;vertical-align:top}.prose table:not(.infobox):not(.infobox-table) th{background-color:#eaecf0;color:var(--text-primary);text-align:center;font-weight:700}:global(html.dark) .prose table:not(.infobox):not(.infobox-table){border-color:var(--border)}:global(html.dark) .prose table:not(.infobox):not(.infobox-table) th,:global(html.dark) .prose table:not(.infobox):not(.infobox-table) td{border-color:var(--border)}:global(html.dark) .prose table:not(.infobox):not(.infobox-table) th{background-color:var(--code-bg)}.prose p>img{display:block;float:right;clear:right;max-width:320px;width:250px;height:auto;margin:.5em 0 1.3em 1.4em;padding:3px;background-color:#fff;border:1px solid #c8ccd1;box-sizing:border-box}:global(html.dark) .prose p>img{background-color:var(--bg);border-color:var(--border)}.prose figure{display:table;border-collapse:collapse;line-height:0;margin:.5em 0 1.3em 1.4em;clear:right;float:right;border:1px solid #c8ccd1;border-bottom:0;background-color:#f8f9fa;color:var(--text-primary);max-width:320px}.prose figure img{display:block;margin:3px;background-color:#fff;border:1px solid #c8ccd1;max-width:calc(100% - 8px);height:auto}.prose figure figcaption,.prose figcaption.img-caption{display:table-caption;caption-side:bottom;background-color:inherit;line-height:1.4em;word-break:break-word;text-align:start;padding:0 6px 6px;border:1px solid #c8ccd1;border-top:0;font-size:.884em;color:var(--text-secondary);font-style:normal;font-weight:400}:global(html.dark) .prose figure{background-color:var(--chrome-bg);border-color:var(--border)}:global(html.dark) .prose figure img{background-color:var(--bg);border-color:var(--border)}:global(html.dark) .prose figure figcaption{border-color:var(--border)}.prose figure figcaption a{color:var(--link)}.prose figure figcaption a:visited{color:var(--link-visited)}@media(max-width:639px){.prose p>img,.prose figure{float:none!important;margin:.5em auto!important}}.img-placeholder{background:var(--code-bg);display:block}.prose code{padding:1px 4px;border-radius:2px;background-color:var(--code-bg);border:1px solid #dadde3;font-family:monospace,monospace;font-size:.92em}:global(html.dark) .prose code{border-color:var(--border)}.prose ul{list-style-type:disc;margin-top:.3em;margin-bottom:0;margin-inline-start:1.6em;padding:0}.prose ol{list-style-type:decimal;margin-top:.3em;margin-bottom:0;margin-inline-start:3.2em;padding:0}.prose li{margin-bottom:.1em;padding-left:0}.prose li:before{content:none}.prose ul ul,.prose ol ol,.prose ul ol,.prose ol ul{margin-top:.1em;margin-bottom:0}.prose dl{margin-top:.2em;margin-bottom:.5em}.prose dt{font-weight:700;margin-bottom:.1em}.prose dd{margin-bottom:.1em;margin-inline-start:1.6em}.prose hr{height:1px;background-color:#a2a9b1;border:0;margin:.2em 0}:global(html.dark) .prose hr{background-color:var(--border)}.prose blockquote{overflow:hidden;margin:1em 0;padding:0 40px;background:none;border-left:none;border-radius:0;text-align:left;color:var(--text-primary)}.prose blockquote p{margin:.35em 0}.prose blockquote p:first-child{margin-top:0}.prose blockquote p:last-child{margin-bottom:0}.prose sup,.prose sub{font-size:80%}.prose small{font-size:85%}.prose ul.contains-task-list{list-style:none;margin-left:0;padding-inline-start:0}.prose ul.contains-task-list li.task-list-item{padding-left:0;margin-bottom:.3em}.prose ul.contains-task-list li.task-list-item input[type=checkbox]{margin-right:.4em;position:relative;top:.15em}.prose kbd{font-family:monospace,monospace;font-size:.92em;border:1px solid var(--border);padding:1px 4px;border-radius:2px;background:var(--code-bg)}.prose mark{background-color:var(--mark);color:var(--text-primary);padding:0 .1em}.prose .footnotes{margin-top:1.5em;padding-top:0;border-top:none;font-size:.85em;line-height:1.2}.prose .footnotes:before{content:"References";display:block;font-size:1.75em;font-weight:700;line-height:1.2;margin-bottom:.75em}.prose .footnotes ol{margin:0;padding-left:2em;list-style-type:none;counter-reset:fn}.prose .footnotes ol li{counter-increment:fn;position:relative}.prose .footnotes ol li:before{content:"[" counter(fn) "]";position:absolute;left:-2em;width:1.75em;text-align:right;font-weight:400}.prose .footnotes li{margin-bottom:.15em;scroll-margin-top:128px}.prose .footnotes li p{margin:0;display:inline;text-indent:0}.prose .footnotes li:target{background:#ffdc6426;border-radius:2px}.prose cite{font-style:normal}.prose [data-footnote-ref]{font-size:.7em;vertical-align:super;line-height:0;color:var(--text-primary);text-decoration:none;padding:0 .05em}.prose [data-footnote-ref]:hover{text-decoration:underline}.prose [data-footnote-backref]{text-decoration:none;margin-left:.2em;color:var(--text-tertiary);font-size:.8em}.prose [data-footnote-backref]:hover{color:var(--text-primary)}.prose pre{border-radius:6px;padding:.75em 1em;margin:.75em 0;overflow-x:auto;font-size:.8em}.prose pre>code{font-family:var(--mono);font-size:.9em;font-feature-settings:"liga" 0,"calt" 0;display:block;white-space:pre;word-break:normal;overflow-wrap:normal;padding:0;margin:0;background:none;border:none;line-height:1.5;border-radius:0}.astro-code,.astro-code span{color:var(--shiki-light, inherit)}html.dark .astro-code,html.dark .astro-code span{color:var(--shiki-dark, inherit)!important}html.light .astro-code,html.dark .astro-code{background-color:var(--code-bg)!important}.katex-mathml{display:none!important}.katex-display{text-align:center;margin:.75em 0}.katex *{box-sizing:content-box}.katex,.katex *{color:inherit}.katex .base,.katex .strut,.katex .mathit,.katex .mathrm,.katex .mathbf,.katex .mathsf,.katex .mathtt{line-height:initial;vertical-align:baseline}.reading-time{color:var(--text-secondary);letter-spacing:-.025em}.reading-time .separator{margin:0 .25em}.prose iframe{width:100%;aspect-ratio:16/9;border:none;border-radius:6px;margin:.25em 0 0}.prose iframe[src*="spotify.com"]{aspect-ratio:auto}html.dark .prose{color:var(--text-primary)}html.dark .prose a{color:var(--link)}html.dark .prose a:visited{color:var(--link-visited)}.prose a[href="https://astro.build"]:before,.prose a[href="https://gleam.run"]:before,.prose a[href="https://www.rust-lang.org"]:before{content:"";display:inline-block;width:.95em;height:.95em;margin-right:.35em;vertical-align:-.12em;background-repeat:no-repeat;background-position:center;background-size:contain}.prose a[href="https://astro.build"]:before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 85 107'><defs><linearGradient id='g' x1='0' y1='0' x2='1' y2='1'><stop offset='0%25' stop-color='%23FF5D01'/><stop offset='100%25' stop-color='%23A82BCB'/></linearGradient></defs><path d='M27.59 91.14C22.76 86.72 21.34 77.43 23.36 70.71C26.85 74.95 31.69 76.29 36.7 77.05C44.44 78.22 52.04 77.78 59.22 74.25C60.05 73.84 60.81 73.3 61.7 72.76C62.38 74.71 62.55 76.69 62.32 78.7C61.75 83.6 59.31 87.38 55.43 90.24C53.88 91.39 52.24 92.42 50.64 93.5C45.73 96.82 44.4 100.72 46.24 106.39C46.29 106.53 46.33 106.66 46.43 107C43.92 105.88 42.08 104.24 40.68 102.09C39.21 99.82 38.51 97.31 38.47 94.59C38.45 93.27 38.45 91.93 38.27 90.63C37.84 87.45 36.35 86.03 33.54 85.95C30.65 85.86 28.37 87.65 27.76 90.46C27.72 90.67 27.65 90.88 27.58 91.13L27.59 91.14Z' fill='url(%23g)'/><path d='M0 69.59S14.31 62.61 28.67 62.61L39.49 29.12C39.9 27.5 41.08 26.4 42.41 26.4C43.75 26.4 44.93 27.5 45.34 29.12L56.16 62.61C73.16 62.61 84.83 69.59 84.83 69.59S60.51 3.35 60.47 3.22C59.77 1.26 58.59 0 57 0H27.83C26.24 0 25.11 1.26 24.36 3.22C24.31 3.35 0 69.59 0 69.59Z' fill='url(%23g)'/></svg>")}.prose a[href="https://gleam.run"]:before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 2105 2016'><path d='M842 129C870 49 974 31 1028 96L1309 438C1344 480 1395 505 1450 506L1893 517C1977 519 2027 613 1981 684L1743 1057C1728 1079 1719 1105 1715 1132C1711 1159 1713 1186 1721 1212L1847 1636C1871 1716 1798 1793 1716 1771L1288 1660C1261 1653 1234 1652 1207 1657C1181 1662 1155 1672 1133 1687L769 1939C699 1986 604 1940 599 1856L572 1414C569 1360 542 1309 499 1276L147 1007C80 956 95 851 174 821L586 659C637 639 677 598 695 546L842 129Z' fill='%23FFAFF3'/><path d='M791 1144C833 1136 862 1096 854 1053C847 1010 806 982 763 989C721 997 692 1038 700 1080C707 1123 748 1152 791 1144Z' fill='%23151515'/><path d='M1424 1032C1466 1025 1495 984 1487 941C1480 899 1439 870 1396 878C1354 885 1325 926 1333 969C1340 1011 1381 1040 1424 1032Z' fill='%23151515'/></svg>")}.prose a[href="https://www.rust-lang.org"]:before{content:"🦀";background:none;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",emoji;width:auto;height:auto;vertical-align:-.05em}:root{--content-width: 25rem;--font: "Satoshi", "Helvetica Neue", "Arial", sans-serif;--body: var(--font);--sans: var(--font);--serif: var(--font);--mono: "SF Mono", "Menlo", "Monaco", "Consolas", monospace;--font-size-xs: 1rem;--font-size-s: 1.125rem;--font-size-m: 1.25rem;--font-size-l: 1.625rem;--font-weight-light: 350;--font-weight-regular: 400;--font-weight-bold: 600;--spacing-s: -.08em;--spacing-m: -.02em;--bg: #ffffff;--chrome-bg: #f9f9f9;--tab-bg: #f9f9f9;--text-primary: #000000;--text-secondary: #505050;--text-tertiary: #909090;--border: #d2d2d2;--border-soft: #e0e0e0;--selection: #dbeafe;--selection-border: #93c5fd;--code-bg: #f3f3f3;--accent: #36c;--link: #36c;--link-visited: #6a60b0;--mark: #f3ffc4;--astro-code-foreground: rgba(0, 0, 0, .85);--astro-code-background: rgba(0, 0, 0, .03);--astro-code-token-constant: rgba(0, 0, 0, .85);--astro-code-token-string: rgba(0, 0, 0, .85);--astro-code-token-comment: rgba(0, 0, 0, .35);--astro-code-token-keyword: rgba(0, 0, 0, .55);--astro-code-token-parameter: rgba(0, 0, 0, .85);--astro-code-token-function: rgba(0, 0, 0, .85);--astro-code-token-string-expression: rgba(0, 0, 0, .55);--astro-code-token-punctuation: rgba(0, 0, 0, .55);--astro-code-token-link: rgba(0, 0, 0, .55)}html.light{--bg: #ffffff;--chrome-bg: #f9f9f9;--tab-bg: #f9f9f9;--text-primary: #000000;--text-secondary: #505050;--text-tertiary: #909090;--border: #d2d2d2;--border-soft: #e0e0e0;--selection: #dbeafe;--selection-border: #93c5fd;--code-bg: #f3f3f3;--accent: #36c;--link: #36c;--link-visited: #6a60b0;--mark: #f3ffc4;--astro-code-foreground: rgba(0, 0, 0, .85);--astro-code-background: rgba(0, 0, 0, .03);--astro-code-token-constant: rgba(0, 0, 0, .85);--astro-code-token-string: rgba(0, 0, 0, .85);--astro-code-token-comment: rgba(0, 0, 0, .35);--astro-code-token-keyword: rgba(0, 0, 0, .5);--astro-code-token-parameter: rgba(0, 0, 0, .85);--astro-code-token-function: rgba(0, 0, 0, .85);--astro-code-token-string-expression: rgba(0, 0, 0, .55);--astro-code-token-punctuation: rgba(0, 0, 0, .55);--astro-code-token-link: rgba(0, 0, 0, .55)}html.dark{--bg: #131313;--chrome-bg: #1e1d1e;--tab-bg: #1e1d1e;--text-primary: #caccca;--text-secondary: #9e9e9e;--text-tertiary: #6a6a6a;--border: #404040;--border-soft: #3a3a3a;--selection: rgba(114, 207, 254, .12);--selection-border: rgba(114, 207, 254, .5);--code-bg: #1a1a1a;--accent: #6699ff;--link: #6699ff;--link-visited: #aa9fff;--mark: #545b37;--astro-code-foreground: rgba(255, 255, 255, .9);--astro-code-background: rgba(255, 255, 255, .03);--astro-code-token-constant: rgba(255, 255, 255, .9);--astro-code-token-string: rgba(255, 255, 255, .9);--astro-code-token-comment: rgba(255, 255, 255, .35);--astro-code-token-keyword: rgba(255, 255, 255, .55);--astro-code-token-parameter: rgba(255, 255, 255, .9);--astro-code-token-function: rgba(255, 255, 255, .9);--astro-code-token-string-expression: rgba(255, 255, 255, .55);--astro-code-token-punctuation: rgba(255, 255, 255, .55);--astro-code-token-link: rgba(255, 255, 255, .55)}html{background-color:var(--bg);scrollbar-gutter:stable;overscroll-behavior:none;overflow:hidden;height:100%;overflow-x:clip;font-size:17px}body{font-family:var(--sans);font-size:1.0625rem;background-color:var(--bg);text-rendering:optimizeLegibility;line-height:1.35;color:var(--text-primary);font-display:swap;word-wrap:break-word;overflow-wrap:break-word;margin:0;height:100%;display:flex;flex-direction:column;box-sizing:border-box;letter-spacing:-.015em;padding:0;overscroll-behavior:none;transition:background-color .2s ease-out;overflow:hidden;width:100%}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}::view-transition-group(root),::view-transition-image-pair(root),::view-transition-old(root),::view-transition-new(root){background-color:var(--bg)}::view-transition-old(root){animation:.12s ease-out both fadeOut}::view-transition-new(root){animation:.12s ease-out both fadeIn}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}::view-transition-old(root),::view-transition-new(root){animation:none!important}}::selection{background-color:var(--selection)}::-webkit-scrollbar{display:none}*{scrollbar-width:none}:focus{outline:2px solid var(--text-tertiary);outline-offset:2px}:focus:not(:focus-visible){outline:none}:focus-visible{outline:2px solid var(--text-tertiary);outline-offset:2px}body[data-width]{max-width:var(--content-width)}body[data-centered=true]{margin:0 auto}main{flex:1;display:flex;flex-direction:column;box-sizing:border-box}.date{margin:0;font-weight:var(--font-weight-regular);color:var(--text-primary);opacity:.5;flex-shrink:0;letter-spacing:var(--spacing-s);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"zero" 0,"cv01" 1,"cv02" 1,"calt" 1,"ss03" 1,"ordn" 1}.date .month{letter-spacing:var(--spacing-m)}.sr-only{border:0;padding:0;margin:0;position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px);clip-path:inset(50%);white-space:nowrap}
