@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-space-y-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-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-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}}@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-serif:ui-serif,Georgia,Cambria,"Times New Roman",Times,serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-white:#fff;--spacing:.25rem;--container-2xl:42rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--font-weight-medium:500;--font-weight-bold:700;--tracking-wide:.025em;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-lg:.5rem;--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%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;line-height:1.5;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:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;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{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}::-moz-placeholder{opacity:1}::placeholder{opacity:1}@supports (not (-webkit-appearance:-apple-pay-button)) or (contain-intrinsic-size:1px){::-moz-placeholder{color:currentColor}::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::-moz-placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}::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]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:root{--color-bg-0:#f7f4ef;--color-bg-1:#f2eee7;--color-bg-2:#ece7df;--color-bg-3:#e8e3db;--color-border-weak:#00000014;--color-border-strong:#00000029;--color-text-primary:#141210eb;--color-text-secondary:#141210a6;--color-text-muted:#14121073;--color-base:var(--color-bg-0);--color-base-light:var(--color-bg-1);--color-text:var(--color-text-primary);--color-text-subtle:var(--color-text-muted);--color-border:var(--color-border-strong);--color-border-subtle:var(--color-border-weak);--color-base-light-mode:var(--color-bg-0);--color-text-light-mode:var(--color-text-primary);--color-text-muted-light-mode:var(--color-text-secondary);--color-border-light-mode:var(--color-border-strong);--color-accent:#8b7fa8;--color-accent-hover:#9d8fb8}html.dark{--color-bg-0:#121110;--color-bg-1:#161514;--color-bg-2:#1a1817;--color-bg-3:#1e1c1b;--color-border-weak:#ffffff0f;--color-border-strong:#ffffff1f;--color-text-primary:#ffffffed;--color-text-secondary:#ffffffa6;--color-text-muted:#ffffffa6;--color-base:var(--color-bg-0);--color-base-light:var(--color-bg-1);--color-text:var(--color-text-primary);--color-text-subtle:var(--color-text-muted);--color-border:var(--color-border-strong);--color-border-subtle:var(--color-border-weak)}*{--tw-leading:1.5;line-height:1.5}html{font-size:var(--font-size-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"kern" 1;font-kerning:normal;color-scheme:dark}body{text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-variant-ligatures:none;overflow-wrap:break-word}h1,h2,h3,h4,h5,h6,p,a,span,div,li,button,input,textarea{text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-wrap:break-word;overflow:visible}*{overflow-wrap:break-word}html.dark,html:not(.dark){background-color:var(--color-bg-0);color:var(--color-text-primary)}::-moz-selection{color:inherit;background-color:#ffffff3b}::selection{color:inherit;background-color:#ffffff3b}html.font-small{--font-size-base:16px}html.font-medium{--font-size-base:18px}html.font-large{--font-size-base:20px}@media(prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}html.reduce-motion *,html.reduce-motion :before,html.reduce-motion :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}html.high-contrast{--contrast-text:#000;--contrast-bg:#fff;--contrast-border:#000}html.high-contrast.dark{--contrast-text:#fff;--contrast-bg:#000;--contrast-border:#fff}html.high-contrast body{color:var(--contrast-text);background-color:var(--contrast-bg)}html.high-contrast h1,html.high-contrast h2,html.high-contrast h3,html.high-contrast h4,html.high-contrast h5,html.high-contrast h6{color:var(--contrast-text)}html.high-contrast a{color:var(--contrast-text);border-bottom:2px solid var(--contrast-border);font-weight:600}html.high-contrast button,html.high-contrast input,html.high-contrast select,html.high-contrast textarea{border:2px solid var(--contrast-border)}html.high-contrast code{background-color:var(--contrast-bg);color:var(--contrast-text);border:1px solid var(--contrast-border);font-weight:500}html.high-contrast pre{background-color:var(--contrast-bg);border:2px solid var(--contrast-border);color:var(--contrast-text)}html.high-contrast pre code{background-color:#0000;border:none}html.high-contrast blockquote{border-left:4px solid var(--contrast-border);background-color:var(--contrast-bg);color:var(--contrast-text)}html.high-contrast .nav-link{border-bottom:2px solid var(--contrast-border);color:var(--contrast-text)}html.high-contrast .nav-link:hover{border-bottom-color:var(--contrast-border);opacity:1}html.high-contrast .preferences-drawer{border:2px solid var(--contrast-border);background-color:var(--contrast-bg)}html.high-contrast .preferences-option{border:2px solid var(--contrast-border);color:var(--contrast-text)}html.high-contrast .preferences-option.active{background-color:var(--contrast-text);color:var(--contrast-bg);border-color:var(--contrast-border)}html.high-contrast .preferences-toggle{color:var(--contrast-text)}html.high-contrast .toggle-switch{border:2px solid var(--contrast-border)}html.high-contrast .toggle-switch.active{background-color:var(--contrast-text)}html.high-contrast .toggle-switch-handle,html.high-contrast .toggle-switch.active .toggle-switch-handle{background-color:var(--contrast-bg)}html.font-sans,html.font-sans *{font-family:IBM Plex Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}html.font-serif,html.font-serif *{font-family:IBM Plex Serif,Georgia,Times New Roman,Times,serif}html.font-sans code,html.font-sans pre,html.font-sans kbd,html.font-sans code *,html.font-sans pre *,html.font-sans kbd *,html.font-serif code,html.font-serif pre,html.font-serif kbd,html.font-serif code *,html.font-serif pre *,html.font-serif kbd *{font-family:IBM Plex Mono,SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,monospace!important}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:IBM Plex Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:var(--line-height-base);letter-spacing:-.011em;background-color:var(--color-bg-0);color:var(--color-text-primary);transition:background-color .2s,color .2s}html:not(.dark) body{background-color:var(--color-bg-0);color:var(--color-text-primary)}html.reading-mode nav,html.reading-mode header:not(main header),html.reading-mode footer,html.reading-mode aside,html.reading-mode [role=navigation],html.reading-mode [role=complementary]{display:none!important}html.reading-mode main,html.reading-mode main[class*=max-w],html.reading-mode main[class*=mx-auto]{width:100%!important;max-width:100%!important;margin:0!important;padding:2rem 0!important}html.reading-mode main>*{max-width:100%;margin-left:0;margin-right:0;padding-left:1rem;padding-right:1rem}html.reading-mode main header{max-width:100%!important;margin-left:0!important;margin-right:0!important;padding-left:1rem!important;padding-right:1rem!important}html.reading-mode .prose{width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important;padding-left:1rem!important;padding-right:1rem!important}html.reading-mode{scroll-behavior:smooth}html.reading-mode.reduce-motion{scroll-behavior:auto}html.reading-mode :focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}html.reading-mode.high-contrast :focus-visible{outline:3px solid var(--contrast-border);outline-offset:3px}html.reading-mode .preferences-button{opacity:.3;transition:opacity .2s}html.reading-mode .preferences-button:hover{opacity:1}@media(prefers-reduced-motion:no-preference){html:not(.reduce-motion) main{animation:.3s fadeIn}}@keyframes fadeIn{0%{opacity:0;transform:translateY(.5rem)}to{opacity:1;transform:translateY(0)}}html.reduce-motion main{animation:none!important}html.reduce-motion .prose pre,html.reduce-motion .prose code{transition:none!important}html.reduce-motion .preferences-drawer{animation:none!important}html.reduce-motion .nav-link,html.reduce-motion a,html.reduce-motion button{transition:none!important}h1,h2,h3,h4,h5,h6,p,ul,ol,dl,blockquote,pre,table,figure,hr{margin-top:0;margin-bottom:var(--baseline)}h1{font-size:2.786rem;line-height:var(--line-height-tight);letter-spacing:-.03em;margin-top:0;margin-bottom:calc(var(--baseline)*1);color:var(--color-text-primary);padding-top:2rem;padding-bottom:1rem;font-weight:500}h2{font-size:1.95rem;line-height:var(--line-height-tight);letter-spacing:-.015em;margin-top:calc(var(--baseline)*2);margin-bottom:calc(var(--baseline)*1);color:var(--color-text-primary);font-weight:400}h3{font-size:1.728rem;line-height:var(--line-height-tight);letter-spacing:-.01em;margin-top:calc(var(--baseline)*1.5);margin-bottom:calc(var(--baseline)*.75);color:var(--color-text-primary);font-weight:500}h4{font-size:1.44rem;line-height:var(--line-height-tight);margin-top:calc(var(--baseline)*1.5);margin-bottom:calc(var(--baseline)*.5);color:var(--color-text-primary);font-weight:500}h5{font-size:1.2rem;line-height:var(--line-height-base);margin-top:calc(var(--baseline)*1);margin-bottom:calc(var(--baseline)*.5);color:var(--color-text-primary);font-weight:400}h6{font-size:1rem;line-height:var(--line-height-base);text-transform:uppercase;letter-spacing:.05em;margin-top:calc(var(--baseline)*1);margin-bottom:calc(var(--baseline)*.5);color:var(--color-text-primary);font-weight:400}p{font-size:1rem;line-height:var(--line-height-relaxed);margin-bottom:var(--baseline)}p+p{margin-top:calc(var(--baseline)*.25)}ul{margin-left:-1rem;margin-bottom:var(--baseline);padding-left:0;list-style-type:disc;list-style-position:outside}ol{margin-left:-1rem;margin-bottom:var(--baseline);padding-left:0;list-style-type:decimal;list-style-position:outside}li{margin-left:0;margin-bottom:calc(var(--baseline)*.55);padding-left:1.5rem;line-height:1.75}li ul,li ol{margin-left:0;margin-top:calc(var(--baseline)*.5);margin-bottom:calc(var(--baseline)*.5)}li>p{margin-bottom:calc(var(--baseline)*.5)}@media(max-width:767px){li{padding-left:1rem}}a{color:#dcd2ffbf;border-bottom:1px solid #dcd2ff4d;text-decoration:none;transition:border-color .2s,color .2s}a:hover{color:#dcd2fff2;border-bottom-color:#dcd2ff80}html:not(.dark) a{color:#8b7fa8d9;border-bottom-color:#8b7fa859}html:not(.dark) a:hover{color:var(--color-accent);border-bottom-color:#8b7fa88c}blockquote{border-left:4px solid var(--color-border-strong);padding-left:calc(var(--baseline)*1);padding-right:calc(var(--baseline)*1);padding-top:calc(var(--baseline)*.75);padding-bottom:calc(var(--baseline)*.75);margin-left:0;margin-right:0;margin-top:calc(var(--baseline)*1.5);margin-bottom:calc(var(--baseline)*1.5);background-color:var(--color-bg-1);color:var(--color-text-secondary);border-radius:0 .5rem .5rem 0;font-style:italic}blockquote h1,blockquote h2,blockquote h3,blockquote h4,blockquote h5,blockquote h6{margin-bottom:2px}code{border-radius:.25rem;padding:.125rem .375rem;font-size:.889rem;font-family:IBM Plex Mono,SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,monospace!important}pre{border-radius:.5rem;margin-top:1.5rem;margin-bottom:1.5rem;padding:1rem;overflow-x:auto;font-family:IBM Plex Mono,SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,monospace!important}@media(min-width:768px){pre{margin-top:2rem;margin-bottom:2rem;padding:1.5rem}}pre code{font-size:.889rem;line-height:var(--line-height-relaxed);padding:0}table{border-collapse:collapse;width:100%;margin-top:calc(var(--baseline)*1.5);margin-bottom:calc(var(--baseline)*1.5)}th,td{padding:calc(var(--baseline)*.5)calc(var(--baseline)*.75);text-align:left;border-bottom:1px solid}th{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-primary);border-bottom:1px solid var(--color-border-strong);font-size:.889rem;font-weight:500}hr{border:none;border-top:1px solid #ffffff14;margin-top:2rem;margin-bottom:2rem}html:not(.dark) hr{border-top-color:#0000001f}img{max-width:100%;height:auto;margin-top:calc(var(--baseline)*1.5);margin-bottom:calc(var(--baseline)*1.5)}figure{margin-top:calc(var(--baseline)*1.5);margin-bottom:calc(var(--baseline)*1.5)}figcaption{margin-top:calc(var(--baseline)*.5);text-align:center;color:inherit;opacity:.7;font-size:.889rem}.callout{margin-top:calc(var(--baseline)*1.5);margin-bottom:calc(var(--baseline)*1.5);padding:calc(var(--baseline)*1);background-color:var(--color-bg-1);border-left:4px solid var(--color-border-strong);border-radius:.5rem}.callout-note{background-color:#fff3cd80;border-left-color:#ffc10766}html.dark .callout-note{background-color:#1e1c1bcc;border-left-color:#ffffff26}.callout-important{background-color:#fff3cd99;border-left-color:#ffc10780}html.dark .callout-important{background-color:#1e1c1be6;border-left-color:#fff3}.callout p{margin-bottom:calc(var(--baseline)*.5);color:var(--color-text-primary)}.callout p:last-child{margin-bottom:0}.callout strong{margin-bottom:calc(var(--baseline)*.5);color:var(--color-text-primary);font-weight:600;display:block}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing)*0)}.top-4{top:calc(var(--spacing)*4)}.right-0{right:calc(var(--spacing)*0)}.right-4{right:calc(var(--spacing)*4)}.z-40{z-index:40}.z-50{z-index:50}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-5{margin-top:calc(var(--spacing)*5)}.mt-6{margin-top:calc(var(--spacing)*6)}.mt-8{margin-top:calc(var(--spacing)*8)}.mt-10{margin-top:calc(var(--spacing)*10)}.mt-12{margin-top:calc(var(--spacing)*12)}.mt-20{margin-top:calc(var(--spacing)*20)}.mt-48{margin-top:calc(var(--spacing)*48)}.mb-0{margin-bottom:calc(var(--spacing)*0)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.mb-16{margin-bottom:calc(var(--spacing)*16)}.mb-32{margin-bottom:calc(var(--spacing)*32)}.mb-48{margin-bottom:calc(var(--spacing)*48)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-\[1em\]{height:1em}.min-h-screen{min-height:100vh}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-40{width:calc(var(--spacing)*40)}.w-\[1em\]{width:1em}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-\[65ch\]{max-width:65ch}.max-w-none{max-width:none}.flex-shrink{flex-shrink:1}.origin-center{transform-origin:50%}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-around{justify-content:space-around}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing)*2)}.gap-px{gap:1px}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-12>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*12)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*12)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-20>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*20)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*20)*calc(1 - var(--tw-space-y-reverse)))}.overflow-visible{overflow:visible}.rounded-lg{border-radius:var(--radius-lg)}.rounded-sm{border-radius:var(--radius-sm)}.border{border-style:var(--tw-border-style);border-width:1px}.border-gray-200{border-color:var(--color-gray-200)}.bg-current{background-color:currentColor}.bg-gray-100{background-color:var(--color-gray-100)}.bg-white{background-color:var(--color-white)}.fill-current{fill:currentColor}.p-2{padding:calc(var(--spacing)*2)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.px-8{padding-inline:calc(var(--spacing)*8)}.py-1{padding-block:calc(var(--spacing)*1)}.py-2{padding-block:calc(var(--spacing)*2)}.py-16{padding-block:calc(var(--spacing)*16)}.py-32{padding-block:calc(var(--spacing)*32)}.pb-28{padding-bottom:calc(var(--spacing)*28)}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.font-serif{font-family:var(--font-serif)}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.text-current{color:currentColor}.text-gray-500{color:var(--color-gray-500)}.text-gray-700{color:var(--color-gray-700)}.lowercase{text-transform:lowercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.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)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px 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,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.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,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))}.transition-\[transform\,opacity\]{transition-property:transform,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));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:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-120{--tw-duration:.12s;transition-duration:.12s}.duration-150{--tw-duration:.15s;transition-duration:.15s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}@media(hover:hover){.group-hover\:translate-x-\[6\.6\%\]:is(:where(.group):hover *){--tw-translate-x:6.6%;translate:var(--tw-translate-x)var(--tw-translate-y)}.group-hover\:translate-y-\[6\.6\%\]:is(:where(.group):hover *){--tw-translate-y:6.6%;translate:var(--tw-translate-x)var(--tw-translate-y)}.group-hover\:opacity-70:is(:where(.group):hover *){opacity:.7}.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:bg-gray-200:hover{background-color:var(--color-gray-200)}.hover\:opacity-100:hover{opacity:1}}.focus-visible\:ring-1:focus-visible{--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)}.focus-visible\:ring-current\/20:focus-visible{--tw-ring-color:currentcolor}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-current\/20:focus-visible{--tw-ring-color:color-mix(in oklab,currentcolor 20%,transparent)}}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus-visible\:ring-offset-\[var\(--color-bg-0\)\]:focus-visible{--tw-ring-offset-color:var(--color-bg-0)}@media(prefers-reduced-motion:reduce){.motion-reduce\:transition-none{transition-property:none}@media(hover:hover){.motion-reduce\:group-hover\:translate-x-0:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.motion-reduce\:group-hover\:translate-y-0:is(:where(.group):hover *){--tw-translate-y:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}}}@media(min-width:40rem){.sm\:py-32{padding-block:calc(var(--spacing)*32)}}@media(prefers-color-scheme:dark){.dark\:border-gray-700{border-color:var(--color-gray-700)}.dark\:bg-gray-800{background-color:var(--color-gray-800)}.dark\:text-gray-300{color:var(--color-gray-300)}@media(hover:hover){.dark\:hover\:bg-gray-700:hover{background-color:var(--color-gray-700)}}}.prose{color:var(--color-text-primary);font-size:1rem;line-height:var(--line-height-relaxed);max-width:60ch;overflow:visible}.prose>:first-child{margin-top:0}.prose>:last-child{margin-bottom:0}.prose h1{color:var(--color-text-primary);font-size:2.786rem;line-height:var(--line-height-tight);letter-spacing:-.03em;margin-top:0;margin-bottom:calc(var(--baseline)*1);padding-top:2rem;padding-bottom:1rem;font-weight:500}.prose h2{color:var(--color-text-primary);font-size:2.074rem;line-height:var(--line-height-tight);letter-spacing:-.02em;margin-top:calc(var(--baseline)*1.5);margin-bottom:calc(var(--baseline)*.5);font-weight:500}.prose h3{color:var(--color-text-primary);font-size:1.44rem;line-height:var(--line-height-tight);letter-spacing:-.01em;margin-top:calc(var(--baseline)*1.5);margin-bottom:calc(var(--baseline)*.5);font-weight:400}.prose h4{color:var(--color-text-primary);font-size:1.25rem;line-height:var(--line-height-tight);margin-top:calc(var(--baseline)*1.5);margin-bottom:calc(var(--baseline)*.5);font-weight:500}.prose p{margin-bottom:var(--baseline);line-height:var(--line-height-relaxed)}.prose a{color:#dcd2ffbf;border-bottom:1px solid #dcd2ff4d;transition:border-color .2s,color .2s}.prose a:hover{color:#dcd2fff2;border-bottom-color:#dcd2ff80}html:not(.dark) .prose a{color:#635582f2;border-bottom-color:#63558280}html:not(.dark) .prose a:hover{color:#4e03fc;border-bottom-color:#4e03fcb3}.prose a.product-link{color:inherit;background-image:linear-gradient(to bottom,var(--product-color,var(--color-accent))0%,var(--product-color,var(--color-accent))100%);-webkit-box-decoration-break:clone;box-decoration-break:clone;background-position:0 .875em;background-repeat:no-repeat;background-size:100% calc(.625em + 1px);border-bottom:none;text-decoration:none;transition:opacity .2s}.prose a.product-link:hover{opacity:.85}html:not(.dark) .prose a.product-link{background-image:linear-gradient(to bottom,var(--product-color,var(--color-accent))0%,var(--product-color,var(--color-accent))100%)}@supports (color:color-mix(in lab,red,red)){html:not(.dark) .prose a.product-link{background-image:linear-gradient(to bottom,color-mix(in srgb,var(--product-color,var(--color-accent))25%,white)0%100%)}}html:not(.dark) .prose a.product-link:hover{opacity:.9}.prose strong,.prose b{color:var(--color-text-primary);font-weight:600}.prose strong em,.prose em strong,.prose b em,.prose em b{color:var(--color-text-primary);font-style:italic;font-weight:600}.prose em{font-style:italic}.prose mark{color:var(--color-text-primary);background-color:#fff3cd99;border-radius:.125rem;padding:.125rem .25rem}html.dark .prose mark{color:var(--color-text-primary);background-color:#dcd2ff40}.prose code{background-color:var(--color-bg-1);color:var(--color-text-primary);border-radius:.25rem;padding:.125rem .375rem;font-size:.889rem;font-family:IBM Plex Mono,SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,monospace!important}.prose pre{border-radius:.5rem;margin-top:1.5rem;margin-bottom:1.5rem;padding:1rem;position:relative;overflow-x:auto;background-color:var(--color-bg-1)!important;font-family:IBM Plex Mono,SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,monospace!important}@media(min-width:768px){.prose pre{margin-top:2rem;margin-bottom:2rem;padding:1.5rem}}.prose pre.shiki{background-color:var(--color-bg-1)!important}.code-block-wrapper{position:relative}.code-block-dark,.code-block-light{margin:0}html.dark .code-block-dark{display:block}html.dark .code-block-light,html:not(.dark) .code-block-dark{display:none}html:not(.dark) .code-block-light{display:block}.prose pre code{background:0 0;padding:0;font-size:.889rem;line-height:0;display:block;overflow-x:auto;font-family:IBM Plex Mono,SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,monospace!important}.prose pre code .line{min-height:1.6em;line-height:1.6;display:block}.prose pre code .line span{display:inline}.prose blockquote{border-left:4px solid var(--color-border-strong);color:var(--color-text-secondary);padding-left:calc(var(--baseline)*1);padding-right:calc(var(--baseline)*1);padding-top:calc(var(--baseline)*.75);padding-bottom:calc(var(--baseline)*.75);margin-left:0;margin-right:0;margin-top:calc(var(--baseline)*1.5);margin-bottom:calc(var(--baseline)*1.5);background-color:var(--color-bg-1);border-radius:0 .5rem .5rem 0;font-style:italic}.prose blockquote h1,.prose blockquote h2,.prose blockquote h3,.prose blockquote h4,.prose blockquote h5,.prose blockquote h6{margin-bottom:2px}.prose ul{margin-left:-1rem;margin-bottom:var(--baseline);padding-left:0;list-style-type:disc;list-style-position:outside}.prose ol{margin-left:-1rem;margin-bottom:var(--baseline);padding-left:0;list-style-type:decimal;list-style-position:outside}.prose li{margin-left:0;margin-bottom:calc(var(--baseline)*.55);padding-left:1.5rem;line-height:1.75}.prose li ul,.prose li ol{margin-left:1rem;margin-top:calc(var(--baseline)*.5);margin-bottom:calc(var(--baseline)*.5)}.prose li>p{margin-bottom:calc(var(--baseline)*.5)}.prose li>p:first-child{margin-top:calc(var(--baseline)*.5)}@media(max-width:767px){.prose li{padding-left:1rem}}.prose ul:has(li input[type=checkbox]),.prose li:has(input[type=checkbox]){margin-left:0;padding-left:0;list-style:none}.prose img{margin-top:calc(var(--baseline)*1.5);margin-bottom:calc(var(--baseline)*1.5);border-radius:.5rem;max-width:100%;height:auto}.prose figure{margin-top:calc(var(--baseline)*1.5);margin-bottom:calc(var(--baseline)*1.5);text-align:center}.prose figure img{max-width:100%;height:auto;margin:0 auto;display:block}.prose figcaption{margin-top:calc(var(--baseline)*.5);text-align:center;color:var(--color-text-secondary);font-size:.889rem;font-style:italic;line-height:var(--line-height-relaxed)}.prose hr{border:none;border-top:1px solid #ffffff14;margin-top:2rem;margin-bottom:2rem}html:not(.dark) .prose hr{border-top-color:#0000001f}.prose table{border-collapse:collapse;width:100%;margin-top:calc(var(--baseline)*1.5);margin-bottom:calc(var(--baseline)*1.5)}.prose th,.prose td{padding:calc(var(--baseline)*.5)calc(var(--baseline)*.75);text-align:left;border-bottom:1px solid var(--color-border-weak)}.prose th{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-primary);border-bottom:1px solid var(--color-border-strong);font-size:.889rem;font-weight:500}.prose details{margin-top:calc(var(--baseline)*1.5);margin-bottom:calc(var(--baseline)*1.5);border:1px solid var(--color-border-strong);background-color:var(--color-bg-1);border-radius:.5rem;transition:border-color .2s,background-color .2s;overflow:hidden}.prose details summary{padding:calc(var(--baseline)*.75)calc(var(--baseline)*1);cursor:pointer;color:var(--color-text-primary);-webkit-user-select:none;-moz-user-select:none;user-select:none;align-items:center;gap:.5rem;font-family:IBM Plex Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.944rem;font-weight:500;list-style:none;transition:color .2s,background-color .2s;display:flex}.prose details summary:hover{background-color:var(--color-bg-3)}.prose details summary:before{content:"";border-left:5px solid #0000;border-right:5px solid #0000;border-top:6px solid var(--color-text-secondary);flex-shrink:0;width:0;height:0;margin-right:0;transition:transform .2s}.prose details[open] summary:before{transform:rotate(180deg)}.prose details summary::-webkit-details-marker{display:none}.prose details summary::marker{display:none}.prose details>:not(summary){padding:0 calc(var(--baseline)*1)calc(var(--baseline)*1);color:var(--color-text-primary);line-height:var(--line-height-relaxed)}.prose details[open]>:not(summary):first-of-type{padding-top:calc(var(--baseline)*.75)}.prose .callout{margin-top:calc(var(--baseline)*1.5);margin-bottom:calc(var(--baseline)*1.5);padding:calc(var(--baseline)*1);background-color:var(--color-bg-1);border-left:4px solid var(--color-border-strong);border-radius:.5rem}.prose .callout-note{background-color:#fff3cd80;border-left-color:#ffc10766}html.dark .prose .callout-note{background-color:#1e1c1bcc;border-left-color:#ffffff26}.prose .callout-important{background-color:#fff3cd99;border-left-color:#ffc10780}html.dark .prose .callout-important{background-color:#1e1c1be6;border-left-color:#fff3}.prose .callout p{margin-bottom:calc(var(--baseline)*.5);color:var(--color-text-primary)}.prose .callout p:last-child{margin-bottom:0}.prose .callout strong{margin-bottom:calc(var(--baseline)*.5);color:var(--color-text-primary);font-weight:600;display:block}}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./files/ibm-plex-sans-latin-400-normal.woff2)format("woff2"),url(./files/ibm-plex-sans-latin-400-normal.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./files/ibm-plex-sans-latin-500-normal.woff2)format("woff2"),url(./files/ibm-plex-sans-latin-500-normal.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./files/ibm-plex-sans-latin-600-normal.woff2)format("woff2"),url(./files/ibm-plex-sans-latin-600-normal.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(./files/ibm-plex-sans-latin-700-normal.woff2)format("woff2"),url(./files/ibm-plex-sans-latin-700-normal.woff)format("woff")}@font-face{font-family:IBM Plex Serif;font-style:normal;font-display:swap;font-weight:400;src:url(./files/ibm-plex-serif-latin-400-normal.woff2)format("woff2"),url(./files/ibm-plex-serif-latin-400-normal.woff)format("woff")}@font-face{font-family:IBM Plex Serif;font-style:normal;font-display:swap;font-weight:500;src:url(./files/ibm-plex-serif-latin-500-normal.woff2)format("woff2"),url(./files/ibm-plex-serif-latin-500-normal.woff)format("woff")}@font-face{font-family:IBM Plex Serif;font-style:normal;font-display:swap;font-weight:600;src:url(./files/ibm-plex-serif-latin-600-normal.woff2)format("woff2"),url(./files/ibm-plex-serif-latin-600-normal.woff)format("woff")}@font-face{font-family:IBM Plex Serif;font-style:normal;font-display:swap;font-weight:700;src:url(./files/ibm-plex-serif-latin-700-normal.woff2)format("woff2"),url(./files/ibm-plex-serif-latin-700-normal.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./files/ibm-plex-mono-latin-400-normal.woff2)format("woff2"),url(./files/ibm-plex-mono-latin-400-normal.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./files/ibm-plex-mono-latin-500-normal.woff2)format("woff2"),url(./files/ibm-plex-mono-latin-500-normal.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(./files/ibm-plex-mono-latin-600-normal.woff2)format("woff2"),url(./files/ibm-plex-mono-latin-600-normal.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:700;src:url(./files/ibm-plex-mono-latin-700-normal.woff2)format("woff2"),url(./files/ibm-plex-mono-latin-700-normal.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-display:swap}@font-face{font-family:IBM Plex Serif;font-display:swap}@font-face{font-family:IBM Plex Mono;font-display:swap}:root{--baseline:1.5rem;--type-scale:1.2;--line-height-base:1.5;--line-height-tight:1.25;--line-height-relaxed:1.75;--font-size-base:18px}.prose .mermaid{text-align:center;margin:2rem 0;display:block;overflow-x:auto}.prose .mermaid svg{max-width:100%;height:auto;margin:0 auto;display:block}.prose .mermaid{min-height:100px}.prose .mermaid svg .node rect,.prose .mermaid svg .node circle,.prose .mermaid svg .node ellipse,.prose .mermaid svg .node polygon{transition:stroke-width .2s,opacity .2s;fill:#0000!important}html.dark .prose .mermaid svg .node rect[stroke],html.dark .prose .mermaid svg .node circle[stroke],html.dark .prose .mermaid svg .node ellipse[stroke],html.dark .prose .mermaid svg .node polygon[stroke],html.dark .prose .mermaid svg .node rect,html.dark .prose .mermaid svg .node circle,html.dark .prose .mermaid svg .node ellipse,html.dark .prose .mermaid svg .node polygon{stroke:#585858!important;stroke-width:1px!important;fill:#0000!important}html:not(.dark) .prose .mermaid svg .node rect[stroke],html:not(.dark) .prose .mermaid svg .node circle[stroke],html:not(.dark) .prose .mermaid svg .node ellipse[stroke],html:not(.dark) .prose .mermaid svg .node polygon[stroke],html:not(.dark) .prose .mermaid svg .node rect,html:not(.dark) .prose .mermaid svg .node circle,html:not(.dark) .prose .mermaid svg .node ellipse,html:not(.dark) .prose .mermaid svg .node polygon{stroke:#000!important;stroke-width:1px!important;fill:#0000!important}.prose .mermaid svg .edgePath .path{stroke-width:2.5px;opacity:.8}html.dark .prose .mermaid svg .edgePath .path{stroke:#fff!important}html:not(.dark) .prose .mermaid svg .edgePath .path{stroke:#000!important}.prose .mermaid svg .arrowheadPath{stroke-width:2.5px;opacity:.8}html.dark .prose .mermaid svg .arrowheadPath{stroke:#fff!important;fill:#fff!important}html:not(.dark) .prose .mermaid svg .arrowheadPath{stroke:#000!important;fill:#000!important}.prose .mermaid svg .edgeLabel rect{stroke-width:2px;rx:4px;ry:4px}html.dark .prose .mermaid svg .edgeLabel rect{fill:#161514!important;stroke:#fff!important}html:not(.dark) .prose .mermaid svg .edgeLabel rect{fill:#000!important;stroke:#000!important}.prose .mermaid svg .edgeLabel text{font-weight:600!important}html.dark .prose .mermaid svg .edgeLabel text{fill:#000!important}html:not(.dark) .prose .mermaid svg .edgeLabel text{fill:#fff!important}.prose .mermaid svg .edgeLabel{padding:4px 8px!important}.prose .mermaid svg .edgeLabel text{text-anchor:middle!important}.prose .mermaid svg .edgeLabel foreignObject{text-align:center!important;justify-content:center!important;padding:4px 8px!important}.prose .mermaid svg .edgeLabel foreignObject div,.prose .mermaid svg .edgeLabel foreignObject span{padding:4px 8px!important}.prose .mermaid svg .nodeLabel{font-weight:600}html.dark .prose .mermaid svg .nodeLabel{fill:#fff!important}html:not(.dark) .prose .mermaid svg .nodeLabel{fill:#000!important}html.dark .prose .mermaid svg text,html.dark .prose .mermaid svg .nodeLabel text,html.dark .prose .mermaid svg .cluster-label text,html.dark .prose .mermaid svg .label text{fill:#fff!important}html:not(.dark) .prose .mermaid svg text,html:not(.dark) .prose .mermaid svg .nodeLabel text,html:not(.dark) .prose .mermaid svg .cluster-label text,html:not(.dark) .prose .mermaid svg .label text{fill:#000!important}.prose .mermaid svg .node text,.prose .mermaid svg .node .nodeLabel text,.prose .mermaid svg .node .label text{pointer-events:auto!important;paint-order:stroke fill!important}html.dark .prose .mermaid svg .node text,html.dark .prose .mermaid svg .node .nodeLabel text{stroke:#000!important;stroke-width:.3px!important;stroke-linejoin:round!important}html:not(.dark) .prose .mermaid svg .node text,html:not(.dark) .prose .mermaid svg .node .nodeLabel text{stroke:#fff!important;stroke-width:.3px!important;stroke-linejoin:round!important}html.dark .prose .mermaid svg .flowchart-link,html.dark .prose .mermaid svg path{stroke:#fff!important}html:not(.dark) .prose .mermaid svg .flowchart-link,html:not(.dark) .prose .mermaid svg path{stroke:#000!important}@media(hover:hover){.prose .mermaid svg .node rect,.prose .mermaid svg .node circle,.prose .mermaid svg .node ellipse{transition:stroke-width .2s,opacity .2s}.prose .mermaid svg .node:hover rect,.prose .mermaid svg .node:hover circle,.prose .mermaid svg .node:hover ellipse{stroke-width:4px;opacity:1}}html.dark .prose .mermaid svg g.node.primary rect,html.dark .prose .mermaid svg g.node.primary circle,html.dark .prose .mermaid svg g.node.primary ellipse,html.dark .prose .mermaid svg g.node.primary polygon,html.dark .prose .mermaid svg .node.primary rect,html.dark .prose .mermaid svg .node.primary circle,html.dark .prose .mermaid svg .node.primary ellipse,html.dark .prose .mermaid svg .node.primary polygon,html:not(.dark) .prose .mermaid svg g.node.primary rect,html:not(.dark) .prose .mermaid svg g.node.primary circle,html:not(.dark) .prose .mermaid svg g.node.primary ellipse,html:not(.dark) .prose .mermaid svg g.node.primary polygon,html:not(.dark) .prose .mermaid svg .node.primary rect,html:not(.dark) .prose .mermaid svg .node.primary circle,html:not(.dark) .prose .mermaid svg .node.primary ellipse,html:not(.dark) .prose .mermaid svg .node.primary polygon,html.dark .prose .mermaid svg g.node.center rect,html.dark .prose .mermaid svg g.node.center circle,html.dark .prose .mermaid svg g.node.center ellipse,html.dark .prose .mermaid svg g.node.center polygon,html.dark .prose .mermaid svg .node.center rect,html.dark .prose .mermaid svg .node.center circle,html.dark .prose .mermaid svg .node.center ellipse,html.dark .prose .mermaid svg .node.center polygon,html:not(.dark) .prose .mermaid svg g.node.center rect,html:not(.dark) .prose .mermaid svg g.node.center circle,html:not(.dark) .prose .mermaid svg g.node.center ellipse,html:not(.dark) .prose .mermaid svg g.node.center polygon,html:not(.dark) .prose .mermaid svg .node.center rect,html:not(.dark) .prose .mermaid svg .node.center circle,html:not(.dark) .prose .mermaid svg .node.center ellipse,html:not(.dark) .prose .mermaid svg .node.center polygon,html.dark .prose .mermaid svg g.node.start rect,html.dark .prose .mermaid svg g.node.start circle,html.dark .prose .mermaid svg g.node.start ellipse,html.dark .prose .mermaid svg g.node.start polygon,html.dark .prose .mermaid svg .node.start rect,html.dark .prose .mermaid svg .node.start circle,html.dark .prose .mermaid svg .node.start ellipse,html.dark .prose .mermaid svg .node.start polygon,html:not(.dark) .prose .mermaid svg g.node.start rect,html:not(.dark) .prose .mermaid svg g.node.start circle,html:not(.dark) .prose .mermaid svg g.node.start ellipse,html:not(.dark) .prose .mermaid svg g.node.start polygon,html:not(.dark) .prose .mermaid svg .node.start rect,html:not(.dark) .prose .mermaid svg .node.start circle,html:not(.dark) .prose .mermaid svg .node.start ellipse,html:not(.dark) .prose .mermaid svg .node.start polygon{fill:url(#patternPrimary)!important;fill-opacity:1!important}html.dark .prose .mermaid svg g.node.success rect,html.dark .prose .mermaid svg g.node.success circle,html.dark .prose .mermaid svg g.node.success ellipse,html.dark .prose .mermaid svg g.node.success polygon,html.dark .prose .mermaid svg .node.success rect,html.dark .prose .mermaid svg .node.success circle,html.dark .prose .mermaid svg .node.success ellipse,html.dark .prose .mermaid svg .node.success polygon,html:not(.dark) .prose .mermaid svg g.node.success rect,html:not(.dark) .prose .mermaid svg g.node.success circle,html:not(.dark) .prose .mermaid svg g.node.success ellipse,html:not(.dark) .prose .mermaid svg g.node.success polygon,html:not(.dark) .prose .mermaid svg .node.success rect,html:not(.dark) .prose .mermaid svg .node.success circle,html:not(.dark) .prose .mermaid svg .node.success ellipse,html:not(.dark) .prose .mermaid svg .node.success polygon,html.dark .prose .mermaid svg g.node.good rect,html.dark .prose .mermaid svg g.node.good circle,html.dark .prose .mermaid svg g.node.good ellipse,html.dark .prose .mermaid svg g.node.good polygon,html.dark .prose .mermaid svg .node.good rect,html.dark .prose .mermaid svg .node.good circle,html.dark .prose .mermaid svg .node.good ellipse,html.dark .prose .mermaid svg .node.good polygon,html:not(.dark) .prose .mermaid svg g.node.good rect,html:not(.dark) .prose .mermaid svg g.node.good circle,html:not(.dark) .prose .mermaid svg g.node.good ellipse,html:not(.dark) .prose .mermaid svg g.node.good polygon,html:not(.dark) .prose .mermaid svg .node.good rect,html:not(.dark) .prose .mermaid svg .node.good circle,html:not(.dark) .prose .mermaid svg .node.good ellipse,html:not(.dark) .prose .mermaid svg .node.good polygon{fill:url(#patternSuccess)!important;fill-opacity:1!important}html.dark .prose .mermaid svg g.node.warning rect,html.dark .prose .mermaid svg g.node.warning circle,html.dark .prose .mermaid svg g.node.warning ellipse,html.dark .prose .mermaid svg g.node.warning polygon,html.dark .prose .mermaid svg .node.warning rect,html.dark .prose .mermaid svg .node.warning circle,html.dark .prose .mermaid svg .node.warning ellipse,html.dark .prose .mermaid svg .node.warning polygon,html:not(.dark) .prose .mermaid svg g.node.warning rect,html:not(.dark) .prose .mermaid svg g.node.warning circle,html:not(.dark) .prose .mermaid svg g.node.warning ellipse,html:not(.dark) .prose .mermaid svg g.node.warning polygon,html:not(.dark) .prose .mermaid svg .node.warning rect,html:not(.dark) .prose .mermaid svg .node.warning circle,html:not(.dark) .prose .mermaid svg .node.warning ellipse,html:not(.dark) .prose .mermaid svg .node.warning polygon,html.dark .prose .mermaid svg g.node.decision rect,html.dark .prose .mermaid svg g.node.decision circle,html.dark .prose .mermaid svg g.node.decision ellipse,html.dark .prose .mermaid svg g.node.decision polygon,html.dark .prose .mermaid svg .node.decision rect,html.dark .prose .mermaid svg .node.decision circle,html.dark .prose .mermaid svg .node.decision ellipse,html.dark .prose .mermaid svg .node.decision polygon,html:not(.dark) .prose .mermaid svg g.node.decision rect,html:not(.dark) .prose .mermaid svg g.node.decision circle,html:not(.dark) .prose .mermaid svg g.node.decision ellipse,html:not(.dark) .prose .mermaid svg g.node.decision polygon,html:not(.dark) .prose .mermaid svg .node.decision rect,html:not(.dark) .prose .mermaid svg .node.decision circle,html:not(.dark) .prose .mermaid svg .node.decision ellipse,html:not(.dark) .prose .mermaid svg .node.decision polygon{fill:url(#patternWarning)!important;fill-opacity:1!important}html.dark .prose .mermaid svg g.node.danger rect,html.dark .prose .mermaid svg g.node.danger circle,html.dark .prose .mermaid svg g.node.danger ellipse,html.dark .prose .mermaid svg g.node.danger polygon,html.dark .prose .mermaid svg g.node.error rect,html.dark .prose .mermaid svg g.node.error circle,html.dark .prose .mermaid svg g.node.error ellipse,html.dark .prose .mermaid svg g.node.error polygon,html.dark .prose .mermaid svg .node.danger rect,html.dark .prose .mermaid svg .node.danger circle,html.dark .prose .mermaid svg .node.danger ellipse,html.dark .prose .mermaid svg .node.danger polygon,html.dark .prose .mermaid svg .node.error rect,html.dark .prose .mermaid svg .node.error circle,html.dark .prose .mermaid svg .node.error ellipse,html.dark .prose .mermaid svg .node.error polygon,html:not(.dark) .prose .mermaid svg g.node.danger rect,html:not(.dark) .prose .mermaid svg g.node.danger circle,html:not(.dark) .prose .mermaid svg g.node.danger ellipse,html:not(.dark) .prose .mermaid svg g.node.danger polygon,html:not(.dark) .prose .mermaid svg g.node.error rect,html:not(.dark) .prose .mermaid svg g.node.error circle,html:not(.dark) .prose .mermaid svg g.node.error ellipse,html:not(.dark) .prose .mermaid svg g.node.error polygon,html:not(.dark) .prose .mermaid svg .node.danger rect,html:not(.dark) .prose .mermaid svg .node.danger circle,html:not(.dark) .prose .mermaid svg .node.danger ellipse,html:not(.dark) .prose .mermaid svg .node.danger polygon,html:not(.dark) .prose .mermaid svg .node.error rect,html:not(.dark) .prose .mermaid svg .node.error circle,html:not(.dark) .prose .mermaid svg .node.error ellipse,html:not(.dark) .prose .mermaid svg .node.error polygon,html.dark .prose .mermaid svg g.node.bad rect,html.dark .prose .mermaid svg g.node.bad circle,html.dark .prose .mermaid svg g.node.bad ellipse,html.dark .prose .mermaid svg g.node.bad polygon,html.dark .prose .mermaid svg .node.bad rect,html.dark .prose .mermaid svg .node.bad circle,html.dark .prose .mermaid svg .node.bad ellipse,html.dark .prose .mermaid svg .node.bad polygon,html:not(.dark) .prose .mermaid svg g.node.bad rect,html:not(.dark) .prose .mermaid svg g.node.bad circle,html:not(.dark) .prose .mermaid svg g.node.bad ellipse,html:not(.dark) .prose .mermaid svg g.node.bad polygon,html:not(.dark) .prose .mermaid svg .node.bad rect,html:not(.dark) .prose .mermaid svg .node.bad circle,html:not(.dark) .prose .mermaid svg .node.bad ellipse,html:not(.dark) .prose .mermaid svg .node.bad polygon{fill:url(#patternDanger)!important;fill-opacity:1!important}html.dark .prose .mermaid svg g.node.info rect,html.dark .prose .mermaid svg g.node.info circle,html.dark .prose .mermaid svg g.node.info ellipse,html.dark .prose .mermaid svg g.node.info polygon,html.dark .prose .mermaid svg .node.info rect,html.dark .prose .mermaid svg .node.info circle,html.dark .prose .mermaid svg .node.info ellipse,html.dark .prose .mermaid svg .node.info polygon,html:not(.dark) .prose .mermaid svg g.node.info rect,html:not(.dark) .prose .mermaid svg g.node.info circle,html:not(.dark) .prose .mermaid svg g.node.info ellipse,html:not(.dark) .prose .mermaid svg g.node.info polygon,html:not(.dark) .prose .mermaid svg .node.info rect,html:not(.dark) .prose .mermaid svg .node.info circle,html:not(.dark) .prose .mermaid svg .node.info ellipse,html:not(.dark) .prose .mermaid svg .node.info polygon,html.dark .prose .mermaid svg g.node.topnode rect,html.dark .prose .mermaid svg g.node.topnode circle,html.dark .prose .mermaid svg g.node.topnode ellipse,html.dark .prose .mermaid svg g.node.topnode polygon,html.dark .prose .mermaid svg .node.topnode rect,html.dark .prose .mermaid svg .node.topnode circle,html.dark .prose .mermaid svg .node.topnode ellipse,html.dark .prose .mermaid svg .node.topnode polygon,html:not(.dark) .prose .mermaid svg g.node.topnode rect,html:not(.dark) .prose .mermaid svg g.node.topnode circle,html:not(.dark) .prose .mermaid svg g.node.topnode ellipse,html:not(.dark) .prose .mermaid svg g.node.topnode polygon,html:not(.dark) .prose .mermaid svg .node.topnode rect,html:not(.dark) .prose .mermaid svg .node.topnode circle,html:not(.dark) .prose .mermaid svg .node.topnode ellipse,html:not(.dark) .prose .mermaid svg .node.topnode polygon,html.dark .prose .mermaid svg g.node.bottomnode rect,html.dark .prose .mermaid svg g.node.bottomnode circle,html.dark .prose .mermaid svg g.node.bottomnode ellipse,html.dark .prose .mermaid svg g.node.bottomnode polygon,html.dark .prose .mermaid svg .node.bottomnode rect,html.dark .prose .mermaid svg .node.bottomnode circle,html.dark .prose .mermaid svg .node.bottomnode ellipse,html.dark .prose .mermaid svg .node.bottomnode polygon,html:not(.dark) .prose .mermaid svg g.node.bottomnode rect,html:not(.dark) .prose .mermaid svg g.node.bottomnode circle,html:not(.dark) .prose .mermaid svg g.node.bottomnode ellipse,html:not(.dark) .prose .mermaid svg g.node.bottomnode polygon,html:not(.dark) .prose .mermaid svg .node.bottomnode rect,html:not(.dark) .prose .mermaid svg .node.bottomnode circle,html:not(.dark) .prose .mermaid svg .node.bottomnode ellipse,html:not(.dark) .prose .mermaid svg .node.bottomnode polygon{fill:url(#patternInfo)!important;fill-opacity:1!important}html.dark .prose .mermaid svg g.node.muted rect,html.dark .prose .mermaid svg g.node.muted circle,html.dark .prose .mermaid svg g.node.muted ellipse,html.dark .prose .mermaid svg g.node.muted polygon,html.dark .prose .mermaid svg .node.muted rect,html.dark .prose .mermaid svg .node.muted circle,html.dark .prose .mermaid svg .node.muted ellipse,html.dark .prose .mermaid svg .node.muted polygon,html:not(.dark) .prose .mermaid svg g.node.muted rect,html:not(.dark) .prose .mermaid svg g.node.muted circle,html:not(.dark) .prose .mermaid svg g.node.muted ellipse,html:not(.dark) .prose .mermaid svg g.node.muted polygon,html:not(.dark) .prose .mermaid svg .node.muted rect,html:not(.dark) .prose .mermaid svg .node.muted circle,html:not(.dark) .prose .mermaid svg .node.muted ellipse,html:not(.dark) .prose .mermaid svg .node.muted polygon{fill:url(#patternMuted)!important;fill-opacity:1!important}html.dark .prose .mermaid svg g.node.process rect,html.dark .prose .mermaid svg g.node.process circle,html.dark .prose .mermaid svg g.node.process ellipse,html.dark .prose .mermaid svg g.node.process polygon,html.dark .prose .mermaid svg .node.process rect,html.dark .prose .mermaid svg .node.process circle,html.dark .prose .mermaid svg .node.process ellipse,html.dark .prose .mermaid svg .node.process polygon,html:not(.dark) .prose .mermaid svg g.node.process rect,html:not(.dark) .prose .mermaid svg g.node.process circle,html:not(.dark) .prose .mermaid svg g.node.process ellipse,html:not(.dark) .prose .mermaid svg g.node.process polygon,html:not(.dark) .prose .mermaid svg .node.process rect,html:not(.dark) .prose .mermaid svg .node.process circle,html:not(.dark) .prose .mermaid svg .node.process ellipse,html:not(.dark) .prose .mermaid svg .node.process polygon{fill:url(#patternProcess)!important;fill-opacity:1!important}html.dark .prose .mermaid svg g.node.external rect,html.dark .prose .mermaid svg g.node.external circle,html.dark .prose .mermaid svg g.node.external ellipse,html.dark .prose .mermaid svg g.node.external polygon,html.dark .prose .mermaid svg .node.external rect,html.dark .prose .mermaid svg .node.external circle,html.dark .prose .mermaid svg .node.external ellipse,html.dark .prose .mermaid svg .node.external polygon,html:not(.dark) .prose .mermaid svg g.node.external rect,html:not(.dark) .prose .mermaid svg g.node.external circle,html:not(.dark) .prose .mermaid svg g.node.external ellipse,html:not(.dark) .prose .mermaid svg g.node.external polygon,html:not(.dark) .prose .mermaid svg .node.external rect,html:not(.dark) .prose .mermaid svg .node.external circle,html:not(.dark) .prose .mermaid svg .node.external polygon,html:not(.dark) .prose .mermaid svg .node.external ellipse{fill:url(#patternExternal)!important;fill-opacity:1!important}.prose .mermaid svg defs pattern path,.prose .mermaid svg defs pattern circle{stroke:currentColor;fill:currentColor}html:not(.dark) .prose .mermaid svg defs pattern path,html:not(.dark) .prose .mermaid svg defs pattern circle{stroke:#000;fill:#000}html.dark .prose .mermaid svg defs pattern path,html.dark .prose .mermaid svg defs pattern circle{stroke:#fff;fill:#fff}@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-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: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-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@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}.pixel-grid.svelte-1shvctp{grid-template-columns:repeat(7,2px);grid-template-rows:repeat(5,2px)}@media(min-width:768px){.pixel-grid.svelte-1shvctp{grid-template-columns:repeat(7,3px);grid-template-rows:repeat(5,3px)}}html:not(.dark) .pixel-grid.svelte-1shvctp>div:where(.svelte-1shvctp){box-shadow:0 0 0 1px #fff}html.dark .pixel-grid.svelte-1shvctp>div:where(.svelte-1shvctp){box-shadow:0 0 0 1px var(--color-bg-0)}.pixel-grid.svelte-orb0cj{grid-template-columns:repeat(7,2px);grid-template-rows:repeat(5,2px)}@media(min-width:768px){.pixel-grid.svelte-orb0cj{grid-template-columns:repeat(7,3px);grid-template-rows:repeat(5,3px)}}html:not(.dark) .pixel-grid.svelte-orb0cj>div:where(.svelte-orb0cj){box-shadow:0 0 0 1px #fff}html.dark .pixel-grid.svelte-orb0cj>div:where(.svelte-orb0cj){box-shadow:0 0 0 1px var(--color-bg-0)}.pixel-grid.svelte-13beg1q{grid-template-columns:repeat(7,2px);grid-template-rows:repeat(5,2px)}@media(min-width:768px){.pixel-grid.svelte-13beg1q{grid-template-columns:repeat(7,3px);grid-template-rows:repeat(5,3px)}}html:not(.dark) .pixel-grid.svelte-13beg1q>div:where(.svelte-13beg1q){box-shadow:0 0 0 1px #fff}html.dark .pixel-grid.svelte-13beg1q>div:where(.svelte-13beg1q){box-shadow:0 0 0 1px var(--color-bg-0)}.pixel-grid.svelte-121ve9f{grid-template-columns:repeat(7,2px);grid-template-rows:repeat(5,2px)}@media(min-width:768px){.pixel-grid.svelte-121ve9f{grid-template-columns:repeat(7,3px);grid-template-rows:repeat(5,3px)}}html:not(.dark) .pixel-grid.svelte-121ve9f>div:where(.svelte-121ve9f){box-shadow:0 0 0 1px #fff}html.dark .pixel-grid.svelte-121ve9f>div:where(.svelte-121ve9f){box-shadow:0 0 0 1px var(--color-bg-0)}.pixel-eye-grid.svelte-z7jus7{grid-template-columns:repeat(7,2px);grid-template-rows:repeat(5,2px)}@media(min-width:768px){.pixel-eye-grid.svelte-z7jus7{grid-template-columns:repeat(7,3px);grid-template-rows:repeat(5,3px)}}html:not(.dark) .pixel-eye-grid.svelte-z7jus7>div:where(.svelte-z7jus7){box-shadow:0 0 0 1px #fff}html.dark .pixel-eye-grid.svelte-z7jus7>div:where(.svelte-z7jus7){box-shadow:0 0 0 1px var(--color-bg-0)}.nav-preferences.svelte-dfqsp2{position:relative}.preferences-drawer.svelte-dfqsp2{position:absolute;right:0;top:2rem;width:280px;min-width:280px;background-color:var(--color-bg-1);border:1px solid var(--color-border-strong);padding:1rem;max-height:80vh;overflow-y:auto;font-family:IBM Plex Sans,sans-serif;animation:svelte-dfqsp2-slideIn .2s ease;z-index:60}@media(max-width:767px){.preferences-drawer.svelte-dfqsp2{position:fixed;bottom:80px;top:auto;right:.75rem;left:auto;width:calc(100vw - 1.5rem);max-width:320px;max-height:calc(100vh - 100px);animation:svelte-dfqsp2-slideInUp .2s ease}}html.reduce-motion .preferences-drawer.svelte-dfqsp2{animation:none}@keyframes svelte-dfqsp2-slideIn{0%{opacity:0;transform:translateY(-.5rem)}to{opacity:1;transform:translateY(0)}}@keyframes svelte-dfqsp2-slideInUp{0%{opacity:0;transform:translateY(.5rem)}to{opacity:1;transform:translateY(0)}}.preferences-section.svelte-dfqsp2{margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border-weak)}.preferences-section.svelte-dfqsp2:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.preferences-label.svelte-dfqsp2{font-size:.75rem;font-weight:500;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.preferences-options.svelte-dfqsp2{display:flex;gap:.375rem}.preferences-option.svelte-dfqsp2{flex:1;padding:.375rem .5rem;font-size:.75rem;font-family:IBM Plex Sans,sans-serif;background-color:transparent;border:1px solid var(--color-border-strong);color:var(--color-text-secondary);cursor:pointer;transition:all .2s ease;text-align:center}.preferences-option.svelte-dfqsp2:hover{border-color:var(--color-border-strong);color:var(--color-text-primary);background-color:var(--color-bg-3)}.preferences-option.active.svelte-dfqsp2{background-color:var(--color-bg-3);border-color:var(--color-accent);color:var(--color-text-primary)}.preferences-toggle.svelte-dfqsp2{width:100%;display:flex;align-items:center;justify-content:space-between;padding:.5rem 0;font-size:.875rem;font-family:IBM Plex Sans,sans-serif;color:var(--color-text-primary);background:none;border:none;cursor:pointer;transition:opacity .2s ease}.preferences-toggle.svelte-dfqsp2:hover{opacity:.7}.toggle-switch.svelte-dfqsp2{width:2.5rem;height:1.25rem;background-color:var(--color-border-strong);border-radius:9999px;position:relative;transition:background-color .2s ease}.toggle-switch.active.svelte-dfqsp2{background-color:var(--color-accent)}.toggle-switch-handle.svelte-dfqsp2{width:1rem;height:1rem;background-color:var(--color-text-primary);border-radius:50%;position:absolute;top:.125rem;left:.125rem;transition:transform .2s ease}.toggle-switch.active.svelte-dfqsp2 .toggle-switch-handle:where(.svelte-dfqsp2){transform:translate(1.125rem)}.tooltip-wrapper.svelte-11extwn{position:relative;display:inline-flex}.tooltip.svelte-11extwn{position:absolute;left:50%;transform:translate(-50%);background-color:var(--color-bg-1);color:var(--color-text-primary);padding:4px 8px;border-radius:4px;font-size:.75rem;white-space:nowrap;pointer-events:none;z-index:1000;border:1px solid var(--color-border-weak);box-shadow:0 2px 8px #0000001a;opacity:0;animation:svelte-11extwn-tooltipFadeInTop .15s ease-out forwards}.tooltip-top.svelte-11extwn{bottom:calc(100% + 8px);animation:svelte-11extwn-tooltipFadeInTop .15s ease-out forwards}.tooltip-bottom.svelte-11extwn{top:calc(100% + 8px);animation:svelte-11extwn-tooltipFadeInBottom .15s ease-out forwards}@keyframes svelte-11extwn-tooltipFadeInTop{0%{opacity:0;transform:translate(-50%) translateY(4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes svelte-11extwn-tooltipFadeInBottom{0%{opacity:0;transform:translate(-50%) translateY(-4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.tooltip-top.svelte-11extwn:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid var(--color-bg-1)}.tooltip-bottom.svelte-11extwn:after{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:4px solid var(--color-bg-1)}html.reduce-motion .tooltip.svelte-11extwn{animation:none;opacity:1}html.reduce-motion .tooltip-top.svelte-11extwn:after,html.reduce-motion .tooltip-bottom.svelte-11extwn:after{display:none}.nav-container.svelte-ocbj1u{padding:.5rem 0 .5rem 1rem;border-radius:100px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}html.dark .nav-container.svelte-ocbj1u{background:#0000004d}html:not(.dark) .nav-container.svelte-ocbj1u{background:#ffffff4d}.desktop-nav.svelte-ocbj1u{gap:1.5rem}.desktop-nav.svelte-ocbj1u>.nav-preferences{margin:0}.nav-link.svelte-ocbj1u{display:flex;align-items:center;border-bottom:none;color:var(--color-text-secondary);text-decoration:none;transition:opacity .2s ease,color .2s ease}.nav-link.svelte-ocbj1u:hover{color:var(--color-text-primary);opacity:.7}html.reduce-motion .nav-link.svelte-ocbj1u{transition:none}.mobile-nav.svelte-ocbj1u{display:none}.nav-items-mobile.svelte-ocbj1u{width:100%;padding:.5rem .75rem;gap:.25rem;min-height:64px}.nav-link-mobile.svelte-ocbj1u{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;flex:1;min-width:0;padding:.375rem .25rem;border-bottom:none;color:var(--color-text-secondary);text-decoration:none;transition:opacity .2s ease,color .2s ease;border-radius:.5rem}.nav-link-mobile.svelte-ocbj1u:hover,.nav-link-mobile.svelte-ocbj1u:active{color:var(--color-text-primary);opacity:.7;background-color:var(--color-bg-1)}.nav-link-mobile.active.svelte-ocbj1u{color:var(--color-text-primary)}.nav-icon-wrapper.svelte-ocbj1u{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:24px;height:24px}.nav-label.svelte-ocbj1u{font-size:.6875rem;line-height:1.2;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%;font-weight:400}.mobile-actions.svelte-ocbj1u{display:flex;align-items:center;gap:.5rem;margin-left:.25rem;padding-left:.5rem;border-left:1px solid var(--color-border-weak);flex-shrink:0}@media(max-width:767px){.nav-container.svelte-ocbj1u{padding:0;border-radius:0;border-top:1px solid var(--color-border-weak);position:fixed;bottom:0;left:0;right:0;width:100%;z-index:60}html.dark .nav-container.svelte-ocbj1u{background:#0000004d}html:not(.dark) .nav-container.svelte-ocbj1u{background:#ffffff4d}.desktop-nav.svelte-ocbj1u{display:none}.mobile-nav.svelte-ocbj1u{display:flex}}@media(min-width:768px){.mobile-nav.svelte-ocbj1u{display:none}.desktop-nav.svelte-ocbj1u{display:flex}}html.reduce-motion .nav-link-mobile.svelte-ocbj1u{transition:none}.layout-container.svelte-12qhfyh{padding-bottom:0}.nav-wrapper.svelte-12qhfyh{position:fixed;top:1.25rem;right:1.5rem;z-index:60}@media(max-width:767px){.nav-wrapper.svelte-12qhfyh{position:static;top:auto;right:auto}.layout-container.svelte-12qhfyh{padding-bottom:80px}}
