@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;600;700&family=IBM+Plex+Sans:wght@300;400;600&display=swap";*{margin:0;padding:0;box-sizing:border-box}body,input,textarea{font-family:Inter,IBM Plex Sans,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial;font-size:1rem;font-weight:500;color:var(--text)}img{max-width:100%;height:auto;display:block}ul{list-style:none}a{color:inherit;text-decoration:none}.app-shell{min-height:100vh;width:100%;display:flex;flex-direction:column;align-items:stretch}.page-container{width:100%;max-width:1200px;margin:0 auto;padding:0 1.5rem 4rem;flex:1;display:flex;flex-direction:column;gap:var(--gap-md)}.page-container>*{width:100%}.section{padding-block:4rem}.section__title{font-size:clamp(2.2rem,4vw,3.2rem);font-weight:700;text-align:center;color:var(--text);margin-bottom:3rem}.section__title span{color:var(--primary-color)}.grid{display:grid}.button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.85rem 1.6rem;border-radius:999px;border:1px solid var(--primary-color);background:transparent;color:var(--text);font-size:.95rem;font-weight:500;transition:transform .2s ease,background .2s ease,color .2s ease,border-color .2s ease}.button:hover{background:var(--primary-color);border-color:var(--primary-color);color:#fff;transform:translateY(-2px)}.button__icon{display:inline-flex;align-items:center;justify-content:center;width:2.4rem;height:2.4rem;border-radius:50%;background:var(--primary-color);color:#fff;font-size:1.1rem}.navbar{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem;gap:var(--gap-base);background:var(--glass);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:50}.nav-left{display:flex;align-items:center;gap:var(--gap-base)}.logo{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.logo-mark{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-sm);background:var(--primary-color);color:#fff;font-weight:700}.nav-center{display:flex;align-items:center;gap:var(--gap-md)}.nav-link{position:relative;color:var(--text);text-decoration:none;padding:.25rem;transition:transform .15s ease,color .15s ease}.nav-link:hover{color:var(--primary-color);transform:translateY(-2px)}.nav-link.active:after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:2px;background:var(--primary-color);border-radius:2px}.nav-right{display:flex;align-items:center;gap:var(--gap-base)}.nav-toggle{display:none;position:relative;width:38px;height:30px;border:1px solid var(--glass);border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--shadow-card)}.nav-toggle .bar{position:absolute;left:8px;right:8px;height:2px;background:var(--text);border-radius:2px;transition:transform .2s ease,opacity .2s ease}.nav-toggle .bar:nth-child(1){top:8px}.nav-toggle .bar:nth-child(2){top:14px}.nav-toggle .bar:nth-child(3){top:20px}.btn-resume{display:inline-flex;align-items:center;justify-content:center;height:36px;padding:0 14px;border-radius:var(--radius-md);background:var(--primary-color);color:#fff;text-decoration:none;box-shadow:var(--shadow-card);transition:transform .15s ease,filter .15s ease}.btn-resume:hover{transform:translateY(-2px);filter:brightness(1.05)}@media(max-width:768px){.nav-center{display:none}.nav-toggle{display:inline-flex;align-items:center;justify-content:center}}.nav-drawer{position:fixed;left:0;right:0;top:56px;background:var(--surface);border-bottom:1px solid var(--glass);box-shadow:var(--shadow-card);display:grid;gap:.5rem;padding:.75rem 1rem 1rem;transform:translateY(-8px);opacity:0;pointer-events:none;transition:opacity .18s ease,transform .18s ease;z-index:49}.nav-drawer .nav-link{padding:.5rem;border-radius:var(--radius-sm)}.nav-drawer .nav-link:hover{color:var(--primary-color);background:var(--glass);transform:none}.nav-drawer.open{transform:translateY(0);opacity:1;pointer-events:auto}.button{cursor:pointer;display:inline-flex;justify-content:center;align-items:center;text-decoration:none;border:none;font-family:Inter,IBM Plex Sans,system-ui,sans-serif;font-weight:600;transition:all .2s ease;gap:.5rem}.button--default{padding:.85rem 1.6rem;border-radius:999px;border:1px solid var(--primary-color);background:transparent;color:var(--text);font-size:.95rem;box-shadow:0 0 .1em 0 transparent;transition:all .3s ease}.button--default:hover{background:var(--primary-color);border-color:var(--primary-color);color:#fff;transform:translateY(-2px);box-shadow:0 0 .8em #0ea5a466}.button--default.button--animated:hover{outline:.08em solid transparent;outline-offset:.2em;animation:ripple-accent 1s linear infinite,colorize-accent 1s infinite}.button--default:active{transform:translateY(0) scale(.98)}.button--primary{padding:.85rem 1.6rem;border-radius:var(--radius-md);border:1px solid transparent;background:var(--primary-color);color:#fff;font-size:.95rem;box-shadow:0 0 .2em #0ea5a44d;transition:all .3s ease}.button--primary:hover{background:var(--secondary-color);transform:translateY(-2px);box-shadow:0 0 1em #0ea5a480}.button--primary.button--animated:hover{outline:.08em solid transparent;outline-offset:.2em;animation:ripple-accent 1s linear infinite,colorize-accent-primary 1s infinite}.button--primary:active{transform:translateY(0) scale(.98)}.button--colorful{padding:.85rem 1.6rem;border-radius:var(--radius-md);border:1px solid transparent;background:#ff135a;color:#fff;font-size:.95rem;box-shadow:0 0 .2em #ff135a4d;transition:all .3s ease}.button--colorful:hover{background:#ff1472;transform:translateY(-2px);box-shadow:0 0 1em #ff135a80}.button--colorful.button--animated:hover{outline:.1em solid transparent;outline-offset:.2em;animation:ripple 1s linear infinite,colorize 1s infinite}.button--colorful:active{transform:translateY(0) scale(.98)}.button--arrows span{margin-right:.3em;transition:.5s}.button--arrows:hover span{text-shadow:2px 2px 4px rgba(0,0,0,.2)}.button--arrows:active span{text-shadow:none}.button--arrows svg{height:.8em;fill:currentColor;margin-right:-.16em;position:relative;transition:.5s}.button--arrows:hover svg{margin-right:.66em;transition:.5s;filter:drop-shadow(3px 3px 2px rgba(0,0,0,.2))}.button--arrows:active svg{filter:none}.button--arrows svg polygon:nth-child(1){transition:.4s;transform:translate(-60%)}.button--arrows svg polygon:nth-child(2){transition:.5s;transform:translate(-30%)}.button--arrows:hover svg polygon:nth-child(1){transform:translate(0);animation:opacity 1s infinite .6s}.button--arrows:hover svg polygon:nth-child(2){transform:translate(0);animation:opacity 1s infinite .4s}.button--arrows:hover svg polygon:nth-child(3){animation:opacity 1s infinite .2s}.button--arrows.button--colorful{--color-text: #ffffff;--color-background: #ff135a;--color-background-hover: #ff1472;--color-outline: #ff145a40;--color-shadow: #00000040;--main-size: 2em;border-radius:calc(var(--main-size) * 100);padding:.33em 0 .33em .66em;font-family:Poppins,sans-serif;font-size:var(--main-size);transition:1s}.button--arrows.button--colorful:active{transform:scale(.95)}.button--arrows.button--colorful:hover span{text-shadow:5px 5px 5px var(--color-shadow)}.button--arrows.button--colorful svg{fill:var(--color-text)}.button--arrows.button--colorful:hover svg{filter:drop-shadow(5px 5px 2.5px var(--color-shadow))}.button--sm{padding:.6rem 1.2rem;font-size:.875rem}.button--md{padding:.85rem 1.6rem;font-size:.95rem}.button--lg{padding:1rem 2rem;font-size:1.1rem}.button--arrows.button--colorful.button--sm{--main-size: 1.5em}.button--arrows.button--colorful.button--md{--main-size: 2em}.button--arrows.button--colorful.button--lg{--main-size: 2.5em}.button:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}@keyframes opacity{0%{opacity:1}50%{opacity:0}to{opacity:1}}@keyframes colorize{0%{background:var(--color-background)}50%{background:var(--color-background-hover)}to{background:var(--color-background)}}@keyframes ripple{0%{outline:0em solid transparent;outline-offset:-.1em}50%{outline:.2em solid var(--color-outline);outline-offset:.2em}to{outline:.4em solid transparent;outline-offset:.4em}}@keyframes ripple-accent{0%{outline:0em solid transparent;outline-offset:-.1em}50%{outline:.2em solid rgba(14,165,164,.3);outline-offset:.2em}to{outline:.4em solid transparent;outline-offset:.4em}}@keyframes colorize-accent{0%{background:var(--primary-color);box-shadow:0 0 .8em #0ea5a466}50%{background:var(--secondary-color);box-shadow:0 0 1em #0ea5a499}to{background:var(--primary-color);box-shadow:0 0 .8em #0ea5a466}}@keyframes colorize-accent-primary{0%{background:var(--primary-color);box-shadow:0 0 1em #0ea5a480}50%{background:var(--secondary-color);box-shadow:0 0 1.2em #0ea5a4b3}to{background:var(--primary-color);box-shadow:0 0 1em #0ea5a480}}.button:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.button--animated:focus-visible{outline:2px solid var(--color-background);outline-offset:2px}.CircularProgressbar{width:100%;vertical-align:middle}.CircularProgressbar .CircularProgressbar-path{stroke:#3e98c7;stroke-linecap:round;-webkit-transition:stroke-dashoffset .5s ease 0s;transition:stroke-dashoffset .5s ease 0s}.CircularProgressbar .CircularProgressbar-trail{stroke:#d6d6d6;stroke-linecap:round}.CircularProgressbar .CircularProgressbar-text{fill:#3e98c7;font-size:20px;dominant-baseline:middle;text-anchor:middle}.CircularProgressbar .CircularProgressbar-background{fill:#d6d6d6}.CircularProgressbar.CircularProgressbar-inverted .CircularProgressbar-background{fill:#3e98c7}.CircularProgressbar.CircularProgressbar-inverted .CircularProgressbar-text{fill:#fff}.CircularProgressbar.CircularProgressbar-inverted .CircularProgressbar-path{stroke:#fff}.CircularProgressbar.CircularProgressbar-inverted .CircularProgressbar-trail{stroke:transparent}.about__container{grid-template-columns:repeat(2,1fr);justify-items:end;align-items:start;gap:var(--gap-md)}.info__list,.stats{grid-template-columns:repeat(2,1fr)}.resume__container{grid-template-columns:repeat(2,1fr);align-items:start;gap:var(--gap-md)}.info__list{row-gap:20px;margin-bottom:32px}.section__subtitle{font-size:var(--h3-font-size);font-weight:var(--weight-600);margin-bottom:20px}.info__list .info__title,.info__list .info__description{font-size:var(--small-font-size)}.info__list .info__description{color:var(--title-color);font-weight:var(--weight-600)}.stats{display:flex;flex-direction:column;gap:var(--gap-md);width:50%}.stats__box{border:1px solid var(--border-color);padding:20px 30px 25px;border-radius:5px}.stats__no{color:var(--primary-color);font-size:var(--h1-font-size);line-height:1.2}.stats__title{font-size:var(--small-font-size);line-height:1.6;padding-left:45px;position:relative}.stats__title:before{content:"";position:absolute;left:0;top:25%;width:30px;height:1px;background-color:var(--text-color)}.separator{border-top:1px solid var(--border-color);max-width:40%;margin:72px auto 56px}.subtitle__center{text-align:center;margin-bottom:50px}.progress__box{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}.skills__container{grid-template-columns:repeat(4,1fr);justify-items:center;row-gap:48px}.progress__circle{width:120px;height:120px}.CircularProgressbar-path{stroke:var(--primary-color)!important;stroke-linecap:butt!important}.CircularProgressbar-trail{stroke:var(--container-color)!important}.CircularProgressbar-text{fill:var(--title-color)!important;font-family:var(--second-font)!important;font-size:var(--large-font-size)!important}.skills__title{font-family:var(--body-font);font-size:var(--normal-font-size);font-weight:var(--weight-400);text-align:center;margin-top:24px}.resume__item{position:relative;padding-left:28px;border-left:2px solid var(--glass)}.resume__item:not(:last-child){margin-bottom:28px}.resume__item:before{content:"";position:absolute;left:-7px;top:.6rem;width:10px;height:10px;border-radius:50%;background:var(--primary-color);box-shadow:0 0 0 3px #0ea5a426}.resume__icon{display:none}.resume__date{font-size:var(--tiny-font-size);font-weight:var(--weight-600);background-color:var(--container-color);padding:2px 10px;border-radius:20px}.resume__subtitle{font-size:var(--large-font-size);font-weight:var(--weight-500);margin-block:20px 10px}.resume__subtitle span{color:var(--text-color);font-family:var(--body-font);font-size:var(--small-font-size);font-weight:var(--weight-600);position:relative;padding-left:26px}.resume__subtitle span:before{content:"";position:absolute;left:7px;top:9px;width:10px;height:2px;background-color:var(--text-color)}.resume__description{font-size:var(--smaller-font-size);line-height:1.6}@media(max-width:900px){.about__container,.stats,.resume__container{grid-template-columns:1fr}}.contact__container{grid-template-columns:4fr 8fr}.contact__card{background:var(--surface);border:1px solid var(--glass);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:24px}.form__label{display:block;font-size:var(--small-font-size);color:var(--muted);margin-bottom:6px}.contact__title{font-size:var(--h3-font-size);font-weight:var(--weight-600);margin-bottom:1rem}.contact__description{font-size:var(--small-font-size);line-height:1.6}.contact__description,.contact__info .info__item{margin-bottom:20px}.contact__info .info__item{display:flex;align-items:center;column-gap:16px}.contact__info .info__icon{color:var(--primary-color);font-size:var(--h2-font-size)}.contact__info .info__title{font-size:var(--small-font-size);font-weight:var(--weight-600)}.contact__info .info__desc{font-family:var(--body-font);font-size:var(--small-font-size);font-weight:var(--weight-500)}.contact__socials{display:flex;column-gap:16px}.contact__social-link{background-color:var(--container-color);border-radius:50%;color:var(--title-color);width:40px;height:40px;line-height:44px;text-align:center;transition:all .3s ease}.contact__social-link:hover{background-color:var(--primary-color);color:var(--text-white)}.form__input-group{display:grid;grid-template-columns:repeat(3,1fr);column-gap:30px}.form__input-div{margin-bottom:30px}.form__control{border:1px solid var(--container-color);background-color:var(--container-color);color:var(--title-color);width:100%;padding:12px 24px;border-radius:30px;font-size:var(--small-font-size);transition:all .3s ease}.form__control:focus{outline:none;box-shadow:0 0 0 4px #0ea5a41a;border-color:var(--secondary-color)}.textarea{resize:none;height:160px}.contact__button-icon{font-size:var(--h3-font-size);line-height:64px}.button--primary{background:var(--primary-color);color:#fff;border-color:transparent}.button--primary:hover{background:var(--secondary-color)}.hero{display:grid;grid-template-columns:1fr 420px;gap:var(--gap-md);align-items:center;padding:4rem 1.5rem;max-width:1200px;margin:0 auto}.hero h1{font-size:clamp(2rem,4.2vw,3.4rem);line-height:1.02;margin-bottom:.6rem}.tagline{color:var(--muted);margin-bottom:1rem}.cta{display:flex;gap:var(--gap-base);margin-top:1rem}.btn{display:inline-flex;align-items:center;justify-content:center;height:40px;padding:0 16px;border-radius:var(--radius-md);background:var(--surface);color:var(--text);text-decoration:none;border:1px solid var(--glass);box-shadow:var(--shadow-card);transition:transform .15s ease,filter .15s ease}.btn:hover{transform:translateY(-2px);filter:brightness(1.03)}.btn--primary{background:var(--primary-color);color:#fff;border-color:transparent}.terminal-card{background:var(--surface);border:1px solid var(--glass);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:1rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;white-space:pre-line;color:var(--text)}.fade-in-up{opacity:0;transform:translateY(10px);animation:fadeUp .5s ease forwards}@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}@media(max-width:900px){.hero{grid-template-columns:1fr;padding:3rem 1rem}}.container{max-width:1200px;margin:0 auto;padding:0 1rem}.fade-up{opacity:0;transform:translateY(8px);animation:fadeUp .6s forwards}@keyframes fadeUp{to{opacity:1;transform:none}}.grid-two{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--gap-base)}.grid-three{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap-base)}@media(max-width:900px){.grid-three{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.grid-two,.grid-three{grid-template-columns:1fr}}:root{--bg: #f7f8fa;--surface: #ffffff;--text: #0f1724;--muted: #6b7280;--glass: rgba(15, 23, 36, .04);--primary-color: #0ea5a4;--secondary-color: #057a74;--accent: var(--primary-color);--accent-strong: var(--secondary-color);--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--shadow-card: 0 6px 18px rgba(2, 6, 23, .06);--gap-sm: .5rem;--gap-base: 1rem;--gap-md: 1.5rem;--first-color: var(--primary-color);--title-color: var(--text);--text-color: var(--muted);--text-white: #ffffff;--container-color: var(--surface);--border-color: rgba(15, 23, 36, .12);--h1-font-size: 3rem;--h2-font-size: 2.2rem;--h3-font-size: 1.5rem;--large-font-size: 1.125rem;--normal-font-size: 1rem;--small-font-size: .95rem;--smaller-font-size: .85rem;--tiny-font-size: .75rem;--weight-400: 400;--weight-500: 500;--weight-600: 600;--weight-700: 700;--weight-800: 800}.theme-dark{--bg: #0b1220;--surface: #071021;--text: #e6eef3;--muted: #9aa6b2;--glass: rgba(255, 255, 255, .04);--shadow-card: 0 6px 18px rgba(0, 0, 0, .45);--primary-color: #34d3cc;--secondary-color: #08a399;--accent: var(--primary-color);--accent-strong: var(--secondary-color);--first-color: var(--primary-color);--title-color: var(--text);--text-color: var(--muted);--text-white: #ffffff;--container-color: var(--surface);--border-color: rgba(148, 163, 184, .24)}html,body,#root{background:var(--bg);color:var(--text);font-family:Inter,IBM Plex Sans,system-ui}#root{min-height:100vh}:root{font-family:Inter,IBM Plex Sans,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:var(--primary-color);text-decoration:none}a:hover{color:var(--secondary-color)}body{margin:0;min-width:320px;min-height:100vh;display:block;overflow-y:scroll;scrollbar-gutter:stable both-edges}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}}a:focus-visible,button:focus-visible,[tabindex]:focus-visible,.btn:focus-visible,.nav-link:focus-visible,.btn-resume:focus-visible,.action:focus-visible,.button:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}@media(prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
