*{margin:0;padding:0}html,body,#root{margin:0;padding:0;width:100%;box-sizing:border-box}::-webkit-scrollbar{display:none}#root{margin:0 auto;padding:0;text-align:center}.appShell{position:relative}.mobileShell{position:relative;min-height:100vh}.mobileStack{position:relative;z-index:1;display:flex;flex-direction:column;gap:0;padding:0}.mobileSection{height:100dvh;min-height:100dvh;display:flex;align-items:center;justify-content:center}.mobileHeroSection{height:100dvh;min-height:100dvh}.sideNav{position:fixed;top:50%;left:2.2vw;transform:translateY(-50%);display:flex;flex-direction:column;gap:1rem;z-index:120}.sideNavItem{display:flex;align-items:center;gap:.8rem;background:transparent;border:0;padding:0;cursor:pointer}.sideNavSquare{width:14px;height:14px;border:2px solid white;background:transparent;transition:background-color .16s ease,transform .16s ease}.sideNavSquare.active{background:#fff}.sideNavItem:hover .sideNavSquare{transform:scale(1.08)}.sideNavLabel{color:#fff;font-family:"Press Start 2P",system-ui;font-size:9px;white-space:nowrap;opacity:0;transform:translate(-6px);pointer-events:none;transition:opacity .16s ease,transform .16s ease}.sideNavLabel.visible{opacity:1;transform:translate(0)}.sectionLayer{position:fixed;inset:0;display:flex;justify-content:center;align-items:center;transform-origin:center center}.main{height:100vh;position:relative}.background{width:100vw;height:100vh;background-image:url(/assets/nightsky-B5fEoY8E.png);background-size:cover;background-position:center;background-repeat:no-repeat;image-rendering:pixelated;position:fixed;z-index:-2;padding:0;margin:0}.created{font-size:10px;position:fixed;z-index:100;text-align:center;color:#fff;margin-top:95vh;margin-left:2vw;font-family:"Press Start 2P",system-ui}@media (max-width: 768px){#root{margin:0;padding:0}.sideNav{display:none}.main{height:auto;min-height:100vh;position:relative;padding-top:0;padding-bottom:8vh}.background{width:100vw;height:100vh;background-size:cover;background-position:center;background-attachment:scroll;position:fixed;top:0;left:0;z-index:-2;padding:0;margin:0}.created{font-size:9px;position:fixed;bottom:2vh;left:2vw;z-index:100;text-align:left;color:#fff;margin:0;font-family:"Press Start 2P",system-ui}}.awardsSection{width:100vw;height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;margin-top:5vh}.awardsHeading{position:absolute;top:14vh;left:50%;transform:translate(-50%);color:#fff;text-align:center;font-size:35px;font-family:"Press Start 2P",system-ui;width:auto;padding:0;z-index:1}.awardsGrid{width:min(66vw,920px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.95rem}.awardCard{min-height:20vh;padding:1rem;border:white 2px solid;border-radius:3%;background-color:#ffffffb3;box-shadow:0 0 10px 2px #fff;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);text-align:left}.awardCard h2{color:#000;font-family:"Press Start 2P",system-ui;font-size:.72rem;line-height:1.55;margin-bottom:.6rem}.awardCard p{color:#000;font-family:"Press Start 2P",system-ui;font-size:.52rem;line-height:1.6}.awardDate{color:#616161!important;margin-bottom:.7rem}@media (max-width: 768px){.awardsSection{height:100dvh;padding:3vh 0;box-sizing:border-box;justify-content:space-evenly}.awardsHeading{position:static;transform:none;font-size:1rem;margin-bottom:.5rem}.awardsGrid{width:88vw;height:74dvh;grid-template-columns:1fr;gap:.85rem;overflow:auto}.awardCard{min-height:auto}.awardCard h2{font-size:.68rem}.awardCard p{font-size:.52rem}}.custom-cursor{position:fixed;width:30px;height:30px;pointer-events:none;z-index:9999;display:flex;align-items:center;flex-direction:column;background-size:cover;background-position:center;background-repeat:no-repeat;transition:opacity .12s ease}.inventory-hovering .custom-cursor{opacity:0}.cursor-image{width:100px;height:100px;transform-origin:center;margin-top:-5vh;filter:drop-shadow(0 -50px 40px rgba(226,255,82,.8))}@media (max-width: 768px){.custom-cursor{display:none!important}}.experiencesScene{position:relative;width:min(82vw,1180px);height:min(72vh,760px);pointer-events:none}.sectionContainer:has(.experiencesScene){position:relative;gap:1vw}.sectionContainer:has(.experiencesScene)>.sectionArrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;margin-top:0;pointer-events:auto}.sectionContainer:has(.experiencesScene)>.sectionArrow:first-child{left:calc(50% - 19.75vw)}.sectionContainer:has(.experiencesScene)>.sectionArrow:last-child{right:calc(50% - 19.75vw)}.experiencesSceneInner{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.experiencePosterLayer{position:absolute;inset:0;pointer-events:none}.experiencePoster{position:absolute;width:13vw;max-width:170px;aspect-ratio:3 / 4;transform-origin:top center}.experiencePosterBody{width:100%;height:100%;transition:transform .12s ease-out;transform-origin:top center;transform-style:preserve-3d}.experiencePosterFrame{width:100%;height:100%;padding:.55rem;background:linear-gradient(180deg,#fffbed,#decda5);border:3px solid rgb(73 48 11 / 70%);box-shadow:0 14px 26px #00000047}.experiencePoster img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.92) contrast(1.05)}.posterString{position:absolute;top:-18vh;left:50%;width:2px;height:18vh;transform:translate(-50%);background:linear-gradient(180deg,#7a5f3800,#f0e7b8d9)}.experiences{border:white 2px solid;height:54vh;width:27vw;align-items:center;display:flex;box-shadow:0 0 10px 2px #fff;overflow:auto;border-radius:3%;background-color:#ffffffb3;flex-direction:column;position:relative;z-index:1;pointer-events:auto}.experiencesInner{width:100%;min-height:100%;display:flex;flex-direction:column;align-items:center;transform-style:preserve-3d}.experiences h2{padding-top:5vh;color:#000;font-size:20px;font-family:"Press Start 2P",system-ui}.experiences p{padding-top:1vh;color:#000;font-size:8px;font-family:"Press Start 2P",system-ui;margin-left:2vw;margin-right:2vw;line-height:1.5}.role{text-align:left}.role p{padding-top:0;color:#000;font-size:8px;font-family:"Press Start 2P",system-ui;margin-left:1vw;margin-right:1vw;line-height:1.5}.roleTitle{padding-top:1vh}.roleDate{color:#616161}.role li{padding-top:0;color:#000;font-size:8px;font-family:"Press Start 2P",system-ui;margin-left:2vw;margin-right:1vw;line-height:1.5}@media (max-width: 768px){.experiencesScene{width:90vw;height:68vh;min-height:68vh;pointer-events:auto}.sectionContainer:has(.experiencesScene){gap:1.25rem}.sectionContainer:has(.experiencesScene)>.sectionArrow{position:static;transform:none}.experiencePoster{display:none}.experiences{width:82vw;height:68vh;max-height:none;box-shadow:0 0 5px 1px #fff}.experiences h2{font-size:14px;padding-top:3vh}.experiences p,.role p,.role li{font-size:10px;margin-left:4vw;margin-right:4vw}}.sectionPage{position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;width:100vw;height:100vh;padding:0;box-sizing:border-box}.sectionPage h1{position:absolute;top:14vh;left:50%;transform:translate(-50%);color:#fff;text-align:center;font-size:35px;font-family:"Press Start 2P",system-ui;width:auto;padding:0;z-index:1}.sectionContainer{width:100%;height:100%;display:flex;align-items:center;justify-content:center;flex-direction:row;gap:1vw;transform-style:preserve-3d}.sectionSelector{position:absolute;bottom:17vh;left:50%;transform:translate(-50%);width:min(78vw,980px);display:flex;justify-content:center;flex-wrap:wrap;gap:.65rem;z-index:4}.sectionSelectorButton{border:2px solid rgb(255 255 255 / 68%);background:#0d122194;color:#fff;padding:.55rem .8rem;font-family:"Press Start 2P",system-ui;font-size:9px;line-height:1.4;cursor:pointer;transition:transform .12s ease,background-color .12s ease,border-color .12s ease}.sectionSelectorButton:hover{transform:translateY(-1px);background:#ffffff29}.sectionSelectorButton.active{background:#ffffffd1;color:#000;border-color:#fff}.sectionArrow{margin-top:2vh;display:flex;align-items:center;justify-content:center;width:5vw;height:8vh;background:transparent;border:0;padding:0;cursor:pointer}.sectionArrow img{image-rendering:pixelated;filter:invert(1);width:4vw;height:7vh;transition:.1s}.sectionArrow:hover img{width:6vw;height:9vh}.sectionArrow:active img{opacity:.5}.sectionArrowLeft{transform:rotate(90deg)}.sectionArrowRight{transform:rotate(-90deg)}@media (max-width: 768px){.sectionPage{height:100dvh;min-height:100dvh;padding:3vh 0;justify-content:space-evenly}.sectionPage h1{position:static;left:auto;transform:none;margin-bottom:2vh;font-size:20px}.sectionContainer{flex-direction:column;height:auto;gap:1rem}.sectionSelector{position:static;transform:none;width:90vw;margin-top:0;margin-bottom:0}.sectionSelectorButton{font-size:8px;padding:.5rem .65rem}.sectionArrow{display:none}}.hero{display:flex;align-items:center;justify-content:center;flex-direction:column;width:100vw;height:100vh}.heroCard{display:flex;align-items:center;flex-direction:column;width:min(72vw,860px);padding:3rem 2rem 2rem;border:2px solid rgb(255 255 255 / 70%);border-radius:24px;background:linear-gradient(180deg,#ffffff40,#f8f8f840);box-shadow:0 0 24px #ffffff2e}.heroCard>img{width:15vw;height:15vw;border-radius:50%;object-fit:cover;border:white solid 5px;box-shadow:0 0 20px 5px #fff}.hero h1{text-align:center;font-size:60px;color:#fff;font-family:Archivo Black,sans-serif}.about{text-align:center;font-size:15px;color:#fff;width:50vw;margin-top:3vh;margin-bottom:3vh;font-family:"Press Start 2P",system-ui}.about p{margin-top:1.5vh}.heroButtons{display:flex;align-items:center;font-size:22px;font-family:"Press Start 2P",system-ui;width:30vw;height:15vh;gap:3.5vw;padding-left:1vw}.LIButton,.emailButton,.resumeButton,.githubButton{border:5px solid black;width:4.5vw;height:4.5vw;display:flex;align-items:center;justify-content:center;background-color:#fff;background-size:cover;background-position:center;background-repeat:no-repeat;image-rendering:pixelated;transition:width .1s,height .1s,margin .1s,transform .1s;cursor:pointer;padding:0;font-family:"Press Start 2P",system-ui;font-size:22px;line-height:1}.emailButton:hover,.resumeButton:hover,.githubButton:hover,.LIButton:hover{width:6vw;height:6vw;margin-top:-1vw;margin-left:-1vw;margin-right:-1vw}.heroButtons:has(.LIButton:hover) .githubButton,.heroButtons:has(.LIButton:hover) .emailButton,.heroButtons:has(.LIButton:hover) .resumeButton,.heroButtons:has(.githubButton:hover) .emailButton,.heroButtons:has(.githubButton:hover) .resumeButton,.heroButtons:has(.emailButton:hover) .resumeButton{transform:translate(1vw)}.heroButtons:has(.githubButton:hover) .LIButton,.heroButtons:has(.emailButton:hover) .LIButton,.heroButtons:has(.emailButton:hover) .githubButton,.heroButtons:has(.resumeButton:hover) .LIButton,.heroButtons:has(.resumeButton:hover) .githubButton,.heroButtons:has(.resumeButton:hover) .emailButton{transform:translate(-1vw)}@media (max-width: 768px){.hero{height:100dvh;padding-top:0}.heroCard{width:84vw;padding:2rem 1rem 1.5rem}.heroCard>img{width:40vw;height:40vw}.hero h1{font-size:32px;padding:0 5vw}.about{width:80vw;font-size:10px}.heroButtons{flex-wrap:nowrap;justify-content:center;gap:4vw;width:100%;height:auto;padding-left:0}.LIButton,.emailButton,.resumeButton,.githubButton{width:16vw;height:16vw;font-size:16px}}.project{border:white 2px solid;height:50vh;width:60vw;box-shadow:0 0 10px 2px #fff;overflow:hidden;border-radius:3%}.projectInner{width:100%;height:100%;display:flex;align-items:center;transform-style:preserve-3d}.projectImg{width:24vw;height:50vh;overflow:hidden}.projectImg img{width:auto;height:100%;object-fit:contain;opacity:1;transition:opacity .6s ease-in-out}.description{width:36vw;height:50vh;overflow:auto;background-color:#ffffffb3;opacity:1;transition:opacity .6s ease-in-out}.description h2{padding-top:5vh;color:#000;font-size:20px;font-family:"Press Start 2P",system-ui}.description p{padding-top:5vh;color:#000;font-size:12px;font-family:"Press Start 2P",system-ui;text-align:left;padding-left:2vw;padding-right:2vw;line-height:1.5}@media (max-width: 768px){.project{width:85vw;height:68vh;min-height:68vh;box-shadow:0 0 5px 1px #fff;overflow:hidden}.projectInner{flex-direction:column}.projectImg{width:100%;height:32vh;flex-shrink:0}.projectImg img{width:100%;height:100%;object-fit:cover}.description{width:100%;height:36vh;max-height:none;overflow-y:auto}.description h2{font-size:16px;padding-top:2vh;text-align:center}.description p{font-size:10px;padding:2vh 5vw}}.techSection{width:100vw;height:100vh;display:flex;align-items:center;justify-content:center}.techstackh1{position:absolute;top:14vh;left:50%;transform:translate(-50%);color:#fff;text-align:center;font-size:35px;font-family:"Press Start 2P",system-ui;width:auto;padding:0;z-index:1}.techScene{width:min(82vw,980px);min-height:62vh;display:flex;flex-direction:column;align-items:center;justify-content:center}.techTitleBlock{text-align:center;margin-bottom:1.2rem}.techSceneMobile{justify-content:space-evenly}.techMobileCard{width:88vw;max-height:70dvh;padding:1rem;border:white 2px solid;border-radius:3%;background-color:#ffffffb3;box-shadow:0 0 10px 2px #fff;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);text-align:left;overflow:auto;box-sizing:border-box}.techMobileCard h2{color:#000;font-family:"Press Start 2P",system-ui;font-size:.72rem;line-height:1.55;margin-bottom:.85rem}.techMobileList{display:flex;flex-direction:column;gap:.55rem}.techMobileList p{color:#000;font-family:"Press Start 2P",system-ui;font-size:.54rem;line-height:1.6;margin:0}.techCursorTooltip{position:fixed;opacity:0;pointer-events:none;z-index:1200;padding:.42rem .58rem;color:#fff;font-family:"Press Start 2P",system-ui;font-size:.44rem;line-height:1.4;white-space:nowrap;background:#140420f0;border:2px solid rgb(112 84 158 / 96%);box-shadow:0 0 0 2px #2c163beb,3px 3px #00000073;transform:translate3d(0,4px,0);transition:opacity .08s ease,transform .08s ease}.techCursorTooltip.visible{opacity:1;transform:translateZ(0)}.techOverline,.techIntro,.techSlotLabel,.techSlotValue,.techTitleBlock h2{font-family:"Press Start 2P",system-ui}.techOverline{color:#ffdb8a;font-size:.55rem;margin-bottom:.7rem}.techTitleBlock h2{color:#fff;font-size:1.15rem;margin-bottom:.75rem}.techIntro{color:#eee7cf;font-size:.56rem;line-height:1.8;max-width:34rem}.techInventory{display:none}.techInventoryBoard{width:min(68vw,760px);aspect-ratio:530 / 330;position:relative;overflow:visible;background-image:url(data:image/webp;base64,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);background-size:contain;background-position:center;background-repeat:no-repeat;filter:drop-shadow(0 18px 30px rgb(0 0 0 / 32%));z-index:1;pointer-events:auto}.techInventoryGrid{position:absolute;left:50%;top:61%;transform:translate(-50.5%,-50%);width:60%;display:grid;grid-template-columns:repeat(9,1fr);gap:.5rem .5rem;overflow:visible;z-index:2;pointer-events:auto}.techSlot{position:relative;aspect-ratio:1 / 1;display:flex;align-items:center;justify-content:center;cursor:default;background:#0000;overflow:visible;z-index:3;pointer-events:auto}.techSlotGlyph{color:#fff;font-family:"Press Start 2P",system-ui;font-size:clamp(.45rem,.8vw,.72rem);line-height:1;text-shadow:2px 2px 0 rgb(0 0 0 / 70%),0 0 10px rgb(0 0 0 / 35%);transform:translateY(-1px)}.techSlot--redstone .techSlotGlyph{color:#ff7979}.techSlot--emerald .techSlotGlyph{color:#5cffb2}.techSlot--diamond .techSlotGlyph{color:#84efff}.techSlot--gold .techSlotGlyph{color:#ffde74}.techSlot--iron .techSlotGlyph{color:#e8e8e8}.techSlot--lapis .techSlotGlyph{color:#7e9dff}@media (max-width: 768px){.techSection{height:100dvh;padding:3vh 0;box-sizing:border-box}.techScene{width:92vw;height:74dvh}.techTitleBlock{margin-bottom:1rem}.techstackh1Mobile{position:static;transform:none;font-size:1rem;margin-bottom:.5rem}.techTitleBlock h2{font-size:.9rem}.techOverline,.techIntro{font-size:.48rem}.techInventoryBoard{width:min(92vw,760px);max-width:92vw}.techMobileCard{min-height:0}.techInventoryGrid{width:79%;gap:.65rem .55rem}.techSlotGlyph{font-size:clamp(.35rem,1.8vw,.56rem)}.techCursorTooltip{font-size:.38rem;max-width:7.5rem;white-space:normal}}
