:root{--size-content-1:20ch;--size-content-2:45ch;--layer-important:2147483647;--layer-5:5}@font-face{font-display:swap;font-family:"Bridge Text";font-style:normal;font-weight:400;src:url(https://static.owlish.dev/fonts/bridge-subset/BridgeText-Regular-kern-latin.woff2) format("woff2"),url(https://static.owlish.dev/fonts/bridge-subset/BridgeText-Regular-kern-latin.woff) format("woff")}@font-face{font-display:swap;font-family:"Bridge Text";font-style:normal;font-weight:700;src:url(https://static.owlish.dev/fonts/bridge-subset/BridgeText-Bold-kern-latin.woff2) format("woff2"),url(https://static.owlish.dev/fonts/bridge-subset/BridgeText-Bold-kern-latin.woff) format("woff")}@font-face{font-display:swap;font-family:"LautsprecherDJR";font-style:normal;font-weight:700;src:url(https://static.owlish.dev/fonts/lautsprecher-subset/LautsprecherDJR-kern-latin.woff2) format("woff2"),url(https://static.owlish.dev/fonts/lautsprecher-subset/LautsprecherDJR-kern-latin.woff) format("woff")}@font-face{font-display:swap;font-family:"LautsprecherDJR";font-style:normal;font-weight:400;src:url(https://static.owlish.dev/fonts/lautsprecher-subset/LautsprecherDJR-kern-latin.woff2) format("woff2"),url(https://static.owlish.dev/fonts/lautsprecher-subset/LautsprecherDJR-kern-latin.woff) format("woff")}*,:after,:before{box-sizing:border-box;color:inherit;font-family:inherit;font-size:inherit;margin:0;scroll-margin-block-end:calc(2*var(--layout-header-height));scroll-margin-block-start:calc(2*var(--layout-header-height))}@media (prefers-color-scheme:dark){:root:not([data-user-theme]) *,:root:not([data-user-theme]) :after,:root:not([data-user-theme]) :before{letter-spacing:.01em;word-spacing:.01em}}:root[data-user-theme=dark] *,:root[data-user-theme=dark] :after,:root[data-user-theme=dark] :before{letter-spacing:.01em;word-spacing:.01em}::selection{background-color:var(--clr-accent);color:var(--clr-bg)}:focus{outline:2px solid var(--clr-accent);outline-offset:2px}@supports selector(:focus-visible){:focus:not(:focus-visible){outline:0}:focus-visible{outline:2px solid var(--clr-accent);outline-offset:2px}}:first-child{margin-block-start:0}:last-child{margin-block-end:0}html{font-family:var(--fonts-main);font-size:100%;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{background-color:var(--clr-bg);color:var(--clr-fg);min-height:100vh;width:100%}main{display:block}:where(h1, h2, h3, h4){font-size:var(--step-2);line-height:1.2;margin:1.2em 0 .4em}.main-headline{color:var(--clr-accent);font-family:var(--fonts-secondary);font-size:var(--step-6)}.main-headline:first-child{margin-top:0}:is(.small-headline, .md-content h3),:is(.sub-headline, .md-content h2:not([class])){font-family:var(--fonts-headline);font-size:var(--step-4);font-weight:700}:is(.small-headline, .md-content h3){font-size:var(--step-2)}:is(p, li, .type-0){font-size:var(--step-0);line-height:1.6}:is(small, .type--1){font-size:var(--step--1)}.type-is-aside{color:var(--clr-discreet);font-size:var(--step--1)}:where(.md-content > :is(h2, h3, h4, p)):target{background-image:linear-gradient(-100deg,rgba(255,224,0,.13),rgba(255,224,0,.24)85%,rgba(255,224,0,.09));border-radius:.25em}:where(abbr, .type-all-small-caps){font-size:80%;letter-spacing:.05em;text-transform:uppercase;word-spacing:.05em}@supports (font-variant-caps:all-small-caps){:where(abbr, .type-all-small-caps){font-size:inherit;font-variant-caps:all-small-caps;text-transform:none}}:where(.type-small-caps){font-size:inherit;font-variant-caps:small-caps;text-transform:none}:where(s){text-decoration-color:var(--clr-accent);text-decoration-thickness:.1em}.t-content-1{width:var(--size-content-1)}.t-content-2{max-inline-size:var(--size-content-2)}.t-content-wide{margin-inline-end:auto;margin-inline-start:auto;max-inline-size:calc(3*var(--size-content-2))}.t-center{text-align:center}.t-end{text-align:end}:where(picture){display:contents}:where(source){display:none}:where(img){display:inline-block;height:auto;-o-object-fit:cover;object-fit:cover;width:100%}:any-link{color:var(--clr-accent);text-decoration:underline}:any-link:focus,:any-link:hover{text-decoration:none}.skip-link{background-color:var(--clr-bg);border:1px solid var(--clr-accent);color:var(--clr-accent);left:0;padding:var(--space-s);position:absolute;top:0;transform:translate(-500%);z-index:var(--layer-important)}@media (prefers-reduced-motion:no-preference){.skip-link{transition:transform .2s ease-out}}.skip-link:focus{transform:translate(0)}.base-icon{display:inline-block;fill:currentColor;vertical-align:baseline}.base-icon:not(:last-child){margin-right:.25rem}.pill{border:1px solid var(--clr-discreet);border-radius:.25em;padding:.25em}.pill.-p-dark{background-color:var(--clr-dark);color:var(--clr-light)}.pill.-p-light{background-color:var(--clr-light);color:var(--clr-dark)}.pill.-p-accent{background-color:var(--clr-bg);color:var(--clr-accent)}.icon-button{display:inline-grid;gap:var(--space-2xs);grid-template-columns:1rem 1fr}.switch-button{margin:2vmin 0}.switch-button__label{display:block}.switch-button__button{-webkit-appearance:none;appearance:none;background-color:transparent;border:0;padding:.25em .5em}.switch-button__button[aria-checked=true] .switch-button__text.-checked{font-weight:700}.switch-button__button[aria-checked=true] .switch-button__text.-unchecked{opacity:.75;transform:scale(.8)}.switch-button__button[aria-checked=false] .switch-button__text.-unchecked{font-weight:700}.switch-button__button[aria-checked=false] .switch-button__text.-checked{opacity:.75;transform:scale(.8)}.switch-button__text{transition:transform .2s ease-out}.switch-button__text+.switch-button__text{margin-left:.5em}.switch-button__clear{display:flex}hr{background-color:var(--clr-main);background-image:linear-gradient(to right,var(--clr-bg),var(--clr-accent-light),var(--clr-bg));border:0;height:.125rem;margin-bottom:2vmin;margin-top:2vmin}:where(ul[role='list'], ul[class], ol[class]){list-style:none;padding:0}.inline-list li{display:inline}.inline-list li:not(:last-child)::after{content:var(--list-separator, ' • ')}.breadcrumb-list a{font-size:var(--step--1);text-decoration:none}:is(.breadcrumb-list a:hover){text-decoration:none}.breadcrumb-list a[aria-current=page]{font-weight:700}.cta-banner{--clr-count:8;--to-percentage:100%;background-color:var(--clr-dark);background-image:linear-gradient(270deg,black 0%calc(1/var(--clr-count)*var(--to-percentage)),var(--clr-brown) calc(1/var(--clr-count)*var(--to-percentage)) calc(2/var(--clr-count)*var(--to-percentage)),var(--clr-red) calc(2/var(--clr-count)*var(--to-percentage)) calc(3/var(--clr-count)*var(--to-percentage)),var(--clr-orange) calc(3/var(--clr-count)*var(--to-percentage)) calc(4/var(--clr-count)*var(--to-percentage)),var(--clr-yellow) calc(4/var(--clr-count)*var(--to-percentage)) calc(5/var(--clr-count)*var(--to-percentage)),var(--clr-green) calc(5/var(--clr-count)*var(--to-percentage)) calc(6/var(--clr-count)*var(--to-percentage)),var(--clr-blue) calc(6/var(--clr-count)*var(--to-percentage)) calc(7/var(--clr-count)*var(--to-percentage)),var(--clr-purple) calc(7/var(--clr-count)*var(--to-percentage)) calc(8/var(--clr-count)*var(--to-percentage)));height:.5rem}.site-header{background-color:var(--clr-bg);border-bottom:1px solid var(--clr-main-light);overflow:hidden;position:relative;z-index:var(--layer-5)}.site-header__inner{align-items:center;display:flex;flex-flow:row wrap;margin-inline:auto;max-width:var(--content-width-large);padding:0 var(--padding-base)}.site-header__inner>*{display:flex}.site-header__logo{flex:0 0 33%;height:100%;margin-right:var(--space-l);max-width:100px;padding:calc(.5*var(--padding-base))0;width:33%}.site-header__logo>svg{width:100%}.vertical-nav>ul li+li{margin-top:.5rem}.vertical-nav__link{align-items:center;display:flex;text-decoration:none}.vertical-nav__link::before{background-position:center;background-repeat:no-repeat;background-size:contain;content:"";display:inline-block;height:var(--space-s);margin-right:var(--space-2xs);width:var(--space-s)}.vertical-nav__link.-is-mastodon::before{background-image:url(/img/mastodon-gradient.svg)}.vertical-nav__link.-is-github::before{background-image:url(/img/github-red.png)}.site-footer{display:flex;flex-flow:row wrap;gap:var(--padding-base);margin-inline:auto;margin-top:calc(3*var(--padding-base));max-width:var(--content-width-large);padding-bottom:calc(2*var(--padding-base));padding-inline:var(--padding-base)}.site-footer>*{flex:0 1 var(--footer-flex-base, max-content)}.site-footer .breadcrumbs{flex:0 0 100%}.breadcrumb-list a[aria-current=page],.site-footer .nav__link.-is-active{font-style:italic;letter-spacing:.01em;word-spacing:.01em}.site-nav{align-self:stretch;min-height:var(--layout-header-height);overflow:hidden}.site-nav>ul{align-items:center;display:flex;gap:var(--space-s)}.nav__link.-is-active{font-weight:700;text-decoration:none}.site-nav li{--nav-highlight-owl:url('/img/nav/owl-01.webp');display:contents}.site-nav li:nth-of-type(2){--nav-highlight-owl:url('/img/nav/owl-02.webp')}.site-nav li:nth-of-type(3){--nav-highlight-owl:url('/img/nav/owl-03.webp')}.site-nav li:nth-of-type(4){--nav-highlight-owl:url('/img/nav/owl-04.webp')}.site-nav .nav__link{--highlight-skew:7deg;--highlight-y-transform:-50%;align-items:center;display:inline-flex;height:100%;position:relative;text-decoration:none;white-space:nowrap;z-index:1}@media (prefers-reduced-motion:no-preference){.site-nav .nav__link{transition:transform .2s ease-out}}.site-nav .nav__link::after{backface-visibility:hidden;background-position:bottom center;background-repeat:no-repeat;background-size:contain;content:"";display:inline-block;height:2rem;left:0;position:absolute;top:100%;transform-origin:center bottom;transition:inherit;width:100%;z-index:-1}:where(.site-nav .nav__link:hover,.site-nav .nav__link:focus,.site-nav .nav__link.-is-active){transform:skewY(calc(-1*var(--highlight-skew)))}:where(.site-nav .nav__link:hover,.site-nav .nav__link:focus,.site-nav .nav__link.-is-active)::after{background-image:var(--nav-highlight-owl);transform:translateY(var(--highlight-y-transform)) skewY(var(--highlight-skew))}.site-nav .nav__link.-is-active::after{--highlight-y-transform:-80%}@supports (color:var(--clr)){.u-floral-heart-gradient{--fleuron-bottom-offset:0.76rem;--fleuron-size:var(--space-s);--gradient-size:calc(50% - 2 * var(--fleuron-size)) 0.125rem;--gradient-bottom-offset:calc(100% - 1.2rem);background-image:linear-gradient(to right,var(--clr-bg),var(--clr-accent-light),var(--clr-accent-dark)),var(--layout-fleuron),linear-gradient(to right,var(--clr-accent-dark),var(--clr-accent-light),var(--clr-bg));background-position:0 var(--gradient-bottom-offset),center calc(100% - var(--fleuron-bottom-offset)),100%var(--gradient-bottom-offset);background-repeat:no-repeat;background-size:var(--gradient-size),var(--fleuron-size),var(--gradient-size)}}.u-has-fleuron{--fleuron-size:var(--space-s);background-image:var(--layout-fleuron);background-position:center calc(100% - var(--fleuron-size));background-repeat:no-repeat;background-size:var(--fleuron-size);padding-bottom:calc(3*var(--fleuron-size))}.u-global-padding{padding-left:var(--padding-base)!important;padding-right:var(--padding-base)!important}.ds-inline-flex{display:inline-flex}.u-center{align-items:center}[hidden]{display:none!important}.sr-only:not(:focus):not(:active){clip:rect(0 0 0 0);-webkit-clip-path:inset(100%);clip-path:inset(100%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}@media (prefers-reduced-motion:reduce){*{animation-duration:.0001ms!important;transition:none!important}}