:root{--font-mono-family: "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, Monaco, Consolas, "Liberation Mono", monospace}.blog-prose{color:var(--foreground);font-family:var(--font-prose-family, var(--font-ui-family));font-size:1.35rem;line-height:1.4;font-weight:500;text-wrap:pretty}.blog-prose::selection,.blog-prose *::selection{background:var(--blog-selection-bg, color-mix(in oklch, var(--peach) 68%, white));color:var(--blog-selection-fg, var(--foreground));text-shadow:none}.blog-prose :where(h1,h2,h3,h4,h5,h6,.not-prose,.not-prose *){font-family:var(--font-ui-family)}.blog-prose>*+*{margin-top:1.15em}.blog-prose h2,.blog-prose h3,.blog-prose h4{color:var(--foreground);font-weight:760;letter-spacing:-.04em;line-height:1.1;scroll-margin-top:clamp(6.5rem,12vw,8.5rem)}.blog-prose h2{margin-top:2.5em;font-size:clamp(1.8rem,1.25rem + 1.7vw,3rem)}.blog-prose h3{margin-top:2em;font-size:clamp(1.38rem,1.1rem + .9vw,2rem)}.blog-prose a{color:var(--foreground);text-decoration:underline;text-decoration-color:#a3576473;text-decoration-thickness:.08em;text-underline-offset:.18em}.blog-prose ul,.blog-prose ol{display:grid;gap:.55rem;padding-left:1.55em;list-style-position:outside}.blog-prose ul{list-style-type:disc}.blog-prose ol{list-style-type:decimal}.blog-prose li{padding-left:.2em}.blog-prose li::marker{color:var(--foreground);font-size:.82em}.blog-prose blockquote{position:relative;margin-inline:0;padding:.75rem 1rem .8rem 1.45rem;border:0;border-left:.16rem solid color-mix(in oklch,var(--foreground) 32%,transparent);color:var(--foreground);font-size:1.55rem;font-style:italic;font-weight:560;line-height:1.12;margin-top:3rem;margin-bottom:3rem}.blog-prose blockquote p{margin:0}.blog-prose :not(pre)>code{border:1px solid var(--line);border-radius:.45rem;background:#ffffff9e;padding:.08rem .34rem;font-family:var(--font-mono-family);font-size:.74em}.blog-prose pre{max-width:100%;overflow-x:auto;border:1px solid var(--line-2);border-radius:1.25rem;background:#121920;padding:1.15rem;color:#f3eee1;box-shadow:var(--shadow-card)}.blog-prose pre code{font-family:var(--font-mono-family);font-size:.88rem;line-height:1.65}.blog-prose hr{border:0;border-top:1px solid var(--line-2);margin-block:3rem}.blog-prose img{border-radius:1.4rem;border:1px solid var(--line);box-shadow:var(--shadow-card)}.blog-sandpack .sp-wrapper{overflow:hidden;border:1px solid var(--line-2);border-radius:1.25rem;background:#ffffff9e;box-shadow:var(--shadow-card)}.blog-sandpack .blog-sandpack-shell,.blog-sandpack .blog-sandpack-layout,.blog-sandpack .blog-sandpack-editor,.blog-sandpack .blog-sandpack-code-editor,.blog-sandpack .blog-sandpack-tabs,.blog-sandpack .blog-sandpack-preview-panel,.blog-sandpack .blog-sandpack-preview-container,.blog-sandpack .blog-sandpack-preview-iframe,.blog-sandpack .blog-sandpack-overlay,.blog-sandpack .blog-sandpack-loading,.blog-sandpack .sp-code-editor,.blog-sandpack .sp-preview-container,.blog-sandpack .sp-preview-iframe,.blog-sandpack .sp-tabs,.blog-sandpack .cm-editor,.blog-sandpack .cm-content,.blog-sandpack .cm-line,.blog-sandpack .cm-scroller,.blog-sandpack .cm-gutters{background:#fdfaf1}.blog-sandpack .cm-lineNumbers .cm-gutterElement{display:flex;min-width:1.7rem;align-items:center;justify-content:center;padding-inline:.3rem;font-size:.72rem;line-height:1.6}.blog-sandpack .blog-sandpack-preview-iframe,.blog-sandpack .sp-preview-iframe{background:#fdfaf1;color-scheme:light}.blog-sandpack .blog-sandpack-code-editor,.blog-sandpack .sp-code-editor{min-height:100%}.blog-sandpack .sp-layout{border:0;background:transparent}.blog-sandpack .sp-stack{min-height:32rem}@media(min-width:1024px){.blog-prose pre,.blog-sandpack{width:min(100%,60rem);margin-inline:0}}@media(max-width:760px){.blog-prose{font-size:1.2rem}.blog-sandpack .sp-stack{min-height:34rem}}@keyframes blog-reveal-in{0%{opacity:0;transform:translate3d(0,var(--reveal-y, 24px),0)}to{opacity:1;transform:translateZ(0)}}html [data-blog-reveal]{opacity:0;transform:translate3d(0,var(--reveal-y, 24px),0);animation:blog-reveal-in .8s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:var(--reveal-delay, 0s);will-change:opacity,transform}@media(prefers-reduced-motion:reduce){html [data-blog-reveal]{opacity:1;transform:none;animation:none}}@font-face{font-family:Erode;src:url(/_astro/Erode-Variable.dLltoyfJ.woff2) format("woff2");font-style:normal;font-weight:300 900;font-display:swap}@font-face{font-family:Erode;src:url(/_astro/Erode-VariableItalic.C3FUkM47.woff2) format("woff2");font-style:italic;font-weight:300 900;font-display:swap}:root{--font-prose-family: "Erode", ui-serif, Georgia, "Times New Roman", serif}
