.prose{--tw-prose-body:#35353d;--tw-prose-headings:var(--ink);--tw-prose-lead:var(--muted);--tw-prose-links:var(--accent);--tw-prose-bold:var(--ink);--tw-prose-counters:var(--muted);--tw-prose-bullets:#c9c9d6;--tw-prose-hr:var(--hairline);--tw-prose-quotes:var(--ink);--tw-prose-quote-borders:var(--accent);--tw-prose-captions:var(--muted);--tw-prose-code:var(--ink);--tw-prose-pre-code:#e6e6ee;--tw-prose-pre-bg:#16161d;--tw-prose-th-borders:var(--hairline);--tw-prose-td-borders:var(--hairline);counter-reset:section;font-size:1.15rem;line-height:1.82}.prose>p:first-of-type{color:var(--ink);font-size:1.26em;line-height:1.62}.prose :where(h2,h3,h4){font-family:var(--font-display),ui-sans-serif,system-ui,sans-serif;letter-spacing:-.02em;scroll-margin-top:6rem;font-weight:700}.prose :where(h2,h3,h4) a{color:inherit;font-weight:inherit;text-decoration:none}.prose h2{counter-increment:section;margin-top:2.6em;margin-bottom:.7em;font-size:1.7rem;line-height:1.18}.prose h2:before{content:counter(section,decimal-leading-zero);font-family:var(--font-mono),ui-monospace,monospace;letter-spacing:.24em;color:var(--accent);margin-bottom:.55rem;font-size:.72rem;font-weight:600;display:block}.prose h3{margin-top:2em;margin-bottom:.5em;font-size:1.3rem;line-height:1.3}.prose :where(a):not(:where([class~=not-prose] *,h2 *,h3 *,h4 *)){-webkit-text-decoration-color:color-mix(in srgb,var(--accent)35%,transparent);text-decoration-color:color-mix(in srgb,var(--accent)35%,transparent);text-underline-offset:3px;font-weight:500;transition:color .15s}.prose :where(a:hover):not(:where([class~=not-prose] *,h2 *,h3 *,h4 *)){color:var(--accent-deep)}.prose :where(code):not(:where([class~=not-prose] *,pre *)){background:var(--paper-2);border:1px solid var(--hairline);border-radius:6px;padding:.12em .38em;font-size:.82em;font-weight:500}.prose :where(code):not(:where([class~=not-prose] *,pre *)):before,.prose :where(code):not(:where([class~=not-prose] *,pre *)):after{content:none}.prose :where(blockquote):not(:where([class~=not-prose] *)){font-family:var(--font-display),ui-sans-serif,system-ui,sans-serif;letter-spacing:-.01em;color:var(--ink);border-left:3px solid var(--accent);margin:2.4rem 0;padding-left:1.5rem;font-size:1.32rem;font-style:normal;font-weight:600;line-height:1.42}.prose :where(blockquote p):first-of-type:before,.prose :where(blockquote p):last-of-type:after{content:none}.prose :where(table):not(:where([class~=not-prose] *)){border:1px solid var(--hairline);border-collapse:separate;border-spacing:0;border-radius:14px;font-size:.95rem;overflow:hidden}.prose :where(thead):not(:where([class~=not-prose] *)){background:var(--paper-2);border-bottom-width:0}.prose :where(th):not(:where([class~=not-prose] *)){padding:.7em 1em;font-weight:600}.prose :where(td):not(:where([class~=not-prose] *)){padding:.7em 1em}.prose :where(tbody tr):not(:where([class~=not-prose] *)){border-top:1px solid var(--hairline)}@media (min-width:1024px){.prose figure.not-prose{margin-left:-1.5rem;margin-right:-1.5rem}}.prose :where(pre):not(:where([class~=not-prose] *)){border:1px solid #26262f;border-radius:16px;padding:1.15rem 0;font-size:.86rem;line-height:1.6;overflow-x:auto}.prose pre>code{background:0 0;border:0;padding:0;font-weight:400;display:grid}.prose pre [data-line]{border-left:2px solid #0000;padding:0 1.25rem}.prose pre [data-highlighted-line]{border-left-color:var(--accent);background:#ec48991a}figure[data-rehype-pretty-code-figure]{margin-top:1.7em;margin-bottom:1.7em;position:relative}figure[data-rehype-pretty-code-figure] [data-rehype-pretty-code-title]{font-family:var(--font-mono),ui-monospace,monospace;color:var(--muted);background:#16161d;border:1px solid #26262f;border-bottom:0;border-radius:12px 12px 0 0;padding:.6rem 1.1rem;font-size:.78rem}figure[data-rehype-pretty-code-figure]>[data-rehype-pretty-code-title]+div>pre{border-top:0;border-radius:0 0 16px 16px}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.reveal{opacity:0;transform:translateY(var(--reveal-y,16px));transition:opacity .5s cubic-bezier(.22,1,.36,1)var(--reveal-delay,0s),transform .5s cubic-bezier(.22,1,.36,1)var(--reveal-delay,0s);will-change:opacity,transform}.reveal[data-shown=true]{opacity:1;will-change:auto;transform:none}@keyframes nav-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}.nav-in{animation:.5s both nav-in}@media (prefers-reduced-motion:reduce){.reveal{transition:opacity .4s;transform:none}.nav-in{animation:none}}
