.crumbs{color:var(--muted);padding-top:24px;font-size:.85rem}.crumbs a{color:var(--muted)}.post-grid{padding-bottom:56px;display:block}.toc{margin:18px 0 0;font-size:.9rem}.toc details{margin:0;padding:2px 16px}.toc summary{padding:10px 0;font-size:.9rem}.toc ol{margin:0 0 12px;padding-left:1.2em}.toc li{margin:6px 0}.toc a{color:var(--muted)}.toc a:hover{color:var(--accent-text)}.post{min-width:0;max-width:720px}.eyebrow-blog{color:var(--accent-text);letter-spacing:0;margin:28px 0 8px;font-size:.85rem;font-weight:600}.post-head h1{overflow-wrap:anywhere;margin-bottom:14px;font-size:clamp(2rem,5.2vw,2.9rem);line-height:1.08}.lede{color:var(--muted);margin:0 0 14px;font-size:1.15rem;line-height:1.45}.meta{margin:0 0 12px;font-size:.85rem}.tags{flex-wrap:wrap;gap:6px;margin:0 0 8px;padding:0;list-style:none;display:flex}.tags li{background:var(--card);color:var(--muted);border:1px solid var(--border);border-radius:980px;padding:3px 10px;font-size:.75rem}.post-body{overflow-wrap:break-word;margin-top:28px}.post-body>:first-child{margin-top:0}.post-body h2{margin-top:2.1em;padding-top:.2em;scroll-margin-top:64px}.post-body h3{scroll-margin-top:64px}.post-body p,.post-body li{line-height:1.6}.post-body ul,.post-body ol{padding-left:1.3em}.post-body li{margin:5px 0}.post-body a{text-underline-offset:3px;text-decoration:underline 1px}.post-body code{background:var(--card);overflow-wrap:anywhere;border-radius:6px;padding:1px 6px;font-family:ui-monospace,SF Mono,SFMono-Regular,Menlo,Consolas,monospace;font-size:.88em}.post-body pre{background:var(--card);border:1px solid var(--border);border-left:4px solid var(--accent);-webkit-overflow-scrolling:touch;border-radius:12px;margin:18px 0;padding:16px 18px;overflow-x:auto}.post-body pre code{overflow-wrap:normal;white-space:pre;background:0 0;padding:0;font-size:.85rem;line-height:1.55}.post-body blockquote{background:var(--card);border-left:4px solid var(--accent);border-radius:12px;margin:20px 0;padding:12px 18px}.post-body blockquote>:first-child{margin-top:0}.post-body blockquote>:last-child{margin-bottom:0}.post-body table{border-collapse:collapse;-webkit-overflow-scrolling:touch;max-width:100%;margin:18px 0;font-size:.9rem;display:block;overflow-x:auto}.post-body th,.post-body td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:8px 12px}.post-body th{white-space:nowrap;background:var(--card);font-weight:600}.post-body hr{border:0;border-top:1px solid var(--border);margin:2em 0}.post-body figure.diagram{margin:24px 0}.post-body svg.diagram-svg{width:100%;max-width:520px;height:auto;margin:0 auto;display:block}.post-body figure.diagram figcaption{text-align:center;margin-top:8px;font-size:.85rem}.diagram-svg .d-box{fill:var(--card);stroke:var(--border);stroke-width:1.5px}.diagram-svg .d-box.d-accent{stroke:var(--accent);stroke-width:2px}.diagram-svg .d-title{fill:var(--text);font:700 16px var(--font)}.diagram-svg .d-sub{fill:var(--muted);font:400 13.5px var(--font)}.diagram-svg .d-arrow{stroke:var(--accent-text);stroke-width:2px;fill:none}.diagram-svg .d-arrow-head{fill:var(--accent-text)}.post-source{background:var(--card);border-radius:var(--radius);margin-top:3em;padding:4px 20px 12px}.post-source h2{margin-top:1em;font-size:1.2rem}.post-source ul{margin:8px 0 12px;padding-left:1.2em}.post-source li{margin:4px 0}.post-source code{overflow-wrap:anywhere;font-family:ui-monospace,SF Mono,SFMono-Regular,Menlo,Consolas,monospace;font-size:.85rem}.pager{grid-template-columns:1fr;gap:12px;margin-top:32px;display:grid}.pager a{border:1px solid var(--border);color:var(--text);border-radius:14px;flex-direction:column;gap:4px;padding:14px 18px;display:flex}.pager a:hover{border-color:var(--accent);text-decoration:none}.pager a span{font-size:.78rem}.pager-next{text-align:right}@media (width>=640px){.pager{grid-template-columns:1fr 1fr}}@media (width>=1040px){.post-grid{grid-template-columns:200px minmax(0,1fr);align-items:start;gap:36px;display:grid}.toc{max-height:calc(100vh - 88px);margin:28px 0 0;position:sticky;top:64px;overflow-y:auto}.toc details{background:0 0;padding:0}.toc summary{cursor:default;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);pointer-events:none;padding:0 0 8px;font-size:.78rem;list-style:none}.toc summary::-webkit-details-marker{display:none}.toc ol{border-left:1px solid var(--border);padding-left:0;list-style:none}.toc li{margin:0}.toc li a{padding:5px 0 5px 14px;font-size:.85rem;line-height:1.3;display:block}}
