@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-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-leading:initial;--tw-font-weight:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, 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-red-500:#fb2c36;--spacing:.25rem;--font-weight-semibold:600;--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)}@supports (color:lab(0% 0 0)){:root,:host{--color-red-500:lab(55.4814% 75.0732 48.8528)}}}@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}body h1,body h2,body h3,body h4,body h5,body h6{font-family:CourierNew,monospace;line-height:1.1em}body h1:before,body h2:before,body h3:before,body h4:before,body h5:before,body h6:before{content:" ";padding-top:.15em;display:block}body p,body a{font-family:CourierNew,monospace;font-size:14px;line-height:1.1em}body p:before,body a:before{content:" ";padding-top:.15em;display:block}body h1{font-size:1.5em}body h2{font-size:1.4em}body h3{font-size:1.3em}body h4{font-size:1.2em}body h5{font-size:1.1em}body h6{font-size:1em}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.top-0{top:calc(var(--spacing) * 0)}.left-0{left:calc(var(--spacing) * 0)}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.row-span-2{grid-row:span 2/span 2}.row-span-3{grid-row:span 3/span 3}.row-span-5{grid-row:span 5/span 5}.row-span-7{grid-row:span 7/span 7}.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}}.\!mt-3,.mt-3\!{margin-top:calc(var(--spacing) * 3)!important}.mt-4{margin-top:calc(var(--spacing) * 4)}.\!mb-\[6px\]{margin-bottom:6px!important}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-\[6px\]\!{margin-bottom:6px!important}.ml-1{margin-left:calc(var(--spacing) * 1)}.line-clamp-8{-webkit-line-clamp:8;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.table{display:table}.h-full{height:100%}.min-h-\[100dvh\]{min-height:100dvh}.w-fit{width:fit-content}.w-full{width:100%}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-rows-8{grid-template-rows:repeat(8,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-1{gap:calc(var(--spacing) * 1)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-\[var\(--global-side-padding\)\]{gap:var(--global-side-padding)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-\[var\(--global-side-padding\)\]>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--global-side-padding) * var(--tw-space-y-reverse));margin-block-end:calc(var(--global-side-padding) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-1{column-gap:calc(var(--spacing) * 1)}.gap-x-2{column-gap:calc(var(--spacing) * 2)}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.overflow-hidden{overflow:hidden}.object-cover{object-fit:cover}.\!p-0{padding:calc(var(--spacing) * 0)!important}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-\[var\(--global-side-padding\)\]{padding-inline:var(--global-side-padding)}.py-\[2px\]{padding-block:2px}.py-\[var\(--global-side-padding\)\]{padding-block:var(--global-side-padding)}.pt-0\.5{padding-top:calc(var(--spacing) * .5)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-\[var\(--global-side-padding\)\]{padding-bottom:var(--global-side-padding)}.text-center{text-align:center}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.leading-none{--tw-leading:1;line-height:1}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-\[red\]{color:red}.text-red-500{color:var(--color-red-500)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.underline-offset-\[3px\]{text-underline-offset:3px}.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))}@media not all and (min-width:48rem){.max-md\:hidden{display:none}.max-md\:flex-col{flex-direction:column}.max-md\:text-\[14px\]\!{font-size:14px!important}}@media (min-width:48rem){.md\:hidden{display:none}.md\:items-center{align-items:center}.md\:text-\[28px\]{font-size:28px}}}@font-face{font-family:CourierNew;font-weight:100 500;src:url(/fonts/CourierPrime-Regular.ttf)format("truetype");font-style:normal;font-display:swap}@font-face{font-family:CourierNew;font-weight:100 500;src:url(/fonts/CourierPrime-Italic.ttf)format("truetype");font-style:italic;font-display:swap}@font-face{font-family:CourierNew;font-weight:600 900;src:url(/fonts/CourierPrime-Bold.ttf)format("truetype");font-style:normal;font-display:swap}@font-face{font-family:CourierNew;font-weight:600 900;src:url(/fonts/CourierPrime-BoldItalic.ttf)format("truetype");font-style:italic;font-display:swap}:root{--global-side-padding:20px;--bg-color:#f4f4e3;--main-bg-color:#1e1e1e;--text-color:#1e1e1e;--global-border-radius:14px}@media (max-width:767px){:root{--global-side-padding:15px;--global-border-radius:10px}}html img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;max-width:100%}html .container{width:100%;max-width:1200px;padding-right:var(--global-side-padding);padding-left:var(--global-side-padding);margin-left:auto;margin-right:auto}.transform-centered{z-index:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.loader{text-indent:-9999em;border:.9em solid #e6e6da;border-left-color:#000;border-radius:50%;width:16px;height:16px;margin:0 auto;font-size:4px;animation:.7s linear infinite lazyLoadLoader;position:relative;transform:translateZ(0)}.loader:after{border-radius:50%;width:16px;height:16px}@keyframes lazyLoadLoader{0%{transform:rotate(0)}to{transform:rotate(360deg)}}body{background-color:var(--main-bg-color);color:var(--text-color);box-sizing:border-box;--header-height:65px;width:100%;max-width:100%;font-family:CourierNew,monospace;font-size:14px;line-height:1em;overflow-x:clip}@media (max-width:767px){body{--header-height:60px}}body input:-webkit-autofill{transition:background-color 0s 600000s,color 0s 600000s!important}body input:-webkit-autofill:focus{transition:background-color 0s 600000s,color 0s 600000s!important}body ul{margin:0;padding:0;list-style-type:none}body ul li{padding-left:1em;line-height:1.1em}body ul li:before{content:"-";color:var(--text-color);width:1em;margin-left:-1em;display:inline-block}body ul li:not(:last-child){margin-bottom:3px}body ul li.main{justify-content:start;width:100%;display:flex}body ul li.main:not(:last-child){margin-bottom:1em}body ul li.main:before{color:var(--text-color);flex-shrink:0;margin-top:5px;margin-left:-1em;content:"•"!important}.box{background-color:var(--bg-color);border-radius:var(--global-border-radius);padding:var(--global-side-padding)}.svg-animation{transform-origin:50%;transition:all cubic-bezier(.25,.46,.45,.94);animation:10s linear infinite swing;transform:translateY(-1px)rotate(-10deg)}@keyframes swing{0%,20%,40%,60%,80%,to{transform:translateY(-1px)rotate(-10deg)}10%,30%,50%,70%,90%{transform:translateY(-1px)rotate(10deg)}}header{background-color:var(--bg-color);height:var(--header-height)}@media (min-width:768px){.home-page .box{transition:all .3s cubic-bezier(.25,.46,.45,.94)}.home-page .box:hover{transform:scale(1.02)!important}}@media (max-width:1600px){.home-page .desktop{min-height:100dvh}}@keyframes normalBoxDesktop{to{opacity:1;transform:translate(0%)scale(1)}}.home-page .desktop .header,.home-page .desktop .box1,.home-page .desktop .box2,.home-page .desktop .box3,.home-page .desktop .box4{will-change:transform;opacity:0;animation:.5s cubic-bezier(.25,.46,.45,.94) .5s forwards normalBoxDesktop}.home-page .desktop .image-box{will-change:transform;z-index:100;animation:1s cubic-bezier(.25,.46,.45,.94) forwards imageBoxDesktop;transform:translate(-13%,20%)scale(1.2)}@keyframes imageBoxDesktop{35%{transform:translate(-13%,20%)scale(1)}50%{transform:translate(-13%,20%)scale(1)}to{transform:translate(0%)scale(1)}}.home-page .desktop .header{transform:translateY(150px)scale(0)}.home-page .desktop .box1{transform:translate(100%)scale(0);transition:transform 3s cubic-bezier(.25,.46,.45,.94)!important}.home-page .desktop .box2{transform:translate(-100%)scale(0)}.home-page .desktop .box3{transform:translate(100%,-100%)scale(0)}.home-page .desktop .box4{transform:translateY(-100%)scale(0)}@keyframes normalBoxMobile{to{opacity:1;transform:translate(0%)scale(1)}}.home-page .mobile .image-box{will-change:transform;z-index:100;transition:all cubic-bezier(.25,.46,.45,.94);animation:1s cubic-bezier(.25,.46,.45,.94) forwards imageBoxMobile;transform:translate(-52.5%,20%)scale(1.2)}@keyframes imageBoxMobile{35%{transform:translate(-52.5%,20%)scale(1)}50%{transform:translate(-52.5%,20%)scale(1)}to{transform:translate(0%)scale(1)}}.home-page .mobile header,.home-page .mobile .box1,.home-page .mobile .box2,.home-page .mobile .box3,.home-page .mobile .box4,.home-page .mobile .box5{opacity:0;will-change:transform;transition:all cubic-bezier(.25,.46,.45,.94);animation:.5s cubic-bezier(.25,.46,.45,.94) .5s forwards normalBoxMobile}.home-page .mobile .header{transform:translateY(150px)scale(0)}.home-page .mobile .box1{transform:translate(100%)scale(0)}.home-page .mobile .box2{transform:translate(-100%)scale(0)}.home-page .mobile .box3{transform:translate(100%,-100%)scale(0)}.home-page .mobile .box4,.home-page .mobile .box5{transform:translateY(-100%)scale(0)}.home-page .contact-me-link:before{display:none}.home-page .contact-me-link .me-text{font-style:italic}@supports (text-stroke:1px #000) or (-webkit-text-stroke:1px #000){.home-page .contact-me-link .me-text{color:#0000!important;-webkit-text-stroke:1px var(--bg-color)!important;text-shadow:none!important;text-decoration:none!important}}.connect-page input,.connect-page textarea{color:var(--text-color);border:none;border-bottom:1px solid var(--text-color);background:0 0;outline:none;width:100%;margin:0;padding:0 0 4px;font-family:inherit;font-size:14px;line-height:1.2;display:block}.connect-page textarea{resize:none}.connect-page .contact_form_input_wrapper{margin-bottom:18px}@media (min-width:768px){.connect-page .contact_form_input_wrapper{margin-bottom:28px}}.connect-page input.is-empty,.connect-page textarea.is-empty{border-bottom-color:red}.connect-page .form-container{opacity:0;animation:.5s cubic-bezier(.25,.46,.45,.94) forwards fadeIn;transform:scale(.9)}.certifications .certification-card{gap:var(--global-side-padding);align-items:flex-start;margin-top:6px;display:flex}.certifications .certification-details{flex:1 1 0;min-width:0}.certifications .certification-date,.certifications .certification-description{margin-top:4px}.certifications .certification-link{text-underline-offset:3px;margin-top:10px;text-decoration:underline;display:inline-block}.certifications .certificate-image{border-radius:var(--global-border-radius);border:1px solid #1e1e1e26;flex:0 0 360px;width:360px;max-width:360px;transition:transform .2s;display:block;overflow:hidden}.certifications .certificate-image:hover{transform:scale(1.02)}.certifications .certificate-image img{width:100%;height:auto;display:block}@media (max-width:767px){.certifications .certification-card{flex-direction:column}.certifications .certificate-image{flex-basis:auto;width:100%;max-width:420px}}.work-experience,.skills,.education-experience,.certifications,.languages,.projects-container,.project-container{opacity:0;animation:.5s cubic-bezier(.25,.46,.45,.94) forwards fadeIn;transform:scale(.9)}.projects-tabs{flex-direction:column;gap:16px;display:flex}.projects-tabs-bar{margin:0 calc(-1 * var(--global-side-padding)) 4px;padding:4px;padding-left:var(--global-side-padding);padding-right:var(--global-side-padding);scrollbar-width:none;-ms-overflow-style:none;border-bottom:1px dashed #1e1e1e33;flex-wrap:nowrap;gap:4px;display:flex;overflow:auto hidden}.projects-tabs-bar::-webkit-scrollbar{display:none}.projects-tab{appearance:none;color:var(--text-color);cursor:pointer;text-transform:uppercase;letter-spacing:.04em;opacity:.55;white-space:nowrap;background:0 0;border:none;flex-shrink:0;padding:8px 14px 10px;font-family:inherit;font-size:14px;line-height:1;transition:opacity .2s,transform .2s;position:relative}.projects-tab:after{content:"";background:var(--text-color);transform-origin:50%;border-radius:2px;height:2px;transition:transform .25s cubic-bezier(.25,.46,.45,.94);position:absolute;bottom:-1px;left:10px;right:10px;transform:scaleX(0)}@media (hover:hover){.projects-tab:hover{opacity:.85}}.projects-tab.is-active{opacity:1;font-weight:700}.projects-tab.is-active:after{transform:scaleX(1)}.projects-tab-panel{animation:.35s cubic-bezier(.25,.46,.45,.94) projectsTabFade}@keyframes projectsTabFade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.project-showcase{margin-top:16px;padding-top:4px}.project-showcase.app-showcase .app-showcase-header{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:14px;display:flex}.project-showcase.app-showcase .app-icon{background:#fff;border-radius:14px;flex-shrink:0;width:64px;height:64px;overflow:hidden;box-shadow:0 2px 8px #1e1e1e2e}.project-showcase.app-showcase .app-icon img{object-fit:cover;width:100%;height:100%;display:block}.project-showcase.app-showcase .app-meta .app-label{font-size:15px;font-weight:700;line-height:1.1}.project-showcase.app-showcase .app-meta .app-tagline{opacity:.65;margin-top:4px;font-style:italic}.project-showcase.app-showcase .app-showcase-header .app-meta{flex:1;min-width:0}.project-showcase.app-showcase .app-store-button{color:#f4f4e3;background:#1e1e1e;border:1px solid #1e1e1e;border-radius:10px;flex-shrink:0;align-items:center;gap:10px;padding:8px 16px;text-decoration:none;transition:transform .25s cubic-bezier(.25,.46,.45,.94),background .25s;display:inline-flex}.project-showcase.app-showcase .app-store-button:before{display:none}@media (hover:hover){.project-showcase.app-showcase .app-store-button:hover{background:#000;transform:translateY(-2px)}}.project-showcase.app-showcase .app-store-button-icon{flex-shrink:0;width:22px;height:22px}.project-showcase.app-showcase .app-store-button-text{text-align:left;flex-direction:column;line-height:1;display:flex}.project-showcase.app-showcase .app-store-button-small{letter-spacing:.04em;opacity:.85;text-transform:uppercase;font-size:9px;line-height:1.1}.project-showcase.app-showcase .app-store-button-big{margin-top:2px;font-size:15px;font-weight:700;line-height:1.1}@media (max-width:500px){.project-showcase.app-showcase .app-store-button{gap:8px;padding:7px 12px}.project-showcase.app-showcase .app-store-button-big{font-size:13px}}.project-showcase.app-showcase .app-previews-scroll{scrollbar-width:none;-ms-overflow-style:none;scroll-snap-type:x mandatory;margin:0;padding:6px 2px 10px;overflow:auto hidden}.project-showcase.app-showcase .app-previews-scroll::-webkit-scrollbar{display:none}.project-showcase.app-showcase .app-previews-list{gap:12px;width:max-content;margin:0;padding:0;list-style:none;display:flex}.project-showcase.app-showcase .app-previews-list li.app-preview-item{scroll-snap-align:start;border-radius:18px;flex-shrink:0;width:200px;margin:0;padding:0;transition:transform .3s cubic-bezier(.25,.46,.45,.94);overflow:hidden;box-shadow:0 2px 10px #1e1e1e26}.project-showcase.app-showcase .app-previews-list li.app-preview-item:before{content:none}.project-showcase.app-showcase .app-previews-list li.app-preview-item img{width:100%;height:auto;display:block}@media (hover:hover){.project-showcase.app-showcase .app-previews-list li.app-preview-item:hover{transform:translateY(-4px)}}@media (max-width:767px){.project-showcase.app-showcase .app-previews-list li.app-preview-item{width:160px}}.project-showcase.website-showcase .browser-frame{background:#fff;border:1px solid #1e1e1e2e;border-radius:10px;transition:transform .3s cubic-bezier(.25,.46,.45,.94);overflow:hidden;box-shadow:0 4px 18px #1e1e1e26}@media (hover:hover){.project-showcase.website-showcase .browser-frame:hover{transform:translateY(-2px)}}.project-showcase.website-showcase .browser-chrome{background:#ebebdc;border-bottom:1px solid #1e1e1e1f;align-items:center;gap:6px;padding:8px 12px;display:flex}.project-showcase.website-showcase .browser-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px;display:inline-block}.project-showcase.website-showcase .browser-dot-red{background:#ff5f57}.project-showcase.website-showcase .browser-dot-yellow{background:#febc2e}.project-showcase.website-showcase .browser-dot-green{background:#28c840}.project-showcase.website-showcase .browser-url{text-align:center;color:var(--text-color);opacity:.75;white-space:nowrap;text-overflow:ellipsis;background:#f4f4e3;border:1px solid #1e1e1e1a;border-radius:6px;flex:1;max-width:70%;margin-left:6px;padding:4px 10px;font-size:11px;line-height:1;overflow:hidden}.project-showcase.website-showcase .browser-screenshot{width:100%;height:auto;display:block}.project-showcase.images-showcase{grid-template-columns:1fr;gap:12px;display:grid}@media (min-width:768px){.project-showcase.images-showcase{grid-template-columns:1fr 1fr}}.project-showcase.images-showcase .images-showcase-item{border:1px solid #1e1e1e26;border-radius:10px;width:100%;height:auto;display:block;box-shadow:0 2px 10px #1e1e1e1a}@keyframes fadeIn{to{opacity:1;transform:scale(1)}}@font-face{font-family:PT Serif;font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/PTSerif-400.ttf)format("truetype")}@font-face{font-family:PT Serif;font-weight:700;font-style:normal;font-display:swap;src:url(/fonts/PTSerif-700.ttf)format("truetype")}@font-face{font-family:PT Sans;font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/PTSans-400.ttf)format("truetype")}@font-face{font-family:PT Sans;font-weight:700;font-style:normal;font-display:swap;src:url(/fonts/PTSans-700.ttf)format("truetype")}:root{--resume-serif:"PT Serif", Georgia, "Times New Roman", serif;--resume-sans:"PT Sans", "Helvetica Neue", Helvetica, Arial, system-ui, sans-serif;--resume-ink:#383838;--resume-ink-strong:#1a1a1a;--resume-rule:#4d4d4d;--resume-muted:#565656;--resume-paper:#fff}.resume-page{background:var(--main-bg-color);min-height:100dvh;padding:var(--global-side-padding);align-items:center;gap:var(--global-side-padding);flex-direction:column;display:flex}.resume-page-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;width:100%;max-width:860px;display:flex}.resume-page-bar .resume-page-bar-actions{flex-wrap:wrap;gap:8px;display:flex}.resume-page-bar .resume-btn{text-transform:uppercase;letter-spacing:.5px;border-radius:999px;padding:9px 16px;font-family:CourierNew,monospace}.resume-pill-link{color:var(--bg-color);letter-spacing:.5px;white-space:nowrap;background:#4f4b45;border-radius:999px;align-items:center;gap:7px;padding:8px 16px 7px;font-size:13px;line-height:1;transition:filter .15s;display:inline-flex}.resume-pill-link:before{content:none!important}.resume-pill-link span{line-height:1}.resume-pill-link:hover{filter:brightness(1.15)}.resume-doc{background:var(--resume-paper);width:100%;max-width:860px;color:var(--resume-ink);font-family:var(--resume-sans);border-radius:6px;padding:44px 52px;font-size:14px;line-height:1.46;box-shadow:0 10px 40px #00000059}.resume-doc :is(p,a){font-family:var(--resume-sans);line-height:inherit}.resume-doc :is(.resume-desc,.resume-stack,.resume-skills-group,.resume-cert){font-size:inherit}.resume-doc :is(h1,h2,h3,h4,h5,h6,p,a):before{display:inline;content:none!important;padding:0!important}.resume-doc a{color:inherit;font-size:inherit;text-decoration:none}.resume-doc .resume-link,.resume-doc .resume-url a,.resume-doc .resume-contact a{text-underline-offset:2px;text-decoration:underline}.resume-header{text-align:center;background:0 0;border-radius:0;height:auto;margin-bottom:4px;padding:0}.resume-name{font-family:var(--resume-serif);color:#000;letter-spacing:.5px;font-size:27px;font-weight:700;line-height:1.15}.resume-title{color:#000;margin-top:2px;font-size:17px}.resume-contact{color:var(--resume-ink);margin-top:6px;font-size:13px}.resume-contact .resume-sep{color:var(--resume-ink);padding:0 7px}.resume-section-title{font-family:var(--resume-serif);color:#000;text-align:center;border-bottom:1px solid var(--resume-rule);margin-top:18px;margin-bottom:6px;padding-bottom:5px;font-size:17px;font-weight:400}.resume-block{margin-bottom:2px}.resume-doc table.resume-block{border-collapse:collapse;width:100%;font:inherit}.resume-doc table.resume-block thead{display:table-header-group}.resume-doc table.resume-block td{vertical-align:top;text-align:left;padding:0}.resume-entry{margin-top:10px}.resume-entry:first-of-type{margin-top:4px}.resume-row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.resume-company,.resume-school{text-shadow:.35px 0;color:#000;font-size:15.5px;font-weight:400}.resume-role,.resume-url,.resume-meta,.resume-degree{font-size:13px}.resume-role,.resume-degree{color:#000}.resume-meta{color:var(--resume-ink);white-space:nowrap}.resume-desc{margin-top:3px}.resume-stack{color:#313131;margin-top:3px;font-weight:700}.resume-stack-label{font-weight:700}.resume-doc strong{color:#313131;font-weight:700}.resume-doc ul.resume-bullets{margin:4px 0 0;padding:0;list-style:none}.resume-doc ul.resume-bullets li{margin:0 0 2px;padding-left:18px;line-height:1.46;position:relative}.resume-doc ul.resume-bullets li:before{width:auto;color:var(--resume-ink);margin:0;position:absolute;top:0;left:4px;content:"•"!important}.resume-skills-group{margin-top:4px}.resume-edu{margin-top:8px}.resume-cert{margin-top:4px}.resume-cert-by{color:var(--resume-muted)}.resume-editor{min-height:100dvh;color:var(--bg-color);padding:var(--global-side-padding);background:#2a2a2a}.resume-editor-inner{max-width:1500px;margin:0 auto}.resume-editor-toolbar{z-index:20;margin-bottom:var(--global-side-padding);background:#1f1f1f;border:1px solid #3a3a3a;border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;display:flex;position:sticky;top:0}.resume-editor-toolbar .spacer{flex:auto}.resume-save-state{font-family:var(--resume-sans);color:#b9b9a8;font-size:12.5px}.resume-save-state.dirty{color:#e7c66b}.resume-grid{gap:var(--global-side-padding);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;display:grid}@media (max-width:1000px){.resume-grid{grid-template-columns:1fr}}.resume-form{font-family:var(--resume-sans);flex-direction:column;gap:14px;min-width:0;display:flex}.resume-preview-col{min-width:0;position:sticky;top:76px}@media (max-width:1000px){.resume-preview-col{position:static}}.resume-preview-label{font-family:var(--resume-sans);letter-spacing:.5px;text-transform:uppercase;color:#b9b9a8;margin-bottom:8px;font-size:12.5px}.resume-card{color:#1e1e1e;background:#f4f4e3;border-radius:12px;padding:14px}.resume-card>.resume-card-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.resume-card-head h3{font-family:var(--resume-sans);text-transform:uppercase;letter-spacing:.4px;font-size:15px;font-weight:700}.resume-subcard{background:#fbfbef;border:1px solid #1e1e1e2e;border-radius:10px;margin-top:10px;padding:12px}.resume-subcard-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.resume-subcard-head .title{font-family:var(--resume-sans);color:#555;font-size:13px;font-weight:700}.resume-subcard-actions{gap:6px;display:flex}.resume-field{flex-direction:column;gap:4px;margin-bottom:9px;display:flex}.resume-field:last-child{margin-bottom:0}.resume-field>label{font-family:var(--resume-sans);letter-spacing:.3px;text-transform:uppercase;color:#6a6a5f;font-size:11.5px;font-weight:700}.resume-field-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}@media (max-width:540px){.resume-field-row{grid-template-columns:1fr}}.resume-form input,.resume-form textarea{font-family:var(--resume-sans);color:#1e1e1e;background:#fff;border:1px solid #1e1e1e40;border-radius:8px;width:100%;padding:8px 10px;font-size:14px;line-height:1.4}.resume-form textarea{resize:vertical;min-height:64px}.resume-form input:focus,.resume-form textarea:focus{outline-offset:0;border-color:#0000;outline:2px solid #4f4b45}.resume-hint{font-family:var(--resume-sans);color:#8a8a7c;margin-top:-2px;font-size:11px}.resume-btn{font-family:var(--resume-sans);cursor:pointer;color:#f4f4e3;white-space:nowrap;background:#4f4b45;border:1px solid #0000;border-radius:8px;padding:7px 12px;font-size:13px;font-weight:700;line-height:1;transition:filter .15s}.resume-btn:hover{filter:brightness(1.12)}.resume-btn.ghost{color:#f4f4e3;background:0 0;border-color:#5a5a5a}.resume-btn.on-paper.ghost{color:#1e1e1e;border-color:#1e1e1e4d}.resume-btn.danger{color:#c0552f;background:0 0;border-color:#c0552f80}.resume-btn.small{padding:5px 9px;font-size:12px}.resume-btn:disabled{opacity:.45;cursor:not-allowed}.resume-btn.label-file{align-items:center;display:inline-flex}.resume-btn.label-file input{display:none}@media print{html,body{background:#fff!important}.no-print{display:none!important}.resume-page,.resume-editor{background:#fff!important;min-height:0!important;padding:0!important}.resume-grid{display:block!important}.resume-preview-col{position:static!important}.resume-doc{box-shadow:none!important;border-radius:0!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;font-size:10.9px!important;line-height:1.38!important}.resume-name{font-size:19px!important;line-height:1.2!important}.resume-title{font-size:15px!important}.resume-contact{font-size:12.5px!important}.resume-section-title{margin-top:12px!important;margin-bottom:3px!important;padding-bottom:5px!important;font-size:14px!important}.resume-company,.resume-school{font-size:15px!important}.resume-role,.resume-url,.resume-meta,.resume-degree{font-size:12.5px!important}.resume-entry{margin-top:8px!important}.resume-block{margin-bottom:0!important}.resume-desc{margin-top:2px!important}.resume-skills-group,.resume-edu{margin-top:3px!important}.resume-cert{margin-top:4px!important}.resume-doc ul.resume-bullets{margin-top:2px!important}.resume-doc ul.resume-bullets li{margin-top:1px!important;margin-bottom:0!important;padding-left:18px!important}.resume-entry,.resume-edu,.resume-row{break-inside:avoid}.resume-section-title{break-after:avoid}@page{size:A4;margin:8mm 10mm 10mm}}@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-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}
