.blog-article{padding-block:var(--space-xl) 0}.blog-article__grid{row-gap:var(--space-l);grid-template-columns:1fr;max-width:68ch;margin-inline:auto;display:grid}.blog-article__head{gap:var(--space-xs);flex-direction:column;display:flex}.blog-article__meta{align-items:center;gap:var(--space-2xs);font-family:var(--font-mono);font-size:var(--step--1);letter-spacing:.02em;color:var(--ink-mute);flex-wrap:wrap;margin:0;display:flex}.blog-article__cat{color:var(--electric);text-transform:uppercase;letter-spacing:.08em}.blog-article__title{font-size:var(--step-4);letter-spacing:-.01em;color:var(--ink);text-wrap:balance;margin:0;line-height:1.08}.blog-article__byline{font-size:var(--step--1);color:var(--ink-soft);margin:0}.blog-article__updated{font-family:var(--font-mono);font-size:var(--step--1);color:var(--ink-mute);margin:0}.blog-article__aside{min-width:0}.blog-toc__title,.blog-toc__summary{font-family:var(--font-mono);font-size:var(--step--1);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-mute);margin:0 0 var(--space-2xs)}.blog-toc__list{gap:var(--space-3xs);border-left:1px solid var(--line);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.blog-toc__link{padding:.2rem 0 .2rem var(--space-s);font-size:var(--step--1);color:var(--ink-soft);transition:color var(--dur) var(--ease), border-color var(--dur) var(--ease);border-left:2px solid #0000;margin-left:-1px;line-height:1.35;text-decoration:none;display:block}.blog-toc__link:hover{color:var(--ink)}.blog-toc__link.is-active{color:var(--electric);border-left-color:var(--electric)}.blog-toc--desktop{display:none}.blog-toc--mobile{border:1px solid var(--line);border-radius:var(--radius-m);background:var(--paper);padding:var(--space-s) var(--space-m);display:block}.blog-toc--mobile .blog-toc__summary{cursor:pointer;margin:0}.blog-toc--mobile[open] .blog-toc__summary{margin-bottom:var(--space-s)}.blog-toc--mobile .blog-toc__list{border-left:none}.blog-toc--mobile .blog-toc__link{border-left:none;padding-left:0}@media (min-width:1080px){.blog-article__grid{column-gap:var(--space-2xl);grid-template-columns:minmax(0,68ch) 12.5rem;align-items:start;max-width:calc(68ch + 17rem)}.blog-article__head{grid-area:1/1}.blog-article__body{grid-area:2/1}.blog-article__aside{grid-area:1/2/span 2;align-self:start;position:sticky;top:6rem}.blog-toc--desktop{display:block}.blog-toc--mobile{display:none}}.prose{color:var(--ink-soft);font-size:var(--step-0);line-height:1.7}.prose>*+*{margin-top:var(--space-s)}.prose h2{margin-top:var(--space-xl);margin-bottom:var(--space-2xs);font-size:var(--step-2);color:var(--ink);letter-spacing:-.01em;scroll-margin-top:6rem;line-height:1.2}.prose h3{margin-top:var(--space-l);margin-bottom:var(--space-2xs);font-size:var(--step-1);color:var(--ink);scroll-margin-top:6rem;line-height:1.25}.prose p{margin-top:var(--space-s)}.prose strong{color:var(--ink);font-weight:600}.prose em{font-family:var(--font-serif);color:var(--ink);font-size:1.08em;font-style:italic}.prose a{color:var(--electric);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--electric) 35%, transparent);text-decoration-color:color-mix(in srgb, var(--electric) 35%, transparent);text-underline-offset:3px}.prose a:hover{-webkit-text-decoration-color:var(--electric);text-decoration-color:var(--electric)}.prose ul,.prose ol{margin-top:var(--space-s);padding-left:var(--space-l)}.prose li+li{margin-top:var(--space-2xs)}.prose li::marker{color:var(--ink-mute)}.prose blockquote{margin:var(--space-l) 0;padding:var(--space-2xs) 0 var(--space-2xs) var(--space-m);border-left:3px solid var(--electric);color:var(--ink)}.prose img{border-radius:var(--radius-m);border:1px solid var(--line);max-width:100%;height:auto}.prose code{font-family:var(--font-mono);border-radius:var(--radius-s);background:var(--field-bg);color:var(--ink);padding:.1em .35em;font-size:.9em}.prose pre{margin-top:var(--space-s);padding:var(--space-s) var(--space-m);white-space:pre-wrap;overflow-wrap:break-word;word-break:break-word;border-radius:var(--radius-s);background:var(--paper);border:1px solid color-mix(in srgb, var(--navy) 22%, transparent);color:var(--ink);font-size:var(--step--1)}.prose pre code{white-space:inherit;color:inherit;background:0 0;padding:0}.prose hr{margin:var(--space-xl) 0;border:none;border-top:1px solid var(--line)}.blog-formula{margin-top:var(--space-s);background:var(--paper);border:1px solid color-mix(in srgb, var(--navy) 22%, transparent);border-radius:var(--radius-s);font-family:var(--font-mono);font-size:var(--step--1);color:var(--ink);text-align:left;overflow-wrap:anywhere;padding:.55rem .85rem;line-height:1.6}.blog-steps{margin:var(--space-s) 0 0;padding:var(--space-xs) 0;gap:var(--space-2xs);counter-reset:none;list-style:none;display:grid}.blog-steps__item{align-items:baseline;gap:var(--space-s);display:flex}.blog-steps__no{font-family:var(--font-mono);font-size:var(--step--1);color:color-mix(in srgb, var(--navy) 55%, transparent);letter-spacing:.04em;flex:none}.blog-steps__label{font-family:var(--font-mono);font-size:var(--step-0);color:var(--ink);overflow-wrap:anywhere}.blog-share{align-items:center;gap:var(--space-s);margin-top:var(--space-2xl);padding-top:var(--space-l);border-top:1px solid var(--line);flex-wrap:wrap;grid-column:1;display:flex}.blog-share__label{font-family:var(--font-mono);font-size:var(--step--1);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-mute);margin:0}.blog-share__buttons{gap:var(--space-2xs);flex-wrap:wrap;display:flex}.blog-share__btn{min-width:44px;min-height:44px;padding-inline:var(--space-s);border-radius:var(--radius-pill);border:1px solid color-mix(in srgb, var(--navy) 22%, transparent);color:var(--ink);cursor:pointer;transition:border-color var(--dur) var(--ease), background var(--dur) var(--ease);background:0 0;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.blog-share__btn:hover{border-color:color-mix(in srgb, var(--navy) 45%, transparent);background:var(--bone-dim)}.blog-share__btn svg{fill:currentColor;width:20px;height:20px;display:block}.blog-share__copied{font-family:var(--font-mono);font-size:var(--step--1);color:var(--navy);white-space:nowrap}@media (prefers-reduced-motion:reduce){.blog-share__btn{transition:none}}.blog-cta{margin-top:var(--space-2xl);background-color:var(--navy);background-image:var(--navy-bloom), var(--navy-mesh);color:var(--ink-on-dark);position:relative;overflow:hidden}.blog-cta:after{content:"";background-image:var(--grain);pointer-events:none;position:absolute;inset:0}.blog-cta__inner{justify-content:space-between;align-items:center;gap:var(--space-m);padding-block:var(--space-xl);flex-wrap:wrap;display:flex;position:relative}.blog-cta__text{max-width:42ch;font-size:var(--step-1);margin:0;line-height:1.3}.blog-cta__btn{flex-shrink:0}.blog-filterband{margin-bottom:var(--space-2xl);padding-block:var(--space-l);background-color:var(--navy);background-image:var(--navy-bloom), var(--navy-mesh);color:var(--ink-on-dark);position:relative;overflow:hidden}.blog-filterband:after{content:"";background-image:var(--grain);pointer-events:none;position:absolute;inset:0}.blog-filterband__inner{position:relative}.blog-filterband__eyebrow{margin:0 0 var(--space-s);font-family:var(--font-mono);font-size:var(--step--1);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-on-dark-mute)}.blog-filterband__row{gap:var(--space-2xs);flex-wrap:wrap;display:flex}.blog-catblock{min-width:8.5rem;padding:var(--space-s) var(--space-m);border-radius:var(--radius-m);color:var(--ink-on-dark);text-align:left;cursor:pointer;transition:transform var(--dur) var(--ease), background var(--dur) var(--ease), border-color var(--dur) var(--ease), color var(--dur) var(--ease);background:#eef0ff0a;border:1px solid #eef0ff29;flex-direction:column;gap:4px;display:flex;position:relative}.blog-catblock:hover{border-color:#eef0ff66;transform:translateY(-2px)}.blog-catblock__name{width:fit-content;font-size:var(--step-0);letter-spacing:-.01em;font-weight:600;position:relative}.blog-catblock__name:after{content:"";transform-origin:0;height:1.5px;transition:transform .25s var(--ease);background:currentColor;position:absolute;bottom:-2px;left:0;right:0;transform:scaleX(0)}.blog-catblock:hover .blog-catblock__name:after{transform:scaleX(1)}.blog-catblock__meta{align-items:baseline;gap:var(--space-3xs);display:flex}.blog-catblock__count{font-family:var(--font-mono);font-size:var(--step-0)}.blog-catblock__unit{font-family:var(--font-mono);font-size:var(--step--1);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-on-dark-mute)}.blog-catblock[aria-pressed=true]{background:var(--bone);border-color:var(--bone);color:var(--navy)}.blog-catblock[aria-pressed=true] .blog-catblock__unit{color:color-mix(in srgb, var(--navy) 60%, transparent)}@media (prefers-reduced-motion:reduce){.blog-catblock,.blog-catblock__name:after{transition:none}.blog-catblock:hover{transform:none}}@media (max-width:640px){.blog-filterband__row{scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;padding-bottom:2px;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 14px calc(100% - 22px),#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 14px calc(100% - 22px),#0000 100%)}.blog-filterband__row::-webkit-scrollbar{display:none}.blog-catblock{flex:none}}.blog-list__empty{color:var(--ink-mute);font-size:var(--step-0);padding-block:var(--space-l)}.blog-card__cover{margin:calc(-1 * var(--space-m)) calc(-1 * var(--space-m)) var(--space-2xs);border-radius:var(--radius-l) var(--radius-l) 0 0;background:var(--bone-dim);display:block;overflow:hidden}.blog-card__cover img{aspect-ratio:1200/630;object-fit:cover;width:100%;height:auto;display:block}.blog-siblings{padding-block:var(--space-2xl)}.blog-siblings__title{margin:0 0 var(--space-l);font-size:var(--step-2);color:var(--ink)}.blog-siblings__grid,.blog-list__grid{gap:var(--space-m);grid-template-columns:repeat(auto-fill,minmax(min(100%,18rem),1fr));margin:0;padding:0;list-style:none;display:grid}.blog-card{gap:var(--space-2xs);height:100%;padding:var(--space-m);border:1px solid var(--line);border-radius:var(--radius-l);background:var(--paper);box-shadow:var(--shadow-s);transition:transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);flex-direction:column;text-decoration:none;display:flex}.blog-card:hover{box-shadow:var(--shadow-m);transform:translateY(-3px)}.blog-card__cat{font-family:var(--font-mono);font-size:var(--step--1);text-transform:uppercase;letter-spacing:.08em;color:var(--electric)}.blog-card__title{font-size:var(--step-1);color:var(--ink);line-height:1.25}.blog-card__desc{font-size:var(--step--1);color:var(--ink-soft);line-height:1.5}.blog-card__meta{font-family:var(--font-mono);font-size:var(--step--1);color:var(--ink-mute);margin-top:auto}
