@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media (prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*),[data-astro-transition-scope]{animation:none!important}}@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-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-ease:initial;--type-emph:0;--math-fade-start:0px;--math-fade-end:0px}}}@layer theme{:root,:host{--font-sans:"Be Vietnam Pro", "Be Vietnam Pro Fallback", "Be Vietnam Pro Fallback Roboto", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--font-mono:"JetBrainsMono Nerd Font", "JetBrainsMono Fallback", "JetBrainsMono Fallback Consolas", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--spacing:.25rem;--ease-out:cubic-bezier(0, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@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]){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;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}html{font-family:var(--font-sans);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:var(--anchor-offset)}body{background:var(--md-sys-color-surface);color:var(--md-sys-color-on-surface);overflow-wrap:break-word}::selection{background:var(--md-sys-color-primary)}@supports (color:color-mix(in lab, red, red)){::selection{background:color-mix(in oklab, var(--md-sys-color-primary) 28%, transparent)}}:where(a,button,summary,input,textarea,select,[tabindex]):focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}:root,[data-theme]{background-color:var(--root-bg);color:var(--color-base-content)}:root{background-color:var(--page-scroll-bg,var(--root-bg))}:where(:root,[data-theme]){--root-bg:var(--color-base-100)}:root{scrollbar-color:currentColor #0000}@supports (color:color-mix(in lab, red, red)){:root{scrollbar-color:color-mix(in oklch, currentColor 35%, #0000) #0000}}}@layer components{.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)}.icon{vertical-align:-.25em;flex:none;width:1.25em;height:1.25em;display:inline-block}.md-button,.md-icon-button{--md-h:2.5rem;min-height:var(--md-h);border-radius:calc(var(--md-h) / 2);letter-spacing:.007em;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;line-height:1.43;text-decoration:none;display:inline-flex}.md-button{padding-inline:1.5rem}.md-button:has(>.icon:first-child){padding-inline-start:1rem}.md-button .icon{vertical-align:0;width:1.25rem;height:1.25rem}.md-icon-button{width:var(--md-h);color:var(--md-sys-color-on-surface-variant);padding:0}.md-icon-button .icon{width:1.5rem;height:1.5rem}.md-button--filled{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)}.md-button--tonal{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}.md-button--outlined{border:1px solid var(--md-sys-color-outline-variant);color:var(--md-sys-color-on-surface-variant)}.md-button--text{color:var(--md-sys-color-primary);padding-inline:.75rem}:is(.md-button,.md-icon-button):disabled,:is(.md-button,.md-icon-button)[aria-disabled=true]{opacity:.38;pointer-events:none}.md-field{border:1px solid var(--md-sys-color-outline);border-radius:var(--shape-xs);min-width:0;min-height:3.5rem;color:var(--md-sys-color-on-surface);transition:border-color var(--motion-effects-duration) var(--motion-effects);background:0 0;padding:0 1rem;font-size:1rem}.md-field::placeholder{color:var(--md-sys-color-on-surface-variant)}.md-field:hover{border-color:var(--md-sys-color-on-surface)}.md-field:focus-visible{outline:2px solid var(--md-sys-color-primary);outline-offset:-2px;border-color:#0000}.md-field[aria-invalid=true]{border-color:var(--md-sys-color-error)}.md-card{border-radius:var(--shape-xl);background:var(--md-sys-color-surface-container-low);color:var(--md-sys-color-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:has(.md-card-link):hover{box-shadow:var(--elevation-1)}.md-card:has(.md-card-link):active{border-radius:var(--shape-l)}.md-card .md-card-link{color:inherit;outline:none;text-decoration:none}.md-card .md-card-link:after{content:"";z-index:1;border-radius:inherit;position:absolute;inset:0}.md-card:has(.md-card-link:focus-visible){outline:var(--focus-ring);outline-offset:var(--focus-offset)}.md-card :where(a:not(.md-card-link),button){z-index:2;position:relative}.md-card-title{align-items:flex-start;gap:.75rem;display:flex}.md-card-title:before{content:"";border-radius:var(--shape-full);background:var(--md-sys-color-primary);flex:none;width:.25rem;height:1lh;max-height:1.5rem;margin-top:calc(.5lh - min(1lh,1.5rem)/2)}.md-chip,.md-tag{border-radius:var(--shape-s);min-height:2rem;transition:border-radius var(--motion-fast-spatial-duration) var(--motion-fast-spatial);align-items:center;gap:.375rem;padding-inline:.75rem;font-size:.875rem;font-weight:500;line-height:1.43;text-decoration:none;display:inline-flex}.md-chip{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}.md-tag{border-radius:var(--shape-full);background:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-on-surface);padding-inline:.875rem .5rem}.md-tag:not(:has(.md-count)){padding-inline-end:.875rem}a:is(.md-chip,.md-tag):active{border-radius:var(--shape-s)}.md-tag>.md-hash{color:var(--md-sys-color-primary)}.md-count{border-radius:var(--shape-full);background:var(--md-sys-color-surface);min-width:1.5rem;color:var(--md-sys-color-on-surface-variant);text-align:center;font-variant-numeric:tabular-nums;flex:none;padding:.0625rem .4375rem;font-size:.75rem}.meta-line{color:var(--md-sys-color-on-surface-variant);flex-wrap:wrap;align-items:center;gap:.125rem 1rem;display:flex;overflow:clip}.meta-item{align-items:baseline;gap:.375rem;min-width:0;display:inline-flex;position:relative}.meta-item+.meta-item:before{content:"";opacity:.7;background:currentColor;border-radius:50%;width:.2em;height:.2em;position:absolute;top:50%;left:-.5rem;transform:translate(-50%,-50%)}.meta-item>.icon{opacity:.85;align-self:center;width:1.375em;height:1.375em;transform:translateY(-.06em)}a.meta-item{color:inherit;border-radius:var(--shape-xs);text-decoration:none}a.meta-item:hover{color:var(--md-sys-color-primary)}.title-mark{vertical-align:-.16em;margin-inline-end:.4em;line-height:1;display:inline-block}.title-mark>:where(svg,img){object-fit:contain;width:1.1em;height:1.1em;display:block}.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[data-dir=left]{transform:scaleX(-1)}.lock-form{gap:.75rem;max-width:28rem;display:grid}.lock-form>div{gap:.5rem;min-width:0;display:flex}.lock-form .md-field{flex:1 1 0;width:0}.lock-form [data-lock-error]{color:var(--md-sys-color-error);font-size:.875rem}.skip-link{z-index:70;position:fixed;top:.75rem;left:.75rem;translate:0 -200%}.skip-link:focus-visible{translate:none}main:focus{outline:none}.site-header{z-index:40;pointer-events:none;padding:.75rem .75rem 0;position:fixed;inset:0 0 auto}.md-toolbar{isolation:isolate;border-radius:var(--shape-full);max-width:72rem;min-height:3.5rem;box-shadow:var(--elevation-2);pointer-events:auto;align-items:center;gap:.25rem;margin-inline:auto;padding:.5rem .5rem .5rem 1rem;display:flex;position:relative}.md-toolbar:before{content:"";z-index:-1;border-radius:inherit;background:var(--md-sys-color-surface-container);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.md-toolbar:before{background:color-mix(in oklab, var(--md-sys-color-surface-container) 86%, transparent)}}.md-toolbar:before{backdrop-filter:blur(16px)saturate(1.4)}.site-title{min-width:0;color:var(--md-sys-color-primary);border-radius:var(--shape-s);flex:1;align-items:center;gap:.5rem;margin-inline-end:.25rem;font-size:1.125rem;text-decoration:none;display:inline-flex}.site-title>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.site-logo{flex:none;width:1.75em;height:1.75em}.logo-a{fill:var(--md-sys-color-primary)}.logo-b{fill:var(--md-sys-color-tertiary)}.site-nav{gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.md-nav-item{border-radius:var(--shape-full);min-height:2.5rem;color:var(--md-sys-color-on-surface);white-space:nowrap;align-items:center;gap:.5rem;padding-inline:.875rem 1rem;text-decoration:none;display:inline-flex}.md-nav-item:is([aria-current=page],[aria-current=true]){background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}.md-nav-item .icon{width:1.25rem;height:1.25rem}.md-toolbar .md-icon-button{color:var(--md-sys-color-on-surface);flex:none}.menu-toggle{order:1}.menu-toggle svg{width:1.5rem;height:1.5rem;overflow:visible}.menu-line{transform-origin:12px 12px;transition:transform var(--motion-fast-spatial-duration) var(--motion-fast-spatial), opacity var(--motion-fast-effects-duration) var(--motion-fast-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>=40rem){.site-header{padding:1rem 1.5rem 0}.md-toolbar{gap:.5rem;padding-inline:1.25rem .75rem}.site-title{flex:none;margin-inline-end:auto;font-size:1.375rem}.menu-toggle{display:none}}@media not all and (width>=40rem){.site-nav{border-radius:var(--shape-l-inc);background:var(--md-sys-color-surface-container-high);min-width:13rem;box-shadow:var(--elevation-3);transform-origin:100% 0;opacity:0;visibility:hidden;transition:opacity var(--motion-fast-effects-duration) var(--motion-fast-effects), scale var(--motion-fast-spatial-duration) var(--motion-fast-spatial), translate var(--motion-fast-spatial-duration) var(--motion-fast-spatial), visibility 0s var(--motion-fast-spatial-duration);flex-direction:column;padding:.5rem;position:absolute;top:calc(100% + .5rem);right:0;translate:0 -.5rem;scale:.92}.site-nav[data-open]{opacity:1;visibility:visible;transition-delay:0s;translate:none;scale:1}.site-nav .md-nav-item{width:100%;min-height:3rem;font-size:1rem}}@media (scripting:none){:is([data-search-open],[data-theme-toggle],[data-menu-toggle]){display:none}.site-nav{min-width:0;box-shadow:none;opacity:1;visibility:visible;background:0 0;flex-direction:row;padding:0;position:static;translate:none;scale:none}.site-nav .md-nav-item{min-height:2.5rem;padding-inline:.75rem;font-size:.875rem}.site-nav .md-nav-item .icon{display:none}}.theme-icon{width:1.5rem;height:1.5rem}.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)}:root[data-theme=dark] .theme-icon .theme-core{r:5px}:root[data-theme=dark] .theme-icon .theme-cut{cx:32px;cy:-8px}:root[data-theme=dark] .theme-icon .theme-rays{opacity:1;transform:none}@media (prefers-color-scheme:dark){:root:not([data-theme]) .theme-icon .theme-core{r:5px}:root:not([data-theme]) .theme-icon .theme-cut{cx:32px;cy:-8px}:root:not([data-theme]) .theme-icon .theme-rays{opacity:1;transform:none}}.md-search{border-radius:var(--shape-xl);background:var(--md-sys-color-surface-container);width:min(40rem,100vw - 1.5rem);max-height:min(38rem,100dvh - 7rem);color:var(--md-sys-color-on-surface);box-shadow:var(--elevation-3);border:0;margin:4.75rem auto auto;padding:0;overflow:hidden}.md-search[open]{flex-direction:column;display:flex}.md-search::backdrop{background:#00000052}@media (prefers-reduced-motion:no-preference){.md-search[open]{animation:search-in var(--motion-spatial-duration) var(--motion-spatial) both}}.md-search-bar{border-bottom:1px solid var(--md-sys-color-outline-variant);flex:none;align-items:center;gap:.75rem;min-height:3.5rem;padding:.25rem .5rem .25rem 1rem;display:flex}.md-search-bar .md-search-icon{width:1.5rem;height:1.5rem;color:var(--md-sys-color-on-surface-variant)}.md-search-bar input{min-width:0;min-height:2.75rem;color:inherit;background:0 0;border:0;outline:none;flex:1}.md-search-bar input::placeholder{color:var(--md-sys-color-on-surface-variant)}.md-search-bar:has(input:focus-visible){box-shadow:inset 0 -2px 0 var(--md-sys-color-primary)}.md-search-bar input::-webkit-search-cancel-button{display:none}.md-search-status{color:var(--md-sys-color-on-surface-variant);margin:0;padding:.75rem 1.25rem}.md-search-results{overscroll-behavior:contain;margin:0;padding:0 .5rem .5rem;list-style:none;overflow-y:auto}.md-search-results:empty{display:none}.md-search-result{border-radius:var(--shape-m);color:inherit;flex-direction:column;gap:.25rem;padding:.75rem;text-decoration:none;display:flex}.md-search-title{color:var(--md-sys-color-on-surface)}.md-search-lock{vertical-align:-.1em;width:.9em;height:.9em;fill:var(--md-sys-color-on-surface-variant);margin-inline-start:.4em;display:inline-block}.md-search-excerpt{color:var(--md-sys-color-on-surface-variant)}.md-search-excerpt mark{border-radius:var(--shape-xs);background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);padding:0 .1em}.banner{isolation:isolate;color:#fff;background:#0b1530;height:13.5rem;position:relative;overflow:hidden}.banner[data-banner=home]{height:clamp(22rem,60vh,40rem)}.banner[data-banner=post]{height:12rem}.banner-media,.banner-copy{position:absolute;inset:0}.banner-media{background:var(--banner-s) center / cover no-repeat}@media (width>=768px){.banner-media{background-image:var(--banner-m)}}@media (width>=1440px){.banner-media{background-image:var(--banner-l)}}.banner-media:after{content:"";background:#00000024;position:absolute;inset:0}:root[data-theme=dark] .banner-media:after{background:#0000004d}@media (prefers-color-scheme:dark){:root:not([data-theme]) .banner-media:after{background:#0000004d}}.banner-copy{z-index:2;text-align:center;text-shadow:0 2px 16px #00000080;flex-direction:column;justify-content:center;align-items:center;padding:4.5rem 1.5rem 4rem;display:flex}.banner-title{letter-spacing:-.02em;text-wrap:balance;margin:0;font-size:clamp(2.75rem,9vw,5.5rem);font-weight:700;line-height:1.05}.banner-subtitle{opacity:.94;text-wrap:pretty;max-width:40rem;margin:.75rem 0 0;font-size:clamp(1.0625rem,2.4vw,1.5rem);line-height:1.5}.banner[data-banner=page]{height:17rem}.banner-copy--page{z-index:4;gap:.25rem;padding:4.75rem 1.25rem 4.5rem}.banner-copy--page .banner-title{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;max-width:56rem;font-size:clamp(2rem,8vw,3.5rem);display:-webkit-box;overflow:hidden}.banner-copy--page .banner-subtitle{margin-top:.25rem;font-size:clamp(1rem,2vw,1.25rem)}.banner-kicker{opacity:.94;flex-wrap:wrap;justify-content:center;align-items:center;gap:.125rem .375rem;margin:0;font-size:1rem;font-weight:500;display:flex}.banner-kicker a{color:inherit;text-underline-offset:.2em;border-radius:var(--shape-xs);text-decoration:underline 1px}.banner-kicker a:hover{text-decoration-thickness:2px}@media (width>=64rem){.banner[data-banner=page]{height:clamp(19rem,40vh,24rem)}.banner[data-banner=post]{height:clamp(16rem,34vh,22rem)}}.banner-fade{z-index:3;background:linear-gradient(to bottom, transparent 0%, var(--md-sys-color-surface) 20%, var(--md-sys-color-surface) 40%, var(--md-sys-color-surface) 60%, var(--md-sys-color-surface) 80%, var(--md-sys-color-surface) 92%, var(--md-sys-color-surface) 100%);height:clamp(5rem,40%,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(--md-sys-color-surface) 8%, transparent) 20%, color-mix(in srgb, var(--md-sys-color-surface) 25%, transparent) 40%, color-mix(in srgb, var(--md-sys-color-surface) 50%, transparent) 60%, color-mix(in srgb, var(--md-sys-color-surface) 78%, transparent) 80%, color-mix(in srgb, var(--md-sys-color-surface) 94%, transparent) 92%, var(--md-sys-color-surface) 100%)}}.banner-fade{pointer-events:none}main{--rise:3rem;z-index:1;margin-top:calc(-1 * var(--rise));padding:0 1rem 4rem;display:block;position:relative}@media (width>=40rem){main{padding-inline:1.5rem}}.page-wide{max-width:72rem;margin-inline:auto}.page-narrow{max-width:48rem;margin-inline:auto}.page-head{margin-bottom:1.5rem}.page-sub{color:var(--md-sys-color-on-surface-variant);margin-top:.25rem}.empty{color:var(--md-sys-color-on-surface-variant)}.section-title{color:var(--md-sys-color-primary);margin:2.5rem 0 1rem}.collection:first-child{padding-top:calc(var(--rise) + .5rem)}.collection:first-child .section-title{margin-top:0}.surface{border-radius:var(--shape-xl);background:var(--md-sys-color-surface-container-low)}.title-body{max-width:100%;display:inline-block}.lock-mark{vertical-align:-.08em;width:.85em;height:.85em;color:var(--md-sys-color-on-surface-variant);margin-inline-start:.4em}.title-mark[data-kind=emoji]{vertical-align:-.05em;font-family:Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,sans-serif;font-size:1.05em}.draft-chip{background:var(--md-sys-color-tertiary-container);color:var(--md-sys-color-on-tertiary-container);margin-top:.75rem}.post-list{gap:1rem;display:grid}.post-card{flex-direction:column;gap:1rem;padding:1.25rem;display:flex}.post-card-text{flex:1;min-width:0}.post-card-summary{color:var(--md-sys-color-on-surface-variant);margin-top:.75rem}.md-card:has(>.post-card-thumb){overflow:hidden}.post-card-thumb{aspect-ratio:16/9;object-fit:cover;background:var(--md-sys-color-surface-container);order:-1;width:calc(100% + 2.5rem);max-width:none;height:auto;margin:-1.25rem -1.25rem 0}@media (width>=40rem){.post-card{flex-direction:row;align-items:flex-start;gap:1.25rem;padding:1.5rem}.post-card-thumb{aspect-ratio:auto;border-radius:var(--shape-m);flex:none;order:0;width:10rem;height:7.5rem;margin:0}}.pager{justify-content:center;align-items:center;gap:.25rem;display:flex}.pager[data-position=top]{margin-bottom:1.5rem}.pager[data-position=bottom]{margin-top:2rem}.pager ul{gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.pager-arrow{border-radius:var(--shape-full);place-items:center;width:2.5rem;height:2.5rem;display:grid}a.pager-arrow{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}.pager-link{border-radius:var(--shape-full);min-width:2.5rem;height:2.5rem;color:var(--md-sys-color-on-surface);font-variant-numeric:tabular-nums;place-items:center;padding-inline:.5rem;text-decoration:none;display:grid}.pager-link[aria-current=page]{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)}@media not all and (width>=40rem){.pager li:is([data-tier="2"],[data-tier="3"]){display:none}}.taxon-line{color:var(--md-sys-color-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-group>.icon{opacity:.85;width:1.25em;height:1.25em}.taxon-link{color:var(--md-sys-color-primary);border-radius:var(--shape-xs);font-weight:500;text-decoration:none}.taxon-link:hover{color:var(--md-sys-color-primary)}@supports (color:color-mix(in lab, red, red)){.taxon-link:hover{color:color-mix(in oklab, var(--md-sys-color-primary) 70%, var(--md-sys-color-on-surface))}}.taxon-sep{opacity:.6}.post-layout.has-toc{max-width:72rem;margin-inline:auto}@media (width>=64rem){.post-layout.has-toc{grid-template-columns:minmax(0,1fr) 16rem;align-items:start;gap:1.5rem;display:grid}}.post{min-width:0}.post-header{padding:1.5rem 1.25rem 1.25rem}.post-body{border-top:1px solid var(--md-sys-color-outline-variant);margin-inline:1.25rem;padding:1.5rem 0}@media (width>=40rem){.post-header{padding:2rem 2rem 1.5rem}.post-body{margin-inline:2rem;padding-block:2rem}}.post-title{color:var(--md-sys-color-on-surface);text-wrap:balance;margin:0}.post-title:before{max-height:2rem}.post-meta{margin-top:1rem}.post-taxonomy{margin-top:.5rem}.post-lede{color:var(--md-sys-color-on-surface-variant);margin-top:.75rem}.series-line{color:var(--md-sys-color-on-surface-variant);flex-wrap:wrap;gap:.25rem .75rem;margin-bottom:.75rem;display:flex}.series-line a{color:var(--md-sys-color-primary);text-underline-offset:.2em;border-radius:var(--shape-xs)}.post-locked{border-top:1px solid var(--md-sys-color-outline-variant);margin-inline:1.25rem;padding:1.5rem 0 2rem}@media (width>=40rem){.post-locked{margin-inline:2rem}}[data-lock-content]:focus{outline:none}.widget{margin-block:1.5em}.series-nav{gap:.75rem;margin-top:1.5rem;display:grid}.series-nav-link{flex-direction:column;gap:.25rem;padding:1rem 1.25rem;text-decoration:none;display:flex}.series-nav-label{color:var(--md-sys-color-on-surface-variant);align-items:center;gap:.25rem;display:inline-flex}@media (width>=40rem){.series-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.series-nav-link[data-rel=next]{text-align:end;grid-column:2;align-items:flex-end}}.post-aside{display:none}@media (width>=64rem){.post-aside{display:block;position:sticky;top:6rem}}.toc{overscroll-behavior:contain;border-radius:var(--shape-xl);background:var(--md-sys-color-surface-container-low);scrollbar-color:var(--md-sys-color-outline-variant) transparent;scrollbar-width:thin;max-height:calc(100dvh - 8rem);padding:1rem;overflow-y:auto}.toc ul{margin:0;padding:0;list-style:none}.toc-title{color:var(--md-sys-color-on-surface);margin:0 0 .5rem .5rem}.toc-track{position:relative}.toc-bar{z-index:1;border-radius:var(--shape-full);background:var(--md-sys-color-primary);opacity:0;will-change:transform, height;width:.25rem;height:0;position:absolute;top:0;left:0}.toc-track[data-ready] .toc-bar{opacity:1}.md-toc-link{border-radius:var(--shape-s);color:var(--md-sys-color-on-surface-variant);transition:background-color var(--motion-effects-duration) var(--motion-effects);padding:.375rem .5rem .375rem .875rem;text-decoration:none;display:flex}.md-toc-link[aria-current=location]{color:var(--md-sys-color-primary);font-weight:600}.toc-sec[data-open]>.md-toc-link{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container);font-weight:600}.toc-subs>ul,.toc-lead{padding-left:1rem}@media (scripting:enabled){.toc-subs{visibility:hidden;transition:grid-template-rows var(--motion-spatial-duration) var(--motion-spatial), visibility 0s var(--motion-spatial-duration);grid-template-rows:0fr;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}}.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-fabs{flex-direction:column;align-items:flex-end;gap:.75rem;display:flex}.post-fab,.toc-sheet{pointer-events:auto}.post-fab{border-radius:var(--shape-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;padding:0;display:grid}.post-fab:active{border-radius:var(--shape-s)}.post-fab .icon{vertical-align:0;width:1.5rem;height:1.5rem}.post-fab--top{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}.post-fab--toc{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-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{overscroll-behavior:contain;border-radius:var(--shape-xl);background:var(--md-sys-color-surface-container-high);width:min(20rem,100vw - 2rem);max-height:min(60dvh,28rem);box-shadow:var(--elevation-3);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);position:absolute;bottom:calc(100% + .75rem);right:0;overflow-y:auto;transform:scale(.9)translateY(.5rem)}.toc-sheet[data-open]{opacity:1;visibility:visible;transition-delay:0s;transform:none}.toc-sheet .toc{background:0 0;max-height:none;overflow:visible}.toc-sheet .md-toc-link:not([aria-current=location]){color:var(--md-sys-color-on-surface)}@media (width>=64rem){.post-fab--toc,.toc-sheet{display:none}}@media (scripting:none){.post-tools{display:none}}.continue-body{padding-top:2.5rem}.continue-header{align-items:center;gap:1rem;margin:0;display:flex}.continue-header:after{content:"";background:var(--md-sys-color-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(--md-sys-color-primary);flex-direction:column;gap:.5rem;min-width:0;display:flex}.continue-lane[data-lane=route]{--lane:var(--md-sys-color-tertiary)}.continue-lane-head{padding-inline:.75rem}.continue-lane-head p{color:var(--md-sys-color-on-surface-variant);margin:.25rem 0 0}.continue-lane-title{color:var(--lane);align-items:center;gap:.5rem;margin:0;display:flex}.continue-lane ul{flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.continue-link{border-radius:var(--shape-m);min-width:0;min-height:3.5rem;color:var(--md-sys-color-on-surface-variant);align-items:center;gap:.75rem;padding:.5rem .75rem;text-decoration:none;display:flex}.continue-bar{border-radius:var(--shape-full);background:var(--lane);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(--md-sys-color-on-surface);font-weight:700}.continue-title .title-body{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.continue-meta{flex-wrap:wrap;gap:.25rem .75rem;font-size:.75rem;display:flex}.continue-link .arrowhead{transition:transform var(--motion-fast-spatial-duration) var(--motion-fast-spatial)}.continue-link:hover :is(.continue-title,.arrowhead){color:var(--lane)}.continue-link:hover .arrowhead{transform:translate(.25rem)}@media (width>=48rem){.continue-lanes[data-count="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}.continue-lane+.continue-lane{border-left:1px solid var(--md-sys-color-outline-variant);padding-left:1rem}}@media (scripting:enabled){.continue{opacity:0;visibility:hidden;transition:opacity var(--motion-effects-duration) var(--motion-effects), visibility 0s var(--motion-effects-duration)}.continue-inner{transition:translate var(--motion-spatial-duration) var(--motion-spatial);translate:0 1rem}.continue[data-shown]{opacity:1;visibility:visible;transition-delay:0s}.continue[data-shown] .continue-inner{translate:none}[data-reading-end]{position:sticky;top:0}}.group-grid{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}@media (width>=40rem){.group-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=64rem){.group-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.group-card{justify-content:space-between;align-items:center;gap:1rem;height:100%;padding:1rem 1.25rem;text-decoration:none;display:flex}.group-card:hover{box-shadow:var(--elevation-1)}.group-card:active{border-radius:var(--shape-l)}.group-name{min-width:0}.group-card .md-count,.md-tag .md-count{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}.pill-list{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.post-rows{margin:0;padding:.25rem 0;list-style:none}.post-row{align-items:baseline;gap:.5rem 1rem;padding:.75rem 1.25rem;display:flex}.post-row+.post-row{border-top:1px solid var(--md-sys-color-outline-variant)}@supports (color:color-mix(in lab, red, red)){.post-row+.post-row{border-top:1px solid color-mix(in oklab, var(--md-sys-color-outline-variant) 60%, transparent)}}.post-row-date{width:8.5rem;color:var(--md-sys-color-on-surface-variant);flex:none}.post-row-title{min-width:0;color:var(--md-sys-color-on-surface);border-radius:var(--shape-xs);flex:1;text-decoration:none}.post-row-title:hover{color:var(--md-sys-color-primary)}.post-row-category{color:var(--md-sys-color-on-surface-variant)}@media not all and (width>=40rem){.post-row{flex-direction:column;gap:.125rem}.post-row-date{order:1;width:auto}.post-row-category{display:none}}.card-list{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.series-card{padding:1.25rem 1.5rem}.series-card-count{color:var(--md-sys-color-on-surface-variant);margin-top:.25rem}.series-card-text{color:var(--md-sys-color-on-surface-variant);margin-top:.75rem}.series-intro .post-header:last-child{padding-bottom:2rem}.part-card{align-items:flex-start;gap:1rem;padding:1rem 1.25rem;display:flex}.part-number{border-radius:var(--shape-full);background:var(--md-sys-color-secondary-container);width:2.5rem;height:2.5rem;color:var(--md-sys-color-on-secondary-container);font-variant-numeric:tabular-nums;flex:none;place-items:center;display:grid}.part-text{min-width:0;padding-top:.375rem}.part-summary{color:var(--md-sys-color-on-surface-variant);margin-top:.5rem}.not-found{text-align:center;max-width:36rem;margin:2rem auto 0}.not-found-code{color:var(--md-sys-color-primary);letter-spacing:-.04em;margin:0;font-size:clamp(5rem,22vw,9rem);font-weight:700;line-height:1}.not-found>p:not(.not-found-code){color:var(--md-sys-color-on-surface-variant);margin-top:.75rem}.not-found .not-found-actions{flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:1.75rem;display:flex}.site-footer{border-top:1px solid var(--md-sys-color-outline-variant);max-width:72rem;color:var(--md-sys-color-on-surface-variant);flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem 1.5rem;margin-inline:auto;padding:2rem 1rem 2.5rem;display:flex}.site-feeds{gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.site-feeds a{border-radius:var(--shape-full);min-height:2.5rem;color:inherit;align-items:center;gap:.375rem;padding-inline:.75rem;text-decoration:none;display:inline-flex}.site-feeds a:hover{background:var(--md-sys-color-surface-container);color:var(--md-sys-color-primary)}.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)}@media print{:is(.site-header,.banner,.site-footer,.post-tools,.continue,.skip-link){display:none}main{margin:0}}}@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.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-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}:root .prose{--tw-prose-body:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){:root .prose{--tw-prose-body:color-mix(in oklab, var(--color-base-content) 80%, #0000)}}:root .prose{--tw-prose-headings:var(--color-base-content);--tw-prose-lead:var(--color-base-content);--tw-prose-links:var(--color-base-content);--tw-prose-bold:var(--color-base-content);--tw-prose-counters:var(--color-base-content);--tw-prose-bullets:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){:root .prose{--tw-prose-bullets:color-mix(in oklab, var(--color-base-content) 50%, #0000)}}:root .prose{--tw-prose-hr:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){:root .prose{--tw-prose-hr:color-mix(in oklab, var(--color-base-content) 20%, #0000)}}:root .prose{--tw-prose-quotes:var(--color-base-content);--tw-prose-quote-borders:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){:root .prose{--tw-prose-quote-borders:color-mix(in oklab, var(--color-base-content) 20%, #0000)}}:root .prose{--tw-prose-captions:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){:root .prose{--tw-prose-captions:color-mix(in oklab, var(--color-base-content) 50%, #0000)}}:root .prose{--tw-prose-code:var(--color-base-content);--tw-prose-pre-code:var(--color-neutral-content);--tw-prose-pre-bg:var(--color-neutral);--tw-prose-th-borders:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){:root .prose{--tw-prose-th-borders:color-mix(in oklab, var(--color-base-content) 50%, #0000)}}:root .prose{--tw-prose-td-borders:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){:root .prose{--tw-prose-td-borders:color-mix(in oklab, var(--color-base-content) 20%, #0000)}}:root .prose{--tw-prose-kbd:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){:root .prose{--tw-prose-kbd:color-mix(in oklab, var(--color-base-content) 80%, #0000)}}:root .prose :where(code):not(pre>code){background-color:var(--color-base-200);border-radius:var(--radius-selector);border:var(--border) solid var(--color-base-300);font-weight:inherit;padding-block:.2em;padding-inline:.5em}:root .prose :where(code):not(pre>code):before,:root .prose :where(code):not(pre>code):after{display:none}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.shrink{flex-shrink:1}.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,)}.resize{resize:both}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.type-body-l{font-size:1rem;line-height:1.5;font-weight:calc(400 + var(--type-emph) * 200);letter-spacing:.031em}.type-body-m{font-size:.875rem;line-height:1.43;font-weight:calc(400 + var(--type-emph) * 200);letter-spacing:.018em}.type-body-s{font-size:.75rem;line-height:1.33;font-weight:calc(400 + var(--type-emph) * 200);letter-spacing:.033em}.type-label-l{font-size:.875rem;line-height:1.43;font-weight:calc(500 + var(--type-emph) * 200);letter-spacing:.007em}.type-label-m{font-size:.75rem;line-height:1.33;font-weight:calc(500 + var(--type-emph) * 200);letter-spacing:.042em}.type-title-m{font-size:1rem;line-height:1.5;font-weight:calc(500 + var(--type-emph) * 200);letter-spacing:.009em}.type-title-s{font-size:.875rem;line-height:1.43;font-weight:calc(500 + var(--type-emph) * 200);letter-spacing:.007em}.type-headline-l{font-size:clamp(1.75rem,1.4rem + 1.4vw,2rem);line-height:1.25;font-weight:calc(400 + var(--type-emph) * 200)}.type-headline-m{font-size:1.75rem;line-height:1.29;font-weight:calc(400 + var(--type-emph) * 200)}.type-headline-s{font-size:1.5rem;line-height:1.33;font-weight:calc(400 + var(--type-emph) * 200)}.type-title-l{font-size:1.375rem;line-height:1.27;font-weight:calc(400 + var(--type-emph) * 200)}.capitalize{text-transform:capitalize}.italic{font-style:italic}.underline{text-decoration-line:underline}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.type-emph{--type-emph:1}}:root,[data-theme=light]{color-scheme:light;--md-sys-color-primary:#3b6287;--md-sys-color-on-primary:#f7f9ff;--md-sys-color-primary-container:#abd3fd;--md-sys-color-on-primary-container:#1e486c;--md-sys-color-secondary:#526070;--md-sys-color-on-secondary:#f7f9ff;--md-sys-color-secondary-container:#d5e4f7;--md-sys-color-on-secondary-container:#455363;--md-sys-color-tertiary:#5e5a84;--md-sys-color-on-tertiary:#fcf7ff;--md-sys-color-tertiary-container:#d2ccfd;--md-sys-color-on-tertiary-container:#46436b;--md-sys-color-error:#a83836;--md-sys-color-on-error:#fff7f6;--md-sys-color-error-container:#fa746f;--md-sys-color-on-error-container:#6e0a12;--md-sys-color-surface:#f8f9fe;--md-sys-color-surface-dim:#d5dae3;--md-sys-color-surface-bright:#f8f9fe;--md-sys-color-surface-container-lowest:#fff;--md-sys-color-surface-container-low:#f1f3fa;--md-sys-color-surface-container:#ebeef5;--md-sys-color-surface-container-high:#e5e8f0;--md-sys-color-surface-container-highest:#dee3ec;--md-sys-color-on-surface:#2d333a;--md-sys-color-on-surface-variant:#5a5f67;--md-sys-color-outline:#767b83;--md-sys-color-outline-variant:#adb2bb;--md-sys-color-inverse-surface:#0c0e12;--md-sys-color-inverse-on-surface:#9b9da1;--md-sys-color-inverse-primary:#abd3fd;--md-sys-color-shadow:#000;--md-sys-color-scrim:#000;--md-sys-color-info:#215fa6;--md-sys-color-on-info:#fff;--md-sys-color-info-container:#d5e3ff;--md-sys-color-on-info-container:#001c3b;--md-sys-color-success:#296b2a;--md-sys-color-on-success:#fff;--md-sys-color-success-container:#acf4a2;--md-sys-color-on-success-container:#002203;--md-sys-color-warning:#825500;--md-sys-color-on-warning:#fff;--md-sys-color-warning-container:#ffddb2;--md-sys-color-on-warning-container:#291800;--b3-font-color1:#a23836;--b3-font-background1:#e8d2d6;--b3-font-color2:#825500;--b3-font-background2:#e0d8cb;--b3-font-color3:#215fa6;--b3-font-background3:#cddaec;--b3-font-color4:#296b2a;--b3-font-background4:#cfddd4;--b3-font-color5:#2d333a;--b3-font-background5:#e5e8f0;--b3-font-color6:#36526c;--b3-font-background6:#b6c4d4;--b3-font-color7:#45505d;--b3-font-background7:#bec3cc;--b3-font-color8:#7d3637;--b3-font-background8:#dcb5b8;--b3-font-color9:#703c5d;--b3-font-background9:#d5b9cc;--b3-font-color10:#10565d;--b3-font-background10:#a1c7cc;--b3-font-color11:#325929;--b3-font-background11:#b3c7b1;--b3-font-color12:#594e14;--b3-font-background12:#c9c2a5;--b3-font-color13:#f8f9fe;--b3-font-background13:#2d333a}[data-theme=dark]{color-scheme:dark;--md-sys-color-primary:#acc9ea;--md-sys-color-on-primary:#25425d;--md-sys-color-primary-container:#385571;--md-sys-color-on-primary-container:#d0e5ff;--md-sys-color-secondary:#b9c8da;--md-sys-color-on-secondary:#344150;--md-sys-color-secondary-container:#2f3d4b;--md-sys-color-on-secondary-container:#b2c1d3;--md-sys-color-tertiary:#e1dcff;--md-sys-color-on-tertiary:#4f4b74;--md-sys-color-tertiary-container:#d2ccfd;--md-sys-color-on-tertiary-container:#46436b;--md-sys-color-error:#fa746f;--md-sys-color-on-error:#490006;--md-sys-color-error-container:#871f21;--md-sys-color-on-error-container:#ff9993;--md-sys-color-surface:#0c0e12;--md-sys-color-surface-dim:#0c0e12;--md-sys-color-surface-bright:#272d33;--md-sys-color-surface-container-lowest:#000;--md-sys-color-surface-container-low:#101418;--md-sys-color-surface-container:#161a1f;--md-sys-color-surface-container-high:#1b2026;--md-sys-color-surface-container-highest:#21262d;--md-sys-color-on-surface:#e1e6ef;--md-sys-color-on-surface-variant:#a6abb4;--md-sys-color-outline:#70767e;--md-sys-color-outline-variant:#434850;--md-sys-color-inverse-surface:#f8f9fe;--md-sys-color-inverse-on-surface:#535559;--md-sys-color-inverse-primary:#45617e;--md-sys-color-shadow:#000;--md-sys-color-scrim:#000;--md-sys-color-info:#a6c8ff;--md-sys-color-on-info:#003060;--md-sys-color-info-container:#004787;--md-sys-color-on-info-container:#d5e3ff;--md-sys-color-success:#91d888;--md-sys-color-on-success:#003908;--md-sys-color-success-container:#0b5314;--md-sys-color-on-success-container:#acf4a2;--md-sys-color-warning:#ffb94e;--md-sys-color-on-warning:#452b00;--md-sys-color-warning-container:#624000;--md-sys-color-on-warning-container:#ffddb2;--b3-font-color1:#fa746f;--b3-font-background1:#3c2225;--b3-font-color2:#ffb94e;--b3-font-background2:#3d301e;--b3-font-color3:#a6c8ff;--b3-font-background3:#2b3341;--b3-font-color4:#91d888;--b3-font-background4:#27362a;--b3-font-color5:#e1e6ef;--b3-font-background5:#1b2026;--b3-font-color6:#acc9ea;--b3-font-background6:#444f5e;--b3-font-color7:#b9c8da;--b3-font-background7:#494f58;--b3-font-color8:#f4918f;--b3-font-background8:#5f3233;--b3-font-color9:#ffafd6;--b3-font-background9:#614657;--b3-font-color10:#4dd9e5;--b3-font-background10:#23555c;--b3-font-color11:#9ad680;--b3-font-background11:#3e5439;--b3-font-color12:#e5c449;--b3-font-background12:#584e25;--b3-font-color13:#0c0e12;--b3-font-background13:#e1e6ef}@media (prefers-color-scheme:dark){:root:not([data-theme]){color-scheme:dark;--md-sys-color-primary:#acc9ea;--md-sys-color-on-primary:#25425d;--md-sys-color-primary-container:#385571;--md-sys-color-on-primary-container:#d0e5ff;--md-sys-color-secondary:#b9c8da;--md-sys-color-on-secondary:#344150;--md-sys-color-secondary-container:#2f3d4b;--md-sys-color-on-secondary-container:#b2c1d3;--md-sys-color-tertiary:#e1dcff;--md-sys-color-on-tertiary:#4f4b74;--md-sys-color-tertiary-container:#d2ccfd;--md-sys-color-on-tertiary-container:#46436b;--md-sys-color-error:#fa746f;--md-sys-color-on-error:#490006;--md-sys-color-error-container:#871f21;--md-sys-color-on-error-container:#ff9993;--md-sys-color-surface:#0c0e12;--md-sys-color-surface-dim:#0c0e12;--md-sys-color-surface-bright:#272d33;--md-sys-color-surface-container-lowest:#000;--md-sys-color-surface-container-low:#101418;--md-sys-color-surface-container:#161a1f;--md-sys-color-surface-container-high:#1b2026;--md-sys-color-surface-container-highest:#21262d;--md-sys-color-on-surface:#e1e6ef;--md-sys-color-on-surface-variant:#a6abb4;--md-sys-color-outline:#70767e;--md-sys-color-outline-variant:#434850;--md-sys-color-inverse-surface:#f8f9fe;--md-sys-color-inverse-on-surface:#535559;--md-sys-color-inverse-primary:#45617e;--md-sys-color-shadow:#000;--md-sys-color-scrim:#000;--md-sys-color-info:#a6c8ff;--md-sys-color-on-info:#003060;--md-sys-color-info-container:#004787;--md-sys-color-on-info-container:#d5e3ff;--md-sys-color-success:#91d888;--md-sys-color-on-success:#003908;--md-sys-color-success-container:#0b5314;--md-sys-color-on-success-container:#acf4a2;--md-sys-color-warning:#ffb94e;--md-sys-color-on-warning:#452b00;--md-sys-color-warning-container:#624000;--md-sys-color-on-warning-container:#ffddb2;--b3-font-color1:#fa746f;--b3-font-background1:#3c2225;--b3-font-color2:#ffb94e;--b3-font-background2:#3d301e;--b3-font-color3:#a6c8ff;--b3-font-background3:#2b3341;--b3-font-color4:#91d888;--b3-font-background4:#27362a;--b3-font-color5:#e1e6ef;--b3-font-background5:#1b2026;--b3-font-color6:#acc9ea;--b3-font-background6:#444f5e;--b3-font-color7:#b9c8da;--b3-font-background7:#494f58;--b3-font-color8:#f4918f;--b3-font-background8:#5f3233;--b3-font-color9:#ffafd6;--b3-font-background9:#614657;--b3-font-color10:#4dd9e5;--b3-font-background10:#23555c;--b3-font-color11:#9ad680;--b3-font-background11:#3e5439;--b3-font-color12:#e5c449;--b3-font-background12:#584e25;--b3-font-color13:#0c0e12;--b3-font-background13:#e1e6ef}}:root,[data-theme]{--color-base-100:var(--md-sys-color-surface);--color-base-200:var(--md-sys-color-surface-container);--color-base-300:var(--md-sys-color-surface-container-high);--color-base-content:var(--md-sys-color-on-surface);--color-primary:var(--md-sys-color-primary);--color-primary-content:var(--md-sys-color-on-primary);--color-secondary:var(--md-sys-color-secondary);--color-secondary-content:var(--md-sys-color-on-secondary);--color-accent:var(--md-sys-color-tertiary);--color-accent-content:var(--md-sys-color-on-tertiary);--color-neutral:var(--md-sys-color-inverse-surface);--color-neutral-content:var(--md-sys-color-inverse-on-surface);--color-info:var(--md-sys-color-info);--color-info-content:var(--md-sys-color-on-info);--color-success:var(--md-sys-color-success);--color-success-content:var(--md-sys-color-on-success);--color-warning:var(--md-sys-color-warning);--color-warning-content:var(--md-sys-color-on-warning);--color-error:var(--md-sys-color-error);--color-error-content:var(--md-sys-color-on-error);--radius-selector:2rem;--radius-field:2rem;--radius-box:1rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:0;--noise:0}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:optional;src:url(/_astro/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:italic;font-weight:400;font-display:optional;src:url(/_astro/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:500;font-display:optional;src:url(/_astro/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 900;font-display:optional;src:url(/_astro/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:400;font-display:swap;src:url(/_astro/be-vietnam-pro-latin-vietnamese-400-normal.DNLlTWbD.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,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:optional;src:url(/_astro/be-vietnam-pro-latin-vietnamese-400-italic.4EXzAOtR.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,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:optional;src:url(/_astro/be-vietnam-pro-latin-vietnamese-500-normal.D-6QsyhG.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,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 900;font-display:swap;src:url(/_astro/be-vietnam-pro-latin-vietnamese-600-normal.nV0IWfAF.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,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;font-weight:100 400;src:local(Arial),local(ArialMT),local(Liberation Sans),local(Nimbus Sans);size-adjust:107.8%;ascent-override:92.8%;descent-override:24.6%;line-gap-override:0%}@font-face{font-family:Be Vietnam Pro Fallback;font-weight:500;src:local(Arial),local(ArialMT),local(Liberation Sans),local(Nimbus Sans);size-adjust:110.7%;ascent-override:90.3%;descent-override:23.9%;line-gap-override:0%}@font-face{font-family:Be Vietnam Pro Fallback;font-weight:600 900;src:local(Arial Bold),local(Arial-BoldMT),local(Liberation Sans Bold),local(Nimbus Sans Bold);size-adjust:105%;ascent-override:95.2%;descent-override:25.2%;line-gap-override:0%}@font-face{font-family:Be Vietnam Pro Fallback Roboto;font-weight:100 400;src:local(Roboto),local(Roboto-Regular);size-adjust:107.8%;ascent-override:92.8%;descent-override:24.6%;line-gap-override:0%}@font-face{font-family:Be Vietnam Pro Fallback Roboto;font-weight:500;src:local(Roboto),local(Roboto-Regular);size-adjust:110.7%;ascent-override:90.3%;descent-override:23.9%;line-gap-override:0%}@font-face{font-family:Be Vietnam Pro Fallback Roboto;font-weight:600 900;src:local(Roboto Bold),local(Roboto-Bold);size-adjust:111.4%;ascent-override:89.8%;descent-override:23.8%;line-gap-override:0%}@font-face{font-family:JetBrainsMono Fallback;src:local(Menlo-Regular),local(Menlo),local(DejaVu Sans Mono),local(DejaVuSansMono);size-adjust:99.66%}@font-face{font-family:JetBrainsMono Fallback Consolas;src:local(Consolas);size-adjust:109.13%}@font-face{font-family:JetBrainsMono Nerd Font;font-style:normal;font-weight:100 600;font-display:swap;src:url(/_astro/jetbrains-mono-nerd-regular.BqSTOti2.woff2)format("woff2");unicode-range:U+20-7E,U+A0-FF,U+131,U+152-153,U+2000-206F,U+20AC,U+2122,U+2190-2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrainsMono Nerd Font;font-style:normal;font-weight:100 600;font-display:swap;src:url(/_astro/jetbrains-mono-nerd-regular-vietnamese.BXoMK0ld.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+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrainsMono Nerd Font;font-style:normal;font-weight:100 600;font-display:swap;src:url(/_astro/jetbrains-mono-nerd-regular-ext.CVSX3eR6.woff2)format("woff2");unicode-range:U+100-101,U+104-10F,U+112-127,U+12A-130,U+132-151,U+154-167,U+16A-19F,U+1A2-1AE,U+1B1-24F,U+302,U+305-307,U+30A-322,U+324-36F,U+1E00-1E9F,U+1EFA-1EFF,U+20A0-20AA,U+20AD-20CF,U+2100-2121,U+2123-214F,U+2194-2211,U+2213-2214,U+2216-23FF,U+2500-27BF,U+2B??}@font-face{font-family:JetBrainsMono Nerd Font;font-style:normal;font-weight:100 600;font-display:swap;src:url(/_astro/jetbrains-mono-nerd-symbols.BoigSJtr.woff2)format("woff2");unicode-range:U+E000-F8FF,U+F0000-FFFFD,U+23FB-23FE,U+2665,U+26A1,U+2B58}@font-face{font-family:JetBrainsMono Nerd Font;font-style:normal;font-weight:700 900;font-display:swap;src:url(/_astro/jetbrains-mono-nerd-bold.BiwPW_Zz.woff2)format("woff2");unicode-range:U+20-7E,U+A0-FF,U+131,U+152-153,U+2000-206F,U+20AC,U+2122,U+2190-2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrainsMono Nerd Font;font-style:normal;font-weight:700 900;font-display:swap;src:url(/_astro/jetbrains-mono-nerd-bold-vietnamese.OY91jRWo.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+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrainsMono Nerd Font;font-style:normal;font-weight:700 900;font-display:swap;src:url(/_astro/jetbrains-mono-nerd-bold-ext.Bjj4738V.woff2)format("woff2");unicode-range:U+100-101,U+104-10F,U+112-127,U+12A-130,U+132-151,U+154-167,U+16A-19F,U+1A2-1AE,U+1B1-24F,U+302,U+305-307,U+30A-322,U+324-36F,U+1E00-1E9F,U+1EFA-1EFF,U+20A0-20AA,U+20AD-20CF,U+2100-2121,U+2123-214F,U+2194-2211,U+2213-2214,U+2216-23FF,U+2500-27BF,U+2B??}@font-face{font-family:JetBrainsMono Nerd Font;font-style:normal;font-weight:700 900;font-display:swap;src:url(/_astro/jetbrains-mono-nerd-symbols.BoigSJtr.woff2)format("woff2");unicode-range:U+E000-F8FF,U+F0000-FFFFD,U+23FB-23FE,U+2665,U+26A1,U+2B58}@font-face{font-family:JetBrainsMono Nerd Font;font-style:italic;font-weight:100 900;font-display:swap;src:url(/_astro/jetbrains-mono-nerd-italic.GJvmOzu_.woff2)format("woff2");unicode-range:U+20-7E,U+A0-FF,U+131,U+152-153,U+2000-206F,U+20AC,U+2122,U+2190-2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrainsMono Nerd Font;font-style:italic;font-weight:100 900;font-display:swap;src:url(/_astro/jetbrains-mono-nerd-italic-vietnamese.DHV5tlyo.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+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrainsMono Nerd Font;font-style:italic;font-weight:100 900;font-display:swap;src:url(/_astro/jetbrains-mono-nerd-italic-ext.S3MtAz-H.woff2)format("woff2");unicode-range:U+100-101,U+104-10F,U+112-127,U+12A-130,U+132-151,U+154-167,U+16A-19F,U+1A2-1AE,U+1B1-24F,U+302,U+305-307,U+30A-322,U+324-36F,U+1E00-1E9F,U+1EFA-1EFF,U+20A0-20AA,U+20AD-20CF,U+2100-2121,U+2123-214F,U+2194-2211,U+2213-2214,U+2216-23FF,U+2500-27BF,U+2B??}@font-face{font-family:JetBrainsMono Nerd Font;font-style:italic;font-weight:100 900;font-display:swap;src:url(/_astro/jetbrains-mono-nerd-symbols.BoigSJtr.woff2)format("woff2");unicode-range:U+E000-F8FF,U+F0000-FFFFD,U+23FB-23FE,U+2665,U+26A1,U+2B58}:root{--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-full:999px;--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-effects:linear(0, .112, .315, .509, .664, .777, .855, .907, .942, .964, .977, .986, .992, 1);--motion-fast-effects:var(--motion-effects);--motion-fast-effects-duration:.12s;--motion-effects-duration:.185s;--state-hover:.08;--state-focus:.1;--state-pressed:.1;--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;--elevation-3:0 4px 8px 3px #00000026, 0 1px 3px #0000004d;--anchor-offset:6rem}:root,[data-theme]{--codeblock-bg:var(--md-sys-color-surface-container-low);--codeblock-topbar-bg:var(--md-sys-color-surface-container);--callout-note:var(--md-sys-color-info);--callout-tip:var(--md-sys-color-success);--callout-important:var(--md-sys-color-tertiary);--callout-warning:var(--md-sys-color-warning);--callout-caution:var(--md-sys-color-error);--focus-ring:3px solid var(--md-sys-color-secondary)}@media (prefers-reduced-motion:reduce){:root{--motion-fast-spatial-duration:1ms;--motion-spatial-duration:1ms;--motion-fast-effects-duration:1ms;--motion-effects-duration:1ms}}@property --type-emph{syntax:"<number>";inherits:false;initial-value:0}@keyframes search-in{0%{opacity:0;transform:translateY(-.75rem)scale(.96)}}@media (prefers-reduced-motion:no-preference){::view-transition-old(root){animation:90ms cubic-bezier(.3,0,.8,.15) both page-out}::view-transition-new(root){animation:.21s cubic-bezier(.05,.7,.1,1) 90ms both page-in}}@media (prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none}}@keyframes page-out{to{opacity:0}}@keyframes page-in{0%{opacity:0;transform:translateY(8px)}}@layer article{.prose{--tw-prose-body:var(--md-sys-color-on-surface);--tw-prose-headings:var(--md-sys-color-on-surface);--tw-prose-lead:var(--md-sys-color-on-surface-variant);--tw-prose-links:var(--md-sys-color-primary);--tw-prose-bold:var(--md-sys-color-on-surface);--tw-prose-counters:var(--md-sys-color-on-surface-variant);--tw-prose-bullets:var(--md-sys-color-outline);--tw-prose-hr:var(--md-sys-color-outline-variant);--tw-prose-quotes:var(--md-sys-color-on-surface);--tw-prose-quote-borders:var(--md-sys-color-primary);--tw-prose-captions:var(--md-sys-color-on-surface-variant);--tw-prose-code:var(--md-sys-color-on-surface);--tw-prose-pre-code:var(--md-sys-color-on-surface);--tw-prose-pre-bg:var(--codeblock-bg);--tw-prose-th-borders:var(--md-sys-color-outline-variant);--tw-prose-td-borders:var(--md-sys-color-outline-variant);max-width:none;color:var(--md-sys-color-on-surface);overflow-wrap:break-word}.prose [id]:target:not(:is(h2,h3,h4,h5,h6)){border-radius:var(--shape-m);animation:1.6s ease-out both flash}.prose :is(h1,h2,h3,h4,h5,h6){color:var(--md-sys-color-on-surface);letter-spacing:0;text-wrap:balance;font-weight:600}.prose h1{font-size:clamp(1.75rem,1.4rem + 1.4vw,2rem);line-height:1.25}.prose h2{margin-block:2em .75em;font-size:1.75rem;line-height:1.29}.prose h3{margin-block:1.75em .6em;font-size:1.375rem;line-height:1.27}.prose h4{font-size:1.125rem;font-weight:700;line-height:1.4}.prose h5{font-size:1rem;font-weight:700;line-height:1.5}.prose h6{color:var(--md-sys-color-on-surface-variant);font-size:1rem;font-weight:700;line-height:1.5}.prose>:first-child{margin-top:0}.prose a{color:var(--md-sys-color-primary);text-underline-offset:.2em;border-radius:var(--shape-xs);font-weight:500;text-decoration-thickness:1px}.prose a:hover{text-decoration-thickness:2px}.prose :not(pre)>code{border-radius:var(--shape-s);background:var(--md-sys-color-surface-container);-webkit-box-decoration-break:clone;box-decoration-break:clone;padding:.15em .4em;font-size:.875em;font-weight:400;line-height:1}.prose :not(pre)>code:before,.prose :not(pre)>code:after{content:none}.prose kbd{border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--shape-xs);background:var(--md-sys-color-surface-container-low);box-shadow:none;color:var(--md-sys-color-on-surface);font-family:var(--font-mono);border-bottom-width:2px;padding:.1em .45em;font-size:.8em;line-height:1.3;display:inline-block}.prose mark{border-radius:var(--shape-xs);background:var(--md-sys-color-warning);padding:0 .2em}@supports (color:color-mix(in lab, red, red)){.prose mark{background:color-mix(in oklab, var(--md-sys-color-warning) 24%, transparent)}}.prose mark{color:inherit}.prose :is(sup,sub){line-height:0}.prose .tag{border-radius:var(--shape-full);background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container);padding:0 .5em;font-size:.875em;font-weight:500;line-height:1.6;text-decoration:none;display:inline-block}.prose .tag:before{content:"#";opacity:.7}.prose li>p{margin-block:0}.prose li>p+p{margin-top:.5em}.prose ul.contains-task-list{padding-inline-start:.25em;list-style:none}.prose li.task-list-item{padding-inline-start:1.75em;position:relative}.prose li.task-list-item>input[type=checkbox]{border:2px solid var(--md-sys-color-on-surface-variant);appearance:none;inset-inline-start:0;background:0 0;border-radius:2px;place-content:center;width:1.125em;height:1.125em;margin:0;display:grid;position:absolute;top:calc(.5lh - .5625em)}.prose li.task-list-item>input[type=checkbox]:before{content:"";background:var(--md-sys-color-on-primary);clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0%,43% 62%);width:.7em;height:.7em;transform:scale(0)}.prose li.task-list-item>input[type=checkbox]:checked{border-color:var(--md-sys-color-primary);background:var(--md-sys-color-primary)}.prose li.task-list-item>input[type=checkbox]:checked:before{transform:scale(1)}.prose blockquote{border-radius:0 var(--shape-m) var(--shape-m) 0;background:var(--md-sys-color-primary);border:0;padding:.75em 1em .75em 1.25em;position:relative}@supports (color:color-mix(in lab, red, red)){.prose blockquote{background:color-mix(in oklab, var(--md-sys-color-primary) 7%, transparent)}}.prose blockquote{color:var(--md-sys-color-on-surface);quotes:none;font-style:normal;font-weight:400}.prose blockquote>:first-child{margin-top:0}.prose blockquote>:last-child{margin-bottom:0}.prose blockquote:before{content:"";background:var(--md-sys-color-primary);width:.25rem;position:absolute;inset-block:0;inset-inline-start:0}.prose blockquote p:before,.prose blockquote p:after{content:none}.prose hr{border-color:var(--md-sys-color-outline-variant);margin-block:2.5em}.prose :where(div,figure):has(>table){border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--shape-l);margin-block:1.75em;display:block;overflow-x:auto}.prose :where(div,figure)>table{margin:0}.prose table{font-size:.9375em;line-height:1.5}.prose :is(th,td),.prose :is(thead th,tbody td):is(:first-child,:last-child){vertical-align:top;padding:.625em .875em}.prose thead{border-bottom:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface-container)}.prose th{text-align:start;font-weight:600}.prose :is(th,td)[align=center]{text-align:center}.prose :is(th,td)[align=right]{text-align:end}.prose tbody tr:last-child{border-bottom:0}.prose .admonition{--accent:var(--callout-note);border:1px solid var(--accent);margin-block:1.5em}@supports (color:color-mix(in lab, red, red)){.prose .admonition{border:1px solid color-mix(in oklab, var(--accent) 28%, var(--md-sys-color-outline-variant))}}.prose .admonition{border-inline-start:4px solid var(--accent);border-radius:var(--shape-l);background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.prose .admonition{background:color-mix(in oklab, var(--accent) 9%, var(--md-sys-color-surface-container-low))}}.prose .admonition{overflow-wrap:anywhere}.prose .admonition-tip{--accent:var(--callout-tip)}.prose .admonition-important{--accent:var(--callout-important)}.prose .admonition-warning{--accent:var(--callout-warning)}.prose .admonition-caution{--accent:var(--callout-caution)}.prose .admonition-title{color:var(--accent);padding:.5rem 1rem .5rem 2.25rem;position:relative}@supports (color:color-mix(in lab, red, red)){.prose .admonition-title{color:color-mix(in oklab, var(--accent) 88%, var(--md-sys-color-on-surface))}}.prose .admonition-title{font-weight:600;line-height:1.5rem}.prose .admonition-title:before{content:"";background:var(--accent);inset-inline-start:1rem;border-radius:50%;width:.5rem;height:.5rem;position:absolute;top:calc(.5rem + .5lh);translate:0 -50%}.prose .admonition-body{padding:0 1rem .875rem 2.25rem}.prose .admonition-body>*{margin-block:0 .75em}.prose .admonition-body>:last-child{margin-bottom:0}.prose details.doc-section>summary{cursor:pointer;border-radius:var(--shape-xs);list-style:none;display:block}.prose details.doc-section>summary::-webkit-details-marker{display:none}.prose details.doc-section>summary:focus-visible{outline-offset:4px}.prose details.doc-section>summary>:is(h2,h3){padding-inline-end:2rem;position:relative}.prose details.doc-section>summary>:is(h2,h3):after{content:"";border-inline-end:2px solid var(--md-sys-color-on-surface-variant);border-block-end:2px solid var(--md-sys-color-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)}.prose details.doc-section[open]>summary>:is(h2,h3):after{transform:translateY(-75%)rotate(45deg)}.prose details.doc-section>summary:hover>:is(h2,h3):after{border-color:var(--md-sys-color-primary)}.prose>.doc-section:first-child>:is(h2,h3),.prose>details.doc-section:first-child>summary>:is(h2,h3),.prose .doc-section-body>:first-child{margin-top:0}.prose .doc-section-body>:last-child{margin-bottom:0}@media (prefers-reduced-motion:no-preference){.prose details.doc-section{interpolate-size:allow-keywords}.prose details.doc-section::details-content{overflow-clip-margin:.5rem;block-size:0;transition:block-size var(--motion-effects-duration) var(--motion-effects), content-visibility var(--motion-effects-duration) allow-discrete;overflow:clip}.prose details.doc-section[open]::details-content{block-size:auto}.prose details.doc-section[data-snap]::details-content{transition:none}}@media print{.prose details.doc-section::details-content{content-visibility:visible;block-size:auto}.prose details.doc-section>summary>:is(h2,h3):after{display:none}}.prose .deferred{content-visibility:auto;contain-intrinsic-size:auto 8rem;overflow-clip-margin:.5rem}.prose .admonition-details{--accent:var(--md-sys-color-primary)}.prose li.collapsible-item{list-style:none}.prose li.collapsible-item>.admonition{margin-block:.5em}.prose details.admonition>summary{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:calc(var(--shape-l) - 1px);padding-inline-end:2.5rem;list-style:none;display:block}.prose details.admonition>summary::-webkit-details-marker{display:none}.prose details.admonition>summary: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);inset-inline-end:1.1rem;position:absolute;top:calc(.5rem + .5lh);transform:translateY(-70%)rotate(45deg)}.prose details.admonition[open]>summary:after{transform:translateY(-30%)rotate(225deg)}.prose details.admonition>summary:hover{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.prose details.admonition>summary:hover{background:color-mix(in oklab, var(--accent) 8%, transparent)}}.prose details.admonition>summary:focus-visible{outline:2px solid var(--md-sys-color-primary);outline-offset:-2px}.prose details.admonition[open]>.admonition-body{border-top:1px solid var(--accent);padding-top:.75rem}@supports (color:color-mix(in lab, red, red)){.prose details.admonition[open]>.admonition-body{border-top:1px solid color-mix(in oklab, var(--accent) 22%, transparent)}}.prose details.admonition-details:has(+details.admonition-details){border-end-end-radius:0;border-end-start-radius:0;margin-bottom:3px}.prose details.admonition-details+details.admonition-details{border-start-start-radius:0;border-start-end-radius:0;margin-top:0}.prose details.admonition-details:has(+details.admonition-details)>summary{border-end-end-radius:0;border-end-start-radius:0}.prose details.admonition-details+details.admonition-details>summary{border-start-start-radius:0;border-start-end-radius:0}@media (prefers-reduced-motion:no-preference){.prose details.admonition{interpolate-size:allow-keywords}.prose 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:clip}.prose details.admonition[open]::details-content{block-size:auto}.prose details.admonition[data-snap]::details-content{transition:none}}@media print{.prose details.admonition::details-content{content-visibility:visible;block-size:auto}.prose details.admonition>summary:after{display:none}}.prose .expressive-code{margin-block:1.5em}.prose .expressive-code pre{font-size:inherit;line-height:inherit;border-radius:0;margin:0}.prose pre{border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--shape-l);background:var(--codeblock-bg);color:var(--md-sys-color-on-surface);font-family:var(--font-mono)}.prose .math-display{text-align:center;margin-block:-.5rem;padding-block:.5rem;display:block;overflow:auto hidden}@supports (animation-timeline:scroll()){.prose .math-display{-webkit-mask-image:linear-gradient(to right, transparent, #000 var(--math-fade-start), #000 calc(100% - var(--math-fade-end)), transparent);-webkit-mask-image:linear-gradient(to right, transparent, #000 var(--math-fade-start), #000 calc(100% - var(--math-fade-end)), transparent);mask-image:linear-gradient(to right, transparent, #000 var(--math-fade-start), #000 calc(100% - var(--math-fade-end)), transparent);animation-name:math-fade;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:scroll(self inline)}.prose .math-display:focus-visible{-webkit-mask-image:none;mask-image:none}}.prose *+.math-display,.prose .math-display+*{margin-top:.75em}.prose .math-display .katex-display{margin:0}.prose .katex-error{color:var(--md-sys-color-error)}.prose img{border-radius:var(--shape-m);vertical-align:middle;margin:0;display:inline-block}.prose a.lightbox{border-radius:var(--shape-m);cursor:zoom-in;text-decoration:none}.prose a.lightbox:hover img{filter:brightness(1.04)saturate(1.04)}.prose figure>figcaption{color:var(--md-sys-color-on-surface-variant);text-align:center;font-size:.875em}.prose .image-grid{--cols:3;grid-template-columns:repeat(var(--cols), minmax(0, 1fr));gap:.75rem;margin-block:1.5em;display:grid}@media (width<=48rem){.prose .image-grid{grid-template-columns:repeat(min(var(--cols), 2), minmax(0, 1fr))}}@media (width<=30rem){.prose .image-grid{grid-template-columns:minmax(0,1fr)}}.prose .image-grid figure.image{flex-direction:column;margin:0;display:flex}.prose .image-grid figure.image>a.lightbox{aspect-ratio:16/10;background:var(--md-sys-color-surface-container);display:block;overflow:hidden}.prose .image-grid figure.image img{object-fit:cover;border-radius:0;width:100%;height:100%;display:block}.prose .image-grid figure.image>figcaption{text-align:start;margin-top:auto;padding-top:.5rem}.prose figure.media-file{margin-block:1.5em}.prose video{aspect-ratio:16/9;border-radius:var(--shape-l);object-fit:contain;background:#000;width:100%;max-height:75vh;margin:0;display:block}.prose audio{width:100%;margin:0;display:block}.prose figure:has(>.video-facade){margin-block:1.5em}.video-facade{border-radius:var(--shape-xl);background:var(--md-sys-color-surface-container);width:100%;color:var(--md-sys-color-on-surface);text-align:start;cursor:pointer;border:0;padding:0;display:block;overflow:hidden}.video-picture{aspect-ratio:16/9;background:var(--md-sys-color-surface-container-highest);display:block;position:relative;overflow:hidden}.video-picture img{object-fit:cover;border-radius:0;width:100%;height:100%;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(--md-sys-color-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;border-radius:var(--shape-xl);background:var(--md-sys-color-primary);width:2.25rem;height:2.25rem;fill:var(--md-sys-color-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);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)}.prose .sb{margin-block:1.25em;display:flow-root}.prose .sb[data-layout=col]{flex-wrap:wrap;gap:1rem 1.5rem;display:flex}.prose .sb[data-layout=col]>*{flex:14rem;min-width:0;margin-block:0}.prose :is(.sb,.html-block)>:first-child{margin-top:0}.prose :is(.sb,.html-block)>:last-child{margin-bottom:0}.prose .html-block{margin-block:1.25em;display:flow-root}.prose [data-widget]{margin-block:1.5em}.prose [data-widget]:empty{border:1px dashed var(--md-sys-color-outline-variant);border-radius:var(--shape-l);background:var(--md-sys-color-surface-container-low);min-height:8rem;color:var(--md-sys-color-on-surface-variant);place-items:center;font-size:.875em;display:grid}.prose [data-widget]:empty:before{content:attr(data-widget)}.prose .footnote-reference a{margin:-.75rem -.5rem;padding:.75rem .5rem;font-weight:600;text-decoration:none;display:inline-block}.prose section.footnotes{border-top:1px solid var(--md-sys-color-outline-variant);color:var(--md-sys-color-on-surface-variant);margin-top:3em;padding-top:1em;font-size:.9em}.prose .footnote-back-link{margin-inline-end:.5em}.prose .footnote-back-link a{text-decoration:none}.prose .footnote-content,.prose .footnote-content>p:first-child{display:inline}.prose .footnote-content>*{margin-block:.5em 0}figure.mermaid-diagram{border-radius:var(--shape-l);background:var(--codeblock-bg);text-align:center;margin-block:1.5em;position:relative}figure.mermaid-diagram svg{max-width:100%;height:auto;margin:0 auto;display:block}figure.mermaid-diagram>pre.mermaid-source{text-align:start;margin:0}.mermaid-error>pre.mermaid-source{border-color:var(--md-sys-color-error)}.mermaid-dark,[data-theme=dark] .mermaid-light{display:none}[data-theme=dark] .mermaid-dark{display:block}@media (prefers-color-scheme:dark){:root:not([data-theme]) .mermaid-light{display:none}:root:not([data-theme]) .mermaid-dark{display:block}}.diagram-view{box-sizing:border-box;border-radius:inherit;padding:1rem;overflow:hidden}@media screen and (scripting:enabled){figure.mermaid-diagram>.diagram-view{padding-top:3rem}}.diagram-view[data-moved]{cursor:grab;touch-action:none}.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-xl);transition:background-color var(--motion-effects-duration) var(--motion-effects), box-shadow var(--motion-effects-duration) var(--motion-effects);align-items:center;display:flex;position:absolute;top:.5rem;right:.5rem}.diagram-tools:is(:has(:focus-visible),[data-open]){background:var(--md-sys-color-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>*{min-width:0;display:flex;overflow:hidden}.diagram-tools:is(:has(:focus-visible),[data-open]) .diagram-actions{opacity:1;visibility:visible;grid-template-columns:1fr;transition-delay:0s}.diagram-menu-button{order:1}@media (hover:hover){.diagram-tools:hover{background:var(--md-sys-color-surface-container-high);box-shadow:var(--elevation-2)}.diagram-tools:hover .diagram-actions{opacity:1;visibility:visible;grid-template-columns:1fr;transition-delay:0s}}:is(.diagram-menu-button,.diagram-actions button,.diagram-dialog-bar button){width:2.5rem;height:2.5rem;color:var(--md-sys-color-on-surface-variant);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;padding:0;display:grid;position:relative}:is(.diagram-actions button,.diagram-dialog-bar button){transition:border-radius var(--motion-fast-spatial-duration) var(--motion-fast-spatial)}:is(.diagram-menu-button,.diagram-actions button,.diagram-dialog-bar button):active{border-radius:var(--shape-s)}:is(.diagram-menu-button,.diagram-actions button,.diagram-dialog-bar button):focus-visible{outline-offset:0}:is(.diagram-menu-button,.diagram-actions,.diagram-dialog-bar) svg{pointer-events:none;width:1.375rem;height:1.375rem;display:block}@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(--md-sys-color-on-surface);border:0;margin:0;padding:0;overflow:hidden}.diagram-dialog::backdrop{background:#0009}.diagram-dialog-bar{z-index:2;border-radius:var(--shape-xl);background:var(--md-sys-color-surface-container-high);box-shadow:var(--elevation-2);gap:.25rem;padding:.25rem;display:flex;position:absolute;top:.75rem;right:.75rem}.diagram-dialog .diagram-view{cursor:grab;touch-action:none;width:100%;height:100%;padding:3.5rem 1rem 1rem}.diagram-dialog :is(.diagram-canvas,.diagram-canvas>div){width:100%;height:100%}.diagram-dialog .diagram-canvas svg{width:100%!important;max-width:none!important;height:100%!important}.footnote-popover{z-index:60;box-sizing:border-box;border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--shape-l);background:var(--md-sys-color-surface-container-high);width:max-content;max-width:min(24rem,100vw - 1rem);box-shadow:var(--elevation-3);color:var(--md-sys-color-on-surface);overflow-wrap:anywhere;transform-origin:var(--footnote-arrow-x,50%) bottom;animation:pop-in var(--motion-fast-spatial-duration) var(--motion-fast-spatial) both;padding:.75rem 1.25rem;font-size:.9rem;line-height:1.5;position:fixed}.footnote-popover[data-placement=below]{transform-origin:var(--footnote-arrow-x,50%) top}.footnote-popover>*{margin:0}.footnote-popover p+p{margin-top:.5rem}.footnote-popover a{color:var(--md-sys-color-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}.footnote-flash{border-radius:var(--shape-m);animation:1.6s ease-out both flash}main:has(section.footnotes):not(:has(.continue)){padding-bottom:max(4rem,42vh)}@media (prefers-reduced-motion:reduce){.footnote-popover{animation:none}.footnote-flash,.prose [id]:target:not(:is(h2,h3,h4,h5,h6)){background-color:var(--md-sys-color-primary);animation:none}@supports (color:color-mix(in lab, red, red)){.footnote-flash,.prose [id]:target:not(:is(h2,h3,h4,h5,h6)){background-color:color-mix(in oklab, var(--md-sys-color-primary) 16%, transparent)}}}}@keyframes pop-in{0%{opacity:0;transform:scale(.9)}}@keyframes flash{0%,35%{background-color:color-mix(in oklab, var(--md-sys-color-primary) 22%, transparent);box-shadow:0 0 0 .35rem color-mix(in oklab, var(--md-sys-color-primary) 22%, transparent)}to{background-color:#0000;box-shadow:0 0 0 .35rem #0000}}@property --math-fade-start{syntax:"<length>";inherits:false;initial-value:0}@property --math-fade-end{syntax:"<length>";inherits:false;initial-value:0}@keyframes math-fade{0%{--math-fade-start:0px;--math-fade-end:2rem}8%{--math-fade-start:2rem}92%{--math-fade-end:2rem}to{--math-fade-start:2rem;--math-fade-end:0px}}@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-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}
