:root{--typography-display-xl-font-family:Instrument Serif;--typography-display-xl-font-size:clamp(2.5rem, 5.4vw, 4.4rem);--typography-display-xl-font-weight:400;--typography-display-xl-line-height:1.04;--typography-display-xl-letter-spacing:-.014em;--typography-display-lg-font-family:Instrument Serif;--typography-display-lg-font-size:clamp(2.2rem, 4vw, 3.05rem);--typography-display-lg-font-weight:400;--typography-display-lg-line-height:1.04;--typography-display-lg-letter-spacing:-.014em;--typography-display-md-font-family:Instrument Serif;--typography-display-md-font-size:clamp(1.95rem, 3.5vw, 2.75rem);--typography-display-md-font-weight:400;--typography-display-md-line-height:1.12;--typography-display-md-letter-spacing:-.01em;--typography-quote-font-family:Instrument Serif;--typography-quote-font-size:clamp(1.45rem, 2.9vw, 2.35rem);--typography-quote-font-weight:400;--typography-quote-line-height:1.3;--typography-quote-letter-spacing:-.005em;--typography-heading-1-font-family:Archivo;--typography-heading-1-font-size:clamp(1.9rem, 3.4vw, 3.05rem);--typography-heading-1-font-weight:600;--typography-heading-1-line-height:1.09;--typography-heading-1-letter-spacing:-.026em;--typography-statement-font-family:Archivo;--typography-statement-font-size:clamp(1.6rem, 3.2vw, 2.5rem);--typography-statement-font-weight:600;--typography-statement-line-height:1.16;--typography-statement-letter-spacing:-.026em;--typography-heading-2-font-family:Archivo;--typography-heading-2-font-size:clamp(1.45rem, 2.2vw, 1.6rem);--typography-heading-2-font-weight:600;--typography-heading-2-line-height:1.14;--typography-heading-2-letter-spacing:-.02em;--typography-heading-3-font-family:Archivo;--typography-heading-3-font-size:clamp(1.1rem, 1.4vw, 1.32rem);--typography-heading-3-font-weight:600;--typography-heading-3-line-height:1.25;--typography-heading-3-letter-spacing:-.014em;--typography-heading-4-font-family:Archivo;--typography-heading-4-font-size:1rem;--typography-heading-4-font-weight:600;--typography-heading-4-line-height:1.25;--typography-heading-4-letter-spacing:-.014em;--typography-eyebrow-font-family:Archivo;--typography-eyebrow-font-size:clamp(1.125rem, 1.45vw, 1.25rem);--typography-eyebrow-font-weight:600;--typography-eyebrow-line-height:1;--typography-eyebrow-letter-spacing:-.012em;--typography-lead-font-family:Archivo;--typography-lead-font-size:clamp(1.06rem, 1.35vw, 1.28rem);--typography-lead-font-weight:400;--typography-lead-line-height:1.52;--typography-lead-letter-spacing:-.008em;--typography-body-font-family:Archivo;--typography-body-font-size:1.0625rem;--typography-body-font-weight:400;--typography-body-line-height:1.6;--typography-body-reading-font-family:Archivo;--typography-body-reading-font-size:1rem;--typography-body-reading-font-weight:400;--typography-body-reading-line-height:1.65;--typography-body-sm-font-family:Archivo;--typography-body-sm-font-size:.9375rem;--typography-body-sm-font-weight:400;--typography-body-sm-line-height:1.55;--typography-caption-font-family:Archivo;--typography-caption-font-size:.8125rem;--typography-caption-font-weight:400;--typography-caption-line-height:1.5;--typography-label-font-family:IBM Plex Mono;--typography-label-font-size:.6875rem;--typography-label-font-weight:500;--typography-label-line-height:1.6;--typography-label-letter-spacing:.09em;--typography-label-lg-font-family:IBM Plex Mono;--typography-label-lg-font-size:1.0625rem;--typography-label-lg-font-weight:600;--typography-label-lg-line-height:1.4;--typography-label-lg-letter-spacing:.058em;--typography-mono-sm-font-family:IBM Plex Mono;--typography-mono-sm-font-size:.8125rem;--typography-mono-sm-font-weight:400;--typography-mono-sm-line-height:1.6;--typography-mono-sm-letter-spacing:.02em;--typography-code-font-family:IBM Plex Mono;--typography-code-font-size:.875rem;--typography-code-font-weight:400;--typography-code-line-height:1.65;--typography-code-inline-font-family:IBM Plex Mono;--typography-code-inline-font-size:.85em;--typography-code-inline-font-weight:400;--typography-button-font-family:Archivo;--typography-button-font-size:.875rem;--typography-button-font-weight:500;--typography-button-line-height:1;--typography-button-letter-spacing:-.006em;--typography-button-lg-font-family:Archivo;--typography-button-lg-font-size:1rem;--typography-button-lg-font-weight:500;--typography-button-lg-line-height:1;--typography-button-lg-letter-spacing:-.006em;--typography-nav-link-font-family:Archivo;--typography-nav-link-font-size:.9375rem;--typography-nav-link-font-weight:500;--typography-nav-link-line-height:1.4;--typography-nav-link-letter-spacing:-.006em;--typography-wordmark-font-family:Archivo;--typography-wordmark-font-size:1.0625rem;--typography-wordmark-font-weight:700;--typography-wordmark-line-height:1;--typography-wordmark-letter-spacing:-.025em;--rounded-none:0px;--rounded-default:0px;--rounded-full:9999px;--spacing-1:4px;--spacing-2:8px;--spacing-3:12px;--spacing-4:16px;--spacing-5:20px;--spacing-6:24px;--spacing-8:32px;--spacing-10:40px;--spacing-12:48px;--spacing-16:64px;--spacing-unit:4px;--spacing-wrap-max:1280px;--spacing-wrap-gutter:clamp(2.5rem, 7vw, 11rem);--spacing-section-y:clamp(4rem, 8vw, 7rem);--spacing-band-y:clamp(4.5rem, 9vw, 7.5rem);--spacing-masthead-top:clamp(3.6rem, 7vw, 6rem);--spacing-masthead-bottom:clamp(3rem, 5.5vw, 4.6rem);--spacing-section-label-col:230px;--spacing-section-header-gap:clamp(1.5rem, 5vw, 4rem);--spacing-section-header-bottom:clamp(2.4rem, 5vw, 3.6rem);--spacing-cell-pad-y:1.7rem;--spacing-cell-pad-x:1.6rem;--spacing-topbar-height:34px;--spacing-nav-height:4rem;--spacing-sidebar-width:18.75rem;--spacing-content-max:56rem;--spacing-content-pad-x:1.5rem;--spacing-content-pad-x-mobile:1rem;--spacing-content-pad-y:2.4rem;--spacing-steps-bar-height:3rem;--spacing-heading-2-top:3.2rem;--spacing-heading-3-top:2.2rem;--spacing-callout-pad-y:1.15rem;--spacing-callout-pad-x:1.35rem;--spacing-button-height-sm:36px;--spacing-button-height-md:46px;--spacing-button-height-lg:52px}:root,[data-theme=light]{color-scheme:light;--colors-bg:#fff;--colors-bg-tint:#f6f7f9;--colors-bg-inset:#edeff3;--colors-code-bg:#f6f7f9;--colors-code-header-bg:#edeff3;--colors-line:#d3d8de;--colors-line-strong:#b6bdc7;--colors-text-strong:#000;--colors-text:#1c2127;--colors-text-muted:#5f6b7c;--colors-text-subtle:#687383;--colors-text-faint:#7c8797;--colors-accent:#0f35e0;--colors-accent-hover:#0f35e0;--colors-accent-tint:#e6ebfd;--colors-on-accent:#fff;--colors-note:#0f35e0;--colors-note-tint:#eef2fd;--colors-tip:#1f6b3b;--colors-tip-tint:#edf6f0;--colors-tip-line:#bfdcc9;--colors-caution:#8a5a00;--colors-caution-tint:#fbf5e7;--colors-caution-line:#e8d5a8;--colors-danger:#8c2018;--colors-danger-tint:#faeeec;--colors-danger-line:#e5c2be;--colors-band-bg:#111418;--colors-band-line:#2e353e;--colors-band-line-strong:#404854;--colors-band-text:#fff;--colors-band-muted:#a2acb9;--colors-band-faint:#78828f;--colors-band-accent:#7fa0ff;--colors-topbar-bg:#000;--colors-topbar-text:#a9b1bc;--colors-syntax-text:#403f53;--colors-syntax-command:#3b61b0;--colors-syntax-arg:#3b61b0;--colors-syntax-string:#984e4d;--colors-brand-tile:#122543}[data-theme=dark]{color-scheme:dark;--colors-bg:#111418;--colors-bg-tint:#1a1e24;--colors-bg-inset:#22272e;--colors-code-bg:#2e353e;--colors-code-header-bg:#111418;--colors-line:#2e353e;--colors-line-strong:#404854;--colors-text-strong:#fff;--colors-text:#a2acb9;--colors-text-muted:#a2acb9;--colors-text-subtle:#8c96a3;--colors-text-faint:#6b7684;--colors-accent:#7fa0ff;--colors-accent-hover:#a8beff;--colors-accent-tint:#7fa0ff24;--colors-on-accent:#111418;--colors-note:#7fa0ff;--colors-note-tint:#7fa0ff1a;--colors-tip:#6fcf97;--colors-tip-tint:#6fcf971a;--colors-tip-line:#6fcf9759;--colors-caution:#e0b25f;--colors-caution-tint:#e0b25f1a;--colors-caution-line:#e0b25f59;--colors-danger:#e88a80;--colors-danger-tint:#e88a801a;--colors-danger-line:#e88a8059;--colors-band-bg:#1a1e24;--colors-band-line:#2e353e;--colors-band-line-strong:#404854;--colors-band-text:#fff;--colors-band-muted:#a2acb9;--colors-band-faint:#78828f;--colors-band-accent:#7fa0ff;--colors-topbar-bg:#000;--colors-topbar-text:#a9b1bc;--colors-syntax-text:#d6deeb;--colors-syntax-command:#82aaff;--colors-syntax-arg:#ecc48d;--colors-syntax-string:#ecc48d;--colors-brand-tile:#122543}@media (prefers-color-scheme:dark){:root:not([data-theme]){color-scheme:dark;--colors-bg:#111418;--colors-bg-tint:#1a1e24;--colors-bg-inset:#22272e;--colors-code-bg:#2e353e;--colors-code-header-bg:#111418;--colors-line:#2e353e;--colors-line-strong:#404854;--colors-text-strong:#fff;--colors-text:#a2acb9;--colors-text-muted:#a2acb9;--colors-text-subtle:#8c96a3;--colors-text-faint:#6b7684;--colors-accent:#7fa0ff;--colors-accent-hover:#a8beff;--colors-accent-tint:#7fa0ff24;--colors-on-accent:#111418;--colors-note:#7fa0ff;--colors-note-tint:#7fa0ff1a;--colors-tip:#6fcf97;--colors-tip-tint:#6fcf971a;--colors-tip-line:#6fcf9759;--colors-caution:#e0b25f;--colors-caution-tint:#e0b25f1a;--colors-caution-line:#e0b25f59;--colors-danger:#e88a80;--colors-danger-tint:#e88a801a;--colors-danger-line:#e88a8059;--colors-band-bg:#1a1e24;--colors-band-line:#2e353e;--colors-band-line-strong:#404854;--colors-band-text:#fff;--colors-band-muted:#a2acb9;--colors-band-faint:#78828f;--colors-band-accent:#7fa0ff;--colors-topbar-bg:#000;--colors-topbar-text:#a9b1bc;--colors-syntax-text:#d6deeb;--colors-syntax-command:#82aaff;--colors-syntax-arg:#ecc48d;--colors-syntax-string:#ecc48d;--colors-brand-tile:#122543}}@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/archivo-latin-ext-400-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/archivo-latin-400-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:500;src:url(/fonts/archivo-latin-ext-500-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:500;src:url(/fonts/archivo-latin-500-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:600;src:url(/fonts/archivo-latin-ext-600-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:600;src:url(/fonts/archivo-latin-600-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:700;src:url(/fonts/archivo-latin-ext-700-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:700;src:url(/fonts/archivo-latin-700-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Serif;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/instrument-serif-latin-ext-400-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Serif;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/instrument-serif-latin-400-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Serif;font-style:italic;font-display:swap;font-weight:400;src:url(/fonts/instrument-serif-latin-ext-400-italic.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Serif;font-style:italic;font-display:swap;font-weight:400;src:url(/fonts/instrument-serif-latin-400-italic.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/ibm-plex-mono-latin-ext-400-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/ibm-plex-mono-latin-400-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/fonts/ibm-plex-mono-latin-ext-500-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/fonts/ibm-plex-mono-latin-500-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/fonts/ibm-plex-mono-latin-ext-600-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/fonts/ibm-plex-mono-latin-600-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-serif:var(--typography-display-xl-font-family), Georgia, serif;--font-sans:var(--typography-body-font-family), -apple-system, "Helvetica Neue", Helvetica, Arial, sans-serif;--font-mono:var(--typography-label-font-family), ui-monospace, SFMono-Regular, Menlo, monospace;--font-body:var(--typography-body-font-weight) var(--typography-body-font-size)/var(--typography-body-line-height) var(--font-sans);--font-body-sm:var(--typography-body-sm-font-weight) var(--typography-body-sm-font-size)/var(--typography-body-sm-line-height) var(--font-sans);--font-label:var(--typography-label-font-weight) var(--typography-label-font-size)/var(--typography-label-line-height) var(--font-mono);--font-nav:var(--typography-nav-link-font-weight) var(--typography-nav-link-font-size)/var(--typography-nav-link-line-height) var(--font-sans);--font-wordmark:var(--typography-wordmark-font-weight) var(--typography-wordmark-font-size)/var(--typography-wordmark-line-height) var(--font-sans);--font-button:var(--typography-button-font-weight) var(--typography-button-font-size)/var(--typography-button-line-height) var(--font-sans);--font-button-lg:var(--typography-button-lg-font-weight) var(--typography-button-lg-font-size)/var(--typography-button-lg-line-height) var(--font-sans);--font-heading-2:var(--typography-heading-2-font-weight) var(--typography-heading-2-font-size)/var(--typography-heading-2-line-height) var(--font-sans);--font-heading-3:var(--typography-heading-3-font-weight) var(--typography-heading-3-font-size)/var(--typography-heading-3-line-height) var(--font-sans);--font-eyebrow:var(--typography-eyebrow-font-weight) var(--typography-eyebrow-font-size)/var(--typography-eyebrow-line-height) var(--font-sans);--font-display-xl:var(--typography-display-xl-font-weight) var(--typography-display-xl-font-size)/var(--typography-display-xl-line-height) var(--font-serif);--line-width:1px;--focus-width:2px;--focus-offset:2px;--header-opacity:94%;--header-blur:10px;--icon-size:16px;--icon-large:18px;--icon-small:12px;--icon-stroke:2px;--transition-duration:.15s;--tracking-legal:.05em;--topbar-font-small:.625rem;--footer-pad-top:clamp(3rem, 6vw, 4.5rem);--footer-pad-bottom:3rem;--footer-about-max:34ch;--footer-link-size:.875rem;--footer-link-line-height:1.5;--footer-legal-color:var(--colors-band-faint);--nav-gap:1.6rem;--theme-divider-height:2rem;--menu-font-size:1.0625rem;--menu-touch-extension:-4px;--viewport-height:100dvh;--masthead-title-max:15ch;--masthead-title-gap:1.1rem;--masthead-intro-max:52ch;--masthead-intro-gap:1.3rem;--lesson-number-width:150px;--lesson-pad-y:1.15rem;--tag-pad-y:.28rem;--tag-pad-x:.6rem;--tag-tracking:.07em;--tag-dot-size:6px;--button-pad-lg:1.9rem;--link-underline-offset:3px;--link-underline-opacity:35%;--reading-width:58ch;--layer-header:20;--layer-skip:30;--skip-hidden-transform:-300%;--font-heading-1:var(--typography-heading-1-font-weight) var(--typography-heading-1-font-size)/var(--typography-heading-1-line-height) var(--font-sans);--font-display-md:var(--typography-display-md-font-weight) var(--typography-display-md-font-size)/var(--typography-display-md-line-height) var(--font-serif);--font-statement:var(--typography-statement-font-weight) var(--typography-statement-font-size)/var(--typography-statement-line-height) var(--font-sans);--font-lead:var(--typography-lead-font-weight) var(--typography-lead-font-size)/var(--typography-lead-line-height) var(--font-sans);--font-quote:var(--typography-quote-font-weight) var(--typography-quote-font-size)/var(--typography-quote-line-height) var(--font-serif);--font-mono-sm:var(--typography-mono-sm-font-weight) var(--typography-mono-sm-font-size)/var(--typography-mono-sm-line-height) var(--font-mono);--section-label-tracking:.1em;--section-label-top:.5rem;--section-lead-gap:1.1rem;--section-mobile-gap:.9rem;--section-serif-max:18ch;--section-statement-max:26ch;--cell-footer-size:.75rem;--quote-max:34ch;--quote-attribution-gap:2rem;--cta-title-max:20ch;--cta-button-gap:.7rem;--editorial-band-border-width:0px;--figure-caption-y:.72rem;--figure-caption-x:.95rem;--table-cell-y:.6rem;--blockquote-inset:1.1rem;--inline-code-y:2px;--inline-code-x:6px;--chain-max:32rem;--step-number-size:1.75rem;--step-number-font:.72rem;--step-connector-left:.875rem;--step-connector-top:-.5rem;--diagram-font-size-min:12px;--diagram-font-size:max(var(--typography-body-sm-font-size), var(--diagram-font-size-min));--diagram-padding:var(--spacing-4);--diagram-node-padding:var(--spacing-3);--diagram-node-gap:var(--spacing-8);--diagram-rank-gap:var(--spacing-10);--diagram-stroke-width:var(--line-width);--diagram-render-offset:-100000px;--font-reading:var(--typography-body-reading-font-weight) var(--typography-body-reading-font-size)/var(--typography-body-reading-line-height) var(--font-sans);--font-display-lg:var(--typography-display-lg-font-weight) var(--typography-display-lg-font-size)/var(--typography-display-lg-line-height) var(--font-serif);--font-label-lg:var(--typography-label-lg-font-weight) var(--typography-label-lg-font-size)/var(--typography-label-lg-line-height) var(--font-mono);--font-code:var(--typography-code-font-weight) var(--typography-code-font-size)/var(--typography-code-line-height) var(--font-mono);--font-caption:var(--typography-caption-font-weight) var(--typography-caption-font-size)/var(--typography-caption-line-height) var(--font-sans);--apply-em-size:1.08em;--apply-title-max:20ch;--apply-side-group-gap:.9rem;--apply-side-item-y:.2rem;--apply-side-item-x:.7rem;--apply-side-border-offset:-1px;--apply-touch-min:44px;--apply-sidebar-layer:10;--apply-steps-layer:15;--apply-callout-title-size:1.0625rem;--apply-callout-icon-size:1.15rem;--apply-callout-icon-gap:.55rem;--apply-code-header-height:34px;--apply-copy-size:32px;--apply-code-dot-size:8px;--apply-card-value-size:clamp(1.7rem, 3vw, 2.3rem);--apply-card-value-tracking:-.03em;--apply-pager-min:18rem;--apply-details-arrow-size:1.25rem;--apply-details-open-rotation:90deg;--apply-step-body-top:.05rem}[data-theme=light]{--footer-legal-color:var(--colors-band-faint);--editorial-band-border-width:0px}[data-theme=dark]{--footer-legal-color:var(--colors-band-muted);--editorial-band-border-width:var(--line-width)}@media (prefers-color-scheme:dark){:root:not([data-theme]){--footer-legal-color:var(--colors-band-muted);--editorial-band-border-width:var(--line-width)}}*,:before,:after{box-sizing:border-box;border-radius:var(--rounded-default);margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--colors-bg);color:var(--colors-text);font:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;overflow-wrap:break-word}html.menu-is-open{overflow:hidden}a{color:inherit;text-decoration:none}ol,ul{list-style:none}svg{display:block}button,select{font:inherit;color:inherit;background:0 0;border:0}a,button,select{transition:color var(--transition-duration), background-color var(--transition-duration), border-color var(--transition-duration)}[hidden]{display:none!important}:focus-visible{outline:var(--focus-width) solid var(--colors-accent);outline-offset:var(--focus-offset)}.topbar :focus-visible,.site-footer :focus-visible,.catalog-band :focus-visible{outline-color:var(--colors-band-accent)}main{scroll-margin-top:var(--spacing-nav-height)}.wrap{width:min(var(--spacing-wrap-max), calc(100% - var(--spacing-wrap-gutter)));margin-inline:auto}.sr-only{margin:calc(-1 * var(--line-width));width:var(--line-width);height:var(--line-width);clip-path:inset(50%);white-space:nowrap;position:absolute;inset-inline-start:0;overflow:hidden}.icon{width:var(--icon-size);height:var(--icon-size);fill:none;stroke:currentColor;stroke-width:var(--icon-stroke);stroke-linecap:round;stroke-linejoin:round;flex:none}.icon--large{width:var(--icon-large);height:var(--icon-large)}.icon--small{width:var(--icon-small);height:var(--icon-small)}.navigation-link{align-items:center;gap:var(--spacing-1);display:inline-flex}.text-link{color:var(--colors-accent);text-decoration:underline;text-decoration-thickness:var(--line-width);text-decoration-color:color-mix(in srgb, var(--colors-accent) var(--link-underline-opacity), transparent);text-underline-offset:var(--link-underline-offset)}.text-link .icon{vertical-align:middle;margin-inline:var(--spacing-1);display:inline}.text-link:hover{color:var(--colors-accent-hover);text-decoration-color:currentColor}.skip-link{left:var(--spacing-4);top:var(--spacing-2);z-index:var(--layer-skip);transform:translateY(var(--skip-hidden-transform));background:var(--colors-text-strong);color:var(--colors-bg);font:var(--font-button);letter-spacing:var(--typography-button-letter-spacing);padding:var(--spacing-2) var(--spacing-4);position:absolute}.skip-link:focus{transform:none}.skip-link--preview{display:inline-flex;position:static;transform:none}.topbar{background:var(--colors-topbar-bg);color:var(--colors-topbar-text);font:var(--font-label);letter-spacing:var(--tracking-legal)}.topbar .wrap{min-height:var(--spacing-topbar-height);justify-content:space-between;align-items:center;gap:var(--spacing-1) var(--spacing-6);flex-wrap:wrap;display:flex}.topbar-items,.topbar-links{align-items:center;gap:var(--spacing-1) var(--spacing-6);flex-wrap:wrap;display:flex}.topbar a:hover{color:var(--colors-band-text)}.site-header{z-index:var(--layer-header);background:color-mix(in srgb, var(--colors-bg) var(--header-opacity), transparent);backdrop-filter:blur(var(--header-blur));border-bottom:var(--line-width) solid var(--colors-line);position:sticky;top:0}.site-header>.wrap{height:var(--spacing-nav-height);align-items:center;gap:var(--spacing-8);display:flex}.site-header--preview{z-index:auto;position:static}.brand{color:var(--colors-text-strong);font:var(--font-wordmark);letter-spacing:var(--typography-wordmark-letter-spacing);flex-shrink:0;align-items:center;display:inline-flex}.brand--footer{color:var(--colors-band-text)}.header-nav{align-items:center;gap:var(--nav-gap);display:flex}.header-nav a{font:var(--font-nav);letter-spacing:var(--typography-nav-link-letter-spacing);color:var(--colors-text)}.header-nav a:hover,.header-nav a[aria-current]{color:var(--colors-accent)}.header-end{align-items:center;gap:var(--spacing-3);margin-left:auto;display:flex}.theme-toggle{color:var(--colors-text-muted);align-items:center;display:none;position:relative}.js .theme-toggle{display:inline-flex}.theme-toggle select{appearance:none;font:var(--font-nav);letter-spacing:var(--typography-nav-link-letter-spacing);padding:var(--spacing-1) var(--spacing-5) var(--spacing-1) var(--spacing-6);cursor:pointer}.theme-toggle option{color:var(--colors-text);background:var(--colors-bg)}.theme-icon,.theme-caret{pointer-events:none;position:absolute}.theme-icon{left:0}.theme-caret{right:0}.menu-button{width:var(--spacing-button-height-sm);height:var(--spacing-button-height-sm);border:var(--line-width) solid var(--colors-line-strong);color:var(--colors-text-strong);cursor:pointer;justify-content:center;align-items:center;display:none;position:relative}.menu-button:after{content:"";inset:var(--menu-touch-extension);position:absolute}.menu-overlay{width:100%;height:calc(var(--viewport-height) - var(--spacing-nav-height));background:var(--colors-bg);padding-block:var(--spacing-6);position:absolute;top:100%;left:0;overflow-y:auto}.menu-overlay .menu-close{margin-left:auto;display:flex}.menu-links{margin-bottom:var(--spacing-6)}.menu-links a{padding-block:var(--spacing-4);border-bottom:var(--line-width) solid var(--colors-line);font:var(--font-nav);font-size:var(--menu-font-size);display:flex}.menu-links a[aria-current],.menu-links a:hover{color:var(--colors-accent)}.menu-overlay--preview{height:auto;position:static}.masthead{padding:var(--spacing-masthead-top) 0 var(--spacing-masthead-bottom);border-bottom:var(--line-width) solid var(--colors-line)}.eyebrow{font:var(--font-eyebrow);letter-spacing:var(--typography-eyebrow-letter-spacing);color:var(--colors-accent)}.breadcrumb{gap:var(--spacing-3);flex-wrap:wrap;display:flex}.breadcrumb a{color:var(--colors-text-muted)}.breadcrumb a:hover{color:var(--colors-accent)}.breadcrumb>[aria-hidden]{color:var(--colors-text-faint)}.masthead-title{font:var(--font-display-xl);letter-spacing:var(--typography-display-xl-letter-spacing);color:var(--colors-text-strong);max-width:var(--masthead-title-max);margin-top:var(--masthead-title-gap)}.masthead .intro{color:var(--colors-text-muted);max-width:var(--masthead-intro-max);margin-top:var(--masthead-intro-gap)}.masthead-tags,.masthead-actions{margin-top:var(--spacing-6)}.section{padding-block:var(--spacing-section-y);border-bottom:var(--line-width) solid var(--colors-line)}.lessons{border-bottom:var(--line-width) solid var(--colors-line)}.lesson-row{grid-template-columns:var(--lesson-number-width) minmax(0, 1fr) var(--icon-large);column-gap:var(--spacing-4);padding:var(--lesson-pad-y) var(--spacing-4);border-top:var(--line-width) solid var(--colors-line);align-items:baseline;display:grid}a.lesson-row:hover{background:var(--colors-bg-tint)}a.lesson-row:hover .lesson-arrow{color:var(--colors-accent)}.lesson-number{font:var(--font-label);letter-spacing:var(--typography-label-letter-spacing);text-transform:uppercase;color:var(--colors-accent)}.lesson-title{font:var(--font-heading-3);letter-spacing:var(--typography-heading-3-letter-spacing);color:var(--colors-text-strong);display:block}.lesson-summary{font:var(--font-body-sm);color:var(--colors-text-muted);margin-top:var(--spacing-1);display:block}.lesson-arrow{color:var(--colors-text-subtle);align-self:center}.lesson-row.is-soon{grid-template-columns:var(--lesson-number-width) minmax(0, 1fr) auto}.lesson-row.is-soon .lesson-number{color:var(--colors-text-subtle)}.lesson-row.is-soon .lesson-title{color:var(--colors-text-muted)}.lesson-row.is-soon .tag{align-self:center}.tag{align-items:center;gap:var(--spacing-2);border:var(--line-width) solid var(--colors-line);font:var(--font-label);letter-spacing:var(--tag-tracking);text-transform:uppercase;color:var(--colors-text-muted);padding:var(--tag-pad-y) var(--tag-pad-x);max-width:100%;display:inline-flex}.tag--tip{color:var(--colors-tip);background:var(--colors-tip-tint);border-color:var(--colors-tip-line)}.tag--caution{color:var(--colors-caution);background:var(--colors-caution-tint);border-color:var(--colors-caution-line)}.tag--danger{color:var(--colors-danger);background:var(--colors-danger-tint);border-color:var(--colors-danger-line)}.tag-dot{width:var(--tag-dot-size);height:var(--tag-dot-size);background:var(--colors-accent);border-radius:var(--rounded-full);flex:none}.site-footer{background:var(--colors-band-bg);color:var(--colors-band-muted);border-top:var(--line-width) solid var(--colors-band-line);padding:var(--footer-pad-top) 0 var(--footer-pad-bottom)}.footer-grid{gap:var(--spacing-10) var(--spacing-8);grid-template-columns:1.7fr 1fr 1fr;display:grid}.footer-about{font:var(--font-body-sm);max-width:var(--footer-about-max);margin-top:var(--spacing-4)}.footer-column h2{font:var(--font-label);letter-spacing:var(--typography-label-letter-spacing);text-transform:uppercase;color:var(--colors-band-text);margin-bottom:var(--spacing-4)}.footer-column li+li{margin-top:var(--spacing-2)}.footer-column li{font-size:var(--footer-link-size);line-height:var(--footer-link-line-height)}.footer-column a:hover{color:var(--colors-band-text)}.footer-legal{gap:var(--spacing-2) var(--spacing-6);margin-top:var(--spacing-12);padding-top:var(--spacing-8);border-top:var(--line-width) solid var(--colors-band-line);font:var(--font-label);letter-spacing:var(--tracking-legal);color:var(--footer-legal-color);flex-wrap:wrap;display:flex}.button{justify-content:center;align-items:center;gap:var(--spacing-2);min-height:var(--spacing-button-height-md);padding-inline:var(--spacing-5);border:var(--line-width) solid;font:var(--font-button);letter-spacing:var(--typography-button-letter-spacing);text-align:center;display:inline-flex}.button--sm{min-height:var(--spacing-button-height-sm);padding-inline:var(--spacing-4)}.button--lg{min-height:var(--spacing-button-height-lg);padding-inline:var(--button-pad-lg);font:var(--font-button-lg)}.button--primary{background:var(--colors-text-strong);border-color:var(--colors-text-strong);color:var(--colors-bg)}.button--primary:hover{background:var(--colors-accent);border-color:var(--colors-accent);color:var(--colors-on-accent)}.button--secondary{border-color:var(--colors-line-strong);color:var(--colors-text-strong);background:0 0}.button--secondary:hover{background:var(--colors-text-strong);color:var(--colors-bg)}.button--primary.button--band{background:var(--colors-band-text);border-color:var(--colors-band-text);color:var(--colors-topbar-bg)}.button--primary.button--band:hover{background:var(--colors-band-accent);border-color:var(--colors-band-accent);color:var(--colors-band-bg)}.button--secondary.button--band{border-color:var(--colors-band-line-strong);color:var(--colors-band-text)}.button--secondary.button--band:hover{background:var(--colors-band-text);color:var(--colors-topbar-bg)}.provisional-content>*+*{margin-top:var(--spacing-6)}.provisional-content p{max-width:var(--reading-width)}.provisional-content h2,.catalog-group>h2{font:var(--font-heading-2);letter-spacing:var(--typography-heading-2-letter-spacing);color:var(--colors-text-strong)}.no-script-navigation{gap:var(--spacing-6);padding-block:var(--spacing-6);flex-wrap:wrap;display:flex}.catalog-group{padding-block:var(--spacing-12)}.catalog-group>h2{margin-bottom:var(--spacing-8)}.catalog-theme{background:var(--colors-bg);color:var(--colors-text);border:var(--line-width) solid var(--colors-line);margin-top:var(--spacing-8)}.catalog-theme>h3{font:var(--font-heading-3);color:var(--colors-text-strong);padding:var(--spacing-6);border-bottom:var(--line-width) solid var(--colors-line)}.catalog-example{padding:var(--spacing-6);border-bottom:var(--line-width) solid var(--colors-line)}.catalog-example>h4{font:var(--font-label);color:var(--colors-accent);letter-spacing:var(--typography-label-letter-spacing);text-transform:uppercase;margin-bottom:var(--spacing-5)}.catalog-example>.site-header .wrap,.catalog-example>.topbar .wrap,.catalog-example>.menu-overlay .wrap,.catalog-example>.site-footer .wrap{width:calc(100% - var(--spacing-8))}.catalog-example>.site-header>.wrap{height:auto;min-height:var(--spacing-nav-height);padding-block:var(--spacing-4);flex-wrap:wrap}.catalog-actions{gap:var(--spacing-4);flex-wrap:wrap;align-items:center;display:flex}.catalog-band{margin-top:var(--spacing-4);padding:var(--spacing-6);background:var(--colors-band-bg);color:var(--colors-band-text)}.lista-a-entregar{padding:var(--spacing-6);font:var(--font-body-sm)}.lista-a-entregar ul{gap:var(--spacing-2) var(--spacing-6);margin-top:var(--spacing-4);flex-wrap:wrap;display:flex}@media (width<860px){.header-nav,.js .header-end .theme-toggle{display:none}.js .menu-button{display:inline-flex}}@media (width<760px){.topbar{font-size:var(--topbar-font-small)}.topbar .wrap{padding-block:var(--spacing-2)}.topbar-links{display:none}}@media (width<640px){.lesson-row,.lesson-row.is-soon{row-gap:var(--spacing-2);grid-template-columns:minmax(0,1fr) auto}.lesson-number{grid-column:1/-1}.lesson-row.is-soon .tag{grid-column:1/-1;justify-self:start}.catalog-example{padding:var(--spacing-4)}}@media (width<600px){.footer-grid{grid-template-columns:1fr 1fr}.footer-intro{grid-column:1/-1}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}a,button,select{transition:none}}
