:root{--color-neutral:255, 255, 255;--color-neutral-50:250, 250, 250;--color-neutral-100:244, 244, 245;--color-neutral-200:228, 228, 231;--color-neutral-300:212, 212, 216;--color-neutral-400:161, 161, 170;--color-neutral-500:113, 113, 122;--color-neutral-600:82, 82, 91;--color-neutral-700:63, 63, 70;--color-neutral-800:39, 39, 42;--color-neutral-900:24, 24, 27;--color-neutral-950:3, 7, 18;--color-primary-50:245, 243, 255;--color-primary-100:237, 233, 254;--color-primary-200:221, 214, 254;--color-primary-300:196, 181, 253;--color-primary-400:167, 139, 250;--color-primary-500:139, 92, 246;--color-primary-600:124, 58, 237;--color-primary-700:109, 40, 217;--color-primary-800:91, 33, 182;--color-primary-900:76, 29, 149;--color-primary-950:46, 16, 101;--color-secondary-50:253, 244, 255;--color-secondary-100:250, 232, 255;--color-secondary-200:245, 208, 254;--color-secondary-300:240, 171, 252;--color-secondary-400:232, 121, 249;--color-secondary-500:217, 70, 239;--color-secondary-600:192, 38, 211;--color-secondary-700:162, 28, 175;--color-secondary-800:134, 25, 143;--color-secondary-900:112, 26, 117;--color-secondary-950:74, 4, 78}/*!Congo v2.13.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:initial;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:initial;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}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.invisible{visibility:hidden}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset: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}.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-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-\[0\.1rem\]{margin-top:.1rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.hidden{display:none}.h-12{height:3rem}.h-8{height:2rem}.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}.w-12{width:3rem}.w-24{width:6rem}.w-36{width:9rem}.w-6{width:1.5rem}.w-8{width:2rem}.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))}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.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}.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:initial}.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-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}.text-2xl{font-size:1.5rem;line-height:2rem}.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}.italic{font-style:italic}.leading-3{line-height:.75rem}.leading-6{line-height:1.5rem}.leading-7{line-height:1.75rem}.leading-relaxed{line-height:1.625}.\!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-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))}.\!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)}.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)}.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-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}.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\: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}.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))}.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\: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-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\:w-1\/3{width:33.333333%}.md\:p-\[10vh\]{padding:10vh}.md\:px-24{padding-left:6rem;padding-right:6rem}}@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}}:root{--primary:#004f87;--primary-hover:#003d6e;--primary-container:#1a7fc2;--on-primary:#ffffff;--surface:#f9f9f9;--surface-lowest:#ffffff;--surface-low:#f3f3f3;--surface-mid:#eeeeee;--surface-high:#e8e8e8;--surface-highest:#e2e2e2;--on-surface:#1a1c1c;--on-surface-var:#404752;--outline:#555f6b;--f-headline:'Space Grotesk', system-ui, -apple-system, sans-serif;--f-body:'Inter', system-ui, -apple-system, sans-serif;--f-mono:'JetBrains Mono', 'Fira Code', 'Cascadia Code', monospace;--nav-h:4.5rem}html.dark{--primary:#60a5fa;--primary-hover:#93c5fd;--primary-container:#3b82f6;--on-primary:#09090b;--surface:#111115;--surface-lowest:#0d0d11;--surface-low:#191920;--surface-mid:#212129;--surface-high:#292932;--surface-highest:#313139;--on-surface:#e4e4e7;--on-surface-var:#a1a1aa;--outline:#9f9fa7}:root,html.dark{--color-primary-50:239, 246, 255;--color-primary-100:219, 234, 254;--color-primary-200:191, 219, 254;--color-primary-300:147, 197, 253;--color-primary-400:96, 165, 250;--color-primary-500:59, 130, 246;--color-primary-600:37,  99, 235;--color-primary-700:0,  79, 135;--color-primary-800:30,  64, 175;--color-primary-900:30,  58, 138;--color-primary-950:23,  37,  84}html{background-color:var(--surface)!important}body{background-color:var(--surface)!important;color:var(--on-surface)!important;font-family:var(--f-body)!important;font-size:1rem!important;line-height:1.75!important}h1,h2,h3,h4,h5,h6{font-family:var(--f-headline)!important}.site-header{position:sticky;top:0;z-index:50;background:var(--surface);border-bottom:1px solid rgba(0,0,0,6%)}html.dark .site-header{border-bottom-color:rgba(255,255,255,5%)}.site-nav{display:flex;align-items:center;justify-content:space-between;height:var(--nav-h);padding:0 .25rem}.site-nav-brand a{font-family:var(--f-headline)!important;font-size:1.125rem!important;font-weight:700!important;letter-spacing:-.03em!important;color:var(--on-surface)!important;text-decoration:none!important}.site-nav-brand a:hover{color:var(--primary)!important;text-decoration:none!important}.site-nav-links{display:flex;align-items:center;gap:.125rem;list-style:none;margin:0;padding:0}.site-nav-links li a,.site-nav-links li button{font-family:var(--f-body)!important;font-size:.875rem!important;font-weight:500!important;color:var(--on-surface-var)!important;text-decoration:none!important;padding:.375rem .625rem;min-height:2.75rem;border-radius:.375rem;background:0 0;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:.3rem;transition:color .15s;line-height:1}.site-nav-links li a:hover,.site-nav-links li button:hover{color:var(--on-surface)!important;background:0 0!important;text-decoration:none!important}.site-nav-links li a[aria-current=page]{color:var(--on-surface)!important;text-decoration-line:underline!important;text-decoration-thickness:1.5px!important;text-underline-offset:4px!important;text-decoration-color:var(--primary)!important}.site-nav-links li button svg{width:1.125rem;height:1.125rem}.nav-hamburger{display:none}@media(max-width:640px){.nav-hamburger{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;background:0 0;border:none;border-radius:.5rem;cursor:pointer;color:var(--on-surface-var);flex-shrink:0;transition:color .15s,background .15s}.nav-hamburger:hover{background:var(--surface-mid);color:var(--on-surface)}html.dark .nav-hamburger:hover{background:var(--surface-high)}.nav-hamburger svg{width:1.25rem;height:1.25rem}.nav-hamburger .nav-icon-close{display:none}.nav-hamburger[aria-expanded=true] .nav-icon-open{display:none}.nav-hamburger[aria-expanded=true] .nav-icon-close{display:block}.site-nav-links{display:none;position:absolute;top:var(--nav-h);left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:var(--surface-lowest);border-bottom:1px solid rgba(0,0,0,8%);padding:.375rem 0;z-index:49;box-shadow:0 8px 24px rgba(0,0,0,8%)}html.dark .site-nav-links{border-bottom-color:rgba(255,255,255,6%);box-shadow:0 8px 24px rgba(0,0,0,.35)}.site-nav-links.is-open{display:flex}.site-nav-links li{width:100%}.site-nav-links li a,.site-nav-links li button{width:100%;min-height:3rem!important;padding:.75rem 1.25rem!important;border-radius:0!important;font-size:.9375rem!important;justify-content:flex-start}}.hero{padding:5rem 0 3.5rem;position:relative;z-index:1}.hero-layout{display:flex;flex-direction:column;align-items:flex-start;gap:2.5rem}@media(min-width:768px){.hero-layout{flex-direction:row;align-items:center;gap:4rem}}.hero-content{max-width:54rem;display:flex;flex-direction:column}.hero-name{font-family:var(--f-headline)!important;font-size:clamp(2.75rem,8vw,5.5rem)!important;font-weight:700!important;letter-spacing:-.045em!important;line-height:1!important;color:var(--on-surface)!important;margin:0 0 1.25rem!important;order:1;animation:hero-enter .55s cubic-bezier(.16,1,.3,1)both;animation-delay:80ms}.hero-name .accent{color:var(--primary)}.hero-role{font-family:var(--f-mono)!important;font-size:.6875rem!important;font-weight:600!important;letter-spacing:.14em!important;text-transform:uppercase!important;color:var(--primary)!important;margin:0 0 .875rem!important;order:0;animation:hero-enter .55s cubic-bezier(.16,1,.3,1)both;animation-delay:0ms}.hero-tagline{font-size:1.125rem;color:var(--on-surface-var);line-height:1.85;margin-bottom:2.25rem;max-width:38rem;order:2;animation:hero-enter .55s cubic-bezier(.16,1,.3,1)both;animation-delay:160ms}.hero-links{display:flex;flex-wrap:wrap;gap:1.5rem;align-items:center;order:3;animation:hero-enter .55s cubic-bezier(.16,1,.3,1)both;animation-delay:240ms}.hero-links a{font-size:.75rem;font-weight:600;color:var(--outline);text-decoration:none;letter-spacing:.06em;text-transform:uppercase;transition:color .15s}.hero-links a:hover,.hero-link-rss:hover{color:var(--primary);text-decoration:none}.hero-link-rss{display:inline-flex;align-items:center;gap:.25rem}@keyframes hero-enter{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.writing-section{position:relative;z-index:1;margin-bottom:5rem}.writing-label{font-family:var(--f-headline);font-size:.6875rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--outline);margin-bottom:.75rem;display:block}.post-list{display:flex;flex-direction:column}.post-row{display:grid;grid-template-columns:3.25rem 1fr auto;align-items:baseline;gap:0 1.5rem;padding:.875rem 0;text-decoration:none;background:0 0;position:relative;transition:padding-left .18s ease}.post-row+.post-row{border-top:1px solid rgba(0,0,0,5%)}html.dark .post-row+.post-row{border-top-color:rgba(255,255,255,4%)}.post-row:first-child{border-top:1px solid rgba(0,0,0,5%)}html.dark .post-row:first-child{border-top-color:rgba(255,255,255,4%)}.post-row::before{content:"";position:absolute;left:-.875rem;top:50%;transform:translateY(-50%);width:2px;height:0;background:var(--primary);transition:height .18s ease;border-radius:2px}.post-row:hover{padding-left:.5rem}.post-row:hover::before{height:50%}.post-row:hover .post-row-title{color:var(--on-surface)}.post-row-year{font-family:var(--f-mono);font-size:.6875rem;color:var(--outline);font-variant-numeric:tabular-nums;letter-spacing:.02em}.post-row-title{font-size:.9375rem;color:var(--on-surface-var);transition:color .15s;line-height:1.45}.post-row-date{font-family:var(--f-mono);font-size:.6875rem;color:var(--outline);font-variant-numeric:tabular-nums;white-space:nowrap}.all-posts-link{display:inline-flex;align-items:center;gap:.4rem;margin-top:2rem;font-size:.875rem;font-weight:600;color:var(--on-surface-var);text-decoration:none;letter-spacing:.02em;transition:color .15s}.all-posts-link:hover{color:var(--primary);text-decoration:none}.taxonomy-header{margin-bottom:3rem;padding-bottom:2rem;border-bottom:1px solid rgba(0,0,0,6%)}html.dark .taxonomy-header{border-bottom-color:rgba(255,255,255,5%)}.taxonomy-title{font-family:var(--f-headline)!important;font-size:clamp(2rem,4vw,2.75rem)!important;font-weight:700!important;letter-spacing:-.03em!important;color:var(--on-surface)!important;margin:0!important}.taxonomy-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:1rem;margin-bottom:4rem}.taxonomy-card{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:1.125rem 1.25rem;background:var(--surface-low);border-radius:.75rem;text-decoration:none;transition:background .15s,transform .15s;position:relative;overflow:hidden}.taxonomy-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--primary);opacity:0;transition:opacity .15s}.taxonomy-card:hover{background:var(--surface-mid);transform:translateY(-2px);text-decoration:none}html.dark .taxonomy-card:hover{background:var(--surface-mid)}.taxonomy-card:hover::before{opacity:1}.taxonomy-card:hover .taxonomy-card-name{color:var(--primary)}.taxonomy-card-name{font-family:var(--f-headline);font-size:.9375rem;font-weight:600;color:var(--on-surface);transition:color .15s}.taxonomy-card-count{font-family:var(--f-mono);font-size:.75rem;font-weight:600;color:var(--outline);background:var(--surface-high);padding:.15em .55em;border-radius:.375rem;flex-shrink:0}html.dark .taxonomy-card-count{background:var(--surface-highest)}.posts-header{margin-bottom:3rem}.posts-page-title{font-family:var(--f-headline)!important;font-size:clamp(2rem,4vw,2.75rem)!important;font-weight:700!important;letter-spacing:-.03em!important;color:var(--on-surface)!important;margin:0 0 .5rem!important}.posts-page-desc{font-size:1rem;color:var(--on-surface-var);margin-top:.5rem}.posts-year-group{margin-bottom:.5rem}.posts-year-label{font-family:var(--f-mono);font-size:.6875rem;font-weight:600;letter-spacing:.1em;color:var(--outline);text-transform:uppercase;margin-top:2.5rem;margin-bottom:.5rem;display:block}.post-card{display:block;padding:1.875rem 0;text-decoration:none;border-bottom:1px solid rgba(0,0,0,5%);transition:padding-left .18s ease;position:relative}html.dark .post-card{border-bottom-color:rgba(255,255,255,4%)}.post-card:first-child{border-top:1px solid rgba(0,0,0,5%)}html.dark .post-card:first-child{border-top-color:rgba(255,255,255,4%)}.post-card::before{content:"";position:absolute;left:-.875rem;top:50%;transform:translateY(-50%);width:2px;height:0;background:var(--primary);transition:height .18s ease;border-radius:2px}.post-card:hover{padding-left:.5rem}.post-card:hover::before{height:40%}.post-card:hover .post-card-title{color:var(--primary)}.post-card-meta{display:flex;align-items:center;gap:1rem;font-family:var(--f-mono);font-size:.6875rem;color:var(--outline);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.4rem}.post-card-category{color:var(--primary);font-weight:700;letter-spacing:.06em}.post-card-title{font-family:var(--f-headline)!important;font-size:1.1875rem!important;font-weight:700!important;letter-spacing:-.025em!important;color:var(--on-surface)!important;line-height:1.3!important;margin:0 0 .375rem!important;transition:color .15s}.post-card-summary{font-size:.9375rem;color:var(--on-surface-var);line-height:1.65;margin-top:.375rem}.editorial-grid-wrapper{display:grid;grid-template-columns:1fr 260px;gap:3rem;align-items:flex-start;margin-bottom:5rem;margin-top:0}@media(max-width:1023px){.editorial-grid-wrapper{grid-template-columns:1fr;gap:3rem}}.editorial-section-label{font-family:var(--f-headline)!important;font-size:1rem!important;font-weight:700!important;color:var(--on-surface)!important;margin:0 0 1.5rem!important;padding-bottom:.625rem;border-bottom:2px solid var(--primary);display:inline-block}.editorial-post-feed{display:flex;flex-direction:column}.editorial-post-card{display:block;padding:1.25rem 0;text-decoration:none;border-bottom:1px solid rgba(0,0,0,5%);transition:padding-left .18s ease;position:relative}html.dark .editorial-post-card{border-bottom-color:rgba(255,255,255,4%)}.editorial-post-card:first-child{border-top:1px solid rgba(0,0,0,5%)}html.dark .editorial-post-card:first-child{border-top-color:rgba(255,255,255,4%)}.editorial-post-card::before{content:"";position:absolute;left:-.875rem;top:50%;transform:translateY(-50%);width:2px;height:0;background:var(--primary);transition:height .18s ease;border-radius:2px}.editorial-post-card:hover{padding-left:.5rem}.editorial-post-card:hover::before{height:50%}.editorial-post-card:hover .editorial-post-title{color:var(--primary)!important}.editorial-post-meta{display:flex;align-items:center;gap:1rem;font-family:var(--f-mono);font-size:.6875rem;color:var(--outline);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.4rem}.editorial-post-category{color:var(--primary);font-weight:700;letter-spacing:.06em}.editorial-post-new{display:inline-flex;align-items:center;font-size:.5625rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#14532d;border:1px solid #16a34a;border-radius:2px;padding:.05rem .3rem;line-height:1.4;background:rgba(22,163,74,6%)}html.dark .editorial-post-new{color:#86efac;border-color:#4ade80;background:rgba(74,222,128,7%)}.editorial-post-title{font-family:var(--f-headline)!important;font-size:1.1875rem!important;font-weight:700!important;letter-spacing:-.025em!important;color:var(--on-surface)!important;line-height:1.35!important;margin:0 0 .5rem!important;transition:color .15s}.editorial-post-card:first-child{padding-top:1.875rem;padding-bottom:2.5rem}.editorial-post-card:first-child .editorial-post-title{font-size:1.625rem!important;letter-spacing:-.035em!important;line-height:1.2!important}.editorial-post-card:first-child .editorial-post-meta{font-size:.75rem}.editorial-post-card:first-child .editorial-post-meta span:first-child{color:var(--on-surface-var);font-weight:500}.editorial-post-card:first-child .editorial-post-excerpt{font-size:1rem;line-height:1.75}.editorial-post-excerpt{font-size:.9375rem;color:var(--on-surface-var);line-height:1.7;margin-top:.5rem}.editorial-sidebar{display:flex;flex-direction:column;gap:2.5rem;position:sticky;top:calc(var(--nav-h) + 1.5rem)}.editorial-sidebar-label{font-family:var(--f-headline)!important;font-size:.6875rem!important;font-weight:600!important;letter-spacing:.12em!important;text-transform:uppercase!important;color:var(--outline)!important;margin:0 0 .875rem!important;display:block}.editorial-taxonomy-list{list-style:none;margin:0;padding:0}.editorial-taxonomy-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;color:var(--on-surface-var);text-decoration:none;font-size:.9375rem;transition:color .15s;border-bottom:1px solid rgba(0,0,0,4%)}html.dark .editorial-taxonomy-item{border-bottom-color:rgba(255,255,255,4%)}.editorial-taxonomy-item:hover{color:var(--primary);text-decoration:none}.editorial-taxonomy-count{font-family:var(--f-mono);font-size:.6875rem;color:var(--outline);background:var(--surface-mid);padding:.1em .5em;border-radius:.25rem;font-weight:600}html.dark .editorial-taxonomy-count{background:var(--surface-high)}.article-header{margin-bottom:3rem;padding-bottom:2.5rem;border-bottom:1px solid rgba(0,0,0,6%)}html.dark .article-header{border-bottom-color:rgba(255,255,255,5%)}.article-breadcrumb{font-size:.75rem;color:var(--outline);margin-bottom:1.25rem}.article-breadcrumb a{color:var(--outline);text-decoration:none;transition:color .15s}.article-breadcrumb a:hover{color:var(--primary)}article h1{font-family:var(--f-headline)!important;font-size:clamp(1.875rem,5vw,2.875rem)!important;font-weight:700!important;letter-spacing:-.03em!important;line-height:1.15!important;color:var(--on-surface)!important;margin:0 0 1.25rem!important}.article-meta{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;font-family:var(--f-mono);font-size:.75rem;color:var(--outline)}.article-meta .meta-sep{color:var(--primary);opacity:.6}.article-tags{display:flex;flex-wrap:wrap;gap:.375rem;margin-top:1rem}.article-tag,.article-tags a{font-size:.6875rem!important;font-weight:500!important;padding:.25em .7em!important;border-radius:9999px!important;background:var(--surface-mid)!important;color:var(--on-surface-var)!important;text-decoration:none!important;transition:background .15s,color .15s;border:none!important}html.dark .article-tag,html.dark .article-tags a{background:var(--surface-high)!important;color:var(--on-surface-var)!important}.article-tag:hover,.article-tags a:hover{background:var(--primary)!important;color:var(--on-primary)!important}.article-body{display:flex;align-items:flex-start}.article-toc{display:none}@media(min-width:1280px){.article-toc{display:block;flex-shrink:0;width:14rem;position:sticky;top:calc(var(--nav-h) + 2rem);margin-left:3rem;margin-right:-6rem}}.article-content{min-width:0;flex:1;max-width:72ch}.prose{--tw-prose-body:var(--on-surface-var);--tw-prose-headings:var(--on-surface);--tw-prose-links:var(--primary);--tw-prose-bold:var(--on-surface);--tw-prose-counters:var(--outline);--tw-prose-bullets:var(--outline);--tw-prose-hr:rgba(0,0,0,0.06);--tw-prose-quotes:var(--on-surface-var);--tw-prose-quote-borders:var(--surface-high);--tw-prose-code:var(--on-surface);--tw-prose-pre-bg:var(--surface-low);font-family:var(--f-body);font-size:1rem;line-height:1.8}html.dark .prose{--tw-prose-body:var(--on-surface-var);--tw-prose-headings:var(--on-surface);--tw-prose-links:var(--primary);--tw-prose-bold:var(--on-surface);--tw-prose-counters:var(--outline);--tw-prose-bullets:var(--outline);--tw-prose-hr:rgba(255,255,255,0.05);--tw-prose-quotes:var(--on-surface-var);--tw-prose-quote-borders:var(--surface-high);--tw-prose-code:var(--on-surface);--tw-prose-pre-bg:var(--surface-low)}.prose h2,.prose h3,.prose h4{font-family:var(--f-headline)!important;letter-spacing:-.02em!important}.prose h2{font-size:1.4375rem!important;font-weight:700!important;margin-top:2.5rem!important;color:var(--on-surface)!important}.prose h3{font-size:1.1875rem!important;font-weight:600!important;color:var(--on-surface)!important}.prose a{color:var(--primary)!important;text-underline-offset:3px;text-decoration-color:rgba(0,97,164,.25)!important;background:0 0!important;transition:color .15s,text-decoration-color .15s}html.dark .prose a{text-decoration-color:rgba(96,165,250,.25)!important}.prose a:hover{color:var(--primary)!important;background:0 0!important;text-decoration-color:var(--primary)!important}.text-primary-500{color:var(--primary)!important}.prose :not(pre)>code{font-family:var(--f-mono)!important;background:var(--surface-high)!important;border-radius:.375rem!important;padding:.15em .45em!important;font-size:.875em!important;color:var(--on-surface)!important;font-weight:400!important}div.chroma{background:var(--surface-low)!important;border-radius:.75rem!important;border:1px solid rgba(0,0,0,6%)!important;position:relative;-webkit-text-size-adjust:none;margin-bottom:1.5rem}pre.chroma,pre{font-family:var(--f-mono)!important;font-size:.875rem!important;background:0 0!important;border-radius:0!important;border:none!important;margin:0!important;overflow-x:auto}pre:not(.chroma){background:var(--surface-low)!important;border-radius:.75rem!important;border:1px solid rgba(0,0,0,6%)!important}.chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}.chroma .lntable{border-spacing:0;padding:0;margin:0;border:0;width:100%}.chroma .lnlinks{outline:none;text-decoration:none;color:inherit}.chroma .line{display:flex}.chroma .lnt,.chroma .ln{white-space:pre;-webkit-user-select:none;user-select:none;padding:0 .75em;color:var(--outline);border-right:1px solid rgba(0,0,0,6%);min-width:2.5em}.chroma .hl{background-color:rgba(0,0,0,6%)}.chroma .err{color:#f6f8fa;background-color:#82071e}.chroma .k{color:#cf222e}.chroma .kc{color:#cf222e}.chroma .kd{color:#cf222e}.chroma .kn{color:#cf222e}.chroma .kp{color:#cf222e}.chroma .kr{color:#cf222e}.chroma .kt{color:#cf222e}.chroma .na{color:#1f2328}.chroma .nc{color:#1f2328}.chroma .no{color:#0550ae}.chroma .nd{color:#0550ae}.chroma .ni{color:#6639ba}.chroma .nl{color:#900;font-weight:700}.chroma .nn{color:#24292e}.chroma .nx{color:#1f2328}.chroma .nt{color:#0550ae}.chroma .nb{color:#6639ba}.chroma .bp{color:#6a737d}.chroma .nv{color:#953800}.chroma .vc{color:#953800}.chroma .vg{color:#953800}.chroma .vi{color:#953800}.chroma .vm{color:#953800}.chroma .nf{color:#6639ba}.chroma .fm{color:#6639ba}.chroma .s{color:#0a3069}.chroma .sa{color:#0a3069}.chroma .sb{color:#0a3069}.chroma .sc{color:#0a3069}.chroma .dl{color:#0a3069}.chroma .sd{color:#0a3069}.chroma .s2{color:#0a3069}.chroma .se{color:#0a3069}.chroma .sh{color:#0a3069}.chroma .si{color:#0a3069}.chroma .sx{color:#0a3069}.chroma .sr{color:#0a3069}.chroma .s1{color:#0a3069}.chroma .ss{color:#032f62}.chroma .m{color:#0550ae}.chroma .mb{color:#0550ae}.chroma .mf{color:#0550ae}.chroma .mh{color:#0550ae}.chroma .mi{color:#0550ae}.chroma .il{color:#0550ae}.chroma .mo{color:#0550ae}.chroma .o{color:#0550ae}.chroma .ow{color:#0550ae}.chroma .p{color:#1f2328}.chroma .c{color:#57606a}.chroma .ch{color:#57606a}.chroma .cm{color:#57606a}.chroma .c1{color:#57606a}.chroma .cs{color:#57606a}.chroma .cp{color:#57606a}.chroma .cpf{color:#57606a}.chroma .gd{color:#82071e;background-color:#ffebe9}.chroma .ge{color:#1f2328;font-style:italic}.chroma .gi{color:#116329;background-color:#dafbe1}.chroma .go{color:#1f2328}.chroma .gl{text-decoration:underline}html.dark div.chroma{background:var(--surface-mid)!important;border-color:rgba(255,255,255,6%)!important;color:#e6edf3}html.dark pre{background:0 0!important}html.dark pre:not(.chroma){background:var(--surface-mid)!important;border-color:rgba(255,255,255,6%)!important}html.dark .chroma .lnt,html.dark .chroma .ln{color:#6e7681;border-right-color:rgba(255,255,255,6%)}html.dark .chroma .hl{background-color:rgba(255,255,255,6%)}html.dark .chroma .err{color:#f85149;background:0 0}html.dark .chroma .k{color:#ff7b72}html.dark .chroma .kc{color:#79c0ff}html.dark .chroma .kd{color:#ff7b72}html.dark .chroma .kn{color:#ff7b72}html.dark .chroma .kp{color:#79c0ff}html.dark .chroma .kr{color:#ff7b72}html.dark .chroma .kt{color:#ff7b72}html.dark .chroma .nc{color:#f0883e;font-weight:700}html.dark .chroma .no{color:#79c0ff;font-weight:700}html.dark .chroma .nd{color:#d2a8ff;font-weight:700}html.dark .chroma .ni{color:#ffa657}html.dark .chroma .ne{color:#f0883e;font-weight:700}html.dark .chroma .nl{color:#79c0ff;font-weight:700}html.dark .chroma .nn{color:#ff7b72}html.dark .chroma .py{color:#79c0ff}html.dark .chroma .nt{color:#7ee787}html.dark .chroma .nv{color:#79c0ff}html.dark .chroma .vc{color:#79c0ff}html.dark .chroma .vg{color:#79c0ff}html.dark .chroma .vi{color:#79c0ff}html.dark .chroma .vm{color:#79c0ff}html.dark .chroma .nf{color:#d2a8ff;font-weight:700}html.dark .chroma .fm{color:#d2a8ff;font-weight:700}html.dark .chroma .l{color:#a5d6ff}html.dark .chroma .ld{color:#79c0ff}html.dark .chroma .s{color:#a5d6ff}html.dark .chroma .sa{color:#79c0ff}html.dark .chroma .sb{color:#a5d6ff}html.dark .chroma .sc{color:#a5d6ff}html.dark .chroma .dl{color:#79c0ff}html.dark .chroma .sd{color:#a5d6ff}html.dark .chroma .s2{color:#a5d6ff}html.dark .chroma .se{color:#79c0ff}html.dark .chroma .sh{color:#79c0ff}html.dark .chroma .si{color:#a5d6ff}html.dark .chroma .sx{color:#a5d6ff}html.dark .chroma .sr{color:#79c0ff}html.dark .chroma .s1{color:#a5d6ff}html.dark .chroma .ss{color:#a5d6ff}html.dark .chroma .m{color:#a5d6ff}html.dark .chroma .mb{color:#a5d6ff}html.dark .chroma .mf{color:#a5d6ff}html.dark .chroma .mh{color:#a5d6ff}html.dark .chroma .mi{color:#a5d6ff}html.dark .chroma .il{color:#a5d6ff}html.dark .chroma .mo{color:#a5d6ff}html.dark .chroma .o{color:#ff7b72;font-weight:700}html.dark .chroma .ow{color:#ff7b72;font-weight:700}html.dark .chroma .c{color:#8b949e;font-style:italic}html.dark .chroma .ch{color:#8b949e;font-style:italic}html.dark .chroma .cm{color:#8b949e;font-style:italic}html.dark .chroma .c1{color:#8b949e;font-style:italic}html.dark .chroma .cs{color:#8b949e;font-weight:700;font-style:italic}html.dark .chroma .cp{color:#8b949e;font-weight:700;font-style:italic}html.dark .chroma .cpf{color:#8b949e;font-weight:700;font-style:italic}html.dark .chroma .gd{color:#ffa198;background-color:#490202}html.dark .chroma .ge{font-style:italic}html.dark .chroma .gr{color:#ffa198}html.dark .chroma .gh{color:#79c0ff;font-weight:700}html.dark .chroma .gi{color:#56d364;background-color:#0f5323}html.dark .chroma .go{color:#8b949e}html.dark .chroma .gp{color:#8b949e}html.dark .chroma .gs{font-weight:700}html.dark .chroma .gu{color:#79c0ff}html.dark .chroma .gt{color:#ff7b72}html.dark .chroma .gl{text-decoration:underline}html.dark .chroma .w{color:#6e7681}.copy-btn{position:absolute;top:.625rem;right:.625rem;width:2rem;height:2rem;display:inline-flex;align-items:center;justify-content:center;background:var(--surface-high);border:1px solid rgba(0,0,0,8%);border-radius:.375rem;cursor:pointer;opacity:0;transition:opacity .15s ease,background .15s ease,color .15s ease,transform .1s ease;color:var(--on-surface-var);z-index:2;padding:0}.chroma:hover .copy-btn,pre:hover .copy-btn{opacity:1}.copy-btn:hover{background:var(--surface-highest);color:var(--on-surface);transform:translateY(-1px)}.copy-btn:active{transform:translateY(0)}.copy-btn:focus-visible{opacity:1;outline:2px solid var(--primary);outline-offset:2px}.copy-btn svg{width:.875rem;height:.875rem;flex-shrink:0;pointer-events:none}.copy-btn .icon-copied{display:none}.copy-btn.is-copied .icon-copy{display:none}.copy-btn.is-copied .icon-copied{display:block;color:#22c55e}@media(hover:none){.copy-btn{opacity:.7}}html.dark .copy-btn{background:var(--surface-high);border-color:rgba(255,255,255,8%)}.toc-details{margin:0}.toc-summary{display:block;list-style:none;font-family:var(--f-headline);font-size:.6875rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--outline);padding-bottom:.625rem;margin-bottom:.75rem;border-bottom:1px solid rgba(0,0,0,6%);user-select:none}.toc-summary::-webkit-details-marker,.toc-summary::marker{display:none}@media(max-width:1023px){.toc-summary{cursor:pointer}}@media(min-width:1024px){.toc-summary{pointer-events:none}}html.dark .toc-summary{border-bottom-color:rgba(255,255,255,5%)}.toc{font-size:.8125rem!important;font-family:var(--f-body)!important;line-height:1.45!important;color:var(--on-surface-var)!important}.toc ul{list-style:none!important;margin:0!important;padding:0!important}.toc li{margin:0!important}.toc>nav>ul>li{padding:.3rem 0}.toc>nav>ul>li>a{font-weight:500;color:var(--on-surface-var)!important}.toc>nav>ul>li>ul{padding-left:.875rem!important;border-left:1px solid rgba(0,0,0,6%)!important;margin:.25rem 0 .4rem!important}html.dark .toc>nav>ul>li>ul{border-left-color:rgba(255,255,255,5%)!important}.toc>nav>ul>li>ul>li{padding:.2rem 0!important}.toc>nav>ul>li>ul>li>a{font-weight:400;font-size:.75rem!important;color:var(--outline)!important}.toc>nav>ul>li>ul>li>ul{padding-left:.875rem!important;margin:.25rem 0 .4rem!important}.toc a{text-decoration:none!important;transition:color .15s,transform .18s cubic-bezier(.16,1,.3,1),padding-left .18s cubic-bezier(.16,1,.3,1);display:block;padding:.1rem 0;position:relative}.toc a:hover{color:var(--primary)!important;padding-left:.35rem}.toc a.toc-active{color:var(--primary)!important;padding-left:.5rem}.toc a.toc-active::before{content:'';position:absolute;left:0;top:.15rem;bottom:.15rem;width:2px;background:var(--primary);border-radius:1px}@media(prefers-reduced-motion:reduce){.toc a{transition:color .15s}.toc a:hover,.toc a.toc-active{padding-left:0}}.breadcrumbs,.dark .breadcrumbs{font-size:.75rem;color:var(--outline)}.breadcrumbs a{color:var(--outline);text-decoration:none}.breadcrumbs a:hover{color:var(--primary)}[class*=badge]{font-size:.6875rem!important;font-weight:500!important;padding:.25em .6em!important;border-radius:9999px!important;background:var(--surface-mid)!important;color:var(--on-surface-var)!important;border:none!important}html.dark [class*=badge]{background:var(--surface-high)!important}.article-meta a[href*="/tags/"],.article-meta a[href*="/categories/"]{border-radius:3px!important}.sharing-links a{color:var(--on-surface-var)!important;text-decoration:none;transition:color .15s}.sharing-links a:hover{color:var(--primary)!important}.article-pagination a{background:var(--surface-low)!important;border-radius:.75rem!important;transition:background .15s!important;text-decoration:none}.article-pagination a:hover{background:var(--surface-mid)!important}.article-pagination [class*=title],.article-pagination h2{font-family:var(--f-headline)!important;color:var(--on-surface)!important;font-size:.9375rem!important}.author{background:var(--surface-low)!important;border-radius:.75rem!important}.article-footer{margin-top:3rem;padding-top:2.5rem;border-top:1px solid rgba(0,0,0,6%)}html.dark .article-footer{border-top-color:rgba(255,255,255,5%)}.article-more-on{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:1.75rem 0}.article-more-label{font-family:var(--f-mono);font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--outline);margin-right:.25rem}.article-more-tag{font-size:.8125rem;font-weight:500;color:var(--primary);text-decoration:none;padding:.25rem .625rem;border-radius:3px;background:var(--surface-low);transition:background .15s,color .15s}.article-more-tag:hover{background:var(--primary);color:var(--on-primary);text-decoration:none}html.dark .article-more-tag{background:var(--surface-mid)}.error-404{padding:6rem 0 8rem}.error-404-code{font-family:var(--f-mono);font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--primary);margin:0 0 1.25rem}.error-404-title{font-family:var(--f-headline);font-size:clamp(2.5rem,6vw,4rem);font-weight:700;letter-spacing:-.04em;color:var(--on-surface);line-height:1.1;margin:0 0 1.25rem}.error-404-message{font-family:var(--f-body);font-size:1.0625rem;color:var(--on-surface-var);line-height:1.7;margin:0 0 3rem;max-width:38rem}.error-404-nav{display:flex;align-items:center;gap:2rem}.error-404-link{font-family:var(--f-headline);font-size:.875rem;font-weight:600;letter-spacing:.01em;text-decoration:none;color:var(--on-surface-var);transition:color .15s}.error-404-link:hover{color:var(--primary)}.error-404-link--primary{color:var(--primary)}.error-404-link--primary:hover{color:var(--on-surface)}#to-top{bottom:5.5rem}.site-footer{border-top:1px solid rgba(0,0,0,6%);padding:2rem 0;margin-top:5rem}html.dark .site-footer{border-top-color:rgba(255,255,255,5%)}.footer-bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem}.footer-copy{font-family:var(--f-mono);font-size:.75rem;color:var(--outline)}.footer-links{display:flex;align-items:center;gap:1.5rem}.footer-links a{font-family:var(--f-mono);font-size:.75rem;color:var(--outline);text-decoration:none;transition:color .15s}.footer-links a:hover{color:var(--primary)}#search-wrapper{background:rgba(249,249,249,.97)!important}html.dark #search-wrapper{background:rgba(17,17,21,.97)!important}#search-query{background:var(--surface-low)!important;border:none!important;border-radius:.75rem!important;color:var(--on-surface)!important;font-family:var(--f-body)!important}.about-stack-block{background:var(--surface-low);border-radius:.875rem;padding:1.375rem 1.5rem;margin:2rem 0}.about-stack-label{font-family:var(--f-mono)!important;font-size:.6875rem!important;font-weight:600!important;letter-spacing:.1em!important;text-transform:uppercase!important;color:var(--outline)!important;display:block;margin-bottom:.875rem}.about-stack-chips{display:flex;flex-wrap:wrap;gap:.4rem}.about-stack-chips span{font-size:.8125rem;font-weight:500;padding:.3rem .75rem;background:var(--surface-highest);color:var(--on-surface);border-radius:.5rem}html.dark .about-stack-chips span{background:var(--surface-high)}.about-project-card{background:var(--surface-mid);border:1px solid rgba(0,0,0,5%);border-radius:.875rem;padding:1.5rem;margin:1rem 0 2rem}.about-project-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem;flex-wrap:wrap;gap:.5rem}.about-project-label{font-family:var(--f-mono)!important;font-size:.6875rem!important;font-weight:600!important;letter-spacing:.1em!important;text-transform:uppercase!important;color:var(--outline)!important}.about-project-link{font-size:.75rem;font-weight:600;color:var(--primary)!important;text-decoration:none!important;letter-spacing:.04em;transition:color .15s}.about-project-link:hover{color:var(--primary-hover)!important}.about-project-name{font-family:var(--f-headline)!important;font-size:1.125rem!important;font-weight:700!important;color:var(--on-surface)!important;margin:0 0 .5rem!important;letter-spacing:-.02em!important}.about-project-desc{font-size:.9375rem;color:var(--on-surface-var);line-height:1.65;margin:0 0 1rem!important}.about-project-tags{display:flex;flex-wrap:wrap;gap:.375rem}.about-project-tags span{font-family:var(--f-mono);font-size:.6875rem;font-weight:600;color:var(--primary);background:rgba(0,97,164,8%);padding:.2em .6em;border-radius:.375rem;letter-spacing:.04em;text-transform:uppercase}html.dark .about-project-tags span{background:rgba(96,165,250,.1);color:var(--primary)}html.dark .about-project-card{border-color:rgba(255,255,255,6%)}.about-links{display:flex;gap:1.5rem;flex-wrap:wrap;margin-top:.5rem}.about-links a{font-size:.8125rem;font-weight:600;color:var(--outline)!important;text-decoration:none!important;text-transform:uppercase;letter-spacing:.08em;transition:color .15s}.about-links a:hover{color:var(--primary)!important}.cv-page{padding-bottom:5rem}.cv-hero{display:grid;grid-template-columns:1fr auto;gap:3rem;align-items:center;margin-bottom:4rem;padding-top:2rem}.cv-name{font-family:var(--f-headline)!important;font-size:1rem!important;font-weight:600!important;letter-spacing:.01em!important;color:var(--on-surface-var)!important;margin:0 0 .4rem!important;text-transform:uppercase}.cv-meta{display:flex;flex-wrap:wrap;gap:.25rem 1.25rem;margin-bottom:1.25rem}.cv-meta-item{display:inline-flex;align-items:center;gap:.35rem;font-size:.8125rem;color:var(--on-surface-var)}@media(max-width:767px){.cv-hero{grid-template-columns:1fr}.cv-hero-image{display:none}}.cv-headline{font-family:var(--f-headline)!important;font-size:clamp(2.5rem,6vw,4rem)!important;font-weight:700!important;letter-spacing:-.04em!important;line-height:1.05!important;color:var(--on-surface)!important;margin:0 0 1.25rem!important}.cv-headline .accent,.cv-contact-heading .accent{color:var(--primary)}.cv-bio{font-size:1.0625rem;color:var(--on-surface-var);line-height:1.75;max-width:36rem;margin-bottom:1.75rem}.cv-hero-links{display:flex;gap:1rem;flex-wrap:wrap}.cv-btn{display:inline-flex;align-items:center;padding:.625rem 1.5rem;border-radius:.625rem;font-size:.875rem;font-weight:600;text-decoration:none;transition:opacity .15s,background .15s,transform .2s cubic-bezier(.16,1,.3,1)}.cv-btn-primary{background:var(--primary);color:#fff}.cv-btn-primary:hover{opacity:.88;text-decoration:none;color:#fff;transform:translateY(-1px)}.cv-btn-outline{border:1px solid rgba(0,0,0,.12);color:var(--primary);background:0 0}html.dark .cv-btn-outline{border-color:rgba(255,255,255,.12)}.cv-btn-outline:hover{background:var(--surface-low);text-decoration:none;transform:translateY(-1px)}.cv-portrait{width:13rem;height:13rem;object-fit:cover;border-radius:.75rem;border:1px solid rgba(0,0,0,6%);transition:transform .35s cubic-bezier(.16,1,.3,1)}.cv-portrait:hover{transform:scale(1.02)}html.dark .cv-portrait{border-color:rgba(255,255,255,6%)}.cv-bento{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:4rem}@media(max-width:767px){.cv-bento{grid-template-columns:1fr}}.cv-bento-card{background:var(--surface-low);border-radius:1rem;padding:2rem}.cv-bento-wide{grid-column:span 1}@media(min-width:768px){.cv-bento-wide{grid-column:span 1}}.cv-card-heading{font-family:var(--f-headline)!important;font-size:1.25rem!important;font-weight:700!important;letter-spacing:-.02em!important;color:var(--on-surface)!important;margin:0 0 1.75rem!important;display:flex;align-items:center;gap:.5rem}.cv-timeline{display:flex;flex-direction:column;gap:0}.cv-timeline-item{display:flex;gap:1.25rem;padding-bottom:2rem;position:relative}.cv-timeline-item::before{content:"";position:absolute;left:.4375rem;top:1.25rem;bottom:0;width:1.5px;background:var(--surface-high);transform-origin:top;transform:scaleY(0);transition:transform .5s cubic-bezier(.16,1,.3,1);transition-delay:var(--cv-delay,0ms)}.cv-timeline-item.is-visible::before{transform:scaleY(1)}.cv-timeline-item:last-child::before{display:none}.cv-timeline-dot{width:.875rem;height:.875rem;border-radius:50%;background:var(--surface-high);flex-shrink:0;margin-top:.25rem;position:relative;z-index:1}.cv-timeline-dot-active{background:var(--primary);box-shadow:0 0 0 3px rgba(0,97,164,.15)}html.dark .cv-timeline-dot-active{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--primary)}.cv-timeline-content{flex:1;min-width:0}.cv-timeline-period{font-family:var(--f-mono);font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--outline);display:block;margin-bottom:.25rem}.cv-timeline-current .cv-timeline-period{color:var(--primary)}.cv-timeline-role{font-family:var(--f-headline)!important;font-size:1rem!important;font-weight:700!important;color:var(--on-surface)!important;margin:0!important;line-height:1.3!important}.cv-timeline-company{font-size:.8125rem;color:var(--on-surface-var);font-weight:500;display:block;margin:.1rem 0 .5rem}.cv-timeline-desc{font-size:.875rem;color:var(--on-surface-var);line-height:1.65;margin:0}.cv-skills{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.75rem}.cv-skill{font-size:.8125rem;font-weight:500;padding:.35rem .85rem;background:var(--surface-lowest);color:var(--on-surface);border-radius:.5rem}html.dark .cv-skill{background:var(--surface-mid)}.cv-sub-heading{font-family:var(--f-headline)!important;font-size:.875rem!important;font-weight:700!important;color:var(--on-surface)!important;margin:0 0 .75rem!important}.cv-cert-grid{display:flex;flex-direction:column;gap:.3rem}.cv-cert-card{display:flex;align-items:center;gap:.625rem;padding:.5rem .625rem;background:var(--surface-low);border-radius:.5rem;border:1px solid rgba(0,0,0,4%);transition:background .15s,border-color .15s,transform .18s cubic-bezier(.25,1,.5,1)}.cv-cert-card:hover{background:var(--surface-mid);border-color:rgba(0,79,135,.18);transform:translateX(3px)}html.dark .cv-cert-card{background:var(--surface-low);border-color:rgba(255,255,255,4%)}html.dark .cv-cert-card:hover{background:var(--surface-mid);border-color:rgba(96,165,250,.2)}.cv-cert-check{width:.9375rem;height:.9375rem;flex-shrink:0;color:var(--primary);opacity:.75;transition:opacity .15s,transform .18s cubic-bezier(.25,1,.5,1)}.cv-cert-card:hover .cv-cert-check{opacity:1;transform:scale(1.2)}.cv-cert-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:.1rem}.cv-cert-name{font-size:.8rem;font-weight:500;color:var(--on-surface);line-height:1.3}.cv-cert-issuer{font-family:var(--f-mono);font-size:.6875rem;color:var(--on-surface-var);line-height:1}.cv-cert-id{font-family:var(--f-mono);font-size:.6875rem;color:var(--outline);flex-shrink:0;letter-spacing:.02em;padding:.15rem .4rem;background:var(--surface-high);border-radius:.25rem;transition:background .15s,color .15s}.cv-cert-card:hover .cv-cert-id{background:var(--primary);color:var(--on-primary)}.cv-section{margin-bottom:3.5rem}.cv-section-heading{font-family:var(--f-headline)!important;font-size:1.5rem!important;font-weight:700!important;letter-spacing:-.025em!important;color:var(--on-surface)!important;margin:0 0 1.5rem!important;padding-bottom:.625rem;display:inline-block;position:relative}.cv-section-heading::after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--primary);transform-origin:left;transform:scaleX(0);transition:transform .5s cubic-bezier(.16,1,.3,1)}.cv-section.is-visible .cv-section-heading::after{transform:scaleX(1)}.cv-education-card{display:flex;justify-content:space-between;align-items:flex-start;background:var(--surface-low);border-radius:.75rem;padding:1.5rem;gap:1rem}.cv-edu-degree{font-family:var(--f-headline)!important;font-size:1.0625rem!important;font-weight:700!important;color:var(--on-surface)!important;margin:0 0 .25rem!important}.cv-edu-school{font-size:.875rem;color:var(--on-surface-var)}.cv-edu-year{font-family:var(--f-mono);font-size:.75rem;color:var(--outline);white-space:nowrap;padding-top:.25rem}.cv-projects-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}@media(max-width:640px){.cv-projects-grid{grid-template-columns:1fr}}.cv-project-card{background:var(--surface-low);border-radius:.75rem;padding:1.5rem;display:flex;flex-direction:column;gap:.5rem;transition:transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s cubic-bezier(.16,1,.3,1)}.cv-project-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(0,0,0,.1)}.cv-project-title{font-family:var(--f-headline)!important;font-size:1.0625rem!important;font-weight:700!important;color:var(--on-surface)!important;margin:0!important}.cv-project-desc{font-size:.875rem;color:var(--on-surface-var);line-height:1.65;flex:1;margin:0}.cv-project-meta{display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap;margin-top:.5rem}.cv-project-link{font-size:.75rem;font-weight:700;color:var(--primary);text-decoration:none;text-transform:uppercase;letter-spacing:.06em;transition:color .15s}.cv-project-link:hover{color:var(--primary-hover)}.cv-project-tag{font-family:var(--f-mono);font-size:.6875rem;color:var(--outline)}.cv-contact{background:var(--surface-low);border:1px solid rgba(0,0,0,6%);border-radius:1rem;padding:3rem 2rem;text-align:center;margin-bottom:4rem}html.dark .cv-contact{border-color:rgba(255,255,255,5%)}.cv-contact-heading{font-family:var(--f-headline)!important;font-size:clamp(1.75rem,4vw,2.5rem)!important;font-weight:700!important;letter-spacing:-.03em!important;color:var(--on-surface)!important;margin:0 0 1rem!important}.cv-contact-desc{font-size:1rem;color:var(--on-surface-var);max-width:28rem;margin:0 auto 2rem;line-height:1.65}.cv-contact-links{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}@keyframes cv-enter{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.cv-headline{animation:cv-enter .6s cubic-bezier(.16,1,.3,1)both;animation-delay:0ms}.cv-bio{animation:cv-enter .6s cubic-bezier(.16,1,.3,1)both;animation-delay:120ms}.cv-hero-links{animation:cv-enter .6s cubic-bezier(.16,1,.3,1)both;animation-delay:240ms}.cv-hero-image{animation:cv-enter .6s cubic-bezier(.16,1,.3,1)both;animation-delay:180ms}.cv-scroll-reveal{opacity:0;transform:translateY(14px);transition:opacity .55s cubic-bezier(.16,1,.3,1),transform .55s cubic-bezier(.16,1,.3,1);transition-delay:var(--cv-delay,0ms)}.cv-scroll-reveal.is-visible{opacity:1;transform:none}#to-top a{background:var(--surface-mid)!important;color:var(--on-surface-var)!important;transition:background .15s,color .15s!important}#to-top a:hover{background:var(--surface-high)!important;color:var(--primary)!important}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.cv-pdf-bar{display:flex;justify-content:flex-end;margin-bottom:1.5rem}.cv-pdf-btn{font-size:.8125rem;padding:.4em 1em}