.blog-index{min-height:55vh;padding:52px 32px 40px}.blog-index-header{margin-bottom:32px}.blog-index-header h1{margin-top:10px;font-size:42px;font-weight:600}.blog-index-header>p{color:var(--muted);max-width:52ch;margin-top:14px;font-size:14px}.blog-index-meta{color:var(--muted);justify-content:space-between;gap:16px;margin-top:30px;font:10px/1.7 ui-monospace,monospace;display:flex}.blog-index-meta a{color:var(--text);text-underline-offset:4px}.blog-index-meta a:hover{text-decoration:underline}.post-page{width:100%;max-width:1116px;margin-inline:auto;padding:0 32px}.post-header{border-bottom:1px solid var(--border);max-width:720px;margin-left:260px;padding:40px 0 34px}.post-header .case-back{margin-bottom:32px}.post-meta{color:var(--muted);flex-wrap:wrap;gap:16px;font:10px/1.8 ui-monospace,monospace;display:flex}.post-header h1{text-wrap:balance;letter-spacing:-.035em;overflow-wrap:anywhere;margin-top:16px;font-size:clamp(30px,3.4vw,43px);font-weight:600;line-height:1.14}.post-deck{color:var(--muted);max-width:65ch;margin-top:20px;font-size:15px;line-height:1.75}.post-byline{flex-wrap:wrap;align-items:center;gap:8px;margin-top:24px;font-size:12px;display:flex}.post-byline>img{border:1px solid var(--border);border-radius:50%}.post-byline .blog-tags{width:100%;margin-top:8px}.post-cover{border-radius:9px;width:100%;height:auto;margin-top:26px;display:block}.post-layout{grid-template-columns:220px minmax(0,720px);align-items:start;gap:40px;display:grid}.post-toc{overscroll-behavior:contain;scrollbar-width:thin;max-height:calc(100dvh - 120px);padding-top:36px;position:sticky;top:96px;overflow-y:auto}.toc-toggle{display:none}.post-toc nav>p{margin-bottom:14px}.post-toc ol{margin:0;padding:0;list-style:none}.post-toc li{margin:0}.post-toc li[data-depth="3"]{padding-left:12px}.post-toc a{border-left:1px solid var(--border);color:var(--muted);padding:4px 8px;font-size:11px;line-height:1.5;transition:color .16s,border-color .16s;display:block}.post-toc a[aria-current]{border-color:var(--text);color:var(--text)}.post-toc a:hover{color:var(--text)}.post-prose{width:100%;min-width:0;max-width:72ch;color:var(--muted);--tw-prose-body:var(--muted);--tw-prose-headings:var(--text);--tw-prose-lead:var(--muted);--tw-prose-links:var(--text);--tw-prose-bold:var(--text);--tw-prose-counters:var(--muted);--tw-prose-bullets:var(--border-strong);--tw-prose-hr:var(--border);--tw-prose-quotes:var(--text);--tw-prose-quote-borders:var(--border-strong);--tw-prose-captions:var(--muted);--tw-prose-code:var(--text);--tw-prose-pre-code:var(--text);--tw-prose-pre-bg:var(--surface-hover);--tw-prose-th-borders:var(--border-strong);--tw-prose-td-borders:var(--border);padding-top:32px;font-size:16px;line-height:1.85}.post-prose :where(h2,h3){scroll-margin-top:12px;font-weight:600}.post-prose h2{margin-top:2.5em;font-size:26px;line-height:1.25}.post-prose h3{margin-top:2em;font-size:20px;line-height:1.4}.post-prose :where(h2,h3)>a{color:var(--text);font-weight:inherit;text-decoration:none}.post-prose :where(h2,h3)>a:hover{text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:6px}.post-prose a{text-underline-offset:3px;-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);overflow-wrap:anywhere}.post-prose a:hover{-webkit-text-decoration-color:var(--text);text-decoration-color:var(--text)}.post-prose blockquote{border-left:2px solid var(--border-strong);color:var(--muted);padding-left:20px;font-size:15px;font-style:normal;font-weight:400}.post-prose blockquote p:first-of-type:before,.post-prose blockquote p:last-of-type:after{content:none}.post-prose :not(pre)>code{background:var(--surface-hover);border:1px solid var(--border);overflow-wrap:anywhere;border-radius:4px;padding:2px 5px;font-size:.82em}.post-prose :not(pre)>code:before,.post-prose :not(pre)>code:after{content:none}.post-prose ul{list-style-type:disc}.post-prose ol{list-style-type:decimal}.post-prose li{padding-left:5px}.post-prose .post-table{border:1px solid var(--border);border-radius:7px;max-width:100%;margin-block:28px;overflow-x:auto}.post-prose table{border-collapse:collapse;min-width:510px;margin:0;font-size:13px}.post-prose th,.post-prose td{vertical-align:top;border-bottom:1px solid var(--border);padding:12px 14px}.post-prose th{background:var(--surface-hover);color:var(--text);font-weight:600}.post-prose tbody tr:last-child td{border-bottom:0}.post-prose .katex-display{color:var(--text);margin-block:24px;padding:12px 2px;overflow:auto hidden}.post-prose .katex{font-size:1.05em}.code-block{border:1px solid var(--border);background:var(--surface-hover);border-radius:7px;margin-block:24px;overflow:hidden}.code-toolbar{border-bottom:1px solid var(--border);color:var(--muted);justify-content:space-between;align-items:center;gap:12px;padding:5px 14px;font:10px/1.5 ui-monospace,monospace;display:flex}.code-toolbar button{color:var(--text);background:0 0;border:0;padding:7px 4px;font-size:11px}.code-toolbar button:active{transform:scale(.97)}.code-block pre{white-space:pre;word-break:normal;overflow-wrap:normal;tab-size:2;max-width:100%;color:var(--text);background:0 0;margin:0;padding:18px 20px;font:12px/1.85 ui-monospace,SFMono-Regular,Menlo,monospace;overflow-x:auto}.code-block pre code{width:max-content;min-width:100%;font:inherit;white-space:pre;background:0 0;display:block}.code-block pre:focus-visible{outline-offset:-3px}.code-block [data-line]{padding-inline:0}[data-theme=dark] .code-block code[data-theme] span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important}.reading-progress{z-index:60;pointer-events:none;height:2px;position:fixed;top:0;left:0;right:0}.reading-progress>div{background:var(--text);opacity:.65;transform-origin:0;height:100%;transform:scaleX(0)}.post-footer{border-top:1px solid var(--border);max-width:720px;margin:50px 0 0 260px;padding:26px 0 40px;font-size:13px}.post-pagination{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:28px;display:grid}.post-pagination a{color:var(--text);flex-direction:column;gap:8px;line-height:1.5;display:flex}.blog-figure{border:1px solid var(--border);background:var(--surface);border-radius:8px;margin:30px 0;overflow:hidden}.blog-figure figcaption{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:18px;padding:13px 18px;font-size:11px;display:flex}.blog-figure figcaption>span{color:var(--muted);flex-shrink:0;font:9px ui-monospace,monospace}.blog-figure figcaption>strong{letter-spacing:0;text-align:right;font-size:12px;font-weight:500}.figure-caption{border-top:1px solid var(--border);color:var(--muted);margin:0;padding:14px 18px;font-size:11px;line-height:1.7}.pipeline-flow{padding:14px 68px 14px 22px;position:relative}.pipeline-stages{list-style:none;position:relative;margin:0!important;padding:0!important}.pipeline-stages:before{content:"";background:var(--border-strong);width:1px;position:absolute;top:28px;bottom:28px;left:13px}.pipeline-stages>li{grid-template-columns:28px minmax(0,1fr);align-items:center;gap:16px;min-height:58px;display:grid;position:relative;margin:0!important;padding:10px 0!important}.pipeline-stages>li>div{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.pipeline-stages strong{font-size:13px;font-weight:500;line-height:1.5}.pipeline-stages small{color:var(--muted);text-align:right;font-size:11px;line-height:1.5}.pipeline-number{border:1px solid var(--border-strong);background:var(--surface);width:28px;height:28px;color:var(--muted);border-radius:50%;place-items:center;font:9px ui-monospace,monospace;display:grid;position:relative}.pipeline-stages>li:last-child .pipeline-number{border-color:var(--text);color:var(--text)}.pipeline-loop{border:1px solid var(--border-strong);width:24px;color:var(--muted);border-left:0;border-radius:0 10px 10px 0;position:absolute;top:43px;bottom:43px;right:22px}.pipeline-loop>svg{position:absolute;top:-5px;left:-1px}.pipeline-loop>span{background:var(--surface);writing-mode:vertical-rl;letter-spacing:.06em;padding-block:8px;font:9px ui-monospace,monospace;position:absolute;top:50%;right:-7px;transform:translateY(-50%)}.tradeoff-triangle{width:100%;height:auto;padding:16px;display:block}.memory-drawing{--anatomy-paper:var(--surface);--anatomy-top:var(--surface-hover);--anatomy-hi:var(--text);--anatomy-mid:var(--muted);--anatomy-lo:var(--border-strong);--anatomy-dot:var(--muted)}[data-theme=light] .memory-drawing{--anatomy-shade-0:#d6d6d6;--anatomy-shade-1:#dedede;--anatomy-shade-2:#e6e6e6;--anatomy-shade-3:#eee;--anatomy-lit-top:#dedede}[data-theme=dark] .memory-drawing{--anatomy-paper:#000;--anatomy-top:#0d0d0d;--anatomy-shade-0:#111;--anatomy-shade-1:#181818;--anatomy-shade-2:#202020;--anatomy-shade-3:#282828;--anatomy-lit-top:#333}.memory-drawing [data-cache-cell] .iso-top{fill:var(--anatomy-paper);transition:fill .18s}.memory-drawing [data-occupied=true] .iso-top{fill:var(--anatomy-lit-top)}.memory-drawing [data-occupied=true] .iso-edge{stroke:var(--text)}.memory-drawing [data-occupied=false] .iso-edge{stroke:var(--border-strong)}.memory-bar{border:1px solid var(--border-strong);border-radius:4px;height:34px;margin:0 18px;display:flex;overflow:hidden}.memory-bar>span{color:var(--text);place-items:center;font:9px ui-monospace,monospace;display:grid;position:relative}.memory-weights{background:var(--border-strong)}.memory-cache{border-inline:1px solid var(--border-strong);background:linear-gradient(to right,var(--border) var(--cache-fill),transparent var(--cache-fill))}.memory-overhead{background:var(--surface-hover)}.memory-key{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:8px;padding:12px 18px;font:9px/1.7 ui-monospace,monospace;display:flex}.memory-key strong{font-weight:400}.memory-controls{border-top:1px solid var(--border);align-items:center;gap:24px;padding:16px 18px;display:flex}.memory-controls label{color:var(--text);align-items:center;gap:10px;font-size:11px;display:flex}.memory-controls label:last-child{flex-wrap:wrap;flex:1}.memory-controls select{border:1px solid var(--border-strong);background:var(--surface);color:var(--text);border-radius:4px;padding:5px;font:11px inherit}.memory-controls input{width:100%;accent-color:var(--accent);min-height:24px}.memory-controls output{font-variant-numeric:tabular-nums;color:var(--muted)}.memory-readout{color:var(--muted);flex-wrap:wrap;gap:8px 18px;padding:0 18px 16px;font:10px/1.7 ui-monospace,monospace;display:flex}.memory-readout strong{font-size:10px;font-weight:500}@media (min-width:1001px){.post-header,.post-footer{margin-left:260px}}@media (max-width:1000px){.post-page{max-width:820px}.post-header,.post-footer{max-width:none;margin-left:0}.post-layout{flex-direction:column;gap:0;display:flex}.post-prose{margin-inline:auto}.post-toc{width:100%;max-height:none;padding-top:24px;position:static;overflow:visible}.toc-toggle{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);border-radius:5px;justify-content:space-between;align-items:center;gap:16px;padding:12px 14px;font-size:12px;display:flex}.post-toc nav{border:1px solid var(--border);border-top:0;max-height:55vh;padding:16px;display:none;overflow:auto}.post-toc nav[data-open=true]{display:block}.post-toc nav>p{display:none}.post-toc a{padding-block:6px;font-size:12px}}@media (max-width:600px){.blog-index{padding:36px 20px 30px}.blog-index-header h1{font-size:36px}.post-page{padding-inline:20px}.post-header{padding-top:28px;padding-bottom:24px}.post-header .case-back{margin-bottom:24px}.post-header h1{text-wrap:pretty;font-size:31px;line-height:1.18}.post-deck{font-size:13px}.post-prose{padding-top:24px;font-size:15px;line-height:1.85}.post-prose h2{font-size:23px}.post-prose h3{font-size:18px}.post-prose blockquote{padding-left:16px;font-size:14px}.code-block pre{padding:14px;font-size:11px}.post-pagination{grid-template-columns:1fr}.post-footer{margin-top:32px}.blog-figure figcaption,.figure-caption{padding:12px 14px}.pipeline-flow{padding:12px 52px 12px 16px}.pipeline-stages>li{gap:12px;min-height:58px}.pipeline-stages>li>div{display:block}.pipeline-stages strong,.pipeline-stages small{text-align:left;display:block}.pipeline-stages strong{font-size:12px}.pipeline-stages small{margin-top:2px;font-size:10px}.pipeline-loop{width:18px;top:41px;bottom:41px;right:16px}.tradeoff-triangle{padding:8px 0}.memory-key{flex-direction:column;gap:3px}.memory-controls{align-items:flex-start;gap:16px}.memory-controls label:first-child{flex-direction:column;align-items:flex-start;gap:4px}}
