html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video{vertical-align:baseline;background:0 0;border:0;outline:0;margin:0;padding:0;font-size:100%}sup,sub{vertical-align:baseline;position:relative;top:-.4em}sub{top:.4em}:-webkit-any(ol,ul) :-webkit-any(ol,ul){padding:revert}:is(ol,ul) :is(ol,ul){padding:revert}summary{cursor:pointer}body{line-height:1}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}nav ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:"";content:none}a{vertical-align:baseline;background:0 0;margin:0;padding:0;font-size:100%}ins{color:#000;background-color:#ff9;text-decoration:none}mark{color:#000;background-color:#ff9;font-style:italic;font-weight:700}del{text-decoration:line-through}abbr[title],dfn[title]{cursor:help;border-bottom:1px dotted;text-decoration:none}table{border-collapse:collapse;border-spacing:0}hr{border:0;border-top:1px solid #ccc;height:1px;margin:1em 0;padding:0;display:block}input,select{vertical-align:middle}html *{box-sizing:border-box}:root{--line-height:1.5;--modular-scale:1.2;--font-size-base:clamp(1rem,.7rem + 1vi,1.2rem);--font-size-tiny:calc(var(--font-size-base)*.7);--font-size-small:calc(var(--font-size-base)*.8);--font-size-1:calc(var(--font-size-base)*var(--modular-scale));--font-size-2:calc(var(--font-size-1)*var(--modular-scale));--font-size-3:calc(var(--font-size-2)*var(--modular-scale));--font-size-enormous:calc(var(--font-size-base)*3);--font-weight-thin:300;--font-weight-bold:500;--color-primary:#022292;--color-secondary:white;--color-background:#fbfae3;--color-background-transparent:rgba(251,250,227,.4);--color-gradient-1:#c9ffd1;--color-gradient-2:#e932d9;--color-gradient-3:#2fb8fb;--color-gradient-4:#52ecaf;--color-muted:dimgrey;--color-text:#2b3a4c;--color-youtube-red:red;--space-xs:.5rem;--space-s:1rem;--space-m:calc(var(--line-height)*1rem);--space-l:calc(var(--line-height)*2rem)}@supports (color:lab(0% 0 0)){:root{--color-background:lab(97.9165% -2.52479 11.1654);--color-background-transparent:lab(97.9165% -2.52479 11.1654/.4)}}@supports not (background-color:oklch(0% 0 0)){:root{--color-background:#fbfae3;--color-background-transparent:rgba(251,250,227,.4)}}@font-face{font-family:Mona Sans;src:url(/fonts/MonaSans.woff2)format("woff2 supports variations"),url(/fonts/MonaSans.woff2)format("woff2-variations");font-weight:200 900;font-stretch:100%}@view-transition{navigation:auto}html{color:var(--color-text);min-height:100vh;font-size:100%;position:relative}h1{font-size:var(--font-size-3)}h2{font-size:var(--font-size-2)}h3{font-size:var(--font-size-1)}body{min-height:100dvh;font-family:Arial,sans-serif;font-size:var(--font-size-base);line-height:var(--line-height);letter-spacing:.05px;word-spacing:-.8px;background-color:var(--color-background);flex-direction:column;display:flex}body.fonts-loaded{font-family:Mona Sans,sans-serif;line-height:var(--line-height);font-size:var(--font-size-base);letter-spacing:unset;word-spacing:unset}a{color:var(--color-primary);-webkit-text-decoration-color:var(--color-primary);text-decoration-color:var(--color-primary);text-underline-offset:.1em;text-decoration-thickness:max(.08em,1px)}a[data-variant=external]:after{content:"↗";font-size:.6em}blockquote{color:var(--color-muted);padding:var(--space-s)}blockquote:not(:-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))){border-left:3px solid}blockquote:not(: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))){border-left:3px solid}blockquote:-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)){border-right:3px solid}blockquote: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)){border-right:3px solid}ul,ol{list-style-position:inside}sup,sub{font-size:var(--font-size-tiny)}input{accent-color:var(--color-primary)}figcaption{text-align:center;font-size:var(--font-size-small)}code[class*=language-],pre[class*=language-]{color:#9efeff;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;tab-size:4;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none;letter-spacing:.5px;text-shadow:0 1px #222245;direction:ltr;font-family:Operator Mono,Fira Code,Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:17px;font-weight:400;line-height:25px}pre[class*=language-]::-moz-selection{color:inherit;background:#a599e9}pre[class*=language-] ::-moz-selection{color:inherit;background:#a599e9}code[class*=language-]::-moz-selection{color:inherit;background:#a599e9}code[class*=language-] ::-moz-selection{color:inherit;background:#a599e9}pre[class*=language-]::selection{color:inherit;background:#a599e9}pre[class*=language-] ::selection{color:inherit;background:#a599e9}code[class*=language-]::selection{color:inherit;background:#a599e9}code[class*=language-] ::selection{color:inherit;background:#a599e9}pre[class*=language-]{margin:.5em 0;padding:2em;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#1e1e3f}:not(pre)>code[class*=language-]{border-radius:.3em;padding:.1em}.token{font-weight:400}.token.comment,.token.prolog,.token.cdata{color:#b362ff}.token.delimiter,.token.keyword,.token.selector,.token.important,.token.atrule{color:#ff9d00}.token.operator,.token.attr-name{color:#ffb454}.token.punctuation{color:#fff}.token.boolean{color:#ff628c}.token.tag,.token.tag .punctuation,.token.doctype,.token.builtin{color:#ff9d00}.token.entity,.token.symbol{color:#6897bb}.token.number,.token.property,.token.constant,.token.variable{color:#ff628c}.token.string,.token.char{color:#a5ff90}.token.attr-value,.token.attr-value .punctuation{color:#a5c261}.token.attr-value .punctuation:first-child{color:#a9b7c6}.token.url{color:#287bde;text-decoration:underline}.token.function{color:#fad000}.token.regex{background:#364135}.token.bold{font-weight:700}.token.italic{font-style:italic}.token.inserted{background:rgba(0,255,0,.333)}.token.deleted{background:rgba(255,0,13,.333)}code.language-css .token.property,code.language-css .token.property+.token.punctuation{color:#a9b7c6}code.language-css .token.id,code.language-css .token.selector>.token.class,code.language-css .token.selector>.token.attribute,code.language-css .token.selector>.token.pseudo-class,code.language-css .token.selector>.token.pseudo-element{color:#ffc66d}.token.class-name{color:#fb94ff}.token.operator,.token.entity,.token.url,.language-css .token.string,.style .token.string{background:0 0}.line-highlight.line-highlight{background:linear-gradient(90deg,rgba(179,98,255,.17),transparent);margin-top:36px}.line-highlight.line-highlight:before,.line-highlight.line-highlight[data-end]:after{content:""}.flow>*+*{margin-top:var(--flow-space,var(--space-m))}.wrapper{max-width:60rem;margin-left:auto;margin-right:auto}.margin-x-auto{margin-left:auto;margin-right:auto}.margin-x-s,.margin-s{margin-inline:var(--space-s)}.margin-x-m,.margin-m{margin-inline:var(--space-m)}.margin-x-l,.margin-l{margin-inline:var(--space-l)}.margin-y-s,.margin-s{margin-block:var(--space-s)}.margin-y-m,.margin-m{margin-block:var(--space-m)}.margin-y-l,.margin-l{margin-block:var(--space-l)}.padding-x-s,.padding-s{padding-inline:var(--space-s)}.padding-x-m,.padding-m{padding-inline:var(--space-m)}.padding-x-l,.padding-l{padding-inline:var(--space-l)}.padding-y-s,.padding-s{padding-block:var(--space-s)}.padding-y-m,.padding-m{padding-block:var(--space-m)}.padding-y-l,.padding-l{padding-block:var(--space-l)}.margin-bottom-s{margin-bottom:var(--space-s)}.margin-bottom-m{margin-bottom:var(--space-m)}.margin-bottom-l{margin-bottom:var(--space-l)}.margin-top-s{margin-top:var(--space-s)}.margin-top-m{margin-top:var(--space-m)}.margin-top-l{margin-top:var(--space-l)}.margin-left-s:not(:-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:var(--space-s)}.margin-left-s:not(: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:var(--space-s)}.margin-left-s:-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-right:var(--space-s)}.margin-left-s: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-right:var(--space-s)}.margin-left-m:not(:-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:var(--space-m)}.margin-left-m:not(: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:var(--space-m)}.margin-left-m:-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-right:var(--space-m)}.margin-left-m: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-right:var(--space-m)}.margin-left-l:not(:-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:var(--space-l)}.margin-left-l:not(: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:var(--space-l)}.margin-left-l:-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-right:var(--space-l)}.margin-left-l: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-right:var(--space-l)}.margin-right-s:not(:-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-right:var(--space-s)}.margin-right-s:not(: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-right:var(--space-s)}.margin-right-s:-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:var(--space-s)}.margin-right-s: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:var(--space-s)}.margin-right-m:not(:-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-right:var(--space-m)}.margin-right-m:not(: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-right:var(--space-m)}.margin-right-m:-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:var(--space-m)}.margin-right-m: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:var(--space-m)}.margin-right-l:not(:-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-right:var(--space-l)}.margin-right-l:not(: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-right:var(--space-l)}.margin-right-l:-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:var(--space-l)}.margin-right-l: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:var(--space-l)}.padding-bottom-s{padding-bottom:var(--space-s)}.padding-bottom-m{padding-bottom:var(--space-m)}.padding-bottom-l{padding-bottom:var(--space-l)}.padding-top-s{padding-top:var(--space-s)}.padding-top-m{padding-top:var(--space-m)}.padding-top-l{padding-top:var(--space-l)}.padding-left-s:not(:-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))){padding-left:var(--space-s)}.padding-left-s:not(: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))){padding-left:var(--space-s)}.padding-left-s:-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)){padding-right:var(--space-s)}.padding-left-s: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)){padding-right:var(--space-s)}.padding-left-m:not(:-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))){padding-left:var(--space-m)}.padding-left-m:not(: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))){padding-left:var(--space-m)}.padding-left-m:-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)){padding-right:var(--space-m)}.padding-left-m: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)){padding-right:var(--space-m)}.padding-left-l:not(:-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))){padding-left:var(--space-l)}.padding-left-l:not(: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))){padding-left:var(--space-l)}.padding-left-l:-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)){padding-right:var(--space-l)}.padding-left-l: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)){padding-right:var(--space-l)}.padding-right-s:not(:-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))){padding-right:var(--space-s)}.padding-right-s:not(: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))){padding-right:var(--space-s)}.padding-right-s:-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)){padding-left:var(--space-s)}.padding-right-s: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)){padding-left:var(--space-s)}.padding-right-m:not(:-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))){padding-right:var(--space-m)}.padding-right-m:not(: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))){padding-right:var(--space-m)}.padding-right-m:-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)){padding-left:var(--space-m)}.padding-right-m: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)){padding-left:var(--space-m)}.padding-right-l:not(:-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))){padding-right:var(--space-l)}.padding-right-l:not(: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))){padding-right:var(--space-l)}.padding-right-l:-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)){padding-left:var(--space-l)}.padding-right-l: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)){padding-left:var(--space-l)}.flex-row{flex-direction:row;display:flex}.flex-column{flex-direction:column;display:flex}.justify-center{justify-content:center}.justify-end{justify-content:end}.justify-between{justify-content:space-between}.align-center{align-items:center}.full-width{width:100%}.full-height{height:100%}.flex-1{flex:1}.text-center{text-align:center}.text-xs{font-size:var(--font-size-tiny)}.text-s{font-size:var(--font-size-small)}.text-m{font-size:var(--font-size-base)}.text-l{font-size:var(--font-size-1)}.text-xl{font-size:var(--font-size-2)}.text-xxl{font-size:var(--font-size-3)}.text-muted{color:var(--color-muted)}.text-primary{color:var(--color-primary)}.font-thin{font-weight:var(--font-weight-thin)}.font-bold{font-weight:var(--font-weight-bold)}.text-inverse{color:var(--color-background);background-color:var(--color-text)}.body-text{color:var(--color-text)}.button{color:var(--color-background);background:var(--color-text);border-radius:.5em;padding:.3em 1em;box-shadow:0 0 .5em rgba(0,0,0,.2)}.button:-webkit-any(a){text-decoration:none}.button:is(a){text-decoration:none}pre[class*=language-]{margin-block:var(--space-l);border-radius:1.5em}pre[class*=language-] code{font-size:var(--font-size-small)}.demos .demos__welcome h1{font-size:var(--font-size-enormous)}.demos .demos__list{--flow-space:var(--space-s);gap:var(--space-s);flex-wrap:wrap;display:flex}.demos .demos__list article{padding:var(--space-m);flex:35ch}.feed-item{width:100%;max-width:50ch}.feed-item .date{display:block}.feed-item img{border-radius:1rem;width:100%;height:auto;display:block}.feed-item a{color:var(--color-text);view-transition-name:var(--transition-name);text-decoration:none}.feed-item a:hover{text-decoration:underline}.feed-item .feed-item__tag{color:var(--feed-item-tag-color,var(--color-primary));display:inline-block}.feed-item .feed-item__tag.feed-item__tag--video{--feed-item-tag-color:var(--color-youtube-red)}.feed{--flow-space:.5em}.feed h1{font-size:calc(var(--font-size-3)*1.5)}.feed h2{font-size:calc(var(--font-size-3)*1.5)}.feed .feed__title{align-items:center;gap:var(--space-s);border-bottom:4px solid;display:flex}.feed .feed__title h2{line-height:1;display:inline-block}.feed .feed__title input{width:1.2em;height:1.2em;accent-color:var(--color-text);margin-top:-1px}.footer{background-color:var(--color-text);color:var(--color-secondary);margin-top:calc(3*var(--space-l))}.footer a{color:var(--color-secondary);-webkit-text-decoration-color:var(--color-secondary);text-decoration-color:var(--color-secondary)}.footer .footer__start>:first-child{max-width:50ch}.footer .footer__start ul{justify-content:center;gap:var(--space-m);list-style:none;display:flex}.footnotes{font-size:var(--font-size-tiny)}.footnotes p{word-break:break-word;display:inline-block}.intro{--intro-border-radius:2rem;border-radius:2rem;grid-template:auto/1fr 1fr;align-items:center;display:grid;overflow:hidden}.intro .intro__text{grid-area:1/1;padding-top:2rem;padding-bottom:2rem}.intro .intro__text:not(:-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))){padding-left:2rem}.intro .intro__text:not(: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))){padding-left:2rem}.intro .intro__text:-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)){padding-right:2rem}.intro .intro__text: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)){padding-right:2rem}@media not (min-width:75rem){.intro .intro__text{grid-column:1/span 2}}.intro picture{filter:drop-shadow(0 0 5px rgba(0,0,0,.2));grid-area:1/2;align-self:end;justify-self:end}@media not (min-width:75rem){.intro picture{display:none}}.intro picture img{width:100%;height:auto;display:block}.intro .intro__background{filter:blur(15px);z-index:-1;background:radial-gradient(circle at bottom left,var(--color-gradient-1)0%,var(--color-background-transparent)30%),radial-gradient(circle at top right,var(--color-gradient-2)0%,var(--color-background-transparent)20%),radial-gradient(circle at center,var(--color-gradient-3)0%,var(--color-background-transparent)60%);border-radius:2rem;grid-area:1/1/span 2/span 2;height:100%}.intro h1{font-weight:900;font-size:calc(var(--font-size-base)*2.5)}.main-content{align-items:flex-start;gap:var(--space-s);display:flex}@media not (min-width:75rem){.main-content{flex-direction:column;align-items:stretch}}.main-content>*{flex:1}.nav{z-index:100;justify-content:space-between;align-items:flex-end;display:flex;position:relative}.nav a{color:var(--color-text);padding-block:var(--space-xs);letter-spacing:.05em;-webkit-text-decoration-line:none;text-decoration-line:none;display:inline-block}.nav a.nav__logo{width:45px;height:40px;margin-inline:var(--space-xs);background-image:url(/images/duck.png);background-size:cover;animation:1s step-end infinite duck-rotate}.nav a:not(.nav__logo):hover{background-color:var(--color-text);color:var(--color-background);-webkit-text-decoration-line:underline;text-decoration-line:underline;-webkit-text-decoration-color:currentColor;text-decoration-color:currentColor}.nav ul{gap:var(--space-m);list-style:none;display:flex}@keyframes duck-rotate{0%{background-position-x:0}12.5%{background-position-x:14%}25%{background-position-x:28%}37.5%{background-position-x:42%}50%{background-position-x:58%}62.5%{background-position-x:72%}75%{background-position-x:86%}87.5%{background-position-x:100%}}.post{gap:var(--space-s);grid-template-columns:1fr 2fr 2fr;grid-template-areas:".title title""toc post post";max-width:100ch;margin-left:auto;margin-right:auto;line-height:1.8;display:grid}@media not (min-width:75rem){.post{display:block}}.post .post__title{grid-area:title}.post article{grid-area:post}.post .post__toc{top:var(--space-s);grid-area:toc;align-self:start;position:-webkit-sticky;position:sticky}@media not (min-width:75rem){.post .post__toc{position:static}}.post h1{font-size:var(--font-size-enormous);view-transition-name:var(--transition-name);line-height:1.2}.post img{width:70%;height:auto;margin-left:auto;margin-right:auto;display:block}.post :-webkit-any(h2,h3,h4,h5){--flow-space:3rem}.post :-webkit-any(h2,h3,h4,h5)+*{--flow-space:.5rem}.post :is(h2,h3,h4,h5){--flow-space:3rem}.post :is(h2,h3,h4,h5)+*{--flow-space:.5rem}.social-link:hover{text-decoration:none}