:root{color-scheme:light dark;--fallback-bg-color:var(--fallbackBg);--fallback-txt-color:var(--fallbackTxt);--fallback-bg-color-dark:var(--fallbackBgDark);--fallback-txt-color-dark:var(--fallbackTxtDark);--breakpoint-sm:555px;--breakpoint-md:768px;--breakpoint-lg:1000px;--breakpoint-xl:2221px;--space-quarter:.25em;--space-half:.5em;--space-1:1em;--space-1-5:1.5em;--space-2:2em;--heading-space:.67em;--page-gutter-mobile:1.11em;--page-gutter-block:2em;--page-gutter-inline:2.55em;--current-page-gutter-block:var(--page-gutter-mobile);--current-page-gutter-inline:var(--page-gutter-mobile);--prose-width:55ch;--title-measure:22ch;--rail-width:17rem;--rail-gap:var(--space-2);--step-meta:.68em;--step-body:1em;--step-stamp:1.1em;--masthead-opacity:.74;--pre-radius:0;--pre-bg-light:#ededed;--pre-bg-dark:#333;--text-muted-opacity:.6;--text-soft-opacity:.7;--text-note-opacity:.75;--sketch-grid-gap:var(--space-1);--surface-code:var(--pre-bg-light);--rule-hairline:1px;--rule-heavy:1px;--font-arial:Arial, "Helvetica Neue", Helvetica, "Liberation Sans", sans-serif;--font-ui:var(--font-arial);--font-meta:var(--font-ui)}@supports (margin-block:1lh){:root{--space-quarter:.25lh;--space-half:.5lh;--space-1:1lh;--space-1-5:1.5lh;--space-2:2lh;--heading-space:.67lh}}@supports (margin:1rlh){:root{--page-gutter-mobile:.95rlh;--page-gutter-block:1.65rlh;--page-gutter-inline:2.1rlh}}@media screen and (width>=555px){:root{--current-page-gutter-block:var(--page-gutter-block);--current-page-gutter-inline:var(--page-gutter-inline)}}@supports (color:light-dark(white, black)){*{color:light-dark(var(--txtColor,var(--fallback-txt-color)),var(--txtColorDark,var(--fallback-txt-color-dark)))}:root{--surface-code:light-dark(var(--pre-bg-light),var(--pre-bg-dark))}body{background-color:light-dark(var(--bgColor,var(--fallback-bg-color)),var(--bgColorDark,var(--fallback-bg-color-dark)));color:light-dark(var(--txtColor,var(--fallback-txt-color)),var(--txtColorDark,var(--fallback-txt-color-dark)))}}@supports not (color:light-dark(white, black)){*{color:var(--txtColor,var(--fallback-txt-color));@media (prefers-color-scheme:dark){color:var(--txtColorDark,var(--fallback-txt-color-dark))}}:root{--surface-code:var(--pre-bg-light);@media (prefers-color-scheme:dark){--surface-code:var(--pre-bg-dark)}}body{background-color:var(--bgColor,var(--fallback-bg-color));color:var(--txtColor,var(--fallback-txt-color));@media (prefers-color-scheme:dark){background-color:var(--bgColorDark,var(--fallback-bg-color-dark));color:var(--txtColorDark,var(--fallback-txt-color-dark))}}}html{margin:var(--current-page-gutter-block) var(--current-page-gutter-inline)}@media screen and (width<=999px){html{margin-block-end:0}}@media screen and (width>=1000px){.page{grid-template-columns:minmax(0, 1fr) var(--rail-width);column-gap:var(--rail-gap);display:grid}.page-column{grid-area:1/1;min-inline-size:0}.page-rail{flex-direction:column;grid-area:1/2;justify-content:flex-end;display:flex}.page-rail>*{max-block-size:calc(100vh - (2 * var(--current-page-gutter-block)));margin-block:0;margin-inline:calc(-1 * var(--space-half));padding-inline:var(--space-half);padding-block:var(--space-quarter);flex:none;position:sticky;inset-block-end:var(--current-page-gutter-block);overflow-y:auto}}@supports (height:100dvh){@media screen and (width>=1000px){.page-rail>*{max-block-size:calc(100dvh - (2 * var(--current-page-gutter-block)))}}}html,body,button,input,textarea,select{font-family:var(--font-ui)}body{-webkit-font-smoothing:antialiased;font-size:1.02em}body,.prose{text-align:left}.prose{max-width:var(--prose-width);text-wrap:pretty}.title-measure{max-width:var(--title-measure)}.prose img{max-width:100%;height:auto;padding-block-end:var(--space-1);display:inline-block}.prose video{max-width:100%;height:auto;margin-block-end:var(--space-1);display:block}.prose blockquote{margin-inline-start:0;padding-inline-start:var(--space-1);font-style:italic}.prose pre{padding:var(--space-1);border-radius:var(--pre-radius);background-color:var(--surface-code);overflow-x:auto}@supports selector(:has(*)){.prose:has(img:last-child) img:last-child{padding-block-end:0}}@supports not selector(:has(*)){.prose img:last-of-type{padding-block-end:0}}.text-muted{opacity:var(--text-muted-opacity)}.text-soft{opacity:var(--text-soft-opacity)}.text-note{opacity:var(--text-note-opacity)}.button-reset{font:inherit;background:0 0;border:none;padding:0}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.responsive-break{display:inline;@media screen and (width<=554px){display:none}}.list-circle li{list-style:circle}.sketch-grid{gap:var(--sketch-grid-gap);flex-wrap:wrap;display:flex;container-type:inline-size;@media (width>=768px){justify-content:flex-start}}:where(main,article,nav,header,footer)>:where(p,ul,ol,dl,blockquote,pre,figure){margin-block:var(--space-1)}:where(main,article,nav,header,footer)>:where(h1,h2,h3,h4,h5,h6){margin-block:var(--heading-space)}:is(a,button){cursor:pointer;text-decoration:none}.link-underline{text-underline-offset:.15em;text-decoration:underline}.link-underline:hover{text-decoration-thickness:2px}:is(a,button):focus-visible{outline-offset:.2em;outline:1px solid}:is(h1,h2,h3,h4,h5,h6){text-wrap:balance}.lightbox{--lightbox-scrim:#ffffffe6;z-index:1000;box-sizing:border-box;padding-block:var(--current-page-gutter-block);padding-inline:var(--current-page-gutter-inline);background-color:var(--lightbox-scrim);place-items:center;display:grid;position:fixed;inset:0}.lightbox[hidden]{display:none}.lightbox img{max-width:calc(100vw - (2 * var(--current-page-gutter-inline)));max-height:calc(100vh - (2 * var(--current-page-gutter-block)));object-fit:contain;cursor:default;width:auto;height:auto;display:block}@supports (height:100dvh){.lightbox img{max-height:calc(100dvh - (2 * var(--current-page-gutter-block)))}}html.lightbox-open,html.lightbox-open body{overflow:hidden}html.lightbox-open body{margin-block-start:0}@supports (background-color:color-mix(in srgb, white 90%, transparent)){.lightbox{--lightbox-scrim:color-mix(in srgb, var(--bgColor,var(--fallback-bg-color)) 90%, transparent)}@media (prefers-color-scheme:dark){.lightbox{--lightbox-scrim:color-mix(in srgb, var(--bgColorDark,var(--fallback-bg-color-dark)) 90%, transparent)}}}@supports (color:light-dark(white, black)) and (background-color:color-mix(in srgb, white 90%, transparent)){.lightbox{--lightbox-scrim:color-mix(in srgb, light-dark(var(--bgColor,var(--fallback-bg-color)),var(--bgColorDark,var(--fallback-bg-color-dark))) 90%, transparent)}}
