@import url("https://use.typekit.net/ayp6yjg.css");:root{--color-content-bg:#111;--color-content-fg:#f5f5f5;--color-header-bg:#000;--color-header-fg:#f5f5f5;--color-contrast-bg:#222;--color-contrast-bg-more:#666;--color-link-fg:#d0dff2;--color-shadow-bg:hsla(0,0%,100%,.5);--color-window-chrome-border:#555;--color-window-chrome-bg:#222;--color-window-chrome-fg:#fff;--color-window-chrome-url-bg:#444;--color-window-chrome-url-fg:#ccc;--color-window-shadow-bg:hsla(0,0%,100%,.25);--color-blockquote-bg:#333;--color-blockquote-fg:#fff;--color-code-bg:#333;--color-code-fg:#fff;--content-width:1024px;--margin-width:2rem;--margin-height:2rem;--margin-page-width:3rem;--margin-page-height:2rem;--header-height:calc(var(--margin-page-height) * 2 + 1.75rem)}@media (prefers-color-scheme:light){:root{--color-content-bg:#fafafa;--color-content-fg:#000;--color-header-bg:#fff;--color-header-fg:#000;--color-contrast-bg:#eee;--color-contrast-bg-more:#ccc;--color-link-fg:#484f6c;--color-shadow-bg:rgba(0,0,0,.25);--color-window-chrome-border:#ddd;--color-window-chrome-bg:#fff;--color-window-chrome-fg:#000;--color-window-chrome-url-bg:#ddd;--color-window-chrome-url-fg:#222;--color-window-shadow-bg:rgba(0,0,0,.25);--color-blockquote-bg:#ddd;--color-blockquote-fg:#000;--color-code-bg:#eee;--color-code-fg:#000}}@media (max-width:600px){:root{--margin-page-width:1.5rem;--margin-page-height:1rem;--header-height:calc(var(--margin-page-height) * 2 + 3.5rem)}}*{box-sizing:border-box}body,html{padding:0;margin:0;font-family:myriad-pro,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;background-color:var(--color-content-bg);color:var(--color-content-fg);letter-spacing:.005rem;line-height:1.5rem}a{color:inherit}b,strong{font-weight:600}h1{font-size:2.25rem;line-height:2.75rem;font-weight:700}h2{font-size:2rem;line-height:2.5rem;font-weight:600}.logo_logo__joQvc a{text-decoration:none}.logo_logoIcon__RFS2U{display:inline-block;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle;overflow:visible;margin-right:.5rem;height:1.3rem;width:1.3rem}.logo_logoText__sFKn5{display:inline;font-size:1.5rem;vertical-align:middle;font-weight:600}.header_header__xdC5s{position:fixed;top:0;width:100vw;background-color:var(--color-header-bg);color:var(--color-header-fg);border-bottom:1px solid var(--color-contrast-bg);z-index:8000}.header_container__tyYuL{display:flex;gap:var(--margin-page-width);align-items:flex-end;justify-content:space-between}.header_headerLogo__aKQne{display:block;background-color:transparent;padding-bottom:.2rem}.header_headerLinks__yoHBI ul{display:inline-block;margin:0;padding:0}.header_headerLinks__yoHBI ul li{display:inline-block;list-style-type:none;background-color:transparent;margin-left:var(--margin-width);text-transform:uppercase;font-size:.9rem}.header_headerLinks__yoHBI a{text-decoration:none}@media (max-width:675px){.header_container__tyYuL{flex-direction:column;align-items:flex-start;gap:0}.header_headerLinks__yoHBI ul li{margin:0 1.25rem 0 0}}@media (max-width:400px){.header_headerLinks__yoHBI ul li{margin:0 1rem 0 0;font-size:.75rem}}.footer_footer__OT4Wn{width:100vw;background-color:var(--color-header-bg);color:var(--color-header-fg);border-top:1px solid var(--color-contrast-bg);font-size:.75rem}.paginator_pages__9M6qq{list-style-type:none;padding:0}.paginator_pages__9M6qq li{display:inline-block;padding:.4rem .5rem;text-align:middle;border:1px solid transparent;margin:0 .1rem}.paginator_pages__9M6qq li:hover{border:1px solid var(--color-bg-contrast-more);border-radius:.25em}.paginator_pages__9M6qq li.paginator_pageCurrent__iU2Rh{background-color:var(--color-bg-inverse);border:1px solid var(--color-bg-inverse);color:var(--color-fg-inverse);border-radius:.25em}.paginator_previous___hmUa{content:"Prev"}.paginator_previous___hmUa:before{content:"← "}.paginator_next__ofRwO:after{content:" →"}.screenshot_screenshot__FQntv{background-color:#fff;border:1px solid #ddd;padding:1rem;border-radius:.5rem}.common_page__D4V2r{height:100vh;margin:0;padding:0;display:flex;flex-direction:column;justify-content:space-between;gap:0}.common_headerContainer__LhCBr{max-width:var(--content-width);margin:0 auto;padding:var(--margin-page-height) var(--margin-page-width)}.common_footerContainer__wGqO5{max-width:var(--content-width);margin:0 auto;padding:.5rem var(--margin-page-width)}.common_main__bUmPR{background-color:var(--color-content-bg);flex-grow:1}.common_mainContainer__xckhS{max-width:var(--content-width);padding:var(--header-height) var(--margin-page-width) var(--margin-page-height) var(--margin-page-width);margin:0 auto;height:100%}.common_pageWithHero__Ber6N{position:relative;display:block;width:100vw;height:100svh;background-repeat:none;background-size:cover;background-attachment:fixed}.common_hero__IV3R6{display:block;width:100vw;height:100svh;left:0;top:0}.common_heroHeader__w96Tn{position:absolute;margin:0;padding:0;max-width:var(--content-width);top:calc(100svh - 6rem);left:calc(50vw - var(--content-width) / 2 + var(--margin-page-width));font-size:4rem;font-weight:700;color:#fff;text-shadow:-1px 0 #000,0 1px #000,1px 0 #000,0 -1px #000}@media (max-width:1024px){.common_heroHeader__w96Tn{left:var(--margin-page-width)}}@media (max-width:700px){.common_heroHeader__w96Tn{font-size:2rem;top:calc(100svh - 3.5rem)}}@media (max-width:600px){.common_heroHeader__w96Tn{left:var(--margin-page-width)}}.components_pageTitle__PhBeQ{margin:calc(var(--margin-height) * 1.5) 0 0 0}.components_postIndex__IF1Xr{list-style-type:none;padding:0;margin-top:4rem}.components_postIndex__IF1Xr a{text-decoration:none}.components_postTitle__pEBJ1{font-size:1.5rem;font-weight:600;margin-top:2rem}.components_postDate__X8yee{margin-top:.2rem;font-size:.8rem;opacity:60%}.components_postSummary__NoNc4{margin-top:.5rem;font-size:1rem;line-height:1.6rem}.components_postContinue__3PnO2{text-transform:uppercase;font-size:.8rem;margin-top:.5rem;color:var(--color-link-fg)}.components_postContinue__3PnO2:hover{text-decoration:underline}.components_postContinue__3PnO2:after{content:" →"}.components_pagination__073NW{margin-top:3rem;text-align:center}.blog_post_pageTitle__9nfuA{margin:calc(var(--margin-height) * 1.5) 0 0 0}.blog_post_pageDate__GxvH2{margin:.25rem 0 2.5rem;padding-top:0;opacity:60%}.blog_post_post__Kvyic a{color:var(--color-link-fg)}.blog_post_post__Kvyic blockquote{display:block;border-left:.3rem solid var(--color-blockquote-bg);color:var(--color-blockquote-fg);font-size:1rem;padding:0 0 0 1rem;margin:0 0 2rem}.blog_post_post__Kvyic code{display:inline-block;font-size:1rem;padding:0 .2rem}.blog_post_post__Kvyic pre code{display:block;background-color:var(--color-code-bg);color:var(--color-code-fg);font-size:.95rem;line-height:1.4rem;padding:1rem 2rem;border-radius:.3rem;overflow:scroll}.blog_post_post__Kvyic img{max-width:100%}