/*! tailwindcss v4.2.0 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial}}}@layer theme{:root,:host{--font-sans:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-serif:"Lora", Georgia, "Times New Roman", serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--color-amber-100:oklch(96.2% .059 95.617);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-700:oklch(55.5% .163 48.998);--color-amber-900:oklch(41.4% .112 45.904);--color-yellow-50:oklch(98.7% .026 102.212);--color-yellow-400:oklch(85.2% .199 91.936);--color-yellow-700:oklch(55.4% .135 66.442);--color-yellow-900:oklch(42.1% .095 57.708);--color-green-50:oklch(98.2% .018 155.826);--color-green-400:oklch(79.2% .209 151.711);--color-green-700:oklch(52.7% .154 150.069);--color-green-900:oklch(39.3% .095 152.535);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-100:oklch(95% .052 163.051);--color-emerald-200:oklch(90.5% .093 164.15);--color-emerald-300:oklch(84.5% .143 164.978);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-700:oklch(50.8% .118 165.612);--color-emerald-900:oklch(37.8% .077 168.94);--color-sky-100:oklch(95.1% .026 236.824);--color-sky-200:oklch(90.1% .058 230.902);--color-sky-300:oklch(82.8% .111 230.318);--color-sky-400:oklch(74.6% .16 232.661);--color-sky-500:oklch(68.5% .169 237.323);--color-sky-900:oklch(39.1% .09 240.876);--color-blue-50:oklch(97% .014 254.604);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-900:oklch(37.9% .146 265.522);--color-violet-50:oklch(96.9% .016 293.756);--color-violet-400:oklch(70.2% .183 293.541);--color-violet-700:oklch(49.1% .27 292.581);--color-violet-900:oklch(38% .189 293.745);--color-purple-100:oklch(94.6% .033 307.174);--color-purple-300:oklch(82.7% .119 306.383);--color-purple-700:oklch(49.6% .265 301.924);--color-purple-900:oklch(38.1% .176 304.987);--color-rose-50:oklch(96.9% .015 12.422);--color-rose-400:oklch(71.2% .194 13.428);--color-rose-700:oklch(51.4% .222 16.935);--color-rose-900:oklch(41% .159 10.272);--color-neutral-50:#fafafa;--color-neutral-100:#f5f5f5;--color-neutral-200:#e5e5e5;--color-neutral-300:#d4d4d4;--color-neutral-400:#a3a3a3;--color-neutral-500:#737373;--color-neutral-600:#525252;--color-neutral-700:#404040;--color-neutral-800:#262626;--color-neutral-900:#171717;--color-white:#fff;--spacing:.25rem;--container-xl:36rem;--container-3xl:48rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-5xl:3rem;--text-5xl--line-height:1;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-normal:0em;--tracking-wider:.05em;--leading-tight:1.25;--leading-relaxed:1.625;--radius-lg:.5rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-primary-50:#f0f4ff;--color-primary-100:#dbe4ff;--color-primary-300:#91a7ff;--color-primary-400:#748ffc;--color-primary-500:#5c7cfa;--color-primary-600:#4c6ef5;--color-primary-700:#4263eb;--color-primary-900:#364fc7}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.relative{position:relative}.static{position:static}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-16{margin-top:calc(var(--spacing) * 16)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.mb-10{margin-bottom:calc(var(--spacing) * 10)}.mb-12{margin-bottom:calc(var(--spacing) * 12)}.mb-14{margin-bottom:calc(var(--spacing) * 14)}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-\[1\.125rem\]{height:1.125rem}.min-h-screen{min-height:100vh}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-7{width:calc(var(--spacing) * 7)}.w-\[1\.125rem\]{width:1.125rem}.max-w-3xl{max-width:var(--container-3xl)}.max-w-xl{max-width:var(--container-xl)}.min-w-0{min-width:calc(var(--spacing) * 0)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-neutral-100{border-color:var(--color-neutral-100)}.border-neutral-200{border-color:var(--color-neutral-200)}.bg-amber-100{background-color:var(--color-amber-100)}.bg-blue-50{background-color:var(--color-blue-50)}.bg-emerald-50{background-color:var(--color-emerald-50)}.bg-green-50{background-color:var(--color-green-50)}.bg-neutral-100{background-color:var(--color-neutral-100)}.bg-primary-50{background-color:var(--color-primary-50)}.bg-rose-50{background-color:var(--color-rose-50)}.bg-violet-50{background-color:var(--color-violet-50)}.bg-white{background-color:var(--color-white)}.bg-yellow-50{background-color:var(--color-yellow-50)}.p-2{padding:calc(var(--spacing) * 2)}.p-5{padding:calc(var(--spacing) * 5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-12{padding-block:calc(var(--spacing) * 12)}.pt-0\.5{padding-top:calc(var(--spacing) * .5)}.pt-16{padding-top:calc(var(--spacing) * 16)}.pb-12{padding-bottom:calc(var(--spacing) * 12)}.pl-4{padding-left:calc(var(--spacing) * 4)}.text-center{text-align:center}.font-serif{font-family:var(--font-serif)}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.text-amber-700{color:var(--color-amber-700)}.text-blue-700{color:var(--color-blue-700)}.text-emerald-700{color:var(--color-emerald-700)}.text-green-700{color:var(--color-green-700)}.text-neutral-400{color:var(--color-neutral-400)}.text-neutral-500{color:var(--color-neutral-500)}.text-neutral-600{color:var(--color-neutral-600)}.text-neutral-700{color:var(--color-neutral-700)}.text-neutral-900{color:var(--color-neutral-900)}.text-primary-600{color:var(--color-primary-600)}.text-primary-700{color:var(--color-primary-700)}.text-rose-700{color:var(--color-rose-700)}.text-violet-700{color:var(--color-violet-700)}.text-yellow-700{color:var(--color-yellow-700)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media(hover:hover){.group-hover\:text-primary-600:is(:where(.group):hover *){color:var(--color-primary-600)}.hover\:border-neutral-200:hover{border-color:var(--color-neutral-200)}.hover\:text-neutral-600:hover{color:var(--color-neutral-600)}.hover\:text-neutral-900:hover{color:var(--color-neutral-900)}.hover\:text-primary-600:hover{color:var(--color-primary-600)}.hover\:text-primary-700:hover{color:var(--color-primary-700)}}@media(min-width:40rem){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:48rem){.md\:flex{display:flex}.md\:hidden{display:none}.md\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.md\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}}.dark\:block:where(.dark,.dark *){display:block}.dark\:hidden:where(.dark,.dark *){display:none}.dark\:border-neutral-700:where(.dark,.dark *){border-color:var(--color-neutral-700)}.dark\:border-neutral-800:where(.dark,.dark *){border-color:var(--color-neutral-800)}.dark\:bg-amber-900\/30:where(.dark,.dark *){background-color:#7b33064d}@supports (color:color-mix(in lab,red,red)){.dark\:bg-amber-900\/30:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-amber-900) 30%,transparent)}}.dark\:bg-blue-900\/30:where(.dark,.dark *){background-color:#1c398e4d}@supports (color:color-mix(in lab,red,red)){.dark\:bg-blue-900\/30:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-blue-900) 30%,transparent)}}.dark\:bg-emerald-900\/30:where(.dark,.dark *){background-color:#004e3b4d}@supports (color:color-mix(in lab,red,red)){.dark\:bg-emerald-900\/30:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-emerald-900) 30%,transparent)}}.dark\:bg-green-900\/30:where(.dark,.dark *){background-color:#0d542b4d}@supports (color:color-mix(in lab,red,red)){.dark\:bg-green-900\/30:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-green-900) 30%,transparent)}}.dark\:bg-neutral-800:where(.dark,.dark *){background-color:var(--color-neutral-800)}.dark\:bg-neutral-900:where(.dark,.dark *){background-color:var(--color-neutral-900)}.dark\:bg-primary-900\/30:where(.dark,.dark *){background-color:#364fc74d}@supports (color:color-mix(in lab,red,red)){.dark\:bg-primary-900\/30:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-primary-900) 30%,transparent)}}.dark\:bg-rose-900\/30:where(.dark,.dark *){background-color:#8b08364d}@supports (color:color-mix(in lab,red,red)){.dark\:bg-rose-900\/30:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-rose-900) 30%,transparent)}}.dark\:bg-violet-900\/30:where(.dark,.dark *){background-color:#4d179a4d}@supports (color:color-mix(in lab,red,red)){.dark\:bg-violet-900\/30:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-violet-900) 30%,transparent)}}.dark\:bg-yellow-900\/30:where(.dark,.dark *){background-color:#733e0a4d}@supports (color:color-mix(in lab,red,red)){.dark\:bg-yellow-900\/30:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-yellow-900) 30%,transparent)}}.dark\:text-amber-400:where(.dark,.dark *){color:var(--color-amber-400)}.dark\:text-blue-400:where(.dark,.dark *){color:var(--color-blue-400)}.dark\:text-emerald-400:where(.dark,.dark *){color:var(--color-emerald-400)}.dark\:text-green-400:where(.dark,.dark *){color:var(--color-green-400)}.dark\:text-neutral-100:where(.dark,.dark *){color:var(--color-neutral-100)}.dark\:text-neutral-300:where(.dark,.dark *){color:var(--color-neutral-300)}.dark\:text-neutral-400:where(.dark,.dark *){color:var(--color-neutral-400)}.dark\:text-neutral-500:where(.dark,.dark *){color:var(--color-neutral-500)}.dark\:text-primary-400:where(.dark,.dark *){color:var(--color-primary-400)}.dark\:text-rose-400:where(.dark,.dark *){color:var(--color-rose-400)}.dark\:text-violet-400:where(.dark,.dark *){color:var(--color-violet-400)}.dark\:text-yellow-400:where(.dark,.dark *){color:var(--color-yellow-400)}@media(hover:hover){.dark\:group-hover\:text-primary-400:where(.dark,.dark *):is(:where(.group):hover *){color:var(--color-primary-400)}.dark\:hover\:border-neutral-700:where(.dark,.dark *):hover{border-color:var(--color-neutral-700)}.dark\:hover\:text-neutral-100:where(.dark,.dark *):hover{color:var(--color-neutral-100)}.dark\:hover\:text-neutral-300:where(.dark,.dark *):hover{color:var(--color-neutral-300)}.dark\:hover\:text-primary-300:where(.dark,.dark *):hover{color:var(--color-primary-300)}.dark\:hover\:text-primary-400:where(.dark,.dark *):hover{color:var(--color-primary-400)}}}html{scroll-behavior:smooth}body{background-color:var(--color-white);font-family:var(--font-sans);color:var(--color-neutral-800);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body:where(.dark,.dark *){background-color:var(--color-neutral-900);color:var(--color-neutral-200)}body{font-feature-settings:"cv02","cv03","cv04","cv11"}.prose{--tw-leading:var(--leading-relaxed);max-width:none;line-height:var(--leading-relaxed);color:var(--color-neutral-700)}.prose:where(.dark,.dark *){color:var(--color-neutral-300)}.prose h1{margin-top:calc(var(--spacing) * 10);margin-bottom:calc(var(--spacing) * 4);font-family:var(--font-serif);font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height));--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);color:var(--color-neutral-900)}.prose h1:where(.dark,.dark *){color:var(--color-neutral-100)}.prose h2{margin-top:calc(var(--spacing) * 8);margin-bottom:calc(var(--spacing) * 3);font-family:var(--font-serif);font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--color-neutral-900)}.prose h2:where(.dark,.dark *){color:var(--color-neutral-100)}.prose h3{margin-top:calc(var(--spacing) * 6);margin-bottom:calc(var(--spacing) * 2);font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--color-neutral-800)}.prose h3:where(.dark,.dark *){color:var(--color-neutral-200)}.prose p{margin-bottom:calc(var(--spacing) * 4);--tw-leading:calc(var(--spacing) * 7);line-height:calc(var(--spacing) * 7)}.prose a{color:var(--color-primary-600);text-decoration-line:underline;-webkit-text-decoration-color:var(--color-primary-300);text-decoration-color:var(--color-primary-300);text-underline-offset:2px;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media(hover:hover){.prose a:hover{-webkit-text-decoration-color:var(--color-primary-600);text-decoration-color:var(--color-primary-600)}}.prose a:where(.dark,.dark *){color:var(--color-primary-400)}@media(hover:hover){.prose a:where(.dark,.dark *):hover{-webkit-text-decoration-color:var(--color-primary-400);text-decoration-color:var(--color-primary-400)}}.prose ul{margin-bottom:calc(var(--spacing) * 4);list-style-type:disc}:where(.prose ul>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}.prose ul{padding-left:calc(var(--spacing) * 6)}.prose ol{margin-bottom:calc(var(--spacing) * 4);list-style-type:decimal}:where(.prose ol>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}.prose ol{padding-left:calc(var(--spacing) * 6)}.prose li{--tw-leading:calc(var(--spacing) * 7);line-height:calc(var(--spacing) * 7)}.prose blockquote{margin-block:calc(var(--spacing) * 4);border-left-style:var(--tw-border-style);border-left-width:4px;border-color:var(--color-primary-300);padding-left:calc(var(--spacing) * 4);color:var(--color-neutral-600);font-style:italic}.prose blockquote:where(.dark,.dark *){border-color:var(--color-primary-600);color:var(--color-neutral-400)}.prose code{background-color:var(--color-neutral-100);padding-inline:calc(var(--spacing) * 1.5);padding-block:calc(var(--spacing) * .5);font-family:var(--font-mono);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--color-primary-700);border-radius:.25rem}.prose code:where(.dark,.dark *){background-color:var(--color-neutral-800);color:var(--color-primary-300)}.prose pre{margin-block:calc(var(--spacing) * 6);border-radius:var(--radius-lg);background-color:var(--color-neutral-900);padding:calc(var(--spacing) * 4);color:var(--color-neutral-100);overflow-x:auto}.prose pre:where(.dark,.dark *){background-color:var(--color-neutral-800)}.prose pre code{padding:calc(var(--spacing) * 0);color:inherit;background-color:#0000;border-radius:0}.prose img{margin-block:calc(var(--spacing) * 6);border-radius:var(--radius-lg)}.prose hr{margin-block:calc(var(--spacing) * 8);border-color:var(--color-neutral-200)}.prose hr:where(.dark,.dark *){border-color:var(--color-neutral-700)}.prose table{margin-block:calc(var(--spacing) * 6);border-collapse:collapse;width:100%}.prose th{border-bottom-style:var(--tw-border-style);border-bottom-width:2px;border-color:var(--color-neutral-200);padding:calc(var(--spacing) * 2);text-align:left;--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--color-neutral-900)}.prose th:where(.dark,.dark *){border-color:var(--color-neutral-700);color:var(--color-neutral-100)}.prose td{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-neutral-100);padding:calc(var(--spacing) * 2)}.prose td:where(.dark,.dark *){border-color:var(--color-neutral-800)}@keyframes fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.5s ease-out fade-in}.animate-fade-in-delay{animation:.5s ease-out .15s both fade-in}.animate-fade-in-delay-2{animation:.5s ease-out .3s both fade-in}@media(min-width:1280px){.site-nav,.site-content{max-width:63.5rem}}.blog-layout-wrapper{max-width:48rem;margin:0 auto}@media(min-width:1280px){.blog-layout-wrapper{grid-template-columns:48rem 14rem;gap:1.5rem;width:63.5rem;max-width:none;margin-left:auto;margin-right:auto;display:grid}}.blog-toc-sidebar{display:none}@media(min-width:1280px){.blog-toc-sidebar{padding-top:3rem;display:block}}.blog-toc{max-width:14rem;position:sticky;top:2rem}.blog-toc-title{margin-bottom:calc(var(--spacing) * 3);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider);color:var(--color-neutral-400);text-transform:uppercase}.blog-toc-title:where(.dark,.dark *){color:var(--color-neutral-500)}.blog-toc-list{margin:0;padding:0;list-style:none;position:relative}.blog-toc-list:before{content:"";background:var(--color-neutral-200);border-radius:1px;width:2px;position:absolute;top:0;bottom:0;left:0}.dark .blog-toc-list:before{background:var(--color-neutral-700)}.toc-link{color:var(--color-neutral-400);padding:.3rem 0 .3rem .875rem;font-size:.875rem;line-height:1.4;text-decoration:none;transition:color .2s,transform .2s;display:block;position:relative}.dark .toc-link{color:var(--color-neutral-500)}.toc-link:hover{color:var(--color-neutral-700);transform:translate(2px)}.dark .toc-link:hover{color:var(--color-neutral-300)}.toc-link-h3{padding-left:1.5rem}.toc-active{color:var(--nav-accent,var(--color-primary-600));font-weight:500;transform:translate(2px)}.dark .toc-active{color:var(--nav-accent-dark,var(--color-primary-400))}.toc-progress-thumb{background:var(--nav-accent,var(--color-primary-500));width:6px;box-shadow:0 0 10px var(--nav-accent,#5c7cfa),0 0 4px var(--nav-accent,#5c7cfa);border-radius:3px;position:absolute;left:-2px}@supports (color:color-mix(in lab,red,red)){.toc-progress-thumb{box-shadow:0 0 10px color-mix(in srgb,var(--nav-accent,var(--color-primary-500)) 50%,transparent),0 0 4px color-mix(in srgb,var(--nav-accent,var(--color-primary-500)) 30%,transparent)}}.toc-progress-thumb{pointer-events:none;z-index:1;transition:top .15s,height .15s}.dark .toc-progress-thumb{background:var(--nav-accent-dark,var(--color-primary-400));box-shadow:0 0 10px var(--nav-accent-dark,#748ffc),0 0 4px var(--nav-accent-dark,#748ffc)}@supports (color:color-mix(in lab,red,red)){.dark .toc-progress-thumb{box-shadow:0 0 10px color-mix(in srgb,var(--nav-accent-dark,var(--color-primary-400)) 50%,transparent),0 0 4px color-mix(in srgb,var(--nav-accent-dark,var(--color-primary-400)) 30%,transparent)}}.pagefind-ui{--pagefind-ui-scale:.9;--pagefind-ui-primary:var(--color-primary-600);--pagefind-ui-text:var(--color-neutral-700);--pagefind-ui-background:var(--color-neutral-50);--pagefind-ui-border:var(--color-neutral-200);--pagefind-ui-tag:var(--color-neutral-100);--pagefind-ui-border-width:1px;--pagefind-ui-border-radius:8px;--pagefind-ui-image-border-radius:8px;--pagefind-ui-font:var(--font-sans)}.pagefind-group-heading{font-family:var(--font-serif);font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);--tw-tracking:var(--tracking-normal);letter-spacing:var(--tracking-normal);color:var(--color-neutral-900)}@media(min-width:48rem){.pagefind-group-heading{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}}.pagefind-group-heading:where(.dark,.dark *){color:var(--color-neutral-100)}.pagefind-group-heading{border-left:4px solid var(--color-neutral-300);margin:1.25rem 0 .5rem;padding:.25rem 0 .25rem .75rem;list-style:none}.pagefind-group-heading-first{margin-top:.25rem}.dark .pagefind-group-heading{border-left-color:var(--color-neutral-700)}.pagefind-group-heading-posts{border-left-color:var(--color-blue-500,#3b82f6)}.dark .pagefind-group-heading-posts{border-left-color:var(--color-blue-400,#60a5fa)}.pagefind-group-heading-publications{border-left-color:var(--color-amber-500,#f59e0b)}.dark .pagefind-group-heading-publications{border-left-color:var(--color-amber-400,#fbbf24)}.pagefind-group-heading-projects{border-left-color:var(--color-emerald-500,#10b981)}.dark .pagefind-group-heading-projects{border-left-color:var(--color-emerald-400,#34d399)}.pagefind-ui__filter-panel-label,.pagefind-ui__filter-panel{display:none!important}.dark .pagefind-ui{--pagefind-ui-primary:var(--color-primary-400);--pagefind-ui-text:var(--color-neutral-300);--pagefind-ui-background:var(--color-neutral-900);--pagefind-ui-border:var(--color-neutral-800);--pagefind-ui-tag:var(--color-neutral-800)}.pagefind-ui.pagefind-ui--reset mark,.pagefind-ui mark,.pagefind-ui .pagefind-highlight{background:#cfeefe!important}@supports (color:color-mix(in lab,red,red)){.pagefind-ui.pagefind-ui--reset mark,.pagefind-ui mark,.pagefind-ui .pagefind-highlight{background:color-mix(in srgb,var(--color-sky-200) 68%,white)!important}}.pagefind-ui.pagefind-ui--reset mark,.pagefind-ui mark,.pagefind-ui .pagefind-highlight{border:1px solid #77d4ff8c;color:var(--color-sky-900)!important}@supports (color:color-mix(in lab,red,red)){.pagefind-ui.pagefind-ui--reset mark,.pagefind-ui mark,.pagefind-ui .pagefind-highlight{border:1px solid color-mix(in srgb,var(--color-sky-300) 55%,transparent)}}.pagefind-ui.pagefind-ui--reset mark,.pagefind-ui mark,.pagefind-ui .pagefind-highlight{border-radius:.25rem;padding:0 .12em}.dark .pagefind-ui.pagefind-ui--reset mark,.dark .pagefind-ui mark,.dark .pagefind-ui .pagefind-highlight{background:#1b4c62!important}@supports (color:color-mix(in lab,red,red)){.dark .pagefind-ui.pagefind-ui--reset mark,.dark .pagefind-ui mark,.dark .pagefind-ui .pagefind-highlight{background:color-mix(in srgb,var(--color-sky-500) 30%,var(--color-neutral-800))!important}}.dark .pagefind-ui.pagefind-ui--reset mark,.dark .pagefind-ui mark,.dark .pagefind-ui .pagefind-highlight{border-color:#00bcfe8c;color:var(--color-sky-100)!important}@supports (color:color-mix(in lab,red,red)){.dark .pagefind-ui.pagefind-ui--reset mark,.dark .pagefind-ui mark,.dark .pagefind-ui .pagefind-highlight{border-color:color-mix(in srgb,var(--color-sky-400) 55%,transparent)}}.pagefind-ui__result.result-type-posts mark,.pagefind-ui__result.result-type-posts .pagefind-highlight{background:#d3e6ff!important}@supports (color:color-mix(in lab,red,red)){.pagefind-ui__result.result-type-posts mark,.pagefind-ui__result.result-type-posts .pagefind-highlight{background:color-mix(in srgb,var(--color-blue-200) 68%,white)!important}}.pagefind-ui__result.result-type-posts mark,.pagefind-ui__result.result-type-posts .pagefind-highlight{color:var(--color-blue-900)!important;border-color:#90c5ff8c!important}@supports (color:color-mix(in lab,red,red)){.pagefind-ui__result.result-type-posts mark,.pagefind-ui__result.result-type-posts .pagefind-highlight{border-color:color-mix(in srgb,var(--color-blue-300) 55%,transparent)!important}}.dark .pagefind-ui__result.result-type-posts mark,.dark .pagefind-ui__result.result-type-posts .pagefind-highlight{background:#294167!important}@supports (color:color-mix(in lab,red,red)){.dark .pagefind-ui__result.result-type-posts mark,.dark .pagefind-ui__result.result-type-posts .pagefind-highlight{background:color-mix(in srgb,var(--color-blue-500) 30%,var(--color-neutral-800))!important}}.dark .pagefind-ui__result.result-type-posts mark,.dark .pagefind-ui__result.result-type-posts .pagefind-highlight{color:var(--color-blue-100)!important;border-color:#54a2ff8c!important}@supports (color:color-mix(in lab,red,red)){.dark .pagefind-ui__result.result-type-posts mark,.dark .pagefind-ui__result.result-type-posts .pagefind-highlight{border-color:color-mix(in srgb,var(--color-blue-400) 55%,transparent)!important}}.pagefind-ui__result.result-type-publications mark,.pagefind-ui__result.result-type-publications .pagefind-highlight{background:#feeeac!important}@supports (color:color-mix(in lab,red,red)){.pagefind-ui__result.result-type-publications mark,.pagefind-ui__result.result-type-publications .pagefind-highlight{background:color-mix(in srgb,var(--color-amber-200) 68%,white)!important}}.pagefind-ui__result.result-type-publications mark,.pagefind-ui__result.result-type-publications .pagefind-highlight{color:var(--color-amber-900)!important;border-color:#ffd2368c!important}@supports (color:color-mix(in lab,red,red)){.pagefind-ui__result.result-type-publications mark,.pagefind-ui__result.result-type-publications .pagefind-highlight{border-color:color-mix(in srgb,var(--color-amber-300) 55%,transparent)!important}}.dark .pagefind-ui__result.result-type-publications mark,.dark .pagefind-ui__result.result-type-publications .pagefind-highlight{background:#65491b!important}@supports (color:color-mix(in lab,red,red)){.dark .pagefind-ui__result.result-type-publications mark,.dark .pagefind-ui__result.result-type-publications .pagefind-highlight{background:color-mix(in srgb,var(--color-amber-500) 30%,var(--color-neutral-800))!important}}.dark .pagefind-ui__result.result-type-publications mark,.dark .pagefind-ui__result.result-type-publications .pagefind-highlight{color:var(--color-amber-100)!important;border-color:#fcbb008c!important}@supports (color:color-mix(in lab,red,red)){.dark .pagefind-ui__result.result-type-publications mark,.dark .pagefind-ui__result.result-type-publications .pagefind-highlight{border-color:color-mix(in srgb,var(--color-amber-400) 55%,transparent)!important}}.pagefind-ui__result.result-type-projects mark,.pagefind-ui__result.result-type-projects .pagefind-highlight{background:#c1f7df!important}@supports (color:color-mix(in lab,red,red)){.pagefind-ui__result.result-type-projects mark,.pagefind-ui__result.result-type-projects .pagefind-highlight{background:color-mix(in srgb,var(--color-emerald-200) 68%,white)!important}}.pagefind-ui__result.result-type-projects mark,.pagefind-ui__result.result-type-projects .pagefind-highlight{color:var(--color-emerald-900)!important;border-color:#5ee9b58c!important}@supports (color:color-mix(in lab,red,red)){.pagefind-ui__result.result-type-projects mark,.pagefind-ui__result.result-type-projects .pagefind-highlight{border-color:color-mix(in srgb,var(--color-emerald-300) 55%,transparent)!important}}.dark .pagefind-ui__result.result-type-projects mark,.dark .pagefind-ui__result.result-type-projects .pagefind-highlight{background:#1b5341!important}@supports (color:color-mix(in lab,red,red)){.dark .pagefind-ui__result.result-type-projects mark,.dark .pagefind-ui__result.result-type-projects .pagefind-highlight{background:color-mix(in srgb,var(--color-emerald-500) 30%,var(--color-neutral-800))!important}}.dark .pagefind-ui__result.result-type-projects mark,.dark .pagefind-ui__result.result-type-projects .pagefind-highlight{color:var(--color-emerald-100)!important;border-color:#00d2948c!important}@supports (color:color-mix(in lab,red,red)){.dark .pagefind-ui__result.result-type-projects mark,.dark .pagefind-ui__result.result-type-projects .pagefind-highlight{border-color:color-mix(in srgb,var(--color-emerald-400) 55%,transparent)!important}}.pagefind-ui__result-inner{flex-wrap:wrap!important}.pagefind-ui__result-title{justify-content:space-between;align-items:baseline;gap:1rem;flex-basis:100%!important;width:100%!important;display:flex!important}.pagefind-title-wrapper{flex:1;min-width:0}.pagefind-result-date{color:var(--color-neutral-400);white-space:nowrap;flex-shrink:0;font-size:.8125rem;font-weight:400}.dark .pagefind-result-date{color:var(--color-neutral-500)}.tag-base{padding-inline:calc(var(--spacing) * 2.5);padding-block:calc(var(--spacing) * .5);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);border-radius:3.40282e38px;align-items:center;display:inline-flex}.tag-default{background-color:var(--color-neutral-100);color:var(--color-neutral-600)}.tag-default:where(.dark,.dark *){background-color:var(--color-neutral-800);color:var(--color-neutral-400)}.tag-blog{background:var(--color-primary-100)!important;color:var(--color-primary-700)!important}.dark .tag-blog{background:rgb(from var(--color-primary-900) r g b / .3)!important;color:var(--color-primary-300)!important}.tag-notes{background-color:var(--color-emerald-100);color:var(--color-emerald-700);background:var(--color-emerald-100,#d1fae5)!important;color:var(--color-emerald-700,#047857)!important}.dark .tag-notes{background:rgb(from var(--color-emerald-900,#064e3b) r g b / .3)!important;color:var(--color-emerald-300,#6ee7b7)!important}.tag-thoughts{background:var(--color-purple-100,#f3e8ff)!important;color:var(--color-purple-700,#7e22ce)!important}.dark .tag-thoughts{background:rgb(from var(--color-purple-900,#581c87) r g b / .3)!important;color:var(--color-purple-300,#d8b4fe)!important}.tag-pinned{background:var(--color-amber-100,#fef3c7)!important;color:var(--color-amber-700,#b45309)!important}.dark .tag-pinned{background:rgb(from var(--color-amber-900,#78350f) r g b / .3)!important;color:var(--color-amber-300,#fcd34d)!important}.theme-default{--nav-accent:var(--color-primary-600,#2563eb);--nav-accent-dark:var(--color-primary-400,#60a5fa)}.theme-posts{--nav-accent:#2563eb;--nav-accent-dark:#60a5fa}.theme-publications{--nav-accent:#d97706;--nav-accent-dark:#fbbf24}.theme-projects{--nav-accent:#059669;--nav-accent-dark:#34d399}.nav-brand{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--color-neutral-900);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.nav-brand:where(.dark,.dark *){color:var(--color-neutral-100)}.nav-brand:hover{color:var(--nav-accent)}.dark .nav-brand:hover{color:var(--nav-accent-dark)}.nav-link{color:var(--color-neutral-600);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.nav-link:where(.dark,.dark *){color:var(--color-neutral-400)}.nav-link:hover{color:var(--nav-accent)}.dark .nav-link:hover{color:var(--nav-accent-dark)}.nav-link-active{color:var(--nav-accent)}.dark .nav-link-active{color:var(--nav-accent-dark)}.nav-icon{color:var(--color-neutral-400);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.nav-icon:where(.dark,.dark *){color:var(--color-neutral-500)}.nav-icon:hover{color:var(--nav-accent)}.dark .nav-icon:hover{color:var(--nav-accent-dark)}.page-title-icon{color:var(--nav-accent)}.dark .page-title-icon{color:var(--nav-accent-dark)}.accent-text{color:var(--nav-accent)}.dark .accent-text{color:var(--nav-accent-dark)}.accent-hover:hover{color:var(--nav-accent)}.dark .accent-hover:hover{color:var(--nav-accent-dark)}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}
