:root{--polar-v-primary:#1149d7;--polar-v-text:#132436;--polar-v-link:#1149d7;--polar-v-header-bg:#09121b;--polar-v-footer-bg:#09121b;--polar-v-footer-text:#e4ecf3;--polar-v-primary-contrast:#f3fafe;--polar-v-header-text:#e4ecf3;--polar-v-surface:#f3fafe;--polar-v-accent:#d02125;--polar-v-bg:#e8f2fa;--polar-v-heading:#031229;--polar-v-primary-hover:#195eea;--polar-v-border:#c7d8e7;--polar-v-link-hover:#195eea;--polar-radius:10px;--polar-lh:1.6;--polar-container:1320px;--polar-fs-base:16px;--polar-font-body:'Public Sans',system-ui,-apple-system,sans-serif;--polar-font-heading:'Archivo',system-ui,-apple-system,sans-serif}html{box-sizing:border-box;-webkit-text-size-adjust:100%}*,*::before,*::after{box-sizing:inherit}body.polar-frame{margin:0;background:url("data:image/svg+xml;utf8,<svgxmlns='http://www.w3.org/2000/svg'width='160'height='160'><filterid='n'><feTurbulencetype='fractalNoise'baseFrequency='0.85'numOctaves='2'stitchTiles='stitch'/><feColorMatrixvalues='0000000000000000000.120'/></filter><rectwidth='100%25'height='100%25'filter='url(%23n)'/></svg>"),var(--polar-v-bg) !important;color:var(--polar-v-text);font-family:var(--polar-font-body);font-size:var(--polar-fs-base);line-height:var(--polar-lh);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body.polar-frame img{max-width:100%;height:auto}body.polar-frame a{color:var(--polar-v-link);text-decoration:underline;text-underline-offset:.15em;transition:color .15s ease}body.polar-frame a:hover,body.polar-frame a:focus{color:var(--polar-v-link-hover)}body.polar-frame :focus-visible{outline:2px solid var(--polar-v-primary);outline-offset:2px}body.polar-frame #page,body.polar-frame .site-content,body.polar-frame .ast-container,body.polar-frame #primary,body.polar-frame .content-area,body.polar-frame .entry-content{max-width:none;padding:0;margin:0;background:transparent !important;box-shadow:none}body.polar-frame #ast-scroll-top,body.polar-frame .ast-scroll-top-icon{display:none}body.polar-frame button.polar-nav-toggle,body.polar-frame button.polar-to-summit,body.polar-frame button.polar-btn{box-shadow:none;text-shadow:none;-webkit-appearance:none;appearance:none}body.polar-frame .polar-constraint{width:100%;max-width:var(--polar-container);margin:0 auto;padding:0 1.25rem}body.polar-frame .polar-skip-to-main{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}body.polar-frame .polar-skip-to-main:focus{left:1rem;top:1rem;width:auto;height:auto;padding:.5rem 1rem;background:var(--polar-v-primary);color:var(--polar-v-primary-contrast);z-index:9999}body.polar-frame .polar-author-bio-title+.polar-author-bio{margin-top:14px}body.polar-frame .polar-author-bio{margin:32px 0 0;padding:22px 24px;background:var(--polar-v-surface);border:1px solid var(--polar-v-border);border-radius:14px;color:var(--polar-v-text)}body.polar-frame .polar-author-bio-head{display:flex;align-items:center;gap:14px;margin-bottom:14px}body.polar-frame .polar-author-bio-avatar{width:64px;height:64px;border-radius:50%;background-size:cover;background-position:center;background-color:var(--polar-v-bg);flex:0 0 64px}body.polar-frame .polar-author-bio-meta{display:flex;flex-direction:column;gap:2px;min-width:0}body.polar-frame .polar-author-bio-name{font-size:1.125rem;font-weight:700;color:var(--polar-v-heading);line-height:1.25}body.polar-frame .polar-author-bio-role{font-size:.875rem;color:var(--polar-v-primary);line-height:1.3}body.polar-frame .polar-author-bio-bio{font-size:.95rem;line-height:1.6;color:var(--polar-v-text)}body.polar-frame .polar-author-bio-bio p{margin:0 0 .6em}body.polar-frame .polar-author-bio-bio p:last-child{margin-bottom:0}body.polar-frame .polar-author-bio-links{display:flex;align-items:center;gap:10px;margin-top:14px}body.polar-frame .polar-author-bio-link{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--polar-v-bg);color:var(--polar-v-text);text-decoration:none;transition:background .15s ease,color .15s ease}body.polar-frame .polar-author-bio-link:hover,body.polar-frame .polar-author-bio-link:focus{background:var(--polar-v-primary);color:var(--polar-v-primary-contrast)}body.polar-frame .polar-byline-pack{display:flex;flex-direction:column;align-items:center;gap:8px;margin:14px 0 6px;text-align:center}body.polar-frame .polar-byline-pack-avatar{width:64px;height:64px;border-radius:50%;background-size:cover;background-position:center;background-color:var(--polar-v-surface);border:1px solid var(--polar-v-border);flex:0 0 64px}body.polar-frame .polar-byline-pack-name{font-size:1rem;font-weight:600;color:var(--polar-v-text);line-height:1.3}body.polar-frame .polar-error-404{padding:4rem 0;text-align:center}body.polar-frame .polar-error-inner{max-width:600px}body.polar-frame .polar-error-code{font-family:var(--polar-font-heading);font-size:clamp(5rem,4rem+8vw,9rem);font-weight:800;line-height:1;color:var(--polar-v-primary);margin-bottom:1rem;letter-spacing:-.04em}body.polar-frame .polar-error-title{font-family:var(--polar-font-heading);font-size:1.75rem;margin:0 0 .75rem;color:var(--polar-v-heading)}body.polar-frame .polar-error-text{color:#506176;margin:0 0 2rem}body.polar-frame .polar-lead-footer{background:var(--polar-v-footer-bg);color:var(--polar-v-footer-text);padding:2.5rem 0 2rem;margin-top:0;border-top:1px solid var(--polar-v-border)}body.polar-frame .polar-foot-frame{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:1.5rem;text-align:center}body.polar-frame .polar-ftr-stripe{font-size:.9rem;color:var(--polar-v-footer-text);text-align:center}body.polar-frame .polar-ftr-stripe a{color:var(--polar-v-footer-text)}body.polar-frame button.polar-to-summit{position:fixed;right:1.25rem;bottom:1.25rem;width:44px;height:44px;min-width:0;padding:0;margin:0;border:0;border-radius:var(--polar-radius);background:var(--polar-v-primary);color:var(--polar-v-primary-contrast);box-shadow:0 6px 24px rgba(0,0,0,.18);display:none;align-items:center;justify-content:center;cursor:pointer;line-height:0;z-index:50;transition:transform .2s ease,background .2s ease}body.polar-frame button.polar-to-summit.is-visible{display:inline-flex}body.polar-frame button.polar-to-summit:hover{background:var(--polar-v-primary-hover);transform:translateY(-2px)}body.polar-frame button.polar-to-summit svg{width:20px;height:20px;color:var(--polar-v-primary-contrast)}body.polar-frame .polar-primary-header{background:var(--polar-v-header-bg);color:var(--polar-v-header-text);border-bottom:1px solid var(--polar-v-border)}body.polar-frame .polar-primary-header.is-sticky{position:sticky;top:0;z-index:100;backdrop-filter:blur(8px)}body.polar-frame .polar-header-deck{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:.86rem 0}@media(min-width:901px){body.polar-frame .polar-h-v4 .polar-header-deck{flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:.9rem}body.polar-frame .polar-h-v4 .polar-top-nav .polar-lineup{justify-content:center}body.polar-frame .polar-h-v4 .polar-h-divider{display:block;height:1px;background:var(--polar-v-border);width:clamp(140px,30%,320px);opacity:.8}}@media(max-width:900px){body.polar-frame .polar-primary-header{position:relative}body.polar-frame .polar-header-deck{flex-direction:row !important;align-items:center !important;justify-content:space-between !important;gap:1rem}body.polar-frame .polar-nav-toggle{position:absolute;right:1.25rem;top:50%;transform:translateY(-50%)}body.polar-frame .polar-h-v5 .polar-h-band--bottom{display:none}body.polar-frame .polar-h-v6 .polar-h-nav-left,body.polar-frame .polar-h-v6 .polar-h-nav-right{display:none}body.polar-frame .polar-h-v6 .polar-header-deck{display:flex !important}body.polar-frame .polar-h-v4 .polar-h-divider{display:none}body.polar-frame .polar-h-v7 .polar-h-v7-label{display:none}}body.polar-frame .polar-mark .custom-logo-link{display:inline-block;max-width:100%}body.polar-frame .polar-mark .custom-logo{max-height:48px;width:auto;height:auto;max-width:100%}body.polar-frame .polar-brand-title{font-family:var(--polar-font-heading);font-size:1.25rem;font-weight:700;color:var(--polar-v-header-text);text-decoration:none;letter-spacing:-.01em}body.polar-frame .polar-brand-title:hover{color:var(--polar-v-primary)}body.polar-frame .polar-main-zone{min-height:60vh;padding:2.5rem 0;color:var(--polar-v-text);background:transparent !important}body.polar-frame .polar-page-frame{padding:0}body.polar-frame .polar-main-doc{max-width:1040px;margin:0 auto;background:#f3fafe;padding:3.0rem 2.5rem;box-shadow:0 1px 3px rgba(0,0,0,0.05),0 1px 2px rgba(0,0,0,0.04)}@media(max-width:600px){body.polar-frame .polar-main-doc{padding-left:1.1rem;padding-right:1.1rem}}body.polar-frame .polar-doc-banner{margin-bottom:2rem}body.polar-frame .polar-primary-heading{font-family:var(--polar-font-heading);font-size:clamp(1.75rem,1rem+2.5vw,2.75rem);line-height:1.15;color:var(--polar-v-heading);margin:0 0 .5rem;letter-spacing:-.02em;text-align:left}body.polar-frame .polar-article-content{color:var(--polar-v-text)}body.polar-frame .polar-article-content h1,body.polar-frame .polar-article-content h2,body.polar-frame .polar-article-content h3,body.polar-frame .polar-article-content h4,body.polar-frame .polar-article-content h5,body.polar-frame .polar-article-content h6{font-family:var(--polar-font-heading);color:var(--polar-v-heading);line-height:1.25;margin:2.5rem 0 1rem;letter-spacing:-.01em}body.polar-frame .polar-article-content h1,body.polar-frame .polar-article-content h2{text-align:left}body.polar-frame .polar-article-content h3,body.polar-frame .polar-article-content h4,body.polar-frame .polar-article-content h5,body.polar-frame .polar-article-content h6{text-align:left}body.polar-frame .polar-article-content h2{font-size:1.875rem}body.polar-frame .polar-article-content h3{font-size:1.375rem}body.polar-frame .polar-article-content h4{font-size:1.125rem}body.polar-frame .polar-article-content p{margin:0 0 1.25rem;text-align:left}body.polar-frame .polar-article-content ul,body.polar-frame .polar-article-content ol{margin:0 0 1.5rem;padding-left:1.5rem}body.polar-frame .polar-article-content li{margin-bottom:.5rem}body.polar-frame .polar-article-content strong{color:var(--polar-v-heading)}body.polar-frame .polar-article-content blockquote{margin:2rem 0;padding:1.25rem 1.5rem;border-left:3px solid var(--polar-v-primary);background:var(--polar-v-surface,#f3fafe);color:#506176;font-style:italic;border-radius:0 var(--polar-radius) var(--polar-radius) 0}body.polar-frame .polar-article-content img{border-radius:10px;margin:.5rem auto;display:block;max-width:100%;height:auto}body.polar-frame .polar-article-content p:has(>img:only-child){margin:0}body.polar-frame .polar-article-content table{width:100%;border-collapse:collapse;margin:2rem 0;background:var(--polar-v-surface,#f3fafe);color:var(--polar-v-text);border-radius:var(--polar-radius);overflow:hidden;border-top:1px solid var(--polar-v-border);border-right:1px solid var(--polar-v-border);border-bottom:1px solid var(--polar-v-border);border-left:1px solid var(--polar-v-border)}body.polar-frame .polar-article-content table th,body.polar-frame .polar-article-content table td{padding:.9rem 1rem;text-align:left;color:var(--polar-v-text);background:transparent;border-top:0;border-right:0;border-left:0;border-bottom:1px solid var(--polar-v-border)}body.polar-frame .polar-article-content table th{background:var(--polar-v-surface);color:var(--polar-v-heading);font-family:var(--polar-font-heading);font-weight:700}body.polar-frame .polar-article-content table tr:last-child td{border-bottom:0}body.polar-frame .polar-table-scroll{width:100%;margin:2rem 0;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--polar-radius)}body.polar-frame .polar-table-scroll>table{margin:0;border-radius:0}@media(max-width:700px){body.polar-frame .polar-table-scroll>table{min-width:560px}body.polar-frame .polar-table-scroll{background:linear-gradient(to right,var(--polar-v-surface,#f3fafe) 30%,transparent),linear-gradient(to right,transparent,var(--polar-v-surface,#f3fafe) 70%) 100% 0,radial-gradient(farthest-side at 0 50%,rgba(0,0,0,.15),transparent),radial-gradient(farthest-side at 100% 50%,rgba(0,0,0,.15),transparent) 100% 0;background-repeat:no-repeat;background-size:40px 100%,40px 100%,14px 100%,14px 100%;background-attachment:local,local,scroll,scroll}}body.polar-frame .polar-article-content details{background:var(--polar-v-surface,#f3fafe);border:1px solid var(--polar-v-border);border-radius:var(--polar-radius);margin-bottom:.75rem;overflow:hidden}body.polar-frame .polar-article-content details>summary{cursor:pointer;padding:1rem 1.25rem;font-family:var(--polar-font-heading);font-weight:600;color:var(--polar-v-heading);list-style:none;position:relative;padding-right:2.5rem}body.polar-frame .polar-article-content details>summary::-webkit-details-marker{display:none}body.polar-frame .polar-article-content details>summary::after{content:'+';position:absolute;right:1.25rem;top:50%;transform:translateY(-50%);font-size:1.25rem;color:var(--polar-v-primary);transition:transform .15s ease}body.polar-frame .polar-article-content details[open]>summary::after{content:'−'}body.polar-frame .polar-article-content details>*:not(summary){padding:0 1.25rem 1.25rem}body.polar-frame .polar-btn,body.polar-frame button.polar-btn,body.polar-frame a.polar-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.8rem 1.5rem;border-radius:var(--polar-radius);text-decoration:none;font-weight:600;border:0;cursor:pointer;background:transparent;color:inherit;transition:background .15s ease,transform .1s ease}body.polar-frame .polar-btn--primary,body.polar-frame button.polar-btn--primary,body.polar-frame a.polar-btn--primary{background:var(--polar-v-primary);color:var(--polar-v-primary-contrast)}body.polar-frame .polar-btn--primary:hover,body.polar-frame button.polar-btn--primary:hover,body.polar-frame a.polar-btn--primary:hover{background:var(--polar-v-primary-hover);color:var(--polar-v-primary-contrast);transform:translateY(-1px)}body.polar-frame .polar-top-nav .polar-lineup{list-style:none;margin:0;padding:0;display:flex;gap:.5rem;align-items:center}body.polar-frame .polar-top-nav .polar-lineup a{color:var(--polar-v-header-text);text-decoration:none;font-size:.95rem;transition:color .15s ease,background-color .2s ease,border-color .15s ease}body.polar-frame .polar-top-nav .polar-lineup a{font-weight:500;padding:.35rem .8rem;border:1px solid var(--polar-v-border);border-radius:var(--polar-radius)}body.polar-frame .polar-top-nav .polar-lineup a:hover,body.polar-frame .polar-top-nav .polar-lineup .current-menu-item>a{background:var(--polar-v-primary);color:var(--polar-v-primary-contrast);border-color:var(--polar-v-primary)}body.polar-frame .polar-nav-toggle{display:none;background:transparent;border:1px solid var(--polar-v-border);color:var(--polar-v-header-text);padding:0;width:44px;height:44px;border-radius:var(--polar-radius);cursor:pointer;align-items:center;justify-content:center}body.polar-frame .polar-nav-toggle__icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;line-height:0}body.polar-frame .polar-nav-toggle__icon svg{display:block;width:100%;height:100%}body.polar-frame .polar-nav-toggle__icon--close{display:none}body.polar-frame .polar-nav-toggle[aria-expanded="true"] .polar-nav-toggle__icon--open{display:none}body.polar-frame .polar-nav-toggle[aria-expanded="true"] .polar-nav-toggle__icon--close{display:inline-flex}@media(max-width:900px){body.polar-frame .polar-nav-toggle{display:inline-flex}body.polar-frame .polar-top-nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--polar-v-header-bg);border-top:1px solid var(--polar-v-border);padding:1rem 1.25rem}body.polar-frame .polar-primary-header{position:relative}body.polar-frame .polar-top-nav.is-open{display:block}body.polar-frame .polar-top-nav .polar-lineup{flex-direction:column;align-items:flex-start;gap:.25rem}body.polar-frame .polar-top-nav .polar-lineup li::before,body.polar-frame .polar-top-nav .polar-lineup li::after,body.polar-frame .polar-top-nav .polar-lineup a::after{content:none !important;display:none !important;background:none !important}body.polar-frame .polar-top-nav .polar-lineup a{display:flex !important;align-items:center;gap:.75rem;padding:.65rem 0 !important;background:transparent !important;border:0 !important;border-radius:0 !important;text-transform:none !important;font-variant:normal !important;font-style:normal !important;letter-spacing:0 !important;font-weight:500 !important;font-size:1rem !important;line-height:1.4 !important;text-shadow:none !important;color:var(--polar-v-header-text)}body.polar-frame .polar-top-nav .polar-lineup a:hover,body.polar-frame .polar-top-nav .polar-lineup .current-menu-item>a{color:var(--polar-v-primary) !important;background:transparent !important}body.polar-frame .polar-top-nav .polar-lineup a::before{content:'▸' !important;flex:0 0 auto;display:inline-flex !important;align-items:center;justify-content:center;min-width:1em;line-height:1;color:var(--polar-v-primary);font-weight:600;opacity:.85;background:none !important;position:static !important;transform:none !important}body.polar-frame .polar-mark .custom-logo{max-height:36px;max-width:calc(100vw - 120px)}body.polar-frame .polar-brand-title{font-size:1.05rem}}body.polar-frame .polar-doc-banner{margin-bottom:32px !important}body.polar-frame .polar-doc-banner>*{margin:0 !important}body.polar-frame .polar-doc-banner>*+*{margin-top:12px !important}body.polar-frame .polar-doc-banner>h1+*{margin-top:32px !important}body.polar-frame .polar-byline-pack{gap:12px !important}body.polar-frame .polar-stamp-pill-wrap{text-align:center !important}body.polar-frame .polar-article-content{padding-top:0 !important;margin-top:0 !important}body.polar-frame .polar-article-content>*:first-child,body.polar-frame .polar-article-content>*:first-child>*:first-child,body.polar-frame .polar-article-content>*:first-child>*:first-child>*:first-child{margin-top:0 !important;padding-top:0 !important}body.polar-frame .polar-stamp-pill{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:999px;background:var(--polar-v-surface);color:var(--polar-v-text);font-size:.875rem;line-height:1.2;border:1px solid var(--polar-v-border);vertical-align:middle}body.polar-frame .polar-stamp-pill-icon{flex:0 0 16px;width:16px;height:16px;color:var(--polar-v-primary)}body.polar-frame .polar-stamp-pill-label{font-weight:600}body.polar-frame .polar-stamp-pill-date{font-weight:400}