:root{--vt-c-white:#fff;--vt-c-white-soft:#f8f8f8;--vt-c-white-mute:#f2f2f2;--vt-c-black:#181818;--vt-c-black-soft:#222;--vt-c-black-mute:#282828;--vt-c-indigo:#2c3e50;--vt-c-divider-light-1:#3c3c3c4a;--vt-c-divider-light-2:#3c3c3c1f;--vt-c-divider-dark-1:#545454a6;--vt-c-divider-dark-2:#5454547a;--vt-c-text-light-1:var(--vt-c-indigo);--vt-c-text-light-2:#3c3c3ca8;--vt-c-text-dark-1:var(--vt-c-white);--vt-c-text-dark-2:#ebebeba3;--color-background:var(--vt-c-white);--color-background-soft:var(--vt-c-white-soft);--color-background-mute:var(--vt-c-white-mute);--color-border:var(--vt-c-divider-light-2);--color-border-hover:var(--vt-c-divider-light-1);--color-heading:var(--vt-c-text-light-1);--color-text:var(--vt-c-text-light-1);--section-gap:160px}@media (prefers-color-scheme:dark){:root{--color-background:var(--vt-c-black);--color-background-soft:var(--vt-c-black-soft);--color-background-mute:var(--vt-c-black-mute);--color-border:var(--vt-c-divider-dark-2);--color-border-hover:var(--vt-c-divider-dark-1);--color-heading:var(--vt-c-text-dark-1);--color-text:var(--vt-c-text-dark-2)}}*,:before,:after{box-sizing:border-box;margin:0;font-weight:400}body{min-height:100vh;color:var(--color-text);background:var(--color-background);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:15px;line-height:1.6;transition:color .5s,background-color .5s}#app{font-weight:400}@media (width>=1024px){body{display:block}}nav[data-v-fcf22a8b]{z-index:100;box-sizing:border-box;background-color:#0d0d1a;border-bottom:1px solid #7c3aed33;justify-content:space-between;align-items:center;width:100%;padding:1rem 6rem;display:flex;position:sticky;top:0}.brand[data-v-fcf22a8b]{color:#fff;font-size:1.2rem;font-weight:700}ul[data-v-fcf22a8b]{gap:2rem;margin:0;padding:0;list-style:none;display:flex}a[data-v-fcf22a8b]{color:#9ca3af;font-size:.95rem;text-decoration:none;transition:color .2s}a[data-v-fcf22a8b]:hover{color:#a78bfa}.hamburger[data-v-fcf22a8b]{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;padding:4px;display:none}.hamburger span[data-v-fcf22a8b]{background:#fff;border-radius:2px;width:24px;height:2px;display:block}@media (width<=768px){nav[data-v-fcf22a8b]{padding:1rem 1.5rem}.hamburger[data-v-fcf22a8b]{display:flex}ul[data-v-fcf22a8b]{background:#0d0d1a;border-top:1px solid #7c3aed33;flex-direction:column;gap:0;width:100%;padding:.5rem 0;display:none;position:absolute;top:100%;left:0}ul.open[data-v-fcf22a8b]{display:flex}ul li a[data-v-fcf22a8b]{padding:.75rem 1.5rem;font-size:1rem;display:block}}.hero[data-v-290eda12]{background:#0d0d1a;justify-content:space-between;align-items:center;gap:4rem;min-height:calc(100vh - 64px);padding:4rem 6rem;display:flex}.hero-text[data-v-290eda12]{flex:1;max-width:700px}.greeting[data-v-290eda12]{color:#a78bfa;letter-spacing:.05em;margin-bottom:.5rem;font-size:1.1rem}h1[data-v-290eda12]{color:#fff;margin-bottom:.5rem;font-size:3.5rem;font-weight:800;line-height:1.1}h3[data-v-290eda12]{color:#a78bfa;margin-bottom:1.5rem;font-size:1.2rem;font-weight:400}.subtitle[data-v-290eda12]{color:#c4b5fd;margin-bottom:1rem;font-size:.95rem;line-height:1.6}.desc[data-v-290eda12]{color:#9ca3af;margin-bottom:2rem;font-size:1rem;line-height:1.8}.cta[data-v-290eda12]{gap:1rem;display:flex}.btn-primary[data-v-290eda12]{color:#fff;background:#7c3aed;border-radius:8px;padding:.75rem 1.75rem;font-weight:600;text-decoration:none;transition:background .2s}.btn-primary[data-v-290eda12]:hover{background:#6d28d9}.btn-outline[data-v-290eda12]{color:#a78bfa;border:2px solid #7c3aed;border-radius:8px;padding:.75rem 1.75rem;font-weight:600;text-decoration:none;transition:all .2s}.btn-outline[data-v-290eda12]:hover{color:#fff;background:#7c3aed}.hero-image[data-v-290eda12]{background:linear-gradient(145deg,#ede9fe,#ddd6fe);border:3px solid #8b5cf64d;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:320px;height:320px;display:flex;overflow:hidden;box-shadow:0 0 40px #8b5cf626}.hero-image img[data-v-290eda12]{object-fit:cover;object-position:center;width:100%;height:100%}@media (width<=768px){.hero[data-v-290eda12]{text-align:center;min-height:unset;flex-direction:column-reverse;gap:2rem;padding:2rem 1.5rem}h1[data-v-290eda12]{font-size:2rem}h3[data-v-290eda12]{font-size:1rem}.desc[data-v-290eda12]{font-size:.9rem}.cta[data-v-290eda12]{flex-wrap:wrap;justify-content:center}.hero-image[data-v-290eda12]{width:200px;height:200px}}#contact[data-v-f21df263]{box-sizing:border-box;justify-content:center;padding:60px 1.5rem;display:flex}.contact-wrapper[data-v-f21df263]{width:100%;max-width:700px}.subtitle[data-v-f21df263]{color:#888;text-transform:uppercase;letter-spacing:2px;margin-bottom:4px;font-size:.85rem}h1[data-v-f21df263]{margin-bottom:20px;font-size:2rem}.row[data-v-f21df263]{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (width<=768px){.row[data-v-f21df263]{grid-template-columns:1fr}}.field[data-v-f21df263]{flex-direction:column;margin-bottom:16px;display:flex}label[data-v-f21df263]{margin-bottom:6px;font-size:.9rem;font-weight:500}input[data-v-f21df263],textarea[data-v-f21df263]{border:1px solid #ccc;border-radius:6px;outline:none;padding:10px 14px;font-size:.95rem;transition:border-color .2s}input[data-v-f21df263]:focus,textarea[data-v-f21df263]:focus{border-color:#555}button[data-v-f21df263]{color:#fff;cursor:pointer;background:#222;border:none;border-radius:6px;padding:12px 32px;font-size:1rem;transition:background .2s}button[data-v-f21df263]:hover{background:#444}.success[data-v-f21df263]{color:green;margin-bottom:16px;font-weight:500}.error[data-v-f21df263]{color:red;margin-top:4px;font-size:.8rem}.education[data-v-746d8d31]{background:#0d0d1a;padding:5rem 6rem}.edu-grid[data-v-746d8d31]{grid-template-columns:1fr 1fr;gap:4rem;display:grid}.section-title[data-v-746d8d31]{color:#fff;align-items:center;gap:.5rem;margin-bottom:2rem;font-size:1.6rem;font-weight:700;display:flex}.icon[data-v-746d8d31]{font-size:1.5rem}.timeline[data-v-746d8d31]{flex-direction:column;gap:2rem;display:flex}.timeline-item[data-v-746d8d31]{align-items:flex-start;gap:1rem;display:flex}.timeline-year[data-v-746d8d31]{color:#a78bfa;text-align:right;flex-shrink:0;min-width:5.5rem;padding-top:.15rem;font-size:.82rem;font-weight:700}.timeline-content[data-v-746d8d31]{border-left:2px solid #7c3aed;padding-left:1rem}.degree[data-v-746d8d31]{color:#fff;font-size:1rem;font-weight:600}.school[data-v-746d8d31]{color:#9ca3af;font-size:.9rem}.cert-list[data-v-746d8d31]{flex-direction:column;gap:.9rem;padding-left:1.25rem;list-style:outside;display:flex}.cert-list li[data-v-746d8d31]{color:#d1d5db;flex-direction:column;gap:.15rem;font-size:.95rem;line-height:1.5;display:flex}.cert-row[data-v-746d8d31]{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.cert-name[data-v-746d8d31]{color:#fff;font-weight:500}.cert-btn[data-v-746d8d31]{color:#a78bfa;white-space:nowrap;border:1px solid #7c3aed;border-radius:4px;flex-shrink:0;padding:.2rem .6rem;font-size:.75rem;text-decoration:none;transition:background .2s,color .2s}.cert-btn[data-v-746d8d31]:hover{color:#fff;background:#7c3aed}.cert-meta[data-v-746d8d31]{color:#a78bfa;font-size:.82rem}.cert-list li[data-v-746d8d31]::marker{color:#7c3aed}@media (width<=768px){.education[data-v-746d8d31]{padding:3rem 1.25rem}.edu-grid[data-v-746d8d31]{grid-template-columns:1fr;gap:2.5rem}.timeline-year[data-v-746d8d31]{min-width:4.5rem;font-size:.75rem}.cert-row[data-v-746d8d31]{flex-wrap:wrap;gap:.4rem}.cert-btn[data-v-746d8d31]{font-size:.7rem}}.experience[data-v-3843ac22]{background:#0d0d1a;padding:5rem 6rem}.section-title[data-v-3843ac22]{color:#fff;align-items:center;gap:.5rem;margin-bottom:2rem;font-size:1.6rem;font-weight:700;display:flex}.icon[data-v-3843ac22]{font-size:1.5rem}.timeline[data-v-3843ac22]{flex-direction:column;gap:2rem;display:flex}.timeline-item[data-v-3843ac22]{align-items:flex-start;gap:1rem;display:flex}.timeline-year[data-v-3843ac22]{color:#a78bfa;text-align:right;flex-shrink:0;min-width:9rem;padding-top:.15rem;font-size:.82rem;font-weight:700}.timeline-content[data-v-3843ac22]{border-left:2px solid #7c3aed;padding-left:1rem}.role[data-v-3843ac22]{color:#fff;font-size:1rem;font-weight:600}.company[data-v-3843ac22]{color:#9ca3af;font-size:.9rem}@media (width<=768px){.experience[data-v-3843ac22]{padding:3rem 1.25rem}.timeline-year[data-v-3843ac22]{min-width:6rem;font-size:.75rem}}.aiprojects[data-v-ef642fb4]{background:#0d0d1a;padding:5rem 6rem}.section-title[data-v-ef642fb4]{color:#fff;align-items:center;gap:.5rem;margin-bottom:2rem;font-size:1.6rem;font-weight:700;display:flex}.icon[data-v-ef642fb4]{font-size:1.5rem}.projects-grid[data-v-ef642fb4]{flex-direction:column;gap:1.5rem;display:flex}.project-card[data-v-ef642fb4]{border-left:2px solid #7c3aed;flex-direction:column;gap:.5rem;padding-left:1rem;display:flex}.card-header[data-v-ef642fb4]{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.project-name[data-v-ef642fb4]{color:#fff;font-size:1rem;font-weight:600}.github-btn[data-v-ef642fb4]{color:#a78bfa;white-space:nowrap;border:1px solid #7c3aed;border-radius:4px;flex-shrink:0;padding:.2rem .6rem;font-size:.75rem;text-decoration:none;transition:background .2s,color .2s}.github-btn[data-v-ef642fb4]:hover{color:#fff;background:#7c3aed}.project-desc[data-v-ef642fb4]{color:#9ca3af;font-size:.9rem;line-height:1.5}.stack-tags[data-v-ef642fb4]{flex-wrap:wrap;gap:.4rem;display:flex}.tag[data-v-ef642fb4]{color:#a78bfa;background:#1a1a2e;border:1px solid #7c3aed;border-radius:4px;padding:.15rem .5rem;font-size:.75rem}@media (width<=768px){.aiprojects[data-v-ef642fb4]{padding:3rem 1.25rem}.card-header[data-v-ef642fb4]{flex-wrap:wrap}}header[data-v-5c3e3e11]{line-height:1.5}.logo[data-v-5c3e3e11]{margin:0 auto 2rem;display:block}@media (width>=1024px){header[data-v-5c3e3e11]{padding-right:calc(var(--section-gap) / 2);place-items:center;display:flex}.logo[data-v-5c3e3e11]{margin:0 2rem 0 0}header .wrapper[data-v-5c3e3e11]{flex-wrap:wrap;place-items:flex-start;display:flex}}
