@font-face{font-family:Lyon Text Web;font-style:normal;font-weight:400;font-display:optional;src:url(/fonts/LyonText-Regular-Web.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lyon Text Web;font-style:italic;font-weight:400;font-display:optional;src:url(/fonts/LyonText-RegularItalic-Web.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Roslindale Deck Narrow;font-style:normal;font-weight:400;font-display:optional;src:url(/fonts/RoslindaleDeckNarrow-Regular.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Zen Old Mincho;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ZenOldMincho-Regular.woff2) format("woff2");unicode-range:U+3000-303F,U+3040-309F,U+30A0-30FF,U+31F0-31FF,U+3400-4DBF,U+4E00-9FFF,U+F900-FAFF,U+FF00-FFEF}@font-face{font-family:Zen Old Mincho;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/ZenOldMincho-SemiBold.woff2) format("woff2");unicode-range:U+3000-303F,U+3040-309F,U+30A0-30FF,U+31F0-31FF,U+3400-4DBF,U+4E00-9FFF,U+F900-FAFF,U+FF00-FFEF}@font-face{font-family:iA Writer Quattro;font-style:normal;font-weight:400;font-display:optional;src:url(/fonts/iAWriterQuattroS-Regular.woff2) format("woff2")}@font-face{font-family:iA Writer Quattro;font-style:italic;font-weight:400;font-display:optional;src:url(/fonts/iAWriterQuattroS-Italic.woff2) format("woff2")}.prose *{margin:0;padding:0;font-size:inherit}.prose{position:relative;margin-bottom:var(--prose-end-gap)}.prose .content>:first-child{margin-top:0}.prose .content>:last-child{margin-bottom:0}.prose .title{margin-bottom:var(--title-content-gap)}.prose .title h1{margin:0 0 var(--title-meta-gap) 0;font-family:var(--font-header);font-feature-settings:var(--font-header-features);font-size:var(--post-title-size);font-weight:var(--site-title-weight);line-height:var(--post-title-line-height);letter-spacing:var(--post-title-tracking)}.prose h1,.prose h2,.prose h3,.prose h4,.prose h5{font-family:var(--font-header);font-feature-settings:var(--font-header-features);font-size:var(--heading-size);font-weight:var(--site-title-weight);line-height:var(--heading-line-height);margin:var(--heading-margin-block-start) 0 var(--heading-margin-block-end) 0;letter-spacing:var(--heading-tracking)}.prose h1{font-size:var(--type-heading-h1)}.prose h2{color:#000;font-family:var(--font-header);font-size:var(--type-heading-h2);font-style:normal;font-weight:var(--font-weight-regular);line-height:var(--heading-h2-line-height);margin-top:var(--heading-h2-margin-block-start);margin-bottom:var(--heading-h2-margin-block-end)}.prose h3{color:#000;font-family:var(--font-header);font-size:var(--type-heading-h3);font-style:normal;font-weight:var(--font-weight-regular);margin-top:var(--heading-h3-margin-block-start);margin-bottom:var(--heading-h3-margin-block-end)}.prose h4{font-size:var(--heading-size);font-style:italic;font-weight:var(--site-title-weight)}.prose h5{color:color-mix(in srgb,currentColor 82%,transparent);font-size:var(--type-heading-h5);font-style:italic;font-weight:var(--site-title-weight)}.prose strong,.prose b{font-synthesis-weight:auto;font-weight:600}.prose em{font-family:var(--font-content);font-style:italic;letter-spacing:0}.prose a{color:var(--text-primary);text-decoration:underline;text-decoration-color:var(--text-primary);text-decoration-thickness:var(--link-underline-thickness);text-underline-offset:var(--link-underline-offset);overflow-wrap:anywhere;transition:text-decoration-color .2s ease-out}.prose a:hover{color:var(--text-primary);text-decoration-color:var(--text-primary)}.prose p{line-height:var(--body-line-height);margin-bottom:var(--paragraph-gap);text-wrap:pretty;overflow-wrap:normal;word-break:normal;hyphens:none}.prose p:has(+ul),.prose p:has(+ol){margin-bottom:var(--nested-list-gap)}.prose .date{color:var(--text-secondary-hover);font-family:var(--font-content);font-size:var(--meta-size);font-style:italic;font-weight:var(--font-weight-regular);opacity:1}.prose table{table-layout:fixed;width:100%;border-collapse:separate;border-spacing:0;margin-bottom:var(--content-block-gap);font-size:var(--font-size-m);border:1px solid var(--border);border-radius:8px;overflow:hidden}.prose th,.prose td{border:none;border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:.5em 1em;text-align:left;line-height:var(--body-line-height)}.prose th:last-child,.prose td:last-child{border-right:none}.prose tr:last-child td{border-bottom:none}.prose th{background:var(--astro-code-background);font-weight:var(--font-weight-regular)}.prose img{max-width:100%;height:auto;display:block;margin-bottom:var(--media-block-gap)}.img-placeholder{background:var(--code-bg);display:block}.prose img[loading=lazy]{opacity:0;animation:fadeIn .3s ease-out forwards}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.prose figure{margin-bottom:var(--media-block-gap);text-align:center}.prose figure img{margin-bottom:1em}.prose figure figcaption{color:var(--text-secondary);font-size:var(--font-size-s);text-align:center}.prose p>img{position:relative;margin-bottom:var(--media-block-gap)}.prose p>img:after{content:attr(alt);display:block;position:absolute;left:0;width:100%;text-align:center;color:var(--text-secondary);font-size:var(--font-size-s);margin-top:.75em}.prose .img-caption{display:block;text-align:center;color:var(--text-secondary);font-size:var(--font-size-s);margin-bottom:var(--media-block-gap)}.prose code{padding:var(--inline-code-padding-y) var(--inline-code-padding-x);border-radius:3px;background-color:var(--code-bg);border:.5px solid var(--border);font-family:var(--font-ui);font-size:var(--inline-code-size);line-height:1;letter-spacing:0;vertical-align:baseline;font-feature-settings:"liga" 0,"calt" 0;-webkit-font-feature-settings:"liga" 0,"calt" 0}.prose blockquote{border-left:2px solid var(--border);margin:0 0 var(--paragraph-gap);padding:0 0 0 1em;color:var(--text-primary);text-align:left}.prose blockquote+blockquote{margin-top:calc(var(--paragraph-gap) * 1.5)}.prose blockquote p{margin:0;text-wrap:pretty;overflow-wrap:normal;word-break:normal;hyphens:none}.prose blockquote cite{display:inline-block;margin-top:.5em}.prose ul{list-style-type:none;padding-left:0;margin-left:1rem;margin-bottom:var(--content-block-gap);line-height:var(--body-line-height)}.prose ul ul{margin-left:.625rem;margin-top:var(--nested-list-gap);margin-bottom:var(--nested-list-gap)}.prose ul li{position:relative;padding-left:.125rem;margin-bottom:var(--list-item-gap);text-wrap:pretty;overflow-wrap:normal;word-break:normal;hyphens:none}.prose ul li:last-child{margin-bottom:0}.prose ul li>ul{margin-top:var(--nested-list-gap);margin-bottom:var(--nested-list-gap)}.prose ul li:before{--size: .3125rem;content:"";position:absolute;left:-.785rem;top:calc((1.75em - var(--size)) / 2);width:var(--size);height:var(--size);border-radius:50%;background-color:var(--text-secondary)}.prose ol{list-style-position:outside;padding-left:0;margin-left:var(--ordered-list-indent);margin-bottom:var(--content-block-gap);line-height:var(--body-line-height);counter-reset:item}.prose ol li{display:block;position:relative;padding-left:.125rem;margin-bottom:var(--list-item-gap);text-wrap:pretty;overflow-wrap:normal;word-break:normal;hyphens:none}.prose ol li:last-child{margin-bottom:0}.prose ol li:before{content:counter(item) ".";counter-increment:item;position:absolute;left:-1.15rem;width:1.5rem;text-align:left;color:var(--text-secondary);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"zero" 0,"cv01" 1,"cv02" 1,"calt" 1,"ss03" 1,"liga" 1,"ordn" 1}.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:var(--list-item-gap)}.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:.625em;position:relative;top:.15em;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(--font-ui);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(--font-ui);font-size:10px;font-weight:400;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:var(--hr-margin-block) 0;height:auto;border:none;background:none;text-align:center;position:relative}.prose hr:before{content:"***";font-family:var(--font-code);color:var(--text-tertiary);font-size:.875em;letter-spacing:.25em}.prose kbd{font-family:var(--font-code);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{margin-top:var(--footnotes-start-gap);padding-top:var(--footnotes-padding-block-start);position:relative}.prose .footnotes:before{content:"";position:absolute;top:0;left:0;width:4rem;height:1px;background-color:var(--border)}.prose cite{font-style:normal}.prose [data-footnote-backref]{position:relative;font-family:var(--font-code);font-size:var(--font-size-l);top:-.05em}.prose [data-footnote-ref]{font-size:1em;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"zero" 0,"cv01" 1,"cv02" 1,"calt" 1,"ss03" 1,"liga" 1,"ordn" 1}.prose [data-footnote-ref],.prose [data-footnote-backref]{color:var(--text-secondary);text-decoration:none;transition:color .2s ease-out;padding-right:.125em}.prose [data-footnote-ref]:hover,.prose [data-footnote-backref]:hover{color:var(--text-primary)}.prose .footnotes li.footnote-highlight,.prose sup.footnote-highlight,.prose cite.footnote-highlight{animation:footnote-highlight 1.35s ease-out}@keyframes footnote-highlight{0%,87%{background-color:var(--selection)}to{background-color:transparent}}.prose pre{background-color:var(--astro-code-background);border-radius:8px;padding:1.25em 1.5em;margin-bottom:var(--media-block-gap);overflow-x:auto;font-family:var(--font-code);font-feature-settings:"liga" 0,"calt" 0}@media(max-width:768px){.prose pre{padding:1em 1.25em}}.prose pre>code{font-family:var(--font-code);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-family:inherit}.prose pre>code *{font-size:var(--font-size-s)}.katex-mathml{display:none!important}.katex-display{text-align:center;margin-bottom:var(--content-block-gap)}.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;--wide-content-width: 40rem;--font-content: "Lyon Text Web", "Zen Old Mincho", Baskerville, Georgia, "Times New Roman", Times, serif;--font-header: "Roslindale Deck Narrow", "Zen Old Mincho", Baskerville, Georgia, "Times New Roman", Times, serif;--font-ui: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;--font-code: "iA Writer Quattro", "SF Mono", SFMono-Regular, monospace;--font-header-features: "ss02" 1;--font-size-s: .76rem;--font-size-m: 1rem;--font-size-l: 1.02rem;--font-size-xl: 1.08rem;--font-size-2xl: 1.3rem;--font-weight-light: 350;--font-weight-regular: 400;--spacing-s: -.08em;--spacing-m: -.02em;--tracking-tight: -.01em;--tracking-medium: -.006em;--tracking-meta: var(--spacing-s);--type-base: 1.125rem;--type-scale-meta: .88;--type-scale-heading-h1: 1.48;--type-scale-heading-h2: 1.2;--type-scale-heading-h3: 1.06;--type-scale-heading-h5: .94;--type-scale-post-title: 1.56;--type-scale-year-label: .8;--type-scale-nav: .746667;--type-scale-summary: .853333;--type-scale-back-button: .728889;--type-meta: calc(var(--type-base) * var(--type-scale-meta));--type-list: var(--type-base);--type-heading: var(--type-base);--type-heading-h1: calc(var(--type-base) * var(--type-scale-heading-h1));--type-heading-h2: calc(var(--type-base) * var(--type-scale-heading-h2));--type-heading-h3: calc(var(--type-base) * var(--type-scale-heading-h3));--type-heading-h5: calc(var(--type-base) * var(--type-scale-heading-h5));--type-post-title: calc(var(--type-base) * var(--type-scale-post-title));--type-year-label: calc(var(--type-base) * var(--type-scale-year-label));--type-nav: calc(var(--type-base) * var(--type-scale-nav));--type-summary: calc(var(--type-base) * var(--type-scale-summary));--type-back-button: calc(var(--type-base) * var(--type-scale-back-button));--body-size: var(--type-base);--body-line-height: 1.74;--body-spacing: 0;--paragraph-gap: 1em;--space-base: var(--paragraph-gap);--space-ratio-heading-start: 1.65;--space-ratio-heading-end: .6;--space-ratio-heading-h2-start: 1.75;--space-ratio-heading-h2-end: .64;--space-ratio-heading-h3-start: 1.55;--space-ratio-heading-h3-end: .56;--space-ratio-flow-l: 1.5;--space-ratio-flow-xl: 2;--space-ratio-archive-year-items: .16;--space-ratio-archive-entry: .73;--space-ratio-content-block: 1.75;--space-ratio-media-block: 2;--space-ratio-nested-list: .5;--space-ratio-hr-block: 2.5;--space-ratio-list-item: .355556;--space-ratio-ordered-list-indent: 1.111111;--space-ratio-page-padding-top: 2.666667;--space-ratio-page-padding-top-mobile: 1.777778;--space-ratio-back-button-fixed: 9.333333;--space-ratio-page-header-row: .34;--space-ratio-page-header-column-mobile: 1;--space-ratio-page-header-row-mobile: .3;--space-ratio-nav-item-row: .28;--space-ratio-nav-item-column: .73;--space-ratio-nav-item-row-mobile: .27;--space-ratio-nav-item-column-mobile: .64;--flow-space: var(--space-base);--flow-space-l: calc(var(--space-base) * var(--space-ratio-flow-l));--flow-space-xl: calc(var(--space-base) * var(--space-ratio-flow-xl));--meta-size: var(--type-meta);--meta-line-height: 1.5;--meta-weight: var(--font-weight-light);--meta-tracking: var(--tracking-meta);--date-tracking: 0;--site-title-size: .98rem;--site-title-weight: var(--font-weight-regular);--site-title-tracking: var(--tracking-medium);--nav-size: var(--type-nav);--year-label-size: var(--type-year-label);--summary-size: var(--type-summary);--back-button-size: var(--type-back-button);--back-button-line-height: var(--meta-line-height);--list-title-size: var(--type-list);--list-title-weight: var(--font-weight-regular);--list-title-tracking: var(--tracking-medium);--post-title-size: var(--type-post-title);--post-title-line-height: 1.16;--post-title-tracking: var(--tracking-tight);--title-meta-gap: .375rem;--heading-size: var(--type-heading);--heading-line-height: 1.34;--heading-h2-line-height: 1.3;--heading-tracking: -.005em;--heading-margin-block-start: calc(var(--space-base) * var(--space-ratio-heading-start));--heading-margin-block-end: calc(var(--space-base) * var(--space-ratio-heading-end));--heading-h2-margin-block-start: calc(var(--space-base) * var(--space-ratio-heading-h2-start));--heading-h2-margin-block-end: calc(var(--space-base) * var(--space-ratio-heading-h2-end));--heading-h3-margin-block-start: calc(var(--space-base) * var(--space-ratio-heading-h3-start));--heading-h3-margin-block-end: calc(var(--space-base) * var(--space-ratio-heading-h3-end));--title-content-gap: var(--flow-space-xl);--prose-end-gap: calc(var(--space-base) * var(--space-ratio-prose-end));--timeline-group-gap: var(--flow-space-l);--archive-year-items-gap: calc(var(--space-base) * var(--space-ratio-archive-year-items));--archive-entry-gap: calc(var(--space-base) * var(--space-ratio-archive-entry));--content-block-gap: calc(var(--space-base) * var(--space-ratio-content-block));--media-block-gap: calc(var(--space-base) * var(--space-ratio-media-block));--nested-list-gap: calc(var(--space-base) * var(--space-ratio-nested-list));--hr-margin-block: calc(var(--space-base) * var(--space-ratio-hr-block));--list-item-gap: calc(var(--space-base) * var(--space-ratio-list-item));--ordered-list-indent: calc(var(--space-base) * var(--space-ratio-ordered-list-indent));--page-padding-inline: 1.25rem;--page-padding-inline-mobile: 1.35rem;--page-padding-block-end: 1.5rem;--page-margin-inline-start-wide: var(--prose-end-gap);--page-padding-top: calc(var(--title-content-gap) * var(--space-ratio-page-padding-top));--page-padding-top-mobile: calc(var(--title-content-gap) * var(--space-ratio-page-padding-top-mobile));--header-back-button-offset: calc((var(--back-button-size) * var(--back-button-line-height)) + var(--title-meta-gap));--back-button-fixed-space: calc(var(--space-base) * var(--space-ratio-back-button-fixed));--back-button-fixed-threshold: calc(var(--back-button-fixed-space) + .75rem);--back-button-inline-gap: .28rem;--back-button-inline-offset: -.175em;--back-button-fixed-padding-inline-start: .75rem;--footer-start-gap: 4rem;--footer-date-gap: .45rem;--content-teaser-end-gap: 1.25rem;--footnotes-start-gap: 4rem;--footnotes-padding-block-start: 1.75rem;--page-header-column-gap: var(--flow-space-l);--page-header-row-gap: calc(var(--space-base) * var(--space-ratio-page-header-row));--page-header-column-gap-mobile: calc(var(--space-base) * var(--space-ratio-page-header-column-mobile));--page-header-row-gap-mobile: calc(var(--space-base) * var(--space-ratio-page-header-row-mobile));--nav-item-row-gap: calc(var(--space-base) * var(--space-ratio-nav-item-row));--nav-item-column-gap: calc(var(--space-base) * var(--space-ratio-nav-item-column));--nav-item-row-gap-mobile: calc(var(--space-base) * var(--space-ratio-nav-item-row-mobile));--nav-item-column-gap-mobile: calc(var(--space-base) * var(--space-ratio-nav-item-column-mobile));--inline-code-size: .86em;--inline-code-padding-y: .06em;--inline-code-padding-x: .28em;--link-underline-thickness: 1.3px;--link-underline-offset: .32em;--bg: #ffffff;--text-primary: rgba(0, 0, 0, .85);--text-secondary: rgba(0, 0, 0, .4);--text-secondary-hover: rgba(0, 0, 0, .52);--text-tertiary: rgba(0, 0, 0, .24);--text-heading-muted: #444;--border: rgba(0, 0, 0, .1);--selection: rgba(0, 0, 0, .08);--code-bg: rgba(0, 0, 0, .028);--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-secondary-hover: rgba(0, 0, 0, .52);--text-tertiary: rgba(0, 0, 0, .24);--text-heading-muted: #444;--border: rgba(0, 0, 0, .1);--selection: rgba(0, 0, 0, .08);--code-bg: rgba(0, 0, 0, .028);--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: #1c1c1c;--text-primary: rgba(255, 255, 255, .9);--text-secondary: rgba(255, 255, 255, .4);--text-secondary-hover: rgba(255, 255, 255, .56);--text-tertiary: rgba(255, 255, 255, .24);--text-heading-muted: rgba(255, 255, 255, .72);--border: rgba(255, 255, 255, .1);--selection: rgba(255, 255, 255, .08);--code-bg: rgba(255, 255, 255, .03);--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);scroll-behavior:smooth;scrollbar-gutter:stable;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:transparent;transition:background-color .2s ease-out}body{font-family:var(--font-content);font-feature-settings:"ss03" 1;font-size:var(--body-size);line-height:var(--body-line-height);color:var(--text-primary);min-height:100vh;display:flex;flex-direction:column;box-sizing:border-box;letter-spacing:var(--body-spacing);margin:0 auto;width:100%;overscroll-behavior-y:contain;text-autospace:normal;text-spacing-trim:space-first;text-rendering:optimizeLegibility;font-synthesis:none;word-wrap:break-word;overflow-wrap:break-word}h1,h2,h3,h4,h5,h6,.title{font-family:var(--font-content)}header a{font-family:var(--font-header);font-feature-settings:var(--font-header-features)}body[data-centered=true]{padding:var(--page-padding-top) var(--page-padding-inline) var(--page-padding-block-end)}body[data-centered=false]{padding:var(--page-padding-top) 0 var(--page-padding-block-end);margin:0 var(--page-padding-block-end) 0 var(--page-margin-inline-start-wide)}@media(max-width:768px){body[data-centered=true],body[data-centered=false]{padding:var(--page-padding-top-mobile) var(--page-padding-inline-mobile) var(--page-padding-inline-mobile);margin:0 auto}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}::selection{background-color:var(--selection)}:focus:not(:focus-visible){outline:none}:focus-visible{outline:1.5px dashed var(--text-tertiary);border-radius:.25rem}body[data-width]{max-width:var(--content-width)}main{flex:1;display:flex;flex-direction:column;box-sizing:border-box}.date{margin:0;font-family:var(--font-content);line-height:var(--meta-line-height);font-style:italic;font-weight:var(--meta-weight);color:var(--text-primary);opacity:1;flex-shrink:0;letter-spacing:var(--date-tracking);font-variant-numeric:tabular-nums;font-feature-settings:"kern" 1,"calt" 1,"liga" 1,"tnum" 1,"lnum" 0,"zero" 0,"ordn" 0,"cv01" 1,"cv02" 1,"ss03" 1,"calt" 1}.date .month{letter-spacing:0}.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}.link-hover-underline{text-decoration:none}.link-hover-underline:hover{text-decoration:underline;text-decoration-color:var(--text-primary);text-decoration-thickness:var(--link-underline-thickness);text-underline-offset:var(--link-underline-offset)}footer[data-astro-cid-35ed7um5]{font-family:var(--font-content);font-size:var(--font-size-s);font-weight:var(--font-weight-light);font-style:normal;line-height:1.75;color:var(--text-secondary);margin-top:var(--footer-start-gap)}.footer-content[data-astro-cid-35ed7um5]{display:flex;align-items:center;width:100%}.copyright[data-astro-cid-35ed7um5]{white-space:nowrap}.copyright[data-astro-cid-35ed7um5] .date[data-astro-cid-35ed7um5]{display:inline-block;font-family:var(--font-content);margin-right:var(--footer-date-gap);color:inherit;font-style:inherit;font-feature-settings:"lnum" 1}.copyright[data-astro-cid-35ed7um5] .author[data-astro-cid-35ed7um5]{font-family:var(--font-content);color:inherit;font-style:inherit}.copyright[data-astro-cid-35ed7um5] .license[data-astro-cid-35ed7um5]{font-family:var(--font-content);color:inherit;font-style:inherit;font-feature-settings:"lnum" 1}.copyright[data-astro-cid-35ed7um5] .license[data-astro-cid-35ed7um5] a[data-astro-cid-35ed7um5]{color:inherit;text-decoration:underline;text-decoration-color:var(--text-secondary);text-decoration-thickness:var(--link-underline-thickness);text-underline-offset:var(--link-underline-offset)}.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}.layout-wrapper{display:flex;flex-direction:column;flex:1;min-height:0}.gradient-mask[data-astro-cid-5gze4ep5]{position:fixed;top:0;left:0;width:100%;height:2rem;z-index:99;pointer-events:none;background-color:var(--bg);backdrop-filter:blur(1px);mask-image:linear-gradient(to bottom,rgba(0,0,0,.92) 0%,rgba(0,0,0,.738) 19%,rgba(0,0,0,.541) 34%,rgba(0,0,0,.382) 47%,rgba(0,0,0,.278) 56.5%,rgba(0,0,0,.194) 65%,rgba(0,0,0,.126) 73%,rgba(0,0,0,.075) 80.2%,rgba(0,0,0,.042) 86.1%,rgba(0,0,0,.021) 91%,rgba(0,0,0,.008) 95.2%,rgba(0,0,0,.002) 98.2%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.92) 0%,rgba(0,0,0,.738) 19%,rgba(0,0,0,.541) 34%,rgba(0,0,0,.382) 47%,rgba(0,0,0,.278) 56.5%,rgba(0,0,0,.194) 65%,rgba(0,0,0,.126) 73%,rgba(0,0,0,.075) 80.2%,rgba(0,0,0,.042) 86.1%,rgba(0,0,0,.021) 91%,rgba(0,0,0,.008) 95.2%,rgba(0,0,0,.002) 98.2%,transparent 100%);opacity:0;transition:background-color .2s ease-out}@media(min-width:768px){.gradient-mask[data-astro-cid-5gze4ep5]{height:4rem}}
