@layer composition{.toc[data-variant=mobile]{margin-block-end:var(--space-l-xl)}@media(min-width:1024px){.toc[data-variant=mobile]{display:none}}.toc[data-variant=mobile][open] summary{margin-block-end:var(--space-s)}}@layer blocks{.toc[data-variant=mobile]{background:var(--clr-bg-surface);border-radius:var(--space-s);padding:var(--space-m-l) var(--space-s-m)}.toc__summary{cursor:pointer;font-weight:var(--fw-bold);font-size:var(--fs-1)}.toc__nav{background:var(--clr-bg-page);border-radius:var(--space-xs);padding:var(--space-s-m) var(--gutter)}.toc__sublist{margin-inline-start:var(--space-s)}.toc__item,.toc__subitem{margin-block:var(--space-2xs)}.toc__link,.toc__sublink{transition:color .3s ease-in;font-size:var(--fs--1);text-decoration:none;color:var(--clr-text-muted)}}@layer composition{.toc[data-variant=desktop]{display:none}@media(min-width:1024px){.toc[data-variant=desktop]{display:block}}}@layer blocks{.toc__title{display:flex;align-items:center;gap:var(--space-xs);margin-block-end:var(--space-xs);font-size:var(--fs-0);font-weight:var(--fw-bold)}.toc__title:after{content:"";height:1px;flex:1;background:var(--clr-border-default)}.toc__scroll-area{position:relative}.toc__scroll-area:before,.toc__scroll-area:after{content:"";display:block;position:absolute;left:0;right:0;height:32px;pointer-events:none;z-index:2}.toc__scroll-area:before{top:0;background:linear-gradient(to top,transparent,var(--clr-bg-page))}.toc__scroll-area:after{bottom:0;background:linear-gradient(to bottom,transparent,var(--clr-bg-page))}.toc__list[data-variant=desktop]{max-height:300px;height:100%;padding-block:var(--space-3xs);overflow-y:auto;scrollbar-color:var(--clr-base-400) transparent}@media(min-width:1024px){.toc__link,.toc__sublink{font-size:var(--fs--2);font-weight:var(--fw-medium)}.toc__link:hover,.toc__sublink:hover,.toc__link[aria-current=true],.toc__sublink[aria-current=true]{color:var(--clr-brand)}}}@layer composition{.post-author{--flow-space: var(--space-xs-s);margin-block-start:var(--space-m-l)}.post-author__identity{--flow-space: var(--space-s-m)}}@layer blocks{.post-author{border-radius:var(--space-s);padding:var(--space-m-l) var(--space-s-m);background:var(--clr-bg-surface)}.post-author__title{font-size:var(--fs-2)}.post-author__name{font-size:var(--fs-1)}.post-author__role{margin-block-start:var(--space-3xs);font-size:var(--fs--2);font-weight:var(--fw-book);color:var(--clr-text-muted)}.post-author__bio{font-size:var(--fs--1)}.post-author__cta{display:inline-flex;align-items:center;gap:var(--space-3xs);text-decoration:underline}.post-author__cta:hover{text-decoration:none}}@layer blocks{.post-navigation{margin-block-start:var(--space-l-xl)}.post-navigation__list{border-top:1px solid var(--clr-border-default)}.post-navigation__item{border-bottom:1px solid var(--clr-border-default)}.post-navigation__link{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-m-l);padding:var(--space-s-m) var(--space-2xs);background-image:linear-gradient(to top,var(--clr-bg-dark) 0%,var(--clr-bg-dark) 100%);background-repeat:no-repeat;background-size:100% 0%;background-position:bottom;transition:background-size .6s cubic-bezier(.445,.05,.55,.95) 0s,color .6s cubic-bezier(.445,.05,.55,.95) 0s}.post-navigation__link:hover{text-decoration:none;background-size:100% 100%;color:var(--clr-text-subtle);transition-duration:.3s}.post-navigation__link:hover .post-navigation__label{color:var(--clr-text-subtle);transition-duration:.3s}.post-navigation__label{color:var(--clr-brand);transition:color .6s cubic-bezier(.445,.05,.55,.95) 0s}.post-navigation__title{grid-column:span 3/span 3;font-size:var(--fs-1);font-weight:var(--fw-bold);text-align:right}}@layer blocks{.comments{margin-block-start:var(--space-l-xl)}.comments__header{border-radius:var(--space-s);padding:var(--space-l-xl);background:var(--clr-bg-surface)}@media(min-width:768px){.comments__header{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr);gap:var(--space-m-l)}}.comments__header-block{grid-column:1/span 2;grid-row:2;display:flex;flex-direction:column;gap:var(--space-xs-s)}.comments__heading{font-size:var(--fs-5)}.comments__policy{font-size:var(--fs--1)}.comments__policy a{color:var(--clr-link);text-decoration:underline}.comments__policy a:hover{text-decoration:none}.comments__disqus-thread{margin-block-start:var(--space-s-m)}.comments__loader{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:120px;padding:var(--space-s-m) var(--gutter);font-size:var(--fs--1);color:var(--clr-text-muted)}}@layer utilities{#disqus_thread{--clr-base-50: rgb(246, 247, 243);--clr-base-100: rgb(237, 238, 232);--clr-base-200: rgb(206, 207, 202);--clr-base-300: rgb(179, 180, 175);--clr-base-400: rgb(152, 153, 149);--clr-base-500: rgb(124, 124, 121);--clr-base-600: rgb(99, 99, 97);--clr-base-700: rgb(73, 73, 71);--clr-base-800: rgb(50, 51, 49);--clr-base-900: rgb(27, 28, 27);--clr-base-950: rgb(17, 17, 16);--clr-white: rgb(255, 255, 255);--clr-black: rgb(0, 0, 0);--clr-text-default: var(--clr-base-950);--clr-text-muted: var(--clr-base-700);--clr-text-subtle: var(--clr-base-50);--clr-text-on-dark: var(--clr-base-300);--clr-link: var(--clr-brand);--clr-bg-page: var(--clr-base-50);--clr-bg-surface: var(--clr-base-100);--clr-bg-hover: var(--clr-base-200);--clr-bg-subtle: var(--clr-base-50);--clr-bg-dark: var(--clr-base-900);--clr-bg-dark-hover: var(--clr-base-700);--clr-bg-overlay: hsla(240, 5%, 96%, .9);--clr-border-default: var(--clr-base-200);--clr-border-muted: var(--clr-base-700);--clr-brand: rgb(33, 75, 202);--clr-brand-dark: rgb(26, 59, 158);--clr-brand-shadow: rgba(26, 59, 158, .4);color:var(--clr-text-default);background-color:var(--clr-bg-page)}}@layer blocks{.ad-slot{width:100%;max-width:100%}.ad-slot--in-article:after{content:"";display:block;height:1px;margin-block-start:var(--space-s);background:var(--clr-border-default)}.ad-slot__label{display:flex;align-items:center;gap:var(--space-xs);margin-block-end:var(--space-xs);font-weight:var(--fw-bold);line-height:1}.ad-slot__label:after{content:"";height:1px;flex:1;background:var(--clr-border-default)}.ad-slot__label--in-article{font-size:var(--fs--2);font-weight:var(--fw-book);color:var(--clr-text-muted)}.ad-slot__placeholder{display:flex;align-items:center;justify-content:center;min-height:250px;background:var(--clr-bg-surface);border:1px dashed var(--clr-border-default);color:var(--clr-text-muted);font-size:var(--fs--1)}.adsbygoogle--sidebar{display:none}@media(min-width:1024px){.adsbygoogle--sidebar{display:block;width:300px;height:250px}}}@layer composition{.post-hero{--flow-space: var(--space-s-m)}.post-layout{display:grid;grid-template-columns:1fr;gap:var(--space-l-xl)}@media(min-width:1024px){.post-layout{grid-template-columns:1fr 355px}}.post-primary,.post-sidebar{min-width:0;margin-block-start:var(--space-l-xl)}.post-sidebar{display:none}@media(min-width:1024px){.post-sidebar{display:block;padding-left:var(--space-l-xl)}.post-sidebar__toc{margin-block-start:var(--space-m-l)}}@media(min-width:1024px)and (hover:none)and (pointer:coarse){.post-sidebar__stack{height:100%}.post-sidebar__toc{position:sticky;top:var(--space-s-m)}}@media(min-width:1024px)and (hover:hover)and (pointer:fine){.post-sidebar__stack{height:auto;position:sticky;top:var(--space-s-m)}.post-sidebar__toc{position:static}}}@layer blocks{.post-hero__category-link{--flow-inline-space: var(--space-2xs);display:inline-block;margin-block-end:var(--space-2xs);border:1px solid var(--clr-border-default);border-radius:9999px;padding:var(--space-2xs) var(--space-xs);font-size:var(--fs--2);font-weight:var(--fw-bold);line-height:1;transition:background-color .3s ease-in-out}.post-hero__category-link:hover,.post-hero__category-link:focus-visible{text-decoration:none;background-color:var(--clr-bg-hover)}.post-hero__title{max-width:var(--max-width-narrow)}.post-hero__excerpt{max-width:var(--max-width-narrow);font-weight:var(--fw-book);color:var(--clr-text-muted)}.post-hero__meta{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--fs--2)}.post-hero__meta-avatar{border-radius:50%;flex-shrink:0}.post-hero__meta-text{display:flex;flex-direction:column;gap:var(--space-3xs)}.post-hero__meta-author{font-weight:var(--fw-bold)}.post-hero__meta-date{font-weight:var(--fw-book);color:var(--clr-text-muted)}.post-footer{margin-block-start:var(--space-m-l)}.post-footer__tags-title{margin-block-end:var(--space-2xs-xs);font-weight:var(--fw-bold)}.post-footer__tags-link{display:inline-block;margin:var(--space-3xs);border:1px solid var(--clr-border-default);border-radius:9999px;padding:var(--space-2xs) var(--space-xs);font-size:var(--fs--2);line-height:1;text-decoration:none;color:inherit;transition:background-color .3s ease-in-out}.post-footer__tags-link:hover{background-color:var(--clr-bg-hover)}@media(min-width:1024px){.post-sidebar{border-left:1px solid var(--clr-border-default)}}}@layer content{table{width:100%;table-layout:fixed;border-collapse:collapse;vertical-align:middle;font-size:var(--fs--1);overflow:hidden}th,td{padding:var(--gutter);border-bottom:1px solid var(--clr-border-default);vertical-align:middle}th{background:var(--clr-bg-surface);font-weight:var(--fw-bold);text-align:left}blockquote{margin:var(--space-s-m) 0 0 var(--space-s-m);padding:var(--space-s-m);border-left:8px solid var(--clr-border-default);background:var(--clr-bg-default);font-size:var(--fs-1);font-weight:var(--fw-medium);line-height:var(--lh-loose);color:var(--clr-text-muted)}blockquote>*+*{margin-block-start:var(--space-xs-s)}code,kbd,tt,var{font-family:var(--font-code)}code,pre{font-family:var(--font-code);font-size:var(--fs--1);border-radius:.2rem}p>code,li>code,dd>code,td>code{border:1px solid var(--clr-border-default);padding:.2rem;background:var(--clr-bg-surface)}pre{margin-block:1.5rem;padding:1.5rem;overflow-x:auto;border-radius:var(--space-3xs-2xs);background:var(--clr-bg-dark);color:var(--clr-text-subtle);white-space:pre}pre code{display:block;background:none}abbr,acronym{border-bottom:2px dotted var(--clr-border-default);cursor:help}mark,ins{text-decoration:none}.prose{--flow-space: var(--space-s-m);line-height:var(--lh-loose)}.prose :is(h2,h3,h4){--flow-space: var(--space-l-xl)}.prose a{text-decoration:underline;color:var(--clr-brand)}.prose a:hover{text-decoration:none}.prose ol,.prose ul{--flow-space: var(--space-s-m);counter-reset:list-item;padding-inline-start:var(--space-s-m)}.prose ol{list-style-type:decimal}.prose ul{list-style-type:disc}.prose li{margin-block:.5rem}.prose li>ul{list-style-type:circle}.prose img{margin:var(--space-s-m) auto}}
