@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:block;src:url(/blog-assets/fonts/jetbrains-mono-400-normal.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:block;src:url(/blog-assets/fonts/jetbrains-mono-600-normal.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:block;src:url(/blog-assets/fonts/jetbrains-mono-700-normal.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-style:italic;font-weight:400;font-display:block;src:url(/blog-assets/fonts/jetbrains-mono-400-italic.woff2)format("woff2")}.blog-article{--font-mono:"JetBrains Mono", ui-monospace, monospace;--bg-weak:var(--bg-raised);--text-weak:var(--text-dim);--text-strong:var(--text-bright);--border-strong:var(--accent-dim);--mark:var(--bg-raised);--warn:var(--text-bright);--inverted-bg:var(--accent-dim);--inverted-text:var(--text-bright);overflow-wrap:anywhere;min-width:0}.blog-article .article-updated{color:var(--text-dim);margin-top:-1rem;font-size:.8125rem}.blog-article section{margin-bottom:3rem}.blog-article section:first-of-type{margin-bottom:2rem}.blog-article [id]{scroll-margin-top:1.5rem}.blog-article .lede{font-size:1.125rem}.blog-article table{display:table}.blog-article .diagram{font-family:JetBrains Mono,monospace}.blog-article [hidden]{display:none!important}.blog-article .toc{border-block:1px solid var(--border);padding-block:1rem}.blog-article .bars-pair figure{margin:0}.blog-article .sources{overflow-wrap:anywhere}.blog-article .meta{color:var(--text-weak);margin-bottom:1rem;font-size:.8125rem}.blog-article .subtitle{color:var(--text-strong);margin:-.25rem 0 1.25rem}.blog-article .aside{color:var(--text-weak);font-size:.8125rem}.blog-article .statusbar{flex-wrap:wrap;margin:1.75rem 0 0;padding:0 1px 1px 0;font-size:.8125rem;line-height:1.4;display:flex}.blog-article .statusbar span{border:1px solid var(--border);margin:0 -1px -1px 0;padding:.4rem .75rem}.blog-article .statusbar span:first-child{background:var(--inverted-bg);border-color:var(--inverted-bg);color:var(--inverted-text);font-weight:600}.blog-article .toc{flex-wrap:wrap;gap:.25rem 1.5rem;margin:1.75rem 0 0;padding:0;font-size:.875rem;list-style:none;display:flex}.blog-article .toc a{color:var(--text-weak);text-decoration:none}.blog-article .toc a:hover{color:var(--text-strong)}.blog-article .points,.blog-article .steps{gap:.875rem;padding:0;list-style:none;display:grid}.blog-article .points li,.blog-article .steps li{padding-left:4.5ch;position:relative}.blog-article .points li:before,.blog-article .steps li:before{color:var(--text-weak);position:absolute;left:0}.blog-article .points li:before{content:"[*]"}.blog-article .steps{counter-reset:step}.blog-article .steps li{counter-increment:step}.blog-article .steps li:before{content:"[" counter(step) "]"}.blog-article .callout{border:1px solid var(--border-strong);margin:1.5rem 0 0;padding:.875rem 1.125rem}.blog-article .callout .label{color:var(--warn);margin-bottom:.25rem;font-weight:600;display:block}.blog-article .callout p:last-child{margin-bottom:0}.blog-article .table-wrap{border:1px solid var(--border);margin:1.75rem 0 0;overflow-x:auto}.blog-article table{border-collapse:collapse;width:100%;min-width:40rem;font-size:.875rem;line-height:1.6}.blog-article th,.blog-article td{text-align:left;vertical-align:top;border-bottom:1px solid var(--border);padding:.625rem .875rem}.blog-article tr:last-child th,.blog-article tr:last-child td{border-bottom:none}.blog-article thead th{color:var(--text-strong);background:var(--bg-weak);font-weight:600}.blog-article tbody th{color:var(--text-strong);width:11rem;font-weight:600}.blog-article .flow-label{color:var(--text-weak);margin:1.5rem 0 .5rem;font-size:.8125rem}.blog-article .flow-row{grid-template-columns:1fr auto 1fr auto 1fr;align-items:stretch;gap:.5rem;display:grid}.blog-article .node{border:1px solid var(--border);padding:.625rem .75rem;font-size:.8125rem;line-height:1.55}.blog-article .node b{color:var(--text-strong);margin-bottom:.2rem;font-weight:600;display:block}.blog-article .node.hl{border-color:var(--border-strong);background:var(--mark)}.blog-article .arrow{color:var(--text-weak);align-self:center}.blog-article .caption{color:var(--text-weak);margin-top:1rem;font-size:.8125rem}@media (width<=600px){.blog-article .flow-row{grid-template-columns:1fr}.blog-article .arrow{justify-self:center;transform:rotate(90deg)}}.blog-article .sources{padding-left:4ch;font-size:.875rem}.blog-article .sources li{margin-bottom:.375rem}.blog-article .sources li::marker{color:var(--text-weak)}.blog-article .date{color:var(--text-weak);font-size:.8125rem}.blog-article .stepper{border:1px solid var(--border);margin:1.75rem 0 0;padding:1.25rem}@media (width<=600px){.blog-article .stepper{padding:.75rem}}.blog-article .diagram{width:100%;max-width:28rem;height:auto;font-family:var(--font-mono);margin:0 auto;display:block}.blog-article .diagram .box{fill:var(--bg);stroke:var(--border);stroke-width:1px;transition:fill .2s,stroke .2s}.blog-article .diagram .label{fill:var(--text-strong);font-size:14px;font-weight:600}.blog-article .diagram .sub{fill:var(--text-weak);font-size:12px}.blog-article .diagram .screen{fill:none;stroke:var(--border)}.blog-article .diagram .screen-line{stroke:var(--text-weak);stroke-width:2px}.blog-article .diagram .wire{fill:none;stroke:var(--border);stroke-width:1.5px;transition:stroke .2s}.blog-article .diagram .head{fill:var(--border);transition:fill .2s}.blog-article .diagram .note{fill:var(--text-strong);font-size:12px}.blog-article .diagram g{transition:opacity .2s}.blog-article .diagram .is-on .box{fill:var(--mark);stroke:var(--border-strong)}.blog-article .diagram .is-on .screen{stroke:var(--border-strong)}.blog-article .diagram .is-on .screen-line{stroke:var(--text-strong)}.blog-article .diagram .is-flow .wire{stroke:var(--text-strong);stroke-dasharray:4 5;animation:.9s linear infinite wire-flow}.blog-article .diagram .is-flow .head{fill:var(--text-strong)}.blog-article .diagram .is-off{opacity:.35}.blog-article .diagram .is-off .box,.blog-article .diagram .is-off .wire{stroke-dasharray:3 3}@keyframes wire-flow{to{stroke-dashoffset:-9px}}@media (prefers-reduced-motion:reduce){.blog-article .diagram .is-flow .wire{animation:none}.blog-article .diagram .box,.blog-article .diagram .wire,.blog-article .diagram .head,.blog-article .diagram g{transition:none}}.blog-article .stepper.is-ready .only{opacity:0}.blog-article .stepper.is-ready .only.is-on{opacity:1}.blog-article .stepper-steps{margin:1.25rem 0 0;font-size:.875rem}.blog-article .stepper.is-ready .stepper-steps{min-height:6.5em}.blog-article .stepper.is-ready .stepper-steps li{padding-left:0}.blog-article .stepper.is-ready .stepper-steps li:before{content:none}.blog-article .stepper-controls{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;padding-top:.875rem;font-size:.875rem;display:flex}.blog-article .stepper:not(.is-ready) .stepper-controls{display:none}.blog-article .stepper-controls button{font:inherit;color:var(--text-strong);border:1px solid var(--border);cursor:pointer;background:0 0;padding:.3rem .75rem}.blog-article .stepper-controls button:hover:not(:disabled){background:var(--mark)}.blog-article .stepper-controls button:disabled{color:var(--text-weak);cursor:default}.blog-article .stepper-controls [data-step-count]{color:var(--text-weak)}.blog-article .check{margin:2rem 0 0}.blog-article .check-title{color:var(--text-weak);margin:0 0 .5rem;font-size:.8125rem}.blog-article .check details{border-top:1px solid var(--border);padding:.625rem 0}.blog-article .check details:last-child{border-bottom:1px solid var(--border)}.blog-article .check summary{cursor:pointer;color:var(--text-strong);padding-left:4.5ch;list-style:none;position:relative}.blog-article .check summary::-webkit-details-marker{display:none}.blog-article .check summary:before{content:"[+]";color:var(--text-weak);position:absolute;left:0}.blog-article .check details[open] summary:before{content:"[-]"}.blog-article .check details p{margin:.5rem 0 .25rem;padding-left:4.5ch;font-size:.875rem}.blog-article .bars-pair{grid-template-columns:1fr 1fr;gap:.75rem;margin:1.25rem 0;display:grid}.blog-article .bars{border:1px solid var(--border);margin:0;padding:.875rem 1rem;font-size:.8125rem}.blog-article .bars figcaption{color:var(--text-weak);margin-bottom:.5rem}.blog-article .bar-row{grid-template-columns:9ch 1fr 4.5ch;align-items:center;gap:.5rem;line-height:1.9;display:grid}.blog-article .bar{background:var(--bg-weak);border:1px solid var(--border);height:.625rem}.blog-article .bar i{background:var(--text-strong);height:100%;display:block}.blog-article .bar-row span:last-child{text-align:right;font-variant-numeric:tabular-nums}.blog-article .bar-result{border-top:1px solid var(--border);color:var(--text-strong);margin:.625rem 0 0;padding-top:.5rem}.blog-article .split{grid-template-columns:repeat(3,1fr);gap:.5rem;margin:0 0 1.25rem;display:grid}@media (width<=600px){.blog-article .bars-pair,.blog-article .split{grid-template-columns:1fr}}.blog-article .reward-lab input{border:1px solid var(--border);background:var(--bg);width:5.5rem;max-width:100%;color:var(--text-strong);font:inherit;border-radius:3px;padding:.45rem}.blog-article .reward-lab .presets{flex-wrap:wrap;gap:.5rem;display:flex}.blog-article .reward-lab button{border:1px solid var(--border);background:var(--bg);color:var(--text-strong);font:inherit;cursor:pointer;border-radius:3px;padding:.5rem .75rem}.blog-article .reward-lab input:focus-visible,.blog-article .reward-lab button:focus-visible{outline:2px solid var(--text-strong);outline-offset:3px}.blog-article .reward-lab table{width:100%;min-width:0}.blog-article .reward-lab td,.blog-article .reward-lab th{padding:.65rem .4rem}
