:root{--bg-primary:#0a0a0a;--bg-secondary:#111;--text-primary:#e8e8e8;--text-secondary:#888;--text-muted:#555;--accent:#c4a47c;--accent-dim:#8b7355;--border:#222;--font-mono:"IBM Plex Mono",monospace;--font-serif:"Newsreader",Georgia,serif}*{box-sizing:border-box}html{font-size:16px}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#0a0a0a;background-color:var(--bg-primary);color:#e8e8e8;color:var(--text-primary);font-family:IBM Plex Mono,monospace;font-family:var(--font-mono);font-size:.9rem;line-height:1.7;margin:0;min-height:100vh;padding:0}::selection{background:#c4a47c;background:var(--accent);color:#0a0a0a;color:var(--bg-primary)}a{color:#e8e8e8;color:var(--text-primary);text-decoration:none;transition:color .2s ease}a:hover{color:#c4a47c;color:var(--accent)}h1,h2,h3{font-weight:500;letter-spacing:-.02em}.container{margin:0 auto;max-width:680px;padding:0 2rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.animate-in{animation:fadeIn .5s ease forwards}.delay-1{animation-delay:.1s;opacity:0}.delay-2{animation-delay:.2s;opacity:0}.delay-3{animation-delay:.3s;opacity:0}.delay-4{animation-delay:.4s;opacity:0}.nav{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0a0a0ad9;border-bottom:1px solid var(--border);left:0;position:fixed;right:0;top:0;z-index:100}.nav-inner{align-items:center;display:flex;height:64px;justify-content:space-between}.nav-logo{color:var(--accent);font-size:1.5rem;font-weight:600;letter-spacing:-.05em}.nav-logo:hover{color:var(--text-primary)}.nav-links{display:flex;gap:2rem}.nav-link{color:var(--text-secondary);font-size:.85rem;padding:.25rem 0;position:relative;text-transform:lowercase}.nav-link:after{background:var(--accent);bottom:0;content:"";height:1px;left:0;position:absolute;transition:width .3s ease;width:0}.nav-link.active,.nav-link:hover{color:var(--text-primary)}.nav-link.active:after{width:100%}.about{padding-bottom:80px;padding-top:120px}.about-header{margin-bottom:3rem}.header-content{align-items:flex-start;display:flex;gap:2rem;justify-content:space-between}.header-text{flex:1 1}.header-photo{flex-shrink:0}.header-photo img{border:2px solid var(--border);border-radius:50%;filter:grayscale(20%);height:140px;object-fit:cover;transition:filter .3s ease;width:140px}.header-photo img:hover{filter:grayscale(0)}.about-header h1{font-family:var(--font-serif);font-size:2.5rem;font-weight:400;margin:0 0 .5rem}.about-header .highlight{color:var(--accent);font-style:italic}.about-header .tagline{color:var(--text-secondary);font-size:1rem;margin:0}.about-intro{border-bottom:1px solid var(--border);margin-bottom:3rem;padding-bottom:3rem}.about-intro p{color:var(--text-primary);font-family:var(--font-serif);font-size:1.25rem;line-height:1.8;margin:0}.about-details{grid-gap:2.5rem;border-bottom:1px solid var(--border);display:grid;gap:2.5rem;margin-bottom:3rem;padding-bottom:3rem}.detail-block h3{color:var(--accent-dim);font-size:.75rem;letter-spacing:.1em;margin:0 0 1rem;text-transform:uppercase}.detail-block p{color:var(--text-secondary);line-height:1.8;margin:0}.detail-block strong{color:var(--text-primary)}.position-list{display:flex;flex-direction:column;gap:.75rem;list-style:none;margin:0;padding:0}.position-list li{color:var(--text-secondary);line-height:1.6}.position-title{color:var(--text-primary);font-weight:500}.position-date{color:var(--text-muted);display:block;font-size:.8rem;margin-top:.2rem}.awards-list{gap:.6rem;list-style:none;margin:0;padding:0}.awards-list,.awards-list li{display:flex;flex-direction:column}.awards-list li{gap:.1rem}.awards-list a,.awards-list li{color:var(--text-secondary)}.awards-list a:hover{color:var(--accent)}.award-detail{color:var(--text-muted);font-size:.8rem;margin-left:1.5rem}.interests-list{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;list-style:none;margin:0;padding:0}.interests-list li{color:var(--text-secondary);position:relative}.interests-list li:before{color:var(--accent-dim);content:"→";margin-right:.5rem}.about-connect h3{color:var(--accent-dim);font-size:.75rem;letter-spacing:.1em;margin:0 0 1rem;text-transform:uppercase}.connect-links{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.connect-links a{border-bottom:1px solid #0000;color:var(--text-secondary);transition:all .2s ease}.connect-links a:hover{border-bottom-color:var(--accent);color:var(--accent)}.connect-links .separator{color:var(--text-muted)}@media (max-width:600px){.header-content{align-items:center;flex-direction:column-reverse;text-align:center}.about-header h1{font-size:2rem}.about-intro p{font-size:1.1rem}.header-photo img{height:120px;width:120px}}.projects{padding-bottom:80px;padding-top:120px}.projects-header{margin-bottom:3rem}.projects-header h1{font-family:var(--font-serif);font-size:2.5rem;font-weight:400;margin:0 0 .5rem}.projects-subtitle{color:var(--text-secondary);margin:0}.projects-list{display:flex;flex-direction:column;gap:1px}.project-card{grid-gap:1.5rem;border-bottom:1px solid var(--border);display:grid;gap:1.5rem;grid-template-columns:60px 1fr;padding:1.5rem 0}.project-card:first-child{border-top:1px solid var(--border)}.project-meta{padding-top:.25rem}.project-year{color:var(--text-muted);font-family:var(--font-mono);font-size:.8rem}.project-content{display:flex;flex-direction:column;gap:.5rem}.project-title{color:var(--text-primary);font-size:1.05rem;font-weight:500;margin:0}.project-description{color:var(--text-secondary);font-size:.9rem;line-height:1.6;margin:0}.project-tech{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;margin:.25rem 0 0;padding:0}.project-tech li{background:var(--bg-secondary);border:1px solid var(--border);border-radius:3px;color:var(--text-muted);font-size:.7rem;padding:.2rem .5rem}.project-links{display:flex;flex-wrap:wrap;gap:1rem;margin-top:.5rem}.project-links a{color:var(--accent-dim);font-size:.8rem;transition:color .2s ease}.project-links a:hover{color:var(--accent)}@media (max-width:600px){.projects-header h1{font-size:2rem}.project-card{gap:.5rem;grid-template-columns:1fr}.project-meta{padding-top:0}}.app{min-height:100vh;position:relative}.app:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23a)'/%3E%3C/svg%3E");content:"";height:100%;left:0;opacity:.03;pointer-events:none;position:fixed;top:0;width:100%;z-index:1000}
/*# sourceMappingURL=main.dd0cd397.css.map*/