.article-page{--article-reading-bar-height:2.75rem;padding-bottom:5rem}.article-hero{width:min(100%, var(--article));padding:var(--space-9) var(--shell-pad) var(--space-7);text-align:center;margin:0 auto}@media (width>=640px){.article-hero{padding:var(--space-10) var(--shell-pad-md) var(--space-8)}}@media (width>=1100px){.article-hero{padding-inline:var(--shell-pad-lg)}}.article-hero .eyebrow{margin-bottom:1rem}.article-title{font-family:var(--headline);font-size:var(--text-display);font-weight:var(--headline-weight);line-height:var(--leading-display);letter-spacing:var(--tracking-tight);text-align:center;text-wrap:balance;color:var(--ink);margin:0}.article-deck{max-width:38rem;color:var(--ink-soft);font-family:var(--serif);font-size:var(--text-deck);line-height:var(--leading-body);text-wrap:pretty;margin:1.35rem auto 0}.article-details{flex-wrap:wrap;justify-content:center;align-items:center;gap:.45rem .65rem;margin-top:1.25rem;display:flex}.article-reading-time{min-height:1.75rem;color:var(--ink-soft);font-family:var(--serif);font-size:var(--text-label);white-space:nowrap;align-items:center;font-weight:500;line-height:1;display:inline-flex}.article-reading-time--with-categories:after{color:var(--border-strong);content:"·";margin-left:.65rem}.article-categories{flex-wrap:wrap;justify-content:center;align-items:center;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.article-categories li{align-items:center;display:flex}.article-details .category-pill{min-height:1.75rem;font-size:var(--text-micro);background:0 0;align-items:center;padding:.18rem .55rem;line-height:1;display:inline-flex}.article-layout{width:min(100%, var(--article));padding:0 var(--shell-pad);margin:0 auto}@media (width>=640px){.article-layout{padding:0 var(--shell-pad-md)}}@media (width>=1100px){.article-layout{padding-inline:var(--shell-pad-lg)}}.article-body .wide,.article-body .wider,.article-body .full{max-width:none}.article-body .wide{width:min(var(--article-wide), calc(100vw - 2 * var(--shell-pad)));margin-inline:calc(50% - min(var(--article-wide), calc(100vw - 2 * var(--shell-pad))) / 2)}.article-body .wider{width:min(var(--article-wider), calc(100vw - 2 * var(--shell-pad)));margin-inline:calc(50% - min(var(--article-wider), calc(100vw - 2 * var(--shell-pad))) / 2)}.article-body .full{width:calc(100vw - 2 * var(--shell-pad));margin-inline:calc(50% - 50vw + var(--shell-pad))}@media (width>=640px){.article-body .wide{width:min(var(--article-wide), calc(100vw - 2 * var(--shell-pad-md)));margin-inline:calc(50% - min(var(--article-wide), calc(100vw - 2 * var(--shell-pad-md))) / 2)}.article-body .wider{width:min(var(--article-wider), calc(100vw - 2 * var(--shell-pad-md)));margin-inline:calc(50% - min(var(--article-wider), calc(100vw - 2 * var(--shell-pad-md))) / 2)}.article-body .full{width:calc(100vw - 2 * var(--shell-pad-md));margin-inline:calc(50% - 50vw + var(--shell-pad-md))}}@media (width>=1100px){.article-body .wide{width:min(var(--article-wide), calc(100vw - 2 * var(--shell-pad-lg)));margin-inline:calc(50% - min(var(--article-wide), calc(100vw - 2 * var(--shell-pad-lg))) / 2)}.article-body .wider{width:min(var(--article-wider), calc(100vw - 2 * var(--shell-pad-lg)));margin-inline:calc(50% - min(var(--article-wider), calc(100vw - 2 * var(--shell-pad-lg))) / 2)}.article-body .full{width:calc(100vw - 2 * var(--shell-pad-lg));margin-inline:calc(50% - 50vw + var(--shell-pad-lg))}}.article-body{--micro-size:var(--text-micro);--micro-tracking:var(--tracking-micro);min-width:0;max-width:var(--article);font-family:var(--serif);font-size:var(--text-body);line-height:var(--leading-prose);color:var(--ink);font-optical-sizing:auto;counter-reset:article-table}.article-body>:first-child{margin-top:0}.article-body .article-section{justify-items:start;gap:var(--space-3);margin:var(--space-10) 0 var(--space-8);scroll-margin-top:calc(var(--header-height) + var(--article-reading-bar-height) + 1.5rem);border:0;padding:0;font-style:italic;display:grid}.article-body .article-section+h2{margin-top:var(--space-6)}.article-body .article-section__kicker{color:var(--brand);font-family:var(--serif);font-size:var(--text-micro);letter-spacing:var(--tracking-micro);text-transform:uppercase;align-items:center;gap:.55rem;margin:0;font-weight:600;line-height:1;display:inline-flex}.article-body .article-section__rule{background:currentColor;flex-shrink:0;width:2.75rem;height:2px;display:block}.article-body .article-section__title{max-width:22em;font-family:var(--headline);font-size:var(--text-part);font-weight:var(--headline-weight);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);text-wrap:balance;color:var(--ink);margin:0}.article-body h2{margin:var(--space-chapter) 0 var(--space-4);font-family:var(--serif);font-size:var(--text-chapter);font-weight:700;line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);text-wrap:balance;color:var(--ink);scroll-margin-top:calc(var(--header-height) + var(--article-reading-bar-height) + 1.5rem);position:relative}.article-body h3{margin:var(--space-subsection) 0 var(--space-3);font-family:var(--serif);font-size:var(--text-subsection);font-weight:600;line-height:var(--leading-snug);letter-spacing:-.005em;text-wrap:balance;color:var(--ink);scroll-margin-top:calc(var(--header-height) + var(--article-reading-bar-height) + 1.5rem);position:relative}.article-body h4{margin:var(--space-topic) 0 var(--space-2);font-family:var(--serif);font-size:var(--text-topic);letter-spacing:0;color:var(--brand);text-transform:none;font-weight:600;line-height:1.4;position:relative}.article-body .heading-number{color:var(--ink-faint);font-variant-numeric:tabular-nums;letter-spacing:inherit;font-family:inherit;font-size:1em;font-weight:400;line-height:inherit;white-space:nowrap;margin-right:.85rem;text-decoration:none;position:absolute;top:0;right:100%}.article-body .heading-number:before{content:attr(data-number)}.article-body .heading-number:hover{color:var(--ink-soft)}@media (width<=1099px){.article-body .heading-number{display:none}}.article-body .media-label{color:var(--ink);font-weight:600}.article-body table:has(>caption){counter-increment:article-table}.article-body table:has(>caption)>caption:before{content:"Table " counter(article-table) ": ";color:var(--ink);font-weight:600}.article-body .article-ref{color:var(--brand);text-decoration:underline;text-decoration-color:color-mix(in srgb, var(--brand) 35%, transparent);text-underline-offset:.18em}.article-body .article-ref:hover{color:var(--brand-dark);text-decoration-color:var(--brand-dark)}.article-body :is(h2,h3,h4)+:is(p,ul,ol,dl,blockquote,figure,.accordion,.callout,.metric-grid,.table-wrap,.wide,.wider,.full){margin-top:0}.article-body p{color:var(--ink);margin:0 0 1.5em}.article-body a{color:var(--brand);text-decoration:underline;text-decoration-color:color-mix(in srgb, var(--brand) 35%, transparent);text-underline-offset:.18em;transition:color var(--duration-fast) var(--ease-standard), text-decoration-color var(--duration-fast) var(--ease-standard), text-underline-offset var(--duration-fast) cubic-bezier(.16, 1, .3, 1);text-decoration-thickness:1px}.article-body a:hover{color:var(--brand-dark);text-decoration-color:var(--brand-dark);text-underline-offset:.28em}.article-body strong{color:var(--ink);font-weight:600}.article-body em{font-style:italic}.article-body :not(pre)>code{color:var(--color-brand-800);background:var(--brand-soft);border:1px solid var(--brand-border);font-family:var(--mono);border-radius:.3rem;padding:.14em .36em;font-size:.84em}.article-body mark{background:linear-gradient(transparent 52%, var(--brand-highlight) 52%, var(--brand-highlight) 94%, transparent 94%);color:inherit;padding:.05em .12em}.article-body del{color:var(--ink-faint);text-decoration-thickness:1px}.article-body abbr{text-underline-offset:.15em;cursor:help;text-decoration:underline dotted}.article-body small{font-size:var(--text-ui);color:var(--ink-soft);margin:.5rem 0 1.75rem;line-height:1.6;display:block}.article-body small+h2{margin-top:var(--space-10)}.article-body sup a{font-size:.7em;font-weight:700;text-decoration:none}.article-body sup a:hover{text-decoration:underline}.article-body hr{background:0 0;border:0;width:100%;height:6px;margin:3.25rem 0;position:relative;overflow:visible}.article-body hr:before{content:"";background:var(--brand);width:6px;height:6px;box-shadow:-14px 0 0 var(--brand), 14px 0 0 var(--brand);border-radius:50%;margin:-3px 0 0 -3px;position:absolute;top:50%;left:50%}.article-body hr:after{content:none}.article-body ol,.article-body ul{margin:0 0 1.75rem;padding-left:1.5rem}.article-body ol{list-style-type:decimal}.article-body ul{list-style-type:disc}.article-body li{color:var(--ink);margin-bottom:.65rem;padding-left:.15rem}.article-body li::marker{color:var(--brand)}.lead{font-family:var(--serif);font-size:var(--text-lead);color:var(--ink);margin:0 0 1.65em;line-height:1.7}.lead>p{font-size:inherit;line-height:inherit;margin:0}.lead>p+p{margin-top:.85em}.caption-text,.article-body figcaption,.article-body table caption,.article-figure__caption,.equation__caption{color:var(--ink-soft);font-family:var(--serif);font-size:var(--text-ui);letter-spacing:0;text-transform:none;margin:0;font-style:normal;font-weight:500;line-height:1.6}.article-body figcaption,.article-figure__caption,.equation__caption{margin-top:.75rem}.article-body table caption{caption-side:top;text-align:left;border:0;padding:0 0 .75rem}.article-body .table-wrap table caption{border-bottom:1px solid var(--border);background:var(--surface-muted);padding:.75rem 1.1rem}.article-body figcaption strong,.caption-text strong,.article-figure__caption strong,.equation__caption strong{color:var(--ink);font-weight:600}.code-block figcaption{color:var(--code-header-fg);margin:.75rem 1.1rem 1.1rem}.article-body blockquote:not(.pull-quote){border-left:3px solid var(--brand);color:var(--ink);font-family:var(--serif);font-size:var(--text-title);letter-spacing:var(--tracking-tight);margin:2.25rem 0;padding:.15rem 0 .15rem 1.25rem;font-style:italic;font-weight:600;line-height:1.45}.article-body blockquote:not(.pull-quote) p{font:inherit;color:inherit;margin:0}.article-body blockquote cite,.article-body blockquote footer{font-family:var(--serif);font-size:var(--micro-size);letter-spacing:var(--micro-tracking);text-transform:uppercase;color:var(--ink-soft);margin-top:.9rem;font-style:normal;font-weight:600;display:block}.pull-quote{border:0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);text-align:center;font-family:var(--serif);font-size:var(--text-pull);color:var(--ink);margin:2.75rem 0;padding:1.65rem 0;font-style:italic;font-weight:400;line-height:1.3}.pull-quote>:first-child{font:inherit;color:inherit;margin:0}.callout{border:1px solid var(--brand-border);border-radius:var(--radius-md);background:var(--brand-soft);margin:2.25rem 0;padding:1.35rem 1.45rem}.callout--neutral{border-color:var(--border);background:var(--surface-muted)}.callout__title{color:var(--brand);font-size:var(--micro-size);letter-spacing:var(--micro-tracking);text-transform:uppercase;margin:0 0 .5rem;font-weight:600}.callout--neutral .callout__title{color:var(--ink-soft);margin:0}.callout>:not(.callout__title){color:var(--ink);font-size:var(--text-deck);margin:0;line-height:1.7}.metric-grid{grid-template-columns:1fr;gap:.85rem;margin:2.25rem 0;padding:0;list-style:none;display:grid}@media (width>=640px){.metric-grid{grid-template-columns:repeat(3,1fr)}}.metric-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);padding:1.25rem}.metric-card strong{font-family:var(--display);font-size:var(--text-headline);font-weight:var(--headline-weight);letter-spacing:var(--tracking-display);line-height:var(--leading-display);color:var(--brand);display:block}.metric-card span{color:var(--ink-soft);font-size:var(--text-label);margin-top:.45rem;line-height:1.45;display:block}.article-body .katex-display{margin:1.75rem 0;padding:.35rem 0;overflow-x:auto}.article-body .katex{font-size:1.05em}.article-divider{justify-content:center;align-items:center;gap:.55rem;margin:2.75rem 0;display:flex}.article-divider span{background:var(--brand);border-radius:50%;width:.35rem;height:.35rem;display:block}.equation{text-align:center;font-family:var(--serif);font-size:var(--text-title);color:var(--ink);background:0 0;border:0;border-radius:0;margin:1.75rem 0;padding:0;font-style:normal;overflow-x:auto}.equation--boxed{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);padding:1.65rem}.equation__body{margin:0;line-height:1.4}.equation__body>:last-child{margin-bottom:0}.equation__caption{margin-top:.4rem}.equation sub{font-size:.7em}.article-figure{margin:1.75rem 0}.article-figure img{border-radius:var(--radius-md);width:100%;height:auto}.article-body dl{border-top:1px solid var(--border);margin:2rem 0 2.25rem}.article-body dt{color:var(--ink);padding-top:1.1rem;font-weight:600}.article-body dd{border-bottom:1px solid var(--border);color:var(--ink-soft);margin:.35rem 0 0;padding-bottom:1.1rem}.accordion{gap:.75rem;margin:2rem 0 2.25rem;display:grid}.accordion details{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);padding:1rem 1.15rem}.accordion summary{cursor:pointer;color:var(--ink);justify-content:space-between;align-items:center;gap:.75rem;font-weight:600;list-style:none;display:flex}.accordion summary::-webkit-details-marker{display:none}.accordion summary:after{content:"+";color:var(--ink-soft);font-weight:500;font-size:var(--text-title-sm);flex-shrink:0;line-height:1}.accordion details[open] summary:after{content:"−"}.accordion details p{color:var(--ink-soft);font-size:var(--text-deck);margin:.85rem 0 0;line-height:1.7;display:block}.table-wrap{border:1px solid var(--border);border-radius:var(--radius-md);background:linear-gradient(to right, var(--surface) 40%, transparent), linear-gradient(to left, var(--surface) 40%, transparent), linear-gradient(to right, #0f172a14, transparent), linear-gradient(to left, #0f172a14, transparent), var(--surface);-webkit-overflow-scrolling:touch;background-position:0 0,100% 0,0 0,100% 0,0 0;background-repeat:no-repeat;background-size:2rem 100%,2rem 100%,.75rem 100%,.75rem 100%,100% 100%;background-attachment:local,local,scroll,scroll,local;width:fit-content;max-width:100%;margin:1.5rem auto;overflow-x:auto}.table-wrap table{border-collapse:collapse;width:max-content;max-width:100%;font-size:var(--text-ui);margin:0}.article-body>table,.article-body .wide>table,.article-body .wider>table,.article-body .full>table{border-collapse:collapse;width:max-content;max-width:100%;font-size:var(--text-ui);margin:1.5rem auto}.table-wrap th,.table-wrap td,.article-body th,.article-body td{border-bottom:1px solid var(--border);text-align:left;padding:.8rem 1.1rem}.table-wrap th,.article-body th{background:var(--surface-muted);font-size:var(--text-micro);letter-spacing:.05em;text-transform:uppercase;color:var(--ink);font-weight:600}.table-wrap td,.article-body td{color:var(--ink-soft);font-family:var(--serif);font-size:var(--text-ui)}.table-wrap td:not(:first-child),.article-body td:not(:first-child){font-family:var(--mono);font-size:var(--text-label)}.table-wrap tr:last-child td,.article-body tr:last-child td{border-bottom:0}.code-block{border:1px solid var(--code-border);border-radius:var(--radius-md);background:var(--code-bg);box-shadow:var(--shadow);margin:2.25rem 0;overflow:hidden}.code-header{border-bottom:1px solid var(--code-header-border);background:var(--code-header-bg);min-height:2.75rem;color:var(--code-header-fg);font-size:var(--text-micro);letter-spacing:.01em;align-items:center;padding:0 1.1rem;font-weight:600;display:flex}.code-block pre.astro-code,.code-block pre{font-family:var(--mono);font-size:var(--text-meta);tab-size:2;background:0 0;border:0;border-radius:0;margin:0;padding:1.35rem 1.25rem;line-height:1.7;overflow-x:auto}.code-block code{font-size:inherit;color:inherit;background:0 0;border:0;padding:0}.code-block--numbered pre{counter-reset:code-line}.code-block--numbered .line:before{counter-increment:code-line;content:counter(code-line);border-right:1px solid var(--code-header-border);width:2.25rem;color:var(--code-header-fg);font-size:.85em;line-height:inherit;text-align:right;user-select:none;pointer-events:none;margin-right:1rem;padding-right:.75rem;display:inline-block}.references{margin-top:3rem;padding-top:.75rem}.references h2{font-size:var(--text-title);margin-top:1.5rem}.references ol{margin:0 0 1.5rem;padding-left:1.5rem;list-style-type:decimal}.references li{color:var(--ink-soft);font-size:var(--text-input)}.references li+li{margin-top:.55rem}.discussion-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);margin-top:2.75rem;padding:1.5rem}.discussion-card__title{font-size:var(--text-title-sm);color:var(--ink);margin:0 0 .5rem;font-weight:700;display:block}.discussion-card>:not(.discussion-card__title):not(.discussion-links){color:var(--ink-soft);margin:0 0 1rem;display:block}.discussion-links{flex-wrap:wrap;gap:1rem;display:flex}.discussion-links a{font-size:var(--text-meta);color:var(--brand);font-weight:600;text-decoration:none}.discussion-links a:hover{text-decoration:underline}@media print{.site-header,.site-footer,.article-nav,.article-nav-mobile,.skip-link{display:none!important}.article-layout{display:block}.article-body{color:#000;background:#fff;max-width:none}.article-body .wide,.article-body .wider,.article-body .full{width:auto;margin-inline:0}}
