*{box-sizing:border-box;margin:0;padding:0}html,body{color:#f8f8ff;background-color:#000;background-image:none;width:100%;height:100%;font-family:"Fusion Pixel 10px Monospaced JP",monospace;transition:background 1s ease-in-out;overflow:hidden}#__next,#root{width:100%;height:100%}h1,h2,h3,p{text-shadow:0 0 8px #ffc87899}body{opacity:0;animation:1s ease-in forwards fadeIn}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}main{text-align:center;flex-direction:column;justify-content:center;align-items:center;height:100vh;display:flex;position:relative}h1{z-index:25;text-shadow:0 0 16px #ffc878cc;font-size:clamp(20px,3vw,30px);position:fixed;top:40%;left:50%;transform:translate(-50%,-50%)}.subtext{color:#ffb84d;filter:drop-shadow(0 0 10px #ff6400e6);margin-top:10px;font-size:clamp(10px,2vw,20px);display:block}.profile{width:90px;height:auto;image-rendering:pixelated;cursor:pointer;z-index:1000;transition:transform .2s,filter .2s;animation:2s ease-in-out infinite profilePulse;position:absolute;top:20px;left:20px}.profile.no-pulse{animation:none!important}.profile:hover{transition:transform .2s,filter .2s;filter:drop-shadow(0 0 12px #ff6400e6)!important;animation:none!important;transform:scale(1.1)!important}.loading-overlay{z-index:9999;background-color:#000;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;animation:1s ease-in-out 7s forwards fadeOutOverlay;display:flex;position:fixed;top:0;left:0}@keyframes fadeOutOverlay{to{opacity:0;visibility:hidden}}.loading-text{z-index:10001;flex-direction:row;justify-content:center;align-items:center;gap:4px;margin-top:-100px;display:flex}.loading-text img.loading-word{width:225px;height:auto;image-rendering:pixelated;margin-left:0}.loading-dots{justify-content:center;align-items:center;margin-top:15px;display:flex}.loading-dots img{opacity:0;width:45px;height:45px;image-rendering:pixelated}.loading-dots img:first-child{margin-left:-30px;animation:.4s ease-in 1s forwards dotFadeIn}.loading-dots img:nth-child(2){margin-left:-20px;animation:.4s ease-in 2s forwards dotFadeIn}.loading-dots img:nth-child(3){margin-left:-20px;animation:.4s ease-in 3s forwards dotFadeIn,1s ease-in-out 4s forwards dotFlash,1s ease-in-out 5s forwards dotFlash,1s linear 6.05s forwards dotFinalHold}.loading-fire{width:250px;height:auto;image-rendering:pixelated;z-index:1;position:absolute;top:75%;left:49%;transform:translate(-50%,-50%)}@keyframes dotFadeIn{0%{opacity:0}to{opacity:1}}@keyframes dotFlash{0%{opacity:1}35%{opacity:0}65%{opacity:1}to{opacity:1}}@keyframes dotFinalHold{0%{opacity:1}to{opacity:1}}.scene{opacity:0;z-index:1;background-color:#000;background-image:url(/pixel/scene.gif);background-position:50%;background-repeat:no-repeat;background-size:cover;width:100%;height:100vh;animation:1s ease-in-out 7s forwards fadeInScene;position:fixed;top:0;left:0}.scene.dimmed:before{content:"";z-index:999;pointer-events:none;background:#000000bf;width:100%;height:100%;position:fixed;top:0;left:0}@keyframes fadeInScene{to{opacity:1}}@keyframes profilePulse{0%,to{filter:drop-shadow(0 0 #ff640000);transform:scale(1)}50%{filter:drop-shadow(0 0 12px #ff6400e6);transform:scale(1.1)}}@media (max-width:768px){.book-popup{width:90vw;max-width:500px}}@media (max-width:480px){.book-popup{width:95vw;max-width:400px}}
.book-overlay{z-index:20000;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0;overflow:auto}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}.book-content{box-sizing:border-box;justify-content:flex-start;align-items:center;width:1600px;min-width:1600px;height:1000px;min-height:1000px;padding:20px 0 0 calc(50vw - 600px);display:flex}@media (min-width:1400px){.book-content{justify-content:center;align-items:center;width:auto;min-width:auto;height:auto;min-height:auto;padding:20px}}@media (max-width:1399px){.book-content{justify-content:center;width:auto;min-width:auto;padding-left:20px;padding-right:20px}}.book-wrapper{transform-origin:50%;position:relative}.book-container{perspective:1000px;width:1200px;height:750px;margin-top:60px;animation:.8s ease-in-out forwards bookOpen;display:block}.book-container *{text-shadow:none!important;-webkit-filter:none!important;font-family:"Fusion Pixel 10px Monospaced JP",monospace!important}@keyframes bookOpen{0%{opacity:0;transform:rotateY(0)scale(.8)}50%{opacity:.8;transform:rotateY(-5deg)scale(.9)}to{opacity:1;transform:rotateY(0)scale(1)}}.book-cover-image{object-fit:cover;width:660px;height:1055px;image-rendering:pixelated;border-radius:8px 0 0 8px;position:absolute;top:-185px;left:590px;transform:translate(-100%)}.book-right-cover-image{object-fit:cover;width:660px;height:1055px;image-rendering:pixelated;z-index:0;border-radius:0 8px 8px 0;position:absolute;top:-185px;left:570px}.book-left-page{box-sizing:border-box;z-index:2;background:#ede8d8;border-radius:8px 0 0 8px;flex-direction:column;justify-content:center;align-items:center;width:600px;height:722px;padding:40px 60px;display:flex;position:absolute;top:2px;left:550px;overflow:hidden;transform:translate(-95%)}.page-content{text-align:center;width:100%;font-family:"Fusion Pixel 10px Monospaced JP",monospace!important}.page-content h2{color:#000;margin:0 0 40px;font-weight:700;text-shadow:none!important;-webkit-filter:none!important;font-family:"Fusion Pixel 10px Monospaced JP",monospace!important;font-size:30px!important}.page-content p{color:#000;margin:0;font-size:20px;line-height:1.6;font-family:"Fusion Pixel 10px Monospaced JP",monospace!important}.page-content a{color:#00f;text-decoration:underline}.page-content a:hover{color:#00c}.about-title-container{text-align:center;margin-bottom:20px}.about-title-container h2{margin-bottom:20px!important;font-size:30px!important}.about-body-container{text-align:left;margin-bottom:20px}.about-details-container{text-align:left;margin-left:0}.about-details-container p{margin:10px 0}.skills-title-container{text-align:center;margin-bottom:20px}.skills-title-container h2{margin-bottom:20px!important;font-size:30px!important}.skills-primary-container,.skills-secondary-container,.skills-additional-container{text-align:center;margin-bottom:20px}.skills-tools-container{text-align:center;margin-top:20px;margin-bottom:20px}.skills-tools-container h2{margin-bottom:20px!important}.skills-knowledge-container{text-align:center;margin-top:20px;margin-bottom:20px}.skills-knowledge-container h2{margin-bottom:20px!important}.experience-title-container{text-align:center;margin-bottom:20px}.experience-title-container h2{margin-bottom:20px!important;font-size:30px!important}.experience-dassault-container{text-align:left;margin-bottom:10px;font-size:20px}.experience-dassault-container p{font-size:20px}.experience-apple-container{text-align:left;margin-top:10px;margin-bottom:10px;font-size:20px}.experience-apple-container p{font-size:20px}.education-title-container{text-align:center;margin-bottom:20px}.education-title-container h2{margin-bottom:20px!important;font-size:30px!important}.education-northeastern-container{text-align:left;margin-bottom:20px}.education-iowa-container{text-align:left;margin-bottom:30px}.projects-title-container{text-align:center;margin-bottom:20px}.projects-title-container h2{margin-bottom:20px!important;font-size:30px!important}.projects-portfolio-container{text-align:left;margin-bottom:20px}.projects-portfolio-container p{font-size:20px}.projects-pc-container{text-align:left;margin-bottom:20px}.projects-pc-container p{font-size:20px}.projects-kanbas-container{text-align:left;margin-bottom:20px}.projects-kanbas-container p{font-size:20px}.projects-chatbot-container{text-align:left;margin-bottom:20px}.projects-chatbot-container p{font-size:20px}.book-right-page{box-sizing:border-box;z-index:1;background:#ede8d8;border-radius:0 8px 8px 0;flex-direction:column;justify-content:center;align-items:center;width:600px;height:722px;margin-left:auto;margin-right:7px;padding:40px 60px;display:flex;position:relative;top:2px;overflow:hidden}.toc-title-container{text-align:center;width:100%;margin-bottom:500px;position:relative}.toc-title-container h2{color:#000;text-shadow:none;margin:0 0 15px;font-weight:700;font-family:"Fusion Pixel 10px Monospaced JP",monospace!important;font-size:30px!important}.toc-title-line{color:#000;text-align:center;width:550px;margin:0 auto 0 -35px}.toc-left-words-container{flex-direction:column;gap:35px;width:100%;margin-bottom:0;display:flex;position:absolute;top:220px;left:60px}.toc-item{color:#000;text-align:left;cursor:default;font-size:20px;line-height:1.2;font-family:"Fusion Pixel 10px Monospaced JP",monospace!important}.toc-title-text{cursor:pointer}.toc-title-text:hover{opacity:.7}.toc-dots,.toc-item-resume{cursor:default}.toc-resume-text{cursor:pointer}.toc-resume-text:hover{opacity:.7}.toc-resume-dots{cursor:default}.toc-download-icon{cursor:pointer}.toc-download-icon:hover{opacity:.7}.toc-right-pages-container{flex-direction:column;gap:35px;display:flex;position:absolute;top:222px;right:50px}.toc-page{color:#000;text-align:left;cursor:default;font-size:20px;line-height:1.2;font-family:"Fusion Pixel 10px Monospaced JP",monospace!important}.toc-download-container{color:#000;cursor:pointer;font-size:20px;position:absolute;bottom:232px;right:440px}.toc-download-container:hover{opacity:.7}.book-spine{z-index:1;background:#6b3a1a;width:16px;height:723px;position:absolute;top:2px;left:585px;transform:translate(-50%)}.book-close-button{width:80px;height:60px;image-rendering:pixelated;cursor:pointer;z-index:20001;transition:transform .2s,filter .2s;position:absolute;top:5px;right:-150px}.book-close-button:hover{filter:drop-shadow(0 0 8px #ff6400cc);transform:scale(1.1)}.book-menu-button{width:100px;height:82px;image-rendering:pixelated;cursor:pointer;z-index:20001;transition:transform .2s,filter .2s;position:absolute;top:50px;right:-160px}.book-menu-button:hover{filter:drop-shadow(0 0 8px #ff6400cc);transform:scale(1.1)}.book-image{width:750px;height:auto;image-rendering:pixelated;cursor:pointer;z-index:1000;filter:drop-shadow(0 0 20px #ff6400e6);transition:transform .2s;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}@media (max-width:768px) and (orientation:portrait){.book-image{width:80vh!important;min-width:360px!important;max-width:510px!important}}@media (max-width:480px) and (orientation:portrait){.book-image{width:80vh!important;min-width:280px!important;max-width:360px!important}}@media (max-height:550px) and (orientation:landscape) and (max-width:1024px){.book-image{width:80vh!important;min-width:200px!important;max-width:300px!important}}@media (min-width:768px) and (min-height:551px) and (max-height:1800px) and (orientation:landscape){.book-image{width:80vh!important;min-width:400px!important;max-width:580px!important}}.book-image:hover{filter:drop-shadow(0 0 25px #ff8c00);transform:translate(-50%,-50%)scale(1.05)}.scene .book-close-button{width:80px;height:60px;image-rendering:pixelated;cursor:pointer;z-index:1001;transition:transform .2s,filter .2s;position:fixed;top:20px;right:20px}.scene .book-close-button:hover{filter:drop-shadow(0 0 8px #ff6400cc);transform:scale(1.1)}.book-left-page.flipping-back{transform-origin:0;animation:.8s ease-in-out pageFlipLeftBack}.book-right-page.flipping{transform-origin:0;backface-visibility:hidden;animation:.8s ease-in-out pageFlipRight}@keyframes pageFlipLeftBack{0%{transform-origin:0;transform:rotateY(-180deg)}35%{transform-origin:0;transform:rotateY(-90deg)}to{transform-origin:0;transform:rotateY(0)}}@keyframes pageFlipRight{0%{transform-origin:0;transform:rotateY(0)}50%{transform-origin:0;transform:rotateY(-90deg)}to{transform-origin:0;transform:rotateY(-180deg)}}.book-nav-arrow{cursor:pointer;z-index:20002;color:#ff8c00;justify-content:center;align-items:center;width:80px;height:80px;font-size:50px;transition:all .3s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.book-nav-left{animation:4s ease-in-out infinite pushLeftContinuous;left:-120px}.book-nav-right{animation:4s ease-in-out infinite pushRightContinuous;right:-90px}.book-nav-arrow:hover{animation-play-state:paused;transform:translateY(-50%)scale(1.1)}@keyframes arrowGlow{0%{filter:drop-shadow(0 0 30px #ff6400)}to{filter:drop-shadow(0 0 50px #ff6400)}}@keyframes pushLeft{0%{transform:translateY(-50%)translate(0)}50%{transform:translateY(-50%)translate(-15px)}to{transform:translateY(-50%)translate(0)}}@keyframes pushRight{0%{transform:translateY(-50%)translate(0)}50%{transform:translateY(-50%)translate(15px)}to{transform:translateY(-50%)translate(0)}}@keyframes pushLeftContinuous{0%{transform:translateY(-50%)translate(0)}25%{transform:translateY(-50%)translate(-20px)}50%{transform:translateY(-50%)translate(0)}75%{transform:translateY(-50%)translate(-20px)}to{transform:translateY(-50%)translate(0)}}@keyframes pushRightContinuous{0%{transform:translateY(-50%)translate(0)}25%{transform:translateY(-50%)translate(20px)}50%{transform:translateY(-50%)translate(0)}75%{transform:translateY(-50%)translate(20px)}to{transform:translateY(-50%)translate(0)}}.page-content{color:#333;height:100%;padding:20px;position:relative}.page-number{color:#000;font-size:20px;font-weight:400;position:absolute;bottom:-20px;left:50%;transform:translate(-50%)}.book-left-white-cover-container{width:600px;height:722px;z-index:.5;background:#ede8d8;border-radius:8px 0 0 8px;position:absolute;top:2px;left:-20px}.book-right-white-cover-container{width:600px;height:722px;z-index:.5;background:#ede8d8;border-radius:0 8px 8px 0;position:absolute;top:2px;left:590px}.resume-title-container{text-align:center;margin-bottom:20px}.resume-title-container h2{font-size:30px!important}.resume-view-container{text-align:center;cursor:pointer;margin-top:150px;margin-bottom:20px}.resume-view-container p{font-size:20px;text-decoration:underline}.resume-download-container{text-align:center;cursor:pointer;margin-top:30px;margin-bottom:20px}.resume-download-container p{font-size:20px;text-decoration:underline}.end-page-content{justify-content:center;align-items:center;height:100%;display:flex}.end-page-content h2{font-size:40px!important}
@font-face{font-family:"Fusion Pixel 10px Monospaced JP";font-style:normal;font-display:swap;font-weight:400;src:url(../media/fusion-pixel-10px-monospaced-jp-latin-400-normal.5c7042a7.woff2)format("woff2"),url(../media/fusion-pixel-10px-monospaced-jp-latin-400-normal.326cb071.woff)format("woff")}
