/*! tailwindcss v4.3.3 | 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-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-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--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-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-serif:"Instrument Serif", "Iowan Old Style", Georgia, Cambria, "Times New Roman", serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-zinc-400:oklch(70.5% .015 286.067);--color-zinc-500:oklch(55.2% .016 285.938);--color-zinc-700:oklch(37% .013 285.805);--color-zinc-900:oklch(21% .006 285.885);--color-black:#000;--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--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);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--leading-tight:1.25;--leading-snug:1.375;--ease-out:cubic-bezier(0, 0, .2, 1);--blur-sm:8px;--blur-md:12px;--blur-xl:24px;--blur-2xl:40px;--aspect-video:16 / 9;--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)}}@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,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration: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:where(:not(iframe)){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{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:0}.inset-x-0{inset-inline:0}.top-0{top:0}.top-1\/2{top:50%}.right-0{right:0}.right-6{right:calc(var(--spacing) * 6)}.-bottom-8{bottom:calc(var(--spacing) * -8)}.bottom-0{bottom:0}.bottom-2{bottom:calc(var(--spacing) * 2)}.bottom-4{bottom:calc(var(--spacing) * 4)}.-left-4{left:calc(var(--spacing) * -4)}.-left-8{left:calc(var(--spacing) * -8)}.left-0{left:0}.left-1\/2{left:50%}.left-2{left:calc(var(--spacing) * 2)}.z-10{z-index:10}.z-50{z-index:50}.z-\[60\]{z-index:60}.z-\[100\]{z-index:100}.z-\[101\]{z-index:101}.z-\[300\]{z-index:300}.order-1{order:1}.order-2{order:2}.order-3{order:3}.col-span-2{grid-column:span 2/span 2}.col-start-1{grid-column-start:1}.col-start-2{grid-column-start:2}.row-start-1{grid-row-start:1}.row-start-2{grid-row-start:2}.m-auto{margin:auto}.mx-auto{margin-inline:auto}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\.5{margin-top:calc(var(--spacing) * 2.5)}.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-7{margin-top:calc(var(--spacing) * 7)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-9{margin-top:calc(var(--spacing) * 9)}.mb-1{margin-bottom:var(--spacing)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.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-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-auto{margin-left:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.aspect-\[4\/3\]{aspect-ratio:4/3}.aspect-video{aspect-ratio:var(--aspect-video)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-12{height:calc(var(--spacing) * 12)}.h-24{height:calc(var(--spacing) * 24)}.h-\[2px\]{height:2px}.h-\[65vh\]{height:65vh}.h-\[300px\]{height:300px}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.max-h-\[85vh\]{max-height:85vh}.max-h-\[90vh\]{max-height:90vh}.max-h-\[760px\]{max-height:760px}.max-h-\[calc\(90vh-120px\)\]{max-height:calc(90vh - 120px)}.max-h-none{max-height:none}.min-h-\[220px\]{min-height:220px}.min-h-\[700px\]{min-height:700px}.w-1{width:var(--spacing)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-6{width:calc(var(--spacing) * 6)}.w-16{width:calc(var(--spacing) * 16)}.w-24{width:calc(var(--spacing) * 24)}.w-\[88\%\]{width:88%}.w-\[90vw\]{width:90vw}.w-\[calc\(100vw-2rem\)\]{width:calc(100vw - 2rem)}.w-full{width:100%}.max-w-\[22ch\]{max-width:22ch}.max-w-\[42rem\]{max-width:42rem}.max-w-\[46rem\]{max-width:46rem}.max-w-\[52ch\]{max-width:52ch}.max-w-\[54rem\]{max-width:54rem}.max-w-\[62ch\]{max-width:62ch}.max-w-\[68ch\]{max-width:68ch}.max-w-\[400px\]{max-width:400px}.max-w-\[750px\]{max-width:750px}.max-w-none{max-width:none}.min-w-0{min-width:0}.flex-1{flex:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.origin-left{transform-origin:0}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);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)}.-rotate-6{rotate:-6deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.resize{resize:both}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-\[28px_1fr\]{grid-template-columns:28px 1fr}.grid-cols-\[minmax\(0\,1fr\)_auto\]{grid-template-columns:minmax(0,1fr) auto}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.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}.justify-items-center{justify-items:center}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-y-0>:not(:last-child)){--tw-space-y-reverse:0;margin-block:0}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * 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)))}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-x-6{column-gap:calc(var(--spacing) * 6)}.gap-y-1{row-gap:var(--spacing)}.gap-y-8{row-gap:calc(var(--spacing) * 8)}.self-start{align-self:flex-start}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.overscroll-contain{overscroll-behavior:contain}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.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-dashed{--tw-border-style:dashed;border-style:dashed}.border-\(--border\){border-color:var(--border)}.border-\[rgba\(255\,255\,255\,0\.5\)\]{border-color:#ffffff80}.border-\[rgba\(255\,255\,255\,0\.14\)\]{border-color:#ffffff24}.border-\[rgba\(255\,255\,255\,0\.25\)\]{border-color:#ffffff40}.border-\[rgba\(255\,255\,255\,0\.35\)\]{border-color:#ffffff59}.border-\[var\(--border\)\],.border-\[var\(--border\)\]\/50{border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.border-\[var\(--border\)\]\/50{border-color:color-mix(in oklab, var(--border) 50%, transparent)}}.border-\[var\(--border\)\]\/70{border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.border-\[var\(--border\)\]\/70{border-color:color-mix(in oklab, var(--border) 70%, transparent)}}.border-\[var\(--green\)\]{border-color:var(--green)}.border-\[var\(--sky\)\]{border-color:var(--sky)}.border-transparent{border-color:#0000}.border-zinc-700{border-color:var(--color-zinc-700)}.bg-\[\#0f0e0e\]\/90{background-color:oklab(16.4968% .00160026 .000499249/.9)}.bg-\[rgba\(8\,10\,10\,0\.5\)\]{background-color:#080a0a80}.bg-\[rgba\(8\,10\,10\,0\.86\)\]{background-color:#080a0adb}.bg-\[rgba\(10\,11\,12\,0\.74\)\]{background-color:#0a0b0cbd}.bg-\[rgba\(10\,11\,12\,0\.82\)\]{background-color:#0a0b0cd1}.bg-\[rgba\(10\,11\,12\,0\.92\)\]{background-color:#0a0b0ceb}.bg-\[rgba\(10\,11\,12\,0\.94\)\]{background-color:#0a0b0cf0}.bg-\[var\(--bg\)\]{background-color:var(--bg)}.bg-\[var\(--card\)\]{background-color:var(--card)}.bg-\[var\(--green\)\]{background-color:var(--green)}.bg-black{background-color:var(--color-black)}.bg-black\/40{background-color:#0006}@supports (color:color-mix(in lab, red, red)){.bg-black\/40{background-color:color-mix(in oklab, var(--color-black) 40%, transparent)}}.bg-black\/70{background-color:#000000b3}@supports (color:color-mix(in lab, red, red)){.bg-black\/70{background-color:color-mix(in oklab, var(--color-black) 70%, transparent)}}.bg-black\/80{background-color:#000c}@supports (color:color-mix(in lab, red, red)){.bg-black\/80{background-color:color-mix(in oklab, var(--color-black) 80%, transparent)}}.bg-black\/95{background-color:#000000f2}@supports (color:color-mix(in lab, red, red)){.bg-black\/95{background-color:color-mix(in oklab, var(--color-black) 95%, transparent)}}.bg-transparent{background-color:#0000}.bg-white\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.bg-white\/10{background-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.bg-white\/15{background-color:#ffffff26}@supports (color:color-mix(in lab, red, red)){.bg-white\/15{background-color:color-mix(in oklab, var(--color-white) 15%, transparent)}}.bg-zinc-900{background-color:var(--color-zinc-900)}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-transparent{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.via-white\/20{--tw-gradient-via:#fff3}@supports (color:color-mix(in lab, red, red)){.via-white\/20{--tw-gradient-via:color-mix(in oklab, var(--color-white) 20%, transparent)}}.via-white\/20{--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.\[mask-image\:linear-gradient\(to_bottom\,transparent\,black_16\%\)\]{mask-image:linear-gradient(#0000,#000 16%)}.object-cover{object-fit:cover}.p-0{padding:0}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-7{padding:calc(var(--spacing) * 7)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pt-8{padding-top:calc(var(--spacing) * 8)}.pt-12{padding-top:calc(var(--spacing) * 12)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-5{padding-bottom:calc(var(--spacing) * 5)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pb-10{padding-bottom:calc(var(--spacing) * 10)}.pl-4{padding-left:calc(var(--spacing) * 4)}.text-center{text-align:center}.text-left{text-align:left}.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-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))}.text-\[10px\]{font-size:10px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[16px\]{font-size:16px}.text-\[18px\]{font-size:18px}.text-\[19px\]{font-size:19px}.text-\[24px\]{font-size:24px}.text-\[30px\]{font-size:30px}.text-\[64px\]{font-size:64px}.leading-\[1\.05\]{--tw-leading:1.05;line-height:1.05}.leading-\[1\.6\]{--tw-leading:1.6;line-height:1.6}.leading-\[1\.7\]{--tw-leading:1.7;line-height:1.7}.leading-\[1\.12\]{--tw-leading:1.12;line-height:1.12}.leading-\[1\.65\]{--tw-leading:1.65;line-height:1.65}.leading-none{--tw-leading:1;line-height:1}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.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)}.tracking-\[-0\.01em\]{--tw-tracking:-.01em;letter-spacing:-.01em}.tracking-\[-0\.02em\]{--tw-tracking:-.02em;letter-spacing:-.02em}.tracking-\[0\.1em\]{--tw-tracking:.1em;letter-spacing:.1em}.tracking-\[0\.06em\]{--tw-tracking:.06em;letter-spacing:.06em}.tracking-\[0\.08em\]{--tw-tracking:.08em;letter-spacing:.08em}.tracking-\[0\.12em\]{--tw-tracking:.12em;letter-spacing:.12em}.tracking-\[0\.15em\]{--tw-tracking:.15em;letter-spacing:.15em}.text-\(--green\){color:var(--green)}.text-\(--text-muted\){color:var(--text-muted)}.text-\[var\(--border\)\]{color:var(--border)}.text-\[var\(--green\)\]{color:var(--green)}.text-\[var\(--sky\)\]{color:var(--sky)}.text-\[var\(--text-muted\)\]{color:var(--text-muted)}.text-white{color:var(--color-white)}.text-white\/50{color:#ffffff80}@supports (color:color-mix(in lab, red, red)){.text-white\/50{color:color-mix(in oklab, var(--color-white) 50%, transparent)}}.text-white\/55{color:#ffffff8c}@supports (color:color-mix(in lab, red, red)){.text-white\/55{color:color-mix(in oklab, var(--color-white) 55%, transparent)}}.text-white\/58{color:#ffffff94}@supports (color:color-mix(in lab, red, red)){.text-white\/58{color:color-mix(in oklab, var(--color-white) 58%, transparent)}}.text-white\/62{color:#ffffff9e}@supports (color:color-mix(in lab, red, red)){.text-white\/62{color:color-mix(in oklab, var(--color-white) 62%, transparent)}}.text-white\/68{color:#ffffffad}@supports (color:color-mix(in lab, red, red)){.text-white\/68{color:color-mix(in oklab, var(--color-white) 68%, transparent)}}.text-white\/72{color:#ffffffb8}@supports (color:color-mix(in lab, red, red)){.text-white\/72{color:color-mix(in oklab, var(--color-white) 72%, transparent)}}.text-white\/78{color:#ffffffc7}@supports (color:color-mix(in lab, red, red)){.text-white\/78{color:color-mix(in oklab, var(--color-white) 78%, transparent)}}.text-white\/82{color:#ffffffd1}@supports (color:color-mix(in lab, red, red)){.text-white\/82{color:color-mix(in oklab, var(--color-white) 82%, transparent)}}.text-white\/85{color:#ffffffd9}@supports (color:color-mix(in lab, red, red)){.text-white\/85{color:color-mix(in oklab, var(--color-white) 85%, transparent)}}.text-white\/90{color:#ffffffe6}@supports (color:color-mix(in lab, red, red)){.text-white\/90{color:color-mix(in oklab, var(--color-white) 90%, transparent)}}.text-white\/92{color:#ffffffeb}@supports (color:color-mix(in lab, red, red)){.text-white\/92{color:color-mix(in oklab, var(--color-white) 92%, transparent)}}.text-white\/97{color:#fffffff7}@supports (color:color-mix(in lab, red, red)){.text-white\/97{color:color-mix(in oklab, var(--color-white) 97%, transparent)}}.text-zinc-400{color:var(--color-zinc-400)}.text-zinc-500{color:var(--color-zinc-500)}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.opacity-30{opacity:.3}.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,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur{--tw-backdrop-blur:blur(8px);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-2xl{--tw-backdrop-blur:blur(var(--blur-2xl));backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-\[6px\]{--tw-backdrop-blur:blur(6px);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-xl{--tw-backdrop-blur:blur(var(--blur-xl));backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{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,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-\[max-height\]{transition-property:max-height;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;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-transform{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))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{user-select:none}.\[-webkit-mask-image\:linear-gradient\(to_bottom\,transparent\,black_16\%\)\]{-webkit-mask-image:linear-gradient(#0000,#000 16%)}@media (hover:hover){.group-hover\:h-3:is(:where(.group):hover *){height:calc(var(--spacing) * 3)}.group-hover\:translate-x-1:is(:where(.group):hover *){--tw-translate-x:var(--spacing);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\:-translate-y-1:is(:where(.group):hover *){--tw-translate-y:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\:border-\(--green\):is(:where(.group):hover *){border-color:var(--green)}.group-hover\:border-white\/30:is(:where(.group):hover *){border-color:#ffffff4d}@supports (color:color-mix(in lab, red, red)){.group-hover\:border-white\/30:is(:where(.group):hover *){border-color:color-mix(in oklab, var(--color-white) 30%, transparent)}}.group-hover\:text-\(--green\):is(:where(.group):hover *){color:var(--green)}.group-hover\:text-white:is(:where(.group):hover *){color:var(--color-white)}.group-hover\:text-white\/90:is(:where(.group):hover *){color:#ffffffe6}@supports (color:color-mix(in lab, red, red)){.group-hover\:text-white\/90:is(:where(.group):hover *){color:color-mix(in oklab, var(--color-white) 90%, transparent)}}.group-hover\/link\:translate-x-0\.5:is(:where(.group\/link):hover *){--tw-translate-x:calc(var(--spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\/link\:-translate-y-0\.5:is(:where(.group\/link):hover *),.hover\:-translate-y-0\.5:hover{--tw-translate-y:calc(var(--spacing) * -.5);translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:border-\[rgba\(255\,255\,255\,0\.4\)\]:hover{border-color:#fff6}.hover\:border-\[rgba\(255\,255\,255\,0\.5\)\]:hover{border-color:#ffffff80}.hover\:border-\[rgba\(255\,255\,255\,0\.6\)\]:hover{border-color:#fff9}.hover\:border-\[rgba\(255\,255\,255\,0\.35\)\]:hover{border-color:#ffffff59}.hover\:border-\[var\(--green\)\]:hover{border-color:var(--green)}.hover\:bg-\[rgba\(255\,255\,255\,0\.1\)\]:hover{background-color:#ffffff1a}.hover\:bg-\[rgba\(255\,255\,255\,0\.02\)\]:hover{background-color:#ffffff05}.hover\:bg-\[rgba\(255\,255\,255\,0\.025\)\]:hover{background-color:#ffffff06}.hover\:bg-\[var\(--green\)\]:hover,.hover\:bg-\[var\(--green\)\]\/5:hover{background-color:var(--green)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-\[var\(--green\)\]\/5:hover{background-color:color-mix(in oklab, var(--green) 5%, transparent)}}.hover\:bg-\[var\(--sky\)\]:hover{background-color:var(--sky)}.hover\:text-black:hover{color:var(--color-black)}.hover\:text-white:hover{color:var(--color-white)}}@media (width>=40rem){.sm\:block{display:block}.sm\:inline{display:inline}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:px-4{padding-inline:calc(var(--spacing) * 4)}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}.sm\:px-7{padding-inline:calc(var(--spacing) * 7)}.sm\:text-\[20px\]{font-size:20px}}@media (width>=48rem){.md\:flex{display:flex}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:text-\[34px\]{font-size:34px}.md\:text-\[40px\]{font-size:40px}.md\:text-\[84px\]{font-size:84px}}@media (width>=64rem){.lg\:col-span-1{grid-column:span 1/span 1}.lg\:col-start-1{grid-column-start:1}.lg\:row-span-2{grid-row:span 2/span 2}.lg\:mt-5{margin-top:calc(var(--spacing) * 5)}.lg\:grid-cols-\[minmax\(0\,1fr\)_300px\]{grid-template-columns:minmax(0,1fr) 300px}.lg\:items-center{align-items:center}.lg\:justify-center{justify-content:center}.lg\:gap-12{gap:calc(var(--spacing) * 12)}.lg\:self-center{align-self:center}}}.glass,.liquid-glass{isolation:isolate;backdrop-filter:blur(14px)saturate(175%)brightness(1.05);background:linear-gradient(#ffffff0f,#ffffff05),#080a0a6b;border:1px solid #ffffff14;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff3d,inset 0 -1px 1px #00000057,inset 0 0 30px #ffffff0d,inset 0 0 0 1px #ffffff08,0 8px 20px #00000038,0 18px 50px #00000042}@supports ((-webkit-backdrop-filter:blur(1px))){.glass,.liquid-glass{-webkit-backdrop-filter:blur(14px)saturate(175%)brightness(1.05)}}.glass:before,.liquid-glass:before{content:"";border-radius:inherit;-webkit-mask-composite:xor;pointer-events:none;z-index:2;contain:layout style paint;-webkit-mask-composite:xor;-webkit-mask-source-type:auto,auto;-webkit-mask-composite:xor;-webkit-mask-source-type:auto,auto;background:conic-gradient(from -75deg,#ffffff0d 0deg,#ffffffbf 22deg,#ffffff59 60deg,#ffffff0d 110deg 250deg,#fff9 300deg,#ffffff0d 360deg);padding:1.25px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-composite:exclude;mask-mode:match-source,match-source}.glass>*,.liquid-glass>*{z-index:3;position:relative}:root{color-scheme:dark}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-gutter:stable}section[id]{scroll-margin-top:76px}.pf-gap{width:100vw;position:relative;left:50%;transform:translate(-50%)}.pf-gap-band{border-top:1px dashed var(--border);border-bottom:1px dashed var(--border);background:#ffffff05;height:1.25rem;position:relative}.pf-gap-center{max-width:88rem;margin:0 auto;padding:1rem}@media (width>=640px){.pf-gap-center{padding-left:1.5rem;padding-right:1.5rem}}.pf-notch{z-index:1;width:100vw;height:0;position:relative;left:50%;transform:translate(-50%)}.pf-notch-side{flex-direction:column;width:2.25rem;display:flex;position:absolute;top:0;transform:translateY(-50%)}.pf-notch-left{left:calc(50% - 44.625rem)}.pf-notch-right{right:calc(50% - 44.625rem)}.pf-notch-tri,.pf-notch-rect{background:#0f0e0e;width:2.25rem}.pf-notch-rect{height:3rem}.pf-notch-tri{height:2.25rem}.pf-notch-left .pf-notch-tri,.pf-notch-left .pf-notch-rect{border-right:1px dashed var(--border)}.pf-notch-right .pf-notch-tri,.pf-notch-right .pf-notch-rect{border-left:1px dashed var(--border)}.pf-notch-left .pf-notch-tri-top{transform-origin:100% 100%;transform:rotate(-45deg)}.pf-notch-left .pf-notch-tri-bottom{transform-origin:100% 0;transform:rotate(45deg)}.pf-notch-right .pf-notch-tri-top{transform-origin:0 100%;transform:rotate(45deg)}.pf-notch-right .pf-notch-tri-bottom{transform-origin:0 0;transform:rotate(-45deg)}@media (width<=767px){.pf-notch{display:none}}.pf-edge-blur{z-index:40;pointer-events:none;max-width:88rem;height:7%;margin-inline:auto;position:fixed;inset-inline:0}.pf-edge-blur-bottom{bottom:0}.pf-edge-blur-top{top:0}.pf-edge-blur-layer{position:absolute;inset:0}@supports (animation-timeline:scroll()){.pf-full-bleed{border-top-color:#ffffff13}}body{color:#fff;min-height:100vh;font-family:var(--font-sans);background:0 0;margin:0;padding:0}#root{background:0 0;min-height:100vh;margin:0;padding:0}a{color:inherit;text-decoration:none}body:before{content:"";opacity:.16;filter:saturate(.35)contrast(1.05);pointer-events:none;z-index:-30;background-image:url(/main-bg.webp);background-position:top;background-repeat:no-repeat;background-size:cover;width:100vw;height:100vh;position:fixed;inset:0}body:after{content:"";pointer-events:none;z-index:-29;background:radial-gradient(circle at top,#ffffff09,#0000 40%),linear-gradient(#0506078c,#060708b8);position:fixed;inset:0}.pf-root{--bg:#0f0e0e;--card:#141313;--muted:#1d1d1d;--text:#fff;--text-muted:#a4a4a4;--border:#272727;--sky:#7cc4ff;--green:#e6e6e6;--font-serif:"Instrument Serif", "Iowan Old Style", Georgia, Cambria, "Times New Roman", serif;--font-sans:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;min-height:100vh;color:var(--text);font-family:var(--font-sans);background-color:#0000;font-size:15px;line-height:1.65}.pf-rect-backdrop{z-index:9990;background:#0f0e0e;position:fixed;inset:0}.pf-rect-frame{z-index:9991;will-change:clip-path, transform, filter;background:#0f0e0e;position:fixed;inset:0;overflow:hidden}.pf-rect-frame[data-revealed=true]{will-change:auto;background:0 0;position:static;overflow:visible}.pf-root ::selection{background-color:var(--green);color:#000;text-shadow:none}::-webkit-scrollbar{width:3px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:linear-gradient(#ffffff8c,#fff3);border-radius:2px;transition:opacity .3s;box-shadow:0 0 8px #ffffff1f}::-webkit-scrollbar-thumb:hover{box-shadow:0 0 14px #ffffff47}*{scrollbar-width:thin;scrollbar-color:#fff6 transparent}.pf-shell{z-index:1;border-left:1px dashed var(--border);border-right:1px dashed var(--border);background:#0f0e0e;flex-direction:column;width:min(100%,1408px);max-width:1408px;min-height:100vh;margin:0 auto;display:flex;position:relative;overflow-x:clip}.pf-card-grid{border:1px dashed var(--border)!important}.pf-orb-fallback{background:radial-gradient(circle at 32% 28%,#ffffffd9 0%,#0000 22%),radial-gradient(circle at 62% 58%,#38bdf8bf 0%,#0000 46%),radial-gradient(circle at 74% 30%,#e879f980 0%,#0000 42%),radial-gradient(circle at 30% 74%,#fbbf246b 0%,#0000 48%),radial-gradient(circle,#0f172ae6 0%,#02060c 72%);border-radius:9999px;width:100%;height:100%;animation:7s ease-in-out infinite pf-orb-breathe;display:block;box-shadow:inset -18px -22px 60px #02060cbf,inset 10px 14px 44px #7dd3fc38,0 0 70px #38bdf829}@keyframes pf-orb-breathe{0%,to{filter:saturate();transform:scale(1)}50%{filter:saturate(1.12);transform:scale(1.025)}}@media (prefers-reduced-motion:reduce){.pf-orb-fallback{animation:none}}.pf-project-row{isolation:isolate;position:relative}.pf-project-row>*{z-index:1;position:relative}.pf-project-row:before{content:"";opacity:0;pointer-events:none;z-index:0;background:linear-gradient(90deg,#ffffff0e,#ffffff05 28% 72%,#ffffff0e),#ffffff05;width:100vw;transition:opacity .28s;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%);box-shadow:inset 0 1px #ffffff1f,inset 0 -1px #ffffff14}.pf-project-row:after{content:"";background:var(--green);transform-origin:top;pointer-events:none;z-index:1;width:2px;transition:transform .32s cubic-bezier(.16,1,.3,1);position:absolute;top:14px;bottom:14px;left:0;transform:scaleY(0)}.pf-project-index,.pf-project-title{transition:transform .28s cubic-bezier(.16,1,.3,1),background-color .22s,color .22s,border-color .22s}@media (hover:hover){.pf-project-row:hover:before{opacity:1}.pf-project-row:hover:after{transform:scaleY(1)}.pf-project-row:hover .pf-project-index{background:var(--green);border-color:var(--green);color:#08090a;transform:translate(3px)}.pf-project-row:hover .pf-project-title{transform:translate(4px)}}@media (hover:none){.pf-project-row:active:before{opacity:.65}}@media (prefers-reduced-motion:reduce){.pf-project-row:before,.pf-project-row:after,.pf-project-index,.pf-project-title{transition:none}}.pf-skill-card{transition:transform .28s cubic-bezier(.16,1,.3,1),border-color .28s,background-color .28s}.pf-skill-card>div:first-child{transition:transform .28s cubic-bezier(.16,1,.3,1)}@media (hover:hover){.pf-skill-card:hover{transform:translateY(-2px)}.pf-skill-card:hover>div:first-child{transform:translate(2px)}}.pf-blog-media img{transition:transform .55s cubic-bezier(.16,1,.3,1)}@media (hover:hover){.group:hover .pf-blog-media img{transform:scale(1.035)}}@media (prefers-reduced-motion:reduce){.pf-skill-card,.pf-skill-card>div:first-child,.pf-blog-media img{transition:none}.group:hover .pf-blog-media img{transform:none}}@media (hover:hover){.pf-card-grid:hover{border-color:#ffffff59!important}}@keyframes pf-imperfect{0%,to{transform:rotate(0)skew(0deg)}25%{transform:rotate(.3deg)skew(.1deg)}75%{transform:rotate(-.2deg)skew(-.05deg)}}.pf-imperfect{transform-origin:50%;animation:8s ease-in-out infinite pf-imperfect}@keyframes pf-fade-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pf-fade-in{0%{opacity:0}to{opacity:1}}@keyframes pf-fade-down{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes pf-scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pf-slide-in{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes pf-scale-up{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.pf-micro{transition:transform .18s cubic-bezier(.16,1,.3,1),color .18s,border-color .18s}@media (hover:hover){.pf-micro:hover{transform:translateY(-1px)}}.pf-micro:active{transform:translateY(0)scale(.97)}.pf-nudge{transition:transform .2s cubic-bezier(.16,1,.3,1)}@media (hover:hover){.group:hover .pf-nudge{transform:translate(2px,-2px)}}@media (prefers-reduced-motion:reduce){.pf-micro,.pf-nudge{transition:none}}.pf-display{font-family:var(--font-sans);letter-spacing:-.01em}.pf-serif{font-family:var(--font-serif);letter-spacing:0;font-weight:400}.pf-ink-underline{isolation:isolate;display:inline-block;position:relative}.pf-ink-underline:after{content:"";pointer-events:none;transform-origin:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 10' preserveAspectRatio='none'%3E%3Cpath d='M2 6 C40 2 70 8 100 5 C130 2 165 7 198 4' fill='none' stroke='%23e6e6e6' stroke-width='2.4' stroke-linecap='round' opacity='0.85'/%3E%3Cpath d='M4 8 C44 5 72 9 104 7 C138 5 168 9 196 7' fill='none' stroke='%23e6e6e6' stroke-width='1.2' stroke-linecap='round' opacity='0.4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:100% 100%;height:10px;transition:transform .6s cubic-bezier(.16,1,.3,1);position:absolute;bottom:-4px;left:-2%;right:-2%;transform:scaleX(0)}.pf-ink-underline.pf-ink-drawn:after{transform:scaleX(1)}@media (hover:hover){.pf-ink-underline:hover:after{transform:scaleX(1)}}.pf-name-gradient{-webkit-text-fill-color:transparent;filter:drop-shadow(0 1px #ffffff0f)drop-shadow(0 2px 10px #ffffff1f);background:linear-gradient(176deg,#fff 0%,#fbfcfa 30%,#e8ebe6 58%,#d4d8d2 80%,#c2c7c0 100%);background-clip:text}.pf-liquid-btn{isolation:isolate;transition:all .3s;position:relative;overflow:hidden}.pf-liquid-btn>*{z-index:1;position:relative}.pf-liquid-btn-label{transition:color .25s,opacity .25s}.pf-liquid-btn:before{content:"";z-index:0;background:var(--green);transition:transform .4s cubic-bezier(.16,1,.3,1);position:absolute;inset:0;transform:translateY(101%)}@media (hover:hover){.pf-liquid-btn:hover:before{transform:translateY(0)}.pf-liquid-btn:hover{border-color:#ffffff8c!important}.pf-liquid-btn:hover .pf-liquid-btn-label,.pf-liquid-btn:hover .pf-liquid-btn-label *,.pf-liquid-btn:hover svg{color:#08090a!important}}.pf-liquid-btn:focus-visible:before{transform:translateY(0)}.pf-liquid-btn:focus-visible{transform:scale(1.02);box-shadow:0 0 20px #ffffff40;color:#000!important}.pf-liquid-btn:focus-visible .pf-liquid-btn-label,.pf-liquid-btn:focus-visible .pf-liquid-btn-label *,.pf-liquid-btn:focus-visible svg{color:#050605!important}@media (hover:none){.pf-liquid-btn:active:before{transform:translateY(0)}.pf-liquid-btn:active .pf-liquid-btn-label,.pf-liquid-btn:active .pf-liquid-btn-label *,.pf-liquid-btn:active svg{color:#050605!important}}.pf-blog-reveal-fade{backdrop-filter:blur(3px);pointer-events:none;background:linear-gradient(#0000 0%,#0a0b0c80 30%,#0a0b0cdb 58%,#0a0b0cfa 100%);mask-image:linear-gradient(#0000 0%,#000 38% 100%)}.pf-blog-reveal-fade:before{content:"";pointer-events:none;background:linear-gradient(115deg,#0000 0%,#ffffff13 44%,#0000 62%),radial-gradient(circle at 50% 100%,#ffffff0f,#0000 44%);position:absolute;inset:0}.pf-blog-reveal-fade>*{pointer-events:auto}@supports ((-webkit-backdrop-filter:blur(1px))){.pf-blog-reveal-fade{-webkit-backdrop-filter:blur(3px)}}.pf-nav-link{color:var(--text-muted);padding:4px 10px;transition:color .2s;display:inline-block;position:relative}.pf-nav-link:after{content:"";background:var(--green);transform-origin:0;height:1px;transition:transform .3s cubic-bezier(.16,1,.3,1);position:absolute;bottom:2px;left:10px;right:10px;transform:scaleX(0)}@media (hover:hover){.pf-nav-link:hover{color:#fff;text-shadow:0 0 10px var(--green)}.pf-nav-link:hover:after{transform:scaleX(1)}}.pf-nav-active{color:#fff}.pf-nav-active:after{transform-origin:100%;transform:scaleX(1)}.pf-project-card{will-change:transform;transition:border-color .22s,box-shadow .22s,transform .22s;transform:translateZ(0)}@media (hover:hover){.pf-project-card:hover{border-color:#ffffff38;transform:translateY(-3px);box-shadow:inset 0 1px #ffffff0e,0 10px 34px #ffffff0d,0 22px 80px #0000002e}}.pf-text-highlight{color:#fff;text-shadow:0 0 12px #ffffff29}.pf-shake-hint{z-index:9999;backdrop-filter:blur(12px);color:#e6e6e6;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:#0a0b0cd1;border:1px solid #7cc4ff59;border-radius:12px;align-items:center;gap:10px;padding:10px 16px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;animation:.4s ease-out pf-hint-in;display:flex;position:fixed;bottom:24px;left:50%;box-shadow:0 8px 30px #00000073}.pf-shake-hint-phone{color:var(--sky);flex-shrink:0;animation:1s ease-in-out infinite pf-phone-shake}.pf-shake-hint--tap{color:#e6e6e6b3;opacity:.85;background:#0a0b0c8c;border-color:#ffffff1a;transition:opacity .2s;box-shadow:0 4px 18px #00000040}.pf-shake-hint--tap .pf-shake-hint-phone{color:#e6e6e68c;animation:none}.pf-shake-hint--tap:active{opacity:1}@keyframes pf-hint-in{0%{opacity:0;transform:translate(-50%)translateY(14px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@keyframes pf-phone-shake{0%,to{transform:translate(0)rotate(0)}10%{transform:translate(-6px)rotate(-9deg)}20%{transform:translate(6px)rotate(9deg)}30%{transform:translate(-5px)rotate(-7deg)}40%{transform:translate(5px)rotate(7deg)}50%{transform:translate(-3px)rotate(-5deg)}60%{transform:translate(3px)rotate(5deg)}70%{transform:translate(-2px)rotate(-3deg)}80%{transform:translate(2px)rotate(3deg)}}.pf-blog-card{box-shadow:inset 0 1px #ffffff1a,inset 0 -1px #00000057,0 18px 44px #00000029}.pf-blog-card[aria-expanded=true]{box-shadow:inset 0 1px #ffffff1c,inset 0 -1px #00000061,0 20px 56px #00000038}.pf-blog-notes{box-shadow:inset 0 1px #ffffff16,inset 0 -1px #00000047,0 14px 38px #00000029}.pf-blog-media{background:linear-gradient(135deg,#ffffff12,#0000 36%),#0000003d;position:relative}.pf-blog-media:after{content:"";pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 36px #00000038}.pf-blog-dialog{max-height:92vh;animation:.26s cubic-bezier(.16,1,.3,1) both pf-dialog-in;box-shadow:inset 0 1px #ffffff1c,0 32px 90px #0000009e}.pf-blog-dialog::backdrop{-webkit-backdrop-filter:blur(6px)saturate(120%);background:#040506b8;animation:.2s ease-out both pf-dialog-fade}.pf-blog-dialog[open]::backdrop{animation:.2s ease-out both pf-dialog-fade}.pf-blog-dialog-body{scrollbar-width:thin;scrollbar-color:#ffffff2e transparent;overscroll-behavior:contain;scroll-padding-block-end:2rem}@keyframes pf-dialog-in{0%{opacity:0;transform:translateY(10px)scale(.985)}to{opacity:1;transform:none}}@keyframes pf-dialog-fade{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.pf-blog-dialog,.pf-blog-dialog::backdrop{animation:none}}.pf-bg-gradient{z-index:-20;pointer-events:none;opacity:.55;background-image:radial-gradient(circle at 12% 14%,#ffffff08 0%,#0000 42%),radial-gradient(circle at 86% 12%,#ffffff06 0%,#0000 34%),radial-gradient(circle at 80% 82%,#ffffff09 0%,#0000 38%);background-position:12% 14%,86% 12%,80% 82%;background-repeat:no-repeat,no-repeat,no-repeat;background-size:auto,auto,auto;position:fixed;inset:0}.pf-grain{z-index:9999;pointer-events:none;opacity:.04;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='128' height='128'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:128px 128px;position:fixed;inset:0}a:focus-visible{outline:2px solid var(--green);outline-offset:2px}@media (width<=640px){html{font-size:13px}html,body{max-width:100vw;overflow-x:hidden}.pf-shell{border-left:none;border-right:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}html{scroll-behavior:auto}}.pf-anim-fade{animation:.5s both pf-fade-in}.pf-anim-fade-up{animation:.5s cubic-bezier(.16,1,.3,1) both pf-fade-up}.pf-anim-fade-down{animation:.5s cubic-bezier(.16,1,.3,1) both pf-fade-down}.pf-anim-slide-in{animation:.5s cubic-bezier(.16,1,.3,1) both pf-slide-in}.pf-anim-scale-in{animation:.8s cubic-bezier(.16,1,.3,1) both pf-scale-in}.pf-anim-modal{animation:.2s both pf-scale-up}.pf-reveal{opacity:0;transition:opacity .55s cubic-bezier(.16,1,.3,1),transform .55s cubic-bezier(.16,1,.3,1);transform:translateY(18px)}.pf-reveal-left{transform:translate(-20px)}.pf-reveal-right{transform:translate(20px)}.pf-reveal.pf-inview{opacity:1;transform:none}@keyframes pf-crt{0%,to{transform:translate(0)}12%{transform:translate(.3px,-.2px)}25%{transform:translate(-.1px,.2px)}38%{transform:translate(.1px,-.3px)}50%{transform:translate(-.2px,.1px)}62%{transform:translate(.3px,.2px)}75%{transform:translate(-.3px,-.1px)}88%{transform:translate(.1px,.3px)}}.pf-crt{animation:4s ease-in-out infinite pf-crt}.pf-twinkle{animation:3.5s ease-in-out infinite pf-twinkle}@media (prefers-reduced-motion:reduce){.pf-reveal{opacity:1;transition:none;transform:none}}@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-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@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-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}
