:root{--color-neutral:255, 255, 255;--color-neutral-50:252, 252, 252;--color-neutral-100:247, 247, 247;--color-neutral-200:230, 232, 235;--color-neutral-300:211, 218, 227;--color-neutral-400:163, 175, 189;--color-neutral-500:139, 158, 181;--color-neutral-600:99, 114, 131;--color-neutral-700:64, 69, 82;--color-neutral-800:47, 52, 63;--color-neutral-900:38, 43, 51;--color-neutral-950:29, 33, 39;--color-primary-50:227, 242, 253;--color-primary-100:187, 222, 251;--color-primary-200:144, 202, 249;--color-primary-300:100, 181, 246;--color-primary-400:66, 165, 245;--color-primary-500:33, 150, 243;--color-primary-600:30, 136, 229;--color-primary-700:25, 118, 210;--color-primary-800:21, 101, 192;--color-primary-900:13, 71, 161;--color-primary-950:7, 47, 110;--color-secondary-50:224, 247, 250;--color-secondary-100:178, 235, 242;--color-secondary-200:128, 222, 234;--color-secondary-300:77, 208, 225;--color-secondary-400:38, 198, 218;--color-secondary-500:0, 188, 212;--color-secondary-600:0, 172, 193;--color-secondary-700:0, 151, 167;--color-secondary-800:0, 131, 143;--color-secondary-900:0, 96, 100;--color-secondary-950:0, 64, 67}/*!Congo v2.12.2 | 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.17 | 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 rgb(var(--tw-prose-kbd-shadows)/10%),0 3px rgb(var(--tw-prose-kbd-shadows)/10%);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:17 24 39;--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:255 255 255;--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}}@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";:root{--font-sans:"Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont,
    "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}html,body{font-family:var(--font-sans)}h1,h2,h3,h4,h5,h6{font-family:var(--font-sans)}.prose{font-family:var(--font-sans);--tw-prose-body:80ch;max-width:80ch}.prose.max-w-none{max-width:none}.prose>:where(p,h1,h2,h3,h4,h5,h6,ul,ol,blockquote):not( :where([class~=not-prose],[class~=not-prose] *) ){max-width:80ch}.prose a{color:rgb(var(--color-primary-600))!important;text-decoration:none!important;background-color:initial!important;background-image:none!important}.prose a:hover{color:rgb(var(--color-primary-700))!important;text-decoration:underline!important;background-color:initial!important;background-image:none!important}.dark .prose a{color:rgb(var(--color-primary-400))!important}.dark .prose a:hover{color:rgb(var(--color-primary-300))!important}.page-header,.photo-header{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid rgba(0,0,0,.1)}.dark .page-header,.dark .photo-header{border-bottom-color:rgba(255,255,255,.1)}.page-title,.photo-title{font-size:2rem;font-weight:700;margin:0 0 .75rem;line-height:1.2;color:#111}.dark .page-title,.dark .photo-title{color:#f5f5f5}.page-meta,.photo-meta{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;font-size:.9375rem;color:#666}.dark .page-meta,.dark .photo-meta{color:#999}.page-meta a,.photo-meta a{color:inherit;text-decoration:none}.page-meta a:hover,.photo-meta a:hover{color:var(--color-primary-600,#2563eb)}.dark .page-meta a:hover,.dark .photo-meta a:hover{color:var(--color-primary-400,#60a5fa)}.photo-meta .permalink{color:inherit;text-decoration:none}.photo-meta .permalink:hover{text-decoration:underline}.photo-meta .tag{display:inline-block;padding:.125rem .5rem;background:rgba(0,0,0,5%);border-radius:.25rem;color:#555;text-decoration:none;font-size:.875rem;transition:background .2s;line-height:1.5}.dark .photo-meta .tag{background:rgba(255,255,255,.1);color:#aaa}.photo-meta .tag:hover{background:rgba(0,0,0,.1)}.dark .photo-meta .tag:hover{background:rgba(255,255,255,.15)}.page-meta .meta-separator,.photo-meta .date-separator,.photo-meta .meta-separator{color:#999;margin:0 .25rem}.dark .page-meta .meta-separator,.dark .photo-meta .date-separator,.dark .photo-meta .meta-separator{color:#666}.photo-meta .photo-count{color:inherit}.photo-description{margin:.75rem 0 1.5rem;padding-left:1rem;border-left:3px solid rgba(0,0,0,.2);font-style:italic;color:#555}.dark .photo-description{border-left-color:rgba(255,255,255,.3);color:#aaa}.photo-attribution{font-size:.875rem;color:#666;margin-bottom:1.5rem;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.dark .photo-attribution{color:#999}.photo-attribution a{color:inherit;text-decoration:none}.photo-attribution a:hover{text-decoration:underline}.photo-copyright::after{content:"·";margin-left:.5rem;color:#999}.dark .photo-copyright::after{color:#666}h1{font-size:2rem;font-weight:700;line-height:1.2;margin:2rem 0 1rem}h2{font-size:1.5rem;font-weight:700;margin:3rem 0 1.5rem}h3{font-size:1.25rem;font-weight:600;margin:2rem 0 1rem}p{margin:0 0 1rem}p:last-child{margin-bottom:0}.metadata-heading{color:#333}.dark .metadata-heading{color:#ddd}.metadata-container{display:grid;grid-template-columns:1fr;gap:2rem;margin-top:0}@media(min-width:768px){.metadata-container{grid-template-columns:1fr 1fr}}.metadata-table{width:100%;border-collapse:collapse;font-size:.9375rem}.metadata-table th{text-align:left;padding:.5rem 1rem .5rem 0;font-weight:600;color:#666;width:40%}.dark .metadata-table th{color:#999}.metadata-table td{padding:.5rem 0;color:#333}.dark .metadata-table td{color:#ddd}.metadata-table tr{border-bottom:1px solid rgba(0,0,0,5%)}.dark .metadata-table tr{border-bottom-color:rgba(255,255,255,5%)}.metadata-table tr:last-child{border-bottom:none}.download-separator{border-bottom:none!important}.download-separator td{padding:0;height:0;line-height:0;border-top:1px solid rgba(0,0,0,.1)}.dark .download-separator td{border-top-color:rgba(255,255,255,.1)}.download-row th{color:#666;vertical-align:top}.dark .download-row th{color:#999}.download-link{color:rgb(var(--color-primary-600));text-decoration:none;display:block;transition:color .2s;line-height:1.6}.dark .download-link{color:rgb(var(--color-primary-400))}.download-link:hover{color:rgb(var(--color-primary-700));text-decoration:underline}.dark .download-link:hover{color:rgb(var(--color-primary-300))}.metadata-map{display:flex;flex-direction:column;height:100%}.metadata-map #photo-map{flex:1;min-height:300px}.metadata-map iframe{border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.1)}.dark .metadata-map iframe{box-shadow:0 2px 8px rgba(0,0,0,.3)}.metadata-map small{text-align:center;color:#666}.dark .metadata-map small{color:#999}.metadata-map small a{color:inherit;text-decoration:none}.metadata-map small a:hover{text-decoration:underline}.download-grid{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}.download-item{flex:1;min-width:200px;display:flex;align-items:center;gap:.75rem;padding:.625rem .875rem;background:#fff;border:1px solid rgba(0,0,0,.1);border-radius:6px;text-decoration:none;color:inherit;transition:all .2s}.dark .download-item{background:rgba(255,255,255,5%);border-color:rgba(255,255,255,.1)}.download-item:hover{background:rgba(0,0,0,2%);border-color:rgba(0,0,0,.2);transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,0,0,.1)}.dark .download-item:hover{background:rgba(255,255,255,8%);border-color:rgba(255,255,255,.2);box-shadow:0 2px 8px rgba(0,0,0,.3)}.download-icon{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,5%);border-radius:6px;color:#666}.dark .download-icon{background:rgba(255,255,255,.1);color:#aaa}.download-info{flex:1;min-width:0}.download-label{font-weight:600;font-size:.9375rem;color:#333;margin-bottom:0;line-height:1.2}.dark .download-label{color:#ddd}.download-meta{font-size:.6875rem;color:#666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.dark .download-meta{color:#999}.photo-container{position:relative;max-width:100%}.photo-container .photo-wrapper{display:flex;justify-content:center}.photo-wrapper{position:relative;display:inline-block;max-width:100%;cursor:pointer}.photo-image{display:block;max-width:100%;max-height:calc(100vh - 300px);width:auto;height:auto;object-fit:contain}.live-photo .live-photo-video{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .3s ease-in-out;pointer-events:none}.live-photo .photo-wrapper.playing .live-photo-video{opacity:1}.live-photo .photo-wrapper.fade-in .live-photo-video{transition:opacity .4s ease-in}.live-photo .photo-wrapper.fade-out .live-photo-video{transition:opacity .5s ease-out}.live-photo-badge{position:absolute;top:12px;left:12px;background:rgba(0,0,0,.6);color:#fff;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:600;letter-spacing:.5px;pointer-events:auto;cursor:pointer;z-index:10;transition:background .2s ease-in-out;display:flex;align-items:center;gap:4px}.live-photo-badge:hover{background:rgba(0,0,0,.8)}.live-photo-icon{width:14px;height:14px;flex-shrink:0}.photo-downloads{margin-top:1rem;display:flex;gap:1rem;flex-wrap:wrap}.photo-downloads a{padding:.5rem 1rem;background:var(--color-neutral-100);border-radius:.5rem;text-decoration:none;font-size:.875rem;transition:background .2s}.photo-downloads a:hover{background:var(--color-neutral-200)}.photo-albums{margin-top:2rem}.album-date-heading{font-size:1.5rem;font-weight:700;margin:3rem 0 1.5rem;color:#333}.dark .album-date-heading{color:#ddd}.album-date-heading:first-child{margin-top:1.5rem}.album-date-heading a{color:inherit;text-decoration:none;transition:color .2s}.album-date-heading a:hover{color:rgb(var(--color-primary-600))}.dark .album-date-heading a:hover{color:rgb(var(--color-primary-400))}.album-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2rem;margin-bottom:2rem}@media(min-width:768px){.album-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}}.album-card{display:flex;flex-direction:column;border-radius:8px;overflow:hidden;background:#fff;border:1px solid rgba(0,0,0,.1);transition:all .2s ease}.dark .album-card{background:rgba(255,255,255,5%);border-color:rgba(255,255,255,.1)}.album-card:hover{transform:translateY(-4px);box-shadow:0 8px 16px rgba(0,0,0,.15);border-color:rgba(0,0,0,.2)}.dark .album-card:hover{box-shadow:0 8px 16px rgba(0,0,0,.4);border-color:rgba(255,255,255,.2)}.album-cover{display:block;aspect-ratio:1/1;overflow:hidden;background:#f5f5f5}.dark .album-cover{background:rgba(255,255,255,5%)}.album-cover img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.album-card:hover .album-cover img{transform:scale(1.05)}.album-info{padding:1rem 1.25rem 1.25rem}.album-title{margin:0 0 .25rem;font-size:1.125rem;font-weight:600;line-height:1.3}.album-title a{color:#333;text-decoration:none}.dark .album-title a{color:#ddd}.album-title a:hover{color:rgb(var(--color-primary-600))}.dark .album-title a:hover{color:rgb(var(--color-primary-400))}.album-count{margin:0;font-size:.875rem;color:#666}.dark .album-count{color:#999}.album-description{margin:1.5rem 0 2rem;padding-left:1rem;border-left:3px solid rgba(0,0,0,.2);font-style:italic;color:#555}.dark .album-description{border-left-color:rgba(255,255,255,.3);color:#aaa}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;margin-top:2rem}@media(min-width:768px){.photo-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}}.photo-grid-item{aspect-ratio:1/1;overflow:hidden;border-radius:8px;background:#f5f5f5}.dark .photo-grid-item{background:rgba(255,255,255,5%)}.photo-grid-item a{display:block;width:100%;height:100%}.photo-grid-item img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.photo-grid-item:hover img{transform:scale(1.05)}.photo-grid-item a{position:relative}.photo-grid-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.7) 0%,transparent 50%);display:flex;flex-direction:column;justify-content:flex-end;padding:1rem;opacity:0;transition:opacity .2s ease}.photo-grid-item:hover .photo-grid-overlay{opacity:1}.photo-grid-title{color:#fff;font-weight:600;font-size:.9375rem;line-height:1.3;margin-bottom:.25rem;text-shadow:0 1px 3px rgba(0,0,0,.3)}.photo-grid-stats{display:flex;gap:.75rem;color:rgba(255,255,255,.9);font-size:.8125rem}.photo-stat{display:flex;align-items:center;gap:.25rem}.photo-stat-icon{font-size:.875rem}.photo-nav{display:flex;justify-content:space-between;align-items:center;margin:2rem 0;padding:1rem 0;border-top:1px solid rgba(0,0,0,.1);border-bottom:1px solid rgba(0,0,0,.1)}.dark .photo-nav{border-color:rgba(255,255,255,.1)}.photo-nav-prev,.photo-nav-next{flex:1}.photo-nav-next{text-align:right}.photo-nav a{display:inline-flex;align-items:center;gap:.5rem;color:inherit;text-decoration:none;padding:.5rem;border-radius:.5rem;transition:background-color .2s ease}.photo-nav a:hover{background-color:rgba(0,0,0,5%)}.dark .photo-nav a:hover{background-color:rgba(255,255,255,5%)}.photo-nav-arrow{font-size:1.25rem;font-weight:300}.photo-nav-label{font-size:.9rem;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:640px){.photo-nav-label{display:none}.photo-nav-arrow{font-size:1.5rem}}.photo-header .photo-meta:has(.photo-meta-left){display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem}.photo-meta-left{display:flex;align-items:center;flex-wrap:wrap}.photo-meta-split{display:flex;justify-content:space-between;align-items:center}.view-all-link{font-size:.9375rem;color:#666;text-decoration:none;transition:color .2s ease}.view-all-link:hover{color:var(--color-primary-600,rgb(var(--color-primary-600)))}.dark .view-all-link{color:#999}.dark .view-all-link:hover{color:var(--color-primary-400,#60a5fa)}.album-download-link{font-size:.875rem;color:#666;text-decoration:none;transition:color .2s ease}.album-download-link:hover{color:var(--color-primary-600,#2563eb)}.dark .album-download-link{color:#999}.dark .album-download-link:hover{color:var(--color-primary-400,#60a5fa)}.photo-tags{margin-top:3rem;padding-top:2rem;border-top:1px solid rgba(0,0,0,.1)}.dark .photo-tags{border-top-color:rgba(255,255,255,.1)}.photo-tags h2{font-size:1.25rem;font-weight:600;margin:0 0 1rem;color:#333}.dark .photo-tags h2{color:#ddd}.tag-list{display:flex;flex-wrap:wrap;gap:.625rem}.tag-list .tag{display:inline-flex;align-items:center;padding:.5rem 1rem;background:linear-gradient( 135deg,rgba(var(--color-primary-500),.1) 0%,rgba(var(--color-primary-400),.1) 100% );border:1px solid rgba(var(--color-primary-500),.2);border-radius:2rem;color:rgb(var(--color-primary-600));text-decoration:none;font-size:.875rem;font-weight:500;transition:all .2s ease}.dark .tag-list .tag{background:linear-gradient( 135deg,rgba(var(--color-primary-500),.15) 0%,rgba(var(--color-primary-400),.15) 100% );border-color:rgba(var(--color-primary-400),.3);color:rgb(var(--color-primary-300))}.tag-list .tag:hover{background:linear-gradient( 135deg,rgba(var(--color-primary-500),.2) 0%,rgba(var(--color-primary-400),.2) 100% );border-color:rgba(var(--color-primary-500),.4);transform:translateY(-2px);box-shadow:0 4px 12px rgba(var(--color-primary-500),.15)}.dark .tag-list .tag:hover{background:linear-gradient( 135deg,rgba(var(--color-primary-500),.25) 0%,rgba(var(--color-primary-400),.25) 100% );border-color:rgba(var(--color-primary-400),.5);box-shadow:0 4px 12px rgba(var(--color-primary-400),.2)}.webmentions-section{margin-top:3rem;padding-top:2rem;border-top:1px solid rgba(0,0,0,.1)}.dark .webmentions-section{border-top-color:rgba(255,255,255,.1)}.webmentions-header{background:linear-gradient( 135deg,rgba(59,130,246,8%) 0%,rgba(var(--color-primary-400),.08) 100% );border:1px solid rgba(59,130,246,.15);border-radius:12px;padding:1.25rem 1.5rem;margin-bottom:1.5rem}.dark .webmentions-header{background:linear-gradient( 135deg,rgba(59,130,246,.12) 0%,rgba(var(--color-primary-400),.12) 100% );border-color:rgba(var(--color-primary-400),.25)}.webmentions-header h2{margin:0 0 .5rem;font-size:1.25rem;font-weight:600;color:#333}.dark .webmentions-header h2{color:#eee}.webmentions-header p{margin:0;font-size:.9rem;color:#555;line-height:1.5}.dark .webmentions-header p{color:#aaa}.webmentions-header a{color:rgb(var(--color-primary-600));text-decoration:none}.webmentions-header a:hover{text-decoration:underline}.dark .webmentions-header a{color:rgb(var(--color-primary-400))}.webmentions-facepile{background:rgba(0,0,0,3%);border-radius:10px;padding:1rem 1.25rem;margin-bottom:1.5rem}.dark .webmentions-facepile{background:rgba(255,255,255,5%)}.facepile-summary{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:.75rem}.facepile-stat{display:inline-flex;align-items:center;gap:.375rem;font-size:.875rem;color:#555;font-weight:500}.dark .facepile-stat{color:#bbb}.facepile-icon{font-size:1rem}.facepile-avatars{display:flex;flex-wrap:wrap;gap:.25rem}.facepile-avatar{display:block;width:32px;height:32px;border-radius:50%;overflow:hidden;border:2px solid #fff;box-shadow:0 1px 3px rgba(0,0,0,.1);transition:transform .2s ease,box-shadow .2s ease}.dark .facepile-avatar{border-color:#1f2937;box-shadow:0 1px 3px rgba(0,0,0,.3)}.facepile-avatar:hover{transform:scale(1.15);box-shadow:0 2px 8px rgba(0,0,0,.15);z-index:10;position:relative}.facepile-avatar img{width:100%;height:100%;object-fit:cover}.webmentions-replies h3{font-size:1rem;font-weight:600;color:#333;margin:0 0 1rem}.dark .webmentions-replies h3{color:#ddd}.webmention-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:1rem}.webmention-item{background:rgba(0,0,0,2%);border:1px solid rgba(0,0,0,6%);border-radius:10px;padding:1rem 1.25rem}.dark .webmention-item{background:rgba(255,255,255,3%);border-color:rgba(255,255,255,8%)}.webmention-author{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.webmention-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;flex-shrink:0}.webmention-avatar-placeholder{display:flex;align-items:center;justify-content:center;background:linear-gradient( 135deg,rgb(var(--color-primary-500)),rgb(var(--color-primary-500)) );color:#fff;font-weight:600;font-size:1rem;text-transform:uppercase}.webmention-author-info{display:flex;flex-direction:column;gap:.125rem}.webmention-author-name{font-weight:600;font-size:.9375rem}.webmention-author-name a{color:#333;text-decoration:none}.webmention-author-name a:hover{color:rgb(var(--color-primary-600))}.dark .webmention-author-name a{color:#eee}.dark .webmention-author-name a:hover{color:rgb(var(--color-primary-400))}.webmention-date{font-size:.8125rem;color:#666}.dark .webmention-date{color:#999}.webmention-content{font-size:.9375rem;line-height:1.6;color:#444}.dark .webmention-content{color:#ccc}.webmention-source{display:inline-block;margin-top:.75rem;font-size:.8125rem;color:rgb(var(--color-primary-600));text-decoration:none}.webmention-source:hover{text-decoration:underline}.dark .webmention-source{color:rgb(var(--color-primary-400))}.webmentions-empty{text-align:center;color:#666;font-style:italic;padding:1.5rem;background:rgba(0,0,0,2%);border-radius:10px}.dark .webmentions-empty{color:#999;background:rgba(255,255,255,3%)}.homepage-grid{display:grid;grid-template-columns:1fr;gap:3rem}@media(min-width:768px){.homepage-grid{grid-template-columns:1fr 300px;gap:4rem}}@media(min-width:1024px){.homepage-grid{grid-template-columns:1fr 350px}}.homepage-main{min-width:0}.homepage-sidebar{min-width:0}.blog-preview{padding-bottom:1.5rem;border-bottom:1px solid rgba(0,0,0,8%)}.dark .blog-preview{border-bottom-color:rgba(255,255,255,8%)}.blog-preview:last-child{border-bottom:none;padding-bottom:0}.blog-tags{margin-left:.5rem}.blog-tags::before{content:"·";margin-right:.5rem}.blog-tag{color:#888}.blog-tag:not(:last-child)::after{content:", "}.dark .blog-tag{color:#777}.sidebar-section{padding:1.25rem;background:rgba(0,0,0,2%);border-radius:12px}.dark .sidebar-section{background:rgba(255,255,255,3%)}.sidebar-title{font-size:1.125rem;font-weight:600;margin:0 0 1rem;color:#111}.dark .sidebar-title{color:#f5f5f5}.social-links{display:flex;flex-wrap:wrap;gap:.375rem .5rem}.social-link{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .5rem;color:#555;text-decoration:none;font-size:.875rem;border-radius:4px;transition:color .2s ease,background .2s ease}.dark .social-link{color:#aaa}.social-link:hover{color:#111;background:rgba(0,0,0,5%)}.dark .social-link:hover{color:#eee;background:rgba(255,255,255,8%)}.social-link .icon{flex-shrink:0;width:16px;height:16px}.photo-grid-featured{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:.5rem;margin-bottom:1rem}.photo-thumb{aspect-ratio:1;border-radius:8px;overflow:hidden;display:block}.photo-thumb.photo-featured{grid-column:1/-1;aspect-ratio:1}.photo-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.photo-thumb:hover img{transform:scale(1.05)}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.article-with-toc{display:block}.article-with-toc>.prose.max-w-none>:where(p,h1,h2,h3,h4,h5,h6,ul,ol,blockquote):not( :where([class~=not-prose],[class~=not-prose] *) ){max-width:80ch}.article-with-toc>.prose.max-w-none>:where( figure,pre,table,hr,.code-block,.mermaid-container,.alert,.blog-header-image,.series-notice,.footnotes ):not(:where([class~=not-prose],[class~=not-prose] *)){max-width:100%}.article-with-toc>.prose.max-w-none>:where( p,h1,h2,h3,h4,h5,h6,ul,ol,blockquote,figure,pre,table,hr,.code-block,.mermaid-container,.alert,.blog-header-image,.series-notice ):not(:where([class~=not-prose],[class~=not-prose] *)){max-width:100%}@media(min-width:1024px){.article-with-toc{display:grid;grid-template-columns:minmax(0,1fr)260px;grid-template-rows:auto auto;gap:1.5rem}.toc-sidebar{grid-column:2;grid-row:1/-1}.article-with-toc>.prose{grid-column:1;grid-row:1;min-width:0}.article-with-toc>.article-footer-wrapper{grid-column:1;grid-row:2}}@media(min-width:1280px){.article-with-toc{grid-template-columns:minmax(0,1fr)280px;gap:2rem}}.toc-sidebar{margin-bottom:2rem}@media(min-width:1024px){.toc-sidebar{margin-bottom:0}}.toc-wrapper{padding:1rem;background:rgba(0,0,0,2%);border-radius:8px;font-size:.875rem}@media(min-width:1024px){.toc-wrapper{position:sticky;top:2rem}}.dark .toc-wrapper{background:rgba(255,255,255,3%)}.toc-title{font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#666;margin:0 0 .75rem}.dark .toc-title{color:#999}.toc-wrapper nav#TableOfContents ul,.toc-wrapper nav#TableOfContents ol{list-style:none;padding:0;margin:0}.toc-wrapper nav#TableOfContents li{margin:.375rem 0}.toc-wrapper nav#TableOfContents ul ul,.toc-wrapper nav#TableOfContents ol ol,.toc-wrapper nav#TableOfContents ul ol,.toc-wrapper nav#TableOfContents ol ul{padding-left:1rem;margin-top:.375rem;border-left:1px solid rgba(0,0,0,.1);margin-left:.25rem}.dark .toc-wrapper nav#TableOfContents ul ul,.dark .toc-wrapper nav#TableOfContents ol ol,.dark .toc-wrapper nav#TableOfContents ul ol,.dark .toc-wrapper nav#TableOfContents ol ul{border-left-color:rgba(255,255,255,.1)}.toc-wrapper nav#TableOfContents a{color:#555;text-decoration:none;transition:color .2s ease}.dark .toc-wrapper nav#TableOfContents a{color:#aaa}.toc-wrapper nav#TableOfContents a:hover{color:var(--color-primary-600,rgb(var(--color-primary-600)))}.dark .toc-wrapper nav#TableOfContents a:hover{color:var(--color-primary-400,#60a5fa)}.toc-wrapper nav#TableOfContents a.toc-active{color:var(--color-primary-600,rgb(var(--color-primary-600)));font-weight:600}.dark .toc-wrapper nav#TableOfContents a.toc-active{color:var(--color-primary-400,#60a5fa)}.back-to-album{display:inline-block;margin-bottom:1.5rem;color:#666;text-decoration:none;font-size:.9375rem;transition:color .2s ease}.back-to-album:hover{color:var(--color-primary-600,rgb(var(--color-primary-600)))}.dark .back-to-album{color:#999}.dark .back-to-album:hover{color:var(--color-primary-400,#60a5fa)}.code-block{margin:1.5rem 0;border-radius:8px;overflow:hidden;background:#f5f6f7}.dark .code-block{background:#2f343f}.code-block.has-title{border:1px solid rgba(0,0,0,.1)}.dark .code-block.has-title{border:1px solid rgba(255,255,255,.1)}.code-title{background:rgba(0,0,0,5%);border-bottom:1px solid rgba(0,0,0,.1);padding:.5rem 1rem;font-size:.8125rem;font-family:var(--font-sans);color:#5c6370;font-weight:500}.dark .code-title{background:rgba(255,255,255,5%);border-bottom:1px solid rgba(255,255,255,.1);color:#999}.code-content{position:relative}.code-content pre{margin:0;border-radius:0}.code-content .copy-button{visibility:visible;position:absolute;top:.5rem;right:.5rem;padding:.375rem;background:rgba(0,0,0,8%);border:none;border-radius:4px;color:#5c6370;cursor:pointer;opacity:0;transition:background .2s ease,color .2s ease,opacity .2s ease;display:flex;align-items:center;justify-content:center}.dark .code-content .copy-button{background:rgba(255,255,255,.1);color:#888}.copy-button:hover{background:rgba(0,0,0,.15);color:#383c4a}.dark .copy-button:hover{background:rgba(255,255,255,.2);color:#fff}.copy-button svg{width:16px;height:16px}.copy-button.copied{color:#4ade80}.code-block:hover .code-content .copy-button{opacity:1}.prose pre,.code-block,.highlight,.highlight pre,.chroma{background-color:#f5f6f7!important}.chroma{color:#383c4a!important}.chroma:is(.dark *),.dark .prose pre,.dark .code-block,.dark .highlight,.dark .highlight pre,.dark .chroma{background-color:#2f343f!important}.chroma:is(.dark *),.dark .chroma{color:#d3dae3!important}.chroma .lnt,.chroma .ln{color:#8b9eb5!important;margin-right:.5em}.chroma .lnt:is(.dark *),.chroma .ln:is(.dark *){color:#5c6370!important}.chroma .hl{background-color:rgba(66,165,245,.1)!important}.chroma .hl:is(.dark *){background-color:rgba(66,165,245,.15)!important}.chroma .c,.chroma .ch,.chroma .cm,.chroma .c1,.chroma .cs,.chroma .cp{color:#8b9eb5!important;font-style:italic}.chroma .c:is(.dark *),.chroma .ch:is(.dark *),.chroma .cm:is(.dark *),.chroma .c1:is(.dark *),.chroma .cs:is(.dark *),.chroma .cp:is(.dark *){color:#747c84!important}.chroma .k,.chroma .kc,.chroma .kd,.chroma .kn,.chroma .kp,.chroma .kr,.chroma .kt{color:#7a5e7d!important}.chroma .k:is(.dark *),.chroma .kc:is(.dark *),.chroma .kd:is(.dark *),.chroma .kn:is(.dark *),.chroma .kp:is(.dark *),.chroma .kr:is(.dark *),.chroma .kt:is(.dark *){color:#9b859d!important}.chroma .s,.chroma .sa,.chroma .sb,.chroma .sc,.chroma .dl,.chroma .sd,.chroma .s2,.chroma .se,.chroma .sh,.chroma .si,.chroma .sx,.chroma .sr,.chroma .s1,.chroma .ss{color:#637c3f!important}.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 .se:is(.dark *),.chroma .sh:is(.dark *),.chroma .si:is(.dark *),.chroma .sx:is(.dark *),.chroma .sr:is(.dark *),.chroma .s1:is(.dark *),.chroma .ss:is(.dark *){color:#8f9d6a!important}.chroma .m,.chroma .mb,.chroma .mf,.chroma .mh,.chroma .mi,.chroma .il,.chroma .mo{color:#a67c3d!important}.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 *){color:#cda869!important}.chroma .l,.chroma .ld{color:#4e6a91!important}.chroma .l:is(.dark *),.chroma .ld:is(.dark *){color:#7587a6!important}.chroma .o,.chroma .ow{color:#5c6370!important}.chroma .o:is(.dark *),.chroma .ow:is(.dark *){color:#a7a7a7!important}.chroma .p{color:#383c4a!important}.chroma .p:is(.dark *){color:#d3dae3!important}.chroma .nf,.chroma .fm{color:#4e6a91!important}.chroma .nf:is(.dark *),.chroma .fm:is(.dark *){color:#7587a6!important}.chroma .na{color:#9a7c1c!important}.chroma .na:is(.dark *){color:#f9ee98!important}.chroma .n{color:#b5503a!important}.chroma .n:is(.dark *){color:#cf6a4c!important}.chroma .nv,.chroma .vc,.chroma .vg,.chroma .vi,.chroma .vm{color:#b5503a!important}.chroma .nv:is(.dark *),.chroma .vc:is(.dark *),.chroma .vg:is(.dark *),.chroma .vi:is(.dark *),.chroma .vm:is(.dark *){color:#cf6a4c!important}.chroma .nc{color:#9a7c1c!important}.chroma .nc:is(.dark *){color:#f9ee98!important}.chroma .nn,.chroma .ni{color:#9a7c1c!important}.chroma .nn:is(.dark *),.chroma .ni:is(.dark *){color:#f9ee98!important}.chroma .nb,.chroma .bp{color:#2a8a6e!important}.chroma .nb:is(.dark *),.chroma .bp:is(.dark *){color:#47bc9b!important}.chroma .no{color:#2a8a6e!important}.chroma .no:is(.dark *){color:#47bc9b!important}.chroma .nd{color:#2a8a6e!important}.chroma .nd:is(.dark *){color:#47bc9b!important}.chroma .nt{color:#b5503a!important}.chroma .nt:is(.dark *){color:#cf6a4c!important}.chroma .nl{color:#4e6a91!important}.chroma .nl:is(.dark *){color:#7587a6!important}.chroma .nx,.chroma .py{color:#4e6a91!important}.chroma .nx:is(.dark *),.chroma .py:is(.dark *){color:#7587a6!important}.chroma .ne{color:#b5503a!important}.chroma .ne:is(.dark *){color:#cf6a4c!important}.chroma .gd{color:#b5503a!important;background-color:rgba(181,80,58,.1)!important}.chroma .gd:is(.dark *){color:#cf6a4c!important;background-color:rgba(207,106,76,.1)!important}.chroma .gi{color:#637c3f!important;background-color:rgba(99,124,63,.1)!important}.chroma .gi:is(.dark *){color:#8f9d6a!important;background-color:rgba(143,157,106,.1)!important}.chroma .ge,.chroma .ge:is(.dark *){font-style:italic}.chroma .gs,.chroma .gs:is(.dark *){font-weight:700}.chroma .gh{color:#4e6a91!important;font-weight:700}.chroma .gh:is(.dark *){color:#7587a6!important}.chroma .gu{color:#2a8a6e!important;font-weight:700}.chroma .gu:is(.dark *){color:#47bc9b!important}.chroma .gl,.chroma .gl:is(.dark *){color:#5c6370!important}.chroma .err{color:#b5503a!important}.chroma .err:is(.dark *){color:#cf6a4c!important}.chroma .w,.chroma .w:is(.dark *){color:#5c6370!important}.chroma .cl{color:#383c4a!important}.chroma .cl:is(.dark *){color:#d3dae3!important}.mermaid-container{display:flex;justify-content:center;margin:2rem 0;overflow-x:auto}.mermaid-container pre.mermaid{background:0 0;margin:0;padding:1rem;min-width:min-content}.mermaid-container svg{max-width:none;min-width:600px;height:auto}.syndication{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin:1.5rem 0;padding:1rem 1.25rem;background:rgba(0,0,0,3%);border-radius:8px;font-size:.9375rem}.dark .syndication{background:rgba(255,255,255,5%)}.syndication-label{color:#666;font-weight:500}.dark .syndication-label{color:#999}.syndication-links{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:0;padding:0}.syndication-links li{margin:0}.syndication-links a{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;background:rgba(0,0,0,5%);border-radius:6px;color:#555;text-decoration:none;font-size:.875rem;transition:all .2s ease}.dark .syndication-links a{background:rgba(255,255,255,8%);color:#bbb}.syndication-links a:hover{background:rgba(0,0,0,.1);color:#333}.dark .syndication-links a:hover{background:rgba(255,255,255,.12);color:#eee}.syndication-icon{width:16px;height:16px;flex-shrink:0}.alert{margin:1.5rem 0;padding:1rem 1.25rem;border-radius:8px;border-left:4px solid;quotes:none}.alert::before,.alert::after{content:none}.alert p:last-child{margin-bottom:0}.alert-heading{display:flex;align-items:center;gap:.5rem;font-weight:600;margin:0 0 .5rem}.alert-heading svg{width:1.25rem;height:1.25rem;flex-shrink:0}.alert-note{background:rgba(59,130,246,.1);border-color:rgb(var(--color-primary-600))}.alert-note .alert-heading{color:#1d4ed8}.dark .alert-note{background:rgba(59,130,246,.15)}.dark .alert-note .alert-heading{color:rgb(var(--color-primary-400))}.alert-tip{background:rgba(34,197,94,.1);border-color:#22c55e}.alert-tip .alert-heading{color:#15803d}.dark .alert-tip{background:rgba(34,197,94,.15)}.dark .alert-tip .alert-heading{color:#4ade80}.alert-important{background:rgba(168,85,247,.1);border-color:rgb(var(--color-primary-500))}.alert-important .alert-heading{color:rgb(var(--color-primary-600))}.dark .alert-important{background:rgba(168,85,247,.15)}.dark .alert-important .alert-heading{color:rgb(var(--color-primary-300))}.alert-warning{background:rgba(245,158,11,.1);border-color:#f59e0b}.alert-warning .alert-heading{color:#b45309}.dark .alert-warning{background:rgba(245,158,11,.15)}.dark .alert-warning .alert-heading{color:#fbbf24}.alert-caution{background:rgba(239,68,68,.1);border-color:#ef4444}.alert-caution .alert-heading{color:#b91c1c}.dark .alert-caution{background:rgba(239,68,68,.15)}.dark .alert-caution .alert-heading{color:#f87171}.blog-header-image{margin:0 0 1.5rem}.blog-header-image img{width:100%;height:auto}.blog-header-image figcaption{margin-top:.5rem;font-size:.875rem;color:#666;text-align:center}.dark .blog-header-image figcaption{color:#999}.series-notice{margin:0 0 1.5rem;font-style:italic;color:#555}.dark .series-notice{color:#aaa}.series-index{list-style:none;margin:0;padding:0}.series-index-item{padding:1.5rem 0;border-bottom:1px solid rgba(0,0,0,8%)}.series-index-item:first-child{padding-top:0}.series-index-item:last-child{border-bottom:none}.dark .series-index-item{border-bottom-color:rgba(255,255,255,8%)}.series-index-link{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;text-decoration:none}.series-index-title{font-size:1.25rem;font-weight:600;color:#333;transition:color .2s ease}.series-index-link:hover .series-index-title{color:var(--color-primary-600,rgb(var(--color-primary-600)))}.dark .series-index-title{color:#eee}.dark .series-index-link:hover .series-index-title{color:var(--color-primary-400,#60a5fa)}.series-index-count{font-size:.875rem;color:#666;white-space:nowrap}.dark .series-index-count{color:#999}.series-index-description{margin:.5rem 0 0;font-size:.9375rem;color:#555;line-height:1.5}.dark .series-index-description{color:#aaa}.project-page{max-width:100%}.project-header{margin-bottom:2rem}.project-title{font-size:2rem;font-weight:700;margin:0 0 .5rem;line-height:1.2;color:#111}.dark .project-title{color:#f5f5f5}.project-description{font-size:1.125rem;color:#555;margin:0}.dark .project-description{color:#aaa}.project-layout{display:grid;grid-template-columns:1fr;gap:3rem}@media(min-width:768px){.project-layout{grid-template-columns:1fr 300px;gap:4rem}}@media(min-width:1024px){.project-layout{grid-template-columns:1fr 350px}}.project-main{min-width:0}.project-sidebar{display:flex;flex-direction:column;gap:1.5rem}@media(min-width:768px){.project-sidebar{position:sticky;top:2rem;align-self:start}}.project-sidebar-section{padding:1rem;background:rgba(0,0,0,2%);border-radius:8px}.dark .project-sidebar-section{background:rgba(255,255,255,3%)}.project-sidebar-title{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#666;margin:0 0 .75rem}.dark .project-sidebar-title{color:#999}.project-sidebar-links{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}.project-link{display:inline-flex;align-items:center;gap:.5rem;color:#444;text-decoration:none;font-size:.875rem;transition:color .2s ease}.project-link:hover{color:var(--color-primary-600,rgb(var(--color-primary-600)))}.dark .project-link{color:#ccc}.dark .project-link:hover{color:var(--color-primary-400,#60a5fa)}.project-link .icon{width:1rem;height:1rem;flex-shrink:0}.project-tech{display:flex;flex-wrap:wrap;gap:.375rem}.project-tech-item{display:inline-block;padding:.25rem .625rem;background:linear-gradient( 135deg,rgba(var(--color-primary-500),.1) 0%,rgba(var(--color-primary-400),.1) 100% );border:1px solid rgba(var(--color-primary-500),.2);border-radius:4px;font-size:.75rem;font-weight:500;color:rgb(var(--color-primary-600))}.dark .project-tech-item{background:linear-gradient( 135deg,rgba(var(--color-primary-500),.15) 0%,rgba(var(--color-primary-400),.15) 100% );border-color:rgba(var(--color-primary-400),.3);color:rgb(var(--color-primary-300))}.project-header{margin-bottom:2rem}.project-title{font-size:2rem;font-weight:700;margin:0 0 .5rem;line-height:1.2;color:#111}.dark .project-title{color:#f5f5f5}.project-description{font-size:1.125rem;color:#555;margin:0 0 1.25rem}.dark .project-description{color:#aaa}.project-meta{display:flex;flex-wrap:wrap;align-items:center;gap:1rem}.project-links{display:flex;flex-wrap:wrap;gap:.5rem}.project-link{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem .875rem;background:rgba(0,0,0,5%);border-radius:6px;color:#444;text-decoration:none;font-size:.875rem;font-weight:500;transition:all .2s ease}.project-link:hover{background:rgba(0,0,0,.1);color:#111}.dark .project-link{background:rgba(255,255,255,8%);color:#ccc}.dark .project-link:hover{background:rgba(255,255,255,.12);color:#fff}.project-link .icon{width:1rem;height:1rem}.project-tech{display:flex;flex-wrap:wrap;gap:.375rem}.project-tech-item{display:inline-block;padding:.25rem .625rem;background:linear-gradient( 135deg,rgba(var(--color-primary-500),.1) 0%,rgba(var(--color-primary-400),.1) 100% );border:1px solid rgba(var(--color-primary-500),.2);border-radius:4px;font-size:.75rem;font-weight:500;color:rgb(var(--color-primary-600))}.dark .project-tech-item{background:linear-gradient( 135deg,rgba(var(--color-primary-500),.15) 0%,rgba(var(--color-primary-400),.15) 100% );border-color:rgba(var(--color-primary-400),.3);color:rgb(var(--color-primary-300))}.project-sidebar-posts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.project-sidebar-posts li{display:flex;flex-direction:column;gap:.125rem}.project-sidebar-posts a{color:#444;text-decoration:none;font-size:.875rem;line-height:1.4;transition:color .2s ease}.project-sidebar-posts a:hover{color:var(--color-primary-600,rgb(var(--color-primary-600)))}.dark .project-sidebar-posts a{color:#ccc}.dark .project-sidebar-posts a:hover{color:var(--color-primary-400,#60a5fa)}.project-post-date{font-size:.75rem;color:#888}.dark .project-post-date{color:#777}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.project-card{display:flex;flex-direction:column;padding:1.5rem;background:#fff;border:1px solid rgba(0,0,0,.1);border-radius:12px;text-decoration:none;transition:all .2s ease}.project-card:hover{transform:translateY(-2px);box-shadow:0 8px 16px rgba(0,0,0,.1);border-color:rgba(0,0,0,.15)}.dark .project-card{background:rgba(255,255,255,3%);border-color:rgba(255,255,255,.1)}.dark .project-card:hover{box-shadow:0 8px 16px rgba(0,0,0,.3);border-color:rgba(255,255,255,.15)}.project-card-title{font-size:1.25rem;font-weight:600;margin:0 0 .5rem;color:#333}.project-card:hover .project-card-title{color:var(--color-primary-600,rgb(var(--color-primary-600)))}.dark .project-card-title{color:#eee}.dark .project-card:hover .project-card-title{color:var(--color-primary-400,#60a5fa)}.project-card-description{font-size:.9375rem;color:#555;margin:0 0 1rem;flex-grow:1}.dark .project-card-description{color:#aaa}.project-card-tech{display:flex;flex-wrap:wrap;gap:.375rem;margin-top:auto}.project-card-tech-item{display:inline-block;padding:.1875rem .5rem;background:rgba(0,0,0,5%);border-radius:4px;font-size:.6875rem;font-weight:500;color:#666}.dark .project-card-tech-item{background:rgba(255,255,255,8%);color:#999}.project-card-tech-more{display:inline-block;padding:.1875rem .5rem;font-size:.6875rem;color:#888}.dark .project-card-tech-more{color:#777}.series-header{display:flex;align-items:center;gap:.375rem;margin-bottom:.5rem}.series-icon{display:flex;align-items:center;color:rgb(var(--color-primary-500))}.dark .series-icon{color:rgb(var(--color-primary-300))}.series-icon svg{width:1rem;height:1rem}.series-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:rgb(var(--color-primary-500))}.dark .series-label{color:rgb(var(--color-primary-300))}.series-title{margin:0 0 .25rem;font-size:1.125rem;font-weight:600;line-height:1.3}.series-title a{color:#333;text-decoration:none}.series-title a:hover{color:rgb(var(--color-primary-500))}.dark .series-title a{color:#eee}.dark .series-title a:hover{color:rgb(var(--color-primary-300))}.series-progress{font-size:.875rem;color:#666;margin-bottom:1rem}.dark .series-progress{color:#999}.series-list{margin:0;padding:0 0 0 1.25rem;list-style:decimal}.series-item{padding:.375rem 0;font-size:.9375rem;border-bottom:1px solid rgba(var(--color-primary-500),.1)}.series-item:last-child{border-bottom:none}.dark .series-item{border-bottom-color:rgba(var(--color-primary-400),.15)}.series-item-current{font-weight:600}.series-item-title{color:#444;text-decoration:none}a.series-item-title:hover{color:rgb(var(--color-primary-500));text-decoration:underline}.dark .series-item-title{color:#ccc}.dark a.series-item-title:hover{color:rgb(var(--color-primary-300))}.series-item-current .series-item-title{color:#333}.dark .series-item-current .series-item-title{color:#eee}.series-item-badge{display:inline-block;margin-left:.5rem;padding:.125rem .5rem;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;background:rgba(var(--color-primary-500),.15);color:rgb(var(--color-primary-500));border-radius:4px}.dark .series-item-badge{background:rgba(var(--color-primary-400),.2);color:rgb(var(--color-primary-300))}.series-error{background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.2)}.series-error p{margin:0;color:#b91c1c}.dark .series-error{background:rgba(239,68,68,.15);border-color:rgba(239,68,68,.3)}.dark .series-error p{color:#f87171}.series-page-list{margin:0;padding:0 0 0 1.5rem;list-style:decimal}.series-page-item{padding:1rem 0;border-bottom:1px solid rgba(0,0,0,8%)}.series-page-item:last-child{border-bottom:none}.dark .series-page-item{border-bottom-color:rgba(255,255,255,8%)}.series-page-link{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;text-decoration:none}.series-page-title{font-size:1.125rem;font-weight:600;color:#333;transition:color .2s ease}.series-page-link:hover .series-page-title{color:rgb(var(--color-primary-500))}.dark .series-page-title{color:#eee}.dark .series-page-link:hover .series-page-title{color:rgb(var(--color-primary-300))}.series-page-date{font-size:.875rem;color:#666;white-space:nowrap}.dark .series-page-date{color:#999}.series-page-description{margin:.5rem 0 0;font-size:.9375rem;color:#555;line-height:1.5}.dark .series-page-description{color:#aaa}.steps{margin-left:1rem;padding-left:1.5rem;counter-reset:step;border-left:1px solid rgba(0,0,0,.1);position:relative}.dark .steps{border-left-color:rgba(255,255,255,.1)}.steps h3{counter-increment:step;position:relative;margin-top:2rem;margin-bottom:1rem}.steps h3:first-of-type{margin-top:0}.steps h3::before{content:counter(step);position:absolute;left:-2.5rem;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;background:rgb(var(--color-primary-500));color:#fff;font-size:.875rem;font-weight:600;border-radius:50%;box-shadow:0 2px 4px rgba(var(--color-primary-500),.3)}.dark .steps h3::before{background:rgb(var(--color-primary-400));box-shadow:0 2px 4px rgba(129,140,248,.3)}.steps h3>span[class*=-start-]{left:-4rem!important;inset-inline-start:-4rem!important}.steps>*:not(h3){margin-left:0}.steps-minimal{margin-left:1rem;padding-left:1.5rem;counter-reset:step;border-left:2px solid rgba(var(--color-primary-500),.3);position:relative}.dark .steps-minimal{border-left-color:rgba(var(--color-primary-400),.4)}.steps-minimal h3{counter-increment:step;position:relative;margin-top:2rem;margin-bottom:1rem}.steps-minimal h3:first-of-type{margin-top:0}.steps-minimal h3::before{content:counter(step)".";position:absolute;left:-2.25rem;font-size:1.25rem;font-weight:700;color:rgb(var(--color-primary-500))}.dark .steps-minimal h3::before{color:rgb(var(--color-primary-300))}.footnotes{margin-top:3rem;padding-top:0;font-size:.875rem;color:#555}.dark .footnotes{color:#aaa}.footnotes .references-heading{font-size:1.5rem;font-weight:700;margin:0 0 1rem;padding-top:1.5rem;border-top:1px solid rgba(0,0,0,.1);color:#333}.dark .footnotes .references-heading{border-top-color:rgba(255,255,255,.1);color:#ddd}.footnotes hr{display:none}.footnotes ol{margin:0;padding-left:1.5rem}.footnotes li{margin:.5rem 0;line-height:1.5}.footnotes li p{margin:0;display:inline}.footnotes li::marker{color:#888;font-size:.8125rem}.dark .footnotes li::marker{color:#777}.footnotes a{word-break:break-word}.footnotes .footnote-backref{margin-left:.375rem;font-size:.75rem;font-weight:500}sup a[href^="#fn:"]{font-size:.75rem;font-weight:500;padding:0 .125rem}.cite-ref{font-size:.875rem;line-height:1.6}.cite-title{font-style:italic}.cite-title a{font-style:italic}.cite-url{word-break:break-all;font-size:.8125rem}.cite-archive{font-size:.8125rem;white-space:nowrap}.cite-archive a{color:#666}.cite-archive a:hover{color:rgb(var(--color-primary-600))}.dark .cite-archive a{color:#999}.dark .cite-archive a:hover{color:rgb(var(--color-primary-400))}.cite-accessed{color:#888;font-size:.8125rem}.dark .cite-accessed{color:#777}