.sidebar-title{opacity:0;grid-template-rows:0fr;transition:grid-template-rows .35s cubic-bezier(.22,1,.36,1),opacity .25s;display:grid}.sidebar-title.is-shown{opacity:1;grid-template-rows:1fr}.sidebar-title-inner{min-height:0;overflow:hidden}@media (prefers-reduced-motion:reduce){.sidebar-title{transition:none}}.prose-blog>p:not(:has(>img)),.prose-blog>ul,.prose-blog>ol,.prose-blog>blockquote{content-visibility:auto;contain-intrinsic-size:auto 7rem}.prose-blog>table{content-visibility:auto;contain-intrinsic-size:auto 16rem}.prose-blog>pre,.prose-blog>.code-wrap{content-visibility:auto;contain-intrinsic-size:auto 10rem}.prose-blog h2{letter-spacing:-.01em;margin-top:2.25rem;margin-bottom:.75rem;scroll-margin-top:1.5rem;font-size:1.375rem;font-weight:700}.prose-blog h3{margin-top:1.75rem;margin-bottom:.5rem;scroll-margin-top:1.5rem;font-size:1.125rem;font-weight:600}.prose-blog p{color:#404040;margin-bottom:1.1rem;font-size:.9375rem;line-height:1.75}.dark .prose-blog p{color:#d4d4d4}.prose-blog ul,.prose-blog ol{color:#404040;margin-bottom:1.1rem;padding-left:1.4rem;font-size:.9375rem;line-height:1.75}.prose-blog ul{list-style:outside}.prose-blog ol{counter-reset:step;padding-left:0;list-style:none}.prose-blog ol>li{counter-increment:step;margin-bottom:.75rem;padding-left:2.25rem;position:relative}.prose-blog ol>li:before{content:counter(step);width:1.5rem;height:1.5rem;font-family:var(--font-mono);color:var(--color-signal-ink,#9a3412);background:#f26b1d24;border:1px solid #f26b1d59;border-radius:9999px;justify-content:center;align-items:center;font-size:.75rem;font-weight:600;line-height:1;display:flex;position:absolute;top:.2rem;left:0}.dark .prose-blog ol>li:before{color:var(--color-signal,#f26b1d)}.dark .prose-blog ul,.dark .prose-blog ol{color:#d4d4d4}.prose-blog li{margin-bottom:.35rem}.prose-blog a{color:var(--color-signal-ink,#9a3412);text-underline-offset:2px;text-decoration:underline}.dark .prose-blog a{color:var(--color-signal,#f26b1d)}.prose-blog blockquote{border-left:2px solid #a3a3a399;margin:1.5rem 0 1.5rem .25rem;padding:.1rem 0 .1rem 1.1rem}.prose-blog blockquote p{color:#525252}.dark .prose-blog blockquote p{color:#a3a3a3}.prose-blog blockquote strong{color:var(--color-ink,#15171c)}.dark .prose-blog blockquote strong{color:var(--color-paper,#f5f3ee)}.prose-blog blockquote:has(>p:first-child>strong:first-child){border-left:3px solid var(--color-signal,#f26b1d);background:#f26b1d12;border-radius:.5rem;margin:1.5rem 0;padding:.9rem 1.1rem .15rem}.dark .prose-blog blockquote:has(>p:first-child>strong:first-child){background:#f26b1d1a}.prose-blog blockquote:has(>p:first-child>strong:first-child) p{color:#404040}.dark .prose-blog blockquote:has(>p:first-child>strong:first-child) p{color:#d4d4d4}.prose-blog blockquote>:last-child{margin-bottom:.75rem}.prose-blog blockquote ol{margin-bottom:.5rem}.prose-blog p.prose-label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-ink,#15171c);margin:2rem 0 .75rem;font-size:.8125rem;font-weight:700}.dark .prose-blog p.prose-label{color:var(--color-paper,#f5f3ee)}.prose-blog code{font-family:var(--font-mono);background:#e5e5e599;border-radius:.3em;padding:.15em .4em;font-size:.85em}.dark .prose-blog code{background:#ffffff14}.prose-blog pre{font-family:var(--font-mono);color:#f5f3ee;background:#15171c;border-radius:.5rem;margin-bottom:1.25rem;padding:1rem 1.25rem;font-size:.85rem;line-height:1.6;overflow-x:auto}.prose-blog pre code{background:0 0;padding:0}.prose-blog .code-wrap{margin-bottom:1.25rem;position:relative}.prose-blog .code-wrap pre{margin-bottom:0;padding-right:4.5rem}.prose-blog .code-copy{min-height:1.75rem;font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:#d4d4d4;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff2e;border-radius:.375rem;padding:.2rem .65rem;font-size:.6875rem;font-weight:700;transition:background .15s,color .15s;position:absolute;top:.5rem;right:.5rem}.prose-blog .code-copy:hover{color:#faf9f5;background:#ffffff24}.prose-blog .code-copy.is-done{color:#9fe1cb;border-color:#5dcaa599}.prose-blog img{border-radius:.5rem;max-width:100%;height:auto;margin:1.5rem 0}.prose-blog{counter-reset:fig}.prose-blog p:has(>img),.prose-blog figure.anim-figure{counter-increment:fig;background:#15171c;border:1px solid #73737359;border-radius:.5rem;margin:1.75rem 0;padding:0;overflow:hidden}.prose-blog p:has(>img) img,.prose-blog figure.anim-figure img,.prose-blog figure.anim-figure svg{border-radius:0;width:auto;max-width:100%;height:auto;margin:0 auto;display:block}.prose-blog p:has(>img) em,.prose-blog figure.anim-figure figcaption{color:#a3a39e;border-top:1px solid #ffffff1a;flex-wrap:wrap;align-items:baseline;gap:.25rem 1rem;padding:.7rem 1rem;font-size:.8125rem;font-style:normal;line-height:1.5;display:flex}.prose-blog p:has(>img) em:before,.prose-blog figure.anim-figure figcaption:before{content:"FIG " counter(fig, upper-alpha);font-family:var(--font-mono);letter-spacing:.08em;color:#faf9f5;font-size:.75rem;font-weight:700}.prose-blog figure.anim-figure figcaption .fig-caption{text-align:right;margin-left:auto}.prose-blog figure.anim-figure .fig-pause{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:#fac775;cursor:pointer;font-size:.75rem;display:none}.prose-blog figure.anim-figure.is-ready .fig-pause{display:inline}.prose-blog figure.anim-figure .fig-pause:hover{color:#faf9f5}@media (width<=639px){.prose-blog figure.anim-figure figcaption .fig-caption{text-align:left;flex-basis:100%;margin-left:0}}.prose-blog hr{border:none;border-top:1px solid #e5e5e5;margin:2rem 0}.dark .prose-blog hr{border-top-color:#262626}.prose-blog table{border-collapse:collapse;width:100%;margin:1.5rem 0;font-size:.9rem;line-height:1.5}.prose-blog th,.prose-blog td{text-align:left;vertical-align:top;border-bottom:1px solid #d4d4d4;padding:.8rem 1rem}.prose-blog th{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-ink,#15171c);border-bottom:2px solid var(--color-ink,#15171c);padding-top:.55rem;padding-bottom:.55rem;font-size:.75rem;font-weight:700}.prose-blog td:first-child{color:var(--color-ink,#15171c);font-weight:600}.prose-blog tbody tr:hover td{background:#f26b1d0f}.dark .prose-blog th,.dark .prose-blog td{border-bottom-color:#343438}.dark .prose-blog th{color:var(--color-paper,#f5f3ee);border-bottom-color:#d4d4d4}.dark .prose-blog td:first-child{color:var(--color-paper,#f5f3ee)}.dark .prose-blog tbody tr:hover td{background:#f26b1d17}@media (width<=639px){.prose-blog table{-webkit-overflow-scrolling:touch;max-width:100%;font-size:.8125rem;display:block;overflow-x:auto}.prose-blog th,.prose-blog td{min-width:6.5rem;padding:.4rem .55rem}.prose-blog p code,.prose-blog li code{overflow-wrap:anywhere}.prose-blog pre{padding:.875rem 1rem;font-size:.8rem}}#blog-toc-list a.is-active{color:var(--color-ink,#15171c);font-weight:600}.dark #blog-toc-list a.is-active{color:var(--color-paper,#f5f3ee)}.toc-line{min-width:0}.toc-progress-track{background-color:#e5e5e5;background-image:repeating-linear-gradient(-45deg,#a3a3a380 0 1.5px,#0000 1.5px 4px)}.dark .toc-progress-track{background-color:#262626;background-image:repeating-linear-gradient(-45deg,#73737380 0 1.5px,#0000 1.5px 4px)}#mobile-reading-list a.is-active{color:var(--color-ink,#15171c);background:#f5f5f5;font-weight:600}.dark #mobile-reading-list a.is-active{color:var(--color-paper,#f5f3ee);background:#262626}#mobile-reading-bar.is-visible{translate:0}.takeaway-text mark{color:inherit;font-weight:inherit;background-color:#f26b1d2e;border-radius:.2em;padding:.05em .25em}.dark .takeaway-text mark{background-color:#f26b1d40}.related-row{color:var(--color-ink,#15171c);grid-template-columns:1fr auto;grid-template-areas:"date min""title title";gap:.35rem 1rem;padding:1rem 0;transition:opacity .2s;display:grid}.dark .related-row{color:var(--color-paper,#f5f3ee)}.related-date{color:#737373;grid-area:date;font-size:.8125rem}.related-min{color:#737373;white-space:nowrap;grid-area:min;font-size:.8125rem}.related-title{font-family:var(--font-sans,ui-sans-serif, system-ui, sans-serif);grid-area:title;font-size:1.0625rem;line-height:1.4}@media (width>=768px){.related-row{grid-template-columns:1fr 2fr auto;grid-template-areas:"date title min";align-items:baseline;padding:1.1rem 0}.related-title{font-size:1.125rem}}@media (hover:hover){.related-list:hover .related-row{opacity:.45}.related-list:hover .related-row:hover,.related-list:hover .related-row:focus-visible{opacity:1}}
