._prose_1n5zz_2{overflow-wrap:break-word;color:var(--color-text-strong)}._prose_1n5zz_2>:first-child{margin-top:0}._prose_1n5zz_2>:last-child{margin-bottom:0}._prose_1n5zz_2 p,._prose_1n5zz_2 ul,._prose_1n5zz_2 ol,._prose_1n5zz_2 pre,._prose_1n5zz_2 figure,._prose_1n5zz_2 table{margin:0 0 1.4em}._prose_1n5zz_2 h2,._prose_1n5zz_2 h3,._prose_1n5zz_2 h4{font-family:var(--font-inter);color:var(--color-ink);letter-spacing:-.015em;scroll-margin-top:96px}._prose_1n5zz_2 h2{margin:2.2em 0 .7em;font-size:1.3em;line-height:1.3}._prose_1n5zz_2 h3{margin:1.8em 0 .6em;font-size:1.1em;line-height:1.35}._prose_1n5zz_2 h4{margin:1.6em 0 .5em;font-size:1em}._prose_1n5zz_2 a{text-underline-offset:3px;text-decoration:underline 1px}._prose_1n5zz_2 strong{color:var(--color-ink)}._prose_1n5zz_2 ul,._prose_1n5zz_2 ol{padding-left:1.4em}._prose_1n5zz_2 li{margin-bottom:.5em}._prose_1n5zz_2 li>ul,._prose_1n5zz_2 li>ol{margin:.5em 0 0}._prose_1n5zz_2 blockquote{border-left:3px solid var(--color-ink);color:var(--color-ink);margin:1.8em 0;padding:4px 0 4px 24px;font-size:1.2em;font-style:italic;line-height:1.5}._prose_1n5zz_2 blockquote p{margin:0}._prose_1n5zz_2 img{border-radius:10px;width:100%;height:auto;margin:2em 0}._prose_1n5zz_2 hr{border:0;border-top:1px solid var(--color-border);width:120px;margin:2.5em auto}._prose_1n5zz_2 code{background:var(--color-surface-hover);font-family:var(--font-jetbrains-mono);font-variant-ligatures:none;border-radius:4px;padding:2px 6px;font-size:.8em}._prose_1n5zz_2 pre{background:var(--color-ink);color:#e3e6ea;border-radius:10px;padding:20px 24px;font-size:.72em;line-height:1.6;overflow-x:auto}._prose_1n5zz_2 pre code{font-size:inherit;background:0 0;padding:0}._prose_1n5zz_2 .code-frame{font-family:var(--font-inter);background:#24292e;border:1px solid #343a40;border-radius:10px;margin:0 0 1.4em;overflow:hidden}._prose_1n5zz_2 .code-frame pre{border-radius:0;margin:0;padding:16px 0}._prose_1n5zz_2 .code-frame pre code{min-width:100%;display:inline-block}._prose_1n5zz_2 .code-frame__header{color:#959da5;background:#1f2428;border-bottom:1px solid #343a40;justify-content:space-between;align-items:center;gap:12px;min-height:40px;padding:0 8px 0 16px;font-size:13px;line-height:1.4;display:flex}._prose_1n5zz_2 .code-frame__title{text-overflow:ellipsis;white-space:nowrap;text-transform:lowercase;overflow:hidden}._prose_1n5zz_2 .code-frame__title--file{color:#e1e4e8;font-family:var(--font-jetbrains-mono);text-transform:none}._prose_1n5zz_2 .code-frame__copy{color:#959da5;font:inherit;cursor:pointer;background:0 0;border:1px solid #343a40;border-radius:6px;flex-shrink:0;padding:4px 10px;font-size:12px;transition:color .15s,border-color .15s}._prose_1n5zz_2 .code-frame__copy:hover{color:#e1e4e8;border-color:#959da5}._prose_1n5zz_2 .code-frame__copy:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}._prose_1n5zz_2 .code-frame__copy[data-copied]{color:#85e89d;border-color:#85e89d}._prose_1n5zz_2 .code-frame .line{box-sizing:border-box;border-left:3px solid #0000;width:100%;padding:0 24px;display:inline-block}._prose_1n5zz_2 .code-frame .line.highlighted{background:#79b8ff1f;border-left-color:#79b8ff}._prose_1n5zz_2 .code-frame .highlighted-word{background:#79b8ff38;border-radius:3px;padding:1px 3px}._prose_1n5zz_2 .code-frame .line.diff{position:relative}._prose_1n5zz_2 .code-frame .line.diff:after{user-select:none;position:absolute;left:8px}._prose_1n5zz_2 .code-frame .line.diff.add{background:#85e89d1f;border-left-color:#85e89d}._prose_1n5zz_2 .code-frame .line.diff.add:after{content:"+";color:#85e89d}._prose_1n5zz_2 .code-frame .line.diff.remove{opacity:.75;background:#f975831f;border-left-color:#f97583}._prose_1n5zz_2 .code-frame .line.diff.remove:after{content:"−";color:#f97583}._prose_1n5zz_2 .code-frame .has-focused .line:not(.focused){opacity:.4;transition:opacity .2s}._prose_1n5zz_2 .code-frame .has-focused:hover .line:not(.focused){opacity:1}._prose_1n5zz_2 .code-frame .line-numbers code{counter-reset:line}._prose_1n5zz_2 .code-frame .line-numbers .line:before{color:#6a737d;text-align:right;content:counter(line);counter-increment:line;user-select:none;width:2.5em;margin-right:16px;display:inline-block}._prose_1n5zz_2 kbd{border:1px solid var(--color-border-strong);background:var(--color-surface-alt);color:var(--color-ink);font-family:var(--font-jetbrains-mono);white-space:nowrap;border-bottom-width:2px;border-radius:5px;padding:1px 7px;font-size:.75em;line-height:1.6;display:inline-block}._prose_1n5zz_2 details{border:1px solid var(--color-border);border-radius:10px;margin:0 0 1.4em;padding:0 18px;font-size:.95em}._prose_1n5zz_2 details[open]{padding-bottom:4px}._prose_1n5zz_2 details>:last-child{margin-bottom:12px}._prose_1n5zz_2 summary{color:var(--color-ink);font-family:var(--font-inter);cursor:pointer;margin:0 -18px;padding:12px 18px;font-weight:600}._prose_1n5zz_2 summary:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}._prose_1n5zz_2 table{border-collapse:collapse;width:100%;font-family:var(--font-inter);font-size:.8em;display:block;overflow-x:auto}._prose_1n5zz_2 th,._prose_1n5zz_2 td{border-bottom:1px solid var(--color-border);text-align:left;padding:10px 12px}._prose_1n5zz_2 th{color:var(--color-ink);font-weight:600}._article_1n5zz_290{font-family:var(--font-source-serif);font-size:20px;line-height:1.75}@media (width<=600px){._article_1n5zz_290{font-size:18px}}._bio_1n5zz_301{font-size:16px;line-height:1.75}._bio_1n5zz_301 p{margin-bottom:1.1em}
