@font-face{font-family:September Spirit;font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/september_spirit-webfont.woff2) format("woff2"),url(/fonts/september_spirit-webfont.woff) format("woff")}@font-face{font-family:September Spirit Alt;font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/september_spirit_alt-webfont.woff2) format("woff2"),url(/fonts/september_spirit_alt-webfont.woff) format("woff")}@font-face{font-family:September Spirit Caps;font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/september_spirit_all_caps-webfont.woff2) format("woff2"),url(/fonts/september_spirit_all_caps-webfont.woff) format("woff")}@font-face{font-family:September Spirit Extras;font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/september_spirit_extras-webfont.woff2) format("woff2"),url(/fonts/september_spirit_extras-webfont.woff) format("woff")}@font-face{font-family:Bull-5-mono;font-style:normal;font-display:swap;src:url(/fonts/bull5/Bull-5-Mono.otf) format("otf")}@font-face{font-family:Bull-5;font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/bull5/Bull-5-Regular.woff2) format("woff2"),url(/fonts/bull5/Bull-5-Regular.woff) format("woff")}@font-face{font-family:Bull-5;font-weight:400;font-style:italic;font-display:swap;src:url(/fonts/bull5/Bull-5-Regular-Italic.woff2) format("woff2"),url(/fonts/bull5/Bull-5-Regular-Italic.woff) format("woff")}@font-face{font-family:Bull-5;font-weight:500;font-style:normal;font-display:swap;src:url(/fonts/bull5/Bull-5-Medium.woff2) format("woff2"),url(/fonts/bull5/Bull-5-Medium.woff) format("woff")}@font-face{font-family:Bull-5;font-weight:500;font-style:italic;font-display:swap;src:url(/fonts/bull5/Bull-5-Medium-Italic.woff2) format("woff2"),url(/fonts/bull5/Bull-5-Medium-Italic.woff) format("woff")}@font-face{font-family:Bull-5;font-weight:600;font-style:normal;font-display:swap;src:url(/fonts/bull5/Bull-5-Semibold.woff2) format("woff2"),url(/fonts/bull5/Bull-5-Semibold.woff) format("woff")}@font-face{font-family:Bull-5;font-weight:600;font-style:italic;font-display:swap;src:url(/fonts/bull5/Bull-5-Semibold-Italic.woff2) format("woff2"),url(/fonts/bull5/Bull-5-Semibold-Italic.woff) format("woff")}@font-face{font-family:Bull-5;font-weight:700;font-style:normal;font-display:swap;src:url(/fonts/bull5/Bull-5-Bold.woff2) format("woff2"),url(/fonts/bull5/Bull-5-Bold.woff) format("woff")}@font-face{font-family:Bull-5;font-weight:700;font-style:italic;font-display:swap;src:url(/fonts/bull5/Bull-5-Bold-Italic.woff2) format("woff2"),url(/fonts/bull5/Bull-5-Bold-Italic.woff) format("woff")}@font-face{font-family:Bull-5;font-weight:800;font-style:normal;font-display:swap;src:url(/fonts/bull5/Bull-5-Extrabold.woff2) format("woff2"),url(/fonts/bull5/Bull-5-Extrabold.woff) format("woff")}@font-face{font-family:Bull-5;font-weight:800;font-style:italic;font-display:swap;src:url(/fonts/bull5/Bull-5-Extrabold-Italic.woff2) format("woff2"),url(/fonts/bull5/Bull-5-Extrabold-Italic.woff) format("woff")}@font-face{font-family:Bull-5;font-weight:900;font-style:normal;font-display:swap;src:url(/fonts/bull5/Bull-5-Black.woff2) format("woff2"),url(/fonts/bull5/Bull-5-Black.woff) format("woff")}@font-face{font-family:Bull-5;font-weight:900;font-style:italic;font-display:swap;src:url(/fonts/bull5/Bull-5-Black-Italic.woff2) format("woff2"),url(/fonts/bull5/Bull-5-Black-Italic.woff) format("woff")}@font-face{font-family:Berkeley Mono;font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/TX-02-R45MX330/BerkeleyMono-Regular.woff2) format("woff2")}@font-face{font-family:Berkeley Mono;font-weight:400;font-style:oblique;font-display:swap;src:url(/fonts/TX-02-R45MX330/BerkeleyMono-Oblique.woff2) format("woff2")}@font-face{font-family:Berkeley Mono;font-weight:700;font-style:normal;font-display:swap;src:url(/fonts/TX-02-R45MX330/BerkeleyMono-Bold.woff2) format("woff2")}@font-face{font-family:Berkeley Mono;font-weight:700;font-style:oblique;font-display:swap;src:url(/fonts/TX-02-R45MX330/BerkeleyMono-Bold-Oblique.woff2) format("woff2")}@font-face{font-family:Noto Sans Runic;font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/noto-sans-runic/NotoSansRunic-Regular.ttf) format("truetype")}@font-face{font-family:Noto Sans Phoenician;font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/noto-sans-phoenician/NotoSansPhoenician-Regular.ttf) format("truetype")}:root{--font-body: "Bull-5", "Courier New", courier, monospace;--font-heading: "Bull-5-mono", "Courier New", courier, monospace;--font-mono: "Berkeley Mono", "Courier New", courier, monospace;--font-typewriter: "Bull-5-Typewriter", "Courier New", courier, monospace;--font-runic: "Noto Sans Runic", serif;--font-phoenician: "Noto Sans Phoenician", serif;--em: 15px;--baseline: 22px;--baseline-offset: 6px;--leading-tight: 1.25;--leading-body: var(--baseline);--leading-relaxed: 1.75}:root{--raw-white: #fff;--raw-black: #000;--palette-error: #d32f2f;--palette-warning: #f57c00;--palette-success: #388e3c;--palette-info: #1976d2}:root,[data-theme=light]{--themed-background-color: var(--raw-white);--themed-slight-background-color: #f3f3f3;--themed-strong-background-color: #efefef;--themed-body-color: var(--raw-black);--themed-slight-body-color: #696969;--themed-strong-body-color: var(--raw-black);--themed-heading-color: var(--raw-black);--themed-link-color: blue;--themed-link-hover-color: #4f67bd;--themed-accent-color: #8b4513;--themed-accent-hover-color: #a0522d;--themed-border-color: #e5e0d8;--themed-slight-border-color: #eaeaea;--themed-text-decoration: #787878;--themed-selection-color: #3cff00;--themed-chart-chrome-color: #242424;--themed-chart-segment-1-color: var(--themed-chart-silver);--themed-chart-highlight-color: var(--themed-chart-navy);--themed-chart-terracotta: #cf6a4c;--themed-chart-navy: #5b7a8a;--themed-chart-olive: #5d7d56;--themed-chart-ochre: #dda54b;--themed-chart-charcoal: #666;--themed-chart-coral: #d8927e;--themed-chart-slate: #7a8fa0;--themed-chart-sage: #a8bda4;--themed-chart-tan: #cca854;--themed-chart-stone: #909090;--themed-chart-rose: #e8a8a8;--themed-chart-seafoam: #a8c0b8;--themed-chart-khaki: #c8ca96;--themed-chart-butter: #f0e078;--themed-chart-silver: #c8c8c8;--themed-grid-stroke: rgb(244 16 244 / 25%);--themed-baseline-stroke: rgb(0 56 222 / 10%)}[data-theme=dark]{--themed-background-color: var(--raw-black);--themed-slight-background-color: #1a1a1a;--themed-strong-background-color: #0a0a0a;--themed-body-color: #f6f6f6;--themed-slight-body-color: #999;--themed-strong-body-color: var(--raw-white);--themed-heading-color: var(--raw-white);--themed-link-color: #1f68fa;--themed-link-hover-color: #365ef2;--themed-accent-color: #c84;--themed-accent-hover-color: #d95;--themed-border-color: #333;--themed-slight-border-color: #444;--themed-text-decoration: #494949;--themed-selection-color: #cadf0f;--themed-chart-chrome-color: #9a9a9a;--themed-chart-segment-1-color: var(--themed-chart-silver);--themed-chart-highlight-color: var(--themed-chart-navy);--themed-chart-terracotta: #d8927e;--themed-chart-navy: #7a8fa0;--themed-chart-olive: #a8bda4;--themed-chart-ochre: #cca854;--themed-chart-charcoal: #909090;--themed-chart-coral: #e8a8a8;--themed-chart-slate: #a8c0b8;--themed-chart-sage: #c8ca96;--themed-chart-tan: #f0e078;--themed-chart-stone: #c8c8c8;--themed-chart-rose: #f0c0c0;--themed-chart-seafoam: #c0d8d0;--themed-chart-khaki: #d8daa8;--themed-chart-butter: #f8e890;--themed-chart-silver: #e0e0e0;--themed-grid-stroke: #410d41;--themed-baseline-stroke: #091827;--palette-error: #ef5350;--palette-warning: #ffb74d;--palette-success: #66bb6a;--palette-info: #42a5f5}:root{--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;--space-12: 3rem;--space-16: 4rem;--content-width: 38rem;--page-margin: var(--em)}@media screen and (min-width:390px){:root{--page-margin: calc(2 * var(--em))}}@media screen and (min-width:428px){:root{--page-margin: calc(2 * var(--em))}}@media screen and (min-width:768px){:root{--page-margin: calc(2 * var(--em))}}@media screen and (min-width:1024px){:root{--page-margin: calc(4 * var(--em))}}@media screen and (min-width:1440px){:root{--page-margin: calc(5 * var(--em))}}@media screen and (min-width:1920px){:root{--page-margin: calc(6 * var(--em))}}@media screen and (min-width:2560px){:root{--page-margin: calc(8 * var(--em))}}:root{--column-gutter: var(--em)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:6px;font-kerning:normal;text-rendering:optimizelegibility;-moz-osx-font-smoothing:grayscale;font-synthesis:none;text-size-adjust:100%}html.lightbox-open{position:fixed;right:0;bottom:-50px;left:0;width:100%;padding-bottom:50px;background:#fff}html.lightbox-open[data-theme=dark]{background:#000}@media(prefers-color-scheme:dark){html.lightbox-open:not([data-theme]){background:#000}}body{min-height:100vh;font-family:var(--font-body);font-size:var(--em);line-height:var(--leading-body);color:var(--themed-body-color);background-color:var(--themed-background-color)}.lightbox-open body{background:#fff}[data-theme=dark].lightbox-open body{background:#000}@media(prefers-color-scheme:dark){:not([data-theme]).lightbox-open body{background:#000}}::selection{background-color:var(--themed-selection-color)}:root{--grid-columns: 6}@media screen and (min-width:768px){:root{--grid-columns: 12}}.site-wrapper{position:relative;z-index:1;display:flex;flex-direction:column;min-height:100vh}.content{position:relative;display:grid;flex:1;grid-template-columns:repeat(var(--grid-columns),1fr);column-gap:var(--column-gutter);width:100%;margin:0 auto;padding:0 var(--page-margin)}.content>*{position:relative;z-index:1}:root{--column-stroke-width: 1px}@media(min-device-pixel-ratio:2),(resolution>=2dppx){:root{--column-stroke-width: .5px}}@media(min-device-pixel-ratio:3),(resolution>=3dppx){:root{--column-stroke-width: .333px}}.grid-overlay{position:fixed;inset:0;z-index:-1;display:none;grid-template-columns:repeat(var(--grid-columns),1fr);column-gap:var(--column-gutter);padding:0 var(--page-margin);pointer-events:none}.grid-col{border-right:var(--column-stroke-width) solid var(--themed-grid-stroke);border-left:var(--column-stroke-width) solid var(--themed-grid-stroke)}.grid-col:nth-child(n+7){display:none}@media screen and (min-width:768px){.grid-col:nth-child(n+7){display:block}}.designer-grid .grid-overlay{display:grid}:root{--baseline-stroke-width: 1px;--baseline-divisions: 1}@media(min-device-pixel-ratio:2),(resolution>=2dppx){:root{--baseline-stroke-width: .5px}}@media(min-device-pixel-ratio:3),(resolution>=3dppx){:root{--baseline-stroke-width: .333px}}.designer-grid .content,.designer-grid .site-header,.designer-grid .site-footer{background-image:linear-gradient(to bottom,var(--themed-baseline-stroke) 0,var(--themed-baseline-stroke) var(--baseline-stroke-width),transparent var(--baseline-stroke-width));background-position:0 0;background-size:100% calc(var(--baseline) / var(--baseline-divisions))}.textblock{position:relative;grid-column:1/-1;margin-bottom:66px}@media screen and (min-width:768px){.textblock{grid-column:4/10}}@media screen and (min-width:1024px){.textblock{grid-column:5/10}}@media screen and (min-width:1440px){.textblock{grid-column:5/9}}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:500;line-height:22px;letter-spacing:.02em}h1{margin-top:66px;padding-top:6px;padding-bottom:38px;font-family:var(--font-typewriter);font-size:22px;font-weight:400;text-transform:uppercase}h2{margin-top:44px;margin-bottom:17px;padding-top:7px;font-family:var(--font-typewriter);font-size:21px;font-weight:500;line-height:20px;letter-spacing:0;text-transform:uppercase}h3,h4,h5{margin-top:22px;margin-bottom:16px;padding-top:6px;font-family:var(--font-typewriter);font-size:18px;font-weight:500;letter-spacing:0;text-transform:uppercase}h4{padding-top:6px;text-align:center}h5{margin-bottom:-6px;padding-top:6px;font-family:var(--font-body);font-size:15px;font-weight:400}h6{float:left;margin-top:0;margin-right:var(--em);margin-bottom:0;font-family:var(--font-body);font-size:15px;font-weight:400;text-transform:uppercase;transform:translateY(var(--baseline-offset))}h6+p{display:block!important;margin-bottom:var(--baseline)}h6+p:after{display:block;clear:both;content:""}@media screen and (min-width:320px){.textblock{margin-top:calc(var(--baseline) * 1);margin-bottom:calc(var(--baseline) * 12)}}@media screen and (min-width:768px){.textblock{margin-top:calc(var(--baseline) * 9)}}@media screen and (min-width:1024px){.textblock{margin-top:calc(var(--baseline) * 10)}}.textblock p{display:inline-block;margin-bottom:calc(var(--baseline) * 1);line-height:var(--baseline);letter-spacing:normal;word-spacing:normal;text-align:justify;text-align-last:left;text-justify:auto;hyphens:auto;hyphenate-character:auto;hyphenate-limit-chars:auto auto auto;hyphenate-limit-lines:3;transform:translateY(var(--baseline-offset))}@media screen and (min-width:320px){.textblock p{text-align:left;hyphens:none}}a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;color:var(--themed-link-color);transition:color .15s ease}a:hover{color:var(--themed-link-hover-color)}strong,b{font-weight:600}em,i{font-style:italic}ul,ol{margin-left:-14px;padding-left:1em}li{margin-bottom:16px;padding-top:6px}li::marker{color:var(--themed-text-decoration);transform:translateY(10px)}ul{padding-left:2em;list-style:none}ul li{position:relative}ul li:before{position:absolute;top:10px;left:-.75em;font-size:1.5em;color:var(--themed-text-decoration);content:"* "}ul li ul{margin-top:16px}ol li ol{margin-top:16px;padding-left:3.33em;list-style:upper-alpha}ol li ol li{margin-bottom:16px;padding-top:6px;color:red}ul li ul li{margin-bottom:16px;padding-top:6px}blockquote{margin-top:calc(var(--baseline) * 1);margin-bottom:calc(var(--baseline) * 2);padding-right:4em;padding-left:2.25em}blockquote p:last-child{margin-bottom:0}.astro-code{background-color:transparent!important}[data-theme=dark] .astro-code,[data-theme=dark] .astro-code span{color:var(--shiki-dark)!important;background-color:transparent!important}@media(prefers-color-scheme:dark){:root:not([data-theme]) .astro-code,:root:not([data-theme]) .astro-code span{color:var(--shiki-dark)!important;background-color:transparent!important}}code{padding:1px 3px;border-radius:3px;font-family:var(--font-mono);font-size:.87em;line-height:16px;color:var(--themed-body-color);background:var(--themed-slight-background-color)}pre{position:relative;margin-top:22px;margin-bottom:37px;margin-left:0;padding:7px 0 0;font-size:14px;line-height:20px;color:var(--themed-body-color);background:transparent!important;overflow:visible;scroll-indicator:none}pre:after{position:absolute;top:0;right:0;z-index:1;width:40px;height:100%;background:linear-gradient(to right,transparent,var(--themed-background-color));pointer-events:none;content:""}pre code{display:block;padding:0 40px 0 0;font-size:inherit;line-height:22px;background:none;overflow-x:auto;-ms-overflow-style:none;scrollbar-width:none}pre code::-webkit-scrollbar{display:none}hr{height:1px;margin-top:calc(var(--baseline) * 1);margin-bottom:calc(var(--baseline) * 1 - 1px);border:none;background:repeating-linear-gradient(to right,var(--themed-slight-body-color) 0,var(--themed-slight-body-color) .5em,transparent .25em,transparent .75em)}.textblock img{margin-top:calc(var(--baseline) * 3)}figure{position:relative;margin-top:22px;margin-bottom:56px}figure:before{display:none}figure img{display:block;max-width:100%;height:auto;box-shadow:0 2px 4px #00000008,0 2px 4px #0000000a}figure figcaption{width:100%;margin-top:6px;padding-top:4px;font-family:September Spirit,cursive;font-size:26px}@media screen and (min-width:768px){figure{margin-left:calc(-1 * (var(--column-gutter) + (100vw - 2 * var(--page-margin) - (var(--grid-columns) - 1) * var(--column-gutter)) / var(--grid-columns) / 2))}figure:before{position:absolute;top:-22px;left:55%;z-index:10;display:block;width:220px;height:56px;background:linear-gradient(135deg,#d2d2d266,#e7e7e74d);box-shadow:0 1px 2px #00000012;backdrop-filter:blur(.35px);mask:linear-gradient(135deg,#000 50%,rgba(0,0,0,0) 0) left 0/var(--s) calc(var(--s) * 2) repeat-y,linear-gradient(-135deg,#000 50%,rgba(0,0,0,0) 0) left var(--s)/var(--s) calc(var(--s) * 2) repeat-y,linear-gradient(45deg,#000 50%,rgba(0,0,0,0) 0) right 0/var(--s) calc(var(--s) * 2) repeat-y,linear-gradient(-45deg,#000 50%,rgba(0,0,0,0) 0) right var(--s)/var(--s) calc(var(--s) * 2) repeat-y,linear-gradient(#000,#000) center/calc(100% - var(--s)) 100% no-repeat;transform:translate(-50%) rotate(.5deg);content:"";mask-composite:source-over;mask-composite:add;--s: 2px}figure img{max-width:calc(var(--baseline) * 30 + 5px);margin-top:18px;transform:rotate(-.3deg)}figure figcaption{margin-left:calc(var(--column-gutter) + (100vw - 2 * var(--page-margin) - (var(--grid-columns) - 1) * var(--column-gutter)) / var(--grid-columns) / 2)}}table{width:100%;margin:var(--space-6) 0;font-size:12px;border-collapse:collapse}th,td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--themed-border-color);text-align:left}th{font-weight:600;background:var(--themed-slight-background-color)}.article-meta{margin-bottom:var(--space-8);padding-bottom:var(--space-4);border-bottom:1px solid var(--themed-border-color);font-size:12px;color:var(--themed-slight-body-color)}.article-date{display:block}.article-tags{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}.article-tag{padding:var(--space-1) var(--space-2);border-radius:3px;font-size:10px;text-decoration:none;color:var(--themed-slight-body-color);background:var(--themed-slight-background-color)}.article-tag:hover{background:var(--themed-border-color)}.letter-header{margin-bottom:16px}.letter-title{padding-bottom:0}.letter-date{display:block;margin-top:44px;margin-bottom:38px;font-size:var(--em);font-weight:400;text-align:right}.letter-content{font-size:15px;line-height:22px}.mermaid{margin-top:calc(var(--baseline) * 3);background:transparent}.mermaid+p{margin-top:calc(var(--baseline) * 1)}@media screen and (min-width:320px){.mermaid{display:block;width:100%;max-width:100%;margin-left:0}}@media screen and (min-width:768px){.mermaid{width:calc(150% + var(--baseline));max-width:none;margin-left:calc(-25% - var(--baseline) / 2);overflow-x:visible}}.mermaid svg{display:block;margin:0 auto}@media screen and (min-width:320px){.mermaid svg{width:100%!important;max-width:100%!important;height:auto!important}}@media screen and (min-width:768px){.mermaid svg{width:100%!important;max-width:100%!important;height:auto!important}}[data-theme=dark] .mermaid svg:not([aria-roledescription=sankey],[aria-roledescription=pie]){filter:invert(1)}[data-theme=dark] .mermaid svg[aria-roledescription=sankey] .link{opacity:.5!important;mix-blend-mode:normal!important}.mermaid rect,.mermaid circle,.mermaid ellipse,.mermaid polygon{stroke-width:1.25px!important}.mermaid path.flowchart-link{stroke-width:1.25px!important}.mermaid span,.mermaid .nodeLabel,.mermaid .edgeLabel,.mermaid p{font-weight:400!important;text-transform:uppercase}.mermaid .node foreignObject>div{padding-top:0!important;padding-bottom:3px!important}.mermaid:has(>svg[aria-roledescription=sankey]){margin-top:38px!important}.mermaid svg[aria-roledescription=sankey] text{font-size:11px!important;font-weight:500!important;fill:var(--themed-body-color)!important;paint-order:stroke fill;stroke:var(--themed-background-color);stroke-width:4px}.mermaid .sankey-node text{text-anchor:start}.mermaid .sankey-node text tspan:last-child{dy:1.2em;x:0}.mermaid:has(>svg[aria-roledescription=xychart]){width:100%!important;max-width:100%!important;margin-left:0!important}.mermaid svg[aria-roledescription=xychart] .plot rect{fill:var(--themed-chart-segment-1-color);stroke:var(--themed-chart-segment-1-color)}.mermaid svg[aria-roledescription=xychart] .ticks path,.mermaid svg[aria-roledescription=xychart] .axisl-line path,.mermaid svg[aria-roledescription=xychart] .axis-line path{stroke:var(--themed-chart-chrome-color)!important}.mermaid svg[aria-roledescription=xychart] text{font-family:var(--font-body)!important;font-size:13px!important;fill:var(--themed-chart-chrome-color)!important}.mermaid:has(>svg[aria-roledescription=pie]){width:100%!important;max-width:100%!important;margin-left:0!important}.mermaid svg[aria-roledescription=pie] path.pieCircle{opacity:1!important;stroke:var(--raw-black)!important;stroke-width:2px}.mermaid .slice{font-family:var(--font-body)!important;font-size:13px!important;font-weight:500!important;fill:var(--themed-body-color)!important;paint-order:stroke fill;stroke:var(--themed-background-color);stroke-width:4px}.mermaid .legend text,.mermaid text.legendText{font-family:var(--font-body)!important;font-size:13px!important;font-weight:400!important;fill:var(--themed-chart-chrome-color)!important}.mermaid text.pieTitleText{font-family:var(--font-body)!important;font-size:13px!important;font-weight:400!important;fill:var(--themed-chart-chrome-color)!important}.mermaid svg[aria-roledescription=pie] text{font-family:var(--font-body)!important}.mermaid svg[aria-roledescription=pie] g.legend:nth-of-type(1) rect{fill:var(--pie-color-1)!important}.mermaid svg[aria-roledescription=pie] g.legend:nth-of-type(2) rect{fill:var(--pie-color-2)!important}.mermaid svg[aria-roledescription=pie] g.legend:nth-of-type(3) rect{fill:var(--pie-color-3)!important}.mermaid svg[aria-roledescription=pie] g.legend:nth-of-type(4) rect{fill:var(--pie-color-4)!important}.mermaid svg[aria-roledescription=pie] g.legend:nth-of-type(5) rect{fill:var(--pie-color-5)!important}.mermaid svg[aria-roledescription=pie] g.legend:nth-of-type(6) rect{fill:var(--pie-color-6)!important}.mermaid svg[aria-roledescription=pie] g.legend:nth-of-type(7) rect{fill:var(--pie-color-7)!important}.mermaid svg[aria-roledescription=pie] g.legend:nth-of-type(8) rect{fill:var(--pie-color-8)!important}.mermaid svg[aria-roledescription=pie] g.legend:nth-of-type(9) rect{fill:var(--pie-color-9)!important}.mermaid svg[aria-roledescription=pie] g.legend:nth-of-type(10) rect{fill:var(--pie-color-10)!important}.site-header{position:relative;display:grid;align-items:center;grid-template-columns:repeat(var(--grid-columns),1fr);column-gap:var(--column-gutter);width:100%;height:calc(var(--baseline) * 3);padding:0 var(--page-margin);font-size:12px;letter-spacing:.03em;text-transform:uppercase}.site-header>*{position:relative;z-index:1}.header-left{grid-column:1/3}@media screen and (min-width:768px){.header-left{grid-column:1/5}}.header-row{display:flex;align-items:center;justify-content:flex-end;gap:.1em}.header-center{grid-column:3/4;padding-top:13px;letter-spacing:.08em;text-align:center;text-decoration:none;color:var(--themed-body-color)}@media screen and (min-width:768px){.header-center{grid-column:5/9}}.header-center:hover{color:var(--themed-body-color)}.header-right{display:flex;flex-direction:column;align-items:flex-end;grid-column:4/7;gap:0;padding-top:7px}@media screen and (min-width:768px){.header-right{grid-column:9/13}}@media screen and (min-width:1440px){.header-right{grid-column:8/12}}.control-codes{display:none;flex-direction:column;align-items:flex-end;gap:0;margin-bottom:16px;padding-top:9px;font-family:var(--font-mono)}.show-control-codes .control-codes{display:flex}.control-code{font-size:14px;font-weight:500;letter-spacing:.03em;text-decoration:none;text-transform:uppercase;color:var(--themed-body-color)}.control-code:hover{color:var(--themed-body-color)}.control-code+.control-code:before{margin-right:.1em;color:var(--themed-body-color);content:":"}.designer-grid .header-grid-label{color:#00f}.series-d-control-code:after{content:"D7"}@media screen and (min-width:390px){.series-d-control-code:after{content:"D6"}}@media screen and (min-width:428px){.series-d-control-code:after{content:"D5"}}@media screen and (min-width:768px){.series-d-control-code:after{content:"D4"}}@media screen and (min-width:1024px){.series-d-control-code:after{content:"D3"}}@media screen and (min-width:1440px){.series-d-control-code:after{content:"D2"}}@media screen and (min-width:1920px){.series-d-control-code:after{content:"D1"}}@media screen and (min-width:2560px){.series-d-control-code:after{content:"D0"}}.site-footer{position:fixed;right:0;bottom:-1px;left:0;z-index:100;display:flex;flex-direction:column;padding-bottom:env(safe-area-inset-bottom,0);font-family:var(--font-mono);font-size:10px;letter-spacing:.03em;text-transform:uppercase;color:var(--themed-body-color);background-color:var(--themed-background-color);transform:translateZ(0);will-change:transform}@media screen and (min-width:768px){.site-footer{display:none}}.site-footer:before{position:absolute;right:0;bottom:100%;left:0;height:50px;background:linear-gradient(to bottom,transparent 0%,color-mix(in srgb,var(--themed-background-color) 2%,transparent) 10%,color-mix(in srgb,var(--themed-background-color) 10%,transparent) 20%,color-mix(in srgb,var(--themed-background-color) 20%,transparent) 40%,color-mix(in srgb,var(--themed-background-color) 40%,transparent) 60%,color-mix(in srgb,var(--themed-background-color) 80%,transparent) 75%,var(--themed-background-color) 100%);pointer-events:none;content:""}.footer-controls{display:grid;flex-shrink:0;align-items:center;grid-template-columns:1fr auto 1fr;height:21px;padding:4px var(--page-margin) 2px var(--page-margin)}@media screen and (min-width:428px){.footer-controls{margin-bottom:10px}}.footer-tab{margin:0;padding:0;border:none;font-family:inherit;font-size:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;background:none;outline:none;transition:opacity .15s ease;appearance:none;cursor:pointer;-webkit-tap-highlight-color:transparent}.footer-tab:hover{opacity:1}.footer-tab:focus{outline:none}.footer-tab.is-active{color:var(--themed-background-color);background-color:var(--themed-body-color)}.footer-tab-left{justify-self:start}.footer-tab-center{justify-self:center}.footer-tab-right{justify-self:end}.footer-panels{height:0;transition:height .3s ease-in-out;overflow:hidden}.site-footer.is-expanded .footer-panels{height:calc(var(--baseline) * 10)}.footer-panel{display:none;height:100%;overflow:hidden}.footer-panel.is-active{display:block}.footer-panel-content{position:relative;height:100%;padding-top:var(--baseline);font-size:var(--em);letter-spacing:normal;text-transform:none;overflow:hidden}.footer-toc,.footer-toc ul,.footer-toc li{margin:0;padding:0}.footer-toc li a{text-decoration:underline;color:var(--themed-body-color)}.footer-toc li:before{margin:0;padding:0;content:""}.bio{display:flex;flex-direction:column;align-items:center;justify-content:center;height:158px;padding:var(--baseline);font-size:12px;line-height:16px;text-align:center;overflow:hidden}.bio p{margin:0}@media screen and (min-width:428px){.bio{height:140px}}.social-logos{margin-left:16px;text-decoration:none}.footer-logos{display:flex;align-items:center;justify-content:center;gap:0;overflow:hidden}.footer-logos a{border:none;text-decoration:none}.footer-social-logo{width:40px;height:40px;padding-top:6px;object-fit:contain}[data-theme=dark] .footer-social-logo{filter:invert(1)}.footer-logo{width:40px;height:auto}[data-theme=dark] .footer-logo{filter:invert(1)}.footer-carousel{display:flex;gap:var(--baseline);padding-bottom:var(--baseline);padding-left:var(--page-margin);overflow:auto hidden;-ms-overflow-style:none;scrollbar-width:none}.footer-carousel::-webkit-scrollbar{display:none}.footer-carousel-item{display:flex;flex-shrink:0;align-items:center;justify-content:center;width:44px;height:44px;margin:0;padding:0;border:1px solid var(--themed-body-color);font-family:var(--font-mono);font-size:12px;text-transform:uppercase;color:var(--themed-body-color);background:none;outline:none;transition:background-color .15s ease,color .15s ease;appearance:none;cursor:pointer;-webkit-tap-highlight-color:transparent}.footer-carousel-item:hover{background-color:var(--themed-slight-background-color)}.footer-carousel-item:focus{outline:none}.footer-carousel-item.is-active{color:var(--themed-background-color);background-color:var(--themed-body-color)}.footer-nav{display:flex;flex-direction:column;gap:calc(var(--baseline) / 2);padding-left:var(--page-margin)}.footer-nav-link{font-family:var(--font-body);font-size:var(--em);line-height:var(--baseline);text-decoration:none;color:var(--themed-body-color)}.footer-nav-link:hover{text-decoration:underline}.footer-meta{padding:var(--baseline);padding-top:0}.footer-meta-list{display:grid;grid-template-columns:auto 1fr;gap:0 8px;margin:0;padding:0;font-family:var(--font-mono);font-size:10px;line-height:1.3;letter-spacing:.03em;text-transform:uppercase}.footer-meta-list dt{color:var(--themed-slight-color)}.footer-meta-list dd{margin:0;color:var(--themed-body-color)}.footer-meta-breakpoint:after{content:"D7"}@media screen and (min-width:390px){.footer-meta-breakpoint:after{content:"D6"}}@media screen and (min-width:428px){.footer-meta-breakpoint:after{content:"D5"}}@media screen and (min-width:768px){.footer-meta-breakpoint:after{content:"D4"}}@media screen and (min-width:1024px){.footer-meta-breakpoint:after{content:"D3"}}@media screen and (min-width:1440px){.footer-meta-breakpoint:after{content:"D2"}}@media screen and (min-width:1920px){.footer-meta-breakpoint:after{content:"D1"}}@media screen and (min-width:2560px){.footer-meta-breakpoint:after{content:"D0"}}.side-nav{z-index:100;font-family:var(--font-mono);font-size:12px;line-height:var(--baseline)}@media screen and (min-width:320px){.side-nav{position:relative;width:100%;margin-bottom:var(--baseline);padding:var(--baseline) var(--page-margin);padding-bottom:calc(var(--baseline) * 2)}}@media screen and (min-width:768px){.side-nav{position:fixed;top:31px;left:var(--page-margin);width:calc(3 * var(--col-width) + var(--column-gutter));height:100vh;margin-bottom:0;padding:0;border-bottom:none;overflow-y:auto;-ms-overflow-style:none;scrollbar-width:none;--content-width: calc(100% - 2 * var(--page-margin));--gap-count: calc(var(--grid-columns) - 1);--col-width: calc((var(--content-width) - var(--gap-count) * var(--column-gutter)) / var(--grid-columns))}.side-nav::-webkit-scrollbar{display:none}}.side-nav h2{margin-top:0;margin-bottom:-2px;padding-top:8px}.side-nav-logo{display:block;line-height:0}@media screen and (min-width:320px){.side-nav-logo{display:inline-block;margin-top:0;margin-right:12px;margin-bottom:0;vertical-align:middle}}@media screen and (min-width:768px){.side-nav-logo{display:block;margin-top:18px;margin-bottom:-9px}}.side-nav-logo img{width:auto}@media screen and (min-width:320px){.side-nav-logo img{height:calc(var(--baseline) * 5);margin-left:-12px}}@media screen and (min-width:768px){.side-nav-logo img{height:calc(var(--baseline) * 4.5);margin-left:-4px}}[data-theme=dark] .side-nav-logo img{filter:invert(1)}@media(prefers-color-scheme:dark){:root:not([data-theme]) .side-nav-logo img{filter:invert(1)}}.side-nav-site-title{padding-top:0;font-family:var(--font-heading);font-size:14px;font-weight:700;letter-spacing:.04em;text-decoration:none;text-transform:uppercase;color:var(--themed-body-color)}@media screen and (min-width:320px){.side-nav-site-title{display:none}}@media screen and (min-width:768px){.side-nav-site-title{position:relative;z-index:1;display:block;margin-bottom:15px}}.side-nav-site-title:hover{color:var(--themed-body-color)}.side-nav-links{filter:opacity(1);transition:filter .35s ease-out}@media screen and (min-width:320px){.side-nav-links{display:none}}@media screen and (min-width:768px){.side-nav-links{display:block;padding-top:22px}}.side-nav-links.is-faded{filter:opacity(.35)}.side-nav-section{margin-bottom:15px}.side-nav-heading{padding-top:12px;font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--themed-body-color)}.side-nav-heading a{text-decoration:none;color:inherit}.side-nav-list{margin:0;padding:3px 0 0;list-style:none}.side-nav-item{margin:0;padding:0;line-height:18px}.side-nav-item:before{display:none}.side-nav-link{display:block;padding:2px 0;text-decoration:none;text-overflow:ellipsis;white-space:nowrap;color:var(--themed-strong-body-color);transition:color .15s ease;overflow:hidden}.side-nav-link:hover{color:var(--themed-link-color)}.side-nav-see-all .side-nav-link .side-nav-title{padding:0;font-size:9px}.side-nav-date{margin-right:.25em;letter-spacing:.02em;color:var(--themed-slight-body-color)}.side-nav-title{font-size:12px;font-weight:400}.side-nav-empty{font-size:11px;font-style:italic;color:var(--themed-slight-body-color)}.lightbox{position:fixed;inset:0 0 -50px;z-index:9999;display:flex;visibility:hidden;flex-direction:column;align-items:center;justify-content:center;padding-bottom:50px;background:#fff;opacity:0;transition:opacity .2s ease,visibility .2s ease;cursor:zoom-out}.lightbox.is-open{visibility:visible;opacity:1}[data-theme=dark] .lightbox{background:#000}@media(prefers-color-scheme:dark){:root:not([data-theme]) .lightbox{background:#000}}.lightbox-close,.lightbox-prev,.lightbox-next{position:absolute;z-index:10001;display:flex;align-items:center;justify-content:center;border:none;font-family:var(--font-body);color:#00000080;background:none;transition:color .15s ease;cursor:pointer}.lightbox-close:hover,.lightbox-prev:hover,.lightbox-next:hover{color:#000}.lightbox-close.is-hidden,.lightbox-prev.is-hidden,.lightbox-next.is-hidden{display:none}[data-theme=dark] .lightbox-close,[data-theme=dark] .lightbox-prev,[data-theme=dark] .lightbox-next{color:#ffffff80}[data-theme=dark] .lightbox-close:hover,[data-theme=dark] .lightbox-prev:hover,[data-theme=dark] .lightbox-next:hover{color:#fff}@media(prefers-color-scheme:dark){:root:not([data-theme]) .lightbox-close,:root:not([data-theme]) .lightbox-prev,:root:not([data-theme]) .lightbox-next{color:#ffffff80}:root:not([data-theme]) .lightbox-close:hover,:root:not([data-theme]) .lightbox-prev:hover,:root:not([data-theme]) .lightbox-next:hover{color:#fff}}.lightbox-title{position:absolute;top:calc(var(--baseline) + env(safe-area-inset-top,0px));left:50%;z-index:10001;font-family:var(--font-mono);font-size:14px;font-weight:400;line-height:22px;letter-spacing:.02em;text-align:center;text-transform:uppercase;color:#000c;transform:translate(-50%)}[data-theme=dark] .lightbox-title{color:#fffc}@media(prefers-color-scheme:dark){:root:not([data-theme]) .lightbox-title{color:#fffc}}.lightbox-close{top:calc(var(--baseline) + env(safe-area-inset-top,0px) - 2px);right:calc(var(--baseline) + env(safe-area-inset-right,0px));width:44px;height:22px;font-size:22px;line-height:22px;color:var(--themed-body-color)}.lightbox-close:hover{color:var(--themed-body-color)}.lightbox-prev,.lightbox-next{top:50%;width:66px;height:88px;font-size:28px;transform:translateY(-50%)}.lightbox-prev{left:var(--baseline)}.lightbox-next{right:var(--baseline)}.lightbox-content{display:flex;flex-direction:column;align-items:center;max-width:calc(100vw - var(--baseline) * 4);max-height:calc(100vh - var(--baseline) * 4)}.lightbox-image{width:auto;max-width:100%;height:auto;max-height:calc(100vh - var(--baseline) * 8);box-shadow:0 2px 8px #00000014;object-fit:contain}.lightbox-caption{max-width:600px;margin-top:var(--baseline);font-family:September Spirit,cursive;font-size:26px;text-align:center;color:#000000d9}[data-theme=dark] .lightbox-caption{color:#ffffffd9}@media(prefers-color-scheme:dark){:root:not([data-theme]) .lightbox-caption{color:#ffffffd9}}figure,.letter img:not(figure img){cursor:zoom-in}.doc-index{display:flex;flex-direction:column;gap:var(--baseline)}.doc-index-content{flex:1;min-width:0}.doc-index-item h3{margin:21px 0 0;padding-top:8px;font-family:var(--font-body);font-size:14px;font-weight:400;line-height:21px;text-align:left}.doc-index-thumb-wrapper{flex-shrink:0;width:56px;margin-right:18px;padding-top:22px}.doc-index-thumb{width:100%;height:auto;margin-top:0!important;filter:grayscale(.8) contrast(1.1) brightness(1.1)}.doc-index-desc{width:100%;margin-bottom:0!important;padding-top:0!important;font-family:var(--font-body);font-size:12px;line-height:16px;color:var(--themed-body-color)}.doc-index-item{display:flex;flex-wrap:nowrap;align-items:flex-start;text-decoration:none;color:var(--themed-body-color)}.doc-index-row{display:grid;grid-template-columns:auto 1fr;gap:0 12px;font-family:var(--font-mono);font-size:12px;line-height:18px}.doc-index-title{font-family:var(--font-body);font-size:var(--em);line-height:var(--baseline);color:var(--themed-body-color)}.classification-ts{color:red}.letter-content .marginalia{position:absolute;left:calc(100% + var(--baseline));width:33.33%;margin-top:4px;font-family:September Spirit,cursive;font-size:28px;line-height:22px;text-align:left;hyphens:none;color:red;overflow:visible}.letter-content .marginalia code{position:relative;top:-4px;display:inline;margin:0;padding:0 2px;border-radius:0;font-family:var(--font-mono);font-size:13px;font-style:italic;line-height:12px;color:#fff;background:red;opacity:.8}@media screen and (min-width:768px){.letter-content .marginalia{width:50%}}@media screen and (min-width:1024px){.letter-content .marginalia{width:60%}}@media screen and (min-width:1440px){.letter-content .marginalia{width:50%}}.letter-content .marginalia a{color:#c00}.letter-content .circled{position:relative;display:inline}.letter-content .circled:before{position:absolute;top:32%;left:50%;z-index:1;font-family:September Spirit Extras,cursive;font-size:3em;line-height:1;color:red;opacity:.7;mix-blend-mode:multiply;transform:translate(-50%,-50%);pointer-events:none;content:"d"}.letter-content .circled[data-size]:before{content:attr(data-size)}.letter-content .underlined{position:relative;display:inline}.letter-content .underlined:after{position:absolute;top:-10px;left:36px;z-index:1;font-family:September Spirit Extras,cursive;font-size:3em;line-height:1;color:red;opacity:.9;mix-blend-mode:multiply;transform:translate(-50%);pointer-events:none;content:"n"}.letter-content .underlined[data-size]:after{content:attr(data-size)}.letter-content .underlined[data-size=l]:after{top:-10px;left:40px}.letter-content .underlined[data-size=m]:after{top:-16px;left:40px;font-size:3.7em}.letter-content .underlined[data-size=p]:after{top:-14px;left:53px}.letter-content .underlined[data-size=s]:after{top:-20px;left:48px;font-size:4em}.letter-content .underlined[data-size=q]:after{top:-8px;left:70px}.letter-content .underlined[data-size=o]:after{top:-8px;left:80px}.letter-content .underlined[data-size=r]:after{top:-7px;left:80px}.letter-content .noted{position:relative;display:inline}.letter-content .noted:after{position:absolute;top:-55%;left:5%;z-index:1;margin-left:.1em;font-family:September Spirit Extras,cursive;font-size:3.5em;line-height:1;color:red;opacity:.9;mix-blend-mode:multiply;transform:translateY(-50%);pointer-events:none;content:"a"}.letter-content .arrowed{position:relative;display:inline}.letter-content .arrowed:after{position:absolute;top:-34px;left:0;z-index:1;font-family:September Spirit Extras,cursive;font-size:3.5em;line-height:1;color:red;opacity:.9;mix-blend-mode:multiply;pointer-events:none;content:"a"}.letter-content .arrowed[data-size]:after{content:attr(data-size)}.letter-content .arrowed[data-size=b]:after{top:6px;left:-24px;font-size:2.8em}.runic{position:relative;font-family:var(--font-runic);font-size:14px}.marginalia .runic{top:-3px}.phoenician{position:relative;font-family:var(--font-phoenician);font-size:14px}.marginalia .phoenician{top:-3px}.comments-hidden .marginalia{display:none}.comments-hidden .circled:before,.comments-hidden .noted:after,.comments-hidden .underlined:after,.comments-hidden .arrowed:after{display:none}body:not(.comments-hidden) .header-comments-toggle{color:red}.letter-content{position:relative}.bleedthrough-clone{position:absolute;top:0;right:0;left:0;z-index:-1;display:block;opacity:.03;filter:blur(.4px);transform:scaleX(-1);user-select:none;pointer-events:none}body.bleedthrough-hidden .bleedthrough-clone{display:none}
