@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap";:root{--bg-primary:#070b1a;--bg-secondary:#0d1229;--bg-card:#111832;--bg-card-hover:#151f3d;--border:#7c5cff26;--border-bright:#7c5cff59;--text-primary:#e8edf7;--text-secondary:#94a3c4;--text-muted:#64748b;--accent-purple:#7c5cff;--accent-blue:#3b82f6;--accent-violet:#a78bfa;--gradient-hero:linear-gradient(135deg, #1a1040 0%, #0d1b3e 50%, #0a1628 100%);--gradient-accent:linear-gradient(135deg, #7c5cff 0%, #3b82f6 100%);--shadow-glow:0 0 40px #7c5cff1f;--radius:12px;--radius-lg:16px;--nav-height:64px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.6}#root{flex-direction:column;min-height:100vh;display:flex}a{color:var(--accent-violet);text-decoration:none;transition:color .2s}a:hover{color:var(--accent-purple)}code,.mono{font-family:JetBrains Mono,monospace}.container{width:100%;max-width:1100px;margin:0 auto;padding:0 1.5rem}.page{padding-top:calc(var(--nav-height) + 2rem);flex:1;padding-bottom:4rem}.section{margin-bottom:3.5rem}.section-title{background:var(--gradient-accent);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:.5rem;font-size:1.75rem;font-weight:700}.section-subtitle{color:var(--text-secondary);margin-bottom:1.5rem;font-size:1rem}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem;transition:border-color .25s,box-shadow .25s,transform .25s}.card:hover{border-color:var(--border-bright);box-shadow:var(--shadow-glow);transform:translateY(-2px)}.card-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.25rem;display:grid}.tags{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.tag{color:var(--accent-violet);background:#7c5cff1f;border:1px solid #7c5cff33;border-radius:6px;padding:.25rem .6rem;font-family:JetBrains Mono,monospace;font-size:.7rem}.btn{cursor:pointer;border:none;border-radius:8px;align-items:center;gap:.5rem;padding:.6rem 1.2rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:all .2s;display:inline-flex}.btn-primary{background:var(--gradient-accent);color:#fff}.btn-primary:hover{opacity:.9;color:#fff;transform:translateY(-1px)}.btn-outline{color:var(--accent-violet);border:1px solid var(--border-bright);background:0 0}.btn-outline:hover{color:var(--accent-violet);background:#7c5cff1a}.btn-linkedin{color:#1565c0;border-color:#1565c080}.btn-linkedin:hover{color:#0d47a1;background:#1565c01a;border-color:#1565c0b3}.highlight-list{margin-top:.75rem;list-style:none}.highlight-list li{color:var(--text-secondary);margin-bottom:.5rem;padding-left:1.25rem;font-size:.925rem;position:relative}.highlight-list li:before{content:"›";color:var(--accent-purple);font-weight:700;position:absolute;left:0}.hero{background:var(--gradient-hero);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:3rem;padding:3rem 2.5rem;position:relative;overflow:hidden}.hero:before{content:"";pointer-events:none;background:radial-gradient(circle,#7c5cff26 0%,#0000 70%);width:400px;height:400px;position:absolute;top:-50%;right:-20%}.hero h1{margin-bottom:.75rem;font-size:clamp(2rem,5vw,3rem);font-weight:700;line-height:1.2}.hero .role{color:var(--accent-violet);margin-bottom:1rem;font-family:JetBrains Mono,monospace;font-size:.95rem}.hero .meta{color:var(--text-secondary);margin-bottom:1.5rem;font-size:.95rem}.hero-actions{flex-wrap:wrap;gap:.75rem;display:flex}.stat-grid{grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:2rem;display:grid}.stat{border:1px solid var(--border);border-radius:var(--radius);text-align:center;background:#7c5cff0f;flex-direction:column;justify-content:center;align-items:center;min-height:4.25rem;padding:1rem;display:flex}.stat-value{color:var(--accent-violet);font-family:JetBrains Mono,monospace;font-size:clamp(.85rem,2vw,1.25rem);font-weight:600;line-height:1.25}.stat-label{color:var(--text-muted);margin-top:.25rem;font-size:.75rem}@media (width<=900px){.stat-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.hero{padding:2rem 1.25rem}.stat-grid,.card-grid{grid-template-columns:1fr}}.navbar{height:var(--nav-height);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);z-index:100;background:#070b1ad9;position:fixed;top:0;left:0;right:0}.navbar-inner{justify-content:space-between;align-items:center;height:100%;display:flex}.navbar-brand{color:var(--text-primary);align-items:center;gap:.5rem;font-weight:700;text-decoration:none;display:flex}.brand-text{font-family:JetBrains Mono,monospace;font-size:1rem}.navbar-links{align-items:center;gap:.25rem;display:flex}.nav-link{color:var(--text-secondary);white-space:nowrap;border-radius:8px;padding:.45rem .75rem;font-size:.8rem;font-weight:500;text-decoration:none;transition:all .2s}.nav-link:hover{color:var(--text-primary);background:#7c5cff14}.nav-link.active{color:var(--accent-violet);border:1px solid var(--border);background:#7c5cff26}@media (width<=768px){.navbar-links{-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:0;overflow-x:auto}.navbar-links::-webkit-scrollbar{display:none}.nav-link{padding:.4rem .55rem;font-size:.72rem}}.footer{border-top:1px solid var(--border);background:var(--bg-secondary);margin-top:auto;padding:1.5rem 0}.footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.footer-tagline{color:var(--accent-violet);letter-spacing:.05em;font-size:.85rem}.footer-right{gap:1.25rem;display:flex}.footer-right a{color:var(--text-secondary);font-size:.85rem}.footer-right a:hover{color:var(--accent-violet)}.image-frame{border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--bg-card);margin:0;overflow:hidden}.image-frame img{object-fit:cover;width:100%;height:100%;display:block}.image-placeholder{background:linear-gradient(135deg,#7c5cff14 0%,#3b82f60f 100%);flex-direction:column;justify-content:center;align-items:center;gap:.35rem;min-height:200px;padding:1.5rem;display:flex}.image-placeholder-icon{opacity:.6;font-size:1.75rem}.image-placeholder-label{color:var(--accent-violet);font-size:.75rem}.image-placeholder-path{color:var(--text-muted);font-size:.65rem}.image-frame figcaption{color:var(--text-secondary);border-top:1px solid var(--border);text-align:center;padding:.6rem .85rem;font-size:.8rem}.profile-section{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);grid-template-columns:330px 1fr;align-items:center;gap:2rem;margin-bottom:3.5rem;padding:1.5rem;display:grid}.profile-photo{flex-shrink:0;width:330px;height:330px}.profile-photo img,.profile-photo .image-placeholder{border-radius:var(--radius-lg);height:330px;min-height:330px}.profile-intro h2{background:var(--gradient-accent);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:.5rem;font-size:1.5rem}.profile-intro .profile-years{color:var(--accent-blue);margin-bottom:.75rem;font-family:JetBrains Mono,monospace;font-size:.85rem}.profile-intro .profile-tagline{color:var(--text-secondary);font-size:.95rem;line-height:1.6}.research-gallery{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.25rem;display:grid}.research-gallery-stack{flex-flow:wrap;justify-content:center;gap:1.25rem;width:100%;display:flex}.research-gallery-stack .image-frame{aspect-ratio:4/3;flex:calc(50% - .625rem);width:calc(50% - .625rem);max-width:calc(50% - .625rem)}.research-gallery-stack .image-frame img,.research-gallery-stack .image-placeholder{object-fit:cover;height:100%;min-height:100%}@media (width<=640px){.research-gallery-stack{flex-direction:column;align-items:center}.research-gallery-stack .image-frame{flex:100%;width:100%;max-width:100%}}.research-gallery .image-frame{aspect-ratio:4/3}.research-gallery .image-frame img,.research-gallery .image-placeholder{height:100%;min-height:100%}.page-feature-image{max-width:100%}.page-feature-image img,.page-feature-image .image-placeholder{object-fit:cover;min-height:320px;max-height:480px}.research-section-image{margin-top:1.5rem}.research-gallery-videos{color:var(--text-secondary);flex-direction:column;gap:.65rem;margin:1.25rem 0 0;padding:0;font-size:.95rem;list-style:none;display:flex}.research-gallery-videos a{color:var(--accent-blue);text-decoration:none;transition:color .2s}.research-gallery-videos a:hover{color:var(--accent-violet);text-decoration:underline}.research-feature-video{text-align:center;color:var(--text-secondary);margin:.75rem 0 0;font-size:.95rem}.research-feature-video a{color:var(--accent-blue);text-decoration:none;transition:color .2s}.research-feature-video a:hover{color:var(--accent-violet);text-decoration:underline}.ml-gallery{grid-template-columns:repeat(2,1fr);gap:1.25rem;display:grid}.ml-gallery .image-frame{aspect-ratio:4/3}.ml-gallery .image-frame:nth-child(3){grid-column:1/-1;justify-self:center;width:calc(50% - .625rem)}.ml-gallery .image-frame img,.ml-gallery .image-placeholder{object-fit:cover;width:100%;height:100%}@media (width<=640px){.ml-gallery{grid-template-columns:1fr}.ml-gallery .image-frame:nth-child(3){width:100%}}.image-natural{width:fit-content;max-width:100%}.image-natural img,.image-natural .image-placeholder{object-fit:unset;width:auto;max-width:100%;height:auto}.symposium-image{width:fit-content;max-width:65%;margin-left:auto;margin-right:auto}.symposium-image img,.symposium-image .image-placeholder{object-fit:unset;width:auto;max-width:100%;height:auto;display:block}.symposium-image figcaption{font-size:.8rem}@media (width<=640px){.profile-section{text-align:center;grid-template-columns:1fr}.profile-photo{width:270px;height:270px;margin:0 auto}.profile-photo img,.profile-photo .image-placeholder{height:270px;min-height:270px}}.hero-compact{padding:2rem}.hero-compact h1{font-size:clamp(1.75rem,4vw,2.5rem)}.prose{color:var(--text-secondary);margin-bottom:1rem;font-size:.975rem;line-height:1.75}.project-highlight{padding-bottom:.5rem}.project-highlight-label{color:var(--accent-blue);margin-bottom:1rem;font-size:.8rem}.project-highlight-part{margin-bottom:1.5rem}.project-highlight-part-title{color:var(--text-primary);margin-bottom:.5rem;font-size:1.05rem;font-weight:600}.project-highlight-tags{margin-top:1rem;margin-bottom:1rem}.project-highlight-gallery{grid-template-columns:repeat(2,1fr);gap:1.25rem;margin:1.5rem 0;display:grid}.project-highlight-image{aspect-ratio:16/10;border:none}.project-highlight-image img,.project-highlight-image .image-placeholder{object-fit:cover;width:100%;height:100%}.project-highlight-image figcaption{display:none}@media (width<=640px){.project-highlight-gallery{grid-template-columns:1fr}}.card-title{color:var(--text-primary);margin-bottom:.35rem;font-size:1.1rem;font-weight:600}.card-subtitle{color:var(--accent-blue);margin-bottom:.75rem;font-size:.8rem}.card-desc{color:var(--text-secondary);font-size:.925rem;line-height:1.65}.card-link{margin-top:1rem;display:inline-flex}.achievement-card{flex-direction:column;display:flex}.achievement-card .tags{margin-top:.25rem}.achievement-highlights{color:var(--text-secondary);margin:.5rem 0 .75rem;padding-left:1.15rem;font-size:.875rem;line-height:1.6}.achievement-highlights li{margin-bottom:.35rem}.achievement-card-image{border-radius:var(--radius);border:none;margin-top:1rem;overflow:hidden}.achievement-card-image img,.achievement-card-image .image-placeholder{object-fit:cover;width:100%;height:200px}.achievement-card-image figcaption{display:none}.research-areas-image{min-height:100%}.research-areas-image img,.research-areas-image .image-placeholder{object-fit:cover;height:100%;min-height:220px}.mentor-card{border:1px solid var(--border);border-radius:var(--radius);color:var(--text-secondary);background:#7c5cff0f;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:1rem;padding:.75rem 1rem;font-size:.85rem;display:flex}.mentor-label{color:var(--accent-violet);font-size:.75rem}.mentor-sep{color:var(--text-muted)}.responsibilities li{font-size:.95rem;line-height:1.7}.tags-large .tag{padding:.4rem .85rem;font-size:.8rem}
