.post-body .article-viz,.post-body [data-score]{--viz-accent:#0969da;--viz-border:#d0d7de;--viz-track:#edf2f7;--viz-muted:var(--blockquote-color, #57606a);color:var(--text-color,#24292f);container:article/inline-size;margin:2rem 0;text-align:left}.post-body figure.article-viz>figcaption.article-viz-title{color:inherit;font-size:1rem;font-weight:700;line-height:1.5;margin:0 0 20px;text-align:left}.post-body .article-viz .article-viz-note{color:var(--viz-muted);font-size:.875rem;line-height:1.7;margin:18px 0 0}.post-body .article-flow{display:grid;gap:24px;list-style:none;margin:0;padding:0}.post-body .article-flow li{display:grid;grid-template-columns:32px minmax(0,1fr);gap:2px 12px;position:relative;margin:0;padding:0;min-width:0;line-height:1.6}.article-flow-index{color:var(--viz-accent);font-size:.875rem;font-variant-numeric:tabular-nums;grid-row:span 2;padding-top:2px}.article-flow strong{font-size:1rem;font-weight:650}.article-flow li>span:last-child{color:var(--viz-muted);font-size:.875rem}.article-flow li:not(:last-child)::after{content:'↓';position:absolute;left:5px;bottom:-25px;color:var(--viz-accent);font-size:1rem}@container article (min-width:600px){.post-body .article-flow{grid-template-columns:repeat(var(--flow-count),minmax(0,1fr));gap:22px}.post-body .article-flow li{display:flex;flex-direction:column;gap:8px;border-top:2px solid var(--viz-accent);padding-top:10px}.article-flow-index{padding-top:0}.article-flow li:not(:last-child)::after{content:'→';top:38px;right:-19px;bottom:auto;left:auto}}.post-body .article-bars{margin:0}.article-bars>div{display:grid;grid-template-columns:minmax(135px,1fr) minmax(0,2fr);gap:18px;align-items:center;margin:18px 0}.article-bars dt{font-weight:500;font-size:1rem}.article-bars dd{display:flex;align-items:center;gap:16px;margin:0;min-width:0}.article-bar-track{display:block;flex:1;height:12px;background:var(--viz-track);overflow:hidden;border-radius:2px}.article-bar-track>span{display:block;height:100%;background:var(--viz-accent)}.article-bar-value{flex:0 0 4.5em;color:inherit;font-size:1rem;font-variant-numeric:tabular-nums;text-align:right}.article-bar-value small{color:var(--viz-muted);font-size:.8125rem}@container article (max-width:420px){.article-bars>div{grid-template-columns:1fr;gap:8px;margin:20px 0}}.decay-chart{display:block;width:100%;height:auto;overflow:visible}.decay-chart text{fill:currentColor;font:16px -apple-system,BlinkMacSystemFont,'PingFang SC',sans-serif}.decay-chart-wide{display:none}@container article (min-width:560px){.decay-chart-compact{display:none}.decay-chart-wide{display:block}}.viz-grid-line{fill:none;stroke:var(--viz-border);stroke-width:1}.decay-line{fill:none;stroke:var(--viz-accent);stroke-width:3}.decay-cutoff{stroke:var(--viz-accent);stroke-width:2;stroke-dasharray:4 4}.decay-end-open{fill:var(--content-bg-color,#fff);stroke:var(--viz-accent);stroke-width:2}.decay-end,.decay-point{fill:var(--viz-accent)}.decay-point{stroke:var(--content-bg-color,#fff);stroke-width:2}.decay-guide{fill:none;stroke:var(--viz-border);stroke-width:1;stroke-dasharray:4 4}.post-body .decay-samples{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:18px 0;padding:14px 0;border-top:1px solid var(--viz-border);border-bottom:1px solid var(--viz-border)}.decay-samples>div{min-width:0}.decay-samples dt{color:var(--viz-muted);font-size:.8125rem;font-weight:400}.decay-samples dd{font-size:1.125rem;font-weight:650;font-variant-numeric:tabular-nums;margin:2px 0 0}.decay-control{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;align-items:center}.decay-control output{grid-column:1/-1;font-size:.875rem;line-height:1.7;color:var(--viz-muted);min-height:3.4em}.post-body .decay-control input[type=range],.post-body [data-score] input[type=range]{box-sizing:border-box;width:100%;min-height:44px;margin:0;accent-color:var(--viz-accent)}.post-body [data-score]{border-top:2px solid var(--viz-accent);border-bottom:1px solid var(--viz-border);padding:22px 0}.post-body .decay-control[hidden],.post-body [data-score-form][hidden]{display:none}.post-body [data-score] h3{font-size:1.125rem;line-height:1.5;margin:0 0 8px}.post-body [data-score] .score-intro{color:var(--viz-muted);font-size:.875rem;line-height:1.7;margin:0 0 18px}.score-inputs{display:grid;gap:14px 28px}.score-field{min-width:0}.score-field label,.score-tier-label{display:block;font-size:1rem;font-weight:600}.score-field output{float:right;font-variant-numeric:tabular-nums;font-weight:700;color:var(--viz-accent)}.post-body [data-score] select{box-sizing:border-box;font:inherit;font-size:1rem;color:inherit;background:var(--content-bg-color,#fff);width:100%;min-height:44px;padding:6px;border:1px solid var(--viz-border);border-radius:4px;margin:10px 0 0}.post-body [data-score] .score-result{font-weight:650;margin:18px 0 0;font-size:1rem;line-height:1.8}.post-body [data-score] .score-note{margin:12px 0 0;color:var(--viz-muted);font-size:.875rem;line-height:1.7}@container article (min-width:560px){.score-inputs{grid-template-columns:1fr 1fr}}.post-body .article-viz :focus-visible,.post-body [data-score] :focus-visible{outline:3px solid var(--viz-accent);outline-offset:3px}@media (prefers-color-scheme:dark){.post-body .article-viz,.post-body [data-score]{--viz-accent:#79b8ff;--viz-border:#485462;--viz-track:#253545}}@media print{.decay-control,[data-score]{display:none!important}}.rich-article{min-width:0}.post-body .rich-article>table{width:100%;table-layout:fixed}.post-body .rich-article td,.post-body .rich-article th{overflow-wrap:anywhere}.post-body .rich-article td code{overflow-wrap:anywhere;white-space:normal}.post-body .rich-article .highlight .code pre{white-space:pre-wrap;overflow-wrap:anywhere}.post-body .rich-article .highlight .gutter{display:none}.post-body .rich-article .highlight .code{width:100%}.post-body .rich-article .highlight table{width:100%;table-layout:fixed}.post-body .rich-article .highlight .code pre>.line{white-space:pre-wrap;overflow-wrap:anywhere}.post-body .rich-article .highlight .code pre{box-sizing:border-box;max-width:100%;padding-right:10px}.post-body .article-viz-diagram{--diagram-surface:var(--content-bg-color, #fff);--diagram-accent:var(--viz-accent);--diagram-fill:color-mix(in srgb, currentColor 9%, var(--diagram-surface));--diagram-chip-fill:color-mix(in srgb, currentColor 15%, var(--diagram-surface))}.post-body figure.article-viz>figcaption.article-viz-title-hidden{position:absolute;width:1px;height:1px;margin:0;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.article-diagram-group{box-sizing:border-box;min-width:0;width:100%;container:diagram-group/inline-size}.article-diagram-group:not(.article-diagram-root){border:1px solid var(--viz-border);border-radius:10px;padding:16px}.post-body .article-diagram-items{display:grid;gap:18px;list-style:none;margin:0;padding:0}.post-body .article-diagram-items>li{display:flex;min-width:0;margin:0;padding:0;position:relative}.post-body .article-diagram-arrows{gap:32px}.article-diagram-connector{color:var(--diagram-connector,var(--viz-accent));position:absolute;bottom:-29px;left:calc(50% - .5em);font-size:1rem;line-height:26px;width:1em;text-align:center}.article-diagram-connector-auto{transform:rotate(90deg)}.article-diagram-connector svg{width:1em;height:1em;vertical-align:middle}.article-diagram-card{box-sizing:border-box;width:100%;min-width:0;border:1px solid var(--viz-border);border-radius:10px;padding:16px 18px;background:var(--diagram-surface)}.article-diagram-content{min-width:0;width:100%}.article-diagram-accent{border-color:var(--diagram-accent);background:color-mix(in srgb,var(--diagram-accent) 9%,var(--diagram-surface))}.article-diagram-muted{background:var(--viz-track)}.article-diagram-header{display:flex;align-items:center;justify-content:space-between;gap:8px 12px;min-width:0;margin-bottom:8px}.post-body .article-diagram-header>.article-diagram-heading{flex:1;min-width:0;margin:0}.post-body .article-diagram-heading{font-size:1rem;line-height:1.6;margin:0 0 8px;overflow-wrap:anywhere}.post-body .article-diagram-heading strong{font-weight:600}.post-body .article-diagram-text{color:var(--viz-muted);font-size:.875rem;line-height:1.7;margin:0 0 8px;white-space:pre-line;overflow-wrap:anywhere}.post-body .article-diagram-header:last-child,.post-body .article-diagram-text:last-child{margin-bottom:0}.article-diagram-group>.article-diagram-header,.article-diagram-group>.article-diagram-text{margin-bottom:12px}.article-diagram-badge{display:inline-block;flex:0 0 auto;max-width:100%;color:var(--viz-muted);background:var(--diagram-badge-fill,var(--diagram-fill));border-radius:20px;padding:2px 8px;font-size:.75rem;font-weight:500;line-height:1.5;overflow-wrap:anywhere}.article-diagram-badge-after{margin-top:2px}.post-body .article-diagram-chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:12px 0 0;padding:0}.post-body .article-diagram-chips>li{box-sizing:border-box;min-width:0;border:1px solid var(--viz-border);border-radius:5px;font-size:.8125rem;line-height:1.5;margin:0;padding:4px 8px;overflow-wrap:anywhere}.post-body .article-diagram-chips-grid{display:grid;grid-template-columns:repeat(var(--diagram-chip-columns),minmax(0,1fr))}.post-body .article-diagram-chips-grid>li{text-align:center;padding:8px}.post-body .article-diagram-chips-filled>li{border-color:transparent;background:var(--diagram-chip-fill);border-radius:8px}.post-body .article-diagram-chips-outline>li{background:0 0;border-color:var(--viz-border)}.post-body pre.article-diagram-code{box-sizing:border-box;color:inherit;background:var(--viz-track);border:1px solid var(--viz-border);border-radius:5px;font-size:.875rem;line-height:1.7;margin:12px 0 0;padding:10px 12px;white-space:pre-wrap;overflow-wrap:anywhere}.post-body .article-diagram-code code{color:inherit;background:0 0;border:0;padding:0;font:inherit;font-family:var(--font-family-monospace, ui-monospace, SFMono-Regular, Menlo, monospace);white-space:inherit}.article-diagram-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;color:var(--viz-muted)}.article-diagram-icon svg{display:block;width:24px;height:24px}.article-diagram-has-icon{display:flex;align-items:flex-start;gap:12px}.article-diagram-align-center{text-align:center}.article-diagram-align-left{text-align:left}.article-diagram-align-center>.article-diagram-content>.article-diagram-header,.article-diagram-align-center>.article-diagram-header{justify-content:center}.article-diagram-align-center>.article-diagram-content>.article-diagram-header>.article-diagram-heading,.article-diagram-align-center>.article-diagram-header>.article-diagram-heading{flex:0 1 auto}.article-diagram-align-center>.article-diagram-content>.article-diagram-chips{justify-content:center}.article-diagram-align-center>.article-diagram-content>.article-diagram-text,.article-diagram-align-center>.article-diagram-text{text-wrap:balance}.article-diagram-align-center.article-diagram-has-icon{display:flex;flex-direction:column;align-items:center;gap:8px}.article-diagram-group[class*=article-diagram-variant-]{--diagram-accent:#10a37f;--diagram-connector:var(--viz-muted);--diagram-fill:color-mix(in srgb, currentColor 3%, var(--diagram-surface));--diagram-badge-fill:color-mix(in srgb, currentColor 9%, var(--diagram-surface))}.article-diagram-group[class*=article-diagram-variant-] .article-diagram-accent{border-color:var(--viz-border)}.article-diagram-group.article-diagram-variant-numbered,.article-diagram-group.article-diagram-variant-panel,.article-diagram-group.article-diagram-variant-timeline,.article-diagram-group.article-diagram-variant-tree{border:1px solid var(--viz-border);border-radius:14px;padding:12px}.post-body .article-diagram-variant-panel>.article-diagram-items{gap:8px}.post-body .article-diagram-variant-panel>.article-diagram-arrows{gap:26px}.article-diagram-variant-panel>.article-diagram-items>li>.article-diagram-connector{bottom:-24px;line-height:22px}.article-diagram-variant-panel>.article-diagram-items>li>.article-diagram-card{padding:12px}.article-diagram-variant-panel .article-diagram-card:is(.article-diagram-surface-none,.article-diagram-surface-fill) .article-diagram-heading strong{font-weight:500}.post-body .article-diagram-variant-timeline>.article-diagram-items{gap:4px}.post-body .article-diagram-variant-timeline>.article-diagram-items>li{display:block;padding:4px 0 4px 16px}.article-diagram-variant-timeline>.article-diagram-items>li::before{content:'';position:absolute;inset:0 auto 0 0;width:4px;border-radius:4px;background:color-mix(in srgb,currentColor 20%,var(--diagram-surface))}.article-diagram-variant-timeline>.article-diagram-items>li.article-diagram-item-accent::before{background:var(--diagram-accent)}.article-diagram-variant-timeline>.article-diagram-items>li>.article-diagram-card{border:0;border-radius:0;padding:0;background:0 0}.article-diagram-variant-timeline>.article-diagram-items>li>.article-diagram-connector{display:none}.post-body .article-diagram-variant-timeline .article-diagram-header{margin-bottom:4px}.post-body .article-diagram-variant-timeline .article-diagram-heading{font-size:.875rem;line-height:1.25rem}.post-body .article-diagram-variant-timeline .article-diagram-heading strong{font-weight:500}.post-body .article-diagram-variant-timeline .article-diagram-text{font-size:.75rem;line-height:1rem;font-weight:400}.post-body .article-diagram-variant-numbered>.article-diagram-items{gap:22px}.post-body .article-diagram-variant-numbered>.article-diagram-items>li{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:12px}.article-diagram-marker{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--diagram-badge-fill,var(--diagram-fill));color:var(--viz-muted);font-size:.75rem;line-height:1rem;font-weight:500;font-variant-numeric:tabular-nums}.article-diagram-variant-numbered>.article-diagram-items>li>.article-diagram-card{padding:8px 12px;border-radius:8px}.article-diagram-variant-numbered>.article-diagram-items>li>.article-diagram-connector{left:6px;bottom:-23px;line-height:22px}.post-body .article-diagram-variant-numbered .article-diagram-heading,.post-body .article-diagram-variant-numbered .article-diagram-text{font-size:.875rem;line-height:1.25rem;font-weight:400}.article-diagram-variant-numbered .article-diagram-heading strong{font-weight:400}.post-body .article-diagram-variant-tree>.article-diagram-items{gap:12px}.post-body .article-diagram-variant-tree>.article-diagram-items>li:not(:last-child){margin-left:12px}.article-diagram-variant-tree>.article-diagram-items>li>.article-diagram-card{padding:12px;border-radius:8px}.article-diagram-group.article-diagram-variant-comparison{border:0;padding:0}.post-body .article-diagram-variant-comparison>.article-diagram-items{gap:16px}.article-diagram-variant-comparison>.article-diagram-items>li>.article-diagram-group{padding:12px;border-radius:14px}.article-diagram-group.article-diagram-variant-list{border:0;padding:0}.post-body .article-diagram-variant-list>.article-diagram-items{gap:0}.post-body .article-diagram-variant-list>.article-diagram-items>li{padding:16px 0}.article-diagram-variant-list>.article-diagram-items>li+li{border-top:1px solid var(--viz-border)}.article-diagram-variant-list>.article-diagram-items>li>.article-diagram-card{border:0;border-radius:0;padding:0;background:0 0}.article-diagram-variant-list .article-diagram-icon{box-sizing:border-box;width:40px;height:40px;border-radius:10px;background:var(--diagram-fill)}.article-diagram-group.article-diagram-surface-none,.post-body .article-diagram-card.article-diagram-surface-none{border:0;border-radius:0;padding:0;background:0 0}.article-diagram-card.article-diagram-surface-outline,.article-diagram-group.article-diagram-surface-outline{border:1px solid var(--viz-border);background:0 0}.article-diagram-card.article-diagram-surface-fill,.article-diagram-group.article-diagram-surface-fill{border:0;background:var(--diagram-fill)}.article-diagram-surface-fill.article-diagram-accent{background:color-mix(in srgb,var(--diagram-accent) 10%,var(--diagram-surface))}@container diagram-group (min-width:300px){.article-diagram-variant-panel .article-diagram-group.article-diagram-surface-none:not(.article-diagram-root)>:is(.article-diagram-row,.article-diagram-grid){grid-template-columns:repeat(var(--diagram-columns),minmax(0,1fr))}.article-diagram-variant-panel .article-diagram-group.article-diagram-surface-none:not(.article-diagram-root)>:is(.article-diagram-row,.article-diagram-grid)>li>.article-diagram-card.article-diagram-surface-fill{padding:8px}.article-diagram-variant-panel .article-diagram-group.article-diagram-surface-none:not(.article-diagram-root)>:is(.article-diagram-row,.article-diagram-grid)>li>.article-diagram-card.article-diagram-surface-fill>.article-diagram-content>.article-diagram-header>.article-diagram-heading{font-size:.875rem;line-height:1.25rem}.article-diagram-variant-panel .article-diagram-group.article-diagram-surface-none:not(.article-diagram-root)>:is(.article-diagram-row,.article-diagram-grid)>li>.article-diagram-card.article-diagram-surface-fill>.article-diagram-content>.article-diagram-header>.article-diagram-heading strong{font-weight:500}.article-diagram-variant-panel .article-diagram-group.article-diagram-surface-none:not(.article-diagram-root)>:is(.article-diagram-row,.article-diagram-grid)>li>.article-diagram-connector{left:auto;right:-27px;bottom:calc(50% - 13px)}.article-diagram-variant-panel .article-diagram-group.article-diagram-surface-none:not(.article-diagram-root)>:is(.article-diagram-row,.article-diagram-grid)>li>.article-diagram-connector-auto{transform:none}}@container diagram-group (min-width:560px){.article-diagram-grid,.article-diagram-row{grid-template-columns:repeat(var(--diagram-columns),minmax(0,1fr))}.article-diagram-grid>li>.article-diagram-connector,.article-diagram-row>li>.article-diagram-connector{left:auto;right:-27px;bottom:calc(50% - 13px)}.article-diagram-grid>li>.article-diagram-connector-auto,.article-diagram-row>li>.article-diagram-connector-auto{transform:none}.article-diagram-variant-panel>.article-diagram-grid>li>.article-diagram-connector,.article-diagram-variant-panel>.article-diagram-row>li>.article-diagram-connector{left:auto;right:-24px;bottom:calc(50% - 11px)}}@container diagram-group (max-width:400px){.article-diagram-header{flex-wrap:wrap}.article-diagram-header>.article-diagram-badge{max-width:100%}}@media print{.article-diagram-card,.article-diagram-group:not(.article-diagram-root){break-inside:avoid}}