.blog-layout{min-height:100vh;background:var(--bg)}.blog-container{width:min(1280px,calc(100% - 2 * clamp(24px, 5vw, 76px)));margin-inline:auto}.blog-index{padding-bottom:112px}.blog-post-page{padding:clamp(144px,16vw,200px) 0 112px}.blog-layout a:focus-visible,.blog-prose pre:focus-visible,.blog-table-scroll:focus-visible{outline:2px solid var(--cerulean-400);outline-offset:5px}.blog-layout main:focus{outline:none}.blog-category,.blog-draft-badge,.blog-eyebrow{font-family:var(--font-mono);font-size:11px;font-weight:400;line-height:1.5;letter-spacing:.12em;text-transform:uppercase;color:var(--cerulean-300)}.blog-draft-badge{color:var(--ember-400)}.blog-index-header{padding:clamp(144px,16vw,200px) 0 64px;background:radial-gradient(ellipse at 78% 68%,#a8dfff 0,transparent 58%),var(--cerulean-300)}.blog-index-header,.blog-index-header .blog-eyebrow{color:var(--ink-950)}.blog-index-header h1{margin:24px 0;color:var(--ink-950);font-size:clamp(46px,6vw,80px);font-weight:650;letter-spacing:-.065em;line-height:.98}.blog-index-header h1 em{font:italic 400 1.1em/.9 var(--font-serif);letter-spacing:-.05em}.blog-index-header p{max-width:42ch;margin:0;color:#12354b;font-size:clamp(18px,2vw,22px);line-height:1.5}.blog-featured{display:grid;grid-template-columns:1.06fr 1fr;gap:clamp(32px,6vw,88px);align-items:center;padding-block:48px 64px;border-top:1px solid var(--border)}.blog-featured-copy,.blog-list-copy{min-width:0}.blog-post-eyebrow{display:flex;align-items:center;gap:16px;margin-bottom:20px}.blog-featured h2{max-width:20ch;margin:0 0 20px;font-size:clamp(28px,3vw,42px);font-weight:500;letter-spacing:-.03em;line-height:1.15}.blog-featured h2 a,.blog-list h3 a{color:var(--fg);text-decoration:none;transition:color .15s ease}.blog-featured h2 a:hover,.blog-list h3 a:hover{color:var(--cerulean-300)}.blog-featured-copy>p,.blog-list-copy>p{max-width:54ch;margin:0 0 24px;color:var(--fg-muted);font-size:16px;line-height:1.6}.blog-meta{display:flex;flex-wrap:wrap;gap:8px 20px;font-family:var(--font-mono);font-size:11px;color:var(--fg-subtle);line-height:1.6}.blog-featured-copy>.blog-author{margin-top:8px;font-size:13px;color:var(--fg-subtle)}.blog-back-link,.blog-read-link{display:inline-flex;align-items:center;gap:16px;min-height:44px;color:var(--cerulean-200);font-size:14px;text-decoration:underline;text-underline-offset:5px;text-decoration-color:var(--border-strong)}.blog-back-link:hover,.blog-read-link:hover{color:var(--fg)}.blog-more{padding-top:24px}.blog-more>h2{margin:0 0 24px}.blog-list{margin:0;padding:0;list-style:none}.blog-list-item{display:grid;grid-template-columns:1fr minmax(240px,.65fr);align-items:center;gap:64px;padding-block:40px;border-block:1px solid var(--border)}.blog-list h3{margin:0 0 16px;font-size:clamp(24px,2.5vw,32px);font-weight:500;line-height:1.2;letter-spacing:-.025em}.blog-list .blog-read-link{margin-top:16px}.blog-empty{color:var(--fg-subtle)}.blog-diagram{margin:0;min-width:0}.blog-diagram svg{display:block;width:100%;height:auto;overflow:visible}.blog-diagram-arrow,.blog-diagram-line{stroke:var(--cerulean-500);stroke-width:2}.blog-diagram-sample{fill:var(--cerulean-400)}.blog-diagram-buffer{fill:var(--ink-950);stroke:var(--cerulean-500);stroke-width:2}.blog-diagram-bytes{stroke:var(--cerulean-300);stroke-width:4}.blog-diagram-bracket{stroke:var(--ink-500);stroke-width:1.5}.blog-diagram-endpoint{fill:var(--bg);stroke:var(--cerulean-400);stroke-width:2}.blog-diagram-stop{stroke:var(--ember-400);stroke-width:2}.blog-diagram-empty{stroke:var(--ink-500);stroke-width:1.5;stroke-dasharray:3 4}.blog-diagram-labels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;text-align:center}.blog-diagram-labels span,.blog-qos-endpoints span{color:var(--fg-subtle);font-family:var(--font-mono);font-size:11px;line-height:1.6}.blog-diagram-labels strong,.blog-qos-endpoints strong{display:block;color:var(--fg);font-family:var(--font-sans);font-size:14px;font-weight:500}.blog-diagram figcaption{margin-top:28px;color:var(--fg-subtle);font-size:12px;line-height:1.6;text-align:center}.blog-diagram figcaption strong{display:block;margin-bottom:3px;color:var(--fg-muted);font-weight:500}.blog-featured .blog-diagram[data-diagram=dds] .blog-diagram-sample,.blog-list-item .blog-diagram[data-diagram=dds] .blog-diagram-sample{transform-box:fill-box}@media (prefers-reduced-motion:no-preference){@media (hover:hover){.blog-featured:hover .blog-diagram[data-diagram=dds] .blog-diagram-sample,.blog-list-item:hover .blog-diagram[data-diagram=dds] .blog-diagram-sample{animation:diagram-byte-travel .6s cubic-bezier(.22,1,.36,1) both}.blog-featured:hover .blog-diagram[data-diagram=qos] .blog-diagram-stop,.blog-list-item:hover .blog-diagram[data-diagram=qos] .blog-diagram-stop{animation:diagram-stop-signal .5s ease-out both}}.blog-featured:focus-within .blog-diagram[data-diagram=dds] .blog-diagram-sample,.blog-list-item:focus-within .blog-diagram[data-diagram=dds] .blog-diagram-sample{animation:diagram-byte-travel .6s cubic-bezier(.22,1,.36,1) both}.blog-featured:focus-within .blog-diagram[data-diagram=qos] .blog-diagram-stop,.blog-list-item:focus-within .blog-diagram[data-diagram=qos] .blog-diagram-stop{animation:diagram-stop-signal .5s ease-out both}}@keyframes diagram-byte-travel{0%{transform:translateX(0)}to{transform:translateX(6px)}}@keyframes diagram-stop-signal{50%{stroke-width:3}}.blog-qos-endpoints{display:flex;justify-content:space-between;gap:20px}.blog-qos-endpoints>:last-child{text-align:right}.blog-diagram-compact figcaption{margin-top:8px}.blog-back-link{margin-bottom:40px;font-size:13px}.blog-article{position:relative}.blog-post-header{max-width:1040px;margin:0 0 64px}.blog-post-header h1{margin:0 0 28px;font-size:clamp(36px,4.7vw,64px);line-height:1.08;font-weight:500;letter-spacing:-.035em;text-wrap:balance}.blog-post-desc{max-width:66ch;margin:0 0 32px;color:var(--fg-muted);font-size:19px;line-height:1.55}.blog-post-byline{display:flex;flex-wrap:wrap;gap:8px 24px;padding-block:24px;border-block:1px solid var(--border);font-size:13px;color:var(--fg-subtle)}.blog-post-byline time,.blog-post-byline>span:last-child{font-family:var(--font-mono);font-size:11px;align-self:center}.blog-article-body{display:grid;grid-template-columns:minmax(160px,220px) minmax(0,74ch);gap:clamp(40px,6vw,96px);align-items:start}.blog-outline{position:sticky;top:132px}.blog-outline p{margin:0 0 16px}.blog-outline>details{display:none}.blog-outline summary{min-height:44px;padding-block:12px;color:var(--fg-muted);font-size:14px;cursor:pointer}.blog-outline summary:focus-visible{outline:2px solid var(--cerulean-400);outline-offset:4px}.blog-outline ol{margin:0;padding:0;list-style:none}.blog-outline li{margin:0;border-bottom:1px solid var(--border)}.blog-outline a{display:flex;align-items:center;min-height:44px;padding:10px 0;color:var(--fg-subtle);font-size:12px;line-height:1.45;text-decoration:none}.blog-outline a:hover{color:var(--cerulean-300)}.blog-article-column{min-width:0}.blog-article-column>.blog-diagram{max-width:560px;margin:0 auto 64px}.blog-prose{max-width:72ch;min-width:0;font-size:17px;line-height:1.75;color:var(--fg-muted);overflow-wrap:anywhere}.blog-prose>*{max-width:100%}.blog-prose>*+*{margin-top:1.4em}.blog-prose h2,.blog-prose h3{scroll-margin-top:120px;color:var(--fg);font-weight:500;letter-spacing:-.025em}.blog-prose h2{margin:2.6em 0 .7em;font-size:clamp(24px,2.5vw,30px);line-height:1.2}.blog-prose h3{margin:2em 0 .6em;font-size:21px;line-height:1.3}.blog-prose h4{margin-top:1.8em;color:var(--fg);font-size:18px;font-weight:500}.blog-prose p{color:var(--fg-muted);text-wrap:pretty}.blog-prose a{color:var(--cerulean-300);text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--border-strong)}.blog-prose a:hover{color:var(--fg)}.blog-prose .blog-heading-link{color:inherit;text-decoration:none}.blog-prose .blog-heading-link:hover{color:var(--cerulean-300)}.blog-prose strong{color:var(--fg);font-weight:600}.blog-prose ol,.blog-prose ul{padding-left:1.4em}.blog-prose ul{list-style-type:disc}.blog-prose ol{list-style-type:decimal}.blog-prose li+li{margin-top:.45em}.blog-prose blockquote{margin:2em 0;padding:20px 0;border-block:1px solid var(--border);font-size:18px;color:var(--fg-subtle)}.blog-prose blockquote p{margin:0}.blog-prose hr{height:1px;border:0;background:var(--border);margin:3em 0}.blog-prose code{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.blog-prose :not(pre)>code{font-size:.87em;overflow-wrap:anywhere}.blog-prose [data-rehype-pretty-code-figure]{min-width:0;margin:2em 0;padding:0;border:1px solid var(--border);border-radius:8px;background:var(--ink-950)}.blog-prose [data-rehype-pretty-code-title]{padding:10px 16px;color:var(--fg-subtle);border-bottom:1px solid var(--border);font:11px/1.5 var(--font-mono)}.blog-prose pre{max-width:100%;margin:0;padding:24px;overflow-x:auto;overscroll-behavior-inline:contain;background:var(--ink-950)!important;border-radius:8px;font-family:var(--font-mono);font-size:13px;line-height:1.7;white-space:pre}.blog-prose pre code{display:block;min-width:max-content;padding:0;border:0;background:transparent!important;color:inherit;font-size:inherit;white-space:pre;overflow-wrap:normal;word-break:normal}.blog-prose pre [data-line]{display:block}.blog-table-scroll{width:100%;max-width:100%;margin:2em 0;overflow-x:auto;overscroll-behavior-inline:contain}.blog-prose table{width:max-content;min-width:100%;border-collapse:collapse;font-size:14px;line-height:1.55}.blog-prose th{padding:12px 16px;border-bottom:1px solid var(--border-strong);color:var(--cerulean-200);font-family:var(--font-mono);font-size:11px;font-weight:400;text-align:left}.blog-prose td{max-width:36ch;padding:14px 16px;border-bottom:1px solid var(--border);vertical-align:top}.blog-prose td,.blog-prose th{font-variant-numeric:tabular-nums}.blog-prose .measurement{font-family:var(--font-mono);font-size:.92em;color:var(--fg)}.blog-post-cta{margin-top:80px;padding-top:40px;border-top:1px solid var(--border)}.blog-post-cta>p{max-width:30ch;margin:20px 0 24px;font-size:clamp(24px,3vw,34px);line-height:1.25;letter-spacing:-.025em;color:var(--fg)}.blog-post-cta-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px 32px}.blog-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;color:var(--fg);font-size:14px;white-space:nowrap}.blog-action:hover{color:var(--cerulean-200)}.blog-action-talk{color:var(--ember-300);text-decoration:underline;text-underline-offset:6px}.blog-next-post{margin-top:64px;padding-top:32px;border-top:1px solid var(--border)}.blog-next-post>a{display:flex;align-items:baseline;justify-content:space-between;gap:24px;padding-block:20px;color:var(--fg-muted);font-size:20px;line-height:1.35;letter-spacing:-.02em}.blog-next-post>a:hover{color:var(--cerulean-200)}@media (max-width:1000px){.blog-featured,.blog-list-item{gap:40px}.blog-article-body{grid-template-columns:minmax(0,1fr)}.blog-outline{position:static;max-width:72ch}.blog-outline>nav{display:none}.blog-outline>details{display:block;border-block:1px solid var(--border)}.blog-outline ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px}.blog-article-column{max-width:72ch}}@media (max-width:720px){.blog-index{padding-bottom:80px}.blog-post-page{padding-block:144px 80px}.blog-index-header{padding:144px 0 52px}.blog-index-header h1{max-width:10ch;font-size:48px}.blog-featured,.blog-list-item{grid-template-columns:minmax(0,1fr);gap:40px;padding-block:32px 48px}.blog-featured>.blog-diagram{max-width:480px;width:100%;justify-self:center}.blog-featured h2{font-size:30px}.blog-list-item>.blog-diagram{max-width:400px;width:100%}.blog-post-header{margin-bottom:40px}.blog-post-header h1{font-size:40px}.blog-post-desc{font-size:17px}.blog-post-byline{column-gap:20px}.blog-article-body{gap:40px}.blog-article-column>.blog-diagram{margin-bottom:48px}.blog-prose{font-size:16px}.blog-prose pre{padding:20px 16px;font-size:12px}.blog-outline ol{grid-template-columns:minmax(0,1fr)}.blog-outline a{font-size:13px}}@media (max-width:380px){.blog-container{width:calc(100% - 40px)}.blog-index-header h1{font-size:42px}.blog-post-header h1{font-size:34px}.blog-diagram-labels{gap:6px}.blog-diagram-labels strong{font-size:12px}.blog-diagram-labels span,.blog-qos-endpoints span{font-size:10px}.blog-qos-endpoints strong{font-size:13px}}@media (prefers-reduced-motion:reduce){.blog-layout a{transition:none}}