.blog-post{--blog-body-size:16px;--blog-body-leading:28px;--blog-body-color:var(--text-secondary);--blog-accent:var(--brand-500);--blog-radius:12px;--blog-media-max-height:360px;--blog-space-xs:8px;--blog-space-sm:12px;--blog-space-md:20px;--blog-space-lg:32px;--blog-space-xl:40px}.blog-article{font-size:var(--blog-body-size);line-height:var(--blog-body-leading);color:var(--blog-body-color);overflow-wrap:break-word}.blog-article>*+*{margin-top:var(--blog-space-md)}.blog-article>:where(figure,blockquote,pre,table,hr,p:has(>img),p:has(>.blog-image-zoom)),.blog-article>:where(figure,blockquote,pre,table,hr,p:has(>img),p:has(>.blog-image-zoom))+*{margin-top:var(--blog-space-lg)}.blog-article>:where(h1,h2){margin-top:var(--blog-space-xl)}.blog-article>:where(h3,h4,h5,h6){margin-top:var(--blog-space-lg)}.blog-article>:where(h1,h2,h3,h4,h5,h6)+*{margin-top:var(--blog-space-sm)}.blog-article>:first-child{margin-top:0}.blog-article p:empty{display:none}.blog-article :is(h1,h2,h3,h4,h5,h6){color:var(--text-primary);font-weight:600;text-wrap:balance}.blog-article :is(h1,h2){font-size:18px;line-height:26px}.blog-article :is(h3,h4,h5,h6){font-size:16px;line-height:24px}.blog-article :is(p,li){text-wrap:pretty}.blog-article :is(strong,b){font-weight:600;color:var(--text-primary)}.blog-article :is(ul,ol){padding-left:1.25em}.blog-article ul{list-style:disc}.blog-article ol{list-style:decimal}.blog-article li{padding-left:.25em}.blog-article li+li,.blog-article li>:is(ul,ol){margin-top:var(--blog-space-xs)}.blog-article li::marker{color:var(--text-tertiary)}.blog-article a{color:var(--blog-accent);font-weight:inherit;text-decoration-line:underline;text-decoration-thickness:1px;text-underline-offset:.2em;text-decoration-color:color-mix(in srgb,var(--blog-accent) 45%,transparent);transition:text-decoration-color .15s ease}.blog-article a :is(strong,b){color:inherit}.blog-article a:hover{text-decoration-color:currentColor}.blog-article a:focus-visible{outline:2px solid var(--blog-accent);outline-offset:2px;border-radius:2px}.blog-article blockquote{border-left:2px solid var(--blog-accent);padding-left:16px;font-style:normal}.blog-article blockquote>*+*{margin-top:var(--blog-space-sm)}.blog-article img{display:block;width:100%;height:auto;max-height:var(--blog-media-max-height);object-fit:scale-down;background-color:var(--bg-surface-1);border:1px solid var(--border-subtle);border-radius:var(--blog-radius)}.blog-article img:not([width][height]){aspect-ratio:auto 16/9}.blog-article p>:is(img,.blog-image-zoom)~:is(img,.blog-image-zoom){margin-top:var(--blog-space-md)}.blog-article :is(img,.blog-image-zoom)+br{display:none}.blog-article figcaption{margin-top:var(--blog-space-xs);font-size:13px;line-height:20px;color:var(--text-tertiary);text-align:center;text-wrap:balance}.blog-article .blog-image-zoom{position:relative;display:block;width:100%;padding:0;border:0;background:none;border-radius:var(--blog-radius);cursor:zoom-in}.blog-article .blog-image-zoom:hover img{border-color:var(--border-default)}.blog-article .blog-image-zoom:focus-visible{outline:2px solid var(--blog-accent);outline-offset:3px}.blog-article .blog-image-zoom:after{content:"";position:absolute;right:8px;bottom:8px;width:28px;height:28px;border:1px solid var(--border-default);border-radius:8px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 9V4h5M20 9V4h-5M4 15v5h5M20 15v5h-5'/%3E%3C/svg%3E") 50% /14px no-repeat,color-mix(in srgb,var(--bg-app) 80%,transparent);opacity:0;transition:opacity .15s ease;pointer-events:none}.blog-article .blog-image-zoom:is(:hover,:focus-visible):after{opacity:1}@media (hover:none){.blog-article .blog-image-zoom:after{opacity:1}}.blog-article table{display:block;width:max-content;max-width:100%;overflow-x:auto;border-collapse:collapse;font-size:14px;line-height:20px;font-variant-numeric:tabular-nums}.blog-article :is(th,td){padding:10px 12px;text-align:left;border-bottom:1px solid var(--border-subtle)}.blog-article th{font-weight:600}.blog-article code,.blog-article th{color:var(--text-primary);background-color:var(--bg-surface-1)}.blog-article code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.875em;padding:.125em .375em;border-radius:4px}.blog-article pre{padding:16px;overflow-x:auto;border:1px solid var(--border-subtle);border-radius:8px;background-color:var(--bg-surface-1);font-size:13px;line-height:20px}.blog-article pre code{padding:0;background:none;font-size:inherit}.blog-article hr{border:0;border-top:1px solid var(--border-subtle)}.blog-lightbox{position:fixed;inset:0;z-index:9998;background:rgb(0 0 0/.88)}.blog-lightbox__stage{position:absolute;inset:0;display:grid;place-items:center;padding:64px max(16px,4vw) max(16px,4vh);overflow:auto;overscroll-behavior:contain}.blog-lightbox__image{max-width:100%;max-height:calc(100dvh - 64px - max(16px, 4vh));border-radius:8px}.blog-lightbox[data-zoomable=true] .blog-lightbox__image{cursor:zoom-in}.blog-lightbox[data-zoomed=true] .blog-lightbox__stage{place-items:start center}.blog-lightbox[data-zoomed=true] .blog-lightbox__image{max-height:none;cursor:zoom-out}.blog-lightbox__toolbar{position:absolute;top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));display:flex;gap:8px}.blog-lightbox :is(button,a):focus-visible{outline:2px solid var(--brand-500);outline-offset:2px}@keyframes blog-lightbox-in{0%{opacity:0}}@media (prefers-reduced-motion:no-preference){.blog-lightbox{animation:blog-lightbox-in .16s ease-out}}@media (prefers-reduced-motion:reduce){.blog-article .blog-image-zoom:after,.blog-article a{transition:none}}