@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-x-reverse:0;--tw-border-style:solid;--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-outline-style:solid;--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-duration:initial;--tw-content:"";--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}}}@font-face{font-family:Satoshi;src:url(https://cdn.fontshare.com/wf/TTX2Z3BF3P6Y5BQT3IV2VNOK6FL22KUT/7QYRJOI3JIMYHGY6CH7SOIFRQLZOLNJ6/KFIAZD4RUMEZIYV6FQ3T3GP5PDBDB6JY.woff2)format("woff2");font-weight:400;font-display:swap;font-style:normal}@font-face{font-family:Satoshi;src:url(https://cdn.fontshare.com/wf/P2LQKHE6KA6ZP4AAGN72KDWMHH6ZH3TA/ZC32TK2P7FPS5GFTL46EU6KQJA24ZYDB/7AHDUZ4A7LFLVFUIFSARGIWCRQJHISQP.woff2)format("woff2");font-weight:500;font-display:swap;font-style:normal}@font-face{font-family:Satoshi;src:url(https://cdn.fontshare.com/wf/LAFFD4SDUCDVQEXFPDC7C53EQ4ZELWQI/PXCT3G6LO6ICM5I3NTYENYPWJAECAWDD/GHM6WVH6MILNYOOCXHXB5GTSGNTMGXZR.woff2)format("woff2");font-weight:700;font-display:swap;font-style:normal}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-black:#000;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--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);--font-weight-normal:400;--font-weight-medium:500;--tracking-tight:-.025em;--tracking-widest:.1em;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-4xl:2rem;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-xs:4px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.\@container\/field-group{container:field-group/inline-size}.pointer-events-none{pointer-events:none}.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:0}.top-0{top:0}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing) * 2)}.top-20{top:calc(var(--spacing) * 20)}.right-0{right:0}.right-2{right:calc(var(--spacing) * 2)}.bottom-0{bottom:0}.left-1\/2{left:50%}.isolate{isolation:isolate}.z-10{z-index:10}.z-50{z-index:50}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.-mx-4{margin-inline:calc(var(--spacing) * -4)}.mx-auto{margin-inline:auto}.-my-2{margin-block:calc(var(--spacing) * -2)}.my-1{margin-block:var(--spacing)}.my-2{margin-block:calc(var(--spacing) * 2)}.-mb-4{margin-bottom:calc(var(--spacing) * -4)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-auto{margin-left:auto}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.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{display:inline}.inline-flex{display:inline-flex}.field-sizing-content{field-sizing:content}.aspect-square{aspect-ratio:1}.size-2\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.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-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.size-full{width:100%;height:100%}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-px{height:1px}.max-h-\(--available-height\){max-height:var(--available-height)}.min-h-16{min-height:calc(var(--spacing) * 16)}.w-\(--anchor-width\){width:var(--anchor-width)}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.max-w-sm{max-width:var(--container-sm)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:0}.min-w-5{min-width:calc(var(--spacing) * 5)}.min-w-32{min-width:calc(var(--spacing) * 32)}.min-w-36{min-width:calc(var(--spacing) * 36)}.min-w-\[96px\]{min-width:96px}.flex-1{flex:1}.shrink-0{flex-shrink:0}.basis-full{flex-basis:100%}.origin-\(--transform-origin\){transform-origin:var(--transform-origin)}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[calc\(-50\%-2px\)\]{--tw-translate-y:calc(-50% - 2px);translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-45{rotate:45deg}.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-default{cursor:default}.scroll-my-1{scroll-margin-block:var(--spacing)}.list-disc{list-style-type:disc}.grid-rows-\[auto_1fr\]{grid-template-rows:auto 1fr}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}: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)))}.overflow-hidden{overflow:hidden}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded-4xl{border-radius:var(--radius-4xl)}.rounded-\[2px\]{border-radius:2px}.rounded-\[min\(var\(--radius-md\)\,10px\)\]{border-radius:min(var(--radius-md), 10px)}.rounded-\[min\(var\(--radius-md\)\,12px\)\]{border-radius:min(var(--radius-md), 12px)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-b-xl{border-bottom-right-radius:var(--radius-xl);border-bottom-left-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-transparent{border-color:#0000}.bg-black\/10{background-color:#0000001a}@supports (color:color-mix(in lab, red, red)){.bg-black\/10{background-color:color-mix(in oklab, var(--color-black) 10%, transparent)}}.bg-transparent{background-color:#0000}.bg-clip-padding{background-clip:padding-box}.object-cover{object-fit:cover}.p-1{padding:var(--spacing)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.px-1{padding-inline:var(--spacing)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.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)}.pr-1\.5\!{padding-right:calc(var(--spacing) * 1.5)!important}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pl-1\.5{padding-left:calc(var(--spacing) * 1.5)}.pl-1\.5\!{padding-left:calc(var(--spacing) * 1.5)!important}.pl-2\.5{padding-left:calc(var(--spacing) * 2.5)}.text-center{text-align:center}.text-left{text-align:left}.font-sans{font-family:var(--font-sans)}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-sm\/relaxed{font-size:var(--text-sm);line-height:var(--leading-relaxed)}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.8rem\]{font-size:.8rem}.leading-none{--tw-leading:1;line-height:1}.leading-normal{--tw-leading:var(--leading-normal);line-height:var(--leading-normal)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.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)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-balance{text-wrap:balance}.wrap-break-word{overflow-wrap:break-word}.whitespace-nowrap{white-space:nowrap}.underline-offset-4{text-underline-offset:4px}.bg-blend-color{background-blend-mode:color}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-1{--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)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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,)}.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))}.duration-100{--tw-duration:.1s;transition-duration:.1s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}:is(.\*\:w-full>*){width:100%}.group-has-data-horizontal\/field\:text-balance:is(:where(.group\/field):has([data-horizontal]) *){text-wrap:balance}.group-has-data-\[size\=lg\]\/avatar-group\:size-10:is(:where(.group\/avatar-group):has([data-size=lg]) *){width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.group-has-data-\[size\=sm\]\/avatar-group\:size-6:is(:where(.group\/avatar-group):has([data-size=sm]) *){width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.group-has-data-\[slot\=item-description\]\/item\:translate-y-0\.5:is(:where(.group\/item):has([data-slot=item-description]) *){--tw-translate-y:calc(var(--spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-has-data-\[slot\=item-description\]\/item\:self-start:is(:where(.group\/item):has([data-slot=item-description]) *){align-self:flex-start}.group-has-\[\>svg\]\/alert\:col-start-2:is(:where(.group\/alert):has(>svg) *){grid-column-start:2}.group-data-\[disabled\=true\]\:pointer-events-none:is(:where(.group)[data-disabled=true] *){pointer-events:none}.group-data-\[disabled\=true\]\:opacity-50:is(:where(.group)[data-disabled=true] *),.group-data-\[disabled\=true\]\/field\:opacity-50:is(:where(.group\/field)[data-disabled=true] *){opacity:.5}.group-data-\[size\=default\]\/avatar\:size-2\.5:is(:where(.group\/avatar)[data-size=default] *){width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.group-data-\[size\=lg\]\/avatar\:size-3:is(:where(.group\/avatar)[data-size=lg] *){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.group-data-\[size\=sm\]\/alert-dialog-content\:grid:is(:where(.group\/alert-dialog-content)[data-size=sm] *){display:grid}.group-data-\[size\=sm\]\/alert-dialog-content\:grid-cols-2:is(:where(.group\/alert-dialog-content)[data-size=sm] *){grid-template-columns:repeat(2,minmax(0,1fr))}.group-data-\[size\=sm\]\/avatar\:size-2:is(:where(.group\/avatar)[data-size=sm] *){width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.group-data-\[size\=sm\]\/avatar\:text-xs:is(:where(.group\/avatar)[data-size=sm] *){font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.group-data-\[size\=sm\]\/item\:size-8:is(:where(.group\/item)[data-size=sm] *){width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.group-data-\[size\=xs\]\/item\:size-6:is(:where(.group\/item)[data-size=xs] *){width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.group-data-\[size\=xs\]\/item\:gap-0:is(:where(.group\/item)[data-size=xs] *){gap:0}.group-data-\[size\=xs\]\/item\:text-xs:is(:where(.group\/item)[data-size=xs] *){font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.group-data-\[variant\=outline\]\/field-group\:-mb-2:is(:where(.group\/field-group)[data-variant=outline] *){margin-bottom:calc(var(--spacing) * -2)}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-50:is(:where(.peer):disabled~*){opacity:.5}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:inset-0:after{content:var(--tw-content);inset:0}.after\:rounded-full:after{content:var(--tw-content);border-radius:3.40282e38px}.after\:border:after{content:var(--tw-content);border-style:var(--tw-border-style);border-width:1px}.after\:mix-blend-darken:after{content:var(--tw-content);mix-blend-mode:darken}.last\:mt-0:last-child{margin-top:0}@media (hover:hover){.hover\:bg-\[color-mix\(in_oklch\,var\(--secondary\)\,var\(--foreground\)_5\%\)\]:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-\[color-mix\(in_oklch\,var\(--secondary\)\,var\(--foreground\)_5\%\)\]:hover{background-color:color-mix(in oklch,var(--secondary),var(--foreground) 5%)}}.hover\:underline:hover{text-decoration-line:underline}}.focus-visible\:ring-3:focus-visible,.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + 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)}.active\:not-aria-\[haspopup\]\:translate-y-px:active:not([aria-haspopup]){--tw-translate-y:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}:where([data-slot=button-group]) .in-data-\[slot\=button-group\]\:rounded-lg{border-radius:var(--radius-lg)}:where([data-slot=dropdown-menu-content]) .in-data-\[slot\=dropdown-menu-content\]\:p-0{padding:0}.has-data-\[icon\=inline-end\]\:pr-1\.5:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 1.5)}.has-data-\[icon\=inline-end\]\:pr-2:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 2)}.has-data-\[icon\=inline-start\]\:pl-1\.5:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 1.5)}.has-data-\[icon\=inline-start\]\:pl-2:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 2)}.has-data-\[size\=sm\]\:gap-2\.5:has([data-size=sm]){gap:calc(var(--spacing) * 2.5)}.has-data-\[size\=xs\]\:gap-2:has([data-size=xs]){gap:calc(var(--spacing) * 2)}.has-data-\[slot\=alert-action\]\:relative:has([data-slot=alert-action]){position:relative}.has-data-\[slot\=alert-action\]\:pr-18:has([data-slot=alert-action]){padding-right:calc(var(--spacing) * 18)}.has-data-\[slot\=alert-dialog-media\]\:grid-rows-\[auto_auto_1fr\]:has([data-slot=alert-dialog-media]){grid-template-rows:auto auto 1fr}.has-data-\[slot\=alert-dialog-media\]\:gap-x-4:has([data-slot=alert-dialog-media]){column-gap:calc(var(--spacing) * 4)}.has-data-\[slot\=kbd\]\:pr-1\.5:has([data-slot=kbd]){padding-right:calc(var(--spacing) * 1.5)}.has-\[\>\[data-slot\=checkbox-group\]\]\:gap-3:has(>[data-slot=checkbox-group]){gap:calc(var(--spacing) * 3)}.has-\[\>\[data-slot\=field-content\]\]\:items-start:has(>[data-slot=field-content]){align-items:flex-start}.has-\[\>\[data-slot\=field\]\]\:w-full:has(>[data-slot=field]){width:100%}.has-\[\>\[data-slot\=field\]\]\:flex-col:has(>[data-slot=field]){flex-direction:column}.has-\[\>\[data-slot\=field\]\]\:rounded-lg:has(>[data-slot=field]){border-radius:var(--radius-lg)}.has-\[\>\[data-slot\=field\]\]\:border:has(>[data-slot=field]){border-style:var(--tw-border-style);border-width:1px}.has-\[\>\[data-slot\=field\]\]\:has-\[\:focus-visible\]\:ring-3:has(>[data-slot=field]):has(:focus-visible){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + 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)}.has-\[\>\[data-slot\=radio-group\]\]\:gap-3:has(>[data-slot=radio-group]){gap:calc(var(--spacing) * 3)}.has-\[\>svg\]\:grid-cols-\[auto_1fr\]:has(>svg){grid-template-columns:auto 1fr}.has-\[\>svg\]\:gap-x-2:has(>svg){column-gap:calc(var(--spacing) * 2)}.aria-invalid\:ring-3[aria-invalid=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + 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)}.data-closed\:overflow-hidden[data-closed]{overflow:hidden}.data-disabled\:pointer-events-none[data-disabled]{pointer-events:none}.data-disabled\:opacity-50[data-disabled]{opacity:.5}.data-horizontal\:h-px[data-horizontal]{height:1px}.data-horizontal\:w-full[data-horizontal]{width:100%}.data-inset\:pl-7[data-inset]{padding-left:calc(var(--spacing) * 7)}.data-vertical\:w-px[data-vertical]{width:1px}.data-vertical\:self-stretch[data-vertical]{align-self:stretch}.data-\[align-trigger\=true\]\:animate-none[data-align-trigger=true]{animation:none}.data-\[side\=bottom\]\:top-1[data-side=bottom]{top:var(--spacing)}.data-\[side\=inline-end\]\:top-1\/2\![data-side=inline-end]{top:50%!important}.data-\[side\=inline-end\]\:-left-1[data-side=inline-end]{left:calc(var(--spacing) * -1)}.data-\[side\=inline-end\]\:-translate-y-1\/2[data-side=inline-end]{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=inline-start\]\:top-1\/2\![data-side=inline-start]{top:50%!important}.data-\[side\=inline-start\]\:-right-1[data-side=inline-start]{right:calc(var(--spacing) * -1)}.data-\[side\=inline-start\]\:-translate-y-1\/2[data-side=inline-start]{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=left\]\:top-1\/2\![data-side=left]{top:50%!important}.data-\[side\=left\]\:-right-1[data-side=left]{right:calc(var(--spacing) * -1)}.data-\[side\=left\]\:-translate-y-1\/2[data-side=left]{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=right\]\:top-1\/2\![data-side=right]{top:50%!important}.data-\[side\=right\]\:-left-1[data-side=right]{left:calc(var(--spacing) * -1)}.data-\[side\=right\]\:-translate-y-1\/2[data-side=right]{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=top\]\:-bottom-2\.5[data-side=top]{bottom:calc(var(--spacing) * -2.5)}.data-\[size\=default\]\:h-8[data-size=default]{height:calc(var(--spacing) * 8)}.data-\[size\=default\]\:max-w-xs[data-size=default]{max-width:var(--container-xs)}.data-\[size\=lg\]\:size-10[data-size=lg]{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.data-\[size\=sm\]\:size-6[data-size=sm]{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.data-\[size\=sm\]\:h-7[data-size=sm]{height:calc(var(--spacing) * 7)}.data-\[size\=sm\]\:max-w-xs[data-size=sm]{max-width:var(--container-xs)}.data-\[size\=sm\]\:rounded-\[min\(var\(--radius-md\)\,10px\)\][data-size=sm]{border-radius:min(var(--radius-md), 10px)}:is(.\*\:data-\[slot\=avatar\]\:ring-2>*)[data-slot=avatar]{--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)}.data-\[slot\=checkbox-group\]\:gap-3[data-slot=checkbox-group]{gap:calc(var(--spacing) * 3)}:is(.\*\:data-\[slot\=field\]\:p-2\.5>*)[data-slot=field]{padding:calc(var(--spacing) * 2.5)}:is(.\*\:data-\[slot\=field-group\]\:gap-4>*)[data-slot=field-group]{gap:calc(var(--spacing) * 4)}:is(.\*\:data-\[slot\=field-label\]\:flex-auto>*)[data-slot=field-label]{flex:auto}:is(.\*\*\:data-\[slot\=kbd\]\:relative *)[data-slot=kbd]{position:relative}:is(.\*\*\:data-\[slot\=kbd\]\:isolate *)[data-slot=kbd]{isolation:isolate}:is(.\*\*\:data-\[slot\=kbd\]\:z-50 *)[data-slot=kbd]{z-index:50}:is(.\*\*\:data-\[slot\=kbd\]\:rounded-sm *)[data-slot=kbd]{border-radius:var(--radius-sm)}:is(.\*\:data-\[slot\=select-value\]\:line-clamp-1>*)[data-slot=select-value]{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}:is(.\*\:data-\[slot\=select-value\]\:flex>*)[data-slot=select-value]{display:flex}:is(.\*\:data-\[slot\=select-value\]\:items-center>*)[data-slot=select-value]{align-items:center}:is(.\*\:data-\[slot\=select-value\]\:gap-1\.5>*)[data-slot=select-value]{gap:calc(var(--spacing) * 1.5)}.data-\[variant\=label\]\:text-sm[data-variant=label]{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.data-\[variant\=legend\]\:text-base[data-variant=legend]{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.nth-last-2\:-mt-1:nth-last-child(2){margin-top:calc(var(--spacing) * -1)}@supports ((-webkit-backdrop-filter:var(--tw)) or (backdrop-filter:var(--tw))){.supports-backdrop-filter\:backdrop-blur-xs{--tw-backdrop-blur:blur(var(--blur-xs));-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,)}}@media (min-width:40rem){.sm\:block{display:block}.sm\:max-w-sm{max-width:var(--container-sm)}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:group-data-\[size\=default\]\/alert-dialog-content\:row-span-2:is(:where(.group\/alert-dialog-content)[data-size=default] *){grid-row:span 2/span 2}.sm\:group-data-\[size\=default\]\/alert-dialog-content\:place-items-start:is(:where(.group\/alert-dialog-content)[data-size=default] *){place-items:start}.sm\:group-data-\[size\=default\]\/alert-dialog-content\:text-left:is(:where(.group\/alert-dialog-content)[data-size=default] *){text-align:left}.sm\:group-data-\[size\=default\]\/alert-dialog-content\:group-has-data-\[slot\=alert-dialog-media\]\/alert-dialog-content\:col-start-2:is(:where(.group\/alert-dialog-content)[data-size=default] *):is(:where(.group\/alert-dialog-content):has([data-slot=alert-dialog-media]) *){grid-column-start:2}.sm\:group-data-\[size\=default\]\/alert-dialog-content\:has-data-\[slot\=alert-dialog-media\]\:grid-rows-\[auto_1fr\]:is(:where(.group\/alert-dialog-content)[data-size=default] *):has([data-slot=alert-dialog-media]){grid-template-rows:auto 1fr}.data-\[size\=default\]\:sm\:max-w-sm[data-size=default]{max-width:var(--container-sm)}}@media (min-width:48rem){.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.md\:text-pretty{text-wrap:pretty}}@container field-group (min-width:28rem){.\@md\/field-group\:flex-row{flex-direction:row}.\@md\/field-group\:items-center{align-items:center}:is(.\@md\/field-group\:\*\:w-auto>*){width:auto}.\@md\/field-group\:has-\[\>\[data-slot\=field-content\]\]\:items-start:has(>[data-slot=field-content]){align-items:flex-start}:is(.\@md\/field-group\:\*\:data-\[slot\=field-label\]\:flex-auto>*)[data-slot=field-label]{flex:auto}}@media (prefers-color-scheme:dark){.dark\:after\:mix-blend-lighten:after{content:var(--tw-content);mix-blend-mode:lighten}}.\[\&_a\]\:underline a{text-decoration-line:underline}.\[\&_a\]\:underline-offset-3 a{text-underline-offset:3px}.\[\&_img\]\:size-full img{width:100%;height:100%}.\[\&_img\]\:object-cover img{object-fit:cover}.\[\&_p\:not\(\:last-child\)\]\:mb-4 p:not(:last-child){margin-bottom:calc(var(--spacing) * 4)}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3\.5 svg:not([class*=size-]){width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&\+\[data-slot\=item-content\]\]\:flex-none+[data-slot=item-content]{flex:none}.\[a\]\:transition-colors:is(a){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))}:is(.\*\:\[a\]\:underline>*):is(a){text-decoration-line:underline}:is(.\*\:\[a\]\:underline-offset-3>*):is(a){text-underline-offset:3px}:is(.\*\:\[span\]\:last\:flex>*):is(span):last-child{display:flex}:is(.\*\:\[span\]\:last\:items-center>*):is(span):last-child{align-items:center}:is(.\*\:\[span\]\:last\:gap-2>*):is(span):last-child{gap:calc(var(--spacing) * 2)}:is(.\*\:\[svg\]\:row-span-2>*):is(svg){grid-row:span 2/span 2}:is(.\*\:\[svg\]\:translate-y-0\.5>*):is(svg){--tw-translate-y:calc(var(--spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}:is(.\*\:\[svg\]\:text-current>*):is(svg){color:currentColor}:is(.\*\:\[svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4>*):is(svg:not([class*=size-])){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}:is(.\*\:\[svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-6>*):is(svg:not([class*=size-])){width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.\[\&\>\.sr-only\]\:w-auto>.sr-only{width:auto}:is(.has-\[\>\[data-slot\=field-content\]\]\:\[\&\>\[role\=checkbox\]\,\[role\=radio\]\]\:mt-px:has(>[data-slot=field-content])>[role=checkbox],.has-\[\>\[data-slot\=field-content\]\]\:\[\&\>\[role\=checkbox\]\,\[role\=radio\]\]\:mt-px:has(>[data-slot=field-content]) [role=radio]){margin-top:1px}@container field-group (min-width:28rem){:is(.\@md\/field-group\:has-\[\>\[data-slot\=field-content\]\]\:\[\&\>\[role\=checkbox\]\,\[role\=radio\]\]\:mt-px:has(>[data-slot=field-content])>[role=checkbox],.\@md\/field-group\:has-\[\>\[data-slot\=field-content\]\]\:\[\&\>\[role\=checkbox\]\,\[role\=radio\]\]\:mt-px:has(>[data-slot=field-content]) [role=radio]){margin-top:1px}}.\[\&\>a\]\:underline>a{text-decoration-line:underline}.\[\&\>a\]\:underline-offset-4>a{text-underline-offset:4px}.\[\&\>svg\]\:pointer-events-none>svg{pointer-events:none}.\[\&\>svg\]\:size-3\!>svg{width:calc(var(--spacing) * 3)!important;height:calc(var(--spacing) * 3)!important}.\[\&\>svg\]\:size-3\.5>svg{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.\[\&\>svg\]\:size-4>svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.group-has-data-\[size\=lg\]\/avatar-group\:\[\&\>svg\]\:size-5:is(:where(.group\/avatar-group):has([data-size=lg]) *)>svg{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.group-has-data-\[size\=sm\]\/avatar-group\:\[\&\>svg\]\:size-3:is(:where(.group\/avatar-group):has([data-size=sm]) *)>svg{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.group-data-\[size\=default\]\/avatar\:\[\&\>svg\]\:size-2:is(:where(.group\/avatar)[data-size=default] *)>svg,.group-data-\[size\=lg\]\/avatar\:\[\&\>svg\]\:size-2:is(:where(.group\/avatar)[data-size=lg] *)>svg{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.group-data-\[size\=sm\]\/avatar\:\[\&\>svg\]\:hidden:is(:where(.group\/avatar)[data-size=sm] *)>svg{display:none}[data-variant=legend]+.\[\[data-variant\=legend\]\+\&\]\:-mt-1\.5{margin-top:calc(var(--spacing) * -1.5)}}:root{--font-sans:Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-satoshi:"Satoshi", Inter, ui-sans-serif, sans-serif;--font-display:Georgia, "Times New Roman", serif;--font-mono:"SFMono-Regular", Consolas, monospace;--bg:#f3f3ef;--surface:#fff;--ink:#171815;--muted:#6f716a;--line:#d8d9d2;--lime:#d8ff4f;--blue:#a8c9f0;--coral:#f1a98f;--green:#9fcdb7;--shell:var(--bg)}@supports (color:color-mix(in lab, red, red)){:root{--shell:color-mix(in srgb, var(--bg) 55%, var(--surface))}}.dark{--bg:#0d0e0c;--surface:#171815;--ink:#f3f4ee;--muted:#96998f;--line:#30322d;--lime:#d8ff4f}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--font-sans);letter-spacing:0;margin:0}a{color:inherit;text-decoration:none}button{font:inherit}svg{stroke-width:1.8px;width:18px;height:18px}.portfolio{background:var(--shell);border:none;border-radius:28px;width:min(1120px,100% - 80px);margin:48px auto;position:relative;box-shadow:0 32px 90px #00000029,0 10px 32px #00000014}.nav{z-index:50;background:0 0;border-top-left-radius:27px;border-top-right-radius:27px;grid-template-columns:1fr auto 1fr;align-items:center;height:64px;padding:0 44px;transition:background-color .35s;display:grid;position:sticky;top:0;border-bottom:none!important}.brand{background:var(--bg);border-radius:5px;justify-content:center;align-items:center;gap:5px;width:42px;height:24px;display:flex}.brand i{background:var(--muted);border-radius:50%;width:5px;height:5px;transition:transform .2s,background .2s}.brand:hover i{background:var(--ink);transform:translateY(-1px)}.brand:hover i:first-child{background:var(--lime)}.nav nav{color:var(--muted);gap:30px;font-size:13px;display:flex}.nav nav a{transition:color .2s;position:relative}.nav nav a:after{content:"";background:var(--ink);height:1px;transition:right .25s;position:absolute;bottom:-7px;left:0;right:100%}.nav nav a:hover{color:var(--ink)}.nav nav a:hover:after{right:0}.theme-trigger{width:36px;height:36px;color:var(--muted);cursor:pointer;border:0;border-radius:50%;justify-self:end;place-items:center;padding:0;transition:color .2s,transform .2s;display:grid;background:0 0!important}.theme-trigger:hover,.theme-trigger[data-popup-open]{color:var(--ink);background:0 0!important}.nav-actions{justify-self:end;align-items:center;gap:6px;display:flex}.mobile-menu-trigger{width:36px;height:36px;color:var(--muted);cursor:pointer;border:0;border-radius:50%;place-items:center;padding:0;transition:color .2s,transform .2s;display:none;background:0 0!important}.mobile-menu-trigger:hover,.mobile-menu-trigger[data-popup-open]{color:var(--ink);background:0 0!important}.mobile-nav-menu{width:170px!important;color:var(--ink)!important;background:var(--surface)!important;border:0!important;border-radius:12px!important;padding:7px!important;box-shadow:0 18px 45px #00000040!important}.mobile-nav-item{min-height:40px;color:var(--muted)!important;border-radius:7px!important;padding:0!important}.mobile-nav-item:hover,.mobile-nav-item:focus-visible{color:var(--ink)!important;background:var(--bg)!important}.mobile-nav-item a{align-items:center;width:100%;height:40px;padding:0 10px;display:flex}.theme-menu{width:210px!important;color:var(--ink)!important;background:var(--surface)!important;padding:7px!important}@supports (color:color-mix(in lab, red, red)){.theme-menu{background:color-mix(in srgb, var(--surface) 94%, transparent)!important}}.theme-menu{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:0!important;border-radius:12px!important;box-shadow:0 18px 50px #00000038!important}.theme-menu-label{text-transform:uppercase;color:var(--muted)!important;font:9px var(--font-mono)!important;padding:8px 10px 7px!important}.theme-option{min-height:40px;color:var(--muted)!important;cursor:pointer!important;border-radius:7px!important;gap:10px!important;padding:0 10px!important;font-size:12px!important}.theme-option:hover,.theme-option:focus-visible{color:var(--ink)!important;background:var(--bg)!important}.theme-option span{color:inherit}.theme-option a{width:100%;height:100%;color:inherit;align-items:center;gap:10px;text-decoration:none;display:flex}.theme-option small{color:var(--muted);font:9px var(--font-mono);margin-left:auto}.theme-option svg{width:16px;height:16px}.hero{grid-template-columns:minmax(0,660px) 250px;justify-content:space-between;align-items:center;gap:36px;width:min(100%,1040px);min-height:360px;margin:0 auto;padding:42px 32px 48px;display:grid}.hero-copy{flex-direction:column;min-height:0;padding:10px 0 0;display:flex}.hero-intro{color:var(--muted);font:10px var(--font-mono);text-transform:uppercase;align-items:center;gap:10px;display:flex}.hero-intro span{color:var(--ink)}.hero-intro i{background:var(--line);width:20px;height:1px}.hero-name{margin:0 0 7px;font-size:clamp(42px,3.6vw,50px);line-height:.95;font-family:Satoshi,Inter,sans-serif!important;font-weight:700!important}.hero-name>span{padding-bottom:.05em;display:block;overflow:hidden}.hero-name>span>span{display:block}.hero-role{max-width:620px;color:var(--ink);margin:0;font-size:clamp(24px,1.8vw,29px);line-height:1.25;font-family:Satoshi,Inter,sans-serif!important;font-weight:500!important}.hero-role em{color:var(--muted);font-style:normal;font-family:Satoshi,Inter,sans-serif!important;font-weight:500!important}.hero-summary{max-width:580px;color:var(--muted);margin:17px 0 0;font-size:13px;line-height:1.6}.hero-actions{align-items:center;gap:24px;margin-top:28px;display:flex}.primary-action{color:#171815;background:var(--lime);border-radius:999px;align-items:center;gap:22px;min-height:46px;padding:0 18px;font-size:12px;font-weight:650;transition:transform .25s,box-shadow .25s;display:inline-flex;border:none!important;box-shadow:0 8px 24px #00000038!important}.primary-action:hover{transform:translateY(-2px);box-shadow:0 12px 30px #00000052!important}.inline-link{align-items:center;gap:8px;font-size:12px;font-weight:600;display:inline-flex}.hero-foot{color:var(--muted);font:9px var(--font-mono);text-transform:uppercase;gap:34px;margin-top:auto;padding-top:26px;display:flex}.hero-quote{text-align:center;width:min(100% - 40px,520px);margin:28px auto}.hero-quote p{color:var(--muted);font:italic 15px/1.45 var(--font-display);margin:0}.hero-quote cite{color:var(--ink);font:normal 9px var(--font-mono);text-transform:uppercase;margin-top:7px;display:block}.portrait-wrap{aspect-ratio:1;perspective:900px;background:#10110f;border-radius:14px;place-self:start end;width:250px;margin-top:10px;position:relative;overflow:hidden}.portrait-stage{transform-style:preserve-3d;will-change:transform;position:absolute;inset:0}.portrait{position:absolute;inset:0}.portrait img{object-fit:cover;object-position:center;filter:contrast(1.04)}::view-transition-old(root){animation:.35s cubic-bezier(.4,0,1,1) theme-out}::view-transition-new(root){animation:.55s cubic-bezier(.16,1,.3,1) theme-in}@keyframes theme-out{to{opacity:0;transform:scale(.985)}}@keyframes theme-in{0%{opacity:0;clip-path:circle(0 at calc(100% - 54px) 54px)}to{opacity:1;clip-path:circle(150% at calc(100% - 54px) 54px)}}.ticker{border-bottom:1px solid var(--line);height:46px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 5% 95%,#0000);mask-image:linear-gradient(90deg,#0000,#000 5% 95%,#0000)}.ticker-track{will-change:transform;align-items:center;width:max-content;height:100%;display:flex}.ticker-group{flex-shrink:0;align-items:center;height:100%;display:flex}.ticker span{color:var(--muted);font:9px var(--font-mono);text-transform:uppercase;white-space:nowrap;align-items:center;gap:28px;padding-right:28px;display:flex}.ticker i{background:var(--coral);flex:none;width:5px;height:5px;transform:rotate(45deg)}.section{border-bottom:1px solid var(--line);padding:82px 54px}.section-label{color:var(--muted);font:10px var(--font-mono)}.section-head{justify-content:space-between;align-items:end;gap:35px;margin-bottom:42px;display:flex}.section-head h2,.capabilities h2,.contact h2{margin:12px 0 0;font-size:clamp(34px,4vw,52px);font-weight:590;line-height:1.05}.section-head>p{max-width:370px;color:var(--muted);margin:0;font-size:13px;line-height:1.6}.recent-projects-heading{margin:12px 0 0!important;font-family:Satoshi,Inter,sans-serif!important;font-size:clamp(42px,3.6vw,50px)!important;font-weight:700!important;line-height:.95!important}.terminal-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;margin-top:14px;display:grid;border-top:none!important}.terminal-repo-card{isolation:isolate;background:linear-gradient(155deg,#363731 0%,#292a25 48%,#1d1e1a 100%);border-radius:16px;flex-direction:column;transition:box-shadow .4s cubic-bezier(.16,1,.3,1),transform .4s cubic-bezier(.16,1,.3,1),background .4s;display:flex;position:relative;overflow:hidden;border:none!important;box-shadow:0 18px 42px #0000006b,0 5px 14px #0003!important}.terminal-repo-card:before{content:"";z-index:0;opacity:0;pointer-events:none;background:radial-gradient(circle,#ffffff24 0%,#d8ff4f0b 36%,#0000 70%);border-radius:50%;width:250px;height:210px;transition:opacity .4s,transform .7s cubic-bezier(.16,1,.3,1);position:absolute;top:-90px;left:-70px;transform:scale(.72)}.terminal-repo-card:hover,.terminal-repo-card:focus-within{background:linear-gradient(155deg,#3b3c36 0%,#2d2e29 48%,#20211c 100%);transform:translateY(-6px)scale(1.01);box-shadow:0 30px 68px #00000085,0 10px 24px #00000047!important}.terminal-repo-card:hover:before,.terminal-repo-card:focus-within:before{opacity:1;transform:scale(1)}.terminal-header,.terminal-body{transition:opacity .3s cubic-bezier(.16,1,.3,1),transform .4s cubic-bezier(.16,1,.3,1)}.terminal-repo-card:hover .terminal-header,.terminal-repo-card:hover .terminal-body,.terminal-repo-card:focus-within .terminal-header,.terminal-repo-card:focus-within .terminal-body{opacity:.42;transform:scale(.99)translateY(-2px)}.terminal-header{background:0 0;border-bottom:1px solid #ffffff14;align-items:center;height:38px;padding:0 16px;display:flex}.terminal-dots{align-items:center;gap:6px;display:flex}.terminal-dots i{border-radius:50%;width:8px;height:8px;display:block}.terminal-dots i:first-child{background:#ff5f57}.terminal-dots i:nth-child(2){background:#febc2e}.terminal-dots i:nth-child(3){background:#28c840}.terminal-body{flex-direction:column;flex-grow:1;padding:22px 24px 20px;display:flex}.terminal-title{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.terminal-title h3{margin:0;font-size:21px;line-height:1.25;color:#f3f4ee!important;font-family:Satoshi,Inter,sans-serif!important;font-weight:700!important}.terminal-desc{flex-grow:1;margin:0 0 16px;font-size:13px;line-height:1.6;color:#a1a49a!important}.terminal-footer{border-bottom:1px dashed #ffffff1a;justify-content:space-between;align-items:center;gap:12px;padding-bottom:16px;display:flex}.terminal-tags{flex-wrap:wrap;gap:6px;display:flex}.terminal-tag{font:9.5px var(--font-mono);text-transform:uppercase;border-radius:6px;padding:3px 8px;color:#a1a49a!important;background:#ffffff0d!important;border:1px solid #ffffff1a!important}.terminal-tech-badge{font:9.5px var(--font-mono);white-space:nowrap;letter-spacing:.04em;border-radius:999px;padding:4px 10px;font-weight:600;color:#f3f4ee!important;background:#ffffff14!important;border:1px solid #ffffff24!important}.terminal-card-overlay{z-index:10;opacity:0;pointer-events:none;background:radial-gradient(circle at 50% 46%,#2d2f2847,#0d0e0cc2 74%);justify-content:center;align-items:center;gap:10px;padding:24px;transition:opacity .3s cubic-bezier(.16,1,.3,1);display:flex;position:absolute;inset:0}.terminal-repo-card:hover .terminal-card-overlay,.terminal-repo-card:focus-within .terminal-card-overlay{opacity:1;pointer-events:auto}.terminal-overlay-btn{min-height:44px;font:600 11px/1 var(--font-mono);letter-spacing:.02em;cursor:pointer;opacity:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 18px;text-decoration:none;transition:opacity .25s,transform .4s cubic-bezier(.16,1,.3,1),background .25s,box-shadow .25s;display:inline-flex;transform:translateY(12px)scale(.96);color:#f3f4ee!important;background:linear-gradient(#3b3c36 0%,#2d2e29 48%,#20211d 100%)!important;border:none!important;box-shadow:0 12px 28px #0000006b,inset 0 1px #ffffff1a,inset 0 -1px #00000052!important}.terminal-repo-card:hover .terminal-overlay-btn,.terminal-repo-card:focus-within .terminal-overlay-btn{opacity:1;transform:translateY(0)scale(1)}.terminal-repo-card:hover .terminal-overlay-btn:nth-child(2),.terminal-repo-card:focus-within .terminal-overlay-btn:nth-child(2){transition-delay:45ms}.terminal-overlay-btn:hover{color:#fff!important;background:linear-gradient(#484a42 0%,#35362f 48%,#272821 100%)!important;transform:translateY(-3px)scale(1.015)!important;box-shadow:0 17px 36px #00000080,inset 0 1px #ffffff24,inset 0 -1px #00000057!important}.terminal-overlay-btn:focus-visible{outline:none;box-shadow:0 0 0 3px #d8ff4f52,0 17px 36px #00000080!important}.terminal-overlay-icon{flex:none;place-items:center;width:17px;height:17px;display:grid}.terminal-overlay-icon>div{place-items:center;display:grid}.terminal-overlay-icon svg,.terminal-github-icon{width:16px;height:16px;transition:transform .25s cubic-bezier(.16,1,.3,1)}.terminal-github-icon{filter:invert()}.terminal-overlay-btn:hover .terminal-overlay-icon svg,.terminal-overlay-btn:hover .terminal-github-icon{transform:scale(1.1)rotate(-3deg)}.private-repo-dialog-overlay{-webkit-backdrop-filter:blur(10px)saturate(.75)!important;background:#070806ad!important}.private-repo-dialog{color:#f3f4ee!important;background:#171815!important;border:none!important;border-radius:22px!important;gap:0!important;width:min(520px,100vw - 32px)!important;max-width:520px!important;padding:30px!important;box-shadow:0 36px 100px #0000009e,0 12px 34px #0006!important}.private-repo-dialog>[data-slot=dialog-close]{color:#f3f4ee94!important;box-shadow:none!important;background:0 0!important;border:none!important;border-radius:0!important;top:16px!important;right:16px!important}.private-repo-dialog>[data-slot=dialog-close]:hover{color:#fff!important;background:0 0!important}.private-repo-dialog-icon{color:#fff;width:38px;height:38px;box-shadow:none;background:0 0;border-radius:0;place-items:center;margin:0 auto 22px;display:grid;transform:none}.private-repo-dialog-icon svg{width:31px;height:31px}.private-repo-dialog-header{text-align:center;align-items:center;gap:0!important}.private-repo-dialog-eyebrow{color:#ffffffd1;width:fit-content;font:600 9px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;justify-content:center;align-items:center;gap:7px;margin:0 auto 10px;display:inline-flex}.private-repo-dialog-eyebrow svg{width:13px;height:13px}.private-repo-dialog-title{max-width:none;font-family:var(--font-satoshi);letter-spacing:-.02em;text-align:center;white-space:nowrap;margin-inline:auto;color:#f3f4ee!important;font-size:24px!important;font-weight:700!important;line-height:1.2!important}.private-repo-dialog-description{text-align:center;max-width:420px;margin:13px auto 0;color:#a8aaa1!important;font-size:13px!important;line-height:1.65!important}.private-repo-dialog-note{color:#c8cac1;font:11px/1.55 var(--font-mono);background:#24251f;border:none;border-radius:10px;grid-template-columns:16px 1fr;align-items:start;gap:10px;margin-top:24px;padding:13px 15px;display:grid;position:relative;box-shadow:0 12px 28px #0000005c}.private-repo-dialog-note:before{content:"";background:#24251f;border-radius:2px 0 0;width:10px;height:10px;position:absolute;top:-5px;left:50%;transform:translate(-50%)rotate(45deg)}.private-repo-dialog-note-icon{z-index:1;color:#f3f4ee;background:0 0;border-radius:0;place-items:center;width:16px;height:18px;display:grid;position:relative}.private-repo-dialog-note-icon svg{width:14px;height:14px}.private-repo-dialog-actions{margin-top:24px;display:block}.private-repo-dialog-button{min-height:44px;font:600 11px/1 var(--font-mono);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 17px;transition:transform .25s cubic-bezier(.16,1,.3,1),background .25s,box-shadow .25s;display:inline-flex;border:none!important}.private-repo-dialog-button svg{width:15px;height:15px}.private-repo-dialog-button.primary{color:#f3f4ee;background:linear-gradient(#484a42 0%,#35362f 48%,#272821 100%);width:100%;box-shadow:0 13px 30px #0000005c,inset 0 1px #ffffff1f,inset 0 -1px #0000004d}.private-repo-dialog-button:hover{transform:translateY(-2px)}.private-repo-dialog-button.primary:hover{background:linear-gradient(#54564d 0%,#3c3e36 48%,#2b2c25 100%);box-shadow:0 17px 36px #00000070,inset 0 1px #ffffff24}.private-repo-dialog-button:focus-visible{outline:none;box-shadow:0 0 0 3px #d8ff4f47,0 13px 30px #0000005c}@media (hover:none){.terminal-repo-card:focus-within{transform:none}.terminal-repo-card:focus-within .terminal-header,.terminal-repo-card:focus-within .terminal-body{opacity:1;transform:none}.terminal-card-overlay{opacity:1;pointer-events:auto;background:0 0;justify-content:flex-start;padding:0 24px 22px;position:relative;inset:auto}.terminal-overlay-btn{opacity:1;min-height:40px;transform:none}}@media (max-width:460px){.private-repo-dialog{border-radius:18px!important;padding:24px!important}.private-repo-dialog-icon{border-radius:0;width:36px;height:36px;margin:0 auto 20px}.private-repo-dialog-title{white-space:normal;padding:0 18px;font-size:22px!important}}.explore-more-wrap{justify-content:center;align-items:center;margin-top:36px;display:flex}.explore-more-link{color:var(--muted);font:11px/1 var(--font-mono);text-transform:uppercase;letter-spacing:.06em;background:var(--surface);border-radius:999px;align-items:center;gap:8px;padding:10px 20px;display:inline-flex;border:none!important}@supports (color:color-mix(in lab, red, red)){.explore-more-link{background:color-mix(in srgb, var(--surface) 90%, var(--bg))}}.explore-more-link{transition:color .25s,background .25s,box-shadow .25s,transform .25s;box-shadow:0 6px 20px #00000040!important}.explore-more-link:hover{color:var(--ink);background:var(--surface);transform:translateY(-2px);box-shadow:0 10px 26px #00000059!important}.collection-page{border-bottom:1px solid var(--line);padding:62px 54px 82px}.collection-head{max-width:690px;margin-bottom:48px}.collection-head h1{font-family:var(--font-satoshi);letter-spacing:-.03em;margin:12px 0 14px;font-size:clamp(42px,3.6vw,50px);font-weight:700;line-height:.95}.collection-head p{max-width:610px;color:var(--muted);margin:0;font-size:13px;line-height:1.6}.blog-collection-page,.projects-collection-page{padding-top:38px}.blog-collection-page .collection-head,.projects-collection-page .collection-head{margin-bottom:22px}.collection-breadcrumb ol{color:var(--muted);font:10px/1 var(--font-mono);text-transform:none;gap:7px}.collection-breadcrumb a{color:var(--muted);align-items:center;gap:6px;transition:color .2s;display:inline-flex}.collection-breadcrumb a:hover{color:var(--ink)}.collection-breadcrumb a svg{width:13px;height:13px}.collection-breadcrumb [data-slot=breadcrumb-separator]{color:var(--line)}.collection-page .terminal-grid{margin-top:0}.blog-index-toolbar{margin:0 0 22px}.blog-index-controls{align-items:center;gap:10px;width:100%;display:flex}.blog-search,.blog-sort-trigger{height:42px;color:var(--muted);background:var(--surface);align-items:center;gap:9px;padding:0 13px;display:flex}@supports (color:color-mix(in lab, red, red)){.blog-search,.blog-sort-trigger{background:color-mix(in srgb, var(--surface) 88%, var(--bg))}}.blog-search,.blog-sort-trigger{border:0;border-radius:11px;transition:color .2s,background .2s,box-shadow .25s,transform .2s;box-shadow:0 10px 28px #00000059}.blog-search{flex:auto;min-width:0}.blog-search:hover,.blog-sort-trigger:hover,.blog-sort-trigger[data-popup-open]{color:var(--ink);background:var(--surface);transform:translateY(-1px);box-shadow:0 18px 40px #0000007a}.blog-search:focus-within,.blog-sort-trigger:focus-visible{color:var(--ink);background:var(--surface);box-shadow:0 18px 40px #0000007a, 0 0 0 1px var(--line);outline:0}@supports (color:color-mix(in lab, red, red)){.blog-search:focus-within,.blog-sort-trigger:focus-visible{box-shadow:0 18px 40px #0000007a, 0 0 0 1px color-mix(in srgb, var(--line) 82%, transparent)}}.blog-search>svg{flex:none;width:15px;height:15px}.blog-search input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:0;padding:0;font-size:12px}.blog-search input::placeholder{color:var(--muted);opacity:.78}.blog-search input::-webkit-search-cancel-button{display:none}.blog-search button{width:25px;height:25px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;padding:0;display:grid}.blog-search button:hover{color:var(--ink);background:var(--ink)}@supports (color:color-mix(in lab, red, red)){.blog-search button:hover{background:color-mix(in srgb, var(--ink) 7%, transparent)}}.blog-search button svg{width:13px;height:13px}.blog-sort-trigger{white-space:nowrap;cursor:pointer;flex:none;justify-content:flex-start;width:fit-content;font-size:11px}.blog-sort-trigger>svg{flex:none;width:15px;height:15px}.blog-sort-menu{width:176px!important}.project-filter-menu{width:210px!important}.blog-index-grid{grid-template-columns:1fr;gap:22px;display:grid}.blog-index-card{background:var(--surface);overflow:hidden}@supports (color:color-mix(in lab, red, red)){.blog-index-card{background:color-mix(in srgb, var(--surface) 84%, var(--bg))}}.blog-index-card{border:0;border-radius:18px;transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s;box-shadow:0 18px 42px #0000006b,0 5px 14px #0003}.blog-index-card:hover,.blog-index-card:focus-within{transform:translateY(-5px);box-shadow:0 30px 68px #00000085,0 10px 24px #00000047}.blog-index-card>a{grid-template-columns:minmax(300px,42%) 1fr;min-height:270px;display:grid}.blog-index-card>a:focus-visible{outline:3px solid var(--lime)}@supports (color:color-mix(in lab, red, red)){.blog-index-card>a:focus-visible{outline:3px solid color-mix(in srgb, var(--lime) 45%, transparent)}}.blog-index-card>a:focus-visible{outline-offset:-3px}.blog-index-cover{background:#141512;min-height:100%;position:relative;overflow:hidden}.blog-index-cover img{object-fit:cover;filter:grayscale()brightness(.88);transition:transform .55s cubic-bezier(.16,1,.3,1),filter .55s}.blog-index-card:hover .blog-index-cover img,.blog-index-card:focus-within .blog-index-cover img{filter:grayscale(0%)brightness(.96);transform:scale(1.045)}.blog-index-copy{flex-direction:column;justify-content:center;min-width:0;padding:30px 32px;display:flex}.blog-index-meta{color:var(--muted);font:10px/1 var(--font-mono);text-transform:uppercase;align-items:center;gap:8px;display:flex}.blog-index-meta i{background:var(--muted);opacity:.65;border-radius:50%;flex:none;width:3px;height:3px}.blog-index-copy h2{font-family:var(--font-satoshi);letter-spacing:-.015em;margin:16px 0 11px;font-size:clamp(16px,1.5vw,21px);font-weight:700;line-height:1.25}.blog-index-copy>p{max-width:540px;color:var(--muted);margin:0 0 24px;font-size:13px;line-height:1.6}.blog-index-copy ul{flex-wrap:wrap;gap:6px;margin:auto 0 0;padding:0;list-style:none;display:flex}.blog-index-copy li{color:var(--muted);background:var(--ink);padding:4px 8px}@supports (color:color-mix(in lab, red, red)){.blog-index-copy li{background:color-mix(in srgb, var(--ink) 5%, transparent)}}.blog-index-copy li{font:9.5px/1 var(--font-mono);text-transform:uppercase;border-radius:6px}.blog-index-empty{text-align:center;min-height:300px;color:var(--muted);background:var(--surface);flex-direction:column;justify-content:center;align-items:center;padding:42px 24px;display:flex}@supports (color:color-mix(in lab, red, red)){.blog-index-empty{background:color-mix(in srgb, var(--surface) 68%, var(--bg))}}.blog-index-empty{border-radius:18px}.blog-index-empty>svg{width:22px;height:22px;margin-bottom:14px}.blog-index-empty h2{color:var(--ink);font-family:var(--font-satoshi);margin:0 0 7px;font-size:21px;font-weight:700}.blog-index-empty p{margin:0;font-size:13px}.blog-index-empty button{color:var(--ink);background:var(--surface);font:10px/1 var(--font-mono);text-transform:uppercase;cursor:pointer;border:0;border-radius:999px;margin-top:20px;padding:10px 16px;box-shadow:0 6px 18px #0000002e}.blog-pagination{justify-content:center;align-items:center;gap:8px;width:fit-content;margin:36px auto 0;display:flex}.blog-pagination button{width:34px;height:34px;color:var(--muted);box-shadow:none;font:10px/1 var(--font-mono);cursor:pointer;background:0 0;border:0;border-radius:0;place-items:center;padding:0;transition:color .2s,opacity .2s,transform .2s;display:grid}.blog-pagination button:hover:not(:disabled){color:var(--ink);box-shadow:none;background:0 0;transform:translateY(-1px)}.blog-pagination button.is-active{color:var(--ink);box-shadow:none;background:0 0;font-weight:700}.blog-pagination button:disabled{opacity:.25;box-shadow:none;cursor:not-allowed}.blog-pagination button:focus-visible{outline:1px solid var(--line);outline-offset:-5px;box-shadow:none}.blog-pagination svg{width:15px;height:15px}@media (max-width:800px){.collection-page{padding:42px 20px 56px}.blog-collection-page,.projects-collection-page{padding-top:26px}.collection-head{margin-bottom:34px}.blog-collection-page .collection-head,.projects-collection-page .collection-head{margin-bottom:22px}.blog-search{width:100%;max-width:none}.blog-sort-trigger{flex:none}.blog-index-grid{grid-template-columns:1fr;gap:18px}.blog-index-card>a{grid-template-columns:1fr;min-height:0}.blog-index-cover{aspect-ratio:16/9;min-height:auto}.blog-index-copy{padding:24px}}@media (max-width:460px){.collection-page{padding:34px 16px 48px}.blog-collection-page,.projects-collection-page{padding-top:22px}.collection-head h1{font-size:38px}.blog-index-controls{flex-direction:row;align-items:center}.blog-sort-trigger{flex-basis:auto;width:auto}.blog-index-card{border-radius:15px}.blog-index-copy{padding:20px}.blog-index-copy h2{font-size:17px}}.blogs-section-head{justify-content:space-between;align-items:flex-end;gap:35px;width:100%;margin-bottom:42px;display:flex}.blogs-head-desc{text-align:left;max-width:370px;color:var(--muted);margin:0;font-size:13px;line-height:1.6}.blogs-head-title{text-align:right}@media (max-width:800px){.blogs-section-head{flex-direction:column-reverse;align-items:flex-start;gap:16px}.blogs-head-title{text-align:left}}.bento-container-card{background:linear-gradient(#2e2f29 0%,#23241f 50%,#1a1b17 100%);border-radius:24px;margin-top:20px;padding:20px;position:relative;border:none!important;box-shadow:0 20px 48px #00000073!important}.light .bento-container-card{background:linear-gradient(#2e2f29 0%,#23241f 50%,#1a1b17 100%);border:none!important;box-shadow:0 20px 48px #00000073!important}.bento-grid{grid-template-columns:repeat(3,1fr);gap:16px;margin-top:0;display:grid}.bento-card{cursor:pointer;background:#141512;border-radius:16px;flex-direction:column;justify-content:flex-end;padding:22px;text-decoration:none;transition:box-shadow .3s,transform .3s;display:flex;position:relative;overflow:hidden;border:none!important;box-shadow:0 10px 28px #00000059!important}.bento-card:hover{transform:translateY(-3px);box-shadow:0 18px 40px #0000008c!important}.bento-bg-img{object-fit:cover;filter:grayscale()brightness(.85);width:100%;height:100%;transition:transform .5s cubic-bezier(.16,1,.3,1),filter .5s;position:absolute;inset:0}.bento-card:hover .bento-bg-img{filter:grayscale(0%)brightness(.95);transform:scale(1.06)}.bento-overlay{pointer-events:none;background:linear-gradient(#0000000d 0%,#0c0d0a8c 50%,#0c0d0aeb 100%);transition:opacity .3s;position:absolute;inset:0}.bento-card:after{content:"";z-index:1;-webkit-backdrop-filter:blur(11px);pointer-events:none;height:55%;position:absolute;bottom:0;left:0;right:0;-webkit-mask-image:linear-gradient(#0000,#000 55%);mask-image:linear-gradient(#0000,#000 55%)}.bento-content{z-index:2;flex-direction:column;gap:10px;display:flex;position:relative}.bento-content h3{text-shadow:0 2px 8px #00000080;margin:0;font-size:clamp(16px,1.5vw,21px);line-height:1.25;color:#fff!important;font-family:Satoshi,Inter,sans-serif!important;font-weight:700!important}.bento-meta-bar{align-items:center;gap:8px;margin-top:2px;display:flex}.bento-date{font:10px/1 var(--font-mono);color:#ffffffbf}.bento-meta-bar i{background:#ffffff6b;border-radius:50%;flex:none;width:3px;height:3px}.bento-card-main{grid-column:span 2;min-height:280px}.bento-card-top-right{grid-column:span 1;min-height:280px}.bento-card-sub1,.bento-card-sub2,.bento-card-tall{grid-column:span 1;min-height:240px}@media (prefers-reduced-transparency:reduce){.bento-card:after{-webkit-backdrop-filter:none;background:linear-gradient(#0000,#0c0d0af5)}}.github-head-centered{text-align:center!important;justify-content:center!important;width:100%!important;margin-bottom:24px!important;display:flex!important}.github-head-wrap{text-align:center;flex-direction:column;align-items:center;display:flex}.github-icon-badge{background:linear-gradient(#2e2f29 0%,#23241f 50%,#1a1b17 100%);border-radius:18px;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:16px;transition:transform .25s,box-shadow .25s;display:flex;border:none!important;box-shadow:0 10px 26px #0006!important}.github-icon-badge:hover{transform:translateY(-3px)scale(1.06);box-shadow:0 14px 32px #00000080!important}.github-header-svg{width:40px;height:40px;filter:invert()!important}.light .github-icon-badge{background:linear-gradient(#2e2f29 0%,#23241f 50%,#1a1b17 100%);border:none!important;box-shadow:0 10px 26px #0006!important}.light .github-header-svg{filter:invert()!important}.github-heading{color:var(--ink);text-align:center!important;margin:0 0 6px!important;font-family:Satoshi,Inter,sans-serif!important;font-size:clamp(32px,3.2vw,44px)!important;font-weight:700!important;line-height:1.05!important}.github-subtext{color:var(--muted);justify-content:center;align-items:center;gap:4px;margin:0;font-size:13px;display:inline-flex;text-align:center!important}.rolling-number-wrap{font-family:var(--font-mono);color:var(--ink);align-items:center;font-size:14px;font-weight:700;display:inline-flex}.rolling-digit-window{vertical-align:bottom;width:.65em;height:1.2em;line-height:1.2em;display:inline-block;position:relative;overflow:hidden}.rolling-digit-strip{flex-direction:column;width:100%;display:flex;position:absolute;top:0;left:0}.rolling-digit-num{text-align:center;height:1.2em;line-height:1.2em;display:block}.rolling-char{text-align:center;width:.35em;display:inline-block}.github-card{background:linear-gradient(#2e2f29 0%,#23241f 50%,#1a1b17 100%);border-radius:24px;flex-direction:column;align-items:center;width:fit-content;max-width:100%;margin:24px auto 0;padding:24px 28px 20px;display:flex;position:relative;border:none!important;box-shadow:0 20px 48px #00000073!important}.light .github-card{background:linear-gradient(#2e2f29 0%,#23241f 50%,#1a1b17 100%);border:none!important;box-shadow:0 20px 48px #00000073!important}.github-graph-scroll{scrollbar-width:thin;justify-content:center;width:100%;padding-bottom:4px;display:flex;overflow-x:auto}.github-graph-grid{gap:3.5px;min-width:max-content;margin:0 auto;display:flex}.github-graph-col{flex-direction:column;gap:3.5px;display:flex}.github-square{cursor:pointer;border-radius:3px;width:11px;height:11px;transition:transform .15s,filter .15s}.github-square:hover{z-index:5;transform:scale(1.35)}.level-0{background:#ffffff0f}.level-1{background:#0e4429}.level-2{background:#006d32}.level-3{background:#26a641}.level-4{background:#39d353}@keyframes githubDotNightLight{0%,to{opacity:.92;filter:brightness();box-shadow:none}35%{opacity:.65;filter:brightness(.9);box-shadow:none}68%{opacity:1;filter:brightness(1.25);box-shadow:0 0 6px #39d35359}}.github-square.live-flicker{animation-name:githubDotNightLight;animation-timing-function:ease-in-out;animation-iteration-count:infinite}.github-legend{color:#ffffff8c;width:100%;font:10px/1 var(--font-mono);justify-content:center;align-items:center;gap:8px;margin-top:18px;display:flex}.github-legend-squares{align-items:center;gap:3px;display:flex}.github-legend-squares i{border-radius:2px;width:9.5px;height:9.5px;display:block}.github-custom-tooltip{color:#d8d8d0;font:11px/1.3 var(--font-mono);pointer-events:none;white-space:nowrap;z-index:50;background:#181915;border:1px solid #3f413a;border-radius:8px;padding:6px 11px;animation:.12s ease-out tooltipFadeIn;position:absolute;transform:translate(-50%,-100%);box-shadow:0 10px 24px #00000080}@keyframes tooltipFadeIn{0%{opacity:0;transform:translate(-50%,-92%)}to{opacity:1;transform:translate(-50%,-100%)}}.github-custom-tooltip strong{color:#39d353;font-weight:600}.github-custom-tooltip .tooltip-arrow{background:#181915;border-bottom:1px solid #3f413a;border-right:1px solid #3f413a;width:7px;height:7px;position:absolute;bottom:-4px;left:50%;transform:translate(-50%)rotate(45deg)}.github-quote{margin:36px auto 0!important}.dock-wrapper{justify-content:center;align-items:center;width:100%;margin-top:24px;padding-top:36px;padding-bottom:8px;display:flex;position:relative;overflow:visible!important}.tools-description{text-align:center;color:var(--muted);font-size:12px;font-family:var(--font-mono);opacity:.85;max-width:500px;margin-top:14px;margin-left:auto;margin-right:auto;line-height:1.5}.dock-stack{flex-wrap:wrap;justify-content:center;align-items:center;width:100%;max-width:900px;padding:0 10px;display:flex;overflow:visible!important}.dock-item-wrap{flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;margin-left:-14px;display:flex;position:relative;overflow:visible!important}.dock-item-wrap:first-child{margin-left:0}.dock-item-card{-webkit-backdrop-filter:blur(14px);cursor:pointer;transform-origin:bottom;-webkit-user-select:none;user-select:none;background:linear-gradient(135deg,#30312bf2 0%,#1a1b16fa 100%);border-radius:14px;justify-content:center;align-items:center;width:50px;height:50px;transition:box-shadow .25s;display:flex;position:relative;border:none!important;box-shadow:-5px 7px 20px #00000073!important}.dock-item-card:hover{box-shadow:-7px 11px 26px #0000008c!important}.light .dock-item-card{background:linear-gradient(135deg,#fffffffa 0%,#f0f2ebfa 100%);border:none!important;box-shadow:-4px 6px 16px #0000001f!important}.light .dock-item-card:hover{box-shadow:-6px 9px 22px #0000002e!important}.dock-item-icon{object-fit:contain;width:28px;height:28px}.dark .invert-in-dark{filter:invert()brightness(1.2)!important}.light .invert-in-dark{filter:none!important}.light .invert-in-light{filter:invert()brightness(.8)!important}.dock-tooltip{color:#e4e5df;font:500 10px/1.2 var(--font-mono);letter-spacing:.01em;pointer-events:none;white-space:nowrap;z-index:1000;text-align:center;background:#181915;border:1px solid #3c3e35;border-radius:6px;flex-direction:column;align-items:center;width:max-content;padding:4px 9px;display:flex;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%);box-shadow:0 6px 16px #00000080}.dock-tooltip-arrow{background:#181915;border-bottom:1px solid #3c3e35;border-right:1px solid #3c3e35;width:5px;height:5px;position:absolute;bottom:-3px;left:50%;transform:translate(-50%)rotate(45deg)}.nav,.hero,.ticker,.section,footer{background:0 0}.nav.is-scrolled{background:var(--shell)}.hero{width:100%;padding-inline:72px}.ticker{border:0!important}.contact,.dark .contact{color:var(--ink);background:0 0}.contact>div{justify-content:space-between;align-items:end;gap:30px;margin-top:18px;display:flex}.contact h2{font-size:clamp(44px,6vw,72px)}.contact a{border-bottom:1px solid;align-items:center;gap:10px;padding-bottom:8px;font-size:15px;display:inline-flex}footer{min-height:84px;color:var(--muted);grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;padding:16px 28px;font-size:10px;display:grid}.footer-copyright{justify-self:start}.footer-top{flex-direction:column;justify-self:center;align-items:center;gap:5px;transition:color .2s;display:inline-flex}.footer-top svg{width:15px;height:15px;transition:transform .25s cubic-bezier(.16,1,.3,1)}.footer-top:hover{color:var(--ink)}.footer-top:hover svg{transform:translateY(-3px)}.footer-social{justify-self:end;align-items:center;gap:2px;margin:0;padding:0;list-style:none;display:flex}.footer-social a{width:34px;height:34px;-webkit-mask-image:var(--mark);-webkit-mask-image:var(--mark);-webkit-mask-image:var(--mark);-webkit-mask-image:var(--mark);mask-image:var(--mark);background:currentColor;transition:color .2s,transform .2s;display:block;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:20px 20px;mask-size:20px 20px;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.footer-social a:hover{color:var(--ink);transform:translateY(-2px)}.footer-social a:focus-visible{box-shadow:0 0 0 3px var(--lime);border-radius:8px;outline:none}@supports (color:color-mix(in lab, red, red)){.footer-social a:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--lime) 32%, transparent)}}@media (max-width:800px){footer{text-align:center;grid-template-columns:1fr;justify-items:center;gap:18px;padding:22px 20px}.footer-copyright,.footer-social{justify-self:center}}@media (prefers-reduced-motion:reduce){.footer-top svg,.footer-social a{transition:color .2s}.footer-top:hover svg,.footer-social a:hover{transform:none}}@media (max-width:1100px) and (min-width:801px){.hero{grid-template-columns:minmax(0,1fr) 300px;gap:30px;width:min(100%,900px);padding-inline:34px}.hero-name{font-size:40px}.hero-role{font-size:25px}.portrait-wrap{width:240px}}@media (max-width:800px){.portfolio{border-radius:18px;width:min(100% - 24px,680px);margin:12px auto}.nav{grid-template-columns:1fr auto 1fr;height:60px;padding-inline:20px;border-bottom:none!important}.nav nav{display:none}.brand{grid-column:2;justify-self:center}.nav-actions{grid-column:3;justify-self:end}.mobile-menu-trigger{display:grid}.dock-stack{gap:0;max-width:252px;padding-inline:0}.dock-item-wrap,.dock-item-wrap:first-child{width:36px;margin-left:0}.hero{text-align:center;flex-direction:column;align-items:center;gap:0;width:100%;padding:36px 20px 28px;display:flex}.portrait-wrap{border-radius:20px;order:-1;place-self:center;min-height:128px;position:relative;overflow:hidden;aspect-ratio:1!important;width:128px!important;height:128px!important;margin:0 auto 22px!important;top:auto!important;left:auto!important;right:auto!important}.portrait-stage,.portrait{width:100%;height:100%;position:absolute;inset:0}.portrait img{object-fit:cover!important;width:100%!important;height:100%!important}.hero-copy{text-align:center;align-items:center;width:100%;min-height:0;padding-top:0}.hero-name{white-space:normal;text-align:center;max-width:100%;font-size:clamp(32px,7vw,42px);margin:0 0 5px!important}.hero-role{text-align:center;max-width:100%;margin:0 auto;font-size:clamp(18px,4.2vw,23px);line-height:1.35}.hero-actions{flex-direction:column;justify-content:center;align-items:center;gap:12px;width:auto;max-width:100%;margin-top:24px;display:flex}.hero-action-button{justify-content:center;min-height:48px;font-size:12px;width:auto!important;max-width:max-content!important;padding:0 24px!important}.secondary-action{display:inline-flex}.ticker{border-top:1px solid var(--line);margin-top:130px!important}.hero-quote{width:min(100% - 32px,480px);margin:32px auto 28px!important}.section{padding:56px 20px}.section-head{flex-direction:column;align-items:start}.project-row{grid-template-columns:26px 90px 1fr 24px;gap:16px;padding:22px 0}.project-thumb{width:90px;height:66px}.project-row ul{display:none}.project-title h3{font-size:17px}.bento-container-card{border-radius:20px;padding:14px}.bento-grid{grid-template-columns:1fr;gap:12px}.bento-card-main,.bento-card-top-right,.bento-card-sub1,.bento-card-sub2,.bento-card-tall{grid-column:span 1;min-height:220px;padding:18px}.bento-content h3{font-size:17px!important}.contact>div{flex-direction:column;align-items:start}footer{grid-template-columns:1fr auto;padding:22px 20px}footer div,footer a:first-of-type{display:none}}@media (max-width:460px){.portfolio{border:none;border-radius:18px;width:calc(100% - 20px);margin:10px auto;box-shadow:0 18px 48px #00000024,0 6px 18px #00000014}.nav{height:56px;padding-inline:18px;border-bottom:none!important}.hero{text-align:center;flex-direction:column;align-items:center;min-height:0;padding:28px 16px 24px;display:flex;position:relative}.portrait-wrap{border-radius:18px;position:relative;top:auto;right:auto;aspect-ratio:1!important;width:116px!important;height:116px!important;margin:0 auto 18px!important}.hero-name{max-width:100%;font-size:30px;margin:0 0 4px!important}.hero-role{font-size:18px;line-height:1.35}.hero-actions{gap:10px;width:auto;max-width:100%;margin-top:22px}.hero-action-button{min-height:44px;font-size:11px;width:auto!important;max-width:max-content!important;padding:0 20px!important}.secondary-action{display:inline-flex}.ticker{height:40px;margin-top:110px!important}.ticker span{gap:12px;padding-right:12px;font-size:8px}.ticker:before,.ticker:after{width:28px}.hero-quote{margin:28px auto 24px!important}}.brand{background:0 0;border-radius:0;justify-content:flex-start;gap:6px;width:34px;height:24px}.brand i{width:7px;height:7px}.brand i:first-child{background:#ff5f57}.brand i:nth-child(2){background:#febc2e}.brand i:nth-child(3){background:#28c840}.brand:hover i{background:revert-layer}.brand:hover i:first-child{background:#ff5f57;transform:translateY(-2px)}.brand:hover i:nth-child(2){background:#febc2e;transform:translateY(2px)}.brand:hover i:nth-child(3){background:#28c840;transform:translateY(-2px)}.hero-action-button{border:1px solid var(--line);border-radius:999px;justify-content:center;align-items:center;gap:10px;min-height:54px;padding:0 24px;font-size:13px;font-weight:520;transition:color .3s,background .3s,box-shadow .3s;display:inline-flex;position:relative;overflow:hidden;transform:none!important}.hero-action-button:after{content:"";pointer-events:none;filter:blur(4px);opacity:0;background:linear-gradient(90deg,#0000 0%,#ffffff2e 45%,#ffffff38 55%,#0000 100%);width:50%;height:200%;transition:opacity .3s;position:absolute;top:-50%;left:-140%;transform:skew(-25deg)}.hero-action-button:hover:after{opacity:1;animation:1.35s cubic-bezier(.25,1,.5,1) shine-sweep}@keyframes shine-sweep{0%{left:-140%}to{left:160%}}.hero-action-button:hover{transform:none!important}.hero-action-button svg{width:16px;height:16px}.primary-action{color:#f3f4ee;background:linear-gradient(#34352f 0%,#292a25 48%,#20211d 100%);border-color:#3e4039;box-shadow:inset 0 1px #ffffff17,inset 0 -1px #00000052,0 10px 24px #0000004d}.primary-action:hover{color:#fff;background:linear-gradient(#3a3b35 0%,#2d2e29 48%,#23241f 100%);box-shadow:inset 0 1px #ffffff1c,inset 0 -1px #00000057,0 13px 30px #0000005c}.secondary-action{color:var(--ink)}@supports (color:color-mix(in lab, red, red)){.secondary-action{color:color-mix(in srgb, var(--ink) 82%, var(--muted))}}.secondary-action{background:linear-gradient(180deg, var(--surface), var(--bg))}@supports (color:color-mix(in lab, red, red)){.secondary-action{background:linear-gradient(180deg, color-mix(in srgb, var(--surface) 5%, transparent), color-mix(in srgb, var(--bg) 28%, transparent))}}.secondary-action{box-shadow:inset 0 1px 0 var(--ink)}@supports (color:color-mix(in lab, red, red)){.secondary-action{box-shadow:inset 0 1px 0 color-mix(in srgb, var(--ink) 5%, transparent)}}.secondary-action:hover{color:var(--ink);background:linear-gradient(180deg, var(--surface), var(--bg))}@supports (color:color-mix(in lab, red, red)){.secondary-action:hover{background:linear-gradient(180deg, color-mix(in srgb, var(--surface) 10%, transparent), color-mix(in srgb, var(--bg) 38%, transparent))}}.ticker{border-top:1px solid var(--line);margin-top:32px;position:relative;-webkit-mask-image:none;mask-image:none}.ticker:before,.ticker:after{content:"";z-index:2;pointer-events:none;width:clamp(36px,7vw,90px);position:absolute;top:0;bottom:0}.ticker:before{background:linear-gradient(90deg, var(--shell) 28%, transparent);left:0}.ticker:after{background:linear-gradient(270deg, var(--shell) 28%, transparent);right:0}.ticker i{background:var(--ink)}@supports (color:color-mix(in lab, red, red)){.ticker i{background:color-mix(in srgb, var(--ink) 72%, transparent)}}@media (max-width:460px){.secondary-action{display:none}.hero-role{margin-top:10px}.hero{min-height:0;padding-bottom:30px}.hero-actions{margin-top:26px}.portrait-wrap{width:58px;margin-top:0;top:38px}.hero-quote{margin:0 auto 22px}.hero-quote p{font-size:13px}.hero-quote cite{font-size:8px}.hero-action-button{min-height:46px;padding-inline:18px;font-size:11px}.ticker:before,.ticker:after{width:28px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.terminal-repo-card,.terminal-header,.terminal-body,.terminal-card-overlay,.terminal-overlay-btn,.terminal-overlay-icon svg,.terminal-github-icon{transition:none!important}}.article{border-bottom:1px solid var(--line);width:min(100%,860px);margin:0 auto;padding:52px 44px 72px}.article-title{letter-spacing:-.02em;margin:0;font-family:Satoshi,Inter,sans-serif;font-size:clamp(30px,3.2vw,40px);font-weight:700;line-height:1.08}.article-meta{color:var(--muted);font:11.5px var(--font-mono);letter-spacing:.01em;flex-wrap:wrap;align-items:center;gap:10px 22px;margin-top:18px;display:flex}.article-meta-item{align-items:center;gap:7px;display:inline-flex}.article-meta svg{width:13px;height:13px}.article-share-trigger{color:var(--muted);cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;margin:-9px -10px;padding:9px 10px;transition:color .2s;display:inline-flex}.article-share-trigger:hover{color:var(--ink)}.article-share-trigger:focus-visible{box-shadow:0 0 0 3px var(--lime);border-radius:7px;outline:none}@supports (color:color-mix(in lab, red, red)){.article-share-trigger:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--lime) 32%, transparent)}}[data-sonner-toaster][data-sonner-theme]{--normal-bg:var(--surface)!important;--normal-text:var(--ink)!important;--normal-border:transparent!important;--border-radius:14px!important}.site-toast{font-family:var(--font-sans)!important;border:none!important;padding:15px 17px!important;box-shadow:0 18px 48px #0000004d,0 6px 16px #0000002e!important}.site-toast-title{color:var(--ink)!important;font-size:13px!important;font-weight:600!important;line-height:1.35!important}.site-toast-description{color:var(--muted)!important;margin-top:3px!important;font-size:12px!important;line-height:1.5!important}.article-cover{aspect-ratio:16/9;background:#141512;border-radius:18px;margin:32px 0 40px;position:relative;overflow:hidden;box-shadow:0 18px 42px #00000057}.article-cover-img{object-fit:cover}.article-body{color:var(--ink)}@supports (color:color-mix(in lab, red, red)){.article-body{color:color-mix(in srgb, var(--ink) 86%, var(--muted))}}.article-body{font-size:15px;line-height:1.72}.article-body p,.article-body li{text-align:justify;text-justify:inter-word;-webkit-hyphens:auto;hyphens:auto;text-wrap:pretty}.article-body p{margin:0 0 24px}.article-body h2{color:var(--ink);letter-spacing:-.015em;margin:52px 0 14px;font-family:Satoshi,Inter,sans-serif;font-size:clamp(23px,2.6vw,27px);font-weight:700;line-height:1.22}.article-body h3{color:var(--ink);margin:34px 0 10px;font-family:Satoshi,Inter,sans-serif;font-size:17px;font-weight:700;line-height:1.35}.article-body strong{color:var(--ink);font-weight:650}.article-body a{color:var(--ink);border-bottom:1px solid var(--muted)}@supports (color:color-mix(in lab, red, red)){.article-body a{border-bottom:1px solid color-mix(in srgb, var(--muted) 55%, transparent)}}.article-body a{overflow-wrap:anywhere;transition:color .2s,border-color .2s}.article-body a:hover{border-bottom-color:var(--ink)}.article-body :is(h2,h3,h4) a{color:inherit;border:0}.article-body ul{margin:0 0 24px;padding-left:19px;list-style:none}.article-body ul li{margin-bottom:6px;position:relative}.article-body ul li:before{content:"";background:var(--coral);width:5px;height:5px;position:absolute;top:.62em;left:-19px;transform:rotate(45deg)}.article-body ol:not(.article-pipeline){counter-reset:reference;margin:0 0 24px;padding:0;list-style:none}.article-body ol:not(.article-pipeline)>li{grid-template-columns:26px 1fr;align-items:baseline;gap:12px;margin:0 0 12px;padding:0;display:grid}.article-body ol:not(.article-pipeline)>li:before{content:counter(reference, decimal-leading-zero);counter-increment:reference;color:var(--muted);font-family:var(--font-mono);letter-spacing:.06em;font-size:11px}.article-body ol:not(.article-pipeline)>li>p{text-align:left;-webkit-hyphens:none;hyphens:none}.article-body li>p:last-child{margin-bottom:0}.article-body .article-pipeline{grid-auto-columns:1fr;grid-auto-flow:column;margin:30px 0 32px;padding:0;list-style:none;display:grid}.article-body .article-pipeline li{text-align:center;margin:0;padding:30px 3px 0;position:relative}.article-body .article-pipeline li:before{content:"";background:var(--line);height:1px;position:absolute;top:11px;left:0;right:0}.article-body .article-pipeline li:first-child:before{left:50%}.article-body .article-pipeline li:last-child:before{right:50%}.article-body .article-pipeline li:after{content:"";background:var(--ink);width:7px;height:7px;box-shadow:0 0 0 3px var(--shell);border-radius:50%;margin:-4px 0 0 -4px;position:absolute;top:11px;left:50%}.article-body .article-pipeline li:last-child:after{background:var(--coral)}.article-body .article-pipeline li span{color:var(--ink);display:block}@supports (color:color-mix(in lab, red, red)){.article-body .article-pipeline li span{color:color-mix(in srgb, var(--ink) 88%, var(--muted))}}.article-body .article-pipeline li span{font:10px/1.45 var(--font-mono);letter-spacing:.05em;text-align:center;text-transform:uppercase;-webkit-hyphens:none;hyphens:none}.article-body hr{background:var(--line);border:0;height:1px;margin:44px 0}.article-body blockquote{border-left:2px solid var(--lime);color:var(--ink);font:italic 15px/1.6 var(--font-display);margin:28px 0;padding-left:20px}.article-body blockquote p{text-align:left;-webkit-hyphens:none;hyphens:none}.article-body blockquote p:last-child{margin-bottom:0}.article-body :not(pre)>code{color:var(--ink);background:var(--ink);padding:2px 6px}@supports (color:color-mix(in lab, red, red)){.article-body :not(pre)>code{background:color-mix(in srgb, var(--ink) 8%, transparent)}}.article-body :not(pre)>code{font:.875em var(--font-mono);border-radius:5px}.article-body pre{color:#d8d8d0;font:12.5px/1.7 var(--font-mono);background:linear-gradient(155deg,#2e2f29 0%,#23241f 50%,#1a1b17 100%);border-radius:14px;margin:0 0 24px;padding:18px 20px;overflow-x:auto;box-shadow:0 16px 38px #0000005c}.article-body pre code{color:inherit;font:inherit;background:0 0;padding:0}.article-body table{border-collapse:collapse;width:100%;margin:0 0 24px;font-size:13px}.article-body th,.article-body td{text-align:left;border-bottom:1px solid var(--line);padding:11px 14px}.article-body th{color:var(--ink);font:10px var(--font-mono);text-transform:uppercase;letter-spacing:.06em}.article-body img{border-radius:14px}@media (min-width:801px){.article-body :is(h2,h3){position:relative}.article-body :is(h2,h3):before{content:"#";color:var(--muted);opacity:0;font-weight:400;transition:opacity .2s;position:absolute;top:0;right:calc(100% + 12px)}.article-body :is(h2,h3):hover:before{opacity:1}}@media (max-width:800px){.article{padding:32px 20px 52px}.article-cover{border-radius:14px;margin:26px 0 32px}.article-body h2{margin-top:42px}.article-body pre{padding:15px 16px}.article-body .article-pipeline{grid-auto-columns:auto;grid-auto-flow:row;margin:22px 0 28px}.article-body .article-pipeline li{text-align:left;padding:7px 0 7px 24px}.article-body .article-pipeline li:before{width:1px;height:auto;inset:0 auto 0 3px}.article-body .article-pipeline li:first-child:before{top:50%;left:3px}.article-body .article-pipeline li:last-child:before{bottom:50%;right:auto}.article-body .article-pipeline li:after{margin:-4px 0 0 -4px;top:50%;left:3px}.article-body .article-pipeline li span{text-align:left}}@media (prefers-reduced-motion:reduce){.article-share-trigger{transition:none!important}.blog-skeleton-block:after{animation:none}}.blog-skeleton-block{background:linear-gradient(115deg, var(--ink) 0%, var(--ink) 50%, var(--ink) 100%);border-radius:8px;animation:none;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.blog-skeleton-block{background:linear-gradient(115deg, color-mix(in srgb, var(--ink) 5%, transparent) 0%, color-mix(in srgb, var(--ink) 11%, transparent) 50%, color-mix(in srgb, var(--ink) 5%, transparent) 100%)}}.blog-skeleton-block:after{content:"";background:linear-gradient(90deg, transparent 0%, var(--ink) 50%, transparent 100%);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.blog-skeleton-block:after{background:linear-gradient(90deg, transparent 0%, color-mix(in srgb, var(--ink) 13%, transparent) 50%, transparent 100%)}}.blog-skeleton-block:after{animation:1.6s cubic-bezier(.4,0,.6,1) infinite skeleton-sweep;transform:translate(-100%)}@keyframes skeleton-sweep{to{transform:translate(100%)}}.blog-skeleton-title{gap:10px;display:grid}.blog-skeleton-title .blog-skeleton-block{border-radius:10px;height:clamp(30px,3.2vw,40px)}.blog-skeleton-meta{flex-wrap:wrap;gap:10px 22px;margin-top:18px;display:flex}.blog-skeleton-meta .blog-skeleton-block{border-radius:999px;height:13px}.blog-skeleton-cover{aspect-ratio:16/9;border-radius:18px;margin:32px 0 40px}.blog-skeleton-body{gap:24px;display:grid}.blog-skeleton-paragraph{gap:14px;display:grid}.blog-skeleton-line{height:12px}.blog-skeleton-heading{border-radius:10px;height:clamp(23px,2.6vw,27px);margin:28px 0 -10px}@media (max-width:800px){.blog-skeleton-cover{border-radius:14px;margin:26px 0 32px}}.light{--shadow-1:0 1px 2px #1718140a, 0 4px 10px #1718140d;--shadow-2:0 1px 3px #1718140d, 0 8px 20px #17181412;--shadow-3:0 2px 6px #1718140d, 0 16px 36px #17181417;--shadow-4:0 4px 10px #1718140f, 0 20px 44px #1718141c}.light .portfolio{box-shadow:var(--shadow-3)}.light .bento-container-card,.light .github-card{box-shadow:var(--shadow-3)!important}.light .terminal-repo-card{box-shadow:var(--shadow-2)!important}.light .terminal-repo-card:hover,.light .terminal-repo-card:focus-within{box-shadow:var(--shadow-3)!important}.light .bento-card{box-shadow:var(--shadow-2)!important}.light .bento-card:hover{box-shadow:var(--shadow-3)!important}.light .blog-index-card,.light .blog-search,.light .blog-sort-trigger{box-shadow:var(--shadow-2)!important}.light .blog-index-card:hover,.light .blog-index-card:focus-within,.light .blog-search:hover,.light .blog-search:focus-within,.light .blog-sort-trigger:hover,.light .blog-sort-trigger:focus-visible,.light .blog-sort-trigger[data-popup-open]{box-shadow:var(--shadow-3)!important}.light .blog-pagination button,.light .blog-pagination button:hover:not(:disabled),.light .blog-pagination button.is-active{box-shadow:none!important}.light .article-cover,.light .article-body pre{box-shadow:var(--shadow-2)}.light .primary-action{box-shadow:inset 0 1px #ffffff17,inset 0 -1px #00000052,0 2px 4px #17181412,0 8px 18px #1718141a!important}.light .primary-action:hover{box-shadow:inset 0 1px #ffffff1c,inset 0 -1px #00000057,0 4px 8px #17181414,0 12px 26px #17181421!important}.light .explore-more-link{box-shadow:var(--shadow-1)!important}.light .explore-more-link:hover{box-shadow:var(--shadow-2)!important}.light .github-icon-badge{box-shadow:var(--shadow-1)!important}.light .github-icon-badge:hover{box-shadow:var(--shadow-2)!important}.light .theme-menu,.light .mobile-nav-menu,.light .site-toast{box-shadow:var(--shadow-4)!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-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-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-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-outline-style{syntax:"*";inherits:false;initial-value:solid}@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-duration{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@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}@keyframes pulse{50%{opacity:.5}}
