@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-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-space-x-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;--tw-content:"";--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-outline-style:solid}}}@layer theme{:root,:host{--font-sans:var(--font-inter),system-ui,-apple-system,sans-serif;--font-mono:var(--font-jetbrains-mono),ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;--color-red-400:#ff6568;--color-emerald-500:#00bb7f;--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-7xl:80rem;--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-7xl:4.5rem;--text-7xl--line-height:1;--text-8xl:6rem;--text-8xl--line-height:1;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--tracking-tight:-.025em;--leading-tight:1.25;--leading-snug:1.375;--leading-relaxed:1.625;--radius-sm:.25rem;--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-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-inter),system-ui,-apple-system,sans-serif;--default-mono-font-family:var(--font-jetbrains-mono),ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace}@supports (color:lab(0% 0 0)){:root,:host{--color-red-400:lab(63.7053% 60.745 31.3109);--color-emerald-500:lab(66.9756% -58.27 19.5419)}}}@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}*{border-color:var(--border)}html{scroll-behavior:smooth}body{background-color:var(--background);color:var(--foreground);font-family:var(--font-sans);font-optical-sizing:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}a{color:inherit;text-decoration:none}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing)*0)}.inset-x-0{inset-inline:calc(var(--spacing)*0)}.inset-x-2\.5{inset-inline:calc(var(--spacing)*2.5)}.inset-y-0{inset-block:calc(var(--spacing)*0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.top-0{top:calc(var(--spacing)*0)}.top-2{top:calc(var(--spacing)*2)}.top-3{top:calc(var(--spacing)*3)}.top-4{top:calc(var(--spacing)*4)}.top-5{top:calc(var(--spacing)*5)}.top-16{top:calc(var(--spacing)*16)}.right-3{right:calc(var(--spacing)*3)}.right-4{right:calc(var(--spacing)*4)}.bottom-0{bottom:calc(var(--spacing)*0)}.bottom-3{bottom:calc(var(--spacing)*3)}.-left-8{left:calc(var(--spacing)*-8)}.left-5{left:calc(var(--spacing)*5)}.left-\[11px\]{left:11px}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-40{z-index:40}.z-50{z-index:50}.z-\[1\]{z-index:1}.z-\[2\]{z-index:2}.z-\[60\]{z-index:60}.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}}.-m-2{margin:calc(var(--spacing)*-2)}.m-0{margin:calc(var(--spacing)*0)}.mx-2{margin-inline:calc(var(--spacing)*2)}.mx-auto{margin-inline:auto}.my-3{margin-block:calc(var(--spacing)*3)}.my-4{margin-block:calc(var(--spacing)*4)}.my-auto{margin-block: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-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-6{margin-top:calc(var(--spacing)*6)}.mt-7{margin-top:calc(var(--spacing)*7)}.mt-8{margin-top:calc(var(--spacing)*8)}.mt-11{margin-top:calc(var(--spacing)*11)}.mt-16{margin-top:calc(var(--spacing)*16)}.mt-20{margin-top:calc(var(--spacing)*20)}.mr-1{margin-right:calc(var(--spacing)*1)}.mr-4{margin-right:calc(var(--spacing)*4)}.-mb-1\.5{margin-bottom:calc(var(--spacing)*-1.5)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-5{margin-bottom:calc(var(--spacing)*5)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-4{margin-left:calc(var(--spacing)*4)}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.aspect-square{aspect-ratio:1}.size-1\.5{width:calc(var(--spacing)*1.5);height:calc(var(--spacing)*1.5)}.size-3{width:calc(var(--spacing)*3);height:calc(var(--spacing)*3)}.size-3\.5{width:calc(var(--spacing)*3.5);height:calc(var(--spacing)*3.5)}.size-4{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.size-5{width:calc(var(--spacing)*5);height:calc(var(--spacing)*5)}.size-6{width:calc(var(--spacing)*6);height:calc(var(--spacing)*6)}.size-9{width:calc(var(--spacing)*9);height:calc(var(--spacing)*9)}.size-16{width:calc(var(--spacing)*16);height:calc(var(--spacing)*16)}.size-full{width:100%;height:100%}.h-3{height:calc(var(--spacing)*3)}.h-4{height:calc(var(--spacing)*4)}.h-6{height:calc(var(--spacing)*6)}.h-10{height:calc(var(--spacing)*10)}.h-28{height:calc(var(--spacing)*28)}.h-48{height:calc(var(--spacing)*48)}.h-\[2px\]{height:2px}.h-full{height:100%}.h-px{height:1px}.max-h-\[420px\]{max-height:420px}.min-h-screen{min-height:100vh}.w-56{width:calc(var(--spacing)*56)}.w-\[1ch\]{width:1ch}.w-\[3px\]{width:3px}.w-\[70px\]{width:70px}.w-fit{width:fit-content}.w-full{width:100%}.w-px{width:1px}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-\[calc\(100vw-2rem\)\]{max-width:calc(100vw - 2rem)}.max-w-md{max-width:var(--container-md)}.max-w-xl{max-width:var(--container-xl)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-\[160px\]{min-width:160px}.flex-1{flex:1}.shrink-0{flex-shrink:0}.scale-90{--tw-scale-x:90%;--tw-scale-y:90%;--tw-scale-z:90%;scale:var(--tw-scale-x)var(--tw-scale-y)}.-rotate-90{rotate:-90deg}.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)}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.resize{resize:both}.scroll-mt-24{scroll-margin-top:calc(var(--spacing)*24)}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-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-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}.gap-x-3{column-gap:calc(var(--spacing)*3)}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*2)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-x-reverse)))}.gap-y-1{row-gap:calc(var(--spacing)*1)}.self-center{align-self:center}.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}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-\[3px\]{border-radius:3px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-b-full{border-bottom-right-radius:3.40282e38px;border-bottom-left-radius:3.40282e38px}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-border{border-color:var(--border)}.border-foreground\/30{border-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.border-foreground\/30{border-color:color-mix(in oklab,var(--foreground)30%,transparent)}}.border-foreground\/40{border-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.border-foreground\/40{border-color:color-mix(in oklab,var(--foreground)40%,transparent)}}.bg-\[\#28c840\]{background-color:#28c840}.bg-\[\#febc2e\]{background-color:#febc2e}.bg-\[\#ff5f57\]{background-color:#ff5f57}.bg-background,.bg-background\/50{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){.bg-background\/50{background-color:color-mix(in oklab,var(--background)50%,transparent)}}.bg-background\/80{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){.bg-background\/80{background-color:color-mix(in oklab,var(--background)80%,transparent)}}.bg-border{background-color:var(--border)}.bg-card,.bg-card\/80{background-color:var(--card)}@supports (color:color-mix(in lab, red, red)){.bg-card\/80{background-color:color-mix(in oklab,var(--card)80%,transparent)}}.bg-current{background-color:currentColor}.bg-foreground,.bg-foreground\/25{background-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.bg-foreground\/25{background-color:color-mix(in oklab,var(--foreground)25%,transparent)}}.bg-foreground\/80{background-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.bg-foreground\/80{background-color:color-mix(in oklab,var(--foreground)80%,transparent)}}.bg-muted,.bg-muted\/50{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/50{background-color:color-mix(in oklab,var(--muted)50%,transparent)}}.bg-transparent{background-color:#0000}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-t{--tw-gradient-position:to top in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-black\/30{--tw-gradient-from:#0000004d}@supports (color:color-mix(in lab, red, red)){.from-black\/30{--tw-gradient-from:color-mix(in oklab,var(--color-black)30%,transparent)}}.from-black\/30{--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-black\/40{--tw-gradient-from:#0006}@supports (color:color-mix(in lab, red, red)){.from-black\/40{--tw-gradient-from:color-mix(in oklab,var(--color-black)40%,transparent)}}.from-black\/40{--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-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.stroke-border{stroke:var(--border)}.stroke-foreground{stroke:var(--foreground)}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-1\.5{padding:calc(var(--spacing)*1.5)}.p-2{padding:calc(var(--spacing)*2)}.p-3\.5{padding:calc(var(--spacing)*3.5)}.p-4{padding:calc(var(--spacing)*4)}.p-5{padding:calc(var(--spacing)*5)}.px-1\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-3\.5{padding-inline:calc(var(--spacing)*3.5)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-5{padding-inline:calc(var(--spacing)*5)}.py-0{padding-block:calc(var(--spacing)*0)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.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-3{padding-block:calc(var(--spacing)*3)}.py-8{padding-block:calc(var(--spacing)*8)}.pt-1{padding-top:calc(var(--spacing)*1)}.pt-8{padding-top:calc(var(--spacing)*8)}.pt-10{padding-top:calc(var(--spacing)*10)}.pt-16{padding-top:calc(var(--spacing)*16)}.pt-24{padding-top:calc(var(--spacing)*24)}.pr-\[1ch\]{padding-right:1ch}.pb-16{padding-bottom:calc(var(--spacing)*16)}.pl-0{padding-left:calc(var(--spacing)*0)}.pl-8{padding-left:calc(var(--spacing)*8)}.text-center{text-align:center}.align-\[-0\.2em\]{vertical-align:-.2em}.font-mono{font-family:var(--font-jetbrains-mono),ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-7xl{font-size:var(--text-7xl);line-height:var(--tw-leading,var(--text-7xl--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-\[0\.7rem\]{font-size:.7rem}.text-\[0\.85em\]{font-size:.85em}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[13px\]{font-size:13px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-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\.2em\]{--tw-tracking:.2em;letter-spacing:.2em}.tracking-\[0\.14em\]{--tw-tracking:.14em;letter-spacing:.14em}.tracking-\[0\.16em\]{--tw-tracking:.16em;letter-spacing:.16em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[var\(--err\)\]{color:var(--err)}.text-\[var\(--ok-ink\)\]{color:var(--ok-ink)}.text-background{color:var(--background)}.text-black{color:var(--color-black)}.text-border{color:var(--border)}.text-emerald-500{color:var(--color-emerald-500)}.text-foreground,.text-foreground\/80{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.text-foreground\/80{color:color-mix(in oklab,var(--foreground)80%,transparent)}}.text-red-400{color:var(--color-red-400)}.text-secondary-ink{color:var(--secondary-ink)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.decoration-dotted{text-decoration-style:dotted}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-15{opacity:.15}.opacity-40{opacity:.4}.opacity-80{opacity:.8}.shadow-\[0_0_24px_rgba\(34\,_42\,_53\,_0\.06\)\,_0_1px_1px_rgba\(0\,_0\,_0\,_0\.05\)\,_0_0_0_1px_rgba\(34\,_42\,_53\,_0\.04\)\,_0_0_4px_rgba\(34\,_42\,_53\,_0\.08\)\,_0_16px_68px_rgba\(47\,_48\,_55\,_0\.05\)\,_0_1px_0_rgba\(255\,_255\,_255\,_0\.1\)_inset\]{--tw-shadow:0 0 24px var(--tw-shadow-color,#222a350f),0 1px 1px var(--tw-shadow-color,#0000000d),0 0 0 1px var(--tw-shadow-color,#222a350a),0 0 4px var(--tw-shadow-color,#222a3514),0 16px 68px var(--tw-shadow-color,#2f30370d),0 1px 0 var(--tw-shadow-color,#ffffff1a)inset;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + 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)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur-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-\[background\,box-shadow\]{transition-property:background,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[color\,background-color\,border-color\]{transition-property:color,background-color,border-color;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[transform\,background-color\,opacity\,filter\]{transition-property:transform,background-color,opacity,filter;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-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-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.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)}.will-change-transform{will-change:transform}.outline-none{--tw-outline-style:none;outline-style:none}.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\:text-foreground:is(:where(.group):hover *){color:var(--foreground)}.group-hover\/card\:scale-110:is(:where(.group\/card):hover *){--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x)var(--tw-scale-y)}.group-hover\/card\:text-foreground:is(:where(.group\/card):hover *){color:var(--foreground)}.group-hover\/card\:opacity-100:is(:where(.group\/card):hover *){opacity:1}}.after\:inline-block:after{content:var(--tw-content);display:inline-block}.after\:content-\[\'\'\]:after{--tw-content:"";content:var(--tw-content)}@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\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:border-foreground\/20:hover{border-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.hover\:border-foreground\/20:hover{border-color:color-mix(in oklab,var(--foreground)20%,transparent)}}.hover\:border-foreground\/30:hover{border-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.hover\:border-foreground\/30:hover{border-color:color-mix(in oklab,var(--foreground)30%,transparent)}}.hover\:border-foreground\/60:hover{border-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.hover\:border-foreground\/60:hover{border-color:color-mix(in oklab,var(--foreground)60%,transparent)}}.hover\:bg-foreground\/\[0\.03\]:hover{background-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-foreground\/\[0\.03\]:hover{background-color:color-mix(in oklab,var(--foreground)3%,transparent)}}.hover\:bg-muted:hover{background-color:var(--muted)}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:opacity-70:hover{opacity:.7}}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-foreground\/70:focus-visible{--tw-ring-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-foreground\/70:focus-visible{--tw-ring-color:color-mix(in oklab,var(--foreground)70%,transparent)}}.focus-visible\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\:outline-offset-4:focus-visible{outline-offset:4px}.focus-visible\:outline-current:focus-visible{outline-color:currentColor}.focus-visible\:ring-inset:focus-visible{--tw-ring-inset:inset}@media (prefers-reduced-motion:reduce){.motion-reduce\:animate-none{animation:none}}@media (min-width:40rem){.sm\:size-7{width:calc(var(--spacing)*7);height:calc(var(--spacing)*7)}.sm\:h-56{height:calc(var(--spacing)*56)}.sm\:w-\[78px\]{width:78px}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:gap-2{gap:calc(var(--spacing)*2)}.sm\:p-6{padding:calc(var(--spacing)*6)}.sm\:px-6{padding-inline:calc(var(--spacing)*6)}.sm\:px-8{padding-inline:calc(var(--spacing)*8)}.sm\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.sm\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.sm\:text-8xl{font-size:var(--text-8xl);line-height:var(--tw-leading,var(--text-8xl--line-height))}.sm\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}}@media (min-width:48rem){.md\:h-72{height:calc(var(--spacing)*72)}.md\:px-12{padding-inline:calc(var(--spacing)*12)}.md\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}}@media (min-width:64rem){.lg\:block{display:block}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:inline-flex{display:inline-flex}:where(.lg\:space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*2)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-x-reverse)))}}.dark\:text-white:is(.dark *){color:var(--color-white)}@media print{.print\:hidden{display:none}}}:root{--background:#fff;--foreground:#0a0a0a;--card:#fff;--card-foreground:#0a0a0a;--primary:#171717;--primary-foreground:#fafafa;--muted:#f5f5f5;--muted-foreground:#737373;--border:#e5e5e5;--accent:#f5f5f5;--accent-foreground:#171717;--lab-dim:#6e6e70;--lab-2:#5f5f61;--ok:#16a34a;--ok-ink:#15803d;--err:#dc2626;--dotgrid:#0001;--ph:#6e6e70;--secondary-ink:#6e6e70}.dark{--background:#0a0a0a;--foreground:#fafafa;--card:#171717;--card-foreground:#fafafa;--primary:#e5e5e5;--primary-foreground:#171717;--muted:#262626;--muted-foreground:#a3a3a3;--border:#ffffff1a;--accent:#262626;--accent-foreground:#fafafa;--lab-dim:#8b8b8d;--lab-2:#a5a5a7;--ok:#4ade80;--ok-ink:#4ade80;--err:#f87171;--dotgrid:#ffffff12;--ph:#8b8b8d;--secondary-ink:#909092}:root{--ease-house:cubic-bezier(.22,1,.36,1);--ease-std:cubic-bezier(.4,0,.2,1);--ease-spring:cubic-bezier(.34,1.4,.44,1);--t-fast:.15s;--t-base:.25s;--t-slow:.45s;--t-reveal:.65s;--press:.97;--ring:var(--foreground)}@supports (color:color-mix(in lab, red, red)){:root{--ring:color-mix(in srgb,var(--foreground)70%,transparent)}}:root{--sp-interlude:clamp(6.5rem,9vw,8.5rem)}:where(a,button,[role=button],input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--ring);outline-offset:2px}.soc:active,.badge:active,.chip-more:active,.show-more:active,.nav-ib:active,.kbtn:active{transform:scale(var(--press))}.text-secondary{color:var(--secondary-ink)}.mono{font-family:var(--font-mono)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInBlur{0%{opacity:0;filter:blur(8px);transform:translateY(8px)}to{opacity:1;filter:blur();transform:translateY(0)}}.animate-fade-in-blur{opacity:0;animation:.45s ease-out forwards fadeIn}@media (min-width:1024px){.animate-fade-in-blur{animation-name:fadeInBlur}}.animate-delay-1{animation-delay:60ms}.animate-delay-2{animation-delay:.12s}.animate-delay-3{animation-delay:.18s}.animate-delay-4{animation-delay:.24s}.animate-delay-5{animation-delay:.3s}.animate-delay-6{animation-delay:.36s}.cv-auto,#skills,#experience,#projects,#blogs,#contact{content-visibility:auto;contain-intrinsic-size:auto 600px}#contact{contain-intrinsic-size:auto 1480px}.bg-beams path{stroke-dasharray:.22 1.78;stroke-dashoffset:2px;stroke-linecap:round;animation:beamSweep var(--beam-dur,9s)ease-in-out var(--beam-delay,0s)infinite;animation-play-state:paused}[data-beams=on] .bg-beams path{animation-play-state:running}@keyframes beamSweep{to{stroke-dashoffset:0}}@media (max-width:1024px){.bg-beams-layer{display:none}}.bg-beams-layer{will-change:transform}.rn-fixed{padding-right:var(--sbw,0px)}.rn-body,.rn-mobile{transition:width .55s var(--ease-house),transform .55s var(--ease-house),padding .55s var(--ease-house),box-shadow .4s ease,backdrop-filter .4s ease,-webkit-backdrop-filter .4s ease,background-color .4s ease;will-change:transform;border-radius:12px}.rn-body[data-visible=true],.rn-mobile[data-visible=true]{-webkit-backdrop-filter:blur(10px);transform:translateY(20px);box-shadow:0 0 24px #222a350f,0 1px 1px #0000000d,0 0 0 1px #222a350a,0 0 4px #222a3514,0 16px 68px #2f30370d,inset 0 1px #ffffff1a}.rn-body{width:100%}.rn-body[data-visible=true]{width:40%}.rn-mobile{width:100%;padding-left:0;padding-right:0}.rn-mobile[data-visible=true]{width:90%;padding-left:12px;padding-right:12px}.rn-pill{opacity:0;transform:translate(var(--pill-x,0px),var(--pill-y,0px));width:var(--pill-w,0px);height:var(--pill-h,100%);transition:transform .28s var(--ease-house),width .28s var(--ease-house),opacity .18s ease;pointer-events:none;border-radius:9999px;position:absolute;top:0;left:0}.rn-pill.on{opacity:1}.rn-menu{animation:.18s ease-out rnMenuIn}@keyframes rnMenuIn{0%{opacity:0;transform:translateY(-4px)}}.skill-inner-shadow{box-shadow:inset 0 1px 2px #00000014,inset 0 1px 4px #0000000a}.dark .skill-inner-shadow{box-shadow:inset 0 1px 2px #ffffff0f,inset 0 1px 4px #ffffff08}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#d4d4d4;border-radius:3px}.dark ::-webkit-scrollbar-thumb{background:#404040}::selection{background:var(--foreground);color:var(--background)}@keyframes pawWiggle{0%,to{transform:rotate(0)scale(1)}20%{transform:rotate(-16deg)scale(1.08)}50%{transform:rotate(12deg)scale(1.1)}80%{transform:rotate(-6deg)scale(1.04)}}@keyframes pawPounce{0%{transform:scale(1)}40%{transform:scale(1.4)rotate(-10deg)}70%{transform:scale(.92)rotate(4deg)}to{transform:scale(1)}}@keyframes pawGlow{0%,to{opacity:.25}50%{opacity:1}}.paw{will-change:transform;transition:transform .25s,color .3s;display:inline-flex;position:relative}.paw:before{content:"";opacity:0;pointer-events:none;z-index:-1;background:radial-gradient(circle,#f59e0b8c 0%,#f59e0b2e 45%,#0000 72%);border-radius:9999px;position:absolute;inset:-6px}.paw-btn:hover .paw{animation:.55s pawWiggle}.paw-btn:active .paw{animation:.32s pawPounce}.paw-btn.on .paw{color:#f59e0b}.paw-btn.on .paw:before{animation:2.4s ease-in-out infinite pawGlow}.paw-btn.on:hover .paw{animation:.55s pawWiggle}.hero{flex-direction:column;min-height:82svh;display:flex;position:relative;overflow:hidden}.hero .hcontainer{flex-direction:column;flex:1;justify-content:center;width:100%;max-width:48rem;margin:0 auto;padding:6.5rem 1rem 2rem;display:flex;position:relative}@media (min-width:640px){.hero .hcontainer{padding-left:1.5rem;padding-right:1.5rem}}.toprow{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.topright{flex-direction:column;align-items:flex-end;gap:.55rem;display:flex}@media (max-width:640px){.topright{align-items:flex-start}}.loc-line{letter-spacing:.18em;text-transform:uppercase;color:var(--secondary-ink);align-items:center;gap:5px;font-size:12px;display:inline-flex}.loc-line svg{width:12px;height:12px;color:var(--foreground);flex:none}.loc-city{color:var(--foreground);font-weight:600}.avail{letter-spacing:.22em;text-transform:uppercase;color:var(--secondary-ink);align-items:center;gap:.65rem;font-size:11px;display:inline-flex}.avail i{background:var(--avail-dot,var(--foreground));border-radius:9999px;flex:none;width:7px;height:7px;position:relative}.avail.still i:after{display:none}.avail i:after{content:"";border-radius:inherit;background:inherit;animation:2.6s cubic-bezier(0,0,.2,1) infinite heroPing;position:absolute;inset:0}@keyframes heroPing{0%{opacity:.6;transform:scale(1)}70%,to{opacity:0;transform:scale(3.2)}}.socs{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.soc{border:1px solid var(--border);background:var(--background);border-radius:9999px;align-items:center;height:36px;padding:0 10px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.soc{background:color-mix(in srgb,var(--background)60%,transparent)}}.soc{color:var(--secondary-ink);transition:color .45s var(--ease-std),border-color .45s var(--ease-std)}.soc:hover{color:var(--foreground);border-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.soc:hover{border-color:color-mix(in srgb,var(--foreground)25%,transparent)}}.soc svg{width:16px;height:16px}.soc .lbl{white-space:nowrap;text-transform:lowercase;opacity:0;max-width:0;transition:max-width .8s var(--ease-std),padding .8s var(--ease-std),opacity .2s ease;font-size:11px;overflow:hidden}.soc:hover .lbl{opacity:1;max-width:6rem;transition:max-width .8s var(--ease-std),padding .8s var(--ease-std),opacity .45s ease .15s;padding-left:6px}.namewrap{margin-top:2.75rem;position:relative}.hero h1{text-transform:uppercase;letter-spacing:-.035em;cursor:default;-webkit-user-select:none;user-select:none;margin:0;font-size:clamp(2.9rem,12.5vw,6.4rem);font-weight:900;line-height:.98}.hero h1 .dot{z-index:1;color:var(--secondary-ink);position:relative}.peek{aspect-ratio:4/5;object-fit:cover;border:1px solid var(--border);opacity:0;pointer-events:none;z-index:5;will-change:transform,opacity;background:var(--muted);border-radius:14px;width:clamp(120px,15vw,164px);height:auto;transition:opacity .28s;position:absolute;top:0;left:0;box-shadow:0 18px 44px -14px #0006}.peek.on{opacity:1}.peek-stack{height:114px;margin:2rem 0 -.5rem;display:none;position:relative}.peek-stack img{object-fit:cover;border:1px solid var(--border);background:var(--muted);border-radius:12px;width:86px;height:104px;position:absolute;top:0;box-shadow:0 10px 24px -10px #00000059}.peek-stack img:first-child{z-index:1;left:0;transform:rotate(-6deg)}.peek-stack img:nth-child(2){z-index:3;left:62px;transform:rotate(3deg)translateY(-4px)}.peek-stack img:nth-child(3){z-index:2;left:124px;transform:rotate(-2deg)}html.no-peek .peek,html.no-peek .peek-slot{display:none}html.no-peek .peek-stack{display:block}@media (hover:none),(pointer:coarse){.peek-stack{display:block}.peek{display:none}}.roleline{letter-spacing:.16em;text-transform:uppercase;color:var(--secondary-ink);align-items:center;gap:.85rem;margin:1.25rem 0 0;font-size:.8rem;font-weight:500;display:flex}.roleline .rule{background:var(--secondary-ink);transform-origin:0;width:28px;height:1px;animation:ruleDraw .6s var(--ease-std).4s both;flex:none}@keyframes ruleDraw{0%{transform:scaleX(0)}}.roleline .rolelabel{display:inline-flex}@media (max-width:640px){.roleline{letter-spacing:.14em;gap:.7rem;font-size:.72rem}.roleline .rule{width:22px}}.hero h1 .nm{display:inline-block;position:relative}.peek-slot{pointer-events:none;width:.66em;height:.74em;margin-left:-.02em;transition:opacity .2s;display:none;position:absolute;top:.06em;left:100%;overflow:hidden}.peek-tab{object-fit:cover;border:1px solid var(--border);background:var(--muted);transform-origin:0 100%;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;border-radius:.06em;width:.5em;height:.63em;animation:5s ease-in-out 1.2s infinite tabSway;display:block;position:absolute;top:.03em;left:-.33em;transform:rotate(9deg)}@keyframes tabSway{0%,30%,to{transform:translate(0)rotate(9deg)}10%{transform:translate(.2em)rotate(16deg)}20%{transform:translate(.08em)rotate(6deg)}}.hero h1:hover .peek-slot{opacity:0}@media (hover:hover) and (pointer:fine){.peek-slot{display:block}}.roleword{transition:opacity .4s ease-in-out,filter .4s ease-in-out,transform .4s ease-in-out;display:inline-block}.roleword.is-out{opacity:0;filter:blur(6px);transform:translateY(-.5rem)}.intro{max-width:42rem;color:var(--secondary-ink);margin:1.75rem 0 0;font-size:1.06rem;line-height:2}.chip{border:1px dashed var(--border);background:var(--muted);height:28px;color:var(--foreground);vertical-align:middle;cursor:default;border-radius:.5rem;align-items:center;gap:6px;padding:0 10px;font-size:.875rem;font-weight:500;transition:transform .2s,border-color .2s;display:inline-flex}.chip:hover{border-color:var(--foreground);transform:translateY(-2px)}@supports (color:color-mix(in lab, red, red)){.chip:hover{border-color:color-mix(in srgb,var(--foreground)30%,transparent)}}.chip .ci{flex-shrink:0;width:16px;height:16px;display:inline-flex}.chip .ci svg{width:100%;height:100%}.voice{max-width:42rem;color:var(--secondary-ink);margin:.9rem 0 0;font-size:.95rem;font-style:italic}.heropills{flex-wrap:wrap;gap:.55rem;margin-top:1.5rem;display:flex}.heropills .chip{font-family:var(--font-mono);font-size:.8rem}.chip-more{color:var(--secondary-ink);cursor:pointer;background:0 0;border-style:solid}.chip-more:hover{color:var(--foreground)}.actions{flex-wrap:wrap;gap:.75rem;margin-top:2rem;display:flex}.btn{cursor:pointer;border-radius:.5rem;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;transition:background-color .2s,transform .2s,border-color .2s,opacity .2s;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(0)scale(var(--press))}.btn svg{width:16px;height:16px;transition:transform .28s var(--ease-spring)}.btn-ghost{border:1px solid var(--border);background:var(--background)}.btn-ghost:hover{background:var(--muted)}.btn-ghost:hover svg{transform:rotate(-6deg)}.btn-solid{background:var(--foreground);color:var(--background);border:none}.btn-solid:hover{opacity:.9}.btn-solid:hover svg{transform:translate(4px)}.cue{color:var(--secondary-ink);flex-direction:column;align-self:center;align-items:center;gap:7px;padding:0 14px 1.35rem;transition:color .25s;display:flex}.cue:hover{color:var(--foreground)}.cue i{opacity:var(--o);line-height:0;display:block}.cue svg{width:13px;height:13px;display:block}.cue i:first-child{--o:.3;transform:translate(-6px)rotate(-14deg)}.cue i:nth-child(2){--o:.55;transform:translate(6px)rotate(12deg)}.cue i:nth-child(3){--o:.85;transform:translate(-4px)rotate(-8deg)}@keyframes pawStep{0%,55%,to{opacity:var(--o)}18%{opacity:1}}.cue i{animation:2.6s ease-in-out infinite pawStep}.cue i:nth-child(2){animation-delay:.35s}.cue i:nth-child(3){animation-delay:.7s}#bridge{margin-top:2.5rem}.cw{color:var(--secondary-ink);align-items:center;gap:1rem;display:flex}.cw:before,.cw:after{content:"";border-top:1px solid var(--border);flex:1}.cw .cat,.cw .dot{letter-spacing:.05em;-webkit-user-select:none;user-select:none;font-size:13px;line-height:1;transform:translateY(-1px)}.cw .cat{display:none}body.cat-on .cw .cat{display:inline-block}body.cat-on .cw .dot{display:none}@media (hover:hover){.cw:hover .cat{animation:.55s pawWiggle}}.xp-list{flex-direction:column;gap:2.25rem;margin-top:1.5rem;padding-left:1.75rem;display:flex;position:relative}.xp-rail{background:var(--border);width:1px;position:absolute;top:10px;bottom:10px;left:5px}.xp-card{position:relative}.xp-card:before{content:"";pointer-events:none;background:radial-gradient(480px circle at var(--mx,50%)var(--my,50%),var(--foreground),transparent 45%);border-radius:16px;position:absolute;inset:-.7rem -1rem}@supports (color:color-mix(in lab, red, red)){.xp-card:before{background:radial-gradient(480px circle at var(--mx,50%)var(--my,50%),color-mix(in srgb,var(--foreground)3.5%,transparent),transparent 45%)}}.xp-card:before{opacity:0;transition:opacity .35s}@media (hover:hover){.xp-card{transition:opacity .3s}.xp-card:hover:before{opacity:1}.xp-list:has(.xp-card:hover) .xp-card:not(:hover){opacity:.5}.xp-node{transition:transform .25s}.xp-card:hover .xp-node{transform:scale(1.35)}}.xp-node{background:var(--background);border:1.5px solid var(--foreground);border-radius:9999px;width:9px;height:9px;position:absolute;top:7px;left:calc(1px - 1.75rem)}@supports (color:color-mix(in lab, red, red)){.xp-node{border:1.5px solid color-mix(in srgb,var(--foreground)55%,transparent)}}.xp-node.live{border-color:#22c55e}.xp-node.live:after{content:"";border-radius:inherit;border:1.5px solid #22c55e;animation:2.2s cubic-bezier(0,0,.2,1) infinite xpPing;position:absolute;inset:-1.5px}@keyframes xpPing{0%{opacity:.9;transform:scale(1)}75%,to{opacity:0;transform:scale(2.4)}}.xp-top{flex-direction:column;gap:.5rem;display:flex}@media (min-width:640px){.xp-top{flex-direction:row;justify-content:space-between}}.xp-co{align-items:center;gap:.5rem;display:flex}.xp-co img{object-fit:contain;border-radius:4px;flex-shrink:0;width:24px;height:24px}.xp-co a,.xp-co .xp-name{font-size:1.125rem;font-weight:700}.xp-co .xp-name{margin:0}.xp-co a:hover{text-underline-offset:4px;text-decoration:underline}.xp-cur{color:#16a34a;background:#22c55e1a;border-radius:6px;align-items:center;gap:4px;padding:2px 8px;font-size:.75rem;display:inline-flex}.dark .xp-cur{color:#4ade80}.xp-cur i{background:#22c55e;border-radius:9999px;width:6px;height:6px;animation:2s cubic-bezier(.4,0,.6,1) infinite pingPulse}@keyframes pingPulse{0%,to{opacity:1}50%{opacity:.4}}.xp-pos{color:var(--secondary-ink);margin:2px 0 0;font-size:.875rem}.xp-when{color:var(--secondary-ink);flex-direction:column;flex-shrink:0;gap:4px;font-size:.875rem;display:flex}@media (min-width:640px){.xp-when{text-align:right;align-items:flex-end}}.xp-when .dates{font-family:var(--font-mono);letter-spacing:.01em;align-items:center;gap:.5rem;font-size:.72rem;display:inline-flex}.xp-dur{letter-spacing:.04em;border:1px dashed var(--border);color:var(--secondary-ink);white-space:nowrap;border-radius:9999px;padding:2px 8px;font-size:.7rem}.xp-when .loc{align-items:center;gap:4px;display:inline-flex}.xp-when svg{width:12px;height:12px}.xp-log{flex-direction:column;gap:.75rem;margin:1rem 0 0;padding:0;font-size:.875rem;line-height:1.65;list-style:none;display:flex}.xp-log li{grid-template-columns:24px 1fr;column-gap:.7rem;display:grid}.xp-ln{-webkit-user-select:none;user-select:none;justify-content:flex-end;align-items:center;height:1.65em;line-height:1;display:flex}.xp-ln:after{content:"—";font-family:var(--font-mono);color:var(--secondary-ink);font-size:.72rem;line-height:1;display:inline-block}@supports (color:color-mix(in lab, red, red)){.xp-ln:after{color:color-mix(in srgb,var(--secondary-ink)62%,transparent)}}.xp-ln:after{transition:color .2s}.xp-log li>span:last-child{color:var(--secondary-ink);transition:transform .2s}.xp-log b{color:var(--foreground);font-weight:500}@media (hover:hover){.xp-log li:hover .xp-ln:after{color:var(--foreground)}.xp-log li:hover>span:last-child{transform:translate(2px)}}.xp-metric{font-style:normal;font-weight:500;font-family:var(--font-mono);color:var(--foreground);letter-spacing:-.01em;font-size:.94em}.xp-card .xp-log li{opacity:0;filter:blur(4px);transform:translateY(6px)}@media (scripting:none){.js-reveal,.xp-card .xp-log li,.xp-fold .xp-log li{opacity:1!important;filter:none!important;transform:none!important}.xp-fold{grid-template-rows:1fr}.xp-veil,.xp-more{display:none!important}#contact .scope,#contact .car-wave,#contact .ct-now{display:none}#contact .car-btn{cursor:text}#contact .tx-btn{display:none!important}}.xp-card.in .xp-log li{opacity:1;filter:blur();transition:opacity .45s,transform .45s,filter .45s;transition-delay:calc(var(--i)*60ms);transform:none}.xp-fold{transition:grid-template-rows .45s var(--ease-std);grid-template-rows:0fr;display:grid}.xp-fold>div{min-height:0;overflow:hidden}.xp-fold .xp-log{margin-top:.75rem}.xp-card.open .xp-fold{grid-template-rows:1fr}.xp-fold .xp-log li{opacity:0;filter:blur(4px);transition:none;transform:translateY(6px)}.xp-card.open .xp-fold .xp-log li{opacity:1;filter:blur();transition:opacity .4s,transform .4s,filter .4s;transition-delay:calc(.12s + var(--i)*50ms);transform:none}.xp-veil{pointer-events:none;background:linear-gradient(to bottom,transparent 0%,var(--background)62%,var(--background)100%);height:30px;margin-top:-30px;position:relative}@supports (color:color-mix(in lab, red, red)){.xp-veil{background:linear-gradient(to bottom,transparent 0%,color-mix(in srgb,var(--background)82%,transparent)62%,var(--background)100%)}}.xp-veil{opacity:1;transition:opacity .3s}.xp-card.open .xp-veil{opacity:0}.xp-more{width:100%;font-family:var(--font-mono);letter-spacing:.12em;color:var(--secondary-ink);cursor:pointer;background:0 0;border:0;align-items:center;gap:.9rem;margin:.55rem 0 0;padding:8px 0;font-size:.7rem;transition:color .25s;display:flex}.xp-more:before,.xp-more:after{content:"";background:var(--border);flex:1;height:1px;transition:background .25s}.xp-more .lbl{align-items:center;gap:.55ch;display:inline-flex}.xp-more svg{width:12px;height:12px;transition:transform .3s}.xp-more:hover{color:var(--foreground)}.xp-more:hover:before,.xp-more:hover:after{background:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.xp-more:hover:before,.xp-more:hover:after{background:color-mix(in srgb,var(--foreground)25%,transparent)}}.xp-more:focus-visible{outline:2px solid var(--foreground)}@supports (color:color-mix(in lab, red, red)){.xp-more:focus-visible{outline:2px solid color-mix(in srgb,var(--foreground)70%,transparent)}}.xp-more:focus-visible{outline-offset:2px;border-radius:4px}.xp-card.open .xp-more svg{transform:rotate(180deg)}.bullets{flex-direction:column;gap:.75rem;margin:1rem 0 0;padding:0;font-size:.875rem;line-height:1.65;list-style:none;display:flex}.bullets li{gap:.75rem;display:flex}.bullets li i{background:var(--foreground);border-radius:9999px;flex-shrink:0;width:6px;height:6px;margin-top:8px}@supports (color:color-mix(in lab, red, red)){.bullets li i{background:color-mix(in srgb,var(--foreground)40%,transparent)}}.bullets li span{color:var(--secondary-ink)}.bullets li b{color:var(--foreground);font-weight:500}.xp-badges{flex-wrap:wrap;gap:.35rem;margin-top:.8rem;display:flex}.xp-badges .badge{gap:5px;padding:2px 9px;font-size:.72rem}.xp-badges .badge .bi{width:12px;height:12px}.badge{border:1px solid var(--border);background:var(--muted);border-radius:9999px;align-items:center;gap:6px;padding:3px 10px;font-size:.78rem;transition:transform .2s;display:inline-flex}.badge:hover{transform:scale(1.05)}.badge .bi{flex-shrink:0;width:13px;height:13px;display:inline-flex}.badge .bi svg{width:100%;height:100%}.pj-note{color:var(--secondary-ink);margin:.6rem 0 0}#projects.pj-v1 .pj-note{max-width:52ch;font-size:.875rem;line-height:1.6}#projects.pj-v2 .pj-note{margin-top:.7rem;font-size:.78rem}#projects.pj-v2 .pj-note .mono{font-size:.72rem}.pj-dot{background:var(--ok);border-radius:50%;flex-shrink:0;width:6px;height:6px;position:relative}.pj-dot:after{content:"";border:1px solid var(--ok);opacity:0;border-radius:50%;animation:2.2s cubic-bezier(0,0,.2,1) infinite pjPing;position:absolute;inset:-3px}@keyframes pjPing{0%{opacity:.7;transform:scale(.6)}70%,to{opacity:0;transform:scale(1.6)}}.pj-fold{min-height:0;transition:grid-template-rows .525s var(--ease-house);grid-template-rows:0fr;display:grid}.pj-fold>div{min-height:0;overflow:hidden}.pj-fold.open{grid-template-rows:1fr}.pj-more svg{transition:transform .3s}.pj-more.open svg{transform:rotate(180deg)}#projects.pj-v2 .pj-more{margin-top:1.6rem}.pj-div{font-family:var(--font-mono);color:var(--secondary-ink);letter-spacing:.25em;text-transform:uppercase;align-items:center;gap:1rem;font-size:10px;display:flex}.pj-div:after{content:"";background:var(--border);flex:1;height:1px}#projects.pj-v1 .pj-div{padding:1.5rem 0 .5rem}#projects.pj-v2 .pj-div{margin:.4rem 0 1.4rem}#projects.pj-v2 .pj-div:before{content:"";background:var(--border);flex:1;height:1px}.rv-stagger li{opacity:0;transition:opacity .4s,transform .4s;transform:translateY(6px)}@media (scripting:none){.pj-more{display:none!important}#projects.pj-v2 .pjb-entry{opacity:1;filter:none;transform:none}}#projects.pj-v1 .pj-list{border-bottom:1px solid var(--border);flex-direction:column;margin-top:2.4rem;display:flex}#projects.pj-v1 .pj-row{border-top:1px solid var(--border);grid-template-columns:3.4rem minmax(0,252px) minmax(0,1fr);align-items:start;gap:1.4rem;padding:2rem .25rem 2rem 1rem;transition:opacity .35s;display:grid;position:relative}#projects.pj-v1 .pj-row.expand{cursor:pointer}#projects.pj-v1 .pj-row:before{content:"";background:var(--foreground);transform-origin:top;width:2px;transition:transform .5s var(--ease-house);position:absolute;top:1.9rem;bottom:1.9rem;left:0;transform:scaleY(0)}#projects.pj-v1 .pj-row.open:before,#projects.pj-v1 .pj-row.expand:focus-within:before{transform:scaleY(1)}@media (hover:hover){#projects.pj-v1 .pj-row:hover:before{transform:scaleY(1)}#projects.pj-v1:has(.pj-row:hover) .pj-row:not(:hover){opacity:.38}}#projects.pj-v1 .pj-fold-list{border-bottom:1px solid var(--border)}#projects.pj-v1 .pj-idx{font-family:var(--font-mono);color:var(--secondary-ink);letter-spacing:.05em;padding-top:.35rem;font-size:.8rem;transition:color .3s}#projects.pj-v1 .pj-row:hover .pj-idx,#projects.pj-v1 .pj-row.open .pj-idx{color:var(--foreground)}#projects.pj-v1 .pj-media{aspect-ratio:16/10;background:var(--muted);border-radius:.6rem;display:block;position:relative;overflow:hidden}#projects.pj-v1 .pj-media:after{content:"";border:1px solid var(--border);border-radius:inherit;pointer-events:none;transition:border-color .35s;position:absolute;inset:0}#projects.pj-v1 .pj-media img{object-fit:cover;object-position:top;filter:saturate(.9)brightness(.96);width:100%;height:100%;transition:transform .65s cubic-bezier(.25,.46,.45,.94),filter .5s;display:block}#projects.pj-v1 .pj-row:hover .pj-media img,#projects.pj-v1 .pj-row:focus-within .pj-media img{filter:none;transform:scale(1.045)}#projects.pj-v1 .pj-row:hover .pj-media:after{border-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){#projects.pj-v1 .pj-row:hover .pj-media:after{border-color:color-mix(in srgb,var(--foreground)26%,transparent)}}#projects.pj-v1 .pj-head{align-items:center;gap:.55rem;min-width:0;display:flex}#projects.pj-v1 .pj-head .pl{object-fit:contain;border-radius:4px;flex-shrink:0;width:auto;max-width:40px;height:20px}#projects.pj-v1 .pj-title{letter-spacing:-.02em;align-items:center;gap:.45rem;font-size:1.3rem;font-weight:680;line-height:1.2;display:inline-flex;position:relative}#projects.pj-v1 .pj-title:after{content:"";transform-origin:0;height:1px;transition:transform .45s var(--ease-house);background:currentColor;position:absolute;bottom:-4px;left:0;right:1.35rem;transform:scaleX(0)}#projects.pj-v1 .pj-row:hover .pj-title:after,#projects.pj-v1 .pj-title:focus-visible:after{transform:scaleX(1)}#projects.pj-v1 .pj-title svg{width:15px;height:15px;color:var(--secondary-ink);flex-shrink:0;transition:transform .25s,color .25s}#projects.pj-v1 .pj-row:hover .pj-title svg{color:var(--foreground);transform:translate(3px,-3px)}#projects.pj-v1 .pj-hint{letter-spacing:.18em;text-transform:uppercase;color:var(--secondary-ink);opacity:0;pointer-events:none;white-space:nowrap;margin-left:auto;font-size:10px;transition:opacity .3s}@media (hover:hover){#projects.pj-v1 .pj-row:hover .pj-hint{opacity:.9}}#projects.pj-v1 .pj-row.open .pj-hint{opacity:0!important}#projects.pj-v1 .pj-sum{color:var(--secondary-ink);max-width:58ch;margin:.55rem 0 0;font-size:.885rem;line-height:1.65}#projects.pj-v1 .pj-x{transition:grid-template-rows .525s var(--ease-house);grid-template-rows:0fr;display:grid}#projects.pj-v1 .pj-xin{opacity:0;min-height:0;transition:opacity .37s,transform .37s;overflow:hidden;transform:translateY(-4px)}#projects.pj-v1 .pj-row.open .pj-x,#projects.pj-v1 .pj-row.expand:focus-within .pj-x{grid-template-rows:1fr}#projects.pj-v1 .pj-row.open .pj-xin,#projects.pj-v1 .pj-row.expand:focus-within .pj-xin{opacity:1;transition-delay:90ms;transform:none}@media (hover:hover){#projects.pj-v1 .pj-row.expand:hover .pj-x{grid-template-rows:1fr}#projects.pj-v1 .pj-row.expand:hover .pj-xin{opacity:1;transition-delay:90ms;transform:none}}#projects.pj-v1 .bullets{gap:.6rem;margin:.95rem 0 0;font-size:.835rem;line-height:1.66}#projects.pj-v1 .bullets li{color:var(--secondary-ink);grid-template-columns:14px 1fr;gap:.5rem;display:grid}#projects.pj-v1 .bullets li i{width:auto;height:auto;font-style:normal;font-family:var(--font-mono);color:var(--secondary-ink);background:0 0;border-radius:0;margin:0;padding-top:.1rem;font-size:.75rem}#projects.pj-v1 .bullets li i:before{content:"+"}#projects.pj-v1 .bullets b{color:var(--foreground);font-weight:620}#projects.pj-v1 .pj-row.open .rv-stagger li,#projects.pj-v1 .pj-row.expand:focus-within .rv-stagger li{opacity:1;transition-delay:calc(90ms + var(--i)*.12s);transform:none}@media (hover:hover){#projects.pj-v1 .pj-row.expand:hover .rv-stagger li{opacity:1;transition-delay:calc(90ms + var(--i)*.12s);transform:none}}#projects.pj-v1 .pj-stack{font-family:var(--font-mono);letter-spacing:.03em;color:var(--secondary-ink);margin:1rem 0 0;font-size:.72rem;line-height:1.9}#projects.pj-v1 .pj-stack em{opacity:.55;padding:0 .1rem;font-style:normal}#projects.pj-v1 .pj-links{font-family:var(--font-mono);letter-spacing:.02em;gap:1.35rem;margin-top:.75rem;font-size:.75rem;display:flex}#projects.pj-v1 .pj-links a{color:var(--secondary-ink);align-items:center;gap:.45rem;transition:color .2s;display:inline-flex}#projects.pj-v1 .pj-links a:hover{color:var(--foreground)}#projects.pj-v1 .pj-links svg{width:13px;height:13px}@media (max-width:768px){#projects.pj-v1 .pj-row{grid-template-columns:2.4rem minmax(0,208px) minmax(0,1fr);gap:1.1rem}}@media (max-width:720px){#projects.pj-v1 .pj-row{grid-template-columns:minmax(0,1fr);gap:1rem;padding-left:.9rem}#projects.pj-v1 .pj-idx{display:none}#projects.pj-v1 .pj-media{max-width:420px}#projects.pj-v1 .pj-hint{display:none}}#projects.pj-v2 .pjb-log{margin-top:2.1rem}#projects.pj-v2 .pjb-dep{font-family:var(--font-mono);letter-spacing:.16em;color:var(--lab-dim);align-items:center;gap:.85rem;min-width:0;font-size:10.5px;display:flex}#projects.pj-v2 .pjb-n{flex-shrink:0;transition:color .25s}#projects.pj-v2 .pjb-d{text-overflow:ellipsis;white-space:nowrap;max-width:52%;transition:color .25s;overflow:hidden}#projects.pj-v2 .pjb-caret{width:.55em;animation:1s step-end infinite pjbBlink;display:inline-block}@keyframes pjbBlink{50%{opacity:0}}#projects.pj-v2 .pjb-dep i{background:var(--border);flex:1;min-width:1.5rem;height:1px;position:relative;overflow:hidden}#projects.pj-v2 .pjb-dep i:after{content:"";background:linear-gradient(90deg,transparent,var(--foreground),transparent);opacity:.55;width:26px;height:1px;animation:6.5s linear infinite pjbFlow;animation-delay:var(--fd,0s);position:absolute;top:0;left:-28px}@keyframes pjbFlow{0%{left:-28px}to{left:100%}}#projects.pj-v2 .pjb-s{color:var(--lab-dim);flex-shrink:0;align-items:center;gap:.45rem;display:inline-flex}#projects.pj-v2 .pjb-s:has(.pj-dot){color:var(--ok-ink)}#projects.pj-v2 .pjb-entry{cursor:pointer;opacity:0;filter:blur(5px);padding:.95rem 0 1.9rem;transition:opacity .7s,filter .7s,transform .7s;position:relative;transform:translateY(14px)}#projects.pj-v2 .pjb-entry.in{opacity:1;filter:none;transform:none}#projects.pj-v2 .pjb-entry:hover .pjb-n,#projects.pj-v2 .pjb-entry:hover .pjb-d,#projects.pj-v2 .pjb-entry.open .pjb-n,#projects.pj-v2 .pjb-entry.open .pjb-d{color:var(--foreground)}#projects.pj-v2 .pjb-grid{grid-template-columns:292px minmax(0,1fr);align-items:start;gap:1.35rem;margin-top:.95rem;display:grid}#projects.pj-v2 .pjb-pad{border:1px solid var(--border);background-image:radial-gradient(var(--dotgrid)1px,transparent 1px);background-size:12px 12px;border-radius:.65rem;padding:.6rem;transition:border-color .25s,transform .25s;position:relative}#projects.pj-v2 .pjb-entry:hover .pjb-pad{border-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){#projects.pj-v2 .pjb-entry:hover .pjb-pad{border-color:color-mix(in srgb,var(--foreground)26%,transparent)}}#projects.pj-v2 .pjb-entry:hover .pjb-pad{transform:translateY(-2px)}#projects.pj-v2 .pjb-prod{background:var(--background);letter-spacing:.16em;color:var(--secondary-ink);align-items:center;gap:.3rem;padding:0 .4rem;font-size:9px;transition:color .25s;display:flex;position:absolute;top:-.55rem;right:.7rem}#projects.pj-v2 .pjb-entry:hover .pjb-prod{color:var(--foreground)}#projects.pj-v2 .pjb-thumb{background:var(--muted);aspect-ratio:16/10;border-radius:.45rem;display:block;overflow:hidden}#projects.pj-v2 .pjb-thumb img{object-fit:cover;object-position:top;width:100%;height:100%;transition:transform .6s cubic-bezier(.25,.46,.45,.94);display:block}#projects.pj-v2 .pjb-entry:hover .pjb-thumb img{transform:scale(1.05)}#projects.pj-v2 .pjb-title{flex-wrap:wrap;align-items:center;gap:.5rem;min-width:0;display:flex}#projects.pj-v2 .pjb-title .pl{object-fit:contain;border-radius:4px;flex-shrink:0;width:auto;max-width:40px;height:20px}#projects.pj-v2 .pjb-title a,#projects.pj-v2 .pjb-title .pj-name{letter-spacing:-.01em;align-items:center;gap:.4rem;font-size:1.22rem;font-weight:700;display:inline-flex}#projects.pj-v2 .pjb-title svg{width:14px;height:14px;color:var(--secondary-ink);flex-shrink:0;transition:transform .22s,color .22s}#projects.pj-v2 .pjb-entry:hover .pjb-title svg{color:var(--foreground);transform:translate(3px,-3px)}#projects.pj-v2 .pjb-hint{letter-spacing:.18em;text-transform:uppercase;color:var(--secondary-ink);opacity:0;pointer-events:none;margin-left:auto;font-size:10px;transition:opacity .25s}@media (hover:hover){#projects.pj-v2 .pjb-entry:hover .pjb-hint{opacity:.9}}#projects.pj-v2 .pjb-entry.open .pjb-hint{opacity:0!important}#projects.pj-v2 .pjb-sum{color:var(--secondary-ink);margin:.4rem 0 0;font-size:.875rem;line-height:1.65}#projects.pj-v2 .pjb-x{transition:grid-template-rows .525s var(--ease-house);grid-template-rows:0fr;display:grid}#projects.pj-v2 .pjb-xin{opacity:0;min-height:0;transition:opacity .37s,transform .37s;overflow:hidden;transform:translateY(-4px)}#projects.pj-v2 .pjb-entry.open .pjb-x,#projects.pj-v2 .pjb-entry:focus-within .pjb-x{grid-template-rows:1fr}#projects.pj-v2 .pjb-entry.open .pjb-xin,#projects.pj-v2 .pjb-entry:focus-within .pjb-xin{opacity:1;transition-delay:90ms;transform:none}@media (hover:hover){#projects.pj-v2 .pjb-entry:hover .pjb-x{grid-template-rows:1fr}#projects.pj-v2 .pjb-entry:hover .pjb-xin{opacity:1;transition-delay:90ms;transform:none}}#projects.pj-v2 .bullets{gap:.55rem;margin:.8rem 0 0;font-size:.83rem;line-height:1.65}#projects.pj-v2 .bullets li{color:var(--secondary-ink);grid-template-columns:13px 1fr;gap:.45rem;display:grid}#projects.pj-v2 .bullets li i{width:auto;height:auto;font-style:normal;font-family:var(--font-mono);background:0 0;border-radius:0;margin:0;padding-top:.12rem;font-size:.72rem}#projects.pj-v2 .bullets li i:before{content:"▸"}#projects.pj-v2 .bullets b{color:var(--foreground);font-weight:620}#projects.pj-v2 .pjb-entry.open .rv-stagger li,#projects.pj-v2 .pjb-entry:focus-within .rv-stagger li{opacity:1;transition-delay:calc(90ms + var(--i)*.12s);transform:none}@media (hover:hover){#projects.pj-v2 .pjb-entry:hover .rv-stagger li{opacity:1;transition-delay:calc(90ms + var(--i)*.12s);transform:none}}#projects.pj-v2 .pjb-chips{flex-wrap:wrap;gap:.35rem;margin-top:.85rem;display:flex}#projects.pj-v2 .pjb-chips .badge{gap:5px;padding:2px 9px;font-size:.72rem}#projects.pj-v2 .pjb-chips .badge .bi{width:12px;height:12px}#projects.pj-v2 .pjb-links{font-family:var(--font-mono);letter-spacing:.02em;gap:1.1rem;margin-top:.7rem;font-size:.75rem;display:flex}#projects.pj-v2 .pjb-links a{color:var(--secondary-ink);align-items:center;gap:.4rem;transition:color .2s;display:inline-flex}#projects.pj-v2 .pjb-links a:hover{color:var(--foreground)}#projects.pj-v2 .pjb-links svg{width:13px;height:13px}#projects.pj-v2 .pjb-eol{font-family:var(--font-mono);letter-spacing:.2em;color:var(--lab-dim);align-items:center;gap:1rem;margin-top:2.6rem;font-size:10px;display:flex}#projects.pj-v2 .pjb-eol:before,#projects.pj-v2 .pjb-eol:after{content:"";background:var(--border);flex:1;height:1px}@media (max-width:600px){#projects.pj-v2 .pjb-grid{grid-template-columns:1fr;gap:.85rem}#projects.pj-v2 .pjb-thumb{max-width:230px}#projects.pj-v2 .pjb-d{max-width:44%}#projects.pj-v2 .pjb-hint{display:none}}.show-more{border:1px solid var(--border);color:var(--secondary-ink);cursor:pointer;background:0 0;border-radius:.5rem;align-items:center;gap:.5rem;margin:2rem auto 0;padding:10px 20px;font-size:.875rem;font-weight:500;transition:border-color .2s,color .2s;display:flex}.show-more:hover{border-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.show-more:hover{border-color:color-mix(in srgb,var(--foreground)30%,transparent)}}.show-more:hover{color:var(--foreground)}.show-more svg{width:16px;height:16px}.lab{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--lab-dim);align-items:center;gap:12px;font-size:11px;font-weight:500;line-height:16px;display:flex}.lab i{border-top:1px solid var(--border);flex:1}.lab>span:first-child{margin-right:-.18em}.lab .hint{letter-spacing:0;text-transform:none;color:var(--lab-2);font-weight:400}#contact{padding:50px 0 110px;position:relative;overflow-x:clip}#contact:before{content:"";pointer-events:none;background-image:radial-gradient(var(--dotgrid)1px,transparent 1.4px);background-size:26px 26px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(78% 62% at 50% 42%,#000 30%,#0000 100%);mask-image:radial-gradient(78% 62% at 50% 42%,#000 30%,#0000 100%)}#contact .ct{position:relative}#contact .ct-head{flex-wrap:wrap;align-items:center;gap:14px;display:flex}#contact .ct-title{letter-spacing:-.03em;font-variation-settings:"opsz" 32;margin:14px 0 0;font-size:clamp(30px,5.6vw,42px);font-weight:650;line-height:1.08}#contact .ct-now{letter-spacing:.04em;color:var(--lab-2);white-space:nowrap;align-items:center;gap:10px;margin-left:auto;font-size:11px;display:inline-flex}#contact .ct-clock{font-variant-numeric:tabular-nums;color:var(--foreground)}#contact .sig-dot{background:var(--ok);border-radius:9999px;flex:none;width:6px;height:6px;position:relative}#contact .sig-dot:after{content:"";border-radius:inherit;border:1px solid var(--ok);animation:2.4s cubic-bezier(0,0,.2,1) infinite ctPing;position:absolute;inset:-3px}@keyframes ctPing{0%{opacity:.8;transform:scale(.6)}70%,to{opacity:0;transform:scale(1.9)}}#contact .scope{border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin-top:34px;position:relative}#contact .scope canvas{width:100%;height:118px;display:block}#contact .scope-hud{pointer-events:none;font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--lab-dim);justify-content:space-between;font-size:9.5px;display:flex;position:absolute;inset:8px 2px auto}#contact .scope-hud b{color:var(--lab-2);letter-spacing:.1em;font-weight:500}#contact .scope-hud .tx{color:var(--ok-ink);opacity:0;transition:opacity .25s}#contact .scope.txing .scope-hud .tx{opacity:1}#contact .scope-cap{pointer-events:none;font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--lab-dim);justify-content:space-between;font-size:9.5px;display:flex;position:absolute;inset:auto 2px 8px}#contact .sent-form{margin-top:44px}#contact .sentence{letter-spacing:-.014em;font-variation-settings:"opsz" 26;color:var(--muted-foreground);max-width:60ch;font-size:clamp(19px,3.4vw,26px);font-weight:350;line-height:2.05}#contact .sentence b{color:var(--foreground);font-weight:520}#contact .blank{vertical-align:baseline;margin:0 .12em;display:inline-block;position:relative}#contact .blank input{font:inherit;color:var(--foreground);text-align:center;border:0;border-bottom:2px solid var(--foreground);background:0 0;outline:0;min-width:2ch;padding:0 .1em 2px}@supports (color:color-mix(in lab, red, red)){#contact .blank input{border-bottom:2px solid color-mix(in srgb,var(--foreground)30%,transparent)}}#contact .blank input{caret-color:var(--foreground);font-weight:480;transition:border-color .25s}#contact .blank input::placeholder{color:var(--ph);font-weight:350}#contact .blank input:focus{border-bottom-color:var(--foreground)}#contact .blank.err input{border-bottom-color:var(--err);animation:.3s nudge}@keyframes nudge{25%{transform:translate(-3px)}75%{transform:translate(3px)}}#contact .blank .mirror{visibility:hidden;white-space:pre;font:inherit;padding:0 .1em;font-weight:480;position:absolute;top:0;left:-9999px}#contact .pk{font:inherit;color:var(--foreground);cursor:pointer;border:0;border-bottom:2px dashed var(--foreground);background:0 0;padding:0 .1em 2px;font-weight:480}@supports (color:color-mix(in lab, red, red)){#contact .pk{border-bottom:2px dashed color-mix(in srgb,var(--foreground)34%,transparent)}}#contact .pk{transition:border-color .25s}#contact .pk:hover,#contact .pk[aria-expanded=true]{border-bottom-color:var(--foreground)}#contact .pk .car{color:var(--lab-dim);margin-left:.35em;font-size:.6em;transition:transform .25s;display:inline-block;transform:translateY(-.15em)}#contact .pk[aria-expanded=true] .car{transform:translateY(-.15em)rotate(180deg)}#contact .chip-rail{transition:grid-template-rows .35s var(--ease-house);grid-template-rows:0fr;display:grid}#contact .chip-rail.open{grid-template-rows:1fr}#contact .chip-rail>div{flex-wrap:wrap;gap:8px;padding-top:14px;display:flex;overflow:hidden}#contact .chip{font-family:var(--font-mono);letter-spacing:.02em;color:var(--muted-foreground);background:var(--background);border:1px solid var(--border);cursor:pointer;border-radius:9999px;padding:6px 13px;font-size:12px;transition:color .2s,border-color .2s,background-color .2s,transform .15s}#contact .chip:hover{color:var(--foreground);border-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){#contact .chip:hover{border-color:color-mix(in srgb,var(--foreground)28%,transparent)}}#contact .chip:active{transform:scale(var(--press))}#contact .chip[aria-pressed=true]{color:var(--background);background:var(--foreground);border-color:var(--foreground)}#contact .msg-line{margin-top:6px;display:block}#contact .msg-line textarea{width:100%;font:inherit;color:var(--foreground);resize:none;border:0;border-bottom:2px solid var(--foreground);background:0 0;outline:0;min-height:1.6em;padding:2px 0 8px;font-weight:480;line-height:1.6;display:block;overflow:hidden}@supports (color:color-mix(in lab, red, red)){#contact .msg-line textarea{border-bottom:2px solid color-mix(in srgb,var(--foreground)30%,transparent)}}#contact .msg-line textarea{caret-color:var(--foreground);transition:border-color .25s}#contact .msg-line textarea::placeholder{color:var(--ph);font-weight:350}#contact .msg-line textarea:focus{border-bottom-color:var(--foreground)}#contact .msg-line.err textarea{border-bottom-color:var(--err);animation:.3s nudge}#contact .tx-row{flex-wrap:wrap;align-items:center;gap:16px;margin-top:34px;display:flex}#contact .f-count{font-family:var(--font-mono);color:var(--lab-dim);font-variant-numeric:tabular-nums;font-size:11px}#contact .f-count.near{color:var(--err)}#contact .tx-note{color:var(--muted-foreground);font-size:12px}#contact .tx-spacer{flex:1}#contact .tx-btn{font:inherit;letter-spacing:.02em;color:var(--background);background:var(--foreground);border:1px solid var(--foreground);cursor:pointer;transition:transform .2s var(--ease-house),opacity .2s ease;border-radius:9999px;align-items:center;gap:10px;padding:12px 24px;font-size:13.5px;font-weight:520;display:inline-flex;position:relative;overflow:hidden}#contact .tx-btn:hover{transform:translateY(-2px)}#contact .tx-btn:active{transform:translateY(0)scale(var(--press))}#contact .tx-btn[aria-disabled=true]{opacity:.55;cursor:wait;transform:none}#contact .tx-btn .up{transition:transform .3s var(--ease-house);display:inline-flex}#contact .tx-btn:hover .up{transform:translateY(-3px)}#contact .tx-btn svg{width:15px;height:15px}#contact .tx-btn .btnwave{align-items:center;gap:2.5px;height:14px;display:inline-flex}#contact .tx-btn .btnwave i{opacity:.85;background:currentColor;border-radius:1px;width:2px;height:4px}#contact .tx-btn:hover .btnwave i{animation:.7s ease-in-out infinite alternate eq}#contact .tx-btn .btnwave i:first-child{animation-delay:0s}#contact .tx-btn .btnwave i:nth-child(2){animation-delay:.12s}#contact .tx-btn .btnwave i:nth-child(3){animation-delay:.24s}#contact .tx-btn .btnwave i:nth-child(4){animation-delay:.36s}@keyframes eq{0%{height:3px}to{height:13px}}#contact .spin{border:2px solid var(--background);border-radius:9999px;flex:none;width:14px;height:14px}@supports (color:color-mix(in lab, red, red)){#contact .spin{border:2px solid color-mix(in srgb,var(--background)35%,transparent)}}#contact .spin{border-top-color:var(--background);animation:.7s linear infinite rot}@keyframes rot{to{transform:rotate(360deg)}}#contact .ack{min-height:22px;font-family:var(--font-mono);letter-spacing:.02em;color:var(--lab-2);white-space:pre-wrap;margin-top:26px;font-size:12.5px}#contact .ack .ok{color:var(--ok-ink)}#contact .ack .caret{vertical-align:-.18em;opacity:1;background:var(--foreground);width:.55em;height:1.05em;animation:1s step-end infinite blink;display:inline-block;transform:none}@keyframes blink{50%{opacity:0}}#contact .ack .again{font:inherit;color:var(--foreground);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:0;text-decoration:underline}#contact .carrier{margin-top:76px}#contact .car-copied{letter-spacing:0;text-transform:none;color:var(--ok-ink);opacity:0;font-weight:400;transition:opacity .3s,transform .3s;transform:translateY(3px)}#contact .car-copied.on{opacity:1;transform:none}#contact .car-btn{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;margin-top:18px;padding:6px 2px 0;display:block}#contact .car-btn:focus-visible{outline:1px dashed var(--lab-dim);outline-offset:8px}#contact .car-top{align-items:center;gap:16px;display:flex}#contact .car-addr{letter-spacing:-.018em;font-variation-settings:"opsz" 30;flex-wrap:wrap;min-width:0;font-size:clamp(17px,4.6vw,30px);line-height:1.25;display:flex}#contact .car-addr .cc{white-space:pre;font-variation-settings:"wght" var(--cw,480),"opsz" 30;transform:translateY(calc(var(--cy,0)*1px));will-change:font-variation-settings,transform;display:inline-block}#contact .car-addr .cc.at{font-variation-settings:"wght" calc(var(--cw,480) + 220),"opsz" 30}#contact .car-ic{border:1px solid var(--border);width:38px;height:38px;color:var(--muted-foreground);background:var(--background);border-radius:10px;flex:none;place-items:center;margin-left:auto;transition:color .25s,border-color .25s,background-color .25s,transform .25s;display:grid}#contact .car-btn:hover .car-ic{color:var(--foreground);background:var(--muted);border-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){#contact .car-btn:hover .car-ic{border-color:color-mix(in srgb,var(--foreground)30%,transparent)}}#contact .car-btn:hover .car-ic{transform:translateY(-2px)}#contact .car-ic svg{width:15px;height:15px}#contact .car-ic .ic-check{color:var(--ok-ink);display:none}#contact .car-btn.copied .car-ic{border-color:var(--ok)}@supports (color:color-mix(in lab, red, red)){#contact .car-btn.copied .car-ic{border-color:color-mix(in srgb,var(--ok)45%,transparent)}}#contact .car-btn.copied .car-ic .ic-copy{display:none}#contact .car-btn.copied .car-ic .ic-check{display:block}#contact .car-wave{width:100%;height:30px;margin-top:2px;display:block}#contact .car-sub{align-items:center;gap:16px;margin-top:8px;display:flex}#contact .car-open{font-family:var(--font-mono);color:var(--lab-dim);margin-left:auto;font-size:11.5px;text-decoration:none;transition:color .2s}#contact .car-open:hover{color:var(--foreground)}#contact .freqs{margin-top:56px}#contact .fq-list{margin-top:6px}#contact .fq{border-bottom:1px solid var(--border);color:inherit;align-items:center;gap:14px;padding:15px 2px;text-decoration:none;display:flex}#contact .fq-band{font-family:var(--font-mono);color:var(--lab-dim);letter-spacing:.08em;flex:none;width:44px;font-size:10px}#contact .fq-name{letter-spacing:-.01em;font-size:14px;font-weight:480}#contact .fq-line{border-top:1px dashed var(--border);flex:1}@supports (color:color-mix(in lab, red, red)){#contact .fq-line{border-top:1px dashed color-mix(in srgb,var(--border)92%,transparent)}}#contact .fq-h{font-family:var(--font-mono);color:var(--muted-foreground);font-size:11px}#contact .bars{flex:none;align-items:flex-end;gap:2.5px;height:13px;display:inline-flex}#contact .bars i{background:var(--foreground);border-radius:1px;width:2.5px}@supports (color:color-mix(in lab, red, red)){#contact .bars i{background:color-mix(in srgb,var(--foreground)40%,transparent)}}#contact .bars i{transition:background-color .25s}#contact .bars i:first-child{height:4px}#contact .bars i:nth-child(2){height:7px}#contact .bars i:nth-child(3){height:10px}#contact .bars i:nth-child(4){height:13px}#contact .fq-arr{color:var(--lab-dim);transition:transform .3s var(--ease-house),color .3s ease;flex:none;font-size:12px}@media (hover:hover){#contact .fq:hover .fq-name{font-weight:620}#contact .fq:hover .bars i{background:var(--foreground);animation:.6s ease-in-out infinite alternate eqB}#contact .fq:hover .bars i:nth-child(2){animation-delay:.1s}#contact .fq:hover .bars i:nth-child(3){animation-delay:.2s}#contact .fq:hover .bars i:nth-child(4){animation-delay:.3s}#contact .fq:hover .fq-arr{color:var(--foreground);transform:translate(3px,-3px)}}@keyframes eqB{0%{transform:scaleY(.45)}to{transform:scaleY(1)}}#contact .fq:focus-visible{outline:1px dashed var(--lab-dim);outline-offset:-1px}#contact .ct-close{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--lab-dim);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:70px;font-size:12px;display:flex}#contact .ct-close .coord{letter-spacing:.06em;text-transform:none;color:var(--lab-2)}#contact .ct.in .rv{animation:rise .65s var(--ease-house)var(--d,0s)backwards}@keyframes rise{0%{opacity:0;transform:translateY(14px)}}@media (max-width:560px){#contact .ct-now .awk,#contact .fq-h{display:none}#contact .sentence{line-height:1.95}}#contact .fqx{position:relative}#contact .ghv{font-family:var(--font-mono);color:var(--lab-dim);margin:0 -4px 0 -6px;font-size:9px;transition:transform .3s,color .2s}#contact .fqx:hover .ghv{color:var(--foreground);transform:rotate(180deg)}#contact .fqx:has(.fq:focus-visible) .ghv{color:var(--foreground);transform:rotate(180deg)}#contact .ghln{transition:grid-template-rows .3s var(--ease-std);grid-template-rows:0fr;display:grid}#contact .ghln-in{opacity:0;min-height:0;transition:opacity .3s,transform .3s;overflow:hidden;transform:translateY(-4px)}#contact .ghln-body{border-bottom:1px solid var(--border);padding:22px 2px 16px;position:relative}#contact .fqx:hover .ghln{transition:grid-template-rows .5s var(--ease-house);grid-template-rows:1fr}#contact .fqx:has(.fq:focus-visible) .ghln{transition:grid-template-rows .5s var(--ease-house);grid-template-rows:1fr}#contact .fqx:hover .ghln-in{opacity:1;transition-delay:80ms;transform:none}#contact .fqx:has(.fq:focus-visible) .ghln-in{opacity:1;transition-delay:80ms;transform:none}#contact .ghln-stage{cursor:crosshair;touch-action:pan-y;position:relative}#contact .ghln-stage svg{width:100%;height:60px;display:block;overflow:visible}#contact .ghln stop{stop-color:currentColor}#contact .ghln .stroke{fill:none;stroke:url(#ghlnInk);stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}#contact .ghln .under{fill:url(#ghlnFade);opacity:0}#contact .ghln .base{stroke:var(--border);stroke-width:1px;stroke-dasharray:1 5;vector-effect:non-scaling-stroke}#contact .ghln .pkdot{fill:currentColor}#contact .ghln-pk{pointer-events:none;font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--lab-dim);white-space:nowrap;opacity:0;font-size:8.5px;line-height:12px;position:absolute;transform:translate(-50%,-100%)}#contact .ghln-dot{background:var(--ok);pointer-events:none;opacity:0;border-radius:9999px;width:5px;height:5px;margin:-2.5px 0 0 -2.5px;position:absolute}#contact .ghln-dot:after{content:"";border-radius:inherit;border:1px solid var(--ok);animation:2.4s cubic-bezier(0,0,.2,1) infinite ghlnPing;position:absolute;inset:-3px}@keyframes ghlnPing{0%{opacity:.8;transform:scale(.6)}70%,to{opacity:0;transform:scale(1.9)}}#contact .ghln .cur{stroke:var(--foreground)}@supports (color:color-mix(in lab, red, red)){#contact .ghln .cur{stroke:color-mix(in srgb,var(--foreground)45%,transparent)}}#contact .ghln .cur{stroke-width:1px;vector-effect:non-scaling-stroke;opacity:0;transition:opacity .15s}#contact .ghln .curdot{fill:var(--background);stroke:var(--foreground);stroke-width:1.2px;vector-effect:non-scaling-stroke;opacity:0;transition:opacity .15s}#contact .ghln-stage:hover .cur,#contact .ghln-stage:hover .curdot,#contact .ghln-stage:active .cur,#contact .ghln-stage:active .curdot{opacity:1}#contact .ghln-ro{pointer-events:none;font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--foreground);white-space:nowrap;opacity:0;font-variant-numeric:tabular-nums;font-size:9px;line-height:12px;transition:opacity .15s;position:absolute;top:-17px;right:2px}#contact .ghln-stage:hover .ghln-ro,#contact .ghln-stage:active .ghln-ro{opacity:1}#contact .ghln .stroke{stroke-dasharray:var(--draw,3.2);stroke-dashoffset:var(--draw,3.2)}#contact .fqx:hover .stroke{transition:stroke-dashoffset 1.4s var(--ease-std).25s;stroke-dashoffset:0}#contact .fqx:has(.fq:focus-visible) .stroke{transition:stroke-dashoffset 1.4s var(--ease-std).25s;stroke-dashoffset:0}#contact .fqx:hover .under{opacity:1;transition:opacity .7s 1.1s}#contact .fqx:has(.fq:focus-visible) .under{opacity:1;transition:opacity .7s 1.1s}#contact .fqx:hover .ghln-dot{opacity:1;transition:opacity .3s 1.45s}#contact .fqx:has(.fq:focus-visible) .ghln-dot{opacity:1;transition:opacity .3s 1.45s}#contact .fqx:hover .ghln-pk{opacity:1;transition:opacity .5s 1.55s}#contact .fqx:has(.fq:focus-visible) .ghln-pk{opacity:1;transition:opacity .5s 1.55s}@media (hover:none){#contact .ghv{display:none}#contact .ghln{grid-template-rows:1fr}#contact .ghln-in{opacity:1;transform:none}#contact .ghln.in .stroke{transition:stroke-dashoffset 1.5s var(--ease-std).1s;stroke-dashoffset:0}#contact .ghln.in .under{opacity:1;transition:opacity .8s 1.2s}#contact .ghln.in .ghln-dot{opacity:1;transition:opacity .3s 1.55s}#contact .ghln.in .ghln-pk{opacity:1;transition:opacity .5s 1.7s}}#contact .ghln-cap{font-family:var(--font-mono);letter-spacing:.02em;color:var(--lab-dim);margin:10px 0 0;font-size:10.5px;line-height:16px}#contact .ghln-cap b{color:var(--lab-2);font-weight:500}.thought{padding:var(--sp-interlude)0 0}.thought .th-wrap{--q-size:clamp(30px,6.4vw,52px);--q-cap:19ch;position:relative}.thought .th-wrap[data-len=long]{--q-size:clamp(24px,4.4vw,38px);--q-cap:26ch}.thought .th-quote{max-width:var(--q-cap);font-size:var(--q-size);letter-spacing:-.028em;cursor:default;margin:34px 0 0;font-weight:250;line-height:1.14}.thought .th-quote p{text-wrap:balance;margin:0}.thought .th-quote .w{white-space:pre-wrap;overflow-wrap:anywhere;font-variation-settings:"wght" var(--w,250),"opsz" 32;will-change:font-variation-settings;display:inline-block}.thought .th-quote .w.w-pin{white-space:pre;text-align:center}.thought .th-wrap.in .th-quote .w{animation:wIn .7s var(--ease-house)var(--d,0s)backwards}@keyframes wIn{0%{opacity:0;filter:blur(6px);transform:translateY(.35em)}}.thought .th-hintline{color:var(--lab-dim);letter-spacing:.05em;opacity:0;margin-top:8px;font-size:10.5px;transition:opacity .5s .2s}.thought .th-wrap.in .th-hintline{opacity:.75}@media (hover:none){.thought .th-hintline{display:none}}.thought .th-foot{flex-wrap:wrap;align-items:center;gap:12px;max-width:560px;margin-top:30px;display:flex}.thought .th-wrap.in .th-foot{animation:.6s .55s backwards footIn}@keyframes footIn{0%{opacity:0;transform:translateY(8px)}}.thought .th-foot i{border-top:1px solid var(--border);flex:1;min-width:24px}.thought .th-author{color:var(--lab-2);overflow-wrap:anywhere;font-size:13px;line-height:20px}@media (prefers-reduced-motion:reduce){.paw-btn:hover .paw,.paw-btn:active .paw,.paw-btn.on .paw,.paw-btn.on .paw:before{animation:none}.animate-fade-in-blur{opacity:1;animation:none}.animate-delay-1,.animate-delay-2,.animate-delay-3,.animate-delay-4,.animate-delay-5,.animate-delay-6{animation-delay:0s}.bg-beams-layer{display:none}.rn-body,.rn-mobile,.rn-pill{transition:none}.rn-menu{animation:none}html{scroll-behavior:auto}.avail i:after,#contact .ack .caret,.peek-tab,.roleline .rule,.cue i,.cw .cat,.xp-cur i,.xp-node.live:after{animation:none!important}.xp-card,.xp-node,.xp-log li>span:last-child,.xp-more svg{transition:none!important}.xp-card:before{display:none}.xp-list:has(.xp-card:hover) .xp-card:not(:hover){opacity:1}.xp-fold{transition:none}.xp-card .xp-log li,.xp-fold .xp-log li{opacity:1!important;filter:none!important;transition:none!important;transform:none!important}.peek{display:none!important}.peek-stack{display:block}.roleword,.chip,.btn:hover,.btn svg,.soc,.soc .lbl,.badge,.pj-x,.pj-xin,.pjb-x,.pjb-xin{transition:none!important}.btn{translate:none!important}.rv-stagger li{opacity:1!important;transition:none!important;transform:none!important}.pj-fold,.pj-more svg{transition:none}#projects.pj-v2 .pjb-entry{opacity:1;filter:none;transform:none;transition:none!important}#projects.pj-v2 .pjb-dep i:after{display:none}#projects.pj-v2 .pjb-caret,.pj-dot:after{animation:none!important}#projects.pj-v1 .pj-media img,#projects.pj-v2 .pjb-thumb img{transition:none!important;transform:none!important}#projects.pj-v1 .pj-row,#projects.pj-v1 .pj-row:before,#projects.pj-v1 .pj-title:after{transition:none!important}#projects.pj-v1:has(.pj-row:hover) .pj-row:not(:hover){opacity:1}#contact .ct.in .rv,.thought .th-wrap.in .th-quote .w,.thought .th-wrap.in .th-foot,#contact .sig-dot:after,#contact .tx-btn:hover .btnwave i,#contact .fq:hover .bars i{animation:none!important}#contact .ghln-dot:after{opacity:0;animation:none}#contact .blank.err input,#contact .msg-line.err textarea,#contact .spin{animation:none!important}#contact .tx-btn:hover,#contact .tx-btn:hover .up,#contact .car-btn:hover .car-ic,#contact .fq:hover .fq-arr{transform:none}#contact .chip-rail,#contact .ghln,#contact .ghln-in{transition-duration:.01ms!important}.thought .th-hintline{transition:none}#contact .ghln .stroke{stroke-dasharray:none;stroke-dashoffset:0;transition:none!important}#contact .ghln .under,#contact .ghln-pk,#contact .ghln-dot{opacity:1!important;transition:none!important}#contact .ghv{transition:none}}.sec-title{letter-spacing:-.03em;font-variation-settings:"opsz" 32;margin:14px 0 0;font-size:clamp(26px,4.8vw,34px);font-weight:650;line-height:1.08}.lab .decode{transition:color var(--t-slow)var(--ease-house)}.lab .decode.locked{color:var(--foreground)}@media (prefers-reduced-motion:reduce){.lab .decode{transition:none}}::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:2}@media (prefers-reduced-motion:reduce){::view-transition-group(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}}.tt>span{transition:transform var(--t-slow)var(--ease-house),opacity var(--t-base)var(--ease-house);place-items:center;display:grid;position:absolute;inset:0}.tt .tt-sun{opacity:0;transform:rotate(-90deg)scale(.4)}.dark .tt .tt-moon{opacity:0;transform:rotate(90deg)scale(.4)}.dark .tt .tt-sun{opacity:1;transform:none}.kbd{border:1px solid var(--border);background:var(--muted);height:20px;font-family:var(--font-mono);letter-spacing:.04em;color:var(--secondary-ink);border-radius:5px;align-items:center;padding:0 6px;font-size:10px;display:inline-flex}.kbtn{border:1px solid var(--border);background:var(--background);border-radius:8px;height:30px;margin-right:4px;padding:0 8px 0 10px}@supports (color:color-mix(in lab, red, red)){.kbtn{background:color-mix(in srgb,var(--background)88%,transparent)}}.kbtn{color:var(--secondary-ink);cursor:pointer;transition:color var(--t-fast),border-color var(--t-fast),transform var(--t-fast)var(--ease-house);font-size:12px}.kbtn:hover{color:var(--foreground);border-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.kbtn:hover{border-color:color-mix(in srgb,var(--foreground)25%,transparent)}}@media (prefers-reduced-motion:reduce){.tt>span,.kbtn{transition:none}}.cmdk{z-index:80;position:fixed;inset:0}.cmdk-veil{background:var(--background);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.cmdk-veil{background:color-mix(in srgb,var(--background)55%,transparent)}}.cmdk-veil{-webkit-backdrop-filter:blur(6px)}.cmdk-box{border:1px solid var(--border);background:var(--card);border-radius:12px;width:min(560px,92vw);position:absolute;top:18vh;left:50%;overflow:hidden;translate:-50%;box-shadow:0 0 0 1px #222a350a,0 24px 80px -20px #00000059}.cmdk-row{border-bottom:1px solid var(--border);font-family:var(--font-mono);align-items:center;gap:10px;padding:12px 14px;font-size:13px;display:flex}.cmdk-prompt{white-space:pre;color:var(--secondary-ink)}.cmdk-prompt b{color:#10b981;font-weight:500}.cmdk-row input{min-width:0;font:inherit;color:var(--foreground);caret-color:var(--foreground);background:0 0;border:0;outline:0;flex:1}.cmdk-row input::placeholder{color:var(--ph)}.cmdk-row input:focus-visible{outline:none}.cmdk-list{max-height:min(52vh,420px);padding:6px;overflow:auto}.cmdk-group{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--lab-dim);padding:10px 10px 4px;font-size:9.5px}.cmdk-item{color:var(--secondary-ink);cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;font-size:13.5px;display:flex}.cmdk-item[aria-selected=true]{background:var(--muted)}.cmdk-item .ic{width:16px;font-family:var(--font-mono);color:var(--lab-dim);place-items:center;font-size:11px;display:inline-grid}.cmdk-item .lb{color:var(--foreground)}.cmdk-item .lb.ok{color:var(--ok-ink)}.cmdk-item .sb{font-family:var(--font-mono);color:var(--lab-dim);text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;overflow:hidden}.cmdk-item .kbd{flex:none;margin-left:auto}.cmdk-empty{font-family:var(--font-mono);color:var(--secondary-ink);padding:26px 14px;font-size:12px}.cmdk-foot{border-top:1px solid var(--border);font-family:var(--font-mono);letter-spacing:.06em;color:var(--lab-dim);align-items:center;gap:14px;padding:8px 14px;font-size:10px;display:flex}.cmdk-foot i{flex:1}.tune{right:calc(18px + var(--sbw,0px));z-index:30;--rail-h:40vh;--p:0;opacity:0;pointer-events:none;transition:opacity .4s var(--ease-house);display:none;position:fixed;top:50%;translate:0 -50%}.tune.on{opacity:1;pointer-events:auto}@media (min-width:1100px){.tune{display:block}}.tune-ro{letter-spacing:.16em;text-transform:uppercase;color:var(--lab-dim);font-variant-numeric:tabular-nums;opacity:0;transition:opacity var(--t-fast);font-size:9px;position:absolute;top:-30px;right:0}.tune:hover .tune-ro{opacity:1}.tune-track{height:var(--rail-h);background:var(--border);cursor:ns-resize;touch-action:none;width:1px;margin-left:auto;position:relative}.tune-track:before{content:"";position:absolute;inset:0 -14px}.tune-minor{background:var(--border);width:4px;height:1px;position:absolute;right:0}.tune-stop{white-space:nowrap;cursor:pointer;background:0 0;border:0;align-items:center;gap:9px;padding:0;display:flex;position:absolute;right:0;translate:0 -50%}.tune-stop span{letter-spacing:.16em;text-transform:uppercase;color:var(--lab-dim);transition:color var(--t-base);font-size:9.5px}.tune-stop b{font-weight:500}.tune-stop i{background:var(--border);width:7px;height:1px;transition:background var(--t-base),width var(--t-base)var(--ease-house)}.tune-stop.cur span,.tune-stop:hover span{color:var(--foreground)}.tune-stop.cur i{background:var(--foreground);width:12px}.tune-needle{background:var(--foreground);pointer-events:none;width:15px;height:1px;transform:translateY(calc(var(--p)*var(--rail-h)));position:absolute;top:0;right:-7px}.tune-needle:after{content:"";background:var(--foreground);border-radius:9999px;width:6px;height:6px;position:absolute;top:-2.5px;right:-2px}@supports (animation-timeline:scroll()){.tune-needle{animation:linear both tune-needle;animation-timeline:scroll(root);transform:none}}@keyframes tune-needle{0%{transform:translateY(0)}to{transform:translateY(var(--rail-h))}}@media (prefers-reduced-motion:reduce){.tune-needle{transform:translateY(calc(var(--p)*var(--rail-h)));animation:none}.tune-stop i,.tune-stop span{transition:none}}.th-year{letter-spacing:.16em;text-transform:uppercase;color:var(--lab-dim);opacity:0;align-items:center;gap:14px;margin-top:44px;font-size:10px;display:flex}.thought .th-wrap.in .th-year{opacity:1;animation:.6s .9s backwards footIn}.th-year i{background:var(--border);flex:1;height:1px;font-style:normal;position:relative}.th-year i:before{content:"";background:var(--foreground);width:0;height:1px;position:absolute;top:0;left:0}@supports (color:color-mix(in lab, red, red)){.th-year i:before{background:color-mix(in srgb,var(--foreground)55%,transparent)}}.th-year i:before{transition:width 1.3s var(--ease-std)1.05s}.thought .th-wrap.in .th-year i:before{width:var(--x)}.th-year i b{left:var(--x);background:var(--foreground);opacity:0;width:1px;height:10px;transition:opacity .3s 2.3s;position:absolute;top:50%;translate:-50% -50%}.thought .th-wrap.in .th-year i b{opacity:1}.th-year i b:after{content:attr(data-l);letter-spacing:.14em;color:var(--foreground);white-space:nowrap;font-size:9px;font-weight:500;line-height:12px;position:absolute;top:-17px;left:50%;translate:-50%}@media (prefers-reduced-motion:reduce){.th-year,.thought .th-wrap.in .th-year{opacity:1;animation:none}.th-year i:before,.th-year i b{transition:none}.th-year i:before{width:var(--x)}.th-year i b{opacity:1}}.wi{border-top:1px solid var(--border);margin-top:2.1rem;position:relative}.wr{border-bottom:1px solid var(--border);cursor:pointer;grid-template-columns:96px minmax(0,1fr) auto;align-items:baseline;gap:1.1rem;padding:1.15rem .25rem 1.15rem .9rem;transition:opacity .35s;display:grid;position:relative}.wr:before{content:"";background:var(--foreground);transform-origin:top;width:2px;transition:transform .5s var(--ease-house);position:absolute;top:1.05rem;bottom:1.05rem;left:0;transform:scaleY(0)}.wr:hover:before,.wr:focus-visible:before{transform:scaleY(1)}@media (hover:hover){.wi:has(.wr:hover) .wr:not(:hover){opacity:.38}}.wr .dt{letter-spacing:.04em;color:var(--secondary-ink);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.72rem}.wr .t{letter-spacing:-.015em;font-variation-settings:"wght" 500,"opsz" 24;transition:font-variation-settings var(--t-base)var(--ease-house);font-size:1.12rem;line-height:1.3;display:block}.wr:hover .t,.wr:focus-visible .t{font-variation-settings:"wght" 680,"opsz" 24}.wr .meta{letter-spacing:.03em;color:var(--lab-dim);text-overflow:ellipsis;white-space:nowrap;margin-top:.35rem;font-size:.7rem;display:block;overflow:hidden}.wr .arr{color:var(--lab-dim);transition:transform .3s var(--ease-house),color .3s;font-size:12px}.wr:hover .arr{color:var(--foreground);transform:translate(3px,-3px)}.wr .icov{display:none}.wpeek{aspect-ratio:16/10;border:1px solid var(--border);background:var(--muted);opacity:0;pointer-events:none;z-index:5;will-change:transform,opacity;border-radius:12px;width:clamp(140px,16vw,184px);transition:opacity .28s;position:absolute;top:0;left:0;overflow:hidden;box-shadow:0 18px 44px -14px #0006}.wpeek.on{opacity:1}.wpeek-img{display:block;position:absolute;inset:0}.wpeek img,.wpeek-img>div,.wr .icov img,.wr .icov>div{object-fit:cover;object-position:top;width:100%;height:100%;display:block}.eol{letter-spacing:.2em;color:var(--lab-dim);text-transform:uppercase;align-items:center;gap:1rem;margin-top:1.4rem;font-size:10px;display:flex}.eol:before,.eol:after{content:"";background:var(--border);flex:1;height:1px}@media (max-width:640px){.wr{grid-template-columns:minmax(0,1fr) auto}.wr .dt{grid-column:1/-1}}@media (hover:none),(pointer:coarse),(max-width:640px),(prefers-reduced-motion:reduce){.wpeek{display:none}.wr .icov{aspect-ratio:16/10;border:1px solid var(--border);border-radius:8px;grid-column:1/-1;width:84px;display:block;position:relative;overflow:hidden}}@media (prefers-reduced-motion:reduce){.wr,.wr:before,.wr .t,.wr .arr{transition:none!important}.wr:hover .arr{transform:none}.wi:has(.wr:hover) .wr:not(:hover){opacity:1}}.read-line{background:var(--foreground);transform-origin:0;z-index:40;pointer-events:none;height:1px;position:fixed;top:0;left:0;right:0;transform:scaleX(0)}@supports (animation-timeline:scroll()){.read-line{animation:linear both read-grow;animation-timeline:scroll(root)}}@keyframes read-grow{to{transform:scaleX(1)}}@media (prefers-reduced-motion:reduce){.read-line{display:none}}.pjb-prod .up{color:var(--ok-ink)}.pjb-prod .down{color:var(--err)}.pjb-prod .ms{color:var(--foreground);font-variant-numeric:tabular-nums}.term-try{border-top:1px dashed var(--border);background:var(--muted);align-items:center;gap:8px;padding:10px 14px;display:flex}@supports (color:color-mix(in lab, red, red)){.term-try{background:color-mix(in srgb,var(--muted)40%,transparent)}}.term-try{cursor:default}.term-try .k{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--lab-dim);flex:none;margin-right:2px;font-size:10px}.term-try .cmds{flex-wrap:wrap;gap:6px;min-width:0;display:flex}.tcmd{border:1px solid var(--border);background:var(--background);height:26px;font-family:var(--font-mono);color:var(--secondary-ink);cursor:pointer;white-space:nowrap;transition:color var(--t-fast),border-color var(--t-fast),transform var(--t-fast)var(--ease-house);border-radius:6px;align-items:center;gap:6px;padding:0 10px;font-size:12px;display:inline-flex}.tcmd:hover{color:var(--foreground);border-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.tcmd:hover{border-color:color-mix(in srgb,var(--foreground)30%,transparent)}}.tcmd:active{transform:scale(var(--press))}.tcmd:disabled{opacity:.45;cursor:default}.tcmd.on{color:var(--foreground);border-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.tcmd.on{border-color:color-mix(in srgb,var(--foreground)45%,transparent)}}.tcmd.on:before{content:"✓";color:var(--ok);font-size:10px}.tcmd[data-kind=nav]:after{content:"↓";color:var(--lab-dim);font-size:10px}.tcmd[data-kind=action]:after{content:"↗";color:var(--lab-dim);font-size:10px}@media (max-width:559px){.term-try{padding:10px 0 10px 14px}.term-try .cmds{scrollbar-width:none;flex-wrap:nowrap;padding-right:28px;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#000 88%,#0000);mask-image:linear-gradient(90deg,#000 88%,#0000)}.term-try .cmds::-webkit-scrollbar{display:none}}@media (prefers-reduced-motion:reduce){.tcmd{transition:none}}@media (scripting:none){.term-try{display:none!important}}.sk-live{z-index:5;width:fit-content;max-width:100%;min-height:32px;font-family:var(--font-mono);color:var(--secondary-ink);opacity:0;pointer-events:none;border:1px solid #0000;border-radius:9999px;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin:24px auto 0;padding:6px 12px;font-size:11px;transition:opacity .2s,border-color .2s,background-color .2s;display:flex;position:sticky;bottom:14px}.sk-live.on{opacity:1;pointer-events:auto}.sk-live.stuck{border-color:var(--border);background:var(--background)}@supports (color:color-mix(in lab, red, red)){.sk-live.stuck{background:color-mix(in srgb,var(--background)82%,transparent)}}.sk-live.stuck{-webkit-backdrop-filter:blur(10px);box-shadow:0 12px 32px -16px #00000080}.sk-live .dot{border-radius:50%;flex:none;width:6px;height:6px}.sk-live .name{color:var(--foreground)}.sk-live .sep{color:var(--lab-dim)}.sk-live .k{color:var(--lab-dim);letter-spacing:.14em;text-transform:uppercase;margin-left:2px;font-size:9.5px}.sk-live a{color:var(--foreground);border-bottom:1px dashed var(--foreground);align-items:center;gap:5px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.sk-live a{border-bottom:1px dashed color-mix(in srgb,var(--foreground)30%,transparent)}}.sk-live a{transition:border-color .2s}.sk-live a:hover{border-color:var(--foreground)}.sk-live a img{object-fit:contain;border-radius:3px;width:13px;height:13px}@media (max-width:559px){.sk-live{padding:6px 10px;font-size:10.5px;bottom:10px}}@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-space-x-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}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@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-outline-style{syntax:"*";inherits:false;initial-value:solid}@keyframes pulse{50%{opacity:.5}}
