:root{--ifm-color-primary:#2e8555;--ifm-color-primary-dark:#29784c;--ifm-color-primary-darker:#277148;--ifm-color-primary-darkest:#205d3b;--ifm-color-primary-light:#33925d;--ifm-color-primary-lighter:#359962;--ifm-color-primary-lightest:#3cad6e;--ifm-background-color:#ffffff;--ifm-background-surface-color:#ffffff;--ifm-font-color-base:#1c1e21;--ifm-color-emphasis-100:#f5f6f7;--ifm-color-emphasis-200:#ebedf0;--ifm-color-emphasis-300:#dadde1;--ifm-color-emphasis-700:#606770;--ifm-color-emphasis-800:#444950;--ifm-color-emphasis-900:#1c1e21;--ifm-code-font-size:95%;--edu-text-zoom-factor:1;--edu-navbar-height:60px;--edu-doc-main-padding-y:1.5rem;--edu-doc-main-padding-x:2rem;--edu-panel-header-padding-y:0.25rem;--edu-panel-header-control-size:1.5rem;--edu-cdh-height:calc(var(--edu-panel-header-padding-y) * 2 + var(--edu-panel-header-control-size) + 1px)}[data-theme=dark]{--ifm-color-primary:#25c2a0;--ifm-background-color:#1b1b1d;--ifm-background-surface-color:#242526;--ifm-font-color-base:#e3e3e3;--ifm-color-emphasis-100:#2a2a2e;--ifm-color-emphasis-200:#3a3a3f;--ifm-color-emphasis-700:#b0b3b8;--ifm-color-emphasis-800:#d0d2d6;--ifm-color-emphasis-900:#e3e3e3}*{box-sizing:border-box}body,html{margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;background:var(--ifm-background-color);color:var(--ifm-font-color-base);line-height:1.6}a{color:var(--ifm-color-primary)}.container{max-width:1140px;margin:0 auto;padding:0 1rem}.button{display:inline-block;padding:.5rem 1rem;border-radius:4px;border:1px solid transparent;font-weight:600;text-decoration:none;cursor:pointer;font-size:.9rem}.button--primary{background:var(--ifm-color-primary);color:#fff}.button--secondary{background:var(--ifm-color-emphasis-200);color:var(--ifm-font-color-base)}.button--outline{background:transparent;border-color:var(--ifm-color-primary);color:var(--ifm-color-primary)}.button--sm{padding:.35rem .75rem;font-size:.85rem}.button--block{display:block;width:100%;text-align:center}.card{border:1px solid var(--ifm-color-emphasis-200);border-radius:8px;background:var(--ifm-background-surface-color)}.alert,.card__body,.card__footer,.card__header{padding:1rem}.alert{border-radius:8px;margin:1rem 0}.alert--danger{background:#ffebee;color:#c62828}.alert--warning{background:#fff8e1;color:#f57f17}.margin-vert--lg{margin-top:2rem;margin-bottom:2rem}.margin-vert--md{margin-top:1rem;margin-bottom:1rem}.margin-bottom--lg{margin-bottom:2rem}.margin-bottom--none{margin-bottom:0}html[data-edu-text-zoom]{font-size:calc(100% * var(--edu-text-zoom-factor, 1))}.doc-layout{display:grid;grid-template-columns:280px minmax(0,1fr) min(240px,22vw);width:100%;min-height:calc(100vh - 60px);overflow:visible;transition:grid-template-columns .2s ease}.doc-layout>aside.doc-toc-toc{position:-webkit-sticky;position:sticky;top:60px;align-self:start;max-height:calc(100vh - 60px);min-height:0;overscroll-behavior:contain;border-right:1px solid var(--ifm-color-emphasis-200);display:flex;flex-direction:column;overflow:hidden;transition:width .2s ease}.doc-layout--toc-collapsed{grid-template-columns:2.5rem minmax(0,1fr) min(240px,22vw)}.doc-layout--no-cdo{grid-template-columns:280px minmax(0,1fr)}.doc-layout--toc-collapsed.doc-layout--no-cdo{grid-template-columns:2.5rem minmax(0,1fr)}.doc-layout--cdo-collapsed{grid-template-columns:280px minmax(0,1fr) 2.5rem}.doc-layout--toc-collapsed.doc-layout--cdo-collapsed{grid-template-columns:2.5rem minmax(0,1fr) 2.5rem}.doc-layout>aside.doc-heading-outline{position:-webkit-sticky;position:sticky;top:60px;align-self:start;max-height:calc(100vh - 60px);min-height:0;overscroll-behavior:contain;border-left:1px solid var(--ifm-color-emphasis-200);display:flex;flex-direction:column;overflow:hidden;transition:width .2s ease}.doc-heading-outline--desktop-collapsed .cdo-panel-body{opacity:0;visibility:hidden;pointer-events:none}.doc-heading-outline--desktop-collapsed .cdo-panel-header{border-bottom:none}.cdo-panel-header{display:flex;align-items:center;justify-content:center;flex-shrink:0;box-sizing:border-box;height:var(--edu-cdh-height);min-height:var(--edu-cdh-height);padding:var(--edu-panel-header-padding-y) 0;border-bottom:1px solid var(--ifm-color-emphasis-200)}.cdo-panel-body{flex:1 1;min-height:0;overflow-y:auto}.cdo-drawer-backdrop{display:none}.doc-toc-toc--desktop-collapsed .toc-panel-body{opacity:0;visibility:hidden;pointer-events:none}.doc-toc-toc--desktop-collapsed .toc-panel-header{border-bottom:none}.toc-panel-header{display:flex;box-sizing:border-box;height:var(--edu-cdh-height);min-height:var(--edu-cdh-height);padding:var(--edu-panel-header-padding-y) 0;border-bottom:1px solid var(--ifm-color-emphasis-200)}.toc-panel-header,.toc-panel-toggle{align-items:center;justify-content:center;flex-shrink:0}.toc-panel-toggle{display:inline-flex;width:1.5rem;height:1.5rem;padding:0;border:none;border-radius:4px;background:transparent;cursor:pointer;color:var(--ifm-font-color-base)}.toc-panel-toggle:hover{background:var(--ifm-color-emphasis-100)}.toc-panel-toggle-icon{display:block;width:.35rem;height:.35rem;border-right:2px solid;border-bottom:2px solid;transform:rotate(-45deg);margin-left:-.1rem}.toc-panel-toggle-icon--expanded{transform:rotate(135deg);margin-left:.15rem}.toc-panel-body{flex:1 1;min-height:0;overflow-y:auto}.toc-drawer-backdrop{display:none}.doc-toc{padding:1rem;font-size:.875rem}.doc-main{padding:var(--edu-doc-main-padding-y) var(--edu-doc-main-padding-x);min-width:0;width:100%;max-width:none;overflow-y:visible}.doc-markdown h1,.doc-markdown h2,.doc-markdown h3{margin-top:1.5rem}.doc-markdown h2,.doc-markdown h3{scroll-margin-top:calc(var(--edu-navbar-height) + var(--edu-cdh-height) + .5rem)}.doc-markdown h4,.doc-markdown h5,.doc-markdown h6{margin-top:1.25rem}.doc-markdown p{margin:.75rem 0}.doc-markdown ol,.doc-markdown ul{margin:.75rem 0;padding-left:1.5rem}.doc-markdown li{margin:.25rem 0}.doc-markdown .mdx-inline-code,.doc-markdown :not(pre)>code{padding:.15rem .35rem;border-radius:4px;font-size:var(--ifm-code-font-size);background:var(--ifm-color-emphasis-100);border:1px solid var(--ifm-color-emphasis-200);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.doc-markdown blockquote{margin:1rem 0;padding:.5rem 1rem;border-left:4px solid var(--ifm-color-primary);background:var(--ifm-color-emphasis-100);color:var(--ifm-color-emphasis-800)}.doc-markdown blockquote p{margin:.35rem 0}.doc-markdown hr{margin:1.5rem 0;border:none;border-top:1px solid var(--ifm-color-emphasis-200)}.doc-markdown img{max-width:100%;height:auto;border-radius:4px}.doc-markdown-table-wrap{overflow-x:auto;margin:1rem 0;-webkit-overflow-scrolling:touch}.doc-markdown table{width:100%;border-collapse:collapse;font-size:.9rem}.doc-markdown td,.doc-markdown th{padding:.5rem .75rem;border:1px solid var(--ifm-color-emphasis-200);text-align:left;vertical-align:top}.doc-markdown th{background:var(--ifm-color-emphasis-100);font-weight:600}.doc-markdown tr:nth-child(2n) td{background:color-mix(in srgb,var(--ifm-color-emphasis-100) 50%,transparent)}.doc-markdown a{word-break:break-word}.doc-heading-outline{padding:0;overflow:hidden;overscroll-behavior:contain;font-size:.8125rem}.doc-heading-outline .cdo-panel-body{padding:1rem 1rem 1rem 0}.doc-heading-outline__list{list-style:none;margin:0;padding:0}.doc-heading-outline__item{margin:.2rem 0}.doc-heading-outline__item--h3{padding-left:.75rem}.doc-heading-outline__item a{display:block;padding:.25rem .5rem;border-left:2px solid transparent;border-radius:0 4px 4px 0;text-decoration:none;color:var(--ifm-color-emphasis-800);line-height:1.35}.doc-heading-outline__item a:hover{color:var(--ifm-color-primary);border-left-color:var(--ifm-color-primary);background:var(--ifm-color-emphasis-100)}.toc-menu ul{list-style:none;padding-left:0;margin:0}.toc-menu li{margin:.25rem 0}.toc-menu li.toc-link--with-mp{display:flex;align-items:center}.toc-menu li.toc-link--with-mp a{flex:1 1;min-width:0}.toc-menu a{display:block;padding:.35rem .5rem;border-radius:4px;text-decoration:none;color:var(--ifm-font-color-base)}.toc-menu a.active,.toc-menu a:hover{background:var(--ifm-color-emphasis-100);color:var(--ifm-color-primary)}.toc-course-links{border-bottom:1px solid var(--ifm-color-emphasis-200);margin-bottom:.5rem;padding-bottom:.25rem}.toc-mp-button{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:1.75rem;height:1.75rem;border-radius:4px;color:var(--ifm-color-emphasis-700);text-decoration:none;transition:color .15s,background .15s}.toc-mp-button:hover{color:var(--ifm-color-primary);background:var(--ifm-color-emphasis-100)}.toc-category>summary{cursor:pointer;font-weight:600;padding:.35rem .5rem}.toc-category ul{padding-left:.75rem}@media (max-width:996px){.doc-layout{height:auto;min-height:0;overflow:visible}.doc-layout,.doc-layout--cdo-collapsed,.doc-layout--no-cdo,.doc-layout--toc-collapsed,.doc-layout--toc-collapsed.doc-layout--cdo-collapsed,.doc-layout--toc-collapsed.doc-layout--no-cdo{grid-template-columns:minmax(0,1fr)}.doc-main{overflow-y:visible;min-height:auto;overscroll-behavior:auto}.cdo-panel-header,.toc-panel-header{display:none}.doc-layout>aside.doc-toc-toc{position:fixed;top:0;left:0;z-index:200;width:min(280px,85vw);height:100vh;height:100dvh;background:var(--ifm-background-surface-color);border-right:1px solid var(--ifm-color-emphasis-200);box-shadow:4px 0 24px rgba(0,0,0,.12);transform:translateX(-100%);transition:transform .2s ease;visibility:hidden;pointer-events:none;border-bottom:none;max-height:none;display:flex;flex-direction:column}.doc-layout>aside.doc-toc-toc.doc-toc-toc--open{transform:translateX(0);visibility:visible;pointer-events:auto}.doc-toc-toc--desktop-collapsed .toc-panel-body{opacity:1;visibility:visible;pointer-events:auto}.toc-drawer-backdrop{display:block;position:fixed;inset:0;z-index:199;border:none;padding:0;margin:0;background:rgba(0,0,0,.4);cursor:pointer}.doc-layout>aside.doc-heading-outline{position:fixed;top:0;right:0;z-index:200;width:min(240px,85vw);height:100vh;height:100dvh;max-height:none;padding:1rem;background:var(--ifm-background-surface-color);border-left:1px solid var(--ifm-color-emphasis-200);box-shadow:-4px 0 24px rgba(0,0,0,.12);transform:translateX(100%);transition:transform .2s ease;visibility:hidden;pointer-events:none;align-self:auto;overflow:visible;display:none}.doc-layout>aside.doc-heading-outline.doc-heading-outline--open{display:flex;flex-direction:column;transform:translateX(0);visibility:visible;pointer-events:auto}.doc-heading-outline--desktop-collapsed .cdo-panel-body{opacity:1;visibility:visible;pointer-events:auto}.cdo-drawer-backdrop{display:block;position:fixed;inset:0;z-index:199;border:none;padding:0;margin:0;background:rgba(0,0,0,.4);cursor:pointer}}.DocTextZoomControls_zoomControls___crNR{display:inline-flex;align-items:center;gap:.35rem}.DocTextZoomControls_zoomButton__sGDJg{width:32px;height:32px;padding:0;background:var(--ifm-color-emphasis-200);border:1px solid var(--ifm-color-emphasis-300);border-radius:6px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:var(--ifm-color-emphasis-800);font-size:1.1rem;line-height:1;transition:background .2s ease,color .2s ease,border-color .2s ease}.DocTextZoomControls_zoomButton__sGDJg:hover:not(:disabled){background:var(--ifm-color-emphasis-300)}.DocTextZoomControls_zoomButton__sGDJg:disabled{opacity:.45;cursor:not-allowed}.DocTextZoomControls_zoomLabel__w9RoG{min-width:3.25rem;text-align:center;font-size:.85rem;font-weight:600;color:var(--ifm-color-emphasis-800);-webkit-user-select:none;-moz-user-select:none;user-select:none}.Navbar_navbar__GrSXC{border-bottom:1px solid var(--ifm-color-emphasis-200);background:var(--ifm-background-surface-color);position:-webkit-sticky;position:sticky;top:0;z-index:100}.Navbar_inner__Cumf_{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:none;min-height:60px;gap:.75rem;padding-block:0;padding-inline:max(.75rem,env(safe-area-inset-left)) max(.75rem,env(safe-area-inset-right))}.Navbar_brandRow___QDuD{display:flex;align-items:center;gap:.75rem;min-width:0}.Navbar_brand__JWn4W{font-weight:700;font-size:1.1rem;text-decoration:none;color:var(--ifm-font-color-base);white-space:nowrap}.Navbar_devModeBadge__w5eoG{white-space:nowrap}.Navbar_devModeBadge__w5eoG,.Navbar_devModeSelect__Iz6jR{font-size:.75rem;font-weight:500;color:var(--ifm-color-emphasis-700);background:var(--ifm-color-emphasis-100);border:1px solid var(--ifm-color-emphasis-300);border-radius:4px;padding:.15rem .5rem}.Navbar_devModeSelect__Iz6jR{max-width:11rem;cursor:pointer}.Navbar_links__puXTb{display:flex;align-items:center;gap:1rem;flex-shrink:0;margin-left:auto}.Navbar_appMenuNav__8JkAQ a{text-decoration:none;color:var(--ifm-font-color-base);font-weight:500}.Navbar_appMenuNav__8JkAQ a.Navbar_active__qyFWv,.Navbar_appMenuNav__8JkAQ a:hover{color:var(--ifm-color-primary)}.Navbar_bookmarksNavBtn__5ZalP{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:6px;color:var(--ifm-font-color-base);text-decoration:none;border:1px solid var(--ifm-color-emphasis-300)}.Navbar_bookmarksNavBtn__5ZalP:hover{color:var(--ifm-color-primary);border-color:var(--ifm-color-primary)}.Navbar_logoutBtn__m_cig{background:none;padding:.35rem .75rem;color:var(--ifm-font-color-base);white-space:nowrap}.Navbar_appMenuToggle__gjWuN,.Navbar_logoutBtn__m_cig{border:1px solid var(--ifm-color-emphasis-300);border-radius:4px;cursor:pointer}.Navbar_appMenuToggle__gjWuN{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;background:var(--ifm-background-surface-color);flex-shrink:0}.Navbar_appMenuToggleIcon__nkEXf{display:block;width:1rem;height:2px;background:var(--ifm-font-color-base);box-shadow:0 -5px 0 var(--ifm-font-color-base),0 5px 0 var(--ifm-font-color-base)}.Navbar_appMenuBackdrop__FQ1QE{position:fixed;inset:0;z-index:199;border:none;padding:0;margin:0;background:rgba(0,0,0,.4);cursor:pointer}.Navbar_appMenuDrawer__mWZ0o{display:flex;position:fixed;top:0;left:0;z-index:200;width:min(280px,85vw);height:100vh;height:100dvh;background:var(--ifm-background-surface-color);border-right:1px solid var(--ifm-color-emphasis-200);box-shadow:4px 0 24px rgba(0,0,0,.12);transform:translateX(-100%);transition:transform .2s ease;flex-direction:column;pointer-events:none;visibility:hidden}.Navbar_appMenuDrawerOpen__3vy1w{transform:translateX(0);pointer-events:auto;visibility:visible}.Navbar_appMenuHeader__M2Ndz{display:flex;align-items:flex-start;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--ifm-color-emphasis-200);gap:.5rem}.Navbar_appMenuHeaderMain__cpYu7{display:flex;flex:1 1;flex-direction:column;align-items:flex-start;gap:.75rem;min-width:0}.Navbar_appMenuHeaderBrand__ZOXv4{font-weight:700;font-size:1.1rem;text-decoration:none;color:var(--ifm-font-color-base);white-space:nowrap}.Navbar_appMenuHeaderBrand__ZOXv4:hover{color:var(--ifm-color-primary)}.Navbar_appMenuClose__MV_en{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:none;border-radius:4px;background:transparent;font-size:1.5rem;line-height:1;cursor:pointer;color:var(--ifm-font-color-base);flex-shrink:0}.Navbar_appMenuNav__8JkAQ{display:flex;flex:1 1;flex-direction:column;gap:.25rem;padding:.75rem 1rem 1rem;overflow-y:auto;min-height:0}.Navbar_appMenuNav__8JkAQ a{display:block;padding:.65rem .5rem;border-radius:4px;text-align:left}.Navbar_tocToggle__fM0sO{display:none;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;border:1px solid var(--ifm-color-emphasis-300);border-radius:4px;background:var(--ifm-background-surface-color);cursor:pointer;flex-shrink:0}.Navbar_tocToggleIcon__CNS9M{display:block;width:.875rem;height:.875rem;border-left:2px solid var(--ifm-font-color-base);background:linear-gradient(var(--ifm-font-color-base),var(--ifm-font-color-base)) 0 0 /.5rem 2px no-repeat,linear-gradient(var(--ifm-font-color-base),var(--ifm-font-color-base)) 0 .375rem /.75rem 2px no-repeat,linear-gradient(var(--ifm-font-color-base),var(--ifm-font-color-base)) 0 .75rem /.625rem 2px no-repeat}.Navbar_tocToggleAlwaysVisible__IY5gb{display:inline-flex}@media (max-width:996px){.Navbar_tocToggleVisible__TmLg3{display:inline-flex}}@media (max-width:767px){.Navbar_brand__JWn4W{display:none}.Navbar_brandRow___QDuD{min-width:0}}