:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;padding:0;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}#root{width:100%;margin:0;padding:0;text-align:center;font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif}.navbar{position:sticky;top:0;left:0;right:0;background-color:#1a1a1a;border-bottom:1px solid #333;padding:1rem 0;z-index:1000;width:100%;margin:0}.nav-content{max-width:1280px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center}.nav-logo{font-weight:700;font-size:1.2rem;color:#fff}.nav-links{display:flex;gap:2rem;align-items:center}.nav-link{background:none;border:none;color:#fff;cursor:pointer;font-size:1rem;padding:.5rem 1rem;transition:color .25s}.nav-link:hover{color:#646cff}.github-link{color:#fff;display:flex;align-items:center;transition:color .25s;margin-left:.5rem}.github-link:hover{color:#646cff}.portfolio-container{display:flex;flex-direction:column;align-items:center;gap:3rem;padding:2rem;width:100%}.header{display:flex;flex-direction:column;align-items:center;gap:1rem;padding-top:2rem}.headshot-container{width:150px;height:150px;border-radius:50%;overflow:hidden;border:4px solid #646cff}.headshot{width:100%;height:100%;object-fit:cover}.bio{max-width:50%;padding:0;line-height:1.8;font-size:1.05rem}.contact-links{display:flex;gap:1rem;align-items:center;margin-top:1rem}.button{background-color:#646cff;color:#fff;padding:.6em 1.2em;border-radius:8px;text-decoration:none;font-weight:500;transition:background-color .25s}.button:hover{background-color:#535bf2}.link{color:#646cff;text-decoration:inherit}.link:hover{color:#535bf2}.projects-section{width:100%;max-width:900px;position:relative}.carousel-container{position:relative;width:100%;margin-top:2rem;padding:0 50px}.carousel-wrapper{overflow:hidden;border-radius:12px;width:100%}.carousel-track{display:flex;transition:transform .6s cubic-bezier(.4,0,.2,1);will-change:transform}.carousel-slide{min-width:100%;display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;padding:1rem 0}.carousel-button{position:absolute;top:50%;transform:translateY(-50%);background:#646cffe6;border:none;border-radius:50%;width:60px;height:60px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;transition:all .3s ease;color:#fff;box-shadow:0 4px 12px #0000004d}.carousel-button:hover{background:#535bf2;transform:translateY(-50%) scale(1.1);box-shadow:0 6px 16px #646cff66}.carousel-button:active{transform:translateY(-50%) scale(.95)}.carousel-button-prev{left:0}.carousel-button-next{right:0}.carousel-button svg{width:32px;height:32px;stroke-width:2.5}.carousel-indicators{display:flex;justify-content:center;gap:10px;margin-top:1.5rem}.carousel-indicator{width:12px;height:12px;border-radius:50%;border:2px solid #646cff;background:transparent;cursor:pointer;transition:all .3s ease;padding:0}.carousel-indicator:hover{background:#646cff80;transform:scale(1.2)}.carousel-indicator.active{background:#646cff;transform:scale(1.3);box-shadow:0 0 8px #646cff99}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-top:2rem}.project-card{background:#242424;padding:1.8rem;border-radius:12px;text-align:left;border:1px solid #404040;transition:all .3s ease;box-shadow:0 4px 8px #0000004d;min-height:220px;display:flex;flex-direction:column}.project-card:hover{transform:translateY(-5px);border-color:#646cff;box-shadow:0 8px 20px #646cff4d;background:#2d2d2d}.project-card:hover h3{color:#fff}.project-card:hover p{color:#e0e0e0}.project-card:hover a{color:#7c84ff}.project-card h3{margin-top:0;color:#fff;font-size:1.25rem;margin-bottom:.75rem}.project-card p{color:#e0e0e0;line-height:1.6;flex-grow:1}.role-tag{font-weight:700;color:#646cff;font-size:.9rem;margin-bottom:.5rem}.project-card a{display:inline-block;margin-top:1rem;color:#646cff;font-weight:500;text-decoration:none;transition:color .25s}.project-card a:hover{color:#535bf2}.section{width:100%;max-width:75%;margin:0 auto 3rem}.section h2{text-align:center}.cv-section{text-align:left}.cv-section h2{text-align:center}.cv-item{margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid #333}.cv-item:last-child{border-bottom:none}.cv-header{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap}.cv-header h3{margin:0;color:#646cff}.cv-date{color:#888;font-size:.9rem}.cv-subheader{font-weight:700;margin:.5rem 0;color:#ccc}.cv-item ul{margin:.5rem 0;padding-left:1.5rem}.cv-item li{margin-bottom:.5rem;line-height:1.5}@media(max-width:768px){.carousel-slide{grid-template-columns:1fr}.carousel-container{padding:0 40px}.carousel-button{width:36px;height:36px}.carousel-button svg{width:20px;height:20px}.project-card{min-height:auto}}@media(max-width:480px){.carousel-container{padding:0 30px}.carousel-button{width:32px;height:32px}}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}.navbar{background-color:#1a1a1a;border-bottom-color:#333}.nav-link{color:#fff}.nav-link:hover{color:#646cff}.github-link{color:#fff}.github-link:hover{color:#646cff}.project-card{background-color:#f9f9f9;border-color:#e0e0e0}.project-card h3,.project-card p{color:#213547}.button{background-color:#f9f9f9;color:#213547;border:1px solid #213547}.button:hover{background-color:#e0e0e0}.cv-item{border-bottom-color:#e0e0e0}.cv-subheader{color:#555}}
