:root{--measure: 68ch}.progress-bar-container{position:fixed;inset:0 0 auto;height:3px;z-index:var(--z-progress, 1000);pointer-events:none}.progress-bar{height:100%;background:var(--color-accent-ink);transform:scaleX(0);transform-origin:left center}.scroll-to-top{position:fixed;bottom:88px;right:32px;z-index:100;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--color-rule-strong);border-radius:var(--radius-sm);background:var(--color-paper);color:var(--color-ink);cursor:pointer;opacity:0;visibility:hidden;transition:opacity var(--dur-short) var(--ease-out),visibility var(--dur-short) var(--ease-out),background-color var(--dur-short) var(--ease-out),transform var(--dur-micro) var(--ease-out)}.scroll-to-top.visible{opacity:1;visibility:visible}.scroll-to-top:hover{background:var(--color-accent);color:var(--color-on-accent);border-color:var(--color-accent)}.scroll-to-top:active{transform:translateY(1px)}.scroll-to-top:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.breadcrumbs{padding:var(--space-md) 0 0;font-family:var(--face-mono);font-size:.8125rem;color:var(--color-muted)}.breadcrumbs a{color:var(--color-accent-ink);text-decoration:none;text-underline-offset:.2em}.breadcrumbs a:hover{text-decoration:underline}.breadcrumbs a:active{color:var(--color-ink)}.breadcrumbs .separator{margin:0 var(--space-3xs)}.post{padding-bottom:var(--section-gap-s)}.post-head,.post .prose{grid-column:3 / span 8;min-width:0}.post-head{display:grid;gap:var(--space-md);padding:var(--space-xl) 0 var(--space-lg)}.post-head h1{max-width:22ch;text-wrap:balance;font-size:var(--text-display-s);line-height:1.05;letter-spacing:-.03em}.post-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-sm) var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--color-rule)}.meta-facts{display:flex;flex-wrap:wrap;gap:var(--space-2xs) var(--space-md);margin:0;font-size:var(--text-meta);color:var(--color-muted)}.meta-facts .byline a{color:inherit}.meta-facts .last-updated-on{color:var(--color-accent-ink)}.share-component-wrapper{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm)}.post .toc{margin:0;padding:var(--space-sm) 0;border-top:1px solid var(--color-rule);border-bottom:1px solid var(--color-rule)}.post .toc summary{cursor:pointer;font-size:var(--text-meta);font-weight:600;color:var(--color-ink)}.post .toc summary:hover{color:var(--color-accent-ink)}.post .toc nav ul{display:grid;gap:var(--space-2xs);margin:0;padding:var(--space-sm) 0 0;list-style:none;columns:2}.post .toc nav a{font-size:.9375rem;color:var(--color-ink-2);text-decoration:none}.post .toc nav a:hover{color:var(--color-accent-ink);text-decoration:underline}.post .toc-h3{padding-left:var(--space-md)}.toc-rail{display:none}@media(min-width:72rem){.post.has-rail .post-head,.post.has-rail .prose,.post.has-rail .hero-image{grid-column:4 / -1}.post.has-rail .post-head .toc,.progress-bar-container.has-rail{display:none}.toc-rail{display:block;grid-column:1 / span 3;grid-row:1 / span 3;min-width:0}.toc-rail-inner{position:sticky;top:5.5rem;display:flex;flex-direction:column;max-height:calc(100vh - 7rem);margin-top:var(--space-xl)}.toc-rail nav{position:relative;flex:0 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding-right:var(--space-xs)}.toc-rail-label{margin:0 0 var(--space-sm);font-family:var(--face-mono);font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--color-muted)}.toc-rail ul{margin:0;padding:0;list-style:none;border-left:1px solid var(--color-rule)}.toc-rail a{display:block;margin-left:-1px;padding:var(--space-2xs) 0 var(--space-2xs) var(--space-sm);border-left:2px solid transparent;font-size:var(--text-meta);line-height:1.4;color:var(--color-muted);text-decoration:none;transition:color var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out)}.toc-rail .toc-h3 a{padding-left:calc(var(--space-sm) + var(--space-sm));font-size:.8125rem}.toc-rail a:hover{color:var(--color-ink)}.toc-rail a[aria-current]{border-left-color:var(--color-accent-ink);font-weight:600;color:var(--color-accent-ink)}.toc-rail a:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.toc-read{flex:none;display:grid;gap:var(--space-2xs);margin-top:var(--space-md);padding-top:var(--space-sm);border-top:1px solid var(--color-rule);font-family:var(--face-mono);font-size:.75rem;font-variant-numeric:tabular-nums;color:var(--color-muted)}.toc-read-track{height:3px;border-radius:2px;background:var(--color-rule);overflow:hidden}.toc-read-fill{height:100%;background:var(--color-accent-ink);transform:scaleX(0);transform-origin:left center}}.post .hero-image{grid-column:2 / span 10;min-width:0;margin-bottom:var(--space-xl)}.post .hero-image .diagram{margin:0}.post .hero-image img{display:block;width:100%;height:auto;border-radius:var(--radius-shot);outline:1px solid var(--color-rule);outline-offset:-1px}.post .prose{width:auto;max-width:none;margin:0;padding:0;font-size:1.0625rem;line-height:1.75;color:var(--color-ink-2)}.post .prose>:where(p,ul,ol,blockquote),.post .prose .section>:where(p,ul,ol){max-width:var(--measure)}.post .prose h2{margin:var(--space-2xl) 0 var(--space-md);font-size:clamp(1.625rem,1.2vw + 1rem,2.125rem);line-height:1.15;letter-spacing:-.02em}.post .prose h3{margin:var(--space-xl) 0 var(--space-xs);font-size:var(--text-title);line-height:1.25;letter-spacing:-.015em}.post .prose a{color:var(--color-accent-ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em}.post .prose a:hover{color:var(--color-ink)}.post .prose blockquote{margin:var(--space-lg) 0;padding:0 0 0 var(--space-md);border-left:2px solid var(--color-accent-ink);font-size:var(--text-lead);color:var(--color-ink)}.post .prose li::marker{color:var(--color-accent-ink)}.related-posts{margin-top:var(--space-2xl);padding-top:var(--space-lg);border-top:1px solid var(--color-rule)}.post .prose .related-posts h2{margin:0 0 var(--space-sm);font-size:var(--text-title)}.related-posts ul{margin:0;padding:0;list-style:none}.related-posts li{border-bottom:1px solid var(--color-rule)}.post .prose .related-posts a{display:block;padding:var(--space-sm) 0;font-size:1.0625rem;color:var(--color-ink);text-decoration:none}.post .prose .related-posts a:hover{color:var(--color-accent-ink)}.author-card{margin-top:var(--space-2xl);padding-top:var(--space-lg);border-top:1px solid var(--color-rule)}.post .prose .author-card p{margin:0 0 var(--space-sm)}.author-card .author-links{display:flex;flex-wrap:wrap;gap:var(--space-md)}.post .prose .author-card .author-links a{display:inline-flex;align-items:center;min-height:44px}.author-card+.related-posts{margin-top:var(--space-lg)}.note-page .cat-chip{font-weight:600;color:var(--color-ink)}.note-page .rating{font-weight:600;color:var(--color-accent-ink)}.note-figure{grid-column:3 / span 6;margin:0 0 var(--space-xl)}.note-figure img{display:block;width:100%;height:auto;border-radius:var(--radius-shot);outline:1px solid var(--color-rule);outline-offset:-1px}.note-figure figcaption{padding-top:var(--space-xs);font-size:var(--text-meta);color:var(--color-muted)}.note-foot{margin-top:var(--space-2xl);padding-top:var(--space-md);border-top:1px solid var(--color-rule)}@media(max-width:60rem){.note-figure,.post-head,.post .prose,.post .hero-image{grid-column:1 / -1}.post .toc nav ul{columns:1}}@media(max-width:40rem){.post-head{padding-top:var(--space-lg)}.scroll-to-top{right:16px}}@media(prefers-reduced-motion:reduce){.progress-bar{transition:none}}
