body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--bg-start:#fafbfc;--bg-end:#f3f4f6;--surface:#fff;--text-primary:#000;--text-secondary:#000;--text-tertiary:#000;--text-muted:#000;--text-faint:#000;--accent:#00997f;--accent-contrast:#fff;--accent-glow-30:#00997f33;--accent-glow-40:#00997f38;--accent-glow-50:#00997f47;--accent-glow-60:#00997f59;--card-bg:rgba(0,0,0,.018);--card-bg-strong:rgba(0,0,0,.028);--card-bg-hover:#0000000d;--border-subtle:#00000014;--border-medium:#0000001a;--border-strong:#0000001f;--border-strongest:#00000026;--shadow-soft:#0000000f;--shadow-medium:#00000014;--shadow-strong:#0000001f;--neutral:#1a1a1a;--neutral-glow-30:#1a1a1a33;--neutral-glow-50:#1a1a1a4d}body{background:radial-gradient(circle at top left,#fafbfc 0,#f3f4f6 100%);background:radial-gradient(circle at top left,var(--bg-start) 0,var(--bg-end) 100%);color:#000;color:var(--text-primary);font-family:Inter,system-ui,sans-serif;margin:0;padding:0}.app,body{min-height:100vh}.app{align-items:center;display:flex;flex-direction:column;justify-content:center}.top-section{align-items:flex-start;box-sizing:border-box;display:flex;flex-wrap:wrap;gap:2.5rem;justify-content:flex-start;margin:0 auto;max-width:950px;padding:0 1rem;width:100%}.top-section .hero{flex:0 0 320px;margin:0;max-width:320px}.top-section .panel{flex:1 1;margin:2rem 0 0;max-width:none}@media (max-width:800px){.top-section{align-items:center;flex-direction:column}.top-section .hero,.top-section .panel{max-width:100%}}.hero{margin:0 auto;max-width:600px;padding:2rem;text-align:center}.headshot{border:3px solid var(--accent);border-radius:50%;box-shadow:0 0 25px var(--accent-glow-40);height:220px;margin-bottom:.8rem;object-fit:cover;width:220px}.title{font-size:2.5rem;letter-spacing:.5px;margin:.1rem 0}.name{color:var(--accent)}.subtitle{font-size:1.2rem;line-height:1.6;margin-top:.5rem}.hero-email,.subtitle{color:var(--text-tertiary)}.hero-email{font-family:Inter,sans-serif;font-size:1rem;letter-spacing:.3px;margin-top:.3rem}.hero-buttons{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-top:1.2rem}.hero-btn{align-items:center;background:#0000;border:2px solid var(--neutral);border-radius:8px;color:var(--neutral);display:flex;font-family:Inter,sans-serif;font-size:.9rem;font-weight:500;gap:.5rem;letter-spacing:.8px;padding:.4rem 1rem;text-decoration:none;text-transform:uppercase;transition:all .3s ease}.hero-btn:hover{background-color:var(--neutral);box-shadow:0 0 10px var(--neutral-glow-30);color:var(--surface);transform:translateY(-2px)}.icon{font-size:1.1rem;transition:transform .3s ease}.hero-btn:hover .icon{transform:scale(1.15)}.panel{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--card-bg);border:1px solid var(--border-subtle);border-radius:16px;box-shadow:0 6px 18px var(--shadow-medium);margin-bottom:2.5rem;margin-top:.5rem;max-width:850px;padding:2.475rem 2.5rem 1.5rem;text-align:left;transform:translateY(-7px);transition:transform .25s ease,box-shadow .25s ease,background .3s ease,border .3s ease}.panel h2{color:var(--accent);font-family:Poppins,sans-serif;font-size:1.7rem;font-weight:600;margin-bottom:2rem;margin-top:-1.4rem;text-align:left}.panel p{color:var(--text-secondary);font-family:Inter,Poppins,system-ui,sans-serif;font-size:1.05rem;font-weight:400;line-height:1.6;margin:0}@media (max-width:900px){.panel{max-width:90%;padding:1.8rem}.panel h2{font-size:1.5rem}.panel p{font-size:1rem}}.tabs-panel{box-sizing:border-box;margin:1.5rem auto 3rem;max-width:950px;padding:0 1rem;width:100%}.tabs-nav{display:flex;flex-wrap:nowrap;gap:.6rem;justify-content:center;margin-bottom:1.5rem;overflow-x:auto}.tab-btn{background:#0000;border:2px solid var(--border-strongest);border-radius:8px;color:var(--text-tertiary);cursor:pointer;flex:0 0 auto;font-family:Poppins,sans-serif;font-size:.85rem;font-weight:500;letter-spacing:.5px;padding:.55rem 1.1rem;text-transform:uppercase;transition:all .25s ease;white-space:nowrap}.tab-btn:hover{border-color:var(--accent);color:var(--accent)}.tab-btn.active{background:var(--accent);border-color:var(--accent);box-shadow:0 0 10px var(--accent-glow-50);color:var(--accent-contrast)}@media (max-width:900px){.tab-btn{font-size:.8rem;padding:.5rem 1rem}}@media (max-width:600px){.tabs-nav{display:grid;flex-wrap:nowrap;grid-template-columns:repeat(2,1fr);overflow-x:visible}.tab-btn{box-sizing:border-box;flex:initial;text-align:center;width:100%}}.research-panel{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--card-bg);border:1px solid var(--border-subtle);border-radius:16px;box-shadow:0 6px 18px var(--shadow-medium);box-sizing:border-box;margin:1.5rem auto 3rem;max-width:930px;padding:2rem 2.5rem;text-align:left;transition:transform .25s ease,box-shadow .25s ease,background .3s ease,border .3s ease;width:100%}@media (max-width:900px){.research-panel{max-width:100%;padding:1.8rem}}.doc-modal-overlay{align-items:center;background:#0000008c;box-sizing:border-box;display:flex;inset:0;justify-content:center;padding:2rem;position:fixed;z-index:1000}.doc-modal{background:var(--surface);border-radius:12px;box-shadow:0 20px 50px #00000059;display:flex;flex-direction:column;height:min(85vh,1000px);overflow:hidden;width:min(800px,100%)}.doc-modal-header{align-items:center;border-bottom:1px solid var(--border-subtle);display:flex;flex-shrink:0;justify-content:space-between;padding:.9rem 1.2rem}.doc-modal-title{color:var(--text-primary);font-family:Poppins,sans-serif;font-size:.95rem;font-weight:600;padding-right:1rem}.doc-modal-close{background:#0000;border:none;color:var(--text-tertiary);cursor:pointer;flex-shrink:0;font-size:1.6rem;line-height:1;padding:.2rem .5rem;transition:color .2s ease}.doc-modal-close:hover{color:var(--accent)}.doc-modal-body{background:var(--card-bg);flex:1 1;overflow:auto}.doc-modal-frame{border:none;height:100%;width:100%}.doc-modal-blank{align-items:center;background:var(--surface);color:var(--text-faint);display:flex;font-family:Inter,sans-serif;font-size:.95rem;font-style:italic;height:100%;justify-content:center;min-height:400px;width:100%}@media (max-width:600px){.doc-modal-overlay{padding:1rem}.doc-modal{height:min(85vh,1000px)}}.projects-panel{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--card-bg);border:1px solid var(--border-subtle);border-radius:16px;box-shadow:0 6px 18px var(--shadow-medium);box-sizing:border-box;margin:1.5rem auto 3rem;max-width:930px;padding:2rem 2.5rem;text-align:left;transition:transform .25s ease,box-shadow .25s ease,background .3s ease,border .3s ease;width:100%}.project-list{display:flex;flex-direction:column;gap:1.6rem}.project-card{border-bottom:1px solid var(--border-subtle);display:flex;gap:1.4rem;padding-bottom:1.6rem}.project-card:last-child{border-bottom:none;padding-bottom:0}.project-image{border:1px solid var(--border-medium);border-radius:8px;flex:0 0 160px;height:110px;object-fit:cover;width:160px}.project-content{display:flex;flex:1 1;flex-direction:column;min-width:0}.project-title{color:var(--text-primary);font-family:Poppins,sans-serif;font-size:.95rem;font-weight:600;margin:0 0 .2rem}.project-dates{color:var(--text-tertiary);font-size:.85rem;font-style:italic;margin:0 0 .5rem}.project-description{color:var(--text-secondary);font-family:Inter,system-ui,sans-serif;font-size:.9rem;line-height:1.5;margin:0 0 .8rem}.project-tech{margin-bottom:.8rem}.project-buttons{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:auto}.project-btn{background:#0000;border:2px solid var(--neutral);border-radius:6px;color:var(--neutral);font-family:Inter,sans-serif;font-size:.8rem;font-weight:600;letter-spacing:.6px;padding:.3rem .9rem;text-decoration:none;text-transform:uppercase;transition:all .3s ease}.project-btn:hover{background-color:var(--neutral);box-shadow:0 0 8px var(--neutral-glow-30);color:var(--surface);transform:translateY(-2px)}@media (max-width:900px){.projects-panel{max-width:100%;padding:1.8rem}}@media (max-width:700px){.project-card{flex-direction:column}.project-image{height:160px;width:100%}}.experience-panel{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--card-bg);border:1px solid var(--border-subtle);border-radius:16px;box-shadow:0 6px 18px var(--shadow-medium);box-sizing:border-box;margin:1.5rem auto 3rem;max-width:930px;padding:2rem 2.5rem;text-align:left;transition:transform .25s ease,box-shadow .25s ease,background .3s ease,border .3s ease;width:100%}.experience-list{display:flex;flex-direction:column;gap:1.6rem}.experience-card{border-bottom:1px solid var(--border-subtle);display:flex;gap:1.4rem;padding-bottom:1.6rem}.experience-card:last-child{border-bottom:none;padding-bottom:0}.experience-image{border:1px solid var(--border-medium);border-radius:8px;flex:0 0 160px;height:110px;object-fit:cover;width:160px}.experience-image-placeholder{background:repeating-linear-gradient(135deg,var(--card-bg-strong),var(--card-bg-strong) 10px,var(--card-bg-hover) 10px,var(--card-bg-hover) 20px)}.experience-content{display:flex;flex:1 1;flex-direction:column;min-width:0}.experience-title{color:var(--text-primary);font-family:Poppins,sans-serif;font-size:.95rem;font-weight:600;margin:0 0 .2rem}.experience-company{color:var(--text-secondary);font-size:.9rem;margin:0 0 .2rem}.experience-company,.experience-dates{font-family:Inter,system-ui,sans-serif}.experience-dates{color:var(--text-tertiary);font-size:.85rem;font-style:italic;margin:0 0 .8rem}.experience-tech{margin-top:auto}.tech-label{color:var(--text-primary);font-family:Poppins,sans-serif;font-size:.85rem;font-weight:500;margin-right:.3rem}.tech-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.4rem}.tech-tag{background:var(--card-bg);border:1px solid var(--border-medium);border-radius:8px;color:var(--accent);font-size:.8rem;font-weight:500;padding:.2rem .7rem}@media (max-width:900px){.experience-panel{max-width:100%;padding:1.8rem}}@media (max-width:700px){.experience-card{flex-direction:column}.experience-image{height:160px;width:100%}}.publications-panel{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--card-bg);border:1px solid var(--border-subtle);border-radius:16px;box-shadow:0 6px 18px var(--shadow-medium);box-sizing:border-box;margin:1.5rem auto 3rem;max-width:930px;padding:2rem 2.5rem;text-align:left;transition:transform .25s ease,box-shadow .25s ease,background .3s ease,border .3s ease;width:100%}.paper-list{display:flex;flex-direction:column;gap:1.6rem}.paper-card{border-bottom:1px solid var(--border-subtle);display:flex;gap:1.4rem;padding-bottom:1.6rem}.paper-card:last-child{border-bottom:none;padding-bottom:0}.paper-image{border:1px solid var(--border-medium);border-radius:8px;flex:0 0 160px;height:110px;object-fit:cover;width:160px}.paper-image-placeholder{background:repeating-linear-gradient(135deg,var(--card-bg-strong),var(--card-bg-strong) 10px,var(--card-bg-hover) 10px,var(--card-bg-hover) 20px)}.paper-content{display:flex;flex:1 1;flex-direction:column;min-width:0}.paper-title{color:var(--text-primary);font-family:Poppins,sans-serif;font-size:.95rem;font-weight:600;margin:0 0 .4rem}.paper-authors{color:var(--text-secondary);font-family:Inter,system-ui,sans-serif;font-size:.9rem;margin:0 0 .2rem}.paper-author-self{text-decoration:underline}.paper-note{color:var(--text-faint);font-size:.75rem;margin:0 0 .4rem}.paper-dates,.paper-note{font-family:Inter,system-ui,sans-serif;font-style:italic}.paper-dates{color:var(--text-tertiary);font-size:.85rem;margin:0 0 .8rem}.paper-buttons{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:auto}.paper-btn{background:#0000;border:2px solid var(--neutral);border-radius:6px;box-sizing:border-box;color:var(--neutral);cursor:pointer;font-family:Inter,sans-serif;font-size:.8rem;font-weight:600;letter-spacing:.6px;padding:.3rem .9rem;text-decoration:none;text-transform:uppercase;transition:all .3s ease}.paper-btn:hover{background-color:var(--neutral);box-shadow:0 0 8px var(--neutral-glow-30);color:var(--surface);transform:translateY(-2px)}@media (max-width:900px){.publications-panel{max-width:100%;padding:1.8rem}}@media (max-width:700px){.paper-card{flex-direction:column}.paper-image{height:160px;width:100%}}
/*# sourceMappingURL=main.0a6d1f1c.css.map*/