.blog-toc[data-astro-cid-y2enqxn2]{max-height:calc(100vh - 120px);display:none;position:sticky;top:96px;overflow-y:auto}@media (width>=1280px){.blog-toc[data-astro-cid-y2enqxn2]{display:block}}.blog-toc[data-astro-cid-y2enqxn2] h3[data-astro-cid-y2enqxn2]{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--hair);margin-bottom:12px;padding-bottom:12px;font-size:10.5px;font-weight:500}.blog-toc[data-astro-cid-y2enqxn2] ul[data-astro-cid-y2enqxn2]{margin:0;padding:0;list-style:none}.blog-toc[data-astro-cid-y2enqxn2] li[data-astro-cid-y2enqxn2]{margin:4px 0}.blog-toc[data-astro-cid-y2enqxn2] a[data-astro-cid-y2enqxn2]{font-family:var(--font-mono);letter-spacing:.02em;color:var(--muted);border-left:2px solid #0000;padding:6px 0 6px 10px;font-size:11px;line-height:1.5;text-decoration:none;transition:color .15s,border-color .15s;display:block}.blog-toc[data-astro-cid-y2enqxn2] a[data-astro-cid-y2enqxn2]:hover{color:var(--ink)}.blog-toc[data-astro-cid-y2enqxn2] a[data-astro-cid-y2enqxn2].active{color:var(--accent);border-left-color:var(--accent)}.blog-share[data-astro-cid-6b4yfban]{border-top:1px solid var(--hair);flex-wrap:wrap;align-items:center;gap:10px;margin-top:64px;padding-top:28px;display:flex}.blog-share-label[data-astro-cid-6b4yfban]{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-right:6px;font-size:10.5px}.blog-share-btn[data-astro-cid-6b4yfban]{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink);border:1px solid var(--hair-strong);cursor:pointer;background:0 0;padding:8px 14px;font-size:10.5px;font-weight:500;text-decoration:none;transition:background .15s,border-color .15s}.blog-share-btn[data-astro-cid-6b4yfban]:hover{background:var(--paper-lo);border-color:var(--rule)}.blog-post-hero{max-width:1400px;padding:96px var(--wrap-pad) 48px;margin:0 auto}.blog-post-back{font-family:var(--font-mono);letter-spacing:.1em;color:var(--muted);margin-bottom:40px;font-size:11px;text-decoration:none;transition:color .15s;display:inline-flex}.blog-post-back:hover{color:var(--accent)}.blog-post-hero-grid{grid-template-columns:1fr;align-items:end;gap:48px;display:grid}@media (width>=768px){.blog-post-hero-grid{grid-template-columns:1fr 300px;gap:64px}}.blog-post-tags{flex-wrap:wrap;gap:8px;margin-bottom:24px;display:flex}.blog-post-tag{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);border:1px solid;padding:3px 8px;font-size:10px;font-weight:500}.blog-post-tag--case-study,.blog-post-tag--research,.blog-post-tag--methodology,.blog-post-tag--engineering,.blog-post-tag--announcement,.blog-post-tag--disclosure{color:var(--accent)}.blog-post-tag--industry{color:var(--accent);background:var(--accent-soft);border-color:var(--accent-soft);text-decoration:none;transition:border-color .15s,color .15s}.blog-post-tag--industry:hover{border-color:var(--accent)}.blog-post-title{font-family:var(--font-display);letter-spacing:-.022em;color:var(--ink);margin-bottom:20px;font-size:clamp(32px,4.5vw,48px);font-weight:500;line-height:1.1}.blog-post-title em{color:var(--accent);font-style:normal}.blog-post-desc{color:var(--muted);max-width:640px;font-size:18px;line-height:1.65}.blog-post-meta-card{background:var(--paper-hi);border:1px solid var(--hair-strong);flex-direction:column;gap:14px;padding:28px;display:flex}.blog-post-meta-row{border-bottom:1px solid var(--hair);flex-direction:column;gap:4px;padding-bottom:12px;display:flex}.blog-post-meta-row:last-child{border-bottom:none;padding-bottom:0}.blog-post-meta-label{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:9.5px;font-weight:500}.blog-post-meta-value{color:var(--ink);font-size:14px}.blog-post-chain{font-family:var(--font-mono);color:var(--accent);font-size:12px}.blog-post-meta-cves{font-family:var(--font-mono);flex-wrap:wrap;gap:3px 10px;font-size:12.5px;display:flex}a.blog-post-meta-link{color:var(--accent);text-decoration:none;transition:color .15s}a.blog-post-meta-link:hover{color:var(--ink)}.blog-post-hr{border:none;border-top:1px solid var(--hair);max-width:1400px;margin:0 auto}.blog-post-body{max-width:1400px;padding:48px var(--wrap-pad);grid-template-columns:minmax(0,1fr);gap:48px;margin:0 auto;display:grid}.blog-post-body>.prose-blog{min-width:0}@media (width>=1280px){.blog-post-body{grid-template-columns:200px minmax(0,760px) 1fr;gap:48px}}.blog-post-spacer{display:none}@media (width>=1280px){.blog-post-spacer{display:block}}.blog-related{max-width:1400px;padding:48px var(--wrap-pad) 96px;border-top:1px solid var(--hair);margin:0 auto}.blog-related-header{justify-content:space-between;align-items:baseline;margin-bottom:28px;display:flex}.blog-related-header h2{font-family:var(--font-sans);letter-spacing:-.02em;color:var(--ink);font-size:clamp(24px,2.6vw,32px);font-weight:500}.blog-related-header h2 em{color:var(--accent);font-style:normal}.blog-related-all{font-family:var(--font-mono);letter-spacing:.1em;color:var(--muted);font-size:11px;text-decoration:none}.blog-related-all:hover{color:var(--accent)}.blog-related-grid{grid-template-columns:1fr;gap:24px;display:grid}@media (width>=640px){.blog-related-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.blog-related-grid{grid-template-columns:repeat(3,1fr)}}.prose-blog .blog-figure{cursor:zoom-in;position:relative}.prose-blog .blog-figure:after{content:"click to enlarge";font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:#f0ede28c;opacity:0;pointer-events:none;font-size:9.5px;transition:opacity .15s;position:absolute;top:12px;right:14px}.prose-blog .blog-figure:hover:after{opacity:1}.diagram-lightbox{width:100vw;max-width:100vw;height:100vh;max-height:100vh;color:var(--paper);background:0 0;border:none;padding:0}.diagram-lightbox::backdrop{backdrop-filter:blur(2px);background:#0c0d0fe0}.diagram-lightbox-viewport{cursor:grab;touch-action:none;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;overflow:hidden}.diagram-lightbox-viewport:active{cursor:grabbing}.diagram-lightbox-viewport svg{background:var(--deep);border:1px solid color-mix(in srgb, var(--accent) 24%, var(--deep-hi));user-select:none;transform-origin:50%;will-change:transform;max-width:90vw;max-height:85vh;padding:40px;transition:transform 80ms ease-out}.diagram-lightbox-close{color:var(--paper);cursor:pointer;z-index:10;background:0 0;border:1px solid #f7f5ef66;width:40px;height:40px;font-size:22px;line-height:1;transition:background .15s,border-color .15s;position:fixed;top:20px;right:20px}.diagram-lightbox-controls{z-index:10;gap:0;display:flex;position:fixed;bottom:56px;left:50%;transform:translate(-50%)}.diagram-lightbox-controls button{color:var(--paper);cursor:pointer;width:44px;height:40px;font-size:16px;line-height:1;font-family:var(--font-mono);background:0 0;border:1px solid #f7f5ef66;transition:background .15s,border-color .15s}.diagram-lightbox-controls button+button{border-left:none}.diagram-lightbox-controls button:hover,.diagram-lightbox-close:hover{background:#f7f5ef14;border-color:#f7f5efb3}.diagram-lightbox-hint{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:#f7f5ef80;z-index:10;pointer-events:none;font-size:10px;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}@media (width<=640px){.diagram-lightbox-hint{letter-spacing:.08em;font-size:9px}}@media (prefers-reduced-motion:reduce){.diagram-lightbox-viewport svg,.prose-blog .blog-figure:after{transition:none}}
