@import "https://fonts.googleapis.com/css2?family=NTR&display=swap";.navbar{background-color:var(--navy);z-index:100;width:100%;height:80px;transition:all .3s ease-in-out;position:fixed;top:0}.navbar.scrolled{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#0a192fd9;height:70px;box-shadow:0 10px 30px -10px #020c1bb3}.nav-container{justify-content:space-between;align-items:center;height:100%;padding:0 40px;display:flex}.logo a{color:var(--green-bright);font-size:24px;font-weight:700}.desktop-nav{align-items:center;gap:30px;display:flex}.nav-links{gap:20px;display:flex}.nav-links a{color:var(--lightest-slate);font-family:Menlo,Consolas,Monaco,Courier New,monospace;font-size:14px}.nav-links a:hover{color:var(--green-bright)}.social-links{gap:15px;margin-left:20px;display:flex}.social-links a{color:var(--light-slate)}.social-links a:hover{color:var(--green-bright);transform:translateY(-2px)}.mobile-menu-btn{color:var(--green-bright);cursor:pointer;z-index:101;background:0 0;border:none;display:none}.mobile-menu{background-color:var(--light-navy);z-index:99;flex-direction:column;justify-content:center;align-items:center;width:100vw;height:100vh;transition:transform .3s ease-in-out;display:none;position:fixed;top:0;right:0;transform:translate(100%)}.mobile-menu.open{transform:translate(0)}.mobile-nav-links{flex-direction:column;align-items:center;gap:30px;margin-bottom:50px;display:flex}.mobile-nav-links a{color:var(--lightest-slate);font-family:Menlo,Consolas,Monaco,Courier New,monospace;font-size:20px}.mobile-social-links{gap:30px;display:flex}@media (width<=768px){.desktop-nav{display:none}.mobile-menu-btn{display:block}.mobile-menu{display:flex}}.mobile-menu-btn{min-width:44px;min-height:44px;padding:10px}.sidebar-nav{z-index:50;position:fixed;top:50%;left:40px;transform:translateY(-50%)}.sidebar-nav ul{flex-direction:column;gap:20px;display:flex}.sidebar-nav a{color:var(--slate);letter-spacing:.05em;writing-mode:vertical-rl;text-orientation:mixed;font-family:Menlo,Consolas,Monaco,Courier New,monospace;font-size:13px;transition:all .2s ease-in-out;transform:rotate(180deg)}.sidebar-nav a:hover{color:var(--green-bright);transform:rotate(180deg)translateY(5px)}.fade-in-nav{opacity:0;animation:.5s ease-out forwards fadeInNav}@keyframes fadeInNav{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (width<=1080px){.sidebar-nav{display:none}}.art-preview-section{max-width:1000px;margin:0 auto;padding:100px 0}.art-intro{color:var(--slate);margin-bottom:40px;font-size:18px}.art-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:30px;margin-bottom:50px;display:grid}.art-card{background-color:var(--light-navy);aspect-ratio:4/3;box-shadow:0 10px 30px -15px var(--navy);border:1px solid #0000;border-radius:8px;transition:transform .3s cubic-bezier(.645,.045,.355,1),box-shadow .3s cubic-bezier(.645,.045,.355,1);display:block;position:relative;overflow:hidden}.art-card:hover{border:1px solid var(--green-tint);transform:translateY(-5px);box-shadow:0 20px 30px -15px #64ffda1a}.art-image{object-fit:cover;width:100%;height:100%;transition:transform .3s}.art-card:hover .art-image{transform:scale(1.05)}.art-overlay{opacity:0;background:linear-gradient(#0a192f00 0%,#0a192fe6 100%);align-items:flex-end;padding:20px;transition:opacity .3s;display:flex;position:absolute;bottom:0;left:0;right:0}.art-card:hover .art-overlay{opacity:1}.art-overlay-content h4{color:var(--lightest-slate);margin:0 0 5px;font-size:18px}.art-overlay-content p{color:var(--green-bright);margin:0;font-family:Menlo,Consolas,Monaco,monospace;font-size:14px}.explore-link{color:var(--green-bright);align-items:center;font-family:Menlo,Consolas,Monaco,monospace;font-size:14px;text-decoration:none;transition:color .3s;display:inline-flex}.explore-link:hover{color:var(--white)}.art-gallery-page{max-width:1200px;margin:0 auto;padding:150px 0 100px}.back-link{color:var(--green-bright);align-items:center;margin-bottom:40px;font-family:Menlo,Consolas,Monaco,monospace;font-size:14px;text-decoration:none;transition:color .3s;display:inline-flex}.back-link:hover{color:var(--white)}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:40px;display:grid}.gallery-card{background-color:var(--light-navy);cursor:pointer;box-shadow:0 10px 30px -15px var(--navy);border-radius:8px;transition:transform .3s;position:relative;overflow:hidden}.gallery-card:hover{transform:translateY(-5px)}.gallery-img-wrapper{aspect-ratio:1;overflow:hidden}.gallery-img-wrapper img{object-fit:cover;width:100%;height:100%;transition:transform .3s}.gallery-card:hover .gallery-img-wrapper img{transform:scale(1.05)}.gallery-info{padding:20px}.gallery-info h3{color:var(--lightest-slate);margin:0 0 10px;font-size:20px}.gallery-info p{color:var(--green-bright);margin:0;font-family:Menlo,Consolas,Monaco,monospace;font-size:14px}.art-modal-overlay{z-index:1000;opacity:0;background-color:#020c1bf2;justify-content:center;align-items:center;padding:40px;animation:.3s forwards fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{to{opacity:1}}.art-modal-content{flex-direction:column;max-width:90%;max-height:90vh;display:flex;position:relative}.art-modal-img{object-fit:contain;border-radius:4px;max-width:100%;max-height:80vh;box-shadow:0 20px 40px -10px #00000080}.art-modal-info{text-align:center;margin-top:20px}.art-modal-info h3{color:var(--lightest-slate);margin:0 0 10px}.art-modal-info p{color:var(--green-bright);margin:0;font-family:Menlo,Consolas,Monaco,monospace}.modal-close,.modal-prev,.modal-next{color:var(--lightest-slate);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:10px;transition:color .3s;display:flex;position:absolute}.modal-close:hover,.modal-prev:hover,.modal-next:hover{color:var(--green-bright)}.modal-close{font-size:24px;top:-40px;right:-40px}.modal-prev{top:50%;left:-60px;transform:translateY(-50%)}.modal-next{top:50%;right:-60px;transform:translateY(-50%)}@media (width<=768px){.modal-close{top:-40px;right:0}.modal-prev{left:10px}.modal-next{right:10px}.art-modal-overlay{padding:20px}}@media (width<=480px){.gallery-grid{grid-template-columns:1fr;gap:20px}}.home-page{padding-bottom:100px}.hero-section{justify-content:space-between;align-items:center;min-height:100vh;padding:0;display:flex;position:relative}.hero-content{z-index:1;flex:1;max-width:600px;position:relative}.hero-greeting{color:var(--green-bright);margin-bottom:20px;font-family:Menlo,Consolas,Monaco,Courier New,monospace;font-size:16px;font-weight:400}.hero-name{color:var(--lightest-slate);font-size:clamp(40px,8vw,80px);font-weight:700;line-height:1.1}.hero-subtitle{color:var(--slate);min-height:70px;margin-top:10px;margin-bottom:30px;font-size:clamp(30px,6vw,60px);font-weight:700;line-height:1.1}.hero-bio{color:var(--slate);max-width:500px;margin-bottom:50px;font-size:18px}.hero-btn{padding:1.25rem 1.75rem;font-size:16px}.hero-visual{z-index:1;flex:1;justify-content:center;align-items:center;display:flex;position:relative}@media (width<=900px){.hero-section{flex-direction:column;justify-content:center;padding-top:100px;position:relative}.hero-content{z-index:1;text-align:center;position:relative}.hero-visual{z-index:1;margin-top:50px;position:relative}}.about-content{grid-template-columns:3fr 2fr;gap:50px;display:grid}.about-text p{color:var(--slate);margin-bottom:20px;font-size:18px}.skills-list{flex-wrap:wrap;gap:10px;margin-top:30px;display:flex}.skill-pill{background-color:var(--light-navy);color:var(--green-bright);border:1px solid var(--lightest-navy);border-radius:20px;padding:5px 12px;font-family:Menlo,Consolas,Monaco,Courier New,monospace;font-size:13px;transition:all .2s;display:inline-block}.skill-pill:hover{background-color:var(--green-tint);transform:translateY(-2px)}.about-image-wrapper{max-width:300px;margin:0 auto;position:relative}.about-image-placeholder{background-color:var(--green-bright);border-radius:4px;width:100%;position:relative}.about-image{mix-blend-mode:multiply;filter:grayscale()contrast();border-radius:4px;width:100%;transition:all .25s cubic-bezier(.645,.045,.355,1);display:block}.about-image-placeholder:hover .about-image{mix-blend-mode:normal;filter:none}.about-image-placeholder:after{content:"";border:2px solid var(--green-bright);z-index:-1;border-radius:4px;width:100%;height:100%;transition:all .25s cubic-bezier(.645,.045,.355,1);display:block;position:absolute;top:20px;left:20px}.about-image-placeholder:hover:after{top:15px;left:15px}@media (width<=768px){.about-content{grid-template-columns:1fr}}.job-card{margin-bottom:40px}.job-header{margin-bottom:15px}.job-title{color:var(--lightest-slate);font-size:20px}.job-date{color:var(--slate);margin-top:5px;font-family:Menlo,Consolas,Monaco,Courier New,monospace;font-size:13px;display:block}.job-highlights{list-style:none}.job-highlights li{color:var(--slate);margin-bottom:10px;padding-left:30px;font-size:16px;position:relative}.job-highlights li:before{content:"▹";color:var(--green-bright);font-size:20px;line-height:20px;position:absolute;left:0}.slider-container{align-items:center;margin-bottom:50px;display:flex;position:relative}.slider-btn{z-index:10;background-color:var(--light-navy);color:var(--green-bright);border:1px solid var(--green-bright);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;transition:all .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 4px 6px #020c1b80}.slider-btn:hover{background-color:var(--green-tint);transform:translateY(-50%)scale(1.1)}.slider-btn.left{left:-20px}.slider-btn.right{right:-20px}.projects-slider{scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;gap:20px;padding-bottom:20px;display:flex;overflow-x:auto}.projects-slider::-webkit-scrollbar{display:none}.project-card{background-color:var(--light-navy);scroll-snap-align:start;border-radius:4px;flex-direction:column;flex:none;min-width:320px;max-width:400px;transition:all .2s ease-in-out;display:flex;overflow:hidden}.project-card:hover{transform:translateY(-5px);box-shadow:0 10px 30px -15px #020c1bb3}.project-image{border-bottom:1px solid var(--lightest-navy);opacity:.8;background-position:50%;background-size:cover;height:200px;transition:opacity .2s}.project-card:hover .project-image{opacity:1}.project-content{flex-direction:column;flex-grow:1;padding:30px;display:flex}.project-title{color:var(--lightest-slate);margin-bottom:15px;font-size:22px}.project-card:hover .project-title{color:var(--green-bright)}.project-desc{color:var(--slate);flex-grow:1;margin-bottom:20px;font-size:16px}.project-stack{color:var(--light-slate);flex-wrap:wrap;gap:10px;margin-bottom:20px;font-family:Menlo,Consolas,Monaco,Courier New,monospace;font-size:12px;display:flex}.project-links{gap:15px;display:flex}.project-links a{color:var(--light-slate)}.project-links a:hover{color:var(--green-bright)}.other-projects h3{color:var(--lightest-slate);text-align:center;margin-bottom:20px;font-size:24px}.other-projects-list li{color:var(--slate);background-color:var(--light-navy);border-radius:4px;margin-bottom:10px;padding:15px}.education-card{background-color:var(--light-navy);border-left:2px solid var(--green-bright);border-radius:4px;margin-bottom:30px;padding:20px}.edu-degree{color:var(--lightest-slate);margin-bottom:5px;font-size:20px}.edu-school{color:var(--slate);font-size:16px}.edu-date{color:var(--light-slate);margin-top:10px;font-family:Menlo,Consolas,Monaco,Courier New,monospace;font-size:14px;display:block}@media (width<=480px){.project-card{min-width:280px;max-width:100%}}.game-toggle-container{z-index:1000;align-items:center;gap:10px;display:flex;position:fixed;top:100px;right:40px}.game-toggle-btn{background-color:var(--light-navy);color:var(--green-bright);border:1px solid var(--green-bright);cursor:pointer;border-radius:20px;align-items:center;gap:8px;padding:6px 16px;font-family:Menlo,Consolas,Monaco,Courier New,monospace;font-size:12px;transition:all .2s;display:flex;box-shadow:0 4px 6px #020c1b80}.game-toggle-btn:hover{background-color:var(--green-tint);transform:translateY(-2px)}.game-info-icon{color:var(--slate);cursor:help;justify-content:center;align-items:center;display:flex;position:relative}.game-info-icon:hover{color:var(--lightest-slate)}.game-info-tooltip{background-color:var(--lightest-navy);width:250px;color:var(--lightest-slate);pointer-events:none;border-radius:4px;padding:15px;font-size:13px;position:absolute;top:30px;right:0;box-shadow:0 10px 30px -10px #020c1bb3}.game-info-tooltip p{margin-bottom:5px}.game-info-tooltip p:last-child{margin-bottom:0}.game-overlay{z-index:900;pointer-events:none;width:100vw;height:100vh;position:fixed;top:0;left:0}.game-canvas{pointer-events:none;width:100%;height:100%}.game-hud{color:var(--yellow);text-shadow:1px 1px 2px var(--navy);font-family:Menlo,Consolas,Monaco,Courier New,monospace;font-size:18px;font-weight:700;position:absolute;top:100px;left:40px}.game-modal{border:1px solid var(--green-bright);text-align:center;pointer-events:auto;opacity:0;background-color:#0a192ff2;border-radius:8px;padding:40px;animation:.3s ease-out forwards modalFadeIn;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 20px 40px #020c1bcc}@keyframes modalFadeIn{0%{opacity:0;transform:translate(-50%,-40%)}to{opacity:1;transform:translate(-50%,-50%)}}.game-modal h2{color:var(--lightest-slate);margin-bottom:20px;font-size:32px}.game-too-small{color:var(--slate);background:var(--light-navy);border-radius:4px;padding:8px 12px;font-family:Menlo,Consolas,Monaco,Courier New,monospace;font-size:12px}.touch-controls{z-index:1000;pointer-events:auto;justify-content:space-between;width:100%;padding:0 20px;display:flex;position:fixed;bottom:20px;left:0}.dpad,.action-buttons{gap:10px;display:flex}.touch-btn{border:1px solid var(--green-bright);color:var(--green-bright);-webkit-user-select:none;user-select:none;touch-action:manipulation;background:#0a192fb3;border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;font-size:20px;display:flex}.touch-btn.jump{border-radius:25px;width:70px;font-family:Menlo,Consolas,Monaco,Courier New,monospace;font-size:14px}.touch-btn:active{background:var(--green-tint)}.app-container{flex-direction:column;min-height:100vh;display:flex}.main-content{flex:1;width:100%;max-width:1600px;margin:0 auto;padding:0 150px}@media (width<=1080px){.main-content{padding:0 100px}}@media (width<=768px){.main-content{padding:0 25px}}:root{--dark-navy:#020c1b;--navy:#0a192f;--light-navy:#112240;--lightest-navy:#233554;--slate:#8892b0;--light-slate:#a8b2d1;--lightest-slate:#ccd6f6;--white:#e6f1ff;--green-bright:#64ffda;--green-tint:#64ffda1a;--yellow:#ffd166;--cream-muted:#f5efe026}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--navy);color:var(--lightest-slate);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:NTR,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5;overflow-x:hidden}code,pre,.monospace{font-family:Menlo,Consolas,Monaco,Courier New,monospace}a{color:var(--green-bright);text-decoration:none;transition:color .2s ease-in-out}a:hover{color:var(--lightest-slate)}ul{list-style:none}section{max-width:1000px;margin:0 auto;padding:100px 0;scroll-margin-top:80px}@media (width<=1080px){section{padding:80px 20px}}.section-heading{color:var(--lightest-slate);white-space:nowrap;align-items:center;margin-bottom:40px;font-size:28px;font-weight:700;display:flex}@media (width>=768px){.section-heading{font-size:46px}}.section-heading:after{content:"";background-color:var(--lightest-navy);width:300px;height:1px;margin-left:20px;display:block}@media (width<=768px){.section-heading:after{width:100%}}.highlight{color:var(--green-bright)}.fade-in-section{opacity:0;visibility:hidden;will-change:opacity, visibility;transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1);transform:translateY(20px)}.fade-in-section.is-visible{opacity:1;visibility:visible;transform:none}@media (prefers-reduced-motion:reduce){.fade-in-section{opacity:1;visibility:visible;transition:none;transform:none}}.btn{color:var(--green-bright);border:1px solid var(--green-bright);cursor:pointer;background-color:#0000;border-radius:4px;padding:.75rem 1rem;font-family:Menlo,Consolas,Monaco,Courier New,monospace;font-size:14px;text-decoration:none;transition:all .2s ease-in-out;display:inline-block}.btn:hover{background-color:var(--green-tint)}
