:root,body.dark{--bg:#0d1117;--bg-elevated:#161b22;--surface:#1c2230;--surface-hover:#232b3a;--border:#2a3140;--text:#e6edf3;--text-muted:#9aa7b8;--text-faint:#6b7686;--accent:#22d3ee;--accent-2:#34d399;--accent-contrast:#04121a;--accent-glow:#22d3ee40;--tag-bg:#22d3ee1a;--tag-text:#7ee7fb;--shadow-color:#0006}body.light{--bg:#f6f8fc;--bg-elevated:#fff;--surface:#fff;--surface-hover:#eef2f8;--border:#dfe5ee;--text:#10151d;--text-muted:#4c5b70;--text-faint:#7a8798;--accent:#0a8fa8;--accent-2:#0f9d68;--accent-contrast:#fff;--accent-glow:#0a8fa82e;--tag-bg:#0a8fa81a;--tag-text:#0a7c93;--shadow-color:#0f192d1f}.section{padding-block:6rem}@media(max-width:768px){.section{padding-block:4rem}}.section-title{margin-bottom:2.5rem}.section-title h2{align-items:baseline;display:flex;font-size:clamp(1.6rem,4vw,2.2rem);font-weight:700;gap:.5rem;letter-spacing:-.02em}.section-title__mark{color:#22d3ee;color:var(--accent);font-family:JetBrains Mono,Fira Code,SF Mono,Consolas,Roboto Mono,monospace}.section-title__subtitle{color:#9aa7b8;color:var(--text-muted);font-size:1rem;margin-top:.5rem}.card{background:#1c2230;background:var(--surface);border:1px solid #2a3140;border:1px solid var(--border);border-radius:16px;padding:1.5rem;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}.card:hover{border-color:#22d3ee;border-color:var(--accent);box-shadow:0 12px 28px #0006;box-shadow:0 12px 28px var(--shadow-color);transform:translateY(-4px)}.tag{background:#22d3ee1a;background:var(--tag-bg);border:1px solid #0000;border-radius:999px;color:#7ee7fb;color:var(--tag-text);display:inline-block;font-family:JetBrains Mono,Fira Code,SF Mono,Consolas,Roboto Mono,monospace;font-size:.78rem;padding:.2rem .6rem;white-space:nowrap}.navbar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:color-mix(in srgb,#0d1117 85%,#0000);background:color-mix(in srgb,var(--bg) 85%,#0000);border-bottom:1px solid #2a3140;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100}.navbar__inner{align-items:center;display:flex;gap:1rem;height:4rem;justify-content:space-between}.navbar__logo{font-family:JetBrains Mono,Fira Code,SF Mono,Consolas,Roboto Mono,monospace;font-size:1.15rem;font-weight:700;letter-spacing:.02em}.navbar__logo-bracket{color:#22d3ee;color:var(--accent)}.navbar__links{display:flex;gap:1.5rem}.navbar__links a{color:#9aa7b8;color:var(--text-muted);font-size:.95rem;position:relative;transition:color .15s ease}.navbar__links a:after{background:#22d3ee;background:var(--accent);bottom:-4px;content:"";height:2px;left:0;position:absolute;transition:width .25s ease;width:0}.navbar__links a:hover{color:#e6edf3;color:var(--text)}.navbar__links a:hover:after{width:100%}.navbar__actions{align-items:center;display:flex;gap:.75rem}.navbar__lang,.navbar__theme{background:#1c2230;background:var(--surface);border:1px solid #2a3140;border:1px solid var(--border);border-radius:999px;color:#e6edf3;color:var(--text);font-family:JetBrains Mono,Fira Code,SF Mono,Consolas,Roboto Mono,monospace;font-size:.85rem;line-height:1;padding:.35rem .6rem;transition:border-color .15s ease,background .15s ease}.navbar__lang:hover,.navbar__theme:hover{border-color:#22d3ee;border-color:var(--accent)}.navbar__theme{font-size:1rem;padding:.35rem .5rem}.navbar__burger{background:#0000;border:1px solid #2a3140;border:1px solid var(--border);border-radius:6px;display:none;flex-direction:column;gap:5px;height:40px;justify-content:center;padding:0 9px;width:40px}.navbar__burger span{background:#e6edf3;background:var(--text);display:block;height:2px;transition:transform .25s ease,opacity .25s ease;width:100%}.navbar__burger.is-open span:first-child{transform:translateY(7px) rotate(45deg)}.navbar__burger.is-open span:nth-child(2){opacity:0}.navbar__burger.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}@media(max-width:768px){.navbar__burger{display:flex}.navbar__links{background:#161b22;background:var(--bg-elevated);flex-direction:column;gap:0;left:0;max-height:0;overflow:hidden;position:absolute;right:0;top:4rem;transition:max-height .25s ease}.navbar__links,.navbar__links a{border-bottom:1px solid #2a3140;border-bottom:1px solid var(--border)}.navbar__links a{padding:1rem 1.5rem}.navbar__links.is-open{max-height:22rem}}.hero{overflow:hidden;padding-block:6rem;position:relative}.hero:before{background:radial-gradient(circle,#22d3ee40,#0000 60%);background:radial-gradient(circle,var(--accent-glow),#0000 60%);content:"";height:45rem;pointer-events:none;position:absolute;right:-10%;top:-20%;width:45rem;z-index:0}.hero__inner{grid-gap:4rem;align-items:center;display:grid;gap:4rem;grid-template-columns:1.4fr 1fr;position:relative;z-index:1}@media(max-width:1024px){.hero__inner{grid-template-columns:1fr}}.hero__greeting{color:#22d3ee;color:var(--accent);font-family:JetBrains Mono,Fira Code,SF Mono,Consolas,Roboto Mono,monospace;font-size:1rem;margin-bottom:.75rem}.hero__prompt{color:#34d399;color:var(--accent-2)}.hero__name{font-size:clamp(2.4rem,7vw,4rem);font-weight:800;letter-spacing:-.03em;line-height:1.05}.hero__typewriter{color:#22d3ee;color:var(--accent);font-family:JetBrains Mono,Fira Code,SF Mono,Consolas,Roboto Mono,monospace;font-size:clamp(1.1rem,3vw,1.6rem);font-weight:600;margin-top:.75rem;min-height:1.6em}.hero__typewriter-cursor{animation:hero-caret-blink 1s step-end infinite;color:#34d399;color:var(--accent-2);display:inline-block;font-weight:400;margin-left:2px}.hero__title{color:#e6edf3;color:var(--text);font-family:JetBrains Mono,Fira Code,SF Mono,Consolas,Roboto Mono,monospace;font-size:clamp(.95rem,2.2vw,1.15rem);margin-top:.75rem}.hero__location{font-size:.95rem;margin-top:.5rem}.hero__location,.hero__summary{color:#9aa7b8;color:var(--text-muted)}.hero__summary{font-size:1.02rem;margin-top:1.5rem;max-width:46ch}.hero__actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2.5rem}.hero__socials{display:flex;gap:1.5rem;margin-top:1.5rem}.hero__socials a{border-bottom:1px dashed #0000;color:#9aa7b8;color:var(--text-muted);font-family:JetBrains Mono,Fira Code,SF Mono,Consolas,Roboto Mono,monospace;font-size:.9rem;transition:color .15s ease,border-color .15s ease}.hero__socials a:hover{border-color:#22d3ee;border-color:var(--accent);color:#22d3ee;color:var(--accent)}.hero__photo{justify-self:center}.hero__photo img{border:1px solid #2a3140;border:1px solid var(--border);border-radius:16px;object-fit:cover}.hero__photo img,.hero__photo-placeholder{height:min(320px,70vw);width:min(320px,70vw)}.hero__photo-placeholder{background:#1c2230;background:var(--surface);border:1.5px dashed #2a3140;border:1.5px dashed var(--border);border-radius:16px;color:#6b7686;color:var(--text-faint);display:grid;font-family:JetBrains Mono,Fira Code,SF Mono,Consolas,Roboto Mono,monospace;font-size:.9rem;place-items:center;position:relative}.hero__photo-placeholder:before{color:#22d3ee;color:var(--accent);content:"{ }";left:1rem;opacity:.5;position:absolute;top:.75rem}@keyframes hero-caret-blink{0%,to{opacity:1}50%{opacity:0}}@media(prefers-reduced-motion:reduce){.hero__typewriter-cursor{animation:none}}.btn{align-items:center;border:1px solid #0000;border-radius:10px;display:inline-flex;font-size:.95rem;font-weight:600;gap:.5rem;justify-content:center;padding:.7rem 1.3rem;transition:transform .15s ease,background .15s ease,border-color .15s ease,box-shadow .15s ease}.btn:hover{transform:translateY(-2px)}.btn--primary{background:#22d3ee;background:var(--accent);box-shadow:0 6px 18px #22d3ee40;box-shadow:0 6px 18px var(--accent-glow);color:#04121a;color:var(--accent-contrast)}.btn--ghost{background:#0000;border-color:#2a3140;border-color:var(--border);color:#e6edf3;color:var(--text)}.btn--ghost:hover{border-color:#22d3ee;border-color:var(--accent);color:#22d3ee;color:var(--accent)}.about__grid{grid-gap:4rem;align-items:center;display:grid;gap:4rem;grid-template-columns:1.6fr 1fr}@media(max-width:768px){.about__grid{gap:2.5rem;grid-template-columns:1fr}}.about__text{color:#9aa7b8;color:var(--text-muted);font-size:1.08rem;line-height:1.8}.about__highlights{grid-gap:1rem;display:grid;gap:1rem}.about__stat{background:#1c2230;background:var(--surface);border:1px solid #2a3140;border-left:3px solid #22d3ee;border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:10px;display:flex;flex-direction:column;padding:1rem 1.5rem}.about__stat-value{color:#22d3ee;color:var(--accent);font-family:JetBrains Mono,Fira Code,SF Mono,Consolas,Roboto Mono,monospace;font-size:1.5rem;font-weight:700}.about__stat-label{color:#9aa7b8;color:var(--text-muted);font-size:.9rem}.timeline{padding-left:2.5rem;position:relative}.timeline:before{background:#2a3140;background:var(--border);bottom:6px;content:"";left:7px;position:absolute;top:6px;width:2px}.timeline__item{padding-bottom:2.5rem;position:relative}.timeline__item:last-child{padding-bottom:0}.timeline__dot{background:#0d1117;background:var(--bg);border:3px solid #22d3ee;border:3px solid var(--accent);border-radius:50%;height:16px;left:calc(-2.5rem + 1px);position:absolute;top:6px;width:16px}.timeline__card{background:#1c2230;background:var(--surface);border:1px solid #2a3140;border:1px solid var(--border);border-radius:16px;padding:1.5rem;transition:border-color .25s ease}.timeline__card:hover{border-color:#22d3ee;border-color:var(--accent)}.timeline__head{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.timeline__role{font-size:1.15rem;font-weight:700}.timeline__badge{background:#34d399;background:var(--accent-2);border-radius:999px;color:#04121a;color:var(--accent-contrast);font-family:JetBrains Mono,Fira Code,SF Mono,Consolas,Roboto Mono,monospace;font-size:.72rem;font-weight:600;padding:.15rem .55rem}.timeline__company{color:#e6edf3;color:var(--text);font-weight:500;margin-top:.2rem}.timeline__company span{color:#9aa7b8;color:var(--text-muted);font-weight:400}.timeline__period{color:#22d3ee;color:var(--accent);font-family:JetBrains Mono,Fira Code,SF Mono,Consolas,Roboto Mono,monospace;font-size:.85rem;margin-top:.15rem}.timeline__bullets{grid-gap:.5rem;display:grid;gap:.5rem;margin-top:1rem}.timeline__bullets li{color:#9aa7b8;color:var(--text-muted);font-size:.95rem;padding-left:1rem;position:relative}.timeline__bullets li:before{color:#22d3ee;color:var(--accent);content:"▹";left:0;position:absolute}.projects__grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}@media(max-width:480px){.projects__grid{grid-template-columns:1fr}}.project-card{background:#1c2230;background:var(--surface);border:1px solid #2a3140;border:1px solid var(--border);border-radius:16px;display:flex;flex-direction:column;overflow:hidden;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}.project-card:hover{border-color:#22d3ee;border-color:var(--accent);box-shadow:0 14px 30px #0006;box-shadow:0 14px 30px var(--shadow-color);transform:translateY(-6px)}.project-card__media{aspect-ratio:16/9;background:#161b22;background:var(--bg-elevated)}.project-card__media img{height:100%;object-fit:cover;width:100%}.project-card__media-placeholder{background:linear-gradient(135deg,#1c2230,#161b22);background:linear-gradient(135deg,var(--surface),var(--bg-elevated));color:#22d3ee;color:var(--accent);display:grid;font-family:JetBrains Mono,Fira Code,SF Mono,Consolas,Roboto Mono,monospace;font-size:2rem;height:100%;opacity:.5;place-items:center;width:100%}.project-card__body{display:flex;flex:1 1;flex-direction:column;gap:.75rem;padding:1.5rem}.project-card__title{font-family:JetBrains Mono,Fira Code,SF Mono,Consolas,Roboto Mono,monospace;font-size:1.05rem;font-weight:700;word-break:break-word}.project-card__desc{color:#9aa7b8;color:var(--text-muted);flex:1 1;font-size:.92rem}.project-card__tags{display:flex;flex-wrap:wrap;gap:.4rem}.project-card__links{display:flex;gap:1rem;margin-top:.5rem}.project-card__links a{color:#22d3ee;color:var(--accent);font-family:JetBrains Mono,Fira Code,SF Mono,Consolas,Roboto Mono,monospace;font-size:.85rem;transition:opacity .15s ease}.project-card__links a:hover{opacity:.7}.skills__grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}@media(max-width:480px){.skills__grid{grid-template-columns:1fr}}.skills__group{background:#1c2230;background:var(--surface);border:1px solid #2a3140;border:1px solid var(--border);border-radius:16px;padding:1.5rem;transition:border-color .25s ease}.skills__group:hover{border-color:#22d3ee;border-color:var(--accent)}.skills__group-title{color:#22d3ee;color:var(--accent);font-family:JetBrains Mono,Fira Code,SF Mono,Consolas,Roboto Mono,monospace;font-size:1rem;margin-bottom:1rem}.skills__group-title:before{color:#6b7686;color:var(--text-faint);content:"// "}.skills__tags{display:flex;flex-wrap:wrap;gap:.45rem}.edu__list{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.edu__card{align-items:flex-start;background:#1c2230;background:var(--surface);border:1px solid #2a3140;border:1px solid var(--border);border-radius:16px;display:flex;gap:1rem;padding:1.5rem;transition:border-color .25s ease}.edu__card:hover{border-color:#22d3ee;border-color:var(--accent)}.edu__icon{font-size:1.6rem;line-height:1}.edu__course{font-size:1.05rem;font-weight:700}.edu__institution{color:#9aa7b8;color:var(--text-muted);margin-top:.2rem}.edu__period{color:#22d3ee;color:var(--accent);font-size:.85rem;margin-top:.15rem}.edu__period,.edu__subtitle{font-family:JetBrains Mono,Fira Code,SF Mono,Consolas,Roboto Mono,monospace}.edu__subtitle{font-size:1.15rem;margin-bottom:1.5rem;margin-top:4rem}.edu__subtitle:before{color:#22d3ee;color:var(--accent);content:"# "}.edu__empty{border:1px dashed #2a3140;border:1px dashed var(--border);border-radius:10px;color:#6b7686;color:var(--text-faint);font-family:JetBrains Mono,Fira Code,SF Mono,Consolas,Roboto Mono,monospace;font-size:.95rem;padding:1.5rem;text-align:center}.edu__certs{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.edu__cert{background:#1c2230;background:var(--surface);border:1px solid #2a3140;border:1px solid var(--border);border-radius:16px;display:flex;flex-direction:column;overflow:hidden;transition:transform .25s ease,border-color .25s ease}.edu__cert:hover{border-color:#22d3ee;border-color:var(--accent);transform:translateY(-4px)}.edu__cert img{aspect-ratio:4/3;object-fit:cover;width:100%}.edu__cert-body{padding:1rem 1.5rem}.edu__cert-body h4{font-size:1rem;font-weight:700}.edu__cert-body p{color:#9aa7b8;color:var(--text-muted);font-size:.88rem;margin-top:.2rem}.contact__form{display:flex;flex-direction:column;gap:1rem;max-width:640px}.contact__row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}@media(max-width:480px){.contact__row{grid-template-columns:1fr}}.contact__field{display:flex;flex-direction:column;gap:.35rem}.contact__field span{color:#9aa7b8;color:var(--text-muted);font-family:JetBrains Mono,Fira Code,SF Mono,Consolas,Roboto Mono,monospace;font-size:.82rem}.contact__field input,.contact__field textarea{background:#1c2230;background:var(--surface);border:1px solid #2a3140;border:1px solid var(--border);border-radius:10px;color:#e6edf3;color:var(--text);font-family:inherit;font-size:.95rem;padding:.7rem .9rem;resize:vertical;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.contact__field input:focus,.contact__field textarea:focus{border-color:#22d3ee;border-color:var(--accent);box-shadow:0 0 0 3px #22d3ee40;box-shadow:0 0 0 3px var(--accent-glow);outline:none}.contact__error{color:#f87171;font-family:JetBrains Mono,Fira Code,SF Mono,Consolas,Roboto Mono,monospace;font-size:.88rem}.contact__actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:.5rem}.footer{border-top:1px solid #2a3140;border-top:1px solid var(--border);padding-block:2.5rem}.footer__inner{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.footer__links{display:flex;gap:1.5rem}.footer__links a{color:#9aa7b8;color:var(--text-muted);font-family:JetBrains Mono,Fira Code,SF Mono,Consolas,Roboto Mono,monospace;font-size:.9rem;transition:color .15s ease}.footer__links a:hover{color:#22d3ee;color:var(--accent)}.footer__meta{color:#6b7686;color:var(--text-faint);font-size:.85rem}@media(max-width:480px){.footer__inner{flex-direction:column;text-align:center}}*,:after,:before{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:5rem}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#0d1117;background-color:var(--bg);color:#e6edf3;color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;line-height:1.6;transition:background-color .25s ease,color .25s ease}body,h1,h2,h3,h4,p{margin:0}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button{cursor:pointer;font-family:inherit}ul{list-style:none;margin:0;padding:0}.container{margin-inline:auto;max-width:1120px;padding-inline:1.5rem;width:100%}@media(max-width:768px){.container{padding-inline:1rem}}.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s cubic-bezier(.22,1,.36,1);will-change:opacity,transform}.reveal--visible{opacity:1;transform:none}.about__stat,.edu__card,.reveal .project-card,.skills__group,.timeline__card{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s cubic-bezier(.22,1,.36,1)}.about__stat,.edu__card,.reveal--visible .project-card,.skills__group,.timeline__card{opacity:1;transform:none}.reveal--visible :is(.project-card,.edu__card,.timeline__card,.about__stat,.skills__group):first-child{transition-delay:.07s}.reveal--visible :is(.project-card,.edu__card,.timeline__card,.about__stat,.skills__group):nth-child(2){transition-delay:.14s}.reveal--visible :is(.project-card,.edu__card,.timeline__card,.about__stat,.skills__group):nth-child(3){transition-delay:.21s}.reveal--visible :is(.project-card,.edu__card,.timeline__card,.about__stat,.skills__group):nth-child(4){transition-delay:.28s}.reveal--visible :is(.project-card,.edu__card,.timeline__card,.about__stat,.skills__group):nth-child(5){transition-delay:.35s}.reveal--visible :is(.project-card,.edu__card,.timeline__card,.about__stat,.skills__group):nth-child(6){transition-delay:.42s}.reveal--visible :is(.project-card,.edu__card,.timeline__card,.about__stat,.skills__group):nth-child(7){transition-delay:.49s}.reveal--visible :is(.project-card,.edu__card,.timeline__card,.about__stat,.skills__group):nth-child(8){transition-delay:.56s}.reveal--visible :is(.project-card,.edu__card,.timeline__card,.about__stat,.skills__group):nth-child(9){transition-delay:.63s}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.about__stat,.edu__card,.reveal,.reveal .project-card,.skills__group,.timeline__card{opacity:1;transform:none;transition:none}*{animation-duration:.001ms!important;transition-duration:.001ms!important}}
/*# sourceMappingURL=main.92b1c949.css.map*/