.post-shell{max-width:1200px;margin:0 auto;padding:112px 24px 80px;color:var(--ink)}.post-head{max-width:760px;margin:0 auto}.post-crumbs{display:flex;gap:8px;font:500 12px/1 JetBrains Mono,monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:22px}.post-crumbs a{color:var(--brand)}.post-crumbs a:hover{text-decoration:underline}.post-title{font-size:clamp(32px,5vw,50px);line-height:1.07;letter-spacing:-.035em;font-weight:650;text-wrap:balance}.post-standfirst{margin-top:18px;font-size:clamp(17px,2.2vw,20px);line-height:1.55;color:var(--muted);text-wrap:pretty}.post-byline{display:flex;align-items:center;gap:12px;margin-top:28px;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.post-avatar{width:38px;height:38px;flex:none;border-radius:50%;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand)}.post-avatar.lg{width:52px;height:52px}.post-author{font-weight:600;font-size:14.5px}.post-meta{display:flex;gap:7px;font-size:13px;color:var(--muted);margin-top:2px;flex-wrap:wrap}.post-share{margin-left:auto;display:flex;gap:4px}.post-share button{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;color:var(--muted)}.post-share button:hover{background:var(--surface-soft);color:var(--ink)}.post-back{display:inline-flex;gap:6px;align-items:center;margin-top:18px;color:var(--brand)}.post-cover{max-width:1040px;margin:36px auto 0;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:var(--surface)}.post-cover img{display:block;width:100%;height:auto;aspect-ratio:40 / 21;-o-object-fit:cover;object-fit:cover}.post-grid{display:grid;grid-template-columns:220px minmax(0,700px);gap:56px;justify-content:center;margin-top:52px}.post-toc{position:sticky;top:96px;align-self:start;max-height:calc(100vh - 120px);overflow:auto}.post-toc-label{font:600 11px/1 JetBrains Mono,monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}.post-toc nav{display:grid;gap:2px;border-left:1px solid var(--line)}.post-toc a{display:block;padding:6px 0 6px 14px;margin-left:-1px;border-left:2px solid transparent;font-size:13px;line-height:1.35;color:var(--muted)}.post-toc a:hover{color:var(--ink)}.post-toc a.is-active{color:var(--brand);border-left-color:var(--brand);font-weight:550}.post-body{font-size:17.5px;line-height:1.75;color:var(--ink);min-width:0}.post-body>*+*{margin-top:1.15em}.post-body h2{position:relative;font-size:28px;line-height:1.2;letter-spacing:-.025em;font-weight:650;margin-top:2.2em;scroll-margin-top:96px;text-wrap:balance}.post-body h3{font-size:20.5px;line-height:1.3;letter-spacing:-.015em;font-weight:620;margin-top:1.8em;scroll-margin-top:96px}.post-anchor{position:absolute;left:-1.1em;color:var(--line);opacity:0;text-decoration:none;font-weight:400}.post-body h2:hover .post-anchor{opacity:1;color:var(--muted)}.post-body p{text-wrap:pretty}.post-body a{color:var(--brand);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.post-body a:hover{text-decoration-thickness:2px}.post-body strong{font-weight:640}.post-body ul,.post-body ol{padding-left:1.35em}.post-body ul{list-style:disc}.post-body ol{list-style:decimal}.post-body li+li{margin-top:.45em}.post-body li::marker{color:var(--brand)}.post-body hr{border:0;border-top:1px solid var(--line);margin:2.4em 0}.post-inline-code{font-family:JetBrains Mono,monospace;font-size:.84em;padding:.12em .38em;border-radius:5px;background:var(--surface-soft);border:1px solid var(--line)}.post-answer{border:1px solid var(--line);border-left:3px solid var(--brand);background:var(--surface);border-radius:0 12px 12px 0;padding:20px 24px;margin-top:0!important}.post-answer-label{font:600 11px/1 JetBrains Mono,monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--brand);margin-bottom:10px}.post-answer p{font-size:17.5px;line-height:1.65}.post-tested{display:flex;gap:8px;align-items:flex-start;font-size:14px;line-height:1.5;color:var(--muted)}.post-tested svg{flex:none;margin-top:3px;color:var(--accent)}.post-code{border-radius:12px;overflow:hidden;background:#17241c;border:1px solid #22352a}.post-code-bar{display:flex;justify-content:space-between;align-items:center;padding:8px 14px;background:#1d2d23;border-bottom:1px solid #22352a;font:500 11.5px/1 JetBrains Mono,monospace;color:#9fb3a5;text-transform:lowercase}.post-code-bar button{display:inline-flex;align-items:center;gap:6px;color:#c6d4ca;font:inherit;text-transform:none;padding:4px 8px;border-radius:6px}.post-code-bar button:hover{background:#ffffff12}.post-code pre{padding:16px 18px!important;overflow-x:auto}.post-figure{margin:2em 0}.post-figure img{display:block;width:100%;height:auto;border-radius:12px;border:1px solid var(--line);background:var(--surface)}.post-figure figcaption{margin-top:10px;font-size:13.5px;line-height:1.5;color:var(--muted)}.post-table{overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.post-table table{width:100%;border-collapse:collapse;font-size:14.5px;line-height:1.45}.post-table th{text-align:left;font:600 11.5px/1.3 JetBrains Mono,monospace;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);background:var(--surface-soft)}.post-table th,.post-table td{padding:11px 14px;border-bottom:1px solid var(--line);vertical-align:top}.post-table tr:last-child td{border-bottom:0}.post-callout{border-radius:12px;padding:16px 20px;background:var(--brand-soft);border:1px solid color-mix(in srgb,var(--brand) 18%,transparent);font-size:16px;line-height:1.65}.post-callout>*+*{margin-top:.6em}.post-faq{margin-top:3em!important}.post-faq details{border-bottom:1px solid var(--line);padding:4px 0}.post-faq summary{cursor:pointer;list-style:none;padding:14px 28px 14px 0;position:relative;font-weight:600;font-size:17px;line-height:1.45}.post-faq summary::-webkit-details-marker{display:none}.post-faq summary:after{content:"+";position:absolute;right:4px;top:12px;font-size:20px;color:var(--muted);font-weight:400}.post-faq details[open] summary:after{content:"–"}.post-faq details>:not(summary){padding-bottom:12px;font-size:16.5px;color:color-mix(in srgb,var(--ink) 88%,var(--muted))}.post-authorbox{display:flex;gap:16px;align-items:flex-start;margin-top:3em!important;padding:22px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.post-authorbox p{font-size:15px;line-height:1.6;color:var(--muted);margin-top:4px}.post-cta{display:flex;justify-content:space-between;gap:24px;align-items:center;flex-wrap:wrap;padding:26px 28px;border-radius:14px;background:#17301f;color:#eef3ec;margin-top:1.6em!important}.post-cta h2{color:#fff;font-size:22px;margin:0;letter-spacing:-.02em}.post-cta p{color:#c6d6ca;font-size:15px;margin-top:6px;line-height:1.5}.post-cta-actions{display:flex;gap:18px;align-items:center}.post-cta .text-link{color:#d9e8dc}.post-cta .button-primary{background:#eef3ec;color:#17301f}.post-related{max-width:1040px;margin:80px auto 0}.post-related h2{font-size:24px;letter-spacing:-.02em;font-weight:650;margin-bottom:20px}.post-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.post-card{display:block;border-radius:12px;overflow:hidden;border:1px solid var(--line);background:var(--surface);transition:transform .2s,box-shadow .2s}.post-card:hover{transform:translateY(-2px);box-shadow:0 10px 30px #12301f14}.post-card img{display:block;width:100%;aspect-ratio:40 / 21;-o-object-fit:cover;object-fit:cover;border-bottom:1px solid var(--line)}.post-card>div{padding:16px 18px 18px}.post-card h3{font-size:16.5px;line-height:1.35;font-weight:620;letter-spacing:-.01em;margin-top:8px;text-wrap:balance}.post-card-cat{font:600 10.5px/1 JetBrains Mono,monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--brand)}.post-card-meta{display:block;margin-top:10px;font-size:12.5px;color:var(--muted)}@media (max-width: 1020px){.post-grid{grid-template-columns:minmax(0,700px)}.post-toc{display:none}}@media (max-width: 720px){.post-shell{padding:92px 18px 56px}.post-body{font-size:16.5px;line-height:1.72}.post-body h2{font-size:23px}.post-body h3{font-size:18.5px}.post-cover{margin-top:26px;border-radius:10px}.post-grid{margin-top:34px}.post-related-grid{grid-template-columns:1fr}.post-share{display:none}.post-cta{padding:22px}.post-code pre{padding:14px!important}}.blog-shell{max-width:1200px;margin:0 auto;padding:116px 24px 80px;color:var(--ink)}.blog-hero{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:end;padding-bottom:34px;border-bottom:1px solid var(--line)}.blog-kicker{font:600 12px/1 JetBrains Mono,monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--brand);display:flex;align-items:center;gap:10px}.blog-kicker:before{content:"";width:22px;height:2px;background:var(--accent)}.blog-hero h1{margin-top:18px;font-size:clamp(38px,6vw,64px);line-height:1.02;letter-spacing:-.045em;font-weight:650}.blog-hero h1 em{font-family:Georgia,Times New Roman,serif;font-style:italic;font-weight:400;color:var(--brand);letter-spacing:-.02em}.blog-hero p{font-size:17px;line-height:1.6;color:var(--muted);max-width:460px}.blog-filters{display:flex;flex-wrap:wrap;gap:8px;margin:26px 0 34px;align-items:center}.blog-filters button,.blog-chip{padding:8px 14px;border-radius:99px;border:1px solid var(--line);background:var(--surface);font-size:13.5px;color:var(--muted);white-space:nowrap}.blog-filters button.is-active,.blog-chip.is-active{background:var(--ink);border-color:var(--ink);color:var(--canvas)}.blog-search{margin-left:auto;display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--surface);border-radius:99px;padding:7px 14px;min-width:220px}.blog-search input{border:0;outline:0;background:transparent;font-size:14px;width:100%;color:var(--ink)}.blog-lead{color:inherit;display:grid;grid-template-columns:1.35fr 1fr;gap:36px;align-items:center;margin-bottom:56px}.blog-lead img{width:100%;aspect-ratio:40 / 21;-o-object-fit:cover;object-fit:cover;border-radius:14px;border:1px solid var(--line);display:block}.blog-lead h2{font-size:clamp(26px,3.2vw,36px);line-height:1.12;letter-spacing:-.03em;font-weight:650;margin-top:12px;text-wrap:balance}.blog-lead p{margin-top:14px;font-size:16.5px;line-height:1.6;color:var(--muted)}.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px 24px}.blog-section-title{display:flex;justify-content:space-between;align-items:baseline;margin:8px 0 20px}.blog-section-title h2{font-size:20px;letter-spacing:-.02em;font-weight:650}.blog-section-title span{font-size:13px;color:var(--muted)}.blog-empty{padding:60px 0;text-align:center;color:var(--muted)}@media (max-width: 900px){.blog-hero,.blog-lead{grid-template-columns:1fr;gap:18px}.blog-grid{grid-template-columns:1fr 1fr}.blog-search{margin-left:0;width:100%}}@media (max-width: 600px){.blog-shell{padding:96px 18px 56px}.blog-grid{grid-template-columns:1fr}.blog-filters{flex-wrap:nowrap;overflow-x:auto;margin-right:-18px;padding-right:18px}}
