.blog-page{--blog-measure:660px;--blog-inset:16px;color:var(--text-primary)}.blog-page :where(a,button,summary,[tabindex="0"]):focus-visible{outline:2px solid var(--accent-flame,#f05223);outline-offset:4px}.blog-page [aria-current=page]{color:var(--text-primary);font-weight:500}.blog-page>header button[aria-expanded]{min-width:44px;min-height:44px}.blog-skip{z-index:60;background:#fff;border-radius:6px;padding:8px 16px;position:fixed;top:8px;left:24px;transform:translateY(-150%)}.blog-skip:focus{transform:translateY(0)}.blog-layout{grid-template-columns:minmax(0,660px);justify-content:center;padding-inline:24px;display:grid}.blog-header{padding-top:64px;padding-bottom:40px}.blog-meta{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:8px 16px;font-size:16px;display:flex}.blog-category{color:var(--text-primary);font-weight:500}.blog-title{overflow-wrap:anywhere;letter-spacing:-.025em;text-wrap:balance;margin-top:20px;font-size:40px;font-weight:500;line-height:1.15}.blog-byline{align-items:center;gap:12px;font-size:16px;display:flex}.blog-byline img{border-radius:50%}.blog-header-tools{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-top:28px;display:flex}.blog-reading{padding-bottom:80px}.blog-mobile-toc{border-block:1px solid var(--border-subtle);color:var(--text-secondary);margin-bottom:32px;font-size:16px}.blog-mobile-toc summary{cursor:pointer;padding-block:14px}.blog-mobile-toc nav{padding-bottom:16px}.blog-mobile-toc a{padding-block:8px;display:block}.blog-prose{width:100%;min-width:0;max-width:var(--blog-measure);overflow-wrap:anywhere;color:var(--text-secondary);font-size:16px;line-height:1.8}.blog-prose>:first-child{margin-top:0}.blog-prose :where(p,ul,ol,blockquote,.blog-callout,.blog-table,.blog-code){margin-top:24px}.blog-prose :where(h2,h3,h4){color:var(--text-primary);letter-spacing:-.015em;scroll-margin-top:96px;font-weight:500;line-height:1.35}.blog-prose h2{margin-top:56px;margin-bottom:16px;font-size:24px}.blog-prose h3{margin-top:36px;margin-bottom:12px;font-size:19px}.blog-prose h4{margin-top:28px;margin-bottom:8px;font-size:16px}.blog-prose :where(h2,h3,h4)+*{margin-top:0}.blog-prose strong{color:var(--text-primary);font-weight:500}.blog-prose a{color:var(--text-primary);text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:4px}.blog-prose :where(ul,ol){padding-left:24px}.blog-prose ul{list-style:outside}.blog-prose ol{list-style:decimal}.blog-prose li{margin-top:8px;padding-left:4px}.blog-prose li :where(p,ul,ol){margin-top:8px}.blog-prose :where(ul,ol).contains-task-list{padding-left:0;list-style:none}.blog-prose .task-list-item input{margin-right:8px}.blog-prose blockquote{border-left:2px solid var(--border-strong);color:var(--text-primary);padding-left:22px}.blog-prose blockquote>:first-child,.blog-callout>:first-child{margin-top:0}.blog-prose :not(pre)>code{font-family:var(--font-mono);color:var(--text-primary);background:#0000000b;border-radius:4px;padding:2px 4px;font-size:.85em}.blog-prose hr{border-color:var(--border-subtle);margin-block:48px}.blog-code,.blog-table,.blog-callout{width:calc(100% + var(--blog-inset) * 2);margin-inline:calc(-1 * var(--blog-inset))}.blog-code{--blog-code-inset:8px;--blog-code-button-radius:4px;border-radius:calc(var(--blog-code-inset) + var(--blog-code-button-radius));background:#00000009;position:relative;overflow:hidden}.blog-code-copy{top:var(--blog-code-inset);right:var(--blog-code-inset);z-index:1;border-radius:var(--blog-code-button-radius);position:absolute}.blog-code-scroll{padding:16px var(--blog-inset)}:is(.blog-code:has([data-slot=scroll-area-viewport]:focus-visible),.blog-table:has([data-slot=scroll-area-viewport]:focus-visible)){outline:2px solid var(--accent-flame);outline-offset:4px}.blog-code pre{width:max-content;min-width:100%;font-family:var(--font-mono);tab-size:2;margin:0;font-size:14px;line-height:1.85;background:0 0!important}.blog-code pre code{padding-right:44px;display:block}.blog-table{min-width:0}.blog-table table{border-collapse:collapse;text-align:left;width:100%;font-size:16px;line-height:1.65}.blog-table :where(th,td){min-width:140px;padding:14px var(--blog-inset);vertical-align:top}.blog-table th{color:var(--text-primary);border-bottom:1px solid var(--border-default);font-weight:500}.blog-table tbody tr+tr{border-top:1px solid var(--border-subtle)}.blog-table tbody tr:nth-child(2n){background:#00000005}.blog-callout{padding:20px var(--blog-inset);background:#00000009;border-radius:8px}.blog-figure{margin-inline:0;width:100%;margin-top:32px;display:block}.blog-image-trigger{cursor:zoom-in;background:#00000006;border-radius:8px;width:100%;display:block}.blog-image-trigger img{border-radius:inherit;width:100%;height:auto;display:block}.blog-caption{color:var(--text-secondary);margin-top:12px;font-size:16px;line-height:1.6;display:block}.blog-end{border-top:1px solid var(--border-subtle);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:48px;padding-top:24px;display:flex}.blog-row h2{overflow-wrap:anywhere}.blog-list{grid-template-columns:minmax(0,1fr);gap:32px;display:grid}.blog-list .blog-row+.blog-row{border-top:1px solid var(--border-subtle);padding-top:32px}.blog-row{min-width:0}.blog-row h2{letter-spacing:-.015em;margin-top:12px;font-size:22px;font-weight:500;line-height:1.3}.blog-row p{color:var(--text-secondary);margin-top:12px;line-height:1.7}.blog-more>h2{margin-bottom:20px;font-size:16px;font-weight:500}@media (min-width:1200px){.blog-layout{padding-inline:40px}.blog-mobile-toc{display:none}}@media (max-width:767px){.blog-header{padding-top:36px;padding-bottom:32px}.blog-title{font-size:32px}.blog-prose h2{margin-top:44px;font-size:22px}.blog-reading{padding-bottom:48px}}@media (hover:hover) and (pointer:fine){.blog-row:hover h2{color:var(--text-secondary)}.blog-prose a:hover{text-decoration-color:currentColor}}@media print{.blog-page>header,.blog-page>section,.blog-mobile-toc,.blog-skip,.blog-header-tools button,.blog-more,.blog-back,.blog-end,.blog-code-copy{display:none!important}.blog-layout{padding:0;display:block}.blog-header{padding-top:0}.blog-prose{max-width:none}.blog-code [data-slot=scroll-area-viewport],.blog-table [data-slot=scroll-area-viewport]{overflow:visible!important;-webkit-mask-image:none!important;mask-image:none!important}.blog-code pre{white-space:pre-wrap;overflow-wrap:anywhere;width:auto}}
