.article-page .article-execution{--step-text:var(--cf-color-paper-text);--step-body:var(--cf-color-paper-text-secondary);--step-muted:var(--cf-color-paper-text-muted);--step-border:var(--cf-color-paper-border);--step-surface:var(--cf-color-paper);--step-code-surface:var(--cf-color-paper-raised);--step-chrome:var(--cf-color-paper-chrome);--step-input-surface:var(--cf-color-paper-input);--step-accent:var(--cf-color-paper-primary);--step-accent-bg:var(--cf-color-paper-primary-subtle);--step-violet:var(--cf-color-paper-secondary);--step-hover:var(--cf-color-paper-hover);--step-control-border:var(--cf-color-paper-border-control);--event-ink:var(--cf-color-paper-text-secondary);--event-bg:var(--cf-color-paper-raised);--event-border:var(--cf-color-paper-border-strong);--event-flash:var(--cf-color-paper-input);color:var(--step-text)}.article-page .article-execution [data-kind=call],.article-page .article-execution[data-kind=call]{--event-ink:var(--cf-color-paper-primary);--event-bg:var(--cf-color-paper-primary-subtle);--event-border:var(--cf-color-paper-primary-border);--event-flash:var(--cf-color-paper-primary-faint)}.article-page .article-execution [data-kind=store],.article-page .article-execution[data-kind=store]{--event-ink:var(--cf-color-paper-secondary);--event-bg:var(--cf-color-paper-secondary-subtle);--event-border:var(--cf-color-paper-secondary-border);--event-flash:var(--cf-color-paper-secondary-faint)}.article-page .article-execution [data-kind=change],.article-page .article-execution[data-kind=change]{--event-ink:var(--cf-color-paper-tertiary);--event-bg:var(--cf-color-paper-tertiary-subtle);--event-border:var(--cf-color-paper-tertiary-border);--event-flash:var(--cf-color-paper-tertiary-faint)}.article-page .article-execution [data-kind=result],.article-page .article-execution[data-kind=result]{--event-ink:var(--cf-color-paper-success);--event-bg:var(--cf-color-paper-success-subtle);--event-border:var(--cf-color-paper-success-border);--event-flash:var(--cf-color-paper-success-faint)}.article-page .article-execution .is-execution{border-color:var(--step-border);background:var(--step-surface);box-shadow:0 0 0 1px var(--cf-color-paper-edge)}.article-page .article-execution .playground-toolbar{padding-block:var(--cf-space-200);background:var(--step-chrome);border-color:var(--step-border)}.article-page .article-execution .playground-title{color:var(--step-body)}.article-page .article-execution .live-dot{background:var(--event-ink)}.article-page .article-execution .reset-playground{min-height:30px;border-radius:var(--cf-radius-100);color:var(--step-body)}.article-page .article-execution .reset-playground:hover{color:var(--step-text);background:var(--step-hover)}.article-page .article-execution .playground-controls{padding-block:var(--cf-space-200);background:var(--step-chrome);border-color:var(--cf-color-paper-border-subtle)}.article-page .article-execution .step-indicator{color:var(--step-muted)}.article-page .article-execution .playground-position{display:flex;flex-direction:column;gap:var(--cf-space-050);line-height:var(--cf-line-height-140)}.article-page .article-execution .execution-event{display:flex;align-items:center;gap:var(--cf-space-150);color:var(--event-ink);font-size:var(--cf-font-size-250);font-weight:var(--cf-font-weight-semibold)}.article-page .article-execution .execution-event:before{content:"";width:6px;height:6px;border-radius:var(--cf-radius-round);background:currentColor}.article-page .article-execution .execution-step-controls{display:flex;gap:var(--cf-space-200);align-items:center}.article-page .article-execution .execution-back,.article-page .article-execution .execution-repeat button{min-height:34px;padding:var(--cf-space-150) var(--cf-space-350);border:1px solid var(--step-control-border);border-radius:var(--cf-radius-100);background:var(--step-input-surface);color:var(--step-body);font-size:var(--cf-font-size-275)}.article-page .article-execution .execution-back:hover:not(:disabled),.article-page .article-execution .execution-repeat button:hover:not(:disabled){background:var(--step-hover);color:var(--step-text)}.article-page .article-execution .execution-back:disabled,.article-page .article-execution .execution-repeat button:disabled{color:var(--step-muted);background:var(--step-chrome);border-color:var(--cf-color-paper-border-subtle);cursor:not-allowed}.article-page .article-execution .next-step-button{min-height:34px;gap:var(--cf-space-300);padding:var(--cf-space-150) var(--cf-space-400);border:1px solid var(--cf-color-code-button);border-radius:var(--cf-radius-100);background:var(--cf-color-code-button);color:var(--cf-color-code-on-button);font-size:var(--cf-font-size-300)}.article-page .article-execution .next-step-button:hover{background:var(--cf-color-code-button-hover)}.article-page .article-execution .next-step-button svg{width:14px;height:14px}.article-page .article-execution .execution-explanation{min-height:124px;box-sizing:border-box;padding:var(--cf-space-350);background:var(--step-code-surface);border-color:var(--step-border);box-shadow:inset 3px 0 0 var(--event-ink)}.article-page .article-execution .explanation-marker{color:var(--event-ink);border-color:var(--event-border)}.article-page .article-execution .execution-explanation-text>strong{color:var(--step-text);font-size:var(--cf-font-size-325)}.article-page .article-execution .execution-explanation p{color:var(--step-body);font-size:var(--cf-font-size-325)}.article-page .article-execution .execution-change{display:flex;align-items:center;flex-wrap:wrap;gap:var(--cf-space-200);margin-top:var(--cf-space-200);font:var(--cf-font-size-300)/var(--cf-line-height-170) var(--cf-font-mono);color:var(--step-body)}.article-page .article-execution .execution-change>span:first-child{margin-right:var(--cf-space-100)}.article-page .article-execution .execution-change strong{color:var(--event-ink);background:var(--event-flash);border-radius:var(--cf-radius-100);padding-inline:var(--cf-space-100);font-weight:var(--cf-font-weight-semibold);overflow-wrap:anywhere}.article-page .article-execution .execution-change svg{width:13px;height:13px;flex-shrink:0;color:var(--event-ink)}.article-page .article-execution .change-before{color:var(--step-body);overflow-wrap:anywhere}.article-page .article-execution .code-heading code,.article-page .article-execution .execution-explanation-text strong code,.article-page .article-execution .playground-caption code,.article-page .article-execution .playground-title code,.article-page .article-execution li code,.article-page .article-execution p code{background:var(--step-input-surface);border-color:var(--step-border);color:var(--step-text)}.article-page .article-execution .article-code{margin:0;border:0;border-top:1px solid var(--step-border);border-radius:0;background:var(--cf-color-code-bg)}.article-page .article-execution .code-heading{align-items:stretch;padding:0 var(--cf-space-300) 0 0;background:var(--step-chrome);border-color:var(--step-border);color:var(--step-body)}.article-page .article-execution .code-heading>span:first-child{display:flex;align-items:center;gap:var(--cf-space-150);margin-bottom:-1px;padding:var(--cf-space-200) var(--cf-space-400);border-top:1px solid var(--cf-color-paper-primary-border);border-right:1px solid var(--step-border);background:var(--cf-color-code-bg);color:var(--step-text);font-size:var(--cf-font-size-275)}.article-page .article-execution .code-heading>span:first-child:before{content:"JS";color:var(--cf-color-code-function);font-family:var(--cf-font-sans);font-size:.8em;font-weight:var(--cf-font-weight-bold)}.article-page .article-execution .code-heading .code-edit-run{border-radius:var(--cf-radius-100);border-color:var(--step-control-border);background:var(--step-input-surface);color:var(--step-body)}.article-page .article-execution .code-heading .code-edit-run:hover{background:var(--step-hover);color:var(--step-text)}.article-page .article-execution .code-heading .code-open-editor{color:var(--step-accent);-webkit-text-decoration-color:currentColor;text-decoration-color:currentColor}.article-page .article-execution .code-heading .code-open-editor:hover{color:var(--step-text)}.article-page .article-execution .code-heading .code-edit-run:focus-visible,.article-page .article-execution .code-heading .code-open-editor:focus-visible{outline-color:var(--step-accent)}.article-page .article-execution .execution-location{display:flex;align-items:center;flex-wrap:wrap;gap:var(--cf-space-150);padding:var(--cf-space-150) var(--cf-space-400);border-bottom:1px solid var(--cf-color-paper-border-subtle);background:var(--cf-color-code-bg);color:var(--step-muted);font-size:var(--cf-font-size-275)}.article-page .article-execution .execution-location ol{display:flex;flex-wrap:wrap;gap:var(--cf-space-150);list-style:none;margin:0;padding:0}.article-page .article-execution .execution-location li{display:flex;align-items:center;gap:var(--cf-space-150)}.article-page .article-execution .execution-location li code{padding:0;border:0;background:none;color:var(--step-text)}.article-page .article-execution .execution-location svg{width:12px;height:12px;color:var(--step-muted)}.article-page .article-execution .execution-next-label{margin-left:auto;color:var(--step-accent);font-size:var(--cf-font-size-275)}.article-page .article-execution .interactive-code{display:block;position:relative;height:370px;padding:var(--cf-space-200) 0;overflow:auto;box-sizing:border-box;background:var(--cf-color-code-bg);color:var(--cf-color-code-text);font-size:var(--cf-font-size-325);line-height:var(--cf-line-height-170);scrollbar-color:var(--cf-color-paper-border-strong) rgba(0,0,0,0);white-space:normal}.article-page .article-execution .interactive-code:focus-visible{outline:1px solid var(--cf-color-paper-primary-border);outline-offset:-1px}.article-page .article-execution .interactive-code>code{display:block}.article-page .article-execution.short-execution .interactive-code{height:180px}.article-page .article-execution .code-step-row{display:block}.article-page .article-execution .code-step-row.was-executed{box-shadow:inset 2px 0 0 var(--event-border)}.article-page .article-execution .code-step-row.is-related{box-shadow:inset 2px 0 0 var(--step-violet)}.article-page .article-execution .code-step-row.is-current{background:var(--event-bg);box-shadow:inset 2px 0 0 var(--event-ink)}.article-page .article-execution .code-step-row.is-next{background:var(--step-accent-bg);box-shadow:inset 0 0 0 1px var(--cf-color-paper-primary-border)}.article-page .article-execution .code-step-row.is-current .code-step-number,.article-page .article-execution .code-step-row.is-next .code-step-number{color:var(--cf-color-code-line-number-active)}.article-page .article-execution .code-step-content{display:grid;grid-template-columns:18px 26px minmax(0,1fr) auto;align-items:baseline;grid-gap:0 var(--cf-space-350);gap:0 var(--cf-space-350);min-height:24px;padding:var(--cf-space-050) var(--cf-space-350) var(--cf-space-050) 0;box-sizing:border-box}.article-page .article-execution .code-step-button{width:100%;margin:0;border:0;border-radius:0;text-align:left;background:rgba(0,0,0,0);color:inherit;font:inherit;cursor:pointer}.article-page .article-execution .code-step-button:hover{background:var(--cf-color-paper-primary-subtle-hover)}.article-page .article-execution .code-step-button:focus-visible{outline:1px solid var(--cf-color-paper-primary-border);outline-offset:-1px}.article-page .article-execution .code-step-glyph{align-self:center}.article-page .article-execution .is-next .code-step-glyph:before{content:"";display:block;width:12px;height:12px;margin-left:auto;background:var(--step-accent);-webkit-clip-path:polygon(0 32%,50% 32%,50% 0,100% 50%,50% 100%,50% 68%,0 68%);clip-path:polygon(0 32%,50% 32%,50% 0,100% 50%,50% 100%,50% 68%,0 68%)}.article-page .article-execution .code-step-number{color:var(--cf-color-code-line-number);text-align:right;-webkit-user-select:none;-moz-user-select:none;user-select:none}.article-page .article-execution .code-step-line{min-width:0;white-space:pre-wrap;overflow-wrap:anywhere}.article-page .article-execution .code-step-tag{font:var(--cf-font-size-250)/var(--cf-line-height-170) var(--cf-font-sans);color:var(--step-muted)}.article-page .article-execution .is-current .code-step-tag{color:var(--event-ink);font-weight:var(--cf-font-weight-semibold)}.article-page .article-execution .is-next .code-step-tag{color:var(--step-accent);font-weight:var(--cf-font-weight-semibold)}.article-page .article-execution .is-next .code-step-tag:before{content:"";display:inline-block;margin-right:var(--cf-space-100);border-block:4px solid rgba(0,0,0,0);border-left:5px solid}.article-page .article-execution .interactive-code .tok-keyword{color:var(--cf-color-code-keyword)}.article-page .article-execution .interactive-code .tok-regexp,.article-page .article-execution .interactive-code .tok-string{color:var(--cf-color-code-string)}.article-page .article-execution .interactive-code .tok-number{color:var(--cf-color-code-number)}.article-page .article-execution .interactive-code .tok-constant{color:var(--cf-color-code-constant)}.article-page .article-execution .interactive-code .tok-comment{color:var(--cf-color-code-comment);font-style:italic}.article-page .article-execution .interactive-code .tok-function{color:var(--cf-color-code-function)}.article-page .article-execution .interactive-code .tok-type{color:var(--cf-color-code-type)}.article-page .article-execution .interactive-code .tok-definition{color:var(--cf-color-code-definition)}.article-page .article-execution .interactive-code .tok-variable{color:var(--cf-color-code-variable)}.article-page .article-execution .interactive-code .tok-property{color:var(--cf-color-code-property)}.article-page .article-execution .code-inline-values{display:inline-flex;flex-wrap:wrap;gap:var(--cf-space-100) var(--cf-space-200);margin-left:2em;font-size:.92em;font-style:italic;white-space:normal;vertical-align:baseline}.article-page .article-execution .execution-binding,.article-page .article-execution .execution-line-return{padding:0 var(--cf-space-150);border-radius:var(--cf-radius-050);background:var(--cf-color-code-inline-value-bg);color:var(--cf-color-code-inline-value);-webkit-box-decoration-break:clone;box-decoration-break:clone}.article-page .article-execution .execution-binding strong,.article-page .article-execution .execution-line-return strong{font-weight:var(--cf-font-weight-regular);overflow-wrap:anywhere;white-space:pre-wrap}.article-page .article-execution .execution-binding em{color:var(--step-violet);font-family:var(--cf-font-sans);font-size:.9em}.article-page .article-execution .execution-binding.is-retained{box-shadow:inset 0 0 0 1px var(--event-border)}.article-page .article-execution .execution-binding.has-changed{animation:value-arrives .4s ease-out}.article-page .article-execution .execution-binding.has-changed strong{color:var(--event-ink);font-weight:var(--cf-font-weight-semibold)}.article-page .article-execution .execution-line-return{color:var(--event-ink)}.article-page .article-execution .execution-line-return strong{font-weight:var(--cf-font-weight-semibold)}.article-page .article-execution .execution-line-return svg{width:11px;height:11px;vertical-align:-1px}.article-page .article-execution .execution-legend{display:flex;align-items:center;gap:var(--cf-space-100) var(--cf-space-400);flex-wrap:wrap;padding:var(--cf-space-150) var(--cf-space-350);border-top:1px solid var(--step-border);background:var(--step-chrome);color:var(--step-muted);font-size:var(--cf-font-size-250)}.article-page .article-execution .execution-legend>span{display:flex;align-items:center;gap:var(--cf-space-150)}.article-page .article-execution .execution-legend i{width:7px;height:7px;border-radius:var(--cf-radius-round);background:var(--event-ink)}.article-page .article-execution .execution-legend .execution-kind-key{color:var(--event-ink)}.article-page .article-execution .execution-legend .execution-history-hint{margin-left:auto}.article-page .article-execution .execution-returns{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--cf-space-200) var(--cf-space-350);padding:var(--cf-space-300) var(--cf-space-350);border-top:1px solid var(--step-border);background:var(--step-surface);color:var(--step-muted);font-size:var(--cf-font-size-275)}.article-page .article-execution .execution-returns>span:first-child{color:var(--step-body);font-size:var(--cf-font-size-250);font-weight:var(--cf-font-weight-semibold);letter-spacing:var(--cf-letter-spacing-wide);text-transform:uppercase}.article-page .article-execution .execution-returns ol{display:flex;flex-wrap:wrap;gap:var(--cf-space-200) var(--cf-space-350);list-style:none;padding:0;margin:0}.article-page .article-execution .execution-returns li{display:flex;flex-wrap:wrap;align-items:center;gap:var(--cf-space-150)}.article-page .article-execution .execution-returns svg{width:12px;height:12px;color:var(--event-ink)}.article-page .article-execution .execution-returns output{color:var(--event-ink);background:var(--event-bg);border-radius:var(--cf-radius-100);padding:var(--cf-space-050) var(--cf-space-150);font:var(--cf-font-size-300)/var(--cf-line-height-170) var(--cf-font-mono);overflow-wrap:anywhere;white-space:pre-wrap}.article-page .article-execution .execution-empty{color:var(--step-muted)}.article-page .article-execution .execution-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap;border:0}.article-page .article-execution .execution-repeat,.article-page .article-execution .execution-settings{padding:var(--cf-space-350);border-top:1px solid var(--step-border);background:var(--step-surface)}.article-page .article-execution .execution-repeat>span{display:block;font-size:var(--cf-font-size-275);color:var(--step-body);margin-bottom:var(--cf-space-200)}.article-page .article-execution .execution-repeat>div{display:flex;flex-wrap:wrap;gap:var(--cf-space-200)}.article-page .article-execution .playground-caption{border-color:var(--step-border);color:var(--step-muted);background:var(--step-chrome)}.article-page .article-execution button:focus-visible,.article-page .article-execution input:focus-visible{outline-color:var(--step-accent)}.article-page .article-execution .execution-edit{display:grid;grid-template-columns:auto minmax(0,1fr);grid-gap:var(--cf-space-200) var(--cf-space-350);gap:var(--cf-space-200) var(--cf-space-350);align-items:center}.article-page .article-execution .execution-edit label{color:var(--step-text);font-size:var(--cf-font-size-275)}.article-page .article-execution .execution-edit input,.article-page .article-execution .execution-edit select{width:100%;min-width:0;min-height:40px;box-sizing:border-box;border:1px solid var(--step-control-border);border-radius:var(--cf-radius-100);padding:var(--cf-space-200) var(--cf-space-250);background:var(--step-input-surface);color:var(--step-text);font:var(--cf-font-size-325) var(--cf-font-mono)}.article-page .article-execution .execution-edit p{grid-column:1/-1;margin:0;color:var(--step-body);font-size:var(--cf-font-size-250);line-height:var(--cf-line-height-180)}.article-page .article-execution .execution-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:var(--cf-space-250);gap:var(--cf-space-250);min-width:0;border:0;padding:0;margin:0}.article-page .article-execution .execution-choices legend{padding:0;margin-bottom:var(--cf-space-250);color:var(--step-text);font-size:var(--cf-font-size-275)}.article-page .article-execution .execution-choices label{display:flex;gap:var(--cf-space-200);align-items:flex-start;padding:var(--cf-space-250);border:1px solid var(--step-control-border);border-radius:var(--cf-radius-100);background:var(--step-code-surface);font-size:var(--cf-font-size-275);cursor:pointer;color:var(--step-text)}.article-page .article-execution .execution-choices label:has(input:checked){border-color:var(--cf-color-paper-primary-border);background:var(--step-accent-bg)}.article-page .article-execution .execution-choices input{accent-color:var(--cf-color-code-button);margin:var(--cf-space-050) 0 0;flex-shrink:0}.article-page .article-execution .execution-choices label code{display:block;margin-top:var(--cf-space-100);font-size:var(--cf-font-size-250);overflow-wrap:anywhere}.article-page .article-execution .execution-choices .execution-choice-text code{display:inline;margin-top:0;font-size:inherit}.article-page .article-execution .execution-choices p{grid-column:1/-1;margin:0;color:var(--step-body);font-size:var(--cf-font-size-250)}.article-page .article-execution .execution-edit label code,.article-page .article-execution .execution-settings label>code,.article-page .article-execution .execution-settings legend code{background:var(--step-input-surface);border:1px solid var(--step-border);border-radius:var(--cf-radius-100);color:var(--step-text);padding:0 var(--cf-space-100)}.article-page .article-execution input:focus-visible,.article-page .article-execution select:focus-visible{outline:1px solid var(--cf-color-paper-primary-border);outline-offset:-1px}@media(max-width:560px){.article-page .article-execution .code-step-number,.article-page .article-execution .execution-back,.article-page .article-execution .execution-choices label,.article-page .article-execution .execution-choices label code,.article-page .article-execution .execution-choices legend,.article-page .article-execution .execution-choices p,.article-page .article-execution .execution-edit label,.article-page .article-execution .execution-edit p,.article-page .article-execution .execution-event,.article-page .article-execution .execution-legend,.article-page .article-execution .execution-location,.article-page .article-execution .execution-next-label,.article-page .article-execution .execution-repeat>span,.article-page .article-execution .execution-returns{font-size:var(--cf-font-size-350)}.article-page .article-execution .execution-change,.article-page .article-execution .execution-edit input,.article-page .article-execution .execution-edit select,.article-page .article-execution .execution-explanation p,.article-page .article-execution .execution-explanation-text>strong,.article-page .article-execution .interactive-code,.article-page .article-execution .next-step-button{font-size:var(--cf-font-size-400)}.article-page .article-execution .interactive-code{height:clamp(100px,100svh - 450px,330px)}.article-page .article-execution .code-step-content{grid-template-columns:12px 22px minmax(0,1fr) auto;gap:0 var(--cf-space-200)}.article-page .article-execution .code-step-button{min-height:40px}.article-page .article-execution .execution-back,.article-page .article-execution .next-step-button{min-height:42px}.article-page .article-execution .execution-explanation{min-height:155px;padding:var(--cf-space-300)}.article-page .article-execution .execution-location{padding-inline:var(--cf-space-300)}.article-page .article-execution .execution-next-label{margin-left:0}.article-page .article-execution .execution-history-hint{flex-basis:100%}.article-page .article-execution .execution-repeat button{min-height:42px}.article-page .article-execution .execution-edit{grid-template-columns:minmax(0,1fr)}}@media(prefers-reduced-motion:reduce){.article-page .article-execution .execution-binding.has-changed{animation:none}}@keyframes value-arrives{0%{background:var(--event-flash)}}.article-page .article-execution .code-heading>span:last-child{color:var(--step-body)}