.article-page{min-height:100vh;background:var(--cf-color-bg);color:var(--cf-color-text);font-family:var(--cf-font-sans);font-size:var(--cf-font-size-350);line-height:var(--cf-line-height-170);-webkit-font-smoothing:antialiased}.article-page a{color:inherit;text-decoration:none}.article-page button{font:inherit;cursor:pointer}.article-page a,.article-page button{-webkit-tap-highlight-color:rgba(0,0,0,0)}.article-page a:focus-visible,.article-page button:focus-visible{outline:2px solid var(--cf-color-focus-ring);outline-offset:4px}.article-page a,.article-page button{transition:background-color var(--cf-duration-fast),color var(--cf-duration-fast),border-color var(--cf-duration-fast)}.article-page .skip-link{position:fixed;top:-100px;left:16px;z-index:var(--cf-z-skip-link);background:#fff;color:#111;padding:var(--cf-space-250) var(--cf-space-400);border-radius:var(--cf-radius-100)}.article-page .skip-link:focus{top:12px}.article-page .learning-header{height:68px;position:-webkit-sticky;position:sticky;top:0;z-index:var(--cf-z-header);border-bottom:1px solid var(--cf-color-border);background:var(--cf-color-bg-subtle)}.article-page .learning-header-inner{height:100%;padding-inline:var(--cf-space-600);display:flex;align-items:center;gap:var(--cf-space-800)}.article-page .learning-brand{display:flex;align-items:center;gap:var(--cf-space-250);width:200px;flex-shrink:0;font-size:var(--cf-font-size-350);font-weight:var(--cf-font-weight-bold);letter-spacing:var(--cf-letter-spacing-snug)}.article-page .brand-mark{display:grid;grid-template-columns:auto auto;align-content:center;justify-content:center;width:33px;height:33px;border:1px solid var(--cf-color-primary-border);background:var(--cf-color-primary-subtle);border-radius:var(--cf-radius-200);font-size:var(--cf-font-size-550);line-height:var(--cf-line-height-100);font-weight:var(--cf-font-weight-heavy);letter-spacing:var(--cf-letter-spacing-tighter)}.article-page .brand-mark span{color:var(--cf-color-primary)}.article-page .brand-light{font-weight:var(--cf-font-weight-regular);color:var(--cf-color-brand-soft)}.article-page .header-path{flex:1 1;display:flex;align-items:center;gap:var(--cf-space-600);color:var(--cf-color-text-tertiary);font-size:var(--cf-font-size-275)}.article-page .header-path a:hover{color:var(--cf-color-text)}.article-page .header-path .current-guide{color:var(--cf-color-text);padding-block:var(--cf-space-100);border-bottom:1px solid var(--cf-color-primary)}.article-page .header-editor,.article-page .header-practice{display:flex;align-items:center;gap:var(--cf-space-250);margin-left:auto;font-size:var(--cf-font-size-275);color:var(--cf-color-primary);white-space:nowrap}.article-page .header-editor:hover,.article-page .header-practice:hover{color:var(--cf-color-primary-hover)}.article-page .header-account{display:flex;align-items:center;gap:var(--cf-space-200);flex-shrink:0}.article-page .lesson-menu-toggle{display:none;align-items:center;gap:var(--cf-space-200);padding:var(--cf-space-150) var(--cf-space-250);border:1px solid var(--cf-color-border);background:var(--cf-color-surface);color:var(--cf-color-text-secondary);border-radius:var(--cf-radius-150);font-size:var(--cf-font-size-250);white-space:nowrap}.article-page .lesson-menu-toggle:hover{color:var(--cf-color-text);border-color:var(--cf-color-border-hover)}.article-page .learning-sidebar{position:fixed;top:68px;bottom:0;left:0;width:224px;padding:var(--cf-space-500) var(--cf-space-300) var(--cf-space-450);background:var(--cf-color-bg-subtle);border-right:1px solid var(--cf-color-border);display:flex;flex-direction:column;overflow-y:auto;z-index:var(--cf-z-drawer)}.article-page .sidebar-backdrop{display:none;position:fixed;inset:68px 0 0;background:var(--cf-color-scrim);border:0;z-index:var(--cf-z-drawer-backdrop)}.article-page .sidebar-label{display:block;font-size:var(--cf-font-size-250);font-weight:var(--cf-font-weight-medium);letter-spacing:var(--cf-letter-spacing-wider);color:var(--cf-color-text-tertiary);margin:0 var(--cf-space-250) var(--cf-space-250)}.article-page .sidebar-library{display:flex;align-items:center;gap:var(--cf-space-250);padding:var(--cf-space-200) var(--cf-space-250);color:var(--cf-color-text-secondary);font-size:var(--cf-font-size-300);border-radius:var(--cf-radius-150)}.article-page .sidebar-library>span{margin-left:auto;color:var(--cf-color-text-tertiary)}.article-page .sidebar-library:hover{background:var(--cf-color-surface-raised)}.article-page .sidebar-top{padding-bottom:var(--cf-space-500);margin-bottom:var(--cf-space-500);border-bottom:1px solid var(--cf-color-border)}.article-page .course-heading{display:flex;align-items:center;gap:var(--cf-space-250);padding:0 var(--cf-space-250);margin-bottom:var(--cf-space-600)}.article-page .course-heading strong{display:block;font-size:var(--cf-font-size-325);font-weight:var(--cf-font-weight-strong)}.article-page .course-heading div>span{display:block;font-size:var(--cf-font-size-250);color:var(--cf-color-text-tertiary)}.article-page .course-icon{display:grid;place-items:center;width:32px;height:32px;background:var(--cf-color-surface-strong);border:1px solid var(--cf-color-border-strong);color:var(--cf-color-text);border-radius:var(--cf-radius-150);font-size:var(--cf-font-size-300);font-weight:var(--cf-font-weight-semibold)}.article-page .lesson-link{display:flex;align-items:center;gap:var(--cf-space-250);min-height:38px;padding:var(--cf-space-150) var(--cf-space-250);border-radius:var(--cf-radius-150);margin-bottom:var(--cf-space-100);color:var(--cf-color-text-secondary);font-size:var(--cf-font-size-275)}.article-page .lesson-link>svg:last-child:not(:first-child){width:12px;margin-left:auto;opacity:.6}.article-page .lesson-link:hover{background:var(--cf-color-surface-raised)}.article-page .lesson-link.current{color:var(--cf-color-primary);background:var(--cf-color-primary-subtle);font-weight:var(--cf-font-weight-medium)}.article-page .lesson-dot{width:5px;height:5px;border:1px solid var(--cf-color-border-emphasis);border-radius:var(--cf-radius-round);margin-inline:var(--cf-space-100);flex-shrink:0}.article-page .lesson-current-dot{width:5px;height:5px;border-radius:var(--cf-radius-round);background:var(--cf-color-primary);margin-left:auto}.article-page .lesson-sections{display:flex;flex-direction:column;margin:var(--cf-space-200) 0 var(--cf-space-500) var(--cf-space-450);border-left:1px solid var(--cf-color-border)}.article-page .lesson-sections a{display:flex;align-items:baseline;gap:var(--cf-space-200);color:var(--cf-color-text-tertiary);padding:var(--cf-space-150) var(--cf-space-200) var(--cf-space-150) var(--cf-space-350);font-size:var(--cf-font-size-250);line-height:var(--cf-line-height-160);border-left:1px solid rgba(0,0,0,0);margin-left:-1px}.article-page .lesson-sections a span{font-size:var(--cf-font-size-225);color:var(--cf-color-text-muted)}.article-page .lesson-sections a:hover{color:var(--cf-color-text)}.article-page .lesson-sections a.is-active{color:var(--cf-color-primary);border-left-color:var(--cf-color-primary)}.article-page .curriculum-nav{position:relative;flex:1 1 auto;min-height:140px;margin:0 calc(-1*var(--cf-space-300)) var(--cf-space-450);padding:0 var(--cf-space-300) var(--cf-space-300);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--cf-color-border-control) rgba(0,0,0,0)}.article-page .curriculum-nav ol{list-style:none;margin:0;padding:0}.article-page .curriculum-nav .lesson-sections{margin:var(--cf-space-100) 0 var(--cf-space-200) var(--cf-space-250)}.article-page .nav-stage+.nav-stage{margin-top:var(--cf-space-300)}.article-page .nav-stage-title{position:-webkit-sticky;position:sticky;top:0;z-index:1;display:block;padding:var(--cf-space-200) var(--cf-space-250) var(--cf-space-150);background:var(--cf-color-bg-subtle);color:var(--cf-color-text);font-size:var(--cf-font-size-275);font-weight:var(--cf-font-weight-semibold);line-height:var(--cf-line-height-140)}.article-page .nav-stage-title>span{display:block;font:var(--cf-font-size-225)/var(--cf-line-height-170) var(--cf-font-mono);font-weight:var(--cf-font-weight-regular);letter-spacing:var(--cf-letter-spacing-wider);color:var(--cf-color-primary)}.article-page .nav-stage-title:hover{color:var(--cf-color-primary)}.article-page .nav-module>summary{display:flex;align-items:baseline;gap:var(--cf-space-200);padding:var(--cf-space-150) var(--cf-space-250);border-radius:var(--cf-radius-150);color:var(--cf-color-text-secondary);font-size:var(--cf-font-size-275);line-height:var(--cf-line-height-150);cursor:pointer;list-style:none}.article-page .nav-module>summary::-webkit-details-marker{display:none}.article-page .nav-module>summary:hover{background:var(--cf-color-surface-raised);color:var(--cf-color-text)}.article-page .nav-module>summary:focus-visible{outline:2px solid var(--cf-color-focus-ring);outline-offset:-2px}.article-page .nav-module>summary svg{align-self:center;width:12px;height:12px;margin-left:auto;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;opacity:.7;transition:transform var(--cf-duration-fast)}.article-page .nav-module[open]>summary{color:var(--cf-color-text)}.article-page .nav-module[open]>summary svg{transform:rotate(180deg)}.article-page .nav-lesson-index,.article-page .nav-module-number{flex-shrink:0;font:var(--cf-font-size-225)/var(--cf-line-height-160) var(--cf-font-mono);color:var(--cf-color-text-muted)}.article-page .nav-module-number{width:15px}.article-page .nav-module-title{min-width:0}.article-page .nav-module-live{align-self:center;width:5px;height:5px;flex-shrink:0;border-radius:var(--cf-radius-round);background:var(--cf-color-primary)}.article-page .curriculum-nav .nav-lessons{margin:var(--cf-space-050) 0 var(--cf-space-150) var(--cf-space-400);border-left:1px solid var(--cf-color-border)}.article-page .nav-lesson{display:flex;align-items:baseline;gap:var(--cf-space-200);margin-left:-1px;padding:var(--cf-space-100) var(--cf-space-200) var(--cf-space-100) var(--cf-space-250);border-left:1px solid rgba(0,0,0,0);color:var(--cf-color-text-tertiary);font-size:var(--cf-font-size-275);line-height:var(--cf-line-height-150)}.article-page .nav-lesson>svg{align-self:center;width:11px;height:11px;margin-left:auto;flex-shrink:0;opacity:.7}.article-page .nav-lesson-title{min-width:0}.article-page .nav-lesson.is-available{color:var(--cf-color-text)}.article-page .nav-lesson.is-available:hover{color:var(--cf-color-primary)}.article-page .nav-lesson.is-current{border-left-color:var(--cf-color-primary);border-radius:0 var(--cf-radius-150) var(--cf-radius-150) 0;background:var(--cf-color-primary-subtle);color:var(--cf-color-primary);font-weight:var(--cf-font-weight-medium)}.article-page .nav-lesson.is-current .nav-lesson-index{color:var(--cf-color-primary)}.article-page .nav-sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.article-page .sidebar-bottom{margin-top:auto;border-top:1px solid var(--cf-color-border);padding:var(--cf-space-500) var(--cf-space-250) 0}.article-page .sidebar-bottom .sidebar-label{margin-inline:0;font-size:var(--cf-font-size-225)}.article-page .sidebar-bottom p{color:var(--cf-color-text-tertiary);font-size:var(--cf-font-size-275);line-height:var(--cf-line-height-180);margin:0 0 var(--cf-space-300)}.article-page .sidebar-bottom a{display:flex;align-items:center;gap:var(--cf-space-200);font-size:var(--cf-font-size-250);color:var(--cf-color-primary)}.article-page .sidebar-bottom a svg{width:12px}.article-page .learning-workspace{margin-left:224px;display:grid;grid-template-columns:minmax(0,740px) 244px;justify-content:center;grid-gap:var(--cf-space-1100);gap:var(--cf-space-1100);padding:var(--cf-space-900) var(--cf-space-800) 0}.article-page .learning-article{min-width:0;scroll-margin-top:96px}.article-page .article-breadcrumb{display:flex;gap:var(--cf-space-200);flex-wrap:wrap;font-size:var(--cf-font-size-250);color:var(--cf-color-text-tertiary);margin-bottom:var(--cf-space-600)}.article-page .article-breadcrumb>span:last-child{color:var(--cf-color-text)}.article-page .article-breadcrumb a:hover{color:var(--cf-color-primary)}.article-page .article-heading{padding-bottom:var(--cf-space-600);border-bottom:1px solid var(--cf-color-border)}.article-page .article-heading>p{color:var(--cf-color-text-secondary);font-size:var(--cf-font-size-350);line-height:var(--cf-line-height-170);margin:var(--cf-space-200) 0 var(--cf-space-400);max-width:640px}.article-page .field-guide-label{display:flex;align-items:center;gap:var(--cf-space-200);font:var(--cf-font-size-225)/var(--cf-line-height-160) var(--cf-font-mono);letter-spacing:var(--cf-letter-spacing-widest);color:var(--cf-color-text-tertiary);margin-bottom:var(--cf-space-450)}.article-page .field-guide-label>span{font-size:var(--cf-font-size-400);letter-spacing:var(--cf-letter-spacing-tight)}.article-page .article-tags{display:flex;align-items:center;gap:var(--cf-space-300);font-size:var(--cf-font-size-250);color:var(--cf-color-text-secondary)}.article-page .article-tags>span:first-child{border:1px solid var(--cf-color-border-control);padding:var(--cf-space-050) var(--cf-space-150);border-radius:var(--cf-radius-100);background:var(--cf-color-surface-raised)}.article-page .interactive-tag{display:flex;align-items:center;gap:var(--cf-space-150);color:var(--cf-color-text-secondary)}.article-page .interactive-tag>span{width:5px;height:5px;background:var(--cf-color-primary);border-radius:var(--cf-radius-round)}.article-page h1{font-size:var(--cf-font-size-700);line-height:var(--cf-line-height-140);font-weight:var(--cf-font-weight-bold);letter-spacing:var(--cf-letter-spacing-snug);margin:var(--cf-space-300) 0 0}.article-page .article-metadata{display:flex;align-items:center;gap:var(--cf-space-300);flex-wrap:wrap;font-size:var(--cf-font-size-250);color:var(--cf-color-text-tertiary)}.article-page .article-metadata>span{display:flex;align-items:center;gap:var(--cf-space-150)}.article-page .article-metadata svg{width:13px;height:13px}.article-page .article-metadata a:hover{color:var(--cf-color-primary)}.article-page .article-metadata .metadata-process{text-decoration:underline;-webkit-text-decoration-color:var(--cf-color-border-hover);text-decoration-color:var(--cf-color-border-hover);text-underline-offset:.25em}.article-page .metadata-divider{width:3px;height:3px;background:var(--cf-color-border-hover);border-radius:var(--cf-radius-round)}.article-page .learning-objectives{margin:var(--cf-space-600) 0 var(--cf-space-700);padding-bottom:var(--cf-space-600);border-bottom:1px solid var(--cf-color-border)}.article-page .learning-objectives>strong{font-size:var(--cf-font-size-275);font-weight:var(--cf-font-weight-medium);color:var(--cf-color-text-secondary)}.article-page .learning-objectives ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--cf-space-450);gap:var(--cf-space-450);list-style:none;padding:0;margin:var(--cf-space-400) 0 0}.article-page .learning-objectives li{min-width:0;display:flex;align-items:flex-start;gap:var(--cf-space-200);color:var(--cf-color-text-secondary)}.article-page .learning-objectives li+li{border-left:1px solid var(--cf-color-border);padding-left:var(--cf-space-400)}.article-page .learning-objectives li strong{display:block;color:var(--cf-color-text);font-size:var(--cf-font-size-275);font-weight:var(--cf-font-weight-medium);margin-bottom:var(--cf-space-100)}.article-page .learning-objectives li div>span{display:block;font-size:var(--cf-font-size-250);line-height:var(--cf-line-height-180)}.article-page .objective-number{font:var(--cf-font-size-225)/var(--cf-line-height-200) var(--cf-font-mono);color:var(--cf-color-text-tertiary)}.article-page .learning-article section{margin-top:var(--cf-space-800);scroll-margin-top:88px}.article-page h2{font-size:var(--cf-font-size-500);font-weight:var(--cf-font-weight-strong);letter-spacing:var(--cf-letter-spacing-slight);line-height:var(--cf-line-height-150);margin:0 0 var(--cf-space-300)}.article-page .learning-article section>p{color:var(--cf-color-text-secondary);font-size:var(--cf-font-size-350);line-height:var(--cf-line-height-180);margin:var(--cf-space-300) 0}.article-page .learning-article section>h3{font-size:var(--cf-font-size-400);font-weight:var(--cf-font-weight-strong);margin:var(--cf-space-500) 0 var(--cf-space-250)}.article-page .learning-article section>ol:not([class]),.article-page .learning-article section>ul:not([class]){padding-left:var(--cf-space-500);color:var(--cf-color-text-secondary);font-size:var(--cf-font-size-325)}.article-page .learning-article section>ol:not([class]) li,.article-page .learning-article section>ul:not([class]) li{margin:var(--cf-space-200) 0;padding-left:var(--cf-space-100)}.article-page .explanation-list strong,.article-page .learning-article p strong{color:var(--cf-color-text);font-weight:var(--cf-font-weight-strong)}.article-page code{font-family:var(--cf-font-mono)}.article-page li code,.article-page p code{background:var(--cf-color-surface-strong);border:1px solid var(--cf-color-border);border-radius:var(--cf-radius-100);color:var(--cf-color-code-inline-text);padding:1px var(--cf-space-100);font-size:.88em;overflow-wrap:anywhere}.article-page .article-callout{display:flex;align-items:flex-start;gap:var(--cf-space-300);margin-block:var(--cf-space-500);padding:var(--cf-space-350) var(--cf-space-400);background:var(--cf-color-surface-raised);border-left:2px solid var(--cf-color-border-emphasis);border-radius:0 var(--cf-radius-150) var(--cf-radius-150) 0}.article-page .article-callout strong{display:block;font-size:var(--cf-font-size-300);font-weight:var(--cf-font-weight-strong);color:var(--cf-color-text)}.article-page .article-callout p{margin:var(--cf-space-100) 0 0;font-size:var(--cf-font-size-300);line-height:var(--cf-line-height-180);color:var(--cf-color-text-secondary)}.article-page .article-callout.subtle{background:var(--cf-color-surface);border-color:var(--cf-color-border-strong)}.article-page .callout-icon,.article-page .explanation-marker{border:1px solid var(--cf-color-border-emphasis);color:var(--cf-color-text-secondary);border-radius:var(--cf-radius-round);width:15px;height:15px;display:grid;place-items:center;font:var(--cf-font-size-250)/var(--cf-line-height-100) var(--cf-font-mono);flex-shrink:0;margin-top:var(--cf-space-050)}.article-page .article-code{border:1px solid var(--cf-color-border);border-radius:var(--cf-radius-150);overflow:hidden;margin:var(--cf-space-450) 0;background:var(--cf-color-code-bg)}.article-page .code-heading,.article-page .pane-heading{display:flex;justify-content:space-between;align-items:center;gap:var(--cf-space-250);border-bottom:1px solid var(--cf-color-border);padding:var(--cf-space-200) var(--cf-space-350);font-size:var(--cf-font-size-250);color:var(--cf-color-text-secondary);background:var(--cf-color-surface-raised)}.article-page .code-heading>span:last-child,.article-page .pane-heading>span:last-child{color:var(--cf-color-text-tertiary);font-size:var(--cf-font-size-225)}.article-page .code-heading-meta{display:flex;align-items:center;gap:var(--cf-space-300)}.article-page .code-edit-run{padding:var(--cf-space-050) var(--cf-space-250);border:1px solid var(--cf-color-primary-border);border-radius:var(--cf-radius-full);background:var(--cf-color-primary-subtle);color:var(--cf-color-primary);font-size:var(--cf-font-size-225);font-weight:var(--cf-font-weight-semibold);white-space:nowrap}.article-page .code-edit-run:hover{background:var(--cf-color-primary-subtle-hover);color:var(--cf-color-primary-hover)}.article-page .article-code.is-editing{border-color:var(--cf-color-primary-border)}.article-page .code-open-editor{color:var(--cf-color-primary);font-size:var(--cf-font-size-225);font-weight:var(--cf-font-weight-semibold);white-space:nowrap;text-decoration:underline;-webkit-text-decoration-color:var(--cf-color-primary-border);text-decoration-color:var(--cf-color-primary-border);text-underline-offset:2px}.article-page .code-open-editor:hover{color:var(--cf-color-primary-hover);-webkit-text-decoration-color:currentColor;text-decoration-color:currentColor}.article-page .code-open-editor-note{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-code pre{margin:0;padding:var(--cf-space-400) var(--cf-space-450);overflow-x:auto;color:var(--cf-color-code-text);font-size:var(--cf-font-size-300);line-height:var(--cf-line-height-180)}.article-page .article-code pre.numbered-code{padding:var(--cf-space-350) 0}.article-page .article-code pre.numbered-code:focus-visible{outline:2px solid var(--cf-color-focus-ring);outline-offset:-3px}.article-page .explanation-list{margin:var(--cf-space-300) 0;padding-left:var(--cf-space-500);color:var(--cf-color-text-secondary);font-size:var(--cf-font-size-325)}.article-page .explanation-list li{margin:var(--cf-space-200) 0;padding-left:var(--cf-space-100)}.article-page .explanation-list li::marker{color:var(--cf-color-primary-muted);font-size:var(--cf-font-size-300)}.article-page .section-title-row{display:flex;align-items:center;gap:var(--cf-space-300);flex-wrap:wrap;margin-bottom:var(--cf-space-300)}.article-page .section-title-row h2{margin:0}.article-page .small-badge{font-size:var(--cf-font-size-200);font-weight:var(--cf-font-weight-strong);letter-spacing:var(--cf-letter-spacing-wide);color:var(--cf-color-text-secondary);background:var(--cf-color-surface);border:1px solid var(--cf-color-border-strong);padding:var(--cf-space-050) var(--cf-space-150);border-radius:var(--cf-radius-100)}.article-page .scope-comparison{display:flex;align-items:center;gap:var(--cf-space-400);margin-block:var(--cf-space-500)}.article-page .scope-comparison>div{flex:1 1;min-width:0;border:1px solid var(--cf-color-border-control);border-radius:var(--cf-radius-150);padding:var(--cf-space-350);background:var(--cf-color-primary-faint)}.article-page .scope-comparison>div>code{font-size:var(--cf-font-size-250);display:block;overflow-wrap:anywhere;color:var(--cf-color-primary)}.article-page .scope-comparison>div>span{display:block;margin-top:var(--cf-space-300);font-size:var(--cf-font-size-250);color:var(--cf-color-text-tertiary)}.article-page .scope-comparison>div>strong{font-size:var(--cf-font-size-300);font-weight:var(--cf-font-weight-book)}.article-page .scope-separator{color:var(--cf-color-text-muted);font-size:var(--cf-font-size-550)}.article-page .misconception-list{margin:var(--cf-space-450) 0;border:1px solid var(--cf-color-border);border-radius:var(--cf-radius-150)}.article-page .misconception-list>div{padding:var(--cf-space-350) var(--cf-space-450)}.article-page .misconception-list>div+div{border-top:1px solid var(--cf-color-border)}.article-page .misconception-list h3{font-size:var(--cf-font-size-325);font-weight:var(--cf-font-weight-strong);margin:0 0 var(--cf-space-150)}.article-page .misconception-list p{color:var(--cf-color-text-secondary);font-size:var(--cf-font-size-325);line-height:var(--cf-line-height-180);margin:0}.article-page .quiz-options{display:flex;flex-direction:column;gap:var(--cf-space-200)}.article-page .quiz-options button{display:flex;align-items:center;gap:var(--cf-space-300);width:100%;padding:var(--cf-space-250) var(--cf-space-350);border:1px solid var(--cf-color-border-control);border-radius:var(--cf-radius-150);background:var(--cf-color-surface);color:var(--cf-color-text-secondary);text-align:left;font-size:var(--cf-font-size-300)}.article-page .quiz-options button:hover{background:var(--cf-color-primary-subtle);border-color:var(--cf-color-primary-border-hover)}.article-page .quiz-options button.is-correct{background:var(--cf-color-success-subtle);border-color:var(--cf-color-success-border)}.article-page .quiz-options button.is-incorrect{background:var(--cf-color-danger-subtle);border-color:var(--cf-color-danger-border)}.article-page .option-letter{display:grid;place-items:center;width:22px;height:22px;border:1px solid var(--cf-color-border-strong);border-radius:var(--cf-radius-100);font-size:var(--cf-font-size-250);color:var(--cf-color-text-secondary)}.article-page .option-result{margin-left:auto;font-size:var(--cf-font-size-275)}.article-page .quiz-feedback{font-size:var(--cf-font-size-300);color:var(--cf-color-text-tertiary);margin-top:var(--cf-space-300);line-height:var(--cf-line-height-180)}.article-page .quiz-feedback.success{color:var(--cf-color-success)}.article-page .takeaway-list{padding-left:var(--cf-space-450);color:var(--cf-color-text-secondary);font-size:var(--cf-font-size-325)}.article-page .takeaway-list li{margin:var(--cf-space-200) 0;padding-left:var(--cf-space-100)}.article-page .takeaway-list li::marker{color:var(--cf-color-primary-muted)}.article-page .final-definition{display:flex;align-items:flex-start;gap:var(--cf-space-300);padding:var(--cf-space-400);background:var(--cf-color-surface-raised);border:1px solid var(--cf-color-border-control);border-radius:var(--cf-radius-200);margin-top:var(--cf-space-600)}.article-page .final-definition>svg{color:var(--cf-color-text-secondary);flex-shrink:0;margin-top:var(--cf-space-100)}.article-page .final-definition p{margin:0;font-size:var(--cf-font-size-300);line-height:var(--cf-line-height-180);color:var(--cf-color-text-secondary)}.article-page .article-footer{margin-top:var(--cf-space-900);border-top:1px solid var(--cf-color-border);padding-top:var(--cf-space-500);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--cf-space-350);gap:var(--cf-space-350)}.article-page .article-footer a{border:1px solid var(--cf-color-border);background:var(--cf-color-surface);border-radius:var(--cf-radius-150);padding:var(--cf-space-350)}.article-page .article-footer a:hover{border-color:var(--cf-color-primary-border-hover)}.article-page .article-footer span{display:block;font-size:var(--cf-font-size-200);letter-spacing:var(--cf-letter-spacing-wide);color:var(--cf-color-text-tertiary)}.article-page .article-footer strong{display:flex;align-items:center;justify-content:space-between;gap:var(--cf-space-250);font-size:var(--cf-font-size-275);font-weight:var(--cf-font-weight-book);margin-top:var(--cf-space-150)}.article-page .article-footer svg{color:var(--cf-color-primary-muted);width:13px;flex-shrink:0}.article-page .article-endnote{display:flex;justify-content:space-between;gap:var(--cf-space-250);padding:var(--cf-space-600) 0 var(--cf-space-700);font-size:var(--cf-font-size-250);color:var(--cf-color-text-tertiary)}.article-page .article-endnote>span{color:var(--cf-color-text-muted)}.article-page .reading-sidebar{position:-webkit-sticky;position:sticky;top:96px;align-self:start;min-width:0;margin:var(--cf-space-1100) calc(-1*var(--cf-space-100)) 0;padding:0 var(--cf-space-100) var(--cf-space-400);max-height:calc(100vh - 96px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--cf-color-border-control) rgba(0,0,0,0)}.article-page .article-map{border:1px solid var(--cf-color-border);border-radius:var(--cf-radius-300);padding:var(--cf-space-450) var(--cf-space-300) var(--cf-space-400);background:var(--cf-color-bg-subtle)}.article-page .article-map-heading{display:flex;justify-content:space-between;align-items:center;margin:0 var(--cf-space-150) var(--cf-space-200);font-size:var(--cf-font-size-225);color:var(--cf-color-text-tertiary)}.article-page .article-map-heading>span:first-child{font:var(--cf-font-size-200) var(--cf-font-mono);letter-spacing:var(--cf-letter-spacing-wider)}.article-page .reading-progress{margin:var(--cf-space-400) var(--cf-space-150) 0;padding-top:var(--cf-space-350);border-top:1px dashed var(--cf-color-border-control)}.article-page .reading-progress>div{display:flex;justify-content:space-between;align-items:center;font-size:var(--cf-font-size-250);color:var(--cf-color-text-secondary)}.article-page .reading-progress strong{font-weight:var(--cf-font-weight-book);color:var(--cf-color-primary)}.article-page .reading-progress progress{width:100%;height:3px;display:block;margin-top:var(--cf-space-250);border:0;border-radius:var(--cf-radius-100);background:var(--cf-color-border);accent-color:var(--cf-color-primary)}.article-page .reading-progress progress::-webkit-progress-bar{background:var(--cf-color-border);border-radius:var(--cf-radius-100)}.article-page .reading-progress progress::-webkit-progress-value{background:var(--cf-color-primary);border-radius:var(--cf-radius-100)}.article-page .reading-progress progress::-moz-progress-bar{background:var(--cf-color-primary)}.article-page .table-of-contents h2{font-size:var(--cf-font-size-325);font-weight:var(--cf-font-weight-strong);margin:0 var(--cf-space-150) var(--cf-space-300);letter-spacing:0}.article-page .table-of-contents a{display:flex;align-items:baseline;gap:var(--cf-space-250);font-size:var(--cf-font-size-250);line-height:var(--cf-line-height-160);color:var(--cf-color-text-tertiary);padding:var(--cf-space-200) var(--cf-space-150);margin-block:var(--cf-space-050);border-radius:var(--cf-radius-150)}.article-page .table-of-contents a:hover{color:var(--cf-color-text);background:var(--cf-color-surface-raised)}.article-page .table-of-contents a.is-active{color:var(--cf-color-text);background:var(--cf-color-primary-subtle)}.article-page .table-of-contents a.is-active .section-index{color:var(--cf-color-primary)}.article-page .section-index{font:var(--cf-font-size-225) var(--cf-font-mono);color:var(--cf-color-text-muted)}.article-page .prerequisite-card{margin:var(--cf-space-500) var(--cf-space-150) 0;padding-left:var(--cf-space-300);border-left:1px solid var(--cf-color-border-strong)}.article-page .prerequisite-card>svg{color:var(--cf-color-text-secondary);width:15px}.article-page .prerequisite-card h3{font-size:var(--cf-font-size-300);font-weight:var(--cf-font-weight-medium);margin:var(--cf-space-200) 0 var(--cf-space-150)}.article-page .prerequisite-card p{color:var(--cf-color-text-tertiary);font-size:var(--cf-font-size-275);line-height:var(--cf-line-height-180);margin:0}.article-page .prerequisite-card a{color:var(--cf-color-primary);font-size:var(--cf-font-size-250);display:flex;align-items:center;gap:var(--cf-space-150);margin-top:var(--cf-space-300)}.article-page .prerequisite-card a svg{width:12px}.article-page .sidebar-playground{display:flex;align-items:center;gap:var(--cf-space-250);padding:var(--cf-space-450) var(--cf-space-150)}.article-page .sidebar-playground>svg{color:var(--cf-color-primary);width:16px;flex-shrink:0}.article-page .sidebar-playground>svg:last-child{margin-left:auto;width:12px}.article-page .sidebar-playground>span{font-size:var(--cf-font-size-250);color:var(--cf-color-text-tertiary)}.article-page .sidebar-playground strong{display:block;color:var(--cf-color-text);font-size:var(--cf-font-size-275);font-weight:var(--cf-font-weight-book)}.article-page .article-playground{margin:var(--cf-space-500) 0;border:1px solid var(--cf-color-border-strong);border-radius:var(--cf-radius-250);overflow:hidden;background:var(--cf-color-code-bg)}.article-page .playground-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--cf-space-250);padding:var(--cf-space-250) var(--cf-space-350);border-bottom:1px solid var(--cf-color-border);background:var(--cf-color-surface-raised)}.article-page .playground-title{display:flex;align-items:center;gap:var(--cf-space-200);font-size:var(--cf-font-size-300);color:var(--cf-color-text);font-weight:var(--cf-font-weight-medium)}.article-page .live-dot{width:6px;height:6px;border-radius:var(--cf-radius-050);background:var(--cf-color-primary)}.article-page .reset-playground{background:none;color:var(--cf-color-text-secondary);border:0;padding:var(--cf-space-050) var(--cf-space-100);font-size:var(--cf-font-size-275)}.article-page .reset-playground span{margin-right:var(--cf-space-100)}.article-page .reset-playground:hover{color:var(--cf-color-text-strong)}.article-page .playground-panes{display:grid;grid-template-columns:1.05fr 1fr}.article-page .source-pane{min-width:0;border-right:1px solid var(--cf-color-border)}.article-page .source-pane pre{margin:0;padding:var(--cf-space-350) 0;font-size:var(--cf-font-size-300);line-height:var(--cf-line-height-180);overflow-x:auto;color:var(--cf-color-code-text)}.article-page .source-line{display:flex;min-width:max-content;padding-right:var(--cf-space-250);border-left:2px solid rgba(0,0,0,0)}.article-page .line-number{width:31px;flex-shrink:0;color:var(--cf-color-text-muted);font-size:var(--cf-font-size-250);text-align:center;-webkit-user-select:none;-moz-user-select:none;user-select:none}.article-page .executed-line{background:var(--cf-color-primary-subtle-hover);border-left-color:var(--cf-color-primary)}.article-page .token-keyword{color:var(--cf-color-secondary)}.article-page .token-function{color:var(--cf-color-code-function)}.article-page .token-number{color:var(--cf-color-tertiary)}.article-page .runtime-pane{min-width:0}.article-page .runtime-pane .pane-heading{padding-inline:var(--cf-space-300)}.article-page .pane-body,.article-page .runtime-pane>p{margin:0;padding:var(--cf-space-300) var(--cf-space-350);color:var(--cf-color-text-secondary);font-size:var(--cf-font-size-300);line-height:var(--cf-line-height-170)}.article-page .environment-list{padding:var(--cf-space-300);display:flex;flex-direction:column;gap:var(--cf-space-200)}.article-page .environment-card{padding:var(--cf-space-250) var(--cf-space-300);border:1px solid var(--cf-color-border-control);border-radius:var(--cf-radius-150);background:var(--cf-color-primary-faint)}.article-page .environment-card.last-updated{border-color:var(--cf-color-primary-border-hover)}.article-page .environment-card>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:var(--cf-space-150)}.article-page .environment-card>div:first-child strong{font-size:var(--cf-font-size-250);font-weight:var(--cf-font-weight-medium);color:var(--cf-color-text-secondary)}.article-page .environment-card>div:first-child span{font-size:var(--cf-font-size-200)}.article-page .not-created{color:var(--cf-color-text-tertiary)}.article-page .retained{color:var(--cf-color-success)}.article-page .binding-row{display:flex;justify-content:space-between;gap:var(--cf-space-250);align-items:center;margin-top:var(--cf-space-150)}.article-page .binding-row code{color:var(--cf-color-text-secondary);font-size:var(--cf-font-size-275)}.article-page .binding-row strong{font-family:var(--cf-font-mono);font-size:var(--cf-font-size-450);color:var(--cf-color-code-text);font-weight:var(--cf-font-weight-medium)}.article-page .environment-reference{display:block;font-size:var(--cf-font-size-225);color:var(--cf-color-text-tertiary)}.article-page .return-console{border-top:1px solid var(--cf-color-border)}.article-page .return-console .pane-heading{font-size:var(--cf-font-size-225)}.article-page .return-console .pane-heading>span:last-child{font-size:var(--cf-font-size-200)}.article-page .console-entries{min-height:68px;max-height:150px;overflow-y:auto;padding:var(--cf-space-200) var(--cf-space-300)}.article-page .console-entries>div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--cf-space-050) var(--cf-space-200);font-size:var(--cf-font-size-250);line-height:var(--cf-line-height-200);color:var(--cf-color-text-tertiary)}.article-page .console-placeholder{color:var(--cf-color-text-tertiary);font-size:var(--cf-font-size-250);margin:var(--cf-space-150) 0}.article-page .return-value{color:var(--cf-color-primary)}.article-page .playground-controls{border-top:1px solid var(--cf-color-border);display:flex;justify-content:space-between;align-items:center;gap:var(--cf-space-250);padding:var(--cf-space-300) var(--cf-space-350);background:var(--cf-color-surface-raised)}.article-page .step-indicator{font-size:var(--cf-font-size-250);color:var(--cf-color-text-tertiary);white-space:nowrap}.article-page .article-callout strong code,.article-page .code-heading code,.article-page .execution-explanation-text strong code,.article-page .learning-objectives code,.article-page .playground-caption code,.article-page .playground-title code,.article-page .prerequisite-card code{background:var(--cf-color-surface-strong);border:1px solid var(--cf-color-border);border-radius:var(--cf-radius-100);color:var(--cf-color-code-inline-text);padding:0 var(--cf-space-100);font-size:.92em}.article-page .playground-position{display:flex;flex-direction:column;gap:var(--cf-space-050);line-height:var(--cf-line-height-140)}.article-page .article-playground:not(.is-execution) .playground-position>:not(.step-indicator){color:var(--cf-color-text-secondary);font-size:var(--cf-font-size-250);font-weight:var(--cf-font-weight-semibold)}.article-page :where(.article-playground:not(.is-execution)) button:not([class]){border:1px solid var(--cf-color-primary-border);border-radius:var(--cf-radius-150);background:var(--cf-color-primary-subtle);color:var(--cf-color-text);padding:var(--cf-space-150) var(--cf-space-300);font-size:var(--cf-font-size-275);font-weight:var(--cf-font-weight-medium)}.article-page :where(.article-playground:not(.is-execution)) button:not([class]):hover:not(:disabled){background:var(--cf-color-primary-subtle-active)}.article-page :where(.article-playground:not(.is-execution)) button:not([class])[aria-pressed=false]{background:var(--cf-color-surface);border-color:var(--cf-color-border-control);color:var(--cf-color-text-secondary)}.article-page :where(.article-playground:not(.is-execution)) button:not([class])[aria-current=step],.article-page :where(.article-playground:not(.is-execution)) button:not([class])[aria-current=true],.article-page :where(.article-playground:not(.is-execution)) button:not([class])[aria-pressed=true]{background:var(--cf-color-primary-subtle-active);border-color:var(--cf-color-primary-border-hover);color:var(--cf-color-text-strong)}.article-page :where(.article-playground:not(.is-execution)) button:not([class]):disabled{background:var(--cf-color-surface);border-color:var(--cf-color-border);color:var(--cf-color-text-muted);cursor:not-allowed}.article-page .next-step-button{display:flex;align-items:center;gap:var(--cf-space-450);background:var(--cf-color-primary);color:var(--cf-color-on-primary);border:1px solid var(--cf-color-primary-hover);border-radius:var(--cf-radius-150);font-size:var(--cf-font-size-275);font-weight:var(--cf-font-weight-semibold);padding:var(--cf-space-150) var(--cf-space-300)}.article-page .next-step-button:hover{background:var(--cf-color-primary-hover)}.article-page .free-play-controls{display:flex;align-items:center;gap:var(--cf-space-150)}.article-page .free-play-controls>span{font-size:var(--cf-font-size-225);color:var(--cf-color-text-secondary)}.article-page .free-play-controls button{background:var(--cf-color-primary-subtle);color:var(--cf-color-text);border:1px solid var(--cf-color-primary-border);border-radius:var(--cf-radius-100);padding:var(--cf-space-150) var(--cf-space-250);font:var(--cf-font-size-250) var(--cf-font-mono)}.article-page .free-play-controls button:hover{background:var(--cf-color-primary-subtle-active)}.article-page .free-play-controls button:disabled{background:var(--cf-color-surface);color:var(--cf-color-text-tertiary);border-color:var(--cf-color-border);cursor:not-allowed}.article-page .execution-explanation{display:flex;align-items:flex-start;gap:var(--cf-space-250);padding:var(--cf-space-300) var(--cf-space-350);background:var(--cf-color-surface-raised);border-top:1px solid var(--cf-color-border);min-height:70px}.article-page .execution-explanation p{min-width:0;overflow-wrap:anywhere;margin:0;color:var(--cf-color-text-secondary);font-size:var(--cf-font-size-275);line-height:var(--cf-line-height-180)}.article-page .execution-explanation-text{min-width:0}.article-page .execution-explanation-text>strong{display:block;margin-bottom:var(--cf-space-100);font-size:var(--cf-font-size-300);font-weight:var(--cf-font-weight-semibold)}.article-page .playground-caption{padding:var(--cf-space-200) var(--cf-space-350);font-size:var(--cf-font-size-225);color:var(--cf-color-text-tertiary);border-top:1px solid var(--cf-color-border)}@media(max-width:1200px){.article-page .learning-workspace{gap:var(--cf-space-800);grid-template-columns:minmax(0,1fr) 220px}.article-page .learning-header-inner{gap:var(--cf-space-600)}.article-page .header-path{display:none}}@media(max-width:1020px){.article-page .reading-sidebar{display:none}.article-page .learning-workspace{display:block}.article-page .learning-article{max-width:720px;margin-inline:auto}.article-page .learning-header-inner{gap:var(--cf-space-400);padding-inline:var(--cf-space-600)}}@media(max-width:380px){.article-page .learning-brand>span:last-child{display:none}}@media(max-width:768px){.article-page .learning-header{height:58px}.article-page .learning-header-inner{padding-inline:var(--cf-space-450);gap:var(--cf-space-300)}.article-page .learning-brand{width:auto;font-size:var(--cf-font-size-325)}.article-page .header-editor,.article-page .header-path,.article-page .header-practice{display:none}.article-page .lesson-menu-toggle{display:flex;margin-left:auto}.article-page .lesson-menu-toggle span{display:none}.article-page .learning-sidebar{display:none;top:58px;width:min(280px,100vw - 40px)}.article-page .learning-sidebar.is-open{display:flex}.article-page .sidebar-backdrop{display:block;top:58px}.article-page .learning-workspace{margin:0;padding:var(--cf-space-600) var(--cf-space-500) 0}.article-page h1{font-size:var(--cf-font-size-650)}.article-page h2{font-size:var(--cf-font-size-475)}.article-page .article-heading>p{font-size:var(--cf-font-size-325)}.article-page .article-breadcrumb{margin-bottom:var(--cf-space-500)}.article-page .learning-article section>p{font-size:var(--cf-font-size-325)}.article-page .article-metadata{font-size:var(--cf-font-size-225);gap:var(--cf-space-200)}.article-page .learning-article section{scroll-margin-top:78px}.article-page .article-footer{gap:var(--cf-space-250)}.article-page .article-footer a{padding:var(--cf-space-300)}.article-page .article-footer strong{font-size:var(--cf-font-size-250)}}@media(min-width:769px)and (max-width:1200px){.article-page .playground-panes{grid-template-columns:minmax(0,1fr)}.article-page .source-pane{border-right:0;border-bottom:1px solid var(--cf-color-border)}.article-page .environment-list{flex-direction:row}.article-page .environment-list>div{flex:1 1;min-width:0}}@media(max-width:560px){.article-page .code-heading,.article-page .code-heading-meta,.article-page .playground-controls{flex-wrap:wrap}.article-page .playground-panes{grid-template-columns:minmax(0,1fr)}.article-page .source-pane{border-right:0;border-bottom:1px solid var(--cf-color-border)}.article-page .source-pane pre{font-size:var(--cf-font-size-275)}.article-page .environment-list{flex-direction:row;gap:var(--cf-space-200);padding:var(--cf-space-250)}.article-page .environment-list>div{flex:1 1;min-width:0}.article-page .environment-card{padding:var(--cf-space-200)}.article-page .environment-card>div:first-child{flex-direction:column;align-items:flex-start;gap:var(--cf-space-050)}.article-page .environment-reference{font-size:var(--cf-font-size-200)}.article-page .console-entries>div{font-size:var(--cf-font-size-225)}.article-page .scope-comparison{gap:var(--cf-space-200)}.article-page .scope-comparison>div{padding:var(--cf-space-250)}.article-page .scope-comparison>div>code{font-size:var(--cf-font-size-225)}.article-page .article-code pre{padding:var(--cf-space-350);font-size:var(--cf-font-size-275)}.article-page .learning-objectives ul{grid-template-columns:1fr;gap:var(--cf-space-300)}.article-page .learning-objectives li+li{border:0;padding-left:0}.article-page .learning-objectives li strong{margin-bottom:var(--cf-space-050)}.article-page .article-endnote{font-size:var(--cf-font-size-225);flex-wrap:wrap}.article-page .free-play-controls{flex-wrap:wrap;justify-content:flex-end}.article-page .free-play-controls>span{display:none}.article-page .learning-workspace{padding-inline:var(--cf-space-450)}}@media(prefers-reduced-motion:reduce){.article-page *,.article-page :after,.article-page :before{transition:none!important}}.article-page .article-execution{--step-text:var(--cf-color-paper-text);--step-body:var(--cf-color-paper-text-secondary);--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);--event-ink:var(--cf-color-paper-text-secondary);--event-bg:var(--step-surface);--event-border:var(--cf-color-paper-border-strong);--event-flash:var(--cf-color-paper-input);--step-hover:var(--cf-color-paper-hover);--step-control-border:var(--cf-color-paper-border-control);--step-control-hover:var(--cf-color-paper-primary-subtle);--step-disabled-bg:var(--cf-color-paper-chrome);--step-disabled-border:var(--cf-color-paper-border-subtle);--step-next-bg:var(--cf-color-paper-primary-subtle-hover);--step-next-hover:var(--cf-color-paper-primary-subtle-active);--step-code-chip:var(--cf-color-paper-chrome);--step-code-chip-border:var(--cf-color-paper-border);--step-line-hover:var(--cf-color-paper-primary-subtle-hover);--step-scrollbar:var(--cf-color-paper-border-control) var(--cf-color-paper-chrome);color:var(--step-text);color-scheme:light}.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{background:var(--step-chrome);border-color:var(--step-border)}.article-page .article-execution .playground-title{color:var(--step-text)}.article-page .article-execution .live-dot{background:var(--event-ink);box-shadow:0 0 0 3px var(--event-bg)}.article-page .article-execution .reset-playground{color:var(--step-body);min-height:32px}.article-page .article-execution .reset-playground:hover{color:var(--step-text);background:var(--step-hover)}.article-page .article-execution .playground-controls{background:var(--step-surface);border-color:var(--step-border)}.article-page .article-execution .step-indicator{color:var(--step-body)}.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{border:1px solid var(--step-control-border);border-radius:var(--cf-radius-150);padding:var(--cf-space-200) var(--cf-space-350);min-height:38px;background:var(--step-input-surface);color:var(--step-text);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-control-hover)}.article-page .article-execution .execution-back:disabled,.article-page .article-execution .execution-repeat button:disabled{color:var(--cf-color-paper-text-muted);background:var(--step-disabled-bg);border-color:var(--step-disabled-border);cursor:not-allowed}.article-page .article-execution .next-step-button{min-height:38px;background:var(--step-next-bg);border-color:var(--cf-color-paper-primary-border);color:var(--step-text);font-size:var(--cf-font-size-300);gap:var(--cf-space-500)}.article-page .article-execution .next-step-button:hover{background:var(--step-next-hover)}.article-page .article-execution .next-step-button svg{width:14px;height:14px}.article-page .article-execution .execution-explanation{background:var(--step-code-surface);border-color:var(--step-border);box-shadow:inset 3px 0 0 var(--event-ink);padding:var(--cf-space-350);min-height:124px;box-sizing:border-box}.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-300)}.article-page .article-execution .execution-explanation p{color:var(--step-body);font-size:var(--cf-font-size-300)}.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-275)/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 .execution-location{display:flex;align-items:center;flex-wrap:wrap;gap:var(--cf-space-200);padding:var(--cf-space-250) var(--cf-space-350);color:var(--step-body);font-size:var(--cf-font-size-250);border-block:1px solid var(--step-border)}.article-page .article-execution .execution-location ol{display:flex;flex-wrap:wrap;gap:var(--cf-space-200);list-style:none;margin:0;padding:0}.article-page .article-execution .execution-location li{display:flex;align-items:center;gap:var(--cf-space-200);color:var(--step-text)}.article-page .article-execution .execution-location svg{width:12px;height:12px;color:var(--step-body)}.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-code-chip);border-color:var(--step-code-chip-border);color:var(--step-text)}.article-page .article-execution .execution-next-label{margin-left:auto;color:var(--step-accent);font-size:var(--cf-font-size-250)}.article-page .article-execution .article-code{margin:0;border:0;border-radius:0;background:var(--step-code-surface)}.article-page .article-execution .code-heading{background:var(--step-chrome);border-color:var(--step-border);color:var(--step-body)}.article-page .article-execution .code-heading .code-edit-run{background:var(--step-accent-bg);border-color:var(--cf-color-paper-primary-border);color:var(--step-accent)}.article-page .article-execution .code-heading .code-edit-run:hover{background:var(--step-control-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 .interactive-code{display:block;position:relative;height:370px;padding:var(--cf-space-300) 0;overflow:auto;box-sizing:border-box;color:var(--step-text);font-size:var(--cf-font-size-300);scrollbar-color:var(--step-scrollbar);white-space:normal}.article-page .article-execution .interactive-code:focus-visible{outline:2px solid var(--step-accent);outline-offset:-3px}.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;border-left:2px solid rgba(0,0,0,0);padding-block:1px}.article-page .article-execution .code-step-row.was-executed{border-color:var(--event-border)}.article-page .article-execution .code-step-row.was-executed .code-step-number{color:var(--event-ink);font-weight:var(--cf-font-weight-semibold)}.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);border-color:var(--event-ink);box-shadow:inset 2px 0 0 var(--event-ink)}.article-page .article-execution .code-step-row.is-next{background:var(--step-accent-bg);border-color:var(--step-accent);box-shadow:inset 0 0 0 1px var(--cf-color-paper-primary-border)}.article-page .article-execution .code-step-row.is-next .code-step-number{color:var(--step-accent)}.article-page .article-execution .code-step-content{display:grid;grid-template-columns:31px minmax(0,1fr) auto;align-items:baseline;grid-gap:0 var(--cf-space-100);gap:0 var(--cf-space-100);padding:var(--cf-space-050) var(--cf-space-300) var(--cf-space-050) 0;min-height:27px;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:var(--step-text);font:inherit;cursor:pointer}.article-page .article-execution .code-step-button:hover{background:var(--step-line-hover)}.article-page .article-execution .code-step-button:focus-visible{outline:2px solid var(--step-accent);outline-offset:-2px}.article-page .article-execution .code-step-number{color:var(--step-body);font-size:var(--cf-font-size-250);text-align:center;-webkit-user-select:none;-moz-user-select:none;user-select:none}.article-page .article-execution .code-step-text{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--step-text)}.article-page .article-execution .code-step-tag{font:var(--cf-font-size-225)/var(--cf-line-height-170) var(--cf-font-sans);color:var(--event-ink)}.article-page .article-execution .is-current .code-step-tag{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 .code-inline-values{display:flex;flex-wrap:wrap;gap:var(--cf-space-100);margin:var(--cf-space-050) var(--cf-space-300) var(--cf-space-100) calc(31px + var(--cf-space-100));font:var(--cf-font-size-250)/var(--cf-line-height-170) var(--cf-font-mono);white-space:normal}.article-page .article-execution .execution-binding{display:inline-flex;align-items:baseline;flex-wrap:wrap;gap:var(--cf-space-150);padding:var(--cf-space-050) var(--cf-space-150);border:1px solid var(--event-border);border-radius:var(--cf-radius-100);background:var(--event-bg);color:var(--event-ink)}.article-page .article-execution .execution-binding strong{font-weight:var(--cf-font-weight-medium);overflow-wrap:anywhere;white-space:pre-wrap}.article-page .article-execution .execution-binding em{color:var(--step-violet);font:var(--cf-font-size-225)/var(--cf-line-height-170) var(--cf-font-sans)}.article-page .article-execution .execution-binding.is-retained{border-style:dashed}.article-page .article-execution .execution-binding.has-changed{animation:value-arrives .22s ease-out}.article-page .article-execution .execution-binding.has-changed strong{background:var(--event-flash);border-radius:var(--cf-radius-100);padding-inline:var(--cf-space-100)}.article-page .article-execution .execution-line-return{display:inline-flex;align-items:center;gap:var(--cf-space-150);flex-wrap:wrap;color:var(--event-ink);background:var(--event-bg);border:1px solid var(--event-border);border-radius:var(--cf-radius-100);padding:var(--cf-space-050) var(--cf-space-150)}.article-page .article-execution .execution-line-return strong{overflow-wrap:anywhere;white-space:pre-wrap;font-weight:var(--cf-font-weight-medium)}.article-page .article-execution .execution-line-return svg{width:12px;height:12px;flex-shrink:0}.article-page .article-execution .execution-legend{display:flex;align-items:center;gap:var(--cf-space-200);flex-wrap:wrap;padding:var(--cf-space-200) var(--cf-space-350);border-top:1px solid var(--step-border);color:var(--step-body);font-size:var(--cf-font-size-225)}.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:6px;height:6px;border-radius:var(--cf-radius-050);background:var(--event-ink)}.article-page .article-execution .execution-legend .execution-kind-key{color:var(--event-ink);background:var(--event-bg);border:1px solid var(--event-border);border-radius:var(--cf-radius-100);padding:1px var(--cf-space-100)}.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);color:var(--step-body);font-size:var(--cf-font-size-250)}.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:1px solid var(--event-border);border-radius:var(--cf-radius-100);padding:var(--cf-space-050) var(--cf-space-150);font:var(--cf-font-size-275)/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-body)}.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-body);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-150);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-150);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(--step-accent);background:var(--step-accent-bg)}.article-page .article-execution .execution-choices input{accent-color:var(--step-accent);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 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-code-chip);border:1px solid var(--step-code-chip-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:2px solid var(--step-accent);outline-offset:2px}@media(max-width:560px){.article-page .article-execution .interactive-code{height:clamp(100px,100svh - 450px,330px);font-size:var(--cf-font-size-275)}.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)}.article-page .article-execution .execution-edit input,.article-page .article-execution .execution-edit select{font-size:var(--cf-font-size-400)}}@media(prefers-reduced-motion:reduce){.article-page .article-execution .execution-binding.has-changed{animation:none}}@keyframes value-arrives{0%{transform:translateY(-3px);background:var(--event-flash)}to{transform:translateY(0)}}.article-page .article-execution .code-heading>span:last-child{color:var(--step-body)}