:root{--archived-hue: 303.37;--trigger-hue: 29.235;--disclaimer-hue: 70.67;--note-hue: 245.75;--tint-chroma: 0.0075;--tint-hue: 285;--orange-hue: 28.31;--mint-hue: 175.98;--light-orange-hue: 62.25;--red-hue: 0;--blue-hue: 253.81;--green-hue: 136.16;--border-color: oklch(var(--border-lightness) var(--tint-chroma) var(--tint-hue));--canvas-background-color: oklch(var(--canvas-background-lightness) var(--tint-chroma) var(--tint-hue));--canvas-foreground-color: oklch(var(--canvas-foreground-lightness) var(--tint-chroma) var(--tint-hue));--field-background-color: oklch(var(--field-background-lightness) var(--tint-chroma) var(--tint-hue));--html-background-lightness: var(--field-background-lightness);--body-margin: 0px;--body-margin-inline: 24px;--content-max-width: 40.625rem;--breakout-small-max-width: calc(var(--content-max-width) * 1.582875);--breakout-large-max-width: calc(var(--breakout-small-max-width) * 1.7625);--content-width: min(100% - var(--body-margin-inline) * 2, var(--content-max-width));--field-border-radius: 18px;--heading-margin-block-start: 1.65rem;--heading-margin-block-end: 0.35rem;--title-font-size: clamp(1.95rem, 1.199rem + 3.556vw, 2.75rem);--heading-font-size: clamp(2.175rem, 1.635rem + 2.556vw, 2.75rem);--font-size: clamp(1.0125rem, 0.954rem + 0.278vw, 1.075rem);--font-size-larger: 1.25em;--font-size-smaller: 0.85em;--body-line-height: 1.5;--large-text-letter-spacing: -0.0125em;--box-shadow-box: 0 0 9px 3px oklch(var(--shadow-lightness) 0 0);--box-drop-shadow: drop-shadow(0 0 6px oklch(var(--drop-shadow-lightness) 0 0));--transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);--accent-background-lightness: 28.66%;--canvas-foreground-lightness: 88.75%;--canvas-background-lightness: 24.56%;--marker-lightness: 75.75%;--border-lightness: 43.75%;--field-background-lightness: 29%;--code-background-lightness: 16%;--heading-foreground-lightness: 92.25%;--hyperlink-hover-lightness: 81.19%;--hyperlink-focus-lightness: 58.73%;--shadow-lightness: 22%;--drop-shadow-lightness: 22%;--target-background-lightness: 38%;--table-row-odd-lightness: 27%;--table-row-even-lightness: 24%;--scrollbar-background-lightness: var(--code-background-lightness);--title-background-chroma: 0.105;--high-contrast-foreground-lightness: 98.72%;--trans-gradient: linear-gradient( to bottom right, oklch(28.35% 0.012 258.37), oklch(var(--field-background-lightness) 0 0), oklch(26.82% 0.011 17.83) )}@media screen and (prefers-color-scheme: light){:root{--accent-background-lightness: 95.15%;--canvas-background-lightness: 99.35%;--canvas-foreground-lightness: 28.99%;--marker-lightness: 45%;--border-lightness: 86.75%;--field-background-lightness: 96.75%;--code-background-lightness: 93.77%;--heading-foreground-lightness: 22.99%;--hyperlink-hover-lightness: 49.36%;--hyperlink-focus-lightness: 40%;--shadow-lightness: 93.75%;--drop-shadow-lightness: 82%;--target-background-lightness: 88%;--table-row-odd-lightness: 94.61%;--table-row-even-lightness: 97.61%;--title-background-chroma: 0.2;--high-contrast-foreground-lightness: 10.26%;--trans-gradient: linear-gradient( oklch(94.02% 0.01 219.59), oklch(var(--field-background-lightness) 0 0), oklch(94% 0.01 6.79) )}}@media screen and (prefers-contrast: more){:root{--opacity: 1;--high-contrast-line-lightness: var(--marker-lightness);--border-lightness: var(--marker-lightness);--heading-foreground-lightness: var(--high-contrast-foreground-lightness)}}@media screen and (prefers-reduced-motion){:root{--animation-speed: 0s;--animation: 0}}:root:has(#dark-color-scheme:checked){color-scheme:dark;--accent-background-lightness: 28.66%;--canvas-foreground-lightness: 88.75%;--canvas-background-lightness: 24.56%;--marker-lightness: 75.75%;--border-lightness: 43.75%;--field-background-lightness: 29%;--code-background-lightness: 16%;--heading-foreground-lightness: 92.25%;--hyperlink-hover-lightness: 81.19%;--hyperlink-focus-lightness: 58.73%;--shadow-lightness: 22%;--drop-shadow-lightness: 22%;--target-background-lightness: 38%;--table-row-odd-lightness: 27%;--table-row-even-lightness: 24%;--scrollbar-background-lightness: var(--code-background-lightness);--title-background-chroma: 0.105;--high-contrast-foreground-lightness: 98.72%;--trans-gradient: linear-gradient( to bottom right, oklch(28.35% 0.012 258.37), oklch(var(--field-background-lightness) 0 0), oklch(26.82% 0.011 17.83) )}:root:has(#light-color-scheme:checked){color-scheme:light;--accent-background-lightness: 95.15%;--canvas-background-lightness: 99.35%;--canvas-foreground-lightness: 28.99%;--marker-lightness: 45%;--border-lightness: 86.75%;--field-background-lightness: 96.75%;--code-background-lightness: 93.77%;--heading-foreground-lightness: 22.99%;--hyperlink-hover-lightness: 49.36%;--hyperlink-focus-lightness: 40%;--shadow-lightness: 93.75%;--drop-shadow-lightness: 82%;--target-background-lightness: 88%;--table-row-odd-lightness: 94.61%;--table-row-even-lightness: 97.61%;--title-background-chroma: 0.2;--high-contrast-foreground-lightness: 10.26%;--trans-gradient: linear-gradient( oklch(94.02% 0.01 219.59), oklch(var(--field-background-lightness) 0 0), oklch(94% 0.01 6.79) )}:root:has(#high-contrast:checked){--opacity: 1;--high-contrast-line-lightness: var(--marker-lightness);--border-lightness: var(--marker-lightness);--heading-foreground-lightness: var(--high-contrast-foreground-lightness)}:root:has(#low-contrast:checked){--opacity: unset;--high-contrast-line-lightness: unset;--border-lightness: var(--marker-lightness);--heading-foreground-lightness: var(--high-contrast-foreground-lightness)}:root:has(#reduced-motion:checked){--animation-speed: 0s;--animation: 0}:root:has(#increased-motion:checked){--animation-speed: unset;--animation: unset}@supports(color: oklch(from Canvas 0 0 0)){:root{--border-color: oklch(from ButtonBorder var(--border-lightness) c h);--canvas-foreground-color: oklch( from CanvasText var(--canvas-foreground-lightness) c h );--canvas-background-color: oklch( from Canvas var(--canvas-background-lightness) c h );--field-background-color: oklch( from Field var(--field-background-lightness) c h )}}@media screen and (prefers-reduced-motion: no-preference){@view-transition{navigation:auto}}*{--accent-color: oklch(0 0.15 var(--accent-hue, 296.9525485));--high-contrast-line-color: oklch( from var(--accent-color) var(--high-contrast-line-lightness) c h );--marker-color: oklch( from var(--accent-color) var(--marker-lightness) var(--chroma, 0.15) h )}@supports(color: oklch(from AccentColor 0 0 0)){*{--accent-color: oklch(from AccentColor 0 0.15 var(--accent-hue, h))}}*{margin-block:0;accent-color:var(--marker-color);scrollbar-color:var(--marker-color) var(--field-background-color)}html{background-color:oklch(from var(--canvas-background-color) var(--html-background-lightness) c h);scroll-behavior:smooth;scroll-padding-block-start:var(--heading-margin-block-start)}body{margin:0;min-height:calc(100dvh - var(--body-margin)*2);color:var(--canvas-foreground-color);background-color:var(--canvas-background-color);font-family:system-ui,sans-serif;overflow-wrap:break-word;display:grid;grid-template-rows:auto 1fr auto;font-size:var(--font-size);grid-template-columns:[full-width-start] 1fr [content-start] var(--content-width) [content-end] 1fr [full-width-end]}body>*{grid-column:full-width;grid-auto-rows:min-content}body>header{--_padding-block: 9px;--_button-padding: 15px;--_header-border-width: 1px;--_button-border-width: 1px;--_button-pressed-distance: 2px;--_emphasis-background-color: oklch(from var(--accent-color) var(--accent-background-lightness) 0.0125 h);user-select:none;margin:var(--body-margin);overflow:auto;background-color:var(--field-background-color);box-shadow:var(--box-shadow-box);padding-block:var(--_padding-block);font-weight:600;border-radius:var(--body-border-radius);outline:var(--_header-border-width) solid var(--border-color);view-transition-name:header}body>header a{border-radius:15px;padding:calc(var(--_button-padding) - var(--_button-border-width)*2);border:solid var(--_button-border-width) rgba(0,0,0,0);text-decoration:none;color:var(--marker-color);transition-duration:250ms;outline:3px solid rgba(0,0,0,0);outline-offset:calc(var(--_padding-block) - 1px);transition-timing-function:var(--transition-timing-function);transition-property:background-color,border,color,transform,outline-color,outline-offset,box-shadow;letter-spacing:var(--large-text-letter-spacing)}body>header a:hover{background-color:var(--_emphasis-background-color);border-color:oklch(from var(--accent-color) var(--border-lightness) 0.025 h);box-shadow:0 var(--_button-pressed-distance) 1px 0 oklch(var(--shadow-lightness) 0 0)}body>header a:focus:not(:focus-visible){box-shadow:none;transform:translateY(var(--_button-pressed-distance))}body>header a:focus-visible{outline-color:var(--marker-color);outline-style:solid;outline-offset:-1px}body>header a[aria-current=page]{background-color:var(--_emphasis-background-color);border-color:oklch(from var(--accent-color) var(--border-lightness) 0.05 h)}body>header .header-left,body>header .skip-navigation{font-size:var(--font-size-larger);font-weight:900}body>header .skip-navigation{position:absolute;transform:translateY(-200%);margin-inline-start:var(--_padding-block);background-color:var(--field-background-color)}body>header .skip-navigation:focus{transform:translateY(0)}body>header nav .header-left{display:none}body>header nav .header-main{justify-content:space-evenly;display:grid;grid-auto-columns:1fr;grid-auto-flow:column;margin-inline:auto;width:max-content;gap:calc(var(--font-size-larger) - var(--font-size) + var(--_padding-block)/1.25)}body>header nav .header-main a{text-align:center}body>main{margin-block:3rem}body>main,body>main>article{display:grid;grid-template-columns:subgrid;grid-column:full-width;line-height:var(--body-line-height);letter-spacing:.25px}:where(body>main>*,body>main>article>*){grid-column:content}body>main>article>h2,body>main>article>h3,body>main>article>h4,body>main>article>h5,body>main>article>h6{margin-inline:calc(var(--body-margin-inline)/2);grid-column:full-width;display:grid;grid-auto-flow:column;grid-template-columns:1fr minmax(0, var(--content-width)) 1fr;gap:6px}body>main>article>h2::before,body>main>article>h3::before,body>main>article>h4::before,body>main>article>h5::before,body>main>article>h6::before{margin-inline-start:auto;opacity:var(--opacity, 0.7)}body>main>article>header{margin-block:var(--title-font-size) .75em;line-height:1.225;grid-column:full-width;margin-inline:auto;width:min(var(--breakout-small-max-width),100dvw - var(--body-margin-inline)*2)}body>main>article>header>p{text-align:center;opacity:var(--opacity, 0.75);font-size:var(--font-size-smaller);font-weight:bold}body>footer{--_margin-size: 1rem;--_footer-border-width: 1px;margin:var(--body-margin);padding:var(--_margin-size);overflow:hidden;background-color:var(--field-background-color);text-align:center;font-size:var(--font-size-smaller);display:grid;grid-template-columns:subgrid;box-shadow:var(--box-shadow-box);border-radius:var(--body-border-radius);outline:var(--_footer-border-width) solid var(--border-color);view-transition-name:footer}body>footer div{grid-column:content;opacity:var(--opacity, 0.875)}body>:is(main,footer) a{--_hyperlink-lightness: var(--marker-lightness);--_hyperlink-color: oklch( from var(--accent-color) var(--_hyperlink-lightness) 0.15 h );color:var(--_hyperlink-color);transition-property:color,outline-color,outline-offset;transition-duration:225ms;transition-timing-function:var(--transition-timing-function);border-radius:1px;outline:3px solid rgba(0,0,0,0);outline-offset:.6em;font-weight:600;letter-spacing:-0.0075em}body>:is(main,footer) a:hover{--_hyperlink-lightness: var(--high-contrast-line-lightness, var(--hyperlink-hover-lightness));outline-color:var(--high-contrast-line-color, transparent);outline-style:dotted;outline-offset:.25em}body>:is(main,footer) a:focus{--_hyperlink-lightness: var(--high-contrast-line-lightness, var(--hyperlink-focus-lightness));outline-style:solid}body>:is(main,footer) a:focus-visible{--_hyperlink-lightness: var(--marker-lightness);outline-offset:.25em;outline-style:solid;outline-color:var(--_hyperlink-color)}textarea,input[type=text]{--border-width: 2px;font:inherit;letter-spacing:inherit;border:var(--border-width) solid var(--border-color);background-color:var(--field-background-color);transition-property:outline,outline-offset;transition-duration:225ms;transition-timing-function:var(--transition-timing-function);outline:3px solid rgba(0,0,0,0);outline-offset:6px;field-sizing:content;padding-block:calc(var(--padding-inline) - .275rem) calc(var(--padding-inline) - .1875rem);padding-inline:var(--padding-inline)}textarea:focus-visible,input[type=text]:focus-visible{outline-offset:0;outline-color:oklch(from var(--accent-color) var(--marker-lightness) 0.15 h)}input[type=text]{--padding-inline: 0.375rem;border-radius:9px;min-width:24ch;max-width:min(var(--content-max-width) - var(--padding-inline)*2 - var(--border-width)*2,100dvw - var(--body-margin-inline)*2 - var(--padding-inline)*4 - var(--border-width)*4)}textarea{--padding-inline: 0.75rem;grid-column:full-width;margin-block:1rem;margin-inline:auto;border-radius:var(--field-border-radius);min-height:6lh;min-width:min(100% - var(--padding-inline)*2,var(--content-width));max-width:calc(var(--content-width) - var(--body-margin-inline)*2 - var(--padding-inline)*2 - var(--border-width)*2)}textarea::placeholder{color:color-mix(in srgb, var(--canvas-foreground-color), var(--border-color))}.section-anchor{user-select:none;padding:.25em;font-weight:400;text-decoration:none}.footnote{padding:.25em}mark{background-color:oklch(from var(--accent-color) var(--high-contrast-line-color, var(--marker-lightness)) 0.15 h);color:var(--high-contrast-line-color, var(--field-background-color));outline:solid 1px var(--high-contrast-line-color);outline-offset:3px}input:is([type=radio],[type=checkbox]){padding-inline-start:1.5rem;margin-inline:0 .5em}article a[href^="http://"]:not(figure a)::after,article a[href^="https://"]:not(figure a)::after{content:" ↗"/""}article a[href^="/"]:not(figure a)::after{content:" →"/""}article#main{counter-reset:h2}article#main>h2{counter-reset:h3}article#main>h3{counter-reset:h4}article#main>h4{counter-reset:h5}article#main>h5{counter-reset:h6}article#main>h2:before{counter-increment:h2;content:counter(h2) ". "}article#main>h3:before{counter-increment:h3;content:counter(h2) "." counter(h3) ". "}article#main>h4:before{counter-increment:h4;content:counter(h2) "." counter(h3) "." counter(h4) ". "}article#main>h5:before{counter-increment:h5;content:counter(h2) "." counter(h3) "." counter(h4) "." counter(h5) ". "}article#main>h6:before{counter-increment:h6;content:counter(h2) "." counter(h3) "." counter(h4) "." counter(h5) "." counter(h6) ". "}article#main section.toc{--_padding: 0.75rem;--box-background-color: var(--field-background-color);margin-block:1.25rem;grid-column:full-width}article#main section.toc nav{width:var(--content-width);margin-inline:auto;margin-block-end:1.75em}article#main section.toc details{width:calc(var(--content-width) + var(--_padding)*2)}article#main section.toc details>summary{transition-property:outline,outline-offset;transition-duration:225ms;transition-timing-function:var(--transition-timing-function);border-radius:var(--field-border-radius);outline:3px solid rgba(0,0,0,0);outline-offset:9px;cursor:pointer;user-select:none;padding-block:calc(var(--_padding) - var(--_border-px));padding-inline:min((100% - var(--content-width) - var(--body-margin-inline))/2 - var(--_border-px)*2 + 6px,var(--_padding) - var(--_border-px) + 6px)}article#main section.toc details>summary:focus-visible{outline-offset:0;outline-color:oklch(from var(--accent-color) var(--marker-lightness) 0.15 h)}article#main section.toc details::details-content{display:block;block-size:0;overflow:hidden;transition-property:block-size,content-visibility;transition-duration:var(--animation-speed, 325ms);transition-behavior:allow-discrete;transition-timing-function:cubic-bezier(0.31, 0.37, 0.24, 1.01)}article#main section.toc details[open]::details-content{block-size:auto;block-size:calc-size(auto,size)}article#main section.toc ol{counter-reset:index}article#main section.toc ol li{counter-increment:index}article#main section.toc ol li a{display:inline flex}article#main section.toc ol li::marker{content:counters(index, ".", decimal) ". "}.card{--_border-px: 1px;background:var(--box-background-color);margin-inline:auto;border-radius:var(--field-border-radius);box-shadow:var(--box-shadow-box);border:solid var(--_border-px) oklch(from var(--border-color) l c var(--accent-hue, h));padding-block:calc(var(--box-padding-size) - var(--_border-px)*2);padding-inline:min((100% - var(--content-width) - var(--body-margin-inline))/2 + 6px - var(--_border-px)*2,var(--box-padding-size) + var(--_border-px)*2);width:var(--content-width)}.card.archived{--accent-hue: var(--archived-hue)}.card.trigger{--accent-hue: var(--trigger-hue)}.card.disclaimer{--accent-hue: var(--disclaimer-hue)}.card.note{--accent-hue: var(--note-hue)}.card.post{--box-padding-size: 1.75rem;--box-background-color: var(--field-background-color);grid-column:full-width;font-size:var(--font-size-smaller);margin-block:1rem}.card.post header{margin-block-end:1rem}.card.post header>h2{font-size:var(--font-size-larger)}.card.post header>h2 a{display:inline-block}.card.post header>p{margin-block:0;opacity:var(--opacity, 0.75);font-size:var(--font-size-smaller);font-weight:bold}.card.post:first-of-type{--border-color: oklch(from var(--accent-color) var(--border-lightness) 0.0125 h);--box-background-color: oklch(from var(--accent-color) var(--accent-background-lightness) 0.0125 h)}.card.post.🏳️‍⚧️{--box-background-color: var(--trans-gradient)}.statements{--box-padding-size: 1.25rem;--chroma: 0.1125;grid-column:full-width;display:grid;row-gap:.5rem;margin-block:1.25rem}.statements>section{--box-background-color: oklch(from var(--accent-color) var(--accent-background-lightness) 0.0125 h)}@keyframes details-show{0%{opacity:0;transform:translateY(-0.5em)}}[data-page="404"]{display:flex;justify-content:center;align-items:center;flex-direction:column;grid-column:content}[data-page="404"] img{image-rendering:pixelated;width:100%}[data-page=marketing] header>*{text-align:center;justify-content:center;align-items:center}[data-page=marketing] div.metadata{text-align:center;justify-content:center;align-items:center;margin-block:2em}[data-page=marketing] div.metadata>*{margin-block:.25em}[data-page=marketing] h1{display:flex;gap:6px;margin-block-end:0;padding-block-end:0}[data-page=marketing] h1 img{max-height:64px;max-width:64px;filter:var(--box-drop-shadow)}[data-page=marketing]>header,[data-page=marketing]>header+figure{animation:popup var(--animation-speed, 0.25s) linear forwards}[data-page=marketing]>h2:has(+.presentation){text-align:center}::selection{color:var(--field-background-color);background-color:color-mix(in srgb, var(--marker-color) 97.5%, var(--canvas-foreground-color))}:target:not(:is(#main,#footer)){transition:outline-width 800ms 500ms;border-radius:12px;outline:6px solid oklch(var(--target-background-lightness) var(--tint-chroma) var(--tint-hue));outline-offset:6px}#main>:is(h2,h3,h4,h5,h6){line-height:1.175;margin-block:var(--heading-margin-block-start) var(--heading-margin-block-end)}strong,h1,h2,h3,h4,h5,h6{color:oklch(var(--heading-foreground-lightness) var(--chroma, 0) var(--accent-hue, 0));letter-spacing:var(--large-text-letter-spacing)}p,li{margin-block:.5em}blockquote{border-inline-start:6px solid var(--border-color);border-radius:6px;padding-inline-start:.75rem;margin:.5em 0}blockquote :first-child{margin-block-start:0}blockquote :last-child{margin-block-end:0}hr{border-radius:6px;border:1px solid var(--border-color);width:75%;margin-block:1rem}h1{--_line-height: 1.05em;margin-block-end:.375em;max-width:min(var(--breakout-small-max-width),100dvw - var(--body-margin-inline));text-align:center;text-wrap:balance;font-size:var(--title-font-size);letter-spacing:-0.025em;line-height:var(--_line-height);background-color:oklch(from var(--accent-color) 55% var(--title-background-chroma) h);animation:animated-gradient 5s ease-out infinite alternate;background-position:center;background-repeat:no-repeat;background-size:cover;background-clip:text;color:var(--high-contrast-foreground-color, transparent);background-image:radial-gradient(circle, oklch(from var(--accent-color) var(--canvas-foreground-lightness) 0.1 h), oklch(from var(--accent-color) var(--marker-lightness) 0.175 h));padding-block-end:calc((1em - var(--_line-height))*-1*2)}@keyframes animated-gradient{from,to{--position: 7.5%;background-size:500% 100%}from{background-position-x:var(--position)}50%{background-size:100% 100%}to{background-position-x:calc(100% - var(--position))}}h2{font-size:calc(var(--heading-font-size) - 77.5%)}h3{font-size:calc(var(--heading-font-size) - 87.5%)}h4{font-size:calc(var(--heading-font-size) - 97.5%)}h5{font-size:calc(var(--heading-font-size) - 102.5%)}h6{font-size:calc(var(--heading-font-size) - 107.5%)}p,li,h2,h3,h4,h5,h6{text-wrap:pretty}:not(li)>:is(ul,ol){padding-inline-start:1.5rem}.key-value-list{margin-block:.5em}.key-value-list ul{list-style-type:none}.key-value-list ul>li{margin-block:0}:not(li)>.key-value-list ul{padding-inline-start:0}.key-value-list ul span{opacity:var(--opacity, 0.75)}.tag-list{list-style-type:none;font-size:var(--font-size-smaller);display:flex;flex-wrap:wrap;gap:.25em .375em;margin-block:.25em 1em}.tag-list>li{background-color:oklch(from var(--canvas-background-color) var(--accent-background-lightness) c h);margin-block:0}:not(li)>.tag-list{padding-inline-start:0}.tag-list>li{border-radius:99px;padding:.25em 1em}kbd:not(:has(kbd)){--_padding-block: 3px;--_padding-inline: 12px;--_border-size: 1px;--_shade-offset: 2px;display:inline flex;transition-property:transform,box-shadow;font-size:.75em;transition-duration:225ms;transition-timing-function:ease-out;padding:calc(var(--_padding-block) - var(--_border-size)) calc(var(--_padding-inline) - var(--_border-size));border:var(--_border-size) solid oklch(from var(--border-color) l c h/0.175);margin:.125ch .25ch;cursor:default;border-radius:9px;box-shadow:0 var(--_shade-offset) 0 0 oklch(from var(--field-background-color) var(--shadow-lightness) c h/0.925);background-color:color-mix(in srgb-linear, var(--field-background-color), var(--canvas-foreground-color) 7.25%)}kbd:not(:has(kbd)):active{box-shadow:unset;transform:translateY(var(--_shade-offset))}kbd:not(:has(kbd))::selection{background-color:rgba(0,0,0,0)}code{--_code-background-color: oklch( from var(--canvas-background-color) var(--code-background-lightness) c h );font-family:ui-monospace,monospace;font-size:var(--font-size-smaller)}code.highlighter-rouge{--_border-px: 1px;--_padding-block: 0.1rem;border:solid var(--_border-px) var(--border-color, var(--_code-background-color));background-color:var(--_code-background-color);border-radius:9px;padding:calc(var(--_padding-block) - var(--_border-px)) calc(var(--_padding-block)*3 - var(--_border-px))}fieldset>legend>code{line-height:calc(var(--body-line-height)*1.6666666667)}fieldset{--_border-size: 1px;border:var(--_border-size) solid var(--border-color);border-radius:var(--field-border-radius);grid-column:full-width;width:calc(var(--content-width) - var(--_border-size)/2);margin:1rem auto}fieldset legend{background-color:var(--field-background-color);padding-inline:.5rem;border:inherit;border-radius:99px}.highlighter-rouge{overflow:auto}div.highlighter-rouge{--card-outline-color: oklch(from var(--border-color) l c h / 0.75);--box-padding-size: 0.75rem;--box-background-color: oklch( var(--code-background-lightness) var(--tint-chroma) var(--tint-hue) );grid-column:full-width;min-width:min(100% - var(--body-margin-inline) - var(--box-padding-size),var(--content-width));max-width:min(100% - var(--body-margin-inline) - var(--_border-px)*2 - var(--box-padding-size),var(--breakout-large-max-width));margin-block:1rem;max-height:75svh;--_border-px: 1px;background:var(--box-background-color);margin-inline:auto;border-radius:var(--field-border-radius);box-shadow:var(--box-shadow-box);border:solid var(--_border-px) oklch(from var(--border-color) l c var(--accent-hue, h));padding-block:calc(var(--box-padding-size) - var(--_border-px)*2);padding-inline:min((100% - var(--content-width) - var(--body-margin-inline))/2 + 6px - var(--_border-px)*2,var(--box-padding-size) + var(--_border-px)*2)}div.highlighter-rouge table,div.highlighter-rouge th,div.highlighter-rouge td,div.highlighter-rouge tr,div.highlighter-rouge tbody{all:revert}div.highlighter-rouge table{border-collapse:collapse}div.highlighter-rouge table tr{display:flex;column-gap:var(--box-padding-size)}div.highlighter-rouge table pre.lineno{--_opacity: calc(var(--opacity) / 1.5);user-select:none;opacity:var(--_opacity, 0.5);text-align:end}img,video,picture{max-width:100%;max-height:40.625rem;height:auto;width:auto}img:not(:fullscreen),video:not(:fullscreen),picture:not(:fullscreen){border-radius:12px}img.drop-shadow,video.drop-shadow,picture.drop-shadow{filter:var(--box-drop-shadow)}figure{margin-inline:6px;grid-column:full-width;margin-block:1em}figure img,figure video,figure picture{display:block;margin-inline:auto}figure figcaption{--_margin-inline: 18px;width:calc(var(--content-width) - var(--_margin-inline)*2);margin-inline:auto}figure figcaption p{font-size:var(--font-size-smaller)}figure figcaption:empty{display:none}.collage{--_margin-inline: 6px;margin-inline:var(--_margin-inline);display:flex;flex-wrap:wrap;column-gap:var(--_margin-inline);justify-content:center;grid-column:full-width}.collage img,.collage video,.collage picture{max-width:calc(100dvw - var(--_margin-inline)*2)}.collage figure{max-width:min-content}table{--_padding-block: 0.25rem;--_padding-inline: 0.75rem;--_border-width: 1px;--_border-color: color-mix( in srgb-linear, var(--field-background-color), var(--border-color) 32.25% );display:inline flow-root;margin-block:1rem;box-sizing:content-box;overflow-x:auto;border-collapse:collapse;margin-inline:auto;grid-column:full-width;border-radius:9px;border:calc(var(--_border-width)*2) solid var(--_border-color);max-height:75svh;max-width:min(100% - var(--body-margin-inline) - var(--_border-width)*2,var(--breakout-large-max-width) + var(--_padding-inline)*2 + var(--_border-width)*2)}table caption{text-align:start;opacity:var(--opacity, 0.75);margin-block:1em;font-size:var(--font-size-larger)}table th{max-width:calc(var(--content-max-width)/2);text-wrap:balance}table th,table td{outline:var(--_border-width) solid var(--_border-color);padding:var(--_padding-block) var(--_padding-inline)}table tbody tr{background-color:oklch(from var(--canvas-background-color) var(--_row-lightness) c h)}table tbody tr:nth-child(odd){--_row-lightness: var(--table-row-odd-lightness)}table tbody tr:nth-child(even){--_row-lightness: var(--table-row-even-lightness)}.youtube-embed{aspect-ratio:16/9}.youtube-embed iframe{width:100%;height:100%;border-radius:12px}.no-wrap{white-space:nowrap}.big{font-size:var(--font-size-larger)}.highlight{--base: var(--canvas-foreground-lightness) 0.275}.highlight .c,.highlight .c1,.highlight .cm{opacity:var(--opacity, 0.75)}.highlight .kn,.highlight .si,.highlight .se,.highlight .nt,.highlight .py{color:oklch(var(--base) var(--orange-hue))}.highlight .s,.highlight .nn,.highlight .nc,.highlight .s2{color:oklch(var(--base) var(--mint-hue))}.highlight .k{color:oklch(var(--base) var(--light-orange-hue))}.highlight .nf,.highlight .nb{color:oklch(var(--base) var(--blue-hue))}.highlight .bp,.highlight .gp{color:oklch(var(--base) var(--green-hue))}.highlight .gp{user-select:none}.highlight.command-line{user-select:none;font-weight:bold;font-size:1.0125em}.highlight.command-line .cursor{animation:cursor 1s infinite}@keyframes cursor{0%,100%{opacity:0}50%{opacity:1}}.icon{margin-inline:auto;filter:var(--box-drop-shadow);border-radius:50%;width:256px;height:256px}.link-cards{--_card-link-width: calc(var(--content-max-width) / 3);--_border-width: 1px;grid-column:full-width;width:min(var(--breakout-small-max-width),100dvw - var(--body-margin-inline));display:grid;grid-auto-rows:1fr;grid-template-columns:repeat(auto-fit, minmax(var(--_card-link-width), 1fr));margin:1rem auto;gap:calc(var(--body-margin-inline)/2)}.link-cards>section{box-shadow:var(--box-shadow-box);padding:calc(1.25rem - var(--_border-width));background-color:var(--field-background-color);border-radius:15px;display:grid;grid-auto-rows:min-content;border:var(--_border-width) solid var(--border-color)}section.donations{grid-column:full-width}section.donations a{--_padding-block: 9px;--_button-padding: 15px;--_border-width: 1px;--_button-pressed-distance: 2px;--_emphasis-background-color: oklch(from var(--accent-color) var(--accent-background-lightness) var(--chroma, 0.0125) h);width:var(--content-width);margin-inline:auto;user-select:none;border-radius:var(--field-border-radius);padding:calc(var(--_button-padding) - var(--_border-width)*2);text-decoration:none;color:oklch(from var(--marker-color) var(--canvas-foreground-lightness) c h);transition-duration:250ms;outline:3px solid rgba(0,0,0,0);outline-offset:var(--_padding-block);transition-timing-function:var(--transition-timing-function);transition-property:background-color,border,color,transform,outline-color,outline-offset,box-shadow;display:flex;column-gap:calc(var(--_button-padding) - var(--_border-width)*2);text-align:center;align-items:center;align-content:center;background-color:oklch(from var(--accent-color) var(--accent-background-lightness) var(--chroma, 0.0125) var(--accent-hue, h));border:var(--_border-width) solid oklch(from var(--accent-color) var(--border-lightness) var(--chroma, 0.1) var(--accent-hue, h))}section.donations a svg,section.donations a picture{height:2em;width:2em}section.donations a:hover{box-shadow:0 var(--_button-pressed-distance) 1px 0 oklch(var(--shadow-lightness) 0 0)}section.donations a:focus:not(:focus-visible){box-shadow:none;transform:translateY(var(--_button-pressed-distance))}section.donations a:focus-visible{outline-color:var(--marker-color);outline-style:solid;outline-offset:3px}section.donations p.liberapay{--accent-hue: 92.07}section.donations p.ko-fi{--accent-hue: 37.3498}section.donations p.bitcoin{--accent-hue: 60}section.donations p.github{--chroma: 0}.badges-list>*:not(:last-child)::after{content:" • "}.download-link{height:revert-layer}.presentation{display:grid;grid-column:full-width;margin-block:1rem;overflow-x:clip}.presentation figure{--_scale: calc(var(--animation) + 1);opacity:0;animation-fill-mode:forwards;animation-timing-function:ease-out;animation-timeline:view();animation-range:entry 20dvh entry 45dvh;animation-name:popup;grid-column:unset;filter:blur(0.5em);scale:var(--_scale, 0.95)}.presentation p{width:var(--content-width);margin-inline:auto;text-wrap:balance}@keyframes popup{to{filter:blur(0);opacity:1;scale:1}}@keyframes slide-horizontally{to{filter:blur(0);opacity:1;scale:1;transform:translateX(0)}}@media screen and (width >= 480px){:root{--body-margin: 6px;--body-border-radius: var(--field-border-radius);--html-background-lightness: var(--canvas-background-lightness)}}@media screen and (width >= 768px){body>header{display:grid;grid-template-columns:subgrid}body>header nav{grid-column:full-width;display:grid;grid-template-columns:1fr 1fr;margin-inline:auto;width:min(100% - var(--body-margin-inline),var(--breakout-small-max-width))}body>header nav .header-left{display:flex}body>header nav .header-main{margin-inline:auto 0;justify-content:end;align-items:center}.presentation>div{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));align-items:center}.presentation>div figure{animation-range:entry 20dvh entry 65dvh;animation-name:slide-horizontally}.presentation>div:nth-child(odd) figure{transform:translateX(var(--animation, -3svw));justify-self:end}.presentation>div:nth-child(odd) p{margin-inline:0 auto}.presentation>div:nth-child(even) figure{transform:translateX(var(--animation, 3svw));justify-self:start}.presentation>div:nth-child(even) p{margin-inline:auto 0}.presentation>div:nth-child(even) section{order:-1;text-align:end}}@media print{body>header,body>footer,.toc{display:none}h1{color:oklch(var(--heading-foreground-lightness) 0 0)}}