@font-face{font-family:GeistPixelSquare;src:url(../media/GeistPixel_Square.p.0tw8-iz4k0690.woff2)format("woff2");font-display:swap;font-weight:500}.geistpixelsquare_cf225766-module__N8E9Ma__className{font-family:GeistPixelSquare,Geist Mono,ui-monospace,SFMono-Regular,Roboto Mono,Menlo,Monaco,Liberation Mono,DejaVu Sans Mono,Courier New,monospace;font-weight:500}.geistpixelsquare_cf225766-module__N8E9Ma__variable{--font-geist-pixel-square:"GeistPixelSquare", Geist Mono, ui-monospace, SFMono-Regular, Roboto Mono, Menlo, Monaco, Liberation Mono, DejaVu Sans Mono, Courier New, monospace}
@font-face{font-family:GeistPixelGrid;src:url(../media/GeistPixel_Grid.p.0zc0qh60q6fhp.woff2)format("woff2");font-display:swap;font-weight:500}.geistpixelgrid_6ebff038-module__XqoQkG__className{font-family:GeistPixelGrid,Geist Mono,ui-monospace,SFMono-Regular,Roboto Mono,Menlo,Monaco,Liberation Mono,DejaVu Sans Mono,Courier New,monospace;font-weight:500}.geistpixelgrid_6ebff038-module__XqoQkG__variable{--font-geist-pixel-grid:"GeistPixelGrid", Geist Mono, ui-monospace, SFMono-Regular, Roboto Mono, Menlo, Monaco, Liberation Mono, DejaVu Sans Mono, Courier New, monospace}
@font-face{font-family:GeistPixelCircle;src:url(../media/GeistPixel_Circle.p.05.s3p06xvhvp.woff2)format("woff2");font-display:swap;font-weight:500}.geistpixelcircle_7ee616e3-module__6ELrha__className{font-family:GeistPixelCircle,Geist Mono,ui-monospace,SFMono-Regular,Roboto Mono,Menlo,Monaco,Liberation Mono,DejaVu Sans Mono,Courier New,monospace;font-weight:500}.geistpixelcircle_7ee616e3-module__6ELrha__variable{--font-geist-pixel-circle:"GeistPixelCircle", Geist Mono, ui-monospace, SFMono-Regular, Roboto Mono, Menlo, Monaco, Liberation Mono, DejaVu Sans Mono, Courier New, monospace}
@font-face{font-family:GeistPixelTriangle;src:url(../media/GeistPixel_Triangle.p.088sohq24lw~s.woff2)format("woff2");font-display:swap;font-weight:500}.geistpixeltriangle_d08a9537-module__bwzMtW__className{font-family:GeistPixelTriangle,Geist Mono,ui-monospace,SFMono-Regular,Roboto Mono,Menlo,Monaco,Liberation Mono,DejaVu Sans Mono,Courier New,monospace;font-weight:500}.geistpixeltriangle_d08a9537-module__bwzMtW__variable{--font-geist-pixel-triangle:"GeistPixelTriangle", Geist Mono, ui-monospace, SFMono-Regular, Roboto Mono, Menlo, Monaco, Liberation Mono, DejaVu Sans Mono, Courier New, monospace}
@font-face{font-family:GeistPixelLine;src:url(../media/GeistPixel_Line.p.08i~a2gz-qqs4.woff2)format("woff2");font-display:swap;font-weight:500}.geistpixelline_d71857ef-module__dBRwnq__className{font-family:GeistPixelLine,Geist Mono,ui-monospace,SFMono-Regular,Roboto Mono,Menlo,Monaco,Liberation Mono,DejaVu Sans Mono,Courier New,monospace;font-weight:500}.geistpixelline_d71857ef-module__dBRwnq__variable{--font-geist-pixel-line:"GeistPixelLine", Geist Mono, ui-monospace, SFMono-Regular, Roboto Mono, Menlo, Monaco, Liberation Mono, DejaVu Sans Mono, Courier New, monospace}
@font-face{font-family:loskeleyMono;src:url(../media/IoskeleyMono_Regular-s.p.087eq-.4pk7jx.woff2)format("woff2");font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:loskeleyMono;src:url(../media/IoskeleyMono_Italic-s.p.0yx2mjt9j-929.woff2)format("woff2");font-display:swap;font-weight:400;font-style:italic}@font-face{font-family:loskeleyMono;src:url(../media/IoskeleyMono_Medium-s.p.0cgd6ogrg1s4g.woff2)format("woff2");font-display:swap;font-weight:500;font-style:normal}@font-face{font-family:loskeleyMono;src:url(../media/IoskeleyMono_SemiBold-s.p.10udygawjqejw.woff2)format("woff2");font-display:swap;font-weight:600;font-style:normal}@font-face{font-family:loskeleyMono;src:url(../media/IoskeleyMono_Bold-s.p.0~4e3flll7.9f.woff2)format("woff2");font-display:swap;font-weight:700;font-style:normal}@font-face{font-family:loskeleyMono Fallback;src:local(Arial);ascent-override:73.39%;descent-override:16.73%;line-gap-override:4.94%;size-adjust:131.49%}.loskeleymono_b08be6bb-module__tRbkWa__className{font-family:loskeleyMono,loskeleyMono Fallback}.loskeleymono_b08be6bb-module__tRbkWa__variable{--font-loskeleyMono:"loskeleyMono", "loskeleyMono Fallback"}
@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-y-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-ease:initial;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--font-mono:var(--font-loskeleyMono);--spacing:.25rem;--container-xs:20rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tighter:-.05em;--tracking-tight:-.025em;--tracking-wide:.025em;--shadow-2xs:var(--shadow-2xs);--shadow-xs:var(--shadow-xs);--shadow-sm:var(--shadow-sm);--shadow-md:var(--shadow-md);--shadow-lg:var(--shadow-lg);--shadow-xl:var(--shadow-xl);--shadow-2xl:var(--shadow-2xl);--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-geist-pixel-square);--default-mono-font-family:var(--font-loskeleyMono);--shadow:var(--shadow)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){*{outline-color:color-mix(in oklab, var(--ring) 50%, transparent)}}html{font-family:var(--font-geist-pixel-square)}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.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}}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.block{display:block}.contents{display:contents}.flex{display:flex}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.aspect-square{aspect-ratio:1}.size-2\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-full{height:100%}.min-h-full{min-height:100%}.w-10{width:calc(var(--spacing) * 10)}.w-fit{width:fit-content}.w-full{width:100%}.max-w-xs{max-width:var(--container-xs)}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.origin-\(--transform-origin\){transform-origin:var(--transform-origin)}.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,)}.resize{resize:both}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}.overflow-hidden{overflow:hidden}.rounded-\[2px\]{border-radius:2px}.rounded-\[4px\]{border-radius:4px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.border{border-style:var(--tw-border-style);border-width:1px}.bg-card{background-color:var(--card)}.bg-muted{background-color:var(--muted)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.px-3{padding-inline:calc(var(--spacing) * 3)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.pt-0{padding-top:calc(var(--spacing) * 0)}.text-center{text-align:center}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-none{--tw-leading:1;line-height:1}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-tighter{--tw-tracking:var(--tracking-tighter);letter-spacing:var(--tracking-tighter)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.whitespace-pre-wrap{white-space:pre-wrap}.text-card-foreground{color:var(--card-foreground)}.text-muted-foreground{color:var(--muted-foreground)}.italic{font-style:italic}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow{--tw-shadow:var(--shadow);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:var(--shadow-sm);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.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))}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.running{animation-play-state:running}.has-data-\[slot\=kbd\]\:pr-1\.5:has([data-slot=kbd]){padding-right:calc(var(--spacing) * 1.5)}.data-\[side\=bottom\]\:top-1[data-side=bottom]{top:calc(var(--spacing) * 1)}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.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-end\]\:slide-in-from-left-2[data-side=inline-end]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.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\=inline-start\]\:slide-in-from-right-2[data-side=inline-start]{--tw-enter-translate-x:calc(2*var(--spacing))}.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\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(2*var(--spacing))}.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\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.data-\[side\=top\]\:-bottom-2\.5[data-side=top]{bottom:calc(var(--spacing) * -2.5)}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}: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:calc(var(--radius) - 4px)}.data-\[state\=delayed-open\]\:animate-in[data-state=delayed-open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=delayed-open\]\:fade-in-0[data-state=delayed-open]{--tw-enter-opacity:0}.data-\[state\=delayed-open\]\:zoom-in-95[data-state=delayed-open]{--tw-enter-scale:.95}.data-open\:animate-in:where([data-state=open]),.data-open\:animate-in:where([data-open]:not([data-open=false])){animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-open\:fade-in-0:where([data-state=open]),.data-open\:fade-in-0:where([data-open]:not([data-open=false])){--tw-enter-opacity:0}.data-open\:zoom-in-95:where([data-state=open]),.data-open\:zoom-in-95:where([data-open]:not([data-open=false])){--tw-enter-scale:.95}.data-closed\:animate-out:where([data-state=closed]),.data-closed\:animate-out:where([data-closed]:not([data-closed=false])){animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-closed\:fade-out-0:where([data-state=closed]),.data-closed\:fade-out-0:where([data-closed]:not([data-closed=false])){--tw-exit-opacity:0}.data-closed\:zoom-out-95:where([data-state=closed]),.data-closed\:zoom-out-95:where([data-closed]:not([data-closed=false])){--tw-exit-scale:.95}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}:root{--surface-background:#0d1111;--github-color-0:#161b22;--github-color-1:#0e4429;--github-color-2:#006d32;--github-color-3:#26a641;--github-color-4:#39d353;--surface-container-low:#1a2222;--surface-container:#212a2a;--surface-container-high:#293232;--surface-container-highest:#3f4a4a;--primary:#fafafa;--primary-on-primary:#0d1111;--secondary-secondary:#8c8c96;--tertiary:#71717a;--secondary-container:#27272a;--outline-default:#52525b;--outline-variant:#27272a;--background:#fff;--foreground:#0a0a0a;--card:#fff;--card-foreground:#0a0a0a;--popover:#fff;--popover-foreground:#0a0a0a;--primary-foreground:#353025;--secondary:#f5f5f5;--secondary-foreground:#171717;--muted:#f5f5f5;--muted-foreground:#737373;--accent:#f5f5f5;--accent-foreground:#171717;--destructive:#e40014;--border:#e5e5e5;--input:#e5e5e5;--ring:#a1a1a1;--chart-1:#f05100;--chart-2:#009588;--chart-3:#104e64;--chart-4:#fcbb00;--chart-5:#f99c00;--radius:8px;--shadow-2xs:0 1px 3px 0px #0000000d;--shadow-xs:0 1px 3px 0px #0000000d;--shadow-sm:0 1px 3px 0px #0000001a, 0 1px 2px -1px #0000001a;--shadow:0 1px 3px 0px #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 1px 3px 0px #0000001a, 0 2px 4px -1px #0000001a;--shadow-lg:0 1px 3px 0px #0000001a, 0 4px 6px -1px #0000001a;--shadow-xl:0 1px 3px 0px #0000001a, 0 8px 10px -1px #0000001a;--shadow-2xl:0 1px 3px 0px #00000040;--sidebar:#fafafa;--sidebar-foreground:#0a0a0a;--sidebar-primary:#171717;--sidebar-primary-foreground:#fafafa;--sidebar-accent:#f5f5f5;--sidebar-accent-foreground:#171717;--sidebar-border:#e5e5e5;--sidebar-ring:#a1a1a1}@supports (color:lab(0% 0 0)){:root{--background:lab(100% 0 0);--foreground:lab(2.75381% 0 0);--card:lab(100% 0 0);--card-foreground:lab(2.75381% 0 0);--popover:lab(100% 0 0);--popover-foreground:lab(2.75381% 0 0);--primary-foreground:lab(20.0298% .685468 7.89514);--secondary:lab(96.52% -.0000298023 .0000119209);--secondary-foreground:lab(7.78201% -.0000149012 0);--muted:lab(96.52% -.0000298023 .0000119209);--muted-foreground:lab(48.496% 0 0);--accent:lab(96.52% -.0000298023 .0000119209);--accent-foreground:lab(7.78201% -.0000149012 0);--destructive:lab(48.4493% 77.4328 61.5452);--border:lab(90.952% 0 -.0000119209);--input:lab(90.952% 0 -.0000119209);--ring:lab(66.128% -.0000298023 .0000119209);--chart-1:lab(57.1026% 64.2584 89.8886);--chart-2:lab(55.0223% -41.0774 -3.90277);--chart-3:lab(30.372% -13.1853 -18.7887);--chart-4:lab(80.1641% 16.6016 99.2089);--chart-5:lab(72.7183% 31.8672 97.9407);--sidebar:lab(98.26% 0 0);--sidebar-foreground:lab(2.75381% 0 0);--sidebar-primary:lab(7.78201% -.0000149012 0);--sidebar-primary-foreground:lab(98.26% 0 0);--sidebar-accent:lab(96.52% -.0000298023 .0000119209);--sidebar-accent-foreground:lab(7.78201% -.0000149012 0);--sidebar-border:lab(90.952% 0 -.0000119209);--sidebar-ring:lab(66.128% -.0000298023 .0000119209)}}[data-theme=light]{--surface-background:#f3efe9;--github-color-0:#e8e2da;--github-color-1:#9be9a8;--github-color-2:#40c463;--github-color-3:#30a14e;--github-color-4:#216e39;--surface-container-low:#ebe6df;--surface-container:#e0d9d0;--surface-container-high:#d5cdc3;--surface-container-highest:#b8b0a5;--primary:#1a1714;--primary-on-primary:#f3efe9;--secondary-secondary:#7a7368;--tertiary:#6b6459;--secondary-container:#e0d9d0;--outline-default:#5c554b;--outline-variant:#d5cdc3}.dark{--background:#0a0a0a;--foreground:#fafafa;--card:#171717;--card-foreground:#fafafa;--popover:#171717;--popover-foreground:#fafafa;--primary:#e5e5e5;--primary-foreground:#171717;--secondary:#262626;--secondary-foreground:#fafafa;--muted:#262626;--muted-foreground:#a1a1a1;--accent:#262626;--accent-foreground:#fafafa;--destructive:#ff6568;--border:#ffffff1a;--input:#ffffff26;--ring:#737373;--chart-1:#1447e6;--chart-2:#00bb7f;--chart-3:#f99c00;--chart-4:#ac4bff;--chart-5:#ff2357;--sidebar:#171717;--sidebar-foreground:#fafafa;--sidebar-primary:#1447e6;--sidebar-primary-foreground:#fafafa;--sidebar-accent:#262626;--sidebar-accent-foreground:#fafafa;--sidebar-border:#ffffff1a;--sidebar-ring:#737373}@supports (color:lab(0% 0 0)){.dark{--background:lab(2.75381% 0 0);--foreground:lab(98.26% 0 0);--card:lab(7.78201% -.0000149012 0);--card-foreground:lab(98.26% 0 0);--popover:lab(7.78201% -.0000149012 0);--popover-foreground:lab(98.26% 0 0);--primary:lab(90.952% 0 -.0000119209);--primary-foreground:lab(7.78201% -.0000149012 0);--secondary:lab(15.204% 0 -.00000596046);--secondary-foreground:lab(98.26% 0 0);--muted:lab(15.204% 0 -.00000596046);--muted-foreground:lab(66.128% -.0000298023 .0000119209);--accent:lab(15.204% 0 -.00000596046);--accent-foreground:lab(98.26% 0 0);--destructive:lab(63.7053% 60.745 31.3109);--border:lab(100% 0 0/.1);--input:lab(100% 0 0/.15);--ring:lab(48.496% 0 0);--chart-1:lab(36.9089% 35.0961 -85.6872);--chart-2:lab(66.9756% -58.27 19.5419);--chart-3:lab(72.7183% 31.8672 97.9407);--chart-4:lab(52.0183% 66.11 -78.2316);--chart-5:lab(56.101% 79.4328 31.4532);--sidebar:lab(7.78201% -.0000149012 0);--sidebar-foreground:lab(98.26% 0 0);--sidebar-primary:lab(36.9089% 35.0961 -85.6872);--sidebar-primary-foreground:lab(98.26% 0 0);--sidebar-accent:lab(15.204% 0 -.00000596046);--sidebar-accent-foreground:lab(98.26% 0 0);--sidebar-border:lab(100% 0 0/.1);--sidebar-ring:lab(48.496% 0 0)}}*{box-sizing:border-box}html,body{background:var(--surface-background);color:var(--primary);font-family:var(--font-geist-pixel-square), system-ui, sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0}.page-container{background:var(--surface-background);width:100%;min-height:100vh;position:relative;overflow-x:hidden}.column-left{background:var(--surface-container-high);pointer-events:none;z-index:20;width:1px;position:fixed;top:0;bottom:0;left:calc(50% - 290px)}.column-right{background:var(--surface-container-high);pointer-events:none;z-index:20;width:1px;position:fixed;top:0;bottom:0;right:calc(50% - 290px)}.header-logo{z-index:10;position:absolute;top:38px;left:calc(50% - 281px)}.header-logo svg{z-index:10;position:relative}.header-logo:hover .logo-bg{fill:#d9a025}.header-time{z-index:10;font-family:var(--font-mono), monospace;color:var(--tertiary);opacity:0;align-items:center;gap:6px;font-size:14px;transition:opacity .4s ease-out,transform .4s cubic-bezier(.23,1,.32,1);display:flex;position:absolute;top:34px;right:calc(50% - 281px);transform:translateY(16px)}.header-time.visible{opacity:1;transform:translateY(0)}.time-text{white-space:nowrap}.time-location{display:inline}.status-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.status-dot.productive{box-shadow:0 0 0 2px var(--surface-background);background:#22c55e;animation:2s ease-in-out infinite pulse-green}.status-dot.unavailable{background:var(--outline-default);box-shadow:0 0 0 2px var(--surface-background)}@keyframes pulse-green{0%,to{opacity:1}50%{opacity:.5}}.nav-pill{background:var(--surface-container-low);z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid #ffffff0d;border-radius:9999px;align-items:center;gap:4px;padding:4px 6px;display:flex;position:fixed;top:32px;left:50%;transform:translate(-50%)}.nav-item{cursor:pointer;border-radius:9999px;justify-content:center;align-items:center;padding:6px 16px;font-size:14px;font-weight:400;transition:background .2s;display:flex}.nav-item.selected{background:var(--surface-container-high);color:var(--primary)}.nav-item.enabled{color:var(--outline-default);cursor:pointer}.nav-item.enabled:hover{background:#ffffff0d}.main-content{z-index:10;flex-direction:column;max-width:580px;margin:0 auto;padding:128px 0 0;display:flex;position:relative}.hero-section{justify-items:start;gap:24px;padding:0 8px;display:grid}.hero-headline{flex-direction:column;justify-content:start;align-items:flex-start;gap:2px;display:flex}.hero-thinking{color:var(--outline-default);opacity:0;filter:blur();align-items:center;gap:0;font-size:15px;font-style:italic;font-weight:400;line-height:1.5;transition:opacity .2s ease-out,transform .2s cubic-bezier(.23,1,.32,1);display:flex;transform:translateY(8px)}.hero-thinking.visible{opacity:1;transform:translateY(0)}.hero-thinking.exiting{opacity:0;filter:blur(4px);transform:scale(.95)}.hero-thinking .star{vertical-align:middle;text-align:center;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:18px;line-height:1;display:inline-flex}.hero-thinking .shimmer-text{background:linear-gradient(90deg, var(--outline-default) 0%, var(--primary) 40%, var(--outline-default) 60%, var(--outline-default) 100%);-webkit-text-fill-color:transparent;background-size:200% 100%;-webkit-background-clip:text;background-clip:text;animation:2s ease-in-out infinite shimmer;display:inline-block}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.cursor-blink{color:var(--outline-default);animation:1s step-end infinite blink}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.content-fade-in{flex-direction:column;gap:84px;margin-top:84px;display:flex}.chain-steps{flex-direction:column;gap:0;padding:12px 0;display:flex}.chain-step{color:var(--secondary-secondary);opacity:0;flex-direction:column;padding-left:26px;font-size:15px;transition:opacity .3s ease-out,transform .3s cubic-bezier(.23,1,.32,1);display:flex;position:relative;transform:translateY(8px)}.chain-step.visible{opacity:1;transform:translateY(0)}.chain-step-row{align-items:flex-start;gap:0;display:flex}.chain-step-icon-wrapper{width:16px;height:16px;color:var(--secondary-secondary);justify-content:center;align-items:center;display:flex;position:absolute;top:2px;left:0}.chain-step-line{background:var(--outline-variant);transform-origin:top;width:1px;transition:transform .25s cubic-bezier(.4,0,.2,1);position:absolute;top:20px;bottom:2px;left:7px;transform:scaleY(0)}.chain-step-line.expanded{transform:scaleY(1)}.chain-step-text{color:var(--secondary-secondary);flex:1;padding-bottom:16px;line-height:1.4}.chain-step-text:after{content:"...";animation:1s ease-in-out infinite chainPulse}.chain-step-chips{flex-wrap:wrap;gap:6px;margin-top:-10px;padding-bottom:16px;display:flex}.chain-step-chip{background:var(--surface-container-low);color:var(--tertiary);border:none;border-radius:4px;padding:2px 4px;font-size:11px;text-decoration:none;transition:background .15s,color .15s}.chain-step-chip:hover{background:var(--surface-container);color:var(--secondary-secondary)}@keyframes chainPulse{0%,to{opacity:.3}50%{opacity:1}}.hero-content{opacity:0;transition:opacity .4s ease-out,transform .4s cubic-bezier(.23,1,.32,1);transform:translateY(8px)}.hero-content.visible{opacity:1;transform:translateY(0)}.intro-text-wrapper{text-align:left;flex-direction:column;gap:2px;width:100%;display:flex}.intro-name{color:var(--primary);margin:0;font-size:15px;font-weight:400;line-height:1.5}.intro-position{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.position-item{color:var(--secondary-secondary);font-size:15px;font-weight:400}.intro-bio{color:var(--secondary-secondary);margin:0;font-size:15px;font-weight:400;line-height:1.5}.social-buttons{opacity:0;justify-content:flex-start;align-items:center;gap:0;width:calc(100% + 16px);margin-left:-8px;margin-right:-8px;transition:opacity .4s ease-out,transform .4s cubic-bezier(.23,1,.32,1);display:flex;transform:translateY(16px)}.social-buttons.visible{opacity:1;transform:translateY(0)}.btn-primary{background:var(--primary);color:var(--primary-on-primary);cursor:pointer;border:1px solid var(--surface-container-high);border-radius:0;justify-content:center;align-items:center;gap:6px;min-width:130px;padding:12px 16px;font-size:14px;font-weight:400;transition:transform .16s cubic-bezier(.23,1,.32,1),opacity .16s;display:flex}@media (hover:hover) and (pointer:fine){.btn-primary:hover{opacity:.8}}.btn-primary:active{transform:scale(.97)}.btn-icon{justify-content:center;align-items:center;width:20px;height:20px;transition:transform .2s ease-out;display:flex}.btn-text{transition:opacity .15s ease-out}.btn-secondary{background:var(--surface-container-high);cursor:pointer;border:1px solid var(--surface-container-high);border-radius:0;justify-content:center;align-items:center;padding:12px 16px;transition:transform .16s cubic-bezier(.23,1,.32,1),background .2s ease-out;display:flex}@media (hover:hover) and (pointer:fine){.btn-secondary:hover{background:var(--surface-container-highest)}}.btn-secondary:active{transform:scale(.95)}.btn-secondary svg,.btn-secondary img{width:20px;height:20px}.btn-secondary img{filter:brightness(0)}[data-theme=dark] .btn-secondary img{filter:brightness(0)invert()}.section{opacity:0;flex-direction:column;padding:0 8px;transition:opacity .4s ease-out,transform .4s cubic-bezier(.23,1,.32,1);display:flex;transform:translateY(16px)}.section.visible{opacity:1;transform:translateY(0)}.section-header{align-items:center;padding-bottom:0;display:flex}.section-label{font-size:12px;font-weight:400;font-family:var(--font-mono), monospace;color:var(--tertiary);letter-spacing:1.56px;text-transform:uppercase}.section-gap{height:16px}.recent-card{background:var(--surface-background);border-top:1px solid var(--surface-container-high);border-bottom:1px solid var(--surface-container-high);border-left:1px solid var(--surface-container-high);border-right:1px solid var(--surface-container-high);margin-left:-8px;margin-right:-8px;padding:16px 8px}.recent-card-inner{flex-direction:column;gap:8px;display:flex}.recent-row-1{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.recent-label{color:var(--primary);font-size:15px;font-weight:400;line-height:1.5;transition:color .2s ease-out}.recent-row-2,.recent-row-3{display:flex}.recent-period{color:var(--outline-default);font-size:14px;font-weight:400;line-height:1.3;transition:color .2s ease-out}.recent-impact{color:var(--secondary-secondary);font-size:14px;font-weight:400;line-height:1.5;transition:color .2s ease-out}.recent-row-1.dimmed .recent-label,.recent-row-2.dimmed .recent-period,.recent-row-3.dimmed .recent-impact{color:var(--outline-variant)!important}.company-inline-link{border-radius:8px;flex-wrap:wrap;align-items:center;gap:4px;padding:2px 4px;text-decoration:none;transition:background-color .2s ease-out,box-shadow .2s ease-out,transform .2s cubic-bezier(.23,1,.32,1);display:inline-flex}.company-inline-name{color:var(--primary);font-size:15px;font-weight:400}@media (hover:hover) and (pointer:fine){.company-inline-link:hover{background-color:var(--surface-container-high);transform:translateY(-1px);box-shadow:0 4px 24px -12px #0006,0 8px 20px -8px #0003}.company-inline-link:hover .company-logo-frame{background:#ffffff0d}.company-inline-link:active{transform:scale(.97)translateY(-1px)}}@media (prefers-reduced-motion:reduce){.company-inline-link,.company-inline-link:hover,.company-inline-link:active{transition:none;animation:none}.company-inline-link:hover{transform:none}.company-inline-link:active{transform:scale(.97)}.section,.header-time,.hero-thinking,.hero-content,.intro-text-wrapper{opacity:1;transition:none;animation:none;transform:none}}.built-section{flex-direction:column;display:flex}.built-row{border-top:1px solid var(--surface-container-high);border-bottom:1px solid var(--surface-container-high);border-left:1px solid var(--surface-container-high);border-right:1px solid var(--surface-container-high);align-items:center;min-height:48px;margin-left:-8px;margin-right:-8px;padding:12px 8px;display:flex}.built-label{color:var(--secondary-secondary);flex:1;font-size:16px;font-weight:400;transition:color .2s ease-out}.built-right{flex-shrink:0;align-items:center;gap:8px;display:flex}.built-meta{color:var(--outline-default);font-size:16px;font-weight:400;transition:color .2s ease-out}.built-name{color:var(--primary);font-size:16px;transition:color .2s ease-out}.bumpbuddy-row{border-top:1px solid var(--surface-container-high);border-bottom:1px solid var(--surface-container-high);border-left:1px solid var(--surface-container-high);border-right:1px solid var(--surface-container-high);align-items:center;gap:8px;margin-left:-8px;margin-right:-8px;padding:12px 8px;display:flex}.project-card-v2{border-top:1px solid var(--surface-container-high);border-bottom:1px solid var(--surface-container-high);cursor:pointer;margin-left:-8px;margin-right:-8px;padding:24px 0}.project-card-v2-header{justify-content:space-between;align-items:center;padding:0 8px;display:flex}.project-card-v2-title-row{flex:1;align-items:center;gap:6px;min-width:0;display:flex}.project-card-v2-arrow{color:var(--outline-default);will-change:transform;justify-content:center;align-items:center;transition:transform .2s ease-out;display:flex}.project-card-v2-arrow.rotated{transform:rotate(180deg)}.project-card-v2.expanded{padding-bottom:24px}.project-card-v2-details{opacity:0;will-change:grid-template-rows, opacity;grid-template-rows:0fr;margin-top:0;transition:grid-template-rows .3s cubic-bezier(.4,0,.2,1),opacity .2s,margin-top .3s cubic-bezier(.4,0,.2,1);display:grid}.project-card-v2-details-inner{min-height:0;padding:0 8px;overflow:hidden}.project-card-v2-details-inner .project-visual{margin-left:-8px;margin-right:-8px}.project-card-v2-details.visible{opacity:1;grid-template-rows:1fr;margin-top:16px}.project-card-v2-details.hidden{opacity:0;grid-template-rows:0fr}.project-card-v2-footer{flex-direction:column;align-items:baseline;gap:12px;margin-top:16px;margin-bottom:16px;display:flex}@media (min-width:480px){.project-card-v2-footer{flex-direction:row;justify-content:space-between;align-items:baseline}}.project-impact{margin-bottom:16px}.section-header-projects{padding-bottom:12px}.section-label-about{letter-spacing:1.68px;font-size:12px;font-weight:400}.about-bio-row{border-top:1px solid var(--surface-container-high);align-items:flex-start;gap:24px;margin:0 -8px;padding:12px 8px;display:flex}.about-profile-image{border-radius:4px;flex-shrink:0;width:180px;height:180px;position:relative;overflow:hidden}.about-bio-text{flex-direction:column;flex:1;gap:12px;display:flex}.about-story{display:none}.about-timeline{flex-direction:column;display:flex}.about-timeline-item{border-top:1px solid var(--surface-container-high);justify-content:space-between;align-items:center;margin-left:-8px;margin-right:-8px;padding:16px 8px;display:flex}.about-timeline-item:last-child{border-bottom:1px solid var(--surface-container-high)}.about-pub-item{border-bottom:1px solid var(--surface-container-high);flex-direction:column;gap:2px;margin-left:-8px;margin-right:-8px;padding:12px 8px;display:flex}.about-stacks-row{border-bottom:1px solid var(--surface-container-high);justify-content:space-between;align-items:center;margin-left:-8px;margin-right:-8px;padding:16px 8px;display:flex;position:relative;overflow:visible;margin-top:0!important}.about-timeline-left{flex-direction:row;gap:8px;display:flex}.about-timeline-right{align-items:center;gap:4px;display:flex}.about-timeline-right .company-inline-name{font-weight:400}.about-timeline-year,.about-timeline-role{color:var(--secondary-secondary);font-size:14px;font-weight:400}.about-value-nomargin{margin:0}.about-timeline-external{align-items:center;gap:8px;display:flex}.about-external-arrow{color:var(--secondary-secondary);font-size:16px}.inline-link{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;-webkit-text-decoration-color:var(--outline-default);-webkit-text-decoration-color:var(--outline-default);-webkit-text-decoration-color:var(--outline-default);text-decoration-color:var(--outline-default);text-underline-offset:3px;color:inherit;transition:text-decoration-color .2s ease-out}@media (hover:hover) and (pointer:fine){.inline-link:hover{text-decoration-style:solid;-webkit-text-decoration-color:var(--secondary-secondary);-webkit-text-decoration-color:var(--secondary-secondary);-webkit-text-decoration-color:var(--secondary-secondary);text-decoration-color:var(--secondary-secondary)}}.about-stacks-row{border-bottom:1px solid var(--surface-container-high);justify-content:space-between;align-items:center;padding:16px 8px;display:flex;position:relative;overflow:visible;margin-top:0!important}.about-stacks-left{flex:1;padding-right:16px}.about-stacks-desc{color:var(--secondary-secondary);margin:0;font-size:14px}.about-stacks-right{border-left:1px solid var(--surface-container-high);flex:1;align-self:stretch;align-items:center;margin-top:-16px;margin-bottom:-16px;padding-top:16px;padding-bottom:16px;padding-left:16px;display:flex}.about-stacks-right .tools-grid{background:0 0;border:none;justify-content:space-between;align-items:center;width:100%;height:100%;padding:0;display:flex;position:relative}.about-stacks-right .tool-icon{aspect-ratio:1;flex:1;min-width:0;max-height:100%;position:relative}.writings-list{flex-direction:column;margin-left:-8px;margin-right:-8px;display:flex}.writing-item{border-top:1px solid var(--surface-container-high);color:inherit;cursor:pointer;padding:12px 8px;text-decoration:none;transition:opacity .2s cubic-bezier(.23,1,.32,1);display:flex}.writing-item:last-child{border-bottom:1px solid var(--surface-container-high)}.writing-item.dimmed{opacity:.35}.writing-header{justify-content:space-between;align-items:center;gap:16px;width:100%;display:flex}.writing-date{color:var(--secondary-secondary);white-space:nowrap;font-size:14px;font-weight:400}.writing-title-link{color:var(--primary);align-items:center;gap:6px;text-decoration:none;display:flex}.writing-title{font-size:15px;font-weight:400}.writing-arrow{opacity:.6;align-items:center;display:inline-flex}.github-calendar-wrapper{border-top:1px solid var(--surface-container-high);border-bottom:1px solid var(--surface-container-high);margin-left:-8px;margin-right:-8px;padding:20px 8px;overflow:hidden}.github-calendar-wrapper svg{width:100%!important;height:auto!important}.github-calendar-wrapper rect[fill=\#161b22]{fill:var(--github-color-0)!important}.github-calendar-wrapper rect[fill=\#0e4429]{fill:var(--github-color-1)!important}.github-calendar-wrapper rect[fill=\#006d32]{fill:var(--github-color-2)!important}.github-calendar-wrapper rect[fill=\#26a641]{fill:var(--github-color-3)!important}.github-calendar-wrapper rect[fill=\#39d353]{fill:var(--github-color-4)!important}.github-calendar-wrapper rect[fill=\#ebedf0]{fill:var(--github-color-0)!important}.github-calendar-wrapper rect[fill=\#9be9a8]{fill:var(--github-color-1)!important}.github-calendar-wrapper rect[fill=\#40c463]{fill:var(--github-color-2)!important}.github-calendar-wrapper rect[fill=\#30a14e]{fill:var(--github-color-3)!important}.github-calendar-wrapper rect[fill=\#216e39]{fill:var(--github-color-4)!important}.github-calendar-wrapper .react-activity-calendar,.github-calendar-wrapper .react-activity-calendar>*{width:100%!important;max-width:100%!important}.projects-grid{flex-direction:column;gap:0;padding:0;display:flex}.project-visual{aspect-ratio:4/3;background:var(--surface-container-low);border-radius:4px;margin:0 -8px;position:relative;overflow:hidden}.flex-viz{width:100%;height:100%;position:relative}.flex-viz img{object-fit:cover;transition:transform .5s cubic-bezier(.23,1,.32,1)}@media (hover:hover) and (pointer:fine){.project-visual:hover .flex-viz img{transform:scale(1.05)}}.project-visual-placeholder{background:var(--surface-container-low);border-radius:4px;width:100%;height:100%}.project-main{flex-direction:column;gap:16px;padding:0 8px 32px;display:flex}.project-info{flex-direction:column;gap:16px;display:flex}.project-header{align-items:center;gap:6px;display:flex}.company-logo-frame{border:.5px solid var(--outline-variant);border-radius:2px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;display:flex;overflow:hidden}.company-logo-placeholder{background:var(--outline-default);width:100%;height:100%}.project-name{color:var(--primary);font-size:15px;font-weight:400;line-height:1.5}.project-impact{color:var(--secondary-secondary);margin:0;font-size:14px;line-height:1.5}.project-impact strong{color:var(--primary);font-weight:400}.project-tags{flex-wrap:wrap;gap:4px;display:flex}.tag{background:var(--surface-container-low);color:var(--tertiary);border-radius:4px;align-items:center;padding:2px 4px;font-size:11px;font-weight:400;display:inline-flex}.project-btn-row{align-items:center;gap:16px;display:flex}.project-btn{background:var(--surface-container-high);color:var(--primary);cursor:pointer;white-space:nowrap;border:none;border-radius:0;flex-shrink:0;align-items:center;gap:6px;padding:8px 12px;font-size:14px;font-weight:400;transition:transform .16s cubic-bezier(.23,1,.32,1),background .2s ease-out;display:flex}@media (hover:hover) and (pointer:fine){.project-btn:hover{background:var(--surface-container-highest)}}.project-btn:active{transform:scale(.97)}.project-btn-disabled{opacity:.4;cursor:default}.project-btn-disabled:hover{background:var(--surface-container-high)}.project-btn-disabled:active{transform:none}.tools-card{flex-direction:column;gap:16px;padding:24px 0;display:flex}.tools-grid{background:var(--surface-container-low);border:1px solid #ffffff12;border-radius:16px;justify-content:end;align-items:center;gap:16px;padding:12px;display:flex;position:relative}.tool-icon{aspect-ratio:40/40;border-radius:12px;flex:1 0 0;min-width:0;position:relative;overflow:hidden}.tool-icon img{object-fit:cover;width:100%;height:100%}.tools-subtitle{color:var(--secondary-secondary);text-align:center;margin:0;font-size:14px;font-weight:400;line-height:1.3}.footer{z-index:10;background-color:var(--surface-background);max-width:580px;margin:0 auto;padding:0;position:relative}@media (min-width:640px){.footer{padding:0}}.footer-content{border-top:1px solid var(--surface-container-high);justify-content:space-between;align-items:center;padding:32px 12px;display:flex}.footer-left{color:var(--outline-default);font-size:13px;font-weight:400}.footer-right{color:var(--primary);font-size:13px;font-weight:400}.sticky-buttons{z-index:50;pointer-events:none;justify-content:space-between;padding:0 18px;display:flex;position:fixed;bottom:18px;left:0;right:0}.sticky-btn{background:var(--surface-container-high);color:var(--outline-default);cursor:pointer;pointer-events:auto;border:none;border-radius:0;align-items:center;gap:6px;padding:8px 12px;font-size:14px;font-weight:400;transition:background .2s,color .2s;display:flex}.sticky-btn:hover{background:var(--surface-container-high)}.sticky-btn svg{width:20px;height:20px}.color-mode-button{pointer-events:auto;z-index:50;transition:transform .3s ease-out,opacity .3s ease-out;position:fixed;bottom:18px;left:18px}.color-mode-button.hidden-left{opacity:0;transform:translate(-200%)}.color-mode-container{background:var(--surface-container-high);border-radius:0;justify-content:flex-start;align-items:center;gap:6px;width:104px;height:36px;padding:4px;transition:background .2s ease-out,width .2s ease-out;display:flex;position:relative;overflow:visible}@media (hover:hover) and (pointer:fine){.color-mode-container{background:var(--surface-container);width:36px}.color-mode-button:hover .color-mode-container{background:var(--surface-container-high);width:104px}.color-mode-button:not(:hover) .color-mode-container{width:36px}.color-mode-button:not(:hover) .color-mode-icon-btn:not(.active){opacity:0;pointer-events:none;visibility:hidden;position:absolute}.color-mode-button:not(:hover) .color-mode-icon-btn.active{opacity:1;pointer-events:auto;position:static}.color-mode-button:hover .color-mode-icon-btn{opacity:1;visibility:visible;pointer-events:auto;position:static}.color-mode-button:hover .color-mode-icon-btn:not(.active){opacity:.8}.color-mode-button:hover .color-mode-icon-btn:not(.active):hover{opacity:1}}.color-mode-icon-btn{cursor:pointer;width:28px;height:28px;color:var(--secondary-secondary);background:0 0;border:none;border-radius:0;flex-shrink:0;justify-content:center;align-items:center;padding:4px;transition:opacity .2s ease-out,transform .1s ease-out;display:flex}.color-mode-icon-btn:active{transform:scale(.95)}.color-mode-icon-btn.active{color:var(--primary)}.color-mode-icon-btn svg{width:20px;height:20px}@media (prefers-reduced-motion:reduce){.btn-primary,.btn-secondary{transition:none}.btn-primary:active,.btn-secondary:hover,.btn-secondary:active{transform:none}.color-mode-container,.color-mode-icon-btn{transition:none}.project-card-v2-details{clip-path:none;opacity:1;transition:none}.hero-thinking{transition:none}.hero-content{opacity:1;transition:none;transform:none}}.about-value{color:var(--secondary-secondary);font-size:14px;font-weight:400;line-height:1.5}.about-value strong{color:var(--primary);font-weight:400}.about-pub-item{border-bottom:1px solid var(--surface-container-high);flex-direction:column;gap:2px;padding:12px 0;display:flex}.about-pub-item:last-child{border-bottom:none}@media (max-width:768px){.page-container{padding-top:0}.column-left,.column-right{display:none}.main-content{gap:84px;max-width:392px;margin:0 auto;padding:132px 0 0}.header-logo{top:99px;left:12px}.header-time{top:96px;right:12px}.time-location{display:none}.about-bio-row{flex-direction:column;align-items:flex-start;gap:16px;padding:12px}.about-profile-image{aspect-ratio:1;border-radius:0;width:calc(100% + 24px);height:auto;margin-left:-12px;margin-right:-12px}.about-profile-image>div{top:0;left:0;width:100%!important;height:100%!important;position:absolute!important}.about-story{padding-left:12px;padding-right:12px}.about-timeline-item{flex-direction:column;align-items:flex-start;gap:8px}.about-stacks-row{border-bottom:1px solid var(--surface-container-high);flex-direction:column;align-items:flex-start;gap:16px;padding:16px 12px;margin-top:0!important}.about-stacks-right{border-left:none;margin-top:0;margin-bottom:0;padding-top:0;padding-bottom:0;padding-left:0}.about-stacks-left{padding-right:0}.about-stacks-right .tools-grid{justify-content:center;gap:16px;width:100%}.about-stacks-right .tool-icon{max-width:48px;max-height:48px}.writing-header{flex-direction:column;align-items:flex-start;gap:4px}.section{margin-bottom:32px}.section-header,.section-header-projects{padding-bottom:20px}.section-gap{height:0}.hero-section,.section,.recent-card,.built-row,.bumpbuddy-row,.project-main,.tools-card{padding-left:12px;padding-right:12px}.recent-card,.about-timeline-item,.about-pub-item,.about-stacks-row{border-left:none;border-right:none;margin-left:-36px;margin-right:-36px;padding-left:36px;padding-right:36px}.project-card-v2{border-left:none;border-right:none;margin-left:-12px;margin-right:-12px;padding-left:0;padding-right:0}.project-card-v2 .project-card-v2-header,.project-card-v2 .project-card-v2-details-inner{padding:0 12px}.project-card-v2 .project-card-v2-details-inner .project-visual,.project-visual{margin-left:-12px;margin-right:-12px}.hero-section{justify-items:start;gap:42px;padding-top:32px}.hero-section.centered{align-content:start;min-height:85vh}.hero-headline{justify-content:start;align-items:flex-start}.intro-text-wrapper{align-items:flex-start}.content-fade-in{gap:84px;margin-top:0}}.dark{--background:#0a0a0a;--foreground:#fafafa;--card:#171717;--card-foreground:#fafafa;--popover:#171717;--popover-foreground:#fafafa;--primary-foreground:#171717;--secondary:#262626;--secondary-foreground:#fafafa;--muted:#262626;--muted-foreground:#a1a1a1;--accent:#262626;--accent-foreground:#fafafa;--destructive:#ff6568;--border:#ffffff1a;--input:#ffffff26;--ring:#737373;--chart-1:#d4d4d4;--chart-2:#737373;--chart-3:#525252;--chart-4:#404040;--chart-5:#262626;--sidebar:#171717;--sidebar-foreground:#fafafa;--sidebar-primary:#1447e6;--sidebar-primary-foreground:#fafafa;--sidebar-accent:#262626;--sidebar-accent-foreground:#fafafa;--sidebar-border:#ffffff1a;--sidebar-ring:#737373}@supports (color:lab(0% 0 0)){.dark{--background:lab(2.75381% 0 0);--foreground:lab(98.26% 0 0);--card:lab(7.78201% -.0000149012 0);--card-foreground:lab(98.26% 0 0);--popover:lab(7.78201% -.0000149012 0);--popover-foreground:lab(98.26% 0 0);--primary-foreground:lab(7.78201% -.0000149012 0);--secondary:lab(15.204% 0 -.00000596046);--secondary-foreground:lab(98.26% 0 0);--muted:lab(15.204% 0 -.00000596046);--muted-foreground:lab(66.128% -.0000298023 .0000119209);--accent:lab(15.204% 0 -.00000596046);--accent-foreground:lab(98.26% 0 0);--destructive:lab(63.7053% 60.745 31.3109);--border:lab(100% 0 0/.1);--input:lab(100% 0 0/.15);--ring:lab(48.496% 0 0);--chart-1:lab(84.92% 0 -.0000119209);--chart-2:lab(48.496% 0 0);--chart-3:lab(34.924% 0 0);--chart-4:lab(27.036% 0 0);--chart-5:lab(15.204% 0 -.00000596046);--sidebar:lab(7.78201% -.0000149012 0);--sidebar-foreground:lab(98.26% 0 0);--sidebar-primary:lab(36.9089% 35.0961 -85.6872);--sidebar-primary-foreground:lab(98.26% 0 0);--sidebar-accent:lab(15.204% 0 -.00000596046);--sidebar-accent-foreground:lab(98.26% 0 0);--sidebar-border:lab(100% 0 0/.1);--sidebar-ring:lab(48.496% 0 0)}}::selection{color:#09090b!important;background-color:#7cea9c!important}[data-theme=light] ::selection,.light ::selection{color:#09090b!important}[data-theme=light] ::-moz-selection{color:#09090b!important}.light ::-moz-selection{color:#09090b!important}.text-title{color:var(--primary)}.text-body{color:var(--secondary-secondary)}.testimonial-grid{border-top:1px solid var(--surface-container-high);margin-left:-8px;margin-right:-8px}.testimonial-card{border-bottom:1px solid var(--surface-container-high);padding:12px 8px}.testimonial-card-content{flex-direction:column;gap:12px;display:flex}.testimonial-profile{grid-template-columns:auto 1fr;align-items:center;gap:12px;width:fit-content;display:inline-grid}.testimonial-card-content blockquote.dimmed p{color:var(--outline-variant)!important}.testimonial-card-content blockquote,.testimonial-card-content blockquote p{transition:color .2s ease-out}a.testimonial-profile{text-decoration:none}.testimonial-show-more{appearance:none;cursor:pointer;border:none;border-top:1px solid var(--surface-container-high);border-bottom:1px solid var(--surface-container-high);width:100%;color:var(--secondary-secondary);background:0 0;justify-content:center;align-items:center;gap:8px;margin-left:-8px;margin-right:-8px;padding:16px 0;font-family:inherit;font-size:14px;transition:color .15s;display:flex}.testimonial-show-more:hover{color:var(--primary)}@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-y-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-ease{syntax:"*";inherits:false}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}}
