/*!tailwindcss v4.1.18 | MIT License | https://tailwindcss.com*/@layer properties;@layer theme,base,components,utilities;@layer theme{:root,:host{--font-sans:"Figtree", "Jost", "IBM Plex Sans", sans-serif;--font-mono:"Source Code Pro", "ui-monospace", "Cascadia Code", "Menlo", "Consolas", "DejaVu Sans Mono", "monospace";--color-red-100:oklch(93.6% 0.032 17.717);--color-red-400:oklch(70.4% 0.191 22.216);--color-red-600:oklch(57.7% 0.245 27.325);--color-red-700:oklch(50.5% 0.213 27.518);--color-orange-100:oklch(95.4% 0.038 75.164);--color-orange-200:oklch(90.1% 0.076 70.697);--color-orange-300:oklch(83.7% 0.128 66.29);--color-orange-500:oklch(70.5% 0.213 47.604);--color-orange-600:oklch(64.6% 0.222 41.116);--color-yellow-100:oklch(97.3% 0.071 103.193);--color-yellow-200:oklch(94.5% 0.129 101.54);--color-yellow-300:oklch(90.5% 0.182 98.111);--color-yellow-400:oklch(85.2% 0.199 91.936);--color-yellow-500:oklch(79.5% 0.184 86.047);--color-yellow-600:oklch(68.1% 0.162 75.834);--color-yellow-700:oklch(55.4% 0.135 66.442);--color-green-400:oklch(79.2% 0.209 151.711);--color-green-500:oklch(72.3% 0.219 149.579);--color-green-600:oklch(62.7% 0.194 149.214);--color-purple-200:oklch(90.2% 0.063 306.703);--color-purple-500:oklch(62.7% 0.265 303.9);--color-purple-700:oklch(49.6% 0.265 301.924);--color-slate-50:oklch(98.4% 0.003 247.858);--color-slate-100:oklch(96.8% 0.007 247.896);--color-slate-200:oklch(92.9% 0.013 255.508);--color-slate-300:oklch(86.9% 0.022 252.894);--color-slate-400:oklch(70.4% 0.04 256.788);--color-slate-500:oklch(55.4% 0.046 257.417);--color-slate-600:oklch(44.6% 0.043 257.281);--color-slate-700:oklch(37.2% 0.044 257.287);--color-slate-800:oklch(27.9% 0.041 260.031);--color-slate-900:oklch(20.8% 0.042 265.755);--color-black:#000;--color-white:#fff;--spacing:0.25rem;--container-2xl:42rem;--container-3xl:48rem;--text-xs:0.75rem;--text-xs--line-height:calc(1 / 0.75);--text-sm:0.875rem;--text-sm--line-height:calc(1.25 / 0.875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--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:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-9xl:8rem;--text-9xl--line-height:1;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--leading-tight:1.25;--leading-relaxed:1.625;--radius-md:0.375rem;--radius-lg:0.5rem;--aspect-video:16 / 9;--default-transition-duration:150ms;--default-transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--font-title:"Bricolage Grotesque", "Fraunces", "IBM Plex Serif", serif;--color-hbg:#1c2b33;--color-hbg-dark:#152027;--color-ht-lightest:var(--color-slate-800);--color-ht-lighter:var(--color-slate-700);--color-ht-light:var(--color-slate-500);--color-ht:var(--color-slate-300);--color-ht-dark:var(--color-slate-200);--color-hc-lighter:var(--color-yellow-200);--color-hc:var(--color-yellow-300);--color-hc-dark:var(--color-yellow-500);--color-hc2-dark:var(--color-purple-700)}}@layer base{::-webkit-file-upload-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}*,::after,::before,::backdrop,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;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{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}:-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{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}::-webkit-file-upload-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:initial;opacity:1}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:initial;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{-webkit-padding-start:20px;padding-inline-start:20px}::-webkit-file-upload-button{-webkit-margin-end:4px;margin-inline-end:4px}::file-selector-button{-webkit-margin-end:4px;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)){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,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}::-webkit-file-upload-button{-webkit-appearance:button;appearance:button}button,input:where([type=button],[type=reset],[type=submit]),::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.top-4{top:calc(var(--spacing) * 4)}.top-5{top:calc(var(--spacing) * 5)}.top-7{top:calc(var(--spacing) * 7)}.right-0{right:calc(var(--spacing) * 0)}.right-2{right:calc(var(--spacing) * 2)}.left-1\/2{left:calc(1/2 * 100%)}.left-\[-4px\]{left:-4px}.z-50{z-index:50}.container{width:100%;@media(width >= 40rem){max-width: 40rem;}@media(width >= 48rem){max-width: 48rem;}@media(width >= 64rem){max-width: 64rem;}@media(width >= 80rem){max-width: 80rem;}@media(width >= 96rem){max-width: 96rem;}}.m-8{margin:calc(var(--spacing) * 8)}.m-35{margin:calc(var(--spacing) * 35)}.m-1437{margin:calc(var(--spacing) * 1437)}.m-2225{margin:calc(var(--spacing) * 2225)}.mx-auto{margin-inline:auto}.my-4{margin-block:calc(var(--spacing) * 4)}.my-8{margin-block:calc(var(--spacing) * 8)}.my-12{margin-block:calc(var(--spacing) * 12)}.ms-3\.5{-webkit-margin-start:calc(var(--spacing) * 3.5);margin-inline-start:calc(var(--spacing) * 3.5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\!{margin-top:calc(var(--spacing) * 2)!important}.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-8{margin-top:calc(var(--spacing) * 8)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mt-12{margin-top:calc(var(--spacing) * 12)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mr-20{margin-right:calc(var(--spacing) * 20)}.mb-0\.5{margin-bottom:calc(var(--spacing) * .5)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.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)}.-ml-4{margin-left:calc(var(--spacing) * -4)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-14{margin-left:calc(var(--spacing) * 14)}.line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.aspect-video{aspect-ratio:var(--aspect-video)}.h-3{height:calc(var(--spacing) * 3)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-12{height:calc(var(--spacing) * 12)}.h-15{height:calc(var(--spacing) * 15)}.h-16{height:calc(var(--spacing) * 16)}.h-24{height:calc(var(--spacing) * 24)}.h-\[40px\]{height:40px}.h-\[52px\]{height:52px}.h-auto{height:auto}.h-full{height:100%}.max-h-\[75vh\]{max-height:75vh}.min-h-\[60vh\]{min-height:60vh}.min-h-screen{min-height:100vh}.w-3{width:calc(var(--spacing) * 3)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-12{width:calc(var(--spacing) * 12)}.w-15{width:calc(var(--spacing) * 15)}.w-16{width:calc(var(--spacing) * 16)}.w-24{width:calc(var(--spacing) * 24)}.w-\[40px\]{width:40px}.w-fit{width:-webkit-fit-content;width:fit-content}.w-full{width:100%}.w-screen{width:100vw}.max-w-2xl{max-width:var(--container-2xl)}.max-w-\[25vw\]{max-width:25vw}.max-w-\[75vw\]{max-width:75vw}.max-w-none{max-width:none}.min-w-\[200px\]{min-width:200px}.flex-1{flex:1}.flex-none{flex:none}.flex-shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x:calc(calc(1/2 * 100%) * -1);translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-x-2{--tw-translate-x:calc(var(--spacing) * -2);translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1/2 * 100%) * -1);translate:var(--tw-translate-x)var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.resize{resize:both}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.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}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:calc(var(--spacing) * 1)}.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)}.space-y-0\.5{ :where(& > :not(:last-child)) { --tw-space-y-reverse: 0; -webkit-margin-before: calc(calc(var(--spacing) * 0.5) * var(--tw-space-y-reverse)); margin-block-start: calc(calc(var(--spacing) * 0.5) * var(--tw-space-y-reverse)); -webkit-margin-after: calc(calc(var(--spacing) * 0.5) * calc(1 - var(--tw-space-y-reverse))); margin-block-end: calc(calc(var(--spacing) * 0.5) * calc(1 - var(--tw-space-y-reverse))); }}.space-y-2{ :where(& > :not(:last-child)) { --tw-space-y-reverse: 0; -webkit-margin-before: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse)); margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse)); -webkit-margin-after: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse))); margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse))); }}.space-y-3{ :where(& > :not(:last-child)) { --tw-space-y-reverse: 0; -webkit-margin-before: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse)); margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse)); -webkit-margin-after: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse))); margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse))); }}.space-y-4{ :where(& > :not(:last-child)) { --tw-space-y-reverse: 0; -webkit-margin-before: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse)); margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse)); -webkit-margin-after: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse))); margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse))); }}.space-x-4{ :where(& > :not(:last-child)) { --tw-space-x-reverse: 0; -webkit-margin-start: calc(calc(var(--spacing) * 4) * var(--tw-space-x-reverse)); margin-inline-start: calc(calc(var(--spacing) * 4) * var(--tw-space-x-reverse)); -webkit-margin-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-x-reverse))); margin-inline-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-x-reverse))); }}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:calc(infinity * 1px)}.rounded-full\!{border-radius:calc(infinity * 1px)!important}.rounded-lg{border-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.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-hbg-dark{border-color:var(--color-hbg-dark)}.border-hc{border-color:var(--color-hc)}.border-ht-lighter{border-color:var(--color-ht-lighter)}.border-ht-lightest{border-color:var(--color-ht-lightest)}.border-red-400{border-color:var(--color-red-400)}.border-slate-200{border-color:var(--color-slate-200)}.border-slate-300{border-color:var(--color-slate-300)}.border-white{border-color:var(--color-white)}.border-yellow-400{border-color:var(--color-yellow-400)}.bg-hbg{background-color:var(--color-hbg)}.bg-hbg-dark{background-color:var(--color-hbg-dark)}.bg-hc-lighter{background-color:var(--color-hc-lighter)}.bg-red-100{background-color:var(--color-red-100)}.bg-slate-100{background-color:var(--color-slate-100)}.bg-slate-700{background-color:var(--color-slate-700)}.bg-slate-800{background-color:var(--color-slate-800)}.bg-transparent{background-color:initial}.bg-white{background-color:var(--color-white)}.bg-yellow-100{background-color:var(--color-yellow-100)}.bg-yellow-500{background-color:var(--color-yellow-500)}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-2{padding:calc(var(--spacing) * 2)}.p-6{padding:calc(var(--spacing) * 6)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.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-12{padding-block:calc(var(--spacing) * 12)}.ps-2{-webkit-padding-start:calc(var(--spacing) * 2);padding-inline-start:calc(var(--spacing) * 2)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pt-20{padding-top:calc(var(--spacing) * 20)}.pb-1{padding-bottom:calc(var(--spacing) * 1)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-8{padding-bottom:calc(var(--spacing) * 8)}.pb-12{padding-bottom:calc(var(--spacing) * 12)}.pl-4{padding-left:calc(var(--spacing) * 4)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-start{text-align:start}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.font-title{font-family:var(--font-title)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.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-9xl{font-size:var(--text-9xl);line-height:var(--tw-leading,var(--text-9xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--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-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.text-green-500{color:var(--color-green-500)}.text-green-600{color:var(--color-green-600)}.text-hbg-dark{color:var(--color-hbg-dark)}.text-hc-dark{color:var(--color-hc-dark)}.text-hc-lighter{color:var(--color-hc-lighter)}.text-ht{color:var(--color-ht)}.text-ht-dark{color:var(--color-ht-dark)}.text-ht-light{color:var(--color-ht-light)}.text-ht-lighter{color:var(--color-ht-lighter)}.text-red-600{color:var(--color-red-600)}.text-red-700{color:var(--color-red-700)}.text-slate-400{color:var(--color-slate-400)}.text-slate-500{color:var(--color-slate-500)}.text-slate-600{color:var(--color-slate-600)}.text-slate-700{color:var(--color-slate-700)}.text-slate-900{color:var(--color-slate-900)}.text-white{color:var(--color-white)}.text-yellow-700{color:var(--color-yellow-700)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.\!no-underline{-webkit-text-decoration-line:none!important;text-decoration-line:none!important}.no-underline{-webkit-text-decoration-line:none;text-decoration-line:none}.underline{-webkit-text-decoration-line:underline;text-decoration-line:underline}.decoration-ht-lightest{-webkit-text-decoration-color:var(--color-ht-lightest);text-decoration-color:var(--color-ht-lightest)}.decoration-dotted{-webkit-text-decoration-style:dotted;text-decoration-style:dotted}.placeholder-ht-light{&::placeholder { color:var(--color-ht-light); }}.opacity-20{opacity:20%}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-20{--tw-duration:20ms;transition-duration:20ms}.duration-150{--tw-duration:150ms;transition-duration:150ms}.duration-200{--tw-duration:200ms;transition-duration:200ms}.not-first\:mt-10{&:not(*:first-child) { margin-top:calc(var(--spacing) * 10); }}.group-hover\:underline{&:is(:where(.group):hover *) { @media (hover:hover) { -webkit-text-decoration-line:underline; text-decoration-line:underline; } }}.after\:absolute{&::after { content:var(--tw-content); position:absolute; }}.after\:bottom-0{&::after { content:var(--tw-content); bottom:calc(var(--spacing) * 0); }}.after\:left-0{&::after { content:var(--tw-content); left:calc(var(--spacing) * 0); }}.after\:w-1\/2{&::after { content:var(--tw-content); width:calc(1/2 * 100%); }}.after\:border-b-1{&::after { content:var(--tw-content); border-bottom-style:var(--tw-border-style); border-bottom-width:1px; }}.after\:border-ht-lightest{&::after { content:var(--tw-content); border-color:var(--color-ht-lightest); }}.after\:content-\[\'\'\]{&::after { --tw-content:''; content:var(--tw-content); }}.hover\:border{&:hover { @media (hover:hover) { border-style:var(--tw-border-style); border-width:1px; } }}.hover\:border-hc-lighter{&:hover { @media (hover:hover) { border-color:var(--color-hc-lighter); } }}.hover\:border-yellow-500{&:hover { @media (hover:hover) { border-color:var(--color-yellow-500); } }}.hover\:bg-hbg-dark{&:hover { @media (hover:hover) { background-color:var(--color-hbg-dark); } }}.hover\:bg-slate-100{&:hover { @media (hover:hover) { background-color:var(--color-slate-100); } }}.hover\:bg-slate-700{&:hover { @media (hover:hover) { background-color:var(--color-slate-700); } }}.hover\:bg-slate-800{&:hover { @media (hover:hover) { background-color:var(--color-slate-800); } }}.hover\:bg-white{&:hover { @media (hover:hover) { background-color:var(--color-white); } }}.hover\:bg-yellow-600{&:hover { @media (hover:hover) { background-color:var(--color-yellow-600); } }}.hover\:text-black{&:hover { @media (hover:hover) { color:var(--color-black); } }}.hover\:text-hc-lighter{&:hover { @media (hover:hover) { color:var(--color-hc-lighter); } }}.hover\:text-ht{&:hover { @media (hover:hover) { color:var(--color-ht); } }}.hover\:text-slate-700{&:hover { @media (hover:hover) { color:var(--color-slate-700); } }}.hover\:text-slate-900{&:hover { @media (hover:hover) { color:var(--color-slate-900); } }}.hover\:text-yellow-500{&:hover { @media (hover:hover) { color:var(--color-yellow-500); } }}.hover\:no-underline{&:hover { @media (hover:hover) { -webkit-text-decoration-line:none; text-decoration-line:none; } }}.hover\:underline{&:hover { @media (hover:hover) { -webkit-text-decoration-line:underline; text-decoration-line:underline; } }}.hover\:opacity-70{&:hover { @media (hover:hover) { opacity:70%; } }}.focus\:outline-none{&:focus { --tw-outline-style:none; outline-style:none; }}.sm\:h-\[200px\]{@media(width >= 40rem){height: 200px;}}.sm\:flex-row{@media(width >= 40rem){flex-direction: row;}}.md\:top-6{@media(width >= 48rem){top: calc(var(--spacing) * 6);}}.md\:top-6\.5{@media(width >= 48rem){top: calc(var(--spacing) * 6.5);}}.md\:right-5{@media(width >= 48rem){right: calc(var(--spacing) * 5);}}.md\:left-\[-10px\]{@media(width >= 48rem){left: -10px;}}.md\:mt-0{@media(width >= 48rem){margin-top: calc(var(--spacing) * 0);}}.md\:mt-20{@media(width >= 48rem){margin-top: calc(var(--spacing) * 20);}}.md\:mb-4{@media(width >= 48rem){margin-bottom: calc(var(--spacing) * 4);}}.md\:mb-10{@media(width >= 48rem){margin-bottom: calc(var(--spacing) * 10);}}.md\:block{@media(width >= 48rem){display: block;}}.md\:inline{@media(width >= 48rem){display: inline;}}.md\:h-10{@media(width >= 48rem){height: calc(var(--spacing) * 10);}}.md\:w-10{@media(width >= 48rem){width: calc(var(--spacing) * 10);}}.md\:max-w-none{@media(width >= 48rem){max-width: none;}}.md\:grid-cols-2{@media(width >= 48rem){grid-template-columns: repeat(2,minmax(0,1fr));}}.md\:items-start{@media(width >= 48rem){align-items: flex-start;}}.md\:justify-between{@media(width >= 48rem){justify-content: space-between;}}.md\:pt-1{@media(width >= 48rem){padding-top: calc(var(--spacing) * 1);}}.md\:pt-30{@media(width >= 48rem){padding-top: calc(var(--spacing) * 30);}}.md\:pb-6{@media(width >= 48rem){padding-bottom: calc(var(--spacing) * 6);}}.md\:text-4xl{@media(width >= 48rem){font-size: var(--text-4xl); line-height: var(--tw-leading,var(--text-4xl--line-height));}}.md\:text-lg{@media(width >= 48rem){font-size: var(--text-lg); line-height: var(--tw-leading,var(--text-lg--line-height));}}.md\:text-xl{@media(width >= 48rem){font-size: var(--text-xl); line-height: var(--tw-leading,var(--text-xl--line-height));}}.md\:font-bold{@media(width >= 48rem){--tw-font-weight: var(--font-weight-bold); font-weight: var(--font-weight-bold);}}.lg\:grid-cols-3{@media(width >= 64rem){grid-template-columns: repeat(3,minmax(0,1fr));}}.lg\:text-3xl{@media(width >= 64rem){font-size: var(--text-3xl); line-height: var(--tw-leading,var(--text-3xl--line-height));}}.lg\:text-lg{@media(width >= 64rem){font-size: var(--text-lg); line-height: var(--tw-leading,var(--text-lg--line-height));}}.dark\:border-slate-600{&:where(.dark,.dark *) { border-color:var(--color-slate-600); }}.dark\:border-slate-700{&:where(.dark,.dark *) { border-color:var(--color-slate-700); }}.dark\:bg-orange-500{&:where(.dark,.dark *) { background-color:var(--color-orange-500); }}.dark\:bg-slate-200{&:where(.dark,.dark *) { background-color:var(--color-slate-200); }}.dark\:bg-slate-800{&:where(.dark,.dark *) { background-color:var(--color-slate-800); }}.dark\:text-green-400{&:where(.dark,.dark *) { color:var(--color-green-400); }}.dark\:text-red-400{&:where(.dark,.dark *) { color:var(--color-red-400); }}.dark\:text-slate-200{&:where(.dark,.dark *) { color:var(--color-slate-200); }}.dark\:text-slate-300{&:where(.dark,.dark *) { color:var(--color-slate-300); }}.dark\:text-slate-400{&:where(.dark,.dark *) { color:var(--color-slate-400); }}.dark\:text-slate-500{&:where(.dark,.dark *) { color:var(--color-slate-500); }}.dark\:text-slate-900{&:where(.dark,.dark *) { color:var(--color-slate-900); }}.dark\:opacity-80{&:where(.dark,.dark *) { opacity:80%; }}.dark\:hover\:border-orange-500{&:where(.dark,.dark *) { &:hover { @media (hover:hover) { border-color:var(--color-orange-500); } } }}.dark\:hover\:bg-orange-600{&:where(.dark,.dark *) { &:hover { @media (hover:hover) { background-color:var(--color-orange-600); } } }}.dark\:hover\:bg-slate-300{&:where(.dark,.dark *) { &:hover { @media (hover:hover) { background-color:var(--color-slate-300); } } }}.dark\:hover\:bg-slate-800{&:where(.dark,.dark *) { &:hover { @media (hover:hover) { background-color:var(--color-slate-800); } } }}.dark\:hover\:text-orange-500{&:where(.dark,.dark *) { &:hover { @media (hover:hover) { color:var(--color-orange-500); } } }}}@font-face{font-family:fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/fraunces-normal.woff2)format('woff2');unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:fraunces;font-style:italic;font-weight:100 900;font-display:swap;src:url(/fonts/fraunces-italic.woff2)format('woff2');unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:figtree;font-style:normal;font-weight:300 900;font-display:swap;src:url(/fonts/figtree-normal.woff2)format('woff2');unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:figtree;font-style:italic;font-weight:300 900;font-display:swap;src:url(/fonts/figtree-italic.woff2)format('woff2');unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@media(prefers-color-scheme:dark){.dark{--color-hbg:#1c2b33;--color-hbg-dark:#152027;--color-ht-lightest:var(--color-slate-800);--color-ht-lighter:var(--color-slate-600);--color-ht-light:var(--color-slate-400);--color-ht:var(--color-slate-300);--color-ht-dark:var(--color-slate-200);--color-hc-lightest:var(--color-orange-100);--color-hc-lighter:var(--color-orange-200);--color-hc:var(--color-orange-300);--color-hc-dark:var(--color-orange-500)}}@layer base{html{scrollbar-gutter:stable both-edges}article{ :where(& > :not(:last-child)) { --tw-space-y-reverse: 0; -webkit-margin-before: calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse)); margin-block-start: calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse)); -webkit-margin-after: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse))); margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse))); } font-size: var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height));--tw-leading:var(--leading-tight);line-height:var(--leading-tight);color:var(--color-ht);@media(width >= 48rem){font-size: var(--text-2xl); line-height: var(--tw-leading,var(--text-2xl--line-height));}}article>p{margin-bottom:calc(var(--spacing) * 7);word-spacing:.05em}article p{overflow:hidden;--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);text-overflow:ellipsis}a{-webkit-text-decoration-line:underline;text-decoration-line:underline;-webkit-text-decoration-style:dotted;text-decoration-style:dotted;text-decoration-thickness:2px;text-underline-offset:4px;&:hover { @media (hover:hover) { color:var(--color-hc); } } &:hover { @media (hover:hover) { -webkit-text-decoration-line:none; text-decoration-line:none; } }}article a{color:var(--color-ht)}}@layer utilities{.blog-content-width{margin-inline:auto;width:85%;max-width:var(--container-3xl);min-width:333px}}.post-content hr{margin-top:calc(var(--spacing) * 6);border-color:var(--color-ht-lighter)}.post-content h1,.post-content h2,.post-content h3,.post-content h4,.post-content h5,.post-content h6{font-family:var(--font-title);--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.post-content h1{margin-top:calc(var(--spacing) * 2);font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height));@media(width >= 48rem){font-size: var(--text-3xl); line-height: var(--tw-leading,var(--text-3xl--line-height));}}.post-content h2{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height));@media(width >= 48rem){font-size: var(--text-2xl); line-height: var(--tw-leading,var(--text-2xl--line-height));}}.post-content h2+ul{margin-top:calc(var(--spacing) * -5)}.post-content h3{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height));@media(width >= 48rem){font-size: var(--text-xl); line-height: var(--tw-leading,var(--text-xl--line-height));}}.post-content h4{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);@media(width >= 48rem){font-size: var(--text-xl); line-height: var(--tw-leading,var(--text-xl--line-height));}}article a[href*='//']::after,a.external-link::after{margin-bottom:calc(var(--spacing) * .5);margin-left:calc(var(--spacing) * 0);@media(width >= 48rem){margin-bottom: calc(var(--spacing) * 2);}content:"";display:inline-block;width:.75rem;height:.75rem;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='5' stroke='black' class='w-6 h-6'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M4.5 19.5l15-15m0 0H8.25m11.25 0v11.25' /%3E%3C/svg%3E%0A");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='5' stroke='black' class='w-6 h-6'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M4.5 19.5l15-15m0 0H8.25m11.25 0v11.25' /%3E%3C/svg%3E%0A");-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;background-color:currentColor}h1.post-title a.external-link::after{margin-bottom:calc(var(--spacing) * 1);margin-left:calc(var(--spacing) * 0);@media(width >= 48rem){margin-bottom: calc(var(--spacing) * 2);}width:1rem;height:1rem}.post-content h1,.post-content h2,.post-content h3,.post-content h4,.post-content h5,.post-content h6{position:relative}.heading-anchor{margin-left:calc(var(--spacing) * 2);display:inline-block;--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal);color:var(--color-ht-lighter);-webkit-text-decoration-line:none;text-decoration-line:none;opacity:30%;transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:200ms;transition-duration:200ms;&:hover { @media (hover:hover) { color:var(--color-hc); } }}@media(hover:hover){.heading-anchor{opacity:0%}.post-content h1:hover .heading-anchor,.post-content h2:hover .heading-anchor,.post-content h3:hover .heading-anchor,.post-content h4:hover .heading-anchor,.post-content h5:hover .heading-anchor,.post-content h6:hover .heading-anchor{opacity:100%}}.post-content>ol,.post-content>ul{-webkit-margin-start:calc(var(--spacing) * 6);margin-inline-start:calc(var(--spacing) * 6);@media(width >= 48rem){-webkit-margin-start: calc(var(--spacing) * 8); margin-inline-start: calc(var(--spacing) * 8);}}.callout ol,.callout ul{-webkit-margin-start:calc(var(--spacing) * 1);margin-inline-start:calc(var(--spacing) * 1);@media(width >= 48rem){-webkit-margin-start: calc(var(--spacing) * 2); margin-inline-start: calc(var(--spacing) * 2);}}.post-content ol li,.post-content ul li{-webkit-margin-start:calc(var(--spacing) * 6);margin-inline-start:calc(var(--spacing) * 6)}.post-content ol li{list-style-type:decimal}.post-content ul li{list-style-type:disc}.post-content pre{overflow:auto;border-radius:var(--radius-md);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-black);padding:calc(var(--spacing) * 4)}.post-content .highlight pre code{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.post-content code{background-color:var(--color-hbg-dark);font-size:.8em;--tw-font-weight:550;font-weight:550}.post-content>*:not(figure.full-bleed){margin-inline:auto;width:85%;max-width:var(--container-3xl);min-width:333px}.post-content figure.full-bleed{width:100%;border-right-style:var(--tw-border-style);border-right-width:0;border-left-style:var(--tw-border-style);border-left-width:0}.post-content figure figcaption{padding-top:calc(var(--spacing) * 1);text-align:center;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);-webkit-text-decoration-line:none;text-decoration-line:none}.post-content *:not(figure.full-bleed) img{border-radius:var(--radius-md);border-style:var(--tw-border-style);border-width:4px;border-color:var(--color-black)}.post-content figure.full-bleed img{width:100%;border-top-style:var(--tw-border-style);border-top-width:4px;border-bottom-style:var(--tw-border-style);border-bottom-width:4px;border-color:var(--color-black)}.post-content figure img.borderless{border-style:var(--tw-border-style);border-width:0}.post-content .footnote-ref{-webkit-padding-start:calc(var(--spacing) * .5);padding-inline-start:calc(var(--spacing) * .5);--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);color:var(--color-ht-lighter);-webkit-text-decoration-line:none;text-decoration-line:none;&:hover { @media (hover:hover) { color:var(--color-ht-light); } }}.post-content .footnote-backref{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);color:var(--color-hc2-dark);-webkit-text-decoration-line:none;text-decoration-line:none;&:hover { @media (hover:hover) { color:var(--color-hc); } }}.post-content th{border-bottom-style:var(--tw-border-style);border-bottom-width:2px;border-color:var(--color-ht-light);padding-block:calc(var(--spacing) * 2)}.footnotes ol{margin-top:calc(var(--spacing) * 2);list-style-type:decimal;padding-block:calc(var(--spacing) * 2);-webkit-padding-start:calc(var(--spacing) * 4);padding-inline-start:calc(var(--spacing) * 4);-webkit-padding-end:calc(var(--spacing) * 1);padding-inline-end:calc(var(--spacing) * 1);font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));color:var(--color-ht-light);@media(width >= 48rem){font-size: var(--text-lg); line-height: var(--tw-leading,var(--text-lg--line-height));}}.footnotes ol a{-webkit-text-decoration-color:var(--color-ht-lighter);text-decoration-color:var(--color-ht-lighter)}.pill-hc2{width:-webkit-fit-content;width:fit-content;border-radius:var(--radius-lg);border-style:var(--tw-border-style);border-width:2px;border-color:var(--color-hc2-dark);background-color:initial;padding-inline:calc(var(--spacing) * 1.5);padding-block:calc(var(--spacing) * .5);font-family:var(--font-sans);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--color-hc2-dark);text-transform:uppercase;-webkit-text-decoration-line:none;text-decoration-line:none;&:hover { @media (hover:hover) { background-color:var(--color-hc2-dark); } } &:hover { @media (hover:hover) { color:var(--color-white); } } font-size:10px}section.post .pill-hc2{--tw-border-style:none;border-style:none}.pill-hc2-solid{width:-webkit-fit-content;width:fit-content;border-radius:var(--radius-lg);border-style:var(--tw-border-style);border-width:2px;border-color:var(--color-hc2-dark);background-color:var(--color-hc2-dark);padding-inline:calc(var(--spacing) * 1.5);padding-block:calc(var(--spacing) * .5);font-family:var(--font-sans);--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);color:var(--color-white);text-transform:uppercase;-webkit-text-decoration-line:none;text-decoration-line:none;font-size:10px}.pill-hc{width:-webkit-fit-content;width:fit-content;border-radius:var(--radius-lg);border-style:var(--tw-border-style);border-width:2px;border-color:var(--color-hc);background-color:initial;padding:calc(var(--spacing) * 1.5);font-family:var(--font-sans);color:var(--color-hc);text-transform:uppercase;-webkit-text-decoration-line:none;text-decoration-line:none;&:hover { @media (hover:hover) { background-color:var(--color-hc); } } &:hover { @media (hover:hover) { color:var(--color-ht-lightest); } } font-size:10px}section.post .pill-hc{--tw-border-style:none;border-style:none}.pill-hc-solid{width:-webkit-fit-content;width:fit-content;border-radius:var(--radius-lg);border-style:var(--tw-border-style);border-width:2px;border-color:var(--color-hc);background-color:var(--color-hc);padding-inline:calc(var(--spacing) * 1.5);padding-block:calc(var(--spacing) * .5);font-family:var(--font-sans);--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);color:var(--color-black);text-transform:uppercase;-webkit-text-decoration-line:none;text-decoration-line:none;&:hover { @media (hover:hover) { background-color:transparent; } } font-size:10px}.pill-slate{width:-webkit-fit-content;width:fit-content;border-radius:var(--radius-lg);border-style:var(--tw-border-style);border-width:2px;border-color:var(--color-ht-light);background-color:initial;padding-inline:calc(var(--spacing) * 1.5);padding-block:calc(var(--spacing) * 0);font-family:var(--font-sans);--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--color-ht-light);text-transform:uppercase;-webkit-text-decoration-line:none;text-decoration-line:none;&:hover { @media (hover:hover) { background-color:var(--color-ht-light); } } &:hover { @media (hover:hover) { color:var(--color-ht-lightest); } } @media (width >=48rem) { padding-block:calc(var(--spacing) * 1); }}section.post .pill-slate{--tw-border-style:none;border-style:none}.pagination{margin-block:calc(var(--spacing) * 8);display:flex;flex-wrap:wrap;align-items:center;justify-content:center; :where(& > :not(:last-child)) { --tw-space-x-reverse: 0; -webkit-margin-start: calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse)); margin-inline-start: calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse)); -webkit-margin-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse))); margin-inline-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse))); }}.page-item{display:inline-block}.page-item:nth-last-child(-n+4):nth-last-child(n+3){display:none;@media(width >= 40rem){display: block;}}.page-link{border-radius:var(--radius-md);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-ht-lighter);padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 2);color:var(--color-ht);-webkit-text-decoration-line:none;text-decoration-line:none;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));--tw-duration:200ms;transition-duration:200ms;&:hover { @media (hover:hover) { background-color:var(--color-hbg-dark); } } &:hover { @media (hover:hover) { color:var(--color-hc); } }}.page-item.active .page-link{background-color:var(--color-hc);--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);color:var(--color-black)}.page-item.disabled .page-link{cursor:not-allowed;opacity:50%;&:hover { @media (hover:hover) { background-color:transparent; } } &:hover { @media (hover:hover) { color:var(--color-ht); } }}.post-content blockquote{background-color:var(--color-hbg-dark);padding:calc(var(--spacing) * 6);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)}.post-content blockquote code{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.post-content .callout:not(figure){font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));@media(width >= 48rem){font-size: var(--text-lg); line-height: var(--tw-leading,var(--text-lg--line-height));}}.callout{position:relative;overflow:hidden;padding-block:calc(var(--spacing) * 2);--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);--callout-border:var(--color-ht-lighter);--callout-bg:color-mix(in srgb, oklch(27.9% 0.041 260.031) 50%, white 50%);@supports(color:color-mix(in lab,red,red)){--callout-bg: color-mix(in srgb,var(--color-ht-lightest) 50%,white 50%);}background:var(--callout-bg);border-style:double}.callout-icon{display:flex;height:calc(var(--spacing) * 5);width:calc(var(--spacing) * 5);flex-shrink:0;align-items:center;justify-content:center;color:var(--callout-icon-color,#64748b)}.callout-icon svg{height:100%;width:100%}.callout-title{position:relative;z-index:10;display:flex;align-items:center;gap:calc(var(--spacing) * 2);padding-inline:calc(var(--spacing) * 8);padding-block:calc(var(--spacing) * 3);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.callout-title code{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.callout-title-inner{flex:1;--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.callout-fold{display:flex;height:calc(var(--spacing) * 5);width:calc(var(--spacing) * 5);cursor:pointer;align-items:center;justify-content:center;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))}.callout-content{position:relative;z-index:10;padding-inline:calc(var(--spacing) * 8);padding-block:calc(var(--spacing) * 3)}.callout-content>*:first-child{margin-top:calc(var(--spacing) * 0)}.callout-content>*:last-child{margin-bottom:calc(var(--spacing) * 0)}.callout-title+.callout-content{padding-top:calc(var(--spacing) * 0)}.callout-title:empty{display:none}.callout .callout-icon{pointer-events:none;position:absolute;z-index:0;height:calc(var(--spacing) * 9);width:calc(var(--spacing) * 9);opacity:.2;top:.4rem;left:.4rem}@media(prefers-color-scheme:dark){.callout{--callout-bg:color-mix(
            in srgb,
            oklch(27.9% 0.041 260.031) 70%,
            black 30%
        );@supports(color:color-mix(in lab,red,red)){--callout-bg: color-mix( in srgb,var(--color-ht-lightest) 70%,black 30% );}}}.callout[data-callout=note],.callout[data-callout=info],.callout[data-callout=fyi]{--callout-icon-color:#2563eb}@media(prefers-color-scheme:dark){.callout[data-callout=note],.callout[data-callout=info],.callout[data-callout=fyi]{--callout-icon-color:#60a5fa}}.callout[data-callout=tldr]{--callout-icon-color:#0891b2}@media(prefers-color-scheme:dark){.callout[data-callout=tldr]{--callout-icon-color:#22d3ee}}.callout[data-callout=important],.callout[data-callout=tip],.callout[data-callout=hint]{--callout-icon-color:#ea580c}@media(prefers-color-scheme:dark){.callout[data-callout=important],.callout[data-callout=tip],.callout[data-callout=hint]{--callout-icon-color:#fb923c}}.callout[data-callout=warning],.callout[data-callout=caution],.callout[data-callout=attention]{--callout-icon-color:#f59e0b}@media(prefers-color-scheme:dark){.callout[data-callout=warning],.callout[data-callout=caution],.callout[data-callout=attention]{--callout-icon-color:#fbbf24}}.callout[data-callout=error]{--callout-icon-color:#ef4444}@media(prefers-color-scheme:dark){.callout[data-callout=error]{--callout-icon-color:#f87171}}.callout[data-callout=failure],.callout[data-callout=fail],.callout[data-callout=missing]{--callout-icon-color:#ec4899}@media(prefers-color-scheme:dark){.callout[data-callout=failure],.callout[data-callout=fail],.callout[data-callout=missing]{--callout-icon-color:#f472b6}}.callout[data-callout=bug]{--callout-icon-color:#ef4444}@media(prefers-color-scheme:dark){.callout[data-callout=bug]{--callout-icon-color:#f87171}}.callout[data-callout=example]{--callout-icon-color:#8b5cf6}@media(prefers-color-scheme:dark){.callout[data-callout=example]{--callout-icon-color:#a78bfa}}.callout[data-callout=quote],.callout[data-callout=cite]{--callout-icon-color:#64748b}@media(prefers-color-scheme:dark){.callout[data-callout=quote],.callout[data-callout=cite]{--callout-icon-color:#ffffff}}.callout[data-callout=question],.callout[data-callout=help],.callout[data-callout=faq]{--callout-icon-color:#22c55e}@media(prefers-color-scheme:dark){.callout[data-callout=question],.callout[data-callout=help],.callout[data-callout=faq]{--callout-icon-color:#4ade80}}@layer components{.skill-tag{display:inline-block;border-radius:calc(infinity * 1px);padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 2);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);transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:200ms;transition-duration:200ms;cursor:default;border-style:var(--tw-border-style);border-width:1px;border-color:color-mix(in srgb,#000 10%,transparent);@supports(color:color-mix(in lab,red,red)){border-color: color-mix(in oklab,var(--color-black) 10%,transparent);}background-color:color-mix(in srgb,#000 5%,transparent);@supports(color:color-mix(in lab,red,red)){background-color: color-mix(in oklab,var(--color-black) 5%,transparent);}&:hover { @media (hover:hover) { border-color:var(--color-yellow-500); } } &:hover { @media (hover:hover) { background-color:var(--color-yellow-500); } } &:hover { @media (hover:hover) { color:var(--color-white); } } &:hover { @media (hover:hover) { --tw-translate-y:calc(var(--spacing) * -0.5); translate:var(--tw-translate-x) var(--tw-translate-y); } } &:hover { @media (hover:hover) { --tw-shadow:0 4px 6px -1px var(--tw-shadow-color,rgb(0 0 0/0.1)),0 2px 4px -2px var(--tw-shadow-color,rgb(0 0 0/0.1)); box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); } }}html.dark .skill-tag{border-color:color-mix(in srgb,#fff 15%,transparent);@supports(color:color-mix(in lab,red,red)){border-color: color-mix(in oklab,var(--color-white) 15%,transparent);}background-color:color-mix(in srgb,#fff 8%,transparent);@supports(color:color-mix(in lab,red,red)){background-color: color-mix(in oklab,var(--color-white) 8%,transparent);}&:hover { @media (hover:hover) { border-color:var(--color-orange-500); } } &:hover { @media (hover:hover) { background-color:var(--color-orange-500); } } &:hover { @media (hover:hover) { color:var(--color-slate-900); } }}.abbr-tooltip{position:relative;cursor:help;border-bottom-style:var(--tw-border-style);border-bottom-width:1px;--tw-border-style:dotted;border-style:dotted;border-color:var(--color-slate-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));--tw-duration:200ms;transition-duration:200ms}.abbr-tooltip:hover{border-color:var(--color-slate-600)}html.dark .abbr-tooltip{border-color:var(--color-slate-500)}html.dark .abbr-tooltip:hover{border-color:var(--color-slate-300)}.abbr-tooltip::before{content:attr(data-tooltip);position:absolute;bottom:100%;left:calc(1/2 * 100%);margin-bottom:calc(var(--spacing) * 2);--tw-translate-x:calc(calc(1/2 * 100%) * -1);translate:var(--tw-translate-x)var(--tw-translate-y);border-radius:var(--radius-lg);padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 2);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);white-space:nowrap;background-color:var(--color-slate-900);color:var(--color-white);--tw-shadow:0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);pointer-events:none;opacity:0%;transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:200ms;transition-duration:200ms;z-index:50}html.dark .abbr-tooltip::before{background-color:var(--color-slate-100);color:var(--color-slate-900)}.abbr-tooltip::after{content:'';position:absolute;bottom:100%;left:calc(1/2 * 100%);margin-bottom:calc(var(--spacing) * 1);--tw-translate-x:calc(calc(1/2 * 100%) * -1);translate:var(--tw-translate-x)var(--tw-translate-y);border-style:var(--tw-border-style);border-width:4px;border-color:transparent;border-top-color:var(--color-slate-900);pointer-events:none;opacity:0%;transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:200ms;transition-duration:200ms;z-index:50}html.dark .abbr-tooltip::after{border-top-color:var(--color-slate-100)}.abbr-tooltip:hover::before,.abbr-tooltip:hover::after{opacity:100%}.abbr-tooltip.active::before,.abbr-tooltip.active::after{opacity:100%}.post-banner{overflow:hidden}.post-banner img{height:auto;width:100%;object-fit:cover;--tw-shadow:0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / 0.1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.post-banner figcaption{text-align:center;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));font-style:italic;color:var(--color-slate-600);&:where(.dark,.dark *) { color:var(--color-slate-400); }}.post-content>table:not(figure.full-bleed){font-size:75%;border-spacing:.5em;border-color:transparent;border-collapse:separate}.project-github-link svg{transform:scale(1.25)}.gist-embed{overflow:hidden;border-radius:var(--radius-lg);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-300);&:where(.dark,.dark *) { border-color:var(--color-slate-700); } background-color:var(--color-white);&:where(.dark,.dark *) { background-color:var(--color-slate-900); }}.gist-header{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-slate-300);padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 3);&:where(.dark,.dark *) { border-color:var(--color-slate-700); } background-color:var(--color-slate-50);&:where(.dark,.dark *) { background-color:var(--color-slate-800); }}.gift-file{border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-400)}.gist-filename{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--color-slate-700);&:where(.dark,.dark *) { color:var(--color-slate-300); } display:flex;align-items:center;gap:calc(var(--spacing) * 2)}.gist-filename .inline-svg{height:calc(var(--spacing) * 4);width:calc(var(--spacing) * 4);color:var(--color-slate-500);&:where(.dark,.dark *) { color:var(--color-slate-400); }}.gist-code-container{position:relative;overflow-x:auto;overflow-y:visible;background-color:var(--color-white);&:where(.dark,.dark *) { background-color:var(--color-slate-900); }}.gist-code-container>div{display:block}.gist-code-container pre{margin:calc(var(--spacing) * 0);background-color:initial;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));border:none;padding:0}.gist-code-container .chroma{background-color:initial;display:block}.gist-code-container .chroma .lntable{border-spacing:0;border-collapse:separate;width:100%;display:table;table-layout:auto}.gist-code-container .chroma .lntd{padding:0;vertical-align:top;border:none!important}.gist-code-container .chroma .lntd:first-child{position:-webkit-sticky;position:sticky;left:0;z-index:10;background-color:var(--color-white);&:where(.dark,.dark *) { background-color:var(--color-slate-900); } padding:1rem 0.5rem 1rem 1rem;border-right:1px solid oklch(92.9% .013 255.508);width:1%;white-space:nowrap}html.dark .gist-code-container .chroma .lntd:first-child{border-right-color:oklch(37.2% .044 257.287)}.gist-code-container .chroma .lntd:last-child{padding:1rem}.gist-code-container .chroma .lnt,.gist-code-container .chroma .ln{color:var(--color-slate-400);-webkit-user-select:none;&:where(.dark,.dark *) { color:var(--color-slate-500); } display:block;text-align:right;padding-right:.75rem;user-select:none}.gist-code-container .chroma .lntd:last-child pre{margin:0;padding:0}.gist-code-container .chroma code,.gist-code-container .chroma pre{font-family:var(--font-mono),source code pro,courier new,monospace}.gist-footer{border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--color-slate-300);padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 2);&:where(.dark,.dark *) { border-color:var(--color-slate-700); } background-color:var(--color-slate-50);&:where(.dark,.dark *) { background-color:var(--color-slate-800); } display:flex;align-items:center;justify-content:space-between;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.gist-footer-left{color:var(--color-slate-600);&:where(.dark,.dark *) { color:var(--color-slate-400); } font-family:var(--font-mono)}.gist-footer-right{color:var(--color-slate-600);&:where(.dark,.dark *) { color:var(--color-slate-400); }}.gist-raw-link{color:var(--color-slate-600);&:where(.dark,.dark *) { color:var(--color-slate-400); } &:hover { @media (hover:hover) { color:var(--color-slate-900); } } &:where(.dark,.dark *) { &:hover { @media (hover:hover) { color:var(--color-slate-200); } } } -webkit-text-decoration-line:none;text-decoration-line:none;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))}.gist-error{margin-block:calc(var(--spacing) * 6);border-radius:var(--radius-lg);padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 3)}}:root,html,body{overflow-x:hidden;scroll-behavior:smooth;-moz-osx-font-smoothing:grayscale}.logo-scroll-container{width:100%;background-color:rgba(0,0,0,3%);overflow:hidden;padding:2rem 0;position:relative;margin:2rem 0}html.dark .logo-scroll-container{background-color:rgba(255,255,255,3%)}.logo-scroll-track{display:flex;width:-webkit-fit-content;width:fit-content;animation:scroll-logos 40s linear infinite;align-items:center}.logo-scroll-track:hover{animation-play-state:paused}.logo-scroll-set{display:flex;gap:4rem;align-items:center;padding:0 2rem;height:4rem}.logo-item{display:flex;align-items:center;justify-content:center;flex-shrink:0;height:100%}.logo-item .inline-svg{transform:scale(1.01);transition:transform .2s ease-in-out}.logo-item .inline-svg:hover{transform:scale(1.1)}.logo-item .inline-svg{display:flex;align-items:center;justify-content:center;height:100%;max-height:4rem}.logo-item svg{max-height:3rem;width:auto;max-width:10rem;object-fit:contain;opacity:.6;transition:opacity .3s ease;color:#9b9b9b}.logo-scroll-track:hover .logo-item svg{opacity:.9}.logo-scroll-container svg{filter:brightness(.5)saturate(100%)invert(0)}.logo-scroll-container svg g[fill] path,.logo-scroll-container svg path[fill]{fill:currentColor}.logo-scroll-container svg g[stroke] path,.logo-scroll-container svg path[stroke]{stroke:currentColor}html.dark .logo-scroll-container svg{filter:brightness(.5)saturate(100%)invert(1)}@keyframes scroll-logos{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}img.narrow-img{max-width:100%;padding:0 6em}img.border-none,.post-content :not(figure.full-bleed) img.border-none{border:none;border-color:transparent}.svg-container.w-full>svg{width:100%;object-fit:contain;height:auto}article a.no-arrow[href*='//']::after,a.no-arrow.external-link::after,a.no-external-icon::after,article .resume-main-content a[href*='//']::after,article .gist-file a[href*='//']::after,article .gist-embed a[href*='//']::after,article a[role=button][href*='//']::after,.resume-sidebar.sidebar-section a[href*='//']::after{display:none;visibility:hidden;width:0;height:0}:root .hero.post-content>:not(figure.full-bleed){margin:0;width:100%}:root .hero.post-content>.metaball-container:not(figure.full-bleed){position:absolute}img.external-favicon{display:inline-block;width:1em;height:1em;-webkit-margin-end:.1em;margin-inline-end:.1em}a img.external-favicon{opacity:.65;transition:opacity,transform .1s ease-in-out;transform:scale(1.01)}a:hover img.external-favicon{opacity:1;transform:scale(1.1)rotate(8deg)}.line-clamp-3>p:first-of-type{-webkit-line-clamp:3;line-clamp:3;display:-webkit-box;-webkit-box-orient:vertical}.line-clamp-3>p:not(:first-of-type){display:none}:root:not(.dark) body{background-color:oklch(.967 .003 264.542)}@layer components{@keyframes walk{0%{background-position:0 0}8.33%{background-position:-12px 0}16.66%{background-position:-24px 0}25%{background-position:-36px 0}33.33%{background-position:0 -13px}41.66%{background-position:-12px -13px}50%{background-position:-24px -13px}58.33%{background-position:-36px -12px}66.66%{background-position:0 -24px}75%{background-position:-12px -24px}83.33%{background-position:-22px -24px}91.66%{background-position:-36px -24px}100%{background-position:0 0}}@keyframes fadeOut{from{opacity:1}to{opacity:0;visibility:hidden}}@keyframes moveForward{from{transform:scale(2)translateX(100%)}to{transform:scale(2)translateX(600%)}}#bigfoot{width:12px;height:12px;position:absolute;bottom:11px;opacity:0;visibility:hidden;background-image:url(/images/bigfoot.png);background-size:48px 36px;background-repeat:no-repeat;background-position:0 0;animation:walk 2.5s steps(1)infinite,moveForward 6s linear forwards,fadeOut 6s steps(1)forwards;animation-play-state:paused;transform:scale(2)}html:not(.dark) #bigfoot{filter:invert(1)}.tree-divider-container:hover #bigfoot{animation-play-state:running;visibility:visible}.hero-with-portrait{position:relative;min-height:var(--portrait-size)}.post-content.hero-with-portrait>figure:not(figure.full-bleed){min-width:calc(var(--portrait-size) + 20px)}.hero-with-portrait #portrait{position:absolute;left:0;top:0;z-index:1}.hero-with-portrait>*{-webkit-padding-start:calc( var(--portrait-size) + 40px );padding-inline-start:calc( var(--portrait-size) + 40px )}.hero-with-portrait #portrait{-webkit-padding-start:0!important;padding-inline-start:0!important}@media(max-width:768px){.hero-with-portrait{display:flex;flex-direction:column;align-items:center}.hero-with-portrait #portrait>div{margin:0 auto 2em}.hero-with-portrait #portrait{position:relative}.hero-with-portrait>*{-webkit-padding-start:0;padding-inline-start:0}}.hero-centered-portrait{display:flex;flex-direction:column;align-items:center;text-align:center}.hero-centered-portrait #portrait{text-align:center;-webkit-margin-after:2rem;margin-block-end:2rem}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.hero-centered-portrait #portrait .portrait-variation{margin-inline:auto;transform:scale(1.3);margin-block:1rem 6rem}.hero-centered-portrait .about-content{max-width:65ch}.portrait-variation{width:var(--portrait-size);height:var(--portrait-size);position:relative;display:block;border-radius:calc(var(--portrait-size)/2);overflow:hidden;background-image:var(--portrait-dithered);background-repeat:no-repeat,no-repeat;background-size:400% 600%,400% 600%;background-origin:content-box,content-box;background-position:0 0,0 0;border:.2em solid;box-shadow:0 10px 25px rgba(0,0,0,.1);transform:scale(1.05);transition:background-image .25s ease-in-out}.portrait-variation::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background-image:var(--portrait-color);background-repeat:no-repeat;background-size:400% 600%;background-position:inherit;opacity:0;pointer-events:none;animation:fadeIn 5s ease-in forwards;transform:scale(1.02)}html:not(.dark) .portrait-variation{border-color:rgba(0,0,0,.5)}html.dark .portrait-variation{border-color:rgba(255,255,255,.3)}.portrait-variation{background-position:var(--portrait-x,0%)var(--portrait-y,0%),var(--portrait-x,0%)var(--portrait-y,0%)}.portrait-variation::before{background-position:var(--portrait-x,0%)var(--portrait-y,0%)}.hero~h2:first-of-type::before{content:'';display:table;clear:both;width:100%;height:1px}.tree-divider-container,canvas.tree-divider{display:block;margin:0 auto;text-align:center;overflow:hidden;height:var(--tree-canvas-height)}.tree-divider-container{transform:scale(1.2);transform-origin:center;position:relative}html.dark canvas.tree-divider{filter:invert(0)}html:not(.dark) canvas.tree-divider{filter:invert(1)}@media screen and (max-width:767px){.tree-divider-container{overflow:visible;transform:scale(1);min-height:var(--tree-canvas-height);max-height:var(--tree-canvas-height);height:var(--tree-canvas-height)}.site-title{max-width:calc(100% - 80px);padding-right:0}.site-title h1>span{max-width:100%}#searchbar{position:fixed;left:1rem;right:1rem;top:0;z-index:100;border:1px solid #3e3e3e;border-radius:8px;width:calc(100vw - 60px)}#searchbar input{width:100%}#searchbar #searchbar-results{width:100%;max-width:100%;left:0;right:0}}.footer-wrapper{background-color:#152027;color:#fff;-webkit-margin-before:0;margin-block-start:0}html.dark .footer-wrapper{background-color:#e5e7eb;color:#000}.footer-content{padding:3rem 2rem}.footer-columns{display:grid;grid-template-columns:1fr;gap:2rem;margin:0 auto}@media(min-width:768px){.footer-columns{grid-template-columns:repeat(3,1fr);gap:3rem}}.footer-column{display:flex;flex-direction:column}.footer-column-title{font-size:1rem;font-weight:600;-webkit-margin-after:1rem;margin-block-end:1rem;color:inherit}.footer-column-title::after{content:'—';display:inline-block;-webkit-margin-start:.5em;margin-inline-start:.5em}.footer-column-text{font-size:.875rem;line-height:1.5;color:inherit;opacity:.9}.footer-email-button{border-color:var(--color-white);background-color:initial;color:var(--color-white);&:hover { @media (hover:hover) { background-color:var(--color-white); } } &:hover { @media (hover:hover) { color:var(--color-black); } }}:root.dark .footer-email-button{filter:invert(1)}.footer-email-button svg{display:inline-block;vertical-align:middle;-webkit-margin-end:.3em;margin-inline-end:.3em;transition:transform .2s ease-in-out;transform:rotate(1deg)}.footer-email-button:hover svg{transform:rotate(25deg)}.footer-email-button svg path{stroke:currentColor}.footer-link{color:inherit;text-decoration:none;opacity:.9;transition:opacity .2s ease}.footer-link+.footer-link::before{content:',';display:inline-block;-webkit-margin-end:.25em;margin-inline-end:.25em}.footer-link:hover{opacity:1;text-decoration:underline}.footer-social-links{display:inline}.footer-social-links a{white-space:nowrap}.footer-copyright{padding:2rem;-webkit-padding-before:0;padding-block-start:0;text-align:start;font-size:.75rem;opacity:.8}.footer-copyright p{-webkit-margin-after:.5rem;margin-block-end:.5rem}.footer-copyright-link{color:inherit;text-decoration:underline;opacity:.9}.footer-copyright-link:hover{opacity:1}.hero-with-metaball{position:relative}.metaball-container{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none}.metaball-container svg{position:absolute;top:50%;left:50%;transform:scale(1.75)translate(-35%,-5%);width:800px;height:600px;max-width:100vw;opacity:.15;filter:invert(0)brightness(150%);transition:filter .2s ease-in-out}:root.dark .metaball-container svg{filter:invert(1)brightness(200%)}.hero-with-metaball>*:not(.metaball-container){position:relative;z-index:1}@media screen and (max-width:767px){.metaball-container svg{filter:none;opacity:.12;transform:scale(1.25)translate(-40%,-10%)}:root.dark .metaball-container svg{filter:none;opacity:.15}}}@layer utilities{:root .no-border{border:none!important}:root .footer-content .blog-content-width,:root .footer-copyright .blog-content-width{max-width:100%;width:100%;min-width:0}}@layer components{.project-card{position:relative;display:flex;flex-direction:column;overflow:hidden;border-radius:var(--radius-lg);border-style:var(--tw-border-style);border-width:1px;border-color:color-mix(in srgb,#000 10%,transparent);@supports(color:color-mix(in lab,red,red)){border-color: color-mix(in oklab,var(--color-black) 10%,transparent);}background-color:color-mix(in srgb,#fff 50%,transparent);@supports(color:color-mix(in lab,red,red)){background-color: color-mix(in oklab,var(--color-white) 50%,transparent);}transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:200ms;transition-duration:200ms;&:hover { @media (hover:hover) { --tw-translate-y:calc(var(--spacing) * -1); translate:var(--tw-translate-x) var(--tw-translate-y); } } &:hover { @media (hover:hover) { --tw-shadow:0 10px 15px -3px var(--tw-shadow-color,rgb(0 0 0/0.1)),0 4px 6px -4px var(--tw-shadow-color,rgb(0 0 0/0.1)); box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); } } &:where(.dark,.dark *) { border-color:var(--color-slate-700); } &:where(.dark,.dark *) { background-color:color-mix(in srgb,oklch(70.4% 0.04 256.788) 90%,transparent); @supports (color:color-mix(in lab,red,red)) { background-color:color-mix(in oklab,var(--color-slate-400) 90%,transparent); } } contain:layout paint}.project-card-link{display:flex;height:100%;flex-direction:column;-webkit-text-decoration-line:none;text-decoration-line:none}.project-card-image-container{aspect-ratio:var(--aspect-video);width:100%;overflow:hidden;background-color:var(--color-slate-100);&:where(.dark,.dark *) { background-color:var(--color-slate-900); }}.project-card-image-container picture,.project-card-image-container img{height:100%;width:100%;object-fit:cover;--tw-scale-x:115%;--tw-scale-y:115%;--tw-scale-z:115%;scale:var(--tw-scale-x)var(--tw-scale-y);transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:200ms;transition-duration:200ms}.project-card-image{height:100%;width:100%;object-fit:cover;transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:200ms;transition-duration:200ms}.project-card-link:hover .project-card-image,.project-card-link:hover .project-card-image-container picture,.project-card-link:hover .project-card-image-container img{--tw-scale-x:125%;--tw-scale-y:125%;--tw-scale-z:125%;scale:var(--tw-scale-x)var(--tw-scale-y)}.project-card-content{display:flex;flex:1;flex-direction:column;padding:calc(var(--spacing) * 6)}.project-card-header{margin-bottom:calc(var(--spacing) * 3);display:flex;align-items:flex-start;justify-content:space-between;gap:calc(var(--spacing) * 4)}.project-card-title-wrapper{display:flex;align-items:center;gap:calc(var(--spacing) * 3)}.project-card-icon-wrapper{display:flex;height:calc(var(--spacing) * 10);width:calc(var(--spacing) * 10);flex-shrink:0;align-items:center;justify-content:center;border-radius:var(--radius-lg);background-color:var(--color-slate-100);&:where(.dark,.dark *) { background-color:var(--color-slate-700); }}.project-card-icon{height:calc(var(--spacing) * 6);width:calc(var(--spacing) * 6);transform:scale(1.3);transition:transform .2s ease-in-out}.project-card:hover .project-card-icon{transform:scale(1.6)}.project-card-title{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height));--tw-leading:var(--leading-tight);line-height:var(--leading-tight);--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--color-slate-900);&:where(.dark,.dark *) { color:var(--color-slate-50); }}.project-card-meta{margin-bottom:calc(var(--spacing) * 3);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--color-slate-500);&:where(.dark,.dark *) { color:var(--color-slate-300); }}.project-card-meta-separator{padding-inline:calc(var(--spacing) * 2)}.project-card-meta-company{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.project-card-summary{margin-bottom:calc(var(--spacing) * 4);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--color-slate-600);&:where(.dark,.dark *) { color:var(--color-slate-200); } overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.project-card-tech-wrapper{margin-top:auto;display:flex;flex-wrap:wrap;gap:calc(var(--spacing) * 2)}.project-card-tech-tag{display:inline-block;border-radius:calc(infinity * 1px);padding-inline:calc(var(--spacing) * 2);padding-block:calc(var(--spacing) * 1);background-color:var(--color-slate-100);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);color:var(--color-slate-700);&:where(.dark,.dark *) { background-color:var(--color-slate-700); } &:where(.dark,.dark *) { color:var(--color-slate-200); }}}body>article.blog-content-width:first-child img.w-12{transform:scale(1.3)}.object-contain{object-fit:contain}.object-cover{object-fit:cover}@media screen and (max-width:400px){#theme-toggle{-webkit-margin-end:-1rem;margin-inline-end:-1rem}.site-title span.flex .no-underline:first-child,.site-title span.flex .no-underline:first-child+span.font-normal{display:none}:root>body>.fixed.fixed-controls{position:absolute!important}}@layer theme{html{--tree-canvas-height:60px;--portrait-size:200px}html:not(.dark){--color-hbg:#ffffff;--color-hbg-dark:#f8f9fa;--color-ht-lightest:var(
      --color-slate-400
    );--color-ht-lighter:var(--color-slate-500);--color-ht-light:var(--color-slate-600);--color-ht:var(--color-slate-800);--color-ht-dark:var(--color-slate-800);--color-hc-lightest:var(--color-yellow-100);--color-hc-lighter:var(--color-yellow-200);--color-hc:var(--color-yellow-500);--color-hc-dark:var(--color-yellow-300)}html.dark{--color-hbg:#1c2b33;--color-hbg-dark:#152027;--color-ht-lightest:var(
      --color-slate-600
    );--color-ht-lighter:var(--color-slate-400);--color-ht-light:var(--color-slate-300);--color-ht:var(--color-slate-200);--color-ht-dark:var(--color-slate-200);--color-hc-lightest:var(--color-orange-100);--color-hc-lighter:var(--color-orange-200);--color-hc:var(--color-orange-500);--color-hc-dark:var(--color-orange-300)}}svg.spiral-knot{position:absolute;height:100px;object-fit:contain;transform:rotate(0);animation:spin 10s linear infinite;will-change:transform}.spiral-container{height:100px;width:100px;margin:0 auto;position:relative}svg.spiral-knot path{fill:currentColor}@property --tw-translate-x{syntax: "*";
  inherits: false;
  initial-value: 0;
}@property --tw-translate-y{syntax: "*";
  inherits: false;
  initial-value: 0;
}@property --tw-translate-z{syntax: "*";
  inherits: false;
  initial-value: 0;
}@property --tw-rotate-x{syntax: "*";
  inherits: false;
}@property --tw-rotate-y{syntax: "*";
  inherits: false;
}@property --tw-rotate-z{syntax: "*";
  inherits: false;
}@property --tw-skew-x{syntax: "*";
  inherits: false;
}@property --tw-skew-y{syntax: "*";
  inherits: false;
}@property --tw-space-y-reverse{syntax: "*";
  inherits: false;
  initial-value: 0;
}@property --tw-space-x-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-shadow{syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}@property --tw-shadow-color{syntax: "*";
  inherits: false;
}@property --tw-shadow-alpha{syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}@property --tw-inset-shadow{syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}@property --tw-inset-shadow-color{syntax: "*";
  inherits: false;
}@property --tw-inset-shadow-alpha{syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}@property --tw-ring-color{syntax: "*";
  inherits: false;
}@property --tw-ring-shadow{syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}@property --tw-inset-ring-color{syntax: "*";
  inherits: false;
}@property --tw-inset-ring-shadow{syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}@property --tw-ring-inset{syntax: "*";
  inherits: false;
}@property --tw-ring-offset-width{syntax: "<length>";
  inherits: false;
  initial-value: 0px;
}@property --tw-ring-offset-color{syntax: "*";
  inherits: false;
  initial-value: #fff;
}@property --tw-ring-offset-shadow{syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}@property --tw-outline-style{syntax: "*";
  inherits: false;
  initial-value: solid;
}@property --tw-blur{syntax: "*";
  inherits: false;
}@property --tw-brightness{syntax: "*";
  inherits: false;
}@property --tw-contrast{syntax: "*";
  inherits: false;
}@property --tw-grayscale{syntax: "*";
  inherits: false;
}@property --tw-hue-rotate{syntax: "*";
  inherits: false;
}@property --tw-invert{syntax: "*";
  inherits: false;
}@property --tw-opacity{syntax: "*";
  inherits: false;
}@property --tw-saturate{syntax: "*";
  inherits: false;
}@property --tw-sepia{syntax: "*";
  inherits: false;
}@property --tw-drop-shadow{syntax: "*";
  inherits: false;
}@property --tw-drop-shadow-color{syntax: "*";
  inherits: false;
}@property --tw-drop-shadow-alpha{syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}@property --tw-drop-shadow-size{syntax: "*";
  inherits: false;
}@property --tw-duration{syntax: "*";
  inherits: false;
}@property --tw-content{syntax: "*";
  initial-value: "";
  inherits: false;
}@property --tw-scale-x{syntax: "*";
  inherits: false;
  initial-value: 1;
}@property --tw-scale-y{syntax: "*";
  inherits: false;
  initial-value: 1;
}@property --tw-scale-z{syntax: "*";
  inherits: false;
  initial-value: 1;
}@keyframes spin{to{transform:rotate(360deg)}}@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-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-content:"";--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}