@import"https://fonts.googleapis.com/css2?family=Fira+Code:wght@500&family=JetBrains+Mono:wght@600&family=Orbitron:wght@400;700;900&family=Space+Mono:wght@400;700&display=swap";body{margin:0!important;padding:0!important;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:auto!important}html{scroll-behavior:smooth;background:var(--bg-primary);min-height:100vh;transition:background .3s ease}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--bg-primary: linear-gradient(135deg, #0a0a0a 0%, #1a1a2e 50%, #16213e 100%);--bg-secondary: rgba(26, 26, 46, .8);--text-primary: #e0e0e0;--text-secondary: #e0e0e0;--accent-primary: #00ff41;--accent-secondary: #FFD700;--border-color: rgba(0, 255, 65, .3);--shadow-color: rgba(0, 255, 65, .2);--starfield-opacity: .2}[data-theme=light]{--bg-primary: linear-gradient(135deg, #ffffff 0%, #f8f9fa 50%, #e9ecef 100%);--bg-secondary: rgba(255, 255, 255, .95);--text-primary: #2c3e50;--text-secondary: #34495e;--accent-primary: #3498db;--accent-secondary: #f39c12;--border-color: rgba(52, 152, 219, .3);--shadow-color: rgba(52, 152, 219, .4);--starfield-opacity: .03;--light-card-bg: rgba(255, 255, 255, .95);--light-card-border: rgba(52, 152, 219, .2);--light-text-glow: rgba(44, 62, 80, .1);--light-accent-glow: rgba(52, 152, 219, .5);--light-input-bg: rgba(255, 255, 255, .9);--light-input-border: rgba(52, 152, 219, .3)}[data-theme=light] .App:before{background-image:radial-gradient(1px 1px at 20px 30px,var(--accent-primary),transparent),radial-gradient(1px 1px at 40px 70px,var(--text-secondary),transparent),radial-gradient(1px 1px at 90px 40px,var(--accent-primary),transparent),radial-gradient(1px 1px at 130px 80px,var(--text-secondary),transparent),radial-gradient(1px 1px at 160px 30px,var(--accent-primary),transparent);opacity:.05}[data-theme=light] .name b{color:var(--text-primary);text-shadow:0 0 5px var(--light-text-glow)}[data-theme=light] .special{background:linear-gradient(90deg,var(--accent-primary),var(--accent-secondary),var(--accent-primary));background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:gradient-shift 4s ease infinite}.skip-to-content{position:absolute;top:-100%;left:50%;transform:translate(-50%);background:var(--accent-primary);color:var(--bg-secondary);padding:.8rem 1.5rem;border-radius:0 0 8px 8px;z-index:9999;font-family:Orbitron,monospace;font-size:.9rem;text-decoration:none;transition:top .3s ease}.skip-to-content:focus{top:0}*:focus-visible{outline:2px solid var(--accent-primary);outline-offset:3px;border-radius:4px}.App{text-align:center;font-family:Space Mono,JetBrains Mono,monospace;font-size:calc(1em + 1vw);margin:0;padding:0;box-sizing:border-box;height:100%;width:100%;background:var(--bg-primary);position:relative;overflow-x:hidden;transition:background .3s ease}.App:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(1px 1px at 20px 30px,var(--accent-primary),transparent),radial-gradient(1px 1px at 90px 40px,var(--accent-primary),transparent),radial-gradient(1px 1px at 160px 30px,var(--text-primary),transparent);background-repeat:repeat;background-size:200px 150px;z-index:-1;opacity:var(--starfield-opacity);transition:opacity .3s ease;pointer-events:none}.App header{padding:0!important}.App p{color:var(--text-primary);text-shadow:0 0 5px var(--shadow-color);transition:color .3s ease}.App .nav{display:grid;margin-bottom:1vh}.App .bar{position:fixed;top:50%;right:0;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.App .bar a{display:block;text-align:center;padding:16px;transition:all .3s ease;color:#fff;opacity:25%}.App .bar a:hover{opacity:100%}.App .nav-wrapper{position:fixed;top:0;right:0;text-align:right;font-size:1rem;z-index:1;margin-right:5vw;margin-top:5vh}.App .nav-wrapper a{margin:4px}.App .nav-wrapper-mobile{padding-left:3vw;text-align:right;top:0;right:0;margin-bottom:2em;font-size:1em;margin-top:1em}.App .nav-wrapper-mobile a{margin:4px}.App .nav-wrapper-mobile hr{height:.05em;width:60vw;background-color:#1be21b;margin-top:10vw}.App .fade-in-section{opacity:0;transform:translateY(20px);visibility:hidden;transition:opacity .4s ease-out,transform .4s ease-out;will-change:opacity,transform}.App .fade-in-section.is-visible{opacity:1;transform:translateY(0);visibility:visible;will-change:auto}.App a{text-decoration:none;color:var(--accent-primary);text-shadow:0 0 5px var(--shadow-color);transition:color .2s ease,text-shadow .2s ease}.App a:hover{color:var(--accent-secondary);text-shadow:0 0 8px var(--shadow-color)}.App .name{text-align:left;margin-top:1rem;font-size:clamp(2rem,3em,6rem);margin-bottom:0;font-family:Orbitron,Space Mono,monospace;font-weight:700}.App .name b{color:var(--text-primary);text-shadow:0 0 10px var(--shadow-color)}.App .special{background:linear-gradient(90deg,var(--accent-primary),var(--accent-secondary),var(--accent-primary));background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:gradient-shift 4s ease infinite;text-shadow:none;transition:filter .3s ease}.App .special .typewriter,.App .special .typewriter-wrapper{display:inline-block;font-family:Orbitron,Space Mono,monospace;font-weight:700}.App .special .typewriter-cursor{color:var(--accent-primary);animation:blink 1s infinite}.App .special .typewriter-cursor.visible{opacity:1}.App .special .typewriter-cursor.hidden{opacity:0}.App .closing-symbol{margin:0 auto;font-size:1.2em}.App .guideArrow{font-size:3rem;display:block;border-radius:1rem!important;color:var(--accent-primary);top:50%;left:40%;transition:color .3s ease}.App .display-pic{margin-top:1.5rem;width:20rem;height:20rem;border-radius:1rem;transition:transform .4s ease,box-shadow .4s ease}.App .display-pic:hover{transform:scale(1.03) rotate(1deg);box-shadow:0 0 30px var(--shadow-color)}.App .headline{margin-top:0;text-align:left;font-size:clamp(.5rem,1.3em,3.5rem);color:var(--text-primary);font-family:Space Mono,monospace;text-shadow:0 0 10px var(--shadow-color);line-height:1.4;transition:color .3s ease,text-shadow .3s ease}.App .call-to-action-button{height:3em;width:10em;font-size:1em;border:2px solid var(--accent-primary);font-family:Orbitron,JetBrains Mono,monospace;color:var(--accent-primary);text-transform:none;position:relative;background:var(--bg-secondary);border-radius:8px;box-shadow:0 0 10px var(--shadow-color);transition:color .3s ease,background .3s ease,box-shadow .3s ease,transform .3s ease;overflow:hidden}.App .call-to-action-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s ease}.App .call-to-action-button:hover{color:var(--bg-primary);background:var(--accent-primary);box-shadow:0 0 20px var(--shadow-color);transform:translateY(-2px)}.App .call-to-action-button:hover:before{left:100%}.App .sub-heading{font-family:Orbitron,Fira Mono,monospace;margin-top:1rem;margin-bottom:1rem;text-align:left;font-size:clamp(.7rem,1.05em,3rem);color:var(--text-primary);font-weight:700;text-shadow:0 0 10px var(--shadow-color);transition:color .3s ease,text-shadow .3s ease}.App .sub-heading:after{display:inline-block;height:2px;width:300px;margin-left:1vw;background:linear-gradient(90deg,var(--accent-primary),transparent);box-shadow:0 0 10px var(--shadow-color);content:"";transition:background .3s ease,box-shadow .3s ease,width .4s ease}.App .sub-heading:hover:after{width:400px}.App .list-item{font-size:1.1rem;color:var(--text-primary);text-shadow:0 0 5px var(--shadow-color);transition:color .3s ease,text-shadow .3s ease}.App .resume-button{color:var(--accent-primary);border:2px solid var(--accent-primary);background:var(--bg-secondary);font-family:Orbitron,monospace;box-shadow:0 0 15px var(--shadow-color);transition:all .3s ease;overflow:hidden;position:relative}.App .resume-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s ease}.App .resume-button:hover{color:var(--bg-primary);background:var(--accent-primary);box-shadow:0 0 25px var(--shadow-color);transform:translateY(-2px)}.App .resume-button:hover:before{left:100%}.App .socials{margin-top:1rem;position:relative;text-align:center;height:1rem}.App .socials .favicon{color:var(--accent-primary);margin:.5rem;height:2rem;width:1.3em;transition:all .4s ease;filter:drop-shadow(0 0 10px var(--shadow-color))}.App .socials .favicon:hover{text-decoration:none;transform:scale(1.3) translateY(-3px);color:var(--accent-secondary);filter:drop-shadow(0 0 15px var(--shadow-color))}.App .intro{margin-top:20vh;margin-bottom:50vh;width:60vw;margin-left:0}.App .intro-mobile{margin-top:5rem;margin-bottom:5rem}.App .section,.App .section-mobile{margin-top:5vh;margin-bottom:5vh}.App .skillsGrid{margin:0 auto;width:100%}.App .skillsGrid .skill{height:2.5rem;width:2.5rem;fill:var(--accent-primary);margin:1em;transition:transform .3s ease,fill .3s ease,filter .3s ease;filter:drop-shadow(0 0 5px var(--shadow-color));cursor:pointer}.App .skillsGrid .skill:hover{transform:scale(1.3) translateY(-3px);fill:var(--accent-secondary);filter:drop-shadow(0 0 12px var(--shadow-color))}.App .projectGrid{margin:0 auto;gap:2rem!important}.App .projectGrid .project{margin:1rem;display:flex;justify-content:center}.App .projectGrid .project .project-card{height:17rem;border-radius:1rem;width:20rem;background:var(--bg-secondary);backdrop-filter:blur(5px);border:1px solid var(--border-color);color:var(--text-primary);box-shadow:0 0 15px var(--shadow-color);transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease,background .3s ease;position:relative;z-index:1;will-change:transform;overflow:hidden}.App .projectGrid .project .project-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 0%,rgba(0,255,65,.03) 100%);opacity:0;transition:opacity .3s ease;z-index:0;pointer-events:none}.App .projectGrid .project .project-card:hover{border-color:var(--accent-primary);box-shadow:0 0 25px var(--shadow-color),0 8px 25px #0000004d;transform:translateY(-5px);z-index:2}.App .projectGrid .project .project-card:hover:before{opacity:1}[data-theme=light] .App .projectGrid .project .project-card{background:var(--light-card-bg);border:1px solid var(--light-card-border);box-shadow:0 0 15px var(--light-accent-glow)}[data-theme=light] .App .projectGrid .project .project-card:hover{box-shadow:0 0 20px var(--light-accent-glow)}.App .projectGrid .project .project-card .MuiCardActionArea-root{height:100%;display:flex;flex-direction:column;justify-content:space-between}.App .projectGrid .project .project-card button{width:100%;height:100%}.App .projectGrid .project .project-card button span{height:0px!important}.App .projectGrid .project .project-card h1{font-family:Orbitron,Fira Mono,monospace;color:var(--accent-primary);text-shadow:0 0 10px var(--shadow-color);margin-bottom:.5rem;transition:color .3s ease,text-shadow .3s ease}.App .projectGrid .project .project-card p{font-size:.8rem;font-family:Space Mono,JetBrains Mono,monospace;color:var(--text-primary);text-shadow:0 0 5px var(--shadow-color);transition:color .3s ease,text-shadow .3s ease}.App .projectGrid .project .project-card a{color:var(--accent-primary)!important;text-shadow:0 0 5px var(--shadow-color)!important;transition:color .2s ease,text-shadow .2s ease!important;pointer-events:auto!important;z-index:10!important;position:relative!important}.App .projectGrid .project .project-card a:hover{color:var(--accent-secondary)!important;text-shadow:0 0 8px var(--shadow-color)!important}.contactContainer{text-align:left;font-family:Space Mono,JetBrains Mono,monospace}.footer-container{font-size:1rem;flex:1;padding:1rem 0;justify-content:center;align-items:center;width:100vw;background-color:#0a0a0ae6;border-top:1px solid var(--border-color)}.footer-container .sub-heading:after{height:0px}.footer-container .section{margin-top:5rem;margin-bottom:0}.footer-container .footer{display:flex;justify-content:center;align-items:center}.footer-container .footer p{color:gray}.footer-container .footer a{color:#a9a9a9;text-decoration:none;background-image:linear-gradient(gray,gray);background-size:0% .1em;background-position-y:100%;background-position-x:0%;background-repeat:no-repeat;transition:background-size .3s ease-in-out}.footer-container .footer a:hover,.footer-container .footer a:focus,.footer-container .footer a:active{background-size:100% .1em}.footer-container .footer-socials{height:1rem}.footer-container .footer-socials .link{color:gray;padding:0}.footer-container .footer-socials .link .favicon{transition:transform .5s ease;height:2.8rem;width:2.8rem}.footer-container .footer-socials .link .favicon:hover{text-decoration:none;transform:scale(1.3);color:var(--accent-primary);filter:drop-shadow(0 0 15px var(--shadow-color))}hr{border-top:4px solid var(--accent-primary);box-shadow:0 0 10px var(--shadow-color);transition:border-color .3s ease,box-shadow .3s ease}.hidden{display:none}.contact-section div{border-radius:1rem}.contact-section fieldset{border-color:var(--border-color)!important;border:1px;transition:border-color .3s ease}.contact-section .Mui-focused{color:var(--accent-primary)!important}.contact-section .text-field{background:var(--bg-secondary);border-radius:1rem;border:1px solid var(--border-color);box-shadow:0 0 10px var(--shadow-color);transition:all .3s ease}[data-theme=light] .contact-section .text-field{background:var(--light-input-bg);border:1px solid var(--light-input-border)}[data-theme=light] .contact-section .text-field .MuiInputBase-input{color:var(--text-primary)!important;background:transparent}[data-theme=light] .contact-section .text-field .MuiInputLabel-root{color:var(--text-secondary)!important}[data-theme=light] .contact-section .text-field .MuiInputLabel-root.Mui-focused{color:var(--accent-primary)!important}[data-theme=light] .contact-section .text-field .MuiOutlinedInput-root{background:var(--light-input-bg)}[data-theme=light] .contact-section .text-field .MuiOutlinedInput-root .MuiOutlinedInput-notchedOutline{border-color:var(--light-input-border)!important}[data-theme=light] .contact-section .text-field .MuiOutlinedInput-root:hover .MuiOutlinedInput-notchedOutline{border-color:var(--accent-primary)!important}[data-theme=light] .contact-section .text-field .MuiOutlinedInput-root.Mui-focused .MuiOutlinedInput-notchedOutline{border-color:var(--accent-primary)!important;border-width:2px!important}.contact-section .textarea{border-radius:1rem!important}.contact-section .contact-button{color:var(--accent-primary)!important;border:2px solid var(--accent-primary)!important;font-family:Orbitron,JetBrains Mono,monospace!important;background:var(--bg-secondary)!important;box-shadow:0 0 15px var(--shadow-color);transition:all .3s ease;position:relative;overflow:hidden}.contact-section .contact-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);transition:left .5s ease}.contact-section .contact-button:hover{background:var(--accent-primary)!important;color:var(--bg-primary)!important;box-shadow:0 0 30px var(--shadow-color);transform:translateY(-2px)}.contact-section .contact-button:hover:before{left:100%}.contact-section label{color:var(--text-primary)!important;font-family:Space Mono,JetBrains Mono,monospace!important;text-shadow:0 0 5px var(--shadow-color);transition:color .3s ease,text-shadow .3s ease}@media (max-width: 768px){.App:before{background-size:400px 300px;opacity:.1}.App .name{font-size:clamp(1.5rem,8vw,4rem)!important}.App .headline{font-size:clamp(.8rem,4vw,1.5rem)!important;line-height:1.3}.App .sub-heading{font-size:clamp(.8rem,4vw,1.2rem)!important}.App .sub-heading:after{width:150px}.App .projectGrid{gap:1.5rem!important}.App .projectGrid .project{margin:.5rem}.App .projectGrid .project .project-card{width:90vw;max-width:350px;margin:0 auto}.App .skillsGrid .skill{height:2rem;width:2rem;margin:.5em}.App .lightsaber-cursor-trail{display:none}.App .intro,.App .intro-mobile{width:95vw!important}}@media (max-width: 480px){.App .name{font-size:clamp(1.2rem,10vw,3rem)!important}.App .headline{font-size:clamp(.7rem,5vw,1.2rem)!important}.App .projectGrid{gap:1rem!important}.App .projectGrid .project{margin:.25rem}.App .projectGrid .project .project-card{width:95vw;max-width:320px}}.jedi-glow{position:relative}.jedi-glow:before{content:"";position:absolute;inset:-2px;background:linear-gradient(45deg,#00ff41,gold,#00ff41);border-radius:inherit;z-index:-1;opacity:0;transition:opacity .3s ease}.jedi-glow:hover:before{opacity:.7}.lightsaber-cursor{cursor:none}.lightsaber-cursor:after{content:"";position:fixed;width:4px;height:20px;background:linear-gradient(to bottom,#00ff41,transparent);border-radius:2px;pointer-events:none;z-index:9999;box-shadow:0 0 10px #00ff41}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}@keyframes gradient-shift{0%{background-position:0% center}50%{background-position:100% center}to{background-position:0% center}}@keyframes death-star-rotate{0%{transform:translateZ(0) rotate(0)}to{transform:translateZ(0) rotate(360deg)}}@keyframes superlaser-pulse{0%,to{opacity:1;transform:translateZ(0) scale(1);box-shadow:0 0 10px var(--accent-primary)}50%{opacity:.7;transform:translateZ(0) scale(1.1);box-shadow:0 0 20px var(--accent-primary)}}@keyframes orbital-ring{0%{transform:translateZ(0) rotate(0)}to{transform:translateZ(0) rotate(360deg)}}.death-star-loader,.fade-in-section,.enhanced-button{transform:translateZ(0)}.optimized-image-container{position:relative;overflow:hidden}.optimized-image-container .image-placeholder{transition:opacity .3s ease}.optimized-image-container img{backface-visibility:hidden;perspective:1000px;transform:translateZ(0)}.image-error{display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-color);border-radius:4px;min-height:100px}.enhanced-button{transition:background .2s ease,color .2s ease}.enhanced-button:hover{background:#00ff411a}
