@charset "UTF-8";:root{--theme-border:0.5px solid var(--theme-color--pop);--theme-border--thick:4px solid;--theme-border-radius:0.5em;--theme-border-radius--maxi:2.5em;--theme-border-radius--wireframe:255px 15px 225px 15px/15px 225px 15px 255px;--theme-border-image:linear-gradient(
      180deg,
      var(--theme-color--pop),
      var(--theme-color--accent),
      var(--theme-color--pop)
    )
    1}:root{--theme-color--brand:hsla(0, 100%, 67%, 1);--theme-color--brand-shade:hsla(0, 100%, 67%, 0.375);--theme-color--accent:hsl(146, 100%, 46%);--theme-color--accent-shade:hsla(146, 100%, 46%, 0.5);--theme-color--pop:hsla(262, 100%, 62%, 1);--theme-color--pop-shade:hsla(262, 100%, 62%, 0.375);--hue:260;--sat:35%;--lum:90%;--alpha:0.95;--hsl:var(--hue), var(--sat), var(--lum);--theme-color--paper:hsla(
    var(--hue),
    calc(var(--sat) * 1.2),
    calc(var(--lum) * 1.06),
    var(--alpha)
  );--theme-color--ink:hsla(
    var(--hue),
    calc(var(--sat) * 2.2),
    calc(var(--lum) * 0.3),
    var(--alpha)
  );--theme-color--ink-fade:hsla(
    var(--hue),
    calc(var(--sat) * 2.2),
    calc(var(--lum) * 0.3),
    calc(var(--alpha) * 0.3)
  );--theme-color--paper-fade:hsla(
    var(--hue),
    calc(var(--sat) * 1.2),
    calc(var(--lum) * 1.06),
    0.9
  );--theme-color--contrast-max:hsl(
    var(--hue),
    calc(var(--sat) / 100),
    calc(var(--lum) * 2) var(--alpha)
  );--theme-color--block:hsla(var(--hsl), var(--alpha));--theme-color--outline:hsl(var(--hsl), 1);--theme-color--backdrop-from:hsla(var(--hsl), 0.25);--theme-color--backdrop-to:hsla(var(--hsl), 0.2);--theme-color--good:var(--theme-color--accent-shade);--theme-color--bad:var(--theme-color--brand-shade)}@media(prefers-color-scheme:dark){:root{--hue:270;--sat:8%;--lum:20%;--alpha:0.99;--theme-color--ink:hsla(
    calc(var(--hue) * 1.1),
    calc(var(--sat) + 60%),
    calc(var(--lum) * 4.4),
    var(--alpha)
  );--theme-color--accent:hsla(262, 100%, 67%, 1);--theme-color--pop:hsl(146, 100%, 46%)}}:root{--theme-font--display:"Space Grotesk", serif;--theme-font--copy:"Inter", system-ui, -apple-system, BlinkMacSystemFont,
    "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue",
    sans-serif;--theme-font--system:100 100%/2 "Monaco", "Menlo", "Space Grotesk", monospace;--theme-font--emoji:"Fluent UI Emoji", Apple Color Emoji, "Noto Color Emoji",
    "Segoe UI Emoji", "EmojiOne Color", "Twemoji Mozilla"}:root{--theme-box-shadow:hsla(var(--hsl), var(--alpha)) 0px 0px 0px 1px,
    hsla(var(--hsl), var(--alpha)) 0px 1px 0px 0px,
    hsla(var(--hsl), var(--alpha)) 0px 0px 8px 0px,
    0px 9.25px 20px hsla(var(--hsl), var(--alpha));--theme-box-shadow--slim:hsla(var(--hsl), var(--alpha)) 0px 0px 0px 1px,
    hsla(var(--hsl), var(--alpha)) 0px 1px 0px 0px,
    hsla(var(--hsl), var(--alpha)) 0px 0px 2.5px 0px,
    0px 3.25px 6px hsla(var(--hsl), var(--alpha));--theme-box-shadow--top:hsla(var(--hsl), var(--alpha)) 0px -1.5px 2px 0px;--theme-box-shadow--bottom:0px 3.25px 6px hsla(var(--hsl), var(--alpha));--theme-box-shadow--inset:inset 0px -3.25px 12px hsla(var(--hsl), var(--alpha));--theme-drop-shadow:0 0 0.75rem hsla(var(--hsl), var(--alpha))}:root{--theme-spacing--1:clamp(
      2px,
      1vw + 1px,
      10px
    );--theme-spacing--2:clamp(
      4px,
      2vw + 1px,
      20px
    );--theme-spacing--3:clamp(
      6px,
      3vw + 1px,
      30px
    );--theme-spacing--4:clamp(
      8px,
      4vw + 1px,
      40px
    );--theme-spacing--5:clamp(
      10px,
      5vw + 1px,
      50px
    );--theme-spacing--6:clamp(
      12px,
      6vw + 1px,
      60px
    );--theme-spacing--container:clamp(
    var(--theme-spacing--container-min),
    calc(100vw - calc(var(--theme-spacing--gutter) * 2)),
    var(--theme-spacing--container-max)
  );--theme-spacing--container-min:300px;--theme-spacing--container-max:1280px;--theme-spacing--container-med:768px;--theme-spacing--gutter:var(--theme-spacing--2);--theme-spacing--offset:var(--theme-spacing--1);--theme-spacing--linelength:80ch;--theme-spacing--touchtarget:48px;--theme-spacing--scrollmargin:var(--theme-spacing--6)}:root{--theme-type-size--6:clamp(0.83rem, 0.44vw + 0.72rem, 0.9375rem);--theme-type-size--5:clamp(1rem, 0.53vw + 0.87rem, 1.2rem);--theme-type-size--4:clamp(1.2rem, 0.64vw + 1.04rem, 1.44rem);--theme-type-size--3:clamp(1.44rem, 0.77vw + 1.25rem, 1.73rem);--theme-type-size--2:clamp(1.73rem, 0.92vw + 1.5rem, 2.07rem);--theme-type-size--1:clamp(2.07rem, 2.49vw + 2.25rem, 6rem);--theme-type-size--reset:100%}*{box-sizing:border-box}body,html{font-family:var(--theme-font--copy);font-size:100%;background-color:var(--theme-color--paper);color:var(--theme-color--ink);margin:0;padding:0;height:100%;animation:fade-in .4s;scroll-padding:calc(var(--header-height) * 2)0}@media(max-width:768px){body{overflow-x:hidden;max-width:100svw;height:max-content}}@keyframes fade-in{0%{opacity:0}100%{opacity:1}}.e-button{appearance:none;font:600 var(--theme-type-size--6)var(--theme-font--display),system-ui;text-decoration:none;text-align:center;white-space:nowrap;display:inline-flex;place-items:center;place-content:center;min-width:fit-content;height:fit-content;gap:var(--theme-spacing--1);cursor:pointer;--button-color:var(--theme-color--ink);--button-background-color:transparent;--button-border-color:var(--button-color);--button-border:1px solid var(--button-border-color);--button-border-radius:1em;--button-box-shadow:2px 5px var(--theme-color--accent);--button-padding:3px var(--theme-spacing--1);color:var(--button-color);background-color:var(--button-background-color);border:var(--button-border);border-radius:var(--button-border-radius);box-shadow:var(--button-box-shadow);padding:var(--button-padding);transition:all .6s cubic-bezier(.175,.885,.32,1.275),border-color .6s cubic-bezier(.175,.885,.32,1.275)}.e-button.is-active,.e-button:active,.e-button:focus{box-shadow:0 0 var(--theme-color--accent);border-color:initial;text-decoration:none}@media(hover){.e-button:hover{box-shadow:0 0 var(--theme-color--accent);border-color:initial;text-decoration:none}}.e-button:focus{outline:3px dotted var(--theme-color--accent)}.e-button__icon,.e-button--icon{height:var(--theme-spacing--touchtarget);width:var(--theme-spacing--touchtarget);min-width:var(--theme-spacing--touchtarget);max-width:var(--theme-spacing--touchtarget);border:none;background:0 0;box-shadow:none;color:currentColor;place-content:center}.e-button__icon.is-active,.e-button__icon:active,.e-button__icon:focus,.e-button--icon.is-active,.e-button--icon:active,.e-button--icon:focus{background:0 0}@media(hover){.e-button__icon:hover,.e-button--icon:hover{background:0 0}}form{padding:var(--theme-spacing--2)0;width:100%;margin:0 auto var(--theme-spacing--4);border:none}.c-form--inline{padding:0;display:inline-flex;flex-flow:row wrap;gap:var(--theme-spacing--1);align-items:center}fieldset{border:var(--theme-border);border-color:var(--theme-color--block);box-shadow:var(--theme-box-shadow--slim);border-radius:var(--theme-border-radius);display:grid}main input:not([type=radio]):not([type=checkbox]){appearance:none;padding:calc(var(--theme-spacing--2)/2);min-width:36ch;width:100%;max-width:var(--theme-spacing--linelength);border:var(--theme-border);border-color:var(--theme-color--block);box-shadow:var(--theme-box-shadow--slim);border-radius:var(--theme-border-radius)}legend{font:var(--theme-type-size--4)var(--theme-font--display);float:left;padding:var(--theme-spacing--1)0}label,input::placeholder{font:var(--theme-type-size--3)var(--theme-font--system)}[type=submit]{display:flex;margin:0 0 auto auto}h1,.e-heading__1{font-family:var(--theme-font--display);font-size:var(--theme-type-size--1);font-weight:300;margin:0}h1:not([class]){margin-bottom:.75em}h2,.e-heading__2{font-family:var(--theme-font--display);font-size:var(--theme-type-size--2);font-weight:300;margin:0}h2:not([class]){margin-bottom:.75em}h3,.e-heading__3{font-family:var(--theme-font--display);font-size:var(--theme-type-size--3);font-weight:300;margin:0}h3:not([class]){margin-bottom:.75em}h4,.e-heading__4{font-family:var(--theme-font--display);font-size:var(--theme-type-size--4);font-weight:300;margin:0}h4:not([class]){margin-bottom:.75em}h5,.e-heading__5{font-family:var(--theme-font--display);font-size:var(--theme-type-size--5);font-weight:300;margin:0}h5:not([class]){margin-bottom:.75em}h6,.e-heading__6{font-family:var(--theme-font--display);font-size:var(--theme-type-size--6);font-weight:300;margin:0}h6:not([class]){margin-bottom:.75em}h4,.e-heading__4{font-weight:500;color:var(--theme-color--pop)}h2,.e-heading__2{font-weight:700}h2:not([class])::after{content:"";width:4ch;height:4px;display:block;background-image:linear-gradient(45deg,var(--theme-color--accent),var(--theme-color--pop))}h1,.e-heading__1{font-weight:900}svg{height:100%;width:auto;min-width:var(--theme-spacing--touchtarget);font:var(--theme-font--system)}img{width:100%;height:100%;max-width:100%;object-fit:cover}picture{height:auto;overflow:hidden}figure{width:fit-content;box-shadow:var(--theme-box-shadow);margin:0 auto var(--theme-spacing--gutter)0}figure img{max-width:100%;width:auto;height:auto;object-fit:contain;max-height:100vh}figcaption{padding:var(--theme-spacing--gutter);font-family:var(--theme-font--display);border-bottom:var(--theme-border)}a{color:currentColor;text-decoration:none;transition:all .3s}a:not([class]),a:link:not([class]),a:visited:not([class]),.e-link{color:currentColor;text-decoration:dotted underline}a:not([class]).is-active,a:not([class]):active,a:not([class]):focus,a:link:not([class]).is-active,a:link:not([class]):active,a:link:not([class]):focus,a:visited:not([class]).is-active,a:visited:not([class]):active,a:visited:not([class]):focus,.e-link.is-active,.e-link:active,.e-link:focus{text-decoration:underline;outline:none}@media(hover){a:not([class]):hover,a:link:not([class]):hover,a:visited:not([class]):hover,.e-link:hover{text-decoration:underline;outline:none}}a:not([class]):focus,a:link:not([class]):focus,a:visited:not([class]):focus,.e-link:focus{outline:2px dotted}:target{scroll-margin-top:var(--header-height)}ul[class],ol[class],li[class]{padding:0;margin:0;list-style:none}ul.e-list,ol.e-list{margin:revert;line-height:1.5}p{line-height:1.5}blockquote{font-size:var(--theme-type-size--4);margin:var(--theme-spacing--4)0 var(--theme-spacing--6);position:relative;overflow:visible;border-bottom:var(--theme-border--thick);border-image:var(--theme-border-image)}blockquote:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;display:block;width:100%;height:100%;z-index:-1;pointer-events:none;transition:transform .3s;color:var(--theme-color--pop);background-image:radial-gradient(currentColor 1px,transparent 1px);background-size:calc(10 * 1px)calc(10 * 1px);transform:translateX(var(--theme-spacing--offset))translateY(calc(-1 * var(--theme-spacing--offset)));opacity:.2}iframe{max-width:100%}code,.code,pre code .highlight pre,time{font:var(--theme-font--system)}code:not([class]){color:var(--theme-color--pop)}.highlight pre{display:block;padding:var(--theme-spacing--gutter);overflow-x:auto;margin:0}.highlight{border:var(--theme-border);padding:var(--theme-spacing--1);max-width:var(--theme-spacing--linelength);position:relative;overflow:visible;margin-bottom:var(--theme-spacing--4)}.highlight:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;display:block;width:100%;height:100%;z-index:-1;pointer-events:none;transition:transform .3s;color:currentColor;background-image:radial-gradient(currentColor 1px,transparent 1px);background-size:calc(10 * 1px)calc(10 * 1px);transform:translateX(var(--theme-spacing--offset))translateY(var(--theme-spacing--offset));color:var(--pop);opacity:1}details{list-style:none}summary{margin-bottom:var(--theme-spacing--1);cursor:pointer;list-style:none}summary>*{display:inline-block;margin:0}details>summary::before{content:"▶";display:inline-block;color:var(--theme-color--accent);font-size:var(--theme-type-size--4);transition:transform .5s cubic-bezier(.4,2.08,.55,.44);margin:0 var(--theme-spacing--1)0 0}details:hover summary::before{color:var(--theme-color--pop);transform:rotate(5deg)scale(1.1)}details[open]>summary::before{transform:rotate(90deg)}hr{border:0;border-bottom:var(--theme-border--thick);border-image:var(--theme-border-image);margin:var(--theme-spacing--6)calc(3 * calc(-1 * var(--theme-spacing--gutter)));max-width:50%}table{display:block;width:100%;width:max-content;max-width:100%;overflow:auto;border-bottom:var(--theme-border--thick);border-image:var(--theme-border-image)}.highlight table{width:100%}thead th{font:var(--theme-font--system);background-color:var(--theme-color--block)}td{padding:var(--theme-spacing--1);background-color:var(--theme-color--block)}.c-alert{background-color:var(--theme-color--paper-fade);z-index:2;position:relative;padding:var(--theme-spacing--2)var(--theme-spacing--gutter)var(--theme-spacing--3);width:100%}.c-alert__info{background-color:var(--theme-color--ink-fade)}.c-alert__warning{background-color:var(--theme-color--contrast-max)}.c-block{scroll-snap-align:start;background-color:var(--theme-color--paper-fade);z-index:2;position:relative;padding:var(--theme-spacing--2)var(--theme-spacing--gutter)var(--theme-spacing--3);width:100%}.c-block__header{display:flex;flex-flow:row wrap;justify-content:space-between;align-items:center;margin:var(--theme-spacing--1)0 var(--theme-spacing--gutter);gap:var(--theme-spacing--gutter)}.c-block__objectives{width:100%}.c-block__series{display:grid;gap:var(--theme-spacing--gutter)}.c-block__title{scroll-margin-top:var(--theme-spacing--scrollmargin)}.c-block__title>a:not([class]){text-decoration:none}.c-block__feedback{margin:auto 0 auto auto}.c-block--link{padding:var(--theme-spacing--2)var(--theme-spacing--gutter)var(--theme-spacing--3)0}.c-block--youtube{text-align:center;padding:0;border:0;box-shadow:none}.c-block--pullreq{background-image:linear-gradient(-90deg,var(--theme-color--accent-shade),var(--theme-color--paper),var(--theme-color--paper),var(--theme-color--paper))}.c-block__series--timeline .c-block{box-shadow:var(--theme-box-shadow--slim)}.c-block__series--timeline .c-block__time{font-size:var(--theme-type-size--6)}.c-block--pd.c-block{box-shadow:none;border:none;padding-bottom:0}.c-block__time{cursor:pointer;color:var(--theme-color--ink)}.c-block__time.is-active,.c-block__time:active,.c-block__time:focus{color:var(--theme-color--pop)}@media(hover){.c-block__time:hover{color:var(--theme-color--pop)}}.c-breadcrumbs__list{display:flex;align-items:center;gap:var(--theme-spacing--1);font:var(--theme-font--system);font-size:var(--theme-type-size--6)}.c-breadcrumbs__link{display:inline-flex;align-items:center;white-space:nowrap}.c-breadcrumbs__link.is-active,.c-breadcrumbs__link:active,.c-breadcrumbs__link:focus{text-decoration:overline 3px var(--theme-color--accent);outline:none}.c-breadcrumbs__link.is-active .c-breadcrumbs__icon,.c-breadcrumbs__link:active .c-breadcrumbs__icon,.c-breadcrumbs__link:focus .c-breadcrumbs__icon{color:var(--theme-color--pop)}@media(hover){.c-breadcrumbs__link:hover{text-decoration:overline 3px var(--theme-color--accent);outline:none}.c-breadcrumbs__link:hover .c-breadcrumbs__icon{color:var(--theme-color--pop)}}@media(min-width:768px){.c-page-header--solo .c-breadcrumbs__text{max-width:7ch;overflow:hidden;text-overflow:ellipsis;display:block}}.c-breadcrumbs__icon{height:1em;min-width:6px}.c-card{--smallest-width-with-timeline:240px;display:grid;background-color:var(--theme-color--block);border-radius:var(--theme-border-radius);position:relative;grid-template:". .           . .     ." var(--theme-spacing--gutter)". title       . image ." minmax(1em,auto)". meta . image ." minmax(0,auto)". description . image ." minmax(0,1fr)". .           . .     ." var(--theme-spacing--gutter)/var(--theme-spacing--gutter)minmax(var(--smallest-width-with-timeline),calc(var(--theme-spacing--container-min) * 2))var(--theme-spacing--2)1fr var(--theme-spacing--gutter)}.c-card__image{grid-area:image}.c-card__description{grid-area:description}.c-card__title{grid-area:title}.c-card__meta{grid-area:meta}.c-card.is-active,.c-card:active,.c-card:focus{box-shadow:var(--theme-box-shadow--slim);outline:none}@media(hover){.c-card:hover{box-shadow:var(--theme-box-shadow--slim);outline:none}}.c-card__title{line-height:1.875;font-weight:500}.c-map .c-card__title{line-height:1}.c-card__description{margin:0 auto auto 0}.c-map .c-card__description{position:absolute;z-index:1;background-color:var(--theme-color--paper);padding:var(--theme-spacing--1);box-shadow:var(--theme-box-shadow--slim);font-size:0;opacity:0}.c-map .c-card.is-active .c-card__description,.c-map .c-card:active .c-card__description,.c-map .c-card:focus .c-card__description{animation:text-appear cubic-bezier(.25,1.375,.25,1).5s forwards}@media(hover){.c-map .c-card:hover .c-card__description{animation:text-appear cubic-bezier(.25,1.375,.25,1).5s forwards}}.c-card__cta{display:flex;margin:var(--theme-spacing--1)auto}.c-card__image{font-size:clamp(24px,calc(24px + 5vw),96px);text-align:right;mix-blend-mode:add}.c-card.is-active .c-card__image,.c-card:active .c-card__image,.c-card:focus .c-card__image{animation:float 4s infinite alternate ease-in-out}@media(hover){.c-card:hover .c-card__image{animation:float 4s infinite alternate ease-in-out}}@keyframes text-appear{0%{transform:rotate3d(0,0,1,3.5deg)scale(0)translateY(0);opacity:0;width:0;height:0;font-size:0}10%{opacity:0;font-size:100%}100%{transform:rotate3d(0,0,1,-3.5deg)scale(1)translateY(-10px);opacity:1;width:fit-content;height:fit-content;font-size:100%}}@keyframes float{from{transform:translateY(0)}to{transform:translateY(-5px)}}.c-chip{display:grid;grid-template:".... . ..... ." var(--theme-spacing--1)"icon . title ." min-content "icon . description ." 1fr ".... . ..... ." var(--theme-spacing--1)/var(--theme-type-size--1)var(--theme-spacing--1)1fr var(--theme-spacing--1)}.c-chip__icon{grid-area:icon}.c-chip__title{grid-area:title}.c-chip__description{grid-area:description}.c-chip__description{margin:0 auto auto 0}.c-chip__icon{font-size:var(--theme-type-size--2)}.c-chip__icon--circle{clip:circle()}.c-chip.is-active .c-chip__title,.c-chip:active .c-chip__title,.c-chip:focus .c-chip__title{text-decoration:underline;color:var(--theme-color--ink)}@media(hover){.c-chip:hover .c-chip__title{text-decoration:underline;color:var(--theme-color--ink)}}.cm-editor{background-color:#272822;padding:var(--theme-spacing--gutter)}.cm-editor .cm-scroller{font:var(--theme-font--system)}.cm-editor .hl_line:not(.cm-activeLine){background-color:var(--theme-color--accent-shade)}.c-columns{display:grid;gap:var(--theme-spacing--gutter);grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.c-contributors,ol.c-contributors{display:flex;flex-flow:row wrap;gap:var(--theme-spacing--3)var(--theme-spacing--2);margin:0 0 var(--theme-spacing--6);max-width:none}.c-contributor{flex:initial;display:grid;display:grid;grid-template:"avatar .... commits" 1fr "avatar name name" auto "avatar .... ......." 1fr/50px 1fr min-content;gap:var(--theme-spacing--1);--polystar:polygon(
    13% 13%,
    30% 13%,
    37% 0%,
    50% 8%,
    62% 0%,
    70% 13%,
    87% 13%,
    87% 30%,
    100% 37%,
    92% 50%,
    100% 62%,
    87% 70%,
    87% 87%,
    70% 87%,
    62% 100%,
    50% 92%,
    37% 100%,
    30% 87%,
    13% 87%,
    13% 70%,
    0% 62%,
    8% 50%,
    0% 37%,
    13% 30%
  )}.c-contributor__avatar{grid-area:avatar}.c-contributor__name{grid-area:name}.c-contributor__commits{grid-area:commits}.c-contributor__name{margin:auto auto auto 0;font-weight:100}.c-contributor.is-active .c-contributor__name,.c-contributor:active .c-contributor__name,.c-contributor:focus .c-contributor__name{text-decoration:underline}@media(hover){.c-contributor:hover .c-contributor__name{text-decoration:underline}}.c-contributor__avatar{clip-path:circle()}.c-contributor__commits{width:4ch;height:4ch;background-color:var(--theme-color--accent);color:var(--theme-color--paper);clip-path:var(--polystar);display:grid;place-content:center;grid-area:avatar;z-index:1}.c-copy{margin-bottom:var(--theme-spacing--gutter)}.c-copy p,.c-copy ol,.c-copy ul,.c-copy__node{max-width:var(--theme-spacing--linelength)}.c-copy li{margin-bottom:initial;line-height:1.5}.c-copy h1{font-size:var(--theme-type-size--2)}.c-emoji{font-family:var(--theme-font--emoji)}.c-issue~.c-issue:not(.c-issue--pr){padding-top:var(--theme-spacing--6)}.c-issue__title{font-weight:300;margin-bottom:var(--theme-spacing--1)}.c-issue__body{padding:var(--theme-spacing--gutter);max-width:var(--theme-spacing--linelength);box-shadow:var(--theme-box-shadow);border-radius:var(--theme-border-radius)}.c-issue__body h3{font-size:var(--theme-type-size--4)}.c-issue__labels{display:flex;flex-flow:row wrap;gap:var(--theme-spacing--1)}.c-issue__label,.c-issue__button{background:var(--github);font:600 var(--theme-type-size--6)system-ui;border:1px solid;border-radius:1em}.c-issue__label-name,.c-issue__button-name{display:inline-block;padding:.125em .5em}.c-issue__button{display:block;margin:0 0 auto auto;width:max-content}.c-label{background:var(--color);font:600 var(--theme-type-size--6)system-ui;border:1px solid;border-radius:1em}.c-label:not(:has(.c-label__name)){padding:.125em .5em}.c-label__name{display:inline-block;padding:.125em .5em}.c-label__text{font-size:0;opacity:0;transition:all .5s cubic-bezier(.25,1.375,.25,1)}.c-label.is-active .c-label__text,.c-label:active .c-label__text,.c-label:focus .c-label__text{font-size:var(--theme-type-size--6);opacity:1}@media(hover){.c-label:hover .c-label__text{font-size:var(--theme-type-size--6);opacity:1}}.c-label__list{display:flex;flex-flow:row wrap;gap:var(--theme-spacing--1)}.c-logos,ul.c-logos{padding:var(--theme-spacing--4)0 var(--theme-spacing--6);display:flex;flex-flow:row wrap;place-items:center;justify-content:center;gap:var(--theme-spacing--5)var(--theme-spacing--4);max-width:none}.c-logos__item,ul.c-logos__item{max-width:200px;flex:auto}.c-logos__logo,ul.c-logos__logo{object-fit:contain;mix-blend-mode:multiply}.c-map,[class=c-map]{display:flex;flex-wrap:wrap;gap:var(--theme-spacing--6)var(--theme-spacing--gutter);padding:var(--theme-spacing--6)0}@media(min-width:768px){.c-map,[class=c-map]{background:url('data:image/svg+xml;utf8,<svg width="200" height="200" viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg"><path d="M0 100 Q50 50, 100 100 T200 100 Q150 150, 100 100 T0 100" fill="none" stroke="hsla(146, 100%, 46%, 0.2)" stroke-width="5" stroke-dasharray="15,25"/></svg>')0 -12vh/50vh repeat}}@media(min-width:768px){.c-map__block,[class__block=c-map]{outline:4px dashed var(--theme-color--outline);outline-offset:var(--theme-spacing--gutter);border-radius:var(--theme-spacing--gutter)}}.c-map__timeline,[class__timeline=c-map]{display:grid;gap:var(--theme-spacing--gutter)}.c-map__start,[class__start=c-map]{position:absolute;left:0}.c-map__stop,.c-map__header,[class__stop=c-map],[class__header=c-map]{position:relative;z-index:var(--layer)}@media(min-width:1280px){.c-map__stop,.c-map__header,[class__stop=c-map],[class__header=c-map]{max-width:calc( calc(var(--theme-spacing--container)/3) - var(--theme-spacing--gutter))}}.c-map__stop>summary,.c-map__header>summary,[class__stop=c-map]>summary,[class__header=c-map]>summary{list-style-position:inside;padding-left:var(--theme-spacing--3)}.c-map__stop[open]>summary,.c-map__header[open]>summary,[class__stop=c-map][open]>summary,[class__header=c-map][open]>summary{list-style-position:inside}.c-map__title,[class__title=c-map]{color:var(--theme-color--brand);margin-bottom:calc(-1 * var(--theme-spacing--4));transform:translate3d(calc(-1 * var(--theme-spacing--3)),calc(-1 * var(--theme-spacing--5)),0)rotate(-3.5deg)}.c-note{--gap:var(--theme-spacing--gutter);box-shadow:var(--theme-box-shadow);border-radius:var(--theme-border-radius);max-width:var(--theme-spacing--container);max-width:var(--theme-spacing--linelength);width:fit-content;margin-bottom:var(--gap);box-shadow:var(--theme-box-shadow--slim);background-image:linear-gradient(-45deg,var(--theme-color--block),var(--theme-color--paper));display:grid;grid-template:"..... ..... ..... " var(--theme-spacing--1)"..... title title" auto "..... ..... ..... " var(--theme-spacing--1)"..... text  ....." 1fr "..... ..... ..... " var(--gap)/var(--gap)minmax(auto,var(--theme-spacing--linelength))var(--gap)}.c-note__title{grid-area:title}.c-note__text{grid-area:text}.c-note__title{color:var(--theme-color--ink)}.c-note--tip{background:var(--theme-color--good)}.c-note--important{background:var(--theme-color--pop-shade)}.c-note--warning,.c-note--caution{background:var(--theme-color--bad)}.c-objectives{margin-bottom:var(--theme-spacing--gutter)}.c-objectives__title{margin-bottom:0}ul:has(input[type=checkbox]),li:has(input[type=checkbox]){padding:0;margin:0 0 var(--theme-spacing--1);list-style:none}ul:has(input[type=checkbox])::marker,li:has(input[type=checkbox])::marker{content:"☑️ ";font-size:22px}ul:has(input[type=checkbox]) label,li:has(input[type=checkbox]) label{padding-left:calc(22px + 1ch);margin-left:calc(-1 * calc(22px + 1ch));cursor:pointer}li:has(input[type=checkbox]:checked)::marker{content:"✅ ";font-size:21.5px}ul:has(input[type=checkbox]){margin:0 0 var(--theme-spacing--3)1.5em}ul:has(input[type=checkbox]) input[type=checkbox]{position:absolute;opacity:0}.c-overview{display:grid;--gap:var(--theme-spacing--1);gap:var(--gap);padding:var(--gap)var(--gap)var(--gap)0;max-width:var(--theme-spacing--linelength)}.c-overview__module{font-weight:600;color:var(--theme-color--ink);background-color:var(--theme-color--block)}.c-overview__subheading,.c-overview__nav{display:flex;gap:var(--gap);justify-content:space-between}@media(max-width:300px){.c-overview__subheading{flex-flow:row wrap}}.c-page-footer{padding-top:var(--theme-spacing--6)}.c-page-footer__nav{gap:var(--theme-spacing--1);display:flex;justify-content:center;align-items:center;text-transform:lowercase;font:var(--theme-font--system)}.c-page-header{--gap:var(--theme-spacing--gutter);display:grid;grid-template:"." var(--gap)"container" 1fr "." var(--gap)}.c-page-header__container{grid-area:container}.c-page-header__title{grid-area:title}.c-page-header__subtitle{grid-area:subtitle}.c-page-header__description{grid-area:description}.c-page-header__breadcrumbs{grid-area:breadcrumbs}.c-page-header__backlog{grid-area:backlog}.c-page-header__lastmod{grid-area:lastmod}.c-page-header__toc{grid-area:toc}.c-page-header__edit{grid-area:edit}.c-page-header--solo{position:sticky;top:var(--theme-spacing--4)}.c-page-header__container{pointer-events:all;display:grid;grid-template:".              .            .        " var(--gap)"breadcrumbs    .            .        " min-content "title          title        title    " min-content ".              .            .        " var(--gap)"description    description  description" min-content "backlog        .   .        " 1fr ".              .   .        " var(--gap)/1fr var(--gap)minmax(0,1fr)}.c-page-header--toc .c-page-header__container{grid-template:".          " var(--gap)"breadcrumbs" min-content "title      " min-content ".          " var(--gap)"subtitle   " min-content "toc        " min-content ".          " var(--gap)"description" 1fr ".          " var(--gap)/1fr}@media(min-width:1280px){.c-page-header--toc:not(.c-page-header--solo) .c-page-header__container{grid-template:".              .   .        " var(--gap)"breadcrumbs    .   edit     " min-content "title          .   toc      " min-content "subtitle       .   toc      " min-content "description    .   toc      " min-content ".              .   toc      " auto ".              .   lastmod  " min-content ".              .   .        " var(--gap)/1fr var(--gap)minmax(0,1fr)}}.c-page-header--splash .c-page-header__container{grid-template:".           " var(--gap)"title       " min-content ".           " var(--gap)"description " 1fr ".           " var(--gap)/1fr}.c-page-header__title{display:flex;line-height:.75;text-shadow:-2px 1px 0 var(--theme-color--pop);background-color:var(--theme-color--block);margin-bottom:var(--theme-spacing--1)}.c-page-header--splash .c-page-header__title{color:var(--theme-color--brand);background-color:transparent;text-shadow:none}.c-page-header__subtitle{display:flex;width:max-content}.c-page-header__description{font-weight:300}.c-page-header__time{display:block;color:var(--theme-color--ink);font:var(--theme-font--system);font-size:var(--theme-type-size--6);background-color:var(--theme-color--outline);margin-bottom:calc(-1 * var(--theme-spacing--3));text-align:center}@media(min-width:768px){.c-page-header__time{width:var(--theme-type-size--1)}}.c-page-header__breadcrumbs{padding:0 0 0 calc(var(--theme-type-size--1) + 5px);z-index:1}.c-page-header--splash .c-page-header__breadcrumbs{display:none}.c-page-header__toc .c-toc{max-height:25vh}.c-page-header--solo .c-page-header__toc .c-toc{max-height:none}@media(max-width:768px){.c-page-header--solo .c-page-header__toc .c-toc{max-height:12ch}}.c-rubric{max-width:var(--theme-spacing--linelength)}.c-rubric dt{font-weight:600;color:var(--theme-color--brand)}.c-skip-link{position:absolute;left:-100vw;opacity:0;transition:all .3s}.c-skip-link.is-active,.c-skip-link:active,.c-skip-link:focus{left:0;z-index:1001;opacity:1}@media(hover){.c-skip-link:hover{left:0;z-index:1001;opacity:1}}.c-tabs{display:block;--outset:calc(-1 * var(--theme-spacing--gutter));--tabline:1px;margin:0 var(--outset)var(--theme-spacing--gutter)}.c-tabs__list{display:flex}.c-tabs__tab{cursor:pointer;font-family:var(--theme-font--display);transform:translateY(2px);padding:var(--theme-spacing--1)var(--theme-spacing--2);border-top:var(--tabline)solid var(--theme-color--outline);border-right:var(--tabline)solid var(--theme-color--outline);border-bottom:none;border-left:var(--tabline)solid var(--theme-color--outline);background:var(--theme-color--paper);box-shadow:var(--theme-box-shadow--top);color:currentColor;place-content:center;transform:translateY(5px)}.c-tabs__tab.is-active,.c-tabs__tab:hover,.c-tabs__tab:focus{z-index:2;transform:translateY(3px)scale(1.01);box-shadow:0 -2px 0 var(--theme-color--accent);font-weight:600}.c-tabs__group{display:grid;grid-template:"tab";padding:var(--tabline)}.c-tabs__panel{grid-area:tab;padding:var(--theme-spacing--4)var(--theme-spacing--gutter);background:var(--theme-color--paper);box-shadow:var(--theme-box-shadow--slim);border-radius:var(--theme-border-radius);border-top-left-radius:0;opacity:0}.c-tabs__panel.is-active{opacity:1;z-index:1}.c-block__series--timeline .c-tabs__panel{margin-bottom:var(--outset);box-shadow:var(--theme-box-shadow--top)}.c-block__series--timeline .c-tabs__panel--pd{box-shadow:var(--theme-box-shadow--slim)}.c-terms{max-width:var(--theme-spacing--linelength)}.c-terms dt{font-weight:600;color:var(--theme-color--brand)}.c-timeline,[class=c-timeline]{--box:var(--theme-spacing--gutter);position:relative;transform:translateX(var(--box));padding:var(--theme-spacing--6)0}.c-timeline__entry,.c-timeline [class=c-timeline__entry],[class__entry=c-timeline],[class=c-timeline] [class=c-timeline__entry]{display:flex;align-items:center;border-left:var(--theme-border--thick);border-image:var(--theme-border-image);padding:0 var(--box)var(--theme-spacing--5)0;counter-increment:timeline 1}.c-timeline__entry:before,.c-timeline [class=c-timeline__entry]:before,[class__entry=c-timeline]:before,[class=c-timeline] [class=c-timeline__entry]:before{content:counter(timeline);padding:var(--box);height:var(--box);width:var(--box);clip-path:circle();display:inline-grid;place-content:center;background-color:var(--theme-color--pop);color:var(--theme-color--ink);transform:translateX(calc(var(--box) * -1.5));transition:background-color .3s;font:var(--theme-font--system)}.c-timeline__entry:hover:before,.c-timeline [class=c-timeline__entry]:hover:before,[class__entry=c-timeline]:hover:before,[class=c-timeline] [class=c-timeline__entry]:hover:before{background-color:var(--theme-color--pop);color:var(--theme-color--paper)}.c-timeline__entry:last-of-type,.c-timeline [class=c-timeline__entry]:last-of-type,[class__entry=c-timeline]:last-of-type,[class=c-timeline] [class=c-timeline__entry]:last-of-type{border-color:transparent;border-image:none}.c-timeline--block .c-timeline__entry:last-of-type,.c-timeline--card .c-timeline__entry:last-of-type,.c-timeline--block .c-timeline [class=c-timeline__entry]:last-of-type,.c-timeline--card .c-timeline [class=c-timeline__entry]:last-of-type,.c-timeline--block [class__entry=c-timeline]:last-of-type,.c-timeline--card [class__entry=c-timeline]:last-of-type,.c-timeline--block [class=c-timeline] [class=c-timeline__entry]:last-of-type,.c-timeline--card [class=c-timeline] [class=c-timeline__entry]:last-of-type{border-color:var(--theme-color--ink)}.c-timeline__title,[class__title=c-timeline]{text-transform:capitalize;margin:0}.c-timeline__entry.is-active .c-timeline__title,.c-timeline__entry:active .c-timeline__title,.c-timeline__entry:focus .c-timeline__title,.c-timeline__entry.is-active [class__title=c-timeline],.c-timeline__entry:active [class__title=c-timeline],.c-timeline__entry:focus [class__title=c-timeline]{text-decoration:underline}@media(hover){.c-timeline__entry:hover .c-timeline__title,.c-timeline__entry:hover [class__title=c-timeline]{text-decoration:underline}}.c-timeline__link,[class__link=c-timeline]{display:flex;flex-flow:row wrap;align-items:center;gap:0 var(--theme-spacing--1)}.c-toc{color:var(--theme-color--accent);max-width:var(--theme-spacing--container);box-shadow:var(--theme-box-shadow);padding:var(--theme-spacing--1)var(--theme-spacing--2)var(--theme-spacing--4);overflow-y:auto;counter-reset:item}.c-toc ol{color:var(--theme-color--ink);padding:0;margin:0;list-style:none}.c-toc ol>li{text-transform:lowercase;font-family:var(--theme-font--display);font-weight:300}.c-toc ol>li:before{display:inline-block;content:counter(item)". ";counter-increment:item;min-width:2.5ch;line-height:1.375}.c-toc ol>li a,.c-toc ol>li a:link{text-decoration:none;position:relative}.c-toc ol>li a.is-active,.c-toc ol>li a:link.is-active{color:var(--theme-color--pop);border-bottom:1px solid var(--theme-color--pop)}.c-toc ol>li li{text-transform:none;font-family:var(--theme-font--copy)}.c-toc ol>li li::marker{color:var(--theme-color--pop)}.c-toc__top{--bookmark:var(--theme-spacing--touchtarget);position:fixed;left:calc( calc( calc(100vw - var(--theme-spacing--container))/2 + var(--theme-spacing--container) ) - calc(var(--bookmark)/2));text-shadow:.5px .5px var(--theme-color--ink),-.5px 1px var(--theme-color--pop),0 3.25px 6px var(--theme-color--outline);font-size:var(--bookmark);transform:translateY(calc(-1 * calc(var(--bookmark)/2)))}tool-tip-container{position:relative;display:inline-block;cursor:help;text-decoration:1px var(--theme-color--brand)wavy underline;z-index:3}.tooltip__title{display:block;margin-bottom:var(--theme-spacing--gutter)}.tooltip__content{font-size:var(--theme-type-size--5)}tool-tip{opacity:0;pointer-events:none;transition:opacity .2s ease;position:absolute;z-index:1;max-width:45ch;min-width:30ch;padding:var(--theme-spacing--2);border:1px solid var(--theme-color--pop);border-radius:var(--theme-border-radius);box-shadow:var(--theme-box-shadow--slim);background-image:linear-gradient(-45deg,var(--theme-color--block),var(--theme-color--paper));color:var(--theme-color--ink);top:1.5em;left:50%;transform:translateX(-50%)}:has(>tool-tip):hover>tool-tip,:has(>tool-tip):focus-visible>tool-tip,:has(>tool-tip):focus-within>tool-tip,:has(>tool-tip):active>tool-tip{opacity:1;transition-delay:200ms;pointer-events:all}.l-footer{display:grid;grid-template:"...... . ......... ." var(--theme-spacing--6)"github . impressum mode" minmax(0,1fr)"github . ......... mode" var(--theme-spacing--touchtarget)"...... . ......... ." var(--theme-spacing--gutter)/var(--theme-spacing--touchtarget)var(--theme-spacing--1)1fr var(--theme-spacing--touchtarget)}.l-footer__github{grid-area:github}.l-footer__impressum{grid-area:impressum}.l-footer__mode{grid-area:mode}.l-header{display:grid;backdrop-filter:blur(100px)opacity(.7);-webkit-backdrop-filter:blur(100px)opacity(.7);background:linear-gradient(to top,var(--theme-color--backdrop-from),var(--theme-color--backdrop-to));border:var(--theme-border--highlight);border-color:var(--theme-color--outline);box-shadow:var(--theme-box-shadow);background-color:var(--theme-color--paper);color:var(--theme-color--accent);position:sticky;top:0;z-index:30;box-shadow:var(--theme-box-shadow);grid-template:" . ......... . " var(--theme-spacing--1)" . container ." minmax(0,1fr)" . ......... ." var(--theme-spacing--1)/minmax(var(--theme-spacing--gutter),1fr)var(--theme-spacing--container)minmax(var(--theme-spacing--gutter),1fr)}.l-header__heading{grid-area:heading}.l-header__search{grid-area:search}.l-header__action{grid-area:action}.l-header__container{grid-area:container}.l-header__container{display:grid;grid-template:"heading . search action" min-content/max-content var(--theme-spacing--4)1fr min-content}.l-header__heading{color:var(--theme-color--brand);display:grid;align-items:center}@media(min-width:1280px){.l-header__heading{width:140px}}.l-header__home.is-active,.l-header__home:active,.l-header__home:focus{color:var(--theme-color--accent);outline:none}@media(hover){.l-header__home:hover{color:var(--theme-color--accent);outline:none}}.l-header__search{position:relative}.l-header__action{transform:translateX(calc( calc(var(--theme-spacing--touchtarget)/2) - var(--theme-spacing--1)))}:root{--header-height:calc(
    var(--theme-spacing--touchtarget) + calc(var(--theme-spacing--1) * 2)
  )}.l-layout{display:grid;grid-template:" header header header" auto " ...... main   ......" 1fr " ...... footer ......" auto/minmax(var(--theme-spacing--gutter),1fr)var(--theme-spacing--container)minmax(var(--theme-spacing--gutter),1fr);min-height:100dvh}.l-layout__header{grid-area:header}.l-layout__main{grid-area:main}.l-layout__footer{grid-area:footer}.l-main.is-active,.l-main:active,.l-main:focus{outline:none}@media(hover){.l-main:hover{outline:none}}.l-menu{--gap:var(--theme-spacing--gutter);display:grid;overflow-x:hidden;overflow-y:auto;position:fixed;top:0;right:100%;visibility:hidden;height:100dvh;z-index:40;background-image:linear-gradient(-45deg,var(--theme-color--block),var(--theme-color--paper));box-shadow:var(--theme-box-shadow);grid-template:". container . " calc(100vh - calc(100vh - 100%))/minmax(var(--theme-spacing--gutter),1fr)auto minmax(var(--theme-spacing--gutter),1fr)}.l-menu__heading{grid-area:heading}.l-menu__action{grid-area:action}.l-menu__primary{grid-area:primary}.l-menu__secondary{grid-area:secondary}.l-menu__container{grid-area:container}.l-menu.is-active{visibility:visible;right:0;outline:none;animation:slide-menu .5s ease-out forwards}.l-menu__container{display:grid;grid-template:". .......   ......... ." var(--theme-spacing--1)". heading   action    ." min-content ". .......   ......... ." var(--gap)". primary   primary   ." 1fr ". secondary secondary ." min-content ". .......   ......... ." var(--gap)/var(--gap)1fr var(--theme-spacing--touchtarget)var(--gap);align-items:center}.l-menu__action{border-radius:0;--button-padding:0;margin:0 0 auto auto;width:fit-content;min-width:fit-content}.l-menu__link.is-active,.l-menu__link:active,.l-menu__link:focus{text-decoration:underline dotted var(--theme-color--accent)}@media(hover){.l-menu__link:hover{text-decoration:underline dotted var(--theme-color--accent)}}.l-menu__heading{line-height:.75;text-shadow:-2px 1px 0 var(--theme-color--pop)}.l-menu__home.is-active,.l-menu__home:active,.l-menu__home:focus{outline:1px dotted;color:var(--theme-color--accent)}@media(hover){.l-menu__home:hover{outline:1px dotted;color:var(--theme-color--accent)}}.l-menu__primary{display:grid;align-self:stretch;place-content:center}.l-menu__secondary{display:flex;flex-wrap:wrap;justify-content:space-evenly;gap:var(--theme-spacing--gutter)}@keyframes slide-menu{0%{transform:translateX(100vw)}40%{transform:translateX(100vw)}50%{transform:translateX(100vw)}100%{transform:translateX(0)}}.is-bad{background:var(--theme-color--bad)}.is-dark-mode,:root:has(.is-dark-mode){--hue:270;--sat:8%;--lum:20%;--alpha:0.99;--theme-color--ink:hsla(
    calc(var(--hue) * 1.1),
    calc(var(--sat) + 60%),
    calc(var(--lum) * 4.4),
    var(--alpha)
  );--theme-color--accent:hsla(262, 100%, 67%, 1);--theme-color--pop:hsl(146, 100%, 46%)}.is-good{background:var(--theme-color--good)}[inert]{opacity:.5;filter:blur(2px);transition:filter .6s}.is-invisible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.is-light-mode,:root:has(.is-light-mode){--theme-color--brand:hsla(0, 100%, 67%, 1);--theme-color--brand-shade:hsla(0, 100%, 67%, 0.375);--theme-color--accent:hsl(146, 100%, 46%);--theme-color--accent-shade:hsla(146, 100%, 46%, 0.5);--theme-color--pop:hsla(262, 100%, 62%, 1);--theme-color--pop-shade:hsla(262, 100%, 62%, 0.375);--hue:260;--sat:35%;--lum:90%;--alpha:0.95;--hsl:var(--hue), var(--sat), var(--lum);--theme-color--paper:hsla(
    var(--hue),
    calc(var(--sat) * 1.2),
    calc(var(--lum) * 1.06),
    var(--alpha)
  );--theme-color--ink:hsla(
    var(--hue),
    calc(var(--sat) * 2.2),
    calc(var(--lum) * 0.3),
    var(--alpha)
  );--theme-color--ink-fade:hsla(
    var(--hue),
    calc(var(--sat) * 2.2),
    calc(var(--lum) * 0.3),
    calc(var(--alpha) * 0.3)
  );--theme-color--paper-fade:hsla(
    var(--hue),
    calc(var(--sat) * 1.2),
    calc(var(--lum) * 1.06),
    0.9
  );--theme-color--contrast-max:hsl(
    var(--hue),
    calc(var(--sat) / 100),
    calc(var(--lum) * 2) var(--alpha)
  );--theme-color--block:hsla(var(--hsl), var(--alpha));--theme-color--outline:hsl(var(--hsl), 1);--theme-color--backdrop-from:hsla(var(--hsl), 0.25);--theme-color--backdrop-to:hsla(var(--hsl), 0.2);--theme-color--good:var(--theme-color--accent-shade);--theme-color--bad:var(--theme-color--brand-shade)}@media(min-width:1280px){.is-none--gt-container{display:none}}@media(max-width:1280px){.is-none--lt-container{display:none}}.is-problem{font-weight:bolder}.is-visible{clip:auto;height:auto;margin:0;overflow:visible;position:static;white-space:normal;width:auto}