@font-face{font-family:"Figtree";font-style:normal;font-weight:400;font-display:auto;src:url("./fonts/figtree-v9-latin-regular.woff2") format("woff2")}@font-face{font-family:"Figtree Bold";font-style:normal;font-weight:600;font-display:auto;src:url("./fonts/figtree-v9-latin-600.woff2") format("woff2")}:root{--page-bg: hsl(56, 100%, 94%);--color-base: #070e0c;--color-link: var(--color-base);--color-link-focus-bg: var(--color-base);--color-link-inverse: var(--page-bg);--color-link-inverse-focus-color: var(--page-bg);--color-link-inverse-focus-bg: var(--color-link);--section-border: var(--color-base);--code-bg: #c9dde8;--code-bg-light: #f2f7fa;--highlight-section-bg: hsl(56, 83%, 80%)}@media(prefers-color-scheme: dark){:root{--page-bg: #070e0c;--color-base: hsl(56, 100%, 94%);--section-border: hsl(56, 100%, 94%)}}:root{--font-size--1: clamp(0.8889rem, 0.8207rem + 0.303vw, 1.0556rem);--font-size-0: clamp(1rem, 0.9233rem + 0.3409vw, 1.1875rem);--font-size-1: clamp(1.125rem, 1.0387rem + 0.3835vw, 1.3359rem);--font-size-2: clamp(1.2656rem, 1.1685rem + 0.4315vw, 1.5029rem);--font-size-4: clamp(1.6018rem, 1.4789rem + 0.5461vw, 1.9021rem);--font-size-8: clamp(2.5658rem, 2.369rem + 0.8747vw, 3.0469rem);--flow-space: 1.2em;--width-text: 70ch}*,*::before,*::after{box-sizing:border-box;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;-webkit-overflow-scrolling:touch}*::-moz-focus-inner{border:0}html,body{height:100%}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;padding:0;grid-template-rows:auto 1fr auto;row-gap:2rem;background-color:var(--page-bg);color:var(--color-base);font-family:"Figtree",sans-serif;font-size:var(--font-size-0);line-height:1.6}body>main{padding-block:2rem}h1,h2,h3,h4,h5,h6,blockquote,p,pre,dl,dd,ol,ul,figure,hr,fieldset,legend{margin:0;padding:0}input,button,textarea,select{font:inherit}ul[class],ol[class]{list-style:none}address{font-style:normal}a,button{transition:all 225ms 0ms linear}@media(prefers-color-scheme: dark){a:hover,button:hover{box-shadow:0 0 0 2px var(--color-link)}}a{margin-inline:-2px;padding-inline:2px}a:not([class]){text-decoration-skip-ink:auto}button{font:inherit;color:currentColor;border:none;background-color:rgba(0,0,0,0)}button:hover{cursor:pointer}:focus{outline:2px solid var(--color-link)}:focus-visible{outline:2px solid var(--color-link)}img{display:block;max-width:100%;outline:0}@media(prefers-reduced-motion: reduce){*,*::before,*::after{transition-duration:.01ms !important;scroll-behavior:auto !important}}@media(prefers-reduced-motion: no-preference){html:focus-within{scroll-behavior:smooth}}.visuallyhidden:not(:focus-visible):not(:active){clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.list-wrapper{--flow-space: 2em}@media screen and (min-width: 600px){.list-wrapper{padding-inline:1rem}}.content a:not([class]):hover,.content a:not([class]):focus-visible,.content a:not([class]):active{text-decoration:none}.content-grid{--padding-inline: 1rem;--content-max-width: var(--width-text);--breakout-max-width: 64rem;--breakout-size: calc( (var(--breakout-max-width) - var(--content-max-width)) / 2 );display:grid;grid-template-columns:[full-width-start] minmax(var(--padding-inline), 1fr) [breakout-start] minmax(0, var(--breakout-size)) [content-start] min(100% - var(--padding-inline)*2,var(--content-max-width)) [content-end] minmax(0, var(--breakout-size)) [breakout-end] minmax(var(--padding-inline), 1fr) [full-width-end]}.content-grid>:not(.breakout,.full-width),.full-width>:not(.breakout,.full-width){grid-column:content}.content-grid>.breakout,.full-width>.breakout{grid-column:breakout}.content-grid>.full-width,.full-width>.full-width{grid-column:full-width}.flow>*+*{margin-block-start:var(--flow-space)}.mt-80{margin-block-start:var(--spacing--section-80)}.full-width+.full-width{margin-block-start:0}.prose :where(h4+p,h4+ul,h4+ol,h4+pre){margin-block-start:.5em}.content-grid.prose>*:first-child{margin-top:0}.header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;padding-top:2rem;padding-bottom:1rem;border-bottom:4px solid var(--color-base)}.logo__link{display:block;height:2.4rem;width:auto;padding:.25rem}.logo__img{height:100%;object-fit:contain;width:auto}.skiplink:not(:focus-visible):not(:active){clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.skiplink{border-color:var(--color-link);background-color:var(--page-bg);color:var(--color-link);font-family:"Figtree Bold",sans-serif;transition:none}@media(prefers-color-scheme: dark){.skiplink{border-color:var(--color-base);color:var(--color-base)}}.skiplink--main-content:focus-visible{position:fixed !important;top:1.5rem;left:1.5rem}@media screen and (max-width: 599px){.skiplink--article-list{display:none !important}}@media screen and (min-width: 600px){.skiplink--article-list:focus-visible{position:absolute !important;top:0;left:0}}.footer{padding-block-end:2rem;border-top:4px solid var(--color-base)}.footer-grid{background-color:var(--color-base)}@media screen and (min-width: 600px){.footer-grid{display:grid;grid-template-columns:35% 1fr;gap:4px}}.footer-grid>*{background-color:var(--highlight-section-bg);padding:1rem}@media(prefers-color-scheme: dark){.footer-grid>*{background-color:var(--page-bg)}}@media screen and (min-width: 600px){.footer-grid p:last-child{text-align:right}}.article__item+.article__item{margin-top:1.5rem}.article__meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 1rem;font-size:95%}.article__preview{display:flex;flex-direction:column;gap:.5rem}.article__preview--draft{border-inline-start:8px solid var(--section-border);padding-left:1rem}.article__status{display:block}.article__heading-link{text-decoration:none}.article__image{height:auto;object-fit:contain}.article__footer{padding-block-start:1.5rem;padding-inline:1rem;border-block-start:2px solid var(--section-border)}.article__list{--flow-space: 2em}.teaser-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(min(21rem, 100%), 1fr));gap:1.5rem;margin-top:4rem}.teaser-grid .teaser-grid___item--end{justify-self:end}.teaser-grid .teaser-grid___item--full{grid-column:1/-1}.teaser-grid .article__preview{border:2px solid var(--section-border);padding:1.5rem}@supports(corner-shape: bevel){.teaser-grid .article__preview{position:relative;border-top-left-radius:24px;corner-top-left-shape:bevel}.teaser-grid .article__preview::before{content:"";position:absolute;top:15px;left:-1px;display:block;width:2px;height:22px;rotate:-135deg;transform-origin:top left;background-color:currentColor}}pre[class*=language-]{position:relative;padding:0;background-color:var(--code-bg-light)}pre[class*=language-]::before{content:attr(data-language);position:absolute;top:0;left:0;width:100%;padding:.2em 1rem;background:linear-gradient(to right, transparent 0%, var(--code-bg) 80%, var(--code-bg) 85%);text-align:right;font-size:.9em}code[class*=language-]{display:block;max-width:100%;min-width:100px;padding:3em 1em 1.5em;-webkit-overflow-scrolling:touch;overflow-x:auto}code{color:var(--color-base);padding:2px 5px;font-size:.8em}code:not([class*=language-]){border-top:1px solid currentColor;background:var(--code-bg)}@media(prefers-color-scheme: dark){code:not([class*=language-]){color:var(--page-bg)}}.nav-pagination__list{display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:1rem}.nav-pagination__link{display:flex;align-items:baseline;gap:8px;border:1px solid var(--section-border);padding:1rem 1.5rem;line-height:1;text-decoration:none}.nav-pagination__link[aria-current]{border-bottom-width:4px}.nav-pagination__link:hover,.nav-pagination__link:focus-visible,.nav-pagination__link:active{background-color:var(--color-link-focus-bg)}.nav-pagination__link--prev,.nav-pagination__link--next{border-color:rgba(0,0,0,0)}.nav-pagination__link--prev span{transform:rotate(180deg)}.nav-browse{display:grid;grid-template-areas:"next prev" "home home";grid-template-columns:repeat(2, 1fr);gap:2rem 1.5rem}.nav-browse__prev{grid-area:prev;justify-self:end}.nav-browse__next{grid-area:next}.nav-browse__home{grid-area:home}.nav-browse__symbol{text-align:right}.nav-browse__symbol--next{transform:rotate(180deg)}.nav-browse__link--prev{display:inline-block;text-align:right}.nav-browse__link{text-wrap:pretty}.nav-browse__link:hover,.nav-browse__link:focus-visible,.nav-browse__link:active{text-decoration:none}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:"Figtree Bold",sans-serif}h1,.h1{font-size:var(--font-size-8);line-height:1.1}h2,.h2{font-size:var(--font-size-4);line-height:1.3}h3,.h3{font-size:var(--font-size-2);line-height:1.3}h4,.h4{font-size:var(--font-size-1);line-height:1.4}h5,.h5{font-size:var(--font-size-0)}h6,.h6{font-size:var(--font-size--1)}small{font-size:var(--font-size--1)}strong{font-family:"Figtree Bold",sans-serif}a{color:var(--color-link)}a:hover,a:focus-visible,a:active{background-color:var(--color-link-focus-bg);color:var(--color-link-inverse-focus-color)}main ul:not([class]),main ol:not([class]){margin:.5rem 0 .5rem 1.5rem}blockquote{padding-inline-start:1rem;border-inline-start:2px solid var(--color-base)}.button{display:inline-block;line-height:1;text-decoration:none}.button--large{padding:.5rem 1rem;border:2px solid}.button--small{padding:.25rem .5rem;border:1px solid}.button--outline{border-color:var(--color-link);color:var(--color-link)}.button--outline:hover,.button--outline:focus-visible,.button--outline:active{background-color:var(--color-link-focus-bg)}.button--bright{border-color:var(--color-link-inverse);background-color:var(--page-bg);color:var(--color-base)}.button--bright:hover,.button--bright:focus-visible,.button--bright:active{background-color:var(--color-link-inverse-focus-bg);color:var(--color-link-inverse-focus-color)}@media(prefers-color-scheme: dark){.button--bright{background-color:var(--color-base);border-color:var(--section-border)}}code[class*=language-],pre[class*=language-]{color:#111b27;background:none;font-family:Consolas,Monaco,"Andale Mono","Ubuntu Mono",monospace;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection,code[class*=language-]::-moz-selection,code[class*=language-] ::-moz-selection{background:#8da1b9}pre[class*=language-]::selection,pre[class*=language-] ::selection,code[class*=language-]::selection,code[class*=language-] ::selection{background:#8da1b9}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#e3eaf2}:not(pre)>code[class*=language-]{padding:.1em .3em;border-radius:.3em;white-space:normal}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:#3c526d}.token.punctuation{color:#111b27}.token.delimiter.important,.token.selector .parent,.token.tag,.token.tag .token.punctuation{color:#006d6d}.token.attr-name,.token.boolean,.token.boolean.important,.token.number,.token.constant,.token.selector .token.attribute{color:#755f00}.token.class-name,.token.key,.token.parameter,.token.property,.token.property-access,.token.variable{color:#005a8e}.token.attr-value,.token.inserted,.token.color,.token.selector .token.value,.token.string,.token.string .token.url-link{color:#116b00}.token.builtin,.token.keyword-array,.token.package,.token.regex{color:#af00af}.token.function,.token.selector .token.class,.token.selector .token.id{color:#7c00aa}.token.atrule .token.rule,.token.combinator,.token.keyword,.token.operator,.token.pseudo-class,.token.pseudo-element,.token.selector,.token.unit{color:#a04900}.token.deleted,.token.important{color:#c22f2e}.token.keyword-this,.token.this{color:#005a8e}.token.important,.token.keyword-this,.token.this,.token.bold{font-weight:bold}.token.delimiter.important{font-weight:inherit}.token.italic{font-style:italic}.token.entity{cursor:help}.language-markdown .token.title,.language-markdown .token.title .token.punctuation{color:#005a8e;font-weight:bold}.language-markdown .token.blockquote.punctuation{color:#af00af}.language-markdown .token.code{color:#006d6d}.language-markdown .token.hr.punctuation{color:#005a8e}.language-markdown .token.url>.token.content{color:#116b00}.language-markdown .token.url-link{color:#755f00}.language-markdown .token.list.punctuation{color:#af00af}.language-markdown .token.table-header{color:#111b27}.language-json .token.operator{color:#111b27}.language-scss .token.variable{color:#006d6d}.token.token.tab:not(:empty):before,.token.token.cr:before,.token.token.lf:before,.token.token.space:before{color:#3c526d}div.code-toolbar>.toolbar.toolbar>.toolbar-item>a,div.code-toolbar>.toolbar.toolbar>.toolbar-item>button{color:#e3eaf2;background:#005a8e}div.code-toolbar>.toolbar.toolbar>.toolbar-item>a:hover,div.code-toolbar>.toolbar.toolbar>.toolbar-item>a:focus,div.code-toolbar>.toolbar.toolbar>.toolbar-item>button:hover,div.code-toolbar>.toolbar.toolbar>.toolbar-item>button:focus{color:#e3eaf2;background:rgba(0,90,142,.8549019608);text-decoration:none}div.code-toolbar>.toolbar.toolbar>.toolbar-item>span,div.code-toolbar>.toolbar.toolbar>.toolbar-item>span:hover,div.code-toolbar>.toolbar.toolbar>.toolbar-item>span:focus{color:#e3eaf2;background:#3c526d}.line-highlight.line-highlight{background:rgba(141,161,185,.1843137255);background:linear-gradient(to right, rgba(141, 161, 185, 0.1843137255) 70%, rgba(141, 161, 185, 0.1450980392))}.line-highlight.line-highlight:before,.line-highlight.line-highlight[data-end]:after{background-color:#3c526d;color:#e3eaf2;box-shadow:0 1px #8da1b9}pre[id].linkable-line-numbers.linkable-line-numbers span.line-numbers-rows>span:hover:before{background-color:rgba(60,82,109,.1215686275)}.line-numbers.line-numbers .line-numbers-rows{border-right:1px solid rgba(141,161,185,.4784313725);background:rgba(208,218,231,.4784313725)}.line-numbers .line-numbers-rows>span:before{color:rgba(60,82,109,.8549019608)}.rainbow-braces .token.token.punctuation.brace-level-1,.rainbow-braces .token.token.punctuation.brace-level-5,.rainbow-braces .token.token.punctuation.brace-level-9{color:#755f00}.rainbow-braces .token.token.punctuation.brace-level-2,.rainbow-braces .token.token.punctuation.brace-level-6,.rainbow-braces .token.token.punctuation.brace-level-10{color:#af00af}.rainbow-braces .token.token.punctuation.brace-level-3,.rainbow-braces .token.token.punctuation.brace-level-7,.rainbow-braces .token.token.punctuation.brace-level-11{color:#005a8e}.rainbow-braces .token.token.punctuation.brace-level-4,.rainbow-braces .token.token.punctuation.brace-level-8,.rainbow-braces .token.token.punctuation.brace-level-12{color:#7c00aa}pre.diff-highlight>code .token.token.deleted:not(.prefix),pre>code.diff-highlight .token.token.deleted:not(.prefix){background-color:rgba(194,47,46,.1215686275)}pre.diff-highlight>code .token.token.inserted:not(.prefix),pre>code.diff-highlight .token.token.inserted:not(.prefix){background-color:rgba(17,107,0,.1215686275)}.command-line .command-line-prompt{border-right:1px solid rgba(141,161,185,.4784313725)}.command-line .command-line-prompt>span:before{color:rgba(60,82,109,.8549019608)}
