@font-face{font-family:Suisse Intl;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/SuisseIntlVF.woff2)format("woff2-variations")}@font-face{font-family:Suisse Intl;font-style:italic;font-weight:100 900;font-display:swap;src:url(/fonts/SuisseIntlVF-Italic.woff2)format("woff2-variations")}@font-face{font-family:Suisse Intl;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/SuisseIntlVF-Cyrillic.woff2)format("woff2-variations");unicode-range:U+400-52F,U+1C80-1C8A,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Suisse Intl;font-style:italic;font-weight:100 900;font-display:swap;src:url(/fonts/SuisseIntlVF-Italic-Cyrillic.woff2)format("woff2-variations");unicode-range:U+400-52F,U+1C80-1C8A,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Suisse Intl Mono;font-style:normal;font-weight:200 700;font-display:swap;src:url(/fonts/SuisseIntlMonoVF.woff2)format("woff2-variations")}:root{--black:#000;--white:#fff;--blue:#15b9eb;--green:#00c896;--red:#ff4d4d;--yellow:#f2e863;--orange:#ff8c42;--gray-050:#f8f8f7;--gray-100:#f0f0ee;--gray-200:#deded9;--gray-300:#c1c0b8;--gray-400:#989898;--gray-500:#7c7c7c;--gray-600:#656565;--gray-700:#464646;--gray-800:#3d3d3d;--gray-900:#282828;--gray-950:#1a1a1a;--fg-1:#020202;--fg-2:var(--gray-700);--fg-3:#595959;--fg-4:#6d6d6d;--body-bg:var(--white);--bg-1:var(--gray-050);--bg-2:var(--gray-100);--bg-3:#e9e9e6;--border-1:#00000014;--border-2:#0003;--code-bg:var(--gray-050);--primary:var(--blue);--focus-ring:#007da5;--font-sans:"Suisse Intl", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;--font-mono:"Suisse Intl Mono", ui-monospace, "SF Mono", Menlo, monospace;--article-title-size:34px;--article-body-size:14px;--article-body-leading:20px;--article-lede-size:17px;--article-lede-leading:24px;--article-h2-size:17px;--article-h2-leading:23px;--article-h3-size:15px;--article-h3-leading:20px;--article-caption-size:12px;--article-caption-leading:16px;--dur-press:.14s;--dur-1:.4s;--dur-2:.56s;--dur-3:.72s;--dur-4:.95s;--dur-expand:.82s;--dur-reveal:1.2s;--stagger:.18s;--ease-out:cubic-bezier(.05, .7, .1, 1);--ease-in-out:cubic-bezier(.45, 0, .15, 1);--ease-in:cubic-bezier(.3, 0, .8, .15);--feather-hero:14.5px;--feather-privacy:16px;--feather-thumb:25px;--overshoot-hero:0px;--overshoot-privacy:0px;--overshoot-thumb:6px;--bleed-hero:calc(var(--feather-hero) + var(--overshoot-hero));--bleed-privacy:calc(var(--feather-privacy) + var(--overshoot-privacy));--bleed-thumb:calc(var(--feather-thumb) + var(--overshoot-thumb));--felt-copy-gap:52px;--felt-card-gap:190px;--bleed-hero-m:calc(min(100vw - 48px, 470px) * 7 / 226);--bleed-privacy-m:calc(min(100vw - 48px, 470px) / 30);--bleed-thumb-m:calc(min(100vw - 48px, 848px) * 7 / 116);--bleed-thumb-t:calc(min(100vw - 48px, 848px) * 77 / 2600);--feather-media-wide:21.7px;--feather-media-wide-t:19.5px;--feather-media-cell:6.9px;--feather-media-cell-wide:10.5px;--feather-media-cell-wide-t:9.4px}@media (max-width:639px){:root{--article-lede-size:16px;--article-lede-leading:23px}}@media (min-width:1080px){:root{--article-title-size:31px;--article-body-size:12px;--article-body-leading:18px;--article-lede-size:14px;--article-lede-leading:21px;--article-h2-size:14px;--article-h2-leading:20px;--article-h3-size:12px;--article-h3-leading:17px;--article-caption-size:10px;--article-caption-leading:14px}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}@property --squircle-border{syntax:"<color>";inherits:false;initial-value:#0000}@property --squircle-ring{syntax:"<color>";inherits:false;initial-value:#0000}@property --squircle-dash{syntax:"*";inherits:false}.srOnly{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;background:var(--body-bg);scrollbar-gutter:stable}body{background:var(--body-bg);color:var(--fg-1);font-family:var(--font-sans);letter-spacing:-.01em;text-wrap:pretty;min-height:100dvh;font-size:14px;font-weight:400;line-height:1.5}::selection{background:#15b9eb40}a{color:inherit;text-decoration:none}button{font-family:inherit}img,video{max-width:100%}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}[data-squircle-ring]:where(:focus-visible){--squircle-ring:var(--focus-ring);outline:none}[data-quiet-focus]:focus{outline:none}@media (forced-colors:active){:focus-visible{outline-color:highlight}}.skipLink{z-index:12000;background:var(--fg-1);min-height:40px;color:var(--body-bg);transition:transform var(--dur-2) var(--ease-out);border-radius:999px;align-items:center;padding:0 16px;font-size:12px;line-height:1;display:inline-flex;position:fixed;top:12px;left:12px;transform:translateY(calc(-100% - 20px))}.skipLink:focus{transform:translateY(0)}.noScriptHome{display:none}@media (max-width:1079px){.noScriptHome{z-index:10110;width:32px;min-height:32px;color:var(--fg-2);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffe0;border-radius:999px;justify-content:center;align-items:center;padding:0;font-size:11px;line-height:1;display:inline-flex;position:fixed;top:12px;left:16px}}main:focus{outline:none}:root[data-entrance] .shell{animation:shell-enter 1.1s var(--ease-out) both}@keyframes shell-enter{0%{opacity:0}to{opacity:1}}::view-transition-group(root){animation:none}::view-transition-new(root){animation:none}::view-transition-old(root){display:none}::view-transition-old(route){object-fit:fill;width:100%;height:auto}::view-transition-new(route){object-fit:fill;width:100%;height:auto}::view-transition-group(route){animation:none}::view-transition-old(route){translate:0 calc(var(--vt-scroll-to,0px) - var(--vt-scroll-from,0px));animation:vt-page-out .48s var(--ease-in) both}::view-transition-new(route){animation:vt-page-in .9s var(--ease-out) .52s both}::view-transition-old(.route-to-article){animation:vt-page-out .28s var(--ease-in) both}::view-transition-new(.route-to-article){animation:vt-page-in .6s var(--ease-out) .32s both}::view-transition-group(site-menu){animation:none}::view-transition-old(site-menu){animation:vt-menu-clear .42s var(--ease-in) both}::view-transition-old(.route-from-menu){display:none}::view-transition-new(.route-from-menu){animation:none}@keyframes vt-menu-clear{to{opacity:0}}@keyframes vt-page-out{to{opacity:0;transform:translateY(-8px)}}@keyframes vt-page-in{0%{opacity:0}to{opacity:1}}::view-transition-group(sidebar){animation-duration:.95s;animation-timing-function:var(--ease-out)}::view-transition-group(topbar-brand){animation-duration:.95s;animation-timing-function:var(--ease-out)}::view-transition-old(sidebar){animation-duration:.8s;animation-delay:.24s;animation-fill-mode:both}::view-transition-new(sidebar){animation-duration:.8s;animation-delay:.24s;animation-fill-mode:both}::view-transition-group(sidebar-content){animation:none}::view-transition-old(sidebar-content){object-fit:none;object-position:top left;width:auto;height:auto}::view-transition-new(sidebar-content){object-fit:none;object-position:top left;width:auto;height:auto}::view-transition-old(sidebar-content){animation:vt-sidebar-content-out .5s var(--ease-in) both}::view-transition-new(sidebar-content){animation:vt-sidebar-content-in .72s var(--ease-out) .62s both}html:active-view-transition-type(to-article)::view-transition-new(sidebar-content){animation:1.5s linear .62s both vt-sidebar-outline-in;-webkit-mask-image:linear-gradient(135deg,#000 0% 42%,#0000 58% 100%);mask-image:linear-gradient(135deg,#000 0% 42%,#0000 58% 100%);-webkit-mask-size:100% 400%;mask-size:100% 400%}@keyframes vt-sidebar-content-out{to{opacity:0}}@keyframes vt-sidebar-outline-in{0%{-webkit-mask-position:0 100%;mask-position:0 100%}to{-webkit-mask-position:0 0;mask-position:0 0}}@keyframes vt-sidebar-content-in{0%{opacity:0}to{opacity:1}}::view-transition-group(brand){animation-duration:1.15s;animation-timing-function:var(--ease-in-out)}@media (prefers-reduced-motion:reduce){::view-transition-group(*){animation-duration:.18s!important;animation-delay:0s!important}::view-transition-old(*){animation:.12s ease-out both vt-reduced-out!important}::view-transition-new(*){animation:.18s ease-out both vt-reduced-in!important}::view-transition-group(root){animation:none!important}::view-transition-old(root){animation:none!important}::view-transition-new(root){animation:none!important}}@keyframes vt-reduced-out{to{opacity:0}}@keyframes vt-reduced-in{0%{opacity:0}to{opacity:1}}.shell{justify-content:flex-start;width:100%;min-height:100vh;display:flex}.shell-grid{gap:var(--shell-gap);grid-template-columns:300px minmax(0,848px);width:100%;padding:0 40px 0 64px;display:grid}:root{--shell-gap:clamp(64px, calc(34vw - 364px), 400px);--content-left:calc(364px + var(--shell-gap))}@media (max-width:1079px){.shell-grid{width:100%;max-width:1100px;margin:0;padding:0;display:block}html{scroll-padding-top:56px}}.prose{font-size:var(--article-body-size);line-height:var(--article-body-leading);color:var(--fg-2);--media-bleed:var(--bleed-hero-m);flex-direction:column;display:flex}@media (min-width:640px){.prose{--media-bleed:var(--bleed-hero)}}.prose p{color:var(--fg-2);font-size:var(--article-body-size);font-weight:400;line-height:var(--article-body-leading);padding-bottom:20px}.prose h2,.prose h3{color:var(--fg-1);font-size:var(--article-h3-size);font-weight:500;line-height:var(--article-h3-leading);padding-bottom:8px;scroll-margin-top:80px}.prose h2{font-size:var(--article-h2-size);line-height:var(--article-h2-leading);letter-spacing:-.015em;margin-top:40px}.prose h2:first-child{margin-top:0}.prose h4{color:var(--fg-1);font-size:var(--article-h3-size);font-weight:500;line-height:var(--article-h3-leading);padding-bottom:8px}.prose a{color:var(--fg-1);text-decoration:underline;-webkit-text-decoration-color:var(--fg-4);text-decoration-color:var(--fg-4);text-underline-offset:.25em;transition:text-decoration-color var(--dur-1) var(--ease-out)}.prose a:hover{-webkit-text-decoration-color:var(--fg-2);text-decoration-color:var(--fg-2)}.prose strong{color:var(--fg-1);font-weight:500}.prose ul,.prose ol{padding-bottom:20px;padding-left:20px}.prose li{margin:6px 0}.prose ul li::marker{color:var(--fg-1);font-size:.6em}.prose ol li::marker{color:var(--fg-1)}.prose blockquote{letter-spacing:-.03em;text-align:center;text-wrap:balance;color:var(--fg-1);margin:24px -24px 32px;font-size:21px;font-weight:500;line-height:29px}@media (min-width:1080px){.prose blockquote{font-size:20px;line-height:28px}}@media (min-width:640px) and (max-width:1079px){.prose blockquote{margin-left:-80px;margin-right:-80px}}@media (min-width:1080px){.prose blockquote{margin-left:-115px;margin-right:-115px}}.prose blockquote p{font-size:inherit;font-weight:inherit;line-height:inherit;letter-spacing:inherit;padding-bottom:0}.prose blockquote p+p{padding-top:14px}.prose hr{background:var(--border-1);border:none;width:100%;max-width:4rem;height:1px;margin:24px auto 48px}.prose figure:not([data-rehype-pretty-code-figure]){flex-direction:column;gap:8px;padding:1rem 0 2rem;display:flex}.prose figure:not([data-rehype-pretty-code-figure]) img,.prose figure:not([data-rehype-pretty-code-figure]) video,.prose p>img{background:var(--bg-1);border-radius:16px;width:100%;height:auto;display:block}.prose figcaption{color:var(--fg-4);font-size:var(--article-caption-size);letter-spacing:.01em;font-weight:400;line-height:var(--article-caption-leading)}.prose .mediaCaption{text-align:center;align-self:center;width:min(100%,360px);padding:2px 0 0;position:relative}@media (max-width:639px){.prose .mediaCaption{text-align:left;width:100%;max-width:none}}.prose figcaption a{color:inherit;text-decoration:underline;-webkit-text-decoration-color:var(--border-2);text-decoration-color:var(--border-2);text-underline-offset:.2em;transition:color var(--dur-1) var(--ease-out), text-decoration-color var(--dur-1) var(--ease-out)}.prose figcaption a:hover{color:var(--fg-2);-webkit-text-decoration-color:var(--fg-3);text-decoration-color:var(--fg-3)}.prose table{border-collapse:collapse;width:100%;margin-bottom:24px;font-size:12px}.prose th{color:var(--fg-4);text-align:left;border-bottom:1px solid var(--border-1);padding:0 16px 8px 0;font-size:11px;font-weight:500}.prose td{border-bottom:1px solid var(--border-1);vertical-align:top;color:var(--fg-2);padding:8px 16px 8px 0}.prose :not(pre)>code{font-family:var(--font-mono);background:var(--code-bg);--squircle-border:var(--border-1);color:var(--fg-3);white-space:pre-wrap;word-break:break-word;border:1px solid #0000;border-radius:3px;padding:1px 3px;font-size:.8em;display:inline-block}.prose figure[data-rehype-pretty-code-figure]{background:var(--code-bg);border-radius:1rem;margin:16px 0 48px;overflow:hidden}.prose [data-rehype-pretty-code-title]{font-family:var(--font-mono);color:var(--fg-4);background:var(--bg-2);border-bottom:1px solid var(--border-1);padding:10px 16px;font-size:11px}.prose pre{background:var(--code-bg);color:var(--fg-2);border-radius:1rem;margin:16px 0 48px;padding:1rem;font-size:11px;line-height:1.55;overflow-x:auto}.prose figure[data-rehype-pretty-code-figure] pre{border-radius:0;margin:0}.prose pre code{font-family:var(--font-mono);background:0 0;padding:0;display:grid}.prose figure[data-rehype-pretty-code-figure] figcaption:not([data-rehype-pretty-code-title]){padding:12px 16px 0}@media print{@page{margin:18mm}body{color:#000;background:#fff}.shell,.shell-grid{width:auto;min-height:0;padding:0;display:block;animation:none!important}.shell-grid>aside,[data-site-footer],[data-site-menu],section[aria-label=Comments],[data-adaptive-root],body>[aria-hidden=true],.skipLink,.noScriptHome,button,input,[contenteditable=true],video{display:none!important}.shell-grid>main{width:auto!important;max-width:none!important;margin:0!important;padding:0!important;overflow:visible!important}a{text-underline-offset:.16em;text-decoration:underline}img,figure,blockquote,pre,table{break-inside:avoid}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.12s!important;transition-delay:0s!important;transition-timing-function:ease-out!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}
