@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=Manrope:wght@400;500;600;700;800&display=swap";
@import "https://cdn.jsdelivr.net/gh/devicons/devicon@latest/devicon.min.css";
@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-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--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-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-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:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-serif:ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-500:#fb2c36;--color-yellow-500:#edb200;--color-green-500:#00c758;--color-emerald-400:#00d294;--color-emerald-500:#00bb7f;--color-rose-400:#ff667f;--color-rose-500:#ff2357;--color-neutral-400:#a1a1a1;--color-neutral-500:#737373;--color-neutral-600:#525252;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-md:28rem;--container-lg:32rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-5xl:3rem;--text-5xl--line-height:1;--text-6xl:3.75rem;--text-6xl--line-height:1;--text-8xl:6rem;--text-8xl--line-height:1;--text-9xl:8rem;--text-9xl--line-height:1;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--font-weight-black:900;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-tight:1.25;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-ping:ping 1s cubic-bezier(0, 0, .2, 1) infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-sm:8px;--blur-xl:24px;--blur-3xl:64px;--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)}@supports (color:lab(0% 0 0)){:root,:host{--color-red-500:lab(55.4814% 75.0732 48.8528);--color-yellow-500:lab(76.3898% 14.5258 98.4589);--color-green-500:lab(70.5521% -66.5147 45.8073);--color-emerald-400:lab(75.0771% -60.7313 19.4147);--color-emerald-500:lab(66.9756% -58.27 19.5419);--color-rose-400:lab(64.4125% 63.0291 19.2068);--color-rose-500:lab(56.101% 79.4328 31.4532);--color-neutral-400:lab(66.128% -.0000298023 .0000119209);--color-neutral-500:lab(48.496% 0 0);--color-neutral-600:lab(34.924% 0 0)}}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-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{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-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.-inset-1{inset:calc(var(--spacing) * -1)}.inset-0{inset:calc(var(--spacing) * 0)}.inset-x-0{inset-inline:calc(var(--spacing) * 0)}.top-0{top:calc(var(--spacing) * 0)}.top-1\/2{top:50%}.top-6{top:calc(var(--spacing) * 6)}.-right-2{right:calc(var(--spacing) * -2)}.right-0{right:calc(var(--spacing) * 0)}.right-4{right:calc(var(--spacing) * 4)}.right-6{right:calc(var(--spacing) * 6)}.-bottom-6{bottom:calc(var(--spacing) * -6)}.bottom-0{bottom:calc(var(--spacing) * 0)}.bottom-6{bottom:calc(var(--spacing) * 6)}.left-0{left:calc(var(--spacing) * 0)}.left-1\/2{left:50%}.left-4{left:calc(var(--spacing) * 4)}.isolate{isolation:isolate}.z-10{z-index:10}.z-50{z-index:50}.z-\[9999\]{z-index:9999}.order-1{order:1}.order-2{order:2}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-12{margin-top:calc(var(--spacing) * 12)}.mt-auto{margin-top:auto}.mr-2{margin-right:calc(var(--spacing) * 2)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-2\.5{margin-bottom:calc(var(--spacing) * 2.5)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.mb-10{margin-bottom:calc(var(--spacing) * 10)}.mb-12{margin-bottom:calc(var(--spacing) * 12)}.mb-14{margin-bottom:calc(var(--spacing) * 14)}.ml-1{margin-left:calc(var(--spacing) * 1)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.aspect-\[16\/9\]{aspect-ratio:16/9}.h-1{height:calc(var(--spacing) * 1)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-14{height:calc(var(--spacing) * 14)}.h-24{height:calc(var(--spacing) * 24)}.h-40{height:calc(var(--spacing) * 40)}.h-64{height:calc(var(--spacing) * 64)}.h-\[16px\]{height:16px}.h-\[22px\]{height:22px}.h-\[220px\]{height:220px}.h-full{height:100%}.min-h-\[75vh\]{min-height:75vh}.min-h-\[160px\]{min-height:160px}.min-h-\[180px\]{min-height:180px}.min-h-\[200px\]{min-height:200px}.min-h-screen{min-height:100vh}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-5{width:calc(var(--spacing) * 5)}.w-7{width:calc(var(--spacing) * 7)}.w-10{width:calc(var(--spacing) * 10)}.w-12{width:calc(var(--spacing) * 12)}.w-14{width:calc(var(--spacing) * 14)}.w-24{width:calc(var(--spacing) * 24)}.w-52{width:calc(var(--spacing) * 52)}.w-64{width:calc(var(--spacing) * 64)}.w-\[16px\]{width:16px}.w-\[22px\]{width:22px}.w-fit{width:fit-content}.w-full{width:100%}.max-w-\[220px\]{max-width:220px}.max-w-\[340px\]{max-width:340px}.max-w-\[440px\]{max-width:440px}.max-w-\[480px\]{max-width:480px}.max-w-\[500px\]{max-width:500px}.max-w-\[600px\]{max-width:600px}.max-w-\[640px\]{max-width:640px}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.border-collapse{border-collapse:collapse}.-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)}.translate-y-0{--tw-translate-y:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-4{--tw-translate-y:calc(var(--spacing) * 4);translate:var(--tw-translate-x) var(--tw-translate-y)}.scale-75{--tw-scale-x:75%;--tw-scale-y:75%;--tw-scale-z:75%;scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-95{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-105{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-ping{animation:var(--animate-ping)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-none{resize:none}.scrollbar-thin{scrollbar-width:thin}.list-disc{list-style-type:disc}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-1{gap:calc(var(--spacing) * 1)}.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-3\.5{gap:calc(var(--spacing) * 3.5)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-10{gap:calc(var(--spacing) * 10)}.gap-12{gap:calc(var(--spacing) * 12)}: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)))}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-\[var\(--radius-md\)\]{border-radius:var(--radius-md)}.rounded-\[var\(--radius-sm\)\]{border-radius:var(--radius-sm)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-t-\[var\(--radius-lg\)\]{border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-\[color-mix\(in_oklch\,var\(--accent\)_20\%\,transparent\)\]{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.border-\[color-mix\(in_oklch\,var\(--accent\)_20\%\,transparent\)\]{border-color:color-mix(in oklch,var(--accent) 20%,transparent)}}.border-\[var\(--accent\)\]{border-color:var(--accent)}.border-\[var\(--border\)\]{border-color:var(--border)}.border-emerald-500\/30{border-color:#00bb7f4d}@supports (color:color-mix(in lab, red, red)){.border-emerald-500\/30{border-color:color-mix(in oklab, var(--color-emerald-500) 30%, transparent)}}.border-rose-500\/30{border-color:#ff23574d}@supports (color:color-mix(in lab, red, red)){.border-rose-500\/30{border-color:color-mix(in oklab, var(--color-rose-500) 30%, transparent)}}.border-l-\[var\(--accent\)\]{border-left-color:var(--accent)}.bg-\[color-mix\(in_oklch\,var\(--accent\)_10\%\,transparent\)\]{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.bg-\[color-mix\(in_oklch\,var\(--accent\)_10\%\,transparent\)\]{background-color:color-mix(in oklch,var(--accent) 10%,transparent)}}.bg-\[color-mix\(in_oklch\,var\(--bg\)_30\%\,transparent\)\]{background-color:var(--bg)}@supports (color:color-mix(in lab, red, red)){.bg-\[color-mix\(in_oklch\,var\(--bg\)_30\%\,transparent\)\]{background-color:color-mix(in oklch,var(--bg) 30%,transparent)}}.bg-\[var\(--accent\)\],.bg-\[var\(--accent\)\]\/10{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.bg-\[var\(--accent\)\]\/10{background-color:color-mix(in oklab, var(--accent) 10%, transparent)}}.bg-\[var\(--bg\)\],.bg-\[var\(--bg\)\]\/50{background-color:var(--bg)}@supports (color:color-mix(in lab, red, red)){.bg-\[var\(--bg\)\]\/50{background-color:color-mix(in oklab, var(--bg) 50%, transparent)}}.bg-\[var\(--border\)\]{background-color:var(--border)}.bg-\[var\(--surface\)\],.bg-\[var\(--surface\)\]\/50{background-color:var(--surface)}@supports (color:color-mix(in lab, red, red)){.bg-\[var\(--surface\)\]\/50{background-color:color-mix(in oklab, var(--surface) 50%, transparent)}}.bg-\[var\(--surface\)\]\/80{background-color:var(--surface)}@supports (color:color-mix(in lab, red, red)){.bg-\[var\(--surface\)\]\/80{background-color:color-mix(in oklab, var(--surface) 80%, transparent)}}.bg-emerald-400{background-color:var(--color-emerald-400)}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-emerald-500\/10{background-color:#00bb7f1a}@supports (color:color-mix(in lab, red, red)){.bg-emerald-500\/10{background-color:color-mix(in oklab, var(--color-emerald-500) 10%, transparent)}}.bg-green-500\/80{background-color:#00c758cc}@supports (color:color-mix(in lab, red, red)){.bg-green-500\/80{background-color:color-mix(in oklab, var(--color-green-500) 80%, transparent)}}.bg-red-500\/80{background-color:#fb2c36cc}@supports (color:color-mix(in lab, red, red)){.bg-red-500\/80{background-color:color-mix(in oklab, var(--color-red-500) 80%, transparent)}}.bg-rose-500\/10{background-color:#ff23571a}@supports (color:color-mix(in lab, red, red)){.bg-rose-500\/10{background-color:color-mix(in oklab, var(--color-rose-500) 10%, transparent)}}.bg-yellow-500\/80{background-color:#edb200cc}@supports (color:color-mix(in lab, red, red)){.bg-yellow-500\/80{background-color:color-mix(in oklab, var(--color-yellow-500) 80%, transparent)}}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-\[linear-gradient\(to_bottom\,var\(--border\)_1px\,transparent_1px\)\]{background-image:linear-gradient(to bottom,var(--border) 1px,transparent 1px)}.from-\[var\(--accent\)\]{--tw-gradient-from:var(--accent);--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))}.from-\[var\(--accent\)\]\/50{--tw-gradient-from:var(--accent)}@supports (color:color-mix(in lab, red, red)){.from-\[var\(--accent\)\]\/50{--tw-gradient-from:color-mix(in oklab, var(--accent) 50%, transparent)}}.from-\[var\(--accent\)\]\/50{--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-\[var\(--accent\)\]{--tw-gradient-via:var(--accent);--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-\[var\(--accent-secondary\)\]{--tw-gradient-to:var(--accent-secondary);--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))}.to-\[var\(--accent-secondary\)\]\/50{--tw-gradient-to:var(--accent-secondary)}@supports (color:color-mix(in lab, red, red)){.to-\[var\(--accent-secondary\)\]\/50{--tw-gradient-to:color-mix(in oklab, var(--accent-secondary) 50%, transparent)}}.to-\[var\(--accent-secondary\)\]\/50{--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))}.bg-\[size\:100\%_40px\]{background-size:100% 40px}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.fill-current{fill:currentColor}.fill-none{fill:none}.stroke-current{stroke:currentColor}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.object-top{object-position:top}.\!p-6{padding:calc(var(--spacing) * 6)!important}.\!p-8{padding:calc(var(--spacing) * 8)!important}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.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-8{padding:calc(var(--spacing) * 8)}.\!px-2\.5{padding-inline:calc(var(--spacing) * 2.5)!important}.\!px-3{padding-inline:calc(var(--spacing) * 3)!important}.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)}.px-8{padding-inline:calc(var(--spacing) * 8)}.\!py-1{padding-block:calc(var(--spacing) * 1)!important}.\!py-1\.5{padding-block:calc(var(--spacing) * 1.5)!important}.py-1{padding-block:calc(var(--spacing) * 1)}.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-3\.5{padding-block:calc(var(--spacing) * 3.5)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-16{padding-block:calc(var(--spacing) * 16)}.py-20{padding-block:calc(var(--spacing) * 20)}.py-24{padding-block:calc(var(--spacing) * 24)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-8{padding-top:calc(var(--spacing) * 8)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pb-24{padding-bottom:calc(var(--spacing) * 24)}.pl-1{padding-left:calc(var(--spacing) * 1)}.pl-5{padding-left:calc(var(--spacing) * 5)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.font-serif{font-family:var(--font-serif)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-8xl{font-size:var(--text-8xl);line-height:var(--tw-leading,var(--text-8xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.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-\[0\.05em\]{--tw-tracking:.05em;letter-spacing:.05em}.tracking-\[0\.25em\]{--tw-tracking:.25em;letter-spacing:.25em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.text-\[var\(--accent\)\]{color:var(--accent)}.text-\[var\(--border\)\],.text-\[var\(--border\)\]\/20{color:var(--border)}@supports (color:color-mix(in lab, red, red)){.text-\[var\(--border\)\]\/20{color:color-mix(in oklab, var(--border) 20%, transparent)}}.text-\[var\(--fg\)\]{color:var(--fg)}.text-\[var\(--muted\)\],.text-\[var\(--muted\)\]\/50{color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.text-\[var\(--muted\)\]\/50{color:color-mix(in oklab, var(--muted) 50%, transparent)}}.text-emerald-400{color:var(--color-emerald-400)}.text-neutral-400{color:var(--color-neutral-400)}.text-neutral-500{color:var(--color-neutral-500)}.text-rose-400{color:var(--color-rose-400)}.text-transparent{color:#0000}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-25{opacity:.25}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-90{opacity:.9}.opacity-100{opacity:1}.opacity-\[0\.03\]{opacity:.03}.shadow-\[0_0_10px_rgba\(var\(--accent\)\,0\.3\)\]{--tw-shadow:0 0 10px var(--tw-shadow-color,rgba(var(--accent),.3));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-2{--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)}.ring-\[var\(--accent\)\]\/30{--tw-ring-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.ring-\[var\(--accent\)\]\/30{--tw-ring-color:color-mix(in oklab, var(--accent) 30%, transparent)}}.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,)}.blur-3xl{--tw-blur:blur(var(--blur-3xl));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,)}.blur-xl{--tw-blur:blur(var(--blur-xl));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-sm{--tw-backdrop-blur:blur(var(--blur-sm));-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))}.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-100{--tw-duration:.1s;transition-duration:.1s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.duration-700{--tw-duration:.7s;transition-duration:.7s}.duration-1000{--tw-duration:1s;transition-duration:1s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.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-105:is(:where(.group):hover *){--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.group-hover\:scale-150:is(:where(.group):hover *){--tw-scale-x:150%;--tw-scale-y:150%;--tw-scale-z:150%;scale:var(--tw-scale-x) var(--tw-scale-y)}.group-hover\:border-\[var\(--accent\)\]:is(:where(.group):hover *){border-color:var(--accent)}.group-hover\:opacity-50:is(:where(.group):hover *){opacity:.5}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}.group-hover\:duration-200:is(:where(.group):hover *){--tw-duration:.2s;transition-duration:.2s}}.last\:mb-0:last-child{margin-bottom:calc(var(--spacing) * 0)}@media (hover:hover){.hover\:-translate-y-0\.5:hover{--tw-translate-y:calc(var(--spacing) * -.5);translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:-translate-y-1:hover{--tw-translate-y:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:scale-110:hover{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\:scale-\[1\.02\]:hover{scale:1.02}.hover\:scale-\[1\.03\]:hover{scale:1.03}.hover\:border-\[var\(--accent\)\]:hover,.hover\:border-\[var\(--accent\)\]\/50:hover{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.hover\:border-\[var\(--accent\)\]\/50:hover{border-color:color-mix(in oklab, var(--accent) 50%, transparent)}}.hover\:bg-\[var\(--accent\)\]:hover{background-color:var(--accent)}.hover\:bg-\[var\(--surface\)\]:hover{background-color:var(--surface)}.hover\:text-\[color-mix\(in_oklch\,var\(--accent\)_80\%\,white\)\]:hover{color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.hover\:text-\[color-mix\(in_oklch\,var\(--accent\)_80\%\,white\)\]:hover{color:color-mix(in oklch,var(--accent) 80%,white)}}.hover\:text-\[var\(--accent\)\]:hover,.hover\:text-\[var\(--accent\)\]\/85:hover{color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.hover\:text-\[var\(--accent\)\]\/85:hover{color:color-mix(in oklab, var(--accent) 85%, transparent)}}.hover\:text-\[var\(--fg\)\]:hover{color:var(--fg)}.hover\:text-white:hover{color:var(--color-white)}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-\[0_0_15px_var\(--accent\)\]:hover{--tw-shadow:0 0 15px var(--tw-shadow-color,var(--accent));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}}.focus\:border-\[var\(--accent\)\]:focus{border-color:var(--accent)}.focus\:opacity-100:focus{opacity:1}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.active\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-75:disabled{opacity:.75}@media (min-width:40rem){.sm\:w-auto{width:auto}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:48rem){.md\:order-1{order:1}.md\:order-2{order:2}.md\:block{display:block}.md\:aspect-auto{aspect-ratio:auto}.md\:h-\[420px\]{height:420px}.md\:max-w-xs{max-width:var(--container-xs)}.md\:flex-none{flex:none}.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\:flex-row{flex-direction:row}.md\:items-end{align-items:flex-end}.md\:justify-between{justify-content:space-between}.md\:self-auto{align-self:auto}.md\:px-6{padding-inline:calc(var(--spacing) * 6)}.md\:py-16{padding-block:calc(var(--spacing) * 16)}.md\:text-left{text-align:left}.md\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.md\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.md\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.md\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.md\:text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.md\:text-9xl{font-size:var(--text-9xl);line-height:var(--tw-leading,var(--text-9xl--line-height))}.md\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.md\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.md\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}}@media (min-width:64rem){.lg\:col-span-2{grid-column:span 2/span 2}.lg\:col-span-5{grid-column:span 5/span 5}.lg\:col-span-7{grid-column:span 7/span 7}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lg\:justify-items-end{justify-items:end}}@media (prefers-color-scheme:dark){.dark\:text-neutral-400{color:var(--color-neutral-400)}.dark\:text-neutral-500{color:var(--color-neutral-500)}.dark\:text-neutral-600{color:var(--color-neutral-600)}}}:root{--bg:#faf9f7;--surface:#fff;--fg:#131212;--muted:#686764;--border:#e4e3e0;--accent:#b94602;--accent-secondary:#3c7391;--grid-transparency:97%;--ambient-primary:#b946020a;--ambient-secondary-transparency:95%;--noise-opacity:.12;--spotlight-transparency:92%;--radius-sm:6px;--radius-md:12px;--radius-lg:20px;--font-display:"Manrope", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--font-body:"Manrope", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, Menlo, monospace;--transition:all .3s cubic-bezier(.4, 0, .2, 1)}@supports (color:lab(0% 0 0)){:root{--bg:lab(97.9182% .237077 1.11181);--surface:lab(100% 0 0);--fg:lab(5.72017% .18467 .56555);--muted:lab(43.5178% .275642 1.4974);--border:lab(90.15% .271618 1.49485);--accent:lab(45.8404% 45.777 56.3648);--accent-secondary:lab(45.5684% -11.6294 -22.4843);--ambient-primary:lab(45.8404% 45.777 56.3648/.04)}}[data-theme=dark]{--bg:#11100d;--surface:#1b1917;--fg:#faf9f7;--muted:#999692;--border:#272623;--accent:#d76d3d;--accent-secondary:#87b2bc;--grid-transparency:95%;--ambient-primary:#d76d3d0f;--ambient-secondary-transparency:92%;--noise-opacity:.2;--spotlight-transparency:86%}@supports (color:lab(0% 0 0)){[data-theme=dark]{--bg:lab(4.60285% .280812 1.23458);--surface:lab(8.83381% .395887 1.87543);--fg:lab(97.9182% .237077 1.11181);--muted:lab(62.2041% .406325 2.64096);--border:lab(15.0982% .389114 1.87535);--accent:lab(58.3507% 40.0369 45.8695);--accent-secondary:lab(69.5906% -12.8405 -10.3935);--ambient-primary:lab(58.3507% 40.0369 45.8695/.06)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes blink{50%{opacity:0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes languageEnter{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes ambientDrift{0%,to{transform:translate(-2%,-1%)scale(1)}50%{transform:translate(2%,1%)scale(1.04)}}@keyframes themeReveal{0%{clip-path:circle(0 at var(--theme-reveal-x) var(--theme-reveal-y))}to{clip-path:circle(var(--theme-reveal-radius) at var(--theme-reveal-x) var(--theme-reveal-y))}}@keyframes themeIconOut{to{opacity:0;transform:rotate(-70deg)scale(.45)}}@keyframes themeIconIn{0%{opacity:0;transform:rotate(70deg)scale(.45)}to{opacity:1;transform:rotate(0)scale(1)}}.reveal{opacity:0;transition:opacity .62s cubic-bezier(.22, 1, .36, 1) var(--reveal-delay,0s), transform .62s cubic-bezier(.22, 1, .36, 1) var(--reveal-delay,0s);transform:translateY(30px)}.reveal.active,.scroll-reveal.active{opacity:1;transform:translateY(0)}.scroll-effects-ready .scroll-reveal{opacity:0;transition:opacity .56s cubic-bezier(.22, 1, .36, 1) var(--reveal-delay,0s), transform .56s cubic-bezier(.22, 1, .36, 1) var(--reveal-delay,0s);transform:translateY(20px)}.scroll-effects-ready .scroll-reveal.scroll-reveal-card{transform:translateY(18px)scale(.985)}.scroll-effects-ready .scroll-reveal.active{opacity:1;transform:translateY(0)scale(1)}.scroll-progress{z-index:110;pointer-events:none;background:var(--accent);height:2px;box-shadow:0 0 12px var(--accent);position:fixed;top:0;left:0;right:0}@supports (color:color-mix(in lab, red, red)){.scroll-progress{box-shadow:0 0 12px color-mix(in oklch, var(--accent), transparent 42%)}}.scroll-progress{transform:scaleX(var(--scroll-progress,0));transform-origin:0;will-change:transform}.cursor{background-color:var(--accent);flex-shrink:0;width:8px;height:1.1em;margin-left:4px;animation:1s step-end infinite blink;display:inline-block}*{box-sizing:border-box;margin:0;padding:0}html{background:var(--bg);scroll-behavior:smooth}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}::view-transition-old(root){z-index:1}::view-transition-new(root){z-index:9999;animation:.62s cubic-bezier(.22,1,.36,1) both themeReveal}::view-transition-group(theme-toggle){z-index:10000}::view-transition-old(theme-toggle){animation:.22s both themeIconOut}::view-transition-new(theme-toggle){animation:.42s cubic-bezier(.22,1,.36,1) .1s both themeIconIn}.theme-switching,.theme-switching *{transition:none!important}body{isolation:isolate;background-color:var(--bg);min-height:100vh;color:var(--fg);font-family:var(--font-body);-webkit-font-smoothing:antialiased;line-height:1.6;transition:background-color .3s,color .3s;position:relative}body:before,body:after{content:"";z-index:-1;pointer-events:none;position:fixed;inset:0}body:before{background-image:linear-gradient(var(--fg) 1px, transparent 1px), linear-gradient(90deg, var(--fg) 1px, transparent 1px), radial-gradient(circle at 16% 22%, var(--ambient-primary), transparent 31%), radial-gradient(circle at 86% 66%, var(--accent-secondary), transparent 30%);inset:-4%}@supports (color:color-mix(in lab, red, red)){body:before{background-image:linear-gradient(color-mix(in oklch, var(--fg), transparent var(--grid-transparency)) 1px, transparent 1px), linear-gradient(90deg, color-mix(in oklch, var(--fg), transparent var(--grid-transparency)) 1px, transparent 1px), radial-gradient(circle at 16% 22%, var(--ambient-primary), transparent 31%), radial-gradient(circle at 86% 66%, color-mix(in oklch, var(--accent-secondary), transparent var(--ambient-secondary-transparency)), transparent 30%)}}body:before{background-size:52px 52px,52px 52px,100% 100%,100% 100%;background-position:0 var(--background-scroll-offset,0px), 0 var(--background-scroll-offset,0px), center, center;will-change:transform, background-position;animation:22s ease-in-out infinite ambientDrift}body:after{opacity:var(--noise-opacity);mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.34'/%3E%3C/svg%3E");background-size:180px 180px}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.02em;font-weight:800}a{color:inherit;transition:var(--transition);text-decoration:none}.container{width:100%!important;max-width:1200px!important;margin:0 auto!important;padding:0 24px!important}.text-muted{color:var(--muted)}.text-accent{color:var(--accent)}.bg-surface{background-color:var(--surface)}.border{border:1px solid var(--border)}.rounded{border-radius:var(--radius-md)}.project-card{isolation:isolate;--spotlight-x:50%;--spotlight-y:50%;--spotlight-opacity:0;position:relative}.project-card:before{content:"";z-index:0;pointer-events:none;border-radius:inherit;opacity:var(--spotlight-opacity);background:radial-gradient(320px circle at var(--spotlight-x) var(--spotlight-y), var(--accent), transparent 68%);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.project-card:before{background:radial-gradient(320px circle at var(--spotlight-x) var(--spotlight-y), color-mix(in oklch, var(--accent), transparent var(--spotlight-transparency)), transparent 68%)}}.project-card:before{transition:opacity .22s}.project-card>*{z-index:1;position:relative}.badge.tech-icon-badge,.tech-tag.tech-icon-badge{--tech-color:var(--accent);border:1px solid var(--tech-color);flex:0 0 36px;place-items:center;width:36px;height:36px;padding:0;display:inline-grid;position:relative}@supports (color:color-mix(in lab, red, red)){.badge.tech-icon-badge,.tech-tag.tech-icon-badge{border:1px solid color-mix(in srgb, var(--tech-color), var(--border) 80%)}}.badge.tech-icon-badge,.tech-tag.tech-icon-badge{background:var(--tech-color);border-radius:8px}@supports (color:color-mix(in lab, red, red)){.badge.tech-icon-badge,.tech-tag.tech-icon-badge{background:color-mix(in srgb, var(--tech-color), transparent 94%)}}.badge.tech-icon-badge,.tech-tag.tech-icon-badge{color:var(--tech-color);cursor:help;transition:var(--transition)}.badge.tech-icon-badge:hover,.badge.tech-icon-badge:focus-visible,.tech-tag.tech-icon-badge:hover,.tech-tag.tech-icon-badge:focus-visible{color:var(--tech-color);border-color:var(--tech-color)}@supports (color:color-mix(in lab, red, red)){.badge.tech-icon-badge:hover,.badge.tech-icon-badge:focus-visible,.tech-tag.tech-icon-badge:hover,.tech-tag.tech-icon-badge:focus-visible{border-color:color-mix(in srgb, var(--tech-color), var(--fg) 20%)}}.badge.tech-icon-badge:hover,.badge.tech-icon-badge:focus-visible,.tech-tag.tech-icon-badge:hover,.tech-tag.tech-icon-badge:focus-visible{background:var(--tech-color)}@supports (color:color-mix(in lab, red, red)){.badge.tech-icon-badge:hover,.badge.tech-icon-badge:focus-visible,.tech-tag.tech-icon-badge:hover,.tech-tag.tech-icon-badge:focus-visible{background:color-mix(in srgb, var(--tech-color), transparent 88%)}}.badge.tech-icon-badge:hover,.badge.tech-icon-badge:focus-visible,.tech-tag.tech-icon-badge:hover,.tech-tag.tech-icon-badge:focus-visible{outline:none;transform:translateY(-2px)}.tech-icon-badge i,.tech-icon-badge svg{opacity:.65;filter:grayscale()opacity(.7);width:18px;height:18px;font-size:18px;transition:opacity .18s,filter .18s,transform .18s;transform:scale(1)}.tech-icon-badge:hover i,.tech-icon-badge:hover svg,.tech-icon-badge:focus-visible i,.tech-icon-badge:focus-visible svg{opacity:1;filter:grayscale(0)opacity();transform:scale(1.08)}.tech-icon-badge.tech-icon-monochrome{--tech-color:var(--fg);border-color:var(--fg)}@supports (color:color-mix(in lab, red, red)){.tech-icon-badge.tech-icon-monochrome{border-color:color-mix(in oklch, var(--fg), var(--border) 88%)}}.tech-icon-badge.tech-icon-monochrome{background:var(--fg)}@supports (color:color-mix(in lab, red, red)){.tech-icon-badge.tech-icon-monochrome{background:color-mix(in oklch, var(--fg), transparent 96%)}}.tech-icon-badge:after{content:attr(data-tech-label);z-index:20;border:1px solid var(--border);background:var(--fg);color:var(--bg);font-family:var(--font-mono);white-space:nowrap;opacity:0;pointer-events:none;border-radius:6px;padding:5px 8px;font-size:.68rem;font-weight:600;line-height:1;transition:opacity .16s,transform .16s;position:absolute;bottom:calc(100% + 9px);left:50%;transform:translate(-50%,4px)}.tech-icon-badge:hover:after,.tech-icon-badge:focus-visible:after{opacity:1;transform:translate(-50%)}nav{z-index:100;--nav-height:72px;-webkit-backdrop-filter:blur();will-change:transform;background-color:#0000;border-bottom:1px solid #0000;align-items:center;height:72px;transition:height .24s cubic-bezier(.4,0,.2,1),background-color .24s,border-color .24s,-webkit-backdrop-filter .24s,backdrop-filter .24s,transform .24s;display:flex;position:sticky;top:0;transform:translateY(0)}nav.is-scrolled{--nav-height:60px;height:var(--nav-height);background-color:var(--bg)}@supports (color:color-mix(in lab, red, red)){nav.is-scrolled{background-color:color-mix(in oklch, var(--bg), transparent 12%)}}nav.is-scrolled{-webkit-backdrop-filter:blur(16px)saturate(140%);border-bottom-color:var(--border)}nav.is-hidden{transform:translateY(calc(-100% - 1px))}nav.is-hidden:focus-within{transform:translateY(0)}nav .container{justify-content:space-between;align-items:center;width:100%;display:flex}.logo{letter-spacing:-.03em;align-items:center;gap:10px;font-size:1.25rem;font-weight:800;transition:font-size .24s,color .24s;display:inline-flex}.logo svg{transition:transform .24s}.logo:hover svg{transform:scale(1.08)}nav.is-scrolled .logo{font-size:1.1rem}.nav-links{align-items:center;gap:32px;display:flex}.nav-links a{min-height:36px;color:var(--muted);align-items:center;padding:0 0 2px 14px;transition:color .22s,text-shadow .22s,transform .16s;display:inline-flex;position:relative}.nav-links a:before{content:">";color:var(--accent);font-family:var(--font-mono);opacity:0;font-size:.72em;font-weight:700;transition:opacity .22s,transform .22s cubic-bezier(.22,1,.36,1);position:absolute;left:0;transform:translate(-5px)}.nav-links a:after{content:"";background:var(--accent);height:1px;box-shadow:0 0 8px var(--accent);position:absolute;bottom:0;left:14px;right:0}@supports (color:color-mix(in lab, red, red)){.nav-links a:after{box-shadow:0 0 8px color-mix(in oklch, var(--accent), transparent 55%)}}.nav-links a:after{transform-origin:0;transition:transform .22s cubic-bezier(.22,1,.36,1);transform:scaleX(0)}.nav-links a:hover,.nav-links a:focus-visible,.nav-links a[aria-current=page]{color:var(--fg);text-shadow:0 0 12px var(--accent)}@supports (color:color-mix(in lab, red, red)){.nav-links a:hover,.nav-links a:focus-visible,.nav-links a[aria-current=page]{text-shadow:0 0 12px color-mix(in oklch, var(--accent), transparent 68%)}}.nav-links a:hover:before,.nav-links a:focus-visible:before,.nav-links a[aria-current=page]:before{opacity:1;transform:translate(0)}.nav-links a:hover:after,.nav-links a:focus-visible:after,.nav-links a[aria-current=page]:after{transform:scaleX(1)}.nav-links a:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:2px}.nav-links a:active{transform:translateY(1px)}.nav-actions{align-items:center;gap:16px;display:flex}.language-switch{background:var(--surface);border:1px solid var(--border);isolation:isolate;--language-position:0%;border-radius:999px;align-items:center;display:inline-flex;position:relative;padding:3px!important}.language-switch[data-language=vi]{--language-position:100%}.language-switch:before{content:"";z-index:0;background:var(--accent);width:calc(50% - 3px);height:calc(100% - 6px);box-shadow:0 4px 12px var(--accent);border-radius:999px;position:absolute;top:3px;left:3px}@supports (color:color-mix(in lab, red, red)){.language-switch:before{box-shadow:0 4px 12px color-mix(in oklch, var(--accent), transparent 72%)}}.language-switch:before{transform:translateX(var(--language-position));transition:transform .18s cubic-bezier(.22,1,.36,1),background-color .18s}.language-switch button{z-index:1;min-width:36px;min-height:30px;color:var(--muted);font-family:var(--font-mono);letter-spacing:.05em;cursor:pointer;transition:var(--transition);background:0 0;border:0;border-radius:999px;font-size:.68rem;font-weight:600;position:relative;padding:0 9px!important}.language-switch button:hover{color:var(--fg)}.language-switch button.active{color:#fff;color:lab(100% 0 0)}.language-switch.is-switching{pointer-events:none}main.language-leaving{opacity:0;transition:opacity .12s,transform .12s;transform:translateY(4px)}main.language-entering{animation:.24s cubic-bezier(.22,1,.36,1) languageEnter}.btn{border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);justify-content:center;align-items:center;padding:10px 20px;font-size:.9375rem;font-weight:600;display:inline-flex}.btn-primary{background:var(--accent);color:#fff;color:lab(100% 0 0);border:1px solid var(--accent)}@supports (color:color-mix(in lab, red, red)){.btn-primary{border:1px solid color-mix(in oklch, var(--accent), white 12%)}}.btn-primary{box-shadow:0 8px 24px var(--accent)}@supports (color:color-mix(in lab, red, red)){.btn-primary{box-shadow:0 8px 24px color-mix(in oklch, var(--accent), transparent 78%)}}.btn-primary:hover{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.btn-primary:hover{background:color-mix(in oklch, var(--accent), white 8%)}}.btn-primary:hover{box-shadow:0 12px 30px var(--accent)}@supports (color:color-mix(in lab, red, red)){.btn-primary:hover{box-shadow:0 12px 30px color-mix(in oklch, var(--accent), transparent 70%)}}.btn-primary:hover{transform:translateY(-1px)}.btn-outline{border:1px solid var(--border);background:0 0}.btn-outline:hover{background:var(--surface);border-color:var(--accent)}.theme-toggle{view-transition-name:theme-toggle;width:36px;height:36px;color:var(--fg);cursor:pointer;transition:var(--transition);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:8px;display:flex;position:relative}.theme-toggle:hover{background:var(--border)}.theme-icon{width:20px;height:20px;display:block;position:relative}.theme-icon svg{width:20px;height:20px;transition:opacity .36s,transform .42s cubic-bezier(.22,1,.36,1);position:absolute;inset:0}.theme-icon-sun{opacity:0;transform:rotate(-80deg)scale(.45)}.theme-icon-moon,[data-theme=dark] .theme-icon-sun{opacity:1;transform:rotate(0)scale(1)}[data-theme=dark] .theme-icon-moon{opacity:0;transform:rotate(80deg)scale(.45)}.menu-toggle{border:1px solid var(--border);background:var(--surface);border-radius:50%;width:44px;height:44px;padding:0;display:none}@supports (color:color-mix(in lab, red, red)){.menu-toggle{background:color-mix(in oklch, var(--surface), transparent 22%)}}.menu-toggle{color:var(--fg);cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-backdrop-filter:blur(12px);place-items:center;transition:background-color .22s,border-color .22s,color .22s,transform .16s}.menu-toggle:hover,.menu-toggle:focus-visible,.menu-toggle[aria-expanded=true]{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.menu-toggle:hover,.menu-toggle:focus-visible,.menu-toggle[aria-expanded=true]{border-color:color-mix(in oklch, var(--accent), var(--border) 45%)}}.menu-toggle:hover,.menu-toggle:focus-visible,.menu-toggle[aria-expanded=true]{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.menu-toggle:hover,.menu-toggle:focus-visible,.menu-toggle[aria-expanded=true]{background:color-mix(in oklch, var(--accent), transparent 88%)}}.menu-toggle:hover,.menu-toggle:focus-visible,.menu-toggle[aria-expanded=true]{color:var(--accent)}.menu-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.menu-toggle:active{transform:scale(.94)}.menu-toggle-icon{width:20px;height:16px;display:block;position:relative}.menu-toggle-icon span{transform-origin:50%;background:currentColor;border-radius:999px;width:18px;height:2px;transition:top .22s cubic-bezier(.22,1,.36,1),opacity .14s,transform .22s cubic-bezier(.22,1,.36,1);position:absolute;left:1px}.menu-toggle-icon span:first-child{top:1px}.menu-toggle-icon span:nth-child(2){top:7px}.menu-toggle-icon span:nth-child(3){top:13px}.menu-toggle[aria-expanded=true] .menu-toggle-icon span:first-child{top:7px;transform:rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-toggle-icon span:nth-child(2){opacity:0;transform:scaleX(.25)}.menu-toggle[aria-expanded=true] .menu-toggle-icon span:nth-child(3){top:7px;transform:rotate(-45deg)}@media (max-width:768px){.nav-actions{gap:8px}.language-switch button{min-width:32px;padding:0 7px!important}.nav-links{top:var(--nav-height);background:var(--bg);width:100%;display:none;position:absolute;left:0}@supports (color:color-mix(in lab, red, red)){.nav-links{background:color-mix(in oklch, var(--bg), transparent 4%)}}.nav-links{-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border);flex-direction:column;gap:16px;padding:24px;box-shadow:0 10px 30px #0000001a}.nav-links a{border-radius:8px;width:100%;min-height:48px;padding:0 16px 0 20px}.nav-links a:before{content:"";background:var(--accent);transform-origin:50%;border-radius:999px;width:2px;top:9px;bottom:9px;left:0;transform:scaleY(0)}.nav-links a:after{display:none}.nav-links a:hover,.nav-links a:focus-visible,.nav-links a:active,.nav-links a[aria-current=page]{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.nav-links a:hover,.nav-links a:focus-visible,.nav-links a:active,.nav-links a[aria-current=page]{background:color-mix(in oklch, var(--accent), transparent 90%)}}.nav-links a:hover,.nav-links a:focus-visible,.nav-links a:active,.nav-links a[aria-current=page]{text-shadow:none}.nav-links a:hover:before,.nav-links a:focus-visible:before,.nav-links a:active:before,.nav-links a[aria-current=page]:before{transform:scaleY(1)}.nav-links.active{display:flex}.menu-toggle{display:grid}}@media (prefers-reduced-motion:reduce){::view-transition-old(root){animation:none}::view-transition-new(root){animation:none}::view-transition-old(theme-toggle){animation:none}::view-transition-new(theme-toggle){animation:none}body:before{will-change:auto;animation:none}.project-card:before{display:none}nav,.logo,.theme-icon svg,.menu-toggle,.menu-toggle-icon span,.nav-links a,.nav-links a:before,.nav-links a:after,.language-switch:before,.tech-icon-badge,.tech-icon-badge i,.tech-icon-badge svg,.reveal,.scroll-reveal,main.language-leaving{transition:none}.reveal,.scroll-effects-ready .scroll-reveal,.scroll-effects-ready .scroll-reveal.scroll-reveal-card{opacity:1;transform:none}.scroll-progress{box-shadow:none}.tech-icon-badge:hover,.tech-icon-badge:focus-visible,.tech-icon-badge:hover i,.tech-icon-badge:hover svg,.tech-icon-badge:focus-visible i,.tech-icon-badge:focus-visible svg{transform:none}main.language-entering{animation:none}}.hero{grid-template-columns:1.2fr .8fr;align-items:center;gap:60px;padding:120px 0 80px;display:grid}.hero-content h2{color:var(--accent);font-size:1.125rem;font-family:var(--font-mono);margin-bottom:16px;font-weight:500}.hero-content h1{margin-bottom:24px;font-size:clamp(2.5rem,8vw,4.5rem);line-height:1.1}.hero-content p{color:var(--muted);max-width:600px;margin-bottom:40px;font-size:1.25rem}.hero-actions{flex-wrap:wrap;gap:16px;display:flex}.hero-visual{justify-content:center;width:100%;display:flex;position:relative}.terminal{border-radius:var(--radius-md);border:1px solid var(--border);background:#171b1f;background:lab(9.50623% -.98861 -3.51966);width:100%;max-width:480px;transition:background-color .3s,border-color .3s,box-shadow .3s;overflow:hidden;box-shadow:0 40px 100px #0006}.terminal-header{background:#1e2226;background:lab(12.9871% -1.00497 -3.52685);border-bottom:1px solid #0000;gap:8px;padding:12px 16px;transition:background-color .3s,border-color .3s;display:flex}.dot{border-radius:50%;width:12px;height:12px}.dot.red{background:#ff5f56}.dot.yellow{background:#ffbd2e}.dot.green{background:#27c93f}.terminal-body{font-family:var(--font-mono);color:#e0e0e0;padding:24px;font-size:.875rem;transition:color .3s}.line{align-items:center;gap:12px;margin-bottom:8px;display:flex}.line .prompt{color:var(--accent)}[data-theme=light] .terminal{background:var(--surface)}@supports (color:color-mix(in lab, red, red)){[data-theme=light] .terminal{background:color-mix(in oklch, var(--surface), var(--accent) 2%)}}[data-theme=light] .terminal{border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){[data-theme=light] .terminal{border-color:color-mix(in oklch, var(--border), var(--accent) 14%)}}[data-theme=light] .terminal{box-shadow:0 28px 70px var(--fg)}@supports (color:color-mix(in lab, red, red)){[data-theme=light] .terminal{box-shadow:0 28px 70px color-mix(in oklch, var(--fg), transparent 88%)}}[data-theme=light] .terminal-header{background:var(--surface)}@supports (color:color-mix(in lab, red, red)){[data-theme=light] .terminal-header{background:color-mix(in oklch, var(--surface), var(--accent) 6%)}}[data-theme=light] .terminal-header{border-bottom-color:var(--border)}[data-theme=light] .terminal-body{color:var(--fg)}.section-header{margin-bottom:48px}.section-header h2{margin-bottom:12px;font-size:2.25rem}.section-header p{color:var(--muted);font-size:1.125rem}.about-card{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);text-align:left;flex-direction:column;justify-content:space-between;height:100%;display:flex;padding:32px!important}.about-card ul{padding-left:20px!important;list-style-type:disc!important}#about,#skills,#projects,#experience,#contact{padding-top:100px!important;padding-bottom:100px!important}#contact-preview .contact-card{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);text-align:center;max-width:600px;margin-left:auto!important;margin-right:auto!important;padding:48px!important}#contact-preview .section-header p{margin-left:auto!important;margin-right:auto!important}.tech-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px;margin-bottom:100px;display:grid}.tech-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);transition:var(--transition);padding:32px}.tech-card:hover{border-color:var(--accent);transform:translateY(-4px)}.tech-icon{background:var(--accent);width:48px;height:48px}@supports (color:color-mix(in lab, red, red)){.tech-icon{background:color-mix(in oklch, var(--accent), transparent 90%)}}.tech-icon{color:var(--accent);border-radius:12px;place-items:center;margin-bottom:24px;display:grid}.tech-card h3{margin-bottom:12px}.tech-card p{color:var(--muted);margin-bottom:20px;font-size:.9375rem}.badge-group{flex-wrap:wrap;gap:8px;display:flex}.badge{background:var(--border);color:var(--fg);border-radius:99px;padding:4px 10px;font-size:.75rem;font-weight:500}.page-header{padding:100px 0 60px}.page-header h1{margin-bottom:16px;font-size:3rem}.page-header p{color:var(--muted);max-width:600px;font-size:1.25rem}.filter-bar{flex-wrap:wrap;gap:12px;margin-bottom:48px;display:flex}.filter-btn{justify-content:center;align-items:center;display:inline-flex;cursor:pointer!important;border:1px solid var(--border)!important;background-color:var(--surface)!important;color:var(--muted)!important;white-space:nowrap!important;border-radius:9999px!important;min-width:max-content!important;padding:8px 24px!important;font-size:.875rem!important;font-weight:500!important;transition:all .2s!important}.filter-btn:hover{border-color:var(--accent)!important;color:var(--fg)!important}.filter-btn.active{background-color:var(--accent)!important;border-color:var(--accent)!important;color:var(--bg)!important;box-shadow:0 4px 12px var(--accent)!important;font-weight:600!important}@supports (color:color-mix(in lab, red, red)){.filter-btn.active{box-shadow:0 4px 12px color-mix(in oklch, var(--accent), transparent 70%)!important}}.project-grid{grid-template-columns:repeat(2,1fr);gap:32px;display:grid}.project-card{background:var(--surface)}@supports (color:color-mix(in lab, red, red)){.project-card{background:color-mix(in oklch, var(--surface) 65%, transparent)}}.project-card{-webkit-backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:var(--radius-lg);transition:var(--transition);flex-direction:column;display:flex;overflow:hidden;box-shadow:0 10px 30px #0000000a}.project-card:hover{border-color:var(--accent);box-shadow:0 20px 40px var(--accent);transform:translateY(-6px)}@supports (color:color-mix(in lab, red, red)){.project-card:hover{box-shadow:0 20px 40px color-mix(in oklch, var(--accent) / .04, transparent)}}.project-image-wrapper{padding:20px 20px 0}.project-image{background:var(--fg);height:220px}@supports (color:color-mix(in lab, red, red)){.project-image{background:color-mix(in oklch, var(--fg) / .03, transparent)}}.project-image{border-radius:var(--radius-md);border:1px solid var(--border);color:var(--muted);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.project-info{flex-direction:column;flex-grow:1;padding:28px 28px 32px;display:flex}.project-tag{color:var(--accent);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px;font-size:.75rem;font-weight:600}.project-info h3{color:var(--fg);margin-bottom:10px;font-size:1.6rem;font-weight:800}.project-info p{color:var(--muted);margin-bottom:24px;font-size:.92rem;line-height:1.6}.highlight-list{margin-bottom:28px}.highlight-list li{color:var(--fg);align-items:flex-start;gap:10px;margin-bottom:10px;font-size:.88rem;list-style:none;display:flex}.highlight-list li:before{display:none}.project-footer{gap:16px;margin-top:auto;padding-top:24px;display:flex}.project-card-horizontal{border-radius:var(--radius-lg);background:var(--surface);width:100%}@supports (color:color-mix(in lab, red, red)){.project-card-horizontal{background:color-mix(in oklch, var(--surface) 65%, transparent)}}.project-card-horizontal{-webkit-backdrop-filter:blur(12px);border:1px solid var(--border);transition:var(--transition);box-shadow:0 8px 30px #00000008}.project-card-horizontal:hover{border-color:var(--accent);box-shadow:0 16px 36px var(--accent);transform:translateY(-4px)}@supports (color:color-mix(in lab, red, red)){.project-card-horizontal:hover{box-shadow:0 16px 36px color-mix(in oklch, var(--accent) / .04, transparent)}}.project-card-horizontal-inner{box-sizing:border-box;flex-direction:column;gap:24px;width:100%;padding:24px;display:flex}.project-info-main{text-align:left;flex-direction:column;display:flex}.project-info-highlights{width:100%}.project-info-actions{flex-direction:column;justify-content:space-between;gap:20px;display:flex}@media (min-width:768px){.project-card-horizontal-inner{flex-direction:row;justify-content:space-between;align-items:center;gap:32px;padding:32px 40px}.project-info-main{flex:1.3;min-width:0}.project-info-highlights{flex:1;min-width:0}.project-info-actions{text-align:right;flex:0 0 280px;align-self:stretch;align-items:flex-end;height:100%;padding:4px 0}}.highlight-list-horizontal{flex-direction:column;gap:10px;margin:0;padding:0;display:flex}.highlight-list-horizontal li{color:var(--fg);align-items:flex-start;gap:10px;font-size:.88rem;list-style:none;display:flex}.project-tech-list{text-align:left;width:100%;margin-bottom:8px}.project-tech-list-text{font-family:var(--font-mono);color:var(--muted);font-size:.8rem;line-height:1.6}@media (min-width:768px){.project-tech-list{text-align:right}}.project-footer-horizontal{gap:12px;margin-top:24px;display:flex}.detail-hero{padding:100px 0 60px}.project-type{color:var(--accent);margin-bottom:12px;font-size:.875rem;font-weight:600;display:block}.detail-hero h1{margin-bottom:24px;font-size:3.5rem}.project-meta{border-top:1px solid var(--border);border-bottom:1px solid var(--border);gap:48px;margin-bottom:60px;padding:32px 0;display:flex}.meta-item h4{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:8px;font-size:.75rem}.meta-item p{font-weight:600}.detail-content{grid-template-columns:2fr 1fr;gap:80px;margin-bottom:100px;display:grid}.content-section{margin-bottom:60px}.content-section h2{margin-bottom:24px;font-size:1.75rem}.content-section p{color:var(--fg);margin-bottom:20px;font-size:1.125rem}.sidebar-section{margin-bottom:40px}.sidebar-section h3{margin-bottom:20px;font-size:1.125rem}.tech-list{flex-wrap:wrap;gap:8px;display:flex}.tech-tag{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:6px 12px;font-size:.875rem}.feature-list{list-style:none}.feature-list li{gap:12px;margin-bottom:16px;display:flex}.feature-list li:before{content:"✔";color:var(--accent);font-weight:700}.architecture-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);text-align:center;color:var(--muted);margin:40px 0;padding:40px}.resume-container{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);max-width:900px;margin:80px auto 120px;padding:60px;box-shadow:0 20px 50px #0000001a}.resume-header{border-bottom:2px solid var(--accent);justify-content:space-between;align-items:flex-start;margin-bottom:60px;padding-bottom:40px;display:flex}.resume-header h1{margin-bottom:8px;font-size:3rem}.resume-header p{color:var(--muted);font-size:1.25rem}.contact-info{text-align:right;color:var(--muted);font-size:.9375rem;line-height:1.8}.resume-section{margin-bottom:48px}.resume-section h2{text-transform:uppercase;letter-spacing:.1em;color:var(--accent);border-bottom:1px solid var(--border);margin-bottom:24px;padding-bottom:8px;font-size:1.25rem}.resume-item{margin-bottom:32px}.resume-item-header{justify-content:space-between;margin-bottom:8px;display:flex}.resume-item-header h3{font-size:1.125rem}.resume-item-header .date{font-family:var(--font-mono);color:var(--muted);font-size:.875rem}.resume-item .org{color:var(--fg);margin-bottom:12px;font-weight:600;display:block}.resume-item ul{color:var(--muted);padding-left:20px;font-size:.9375rem}.resume-item li{margin-bottom:8px}.skills-grid{grid-template-columns:repeat(2,1fr);gap:32px;display:grid}.skill-cat h4{color:var(--fg);margin-bottom:12px;font-size:.875rem}.contact-container{grid-template-columns:1fr 1fr;align-items:start;gap:80px;padding:0 0 80px;display:grid}.contact-info h1{margin-bottom:24px;font-size:3.5rem}.contact-info p{color:var(--muted);max-width:480px;margin-bottom:48px;font-size:1.125rem}.contact-details{flex-direction:column;gap:32px;display:flex}.detail-item{align-items:flex-start;gap:20px;display:flex}.detail-icon{background:var(--surface);border:1px solid var(--border);width:48px;height:48px;color:var(--accent);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.detail-text h3{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:4px;font-size:.875rem}.detail-text p{margin-bottom:0;font-size:1.125rem;font-weight:600}.contact-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:48px}.form-group{text-align:left;margin-bottom:24px}.form-group label{color:var(--fg);margin-bottom:8px;font-size:.875rem;font-weight:600;display:block}.form-group input,.form-group textarea{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--fg);transition:var(--transition);padding:12px 16px;font-family:inherit}.form-group input:focus,.form-group textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent);outline:none}@supports (color:color-mix(in lab, red, red)){.form-group input:focus,.form-group textarea:focus{box-shadow:0 0 0 4px color-mix(in oklch, var(--accent), transparent 90%)}}.blog-grid{grid-template-columns:1fr;gap:32px;margin-bottom:100px;display:grid}.blog-post{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);transition:var(--transition);text-align:left;grid-template-columns:1fr 3fr;gap:40px;padding:40px;display:grid}.blog-post:hover{border-color:var(--accent);transform:translate(8px)}.post-date{font-family:var(--font-mono);color:var(--muted);text-align:left;flex-direction:column;gap:4px;font-size:.875rem;display:flex}.post-date .day{color:var(--fg);font-size:2rem;font-weight:700}.post-content h2{margin-bottom:12px;font-size:1.75rem}.post-content p{color:var(--muted);margin-bottom:24px;font-size:1.125rem}.post-tags{gap:8px;margin-bottom:24px;display:flex}.tag{color:var(--accent);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}@media (max-width:992px){.hero{text-align:center;grid-template-columns:1fr;padding:60px 0 40px}.hero-content h1{font-size:3rem}.hero-content p{margin:0 auto 40px}.hero-actions{justify-content:center}.hero-visual{display:none}.project-grid,.detail-content{grid-template-columns:1fr}.detail-hero h1{font-size:2.5rem}.project-meta{flex-direction:column;gap:24px}}@media (max-width:768px){.resume-container{margin:40px 16px;padding:32px}.resume-header{text-align:center;flex-direction:column;gap:24px}.contact-info{text-align:center}.resume-item-header{flex-direction:column;gap:4px}.skills-grid{grid-template-columns:1fr}.blog-post{grid-template-columns:1fr;gap:20px;padding:32px}.post-date{flex-direction:row;align-items:baseline;gap:8px}.post-date .day{font-size:1.5rem}.page-header{padding:60px 0 30px}.page-header h1{font-size:2.25rem}.detail-hero h1{font-size:2rem}.contact-form{padding:24px}.contact-container{grid-template-columns:1fr;gap:60px;padding:0 0 40px}.contact-info h1{font-size:2.5rem}#about,#skills,#projects,#experience,#contact{padding-top:60px!important;padding-bottom:60px!important}}@media print{body{color:#000;background:#fff}nav,footer,.theme-toggle,.btn-print{display:none!important}.resume-container{box-shadow:none;border:none;width:100%;margin:0;padding:0}.resume-header{border-bottom-color:#000}.resume-section h2{color:#000;border-bottom-color:#eee}}footer{position:relative;background-color:var(--surface)!important}@supports (color:color-mix(in lab, red, red)){footer{background-color:color-mix(in oklch, var(--surface) 40%, transparent)!important}}footer{-webkit-backdrop-filter:blur(12px);overflow:hidden;padding:80px 0!important}footer:before{content:"";background:linear-gradient(90deg, transparent, var(--accent), var(--accent-secondary), transparent);opacity:.6;height:1.5px;position:absolute;top:0;left:0;right:0}.footer-glow{background:radial-gradient(circle, var(--accent) 0%, transparent 70%);opacity:.04;pointer-events:none;z-index:0;width:250px;height:250px;position:absolute;bottom:0;left:10%}.footer-link-hover{transition:color .22s;position:relative}.footer-link-hover:after{content:"";background-color:var(--accent);transform-origin:0;width:100%;height:1px;transition:transform .22s cubic-bezier(.22,1,.36,1);position:absolute;bottom:-2px;left:0;transform:scaleX(0)}.footer-link-hover:hover:after{transform:scaleX(1)}.project-modal-overlay{z-index:1000;justify-content:center;align-items:center;transition:all .3s;display:flex;position:fixed;inset:0;-webkit-backdrop-filter:blur(12px)!important;background-color:#000c!important;padding:16px!important}@media (min-width:768px){.project-modal-overlay{padding:24px!important}}.project-modal-card{background-color:var(--surface)!important}@supports (color:color-mix(in lab, red, red)){.project-modal-card{background-color:color-mix(in oklch, var(--surface) 95%, transparent)!important}}.project-modal-card{-webkit-backdrop-filter:blur(24px)!important;border:1px solid var(--border)!important;border-radius:var(--radius-lg)!important;text-align:left!important;scrollbar-width:thin!important;scrollbar-color:var(--accent) transparent!important;flex-direction:column!important;gap:32px!important;width:100%!important;max-width:950px!important;max-height:85vh!important;padding:24px 20px!important;display:flex!important;position:relative!important;overflow-y:auto!important;box-shadow:0 25px 50px -12px #00000040!important}@supports (color:color-mix(in lab, red, red)){.project-modal-card{scrollbar-color:color-mix(in oklch, var(--accent) 30%, transparent) transparent!important}}.project-modal-card::-webkit-scrollbar{width:6px!important;height:6px!important}.project-modal-card::-webkit-scrollbar-track{background:0 0!important}.project-modal-card::-webkit-scrollbar-thumb{background-color:var(--accent)!important}@supports (color:color-mix(in lab, red, red)){.project-modal-card::-webkit-scrollbar-thumb{background-color:color-mix(in oklch, var(--accent) 30%, transparent)!important}}.project-modal-card::-webkit-scrollbar-thumb{border-radius:99px!important}.project-modal-card::-webkit-scrollbar-thumb:hover{background-color:var(--accent)!important}@media (min-width:768px){.project-modal-card{padding:48px!important}}.animate-fadeInUp{animation:.45s cubic-bezier(.16,1,.3,1) forwards fadeInUp!important}@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-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@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-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}@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}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes pulse{50%{opacity:.5}}
