/*!tailwindcss v4.3.3 | MIT License | https://tailwindcss.com*/@layer properties;@layer theme{:root,:host{--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New',
    monospace;--color-amber-300:oklch(87.9% 0.169 91.605);--color-amber-400:oklch(82.8% 0.189 84.429);--color-amber-500:oklch(76.9% 0.188 70.08);--color-amber-600:oklch(66.6% 0.179 58.318);--color-amber-700:oklch(55.5% 0.163 48.998);--color-emerald-400:oklch(76.5% 0.177 163.223);--color-emerald-500:oklch(69.6% 0.17 162.48);--color-emerald-600:oklch(59.6% 0.145 163.225);--color-sky-400:oklch(74.6% 0.16 232.661);--color-sky-600:oklch(58.8% 0.158 241.966);--color-violet-400:oklch(70.2% 0.183 293.541);--color-violet-600:oklch(54.1% 0.281 293.009);--color-rose-300:oklch(81% 0.117 11.638);--color-rose-400:oklch(71.2% 0.194 13.428);--color-rose-500:oklch(64.5% 0.246 16.439);--color-rose-700:oklch(51.4% 0.222 16.935);--spacing:0.25rem;--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);--font-weight-medium:500;--font-weight-semibold:600;--tracking-tight:-0.025em;--tracking-wide:0.025em;--leading-relaxed:1.625;--radius-lg:0.5rem;--radius-2xl:1rem;--ease-out:cubic-bezier(0, 0, 0.2, 1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;--default-transition-duration:150ms;--default-transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1)}}@layer utilities{.absolute{position:absolute}.relative{position:relative}.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;}}.mx-4{margin-inline:calc(var(--spacing) * 4)}.my-6{margin-block:calc(var(--spacing) * 6)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-auto{margin-top:auto}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-auto{margin-left:auto}.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-\[16\/9\]{aspect-ratio:16/9}.h-1{height:var(--spacing)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-3{height:calc(var(--spacing) * 3)}.h-4{height:calc(var(--spacing) * 4)}.h-9{height:calc(var(--spacing) * 9)}.h-14{height:calc(var(--spacing) * 14)}.h-full{height:100%}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-3{width:calc(var(--spacing) * 3)}.w-4{width:calc(var(--spacing) * 4)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-14{width:calc(var(--spacing) * 14)}.w-fit{width:fit-content}.w-full{width:100%}.min-w-0{min-width:0}.flex-1{flex:1}.shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.columns-1{columns:1}.break-inside-avoid{break-inside:avoid}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-baseline{align-items:baseline}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-y-0\.5{row-gap:calc(var(--spacing) * .5)}.gap-y-1\.5{row-gap:calc(var(--spacing) * 1.5)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overflow-hidden{overflow:hidden}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-\[10px\]{border-radius:10px}.rounded-\[var\(--radius\)\]{border-radius:var(--radius)}.rounded-full{border-radius:calc(infinity * 1px)}.rounded-lg{border-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-\[color\:var\(--tertiary\)\]{border-color:var(--tertiary)}.border-amber-500\/60{border-color:color-mix(in srgb,oklch(76.9% .188 70.08) 60%,transparent);@supports(color:color-mix(in lab,red,red)){border-color: color-mix(in oklab,var(--color-amber-500) 60%,transparent);}}.border-rose-500\/40{border-color:color-mix(in srgb,oklch(64.5% .246 16.439) 40%,transparent);@supports(color:color-mix(in lab,red,red)){border-color: color-mix(in oklab,var(--color-rose-500) 40%,transparent);}}.bg-\[\#28c840\]{background-color:#28c840}.bg-\[\#febc2e\]{background-color:#febc2e}.bg-\[\#ff5f57\]{background-color:#ff5f57}.bg-\[color\:var\(--tertiary\)\]{background-color:var(--tertiary)}.bg-\[var\(--code-bg\)\]{background-color:var(--code-bg)}.bg-\[var\(--entry\)\]{background-color:var(--entry)}.bg-amber-500{background-color:var(--color-amber-500)}.bg-amber-500\/15{background-color:color-mix(in srgb,oklch(76.9% .188 70.08) 15%,transparent);@supports(color:color-mix(in lab,red,red)){background-color: color-mix(in oklab,var(--color-amber-500) 15%,transparent);}}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-rose-500{background-color:var(--color-rose-500)}.bg-rose-500\/10{background-color:color-mix(in srgb,oklch(64.5% .246 16.439) 10%,transparent);@supports(color:color-mix(in lab,red,red)){background-color: color-mix(in oklab,var(--color-rose-500) 10%,transparent);}}.object-cover{object-fit:cover}.p-2{padding:calc(var(--spacing) * 2)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.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)}.pt-3{padding-top:calc(var(--spacing) * 3)}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--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-\[11px\]{font-size:11px}.leading-\[1\.7\]{--tw-leading:1.7;line-height:1.7}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.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-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.text-\[color\:var\(--primary\)\]{color:var(--primary)}.text-\[color\:var\(--secondary\)\]{color:var(--secondary)}.text-\[color\:var\(--tertiary\)\]{color:var(--tertiary)}.text-amber-600{color:var(--color-amber-600)}.text-amber-700{color:var(--color-amber-700)}.text-emerald-600{color:var(--color-emerald-600)}.text-rose-500{color:var(--color-rose-500)}.text-rose-700{color:var(--color-rose-700)}.text-sky-600{color:var(--color-sky-600)}.text-violet-600{color:var(--color-violet-600)}.underline{text-decoration-line:underline}.decoration-\[color\:var\(--tertiary\)\]{text-decoration-color:var(--tertiary)}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0%}.transition-\[width\]{transition-property:width;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))}.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-300{--tw-duration:300ms;transition-duration:300ms}.duration-700{--tw-duration:700ms;transition-duration:700ms}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.select-none{-webkit-user-select:none;user-select:none}@media(hover:hover){.group-hover\:scale-\[1\.03\]:is(:where(.group):hover *){scale:1.03}.hover\:border-\[color\:var\(--secondary\)\]:hover{border-color:var(--secondary)}.hover\:bg-rose-500\/10:hover{background-color:color-mix(in srgb,oklch(64.5% .246 16.439) 10%,transparent)}@supports(color:color-mix(in lab,red,red)){.hover\:bg-rose-500\/10:hover{background-color:color-mix(in oklab,var(--color-rose-500) 10%,transparent)}}.hover\:text-\[color\:var\(--primary\)\]:hover{color:var(--primary)}.hover\:decoration-\[color\:var\(--secondary\)\]:hover{text-decoration-color:var(--secondary)}}.disabled\:cursor-progress:disabled{cursor:progress}.disabled\:opacity-50:disabled{opacity:50%}@media(prefers-reduced-motion:reduce){.motion-reduce\:transition-none{transition-property:none}}@media(width < 40rem){.max-sm\:hidden{display:none}}@media(width >= 40rem){.sm\:col-span-2{grid-column:span 2/span 2}.sm\:mx-5{margin-inline:calc(var(--spacing) * 5)}.sm\:mb-5{margin-bottom:calc(var(--spacing) * 5)}.sm\:inline{display:inline}.sm\:w-36{width:calc(var(--spacing) * 36)}.sm\:shrink-0{flex-shrink:0}.sm\:columns-2{columns:2}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:p-5{padding:calc(var(--spacing) * 5)}.sm\:px-5{padding-inline:calc(var(--spacing) * 5)}.sm\:text-\[13px\]{font-size:13px}}.dark\:border-amber-400\/50:where([data-theme=dark],[data-theme=dark] *){border-color:color-mix(in srgb,oklch(82.8% .189 84.429) 50%,transparent);@supports(color:color-mix(in lab,red,red)){border-color: color-mix(in oklab,var(--color-amber-400) 50%,transparent);}}.dark\:bg-amber-400:where([data-theme=dark],[data-theme=dark] *){background-color:var(--color-amber-400)}.dark\:bg-amber-400\/15:where([data-theme=dark],[data-theme=dark] *){background-color:color-mix(in srgb,oklch(82.8% .189 84.429) 15%,transparent);@supports(color:color-mix(in lab,red,red)){background-color: color-mix(in oklab,var(--color-amber-400) 15%,transparent);}}.dark\:bg-emerald-400:where([data-theme=dark],[data-theme=dark] *){background-color:var(--color-emerald-400)}.dark\:bg-rose-400:where([data-theme=dark],[data-theme=dark] *){background-color:var(--color-rose-400)}.dark\:text-\[color\:var\(--secondary\)\]:where([data-theme=dark],[data-theme=dark] *){color:var(--secondary)}.dark\:text-amber-300:where([data-theme=dark],[data-theme=dark] *){color:var(--color-amber-300)}.dark\:text-amber-400:where([data-theme=dark],[data-theme=dark] *){color:var(--color-amber-400)}.dark\:text-emerald-400:where([data-theme=dark],[data-theme=dark] *){color:var(--color-emerald-400)}.dark\:text-rose-300:where([data-theme=dark],[data-theme=dark] *){color:var(--color-rose-300)}.dark\:text-rose-400:where([data-theme=dark],[data-theme=dark] *){color:var(--color-rose-400)}.dark\:text-sky-400:where([data-theme=dark],[data-theme=dark] *){color:var(--color-sky-400)}.dark\:text-violet-400:where([data-theme=dark],[data-theme=dark] *){color:var(--color-violet-400)}.dark\:opacity-40:where([data-theme=dark],[data-theme=dark] *){opacity:40%}}@keyframes tech-stack-row{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}@keyframes tech-stack-fill{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}.tech-stack .ts-row{animation:tech-stack-row .34s ease-out both}.tech-stack .ts-fill{animation:tech-stack-fill .85s cubic-bezier(.22,.61,.36,1)both}@media(prefers-reduced-motion:reduce){.tech-stack .ts-row,.tech-stack .ts-fill{animation:none}}@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-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-duration{syntax: "*";
  inherits: false;
}@property --tw-ease{syntax: "*";
  inherits: false;
}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@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-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-duration:initial;--tw-ease:initial}}}