: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}svg{flex-shrink:0;vertical-align:middle}.svg-inline--fa{height:1.05em;width:1.05em}.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{align-items:center;background:#1c2230;background:var(--surface);border:1px solid #2a3140;border:1px solid var(--border);border-radius:999px;color:#e6edf3;color:var(--text);display:inline-flex;font-family:JetBrains Mono,Fira Code,SF Mono,Consolas,Roboto Mono,monospace;font-size:.85rem;gap:.35rem;line-height:1;padding:.35rem .6rem;transition:border-color .15s ease,background .15s ease,color .15s ease}.navbar__lang:hover,.navbar__theme:hover{border-color:#22d3ee;border-color:var(--accent);color:#22d3ee;color:var(--accent)}.navbar__theme{padding:.4rem}.navbar__burger{align-items:center;background:#0000;border:1px solid #2a3140;border:1px solid var(--border);border-radius:6px;color:#e6edf3;color:var(--text);display:none;height:40px;justify-content:center;transition:border-color .15s ease,color .15s ease;width:40px}.navbar__burger.is-open,.navbar__burger:hover{border-color:#22d3ee;border-color:var(--accent);color:#22d3ee;color:var(--accent)}@media(max-width:768px){.navbar__burger{display:inline-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{align-items:center;color:#9aa7b8;color:var(--text-muted);display:flex;font-size:.95rem;gap:.35rem;margin-top:.5rem}.hero__location svg{color:#22d3ee;color:var(--accent)}.hero__summary{color:#9aa7b8;color:var(--text-muted);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__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{align-items:center;color:#e6edf3;color:var(--text);display:flex;flex-wrap:wrap;font-weight:500;gap:.35rem;margin-top:.3rem}.timeline__company svg{color:#6b7686;color:var(--text-faint);flex:0 0 auto}.timeline__company span{color:#9aa7b8;color:var(--text-muted);font-weight:400}.timeline__sep{color:#6b7686;color:var(--text-faint);margin-inline:.15rem}.timeline__period{align-items:center;color:#22d3ee;color:var(--accent);display:flex;font-family:JetBrains Mono,Fira Code,SF Mono,Consolas,Roboto Mono,monospace;font-size:.85rem;gap:.35rem;margin-top:.25rem}.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(min(300px,100%),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/10;background:#161b22;background:var(--bg-elevated);border:0;cursor:pointer;display:block;overflow:hidden;padding:0;position:relative;width:100%}.project-card__media:hover .project-card__img{transform:scale(1.03)}.project-card__media:hover .project-card__zoom{opacity:1}.project-card__media-bg{background-position:50%;background-size:cover;filter:blur(26px) saturate(1.15) brightness(.75);inset:-10%;position:absolute;transform:scale(1.1)}.project-card__img{height:100%;object-fit:contain;position:relative;transition:transform .25s ease;width:100%}.project-card__count,.project-card__zoom{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:color-mix(in srgb,#050a12 65%,#0000);border-radius:999px;color:#e6edf3;display:inline-flex;font-family:JetBrains Mono,Fira Code,SF Mono,Consolas,Roboto Mono,monospace;font-size:.75rem;gap:.3rem;padding:.3rem .5rem;position:absolute}.project-card__zoom{opacity:0;right:.5rem;top:.5rem;transition:opacity .15s ease}.project-card__count{bottom:.5rem;right:.5rem}.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;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{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem 1rem;margin-top:.5rem}.project-card__links a,.project-card__links button{align-items:center;background:none;border:0;color:#22d3ee;color:var(--accent);display:inline-flex;font-family:JetBrains Mono,Fira Code,SF Mono,Consolas,Roboto Mono,monospace;font-size:.85rem;gap:.35rem;padding:0;transition:opacity .15s ease}.project-card__links a:hover,.project-card__links button:hover{opacity:.7}.project-card__details{font-weight:600}.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{color:#22d3ee;color:var(--accent);display:inline-flex;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{align-items:center;color:#22d3ee;color:var(--accent);display:flex;font-size:.85rem;gap:.35rem;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{display:flex;flex:1 1;flex-direction:column;gap:.35rem;padding:1rem 1.5rem}.edu__cert-body h4{font-size:1rem;font-weight:700}.edu__cert-issuer{color:#9aa7b8;color:var(--text-muted);font-size:.88rem}.edu__cert-meta{align-items:center;display:flex;flex-wrap:wrap;gap:.4rem;margin-top:auto;padding-top:.35rem}.edu__cert-mode,.edu__cert-place{align-items:center;border-radius:999px;display:inline-flex;font-family:JetBrains Mono,Fira Code,SF Mono,Consolas,Roboto Mono,monospace;font-size:.74rem;gap:.3rem;padding:.15rem .55rem;white-space:nowrap}.edu__cert-mode{border:1px solid #0000}.edu__cert-mode--in-person{background:color-mix(in srgb,#34d399 16%,#0000);background:color-mix(in srgb,var(--accent-2) 16%,#0000);border-color:color-mix(in srgb,#34d399 35%,#0000);border-color:color-mix(in srgb,var(--accent-2) 35%,#0000);color:#34d399;color:var(--accent-2)}.edu__cert-mode--remote{background:#22d3ee1a;background:var(--tag-bg);border-color:color-mix(in srgb,#22d3ee 30%,#0000);border-color:color-mix(in srgb,var(--accent) 30%,#0000);color:#7ee7fb;color:var(--tag-text)}.edu__cert-place{color:#9aa7b8;color:var(--text-muted)}.edu__cert-place,.trailhead{border:1px solid #2a3140;border:1px solid var(--border)}.trailhead{background:#1c2230;background:var(--surface);border-radius:16px;display:block;padding:1.5rem;transition:border-color .25s ease,transform .25s ease,box-shadow .25s ease}.trailhead: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)}.trailhead__head{align-items:center;display:flex;gap:1rem}.trailhead__logo{color:#00a1e0;font-size:2rem}.trailhead__rank{font-size:1.15rem;font-weight:700}.trailhead__handle{color:#9aa7b8;color:var(--text-muted);font-family:JetBrains Mono,Fira Code,SF Mono,Consolas,Roboto Mono,monospace;font-size:.8rem;word-break:break-all}.trailhead__external{color:#6b7686;color:var(--text-faint);flex:0 0 auto;margin-left:auto}.trailhead__stats{grid-gap:1rem;border-top:1px solid #2a3140;border-top:1px solid var(--border);display:grid;gap:1rem;grid-template-columns:repeat(4,1fr);margin-top:1.5rem;padding-top:1rem}.trailhead__stats div{display:flex;flex-direction:column;gap:.15rem}.trailhead__stats strong{color:#22d3ee;color:var(--accent);font-family:JetBrains Mono,Fira Code,SF Mono,Consolas,Roboto Mono,monospace;font-size:1.25rem}.trailhead__stats span{color:#9aa7b8;color:var(--text-muted);font-size:.8rem}@media(max-width:480px){.trailhead__stats{grid-template-columns:repeat(2,1fr)}}.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}}.social-links{align-items:center;display:flex;flex-wrap:wrap;gap:1rem 1.5rem}.social-links__item{align-items:center;border-bottom:1px dashed #0000;color:#9aa7b8;color:var(--text-muted);display:inline-flex;font-family:JetBrains Mono,Fira Code,SF Mono,Consolas,Roboto Mono,monospace;font-size:.9rem;gap:.45rem;transition:color .15s ease,border-color .15s ease}.social-links__item svg{color:#22d3ee;color:var(--accent);font-size:1.05rem;height:1.05em;transition:transform .15s ease;width:1.05em}.social-links__item:hover{border-color:#22d3ee;border-color:var(--accent);color:#22d3ee;color:var(--accent)}.social-links__item:hover svg{transform:translateY(-2px)}.social-links--hero{margin-top:1.5rem}.social-links--footer{gap:.75rem 1rem}.social-links--footer .social-links__item{font-size:.85rem}@media(max-width:480px){.social-links{gap:1rem}.social-links__item span{display:none}.social-links__item--whatsapp span{display:inline}}.modal{animation:modal-fade .2s ease;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#03070eb8;display:grid;inset:0;padding:1.5rem;place-items:center;position:fixed;z-index:110}.modal__panel{animation:modal-rise .25s cubic-bezier(.22,1,.36,1);background:#161b22;background:var(--bg-elevated);border:1px solid #2a3140;border:1px solid var(--border);border-radius:16px;box-shadow:0 24px 60px #0006;box-shadow:0 24px 60px var(--shadow-color);max-height:min(90vh,900px);overflow-y:auto;overscroll-behavior:contain;position:relative;scrollbar-color:color-mix(in srgb,#22d3ee 55%,#0000) #0000;scrollbar-color:color-mix(in srgb,var(--accent) 55%,#0000) #0000;scrollbar-width:thin;width:min(880px,100%)}.modal__panel::-webkit-scrollbar{height:8px;width:8px}.modal__panel::-webkit-scrollbar-track{background:#0000}.modal__panel::-webkit-scrollbar-thumb{background:color-mix(in srgb,#22d3ee 45%,#0000);background:color-mix(in srgb,var(--accent) 45%,#0000);background-clip:content-box;border:2px solid #0000;border-radius:999px;-webkit-transition:background .15s ease;transition:background .15s ease}.modal__panel:hover::-webkit-scrollbar-thumb{background:color-mix(in srgb,#22d3ee 70%,#0000);background:color-mix(in srgb,var(--accent) 70%,#0000);background-clip:content-box}.modal__panel::-webkit-scrollbar-thumb:active{background:#22d3ee;background:var(--accent);background-clip:content-box}.modal__close{align-items:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:color-mix(in srgb,#0d1117 70%,#0000);background:color-mix(in srgb,var(--bg) 70%,#0000);border:1px solid #2a3140;border:1px solid var(--border);border-radius:999px;color:#e6edf3;color:var(--text);display:inline-flex;height:36px;justify-content:center;position:absolute;right:1rem;top:1rem;transition:border-color .15s ease,color .15s ease;width:36px;z-index:2}.modal__close:hover{border-color:#22d3ee;border-color:var(--accent);color:#22d3ee;color:var(--accent)}.modal__gallery{background:#1c2230;background:var(--surface);overflow:hidden;position:relative}.modal__gallery-bg{background-position:50%;background-size:cover;filter:blur(30px) saturate(1.15) brightness(.7);inset:-8%;position:absolute;transform:scale(1.08)}.modal__gallery-img{display:block;height:min(56vh,460px);object-fit:contain;position:relative;width:100%}.modal__nav{align-items:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:color-mix(in srgb,#0d1117 70%,#0000);background:color-mix(in srgb,var(--bg) 70%,#0000);border:1px solid #2a3140;border:1px solid var(--border);border-radius:999px;color:#e6edf3;color:var(--text);display:inline-flex;height:40px;justify-content:center;position:absolute;top:50%;transform:translateY(-50%);transition:border-color .15s ease,color .15s ease;width:40px}.modal__nav:hover{border-color:#22d3ee;border-color:var(--accent);color:#22d3ee;color:var(--accent)}.modal__nav--prev{left:1rem}.modal__nav--next{right:1rem}.modal__thumbs{display:flex;gap:.5rem;overflow-x:auto;padding:.75rem 1.5rem 0;scrollbar-color:color-mix(in srgb,#22d3ee 55%,#0000) #0000;scrollbar-color:color-mix(in srgb,var(--accent) 55%,#0000) #0000;scrollbar-width:thin}.modal__thumbs::-webkit-scrollbar{height:6px;width:6px}.modal__thumbs::-webkit-scrollbar-track{background:#0000}.modal__thumbs::-webkit-scrollbar-thumb{background:color-mix(in srgb,#22d3ee 45%,#0000);background:color-mix(in srgb,var(--accent) 45%,#0000);background-clip:content-box;border:2px solid #0000;border-radius:999px;-webkit-transition:background .15s ease;transition:background .15s ease}.modal__thumbs:hover::-webkit-scrollbar-thumb{background:color-mix(in srgb,#22d3ee 70%,#0000);background:color-mix(in srgb,var(--accent) 70%,#0000);background-clip:content-box}.modal__thumbs::-webkit-scrollbar-thumb:active{background:#22d3ee;background:var(--accent);background-clip:content-box}.modal__thumb{background:none;border:1px solid #2a3140;border:1px solid var(--border);border-radius:6px;flex:0 0 auto;opacity:.6;overflow:hidden;padding:0;transition:opacity .15s ease,border-color .15s ease;width:84px}.modal__thumb img{aspect-ratio:16/10;background:#161b22;background:var(--bg-elevated);object-fit:cover;width:100%}.modal__thumb.is-active,.modal__thumb:hover{border-color:#22d3ee;border-color:var(--accent);opacity:1}.modal__body{display:flex;flex-direction:column;gap:.75rem;padding:1.5rem}.modal__title{font-size:1.35rem;font-weight:700;word-break:break-word}.modal__title,.modal__year{font-family:JetBrains Mono,Fira Code,SF Mono,Consolas,Roboto Mono,monospace}.modal__year{color:#22d3ee;color:var(--accent);font-size:.85rem}.modal__desc{color:#9aa7b8;color:var(--text-muted);font-size:.98rem}.modal__subtitle{color:#e6edf3;color:var(--text);font-family:JetBrains Mono,Fira Code,SF Mono,Consolas,Roboto Mono,monospace;font-size:.9rem;margin-top:.75rem}.modal__subtitle:before{color:#22d3ee;color:var(--accent);content:"# "}.modal__highlights{grid-gap:.5rem;display:grid;gap:.5rem}.modal__highlights li{color:#9aa7b8;color:var(--text-muted);font-size:.95rem;padding-left:1rem;position:relative}.modal__highlights li:before{color:#22d3ee;color:var(--accent);content:"▹";left:0;position:absolute}.modal__tags{gap:.4rem}.modal__links,.modal__tags{display:flex;flex-wrap:wrap}.modal__links{gap:1rem;margin-top:1rem}@media(max-width:480px){.modal{padding:0}.modal__panel{border-radius:0;height:100%;max-height:100vh}}@keyframes modal-fade{0%{opacity:0}to{opacity:1}}@keyframes modal-rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.modal,.modal__panel{animation:none}}*,: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.0fe8824d.css.map*/