.blog{--mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;padding-block:clamp(2.5rem, 2rem + 3vw, 4.5rem) var(--band)}.blog-guide{grid-template-columns:minmax(0,42rem) 14rem;justify-content:center;gap:4.5rem;display:grid}.blog-head h1{letter-spacing:-.03em;text-wrap:balance;font-size:clamp(1.9rem,1.4rem + 2.2vw,2.9rem);font-weight:700;line-height:1.25}.blog-dek{color:var(--ink-soft);margin-top:1rem;font-size:clamp(1.05rem,1rem + .3vw,1.2rem);line-height:1.65}.blog-dates,.blog-tags{color:var(--ink-soft);flex-wrap:wrap;gap:.35rem 1.25rem;margin-top:1.2rem;font-size:.9rem;display:flex}.blog-tags{gap:.4rem;margin-top:.9rem}.blog-tags li{color:var(--deep);background:#e7f1ef;border-radius:3px;padding:.15rem .55rem;font-size:.8rem}.blog-rail{padding-top:.4rem}.blog-toc{font-size:.875rem;line-height:1.5;position:sticky;top:1.5rem}.blog-toc__title{margin-bottom:.75rem;font-weight:600}.blog-toc ol{border-left:1px solid var(--rule)}.blog-toc a{color:var(--ink-soft);border-left:3px solid #0000;margin-left:-1px;padding:.35rem 0 .35rem .9rem;text-decoration:none;display:block}.blog-toc a:hover{color:var(--ink)}.blog-toc a[aria-current=true]{border-left-color:var(--mark);color:var(--ink);font-weight:600}.blog-toc--inline{display:none}.blog-body{margin-top:2.5rem;font-size:1.0625rem;line-height:1.85}.blog-body>*+*{margin-top:1.25em}.blog-body h2{letter-spacing:-.02em;margin-top:2.6em;scroll-margin-top:1.5rem;font-size:1.625rem;font-weight:700;line-height:1.35}.blog-body h3{margin-top:2em;scroll-margin-top:1.5rem;font-size:1.2rem;font-weight:600;line-height:1.45}.blog-body h2+*,.blog-body h3+*{margin-top:.7em}.blog-body a{color:var(--deep);border-bottom:2px solid var(--mark);text-decoration:none}.blog-body a:hover{background:var(--mark-soft)}.blog-body ul{padding-left:1.3em;list-style:outside}.blog-body ol{padding-left:1.3em;list-style:decimal}.blog-body li+li{margin-top:.3em}.blog-body li::marker{color:var(--deep)}.blog-body strong{font-weight:600}.blog-body :not(pre)>code{font-family:var(--mono);background:var(--paper-sunk);overflow-wrap:anywhere;border-radius:3px;padding:.12em .36em;font-size:.86em}.blog-body pre{font-family:var(--mono);background:var(--paper-sunk);border-left:3px solid var(--deep);border-radius:0 4px 4px 0;padding:1rem 1.25rem;font-size:.875rem;line-height:1.7;overflow-x:auto}.blog-body pre code{font-family:inherit}.blog-body table{border-collapse:collapse;width:100%;font-size:.95rem;line-height:1.6;display:block;overflow-x:auto}.blog-body th{text-align:left;border-bottom:2px solid var(--ink);padding:.55em .9em .55em 0;font-weight:600}.blog-body td{border-bottom:1px solid var(--rule);vertical-align:top;padding:.6em .9em .6em 0}.blog-body blockquote{border-left:3px solid var(--deep);color:var(--ink);padding-left:1.1rem}.blog-body img{border:1px solid var(--rule);border-radius:4px;max-width:100%;height:auto}.blog-body hr{border:0;border-top:1px solid var(--rule)}.blog-callout{background:var(--paper-sunk);border-radius:4px;padding:.9rem 1.1rem;font-size:.97rem}.blog-callout[data-type=warning]{background:var(--mark-soft)}.blog-callout>*+*{margin-top:.6em}.blog-details{border-left:3px solid var(--rule);padding:.1rem 0 .1rem 1rem;font-size:.97rem}.blog-details>summary{cursor:pointer;color:var(--deep);font-weight:600}.blog-details>summary::marker{color:var(--deep)}.blog-details[open]{border-left-color:var(--deep)}.blog-details[open]>summary{margin-bottom:.6em}.blog-details>*+*{margin-top:.6em}.blog-details>summary:focus-visible{outline:2px solid var(--deep);outline-offset:2px}.blog-todo{background:var(--mark-soft);border:1px dashed #caa22a;border-radius:4px;padding:.7rem .9rem;font-size:.9rem;line-height:1.6}.blog-todo strong{color:#7a5d00;font-size:.8rem;display:block}.blog-todo>*+*{margin-top:.3em}.blog-foot{border-top:1px solid var(--rule);margin-top:4rem;padding-top:2rem;font-size:.95rem}.blog-foot a{color:var(--deep);border-bottom:2px solid var(--mark);font-weight:600;text-decoration:none}.blog-index{max-width:42rem}.blog-index__lead{color:var(--ink-soft);font-size:var(--step-1);margin-top:1rem;line-height:1.6}.blog-list{gap:2.5rem;margin-top:3rem;display:grid}.blog-list h2{letter-spacing:-.02em;font-size:1.4rem;line-height:1.35}.blog-list h2 a{color:inherit;text-decoration:none}.blog-list h2 a:hover{box-shadow:inset 0 -.35em 0 var(--mark-soft)}.blog-list p{color:var(--ink-soft);margin-top:.5rem;line-height:1.65}.blog-list .blog-dates{margin-top:.6rem}.blog-empty{color:var(--ink-soft);margin-top:3rem}.blog-footer{background:var(--paper-sunk);color:var(--ink-soft);padding-block:2.5rem;font-size:.875rem}.blog-footer .shell{flex-wrap:wrap;gap:.5rem 1.5rem;display:flex}.blog-footer a{color:inherit}@media (width<=1100px){.blog-guide{grid-template-columns:minmax(0,42rem);gap:0}.blog-rail{display:none}.blog-toc--inline{background:var(--paper-sunk);border-radius:4px;margin-top:1.8rem;padding:.9rem 1rem;font-size:.9rem;display:block}.blog-toc--inline summary{cursor:pointer;font-weight:600}.blog-toc--inline ol{margin-top:.6rem}.blog-toc--inline a{color:var(--ink-soft);padding:.3rem 0;text-decoration:none;display:block}}
