:root{--paper: #fffdf8;--paper-deep: #f2f1e9;--ink: #192322;--ink-soft: #52615f;--rule: #cbd8d5;--accent: #0d7377;--accent-soft: #dbecea}.accent-amber{--accent: #98400e;--accent-soft: #f4e5d2}.accent-cobalt{--accent: #315b9c;--accent-soft: #e0e8f4}.blog-index,.blog-article{background:radial-gradient(circle at 15% 0%,rgba(13,115,119,.055),transparent 30rem),var(--paper);color:var(--ink)}.blog-index{padding:clamp(2.25rem,6vw,6.5rem) clamp(1.25rem,5vw,5rem) clamp(4rem,8vw,8rem)}.blog-index__intro{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(18rem,.7fr);align-items:end;gap:3rem;padding-bottom:clamp(2.5rem,5vw,5rem);border-bottom:1px solid var(--rule)}.blog-eyebrow,.section-label,.post-card__meta,.post-card__tags,.post-card__cta,.article-kicker,.article-breadcrumb,.article-tags,.article-toc,.article-hero figcaption,.article-finish__eyebrow{font-family:var(--font-mono)}.blog-eyebrow,.section-label{display:inline-flex;align-items:center;gap:.6rem;color:var(--accent);font-size:.72rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.blog-eyebrow:before,.section-label:before{content:"";width:1.6rem;height:2px;background:currentColor}.blog-index__intro h1{max-width:900px;margin:1.1rem 0 0;font-family:var(--font-editorial);font-size:clamp(3.3rem,8vw,7.8rem);font-weight:650;letter-spacing:-.055em;line-height:.88}.blog-index__intro h1 em{color:var(--accent);font-weight:430}.blog-index__lede{margin:0;padding-left:1.5rem;border-left:2px solid var(--accent);font-family:var(--font-editorial);font-size:clamp(1.25rem,2.1vw,1.65rem);line-height:1.42;color:var(--ink-soft)}.blog-index__section{padding-top:clamp(2.5rem,5vw,5rem)}.blog-index__section-header{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1.25rem}.blog-index__section-header p{color:var(--ink-soft);font-size:.72rem;margin:0}.blog-index__archive{display:grid;gap:1.5rem}.blog-empty{border:1px solid var(--rule);padding:3rem;font-family:var(--font-editorial);font-size:1.4rem}.post-card{border:1px solid var(--rule);background:#ffffff73}.post-card__link{color:inherit;display:grid;text-decoration:none;min-height:100%}.post-card--featured .post-card__link{grid-template-columns:minmax(0,.9fr) minmax(26rem,1.1fr)}.post-card__image-wrap{position:relative;overflow:hidden;background:var(--accent-soft);min-height:24rem}.post-card--featured .post-card__image-wrap{grid-column:2}.post-card__image{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;filter:saturate(.86) contrast(1.03);transition:transform .45s cubic-bezier(.2,.7,.2,1),filter .3s ease}.post-card__index{position:absolute;top:1rem;right:1rem;display:grid;place-items:center;width:3.1rem;aspect-ratio:1;border:1px solid rgba(255,255,255,.65);background:#192322c2;color:#fff;font-size:.72rem;backdrop-filter:blur(8px)}.post-card__body{min-width:0;padding:clamp(1.5rem,4vw,4rem);display:flex;flex-direction:column;justify-content:center}.post-card--featured .post-card__body{grid-column:1;grid-row:1}.post-card__meta{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem;color:var(--accent);font-size:.68rem;font-weight:680;letter-spacing:.07em;text-transform:uppercase}.draft-flag{padding:.16rem .42rem;border:1px solid currentColor;background:var(--accent-soft);letter-spacing:.1em}.post-card h2{margin:0;font-family:var(--font-editorial);font-size:clamp(2.15rem,4.1vw,4.3rem);font-weight:650;letter-spacing:-.035em;line-height:.99;text-wrap:balance}.post-card p{margin:1.4rem 0 1.75rem;color:var(--ink-soft);font-family:var(--font-editorial);font-size:clamp(1.12rem,1.7vw,1.35rem);line-height:1.5}.post-card__footer{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:auto}.post-card__tags{display:flex;flex-wrap:wrap;gap:.45rem}.post-card__tags span{padding:.35rem .55rem;background:var(--accent-soft);color:var(--accent);font-size:.7rem;letter-spacing:.02em;text-transform:uppercase}.post-card__cta{color:var(--accent);font-size:.72rem;font-weight:720;white-space:nowrap;border-bottom:1px solid transparent}.post-card__link:hover .post-card__image{transform:scale(1.025);filter:saturate(1) contrast(1.03)}.post-card__link:hover h2{text-decoration:underline;text-decoration-thickness:.06em;text-underline-offset:.11em;text-decoration-color:var(--accent)}.post-card__link:hover .post-card__cta{border-color:currentColor}.post-card--standard .post-card__link{grid-template-columns:minmax(18rem,.72fr) minmax(0,1.28fr)}.post-card--standard .post-card__image-wrap{min-height:20rem}.post-card--standard .post-card__body{grid-column:2;grid-row:1}.post-card--standard h2{font-size:clamp(2rem,3.3vw,3.4rem)}.reading-progress{position:fixed;z-index:1000;top:0;left:0;width:100%;height:3px;pointer-events:none}.reading-progress span{display:block;width:100%;height:100%;background:var(--accent);transform:scaleX(0);transform-origin:left}.article-header{max-width:1120px;margin:0 auto;padding:clamp(2.5rem,7vw,7rem) clamp(1.25rem,5vw,4.5rem) clamp(2.5rem,5vw,4.5rem)}.article-breadcrumb{display:flex;flex-wrap:wrap;gap:.55rem;margin-bottom:clamp(2rem,5vw,4.5rem);color:var(--ink-soft);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase}.article-breadcrumb a{color:var(--accent);text-underline-offset:.22em}.article-kicker{display:flex;flex-wrap:wrap;gap:.55rem;color:var(--accent);font-size:.72rem;font-weight:720;letter-spacing:.08em;text-transform:uppercase}.article-header h1{max-width:1100px;margin:1.25rem 0 1.4rem;font-family:var(--font-editorial);font-size:clamp(3.1rem,7.2vw,7.2rem);font-weight:660;letter-spacing:-.055em;word-spacing:.025em;line-height:.91;text-wrap:balance}.article-dek{max-width:820px;margin:0;color:var(--ink-soft);font-family:var(--font-editorial);font-size:clamp(1.35rem,2.3vw,1.85rem);line-height:1.4}.article-byline{display:flex;align-items:center;gap:.9rem;margin-top:2.25rem;padding-top:1.4rem;border-top:1px solid var(--rule);font-size:.7rem;color:var(--ink-soft)}.article-byline img{border:1px solid var(--accent);border-radius:50%;-o-object-fit:cover;object-fit:cover}.article-byline strong{color:var(--ink)}.article-byline__role{display:block;margin-top:.18rem}.article-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-left:auto}.article-tags span{padding:.35rem .5rem;background:var(--accent-soft);color:var(--accent);font-size:.7rem;letter-spacing:.02em;text-transform:uppercase}.article-hero{max-width:1260px;margin:0 auto clamp(3.5rem,7vw,7rem);padding:0 clamp(1rem,3vw,2rem)}.article-hero__media,.article-figure__media{position:relative;display:block;color:inherit;text-decoration:none!important;cursor:zoom-in}.article-figure__expand{position:absolute;right:.7rem;bottom:.7rem;padding:.3rem .45rem;background:#192322d6;color:#fff;font:680 .58rem var(--font-mono);letter-spacing:.06em;text-transform:uppercase;backdrop-filter:blur(6px)}.article-hero__media:hover .article-figure__expand,.article-figure__media:hover .article-figure__expand,.article-hero__media:focus-visible .article-figure__expand,.article-figure__media:focus-visible .article-figure__expand{background:var(--accent)}.article-hero img{display:block;width:100%;height:auto;-o-object-fit:contain;object-fit:contain;border:1px solid var(--rule);background:var(--paper-deep)}.article-hero figcaption{display:flex;justify-content:space-between;gap:1rem;padding:.75rem 0 0;color:var(--ink-soft);font-size:.72rem;line-height:1.5}.article-hero figcaption span{color:var(--accent);text-transform:uppercase;white-space:nowrap}html.article-spotlight-open{overflow:hidden}.article-spotlight{width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:max(1rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) max(1rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left));border:0;background:transparent;color:#f4f5f1;overflow:hidden}.article-spotlight::backdrop{background:#080d0df0;backdrop-filter:blur(12px) saturate(.72)}.article-spotlight[open]{animation:spotlight-in .2s ease-out both}.article-spotlight__frame{display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(100%,98rem);height:100%;margin:0 auto}.article-spotlight__header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0 0 .8rem;font-family:var(--font-mono)}.article-spotlight__eyebrow{margin:0;color:#fff;font-size:.72rem;font-weight:740;letter-spacing:.12em;text-transform:uppercase}.article-spotlight__counter{margin:.2rem 0 0;color:#a8b9b6;font-size:.64rem;letter-spacing:.06em;text-transform:uppercase}.article-spotlight__close,.article-spotlight__nav{display:grid;flex:0 0 auto;place-items:center;width:48px;height:48px;padding:0;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:#121c1bc2;color:#fff;cursor:pointer;backdrop-filter:blur(8px);transition:border-color .15s ease,background .15s ease,transform .15s ease}.article-spotlight__close:hover,.article-spotlight__nav:hover{border-color:#fff;background:var(--accent)}.article-spotlight__close:focus-visible,.article-spotlight__nav:focus-visible{outline:2px solid #fff;outline-offset:3px}.article-spotlight__close svg,.article-spotlight__nav svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.article-spotlight__stage{display:grid;grid-template-columns:auto minmax(0,1fr) auto;min-width:0;min-height:0;align-items:center;gap:clamp(.65rem,2vw,1.5rem);touch-action:pan-y pinch-zoom}.article-spotlight__figure{display:grid;grid-template-rows:minmax(0,1fr) auto;min-width:0;min-height:0;height:100%;margin:0}.article-spotlight__canvas{position:relative;display:grid;min-width:0;min-height:0;place-items:center;overflow:hidden;border:1px solid rgba(255,255,255,.18);background:#ffffff09}.article-spotlight__canvas img{display:block;width:auto;max-width:100%;height:auto;max-height:calc(100dvh - 10.5rem);-o-object-fit:contain;object-fit:contain;opacity:1;transition:opacity .16s ease}.article-spotlight__canvas[data-loading=true] img{opacity:0}.article-spotlight__loader{position:absolute;width:2rem;height:2rem;border:2px solid rgba(255,255,255,.2);border-top-color:#fff;border-radius:50%;opacity:0;animation:spotlight-spin .75s linear infinite}.article-spotlight__canvas[data-loading=true] .article-spotlight__loader{opacity:1}.article-spotlight__caption{max-width:72rem;margin:0 auto;padding:.8rem .5rem 0;color:#d7dfdd;font:540 .72rem/1.5 var(--font-mono);text-align:center;text-wrap:balance}.article-spotlight__hint{display:flex;justify-content:center;gap:1.25rem;margin:0;padding-top:.7rem;color:#81918f;font:540 .58rem/1.3 var(--font-mono);letter-spacing:.06em;text-transform:uppercase}.article-spotlight [hidden]{display:none}@keyframes spotlight-in{0%{opacity:0;transform:scale(.992)}to{opacity:1;transform:scale(1)}}@keyframes spotlight-spin{to{transform:rotate(360deg)}}.article-mobile-tools{display:none}.article-grid{display:grid;grid-template-columns:92px minmax(0,720px) minmax(190px,240px);justify-content:center;align-items:start;gap:clamp(2rem,4vw,4.5rem);padding:0 clamp(1.25rem,3vw,3rem)}.article-share-rail,.article-toc-rail{position:sticky;top:2rem}.share-bar{font-family:var(--font-mono);color:var(--ink-soft)}.share-bar__label{display:block;margin-bottom:.75rem;color:var(--accent);font-size:.62rem;font-weight:720;letter-spacing:.14em;text-transform:uppercase}.share-bar__actions{display:flex;flex-direction:column;gap:.45rem}.share-button{display:flex;width:100%;min-height:44px;align-items:center;gap:.55rem;border:1px solid var(--rule);background:transparent;color:var(--ink-soft);padding:.55rem;font:inherit;font-size:.66rem;text-decoration:none;cursor:pointer;transition:color .15s ease,background .15s ease,border-color .15s ease}.share-button svg{width:1rem;height:1rem;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.share-button:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.share-status{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.share-bar--compact .share-bar__label{display:none}.share-bar--compact .share-bar__actions{flex-direction:row;flex-wrap:wrap}.share-bar--compact .share-button{width:auto;min-height:44px;padding:.6rem .75rem}.article-toc{font-size:.76rem;color:var(--ink-soft)}.article-toc__eyebrow{display:block;padding-bottom:.75rem;border-bottom:1px solid var(--rule);color:var(--accent);font-weight:720;letter-spacing:.12em;text-transform:uppercase}.article-toc ol{max-height:calc(100vh - 8rem);overflow:auto;list-style:none;margin:.85rem 0 0;padding:0 .25rem 0 0}.article-toc li{margin:0 0 .28rem;line-height:1.42}.article-toc li.is-subheading{padding-left:.8rem;opacity:.88}.article-toc a{display:block;min-height:30px;padding:.3rem 0;color:inherit;text-decoration:none}.article-toc a:hover{color:var(--accent);text-decoration:underline;text-underline-offset:.2em}.article-toc a[aria-current=location]{padding-left:.65rem;box-shadow:inset 2px 0 var(--accent);color:var(--accent);font-weight:720}.article-toc--mobile{display:none}.article-prose{min-width:0;color:#263230;font-family:var(--font-editorial);font-size:1.22rem;line-height:1.73;font-optical-sizing:auto;counter-reset:article-figure 1}.article-prose>*:first-child{margin-top:0}.article-prose p{margin:0 0 1.45em}.article-prose h2,.article-prose h3,.article-prose h4{color:var(--ink);font-family:var(--font-editorial);font-weight:660;letter-spacing:-.025em;line-height:1.08;scroll-margin-top:2rem;text-wrap:balance}.article-prose h2{margin:2.4em 0 .65em;font-size:clamp(2.15rem,4vw,3.5rem)}.article-prose h2:before{content:"";display:block;width:2.5rem;height:3px;margin-bottom:.55em;background:var(--accent)}.article-prose h3{margin:2em 0 .55em;font-size:clamp(1.55rem,2.6vw,2.15rem)}.article-prose h4{margin:1.8em 0 .5em;font-size:1.25rem}.article-prose a{color:#075f63;text-decoration-color:#075f6373;text-decoration-thickness:.06em;text-underline-offset:.15em}.article-prose a:hover{text-decoration-color:currentColor}.article-prose strong{color:var(--ink);font-weight:690}.article-glossary-term{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline;margin:0;padding:0 .02em;border:0;border-radius:1px;background:transparent;color:inherit;font:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;letter-spacing:inherit;word-spacing:inherit;text-align:inherit;text-decoration-line:underline;text-decoration-style:dotted;text-decoration-thickness:.055em;text-decoration-color:color-mix(in srgb,var(--accent) 58%,transparent);text-underline-offset:.18em;vertical-align:baseline;cursor:help;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.article-glossary-term:hover,.article-glossary-term[aria-expanded=true]{background:color-mix(in srgb,var(--accent-soft) 56%,transparent);text-decoration-color:var(--accent)}.article-glossary-term:focus-visible{outline:2px solid var(--accent);outline-offset:2px;background:color-mix(in srgb,var(--accent-soft) 72%,transparent);text-decoration-color:transparent}.article-glossary-index{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important}.article-glossary-popover{--glossary-arrow-x: 50%;position:fixed;z-index:1200;display:grid;gap:.62rem;width:min(22rem,calc(100vw - 1.5rem));padding:.9rem 1rem 1rem;border:1px solid var(--rule);border-left:3px solid var(--accent);border-radius:2px;background:color-mix(in srgb,var(--paper) 94%,var(--accent-soft));box-shadow:0 1rem 2.8rem #1923222e,0 .2rem .7rem #19232214;color:var(--ink);pointer-events:auto;animation:glossary-popover-in .12s ease-out both}.article-glossary-popover[hidden]{display:none}.article-glossary-popover:after{content:"";position:absolute;left:var(--glossary-arrow-x);width:.58rem;height:.58rem;border:solid var(--rule);background:color-mix(in srgb,var(--paper) 94%,var(--accent-soft));transform:translate(-50%) rotate(45deg)}.article-glossary-popover[data-placement=above]:after{bottom:-.34rem;border-width:0 1px 1px 0}.article-glossary-popover[data-placement=below]:after{top:-.34rem;border-width:1px 0 0 1px}.article-glossary-popover__eyebrow{display:flex;align-items:baseline;gap:.45rem;color:var(--accent);font:730 .62rem/1.2 var(--font-mono);letter-spacing:.11em;text-transform:uppercase}.article-glossary-popover__eyebrow strong{color:var(--ink);font:inherit;letter-spacing:.055em;text-transform:none}.article-glossary-popover__definition{color:var(--ink-soft);font-family:var(--font-editorial);font-size:1rem;font-weight:480;letter-spacing:-.005em;line-height:1.45}@keyframes glossary-popover-in{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}.article-prose ul,.article-prose ol{margin:0 0 1.55em;padding-inline-start:1.65em;list-style-position:outside}.article-prose>ul,.article-prose>ol{margin-inline-start:-.35em;padding-inline-start:2em}.article-prose ul{list-style-type:disc}.article-prose ol{list-style-type:decimal-leading-zero}.article-prose ul ul{list-style-type:circle}.article-prose ol ol{list-style-type:lower-alpha}.article-prose li{margin:.55em 0;padding-inline-start:.35em}.article-prose li::marker{color:var(--accent);font-family:var(--font-mono);font-size:.76em;font-weight:760}.article-prose ul>li::marker{font-size:.82em}.article-prose li>:where(ul,ol){margin-top:.55em;margin-bottom:.7em}.article-prose blockquote{margin:2.2em 0;padding:.2em 0 .2em 1.35em;border-left:4px solid var(--accent);color:var(--ink);font-size:1.28em;font-style:italic;line-height:1.5}.article-prose blockquote p:last-child{margin-bottom:0}.article-note{margin:2.2em 0;padding:1.1rem 1.2rem 1.15rem;border:1px solid var(--rule);border-left:4px solid var(--accent);background:color-mix(in srgb,var(--accent-soft) 42%,transparent)}.article-note__label{margin:0 0 .5rem!important;color:var(--accent);font:720 .7rem/1.2 var(--font-mono);letter-spacing:.12em;text-transform:uppercase}.article-note__body{color:var(--ink);font-size:.94em;font-style:normal;line-height:1.58}.article-note__body>:last-child{margin-bottom:0}.article-formula,.article-algorithm{margin:2.4em 0 2.7em;color:var(--ink);line-height:1.5}.article-formula{border:1px solid var(--rule);border-left:4px solid var(--accent);background:color-mix(in srgb,var(--accent-soft) 24%,var(--paper))}.article-formula__header,.article-algorithm__header{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin:0;font-family:var(--font-mono)}.article-formula__header{padding:.75rem 1rem;border-bottom:1px solid var(--rule)}.article-formula__index,.article-algorithm__index{color:var(--accent);font-size:.65rem;font-weight:740;letter-spacing:.12em;text-transform:uppercase}.article-formula__title{color:var(--ink-soft);font-size:.68rem;letter-spacing:.035em;text-align:right}.article-formula__viewport{max-width:100%;padding:clamp(1.25rem,4vw,2.2rem);overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin;scrollbar-color:var(--rule) transparent}.article-formula__viewport:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.article-formula__math{width:-moz-max-content;width:max-content;min-width:100%;font-size:clamp(.92rem,2vw,1.15rem);text-align:center}.article-formula__math .katex-display,.article-algorithm__math .katex-display{margin:0}.article-formula__rows{display:grid}.article-formula__row{display:grid;grid-template-columns:minmax(9rem,.78fr) minmax(0,1.22fr);align-items:center;gap:1.25rem;padding:.8rem 0;border-bottom:1px solid color-mix(in srgb,var(--rule) 72%,transparent)}.article-formula__row:first-child{padding-top:0}.article-formula__row:last-child{padding-bottom:0;border-bottom:0}.article-formula__row-label{color:var(--ink-soft);font:680 .67rem/1.35 var(--font-mono);letter-spacing:.045em;text-transform:uppercase}.article-formula__row-math{min-width:0;overflow-x:auto;color:var(--ink);font-size:clamp(.9rem,1.7vw,1.08rem);text-align:right;scrollbar-width:thin}.article-formula__note,.article-algorithm__note{margin:0!important;padding:.75rem 1rem;border-top:1px solid var(--rule);color:var(--ink-soft);font:560 .68rem/1.55 var(--font-mono)}.article-prose .article-formula-inline{display:inline;padding:0 .06em;color:var(--accent);white-space:nowrap}.article-prose .article-formula-inline .katex{font-size:1.04em}.article-algorithm{border:1px solid var(--rule);background:color-mix(in srgb,var(--accent-soft) 18%,var(--paper))}.article-algorithm__header{padding:1rem 1.1rem;border-bottom:1px solid var(--rule);background:var(--accent);color:#fff}.article-algorithm__index{color:inherit}.article-algorithm__heading{display:grid;gap:.18rem;text-align:right}.article-prose .article-algorithm__title{color:#fff;font-family:var(--font-editorial);font-size:1.16rem;font-weight:660;letter-spacing:-.012em}.article-algorithm__description{color:#fffc;font:520 .63rem/1.4 var(--font-mono);letter-spacing:.025em}.article-algorithm__body{min-width:0}.article-algorithm__body>ol{margin:0!important;padding:0!important;list-style:none;counter-reset:algorithm-step}.article-algorithm__body>ol>li{display:grid;grid-template-columns:2.5rem minmax(0,1fr);gap:.85rem;margin:0!important;padding:1.05rem 1.1rem!important;border-bottom:1px solid var(--rule);color:var(--ink);font-size:.94em;line-height:1.48;counter-increment:algorithm-step}.article-algorithm__body>ol>li:last-child{border-bottom:0}.article-algorithm__body>ol>li:before{content:counter(algorithm-step,decimal-leading-zero);display:grid;place-items:center;width:2.2rem;height:2.2rem;margin-top:.05rem;border:1px solid var(--accent);border-radius:50%;color:var(--accent);font:700 .67rem var(--font-mono)}.article-algorithm__body>dl{margin:0}.article-algorithm__body>dl>div{display:grid;grid-template-columns:minmax(7rem,.35fr) minmax(0,1fr);gap:1rem;align-items:center;padding:1rem 1.1rem;border-bottom:1px solid var(--rule)}.article-algorithm__body>dl>div:last-child{border-bottom:0}.article-algorithm__body dt{color:var(--accent);font:740 .68rem/1.4 var(--font-mono);letter-spacing:.07em;text-transform:uppercase}.article-algorithm__body dd{min-width:0;margin:0;overflow-x:auto;color:var(--ink);scrollbar-width:thin}.article-algorithm__body dd .katex{font-size:clamp(.78rem,1.7vw,1rem)}.article-algorithm__body dd>ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem 1rem;margin:0!important;padding:0!important;list-style:none}.article-algorithm__body dd>ul>li{position:relative;margin:0;padding:0 0 0 .85rem;color:var(--ink);font:560 .72rem/1.55 var(--font-mono)}.article-algorithm__body dd>ul>li:before{content:"";position:absolute;top:.64em;left:0;width:.34rem;height:.34rem;border-radius:50%;background:var(--accent)}.article-algorithm__body dd code{padding:0;border:0;background:transparent;color:inherit;font:inherit}.article-prose hr{width:4rem;height:3px;margin:3.5em auto;border:0;background:var(--accent)}.article-figure{margin:2.4em 0 2.6em}.article-figure:has(figcaption){counter-increment:article-figure}.article-figure img{display:block;width:100%;height:auto;margin:0;border:1px solid var(--rule);background:var(--paper-deep)}.article-figure figcaption{margin-top:.75rem;color:var(--ink-soft);font-family:var(--font-mono);font-size:.72rem;line-height:1.55}.article-figure figcaption:before{content:"Fig. " counter(article-figure,decimal-leading-zero) " - ";color:var(--accent);font-weight:720;letter-spacing:.06em;text-transform:uppercase}.article-figure--portrait{width:min(100%,30rem);margin-left:auto;margin-right:auto}.article-prose code{padding:.12em .32em;border:1px solid var(--rule);background:#f1f2ed;color:#8d3d25;font-family:var(--font-mono);font-size:.78em;overflow-wrap:anywhere}.article-prose pre{position:relative;max-width:100%;margin:2.2em 0;padding:3.25rem 1.2rem 1.25rem;border:1px solid #31413f;border-radius:2px;background:#17201f;color:#e8efed;font:500 .78rem/1.7 var(--font-mono);overflow:auto}.article-prose pre:before{content:"";position:absolute;top:1rem;left:1rem;width:.55rem;height:.55rem;border-radius:50%;background:#ff5f56;box-shadow:1rem 0 #ffbd2e,2rem 0 #27c93f}.article-prose pre code{display:block;min-width:-moz-max-content;min-width:max-content;padding:0;border:0;background:transparent;color:inherit;font:inherit;overflow-wrap:normal}.code-language,.code-copy{position:absolute;top:.65rem;font-family:var(--font-mono);font-size:.58rem;letter-spacing:.08em;text-transform:uppercase}.code-language{right:4.3rem;color:#9eb0ad}.code-copy{right:.7rem;top:.15rem;min-width:44px;min-height:44px;border:1px solid #536663;background:transparent;color:#d8e3e1;padding:.2rem .45rem;cursor:pointer}.code-copy:hover{border-color:#8cc0b9;color:#fff}.article-table-scroll{width:100%;margin:2.2em 0;overflow-x:auto;overscroll-behavior-inline:contain}.article-prose table{display:table;width:100%;margin:0;border-collapse:collapse;font-family:var(--font-mono);font-size:.8rem;line-height:1.55}.article-prose th,.article-prose td{min-width:9rem;padding:.8rem .9rem;border:1px solid var(--rule);text-align:left;vertical-align:top}.article-prose th{background:var(--accent-soft);color:var(--accent);font-weight:720}.article-prose details{margin:2em 0;border:1px solid var(--rule);padding:1rem 1.2rem}.article-prose summary{min-height:44px;color:var(--accent);font-family:var(--font-mono);font-size:.72rem;font-weight:700;cursor:pointer}.article-footer{max-width:1050px;margin:clamp(4rem,8vw,8rem) auto 0;padding:0 clamp(1.25rem,4vw,3rem) clamp(4rem,8vw,8rem)}.article-finish{position:relative;isolation:isolate;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:1.5rem;overflow:hidden;padding:clamp(1.5rem,4vw,3rem);border:1px solid var(--rule);background:#ffffff85}.article-finish>*{position:relative;z-index:1}.article-finish__mark{color:var(--accent);font:720 1rem var(--font-mono);letter-spacing:-.18em}.article-finish__eyebrow{margin:0 0 .4rem;color:var(--accent);font-size:.62rem;font-weight:720;letter-spacing:.12em;text-transform:uppercase}.article-finish h2{margin:0;font-family:var(--font-editorial);font-size:clamp(2rem,3vw,2.8rem);line-height:1}.article-finish p:not(.article-finish__eyebrow){max-width:620px;margin:.75rem 0 0;color:var(--ink-soft);font-family:var(--font-editorial);font-size:1.05rem;line-height:1.45}.article-finish__actions{grid-column:2;display:flex;align-items:flex-end;flex-wrap:wrap;gap:1rem 1.25rem}.article-finish__share-group{min-width:0}.article-finish__share-label{display:block;margin-bottom:.55rem;color:#aebbb8;font:680 .6rem/1.2 var(--font-mono);letter-spacing:.11em;text-transform:uppercase}.article-finish__github{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:.62rem;border:1px solid var(--accent);background:var(--accent);color:#192322;padding:.65rem .85rem;font:730 .7rem/1.2 var(--font-mono);text-decoration:none;transition:background .16s ease,border-color .16s ease,transform .16s ease}.article-finish__github:hover{border-color:#ffd4a3;background:#ffd4a3;color:#192322;transform:translateY(-1px)}.article-finish__github:focus-visible{outline:2px solid #fff;outline-offset:3px}.article-finish__github svg{width:1rem;height:1rem;flex:0 0 auto;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.55}.article-finish__arrow{margin-left:.1rem;font-size:.95rem;line-height:1}.article-finish--project{--ink-soft: #d7dfdd;--rule: rgba(255,255,255,.24);--accent: #efb77b;--accent-soft: rgba(239,183,123,.13);border-color:#263331;background:radial-gradient(circle at 92% 0%,rgba(239,183,123,.17),transparent 19rem),linear-gradient(145deg,rgba(255,255,255,.035),transparent 46%),#192322;box-shadow:0 1.4rem 3.8rem #19232221;color:#f8faf7}.article-finish--project h2{color:#fff}.article-finish--project .share-button{border-color:#ffffff3d;color:var(--ink-soft)}.article-finish--project .share-button:hover{border-color:var(--accent);background:var(--accent-soft);color:#fff}.article-finish__orbit{position:absolute;z-index:0;top:-8.2rem;right:-7.5rem;width:20rem;height:20rem;opacity:.18;fill:none;stroke:#efb77b;stroke-width:1}.article-finish__planet{fill:#efb77b;stroke:none}.next-story{position:relative;display:grid;gap:.65rem;margin-top:1.5rem;padding:clamp(1.5rem,4vw,3rem);border:1px solid var(--accent);background:var(--accent);color:#fff;text-decoration:none}.next-story>span:first-child{font-size:.63rem;font-weight:720;letter-spacing:.12em;text-transform:uppercase}.next-story strong{max-width:820px;font-family:var(--font-editorial);font-size:clamp(1.8rem,4vw,3.4rem);line-height:1.05}.next-story__arrow{position:absolute;top:1.5rem;right:1.5rem;font-size:1.4rem;transition:transform .2s ease}.next-story:hover .next-story__arrow{transform:translate(3px,-3px)}@media(max-width:1100px){.article-grid{grid-template-columns:minmax(0,720px) minmax(190px,220px)}.article-share-rail{display:none}.article-mobile-tools{display:block;max-width:720px;margin:-1.25rem auto 3rem;padding:0 1.25rem}.article-mobile-tools>.share-bar{margin-top:1rem}}@media(max-width:820px){.blog-index__intro{grid-template-columns:1fr;gap:1.75rem}.blog-index__lede{max-width:34rem}.post-card--featured .post-card__link,.post-card--standard .post-card__link{grid-template-columns:1fr}.post-card--featured .post-card__body,.post-card--standard .post-card__body{grid-column:1;grid-row:1}.post-card--featured .post-card__image-wrap,.post-card--standard .post-card__image-wrap{grid-column:1;grid-row:2;min-height:auto;aspect-ratio:16 / 9}.article-grid{grid-template-columns:minmax(0,720px)}.article-toc-rail,.article-toc--desktop{display:none}.article-toc--mobile{display:block;border:1px solid var(--rule);background:#ffffff73}.article-toc--mobile summary{display:flex;min-height:48px;align-items:center;justify-content:space-between;padding:0 1rem;color:var(--accent);font-weight:720;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.article-toc--mobile[open] summary span{transform:rotate(45deg)}.article-toc--mobile ol{max-height:none;padding:0 1rem 1rem}.article-toc--mobile a{display:flex;min-height:44px;align-items:center}.article-mobile-tools .share-bar__label{display:block;margin-top:1.2rem}.article-byline{flex-wrap:wrap}.article-tags{width:100%;margin-left:0}.article-finish__actions{align-items:flex-start}}@media(max-width:560px){.blog-index{padding-left:1.1rem;padding-right:1.1rem}.blog-index__intro h1{font-size:clamp(3.1rem,18vw,5rem)}.blog-index__section-header{align-items:flex-start;flex-direction:column}.post-card__body{padding:1.35rem}.post-card__meta{font-size:.72rem}.post-card__tags span{font-size:.7rem}.post-card h2,.post-card--standard h2{font-size:2.15rem}.post-card p{font-size:1.08rem}.post-card__footer{align-items:flex-start;flex-direction:column}.article-header{padding-left:1.15rem;padding-right:1.15rem}.article-header h1{font-size:clamp(2.85rem,14vw,4.5rem);letter-spacing:-.038em;word-spacing:.045em}.article-dek{font-size:1.25rem}.article-hero{padding:0}.article-hero img{border-left:0;border-right:0}.article-hero figcaption{padding-left:1.1rem;padding-right:1.1rem}.article-grid{padding-left:1.15rem;padding-right:1.15rem}.article-prose{font-size:1.11rem;line-height:1.68}.article-prose h2{font-size:2.15rem}.article-prose h3{font-size:1.6rem}.article-formula__header,.article-algorithm__header{align-items:flex-start;flex-direction:column;gap:.3rem}.article-formula__title,.article-algorithm__heading{text-align:left}.article-formula__viewport{padding:1.1rem}.article-formula__row{grid-template-columns:1fr;gap:.35rem;padding:.8rem 0}.article-formula__row-math{overflow:visible;text-align:left}.article-algorithm__body>ol>li{grid-template-columns:2.2rem minmax(0,1fr);gap:.7rem;padding:.95rem!important}.article-algorithm__body>dl>div{grid-template-columns:1fr;gap:.35rem;padding:.9rem 1rem}.article-algorithm__body dd>ul{grid-template-columns:1fr;gap:.28rem}.article-prose pre{margin-left:-.35rem;margin-right:-.35rem;font-size:.7rem}.article-mobile-tools{padding:0 1.15rem}.share-bar--compact .share-button span{display:none}.share-bar--compact .share-button{width:44px;justify-content:center;padding:.5rem}.article-mobile-tools .share-bar--compact [data-copy-link]{width:auto;padding-left:.75rem;padding-right:.75rem}.article-mobile-tools .share-bar--compact [data-copy-link] span{display:inline}.article-footer{padding-left:1.15rem;padding-right:1.15rem}.article-finish{grid-template-columns:1fr}.article-finish__mark{display:none}.article-finish__actions{grid-column:1;align-items:stretch}.article-finish__github{width:100%}.article-spotlight{padding:max(.7rem,env(safe-area-inset-top)) max(.7rem,env(safe-area-inset-right)) max(.7rem,env(safe-area-inset-bottom)) max(.7rem,env(safe-area-inset-left))}.article-spotlight__stage{position:relative;grid-template-columns:minmax(0,1fr);gap:0}.article-spotlight__nav{position:absolute;z-index:2;top:50%;width:44px;height:44px;background:#0c1413e0;transform:translateY(-50%)}.article-spotlight__nav:hover{transform:translateY(-50%)}.article-spotlight__nav--previous{left:.5rem}.article-spotlight__nav--next{right:.5rem}.article-spotlight__canvas img{max-height:calc(100dvh - 10rem)}.article-spotlight__caption{padding-left:0;padding-right:0;font-size:.66rem}.article-spotlight__hint{justify-content:space-between;gap:.5rem;font-size:.52rem}}@media(pointer:coarse){.code-language{right:4.8rem}.article-glossary-term{cursor:pointer}}@media(forced-colors:active){.article-glossary-term{text-decoration-color:LinkText}.article-glossary-term:focus-visible{outline-color:Highlight}.article-glossary-popover{border:2px solid CanvasText;background:Canvas;color:CanvasText;box-shadow:none}}@media(prefers-reduced-motion:reduce){.post-card__image,.next-story__arrow{transition:none}.post-card__link:hover .post-card__image,.next-story:hover .next-story__arrow{transform:none}.article-spotlight[open],.article-spotlight__loader{animation:none}.article-spotlight__canvas img,.article-spotlight__close,.article-spotlight__nav{transition:none}.article-glossary-popover{animation:none}}@media print{.article-glossary-term{padding:0;text-decoration:none}.article-glossary-popover,.article-glossary-index{display:none!important}.article-formula,.article-algorithm{-moz-column-break-inside:avoid;break-inside:avoid}.article-formula__viewport,.article-formula__row-math,.article-algorithm__body dd{overflow:visible}}
