@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-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-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-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--pt-wipe:0%;--reveal-wipe:0%}}}@layer theme{:root,:host{--font-sans:"General Sans", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "Cascadia Code", monospace;--spacing:.25rem;--container-xs:20rem;--container-md:28rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--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-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wide:.025em;--leading-tight:1.25;--leading-snug:1.375;--leading-relaxed:1.625;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-sm:8px;--blur-md:12px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-void:#f2eefc;--color-surface:#fff;--color-surface-2:#ece4fb;--color-line:#ded6f3;--color-ink:#1c1533;--color-dim:#5b5480;--color-pixel:#6d4aff;--color-pixel-soft:#5a37d6;--color-signal:#e8395c;--color-data:#0d7490;--color-ok:#15803d;--color-err:#dc2626;--color-code:#171326;--font-display:"Clash Display", system-ui, sans-serif;--text-wordmark:clamp(4rem, 25vw, 18.5rem);--text-wordmark--line-height:.9;--text-hero:clamp(2.25rem, 5.5vw, 4rem);--text-hero--line-height:1.02;--text-h2:clamp(1.75rem, 4vw, 3rem);--text-h2--line-height:1.1;--radius-s:6px;--radius-m:12px}}@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}html{scroll-behavior:smooth;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background-color:var(--color-void)}body{font-family:var(--font-sans);color:var(--color-ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}[id]{scroll-margin-top:5rem}:focus-visible{outline:2px solid var(--color-pixel);outline-offset:2px}::selection{background:var(--color-pixel-soft);color:var(--color-void)}}@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}.sticky{position:sticky}.inset-0{inset:0}.inset-x-0{inset-inline:0}.top-0{top:0}.top-2{top:calc(var(--spacing) * 2)}.top-3{top:calc(var(--spacing) * 3)}.right-2{right:calc(var(--spacing) * 2)}.right-3{right:calc(var(--spacing) * 3)}.bottom-2{bottom:calc(var(--spacing) * 2)}.bottom-3{bottom:calc(var(--spacing) * 3)}.left-2{left:calc(var(--spacing) * 2)}.left-3{left:calc(var(--spacing) * 3)}.-z-10{z-index:calc(10 * -1)}.z-0{z-index:0}.z-10{z-index:10}.z-40{z-index:40}.z-\[1\]{z-index:1}.z-\[3\]{z-index:3}.mx-auto{margin-inline:auto}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mt-12{margin-top:calc(var(--spacing) * 12)}.mt-14{margin-top:calc(var(--spacing) * 14)}.mt-16{margin-top:calc(var(--spacing) * 16)}.mt-24{margin-top:calc(var(--spacing) * 24)}.mt-auto{margin-top:auto}.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-8{margin-bottom:calc(var(--spacing) * 8)}.ml-1{margin-left:var(--spacing)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.aspect-\[3\/4\]{aspect-ratio:3/4}.aspect-\[16\/10\]{aspect-ratio:16/10}.size-1\.5{width:calc(var(--spacing) * 1.5);height:calc(var(--spacing) * 1.5)}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.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-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-28{width:calc(var(--spacing) * 28);height:calc(var(--spacing) * 28)}.h-1{height:var(--spacing)}.h-14{height:calc(var(--spacing) * 14)}.h-\[82vh\]{height:82vh}.h-auto{height:auto}.h-full{height:100%}.max-h-72{max-height:calc(var(--spacing) * 72)}.min-h-6{min-height:calc(var(--spacing) * 6)}.min-h-11{min-height:calc(var(--spacing) * 11)}.min-h-svh{min-height:100svh}.w-0\.5{width:calc(var(--spacing) * .5)}.w-44{width:calc(var(--spacing) * 44)}.w-fit{width:fit-content}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-\[36ch\]{max-width:36ch}.max-w-\[85\%\]{max-width:85%}.max-w-\[720px\]{max-width:720px}.max-w-\[860px\]{max-width:860px}.max-w-\[1200px\]{max-width:1200px}.max-w-\[1400px\]{max-width:1400px}.max-w-full{max-width:100%}.max-w-md{max-width:var(--container-md)}.max-w-xl{max-width:var(--container-xl)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:0}.flex-1{flex:1}.shrink-0{flex-shrink:0}.translate-y-\[-1px\]{--tw-translate-y:-1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.animate-pulse{animation:var(--animate-pulse)}.cursor-pointer{cursor:pointer}.resize{resize:both}.scroll-mt-16{scroll-margin-top:calc(var(--spacing) * 16)}.scroll-mt-24{scroll-margin-top:calc(var(--spacing) * 24)}.scroll-mt-28{scroll-margin-top:calc(var(--spacing) * 28)}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-10{gap:calc(var(--spacing) * 10)}.gap-20{gap:calc(var(--spacing) * 20)}.gap-x-2{column-gap:calc(var(--spacing) * 2)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-line\/60>:not(:last-child)){border-color:#ded6f399}@supports (color:color-mix(in lab, red, red)){:where(.divide-line\/60>:not(:last-child)){border-color:color-mix(in oklab, var(--color-line) 60%, transparent)}}.self-start{align-self:flex-start}.self-stretch{align-self:stretch}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.rounded{border-radius:.25rem}.rounded-\(--radius-m\){border-radius:var(--radius-m)}.rounded-\(--radius-s\){border-radius:var(--radius-s)}.rounded-\[3px\]{border-radius:3px}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-line{border-color:var(--color-line)}.border-line\/60{border-color:#ded6f399}@supports (color:color-mix(in lab, red, red)){.border-line\/60{border-color:color-mix(in oklab, var(--color-line) 60%, transparent)}}.border-line\/70{border-color:#ded6f3b3}@supports (color:color-mix(in lab, red, red)){.border-line\/70{border-color:color-mix(in oklab, var(--color-line) 70%, transparent)}}.border-pixel{border-color:var(--color-pixel)}.border-pixel\/25{border-color:#6d4aff40}@supports (color:color-mix(in lab, red, red)){.border-pixel\/25{border-color:color-mix(in oklab, var(--color-pixel) 25%, transparent)}}.border-pixel\/30{border-color:#6d4aff4d}@supports (color:color-mix(in lab, red, red)){.border-pixel\/30{border-color:color-mix(in oklab, var(--color-pixel) 30%, transparent)}}.border-pixel\/40{border-color:#6d4aff66}@supports (color:color-mix(in lab, red, red)){.border-pixel\/40{border-color:color-mix(in oklab, var(--color-pixel) 40%, transparent)}}.border-pixel\/50{border-color:#6d4aff80}@supports (color:color-mix(in lab, red, red)){.border-pixel\/50{border-color:color-mix(in oklab, var(--color-pixel) 50%, transparent)}}.border-pixel\/60{border-color:#6d4aff99}@supports (color:color-mix(in lab, red, red)){.border-pixel\/60{border-color:color-mix(in oklab, var(--color-pixel) 60%, transparent)}}.bg-pixel{background-color:var(--color-pixel)}.bg-pixel\/10{background-color:#6d4aff1a}@supports (color:color-mix(in lab, red, red)){.bg-pixel\/10{background-color:color-mix(in oklab, var(--color-pixel) 10%, transparent)}}.bg-signal{background-color:var(--color-signal)}.bg-surface{background-color:var(--color-surface)}.bg-surface-2{background-color:var(--color-surface-2)}.bg-surface\/40{background-color:#fff6}@supports (color:color-mix(in lab, red, red)){.bg-surface\/40{background-color:color-mix(in oklab, var(--color-surface) 40%, transparent)}}.bg-surface\/60{background-color:#fff9}@supports (color:color-mix(in lab, red, red)){.bg-surface\/60{background-color:color-mix(in oklab, var(--color-surface) 60%, transparent)}}.bg-void{background-color:var(--color-void)}.bg-void\/70{background-color:#f2eefcb3}@supports (color:color-mix(in lab, red, red)){.bg-void\/70{background-color:color-mix(in oklab, var(--color-void) 70%, transparent)}}.bg-void\/75{background-color:#f2eefcbf}@supports (color:color-mix(in lab, red, red)){.bg-void\/75{background-color:color-mix(in oklab, var(--color-void) 75%, transparent)}}.bg-void\/80{background-color:#f2eefccc}@supports (color:color-mix(in lab, red, red)){.bg-void\/80{background-color:color-mix(in oklab, var(--color-void) 80%, transparent)}}.bg-gradient-to-b{--tw-gradient-position:to bottom in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-pixel{--tw-gradient-from:var(--color-pixel);--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-void\/40{--tw-gradient-from:#f2eefc66}@supports (color:color-mix(in lab, red, red)){.from-void\/40{--tw-gradient-from:color-mix(in oklab, var(--color-void) 40%, transparent)}}.from-void\/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))}.via-transparent{--tw-gradient-via:transparent;--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-void{--tw-gradient-to:var(--color-void);--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))}.fill-current{fill:currentColor}.fill-data{fill:var(--color-data)}.object-cover{object-fit:cover}.object-top{object-position:top}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.px-1{padding-inline:var(--spacing)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-14{padding-block:calc(var(--spacing) * 14)}.py-16{padding-block:calc(var(--spacing) * 16)}.py-24{padding-block:calc(var(--spacing) * 24)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pt-14{padding-top:calc(var(--spacing) * 14)}.pt-20{padding-top:calc(var(--spacing) * 20)}.pt-24{padding-top:calc(var(--spacing) * 24)}.pt-28{padding-top:calc(var(--spacing) * 28)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pb-16{padding-bottom:calc(var(--spacing) * 16)}.pb-20{padding-bottom:calc(var(--spacing) * 20)}.pb-24{padding-bottom:calc(var(--spacing) * 24)}.text-center{text-align:center}.text-left{text-align:left}.align-middle{vertical-align:middle}.font-display{font-family:var(--font-display)}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-h2{font-size:var(--text-h2);line-height:var(--tw-leading,var(--text-h2--line-height))}.text-hero{font-size:var(--text-hero);line-height:var(--tw-leading,var(--text-hero--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-wordmark{font-size:var(--text-wordmark);line-height:var(--tw-leading,var(--text-wordmark--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\.8rem\]{font-size:.8rem}.text-\[0\.62rem\]{font-size:.62rem}.text-\[0\.65rem\]{font-size:.65rem}.text-\[0\.66rem\]{font-size:.66rem}.text-\[0\.82rem\]{font-size:.82rem}.text-\[0\.8125rem\]{font-size:.8125rem}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[clamp\(1\.5rem\,2\.2vw\,2\.25rem\)\]{font-size:clamp(1.5rem,2.2vw,2.25rem)}.text-\[clamp\(1\.5rem\,3\.2vw\,2\.5rem\)\]{font-size:clamp(1.5rem,3.2vw,2.5rem)}.text-\[clamp\(1\.75rem\,4vw\,3rem\)\]{font-size:clamp(1.75rem,4vw,3rem)}.leading-\[1\.1\]{--tw-leading:1.1;line-height:1.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-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.text-balance{text-wrap:balance}.break-words{overflow-wrap:break-word}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-data{color:var(--color-data)}.text-dim{color:var(--color-dim)}.text-dim\/70{color:#5b5480b3}@supports (color:color-mix(in lab, red, red)){.text-dim\/70{color:color-mix(in oklab, var(--color-dim) 70%, transparent)}}.text-err{color:var(--color-err)}.text-ink{color:var(--color-ink)}.text-ink\/90{color:#1c1533e6}@supports (color:color-mix(in lab, red, red)){.text-ink\/90{color:color-mix(in oklab, var(--color-ink) 90%, transparent)}}.text-line{color:var(--color-line)}.text-ok{color:var(--color-ok)}.text-pixel{color:var(--color-pixel)}.text-pixel-soft{color:var(--color-pixel-soft)}.text-pixel-soft\/40{color:#5a37d666}@supports (color:color-mix(in lab, red, red)){.text-pixel-soft\/40{color:color-mix(in oklab, var(--color-pixel-soft) 40%, transparent)}}.text-pixel-soft\/45{color:#5a37d673}@supports (color:color-mix(in lab, red, red)){.text-pixel-soft\/45{color:color-mix(in oklab, var(--color-pixel-soft) 45%, transparent)}}.text-void{color:var(--color-void)}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.\[font-variant-numeric\:tabular-nums\]{font-variant-numeric:tabular-nums}.underline{text-decoration-line:underline}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-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,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.select-none{-webkit-user-select:none;user-select:none}@media (hover:hover){.group-hover\:translate-x-0\.5:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\:border-pixel:is(:where(.group):hover *){border-color:var(--color-pixel)}.group-hover\:bg-pixel:is(:where(.group):hover *){background-color:var(--color-pixel)}.group-hover\:text-void:is(:where(.group):hover *){color:var(--color-void)}.group-hover\:underline:is(:where(.group):hover *){text-decoration-line:underline}}.placeholder\:text-dim\/70::placeholder{color:#5b5480b3}@supports (color:color-mix(in lab, red, red)){.placeholder\:text-dim\/70::placeholder{color:color-mix(in oklab, var(--color-dim) 70%, transparent)}}.first\:pt-0:first-child{padding-top:0}.last\:pb-0:last-child{padding-bottom:0}.focus-within\:border-pixel:focus-within{border-color:var(--color-pixel)}@media (hover:hover){.hover\:translate-x-0\.5:hover{--tw-translate-x:calc(var(--spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:-translate-y-1:hover{--tw-translate-y:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:border-pixel:hover{border-color:var(--color-pixel)}.hover\:border-pixel\/50:hover{border-color:#6d4aff80}@supports (color:color-mix(in lab, red, red)){.hover\:border-pixel\/50:hover{border-color:color-mix(in oklab, var(--color-pixel) 50%, transparent)}}.hover\:border-pixel\/60:hover{border-color:#6d4aff99}@supports (color:color-mix(in lab, red, red)){.hover\:border-pixel\/60:hover{border-color:color-mix(in oklab, var(--color-pixel) 60%, transparent)}}.hover\:bg-surface\/70:hover{background-color:#ffffffb3}@supports (color:color-mix(in lab, red, red)){.hover\:bg-surface\/70:hover{background-color:color-mix(in oklab, var(--color-surface) 70%, transparent)}}.hover\:text-ink:hover{color:var(--color-ink)}.hover\:text-pixel-soft:hover{color:var(--color-pixel-soft)}.hover\:underline:hover{text-decoration-line:underline}.hover\:shadow-\[0_14px_34px_-20px_var\(--color-pixel\)\]:hover{--tw-shadow:0 14px 34px -20px var(--tw-shadow-color,var(--color-pixel));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\:shadow-\[0_22px_50px_-30px_var\(--color-pixel\)\]:hover{--tw-shadow:0 22px 50px -30px var(--tw-shadow-color,var(--color-pixel));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\:brightness-110:hover{--tw-brightness:brightness(110%);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,)}}.focus\:not-sr-only:focus{clip-path:none;white-space:normal;width:auto;height:auto;margin:0;padding:0;position:static;overflow:visible}.focus\:fixed:focus{position:fixed}.focus\:top-4:focus{top:calc(var(--spacing) * 4)}.focus\:left-4:focus{left:calc(var(--spacing) * 4)}.focus\:z-50:focus{z-index:50}.focus\:border-pixel:focus{border-color:var(--color-pixel)}.focus\:bg-pixel-soft:focus{background-color:var(--color-pixel-soft)}.focus\:px-4:focus{padding-inline:calc(var(--spacing) * 4)}.focus\:py-2:focus{padding-block:calc(var(--spacing) * 2)}.focus\:font-medium:focus{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.focus\:text-void:focus{color:var(--color-void)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.disabled\:opacity-60:disabled{opacity:.6}@media (min-width:375px){.min-\[375px\]\:flex{display:flex}}@media (min-width:40rem){.sm\:mt-8{margin-top:calc(var(--spacing) * 8)}.sm\:mt-\[70px\]{margin-top:70px}.sm\:block{display:block}.sm\:hidden{display:none}.sm\:inline{display:inline}.sm\:size-36{width:calc(var(--spacing) * 36);height:calc(var(--spacing) * 36)}.sm\:w-56{width:calc(var(--spacing) * 56)}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:flex-wrap{flex-wrap:wrap}.sm\:items-center{align-items:center}.sm\:items-start{align-items:flex-start}.sm\:justify-between{justify-content:space-between}.sm\:justify-start{justify-content:flex-start}.sm\:gap-2{gap:calc(var(--spacing) * 2)}.sm\:gap-6{gap:calc(var(--spacing) * 6)}.sm\:gap-x-10{column-gap:calc(var(--spacing) * 10)}.sm\:gap-y-2{row-gap:calc(var(--spacing) * 2)}.sm\:p-6{padding:calc(var(--spacing) * 6)}.sm\:p-12{padding:calc(var(--spacing) * 12)}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}.sm\:pb-\[7rem\]{padding-bottom:7rem}.sm\:text-left{text-align:left}.sm\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}}@media (min-width:48rem){.md\:sticky{position:sticky}.md\:top-32{top:calc(var(--spacing) * 32)}.md\:col-span-2{grid-column:span 2/span 2}.md\:flex{display:flex}.md\:aspect-auto{aspect-ratio:auto}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-\[1\.1fr_1fr\]{grid-template-columns:1.1fr 1fr}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:items-stretch{align-items:stretch}.md\:justify-between{justify-content:space-between}.md\:gap-0{gap:0}.md\:border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.md\:border-b-0{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.md\:p-5{padding:calc(var(--spacing) * 5)}.md\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}}@media (min-width:64rem){.lg\:block{display:block}.lg\:grid-cols-\[1\.35fr_1fr\]{grid-template-columns:1.35fr 1fr}}@media (min-width:80rem){.xl\:col-span-1{grid-column:span 1/span 1}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (hover:hover){@media (hover:hover){.\[\@media\(hover\:hover\)\]\:group-hover\:translate-x-0\.5:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}.\[\@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)}}}}@font-face{font-family:Clash Display;src:url(/fonts/ClashDisplay-Semibold.woff2)format("woff2");font-weight:600;font-display:swap}@font-face{font-family:Clash Display;src:url(/fonts/ClashDisplay-Bold.woff2)format("woff2");font-weight:700;font-display:swap}@font-face{font-family:General Sans;src:url(/fonts/GeneralSans-Regular.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:General Sans;src:url(/fonts/GeneralSans-Medium.woff2)format("woff2");font-weight:500;font-display:swap}@font-face{font-family:General Sans;src:url(/fonts/GeneralSans-Semibold.woff2)format("woff2");font-weight:600;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-Regular.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-Bold.woff2)format("woff2");font-weight:700;font-display:swap}@property --pt-wipe{syntax:"<percentage>";inherits:false;initial-value:0%}.page-enter{--pt-wipe:0%;-webkit-mask:linear-gradient(125deg, #000 var(--pt-wipe), #0000 calc(var(--pt-wipe) + 10%));-webkit-mask:linear-gradient(125deg, #000 var(--pt-wipe), #0000 calc(var(--pt-wipe) + 10%));-webkit-mask:linear-gradient(125deg, #000 var(--pt-wipe), #0000 calc(var(--pt-wipe) + 10%));-webkit-mask:linear-gradient(125deg, #000 var(--pt-wipe), #0000 calc(var(--pt-wipe) + 10%));mask:linear-gradient(125deg, #000 var(--pt-wipe), #0000 calc(var(--pt-wipe) + 10%));animation:.68s cubic-bezier(.2,.7,.2,1) both page-enter}@keyframes page-enter{0%{opacity:0;filter:blur(5px);--pt-wipe:0%;transform:translateY(20px)scale(.985)}to{opacity:1;filter:none;--pt-wipe:120%;transform:none}}@media (prefers-reduced-motion:reduce){.page-enter{filter:none;-webkit-mask:none;mask:none}}@property --reveal-wipe{syntax:"<percentage>";inherits:false;initial-value:0%}.js-reveal [data-reveal]{opacity:0;filter:blur(4px);--reveal-wipe:0%;-webkit-mask:linear-gradient(115deg, #000 var(--reveal-wipe), #0000 calc(var(--reveal-wipe) + 7%));-webkit-mask:linear-gradient(115deg, #000 var(--reveal-wipe), #0000 calc(var(--reveal-wipe) + 7%));-webkit-mask:linear-gradient(115deg, #000 var(--reveal-wipe), #0000 calc(var(--reveal-wipe) + 7%));-webkit-mask:linear-gradient(115deg, #000 var(--reveal-wipe), #0000 calc(var(--reveal-wipe) + 7%));mask:linear-gradient(115deg, #000 var(--reveal-wipe), #0000 calc(var(--reveal-wipe) + 7%));transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1),filter .7s,--reveal-wipe 1s cubic-bezier(.2,.7,.2,1);transform:translateY(30px)}.js-reveal [data-reveal].is-revealed{opacity:1;filter:none;--reveal-wipe:115%;transform:none}@media (prefers-reduced-motion:reduce){.js-reveal [data-reveal]{filter:none;-webkit-mask:none;mask:none}}.grid-bg{background-image:linear-gradient(var(--color-line) 1px, transparent 1px), linear-gradient(90deg, var(--color-line) 1px, transparent 1px);background-size:32px 32px}.pixel-mask{background-image:conic-gradient(from 0deg, #6d4aff2e 25%, transparent 0 50%, #6d4aff2e 0 75%, transparent 0), linear-gradient(135deg, var(--color-surface-2), var(--color-surface))}@supports (color:color-mix(in lab, red, red)){.pixel-mask{background-image:conic-gradient(from 0deg, color-mix(in srgb, var(--color-pixel) 18%, transparent) 25%, transparent 0 50%, color-mix(in srgb, var(--color-pixel) 18%, transparent) 0 75%, transparent 0), linear-gradient(135deg, var(--color-surface-2), var(--color-surface))}}.pixel-mask{background-size:24px 24px,100% 100%;transition:background-size .4s}.group:hover .pixel-mask,.group:focus-visible .pixel-mask{background-size:12px 12px,100% 100%}.hero-in{opacity:0;animation:.6s cubic-bezier(.2,.7,.2,1) forwards hero-in;animation-delay:var(--d,1.5s)}@keyframes hero-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.cue-pixel{animation:1.8s cubic-bezier(.16,1,.3,1) infinite cue-drop}@keyframes cue-drop{0%{opacity:0;transform:translateY(-8px)}45%{opacity:1}to{opacity:0;transform:translateY(8px)}}.pixel-glyph{font-family:var(--font-mono);letter-spacing:.05em;-webkit-user-select:none;user-select:none;white-space:pre;line-height:1.05}.footer-wordmark{color:#ebe6ff;font-size:clamp(4.5rem,21vw,20rem);line-height:.75;display:block;transform:translateY(28%)}@supports (color:color-mix(in lab, red, red)){.footer-wordmark{color:color-mix(in srgb, var(--color-pixel) 14%, var(--color-surface))}}.footer-wordmark{-webkit-user-select:none;user-select:none;transition:color .6s}footer:hover .footer-wordmark{color:#d9d0ff}@supports (color:color-mix(in lab, red, red)){footer:hover .footer-wordmark{color:color-mix(in srgb, var(--color-pixel) 26%, var(--color-surface))}}.engineer-signature{--mx:50%;--my:50%}.sig-glow{background:radial-gradient(220px circle at var(--mx) var(--my), #6d4aff42, transparent 60%)}@supports (color:color-mix(in lab, red, red)){.sig-glow{background:radial-gradient(220px circle at var(--mx) var(--my), color-mix(in srgb, var(--color-pixel) 26%, transparent), transparent 60%)}}.sig-glow{opacity:0;transition:opacity .3s}.engineer-signature:hover .sig-glow,.engineer-signature:focus-visible .sig-glow{opacity:1}.sig-bracket{border-color:var(--color-dim);width:12px;height:12px;transition:border-color .25s,width .25s,height .25s}.sig-bracket-tl{border-top:2px solid;border-left:2px solid;border-color:var(--color-line);top:8px;left:8px}.sig-bracket-br{border-bottom:2px solid;border-right:2px solid;border-color:var(--color-line);bottom:8px;right:8px}.engineer-signature:hover .sig-bracket,.engineer-signature:focus-visible .sig-bracket{border-color:var(--color-pixel);width:18px;height:18px}@media (prefers-reduced-motion:no-preference){.sig-bracket{animation:3.2s ease-in-out infinite sig-breathe}.sig-bracket-br{animation-delay:1.6s}}@keyframes sig-breathe{0%,to{opacity:.5}50%{opacity:1}}.prose{color:var(--color-dim);font-size:1.125rem;line-height:1.75}.prose table{border-collapse:collapse;width:100%;font-size:.875em;display:block;overflow-x:auto}.prose th,.prose td{border-bottom:1px solid var(--color-line);text-align:left;padding:.5rem .75rem}.prose th{color:var(--color-ink);font-family:var(--font-mono);font-weight:700}.prose>*+*{margin-top:1.25rem}.prose h2{color:var(--color-ink);font-family:var(--font-display);margin-top:2.5rem;font-size:1.5rem;font-weight:600}.prose h3{color:var(--color-ink);margin-top:2rem;font-size:1.2rem;font-weight:600}.prose a{color:var(--color-pixel-soft);text-underline-offset:2px;text-decoration:underline}.prose strong{color:var(--color-ink)}.prose blockquote{background:var(--color-surface);border-radius:var(--radius-m);color:var(--color-ink);padding:1.25rem 1.5rem;font-size:1.15rem;font-style:italic}.prose blockquote p{margin:0}.prose ul{padding-left:0;list-style:none}.prose li{padding-left:1.25rem;position:relative}.prose li:before{content:"▸";color:var(--color-pixel);position:absolute;left:0}.prose li+li{margin-top:.5rem}.prose pre{border:1px solid #bcacf7;background:var(--color-code)!important}@supports (color:color-mix(in lab, red, red)){.prose pre{border:1px solid color-mix(in srgb, var(--color-pixel) 30%, var(--color-line))}}.prose pre{border-radius:var(--radius-m);padding:1rem;font-size:.8125rem;overflow-x:auto}.prose :not(pre)>code{font-family:var(--font-mono);color:var(--color-data);font-size:.85em}.proj-card{cursor:pointer;transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s,border-color .35s}@media (hover:hover){.proj-card:hover{border-color:#8466fd;transform:translateY(-8px)scale(1.012)}@supports (color:color-mix(in lab, red, red)){.proj-card:hover{border-color:color-mix(in srgb, var(--color-pixel) 80%, var(--color-line))}}.proj-card:hover{box-shadow:0 30px 70px -26px #6d4affd9,inset 0 0 0 1.5px #6d4aff8c}@supports (color:color-mix(in lab, red, red)){.proj-card:hover{box-shadow:0 30px 70px -26px color-mix(in srgb, var(--color-pixel) 85%, transparent), 0 0 0 1.5px color-mix(in srgb, var(--color-pixel) 55%, transparent) inset}}}.proj-card:focus-within{border-color:#8466fd;transform:translateY(-8px)scale(1.012)}@supports (color:color-mix(in lab, red, red)){.proj-card:focus-within{border-color:color-mix(in srgb, var(--color-pixel) 80%, var(--color-line))}}.proj-card:focus-within{box-shadow:0 30px 70px -26px #6d4affd9,inset 0 0 0 1.5px #6d4aff8c}@supports (color:color-mix(in lab, red, red)){.proj-card:focus-within{box-shadow:0 30px 70px -26px color-mix(in srgb, var(--color-pixel) 85%, transparent), 0 0 0 1.5px color-mix(in srgb, var(--color-pixel) 55%, transparent) inset}}.proj-card:active{transform:translateY(-4px)scale(1.004)}.proj-sheen{z-index:2;pointer-events:none;opacity:0;background:linear-gradient(120deg,#0000 30%,#5a37d63d 50%,#0000 70%);transition:opacity .35s;position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.proj-sheen{background:linear-gradient(120deg, transparent 30%, color-mix(in srgb, var(--color-pixel-soft) 24%, transparent) 50%, transparent 70%)}}.proj-sheen{background-size:200% 100%}@media (hover:hover){.proj-card:hover .proj-sheen{opacity:1;animation:1.4s linear infinite card-sheen}}.proj-card:focus-within .proj-sheen{opacity:1;animation:1.4s linear infinite card-sheen}@keyframes card-sheen{0%{background-position:-150% 0}to{background-position:250% 0}}.proj-demo-hint{z-index:3;pointer-events:none;opacity:0;background:#6d4aff42;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.proj-demo-hint{background:color-mix(in srgb, var(--color-pixel) 26%, transparent)}}.proj-demo-hint{transition:opacity .3s}@media (hover:hover){.proj-card:hover .proj-demo-hint{opacity:1}}.proj-card:focus-within .proj-demo-hint{opacity:1}.proj-demo-hint__btn{border-radius:var(--radius-s);background:var(--color-pixel);color:var(--color-void);font-family:var(--font-mono);align-items:center;gap:.4rem;padding:.5rem .9rem;font-size:.75rem;font-weight:600;display:inline-flex;box-shadow:0 10px 26px -12px #6d4affcc}@supports (color:color-mix(in lab, red, red)){.proj-demo-hint__btn{box-shadow:0 10px 26px -12px color-mix(in srgb, var(--color-pixel) 80%, transparent)}}.proj-demo-hint__btn{transition:transform .3s cubic-bezier(.2,.7,.2,1);transform:translateY(8px)}@media (hover:hover){.proj-card:hover .proj-demo-hint__btn{transform:translateY(0)}}.proj-card:focus-within .proj-demo-hint__btn{transform:translateY(0)}.atmosphere{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.atmosphere:before,.atmosphere:after{content:"";filter:blur(90px);opacity:.5;will-change:transform;position:absolute}.atmosphere:before{background:radial-gradient(closest-side,#6d4aff9e,#0000);width:52%;height:60%;top:3%;left:3%}@supports (color:color-mix(in lab, red, red)){.atmosphere:before{background:radial-gradient(closest-side, color-mix(in srgb, var(--color-pixel) 62%, transparent), transparent)}}.atmosphere:before{animation:18s ease-in-out infinite atmos-a}.atmosphere:after{background:radial-gradient(closest-side,#5a37d685,#0000);width:50%;height:60%;top:26%;right:2%}@supports (color:color-mix(in lab, red, red)){.atmosphere:after{background:radial-gradient(closest-side, color-mix(in srgb, var(--color-pixel-soft) 52%, transparent), transparent)}}.atmosphere:after{animation:22s ease-in-out infinite atmos-b}.atmosphere>.vignette{background:radial-gradient(120% 90% at 50% 0,#0000 55%,#dad0fd 100%);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.atmosphere>.vignette{background:radial-gradient(120% 90% at 50% 0%, transparent 55%, color-mix(in srgb, var(--color-void) 82%, var(--color-pixel)) 100%)}}.atmosphere--static:before,.atmosphere--static:after{opacity:.3;animation:none}.demo-frame{border:1px solid var(--color-line);border-radius:var(--radius-m);background:var(--color-surface);overflow:hidden;box-shadow:0 24px 60px -32px #6d4aff66}@supports (color:color-mix(in lab, red, red)){.demo-frame{box-shadow:0 24px 60px -32px color-mix(in srgb, var(--color-pixel) 40%, transparent)}}.demo-frame__bar{border-bottom:1px solid var(--color-line);background:var(--color-surface-2);align-items:center;gap:.75rem;padding:.5rem .8rem;display:flex}.demo-frame__dots{gap:5px;display:inline-flex}.demo-frame__dots>i{background:var(--color-line);border-radius:2px;width:9px;height:9px}.demo-frame__dots>i:first-child{background:#8f74fb}@supports (color:color-mix(in lab, red, red)){.demo-frame__dots>i:first-child{background:color-mix(in srgb, var(--color-pixel) 70%, var(--color-line))}}.demo-frame__url{font-family:var(--font-mono);color:var(--color-dim);font-size:.72rem}.demo-cred{border:1px solid var(--color-line);border-radius:var(--radius-m);background:var(--color-surface);flex-wrap:wrap;align-items:center;gap:.5rem 1rem;padding:.75rem 1rem;display:flex}.demo-cred__intro{font-family:var(--font-mono);color:var(--color-dim);font-size:.8125rem}.demo-cred__list{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.demo-cred__item{border:1px solid var(--color-line);border-radius:var(--radius-s);background:var(--color-surface-2);cursor:pointer;align-items:baseline;gap:.5rem;padding:.3rem .6rem;transition:border-color .18s cubic-bezier(.22,1,.36,1),background .18s cubic-bezier(.22,1,.36,1);display:inline-flex}.demo-cred__item:hover{border-color:var(--color-pixel);background:var(--color-surface)}.demo-cred__k{font-family:var(--font-mono);color:var(--color-dim);font-size:.75rem}.demo-cred__v{font-family:var(--font-mono);color:var(--color-data);-webkit-user-select:all;user-select:all;font-size:.9375rem;font-weight:700}.demo-cred__copy{font-family:var(--font-mono);color:var(--color-pixel-soft);font-size:.6875rem}.demo-cred__nota{color:var(--color-dim);font-size:.8125rem}@media (prefers-reduced-motion:reduce){.demo-cred__item{transition:none}}.demo-frame__screen{background:var(--color-void);position:relative}.demo-skeleton{z-index:3;background:var(--color-void);flex-direction:column;justify-content:center;align-items:center;gap:.75rem;transition:opacity .5s;display:flex;position:absolute;inset:0;overflow:hidden}.demo-skeleton.is-hidden{opacity:0;pointer-events:none}.demo-skeleton__grid{opacity:.5;background-image:linear-gradient(var(--color-line) 1px, transparent 1px), linear-gradient(90deg, var(--color-line) 1px, transparent 1px);background-size:32px 32px;position:absolute;inset:0;-webkit-mask:radial-gradient(80% 60%,#000,#0000 80%);mask:radial-gradient(80% 60%,#000,#0000 80%)}.demo-skeleton__sheen{background:linear-gradient(120deg,#0000 40%,#5a37d624 50%,#0000 60%);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.demo-skeleton__sheen{background:linear-gradient(120deg, transparent 40%, color-mix(in srgb, var(--color-pixel-soft) 14%, transparent) 50%, transparent 60%)}}.demo-skeleton__sheen{background-size:200% 100%;animation:1.9s linear infinite card-sheen}.demo-skeleton__pixels{gap:6px;display:inline-flex;position:relative}.demo-skeleton__pixels>i{background:var(--color-pixel);border-radius:2px;width:12px;height:12px;animation:1.1s ease-in-out infinite pixel-blink}.demo-skeleton__pixels>i:nth-child(2){animation-delay:.18s}.demo-skeleton__pixels>i:nth-child(3){animation-delay:.36s}@keyframes pixel-blink{0%,to{opacity:.25;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}.sig-slider{border-radius:var(--radius-s);border:1px solid #a089fa;width:200px;max-width:100%;height:52px;display:block;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.sig-slider{border:1px solid color-mix(in srgb, var(--color-pixel) 55%, var(--color-line))}}.sig-slider{background:#e7e1fc}@supports (color:color-mix(in lab, red, red)){.sig-slider{background:color-mix(in srgb, var(--color-pixel) 8%, var(--color-void))}}.sig-slider{box-shadow:0 10px 30px -14px #6d4affb3}@supports (color:color-mix(in lab, red, red)){.sig-slider{box-shadow:0 10px 30px -14px color-mix(in srgb, var(--color-pixel) 70%, transparent)}}.sig-slider{cursor:grab;touch-action:pan-y}.sig-slider:active{cursor:grabbing}.sig-slider__cells{pointer-events:none;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(14,1fr);gap:2px;display:grid;position:absolute;inset:5px}.sig-slider__cells i{background:var(--color-pixel);opacity:0;animation:sig-cell-in .35s steps(2, jump-none) both var(--in), sig-cell-live 3s ease-in-out infinite var(--sh);border-radius:1.5px;transition:transform .5s cubic-bezier(.2,.7,.2,1),filter .5s}.sig-slider__cells i[data-hot=true]{background:var(--color-ink)}.sig-slider:hover .sig-slider__cells i{transform:translate(var(--sx), var(--sy)) scale(.5) rotate(10deg);filter:brightness(1.35)}@keyframes sig-cell-in{to{opacity:.22}}@keyframes sig-cell-live{0%,86%,to{opacity:.22}90%{opacity:.95}}.sig-slider__fill{transform-origin:0;background:linear-gradient(90deg,#6d4aff59,#6d4aff99);position:absolute;inset:0;transform:scaleX(0)}@supports (color:color-mix(in lab, red, red)){.sig-slider__fill{background:linear-gradient(90deg, color-mix(in srgb, var(--color-pixel) 35%, transparent), color-mix(in srgb, var(--color-pixel) 60%, transparent))}}.sig-slider__text{font-family:var(--font-mono);letter-spacing:.02em;white-space:nowrap;color:var(--color-ink);text-shadow:0 1px 10px #f2eefce6;justify-content:center;align-items:center;gap:.4rem;font-size:.8rem;font-weight:700;display:flex;position:absolute;inset:0 10px 0 52px}@supports (color:color-mix(in lab, red, red)){.sig-slider__text{text-shadow:0 1px 10px color-mix(in srgb, var(--color-void) 90%, transparent)}}.sig-slider__text>span{color:var(--color-pixel-soft);animation:1.5s ease-in-out infinite sig-cta-arrow;display:inline-block}.sig-slider__knob{background:var(--color-pixel);width:44px;height:44px;color:var(--color-void);box-shadow:0 4px 16px -4px var(--color-pixel);will-change:transform;border-radius:5px;justify-content:center;align-items:center;font-weight:700;display:flex;position:absolute;top:4px;left:4px}.sig-slider__knob>span{animation:1.5s ease-in-out infinite sig-cta-arrow;display:inline-block}@keyframes sig-cta-arrow{0%,to{transform:translate(0)}50%{transform:translate(5px)}}.sig-transition{z-index:70;pointer-events:none;background:linear-gradient(var(--color-line) 1px, transparent 1px), linear-gradient(90deg, var(--color-line) 1px, transparent 1px), var(--color-void);background-size:32px 32px,32px 32px,100% 100%;position:fixed;inset:0;transform:translate(-103%)}.sig-transition:after{content:"";background:linear-gradient(180deg, var(--color-pixel), var(--color-pixel-soft));width:10px;height:100%;position:absolute;top:0;right:-2px;box-shadow:0 0 28px 6px #6d4affb3}@supports (color:color-mix(in lab, red, red)){.sig-transition:after{box-shadow:0 0 28px 6px color-mix(in srgb, var(--color-pixel) 70%, transparent)}}.hero-cta{border-radius:var(--radius-s);background:var(--color-signal);color:var(--color-void);font-family:var(--font-display);letter-spacing:-.01em;justify-content:center;align-items:center;gap:.55rem;padding:.85rem 1.6rem;font-size:1.02rem;font-weight:600;display:inline-flex;box-shadow:0 12px 30px -14px #e8395ccc}@supports (color:color-mix(in lab, red, red)){.hero-cta{box-shadow:0 12px 30px -14px color-mix(in srgb, var(--color-signal) 80%, transparent)}}.hero-cta{transition:transform .2s,box-shadow .3s,filter .2s}.hero-cta:hover{filter:brightness(1.04);transform:translateY(-2px);box-shadow:0 18px 40px -14px #e8395cd9}@supports (color:color-mix(in lab, red, red)){.hero-cta:hover{box-shadow:0 18px 40px -14px color-mix(in srgb, var(--color-signal) 85%, transparent)}}.hero-cta__arrow{transition:transform .25s cubic-bezier(.2,.7,.2,1)}.hero-cta:hover .hero-cta__arrow{transform:translate(4px)}.eng-portal-float{--engx:0px;--engy:0px;animation:4s ease-in-out infinite eng-float;display:inline-block}@media (min-width:640px){.eng-portal-float{--engx:-13%;--engy:-11%}}@keyframes eng-float{0%,to{transform:translate(var(--engx), var(--engy))}50%{transform:translate(var(--engx), calc(var(--engy) - 6px))}}@media (min-width:640px){.eng-dock{top:100%;right:var(--dock-r,-9rem);z-index:20;transform:translateY(var(--dock-y,-5.5rem));position:absolute}.eng-dock .eng-portal-float{--engx:0px;--engy:0px}}@media (min-width:640px) and (max-width:1023px){.eng-dock{right:-4rem}}.eng-portal{border-radius:var(--radius-m);border:1.5px solid #ab97f8;flex-direction:column;align-items:flex-start;gap:.85rem;width:268px;max-width:100%;display:flex;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.eng-portal{border:1.5px solid color-mix(in srgb, var(--color-pixel) 45%, var(--color-line))}}.eng-portal{background:linear-gradient(180deg, #ede9ff 0%, var(--color-surface) 62%)}@supports (color:color-mix(in lab, red, red)){.eng-portal{background:linear-gradient(180deg, color-mix(in srgb, var(--color-surface) 88%, var(--color-pixel)) 0%, var(--color-surface) 62%)}}.eng-portal{transform-style:preserve-3d;padding:1.4rem 1.4rem 2.4rem;transition:transform .35s cubic-bezier(.2,.7,.2,1),border-color .3s;animation:3.2s ease-in-out infinite eng-glow}@keyframes eng-glow{0%,to{box-shadow:0 18px 42px -28px color-mix(in srgb, var(--color-pixel) 55%, transparent)}50%{box-shadow:0 24px 56px -24px color-mix(in srgb, var(--color-pixel) 88%, transparent)}}.eng-portal:hover{border-color:#8d71fc;transform:translateY(-4px)perspective(760px)rotateX(6deg)rotateY(-3deg)}@supports (color:color-mix(in lab, red, red)){.eng-portal:hover{border-color:color-mix(in srgb, var(--color-pixel) 72%, var(--color-line))}}@media (max-width:639px){.eng-portal{margin-inline:auto}}.eng-portal__avatar{box-sizing:content-box;border:2px solid #a089fa;border-radius:14px;flex-shrink:0;width:144px;height:144px;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.eng-portal__avatar{border:2px solid color-mix(in srgb, var(--color-pixel) 55%, var(--color-line))}}.eng-portal__avatar{box-shadow:0 8px 20px -10px #6d4affb3}@supports (color:color-mix(in lab, red, red)){.eng-portal__avatar{box-shadow:0 8px 20px -10px color-mix(in srgb, var(--color-pixel) 70%, transparent)}}.eng-portal__photo{object-fit:cover;width:100%;height:100%;transition:opacity .35s 80ms;position:absolute;inset:0}.eng-portal__tiles{grid-template-rows:repeat(8,1fr);grid-template-columns:repeat(8,1fr);display:grid;position:absolute;inset:0}.eng-portal__tiles i{opacity:0;background-image:url(/samuel/samuel-avatar.webp);background-repeat:no-repeat;background-size:144px 144px}.eng-portal:hover .eng-portal__photo,.eng-portal:focus-visible .eng-portal__photo{opacity:0}.eng-portal:hover .eng-portal__tiles i,.eng-portal:focus-visible .eng-portal__tiles i{animation:eng-fall .85s cubic-bezier(.4, 0, .75, .9) var(--d) both}@keyframes eng-fall{0%{opacity:0;transform:translate(0)rotate(0)scale(1)}14%{opacity:1;transform:translate(0, -2px) rotate(calc(var(--rot) * .15)) scale(1.06)}to{opacity:0;transform:translate(var(--sx), var(--fall)) rotate(var(--rot)) scale(.42)}}.eng-portal__body{flex-direction:column;gap:.08rem;min-width:0;display:flex}.eng-portal__kicker{font-family:var(--font-mono);letter-spacing:.02em;color:var(--color-dim);font-size:.72rem}.eng-portal__name{font-family:var(--font-display);color:var(--color-ink);font-size:1.4rem;font-weight:700;line-height:1.05}.eng-portal__role{font-family:var(--font-mono);color:var(--color-pixel-soft);align-items:center;gap:.3rem;font-size:.82rem;display:inline-flex}.eng-portal__go{font-family:var(--font-mono);color:var(--color-pixel);font-size:1.6rem;line-height:1;transition:transform .3s cubic-bezier(.2,.7,.2,1);position:absolute;bottom:1.1rem;right:1.2rem}.eng-portal:hover .eng-portal__go{transform:translate(5px)}.eng-portal__role>span{transition:transform .25s cubic-bezier(.2,.7,.2,1)}.eng-portal:hover .eng-portal__role>span{transform:translate(4px)}.ps{perspective:1600px}.ps-inner{transform-style:preserve-3d;transition:transform .55s cubic-bezier(.2,.7,.2,1);display:grid}.ps:hover .ps-inner,.ps:focus-within .ps-inner,.ps-inner.is-flipped{transform:rotateY(180deg)}.ps-face{backface-visibility:hidden;appearance:none;font:inherit;border-radius:var(--radius-m);border:1.5px solid var(--color-line);text-align:left;cursor:pointer;flex-direction:column;grid-area:1/1;justify-content:center;gap:.5rem;width:100%;min-height:0;padding:clamp(1.2rem,3vw,1.9rem);text-decoration:none;transition:border-color .3s,box-shadow .3s;display:flex}.ps-face--problem{border-color:#e294b4}@supports (color:color-mix(in lab, red, red)){.ps-face--problem{border-color:color-mix(in srgb, var(--color-signal) 42%, var(--color-line))}}.ps-face--problem{background:linear-gradient(158deg, #fce9ed, var(--color-surface) 72%)}@supports (color:color-mix(in lab, red, red)){.ps-face--problem{background:linear-gradient(158deg, color-mix(in srgb, var(--color-signal) 11%, var(--color-surface)), var(--color-surface) 72%)}}.ps-face--solution{border-color:#a690f9;transform:rotateY(180deg)}@supports (color:color-mix(in lab, red, red)){.ps-face--solution{border-color:color-mix(in srgb, var(--color-pixel) 50%, var(--color-line))}}.ps-face--solution{background:linear-gradient(158deg, #ece7ff, var(--color-surface) 72%)}@supports (color:color-mix(in lab, red, red)){.ps-face--solution{background:linear-gradient(158deg, color-mix(in srgb, var(--color-pixel) 13%, var(--color-surface)), var(--color-surface) 72%)}}.ps-face--solution{box-shadow:0 26px 60px -30px #6d4affd1}@supports (color:color-mix(in lab, red, red)){.ps-face--solution{box-shadow:0 26px 60px -30px color-mix(in srgb, var(--color-pixel) 82%, transparent)}}.ps-label{font-family:var(--font-mono);letter-spacing:.02em;align-items:center;gap:.35rem;font-size:.72rem;font-weight:600;display:inline-flex}.ps-label--problem{color:var(--color-signal)}.ps-label--solution{color:var(--color-pixel-soft)}.ps-lead{font-family:var(--font-display);color:var(--color-ink);margin-top:.35rem;font-size:clamp(1.25rem,2.6vw,1.7rem);font-weight:700;line-height:1.12}.ps-text{color:var(--color-dim);font-size:.9rem;line-height:1.55}.ps-points{flex-direction:column;gap:.42rem;margin-top:.6rem;padding:0;list-style:none;display:flex}.ps-point{color:var(--color-ink);align-items:flex-start;gap:.5rem;font-size:.88rem;line-height:1.38;display:flex}.ps-point__mark{background:#e8395c26;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:1.05rem;height:1.05rem;margin-top:.1rem;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.ps-point__mark{background:color-mix(in oklab, var(--color-signal) 15%, transparent)}}.ps-point__mark{color:var(--color-signal);font-size:.6rem;font-weight:700}.ps-hint{font-family:var(--font-mono);color:var(--color-pixel-soft);align-items:center;gap:.3rem;margin-top:.9rem;font-size:.74rem;font-weight:600;animation:1.9s ease-in-out infinite ps-hint;display:inline-flex}@keyframes ps-hint{0%,to{opacity:.62;transform:translate(0)}50%{opacity:1;transform:translate(4px)}}.ps-cta{border-radius:var(--radius-s);border:1.5px solid var(--color-pixel);background:#f0edff;align-self:flex-start;align-items:center;gap:.45rem;margin-top:.9rem;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.ps-cta{background:color-mix(in srgb, var(--color-pixel) 10%, var(--color-surface))}}.ps-cta{font-family:var(--font-mono);color:var(--color-pixel-soft);padding:.5rem 1rem;font-size:.78rem;font-weight:600;transition:background .3s,color .3s,transform .3s}.ps-face--solution:hover .ps-cta,.ps-face--solution:focus-visible .ps-cta{background:var(--color-pixel);color:var(--color-void);transform:translateY(-2px)}.ps-plus{border-radius:var(--radius-s);border:1px solid #b8a6f7;align-items:flex-start;gap:.5rem;margin-top:.15rem;display:flex}@supports (color:color-mix(in lab, red, red)){.ps-plus{border:1px solid color-mix(in srgb, var(--color-pixel) 34%, var(--color-line))}}.ps-plus{background:#6d4aff17}@supports (color:color-mix(in lab, red, red)){.ps-plus{background:color-mix(in srgb, var(--color-pixel) 9%, transparent)}}.ps-plus{color:var(--color-ink);padding:.6rem .8rem;font-size:.85rem;line-height:1.45}.ps-plus b{color:var(--color-pixel-soft);font-weight:700}.ps-plus__mark{color:var(--color-pixel);font-weight:700;line-height:1.45}@media (prefers-reduced-motion:reduce){.ps-inner{transition:none}.ps-hint{animation:none}}.collapse-toggle{z-index:1;border:1px solid #beaff6;align-self:flex-start;align-items:center;gap:.4rem;display:inline-flex;position:relative}@supports (color:color-mix(in lab, red, red)){.collapse-toggle{border:1px solid color-mix(in srgb, var(--color-pixel) 28%, var(--color-line))}}.collapse-toggle{border-radius:var(--radius-s);background:#6d4aff0f;padding:.3rem .6rem}@supports (color:color-mix(in lab, red, red)){.collapse-toggle{background:color-mix(in srgb, var(--color-pixel) 6%, transparent)}}.collapse-toggle{font-family:var(--font-mono);color:var(--color-pixel-soft);font-size:.72rem;font-weight:500;transition:color .2s,border-color .2s,background .2s}.collapse-toggle:hover{color:var(--color-pixel);border-color:var(--color-pixel);background:#6d4aff1f}@supports (color:color-mix(in lab, red, red)){.collapse-toggle:hover{background:color-mix(in srgb, var(--color-pixel) 12%, transparent)}}.collapse-chevron{transition:transform .3s cubic-bezier(.2,.7,.2,1);display:inline-block}.collapse-chevron.is-open{transform:rotate(180deg)}.collapse-region{grid-template-rows:0fr;transition:grid-template-rows .35s cubic-bezier(.2,.7,.2,1);display:grid}.collapse-region.is-open{grid-template-rows:1fr}.collapse-inner{min-height:0;overflow:hidden}.portfolio-launcher{grid-template-columns:1fr;gap:.75rem;display:grid}@media (min-width:640px){.portfolio-launcher{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.portfolio-launcher{grid-template-columns:repeat(3,1fr)}}.portfolio-tile{text-align:left;border:1px solid var(--color-line);border-radius:var(--radius-m);background:var(--color-surface);flex-direction:column;gap:.5rem;min-height:120px;padding:1rem 1.1rem;transition:transform .25s,border-color .25s,box-shadow .35s;display:flex;position:relative}.portfolio-tile:hover{z-index:20;border-color:var(--color-pixel);transform:translateY(-4px);box-shadow:0 26px 52px -26px #6d4affb8}@supports (color:color-mix(in lab, red, red)){.portfolio-tile:hover{box-shadow:0 26px 52px -26px color-mix(in srgb, var(--color-pixel) 72%, transparent)}}.portfolio-tile__preview{z-index:20;opacity:0;transform-origin:top;pointer-events:none;border-radius:var(--radius-m);border:1.5px solid var(--color-pixel);position:absolute;top:calc(100% + .6rem);left:0;right:0;overflow:hidden;transform:translateY(-16px)scale(.88);box-shadow:0 32px 64px -18px #6d4affb8}@supports (color:color-mix(in lab, red, red)){.portfolio-tile__preview{box-shadow:0 32px 64px -18px color-mix(in srgb, var(--color-pixel) 72%, transparent)}}.portfolio-tile__preview{transition:opacity .35s,transform .45s cubic-bezier(.25,1.1,.4,1)}.portfolio-tile__preview img{aspect-ratio:16/10;object-fit:cover;object-position:top;width:100%;display:block}.portfolio-tile__preview-label{border-radius:var(--radius-s);background:#f2eefcc2;position:absolute;top:.55rem;left:.55rem}@supports (color:color-mix(in lab, red, red)){.portfolio-tile__preview-label{background:color-mix(in srgb, var(--color-void) 76%, transparent)}}.portfolio-tile__preview-label{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-family:var(--font-mono);letter-spacing:.02em;color:var(--color-pixel-soft);padding:.2rem .5rem;font-size:.62rem}.portfolio-tile:hover .portfolio-tile__preview{opacity:1;transform:translateY(0)scale(1)}@media (hover:hover) and (pointer:fine){.portfolio-tile:hover .portfolio-tile__preview{pointer-events:auto}.portfolio-tile:hover:after{content:"";height:.7rem;position:absolute;top:100%;left:0;right:0}}.portfolio-tile__glyph{grid-template-columns:repeat(2,1fr);gap:2px;width:16px;height:16px;display:grid}.portfolio-tile__glyph i{background:var(--color-pixel);opacity:.5;border-radius:1px}.portfolio-tile:hover .portfolio-tile__glyph i{opacity:1}.portfolio-tile__title{z-index:1;font-family:var(--font-display);color:var(--color-ink);font-size:1rem;font-weight:600;position:relative}.portfolio-tile__desc{z-index:1;color:var(--color-dim);font-size:.8rem;line-height:1.4;position:relative}.skills-slider{scroll-snap-type:x mandatory;scrollbar-width:none;gap:1rem;margin:0 -.25rem;padding:.25rem .25rem .5rem;display:flex;overflow-x:auto}.skills-slider::-webkit-scrollbar{display:none}.skills-slide{scroll-snap-align:start;border:1px solid var(--color-line);border-radius:var(--radius-m);background:var(--color-surface);flex:none;width:min(340px,82vw);padding:1.25rem;transition:transform .3s cubic-bezier(.2,.7,.2,1),border-color .3s,box-shadow .3s}.skills-slide:hover{border-color:#a089fa;transform:translateY(-4px)}@supports (color:color-mix(in lab, red, red)){.skills-slide:hover{border-color:color-mix(in srgb, var(--color-pixel) 55%, var(--color-line))}}.skills-slide:hover{box-shadow:0 18px 40px -28px #6d4aff8c}@supports (color:color-mix(in lab, red, red)){.skills-slide:hover{box-shadow:0 18px 40px -28px color-mix(in srgb, var(--color-pixel) 55%, transparent)}}@media (max-width:639px){.skills-slider{scroll-snap-type:none;flex-direction:column;margin:0;overflow-x:visible}.skills-slide{width:100%}}.skills-wrap{position:relative}.skills-arrow{z-index:5;border:1px solid #ded6f3b3;border-radius:999px;justify-content:center;align-items:center;width:44px;height:44px;display:none;position:absolute;top:50%}@supports (color:color-mix(in lab, red, red)){.skills-arrow{border:1px solid color-mix(in srgb, var(--color-line) 70%, transparent)}}.skills-arrow{background:#fff9}@supports (color:color-mix(in lab, red, red)){.skills-arrow{background:color-mix(in srgb, var(--color-surface) 60%, transparent)}}.skills-arrow{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--color-ink);font-family:var(--font-mono);opacity:.6;transition:background .2s,border-color .2s,color .2s,opacity .2s;transform:translateY(-50%)}@media (min-width:640px){.skills-arrow{display:inline-flex}}.skills-arrow--left{left:.4rem}.skills-arrow--right{right:.4rem}.skills-arrow:hover{opacity:1;border-color:var(--color-pixel);color:var(--color-pixel-soft);background:#ffffffd9}@supports (color:color-mix(in lab, red, red)){.skills-arrow:hover{background:color-mix(in srgb, var(--color-surface) 85%, transparent)}}.skills-arrow:active{transform:translateY(-50%)scale(.93)}.km-glyph{flex-shrink:0;grid-template-columns:repeat(2,1fr);gap:2px;width:14px;height:14px;display:grid}.km-glyph i{background:var(--color-pixel);border-radius:1px}.km-glyph i:nth-child(2),.km-glyph i:nth-child(3){opacity:.45}.spotlight{isolation:isolate;position:relative}.spotlight:before{content:"";z-index:-1;border-radius:inherit;background:radial-gradient(220px circle at var(--mx,50%) var(--my,50%), #6d4aff29, transparent 65%);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.spotlight:before{background:radial-gradient(220px circle at var(--mx,50%) var(--my,50%), color-mix(in srgb, var(--color-pixel) 16%, transparent), transparent 65%)}}.spotlight:before{opacity:0;pointer-events:none;transition:opacity .3s}.spotlight:hover:before{opacity:1}.foro-post{border:1px solid var(--color-line);border-radius:var(--radius-m);background:var(--color-surface);padding:1.25rem 1.4rem;transition:border-color .3s,box-shadow .3s,transform .3s}.foro-post:hover{border-color:#ab97f8;transform:translateY(-2px)}@supports (color:color-mix(in lab, red, red)){.foro-post:hover{border-color:color-mix(in srgb, var(--color-pixel) 45%, var(--color-line))}}.foro-post:hover{box-shadow:0 18px 44px -30px #6d4aff8c}@supports (color:color-mix(in lab, red, red)){.foro-post:hover{box-shadow:0 18px 44px -30px color-mix(in srgb, var(--color-pixel) 55%, transparent)}}.foro-avatar{border-radius:var(--radius-s);border:1px solid #b6a5f7;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.foro-avatar{border:1px solid color-mix(in srgb, var(--color-pixel) 35%, var(--color-line))}}.foro-avatar{background:linear-gradient(150deg, #d6ccff, var(--color-surface))}@supports (color:color-mix(in lab, red, red)){.foro-avatar{background:linear-gradient(150deg, color-mix(in srgb, var(--color-pixel) 28%, var(--color-surface)), var(--color-surface))}}.foro-avatar{font-family:var(--font-display);color:var(--color-pixel);font-size:.85rem;font-weight:700}.data-case__conclusion{border-left:2px solid var(--color-pixel);padding-left:1rem}.social-key{--key-edge:#a089fa}@supports (color:color-mix(in lab, red, red)){.social-key{--key-edge:color-mix(in srgb, var(--color-pixel) 55%, var(--color-line))}}.social-key{border-radius:var(--radius-s);border:1px solid var(--color-line);background:var(--color-surface);font-family:var(--font-mono);color:var(--color-ink);box-shadow:0 4px 0 0 var(--key-edge), 0 10px 22px -12px #6d4aff8c;align-items:center;gap:.5rem;padding:.6rem 1.05rem;font-size:.85rem;display:inline-flex;position:relative}@supports (color:color-mix(in lab, red, red)){.social-key{box-shadow:0 4px 0 0 var(--key-edge), 0 10px 22px -12px color-mix(in srgb, var(--color-pixel) 55%, transparent)}}.social-key{transition:transform .12s,box-shadow .12s,border-color .2s,color .2s}.social-key:hover{border-color:#9a82fa;transform:translateY(-2px)}@supports (color:color-mix(in lab, red, red)){.social-key:hover{border-color:color-mix(in srgb, var(--color-pixel) 60%, var(--color-line))}}.social-key:hover{color:var(--color-pixel-soft);box-shadow:0 6px 0 0 var(--key-edge), 0 18px 32px -14px #6d4affa6}@supports (color:color-mix(in lab, red, red)){.social-key:hover{box-shadow:0 6px 0 0 var(--key-edge), 0 18px 32px -14px color-mix(in srgb, var(--color-pixel) 65%, transparent)}}.social-key:active{box-shadow:0 1px 0 0 var(--key-edge), 0 6px 14px -12px #6d4aff80;transform:translateY(2px)}@supports (color:color-mix(in lab, red, red)){.social-key:active{box-shadow:0 1px 0 0 var(--key-edge), 0 6px 14px -12px color-mix(in srgb, var(--color-pixel) 50%, transparent)}}.social-key--off{pointer-events:none;opacity:.5;box-shadow:none}.scroll-progress{z-index:60;pointer-events:none;height:3px;position:fixed;inset:0 0 auto;overflow:hidden}.scroll-progress__bar{background:linear-gradient(90deg, #6d4aff73, var(--color-pixel) 60%, var(--color-pixel-soft));width:100%;height:100%;position:relative;transform:translate(-101%)}@supports (color:color-mix(in lab, red, red)){.scroll-progress__bar{background:linear-gradient(90deg, color-mix(in srgb, var(--color-pixel) 45%, transparent), var(--color-pixel) 60%, var(--color-pixel-soft))}}.scroll-progress__bar{box-shadow:0 0 12px #6d4affbf}@supports (color:color-mix(in lab, red, red)){.scroll-progress__bar{box-shadow:0 0 12px color-mix(in srgb, var(--color-pixel) 75%, transparent)}}.scroll-progress__bar:after{content:"";background:var(--color-ink);opacity:.9;width:6px;height:100%;position:absolute;top:0;right:0}.depth-card{border:1px solid #cabdf5}@supports (color:color-mix(in lab, red, red)){.depth-card{border:1px solid color-mix(in srgb, var(--color-line) 82%, var(--color-pixel))}}.depth-card{border-radius:var(--radius-m);background:linear-gradient(180deg, #f8f6ff 0%, var(--color-surface) 55%)}@supports (color:color-mix(in lab, red, red)){.depth-card{background:linear-gradient(180deg, color-mix(in srgb, var(--color-surface) 95%, var(--color-pixel)) 0%, var(--color-surface) 55%)}}.depth-card{box-shadow:inset 0 1px #ffffff12,0 18px 44px -30px #6d4aff8c}@supports (color:color-mix(in lab, red, red)){.depth-card{box-shadow:0 1px 0 0 #ffffff12 inset, 0 18px 44px -30px color-mix(in srgb, var(--color-pixel) 55%, transparent)}}:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--color-pixel);outline-offset:2px;border-radius:3px}.press{transition:transform .12s,filter .2s}.press:active{transform:scale(.97)}.tap-pad{background-origin:content-box;padding-block:.7rem;display:inline-block}.link-draw{background-image:linear-gradient(var(--color-pixel-soft), var(--color-pixel-soft));background-position:0 100%;background-repeat:no-repeat;background-size:0% 1px;transition:background-size .3s cubic-bezier(.2,.7,.2,1)}.link-draw:hover,.link-draw:focus-visible{background-size:100% 1px}@keyframes atmos-a{0%,to{transform:translate(-6%,-4%)scale(1)}50%{transform:translate(6%,4%)scale(1.15)}}@keyframes atmos-b{0%,to{transform:translate(6%,6%)scale(1.1)}50%{transform:translate(-4%,-4%)scale(1)}}.text-gradient{color:var(--color-pixel-soft)}@supports ((-webkit-background-clip:text) or (background-clip:text)){.text-gradient{background-image:linear-gradient(100deg, var(--color-pixel-soft) 18%, var(--color-pixel) 92%);color:#0000;-webkit-background-clip:text;background-clip:text}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-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-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-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}@keyframes pulse{50%{opacity:.5}}
