﻿*,*::before,*::after{box-sizing:border-box}ul[class],ol[class]{padding:0}body,h1,h2,h3,h4,p,ul[class],ol[class],figure,blockquote,dl,dd{margin:0}html{scroll-behavior:smooth}body{min-height:100vh;scroll-behavior:smooth;text-rendering:optimizeSpeed;line-height:1.5}ul[class],ol[class]{list-style:none}a:not([class]){text-decoration-skip-ink:auto}img{max-width:100%;display:block}article>*+*{margin-top:1em}input,button,textarea,select{font:inherit}:root{--font-base: collier, serif;--font-sans: collier-black, sans-serif;--size-base: 1rem;--size-300: calc(var(--size-base) * 0.75);--size-400: var(--size-base);--size-500: calc(var(--size-base) * 1.33);--size-600: calc(var(--size-base) * 1.77);--size-700: calc(var(--size-base) * 2.36);--size-800: calc(var(--size-base) * 3.15);--size-900: calc(var(--size-base) * 4.2);--size-major: calc(var(--size-base) * 5.6);--flow-space: var(--size-800);--dark-primary: #453757;--dark-shade: #232026;--dark: rgb(65, 61, 71);--dark-glare: #4f4957;--light-shade: rgb(135, 132, 138);--light: rgb(159, 156, 163);--light-glare: rgb(232, 232, 232);--primary-shade: #863ae9;--primary: #9f63ee;--primary-glare: #c8a6f5;--secondary-shade: rgb(184, 20, 178);--secondary: rgb(232, 137, 229);--secondary-glare: rgb(255, 189, 253);--tertiary-shade: rgb(224, 148, 25);--tertiary: rgb(232, 181, 100);--tertiary-glare: rgb(255, 228, 184)}:root{--color-toggle-day: var(--light-glare);--color-toggle-night: var(--dark);--color-bg: var(--light-glare);--color-site-title: var(--dark-glare);--color-subtitle: var(--primary);--color-title: var(--dark);--color-heading: var(--dark-glare);--color-text: var(--dark-glare);--color-text-shadow: var(--primary-shade);--color-em: var(--dark);--color-anchor-decoration: var(--primary);--color-anchor-decoration-hover: var(--dark-glare);--color-anchor-text-hover: var(--primary-shade);--color-focus: var(--primary);--color-selection-text: var(--light-glare);--color-selection-bg: var(--dark-shade);--color-form-bg: #fff;--color-form-text: var(--dark-shade);--color-form-label: var(--light-shade);--color-form-line: var(--dark-shade);--color-form-placeholder: var(--dark-shade);--color-form-abbr: var(--primary-shade);--color-button-bg: var(--dark-primary);--color-button-shadow: var(--primary-shade);--color-button-text: var(--light-glare);--color-button-hover-bg: var(--primary-shade);--color-button-hover-shadow: var(--dark-primary);--color-button-hover-text: var(--light-glare);--color-quote-mark: var(--primary-shade);--color-table-border: var(--dark-glare);--color-graph-bg: #fff;--color-primary-key: var(--primary);--color-secondary-key: var(--light-shade);--color-block-bg: #fff;--little-journey: var(--dark-shade);--wcb-bg: var(--primary);--wcb-text: var(--light-glare);--blob1: var(--primary);--blob2: var(--secondary);--blob3: var(--tertiary);--icons: var(--primary);--borders: var(--primary)}@media(prefers-color-scheme: dark){:root{--color-mode: 'dark'}:root:not([data-user-color-scheme]){--color-mode: dark;--color-bg: var(--dark);--color-site-title: var(--light);--color-subtitle: var(--primary-glare);--color-title: var(--light-glare);--color-heading: var(--light);--color-text: var(--light-glare);--color-text-shadow: var(--primary-glare);--color-em: var(--light-glare);--color-anchor-decoration: var(--primary-glare);--color-anchor-decoration-hover: var(--light-glare);--color-anchor-text-hover: var(--primary-glare);--color-focus: var(--primary-glare);--color-selection-text: var(--dark-shade);--color-selection-bg: var(--light-glare);--color-form-bg: var(--dark-shade);--color-form-text: var(--light-glare);--color-form-label: var(--light);--color-form-line: var(--light);--color-form-placeholder: var(--light-shade);--color-form-abbr: var(--primary-glare);--color-button-bg: var(--dark-shade);--color-button-shadow: var(--primary-glare);--color-button-text: var(--light-glare);--color-button-hover-bg: var(--primary-glare);--color-button-hover-shadow: var(--dark-shade);--color-button-hover-text: var(--dark-shade);--color-quote-mark: var(--primary-glare);--color-table-border: var(--light-shade);--color-graph-bg: var(--dark-glare);--color-primary-key: var(--primary-glare);--color-secondary-key: var(--light-shade);--color-block-bg: var(--dark-shade);--little-journey: var(--light-glare);--wcb-bg: var(--primary-glare);--wcb-text: var(--dark-shade);--blob1: var(--primary-glare);--blob2: var(--secondary-glare);--blob3: var(--tertiary-glare);--icons: var(--primary-glare);--borders: var(--primary-glare)}}[data-user-color-scheme=dark]{--color-mode: dark;--color-bg: var(--dark);--color-site-title: var(--light);--color-subtitle: var(--primary-glare);--color-title: var(--light-glare);--color-heading: var(--light);--color-text: var(--light-glare);--color-text-shadow: var(--primary-glare);--color-em: var(--light-glare);--color-anchor-decoration: var(--primary-glare);--color-anchor-decoration-hover: var(--light-glare);--color-anchor-text-hover: var(--primary-glare);--color-focus: var(--primary-glare);--color-selection-text: var(--dark-shade);--color-selection-bg: var(--light-glare);--color-form-bg: var(--dark-shade);--color-form-text: var(--light-glare);--color-form-label: var(--light);--color-form-line: var(--light);--color-form-placeholder: var(--light-shade);--color-form-abbr: var(--primary-glare);--color-button-bg: var(--dark-shade);--color-button-shadow: var(--primary-glare);--color-button-text: var(--light-glare);--color-button-hover-bg: var(--primary-glare);--color-button-hover-shadow: var(--dark-shade);--color-button-hover-text: var(--dark-shade);--color-quote-mark: var(--primary-glare);--color-table-border: var(--light-shade);--color-graph-bg: var(--dark-glare);--color-primary-key: var(--primary-glare);--color-secondary-key: var(--light-shade);--color-block-bg: var(--dark-shade);--little-journey: var(--light-glare);--wcb-bg: var(--primary-glare);--wcb-text: var(--dark-shade);--blob1: var(--primary-glare);--blob2: var(--secondary-glare);--blob3: var(--tertiary-glare);--icons: var(--primary-glare);--borders: var(--primary-glare)}body{overflow-x:hidden;width:100%;font-family:var(--font-base);font-size:var(--size-500);line-height:1.5;color:var(--color-text);background-color:var(--color-bg)}h1,h2,h3,h4{font-family:var(--font-sans);font-weight:900;line-height:1.1}h1,h2,h3,h3 .emoji,p,nav a,blockquote,.pullquote,.breadcrumb{font-size:clamp(var(--fluid-type-min, 1.1rem),1rem + var(--fluid-type-target, 3vw),var(--fluid-type-max, 1.4rem))}h1{--fluid-type-min: 2.5rem;--fluid-type-max: 3.5rem;--fluid-type-target: 5vw}h2{--fluid-type-min: 2rem;--fluid-type-max: 3rem;color:var(--color-title)}h3{--fluid-type-min: 1.5rem;--fluid-type-max: 2.5rem;color:var(--color-heading)}h3 .emoji{--fluid-type-min: 1rem;--fluid-type-max: 2rem}h1{max-width:58rem}h2,h3{max-width:50rem}p{max-width:53ch}nav a{--fluid-type-min: 0.7rem;--fluid-type-max: 1.1rem;--fluid-type-target: 0.8vw}strong{color:var(--color-anchor-decoration);font-style:italic}em{font-weight:900;color:var(--color-em)}main li{max-width:40ch}input[type=checkbox]{transform:scale(1.5);margin-right:.9rem}a{color:currentColor;text-decoration-color:var(--color-anchor-decoration);text-decoration-thickness:.15rem}a:hover{color:var(--color-anchor-text-hover);text-decoration-color:var(--color-anchor-decoration-hover)}a{text-underline-offset:4px}.card-heading a{text-decoration:none}blockquote{margin:var(--size-major) 0;padding:1rem 0;border-inline-start:1rem solid var(--color-primary-key);padding-inline-start:var(--size-600);font-style:italic}.site-wrap{position:relative;max-width:80rem;margin:0 auto;padding-left:clamp(15px,8.4%,110px);padding-right:clamp(15px,8.4%,110px);overflow:hidden}main section{padding-bottom:2rem}figure{position:relative}figcaption.absolute-caption-white{position:absolute;color:var(--light-glare)}figcaption{font-size:var(--size-400);margin-top:var(--size-300);max-width:30ch}.visually-hidden,.skip-link:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}.flow>*+*{margin-top:var(--flow-space, var(--size-600))}.flow-space-300{--flow-space: var(--size-300)}.flow-space-400{--flow-space: var(--size-400)}.flow-space-500{--flow-space: var(--size-500)}.flow-space-600{--flow-space: var(--size-600)}.flow-space-700{--flow-space: var(--size-700)}.flow-space-800{--flow-space: var(--size-800)}.flow-space-900{--flow-space: var(--size-900)}.flow-space-major{--flow-space: var(--size-major)}.panel{margin:var(--size-700) 0;padding:var(--size-700) 0}@media(min-width: 37em){.panel{margin:var(--size-800) 0;padding:var(--size-800) 0}}.wrapper{max-width:70rem;margin-left:auto;margin-right:auto;position:relative}.headline{font-size:var(--size-700);max-width:18ch}@media(min-width: 37em){.headline{font-size:var(--size-800)}}@media(min-width: 62em){.headline{font-size:var(--size-900)}}.ds-wrapper{pointer-events:none;position:fixed;top:0;opacity:.2;z-index:-1;width:100%;display:none;justify-content:center}.ds-wrapper .ds-inner{display:flex;flex-direction:column;width:100%;max-width:80rem}.ds-wrapper .ds-inner .ds-desktop{display:none}@media screen and (min-width: 790px){.ds-wrapper .ds-inner .ds-desktop{display:block}.ds-wrapper .ds-inner .ds-mobile{display:none}}.ds-wrapper .ds-inner img{width:100%}.ds-wrapper.active{display:flex}.ds-wrapper.active:after{content:""}.auto-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(var(--auto-grid-min-size, 25rem), 1fr));grid-gap:var(--auto-grid-gap, var(--size-900))}.font-base{font-family:var(--font-base)}.font-sans{font-family:var(--font-sans)}.weight-normal{font-weight:600}.weight-bold{font-weight:800}.text-300{font-size:var(--size-300)}.text-400{font-size:var(--size-400)}.text-500{font-size:var(--size-500)}.text-600{font-size:var(--size-600)}.text-700{font-size:var(--size-700)}.text-800{font-size:var(--size-800)}.text-900{font-size:var(--size-900)}.text-major{font-size:var(--size-major)}.measure-micro{max-width:10ch}.measure-compact{max-width:30ch}.measure-short{max-width:40ch}.measure-long{max-width:65ch}.gap-top-300{margin-top:var(--size-300)}.gap-top-400{margin-top:var(--size-400)}.gap-top-500{margin-top:var(--size-500)}.gap-top-600{margin-top:var(--size-600)}.gap-top-700{margin-top:var(--size-700)}.gap-top-800{margin-top:var(--size-800)}.gap-top-900{margin-top:var(--size-900)}.gap-top-major{margin-top:var(--size-major)}.flex{display:flex}.anchor-external::after{content:"";display:inline-block;width:12px;height:12px;transform:translateY(-50%);margin-left:5px;background-color:currentColor;-ms-mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path d="M0,0V36H36V27H31.5v4.5H4.5V4.5H9V0ZM18,0l6.75,6.75L13.5,18,18,22.5,29.25,11.25,36,18V0Z"/></svg>');-o-mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path d="M0,0V36H36V27H31.5v4.5H4.5V4.5H9V0ZM18,0l6.75,6.75L13.5,18,18,22.5,29.25,11.25,36,18V0Z"/></svg>');-webkit-mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path d="M0,0V36H36V27H31.5v4.5H4.5V4.5H9V0ZM18,0l6.75,6.75L13.5,18,18,22.5,29.25,11.25,36,18V0Z"/></svg>');mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path d="M0,0V36H36V27H31.5v4.5H4.5V4.5H9V0ZM18,0l6.75,6.75L13.5,18,18,22.5,29.25,11.25,36,18V0Z"/></svg>');background-repeat:no-repeat;background-size:contain}.li-img{margin-left:3rem}.content-width{max-width:53ch}.note{font-style:italic;opacity:.8}.award-winning{position:relative}.award-winning::after{content:url("/../images/works/icons/award-ribbon.svg");width:150px;height:150px;position:absolute;top:-35px;left:-35px}::selection{color:var(--color-selection-text);background:var(--color-selection-bg)}:focus{outline:2px dashed var(--color-focus);outline-offset:.25rem}main:focus{outline:none}@media(prefers-reduced-motion: reduce){*{animation-duration:.01s !important;animation-iteration-count:1 !important;transition-duration:.01s !important;scroll-behavior:auto !important}}.theme-toggle{display:flex;justify-content:flex-end;margin:var(--size-500) 0}.theme-toggle button,.theme-toggle svg{height:8vw;width:12vw;min-height:1.8rem;min-width:2.8rem;max-height:2rem;max-width:3.5rem}.theme-toggle button{background:rgba(0,0,0,0);border:none;transform:none;padding:0;z-index:100;position:relative}.theme-toggle button:hover{background:none !important;cursor:pointer}.theme-toggle svg{position:absolute}.theme-toggle svg .smnight{fill:var(--color-toggle-night)}.theme-toggle svg .smday{fill:var(--color-toggle-day)}.button{display:inline-block;padding:1rem 2.5rem;background:var(--color-button-bg);box-shadow:10px 10px 0 var(--color-button-shadow);color:var(--color-button-text);text-decoration:none;text-align:center;border:none;width:max-content;transition:all .3s ease;font-family:var(--font-sans);font-weight:800}.button:hover{background:var(--color-button-hover-bg) !important;box-shadow:5px 5px 0 var(--color-button-hover-shadow) !important;color:var(--color-button-hover-text) !important;cursor:pointer}.button[data-variant=ghost]{background:rgba(0,0,0,0);color:var(--primary-glare)}.skip-link{position:absolute;top:var(--size-400);left:var(--size-400);z-index:99}.site-head{padding-top:var(--size-500);padding-bottom:var(--size-500)}.site-head h1.title-text{fill:currentColor;width:100%;max-width:100%;position:relative}.site-head h1.title-text svg{width:auto;color:var(--color-site-title);position:relative;margin-left:-8.4%;margin-right:-8.4%}@media screen and (min-width: 790px){.site-head h1.title-text svg{margin:0}}.nav{display:flex;justify-content:flex-end}.nav__list{display:flex;flex-wrap:wrap;justify-content:flex-end}.nav__list>*{padding-top:var(--size-300);padding-inline-start:var(--size-600)}.nav a{text-decoration:none;display:block;position:relative}.nav a[data-state=active]::before,.nav a[aria-current=page]::before{content:"";display:block;width:100%;height:.17rem;position:absolute;top:100%;left:0;background:var(--color-anchor-decoration)}.nav a[data-state=active]:hover::before,.nav a[aria-current=page]:hover::before{background:var(--color-text)}.nav-page ul{padding:0;display:flex}.nav-page ul li{list-style:none;margin-right:2rem}.nav-page ul li a{--fluid-type-max: 1.2rem}.site-foot{padding:var(--size-major) 0 var(--size-400);margin-top:var(--size-900);text-align:center}.site-foot__brand svg{width:35px}.site-foot .nav{justify-content:center;margin:1rem 0}.site-foot .nav .nav-list{display:flex;flex-wrap:wrap}.site-foot .nav .nav-list li{margin:0 .5rem}.site-foot .nav .nav-list li a{font-size:var(--size-400)}.site-foot p{font-size:var(--size-400);margin:var(--size-300) auto;color:var(--color-heading)}.site-foot p a.email,.site-foot p a.phone{text-decoration:none}.site-foot p a.email:hover,.site-foot p a.phone:hover{color:var(--color-anchor-text-hover)}.site-foot p .footer-icon{width:16px;height:16px;fill:currentColor;vertical-align:middle}.site-foot p .email-icon{margin-right:5px}.site-foot .site-info{margin-top:var(--size-700)}.site-foot .carbonbadge{margin-top:3rem}.site-foot #wcb #wcb_g{border:.13em solid var(--color-anchor-decoration);background:var(--color-form-bg)}.site-foot #wcb.carbonbadge{color:var(--color-text)}.site-foot #wcb #wcb_a{background:var(--wcb-bg);border-color:var(--wcb-bg);color:var(--wcb-text)}.tags-list{display:flex;flex-wrap:wrap;align-items:flex-start}.tags-list[class]{margin-inline-start:calc(-1*var(--size-400))}.tags-list>*{padding-top:var(--size-400);padding-inline-start:var(--size-400)}.player-wrapper{max-width:637px !important;width:100%;margin-bottom:var(--flow-space)}.player-wrapper .responsive-iframe{position:relative;padding-bottom:56.25%;height:0;overflow:hidden}.player-wrapper .responsive-iframe iframe{position:absolute;top:0;left:0;width:100%;height:100%}.accordion:after{content:"+";margin-left:15px}.active:after{content:"−"}pre{white-space:pre-wrap;white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word}.code-block{background:#2c313c;color:#d7dae0;border-radius:.5rem;box-shadow:0 0 1rem rgba(0,0,0,.08);padding:clamp(1.1rem,1rem + 3vw,1.4rem);position:relative;overflow:hidden}.code-block__header{position:absolute;top:1rem;right:1rem;display:inline-flex;font-size:clamp(.88rem,.83rem + .24vw,1rem);line-height:1.1;z-index:1}.code-block .code-tag{color:hsl(355,75%,65%)}.code-block .attribute-name,.code-block .css-value{color:hsl(29,62%,60%)}.code-block .attribute-detail{color:hsl(95,46%,60%)}.code-block .css-important{color:#c678dd}.code-block .css-function{color:#4ca1ab}.code-block .comment{color:#7f848e}code.inline-code{background:#2c313c;padding:1px 10px 3px;color:#d7dae0;border-radius:.5rem;box-shadow:0 0 1rem rgba(0,0,0,.08)}
