.page--blog-category,.page--blog-index,.page--blog-post,.page--blog-series,.page--blog-tag{gap:1.25rem}.page--blog-post{--blog-post-surface-measure:104ch;justify-items:center}.page--blog-post>:where(.page-header,.content-band){width:min(100%,var(--blog-post-surface-measure))}.blog-search{display:grid;justify-items:end;margin:0 0 1rem;min-width:0;width:100%}.blog-search-trigger{align-items:center;background:color-mix(in srgb,var(--site-color-panel) 88%,var(--site-color-background));border:1px solid var(--site-color-rule);border-radius:6px;color:var(--site-color-text);cursor:pointer;display:inline-flex;gap:.6rem;justify-content:center;min-height:2.5rem;min-width:min(100%,13rem);padding:0 .75rem}.blog-search-trigger:hover{background:color-mix(in srgb,var(--site-color-accent-primary) 12%,var(--site-color-panel));border-color:color-mix(in srgb,var(--site-color-accent-primary) 58%,var(--site-color-rule))}.blog-search-trigger__prompt{color:var(--site-color-accent-primary);font-weight:900}.blog-search-trigger__keys{align-items:center;display:inline-flex;gap:.22rem;margin-left:.1rem}.blog-search-trigger__keys kbd{background:color-mix(in srgb,var(--site-color-panel-strong) 78%,transparent);border:1px solid color-mix(in srgb,var(--site-color-rule) 88%,transparent);border-radius:4px;color:var(--site-color-text-muted);font-size:.72rem;font-weight:800;line-height:1;padding:.2rem .32rem}.blog-search-command{align-items:start;background:color-mix(in srgb,var(--site-color-background) 72%,transparent);display:grid;inset:0;justify-items:center;overflow-y:auto;padding:max(1rem,10svh) 1rem 1rem;position:fixed;z-index:80}.blog-search-command__dialog{background:color-mix(in srgb,var(--site-color-panel) 96%,var(--site-color-background));border:1px solid var(--site-color-rule);border-radius:6px;box-shadow:0 24px 70px color-mix(in srgb,var(--site-color-rule) 58%,transparent);color:var(--site-color-text);display:grid;grid-gap:.85rem;gap:.85rem;max-width:46rem;min-width:0;padding:clamp(.85rem,2vw,1rem);width:min(100%,46rem)}.blog-search-command__header{display:grid;grid-gap:.25rem;gap:.25rem;min-width:0}.blog-search-command__title{font-size:1.15rem;line-height:1.25;margin:0;overflow-wrap:anywhere}.blog-search-command__input-frame{align-items:center;background:color-mix(in srgb,var(--site-color-panel-strong) 66%,transparent);border:1px solid color-mix(in srgb,var(--site-color-rule) 86%,transparent);border-radius:6px;display:grid;grid-gap:.6rem;gap:.6rem;grid-template-columns:auto minmax(0,1fr);min-width:0;padding:.55rem .65rem}.blog-search-command__prompt{color:var(--site-color-accent-primary);font-size:1.1rem;font-weight:900}.blog-search-command__input{background:transparent;border:0;color:var(--site-color-text);min-width:0;outline:0;padding:.2rem 0;width:100%}.blog-search-command__input::placeholder{color:color-mix(in srgb,var(--site-color-text-muted) 82%,transparent)}.blog-search-command__empty,.blog-search-command__status{color:var(--site-color-text-muted);font-size:.86rem;margin:0}.blog-search-command__empty{border:1px dashed color-mix(in srgb,var(--site-color-rule) 86%,transparent);border-radius:6px;padding:.9rem;text-align:center}.blog-search-command__results{display:grid;grid-gap:.5rem;gap:.5rem;list-style:none;margin:0;max-height:min(28rem,56svh);min-width:0;overflow-y:auto;padding:0}.blog-search-command__result{background:color-mix(in srgb,var(--site-color-panel-strong) 48%,transparent);border:1px solid color-mix(in srgb,var(--site-color-rule) 84%,transparent);border-left:3px solid color-mix(in srgb,var(--site-color-accent-tertiary) 68%,transparent);border-radius:6px;color:var(--site-color-text);cursor:pointer;display:grid;grid-gap:.35rem;gap:.35rem;min-width:0;padding:.8rem;text-align:left;width:100%}.blog-search-command__result:hover,.blog-search-command__result[aria-selected=true]{background:color-mix(in srgb,var(--site-color-accent-primary) 12%,var(--site-color-panel));border-color:color-mix(in srgb,var(--site-color-accent-primary) 62%,var(--site-color-rule))}.blog-search-command__result-title{font-size:1rem;font-weight:800;line-height:1.3;overflow-wrap:anywhere}.blog-search-command__result-meta{color:var(--site-color-accent-primary);font-size:.76rem;font-weight:800;overflow-wrap:anywhere;text-transform:uppercase}.blog-search-command__result-excerpt{color:var(--site-color-text-muted);line-height:1.55;overflow-wrap:anywhere}.page--blog-category .content-band,.page--blog-category .page-header,.page--blog-index .content-band,.page--blog-index .page-header,.page--blog-post .content-band,.page--blog-post .page-header,.page--blog-series .content-band,.page--blog-series .page-header,.page--blog-tag .content-band,.page--blog-tag .page-header{background:color-mix(in srgb,var(--site-color-panel) 92%,var(--site-color-background))}.blog-index-list{display:grid;grid-gap:.85rem;gap:.85rem;grid-template-columns:minmax(0,1fr);min-width:0;width:100%}.blog-archive-posts-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:.85rem 1rem;justify-content:space-between;width:100%}.blog-archive-posts-header__summary{display:grid;grid-gap:.75rem;gap:.75rem;min-width:min(100%,12rem)}.blog-archive-sort{align-items:center;display:flex;flex:0 1 auto;flex-wrap:wrap;gap:.45rem;justify-content:flex-end;margin-left:auto;min-width:min(100%,18rem)}.blog-archive-sort__label{color:var(--site-color-accent-secondary);font-size:.76rem;font-weight:800;text-transform:uppercase}.blog-archive-sort__options{align-items:center;display:inline-flex;flex-wrap:wrap;gap:.35rem;justify-content:flex-end;min-width:0}.blog-archive-sort__option{border:1px solid color-mix(in srgb,var(--site-color-rule) 82%,transparent);border-radius:999px;color:var(--site-color-link);font-size:.82rem;font-weight:800;line-height:1.2;padding:.32rem .62rem;text-decoration:none}.blog-archive-sort__option:hover{border-color:var(--site-color-accent-secondary);color:var(--site-color-accent-secondary)}.blog-archive-sort__option--selected{background:color-mix(in srgb,var(--site-color-accent-primary) 14%,transparent);border-color:color-mix(in srgb,var(--site-color-accent-primary) 58%,var(--site-color-rule));color:var(--site-color-text)}.blog-listing{--blog-listing-content-measure:84ch;background:color-mix(in srgb,var(--site-color-panel-strong) 42%,transparent);border:1px solid color-mix(in srgb,var(--site-color-rule) 84%,transparent);border-left:3px solid color-mix(in srgb,var(--site-color-accent-tertiary) 68%,transparent);border-radius:6px;display:grid;grid-gap:.75rem;gap:.75rem;grid-template-columns:minmax(0,1fr);min-width:0;padding:clamp(1rem,1.5vw,1.35rem);width:100%}.blog-listing:hover{background:color-mix(in srgb,var(--site-color-panel-strong) 58%,transparent);border-color:color-mix(in srgb,var(--site-color-accent-primary) 64%,var(--site-color-rule))}.blog-listing__meta{align-items:center;display:flex;flex-wrap:wrap;gap:.45rem;min-width:0}.blog-listing__date,.blog-post-header__date{color:var(--site-color-accent-primary);font-size:.82rem;font-weight:800;margin:0;text-transform:uppercase}.blog-listing>:where(.blog-listing__title,.blog-listing__excerpt,.blog-editorial,.blog-taxonomy){max-width:min(100%,var(--blog-listing-content-measure));width:100%}.blog-admin-preview-marker{background:color-mix(in srgb,var(--site-color-warning) 16%,transparent);border:1px solid color-mix(in srgb,var(--site-color-warning) 62%,var(--site-color-rule));border-radius:6px;color:var(--site-color-warning);display:inline-flex;font-size:.74rem;font-weight:900;line-height:1.2;max-width:100%;overflow-wrap:anywhere;padding:.22rem .48rem;text-transform:uppercase}.blog-post-header__reading-time{color:var(--site-color-text-muted);font-size:.82rem;font-weight:800;margin:0;text-transform:uppercase}.blog-listing__title{font-size:1.18rem;line-height:1.32;margin:0;overflow-wrap:anywhere}.blog-listing__title a{color:var(--site-color-text);text-decoration:none}.blog-listing__title a:hover{color:var(--site-color-accent-secondary);text-decoration:underline}.blog-listing__excerpt,.blog-series-card__description,.blog-taxonomy__line{color:var(--site-color-text-muted);line-height:1.7;margin:0;overflow-wrap:anywhere}.blog-series-index{display:grid;grid-gap:1rem;gap:1rem}.blog-series-index__list{display:grid;grid-gap:.85rem;gap:.85rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));min-width:0}.blog-series-card{background:color-mix(in srgb,var(--site-color-panel-strong) 42%,transparent);border:1px solid color-mix(in srgb,var(--site-color-rule) 84%,transparent);border-left:3px solid color-mix(in srgb,var(--site-color-accent-secondary) 68%,transparent);border-radius:6px;display:grid;grid-gap:.65rem;gap:.65rem;min-width:0;padding:1rem}.blog-series-card__count{color:var(--site-color-accent-primary);font-size:.78rem;font-weight:800;margin:0;text-transform:uppercase}.blog-series-card__title{font-size:1.08rem;line-height:1.35;margin:0;overflow-wrap:anywhere}.blog-series-card__title a{color:var(--site-color-text);text-decoration:none}.blog-series-card__title a:hover{color:var(--site-color-accent-secondary);text-decoration:underline}.blog-editorial{align-items:center;display:flex;flex-wrap:wrap;gap:.35rem;min-width:0}.blog-editorial__chip{background:color-mix(in srgb,var(--site-color-panel-strong) 64%,transparent);border:1px solid color-mix(in srgb,var(--site-color-rule) 88%,transparent);border-radius:999px;color:var(--site-color-text-muted);font-size:.76rem;font-weight:800;line-height:1.2;overflow-wrap:anywhere;padding:.18rem .5rem;text-transform:uppercase}.blog-editorial__chip--series{text-transform:none}.blog-editorial__chip--archive{background:color-mix(in srgb,var(--site-color-warning) 14%,transparent);border-color:color-mix(in srgb,var(--site-color-warning) 56%,var(--site-color-rule));color:var(--site-color-warning)}.blog-taxonomy{display:grid;grid-gap:.45rem;gap:.45rem;min-width:0}.blog-taxonomy--inline{align-items:flex-start;display:flex;flex-wrap:wrap;gap:.45rem 1.1rem}.blog-taxonomy__line{align-items:center;display:flex;flex-wrap:wrap;gap:.35rem .45rem;min-width:0}.blog-taxonomy__label{color:var(--site-color-accent-secondary);flex:0 0 auto;font-size:.76rem;font-weight:800;text-transform:uppercase}.blog-taxonomy__term{align-items:center;display:inline-flex;gap:.35rem;min-width:0}.blog-taxonomy__separator{color:color-mix(in srgb,var(--site-color-text-muted) 70%,transparent);font-weight:800}.blog-taxonomy__link{background:color-mix(in srgb,var(--site-color-accent-primary) 8%,transparent);border:1px solid color-mix(in srgb,var(--site-color-accent-primary) 38%,var(--site-color-rule));border-radius:999px;color:var(--site-color-link);font-size:.86rem;font-weight:800;line-height:1.25;overflow-wrap:anywhere;padding:.16rem .45rem;text-decoration:none}.blog-taxonomy__link:hover{background:color-mix(in srgb,var(--site-color-accent-secondary) 12%,var(--site-color-panel));border-color:var(--site-color-accent-secondary);color:var(--site-color-accent-secondary)}.blog-post-header{display:grid;grid-gap:.85rem;gap:.85rem}.blog-post-header .page-title{margin-top:.25rem}.blog-post-header__title-row{align-items:start;display:grid;grid-gap:.75rem;gap:.75rem;grid-template-columns:minmax(0,1fr) auto;min-width:0;position:relative}.blog-post-header__title-copy{display:grid;grid-gap:.45rem;gap:.45rem;min-width:0}.blog-admin-manage-link{align-self:start;border:1px solid var(--site-color-rule);border-radius:6px;color:var(--site-color-text);font-size:.82rem;font-weight:900;line-height:1.2;padding:.45rem .65rem;text-decoration:none;text-transform:uppercase}.blog-admin-manage-link:hover{border-color:var(--site-color-accent-primary);color:var(--site-color-accent-primary)}.blog-post-admin-preview{align-self:start;background:color-mix(in srgb,var(--site-color-warning) 16%,transparent);border:1px solid color-mix(in srgb,var(--site-color-warning) 62%,var(--site-color-rule));border-radius:6px;color:var(--site-color-warning);font-size:.78rem;font-weight:900;justify-self:start;line-height:1.25;margin:0;overflow-wrap:anywhere;padding:.32rem .55rem;text-transform:uppercase}.blog-post-header__meta{align-items:flex-start;display:flex;flex-wrap:wrap;gap:.7rem 1.5rem;justify-content:space-between;min-width:0}.blog-post-header__identity{align-items:center;display:flex;flex-wrap:wrap;gap:.35rem .6rem;min-width:min(100%,18rem)}.blog-post-header__separator{color:color-mix(in srgb,var(--site-color-text-muted) 72%,transparent);font-size:.82rem;font-weight:800;line-height:1}.blog-post-header__series-link{text-decoration:none}.blog-post-header__series-link:hover{color:var(--site-color-accent-secondary);text-decoration:underline}.blog-post-header__taxonomy{flex:0 1 auto;margin-left:auto;max-width:100%;min-width:0;width:-moz-fit-content;width:fit-content}.blog-post-archive-notice{border-left:3px solid color-mix(in srgb,var(--site-color-warning) 72%,var(--site-color-rule));display:grid;grid-gap:.35rem;gap:.35rem;padding:1rem 1.15rem}.blog-post-archive-notice__label{color:var(--site-color-warning);font-size:.78rem;font-weight:900;letter-spacing:0;line-height:1.25;margin:0;overflow-wrap:anywhere;text-transform:uppercase}.blog-post-archive-notice__message{color:var(--site-color-text-muted);line-height:1.65;margin:0;max-width:72ch;overflow-wrap:anywhere}.blog-post-body{overflow:hidden;padding:clamp(1rem,2vw,1.5rem)}.blog-post-footer{align-items:start;display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:minmax(0,.62fr) minmax(0,1fr);padding:1.15rem}.blog-post-footer__section,.blog-post-footer__summary{display:grid;grid-gap:.6rem;gap:.6rem;min-width:0}.blog-post-footer__summary p{color:var(--site-color-text-muted);line-height:1.65;margin:0;max-width:66ch;overflow-wrap:anywhere}.blog-post-footer__sections{display:grid;grid-gap:.9rem;gap:.9rem;min-width:0}.blog-post-footer__heading{color:var(--site-color-text);font-size:1rem;line-height:1.35;margin:0;overflow-wrap:anywhere}.blog-post-footer__heading a{color:var(--site-color-text);text-decoration:none}.blog-post-footer__heading a:hover{color:var(--site-color-accent-secondary);text-decoration:underline}.blog-post-footer__links{display:grid;grid-gap:.65rem;gap:.65rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr));min-width:0}.blog-post-footer__link{border:1px solid color-mix(in srgb,var(--site-color-rule) 86%,transparent);border-left:3px solid var(--site-color-accent-primary);border-radius:6px;color:var(--site-color-link);display:grid;grid-gap:.25rem;gap:.25rem;min-width:0;padding:.75rem;text-decoration:none}.blog-post-footer__link span{color:var(--site-color-text-muted);font-size:.72rem;font-weight:800;text-transform:uppercase}.blog-post-footer__link strong{color:var(--site-color-text);line-height:1.35;overflow-wrap:anywhere}.blog-post-footer__link:hover{background:color-mix(in srgb,var(--site-color-accent-secondary) 10%,transparent);border-color:var(--site-color-accent-secondary)}.blog-html{--blog-code-background:color-mix(in srgb,var(--site-color-panel-strong) 86%,var(--site-color-background));--blog-code-border:color-mix(in srgb,var(--site-color-rule) 86%,transparent);--blog-code-token-comment:color-mix(in srgb,var(--site-color-text-muted) 76%,var(--site-color-background));--blog-code-token-constant:var(--site-color-accent-primary);--blog-code-token-entity:var(--site-color-accent-secondary);--blog-code-token-keyword:var(--site-color-accent-tertiary);--blog-code-token-string:color-mix(in srgb,var(--site-color-accent-secondary) 76%,var(--site-color-text));--blog-code-token-text:var(--site-color-text);--blog-code-token-variable:color-mix(in srgb,var(--site-color-accent-primary) 74%,var(--site-color-text));--blog-inline-code-background:color-mix(in srgb,var(--site-color-accent-tertiary) 12%,var(--site-color-panel));color:var(--site-color-text);display:grid;grid-gap:1.05rem;gap:1.05rem;grid-template-columns:minmax(0,1fr);max-width:100%;width:100%}.blog-html>*{min-width:0}.blog-html>:first-child{margin-top:0}.blog-html>:last-child{margin-bottom:0}.blog-html blockquote,.blog-html figure,.blog-html ol,.blog-html p,.blog-html pre,.blog-html table,.blog-html ul{margin:0}.blog-html p{line-height:1.78}.blog-html figure{display:grid;grid-gap:.55rem;gap:.55rem}.blog-html figcaption{color:var(--site-color-text-muted);font-size:.82rem;line-height:1.55;overflow-wrap:anywhere}.blog-html :where(p,li,blockquote,h2,h3,h4,th,td){overflow-wrap:anywhere}.blog-html ol,.blog-html ul{color:var(--site-color-text);padding-left:1.35rem}.blog-html li+li{margin-top:.35rem}.blog-html h2,.blog-html h3,.blog-html h4{color:var(--site-color-text);font-size:1.2rem;line-height:1.3;margin:.6rem 0 0;scroll-margin-top:5rem}.blog-html h2{border-top:1px solid var(--site-color-rule);color:var(--site-color-accent-secondary);padding-top:1rem}.blog-html h3{color:var(--site-color-accent-tertiary)}.blog-heading-anchor-group{align-items:start;display:grid;grid-gap:.35rem;gap:.35rem;grid-template-columns:minmax(0,1fr) auto;margin:.6rem 0 0;min-width:0}.blog-heading-anchor-group>.blog-heading-anchor-target{margin:0}.blog-heading-anchor{align-items:center;border:1px solid var(--site-color-rule);border-radius:4px;color:var(--site-color-text-muted);display:inline-flex;font-size:.86rem;font-weight:800;height:1.65rem;justify-content:center;margin-top:.08rem;opacity:0;text-decoration:none;transition:background .16s ease,border-color .16s ease,color .16s ease,opacity .16s ease;width:1.65rem}.blog-heading-anchor-group:hover .blog-heading-anchor,.blog-heading-anchor:focus-visible{opacity:1}.blog-heading-anchor:focus-visible,.blog-heading-anchor:hover{background:color-mix(in srgb,var(--site-color-accent-primary) 14%,transparent);border-color:color-mix(in srgb,var(--site-color-accent-primary) 58%,var(--site-color-rule));color:var(--site-color-text)}.blog-html a{font-weight:800}.blog-html blockquote{background:color-mix(in srgb,var(--site-color-panel-strong) 42%,transparent);border:1px solid var(--site-color-rule);border-left:3px solid var(--site-color-accent-secondary);border-radius:6px;color:var(--site-color-text-muted);padding:.85rem 1rem}.blog-html img{background:var(--site-color-panel-strong);border:1px solid var(--site-color-rule);border-radius:4px;display:block;height:auto;max-width:100%;padding:.25rem}.blog-html :where(p,li,th,td)>code{background:var(--blog-inline-code-background);border:1px solid color-mix(in srgb,var(--site-color-accent-tertiary) 28%,var(--site-color-rule));border-radius:4px;color:var(--site-color-text);font-size:.92em;padding:.08rem .28rem}.blog-html pre{background:var(--blog-code-background);border:1px solid var(--blog-code-border);border-radius:6px;color:var(--site-color-text);font-size:.92rem;line-height:1.55;max-width:100%;overflow-x:auto;padding:1rem}.blog-html pre code{background:transparent;border:0;color:inherit;display:block;font-size:inherit;padding:0;white-space:pre}.blog-code-frame{min-width:0;position:relative}.blog-code-copy{background:color-mix(in srgb,var(--site-color-panel-strong) 92%,transparent);border:1px solid color-mix(in srgb,var(--site-color-rule) 82%,transparent);border-radius:4px;color:var(--site-color-text-muted);cursor:pointer;font:inherit;font-size:.72rem;font-weight:800;line-height:1;padding:.42rem .55rem;position:absolute;right:.6rem;text-transform:uppercase;top:.6rem;transition:background .16s ease,border-color .16s ease,color .16s ease;z-index:1}.blog-code-copy:focus-visible,.blog-code-copy:hover:not(:disabled){background:color-mix(in srgb,var(--site-color-accent-primary) 16%,var(--site-color-panel));border-color:color-mix(in srgb,var(--site-color-accent-primary) 62%,var(--site-color-rule));color:var(--site-color-text)}.blog-code-copy:disabled{cursor:not-allowed;opacity:.56}.blog-code-copy[data-copy-status=copied]{color:var(--site-color-accent-secondary)}.blog-code-copy[data-copy-status=failed],.blog-code-copy[data-copy-status=unavailable]{color:var(--site-color-danger)}.blog-code__line{display:inline}.blog-code-block:not([data-line-numbers=false]):has(.blog-code__line+.blog-code__line) code{counter-reset:blog-code-line}.blog-code-block:not([data-line-numbers=false]):has(.blog-code__line+.blog-code__line) .blog-code__line{counter-increment:blog-code-line}.blog-code-block:not([data-line-numbers=false]):has(.blog-code__line+.blog-code__line) .blog-code__line:before{background:var(--blog-code-background);border-right:1px solid color-mix(in srgb,var(--blog-code-border) 78%,transparent);color:color-mix(in srgb,var(--site-color-text-muted) 82%,transparent);content:counter(blog-code-line);display:inline-block;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;margin-right:.9rem;padding-right:.75rem;position:-webkit-sticky;position:sticky;left:0;text-align:right;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:4ch;z-index:1}.blog-code__token{color:var(--blog-code-token-color,var(--blog-code-token-text))}.blog-code__token--bold{font-weight:800}.blog-code__token--italic{font-style:italic}.blog-code__token--underline{text-decoration:underline;text-decoration-thickness:.08em;text-underline-offset:.16em}.blog-html pre[data-language]:before{color:var(--site-color-text-muted);content:attr(data-language);display:block;font-size:.72rem;font-weight:700;margin-bottom:.75rem;text-transform:uppercase}.blog-html table{border-collapse:collapse;display:block;max-width:100%;overflow-x:auto}.blog-html td,.blog-html th{border:1px solid var(--site-color-rule);padding:.55rem .65rem;text-align:left;vertical-align:top}.blog-html th{background:color-mix(in srgb,var(--site-color-accent-primary) 12%,var(--site-color-panel));color:var(--site-color-text);font-weight:800}.blog-html td{background:color-mix(in srgb,var(--site-color-panel-strong) 32%,transparent)}@media (max-width:840px){.blog-post-header__meta{display:grid;justify-content:stretch}.blog-post-header__title-row{grid-template-columns:minmax(0,1fr)}.blog-post-header__taxonomy{margin-left:0;width:100%}.blog-post-footer,.blog-post-footer__links{grid-template-columns:1fr}}