@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 *{margin:0;padding:0}.prose{font-size:.9375rem;font-family:"CMU Serif",Georgia,Times New Roman,serif}.prose{margin-bottom:4rem;max-width:100%;overflow-x:hidden}.prose .title{margin-bottom:1em}.prose .title h1{margin:0 0 .25rem}.prose h1{font-size:1.4em;font-weight:700;line-height:1.29;margin:3.5ex 0 2.3ex}.prose h1:first-child{margin-top:0}.prose h2{font-size:1.2em;font-weight:700;line-height:1.17;margin:3.25ex 0 1.5ex}.prose h3{font-size:1em;font-weight:700;line-height:1.2;margin:3.25ex 0 1.5ex;padding-bottom:0;border-bottom:none}.prose h4{font-size:1em;font-weight:700;line-height:1.2;margin:3.25ex 0 -1em}.prose h5{font-size:1em;font-weight:400;line-height:1.2;margin:3.25ex 0 -1em;font-style:italic}.prose strong,.prose b{font-weight:700}.prose em{font-style:italic}.prose a{color:var(--primary);text-decoration:underline;text-decoration-color:var(--text-tertiary);transition:text-decoration-color .2s ease-out}.prose a:hover{color:var(--primary);text-decoration-color:var(--text-primary)}.prose p{line-height:1.2;letter-spacing:0;text-indent:1.5em;margin:0;text-align:justify;hyphens:auto;-webkit-hyphens:auto}.prose h1+p,.prose h2+p,.prose h3+p,.prose h4+p,.prose h5+p,.prose hr+p,.prose>p:first-of-type,.prose blockquote p,.prose li p,.prose table+p,.prose pre+p,.prose details+p{text-indent:0}.prose pre+p,.prose table+p,.prose blockquote+p,.prose ul+p,.prose ol+p{margin-top:.5em}.prose table{table-layout:auto;width:100%;border-collapse:collapse;border-spacing:0;margin:1.25em 0;font-size:.9em;border:none;border-radius:0;border-top:.08em solid var(--text-primary);border-bottom:.08em solid var(--text-primary);overflow:visible}.prose th,.prose td{border:none;padding:.4ex .75em;text-align:left}.prose th:last-child,.prose td:last-child{border-right:none}.prose tr:last-child td{border-bottom:none}.prose th{background:none;font-weight:700;border-bottom:.05em solid var(--text-primary)}.prose img{width:100%;height:auto;object-fit:contain;display:block;margin:1.25em 0;box-sizing:border-box;background:var(--code-bg)}.prose p:has(>img){display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin:2em 0}.prose p:has(>img) img{margin:0!important;width:100%;height:100%;object-fit:cover;position:static!important}.prose p:has(>img) img:after{display:none!important}@media(min-width:768px){.prose p:has(>img){grid-template-columns:repeat(4,1fr)}}.img-placeholder{background:var(--code-bg);display:block}.prose img{transition:opacity .3s ease-out}.prose figure{margin-bottom:2em;text-align:center}.prose figure img{margin-bottom:1em}.prose figure figcaption{color:var(--text-secondary);font-size:.8em;text-align:center}.prose p>img{position:relative;margin-bottom:2em}.prose p>img:after{content:attr(alt);display:block;position:absolute;left:0;width:100%;text-align:center;color:var(--text-secondary);font-size:.75em;margin-top:.75em}.prose .img-caption{display:block;text-align:center;color:var(--text-secondary);font-size:.8em;margin-bottom:2em}.prose code{padding:1.5px 3px;border-radius:4px;background-color:var(--code-bg);border:.5px solid var(--border);font-family:var(--mono);font-size:.9em;font-feature-settings:"liga" 0,"calt" 0;-webkit-font-feature-settings:"liga" 0,"calt" 0}.prose blockquote{background:none;border-left:none;margin:.75em 2.5em;padding:0;border-radius:0;text-align:justify;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 blockquote[data-callout=info],.prose blockquote[data-callout=note]{background:#3b82f61a;border-left-color:#3b82f6}.prose blockquote[data-callout=warning],.prose blockquote[data-callout=caution]{background:#fbbf241a;border-left-color:#fbbf24}.prose blockquote[data-callout=success],.prose blockquote[data-callout=tip]{background:#22c55e1a;border-left-color:#22c55e}.prose blockquote[data-callout=error],.prose blockquote[data-callout=danger]{background:#ef44441a;border-left-color:#ef4444}.prose blockquote[data-callout=question]{background:#a855f71a;border-left-color:#a855f7}.prose blockquote[data-callout=quote]{background:#64748b1a;border-left-color:#64748b}.prose aside{font-size:.85em;line-height:1.4;color:var(--text-primary);background:transparent;border:1px solid var(--border);padding:.5em .75em;margin:.5em 0;border-radius:4px}.prose aside p{margin:.2em 0}.prose blockquote cite{display:inline-block;margin-top:.5em}.prose ul{list-style-type:none;padding-left:2.5em;margin-left:0;margin-top:.5em;margin-bottom:.5em;line-height:1.2;counter-reset:ul-item}.prose ul ul{padding-left:2.2em;margin-top:.25em;margin-bottom:.25em;counter-reset:ul-item}.prose ul ul ul{padding-left:1.87em;counter-reset:ul-item}.prose ul li{position:relative;padding-left:0;margin-bottom:.25em;counter-increment:ul-item}.prose ul li:last-child{margin-bottom:0}.prose ul li>ul{margin-top:.25em;margin-bottom:.25em}.prose ul li:before{content:counter(ul-item) ".";position:absolute;left:-2em;top:0;width:1.5em;text-align:right;color:var(--text-primary)}.prose ul ul li:before{content:"(" counter(ul-item,lower-alpha) ")"}.prose ul ul ul li:before{content:counter(ul-item,lower-roman) "."}.prose ol{list-style-position:outside;padding-left:2.5em;margin-left:0;margin-top:.5em;margin-bottom:.5em;counter-reset:item}.prose ol li{display:block;position:relative;padding-left:0;margin-bottom:.25em}.prose ol li:last-child{margin-bottom:0}.prose ol li:before{content:counter(item) ".";counter-increment:item;position:absolute;left:-2em;width:1.5em;text-align:right;color:var(--text-primary)}.prose ul.contains-task-list{list-style:none;margin-left:0;white-space:nowrap}.prose ul.contains-task-list li:before{content:none}.prose ul.contains-task-list li.task-list-item{padding-left:.125em;margin-bottom:.5em}.prose ul.contains-task-list li.task-list-item:last-child{margin-bottom:0}.prose ul.contains-task-list li.task-list-item input[type=checkbox]{margin-right:.5em;position:relative;top:.175em;width:1em;height:1em;border:1.35px solid var(--text-tertiary);border-radius:4px;background:transparent;appearance:none;-webkit-appearance:none}.prose ul.contains-task-list li.task-list-item input[type=checkbox]:checked{position:relative;background:var(--code-bg);font-family:var(--sans);border:1.35px solid var(--text-tertiary);opacity:.75}.prose ul.contains-task-list li.task-list-item input[type=checkbox]:checked:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-45%,-55%);font-family:var(--sans);font-size:10px;font-weight:650;color:var(--text-primary);opacity:.55}.prose ul.contains-task-list li.task-list-item input[type=checkbox]+*{display:inline;margin-left:0;line-height:1.75;white-space:nowrap}.prose sup,.prose sub,.prose sup a{margin:0 .125em;font-size:.875em;line-height:1}.prose hr{margin:.75em 0;height:.4pt;border:none;background:var(--text-tertiary);opacity:.5}.prose kbd{font-family:var(--mono);font-size:var(--font-size-s);border:1px solid var(--text-tertiary);padding:1px 4px;border-radius:5px;min-width:1.75em;display:inline-block;text-align:center}.prose mark{background-color:var(--mark);color:var(--text-primary);padding:3px 1px}.prose .footnotes{display:none}.prose .section-footnotes{margin:1.5rem 0 .5rem;padding:.5rem 0 0;border-top:.04em solid var(--text-primary);width:40%}.prose .section-footnotes ol{margin:0;padding-left:1.25em;list-style-type:decimal}.prose .section-footnotes li{font-size:.8em;line-height:1.4;color:var(--text-primary);margin-bottom:.25em}.prose .section-footnotes li p{margin:0;display:inline}.prose cite{font-style:normal}.prose [data-footnote-ref]{font-size:.75em;vertical-align:super;line-height:0;color:var(--text-primary);text-decoration:none;padding:0 .1em}.prose [data-footnote-ref]:hover{text-decoration:underline}.prose [data-footnote-backref]{display:none}.prose pre{border-radius:6px;padding:.75em 1em;margin:.75em 0;overflow-x:auto}@media(max-width:768px){.prose pre{padding:1em 1.25em}}.prose pre>code{font-family:var(--mono);font-size:.65em;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}.prose pre>code,.prose pre>code *{font-size:.9em}.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{background-color:#f6f8fa!important}html.dark .astro-code{background-color:#24292e!important}.katex-mathml{display:none!important}.katex-display{text-align:center;margin:1em 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}@media(prefers-color-scheme:dark){.katex,.katex *{color:inherit}}.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}:root{--content-width: 25rem;--sans: "CMU Serif", Georgia, "Times New Roman", serif;--serif: "CMU Serif", Georgia, "Times New Roman", serif;--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;--text-primary: rgba(0, 0, 0, .85);--text-secondary: rgba(0, 0, 0, .4);--text-tertiary: rgba(0, 0, 0, .24);--border: rgba(0, 0, 0, .1);--selection: rgba(0, 0, 0, .08);--code-bg: rgba(0, 0, 0, .04);--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;--text-primary: rgba(0, 0, 0, .85);--text-secondary: rgba(0, 0, 0, .4);--text-tertiary: rgba(0, 0, 0, .24);--border: rgba(0, 0, 0, .1);--selection: rgba(0, 0, 0, .08);--code-bg: rgba(0, 0, 0, .04);--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: rgb(18, 18, 18);--text-primary: rgba(255, 255, 255, .9);--text-secondary: rgba(255, 255, 255, .4);--text-tertiary: rgba(255, 255, 255, .24);--border: rgba(255, 255, 255, .1);--selection: rgba(255, 255, 255, .08);--code-bg: rgba(255, 255, 255, .04);--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}body{font-family:var(--sans);font-size:.9375rem;text-rendering:optimizeLegibility;line-height:1.2;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:0;padding:0;overscroll-behavior:none;transition:background-color .2s ease-out;overflow:hidden;width:100%}body.fonts-loading{opacity:0}body.fonts-loaded{opacity:1;transition:opacity .15s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}::view-transition-old(root){animation:.15s ease-out both fadeOut}::view-transition-new(root){animation:.15s 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{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}*{scrollbar-width:thin;scrollbar-color:var(--border) transparent}.sidebar-area::-webkit-scrollbar{display:none}.sidebar-area{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}
