/*! 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-leading:initial;--tw-font-weight:initial;--tw-tracking: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-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}}}@layer theme{:root,:host{--font-sans:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--color-emerald-200:oklch(90.5% .093 164.15);--color-emerald-300:oklch(84.5% .143 164.978);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-600:oklch(59.6% .145 163.225);--color-emerald-800:oklch(43.2% .095 166.913);--color-violet-200:oklch(89.4% .057 293.283);--color-violet-300:oklch(81.1% .111 293.571);--color-violet-600:oklch(54.1% .281 293.009);--color-violet-700:oklch(49.1% .27 292.581);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-900:oklch(20.8% .042 265.755);--color-slate-950:oklch(12.9% .042 264.695);--color-gray-900:oklch(21% .034 264.665);--color-white:#fff;--spacing:.25rem;--container-md:28rem;--container-2xl:42rem;--container-6xl:72rem;--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-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-5xl:3rem;--text-5xl--line-height:1;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wide:.025em;--tracking-widest:.1em;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--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]){-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;-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{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.top-4{top:calc(var(--spacing) * 4)}.right-4{right:calc(var(--spacing) * 4)}.bottom-4{bottom:calc(var(--spacing) * 4)}.left-1\/2{left:50%}.z-50{z-index:50}.z-\[60\]{z-index:60}.mx-auto{margin-inline:auto}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-7{margin-top:calc(var(--spacing) * 7)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mt-12{margin-top:calc(var(--spacing) * 12)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.ml-2{margin-left:calc(var(--spacing) * 2)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.w-fit{width:fit-content}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-md{max-width:var(--container-md)}.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)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.scroll-mt-6{scroll-margin-top:calc(var(--spacing) * 6)}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-emerald-600\/25{border-color:#00976740}@supports (color:color-mix(in lab, red, red)){.border-emerald-600\/25{border-color:color-mix(in oklab, var(--color-emerald-600) 25%, transparent)}}.border-slate-200{border-color:var(--color-slate-200)}.border-slate-300{border-color:var(--color-slate-300)}.bg-emerald-600\/10{background-color:#0097671a}@supports (color:color-mix(in lab, red, red)){.bg-emerald-600\/10{background-color:color-mix(in oklab, var(--color-emerald-600) 10%, transparent)}}.bg-slate-900{background-color:var(--color-slate-900)}.bg-white{background-color:var(--color-white)}.bg-white\/90{background-color:#ffffffe6}@supports (color:color-mix(in lab, red, red)){.bg-white\/90{background-color:color-mix(in oklab, var(--color-white) 90%, transparent)}}.p-2{padding:calc(var(--spacing) * 2)}.p-5{padding:calc(var(--spacing) * 5)}.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)}.px-10{padding-inline:calc(var(--spacing) * 10)}.py-1{padding-block:var(--spacing)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-16{padding-block:calc(var(--spacing) * 16)}.pt-14{padding-top:calc(var(--spacing) * 14)}.pt-16{padding-top:calc(var(--spacing) * 16)}.pb-32{padding-bottom:calc(var(--spacing) * 32)}.pl-4{padding-left:calc(var(--spacing) * 4)}.font-mono{font-family:var(--font-mono)}.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-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--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-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[15px\]{font-size:15px}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.leading-7{--tw-leading:calc(var(--spacing) * 7);line-height:calc(var(--spacing) * 7)}.leading-8{--tw-leading:calc(var(--spacing) * 8);line-height:calc(var(--spacing) * 8)}.leading-\[1\.1\]{--tw-leading:1.1;line-height:1.1}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-emerald-800{color:var(--color-emerald-800)}.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-violet-600{color:var(--color-violet-600)}.text-violet-600\/80{color:#7f22fecc}@supports (color:color-mix(in lab, red, red)){.text-violet-600\/80{color:color-mix(in oklab, var(--color-violet-600) 80%, transparent)}}.text-violet-700{color:var(--color-violet-700)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.underline{text-decoration-line:underline}.decoration-violet-600\/50{text-decoration-color:#7f22fe80}@supports (color:color-mix(in lab, red, red)){.decoration-violet-600\/50{-webkit-text-decoration-color:color-mix(in oklab, var(--color-violet-600) 50%, transparent);-webkit-text-decoration-color:color-mix(in oklab, var(--color-violet-600) 50%, transparent);text-decoration-color:color-mix(in oklab, var(--color-violet-600) 50%, transparent)}}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.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))}@media (hover:hover){.hover\:border-violet-600\/50:hover{border-color:#7f22fe80}@supports (color:color-mix(in lab, red, red)){.hover\:border-violet-600\/50:hover{border-color:color-mix(in oklab, var(--color-violet-600) 50%, transparent)}}.hover\:bg-violet-600\/5:hover{background-color:#7f22fe0d}@supports (color:color-mix(in lab, red, red)){.hover\:bg-violet-600\/5:hover{background-color:color-mix(in oklab, var(--color-violet-600) 5%, transparent)}}.hover\:bg-violet-700:hover{background-color:var(--color-violet-700)}.hover\:text-violet-700:hover{color:var(--color-violet-700)}.hover\:decoration-violet-600:hover{-webkit-text-decoration-color:var(--color-violet-600);-webkit-text-decoration-color:var(--color-violet-600);text-decoration-color:var(--color-violet-600)}}.focus\:not-sr-only:focus{clip-path:none;white-space:normal;width:auto;height:auto;margin:0;padding:0;position:static;overflow:visible}.focus\:fixed:focus{position:fixed}.focus\:top-4:focus{top:calc(var(--spacing) * 4)}.focus\:left-4:focus{left:calc(var(--spacing) * 4)}.focus\:z-\[1001\]:focus{z-index:1001}.focus\:rounded-md:focus{border-radius:var(--radius-md)}.focus\:bg-white:focus{background-color:var(--color-white)}.focus\:px-4:focus{padding-inline:calc(var(--spacing) * 4)}.focus\:py-2:focus{padding-block:calc(var(--spacing) * 2)}.focus\:font-bold:focus{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.focus\:text-gray-900:focus{color:var(--color-gray-900)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-white:focus{--tw-ring-color:var(--color-white)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}@media (min-width:40rem){.sm\:col-span-2{grid-column:span 2/span 2}.sm\:inline{display:inline}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}}@media (min-width:48rem){.md\:sticky{position:sticky}.md\:top-0{top:0}.md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}.md\:h-screen{height:100vh}.md\:min-h-screen{min-height:100vh}.md\:w-\[44\%\]{width:44%}.md\:w-\[56\%\]{width:56%}.md\:flex-col{flex-direction:column}.md\:justify-center{justify-content:center}.md\:gap-1{gap:var(--spacing)}.md\:gap-8{gap:calc(var(--spacing) * 8)}.md\:px-8{padding-inline:calc(var(--spacing) * 8)}.md\:px-10{padding-inline:calc(var(--spacing) * 10)}.md\:py-24{padding-block:calc(var(--spacing) * 24)}.md\:pt-0{padding-top:0}.md\:pt-24{padding-top:calc(var(--spacing) * 24)}.md\:pb-0{padding-bottom:0}.md\:text-\[3\.4rem\]{font-size:3.4rem}}.dark\:border-emerald-300\/20:where(.dark,.dark *){border-color:#5ee9b533}@supports (color:color-mix(in lab, red, red)){.dark\:border-emerald-300\/20:where(.dark,.dark *){border-color:color-mix(in oklab, var(--color-emerald-300) 20%, transparent)}}.dark\:border-white\/10:where(.dark,.dark *){border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.dark\:border-white\/10:where(.dark,.dark *){border-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.dark\:border-white\/15:where(.dark,.dark *){border-color:#ffffff26}@supports (color:color-mix(in lab, red, red)){.dark\:border-white\/15:where(.dark,.dark *){border-color:color-mix(in oklab, var(--color-white) 15%, transparent)}}.dark\:border-white\/20:where(.dark,.dark *){border-color:#fff3}@supports (color:color-mix(in lab, red, red)){.dark\:border-white\/20:where(.dark,.dark *){border-color:color-mix(in oklab, var(--color-white) 20%, transparent)}}.dark\:bg-\[\#020617\]\/90:where(.dark,.dark *){background-color:oklab(12.8802% -.003754 -.0404292/.9)}.dark\:bg-emerald-400\/10:where(.dark,.dark *){background-color:#00d2941a}@supports (color:color-mix(in lab, red, red)){.dark\:bg-emerald-400\/10:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-emerald-400) 10%, transparent)}}.dark\:bg-white:where(.dark,.dark *){background-color:var(--color-white)}.dark\:bg-white\/\[0\.03\]:where(.dark,.dark *){background-color:#ffffff08}@supports (color:color-mix(in lab, red, red)){.dark\:bg-white\/\[0\.03\]:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-white) 3%, transparent)}}.dark\:text-emerald-200:where(.dark,.dark *){color:var(--color-emerald-200)}.dark\:text-slate-100:where(.dark,.dark *){color:var(--color-slate-100)}.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-950:where(.dark,.dark *){color:var(--color-slate-950)}.dark\:text-violet-300:where(.dark,.dark *){color:var(--color-violet-300)}.dark\:text-violet-300\/80:where(.dark,.dark *){color:#c4b4ffcc}@supports (color:color-mix(in lab, red, red)){.dark\:text-violet-300\/80:where(.dark,.dark *){color:color-mix(in oklab, var(--color-violet-300) 80%, transparent)}}.dark\:text-white:where(.dark,.dark *){color:var(--color-white)}.dark\:decoration-violet-300\/50:where(.dark,.dark *){text-decoration-color:#c4b4ff80}@supports (color:color-mix(in lab, red, red)){.dark\:decoration-violet-300\/50:where(.dark,.dark *){-webkit-text-decoration-color:color-mix(in oklab, var(--color-violet-300) 50%, transparent);-webkit-text-decoration-color:color-mix(in oklab, var(--color-violet-300) 50%, transparent);text-decoration-color:color-mix(in oklab, var(--color-violet-300) 50%, transparent)}}@media (hover:hover){.dark\:hover\:border-violet-300\/50:where(.dark,.dark *):hover{border-color:#c4b4ff80}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:border-violet-300\/50:where(.dark,.dark *):hover{border-color:color-mix(in oklab, var(--color-violet-300) 50%, transparent)}}.dark\:hover\:bg-violet-200:where(.dark,.dark *):hover{background-color:var(--color-violet-200)}.dark\:hover\:bg-white\/5:where(.dark,.dark *):hover{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-white\/5:where(.dark,.dark *):hover{background-color:color-mix(in oklab, var(--color-white) 5%, transparent)}}.dark\:hover\:text-violet-200:where(.dark,.dark *):hover{color:var(--color-violet-200)}.dark\:hover\:text-violet-300:where(.dark,.dark *):hover{color:var(--color-violet-300)}.dark\:hover\:decoration-violet-300:where(.dark,.dark *):hover{-webkit-text-decoration-color:var(--color-violet-300);-webkit-text-decoration-color:var(--color-violet-300);text-decoration-color:var(--color-violet-300)}}}:root{color-scheme:light;--accent:#7c3aed;--bg:#f8fafc}.dark{color-scheme:dark;--accent:#a78bfa;--bg:#020617}*{box-sizing:border-box}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}html{scroll-behavior:smooth;scroll-padding-top:1rem}::selection{color:#0f172a;background:#7c3aed33}.dark ::selection{color:#fff;background:#a78bfa59}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.typewriter p{white-space:normal;border-right:none;animation:none}.scroll-watcher{animation:none;transform:scaleX(1)}.reveal{opacity:1!important;transform:none!important}.pulse-dot{animation:none}}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}.font-mono{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace}.boldonse-regular{font-family:Boldonse,system-ui;font-style:normal;font-weight:400}body{background:var(--bg);background-image:radial-gradient(circle at 50% -20%,#7c3aed1f,#fff0);background-size:100% 100%;background-attachment:fixed;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,Helvetica Neue,Arial,Apple Color Emoji,Segoe UI Emoji;transition:background-color .3s,color .3s}.dark body{background-image:radial-gradient(circle at 50% -20%,#7877c64d,#fff0)}body:before{content:"";pointer-events:none;z-index:-1;background-image:linear-gradient(90deg,#0f172a0f 1px,#0000 1px),linear-gradient(#0f172a0f 1px,#0000 1px);background-size:40px 40px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(80% 60% at 50% 0,#000 40%,#0000 100%);mask-image:radial-gradient(80% 60% at 50% 0,#000 40%,#0000 100%)}.dark body:before{background-image:linear-gradient(90deg,#ffffff12 1px,#0000 1px),linear-gradient(#ffffff12 1px,#0000 1px)}.scroll-watcher{z-index:1000;transform-origin:0;background:linear-gradient(90deg,#7c3aed,#a78bfa,#ddd6fe);width:100%;height:2px;position:fixed;top:0;left:0;transform:scaleX(0);box-shadow:0 0 12px #a78bfa80}@supports (animation-timeline:scroll()){.scroll-watcher{animation:1s linear forwards scroll-watcher;animation-timeline:scroll()}}@keyframes scroll-watcher{to{transform:scaleX(1)}}.hide-scrollbar::-webkit-scrollbar{display:none}.hide-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.pulse-dot{background:#34d399;border-radius:9999px;flex-shrink:0;width:8px;height:8px;animation:2s infinite pulse-ring;box-shadow:0 0 #34d399b3}@keyframes pulse-ring{0%{box-shadow:0 0 #34d39999}70%{box-shadow:0 0 0 7px #34d39900}to{box-shadow:0 0 #34d39900}}.social-btn{color:#cbd5e1;border:1px solid #ffffff1f;border-radius:.75rem;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;font-size:1.05rem;transition:all .2s;display:inline-flex}.svg-icon{vertical-align:-.125em;flex-shrink:0;width:1em;height:1em;display:inline-block}.social-btn .svg-icon{width:1.15rem;height:1.15rem}.pill .svg-icon,.skill-head .svg-icon{width:.85rem;height:.85rem;color:var(--accent)}.contact-icon .svg-icon{width:1.25rem;height:1.25rem;color:var(--accent)}.project-arrow .svg-icon,.project-link .svg-icon{width:.85rem;height:.85rem}.social-btn:hover{color:#fff;background:#a78bfa1a;border-color:#a78bfa80;transform:translateY(-1px)}.nav-link{text-transform:uppercase;letter-spacing:.08em;color:#94a3b8;opacity:.65;align-items:center;gap:.75rem;padding:.55rem 0;font-size:.8rem;font-weight:700;transition:opacity .2s,color .2s;display:flex}.nav-link:hover{opacity:1;color:#fff}.nav-link .nav-num{color:var(--accent);width:1.5rem;font-family:JetBrains Mono,monospace;font-size:.7rem}.nav-link .indicator{background:#334155;border-radius:9999px;width:2.5rem;height:2px;transition:width .3s,background .3s}.nav-link:hover .indicator{background:#64748b;width:4rem}.nav-link.active{opacity:1;color:#fff}.nav-link.active .indicator{background:var(--accent);width:4rem}.mobile-link{color:#cbd5e1;border-radius:9999px;padding:.5rem .8rem;transition:background .2s,color .2s}.mobile-link:hover{color:#fff;background:#ffffff1a}.mobile-link.active{color:#fff;background:#a78bfa33}.section-head{align-items:center;gap:.75rem;margin-bottom:1.75rem;display:flex}.section-num{color:var(--accent);font-family:JetBrains Mono,monospace;font-size:.8rem}.section-title{color:#fff;letter-spacing:-.01em;white-space:nowrap;font-size:1.25rem;font-weight:700}.section-line{background:#ffffff1a;flex:1;height:1px}.stat-card{text-align:center;background:#ffffff05;border:1px solid #ffffff1a;border-radius:1rem;padding:.9rem .75rem}.stat-num{color:#fff;font-size:1.4rem;font-weight:700}.stat-label{color:#94a3b8;margin-top:.25rem;font-size:.7rem;line-height:1.3}.skill-card{background:#ffffff05;border:1px solid #ffffff1a;border-radius:1rem;padding:1.1rem 1.1rem 1.2rem;transition:border-color .2s,background .2s}.skill-card:hover{background:#ffffff09;border-color:#a78bfa4d}.skill-head{text-transform:uppercase;letter-spacing:.06em;color:#e2e8f0;align-items:center;gap:.5rem;font-size:.85rem;font-weight:700;display:flex}.pill{color:#e2e8f0;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:9999px;align-items:center;gap:.35rem;padding:.3rem .7rem;font-size:.75rem;display:inline-flex}.pill .svg-icon{width:.8rem;height:.8rem;color:var(--accent)}.project-card{background:#ffffff05;border:1px solid #ffffff1a;border-radius:1rem;transition:transform .25s,border-color .25s,background .25s,box-shadow .25s;display:block;overflow:hidden}.project-card:hover{background:#ffffff0a;border-color:#a78bfa59;transform:translateY(-2px);box-shadow:0 12px 40px -12px #0009,0 0 0 1px #a78bfa1a}.project-media{aspect-ratio:16/8;background:#0f172a;position:relative;overflow:hidden}.project-media-placeholder{background:radial-gradient(circle at 50% 120%,#a78bfa40,#0000 60%),linear-gradient(#1e1b4b,#0f172a);border-bottom:1px solid #ffffff14;justify-content:center;align-items:center;display:flex}.project-badge{text-transform:uppercase;letter-spacing:.06em;color:#6ee7b7;background:#34d3991f;border:1px solid #34d3994d;border-radius:9999px;padding:.15rem .6rem;font-size:.68rem;font-weight:700}.project-badge-dim{color:#94a3b8;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:9999px;padding:.15rem .6rem;font-size:.68rem;font-weight:500}.project-img{object-fit:cover;object-position:top;width:100%;height:100%;transition:transform .4s}.project-card:hover .project-img{transform:scale(1.03)}.project-arrow{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;opacity:0;background:#020617bf;border:1px solid #ffffff26;border-radius:.6rem;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:.8rem;transition:opacity .25s,transform .25s;display:inline-flex;position:absolute;top:.75rem;right:.75rem;transform:translateY(4px)}.project-card:hover .project-arrow{opacity:1;transform:translateY(0)}.tech{color:#ddd6fe;white-space:nowrap;background:#a78bfa1a;border:1px solid #a78bfa33;border-radius:9999px;padding:.2rem .6rem;font-size:.7rem;font-weight:500}.project-links{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.project-link{letter-spacing:.02em;color:#e2e8f0;background:#ffffff08;border:1px solid #ffffff1a;border-radius:9999px;align-items:center;gap:.4rem;padding:.45rem .75rem;font-size:.72rem;font-weight:700;transition:border-color .2s,background .2s,transform .2s;display:inline-flex}.project-link:hover{color:#fff;background:#a78bfa14;border-color:#a78bfa59;transform:translateY(-1px)}.service-card{background:#ffffff05;border:1px solid #ffffff1a;border-radius:1rem;padding:1.3rem;transition:border-color .2s,background .2s,transform .2s}.service-card:hover{background:#ffffff0a;border-color:#a78bfa4d;transform:translateY(-2px)}.service-icon{width:2.5rem;height:2.5rem;color:var(--accent);background:#a78bfa1f;border-radius:.75rem;justify-content:center;align-items:center;margin-bottom:.75rem;font-size:1.1rem;display:inline-flex}.service-title{color:#e2e8f0;margin-bottom:.35rem;font-size:.95rem;font-weight:700}.service-desc{color:#94a3b8;font-size:.8rem;line-height:1.65}.process-grid{grid-template-columns:1fr;gap:0;display:grid}@media (min-width:640px){.process-grid{grid-template-columns:repeat(3,1fr);gap:0}}.process-step{background:#ffffff05;border:1px solid #ffffff1a;border-radius:1rem;padding:1.4rem 1.2rem;transition:border-color .2s,background .2s;position:relative}.process-step:hover{background:#ffffff09;border-color:#a78bfa40}@media (min-width:640px){.process-step{border-right:none;border-radius:0}.process-step:first-child{border-radius:1rem 0 0 1rem}.process-step:last-child{border-right:1px solid #ffffff1a;border-radius:0 1rem 1rem 0}}.step-num{width:2rem;height:2rem;color:var(--accent);background:#a78bfa26;border-radius:.5rem;justify-content:center;align-items:center;margin-bottom:.6rem;font-family:JetBrains Mono,monospace;font-size:.75rem;font-weight:700;display:inline-flex}.step-title{color:#e2e8f0;margin-bottom:.3rem;font-size:.9rem;font-weight:700}.step-desc{color:#94a3b8;font-size:.78rem;line-height:1.6}.contact-card{background:#ffffff05;border:1px solid #ffffff1a;border-radius:1rem;flex-direction:column;gap:.25rem;padding:1.1rem;transition:border-color .2s,background .2s,transform .2s;display:flex}a.contact-card:hover{background:#ffffff0a;border-color:#a78bfa59;transform:translateY(-2px)}.contact-icon{color:var(--accent);margin-bottom:.5rem;font-size:1.25rem}.contact-label{text-transform:uppercase;letter-spacing:.08em;color:#94a3b8;font-size:.7rem;font-weight:700}.contact-value{color:#f1f5f9;font-size:.9rem;font-weight:600}.blog-card{background:#ffffff05;border:1px solid #ffffff1a;border-radius:1rem;padding:1.25rem 1.5rem;transition:border-color .2s,background .2s,transform .2s;display:block}.blog-card:hover{background:#ffffff0a;border-color:#a78bfa59;transform:translate(2px)}.blog-post{border-top:1px solid #ffffff14;margin-top:2rem;padding-top:2rem;scroll-margin-top:6rem}.blog-post:first-of-type{border-top:none;margin-top:0;padding-top:0}.blog-post h2{line-height:1.2}.blog-post .prose p{margin-top:1rem}.blog-post .prose h3{margin-top:1.5rem}.blog-post .prose code{color:#ddd6fe;background:#a78bfa26;border-radius:.3rem;padding:.1rem .4rem;font-size:.85em}.reveal{opacity:0;transition:opacity .6s,transform .6s;transform:translateY(18px)}.reveal.visible{opacity:1;transform:none}.typewriter p{color:#0f172a;text-align:left;border-right:.15em solid var(--accent);white-space:nowrap;max-width:fit-content;margin:0;font-size:1rem;animation:2.5s steps(35,end) typing,.9s step-end infinite blink-caret;overflow:hidden}.dark .typewriter p{color:#fff}@keyframes typing{0%{width:0}to{width:100%}}@keyframes blink-caret{0%,to{border-color:#0000}50%{border-color:var(--accent)}}@media (max-width:400px){.typewriter p{font-size:.85rem}}.theme-toggle{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#475569;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#0f172a0f;border-radius:9999px;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;transition:color .2s,background .2s;display:inline-flex}.theme-toggle:hover{color:#0f172a;background:#0f172a1a}.dark .theme-toggle{color:#cbd5e1;background:#ffffff0f}.dark .theme-toggle:hover{color:#fff;background:#ffffff1a}.theme-toggle .svg-icon{width:1.15rem;height:1.15rem}.theme-toggle .icon-sun{display:none}.theme-toggle .icon-moon,.dark .theme-toggle .icon-sun{display:block}.dark .theme-toggle .icon-moon{display:none}html:not(.dark) .social-btn{color:#475569;background:#ffffffb3;border-color:#0f172a1f}html:not(.dark) .social-btn:hover{color:#0f172a;background:#7c3aed14;border-color:#7c3aed80}html:not(.dark) .nav-link{color:#64748b}html:not(.dark) .nav-link:hover,html:not(.dark) .nav-link.active{color:#0f172a}html:not(.dark) .nav-link .indicator{background:#cbd5e1}html:not(.dark) .nav-link:hover .indicator{background:#94a3b8}html:not(.dark) .mobile-link{color:#475569}html:not(.dark) .mobile-link:hover{color:#0f172a;background:#0f172a0f}html:not(.dark) .mobile-link.active{color:#0f172a;background:#7c3aed1f}html:not(.dark) .section-title{color:#0f172a}html:not(.dark) .section-line{background:#0f172a1a}html:not(.dark) .stat-card,html:not(.dark) .skill-card,html:not(.dark) .project-card,html:not(.dark) .blog-card,html:not(.dark) .contact-card,html:not(.dark) .service-card,html:not(.dark) .process-step{background:#fff;border-color:#0f172a1a;box-shadow:0 1px 2px #0f172a0a}html:not(.dark) .skill-card:hover,html:not(.dark) .project-card:hover,html:not(.dark) .blog-card:hover,html:not(.dark) a.contact-card:hover,html:not(.dark) .service-card:hover,html:not(.dark) .process-step:hover{background:#fff;border-color:#7c3aed59;box-shadow:0 12px 32px -16px #0f172a40}html:not(.dark) .service-icon{color:#7c3aed;background:#7c3aed1a}html:not(.dark) .service-title{color:#1e293b}html:not(.dark) .service-desc{color:#64748b}html:not(.dark) .step-num{color:#7c3aed;background:#7c3aed1f}html:not(.dark) .step-title{color:#1e293b}html:not(.dark) .step-desc{color:#64748b}html:not(.dark) .stat-num{color:#0f172a}html:not(.dark) .stat-label,html:not(.dark) .contact-label{color:#64748b}html:not(.dark) .skill-head{color:#1e293b}html:not(.dark) .pill{color:#334155;background:#f1f5f9;border-color:#0f172a1a}html:not(.dark) .project-media{background:#e2e8f0}html:not(.dark) .project-media-placeholder{background:radial-gradient(circle at 50% 120%,#7c3aed2e,#0000 60%),linear-gradient(#ede9fe,#f1f5f9);border-bottom-color:#0f172a14}html:not(.dark) .project-badge{color:#047857;background:#0596691a;border-color:#0596694d}html:not(.dark) .project-badge-dim{color:#64748b;background:#f1f5f9;border-color:#0f172a1a}html:not(.dark) .project-arrow{color:#0f172a;background:#ffffffe6;border-color:#0f172a1f}html:not(.dark) .tech{color:#6d28d9;background:#7c3aed14;border-color:#7c3aed38}html:not(.dark) .project-link{color:#334155;background:#fff;border-color:#0f172a1f}html:not(.dark) .project-link:hover{color:#0f172a;background:#7c3aed0f;border-color:#7c3aed66}html:not(.dark) .contact-value{color:#0f172a}html:not(.dark) .blog-post .prose code{color:#6d28d9;background:#7c3aed1a}@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-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{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-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:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}