@font-face{font-family:"source serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(/fonts/source-serif-4-normal-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"source serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(/fonts/source-serif-4-normal-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"source serif 4";font-style:italic;font-weight:200 900;font-display:swap;src:url(/fonts/source-serif-4-italic-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"source serif 4";font-style:italic;font-weight:200 900;font-display:swap;src:url(/fonts/source-serif-4-italic-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--bg:#ffffff;--surface:#f3f0ea;--text:#1d1b18;--muted:#6b655c;--faint:#8f887d;--rule:#e4ded3;--accent:#9a3412;--accent-soft:#fbeee4;--link:#9a3412;--selection:#f6d9c4;--serif:"Source Serif 4", Charter, "Bitstream Charter", "Sitka Text", Cambria, Georgia, serif;--sans:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono:ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--measure:41rem;--wide:56rem;--gutter:1.25rem;color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#000000;--surface:#141414;--text:#e8e4dc;--muted:#a59e92;--faint:#8a8378;--rule:#2a2a2a;--accent:#f0a36b;--accent-soft:#1f1610;--link:#f0a36b;--selection:#5a3a22;color-scheme:dark}}:root[data-theme=dark]{--bg:#000000;--surface:#141414;--text:#e8e4dc;--muted:#a59e92;--faint:#8a8378;--rule:#2a2a2a;--accent:#f0a36b;--accent-soft:#1f1610;--link:#f0a36b;--selection:#5a3a22;color-scheme:dark}*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--serif);font-size:1.125rem;line-height:1.65;font-optical-sizing:auto;font-kerning:normal;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}@media(min-width:48rem){body{font-size:1.1875rem}}::selection{background:var(--selection)}a{color:var(--link);text-decoration-thickness:1px;text-underline-offset:.18em}a:hover{text-decoration-thickness:2px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.wrap{max-width:calc(var(--measure) + 2 * var(--gutter));margin:0 auto;padding:0 var(--gutter)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.skip-link{position:absolute;left:-999px;top:0}.skip-link:focus{left:1rem;top:1rem;background:var(--bg);padding:.5rem 1rem;z-index:10}.site-header{border-bottom:1px solid var(--rule)}.header-inner{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding-top:1.15rem;padding-bottom:1.1rem}.wordmark{font-weight:600;font-size:1.3rem;font-variant:small-caps;letter-spacing:.12em;color:var(--text);text-decoration:none}.wordmark span{color:var(--faint);font-weight:400;letter-spacing:.08em}.site-nav{display:flex;align-items:baseline;gap:.25rem .95rem;flex-wrap:wrap;font-family:var(--serif);font-size:.95rem}.site-nav a{color:var(--muted);text-decoration:none}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--text)}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;align-self:center;position:relative;top:-.16em;border:0;padding:0;background:0 0;color:var(--muted);cursor:pointer;border-radius:50%}.theme-toggle:hover{color:var(--text);background:var(--surface)}.site-footer{border-top:1px solid var(--rule);margin-top:5rem;font-family:var(--sans);font-size:.8125rem;color:var(--faint)}.footer-inner{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding-top:1.5rem;padding-bottom:2.5rem}.footer-inner p{margin:0}.footer-links{display:flex;gap:1rem}.footer-links a{color:var(--muted);text-decoration:none}.footer-links a:hover{color:var(--text)}.intro{padding:3rem 0 1rem}.intro p{margin:0;font-size:1.05rem;line-height:1.55;color:var(--muted);max-width:36rem}.intro a{color:var(--text);text-decoration:none}.intro a:hover{color:var(--accent)}.year-group{margin-top:2.5rem}.year{font-family:var(--sans);font-size:.8125rem;font-weight:600;letter-spacing:.08em;color:var(--faint);margin:0 0 .25rem;padding-bottom:.5rem;border-bottom:1px solid var(--rule)}.post-list{list-style:none;margin:0;padding:0}.post-item{display:grid;grid-template-columns:1fr auto;gap:.25rem 1.5rem;align-items:baseline;padding:.9rem 0;border-bottom:1px solid var(--rule)}.post-link{text-decoration:none;color:var(--text);display:block}.post-title{display:block;font-size:1.2rem;font-weight:600;line-height:1.3;letter-spacing:-.005em}.post-link:hover .post-title{color:var(--accent)}.post-subtitle{display:block;color:var(--muted);font-size:1rem;line-height:1.4;margin-top:.2rem}.post-date{font-family:var(--sans);font-size:.8125rem;color:var(--faint);white-space:nowrap;font-variant-numeric:tabular-nums}.compact .post-item{padding:.55rem 0}.compact .post-title{font-size:1.05rem;font-weight:500}@media(max-width:34rem){.post-item{grid-template-columns:1fr}.post-date{order:-1}}.archive-tags{margin-top:2.5rem;font-family:var(--sans);font-size:.9rem}.tag-cloud{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:.6rem}.tag-cloud a,.tags a{display:inline-block;font-family:var(--sans);font-size:.8125rem;text-decoration:none;color:var(--muted);background:var(--surface);padding:.25rem .65rem;border-radius:999px}.tag-cloud a:hover,.tags a:hover{color:var(--accent)}.tag-cloud .count{font-family:var(--sans);font-size:.75rem;color:var(--faint)}.eyebrow{font-family:var(--sans);font-size:.8125rem;margin:0 0 .5rem}.eyebrow a{color:var(--faint);text-decoration:none}.article-header{padding:3.5rem 0 1.75rem}.article-title{font-size:clamp(2rem,1.4rem + 2.6vw,2.85rem);line-height:1.12;letter-spacing:-.02em;font-weight:650;margin:0;text-wrap:balance;font-variation-settings:"opsz" 60}.article-subtitle{font-size:clamp(1.15rem,1rem + .6vw,1.4rem);line-height:1.35;color:var(--muted);margin:.75rem 0 0;text-wrap:balance}.article-meta{font-family:var(--sans);font-size:.875rem;color:var(--faint);margin:1.25rem 0 0;display:flex;gap:.5rem;flex-wrap:wrap}.cover{margin:0 0 2.5rem}.cover img{display:block;width:100%;height:auto;aspect-ratio:40/21;object-fit:cover;border-radius:6px}.toc{margin:0 0 2.5rem;border:1px solid var(--rule);border-radius:6px;padding:.75rem 1.1rem;font-family:var(--sans);font-size:.9rem}.toc summary{cursor:pointer;color:var(--muted);font-weight:600}.toc ol{list-style:none;margin:.75rem 0 .25rem;padding:0}.toc li{margin:.3rem 0;line-height:1.35}.toc .toc-h3{padding-left:1.1rem;font-size:.85rem}.toc a{color:var(--text);text-decoration:none}.toc a:hover{color:var(--accent)}.prose{overflow-wrap:break-word}.prose>*+*{margin-top:1.25em}.prose>:first-child{margin-top:0}.prose p,.prose ul,.prose ol,.prose blockquote,.prose table,.prose pre,.prose figure{margin-bottom:0}.prose h2,.prose h3,.prose h4{line-height:1.25;letter-spacing:-.01em;font-weight:650;position:relative;scroll-margin-top:1.5rem;text-wrap:balance}.prose h2{font-size:1.6rem;margin-top:2.4em}.prose h3{font-size:1.3rem;margin-top:2em}.prose h4{font-size:1.1rem;margin-top:1.8em}.prose h2+*,.prose h3+*,.prose h4+*{margin-top:.75em}.anchor{margin-left:.4em;color:var(--faint);text-decoration:none;opacity:0;font-weight:400;transition:opacity .15s}.prose h2:hover .anchor,.prose h3:hover .anchor,.prose h4:hover .anchor,.anchor:focus{opacity:1}.prose ul,.prose ol{padding-left:1.4em}.prose li+li{margin-top:.35em}.prose li>p{margin:.35em 0}.prose li::marker{color:var(--faint)}.prose blockquote{margin-left:0;margin-right:0;padding:.1em 0 .1em 1.25em;border-left:3px solid var(--rule);color:var(--muted);font-style:italic}.prose hr{border:0;height:1px;background:var(--rule);margin:3em auto;width:40%}.prose strong{font-weight:650}.prose sup,.prose sub{line-height:0}.prose kbd{font-family:var(--mono);font-size:.8em;border:1px solid var(--rule);border-bottom-width:2px;border-radius:4px;padding:.05em .35em}.prose mark{background:var(--accent-soft);color:inherit;padding:0 .15em}.prose img{display:block;max-width:min(var(--wide),calc(100vw - 2 * var(--gutter)));height:auto;margin:2rem 0;position:relative;left:50%;transform:translateX(-50%);border-radius:4px}.prose p>img:only-child{margin:0}.prose p:has(>img:only-child){margin-top:2rem;margin-bottom:0}.prose p:has(>img:only-child)+p>em:only-child,.prose p:has(>img:only-child)+p:has(>em:only-child){display:block;text-align:center;font-size:.9em;color:var(--muted)}.prose code{font-family:var(--mono);font-size:.86em;background:var(--surface);padding:.12em .35em;border-radius:4px}.prose pre{font-family:var(--mono);font-size:.85rem;line-height:1.55;background:var(--surface);padding:1rem 1.15rem;border-radius:6px;overflow-x:auto;tab-size:4}.prose pre code{background:0 0;padding:0;font-size:inherit;border-radius:0}.prose .highlight{margin-top:1.5em}.prose .highlight pre{margin:0}.table-wrap{overflow-x:auto;margin-top:1.5em}.prose table{border-collapse:collapse;width:100%;font-size:.92em;line-height:1.45}.prose th,.prose td{text-align:left;vertical-align:top;padding:.55rem .75rem;border-bottom:1px solid var(--rule)}.prose thead th{border-bottom:2px solid var(--rule);font-weight:650}.prose .katex-display{overflow-x:auto;overflow-y:hidden;padding:.25rem 0}.prose .img-link{display:block}.prose .img-link:hover img{outline:1px solid var(--rule);outline-offset:3px}.prose p:has(>.img-link:only-child){margin-top:2rem}.prose p>.img-link:only-child img{margin:0}.prose iframe{max-width:100%;border:0}.prose div:has(>iframe[src*=youtube]){border-radius:6px;overflow:hidden}.callout{display:flex;gap:.9rem;background:var(--accent-soft);border-radius:6px;padding:1rem 1.2rem;font-size:.95em;line-height:1.55}.callout-emoji{flex:none;font-size:1.2em;line-height:1.3;color:var(--accent)}.callout-body>:first-child{margin-top:0}.callout-body>:last-child{margin-bottom:0}.callout-body p+p{margin-top:.75em}.footnotes{font-size:.9em;color:var(--muted);border-top:1px solid var(--rule);margin-top:3em;padding-top:1em}.footnotes hr{display:none}.article-footer{margin-top:4rem}.tags{list-style:none;padding:0;margin:0 0 2rem;display:flex;flex-wrap:wrap;gap:.5rem}.pager{display:grid;grid-template-columns:1fr 1fr;gap:1rem;border-top:1px solid var(--rule);padding-top:1.5rem}.pager a{text-decoration:none;color:var(--text);font-weight:600;line-height:1.35;font-size:1rem}.pager a:hover{color:var(--accent)}.pager span{display:block;font-family:var(--sans);font-size:.75rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);margin-bottom:.3rem}.pager-next{grid-column:2;text-align:right}@media(max-width:34rem){.pager{grid-template-columns:1fr}.pager-next{grid-column:1;text-align:left}}@media print{.site-header,.site-footer,.pager,.theme-toggle,.anchor,.toc{display:none}body{background:#fff;color:#000}.prose img{left:0;transform:none;max-width:100%}}.series-line{font-family:var(--sans);font-size:.875rem;color:var(--faint);margin:.4rem 0 0}.series-line a{color:var(--muted)}.series-box{border:1px solid var(--rule);border-radius:6px;padding:1rem 1.2rem;margin:0 0 2rem;font-size:1rem}.series-title{margin:0 0 .6rem;font-weight:650}.series-title span{display:block;font-family:var(--sans);font-size:.75rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);margin-bottom:.15rem}.series-title a{color:var(--text);text-decoration:none}.series-title a:hover{color:var(--accent)}.series-box ol{margin:0;padding-left:1.4em}.series-box li{margin:.3rem 0;line-height:1.4}.series-box li::marker{color:var(--faint);font-family:var(--sans);font-size:.85em}.series-box li a{color:var(--text);text-decoration:none}.series-box li a:hover{color:var(--accent)}.series-box li[aria-current] span{color:var(--muted);font-style:italic}.post-item>.post-link{grid-column:1}.post-item>.post-date{grid-column:2;grid-row:1}.post-series{grid-column:1;font-family:var(--sans);font-size:.75rem;letter-spacing:.02em;color:var(--faint);text-decoration:none;margin-top:.1rem}.post-series::before{content:"Series · "}.post-series:hover{color:var(--accent)}@media(max-width:34rem){.post-item>.post-date{grid-column:1;grid-row:auto}}.numbered{counter-reset:part}.numbered .post-title::before{counter-increment:part;content:counter(part)". ";color:var(--faint);font-weight:500}.revision-notice{font-family:var(--sans);font-size:.875rem;line-height:1.5;color:var(--muted);border-left:3px solid var(--accent);background:var(--surface);padding:.7rem 1rem;border-radius:0 6px 6px 0;margin:0 0 2rem}.stats-toast{position:fixed;left:50%;bottom:1.5rem;transform:translateX(-50%);z-index:20;background:var(--text);color:var(--bg);font-family:var(--sans);font-size:.875rem;padding:.6rem 1rem;border-radius:6px;box-shadow:0 4px 16px rgb(0 0 0/.2)}.newsletter{border:1px solid var(--rule);border-radius:6px;padding:1.1rem 1.2rem;margin:0 0 2rem;background:var(--surface)}.newsletter-title{margin:0 0 .7rem;font-weight:650}.newsletter-row{display:flex;gap:.5rem;flex-wrap:wrap}.newsletter input[type=email]{flex:1 1 14rem;min-width:0;font:inherit;font-size:1rem;padding:.55rem .75rem;border:1px solid var(--rule);border-radius:6px;background:var(--bg);color:var(--text)}.newsletter button{font-family:var(--sans);font-size:.9rem;font-weight:600;padding:.55rem 1.1rem;border:0;border-radius:6px;background:var(--accent);color:var(--bg);cursor:pointer}.newsletter button:disabled{opacity:.6;cursor:default}.newsletter-note{margin:.6rem 0 0;font-family:var(--sans);font-size:.8125rem;color:var(--faint)}.newsletter.is-done .newsletter-row{display:none}.newsletter.is-done .newsletter-note{color:var(--text);font-size:.9rem}.callout-title{font-weight:650;margin:0 0 .35em}.img-dark{display:none!important}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .img-dark{display:block!important}:root:not([data-theme=light]) .has-dark{display:none!important}}:root[data-theme=dark] .img-dark{display:block!important}:root[data-theme=dark] .has-dark{display:none!important}.site-notice{background:var(--accent-soft);border-bottom:1px solid var(--rule);color:var(--text);font-family:var(--sans);font-size:.8125rem;line-height:1.45}.site-notice .wrap{padding-top:.6rem;padding-bottom:.6rem}.site-notice .wrap::before{content:"↻";color:var(--accent);margin-right:.5em}.chroma{-webkit-text-size-adjust:none}.chroma .err{color:#f6f8fa}.chroma .lnlinks{outline:none;text-decoration:none;color:inherit}.chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}.chroma .lntable{border-spacing:0;padding:0;margin:0;border:0}.chroma .lnt{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#7f7f7f}.chroma .ln{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#7f7f7f}.chroma .line{display:flex}.chroma .k{color:#cf222e}.chroma .kc{color:#cf222e}.chroma .kd{color:#cf222e}.chroma .kn{color:#cf222e}.chroma .kp{color:#cf222e}.chroma .kr{color:#cf222e}.chroma .kt{color:#cf222e}.chroma .na{color:#1f2328}.chroma .nc{color:#1f2328}.chroma .no{color:#0550ae}.chroma .nd{color:#0550ae}.chroma .ni{color:#6639ba}.chroma .nl{color:#900;font-weight:700}.chroma .nn{color:#24292e}.chroma .nx{color:#1f2328}.chroma .nt{color:#0550ae}.chroma .nb{color:#6639ba}.chroma .bp{color:#6a737d}.chroma .nv{color:#953800}.chroma .vc{color:#953800}.chroma .vg{color:#953800}.chroma .vi{color:#953800}.chroma .vm{color:#953800}.chroma .nf{color:#6639ba}.chroma .fm{color:#6639ba}.chroma .s{color:#0a3069}.chroma .sa{color:#0a3069}.chroma .sb{color:#0a3069}.chroma .sc{color:#0a3069}.chroma .dl{color:#0a3069}.chroma .sd{color:#0a3069}.chroma .s2{color:#0a3069}.chroma .se{color:#0a3069}.chroma .sh{color:#0a3069}.chroma .si{color:#0a3069}.chroma .sx{color:#0a3069}.chroma .sr{color:#0a3069}.chroma .s1{color:#0a3069}.chroma .ss{color:#032f62}.chroma .m{color:#0550ae}.chroma .mb{color:#0550ae}.chroma .mf{color:#0550ae}.chroma .mh{color:#0550ae}.chroma .mi{color:#0550ae}.chroma .il{color:#0550ae}.chroma .mo{color:#0550ae}.chroma .o{color:#0550ae}.chroma .ow{color:#0550ae}.chroma .or{color:#0550ae}.chroma .p{color:#1f2328}.chroma .c{color:#57606a}.chroma .ch{color:#57606a}.chroma .cm{color:#57606a}.chroma .c1{color:#57606a}.chroma .cs{color:#57606a}.chroma .cp{color:#57606a}.chroma .cpf{color:#57606a}.chroma .gd{color:#82071e}.chroma .ge{color:#1f2328}.chroma .gi{color:#116329}.chroma .go{color:#1f2328}.chroma .gl{text-decoration:underline}.chroma .w{color:#fff}:root[data-theme=dark] .chroma{-webkit-text-size-adjust:none}:root[data-theme=dark] .chroma .err{color:#f85149}:root[data-theme=dark] .chroma .lnlinks{outline:none;text-decoration:none;color:inherit}:root[data-theme=dark] .chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}:root[data-theme=dark] .chroma .lntable{border-spacing:0;padding:0;margin:0;border:0}:root[data-theme=dark] .chroma .lnt{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#737679}:root[data-theme=dark] .chroma .ln{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#6e7681}:root[data-theme=dark] .chroma .line{display:flex}:root[data-theme=dark] .chroma .k{color:#ff7b72}:root[data-theme=dark] .chroma .kc{color:#79c0ff}:root[data-theme=dark] .chroma .kd{color:#ff7b72}:root[data-theme=dark] .chroma .kn{color:#ff7b72}:root[data-theme=dark] .chroma .kp{color:#79c0ff}:root[data-theme=dark] .chroma .kr{color:#ff7b72}:root[data-theme=dark] .chroma .kt{color:#ff7b72}:root[data-theme=dark] .chroma .nc{color:#f0883e;font-weight:700}:root[data-theme=dark] .chroma .no{color:#79c0ff;font-weight:700}:root[data-theme=dark] .chroma .nd{color:#d2a8ff;font-weight:700}:root[data-theme=dark] .chroma .ni{color:#ffa657}:root[data-theme=dark] .chroma .ne{color:#f0883e;font-weight:700}:root[data-theme=dark] .chroma .nl{color:#79c0ff;font-weight:700}:root[data-theme=dark] .chroma .nn{color:#ff7b72}:root[data-theme=dark] .chroma .nx{color:#e6edf3}:root[data-theme=dark] .chroma .py{color:#79c0ff}:root[data-theme=dark] .chroma .nt{color:#7ee787}:root[data-theme=dark] .chroma .nv{color:#79c0ff}:root[data-theme=dark] .chroma .vc{color:#79c0ff}:root[data-theme=dark] .chroma .vg{color:#79c0ff}:root[data-theme=dark] .chroma .vi{color:#79c0ff}:root[data-theme=dark] .chroma .vm{color:#79c0ff}:root[data-theme=dark] .chroma .nf{color:#d2a8ff;font-weight:700}:root[data-theme=dark] .chroma .fm{color:#d2a8ff;font-weight:700}:root[data-theme=dark] .chroma .l{color:#a5d6ff}:root[data-theme=dark] .chroma .ld{color:#79c0ff}:root[data-theme=dark] .chroma .s{color:#a5d6ff}:root[data-theme=dark] .chroma .sa{color:#79c0ff}:root[data-theme=dark] .chroma .sb{color:#a5d6ff}:root[data-theme=dark] .chroma .sc{color:#a5d6ff}:root[data-theme=dark] .chroma .dl{color:#79c0ff}:root[data-theme=dark] .chroma .sd{color:#a5d6ff}:root[data-theme=dark] .chroma .s2{color:#a5d6ff}:root[data-theme=dark] .chroma .se{color:#79c0ff}:root[data-theme=dark] .chroma .sh{color:#79c0ff}:root[data-theme=dark] .chroma .si{color:#a5d6ff}:root[data-theme=dark] .chroma .sx{color:#a5d6ff}:root[data-theme=dark] .chroma .sr{color:#79c0ff}:root[data-theme=dark] .chroma .s1{color:#a5d6ff}:root[data-theme=dark] .chroma .ss{color:#a5d6ff}:root[data-theme=dark] .chroma .m{color:#a5d6ff}:root[data-theme=dark] .chroma .mb{color:#a5d6ff}:root[data-theme=dark] .chroma .mf{color:#a5d6ff}:root[data-theme=dark] .chroma .mh{color:#a5d6ff}:root[data-theme=dark] .chroma .mi{color:#a5d6ff}:root[data-theme=dark] .chroma .il{color:#a5d6ff}:root[data-theme=dark] .chroma .mo{color:#a5d6ff}:root[data-theme=dark] .chroma .o{color:#ff7b72;font-weight:700}:root[data-theme=dark] .chroma .ow{color:#ff7b72;font-weight:700}:root[data-theme=dark] .chroma .or{color:#ff7b72;font-weight:700}:root[data-theme=dark] .chroma .c{color:#8b949e;font-style:italic}:root[data-theme=dark] .chroma .ch{color:#8b949e;font-style:italic}:root[data-theme=dark] .chroma .cm{color:#8b949e;font-style:italic}:root[data-theme=dark] .chroma .c1{color:#8b949e;font-style:italic}:root[data-theme=dark] .chroma .cs{color:#8b949e;font-weight:700;font-style:italic}:root[data-theme=dark] .chroma .cp{color:#8b949e;font-weight:700;font-style:italic}:root[data-theme=dark] .chroma .cpf{color:#8b949e;font-weight:700;font-style:italic}:root[data-theme=dark] .chroma .gd{color:#ffa198}:root[data-theme=dark] .chroma .ge{font-style:italic}:root[data-theme=dark] .chroma .gr{color:#ffa198}:root[data-theme=dark] .chroma .gh{color:#79c0ff;font-weight:700}:root[data-theme=dark] .chroma .gi{color:#56d364}:root[data-theme=dark] .chroma .go{color:#8b949e}:root[data-theme=dark] .chroma .gp{color:#8b949e}:root[data-theme=dark] .chroma .gs{font-weight:700}:root[data-theme=dark] .chroma .gu{color:#79c0ff}:root[data-theme=dark] .chroma .gt{color:#ff7b72}:root[data-theme=dark] .chroma .gl{text-decoration:underline}:root[data-theme=dark] .chroma .w{color:#6e7681}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .chroma{-webkit-text-size-adjust:none}:root:not([data-theme=light]) .chroma .err{color:#f85149}:root:not([data-theme=light]) .chroma .lnlinks{outline:none;text-decoration:none;color:inherit}:root:not([data-theme=light]) .chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}:root:not([data-theme=light]) .chroma .lntable{border-spacing:0;padding:0;margin:0;border:0}:root:not([data-theme=light]) .chroma .lnt{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#737679}:root:not([data-theme=light]) .chroma .ln{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#6e7681}:root:not([data-theme=light]) .chroma .line{display:flex}:root:not([data-theme=light]) .chroma .k{color:#ff7b72}:root:not([data-theme=light]) .chroma .kc{color:#79c0ff}:root:not([data-theme=light]) .chroma .kd{color:#ff7b72}:root:not([data-theme=light]) .chroma .kn{color:#ff7b72}:root:not([data-theme=light]) .chroma .kp{color:#79c0ff}:root:not([data-theme=light]) .chroma .kr{color:#ff7b72}:root:not([data-theme=light]) .chroma .kt{color:#ff7b72}:root:not([data-theme=light]) .chroma .nc{color:#f0883e;font-weight:700}:root:not([data-theme=light]) .chroma .no{color:#79c0ff;font-weight:700}:root:not([data-theme=light]) .chroma .nd{color:#d2a8ff;font-weight:700}:root:not([data-theme=light]) .chroma .ni{color:#ffa657}:root:not([data-theme=light]) .chroma .ne{color:#f0883e;font-weight:700}:root:not([data-theme=light]) .chroma .nl{color:#79c0ff;font-weight:700}:root:not([data-theme=light]) .chroma .nn{color:#ff7b72}:root:not([data-theme=light]) .chroma .nx{color:#e6edf3}:root:not([data-theme=light]) .chroma .py{color:#79c0ff}:root:not([data-theme=light]) .chroma .nt{color:#7ee787}:root:not([data-theme=light]) .chroma .nv{color:#79c0ff}:root:not([data-theme=light]) .chroma .vc{color:#79c0ff}:root:not([data-theme=light]) .chroma .vg{color:#79c0ff}:root:not([data-theme=light]) .chroma .vi{color:#79c0ff}:root:not([data-theme=light]) .chroma .vm{color:#79c0ff}:root:not([data-theme=light]) .chroma .nf{color:#d2a8ff;font-weight:700}:root:not([data-theme=light]) .chroma .fm{color:#d2a8ff;font-weight:700}:root:not([data-theme=light]) .chroma .l{color:#a5d6ff}:root:not([data-theme=light]) .chroma .ld{color:#79c0ff}:root:not([data-theme=light]) .chroma .s{color:#a5d6ff}:root:not([data-theme=light]) .chroma .sa{color:#79c0ff}:root:not([data-theme=light]) .chroma .sb{color:#a5d6ff}:root:not([data-theme=light]) .chroma .sc{color:#a5d6ff}:root:not([data-theme=light]) .chroma .dl{color:#79c0ff}:root:not([data-theme=light]) .chroma .sd{color:#a5d6ff}:root:not([data-theme=light]) .chroma .s2{color:#a5d6ff}:root:not([data-theme=light]) .chroma .se{color:#79c0ff}:root:not([data-theme=light]) .chroma .sh{color:#79c0ff}:root:not([data-theme=light]) .chroma .si{color:#a5d6ff}:root:not([data-theme=light]) .chroma .sx{color:#a5d6ff}:root:not([data-theme=light]) .chroma .sr{color:#79c0ff}:root:not([data-theme=light]) .chroma .s1{color:#a5d6ff}:root:not([data-theme=light]) .chroma .ss{color:#a5d6ff}:root:not([data-theme=light]) .chroma .m{color:#a5d6ff}:root:not([data-theme=light]) .chroma .mb{color:#a5d6ff}:root:not([data-theme=light]) .chroma .mf{color:#a5d6ff}:root:not([data-theme=light]) .chroma .mh{color:#a5d6ff}:root:not([data-theme=light]) .chroma .mi{color:#a5d6ff}:root:not([data-theme=light]) .chroma .il{color:#a5d6ff}:root:not([data-theme=light]) .chroma .mo{color:#a5d6ff}:root:not([data-theme=light]) .chroma .o{color:#ff7b72;font-weight:700}:root:not([data-theme=light]) .chroma .ow{color:#ff7b72;font-weight:700}:root:not([data-theme=light]) .chroma .or{color:#ff7b72;font-weight:700}:root:not([data-theme=light]) .chroma .c{color:#8b949e;font-style:italic}:root:not([data-theme=light]) .chroma .ch{color:#8b949e;font-style:italic}:root:not([data-theme=light]) .chroma .cm{color:#8b949e;font-style:italic}:root:not([data-theme=light]) .chroma .c1{color:#8b949e;font-style:italic}:root:not([data-theme=light]) .chroma .cs{color:#8b949e;font-weight:700;font-style:italic}:root:not([data-theme=light]) .chroma .cp{color:#8b949e;font-weight:700;font-style:italic}:root:not([data-theme=light]) .chroma .cpf{color:#8b949e;font-weight:700;font-style:italic}:root:not([data-theme=light]) .chroma .gd{color:#ffa198}:root:not([data-theme=light]) .chroma .ge{font-style:italic}:root:not([data-theme=light]) .chroma .gr{color:#ffa198}:root:not([data-theme=light]) .chroma .gh{color:#79c0ff;font-weight:700}:root:not([data-theme=light]) .chroma .gi{color:#56d364}:root:not([data-theme=light]) .chroma .go{color:#8b949e}:root:not([data-theme=light]) .chroma .gp{color:#8b949e}:root:not([data-theme=light]) .chroma .gs{font-weight:700}:root:not([data-theme=light]) .chroma .gu{color:#79c0ff}:root:not([data-theme=light]) .chroma .gt{color:#ff7b72}:root:not([data-theme=light]) .chroma .gl{text-decoration:underline}:root:not([data-theme=light]) .chroma .w{color:#6e7681}}