@layer reset{*,*::before,*::after{box-sizing:border-box;}*{margin:0;}html{-moz-text-size-adjust:none;-webkit-text-size-adjust:none;text-size-adjust:none;}body{line-height:1.5;min-height:100vh;-webkit-font-smoothing:antialiased;}img,picture,video,canvas,svg{display:block;}img,picture,canvas,video{max-width:100%;}body,h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin-block-end:0;}input,button,textarea,select{font:inherit;}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word;}h1,h2,h3,h4,button,input,label{line-height:1.1;}h1,h2,h3,h4{text-wrap:balance;}a:not([class]){text-decoration-skip-ink:auto;color:currentColor;}:target{scroll-margin-block:5ex;}textarea:not([rows]){min-height:10em;}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important;}}}@layer globals{@keyframes hvr-bob{0%{transform:translateY(-8px);}50%{transform:translateY(-4px);}100%{transform:translateY(-8px);}}@keyframes hvr-bob-float{100%{transform:translateY(-8px);}}@keyframes hvr-wobble-vertical{16.65%{transform:translateY(4px);}33.3%{transform:translateY(-2px);}49.95%{transform:translateY(1px);}66.6%{transform:translateY(-1px);}83.25%{transform:translateY(1px);}100%{transform:translateY(0);}}.hvr-wobble-vertical{display:inline-block;vertical-align:middle;transform:perspective(1px) translateZ(0);&:hover,&:active{animation-name:hvr-wobble-vertical;animation-duration:333ms;animation-timing-function:ease-in-out;animation-iteration-count:1;}}@keyframes hvr-pop{50%{transform:scale(1.2);}}.hvr-pop{display:inline-block;vertical-align:middle;transform:perspective(1px) translateZ(0);box-shadow:0 0 1px rgb(0 0 0 / 0%);&:hover{animation-name:hvr-pop;animation-duration:0.15s;animation-timing-function:linear;animation-iteration-count:1;}}.rotate{animation:spinner 2s linear infinite;}@keyframes spinner{to{transform:rotate(360deg);}}}@layer globals{@font-face{font-family:Roboto;font-display:swap;font-weight:300;src:url("../assets/fonts/Roboto-Regular.ttf") format("truetype");}@font-face{font-family:Roboto;font-display:swap;font-weight:300;font-style:italic;src:url("../assets/fonts/Roboto-Italic.ttf") format("truetype");}@font-face{font-family:Roboto;font-display:swap;font-weight:400;src:url("../assets/fonts/Roboto-Medium.ttf") format("truetype");}@font-face{font-family:Roboto;font-display:swap;font-weight:400;font-style:italic;src:url("../assets/fonts/Roboto-MediumItalic.ttf") format("truetype");}@font-face{font-family:Roboto;font-display:swap;font-weight:500;src:url("../assets/fonts/Roboto-Bold.ttf") format("truetype");}@font-face{font-family:Roboto;font-display:swap;font-weight:500;font-style:italic;src:url("../assets/fonts/Roboto-BoldItalic.ttf") format("truetype");}@font-face{font-family:"Roboto Mono";font-display:swap;font-weight:300;src:url("../assets/fonts/RobotoMono-Regular.ttf") format("truetype");}@font-face{font-family:"Roboto Mono";font-display:swap;font-weight:300;font-style:italic;src:url("../assets/fonts/RobotoMono-Italic.ttf") format("truetype");}@font-face{font-family:"Roboto Mono";font-display:swap;font-weight:400;src:url("../assets/fonts/RobotoMono-Medium.ttf") format("truetype");}@font-face{font-family:"Roboto Mono";font-display:swap;font-weight:400;font-style:italic;src:url("../assets/fonts/RobotoMono-MediumItalic.ttf") format("truetype");}@font-face{font-family:"Roboto Mono";font-display:swap;font-weight:500;src:url("../assets/fonts/RobotoMono-Bold.ttf") format("truetype");}@font-face{font-family:"Roboto Mono";font-display:swap;font-weight:500;font-style:italic;src:url("../assets/fonts/RobotoMono-BoldItalic.ttf") format("truetype");}}@layer globals{@media screen and (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth;}}html{width:100vw;overflow-x:hidden;scrollbar-color:var(--black) var(--white);&[data-theme="dark"]{--blue:#5b8bfb;--background-content:var(--deep-grey);--background-highlight:var(--dark-grey2);--text-color-base:var(--white);--text-color-meta:var(--grey);scrollbar-color:var(--white) var(--black);}}body{background-color:var(--background-base);font-family:var(--font-roboto),var(--font-myriad);font-weight:300;font-size:var(--font-size-base);text-rendering:geometricprecision;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;color:var(--text-color-base);}@media (hover:hover) and (pointer:fine){body{cursor:var(--cursor-default);}p,span,h1,h2,h3,h4,h5,h6,input,b,strong,textarea{cursor:var(--cursor-text);}a,a *,button:not([aria-disabled="true"]){cursor:var(--cursor-pointer);}}::selection{background-color:var(--blue);color:var(--text-color-base-inverse);}.sr-only{clip:rect(1px,1px,1px,1px);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px;&:focus{clip:auto;height:auto;overflow:auto;position:absolute;width:auto;}}.a11y-jump{padding:calc(0.5 * var(--gap-base)) var(--gap-base);font-weight:400;z-index:2;background:var(--text-color-highlight);color:var(--text-color-base-inverse);top:var(--gap-base);left:var(--gap-base);border-radius:var(--radius-base);}img[src$=".jpg"],img[src$=".png"]{image-rendering:crisp-edges;}img{width:100%;height:auto;}}@layer globals{h1,h2,h3,h4,h5,h6{font-weight:500;text-wrap:balance;color:var(--text-color-highlight);line-height:var(--line-height-base);}h1{font-family:var(--font-roboto),var(--font-courier);font-size:var(--font-size-super);font-weight:400;line-height:120%;}h2{font-size:var(--font-size-large);line-height:38px;font-weight:500;}h3{font-size:var(--font-size-medium);font-weight:400;}p,span,a,address,button,li{font-weight:300;line-height:var(--line-height-base);}p{color:var(--text-color-base);text-wrap:balance;}b,strong{font-weight:400;}em{font-weight:300;}blockquote{margin-bottom:calc(2 * var(--gap-base));width:110%;transform:translateX(-5%);background:var(--background-highlight);border-left:10px solid var(--shade-of-grey-medium);padding:15px 5%;font-style:italic;@media (width <= 768px){width:calc(100% + 40px);transform:translateX(-20px);padding:15px 20px;}}.with-icon >:is(svg,img){display:inline-block;width:var(--icon-size);height:var(--icon-size);border-radius:var(--radius-base);transform:translateY(-2px);vertical-align:middle;color:currentcolor;}a{position:relative;text-decoration:none;color:var(--link-color);z-index:1;transition:color 100ms ease-in-out;&:not(.anim-underline,.btn){text-decoration:underline;text-decoration-color:var(--background-highlight);text-decoration-thickness:var(--border-width-large);}&:hover{color:var(--link-hover);}&:active{background:var(--background-highlight);outline:none;}&:focus{border-radius:var(--radius-base);outline:var(--border-width-base) dashed var(--blue);}& svg{display:inline-block;vertical-align:baseline;}}pre:not([data-language],[class^="language-"]),code:not([data-language],[class^="language-"]),kbd,samp{background:var(--background-highlight);padding:2px 4px;font-family:var(--font-roboto-mono),var(--font-courier);font-size:var(--font-size-small);font-weight:400;vertical-align:baseline;white-space:nowrap;border-radius:var(--radius-base);box-shadow:2px 2px 0 var(--text-color-meta);}}@layer globals{:root{--light-grey:#ebebeb;--medium-grey:#f1f1f1;--grey:#a1a1a1;--dark-grey2:#383838;--dark-grey:#292822;--deep-grey:#242424;--shade-of-grey-light:rgb(0 0 0 / 5%);--shade-of-grey-medium:rgb(0 0 0 / 10%);--shade-of-grey-dark:rgb(0 0 0 / 50%);--blue:#3652cf;--orange:#ff7c00;--black:black;--white:white;--background-base:var(--black);--background-content:var(--medium-grey);--background-highlight:var(--white);--text-color-base:var(--black);--text-color-base-inverse:var(--white);--text-color-highlight:var(--blue);--text-color-meta:var(--grey);--link-color:var(--blue);--link-hover:var(--orange);--font-roboto:"Roboto",sans-serif;--font-roboto-mono:"Roboto Mono",monospace;--font-myriad:"Myriad Pro",myriad,arial,sans-serif;--font-courier:"Courier",andale mono,monospace;--font-size-tiny:70%;--font-size-small:90%;--font-size-base:18px;--font-size-medium:115%;--font-size-large:167%;--font-size-super:500%;--line-height-base:calc(var(--font-size-base) * 1.78);--line-height-small:calc(var(--font-size-base) * 1.25);--gap-base:20px;--gap-small:calc(var(--gap-base) / 4);--gap-medium:calc(2.25 * var(--gap-base));--gap-large:calc(3.75 * var(--gap-base));--radius-base:4px;--container-width-base:920px;--container-width-large:1100px;--border-width-base:2px;--border-width-large:calc(2 * var(--border-width-base));--page-width:calc(var(--container-width-base) + (2 * var(--gap-base)));--page-width-large:calc(var(--container-width-large) + (2 * var(--gap-base)));--icon-size:30px;--icon-size-small:calc(0.75 * var(--icon-size));--ease-out-back:cubic-bezier(0.175,0.885,0.32,1.275);--cursor-default:url("data:image/svg+xml,%3Csvg width='22' height='27' viewBox='0 0 22 27' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.84462 25L2 2L20 15.9471L10.811 17.7895L4.84462 25Z' fill='white' stroke='black' stroke-width='3' stroke-linejoin='round'/%3E%3C/svg%3E"),auto;--cursor-text:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='27' fill='none'%3E%3Cpath fill='%23000' stroke='%23fff' stroke-width='1.5' d='M11 4.968h.75V1.409l-.655-.084a9.847 9.847 0 0 0-2.341.012c-.733.093-1.56.29-2.264.695-.89-.486-2.498-.973-4.585-.707l-.655.084v3.535l.726.023c.534.017 1.327.075 1.973.186.262.045.472.094.622.143v6.372H1.25v3.648h3.321v6.352a2.408 2.408 0 0 1-.311.114c-.434.13-1.152.25-2.26.25h-.75V25.59l.655.084c.548.07 1.426.104 2.341-.011.733-.093 1.56-.29 2.264-.695.89.486 2.498.973 4.585.706l.655-.083v-3.535l-.726-.023a15.764 15.764 0 0 1-1.973-.186 4.618 4.618 0 0 1-.622-.143v-6.388h3.321v-3.648H8.429V5.332c.075-.034.177-.074.311-.114.434-.13 1.152-.25 2.26-.25Zm-6.27 16.61a.051.051 0 0 1 0 0ZM8.27 5.422Z'/%3E%3C/svg%3E"),auto;--cursor-pointer:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='25' height='29' fill='none'%3E%3Cpath fill='%23fff' d='M1.78 14.919c1.658-1.804 4.145.752 5.18 2.255V3.32c0-.773.454-2.32 2.267-2.32 1.814 0 2.224 1.547 2.202 2.32v7.024c0-.645.389-1.933 1.943-1.933s2.116 1.288 2.202 1.933c.086-.645.609-1.933 2.007-1.933 1.4 0 2.008 1.288 2.137 1.933v2.375c.033-1.063.306-2.375 2.138-2.375 1.865 0 2.201 1.675 2.137 2.513v8.248c0 3.609-4.08 6.895-8.42 6.895-3.47 0-5.806-1.718-6.54-2.578L3.4 19.816c-1.101-1.095-3.691-2.642-1.62-4.897Z'/%3E%3Cpath stroke='%23000' stroke-linejoin='round' stroke-width='2' d='M11.43 13.501v-3.157m0 0V3.32C11.45 2.547 11.04 1 9.226 1 7.414 1 6.961 2.547 6.961 3.32v13.854c-1.036-1.503-3.523-4.06-5.181-2.255-2.072 2.255.518 3.802 1.619 4.897l5.634 5.606c.734.86 3.07 2.578 6.54 2.578 4.34 0 8.42-3.286 8.42-6.895v-8.248c.064-.838-.272-2.513-2.137-2.513-2.332 0-2.138 2.126-2.138 3.157v-3.157c-.129-.645-.738-1.933-2.137-1.933-1.398 0-1.92 1.288-2.007 1.933m-4.145 0c0-.645.389-1.933 1.943-1.933s2.116 1.288 2.202 1.933m0 0V13.5'/%3E%3Cpath stroke='%23000' stroke-linecap='round' stroke-width='2' d='m11.658 16.589.546 4.917M15.366 17.1l.546 4.917M19.074 17.739l.547 4.918'/%3E%3C/svg%3E"),auto;--cursor-grab:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='26' height='27' fill='none'%3E%3Cpath fill='%23fff' d='M1.78 12.919c1.658-1.805 4.145.752 5.18 2.255l-2-9.854c0-.774.454-2.32 2.267-2.32 1.728 0 2.7 1.404 2.77 2.205C9.955 4.442 9.63 2.39 12 2c3.454-.567 3.488 3.356 3.574 4C15.66 5.356 15 1.41 19 2.41c2.358.59 1.668 2.91 1.5 4.09l-.6 3.841c.338-1.752 1.021-3.28 2.956-2.997 1.845.269 2.201 1.675 2.137 2.513 0 1.546-1 6.361-1 9.248 0 3.608-4.08 6.895-8.42 6.895-3.47 0-5.806-1.718-6.54-2.578L3.4 17.816c-1.101-1.095-3.691-2.642-1.62-4.897Z'/%3E%3Cpath stroke='%23000' stroke-linejoin='round' stroke-width='2' d='M10 5.32C10.022 4.546 9.04 3 7.227 3 5.414 3 4.961 4.546 4.961 5.32l2 9.854c-1.036-1.503-3.523-4.06-5.181-2.255-2.072 2.255.518 3.802 1.619 4.897l5.634 5.606c.734.86 3.07 2.578 6.54 2.578 4.34 0 8.42-3.287 8.42-6.895 0-2.887 1-7.702 1-9.248.064-.838-.292-2.244-2.137-2.513C20.5 7 20 9.339 19.718 11.5L20.5 6.5c.168-1.18.858-3.5-1.5-4.09-4-1-3.34 2.946-3.426 3.59M10 5.32l1.43 6.181M10 5.32c0-.645-.5-2.91 2-3.32 3.454-.567 3.488 3.356 3.574 4m0 0V11.5'/%3E%3Cpath stroke='%23000' stroke-linecap='round' stroke-width='2' d='m11.658 14.589.546 4.917M15.366 15.1l.546 4.917M19.074 15.739l.547 4.918'/%3E%3C/svg%3E"),auto;@media (width <= 768px){--font-size-base:16px;}}}@layer components{.anim-underline{--border-color:var(--text-color-base);&::after{width:100%;height:var(--border-width-base);position:absolute;content:"";bottom:0;left:0;background-color:var(--border-color);transform:scaleX(0);transform-origin:center;transition:transform 175ms var(--ease-out-back);}&:hover::after{transform:scaleX(1);}}}@layer components{.blob-photo image{display:block;width:100%;}}@layer components{.box{display:flex;color:var(--text-color-base);padding-block:calc(var(--gap-base) / 4);padding-inline:calc(var(--gap-base) * 0.75);border-radius:calc(var(--radius-base) * 2);text-decoration:none;position:relative;&::before{position:absolute;top:0;left:0;right:0;content:"";width:100%;height:100%;background:var(--background-highlight);border-radius:calc(var(--radius-base) * 2);z-index:-1;transform:perspective(1px) translateZ(0);transition:border-radius 175ms var(--ease-out-back),outline 175ms var(--ease-out-back);}p,span{text-wrap:pretty;}a{color:var(--text-color-base);text-decoration:none;}&:is(a):is(:hover,:active){text-decoration:none;&::before{animation:box-pop 0.15s linear 1;transform:scale(1.025,1.1);outline:var(--border-width-base) solid var(--link-color);}}}@keyframes box-pop{50%{transform:scale(1.05,1.2);border-radius:calc(var(--radius-base) * 4);}}}@layer components{.chip{display:inline-flex;align-items:center;justify-content:center;gap:calc(var(--gap-base) / 2);text-align:center;color:var(--text-color-base);background:var(--background-highlight);padding-block:calc(var(--gap-base) / 4);padding-inline:calc(var(--gap-base) * 0.75);font-weight:400;border-radius:calc(var(--radius-base) * 2);text-decoration:none;transition:background-color 175ms var(--ease-out-back);&:is(a):is(:hover,:active){background:var(--link-color);color:var(--text-color-base-inverse);text-decoration:none;svg{animation:hvr-wobble-vertical 333ms ease-in-out 1;color:color-mix( in oklab,var(--text-color-base-inverse) 40%,var(--link-color) );}}svg{color:var(--text-color-meta);width:var(--icon-size-small);height:var(--icon-size-small);}&.chip-small{font-size:var(--font-size-tiny);padding-block:0;padding-inline:calc(var(--gap-base) * 0.55);}&.chip-group{--chip-group-highlight-color:var(--blue);--chip-group-highlight-bg:var(--background-highlight);padding:0;gap:0;> *{padding-block:calc(var(--gap-base) / 4);padding-inline:calc(var(--gap-base) * 0.75);}> *:last-child{border-top-right-radius:calc(var(--radius-base) * 2);border-bottom-right-radius:calc(var(--radius-base) * 2);box-shadow:inset 0px 0px 0px 2px var(--background-highlight);background:color-mix( in oklab,var(--chip-group-highlight-color) 10%,var(--chip-group-highlight-bg) );}html[data-theme="dark"] & > *:last-child{--chip-group-highlight-bg:var(--background-content);}}}}@layer components{.logo{--img-shape:path( "M12.4076 0.388479C17.0409 -0.131604 22.1721 -0.6557 25.5201 2.57703C29.2701 6.19787 30.9244 11.8759 29.4836 16.8765C28.1117 21.6381 27.47 26.2289 22.9687 28.3347C18.5458 30.4039 9.26148 30.7013 4.99146 28.3347C0.853492 26.0412 0.629019 20.476 0.133215 15.7847C-0.268412 11.9845 0.156239 8.14861 2.5418 5.15631C4.93341 2.15643 8.58621 0.817423 12.4076 0.388479Z" );display:flex;justify-content:center;align-items:center;position:relative;gap:calc(var(--gap-base) / 2);text-align:left;&:has(a:hover) .logo-img::after{transform:scale(1);}}.logo-img{filter:drop-shadow(2px 3px 0 var(--black));display:flex;transform:translateY(-1px);&::after{content:url("/assets/icons/home.svg");padding-top:4px;padding-left:3px;width:var(--icon-size);height:var(--icon-size);position:absolute;left:0;top:0;z-index:1;background:var(--link-color);transform:scale(0);transform-origin:center;transition:transform 175ms var(--ease-out-back);clip-path:var(--img-shape);}img{width:var(--icon-size);height:var(--icon-size);cursor:var(--cursor-default);clip-path:var(--img-shape);background:var(--blue);}}.logo-txt{color:currentColor;font-size:var(--font-size-medium);text-decoration:none !important;display:flex;flex-direction:column;strong,span{line-height:20px;}span{color:var(--text-color-meta);font-size:var(--font-size-tiny);}}}@layer components{.page-top-bg{position:absolute;top:0;left:0;z-index:0;transition:transform 150ms var(--ease-out-back);@media (width <= 1380px){transform:translateX(-50%);}@media (width <= 1280px){transform:translateX(-75%);}@media (width <= 1130px){display:none;}}}@layer components{code[class*="language-"],pre[class*="language-"]{background:hsl(230,1%,98%);color:hsl(230,8%,24%);direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;line-height:1.5;-moz-tab-size:2;-o-tab-size:2;tab-size:2;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none;}code[class*="language-"]::-moz-selection,code[class*="language-"] *::-moz-selection,pre[class*="language-"] *::-moz-selection{background:hsl(230,1%,90%);color:inherit;}code[class*="language-"]::selection,code[class*="language-"] *::selection,pre[class*="language-"] *::selection{background:hsl(230,1%,90%);color:inherit;}pre[class*="language-"]{padding:1em;margin:0.5em 0;overflow:auto;border-radius:0.3em;}:not(pre) > code[class*="language-"]{padding:0.2em 0.3em;border-radius:0.3em;white-space:normal;}.token.comment,.token.prolog,.token.cdata{color:hsl(230,4%,64%);}.token.doctype,.token.punctuation,.token.entity{color:hsl(230,8%,24%);}.token.attr-name,.token.class-name,.token.boolean,.token.constant,.token.number,.token.atrule{color:hsl(35,99%,36%);}.token.keyword{color:hsl(301,63%,40%);}.token.property,.token.tag,.token.symbol,.token.deleted,.token.important{color:hsl(5,74%,59%);}.token.selector,.token.string,.token.char,.token.builtin,.token.inserted,.token.regex,.token.attr-value,.token.attr-value > .token.punctuation{color:hsl(119,34%,47%);}.token.variable,.token.operator,.token.function{color:hsl(221,87%,60%);}.token.url{color:hsl(198,99%,37%);}.token.attr-value > .token.punctuation.attr-equals,.token.special-attr > .token.attr-value > .token.value.css{color:hsl(230,8%,24%);}.language-css .token.selector{color:hsl(5,74%,59%);}.language-css .token.property{color:hsl(230,8%,24%);}.language-css .token.function,.language-css .token.url > .token.function{color:hsl(198,99%,37%);}.language-css .token.url > .token.string.url{color:hsl(119,34%,47%);}.language-css .token.important,.language-css .token.atrule .token.rule{color:hsl(301,63%,40%);}.language-javascript .token.operator{color:hsl(301,63%,40%);}.language-javascript .token.template-string > .token.interpolation > .token.interpolation-punctuation.punctuation{color:hsl(344,84%,43%);}.language-json .token.operator{color:hsl(230,8%,24%);}.language-json .token.null.keyword{color:hsl(35,99%,36%);}.language-markdown .token.url,.language-markdown .token.url > .token.operator,.language-markdown .token.url-reference.url > .token.string{color:hsl(230,8%,24%);}.language-markdown .token.url > .token.content{color:hsl(221,87%,60%);}.language-markdown .token.url > .token.url,.language-markdown .token.url-reference.url{color:hsl(198,99%,37%);}.language-markdown .token.blockquote.punctuation,.language-markdown .token.hr.punctuation{color:hsl(230,4%,64%);font-style:italic;}.language-markdown .token.code-snippet{color:hsl(119,34%,47%);}.language-markdown .token.bold .token.content{color:hsl(35,99%,36%);}.language-markdown .token.italic .token.content{color:hsl(301,63%,40%);}.language-markdown .token.strike .token.content,.language-markdown .token.strike .token.punctuation,.language-markdown .token.list.punctuation,.language-markdown .token.title.important > .token.punctuation{color:hsl(5,74%,59%);}.token.bold{font-weight:bold;}.token.comment,.token.italic{font-style:italic;}.token.entity{cursor:help;}.token.namespace{opacity:0.8;}.token.token.tab:not(:empty):before,.token.token.cr:before,.token.token.lf:before,.token.token.space:before{color:hsla(230,8%,24%,0.2);}div.code-toolbar > .toolbar.toolbar > .toolbar-item{margin-right:0.4em;}div.code-toolbar > .toolbar.toolbar > .toolbar-item > button,div.code-toolbar > .toolbar.toolbar > .toolbar-item > a,div.code-toolbar > .toolbar.toolbar > .toolbar-item > span{background:hsl(230,1%,90%);color:hsl(230,6%,44%);padding:0.1em 0.4em;border-radius:0.3em;}div.code-toolbar > .toolbar.toolbar > .toolbar-item > button:hover,div.code-toolbar > .toolbar.toolbar > .toolbar-item > button:focus,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 > span:hover,div.code-toolbar > .toolbar.toolbar > .toolbar-item > span:focus{background:hsl(230,1%,78%);color:hsl(230,8%,24%);}.line-highlight.line-highlight{background:hsla(230,8%,24%,0.05);}.line-highlight.line-highlight:before,.line-highlight.line-highlight[data-end]:after{background:hsl(230,1%,90%);color:hsl(230,8%,24%);padding:0.1em 0.6em;border-radius:0.3em;box-shadow:0 2px 0 0 rgba(0,0,0,0.2);}pre[id].linkable-line-numbers.linkable-line-numbers span.line-numbers-rows > span:hover:before{background-color:hsla(230,8%,24%,0.05);}.line-numbers.line-numbers .line-numbers-rows,.command-line .command-line-prompt{border-right-color:hsla(230,8%,24%,0.2);}.line-numbers .line-numbers-rows > span:before,.command-line .command-line-prompt > span:before{color:hsl(230,1%,62%);}.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:hsl(5,74%,59%);}.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:hsl(119,34%,47%);}.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:hsl(221,87%,60%);}.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:hsl(301,63%,40%);}pre.diff-highlight > code .token.token.deleted:not(.prefix),pre > code.diff-highlight .token.token.deleted:not(.prefix){background-color:hsla(353,100%,66%,0.15);}pre.diff-highlight > code .token.token.deleted:not(.prefix)::-moz-selection,pre.diff-highlight > code .token.token.deleted:not(.prefix) *::-moz-selection,pre > code.diff-highlight .token.token.deleted:not(.prefix)::-moz-selection,pre > code.diff-highlight .token.token.deleted:not(.prefix) *::-moz-selection{background-color:hsla(353,95%,66%,0.25);}pre.diff-highlight > code .token.token.deleted:not(.prefix)::selection,pre.diff-highlight > code .token.token.deleted:not(.prefix) *::selection,pre > code.diff-highlight .token.token.deleted:not(.prefix)::selection,pre > code.diff-highlight .token.token.deleted:not(.prefix) *::selection{background-color:hsla(353,95%,66%,0.25);}pre.diff-highlight > code .token.token.inserted:not(.prefix),pre > code.diff-highlight .token.token.inserted:not(.prefix){background-color:hsla(137,100%,55%,0.15);}pre.diff-highlight > code .token.token.inserted:not(.prefix)::-moz-selection,pre.diff-highlight > code .token.token.inserted:not(.prefix) *::-moz-selection,pre > code.diff-highlight .token.token.inserted:not(.prefix)::-moz-selection,pre > code.diff-highlight .token.token.inserted:not(.prefix) *::-moz-selection{background-color:hsla(135,73%,55%,0.25);}pre.diff-highlight > code .token.token.inserted:not(.prefix)::selection,pre.diff-highlight > code .token.token.inserted:not(.prefix) *::selection,pre > code.diff-highlight .token.token.inserted:not(.prefix)::selection,pre > code.diff-highlight .token.token.inserted:not(.prefix) *::selection{background-color:hsla(135,73%,55%,0.25);}.prism-previewer.prism-previewer:before,.prism-previewer-gradient.prism-previewer-gradient div{border-color:hsl(0,0%,95%);}.prism-previewer-color.prism-previewer-color:before,.prism-previewer-gradient.prism-previewer-gradient div,.prism-previewer-easing.prism-previewer-easing:before{border-radius:0.3em;}.prism-previewer.prism-previewer:after{border-top-color:hsl(0,0%,95%);}.prism-previewer-flipped.prism-previewer-flipped.after{border-bottom-color:hsl(0,0%,95%);}.prism-previewer-angle.prism-previewer-angle:before,.prism-previewer-time.prism-previewer-time:before,.prism-previewer-easing.prism-previewer-easing{background:hsl(0,0%,100%);}.prism-previewer-angle.prism-previewer-angle circle,.prism-previewer-time.prism-previewer-time circle{stroke:hsl(230,8%,24%);stroke-opacity:1;}.prism-previewer-easing.prism-previewer-easing circle,.prism-previewer-easing.prism-previewer-easing path,.prism-previewer-easing.prism-previewer-easing line{stroke:hsl(230,8%,24%);}.prism-previewer-easing.prism-previewer-easing circle{fill:transparent;}}@layer components{[data-tooltip]{position:relative;cursor:help;&::before{content:attr(data-tooltip-message);position:absolute;top:0;left:50%;transform:translate(-50%,-100%);width:min-content;z-index:1;background:var(--blue);color:var(--text-color-base-inverse);font-size:var(--font-size-small);border-radius:var(--radius-base);padding-block:var(--gap-small);padding-inline:calc(2 * var(--gap-small));line-height:1.1;opacity:0;visibility:hidden;transition:opacity 150ms ease-in-out,visibility 150ms ease-in-out;}&:is(:hover,:focus,:active)::before{opacity:1;visibility:visible;}}}@layer layout{#content{width:100%;padding:var(--gap-large) 0 0;background:var(--background-content);@media (width <= 768px){padding-top:40px;overflow:hidden;}}.section-border{filter:drop-shadow(0 -8px 0 var(--background-content));&.white{--background-base:var(--background-highlight);}}}@layer layout{.container,.container-large{width:100%;margin:0 auto;padding:0 var(--gap-base);}.container{max-width:var(--page-width);}.container-large{max-width:var(--page-width-large);}.grid{display:grid;grid-template-columns:repeat(6,1fr);grid-column-gap:calc(1.5 * var(--gap-base));align-items:start;.col-1{grid-column:span 1;}.col-2{grid-column:span 2;}.col-3{grid-column:span 3;}.col-4{grid-column:span 4;}.col-5{grid-column:span 5;}.col-6{grid-column:span 6;}@media (width <= 768px){grid-template-columns:1fr;.col-1,.col-2,.col-3,.col-4,.col-5,.col-6{grid-column:span 6;}}}}@layer layout{#page-footer{width:100%;padding:calc(0.5 * var(--gap-large)) 0 35px;text-align:center;background-color:var(--background-base);position:relative;@media (width <= 768px){padding:var(--gap-large) 0 var(--gap-base);}& span{font-size:inherit;}& > svg{position:absolute;top:0;left:0;right:0;width:100%;transform:translateY(-98%);}}.footer-info{text-align:left;@media (width <= 768px){text-align:center;width:100%;}& > p{color:var(--light-grey);font-size:var(--font-size-base);line-height:24px;margin-bottom:var(--gap-base);@media (width <= 768px){width:100%;}}& > p > a{color:var(--text-color-base-inverse);font-weight:400;text-decoration:none !important;}& p:not(:last-of-type){margin-bottom:20px;}}#page-footer .footer-inner .footer-menu{text-align:right;@media (width <= 768px){text-align:center;margin-top:50px;width:100%;}& a,& span{font-size:var(--font-size-base);font-weight:400;}& ul{list-style:none;padding:0;}& > a{font-size:var(--font-size-small);}& a{--border-color:var(--text-color-base-inverse);color:var(--text-color-base-inverse);position:relative;&:hover{--border-color:var(--link-color);color:var(--link-color);}@media (width <= 500px){&::before,&::after{display:none;}}}}#page-footer .footer-inner .footer-info .footer-socialmedia{margin-bottom:var(--gap-base);display:inline-block;list-style:none;padding:0;& svg{width:var(--icon-size-small);height:var(--icon-size-small);fill:var(--text-color-base-inverse);color:var(--text-color-base-inverse);transition:fill 150ms ease-in-out;}& li{display:inline-block;margin-right:15px;}& a{display:block;line-height:0;transform:scale(1);transform-origin:center;border-radius:50%;&:hover svg{fill:var(--link-color);color:var(--link-color);}&:focus,&:active{outline-offset:2px;}&:active{background:none;& svg{fill:var(--link-hover);color:var(--link-hover);}}}}#page-footer .footer-info .footer-content{& p{text-align:left;font-size:var(--font-size-small);color:rgb(255 255 255 / 50%);@media (width <= 768px){text-align:center;}}svg{display:inline-block;height:calc(0.75 * var(--icon-size-small));width:calc(0.75 * var(--icon-size-small));vertical-align:middle;margin-inline-start:var(--gap-small);}& a{color:var(--text-color-base-inverse);transition:color 150ms ease-in-out;}& .anim-underline{--border-color:var(--text-color-base-inverse);}}html[data-theme="dark"] .footer-gotop .footer-gotop-blob{fill:var(--background-content);}#page-footer .footer-inner .footer-gotop{display:inline-flex;padding:0;margin-top:var(--gap-base);border-radius:50%;transform:perspective(1px) translateZ(0);&:hover,&:active{animation-name:hvr-bob-float,hvr-bob;animation-duration:0.3s,1.5s;animation-delay:0s,0.3s;animation-timing-function:ease-out,ease-in-out;animation-iteration-count:1,infinite;animation-fill-mode:forwards;animation-direction:normal,alternate;}&::before{display:none;}& .footer-gotop-blob{width:65px;height:70px;fill:var(--dark-grey);transition:fill 150ms var(--ease-out-back);}&:hover .footer-gotop-blob{fill:var(--link-color) !important;}& svg:not(.footer-gotop-blob){width:var(--icon-size);height:var(--icon-size);fill:var(--white);transform:translateY(-50%) translateX(-50%);transition:transform 150ms var(--ease-out-back);position:absolute;top:50%;left:50%;}}}@layer layout{#page-header{width:100%;background-color:var(--background-content);}.header-inner{height:100%;display:flex;justify-content:space-between;align-items:center;padding-block:var(--gap-base);}.header-nav{position:relative;& > div{display:grid;grid-template-columns:repeat(2,auto);grid-column-gap:var(--gap-base);align-items:center;position:relative;z-index:1;@media (width <= 768px){justify-items:center;grid-row-gap:var(--gap-base);}}}.header-nav-bg{position:absolute;top:calc(-2 * var(--gap-base));right:calc(-1 * var(--gap-base));width:692px;transform:translateX(10%);@media (width <= 768px){display:none;}}.header-nav ul{list-style:none;display:flex;padding:0;@media (width <= 768px){& a{display:flex;flex-direction:column-reverse;align-items:center;}& span{font-size:var(--font-size-tiny);line-height:var(--line-height-small);}& svg{display:block !important;width:var(--icon-size-small);height:var(--icon-size-small);}}& li:not(:last-child){margin-right:calc(3 * var(--gap-base));}& .active{color:var(--link-color);cursor:text;&::after{background-color:var(--link-color);transform:scaleX(1);}& svg{fill:var(--link-color);}}& a{color:var(--text-color-base);font-size:var(--font-size-medium);font-weight:400;@media (width <= 500px){&::before,&::after{display:none;}}& span{font-weight:400;}}}.header-inner .js-theme-toggle{position:relative;display:flex;justify-content:center;align-items:center;border:var(--border-width-base) dashed transparent;border-radius:50%;padding:var(--border-width-base);width:38px;height:38px;background:none;&::after{content:"";background:var(--background-content);position:absolute;z-index:-1;width:100%;height:100%;clip-path:path( "M16.7145 0.134638C19.8479 0.0670603 23.2052 -0.486891 25.863 1.28478C28.5303 3.06278 29.4978 6.55526 30.8733 9.57262C32.2836 12.6664 34.123 15.6831 33.9935 19.1205C33.8579 22.7214 32.5026 26.3034 30.1458 28.8855C27.8461 31.4049 24.4782 32.2055 21.2784 33.051C18.1999 33.8645 15.0846 34.3553 11.9756 33.6869C8.66654 32.9756 5.17529 31.9 3.02223 29.1267C0.883174 26.3714 0.926502 22.5048 0.535763 18.9517C0.154903 15.4885 -0.561299 11.8874 0.776516 8.70584C2.11779 5.51604 4.87428 3.2481 7.80069 1.67432C10.544 0.199018 13.6429 0.200881 16.7145 0.134638Z" );}&:active,&:focus{border-color:var(--blue);outline:none;}.theme-toggle-sun{fill:none;}& svg{width:var(--icon-size-small);height:var(--icon-size-small);position:relative;fill:var(--text-color-base);&:hover{fill:currentcolor;}}&:hover svg{color:var(--text-color-base);}}html[data-theme="light"] .header-inner .js-theme-toggle .theme-toggle-moon{display:none;}html[data-theme="dark"] .header-inner .js-theme-toggle .theme-toggle-sun{display:none;}}