:root{--color-neutral:255, 255, 255;--color-neutral-50:250, 250, 250;--color-neutral-100:245, 245, 245;--color-neutral-200:229, 229, 229;--color-neutral-300:212, 212, 212;--color-neutral-400:163, 163, 163;--color-neutral-500:115, 115, 115;--color-neutral-600:82, 82, 82;--color-neutral-700:64, 64, 64;--color-neutral-800:38, 38, 38;--color-neutral-900:23, 23, 23;--color-neutral-950:10, 10, 10;--color-primary-50:255, 241, 242;--color-primary-100:255, 228, 230;--color-primary-200:254, 205, 211;--color-primary-300:253, 164, 175;--color-primary-400:251, 113, 133;--color-primary-500:244, 63, 94;--color-primary-600:225, 29, 72;--color-primary-700:190, 18, 60;--color-primary-800:159, 18, 57;--color-primary-900:136, 19, 55;--color-primary-950:76, 5, 25;--color-secondary-50:240, 253, 244;--color-secondary-100:220, 252, 231;--color-secondary-200:187, 247, 208;--color-secondary-300:134, 239, 172;--color-secondary-400:74, 222, 128;--color-secondary-500:34, 197, 94;--color-secondary-600:22, 163, 74;--color-secondary-700:21, 128, 61;--color-secondary-800:22, 101, 52;--color-secondary-900:20, 83, 45;--color-secondary-950:5, 46, 22}/*!Congo v2.14.0 | MIT License | https://github.com/jpanther/congo*/*,::before,::after{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*!tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/*,::before,::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:initial}::before,::after{--tw-content:''}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-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}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;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-feature-settings:normal;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}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);text-decoration:underline;font-weight:500;text-decoration-color:rgba(var(--color-primary-300),1)}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)):hover{color:rgba(var(--color-neutral),1);text-decoration:none;background-color:rgba(var(--color-primary-600),1);border-radius:.09rem}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=As]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=as]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=Is]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=is]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-style:italic;color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"\201C""\201D""\2018""\2019";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *))::before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *))::after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:900;color:inherit}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:800;color:inherit}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-top:2em;margin-bottom:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:600;font-family:inherit;color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows);font-size:.9rem;border-radius:.25rem;padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;padding-inline-start:.375em;background-color:rgba(var(--color-neutral-200),1);padding:.1rem .4rem}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-weight:600;font-size:.875em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *))::before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *))::after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code)}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding-top:.8571429em;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *))::before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *))::after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){width:100%;table-layout:auto;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;vertical-align:bottom;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body:rgba(var(--color-neutral-700), 1);--tw-prose-headings:rgba(var(--color-neutral-800), 1);--tw-prose-lead:rgba(var(--color-neutral-500), 1);--tw-prose-links:rgba(var(--color-primary-700), 1);--tw-prose-bold:rgba(var(--color-neutral-900), 1);--tw-prose-counters:rgba(var(--color-neutral-800), 1);--tw-prose-bullets:rgba(var(--color-neutral-500), 1);--tw-prose-hr:rgba(var(--color-neutral-200), 1);--tw-prose-quotes:rgba(var(--color-neutral-700), 1);--tw-prose-quote-borders:rgba(var(--color-primary-200), 1);--tw-prose-captions:rgba(var(--color-neutral-500), 1);--tw-prose-kbd:#111827;--tw-prose-kbd-shadows:rgb(17 24 39 / 10%);--tw-prose-code:rgba(var(--color-secondary-700), 1);--tw-prose-pre-code:rgba(var(--color-neutral-700), 1);--tw-prose-pre-bg:rgba(var(--color-neutral-50), 1);--tw-prose-th-borders:rgba(var(--color-neutral-500), 1);--tw-prose-td-borders:rgba(var(--color-neutral-300), 1);--tw-prose-invert-body:rgba(var(--color-neutral-300), 1);--tw-prose-invert-headings:rgba(var(--color-neutral-50), 1);--tw-prose-invert-lead:rgba(var(--color-neutral-500), 1);--tw-prose-invert-links:rgba(var(--color-primary-400), 1);--tw-prose-invert-bold:rgba(var(--color-neutral), 1);--tw-prose-invert-counters:rgba(var(--color-neutral-400), 1);--tw-prose-invert-bullets:rgba(var(--color-neutral-600), 1);--tw-prose-invert-hr:rgba(var(--color-neutral-500), 1);--tw-prose-invert-quotes:rgba(var(--color-neutral-200), 1);--tw-prose-invert-quote-borders:rgba(var(--color-primary-900), 1);--tw-prose-invert-captions:rgba(var(--color-neutral-400), 1);--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:rgb(255 255 255 / 10%);--tw-prose-invert-code:rgba(var(--color-secondary-400), 1);--tw-prose-invert-pre-code:rgba(var(--color-neutral-200), 1);--tw-prose-invert-pre-bg:rgba(var(--color-neutral-700), 1);--tw-prose-invert-th-borders:rgba(var(--color-neutral-500), 1);--tw-prose-invert-td-borders:rgba(var(--color-neutral-700), 1);font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.5714286em;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose :where(mark):not(:where([class~=not-prose],[class~=not-prose] *)){color:rgba(var(--color-neutral-800),1);background-color:rgba(var(--color-secondary-200),1);padding:.1rem .2rem;border-radius:.12rem}body a,body button{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:150ms}.icon svg{height:1em;width:1em}#search-query::-webkit-search-cancel-button,#search-query::-webkit-search-decoration,#search-query::-webkit-search-results-button,#search-query::-webkit-search-results-decoration{display:none}body:has(#menu-controller:checked){height:100vh;overflow:hidden}#menu-button:has(#menu-controller:checked){visibility:hidden}#menu-controller:checked~#menu-wrapper{visibility:visible;opacity:1}.prose blockquote:where([dir=rtl],[dir=rtl] *){border-left-width:0;border-right-width:4px;padding-right:1rem}.prose ul>li:where([dir=rtl],[dir=rtl] *),.prose ol>li:where([dir=rtl],[dir=rtl] *){margin-right:1.75rem;padding-left:0;padding-right:.5rem}.prose ol>li:where([dir=rtl],[dir=rtl] *):before,.prose ul>li:where([dir=rtl],[dir=rtl] *):before{left:auto;right:.25rem}.prose thead td:first-child:where([dir=rtl],[dir=rtl] *),.prose thead th:first-child:where([dir=rtl],[dir=rtl] *){padding-right:0}.prose thead td:last-child:where([dir=rtl],[dir=rtl] *),.prose thead th:last-child:where([dir=rtl],[dir=rtl] *){padding-left:0}.prose div.min-w-0.max-w-prose>*:first-child{margin-top:.75rem}.toc{max-height:100vh;overflow-y:auto;padding-bottom:50px}.toc ul,.toc li{list-style-type:none;padding-left:0;padding-right:0;line-height:1.375}.toc ul ul{padding-inline-start:1rem}.toc a{font-weight:400;--tw-text-opacity:1;color:rgba(var(--color-neutral-700),var(--tw-text-opacity,1))}.toc a:is(.dark *){--tw-text-opacity:1;color:rgba(var(--color-neutral-400),var(--tw-text-opacity,1))}.toc ul>li:where([dir=rtl],[dir=rtl] *){margin-right:0}.highlight-wrapper{display:block}.highlight{position:relative;z-index:0}.highlight:hover>.copy-button{visibility:visible}.copy-button{visibility:hidden;position:absolute;right:0;top:0;z-index:10;width:5rem;cursor:pointer;white-space:nowrap;border-bottom-left-radius:.375rem;border-top-right-radius:.375rem;--tw-bg-opacity:1;background-color:rgba(var(--color-neutral-200),var(--tw-bg-opacity,1));padding-top:.25rem;padding-bottom:.25rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,liberation mono,courier new,monospace;font-size:.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgba(var(--color-neutral-700),var(--tw-text-opacity,1));opacity:.9}.copy-button:is(.dark *){--tw-bg-opacity:1;background-color:rgba(var(--color-neutral-600),var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgba(var(--color-neutral-200),var(--tw-text-opacity,1))}.copy-button:hover,.copy-button:focus,.copy-button:active,.copy-button:active:hover{--tw-bg-opacity:1;background-color:rgba(var(--color-primary-100),var(--tw-bg-opacity,1))}.copy-button:hover:is(.dark *),.copy-button:focus:is(.dark *),.copy-button:active:is(.dark *),.copy-button:active:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgba(var(--color-primary-600),var(--tw-bg-opacity,1))}.copy-textarea{position:absolute;z-index:-10;opacity:.05}.katex-display{overflow:auto hidden}table{display:block;overflow:auto}@media(min-width:768px){table{display:table}}code{word-wrap:break-word;overflow-wrap:break-word}.chroma{border-radius:.375rem;--tw-bg-opacity:1;background-color:rgba(var(--color-neutral-50),var(--tw-bg-opacity,1));padding-top:.75rem;padding-bottom:.75rem;--tw-text-opacity:1;color:rgba(var(--color-neutral-700),var(--tw-text-opacity,1))}.chroma:is(.dark *){--tw-bg-opacity:1;background-color:rgba(var(--color-neutral-700),var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgba(var(--color-neutral-200),var(--tw-text-opacity,1))}.chroma pre{margin:0;padding:0}.prose div.chroma{margin-bottom:1.5rem;margin-top:1.5rem}.chroma .lntable{margin:0;display:block;width:auto;overflow:auto;font-size:1rem;line-height:1.5rem}.chroma .lnt,.chroma .ln{margin-right:.5rem;padding-left:.5rem;padding-right:.5rem;--tw-text-opacity:1;color:rgba(var(--color-neutral-600),var(--tw-text-opacity,1))}.chroma .lnt:is(.dark *),.chroma .ln:is(.dark *){--tw-text-opacity:1;color:rgba(var(--color-neutral-300),var(--tw-text-opacity,1))}.chroma .lntd{padding:0;vertical-align:top}.chroma .lntd:last-of-type{width:100%}.chroma .hl{display:block;width:100%;--tw-bg-opacity:1;background-color:rgba(var(--color-primary-100),var(--tw-bg-opacity,1))}.chroma .hl:is(.dark *){--tw-bg-opacity:1;background-color:rgba(var(--color-primary-900),var(--tw-bg-opacity,1))}.chroma .k,.chroma .kd,.chroma .kn,.chroma .kp,.chroma .kr,.chroma .nc,.chroma .fm,.chroma .nn,.chroma .vc,.chroma .o{--tw-text-opacity:1;color:rgba(var(--color-primary-600),var(--tw-text-opacity,1))}.chroma .k:is(.dark *),.chroma .kd:is(.dark *),.chroma .kn:is(.dark *),.chroma .kp:is(.dark *),.chroma .kr:is(.dark *),.chroma .nc:is(.dark *),.chroma .fm:is(.dark *),.chroma .nn:is(.dark *),.chroma .vc:is(.dark *),.chroma .o:is(.dark *){--tw-text-opacity:1;color:rgba(var(--color-primary-300),var(--tw-text-opacity,1))}.chroma .kc{font-weight:600;--tw-text-opacity:1;color:rgba(var(--color-secondary-400),var(--tw-text-opacity,1))}.chroma .kc:is(.dark *){--tw-text-opacity:1;color:rgba(var(--color-secondary-500),var(--tw-text-opacity,1))}.chroma .kt,.chroma .nv,.chroma .vi,.chroma .vm,.chroma .m,.chroma .mb,.chroma .mf,.chroma .mh,.chroma .mi,.chroma .il,.chroma .mo{--tw-text-opacity:1;color:rgba(var(--color-secondary-400),var(--tw-text-opacity,1))}.chroma .kt:is(.dark *),.chroma .nv:is(.dark *),.chroma .vi:is(.dark *),.chroma .vm:is(.dark *),.chroma .m:is(.dark *),.chroma .mb:is(.dark *),.chroma .mf:is(.dark *),.chroma .mh:is(.dark *),.chroma .mi:is(.dark *),.chroma .il:is(.dark *),.chroma .mo:is(.dark *){--tw-text-opacity:1;color:rgba(var(--color-secondary-600),var(--tw-text-opacity,1))}.chroma .n,.chroma .nd,.chroma .ni,.chroma .nl{--tw-text-opacity:1;color:rgba(var(--color-secondary-900),var(--tw-text-opacity,1))}.chroma .n:is(.dark *),.chroma .nd:is(.dark *),.chroma .ni:is(.dark *),.chroma .nl:is(.dark *){--tw-text-opacity:1;color:rgba(var(--color-secondary-200),var(--tw-text-opacity,1))}.chroma .na,.chroma .nb,.chroma .bp,.chroma .nx,.chroma .py,.chroma .nt{--tw-text-opacity:1;color:rgba(var(--color-secondary-800),var(--tw-text-opacity,1))}.chroma .na:is(.dark *),.chroma .nb:is(.dark *),.chroma .bp:is(.dark *),.chroma .nx:is(.dark *),.chroma .py:is(.dark *),.chroma .nt:is(.dark *){--tw-text-opacity:1;color:rgba(var(--color-secondary-300),var(--tw-text-opacity,1))}.chroma .no,.chroma .ne,.chroma .vg{font-weight:600;--tw-text-opacity:1;color:rgba(var(--color-secondary-400),var(--tw-text-opacity,1))}.chroma .no:is(.dark *),.chroma .ne:is(.dark *),.chroma .vg:is(.dark *){--tw-text-opacity:1;color:rgba(var(--color-secondary-500),var(--tw-text-opacity,1))}.chroma .nf{--tw-text-opacity:1;color:rgba(var(--color-secondary-600),var(--tw-text-opacity,1))}.chroma .nf:is(.dark *){--tw-text-opacity:1;color:rgba(var(--color-secondary-500),var(--tw-text-opacity,1))}.chroma .l,.chroma .ld,.chroma .s,.chroma .sa,.chroma .sb,.chroma .sc,.chroma .dl,.chroma .sd,.chroma .s2,.chroma .sh,.chroma .si,.chroma .sx,.chroma .s1,.chroma .gd,.chroma .gi,.chroma .go,.chroma .gp{--tw-text-opacity:1;color:rgba(var(--color-primary-800),var(--tw-text-opacity,1))}.chroma .l:is(.dark *),.chroma .ld:is(.dark *),.chroma .s:is(.dark *),.chroma .sa:is(.dark *),.chroma .sb:is(.dark *),.chroma .sc:is(.dark *),.chroma .dl:is(.dark *),.chroma .sd:is(.dark *),.chroma .s2:is(.dark *),.chroma .sh:is(.dark *),.chroma .si:is(.dark *),.chroma .sx:is(.dark *),.chroma .s1:is(.dark *),.chroma .gd:is(.dark *),.chroma .gi:is(.dark *),.chroma .go:is(.dark *),.chroma .gp:is(.dark *){--tw-text-opacity:1;color:rgba(var(--color-primary-400),var(--tw-text-opacity,1))}.chroma .se{font-weight:600;--tw-text-opacity:1;color:rgba(var(--color-secondary-400),var(--tw-text-opacity,1))}.chroma .se:is(.dark *){--tw-text-opacity:1;color:rgba(var(--color-secondary-500),var(--tw-text-opacity,1))}.chroma .sr,.chroma .ss{font-weight:600;--tw-text-opacity:1;color:rgba(var(--color-primary-800),var(--tw-text-opacity,1))}.chroma .sr:is(.dark *),.chroma .ss:is(.dark *){--tw-text-opacity:1;color:rgba(var(--color-primary-400),var(--tw-text-opacity,1))}.chroma .ow{font-weight:600;--tw-text-opacity:1;color:rgba(var(--color-primary-400),var(--tw-text-opacity,1))}.chroma .ow:is(.dark *){--tw-text-opacity:1;color:rgba(var(--color-primary-600),var(--tw-text-opacity,1))}.chroma .c,.chroma .cm,.chroma .c1,.chroma .cs,.chroma .cp,.chroma .cpf{font-style:italic;--tw-text-opacity:1;color:rgba(var(--color-neutral-500),var(--tw-text-opacity,1))}.chroma .c:is(.dark *),.chroma .cm:is(.dark *),.chroma .c1:is(.dark *),.chroma .cs:is(.dark *),.chroma .cp:is(.dark *),.chroma .cpf:is(.dark *){--tw-text-opacity:1;color:rgba(var(--color-neutral-400),var(--tw-text-opacity,1))}.chroma .ch{font-weight:600;font-style:italic;--tw-text-opacity:1;color:rgba(var(--color-neutral-500),var(--tw-text-opacity,1))}.chroma .ch:is(.dark *){--tw-text-opacity:1;color:rgba(var(--color-neutral-400),var(--tw-text-opacity,1))}.chroma .ge{font-style:italic}.chroma .gh{font-weight:600;--tw-text-opacity:1;color:rgba(var(--color-neutral-500),var(--tw-text-opacity,1))}.chroma .gs{font-weight:600}.chroma .gu,.chroma .gt{--tw-text-opacity:1;color:rgba(var(--color-neutral-500),var(--tw-text-opacity,1))}.chroma .gl{text-decoration-line:underline}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.invisible{visibility:hidden}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-x-0{left:0;right:0}.-start-6{inset-inline-start:-1.5rem}.bottom-0{bottom:0}.bottom-7{bottom:1.75rem}.end-0{inset-inline-end:0}.top-0{top:0}.top-20{top:5rem}.top-\[100vh\]{top:100vh}.top-\[calc\(100vh-5\.5rem\)\]{top:calc(100vh - 5.5rem)}.z-10{z-index:10}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.order-first{order:-9999}.m-1{margin:.25rem}.m-auto{margin:auto}.-mx-2{margin-left:-.5rem;margin-right:-.5rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-top:0;margin-bottom:0}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-3{margin-top:.75rem;margin-bottom:.75rem}.\!mb-0{margin-bottom:0!important}.\!mb-9{margin-bottom:2.25rem!important}.\!mt-0{margin-top:0!important}.-mb-1{margin-bottom:-.25rem}.-ms-5{margin-inline-start:-1.25rem}.-mt-3{margin-top:-.75rem}.-mt-4{margin-top:-1rem}.-mt-\[3\.25em\]{margin-top:-3.25em}.mb-1{margin-bottom:.25rem}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mb-\[2px\]{margin-bottom:2px}.me-14{margin-inline-end:3.5rem}.me-2{margin-inline-end:.5rem}.me-4{margin-inline-end:1rem}.ml-2{margin-left:.5rem}.mr-2{margin-right:.5rem}.ms-1{margin-inline-start:.25rem}.ms-2{margin-inline-start:.5rem}.mt-0{margin-top:0}.mt-1{margin-top:.25rem}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-\[0\.1rem\]{margin-top:.1rem}.mt-\[0\.35rem\]{margin-top:.35rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.hidden{display:none}.h-12{height:3rem}.h-24{height:6rem}.h-3{height:.75rem}.h-4{height:1rem}.h-40{height:10rem}.h-8{height:2rem}.h-\[200px\]{height:200px}.h-auto{height:auto}.h-full{height:100%}.h-screen{height:100vh}.max-h-\[10rem\]{max-height:10rem}.max-h-\[4\.5rem\]{max-height:4.5rem}.min-h-0{min-height:0}.min-h-\[3\.25em\]{min-height:3.25em}.w-12{width:3rem}.w-24{width:6rem}.w-3{width:.75rem}.w-36{width:9rem}.w-4{width:1rem}.w-40{width:10rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-auto{width:auto}.w-full{width:100%}.w-screen{width:100vw}.min-w-0{min-width:0}.min-w-\[1\.8rem\]{min-width:1.8rem}.min-w-\[2\.4rem\]{min-width:2.4rem}.max-w-3xl{max-width:48rem}.max-w-7xl{max-width:80rem}.max-w-\[10rem\]{max-width:10rem}.max-w-\[6rem\]{max-width:6rem}.max-w-full{max-width:100%}.max-w-prose{max-width:65ch}.flex-auto{flex:auto}.flex-none{flex:none}.flex-grow{flex-grow:1}.grow{flex-grow:1}.-translate-y-8{--tw-translate-y:-2rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.rotate-12{--tw-rotate:12deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.resize{resize:both}.list-none{list-style-type:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-6{gap:1.5rem}.gap-x-7{-moz-column-gap:1.75rem;column-gap:1.75rem}.gap-y-1{row-gap:.25rem}.place-self-center{place-self:center}.self-center{align-self:center}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.scroll-smooth{scroll-behavior:smooth}.whitespace-nowrap{white-space:nowrap}.\!rounded-md{border-radius:.375rem!important}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-b-lg{border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.border{border-width:1px}.border-s{border-inline-start-width:1px}.border-t{border-top-width:1px}.border-dotted{border-style:dotted}.border-neutral-200{--tw-border-opacity:1;border-color:rgba(var(--color-neutral-200),var(--tw-border-opacity,1))}.border-neutral-300{--tw-border-opacity:1;border-color:rgba(var(--color-neutral-300),var(--tw-border-opacity,1))}.border-neutral-400{--tw-border-opacity:1;border-color:rgba(var(--color-neutral-400),var(--tw-border-opacity,1))}.border-primary-400{--tw-border-opacity:1;border-color:rgba(var(--color-primary-400),var(--tw-border-opacity,1))}.bg-neutral{--tw-bg-opacity:1;background-color:rgba(var(--color-neutral),var(--tw-bg-opacity,1))}.bg-neutral-100{--tw-bg-opacity:1;background-color:rgba(var(--color-neutral-100),var(--tw-bg-opacity,1))}.bg-neutral-100\/50{background-color:rgba(var(--color-neutral-100),.5)}.bg-neutral-300{--tw-bg-opacity:1;background-color:rgba(var(--color-neutral-300),var(--tw-bg-opacity,1))}.bg-neutral-500\/50{background-color:rgba(var(--color-neutral-500),.5)}.bg-neutral\/50{background-color:rgba(var(--color-neutral),.5)}.bg-primary-100{--tw-bg-opacity:1;background-color:rgba(var(--color-primary-100),var(--tw-bg-opacity,1))}.bg-primary-200{--tw-bg-opacity:1;background-color:rgba(var(--color-primary-200),var(--tw-bg-opacity,1))}.bg-primary-600{--tw-bg-opacity:1;background-color:rgba(var(--color-primary-600),var(--tw-bg-opacity,1))}.bg-transparent{background-color:transparent}.object-cover{-o-object-fit:cover;object-fit:cover}.object-scale-down{-o-object-fit:scale-down;object-fit:scale-down}.object-left{-o-object-position:left;object-position:left}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-4{padding:1rem}.px-0{padding-left:0;padding-right:0}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-\[1px\]{padding-top:1px;padding-bottom:1px}.pb-4{padding-bottom:1rem}.pe-10{padding-inline-end:2.5rem}.pe-2{padding-inline-end:.5rem}.pe-3{padding-inline-end:.75rem}.pe-4{padding-inline-end:1rem}.pe-5{padding-inline-end:1.25rem}.ps-2{padding-inline-start:.5rem}.ps-5{padding-inline-start:1.25rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-8{padding-top:2rem}.text-center{text-align:center}.text-right{text-align:right}.text-start{text-align:start}.text-end{text-align:end}.align-top{vertical-align:top}.align-text-bottom{vertical-align:text-bottom}.font-\[\'LLPixel\'\]{font-family:llpixel}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-\[0\.6rem\]{font-size:.6rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.italic{font-style:italic}.leading-3{line-height:.75rem}.leading-4{line-height:1rem}.leading-6{line-height:1.5rem}.leading-7{line-height:1.75rem}.leading-relaxed{line-height:1.625}.tracking-wide{letter-spacing:.025em}.\!text-neutral{--tw-text-opacity:1 !important;color:rgba(var(--color-neutral),var(--tw-text-opacity,1))!important}.text-neutral-400{--tw-text-opacity:1;color:rgba(var(--color-neutral-400),var(--tw-text-opacity,1))}.text-neutral-500{--tw-text-opacity:1;color:rgba(var(--color-neutral-500),var(--tw-text-opacity,1))}.text-neutral-600{--tw-text-opacity:1;color:rgba(var(--color-neutral-600),var(--tw-text-opacity,1))}.text-neutral-700{--tw-text-opacity:1;color:rgba(var(--color-neutral-700),var(--tw-text-opacity,1))}.text-neutral-800{--tw-text-opacity:1;color:rgba(var(--color-neutral-800),var(--tw-text-opacity,1))}.text-neutral-900{--tw-text-opacity:1;color:rgba(var(--color-neutral-900),var(--tw-text-opacity,1))}.text-primary-400{--tw-text-opacity:1;color:rgba(var(--color-primary-400),var(--tw-text-opacity,1))}.text-primary-500{--tw-text-opacity:1;color:rgba(var(--color-primary-500),var(--tw-text-opacity,1))}.text-primary-600{--tw-text-opacity:1;color:rgba(var(--color-primary-600),var(--tw-text-opacity,1))}.text-primary-700{--tw-text-opacity:1;color:rgba(var(--color-primary-700),var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.\!no-underline{text-decoration-line:none!important}.decoration-neutral-300{text-decoration-color:rgba(var(--color-neutral-300),1)}.decoration-primary-500{text-decoration-color:rgba(var(--color-primary-500),1)}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.shadow{--tw-shadow:0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.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-blur{--tw-backdrop-blur:blur(8px);-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)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px);-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-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:150ms}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:150ms}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:150ms}.dark\:prose-invert:is(.dark *){--tw-prose-body:var(--tw-prose-invert-body);--tw-prose-headings:var(--tw-prose-invert-headings);--tw-prose-lead:var(--tw-prose-invert-lead);--tw-prose-links:var(--tw-prose-invert-links);--tw-prose-bold:var(--tw-prose-invert-bold);--tw-prose-counters:var(--tw-prose-invert-counters);--tw-prose-bullets:var(--tw-prose-invert-bullets);--tw-prose-hr:var(--tw-prose-invert-hr);--tw-prose-quotes:var(--tw-prose-invert-quotes);--tw-prose-quote-borders:var(--tw-prose-invert-quote-borders);--tw-prose-captions:var(--tw-prose-invert-captions);--tw-prose-kbd:var(--tw-prose-invert-kbd);--tw-prose-kbd-shadows:var(--tw-prose-invert-kbd-shadows);--tw-prose-code:var(--tw-prose-invert-code);--tw-prose-pre-code:var(--tw-prose-invert-pre-code);--tw-prose-pre-bg:var(--tw-prose-invert-pre-bg);--tw-prose-th-borders:var(--tw-prose-invert-th-borders);--tw-prose-td-borders:var(--tw-prose-invert-td-borders)}.dark\:prose-invert:is(.dark *) :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){text-decoration-color:rgba(var(--color-neutral-600),1)}.dark\:prose-invert:is(.dark *) :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){color:rgba(var(--color-neutral-200),1);background-color:rgba(var(--color-neutral-700),1)}.dark\:prose-invert:is(.dark *) :where(mark):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:rgba(var(--color-secondary-400),1)}.first\:mt-8:first-child{margin-top:2rem}.hover\:scale-125:hover{--tw-scale-x:1.25;--tw-scale-y:1.25;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.hover\:border-primary-300:hover{--tw-border-opacity:1;border-color:rgba(var(--color-primary-300),var(--tw-border-opacity,1))}.hover\:\!bg-primary-500:hover{--tw-bg-opacity:1 !important;background-color:rgba(var(--color-primary-500),var(--tw-bg-opacity,1))!important}.hover\:\!bg-primary-700:hover{--tw-bg-opacity:1 !important;background-color:rgba(var(--color-primary-700),var(--tw-bg-opacity,1))!important}.hover\:bg-primary-100:hover{--tw-bg-opacity:1;background-color:rgba(var(--color-primary-100),var(--tw-bg-opacity,1))}.hover\:bg-primary-500:hover{--tw-bg-opacity:1;background-color:rgba(var(--color-primary-500),var(--tw-bg-opacity,1))}.hover\:bg-primary-600:hover{--tw-bg-opacity:1;background-color:rgba(var(--color-primary-600),var(--tw-bg-opacity,1))}.hover\:text-neutral:hover{--tw-text-opacity:1;color:rgba(var(--color-neutral),var(--tw-text-opacity,1))}.hover\:text-primary-500:hover{--tw-text-opacity:1;color:rgba(var(--color-primary-500),var(--tw-text-opacity,1))}.hover\:text-primary-600:hover{--tw-text-opacity:1;color:rgba(var(--color-primary-600),var(--tw-text-opacity,1))}.hover\:text-primary-700:hover{--tw-text-opacity:1;color:rgba(var(--color-primary-700),var(--tw-text-opacity,1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:decoration-primary-400:hover{text-decoration-color:rgba(var(--color-primary-400),1)}.hover\:decoration-2:hover{text-decoration-thickness:2px}.hover\:underline-offset-2:hover{text-underline-offset:2px}.focus\:translate-y-0:focus{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.focus\:bg-primary-100:focus{--tw-bg-opacity:1;background-color:rgba(var(--color-primary-100),var(--tw-bg-opacity,1))}.focus\:outline-dotted:focus{outline-style:dotted}.focus\:outline-2:focus{outline-width:2px}.focus\:outline-transparent:focus{outline-color:transparent}.focus-visible\:scale-125:focus-visible{--tw-scale-x:1.25;--tw-scale-y:1.25;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.focus-visible\:text-primary-700:focus-visible{--tw-text-opacity:1;color:rgba(var(--color-primary-700),var(--tw-text-opacity,1))}.group:hover .group-hover\:visible{visibility:visible}.group:hover .group-hover\:-translate-x-\[-2px\]{--tw-translate-x:2px;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.group:hover .group-hover\:-translate-x-\[2px\]{--tw-translate-x:-2px;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.group:hover .group-hover\:translate-x-1{--tw-translate-x:0.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.group:hover .group-hover\:translate-x-\[2px\]{--tw-translate-x:2px;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.group:hover .group-hover\:text-primary-300{--tw-text-opacity:1;color:rgba(var(--color-primary-300),var(--tw-text-opacity,1))}.group:hover .group-hover\:text-primary-600{--tw-text-opacity:1;color:rgba(var(--color-primary-600),var(--tw-text-opacity,1))}.group:hover .group-hover\:underline{text-decoration-line:underline}.group:hover .group-hover\:decoration-primary-500{text-decoration-color:rgba(var(--color-primary-500),1)}.group:hover .group-hover\:decoration-2{text-decoration-thickness:2px}.group:hover .group-hover\:underline-offset-2{text-underline-offset:2px}.group:hover .group-hover\:opacity-100{opacity:1}@media(prefers-reduced-motion:reduce){.motion-reduce\:transition-none{transition-property:none}.group:hover .motion-reduce\:group-hover\:translate-x-0{--tw-translate-x:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}}.dark\:inline:is(.dark *){display:inline}.dark\:flex:is(.dark *){display:flex}.dark\:hidden:is(.dark *){display:none}.dark\:border-neutral-600:is(.dark *){--tw-border-opacity:1;border-color:rgba(var(--color-neutral-600),var(--tw-border-opacity,1))}.dark\:border-neutral-700:is(.dark *){--tw-border-opacity:1;border-color:rgba(var(--color-neutral-700),var(--tw-border-opacity,1))}.dark\:border-primary-600:is(.dark *){--tw-border-opacity:1;border-color:rgba(var(--color-primary-600),var(--tw-border-opacity,1))}.dark\:bg-neutral-600:is(.dark *){--tw-bg-opacity:1;background-color:rgba(var(--color-neutral-600),var(--tw-bg-opacity,1))}.dark\:bg-neutral-700:is(.dark *){--tw-bg-opacity:1;background-color:rgba(var(--color-neutral-700),var(--tw-bg-opacity,1))}.dark\:bg-neutral-800:is(.dark *){--tw-bg-opacity:1;background-color:rgba(var(--color-neutral-800),var(--tw-bg-opacity,1))}.dark\:bg-neutral-800\/50:is(.dark *){background-color:rgba(var(--color-neutral-800),.5)}.dark\:bg-neutral-900\/50:is(.dark *){background-color:rgba(var(--color-neutral-900),.5)}.dark\:bg-primary-400:is(.dark *){--tw-bg-opacity:1;background-color:rgba(var(--color-primary-400),var(--tw-bg-opacity,1))}.dark\:bg-primary-800:is(.dark *){--tw-bg-opacity:1;background-color:rgba(var(--color-primary-800),var(--tw-bg-opacity,1))}.dark\:bg-primary-900:is(.dark *){--tw-bg-opacity:1;background-color:rgba(var(--color-primary-900),var(--tw-bg-opacity,1))}.dark\:text-neutral:is(.dark *){--tw-text-opacity:1;color:rgba(var(--color-neutral),var(--tw-text-opacity,1))}.dark\:text-neutral-100:is(.dark *){--tw-text-opacity:1;color:rgba(var(--color-neutral-100),var(--tw-text-opacity,1))}.dark\:text-neutral-300:is(.dark *){--tw-text-opacity:1;color:rgba(var(--color-neutral-300),var(--tw-text-opacity,1))}.dark\:text-neutral-400:is(.dark *){--tw-text-opacity:1;color:rgba(var(--color-neutral-400),var(--tw-text-opacity,1))}.dark\:text-neutral-500:is(.dark *){--tw-text-opacity:1;color:rgba(var(--color-neutral-500),var(--tw-text-opacity,1))}.dark\:text-neutral-800:is(.dark *){--tw-text-opacity:1;color:rgba(var(--color-neutral-800),var(--tw-text-opacity,1))}.dark\:text-primary-400:is(.dark *){--tw-text-opacity:1;color:rgba(var(--color-primary-400),var(--tw-text-opacity,1))}.dark\:hover\:border-primary-600:hover:is(.dark *){--tw-border-opacity:1;border-color:rgba(var(--color-primary-600),var(--tw-border-opacity,1))}.dark\:hover\:\!bg-primary-700:hover:is(.dark *){--tw-bg-opacity:1 !important;background-color:rgba(var(--color-primary-700),var(--tw-bg-opacity,1))!important}.dark\:hover\:bg-primary-400:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgba(var(--color-primary-400),var(--tw-bg-opacity,1))}.dark\:hover\:bg-primary-900:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgba(var(--color-primary-900),var(--tw-bg-opacity,1))}.dark\:hover\:text-neutral-800:hover:is(.dark *){--tw-text-opacity:1;color:rgba(var(--color-neutral-800),var(--tw-text-opacity,1))}.dark\:hover\:text-primary-400:hover:is(.dark *){--tw-text-opacity:1;color:rgba(var(--color-primary-400),var(--tw-text-opacity,1))}.dark\:focus\:bg-primary-900:focus:is(.dark *){--tw-bg-opacity:1;background-color:rgba(var(--color-primary-900),var(--tw-bg-opacity,1))}.dark\:focus-visible\:text-primary-400:focus-visible:is(.dark *){--tw-text-opacity:1;color:rgba(var(--color-primary-400),var(--tw-text-opacity,1))}.group:hover .dark\:group-hover\:text-neutral-700:is(.dark *){--tw-text-opacity:1;color:rgba(var(--color-neutral-700),var(--tw-text-opacity,1))}.group:hover .dark\:group-hover\:text-primary-400:is(.dark *){--tw-text-opacity:1;color:rgba(var(--color-primary-400),var(--tw-text-opacity,1))}@media(min-width:640px){.sm\:mb-0{margin-bottom:0}.sm\:me-7{margin-inline-end:1.75rem}.sm\:flex{display:flex}.sm\:hidden{display:none}.sm\:max-h-\[7\.5rem\]{max-height:7.5rem}.sm\:w-1\/2{width:50%}.sm\:w-40{width:10rem}.sm\:max-w-\[10rem\]{max-width:10rem}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:p-6{padding:1.5rem}.sm\:px-14{padding-left:3.5rem;padding-right:3.5rem}.sm\:px-4{padding-left:1rem;padding-right:1rem}.sm\:py-10{padding-top:2.5rem;padding-bottom:2.5rem}.sm\:pe-6{padding-inline-end:1.5rem}.sm\:pt-10{padding-top:2.5rem}.sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}.sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}.sm\:text-lg{font-size:1.125rem;line-height:1.75rem}.sm\:last\:me-0:last-child{margin-inline-end:0}.sm\:last\:me-0\.5:last-child{margin-inline-end:.125rem}}@media(min-width:768px){.md\:h-\[230px\]{height:230px}.md\:h-\[290px\]{height:290px}.md\:w-1\/3{width:33.333333%}.md\:w-\[230px\]{width:230px}.md\:p-\[10vh\]{padding:10vh}.md\:px-24{padding-left:6rem;padding-right:6rem}.md\:text-2xl{font-size:1.5rem;line-height:2rem}.md\:text-4xl{font-size:2.25rem;line-height:2.5rem}}@media(min-width:1024px){.lg\:sticky{position:sticky}.lg\:top-10{top:2.5rem}.lg\:order-last{order:9999}.lg\:hidden{display:none}.lg\:w-1\/4{width:25%}.lg\:max-w-xs{max-width:20rem}.lg\:flex-row{flex-direction:row}.lg\:p-\[12vh\]{padding:12vh}.lg\:px-32{padding-left:8rem;padding-right:8rem}.lg\:ps-8{padding-inline-start:2rem}}@media(min-width:1280px){.xl\:w-1\/5{width:20%}}.ltr\:right-0:where([dir=ltr],[dir=ltr] *){right:0}.ltr\:block:where([dir=ltr],[dir=ltr] *){display:block}.ltr\:inline:where([dir=ltr],[dir=ltr] *){display:inline}.ltr\:hidden:where([dir=ltr],[dir=ltr] *){display:none}.rtl\:left-0:where([dir=rtl],[dir=rtl] *){left:0}.rtl\:block:where([dir=rtl],[dir=rtl] *){display:block}.rtl\:inline:where([dir=rtl],[dir=rtl] *){display:inline}.rtl\:hidden:where([dir=rtl],[dir=rtl] *){display:none}@media print{.print\:hidden{display:none}}[x-cloak]{display:none!important}html{overflow-x:clip}#rocket{animation:shakes 1s linear 3}.rocket-wrap:hover .rocket-tilt{animation:shakes-again .5s linear 2}@keyframes shakes{10%{transform:translate(4px,2px)}20%{transform:translate(2px,4px)}30%{transform:translate(1px,1px)}40%{transform:translate(3px,5px)}50%{transform:translate(3px,4px)}60%{transform:translate(4px,2px)}70%{transform:translate(3px,1px)}80%{transform:translate(5px,3px)}90%{transform:translate(3px,1px)}100%{transform:translate(0,0)}}@keyframes shakes-again{25%{translate:3px 2px}50%{translate:-2px 3px}75%{translate:2px -1px}100%{translate:0 0}}@font-face{font-family:llpixel;src:local('LLPixel'),url(/font/LLPixel.woff2)format('woff2'),url(/font/LLPixel.woff)format('woff');font-weight:400;font-style:normal;font-display:swap}.project-led{flex:none;width:.5rem;height:.5rem;background:rgba(var(--color-primary-200),1);transition:background-color 150ms ease-out}.project-entry .project-led{margin-top:.625rem}.dark .project-led{background:rgba(var(--color-primary-900),1)}.group:hover .project-led,.group:focus-within .project-led{background:rgba(var(--color-primary-500),1)}.dark .group:hover .project-led,.dark .group:focus-within .project-led{background:rgba(var(--color-primary-400),1)}.project-thumb{transform:rotate(-2deg);transition:transform 300ms cubic-bezier(.16,1,.3,1)}.project-entry:nth-of-type(even) .project-thumb{transform:rotate(1.5deg)}.project-entry:hover .project-thumb,.project-entry:focus-within .project-thumb{transform:rotate(0)scale(1.04)}.project-title::after{content:"";position:absolute;inset:0}.project-title:focus-visible{outline:none}.project-entry:has(.project-title:focus-visible){outline:2px solid rgba(var(--color-primary-500),1);outline-offset:6px;border-radius:.375rem}.project-meta a{position:relative;z-index:1}:focus-visible{outline:2px solid rgba(var(--color-primary-500),1);outline-offset:2px}.dark :focus-visible{outline-color:rgba(var(--color-primary-400),1)}::selection{background:rgba(var(--color-primary-500),.35)}.dark .prose :where(.lead){color:rgba(var(--color-neutral-400),1)}@media(prefers-reduced-motion:reduce){html,html.scroll-smooth{scroll-behavior:auto}#rocket,.rocket-wrap:hover .rocket-tilt{animation:none}.project-thumb,.project-entry:hover .project-thumb,.project-entry:focus-within .project-thumb{transition:none;transform:none}}.about-photo{width:11.25rem;margin:1.5rem auto 2rem}.about-photo img{display:block;width:100%;height:auto;border-radius:6px;transform:rotate(-2deg);transition:transform 300ms cubic-bezier(.16,1,.3,1)}.about-photo:hover img{transform:rotate(0)scale(1.03)}.about-photo figcaption{margin-top:.75rem;text-align:center;font-size:.875rem;line-height:1.25rem;color:rgba(var(--color-neutral-500),1)}.dark .about-photo figcaption{color:rgba(var(--color-neutral-400),1)}@media(min-width:640px){.about-photo{float:right;width:14.0625rem;margin:.5rem 0 1.5rem 2.5rem}}.prose #skills{clear:both}.skill-leds{display:inline-flex;gap:2px;flex:none}.skill-led{width:.5rem;height:.5rem;background:rgba(var(--color-primary-200),1)}.skill-led.is-lit{background:rgba(var(--color-primary-500),1)}.dark .skill-led{background:rgba(var(--color-primary-900),1)}.dark .skill-led.is-lit{background:rgba(var(--color-primary-400),1)}.skill-legend{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;margin:.75rem 0 0;padding:0;list-style:none;font-size:.875rem;line-height:1.25rem;color:rgba(var(--color-neutral-600),1)}.dark .skill-legend{color:rgba(var(--color-neutral-400),1)}.skill-legend li{display:inline-flex;align-items:center;gap:.5rem;margin:0;padding:0}.skill-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(4.5rem,1fr));gap:1.25rem .5rem;margin:1rem 0 0;padding:0;list-style:none}@media(min-width:640px){.skill-list{grid-template-columns:repeat(auto-fill,minmax(5.5rem,1fr))}}.skill{display:flex;flex-direction:column;align-items:center;gap:.375rem;margin:0;padding:0;text-align:center}.skill-icon{display:grid;place-items:center;width:2.25rem;height:2.25rem;color:rgba(var(--color-neutral-700),1);filter:saturate(.7);transition:filter 200ms ease-out,transform 300ms cubic-bezier(.16,1,.3,1)}.skill-icon svg{width:100%;height:100%}.dark .skill-icon{color:rgba(var(--color-neutral-200),1)}.skill:hover .skill-icon{filter:none;transform:scale(1.1)}.skill-name{font-size:.8125rem;line-height:1.125rem;font-weight:500;overflow-wrap:anywhere;color:rgba(var(--color-neutral-700),1)}.dark .skill-name{color:rgba(var(--color-neutral-300),1)}.skill .skill-leds{margin-top:auto}@supports(animation-timeline:view()){@media(prefers-reduced-motion:no-preference){.skill-list .skill-led.is-lit{animation:skill-led-on linear both;animation-timeline:view();animation-range:entry 0% entry 40%}.skill-list .skill-led.is-lit:nth-child(2){animation-range:entry 15% entry 55%}.skill-list .skill-led.is-lit:nth-child(3){animation-range:entry 30% entry 70%}.skill-list .skill-led.is-lit:nth-child(4){animation-range:entry 45% entry 85%}.skill-list .skill-led.is-lit:nth-child(5){animation-range:entry 60% entry 100%}.dark .skill-list .skill-led.is-lit{animation-name:skill-led-on-dark}}}@keyframes skill-led-on{0%,60%{background:rgba(var(--color-primary-200),1)}100%{background:rgba(var(--color-primary-500),1)}}@keyframes skill-led-on-dark{0%,60%{background:rgba(var(--color-primary-900),1)}100%{background:rgba(var(--color-primary-400),1)}}.about-outro{clear:both;margin-top:4rem;padding-top:2.5rem;border-top:1px solid rgba(var(--color-neutral-200),1)}.dark .about-outro{border-top-color:rgba(var(--color-neutral-700),1)}.about-contact{margin-top:2.5rem}.about-contact-label{margin:0 0 .25rem;font-weight:600;color:rgba(var(--color-neutral-800),1)}.dark .about-contact-label{color:rgba(var(--color-neutral-100),1)}.about-contact .author-links{justify-content:flex-start;margin-left:-.5rem}@media(prefers-reduced-motion:reduce){.about-photo img,.about-photo:hover img{transition:none;transform:rotate(-2deg)}.skill-icon,.skill:hover .skill-icon{transition:none;transform:none}}.article-content{overflow-wrap:break-word}.article-project .article-content{font-size:1.125rem;line-height:1.75}.article-project .article-content h2{position:relative}.article-project .article-content h2::before{content:"";display:inline-block;width:.5rem;height:.5rem;margin-inline-end:.625rem;vertical-align:.2em;background:rgba(var(--color-primary-500),1)}.dark .article-project .article-content h2::before{background:rgba(var(--color-primary-400),1)}#TableOfContents a.toc-active{color:rgba(var(--color-primary-700),1);font-weight:600}.dark #TableOfContents a.toc-active{color:rgba(var(--color-primary-400),1)}#TableOfContents a{position:relative}#TableOfContents a.toc-active::before{content:"";position:absolute;top:.5em;inset-inline-start:calc(-1.3125rem - 4px);width:.5rem;height:.5rem;background:rgba(var(--color-primary-500),1)}.dark #TableOfContents a.toc-active::before{background:rgba(var(--color-primary-400),1)}#TableOfContents ul ul a.toc-active::before{inset-inline-start:calc(-2.3125rem - 4px)}#TableOfContents a{text-decoration:none;transition:color 150ms ease-out}#TableOfContents a:hover{background:0 0;color:rgba(var(--color-primary-600),1)}.dark #TableOfContents a:hover{color:rgba(var(--color-primary-400),1)}.callout{display:flex;gap:.75rem;margin:1.75rem 0;padding:.875rem 1.125rem;border:1px solid rgba(var(--color-neutral-300),1);border-radius:6px;font-size:1rem;line-height:1.5;color:rgba(var(--color-neutral-700),1)}.dark .callout{border-color:rgba(var(--color-neutral-600),1);color:rgba(var(--color-neutral-300),1)}.callout-icon{flex:none;margin-top:.1875rem;color:rgba(var(--color-primary-600),1)}.dark .callout-icon{color:rgba(var(--color-primary-400),1)}.callout-text a{color:rgba(var(--color-primary-700),1);text-decoration:underline;text-underline-offset:2px}.dark .callout-text a{color:rgba(var(--color-primary-400),1)}.author-byline-links .author-links{justify-content:flex-start;margin-inline-start:-.5rem}.share-links{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding-top:1.5rem}.share-links-label{margin-inline-end:.25rem;font-size:.875rem;font-weight:600;color:rgba(var(--color-neutral-600),1)}.dark .share-links-label{color:rgba(var(--color-neutral-400),1)}.share-link{display:grid;place-items:center;width:2.75rem;height:2.75rem;border:1px solid rgba(var(--color-neutral-300),1);border-radius:6px;font-size:1.125rem;color:rgba(var(--color-neutral-600),1);transition:color 150ms ease-out,border-color 150ms ease-out}.dark .share-link{border-color:rgba(var(--color-neutral-600),1);color:rgba(var(--color-neutral-300),1)}.share-link:hover{border-color:rgba(var(--color-primary-500),1);color:rgba(var(--color-primary-600),1)}.dark .share-link:hover{border-color:rgba(var(--color-primary-400),1);color:rgba(var(--color-primary-400),1)}.steckbrief{margin:1.75rem 0;padding:1rem 1.25rem 1.125rem;border:1px solid rgba(var(--color-neutral-300),1);border-radius:6px;font-size:1rem;line-height:1.5}.dark .steckbrief{border-color:rgba(var(--color-neutral-600),1)}.steckbrief-title{display:flex;align-items:center;gap:.5rem;margin:0 0 .75rem;font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:rgba(var(--color-neutral-600),1)}.dark .steckbrief-title{color:rgba(var(--color-neutral-400),1)}.steckbrief-led,.kontakt-led{flex:none;width:.5rem;height:.5rem;background:rgba(var(--color-primary-500),1)}.dark .steckbrief-led,.dark .kontakt-led{background:rgba(var(--color-primary-400),1)}.steckbrief dl{display:grid;gap:.625rem;margin:0}.steckbrief-row{display:grid;gap:.125rem}.steckbrief dt{font-size:.875rem;font-weight:600;color:rgba(var(--color-neutral-600),1)}.dark .steckbrief dt{color:rgba(var(--color-neutral-400),1)}.steckbrief dd{margin:0;color:rgba(var(--color-neutral-800),1)}.dark .steckbrief dd{color:rgba(var(--color-neutral-200),1)}.steckbrief dd a{color:inherit;text-decoration:underline;text-decoration-color:rgba(var(--color-primary-500),1);text-underline-offset:2px}@media(min-width:640px){.steckbrief-row{grid-template-columns:7.5rem 1fr;gap:1rem}}.kontakt{display:flex;align-items:baseline;gap:.625rem;margin-top:2.5rem}.kontakt-led{transform:translateY(-.1em)}.image-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin:1.5rem 0;padding:0;list-style:none}@media(min-width:640px){.image-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:1024px){.image-gallery{grid-template-columns:repeat(4,minmax(0,1fr))}}.image-gallery li{margin:0;padding:0}.image-gallery a{display:block;min-height:44px;border-radius:6px;text-align:center;text-decoration:none;color:rgba(var(--color-neutral-600),1)}.dark .image-gallery a{color:rgba(var(--color-neutral-400),1)}.image-gallery img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;border-radius:6px}.image-gallery a span{display:block;padding:.25rem 0;font-size:.875rem;line-height:1.35;text-wrap:pretty}.image-gallery a:hover span{color:rgba(var(--color-primary-700),1)}.dark .image-gallery a:hover span{color:rgba(var(--color-primary-400),1)}@media(prefers-reduced-motion:reduce){.article-pagination .pagination-arrow{transition:none;transform:none!important}}.list-layout{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "topics" "list"}.list-head{grid-area:head}.topic-nav{grid-area:topics}.list-entries{grid-area:list}.list-head,.list-entries{max-width:65ch}@media(min-width:1024px){.list-layout:not(.list-layout--single){grid-template-columns:minmax(0,65ch)12rem;grid-template-areas:"head topics" "list topics";grid-template-rows:auto 1fr;column-gap:4rem;justify-content:space-between}.list-layout .topic-nav{align-self:start;position:sticky;top:2.5rem;padding-top:.5rem}}.list-title{display:flex;align-items:baseline;gap:.75rem;text-wrap:balance}.list-title .list-led{width:.625rem;height:.625rem;background:rgba(var(--color-primary-500),1);transform:translateY(-.125rem)}.dark .list-title .list-led{background:rgba(var(--color-primary-400),1)}.list-intro p{margin:0}.list-intro{text-wrap:pretty}.topic-nav{margin-top:1.5rem}.topic-nav__title{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.topic-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none}.topic-chip{display:inline-flex;align-items:center;gap:.5rem;min-height:2.25rem;padding:.25rem .75rem;border:1px solid rgba(var(--color-neutral-300),1);border-radius:.375rem;font-size:.9375rem;line-height:1.25;color:rgba(var(--color-neutral-700),1);text-decoration:none;transition:border-color 150ms ease-out,color 150ms ease-out}.dark .topic-chip{border-color:rgba(var(--color-neutral-600),1);color:rgba(var(--color-neutral-200),1)}.topic-chip:hover,.topic-chip:focus-visible{border-color:rgba(var(--color-primary-500),1);color:rgba(var(--color-primary-700),1)}.dark .topic-chip:hover,.dark .topic-chip:focus-visible{border-color:rgba(var(--color-primary-400),1);color:rgba(var(--color-primary-300),1)}.topic-chip__count{font-size:.8125rem;font-variant-numeric:tabular-nums;color:rgba(var(--color-neutral-500),1)}.dark .topic-chip__count{color:rgba(var(--color-neutral-400),1)}.topic-chip[aria-current]{border-color:rgba(var(--color-primary-500),1);color:rgba(var(--color-neutral-900),1);font-weight:600}.dark .topic-chip[aria-current]{border-color:rgba(var(--color-primary-400),1);color:rgba(var(--color-neutral-50),1)}.topic-chip[aria-current] .project-led{background:rgba(var(--color-primary-500),1)}.dark .topic-chip[aria-current] .project-led{background:rgba(var(--color-primary-400),1)}@media(min-width:1024px){.list-layout:not(.list-layout--single) .topic-nav{margin-top:0}.list-layout:not(.list-layout--single) .topic-nav__title{position:static;width:auto;height:auto;margin:0 0 .75rem;overflow:visible;clip-path:none;font-size:.875rem;font-weight:600;color:rgba(var(--color-neutral-600),1)}.dark .list-layout:not(.list-layout--single) .topic-nav__title{color:rgba(var(--color-neutral-400),1)}.list-layout:not(.list-layout--single) .topic-chips{flex-direction:column;align-items:flex-start}}.project-meta .topic-tag{position:relative;z-index:1}.project-meta .topic-tag::before{content:"";position:absolute;inset:-.375rem -.125rem}.topic-index{margin:1.5rem 0 0;padding:0;list-style:none;max-width:65ch}.topic-index__item{padding:.75rem 0;border-bottom:1px solid rgba(var(--color-neutral-200),1)}.dark .topic-index__item{border-bottom-color:rgba(var(--color-neutral-700),1)}.topic-index__link::after{content:"";position:absolute;inset:0}.topic-index__link:focus-visible{outline:none}.topic-index__item:has(.topic-index__link:focus-visible){outline:2px solid rgba(var(--color-primary-500),1);outline-offset:2px;border-radius:.375rem}.main-menu-link[aria-current] .main-menu-name{text-decoration-line:underline;text-decoration-color:rgba(var(--color-primary-500),1);text-decoration-thickness:2px;text-underline-offset:6px}.dark .main-menu-link[aria-current] .main-menu-name{text-decoration-color:rgba(var(--color-primary-400),1)}#menu-controller:focus-visible+div{outline:2px solid rgba(var(--color-primary-500),1);outline-offset:2px;border-radius:.25rem}.dark #menu-controller:focus-visible+div{outline-color:rgba(var(--color-primary-400),1)}.heading-anchor{opacity:0;transition:opacity 150ms ease-out}.group:hover>.heading-anchor,.heading-anchor:focus-within{opacity:1}.heading-anchor a{color:rgba(var(--color-primary-600),1)}.dark .heading-anchor a{color:rgba(var(--color-primary-400),1)}.heading-wrap:has(>h2)>.heading-anchor{font-size:1.5em;line-height:1.3333333;font-weight:700}.heading-wrap:has(>h3)>.heading-anchor{font-size:1.25em;line-height:1.6;font-weight:600}.heading-wrap:has(>h4)>.heading-anchor{line-height:1.5;font-weight:600}.prose :where(.heading-wrap:has(>:is(h2,h3,h4))+*){margin-top:0}.prose :where(.heading-wrap:has(>:is(h2,h3,h4))+.heading-wrap>:is(h2,h3,h4,h5,h6)),.prose :where(hr+.heading-wrap>:is(h2,h3,h4,h5,h6)),.prose :where(div.min-w-0.max-w-prose>.heading-wrap:first-child>:is(h2,h3,h4,h5,h6)){margin-top:0}.project-desc{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;text-wrap:pretty}@media(max-width:1023.98px){.topic-chips{position:relative;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -1.5rem;padding:.25rem 1.5rem;scroll-padding-inline:1.5rem}.topic-chips::-webkit-scrollbar{display:none}.topic-chips>li{flex:none}.topic-chip{min-height:2rem;padding:.25rem .625rem;font-size:.875rem}}@media(min-width:640px) and (max-width:1023.98px){.topic-chips{margin:0;padding:.25rem .125rem}}@media(prefers-reduced-motion:reduce){.topic-chip,.heading-anchor{transition:none}}figure.video{--video-aspect:16 / 9;--video-max-height:80vh}@supports(height:1svh){figure.video{--video-max-height:80svh}}figure.video .video__frame{width:100%;max-width:min(100%,calc(var(--video-max-height) * var(--video-aspect)));margin-inline:auto}figure.video video{display:block;width:100%;height:auto;max-height:var(--video-max-height);aspect-ratio:var(--video-aspect);object-fit:contain;background:#000;margin:0}figure.video .plyr{width:100%;max-height:var(--video-max-height);min-width:0}figure.video .plyr__poster{background-size:contain}figure.video figcaption{text-align:center}.rocket-button{position:relative;z-index:1;display:block;padding:0;border:0;background:0 0;border-radius:1rem;cursor:pointer;-webkit-tap-highlight-color:transparent}.rocket-button:focus-visible{outline-offset:8px}.rocket-button.is-away{animation:rocket-liftoff 1.25s cubic-bezier(.55,0,1,.45)forwards}.rocket-button.is-back{animation:rocket-return 1s cubic-bezier(.16,1,.3,1)both}@keyframes rocket-liftoff{0%{transform:translate(0,0)}8%{transform:translate(2px,3px)}16%{transform:translate(-2px,1px)}24%{transform:translate(1px,3px)}100%{transform:translate(30vh,-140vh)}}@keyframes rocket-return{from{transform:translate(-17vh,80vh)}to{transform:translate(0,0)}}.rocket-trail{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}.exhaust-pixel{position:absolute;opacity:0;background:rgba(var(--color-primary-500),1);animation:rocket-exhaust 1s ease-out forwards}.dark .exhaust-pixel{background:rgba(var(--color-primary-400),1)}.exhaust-pixel.is-hot{background:rgba(var(--color-primary-200),1)}.exhaust-pixel.is-deep{background:rgba(var(--color-primary-700),1)}.exhaust-pixel.is-flame{background:#facc15}@keyframes rocket-exhaust{0%{opacity:1;transform:translate(0,0)scale(1)}100%{opacity:0;transform:translate(var(--dx),var(--dy))scale(.4)}}.rocket-warp .starfield-home{animation:rocket-warp 1.25s ease-in-out}@keyframes rocket-warp{0%,100%{transform:translate(0,0)}50%{transform:translate(-3vh,14vh)}}.rocket-hint{position:absolute;left:calc(50% + 52px);bottom:.75rem;display:flex;align-items:center;gap:.4rem;white-space:nowrap;font-size:.875rem;font-weight:600;color:rgba(var(--color-neutral-600),1);pointer-events:none}.dark .rocket-hint{color:rgba(var(--color-neutral-300),1)}.rocket-hint .project-led{background:rgba(var(--color-primary-500),1);animation:rocket-blink 1.2s steps(2,jump-none)infinite}.dark .rocket-hint .project-led{background:rgba(var(--color-primary-400),1)}@media(min-width:768px){.rocket-hint{left:calc(50% + 80px);bottom:2rem}}.rocket-radio{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:60;padding:.875rem 1rem;text-align:left;border:1px solid rgba(var(--color-neutral-200),1);border-radius:.75rem;background:rgba(var(--color-neutral),1);color:rgba(var(--color-neutral-800),1)}.dark .rocket-radio{border-color:rgba(var(--color-neutral-600),1);background:rgba(var(--color-neutral-900),1);color:rgba(var(--color-neutral-100),1)}@media(min-width:1024px){.rocket-radio{position:absolute;left:calc(50% + 110px);right:auto;top:1rem;bottom:auto;width:18rem;z-index:20}}.rocket-radio-head{display:flex;align-items:center;gap:.5rem;margin:0 0 .375rem;font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:rgba(var(--color-neutral-600),1)}.dark .rocket-radio-head{color:rgba(var(--color-neutral-400),1)}.rocket-radio-led{width:.5rem;height:.5rem;background:rgba(var(--color-primary-500),1);animation:rocket-blink .8s steps(2,jump-none)infinite}.dark .rocket-radio-led{background:rgba(var(--color-primary-400),1)}.rocket-radio-close{display:grid;place-items:center;width:2.75rem;height:2.75rem;margin:-.75rem -.75rem -.75rem auto;border:0;border-radius:.5rem;background:0 0;color:inherit;cursor:pointer}.rocket-radio-close:hover{color:rgba(var(--color-primary-600),1)}.dark .rocket-radio-close:hover{color:rgba(var(--color-primary-400),1)}.rocket-radio-text{margin:0;font-size:1rem;line-height:1.5}.rocket-radio-punch{margin:.5rem 0 0;font-size:1rem;line-height:1.5;font-weight:700;color:rgba(var(--color-primary-700),1)}.dark .rocket-radio-punch{color:rgba(var(--color-primary-300),1)}.rocket-radio-credit{margin:.625rem 0 0;font-size:.75rem;color:rgba(var(--color-neutral-600),1)}.dark .rocket-radio-credit{color:rgba(var(--color-neutral-400),1)}.rocket-radio-credit a{color:inherit;text-decoration:underline;text-underline-offset:2px}@keyframes rocket-blink{0%{opacity:1}100%{opacity:.25}}@media(prefers-reduced-motion:reduce){.rocket-button.is-away,.rocket-button.is-back,.rocket-warp .starfield-home,.rocket-hint .project-led,.rocket-radio-led{animation:none}.exhaust-pixel{visibility:hidden}}.starfield{position:fixed;inset:0;z-index:-1;width:100%;height:100%;pointer-events:none}.starfield rect{shape-rendering:crispEdges}.starfield .star-near{fill-opacity:.5}.starfield .star-far{fill-opacity:.6}@keyframes glow{6%{opacity:1}12%{opacity:.7}18%{opacity:.9}24%{opacity:.6}30%,100%{opacity:1}}#stars{animation:starsMovement 240s linear infinite;transform-origin:center}@keyframes starsMovement{0%{transform:scale(1.5)rotate(0)}100%{transform:scale(1.5)rotate(360deg)}}#stars rect{fill:rgba(var(--color-primary-400),1);transform-box:fill-box;transform-origin:center;animation:glow 6s ease-in-out infinite,starsUpright 240s linear infinite;animation-delay:var(--twinkle-delay,0s),0s}@keyframes starsUpright{0%{transform:rotate(0)}100%{transform:rotate(-360deg)}}#comets line{fill:none;stroke:rgba(var(--color-primary-500),1);stroke-width:1;stroke-dasharray:150 980;stroke-dashoffset:150;animation:cometFall 10s ease-out infinite}@keyframes cometFall{5%,100%{stroke-dashoffset:-980}}#comets line:nth-child(1){animation-delay:2.7s}#comets line:nth-child(2){animation-delay:.6s}#comets line:nth-child(3){animation-delay:3.6s}#comets line:nth-child(4){animation-delay:5.5s}#comets line:nth-child(5){animation-delay:8.7s}#comets line:nth-child(6){animation-delay:6.7s}#comets line:nth-child(7){animation-delay:1.9s}#comets line:nth-child(8){animation-delay:6.3s}.starfield-still,.starfield-quiet{filter:blur(1px)}.starfield-still{opacity:.3}.starfield-still rect{fill:rgba(var(--color-primary-400),1);animation:glow 6s ease-in-out infinite;animation-delay:var(--twinkle-delay,0s)}.starfield-quiet rect{--star-opacity:0.25;fill:rgba(var(--color-primary-300),1);opacity:var(--star-opacity);animation:starfield-quiet-glow 9s ease-in-out infinite;animation-delay:var(--twinkle-delay,0s)}.dark .starfield-quiet rect{--star-opacity:0.2;fill:rgba(var(--color-primary-400),1)}@keyframes starfield-quiet-glow{0%,100%{opacity:var(--star-opacity)}8%{opacity:calc(var(--star-opacity) * .45)}14%{opacity:calc(var(--star-opacity) * .9)}}@media(prefers-reduced-motion:reduce){.starfield rect,#stars,#stars rect{animation:none}#comets{display:none}}