@import"https://fonts.googleapis.com/css2?family=Anta&family=Comfortaa:wght@700&family=Source+Sans+Pro:wght@900&display=swap";@font-face{font-family:Anta;font-display:swap}@font-face{font-family:Comfortaa;font-display:swap}@font-face{font-family:Source Sans Pro;font-display:swap}:root{--color-background: #1D2B35;--color-primary: #EEE5E9;--color-accent: #2892D7;--color-secondary: #D16666}*{margin:0;text-decoration:none}html{margin:0;padding:0;background-color:var(--color-background);color:var(--color-primary);font-family:Source Sans Pro,sans-serif;line-height:1.6;overflow-x:hidden;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}body{margin:0;padding:0 0 145px;color:var(--color-primary);font-family:Source Sans Pro,sans-serif;line-height:1.6;overflow-x:hidden;background-color:transparent;position:relative}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3E%3Cpath fill='%23EEE5E9' d='M1 3h1v1H1V3zm2-2h1v1H3V1z'/%3E%3C/svg%3E");-webkit-mask-image:linear-gradient(to bottom,transparent 0%,transparent 40%,rgba(0,0,0,.1) 100%);mask-image:linear-gradient(to bottom,transparent 0%,transparent 40%,rgba(0,0,0,.1) 100%);animation:textureColorShift 20s ease-in-out infinite}@keyframes textureColorShift{0%{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3E%3Cpath fill='%23EEE5E9' d='M1 3h1v1H1V3zm2-2h1v1H3V1z'/%3E%3C/svg%3E")}25%{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3E%3Cpath fill='%23D16666' d='M1 3h1v1H1V3zm2-2h1v1H3V1z'/%3E%3C/svg%3E")}50%{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3E%3Cpath fill='%232892D7' d='M1 3h1v1H1V3zm2-2h1v1H3V1z'/%3E%3C/svg%3E")}75%{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3E%3Cpath fill='%23EEE5E9' d='M1 3h1v1H1V3zm2-2h1v1H3V1z'/%3E%3C/svg%3E")}to{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3E%3Cpath fill='%23EEE5E9' d='M1 3h1v1H1V3zm2-2h1v1H3V1z'/%3E%3C/svg%3E")}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(60px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-40px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}@keyframes slideInScale{0%{opacity:0;transform:translateY(50px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fadeInOnly{0%{opacity:0}to{opacity:1}}@keyframes floating{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes redFlash{0%{left:-100%;opacity:0}20%{opacity:1}50%{left:100%;opacity:1}to{left:100%;opacity:0}}@keyframes buttonFloat{0%,to{transform:translateY(0);box-shadow:0 2px 5px #0003}50%{transform:translateY(-3px);box-shadow:0 5px 15px #0000004d}}@keyframes dividerPulse{0%,to{opacity:.6}50%{opacity:1;transform:scale(1.3)}}@keyframes iconWave{0%,90%,to{transform:scale(1);opacity:.8}95%{transform:scale(1.1);opacity:1}}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.025)}}@keyframes gentleGlow{0%,to{text-shadow:0 0 5px rgba(40,146,215,.2)}50%{text-shadow:0 0 15px rgba(40,146,215,.4)}}@keyframes subtleFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes lineGlow{0%,to{opacity:.3}50%{opacity:.6}}@keyframes bounceUp{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-8px) scale(1.02)}}@keyframes verticalGlow{0%,to{opacity:.3}50%{opacity:.6}}@keyframes floatingPulse{0%,to{transform:translate(-50%) translateY(0) scale(1)}50%{transform:translate(-50%) translateY(-15px) scale(1.05)}}@keyframes circularPulse{0%,to{transform:translate(-50%,-50%) scale(1);opacity:.3}50%{transform:translate(-50%,-50%) scale(1.8);opacity:0}}.page-wrapper{display:flex;width:100%;min-height:100vh;flex-direction:column;justify-content:center;align-items:center;position:relative}.content-wrapper{display:flex;width:100%;flex-direction:column;justify-content:center;align-items:center;padding:0}.scroll-reveal{opacity:0;transform:translateY(30px);transition:opacity .6s ease-out,transform .6s ease-out;will-change:transform,opacity}.scroll-reveal.revealed{opacity:1;transform:translateY(0)}.scroll-reveal.fast-reveal{transition-duration:.3s}@media(prefers-reduced-motion:no-preference){.scroll-reveal{transform:translateY(20px)}}h1{font-family:Anta,sans-serif;font-weight:400;font-style:normal;color:var(--color-primary);font-size:14vw;letter-spacing:-.5vw;text-shadow:.1vw .1vw 0 var(--color-secondary),.2vw .2vw 0 var(--color-accent);margin:0}p{color:var(--color-accent);font-family:Comfortaa,cursive;font-size:4vw;margin:1.25vw 0}#cbar{color:var(--color-secondary);font-family:Comfortaa,cursive;font-size:5vw;margin:1.25vw 0}a{display:flex;color:inherit;width:100%;height:100%;justify-content:center}.hero-section{min-height:100vh;min-height:100dvh;display:flex;animation:breathe 12s ease-in-out infinite;align-items:center;justify-content:center;position:relative;overflow:hidden;z-index:10}.hero-section .page-wrapper{justify-content:flex-start;padding-top:25vh;min-height:auto;height:100vh;box-sizing:border-box}h1,#cbar,#linkBar{opacity:0;transform:translateY(50px) scale(.95)}#linkBar{display:flex;justify-content:center;align-items:center;margin:0 auto;width:fit-content;max-width:90vw;position:fixed;bottom:max(150px,calc(env(safe-area-inset-bottom) + 100px));left:0;right:0;gap:12px;z-index:1000;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#1d2b35e6;padding:12px 16px;border-radius:25px;border:1px solid rgba(238,229,233,.2);transition:opacity .3s ease;box-shadow:0 4px 20px #0000004d;opacity:0}.divider{color:var(--color-accent);animation:dividerPulse 3s ease-in-out infinite}.icon{color:var(--color-primary);padding:8px;border-radius:50%;font-size:28px;width:56px;height:56px;display:flex;align-items:center;justify-content:center;transform:translateZ(0);will-change:transform,background-color,color;transition:all .3s ease;background-color:transparent}#linkBar a .icon{animation:iconWave 7s ease-in-out infinite}#linkBar a:nth-child(1) .icon{animation-delay:0s}#linkBar a:nth-child(2) .icon{animation-delay:.15s}#linkBar a:nth-child(3) .icon{animation-delay:.3s}#linkBar a:nth-child(4) .icon{animation-delay:.45s}#linkBar a:nth-child(5) .icon{animation-delay:.6s}#linkBar a:nth-child(6) .icon{animation-delay:.75s}.ph-meteor{rotate:180deg}.icon:active{background-color:var(--color-secondary);color:var(--color-background);transform:scale(.95);box-shadow:0 0 0 3px #eee5e94d}.icon:focus{outline:2px solid var(--color-accent);outline-offset:2px}.icon:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;background-color:var(--color-secondary);color:var(--color-background)}.icon:focus:not(:focus-visible){outline:none}.scroll-indicator{position:absolute;bottom:200px;left:50%;transform:translate(-50%);animation:floatingPulse 3s ease-in-out infinite;z-index:15}.scroll-indicator a{color:var(--color-accent);font-size:28px;text-decoration:none;display:flex;align-items:center;justify-content:center;width:50px;height:50px;border-radius:50%;background:#2892d71a;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:all .4s cubic-bezier(.25,.46,.45,.94)}.scroll-indicator a:hover{background:#2892d733;transform:scale(1.1);box-shadow:0 0 20px #2892d74d}.scroll-indicator a:before{content:"";position:absolute;top:50%;left:50%;width:100%;height:100%;border-radius:50%;background:#2892d74d;transform:translate(-50%,-50%);animation:circularPulse 3s ease-in-out infinite;z-index:-1}.section-nav{position:fixed;right:-80px;top:50%;transform:translateY(-50%);display:none;flex-direction:column;align-items:center;gap:0;z-index:100;padding:20px 10px;transition:right .4s cubic-bezier(.25,.46,.45,.94)}.section-nav:hover,.section-nav.show-on-scroll{right:20px}.section-nav:before{content:"";position:fixed;right:60px;top:0;bottom:0;width:1px;background:linear-gradient(180deg,transparent,var(--color-accent),transparent);opacity:.4;animation:verticalGlow 4s ease-in-out infinite;z-index:99}.section-nav a{color:var(--color-primary);font-size:16px;padding:0;border-radius:50%;display:flex;align-items:center;justify-content:center;width:36px;height:36px;margin:8px 0;background-color:#eee5e91a;border:1px solid rgba(238,229,233,.2);transform:translateZ(0);will-change:transform,background-color,color;transition:all .3s ease;position:relative;opacity:.6}.section-nav a i{font-size:16px;transition:all .3s ease}.section-nav a:focus{outline:2px solid var(--color-accent);outline-offset:2px}.section-nav a:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;background-color:var(--color-secondary);color:var(--color-background)}.section-nav a:focus:not(:focus-visible){outline:none}.section-nav a:hover{opacity:.8;background-color:#eee5e933;border-color:#eee5e966;transform:scale(1.05)}.section-nav a.active{opacity:1;background-color:var(--color-accent);border-color:var(--color-accent);color:var(--color-background);box-shadow:0 0 20px #2892d766;transform:scale(1.1)}.section-nav a.active i{color:var(--color-background);font-size:18px}.projects-section,.contact-section,.about-section{position:relative;min-height:80vh;background-color:var(--color-background);transition:transform .4s ease-out}.section-container{max-width:1200px;margin:0 auto;padding:0 20px}.projects-section h2,.about-section h2,.contact-section h2{font-family:Anta,sans-serif;font-size:8vw;color:var(--color-primary);text-align:center;margin:60px 0 30px;letter-spacing:-.3vw;text-shadow:.1vw .1vw 0 var(--color-secondary);transition:text-shadow .3s ease,transform .3s ease}.projects-section h2:hover,.about-section h2:hover,.contact-section h2:hover{text-shadow:.1vw .1vw 0 var(--color-secondary),0 0 20px rgba(40,146,215,.3);transform:translateY(-3px)}.projects-grid{display:grid;grid-template-columns:1fr;gap:30px;margin-bottom:40px}.project-card{background:#eee5e905;border-left:4px solid var(--color-accent);padding:25px;transition:all .5s cubic-bezier(.25,.46,.45,.94);position:relative;border-radius:12px;overflow:hidden;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.project-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#2892d70d,#d166660d);opacity:0;transition:opacity .4s ease;pointer-events:none}.project-card:hover{background:#eee5e914;transform:translateY(-8px) scale(1.02);box-shadow:0 20px 40px #2892d733,0 0 20px #d166661a}.project-card:hover:before{opacity:1}.project-card.placeholder{border-style:dashed;border-color:var(--color-secondary);background:#d166660d}.project-header{display:block;margin-bottom:20px;position:relative;padding-right:90px;min-height:32px}.project-header h3{font-family:Comfortaa,cursive;font-size:24px;color:var(--color-primary);margin:0;line-height:1.3;transition:text-shadow .3s ease,color .3s ease}.project-card:hover .project-header h3{text-shadow:0 0 10px rgba(40,146,215,.3);color:var(--color-accent)}.project-links{display:flex;gap:12px;position:absolute;right:0;top:0}.project-links a{color:var(--color-accent);font-size:24px;transition:all .4s cubic-bezier(.34,1.56,.64,1);padding:8px;border-radius:50%;background:#2892d71a;position:relative;overflow:hidden;animation:buttonFloat 4s ease-in-out infinite}.project-links a:nth-child(1){animation-delay:0s}.project-links a:nth-child(2){animation-delay:.5s}.project-links a:before{content:"";position:absolute;top:-50%;left:-100%;width:200%;height:200%;background:linear-gradient(90deg,transparent 0%,transparent 30%,rgba(214,102,102,.4) 45%,rgba(214,102,102,.8) 50%,rgba(214,102,102,.4) 55%,transparent 70%,transparent 100%);transform:rotate(45deg);opacity:0;pointer-events:none}.project-links a.flashing:before{animation:redFlash 2s ease-in-out}.project-links a:hover{color:var(--color-background);background:var(--color-secondary);transform:scale(1.1) translateY(-2px);box-shadow:0 5px 15px #d1666666}.project-description{margin-bottom:20px}.project-description p{color:var(--color-primary);font-size:16px;line-height:1.6;margin:0}.project-tech{display:flex;flex-wrap:wrap;gap:10px}.tech-tag{color:var(--color-accent);padding:2px 8px;border:1px solid var(--color-accent);font-size:11px;font-weight:400;text-transform:uppercase;letter-spacing:.5px;display:inline-block}.about-section:hover{transform:translateY(-2px)}.about-section:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,var(--color-background) 0%,rgba(29,43,53,.95) 100%);z-index:-1}.about-section .section-container{position:relative;z-index:1}.about-content{display:grid;grid-template-columns:1fr;gap:40px;margin-top:40px}.about-text{order:1}.about-sidebar{order:2}.about-intro{font-size:18px;line-height:1.8;margin-bottom:40px;color:var(--color-primary)}.about-intro strong{color:var(--color-accent);font-weight:700}.about-details{display:grid;gap:30px}.detail-section h3{font-family:Comfortaa,cursive;font-size:24px;color:var(--color-accent);margin-bottom:15px;display:flex;align-items:center;gap:10px}.detail-section h3 i{font-size:28px}.detail-section p{color:var(--color-primary);line-height:1.6;margin:0}.detail-section,.skills-section,.experience-section{border-left:3px solid var(--color-accent);padding:10px 0 10px 10px;margin-bottom:30px}.skills-section h3,.experience-section h3{font-family:Comfortaa,cursive;font-size:22px;color:var(--color-accent);margin-bottom:20px;text-align:center}.skills-grid{display:grid;gap:20px}.skill-category h4{font-family:Comfortaa,cursive;font-size:16px;color:var(--color-secondary);margin-bottom:10px}.skill-tags{display:flex;flex-wrap:wrap;gap:8px}.skill-tag{color:var(--color-accent);padding:2px 8px;border:1px solid var(--color-accent);font-size:11px;font-weight:400;text-transform:uppercase;letter-spacing:.5px;display:inline-block}.experience-item{margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid rgba(238,229,233,.1)}.experience-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.experience-item h4{font-family:Comfortaa,cursive;font-size:18px;color:var(--color-primary);margin-bottom:5px}.experience-period{color:var(--color-secondary);font-size:14px;font-weight:600;margin-bottom:8px}.experience-description{color:var(--color-primary);font-size:14px;line-height:1.5;margin:0}.download-section{text-align:center;margin-top:20px;padding:0 20px}.download-resume{display:inline-flex;align-items:center;gap:10px;color:var(--color-primary);padding:12px 20px;font-weight:400;font-size:14px;transition:background-color .3s ease,color .3s ease;border:1px solid var(--color-primary);text-transform:uppercase;letter-spacing:1px;max-width:100%;width:fit-content}.download-resume:hover{background-color:var(--color-secondary);color:var(--color-background);border-color:var(--color-secondary)}.download-resume i{font-size:20px}.contact-section:hover{transform:translateY(-2px)}.contact-content{display:grid;grid-template-columns:1fr;gap:40px;margin-top:40px}.contact-info{order:1}.contact-form-container{order:2}.contact-intro{font-size:18px;line-height:1.8;margin-bottom:40px;color:var(--color-primary);text-align:center}.contact-methods{display:grid;gap:20px;margin-bottom:40px}.contact-method{display:flex;align-items:center;gap:20px;padding:15px 0;border-bottom:1px solid rgba(238,229,233,.1);transition:all .3s cubic-bezier(.4,0,.2,1);border-radius:8px;position:relative;overflow:hidden}.contact-method:before{content:"";position:absolute;left:0;top:0;width:4px;height:100%;background:var(--color-accent);transform:scaleY(0);transition:transform .3s ease}.contact-method:hover{padding-left:15px;background:#2892d70d}.contact-method:hover:before{transform:scaleY(1)}.contact-method:hover i{transform:scale(1.2);color:var(--color-accent)}.contact-method i{font-size:32px;color:var(--color-accent);flex-shrink:0;transition:all .3s ease}.contact-method h3{font-family:Comfortaa,cursive;font-size:18px;color:var(--color-primary);margin:0 0 5px}.contact-method a{color:var(--color-accent);text-decoration:none;font-size:16px;transition:color .3s ease}.contact-method a:hover{color:var(--color-secondary)}.contact-form{padding:30px 0}.form-group{margin-bottom:25px}.form-group label{display:block;font-family:Comfortaa,cursive;font-size:16px;color:var(--color-primary);margin-bottom:8px;font-weight:600}.form-group input,.form-group textarea{width:100%;padding:12px;border:none;border-bottom:1px solid var(--color-accent);background:transparent;color:var(--color-primary);font-size:16px;font-family:inherit;transition:border-color .3s ease,transform .2s ease,box-shadow .3s ease;box-sizing:border-box}.form-group input:hover,.form-group textarea:hover{transform:translateY(-1px);box-shadow:0 2px 8px #2892d71a}.form-group input:focus,.form-group textarea:focus{outline:none;border-bottom:2px solid var(--color-accent);transform:translateY(-2px);box-shadow:0 4px 12px #2892d733}.form-group input.error,.form-group textarea.error{border-bottom-color:var(--color-secondary)}.form-group textarea{resize:vertical;min-height:120px}.error-message{display:none;color:var(--color-secondary);font-size:14px;margin-top:5px;font-weight:600}.submit-btn{display:inline-flex;align-items:center;gap:10px;background:transparent;color:var(--color-primary);border:1px solid var(--color-primary);padding:12px 24px;font-size:14px;font-weight:400;cursor:pointer;transition:background-color .3s ease,color .3s ease;font-family:inherit;text-transform:uppercase;letter-spacing:1px}.submit-btn:hover:not(:disabled){background-color:var(--color-accent);color:var(--color-background);border-color:var(--color-accent)}.submit-btn:disabled{opacity:.7;cursor:not-allowed}.submit-btn i{font-size:18px}.form-status{display:none;padding:15px;border-radius:8px;margin-top:20px;font-weight:600}.form-status.success{background:#2892d71a;border:2px solid var(--color-accent);color:var(--color-accent)}.form-status.error{background:#d166661a;border:2px solid var(--color-secondary);color:var(--color-secondary)}.site-footer{margin-top:0;padding:15px 0 10px;background:transparent;position:fixed;bottom:0;left:0;right:0;z-index:-1;transform:translateY(100px);opacity:0;transition:none;will-change:transform,opacity}.footer-top{display:flex;justify-content:center;padding:0 20px;margin-bottom:10px}.footer-content{max-width:1200px;margin:0 auto;padding:0 20px;display:grid;grid-template-columns:1fr auto 1fr;gap:20px;align-items:center}.footer-left{text-align:left}.footer-center{display:flex;align-items:center;justify-content:center}.footer-right{text-align:right}.copyright{font-size:14px;color:var(--color-primary);margin:0;opacity:.8}.footer-decoration{position:relative;height:1px;margin-bottom:15px}.decoration-line-full{width:100%;height:1px;background:linear-gradient(90deg,transparent,var(--color-accent),transparent);opacity:.4;animation:lineGlow 4s ease-in-out infinite}.footer-social{display:flex;gap:15px}.footer-social-link{display:flex;align-items:center;justify-content:center;width:35px;height:35px;border-radius:50%;background:#eee5e90d;color:var(--color-accent);text-decoration:none;transition:all .3s ease;font-size:18px;position:relative;overflow:hidden}.footer-social-link:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:var(--color-secondary);border-radius:50%;transition:all .4s ease;transform:translate(-50%,-50%);z-index:-1}.footer-social-link:hover:before{width:100%;height:100%}.footer-social-link:hover{color:var(--color-background);transform:translateY(-2px);box-shadow:0 5px 15px #d166664d}.back-to-top{display:flex;align-items:center;gap:8px;background:#eee5e90d;border:1px solid rgba(238,229,233,.2);color:var(--color-accent);padding:8px 12px;border-radius:20px;cursor:pointer;transition:all .3s ease;font-size:14px;font-family:Comfortaa,cursive;animation:bounceUp 3s ease-in-out infinite}.back-to-top:hover{background:var(--color-accent);color:var(--color-background);transform:translateY(-2px);box-shadow:0 5px 15px #2892d74d}.back-to-top i{font-size:16px;transition:transform .3s ease}.back-to-top:hover i{transform:translateY(-1px)}.pixel-mode{--pixel-bg: #0f0f23;--pixel-primary: #00ff00;--pixel-secondary: #ff00ff;--pixel-accent: #00ffff;--pixel-red: #ff0000;--pixel-yellow: #ffff00;--pixel-white: #ffffff;--pixel-gray: #808080;image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges;image-rendering:-webkit-optimize-contrast;background:repeating-linear-gradient(0deg,transparent 0px,transparent 1px,rgba(0,255,0,.03) 1px,rgba(0,255,0,.03) 2px),repeating-linear-gradient(90deg,var(--pixel-bg) 0px,var(--pixel-bg) 1px,rgba(0,255,0,.01) 1px,rgba(0,255,0,.01) 2px),repeating-conic-gradient(from 0deg at 0 0,transparent 0deg 90deg,rgba(0,255,0,.005) 90deg 180deg,transparent 180deg 270deg,rgba(0,255,0,.005) 270deg 360deg),var(--pixel-bg)!important;background-size:100% 2px,2px 100%,4px 4px,auto;animation:scanlines .08s linear infinite;*{image-rendering:pixelated!important;image-rendering:-moz-crisp-edges!important;image-rendering:crisp-edges!important}}.pixel-mode *{font-family:VT323,"Press Start 2P",monospace!important;font-weight:400!important;text-rendering:optimizeSpeed;-webkit-font-smoothing:none;-moz-osx-font-smoothing:unset;font-smooth:never;-webkit-font-smoothing:aliased}.pixel-mode h1{font-family:"Press Start 2P",monospace!important;font-size:4vw!important;line-height:1.4!important;letter-spacing:.1vw!important;text-transform:uppercase;color:var(--pixel-primary)!important;text-shadow:2px 0 0 var(--pixel-accent),0 2px 0 var(--pixel-secondary),2px 2px 0 var(--pixel-red),4px 4px 0 rgba(255,0,0,.5)!important;animation:pixelFlicker .3s infinite,pixelShift 4s ease-in-out infinite;transform:translate(0) translateY(0)}.pixel-mode #cbar{font-family:VT323,monospace!important;font-size:2.5rem!important;letter-spacing:2px!important;color:var(--pixel-yellow)!important;text-shadow:2px 2px 0 var(--pixel-red)!important}.pixel-mode .divider{font-family:VT323,monospace!important;color:var(--pixel-accent)!important;font-size:200%!important;animation:pixelPulse 1s infinite!important}.pixel-mode p,.pixel-mode span:not(.divider),.pixel-mode .tech-tag,.pixel-mode .skill-tag{font-family:Pixelify Sans,VT323,monospace!important;font-size:1.1rem!important;letter-spacing:.5px!important}.pixel-mode h2{font-family:"Press Start 2P",monospace!important;font-size:2rem!important;line-height:1.5!important}.pixel-mode h3{font-family:"Press Start 2P",monospace!important;font-size:1.2rem!important;line-height:1.5!important}.pixel-mode .icon{font-size:1.5rem!important;position:relative;background:var(--pixel-primary)!important;border:4px solid var(--pixel-white)!important;border-radius:0!important;color:var(--pixel-bg)!important;box-shadow:4px 0 0 var(--pixel-gray),0 4px 0 var(--pixel-gray),4px 4px 0 var(--pixel-gray),8px 4px 0 var(--pixel-red),4px 8px 0 var(--pixel-red),8px 8px 0 var(--pixel-red)!important;animation:pixelBob 1.5s ease-in-out infinite;transform:translate(0) translateY(0)}.pixel-mode .icon:before{content:none!important}.pixel-mode .icon:before{content:none}.pixel-mode .icon:hover{background:var(--pixel-red)!important;color:var(--pixel-yellow)!important;transform:scale(1.1)!important}.pixel-mode .project-card{background:repeating-conic-gradient(var(--pixel-bg) 0% 25%,rgba(0,255,255,.1) 25% 50%,var(--pixel-bg) 50% 75%,rgba(0,255,255,.1) 75% 100%),repeating-linear-gradient(0deg,transparent 0px,transparent 2px,rgba(0,255,0,.05) 2px,rgba(0,255,0,.05) 4px),var(--pixel-bg)!important;background-size:8px 8px,100% 4px,auto!important;border:6px solid var(--pixel-accent)!important;border-style:solid!important;border-radius:0!important;box-shadow:6px 0 0 var(--pixel-secondary),0 6px 0 var(--pixel-secondary),6px 6px 0 var(--pixel-secondary),12px 6px 0 var(--pixel-red),6px 12px 0 var(--pixel-red),12px 12px 0 var(--pixel-red),18px 12px #ff0000b3,12px 18px #ff0000b3!important;color:var(--pixel-primary)!important;transform:translate(0) translateY(0)}.pixel-mode .project-card h3{color:var(--pixel-yellow)!important;text-shadow:2px 2px 0 var(--pixel-red)!important}.pixel-mode .tech-tag{background:var(--pixel-secondary)!important;color:var(--pixel-bg)!important;border:2px solid var(--pixel-accent)!important;border-radius:0!important;box-shadow:2px 2px 0 var(--pixel-red)!important}.pixel-mode .section-nav{right:-80px!important}.pixel-mode .section-nav.show-on-scroll,.pixel-mode .section-nav:hover{right:20px!important}.pixel-mode .section-nav a{background:var(--pixel-accent)!important;color:var(--pixel-bg)!important;border:3px solid var(--pixel-primary)!important;border-radius:0!important;box-shadow:3px 3px 0 var(--pixel-gray)!important;font-size:12px!important;font-family:"Press Start 2P",monospace!important;padding:8px!important;width:45px!important;height:45px!important;display:flex!important;align-items:center!important;justify-content:center!important;text-decoration:none!important;transition:all .1s ease!important}.pixel-mode .section-nav a[href="#hero"]:before{content:"H"!important}.pixel-mode .section-nav a[href="#about"]:before{content:"A"!important}.pixel-mode .section-nav a[href="#projects"]:before{content:"P"!important}.pixel-mode .section-nav a[href="#contact"]:before{content:"C"!important}.pixel-mode .section-nav a:before{position:static!important;display:block!important;width:auto!important;height:auto!important;transform:none!important;background:none!important;border:none!important;box-shadow:none!important}.pixel-mode .section-nav a:hover{background:var(--pixel-yellow)!important;color:var(--pixel-bg)!important;transform:translate(-2px,-2px)!important;box-shadow:5px 5px 0 var(--pixel-gray)!important}.pixel-mode .section-nav a.active{background:var(--pixel-red)!important;color:var(--pixel-yellow)!important;animation:pixelBob 1s ease-in-out infinite!important}.pixel-mode .back-to-top{background:var(--pixel-yellow)!important;color:var(--pixel-bg)!important;border:3px solid var(--pixel-red)!important;border-radius:0!important;box-shadow:3px 3px 0 var(--pixel-secondary)!important}.pixel-mode .back-to-top i{font-size:0!important;position:relative;display:inline-block;width:12px;height:12px}.pixel-mode .back-to-top i:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:8px solid var(--pixel-bg)}.pixel-mode .back-to-top span{font-family:"Press Start 2P",monospace!important;font-size:8px!important}.pixel-mode .footer-social-link{background:var(--pixel-secondary)!important;border:2px solid var(--pixel-white)!important;font-size:0!important;position:relative}.pixel-mode .footer-social-link:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:12px;height:12px}.pixel-mode .footer-social-link .ph-github-logo:before{font-family:VT323,monospace;content:"G";font-size:16px;color:var(--pixel-bg);width:auto;height:auto}.pixel-mode .footer-social-link .ph-linkedin-logo:before{font-family:VT323,monospace;content:"L";font-size:16px;color:var(--pixel-bg);width:auto;height:auto}.pixel-mode .footer-social-link .ph-envelope-simple:before{font-family:VT323,monospace;content:"@";font-size:16px;color:var(--pixel-bg);width:auto;height:auto}.pixel-mode .about-section,.pixel-mode .contact-section{background:var(--pixel-bg)!important;border:4px solid var(--pixel-primary)!important;border-radius:0!important;color:var(--pixel-primary)!important}.pixel-mode .about-section h2,.pixel-mode .contact-section h2{color:var(--pixel-yellow)!important;text-shadow:2px 2px 0 var(--pixel-red)!important}.pixel-mode .footer-decoration .decoration-line-full,.pixel-mode .section-nav:before{background:linear-gradient(180deg,transparent,var(--pixel-primary),transparent)!important;animation:pixelLineScroll 2s linear infinite!important}.pixel-notification{position:fixed;top:20px;left:50%;transform:translate(-50%);background:var(--color-accent);color:var(--color-background);padding:15px 30px;font-family:"Press Start 2P",monospace;font-weight:400;font-size:16px;line-height:1.5;letter-spacing:1px;border:3px solid var(--color-secondary);box-shadow:6px 6px #00000080;z-index:9999;animation:pixelNotification 3s ease-in-out}@keyframes pixelGlow{0%{text-shadow:2px 2px 0 var(--color-accent),4px 4px 0 var(--color-secondary)}to{text-shadow:2px 2px 0 var(--color-secondary),4px 4px 0 var(--color-accent),6px 6px 10px rgba(40,146,215,.5)}}@keyframes pixelNotification{0%,to{transform:translate(-50%) scale(.8);opacity:0}10%,90%{transform:translate(-50%) scale(1);opacity:1}}@keyframes scanlines{0%{background-position:0 0,0 0,0 0}to{background-position:0 2px,2px 0,4px 4px}}@keyframes crtFlicker{0%,96%,to{filter:brightness(1) contrast(1)}97%{filter:brightness(1.1) contrast(1.2)}98%{filter:brightness(.9) contrast(1.1)}99%{filter:brightness(1.05) contrast(1.15)}}@keyframes pixelFlicker{0%,94%,to{opacity:1}95%{opacity:.8}96%{opacity:1}97%{opacity:.9}98%{opacity:1}99%{opacity:.85}}@keyframes pixelShift{0%,to{transform:translate(0) translateY(0)}25%{transform:translate(1px) translateY(0)}50%{transform:translate(0) translateY(1px)}75%{transform:translate(-1px) translateY(0)}}@keyframes pixelPulse{0%,to{transform:scale(1) rotate(0)}25%{transform:scale(1.1) rotate(1deg)}50%{transform:scale(1.2) rotate(0)}75%{transform:scale(1.1) rotate(-1deg)}}@keyframes pixelBob{0%,to{transform:translateY(0) translate(0)}25%{transform:translateY(-2px) translate(1px)}50%{transform:translateY(-4px) translate(0)}75%{transform:translateY(-2px) translate(-1px)}}@keyframes pixelSprite{0%{background-position:0 0}25%{background-position:8px 0}50%{background-position:0 8px}75%{background-position:8px 8px}to{background-position:0 0}}@keyframes pixelActiveGlow{0%,to{box-shadow:2px 2px 0 var(--pixel-secondary);filter:brightness(1)}50%{box-shadow:2px 2px 0 var(--pixel-secondary),0 0 8px var(--pixel-red),0 0 16px var(--pixel-red);filter:brightness(1.3)}}@keyframes pixelLineScroll{0%{opacity:.3;transform:scaleY(1) translateY(0);filter:hue-rotate(0deg)}33%{opacity:.6;transform:scaleY(1.1) translateY(-1px);filter:hue-rotate(60deg)}66%{opacity:.8;transform:scaleY(1.2) translateY(1px);filter:hue-rotate(120deg)}to{opacity:.3;transform:scaleY(1) translateY(0);filter:hue-rotate(0deg)}}@media screen and (min-width:600px){h1{font-size:10vw;letter-spacing:-.25vw;text-shadow:.2vw .2vw 0 var(--color-accent);-webkit-text-stroke-width:.2vw;-webkit-text-stroke-color:var(--color-secondary)}p{font-size:1.5vw}#cbar{font-size:3.4vw;padding:0}#linkBar{display:grid;grid-template-columns:repeat(6,1fr);margin:0;width:fit-content;position:relative;bottom:auto;left:auto;right:auto;transform:none;z-index:1000;gap:8px;backdrop-filter:none;-webkit-backdrop-filter:none;background:transparent;padding:0;border-radius:0;border:none;box-shadow:none;max-width:none;opacity:1}.icon{padding:1vw;margin:.5vw;font-size:3.5vw;transition:all .4s cubic-bezier(.34,1.56,.64,1);min-width:48px;min-height:48px}.page-wrapper{padding:0;min-height:100vh}.content-wrapper{padding:0;position:relative;z-index:5}.icon:hover{cursor:pointer;color:var(--color-background);background-color:var(--color-secondary);box-shadow:.3vw .3vw 0 var(--color-accent)}.ph-meteor:hover{box-shadow:-.3vw -.3vw 0 var(--color-accent)}.icon:focus{outline:2px solid var(--color-accent);outline-offset:2px}.icon:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;background-color:var(--color-secondary);color:var(--color-background);box-shadow:.3vw .3vw 0 var(--color-accent)}.ph-meteor:focus-visible{box-shadow:-.3vw -.3vw 0 var(--color-accent)}.icon:focus:not(:focus-visible){outline:none}.section-nav{display:flex;padding:12px 6px;right:-80px}.section-nav:hover,.section-nav.show-on-scroll{right:20px}.section-nav a{width:32px;height:32px;margin:6px 0;font-size:14px}.section-nav a i{font-size:14px}.section-nav a:hover{cursor:pointer;opacity:.8;background-color:#eee5e933;border-color:#eee5e966;transform:scale(1.05)}.section-nav a:focus{outline:2px solid var(--color-accent);outline-offset:2px}.section-nav a:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;background-color:var(--color-secondary);color:var(--color-background);box-shadow:.3vw .3vw 0 var(--color-accent)}.section-nav a:focus:not(:focus-visible){outline:none}.section-nav a.active{opacity:1;background-color:var(--color-accent);border-color:var(--color-accent);color:var(--color-background);box-shadow:0 0 20px #2892d766;transform:scale(1.1)}.section-nav a.active i{color:var(--color-background);font-size:16px}}@media screen and (min-width:768px){.projects-section h2,.about-section h2,.contact-section h2{font-size:4vw}.projects-grid{grid-template-columns:repeat(2,1fr);gap:40px}.project-header h3{font-size:28px}.project-description p{font-size:18px}.tech-tag{font-size:14px;padding:8px 16px}.contact-content{grid-template-columns:1fr 1fr;gap:60px}.contact-info{order:1}.contact-form-container{order:2}.contact-intro{text-align:left;font-size:20px}.detail-section,.skills-section,.experience-section{padding:20px 0 20px 20px;margin-bottom:30px}.scroll-indicator{position:absolute;bottom:40px;left:50%;transform:translate(-50%)}}@media(max-width:768px){.footer-content{grid-template-columns:1fr;text-align:center;gap:10px}.footer-left,.footer-right{text-align:center}.footer-social{justify-content:center}.site-footer{padding:10px 0 135px}body{padding-bottom:280px}}@media screen and (min-width:1024px){.projects-section h2,.about-section h2,.contact-section h2{font-size:6vw}.projects-grid{grid-template-columns:repeat(3,1fr)}.section-nav{right:-80px}.section-nav:hover,.section-nav.show-on-scroll{right:10px}.section-nav a:focus{outline:2px solid var(--color-accent);outline-offset:2px}.section-nav a:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;background-color:var(--color-secondary);color:var(--color-background);box-shadow:.3vw .3vw 0 var(--color-accent)}.section-nav a:focus:not(:focus-visible){outline:none}.about-content{grid-template-columns:2fr 1fr;gap:60px}.about-text{order:1}.about-sidebar{order:2}.about-intro{font-size:20px}.detail-section{padding:30px}.detail-section h3{font-size:26px}}.blog-post{max-width:720px;margin:0 auto;padding:4rem 2rem}.blog-post-header{margin-bottom:3rem;border-bottom:1px solid rgba(238,229,233,.15);padding-bottom:2rem}.back-link{display:inline-block;color:var(--color-accent);text-decoration:none;font-size:.85rem;margin-bottom:1.5rem;transition:opacity .2s}.back-link:hover{opacity:.75}.blog-post-title{font-family:Anta,sans-serif;color:var(--color-primary);font-size:clamp(1.4rem,4vw,2rem);line-height:1.3;margin:0 0 .75rem;letter-spacing:.05em}.blog-post-meta{color:#aaa;font-size:.95rem;margin-bottom:.75rem}.blog-post-meta .reading-time{color:var(--color-accent)}.meta-separator{margin:0 .4rem}.blog-post-tags{display:flex;gap:.4rem;flex-wrap:wrap}.tag-badge{border:1px solid var(--color-secondary);color:var(--color-secondary);padding:.15rem .55rem;border-radius:3px;font-size:.85rem;text-decoration:none;transition:background .2s,color .2s}.tag-badge:hover{background:var(--color-secondary);color:var(--color-background)}.blog-post-body{color:var(--color-primary);font-family:Comfortaa,sans-serif;font-size:1rem;line-height:1.8}.blog-post-body p{color:var(--color-primary);font-family:Comfortaa,sans-serif;font-size:1rem;margin:0 0 1rem}.blog-post-body h2,.blog-post-body h3{font-family:Anta,sans-serif;color:var(--color-accent);text-transform:uppercase;letter-spacing:.08em;margin:2rem 0 .75rem}.blog-post-body a{color:var(--color-accent)}.blog-post-body code{background:#0d1b24;padding:.15rem .4rem;border-radius:3px;font-size:.88em}.blog-post-body pre{background:#0d1b24;border-left:3px solid var(--color-accent);padding:1rem 1.25rem;border-radius:4px;overflow-x:auto;margin:1.5rem 0}.blog-post-body pre code{background:none;padding:0}.blog-page{max-width:720px;margin:0 auto;padding:4rem 2rem}.blog-page-title{font-family:Anta,sans-serif;color:var(--color-primary);font-size:1.8rem;letter-spacing:.1em;margin:0 0 .25rem;border-bottom:2px solid var(--color-accent);padding-bottom:.75rem}.blog-page-subtitle{color:var(--color-accent);font-size:1rem;margin-bottom:2rem}.tag-filter{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:2rem}.tag-filter-link{border:1px solid var(--color-accent);color:var(--color-accent);padding:.2rem .6rem;border-radius:3px;font-size:.75rem;text-decoration:none;transition:background .2s,color .2s}.tag-filter-link:hover,.tag-filter-link.active{background:var(--color-accent);color:var(--color-background)}.post-card{border:1px solid rgba(40,146,215,.3);border-radius:4px;padding:1.25rem;margin-bottom:1rem;text-decoration:none;display:block;transition:border-color .2s}.post-card:hover{border-color:var(--color-accent)}.post-card-title{font-family:Anta,sans-serif;color:var(--color-primary);font-size:1rem;margin:0 0 .35rem}.post-card-meta{color:#aaa;font-size:.9rem;margin-bottom:.5rem}.post-card-meta .reading-time{color:var(--color-accent)}.post-card-description{color:var(--color-primary);font-size:.85rem;margin-bottom:.75rem;line-height:1.6}.post-card-tags{display:flex;gap:.4rem;flex-wrap:wrap}.rss-link{display:block;text-align:center;margin-top:2rem;color:var(--color-accent);font-size:.8rem;text-decoration:none}.rss-link:hover{text-decoration:underline}.blog-site-nav{display:flex;align-items:center;gap:.5rem;padding:.85rem 2rem;border-bottom:1px solid rgba(40,146,215,.2);position:sticky;top:0;background:var(--color-background);z-index:100;font-size:1.15rem}.blog-site-nav a{color:var(--color-accent);text-decoration:none;font-family:Anta,sans-serif;font-size:1.15rem;letter-spacing:.04em}.blog-site-nav a:hover{opacity:.75}.blog-site-nav .nav-sep{color:#eee5e940}
