@layer reset{legend{float:left;width:100%;margin:0;padding:0;display:table}legend+*{clear:both}fieldset{border:0;min-width:0;margin:0;padding:.01em 0 0}body:not(:-moz-handler-blocked) fieldset{display:table-cell}:where(:not(html,iframe,canvas,img,svg,video,audio):not(svg *,symbol *)){all:unset;display:revert}*,:before,:after{box-sizing:border-box}a,button{cursor:revert}ol,ul,menu{list-style:none}img{max-height:100%;max-width:100%}table{border-collapse:collapse}input,textarea{-webkit-user-select:auto}textarea{white-space:revert}meter{-webkit-appearance:revert;appearance:revert}:where(pre){all:revert}::placeholder{color:unset}::marker{content:initial}:where([hidden]){display:none}:where([contenteditable]:not([contenteditable=false])){-moz-user-modify:read-write;-webkit-user-modify:read-write;overflow-wrap:break-word;-webkit-line-break:after-white-space;-webkit-user-select:auto}:where([draggable=true]){-webkit-user-drag:element}:where(dialog:modal){all:revert}}@font-face{font-family:ITC Franklin Gothic;src:local(ITC Franklin Gothic),url(/assets/fonts/ITC-Franklin-Gothic_Book.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap;font-feature-settings:"kern" 1,"pnum" 1}@font-face{font-family:ITC Franklin Gothic;src:local(ITC Franklin Gothic),url(/assets/fonts/ITC-Franklin-Gothic_Italic.woff2)format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:ITC Franklin Gothic;src:local(ITC Franklin Gothic),url(/assets/fonts/ITC-Franklin-Gothic_Medium.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap;font-feature-settings:"kern" 1}@font-face{font-family:ITC Franklin Gothic;src:local(ITC Franklin Gothic),url(/assets/fonts/ITC-Franklin-Gothic_Medium-Italic.woff2)format("woff2");font-weight:500;font-style:italic;font-display:swap}@font-face{font-family:ITC Franklin Gothic;src:local(ITC Franklin Gothic),url(/assets/fonts/ITC-Franklin-Gothic_Demi.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap;font-feature-settings:"kern" 1}@font-face{font-family:ITC Franklin Gothic;src:local(ITC Franklin Gothic),url(/assets/fonts/ITC-Franklin-Gothic_Demi-Italic.woff2)format("woff2");font-weight:600;font-style:italic;font-display:swap}:root{--color-text-primary-on-light:#282010f2;--color-text-secondary-on-light:#474747;--color-text-tertiary-on-light:#6b6b6b;--color-text-quaternary-on-light:#b3b3b3;--color-border-primary-on-light:var(--color-text-primary);--color-border-secondary-on-light:#e0e0e0;--color-background-on-light:white;--color-background-highlight-on-light:#f9f9f9;--color-swatch-highlight-on-light:#ffefd6;--color-swatch-code-on-light:#f5f2f0;--color-filter-on-light:brightness(.95)contrast(1.05);--color-text-primary-on-dark:#f3ffa6;--color-text-secondary-on-dark:#f3ffa6;--color-text-tertiary-on-dark:#f3ffa687;--color-text-quaternary-on-dark:#f3ffa687;--color-border-primary-on-dark:var(--color-text-primary);--color-border-secondary-on-dark:#f3ffa683;--color-background-on-dark:#161a0d;--color-background-highlight-on-dark:#f3ffa61a;--color-swatch-highlight-on-dark:#f3ffa60d;--color-swatch-code-on-dark:var(--color-background-highlight-on-dark);--color-filter-on-dark:brightness(.85)contrast(1);--color-mode:"light";--color-background:var(--color-background-on-light);--color-background-highlight:var(--color-background-highlight-on-light);--color-text-primary:var(--color-text-primary-on-light);--color-text-secondary:var(--color-text-secondary-on-light);--color-text-tertiary:var(--color-text-tertiary-on-light);--color-text-quaternary:var(--color-text-quaternary-on-light);--color-border-primary:var(--color-border-primary-on-light);--color-border-secondary:var(--color-border-secondary-on-light);--color-swatch-highlight:var(--color-swatch-highlight-on-light);--color-swatch-code:var(--color-swatch-code-on-light);--color-filter:var(--color-filter-on-light)}@media (prefers-color-scheme:dark){:root{--color-mode:"dark"}:root:not([data-user-color-scheme]){--color-background:var(--color-background-on-dark);--color-background-highlight:var(--color-background-highlight-on-dark);--color-text-primary:var(--color-text-primary-on-dark);--color-text-secondary:var(--color-text-secondary-on-dark);--color-text-tertiary:var(--color-text-tertiary-on-dark);--color-text-quaternary:var(--color-text-quaternary-on-dark);--color-border-primary:var(--color-border-primary-on-dark);--color-border-secondary:var(--color-border-secondary-on-dark);--color-swatch-highlight:var(--color-swatch-highlight-on-dark);--color-swatch-code:var(--color-swatch-code-on-dark);--color-filter:var(--color-filter-on-dark)}}[data-user-color-scheme=dark]{--color-background:var(--color-background-on-dark);--color-background-highlight:var(--color-background-highlight-on-dark);--color-text-primary:var(--color-text-primary-on-dark);--color-text-secondary:var(--color-text-secondary-on-dark);--color-text-tertiary:var(--color-text-tertiary-on-dark);--color-text-quaternary:var(--color-text-quaternary-on-dark);--color-border-primary:var(--color-border-primary-on-dark);--color-border-secondary:var(--color-border-secondary-on-dark);--color-swatch-highlight:var(--color-swatch-highlight-on-dark);--color-swatch-code:var(--color-swatch-code-on-dark);--color-filter:var(--color-filter-on-dark)}:root{--grid-max-width:1800px;--spacing-margin-x-md:1rem;--spacing-xs:1rem;--spacing-md:2.5rem;--spacing-lg:3.5rem;--stroke-thick:2px;--stroke-thin:1px;--grid-template-cols-main:repeat(4,1fr);--gap-sm:.5rem;--gap-md:2.5rem;--gap-lg:3.5rem}@media (min-width:1024px){:root{--gap-sm:1rem;--gap-md:5rem}}:root{--margin-x:1rem}@media (min-width:1024px){:root{--margin-x:2.5rem}}@media (min-width:1800px){:root{--margin-x:6rem}}:root{--margin-y:5rem;--spacing-margin-bottom:15rem}@media (min-width:1024px){:root{--margin-y:15rem}}:root{--space-3xs:clamp(.31rem,calc(.31rem + 0vw),.31rem);--space-2xs:clamp(.56rem,calc(.52rem + .21vw),.69rem);--space-xs:clamp(.88rem,calc(.83rem + .21vw),1rem);--space-s:clamp(1.13rem,calc(1.06rem + .31vw),1.31rem);--space-m:clamp(1.69rem,calc(1.58rem + .52vw),2rem);--space-l:clamp(2.25rem,calc(2.13rem + .63vw),2.63rem);--space-xl:clamp(3.38rem,calc(3.19rem + .94vw),3.94rem);--space-2xl:clamp(4.5rem,calc(4.25rem + 1.25vw),5.25rem);--space-3xl:clamp(6.75rem,calc(6.38rem + 1.88vw),7.88rem);--space-3xs-2xs:clamp(.31rem,calc(.19rem + .63vw),.69rem);--space-2xs-xs:clamp(.56rem,calc(.42rem + .73vw),1rem);--space-xs-s:clamp(.88rem,calc(.73rem + .73vw),1.31rem);--space-s-m:clamp(1.13rem,calc(.83rem + 1.46vw),2rem);--space-m-l:clamp(1.69rem,calc(1.38rem + 1.56vw),2.63rem);--space-l-xl:clamp(2.25rem,calc(1.69rem + 2.81vw),3.94rem);--space-xl-2xl:clamp(3.38rem,calc(2.75rem + 3.13vw),5.25rem);--space-2xl-3xl:clamp(4.5rem,calc(3.38rem + 5.63vw),7.88rem);--space-s-l:clamp(1.13rem,calc(.63rem + 2.5vw),2.63rem);--grid-max-width:114.19rem;--grid-gutter:var(--space-s-xl,clamp(1.13rem,calc(.53rem + 2.98vw),3.94rem));--grid-columns:12}.u-container{max-width:var(--grid-max-width);padding-inline:var(--grid-gutter);margin-left:auto;margin-right:auto}.u-grid{gap:var(--grid-gutter);display:grid}html{background-color:var(--color-background);transition:var(--transition-color-scheme)}.no-js .js-content{display:none}main{margin-left:var(--grid-gutter);margin-right:var(--grid-gutter)}img{background-color:var(--color-swatch-highlight);height:auto}.inner{max-width:var(--grid-max-width);gap:var(--grid-gutter);margin:auto;display:grid}@media (min-width:1024px){.inner{grid-template-columns:repeat(4,minmax(0,1fr))}}.inner>p{font-size:var(--step-1);letter-spacing:var(--letter-spacing-tight);margin-bottom:var(--space-xl);grid-column:span 4}@media (min-width:1024px){.inner>p{grid-column:span 2}}@media (min-width:1800px){.inner>p{grid-column:span 1}}.inner>*{grid-column:span 4}.inner>ul.tiled{gap:0 var(--grid-gutter);grid-template-rows:masonry;display:grid}@media (min-width:1024px){.inner>ul.tiled{grid-template-columns:repeat(4,minmax(0,1fr))}}.inner>ul.tiled>li{border-top:1px solid var(--color-border-secondary)}.inner>ul.tiled>li>a{padding:1.5rem 0;display:block}.inner>ul.tiled>li>a img{transition:transform .3s}.inner>ul.tiled>li>a:hover img{transform:scale(1.01)}.inner>ul.tiled>li>a h3{font-size:var(--step-0);line-height:var(--line-height-xtight)}.inner>ul.tiled>li>a p{font-size:var(--step--1);margin:1rem 0}.inner>ul.tiled>li>a .outbound{color:var(--color-text-secondary);font-size:var(--step--2)}.inner>ul.tiled>li>a .outbound:after{opacity:.6;position:relative;top:.1em}.inner>ul.tiled>li>a .outbound{text-underline-offset:1.5px;text-decoration:underline;-webkit-text-decoration-color:var(--color-border-secondary);text-decoration-color:var(--color-border-secondary)}@media (min-width:1024px){.inner>ul.tiled.notes>li{grid-column:span 2}}.inner>ul.tiled.notes>li>a>p{color:var(--color-text-tertiary);margin-top:.5rem}.inner>ul.tiled.notes>li.pinned>a>span{justify-content:space-between;align-items:center;gap:1rem;display:flex}.inner>ul.tiled.notes>li.pinned>a>span>svg{overflow:visible}.inner>ul.tiled.notes>li.pinned>a>span>svg>path{fill:var(--color-text-quaternary)}:root{--transition-color-scheme:background-color .25s ease-in-out,border .25s ease-in-out,box-shadow .25s ease-in-out,color .175s ease;--transition-text-opacity:opacity .3s ease;--text-opacity-hovered:.5;--fadein-duration:3s}@keyframes fadein{0%{opacity:0}to{opacity:1}}:root{--letter-spacing-wide:.1em;--letter-spacing-reg:-.005em;--letter-spacing-tight:-.02em;--letter-spacing-xtight:-.04em;--line-height-xwide:200%;--line-height-wide:176%;--line-height-reg:150%;--line-height-tight:135%;--line-height-xtight:110%;--line-height-single-line:100%;--font-size-sm:.875rem;--font-size-normal:1rem;--font-size-article:1.125rem;--para-gap-sm:.4375rem;--step--2:clamp(.74rem,calc(.8rem + -.07vw),.78rem);--step--1:clamp(.94rem,calc(.92rem + .08vw),.98rem);--step-0:clamp(1.13rem,calc(1.06rem + .31vw),1.31rem);--step-1:clamp(1.35rem,calc(1.22rem + .67vw),1.75rem);--step-2:clamp(1.62rem,calc(1.38rem + 1.19vw),2.33rem);--step-3:clamp(1.94rem,calc(1.56rem + 1.94vw),3.11rem);--step-4:clamp(2.33rem,calc(1.73rem + 3.02vw),4.14rem);--step-5:clamp(2.8rem,calc(1.89rem + 4.54vw),5.52rem)}body{color:var(--color-text-primary);font-family:ITC Franklin Gothic,system-ui,sans-serif}body h1>a{transition:var(--transition-text-opacity)}body h1>a:hover{opacity:var(--text-opacity-hovered)}body h2>a{transition:var(--transition-text-opacity)}body h2>a:hover{opacity:var(--text-opacity-hovered)}body p>a{transition:var(--transition-text-opacity)}body p>a:hover{opacity:var(--text-opacity-hovered)}body span>a{transition:var(--transition-text-opacity)}body span>a:hover{opacity:var(--text-opacity-hovered)}body li>a{transition:var(--transition-text-opacity)}body li>a:hover{opacity:var(--text-opacity-hovered)}body td>a{transition:var(--transition-text-opacity)}body td>a:hover{opacity:var(--text-opacity-hovered)}body sup>a{transition:var(--transition-text-opacity)}body sup>a:hover{opacity:var(--text-opacity-hovered)}body cite>a{transition:var(--transition-text-opacity)}body cite>a:hover{opacity:var(--text-opacity-hovered)}body .asset>a{transition:var(--transition-text-opacity)}body .asset>a:hover{opacity:var(--text-opacity-hovered)}body h1{font-weight:500;line-height:var(--line-height-xtight)}body h2{font-weight:500;line-height:var(--line-height-xtight)}body h3{font-weight:500;line-height:var(--line-height-xtight)}body h4{font-weight:500;line-height:var(--line-height-xtight)}body h5{font-weight:500;line-height:var(--line-height-xtight)}body h1{letter-spacing:var(--letter-spacing-xtight)}body h2{letter-spacing:var(--letter-spacing-tight)}body h3{letter-spacing:var(--letter-spacing-tight)}body h4{letter-spacing:var(--letter-spacing-tight)}body h5{letter-spacing:var(--letter-spacing-tight)}body p{letter-spacing:var(--letter-spacing-reg)}body dt{letter-spacing:var(--letter-spacing-reg)}body dd{letter-spacing:var(--letter-spacing-reg)}body ol{letter-spacing:var(--letter-spacing-reg)}body ul{letter-spacing:var(--letter-spacing-reg)}body figcaption{letter-spacing:var(--letter-spacing-reg)}body p>a{text-underline-offset:1.5px;text-decoration:underline;-webkit-text-decoration-color:var(--color-border-secondary);text-decoration-color:var(--color-border-secondary)}body figcaption>a{text-underline-offset:1.5px;text-decoration:underline;-webkit-text-decoration-color:var(--color-border-secondary);text-decoration-color:var(--color-border-secondary)}body figcaption>cite>a{text-underline-offset:1.5px;text-decoration:underline;-webkit-text-decoration-color:var(--color-border-secondary);text-decoration-color:var(--color-border-secondary)}body .asset>a{text-underline-offset:1.5px;text-decoration:underline;-webkit-text-decoration-color:var(--color-border-secondary);text-decoration-color:var(--color-border-secondary)}h2.small,h3.small,span.small,legend{text-transform:uppercase;font-feature-settings:"cpsp" 1;font-size:var(--step--2);letter-spacing:var(--letter-spacing-wide)}strong{font-weight:500}em{font-style:italic}s{text-decoration:line-through}legend{font-weight:500}sup,sub{vertical-align:baseline;font-size:smaller;position:relative}sup{font-feature-settings:"sups" 1;top:-.4em}sub{font-feature-settings:"subs" 1;top:.4em}.footnote-ref{background-color:var(--color-swatch-code);margin-left:.1em;padding:0 .1em}.rss{white-space:nowrap;font-size:var(--step--1);letter-spacing:var(--letter-spacing-reg);color:var(--color-text-tertiary)}.old-style{font-variant-numeric:oldstyle-nums}:is(.outbound,.locked):after{opacity:.75;content:"";background-color:var(--color-text-primary);width:12px;height:12px;padding-left:.1rem;display:inline-block;-webkit-mask-size:cover;mask-size:cover}.outbound:after{-webkit-mask:url(/assets/images/arrow-se.svg) 50% no-repeat;mask:url(/assets/images/arrow-se.svg) 50% no-repeat}.outbound.rss:after{position:relative;top:.12rem}.locked:after{margin-right:-.25rem;-webkit-mask:url(/assets/images/lock.svg) 50% no-repeat;mask:url(/assets/images/lock.svg) 50% no-repeat}:root{--font-family-code:monospace;--color-code-text-selection:#b3d4fc}code,pre{color:var(--color-text-primary);font-family:var(--font-family-code);text-align:left;white-space:pre-wrap;word-spacing:normal;word-break:normal;word-wrap:normal;tab-size:4;-webkit-hyphens:none;hyphens:none;background:0 0;line-height:1.5}pre::-moz-selection{text-shadow:none;background:var(--color-code-text-selection)}pre ::-moz-selection{text-shadow:none;background:var(--color-code-text-selection)}code::-moz-selection{text-shadow:none;background:var(--color-code-text-selection)}code ::-moz-selection{text-shadow:none;background:var(--color-code-text-selection)}pre::selection{text-shadow:none;background:var(--color-code-text-selection)}pre ::selection{text-shadow:none;background:var(--color-code-text-selection)}code::selection{text-shadow:none;background:var(--color-code-text-selection)}code ::selection{text-shadow:none;background:var(--color-code-text-selection)}@media print{code,pre{text-shadow:none}}pre{padding:var(--space-m);margin:var(--space-s)0;max-width:100%;font-size:var(--step--1);overflow:scroll}:not(pre)>code,pre{background:var(--color-swatch-code)}:not(pre)>code{white-space:normal;border-radius:.3em;padding:.3em .2em;font-size:smaller}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:#708090}.token.punctuation{color:#999}.token.namespace{opacity:.7}.token.property,.token.tag,.token.boolean,.token.number,.token.constant,.token.symbol,.token.deleted{color:#905}.token.selector,.token.attr-name,.token.string,.token.char,.token.builtin,.token.inserted{color:#690}.token.operator,.token.entity,.token.url,.language-css .token.string,.style .token.string{color:#9a6e3a}.token.atrule,.token.attr-value,.token.keyword{color:#07a}.token.function,.token.class-name{color:#dd4a68}.token.regex,.token.important,.token.variable{color:#e90}.token.important,.token.bold{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}pre{position:relative}pre[class*=language-]:before{z-index:3;color:var(--color-text-quaternary);font-size:.75rem;position:absolute;top:.8em;right:1em}pre[class~=language-js]:before{content:"js"}pre[class~=language-jsx]:before{content:"jsx"}pre[class~=language-ts]:before{content:"ts"}pre[class~=language-html]:before{content:"html"}pre[class~=language-md]:before{content:"md"}pre[class~=language-vue]:before{content:"vue"}pre[class~=language-css]:before{content:"css"}pre[class~=language-sass]:before{content:"sass"}pre[class~=language-scss]:before{content:"scss"}pre[class~=language-less]:before{content:"less"}pre[class~=language-stylus]:before{content:"stylus"}pre[class~=language-go]:before{content:"go"}pre[class~=language-java]:before{content:"java"}pre[class~=language-c]:before{content:"c"}pre[class~=language-bash]:before,pre[class~=language-shell]:before,pre[class~=language-sh]:before{content:"sh"}pre[class~=language-yaml]:before{content:"yaml"}pre[class~=language-py]:before{content:"py"}pre[class~=language-docker]:before{content:"docker"}pre[class~=language-dockerfile]:before{content:"dockerfile"}pre[class~=language-makefile]:before{content:"makefile"}pre[class~=language-javascript]:before{content:"js"}pre[class~=language-typescript]:before{content:"ts"}pre[class~=language-markup]:before{content:"html"}pre[class~=language-markdown]:before{content:"md"}pre[class~=language-json]:before{content:"json"}pre[class~=language-ruby]:before{content:"rb"}pre[class~=language-python]:before{content:"py"}pre[class~=language-php]:before{content:"php"}.asset,.article>body>main>article .article-content .asset{background:var(--color-swatch-code);text-align:center;flex-direction:column;padding:1.5rem;display:flex}@media (min-width:732px){.asset,.article>body>main>article .article-content .asset{text-align:left;flex-direction:row}:is(.asset,.article>body>main>article .article-content .asset)>a{text-align:right}}.asset,.article>body>main>article .article-content .asset{align-items:center;gap:1rem}:is(.asset,.article>body>main>article .article-content .asset)>img{background:0 0;width:4rem;height:4rem}:is(.asset,.article>body>main>article .article-content .asset)>div{margin-trim:block;flex-grow:1}:is(.asset,.article>body>main>article .article-content .asset)>div>h3{font-size:var(--step--1)}:is(.asset,.article>body>main>article .article-content .asset)>div>p{color:var(--color-text-secondary);font-size:var(--step--1);margin:0}.no-js .color-switch{display:none}.visually-hidden{clip:rect(1px 1px 1px 1px);clip-path:inset(1px);white-space:nowrap;width:1px;height:1px;display:block;position:absolute;overflow:hidden}.color-switch{width:-webkit-fit-content;width:fit-content;height:-webkit-fit-content;height:fit-content}@media (min-width:1024px){.color-switch{margin-bottom:0}}.color-switch .toggle-button{border:1px solid var(--color-border-primary);display:flex}.color-switch .toggle-button:hover{cursor:pointer}.color-switch .toggle-button .side{justify-content:center;align-items:center;width:24px;height:24px;display:flex;overflow:visible}.color-switch .toggle-button .side>svg{overflow:visible}.color-switch .toggle-button .side>svg>path{transition:var(--transition-text-opacity)}.color-switch .toggle-button .side.light:hover>svg>path{opacity:.65}.color-switch .toggle-button .side.dark:hover>svg>path{opacity:.5}.color-switch .toggle-button .light{background-color:var(--color-text-primary)}.color-switch .toggle-button .light>svg>path{fill:var(--color-background)}.color-switch .toggle-button .dark{background-color:var(--color-background)}.color-switch .toggle-button .dark>svg>path{fill:var(--color-text-primary)}.page-header{border-top:1px solid var(--color-border-primary);padding-top:1rem;padding-bottom:max(1.5rem,8vh)}.page-header>h1{line-height:var(--line-height-xtight)}.page-header>h2{line-height:var(--line-height-xtight)}.page-header>h1{font-size:var(--step-4)}.page-header>h2{font-size:var(--step-3)}.client-roll{padding:var(--space-l)0;margin:calc((-1*var(--step-1)) + var(--space-l))0 var(--space-l);background-color:#0000000f;flex-direction:column;grid-column:1;justify-content:center;gap:5vb;display:flex;overflow:hidden}@media (min-width:1024px){.client-roll{grid-column:2;height:50vb;margin:.75rem 0 0;padding:0;position:-webkit-sticky;position:sticky;top:25vb}}.client-roll{opacity:.35;--marquee-transition:opacity 2s ease;transition:var(--marquee-transition),background-color .5s ease}.client-roll.visible{background-color:var(--color-swatch-highlight);opacity:1}.client-roll.visible .marquee{opacity:1}.client-roll.visible .marquee .marquee-content{animation-play-state:running}.client-roll .marquee{opacity:0;transition:var(--marquee-transition);--duration-base:270s;--gap:calc(.66*var(--step-5));display:flex}.client-roll .marquee:first-child{--duration:calc(var(--duration-base)*1);margin-left:0}.client-roll .marquee:nth-child(2){--duration:calc(var(--duration-base)*.85);margin-left:-200%}.client-roll .marquee:nth-child(3){--duration:calc(var(--duration-base)*1.04);margin-left:-400%}.client-roll .marquee:nth-child(4){--duration:calc(var(--duration-base)*1.18);margin-left:-600%}.client-roll .marquee{-webkit-user-select:none;user-select:none;gap:var(--gap);width:-webkit-fit-content;width:fit-content;display:flex}.client-roll .marquee .marquee-content{justify-content:center;align-items:center;gap:var(--gap);animation:var(--duration)linear infinite reverse scroll;flex-shrink:0;animation-play-state:paused;display:flex}@media (prefers-reduced-motion:reduce){.client-roll .marquee .marquee-content{animation-play-state:paused}}.client-roll .marquee .marquee-content>li{gap:calc(.165*var(--step-5));font-size:var(--step-5);letter-spacing:var(--letter-spacing-xtight);font-weight:500;line-height:var(--line-height-single-line);color:color-mix(in srgb,var(--color-swatch-highlight)20%,var(--color-text-primary));flex-shrink:0;display:flex}.client-roll .marquee .marquee-content>li>img{width:var(--step-4);height:var(--step-4);top:calc(.33*(var(--step-5) - var(--step-4)));background-color:#0000;position:relative}@keyframes scroll{0%{transform:translate(0)}to{transform:translateX(calc(-100% - var(--gap)))}}.directory{max-width:var(--grid-max-width);grid-template-columns:var(--grid-template-cols-main);gap:var(--space-xl)var(--space-s-m);margin:0 auto;display:grid}.directory p{font-size:var(--step--1);color:var(--color-text-secondary);margin:0;margin-bottom:var(--para-gap-sm);max-width:80ch}@media (min-width:1024px){.directory p{max-width:55ch}}.directory p sub{font-feature-settings:inherit;top:.15em}.directory section{margin-trim:block}.directory section>h2{color:var(--color-text-tertiary);margin-bottom:1rem}.directory section>ul{flex-direction:column;gap:.5rem;display:flex}.directory section>ul>li{font-size:var(--step--1);font-weight:500;line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight);color:var(--color-text-secondary)}.directory section>ul>li>a.outbound:after{margin-left:.15rem}.directory section{grid-column:span 2}.directory section:first-of-type{grid-column:span 4}@media (min-width:1024px){.directory section:first-of-type{grid-column:span 2}.directory section:not(:first-of-type){grid-column:span 1}}.site-header{height:max(5.5rem,24vh)}@media (min-width:1024px){.site-header{height:max(5.5rem,18vh)}}.site-header>header{margin-left:var(--grid-gutter);margin-right:var(--grid-gutter);margin-top:var(--grid-gutter);border-top:var(--stroke-thick)solid var(--color-border-primary);box-shadow:inset 0 4px 0 0 var(--color-background),inset 0 5px 0 0 var(--color-border-primary);top:var(--grid-gutter);color:var(--color-text-tertiary);justify-content:space-between;align-items:center;padding-top:calc(5px + 1.5rem);padding-bottom:1.5rem;display:flex;position:-webkit-sticky;position:sticky}@media (min-width:1024px){.site-header>header{color:var(--color-text-quaternary)}}.site-header>header .left{justify-content:space-between;align-items:center;gap:1rem;width:100%;display:flex}@media (min-width:1024px){.site-header>header .left{justify-content:flex-start;width:auto}}.site-header>header .left>a:hover>svg{opacity:.5}.site-header>header .left>a>svg{width:var(--step-4);height:auto;transition:var(--transition-text-opacity);display:block}.site-header>header .left>a>svg>path{fill:var(--color-text-primary)}.site-header>header .left>span{align-items:center;gap:.15rem;display:flex}.site-header>header .left>span:before{content:"☺︎";font-size:larger;font-weight:bolder}.site-header>header span{opacity:0;animation:var(--fadein-duration)ease forwards fadein;font-feature-settings:"zero";font-variant-numeric:slashed-zero}.site-header>header>span{display:none}@media (min-width:1024px){.site-header>header>span{display:block}}body>footer{margin-top:var(--space-2xl);margin-left:var(--grid-gutter);margin-right:var(--grid-gutter);margin-bottom:var(--space-2xl);--optical-inset:4px;border-top:var(--stroke-thick)solid var(--color-border-primary);box-shadow:inset 0 var(--optical-inset)0 0 var(--color-background),inset 0 calc(var(--optical-inset) + 1px)0 0 var(--color-border-primary);padding-top:calc(var(--optical-inset) + 1px + var(--gap-md))}body>footer .controls{font-feature-settings:"onum" 1}@media (min-width:1024px){body>footer .controls{margin-top:calc(-1*var(--optical-inset))}}body>footer .controls .color-switch{margin-bottom:1rem}@media (min-width:1024px){body>footer .controls .color-switch{margin-bottom:.6rem}}.tag-list{--tag-margin-y:.5rem;--tag-margin-x:.75rem;flex-wrap:wrap;gap:.5rem;margin-bottom:5rem;display:flex}@media (min-width:1024px){.tag-list{margin-left:calc(-1*var(--tag-margin-x))}}.tag-list>li>a{padding:var(--tag-margin-y)var(--tag-margin-x);border:1px solid var(--color-swatch-code);color:var(--color-text-primary);font-size:var(--step--1);font-weight:500;line-height:var(--line-height-single-line);letter-spacing:-.0125rem;border-radius:2rem;transition:background-color .75s;display:block}.tag-list>li>a:hover{background-color:var(--color-swatch-code);opacity:1;transition:background-color .3s}.tag-list>li>a.selected{background-color:var(--color-text-primary);color:var(--color-background)}.tag-list>li>a.selected:hover{background-color:var(--color-text-secondary)}.tag-list.small{--tag-margin-y:.35rem;--tag-margin-x:.5rem;gap:.25rem}html:not(.no-js) p .unit{background-color:var(--color-swatch-highlight);box-shadow:0 0 0 1px var(--color-swatch-highlight);transition:var(--transition-text-opacity)}html:not(.no-js) p .unit:hover{cursor:pointer;opacity:var(--text-opacity-hovered)}.no-js .unit-converter{display:none}.unit-converter{display:block}.unit-converter>legend{margin-bottom:.5rem}input[type=radio]{-webkit-appearance:radio;appearance:radio;cursor:pointer}input[type=radio]+label{cursor:pointer}.article{scroll-behavior:smooth}.article>body .page-header{margin-left:var(--grid-gutter);margin-right:var(--grid-gutter)}@media (min-width:732px){.article>body>main>article{gap:0 var(--gap-lg);grid-template-columns:minmax(auto,720px) 1fr;display:grid}}@media (min-width:1280px){.article>body>main>article{grid-template-columns:1fr minmax(auto,720px) 1fr;margin-top:10rem}}@media (min-width:732px){.article>body>main>article>header{grid-column:1}}@media (min-width:1280px){.article>body>main>article>header{grid-column:2}}@media (min-width:732px){.article>body>main>article>aside.audience{grid-column:1}}@media (min-width:1280px){.article>body>main>article>aside.audience{grid-column:2}}@media (min-width:732px){.article>body>main>article .article-content{grid-column:1}}@media (min-width:1280px){.article>body>main>article .article-content{grid-column:2}}@media (min-width:1280px){.article>body>main>article>header{grid-row:1}}.article>body>main>article>header>h1{font-size:var(--step-5);text-wrap:balance;font-style:normal}.article>body>main>article>header>p{font-size:var(--step-2);line-height:var(--line-height-tight);color:var(--color-text-secondary);margin-top:var(--gap-sm)}.article>body>main>article>aside.stage{min-width:200px;font-size:var(--step--1)}@media (min-width:1280px){.article>body>main>article>aside.stage{grid-row:3}}.article>body>main>article>aside.left{min-width:200px;font-size:var(--step--1)}@media (min-width:1280px){.article>body>main>article>aside.left{grid-row:3}}.article>body>main>article .article-content{margin-top:var(--grid-gutter)}.article>body>main>article>aside.stage{margin-top:var(--grid-gutter)}.article>body>main>article>aside.left{margin-top:var(--grid-gutter)}.article>body>main>article>aside.audience{margin-top:var(--grid-gutter);border-top:1px solid var(--color-border-secondary);border-bottom:1px solid var(--color-border-secondary);padding:2rem 0}@media (min-width:1280px){.article>body>main>article>aside.audience{grid-row:2;padding:3rem 0}}.article>body>main>article>aside.audience>h2{color:var(--color-text-tertiary);margin-bottom:.5rem;font-weight:500}.article>body>main>article>aside.audience>p{color:var(--color-text-secondary)}@media (min-width:1024px){.article>body>main>article>aside.stage{place-self:start end;margin-top:0}}@media (min-width:1280px){.article>body>main>article>aside.stage{margin-top:var(--grid-gutter);text-align:right;top:var(--grid-gutter);grid-column:3;align-self:start;position:-webkit-sticky;position:sticky}}.article>body>main>article>aside.stage>p:first-of-type{color:var(--color-text-secondary)}.article>body>main>article>aside.stage>p:last-of-type{color:var(--color-text-tertiary)}.article>body>main>article>aside.stage{opacity:0;transition:opacity .65s 2s}.article>body>main>article>aside.stage.visible{opacity:1;transition:opacity .65s}.article>body>main>article .dots{--dot-filled:var(--color-text-secondary);--dot-unfilled:var(--color-text-quaternary);--percent:calc(var(--stage)/3*100%);font-family:Times;font-size:24px;line-height:1;display:inline-block}.article>body>main>article .dots:before{content:"•••";letter-spacing:1.5px;background:linear-gradient(90deg,var(--dot-filled)var(--percent),var(--dot-unfilled)var(--percent));-webkit-text-fill-color:transparent;-webkit-background-clip:text}.article>body>main>article>aside.left{display:none}@media (min-width:732px){.article>body>main>article>aside.left{top:var(--margin-x);place-self:start end;gap:var(--gap-md);flex-direction:column;grid-area:2/2/4;display:flex;position:-webkit-sticky;position:sticky}}@media (min-width:1280px){.article>body>main>article>aside.left{grid-area:3/1;justify-self:start}}.article>body>main>article>aside.left{color:var(--color-text-tertiary)}.article>body>main>article>aside.left>section>h2{margin-bottom:1rem}.article>body>main>article>aside.left>section>nav.toc>ol{flex-direction:column;gap:.5rem;display:flex}.article>body>main>article>aside.left>section>nav.toc>ol>li>ol{flex-direction:column;gap:.5rem;display:flex}.article>body>main>article>aside.left>section>nav.toc>ol>li>ol{margin-top:.5rem;padding-left:1rem}.article>body>main>article .article-content{max-width:var(--grid-max-width);margin-trim:block}@media (min-width:1280px){.article>body>main>article .article-content{grid-row:3}}.article>body>main>article .article-content>h2{font-weight:500}.article>body>main>article .article-content>h3{font-weight:500}.article>body>main>article .article-content>h4{font-weight:500}.article>body>main>article .article-content p{font-size:var(--step-0)}.article>body>main>article .article-content dt{font-size:var(--step-0)}.article>body>main>article .article-content dd{font-size:var(--step-0)}.article>body>main>article .article-content ol{font-size:var(--step-0)}.article>body>main>article .article-content ul{font-size:var(--step-0)}.article>body>main>article .article-content p{margin-bottom:var(--space-s)}.article>body>main>article .article-content li{margin-bottom:var(--space-s)}.article>body>main>article .article-content p{line-height:var(--line-height-wide);font-feature-settings:"onum" 1}.article>body>main>article .article-content p:first-child{text-indent:0}.article>body>main>article .article-content>h2{font-size:var(--step-3);margin-top:4rem;margin-bottom:.85rem}@media (min-width:1280px){.article>body>main>article .article-content>h2{margin-top:6rem}}.article>body>main>article .article-content>h3{font-size:var(--step-2);margin-top:2rem;margin-bottom:.65rem}@media (min-width:1280px){.article>body>main>article .article-content>h3{margin-top:3rem}}.article>body>main>article .article-content>h4{font-size:var(--step-1);margin-bottom:.55rem}.article>body>main>article .article-content>h5{font-size:var(--step-0);margin-bottom:.4rem}.article>body>main>article .article-content>h4+h5{margin-top:1rem}.article>body>main>article .article-content>h2+ul{margin-top:1em;margin-bottom:1em}.article>body>main>article .article-content>h2+ol{margin-top:1em;margin-bottom:1em}.article>body>main>article .article-content>h3+ul{margin-top:1em;margin-bottom:1em}.article>body>main>article .article-content>h3+ol{margin-top:1em;margin-bottom:1em}.article>body>main>article .article-content>p+ul{margin-top:1em;margin-bottom:1em}.article>body>main>article .article-content>p+ol{margin-top:1em;margin-bottom:1em}.article>body>main>article .article-content>ol+ul{margin-top:1em;margin-bottom:1em}.article>body>main>article .article-content>ul+ol{margin-top:1em;margin-bottom:1em}@media (min-width:1280px){}.article>body>main>article .article-content ul li:not(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-left:0}.article>body>main>article .article-content ul li:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-right:0}.article>body>main>article .article-content ul li:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-right:0}.article>body>main>article .article-content ul li>a{text-underline-offset:1.5px;text-decoration:underline;-webkit-text-decoration-color:var(--color-border-secondary);text-decoration-color:var(--color-border-secondary)}.article>body>main>article .article-content ul li>ol{margin-top:var(--space-s)}.article>body>main>article .article-content ul li>ol:not(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-left:1.5rem}.article>body>main>article .article-content ul li>ol:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-right:1.5rem}.article>body>main>article .article-content ul li>ol:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-right:1.5rem}.article>body>main>article .article-content ul li>ul{margin-top:var(--space-s)}.article>body>main>article .article-content ul li>ul:not(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-left:1.5rem}.article>body>main>article .article-content ul li>ul:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-right:1.5rem}.article>body>main>article .article-content ul li>ul:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-right:1.5rem}.article>body>main>article .article-content ul:not(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-left:1.5rem}.article>body>main>article .article-content ul:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-right:1.5rem}.article>body>main>article .article-content ul:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-right:1.5rem}@media (min-width:1280px){}.article>body>main>article .article-content ol li:not(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-left:0}.article>body>main>article .article-content ol li:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-right:0}.article>body>main>article .article-content ol li:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-right:0}.article>body>main>article .article-content ol li>a{text-underline-offset:1.5px;text-decoration:underline;-webkit-text-decoration-color:var(--color-border-secondary);text-decoration-color:var(--color-border-secondary)}.article>body>main>article .article-content ol li>ol{margin-top:var(--space-s)}.article>body>main>article .article-content ol li>ol:not(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-left:1.5rem}.article>body>main>article .article-content ol li>ol:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-right:1.5rem}.article>body>main>article .article-content ol li>ol:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-right:1.5rem}.article>body>main>article .article-content ol li>ul{margin-top:var(--space-s)}.article>body>main>article .article-content ol li>ul:not(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-left:1.5rem}.article>body>main>article .article-content ol li>ul:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-right:1.5rem}.article>body>main>article .article-content ol li>ul:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-right:1.5rem}.article>body>main>article .article-content ol:not(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-left:1.5rem}.article>body>main>article .article-content ol:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-right:1.5rem}.article>body>main>article .article-content ol:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-right:1.5rem}.article>body>main>article .article-content ul{list-style-type:square}.article>body>main>article .article-content ol{list-style-type:decimal}.article>body>main>article .article-content ::marker{color:var(--color-text-quaternary);font-feature-settings:"onum" 1}.article>body>main>article .article-content hr{border-bottom:1px solid var(--color-border-secondary);margin:var(--spacing-lg)0;display:block}.article>body>main>article .article-content>figure.quote{margin:var(--gap-sm)0;padding:1.5rem}.article>body>main>article .article-content>figure.quote>blockquote{margin-trim:block}.article>body>main>article .article-content>figure.quote>blockquote>p{font-style:italic;font-weight:400;font-size:var(--step-1);line-height:var(--line-height-reg)}.article>body>main>article .article-content>figure.quote>blockquote>p:before{content:open-quote}.article>body>main>article .article-content>figure.quote>blockquote>p:after{content:close-quote}.article>body>main>article .article-content>figure.quote>blockquote>p{hanging-punctuation:first last}.article>body>main>article .article-content>figure.quote>blockquote>p span.highlight{background-color:var(--color-swatch-highlight)}.article>body>main>article .article-content>figure.quote>figcaption{text-transform:uppercase;font-feature-settings:"cpsp" 1;font-size:var(--step--2);color:var(--color-text-secondary);margin-top:1rem}.article>body>main>article .article-content>figure.quote>figcaption:before{content:"— "}.article>body>main>article .article-content>figure.prompt:before{content:"Prompt";color:var(--color-text-quaternary);margin-bottom:var(--space-s);text-transform:uppercase;font-feature-settings:"cpsp" 1;font-size:var(--step--2);letter-spacing:var(--letter-spacing-wide)}.article>body>main>article .article-content>figure.prompt{border:1px solid var(--color-border-secondary);padding:var(--space-s)var(--space-m)}.article>body>main>article .article-content>figure.prompt>p{font-size:var(--step--1)}.article>body>main>article .article-content>figure.prompt>ol>li{font-size:var(--step--1)}.article>body>main>article .article-content>figure.prompt>p{margin-bottom:var(--space-xs)}.article>body>main>article .article-content>figure.prompt>ol{list-style-position:inside;padding-left:0!important}.article>body>main>article .article-content>figure.prompt>ol>li{margin-bottom:var(--space-2xs)}.article>body>main>article .article-content>table{width:100%}.article>body>main>article .article-content>table>thead tr{border-bottom:1px solid var(--color-border-primary);text-transform:uppercase;font-feature-settings:"cpsp" 1;font-weight:500;font-size:var(--step--2);letter-spacing:var(--letter-spacing-wide)}.article>body>main>article .article-content>table>tbody tr:not(:last-of-type){border-bottom:1px solid var(--color-border-secondary)}.article>body>main>article .article-content>table tr>th{padding:.76rem .5rem}.article>body>main>article .article-content>table tr>th>a{text-underline-offset:1.5px;text-decoration:underline;-webkit-text-decoration-color:var(--color-border-secondary);text-decoration-color:var(--color-border-secondary)}.article>body>main>article .article-content>table tr>td{padding:.76rem .5rem}.article>body>main>article .article-content>table tr>td>a{text-underline-offset:1.5px;text-decoration:underline;-webkit-text-decoration-color:var(--color-border-secondary);text-decoration-color:var(--color-border-secondary)}.article>body>main>article .article-content>table tr.chapter{background-color:var(--color-background-highlight);font-weight:500}.article>body>main>article .article-content>img{filter:var(--color-filter)}.article>body>main>article .article-content figure{margin:var(--space-l)0}.article>body>main>article .article-content .video{margin:var(--space-l)0}.article>body>main>article .article-content .asset{margin:var(--space-l)0}.article>body>main>article .article-content>img{margin:var(--space-l)0}.article>body>main>article .article-content table{margin:var(--space-m)0}.article>body>main>article .article-content fieldset{margin:var(--space-m)0}.article>body>main>article .article-content>iframe{margin:var(--space-s)0}.article>body>main>article .article-content figure{flex-direction:column;display:flex}.article>body>main>article .article-content figure>figcaption{color:var(--color-text-tertiary);font-size:var(--step--2);text-align:right;margin-top:var(--space-xs)}@media (min-width:1280px){.article>body>main>article .article-content figure>figcaption{margin-left:var(--space-s)}}@media (min-width:1280px){.article>body>main>article .article-content .two-up{gap:calc(var(--gap-md)/2);display:flex}}.article>body>main>article>aside.meta{margin-top:var(--space-xl);border-top:1px solid var(--color-border-secondary);padding-top:var(--space-l);gap:var(--gap-lg)var(--gap-md);grid-template-columns:repeat(3,1fr);display:grid}@media (min-width:1280px){.article>body>main>article>aside.meta{grid-area:4/2}}.article>body>main>article>aside.meta>section{margin-trim:block}.article>body>main>article>aside.meta>section>h3{color:var(--color-text-tertiary);margin-bottom:1rem}.article>body>main>article>aside.meta>section.tagged{grid-area:1/1/auto/3}.article>body>main>article>aside.meta>section.subscribe{grid-area:1/3/auto/4}.article>body>main>article>aside.meta>section.related{grid-area:2/span 3}.article>body>main>article>aside.meta>section.related>ul{flex-direction:column;gap:.25rem;display:flex}.article>body>main>article>aside.meta>section.related>ul>li>a{text-underline-offset:1.5px;text-decoration:underline;-webkit-text-decoration-color:var(--color-border-secondary);text-decoration-color:var(--color-border-secondary)}.home>body .crawl-header{max-width:var(--grid-max-width);gap:0 var(--gap-md);padding-bottom:var(--space-2xl);margin:35vh 0 0;display:grid}@media (min-width:1024px){.home>body .crawl-header{margin:40vh var(--margin-x)3rem;grid-template-columns:repeat(2,1fr);padding-bottom:25vh}}@media (min-width:1960px){.home>body .crawl-header{margin:35vh auto 3rem}}.home>body .crawl-header .header-text{margin-left:var(--margin-x);margin-right:var(--margin-x);grid-column:1}@media (min-width:1024px){.home>body .crawl-header .header-text{margin-left:0;margin-right:0}}.home>body .crawl-header .header-text:not(:first-of-type){opacity:0;animation:var(--fadein-duration)ease 2s forwards fadein}.home>body .crawl-header .header-text:first-of-type{margin-bottom:4rem}.home>body .crawl-header .header-text:first-of-type>p:first-child{font-size:var(--step-4);letter-spacing:var(--letter-spacing-xtight);line-height:var(--line-height-xtight);font-weight:500}.home>body .crawl-header .header-text:first-of-type>p>span{opacity:0}.home>body .crawl-header .header-text:first-of-type>p>span:first-child{animation:var(--fadein-duration)ease .25s forwards fadein}.home>body .crawl-header .header-text:first-of-type>p>span:nth-child(2){animation:var(--fadein-duration)ease 1s forwards fadein}@media (min-width:1024px){.home>body .crawl-header .header-text:last-of-type{margin-top:24vh}}.home>body .crawl-header .header-text>p{font-size:var(--step-2);letter-spacing:var(--letter-spacing-tight);line-height:var(--line-height-tight);margin-bottom:var(--step-1);max-width:680px}.home>body .crawl-header .header-text>p>span.highlight{background-color:var(--color-swatch-highlight)}.home>body .crawl-header .header-text>p.extra{display:none}@media (min-width:1024px){.home>body .crawl-header .header-text>p.extra{display:inherit}}@media (min-width:1024px){.home>body .site-header{height:var(--margin-y)}}.home>body .interstitial{margin-bottom:var(--margin-y)}.home>body .home-section{margin-bottom:var(--spacing-margin-bottom)}.home>body .home-section>.page-header>h2{font-size:var(--step-4);letter-spacing:var(--letter-spacing-xtight)}.home>body .home-section>.inner>p{text-wrap:balance}.home>body .home-section>.inner>ul.notes{-webkit-mask-image:linear-gradient(#000 60%,#0000);mask-image:linear-gradient(#000 60%,#0000)}.home>body .home-section>.inner>ul.notes+p{margin-top:5rem}@media (min-width:1024px){.home>body .home-section>.inner>ul.projects>li{grid-column:span 2}}.home>body .home-section>.inner>ul.projects>li>a>div>h3{font-size:var(--step-1)}.home>body .home-section>.inner>ul.projects>li>a>div>p:last-of-type{color:var(--color-text-quaternary);font-size:var(--step--1)}.home>body .home-section>.inner>ul.projects>li.featured:nth-of-type(2n)>a>img{order:1}.home>body .home-section>.inner>ul.projects>li.featured>a>img{margin-bottom:1rem}.home>body .home-section>.inner>ul.trove{grid-template-columns:repeat(2,minmax(0,1fr))}@media (min-width:732px){.home>body .home-section>.inner>ul.trove{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1024px){.home>body .home-section>.inner>ul.trove{grid-template-columns:inherit}}@media (min-width:1280px){.home>body .home-section>.inner>ul.trove{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (min-width:1800px){.home>body .home-section>.inner>ul.trove{grid-template-columns:repeat(6,minmax(0,1fr))}}.home>body .home-section>.inner>ul.trove{margin-bottom:calc(-.5*var(--margin-y));-webkit-mask-image:linear-gradient(#000 60%,#0000);mask-image:linear-gradient(#000 60%,#0000)}.home>body .home-section>.inner>ul.trove>li:nth-of-type(n+9){display:none}@media (min-width:1024px){.home>body .home-section>.inner>ul.trove>li:nth-of-type(n+9){display:list-item}}.home>body .home-section>.inner>ul.trove>li>a h3{margin:0}.home>body .home-section>.inner>ul.trove>li>a p{margin:0}.home>body .home-section>.inner>ul.trove>li>a p{-webkit-line-clamp:4;-webkit-box-orient:vertical;margin-top:.25rem;display:-webkit-box;overflow:hidden}.home>body .home-section>.inner>ul.trove>li>a blockquote{-webkit-line-clamp:4;-webkit-box-orient:vertical;margin-top:.25rem;display:-webkit-box;overflow:hidden}.home>body .home-section>.inner>ul.trove>li>a p{font-size:var(--step--1);color:var(--color-text-tertiary)}.home>body .home-section>.inner>ul.trove>li>a blockquote{margin-trim:block;font-weight:400;font-size:var(--step-0);color:var(--color-text-secondary)}.home>body .home-section>.inner>ul.trove>li>a blockquote:before{content:open-quote}.home>body .home-section>.inner>ul.trove>li>a blockquote:after{content:close-quote}.home>body .home-section>.inner>ul.trove>li>a img{filter:var(--color-filter);margin-bottom:.65rem}.home>body .home-section>.inner>ul.trove>li>a video{filter:var(--color-filter);margin-bottom:.65rem}.home>body .home-section>.inner>ul.trove>li>a .outbound{margin-top:.5rem;display:flex}.home>body .home-section>.inner>ul.trove>li>a .outbound>span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}