@layer properties;@layer theme,base,components,utilities;@layer theme{:root,:host{--font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-blue-400: oklch(70.7% .165 254.624);--color-blue-500: oklch(62.3% .214 259.815);--color-slate-100: oklch(96.8% .007 247.896);--color-slate-200: oklch(92.9% .013 255.508);--color-slate-300: oklch(86.9% .022 252.894);--color-slate-400: oklch(70.4% .04 256.788);--color-slate-500: oklch(55.4% .046 257.417);--color-slate-600: oklch(44.6% .043 257.281);--color-slate-700: oklch(37.2% .044 257.287);--color-slate-900: oklch(20.8% .042 265.755);--color-white: #fff;--spacing: .25rem;--container-sm: 24rem;--container-2xl: 42rem;--container-4xl: 56rem;--container-6xl: 72rem;--text-xs: .75rem;--text-xs--line-height: calc(1 / .75);--text-sm: .875rem;--text-sm--line-height: calc(1.25 / .875);--text-base: 1rem;--text-base--line-height: 1.5 ;--text-lg: 1.125rem;--text-lg--line-height: calc(1.75 / 1.125);--text-xl: 1.25rem;--text-xl--line-height: calc(1.75 / 1.25);--text-2xl: 1.5rem;--text-2xl--line-height: calc(2 / 1.5);--text-5xl: 3rem;--text-5xl--line-height: 1;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--tracking-wide: .025em;--leading-relaxed: 1.625;--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,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-family:var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:normal;font-feature-settings:var(--default-font-feature-settings, normal);font-variation-settings:normal;font-variation-settings:var(--default-font-variation-settings, normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-family:var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:normal;font-feature-settings:var(--default-mono-font-feature-settings, normal);font-variation-settings:normal;font-variation-settings:var(--default-mono-font-variation-settings, normal);font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}: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}::-moz-placeholder{opacity:1}::placeholder{opacity:1}@supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px){::-moz-placeholder{color:currentcolor;@supports (color: color-mix(in lab,red,red)){color:color-mix(in oklab,currentcolor 50%,transparent)}}::placeholder{color:currentcolor;@supports (color: color-mix(in lab,red,red)){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,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{padding-block:0}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]),::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.top-1\/2{top:50%}.top-8{top:2rem;top:calc(var(--spacing) * 8)}.right-6{right:1.5rem;right:calc(var(--spacing) * 6)}.bottom-6{bottom:1.5rem;bottom:calc(var(--spacing) * 6)}.left-8{left:2rem;left:calc(var(--spacing) * 8)}.z-10{z-index:10}.z-50{z-index:50}.container{width:100%;@media (min-width: 40rem){max-width:40rem}@media (min-width: 48rem){max-width:48rem}@media (min-width: 64rem){max-width:64rem}@media (min-width: 80rem){max-width:80rem}@media (min-width: 96rem){max-width:96rem}}.mx-auto{margin-inline:auto}.mt-6{margin-top:1.5rem;margin-top:calc(var(--spacing) * 6)}.mb-2{margin-bottom:.5rem;margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:.75rem;margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:1rem;margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:1.5rem;margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:2rem;margin-bottom:calc(var(--spacing) * 8)}.ml-1{margin-left:.25rem;margin-left:calc(var(--spacing) * 1)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.table{display:table}.h-4{height:1rem;height:calc(var(--spacing) * 4)}.h-5{height:1.25rem;height:calc(var(--spacing) * 5)}.h-6{height:1.5rem;height:calc(var(--spacing) * 6)}.h-10{height:2.5rem;height:calc(var(--spacing) * 10)}.h-12{height:3rem;height:calc(var(--spacing) * 12)}.h-20{height:5rem;height:calc(var(--spacing) * 20)}.h-24{height:6rem;height:calc(var(--spacing) * 24)}.h-32{height:8rem;height:calc(var(--spacing) * 32)}.min-h-screen{min-height:100vh}.w-4{width:1rem;width:calc(var(--spacing) * 4)}.w-5{width:1.25rem;width:calc(var(--spacing) * 5)}.w-6{width:1.5rem;width:calc(var(--spacing) * 6)}.w-10{width:2.5rem;width:calc(var(--spacing) * 10)}.w-12{width:3rem;width:calc(var(--spacing) * 12)}.w-24{width:6rem;width:calc(var(--spacing) * 24)}.w-32{width:8rem;width:calc(var(--spacing) * 32)}.w-full{width:100%}.max-w-2xl{max-width:42rem;max-width:var(--container-2xl)}.max-w-6xl{max-width:72rem;max-width:var(--container-6xl)}.max-w-\[900px\]{max-width:900px}.min-w-0{min-width:0rem;min-width:calc(var(--spacing) * 0)}.flex-shrink-0,.shrink-0{flex-shrink:0}.flex-grow-0{flex-grow:0}.grow{flex-grow:1}.basis-\[170px\]{flex-basis:170px}.basis-\[200px\]{flex-basis:200px}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) -50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{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}.flex-row-reverse{flex-direction:row-reverse}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:.5rem;gap:calc(var(--spacing) * 2)}.gap-3{gap:.75rem;gap:calc(var(--spacing) * 3)}.gap-4{gap:1rem;gap:calc(var(--spacing) * 4)}.space-y-1{:where(&>:not(:last-child)){--tw-space-y-reverse: 0;margin-block-start:0rem;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:.25rem;margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}}.space-y-4{:where(&>:not(:last-child)){--tw-space-y-reverse: 0;margin-block-start:0rem;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:1rem;margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}}.space-x-6{:where(&>:not(:last-child)){--tw-space-x-reverse: 0;margin-inline-start:0rem;margin-inline-start:calc(calc(var(--spacing) * 6) * var(--tw-space-x-reverse));margin-inline-end:1.5rem;margin-inline-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-x-reverse)))}}.space-x-8{:where(&>:not(:last-child)){--tw-space-x-reverse: 0;margin-inline-start:0rem;margin-inline-start:calc(calc(var(--spacing) * 8) * var(--tw-space-x-reverse));margin-inline-end:2rem;margin-inline-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-x-reverse)))}}.space-x-12{:where(&>:not(:last-child)){--tw-space-x-reverse: 0;margin-inline-start:0rem;margin-inline-start:calc(calc(var(--spacing) * 12) * var(--tw-space-x-reverse));margin-inline-end:3rem;margin-inline-end:calc(calc(var(--spacing) * 12) * calc(1 - var(--tw-space-x-reverse)))}}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:calc(infinity * 1px)}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-slate-600{border-color:#45556c;border-color:var(--color-slate-600)}.bg-slate-700{background-color:#314158;background-color:var(--color-slate-700)}.bg-slate-900{background-color:#0f172b;background-color:var(--color-slate-900)}.object-cover{-o-object-fit:cover;object-fit:cover}.p-8{padding:2rem;padding:calc(var(--spacing) * 8)}.px-4{padding-inline:1rem;padding-inline:calc(var(--spacing) * 4)}.py-2{padding-block:.5rem;padding-block:calc(var(--spacing) * 2)}.py-4{padding-block:1rem;padding-block:calc(var(--spacing) * 4)}.py-8{padding-block:2rem;padding-block:calc(var(--spacing) * 8)}.pr-2{padding-right:.5rem;padding-right:calc(var(--spacing) * 2)}.pb-2{padding-bottom:.5rem;padding-bottom:calc(var(--spacing) * 2)}.pb-6{padding-bottom:1.5rem;padding-bottom:calc(var(--spacing) * 6)}.pl-3{padding-left:.75rem;padding-left:calc(var(--spacing) * 3)}.pl-4{padding-left:1rem;padding-left:calc(var(--spacing) * 4)}.pl-8{padding-left:2rem;padding-left:calc(var(--spacing) * 8)}.pl-12{padding-left:3rem;padding-left:calc(var(--spacing) * 12)}.pl-16{padding-left:4rem;padding-left:calc(var(--spacing) * 16)}.text-center{text-align:center}.text-5xl{font-size:3rem;font-size:var(--text-5xl);line-height:1;line-height:var(--tw-leading, var(--text-5xl--line-height))}.text-lg{font-size:1.125rem;font-size:var(--text-lg);line-height:calc(1.75 / 1.125);line-height:var(--tw-leading, var(--text-lg--line-height))}.text-sm{font-size:.875rem;font-size:var(--text-sm);line-height:calc(1.25 / .875);line-height:var(--tw-leading, var(--text-sm--line-height))}.text-xl{font-size:1.25rem;font-size:var(--text-xl);line-height:calc(1.75 / 1.25);line-height:var(--tw-leading, var(--text-xl--line-height))}.text-xs{font-size:.75rem;font-size:var(--text-xs);line-height:calc(1 / .75);line-height:var(--tw-leading, var(--text-xs--line-height))}.leading-relaxed{--tw-leading: var(--leading-relaxed);line-height:1.625;line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight: var(--font-weight-bold);font-weight:700;font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight: var(--font-weight-medium);font-weight:500;font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight: var(--font-weight-semibold);font-weight:600;font-weight:var(--font-weight-semibold)}.tracking-wide{--tw-tracking: var(--tracking-wide);letter-spacing:.025em;letter-spacing:var(--tracking-wide)}.text-slate-200{color:#e2e8f0;color:var(--color-slate-200)}.text-slate-300{color:#cad5e2;color:var(--color-slate-300)}.text-slate-400{color:#90a1b9;color:var(--color-slate-400)}.text-slate-500{color:#62748e;color:var(--color-slate-500)}.uppercase{text-transform:uppercase}.opacity-0{opacity:0%}.opacity-70{opacity:70%}.opacity-100{opacity:100%}.shadow-lg{--tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 10px 15px -3px #0000001a,0 4px 6px -4px #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)}.filter{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-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:.15s;transition-duration:var(--tw-duration, var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:.15s;transition-duration:var(--tw-duration, var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:.15s;transition-duration:var(--tw-duration, var(--default-transition-duration))}.duration-200{--tw-duration: .2s;transition-duration:.2s}.group-hover\:text-white{&:is(:where(.group):hover *){@media (hover: hover){color:#fff;color:var(--color-white)}}}.group-hover\:opacity-100{&:is(:where(.group):hover *){@media (hover: hover){opacity:100%}}}.last\:border-b-0{&:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0px}}.hover\:bg-slate-600{&:hover{@media (hover: hover){background-color:#45556c;background-color:var(--color-slate-600)}}}.hover\:text-blue-400{&:hover{@media (hover: hover){color:oklch(70.7% .165 254.624);color:var(--color-blue-400)}}}.hover\:text-blue-500{&:hover{@media (hover: hover){color:oklch(62.3% .214 259.815);color:var(--color-blue-500)}}}.md\:block{@media (min-width: 48rem){display:block}}.md\:flex{@media (min-width: 48rem){display:flex}}.md\:hidden{@media (min-width: 48rem){display:none}}.md\:flex-grow{@media (min-width: 48rem){flex-grow:1}}.md\:border-r{@media (min-width: 48rem){border-right-style:var(--tw-border-style);border-right-width:1px}}.md\:border-l{@media (min-width: 48rem){border-left-style:var(--tw-border-style);border-left-width:1px}}.md\:pr-8{@media (min-width: 48rem){padding-right:2rem;padding-right:calc(var(--spacing) * 8)}}.md\:pl-8{@media (min-width: 48rem){padding-left:2rem;padding-left:calc(var(--spacing) * 8)}}.xl\:block{@media (min-width: 80rem){display:block}}.xl\:max-w-\[1280px\]{@media (min-width: 80rem){max-width:1280px}}.xl\:max-w-\[1370px\]{@media (min-width: 80rem){max-width:1370px}}}@layer base{html{scroll-behavior:auto}}@layer components{.masthead-image{margin-top:2rem;margin-top:calc(var(--spacing) * 8);margin-bottom:2rem;margin-bottom:calc(var(--spacing) * 8)}.masthead-image img{width:100%;-o-object-fit:cover;object-fit:cover;max-height:35rem;@media (max-width: 48rem){max-height:15rem;aspect-ratio:16/9}}.article-main-content{font-family:Roboto,sans-serif;font-family:var(--font-body)}.article-main-content p{margin-bottom:1.5rem;margin-bottom:calc(var(--spacing) * 6);--tw-leading: var(--leading-relaxed);line-height:1.625;line-height:var(--leading-relaxed);color:#e2e8f0;color:var(--color-slate-200)}.article-main-content h1,.article-main-content h2,.article-main-content h3,.article-main-content h4,.article-main-content h5,.article-main-content h6{margin-top:2rem;margin-top:calc(var(--spacing) * 8);margin-bottom:1rem;margin-bottom:calc(var(--spacing) * 4);--tw-font-weight: var(--font-weight-semibold);font-weight:600;font-weight:var(--font-weight-semibold);color:#f1f5f9;color:var(--color-slate-100);font-family:Iosevka,monospace;font-family:var(--font-display)}.article-main-content h2{font-size:1.5rem;font-size:var(--text-2xl);line-height:calc(2 / 1.5);line-height:var(--tw-leading, var(--text-2xl--line-height))}.article-main-content h3{font-size:1.25rem;font-size:var(--text-xl);line-height:calc(1.75 / 1.25);line-height:var(--tw-leading, var(--text-xl--line-height))}.article-main-content pre{max-width:100%;overflow-x:auto}.article-main-content code{overflow-wrap:break-word;font-family:Iosevka,monospace;font-family:var(--font-display)}.article-main-content p code,.article-main-content li code{padding-inline:.25rem;padding-inline:calc(var(--spacing) * 1);padding-block:.125rem;padding-block:calc(var(--spacing) * .5);--tw-font-weight: var(--font-weight-semibold);font-weight:600;font-weight:var(--font-weight-semibold);background-color:#1f2937;background-color:var(--darker-bg)}.article-main-content pre code{overflow-wrap:normal;word-break:normal}.article-main-content blockquote{margin-block:1.5rem;margin-block:calc(var(--spacing) * 6);padding-block:1rem;padding-block:calc(var(--spacing) * 4);padding-right:1rem;padding-right:calc(var(--spacing) * 4);padding-left:1.5rem;padding-left:calc(var(--spacing) * 6);background-color:#1f2937;background-color:var(--darker-bg);border:1px solid #475569;border:1px solid var(--border-color)}.article-main-content blockquote p{margin-bottom:0rem;margin-bottom:calc(var(--spacing) * 0);--tw-leading: var(--leading-relaxed);line-height:1.625;line-height:var(--leading-relaxed);color:#cad5e2;color:var(--color-slate-300);font-style:italic}.article-main-content blockquote p:not(:last-child){margin-bottom:1rem;margin-bottom:calc(var(--spacing) * 4)}.article-main-content blockquote cite{margin-top:.5rem;margin-top:calc(var(--spacing) * 2);display:block;font-size:.875rem;font-size:var(--text-sm);line-height:calc(1.25 / .875);line-height:var(--tw-leading, var(--text-sm--line-height));color:#90a1b9;color:var(--color-slate-400);font-style:normal;font-family:Iosevka,monospace;font-family:var(--font-display)}.footnotes-sidebar{position:relative;display:none;@media (min-width: 80rem){display:block}min-height:100%;font-family:Roboto,sans-serif;font-family:var(--font-body)}.footnotes-sidebar .footnote-item{width:100%;max-width:100%;word-wrap:break-word;overflow-wrap:break-word}.footnotes-sidebar .footnote-item span{font-family:Iosevka,monospace;font-family:var(--font-display)}.footnotes-sidebar .footnote-item a{--tw-font-weight: var(--font-weight-semibold);font-weight:600;font-weight:var(--font-weight-semibold);text-decoration-line:underline;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration));--tw-duration: .2s;transition-duration:.2s;&:hover{@media (hover: hover){color:oklch(70.7% .165 254.624);color:var(--color-blue-400)}}}.toc-link.active{--tw-font-weight: var(--font-weight-bold);font-weight:700;font-weight:var(--font-weight-bold);text-decoration-line:underline}.footnotes{display:block;@media (min-width: 80rem){display:none}}.article-main-content hr{margin-block:2rem;margin-block:calc(var(--spacing) * 8);border-color:#45556c;border-color:var(--color-slate-600)}.article-main-content .footnotes{margin-top:2rem;margin-top:calc(var(--spacing) * 8);border-top-style:var(--tw-border-style);border-top-width:1px;border-color:#45556c;border-color:var(--color-slate-600);padding-top:1rem;padding-top:calc(var(--spacing) * 4);font-size:.75rem;font-size:var(--text-xs);line-height:1.625;line-height:var(--tw-leading, var(--text-xs--line-height));--tw-leading: var(--leading-relaxed);line-height:var(--leading-relaxed);color:#90a1b9;color:var(--color-slate-400)}.article-main-content .footnotes ol{list-style-type:none;padding-left:0rem;padding-left:calc(var(--spacing) * 0);counter-reset:footnote-counter}.article-main-content .footnotes li{margin-bottom:.5rem;margin-bottom:calc(var(--spacing) * 2);counter-increment:footnote-counter;position:relative;padding-left:1.5rem}.article-main-content .footnotes li:before{content:counter(footnote-counter) ".";position:absolute;top:0rem;top:calc(var(--spacing) * 0);left:0rem;left:calc(var(--spacing) * 0);list-style-type:decimal;--tw-font-weight: var(--font-weight-medium);font-weight:500;font-weight:var(--font-weight-medium);color:#cad5e2;color:var(--color-slate-300);font-family:Iosevka,monospace;font-family:var(--font-display);min-width:1rem}.article-main-content .footnotes li p{margin-bottom:0rem;margin-bottom:calc(var(--spacing) * 0);font-size:.75rem;font-size:var(--text-xs);line-height:1.625;line-height:var(--tw-leading, var(--text-xs--line-height));--tw-leading: var(--leading-relaxed);line-height:var(--leading-relaxed);color:#90a1b9;color:var(--color-slate-400)}.article-main-content .footnotes li a{--tw-font-weight: var(--font-weight-semibold);font-weight:600;font-weight:var(--font-weight-semibold);text-decoration-line:underline;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration));--tw-duration: .2s;transition-duration:.2s;&:hover{@media (hover: hover){color:oklch(62.3% .214 259.815);color:var(--color-blue-500)}}}.article-main-content a{--tw-font-weight: var(--font-weight-medium);font-weight:500;font-weight:var(--font-weight-medium);text-decoration-line:underline;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration));--tw-duration: .2s;transition-duration:.2s;&:hover{@media (hover: hover){color:oklch(70.7% .165 254.624);color:var(--color-blue-400)}}}.article-main-content a.heading-anchor{--tw-font-weight: var(--font-weight-semibold);font-weight:600;font-weight:var(--font-weight-semibold);color:inherit;text-decoration-line:none;&:hover{@media (hover: hover){color:#cad5e2;color:var(--color-slate-300)}}}.article-main-content ul:not(.footnotes ol):not(.space-y-1){margin-bottom:1.5rem;margin-bottom:calc(var(--spacing) * 6);list-style-type:disc;:where(&>:not(:last-child)){--tw-space-y-reverse: 0;margin-block-start:0rem;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:.5rem;margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}padding-left:1.5rem;padding-left:calc(var(--spacing) * 6)}.article-main-content ol:not(.footnotes ol){margin-bottom:1.5rem;margin-bottom:calc(var(--spacing) * 6);list-style-type:decimal;:where(&>:not(:last-child)){--tw-space-y-reverse: 0;margin-block-start:0rem;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:.5rem;margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}padding-left:1.5rem;padding-left:calc(var(--spacing) * 6)}.article-main-content li:not(.footnotes li){--tw-leading: var(--leading-relaxed);line-height:1.625;line-height:var(--leading-relaxed);color:#e2e8f0;color:var(--color-slate-200)}.article-main-content ul ul,.article-main-content ol ol,.article-main-content ul ol,.article-main-content ol ul{margin-top:.5rem;margin-top:calc(var(--spacing) * 2);margin-bottom:.5rem;margin-bottom:calc(var(--spacing) * 2)}.article-main-content li p{margin-bottom:.5rem;margin-bottom:calc(var(--spacing) * 2);&:last-child{margin-bottom:0rem;margin-bottom:calc(var(--spacing) * 0)}}.toc-mobile,.discussions-mobile{border-style:var(--tw-border-style);border-width:1px;border-color:#45556c;border-color:var(--color-slate-600);padding:1rem;padding:calc(var(--spacing) * 4);max-width:100%}.toc-mobile{margin-bottom:.25rem;margin-bottom:calc(var(--spacing) * 1)}.toc-mobile h3,.discussions-mobile h3,.discussions-section h3{margin-bottom:.75rem;margin-bottom:calc(var(--spacing) * 3);font-size:.75rem;font-size:var(--text-xs);line-height:calc(1 / .75);line-height:var(--tw-leading, var(--text-xs--line-height))}.toc-mobile ul{:where(&>:not(:last-child)){--tw-space-y-reverse: 0;margin-block-start:0rem;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:.25rem;margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}}.toc-mobile .toc-link{font-size:.75rem;font-size:var(--text-xs);line-height:calc(1 / .75);line-height:var(--tw-leading, var(--text-xs--line-height))}.discussions-section{position:relative}.discussions-mobile{margin-bottom:1rem;margin-bottom:calc(var(--spacing) * 4)}.discussions-mobile .flex{gap:.5rem;gap:calc(var(--spacing) * 2)}.discussions-mobile a{font-size:1rem;font-size:var(--text-base);line-height:1.5;line-height:var(--tw-leading, var(--text-base--line-height))}.mermaid-container{margin-block:1.5rem;margin-block:calc(var(--spacing) * 6);text-align:center}.mermaid-container img{margin-inline:auto;max-width:24rem;max-width:var(--container-sm);max-height:300px}}@layer components{.sql{display:flex;flex-direction:column;gap:.25rem;gap:calc(var(--spacing) * 1);font-size:.875rem;font-size:var(--text-sm);line-height:calc(1.25 / .875);line-height:var(--tw-leading, var(--text-sm--line-height));font-family:Iosevka,monospace;font-family:var(--font-display);margin-bottom:1.5rem;background-color:#1f2937;background-color:var(--darker-bg);border:1px solid #475569;border:1px solid var(--border-color);padding:16px}.sql .row{display:flex;align-items:flex-start;justify-content:space-between}.sql .header{justify-content:center;--tw-font-weight: var(--font-weight-semibold);font-weight:600;font-weight:var(--font-weight-semibold);border-bottom:1px solid #475569;border-bottom:1px solid var(--border-color)}.sql .header div{width:100%;text-align:center}.sql .footer{margin-top:.5rem;margin-top:calc(var(--spacing) * 2);justify-content:flex-end;padding-top:.5rem;padding-top:calc(var(--spacing) * 2);font-size:.75rem;font-size:var(--text-xs);line-height:calc(1 / .75);line-height:var(--tw-leading, var(--text-xs--line-height));border-top:1px solid #475569;border-top:1px solid var(--border-color)}.sql .left,.sql .center,.sql .right{flex:1;padding-inline:.5rem;padding-inline:calc(var(--spacing) * 2);padding-block:.25rem;padding-block:calc(var(--spacing) * 1);text-align:left}.sql .row div:empty:after{content:"\a0";color:transparent}@screen sm{.sql {font-size: 1rem; font-size: var(--text-base); line-height: 1.5 ; line-height: var(--tw-leading, var(--text-base--line-height));}}.sql .row>div pre.highlight{border:none;margin-bottom:0;padding:8px;overflow:visible;white-space:pre-wrap;word-wrap:break-word;scrollbar-width:none}.sql .row>div pre.highlight::-webkit-scrollbar{display:none}.sql .row>div .highlight{overflow:visible}.sql .row>div code{white-space:pre-wrap;word-wrap:break-word}}@layer base{pre.highlight{margin-bottom:1.5rem;padding:1rem;overflow-x:auto;background-color:#1f2937;background-color:var(--darker-bg);border:1px solid #475569;border:1px solid var(--border-color);font-family:Iosevka,monospace;font-family:var(--font-display)}.highlight .hll{background-color:#3c3836}.highlight .c{color:#7c6f64;font-style:italic}.highlight .err{color:#cc7a7a;background-color:#8b3a3a}.highlight .k{color:#cc7a7a;font-weight:700}.highlight .o{color:#d4955d;font-weight:700}.highlight .cm{color:#7c6f64;font-style:italic}.highlight .cp{color:#72a373;font-weight:700;font-style:italic}.highlight .c1{color:#7c6f64;font-style:italic}.highlight .cs{color:#72a373;font-weight:700;font-style:italic}.highlight .gd{color:#d5c4a1;background-color:#8b3a3a}.highlight .ge{color:#d5c4a1;font-style:italic}.highlight .gr{color:#cc7a7a}.highlight .gh{color:#7c6f64}.highlight .gi{color:#d5c4a1;background-color:#6b7f54}.highlight .go{color:#a89984}.highlight .gp{color:#504945}.highlight .gs{font-weight:700}.highlight .gu{color:#7c6f64}.highlight .gt{color:#cc7a7a}.highlight .kc{color:#b5798a;font-weight:700}.highlight .kd,.highlight .kn,.highlight .kp,.highlight .kr{color:#cc7a7a;font-weight:700}.highlight .kt{color:#cc9c66;font-weight:700}.highlight .m{color:#b5798a}.highlight .s,.highlight .na{color:#8fa165}.highlight .nb{color:#cc9c66}.highlight .nc{color:#cc9c66;font-weight:700}.highlight .no{color:#b5798a}.highlight .nd{color:#7a94a8;font-weight:700}.highlight .ni{color:#b5798a}.highlight .ne{color:#cc7a7a;font-weight:700}.highlight .nf{color:#8fa165;font-weight:700}.highlight .nl{color:#cc7a7a;font-weight:700}.highlight .nn{color:#cc9c66}.highlight .nt,.highlight .nv{color:#7a94a8}.highlight .ow{color:#d4955d;font-weight:700}.highlight .w{color:#a89984}.highlight .mf,.highlight .mh,.highlight .mi,.highlight .mo{color:#b5798a}.highlight .sb,.highlight .sc,.highlight .sd,.highlight .s2{color:#8fa165}.highlight .se{color:#d4955d}.highlight .sh{color:#8fa165}.highlight .si{color:#d4955d}.highlight .sx,.highlight .sr,.highlight .s1{color:#8fa165}.highlight .ss{color:#7a94a8}.highlight .bp{color:#cc9c66}.highlight .vc,.highlight .vg,.highlight .vi{color:#7a94a8}.highlight .il{color:#b5798a}}@layer base{:root{--darker-bg: #1f2937;--border-color: #475569;--font-display: "Iosevka", monospace;--font-body: "Roboto", sans-serif}body{font-family:Iosevka,monospace;font-family:var(--font-display);background-color:#0f172b;background-color:var(--color-slate-900);--tw-leading: var(--leading-relaxed);line-height:1.625;line-height:var(--leading-relaxed);color:#f1f5f9;color:var(--color-slate-100)}}@layer components{.main-container{margin-inline:auto;max-width:56rem;max-width:var(--container-4xl);padding-inline:1rem;padding-inline:calc(var(--spacing) * 4);@media (min-width: 40rem){padding-inline:1.5rem;padding-inline:calc(var(--spacing) * 6)}@media (min-width: 64rem){padding-inline:2rem;padding-inline:calc(var(--spacing) * 8)}}.font-body{font-family:Roboto,sans-serif;font-family:var(--font-body)}.index article p,.page article p{font-family:Roboto,sans-serif;font-family:var(--font-body)}.auto-hide-scrollbar,pre.highlight{scrollbar-width:thin;scrollbar-color:transparent transparent;transition:scrollbar-color .3s ease}.auto-hide-scrollbar:hover,pre.highlight:hover{scrollbar-color:#475569 transparent;scrollbar-color:var(--border-color) transparent}.auto-hide-scrollbar::-webkit-scrollbar,pre.highlight::-webkit-scrollbar{width:6px;height:6px}.auto-hide-scrollbar::-webkit-scrollbar-track,pre.highlight::-webkit-scrollbar-track{background:transparent}.auto-hide-scrollbar::-webkit-scrollbar-thumb,pre.highlight::-webkit-scrollbar-thumb{background-color:transparent;border-radius:3px;-webkit-transition:background-color .3s ease;transition:background-color .3s ease}.auto-hide-scrollbar:hover::-webkit-scrollbar-thumb,pre.highlight:hover::-webkit-scrollbar-thumb{background-color:#475569;background-color:var(--border-color)}.auto-hide-scrollbar::-webkit-scrollbar-thumb:hover,pre.highlight::-webkit-scrollbar-thumb:hover{background-color:#64748b}.scrollable-sidebar{max-height:calc(100vh - 8rem);overflow-y:auto;overscroll-behavior:contain}.scrollable-mobile{max-height:calc(60vh - 4rem);overflow-y:auto;overscroll-behavior:contain}}@property --tw-translate-x{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-translate-y{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-translate-z{syntax: "*"; inherits: false; initial-value: 0;}@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-space-y-reverse{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-space-x-reverse{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-border-style{syntax: "*"; inherits: false; initial-value: solid;}@property --tw-leading{syntax: "*"; inherits: false;}@property --tw-font-weight{syntax: "*"; inherits: false;}@property --tw-tracking{syntax: "*"; inherits: false;}@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: 0px;}@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-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-duration{syntax: "*"; inherits: false;}@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-translate-x: 0;--tw-translate-y: 0;--tw-translate-z: 0;--tw-rotate-x: initial;--tw-rotate-y: initial;--tw-rotate-z: initial;--tw-skew-x: initial;--tw-skew-y: initial;--tw-space-y-reverse: 0;--tw-space-x-reverse: 0;--tw-border-style: solid;--tw-leading: initial;--tw-font-weight: initial;--tw-tracking: initial;--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-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-duration: initial}}}
/*! tailwindcss v4.1.7 | MIT License | https://tailwindcss.com */
/*# sourceMappingURL=/_bridgetown/static/index.Z3ESMYNI.css.map */
