.react-activity-calendar__tooltip{width:max-content;max-width:calc(100vw - 20px);padding:.2em .5em;border-radius:.25em;background-color:#1a1a1a;color:#f0f0f0;font-size:13px;.react-activity-calendar__tooltip-arrow{fill:#1a1a1a}&[data-color-scheme=dark]{background-color:#f0f0f0;color:#0f0f0f;.react-activity-calendar__tooltip-arrow{fill:#f0f0f0}}}html.blob-cursor-view,html.blob-cursor-view *{cursor:none!important}.blob-container{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;overflow:hidden}.blob-main{pointer-events:none;position:absolute;width:100%;height:100%;overflow:hidden;background:transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none}.blob{position:absolute;will-change:transform;transform:translate(-50%,-50%);transform-origin:50% 50%;display:flex;align-items:center;justify-content:center;transition:width .25s cubic-bezier(.25,.1,.25,1),height .25s cubic-bezier(.25,.1,.25,1),border-radius .25s cubic-bezier(.25,.1,.25,1),background-color .2s ease,box-shadow .2s ease,opacity .2s ease}.blob--lead{z-index:3}.blob--trail{z-index:1}.blob--trail.is-hidden{opacity:0!important}.blob--lead.blob--view{width:3.25rem!important;height:1.75rem!important;border-radius:9999px!important;background-color:#787878f2!important;box-shadow:none!important;border:1px solid rgba(255,255,255,.2)}.dark .blob--lead.blob--view{background-color:#5a5a5af2!important;border-color:#ffffff26}.blob__label{display:none;position:relative;z-index:1;font-family:var(--font-family);font-size:.75rem;font-weight:450;line-height:1;letter-spacing:.02em;text-transform:lowercase;color:#fff;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.blob--lead.blob--view .blob__label{display:block}.inner-dot{position:absolute;transition:opacity .15s ease}.blob--lead.blob--view .inner-dot{opacity:0}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}html,body,button,input,textarea,select{font-family:var(--font-family);font-size:var(--font-size);line-height:var(--line-height);font-weight:var(--font-weight);font-style:normal;font-optical-sizing:auto;color:var(--text-color)}body{margin:0;padding:0;background-color:var(--background);transition:background-color .3s ease,color .3s ease}h1,h2,h3,h4,h5,h6,p,a,span,li,label,td,th,blockquote,figcaption,small,strong,em,b,i{font-family:inherit;font-size:inherit;line-height:inherit;font-weight:inherit;font-style:inherit;color:inherit}.container{width:100%}@media(min-width:640px){.container{max-width:640px}}@media(min-width:768px){.container{max-width:768px}}@media(min-width:1024px){.container{max-width:1024px}}@media(min-width:1280px){.container{max-width:1280px}}@media(min-width:1536px){.container{max-width:1536px}}.highlight{font-style:normal!important;font-weight:600!important;color:var(--highlight)!important;text-decoration-line:underline!important;text-decoration-style:dotted!important;text-decoration-color:currentColor!important;text-underline-offset:4px;text-decoration-thickness:1px;transition:opacity .15s ease}a.highlight:hover,button.highlight:hover{opacity:.75}.name-handle{font-family:pecita,pecita Fallback;font-style:normal;font-weight:500;font-size:24px;line-height:36px;color:#272d36;text-decoration:none}.dark .name-handle{color:#f5f5f5}.resume-page{font-family:var(--font-family);font-size:14px;line-height:24px;font-weight:450;color:var(--text-color)}.resume-shell{display:flex;flex-direction:column;gap:2.5rem}.resume-back{display:inline-block;color:var(--text-color)!important;font-size:14px!important;line-height:24px!important;font-weight:450!important;text-decoration:none!important;margin-bottom:.5rem}.resume-back:hover{color:var(--highlight)!important}.resume-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem 2rem}.resume-header-main{flex:1 1 auto;min-width:0}.resume-name{font-family:pecita,pecita Fallback;font-size:28px!important;line-height:36px!important;font-weight:500!important;color:#272d36!important;margin:0;text-transform:lowercase}.dark .resume-name{color:#f5f5f5!important}.resume-updated{margin:.25rem 0 0;font-size:13px!important;line-height:20px!important;color:var(--resume-meta)!important;font-weight:450!important}.resume-contact{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.35rem .5rem;flex:0 1 auto;max-width:100%;margin:0;padding-top:.15rem;text-align:right}.resume-contact-item{display:inline-flex;align-items:center;justify-content:center;color:var(--text-color)!important;text-decoration:none!important;transition:opacity .15s ease,color .15s ease}.resume-contact-item--icon{padding:.125rem;line-height:0}.resume-contact-item:hover{opacity:.65;color:var(--highlight)!important}.resume-contact-icon{flex-shrink:0;color:currentColor!important}.resume-contact-dot{color:var(--resume-meta)!important;font-size:14px!important;line-height:24px!important;font-weight:450!important;-webkit-user-select:none;-moz-user-select:none;user-select:none}@media(max-width:640px){.resume-contact{justify-content:flex-start;width:100%}}.resume-section{display:flex;flex-direction:column;gap:1.25rem}.resume-section-title{margin:0;font-size:14px!important;line-height:24px!important;font-weight:600!important;color:var(--highlight)!important}.resume-section-rule{height:1px;width:100%;background-color:var(--border)}.resume-entries{display:flex;flex-direction:column;gap:2rem}.resume-entry-title{margin:0 0 .25rem;font-size:14px!important;line-height:24px!important;font-weight:600!important;color:var(--highlight)!important}.resume-entry-stack{font-weight:450!important;color:var(--text-color)!important}.resume-entry-meta{margin:0 0 .75rem;font-size:13px!important;line-height:20px!important;color:var(--resume-meta)!important;font-weight:450!important}.resume-entry-body,.resume-skills{display:flex;flex-direction:column;gap:1rem}.resume-skill-line{margin:0;font-size:14px!important;line-height:24px!important;text-align:left}.resume-skill-label{font-weight:600!important;color:var(--highlight)!important}.resume-skill-items{font-weight:450!important;color:var(--text-color)!important}.resume-paragraph{margin:0;font-size:14px!important;line-height:24px!important;font-weight:450!important;color:var(--text-color)!important;text-align:left}.resume-paragraph-label{font-weight:600!important;color:var(--highlight)!important;text-decoration:none!important}.resume-link{color:var(--resume-link)!important;font-weight:600!important;text-decoration:none!important}.resume-link:hover{text-decoration:underline!important}.resume-accent{color:var(--resume-link)!important;font-weight:450!important;text-decoration:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.bottom-full{bottom:100%}.left-0{left:0}.left-1\/2{left:50%}.right-0{right:0}.top-0{top:0}.top-full{top:100%}.isolate{isolation:isolate}.z-10{z-index:10}.z-50{z-index:50}.float-left{float:left}.m-0{margin:0}.mx-auto{margin-left:auto;margin-right:auto}.my-4{margin-top:1rem;margin-bottom:1rem}.-mt-1{margin-top:-.25rem}.-mt-\[1px\]{margin-top:-1px}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mr-1{margin-right:.25rem}.mt-2{margin-top:.5rem}.box-border{box-sizing:border-box}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.size-10{width:2.5rem;height:2.5rem}.size-2{width:.5rem;height:.5rem}.size-4{width:1rem;height:1rem}.size-5{width:1.25rem;height:1.25rem}.size-6{width:1.5rem;height:1.5rem}.size-9{width:2.25rem;height:2.25rem}.size-\[8px\]{width:8px;height:8px}.size-full{width:100%;height:100%}.h-0{height:0px}.h-10{height:2.5rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-\[22px\]{height:22px}.h-auto{height:auto}.h-full{height:100%}.min-h-px{min-height:1px}.min-h-screen{min-height:100vh}.w-0{width:0px}.w-\[168px\]{width:168px}.w-full{width:100%}.min-w-\[120px\]{min-width:120px}.min-w-full{min-width:100%}.min-w-px{min-width:1px}.max-w-\[544px\]{max-width:544px}.max-w-\[800px\]{max-width:800px}.max-w-none{max-width:none}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.basis-0{flex-basis:0px}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.content-stretch{align-content:stretch}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-10{gap:2.5rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-\[12px\]{gap:12px}.gap-\[40px\]{gap:40px}.gap-\[8px\]{gap:8px}.gap-x-1{-moz-column-gap:.25rem;column-gap:.25rem}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.text-nowrap{text-wrap:nowrap}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.border{border-width:1px}.border-0{border-width:0px}.border-l-4,.border-l-\[4px\]{border-left-width:4px}.border-r-\[4px\]{border-right-width:4px}.border-t{border-top-width:1px}.border-t-\[4px\]{border-top-width:4px}.border-solid{border-style:solid}.border-none{border-style:none}.border-\[0px_0px_1px\]{border-color:0px 0px 1px}.border-\[var\(--border\)\]{border-color:var(--border)}.border-\[var\(--foreground\)\]{border-color:var(--foreground)}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.border-l-transparent{border-left-color:transparent}.border-r-transparent{border-right-color:transparent}.border-t-\[var\(--foreground\)\]{border-top-color:var(--foreground)}.bg-\[var\(--accent\)\]{background-color:var(--accent)}.bg-\[var\(--background\)\]{background-color:var(--background)}.bg-\[var\(--foreground\)\]{background-color:var(--foreground)}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.p-4{padding:1rem}.px-0{padding-left:0;padding-right:0}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-4{padding-left:1rem;padding-right:1rem}.px-\[16px\]{padding-left:16px;padding-right:16px}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-\[40px\]{padding-top:40px;padding-bottom:40px}.py-\[8px\]{padding-top:8px;padding-bottom:8px}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pl-4{padding-left:1rem}.pl-6{padding-left:1.5rem}.pr-0{padding-right:0}.pt-2{padding-top:.5rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.text-justify{text-align:justify}.align-middle{vertical-align:middle}.text-2\.5xl,.text-2xl,.text-3\.5xl,.text-5\.5xl,.text-base{font-size:14px;line-height:24px}.text-body{font-size:14px;line-height:24px;font-weight:450}.text-lg,.text-sm,.text-xs{font-size:14px;line-height:24px}.font-book{font-weight:450}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.not-italic{font-style:normal}.leading-\[0\]{line-height:0}.leading-\[1\.4\]{line-height:1.4}.leading-body{line-height:24px}.leading-none{line-height:1}.text-\[var\(--background\)\]{color:var(--background)}.text-\[var\(--foreground\)\]{color:var(--foreground)}.text-\[var\(--muted\)\]{color:var(--muted)}.text-gray-500{--tw-text-opacity: 1;color:rgb(119 119 119 / var(--tw-text-opacity, 1))}.text-slate-500{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.no-underline{text-decoration-line:none}.decoration-\[var\(--muted\)\]{text-decoration-color:var(--muted)}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-sm{--tw-blur: blur(4px);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-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.font-normal,.font-medium,.font-semibold,.font-bold,.font-book{font-weight:450!important}.text-xs,.text-sm,.text-base,.text-lg,.text-xl,.text-2xl,.text-2\.5xl,.text-3\.5xl,.text-4xl,.text-5\.5xl,.text-body{font-size:14px!important;line-height:24px!important}.leading-none,.leading-\[1\.4\],.leading-\[0\],.leading-body{line-height:24px!important}.text-\[var\(--foreground\)\],.text-\[var\(--muted\)\],.text-gray-500,.text-slate-500{color:#777!important}.dark .text-\[var\(--foreground\)\],.dark .text-\[var\(--muted\)\],.dark .text-gray-500,.dark .text-slate-500{color:#999!important}.highlight{font-style:normal!important;font-weight:600!important;color:var(--highlight)!important}.name-handle{font-family:pecita,pecita Fallback!important;font-style:normal!important;font-weight:500!important;font-size:24px!important;line-height:36px!important;color:#272d36!important}.dark .name-handle{color:#f5f5f5!important}.\[white-space-collapse\:collapse\]{white-space-collapse:collapse}@font-face{font-family:interDisplay;font-style:normal;font-weight:100 900;font-display:swap;src:url(https://rsms.me/inter/font-files/InterVariable.woff2?v=4.1) format("woff2")}@font-face{font-family:interDisplay;font-style:italic;font-weight:100 900;font-display:swap;src:url(https://rsms.me/inter/font-files/InterVariable-Italic.woff2?v=4.1) format("woff2")}@font-face{font-family:interDisplay Fallback;src:local("Arial");size-adjust:107.06%;ascent-override:90%;descent-override:22.43%;line-gap-override:0%}@font-face{font-family:pecita;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/Pecita.otf) format("opentype")}@font-face{font-family:pecita Fallback;src:local("Brush Script MT"),local("Segoe Script");size-adjust:95%;ascent-override:95%;descent-override:25%;line-gap-override:0%}:root{--font-family: interDisplay, "interDisplay Fallback";--font-size: 14px;--line-height: 24px;--font-weight: 450;--text-color: rgb(119, 119, 119);--background: #ffffff;--foreground: rgb(119, 119, 119);--muted: rgb(119, 119, 119);--muted-foreground: rgb(119, 119, 119);--border: #e5e5e5;--accent: #f5f5f5;--highlight: #0d0d0d;--resume-link: #2563eb;--resume-meta: #888888;--cursor-fill: #bfff00;--cursor-inner: #0d0d0d}.dark{--background: #000000;--foreground: rgb(153, 153, 153);--muted: rgb(153, 153, 153);--muted-foreground: rgb(153, 153, 153);--text-color: rgb(153, 153, 153);--border: #333333;--accent: #1a1a1a;--highlight: #f5f5f5;--resume-link: #60a5fa;--resume-meta: #999999;--cursor-fill: #bfff00;--cursor-inner: #0d0d0d}*,*:before,*:after{box-sizing:border-box}html{overflow-y:scroll;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}::-moz-selection{background-color:#a3e635;color:#000}::selection{background-color:#a3e635;color:#000}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px);filter:blur(10px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}.animate-in{animation:fadeInUp .6s ease-out forwards;opacity:0}.animate-delay-1{animation-delay:.1s}.animate-delay-2{animation-delay:.2s}.animate-delay-3{animation-delay:.3s}.animate-delay-4{animation-delay:.4s}.animate-delay-5{animation-delay:.5s}.animate-delay-6{animation-delay:.6s}.animate-delay-7{animation-delay:.7s}.animate-delay-8{animation-delay:.8s}.animate-delay-9{animation-delay:.9s}.animate-delay-10{animation-delay:1s}.github-contributions{color:var(--text-color);width:100%;max-width:100%;overflow:hidden}.github-contributions article{font-family:var(--font-family);font-size:12px;font-weight:450;line-height:18px;width:100%;max-width:100%}.github-contributions svg text{fill:var(--text-color)}.github-contributions__inner{width:100%;max-width:100%;overflow:hidden}.github-contributions__loader{display:flex;align-items:center;justify-content:center;width:100%;min-height:96px}.github-contributions__spinner{display:block;width:18px;height:18px;border:2px solid var(--border);border-top-color:var(--highlight);border-radius:50%;animation:github-contributions-spin .65s linear infinite}@keyframes github-contributions-spin{to{transform:rotate(360deg)}}.github-contributions .react-activity-calendar__scroll-container{overflow:hidden!important;max-width:100%}.github-contributions .react-activity-calendar__calendar{display:block;width:100%;max-width:100%;height:auto}.home-page{display:flex;justify-content:center;width:100%;overflow-x:clip;padding-left:1rem;padding-right:1rem}.home-page__inner{display:flex;align-items:flex-start;width:100%;max-width:544px;gap:0;transition:max-width .8s cubic-bezier(.25,.1,.25,1),gap .8s cubic-bezier(.25,.1,.25,1)}.home-page--expanded .home-page__inner{max-width:72rem;gap:3rem}.home-page__sidebar{flex:0 0 544px;width:544px;max-width:100%;min-width:0;transition:flex-basis .8s cubic-bezier(.25,.1,.25,1)}.home-page--expanded .home-page__sidebar{align-items:flex-start}.home-page__teaser{transition:opacity .35s cubic-bezier(.4,0,.2,1),transform .35s cubic-bezier(.4,0,.2,1),max-height .45s cubic-bezier(.4,0,.2,1),margin .45s cubic-bezier(.4,0,.2,1);max-height:480px;overflow:hidden}.home-page__teaser--hidden{opacity:0;transform:translateY(-8px);max-height:0;margin-top:-2.5rem;pointer-events:none}.home-page__projects{flex:1 1 0;min-width:0;max-width:0;opacity:0;overflow:hidden;pointer-events:none;transform:translate(3rem);transition:max-width .8s cubic-bezier(.25,.1,.25,1),opacity .55s cubic-bezier(.25,.1,.25,1) .12s,transform .8s cubic-bezier(.25,.1,.25,1) .08s;scrollbar-width:none;-ms-overflow-style:none}.home-page__projects::-webkit-scrollbar{display:none;width:0;height:0}.home-page--expanded .home-page__projects{max-width:min(560px,calc(100% - 544px - 3rem));opacity:1;pointer-events:auto;transform:translate(0);position:sticky;top:2.5rem;align-self:flex-start;max-height:calc(100vh - 5rem);overflow-x:hidden;overflow-y:auto}.projects-panel{display:flex;flex-direction:column;gap:1.5rem;width:min(560px,100%);min-width:280px;padding-top:.25rem;opacity:0;transition:opacity .5s cubic-bezier(.25,.1,.25,1) .2s}.home-page--expanded .projects-panel{opacity:1}.projects-panel__back{align-self:flex-start;background:none;border:none;padding:0;cursor:pointer;opacity:0;transition:opacity .45s cubic-bezier(.25,.1,.25,1) .25s}.home-page--expanded .projects-panel__back{opacity:1}.projects-panel__list{display:flex;flex-direction:column;gap:2rem;width:100%}.project-card{display:flex;flex-direction:column;gap:.75rem;text-decoration:none;color:inherit;opacity:0;transform:translateY(1rem);transition:opacity .45s cubic-bezier(.4,0,.2,1),transform .45s cubic-bezier(.4,0,.2,1)}.home-page--expanded .projects-panel__list .project-card:nth-child(1){opacity:1;transform:translateY(0);transition-delay:.16s}.home-page--expanded .projects-panel__list .project-card:nth-child(2){opacity:1;transform:translateY(0);transition-delay:.24s}.home-page--expanded .projects-panel__list .project-card:nth-child(3){opacity:1;transform:translateY(0);transition-delay:.32s}.project-card__preview{position:relative;display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:16 / 10;border-radius:.75rem;background:var(--accent);border:1px solid var(--border);overflow:hidden;transition:opacity .2s ease}.project-card:hover .project-card__preview{opacity:.92}.project-card__preview-image{position:absolute;inset:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:top center;object-position:top center}.project-card__favicon{width:3.5rem;height:3.5rem;-o-object-fit:contain;object-fit:contain}.rfq-platform-icon{display:block;flex-shrink:0}.rfq-platform-icon path{fill:#ff7a00!important}.project-card__view{display:none}.project-card__caption{font-size:14px;line-height:24px;color:var(--muted);margin:0}.project-card__caption-sep{color:var(--muted)}@media(max-width:900px){.home-page__sidebar{flex:0 0 100%;width:100%}.home-page--expanded .home-page__inner{max-width:544px;gap:0}.home-page__projects{position:fixed;inset:0;z-index:40;flex:none;max-width:none;width:100%;max-height:none;padding:2.5rem 1rem;background:var(--background);transform:translate(100%);transition:transform .8s cubic-bezier(.25,.1,.25,1),opacity .4s cubic-bezier(.25,.1,.25,1)}.home-page--expanded .home-page__projects{max-width:none;transform:translate(0);overflow-x:hidden;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.home-page--expanded .home-page__projects::-webkit-scrollbar{display:none}.projects-panel{width:100%;min-width:0}}.placeholder\:text-gray-400::-moz-placeholder{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.placeholder\:text-gray-400::placeholder{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.placeholder\:text-slate-400::-moz-placeholder{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.placeholder\:text-slate-400::placeholder{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.last\:mb-0:last-child{margin-bottom:0}.hover\:bg-gray-50:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.hover\:text-\[var\(--foreground\)\]:hover{color:var(--foreground)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-70:hover{opacity:.7}.hover\:text-\[var\(--foreground\)\]:hover{color:#777!important}.dark .hover\:text-\[var\(--foreground\)\]:hover{color:#999!important}.group\/tooltip:hover .group-hover\/tooltip\:opacity-100{opacity:1}.dark\:border-gray-700:is(.dark *){--tw-border-opacity: 1;border-color:rgb(55 65 81 / var(--tw-border-opacity, 1))}.dark\:bg-black:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1))}.dark\:bg-gray-800:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-gray-800\/50:hover:is(.dark *){background-color:#1f293780}@media(min-width:640px){.sm\:gap-2\.5{gap:.625rem}}.\[\&\>div\]\:pb-0>div{padding-bottom:0}.\[\&\>div\]\:pt-0>div{padding-top:0}.\[\&\>svg\]\:size-3\.5>svg{width:.875rem;height:.875rem}.\[\&_p\:only-child\]\:pb-0 p:only-child{padding-bottom:0}
