:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:#fff;background-color:#2d2d2d;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;min-width:320px;min-height:100vh;background-color:#2d2d2d}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{--primary-dark: #000000;--secondary-dark: #1a1a1a;--accent-gray: #8a8a8a;--accent-gray-light: #a0a0a0;--light-gray: #b8b8b8;--very-light-gray: #f5f5f5;--border-gray: #666666;--white: #ffffff;--off-white: #f0f0f0}body,html,#root{background-color:#000;margin:0;padding:0}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes firefly{0%{opacity:.8;transform:translate(0) translateY(0) scale(1)}15%{opacity:1;transform:translate(25px) translateY(-15px) scale(1)}25%{opacity:.1;transform:translate(5px) translateY(-25px) scale(.7)}30%{opacity:.8;transform:translate(-10px) translateY(-35px) scale(1.2)}45%{opacity:.6;transform:translate(-40px) translateY(10px) scale(.9)}55%{opacity:.05;transform:translate(-30px) translateY(20px) scale(.5)}60%{opacity:.9;transform:translate(15px) translateY(25px) scale(1.1)}75%{opacity:.4;transform:translate(-25px) translateY(-5px) scale(.8)}85%{opacity:.02;transform:translate(10px) translateY(-10px) scale(.4)}90%{opacity:.2;transform:translate(35px) translateY(-20px) scale(.6)}to{opacity:.8;transform:translate(-5px) translateY(15px) scale(1)}}.fireflies{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0;opacity:0;animation:fadeIn 2s ease-out 1.5s forwards}.firefly{position:absolute;width:3px;height:3px;background-color:#fff;border-radius:50%;opacity:0;animation:firefly 4s infinite;box-shadow:0 0 6px #ffff96cc,0 0 12px #ffff6499,0 0 18px #ffff3266}.portfolio{max-width:1200px;margin:0 auto;padding:20px;color:var(--white);background-color:transparent;min-height:100vh;position:relative;z-index:1}.hero-about{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px;opacity:0;animation:fadeInUp .8s ease-out .2s forwards}.hero-content{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:20px;width:100%}.hero-inner{margin:0;padding:0;text-align:left;flex-shrink:0;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:20px;flex:1}.hero-title-row{display:flex;align-items:baseline;gap:15px}.hero-left-content{display:flex;align-items:center;gap:15px}.hero-headshot{width:50px;height:50px;border-radius:50%;object-fit:cover;border:2px solid var(--accent-gray)}.hero-content h1{font-size:1.5rem;margin:0;color:var(--off-white);line-height:1.1;font-weight:700}.hero-subtitle{font-size:1.5rem;color:var(--off-white);margin:0;font-weight:400;line-height:1.1}.hero-social-links{display:flex;justify-content:flex-start;gap:8px;margin:0}.social-link{display:flex;align-items:center;gap:8px;padding:8px 16px;border:2px solid var(--accent-gray);text-decoration:none;color:var(--off-white);border-radius:6px;font-weight:500;font-size:.875rem;transition:all .2s ease}.social-link:hover{background:var(--off-white);color:var(--primary-dark)}.social-icon{width:18px;height:18px;fill:currentColor}.section{margin-bottom:15px;opacity:0}#experience{animation:fadeInUp .8s ease-out .6s forwards}#projects{animation:fadeInUp .8s ease-out 1s forwards}#contact{animation:fadeInUp .8s ease-out 1.4s forwards}.section h2{font-size:1.5rem;margin-bottom:8px;text-align:center;color:var(--off-white)}.experience-scroll-container{position:relative}.experience-scroll-container:before,.experience-scroll-container:after{content:"";position:absolute;top:0;bottom:10px;width:30px;z-index:2;pointer-events:none;transition:opacity .3s ease}.experience-scroll-container:before{left:0;background:linear-gradient(to right,var(--primary-dark),transparent)}.experience-scroll-container:after{right:0;background:linear-gradient(to left,var(--primary-dark),transparent)}.experience-scroll-container.hide-left-fade:before{opacity:0}.experience-scroll-container.hide-right-fade:after{opacity:0}.projects-scroll-container{position:relative}.projects-scroll-container:before,.projects-scroll-container:after{content:"";position:absolute;top:0;bottom:10px;width:30px;z-index:2;pointer-events:none;transition:opacity .3s ease}.projects-scroll-container:before{left:0;background:linear-gradient(to right,var(--primary-dark),transparent)}.projects-scroll-container:after{right:0;background:linear-gradient(to left,var(--primary-dark),transparent)}.projects-scroll-container.hide-left-fade:before{opacity:0}.projects-scroll-container.hide-right-fade:after{opacity:0}.scroll-hint{display:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#000c;color:var(--off-white);padding:12px 24px;border-radius:25px;font-size:1.1rem;font-weight:600;z-index:10;pointer-events:none;animation:fadeInOut 4s ease-in-out forwards;white-space:nowrap}@keyframes fadeInOut{0%{opacity:0;transform:translate(-50%,-50%) scale(.9)}15%{opacity:1;transform:translate(-50%,-50%) scale(1)}25%{opacity:1;transform:translate(-50%,-50%) scale(1.15)}35%{opacity:1;transform:translate(-50%,-50%) scale(.95)}45%{opacity:1;transform:translate(-50%,-50%) scale(1.1)}55%{opacity:1;transform:translate(-50%,-50%) scale(.98)}65%{opacity:1;transform:translate(-50%,-50%) scale(1.05)}75%{opacity:1;transform:translate(-50%,-50%) scale(1)}85%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(.9)}}.experience-grid{display:flex;gap:20px;overflow-x:auto;padding-bottom:10px;scroll-behavior:smooth}.experience-card{min-width:450px;max-width:450px;padding:12px;border:1px solid var(--border-gray);border-radius:8px;background:var(--secondary-dark)}.experience-card h3{margin:0 0 2px;padding:0;color:var(--off-white)}.experience-card h4{color:var(--off-white);margin:0 0 3px;padding:0;font-weight:600}.company-name,.company-info{display:flex;align-items:center;gap:8px}.company-text{line-height:1;display:flex;align-items:center;margin-top:-1px}.company-logo{width:24px;height:24px;object-fit:contain;border-radius:4px;display:block}.experience-date,.experience-location{font-size:.9rem;color:var(--off-white);margin:0 0 2px;padding:0}.tech-stack{font-size:.9rem;font-weight:700;color:var(--off-white);margin-bottom:10px}.tech-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:15px;margin-bottom:10px;justify-content:flex-start}.project-card .tech-tags{justify-content:flex-start;display:flex;flex-wrap:wrap;gap:4px;min-height:45px;align-content:flex-start}.tech-tag{display:inline-block;padding:1px 4px;background:var(--secondary-dark);border:1px solid var(--border-gray);border-radius:4px;font-size:.75rem;font-weight:500;color:var(--off-white);white-space:nowrap}.experience-card ul{list-style-type:disc;padding-left:20px}.experience-card li{margin-bottom:5px;line-height:1.3;color:var(--off-white)}.projects-grid{display:flex;gap:20px;overflow-x:auto;padding-bottom:10px;scroll-behavior:smooth}.project-card{min-width:350px;max-width:350px;padding:15px;border:1px solid var(--border-gray);border-radius:8px;background:var(--secondary-dark);display:flex;flex-direction:column;text-align:center;min-height:500px}.project-card h3{margin:0 0 8px;color:var(--off-white)}.project-gif{width:100%;height:auto;border-radius:6px;margin-bottom:12px;border:1px solid var(--border-gray)}.project-card .tech-stack{margin-bottom:10px}.project-card p{color:var(--off-white);line-height:1.5;flex-grow:1;text-align:left}.project-links{display:flex;gap:10px;margin-top:auto;justify-content:center}.project-link{display:flex;align-items:center;gap:8px;padding:8px 16px;border:2px solid var(--accent-gray);text-decoration:none;color:var(--off-white);border-radius:4px;font-weight:500;font-size:.9rem;transition:all .2s ease}.project-link:hover{background:var(--off-white);color:var(--primary-dark)}@media (max-width: 768px){.hero-about{flex-direction:row;gap:15px;align-items:center;justify-content:center;text-align:center}.hero-content{flex:none;display:flex;align-items:center;gap:20px}.hero-content h1{font-size:1.8rem;margin:0}.hero-image,.hero-headshot,.hero-subtitle{display:none}.hero-social-links{justify-content:center;gap:12px;flex-wrap:nowrap;margin:0;display:flex;flex-direction:row}.social-link{padding:0;font-size:0;width:auto;height:auto;display:flex;align-items:center;justify-content:center;flex:none;border:none;background:none;border-radius:0}.social-icon{width:28px;height:28px;display:block!important;transition:all .2s ease}.social-link:hover .social-icon{transform:scale(1.1);opacity:.8}.about-content h2,.about-content p{text-align:center}.experience-card,.project-card{min-width:280px;max-width:280px}.projects-grid{grid-template-columns:1fr}.contact-links{flex-direction:column;align-items:center}.scroll-hint{display:block}}
