*,::after,::before,::backdrop,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not (-webkit-appearance:-apple-pay-button)) or (contain-intrinsic-size:1px){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type="button"],[type="reset"],[type="submit"]),::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden="until-found"])){display:none!important}.code-block{border-radius:4px;margin-block:1.25rem;border:solid 2px transparent}:root.theme-dark .code-block{border:solid 2px var(--color-border)}@media (prefers-color-scheme:dark){:root:not(.theme-light) .code-block{border:solid 2px var(--color-border)}}pre{line-height:1.7142857;font-size:0.875rem;overflow-x:scroll;padding:0.875rem}.code-block code{all:unset}.code-block code::before,.code-block code::after{content:""}.code-block:is(.lang-markdown,.lang-output) pre{text-wrap:wrap}td.linenos .normal{color:#6e7681;background-color:#0d1117;padding-left:5px;padding-right:5px}span.linenos{color:#6e7681;background-color:#0d1117;padding-left:5px;padding-right:5px}td.linenos .special{color:#e6edf3;background-color:#6e7681;padding-left:5px;padding-right:5px}span.linenos.special{color:#e6edf3;background-color:#6e7681;padding-left:5px;padding-right:5px}.code-block .hll{background-color:#6e7681}.code-block{background:#0d1117;color:#e6edf3}.code-block .c{color:#8b949e;font-style:italic}.code-block .err{color:#f85149}.code-block .esc{color:#e6edf3}.code-block .g{color:#e6edf3}.code-block .k{color:#ff7b72}.code-block .l{color:#a5d6ff}.code-block .n{color:#e6edf3}.code-block .o{color:#ff7b72;font-weight:bold}.code-block .x{color:#e6edf3}.code-block .p{color:#e6edf3}.code-block .ch{color:#8b949e;font-style:italic}.code-block .cm{color:#8b949e;font-style:italic}.code-block .cp{color:#8b949e;font-weight:bold;font-style:italic}.code-block .cpf{color:#8b949e;font-style:italic}.code-block .c1{color:#8b949e;font-style:italic}.code-block .cs{color:#8b949e;font-weight:bold;font-style:italic}.code-block .gd{color:#ffa198;background-color:#490202}.code-block .ge{color:#e6edf3;font-style:italic}.code-block .ges{color:#e6edf3;font-weight:bold;font-style:italic}.code-block .gr{color:#ffa198}.code-block .gh{color:#79c0ff;font-weight:bold}.code-block .gi{color:#56d364;background-color:#0f5323}.code-block .go{color:#8b949e}.code-block .gp{color:#8b949e}.code-block .gs{color:#e6edf3;font-weight:bold}.code-block .gu{color:#79c0ff}.code-block .gt{color:#ff7b72}.code-block .g-Underline{color:#e6edf3;text-decoration:underline}.code-block .kc{color:#79c0ff}.code-block .kd{color:#ff7b72}.code-block .kn{color:#ff7b72}.code-block .kp{color:#79c0ff}.code-block .kr{color:#ff7b72}.code-block .kt{color:#ff7b72}.code-block .ld{color:#79c0ff}.code-block .m{color:#a5d6ff}.code-block .s{color:#a5d6ff}.code-block .na{color:#e6edf3}.code-block .nb{color:#e6edf3}.code-block .nc{color:#f0883e;font-weight:bold}.code-block .no{color:#79c0ff;font-weight:bold}.code-block .nd{color:#d2a8ff;font-weight:bold}.code-block .ni{color:#ffa657}.code-block .ne{color:#f0883e;font-weight:bold}.code-block .nf{color:#d2a8ff;font-weight:bold}.code-block .nl{color:#79c0ff;font-weight:bold}.code-block .nn{color:#ff7b72}.code-block .nx{color:#e6edf3}.code-block .py{color:#79c0ff}.code-block .nt{color:#7ee787}.code-block .nv{color:#79c0ff}.code-block .ow{color:#ff7b72;font-weight:bold}.code-block .pm{color:#e6edf3}.code-block .w{color:#6e7681}.code-block .mb{color:#a5d6ff}.code-block .mf{color:#a5d6ff}.code-block .mh{color:#a5d6ff}.code-block .mi{color:#a5d6ff}.code-block .mo{color:#a5d6ff}.code-block .sa{color:#79c0ff}.code-block .sb{color:#a5d6ff}.code-block .sc{color:#a5d6ff}.code-block .dl{color:#79c0ff}.code-block .sd{color:#a5d6ff}.code-block .s2{color:#a5d6ff}.code-block .se{color:#79c0ff}.code-block .sh{color:#79c0ff}.code-block .si{color:#a5d6ff}.code-block .sx{color:#a5d6ff}.code-block .sr{color:#79c0ff}.code-block .s1{color:#a5d6ff}.code-block .ss{color:#a5d6ff}.code-block .bp{color:#e6edf3}.code-block .fm{color:#d2a8ff;font-weight:bold}.code-block .vc{color:#79c0ff}.code-block .vg{color:#79c0ff}.code-block .vi{color:#79c0ff}.code-block .vm{color:#79c0ff}.code-block .il{color:#a5d6ff}.prose{font-family:var(--font-prose)}.prose p{margin-block:1.25rem}.page-heading,.prose h1,.prose h2,.prose h3,.prose h4,.prose h5,.prose h6{font-family:var(--font-prose);color:var(--color-text-strong)}.prose thead th strong{color:inherit}.prose ol{list-style-type:decimal;margin-block:1.25rem;padding-inline-start:1.25rem}@media (min-width:920px){.prose ol{padding-inline-start:1.5rem}}.prose :where(ul){list-style-type:disc;margin-block:1.25rem;padding-inline-start:1.25rem}@media (min-width:920px){.prose :where(ul){padding-inline-start:1.5rem}}.prose ol li::marker{color:var(--color-text-strong)}.prose ul li::marker{color:var(--color-text-strong)}.prose hr{border:none;border-block-end:var(--border-default);margin-block:calc(var(--paragraph-spacing) * 2)}.prose figure.captioned-quote{border-inline-start:solid 0.25rem var(--color-blue-300);margin-block:var(--paragraph-spacing);padding-inline-start:1.25rem;padding-inline-end:0.75rem;padding-block:1.25rem;background-color:var(--color-blue-100);border-radius:4px}:root.theme-dark .prose figure.captioned-quote{background-color:var(--color-gray-700);border-inline-start-color:var(--color-blue-300)}@media (prefers-color-scheme:dark){:root:not(.theme-light) .prose figure.captioned-quote{background-color:var(--color-gray-700);border-inline-start-color:var(--color-blue-300)}}figure.captioned-quote figcaption{color:var(--color-text);margin-block-start:1.5rem}figure.captioned-quote figcaption::before{content:"— "}.prose blockquote p:first-child,.prose blockquote ul:first-child,.prose blockquote ol:first-child{margin-block-start:0}.prose blockquote p:last-child,.prose blockquote ul:last-child,.prose blockquote ol:last-child{margin-block-end:0}.prose h1,.page-heading{font-weight:800;font-size:2.25rem;margin-top:0;margin-bottom:1rem;line-height:1.1111111}.prose h2{font-weight:700;font-size:1.5rem;margin-top:3rem;margin-bottom:0.5rem;line-height:1.3333333}.prose h3{font-weight:600;font-size:1.25rem;margin-top:2rem;margin-bottom:0.25rem;line-height:1.6}.prose h4{font-weight:600;margin-top:1.5rem;margin-bottom:0.25rem;line-height:1.5}.prose img,.prose picture,.prose figure{margin-top:2rem;margin-bottom:2rem}.prose :where(code){color:var(--color-text-strong);font-family:var(--font-mono);font-size:0.875rem;font-weight:500}.prose :where(code)::before{content:"`"}.prose :where(code)::after{content:"`"}.prose a code{color:inherit;font-weight:500}.prose h1 code{color:inherit}.prose h2 code{color:inherit;font-size:0.875rem}.prose h3 code{color:inherit;font-size:1rem}.prose h3 code{color:inherit}.prose table{width:100%;table-layout:auto;text-align:left;margin-top:2rem;margin-bottom:2rem;font-size:0.875rem;line-height:1.7142857}.prose thead{border-block-end:solid 1px var(--color-border)}.prose thead th{color:var(--color-text-strong);font-weight:500;vertical-align:bottom;padding-right:0.75rem;padding-bottom:0.75rem;padding-left:0.75rem}.prose tbody tr{border-block-end:solid 1px var(--color-border)}.prose tbody tr:last-child{border-bottom-width:0}.prose tbody td{vertical-align:baseline}.prose tfoot{border-block-start:solid 1px var(--color-border)}.prose tfoot td{vertical-align:top}.prose figure>*{margin-top:0;margin-bottom:0}.prose figcaption{font-size:0.875rem;line-height:1.4285714;margin-top:0.75rem;color:var(--color-meta)}.prose picture>img{margin-top:0;margin-bottom:0}.prose li{margin-block:0.25rem}.prose ul>li>p,.prose ol>li>p{margin-top:0.75rem;margin-bottom:0.75rem}.prose ul>li>p:only-child,.prose ol>li>p:only-child{margin-top:0;margin-bottom:0}.prose ul ul,.prose ul ol,.prose ol ul,.prose ol ol{margin-block:0.25rem}.prose hr + *{margin-top:0}.prose h2 + *{margin-top:0}.prose h3 + *{margin-top:0}.prose h4 + *{margin-top:0}.prose thead th:first-child{padding-left:0}.prose thead th:last-child{padding-right:0}.prose tbody td,.prose tfoot td{padding-top:0.75rem;padding-right:0.75rem;padding-bottom:0.75rem;padding-left:0.75rem}.prose tbody td:first-child,.prose tfoot td:first-child{padding-left:0}.prose tbody td:last-child,.prose tfoot td:last-child{padding-right:0}.prose .lead{color:var(--color-meta);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose *:first-child{margin-block-start:0}.prose p:last-child,.prose blockquote:last-child,.prose ul:last-child,.prose ol:last-child,.prose .footnotes ol:last-child{margin-block-end:0}.prose sup:has(a[data-footnote-ref]){top:unset;vertical-align:baseline;font-size:inherit;line-height:inherit}.prose sup a[data-footnote-ref]{display:inline-flex;align-items:center;justify-content:center;min-width:0.875rem;padding:0 0.5rem;font-size:0.75em;border-radius:0.5rem;background-color:var(--color-gray-200);border:solid 1px var(--color-gray-400);color:inherit;text-decoration:none;margin-inline-start:0.1rem;vertical-align:middle;transition:background-color 0.1s ease}.prose sup a:hover{background-color:var(--color-gray-300)}a[data-footnote-backref]{display:inline-flex;align-items:center;justify-content:center;min-width:0.875rem;padding:0 0.5rem;font-size:0.75em;border-radius:0.5rem;background-color:var(--color-gray-200);border:solid 1px var(--color-gray-400);color:inherit;text-decoration:none;margin-inline-start:0.1rem;vertical-align:middle;transition:background-color 0.1s ease}a[data-footnote-backref]:hover{background-color:var(--color-gray-300)}:root.theme-dark .prose sup a[data-footnote-ref],:root.theme-dark .prose a[data-footnote-backref]{background-color:var(--color-gray-600);border:solid 1px var(--color-gray-500)}:root.theme-dark .prose sup a[data-footnote-ref]:hover,:root.theme-dark .prose a[data-footnote-backref]:hover{background-color:var(--color-gray-500)}@media (prefers-color-scheme:dark){:root:not(.theme-light) .prose sup a[data-footnote-ref],:root:not(.theme-light) .prose a[data-footnote-backref]{background-color:var(--color-gray-600);border:solid 1px var(--color-gray-500)}:root:not(.theme-light) .prose sup a[data-footnote-ref]:hover,:root:not(.theme-light) .prose a[data-footnote-backref]:hover{background-color:var(--color-gray-500)}}.prose .footnotes{font-size:0.875rem;border-block-start:var(--border-default);padding-block-start:var(--paragraph-spacing);margin-block-start:calc(var(--paragraph-spacing) * 2)}.sr-only:not(:focus):not(:active){clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.no-scroll{overflow:hidden}:root{--font-prose:"Iowan Old Style","Palatino Linotype","URW Palladio L",P052,serif;--font-mono:ui-monospace,"Cascadia Code","Source Code Pro",Menlo,Consolas,"DejaVu Sans Mono",monospace;--max-content-inline-size:40rem;--paragraph-spacing:1.25rem}html{font-size:112.5%;font-family:var(--font-prose)}a{all:revert}strong{color:black;font-weight:600}h1 a{color:inherit;text-decoration:none}h1 a:hover{text-decoration:underline}h1,.page-heading{font-weight:600}.single-column{padding:1.5rem}@media (width>=640px){.single-column{max-width:var(--max-content-inline-size);margin-inline:auto}}.site-header{display:flex;justify-content:space-between;align-items:center;margin-block-end:3rem;padding-block-end:0.5rem;border-block-end:solid 1px silver}.navbar ul{margin:0;padding:0;list-style:none;display:flex;gap:1rem}.navbar a{text-decoration:none}.navbar a:hover{text-decoration:underline}.logo{font-size:1.25rem;font-weight:600;color:black;text-decoration:none}.logo:hover{text-decoration:underline}.feed-item header{margin-block-end:var(--paragraph-spacing)}.feed-item header .page-heading{margin-bottom:0.25rem}.feed-item .meta{font-size:0.75rem;font-weight:300}.feed-item + .feed-item{margin-block-start:1.5rem}.content-list{list-style:none;padding:0}.content-list li{display:flex;gap:1rem}.content-list time{white-space:nowrap}