*,*::before,*::after{box-sizing:border-box}*{margin:0}html,body{height:100%;overflow-x:hidden}body{line-height:1.5;-webkit-font-smoothing:antialiased}img,picture,video,canvas,svg{display:block;max-width:100%;height:auto}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}ul,ol{list-style:none;padding:0}:root{--theme-name: "light";--bg: white;--fg: var(--gray-800);--gray-50:  #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827}:root .chroma{background-color:var(--gray-100)}:root .chroma .err{color:#a61717;background-color:#e3d2d2}:root .chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}:root .chroma .lntable{border-spacing:0;padding:0;margin:0;border:0;width:auto;overflow:auto;display:block}:root .chroma .hl{display:block;width:100%;background-color:#ffffcc}:root .chroma .lnt{margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f}:root .chroma .ln{margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f}:root .chroma .k{color:#000000;font-weight:bold}:root .chroma .kc{color:#000000;font-weight:bold}:root .chroma .kd{color:#000000;font-weight:bold}:root .chroma .kn{color:#000000;font-weight:bold}:root .chroma .kp{color:#000000;font-weight:bold}:root .chroma .kr{color:#000000;font-weight:bold}:root .chroma .kt{color:#445588;font-weight:bold}:root .chroma .na{color:#008080}:root .chroma .nb{color:#0086b3}:root .chroma .bp{color:#999999}:root .chroma .nc{color:#445588;font-weight:bold}:root .chroma .no{color:#008080}:root .chroma .nd{color:#3c5d5d;font-weight:bold}:root .chroma .ni{color:#800080}:root .chroma .ne{color:#990000;font-weight:bold}:root .chroma .nf{color:#990000;font-weight:bold}:root .chroma .nl{color:#990000;font-weight:bold}:root .chroma .nn{color:#555555}:root .chroma .nt{color:#000080}:root .chroma .nv{color:#008080}:root .chroma .vc{color:#008080}:root .chroma .vg{color:#008080}:root .chroma .vi{color:#008080}:root .chroma .s{color:#dd1144}:root .chroma .sa{color:#dd1144}:root .chroma .sb{color:#dd1144}:root .chroma .sc{color:#dd1144}:root .chroma .dl{color:#dd1144}:root .chroma .sd{color:#dd1144}:root .chroma .s2{color:#dd1144}:root .chroma .se{color:#dd1144}:root .chroma .sh{color:#dd1144}:root .chroma .si{color:#dd1144}:root .chroma .sx{color:#dd1144}:root .chroma .sr{color:#009926}:root .chroma .s1{color:#dd1144}:root .chroma .ss{color:#990073}:root .chroma .m{color:#009999}:root .chroma .mb{color:#009999}:root .chroma .mf{color:#009999}:root .chroma .mh{color:#009999}:root .chroma .mi{color:#009999}:root .chroma .il{color:#009999}:root .chroma .mo{color:#009999}:root .chroma .o{color:#000000;font-weight:bold}:root .chroma .ow{color:#000000;font-weight:bold}:root .chroma .c{color:#999988;font-style:italic}:root .chroma .ch{color:#999988;font-style:italic}:root .chroma .cm{color:#999988;font-style:italic}:root .chroma .c1{color:#999988;font-style:italic}:root .chroma .cs{color:#999999;font-weight:bold;font-style:italic}:root .chroma .cp{color:#999999;font-weight:bold;font-style:italic}:root .chroma .cpf{color:#999999;font-weight:bold;font-style:italic}:root .chroma .gd{color:#000000;background-color:#ffdddd}:root .chroma .ge{color:#000000;font-style:italic}:root .chroma .gr{color:#aa0000}:root .chroma .gh{color:#999999}:root .chroma .gi{color:#000000;background-color:#ddffdd}:root .chroma .go{color:#888888}:root .chroma .gp{color:#555555}:root .chroma .gs{font-weight:bold}:root .chroma .gu{color:#aaaaaa}:root .chroma .gt{color:#aa0000}:root .chroma .gl{text-decoration:underline}:root .chroma .w{color:#bbbbbb}@media (prefers-color-scheme: dark){:root{--theme-name: "dark";--bg:  #000;--fg: var(--gray-800);--gray-900: #f9fafb;--gray-800: #f3f4f6;--gray-700: #e5e7eb;--gray-600: #d1d5db;--gray-500: #9ca3af;--gray-400: #6b7280;--gray-300: #4b5563;--gray-200: #374151;--gray-100: #1f2937;--gray-50:  #111827}:root .chroma *{color:inherit}:root .chroma{color:#8a8a8a;background-color:#1c1c1c}:root .chroma .x{color:#d75f00}:root .chroma .err{background-color:#4d2424}:root .chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}:root .chroma .lntable{border-spacing:0;padding:0;margin:0;border:0;width:auto;overflow:auto;display:block}:root .chroma .hl{display:block;width:100%;background-color:#ffffcc}:root .chroma .lnt{margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#454545}:root .chroma .ln{margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#454545}:root .chroma .k{color:#5f8700}:root .chroma .kc{color:#d75f00}:root .chroma .kd{color:#0087ff}:root .chroma .kn{color:#d75f00}:root .chroma .kp{color:#5f8700}:root .chroma .kr{color:#0087ff}:root .chroma .kt{color:#af0000}:root .chroma .nb{color:#0087ff}:root .chroma .bp{color:#0087ff}:root .chroma .nc{color:#0087ff}:root .chroma .no{color:#d75f00}:root .chroma .nd{color:#0087ff}:root .chroma .ni{color:#d75f00}:root .chroma .ne{color:#af8700}:root .chroma .nf{color:#0087ff}:root .chroma .nt{color:#0087ff}:root .chroma .nv{color:#0087ff}:root .chroma .s{color:#00afaf}:root .chroma .sa{color:#00afaf}:root .chroma .sb{color:#4e4e4e}:root .chroma .sc{color:#00afaf}:root .chroma .dl{color:#00afaf}:root .chroma .sd{color:#00afaf}:root .chroma .s2{color:#00afaf}:root .chroma .se{color:#af0000}:root .chroma .sh{color:#00afaf}:root .chroma .si{color:#00afaf}:root .chroma .sx{color:#00afaf}:root .chroma .sr{color:#af0000}:root .chroma .s1{color:#00afaf}:root .chroma .ss{color:#00afaf}:root .chroma .m{color:#00afaf}:root .chroma .mb{color:#00afaf}:root .chroma .mf{color:#00afaf}:root .chroma .mh{color:#00afaf}:root .chroma .mi{color:#00afaf}:root .chroma .il{color:#00afaf}:root .chroma .mo{color:#00afaf}:root .chroma .ow{color:#5f8700}:root .chroma .c{color:#4e4e4e}:root .chroma .ch{color:#4e4e4e}:root .chroma .cm{color:#4e4e4e}:root .chroma .c1{color:#4e4e4e}:root .chroma .cs{color:#5f8700}:root .chroma .cp{color:#5f8700}:root .chroma .cpf{color:#5f8700}:root .chroma .gd{color:#af0000}:root .chroma .ge{font-style:italic}:root .chroma .gr{color:#af0000;font-weight:bold}:root .chroma .gh{color:#d75f00}:root .chroma .gi{color:#5f8700}:root .chroma .gs{font-weight:bold}:root .chroma .gu{color:#0087ff}}:root{--header-height: clamp(10rem, calc(6rem + 6vw), 14rem)}@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;src:local(""),url("/fonts/ibm-plex-mono-v11-latin-regular.woff2") format("woff2"),url("/fonts/ibm-plex-mono-v11-latin-regular.woff") format("woff")}@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400;src:local(""),url("/fonts/ibm-plex-sans-v13-latin-regular.woff2") format("woff2"),url("/fonts/ibm-plex-sans-v13-latin-regular.woff") format("woff")}@font-face{font-family:'IBM Plex Sans';font-style:italic;font-weight:400;src:local(""),url("/fonts/ibm-plex-sans-v13-latin-italic.woff2") format("woff2"),url("/fonts/ibm-plex-sans-v13-latin-italic.woff") format("woff")}@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:700;src:local(""),url("/fonts/ibm-plex-sans-v13-latin-700.woff2") format("woff2"),url("/fonts/ibm-plex-sans-v13-latin-700.woff") format("woff")}@font-face{font-family:'Lora';font-style:normal;font-weight:400;src:local(""),url("/fonts/lora-v23-latin-regular.woff2") format("woff2"),url("/fonts/lora-v23-latin-regular.woff") format("woff")}@font-face{font-family:'Lora';font-style:normal;font-weight:700;src:local(""),url("/fonts/lora-v23-latin-700.woff2") format("woff2"),url("/fonts/lora-v23-latin-700.woff") format("woff")}html{font-size:1rem}@media screen and (min-width: 1280px){html{font-size:1.125rem}}body{font-family:"IBM Plex Sans", sans-serif;line-height:1.66;color:var(--fg);background-color:var(--bg)}pre,code{font-family:"IBM Plex Mono", monospace}h1{font-size:2em;font-family:"Lora", serif}.notes h1{font-family:inherit}h1,h2,h3{margin:1em 0;line-height:1.2}h1:first-child,h2:first-child,h3:first-child{margin-top:0}h1:last-child,h2:last-child,h3:last-child{margin-bottom:0}blockquote{padding:1em 1em;background-color:var(--gray-100);margin:0 -1em}article blockquote p{margin:0;text-indent:0}article ul,article ol{list-style:initial;padding-left:2em}article ol{list-style:decimal}article p{margin:1rem 0}a,a:visited{color:inherit}article img{width:100%}code,pre{font-size:1rem;border-radius:0.4em}pre{overflow-x:auto;padding:0.5em;margin:0 -0.5em}p code{background-color:var(--gray-200) !important;padding:0.1em 0.2em}.measure{width:100%;max-width:36rem}.center{justify-self:center}.end{justify-self:end}.caps{font-size:0.85em;text-transform:uppercase}.respo{font-size:clamp(1.75rem, 3.8vw, 2.8rem)}.caption{width:100%;text-align:center;opacity:0.8;font-size:0.85em;margin:0.2em 0}.m-top-zero{margin-top:0rem !important}.m-bottom-zero{margin-bottom:0rem !important}.m-left-zero{margin-left:0rem !important}.m-right-zero{margin-right:0rem !important}.m-top-xs{margin-top:.4rem !important}.m-bottom-xs{margin-bottom:.4rem !important}.m-left-xs{margin-left:.4rem !important}.m-right-xs{margin-right:.4rem !important}.m-top-sm{margin-top:1.6rem !important}.m-bottom-sm{margin-bottom:1.6rem !important}.m-left-sm{margin-left:1.6rem !important}.m-right-sm{margin-right:1.6rem !important}.m-top-md{margin-top:2.4rem !important}.m-bottom-md{margin-bottom:2.4rem !important}.m-left-md{margin-left:2.4rem !important}.m-right-md{margin-right:2.4rem !important}.m-top-lg{margin-top:4.2rem !important}.m-bottom-lg{margin-bottom:4.2rem !important}.m-left-lg{margin-left:4.2rem !important}.m-right-lg{margin-right:4.2rem !important}.header{display:flex;flex-direction:column;gap:2rem;margin:2rem 0;flex-shrink:0}@media screen and (min-width: 960px){.header{margin:0;height:var(--header-height);justify-content:center;grid-area:1 / 1}.has-index .header{position:fixed}}.wide-image{width:100vw;margin-left:calc( -1 * var(--margin))}.wide-image img{width:100%}@media screen and (min-width: 960px){.wide-image{width:132%;margin-left:-16%;margin-right:-16%}}.site-title{align-items:flex-start;display:flex;flex-direction:column}.site-title *{white-space:nowrap}.site-title a,.site-title a:visited{font-weight:700;text-decoration:none;color:inherit}.nav{display:flex;align-items:center;gap:.5em;margin-bottom:3rem}@media screen and (min-width: 960px){.nav{justify-content:flex-end;height:var(--header-height);margin:0;grid-column:2;grid-row:1}}.nav__link{border:1px solid var(--gray-300);border-radius:4px;color:inherit;display:block;padding:0 0.4em;height:2rem;display:flex;align-items:center;text-decoration:none;white-space:nowrap}.nav__link--active{border-color:transparent;background-color:var(--gray-200)}.nav__link--active,.nav__link--active:visited{color:inherit}.inline-svg svg{fill:currentColor}.base-layout{--margin: 1rem;margin:0 auto;display:flex;gap:0 4rem;flex-direction:column;padding:0 var(--margin);width:100%;max-width:77rem}@media screen and (min-width: 600px){.base-layout{--margin: 4rem}}@media screen and (min-width: 960px){.base-layout{display:grid;grid-template-columns:16rem 1fr;grid-template-rows:var(--header-height) 1fr}}.page-content{width:100%;padding-bottom:10rem;grid-column-start:1;grid-column-end:-1}@media screen and (min-width: 960px){.page-content{display:grid}.has-index .page-content{justify-items:center;grid-row:2;grid-column-start:2}}:is(.section) .page-content article{display:none}@media screen and (min-width: 960px){:is(.section) .page-content article{display:block}}.link-index{font-size:1.125rem}.page .link-index{display:none}@media screen and (min-width: 960px){.page .link-index{display:block}}.link-index .tall{margin:2em 0}@media screen and (min-width: 960px){.link-index{display:block;font-size:1rem;overflow-y:auto;border-right:1px solid var(--gray-200);flex:1;padding-bottom:4rem;padding-right:2rem;grid-row:2;height:calc(100vh - var(--header-height));position:fixed;width:16rem;top:var(--header-height)}}.link-index a,.link-index a:visited{text-decoration:none;color:inherit}.link-index a:hover,.link-index a:visited:hover{text-decoration:underline}@media screen and (min-width: 1280px){.link-index{font-size:0.888rem}}.link-index__heading{font-size:1.25rem;font-weight:700;line-height:1;margin-bottom:0.5rem}.link-index__heading:not(:first-child){margin-top:3rem}.small-date{font-size:0.75rem;text-transform:uppercase;color:var(--gray-400);margin:0.25em 0}hr{margin:4rem 0;border:0;border-top:1px solid var(--gray-200)}.footer{display:flex;flex-direction:column;flex-wrap:wrap;gap:1em;font-size:0.82rem}@media screen and (min-width: 960px){.footer{flex-direction:row;gap:2em}}@media screen and (min-width: 960px){.sidebar{display:flex;flex-direction:column;grid-row:span 2}.has-index .sidebar{height:100vh;position:sticky;top:0}}body.home{background-color:#f0cec8}.homepage-layout{--fg: #1a1a1a;color:var(--fg);display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100dvh}.homepage-layout__inner{width:100%;max-width:60rem;padding:2rem 1rem}@media screen and (min-width: 600px){.homepage-layout__inner{padding:2rem 4rem}}.homepage-layout h1{font-weight:400}.homepage-layout a{text-decoration-thickness:1px}.homepage-layout hr{border-top-color:rgba(80,40,38,0.25)}.homepage-layout .footer{color:rgba(80,40,38,0.55)}.homepage-layout .footer a{color:inherit}.homepage-layout__content{display:flex;flex-direction:column;align-items:center}input{width:100%;padding:0.25em 0.5em;border-radius:5px;border:1px solid var(--gray-400);background-color:inherit;color:inherit}input::placeholder{color:var(--gray-600)}input:focus{border-color:var(--gray-600);outline:none}

/*# sourceMappingURL=index.css.map */