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;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{background:linear-gradient(180deg,#2d3b53,#1a2332 50%,#0f1419);font-family:Courier New,Courier,monospace;min-height:100vh;overflow-x:hidden;position:relative;text-align:center}.App:before{background:radial-gradient(circle at 25% 25%,#fff6 1px,#0000 0),radial-gradient(circle at 75% 35%,#ffffff4d 1px,#0000 0),radial-gradient(circle at 15% 65%,#ffffff59 1px,#0000 0),radial-gradient(circle at 85% 75%,#ffffff40 1px,#0000 0),radial-gradient(circle at 50% 50%,#fff3 1px,#0000 0),radial-gradient(circle at 30% 80%,#ffffff4d 1px,#0000 0),radial-gradient(circle at 70% 20%,#ffffff26 1px,#0000 0),radial-gradient(circle at 40% 90%,#ffffff40 1px,#0000 0),radial-gradient(circle at 60% 10%,#fff3 1px,#0000 0),radial-gradient(circle at 90% 50%,#ffffff26 1px,#0000 0);background-size:300px 300px,400px 400px,250px 250px,350px 350px,200px 200px,280px 280px,220px 220px,320px 320px,260px 260px,240px 240px;content:"";height:100vh;left:0;pointer-events:none;position:fixed;top:0;width:100%;z-index:0}.App-header{align-items:center;background:#0000;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh;overflow:hidden;position:relative;z-index:10}.hero-section p{margin-bottom:1rem}.hero-section{position:relative;z-index:20}.hero-section:before{background:#0000;bottom:-30px;content:"";left:-60px;pointer-events:none;position:absolute;right:-60px;top:-30px;z-index:15}.floating-thumbnails{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:1}.floating-thumbnail{animation:floatAround linear infinite;border:3px solid #82aaff66;border-radius:16px;box-shadow:0 12px 32px #0006;cursor:pointer;height:120px;opacity:.8;overflow:hidden;pointer-events:auto;position:absolute;text-decoration:none;transition:all .3s ease;width:120px}.floating-thumbnail:hover{border-color:#82aaff99;box-shadow:0 16px 40px #00000080;opacity:1;transform:scale(1.15)}.floating-thumbnail img{height:100%;object-fit:cover;width:100%}.thumbnail-placeholder{align-items:center;background:linear-gradient(135deg,#2d3b53,#1a2332);color:#82aaff;display:flex;font-family:Courier New,monospace;font-size:1.5rem;font-weight:700;height:100%;justify-content:center;width:100%}.thumbnail-1{animation-name:float1;left:15%;top:20%}.thumbnail-2{animation-name:float2;right:15%;top:15%}.thumbnail-3{animation-name:float3;right:5%;top:35%}.thumbnail-4{animation-name:float4;right:5%;top:55%}.thumbnail-5{animation-name:float5;right:15%;top:75%}.thumbnail-6{animation-name:float6;left:15%;top:80%}.thumbnail-7{animation-name:float7;left:5%;top:60%}.thumbnail-8{animation-name:float8;left:5%;top:40%}@keyframes float1{0%,to{transform:translate(0) rotate(0deg)}25%{transform:translate(10px,-12px) rotate(2deg)}50%{transform:translate(-8px,-10px) rotate(-1deg)}75%{transform:translate(8px,6px) rotate(1deg)}}@keyframes float2{0%,to{transform:translate(0) rotate(0deg)}25%{transform:translate(-12px,8px) rotate(-2deg)}50%{transform:translate(8px,-6px) rotate(1deg)}75%{transform:translate(-10px,-8px) rotate(-1deg)}}@keyframes float3{0%,to{transform:translate(0) rotate(0deg)}25%{transform:translate(15px,-10px) rotate(3deg)}50%{transform:translate(-10px,8px) rotate(-2deg)}75%{transform:translate(12px,8px) rotate(2deg)}}@keyframes float4{0%,to{transform:translate(0) rotate(0deg)}25%{transform:translate(-10px,-12px) rotate(-3deg)}50%{transform:translate(12px,10px) rotate(2deg)}75%{transform:translate(-12px,8px) rotate(-2deg)}}@keyframes float5{0%,to{transform:translate(0) rotate(0deg)}25%{transform:translate(-15px,5px) rotate(-3deg)}50%{transform:translate(10px,-12px) rotate(2deg)}75%{transform:translate(-8px,15px) rotate(-2deg)}}@keyframes float6{0%,to{transform:translate(0) rotate(0deg)}25%{transform:translate(12px,10px) rotate(2deg)}50%{transform:translate(-8px,-6px) rotate(-1deg)}75%{transform:translate(10px,-8px) rotate(3deg)}}@keyframes float7{0%,to{transform:translate(0) rotate(0deg)}25%{transform:translate(10px,-8px) rotate(2deg)}50%{transform:translate(-6px,8px) rotate(-2deg)}75%{transform:translate(8px,6px) rotate(1deg)}}@keyframes float8{0%,to{transform:translate(0) rotate(0deg)}25%{transform:translate(-10px,8px) rotate(-2deg)}50%{transform:translate(12px,-8px) rotate(2deg)}75%{transform:translate(-8px,10px) rotate(-2deg)}}.top-actions{display:flex;gap:1rem;justify-content:center;margin-top:1.5rem}.quick-links-section{color:#fff;margin:0 auto;max-width:1056px;padding:2.4rem 2rem;position:relative;text-align:center;z-index:10}.quick-links-grid{display:flex;flex-wrap:wrap;gap:2rem;justify-content:center;margin:2rem 0}.quick-link{background:#82aaff1a;border:1px solid #82aaff4d;border-radius:8px;color:#82aaff;font-weight:600;padding:.5rem 1rem;text-decoration:none;transition:all .3s ease}.quick-link:hover{background:#82aaff33;transform:translateY(-2px)}.pdf-buttons{display:flex;gap:1rem;justify-content:center;margin-top:2rem}.action-btn{background:#d060851f;border:1px solid #d0608559;border-radius:10px;color:#d06085;display:inline-block;font-weight:700;padding:.6rem 1rem;text-decoration:none;transition:transform .2s ease,background .2s ease,border-color .2s ease,color .2s ease}.action-btn:hover{background:#d0608533;border-color:#d06085;transform:translateY(-1px)}.action-btn.alt{background:#82aaff1f;border:1px solid #82aaff59;color:#82aaff}.action-btn.alt:hover{background:#82aaff33;border-color:#82aaff}.scroll-indicator{bottom:2rem;left:50%;position:absolute;transform:translateX(-50%);z-index:1}.scroll-arrow{animation:bounce 2s infinite;border-bottom:2px solid #82aaff;border-right:2px solid #82aaff;height:24px;transform:rotate(45deg);transition:opacity .3s ease;width:24px}.scroll-arrow.stopped{animation:none;opacity:.3}@keyframes bounce{0%,20%,50%,80%,to{transform:rotate(45deg) translateY(0)}40%{transform:rotate(45deg) translateY(-10px)}60%{transform:rotate(45deg) translateY(-5px)}}.about-section{color:#fff;margin:3.6rem auto 0;max-width:1056px;padding:0 2rem 4.8rem;position:relative;text-align:left;z-index:10}.about-section .about-content{-webkit-backdrop-filter:blur(8px) saturate(110%);backdrop-filter:blur(8px) saturate(110%);background:linear-gradient(180deg,#82aaff1a,#2d3b5340);border:1px solid #82aaff40;border-radius:18px;box-shadow:0 12px 32px #00000040,inset 0 0 0 1px #82aaff1f;padding:2.25rem;transition:box-shadow .3s ease,transform .2s ease}.about-section .about-content:hover{box-shadow:0 16px 40px #00000047,inset 0 0 0 1px #82aaff2e;transform:translateY(-2px)}.about-section h2{margin-bottom:1rem}.about-section p{color:#aeb4bb;line-height:1.7;margin-bottom:.9rem}.about-section ul{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:1fr;list-style:none;margin:0 0 .5rem;padding:0}.about-section li{align-items:flex-start;color:#aeb4bb;display:flex;gap:.6rem}.about-section li:before{background:#c3e88d;border-radius:50%;box-shadow:0 0 0 4px #c3e88d1f;content:"";height:8px;margin-top:.45rem;width:8px}.about-section a{border-bottom:1px dashed #c3e88d80;color:#c3e88d;text-decoration:none}.about-section a:hover{border-bottom-color:#c3e88d}.about-section a[href^="https://linkedin.com"],.about-section a[href^="mailto:"]{border-bottom:1px dashed #d0608580;color:#d06085;text-decoration:none}.about-section a[href^="https://linkedin.com"]:hover,.about-section a[href^="mailto:"]:hover{border-bottom-color:#82aaff;color:#82aaff}.experience-section,.projects-section,.skills-section{background:#0000;color:#fff;margin:0 auto;max-width:1056px;padding:3.6rem 2rem 4.8rem;position:relative;text-align:left;z-index:10}.about-section:before{top:-2.4rem}.about-section:before,.experience-section:before,.projects-section:before,.skills-section:before{background:#82aaff33;content:"";height:1px;left:50%;position:absolute;transform:translateX(-50%);width:100px}.experience-section:before,.projects-section:before,.skills-section:before{top:0}.contact-section{background:#0000;color:#fff;padding:2rem;text-align:center}.about-section h2,.experience-section h2,.projects-section h2,.skills-section h2{color:#82aaff;font-size:2rem;margin-bottom:2rem;position:relative;text-align:center}.section-note{word-wrap:break-word;-webkit-backdrop-filter:blur(6px) saturate(110%);backdrop-filter:blur(6px) saturate(110%);background:linear-gradient(180deg,#82aaff14,#2d3b532e);border:1px solid #82aaff40;border-radius:12px;box-shadow:0 6px 16px #0000002e,inset 0 0 0 1px #82aaff14;color:#aeb4bb;display:block;font-size:.95rem;line-height:1.5;margin:.75rem auto 2.25rem;padding:.8rem 1.2rem;text-align:center;white-space:normal}.section-note:before{content:"💡";display:inline-block;filter:drop-shadow(0 1px 0 rgba(0,0,0,.2));font-size:1rem;line-height:1}.projects-section{align-items:center;display:flex;flex-direction:column}.about-section h2:after,.experience-section h2:after,.projects-section h2:after,.skills-section h2:after{background:#d06085;border-radius:1px;bottom:-10px;content:"";height:2px;left:50%;position:absolute;transform:translateX(-50%);width:60px}.about-section p{color:#a5a9af;font-size:1.1rem;line-height:1.6;margin-bottom:1rem}.about-section li{color:#a5a9af;margin-bottom:.5rem}.about-section a{color:#a5a9af;text-decoration:underline}.experience-item{background:#82aaff0d;border-left:4px solid #82aaff;border-radius:8px;color:#a5a9af;margin-bottom:2rem;padding:1.5rem}.experience-header{align-items:center;cursor:pointer;display:flex;gap:1.5rem;justify-content:space-between;margin-bottom:1rem}.experience-toggle{color:#d06085;font-size:1.5rem;font-weight:800;margin-left:.5rem}.experience-content{max-height:0;overflow:hidden;transition:max-height .3s ease}.experience-item.active .experience-content{max-height:1000px}.company-logo{align-items:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#14141499;border:1px solid #282828cc;border-radius:6px;box-shadow:0 2px 8px #0000004d;display:flex;flex-shrink:0;justify-content:center;padding:12px}.company-logo:has(img[alt="Arista Networks"]){background:#3a5263cc;border:1px solid #3a5263e6}.company-logo:has(img[alt="Waterloo Rocketry"]){background:#3a5263cc;border:1px solid #3a5263e6}.company-logo:has(img[alt="aiRadar Inc."]){background:#3a5263cc;border:1px solid #3a5263e6}.company-logo img{border:none;filter:none;height:6rem;object-fit:contain;outline:none;transition:transform .3s ease;width:auto}.company-logo:hover img{transform:scale(1.05)}.footer-bar{align-items:center;background:#2d3b534d;border-top:1px solid #82aaff1a;display:flex;justify-content:space-between;margin-top:1.8rem;padding:1.5rem 2rem;position:relative;width:100%;z-index:10}.footer-left{display:flex;flex-direction:column;gap:.25rem}.footer-left p{color:#b0b0b0;font-size:.9rem;margin:0}.footer-right{gap:1.5rem}.footer-icon,.footer-right{align-items:center;display:flex}.footer-icon{color:#b0b0b0;justify-content:center;transition:opacity .3s ease}.footer-icon:hover{opacity:.7}@media (max-width:768px){.footer-bar{padding:1rem 2rem}.footer-left{margin-bottom:1rem;text-align:center}.footer-right{justify-content:center}}.experience-title{flex:1 1}.experience-item h3{font-size:1.3rem}.company,.experience-item h3{color:#a5a9af;margin-bottom:.5rem}.company{font-weight:600}.experience-item p{color:#a5a9af;line-height:1.5}.experience-item ul{color:#a5a9af;margin-bottom:2rem}.experience-item li{color:#a5a9af;line-height:1.7;margin-bottom:1rem}.projects-grid{grid-gap:1.5rem;align-items:start;display:grid;gap:1.5rem;grid-auto-rows:max-content;grid-template-columns:repeat(3,1fr);margin-top:2rem}.project-tile{background:#82aaff0d;border:1px solid #82aaff1a;border-radius:12px;box-shadow:0 4px 6px #0000001a;grid-row:auto;height:fit-content;overflow:hidden;position:relative;transition:all .3s ease;z-index:1}.project-tile.active{box-shadow:0 12px 32px #0000004d;transform:translateY(-50px);z-index:10}.project-tile:first-child{margin-top:0}.project-tile:nth-child(2){margin-top:1rem}.project-tile:nth-child(3){margin-top:.5rem}.project-tile:nth-child(4){margin-top:1.5rem}.project-tile:nth-child(5){margin-top:.25rem}.project-tile:nth-child(6){margin-top:1.25rem}.project-tile:nth-child(7){margin-top:.75rem}.project-tile:nth-child(8){margin-top:1.75rem}.project-tile:nth-child(9){margin-top:.4rem}.project-tile:nth-child(10){margin-top:1.1rem}.project-tile:nth-child(11){margin-top:.6rem}.project-tile:hover{border-color:#82aaff4d;box-shadow:0 8px 25px #82aaff26;transform:translateY(-5px)}.project-image{height:160px;overflow:hidden;position:relative;width:100%}.project-image img{height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.project-tile:hover .project-image img{transform:scale(1.05)}.project-content{padding:1.2rem}.project-header{align-items:center;cursor:pointer;display:flex;gap:1rem;justify-content:space-between}.project-content h3{color:#82aaff;font-size:1.3rem;font-weight:600;margin-bottom:.75rem}.project-toggle{color:#d06085;font-size:1.2rem;font-weight:800}.project-collapsible{max-height:0;overflow:hidden;transition:max-height .3s ease}.project-tile.active .project-collapsible{max-height:800px}.project-content p{color:#a5a9af;font-size:.95rem;line-height:1.5;margin-bottom:1.5rem}.project-links{display:flex;flex-wrap:wrap;gap:1rem}.project-links a{background:#d060851a;border:1px solid #d0608533;border-radius:6px;color:#d06085;font-size:.9rem;font-weight:500;padding:.5rem 1rem;text-decoration:none;transition:all .3s ease}.project-links a:hover{background:#d06085;border-color:#d06085;color:#fff;transform:translateY(-1px)}.project-skills{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.skill-tag{align-items:center;background:#c3e88d26;border:1px solid #c3e88d59;border-radius:10px;color:#c3e88d;display:inline-flex;font-size:.8rem;font-weight:600;letter-spacing:.2px;padding:.3rem .6rem}.skill-tag:hover{background:#c3e88d40}.contact-section p{font-size:17px;margin-bottom:.5rem}.contact-section a{color:#d06085;text-decoration:none}.contact-section a:hover{color:#82aaff}.skills-grid{background:#82aaff0d;border:1px solid #82aaff1a;border-radius:12px;box-shadow:0 4px 6px #0000001a;display:flex;flex-direction:column;gap:.5rem;margin-top:2rem;padding:1.5rem}.skill-category{background:#0000;border:none;border-bottom:1px solid #82aaff1a;border-radius:0;margin-bottom:0;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease,background .3s ease}.skill-category:hover{background:#82aaff14;box-shadow:0 3px 8px #00000026;transform:translateY(-1px)}.skill-category:last-child{border-bottom:none}.skill-header{align-items:center;background:#82aaff14;cursor:pointer;display:flex;justify-content:space-between;padding:1rem 1.5rem;transition:background .3s ease}.skill-header:hover{background:#82aaff1f}.skill-header h3{color:#82aaff;font-size:1.2rem;font-weight:600;margin:0}.skill-toggle{color:#d06085;font-size:1.5rem;font-weight:700;transition:transform .3s ease}.skill-category.active .skill-toggle{transform:rotate(45deg)}.skill-content{max-height:0;overflow:hidden;transition:max-height .3s ease}.skill-category.active .skill-content{max-height:800px}.skill-content ul{list-style:none;margin:0;padding:0 1.5rem 1.5rem}.skill-icons-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));max-width:100%;padding:1.5rem}.skill-icon{align-items:center;border-radius:12px;display:flex;flex-direction:column;padding:1rem .5rem;text-align:center;transition:transform .3s ease,background .3s ease}.skill-icon:hover{background:#82aaff0d;transform:translateY(-2px)}.skill-icon-image{align-items:center;background:#ffffff1a;border-radius:16px;display:flex;height:80px;justify-content:center;margin-bottom:.75rem;transition:background .3s ease;width:80px}.skill-icon:hover .skill-icon-image{background:#82aaff33}.skill-icon-logo{filter:none;height:60px;object-fit:contain;opacity:.9;transition:opacity .3s ease;width:60px}.skill-icon:hover .skill-icon-logo{opacity:1}.skill-icon-placeholder{align-items:center;background:#d0608533;border-radius:50%;color:#d06085;display:flex;font-size:2rem;font-weight:700;height:60px;justify-content:center;transition:background .3s ease,color .3s ease;width:60px}.skill-icon:hover .skill-icon-placeholder{background:#d060854d;color:#ff82b2}.skill-icon-caption{color:#a5a9af;font-size:1rem;font-weight:600;line-height:1.2;text-align:center}@media (max-width:1175px){.about-section,.experience-section,.projects-section,.skills-section{padding:2rem 1rem}.projects-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.projects-grid{grid-template-columns:1fr}.project-links{flex-direction:column;gap:.5rem}.skill-icons-grid{gap:1rem;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));padding:1.5rem}.skill-icon-image{height:80px;width:80px}.skill-icon-logo{height:60px;width:60px}.skill-icon-placeholder{font-size:2rem;height:60px;width:60px}.skill-icon-caption{font-size:1rem}.thumbnail-2,.thumbnail-5,.thumbnail-6,.thumbnail-7{display:none}.thumbnail-1{left:20%;top:15%}.thumbnail-3{right:20%;top:15%}.thumbnail-4{right:20%;top:75%}.thumbnail-8{left:20%;top:75%}}@media (max-width:700px){.thumbnail-4,.thumbnail-8{display:none}.scroll-indicator{bottom:25vh}}@media (max-width:500px){.company-logo{display:none}}@media (max-width:360px){.floating-thumbnails{display:none}}@media (max-width:480px){.skill-icons-grid{gap:.8rem;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));padding:1rem}.skill-icon-image{height:70px;width:70px}.skill-icon-logo{height:50px;width:50px}.skill-icon-placeholder{font-size:1.8rem;height:50px;width:50px}.skill-icon-caption{font-size:.9rem}}
/*# sourceMappingURL=main.55707bf2.css.map*/