/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-divide-y-reverse:0;--tw-border-style:solid}}}@layer theme{:root,:host{--spacing:.25rem;--container-md:28rem;--container-3xl:48rem;--container-6xl:72rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--default-font-family:"Be Vietnam Pro", "Be Vietnam Pro Fallback", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--default-mono-font-family:var(--font-mono-stack)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components{.type-display-s{letter-spacing:0;font-size:clamp(2rem,1.4rem + 2.2vw,2.25rem);font-weight:400;line-height:1.22}.type-headline-l{letter-spacing:0;font-size:clamp(1.75rem,1.4rem + 1.4vw,2rem);font-weight:400;line-height:1.25}.type-headline-m{letter-spacing:0;font-size:1.75rem;font-weight:400;line-height:1.29}.type-headline-s{letter-spacing:0;font-size:1.5rem;font-weight:400;line-height:1.33}.type-title-l{letter-spacing:0;font-size:1.375rem;font-weight:400;line-height:1.27}.type-title-m{letter-spacing:.009em;font-size:1rem;font-weight:500;line-height:1.5}.type-title-s{letter-spacing:.007em;font-size:.875rem;font-weight:500;line-height:1.43}.type-body-l{letter-spacing:.031em;font-size:1rem;font-weight:400;line-height:1.5}.type-body-m{letter-spacing:.018em;font-size:.875rem;font-weight:400;line-height:1.43}.type-body-s{letter-spacing:.033em;font-size:.75rem;font-weight:400;line-height:1.33}.type-label-l{letter-spacing:.007em;font-size:.875rem;font-weight:500;line-height:1.43}.type-label-m{letter-spacing:.042em;font-size:.75rem;font-weight:500;line-height:1.33}.type-label-s{letter-spacing:.045em;font-size:.6875rem;font-weight:500;line-height:1.45}.type-display-s.type-emph,.type-headline-l.type-emph,.type-headline-m.type-emph,.type-headline-s.type-emph,.type-title-l.type-emph{font-weight:600}.type-title-m.type-emph,.type-title-s.type-emph,.type-label-l.type-emph,.type-label-m.type-emph,.type-label-s.type-emph{font-weight:700}.type-body-l.type-emph,.type-body-m.type-emph,.type-body-s.type-emph{font-weight:600}.md-state{position:relative}.md-state:before{content:"";border-radius:inherit;opacity:0;pointer-events:none;transition:opacity var(--motion-fast-effects-duration) var(--motion-fast-effects);background:currentColor;position:absolute;inset:0}.md-state:hover:before{opacity:var(--state-hover)}.md-state:focus-visible:before{opacity:var(--state-focus)}.md-state:active:before{opacity:var(--state-pressed)}.md-morph{transition:border-radius var(--motion-fast-spatial-duration) var(--motion-fast-spatial), background-color var(--motion-effects-duration) var(--motion-effects), color var(--motion-effects-duration) var(--motion-effects)}.md-morph:active{border-radius:var(--shape-m)}:where(a,button,summary,input,textarea,select,[tabindex]):focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.md-button,.md-icon-button,.md-nav-item{--md-h:2.5rem;min-height:var(--md-h);border-radius:calc(var(--md-h) / 2);cursor:pointer;justify-content:center;align-items:center;gap:.5rem;text-decoration:none;display:inline-flex}.md-button{padding-inline:1.5rem}.md-button--filled{background:var(--primary);color:var(--on-primary)}.md-button--tonal{background:var(--secondary-container);color:var(--on-secondary-container)}.md-button--outlined{border:1px solid var(--outline);color:var(--primary)}.md-icon-button{width:var(--md-h);color:var(--on-surface)}.md-toolbar{--md-h:3.5rem;border-radius:calc(var(--md-h) / 2);box-shadow:var(--elevation-2)}.md-nav-item{--md-h:2.5rem;color:var(--on-surface);padding-inline:1rem}.md-nav-item[aria-current=page]{background:var(--secondary-container);color:var(--on-secondary-container)}.md-chip{border-radius:var(--shape-s);background:var(--secondary-container);height:1.75rem;color:var(--on-secondary-container);align-items:center;padding-inline:.75rem;display:inline-flex}.md-card{border-radius:var(--shape-xl);background:var(--surface-container-low);color:var(--on-surface);transition:border-radius var(--motion-spatial-duration) var(--motion-spatial), box-shadow var(--motion-effects-duration) var(--motion-effects);position:relative}.md-card:hover{box-shadow:var(--elevation-1)}.md-card:active{border-radius:var(--shape-l)}.md-card a.md-card-link{color:inherit;outline:none}.md-card a.md-card-link:after{content:"";border-radius:inherit;position:absolute;inset:0}.md-card:has(a.md-card-link:focus-visible){outline:var(--focus-ring);outline-offset:var(--focus-offset)}.prose :where(h1):not(.not-prose *){letter-spacing:0;font-size:clamp(1.75rem,1.4rem + 1.4vw,2rem);font-weight:600;line-height:1.25}.prose :where(h2):not(.not-prose *){letter-spacing:0;font-size:1.75rem;font-weight:600;line-height:1.29}.prose :where(h3):not(.not-prose *){letter-spacing:0;font-size:1.375rem;font-weight:600;line-height:1.27}.prose :where(h4):not(.not-prose *){letter-spacing:.009em;font-size:1rem;font-weight:700;line-height:1.5}.md-toc-link{color:var(--on-surface-variant);transition:background-color var(--motion-effects-duration) var(--motion-effects)}.md-toc-link[aria-current=location]{color:var(--primary)}}@layer utilities{.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.inset-x-0{inset-inline:0}.top-0{top:0}.top-24{top:calc(var(--spacing) * 24)}.z-40{z-index:40}.order-last{order:9999}.mx-6{margin-inline:calc(var(--spacing) * 6)}.mx-auto{margin-inline:auto}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);margin-top:1.2em;margin-bottom:1.2em;font-size:1.25em;line-height:1.6}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);font-weight:500;text-decoration:underline}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:decimal}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:disc}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.25em;font-weight:600}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em;font-style:italic;font-weight:500}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:0;margin-bottom:.888889em;font-size:2.25em;font-weight:800;line-height:1.11111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:2em;margin-bottom:1em;font-size:1.5em;font-weight:700;line-height:1.33333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.6em;margin-bottom:.6em;font-size:1.25em;font-weight:600;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.5em;margin-bottom:.5em;font-weight:600;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em;display:block}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows), 0 3px 0 var(--tw-prose-kbd-shadows);padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;border-radius:.3125rem;padding-inline-start:.375em;font-family:inherit;font-size:.875em;font-weight:500}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);padding-top:.857143em;padding-inline-end:1.14286em;padding-bottom:.857143em;border-radius:.375rem;margin-top:1.71429em;margin-bottom:1.71429em;padding-inline-start:1.14286em;font-size:.875em;font-weight:400;line-height:1.71429;overflow-x:auto}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit;background-color:#0000;border-width:0;border-radius:0;padding:0}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){table-layout:auto;width:100%;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.71429}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);vertical-align:bottom;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em;font-weight:600}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);margin-top:.857143em;font-size:.875em;line-height:1.42857}.prose{--tw-prose-body:oklch(37.3% .034 259.733);--tw-prose-headings:oklch(21% .034 264.665);--tw-prose-lead:oklch(44.6% .03 256.802);--tw-prose-links:oklch(21% .034 264.665);--tw-prose-bold:oklch(21% .034 264.665);--tw-prose-counters:oklch(55.1% .027 264.364);--tw-prose-bullets:oklch(87.2% .01 258.338);--tw-prose-hr:oklch(92.8% .006 264.531);--tw-prose-quotes:oklch(21% .034 264.665);--tw-prose-quote-borders:oklch(92.8% .006 264.531);--tw-prose-captions:oklch(55.1% .027 264.364);--tw-prose-kbd:oklch(21% .034 264.665);--tw-prose-kbd-shadows:oklab(21% -.00316127 -.0338527/.1);--tw-prose-code:oklch(21% .034 264.665);--tw-prose-pre-code:oklch(92.8% .006 264.531);--tw-prose-pre-bg:oklch(27.8% .033 256.848);--tw-prose-th-borders:oklch(87.2% .01 258.338);--tw-prose-td-borders:oklch(92.8% .006 264.531);--tw-prose-invert-body:oklch(87.2% .01 258.338);--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:oklch(70.7% .022 261.325);--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:oklch(70.7% .022 261.325);--tw-prose-invert-bullets:oklch(44.6% .03 256.802);--tw-prose-invert-hr:oklch(37.3% .034 259.733);--tw-prose-invert-quotes:oklch(96.7% .003 264.542);--tw-prose-invert-quote-borders:oklch(37.3% .034 259.733);--tw-prose-invert-captions:oklch(70.7% .022 261.325);--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:#ffffff1a;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:oklch(87.2% .01 258.338);--tw-prose-invert-pre-bg:#00000080;--tw-prose-invert-th-borders:oklch(44.6% .03 256.802);--tw-prose-invert-td-borders:oklch(37.3% .034 259.733);font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.571429em;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mr-1{margin-right:var(--spacing)}.mb-1{margin-bottom:var(--spacing)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.mb-10{margin-bottom:calc(var(--spacing) * 10)}.ml-1{margin-left:var(--spacing)}.ml-2{margin-left:calc(var(--spacing) * 2)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-\[0\.85em\]{height:.85em}.max-h-\[calc\(100vh-8rem\)\]{max-height:calc(100vh - 8rem)}.min-h-12{min-height:calc(var(--spacing) * 12)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-36{width:calc(var(--spacing) * 36)}.w-\[0\.85em\]{width:.85em}.w-full{width:100%}.max-w-3xl{max-width:var(--container-3xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-md{max-width:var(--container-md)}.max-w-none{max-width:none}.min-w-0{min-width:0}.min-w-9{min-width:calc(var(--spacing) * 9)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.\[scrollbar-width\:thin\]{scrollbar-width:thin}.\[scrollbar-color\:var\(--outline-variant\)_transparent\]{scrollbar-color:var(--outline-variant) transparent}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:var(--spacing)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-outline-variant\/60>:not(:last-child)){border-color:var(--outline-variant)}@supports (color:color-mix(in lab, red, red)){:where(.divide-outline-variant\/60>:not(:last-child)){border-color:color-mix(in oklab, var(--outline-variant) 60%, transparent)}}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-y-auto{overflow-y:auto}.overscroll-contain{overscroll-behavior:contain}.rounded-full{border-radius:2147483647px}.rounded-shape-s{border-radius:var(--shape-corner-s)}.rounded-shape-xl{border-radius:var(--shape-corner-xl)}.rounded-shape-xs{border-radius:var(--shape-xs)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-outline{border-color:var(--outline)}.border-outline-variant{border-color:var(--outline-variant)}.bg-secondary-container{background-color:var(--secondary-container)}.bg-surface{background-color:var(--surface)}.bg-surface-container-low{background-color:var(--surface-container-low)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-16{padding-block:calc(var(--spacing) * 16)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pb-5{padding-bottom:calc(var(--spacing) * 5)}.pb-10{padding-bottom:calc(var(--spacing) * 10)}.pb-16{padding-bottom:calc(var(--spacing) * 16)}.text-center{text-align:center}.align-\[-0\.05em\]{vertical-align:-.05em}.text-\[0\.9375rem\]{font-size:.9375rem}.text-\[1rem\]{font-size:1rem}.break-words{overflow-wrap:break-word}.text-error{color:var(--error)}.text-on-secondary-container{color:var(--on-secondary-container)}.text-on-surface{color:var(--on-surface)}.text-on-surface-variant{color:var(--on-surface-variant)}.text-primary{color:var(--primary)}.no-underline{text-decoration-line:none}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.outline-none{--tw-outline-style:none;outline-style:none}.placeholder\:text-on-surface-variant::placeholder{color:var(--on-surface-variant)}@media (hover:hover){.hover\:text-primary:hover{color:var(--primary)}.hover\:underline:hover{text-decoration-line:underline}}.disabled\:opacity-60:disabled{opacity:.6}@media not all and (width>=359px){.max-\[359px\]\:\[--md-h\:2\.25rem\]{--md-h:2.25rem}}@media not all and (width>=40rem){.max-sm\:hidden{display:none}}@media (width>=480px){.min-\[480px\]\:text-\[1\.125rem\]{font-size:1.125rem}}@media (width>=40rem){.sm\:mx-8{margin-inline:calc(var(--spacing) * 8)}.sm\:mr-2{margin-right:calc(var(--spacing) * 2)}.sm\:hidden{display:none}.sm\:inline{display:inline}.sm\:flex-none{flex:none}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-start{align-items:flex-start}.sm\:gap-2{gap:calc(var(--spacing) * 2)}.sm\:gap-5{gap:calc(var(--spacing) * 5)}.sm\:p-5{padding:calc(var(--spacing) * 5)}.sm\:p-6{padding:calc(var(--spacing) * 6)}.sm\:p-8{padding:calc(var(--spacing) * 8)}.sm\:px-4{padding-inline:calc(var(--spacing) * 4)}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}.sm\:px-8{padding-inline:calc(var(--spacing) * 8)}.sm\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.sm\:text-\[1\.375rem\]{font-size:1.375rem}}@media (width>=64rem){.lg\:block{display:block}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-\[minmax\(0\,1fr\)_16rem\]{grid-template-columns:minmax(0,1fr) 16rem}}}:root{--primary:#3b6287;--on-primary:#f7f9ff;--primary-container:#abd3fd;--on-primary-container:#1e486c;--secondary:#526070;--on-secondary:#f7f9ff;--secondary-container:#d5e4f7;--on-secondary-container:#455363;--tertiary:#5e5a84;--on-tertiary:#fcf7ff;--tertiary-container:#d2ccfd;--on-tertiary-container:#46436b;--error:#a83836;--on-error:#fff7f6;--error-container:#fa746f;--on-error-container:#6e0a12;--surface:#f8f9fe;--surface-dim:#d5dae3;--surface-bright:#f8f9fe;--surface-container-lowest:#fff;--surface-container-low:#f1f3fa;--surface-container:#ebeef5;--surface-container-high:#e5e8f0;--surface-container-highest:#dee3ec;--on-surface:#2d333a;--on-surface-variant:#5a5f67;--outline:#767b83;--outline-variant:#adb2bb;--inverse-surface:#0c0e12;--inverse-on-surface:#9b9da1;--inverse-primary:#abd3fd;--shadow:#000;--scrim:#000;--admonition-note:oklch(45% .14 250);--admonition-tip:oklch(45% .14 180);--admonition-important:oklch(45% .14 310);--admonition-caution:oklch(45% .2 25);--admonition-warning:oklch(48% .14 60);--codeblock-bg:#f1f3fa;--codeblock-topbar-bg:#ebeef5}.dark{--primary:#acc9ea;--on-primary:#25425d;--primary-container:#385571;--on-primary-container:#d0e5ff;--secondary:#b9c8da;--on-secondary:#344150;--secondary-container:#2f3d4b;--on-secondary-container:#b2c1d3;--tertiary:#e1dcff;--on-tertiary:#4f4b74;--error:#fa746f;--on-error:#490006;--error-container:#871f21;--on-error-container:#ff9993;--surface:#0c0e12;--surface-dim:#0c0e12;--surface-bright:#272d33;--surface-container-lowest:#000;--surface-container-low:#101418;--surface-container:#161a1f;--surface-container-high:#1b2026;--surface-container-highest:#21262d;--on-surface:#e1e6ef;--on-surface-variant:#a6abb4;--outline:#70767e;--outline-variant:#434850;--inverse-surface:#f8f9fe;--inverse-on-surface:#535559;--inverse-primary:#45617e;--admonition-note:oklch(75% .14 250);--admonition-tip:oklch(75% .14 180);--admonition-important:oklch(75% .14 310);--admonition-caution:oklch(65% .2 25);--admonition-warning:oklch(75% .14 60);--codeblock-bg:#101418;--codeblock-topbar-bg:#161a1f}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/be-vietnam-pro-latin-400-normal-PpnXBOrz.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:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/be-vietnam-pro-latin-500-normal-B6LVzGNe.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:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/be-vietnam-pro-latin-600-normal-BZDkUTrt.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:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/be-vietnam-pro-latin-700-normal-DlW1Zbsh.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:Be Vietnam Pro;font-style:italic;font-weight:400;font-display:swap;src:url(/assets/be-vietnam-pro-latin-400-italic-Czf7pqeE.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:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/be-vietnam-pro-latin-ext-400-normal-CiZNW1ec.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:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/be-vietnam-pro-latin-ext-500-normal-h0Fp6aX0.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:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/be-vietnam-pro-latin-ext-600-normal-BNd8euf0.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:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/be-vietnam-pro-latin-ext-700-normal-C8_gqRu2.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:Be Vietnam Pro;font-style:italic;font-weight:400;font-display:swap;src:url(/assets/be-vietnam-pro-latin-ext-400-italic-Crz7h8Mn.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:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/be-vietnam-pro-vietnamese-400-normal-CRcqvyg1.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/be-vietnam-pro-vietnamese-500-normal-DREgrEoJ.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/be-vietnam-pro-vietnamese-600-normal-nyU-ZL2p.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/be-vietnam-pro-vietnamese-700-normal-Csr0PCuG.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:italic;font-weight:400;font-display:swap;src:url(/assets/be-vietnam-pro-vietnamese-400-italic-CIY6FnMe.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro Fallback;src:local(Arial),local(Helvetica Neue),local(Liberation Sans);size-adjust:105%;ascent-override:95%;descent-override:25%;line-gap-override:0%}:root{--shape-none:0;--shape-xs:.25rem;--shape-s:.5rem;--shape-m:.75rem;--shape-l:1rem;--shape-l-inc:1.25rem;--shape-xl:1.75rem;--shape-xl-inc:2rem;--shape-xxl:3rem;--shape-corner-s:var(--shape-s);--shape-corner-m:var(--shape-m);--shape-corner-l:var(--shape-l);--shape-corner-xl:var(--shape-xl);--motion-fast-spatial:linear(0, .043, .15, .293, .448, .599, .736, .851, .942, 1.009, 1.055, 1.082, 1.093, 1.094, 1.087, 1.075, 1.06, 1.046, 1.032, 1.02, 1.01, 1.002, .997, .993, .992, .991, .991, .992, .994, 1);--motion-fast-spatial-duration:.321s;--motion-spatial:linear(0, .027, .095, .186, .289, .394, .495, .589, .673, .746, .808, .859, .901, .934, .959, .978, .992, 1.002, 1.009, 1.013, 1.015, 1.015, 1.015, 1.014, 1.012, 1.011, 1.009, 1.008, 1.006, 1);--motion-spatial-duration:.37s;--motion-fast-effects:linear(0, .112, .315, .509, .664, .776, .855, .907, .941, .963, .977, .986, .992, 1);--motion-fast-effects-duration:.12s;--motion-effects:linear(0, .112, .315, .509, .664, .777, .855, .907, .942, .964, .977, .986, .992, 1);--motion-effects-duration:.185s;--state-hover:.08;--state-focus:.1;--state-pressed:.1;--focus-ring:3px solid var(--secondary);--focus-offset:2px;--elevation-1:0 1px 2px #00000029, 0 1px 3px 1px #0000001a;--elevation-2:0 1px 2px #00000029, 0 2px 6px 2px #0000001a}@media (prefers-reduced-motion:reduce){:root{--motion-fast-spatial-duration:1ms;--motion-spatial-duration:1ms;--motion-fast-effects-duration:1ms;--motion-effects-duration:1ms}}.md-ripple{border-radius:inherit;pointer-events:none;position:absolute;inset:0;overflow:hidden}.md-ripple>span{opacity:.12;background:currentColor;border-radius:50%;position:absolute;transform:scale(0)}.theme-icon .theme-core{r:9px;transition:r var(--motion-spatial-duration) var(--motion-spatial)}.theme-icon .theme-cut{cx:18.5px;cy:6px;transition:cx var(--motion-spatial-duration) var(--motion-spatial), cy var(--motion-spatial-duration) var(--motion-spatial)}.theme-icon .theme-rays{opacity:0;transform-origin:12px 12px;transition:opacity var(--motion-effects-duration) var(--motion-effects), transform var(--motion-spatial-duration) var(--motion-spatial);transform:rotate(-90deg)scale(.4)}.dark .theme-icon .theme-core{r:5px}.dark .theme-icon .theme-cut{cx:32px;cy:-8px}.dark .theme-icon .theme-rays{opacity:1;transform:none}@media (scripting:none){[data-search-open]{display:none}}.md-search{border-radius:var(--shape-xl);background:var(--surface-container);width:min(40rem,100vw - 1.5rem);max-height:min(38rem,100vh - 7rem);color:var(--on-surface);box-shadow:var(--elevation-2);border:0;margin:4.5rem auto auto;padding:0;overflow:hidden}.md-search[open]{flex-direction:column;display:flex}@media (prefers-reduced-motion:no-preference){.md-search[open]{animation:search-in var(--motion-spatial-duration) var(--motion-spatial) both}@keyframes search-in{0%{opacity:0;transform:translateY(-.75rem)scale(.96)}}}.md-search::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:oklab(0% none none/.36)}.md-search-bar{background:var(--surface-container-high);border-radius:1.75rem;align-items:center;gap:.75rem;height:3.5rem;margin:.75rem;padding:0 .5rem 0 1rem;display:flex}.md-search-icon{width:1.5rem;height:1.5rem;color:var(--on-surface-variant);flex:none}.md-search-bar input{min-width:0;height:100%;color:var(--on-surface);background:0 0;border:0;outline:none;flex:1}.md-search-bar input::placeholder{color:var(--on-surface-variant)}.md-search-bar:has(input:focus-visible){outline:var(--focus-ring);outline-offset:0}.md-search-bar input::-webkit-search-cancel-button{display:none}.md-search-status{color:var(--on-surface-variant);margin:0 1.5rem .5rem}.md-search-results{margin:0;padding:0 .5rem .75rem;list-style:none;overflow-y:auto}.md-search-results:empty{padding:0}.md-search-result{border-radius:var(--shape-l);color:var(--on-surface);padding:.75rem 1rem;text-decoration:none;display:block}.md-search-title{display:block}.md-search-lock{vertical-align:-.05em;width:.85em;height:.85em;fill:var(--on-surface-variant);margin-inline-start:.5rem;display:inline-block}.md-search-excerpt{color:var(--on-surface-variant);margin-top:.125rem;display:block}.md-search-excerpt mark{background:var(--secondary-container);color:var(--on-secondary-container);border-radius:.25rem}.prose a.lightbox{cursor:zoom-in;text-decoration:none}.prose figure.image>a.lightbox{display:block}.prose figure.video{margin:1.5rem 0}.video-facade{border-radius:var(--shape-xl);background:var(--surface-container);width:100%;color:var(--on-surface);text-align:start;cursor:pointer;border:0;padding:0;display:block;overflow:hidden}.video-picture{aspect-ratio:16/9;background:var(--surface-container-highest);display:block;position:relative;overflow:hidden}.video-picture img{object-fit:cover;width:100%;height:100%;margin:0;display:block}.video-meta{padding:.75rem 1.25rem 1rem;display:block}.video-title{font-size:1rem;font-weight:600;line-height:1.4;display:block}.video-channel{color:var(--on-surface-variant);margin-top:.125rem;font-size:.875rem;display:block}.video-play{place-items:center;display:grid;position:absolute;inset:0}.video-play svg{box-sizing:content-box;background:var(--primary);width:2.25rem;height:2.25rem;fill:var(--on-primary);box-shadow:var(--elevation-2);transition:border-radius var(--motion-fast-spatial-duration) var(--motion-fast-spatial), transform var(--motion-fast-spatial-duration) var(--motion-fast-spatial);border-radius:1.75rem;padding:.75rem 1.5rem}.video-facade:hover .video-play svg{transform:scale(1.08)}.video-facade:active .video-play svg{border-radius:var(--shape-m);transform:scale(.94)}.video-facade:focus-visible{outline:var(--focus-ring);outline-offset:2px}.fancybox__container{--fancybox-backdrop-bg:var(--surface-dim)}@supports (color:color-mix(in lab, red, red)){.fancybox__container{--fancybox-backdrop-bg:color-mix(in oklab, var(--surface-dim) 10%, black 92%)}}.fancybox__container{--fancybox-backdrop-filter:none;--fancybox-color:var(--on-surface);--f-button-bg:var(--surface-container-high);--f-button-color:var(--on-surface);--f-button-hover-bg:var(--surface-container-highest);--f-button-hover-color:var(--on-surface);--f-button-border-radius:50%;--f-arrow-bg:var(--surface-container-high);--f-arrow-color:var(--on-surface);--f-arrow-hover-bg:var(--surface-container-highest);--f-arrow-hover-color:var(--on-surface);--f-arrow-border-radius:50%;--f-thumb-border-radius:var(--shape-s);--f-html-bg:var(--surface-container);--f-html-color:var(--on-surface);--f-html-padding:.75rem;--f-error-bg:var(--surface-container);--f-error-color:var(--on-surface);--f-spinner-color:var(--primary);--f-caption-color:var(--on-surface)}.fancybox__container .f-html,.fancybox__container .f-panzoom__content{border-radius:var(--shape-l)}.fancybox__container .f-html{background:var(--surface-container);color:var(--on-surface);padding:.75rem}.fancybox__container:has(.fancybox__slide.is-selected.has-iframe) .f-carousel__toolbar__column.is-middle{visibility:hidden}.fancybox__container:has(.fancybox__slide.is-selected.has-iframe) .f-carousel__toolbar .f-button:not([data-fancybox-close]){display:none}.fancybox__container .f-html iframe{border-radius:var(--shape-m);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.prose .image-grid{--cols:3;--aspect:16 / 10;--fit:cover;grid-template-columns:repeat(var(--cols), minmax(0, 1fr));gap:.75rem;margin:1.5rem 0;display:grid}@media (width<=768px){.prose .image-grid{grid-template-columns:repeat(min(var(--cols), 2), minmax(0, 1fr))}}@media (width<=480px){.prose .image-grid{grid-template-columns:minmax(0,1fr)}}.prose .image-grid figure.image{text-align:start;flex-direction:column;margin:0;display:flex}.prose .image-grid figure.image>a.lightbox{aspect-ratio:var(--aspect);border-radius:var(--shape-corner-m);background:var(--surface-container);display:block;overflow:hidden}.prose .image-grid figure.image img{object-fit:var(--fit);border-radius:0;width:100%;max-width:none;height:100%}.prose .image-grid figure.image figcaption{color:var(--on-surface-variant);margin-top:auto;padding-top:.5rem;font-size:.875em;display:block}figure.mermaid-diagram .diagram-view{border-radius:inherit;box-sizing:border-box;padding:1rem;overflow:hidden}figure.mermaid-diagram .diagram-view[data-moved]{cursor:grab;touch-action:none}figure.mermaid-diagram .diagram-view[data-dragging]{cursor:grabbing;-webkit-user-select:none;user-select:none}.diagram-canvas{transform-origin:0 0}.diagram-tools{z-index:2;border-radius:var(--shape-corner-xl);transition:background-color var(--motion-effects-duration) var(--motion-effects), box-shadow var(--motion-effects-duration) var(--motion-effects);background:0 0;align-items:center;display:flex;position:absolute;top:.5rem;right:.5rem}.diagram-tools:hover,.diagram-tools:focus-within,.diagram-tools[data-open]{background:var(--surface-container-high);box-shadow:var(--elevation-2)}.diagram-actions{opacity:0;visibility:hidden;transition:grid-template-columns var(--motion-spatial-duration) var(--motion-spatial), opacity var(--motion-effects-duration) var(--motion-effects), visibility 0s var(--motion-effects-duration);grid-template-columns:0fr;display:grid}.diagram-actions>div{min-width:0;padding:0;display:flex;overflow:hidden}.diagram-tools:hover .diagram-actions,.diagram-tools:focus-within .diagram-actions,.diagram-tools[data-open] .diagram-actions{opacity:1;visibility:visible;grid-template-columns:1fr;transition-delay:0s}.diagram-menu-button{transition:width var(--motion-spatial-duration) var(--motion-spatial), opacity var(--motion-effects-duration) var(--motion-effects), border-radius var(--motion-fast-spatial-duration) var(--motion-fast-spatial);overflow:hidden}.diagram-tools:hover .diagram-menu-button,.diagram-tools:focus-within .diagram-menu-button,.diagram-tools[data-open] .diagram-menu-button{opacity:0;pointer-events:none;width:0}.diagram-menu-button,.diagram-actions button,.diagram-dialog-bar button{box-sizing:border-box;width:2rem;height:2rem;color:var(--on-surface-variant);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;margin:0;padding:0;display:grid;position:relative}.diagram-actions button,.diagram-dialog-bar button{transition:border-radius var(--motion-fast-spatial-duration) var(--motion-fast-spatial)}.diagram-menu-button:active,.diagram-actions button:active,.diagram-dialog-bar button:active{border-radius:var(--shape-s)}.diagram-menu-button:focus-visible,.diagram-actions button:focus-visible,.diagram-dialog-bar button:focus-visible{outline:var(--focus-ring);outline-offset:0}.diagram-menu-button svg,.diagram-actions svg,.diagram-dialog-bar svg{pointer-events:none;width:1.375rem;height:1.375rem}@media (scripting:none),print{.diagram-tools{display:none}}.diagram-dialog{box-sizing:border-box;background:var(--codeblock-bg);width:100vw;max-width:none;height:100dvh;max-height:none;color:var(--on-surface);border:0;margin:0;padding:0;overflow:hidden}.diagram-dialog::backdrop{background:var(--scrim);opacity:.6}.diagram-dialog-bar{z-index:2;border-radius:var(--shape-corner-xl);background:var(--surface-container-high);box-shadow:var(--elevation-2);gap:.25rem;padding:.25rem;display:flex;position:absolute;top:.75rem;right:.75rem}.diagram-dialog .diagram-view{box-sizing:border-box;cursor:grab;touch-action:none;width:100%;height:100%;padding:3.5rem 1rem 1rem;overflow:hidden}.diagram-dialog .diagram-view[data-dragging]{cursor:grabbing;-webkit-user-select:none;user-select:none}.diagram-dialog .diagram-canvas,.diagram-dialog .diagram-canvas>div{width:100%;height:100%}.diagram-dialog .diagram-canvas svg{width:100%!important;max-width:none!important;height:100%!important}.prose figure.media-file{margin:1.5rem 0}.prose figure.media-file video{aspect-ratio:16/9;object-fit:contain;border-radius:var(--shape-corner-m);background:#000;width:100%;max-height:75vh;display:block}.prose figure.media-file audio{width:100%;display:block}.prose figure.media-file figcaption{color:var(--on-surface-variant);text-align:center;padding-top:.5rem;font-size:.875em}.post-tools{right:max(1rem, env(safe-area-inset-right));bottom:max(1rem, env(safe-area-inset-bottom));z-index:30;pointer-events:none;flex-direction:column;align-items:flex-end;gap:.75rem;display:flex;position:fixed}.post-tools>*,.post-fabs>*{pointer-events:auto}.post-fabs{pointer-events:none;flex-direction:column;align-items:flex-end;gap:.75rem;display:flex}.post-fab{box-sizing:border-box;border-radius:var(--shape-corner-l);width:3.5rem;height:3.5rem;box-shadow:var(--elevation-2);cursor:pointer;transition:height var(--motion-spatial-duration) var(--motion-spatial), margin var(--motion-spatial-duration) var(--motion-spatial), opacity var(--motion-effects-duration) var(--motion-effects), transform var(--motion-spatial-duration) var(--motion-spatial), border-radius var(--motion-fast-spatial-duration) var(--motion-fast-spatial), visibility 0s;border:0;place-items:center;margin:0;padding:0;display:grid;position:relative}.post-fab:active{border-radius:var(--shape-s)}.post-fab:focus-visible{outline:var(--focus-ring);outline-offset:2px}.post-fab svg{pointer-events:none;width:1.5rem;height:1.5rem}.post-fab--top{background:var(--primary-container);color:var(--on-primary-container)}.post-fab--toc{background:var(--secondary-container);color:var(--on-secondary-container)}.post-fab--top[data-hidden]{opacity:0;visibility:hidden;height:0;box-shadow:none;transition:height var(--motion-spatial-duration) var(--motion-spatial), margin var(--motion-spatial-duration) var(--motion-spatial), opacity var(--motion-effects-duration) var(--motion-effects), transform var(--motion-spatial-duration) var(--motion-spatial), visibility 0s var(--motion-effects-duration);margin-top:-.75rem;transform:scale(.6)}.toc-sheet{box-sizing:border-box;overscroll-behavior:contain;border-radius:var(--shape-corner-xl);background:var(--surface-container-high);width:min(20rem,100vw - 2rem);max-height:min(60vh,28rem);color:var(--on-surface);box-shadow:var(--elevation-3,var(--elevation-2));transform-origin:100% 100%;opacity:0;visibility:hidden;transition:opacity var(--motion-effects-duration) var(--motion-effects), transform var(--motion-spatial-duration) var(--motion-spatial), visibility 0s var(--motion-effects-duration);overflow-y:auto;transform:scale(.9)translateY(.5rem)}.toc-sheet[data-open]{opacity:1;visibility:visible;transition-delay:0s;transform:none}.toc-sheet nav{background:0 0;max-height:none;overflow:visible}.toc-track{position:relative}.toc-bar{z-index:1;background:var(--primary);opacity:0;will-change:transform, height;border-radius:.375rem;width:.25rem;height:0;position:absolute;top:0;left:0}.toc-track[data-ready] .toc-bar{opacity:1}.toc-track .md-toc-link{padding-left:.875rem}.toc-subs>ul,.toc-lead{padding-left:1rem}.toc-lead{list-style:none}@media (scripting:enabled){.toc-subs{visibility:hidden;grid-template-rows:0fr;transition:grid-template-rows .32s cubic-bezier(.2,0,0,1),visibility 0s linear .32s;display:grid}.toc-subs>ul{min-height:0;overflow:hidden}.toc-sec[data-open]>.toc-subs{visibility:visible;grid-template-rows:1fr;transition-delay:0s}}.md-toc-link[aria-current=location]{font-weight:600}.toc-sec[data-open]>.md-toc-link{background:var(--secondary-container);color:var(--on-secondary-container);font-weight:600}@media (prefers-reduced-motion:reduce){.toc-subs{transition:none}}.toc-sheet .md-toc-link:not([aria-current=location]){color:var(--on-surface)}@media (width>=64rem){.post-fab--toc,.toc-sheet{display:none}}@media (scripting:none),print{.post-tools{display:none}}@media (prefers-reduced-motion:reduce){.post-fab,.toc-sheet{transition-duration:.01ms}}.md-card:has(>.md-card-thumb){overflow:hidden}.md-card-thumb{aspect-ratio:16/9;object-fit:cover;background:var(--surface-container);border-radius:0;order:-1;width:calc(100% + 2.5rem);max-width:none;height:auto;margin:-1.25rem -1.25rem 0;display:block}@media (width>=640px){.md-card-thumb{aspect-ratio:auto;border-radius:var(--shape-corner-m);flex:none;order:0;width:10rem;height:7.5rem;margin:0}}.md-count{border-radius:var(--shape-corner-full,999px);background:var(--secondary-container);min-width:1.75rem;color:var(--on-secondary-container);text-align:center;font-variant-numeric:tabular-nums;flex:none;padding:.125rem .5rem}.md-tag{background:var(--surface-container-high);color:var(--on-surface);transition:border-radius var(--motion-fast-spatial-duration) var(--motion-fast-spatial);border-radius:999px;padding:.375rem .5rem .375rem .875rem;text-decoration:none;position:relative}.md-tag:active{border-radius:var(--shape-s)}.md-tag:focus-visible{outline:var(--focus-ring);outline-offset:2px}.md-tag .md-count{background:var(--surface);color:var(--on-surface-variant);min-width:1.5rem;padding:.0625rem .4375rem}.card-title{align-items:flex-start;gap:.75rem;display:flex}.card-title:before{content:"";background:var(--primary);border-radius:.375rem;flex:none;width:.25rem;height:1.5rem;margin-top:.125rem}.card-title-lg{gap:1rem}.card-title-lg:before{height:2rem;margin-top:.25rem}.card-title>span{min-width:0}.nav-icon{flex:none;width:1.25rem;height:1.25rem}.continue-inner{min-height:0;overflow:hidden}.continue-body{padding-top:2rem}.continue-header{color:var(--on-surface);align-items:center;gap:1rem;display:flex}.continue-header:after{content:"";background:var(--outline-variant);flex:1;height:1px}.continue-lanes{grid-template-columns:minmax(0,1fr);gap:1.5rem;margin-top:1rem;display:grid}.continue-lane{--lane:var(--primary);flex-direction:column;gap:.5rem;min-width:0;display:flex}.continue-lane--route{--lane:var(--tertiary)}.continue-lane-head{flex-direction:column;gap:.25rem;padding-inline:.75rem;display:flex}.continue-lane-head p{color:var(--on-surface-variant);margin:0}.continue-lane-title{color:var(--lane);align-items:center;gap:.5rem;display:flex}.continue-lane-title h3{margin:0}.continue-lane-icon{flex:none;width:1.25rem;height:1.25rem}.continue-lane ul{flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.continue-link{border-radius:var(--shape-s,.5rem);min-width:0;min-height:3.5rem;color:var(--on-surface-variant);--state-color:var(--lane);align-items:center;gap:.75rem;padding:.5rem .75rem;text-decoration:none;display:flex}.continue-bar{background:var(--lane);border-radius:999px;flex:none;align-self:stretch;width:.25rem}.continue-text{flex-direction:column;flex:1;gap:.125rem;min-width:0;display:flex}.continue-title{color:var(--on-surface);text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.continue-meta{color:var(--on-surface-variant);flex-wrap:wrap;gap:.5rem;font-size:.75rem;display:flex}.continue-link .arrowhead{flex:none;transition:transform .2s}.continue-link:hover .continue-title,.continue-link:hover .arrowhead,.continue-link:focus-visible .continue-title{color:var(--lane)}.continue-link:hover .arrowhead{transform:translate(.25rem)}.continue-link:focus-visible{outline:2px solid var(--lane)}@media (width>=48rem){.continue-lanes:not(.continue-lanes--single){grid-template-columns:repeat(2,minmax(0,1fr))}.continue-lane+.continue-lane{border-left:1px solid var(--outline-variant);padding-left:1rem}}@media (scripting:enabled){.continue{opacity:0;visibility:hidden;transition:grid-template-rows var(--motion-spatial-duration) var(--motion-spatial), opacity var(--motion-effects-duration) var(--motion-effects), visibility 0s var(--motion-effects-duration);grid-template-rows:0fr;display:grid}.continue[data-shown]{opacity:1;visibility:visible;grid-template-rows:1fr;transition-delay:0s}}@media (prefers-reduced-motion:reduce){.continue{transition-duration:.01ms}}@media print{.continue{display:none}}.site-logo{flex:none;width:1.75em;height:1.75em}.logo-0-0{fill:var(--primary)}@supports (color:color-mix(in lab, red, red)){.logo-0-0{fill:color-mix(in srgb, var(--primary) 55%, white)}}.logo-0-1,.logo-0-2{fill:var(--primary)}@supports (color:color-mix(in lab, red, red)){.logo-0-2{fill:color-mix(in srgb, var(--primary) 75%, black)}}.logo-1-0{fill:var(--tertiary)}@supports (color:color-mix(in lab, red, red)){.logo-1-0{fill:color-mix(in srgb, var(--tertiary) 55%, white)}}.logo-1-1,.logo-1-2{fill:var(--tertiary)}@supports (color:color-mix(in lab, red, red)){.logo-1-2{fill:color-mix(in srgb, var(--tertiary) 75%, black)}}.logo-2-0{fill:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.logo-2-0{fill:color-mix(in srgb, var(--secondary) 55%, white)}}.logo-2-1,.logo-2-2{fill:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.logo-2-2{fill:color-mix(in srgb, var(--secondary) 75%, black)}}.banner{background:var(--surface-container-lowest);color:#fff;height:13.5rem;position:relative;overflow:hidden}.banner[data-banner=home]{height:clamp(22rem,60vh,40rem)}.banner-media,.banner-scrim,.banner-copy{position:absolute;inset:0}.banner-media{background:url(/assets/banner-640-ClQqIzNO.webp) 50%/cover no-repeat}@media (width>=768px){.banner-media{background-image:url(/assets/banner-1280-Dqb-gzZI.webp)}}@media (width>=1440px){.banner-media{background-image:url(/assets/banner-1920-DDVkdMQm.webp)}}.banner-scrim{z-index:1;pointer-events:none;background:#00000021}:root.dark .banner-scrim{background:#0000003d}.banner-copy{z-index:2;text-align:center;text-shadow:0 2px 12px #0000007a;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;padding:4rem 1.5rem;display:flex}.banner-title{text-wrap:balance;margin:0;font-size:clamp(2.5rem,8vw,5rem);font-weight:700;line-height:1.1}.banner-subtitle{opacity:.92;text-wrap:pretty;max-width:48rem;margin:.75rem 0 0;font-size:clamp(1.0625rem,2.4vw,1.5rem);line-height:1.5}.banner[data-banner=page]{height:13.5rem}.banner-copy--page{padding:4.75rem 1.25rem 2.5rem}.banner-copy--page .banner-title{-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;max-width:56rem;font-size:clamp(1.75rem,7vw,2.25rem);display:-webkit-box;overflow:hidden}.banner-copy--page .banner-rule,.banner-copy--page .banner-subtitle{display:none}.banner[data-banner=post]{height:14rem}@media (width>=64rem){.banner[data-banner=post]{height:clamp(19rem,44vh,27rem)}.banner[data-banner=page]{height:clamp(18rem,40vh,24rem)}.banner-copy--page{padding:5.5rem 1.5rem 3.5rem}.banner-copy--page .banner-title{font-size:clamp(2rem,4.2vw,3.25rem)}.banner-copy--page .banner-rule{display:block}.banner-copy--page .banner-subtitle{margin-top:.5rem;font-size:1.125rem;display:block}}.banner-rule{background:#ffffffb8;width:3rem;height:1px;margin-top:1rem;display:block}.banner-fade{z-index:3;pointer-events:none;background:linear-gradient(to bottom, transparent 0%, var(--surface) 20%, var(--surface) 40%, var(--surface) 60%, var(--surface) 80%, var(--surface) 92%, var(--surface) 100%);height:clamp(5rem,38%,11rem);position:absolute;inset:auto 0 0}@supports (color:color-mix(in lab, red, red)){.banner-fade{background:linear-gradient(to bottom, transparent 0%, color-mix(in srgb, var(--surface) 8%, transparent) 20%, color-mix(in srgb, var(--surface) 25%, transparent) 40%, color-mix(in srgb, var(--surface) 50%, transparent) 60%, color-mix(in srgb, var(--surface) 78%, transparent) 80%, color-mix(in srgb, var(--surface) 94%, transparent) 92%, var(--surface) 100%)}}@media print{.banner{display:none}}.code-reader{box-sizing:border-box;border:1px solid var(--outline-variant);border-radius:var(--shape-xl);background:var(--codeblock-bg);width:min(96vw,90rem);max-width:none;height:auto;min-height:14rem;max-height:min(92dvh,64rem);color:var(--on-surface);box-shadow:var(--elevation-3,0 12px 40px #00000059);flex-direction:column;margin:auto;padding:0;display:flex;overflow:hidden}.code-reader:not([open]){display:none}.code-reader::backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#00000080}html:has(dialog.code-reader[open]){overflow:hidden}.code-reader-bar{border-bottom:1px solid var(--outline-variant);background:var(--codeblock-topbar-bg,var(--surface-container));flex:none;justify-content:space-between;align-items:center;gap:1rem;padding:.5rem .75rem .5rem 1.25rem;display:flex}.code-reader-lang{align-items:center;gap:.625rem;min-width:0;font-size:.9375rem;font-weight:600;display:inline-flex}.code-reader-lang svg{fill:currentColor;flex:none;width:1.25rem;height:1.25rem}.code-reader-actions{flex:none;gap:.25rem;display:flex}.code-reader-button{width:2.5rem;height:2.5rem;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;margin:0;padding:0;display:grid}.code-reader-button svg{fill:currentColor;pointer-events:none;width:1.375rem;height:1.375rem}.code-reader-button:hover{background:currentColor}@supports (color:color-mix(in lab, red, red)){.code-reader-button:hover{background:color-mix(in oklab, currentColor 10%, transparent)}}.code-reader-button:focus-visible,.code-reader-body:focus-visible{outline:var(--focus-ring);outline-offset:-2px}.code-reader-body{overscroll-behavior:contain;flex:1;min-height:0;padding:1rem 1.25rem 2rem;overflow:auto}.code-reader-body .expressive-code{--ec-codeFontSize:1.0625rem;--ec-codeLineHt:1.7}.code-reader-body .frame{box-shadow:none;background:0 0;border:0}.code-reader-body .frame pre{background:0 0;border:0;border-radius:0}@media (width<=40rem){.code-reader{border:0;border-radius:0;width:100vw;max-height:100dvh}}.site-nav{flex:1;align-items:center;gap:.125rem;min-width:0;margin:0;padding:0;list-style:none;display:flex}@media (width>=40rem){.site-nav{gap:.25rem}}.menu-line{transform-box:view-box;transform-origin:50%;transition:transform var(--motion-spatial-duration) var(--motion-spatial), opacity var(--motion-effects-duration) var(--motion-effects)}.menu-toggle[aria-expanded=true] .menu-line-top{transform:translateY(5px)rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-line-middle{opacity:0;transform:scaleX(.2)}.menu-toggle[aria-expanded=true] .menu-line-bottom{transform:translateY(-5px)rotate(-45deg)}@media (width<=39.9375rem){.site-nav{z-index:2;border-radius:var(--shape-corner-xl);background:var(--surface-container-high);width:min(16rem,100%);box-shadow:var(--elevation-3,var(--elevation-2));transform-origin:100% 0;opacity:0;visibility:hidden;transition:opacity var(--motion-fast-effects-duration) var(--motion-fast-effects), transform var(--motion-fast-effects-duration) var(--motion-fast-effects), visibility 0s var(--motion-fast-effects-duration);flex-direction:column;flex:none;align-items:stretch;gap:.125rem;padding:.5rem;position:absolute;top:calc(100% + .5rem);right:0;transform:scale(.92)translateY(-.25rem)}.site-nav[data-open]{opacity:1;visibility:visible;transition:opacity var(--motion-effects-duration) var(--motion-effects), transform var(--motion-spatial-duration) var(--motion-spatial), visibility 0s;transform:none}.site-nav .md-nav-item{--md-h:3rem;justify-content:flex-start;width:100%;padding-inline:1rem}}@media (scripting:none) and (width<=39.9375rem){.menu-toggle{display:none}.site-nav{width:auto;box-shadow:none;opacity:1;visibility:visible;background:0 0;flex-direction:row;flex:1;padding:0;position:static;transform:none}.site-nav .md-nav-item{--md-h:2.5rem;width:auto;padding-inline:.5rem}}@media (prefers-reduced-motion:reduce){.site-nav,.menu-line{transition-duration:.01ms}}.md-toolbar{isolation:isolate}.md-toolbar:before{content:"";z-index:-1;border-radius:inherit;background:var(--surface-container-high);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.md-toolbar:before{background:color-mix(in oklab, var(--surface-container-high) 90%, transparent)}}.md-toolbar:before{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.arrowhead{vertical-align:-.2em;fill:none;stroke:currentColor;stroke-width:2.75px;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;flex:none;width:1.125em;height:1.125em;display:inline-block}.arrowhead-left{transform:scaleX(-1)}.collection-subtitle .arrowhead{vertical-align:-.1em;width:.9em;height:.9em;margin-inline:.15em}.md-chip-link{cursor:pointer}.md-chip-link:focus-visible{outline:var(--focus-ring);outline-offset:2px}.title-mark{vertical-align:-.21em;margin-right:.5em;line-height:1;display:inline-block;position:relative}.title-icon{width:1.1em;height:1.1em;color:inherit;display:block}.title-pin{width:.7em;height:.7em;color:var(--primary);filter:drop-shadow(0 0 1px var(--surface-container-low)) drop-shadow(0 0 1px var(--surface-container-low));position:absolute;top:-.5em;right:-.55em;transform:rotate(35deg)}.title-mark-pin-only{vertical-align:.45em;margin-right:.35em}.title-mark-pin-only .title-pin{filter:none;display:block;position:static}.meta-line{flex-wrap:wrap;align-items:center;gap:.125rem 1rem;display:flex;overflow:clip}.meta-item+.meta-item:before{content:"·";content:"·" / "";opacity:.7;font-weight:700;line-height:1;position:absolute;top:50%;left:-.5rem;transform:translate(-50%,-52%)}.meta-item{align-items:baseline;gap:.375rem;min-width:0;display:inline-flex;position:relative}.meta-icon{opacity:.85;flex:none;align-self:center;width:1.375em;height:1.375em;transform:translateY(-.08em)}.taxon-line{color:var(--on-surface-variant);flex-wrap:wrap;align-items:center;gap:.25rem 1rem;display:flex}.taxon-group{flex-wrap:wrap;align-items:center;gap:.25rem .375rem;min-width:0;display:inline-flex}.taxon-line .meta-icon{opacity:1;width:1.5em;height:1.5em;color:var(--primary);transform:none}.taxon-icon{width:1.5em;height:1.5em;color:var(--primary);flex:none}.taxon-sep{opacity:.5}.taxon-link{z-index:10;color:var(--primary);text-underline-offset:.25em;cursor:pointer;font-weight:500;text-decoration:none;position:relative}.taxon-link:hover{text-decoration:underline}.taxon-link:focus-visible{outline:var(--focus-ring);outline-offset:2px;border-radius:var(--shape-xs,.25rem)}.meta-link{z-index:10;color:inherit;text-decoration:none}.meta-link:hover{color:var(--primary);text-underline-offset:.2em;text-decoration:underline}.meta-link:focus-visible{outline:var(--focus-ring);outline-offset:2px;border-radius:var(--shape-xs,.25rem)}@font-face{font-family:JetBrainsMono Nerd Font;font-style:normal;font-weight:100 600;font-display:swap;unicode-range:U+20-7E,U+A0-24F,U+300-36F,U+1E??,U+2000-206F,U+20A0-20CF,U+2100-214F,U+2190-23FF,U+2500-27BF,U+2B??,U+FEFF,U+FFFD;src:url(/assets/jetbrains-mono-nerd-regular-_l9pvTTv.woff2)format("woff2")}@font-face{font-family:JetBrainsMono Nerd Font;font-style:normal;font-weight:700 900;font-display:swap;unicode-range:U+20-7E,U+A0-24F,U+300-36F,U+1E??,U+2000-206F,U+20A0-20CF,U+2100-214F,U+2190-23FF,U+2500-27BF,U+2B??,U+FEFF,U+FFFD;src:url(/assets/jetbrains-mono-nerd-bold-ClVJSZAY.woff2)format("woff2")}@font-face{font-family:JetBrainsMono Nerd Font;font-style:italic;font-weight:100 900;font-display:swap;unicode-range:U+20-7E,U+A0-24F,U+300-36F,U+1E??,U+2000-206F,U+20A0-20CF,U+2100-214F,U+2190-23FF,U+2500-27BF,U+2B??,U+FEFF,U+FFFD;src:url(/assets/jetbrains-mono-nerd-italic-Bu39cJUd.woff2)format("woff2")}@font-face{font-family:JetBrainsMono Nerd Font;font-style:normal;font-weight:100 600;font-display:swap;unicode-range:U+E000-F8FF,U+F0000-FFFFD,U+23FB-23FE,U+2665,U+26A1,U+2B58;src:url(/assets/jetbrains-mono-nerd-symbols-BoigSJtr.woff2)format("woff2")}@font-face{font-family:JetBrainsMono Nerd Font;font-style:normal;font-weight:700 900;font-display:swap;unicode-range:U+E000-F8FF,U+F0000-FFFFD,U+23FB-23FE,U+2665,U+26A1,U+2B58;src:url(/assets/jetbrains-mono-nerd-symbols-BoigSJtr.woff2)format("woff2")}@font-face{font-family:JetBrainsMono Nerd Font;font-style:italic;font-weight:100 900;font-display:swap;unicode-range:U+E000-F8FF,U+F0000-FFFFD,U+23FB-23FE,U+2665,U+26A1,U+2B58;src:url(/assets/jetbrains-mono-nerd-symbols-BoigSJtr.woff2)format("woff2")}:root{--font-mono-stack:"JetBrainsMono Nerd Font", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--font-mono:var(--font-mono-stack)}html{scroll-behavior:smooth;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html.dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}::view-transition-group(site-header){animation:none}::view-transition-old(root){animation:page-out var(--motion-fast-effects-duration) var(--motion-fast-effects) both}::view-transition-new(root){animation:page-in var(--motion-spatial-duration) var(--motion-spatial) both}@keyframes page-out{to{opacity:0}}@keyframes page-in{0%{opacity:0;transform:translateY(.75rem)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}::view-transition-old(root){animation:none}::view-transition-new(root){animation:none}}#swup{overflow-wrap:anywhere}.prose{--tw-prose-body:var(--on-surface);--tw-prose-headings:var(--on-surface);--tw-prose-lead:var(--on-surface-variant);--tw-prose-links:var(--primary);--tw-prose-bold:var(--on-surface);--tw-prose-counters:var(--on-surface-variant);--tw-prose-bullets:var(--outline);--tw-prose-hr:var(--outline-variant);--tw-prose-quotes:var(--on-surface);--tw-prose-quote-borders:var(--primary);--tw-prose-captions:var(--on-surface-variant);--tw-prose-code:var(--on-surface);--tw-prose-pre-code:var(--on-surface);--tw-prose-pre-bg:var(--surface-container);--tw-prose-th-borders:var(--outline);--tw-prose-td-borders:var(--outline-variant);overflow-wrap:anywhere}.prose :where(h1,h2,h3,h4):not(.not-prose *){scroll-margin-top:6rem}.prose :where(code):not(:where(pre *,.not-prose *)):before,.prose :where(code):not(:where(pre *,.not-prose *)):after{content:none}.prose :where(code):not(:where(pre *,.not-prose *)){background:var(--surface-container);border-radius:var(--shape-corner-s);padding:.15em .4em;font-size:.875em;line-height:1}.prose figure.image{text-align:center;margin:1.5rem auto;display:table}.prose figure.image img{border-radius:var(--shape-corner-m);max-width:100%;height:auto;margin:0 auto;display:block}.prose figure.image figcaption{caption-side:bottom;color:var(--on-surface-variant);padding-top:.5rem;font-size:.875em;display:table-caption}.prose .image-style-align-right{float:right;margin-left:1.5rem}.prose figure.image.image-style-block-align-left{margin-inline:0 auto}.prose figure.image.image-style-block-align-right{margin-inline:auto 0}.prose .image-style-align-left{float:left;margin-right:1.5rem}.prose figure.table{margin:1.5rem 0;overflow-x:auto}.prose .text-tiny{font-size:.7em}.prose .text-small{font-size:.85em}.prose .text-big{font-size:1.4em}.prose .text-huge{font-size:1.8em}.prose mark{color:inherit;border-radius:.25rem;padding:0 .2em}.prose mark.marker-yellow{background:oklab(86.056% -.00584719 .173016/.55)}.prose mark.marker-green{background:oklab(80.0349% -.160317 .0862818/.5)}.prose mark.marker-pink{background:oklab(72.5266% .172437 -.0311482/.5)}.prose mark.marker-blue{background:oklab(71.374% -.0380177 -.138249/.5)}.prose ul.todo-list{padding-left:0;list-style:none}.prose ul.todo-list label{align-items:baseline;gap:.5rem;display:flex}.prose li>p{margin-block:0}.prose li>p+p{margin-top:.5em}.prose hr{margin:2rem 0}.admonition{--accent:var(--admonition-note);border:1px solid var(--accent);margin:1.5rem 0}@supports (color:color-mix(in lab, red, red)){.admonition{border:1px solid color-mix(in oklab, var(--accent) 28%, var(--outline-variant))}}.admonition{border-inline-start:4px solid var(--accent);border-radius:var(--shape-corner-l);background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.admonition{background:color-mix(in oklab, var(--accent) 10%, var(--surface-container-low))}}.admonition{color:var(--on-surface);overflow-wrap:anywhere}.admonition-tip{--accent:var(--admonition-tip)}.admonition-important{--accent:var(--admonition-important)}.admonition-warning{--accent:var(--admonition-warning)}.admonition-caution{--accent:var(--admonition-caution)}.admonition-details{--accent:var(--primary)}details.admonition-details:has(+details.admonition-details){border-end-end-radius:0;border-end-start-radius:0;margin-bottom:3px}details.admonition-details+details.admonition-details{border-start-start-radius:0;border-start-end-radius:0;margin-top:0}details.admonition-details:has(+details.admonition-details)>summary.admonition-title{border-end-end-radius:0;border-end-start-radius:0}details.admonition-details+details.admonition-details>summary.admonition-title,.admonition-title{border-start-start-radius:0;border-start-end-radius:0}details.admonition-details:has(+details.admonition-details):not([open])>summary.admonition-title{border-end-end-radius:0;border-end-start-radius:0}.admonition-title{min-height:2.5rem;color:var(--accent);align-items:center;gap:.75rem;padding:.5rem 1rem;font-size:1rem;font-weight:600;line-height:1.5rem;display:flex}.admonition-title:before{content:"";background:var(--accent);border-radius:9999px;flex:none;width:.5rem;height:.5rem}details.admonition>summary.admonition-title{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:calc(var(--shape-corner-l) - 1px);list-style:none}.admonition-title-text{min-width:0}details.admonition>summary.admonition-title::-webkit-details-marker{display:none}details.admonition>summary.admonition-title:after{content:"";border-inline-end:2px solid var(--accent);border-block-end:2px solid var(--accent);width:.5rem;height:.5rem;transition:transform var(--motion-fast-spatial-duration) var(--motion-fast-spatial);flex:none;margin-inline-start:auto;transform:rotate(45deg)translate(-15%,-15%)}details.admonition[open]>summary.admonition-title:after{transform:rotate(225deg)translate(-15%,-15%)}details.admonition>summary.admonition-title:hover{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){details.admonition>summary.admonition-title:hover{background:color-mix(in oklab, var(--accent) 8%, transparent)}}details.admonition>summary.admonition-title:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.admonition-body{min-width:0;padding:0 1rem 1rem 2.25rem}details.admonition[open]>.admonition-body{border-top:1px solid var(--accent);padding-top:.75rem}@supports (color:color-mix(in lab, red, red)){details.admonition[open]>.admonition-body{border-top:1px solid color-mix(in oklab, var(--accent) 22%, transparent)}}.admonition-body>:first-child{margin-top:0}.admonition-body>:last-child{margin-bottom:0}.admonition-body p{margin:0 0 .75rem}.admonition-body :where(ul,ol,blockquote){margin-block:0 .75rem}.admonition-body ul,.admonition-body ol{padding-left:1.5rem}.admonition-body ul{list-style:outside}.admonition-body ol{list-style:decimal}details.doc-section>summary.doc-section-title{cursor:pointer;list-style:none;display:block}details.doc-section>summary.doc-section-title::-webkit-details-marker{display:none}details.doc-section>summary>:is(h2,h3){padding-inline-end:2rem;position:relative}details.doc-section>summary>:is(h2,h3):after{content:"";border-inline-end:2px solid var(--on-surface-variant);border-block-end:2px solid var(--on-surface-variant);width:.5rem;height:.5rem;transition:transform var(--motion-fast-spatial-duration) var(--motion-fast-spatial);inset-inline-end:.5rem;position:absolute;top:.5lh;transform:translateY(-75%)rotate(-45deg)}details.doc-section[open]>summary>:is(h2,h3):after{transform:translateY(-75%)rotate(45deg)}details.doc-section>summary:hover>:is(h2,h3):after{border-color:var(--primary)}details.doc-section>summary:focus-visible{outline:var(--focus-ring);outline-offset:4px;border-radius:var(--shape-xs)}.doc-section-body>:first-child{margin-top:0}.doc-section-body>:last-child{margin-bottom:0}.prose>details.doc-section:first-child>summary>:is(h2,h3){margin-top:0}@media (prefers-reduced-motion:no-preference){details.doc-section{interpolate-size:allow-keywords}details.doc-section::details-content{block-size:0;transition:block-size var(--motion-effects-duration) var(--motion-effects), content-visibility var(--motion-effects-duration) allow-discrete;overflow:hidden}details.doc-section[open]::details-content{block-size:auto}details.doc-section[data-snap]::details-content{transition:none}}@media print{details.doc-section::details-content{content-visibility:visible;block-size:auto}details.doc-section>summary>:is(h2,h3):after{display:none}}.prose .footnote-reference sup a{text-decoration:none}.prose ol.footnotes{border-top:1px solid var(--outline-variant);margin-top:2rem;padding-top:1rem;font-size:.9rem}.prose .footnote-item{padding-inline-start:.25rem}.prose .footnote-item .footnote-back-link{margin-inline-end:.5rem}.prose .footnote-item .footnote-content,.prose .footnote-item .footnote-content>p:first-child{display:inline}.prose .footnote-item .footnote-content>p:not(:first-child){margin-top:.5rem}.prose .footnote-content>p{margin:0}.math-display{text-align:center;margin:-.5rem 0;padding-block:.5rem;display:block;overflow-x:auto}.math-display .katex-display{margin:0}.math-display+.math-display{margin-top:.75rem}.admonition-body .math-display{margin-block:-.5rem .25rem}figure.mermaid-diagram{text-align:center;margin:1.5rem 0}figure.mermaid-diagram:not(.mermaid-error){border-radius:var(--shape-corner-m);background:var(--codeblock-bg);position:relative}figure.mermaid-diagram pre.mermaid-source{text-align:left;background:var(--surface-container);border-radius:var(--shape-corner-m);padding:1rem;font-size:.85rem}figure.mermaid-diagram.mermaid-error{outline:2px solid var(--error);border-radius:var(--shape-corner-m)}.mermaid-dark,.dark .mermaid-light{display:none}.dark .mermaid-dark{display:block}figure.mermaid-diagram svg{max-width:100%;height:auto;margin:0 auto}.prose .expressive-code{margin:1.5rem 0}.footnote-popover{z-index:60;box-sizing:border-box;border:1px solid var(--outline-variant);border-radius:var(--shape-corner-l);background:var(--surface-container-high);width:max-content;max-width:min(24rem,100vw - 1rem);color:var(--on-surface);overflow-wrap:anywhere;padding:.75rem 1.25rem;font-size:.9rem;line-height:1.5;position:fixed;box-shadow:0 4px 18px #00000038}.footnote-popover>*{margin:0}.footnote-popover p+p{margin-block-start:.5rem}.footnote-popover a{color:var(--primary);text-decoration:underline}.footnote-popover:after{content:"";left:var(--footnote-arrow-x,50%);background:inherit;border:inherit;width:10px;height:10px;position:absolute;transform:translate(-50%)rotate(45deg)}.footnote-popover[data-placement=above]:after{border-top:0;border-left:0;bottom:-6px}.footnote-popover[data-placement=below]:after{border-bottom:0;border-right:0;top:-6px}@media (prefers-reduced-motion:no-preference){.footnote-popover{animation:footnote-popover-in var(--motion-fast-spatial-duration) var(--motion-fast-spatial) both;transform-origin:var(--footnote-arrow-x,50%) bottom}.footnote-popover[data-placement=below]{transform-origin:var(--footnote-arrow-x,50%) top}details.admonition{interpolate-size:allow-keywords}details.admonition::details-content{block-size:0;transition:block-size var(--motion-effects-duration) var(--motion-effects), content-visibility var(--motion-effects-duration) allow-discrete;overflow:hidden}details.admonition[open]::details-content{block-size:auto}}@keyframes footnote-popover-in{0%{opacity:0;transform:scale(.9)}}.footnote-item,.footnote-reference{scroll-margin-block:6rem}.footnote-item:focus,.footnote-reference:focus{outline:none}.footnote-flash{border-radius:var(--shape-corner-m);animation:1.6s ease-out both footnote-flash}@keyframes footnote-flash{0%,35%{background-color:color-mix(in oklab, var(--primary) 22%, transparent);box-shadow:0 0 0 .35rem color-mix(in oklab, var(--primary) 22%, transparent)}to{background-color:#0000;box-shadow:0 0 0 .35rem #0000}}@media (prefers-reduced-motion:reduce){.footnote-flash{background-color:var(--primary);animation:none}@supports (color:color-mix(in lab, red, red)){.footnote-flash{background-color:color-mix(in oklab, var(--primary) 22%, transparent)}}.footnote-flash{box-shadow:0 0 0 .35rem var(--primary)}@supports (color:color-mix(in lab, red, red)){.footnote-flash{box-shadow:0 0 0 .35rem color-mix(in oklab, var(--primary) 22%, transparent)}}}main:has(.footnote-item){padding-bottom:max(4rem,42vh)}.prose .footnote-reference sup a,.prose .footnote-back-link a{margin:-.75rem -.65rem;padding:.75rem .65rem;display:inline-block}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}
