@import"https://fonts.googleapis.com/css2?family=Bangers&family=Luckiest+Guy&family=Comic+Neue:wght@400;700&family=Permanent+Marker&display=swap";:root{--comic-yellow: #ffde03;--comic-red: #ff0000;--comic-blue: #03a9f4;--comic-white: #ffffff;--comic-black: #000000;--bg-primary: var(--comic-white);--bg-panel: var(--comic-white);--accent-primary: var(--comic-red);--accent-secondary: var(--comic-blue);--accent-tertiary: var(--comic-yellow);--halftone-pattern: radial-gradient(rgba(0,0,0,.1) 15%, transparent 20%)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{min-height:100vh;color:var(--comic-black);background-color:var(--comic-yellow);background-image:var(--halftone-pattern);background-size:15px 15px;font-family:Comic Neue,cursive;font-size:18px;line-height:1.4;overflow-x:hidden}.comic-title{font-family:Bangers,cursive;text-transform:uppercase;letter-spacing:2px;-webkit-text-stroke:2px var(--comic-black);paint-order:stroke fill}.comic-button-font{font-family:Luckiest Guy,cursive}.ink-border{border:4px solid var(--comic-black);box-shadow:8px 8px 0 var(--comic-black)}.ink-border-thin{border:2px solid var(--comic-black);box-shadow:4px 4px 0 var(--comic-black)}@keyframes shake{0%{transform:translate(1px,1px) rotate(0)}10%{transform:translate(-1px,-2px) rotate(-1deg)}20%{transform:translate(-3px) rotate(1deg)}30%{transform:translate(3px,2px) rotate(0)}40%{transform:translate(1px,-1px) rotate(1deg)}50%{transform:translate(-1px,2px) rotate(-1deg)}}.action-burst{position:absolute;background:var(--comic-red);color:#fff;padding:5px 10px;font-family:Bangers,cursive;clip-path:polygon(0% 20%,20% 20%,15% 0%,40% 15%,50% 0%,65% 15%,85% 0%,80% 20%,100% 20%,90% 45%,100% 70%,80% 75%,85% 100%,65% 85%,55% 100%,40% 85%,15% 100%,20% 75%,0% 75%,10% 45%);z-index:10;pointer-events:none}#app{margin:0;min-height:100vh}a{text-decoration:none;color:var(--comic-blue);transition:color .1s ease;font-weight:700}a:hover{color:var(--comic-red)}.project-details{background:#fff;max-width:1000px;margin:40px auto;padding:60px;border:6px solid black;box-shadow:15px 15px #000;position:relative}.project-details h1{font-family:Bangers,cursive;font-size:4rem;color:var(--comic-yellow);-webkit-text-stroke:3px black;text-shadow:6px 6px 0px black;margin-bottom:2rem;transform:rotate(-1deg)}.project-details h2{font-family:Luckiest Guy,cursive;font-size:2rem;background:var(--comic-blue);color:#fff;padding:10px 20px;display:inline-block;transform:skew(-10deg);margin-top:30px;margin-bottom:20px;border:3px solid black}.project-details p{font-size:1.2rem;margin-bottom:1.5rem;line-height:1.6}.project-details .project-info{background:#eee;padding:20px;border:3px solid black;margin-bottom:40px;display:flex;flex-wrap:wrap;gap:20px}.project-details .project-info strong{font-family:Bangers,cursive;font-size:1.2rem;color:var(--comic-red)}.project-details .external-link{font-family:Luckiest Guy,cursive;background:var(--comic-red);color:#fff;padding:15px 30px;font-size:1.5rem;border:4px solid black;box-shadow:6px 6px #000;cursor:pointer;transition:transform .1s}.project-details .external-link:hover{transform:translate(-3px,-3px);box-shadow:9px 9px #000}.project-details .gallery-container{position:relative;display:flex;align-items:center;gap:10px;margin-top:40px}.project-details .gallery-image{width:100%;height:250px;object-fit:cover;border:4px solid black;box-shadow:8px 8px #000;transition:transform .2s}.project-details .gallery-image:hover{transform:scale(1.05) rotate(1deg);z-index:5}.project-details .image-gallery{display:flex;gap:20px;overflow-x:auto;scroll-behavior:smooth;padding:20px 0;flex:1}.project-details .image-gallery::-webkit-scrollbar{height:8px}.project-details .image-gallery::-webkit-scrollbar-track{background:#eee;border:2px solid black}.project-details .image-gallery::-webkit-scrollbar-thumb{background:var(--comic-blue);border:2px solid black}.project-details .image-gallery .gallery-image{flex-shrink:0;height:300px;width:auto;max-width:400px;object-fit:cover}.project-details .scroll-button{font-family:Bangers,cursive;font-size:2rem;background:var(--comic-yellow);color:#000;border:4px solid black;box-shadow:4px 4px #000;padding:10px 15px;cursor:pointer;transition:.1s;z-index:5}.project-details .scroll-button:hover{transform:translate(-2px,-2px);box-shadow:6px 6px #000;background:var(--comic-red);color:#fff}.project-details .tech-suite{display:flex;flex-wrap:wrap;gap:15px;justify-content:center;margin:30px 0;padding:20px;background:#eee;border:3px solid black}.project-details .tech-logo{width:50px;height:50px;object-fit:contain;filter:drop-shadow(2px 2px 0px black);transition:transform .2s}.project-details .tech-logo:hover{transform:scale(1.1) rotate(-5deg)}.project-details .button-logo{width:30px;height:30px;object-fit:contain;vertical-align:middle;margin-right:10px;filter:brightness(0) invert(1)}.project-details .image-container{display:flex;justify-content:center;gap:20px;flex-wrap:wrap;margin-top:30px}.project-details .image-container img{max-width:100%;height:auto;border:4px solid black;box-shadow:8px 8px #000;transition:transform .2s}.project-details .image-container img:hover{transform:scale(1.02) rotate(1deg)}.project-details .video-container{display:flex;justify-content:center;margin:30px 0 40px;width:100%}.project-details .project-video{max-width:100%;width:100%;max-height:60vh;object-fit:contain;border:4px solid black;box-shadow:8px 8px #000}.project-details ul{margin:20px 0;padding-left:30px}.project-details li{font-size:1.1rem;line-height:1.6;margin-bottom:10px}@media (max-width: 768px){.project-details{margin:20px 15px;padding:30px 20px;border-width:4px;box-shadow:8px 8px #000}.project-details h1{font-size:2.5rem;-webkit-text-stroke:2px black;text-shadow:4px 4px 0px black}.project-details h2{font-size:1.5rem;padding:8px 15px}.project-details p{font-size:1.05rem}.project-details .project-info{flex-direction:column;gap:10px}.project-details .external-link{font-size:1.2rem;padding:12px 20px}.project-details .image-gallery .gallery-image{height:200px;max-width:280px}.project-details .project-video{max-height:50vh}}.comic-panel[data-v-301c2cd1]{position:relative;background:#fff;padding:10px;border:4px solid black;box-shadow:10px 10px #000;cursor:pointer;transition:all .1s;transform:rotate(var(--rot, -1deg))}.comic-panel[data-v-301c2cd1]:nth-child(2n){--rot: 1deg}.comic-panel[data-v-301c2cd1]:hover{transform:scale(1.05) rotate(0);box-shadow:15px 15px 0 var(--comic-blue);z-index:10}.panel-header[data-v-301c2cd1]{font-family:Bangers,cursive;font-size:1.5rem;background:var(--comic-yellow);padding:5px 10px;border-bottom:4px solid black;margin:-10px -10px 10px}.image-wrapper[data-v-301c2cd1]{position:relative;width:100%;aspect-ratio:4/3;border:2px solid black;overflow:hidden}.panel-image[data-v-301c2cd1]{width:100%;height:100%;object-fit:cover;filter:contrast(1.1) brightness(1.1)}.action-burst.mini[data-v-301c2cd1]{top:50%;left:50%;transform:translate(-50%,-50%) rotate(-15deg);font-size:1.5rem;background:var(--comic-red)}.panel-footer[data-v-301c2cd1]{display:flex;justify-content:space-between;align-items:center;padding-top:10px}.ink-arrow[data-v-301c2cd1]{font-size:1.5rem;font-weight:900}.comic-button-font[data-v-301c2cd1]{font-family:Luckiest Guy,cursive;font-size:.9rem;color:var(--comic-red)}.comic-page[data-v-9ff2f3db]{padding:40px 20px;max-width:1200px;margin:0 auto}.hero-panel[data-v-9ff2f3db]{background:#fff;padding:60px;margin-bottom:60px;position:relative;overflow:visible}.featured-aside[data-v-9ff2f3db]{position:absolute;left:-50px;top:30%;transform:translateY(-50%) rotate(-4deg);z-index:10;display:flex;flex-direction:column;align-items:center;gap:10px;padding:18px 24px;background:var(--comic-yellow);border:4px solid black;box-shadow:6px 6px #000;text-decoration:none;color:#000;transition:transform .15s ease,box-shadow .15s ease}.featured-aside[data-v-9ff2f3db]:hover{transform:translateY(-50%) rotate(-4deg) translate(-2px,-2px);box-shadow:9px 9px #000}.featured-aside-label[data-v-9ff2f3db]{font-family:Bangers,cursive;font-size:1.9rem;background:var(--comic-red);color:#fff;padding:6px 20px;border:3px solid black}.featured-aside-text[data-v-9ff2f3db]{font-family:Luckiest Guy,cursive;font-size:1.1rem;letter-spacing:.5px;text-align:center;line-height:1.3;max-width:8em}.hero-aside-images[data-v-9ff2f3db]{position:absolute;right:-40px;top:50%;transform:translateY(-50%) rotate(3deg);z-index:10;display:flex;flex-direction:column;align-items:center;gap:36px}.hero-aside-image[data-v-9ff2f3db]{max-height:260px;width:auto;border:4px solid black;box-shadow:6px 6px #000;object-fit:contain}.hero-aside-image-tilt-left[data-v-9ff2f3db]{transform:rotate(-6deg)}.hero-aside-image-tilt-right[data-v-9ff2f3db]{transform:rotate(5deg)}.hero-panel[data-v-9ff2f3db]:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(var(--comic-blue) 10%,transparent 11%);background-size:20px 20px;opacity:.05}.hero-title-row[data-v-9ff2f3db]{display:flex;align-items:center;justify-content:center;gap:30px;margin-bottom:40px}.hero-title[data-v-9ff2f3db]{font-size:clamp(3rem,8vw,6rem);display:flex;flex-direction:column;align-items:flex-start;gap:5px}.wow-burst[data-v-9ff2f3db]{background:var(--comic-red);color:#fff;padding:10px 30px;clip-path:polygon(0% 20%,20% 20%,15% 0%,40% 15%,50% 0%,65% 15%,85% 0%,80% 20%,100% 20%,90% 45%,100% 70%,80% 75%,85% 100%,65% 85%,55% 100%,40% 85%,15% 100%,20% 75%,0% 75%,10% 45%);font-size:.5em;transform:rotate(-10deg)}.comic-avatar[data-v-9ff2f3db]{width:170px;height:170px;flex-shrink:0}.hero-content[data-v-9ff2f3db]{position:relative;z-index:1;text-align:center}.hero-actions[data-v-9ff2f3db]{display:flex;justify-content:center;flex-wrap:wrap;gap:20px;margin-top:20px}.speech-bubble[data-v-9ff2f3db]{position:relative;background:#fff;border:4px solid black;border-radius:50px;padding:20px 40px;font-size:1.5rem;max-width:600px;margin:0 auto 40px;box-shadow:10px 10px #0000001a}.speech-bubble[data-v-9ff2f3db]:before{content:"";position:absolute;bottom:-30px;left:50%;border-width:30px 20px 0;border-style:solid;border-color:black transparent transparent;transform:translate(-50%)}.speech-bubble[data-v-9ff2f3db]:after{content:"";position:absolute;bottom:-22px;left:50%;border-width:24px 16px 0;border-style:solid;border-color:white transparent transparent;transform:translate(-50%)}.comic-btn[data-v-9ff2f3db]{display:inline-block;font-family:Luckiest Guy,cursive;font-size:1.8rem;padding:18px 50px;border:5px solid black;box-shadow:8px 8px #000;text-decoration:none;color:#000;background:#fff;transition:all .15s ease;cursor:pointer;position:relative;text-transform:uppercase;letter-spacing:1px}.comic-btn[data-v-9ff2f3db]:hover{transform:translate(-4px,-4px);box-shadow:12px 12px #000}.comic-btn[data-v-9ff2f3db]:active{transform:translate(2px,2px);box-shadow:4px 4px #000}.action-red[data-v-9ff2f3db]{background:red;color:#fff}.action-blue[data-v-9ff2f3db]{background:#03a9f4;color:#fff}.action-yellow[data-v-9ff2f3db]{background:#ffde03;color:#000}.burst-label[data-v-9ff2f3db]{position:absolute;top:-40px;left:50%;transform:translate(-50%);color:var(--comic-yellow);-webkit-text-stroke:2px black;font-size:2rem;animation:shake .5s infinite}.projects-section[data-v-9ff2f3db]{padding:60px 0}.section-label[data-v-9ff2f3db]{font-family:Bangers,cursive;background:#000;color:#fff;padding:5px 20px;font-size:1.5rem;display:inline-block;margin-bottom:20px}.projects-grid[data-v-9ff2f3db]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:40px}.about-panel[data-v-9ff2f3db]{background:#fff;padding:40px}.about-layout[data-v-9ff2f3db]{display:grid;grid-template-columns:1fr 1.5fr;gap:40px;align-items:center}.comic-photo-frame[data-v-9ff2f3db]{background:#eee;padding:10px;border:4px solid black;transform:rotate(-2deg)}.about-photo[data-v-9ff2f3db]{width:100%;display:block;border:2px solid black}.school-badges[data-v-9ff2f3db]{display:flex;justify-content:center;gap:8px;padding-top:10px}.school-badge[data-v-9ff2f3db]{font-family:Bangers,cursive;font-size:.9rem;padding:5px 12px;border:3px solid black;transform:skew(-5deg);box-shadow:3px 3px #000}.school-badge.stevens[data-v-9ff2f3db]{background:#4a4a4a;color:#fff}.school-badge.cmu[data-v-9ff2f3db]{background:#c41230;color:#fff}.speech-bubble-rect[data-v-9ff2f3db]{background:#fff;border:4px solid black;padding:20px;position:relative;margin:20px 0}.about-details[data-v-9ff2f3db]{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:20px 0}.detail-block[data-v-9ff2f3db]{background:#f9f9f9;border:3px solid black;padding:15px}.detail-block h3[data-v-9ff2f3db]{font-family:Bangers,cursive;font-size:1.3rem;color:var(--comic-red);margin-bottom:10px;border-bottom:2px solid black;padding-bottom:5px}.detail-block p[data-v-9ff2f3db]{font-size:1rem;line-height:1.5;margin:0}.tech-pills[data-v-9ff2f3db]{display:flex;flex-wrap:wrap;gap:10px}.resume-section[data-v-9ff2f3db]{margin-top:40px;padding-top:30px;border-top:4px dashed black;text-align:center}.resume-heading[data-v-9ff2f3db]{margin-bottom:20px;font-size:2.5rem}.resume-embed-wrap[data-v-9ff2f3db]{width:100%;max-width:900px;margin:0 auto 16px;border:4px solid black;box-shadow:8px 8px #000;background:#f5f5f5;overflow:hidden}.resume-pdf[data-v-9ff2f3db]{width:100%;height:85vh;min-height:700px;display:block;border:none}.resume-download[data-v-9ff2f3db]{display:inline-block;font-family:Luckiest Guy,cursive;font-size:1.1rem;color:var(--comic-blue);text-decoration:none;border-bottom:2px solid var(--comic-blue);padding-bottom:2px;transition:color .2s,border-color .2s}.resume-download[data-v-9ff2f3db]:hover{color:var(--comic-red);border-color:var(--comic-red)}.pill[data-v-9ff2f3db]{background:var(--comic-yellow);border:2px solid black;padding:5px 15px;font-family:Luckiest Guy,cursive}.contact-section[data-v-9ff2f3db]{margin:60px 0}.contact-panel[data-v-9ff2f3db]{padding:60px;text-align:center}.contact-buttons[data-v-9ff2f3db]{display:flex;flex-wrap:wrap;justify-content:center;gap:20px;margin-top:30px}.footer[data-v-9ff2f3db]{text-align:center;padding:40px;font-size:2rem}.scroll-anchor[data-v-9ff2f3db]{display:block;height:80px;margin-top:-80px;visibility:hidden}@media (max-width: 768px){.comic-page[data-v-9ff2f3db]{padding:20px 15px}.hero-panel[data-v-9ff2f3db]{padding:30px 20px}.featured-aside[data-v-9ff2f3db],.hero-aside-images[data-v-9ff2f3db]{display:none}.about-layout[data-v-9ff2f3db],.about-details[data-v-9ff2f3db]{grid-template-columns:1fr}.hero-title-row[data-v-9ff2f3db]{flex-direction:column;gap:20px}.hero-title[data-v-9ff2f3db]{align-items:center;font-size:clamp(2.5rem,10vw,4rem)}.comic-avatar[data-v-9ff2f3db]{width:80px;height:80px}.speech-bubble[data-v-9ff2f3db]{padding:15px 25px;font-size:1.2rem;border-radius:30px}.comic-btn[data-v-9ff2f3db]{font-size:1.4rem;padding:14px 30px}.about-panel[data-v-9ff2f3db]{padding:25px}.resume-embed-wrap[data-v-9ff2f3db]{box-shadow:5px 5px #000}.resume-pdf[data-v-9ff2f3db]{height:60vh;min-height:400px}.contact-panel[data-v-9ff2f3db]{padding:40px 20px}.contact-buttons[data-v-9ff2f3db]{gap:15px}.projects-grid[data-v-9ff2f3db]{gap:25px}.section-label[data-v-9ff2f3db]{font-size:1.2rem}.footer[data-v-9ff2f3db]{padding:30px 20px;font-size:1.5rem}}@media (min-width: 1024px){.about{min-height:100vh;display:flex;align-items:center}}.project-details[data-v-ad6ef203]{text-align:center;padding:20px}.project-image[data-v-ad6ef203]{width:80%;max-width:600px;margin:20px 0}.comic-back-btn[data-v-9afb5762]{position:fixed;top:20px;left:20px;display:flex;align-items:center;gap:10px;font-family:Luckiest Guy,cursive;font-size:1.5rem;padding:10px 20px;background:var(--comic-yellow);border:4px solid black;box-shadow:6px 6px #000;color:#000;cursor:pointer;z-index:100;transition:.1s}.comic-back-btn[data-v-9afb5762]:hover{transform:translate(-3px,-3px);box-shadow:9px 9px 0 var(--comic-red)}.arrow[data-v-9afb5762]{font-size:1.8rem}
