@import "https://fonts.googleapis.com/css2?family=Roboto+Serif:ital,opsz,wght@0,8..144,300;0,8..144,500;1,8..144,300&display=swap";*{box-sizing:border-box;margin:0}html{background-color:var(--color-overscroll-background)}body{background-color:var(--color-overscroll-background);min-height:100vh;color:var(--color-body-text);font-family:Roboto Serif;font-weight:300;line-height:1.5;font-size:var(--body-font-size,1.2rem);flex-direction:column;display:flex}body>*{--layout-spacing:max(8vh,3rem);--max-width:60rem;--width:100%;padding-left:max((100% - var(--max-width))/2,1.6rem);padding-right:max((100% - var(--max-width))/2,1.6rem);background-color:var(--color-body-background)}body>header{background:var(--color-header-background);color:var(--color-header-text);--color-link:var(--color-dark-mode-link)}nav{--font-size:var(--font-size-header);flex-wrap:wrap;align-items:baseline;font-family:Roboto Serif;font-weight:500;display:flex}nav a{text-decoration:none}nav a:not(:lang(ae)):not(:lang(ar)):not(:lang(arc)):not(:lang(bcc)):not(:lang(bqi)):not(:lang(ckb)):not(:lang(dv)):not(:lang(fa)):not(:lang(glk)):not(:lang(he)):not(:lang(ku)):not(:lang(mzn)):not(:lang(nqo)):not(:lang(pnb)):not(:lang(ps)):not(:lang(sd)):not(:lang(ug)):not(:lang(ur)):not(:lang(yi)){margin-right:2rem}nav a:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-left:2rem}nav a:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-left:2rem}nav .description{margin-left:1em;font-size:50%;font-style:italic;font-weight:300;position:relative}nav .description:before{content:"";height:.2em;width:1.5em;border-bottom:2px solid #fff;border-left:1px solid #fff;border-radius:0 100%;position:absolute;top:.5em;left:-1.8em;-webkit-transform:rotate(-8deg)translateY(.2em);transform:rotate(-8deg)translateY(.2em)}.leadin{font-style:italic}.leadin em{color:var(--color-margin-note);font-style:normal}main,main>*+*{padding-top:var(--layout-spacing,1em)}main{padding-bottom:var(--layout-spacing,1em)}main>article{--layout-spacing:3rem;grid-row-gap:var(--layout-spacing);grid-template-columns:[margin]0[content]1fr;display:grid;container-type:inline-size}main>article>*{grid-column:content}main>article>.in-margin{width:-webkit-max-content;width:max-content;grid-column:margin}body>footer{background:var(--color-footer-background);color:var(--color-footer-text);--color-link:var(--color-dark-mode-link);padding-top:1rem;padding-bottom:1rem;font-family:Monaco}:-webkit-any(h1,h2,h3){line-height:1.2}:is(h1,h2,h3){line-height:1.2}:-webkit-any(h1,h2){max-width:40ch}:is(h1,h2){max-width:40ch}:-webkit-any(h2,h3):not(:first-child){margin-top:2em}:is(h2,h3):not(:first-child){margin-top:2em}a{color:var(--color-link);text-underline-offset:.08em}a:focus{outline-offset:.2em;outline:1px solid}article img{display:block}code{background:var(--color-code-background);border-radius:.15em;padding:.2rem}pre{font-size:85%}.demo{border-radius:.3em;padding:1.5rem 0}:-webkit-any(h2,h3,h4)+.demo{margin-top:0}:is(h2,h3,h4)+.demo{margin-top:0}@media (any-hover:hover) and (any-pointer:fine){.demo{resize:horizontal;border-radius:.3em;padding:1.5rem 0;position:relative;overflow:auto}.demo:after,.demo:before{color:#fff;font-family:Monaco;font-size:85%;position:absolute;right:1rem}.demo:after{content:"Resize demo →"}.demo:before{content:attr(style);top:0}}.neat,article>time{height:0;width:0;text-transform:lowercase;word-break:keep-all;margin:0;font-size:120%;font-style:italic;font-weight:700;display:block;-webkit-transform:translate(-1.5rem,-2.2rem)rotate(-10deg);transform:translate(-1.5rem,-2.2rem)rotate(-10deg)}.neat{color:var(--color-margin-note)}.neat:before{content:"";height:1.3em;width:.4em;border-bottom:1px solid;border-left:4px solid;border-radius:0 100%;position:absolute;top:1.4em;left:.6em}code[class*=language-],pre[class*=language-]{color:#f8f8f2;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;tab-size:4;-webkit-hyphens:none;hyphens:none;background:0 0;font-family:Fira Code,Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;line-height:1.5}pre[class*=language-]{border-radius:.3em;padding:1em;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#2e3440}:not(pre)>code[class*=language-]{white-space:normal;border-radius:.3em;padding:.1em}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:#636f88}.token.punctuation{color:#81a1c1}.namespace{opacity:.7}.token.property,.token.tag,.token.constant,.token.symbol,.token.deleted{color:#81a1c1}.token.number{color:#b48ead}.token.boolean{color:#81a1c1}.token.selector,.token.attr-name,.token.string,.token.char,.token.builtin,.token.inserted{color:#a3be8c}.token.operator,.token.entity,.token.url,.language-css .token.string,.style .token.string,.token.variable{color:#81a1c1}.token.atrule,.token.attr-value,.token.function,.token.class-name{color:#88c0d0}.token.keyword{color:#81a1c1}.token.regex,.token.important{color:#ebcb8b}.token.important,.token.bold{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}:root{--type-ratio:1.2;--body-font-size:1.2rem;--font-size-4:calc(var(--body-font-size)*var(--type-ratio));--font-size-3:calc(var(--font-size-4)*var(--type-ratio));--font-size-2:calc(var(--font-size-3)*var(--type-ratio));--font-size-1:calc(var(--font-size-2)*var(--type-ratio));--font-size-header:calc(var(--font-size-1)*var(--type-ratio)*var(--type-ratio)*var(--type-ratio));--color-footer-background:#2e3440;--color-footer-text:white;--color-header-background:#2e3440;--color-header-text:var(--color-dark-mode-text);--color-body-background:white;--color-body-text:#222;--color-overscroll-background:var(--color-header-background);--color-dark-mode-text:white;--color-dark-mode-link:#81a1c1;--color-margin-note:#0a770a;--color-code-background:#ddd;--color-link:#496e93;--color-headings:black;--color-headings-emphasis:var(--color-margin-note)}h1{--font-size:var(--font-size-1);font-size:var(--font-size)}h2{--font-size:var(--font-size-2);font-size:var(--font-size)}h3{--font-size:var(--font-size-3);font-size:var(--font-size)}h4{--font-size:var(--font-size-4);font-size:var(--font-size)}.fluid-type{font-size:var(--font-size)}:-webkit-any(h1,h2,h3,h4,.fluid-type){--_font-min:var(--font-size) - var(--font-size)*var(--font-size-diff,.3);font-size:clamp(max(var(--body-font-size),var(--_font-min)),var(--_font-min) + 1cqi,var(--font-size))}:is(h1,h2,h3,h4,.fluid-type){--_font-min:var(--font-size) - var(--font-size)*var(--font-size-diff,.3);font-size:clamp(max(var(--body-font-size),var(--_font-min)),var(--_font-min) + 1cqi,var(--font-size))}h1,h2,h3,h4{color:var(--color-headings)}:-webkit-any(h1,h2,h3,h4) em{font-style:inherit;color:var(--color-headings-emphasis)}:is(h1,h2,h3,h4) em{font-style:inherit;color:var(--color-headings-emphasis)}@media (prefers-color-scheme:dark){:root{--color-body-background:#1b1f26;--color-body-text:rgba(255,255,255,.75);--color-margin-note:rgba(0,255,0,.667);--color-code-background:#2e3440;--color-link:var(--color-dark-mode-link);--color-headings:white}}