#reading-progress[data-astro-cid-kw4rgypl]{pointer-events:none;background:0 0}.reading-progress__fill[data-astro-cid-kw4rgypl]{transform-origin:0;background:linear-gradient(to right, var(--accent,#0ea5e9), var(--accent-light,#38bdf8));width:100%;height:100%;box-shadow:0 0 8px var(--accent-light,#38bdf8);will-change:transform;display:block;transform:scaleX(0)}.toc--sidebar[data-astro-cid-p33bl5ka]{scrollbar-width:thin;max-height:calc(100vh - 8rem);padding:.25rem 0 .75rem;position:sticky;top:6rem;overflow-y:auto}.toc__label[data-astro-cid-p33bl5ka]{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);align-items:center;gap:.75rem;margin:0 0 1rem;font-size:.62rem;font-weight:600;display:flex}.toc__label[data-astro-cid-p33bl5ka]:after{content:"";background:var(--line);flex:1;height:1px}.toc__body[data-astro-cid-p33bl5ka]{padding-left:1.05rem;position:relative}.toc__track[data-astro-cid-p33bl5ka]{background:var(--line);border-radius:999px;width:2px;position:absolute;top:.35rem;bottom:.35rem;left:0;overflow:hidden}.toc__fill[data-astro-cid-p33bl5ka]{border-radius:inherit;background:var(--accent);transform-origin:top;will-change:transform;width:100%;height:100%;display:block;transform:scaleY(0)}.toc__list[data-astro-cid-p33bl5ka]{gap:.1rem;margin:0;padding:0;list-style:none;display:grid}.toc__link[data-astro-cid-p33bl5ka]{color:var(--text-secondary);transition:color var(--duration-micro) var(--ease-out), background-color var(--duration-micro) var(--ease-out);border-radius:.55rem;align-items:baseline;gap:.55rem;padding:.34rem .55rem;font-size:.8rem;line-height:1.4;display:flex}.toc__num[data-astro-cid-p33bl5ka]{font-family:var(--font-mono);letter-spacing:.08em;font-variant-numeric:tabular-nums;color:var(--text-muted);transition:color var(--duration-micro) var(--ease-out);flex:none;font-size:.6rem;font-weight:600}.toc__link--sub[data-astro-cid-p33bl5ka]{color:var(--text-muted);padding-left:1.85rem;font-size:.74rem}.toc__link[data-astro-cid-p33bl5ka]:hover{color:var(--text-primary);background:color-mix(in srgb, var(--text-primary) 5%, transparent)}.toc__link[data-astro-cid-p33bl5ka]:hover .toc__num[data-astro-cid-p33bl5ka]{color:var(--accent-text)}.toc__link[data-astro-cid-p33bl5ka][aria-current=true]{color:var(--accent-text);background:var(--accent-wash);font-weight:600}.toc__link[data-astro-cid-p33bl5ka][aria-current=true] .toc__num[data-astro-cid-p33bl5ka]{color:var(--accent-text)}.toc--inline[data-astro-cid-p33bl5ka]{border:1px solid var(--line);background:color-mix(in srgb, var(--bg-secondary) 65%, transparent);border-radius:1rem;width:100%;max-width:70ch;padding:1rem 1.15rem}.toc__summary[data-astro-cid-p33bl5ka]{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);align-items:center;gap:.55rem;font-size:.62rem;font-weight:600;list-style:none;display:flex}.toc__summary[data-astro-cid-p33bl5ka]::-webkit-details-marker{display:none}.toc__chevron[data-astro-cid-p33bl5ka]{width:.85rem;height:.85rem;transition:transform var(--duration-micro) var(--ease-out)}details[data-astro-cid-p33bl5ka][open]>.toc__summary[data-astro-cid-p33bl5ka] .toc__chevron[data-astro-cid-p33bl5ka]{transform:rotate(90deg)}.toc--inline[data-astro-cid-p33bl5ka] .toc__list[data-astro-cid-p33bl5ka]{margin-top:.9rem}.series-nav-compact[data-astro-cid-xyfub4mw]{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.75rem 1.25rem;min-height:4.25rem;padding:.7rem 0 .85rem;display:grid;position:relative}.series-nav-compact__identity[data-astro-cid-xyfub4mw]{align-items:baseline;gap:.7rem;min-width:0;display:flex}.series-nav-compact__eyebrow[data-astro-cid-xyfub4mw]{color:var(--accent-text);font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;flex:none;font-size:.58rem;font-weight:650}.series-nav-compact__title[data-astro-cid-xyfub4mw]{min-width:0;color:var(--text-primary);font-family:var(--font-display);letter-spacing:-.015em;text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;font-weight:650;overflow:hidden}.series-nav-compact__counter[data-astro-cid-xyfub4mw]{color:var(--text-muted);font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;align-items:baseline;gap:.35rem;margin:0;font-size:.61rem;display:flex}.series-nav-compact__counter[data-astro-cid-xyfub4mw] strong[data-astro-cid-xyfub4mw]{color:var(--accent-text);font-size:.72rem}.series-nav-compact__adjacent[data-astro-cid-xyfub4mw]{align-items:center;gap:.35rem;display:flex}.series-nav-compact__link[data-astro-cid-xyfub4mw]{min-height:2.75rem;color:var(--text-secondary);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;transition:color var(--duration-micro) var(--ease-out), background-color var(--duration-micro) var(--ease-out);border-radius:999px;align-items:center;gap:.35rem;padding:0 .7rem;font-size:.58rem;font-weight:600;display:inline-flex}.series-nav-compact__link[data-astro-cid-xyfub4mw] svg[data-astro-cid-xyfub4mw]{width:.9rem;height:.9rem;transition:transform var(--duration-normal) var(--ease-spring);flex:none}.series-nav-compact__link[data-astro-cid-xyfub4mw]:not(.is-disabled):hover,.series-nav-compact__link[data-astro-cid-xyfub4mw]:not(.is-disabled):focus-visible{color:var(--accent-text);background:var(--accent-wash)}.series-nav-compact__link[data-astro-cid-xyfub4mw]:not(.is-disabled):first-child:hover svg[data-astro-cid-xyfub4mw]{transform:translate(-2px)}.series-nav-compact__link[data-astro-cid-xyfub4mw]:not(.is-disabled):last-child:hover svg[data-astro-cid-xyfub4mw]{transform:translate(2px)}.series-nav-compact__link[data-astro-cid-xyfub4mw].is-disabled{color:var(--text-muted);opacity:.42}.series-nav-compact__track[data-astro-cid-xyfub4mw]{background:0 0;height:2px;position:absolute;bottom:-1px;left:0;right:0;overflow:hidden}.series-nav-compact__fill[data-astro-cid-xyfub4mw]{background:var(--accent);transform-origin:0;width:100%;height:100%;display:block}@media (width<=47.99rem){.series-nav-compact[data-astro-cid-xyfub4mw]{grid-template-columns:minmax(0,1fr) auto;gap:.25rem .75rem}.series-nav-compact__identity[data-astro-cid-xyfub4mw]{flex-direction:column;align-items:flex-start;gap:.15rem}.series-nav-compact__counter[data-astro-cid-xyfub4mw]{grid-column:1}.series-nav-compact__adjacent[data-astro-cid-xyfub4mw]{grid-area:1/2/span 2}.series-nav-compact__link[data-astro-cid-xyfub4mw]{justify-content:center;width:2.75rem;padding:0}.series-nav-compact__link[data-astro-cid-xyfub4mw]>span[data-astro-cid-xyfub4mw]{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}}.series-nav[data-astro-cid-xyfub4mw]{border:1px solid var(--line);background:color-mix(in srgb, var(--bg-secondary) 72%, transparent);border-radius:1.25rem;margin:2.5rem 0 3rem;overflow:hidden}.series-nav__head[data-astro-cid-xyfub4mw]{border-bottom:1px solid var(--line);padding:1.5rem 1.5rem 1.35rem}@media (width>=640px){.series-nav__head[data-astro-cid-xyfub4mw]{padding:1.75rem 2rem 1.5rem}}.series-nav__head-row[data-astro-cid-xyfub4mw]{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem 1.5rem;display:flex}.series-nav__eyebrow[data-astro-cid-xyfub4mw]{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--accent-text);margin:0;font-size:.62rem;font-weight:600}.series-nav__title[data-astro-cid-xyfub4mw]{font-family:var(--font-display);letter-spacing:-.03em;color:var(--text-primary);text-wrap:balance;margin:.45rem 0 0;font-size:clamp(1.25rem,2.4vw,1.6rem);font-weight:600;line-height:1.15}.series-nav__counter[data-astro-cid-xyfub4mw]{border:1px solid var(--line);font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-secondary);white-space:nowrap;border-radius:999px;margin:0;padding:.4rem .8rem;font-size:.68rem}.series-nav__counter[data-astro-cid-xyfub4mw] strong[data-astro-cid-xyfub4mw]{color:var(--accent-text);font-weight:700}.series-nav__progress-row[data-astro-cid-xyfub4mw]{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted);justify-content:space-between;align-items:baseline;gap:1rem;margin-top:1.35rem;font-size:.58rem;font-weight:500;display:flex}.series-nav__pct[data-astro-cid-xyfub4mw]{font-variant-numeric:tabular-nums}.series-nav__track[data-astro-cid-xyfub4mw]{background:var(--line);border-radius:999px;height:3px;margin-top:.55rem;overflow:hidden}.series-nav__fill[data-astro-cid-xyfub4mw]{border-radius:inherit;background:var(--accent);transform-origin:0;width:100%;height:100%;display:block}.series-nav__chapters[data-astro-cid-xyfub4mw]{align-items:center;gap:.4rem;margin:1.15rem 0 0;padding:0 0 .25rem;list-style:none;display:flex;overflow-x:auto}.series-nav__chip[data-astro-cid-xyfub4mw]{border:1px solid var(--line);min-width:2rem;height:2rem;font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-muted);transition:color var(--duration-micro) var(--ease-out), border-color var(--duration-micro) var(--ease-out), background-color var(--duration-micro) var(--ease-out), transform var(--duration-normal) var(--ease-spring);border-radius:999px;place-items:center;padding:0 .45rem;font-size:.62rem;font-weight:600;display:grid}.series-nav__chip[data-astro-cid-xyfub4mw]:hover{color:var(--text-primary);border-color:var(--line-strong);transform:translateY(-2px)}.series-nav__chip[data-astro-cid-xyfub4mw].is-past{background:var(--accent-wash);color:var(--accent-text);border-color:#0000}.series-nav__chip[data-astro-cid-xyfub4mw].is-current{background:var(--accent-text);border-color:var(--accent-text);color:var(--bg-primary)}.series-nav__adjacent[data-astro-cid-xyfub4mw]{display:grid}@media (width>=768px){.series-nav__adjacent[data-astro-cid-xyfub4mw]{grid-template-columns:1fr 1fr}.series-nav__cell--next[data-astro-cid-xyfub4mw]{border-left:1px solid var(--line)}}@media (width<=767.98px){.series-nav__cell--next[data-astro-cid-xyfub4mw]{border-top:1px solid var(--line)}}.series-nav__cell[data-astro-cid-xyfub4mw]{flex-direction:column;justify-content:space-between;gap:1.1rem;padding:1.35rem 1.5rem;display:flex}@media (width>=640px){.series-nav__cell[data-astro-cid-xyfub4mw]{padding:1.5rem 2rem}}.series-nav__cell--next[data-astro-cid-xyfub4mw]{text-align:right}.series-nav__cell--next[data-astro-cid-xyfub4mw] .series-nav__cell-meta[data-astro-cid-xyfub4mw]{justify-content:flex-end}.series-nav__cell--link[data-astro-cid-xyfub4mw]{transition:background-color var(--duration-micro) var(--ease-out)}.series-nav__cell--link[data-astro-cid-xyfub4mw]:hover,.series-nav__cell--link[data-astro-cid-xyfub4mw]:focus-visible{background:var(--accent-wash)}.series-nav__cell-eyebrow[data-astro-cid-xyfub4mw]{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);margin:0;font-size:.58rem;font-weight:600}.series-nav__cell-title[data-astro-cid-xyfub4mw]{-webkit-line-clamp:2;font-family:var(--font-display);letter-spacing:-.02em;color:var(--text-primary);transition:color var(--duration-micro) var(--ease-out);-webkit-box-orient:vertical;margin:.5rem 0 0;font-size:1.02rem;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.series-nav__cell--link[data-astro-cid-xyfub4mw]:hover .series-nav__cell-title[data-astro-cid-xyfub4mw]{color:var(--accent-text)}.series-nav__cell-meta[data-astro-cid-xyfub4mw]{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-muted);justify-content:space-between;align-items:center;gap:.75rem;font-size:.62rem;display:flex}.series-nav__arrow[data-astro-cid-xyfub4mw]{width:.95rem;height:.95rem;transition:transform var(--duration-normal) var(--ease-spring)}.series-nav__cell--link[data-astro-cid-xyfub4mw]:hover .series-nav__arrow--prev[data-astro-cid-xyfub4mw]{transform:translate(-3px)}.series-nav__cell--link[data-astro-cid-xyfub4mw]:hover .series-nav__arrow--next[data-astro-cid-xyfub4mw]{transform:translate(3px)}.series-nav__cell-empty[data-astro-cid-xyfub4mw]{color:var(--text-muted);margin:0;font-size:.8rem}.series-nav__complete[data-astro-cid-xyfub4mw]{border-top:1px solid var(--line);background:color-mix(in srgb, var(--brand-emerald) 7%, transparent);padding:1.35rem 1.5rem 1.5rem}@media (width>=640px){.series-nav__complete[data-astro-cid-xyfub4mw]{padding:1.5rem 2rem 1.75rem}}.series-nav__complete-head[data-astro-cid-xyfub4mw]{align-items:center;gap:.55rem;display:flex}.series-nav__complete-head[data-astro-cid-xyfub4mw] svg[data-astro-cid-xyfub4mw]{width:1.1rem;height:1.1rem;color:var(--brand-emerald)}.series-nav__complete-head[data-astro-cid-xyfub4mw] h3[data-astro-cid-xyfub4mw]{font-family:var(--font-display);letter-spacing:-.01em;color:var(--text-primary);margin:0;font-size:.95rem;font-weight:700}.series-nav__complete-hint[data-astro-cid-xyfub4mw]{color:var(--text-secondary);margin:.6rem 0 .9rem;font-size:.82rem;line-height:1.6}.series-nav__complete-links[data-astro-cid-xyfub4mw]{flex-wrap:wrap;gap:.5rem;display:flex}.series-nav__complete-link[data-astro-cid-xyfub4mw]{border:1px solid var(--line-strong);color:var(--text-primary);transition:border-color var(--duration-micro) var(--ease-out), background-color var(--duration-micro) var(--ease-out), transform var(--duration-normal) var(--ease-spring);border-radius:999px;align-items:center;gap:.4rem;padding:.45rem .9rem;font-size:.78rem;font-weight:600;display:inline-flex}.series-nav__complete-link[data-astro-cid-xyfub4mw] svg[data-astro-cid-xyfub4mw]{width:.8rem;height:.8rem;transition:transform var(--duration-normal) var(--ease-spring)}.series-nav__complete-link[data-astro-cid-xyfub4mw]:hover{border-color:var(--brand-emerald);background:color-mix(in srgb, var(--brand-emerald) 10%, transparent);transform:translateY(-2px)}.series-nav__complete-link[data-astro-cid-xyfub4mw]:hover svg[data-astro-cid-xyfub4mw]{transform:translate(2px)}@media (prefers-reduced-motion:reduce){.series-nav-compact__link[data-astro-cid-xyfub4mw],.series-nav-compact__link[data-astro-cid-xyfub4mw] svg[data-astro-cid-xyfub4mw],.series-nav__chip[data-astro-cid-xyfub4mw],.series-nav__arrow[data-astro-cid-xyfub4mw],.series-nav__complete-link[data-astro-cid-xyfub4mw],.series-nav__complete-link[data-astro-cid-xyfub4mw] svg[data-astro-cid-xyfub4mw]{transition:none}.series-nav__chip[data-astro-cid-xyfub4mw]:hover,.series-nav-compact__link[data-astro-cid-xyfub4mw]:not(.is-disabled):hover svg[data-astro-cid-xyfub4mw],.series-nav__complete-link[data-astro-cid-xyfub4mw]:hover,.series-nav__cell--link[data-astro-cid-xyfub4mw]:hover .series-nav__arrow--prev[data-astro-cid-xyfub4mw],.series-nav__cell--link[data-astro-cid-xyfub4mw]:hover .series-nav__arrow--next[data-astro-cid-xyfub4mw],.series-nav__complete-link[data-astro-cid-xyfub4mw]:hover svg[data-astro-cid-xyfub4mw]{transform:none}}.tutorial-overview[data-astro-cid-42q5jibs]{border:1px solid var(--line-strong);border-left:3px solid var(--accent);background:linear-gradient(135deg, var(--accent-wash), var(--bg-primary) 62%);width:min(100%,72rem);color:var(--text-body);border-radius:.75rem;margin:1.5rem auto 2.5rem;padding:clamp(1.25rem,2vw,1.75rem)}.tutorial-overview__header[data-astro-cid-42q5jibs]{gap:.35rem;margin-bottom:1rem;display:grid}.tutorial-overview__header[data-astro-cid-42q5jibs] span[data-astro-cid-42q5jibs]{color:var(--accent-text);font:700 .72rem/1 var(--font-mono);letter-spacing:.14em;text-transform:uppercase}.tutorial-overview[data-astro-cid-42q5jibs] h2[data-astro-cid-42q5jibs]{color:var(--text-primary);font:650 clamp(1.1rem, 1rem + .45vw, 1.35rem)/1.25 var(--font-heading);margin:0}.tutorial-overview[data-astro-cid-42q5jibs] ul[data-astro-cid-42q5jibs]{gap:.55rem;margin:0;padding-left:1.2rem;display:grid}.tutorial-overview[data-astro-cid-42q5jibs] li[data-astro-cid-42q5jibs]{padding-left:.25rem;line-height:1.55}.tutorial-overview[data-astro-cid-42q5jibs] li[data-astro-cid-42q5jibs]::marker{color:var(--accent-text)}.tutorial-overview__check[data-astro-cid-42q5jibs]{border-top:1px solid var(--line);gap:.3rem;margin:1.15rem 0 0;padding-top:1rem;line-height:1.55;display:grid}.tutorial-overview__check[data-astro-cid-42q5jibs] strong[data-astro-cid-42q5jibs]{color:var(--text-primary);letter-spacing:.04em;text-transform:uppercase;font-size:.82rem}.tutorial-overview__criteria[data-astro-cid-42q5jibs]{border-top:1px solid var(--line);margin-top:1rem;padding-top:.9rem}.tutorial-overview__criteria[data-astro-cid-42q5jibs] summary[data-astro-cid-42q5jibs]{color:var(--text-primary);cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;font-size:.88rem;font-weight:700;display:flex}.tutorial-overview__criteria[data-astro-cid-42q5jibs] summary[data-astro-cid-42q5jibs] b[data-astro-cid-42q5jibs]{background:var(--accent-wash);min-width:1.8rem;height:1.8rem;color:var(--accent-text);font-family:var(--font-mono);border-radius:999px;place-items:center;font-size:.72rem;display:grid}.tutorial-overview__criteria[data-astro-cid-42q5jibs] ol[data-astro-cid-42q5jibs]{gap:.55rem;margin:.9rem 0 0;padding-left:1.35rem;display:grid}@media (width<=640px){.tutorial-overview[data-astro-cid-42q5jibs]{border-radius:.6rem;margin-bottom:2rem}}.copy-link-label-wrap[data-astro-cid-eqjx2q6l]{display:inline-block;position:relative}.related-guides[data-astro-cid-vrecybdq]{margin-top:50px}.related-guides[data-astro-cid-vrecybdq] ol[data-astro-cid-vrecybdq]{margin:0;padding:0;list-style:none}.related-guides[data-astro-cid-vrecybdq] li[data-astro-cid-vrecybdq]{border-bottom:1px solid var(--line)}.related-guides[data-astro-cid-vrecybdq] li[data-astro-cid-vrecybdq]>a[data-astro-cid-vrecybdq]{justify-content:space-between;align-items:center;gap:25px;padding:20px 0;display:flex}.related-guides[data-astro-cid-vrecybdq] h3[data-astro-cid-vrecybdq]{font:550 19px/1.4 var(--font-heading);color:var(--text-primary);letter-spacing:-.025em}.related-guides[data-astro-cid-vrecybdq] p[data-astro-cid-vrecybdq]{font:13px/1.7 var(--font-body);color:var(--text-secondary);margin:8px 0 0}.related-guides[data-astro-cid-vrecybdq] a[data-astro-cid-vrecybdq]:hover h3[data-astro-cid-vrecybdq]{color:var(--accent-text)}.related-guides[data-astro-cid-vrecybdq] a[data-astro-cid-vrecybdq]>span[data-astro-cid-vrecybdq]{color:var(--accent-text);font-size:22px}
