*,*:before,*:after{box-sizing:border-box}html{-moz-text-size-adjust:none;-webkit-text-size-adjust:none;text-size-adjust:none}body,h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd,ul,ol,pre,hr{margin-block-end:0}ul[role=list],ol[role=list]{list-style:none;padding:0}img,picture,video,iframe{max-width:100%;display:block}input,button,textarea,select{font:inherit}textarea:not([rows]){min-height:10em}:target{scroll-margin-block:5ex}sup,sub{vertical-align:baseline;position:relative;top:-.4em;font-size:.85em}sub{top:.4em}body{margin:0;padding:0}h1,h2,h3,h4,h5,h6 button,input,label,thead,tfoot{line-height:1.1}:root{--f-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;--f-serif: Palatino, Georgia, Times, "Times New Roman", serif;--f-mono: "SF Mono", Consolas, monaco, monospace;--step--1: clamp(.8rem, .7521rem + .2395vw, .9377rem);--step-0: clamp(1rem, .913rem + .4348vw, 1.25rem);--step-1: clamp(1.25rem, 1.1052rem + .7239vw, 1.6663rem);--step-2: clamp(1.5625rem, 1.3334rem + 1.1454vw, 2.2211rem);--step-3: clamp(1.9531rem, 1.6026rem + 1.7524vw, 2.9607rem);--step-4: clamp(2.4414rem, 1.9178rem + 2.6178vw, 3.9467rem);--step-5: clamp(3.0518rem, 2.2834rem + 3.842vw, 5.2609rem);--space-xs: clamp(.75rem, .6848rem + .3261vw, .9375rem);--space-s: clamp(1rem, .913rem + .4348vw, 1.25rem);--space-m: clamp(1.5rem, 1.3696rem + .6522vw, 1.875rem);--space-l: clamp(2rem, 1.8261rem + .8696vw, 2.5rem);--space-xl: clamp(3rem, 2.7391rem + 1.3043vw, 3.75rem);--space-2xl: clamp(4rem, 3.6522rem + 1.7391vw, 5rem);--space-xs-s: clamp(.75rem, .5761rem + .8696vw, 1.25rem);--space-s-m: clamp(1rem, .6957rem + 1.5217vw, 1.875rem);--space-m-l: clamp(1.5rem, 1.1522rem + 1.7391vw, 2.5rem);--space-l-xl: clamp(2rem, 1.3913rem + 3.0435vw, 3.75rem);--space-xl-2xl: clamp(3rem, 2.3043rem + 3.4783vw, 5rem);--space-s-2xl: clamp(1rem, -.3913rem + 6.9565vw, 5rem);--color-light-gray: oklch(.99 .001 240);--color-dark-gray: oklch(.1 .01 240);--color-blue-base: oklch(45% .1 240);--color-orange-base: oklch(45% .105 60);--color-green-base: oklch(45% .105 150);--color-purple-base: oklch(45% .105 330);--color-red-base: oklch(45% .105 1);--color-bg: var(--color-light-gray);--color-bg-1: oklch(from var(--color-light-gray) .97 c h);--color-bg-2: oklch(from var(--color-light-gray) .95 c h);--color-text: var(--color-dark-gray);--color-text-muted: oklch(from var(--color-light-gray) .6 c h);--color-text-light: var(--color-light-gray);--color-text-link: var(--color-blue-base);--color-text-link-alt: var(--color-orange-base);--color-text-code: oklch(from var(--color-red-base) .5 .15 h);--color-brand: var(--color-blue-base);--color-alt1: var(--color-orange-base);--color-alt2: oklch(--color-purple-base);--color-border: oklch(from var(--color-dark-gray) .6 c h);--color-border-light: oklch(from var(--color-dark-gray) .9 c h)}body{display:flex;flex-direction:column;flex-wrap:nowrap;min-height:100vh;font-family:var(--f-sans);font-size:var(--step-0);line-height:1.5;-webkit-font-smoothing:antialiased;color:var(--color-text);background-color:var(--color-bg);border-top:5px solid var(--color-brand)}main{flex-grow:1}article{margin-bottom:var(--space-l)}a{text-underline-offset:.2em;text-decoration-skip-link:auto;color:var(--color-text-link);transition:all .2s ease-in-out}a:hover{color:var(--color-text-link-alt)}.plain{text-decoration:none;color:inherit}.plain:hover{text-decoration:underline}small{font-size:.9em}abbr:hover{cursor:help}.container{display:grid;grid-template-columns:[full-width-start] minmax(0,1fr) [popout-start] minmax(0,var(--space-s-2xl)) [content-start] min(65ch,100% - var(--space-s-2xl) * 2) [content-end] minmax(0,var(--space-s-2xl)) [popout-end] minmax(0,1fr) [full-width-end]}.container>*{grid-column:content}.popout{display:grid;grid-column:popout-start / popout-end;grid-template-columns:subgrid}.full-width{display:grid;grid-column:full-width-start / full-width-end;grid-template-columns:subgrid}.flow>*+*{margin-block-start:var(--flow-space, 1em)}.cluster{--gap: var(--space-xs);display:flex;flex-wrap:wrap;row-gap:var(--gap);column-gap:var(--space-l)}.uniform>*{flex:1 1 35%}h1,.h1{font-size:var(--step-3);font-weight:700}h2,.h2{font-size:var(--step-2);font-weight:700}h3,.h3{font-size:var(--step-1);font-weight:700}h4,h5,h6,.h4,.h5,.h6{font-size:var(--step-0);font-weight:700}h1,h2,h3,h4,h5,h6{line-height:1.2}h1,h2,h3,h4,h5,h6{margin-block-start:2em;margin-block-end:0}small,.small{font-size:.8em}code{font-size:.9em;font-family:var(--f-mono);color:var(--color-text-code);background-color:var(--color-bg-2);padding-inline:.5ch;border-radius:2px}pre{font-family:inherit;background:unset;padding:unset;border-radius:unset}pre:has(code){background-color:var(--color-bg-2);padding:var(--space-xs);border-radius:5px;overflow-x:auto;overflow-y:visible}pre>code{padding-inline:0}del{color:oklch(from var(--color-red-base) .5 .15 h)}ins{color:oklch(from var(--color-green-base) .5 .15 h)}mark{background-color:oklch(from yellow .95 .2 h / .6);padding-inline:.25ch}kbd{background-color:var(--color-text-muted);color:var(--color-text-light);padding-inline:.5ch;border-radius:2px;font-size:.95em}hr{display:block;box-sizing:content-box;margin-block-start:1.5em;margin-block-end:.5em;height:1px;width:100%;border-style:unset;background:var(--color-border-light)}blockquote{margin-inline:0;padding-inline:var(--space-m) var(--space-l);border-left:3px solid var(--color-brand)}blockquote>*:first-child{margin-block-start:0}blockquote>p:has(cite){color:var(--color-text-muted)}.muted{color:var(--color-text-muted)}.tag{padding-inline:1ch;padding-block:.1ch;border-radius:.5lh;color:var(--color-text-muted);border:1px solid var(--color-border-light);background-color:var(--color-bg-1);margin-inline:var(--space-s)}a.tag:hover{text-decoration:none;border-color:var(--color-text-link-alt)}.site-header{padding-block:var(--space-xs);margin-block-end:var(--space-xl)}.site-name{font-size:var(--step-1);font-weight:700;font-style:italic;text-decoration:none;color:var(--color-brand)}.site-footer{margin-block:var(--space-2xl) 0;padding-block-start:var(--space-m-l);padding-block-end:var(--space-s-m);background-color:var(--color-bg-1)}.archive-list{color:var(--color-brand)}.archive-list__date{font-family:var(--f-mono);font-size:var(--step--1);color:var(--color-text-muted);padding-right:1ch}.newgroup{margin-block-start:1lh}.newgroup:first-child{margin-block-start:0}hgroup{margin-block-end:var(--space-l)}hgroup>h1,hgroup>.h1{margin-block:0}hgroup>.subtitle{margin-block-start:0;color:var(--color-text-muted)}hgroup>.meta{margin-block:0;font-size:var(--step--1);color:var(--color-text-muted)}ol>li::marker{font-size:.9em;font-weight:700;color:var(--color-brand)}ul>li::marker{font-size:inherit;color:var(--color-brand)}dt{font-weight:700}dd{margin-inline:0;margin-block-start:0;margin-block-end:1em}dd>*:first-child{margin-block-start:0}figure{margin-inline:0;margin-block-start:var(--space-l);margin-block-end:var(--space-xs)}figure>*:first-child{margin-block-start:0}figcaption{margin-top:var(--space-xs);font-size:var(--step--1);line-height:1.5;color:var(--color-text-muted)}.full-width>*:first-child{grid-column:full-width}.popout>*:first-child{grid-column:popout}.border{border:1px solid var(--color-border-light);border-radius:5px;padding:var(--space-m)}figcaption{grid-column:content}table{border-collapse:collapse;min-width:100%;text-align:left}td,th{padding-inline:var(--space-xs);padding-block:calc(var(--space-xs)/2)}thead tr{border-top:2px solid var(--color-border);border-bottom:1px solid var(--color-border)}tbody:first-child{border-top:2px solid var(--color-border)}tbody:last-child{border-bottom:2px solid var(--color-border)}tbody>tr{border-bottom:1px solid var(--color-border-light)}tfoot tr{border-bottom:2px solid var(--color-border);border-top:1px solid var(--color-border);background-color:var(--color-bg-1)}.num{font-variant-numeric:tabular-nums}.mono{font-family:(--f-mono)}.footnote-ref{font-weight:700;font-style:italic;text-decoration:none;padding-inline:.7ch;padding-block:.1ch;background-color:var(--color-bg-2);border-radius:.5lh}.footnote{font-style:italic;margin-block-start:var(--space-m);font-size:var(--step--1)}.footnote i,.footnote em{font-style:normal}.footnote-backref{text-decoration:none}button{--button-color: var(--color-brand);--button-color-disabled: oklch(from var(--color-text-muted) .7 c h);line-height:1.1;padding-block:.4em .5em;padding-inline:1em;color:var(--color-light-gray);background-color:var(--button-color);border:2px solid var(--button-color);border-radius:6px;transition:all ease-in-out .15s}button:hover{background-color:oklch(from var(--button-color) .55 c h);border-color:oklch(from var(--button-color) .55 c h)}button:active{background-color:oklch(from var(--button-color) .65 c h);border-color:oklch(from var(--button-color) .65 c h)}button.outline{background-color:inherit;color:var(--button-color)}button.outline:hover{background-color:oklch(from var(--button-color) .9 .025 h)}button.outline:active{background-color:oklch(from var(--button-color) .8 .05 h)}button[disabled]{background-color:var(--button-color-disabled);border-color:var(--button-color-disabled)}.site-tagline{margin-top:0;color:var(--color-text-muted);font-weight:100;font-style:italic;font-size:var(--step-4);margin-bottom:var(--space-xl)}
