.related-title[data-astro-cid-vrecybdq]{font-size:var(--fs-h2);max-width:20ch;margin:var(--sp-4) 0 var(--sp-7)}.related-grid[data-astro-cid-vrecybdq]{gap:var(--sp-5);grid-template-columns:repeat(3,1fr);display:grid}.post-card[data-astro-cid-vrecybdq]{gap:var(--sp-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--sp-6);box-shadow:var(--shadow-sm);color:var(--text);flex-direction:column;transition:transform .2s,box-shadow .25s,border-color .2s;display:flex}.post-card[data-astro-cid-vrecybdq]:hover{box-shadow:var(--shadow-md);border-color:var(--honey-tint-2);color:var(--text);transform:translateY(-3px)}.post-tags[data-astro-cid-vrecybdq]{font-size:var(--fs-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}.post-card[data-astro-cid-vrecybdq] h3[data-astro-cid-vrecybdq]{font-size:var(--fs-h3)}.post-desc[data-astro-cid-vrecybdq]{color:var(--text-dim);font-size:var(--fs-sm);flex-grow:1;line-height:1.65}@media (width<=980px){.related-grid[data-astro-cid-vrecybdq]{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.related-grid[data-astro-cid-vrecybdq]{grid-template-columns:1fr}}.toc-nav[data-astro-cid-p33bl5ka]{font-family:var(--font-mono);font-size:var(--fs-xs)}.toc-list[data-astro-cid-p33bl5ka]{gap:var(--sp-2);border-inline-start:2px solid var(--border);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.toc-item[data-astro-cid-p33bl5ka]{border-inline-start:2px solid #0000;margin-inline-start:-2px;padding-inline-start:var(--sp-4)}.toc-item[data-astro-cid-p33bl5ka].depth-3{padding-inline-start:var(--sp-6)}.toc-link[data-astro-cid-p33bl5ka]{color:var(--text-dim);line-height:1.4;transition:color .15s;display:block}.toc-link[data-astro-cid-p33bl5ka]:hover{color:var(--accent-deep)}.toc-item[data-astro-cid-p33bl5ka]:has(.toc-link.is-active){border-inline-start-color:var(--honey)}.toc-link[data-astro-cid-p33bl5ka].is-active{color:var(--accent);font-weight:600}.post-header[data-astro-cid-tldeq5d5]{padding-block:var(--sp-8)}.post-header[data-astro-cid-tldeq5d5] h1[data-astro-cid-tldeq5d5]{font-size:var(--fs-h1);max-width:26ch;margin-block:var(--sp-4) var(--sp-3)}.post-meta[data-astro-cid-tldeq5d5]{gap:var(--sp-2);font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.04em;color:var(--night-dim);flex-wrap:wrap;display:flex}.post-tags[data-astro-cid-tldeq5d5]{gap:var(--sp-2);margin:var(--sp-7) 0 0;flex-wrap:wrap;padding:0;list-style:none;display:flex}.post-tags[data-astro-cid-tldeq5d5] li[data-astro-cid-tldeq5d5] a[data-astro-cid-tldeq5d5]{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--accent);background:var(--honey-tint);border-radius:var(--radius-pill);padding:.35rem .85rem;transition:background .15s,color .15s;display:inline-block}.post-tags[data-astro-cid-tldeq5d5] li[data-astro-cid-tldeq5d5] a[data-astro-cid-tldeq5d5]:hover{background:var(--honey-tint-2);color:var(--accent-deep)}.reading-progress[data-astro-cid-tldeq5d5]{z-index:45;background:0 0;height:3px;position:sticky;top:68px}.reading-progress-fill[data-astro-cid-tldeq5d5]{background:var(--honey);width:0%;height:100%}.post-layout[data-astro-cid-tldeq5d5]{grid-template-columns:minmax(0,68ch);justify-content:center;display:grid}.post-layout[data-astro-cid-tldeq5d5].has-toc{column-gap:var(--sp-8);grid-template-columns:minmax(0,68ch) minmax(180px,220px)}.post-body[data-astro-cid-tldeq5d5]{min-width:0;max-width:68ch}.toc-aside[data-astro-cid-tldeq5d5]{top:calc(68px + var(--sp-6));align-self:start;position:sticky}.toc-eyebrow[data-astro-cid-tldeq5d5]{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);margin:0 0 var(--sp-4);font-weight:600}.toc-mobile[data-astro-cid-tldeq5d5]{display:none}@media (width<=900px){.post-layout[data-astro-cid-tldeq5d5].has-toc{grid-template-columns:minmax(0,68ch)}.toc-aside[data-astro-cid-tldeq5d5]{display:none}.toc-mobile[data-astro-cid-tldeq5d5]{margin-bottom:var(--sp-6);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--sp-4) var(--sp-5);background:var(--surface);display:block}.toc-mobile[data-astro-cid-tldeq5d5] summary[data-astro-cid-tldeq5d5]{cursor:pointer;font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-weight:600}.toc-mobile[data-astro-cid-tldeq5d5][open] summary[data-astro-cid-tldeq5d5]{margin-bottom:var(--sp-4)}}.prose{color:var(--text);font-size:clamp(var(--fs-body), .85rem + .4vw, 1.15rem);line-height:1.75}.prose>:first-child{margin-top:0}.prose p{margin-block:var(--sp-5)}.prose h2{font-size:var(--fs-h2);margin-block:var(--sp-8) var(--sp-4)}.prose h3{font-size:var(--fs-h3);margin-block:var(--sp-7) var(--sp-3)}.prose h2,.prose h3{scroll-margin-top:96px}.prose .heading-anchor{color:var(--honey-deep);opacity:0;margin-inline-start:var(--sp-2);font-weight:400;text-decoration:none;transition:opacity .15s}.prose h2:hover .heading-anchor,.prose h3:hover .heading-anchor,.prose .heading-anchor:focus-visible{opacity:1}.prose ul,.prose ol{margin-block:var(--sp-5);padding-inline-start:1.4em}.prose li+li{margin-top:var(--sp-2)}.prose li::marker{color:var(--accent)}.prose a{color:var(--accent);text-decoration:underline;text-decoration-color:var(--honey-tint-2);text-underline-offset:3px}.prose a:hover{color:var(--accent-deep);text-decoration-color:var(--accent)}.prose strong{color:var(--ink);font-weight:700}.prose blockquote{margin:var(--sp-6) 0;padding:var(--sp-4) var(--sp-5);border-inline-start:3px solid var(--honey);background:var(--bg-tint);border-radius:var(--radius-md);color:var(--ink-soft);font-style:italic}.prose blockquote p{margin:0}.prose code{background:var(--bg-tint-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.15em .4em;font-size:.9em}.prose pre{margin-block:var(--sp-6);padding:var(--sp-5);background:var(--night);color:var(--night-text);border-radius:var(--radius-lg);overflow-x:auto}.prose pre code{color:inherit;background:0 0;border:none;padding:0}.prose hr{margin-block:var(--sp-8);border:none;border-top:1px solid var(--border)}
